From 355aa38f559fc9c1bb463500dcb6c0d2bb96fa88 Mon Sep 17 00:00:00 2001 From: Ricardo Geraldes <144315960+rgeraldes24@users.noreply.github.com> Date: Thu, 8 May 2025 13:11:49 +0400 Subject: [PATCH 1/8] Update the currency/units names (#6) * Update the currency/units names * Review naming * docs/docs/guides/web3_plugin_guide/plugin_authors.md: review file * Update ERC refs * Update ERC refs * Update naming across the repo * packages/web3-zond-zns: fix multiple files * Revert scripts changes * Revert scripts changes * Fix tests * Fix wording * Revert change * Fix jest issue * Review files * Fix contract flow * Update naming * Fix test issues * config/tsconfig.types.json: format * Review files * Run linters * config/tsconfig.types.json: revert change * tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts: revert change * tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts: revert change * tools/web3-plugin-example/src/contract_method_wrappers.ts: revert change * Review files * Review files * scripts/system_tests_utils.ts: revert changes * packages/web3/test/integration/web3.zond.transaction.test.ts: revert changes * packages/web3/test/integration/web3.zond.transaction.test.ts: revert changes * packages/web3/test/integration/web3.accounts.test.ts: review file * packages/web3/test/integration/sync.test.ts: review file * Review file * Review file * packages/web3/test/e2e/get_transaction_from_block.test.ts: review file * packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts: review files * Review files * packages/web3/src/types.ts: review file * packages/web3/src/types.ts: review file * Review files * Review files * Review files * Review files * packages/abi/README.md: revert changes * Run format and linter * Review files * packages/web3/src/version.ts: review version * Review files --- README.md | 4 +- codecov.yml | 4 +- config/tsconfig.types.json | 2 +- docs/docs/glossary/json_interface.md | 7 +- docs/docs/guides/basics/zond.md | 14 +- ...ng_and_interacting_with_smart_contracts.md | 5 +- .../infer_contract_types_guide/index.md | 16 +- .../web3_plugin_guide/plugin_authors.md | 10 +- .../guides/web3_providers_guide/examples.md | 16 +- .../docs/guides/web3_providers_guide/index.md | 2 +- docs/docusaurus.config.js | 2 +- fixtures/build/Basic.json | 2 +- fixtures/build/Basic.ts | 216 +- fixtures/build/DeployRevert.json | 2 +- fixtures/build/DeployRevert.ts | 2 +- fixtures/build/ERC20Token.json | 290 --- fixtures/build/ERC20Token.ts | 141 -- fixtures/build/ERC721Token.json | 368 --- fixtures/build/ERC721Token.ts | 174 -- fixtures/build/ErrorsContract.json | 2 +- fixtures/build/ErrorsContract.ts | 2 +- fixtures/build/Greeter.json | 2 +- fixtures/build/Greeter.ts | 2 +- fixtures/build/MsgSender.json | 2 +- fixtures/build/MsgSender.ts | 2 +- fixtures/build/MyContract.json | 2 +- fixtures/build/MyContract.ts | 2 +- fixtures/build/NegativeNumbers.json | 2 +- fixtures/build/NegativeNumbers.ts | 145 +- fixtures/build/ZRC20Token.json | 328 +++ fixtures/build/ZRC20Token.ts | 122 + fixtures/build/ZRC721Token.json | 503 ++++ fixtures/build/ZRC721Token.ts | 236 ++ fixtures/contracts/Basic.hyp | 3 +- fixtures/contracts/DeployRevert.hyp | 5 +- fixtures/contracts/ERC20Token.hyp | 11 - fixtures/contracts/ErrorsContract.hyp | 3 +- fixtures/contracts/Greeter.hyp | 3 +- fixtures/contracts/MsgSender.hyp | 3 +- fixtures/contracts/MyContract.hyp | 3 +- fixtures/contracts/NegativeNumbers.hyp | 3 +- fixtures/contracts/ZRC20Token.hyp | 10 + .../{ERC721Token.hyp => ZRC721Token.hyp} | 11 +- package.json | 5 +- packages/abi/README.md | 51 +- packages/abi/package.json | 58 +- packages/abi/src/_version.ts | 18 +- packages/abi/src/abi-coder.ts | 231 +- packages/abi/src/coders/abstract-coder.ts | 407 ++-- packages/abi/src/coders/address.ts | 67 +- packages/abi/src/coders/anonymous.ts | 47 +- packages/abi/src/coders/array.ts | 492 ++-- packages/abi/src/coders/boolean.ts | 45 +- packages/abi/src/coders/bytes.ts | 71 +- packages/abi/src/coders/fixed-bytes.ts | 68 +- packages/abi/src/coders/null.ts | 50 +- packages/abi/src/coders/number.ts | 96 +- packages/abi/src/coders/string.ts | 48 +- packages/abi/src/coders/tuple.ts | 138 +- packages/abi/src/fragments.ts | 2024 +++++++++-------- packages/abi/src/index.ts | 89 +- packages/abi/src/interface.ts | 1465 ++++++------ packages/abi/test/config/jest.config.js | 16 + packages/abi/test/integration/jest.config.js | 17 +- packages/abi/test/unit/abi.test.ts | 18 +- packages/abi/test/unit/jest.config.js | 16 + packages/abi/tsconfig.cjs.json | 7 +- packages/abi/tsconfig.esm.json | 5 +- packages/abi/tsconfig.types.json | 7 +- packages/web3-core/src/utils.ts | 2 +- packages/web3-core/src/web3_context.ts | 2 +- packages/web3-core/test/config/jest.config.js | 2 +- .../test/unit/web3_batch_request.test.ts | 6 +- .../test/unit/web3_subscription.test.ts | 2 +- packages/web3-errors/CHANGELOG.md | 2 +- packages/web3-errors/src/error_codes.ts | 8 +- .../web3-errors/src/errors/account_errors.ts | 2 +- .../src/errors/transaction_errors.ts | 15 +- .../errors/{ens_errors.ts => zns_errors.ts} | 22 +- packages/web3-errors/src/index.ts | 2 +- packages/web3-errors/test/unit/errors.test.ts | 4 +- packages/web3-net/CHANGELOG.md | 2 +- packages/web3-net/src/index.ts | 2 +- packages/web3-providers-http/CHANGELOG.md | 2 +- packages/web3-providers-ipc/CHANGELOG.md | 2 +- packages/web3-providers-ws/CHANGELOG.md | 2 +- packages/web3-rpc-methods/CHANGELOG.md | 2 +- packages/web3-types/CHANGELOG.md | 2 +- .../web3-types/src/apis/zond_execution_api.ts | 10 +- packages/web3-types/src/web3_base_provider.ts | 1 - packages/web3-types/src/zond_types.ts | 21 +- packages/web3-utils/CHANGELOG.md | 2 +- packages/web3-utils/src/converters.ts | 73 +- packages/web3-utils/src/formatter.ts | 8 +- packages/web3-utils/src/promise_helpers.ts | 31 +- packages/web3-utils/src/validation.ts | 5 +- .../web3-utils/test/config/jest.config.js | 2 +- .../web3-utils/test/fixtures/converters.ts | 146 +- packages/web3-utils/test/fixtures/hash.ts | 10 +- .../web3-utils/test/unit/converters.test.ts | 32 +- .../test/unit/socket_provider.test.ts | 7 +- packages/web3-validator/CHANGELOG.md | 2 +- packages/web3-validator/README.md | 8 +- packages/web3-validator/src/utils.ts | 1 - .../web3-validator/src/validation/address.ts | 5 +- .../web3-validator/src/validation/bloom.ts | 8 +- .../web3-validator/src/validation/numbers.ts | 6 +- .../web3-validator/test/config/jest.config.js | 2 +- .../test/fixtures/validation.ts | 11 +- packages/web3-zond-abi/CHANGELOG.md | 2 +- .../test/unit/get_encoded_eip712_data.test.ts | 2 +- packages/web3-zond-accounts/CHANGELOG.md | 2 +- packages/web3-zond-accounts/index.d.ts | 16 + packages/web3-zond-accounts/src/account.ts | 27 +- .../src/common/chains/mainnet.ts | 47 +- .../web3-zond-accounts/src/common/common.ts | 30 +- .../src/common/hardforks/shanghai.ts | 835 ++++--- .../web3-zond-accounts/src/common/types.ts | 2 +- .../web3-zond-accounts/src/common/utils.ts | 14 +- packages/web3-zond-accounts/src/tx/address.ts | 10 +- .../src/tx/baseTransaction.ts | 30 +- .../web3-zond-accounts/src/tx/constants.ts | 2 +- .../src/tx/eip1559Transaction.ts | 4 +- .../src/tx/transactionFactory.ts | 6 +- packages/web3-zond-accounts/src/tx/types.ts | 2 +- packages/web3-zond-accounts/src/types.ts | 7 +- packages/web3-zond-accounts/src/wallet.ts | 4 +- .../test/fixtures/account.ts | 36 +- .../test/integration/account.test.ts | 26 +- .../test/integration/wallet.test.ts | 4 +- .../test/unit/account.test.ts | 26 +- .../test/unit/common/chains.test.ts | 4 +- .../test/unit/common/customChains.test.ts | 2 +- .../test/unit/common/eips.test.ts | 3 - .../test/unit/common/hardforks.test.ts | 6 +- .../test/unit/common/mergePOS.test.ts | 4 +- .../test/unit/common/params.test.ts | 4 +- .../test/unit/common/utils.test.ts | 16 +- .../test/unit/tx/base.test.ts | 14 +- .../test/unit/tx/eip1559.test.ts | 6 +- .../test/unit/tx/inputValue.test.ts | 11 +- .../test/unit/tx/transactionFactory.test.ts | 12 +- .../test/unit/tx/typedTxsAndEIP2930.test.ts | 30 +- .../web3-zond-accounts/test/unit/tx/types.ts | 3 +- .../test/unit/wallet.test.ts | 4 +- packages/web3-zond-contract/CHANGELOG.md | 2 +- packages/web3-zond-contract/src/contract.ts | 8 +- packages/web3-zond-contract/src/encoding.ts | 2 +- packages/web3-zond-contract/src/utils.ts | 2 +- .../contracts/SampleStorageContract.hyp | 3 +- .../fixtures/contracts/SimpleOverloaded.hyp | 3 +- .../test/fixtures/{erc20.ts => zrc20.ts} | 4 +- .../test/fixtures/{erc721.ts => zrc721.ts} | 4 +- .../integration/contract_accesslist.test.ts | 16 +- .../test/integration/contract_clone.test.ts | 2 +- .../contract_defaults_extra.test.ts | 4 +- .../test/integration/contract_deploy.test.ts | 16 +- .../integration/contract_empty_string.test.ts | 2 +- .../test/integration/contract_events.test.ts | 2 +- .../contract_filter_events.test.ts | 16 +- .../test/integration/contract_methods.test.ts | 16 +- .../contract_methods_errors.test.ts | 2 +- .../contract_negative_numbers.test.ts | 2 +- .../contract_simple_overloaded.test.ts | 12 +- ...t_erc20.test.ts => contract_zrc20.test.ts} | 22 +- ...erc721.test.ts => contract_zrc721.test.ts} | 16 +- .../test/integration/jest.config.js | 2 +- .../local_account/contract_deploy.test.ts | 23 +- .../contract_overloaded_methods.test.ts | 14 +- ...t_erc20.test.ts => contract_zrc20.test.ts} | 22 +- ...erc721.test.ts => contract_zrc721.test.ts} | 65 +- .../test/integration/setup.js | 2 +- .../test/unit/contract.test.ts | 48 +- .../test/unit/contract_typing.test.ts | 28 +- packages/web3-zond-iban/CHANGELOG.md | 2 +- packages/web3-zond-iban/src/iban.ts | 18 +- .../.eslintignore | 0 .../.eslintrc.js | 0 .../.gitignore | 0 .../.npmignore | 0 .../.prettierignore | 0 .../.prettierrc.json | 0 .../CHANGELOG.md | 2 +- .../README.md | 18 +- .../assets/logo/web3js.ai | 0 .../assets/logo/web3js.jpg | Bin .../assets/logo/web3js.svg | 0 .../package.json | 8 +- .../src/abi/zns}/PublicResolver.ts | 0 .../src/abi/zns/ZNSRegistry.ts} | 4 +- .../src/config.ts | 6 +- .../src/index.ts | 4 +- .../src/registry.ts | 10 +- .../src/resolver.ts | 30 +- .../src/utils.ts | 0 .../src/ens.ts => web3-zond-zns/src/zns.ts} | 92 +- .../test/.eslintrc.js | 0 .../test/config/jest.config.js | 0 .../test/config/setup.js | 0 .../test/fixtures/accounts.json | 0 .../test/fixtures/system_tests_utils.ts | 0 .../test/fixtures/utils.ts | 12 +- .../test/fixtures/zns/ZNSRegistry.json} | 4 +- .../test/fixtures/zns}/abi/NameWrapper.ts | 0 .../test/fixtures/zns}/abi/PublicResolver.ts | 4 +- .../test/fixtures/zns/abi/ZNSRegistry.ts} | 4 +- .../zns}/bytecode/NameWrapperBytecode.ts | 0 .../zns}/bytecode/PublicResolverBytecode.ts | 0 .../zns/bytecode/ZNSRegistryBytecode.ts} | 2 +- .../test/fixtures/zns}/reverse_registrar.json | 2 +- .../test/integration/jest.config.js | 0 .../test/integration/resolver.test.ts | 68 +- .../test/integration/setup.js | 0 .../test/integration/zns.events.test.ts} | 46 +- .../test/integration/zns.test.ts} | 54 +- .../test/tsconfig.json | 0 .../test/unit/constructor.test.ts | 26 +- .../test/unit/index.test.ts | 4 +- .../test/unit/jest.config.js | 2 +- .../test/unit/registry.test.ts | 38 +- .../test/unit/resolver.test.ts | 26 +- .../test/unit/utils.test.ts | 2 +- .../test/unit/zns.test.ts} | 98 +- .../tsconfig.cjs.json | 0 .../tsconfig.esm.json | 0 .../tsconfig.types.json | 0 .../tsdoc.json | 0 packages/web3-zond/CHANGELOG.md | 2 +- packages/web3-zond/index.d.ts | 16 + packages/web3-zond/src/rpc_method_wrappers.ts | 6 +- packages/web3-zond/src/schemas.ts | 4 +- .../src/utils/detect_transaction_type.ts | 16 +- .../web3-zond/src/utils/get_revert_reason.ts | 6 +- .../src/utils/get_transaction_gas_pricing.ts | 9 +- .../utils/prepare_transaction_for_signing.ts | 7 +- .../src/utils/reject_if_block_timeout.ts | 35 +- .../src/utils/transaction_builder.ts | 9 +- packages/web3-zond/src/validation.ts | 21 +- packages/web3-zond/src/web3_zond.ts | 16 +- packages/web3-zond/test/e2e/e2e_utils.ts | 3 +- .../test/fixtures/detect_transaction_type.ts | 3 +- .../test/fixtures/format_transaction.ts | 46 +- .../prepare_transaction_for_signing.ts | 18 +- .../validate_transaction_for_signing.ts | 7 +- .../web3-zond/test/fixtures/validation.ts | 11 +- .../web3_zond_methods_with_parameters.ts | 6 +- .../integration/block/rpc.getBlock.test.ts | 2 +- .../rpc.getBlockTransactionCount.test.ts | 4 +- .../block/rpc.getTransactionCount.test.ts | 2 +- .../block/rpc.getTransactionFromBlock.test.ts | 2 +- .../test/integration/defaults.test.ts | 37 +- .../defaults.transactionBlockTimeout.test.ts | 12 +- .../integration/get_revert_reason.test.ts | 5 +- .../web3-zond/test/integration/nonce.test.ts | 4 +- .../web3-zond/test/integration/rpc.test.ts | 14 +- packages/web3-zond/test/integration/setup.js | 2 +- .../web3_zond/send_transaction.test.ts | 35 +- .../web3-zond/test/integration/zond.test.ts | 2 +- .../unit/default_transaction_builder.test.ts | 28 +- .../prepare_transaction_for_signing.test.ts | 19 +- .../unit/rpc_method_wrappers/fixtures/call.ts | 6 +- .../fixtures/estimate_gas.ts | 6 +- .../rpc_method_wrappers/fixtures/get_block.ts | 6 +- .../fixtures/get_pending_transactions.ts | 6 +- .../fixtures/get_transaction.ts | 6 +- .../fixtures/get_transaction_from_block.ts | 6 +- .../fixtures/sign_transaction.ts | 8 +- .../get_block_number.test.ts | 7 +- .../rpc_method_wrappers/get_chain_id.test.ts | 7 +- .../rpc_method_wrappers/get_gas_price.test.ts | 7 +- .../unit/rpc_method_wrappers/get_logs.test.ts | 7 +- .../get_pending_transactions.test.ts | 7 +- .../get_transaction.test.ts | 7 +- .../get_transaction_count.test.ts | 4 +- .../get_transaction_receipt.test.ts | 7 +- .../unit/rpc_method_wrappers/sign.test.ts | 7 +- .../sign_typed_data.test.ts | 7 +- .../utils/getTransactionFromOrToAttr.test.ts | 3 +- .../watch_transaction_by_polling.test.ts | 3 +- ...atch_transaction_for_confirmations.test.ts | 6 +- .../unit/web3_zond_calculate_fee_data.test.ts | 18 +- .../web3_zond_methods_no_parameters.test.ts | 4 +- packages/web3/CHANGELOG.md | 2 +- packages/web3/README.md | 38 +- packages/web3/package.json | 2 +- packages/web3/src/accounts.ts | 17 +- packages/web3/src/index.ts | 4 +- packages/web3/src/types.ts | 8 +- packages/web3/src/version.ts | 2 +- packages/web3/src/web3.ts | 8 +- packages/web3/src/zond.exports.ts | 2 +- .../web3/test/cjs_black_box/.eslintrc.cjs | 2 +- .../{erc20.test.ts => zrc20.test.ts} | 72 +- packages/web3/test/e2e/e2e_utils.ts | 3 +- .../e2e/fixtures/mainnet_block_hydrated.ts | 2 +- .../e2e/get_transaction_from_block.test.ts | 2 +- .../test/web3-zond-contract/erc20.test.ts | 70 - .../test/web3-zond-contract/zrc20.test.ts | 67 + .../truffle-hdwallet.test\331\200tbd.ts" | 5 +- packages/web3/test/integration/sync.test.ts | 2 +- .../test/integration/web3.accounts.test.ts | 22 +- .../integration/web3.zond.transaction.test.ts | 2 +- .../shared_fixtures/contracts/ZRC20Token.ts | 24 +- .../{ERC721Token.ts => ZRC721Token.ts} | 0 packages/web3/test/unit/index.test.ts | 4 +- scripts/compile_contracts.js | 2 +- .../accounts/all-accounts.keystore.json | 0 scripts/pos.sh | 2 +- scripts/system_tests_utils.ts | 30 +- templates/jest.config.js.tmpl | 4 +- tools/web3-packagetemplate/CHANGELOG.md | 2 +- tools/web3-plugin-example/CHANGELOG.md | 2 +- .../web3-plugin-example/src/ZRC20Token.ts | 24 +- .../src/contract_method_wrappers.ts | 12 +- .../unit/contract_method_wrappers.test.ts | 8 +- yarn.lock | 68 +- 316 files changed, 6237 insertions(+), 5744 deletions(-) delete mode 100644 fixtures/build/ERC20Token.json delete mode 100644 fixtures/build/ERC20Token.ts delete mode 100644 fixtures/build/ERC721Token.json delete mode 100644 fixtures/build/ERC721Token.ts create mode 100644 fixtures/build/ZRC20Token.json create mode 100644 fixtures/build/ZRC20Token.ts create mode 100644 fixtures/build/ZRC721Token.json create mode 100644 fixtures/build/ZRC721Token.ts delete mode 100644 fixtures/contracts/ERC20Token.hyp create mode 100644 fixtures/contracts/ZRC20Token.hyp rename fixtures/contracts/{ERC721Token.hyp => ZRC721Token.hyp} (55%) rename packages/web3-errors/src/errors/{ens_errors.ts => zns_errors.ts} (64%) rename packages/web3-zond-contract/test/fixtures/{erc20.ts => zrc20.ts} (98%) rename packages/web3-zond-contract/test/fixtures/{erc721.ts => zrc721.ts} (98%) rename packages/web3-zond-contract/test/integration/{contract_erc20.test.ts => contract_zrc20.test.ts} (92%) rename packages/web3-zond-contract/test/integration/{contract_erc721.test.ts => contract_zrc721.test.ts} (95%) rename packages/web3-zond-contract/test/integration/local_account/{contract_erc20.test.ts => contract_zrc20.test.ts} (87%) rename packages/web3-zond-contract/test/integration/local_account/{contract_erc721.test.ts => contract_zrc721.test.ts} (78%) rename packages/{web3-zond-ens => web3-zond-zns}/.eslintignore (100%) rename packages/{web3-zond-ens => web3-zond-zns}/.eslintrc.js (100%) rename packages/{web3-zond-ens => web3-zond-zns}/.gitignore (100%) rename packages/{web3-zond-ens => web3-zond-zns}/.npmignore (100%) rename packages/{web3-zond-ens => web3-zond-zns}/.prettierignore (100%) rename packages/{web3-zond-ens => web3-zond-zns}/.prettierrc.json (100%) rename packages/{web3-zond-ens => web3-zond-zns}/CHANGELOG.md (99%) rename packages/{web3-zond-ens => web3-zond-zns}/README.md (77%) rename packages/{web3-zond-ens => web3-zond-zns}/assets/logo/web3js.ai (100%) rename packages/{web3-zond-ens => web3-zond-zns}/assets/logo/web3js.jpg (100%) rename packages/{web3-zond-ens => web3-zond-zns}/assets/logo/web3js.svg (100%) rename packages/{web3-zond-ens => web3-zond-zns}/package.json (82%) rename packages/{web3-zond-ens/src/abi/ens => web3-zond-zns/src/abi/zns}/PublicResolver.ts (100%) rename packages/{web3-zond-ens/src/abi/ens/ENSRegistry.ts => web3-zond-zns/src/abi/zns/ZNSRegistry.ts} (98%) rename packages/{web3-zond-ens => web3-zond-zns}/src/config.ts (88%) rename packages/{web3-zond-ens => web3-zond-zns}/src/index.ts (85%) rename packages/{web3-zond-ens => web3-zond-zns}/src/registry.ts (90%) rename packages/{web3-zond-ens => web3-zond-zns}/src/resolver.ts (81%) rename packages/{web3-zond-ens => web3-zond-zns}/src/utils.ts (100%) rename packages/{web3-zond-ens/src/ens.ts => web3-zond-zns/src/zns.ts} (68%) rename packages/{web3-zond-ens => web3-zond-zns}/test/.eslintrc.js (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/config/jest.config.js (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/config/setup.js (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/fixtures/accounts.json (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/fixtures/system_tests_utils.ts (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/fixtures/utils.ts (73%) rename packages/{web3-zond-ens/test/fixtures/ens/ENSRegistry.json => web3-zond-zns/test/fixtures/zns/ZNSRegistry.json} (99%) rename packages/{web3-zond-ens/test/fixtures/ens => web3-zond-zns/test/fixtures/zns}/abi/NameWrapper.ts (100%) rename packages/{web3-zond-ens/test/fixtures/ens => web3-zond-zns/test/fixtures/zns}/abi/PublicResolver.ts (99%) rename packages/{web3-zond-ens/test/fixtures/ens/abi/ENSRegistry.ts => web3-zond-zns/test/fixtures/zns/abi/ZNSRegistry.ts} (99%) rename packages/{web3-zond-ens/test/fixtures/ens => web3-zond-zns/test/fixtures/zns}/bytecode/NameWrapperBytecode.ts (100%) rename packages/{web3-zond-ens/test/fixtures/ens => web3-zond-zns/test/fixtures/zns}/bytecode/PublicResolverBytecode.ts (100%) rename packages/{web3-zond-ens/test/fixtures/ens/bytecode/ENSRegistryBytecode.ts => web3-zond-zns/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts} (99%) rename packages/{web3-zond-ens/test/fixtures/ens => web3-zond-zns/test/fixtures/zns}/reverse_registrar.json (88%) rename packages/{web3-zond-ens => web3-zond-zns}/test/integration/jest.config.js (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/integration/resolver.test.ts (78%) rename packages/{web3-zond-ens => web3-zond-zns}/test/integration/setup.js (100%) rename packages/{web3-zond-ens/test/integration/ens.events.test.ts => web3-zond-zns/test/integration/zns.events.test.ts} (78%) rename packages/{web3-zond-ens/test/integration/ens.test.ts => web3-zond-zns/test/integration/zns.test.ts} (76%) rename packages/{web3-zond-ens => web3-zond-zns}/test/tsconfig.json (100%) rename packages/{web3-zond-ens => web3-zond-zns}/test/unit/constructor.test.ts (75%) rename packages/{web3-zond-ens => web3-zond-zns}/test/unit/index.test.ts (92%) rename packages/{web3-zond-ens => web3-zond-zns}/test/unit/jest.config.js (86%) rename packages/{web3-zond-ens => web3-zond-zns}/test/unit/registry.test.ts (85%) rename packages/{web3-zond-ens => web3-zond-zns}/test/unit/resolver.test.ts (92%) rename packages/{web3-zond-ens => web3-zond-zns}/test/unit/utils.test.ts (97%) rename packages/{web3-zond-ens/test/unit/ens.test.ts => web3-zond-zns/test/unit/zns.test.ts} (70%) rename packages/{web3-zond-ens => web3-zond-zns}/tsconfig.cjs.json (100%) rename packages/{web3-zond-ens => web3-zond-zns}/tsconfig.esm.json (100%) rename packages/{web3-zond-ens => web3-zond-zns}/tsconfig.types.json (100%) rename packages/{web3-zond-ens => web3-zond-zns}/tsdoc.json (100%) rename packages/web3/test/cjs_black_box/test/web3-zond-contract/{erc20.test.ts => zrc20.test.ts} (50%) delete mode 100644 packages/web3/test/esm_black_box/test/web3-zond-contract/erc20.test.ts create mode 100644 packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts rename tools/web3-plugin-example/src/ERC20Token.ts => packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts (95%) rename packages/web3/test/shared_fixtures/contracts/{ERC721Token.ts => ZRC721Token.ts} (100%) rename scripts/consensus/{prysm-wallet-v2 => qrysm-wallet-v2}/direct/accounts/all-accounts.keystore.json (100%) rename packages/web3/test/shared_fixtures/contracts/ERC20Token.ts => tools/web3-plugin-example/src/ZRC20Token.ts (95%) diff --git a/README.md b/README.md index f3711ae5..b316b2bb 100644 --- a/README.md +++ b/README.md @@ -57,9 +57,9 @@ yarn add web3 | [web3-zond-abi](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-abi%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-abi) | Functions for encoding and decoding ZVM in/output | | [web3-zond-accounts](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-accounts%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-accounts) | Functions for managing Zond accounts and signing | | [web3-zond-contract](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-contract%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-contract) | The contract package contained in [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | -| [web3-zond-ens](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-ens%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-ens) | Functions for interacting with the Ethereum Name Service | +| [web3-zond-zns](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-ens%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-ens) | Functions for interacting with the Zond Name Service | | [web3-zond-iban](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-iban%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-iban) | Functionality for converting Zond addressed to IBAN addressed and vice versa | -| [web3-net](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-net) | Functions to interact with an Zond node's network properties | +| [web3-net](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-net) | Functions to interact with a Zond node's network properties | | [web3-providers-http](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-http) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-http%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-http) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-http) | Web3.js provider for the HTTP protocol | | [web3-providers-ipc](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ipc) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ipc%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ipc) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ipc) | Web3.js provider for IPC | | [web3-providers-ws](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ws) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ws%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ws) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ws) | Web3.js provider for the Websocket protocol | diff --git a/codecov.yml b/codecov.yml index 11dfde6b..0a8f0dfd 100644 --- a/codecov.yml +++ b/codecov.yml @@ -39,9 +39,9 @@ component_management: - component_id: "@theqrl/web3-zond-contract" paths: - /packages/web3-zond-contract/src/ - - component_id: "@theqrl/web3-zond-ens" + - component_id: "@theqrl/web3-zond-zns" paths: - - /packages/web3-zond-ens/src/ + - /packages/web3-zond-zns/src/ - component_id: "@theqrl/web3-zond-iban" paths: - /packages/web3-zond-iban/src/ diff --git a/config/tsconfig.types.json b/config/tsconfig.types.json index c930d665..5177aa59 100644 --- a/config/tsconfig.types.json +++ b/config/tsconfig.types.json @@ -7,4 +7,4 @@ "emitDeclarationOnly": true }, "include": ["src/**/*", "index.d.ts"] -} \ No newline at end of file +} diff --git a/docs/docs/glossary/json_interface.md b/docs/docs/glossary/json_interface.md index 1d112a12..b08ab1e1 100644 --- a/docs/docs/glossary/json_interface.md +++ b/docs/docs/glossary/json_interface.md @@ -2,7 +2,7 @@ title: JSON Interface --- -The JSON interface is a `JSON` object describing the [Application Binary Interface (ABI)](https://docs.soliditylang.org/en/develop/abi-spec.html) for an Zond smart contract. +The JSON interface is a `JSON` object describing the [Application Binary Interface (ABI)](https://docs.soliditylang.org/en/develop/abi-spec.html) for a Zond smart contract. Using this JSON interface, web3.js is able to create a JavaScript object representing the smart contract , its methods and events using the `web3.zond.Contract` object. @@ -13,7 +13,7 @@ Using this JSON interface, web3.js is able to create a JavaScript object represe - `type`: `"function"`, `"constructor"` (can be omitted, defaulting to `"function"`; `"fallback"` also possible but not relevant in web3.js); - `name`: the name of the function (only present for function types); - `constant`: `true` if function is specified to not modify the blockchain state; -- `payable`: `true` if function accepts ether, defaults to false; +- `payable`: `true` if function accepts zond, defaults to false; - `stateMutability`: a `string` with one of the following values: `"pure"` (specified to not read blockchain state), `"view"` (same as constant above), `"non-payable"` and `"payable"` (same as payable above); - `inputs`: an `Array of objects`, each of which contains: -- `name`: the name of the parameter; @@ -37,8 +37,7 @@ Using this JSON interface, web3.js is able to create a JavaScript object represe #### Example ```hyperion title='Hyperion Contract' -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.4; +pragma hyperion >=0.1.0; contract Test { uint256 a; diff --git a/docs/docs/guides/basics/zond.md b/docs/docs/guides/basics/zond.md index 1879898b..ccea547c 100644 --- a/docs/docs/guides/basics/zond.md +++ b/docs/docs/guides/basics/zond.md @@ -113,17 +113,17 @@ async function interact() { console.log(accounts); let balance1, balance2; - //The initial balances of the accounts should be 100 Eth (10^18 wei) + //The initial balances of the accounts should be 100 Zond (10^18 planck) balance1 = await web3.zond.getBalance(accounts[0]); balance2 = await web3.zond.getBalance(accounts[1]); console.log(balance1, balance2); - //create a transaction sending 1 Ether from account 0 to account 1 + //create a transaction sending 1 Zond from account 0 to account 1 const transaction = { from: accounts[0], to: accounts[1], - value: web3.utils.toWei('1', 'ether'), // value should be passed in wei. For easier use and to avoid mistakes we utilize the auxiliary `toWei` function. + value: web3.utils.toPlanck('1', 'zond'), // value should be passed in planck. For easier use and to avoid mistakes we utilize the auxiliary `toPlanck` function. }; //send the actual transaction @@ -194,9 +194,9 @@ transactionHash { ``` :::note -📝 In order to calculate the actual ether spent, we have to calculate the value sent plus the fees. Initial_balance = (Remaining_balance + value + gasUsed\*gasPrice). In our case: +📝 In order to calculate the actual zond spent, we have to calculate the value sent plus the fees. Initial_balance = (Remaining_balance + value + gasUsed\*gasPrice). In our case: -98999580000000000000 + 1000000000000000000 + (20000000000\*21000) = 100 Ether +98999580000000000000 + 1000000000000000000 + (20000000000\*21000) = 100 Zond ::: In the next example, we are going to use `estimateGas` function to see the expected gas for contract deployment. (For more on contracts, please see the corresponding tutotial). Create a file named `estimate.ts` and fill it with the following code: @@ -289,7 +289,7 @@ const web3 = new Web3('http://localhost:7545'); //make sure to copy the private key from ganache const privateKey = '0x0fed6f64e01bc9fac9587b6e7245fd9d056c3c004ad546a17d3d029977f0930a'; -const value = web3.utils.toWei('1', 'ether'); +const value = web3.utils.toPlanck('1', 'zond'); async function sendSigned() { const accounts = await web3.zond.getAccounts(); @@ -301,7 +301,7 @@ async function sendSigned() { to: toAddress, value: value, gas: 21000, - maxFeePerGas: web3.utils.toWei('10', 'gwei'), + maxFeePerGas: web3.utils.toPlanck('10', 'gplanck'), maxPriorityFeePerGas: 30000000, nonce: await web3.zond.getTransactionCount(fromAddress), }; diff --git a/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md b/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md index 0ebdcd30..0012758e 100644 --- a/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md +++ b/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md @@ -54,8 +54,7 @@ Create a new file called `MyContract.hyp` in your project directory and add the ```hyperion // SPDX-License-Identifier: MIT -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.0; +pragma hyperion >=0.0; contract MyContract { uint256 public myNumber; @@ -79,7 +78,7 @@ TODO(now.youtrack.cloud/issue/web3js-12) :::tip 📝 Alternatively, you can use something like `npm i hypc && npx hypcjs MyContract.hyp --bin --abi`. And then rename the files to `MyContractBytecode.bin` and `MyContractAbi.json`, in order to keep them the same as they will be used later in this tutorial. -More on hypc-js is at https://github.com/ethereum/solc-js +More on hypc-js is at https://github.com/theQRL/hypc-js ::: In this step, we will use the Hyperion Compiler (hypc) to compile the Hyperion code and generate the compiled code. diff --git a/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md b/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md index d01993ec..cbbf4804 100644 --- a/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md +++ b/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md @@ -12,12 +12,12 @@ Web3.js uses ABI type to dynamically load available methods and events but Types ```typescript import { Contract, Web3 } from 'web3'; -import ERC20 from './node_modules/@openzeppelin/contracts/build/contracts/ERC20.json'; +import ZRC20 from './node_modules/@theqrl/zond-contracts/build/contracts/ZRC20.json'; (async function () { const web3 = new Web3('rpc url'); - const contract = new Contract(ERC20.abi, 'Z7af963cF6D228E564e2A0aA0DdBF06210B38615D', web3); + const contract = new Contract(ZRC20.abi, 'Z7af963cF6D228E564e2A0aA0DdBF06210B38615D', web3); const holder = 'Za8F6eB216e26C1F7d924A801E46eaE0CE8ed1A0A'; @@ -32,7 +32,7 @@ To work around it you need to copy abi into a Typescript file like this: import {Contract, Web3} from "web3"; -const ERC20 = [ +const ZRC20 = [ ... // "as const" is important part, without it typescript would create generic type and remove available methods from type ] as const; @@ -40,7 +40,7 @@ const ERC20 = [ (async function() { const web3 = new Web3("rpc url") - const contract = new Contract(ERC20, "Z7af963cF6D228E564e2A0aA0DdBF06210B38615D", web3) + const contract = new Contract(ZRC20, "Z7af963cF6D228E564e2A0aA0DdBF06210B38615D", web3) const holder = "Za8F6eB216e26C1F7d924A801E46eaE0CE8ed1A0A" @@ -90,8 +90,8 @@ To use this script, just create an `artifacts.json` file at the root of your pro ```json title="artifacts.json" [ - "@openzeppelin/contracts/build/contracts/ERC20.json", - "@openzeppelin/contracts/build/contracts/ERC1155.json", + "@theqrl/zond-contracts/build/contracts/ZRC20.json", + "@theqrl/zond-contracts/build/contracts/ZRC1155.json", "./build/contracts/MyContract.json" ] ``` @@ -101,13 +101,13 @@ use those generated files in your code: ```typescript import { Contract, ContractAbi, Web3 } from 'web3'; -import ERC20 from './artifacts/ERC20'; +import ZRC20 from './artifacts/ZRC20'; (async function () { const web3 = new Web3('https://goerli.infura.io/v3/fd1f29ab70844ef48e644489a411d4b3'); const contract = new Contract( - ERC20.abi as ContractAbi, + ZRC20.abi as ContractAbi, 'Z7af963cF6D228E564e2A0aA0DdBF06210B38615D', web3, ); diff --git a/docs/docs/guides/web3_plugin_guide/plugin_authors.md b/docs/docs/guides/web3_plugin_guide/plugin_authors.md index 794effc9..7da80bbb 100644 --- a/docs/docs/guides/web3_plugin_guide/plugin_authors.md +++ b/docs/docs/guides/web3_plugin_guide/plugin_authors.md @@ -89,7 +89,7 @@ await web3Context.customRpcMethods.someMethod(); ### Using the Inherited `Web3Context` -Below is an example of `CustomRpcMethodsPlugin` making use of `this.requestManager` which will have access to an Zond provider if one was configured by the user. In the event that no `provider` was set by the user, the below code will throw a [ProviderError](/api/web3-errors/class/ProviderError) if `customRpcMethod` was to be called: +Below is an example of `CustomRpcMethodsPlugin` making use of `this.requestManager` which will have access to a Zond provider if one was configured by the user. In the event that no `provider` was set by the user, the below code will throw a [ProviderError](/api/web3-errors/class/ProviderError) if `customRpcMethod` was to be called: ```typescript import { Web3PluginBase } from 'web3'; @@ -106,7 +106,7 @@ export class CustomRpcMethodsPlugin extends Web3PluginBase { } ``` -Below depicts a plugin user's code that does not configure an Zond provider, resulting in a thrown [ProviderError](/api/web3-errors/class/ProviderError) when calling `customRpcMethod`: +Below depicts a plugin user's code that does not configure a Zond provider, resulting in a thrown [ProviderError](/api/web3-errors/class/ProviderError) when calling `customRpcMethod`: ```typescript // registering_a_plugin.ts @@ -162,12 +162,12 @@ A workaround for this issue is available, below is an example of it: ```typescript import { Contract, ContractAbi, Web3Context, Web3PluginBase, types, utils } from 'web3'; -import { ERC20TokenAbi } from './ERC20Token'; +import { ZRC20TokenAbi } from './ZRC20Token'; export class ContractMethodWrappersPlugin extends Web3PluginBase { public pluginNamespace = 'contractMethodWrappersPlugin'; - private readonly _contract: Contract; + private readonly _contract: Contract; public constructor(abi: ContractAbi, address: types.Address) { super(); @@ -193,7 +193,7 @@ export class ContractMethodWrappersPlugin extends Web3PluginBase { returnFormat?: ReturnFormat, ) { return utils.format( - { eth: 'unit' }, + { format: 'unit' }, await this._contract.methods.balanceOf(address).call(), returnFormat ?? types.DEFAULT_RETURN_FORMAT, ); diff --git a/docs/docs/guides/web3_providers_guide/examples.md b/docs/docs/guides/web3_providers_guide/examples.md index 6c054b8c..ab71c561 100644 --- a/docs/docs/guides/web3_providers_guide/examples.md +++ b/docs/docs/guides/web3_providers_guide/examples.md @@ -81,7 +81,7 @@ To connect to the Zond network using the HTTP provider, follow these steps: const transactionReceipt = await web3.zond.sendTransaction({ from: accounts[0], to: accounts[1], - value: web3.utils.toWei('0.001', 'ether'), + value: web3.utils.toPlanck('0.001', 'zond'), }); console.log('Transaction Receipt:', transactionReceipt); @@ -185,7 +185,7 @@ async function main() { const transactionReceipt = await web3.zond.sendTransaction({ from: accounts[0], to: accounts[1], - value: web3.utils.toWei('0.001', 'ether'), + value: web3.utils.toPlanck('0.001', 'zond'), }); console.log('Transaction Receipt:', transactionReceipt); } catch (error) { @@ -242,7 +242,7 @@ Unsubscribed from new block headers. ### IPC Provider (for Node.js) -The IPC Provider allows you to connect to an Zond node using Inter-Process Communication (IPC) in a Node.js environment. This provider is useful when you have a local Zond node running on your machine and want to interact with it using Node.js. +The IPC Provider allows you to connect to a Zond node using Inter-Process Communication (IPC) in a Node.js environment. This provider is useful when you have a local Zond node running on your machine and want to interact with it using Node.js. In the following steps you will run `gzond` in development mode and you will run a piece of code that reads the Zond accounts and sends a transaction: @@ -312,7 +312,7 @@ INFO [12-10|15:10:37.127] Mapped network port proto=udp extport=0 intport=30 const transactionReceipt = await web3.zond.sendTransaction({ from: accounts[0], to: accounts[0], // sending a self-transaction - value: web3.utils.toWei('0.001', 'ether'), + value: web3.utils.toPlanck('0.001', 'zond'), }); console.log('Transaction Receipt:', transactionReceipt); } catch (error) { @@ -384,7 +384,7 @@ Here is a step-by-step example and a code snippet to connect your web applicatio const web3 = new Web3(provider); // Get the current block number from the network - web3.eth + web3.zond .getBlockNumber() .then(function (blockNumber) { console.log('Current block number:', blockNumber); @@ -418,7 +418,7 @@ The sample above connected you to the Zond network using truffle HD Wallet-enabl ### Browser Injected Zond Provider -It is easy to connect to the Zond network using an Zond browser extension such as MetaMask, or an Zond-enabled browser like the browser inside TrustWallet. Because they inject their provider object into the browser's JavaScript context, enabling direct interaction with the Zond network from your web application. Moreover, the wallet management is conveniently handled by these extensions or browsers, making it the standard approach for DApp developers to facilitate user interactions with the Zond network. +It is easy to connect to the Zond network using a Zond browser extension such as MetaMask, or a Zond-enabled browser like the browser inside TrustWallet. Because they inject their provider object into the browser's JavaScript context, enabling direct interaction with the Zond network from your web application. Moreover, the wallet management is conveniently handled by these extensions or browsers, making it the standard approach for DApp developers to facilitate user interactions with the Zond network. Technically, you use `window.zond` when it is injected by the Zond browser extension or the Zond-enabled browser. However, before using this provider, you need to check if it is available and then call `enable()` to request access to the user's MetaMask account. @@ -491,7 +491,7 @@ Follow these steps to connect to the Zond network with MetaMask and web3.js, inc const transactionReceipt = await web3.zond.sendTransaction({ from: accounts[0], to: accounts[0], // sending a self-transaction - value: web3.utils.toWei('0.001', 'ether'), + value: web3.utils.toPlanck('0.001', 'zond'), }); document.getElementById('log').textContent = @@ -501,7 +501,7 @@ Follow these steps to connect to the Zond network with MetaMask and web3.js, inc ).textContent += `\n Transaction hash: ${transactionReceipt.transactionHash}`; document.getElementById( 'log', - ).textContent += `\n Gas Used: ${transactionReceipt.gasUsed} gwei`; + ).textContent += `\n Gas Used: ${transactionReceipt.gasUsed} gplanck`; } catch (error) { console.log('error', error); document.getElementById('log').textContent = diff --git a/docs/docs/guides/web3_providers_guide/index.md b/docs/docs/guides/web3_providers_guide/index.md index ef440169..3c119ff5 100644 --- a/docs/docs/guides/web3_providers_guide/index.md +++ b/docs/docs/guides/web3_providers_guide/index.md @@ -7,7 +7,7 @@ sidebar_label: 'Providers' ## Introduction -web3.js providers are objects responsible for enabling connectivity with the Zond network in various ways. Connecting your web application to an Zond node is necessary for sending transactions, querying data, and interacting with smart contracts on the network. In this guide, we will explore the different types of providers available in web3.js, how to set them up, and how to use them in your code. +web3.js providers are objects responsible for enabling connectivity with the Zond network in various ways. Connecting your web application to a Zond node is necessary for sending transactions, querying data, and interacting with smart contracts on the network. In this guide, we will explore the different types of providers available in web3.js, how to set them up, and how to use them in your code. Connecting to a chain happens through a provider. You can pass the provider to the constructor as in the following example: diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 8e6bb7ef..adc31787 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -31,7 +31,7 @@ const packages = [ '@theqrl/web3-net', '@theqrl/web3-zond-abi', '@theqrl/web3-zond-accounts', - '@theqrl/web3-zond-ens', + '@theqrl/web3-zond-zns', '@theqrl/web3-zond-iban', '@theqrl/web3-providers-http', '@theqrl/web3-providers-ws', diff --git a/fixtures/build/Basic.json b/fixtures/build/Basic.json index d3fbe708..3dc51364 100644 --- a/fixtures/build/Basic.json +++ b/fixtures/build/Basic.json @@ -295,7 +295,7 @@ ], "zvm": { "bytecode": { - "object": "60806040523480156200001157600080fd5b5060405162001068380380620010688339818101604052810190620000379190620002e7565b816000819055508060019080519060200190620000569291906200005f565b505050620003b1565b8280546200006d906200037c565b90600052602060002090601f016020900481019282620000915760008555620000dd565b82601f10620000ac57805160ff1916838001178555620000dd565b82800160010185558215620000dd579182015b82811115620000dc578251825591602001919060010190620000bf565b5b509050620000ec9190620000f0565b5090565b5b808211156200010b576000816000905550600101620000f1565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620001388162000123565b81146200014457600080fd5b50565b60008151905062000158816200012d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001b38262000168565b810181811067ffffffffffffffff82111715620001d557620001d462000179565b5b80604052505050565b6000620001ea6200010f565b9050620001f88282620001a8565b919050565b600067ffffffffffffffff8211156200021b576200021a62000179565b5b620002268262000168565b9050602081019050919050565b60005b838110156200025357808201518184015260208101905062000236565b8381111562000263576000848401525b50505050565b6000620002806200027a84620001fd565b620001de565b9050828152602081018484840111156200029f576200029e62000163565b5b620002ac84828562000233565b509392505050565b600082601f830112620002cc57620002cb6200015e565b5b8151620002de84826020860162000269565b91505092915050565b6000806040838503121562000301576200030062000119565b5b6000620003118582860162000147565b925050602083015167ffffffffffffffff8111156200033557620003346200011e565b5b6200034385828601620002b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200039557607f821691505b602082108103620003ab57620003aa6200034d565b5b50919050565b610ca780620003c16000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063844d6a3211610071578063844d6a3214610157578063939d7c4e14610161578063ae012ede1461017d578063b7a8238a14610187578063d7af8ac1146101a3578063e8256ea0146101bf576100b4565b806319eb4a90146100b95780632bfc4c69146100d95780633bccbbc9146100f75780635a018657146101015780637cfbdcf01461011d578063828909bd14610139575b600080fd5b6100c16101dd565b6040516100d093929190610680565b60405180910390f35b6100e161028e565b6040516100ee91906106be565b60405180910390f35b6100ff610320565b005b61011b60048036038101906101169190610881565b61035b565b005b61013760048036038101906101329190610950565b61039b565b005b6101416103e9565b60405161014e91906109c4565b60405180910390f35b61015f6103f2565b005b61017b60048036038101906101769190610881565b610435565b005b610185610475565b005b6101a1600480360381019061019c91906109df565b610482565b005b6101bd60048036038101906101b89190610a28565b6104bc565b005b6101c76104f9565b6040516101d49190610a97565b60405180910390f35b60006060600080546001600260009054906101000a900460ff1681805461020390610ae1565b80601f016020809104026020016040519081016040528092919081815260200182805461022f90610ae1565b801561027c5780601f106102515761010080835404028352916020019161027c565b820191906000526020600020905b81548152906001019060200180831161025f57829003601f168201915b50505050509150925092509250909192565b60606001805461029d90610ae1565b80601f01602080910402602001604051908101604052809291908181526020018280546102c990610ae1565b80156103165780601f106102eb57610100808354040283529160200191610316565b820191906000526020600020905b8154815290600101906020018083116102f957829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035290610b5e565b60405180910390fd5b7fa8297798732ff8a80a23cf22707934835a9d5b03536598708f7414646a1b95b383838360405161038e93929190610b7e565b60405180910390a1505050565b8015158285856040516103af929190610bec565b60405180910390207f5b5730af07e266d8b4845f404beb3b193085c686b0edd8e8e20cd4b3fc2b6cd560405160405180910390a450505050565b60008054905090565b6000610433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042a90610c51565b60405180910390fd5b565b801515827f553c4a49a36d26504ba0880f2f9bfe9ac7db4b81a893bde296546cd96ae0b33c8560405161046891906106be565b60405180910390a3505050565b600061048057600080fd5b565b7f617cf8a4400dd7963ed519ebe655a16e8da1282bb8fea36a21f634af912f54ab816040516104b191906106be565b60405180910390a150565b8260008190555081600190805190602001906104d9929190610510565b5080600260006101000a81548160ff021916908315150217905550505050565b6000600260009054906101000a900460ff16905090565b82805461051c90610ae1565b90600052602060002090601f01602090048101928261053e5760008555610585565b82601f1061055757805160ff1916838001178555610585565b82800160010185558215610585579182015b82811115610584578251825591602001919060010190610569565b5b5090506105929190610596565b5090565b5b808211156105af576000816000905550600101610597565b5090565b6000819050919050565b6105c6816105b3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106065780820151818401526020810190506105eb565b83811115610615576000848401525b50505050565b6000601f19601f8301169050919050565b6000610637826105cc565b61064181856105d7565b93506106518185602086016105e8565b61065a8161061b565b840191505092915050565b60008115159050919050565b61067a81610665565b82525050565b600060608201905061069560008301866105bd565b81810360208301526106a7818561062c565b90506106b66040830184610671565b949350505050565b600060208201905081810360008301526106d8818461062c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6107368261061b565b810181811067ffffffffffffffff82111715610755576107546106fe565b5b80604052505050565b60006107686106e0565b9050610774828261072d565b919050565b600067ffffffffffffffff821115610794576107936106fe565b5b61079d8261061b565b9050602081019050919050565b82818337600083830152505050565b60006107cc6107c784610779565b61075e565b9050828152602081018484840111156107e8576107e76106f9565b5b6107f38482856107aa565b509392505050565b600082601f8301126108105761080f6106f4565b5b81356108208482602086016107b9565b91505092915050565b610832816105b3565b811461083d57600080fd5b50565b60008135905061084f81610829565b92915050565b61085e81610665565b811461086957600080fd5b50565b60008135905061087b81610855565b92915050565b60008060006060848603121561089a576108996106ea565b5b600084013567ffffffffffffffff8111156108b8576108b76106ef565b5b6108c4868287016107fb565b93505060206108d586828701610840565b92505060406108e68682870161086c565b9150509250925092565b600080fd5b600080fd5b60008083601f8401126109105761090f6106f4565b5b8235905067ffffffffffffffff81111561092d5761092c6108f0565b5b602083019150836001820283011115610949576109486108f5565b5b9250929050565b6000806000806060858703121561096a576109696106ea565b5b600085013567ffffffffffffffff811115610988576109876106ef565b5b610994878288016108fa565b945094505060206109a787828801610840565b92505060406109b88782880161086c565b91505092959194509250565b60006020820190506109d960008301846105bd565b92915050565b6000602082840312156109f5576109f46106ea565b5b600082013567ffffffffffffffff811115610a1357610a126106ef565b5b610a1f848285016107fb565b91505092915050565b600080600060608486031215610a4157610a406106ea565b5b6000610a4f86828701610840565b935050602084013567ffffffffffffffff811115610a7057610a6f6106ef565b5b610a7c868287016107fb565b9250506040610a8d8682870161086c565b9150509250925092565b6000602082019050610aac6000830184610671565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610af957607f821691505b602082108103610b0c57610b0b610ab2565b5b50919050565b7f5245564552544544205749544820524556455254000000000000000000000000600082015250565b6000610b486014836105d7565b9150610b5382610b12565b602082019050919050565b60006020820190508181036000830152610b7781610b3b565b9050919050565b60006060820190508181036000830152610b98818661062c565b9050610ba760208301856105bd565b610bb46040830184610671565b949350505050565b600081905092915050565b6000610bd38385610bbc565b9350610be08385846107aa565b82840190509392505050565b6000610bf9828486610bc7565b91508190509392505050565b7f5245564552544544205749544820524551554952450000000000000000000000600082015250565b6000610c3b6015836105d7565b9150610c4682610c05565b602082019050919050565b60006020820190508181036000830152610c6a81610c2e565b905091905056fea2646970667358221220ca8ff7a2edb3cb30dd9de0ed5a0665fd7ee39e4680760776b264f55d8f5ef51c64736f6c634300080d0033" + "object": "608060405234801562000010575f80fd5b50604051620013a7380380620013a7833981810160405281019062000036919062000213565b815f8190555080600190816200004d9190620004a5565b50505062000589565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6200007b8162000067565b811462000086575f80fd5b50565b5f81519050620000998162000070565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000ef82620000a7565b810181811067ffffffffffffffff82111715620001115762000110620000b7565b5b80604052505050565b5f6200012562000056565b9050620001338282620000e4565b919050565b5f67ffffffffffffffff821115620001555762000154620000b7565b5b6200016082620000a7565b9050602081019050919050565b5f5b838110156200018c5780820151818401526020810190506200016f565b5f8484015250505050565b5f620001ad620001a78462000138565b6200011a565b905082815260208101848484011115620001cc57620001cb620000a3565b5b620001d98482856200016d565b509392505050565b5f82601f830112620001f857620001f76200009f565b5b81516200020a84826020860162000197565b91505092915050565b5f80604083850312156200022c576200022b6200005f565b5b5f6200023b8582860162000089565b925050602083015167ffffffffffffffff8111156200025f576200025e62000063565b5b6200026d85828601620001e1565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620002c657607f821691505b602082108103620002dc57620002db62000281565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000303565b6200034c868362000303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200038d62000387620003818462000067565b62000364565b62000067565b9050919050565b5f819050919050565b620003a8836200036d565b620003c0620003b78262000394565b8484546200030f565b825550505050565b5f90565b620003d6620003c8565b620003e38184846200039d565b505050565b5b818110156200040a57620003fe5f82620003cc565b600181019050620003e9565b5050565b601f82111562000459576200042381620002e2565b6200042e84620002f4565b810160208510156200043e578190505b620004566200044d85620002f4565b830182620003e8565b50505b505050565b5f82821c905092915050565b5f6200047b5f19846008026200045e565b1980831691505092915050565b5f6200049583836200046a565b9150826002028217905092915050565b620004b08262000277565b67ffffffffffffffff811115620004cc57620004cb620000b7565b5b620004d88254620002ae565b620004e58282856200040e565b5f60209050601f8311600181146200051b575f841562000506578287015190505b62000512858262000488565b86555062000581565b601f1984166200052b86620002e2565b5f5b8281101562000554578489015182556001820191506020850194506020810190506200052d565b8683101562000574578489015162000570601f8916826200046a565b8355505b6001600288020188555050505b505050505050565b610e1080620005975f395ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c8063844d6a321161006f578063844d6a3214610154578063939d7c4e1461015e578063ae012ede1461017a578063b7a8238a14610184578063d7af8ac1146101a0578063e8256ea0146101bc576100b2565b806319eb4a90146100b65780632bfc4c69146100d65780633bccbbc9146100f45780635a018657146100fe5780637cfbdcf01461011a578063828909bd14610136575b5f80fd5b6100be6101da565b6040516100cd939291906105b3565b60405180910390f35b6100de610286565b6040516100eb91906105ef565b60405180910390f35b6100fc610316565b005b610118600480360381019061011391906107a0565b610351565b005b610134600480360381019061012f9190610869565b610391565b005b61013e6103df565b60405161014b91906108da565b60405180910390f35b61015c6103e7565b005b610178600480360381019061017391906107a0565b610429565b005b610182610469565b005b61019e600480360381019061019991906108f3565b610474565b005b6101ba60048036038101906101b5919061093a565b6104ae565b005b6101c46104e2565b6040516101d191906109a6565b60405180910390f35b5f60605f8054600160025f9054906101000a900460ff168180546101fd906109ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610229906109ec565b80156102745780601f1061024b57610100808354040283529160200191610274565b820191905f5260205f20905b81548152906001019060200180831161025757829003601f168201915b50505050509150925092509250909192565b606060018054610295906109ec565b80601f01602080910402602001604051908101604052809291908181526020018280546102c1906109ec565b801561030c5780601f106102e35761010080835404028352916020019161030c565b820191905f5260205f20905b8154815290600101906020018083116102ef57829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890610a66565b60405180910390fd5b7fa8297798732ff8a80a23cf22707934835a9d5b03536598708f7414646a1b95b383838360405161038493929190610a84565b60405180910390a1505050565b8015158285856040516103a5929190610aee565b60405180910390207f5b5730af07e266d8b4845f404beb3b193085c686b0edd8e8e20cd4b3fc2b6cd560405160405180910390a450505050565b5f8054905090565b5f610427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041e90610b50565b60405180910390fd5b565b801515827f553c4a49a36d26504ba0880f2f9bfe9ac7db4b81a893bde296546cd96ae0b33c8560405161045c91906105ef565b60405180910390a3505050565b5f610472575f80fd5b565b7f617cf8a4400dd7963ed519ebe655a16e8da1282bb8fea36a21f634af912f54ab816040516104a391906105ef565b60405180910390a150565b825f8190555081600190816104c39190610d0b565b508060025f6101000a81548160ff021916908315150217905550505050565b5f60025f9054906101000a900460ff16905090565b5f819050919050565b610509816104f7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561054657808201518184015260208101905061052b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61056b8261050f565b6105758185610519565b9350610585818560208601610529565b61058e81610551565b840191505092915050565b5f8115159050919050565b6105ad81610599565b82525050565b5f6060820190506105c65f830186610500565b81810360208301526105d88185610561565b90506105e760408301846105a4565b949350505050565b5f6020820190508181035f8301526106078184610561565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61065e82610551565b810181811067ffffffffffffffff8211171561067d5761067c610628565b5b80604052505050565b5f61068f61060f565b905061069b8282610655565b919050565b5f67ffffffffffffffff8211156106ba576106b9610628565b5b6106c382610551565b9050602081019050919050565b828183375f83830152505050565b5f6106f06106eb846106a0565b610686565b90508281526020810184848401111561070c5761070b610624565b5b6107178482856106d0565b509392505050565b5f82601f83011261073357610732610620565b5b81356107438482602086016106de565b91505092915050565b610755816104f7565b811461075f575f80fd5b50565b5f813590506107708161074c565b92915050565b61077f81610599565b8114610789575f80fd5b50565b5f8135905061079a81610776565b92915050565b5f805f606084860312156107b7576107b6610618565b5b5f84013567ffffffffffffffff8111156107d4576107d361061c565b5b6107e08682870161071f565b93505060206107f186828701610762565b92505060406108028682870161078c565b9150509250925092565b5f80fd5b5f80fd5b5f8083601f84011261082957610828610620565b5b8235905067ffffffffffffffff8111156108465761084561080c565b5b60208301915083600182028301111561086257610861610810565b5b9250929050565b5f805f806060858703121561088157610880610618565b5b5f85013567ffffffffffffffff81111561089e5761089d61061c565b5b6108aa87828801610814565b945094505060206108bd87828801610762565b92505060406108ce8782880161078c565b91505092959194509250565b5f6020820190506108ed5f830184610500565b92915050565b5f6020828403121561090857610907610618565b5b5f82013567ffffffffffffffff8111156109255761092461061c565b5b6109318482850161071f565b91505092915050565b5f805f6060848603121561095157610950610618565b5b5f61095e86828701610762565b935050602084013567ffffffffffffffff81111561097f5761097e61061c565b5b61098b8682870161071f565b925050604061099c8682870161078c565b9150509250925092565b5f6020820190506109b95f8301846105a4565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610a0357607f821691505b602082108103610a1657610a156109bf565b5b50919050565b7f52455645525445442057495448205245564552540000000000000000000000005f82015250565b5f610a50601483610519565b9150610a5b82610a1c565b602082019050919050565b5f6020820190508181035f830152610a7d81610a44565b9050919050565b5f6060820190508181035f830152610a9c8186610561565b9050610aab6020830185610500565b610ab860408301846105a4565b949350505050565b5f81905092915050565b5f610ad58385610ac0565b9350610ae28385846106d0565b82840190509392505050565b5f610afa828486610aca565b91508190509392505050565b7f52455645525445442057495448205245515549524500000000000000000000005f82015250565b5f610b3a601583610519565b9150610b4582610b06565b602082019050919050565b5f6020820190508181035f830152610b6781610b2e565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610bca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610b8f565b610bd48683610b8f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610c0f610c0a610c05846104f7565b610bec565b6104f7565b9050919050565b5f819050919050565b610c2883610bf5565b610c3c610c3482610c16565b848454610b9b565b825550505050565b5f90565b610c50610c44565b610c5b818484610c1f565b505050565b5b81811015610c7e57610c735f82610c48565b600181019050610c61565b5050565b601f821115610cc357610c9481610b6e565b610c9d84610b80565b81016020851015610cac578190505b610cc0610cb885610b80565b830182610c60565b50505b505050565b5f82821c905092915050565b5f610ce35f1984600802610cc8565b1980831691505092915050565b5f610cfb8383610cd4565b9150826002028217905092915050565b610d148261050f565b67ffffffffffffffff811115610d2d57610d2c610628565b5b610d3782546109ec565b610d42828285610c82565b5f60209050601f831160018114610d73575f8415610d61578287015190505b610d6b8582610cf0565b865550610dd2565b601f198416610d8186610b6e565b5f5b82811015610da857848901518255600182019150602085019450602081019050610d83565b86831015610dc55784890151610dc1601f891682610cd4565b8355505b6001600288020188555050505b50505050505056fea26469706673582212207da11f3a359a735e703035a15dd6b74e550d7cec3bbd53a756cae01784e630346468797063430000020033" } } } diff --git a/fixtures/build/Basic.ts b/fixtures/build/Basic.ts index f0e46a36..96628931 100644 --- a/fixtures/build/Basic.ts +++ b/fixtures/build/Basic.ts @@ -17,16 +17,8 @@ along with web3.js. If not, see . export const BasicAbi = [ { inputs: [ - { - internalType: 'uint256', - name: '_val', - type: 'uint256', - }, - { - internalType: 'string', - name: '_stringValue', - type: 'string', - }, + { internalType: 'uint256', name: '_val', type: 'uint256' }, + { internalType: 'string', name: '_stringValue', type: 'string' }, ], stateMutability: 'nonpayable', type: 'constructor', @@ -34,24 +26,9 @@ export const BasicAbi = [ { anonymous: false, inputs: [ - { - indexed: false, - internalType: 'string', - name: 'str', - type: 'string', - }, - { - indexed: false, - internalType: 'uint256', - name: 'val', - type: 'uint256', - }, - { - indexed: false, - internalType: 'bool', - name: 'flag', - type: 'bool', - }, + { indexed: false, internalType: 'string', name: 'str', type: 'string' }, + { indexed: false, internalType: 'uint256', name: 'val', type: 'uint256' }, + { indexed: false, internalType: 'bool', name: 'flag', type: 'bool' }, ], name: 'MultiValueEvent', type: 'event', @@ -59,24 +36,9 @@ export const BasicAbi = [ { anonymous: false, inputs: [ - { - indexed: false, - internalType: 'string', - name: 'str', - type: 'string', - }, - { - indexed: true, - internalType: 'uint256', - name: 'val', - type: 'uint256', - }, - { - indexed: true, - internalType: 'bool', - name: 'flag', - type: 'bool', - }, + { indexed: false, internalType: 'string', name: 'str', type: 'string' }, + { indexed: true, internalType: 'uint256', name: 'val', type: 'uint256' }, + { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, ], name: 'MultiValueIndexedEvent', type: 'event', @@ -84,58 +46,24 @@ export const BasicAbi = [ { anonymous: false, inputs: [ - { - indexed: true, - internalType: 'string', - name: 'str', - type: 'string', - }, - { - indexed: true, - internalType: 'uint256', - name: 'val', - type: 'uint256', - }, - { - indexed: true, - internalType: 'bool', - name: 'flag', - type: 'bool', - }, + { indexed: true, internalType: 'string', name: 'str', type: 'string' }, + { indexed: true, internalType: 'uint256', name: 'val', type: 'uint256' }, + { indexed: true, internalType: 'bool', name: 'flag', type: 'bool' }, ], name: 'MultiValueIndexedEventWithStringIndexed', type: 'event', }, { anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'string', - name: 'str', - type: 'string', - }, - ], + inputs: [{ indexed: false, internalType: 'string', name: 'str', type: 'string' }], name: 'StringEvent', type: 'event', }, { inputs: [ - { - internalType: 'string', - name: 'str', - type: 'string', - }, - { - internalType: 'uint256', - name: 'val', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'flag', - type: 'bool', - }, + { internalType: 'string', name: 'str', type: 'string' }, + { internalType: 'uint256', name: 'val', type: 'uint256' }, + { internalType: 'bool', name: 'flag', type: 'bool' }, ], name: 'firesMultiValueEvent', outputs: [], @@ -144,21 +72,9 @@ export const BasicAbi = [ }, { inputs: [ - { - internalType: 'string', - name: 'str', - type: 'string', - }, - { - internalType: 'uint256', - name: 'val', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'flag', - type: 'bool', - }, + { internalType: 'string', name: 'str', type: 'string' }, + { internalType: 'uint256', name: 'val', type: 'uint256' }, + { internalType: 'bool', name: 'flag', type: 'bool' }, ], name: 'firesMultiValueIndexedEvent', outputs: [], @@ -167,21 +83,9 @@ export const BasicAbi = [ }, { inputs: [ - { - internalType: 'string', - name: 'str', - type: 'string', - }, - { - internalType: 'uint256', - name: 'val', - type: 'uint256', - }, - { - internalType: 'bool', - name: 'flag', - type: 'bool', - }, + { internalType: 'string', name: 'str', type: 'string' }, + { internalType: 'uint256', name: 'val', type: 'uint256' }, + { internalType: 'bool', name: 'flag', type: 'bool' }, ], name: 'firesMultiValueIndexedEventWithStringIndexed', outputs: [], @@ -189,13 +93,7 @@ export const BasicAbi = [ type: 'function', }, { - inputs: [ - { - internalType: 'string', - name: '_str', - type: 'string', - }, - ], + inputs: [{ internalType: 'string', name: '_str', type: 'string' }], name: 'firesStringEvent', outputs: [], stateMutability: 'nonpayable', @@ -204,39 +102,21 @@ export const BasicAbi = [ { inputs: [], name: 'getBoolValue', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getIntValue', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'getStringValue', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], + outputs: [{ internalType: 'string', name: '', type: 'string' }], stateMutability: 'view', type: 'function', }, @@ -244,21 +124,9 @@ export const BasicAbi = [ inputs: [], name: 'getValues', outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - { - internalType: 'string', - name: '', - type: 'string', - }, - { - internalType: 'bool', - name: '', - type: 'bool', - }, + { internalType: 'uint256', name: '', type: 'uint256' }, + { internalType: 'string', name: '', type: 'string' }, + { internalType: 'bool', name: '', type: 'bool' }, ], stateMutability: 'view', type: 'function', @@ -277,30 +145,12 @@ export const BasicAbi = [ stateMutability: 'pure', type: 'function', }, - { - inputs: [], - name: 'reverts', - outputs: [], - stateMutability: 'pure', - type: 'function', - }, + { inputs: [], name: 'reverts', outputs: [], stateMutability: 'pure', type: 'function' }, { inputs: [ - { - internalType: 'uint256', - name: '_value', - type: 'uint256', - }, - { - internalType: 'string', - name: '_stringValue', - type: 'string', - }, - { - internalType: 'bool', - name: '_boolValue', - type: 'bool', - }, + { internalType: 'uint256', name: '_value', type: 'uint256' }, + { internalType: 'string', name: '_stringValue', type: 'string' }, + { internalType: 'bool', name: '_boolValue', type: 'bool' }, ], name: 'setValues', outputs: [], @@ -309,4 +159,4 @@ export const BasicAbi = [ }, ] as const; export const BasicBytecode = - '0x60806040523480156200001157600080fd5b5060405162001068380380620010688339818101604052810190620000379190620002e7565b816000819055508060019080519060200190620000569291906200005f565b505050620003b1565b8280546200006d906200037c565b90600052602060002090601f016020900481019282620000915760008555620000dd565b82601f10620000ac57805160ff1916838001178555620000dd565b82800160010185558215620000dd579182015b82811115620000dc578251825591602001919060010190620000bf565b5b509050620000ec9190620000f0565b5090565b5b808211156200010b576000816000905550600101620000f1565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620001388162000123565b81146200014457600080fd5b50565b60008151905062000158816200012d565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001b38262000168565b810181811067ffffffffffffffff82111715620001d557620001d462000179565b5b80604052505050565b6000620001ea6200010f565b9050620001f88282620001a8565b919050565b600067ffffffffffffffff8211156200021b576200021a62000179565b5b620002268262000168565b9050602081019050919050565b60005b838110156200025357808201518184015260208101905062000236565b8381111562000263576000848401525b50505050565b6000620002806200027a84620001fd565b620001de565b9050828152602081018484840111156200029f576200029e62000163565b5b620002ac84828562000233565b509392505050565b600082601f830112620002cc57620002cb6200015e565b5b8151620002de84826020860162000269565b91505092915050565b6000806040838503121562000301576200030062000119565b5b6000620003118582860162000147565b925050602083015167ffffffffffffffff8111156200033557620003346200011e565b5b6200034385828601620002b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200039557607f821691505b602082108103620003ab57620003aa6200034d565b5b50919050565b610ca780620003c16000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063844d6a3211610071578063844d6a3214610157578063939d7c4e14610161578063ae012ede1461017d578063b7a8238a14610187578063d7af8ac1146101a3578063e8256ea0146101bf576100b4565b806319eb4a90146100b95780632bfc4c69146100d95780633bccbbc9146100f75780635a018657146101015780637cfbdcf01461011d578063828909bd14610139575b600080fd5b6100c16101dd565b6040516100d093929190610680565b60405180910390f35b6100e161028e565b6040516100ee91906106be565b60405180910390f35b6100ff610320565b005b61011b60048036038101906101169190610881565b61035b565b005b61013760048036038101906101329190610950565b61039b565b005b6101416103e9565b60405161014e91906109c4565b60405180910390f35b61015f6103f2565b005b61017b60048036038101906101769190610881565b610435565b005b610185610475565b005b6101a1600480360381019061019c91906109df565b610482565b005b6101bd60048036038101906101b89190610a28565b6104bc565b005b6101c76104f9565b6040516101d49190610a97565b60405180910390f35b60006060600080546001600260009054906101000a900460ff1681805461020390610ae1565b80601f016020809104026020016040519081016040528092919081815260200182805461022f90610ae1565b801561027c5780601f106102515761010080835404028352916020019161027c565b820191906000526020600020905b81548152906001019060200180831161025f57829003601f168201915b50505050509150925092509250909192565b60606001805461029d90610ae1565b80601f01602080910402602001604051908101604052809291908181526020018280546102c990610ae1565b80156103165780601f106102eb57610100808354040283529160200191610316565b820191906000526020600020905b8154815290600101906020018083116102f957829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035290610b5e565b60405180910390fd5b7fa8297798732ff8a80a23cf22707934835a9d5b03536598708f7414646a1b95b383838360405161038e93929190610b7e565b60405180910390a1505050565b8015158285856040516103af929190610bec565b60405180910390207f5b5730af07e266d8b4845f404beb3b193085c686b0edd8e8e20cd4b3fc2b6cd560405160405180910390a450505050565b60008054905090565b6000610433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042a90610c51565b60405180910390fd5b565b801515827f553c4a49a36d26504ba0880f2f9bfe9ac7db4b81a893bde296546cd96ae0b33c8560405161046891906106be565b60405180910390a3505050565b600061048057600080fd5b565b7f617cf8a4400dd7963ed519ebe655a16e8da1282bb8fea36a21f634af912f54ab816040516104b191906106be565b60405180910390a150565b8260008190555081600190805190602001906104d9929190610510565b5080600260006101000a81548160ff021916908315150217905550505050565b6000600260009054906101000a900460ff16905090565b82805461051c90610ae1565b90600052602060002090601f01602090048101928261053e5760008555610585565b82601f1061055757805160ff1916838001178555610585565b82800160010185558215610585579182015b82811115610584578251825591602001919060010190610569565b5b5090506105929190610596565b5090565b5b808211156105af576000816000905550600101610597565b5090565b6000819050919050565b6105c6816105b3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106065780820151818401526020810190506105eb565b83811115610615576000848401525b50505050565b6000601f19601f8301169050919050565b6000610637826105cc565b61064181856105d7565b93506106518185602086016105e8565b61065a8161061b565b840191505092915050565b60008115159050919050565b61067a81610665565b82525050565b600060608201905061069560008301866105bd565b81810360208301526106a7818561062c565b90506106b66040830184610671565b949350505050565b600060208201905081810360008301526106d8818461062c565b905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6107368261061b565b810181811067ffffffffffffffff82111715610755576107546106fe565b5b80604052505050565b60006107686106e0565b9050610774828261072d565b919050565b600067ffffffffffffffff821115610794576107936106fe565b5b61079d8261061b565b9050602081019050919050565b82818337600083830152505050565b60006107cc6107c784610779565b61075e565b9050828152602081018484840111156107e8576107e76106f9565b5b6107f38482856107aa565b509392505050565b600082601f8301126108105761080f6106f4565b5b81356108208482602086016107b9565b91505092915050565b610832816105b3565b811461083d57600080fd5b50565b60008135905061084f81610829565b92915050565b61085e81610665565b811461086957600080fd5b50565b60008135905061087b81610855565b92915050565b60008060006060848603121561089a576108996106ea565b5b600084013567ffffffffffffffff8111156108b8576108b76106ef565b5b6108c4868287016107fb565b93505060206108d586828701610840565b92505060406108e68682870161086c565b9150509250925092565b600080fd5b600080fd5b60008083601f8401126109105761090f6106f4565b5b8235905067ffffffffffffffff81111561092d5761092c6108f0565b5b602083019150836001820283011115610949576109486108f5565b5b9250929050565b6000806000806060858703121561096a576109696106ea565b5b600085013567ffffffffffffffff811115610988576109876106ef565b5b610994878288016108fa565b945094505060206109a787828801610840565b92505060406109b88782880161086c565b91505092959194509250565b60006020820190506109d960008301846105bd565b92915050565b6000602082840312156109f5576109f46106ea565b5b600082013567ffffffffffffffff811115610a1357610a126106ef565b5b610a1f848285016107fb565b91505092915050565b600080600060608486031215610a4157610a406106ea565b5b6000610a4f86828701610840565b935050602084013567ffffffffffffffff811115610a7057610a6f6106ef565b5b610a7c868287016107fb565b9250506040610a8d8682870161086c565b9150509250925092565b6000602082019050610aac6000830184610671565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610af957607f821691505b602082108103610b0c57610b0b610ab2565b5b50919050565b7f5245564552544544205749544820524556455254000000000000000000000000600082015250565b6000610b486014836105d7565b9150610b5382610b12565b602082019050919050565b60006020820190508181036000830152610b7781610b3b565b9050919050565b60006060820190508181036000830152610b98818661062c565b9050610ba760208301856105bd565b610bb46040830184610671565b949350505050565b600081905092915050565b6000610bd38385610bbc565b9350610be08385846107aa565b82840190509392505050565b6000610bf9828486610bc7565b91508190509392505050565b7f5245564552544544205749544820524551554952450000000000000000000000600082015250565b6000610c3b6015836105d7565b9150610c4682610c05565b602082019050919050565b60006020820190508181036000830152610c6a81610c2e565b905091905056fea2646970667358221220ca8ff7a2edb3cb30dd9de0ed5a0665fd7ee39e4680760776b264f55d8f5ef51c64736f6c634300080d0033'; + '0x608060405234801562000010575f80fd5b50604051620013a7380380620013a7833981810160405281019062000036919062000213565b815f8190555080600190816200004d9190620004a5565b50505062000589565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6200007b8162000067565b811462000086575f80fd5b50565b5f81519050620000998162000070565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000ef82620000a7565b810181811067ffffffffffffffff82111715620001115762000110620000b7565b5b80604052505050565b5f6200012562000056565b9050620001338282620000e4565b919050565b5f67ffffffffffffffff821115620001555762000154620000b7565b5b6200016082620000a7565b9050602081019050919050565b5f5b838110156200018c5780820151818401526020810190506200016f565b5f8484015250505050565b5f620001ad620001a78462000138565b6200011a565b905082815260208101848484011115620001cc57620001cb620000a3565b5b620001d98482856200016d565b509392505050565b5f82601f830112620001f857620001f76200009f565b5b81516200020a84826020860162000197565b91505092915050565b5f80604083850312156200022c576200022b6200005f565b5b5f6200023b8582860162000089565b925050602083015167ffffffffffffffff8111156200025f576200025e62000063565b5b6200026d85828601620001e1565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620002c657607f821691505b602082108103620002dc57620002db62000281565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000303565b6200034c868362000303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200038d62000387620003818462000067565b62000364565b62000067565b9050919050565b5f819050919050565b620003a8836200036d565b620003c0620003b78262000394565b8484546200030f565b825550505050565b5f90565b620003d6620003c8565b620003e38184846200039d565b505050565b5b818110156200040a57620003fe5f82620003cc565b600181019050620003e9565b5050565b601f82111562000459576200042381620002e2565b6200042e84620002f4565b810160208510156200043e578190505b620004566200044d85620002f4565b830182620003e8565b50505b505050565b5f82821c905092915050565b5f6200047b5f19846008026200045e565b1980831691505092915050565b5f6200049583836200046a565b9150826002028217905092915050565b620004b08262000277565b67ffffffffffffffff811115620004cc57620004cb620000b7565b5b620004d88254620002ae565b620004e58282856200040e565b5f60209050601f8311600181146200051b575f841562000506578287015190505b62000512858262000488565b86555062000581565b601f1984166200052b86620002e2565b5f5b8281101562000554578489015182556001820191506020850194506020810190506200052d565b8683101562000574578489015162000570601f8916826200046a565b8355505b6001600288020188555050505b505050505050565b610e1080620005975f395ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c8063844d6a321161006f578063844d6a3214610154578063939d7c4e1461015e578063ae012ede1461017a578063b7a8238a14610184578063d7af8ac1146101a0578063e8256ea0146101bc576100b2565b806319eb4a90146100b65780632bfc4c69146100d65780633bccbbc9146100f45780635a018657146100fe5780637cfbdcf01461011a578063828909bd14610136575b5f80fd5b6100be6101da565b6040516100cd939291906105b3565b60405180910390f35b6100de610286565b6040516100eb91906105ef565b60405180910390f35b6100fc610316565b005b610118600480360381019061011391906107a0565b610351565b005b610134600480360381019061012f9190610869565b610391565b005b61013e6103df565b60405161014b91906108da565b60405180910390f35b61015c6103e7565b005b610178600480360381019061017391906107a0565b610429565b005b610182610469565b005b61019e600480360381019061019991906108f3565b610474565b005b6101ba60048036038101906101b5919061093a565b6104ae565b005b6101c46104e2565b6040516101d191906109a6565b60405180910390f35b5f60605f8054600160025f9054906101000a900460ff168180546101fd906109ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610229906109ec565b80156102745780601f1061024b57610100808354040283529160200191610274565b820191905f5260205f20905b81548152906001019060200180831161025757829003601f168201915b50505050509150925092509250909192565b606060018054610295906109ec565b80601f01602080910402602001604051908101604052809291908181526020018280546102c1906109ec565b801561030c5780601f106102e35761010080835404028352916020019161030c565b820191905f5260205f20905b8154815290600101906020018083116102ef57829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890610a66565b60405180910390fd5b7fa8297798732ff8a80a23cf22707934835a9d5b03536598708f7414646a1b95b383838360405161038493929190610a84565b60405180910390a1505050565b8015158285856040516103a5929190610aee565b60405180910390207f5b5730af07e266d8b4845f404beb3b193085c686b0edd8e8e20cd4b3fc2b6cd560405160405180910390a450505050565b5f8054905090565b5f610427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041e90610b50565b60405180910390fd5b565b801515827f553c4a49a36d26504ba0880f2f9bfe9ac7db4b81a893bde296546cd96ae0b33c8560405161045c91906105ef565b60405180910390a3505050565b5f610472575f80fd5b565b7f617cf8a4400dd7963ed519ebe655a16e8da1282bb8fea36a21f634af912f54ab816040516104a391906105ef565b60405180910390a150565b825f8190555081600190816104c39190610d0b565b508060025f6101000a81548160ff021916908315150217905550505050565b5f60025f9054906101000a900460ff16905090565b5f819050919050565b610509816104f7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561054657808201518184015260208101905061052b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61056b8261050f565b6105758185610519565b9350610585818560208601610529565b61058e81610551565b840191505092915050565b5f8115159050919050565b6105ad81610599565b82525050565b5f6060820190506105c65f830186610500565b81810360208301526105d88185610561565b90506105e760408301846105a4565b949350505050565b5f6020820190508181035f8301526106078184610561565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61065e82610551565b810181811067ffffffffffffffff8211171561067d5761067c610628565b5b80604052505050565b5f61068f61060f565b905061069b8282610655565b919050565b5f67ffffffffffffffff8211156106ba576106b9610628565b5b6106c382610551565b9050602081019050919050565b828183375f83830152505050565b5f6106f06106eb846106a0565b610686565b90508281526020810184848401111561070c5761070b610624565b5b6107178482856106d0565b509392505050565b5f82601f83011261073357610732610620565b5b81356107438482602086016106de565b91505092915050565b610755816104f7565b811461075f575f80fd5b50565b5f813590506107708161074c565b92915050565b61077f81610599565b8114610789575f80fd5b50565b5f8135905061079a81610776565b92915050565b5f805f606084860312156107b7576107b6610618565b5b5f84013567ffffffffffffffff8111156107d4576107d361061c565b5b6107e08682870161071f565b93505060206107f186828701610762565b92505060406108028682870161078c565b9150509250925092565b5f80fd5b5f80fd5b5f8083601f84011261082957610828610620565b5b8235905067ffffffffffffffff8111156108465761084561080c565b5b60208301915083600182028301111561086257610861610810565b5b9250929050565b5f805f806060858703121561088157610880610618565b5b5f85013567ffffffffffffffff81111561089e5761089d61061c565b5b6108aa87828801610814565b945094505060206108bd87828801610762565b92505060406108ce8782880161078c565b91505092959194509250565b5f6020820190506108ed5f830184610500565b92915050565b5f6020828403121561090857610907610618565b5b5f82013567ffffffffffffffff8111156109255761092461061c565b5b6109318482850161071f565b91505092915050565b5f805f6060848603121561095157610950610618565b5b5f61095e86828701610762565b935050602084013567ffffffffffffffff81111561097f5761097e61061c565b5b61098b8682870161071f565b925050604061099c8682870161078c565b9150509250925092565b5f6020820190506109b95f8301846105a4565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610a0357607f821691505b602082108103610a1657610a156109bf565b5b50919050565b7f52455645525445442057495448205245564552540000000000000000000000005f82015250565b5f610a50601483610519565b9150610a5b82610a1c565b602082019050919050565b5f6020820190508181035f830152610a7d81610a44565b9050919050565b5f6060820190508181035f830152610a9c8186610561565b9050610aab6020830185610500565b610ab860408301846105a4565b949350505050565b5f81905092915050565b5f610ad58385610ac0565b9350610ae28385846106d0565b82840190509392505050565b5f610afa828486610aca565b91508190509392505050565b7f52455645525445442057495448205245515549524500000000000000000000005f82015250565b5f610b3a601583610519565b9150610b4582610b06565b602082019050919050565b5f6020820190508181035f830152610b6781610b2e565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610bca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610b8f565b610bd48683610b8f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610c0f610c0a610c05846104f7565b610bec565b6104f7565b9050919050565b5f819050919050565b610c2883610bf5565b610c3c610c3482610c16565b848454610b9b565b825550505050565b5f90565b610c50610c44565b610c5b818484610c1f565b505050565b5b81811015610c7e57610c735f82610c48565b600181019050610c61565b5050565b601f821115610cc357610c9481610b6e565b610c9d84610b80565b81016020851015610cac578190505b610cc0610cb885610b80565b830182610c60565b50505b505050565b5f82821c905092915050565b5f610ce35f1984600802610cc8565b1980831691505092915050565b5f610cfb8383610cd4565b9150826002028217905092915050565b610d148261050f565b67ffffffffffffffff811115610d2d57610d2c610628565b5b610d3782546109ec565b610d42828285610c82565b5f60209050601f831160018114610d73575f8415610d61578287015190505b610d6b8582610cf0565b865550610dd2565b601f198416610d8186610b6e565b5f5b82811015610da857848901518255600182019150602085019450602081019050610d83565b86831015610dc55784890151610dc1601f891682610cd4565b8355505b6001600288020188555050505b50505050505056fea26469706673582212207da11f3a359a735e703035a15dd6b74e550d7cec3bbd53a756cae01784e630346468797063430000020033'; diff --git a/fixtures/build/DeployRevert.json b/fixtures/build/DeployRevert.json index 4a78166d..6dd29633 100644 --- a/fixtures/build/DeployRevert.json +++ b/fixtures/build/DeployRevert.json @@ -8,7 +8,7 @@ ], "zvm": { "bytecode": { - "object": "6080604052348015600f57600080fd5b506000601a57600080fd5b603f8060276000396000f3fe6080604052600080fdfea264697066735822122097fd7c0cdcb3a8015df4cce061a4d7f8c2919787475e0b07d1b0ec13223097ac64736f6c63430008100033" + "object": "6080604052348015600e575f80fd5b505f6017575f80fd5b603e8060225f395ff3fe60806040525f80fdfea2646970667358221220fa38571b8dfcaa315c964f584d24c12693f06ac4f4fba5012d72845a2b29eaa06468797063430000020033" } } } diff --git a/fixtures/build/DeployRevert.ts b/fixtures/build/DeployRevert.ts index 9f18d1a3..a4c71bcf 100644 --- a/fixtures/build/DeployRevert.ts +++ b/fixtures/build/DeployRevert.ts @@ -18,4 +18,4 @@ export const DeployRevertAbi = [ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, ] as const; export const DeployRevertBytecode = - '0x6080604052348015600f57600080fd5b506000601a57600080fd5b603f8060276000396000f3fe6080604052600080fdfea264697066735822122097fd7c0cdcb3a8015df4cce061a4d7f8c2919787475e0b07d1b0ec13223097ac64736f6c63430008100033'; + '0x6080604052348015600e575f80fd5b505f6017575f80fd5b603e8060225f395ff3fe60806040525f80fdfea2646970667358221220fa38571b8dfcaa315c964f584d24c12693f06ac4f4fba5012d72845a2b29eaa06468797063430000020033'; diff --git a/fixtures/build/ERC20Token.json b/fixtures/build/ERC20Token.json deleted file mode 100644 index 66db45dc..00000000 --- a/fixtures/build/ERC20Token.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "initialSupply", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "zvm": { - "bytecode": { - "object": "60806040523480156200001157600080fd5b5060405162001990380380620019908339818101604052810190620000379190620002a4565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039081620000b4919062000546565b508060049081620000c6919062000546565b505050620000db3382620000e260201b60201c565b5062000748565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014b906200068e565b60405180910390fd5b62000168600083836200025a60201b60201c565b80600260008282546200017c9190620006df565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001d39190620006df565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200023a91906200072b565b60405180910390a362000256600083836200025f60201b60201c565b5050565b505050565b505050565b600080fd5b6000819050919050565b6200027e8162000269565b81146200028a57600080fd5b50565b6000815190506200029e8162000273565b92915050565b600060208284031215620002bd57620002bc62000264565b5b6000620002cd848285016200028d565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200035857607f821691505b6020821081036200036e576200036d62000310565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003d87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000399565b620003e4868362000399565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000427620004216200041b8462000269565b620003fc565b62000269565b9050919050565b6000819050919050565b620004438362000406565b6200045b62000452826200042e565b848454620003a6565b825550505050565b600090565b6200047262000463565b6200047f81848462000438565b505050565b5b81811015620004a7576200049b60008262000468565b60018101905062000485565b5050565b601f821115620004f657620004c08162000374565b620004cb8462000389565b81016020851015620004db578190505b620004f3620004ea8562000389565b83018262000484565b50505b505050565b600082821c905092915050565b60006200051b60001984600802620004fb565b1980831691505092915050565b600062000536838362000508565b9150826002028217905092915050565b6200055182620002d6565b67ffffffffffffffff8111156200056d576200056c620002e1565b5b6200057982546200033f565b62000586828285620004ab565b600060209050601f831160018114620005be5760008415620005a9578287015190505b620005b5858262000528565b86555062000625565b601f198416620005ce8662000374565b60005b82811015620005f857848901518255600182019150602085019450602081019050620005d1565b8683101562000618578489015162000614601f89168262000508565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000676601f836200062d565b915062000683826200063e565b602082019050919050565b60006020820190508181036000830152620006a98162000667565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006ec8262000269565b9150620006f98362000269565b9250828201905080821115620007145762000713620006b0565b5b92915050565b620007258162000269565b82525050565b60006020820190506200074260008301846200071a565b92915050565b61123880620007586000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b15565b60405180910390f35b6100e660048036038101906100e19190610bd0565b610308565b6040516100f39190610c2b565b60405180910390f35b61010461032b565b6040516101119190610c55565b60405180910390f35b610134600480360381019061012f9190610c70565b610335565b6040516101419190610c2b565b60405180910390f35b610152610364565b60405161015f9190610cdf565b60405180910390f35b610182600480360381019061017d9190610bd0565b61036d565b60405161018f9190610c2b565b60405180910390f35b6101b260048036038101906101ad9190610cfa565b6103a4565b6040516101bf9190610c55565b60405180910390f35b6101d06103ec565b6040516101dd9190610b15565b60405180910390f35b61020060048036038101906101fb9190610bd0565b61047e565b60405161020d9190610c2b565b60405180910390f35b610230600480360381019061022b9190610bd0565b6104f5565b60405161023d9190610c2b565b60405180910390f35b610260600480360381019061025b9190610d27565b610518565b60405161026d9190610c55565b60405180910390f35b60606003805461028590610d96565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d96565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610df6565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d96565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d96565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e9c565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fc0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c55565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061102c565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611150565b60405180910390fd5b6108e5838383610a7b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111e2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fe9190610df6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a629190610c55565b60405180910390a3610a75848484610a80565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610abf578082015181840152602081019050610aa4565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ae782610a85565b610af18185610a90565b9350610b01818560208601610aa1565b610b0a81610acb565b840191505092915050565b60006020820190508181036000830152610b2f8184610adc565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6782610b3c565b9050919050565b610b7781610b5c565b8114610b8257600080fd5b50565b600081359050610b9481610b6e565b92915050565b6000819050919050565b610bad81610b9a565b8114610bb857600080fd5b50565b600081359050610bca81610ba4565b92915050565b60008060408385031215610be757610be6610b37565b5b6000610bf585828601610b85565b9250506020610c0685828601610bbb565b9150509250929050565b60008115159050919050565b610c2581610c10565b82525050565b6000602082019050610c406000830184610c1c565b92915050565b610c4f81610b9a565b82525050565b6000602082019050610c6a6000830184610c46565b92915050565b600080600060608486031215610c8957610c88610b37565b5b6000610c9786828701610b85565b9350506020610ca886828701610b85565b9250506040610cb986828701610bbb565b9150509250925092565b600060ff82169050919050565b610cd981610cc3565b82525050565b6000602082019050610cf46000830184610cd0565b92915050565b600060208284031215610d1057610d0f610b37565b5b6000610d1e84828501610b85565b91505092915050565b60008060408385031215610d3e57610d3d610b37565b5b6000610d4c85828601610b85565b9250506020610d5d85828601610b85565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610dae57607f821691505b602082108103610dc157610dc0610d67565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0182610b9a565b9150610e0c83610b9a565b9250828201905080821115610e2457610e23610dc7565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e86602583610a90565b9150610e9182610e2a565b604082019050919050565b60006020820190508181036000830152610eb581610e79565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f18602483610a90565b9150610f2382610ebc565b604082019050919050565b60006020820190508181036000830152610f4781610f0b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610faa602283610a90565b9150610fb582610f4e565b604082019050919050565b60006020820190508181036000830152610fd981610f9d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611016601d83610a90565b915061102182610fe0565b602082019050919050565b6000602082019050818103600083015261104581611009565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110a8602583610a90565b91506110b38261104c565b604082019050919050565b600060208201905081810360008301526110d78161109b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061113a602383610a90565b9150611145826110de565b604082019050919050565b600060208201905081810360008301526111698161112d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111cc602683610a90565b91506111d782611170565b604082019050919050565b600060208201905081810360008301526111fb816111bf565b905091905056fea26469706673582212200f5d4d388d874300a0683419c878ee355f87f7a6d61c24dc48ad65d7996e729964736f6c63430008100033" - } - } -} diff --git a/fixtures/build/ERC20Token.ts b/fixtures/build/ERC20Token.ts deleted file mode 100644 index 4516af45..00000000 --- a/fixtures/build/ERC20Token.ts +++ /dev/null @@ -1,141 +0,0 @@ -/* -This file is part of web3.js. - -web3.js is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -web3.js is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with web3.js. If not, see . -*/ -export const ERC20TokenAbi = [ - { - inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { indexed: true, internalType: 'address', name: 'owner', type: 'address' }, - { indexed: true, internalType: 'address', name: 'spender', type: 'address' }, - { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { indexed: true, internalType: 'address', name: 'from', type: 'address' }, - { indexed: true, internalType: 'address', name: 'to', type: 'address' }, - { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' }, - ], - name: 'Transfer', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: 'owner', type: 'address' }, - { internalType: 'address', name: 'spender', type: 'address' }, - ], - name: 'allowance', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - name: 'approve', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'account', type: 'address' }], - name: 'balanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'subtractedValue', type: 'uint256' }, - ], - name: 'decreaseAllowance', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'addedValue', type: 'uint256' }, - ], - name: 'increaseAllowance', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'totalSupply', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'to', type: 'address' }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - name: 'transfer', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'from', type: 'address' }, - { internalType: 'address', name: 'to', type: 'address' }, - { internalType: 'uint256', name: 'amount', type: 'uint256' }, - ], - name: 'transferFrom', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; -export const ERC20TokenBytecode = - '0x60806040523480156200001157600080fd5b5060405162001990380380620019908339818101604052810190620000379190620002a4565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039081620000b4919062000546565b508060049081620000c6919062000546565b505050620000db3382620000e260201b60201c565b5062000748565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014b906200068e565b60405180910390fd5b62000168600083836200025a60201b60201c565b80600260008282546200017c9190620006df565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001d39190620006df565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200023a91906200072b565b60405180910390a362000256600083836200025f60201b60201c565b5050565b505050565b505050565b600080fd5b6000819050919050565b6200027e8162000269565b81146200028a57600080fd5b50565b6000815190506200029e8162000273565b92915050565b600060208284031215620002bd57620002bc62000264565b5b6000620002cd848285016200028d565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200035857607f821691505b6020821081036200036e576200036d62000310565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003d87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000399565b620003e4868362000399565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000427620004216200041b8462000269565b620003fc565b62000269565b9050919050565b6000819050919050565b620004438362000406565b6200045b62000452826200042e565b848454620003a6565b825550505050565b600090565b6200047262000463565b6200047f81848462000438565b505050565b5b81811015620004a7576200049b60008262000468565b60018101905062000485565b5050565b601f821115620004f657620004c08162000374565b620004cb8462000389565b81016020851015620004db578190505b620004f3620004ea8562000389565b83018262000484565b50505b505050565b600082821c905092915050565b60006200051b60001984600802620004fb565b1980831691505092915050565b600062000536838362000508565b9150826002028217905092915050565b6200055182620002d6565b67ffffffffffffffff8111156200056d576200056c620002e1565b5b6200057982546200033f565b62000586828285620004ab565b600060209050601f831160018114620005be5760008415620005a9578287015190505b620005b5858262000528565b86555062000625565b601f198416620005ce8662000374565b60005b82811015620005f857848901518255600182019150602085019450602081019050620005d1565b8683101562000618578489015162000614601f89168262000508565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000676601f836200062d565b915062000683826200063e565b602082019050919050565b60006020820190508181036000830152620006a98162000667565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006ec8262000269565b9150620006f98362000269565b9250828201905080821115620007145762000713620006b0565b5b92915050565b620007258162000269565b82525050565b60006020820190506200074260008301846200071a565b92915050565b61123880620007586000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b15565b60405180910390f35b6100e660048036038101906100e19190610bd0565b610308565b6040516100f39190610c2b565b60405180910390f35b61010461032b565b6040516101119190610c55565b60405180910390f35b610134600480360381019061012f9190610c70565b610335565b6040516101419190610c2b565b60405180910390f35b610152610364565b60405161015f9190610cdf565b60405180910390f35b610182600480360381019061017d9190610bd0565b61036d565b60405161018f9190610c2b565b60405180910390f35b6101b260048036038101906101ad9190610cfa565b6103a4565b6040516101bf9190610c55565b60405180910390f35b6101d06103ec565b6040516101dd9190610b15565b60405180910390f35b61020060048036038101906101fb9190610bd0565b61047e565b60405161020d9190610c2b565b60405180910390f35b610230600480360381019061022b9190610bd0565b6104f5565b60405161023d9190610c2b565b60405180910390f35b610260600480360381019061025b9190610d27565b610518565b60405161026d9190610c55565b60405180910390f35b60606003805461028590610d96565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d96565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610df6565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d96565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d96565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e9c565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f2e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fc0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c55565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df9061102c565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611150565b60405180910390fd5b6108e5838383610a7b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111e2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fe9190610df6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a629190610c55565b60405180910390a3610a75848484610a80565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610abf578082015181840152602081019050610aa4565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ae782610a85565b610af18185610a90565b9350610b01818560208601610aa1565b610b0a81610acb565b840191505092915050565b60006020820190508181036000830152610b2f8184610adc565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b6782610b3c565b9050919050565b610b7781610b5c565b8114610b8257600080fd5b50565b600081359050610b9481610b6e565b92915050565b6000819050919050565b610bad81610b9a565b8114610bb857600080fd5b50565b600081359050610bca81610ba4565b92915050565b60008060408385031215610be757610be6610b37565b5b6000610bf585828601610b85565b9250506020610c0685828601610bbb565b9150509250929050565b60008115159050919050565b610c2581610c10565b82525050565b6000602082019050610c406000830184610c1c565b92915050565b610c4f81610b9a565b82525050565b6000602082019050610c6a6000830184610c46565b92915050565b600080600060608486031215610c8957610c88610b37565b5b6000610c9786828701610b85565b9350506020610ca886828701610b85565b9250506040610cb986828701610bbb565b9150509250925092565b600060ff82169050919050565b610cd981610cc3565b82525050565b6000602082019050610cf46000830184610cd0565b92915050565b600060208284031215610d1057610d0f610b37565b5b6000610d1e84828501610b85565b91505092915050565b60008060408385031215610d3e57610d3d610b37565b5b6000610d4c85828601610b85565b9250506020610d5d85828601610b85565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610dae57607f821691505b602082108103610dc157610dc0610d67565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0182610b9a565b9150610e0c83610b9a565b9250828201905080821115610e2457610e23610dc7565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e86602583610a90565b9150610e9182610e2a565b604082019050919050565b60006020820190508181036000830152610eb581610e79565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f18602483610a90565b9150610f2382610ebc565b604082019050919050565b60006020820190508181036000830152610f4781610f0b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610faa602283610a90565b9150610fb582610f4e565b604082019050919050565b60006020820190508181036000830152610fd981610f9d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611016601d83610a90565b915061102182610fe0565b602082019050919050565b6000602082019050818103600083015261104581611009565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110a8602583610a90565b91506110b38261104c565b604082019050919050565b600060208201905081810360008301526110d78161109b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061113a602383610a90565b9150611145826110de565b604082019050919050565b600060208201905081810360008301526111698161112d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111cc602683610a90565b91506111d782611170565b604082019050919050565b600060208201905081810360008301526111fb816111bf565b905091905056fea26469706673582212200f5d4d388d874300a0683419c878ee355f87f7a6d61c24dc48ad65d7996e729964736f6c63430008100033'; diff --git a/fixtures/build/ERC721Token.json b/fixtures/build/ERC721Token.json deleted file mode 100644 index 89d065b5..00000000 --- a/fixtures/build/ERC721Token.json +++ /dev/null @@ -1,368 +0,0 @@ -{ - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "player", - "type": "address" - }, - { - "internalType": "string", - "name": "tokenURI", - "type": "string" - } - ], - "name": "awardItem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "zvm": { - "bytecode": { - "object": "60806040523480156200001157600080fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d000000000000000000000000000000000000000000000000000000000081525081600090816200008f919062000324565b508060019081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b612a36806200041b6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063b88d4fde11610066578063b88d4fde1461025b578063c87b56dd14610277578063cf378343146102a7578063e985e9c5146102d7576100ea565b806370a08231146101f157806395d89b4114610221578063a22cb4651461023f576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b610109600480360381019061010491906117b5565b610307565b60405161011691906117fd565b60405180910390f35b6101276103e9565b60405161013491906118a8565b60405180910390f35b61015760048036038101906101529190611900565b61047b565b604051610164919061196e565b60405180910390f35b610187600480360381019061018291906119b5565b6104c1565b005b6101a3600480360381019061019e91906119f5565b6105d8565b005b6101bf60048036038101906101ba91906119f5565b610638565b005b6101db60048036038101906101d69190611900565b610658565b6040516101e8919061196e565b60405180910390f35b61020b60048036038101906102069190611a48565b610709565b6040516102189190611a84565b60405180910390f35b6102296107c0565b60405161023691906118a8565b60405180910390f35b61025960048036038101906102549190611acb565b610852565b005b61027560048036038101906102709190611c40565b610868565b005b610291600480360381019061028c9190611900565b6108ca565b60405161029e91906118a8565b60405180910390f35b6102c160048036038101906102bc9190611d64565b6109dc565b6040516102ce9190611a84565b60405180910390f35b6102f160048036038101906102ec9190611dc0565b610a13565b6040516102fe91906117fd565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e182610aa7565b5b9050919050565b6060600080546103f890611e2f565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611e2f565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610b11565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610658565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390611ed2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055b610b5c565b73ffffffffffffffffffffffffffffffffffffffff16148061058a575061058981610584610b5c565b610a13565b5b6105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090611f64565b60405180910390fd5b6105d38383610b64565b505050565b6105e96105e3610b5c565b82610c1d565b610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90611ff6565b60405180910390fd5b610633838383610cb2565b505050565b61065383838360405180602001604052806000815250610868565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790612062565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610779576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610770906120f4565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107cf90611e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546107fb90611e2f565b80156108485780601f1061081d57610100808354040283529160200191610848565b820191906000526020600020905b81548152906001019060200180831161082b57829003601f168201915b5050505050905090565b61086461085d610b5c565b8383610f18565b5050565b610879610873610b5c565b83610c1d565b6108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108af90611ff6565b60405180910390fd5b6108c484848484611084565b50505050565b60606108d582610b11565b60006006600084815260200190815260200160002080546108f590611e2f565b80601f016020809104026020016040519081016040528092919081815260200182805461092190611e2f565b801561096e5780601f106109435761010080835404028352916020019161096e565b820191906000526020600020905b81548152906001019060200180831161095157829003601f168201915b50505050509050600061097f6110e0565b905060008151036109945781925050506109d7565b6000825111156109c95780826040516020016109b1929190612150565b604051602081830303815290604052925050506109d7565b6109d2846110f7565b925050505b919050565b6000806109e9600761115f565b90506109f5848261116d565b6109ff8184611346565b610a0960076113b3565b8091505092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610b1a816113c9565b610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612062565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610bd783610658565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610c2983610658565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610c6b5750610c6a8185610a13565b5b80610ca957508373ffffffffffffffffffffffffffffffffffffffff16610c918461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610cd282610658565b73ffffffffffffffffffffffffffffffffffffffff1614610d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f906121e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e90612278565b60405180910390fd5b610da2838383611435565b610dad600082610b64565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610dfd91906122c7565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e5491906122fb565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f1383838361143a565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d9061237b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161107791906117fd565b60405180910390a3505050565b61108f848484610cb2565b61109b8484848461143f565b6110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d19061240d565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606061110282610b11565b600061110c6110e0565b9050600081511161112c5760405180602001604052806000815250611157565b80611136846115c6565b604051602001611147929190612150565b6040516020818303038152906040525b915050919050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390612479565b60405180910390fd5b6111e5816113c9565b15611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c906124e5565b60405180910390fd5b61123160008383611435565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461128191906122fb565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46113426000838361143a565b5050565b61134f826113c9565b61138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612577565b60405180910390fd5b806006600084815260200190815260200160002090816113ae9190612743565b505050565b6001816000016000828254019250508190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b505050565b505050565b60006114608473ffffffffffffffffffffffffffffffffffffffff16611726565b156115b9578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611489610b5c565b8786866040518563ffffffff1660e01b81526004016114ab949392919061286a565b6020604051808303816000875af19250505080156114e757506040513d601f19601f820116820180604052508101906114e491906128cb565b60015b611569573d8060008114611517576040519150601f19603f3d011682016040523d82523d6000602084013e61151c565b606091505b506000815103611561576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115589061240d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506115be565b600190505b949350505050565b60606000820361160d576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611721565b600082905060005b6000821461163f578080611628906128f8565b915050600a82611638919061296f565b9150611615565b60008167ffffffffffffffff81111561165b5761165a611b15565b5b6040519080825280601f01601f19166020018201604052801561168d5781602001600182028036833780820191505090505b5090505b6000851461171a576001826116a691906122c7565b9150600a856116b591906129a0565b60306116c191906122fb565b60f81b8183815181106116d7576116d66129d1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611713919061296f565b9450611691565b8093505050505b919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117928161175d565b811461179d57600080fd5b50565b6000813590506117af81611789565b92915050565b6000602082840312156117cb576117ca611753565b5b60006117d9848285016117a0565b91505092915050565b60008115159050919050565b6117f7816117e2565b82525050565b600060208201905061181260008301846117ee565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611852578082015181840152602081019050611837565b60008484015250505050565b6000601f19601f8301169050919050565b600061187a82611818565b6118848185611823565b9350611894818560208601611834565b61189d8161185e565b840191505092915050565b600060208201905081810360008301526118c2818461186f565b905092915050565b6000819050919050565b6118dd816118ca565b81146118e857600080fd5b50565b6000813590506118fa816118d4565b92915050565b60006020828403121561191657611915611753565b5b6000611924848285016118eb565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119588261192d565b9050919050565b6119688161194d565b82525050565b6000602082019050611983600083018461195f565b92915050565b6119928161194d565b811461199d57600080fd5b50565b6000813590506119af81611989565b92915050565b600080604083850312156119cc576119cb611753565b5b60006119da858286016119a0565b92505060206119eb858286016118eb565b9150509250929050565b600080600060608486031215611a0e57611a0d611753565b5b6000611a1c868287016119a0565b9350506020611a2d868287016119a0565b9250506040611a3e868287016118eb565b9150509250925092565b600060208284031215611a5e57611a5d611753565b5b6000611a6c848285016119a0565b91505092915050565b611a7e816118ca565b82525050565b6000602082019050611a996000830184611a75565b92915050565b611aa8816117e2565b8114611ab357600080fd5b50565b600081359050611ac581611a9f565b92915050565b60008060408385031215611ae257611ae1611753565b5b6000611af0858286016119a0565b9250506020611b0185828601611ab6565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b4d8261185e565b810181811067ffffffffffffffff82111715611b6c57611b6b611b15565b5b80604052505050565b6000611b7f611749565b9050611b8b8282611b44565b919050565b600067ffffffffffffffff821115611bab57611baa611b15565b5b611bb48261185e565b9050602081019050919050565b82818337600083830152505050565b6000611be3611bde84611b90565b611b75565b905082815260208101848484011115611bff57611bfe611b10565b5b611c0a848285611bc1565b509392505050565b600082601f830112611c2757611c26611b0b565b5b8135611c37848260208601611bd0565b91505092915050565b60008060008060808587031215611c5a57611c59611753565b5b6000611c68878288016119a0565b9450506020611c79878288016119a0565b9350506040611c8a878288016118eb565b925050606085013567ffffffffffffffff811115611cab57611caa611758565b5b611cb787828801611c12565b91505092959194509250565b600067ffffffffffffffff821115611cde57611cdd611b15565b5b611ce78261185e565b9050602081019050919050565b6000611d07611d0284611cc3565b611b75565b905082815260208101848484011115611d2357611d22611b10565b5b611d2e848285611bc1565b509392505050565b600082601f830112611d4b57611d4a611b0b565b5b8135611d5b848260208601611cf4565b91505092915050565b60008060408385031215611d7b57611d7a611753565b5b6000611d89858286016119a0565b925050602083013567ffffffffffffffff811115611daa57611da9611758565b5b611db685828601611d36565b9150509250929050565b60008060408385031215611dd757611dd6611753565b5b6000611de5858286016119a0565b9250506020611df6858286016119a0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e4757607f821691505b602082108103611e5a57611e59611e00565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ebc602183611823565b9150611ec782611e60565b604082019050919050565b60006020820190508181036000830152611eeb81611eaf565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000611f4e603e83611823565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000611fe0602e83611823565b9150611feb82611f84565b604082019050919050565b6000602082019050818103600083015261200f81611fd3565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061204c601883611823565b915061205782612016565b602082019050919050565b6000602082019050818103600083015261207b8161203f565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120de602983611823565b91506120e982612082565b604082019050919050565b6000602082019050818103600083015261210d816120d1565b9050919050565b600081905092915050565b600061212a82611818565b6121348185612114565b9350612144818560208601611834565b80840191505092915050565b600061215c828561211f565b9150612168828461211f565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121d0602583611823565b91506121db82612174565b604082019050919050565b600060208201905081810360008301526121ff816121c3565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612262602483611823565b915061226d82612206565b604082019050919050565b6000602082019050818103600083015261229181612255565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122d2826118ca565b91506122dd836118ca565b92508282039050818111156122f5576122f4612298565b5b92915050565b6000612306826118ca565b9150612311836118ca565b925082820190508082111561232957612328612298565b5b92915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612365601983611823565b91506123708261232f565b602082019050919050565b6000602082019050818103600083015261239481612358565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123f7603283611823565b91506124028261239b565b604082019050919050565b60006020820190508181036000830152612426816123ea565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612463602083611823565b915061246e8261242d565b602082019050919050565b6000602082019050818103600083015261249281612456565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006124cf601c83611823565b91506124da82612499565b602082019050919050565b600060208201905081810360008301526124fe816124c2565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000612561602e83611823565b915061256c82612505565b604082019050919050565b6000602082019050818103600083015261259081612554565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026125f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826125bc565b61260386836125bc565b95508019841693508086168417925050509392505050565b6000819050919050565b600061264061263b612636846118ca565b61261b565b6118ca565b9050919050565b6000819050919050565b61265a83612625565b61266e61266682612647565b8484546125c9565b825550505050565b600090565b612683612676565b61268e818484612651565b505050565b5b818110156126b2576126a760008261267b565b600181019050612694565b5050565b601f8211156126f7576126c881612597565b6126d1846125ac565b810160208510156126e0578190505b6126f46126ec856125ac565b830182612693565b50505b505050565b600082821c905092915050565b600061271a600019846008026126fc565b1980831691505092915050565b60006127338383612709565b9150826002028217905092915050565b61274c82611818565b67ffffffffffffffff81111561276557612764611b15565b5b61276f8254611e2f565b61277a8282856126b6565b600060209050601f8311600181146127ad576000841561279b578287015190505b6127a58582612727565b86555061280d565b601f1984166127bb86612597565b60005b828110156127e3578489015182556001820191506020850194506020810190506127be565b8683101561280057848901516127fc601f891682612709565b8355505b6001600288020188555050505b505050505050565b600081519050919050565b600082825260208201905092915050565b600061283c82612815565b6128468185612820565b9350612856818560208601611834565b61285f8161185e565b840191505092915050565b600060808201905061287f600083018761195f565b61288c602083018661195f565b6128996040830185611a75565b81810360608301526128ab8184612831565b905095945050505050565b6000815190506128c581611789565b92915050565b6000602082840312156128e1576128e0611753565b5b60006128ef848285016128b6565b91505092915050565b6000612903826118ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293557612934612298565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297a826118ca565b9150612985836118ca565b92508261299557612994612940565b5b828204905092915050565b60006129ab826118ca565b91506129b6836118ca565b9250826129c6576129c5612940565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220646cbcc4f2750bbafd66aba1e32cf1d9d60ee7b67010014294621c87b820bc3364736f6c63430008100033" - } - } -} diff --git a/fixtures/build/ERC721Token.ts b/fixtures/build/ERC721Token.ts deleted file mode 100644 index b95c73b0..00000000 --- a/fixtures/build/ERC721Token.ts +++ /dev/null @@ -1,174 +0,0 @@ -/* -This file is part of web3.js. - -web3.js is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -web3.js is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with web3.js. If not, see . -*/ -export const ERC721TokenAbi = [ - { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, - { - anonymous: false, - inputs: [ - { indexed: true, internalType: 'address', name: 'owner', type: 'address' }, - { indexed: true, internalType: 'address', name: 'approved', type: 'address' }, - { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { indexed: true, internalType: 'address', name: 'owner', type: 'address' }, - { indexed: true, internalType: 'address', name: 'operator', type: 'address' }, - { indexed: false, internalType: 'bool', name: 'approved', type: 'bool' }, - ], - name: 'ApprovalForAll', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { indexed: true, internalType: 'address', name: 'from', type: 'address' }, - { indexed: true, internalType: 'address', name: 'to', type: 'address' }, - { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' }, - ], - name: 'Transfer', - type: 'event', - }, - { - inputs: [ - { internalType: 'address', name: 'to', type: 'address' }, - { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, - ], - name: 'approve', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'player', type: 'address' }, - { internalType: 'string', name: 'tokenURI', type: 'string' }, - ], - name: 'awardItem', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'address', name: 'owner', type: 'address' }], - name: 'balanceOf', - outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], - name: 'getApproved', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'owner', type: 'address' }, - { internalType: 'address', name: 'operator', type: 'address' }, - ], - name: 'isApprovedForAll', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], - name: 'ownerOf', - outputs: [{ internalType: 'address', name: '', type: 'address' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'from', type: 'address' }, - { internalType: 'address', name: 'to', type: 'address' }, - { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'from', type: 'address' }, - { internalType: 'address', name: 'to', type: 'address' }, - { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, - { internalType: 'bytes', name: 'data', type: 'bytes' }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'operator', type: 'address' }, - { internalType: 'bool', name: 'approved', type: 'bool' }, - ], - name: 'setApprovalForAll', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }], - name: 'supportsInterface', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [], - name: 'symbol', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], - name: 'tokenURI', - outputs: [{ internalType: 'string', name: '', type: 'string' }], - stateMutability: 'view', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'from', type: 'address' }, - { internalType: 'address', name: 'to', type: 'address' }, - { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, - ], - name: 'transferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, -] as const; -export const ERC721TokenBytecode = - '0x60806040523480156200001157600080fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d000000000000000000000000000000000000000000000000000000000081525081600090816200008f919062000324565b508060019081620000a1919062000324565b5050506200040b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012c57607f821691505b602082108103620001425762000141620000e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200016d565b620001b886836200016d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000205620001ff620001f984620001d0565b620001da565b620001d0565b9050919050565b6000819050919050565b6200022183620001e4565b6200023962000230826200020c565b8484546200017a565b825550505050565b600090565b6200025062000241565b6200025d81848462000216565b505050565b5b8181101562000285576200027960008262000246565b60018101905062000263565b5050565b601f821115620002d4576200029e8162000148565b620002a9846200015d565b81016020851015620002b9578190505b620002d1620002c8856200015d565b83018262000262565b50505b505050565b600082821c905092915050565b6000620002f960001984600802620002d9565b1980831691505092915050565b6000620003148383620002e6565b9150826002028217905092915050565b6200032f82620000aa565b67ffffffffffffffff8111156200034b576200034a620000b5565b5b62000357825462000113565b6200036482828562000289565b600060209050601f8311600181146200039c576000841562000387578287015190505b62000393858262000306565b86555062000403565b601f198416620003ac8662000148565b60005b82811015620003d657848901518255600182019150602085019450602081019050620003af565b86831015620003f65784890151620003f2601f891682620002e6565b8355505b6001600288020188555050505b505050505050565b612a36806200041b6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063b88d4fde11610066578063b88d4fde1461025b578063c87b56dd14610277578063cf378343146102a7578063e985e9c5146102d7576100ea565b806370a08231146101f157806395d89b4114610221578063a22cb4651461023f576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b610109600480360381019061010491906117b5565b610307565b60405161011691906117fd565b60405180910390f35b6101276103e9565b60405161013491906118a8565b60405180910390f35b61015760048036038101906101529190611900565b61047b565b604051610164919061196e565b60405180910390f35b610187600480360381019061018291906119b5565b6104c1565b005b6101a3600480360381019061019e91906119f5565b6105d8565b005b6101bf60048036038101906101ba91906119f5565b610638565b005b6101db60048036038101906101d69190611900565b610658565b6040516101e8919061196e565b60405180910390f35b61020b60048036038101906102069190611a48565b610709565b6040516102189190611a84565b60405180910390f35b6102296107c0565b60405161023691906118a8565b60405180910390f35b61025960048036038101906102549190611acb565b610852565b005b61027560048036038101906102709190611c40565b610868565b005b610291600480360381019061028c9190611900565b6108ca565b60405161029e91906118a8565b60405180910390f35b6102c160048036038101906102bc9190611d64565b6109dc565b6040516102ce9190611a84565b60405180910390f35b6102f160048036038101906102ec9190611dc0565b610a13565b6040516102fe91906117fd565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e182610aa7565b5b9050919050565b6060600080546103f890611e2f565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611e2f565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610b11565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104cc82610658565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361053c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053390611ed2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661055b610b5c565b73ffffffffffffffffffffffffffffffffffffffff16148061058a575061058981610584610b5c565b610a13565b5b6105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c090611f64565b60405180910390fd5b6105d38383610b64565b505050565b6105e96105e3610b5c565b82610c1d565b610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f90611ff6565b60405180910390fd5b610633838383610cb2565b505050565b61065383838360405180602001604052806000815250610868565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f790612062565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610779576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610770906120f4565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107cf90611e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546107fb90611e2f565b80156108485780601f1061081d57610100808354040283529160200191610848565b820191906000526020600020905b81548152906001019060200180831161082b57829003601f168201915b5050505050905090565b61086461085d610b5c565b8383610f18565b5050565b610879610873610b5c565b83610c1d565b6108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108af90611ff6565b60405180910390fd5b6108c484848484611084565b50505050565b60606108d582610b11565b60006006600084815260200190815260200160002080546108f590611e2f565b80601f016020809104026020016040519081016040528092919081815260200182805461092190611e2f565b801561096e5780601f106109435761010080835404028352916020019161096e565b820191906000526020600020905b81548152906001019060200180831161095157829003601f168201915b50505050509050600061097f6110e0565b905060008151036109945781925050506109d7565b6000825111156109c95780826040516020016109b1929190612150565b604051602081830303815290604052925050506109d7565b6109d2846110f7565b925050505b919050565b6000806109e9600761115f565b90506109f5848261116d565b6109ff8184611346565b610a0960076113b3565b8091505092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610b1a816113c9565b610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090612062565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610bd783610658565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610c2983610658565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610c6b5750610c6a8185610a13565b5b80610ca957508373ffffffffffffffffffffffffffffffffffffffff16610c918461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610cd282610658565b73ffffffffffffffffffffffffffffffffffffffff1614610d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1f906121e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e90612278565b60405180910390fd5b610da2838383611435565b610dad600082610b64565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610dfd91906122c7565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e5491906122fb565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610f1383838361143a565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d9061237b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161107791906117fd565b60405180910390a3505050565b61108f848484610cb2565b61109b8484848461143f565b6110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d19061240d565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606061110282610b11565b600061110c6110e0565b9050600081511161112c5760405180602001604052806000815250611157565b80611136846115c6565b604051602001611147929190612150565b6040516020818303038152906040525b915050919050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390612479565b60405180910390fd5b6111e5816113c9565b15611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c906124e5565b60405180910390fd5b61123160008383611435565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461128191906122fb565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46113426000838361143a565b5050565b61134f826113c9565b61138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612577565b60405180910390fd5b806006600084815260200190815260200160002090816113ae9190612743565b505050565b6001816000016000828254019250508190555050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b505050565b505050565b60006114608473ffffffffffffffffffffffffffffffffffffffff16611726565b156115b9578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611489610b5c565b8786866040518563ffffffff1660e01b81526004016114ab949392919061286a565b6020604051808303816000875af19250505080156114e757506040513d601f19601f820116820180604052508101906114e491906128cb565b60015b611569573d8060008114611517576040519150601f19603f3d011682016040523d82523d6000602084013e61151c565b606091505b506000815103611561576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115589061240d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506115be565b600190505b949350505050565b60606000820361160d576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611721565b600082905060005b6000821461163f578080611628906128f8565b915050600a82611638919061296f565b9150611615565b60008167ffffffffffffffff81111561165b5761165a611b15565b5b6040519080825280601f01601f19166020018201604052801561168d5781602001600182028036833780820191505090505b5090505b6000851461171a576001826116a691906122c7565b9150600a856116b591906129a0565b60306116c191906122fb565b60f81b8183815181106116d7576116d66129d1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611713919061296f565b9450611691565b8093505050505b919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117928161175d565b811461179d57600080fd5b50565b6000813590506117af81611789565b92915050565b6000602082840312156117cb576117ca611753565b5b60006117d9848285016117a0565b91505092915050565b60008115159050919050565b6117f7816117e2565b82525050565b600060208201905061181260008301846117ee565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611852578082015181840152602081019050611837565b60008484015250505050565b6000601f19601f8301169050919050565b600061187a82611818565b6118848185611823565b9350611894818560208601611834565b61189d8161185e565b840191505092915050565b600060208201905081810360008301526118c2818461186f565b905092915050565b6000819050919050565b6118dd816118ca565b81146118e857600080fd5b50565b6000813590506118fa816118d4565b92915050565b60006020828403121561191657611915611753565b5b6000611924848285016118eb565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119588261192d565b9050919050565b6119688161194d565b82525050565b6000602082019050611983600083018461195f565b92915050565b6119928161194d565b811461199d57600080fd5b50565b6000813590506119af81611989565b92915050565b600080604083850312156119cc576119cb611753565b5b60006119da858286016119a0565b92505060206119eb858286016118eb565b9150509250929050565b600080600060608486031215611a0e57611a0d611753565b5b6000611a1c868287016119a0565b9350506020611a2d868287016119a0565b9250506040611a3e868287016118eb565b9150509250925092565b600060208284031215611a5e57611a5d611753565b5b6000611a6c848285016119a0565b91505092915050565b611a7e816118ca565b82525050565b6000602082019050611a996000830184611a75565b92915050565b611aa8816117e2565b8114611ab357600080fd5b50565b600081359050611ac581611a9f565b92915050565b60008060408385031215611ae257611ae1611753565b5b6000611af0858286016119a0565b9250506020611b0185828601611ab6565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b4d8261185e565b810181811067ffffffffffffffff82111715611b6c57611b6b611b15565b5b80604052505050565b6000611b7f611749565b9050611b8b8282611b44565b919050565b600067ffffffffffffffff821115611bab57611baa611b15565b5b611bb48261185e565b9050602081019050919050565b82818337600083830152505050565b6000611be3611bde84611b90565b611b75565b905082815260208101848484011115611bff57611bfe611b10565b5b611c0a848285611bc1565b509392505050565b600082601f830112611c2757611c26611b0b565b5b8135611c37848260208601611bd0565b91505092915050565b60008060008060808587031215611c5a57611c59611753565b5b6000611c68878288016119a0565b9450506020611c79878288016119a0565b9350506040611c8a878288016118eb565b925050606085013567ffffffffffffffff811115611cab57611caa611758565b5b611cb787828801611c12565b91505092959194509250565b600067ffffffffffffffff821115611cde57611cdd611b15565b5b611ce78261185e565b9050602081019050919050565b6000611d07611d0284611cc3565b611b75565b905082815260208101848484011115611d2357611d22611b10565b5b611d2e848285611bc1565b509392505050565b600082601f830112611d4b57611d4a611b0b565b5b8135611d5b848260208601611cf4565b91505092915050565b60008060408385031215611d7b57611d7a611753565b5b6000611d89858286016119a0565b925050602083013567ffffffffffffffff811115611daa57611da9611758565b5b611db685828601611d36565b9150509250929050565b60008060408385031215611dd757611dd6611753565b5b6000611de5858286016119a0565b9250506020611df6858286016119a0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e4757607f821691505b602082108103611e5a57611e59611e00565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ebc602183611823565b9150611ec782611e60565b604082019050919050565b60006020820190508181036000830152611eeb81611eaf565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000611f4e603e83611823565b9150611f5982611ef2565b604082019050919050565b60006020820190508181036000830152611f7d81611f41565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000611fe0602e83611823565b9150611feb82611f84565b604082019050919050565b6000602082019050818103600083015261200f81611fd3565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061204c601883611823565b915061205782612016565b602082019050919050565b6000602082019050818103600083015261207b8161203f565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006120de602983611823565b91506120e982612082565b604082019050919050565b6000602082019050818103600083015261210d816120d1565b9050919050565b600081905092915050565b600061212a82611818565b6121348185612114565b9350612144818560208601611834565b80840191505092915050565b600061215c828561211f565b9150612168828461211f565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006121d0602583611823565b91506121db82612174565b604082019050919050565b600060208201905081810360008301526121ff816121c3565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612262602483611823565b915061226d82612206565b604082019050919050565b6000602082019050818103600083015261229181612255565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006122d2826118ca565b91506122dd836118ca565b92508282039050818111156122f5576122f4612298565b5b92915050565b6000612306826118ca565b9150612311836118ca565b925082820190508082111561232957612328612298565b5b92915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612365601983611823565b91506123708261232f565b602082019050919050565b6000602082019050818103600083015261239481612358565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006123f7603283611823565b91506124028261239b565b604082019050919050565b60006020820190508181036000830152612426816123ea565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612463602083611823565b915061246e8261242d565b602082019050919050565b6000602082019050818103600083015261249281612456565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006124cf601c83611823565b91506124da82612499565b602082019050919050565b600060208201905081810360008301526124fe816124c2565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000612561602e83611823565b915061256c82612505565b604082019050919050565b6000602082019050818103600083015261259081612554565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026125f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826125bc565b61260386836125bc565b95508019841693508086168417925050509392505050565b6000819050919050565b600061264061263b612636846118ca565b61261b565b6118ca565b9050919050565b6000819050919050565b61265a83612625565b61266e61266682612647565b8484546125c9565b825550505050565b600090565b612683612676565b61268e818484612651565b505050565b5b818110156126b2576126a760008261267b565b600181019050612694565b5050565b601f8211156126f7576126c881612597565b6126d1846125ac565b810160208510156126e0578190505b6126f46126ec856125ac565b830182612693565b50505b505050565b600082821c905092915050565b600061271a600019846008026126fc565b1980831691505092915050565b60006127338383612709565b9150826002028217905092915050565b61274c82611818565b67ffffffffffffffff81111561276557612764611b15565b5b61276f8254611e2f565b61277a8282856126b6565b600060209050601f8311600181146127ad576000841561279b578287015190505b6127a58582612727565b86555061280d565b601f1984166127bb86612597565b60005b828110156127e3578489015182556001820191506020850194506020810190506127be565b8683101561280057848901516127fc601f891682612709565b8355505b6001600288020188555050505b505050505050565b600081519050919050565b600082825260208201905092915050565b600061283c82612815565b6128468185612820565b9350612856818560208601611834565b61285f8161185e565b840191505092915050565b600060808201905061287f600083018761195f565b61288c602083018661195f565b6128996040830185611a75565b81810360608301526128ab8184612831565b905095945050505050565b6000815190506128c581611789565b92915050565b6000602082840312156128e1576128e0611753565b5b60006128ef848285016128b6565b91505092915050565b6000612903826118ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293557612934612298565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297a826118ca565b9150612985836118ca565b92508261299557612994612940565b5b828204905092915050565b60006129ab826118ca565b91506129b6836118ca565b9250826129c6576129c5612940565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220646cbcc4f2750bbafd66aba1e32cf1d9d60ee7b67010014294621c87b820bc3364736f6c63430008100033'; diff --git a/fixtures/build/ErrorsContract.json b/fixtures/build/ErrorsContract.json index d6717711..d8328e33 100644 --- a/fixtures/build/ErrorsContract.json +++ b/fixtures/build/ErrorsContract.json @@ -38,7 +38,7 @@ ], "zvm": { "bytecode": { - "object": "608060405260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005157600080fd5b5061029e806100616000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063593b0df41461003b5780638ec6371414610045575b600080fd5b61004361004f565b005b61004d6100fd565b005b600260011015610094576040517f8d6ea8be00000000000000000000000000000000000000000000000000000000815260040161008b90610248565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156100fa573d6000803e3d6000fd5b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610182576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156101e8573d6000803e3d6000fd5b50565b600082825260208201905092915050565b7f7265766572746564207573696e6720637573746f6d204572726f720000000000600082015250565b6000610232601b836101eb565b915061023d826101fc565b602082019050919050565b6000602082019050818103600083015261026181610225565b905091905056fea264697066735822122044b9ec500058314fc2322d787ecf6c99c1470d0ace05668c811cfe70fdd05c2764736f6c63430008100033" + "object": "60806040525f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561004e575f80fd5b5061028d8061005c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063593b0df4146100385780638ec6371414610042575b5f80fd5b61004061004c565b005b61004a6100f6565b005b600260011015610091576040517f8d6ea8be00000000000000000000000000000000000000000000000000000000815260040161008890610239565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156100f3573d5f803e3d5ffd5b50565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461017a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156101dc573d5f803e3d5ffd5b50565b5f82825260208201905092915050565b7f7265766572746564207573696e6720637573746f6d204572726f7200000000005f82015250565b5f610223601b836101df565b915061022e826101ef565b602082019050919050565b5f6020820190508181035f83015261025081610217565b905091905056fea264697066735822122057a99e26f20ecc70c84ffffdd7cd6e23f0c465dcee92f32c9db27c46ef39b3d96468797063430000020033" } } } diff --git a/fixtures/build/ErrorsContract.ts b/fixtures/build/ErrorsContract.ts index 06dfd115..b737c4c4 100644 --- a/fixtures/build/ErrorsContract.ts +++ b/fixtures/build/ErrorsContract.ts @@ -38,4 +38,4 @@ export const ErrorsContractAbi = [ }, ] as const; export const ErrorsContractBytecode = - '0x608060405260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561005157600080fd5b5061029e806100616000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063593b0df41461003b5780638ec6371414610045575b600080fd5b61004361004f565b005b61004d6100fd565b005b600260011015610094576040517f8d6ea8be00000000000000000000000000000000000000000000000000000000815260040161008b90610248565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156100fa573d6000803e3d6000fd5b50565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610182576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156101e8573d6000803e3d6000fd5b50565b600082825260208201905092915050565b7f7265766572746564207573696e6720637573746f6d204572726f720000000000600082015250565b6000610232601b836101eb565b915061023d826101fc565b602082019050919050565b6000602082019050818103600083015261026181610225565b905091905056fea264697066735822122044b9ec500058314fc2322d787ecf6c99c1470d0ace05668c811cfe70fdd05c2764736f6c63430008100033'; + '0x60806040525f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561004e575f80fd5b5061028d8061005c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063593b0df4146100385780638ec6371414610042575b5f80fd5b61004061004c565b005b61004a6100f6565b005b600260011015610091576040517f8d6ea8be00000000000000000000000000000000000000000000000000000000815260040161008890610239565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156100f3573d5f803e3d5ffd5b50565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461017a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156101dc573d5f803e3d5ffd5b50565b5f82825260208201905092915050565b7f7265766572746564207573696e6720637573746f6d204572726f7200000000005f82015250565b5f610223601b836101df565b915061022e826101ef565b602082019050919050565b5f6020820190508181035f83015261025081610217565b905091905056fea264697066735822122057a99e26f20ecc70c84ffffdd7cd6e23f0c465dcee92f32c9db27c46ef39b3d96468797063430000020033'; diff --git a/fixtures/build/Greeter.json b/fixtures/build/Greeter.json index 80279e60..c8bd67a7 100644 --- a/fixtures/build/Greeter.json +++ b/fixtures/build/Greeter.json @@ -90,7 +90,7 @@ ], "zvm": { "bytecode": { - "object": "60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c63430008100033" + "object": "608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da56468797063430000020033" } } } diff --git a/fixtures/build/Greeter.ts b/fixtures/build/Greeter.ts index 3ce6ab1b..3a9a9ffa 100644 --- a/fixtures/build/Greeter.ts +++ b/fixtures/build/Greeter.ts @@ -55,4 +55,4 @@ export const GreeterAbi = [ }, ] as const; export const GreeterBytecode = - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c63430008100033'; + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da56468797063430000020033'; diff --git a/fixtures/build/MsgSender.json b/fixtures/build/MsgSender.json index 1bd11b5b..867990f5 100644 --- a/fixtures/build/MsgSender.json +++ b/fixtures/build/MsgSender.json @@ -64,7 +64,7 @@ ], "zvm": { "bytecode": { - "object": "60806040523480156200001157600080fd5b5060405162000d7538038062000d758339818101604052810190620000379190620001e3565b80600090816200004891906200047f565b505062000566565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000b9826200006e565b810181811067ffffffffffffffff82111715620000db57620000da6200007f565b5b80604052505050565b6000620000f062000050565b9050620000fe8282620000ae565b919050565b600067ffffffffffffffff8211156200012157620001206200007f565b5b6200012c826200006e565b9050602081019050919050565b60005b83811015620001595780820151818401526020810190506200013c565b60008484015250505050565b60006200017c620001768462000103565b620000e4565b9050828152602081018484840111156200019b576200019a62000069565b5b620001a884828562000139565b509392505050565b600082601f830112620001c857620001c762000064565b5b8151620001da84826020860162000165565b91505092915050565b600060208284031215620001fc57620001fb6200005a565b5b600082015167ffffffffffffffff8111156200021d576200021c6200005f565b5b6200022b84828501620001b0565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028757607f821691505b6020821081036200029d576200029c6200023f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002c8565b620003138683620002c8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003606200035a62000354846200032b565b62000335565b6200032b565b9050919050565b6000819050919050565b6200037c836200033f565b620003946200038b8262000367565b848454620002d5565b825550505050565b600090565b620003ab6200039c565b620003b881848462000371565b505050565b5b81811015620003e057620003d4600082620003a1565b600181019050620003be565b5050565b601f8211156200042f57620003f981620002a3565b6200040484620002b8565b8101602085101562000414578190505b6200042c6200042385620002b8565b830182620003bd565b50505b505050565b600082821c905092915050565b6000620004546000198460080262000434565b1980831691505092915050565b60006200046f838362000441565b9150826002028217905092915050565b6200048a8262000234565b67ffffffffffffffff811115620004a657620004a56200007f565b5b620004b282546200026e565b620004bf828285620003e4565b600060209050601f831160018114620004f75760008415620004e2578287015190505b620004ee858262000461565b8655506200055e565b601f1984166200050786620002a3565b60005b8281101562000531578489015182556001820191506020850194506020810190506200050a565b868310156200055157848901516200054d601f89168262000441565b8355505b6001600288020188555050505b505050505050565b6107ff80620005766000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063315e2f1b14610046578063d5ce338914610077578063fb8f0f5914610095575b600080fd5b610060600480360381019061005b9190610350565b6100b3565b60405161006e929190610433565b60405180910390f35b61007f610160565b60405161008c91906104a4565b60405180910390f35b61009d610168565b6040516100aa91906104bf565b60405180910390f35b6000606082600090816100c691906106f7565b50600160008080546100d790610510565b80601f016020809104026020016040519081016040528092919081815260200182805461010390610510565b80156101505780601f1061012557610100808354040283529160200191610150565b820191906000526020600020905b81548152906001019060200180831161013357829003601f168201915b5050505050905091509150915091565b600033905090565b6000805461017590610510565b80601f01602080910402602001604051908101604052809291908181526020018280546101a190610510565b80156101ee5780601f106101c3576101008083540402835291602001916101ee565b820191906000526020600020905b8154815290600101906020018083116101d157829003601f168201915b505050505081565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61025d82610214565b810181811067ffffffffffffffff8211171561027c5761027b610225565b5b80604052505050565b600061028f6101f6565b905061029b8282610254565b919050565b600067ffffffffffffffff8211156102bb576102ba610225565b5b6102c482610214565b9050602081019050919050565b82818337600083830152505050565b60006102f36102ee846102a0565b610285565b90508281526020810184848401111561030f5761030e61020f565b5b61031a8482856102d1565b509392505050565b600082601f8301126103375761033661020a565b5b81356103478482602086016102e0565b91505092915050565b60006020828403121561036657610365610200565b5b600082013567ffffffffffffffff81111561038457610383610205565b5b61039084828501610322565b91505092915050565b60008115159050919050565b6103ae81610399565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103ee5780820151818401526020810190506103d3565b60008484015250505050565b6000610405826103b4565b61040f81856103bf565b935061041f8185602086016103d0565b61042881610214565b840191505092915050565b600060408201905061044860008301856103a5565b818103602083015261045a81846103fa565b90509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061048e82610463565b9050919050565b61049e81610483565b82525050565b60006020820190506104b96000830184610495565b92915050565b600060208201905081810360008301526104d981846103fa565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061052857607f821691505b60208210810361053b5761053a6104e1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026105a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610566565b6105ad8683610566565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006105f46105ef6105ea846105c5565b6105cf565b6105c5565b9050919050565b6000819050919050565b61060e836105d9565b61062261061a826105fb565b848454610573565b825550505050565b600090565b61063761062a565b610642818484610605565b505050565b5b818110156106665761065b60008261062f565b600181019050610648565b5050565b601f8211156106ab5761067c81610541565b61068584610556565b81016020851015610694578190505b6106a86106a085610556565b830182610647565b50505b505050565b600082821c905092915050565b60006106ce600019846008026106b0565b1980831691505092915050565b60006106e783836106bd565b9150826002028217905092915050565b610700826103b4565b67ffffffffffffffff81111561071957610718610225565b5b6107238254610510565b61072e82828561066a565b600060209050601f831160018114610761576000841561074f578287015190505b61075985826106db565b8655506107c1565b601f19841661076f86610541565b60005b8281101561079757848901518255600182019150602085019450602081019050610772565b868310156107b457848901516107b0601f8916826106bd565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f5b52b9777b17d7a9f963ebe1aebfd28e8dbda53903b34c06791e2ba5acd46d964736f6c63430008100033" + "object": "608060405234801562000010575f80fd5b5060405162000d0b38038062000d0b8339818101604052810190620000369190620001d3565b805f908162000046919062000459565b50506200053d565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000af8262000067565b810181811067ffffffffffffffff82111715620000d157620000d062000077565b5b80604052505050565b5f620000e56200004e565b9050620000f38282620000a4565b919050565b5f67ffffffffffffffff82111562000115576200011462000077565b5b620001208262000067565b9050602081019050919050565b5f5b838110156200014c5780820151818401526020810190506200012f565b5f8484015250505050565b5f6200016d6200016784620000f8565b620000da565b9050828152602081018484840111156200018c576200018b62000063565b5b620001998482856200012d565b509392505050565b5f82601f830112620001b857620001b76200005f565b5b8151620001ca84826020860162000157565b91505092915050565b5f60208284031215620001eb57620001ea62000057565b5b5f82015167ffffffffffffffff8111156200020b576200020a6200005b565b5b6200021984828501620001a1565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027157607f821691505b6020821081036200028757620002866200022c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002ae565b620002f78683620002ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003416200033b62000335846200030f565b62000318565b6200030f565b9050919050565b5f819050919050565b6200035c8362000321565b620003746200036b8262000348565b848454620002ba565b825550505050565b5f90565b6200038a6200037c565b6200039781848462000351565b505050565b5b81811015620003be57620003b25f8262000380565b6001810190506200039d565b5050565b601f8211156200040d57620003d7816200028d565b620003e2846200029f565b81016020851015620003f2578190505b6200040a62000401856200029f565b8301826200039c565b50505b505050565b5f82821c905092915050565b5f6200042f5f198460080262000412565b1980831691505092915050565b5f6200044983836200041e565b9150826002028217905092915050565b620004648262000222565b67ffffffffffffffff81111562000480576200047f62000077565b5b6200048c825462000259565b62000499828285620003c2565b5f60209050601f831160018114620004cf575f8415620004ba578287015190505b620004c685826200043c565b86555062000535565b601f198416620004df866200028d565b5f5b828110156200050857848901518255600182019150602085019450602081019050620004e1565b8683101562000528578489015162000524601f8916826200041e565b8355505b6001600288020188555050505b505050505050565b6107c0806200054b5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063315e2f1b14610043578063d5ce338914610074578063fb8f0f5914610092575b5f80fd5b61005d60048036038101906100589190610337565b6100b0565b60405161006b929190610412565b60405180910390f35b61007c610158565b604051610089919061047f565b60405180910390f35b61009a61015f565b6040516100a79190610498565b60405180910390f35b5f6060825f90816100c191906106bb565b5060015f8080546100d1906104e5565b80601f01602080910402602001604051908101604052809291908181526020018280546100fd906104e5565b80156101485780601f1061011f57610100808354040283529160200191610148565b820191905f5260205f20905b81548152906001019060200180831161012b57829003601f168201915b5050505050905091509150915091565b5f33905090565b5f805461016b906104e5565b80601f0160208091040260200160405190810160405280929190818152602001828054610197906104e5565b80156101e25780601f106101b9576101008083540402835291602001916101e2565b820191905f5260205f20905b8154815290600101906020018083116101c557829003601f168201915b505050505081565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61024982610203565b810181811067ffffffffffffffff8211171561026857610267610213565b5b80604052505050565b5f61027a6101ea565b90506102868282610240565b919050565b5f67ffffffffffffffff8211156102a5576102a4610213565b5b6102ae82610203565b9050602081019050919050565b828183375f83830152505050565b5f6102db6102d68461028b565b610271565b9050828152602081018484840111156102f7576102f66101ff565b5b6103028482856102bb565b509392505050565b5f82601f83011261031e5761031d6101fb565b5b813561032e8482602086016102c9565b91505092915050565b5f6020828403121561034c5761034b6101f3565b5b5f82013567ffffffffffffffff811115610369576103686101f7565b5b6103758482850161030a565b91505092915050565b5f8115159050919050565b6103928161037e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156103cf5780820151818401526020810190506103b4565b5f8484015250505050565b5f6103e482610398565b6103ee81856103a2565b93506103fe8185602086016103b2565b61040781610203565b840191505092915050565b5f6040820190506104255f830185610389565b818103602083015261043781846103da565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61046982610440565b9050919050565b6104798161045f565b82525050565b5f6020820190506104925f830184610470565b92915050565b5f6020820190508181035f8301526104b081846103da565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104fc57607f821691505b60208210810361050f5761050e6104b8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610536565b61057b8683610536565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105bf6105ba6105b584610593565b61059c565b610593565b9050919050565b5f819050919050565b6105d8836105a5565b6105ec6105e4826105c6565b848454610542565b825550505050565b5f90565b6106006105f4565b61060b8184846105cf565b505050565b5b8181101561062e576106235f826105f8565b600181019050610611565b5050565b601f8211156106735761064481610515565b61064d84610527565b8101602085101561065c578190505b61067061066885610527565b830182610610565b50505b505050565b5f82821c905092915050565b5f6106935f1984600802610678565b1980831691505092915050565b5f6106ab8383610684565b9150826002028217905092915050565b6106c482610398565b67ffffffffffffffff8111156106dd576106dc610213565b5b6106e782546104e5565b6106f2828285610632565b5f60209050601f831160018114610723575f8415610711578287015190505b61071b85826106a0565b865550610782565b601f19841661073186610515565b5f5b8281101561075857848901518255600182019150602085019450602081019050610733565b868310156107755784890151610771601f891682610684565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f2d700c2e7e9858d966931346c180d7b48be89275c7a16c03a3f05e6337032ea6468797063430000020033" } } } diff --git a/fixtures/build/MsgSender.ts b/fixtures/build/MsgSender.ts index a3020cdf..eb686585 100644 --- a/fixtures/build/MsgSender.ts +++ b/fixtures/build/MsgSender.ts @@ -46,4 +46,4 @@ export const MsgSenderAbi = [ }, ] as const; export const MsgSenderBytecode = - '0x60806040523480156200001157600080fd5b5060405162000d7538038062000d758339818101604052810190620000379190620001e3565b80600090816200004891906200047f565b505062000566565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000b9826200006e565b810181811067ffffffffffffffff82111715620000db57620000da6200007f565b5b80604052505050565b6000620000f062000050565b9050620000fe8282620000ae565b919050565b600067ffffffffffffffff8211156200012157620001206200007f565b5b6200012c826200006e565b9050602081019050919050565b60005b83811015620001595780820151818401526020810190506200013c565b60008484015250505050565b60006200017c620001768462000103565b620000e4565b9050828152602081018484840111156200019b576200019a62000069565b5b620001a884828562000139565b509392505050565b600082601f830112620001c857620001c762000064565b5b8151620001da84826020860162000165565b91505092915050565b600060208284031215620001fc57620001fb6200005a565b5b600082015167ffffffffffffffff8111156200021d576200021c6200005f565b5b6200022b84828501620001b0565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028757607f821691505b6020821081036200029d576200029c6200023f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002c8565b620003138683620002c8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003606200035a62000354846200032b565b62000335565b6200032b565b9050919050565b6000819050919050565b6200037c836200033f565b620003946200038b8262000367565b848454620002d5565b825550505050565b600090565b620003ab6200039c565b620003b881848462000371565b505050565b5b81811015620003e057620003d4600082620003a1565b600181019050620003be565b5050565b601f8211156200042f57620003f981620002a3565b6200040484620002b8565b8101602085101562000414578190505b6200042c6200042385620002b8565b830182620003bd565b50505b505050565b600082821c905092915050565b6000620004546000198460080262000434565b1980831691505092915050565b60006200046f838362000441565b9150826002028217905092915050565b6200048a8262000234565b67ffffffffffffffff811115620004a657620004a56200007f565b5b620004b282546200026e565b620004bf828285620003e4565b600060209050601f831160018114620004f75760008415620004e2578287015190505b620004ee858262000461565b8655506200055e565b601f1984166200050786620002a3565b60005b8281101562000531578489015182556001820191506020850194506020810190506200050a565b868310156200055157848901516200054d601f89168262000441565b8355505b6001600288020188555050505b505050505050565b6107ff80620005766000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063315e2f1b14610046578063d5ce338914610077578063fb8f0f5914610095575b600080fd5b610060600480360381019061005b9190610350565b6100b3565b60405161006e929190610433565b60405180910390f35b61007f610160565b60405161008c91906104a4565b60405180910390f35b61009d610168565b6040516100aa91906104bf565b60405180910390f35b6000606082600090816100c691906106f7565b50600160008080546100d790610510565b80601f016020809104026020016040519081016040528092919081815260200182805461010390610510565b80156101505780601f1061012557610100808354040283529160200191610150565b820191906000526020600020905b81548152906001019060200180831161013357829003601f168201915b5050505050905091509150915091565b600033905090565b6000805461017590610510565b80601f01602080910402602001604051908101604052809291908181526020018280546101a190610510565b80156101ee5780601f106101c3576101008083540402835291602001916101ee565b820191906000526020600020905b8154815290600101906020018083116101d157829003601f168201915b505050505081565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61025d82610214565b810181811067ffffffffffffffff8211171561027c5761027b610225565b5b80604052505050565b600061028f6101f6565b905061029b8282610254565b919050565b600067ffffffffffffffff8211156102bb576102ba610225565b5b6102c482610214565b9050602081019050919050565b82818337600083830152505050565b60006102f36102ee846102a0565b610285565b90508281526020810184848401111561030f5761030e61020f565b5b61031a8482856102d1565b509392505050565b600082601f8301126103375761033661020a565b5b81356103478482602086016102e0565b91505092915050565b60006020828403121561036657610365610200565b5b600082013567ffffffffffffffff81111561038457610383610205565b5b61039084828501610322565b91505092915050565b60008115159050919050565b6103ae81610399565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103ee5780820151818401526020810190506103d3565b60008484015250505050565b6000610405826103b4565b61040f81856103bf565b935061041f8185602086016103d0565b61042881610214565b840191505092915050565b600060408201905061044860008301856103a5565b818103602083015261045a81846103fa565b90509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061048e82610463565b9050919050565b61049e81610483565b82525050565b60006020820190506104b96000830184610495565b92915050565b600060208201905081810360008301526104d981846103fa565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061052857607f821691505b60208210810361053b5761053a6104e1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026105a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610566565b6105ad8683610566565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006105f46105ef6105ea846105c5565b6105cf565b6105c5565b9050919050565b6000819050919050565b61060e836105d9565b61062261061a826105fb565b848454610573565b825550505050565b600090565b61063761062a565b610642818484610605565b505050565b5b818110156106665761065b60008261062f565b600181019050610648565b5050565b601f8211156106ab5761067c81610541565b61068584610556565b81016020851015610694578190505b6106a86106a085610556565b830182610647565b50505b505050565b600082821c905092915050565b60006106ce600019846008026106b0565b1980831691505092915050565b60006106e783836106bd565b9150826002028217905092915050565b610700826103b4565b67ffffffffffffffff81111561071957610718610225565b5b6107238254610510565b61072e82828561066a565b600060209050601f831160018114610761576000841561074f578287015190505b61075985826106db565b8655506107c1565b601f19841661076f86610541565b60005b8281101561079757848901518255600182019150602085019450602081019050610772565b868310156107b457848901516107b0601f8916826106bd565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f5b52b9777b17d7a9f963ebe1aebfd28e8dbda53903b34c06791e2ba5acd46d964736f6c63430008100033'; + '0x608060405234801562000010575f80fd5b5060405162000d0b38038062000d0b8339818101604052810190620000369190620001d3565b805f908162000046919062000459565b50506200053d565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000af8262000067565b810181811067ffffffffffffffff82111715620000d157620000d062000077565b5b80604052505050565b5f620000e56200004e565b9050620000f38282620000a4565b919050565b5f67ffffffffffffffff82111562000115576200011462000077565b5b620001208262000067565b9050602081019050919050565b5f5b838110156200014c5780820151818401526020810190506200012f565b5f8484015250505050565b5f6200016d6200016784620000f8565b620000da565b9050828152602081018484840111156200018c576200018b62000063565b5b620001998482856200012d565b509392505050565b5f82601f830112620001b857620001b76200005f565b5b8151620001ca84826020860162000157565b91505092915050565b5f60208284031215620001eb57620001ea62000057565b5b5f82015167ffffffffffffffff8111156200020b576200020a6200005b565b5b6200021984828501620001a1565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027157607f821691505b6020821081036200028757620002866200022c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002ae565b620002f78683620002ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003416200033b62000335846200030f565b62000318565b6200030f565b9050919050565b5f819050919050565b6200035c8362000321565b620003746200036b8262000348565b848454620002ba565b825550505050565b5f90565b6200038a6200037c565b6200039781848462000351565b505050565b5b81811015620003be57620003b25f8262000380565b6001810190506200039d565b5050565b601f8211156200040d57620003d7816200028d565b620003e2846200029f565b81016020851015620003f2578190505b6200040a62000401856200029f565b8301826200039c565b50505b505050565b5f82821c905092915050565b5f6200042f5f198460080262000412565b1980831691505092915050565b5f6200044983836200041e565b9150826002028217905092915050565b620004648262000222565b67ffffffffffffffff81111562000480576200047f62000077565b5b6200048c825462000259565b62000499828285620003c2565b5f60209050601f831160018114620004cf575f8415620004ba578287015190505b620004c685826200043c565b86555062000535565b601f198416620004df866200028d565b5f5b828110156200050857848901518255600182019150602085019450602081019050620004e1565b8683101562000528578489015162000524601f8916826200041e565b8355505b6001600288020188555050505b505050505050565b6107c0806200054b5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063315e2f1b14610043578063d5ce338914610074578063fb8f0f5914610092575b5f80fd5b61005d60048036038101906100589190610337565b6100b0565b60405161006b929190610412565b60405180910390f35b61007c610158565b604051610089919061047f565b60405180910390f35b61009a61015f565b6040516100a79190610498565b60405180910390f35b5f6060825f90816100c191906106bb565b5060015f8080546100d1906104e5565b80601f01602080910402602001604051908101604052809291908181526020018280546100fd906104e5565b80156101485780601f1061011f57610100808354040283529160200191610148565b820191905f5260205f20905b81548152906001019060200180831161012b57829003601f168201915b5050505050905091509150915091565b5f33905090565b5f805461016b906104e5565b80601f0160208091040260200160405190810160405280929190818152602001828054610197906104e5565b80156101e25780601f106101b9576101008083540402835291602001916101e2565b820191905f5260205f20905b8154815290600101906020018083116101c557829003601f168201915b505050505081565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61024982610203565b810181811067ffffffffffffffff8211171561026857610267610213565b5b80604052505050565b5f61027a6101ea565b90506102868282610240565b919050565b5f67ffffffffffffffff8211156102a5576102a4610213565b5b6102ae82610203565b9050602081019050919050565b828183375f83830152505050565b5f6102db6102d68461028b565b610271565b9050828152602081018484840111156102f7576102f66101ff565b5b6103028482856102bb565b509392505050565b5f82601f83011261031e5761031d6101fb565b5b813561032e8482602086016102c9565b91505092915050565b5f6020828403121561034c5761034b6101f3565b5b5f82013567ffffffffffffffff811115610369576103686101f7565b5b6103758482850161030a565b91505092915050565b5f8115159050919050565b6103928161037e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156103cf5780820151818401526020810190506103b4565b5f8484015250505050565b5f6103e482610398565b6103ee81856103a2565b93506103fe8185602086016103b2565b61040781610203565b840191505092915050565b5f6040820190506104255f830185610389565b818103602083015261043781846103da565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61046982610440565b9050919050565b6104798161045f565b82525050565b5f6020820190506104925f830184610470565b92915050565b5f6020820190508181035f8301526104b081846103da565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104fc57607f821691505b60208210810361050f5761050e6104b8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610536565b61057b8683610536565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105bf6105ba6105b584610593565b61059c565b610593565b9050919050565b5f819050919050565b6105d8836105a5565b6105ec6105e4826105c6565b848454610542565b825550505050565b5f90565b6106006105f4565b61060b8184846105cf565b505050565b5b8181101561062e576106235f826105f8565b600181019050610611565b5050565b601f8211156106735761064481610515565b61064d84610527565b8101602085101561065c578190505b61067061066885610527565b830182610610565b50505b505050565b5f82821c905092915050565b5f6106935f1984600802610678565b1980831691505092915050565b5f6106ab8383610684565b9150826002028217905092915050565b6106c482610398565b67ffffffffffffffff8111156106dd576106dc610213565b5b6106e782546104e5565b6106f2828285610632565b5f60209050601f831160018114610723575f8415610711578287015190505b61071b85826106a0565b865550610782565b601f19841661073186610515565b5f5b8281101561075857848901518255600182019150602085019450602081019050610733565b868310156107755784890151610771601f891682610684565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f2d700c2e7e9858d966931346c180d7b48be89275c7a16c03a3f05e6337032ea6468797063430000020033'; diff --git a/fixtures/build/MyContract.json b/fixtures/build/MyContract.json index e0b51010..6c96cbe5 100644 --- a/fixtures/build/MyContract.json +++ b/fixtures/build/MyContract.json @@ -16,7 +16,7 @@ ], "zvm": { "bytecode": { - "object": "608060405234801561001057600080fd5b50610228806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f540c8ba14610030575b600080fd5b61003861004e565b6040516100459190610170565b60405180910390f35b60606000805461005d906101c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610089906101c1565b80156100d65780601f106100ab576101008083540402835291602001916100d6565b820191906000526020600020905b8154815290600101906020018083116100b957829003601f168201915b5050505050905090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561011a5780820151818401526020810190506100ff565b60008484015250505050565b6000601f19601f8301169050919050565b6000610142826100e0565b61014c81856100eb565b935061015c8185602086016100fc565b61016581610126565b840191505092915050565b6000602082019050818103600083015261018a8184610137565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806101d957607f821691505b6020821081036101ec576101eb610192565b5b5091905056fea264697066735822122061f485ab43edfa5bd740bc1f3dd0d643813a4bd2457119e6578414d7389fbd8964736f6c63430008100033" + "object": "608060405234801561000f575f80fd5b506102178061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f540c8ba1461002d575b5f80fd5b61003561004b565b6040516100429190610164565b60405180910390f35b60605f8054610059906101b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610085906101b1565b80156100d05780601f106100a7576101008083540402835291602001916100d0565b820191905f5260205f20905b8154815290600101906020018083116100b357829003601f168201915b5050505050905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156101115780820151818401526020810190506100f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610136826100da565b61014081856100e4565b93506101508185602086016100f4565b6101598161011c565b840191505092915050565b5f6020820190508181035f83015261017c818461012c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101c857607f821691505b6020821081036101db576101da610184565b5b5091905056fea26469706673582212201bf34f340672cd895a93afa7de11dbc06050c1f7b3afad8bf202f023397ae5ca6468797063430000020033" } } } diff --git a/fixtures/build/MyContract.ts b/fixtures/build/MyContract.ts index 468e35ea..d3e60770 100644 --- a/fixtures/build/MyContract.ts +++ b/fixtures/build/MyContract.ts @@ -24,4 +24,4 @@ export const MyContractAbi = [ }, ] as const; export const MyContractBytecode = - '0x608060405234801561001057600080fd5b50610228806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f540c8ba14610030575b600080fd5b61003861004e565b6040516100459190610170565b60405180910390f35b60606000805461005d906101c1565b80601f0160208091040260200160405190810160405280929190818152602001828054610089906101c1565b80156100d65780601f106100ab576101008083540402835291602001916100d6565b820191906000526020600020905b8154815290600101906020018083116100b957829003601f168201915b5050505050905090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561011a5780820151818401526020810190506100ff565b60008484015250505050565b6000601f19601f8301169050919050565b6000610142826100e0565b61014c81856100eb565b935061015c8185602086016100fc565b61016581610126565b840191505092915050565b6000602082019050818103600083015261018a8184610137565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806101d957607f821691505b6020821081036101ec576101eb610192565b5b5091905056fea264697066735822122061f485ab43edfa5bd740bc1f3dd0d643813a4bd2457119e6578414d7389fbd8964736f6c63430008100033'; + '0x608060405234801561000f575f80fd5b506102178061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f540c8ba1461002d575b5f80fd5b61003561004b565b6040516100429190610164565b60405180910390f35b60605f8054610059906101b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610085906101b1565b80156100d05780601f106100a7576101008083540402835291602001916100d0565b820191905f5260205f20905b8154815290600101906020018083116100b357829003601f168201915b5050505050905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156101115780820151818401526020810190506100f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610136826100da565b61014081856100e4565b93506101508185602086016100f4565b6101598161011c565b840191505092915050565b5f6020820190508181035f83015261017c818461012c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101c857607f821691505b6020821081036101db576101da610184565b5b5091905056fea26469706673582212201bf34f340672cd895a93afa7de11dbc06050c1f7b3afad8bf202f023397ae5ca6468797063430000020033'; diff --git a/fixtures/build/NegativeNumbers.json b/fixtures/build/NegativeNumbers.json index b6254913..8ea932dd 100644 --- a/fixtures/build/NegativeNumbers.json +++ b/fixtures/build/NegativeNumbers.json @@ -195,7 +195,7 @@ ], "zvm": { "bytecode": { - "object": "608060405234801561001057600080fd5b506040516105b93803806105b98339818101604052810190610032919061007a565b80600081905550506100a7565b600080fd5b6000819050919050565b61005781610044565b811461006257600080fd5b50565b6000815190506100748161004e565b92915050565b6000602082840312156100905761008f61003f565b5b600061009e84828501610065565b91505092915050565b610503806100b66000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309872ebc1461005157806310e9b2b41461006f5780634a299b871461008b5780636119780b146100a7575b600080fd5b6100596100c3565b6040516100669190610232565b60405180910390f35b61008960048036038101906100849190610283565b6100c9565b005b6100a560048036038101906100a09190610315565b610130565b005b6100c160048036038101906100bc9190610389565b6101ae565b005b60005481565b7f5b53dc4e9e8fa2416d4e172bdad04be5a6d622643bc9ef45987b2caadd0d0c95816040516100f89190610232565b60405180910390a1807f33e7dccd3899498f4408d6468e5dfad650f32574dba2ec4f13399a82e62166d560405160405180910390a250565b7f2e1fb99ee1b27b6491b2d46a54ac8daca82f2da6810e4b8eed4d634f78fa6948848484846040516101659493929190610440565b60405180910390a182847f0e29b573959c1b6ffd5e16886385ec1732e187cc5ac10e8faceb5e02a1c7b50b84846040516101a0929190610480565b60405180910390a350505050565b7ffaa997e4b16dcde196bbb99868e16fa934a0b4c1f019e494d9fbffb5abc46fc282826040516101df9291906104a4565b60405180910390a180827f0204c97becd72594486cf753e30e8acfc9951ee663e404bc858e3d10b80da99b60405160405180910390a35050565b6000819050919050565b61022c81610219565b82525050565b60006020820190506102476000830184610223565b92915050565b600080fd5b600080fd5b61026081610219565b811461026b57600080fd5b50565b60008135905061027d81610257565b92915050565b6000602082840312156102995761029861024d565b5b60006102a78482850161026e565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126102d5576102d46102b0565b5b8235905067ffffffffffffffff8111156102f2576102f16102b5565b5b60208301915083600182028301111561030e5761030d6102ba565b5b9250929050565b6000806000806060858703121561032f5761032e61024d565b5b600061033d8782880161026e565b945050602061034e8782880161026e565b935050604085013567ffffffffffffffff81111561036f5761036e610252565b5b61037b878288016102bf565b925092505092959194509250565b600080604083850312156103a05761039f61024d565b5b60006103ae8582860161026e565b92505060206103bf8582860161026e565b9150509250929050565b6000819050919050565b6103dc816103c9565b82525050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061041f83856103e2565b935061042c8385846103f3565b61043583610402565b840190509392505050565b600060608201905061045560008301876103d3565b6104626020830186610223565b8181036040830152610475818486610413565b905095945050505050565b6000602082019050818103600083015261049b818486610413565b90509392505050565b60006040820190506104b96000830185610223565b6104c66020830184610223565b939250505056fea26469706673582212203eb052901c785465d43fe463b8123363abc0767d1df3b47a9c4cdc319870d8c264736f6c634300080d0033" + "object": "608060405234801561000f575f80fd5b5060405161058e38038061058e83398181016040528101906100319190610074565b805f819055505061009f565b5f80fd5b5f819050919050565b61005381610041565b811461005d575f80fd5b50565b5f8151905061006e8161004a565b92915050565b5f602082840312156100895761008861003d565b5b5f61009684828501610060565b91505092915050565b6104e2806100ac5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806309872ebc1461004e57806310e9b2b41461006c5780634a299b87146100885780636119780b146100a4575b5f80fd5b6100566100c0565b604051610063919061022d565b60405180910390f35b61008660048036038101906100819190610278565b6100c5565b005b6100a2600480360381019061009d9190610304565b61012c565b005b6100be60048036038101906100b99190610375565b6101aa565b005b5f5481565b7f5b53dc4e9e8fa2416d4e172bdad04be5a6d622643bc9ef45987b2caadd0d0c95816040516100f4919061022d565b60405180910390a1807f33e7dccd3899498f4408d6468e5dfad650f32574dba2ec4f13399a82e62166d560405160405180910390a250565b7f2e1fb99ee1b27b6491b2d46a54ac8daca82f2da6810e4b8eed4d634f78fa6948848484846040516101619493929190610425565b60405180910390a182847f0e29b573959c1b6ffd5e16886385ec1732e187cc5ac10e8faceb5e02a1c7b50b848460405161019c929190610463565b60405180910390a350505050565b7ffaa997e4b16dcde196bbb99868e16fa934a0b4c1f019e494d9fbffb5abc46fc282826040516101db929190610485565b60405180910390a180827f0204c97becd72594486cf753e30e8acfc9951ee663e404bc858e3d10b80da99b60405160405180910390a35050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b92915050565b5f80fd5b5f80fd5b61025781610215565b8114610261575f80fd5b50565b5f813590506102728161024e565b92915050565b5f6020828403121561028d5761028c610246565b5b5f61029a84828501610264565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126102c4576102c36102a3565b5b8235905067ffffffffffffffff8111156102e1576102e06102a7565b5b6020830191508360018202830111156102fd576102fc6102ab565b5b9250929050565b5f805f806060858703121561031c5761031b610246565b5b5f61032987828801610264565b945050602061033a87828801610264565b935050604085013567ffffffffffffffff81111561035b5761035a61024a565b5b610367878288016102af565b925092505092959194509250565b5f806040838503121561038b5761038a610246565b5b5f61039885828601610264565b92505060206103a985828601610264565b9150509250929050565b5f819050919050565b6103c5816103b3565b82525050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61040483856103cb565b93506104118385846103db565b61041a836103e9565b840190509392505050565b5f6060820190506104385f8301876103bc565b610445602083018661021e565b81810360408301526104588184866103f9565b905095945050505050565b5f6020820190508181035f83015261047c8184866103f9565b90509392505050565b5f6040820190506104985f83018561021e565b6104a5602083018461021e565b939250505056fea26469706673582212208c35f0412a200d24bee1b19dc4aad276af243631f502b9df1e8f860ceee574536468797063430000020033" } } } diff --git a/fixtures/build/NegativeNumbers.ts b/fixtures/build/NegativeNumbers.ts index fd630ed4..c928708c 100644 --- a/fixtures/build/NegativeNumbers.ts +++ b/fixtures/build/NegativeNumbers.ts @@ -16,63 +16,28 @@ along with web3.js. If not, see . */ export const NegativeNumbersAbi = [ { - inputs: [ - { - internalType: 'int256', - name: 'number', - type: 'int256', - }, - ], + inputs: [{ internalType: 'int256', name: 'number', type: 'int256' }], stateMutability: 'nonpayable', type: 'constructor', }, { anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'int256', - name: 'one', - type: 'int256', - }, - ], + inputs: [{ indexed: false, internalType: 'int256', name: 'one', type: 'int256' }], name: 'OneNegativeNumber', type: 'event', }, { anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'int256', - name: 'one', - type: 'int256', - }, - ], + inputs: [{ indexed: true, internalType: 'int256', name: 'one', type: 'int256' }], name: 'OneNegativeNumberIndexed', type: 'event', }, { anonymous: false, inputs: [ - { - indexed: false, - internalType: 'uint256', - name: 'positive', - type: 'uint256', - }, - { - indexed: false, - internalType: 'int256', - name: 'negative', - type: 'int256', - }, - { - indexed: false, - internalType: 'string', - name: 'str', - type: 'string', - }, + { indexed: false, internalType: 'uint256', name: 'positive', type: 'uint256' }, + { indexed: false, internalType: 'int256', name: 'negative', type: 'int256' }, + { indexed: false, internalType: 'string', name: 'str', type: 'string' }, ], name: 'OtherNegativeNumbers', type: 'event', @@ -80,24 +45,9 @@ export const NegativeNumbersAbi = [ { anonymous: false, inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'positive', - type: 'uint256', - }, - { - indexed: true, - internalType: 'int256', - name: 'negative', - type: 'int256', - }, - { - indexed: false, - internalType: 'string', - name: 'str', - type: 'string', - }, + { indexed: true, internalType: 'uint256', name: 'positive', type: 'uint256' }, + { indexed: true, internalType: 'int256', name: 'negative', type: 'int256' }, + { indexed: false, internalType: 'string', name: 'str', type: 'string' }, ], name: 'OtherNegativeNumbersIndexed', type: 'event', @@ -105,18 +55,8 @@ export const NegativeNumbersAbi = [ { anonymous: false, inputs: [ - { - indexed: false, - internalType: 'int256', - name: 'one', - type: 'int256', - }, - { - indexed: false, - internalType: 'int256', - name: 'two', - type: 'int256', - }, + { indexed: false, internalType: 'int256', name: 'one', type: 'int256' }, + { indexed: false, internalType: 'int256', name: 'two', type: 'int256' }, ], name: 'TwoNegativeNumbers', type: 'event', @@ -124,30 +64,14 @@ export const NegativeNumbersAbi = [ { anonymous: false, inputs: [ - { - indexed: true, - internalType: 'int256', - name: 'one', - type: 'int256', - }, - { - indexed: true, - internalType: 'int256', - name: 'two', - type: 'int256', - }, + { indexed: true, internalType: 'int256', name: 'one', type: 'int256' }, + { indexed: true, internalType: 'int256', name: 'two', type: 'int256' }, ], name: 'TwoNegativeNumbersIndexed', type: 'event', }, { - inputs: [ - { - internalType: 'int256', - name: 'number', - type: 'int256', - }, - ], + inputs: [{ internalType: 'int256', name: 'number', type: 'int256' }], name: 'oneNegativeNumber', outputs: [], stateMutability: 'nonpayable', @@ -155,21 +79,9 @@ export const NegativeNumbersAbi = [ }, { inputs: [ - { - internalType: 'int256', - name: 'number', - type: 'int256', - }, - { - internalType: 'int256', - name: 'number2', - type: 'int256', - }, - { - internalType: 'string', - name: 'str', - type: 'string', - }, + { internalType: 'int256', name: 'number', type: 'int256' }, + { internalType: 'int256', name: 'number2', type: 'int256' }, + { internalType: 'string', name: 'str', type: 'string' }, ], name: 'otherNegativeNumbers', outputs: [], @@ -179,28 +91,14 @@ export const NegativeNumbersAbi = [ { inputs: [], name: 'storedNegativeNumber', - outputs: [ - { - internalType: 'int256', - name: '', - type: 'int256', - }, - ], + outputs: [{ internalType: 'int256', name: '', type: 'int256' }], stateMutability: 'view', type: 'function', }, { inputs: [ - { - internalType: 'int256', - name: 'number', - type: 'int256', - }, - { - internalType: 'int256', - name: 'number2', - type: 'int256', - }, + { internalType: 'int256', name: 'number', type: 'int256' }, + { internalType: 'int256', name: 'number2', type: 'int256' }, ], name: 'twoNegativeNumbers', outputs: [], @@ -208,6 +106,5 @@ export const NegativeNumbersAbi = [ type: 'function', }, ] as const; - export const NegativeNumbersBytecode = - '0x608060405234801561001057600080fd5b506040516105b93803806105b98339818101604052810190610032919061007a565b80600081905550506100a7565b600080fd5b6000819050919050565b61005781610044565b811461006257600080fd5b50565b6000815190506100748161004e565b92915050565b6000602082840312156100905761008f61003f565b5b600061009e84828501610065565b91505092915050565b610503806100b66000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806309872ebc1461005157806310e9b2b41461006f5780634a299b871461008b5780636119780b146100a7575b600080fd5b6100596100c3565b6040516100669190610232565b60405180910390f35b61008960048036038101906100849190610283565b6100c9565b005b6100a560048036038101906100a09190610315565b610130565b005b6100c160048036038101906100bc9190610389565b6101ae565b005b60005481565b7f5b53dc4e9e8fa2416d4e172bdad04be5a6d622643bc9ef45987b2caadd0d0c95816040516100f89190610232565b60405180910390a1807f33e7dccd3899498f4408d6468e5dfad650f32574dba2ec4f13399a82e62166d560405160405180910390a250565b7f2e1fb99ee1b27b6491b2d46a54ac8daca82f2da6810e4b8eed4d634f78fa6948848484846040516101659493929190610440565b60405180910390a182847f0e29b573959c1b6ffd5e16886385ec1732e187cc5ac10e8faceb5e02a1c7b50b84846040516101a0929190610480565b60405180910390a350505050565b7ffaa997e4b16dcde196bbb99868e16fa934a0b4c1f019e494d9fbffb5abc46fc282826040516101df9291906104a4565b60405180910390a180827f0204c97becd72594486cf753e30e8acfc9951ee663e404bc858e3d10b80da99b60405160405180910390a35050565b6000819050919050565b61022c81610219565b82525050565b60006020820190506102476000830184610223565b92915050565b600080fd5b600080fd5b61026081610219565b811461026b57600080fd5b50565b60008135905061027d81610257565b92915050565b6000602082840312156102995761029861024d565b5b60006102a78482850161026e565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126102d5576102d46102b0565b5b8235905067ffffffffffffffff8111156102f2576102f16102b5565b5b60208301915083600182028301111561030e5761030d6102ba565b5b9250929050565b6000806000806060858703121561032f5761032e61024d565b5b600061033d8782880161026e565b945050602061034e8782880161026e565b935050604085013567ffffffffffffffff81111561036f5761036e610252565b5b61037b878288016102bf565b925092505092959194509250565b600080604083850312156103a05761039f61024d565b5b60006103ae8582860161026e565b92505060206103bf8582860161026e565b9150509250929050565b6000819050919050565b6103dc816103c9565b82525050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b600061041f83856103e2565b935061042c8385846103f3565b61043583610402565b840190509392505050565b600060608201905061045560008301876103d3565b6104626020830186610223565b8181036040830152610475818486610413565b905095945050505050565b6000602082019050818103600083015261049b818486610413565b90509392505050565b60006040820190506104b96000830185610223565b6104c66020830184610223565b939250505056fea26469706673582212203eb052901c785465d43fe463b8123363abc0767d1df3b47a9c4cdc319870d8c264736f6c634300080d0033'; + '0x608060405234801561000f575f80fd5b5060405161058e38038061058e83398181016040528101906100319190610074565b805f819055505061009f565b5f80fd5b5f819050919050565b61005381610041565b811461005d575f80fd5b50565b5f8151905061006e8161004a565b92915050565b5f602082840312156100895761008861003d565b5b5f61009684828501610060565b91505092915050565b6104e2806100ac5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806309872ebc1461004e57806310e9b2b41461006c5780634a299b87146100885780636119780b146100a4575b5f80fd5b6100566100c0565b604051610063919061022d565b60405180910390f35b61008660048036038101906100819190610278565b6100c5565b005b6100a2600480360381019061009d9190610304565b61012c565b005b6100be60048036038101906100b99190610375565b6101aa565b005b5f5481565b7f5b53dc4e9e8fa2416d4e172bdad04be5a6d622643bc9ef45987b2caadd0d0c95816040516100f4919061022d565b60405180910390a1807f33e7dccd3899498f4408d6468e5dfad650f32574dba2ec4f13399a82e62166d560405160405180910390a250565b7f2e1fb99ee1b27b6491b2d46a54ac8daca82f2da6810e4b8eed4d634f78fa6948848484846040516101619493929190610425565b60405180910390a182847f0e29b573959c1b6ffd5e16886385ec1732e187cc5ac10e8faceb5e02a1c7b50b848460405161019c929190610463565b60405180910390a350505050565b7ffaa997e4b16dcde196bbb99868e16fa934a0b4c1f019e494d9fbffb5abc46fc282826040516101db929190610485565b60405180910390a180827f0204c97becd72594486cf753e30e8acfc9951ee663e404bc858e3d10b80da99b60405160405180910390a35050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b92915050565b5f80fd5b5f80fd5b61025781610215565b8114610261575f80fd5b50565b5f813590506102728161024e565b92915050565b5f6020828403121561028d5761028c610246565b5b5f61029a84828501610264565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126102c4576102c36102a3565b5b8235905067ffffffffffffffff8111156102e1576102e06102a7565b5b6020830191508360018202830111156102fd576102fc6102ab565b5b9250929050565b5f805f806060858703121561031c5761031b610246565b5b5f61032987828801610264565b945050602061033a87828801610264565b935050604085013567ffffffffffffffff81111561035b5761035a61024a565b5b610367878288016102af565b925092505092959194509250565b5f806040838503121561038b5761038a610246565b5b5f61039885828601610264565b92505060206103a985828601610264565b9150509250929050565b5f819050919050565b6103c5816103b3565b82525050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61040483856103cb565b93506104118385846103db565b61041a836103e9565b840190509392505050565b5f6060820190506104385f8301876103bc565b610445602083018661021e565b81810360408301526104588184866103f9565b905095945050505050565b5f6020820190508181035f83015261047c8184866103f9565b90509392505050565b5f6040820190506104985f83018561021e565b6104a5602083018461021e565b939250505056fea26469706673582212208c35f0412a200d24bee1b19dc4aad276af243631f502b9df1e8f860ceee574536468797063430000020033'; diff --git a/fixtures/build/ZRC20Token.json b/fixtures/build/ZRC20Token.json new file mode 100644 index 00000000..daf43c71 --- /dev/null +++ b/fixtures/build/ZRC20Token.json @@ -0,0 +1,328 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "initialSupply", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "allowance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ZRC20InsufficientAllowance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "ZRC20InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ZRC20InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ZRC20InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ZRC20InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "ZRC20InvalidSpender", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "zvm": { + "bytecode": { + "object": "608060405234801562000010575f80fd5b5060405162001670380380620016708339818101604052810190620000369190620003cb565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039081620000b3919062000656565b508060049081620000c5919062000656565b505050620000da3382620000e160201b60201c565b5062000866565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016200014b91906200077d565b60405180910390fd5b620001675f83836200016b60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001bf578060025f828254620001b29190620007c5565b9250508190555062000290565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200024b578381836040517f670e01c8000000000000000000000000000000000000000000000000000000008152600401620002429392919062000810565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d9578060025f828254039250508190555062000323565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200038291906200084b565b60405180910390a3505050565b5f80fd5b5f819050919050565b620003a78162000393565b8114620003b2575f80fd5b50565b5f81519050620003c5816200039c565b92915050565b5f60208284031215620003e357620003e26200038f565b5b5f620003f284828501620003b5565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200047757607f821691505b6020821081036200048d576200048c62000432565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b4565b620004fd8683620004b4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200053e62000538620005328462000393565b62000515565b62000393565b9050919050565b5f819050919050565b62000559836200051e565b62000571620005688262000545565b848454620004c0565b825550505050565b5f90565b6200058762000579565b620005948184846200054e565b505050565b5b81811015620005bb57620005af5f826200057d565b6001810190506200059a565b5050565b601f8211156200060a57620005d48162000493565b620005df84620004a5565b81016020851015620005ef578190505b62000607620005fe85620004a5565b83018262000599565b50505b505050565b5f82821c905092915050565b5f6200062c5f19846008026200060f565b1980831691505092915050565b5f6200064683836200061b565b9150826002028217905092915050565b6200066182620003fb565b67ffffffffffffffff8111156200067d576200067c62000405565b5b6200068982546200045f565b62000696828285620005bf565b5f60209050601f831160018114620006cc575f8415620006b7578287015190505b620006c3858262000639565b86555062000732565b601f198416620006dc8662000493565b5f5b828110156200070557848901518255600182019150602085019450602081019050620006de565b8683101562000725578489015162000721601f8916826200061b565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000765826200073a565b9050919050565b620007778162000759565b82525050565b5f602082019050620007925f8301846200076c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007d18262000393565b9150620007de8362000393565b9250828201905080821115620007f957620007f862000798565b5b92915050565b6200080a8162000393565b82525050565b5f606082019050620008255f8301866200076c565b620008346020830185620007ff565b620008436040830184620007ff565b949350505050565b5f602082019050620008605f830184620007ff565b92915050565b610dfc80620008745f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610a75565b60405180910390f35b6100cd60048036038101906100c89190610b26565b61028d565b6040516100da9190610b7e565b60405180910390f35b6100eb6102af565b6040516100f89190610ba6565b60405180910390f35b61011b60048036038101906101169190610bbf565b6102b8565b6040516101289190610b7e565b60405180910390f35b6101396102e6565b6040516101469190610c2a565b60405180910390f35b61016960048036038101906101649190610c43565b6102ee565b6040516101769190610ba6565b60405180910390f35b610187610333565b6040516101949190610a75565b60405180910390f35b6101b760048036038101906101b29190610b26565b6103c3565b6040516101c49190610b7e565b60405180910390f35b6101e760048036038101906101e29190610c6e565b6103e5565b6040516101f49190610ba6565b60405180910390f35b60606003805461020c90610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610cd9565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f80610297610467565b90506102a481858561046e565b600191505092915050565b5f600254905090565b5f806102c2610467565b90506102cf858285610480565b6102da858585610513565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461034290610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461036e90610cd9565b80156103b95780601f10610390576101008083540402835291602001916103b9565b820191905f5260205f20905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b5f806103cd610467565b90506103da818585610513565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61047b8383836001610603565b505050565b5f61048b84846103e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561050d57818110156104fe578281836040517f80fde4800000000000000000000000000000000000000000000000000000000081526004016104f593929190610d18565b60405180910390fd5b61050c84848484035f610603565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610583575f6040517fc90f6e4800000000000000000000000000000000000000000000000000000000815260040161057a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f3575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016105ea9190610d4d565b60405180910390fd5b6105fe8383836107d2565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610673575f6040517f23b1dd6f00000000000000000000000000000000000000000000000000000000815260040161066a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3575f6040517f18c103dd0000000000000000000000000000000000000000000000000000000081526004016106da9190610d4d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156107cc578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c39190610ba6565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610822578060025f8282546108169190610d93565b925050819055506108f0565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108ab578381836040517f670e01c80000000000000000000000000000000000000000000000000000000081526004016108a293929190610d18565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610937578060025f8282540392505081905550610981565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109de9190610ba6565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a22578082015181840152602081019050610a07565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a47826109eb565b610a5181856109f5565b9350610a61818560208601610a05565b610a6a81610a2d565b840191505092915050565b5f6020820190508181035f830152610a8d8184610a3d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac282610a99565b9050919050565b610ad281610ab8565b8114610adc575f80fd5b50565b5f81359050610aed81610ac9565b92915050565b5f819050919050565b610b0581610af3565b8114610b0f575f80fd5b50565b5f81359050610b2081610afc565b92915050565b5f8060408385031215610b3c57610b3b610a95565b5b5f610b4985828601610adf565b9250506020610b5a85828601610b12565b9150509250929050565b5f8115159050919050565b610b7881610b64565b82525050565b5f602082019050610b915f830184610b6f565b92915050565b610ba081610af3565b82525050565b5f602082019050610bb95f830184610b97565b92915050565b5f805f60608486031215610bd657610bd5610a95565b5b5f610be386828701610adf565b9350506020610bf486828701610adf565b9250506040610c0586828701610b12565b9150509250925092565b5f60ff82169050919050565b610c2481610c0f565b82525050565b5f602082019050610c3d5f830184610c1b565b92915050565b5f60208284031215610c5857610c57610a95565b5b5f610c6584828501610adf565b91505092915050565b5f8060408385031215610c8457610c83610a95565b5b5f610c9185828601610adf565b9250506020610ca285828601610adf565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cf057607f821691505b602082108103610d0357610d02610cac565b5b50919050565b610d1281610ab8565b82525050565b5f606082019050610d2b5f830186610d09565b610d386020830185610b97565b610d456040830184610b97565b949350505050565b5f602082019050610d605f830184610d09565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9d82610af3565b9150610da883610af3565b9250828201905080821115610dc057610dbf610d66565b5b9291505056fea26469706673582212208ffe1b35a8689c90242005ff81b18c501dbfb4d6196d3abc409b2f790d2ff9c36468797063430000020033" + } + } +} diff --git a/fixtures/build/ZRC20Token.ts b/fixtures/build/ZRC20Token.ts new file mode 100644 index 00000000..144b9bbd --- /dev/null +++ b/fixtures/build/ZRC20Token.ts @@ -0,0 +1,122 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ +export const ZRC20TokenAbi = [ + { + inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], + signature: '', + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'owner', type: 'address' }, + { indexed: true, internalType: 'address', name: 'spender', type: 'address' }, + { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'from', type: 'address' }, + { indexed: true, internalType: 'address', name: 'to', type: 'address' }, + { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' }, + ], + name: 'Transfer', + type: 'event', + }, + { + inputs: [ + { internalType: 'address', name: 'owner', type: 'address' }, + { internalType: 'address', name: 'spender', type: 'address' }, + ], + name: 'allowance', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'spender', type: 'address' }, + { internalType: 'uint256', name: 'value', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'balanceOf', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'decimals', + outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalSupply', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'to', type: 'address' }, + { internalType: 'uint256', name: 'value', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'from', type: 'address' }, + { internalType: 'address', name: 'to', type: 'address' }, + { internalType: 'uint256', name: 'value', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'nonpayable', + type: 'function', + }, +] as const; +export const ZRC20TokenBytecode = + '0x608060405234801562000010575f80fd5b5060405162001670380380620016708339818101604052810190620000369190620003cb565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039081620000b3919062000656565b508060049081620000c5919062000656565b505050620000da3382620000e160201b60201c565b5062000866565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016200014b91906200077d565b60405180910390fd5b620001675f83836200016b60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001bf578060025f828254620001b29190620007c5565b9250508190555062000290565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200024b578381836040517f670e01c8000000000000000000000000000000000000000000000000000000008152600401620002429392919062000810565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d9578060025f828254039250508190555062000323565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200038291906200084b565b60405180910390a3505050565b5f80fd5b5f819050919050565b620003a78162000393565b8114620003b2575f80fd5b50565b5f81519050620003c5816200039c565b92915050565b5f60208284031215620003e357620003e26200038f565b5b5f620003f284828501620003b5565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200047757607f821691505b6020821081036200048d576200048c62000432565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b4565b620004fd8683620004b4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200053e62000538620005328462000393565b62000515565b62000393565b9050919050565b5f819050919050565b62000559836200051e565b62000571620005688262000545565b848454620004c0565b825550505050565b5f90565b6200058762000579565b620005948184846200054e565b505050565b5b81811015620005bb57620005af5f826200057d565b6001810190506200059a565b5050565b601f8211156200060a57620005d48162000493565b620005df84620004a5565b81016020851015620005ef578190505b62000607620005fe85620004a5565b83018262000599565b50505b505050565b5f82821c905092915050565b5f6200062c5f19846008026200060f565b1980831691505092915050565b5f6200064683836200061b565b9150826002028217905092915050565b6200066182620003fb565b67ffffffffffffffff8111156200067d576200067c62000405565b5b6200068982546200045f565b62000696828285620005bf565b5f60209050601f831160018114620006cc575f8415620006b7578287015190505b620006c3858262000639565b86555062000732565b601f198416620006dc8662000493565b5f5b828110156200070557848901518255600182019150602085019450602081019050620006de565b8683101562000725578489015162000721601f8916826200061b565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000765826200073a565b9050919050565b620007778162000759565b82525050565b5f602082019050620007925f8301846200076c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007d18262000393565b9150620007de8362000393565b9250828201905080821115620007f957620007f862000798565b5b92915050565b6200080a8162000393565b82525050565b5f606082019050620008255f8301866200076c565b620008346020830185620007ff565b620008436040830184620007ff565b949350505050565b5f602082019050620008605f830184620007ff565b92915050565b610dfc80620008745f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610a75565b60405180910390f35b6100cd60048036038101906100c89190610b26565b61028d565b6040516100da9190610b7e565b60405180910390f35b6100eb6102af565b6040516100f89190610ba6565b60405180910390f35b61011b60048036038101906101169190610bbf565b6102b8565b6040516101289190610b7e565b60405180910390f35b6101396102e6565b6040516101469190610c2a565b60405180910390f35b61016960048036038101906101649190610c43565b6102ee565b6040516101769190610ba6565b60405180910390f35b610187610333565b6040516101949190610a75565b60405180910390f35b6101b760048036038101906101b29190610b26565b6103c3565b6040516101c49190610b7e565b60405180910390f35b6101e760048036038101906101e29190610c6e565b6103e5565b6040516101f49190610ba6565b60405180910390f35b60606003805461020c90610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610cd9565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f80610297610467565b90506102a481858561046e565b600191505092915050565b5f600254905090565b5f806102c2610467565b90506102cf858285610480565b6102da858585610513565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461034290610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461036e90610cd9565b80156103b95780601f10610390576101008083540402835291602001916103b9565b820191905f5260205f20905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b5f806103cd610467565b90506103da818585610513565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61047b8383836001610603565b505050565b5f61048b84846103e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561050d57818110156104fe578281836040517f80fde4800000000000000000000000000000000000000000000000000000000081526004016104f593929190610d18565b60405180910390fd5b61050c84848484035f610603565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610583575f6040517fc90f6e4800000000000000000000000000000000000000000000000000000000815260040161057a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f3575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016105ea9190610d4d565b60405180910390fd5b6105fe8383836107d2565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610673575f6040517f23b1dd6f00000000000000000000000000000000000000000000000000000000815260040161066a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3575f6040517f18c103dd0000000000000000000000000000000000000000000000000000000081526004016106da9190610d4d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156107cc578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c39190610ba6565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610822578060025f8282546108169190610d93565b925050819055506108f0565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108ab578381836040517f670e01c80000000000000000000000000000000000000000000000000000000081526004016108a293929190610d18565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610937578060025f8282540392505081905550610981565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109de9190610ba6565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a22578082015181840152602081019050610a07565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a47826109eb565b610a5181856109f5565b9350610a61818560208601610a05565b610a6a81610a2d565b840191505092915050565b5f6020820190508181035f830152610a8d8184610a3d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac282610a99565b9050919050565b610ad281610ab8565b8114610adc575f80fd5b50565b5f81359050610aed81610ac9565b92915050565b5f819050919050565b610b0581610af3565b8114610b0f575f80fd5b50565b5f81359050610b2081610afc565b92915050565b5f8060408385031215610b3c57610b3b610a95565b5b5f610b4985828601610adf565b9250506020610b5a85828601610b12565b9150509250929050565b5f8115159050919050565b610b7881610b64565b82525050565b5f602082019050610b915f830184610b6f565b92915050565b610ba081610af3565b82525050565b5f602082019050610bb95f830184610b97565b92915050565b5f805f60608486031215610bd657610bd5610a95565b5b5f610be386828701610adf565b9350506020610bf486828701610adf565b9250506040610c0586828701610b12565b9150509250925092565b5f60ff82169050919050565b610c2481610c0f565b82525050565b5f602082019050610c3d5f830184610c1b565b92915050565b5f60208284031215610c5857610c57610a95565b5b5f610c6584828501610adf565b91505092915050565b5f8060408385031215610c8457610c83610a95565b5b5f610c9185828601610adf565b9250506020610ca285828601610adf565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cf057607f821691505b602082108103610d0357610d02610cac565b5b50919050565b610d1281610ab8565b82525050565b5f606082019050610d2b5f830186610d09565b610d386020830185610b97565b610d456040830184610b97565b949350505050565b5f602082019050610d605f830184610d09565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9d82610af3565b9150610da883610af3565b9250828201905080821115610dc057610dbf610d66565b5b9291505056fea26469706673582212208ffe1b35a8689c90242005ff81b18c501dbfb4d6196d3abc409b2f790d2ff9c36468797063430000020033'; diff --git a/fixtures/build/ZRC721Token.json b/fixtures/build/ZRC721Token.json new file mode 100644 index 00000000..a2fe210d --- /dev/null +++ b/fixtures/build/ZRC721Token.json @@ -0,0 +1,503 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ZRC721IncorrectOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ZRC721InsufficientApproval", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "approver", + "type": "address" + } + ], + "name": "ZRC721InvalidApprover", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "ZRC721InvalidOperator", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "ZRC721InvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "ZRC721InvalidReceiver", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "ZRC721InvalidSender", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ZRC721NonexistentToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_fromTokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_toTokenId", + "type": "uint256" + } + ], + "name": "BatchMetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "MetadataUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "player", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "awardItem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "zvm": { + "bytecode": { + "object": "608060405234801562000010575f80fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d0000000000000000000000000000000000000000000000000000000000815250815f90816200008d91906200030c565b5080600190816200009f91906200030c565b505050620003f0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200012457607f821691505b6020821081036200013a5762000139620000df565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200019e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000161565b620001aa868362000161565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001f4620001ee620001e884620001c2565b620001cb565b620001c2565b9050919050565b5f819050919050565b6200020f83620001d4565b620002276200021e82620001fb565b8484546200016d565b825550505050565b5f90565b6200023d6200022f565b6200024a81848462000204565b505050565b5b818110156200027157620002655f8262000233565b60018101905062000250565b5050565b601f821115620002c0576200028a8162000140565b620002958462000152565b81016020851015620002a5578190505b620002bd620002b48562000152565b8301826200024f565b50505b505050565b5f82821c905092915050565b5f620002e25f1984600802620002c5565b1980831691505092915050565b5f620002fc8383620002d1565b9150826002028217905092915050565b6200031782620000a8565b67ffffffffffffffff811115620003335762000332620000b2565b5b6200033f82546200010c565b6200034c82828562000275565b5f60209050601f83116001811462000382575f84156200036d578287015190505b620003798582620002ef565b865550620003e8565b601f198416620003928662000140565b5f5b82811015620003bb5784890151825560018201915060208501945060208101905062000394565b86831015620003db5784890151620003d7601f891682620002d1565b8355505b6001600288020188555050505b505050505050565b61229d80620003fe5f395ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c806370a082311161008a578063b88d4fde11610064578063b88d4fde14610258578063c87b56dd14610274578063cf378343146102a4578063e985e9c5146102d4576100e8565b806370a08231146101ee57806395d89b411461021e578063a22cb4651461023c576100e8565b8063095ea7b3116100c6578063095ea7b31461016a57806323b872dd1461018657806342842e0e146101a25780636352211e146101be576100e8565b806301ffc9a7146100ec57806306fdde031461011c578063081812fc1461013a575b5f80fd5b610106600480360381019061010191906117ca565b610304565b604051610113919061180f565b60405180910390f35b610124610364565b60405161013191906118b2565b60405180910390f35b610154600480360381019061014f9190611905565b6103f3565b604051610161919061196f565b60405180910390f35b610184600480360381019061017f91906119b2565b61040e565b005b6101a0600480360381019061019b91906119f0565b610424565b005b6101bc60048036038101906101b791906119f0565b610523565b005b6101d860048036038101906101d39190611905565b610542565b6040516101e5919061196f565b60405180910390f35b61020860048036038101906102039190611a40565b610553565b6040516102159190611a7a565b60405180910390f35b610226610609565b60405161023391906118b2565b60405180910390f35b61025660048036038101906102519190611abd565b610699565b005b610272600480360381019061026d9190611c27565b6106af565b005b61028e60048036038101906102899190611905565b6106d4565b60405161029b91906118b2565b60405180910390f35b6102be60048036038101906102b99190611d45565b6107df565b6040516102cb9190611a7a565b60405180910390f35b6102ee60048036038101906102e99190611d9f565b610815565b6040516102fb919061180f565b60405180910390f35b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061035d575061035c826108a3565b5b9050919050565b60605f805461037290611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461039e90611e0a565b80156103e95780601f106103c0576101008083540402835291602001916103e9565b820191905f5260205f20905b8154815290600101906020018083116103cc57829003601f168201915b5050505050905090565b5f6103fd82610984565b5061040782610a0a565b9050919050565b610420828261041b610a43565b610a4a565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610494575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161048b919061196f565b60405180910390fd5b5f6104a783836104a2610a43565b610a5c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461051d578382826040517fed97935a00000000000000000000000000000000000000000000000000000000815260040161051493929190611e3a565b60405180910390fd5b50505050565b61053d83838360405180602001604052805f8152506106af565b505050565b5f61054c82610984565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c4575f6040517fd5da55ca0000000000000000000000000000000000000000000000000000000081526004016105bb919061196f565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606001805461061890611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461064490611e0a565b801561068f5780601f106106665761010080835404028352916020019161068f565b820191905f5260205f20905b81548152906001019060200180831161067257829003601f168201915b5050505050905090565b6106ab6106a4610a43565b8383610c67565b5050565b6106ba848484610424565b6106ce6106c5610a43565b85858585610dd0565b50505050565b60606106df82610984565b505f60065f8481526020019081526020015f2080546106fd90611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461072990611e0a565b80156107745780601f1061074b57610100808354040283529160200191610774565b820191905f5260205f20905b81548152906001019060200180831161075757829003601f168201915b505050505090505f610784610f7c565b90505f8151036107985781925050506107da565b5f825111156107cc5780826040516020016107b4929190611ea9565b604051602081830303815290604052925050506107da565b6107d584610f92565b925050505b919050565b5f806107eb6007610ff8565b90506107f78482611004565b61080181846110f7565b61080b6007611151565b8091505092915050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061097d575061097c82611165565b5b9050919050565b5f8061098f836111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0157826040517f0f8ff0280000000000000000000000000000000000000000000000000000000081526004016109f89190611a7a565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610a578383836001611207565b505050565b5f80610a67846111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610aa857610aa78184866113c6565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b3357610ae75f855f80611207565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610bb257600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd757816040517f774067b3000000000000000000000000000000000000000000000000000000008152600401610cce919061196f565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610dc3919061180f565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115610f75578273ffffffffffffffffffffffffffffffffffffffff16636fd56ae9868685856040518563ffffffff1660e01b8152600401610e2e9493929190611f1e565b6020604051808303815f875af1925050508015610e6957506040513d601f19601f82011682018060405250810190610e669190611f7c565b60015b610eea573d805f8114610e97576040519150601f19603f3d011682016040523d82523d5f602084013e610e9c565b606091505b505f815103610ee257836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610ed9919061196f565b60405180910390fd5b805181602001fd5b636fd56ae960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610f7357836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610f6a919061196f565b60405180910390fd5b505b5050505050565b606060405180602001604052805f815250905090565b6060610f9d82610984565b505f610fa7610f7c565b90505f815111610fc55760405180602001604052805f815250610ff0565b80610fcf84611489565b604051602001610fe0929190611ea9565b6040516020818303038152906040525b915050919050565b5f815f01549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611074575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161106b919061196f565b60405180910390fd5b5f61108083835f610a5c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110f2575f6040517f959b8cd50000000000000000000000000000000000000000000000000000000081526004016110e9919061196f565b60405180910390fd5b505050565b8060065f8481526020019081526020015f2090816111159190612144565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516111459190611a7a565b60405180910390a15050565b6001815f015f828254019250508190555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061123f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611371575f61124e84610984565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112b857508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156112cb57506112c98184610815565b155b1561130d57826040517f828c51c6000000000000000000000000000000000000000000000000000000008152600401611304919061196f565b60405180910390fd5b811561136f57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6113d1838383611553565b611484575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144557806040517f0f8ff02800000000000000000000000000000000000000000000000000000000815260040161143c9190611a7a565b60405180910390fd5b81816040517f2715868700000000000000000000000000000000000000000000000000000000815260040161147b929190612213565b60405180910390fd5b505050565b60605f600161149784611613565b0190505f8167ffffffffffffffff8111156114b5576114b4611b03565b5b6040519080825280601f01601f1916602001820160405280156114e75781602001600182028036833780820191505090505b5090505f82602001820190505b600115611548578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161153d5761153c61223a565b5b0494505f85036114f4575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160a57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115cb57506115ca8484610815565b5b8061160957508273ffffffffffffffffffffffffffffffffffffffff166115f183610a0a565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061166f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816116655761166461223a565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106116ac576d04ee2d6d415b85acef810000000083816116a2576116a161223a565b5b0492506020810190505b662386f26fc1000083106116db57662386f26fc1000083816116d1576116d061223a565b5b0492506010810190505b6305f5e1008310611704576305f5e10083816116fa576116f961223a565b5b0492506008810190505b612710831061172957612710838161171f5761171e61223a565b5b0492506004810190505b6064831061174c57606483816117425761174161223a565b5b0492506002810190505b600a831061175b576001810190505b80915050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117a981611775565b81146117b3575f80fd5b50565b5f813590506117c4816117a0565b92915050565b5f602082840312156117df576117de61176d565b5b5f6117ec848285016117b6565b91505092915050565b5f8115159050919050565b611809816117f5565b82525050565b5f6020820190506118225f830184611800565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561185f578082015181840152602081019050611844565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61188482611828565b61188e8185611832565b935061189e818560208601611842565b6118a78161186a565b840191505092915050565b5f6020820190508181035f8301526118ca818461187a565b905092915050565b5f819050919050565b6118e4816118d2565b81146118ee575f80fd5b50565b5f813590506118ff816118db565b92915050565b5f6020828403121561191a5761191961176d565b5b5f611927848285016118f1565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61195982611930565b9050919050565b6119698161194f565b82525050565b5f6020820190506119825f830184611960565b92915050565b6119918161194f565b811461199b575f80fd5b50565b5f813590506119ac81611988565b92915050565b5f80604083850312156119c8576119c761176d565b5b5f6119d58582860161199e565b92505060206119e6858286016118f1565b9150509250929050565b5f805f60608486031215611a0757611a0661176d565b5b5f611a148682870161199e565b9350506020611a258682870161199e565b9250506040611a36868287016118f1565b9150509250925092565b5f60208284031215611a5557611a5461176d565b5b5f611a628482850161199e565b91505092915050565b611a74816118d2565b82525050565b5f602082019050611a8d5f830184611a6b565b92915050565b611a9c816117f5565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f8060408385031215611ad357611ad261176d565b5b5f611ae08582860161199e565b9250506020611af185828601611aa9565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b398261186a565b810181811067ffffffffffffffff82111715611b5857611b57611b03565b5b80604052505050565b5f611b6a611764565b9050611b768282611b30565b919050565b5f67ffffffffffffffff821115611b9557611b94611b03565b5b611b9e8261186a565b9050602081019050919050565b828183375f83830152505050565b5f611bcb611bc684611b7b565b611b61565b905082815260208101848484011115611be757611be6611aff565b5b611bf2848285611bab565b509392505050565b5f82601f830112611c0e57611c0d611afb565b5b8135611c1e848260208601611bb9565b91505092915050565b5f805f8060808587031215611c3f57611c3e61176d565b5b5f611c4c8782880161199e565b9450506020611c5d8782880161199e565b9350506040611c6e878288016118f1565b925050606085013567ffffffffffffffff811115611c8f57611c8e611771565b5b611c9b87828801611bfa565b91505092959194509250565b5f67ffffffffffffffff821115611cc157611cc0611b03565b5b611cca8261186a565b9050602081019050919050565b5f611ce9611ce484611ca7565b611b61565b905082815260208101848484011115611d0557611d04611aff565b5b611d10848285611bab565b509392505050565b5f82601f830112611d2c57611d2b611afb565b5b8135611d3c848260208601611cd7565b91505092915050565b5f8060408385031215611d5b57611d5a61176d565b5b5f611d688582860161199e565b925050602083013567ffffffffffffffff811115611d8957611d88611771565b5b611d9585828601611d18565b9150509250929050565b5f8060408385031215611db557611db461176d565b5b5f611dc28582860161199e565b9250506020611dd38582860161199e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2157607f821691505b602082108103611e3457611e33611ddd565b5b50919050565b5f606082019050611e4d5f830186611960565b611e5a6020830185611a6b565b611e676040830184611960565b949350505050565b5f81905092915050565b5f611e8382611828565b611e8d8185611e6f565b9350611e9d818560208601611842565b80840191505092915050565b5f611eb48285611e79565b9150611ec08284611e79565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f611ef082611ecc565b611efa8185611ed6565b9350611f0a818560208601611842565b611f138161186a565b840191505092915050565b5f608082019050611f315f830187611960565b611f3e6020830186611960565b611f4b6040830185611a6b565b8181036060830152611f5d8184611ee6565b905095945050505050565b5f81519050611f76816117a0565b92915050565b5f60208284031215611f9157611f9061176d565b5b5f611f9e84828501611f68565b91505092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026120037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611fc8565b61200d8683611fc8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61204861204361203e846118d2565b612025565b6118d2565b9050919050565b5f819050919050565b6120618361202e565b61207561206d8261204f565b848454611fd4565b825550505050565b5f90565b61208961207d565b612094818484612058565b505050565b5b818110156120b7576120ac5f82612081565b60018101905061209a565b5050565b601f8211156120fc576120cd81611fa7565b6120d684611fb9565b810160208510156120e5578190505b6120f96120f185611fb9565b830182612099565b50505b505050565b5f82821c905092915050565b5f61211c5f1984600802612101565b1980831691505092915050565b5f612134838361210d565b9150826002028217905092915050565b61214d82611828565b67ffffffffffffffff81111561216657612165611b03565b5b6121708254611e0a565b61217b8282856120bb565b5f60209050601f8311600181146121ac575f841561219a578287015190505b6121a48582612129565b86555061220b565b601f1984166121ba86611fa7565b5f5b828110156121e1578489015182556001820191506020850194506020810190506121bc565b868310156121fe57848901516121fa601f89168261210d565b8355505b6001600288020188555050505b505050505050565b5f6040820190506122265f830185611960565b6122336020830184611a6b565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea264697066735822122031bb73dd9da8ee8fc83a5e39b070affb3518cab44253c4df7982d596b265d1db6468797063430000020033" + } + } +} diff --git a/fixtures/build/ZRC721Token.ts b/fixtures/build/ZRC721Token.ts new file mode 100644 index 00000000..47ecf48c --- /dev/null +++ b/fixtures/build/ZRC721Token.ts @@ -0,0 +1,236 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ +export const ZRC721TokenAbi = [ + { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, + { + inputs: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + { internalType: 'address', name: 'owner', type: 'address' }, + ], + name: 'ZRC721IncorrectOwner', + type: 'error', + }, + { + inputs: [ + { internalType: 'address', name: 'operator', type: 'address' }, + { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + ], + name: 'ZRC721InsufficientApproval', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'approver', type: 'address' }], + name: 'ZRC721InvalidApprover', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'operator', type: 'address' }], + name: 'ZRC721InvalidOperator', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'owner', type: 'address' }], + name: 'ZRC721InvalidOwner', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'receiver', type: 'address' }], + name: 'ZRC721InvalidReceiver', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'sender', type: 'address' }], + name: 'ZRC721InvalidSender', + type: 'error', + }, + { + inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], + name: 'ZRC721NonexistentToken', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'owner', type: 'address' }, + { indexed: true, internalType: 'address', name: 'approved', type: 'address' }, + { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'owner', type: 'address' }, + { indexed: true, internalType: 'address', name: 'operator', type: 'address' }, + { indexed: false, internalType: 'bool', name: 'approved', type: 'bool' }, + ], + name: 'ApprovalForAll', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { indexed: false, internalType: 'uint256', name: '_fromTokenId', type: 'uint256' }, + { indexed: false, internalType: 'uint256', name: '_toTokenId', type: 'uint256' }, + ], + name: 'BatchMetadataUpdate', + type: 'event', + }, + { + anonymous: false, + inputs: [{ indexed: false, internalType: 'uint256', name: '_tokenId', type: 'uint256' }], + name: 'MetadataUpdate', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'from', type: 'address' }, + { indexed: true, internalType: 'address', name: 'to', type: 'address' }, + { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + ], + name: 'Transfer', + type: 'event', + }, + { + inputs: [ + { internalType: 'address', name: 'to', type: 'address' }, + { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + ], + name: 'approve', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'player', type: 'address' }, + { internalType: 'string', name: 'tokenURI', type: 'string' }, + ], + name: 'awardItem', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'owner', type: 'address' }], + name: 'balanceOf', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], + name: 'getApproved', + outputs: [{ internalType: 'address', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'owner', type: 'address' }, + { internalType: 'address', name: 'operator', type: 'address' }, + ], + name: 'isApprovedForAll', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], + name: 'ownerOf', + outputs: [{ internalType: 'address', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'from', type: 'address' }, + { internalType: 'address', name: 'to', type: 'address' }, + { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'from', type: 'address' }, + { internalType: 'address', name: 'to', type: 'address' }, + { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + { internalType: 'bytes', name: 'data', type: 'bytes' }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'operator', type: 'address' }, + { internalType: 'bool', name: 'approved', type: 'bool' }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], + name: 'tokenURI', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'from', type: 'address' }, + { internalType: 'address', name: 'to', type: 'address' }, + { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +] as const; +export const ZRC721TokenBytecode = + '0x608060405234801562000010575f80fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d0000000000000000000000000000000000000000000000000000000000815250815f90816200008d91906200030c565b5080600190816200009f91906200030c565b505050620003f0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200012457607f821691505b6020821081036200013a5762000139620000df565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200019e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000161565b620001aa868362000161565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001f4620001ee620001e884620001c2565b620001cb565b620001c2565b9050919050565b5f819050919050565b6200020f83620001d4565b620002276200021e82620001fb565b8484546200016d565b825550505050565b5f90565b6200023d6200022f565b6200024a81848462000204565b505050565b5b818110156200027157620002655f8262000233565b60018101905062000250565b5050565b601f821115620002c0576200028a8162000140565b620002958462000152565b81016020851015620002a5578190505b620002bd620002b48562000152565b8301826200024f565b50505b505050565b5f82821c905092915050565b5f620002e25f1984600802620002c5565b1980831691505092915050565b5f620002fc8383620002d1565b9150826002028217905092915050565b6200031782620000a8565b67ffffffffffffffff811115620003335762000332620000b2565b5b6200033f82546200010c565b6200034c82828562000275565b5f60209050601f83116001811462000382575f84156200036d578287015190505b620003798582620002ef565b865550620003e8565b601f198416620003928662000140565b5f5b82811015620003bb5784890151825560018201915060208501945060208101905062000394565b86831015620003db5784890151620003d7601f891682620002d1565b8355505b6001600288020188555050505b505050505050565b61229d80620003fe5f395ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c806370a082311161008a578063b88d4fde11610064578063b88d4fde14610258578063c87b56dd14610274578063cf378343146102a4578063e985e9c5146102d4576100e8565b806370a08231146101ee57806395d89b411461021e578063a22cb4651461023c576100e8565b8063095ea7b3116100c6578063095ea7b31461016a57806323b872dd1461018657806342842e0e146101a25780636352211e146101be576100e8565b806301ffc9a7146100ec57806306fdde031461011c578063081812fc1461013a575b5f80fd5b610106600480360381019061010191906117ca565b610304565b604051610113919061180f565b60405180910390f35b610124610364565b60405161013191906118b2565b60405180910390f35b610154600480360381019061014f9190611905565b6103f3565b604051610161919061196f565b60405180910390f35b610184600480360381019061017f91906119b2565b61040e565b005b6101a0600480360381019061019b91906119f0565b610424565b005b6101bc60048036038101906101b791906119f0565b610523565b005b6101d860048036038101906101d39190611905565b610542565b6040516101e5919061196f565b60405180910390f35b61020860048036038101906102039190611a40565b610553565b6040516102159190611a7a565b60405180910390f35b610226610609565b60405161023391906118b2565b60405180910390f35b61025660048036038101906102519190611abd565b610699565b005b610272600480360381019061026d9190611c27565b6106af565b005b61028e60048036038101906102899190611905565b6106d4565b60405161029b91906118b2565b60405180910390f35b6102be60048036038101906102b99190611d45565b6107df565b6040516102cb9190611a7a565b60405180910390f35b6102ee60048036038101906102e99190611d9f565b610815565b6040516102fb919061180f565b60405180910390f35b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061035d575061035c826108a3565b5b9050919050565b60605f805461037290611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461039e90611e0a565b80156103e95780601f106103c0576101008083540402835291602001916103e9565b820191905f5260205f20905b8154815290600101906020018083116103cc57829003601f168201915b5050505050905090565b5f6103fd82610984565b5061040782610a0a565b9050919050565b610420828261041b610a43565b610a4a565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610494575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161048b919061196f565b60405180910390fd5b5f6104a783836104a2610a43565b610a5c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461051d578382826040517fed97935a00000000000000000000000000000000000000000000000000000000815260040161051493929190611e3a565b60405180910390fd5b50505050565b61053d83838360405180602001604052805f8152506106af565b505050565b5f61054c82610984565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c4575f6040517fd5da55ca0000000000000000000000000000000000000000000000000000000081526004016105bb919061196f565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606001805461061890611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461064490611e0a565b801561068f5780601f106106665761010080835404028352916020019161068f565b820191905f5260205f20905b81548152906001019060200180831161067257829003601f168201915b5050505050905090565b6106ab6106a4610a43565b8383610c67565b5050565b6106ba848484610424565b6106ce6106c5610a43565b85858585610dd0565b50505050565b60606106df82610984565b505f60065f8481526020019081526020015f2080546106fd90611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461072990611e0a565b80156107745780601f1061074b57610100808354040283529160200191610774565b820191905f5260205f20905b81548152906001019060200180831161075757829003601f168201915b505050505090505f610784610f7c565b90505f8151036107985781925050506107da565b5f825111156107cc5780826040516020016107b4929190611ea9565b604051602081830303815290604052925050506107da565b6107d584610f92565b925050505b919050565b5f806107eb6007610ff8565b90506107f78482611004565b61080181846110f7565b61080b6007611151565b8091505092915050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061097d575061097c82611165565b5b9050919050565b5f8061098f836111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0157826040517f0f8ff0280000000000000000000000000000000000000000000000000000000081526004016109f89190611a7a565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610a578383836001611207565b505050565b5f80610a67846111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610aa857610aa78184866113c6565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b3357610ae75f855f80611207565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610bb257600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd757816040517f774067b3000000000000000000000000000000000000000000000000000000008152600401610cce919061196f565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610dc3919061180f565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115610f75578273ffffffffffffffffffffffffffffffffffffffff16636fd56ae9868685856040518563ffffffff1660e01b8152600401610e2e9493929190611f1e565b6020604051808303815f875af1925050508015610e6957506040513d601f19601f82011682018060405250810190610e669190611f7c565b60015b610eea573d805f8114610e97576040519150601f19603f3d011682016040523d82523d5f602084013e610e9c565b606091505b505f815103610ee257836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610ed9919061196f565b60405180910390fd5b805181602001fd5b636fd56ae960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610f7357836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610f6a919061196f565b60405180910390fd5b505b5050505050565b606060405180602001604052805f815250905090565b6060610f9d82610984565b505f610fa7610f7c565b90505f815111610fc55760405180602001604052805f815250610ff0565b80610fcf84611489565b604051602001610fe0929190611ea9565b6040516020818303038152906040525b915050919050565b5f815f01549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611074575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161106b919061196f565b60405180910390fd5b5f61108083835f610a5c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110f2575f6040517f959b8cd50000000000000000000000000000000000000000000000000000000081526004016110e9919061196f565b60405180910390fd5b505050565b8060065f8481526020019081526020015f2090816111159190612144565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516111459190611a7a565b60405180910390a15050565b6001815f015f828254019250508190555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061123f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611371575f61124e84610984565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112b857508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156112cb57506112c98184610815565b155b1561130d57826040517f828c51c6000000000000000000000000000000000000000000000000000000008152600401611304919061196f565b60405180910390fd5b811561136f57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6113d1838383611553565b611484575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144557806040517f0f8ff02800000000000000000000000000000000000000000000000000000000815260040161143c9190611a7a565b60405180910390fd5b81816040517f2715868700000000000000000000000000000000000000000000000000000000815260040161147b929190612213565b60405180910390fd5b505050565b60605f600161149784611613565b0190505f8167ffffffffffffffff8111156114b5576114b4611b03565b5b6040519080825280601f01601f1916602001820160405280156114e75781602001600182028036833780820191505090505b5090505f82602001820190505b600115611548578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161153d5761153c61223a565b5b0494505f85036114f4575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160a57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115cb57506115ca8484610815565b5b8061160957508273ffffffffffffffffffffffffffffffffffffffff166115f183610a0a565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061166f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816116655761166461223a565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106116ac576d04ee2d6d415b85acef810000000083816116a2576116a161223a565b5b0492506020810190505b662386f26fc1000083106116db57662386f26fc1000083816116d1576116d061223a565b5b0492506010810190505b6305f5e1008310611704576305f5e10083816116fa576116f961223a565b5b0492506008810190505b612710831061172957612710838161171f5761171e61223a565b5b0492506004810190505b6064831061174c57606483816117425761174161223a565b5b0492506002810190505b600a831061175b576001810190505b80915050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117a981611775565b81146117b3575f80fd5b50565b5f813590506117c4816117a0565b92915050565b5f602082840312156117df576117de61176d565b5b5f6117ec848285016117b6565b91505092915050565b5f8115159050919050565b611809816117f5565b82525050565b5f6020820190506118225f830184611800565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561185f578082015181840152602081019050611844565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61188482611828565b61188e8185611832565b935061189e818560208601611842565b6118a78161186a565b840191505092915050565b5f6020820190508181035f8301526118ca818461187a565b905092915050565b5f819050919050565b6118e4816118d2565b81146118ee575f80fd5b50565b5f813590506118ff816118db565b92915050565b5f6020828403121561191a5761191961176d565b5b5f611927848285016118f1565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61195982611930565b9050919050565b6119698161194f565b82525050565b5f6020820190506119825f830184611960565b92915050565b6119918161194f565b811461199b575f80fd5b50565b5f813590506119ac81611988565b92915050565b5f80604083850312156119c8576119c761176d565b5b5f6119d58582860161199e565b92505060206119e6858286016118f1565b9150509250929050565b5f805f60608486031215611a0757611a0661176d565b5b5f611a148682870161199e565b9350506020611a258682870161199e565b9250506040611a36868287016118f1565b9150509250925092565b5f60208284031215611a5557611a5461176d565b5b5f611a628482850161199e565b91505092915050565b611a74816118d2565b82525050565b5f602082019050611a8d5f830184611a6b565b92915050565b611a9c816117f5565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f8060408385031215611ad357611ad261176d565b5b5f611ae08582860161199e565b9250506020611af185828601611aa9565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b398261186a565b810181811067ffffffffffffffff82111715611b5857611b57611b03565b5b80604052505050565b5f611b6a611764565b9050611b768282611b30565b919050565b5f67ffffffffffffffff821115611b9557611b94611b03565b5b611b9e8261186a565b9050602081019050919050565b828183375f83830152505050565b5f611bcb611bc684611b7b565b611b61565b905082815260208101848484011115611be757611be6611aff565b5b611bf2848285611bab565b509392505050565b5f82601f830112611c0e57611c0d611afb565b5b8135611c1e848260208601611bb9565b91505092915050565b5f805f8060808587031215611c3f57611c3e61176d565b5b5f611c4c8782880161199e565b9450506020611c5d8782880161199e565b9350506040611c6e878288016118f1565b925050606085013567ffffffffffffffff811115611c8f57611c8e611771565b5b611c9b87828801611bfa565b91505092959194509250565b5f67ffffffffffffffff821115611cc157611cc0611b03565b5b611cca8261186a565b9050602081019050919050565b5f611ce9611ce484611ca7565b611b61565b905082815260208101848484011115611d0557611d04611aff565b5b611d10848285611bab565b509392505050565b5f82601f830112611d2c57611d2b611afb565b5b8135611d3c848260208601611cd7565b91505092915050565b5f8060408385031215611d5b57611d5a61176d565b5b5f611d688582860161199e565b925050602083013567ffffffffffffffff811115611d8957611d88611771565b5b611d9585828601611d18565b9150509250929050565b5f8060408385031215611db557611db461176d565b5b5f611dc28582860161199e565b9250506020611dd38582860161199e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2157607f821691505b602082108103611e3457611e33611ddd565b5b50919050565b5f606082019050611e4d5f830186611960565b611e5a6020830185611a6b565b611e676040830184611960565b949350505050565b5f81905092915050565b5f611e8382611828565b611e8d8185611e6f565b9350611e9d818560208601611842565b80840191505092915050565b5f611eb48285611e79565b9150611ec08284611e79565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f611ef082611ecc565b611efa8185611ed6565b9350611f0a818560208601611842565b611f138161186a565b840191505092915050565b5f608082019050611f315f830187611960565b611f3e6020830186611960565b611f4b6040830185611a6b565b8181036060830152611f5d8184611ee6565b905095945050505050565b5f81519050611f76816117a0565b92915050565b5f60208284031215611f9157611f9061176d565b5b5f611f9e84828501611f68565b91505092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026120037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611fc8565b61200d8683611fc8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61204861204361203e846118d2565b612025565b6118d2565b9050919050565b5f819050919050565b6120618361202e565b61207561206d8261204f565b848454611fd4565b825550505050565b5f90565b61208961207d565b612094818484612058565b505050565b5b818110156120b7576120ac5f82612081565b60018101905061209a565b5050565b601f8211156120fc576120cd81611fa7565b6120d684611fb9565b810160208510156120e5578190505b6120f96120f185611fb9565b830182612099565b50505b505050565b5f82821c905092915050565b5f61211c5f1984600802612101565b1980831691505092915050565b5f612134838361210d565b9150826002028217905092915050565b61214d82611828565b67ffffffffffffffff81111561216657612165611b03565b5b6121708254611e0a565b61217b8282856120bb565b5f60209050601f8311600181146121ac575f841561219a578287015190505b6121a48582612129565b86555061220b565b601f1984166121ba86611fa7565b5f5b828110156121e1578489015182556001820191506020850194506020810190506121bc565b868310156121fe57848901516121fa601f89168261210d565b8355505b6001600288020188555050505b505050505050565b5f6040820190506122265f830185611960565b6122336020830184611a6b565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea264697066735822122031bb73dd9da8ee8fc83a5e39b070affb3518cab44253c4df7982d596b265d1db6468797063430000020033'; diff --git a/fixtures/contracts/Basic.hyp b/fixtures/contracts/Basic.hyp index 560c647f..e2c53279 100644 --- a/fixtures/contracts/Basic.hyp +++ b/fixtures/contracts/Basic.hyp @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; contract Basic { uint256 intValue; diff --git a/fixtures/contracts/DeployRevert.hyp b/fixtures/contracts/DeployRevert.hyp index 86bda477..b296fc7e 100644 --- a/fixtures/contracts/DeployRevert.hyp +++ b/fixtures/contracts/DeployRevert.hyp @@ -1,9 +1,8 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; contract DeployRevert { - constructor() public { + constructor() { require(false); } } diff --git a/fixtures/contracts/ERC20Token.hyp b/fixtures/contracts/ERC20Token.hyp deleted file mode 100644 index 5a03ed38..00000000 --- a/fixtures/contracts/ERC20Token.hyp +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; - -import '@openzeppelin/contracts/token/ERC20/ERC20.sol'; - -contract ERC20Token is ERC20 { - constructor(uint256 initialSupply) ERC20('Gold', 'GLD') { - _mint(msg.sender, initialSupply); - } -} diff --git a/fixtures/contracts/ErrorsContract.hyp b/fixtures/contracts/ErrorsContract.hyp index 6860693c..bb9fd437 100644 --- a/fixtures/contracts/ErrorsContract.hyp +++ b/fixtures/contracts/ErrorsContract.hyp @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; error Unauthorized(); error CustomError(string); diff --git a/fixtures/contracts/Greeter.hyp b/fixtures/contracts/Greeter.hyp index 7cf7e304..d4ed6ea9 100644 --- a/fixtures/contracts/Greeter.hyp +++ b/fixtures/contracts/Greeter.hyp @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; contract Greeter { uint256 counter; diff --git a/fixtures/contracts/MsgSender.hyp b/fixtures/contracts/MsgSender.hyp index 54f67050..5f0a6ffa 100644 --- a/fixtures/contracts/MsgSender.hyp +++ b/fixtures/contracts/MsgSender.hyp @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; contract MsgSender { string public testString; diff --git a/fixtures/contracts/MyContract.hyp b/fixtures/contracts/MyContract.hyp index dc7fce84..a8256649 100644 --- a/fixtures/contracts/MyContract.hyp +++ b/fixtures/contracts/MyContract.hyp @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; contract MyContract { string private myAttribute; diff --git a/fixtures/contracts/NegativeNumbers.hyp b/fixtures/contracts/NegativeNumbers.hyp index cd4b357b..b83aa3c8 100644 --- a/fixtures/contracts/NegativeNumbers.hyp +++ b/fixtures/contracts/NegativeNumbers.hyp @@ -1,6 +1,5 @@ // SPDX-License-Identifier: MIT -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion 0.8.13; +pragma hyperion >=0.0; contract NegativeNumbers { int256 public storedNegativeNumber; diff --git a/fixtures/contracts/ZRC20Token.hyp b/fixtures/contracts/ZRC20Token.hyp new file mode 100644 index 00000000..b2bf722b --- /dev/null +++ b/fixtures/contracts/ZRC20Token.hyp @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GNU +pragma hyperion >=0.0; + +import '@theqrl/zond-contracts/token/ZRC20/ZRC20.hyp'; + +contract ZRC20Token is ZRC20 { + constructor(uint256 initialSupply) ZRC20('Gold', 'GLD') { + _mint(msg.sender, initialSupply); + } +} diff --git a/fixtures/contracts/ERC721Token.hyp b/fixtures/contracts/ZRC721Token.hyp similarity index 55% rename from fixtures/contracts/ERC721Token.hyp rename to fixtures/contracts/ZRC721Token.hyp index 2a718c06..0d2fd641 100644 --- a/fixtures/contracts/ERC721Token.hyp +++ b/fixtures/contracts/ZRC721Token.hyp @@ -1,15 +1,14 @@ // SPDX-License-Identifier: GNU -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.13; +pragma hyperion >=0.0; -import '@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol'; -import '@openzeppelin/contracts/utils/Counters.sol'; +import '@theqrl/zond-contracts/token/ZRC721/extensions/ZRC721URIStorage.hyp'; +import '@theqrl/zond-contracts/utils/Counters.hyp'; -contract ERC721Token is ERC721URIStorage { +contract ZRC721Token is ZRC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; - constructor() ERC721('GameItem', 'ITM') {} + constructor() ZRC721('GameItem', 'ITM') {} function awardItem(address player, string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); diff --git a/package.json b/package.json index ab809dbf..4010cf66 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,8 @@ "devDependencies": { "@cypress/webpack-preprocessor": "^5.12.0", "@droppedcode/typedoc-plugin-relative-includes": "^1.0.2", - "@openzeppelin/contracts": "^4.7.1", + "@theqrl/hypc": "^0.0.2", + "@theqrl/zond-contracts": "file:../zond-contracts", "@types/node": "^18.11.9", "@types/webpack": "^5.28.0", "assert": "^2.0.0", @@ -99,9 +100,7 @@ "lerna": "^6.6.2", "npm-auth-to-token": "^1.0.0", "prettier": "^2.7.1", - "prettier-plugin-solidity": "^1.0.0-beta.20", "process": "^0.11.10", - "solc": "^0.8.15", "ts-jest": "^28.0.7", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", diff --git a/packages/abi/README.md b/packages/abi/README.md index 7ce37d72..c23e1ce9 100644 --- a/packages/abi/README.md +++ b/packages/abi/README.md @@ -1,5 +1,4 @@ -Zond ABI Coder -================== +# Zond ABI Coder This sub-module is part of the [ethers project](https://github.com/ethers-io/ethers.js). @@ -8,45 +7,41 @@ used by most smart contracts to interoperate between other smart contracts and c For more information, see the [documentation](https://docs.ethers.io/v5/api/utils/abi/). -Importing ---------- +## Importing Most users will prefer to use the [umbrella package](https://www.npmjs.com/package/ethers), but for those with more specific needs, individual components can be imported. ```javascript const { + ConstructorFragment, + EventFragment, + Fragment, + FunctionFragment, + ParamType, + FormatTypes, - ConstructorFragment, - EventFragment, - Fragment, - FunctionFragment, - ParamType, - FormatTypes, + AbiCoder, + defaultAbiCoder, - AbiCoder, - defaultAbiCoder, + Interface, + Indexed, - Interface, - Indexed, + ///////////////////////// + // Types - ///////////////////////// - // Types + CoerceFunc, + JsonFragment, + JsonFragmentType, - CoerceFunc, - JsonFragment, - JsonFragmentType, + Result, + checkResultErrors, - Result, - checkResultErrors, - - LogDescription, - TransactionDescription - -} = require("@theqrl/abi"); + LogDescription, + TransactionDescription, +} = require('@theqrl/abi'); ``` -License -------- +## License MIT License diff --git a/packages/abi/package.json b/packages/abi/package.json index bbb2531b..6ab528e9 100644 --- a/packages/abi/package.json +++ b/packages/abi/package.json @@ -1,9 +1,9 @@ { - "name": "@theqrl/abi", - "version": "0.1.0", - "description": "Utilities and Classes for parsing, formatting and managing Zond ABIs.", - "license": "MIT", - "main": "./lib/commonjs/index.js", + "name": "@theqrl/abi", + "version": "0.1.0", + "description": "Utilities and Classes for parsing, formatting and managing Zond ABIs.", + "license": "MIT", + "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { ".": { @@ -12,19 +12,19 @@ "require": "./lib/commonjs/index.js" } }, - "files": [ + "files": [ "lib/**/*", "src/**/*" ], - "publishConfig": { - "access": "public" - }, - "repository": { - "directory": "packages/abi", - "type": "git", - "url": "git://github.com/ethers-io/ethers.js.git" - }, - "scripts": { + "publishConfig": { + "access": "public" + }, + "repository": { + "directory": "packages/abi", + "type": "git", + "url": "git://github.com/ethers-io/ethers.js.git" + }, + "scripts": { "clean": "rimraf dist && rimraf lib", "prebuild": "yarn clean", "build": "yarn build:cjs & yarn build:esm & yarn build:types", @@ -43,20 +43,20 @@ "test:unit": "jest --config=./test/unit/jest.config.js", "test:integration": "jest --config=./test/integration/jest.config.js --passWithNoTests" }, - "sideEffects": false, - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@theqrl/web3-utils": "^0.3.0" - }, - "devDependencies": { + "sideEffects": false, + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@theqrl/web3-utils": "^0.3.0" + }, + "devDependencies": { "@theqrl/eslint-config-base-web3": "^0.3.0", "@types/jest": "^28.1.6", "@typescript-eslint/eslint-plugin": "^5.30.7", diff --git a/packages/abi/src/_version.ts b/packages/abi/src/_version.ts index b5869f53..16b63e20 100644 --- a/packages/abi/src/_version.ts +++ b/packages/abi/src/_version.ts @@ -1 +1,17 @@ -export const version = "abi/5.7.0"; +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ +export const version = 'abi/5.7.0'; diff --git a/packages/abi/src/abi-coder.ts b/packages/abi/src/abi-coder.ts index 9056ae91..28024f11 100644 --- a/packages/abi/src/abi-coder.ts +++ b/packages/abi/src/abi-coder.ts @@ -1,123 +1,142 @@ -"use strict"; +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ // See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI -import { arrayify, BytesLike } from "@ethersproject/bytes"; -import { defineReadOnly } from "@ethersproject/properties"; +import { arrayify, BytesLike } from '@ethersproject/bytes'; +import { defineReadOnly } from '@ethersproject/properties'; -import { Logger } from "@ethersproject/logger"; -import { version } from "./_version"; -const logger = new Logger(version); +import { Logger } from '@ethersproject/logger'; +import { version } from './_version.js'; -import { Coder, Reader, Result, Writer } from "./coders/abstract-coder"; -import { AddressCoder } from "./coders/address"; -import { ArrayCoder } from "./coders/array"; -import { BooleanCoder } from "./coders/boolean"; -import { BytesCoder } from "./coders/bytes"; -import { FixedBytesCoder } from "./coders/fixed-bytes"; -import { NullCoder } from "./coders/null"; -import { NumberCoder } from "./coders/number"; -import { StringCoder } from "./coders/string"; -import { TupleCoder } from "./coders/tuple"; +import { Coder, Reader, Result, Writer } from './coders/abstract-coder.js'; +import { AddressCoder } from './coders/address.js'; +import { ArrayCoder } from './coders/array.js'; +import { BooleanCoder } from './coders/boolean.js'; +import { BytesCoder } from './coders/bytes.js'; +import { FixedBytesCoder } from './coders/fixed-bytes.js'; +import { NullCoder } from './coders/null.js'; +import { NumberCoder } from './coders/number.js'; +import { StringCoder } from './coders/string.js'; +import { TupleCoder } from './coders/tuple.js'; -import { ParamType } from "./fragments"; +import { ParamType } from './fragments.js'; +const logger = new Logger(version); const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/); const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/); - export type CoerceFunc = (type: string, value: any) => any; export class AbiCoder { - readonly coerceFunc: CoerceFunc; - - constructor(coerceFunc?: CoerceFunc) { - defineReadOnly(this, "coerceFunc", coerceFunc || null); - } - - _getCoder(param: ParamType): Coder { - - switch (param.baseType) { - case "address": - return new AddressCoder(param.name); - case "bool": - return new BooleanCoder(param.name); - case "string": - return new StringCoder(param.name); - case "bytes": - return new BytesCoder(param.name); - case "array": - return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name); - case "tuple": - return new TupleCoder((param.components || []).map((component) => { - return this._getCoder(component); - }), param.name); - case "": - return new NullCoder(param.name); - } - - // u?int[0-9]* - let match = param.type.match(paramTypeNumber); - if (match) { - let size = parseInt(match[2] || "256"); - if (size === 0 || size > 256 || (size % 8) !== 0) { - logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param); - } - return new NumberCoder(size / 8, (match[1] === "int"), param.name); - } - - // bytes[0-9]+ - match = param.type.match(paramTypeBytes); - if (match) { - let size = parseInt(match[1]); - if (size === 0 || size > 32) { - logger.throwArgumentError("invalid bytes length", "param", param); - } - return new FixedBytesCoder(size, param.name); - } - - return logger.throwArgumentError("invalid type", "type", param.type); - } - - _getWordSize(): number { return 32; } - - _getReader(data: Uint8Array, allowLoose?: boolean): Reader { - return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose); - } - - _getWriter(): Writer { - return new Writer(this._getWordSize()); - } - - getDefaultValue(types: ReadonlyArray): Result { - const coders: Array = types.map((type) => this._getCoder(ParamType.from(type))); - const coder = new TupleCoder(coders, "_"); - return coder.defaultValue(); - } - - encode(types: ReadonlyArray, values: ReadonlyArray): string { - if (types.length !== values.length) { - logger.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, { - count: { types: types.length, values: values.length }, - value: { types: types, values: values } - }); - } - - const coders = types.map((type) => this._getCoder(ParamType.from(type))); - const coder = (new TupleCoder(coders, "_")); - - const writer = this._getWriter(); - coder.encode(writer, values); - return writer.data; - } - - decode(types: ReadonlyArray, data: BytesLike, loose?: boolean): Result { - const coders: Array = types.map((type) => this._getCoder(ParamType.from(type))); - const coder = new TupleCoder(coders, "_"); - return coder.decode(this._getReader(arrayify(data), loose)); - } + readonly coerceFunc: CoerceFunc; + + constructor(coerceFunc?: CoerceFunc) { + defineReadOnly(this, 'coerceFunc', coerceFunc || null); + } + + _getCoder(param: ParamType): Coder { + switch (param.baseType) { + case 'address': + return new AddressCoder(param.name); + case 'bool': + return new BooleanCoder(param.name); + case 'string': + return new StringCoder(param.name); + case 'bytes': + return new BytesCoder(param.name); + case 'array': + return new ArrayCoder( + this._getCoder(param.arrayChildren), + param.arrayLength, + param.name, + ); + case 'tuple': + return new TupleCoder( + (param.components || []).map(component => this._getCoder(component)), + param.name, + ); + case '': + return new NullCoder(param.name); + } + + // u?int[0-9]* + let match = param.type.match(paramTypeNumber); + if (match) { + const size = parseInt(match[2] || '256'); + if (size === 0 || size > 256 || size % 8 !== 0) { + logger.throwArgumentError(`invalid ${match[1]} bit length`, 'param', param); + } + return new NumberCoder(size / 8, match[1] === 'int', param.name); + } + + // bytes[0-9]+ + match = param.type.match(paramTypeBytes); + if (match) { + const size = parseInt(match[1]); + if (size === 0 || size > 32) { + logger.throwArgumentError('invalid bytes length', 'param', param); + } + return new FixedBytesCoder(size, param.name); + } + + return logger.throwArgumentError('invalid type', 'type', param.type); + } + + _getWordSize(): number { + return 32; + } + + _getReader(data: Uint8Array, allowLoose?: boolean): Reader { + return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose); + } + + _getWriter(): Writer { + return new Writer(this._getWordSize()); + } + + getDefaultValue(types: ReadonlyArray): Result { + const coders: Array = types.map(type => this._getCoder(ParamType.from(type))); + const coder = new TupleCoder(coders, '_'); + return coder.defaultValue(); + } + + encode(types: ReadonlyArray, values: ReadonlyArray): string { + if (types.length !== values.length) { + logger.throwError('types/values length mismatch', Logger.errors.INVALID_ARGUMENT, { + count: { types: types.length, values: values.length }, + value: { types, values }, + }); + } + + const coders = types.map(type => this._getCoder(ParamType.from(type))); + const coder = new TupleCoder(coders, '_'); + + const writer = this._getWriter(); + coder.encode(writer, values); + return writer.data; + } + + decode(types: ReadonlyArray, data: BytesLike, loose?: boolean): Result { + const coders: Array = types.map(type => this._getCoder(ParamType.from(type))); + const coder = new TupleCoder(coders, '_'); + return coder.decode(this._getReader(arrayify(data), loose)); + } } export const defaultAbiCoder: AbiCoder = new AbiCoder(); - diff --git a/packages/abi/src/coders/abstract-coder.ts b/packages/abi/src/coders/abstract-coder.ts index 6bde17b6..e4a7df13 100644 --- a/packages/abi/src/coders/abstract-coder.ts +++ b/packages/abi/src/coders/abstract-coder.ts @@ -1,207 +1,240 @@ -"use strict"; +/* +This file is part of web3.js. -import { arrayify, BytesLike, concat, hexConcat, hexlify } from "@ethersproject/bytes"; -import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; -import { defineReadOnly } from "@ethersproject/properties"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -import { Logger } from "@ethersproject/logger"; -import { version } from "../_version"; -const logger = new Logger(version); +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. -export interface Result extends ReadonlyArray { - readonly [key: string]: any; -} +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ -export function checkResultErrors(result: Result): Array<{ path: Array, error: Error }> { - // Find the first error (if any) - const errors: Array<{ path: Array, error: Error }> = [ ]; +import { arrayify, BytesLike, concat, hexConcat, hexlify } from '@ethersproject/bytes'; +import { BigNumber, BigNumberish } from '@ethersproject/bignumber'; +import { defineReadOnly } from '@ethersproject/properties'; - const checkErrors = function(path: Array, object: any): void { - if (!Array.isArray(object)) { return; } - for (let key in object) { - const childPath = path.slice(); - childPath.push(key); +import { Logger } from '@ethersproject/logger'; +import { version } from '../_version.js'; - try { - checkErrors(childPath, object[key]); - } catch (error: any) { - errors.push({ path: childPath, error: error }); - } - } - } - checkErrors([ ], result); +const logger = new Logger(version); - return errors; +export interface Result extends ReadonlyArray { + readonly [key: string]: any; +} +export function checkResultErrors( + result: Result, +): Array<{ path: Array; error: Error }> { + // Find the first error (if any) + const errors: Array<{ path: Array; error: Error }> = []; + + const checkErrors = function (path: Array, object: any): void { + if (!Array.isArray(object)) { + return; + } + for (const key in object) { + const childPath = path.slice(); + childPath.push(key); + + try { + checkErrors(childPath, object[key]); + } catch (error: any) { + errors.push({ path: childPath, error }); + } + } + }; + checkErrors([], result); + + return errors; } export type CoerceFunc = (type: string, value: any) => any; export abstract class Coder { - - // The coder name: - // - address, uint256, tuple, array, etc. - readonly name: string; - - // The fully expanded type, including composite types: - // - address, uint256, tuple(address,bytes), uint256[3][4][], etc. - readonly type: string; - - // The localName bound in the signature, in this example it is "baz": - // - tuple(address foo, uint bar) baz - readonly localName: string; - - // Whether this type is dynamic: - // - Dynamic: bytes, string, address[], tuple(boolean[]), etc. - // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8) - readonly dynamic: boolean; - - constructor(name: string, type: string, localName: string, dynamic: boolean) { - // @TODO: defineReadOnly these - this.name = name; - this.type = type; - this.localName = localName; - this.dynamic = dynamic; - } - - _throwError(message: string, value: any): void { - logger.throwArgumentError(message, this.localName, value); - } - - abstract encode(writer: Writer, value: any): number; - abstract decode(reader: Reader): any; - - abstract defaultValue(): any; + // The coder name: + // - address, uint256, tuple, array, etc. + readonly name: string; + + // The fully expanded type, including composite types: + // - address, uint256, tuple(address,bytes), uint256[3][4][], etc. + readonly type: string; + + // The localName bound in the signature, in this example it is "baz": + // - tuple(address foo, uint bar) baz + readonly localName: string; + + // Whether this type is dynamic: + // - Dynamic: bytes, string, address[], tuple(boolean[]), etc. + // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8) + readonly dynamic: boolean; + + constructor(name: string, type: string, localName: string, dynamic: boolean) { + // @TODO: defineReadOnly these + this.name = name; + this.type = type; + this.localName = localName; + this.dynamic = dynamic; + } + + _throwError(message: string, value: any): void { + logger.throwArgumentError(message, this.localName, value); + } + + abstract encode(writer: Writer, value: any): number; + abstract decode(reader: Reader): any; + + abstract defaultValue(): any; } export class Writer { - readonly wordSize: number; - - _data: Array; - _dataLength: number; - _padding: Uint8Array; - - constructor(wordSize?: number) { - defineReadOnly(this, "wordSize", wordSize || 32); - this._data = [ ]; - this._dataLength = 0; - this._padding = new Uint8Array(wordSize); - } - - get data(): string { - return hexConcat(this._data); - } - get length(): number { return this._dataLength; } - - _writeData(data: Uint8Array): number { - this._data.push(data); - this._dataLength += data.length; - return data.length; - } - - appendWriter(writer: Writer): number { - return this._writeData(concat(writer._data)); - } - - // Arrayish items; padded on the right to wordSize - writeBytes(value: BytesLike): number { - let bytes = arrayify(value); - const paddingOffset = bytes.length % this.wordSize; - if (paddingOffset) { - bytes = concat([ bytes, this._padding.slice(paddingOffset) ]) - } - return this._writeData(bytes); - } - - _getValue(value: BigNumberish): Uint8Array { - let bytes = arrayify(BigNumber.from(value)); - if (bytes.length > this.wordSize) { - logger.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, { - length: this.wordSize, - offset: bytes.length - }); - } - if (bytes.length % this.wordSize) { - bytes = concat([ this._padding.slice(bytes.length % this.wordSize), bytes ]); - } - return bytes; - } - - // BigNumberish items; padded on the left to wordSize - writeValue(value: BigNumberish): number { - return this._writeData(this._getValue(value)); - } - - writeUpdatableValue(): (value: BigNumberish) => void { - const offset = this._data.length; - this._data.push(this._padding); - this._dataLength += this.wordSize; - return (value: BigNumberish) => { - this._data[offset] = this._getValue(value); - }; - } + readonly wordSize: number; + + _data: Array; + _dataLength: number; + _padding: Uint8Array; + + constructor(wordSize?: number) { + defineReadOnly(this, 'wordSize', wordSize || 32); + this._data = []; + this._dataLength = 0; + this._padding = new Uint8Array(wordSize); + } + + get data(): string { + return hexConcat(this._data); + } + get length(): number { + return this._dataLength; + } + + _writeData(data: Uint8Array): number { + this._data.push(data); + this._dataLength += data.length; + return data.length; + } + + appendWriter(writer: Writer): number { + return this._writeData(concat(writer._data)); + } + + // Arrayish items; padded on the right to wordSize + writeBytes(value: BytesLike): number { + let bytes = arrayify(value); + const paddingOffset = bytes.length % this.wordSize; + if (paddingOffset) { + bytes = concat([bytes, this._padding.slice(paddingOffset)]); + } + return this._writeData(bytes); + } + + _getValue(value: BigNumberish): Uint8Array { + let bytes = arrayify(BigNumber.from(value)); + if (bytes.length > this.wordSize) { + logger.throwError('value out-of-bounds', Logger.errors.BUFFER_OVERRUN, { + length: this.wordSize, + offset: bytes.length, + }); + } + if (bytes.length % this.wordSize) { + bytes = concat([this._padding.slice(bytes.length % this.wordSize), bytes]); + } + return bytes; + } + + // BigNumberish items; padded on the left to wordSize + writeValue(value: BigNumberish): number { + return this._writeData(this._getValue(value)); + } + + writeUpdatableValue(): (value: BigNumberish) => void { + const offset = this._data.length; + this._data.push(this._padding); + this._dataLength += this.wordSize; + return (value: BigNumberish) => { + this._data[offset] = this._getValue(value); + }; + } } export class Reader { - readonly wordSize: number; - readonly allowLoose: boolean; - - readonly _data: Uint8Array; - readonly _coerceFunc: CoerceFunc; - - _offset: number; - - constructor(data: BytesLike, wordSize?: number, coerceFunc?: CoerceFunc, allowLoose?: boolean) { - defineReadOnly(this, "_data", arrayify(data)); - defineReadOnly(this, "wordSize", wordSize || 32); - defineReadOnly(this, "_coerceFunc", coerceFunc); - defineReadOnly(this, "allowLoose", allowLoose); - - this._offset = 0; - } - - get data(): string { return hexlify(this._data); } - get consumed(): number { return this._offset; } - - // The default Coerce function - static coerce(name: string, value: any): any { - let match = name.match("^u?int([0-9]+)$"); - if (match && parseInt(match[1]) <= 48) { value = value.toNumber(); } - return value; - } - - coerce(name: string, value: any): any { - if (this._coerceFunc) { return this._coerceFunc(name, value); } - return Reader.coerce(name, value); - } - - _peekBytes(offset: number, length: number, loose?: boolean): Uint8Array { - let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize; - if (this._offset + alignedLength > this._data.length) { - if (this.allowLoose && loose && this._offset + length <= this._data.length) { - alignedLength = length; - } else { - logger.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, { - length: this._data.length, - offset: this._offset + alignedLength - }); - } - } - return this._data.slice(this._offset, this._offset + alignedLength) - } - - subReader(offset: number): Reader { - return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose); - } - - readBytes(length: number, loose?: boolean): Uint8Array { - let bytes = this._peekBytes(0, length, !!loose); - this._offset += bytes.length; - // @TODO: Make sure the length..end bytes are all 0? - return bytes.slice(0, length); - } - - readValue(): BigNumber { - return BigNumber.from(this.readBytes(this.wordSize)); - } + readonly wordSize: number; + readonly allowLoose: boolean; + + readonly _data: Uint8Array; + readonly _coerceFunc: CoerceFunc; + + _offset: number; + + constructor(data: BytesLike, wordSize?: number, coerceFunc?: CoerceFunc, allowLoose?: boolean) { + defineReadOnly(this, '_data', arrayify(data)); + defineReadOnly(this, 'wordSize', wordSize || 32); + defineReadOnly(this, '_coerceFunc', coerceFunc); + defineReadOnly(this, 'allowLoose', allowLoose); + + this._offset = 0; + } + + get data(): string { + return hexlify(this._data); + } + get consumed(): number { + return this._offset; + } + + // The default Coerce function + static coerce(name: string, value: any): any { + const match = name.match('^u?int([0-9]+)$'); + if (match && parseInt(match[1]) <= 48) { + value = value.toNumber(); + } + return value; + } + + coerce(name: string, value: any): any { + if (this._coerceFunc) { + return this._coerceFunc(name, value); + } + return Reader.coerce(name, value); + } + + _peekBytes(offset: number, length: number, loose?: boolean): Uint8Array { + let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize; + if (this._offset + alignedLength > this._data.length) { + if (this.allowLoose && loose && this._offset + length <= this._data.length) { + alignedLength = length; + } else { + logger.throwError('data out-of-bounds', Logger.errors.BUFFER_OVERRUN, { + length: this._data.length, + offset: this._offset + alignedLength, + }); + } + } + return this._data.slice(this._offset, this._offset + alignedLength); + } + + subReader(offset: number): Reader { + return new Reader( + this._data.slice(this._offset + offset), + this.wordSize, + this._coerceFunc, + this.allowLoose, + ); + } + + readBytes(length: number, loose?: boolean): Uint8Array { + const bytes = this._peekBytes(0, length, !!loose); + this._offset += bytes.length; + // @TODO: Make sure the length..end bytes are all 0? + return bytes.slice(0, length); + } + + readValue(): BigNumber { + return BigNumber.from(this.readBytes(this.wordSize)); + } } diff --git a/packages/abi/src/coders/address.ts b/packages/abi/src/coders/address.ts index 5208cee5..ab6afe4d 100644 --- a/packages/abi/src/coders/address.ts +++ b/packages/abi/src/coders/address.ts @@ -1,32 +1,45 @@ -"use strict"; +/* +This file is part of web3.js. -import { getAddress } from "@ethersproject/address"; -import { hexZeroPad } from "@ethersproject/bytes"; -import { hexToAddress, addressToHex } from "@theqrl/web3-utils"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. -export class AddressCoder extends Coder { +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ - constructor(localName: string) { - super("address", "address", localName, false); - } - - defaultValue(): string { - return "Z0000000000000000000000000000000000000000"; - } - - encode(writer: Writer, value: string): number { - try { - value = getAddress(addressToHex(value)) - } catch (error: any) { - this._throwError(error.message, value); - } - return writer.writeValue(value); - } - - decode(reader: Reader): any { - return hexToAddress(getAddress(hexZeroPad(reader.readValue().toHexString(), 20))); - } -} +import { getAddress } from '@ethersproject/address'; +import { hexZeroPad } from '@ethersproject/bytes'; +import { hexToAddress, addressToHex } from '@theqrl/web3-utils'; + +import { Coder, Reader, Writer } from './abstract-coder.js'; +export class AddressCoder extends Coder { + constructor(localName: string) { + super('address', 'address', localName, false); + } + + defaultValue(): string { + return 'Z0000000000000000000000000000000000000000'; + } + + encode(writer: Writer, value: string): number { + try { + value = getAddress(addressToHex(value)); + } catch (error: any) { + this._throwError(error.message, value); + } + return writer.writeValue(value); + } + + decode(reader: Reader): any { + return hexToAddress(getAddress(hexZeroPad(reader.readValue().toHexString(), 20))); + } +} diff --git a/packages/abi/src/coders/anonymous.ts b/packages/abi/src/coders/anonymous.ts index 9bf778e6..d5c26025 100644 --- a/packages/abi/src/coders/anonymous.ts +++ b/packages/abi/src/coders/anonymous.ts @@ -1,25 +1,40 @@ -"use strict"; +/* +This file is part of web3.js. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { Coder, Reader, Writer } from './abstract-coder.js'; // Clones the functionality of an existing Coder, but without a localName export class AnonymousCoder extends Coder { - private coder: Coder; + private readonly coder: Coder; - constructor(coder: Coder) { - super(coder.name, coder.type, undefined, coder.dynamic); - this.coder = coder; - } + constructor(coder: Coder) { + super(coder.name, coder.type, undefined, coder.dynamic); + this.coder = coder; + } - defaultValue(): any { - return this.coder.defaultValue(); - } + defaultValue(): any { + return this.coder.defaultValue(); + } - encode(writer: Writer, value: any): number { - return this.coder.encode(writer, value); - } + encode(writer: Writer, value: any): number { + return this.coder.encode(writer, value); + } - decode(reader: Reader): any { - return this.coder.decode(reader); - } + decode(reader: Reader): any { + return this.coder.decode(reader); + } } diff --git a/packages/abi/src/coders/array.ts b/packages/abi/src/coders/array.ts index 73bf46e6..6462797e 100644 --- a/packages/abi/src/coders/array.ts +++ b/packages/abi/src/coders/array.ts @@ -1,236 +1,284 @@ -"use strict"; +/* +This file is part of web3.js. -import { Logger } from "@ethersproject/logger"; -import { version } from "../_version"; -const logger = new Logger(version); - -import { Coder, Reader, Result, Writer } from "./abstract-coder"; -import { AnonymousCoder } from "./anonymous"; - -export function pack(writer: Writer, coders: ReadonlyArray, values: Array | { [ name: string ]: any }): number { - let arrayValues: Array = null; - - if (Array.isArray(values)) { - arrayValues = values; - - } else if (values && typeof(values) === "object") { - let unique: { [ name: string ]: boolean } = { }; - - arrayValues = coders.map((coder) => { - const name = coder.localName; - if (!name) { - logger.throwError("cannot encode object for signature with missing names", Logger.errors.INVALID_ARGUMENT, { - argument: "values", - coder: coder, - value: values - }); - } - - if (unique[name]) { - logger.throwError("cannot encode object for signature with duplicate names", Logger.errors.INVALID_ARGUMENT, { - argument: "values", - coder: coder, - value: values - }); - } - - unique[name] = true; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. - return values[name]; - }); +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. - } else { - logger.throwArgumentError("invalid tuple value", "tuple", values); - } +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ - if (coders.length !== arrayValues.length) { - logger.throwArgumentError("types/value length mismatch", "tuple", values); - } +import { Logger } from '@ethersproject/logger'; +import { version } from '../_version.js'; - let staticWriter = new Writer(writer.wordSize); - let dynamicWriter = new Writer(writer.wordSize); +import { Coder, Reader, Result, Writer } from './abstract-coder.js'; +import { AnonymousCoder } from './anonymous.js'; - let updateFuncs: Array<(baseOffset: number) => void> = []; - coders.forEach((coder, index) => { - let value = arrayValues[index]; - - if (coder.dynamic) { - // Get current dynamic offset (for the future pointer) - let dynamicOffset = dynamicWriter.length; - - // Encode the dynamic value into the dynamicWriter - coder.encode(dynamicWriter, value); - - // Prepare to populate the correct offset once we are done - let updateFunc = staticWriter.writeUpdatableValue(); - updateFuncs.push((baseOffset: number) => { - updateFunc(baseOffset + dynamicOffset); - }); - - } else { - coder.encode(staticWriter, value); - } - }); - - // Backfill all the dynamic offsets, now that we know the static length - updateFuncs.forEach((func) => { func(staticWriter.length); }); +const logger = new Logger(version); - let length = writer.appendWriter(staticWriter); - length += writer.appendWriter(dynamicWriter); - return length; +export function pack( + writer: Writer, + coders: ReadonlyArray, + values: Array | { [name: string]: any }, +): number { + let arrayValues: Array = null; + + if (Array.isArray(values)) { + arrayValues = values; + } else if (values && typeof values === 'object') { + const unique: { [name: string]: boolean } = {}; + + arrayValues = coders.map(coder => { + const name = coder.localName; + if (!name) { + logger.throwError( + 'cannot encode object for signature with missing names', + Logger.errors.INVALID_ARGUMENT, + { + argument: 'values', + coder, + value: values, + }, + ); + } + + if (unique[name]) { + logger.throwError( + 'cannot encode object for signature with duplicate names', + Logger.errors.INVALID_ARGUMENT, + { + argument: 'values', + coder, + value: values, + }, + ); + } + + unique[name] = true; + + return values[name]; + }); + } else { + logger.throwArgumentError('invalid tuple value', 'tuple', values); + } + + if (coders.length !== arrayValues.length) { + logger.throwArgumentError('types/value length mismatch', 'tuple', values); + } + + const staticWriter = new Writer(writer.wordSize); + const dynamicWriter = new Writer(writer.wordSize); + + const updateFuncs: Array<(baseOffset: number) => void> = []; + coders.forEach((coder, index) => { + const value = arrayValues[index]; + + if (coder.dynamic) { + // Get current dynamic offset (for the future pointer) + const dynamicOffset = dynamicWriter.length; + + // Encode the dynamic value into the dynamicWriter + coder.encode(dynamicWriter, value); + + // Prepare to populate the correct offset once we are done + const updateFunc = staticWriter.writeUpdatableValue(); + updateFuncs.push((baseOffset: number) => { + updateFunc(baseOffset + dynamicOffset); + }); + } else { + coder.encode(staticWriter, value); + } + }); + + // Backfill all the dynamic offsets, now that we know the static length + updateFuncs.forEach(func => { + func(staticWriter.length); + }); + + let length = writer.appendWriter(staticWriter); + length += writer.appendWriter(dynamicWriter); + return length; } export function unpack(reader: Reader, coders: Array): Result { - let values: any = []; - - // A reader anchored to this base - let baseReader = reader.subReader(0); - - coders.forEach((coder) => { - let value: any = null; - - if (coder.dynamic) { - let offset = reader.readValue(); - let offsetReader = baseReader.subReader(offset.toNumber()); - try { - value = coder.decode(offsetReader); - } catch (error: any) { - // Cannot recover from this - if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; } - value = error; - value.baseType = coder.name; - value.name = coder.localName; - value.type = coder.type; - } - - } else { - try { - value = coder.decode(reader); - } catch (error: any) { - // Cannot recover from this - if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; } - value = error; - value.baseType = coder.name; - value.name = coder.localName; - value.type = coder.type; - } - } - - if (value != undefined) { - values.push(value); - } - }); - - // We only output named properties for uniquely named coders - const uniqueNames = coders.reduce((accum, coder) => { - const name = coder.localName; - if (name) { - if (!accum[name]) { accum[name] = 0; } - accum[name]++; - } - return accum; - }, <{ [ name: string ]: number }>{ }); - - // Add any named parameters (i.e. tuples) - coders.forEach((coder: Coder, index: number) => { - let name = coder.localName; - if (!name || uniqueNames[name] !== 1) { return; } - - if (name === "length") { name = "_length"; } - - if (values[name] != null) { return; } - - const value = values[index]; - - if (value instanceof Error) { - Object.defineProperty(values, name, { - enumerable: true, - get: () => { throw value; } - }); - } else { - values[name] = value; - } - }); - - for (let i = 0; i < values.length; i++) { - const value = values[i]; - if (value instanceof Error) { - Object.defineProperty(values, i, { - enumerable: true, - get: () => { throw value; } - }); - } - } - - return Object.freeze(values); + const values: any = []; + + // A reader anchored to this base + const baseReader = reader.subReader(0); + + coders.forEach(coder => { + let value: any = null; + + if (coder.dynamic) { + const offset = reader.readValue(); + const offsetReader = baseReader.subReader(offset.toNumber()); + try { + value = coder.decode(offsetReader); + } catch (error: any) { + // Cannot recover from this + if (error.code === Logger.errors.BUFFER_OVERRUN) { + throw error; + } + value = error; + value.baseType = coder.name; + value.name = coder.localName; + value.type = coder.type; + } + } else { + try { + value = coder.decode(reader); + } catch (error: any) { + // Cannot recover from this + if (error.code === Logger.errors.BUFFER_OVERRUN) { + throw error; + } + value = error; + value.baseType = coder.name; + value.name = coder.localName; + value.type = coder.type; + } + } + + if (value != undefined) { + values.push(value); + } + }); + + // We only output named properties for uniquely named coders + const uniqueNames = coders.reduce<{ [name: string]: number }>((accum, coder) => { + const name = coder.localName; + if (name) { + if (!accum[name]) { + accum[name] = 0; + } + accum[name]++; + } + return accum; + }, {}); + + // Add any named parameters (i.e. tuples) + coders.forEach((coder: Coder, index: number) => { + let name = coder.localName; + if (!name || uniqueNames[name] !== 1) { + return; + } + + if (name === 'length') { + name = '_length'; + } + + if (values[name] != null) { + return; + } + + const value = values[index]; + + if (value instanceof Error) { + Object.defineProperty(values, name, { + enumerable: true, + get: () => { + throw value; + }, + }); + } else { + values[name] = value; + } + }); + + for (let i = 0; i < values.length; i++) { + const value = values[i]; + if (value instanceof Error) { + Object.defineProperty(values, i, { + enumerable: true, + get: () => { + throw value; + }, + }); + } + } + + return Object.freeze(values); } - export class ArrayCoder extends Coder { - readonly coder: Coder; - readonly length: number; - - constructor(coder: Coder, length: number, localName: string) { - const type = (coder.type + "[" + (length >= 0 ? length: "") + "]"); - const dynamic = (length === -1 || coder.dynamic); - super("array", type, localName, dynamic); - - this.coder = coder; - this.length = length; - } - - defaultValue(): Array { - // Verifies the child coder is valid (even if the array is dynamic or 0-length) - const defaultChild = this.coder.defaultValue(); - - const result: Array = []; - for (let i = 0; i < this.length; i++) { - result.push(defaultChild); - } - return result; - } - - encode(writer: Writer, value: Array): number { - if (!Array.isArray(value)) { - this._throwError("expected array value", value); - } - - let count = this.length; - - if (count === -1) { - count = value.length; - writer.writeValue(value.length); - } - - logger.checkArgumentCount(value.length, count, "coder array" + (this.localName? (" "+ this.localName): "")); - - let coders = []; - for (let i = 0; i < value.length; i++) { coders.push(this.coder); } - - return pack(writer, coders, value); - } - - decode(reader: Reader): any { - let count = this.length; - if (count === -1) { - count = reader.readValue().toNumber(); - - // Check that there is *roughly* enough data to ensure - // stray random data is not being read as a length. Each - // slot requires at least 32 bytes for their value (or 32 - // bytes as a link to the data). This could use a much - // tighter bound, but we are erroring on the side of safety. - if (count * 32 > reader._data.length) { - logger.throwError("insufficient data length", Logger.errors.BUFFER_OVERRUN, { - length: reader._data.length, - count: count - }); - } - } - let coders = []; - for (let i = 0; i < count; i++) { coders.push(new AnonymousCoder(this.coder)); } - - return reader.coerce(this.name, unpack(reader, coders)); - } + readonly coder: Coder; + readonly length: number; + + constructor(coder: Coder, length: number, localName: string) { + const type = `${coder.type}[${length >= 0 ? length : ''}]`; + const dynamic = length === -1 || coder.dynamic; + super('array', type, localName, dynamic); + + this.coder = coder; + this.length = length; + } + + defaultValue(): Array { + // Verifies the child coder is valid (even if the array is dynamic or 0-length) + const defaultChild = this.coder.defaultValue(); + + const result: Array = []; + for (let i = 0; i < this.length; i++) { + result.push(defaultChild); + } + return result; + } + + encode(writer: Writer, value: Array): number { + if (!Array.isArray(value)) { + this._throwError('expected array value', value); + } + + let count = this.length; + + if (count === -1) { + count = value.length; + writer.writeValue(value.length); + } + + logger.checkArgumentCount( + value.length, + count, + `coder array${this.localName ? ` ${this.localName}` : ''}`, + ); + + const coders = []; + for (let i = 0; i < value.length; i++) { + coders.push(this.coder); + } + + return pack(writer, coders, value); + } + + decode(reader: Reader): any { + let count = this.length; + if (count === -1) { + count = reader.readValue().toNumber(); + + // Check that there is *roughly* enough data to ensure + // stray random data is not being read as a length. Each + // slot requires at least 32 bytes for their value (or 32 + // bytes as a link to the data). This could use a much + // tighter bound, but we are erroring on the side of safety. + if (count * 32 > reader._data.length) { + logger.throwError('insufficient data length', Logger.errors.BUFFER_OVERRUN, { + length: reader._data.length, + count, + }); + } + } + const coders = []; + for (let i = 0; i < count; i++) { + coders.push(new AnonymousCoder(this.coder)); + } + + return reader.coerce(this.name, unpack(reader, coders)); + } } - diff --git a/packages/abi/src/coders/boolean.ts b/packages/abi/src/coders/boolean.ts index ff3d1d80..bee909c5 100644 --- a/packages/abi/src/coders/boolean.ts +++ b/packages/abi/src/coders/boolean.ts @@ -1,23 +1,36 @@ -"use strict"; +/* +This file is part of web3.js. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -export class BooleanCoder extends Coder { +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. - constructor(localName: string) { - super("bool", "bool", localName, false); - } +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ - defaultValue(): boolean { - return false; - } +import { Coder, Reader, Writer } from './abstract-coder.js'; - encode(writer: Writer, value: boolean): number { - return writer.writeValue(value ? 1: 0); - } +export class BooleanCoder extends Coder { + constructor(localName: string) { + super('bool', 'bool', localName, false); + } - decode(reader: Reader): any { - return reader.coerce(this.type, !reader.readValue().isZero()); - } -} + defaultValue(): boolean { + return false; + } + encode(writer: Writer, value: boolean): number { + return writer.writeValue(value ? 1 : 0); + } + + decode(reader: Reader): any { + return reader.coerce(this.type, !reader.readValue().isZero()); + } +} diff --git a/packages/abi/src/coders/bytes.ts b/packages/abi/src/coders/bytes.ts index bc2b20a9..380609f3 100644 --- a/packages/abi/src/coders/bytes.ts +++ b/packages/abi/src/coders/bytes.ts @@ -1,38 +1,51 @@ -"use strict"; +/* +This file is part of web3.js. -import { arrayify, hexlify } from "@ethersproject/bytes"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { arrayify, hexlify } from '@ethersproject/bytes'; + +import { Coder, Reader, Writer } from './abstract-coder.js'; export class DynamicBytesCoder extends Coder { - constructor(type: string, localName: string) { - super(type, type, localName, true); - } - - defaultValue(): string { - return "0x"; - } - - encode(writer: Writer, value: any): number { - value = arrayify(value); - let length = writer.writeValue(value.length); - length += writer.writeBytes(value); - return length; - } - - decode(reader: Reader): any { - return reader.readBytes(reader.readValue().toNumber(), true); - } + constructor(type: string, localName: string) { + super(type, type, localName, true); + } + + defaultValue(): string { + return '0x'; + } + + encode(writer: Writer, value: any): number { + value = arrayify(value); + let length = writer.writeValue(value.length); + length += writer.writeBytes(value); + return length; + } + + decode(reader: Reader): any { + return reader.readBytes(reader.readValue().toNumber(), true); + } } export class BytesCoder extends DynamicBytesCoder { - constructor(localName: string) { - super("bytes", localName); - } + constructor(localName: string) { + super('bytes', localName); + } - decode(reader: Reader): any { - return reader.coerce(this.name, hexlify(super.decode(reader))); - } + decode(reader: Reader): any { + return reader.coerce(this.name, hexlify(super.decode(reader))); + } } - - diff --git a/packages/abi/src/coders/fixed-bytes.ts b/packages/abi/src/coders/fixed-bytes.ts index ebf4e23f..41803596 100644 --- a/packages/abi/src/coders/fixed-bytes.ts +++ b/packages/abi/src/coders/fixed-bytes.ts @@ -1,30 +1,50 @@ -"use strict"; +/* +This file is part of web3.js. -import { arrayify, BytesLike, hexlify } from "@ethersproject/bytes"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { arrayify, BytesLike, hexlify } from '@ethersproject/bytes'; + +import { Coder, Reader, Writer } from './abstract-coder.js'; // @TODO: Merge this with bytes export class FixedBytesCoder extends Coder { - readonly size: number; - - constructor(size: number, localName: string) { - let name = "bytes" + String(size); - super(name, name, localName, false); - this.size = size; - } - - defaultValue(): string { - return ("0x0000000000000000000000000000000000000000000000000000000000000000").substring(0, 2 + this.size * 2); - } - - encode(writer: Writer, value: BytesLike): number { - let data = arrayify(value); - if (data.length !== this.size) { this._throwError("incorrect data length", value); } - return writer.writeBytes(data); - } - - decode(reader: Reader): any { - return reader.coerce(this.name, hexlify(reader.readBytes(this.size))); - } + readonly size: number; + + constructor(size: number, localName: string) { + const name = `bytes${String(size)}`; + super(name, name, localName, false); + this.size = size; + } + + defaultValue(): string { + return '0x0000000000000000000000000000000000000000000000000000000000000000'.substring( + 0, + 2 + this.size * 2, + ); + } + + encode(writer: Writer, value: BytesLike): number { + const data = arrayify(value); + if (data.length !== this.size) { + this._throwError('incorrect data length', value); + } + return writer.writeBytes(data); + } + + decode(reader: Reader): any { + return reader.coerce(this.name, hexlify(reader.readBytes(this.size))); + } } diff --git a/packages/abi/src/coders/null.ts b/packages/abi/src/coders/null.ts index c7377bea..e85a216a 100644 --- a/packages/abi/src/coders/null.ts +++ b/packages/abi/src/coders/null.ts @@ -1,24 +1,40 @@ -"use strict"; +/* +This file is part of web3.js. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -export class NullCoder extends Coder { +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ - constructor(localName: string) { - super("null", "", localName, false); - } +import { Coder, Reader, Writer } from './abstract-coder.js'; + +export class NullCoder extends Coder { + constructor(localName: string) { + super('null', '', localName, false); + } - defaultValue(): null { - return null; - } + defaultValue(): null { + return null; + } - encode(writer: Writer, value: any): number { - if (value != null) { this._throwError("not null", value); } - return writer.writeBytes([ ]); - } + encode(writer: Writer, value: any): number { + if (value != null) { + this._throwError('not null', value); + } + return writer.writeBytes([]); + } - decode(reader: Reader): any { - reader.readBytes(0); - return reader.coerce(this.name, null); - } + decode(reader: Reader): any { + reader.readBytes(0); + return reader.coerce(this.name, null); + } } diff --git a/packages/abi/src/coders/number.ts b/packages/abi/src/coders/number.ts index 031cbdc9..2fb7fd1e 100644 --- a/packages/abi/src/coders/number.ts +++ b/packages/abi/src/coders/number.ts @@ -1,57 +1,71 @@ -"use strict"; +/* +This file is part of web3.js. -import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; -import { MaxUint256, NegativeOne, One, Zero } from "@ethersproject/constants"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -import { Coder, Reader, Writer } from "./abstract-coder"; +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { BigNumber, BigNumberish } from '@ethersproject/bignumber'; +import { MaxUint256, NegativeOne, One, Zero } from '@ethersproject/constants'; + +import { Coder, Reader, Writer } from './abstract-coder.js'; export class NumberCoder extends Coder { - readonly size: number; - readonly signed: boolean; + readonly size: number; + readonly signed: boolean; - constructor(size: number, signed: boolean, localName: string) { - const name = ((signed ? "int": "uint") + (size * 8)); - super(name, name, localName, false); + constructor(size: number, signed: boolean, localName: string) { + const name = (signed ? 'int' : 'uint') + size * 8; + super(name, name, localName, false); - this.size = size; - this.signed = signed; - } + this.size = size; + this.signed = signed; + } - defaultValue(): number { - return 0; - } + defaultValue(): number { + return 0; + } - encode(writer: Writer, value: BigNumberish): number { - let v = BigNumber.from(value); + encode(writer: Writer, value: BigNumberish): number { + let v = BigNumber.from(value); - // Check bounds are safe for encoding - let maxUintValue = MaxUint256.mask(writer.wordSize * 8); - if (this.signed) { - let bounds = maxUintValue.mask(this.size * 8 - 1); - if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) { - this._throwError("value out-of-bounds", value); - } - } else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) { - this._throwError("value out-of-bounds", value); - } + // Check bounds are safe for encoding + const maxUintValue = MaxUint256.mask(writer.wordSize * 8); + if (this.signed) { + const bounds = maxUintValue.mask(this.size * 8 - 1); + if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) { + this._throwError('value out-of-bounds', value); + } + } else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) { + this._throwError('value out-of-bounds', value); + } - v = v.toTwos(this.size * 8).mask(this.size * 8); + v = v.toTwos(this.size * 8).mask(this.size * 8); - if (this.signed) { - v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize); - } + if (this.signed) { + v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize); + } - return writer.writeValue(v); - } + return writer.writeValue(v); + } - decode(reader: Reader): any { - let value = reader.readValue().mask(this.size * 8); + decode(reader: Reader): any { + let value = reader.readValue().mask(this.size * 8); - if (this.signed) { - value = value.fromTwos(this.size * 8); - } + if (this.signed) { + value = value.fromTwos(this.size * 8); + } - return reader.coerce(this.name, value); - } + return reader.coerce(this.name, value); + } } - diff --git a/packages/abi/src/coders/string.ts b/packages/abi/src/coders/string.ts index c2625f8a..515cf3bc 100644 --- a/packages/abi/src/coders/string.ts +++ b/packages/abi/src/coders/string.ts @@ -1,25 +1,39 @@ -"use strict"; +/* +This file is part of web3.js. -import { toUtf8Bytes, toUtf8String } from "@ethersproject/strings"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. -import { Reader, Writer } from "./abstract-coder"; -import { DynamicBytesCoder } from "./bytes"; +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. -export class StringCoder extends DynamicBytesCoder { +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { toUtf8Bytes, toUtf8String } from '@ethersproject/strings'; - constructor(localName: string) { - super("string", localName); - } +import { Reader, Writer } from './abstract-coder.js'; +import { DynamicBytesCoder } from './bytes.js'; + +export class StringCoder extends DynamicBytesCoder { + constructor(localName: string) { + super('string', localName); + } - defaultValue(): string { - return ""; - } + defaultValue(): string { + return ''; + } - encode(writer: Writer, value: any): number { - return super.encode(writer, toUtf8Bytes(value)); - } + encode(writer: Writer, value: any): number { + return super.encode(writer, toUtf8Bytes(value)); + } - decode(reader: Reader): any { - return toUtf8String(super.decode(reader)); - } + decode(reader: Reader): any { + return toUtf8String(super.decode(reader)); + } } diff --git a/packages/abi/src/coders/tuple.ts b/packages/abi/src/coders/tuple.ts index 9b2cf5c1..1c455e62 100644 --- a/packages/abi/src/coders/tuple.ts +++ b/packages/abi/src/coders/tuple.ts @@ -1,61 +1,85 @@ -"use strict"; +/* +This file is part of web3.js. -import { Coder, Reader, Writer } from "./abstract-coder"; -import { pack, unpack } from "./array"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { Coder, Reader, Writer } from './abstract-coder.js'; +import { pack, unpack } from './array.js'; export class TupleCoder extends Coder { - readonly coders: Array; - - constructor(coders: Array, localName: string) { - let dynamic = false; - const types: Array = []; - coders.forEach((coder) => { - if (coder.dynamic) { dynamic = true; } - types.push(coder.type); - }); - const type = ("tuple(" + types.join(",") + ")"); - - super("tuple", type, localName, dynamic); - this.coders = coders; - } - - defaultValue(): any { - const values: any = [ ]; - this.coders.forEach((coder) => { - values.push(coder.defaultValue()); - }); - - // We only output named properties for uniquely named coders - const uniqueNames = this.coders.reduce((accum, coder) => { - const name = coder.localName; - if (name) { - if (!accum[name]) { accum[name] = 0; } - accum[name]++; - } - return accum; - }, <{ [ name: string ]: number }>{ }); - - // Add named values - this.coders.forEach((coder: Coder, index: number) => { - let name = coder.localName; - if (!name || uniqueNames[name] !== 1) { return; } - - if (name === "length") { name = "_length"; } - - if (values[name] != null) { return; } - - values[name] = values[index]; - }); - - return Object.freeze(values); - } - - encode(writer: Writer, value: Array | { [ name: string ]: any }): number { - return pack(writer, this.coders, value); - } - - decode(reader: Reader): any { - return reader.coerce(this.name, unpack(reader, this.coders)); - } -} + readonly coders: Array; + + constructor(coders: Array, localName: string) { + let dynamic = false; + const types: Array = []; + coders.forEach(coder => { + if (coder.dynamic) { + dynamic = true; + } + types.push(coder.type); + }); + const type = `tuple(${types.join(',')})`; + + super('tuple', type, localName, dynamic); + this.coders = coders; + } + + defaultValue(): any { + const values: any = []; + this.coders.forEach(coder => { + values.push(coder.defaultValue()); + }); + + // We only output named properties for uniquely named coders + const uniqueNames = this.coders.reduce<{ [name: string]: number }>((accum, coder) => { + const name = coder.localName; + if (name) { + if (!accum[name]) { + accum[name] = 0; + } + accum[name]++; + } + return accum; + }, {}); + // Add named values + this.coders.forEach((coder: Coder, index: number) => { + let name = coder.localName; + if (!name || uniqueNames[name] !== 1) { + return; + } + + if (name === 'length') { + name = '_length'; + } + + if (values[name] != null) { + return; + } + + values[name] = values[index]; + }); + + return Object.freeze(values); + } + + encode(writer: Writer, value: Array | { [name: string]: any }): number { + return pack(writer, this.coders, value); + } + + decode(reader: Reader): any { + return reader.coerce(this.name, unpack(reader, this.coders)); + } +} diff --git a/packages/abi/src/fragments.ts b/packages/abi/src/fragments.ts index 65966200..280c8d55 100644 --- a/packages/abi/src/fragments.ts +++ b/packages/abi/src/fragments.ts @@ -1,1070 +1,1160 @@ -"use strict"; +/* +This file is part of web3.js. -import { BigNumber } from "@ethersproject/bignumber"; -import { defineReadOnly } from "@ethersproject/properties"; +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { BigNumber } from '@ethersproject/bignumber'; +import { defineReadOnly } from '@ethersproject/properties'; + +import { Logger } from '@ethersproject/logger'; +import { version } from './_version.js'; -import { Logger } from "@ethersproject/logger"; -import { version } from "./_version"; const logger = new Logger(version); export interface JsonFragmentType { - readonly name?: string; - readonly indexed?: boolean; - readonly type?: string; - readonly internalType?: any; // @TODO: in v6 reduce type - readonly components?: ReadonlyArray; + readonly name?: string; + readonly indexed?: boolean; + readonly type?: string; + readonly internalType?: any; // @TODO: in v6 reduce type + readonly components?: ReadonlyArray; } export interface JsonFragment { - readonly name?: string; - readonly type?: string; + readonly name?: string; + readonly type?: string; - readonly anonymous?: boolean; + readonly anonymous?: boolean; - readonly payable?: boolean; - readonly constant?: boolean; - readonly stateMutability?: string; + readonly payable?: boolean; + readonly constant?: boolean; + readonly stateMutability?: string; - readonly inputs?: ReadonlyArray; - readonly outputs?: ReadonlyArray; + readonly inputs?: ReadonlyArray; + readonly outputs?: ReadonlyArray; - readonly gas?: string; -}; + readonly gas?: string; +} -const _constructorGuard = { }; +const _constructorGuard = {}; // AST Node parser state type ParseState = { - allowArray?: boolean, - allowName?: boolean, - allowParams?: boolean, - allowType?: boolean, - readArray?: boolean, + allowArray?: boolean; + allowName?: boolean; + allowParams?: boolean; + allowType?: boolean; + readArray?: boolean; }; // AST Node type ParseNode = { - parent?: any, - type?: string, - name?: string, - state?: ParseState, - indexed?: boolean, - components?: Array + parent?: any; + type?: string; + name?: string; + state?: ParseState; + indexed?: boolean; + components?: Array; }; -let ModifiersBytes: { [ name: string ]: boolean } = { calldata: true, memory: true, storage: true }; -let ModifiersNest: { [ name: string ]: boolean } = { calldata: true, memory: true }; +const ModifiersBytes: { [name: string]: boolean } = { calldata: true, memory: true, storage: true }; +const ModifiersNest: { [name: string]: boolean } = { calldata: true, memory: true }; function checkModifier(type: string, name: string): boolean { - if (type === "bytes" || type === "string") { - if (ModifiersBytes[name]) { return true; } - } else if (type === "address") { - if (name === "payable") { return true; } - } else if (type.indexOf("[") >= 0 || type === "tuple") { - if (ModifiersNest[name]) { return true; } - } - if (ModifiersBytes[name] || name === "payable") { - logger.throwArgumentError("invalid modifier", "name", name); - } - return false; + if (type === 'bytes' || type === 'string') { + if (ModifiersBytes[name]) { + return true; + } + } else if (type === 'address') { + if (name === 'payable') { + return true; + } + } else if (type.includes('[') || type === 'tuple') { + if (ModifiersNest[name]) { + return true; + } + } + if (ModifiersBytes[name] || name === 'payable') { + logger.throwArgumentError('invalid modifier', 'name', name); + } + return false; } // @TODO: Make sure that children of an indexed tuple are marked with a null indexed function parseParamType(param: string, allowIndexed: boolean): ParseNode { - - let originalParam = param; - function throwError(i: number) { - logger.throwArgumentError(`unexpected character at position ${ i }`, "param", param); - } - param = param.replace(/\s/g, " "); - - function newNode(parent: ParseNode): ParseNode { - let node: ParseNode = { type: "", name: "", parent: parent, state: { allowType: true } }; - if (allowIndexed) { node.indexed = false; } - return node - } - - let parent: ParseNode = { type: "", name: "", state: { allowType: true } }; - let node = parent; - - for (let i = 0; i < param.length; i++) { - let c = param[i]; - switch (c) { - case "(": - if (node.state.allowType && node.type === "") { - node.type = "tuple"; - } else if (!node.state.allowParams) { - throwError(i); - } - node.state.allowType = false; - node.type = verifyType(node.type); - node.components = [ newNode(node) ]; - node = node.components[0]; - break; - - case ")": - delete node.state; - - if (node.name === "indexed") { - if (!allowIndexed) { throwError(i); } - node.indexed = true; - node.name = ""; - } - - if (checkModifier(node.type, node.name)) { node.name = ""; } - - node.type = verifyType(node.type); - - let child = node; - node = node.parent; - if (!node) { throwError(i); } - delete child.parent; - node.state.allowParams = false; - node.state.allowName = true; - node.state.allowArray = true; - break; - - case ",": - delete node.state; - - if (node.name === "indexed") { - if (!allowIndexed) { throwError(i); } - node.indexed = true; - node.name = ""; - } - - if (checkModifier(node.type, node.name)) { node.name = ""; } - - node.type = verifyType(node.type); - - let sibling: ParseNode = newNode(node.parent); - //{ type: "", name: "", parent: node.parent, state: { allowType: true } }; - node.parent.components.push(sibling); - delete node.parent; - node = sibling; - break; - - // Hit a space... - case " ": - - // If reading type, the type is done and may read a param or name - if (node.state.allowType) { - if (node.type !== "") { - node.type = verifyType(node.type); - delete node.state.allowType; - node.state.allowName = true; - node.state.allowParams = true; - } - } - - // If reading name, the name is done - if (node.state.allowName) { - if (node.name !== "") { - if (node.name === "indexed") { - if (!allowIndexed) { throwError(i); } - if (node.indexed) { throwError(i); } - node.indexed = true; - node.name = ""; - } else if (checkModifier(node.type, node.name)) { - node.name = ""; - } else { - node.state.allowName = false; - } - } - } - - break; - - case "[": - if (!node.state.allowArray) { throwError(i); } - - node.type += c; - - node.state.allowArray = false; - node.state.allowName = false; - node.state.readArray = true; - break; - - case "]": - if (!node.state.readArray) { throwError(i); } - - node.type += c; - - node.state.readArray = false; - node.state.allowArray = true; - node.state.allowName = true; - break; - - default: - if (node.state.allowType) { - node.type += c; - node.state.allowParams = true; - node.state.allowArray = true; - } else if (node.state.allowName) { - node.name += c; - delete node.state.allowArray; - } else if (node.state.readArray) { - node.type += c; - } else { - throwError(i); - } - } - } - - if (node.parent) { logger.throwArgumentError("unexpected eof", "param", param); } - - delete parent.state; - - if (node.name === "indexed") { - if (!allowIndexed) { throwError(originalParam.length - 7); } - if (node.indexed) { throwError(originalParam.length - 7); } - node.indexed = true; - node.name = ""; - } else if (checkModifier(node.type, node.name)) { - node.name = ""; - } - - parent.type = verifyType(parent.type); - - return parent; + const originalParam = param; + function throwError(i: number) { + logger.throwArgumentError(`unexpected character at position ${i}`, 'param', param); + } + param = param.replace(/\s/g, ' '); + + function newNode(parent: ParseNode): ParseNode { + const node: ParseNode = { type: '', name: '', parent, state: { allowType: true } }; + if (allowIndexed) { + node.indexed = false; + } + return node; + } + + const parent: ParseNode = { type: '', name: '', state: { allowType: true } }; + let node = parent; + + for (let i = 0; i < param.length; i++) { + const c = param[i]; + switch (c) { + case '(': + if (node.state.allowType && node.type === '') { + node.type = 'tuple'; + } else if (!node.state.allowParams) { + throwError(i); + } + node.state.allowType = false; + node.type = verifyType(node.type); + node.components = [newNode(node)]; + node = node.components[0]; + break; + + case ')': + delete node.state; + + if (node.name === 'indexed') { + if (!allowIndexed) { + throwError(i); + } + node.indexed = true; + node.name = ''; + } + + if (checkModifier(node.type, node.name)) { + node.name = ''; + } + + node.type = verifyType(node.type); + + const child = node; + node = node.parent; + if (!node) { + throwError(i); + } + delete child.parent; + node.state.allowParams = false; + node.state.allowName = true; + node.state.allowArray = true; + break; + + case ',': + delete node.state; + + if (node.name === 'indexed') { + if (!allowIndexed) { + throwError(i); + } + node.indexed = true; + node.name = ''; + } + + if (checkModifier(node.type, node.name)) { + node.name = ''; + } + + node.type = verifyType(node.type); + + const sibling: ParseNode = newNode(node.parent); + // { type: "", name: "", parent: node.parent, state: { allowType: true } }; + node.parent.components.push(sibling); + delete node.parent; + node = sibling; + break; + + // Hit a space... + case ' ': + // If reading type, the type is done and may read a param or name + if (node.state.allowType) { + if (node.type !== '') { + node.type = verifyType(node.type); + delete node.state.allowType; + node.state.allowName = true; + node.state.allowParams = true; + } + } + + // If reading name, the name is done + if (node.state.allowName) { + if (node.name !== '') { + if (node.name === 'indexed') { + if (!allowIndexed) { + throwError(i); + } + if (node.indexed) { + throwError(i); + } + node.indexed = true; + node.name = ''; + } else if (checkModifier(node.type, node.name)) { + node.name = ''; + } else { + node.state.allowName = false; + } + } + } + + break; + + case '[': + if (!node.state.allowArray) { + throwError(i); + } + + node.type += c; + + node.state.allowArray = false; + node.state.allowName = false; + node.state.readArray = true; + break; + + case ']': + if (!node.state.readArray) { + throwError(i); + } + + node.type += c; + + node.state.readArray = false; + node.state.allowArray = true; + node.state.allowName = true; + break; + + default: + if (node.state.allowType) { + node.type += c; + node.state.allowParams = true; + node.state.allowArray = true; + } else if (node.state.allowName) { + node.name += c; + delete node.state.allowArray; + } else if (node.state.readArray) { + node.type += c; + } else { + throwError(i); + } + } + } + + if (node.parent) { + logger.throwArgumentError('unexpected eof', 'param', param); + } + + delete parent.state; + + if (node.name === 'indexed') { + if (!allowIndexed) { + throwError(originalParam.length - 7); + } + if (node.indexed) { + throwError(originalParam.length - 7); + } + node.indexed = true; + node.name = ''; + } else if (checkModifier(node.type, node.name)) { + node.name = ''; + } + + parent.type = verifyType(parent.type); + + return parent; } function populate(object: any, params: any) { - for (let key in params) { defineReadOnly(object, key, params[key]); } + for (const key in params) { + defineReadOnly(object, key, params[key]); + } } -export const FormatTypes: { [ name: string ]: string } = Object.freeze({ - // Bare formatting, as is needed for computing a sighash of an event or function - sighash: "sighash", +export const FormatTypes: { [name: string]: string } = Object.freeze({ + // Bare formatting, as is needed for computing a sighash of an event or function + sighash: 'sighash', - // Human-Readable with Minimal spacing and without names (compact human-readable) - minimal: "minimal", + // Human-Readable with Minimal spacing and without names (compact human-readable) + minimal: 'minimal', - // Human-Readable with nice spacing, including all names - full: "full", + // Human-Readable with nice spacing, including all names + full: 'full', - // JSON-format a la Hyperion - json: "json" + // JSON-format a la Hyperion + json: 'json', }); const paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/); export class ParamType { - - // The local name of the parameter (of null if unbound) - readonly name: string; - - // The fully qualified type (e.g. "address", "tuple(address)", "uint256[3][]" - readonly type: string; - - // The base type (e.g. "address", "tuple", "array") - readonly baseType: string; - - // Indexable Paramters ONLY (otherwise null) - readonly indexed: boolean; - - // Tuples ONLY: (otherwise null) - // - sub-components - readonly components: Array; - - // Arrays ONLY: (otherwise null) - // - length of the array (-1 for dynamic length) - // - child type - readonly arrayLength: number; - readonly arrayChildren: ParamType; - - readonly _isParamType: boolean; - - constructor(constructorGuard: any, params: any) { - if (constructorGuard !== _constructorGuard) { logger.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new ParamType()" - }); } - populate(this, params); - - let match = this.type.match(paramTypeArray); - if (match) { - populate(this, { - arrayLength: parseInt(match[2] || "-1"), - arrayChildren: ParamType.fromObject({ - type: match[1], - components: this.components - }), - baseType: "array" - }); - } else { - populate(this, { - arrayLength: null, - arrayChildren: null, - baseType: ((this.components != null) ? "tuple": this.type) - }); - } - - this._isParamType = true; - - Object.freeze(this); - } - - // Format the parameter fragment - // - sighash: "(uint256,address)" - // - minimal: "tuple(uint256,address) indexed" - // - full: "tuple(uint256 foo, address bar) indexed baz" - format(format?: string): string { - if (!format) { format = FormatTypes.sighash; } - if (!FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - - if (format === FormatTypes.json) { - let result: any = { - type: ((this.baseType === "tuple") ? "tuple": this.type), - name: (this.name || undefined) - }; - if (typeof(this.indexed) === "boolean") { result.indexed = this.indexed; } - if (this.components) { - result.components = this.components.map((comp) => JSON.parse(comp.format(format))); - } - return JSON.stringify(result); - } - - let result = ""; - - // Array - if (this.baseType === "array") { - result += this.arrayChildren.format(format); - result += "[" + (this.arrayLength < 0 ? "": String(this.arrayLength)) + "]"; - } else { - if (this.baseType === "tuple") { - if (format !== FormatTypes.sighash) { - result += this.type; - } - result += "(" + this.components.map( - (comp) => comp.format(format) - ).join((format === FormatTypes.full) ? ", ": ",") + ")"; - } else { - result += this.type; - } - } - - if (format !== FormatTypes.sighash) { - if (this.indexed === true) { result += " indexed"; } - if (format === FormatTypes.full && this.name) { - result += " " + this.name; - } - } - - return result; - } - - static from(value: string | JsonFragmentType | ParamType, allowIndexed?: boolean): ParamType { - if (typeof(value) === "string") { - return ParamType.fromString(value, allowIndexed); - } - return ParamType.fromObject(value); - } - - static fromObject(value: JsonFragmentType | ParamType): ParamType { - if (ParamType.isParamType(value)) { return value; } - - return new ParamType(_constructorGuard, { - name: (value.name || null), - type: verifyType(value.type), - indexed: ((value.indexed == null) ? null: !!value.indexed), - components: (value.components ? value.components.map(ParamType.fromObject): null) - }); - } - - static fromString(value: string, allowIndexed?: boolean): ParamType { - function ParamTypify(node: ParseNode): ParamType { - return ParamType.fromObject({ - name: node.name, - type: node.type, - indexed: node.indexed, - components: node.components - }); - } - - return ParamTypify(parseParamType(value, !!allowIndexed)); - } - - static isParamType(value: any): value is ParamType { - return !!(value != null && value._isParamType); - } -}; + // The local name of the parameter (of null if unbound) + readonly name: string; + + // The fully qualified type (e.g. "address", "tuple(address)", "uint256[3][]" + readonly type: string; + + // The base type (e.g. "address", "tuple", "array") + readonly baseType: string; + + // Indexable Paramters ONLY (otherwise null) + readonly indexed: boolean; + + // Tuples ONLY: (otherwise null) + // - sub-components + readonly components: Array; + + // Arrays ONLY: (otherwise null) + // - length of the array (-1 for dynamic length) + // - child type + readonly arrayLength: number; + readonly arrayChildren: ParamType; + + readonly _isParamType: boolean; + + constructor(constructorGuard: any, params: any) { + if (constructorGuard !== _constructorGuard) { + logger.throwError('use fromString', Logger.errors.UNSUPPORTED_OPERATION, { + operation: 'new ParamType()', + }); + } + populate(this, params); + + const match = this.type.match(paramTypeArray); + if (match) { + populate(this, { + arrayLength: parseInt(match[2] || '-1'), + arrayChildren: ParamType.fromObject({ + type: match[1], + components: this.components, + }), + baseType: 'array', + }); + } else { + populate(this, { + arrayLength: null, + arrayChildren: null, + baseType: this.components != null ? 'tuple' : this.type, + }); + } + + this._isParamType = true; + + Object.freeze(this); + } + + // Format the parameter fragment + // - sighash: "(uint256,address)" + // - minimal: "tuple(uint256,address) indexed" + // - full: "tuple(uint256 foo, address bar) indexed baz" + format(format?: string): string { + if (!format) { + format = FormatTypes.sighash; + } + if (!FormatTypes[format]) { + logger.throwArgumentError('invalid format type', 'format', format); + } + + if (format === FormatTypes.json) { + const result: any = { + type: this.baseType === 'tuple' ? 'tuple' : this.type, + name: this.name || undefined, + }; + if (typeof this.indexed === 'boolean') { + result.indexed = this.indexed; + } + if (this.components) { + result.components = this.components.map(comp => JSON.parse(comp.format(format))); + } + return JSON.stringify(result); + } + + let result = ''; + + // Array + if (this.baseType === 'array') { + result += this.arrayChildren.format(format); + result += `[${this.arrayLength < 0 ? '' : String(this.arrayLength)}]`; + } else if (this.baseType === 'tuple') { + if (format !== FormatTypes.sighash) { + result += this.type; + } + result += `(${this.components + .map(comp => comp.format(format)) + .join(format === FormatTypes.full ? ', ' : ',')})`; + } else { + result += this.type; + } + + if (format !== FormatTypes.sighash) { + if (this.indexed) { + result += ' indexed'; + } + if (format === FormatTypes.full && this.name) { + result += ` ${this.name}`; + } + } + + return result; + } + + static from(value: string | JsonFragmentType | ParamType, allowIndexed?: boolean): ParamType { + if (typeof value === 'string') { + return ParamType.fromString(value, allowIndexed); + } + return ParamType.fromObject(value); + } + + static fromObject(value: JsonFragmentType | ParamType): ParamType { + if (ParamType.isParamType(value)) { + return value; + } + + return new ParamType(_constructorGuard, { + name: value.name || null, + type: verifyType(value.type), + indexed: value.indexed == null ? null : !!value.indexed, + components: value.components ? value.components.map(ParamType.fromObject) : null, + }); + } + + static fromString(value: string, allowIndexed?: boolean): ParamType { + function ParamTypify(node: ParseNode): ParamType { + return ParamType.fromObject({ + name: node.name, + type: node.type, + indexed: node.indexed, + components: node.components, + }); + } + + return ParamTypify(parseParamType(value, !!allowIndexed)); + } + + static isParamType(value: any): value is ParamType { + return !!(value != null && value._isParamType); + } +} function parseParams(value: string, allowIndex: boolean): Array { - return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex)); + return splitNesting(value).map(param => ParamType.fromString(param, allowIndex)); } -type TypeCheck = { -readonly [ K in keyof T ]: T[K] }; +type TypeCheck = { -readonly [K in keyof T]: T[K] }; interface _Fragment { - readonly type: string; - readonly name: string; - readonly inputs: ReadonlyArray; + readonly type: string; + readonly name: string; + readonly inputs: ReadonlyArray; } export abstract class Fragment { - - readonly type: string; - readonly name: string; - readonly inputs: Array; - - readonly _isFragment: boolean; - - constructor(constructorGuard: any, params: any) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new Fragment()" - }); - } - populate(this, params); - - this._isFragment = true; - - Object.freeze(this); - } - - abstract format(format?: string): string; - - static from(value: Fragment | JsonFragment | string): Fragment { - if (Fragment.isFragment(value)) { return value; } - - if (typeof(value) === "string") { - return Fragment.fromString(value); - } - - return Fragment.fromObject(value); - } - - static fromObject(value: Fragment | JsonFragment): Fragment { - if (Fragment.isFragment(value)) { return value; } - - switch (value.type) { - case "function": - return FunctionFragment.fromObject(value); - case "event": - return EventFragment.fromObject(value); - case "constructor": - return ConstructorFragment.fromObject(value); - case "error": - return ErrorFragment.fromObject(value); - case "fallback": - case "receive": - // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment? - return null; - } - - return logger.throwArgumentError("invalid fragment object", "value", value); - } - - static fromString(value: string): Fragment { - // Make sure the "returns" is surrounded by a space and all whitespace is exactly one space - value = value.replace(/\s/g, " "); - value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " "); - value = value.trim(); - - if (value.split(" ")[0] === "event") { - return EventFragment.fromString(value.substring(5).trim()); - } else if (value.split(" ")[0] === "function") { - return FunctionFragment.fromString(value.substring(8).trim()); - } else if (value.split("(")[0].trim() === "constructor") { - return ConstructorFragment.fromString(value.trim()); - } else if (value.split(" ")[0] === "error") { - return ErrorFragment.fromString(value.substring(5).trim()); - } - - return logger.throwArgumentError("unsupported fragment", "value", value); - } - - static isFragment(value: any): value is Fragment { - return !!(value && value._isFragment); - } + readonly type: string; + readonly name: string; + readonly inputs: Array; + + readonly _isFragment: boolean; + + constructor(constructorGuard: any, params: any) { + if (constructorGuard !== _constructorGuard) { + logger.throwError('use a static from method', Logger.errors.UNSUPPORTED_OPERATION, { + operation: 'new Fragment()', + }); + } + populate(this, params); + + this._isFragment = true; + + Object.freeze(this); + } + + abstract format(format?: string): string; + + static from(value: Fragment | JsonFragment | string): Fragment { + if (Fragment.isFragment(value)) { + return value; + } + + if (typeof value === 'string') { + return Fragment.fromString(value); + } + + return Fragment.fromObject(value); + } + + static fromObject(value: Fragment | JsonFragment): Fragment { + if (Fragment.isFragment(value)) { + return value; + } + + switch (value.type) { + case 'function': + return FunctionFragment.fromObject(value); + case 'event': + return EventFragment.fromObject(value); + case 'constructor': + return ConstructorFragment.fromObject(value); + case 'error': + return ErrorFragment.fromObject(value); + case 'fallback': + case 'receive': + // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment? + return null; + } + + return logger.throwArgumentError('invalid fragment object', 'value', value); + } + + static fromString(value: string): Fragment { + // Make sure the "returns" is surrounded by a space and all whitespace is exactly one space + value = value.replace(/\s/g, ' '); + value = value.replace(/\(/g, ' (').replace(/\)/g, ') ').replace(/\s+/g, ' '); + value = value.trim(); + + if (value.split(' ')[0] === 'event') { + return EventFragment.fromString(value.substring(5).trim()); + } + if (value.split(' ')[0] === 'function') { + return FunctionFragment.fromString(value.substring(8).trim()); + } + if (value.split('(')[0].trim() === 'constructor') { + return ConstructorFragment.fromString(value.trim()); + } + if (value.split(' ')[0] === 'error') { + return ErrorFragment.fromString(value.substring(5).trim()); + } + + return logger.throwArgumentError('unsupported fragment', 'value', value); + } + + static isFragment(value: any): value is Fragment { + return !!(value && value._isFragment); + } } interface _EventFragment extends _Fragment { - readonly anonymous: boolean; + readonly anonymous: boolean; } export class EventFragment extends Fragment { - readonly anonymous: boolean; - - format(format?: string): string { - if (!format) { format = FormatTypes.sighash; } - if (!FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - - if (format === FormatTypes.json) { - return JSON.stringify({ - type: "event", - anonymous: this.anonymous, - name: this.name, - inputs: this.inputs.map((input) => JSON.parse(input.format(format))) - }); - } - - let result = ""; - - if (format !== FormatTypes.sighash) { - result += "event "; - } - - result += this.name + "(" + this.inputs.map( - (input) => input.format(format) - ).join((format === FormatTypes.full) ? ", ": ",") + ") "; - - if (format !== FormatTypes.sighash) { - if (this.anonymous) { - result += "anonymous "; - } - } - - return result.trim(); - } - - static from(value: EventFragment | JsonFragment | string): EventFragment { - if (typeof(value) === "string") { - return EventFragment.fromString(value); - } - return EventFragment.fromObject(value); - } - - static fromObject(value: JsonFragment | EventFragment): EventFragment { - if (EventFragment.isEventFragment(value)) { return value; } - - if (value.type !== "event") { - logger.throwArgumentError("invalid event object", "value", value); - } - - const params: TypeCheck<_EventFragment> = { - name: verifyIdentifier(value.name), - anonymous: value.anonymous, - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []), - type: "event" - }; - - return new EventFragment(_constructorGuard, params); - } - - static fromString(value: string): EventFragment { - - let match = value.match(regexParen); - if (!match) { - logger.throwArgumentError("invalid event string", "value", value); - } - - let anonymous = false; - match[3].split(" ").forEach((modifier) => { - switch(modifier.trim()) { - case "anonymous": - anonymous = true; - break; - case "": - break; - default: - logger.warn("unknown modifier: " + modifier); - } - }); - - return EventFragment.fromObject({ - name: match[1].trim(), - anonymous: anonymous, - inputs: parseParams(match[2], true), - type: "event" - }); - } - - static isEventFragment(value: any): value is EventFragment { - return (value && value._isFragment && value.type === "event"); - } + readonly anonymous: boolean; + + format(format?: string): string { + if (!format) { + format = FormatTypes.sighash; + } + if (!FormatTypes[format]) { + logger.throwArgumentError('invalid format type', 'format', format); + } + + if (format === FormatTypes.json) { + return JSON.stringify({ + type: 'event', + anonymous: this.anonymous, + name: this.name, + inputs: this.inputs.map(input => JSON.parse(input.format(format))), + }); + } + + let result = ''; + + if (format !== FormatTypes.sighash) { + result += 'event '; + } + + result += `${this.name}(${this.inputs + .map(input => input.format(format)) + .join(format === FormatTypes.full ? ', ' : ',')}) `; + + if (format !== FormatTypes.sighash) { + if (this.anonymous) { + result += 'anonymous '; + } + } + + return result.trim(); + } + + static from(value: EventFragment | JsonFragment | string): EventFragment { + if (typeof value === 'string') { + return EventFragment.fromString(value); + } + return EventFragment.fromObject(value); + } + + static fromObject(value: JsonFragment | EventFragment): EventFragment { + if (EventFragment.isEventFragment(value)) { + return value; + } + + if (value.type !== 'event') { + logger.throwArgumentError('invalid event object', 'value', value); + } + + const params: TypeCheck<_EventFragment> = { + name: verifyIdentifier(value.name), + anonymous: value.anonymous, + inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [], + type: 'event', + }; + + return new EventFragment(_constructorGuard, params); + } + + static fromString(value: string): EventFragment { + const match = value.match(regexParen); + if (!match) { + logger.throwArgumentError('invalid event string', 'value', value); + } + + let anonymous = false; + match[3].split(' ').forEach(modifier => { + switch (modifier.trim()) { + case 'anonymous': + anonymous = true; + break; + case '': + break; + default: + logger.warn(`unknown modifier: ${modifier}`); + } + }); + + return EventFragment.fromObject({ + name: match[1].trim(), + anonymous, + inputs: parseParams(match[2], true), + type: 'event', + }); + } + + static isEventFragment(value: any): value is EventFragment { + return value && value._isFragment && value.type === 'event'; + } } function parseGas(value: string, params: any): string { - params.gas = null; - - let comps = value.split("@"); - if (comps.length !== 1) { - if (comps.length > 2) { - logger.throwArgumentError("invalid human-readable ABI signature", "value", value); - } - if (!comps[1].match(/^[0-9]+$/)) { - logger.throwArgumentError("invalid human-readable ABI signature gas", "value", value); - } - params.gas = BigNumber.from(comps[1]); - return comps[0]; - } - - return value; + params.gas = null; + + const comps = value.split('@'); + if (comps.length !== 1) { + if (comps.length > 2) { + logger.throwArgumentError('invalid human-readable ABI signature', 'value', value); + } + if (!comps[1].match(/^[0-9]+$/)) { + logger.throwArgumentError('invalid human-readable ABI signature gas', 'value', value); + } + params.gas = BigNumber.from(comps[1]); + return comps[0]; + } + + return value; } function parseModifiers(value: string, params: any): void { - params.constant = false; - params.payable = false; - params.stateMutability = "nonpayable"; - - value.split(" ").forEach((modifier) => { - switch (modifier.trim()) { - case "constant": - params.constant = true; - break; - case "payable": - params.payable = true; - params.stateMutability = "payable"; - break; - case "nonpayable": - params.payable = false; - params.stateMutability = "nonpayable"; - break; - case "pure": - params.constant = true; - params.stateMutability = "pure"; - break; - case "view": - params.constant = true; - params.stateMutability = "view"; - break; - case "external": - case "public": - case "": - break; - default: - console.log("unknown modifier: " + modifier); - } - }); + params.constant = false; + params.payable = false; + params.stateMutability = 'nonpayable'; + + value.split(' ').forEach(modifier => { + switch (modifier.trim()) { + case 'constant': + params.constant = true; + break; + case 'payable': + params.payable = true; + params.stateMutability = 'payable'; + break; + case 'nonpayable': + params.payable = false; + params.stateMutability = 'nonpayable'; + break; + case 'pure': + params.constant = true; + params.stateMutability = 'pure'; + break; + case 'view': + params.constant = true; + params.stateMutability = 'view'; + break; + case 'external': + case 'public': + case '': + break; + default: + console.log(`unknown modifier: ${modifier}`); + } + }); } type StateInputValue = { - constant?: boolean; - payable?: boolean; - stateMutability?: string; - type?: string; + constant?: boolean; + payable?: boolean; + stateMutability?: string; + type?: string; }; type StateOutputValue = { - constant: boolean; - payable: boolean; - stateMutability: string; + constant: boolean; + payable: boolean; + stateMutability: string; }; function verifyState(value: StateInputValue): StateOutputValue { - let result: any = { - constant: false, - payable: true, - stateMutability: "payable" - }; - - if (value.stateMutability != null) { - result.stateMutability = value.stateMutability; - - // Set (and check things are consistent) the constant property - result.constant = (result.stateMutability === "view" || result.stateMutability === "pure"); - if (value.constant != null) { - if ((!!value.constant) !== result.constant) { - logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value); - } - } - - // Set (and check things are consistent) the payable property - result.payable = (result.stateMutability === "payable"); - if (value.payable != null) { - if ((!!value.payable) !== result.payable) { - logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value); - } - } - - } else if (value.payable != null) { - result.payable = !!value.payable; - - // If payable we can assume non-constant; otherwise we can't assume - if (value.constant == null && !result.payable && value.type !== "constructor") { - logger.throwArgumentError("unable to determine stateMutability", "value", value); - } - - result.constant = !!value.constant; - - if (result.constant) { - result.stateMutability = "view"; - } else { - result.stateMutability = (result.payable ? "payable": "nonpayable"); - } - - if (result.payable && result.constant) { - logger.throwArgumentError("cannot have constant payable function", "value", value); - } - - } else if (value.constant != null) { - result.constant = !!value.constant; - result.payable = !result.constant; - result.stateMutability = (result.constant ? "view": "payable"); - - } else if (value.type !== "constructor") { - logger.throwArgumentError("unable to determine stateMutability", "value", value); - } - - return result; + const result: any = { + constant: false, + payable: true, + stateMutability: 'payable', + }; + + if (value.stateMutability != null) { + result.stateMutability = value.stateMutability; + + // Set (and check things are consistent) the constant property + result.constant = result.stateMutability === 'view' || result.stateMutability === 'pure'; + if (value.constant != null) { + if (!!value.constant !== result.constant) { + logger.throwArgumentError( + `cannot have constant function with mutability ${result.stateMutability}`, + 'value', + value, + ); + } + } + + // Set (and check things are consistent) the payable property + result.payable = result.stateMutability === 'payable'; + if (value.payable != null) { + if (!!value.payable !== result.payable) { + logger.throwArgumentError( + `cannot have payable function with mutability ${result.stateMutability}`, + 'value', + value, + ); + } + } + } else if (value.payable != null) { + result.payable = !!value.payable; + + // If payable we can assume non-constant; otherwise we can't assume + if (value.constant == null && !result.payable && value.type !== 'constructor') { + logger.throwArgumentError('unable to determine stateMutability', 'value', value); + } + + result.constant = !!value.constant; + + if (result.constant) { + result.stateMutability = 'view'; + } else { + result.stateMutability = result.payable ? 'payable' : 'nonpayable'; + } + + if (result.payable && result.constant) { + logger.throwArgumentError('cannot have constant payable function', 'value', value); + } + } else if (value.constant != null) { + result.constant = !!value.constant; + result.payable = !result.constant; + result.stateMutability = result.constant ? 'view' : 'payable'; + } else if (value.type !== 'constructor') { + logger.throwArgumentError('unable to determine stateMutability', 'value', value); + } + + return result; } interface _ConstructorFragment extends _Fragment { - stateMutability: string; - payable: boolean; - gas?: BigNumber; + stateMutability: string; + payable: boolean; + gas?: BigNumber; } export class ConstructorFragment extends Fragment { - stateMutability: string; - payable: boolean; - gas?: BigNumber; - - format(format?: string): string { - if (!format) { format = FormatTypes.sighash; } - if (!FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - - if (format === FormatTypes.json) { - return JSON.stringify({ - type: "constructor", - stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability: undefined), - payable: this.payable, - gas: (this.gas ? this.gas.toNumber(): undefined), - inputs: this.inputs.map((input) => JSON.parse(input.format(format))) - }); - } - - if (format === FormatTypes.sighash) { - logger.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, { - operation: "format(sighash)" - }); - } - - let result = "constructor(" + this.inputs.map( - (input) => input.format(format) - ).join((format === FormatTypes.full) ? ", ": ",") + ") "; - - if (this.stateMutability && this.stateMutability !== "nonpayable") { - result += this.stateMutability + " "; - } - - return result.trim(); - } - - static from(value: ConstructorFragment | JsonFragment | string): ConstructorFragment { - if (typeof(value) === "string") { - return ConstructorFragment.fromString(value); - } - return ConstructorFragment.fromObject(value); - } - - static fromObject(value: ConstructorFragment | JsonFragment): ConstructorFragment { - if (ConstructorFragment.isConstructorFragment(value)) { return value; } - - if (value.type !== "constructor") { - logger.throwArgumentError("invalid constructor object", "value", value); - } - - let state = verifyState(value); - if (state.constant) { - logger.throwArgumentError("constructor cannot be constant", "value", value); - } - - const params: TypeCheck<_ConstructorFragment> = { - name: null, - type: value.type, - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []), - payable: state.payable, - stateMutability: state.stateMutability, - gas: (value.gas ? BigNumber.from(value.gas): null) - }; - - return new ConstructorFragment(_constructorGuard, params); - } - - static fromString(value: string): ConstructorFragment { - let params: any = { type: "constructor" }; - - value = parseGas(value, params); - - let parens = value.match(regexParen); - if (!parens || parens[1].trim() !== "constructor") { - logger.throwArgumentError("invalid constructor string", "value", value); - } - - params.inputs = parseParams(parens[2].trim(), false); - - parseModifiers(parens[3].trim(), params); - - return ConstructorFragment.fromObject(params); - } - - static isConstructorFragment(value: any): value is ConstructorFragment { - return (value && value._isFragment && value.type === "constructor"); - } + stateMutability: string; + payable: boolean; + gas?: BigNumber; + + format(format?: string): string { + if (!format) { + format = FormatTypes.sighash; + } + if (!FormatTypes[format]) { + logger.throwArgumentError('invalid format type', 'format', format); + } + + if (format === FormatTypes.json) { + return JSON.stringify({ + type: 'constructor', + stateMutability: + this.stateMutability !== 'nonpayable' ? this.stateMutability : undefined, + payable: this.payable, + gas: this.gas ? this.gas.toNumber() : undefined, + inputs: this.inputs.map(input => JSON.parse(input.format(format))), + }); + } + + if (format === FormatTypes.sighash) { + logger.throwError( + 'cannot format a constructor for sighash', + Logger.errors.UNSUPPORTED_OPERATION, + { + operation: 'format(sighash)', + }, + ); + } + + let result = `constructor(${this.inputs + .map(input => input.format(format)) + .join(format === FormatTypes.full ? ', ' : ',')}) `; + + if (this.stateMutability && this.stateMutability !== 'nonpayable') { + result += `${this.stateMutability} `; + } + + return result.trim(); + } + + static from(value: ConstructorFragment | JsonFragment | string): ConstructorFragment { + if (typeof value === 'string') { + return ConstructorFragment.fromString(value); + } + return ConstructorFragment.fromObject(value); + } + + static fromObject(value: ConstructorFragment | JsonFragment): ConstructorFragment { + if (ConstructorFragment.isConstructorFragment(value)) { + return value; + } + + if (value.type !== 'constructor') { + logger.throwArgumentError('invalid constructor object', 'value', value); + } + + const state = verifyState(value); + if (state.constant) { + logger.throwArgumentError('constructor cannot be constant', 'value', value); + } + + const params: TypeCheck<_ConstructorFragment> = { + name: null, + type: value.type, + inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [], + payable: state.payable, + stateMutability: state.stateMutability, + gas: value.gas ? BigNumber.from(value.gas) : null, + }; + + return new ConstructorFragment(_constructorGuard, params); + } + + static fromString(value: string): ConstructorFragment { + const params: any = { type: 'constructor' }; + + value = parseGas(value, params); + + const parens = value.match(regexParen); + if (!parens || parens[1].trim() !== 'constructor') { + logger.throwArgumentError('invalid constructor string', 'value', value); + } + + params.inputs = parseParams(parens[2].trim(), false); + + parseModifiers(parens[3].trim(), params); + + return ConstructorFragment.fromObject(params); + } + + static isConstructorFragment(value: any): value is ConstructorFragment { + return value && value._isFragment && value.type === 'constructor'; + } } interface _FunctionFragment extends _ConstructorFragment { - constant: boolean; - outputs?: Array; + constant: boolean; + outputs?: Array; } export class FunctionFragment extends ConstructorFragment { - constant: boolean; - outputs?: Array; - - format(format?: string): string { - if (!format) { format = FormatTypes.sighash; } - if (!FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - - if (format === FormatTypes.json) { - return JSON.stringify({ - type: "function", - name: this.name, - constant: this.constant, - stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability: undefined), - payable: this.payable, - gas: (this.gas ? this.gas.toNumber(): undefined), - inputs: this.inputs.map((input) => JSON.parse(input.format(format))), - outputs: this.outputs.map((output) => JSON.parse(output.format(format))), - }); - } - - let result = ""; - - if (format !== FormatTypes.sighash) { - result += "function "; - } - - result += this.name + "(" + this.inputs.map( - (input) => input.format(format) - ).join((format === FormatTypes.full) ? ", ": ",") + ") "; - - if (format !== FormatTypes.sighash) { - if (this.stateMutability) { - if (this.stateMutability !== "nonpayable") { - result += (this.stateMutability + " "); - } - } else if (this.constant) { - result += "view "; - } - - if (this.outputs && this.outputs.length) { - result += "returns (" + this.outputs.map( - (output) => output.format(format) - ).join(", ") + ") "; - } - - if (this.gas != null) { - result += "@" + this.gas.toString() + " "; - } - } - - return result.trim(); - } - - static from(value: FunctionFragment | JsonFragment | string): FunctionFragment { - if (typeof(value) === "string") { - return FunctionFragment.fromString(value); - } - return FunctionFragment.fromObject(value); - } - - static fromObject(value: FunctionFragment | JsonFragment): FunctionFragment { - if (FunctionFragment.isFunctionFragment(value)) { return value; } - - if (value.type !== "function") { - logger.throwArgumentError("invalid function object", "value", value); - } - - let state = verifyState(value); - - const params: TypeCheck<_FunctionFragment> = { - type: value.type, - name: verifyIdentifier(value.name), - constant: state.constant, - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []), - outputs: (value.outputs ? value.outputs.map(ParamType.fromObject): [ ]), - payable: state.payable, - stateMutability: state.stateMutability, - gas: (value.gas ? BigNumber.from(value.gas): null) - }; - - return new FunctionFragment(_constructorGuard, params); - } - - static fromString(value: string): FunctionFragment { - let params: any = { type: "function" }; - value = parseGas(value, params); - - let comps = value.split(" returns "); - if (comps.length > 2) { - logger.throwArgumentError("invalid function string", "value", value); - } - - let parens = comps[0].match(regexParen); - if (!parens) { - logger.throwArgumentError("invalid function signature", "value", value); - } - - params.name = parens[1].trim(); - if (params.name) { verifyIdentifier(params.name); } - - params.inputs = parseParams(parens[2], false); - - parseModifiers(parens[3].trim(), params); - - // We have outputs - if (comps.length > 1) { - let returns = comps[1].match(regexParen); - if (returns[1].trim() != "" || returns[3].trim() != "") { - logger.throwArgumentError("unexpected tokens", "value", value); - } - params.outputs = parseParams(returns[2], false); - } else { - params.outputs = [ ]; - } - - return FunctionFragment.fromObject(params); - } - - static isFunctionFragment(value: any): value is FunctionFragment { - return (value && value._isFragment && value.type === "function"); - } + constant: boolean; + outputs?: Array; + + format(format?: string): string { + if (!format) { + format = FormatTypes.sighash; + } + if (!FormatTypes[format]) { + logger.throwArgumentError('invalid format type', 'format', format); + } + + if (format === FormatTypes.json) { + return JSON.stringify({ + type: 'function', + name: this.name, + constant: this.constant, + stateMutability: + this.stateMutability !== 'nonpayable' ? this.stateMutability : undefined, + payable: this.payable, + gas: this.gas ? this.gas.toNumber() : undefined, + inputs: this.inputs.map(input => JSON.parse(input.format(format))), + outputs: this.outputs.map(output => JSON.parse(output.format(format))), + }); + } + + let result = ''; + + if (format !== FormatTypes.sighash) { + result += 'function '; + } + + result += `${this.name}(${this.inputs + .map(input => input.format(format)) + .join(format === FormatTypes.full ? ', ' : ',')}) `; + + if (format !== FormatTypes.sighash) { + if (this.stateMutability) { + if (this.stateMutability !== 'nonpayable') { + result += `${this.stateMutability} `; + } + } else if (this.constant) { + result += 'view '; + } + + if (this.outputs && this.outputs.length) { + result += `returns (${this.outputs + .map(output => output.format(format)) + .join(', ')}) `; + } + + if (this.gas != null) { + result += `@${this.gas.toString()} `; + } + } + + return result.trim(); + } + + static from(value: FunctionFragment | JsonFragment | string): FunctionFragment { + if (typeof value === 'string') { + return FunctionFragment.fromString(value); + } + return FunctionFragment.fromObject(value); + } + + static fromObject(value: FunctionFragment | JsonFragment): FunctionFragment { + if (FunctionFragment.isFunctionFragment(value)) { + return value; + } + + if (value.type !== 'function') { + logger.throwArgumentError('invalid function object', 'value', value); + } + + const state = verifyState(value); + + const params: TypeCheck<_FunctionFragment> = { + type: value.type, + name: verifyIdentifier(value.name), + constant: state.constant, + inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [], + outputs: value.outputs ? value.outputs.map(ParamType.fromObject) : [], + payable: state.payable, + stateMutability: state.stateMutability, + gas: value.gas ? BigNumber.from(value.gas) : null, + }; + + return new FunctionFragment(_constructorGuard, params); + } + + static fromString(value: string): FunctionFragment { + const params: any = { type: 'function' }; + value = parseGas(value, params); + + const comps = value.split(' returns '); + if (comps.length > 2) { + logger.throwArgumentError('invalid function string', 'value', value); + } + + const parens = comps[0].match(regexParen); + if (!parens) { + logger.throwArgumentError('invalid function signature', 'value', value); + } + + params.name = parens[1].trim(); + if (params.name) { + verifyIdentifier(params.name); + } + + params.inputs = parseParams(parens[2], false); + + parseModifiers(parens[3].trim(), params); + + // We have outputs + if (comps.length > 1) { + const returns = comps[1].match(regexParen); + if (returns[1].trim() != '' || returns[3].trim() != '') { + logger.throwArgumentError('unexpected tokens', 'value', value); + } + params.outputs = parseParams(returns[2], false); + } else { + params.outputs = []; + } + + return FunctionFragment.fromObject(params); + } + + static isFunctionFragment(value: any): value is FunctionFragment { + return value && value._isFragment && value.type === 'function'; + } } -//export class StructFragment extends Fragment { -//} +// export class StructFragment extends Fragment { +// } function checkForbidden(fragment: ErrorFragment): ErrorFragment { - const sig = fragment.format(); - if (sig === "Error(string)" || sig === "Panic(uint256)") { - logger.throwArgumentError(`cannot specify user defined ${ sig } error`, "fragment", fragment); - } - return fragment; + const sig = fragment.format(); + if (sig === 'Error(string)' || sig === 'Panic(uint256)') { + logger.throwArgumentError(`cannot specify user defined ${sig} error`, 'fragment', fragment); + } + return fragment; } export class ErrorFragment extends Fragment { - - format(format?: string): string { - if (!format) { format = FormatTypes.sighash; } - if (!FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - - if (format === FormatTypes.json) { - return JSON.stringify({ - type: "error", - name: this.name, - inputs: this.inputs.map((input) => JSON.parse(input.format(format))), - }); - } - - let result = ""; - - if (format !== FormatTypes.sighash) { - result += "error "; - } - - result += this.name + "(" + this.inputs.map( - (input) => input.format(format) - ).join((format === FormatTypes.full) ? ", ": ",") + ") "; - - return result.trim(); - } - - static from(value: ErrorFragment | JsonFragment | string): ErrorFragment { - if (typeof(value) === "string") { - return ErrorFragment.fromString(value); - } - return ErrorFragment.fromObject(value); - } - - static fromObject(value: ErrorFragment | JsonFragment): ErrorFragment { - if (ErrorFragment.isErrorFragment(value)) { return value; } - - if (value.type !== "error") { - logger.throwArgumentError("invalid error object", "value", value); - } - - const params: TypeCheck<_Fragment> = { - type: value.type, - name: verifyIdentifier(value.name), - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []) - }; - - return checkForbidden(new ErrorFragment(_constructorGuard, params)); - } - - static fromString(value: string): ErrorFragment { - let params: any = { type: "error" }; - - let parens = value.match(regexParen); - if (!parens) { - logger.throwArgumentError("invalid error signature", "value", value); - } - - params.name = parens[1].trim(); - if (params.name) { verifyIdentifier(params.name); } - - params.inputs = parseParams(parens[2], false); - - return checkForbidden(ErrorFragment.fromObject(params)); - } - - static isErrorFragment(value: any): value is ErrorFragment { - return (value && value._isFragment && value.type === "error"); - } + format(format?: string): string { + if (!format) { + format = FormatTypes.sighash; + } + if (!FormatTypes[format]) { + logger.throwArgumentError('invalid format type', 'format', format); + } + + if (format === FormatTypes.json) { + return JSON.stringify({ + type: 'error', + name: this.name, + inputs: this.inputs.map(input => JSON.parse(input.format(format))), + }); + } + + let result = ''; + + if (format !== FormatTypes.sighash) { + result += 'error '; + } + + result += `${this.name}(${this.inputs + .map(input => input.format(format)) + .join(format === FormatTypes.full ? ', ' : ',')}) `; + + return result.trim(); + } + + static from(value: ErrorFragment | JsonFragment | string): ErrorFragment { + if (typeof value === 'string') { + return ErrorFragment.fromString(value); + } + return ErrorFragment.fromObject(value); + } + + static fromObject(value: ErrorFragment | JsonFragment): ErrorFragment { + if (ErrorFragment.isErrorFragment(value)) { + return value; + } + + if (value.type !== 'error') { + logger.throwArgumentError('invalid error object', 'value', value); + } + + const params: TypeCheck<_Fragment> = { + type: value.type, + name: verifyIdentifier(value.name), + inputs: value.inputs ? value.inputs.map(ParamType.fromObject) : [], + }; + + return checkForbidden(new ErrorFragment(_constructorGuard, params)); + } + + static fromString(value: string): ErrorFragment { + const params: any = { type: 'error' }; + + const parens = value.match(regexParen); + if (!parens) { + logger.throwArgumentError('invalid error signature', 'value', value); + } + + params.name = parens[1].trim(); + if (params.name) { + verifyIdentifier(params.name); + } + + params.inputs = parseParams(parens[2], false); + + return checkForbidden(ErrorFragment.fromObject(params)); + } + + static isErrorFragment(value: any): value is ErrorFragment { + return value && value._isFragment && value.type === 'error'; + } } function verifyType(type: string): string { + // These need to be transformed to their full description + if (type.match(/^uint($|[^1-9])/)) { + type = `uint256${type.substring(4)}`; + } else if (type.match(/^int($|[^1-9])/)) { + type = `int256${type.substring(3)}`; + } - // These need to be transformed to their full description - if (type.match(/^uint($|[^1-9])/)) { - type = "uint256" + type.substring(4); - } else if (type.match(/^int($|[^1-9])/)) { - type = "int256" + type.substring(3); - } - - // @TODO: more verification + // @TODO: more verification - return type; + return type; } // See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234 -const regexIdentifier = new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$"); +const regexIdentifier = new RegExp('^[a-zA-Z$_][a-zA-Z0-9$_]*$'); function verifyIdentifier(value: string): string { - if (!value || !value.match(regexIdentifier)) { - logger.throwArgumentError(`invalid identifier "${ value }"`, "value", value); - } - return value; + if (!value || !value.match(regexIdentifier)) { + logger.throwArgumentError(`invalid identifier "${value}"`, 'value', value); + } + return value; } -const regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"); +const regexParen = new RegExp('^([^)(]*)\\((.*)\\)([^)(]*)$'); function splitNesting(value: string): Array { - value = value.trim(); - - let result = []; - let accum = ""; - let depth = 0; - for (let offset = 0; offset < value.length; offset++) { - let c = value[offset]; - if (c === "," && depth === 0) { - result.push(accum); - accum = ""; - } else { - accum += c; - if (c === "(") { - depth++; - } else if (c === ")") { - depth--; - if (depth === -1) { - logger.throwArgumentError("unbalanced parenthesis", "value", value); - } - } - } - } - if (accum) { result.push(accum); } - - return result; + value = value.trim(); + + const result = []; + let accum = ''; + let depth = 0; + for (let offset = 0; offset < value.length; offset++) { + const c = value[offset]; + if (c === ',' && depth === 0) { + result.push(accum); + accum = ''; + } else { + accum += c; + if (c === '(') { + depth++; + } else if (c === ')') { + depth--; + if (depth === -1) { + logger.throwArgumentError('unbalanced parenthesis', 'value', value); + } + } + } + } + if (accum) { + result.push(accum); + } + + return result; } - diff --git a/packages/abi/src/index.ts b/packages/abi/src/index.ts index 68584090..afcbe970 100644 --- a/packages/abi/src/index.ts +++ b/packages/abi/src/index.ts @@ -1,34 +1,61 @@ -"use strict"; - -import { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, JsonFragmentType, ParamType } from "./fragments"; -import { AbiCoder, CoerceFunc, defaultAbiCoder } from "./abi-coder"; -import { checkResultErrors, Indexed, Interface, LogDescription, Result, TransactionDescription } from "./interface"; +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { + ConstructorFragment, + ErrorFragment, + EventFragment, + FormatTypes, + Fragment, + FunctionFragment, + JsonFragment, + JsonFragmentType, + ParamType, +} from './fragments.js'; +import { AbiCoder, CoerceFunc, defaultAbiCoder } from './abi-coder.js'; +import { + checkResultErrors, + Indexed, + Interface, + LogDescription, + Result, + TransactionDescription, +} from './interface.js'; export { - ConstructorFragment, - ErrorFragment, - EventFragment, - Fragment, - FunctionFragment, - ParamType, - FormatTypes, - - AbiCoder, - defaultAbiCoder, - - Interface, - Indexed, - - ///////////////////////// - // Types - - CoerceFunc, - JsonFragment, - JsonFragmentType, - - Result, - checkResultErrors, - - LogDescription, - TransactionDescription + ConstructorFragment, + ErrorFragment, + EventFragment, + Fragment, + FunctionFragment, + ParamType, + FormatTypes, + AbiCoder, + defaultAbiCoder, + Interface, + Indexed, + + /// ////////////////////// + // Types + CoerceFunc, + JsonFragment, + JsonFragmentType, + Result, + checkResultErrors, + LogDescription, + TransactionDescription, }; diff --git a/packages/abi/src/interface.ts b/packages/abi/src/interface.ts index fdf77eff..892f7851 100644 --- a/packages/abi/src/interface.ts +++ b/packages/abi/src/interface.ts @@ -1,65 +1,101 @@ -"use strict"; +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. -import { getAddress } from "@ethersproject/address"; -import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; -import { arrayify, BytesLike, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from "@ethersproject/bytes"; -import { id } from "@ethersproject/hash"; -import { keccak256 } from "@ethersproject/keccak256" -import { defineReadOnly, Description, getStatic } from "@ethersproject/properties"; +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ -import { AbiCoder, defaultAbiCoder } from "./abi-coder"; -import { checkResultErrors, Result } from "./coders/abstract-coder"; -import { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, ParamType } from "./fragments"; +import { getAddress } from '@ethersproject/address'; +import { BigNumber, BigNumberish } from '@ethersproject/bignumber'; +import { + arrayify, + BytesLike, + concat, + hexDataSlice, + hexlify, + hexZeroPad, + isHexString, +} from '@ethersproject/bytes'; +import { id } from '@ethersproject/hash'; +import { keccak256 } from '@ethersproject/keccak256'; +import { defineReadOnly, Description, getStatic } from '@ethersproject/properties'; + +import { Logger } from '@ethersproject/logger'; +import { AbiCoder, defaultAbiCoder } from './abi-coder.js'; +import { checkResultErrors, Result } from './coders/abstract-coder.js'; +import { + ConstructorFragment, + ErrorFragment, + EventFragment, + FormatTypes, + Fragment, + FunctionFragment, + JsonFragment, + ParamType, +} from './fragments.js'; + +import { version } from './_version.js'; -import { Logger } from "@ethersproject/logger"; -import { version } from "./_version"; const logger = new Logger(version); export { checkResultErrors, Result }; export class LogDescription extends Description { - readonly eventFragment: EventFragment; - readonly name: string; - readonly signature: string; - readonly topic: string; - readonly args: Result + readonly eventFragment: EventFragment; + readonly name: string; + readonly signature: string; + readonly topic: string; + readonly args: Result; } export class TransactionDescription extends Description { - readonly functionFragment: FunctionFragment; - readonly name: string; - readonly args: Result; - readonly signature: string; - readonly sighash: string; - readonly value: BigNumber; + readonly functionFragment: FunctionFragment; + readonly name: string; + readonly args: Result; + readonly signature: string; + readonly sighash: string; + readonly value: BigNumber; } export class ErrorDescription extends Description { - readonly errorFragment: ErrorFragment; - readonly name: string; - readonly args: Result; - readonly signature: string; - readonly sighash: string; + readonly errorFragment: ErrorFragment; + readonly name: string; + readonly args: Result; + readonly signature: string; + readonly sighash: string; } export class Indexed extends Description { - readonly hash: string; - readonly _isIndexed: boolean; + readonly hash: string; + readonly _isIndexed: boolean; - static isIndexed(value: any): value is Indexed { - return !!(value && value._isIndexed); - } + static isIndexed(value: any): value is Indexed { + return !!(value && value._isIndexed); + } } -const BuiltinErrors: Record, name: string, reason?: boolean }> = { - "0x08c379a0": { signature: "Error(string)", name: "Error", inputs: [ "string" ], reason: true }, - "0x4e487b71": { signature: "Panic(uint256)", name: "Panic", inputs: [ "uint256" ] } -} +const BuiltinErrors: Record< + string, + { signature: string; inputs: Array; name: string; reason?: boolean } +> = { + '0x08c379a0': { signature: 'Error(string)', name: 'Error', inputs: ['string'], reason: true }, + '0x4e487b71': { signature: 'Panic(uint256)', name: 'Panic', inputs: ['uint256'] }, +}; function wrapAccessError(property: string, error: Error): Error { - const wrap = new Error(`deferred error during ABI decoding triggered accessing ${ property }`); - (wrap).error = error; - return wrap; + const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`); + (wrap).error = error; + return wrap; } /* @@ -76,627 +112,727 @@ function checkNames(fragment: Fragment, type: "input" | "output", params: Array< } */ export class Interface { - readonly fragments: ReadonlyArray; - - readonly errors: { [ name: string ]: ErrorFragment }; - readonly events: { [ name: string ]: EventFragment }; - readonly functions: { [ name: string ]: FunctionFragment }; - readonly structs: { [ name: string ]: any }; - - readonly deploy: ConstructorFragment; - - readonly _abiCoder: AbiCoder; - - readonly _isInterface: boolean; - - constructor(fragments: string | ReadonlyArray) { - let abi: ReadonlyArray = [ ]; - if (typeof(fragments) === "string") { - abi = JSON.parse(fragments); - } else { - abi = fragments; - } - - defineReadOnly(this, "fragments", abi.map((fragment) => { - return Fragment.from(fragment); - }).filter((fragment) => (fragment != null))); - - defineReadOnly(this, "_abiCoder", getStatic<() => AbiCoder>(new.target, "getAbiCoder")()); - - defineReadOnly(this, "functions", { }); - defineReadOnly(this, "errors", { }); - defineReadOnly(this, "events", { }); - defineReadOnly(this, "structs", { }); - - // Add all fragments by their signature - this.fragments.forEach((fragment) => { - let bucket: { [ name: string ]: Fragment } = null; - switch (fragment.type) { - case "constructor": - if (this.deploy) { - logger.warn("duplicate definition - constructor"); - return; - } - //checkNames(fragment, "input", fragment.inputs); - defineReadOnly(this, "deploy", fragment); - return; - case "function": - //checkNames(fragment, "input", fragment.inputs); - //checkNames(fragment, "output", (fragment).outputs); - bucket = this.functions; - break; - case "event": - //checkNames(fragment, "input", fragment.inputs); - bucket = this.events; - break; - case "error": - bucket = this.errors; - break; - default: - return; - } - - let signature = fragment.format(); - if (bucket[signature]) { - logger.warn("duplicate definition - " + signature); - return; - } - - bucket[signature] = fragment; - }); - - // If we do not have a constructor add a default - if (!this.deploy) { - defineReadOnly(this, "deploy", ConstructorFragment.from({ - payable: false, - type: "constructor" - })); - } - - defineReadOnly(this, "_isInterface", true); - } - - format(format?: string): string | Array { - if (!format) { format = FormatTypes.full; } - if (format === FormatTypes.sighash) { - logger.throwArgumentError("interface does not support formatting sighash", "format", format); - } - - const abi = this.fragments.map((fragment) => fragment.format(format)); - - // We need to re-bundle the JSON fragments a bit - if (format === FormatTypes.json) { - return JSON.stringify(abi.map((j) => JSON.parse(j))); - } - - return abi; - } - - // Sub-classes can override these to handle other blockchains - static getAbiCoder(): AbiCoder { - return defaultAbiCoder; - } - - static getAddress(address: string): string { - return getAddress(address); - } - - static getSighash(fragment: ErrorFragment | FunctionFragment): string { - return hexDataSlice(id(fragment.format()), 0, 4); - } - - static getEventTopic(eventFragment: EventFragment): string { - return id(eventFragment.format()); - } - - // Find a function definition by any means necessary (unless it is ambiguous) - getFunction(nameOrSignatureOrSighash: string): FunctionFragment { - if (isHexString(nameOrSignatureOrSighash)) { - for (const name in this.functions) { - if (nameOrSignatureOrSighash === this.getSighash(name)) { - return this.functions[name]; - } - } - logger.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash); - } - - // It is a bare name, look up the function (will return null if ambiguous) - if (nameOrSignatureOrSighash.indexOf("(") === -1) { - const name = nameOrSignatureOrSighash.trim(); - const matching = Object.keys(this.functions).filter((f) => (f.split("("/* fix:) */)[0] === name)); - if (matching.length === 0) { - logger.throwArgumentError("no matching function", "name", name); - } else if (matching.length > 1) { - logger.throwArgumentError("multiple matching functions", "name", name); - } - - return this.functions[matching[0]]; - } - - // Normalize the signature and lookup the function - const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()]; - if (!result) { - logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash); - } - return result; - } - - // Find an event definition by any means necessary (unless it is ambiguous) - getEvent(nameOrSignatureOrTopic: string): EventFragment { - if (isHexString(nameOrSignatureOrTopic)) { - const topichash = nameOrSignatureOrTopic.toLowerCase(); - for (const name in this.events) { - if (topichash === this.getEventTopic(name)) { - return this.events[name]; - } - } - logger.throwArgumentError("no matching event", "topichash", topichash); - } - - // It is a bare name, look up the function (will return null if ambiguous) - if (nameOrSignatureOrTopic.indexOf("(") === -1) { - const name = nameOrSignatureOrTopic.trim(); - const matching = Object.keys(this.events).filter((f) => (f.split("("/* fix:) */)[0] === name)); - if (matching.length === 0) { - logger.throwArgumentError("no matching event", "name", name); - } else if (matching.length > 1) { - logger.throwArgumentError("multiple matching events", "name", name); - } - - return this.events[matching[0]]; - } - - // Normalize the signature and lookup the function - const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()]; - if (!result) { - logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic); - } - return result; - } - - // Find a function definition by any means necessary (unless it is ambiguous) - getError(nameOrSignatureOrSighash: string): ErrorFragment { - if (isHexString(nameOrSignatureOrSighash)) { - const getSighash = getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, "getSighash"); - for (const name in this.errors) { - const error = this.errors[name]; - if (nameOrSignatureOrSighash === getSighash(error)) { - return this.errors[name]; - } - } - logger.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash); - } - - // It is a bare name, look up the function (will return null if ambiguous) - if (nameOrSignatureOrSighash.indexOf("(") === -1) { - const name = nameOrSignatureOrSighash.trim(); - const matching = Object.keys(this.errors).filter((f) => (f.split("("/* fix:) */)[0] === name)); - if (matching.length === 0) { - logger.throwArgumentError("no matching error", "name", name); - } else if (matching.length > 1) { - logger.throwArgumentError("multiple matching errors", "name", name); - } - - return this.errors[matching[0]]; - } - - // Normalize the signature and lookup the function - const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()]; - if (!result) { - logger.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash); - } - return result; - } - - // Get the sighash (the bytes4 selector) used by Hyperion to identify a function - getSighash(fragment: ErrorFragment | FunctionFragment | string): string { - if (typeof(fragment) === "string") { - try { - fragment = this.getFunction(fragment); - } catch (error) { - try { - fragment = this.getError(fragment); - } catch (_) { - throw error; - } - } - } - - return getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, "getSighash")(fragment); - } - - // Get the topic (the bytes32 hash) used by Hyperion to identify an event - getEventTopic(eventFragment: EventFragment | string): string { - if (typeof(eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - - return getStatic<(e: EventFragment) => string>(this.constructor, "getEventTopic")(eventFragment); - } - - - _decodeParams(params: ReadonlyArray, data: BytesLike): Result { - return this._abiCoder.decode(params, data) - } - - _encodeParams(params: ReadonlyArray, values: ReadonlyArray): string { - return this._abiCoder.encode(params, values) - } - - encodeDeploy(values?: ReadonlyArray): string { - return this._encodeParams(this.deploy.inputs, values || [ ]); - } - - decodeErrorResult(fragment: ErrorFragment | string, data: BytesLike): Result { - if (typeof(fragment) === "string") { - fragment = this.getError(fragment); - } - - const bytes = arrayify(data); - - if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) { - logger.throwArgumentError(`data signature does not match error ${ fragment.name }.`, "data", hexlify(bytes)); - } - - return this._decodeParams(fragment.inputs, bytes.slice(4)); - } - - encodeErrorResult(fragment: ErrorFragment | string, values?: ReadonlyArray): string { - if (typeof(fragment) === "string") { - fragment = this.getError(fragment); - } - - return hexlify(concat([ - this.getSighash(fragment), - this._encodeParams(fragment.inputs, values || [ ]) - ])); - } - - // Decode the data for a function call (e.g. tx.data) - decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): Result { - if (typeof(functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - - const bytes = arrayify(data); - - if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) { - logger.throwArgumentError(`data signature does not match function ${ functionFragment.name }.`, "data", hexlify(bytes)); - } - - return this._decodeParams(functionFragment.inputs, bytes.slice(4)); - } - - // Encode the data for a function call (e.g. tx.data) - encodeFunctionData(functionFragment: FunctionFragment | string, values?: ReadonlyArray): string { - if (typeof(functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - - return hexlify(concat([ - this.getSighash(functionFragment), - this._encodeParams(functionFragment.inputs, values || [ ]) - ])); - } - - // Decode the result from a function call (e.g. from eth_call) - decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result { - if (typeof(functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - - let bytes = arrayify(data); - - let reason: string = null; - let message = ""; - let errorArgs: Result = null; - let errorName: string = null; - let errorSignature: string = null; - switch (bytes.length % this._abiCoder._getWordSize()) { - case 0: - try { - return this._abiCoder.decode(functionFragment.outputs, bytes); - } catch (error) { } - break; - - case 4: { - const selector = hexlify(bytes.slice(0, 4)); - const builtin = BuiltinErrors[selector]; - if (builtin) { - errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4)); - errorName = builtin.name; - errorSignature = builtin.signature; - if (builtin.reason) { reason = errorArgs[0]; } - if (errorName === "Error") { - message = `; VM Exception while processing transaction: reverted with reason string ${ JSON.stringify(errorArgs[0]) }`; - } else if (errorName === "Panic") { - message = `; VM Exception while processing transaction: reverted with panic code ${ errorArgs[0] }`; - } - } else { - try { - const error = this.getError(selector); - errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4)); - errorName = error.name; - errorSignature = error.format(); - } catch (error) { } - } - break; - } - } - - return logger.throwError("call revert exception" + message, Logger.errors.CALL_EXCEPTION, { - method: functionFragment.format(), - data: hexlify(data), errorArgs, errorName, errorSignature, reason - }); - } - - // Encode the result for a function call (e.g. for eth_call) - encodeFunctionResult(functionFragment: FunctionFragment | string, values?: ReadonlyArray): string { - if (typeof(functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - - return hexlify(this._abiCoder.encode(functionFragment.outputs, values || [ ])); - } - - // Create the filter for the event with search criteria (e.g. for eth_filterLog) - encodeFilterTopics(eventFragment: EventFragment | string, values: ReadonlyArray): Array> { - if (typeof(eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - - if (values.length > eventFragment.inputs.length) { - logger.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, { - argument: "values", - value: values - }) - } - - let topics: Array> = []; - if (!eventFragment.anonymous) { topics.push(this.getEventTopic(eventFragment)); } - - const encodeTopic = (param: ParamType, value: any): string => { - if (param.type === "string") { - return id(value); - } else if (param.type === "bytes") { - return keccak256(hexlify(value)); - } - - if (param.type === "bool" && typeof(value) === "boolean") { - value = (value ? "0x01": "0x00"); - } - - if (param.type.match(/^u?int/)) { - value = BigNumber.from(value).toHexString(); - } - - // Check addresses are valid - if (param.type === "address") { this._abiCoder.encode( [ "address" ], [ value ]); } - return hexZeroPad(hexlify(value), 32); - }; - - values.forEach((value, index) => { - - let param = (eventFragment).inputs[index]; - - if (!param.indexed) { - if (value != null) { - logger.throwArgumentError("cannot filter non-indexed parameters; must be null", ("contract." + param.name), value); - } - return; - } - - if (value == null) { - topics.push(null); - } else if (param.baseType === "array" || param.baseType === "tuple") { - logger.throwArgumentError("filtering with tuples or arrays not supported", ("contract." + param.name), value); - } else if (Array.isArray(value)) { - topics.push(value.map((value) => encodeTopic(param, value))); - } else { - topics.push(encodeTopic(param, value)); - } - }); - - // Trim off trailing nulls - while (topics.length && topics[topics.length - 1] === null) { - topics.pop(); - } - - return topics; - } - - encodeEventLog(eventFragment: EventFragment | string, values: ReadonlyArray): { data: string, topics: Array } { - if (typeof(eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - - const topics: Array = [ ]; - - const dataTypes: Array = [ ]; - const dataValues: Array = [ ]; - - if (!eventFragment.anonymous) { - topics.push(this.getEventTopic(eventFragment)); - } - - if (values.length !== eventFragment.inputs.length) { - logger.throwArgumentError("event arguments/values mismatch", "values", values); - } - - eventFragment.inputs.forEach((param, index) => { - const value = values[index]; - if (param.indexed) { - if (param.type === "string") { - topics.push(id(value)) - } else if (param.type === "bytes") { - topics.push(keccak256(value)) - } else if (param.baseType === "tuple" || param.baseType === "array") { - // @TODO - throw new Error("not implemented"); - } else { - topics.push(this._abiCoder.encode([ param.type] , [ value ])); - } - } else { - dataTypes.push(param); - dataValues.push(value); - } - }); - - return { - data: this._abiCoder.encode(dataTypes , dataValues), - topics: topics - }; - } - - // Decode a filter for the event and the search criteria - decodeEventLog(eventFragment: EventFragment | string, data: BytesLike, topics?: ReadonlyArray): Result { - if (typeof(eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - - if (topics != null && !eventFragment.anonymous) { - let topicHash = this.getEventTopic(eventFragment); - if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) { - logger.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] }); - } - topics = topics.slice(1); - } - - let indexed: Array = []; - let nonIndexed: Array = []; - let dynamic: Array = []; - - eventFragment.inputs.forEach((param, index) => { - if (param.indexed) { - if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") { - indexed.push(ParamType.fromObject({ type: "bytes32", name: param.name })); - dynamic.push(true); - } else { - indexed.push(param); - dynamic.push(false); - } - } else { - nonIndexed.push(param); - dynamic.push(false); - } - }); - - let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)): null; - let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true); - - let result: (Array & { [ key: string ]: any }) = [ ]; - let nonIndexedIndex = 0, indexedIndex = 0; - eventFragment.inputs.forEach((param, index) => { - if (param.indexed) { - if (resultIndexed == null) { - result[index] = new Indexed({ _isIndexed: true, hash: null }); - - } else if (dynamic[index]) { - result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] }); - - } else { - try { - result[index] = resultIndexed[indexedIndex++]; - } catch (error) { - result[index] = error; - } - } - } else { - try { - result[index] = resultNonIndexed[nonIndexedIndex++]; - } catch (error) { - result[index] = error; - } - } - - // Add the keyword argument if named and safe - if (param.name && result[param.name] == null) { - const value = result[index]; - - // Make error named values throw on access - if (value instanceof Error) { - Object.defineProperty(result, param.name, { - enumerable: true, - get: () => { throw wrapAccessError(`property ${ JSON.stringify(param.name) }`, value); } - }); - } else { - result[param.name] = value; - } - } - }); - - // Make all error indexed values throw on access - for (let i = 0; i < result.length; i++) { - const value = result[i]; - if (value instanceof Error) { - Object.defineProperty(result, i, { - enumerable: true, - get: () => { throw wrapAccessError(`index ${ i }`, value); } - }); - } - } - - return Object.freeze(result); - } - - // Given a transaction, find the matching function fragment (if any) and - // determine all its properties and call parameters - parseTransaction(tx: { data: string, value?: BigNumberish }): TransactionDescription { - let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase()) - - if (!fragment) { return null; } - - return new TransactionDescription({ - args: this._abiCoder.decode(fragment.inputs, "0x" + tx.data.substring(10)), - functionFragment: fragment, - name: fragment.name, - signature: fragment.format(), - sighash: this.getSighash(fragment), - value: BigNumber.from(tx.value || "0"), - }); - } - - // @TODO - //parseCallResult(data: BytesLike): ?? - - // Given an event log, find the matching event fragment (if any) and - // determine all its properties and values - parseLog(log: { topics: Array, data: string}): LogDescription { - let fragment = this.getEvent(log.topics[0]); - - if (!fragment || fragment.anonymous) { return null; } - - // @TODO: If anonymous, and the only method, and the input count matches, should we parse? - // Probably not, because just because it is the only event in the ABI does - // not mean we have the full ABI; maybe just a fragment? - - - return new LogDescription({ - eventFragment: fragment, - name: fragment.name, - signature: fragment.format(), - topic: this.getEventTopic(fragment), - args: this.decodeEventLog(fragment, log.data, log.topics) - }); - } - - parseError(data: BytesLike): ErrorDescription { - const hexData = hexlify(data); - let fragment = this.getError(hexData.substring(0, 10).toLowerCase()) - - if (!fragment) { return null; } - - return new ErrorDescription({ - args: this._abiCoder.decode(fragment.inputs, "0x" + hexData.substring(10)), - errorFragment: fragment, - name: fragment.name, - signature: fragment.format(), - sighash: this.getSighash(fragment), - }); - } - - - /* + readonly fragments: ReadonlyArray; + + readonly errors: { [name: string]: ErrorFragment }; + readonly events: { [name: string]: EventFragment }; + readonly functions: { [name: string]: FunctionFragment }; + readonly structs: { [name: string]: any }; + + readonly deploy: ConstructorFragment; + + readonly _abiCoder: AbiCoder; + + readonly _isInterface: boolean; + + constructor(fragments: string | ReadonlyArray) { + let abi: ReadonlyArray = []; + if (typeof fragments === 'string') { + abi = JSON.parse(fragments); + } else { + abi = fragments; + } + + defineReadOnly( + this, + 'fragments', + abi.map(fragment => Fragment.from(fragment)).filter(fragment => fragment != null), + ); + + defineReadOnly(this, '_abiCoder', getStatic<() => AbiCoder>(new.target, 'getAbiCoder')()); + + defineReadOnly(this, 'functions', {}); + defineReadOnly(this, 'errors', {}); + defineReadOnly(this, 'events', {}); + defineReadOnly(this, 'structs', {}); + + // Add all fragments by their signature + this.fragments.forEach(fragment => { + let bucket: { [name: string]: Fragment } = null; + switch (fragment.type) { + case 'constructor': + if (this.deploy) { + logger.warn('duplicate definition - constructor'); + return; + } + // checkNames(fragment, "input", fragment.inputs); + defineReadOnly(this, 'deploy', fragment); + return; + case 'function': + // checkNames(fragment, "input", fragment.inputs); + // checkNames(fragment, "output", (fragment).outputs); + bucket = this.functions; + break; + case 'event': + // checkNames(fragment, "input", fragment.inputs); + bucket = this.events; + break; + case 'error': + bucket = this.errors; + break; + default: + return; + } + + const signature = fragment.format(); + if (bucket[signature]) { + logger.warn(`duplicate definition - ${signature}`); + return; + } + + bucket[signature] = fragment; + }); + + // If we do not have a constructor add a default + if (!this.deploy) { + defineReadOnly( + this, + 'deploy', + ConstructorFragment.from({ + payable: false, + type: 'constructor', + }), + ); + } + + defineReadOnly(this, '_isInterface', true); + } + + format(format?: string): string | Array { + if (!format) { + format = FormatTypes.full; + } + if (format === FormatTypes.sighash) { + logger.throwArgumentError( + 'interface does not support formatting sighash', + 'format', + format, + ); + } + + const abi = this.fragments.map(fragment => fragment.format(format)); + + // We need to re-bundle the JSON fragments a bit + if (format === FormatTypes.json) { + return JSON.stringify(abi.map(j => JSON.parse(j))); + } + + return abi; + } + + // Sub-classes can override these to handle other blockchains + static getAbiCoder(): AbiCoder { + return defaultAbiCoder; + } + + static getAddress(address: string): string { + return getAddress(address); + } + + static getSighash(fragment: ErrorFragment | FunctionFragment): string { + return hexDataSlice(id(fragment.format()), 0, 4); + } + + static getEventTopic(eventFragment: EventFragment): string { + return id(eventFragment.format()); + } + + // Find a function definition by any means necessary (unless it is ambiguous) + getFunction(nameOrSignatureOrSighash: string): FunctionFragment { + if (isHexString(nameOrSignatureOrSighash)) { + for (const name in this.functions) { + if (nameOrSignatureOrSighash === this.getSighash(name)) { + return this.functions[name]; + } + } + logger.throwArgumentError('no matching function', 'sighash', nameOrSignatureOrSighash); + } + + // It is a bare name, look up the function (will return null if ambiguous) + if (!nameOrSignatureOrSighash.includes('(')) { + const name = nameOrSignatureOrSighash.trim(); + const matching = Object.keys(this.functions).filter( + f => f.split('(' /* fix:) */)[0] === name, + ); + if (matching.length === 0) { + logger.throwArgumentError('no matching function', 'name', name); + } else if (matching.length > 1) { + logger.throwArgumentError('multiple matching functions', 'name', name); + } + + return this.functions[matching[0]]; + } + + // Normalize the signature and lookup the function + const result = + this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()]; + if (!result) { + logger.throwArgumentError( + 'no matching function', + 'signature', + nameOrSignatureOrSighash, + ); + } + return result; + } + + // Find an event definition by any means necessary (unless it is ambiguous) + getEvent(nameOrSignatureOrTopic: string): EventFragment { + if (isHexString(nameOrSignatureOrTopic)) { + const topichash = nameOrSignatureOrTopic.toLowerCase(); + for (const name in this.events) { + if (topichash === this.getEventTopic(name)) { + return this.events[name]; + } + } + logger.throwArgumentError('no matching event', 'topichash', topichash); + } + + // It is a bare name, look up the function (will return null if ambiguous) + if (!nameOrSignatureOrTopic.includes('(')) { + const name = nameOrSignatureOrTopic.trim(); + const matching = Object.keys(this.events).filter( + f => f.split('(' /* fix:) */)[0] === name, + ); + if (matching.length === 0) { + logger.throwArgumentError('no matching event', 'name', name); + } else if (matching.length > 1) { + logger.throwArgumentError('multiple matching events', 'name', name); + } + + return this.events[matching[0]]; + } + + // Normalize the signature and lookup the function + const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()]; + if (!result) { + logger.throwArgumentError('no matching event', 'signature', nameOrSignatureOrTopic); + } + return result; + } + + // Find a function definition by any means necessary (unless it is ambiguous) + getError(nameOrSignatureOrSighash: string): ErrorFragment { + if (isHexString(nameOrSignatureOrSighash)) { + const getSighash = getStatic<(f: ErrorFragment | FunctionFragment) => string>( + this.constructor, + 'getSighash', + ); + for (const name in this.errors) { + const error = this.errors[name]; + if (nameOrSignatureOrSighash === getSighash(error)) { + return this.errors[name]; + } + } + logger.throwArgumentError('no matching error', 'sighash', nameOrSignatureOrSighash); + } + + // It is a bare name, look up the function (will return null if ambiguous) + if (!nameOrSignatureOrSighash.includes('(')) { + const name = nameOrSignatureOrSighash.trim(); + const matching = Object.keys(this.errors).filter( + f => f.split('(' /* fix:) */)[0] === name, + ); + if (matching.length === 0) { + logger.throwArgumentError('no matching error', 'name', name); + } else if (matching.length > 1) { + logger.throwArgumentError('multiple matching errors', 'name', name); + } + + return this.errors[matching[0]]; + } + + // Normalize the signature and lookup the function + const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()]; + if (!result) { + logger.throwArgumentError('no matching error', 'signature', nameOrSignatureOrSighash); + } + return result; + } + + // Get the sighash (the bytes4 selector) used by Hyperion to identify a function + getSighash(fragment: ErrorFragment | FunctionFragment | string): string { + if (typeof fragment === 'string') { + try { + fragment = this.getFunction(fragment); + } catch (error) { + try { + fragment = this.getError(fragment); + } catch (_) { + throw error; + } + } + } + + return getStatic<(f: ErrorFragment | FunctionFragment) => string>( + this.constructor, + 'getSighash', + )(fragment); + } + + // Get the topic (the bytes32 hash) used by Hyperion to identify an event + getEventTopic(eventFragment: EventFragment | string): string { + if (typeof eventFragment === 'string') { + eventFragment = this.getEvent(eventFragment); + } + + return getStatic<(e: EventFragment) => string>( + this.constructor, + 'getEventTopic', + )(eventFragment); + } + + _decodeParams(params: ReadonlyArray, data: BytesLike): Result { + return this._abiCoder.decode(params, data); + } + + _encodeParams(params: ReadonlyArray, values: ReadonlyArray): string { + return this._abiCoder.encode(params, values); + } + + encodeDeploy(values?: ReadonlyArray): string { + return this._encodeParams(this.deploy.inputs, values || []); + } + + decodeErrorResult(fragment: ErrorFragment | string, data: BytesLike): Result { + if (typeof fragment === 'string') { + fragment = this.getError(fragment); + } + + const bytes = arrayify(data); + + if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) { + logger.throwArgumentError( + `data signature does not match error ${fragment.name}.`, + 'data', + hexlify(bytes), + ); + } + + return this._decodeParams(fragment.inputs, bytes.slice(4)); + } + + encodeErrorResult(fragment: ErrorFragment | string, values?: ReadonlyArray): string { + if (typeof fragment === 'string') { + fragment = this.getError(fragment); + } + + return hexlify( + concat([this.getSighash(fragment), this._encodeParams(fragment.inputs, values || [])]), + ); + } + + // Decode the data for a function call (e.g. tx.data) + decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): Result { + if (typeof functionFragment === 'string') { + functionFragment = this.getFunction(functionFragment); + } + + const bytes = arrayify(data); + + if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) { + logger.throwArgumentError( + `data signature does not match function ${functionFragment.name}.`, + 'data', + hexlify(bytes), + ); + } + + return this._decodeParams(functionFragment.inputs, bytes.slice(4)); + } + + // Encode the data for a function call (e.g. tx.data) + encodeFunctionData( + functionFragment: FunctionFragment | string, + values?: ReadonlyArray, + ): string { + if (typeof functionFragment === 'string') { + functionFragment = this.getFunction(functionFragment); + } + + return hexlify( + concat([ + this.getSighash(functionFragment), + this._encodeParams(functionFragment.inputs, values || []), + ]), + ); + } + + // Decode the result from a function call (e.g. from zond_call) + decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result { + if (typeof functionFragment === 'string') { + functionFragment = this.getFunction(functionFragment); + } + + const bytes = arrayify(data); + + let reason: string = null; + let message = ''; + let errorArgs: Result = null; + let errorName: string = null; + let errorSignature: string = null; + switch (bytes.length % this._abiCoder._getWordSize()) { + case 0: + try { + return this._abiCoder.decode(functionFragment.outputs, bytes); + } catch (error) {} + break; + + case 4: { + const selector = hexlify(bytes.slice(0, 4)); + const builtin = BuiltinErrors[selector]; + if (builtin) { + errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4)); + errorName = builtin.name; + errorSignature = builtin.signature; + if (builtin.reason) { + reason = errorArgs[0]; + } + if (errorName === 'Error') { + message = `; VM Exception while processing transaction: reverted with reason string ${JSON.stringify( + errorArgs[0], + )}`; + } else if (errorName === 'Panic') { + message = `; VM Exception while processing transaction: reverted with panic code ${errorArgs[0]}`; + } + } else { + try { + const error = this.getError(selector); + errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4)); + errorName = error.name; + errorSignature = error.format(); + } catch (error) {} + } + break; + } + } + + return logger.throwError(`call revert exception${message}`, Logger.errors.CALL_EXCEPTION, { + method: functionFragment.format(), + data: hexlify(data), + errorArgs, + errorName, + errorSignature, + reason, + }); + } + + // Encode the result for a function call (e.g. for zond_call) + encodeFunctionResult( + functionFragment: FunctionFragment | string, + values?: ReadonlyArray, + ): string { + if (typeof functionFragment === 'string') { + functionFragment = this.getFunction(functionFragment); + } + + return hexlify(this._abiCoder.encode(functionFragment.outputs, values || [])); + } + + // Create the filter for the event with search criteria (e.g. for zond_filterLog) + encodeFilterTopics( + eventFragment: EventFragment | string, + values: ReadonlyArray, + ): Array> { + if (typeof eventFragment === 'string') { + eventFragment = this.getEvent(eventFragment); + } + + if (values.length > eventFragment.inputs.length) { + logger.throwError( + `too many arguments for ${eventFragment.format()}`, + Logger.errors.UNEXPECTED_ARGUMENT, + { + argument: 'values', + value: values, + }, + ); + } + + const topics: Array> = []; + if (!eventFragment.anonymous) { + topics.push(this.getEventTopic(eventFragment)); + } + + const encodeTopic = (param: ParamType, value: any): string => { + if (param.type === 'string') { + return id(value); + } + if (param.type === 'bytes') { + return keccak256(hexlify(value)); + } + + if (param.type === 'bool' && typeof value === 'boolean') { + value = value ? '0x01' : '0x00'; + } + + if (param.type.match(/^u?int/)) { + value = BigNumber.from(value).toHexString(); + } + + // Check addresses are valid + if (param.type === 'address') { + this._abiCoder.encode(['address'], [value]); + } + return hexZeroPad(hexlify(value), 32); + }; + + values.forEach((value, index) => { + const param = (eventFragment).inputs[index]; + + if (!param.indexed) { + if (value != null) { + logger.throwArgumentError( + 'cannot filter non-indexed parameters; must be null', + `contract.${param.name}`, + value, + ); + } + return; + } + + if (value == null) { + topics.push(null); + } else if (param.baseType === 'array' || param.baseType === 'tuple') { + logger.throwArgumentError( + 'filtering with tuples or arrays not supported', + `contract.${param.name}`, + value, + ); + } else if (Array.isArray(value)) { + topics.push(value.map(value => encodeTopic(param, value))); + } else { + topics.push(encodeTopic(param, value)); + } + }); + + // Trim off trailing nulls + while (topics.length && topics[topics.length - 1] === null) { + topics.pop(); + } + + return topics; + } + + encodeEventLog( + eventFragment: EventFragment | string, + values: ReadonlyArray, + ): { data: string; topics: Array } { + if (typeof eventFragment === 'string') { + eventFragment = this.getEvent(eventFragment); + } + + const topics: Array = []; + + const dataTypes: Array = []; + const dataValues: Array = []; + + if (!eventFragment.anonymous) { + topics.push(this.getEventTopic(eventFragment)); + } + + if (values.length !== eventFragment.inputs.length) { + logger.throwArgumentError('event arguments/values mismatch', 'values', values); + } + + eventFragment.inputs.forEach((param, index) => { + const value = values[index]; + if (param.indexed) { + if (param.type === 'string') { + topics.push(id(value)); + } else if (param.type === 'bytes') { + topics.push(keccak256(value)); + } else if (param.baseType === 'tuple' || param.baseType === 'array') { + // @TODO + throw new Error('not implemented'); + } else { + topics.push(this._abiCoder.encode([param.type], [value])); + } + } else { + dataTypes.push(param); + dataValues.push(value); + } + }); + + return { + data: this._abiCoder.encode(dataTypes, dataValues), + topics, + }; + } + + // Decode a filter for the event and the search criteria + decodeEventLog( + eventFragment: EventFragment | string, + data: BytesLike, + topics?: ReadonlyArray, + ): Result { + if (typeof eventFragment === 'string') { + eventFragment = this.getEvent(eventFragment); + } + + if (topics != null && !eventFragment.anonymous) { + const topicHash = this.getEventTopic(eventFragment); + if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) { + logger.throwError('fragment/topic mismatch', Logger.errors.INVALID_ARGUMENT, { + argument: 'topics[0]', + expected: topicHash, + value: topics[0], + }); + } + topics = topics.slice(1); + } + + const indexed: Array = []; + const nonIndexed: Array = []; + const dynamic: Array = []; + + eventFragment.inputs.forEach((param, index) => { + if (param.indexed) { + if ( + param.type === 'string' || + param.type === 'bytes' || + param.baseType === 'tuple' || + param.baseType === 'array' + ) { + indexed.push(ParamType.fromObject({ type: 'bytes32', name: param.name })); + dynamic.push(true); + } else { + indexed.push(param); + dynamic.push(false); + } + } else { + nonIndexed.push(param); + dynamic.push(false); + } + }); + + const resultIndexed = + topics != null ? this._abiCoder.decode(indexed, concat(topics)) : null; + const resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true); + + const result: Array & { [key: string]: any } = []; + let nonIndexedIndex = 0; + let indexedIndex = 0; + eventFragment.inputs.forEach((param, index) => { + if (param.indexed) { + if (resultIndexed == null) { + result[index] = new Indexed({ _isIndexed: true, hash: null }); + } else if (dynamic[index]) { + result[index] = new Indexed({ + _isIndexed: true, + hash: resultIndexed[indexedIndex++], + }); + } else { + try { + result[index] = resultIndexed[indexedIndex++]; + } catch (error) { + result[index] = error; + } + } + } else { + try { + result[index] = resultNonIndexed[nonIndexedIndex++]; + } catch (error) { + result[index] = error; + } + } + + // Add the keyword argument if named and safe + if (param.name && result[param.name] == null) { + const value = result[index]; + + // Make error named values throw on access + if (value instanceof Error) { + Object.defineProperty(result, param.name, { + enumerable: true, + get: () => { + throw wrapAccessError(`property ${JSON.stringify(param.name)}`, value); + }, + }); + } else { + result[param.name] = value; + } + } + }); + + // Make all error indexed values throw on access + for (let i = 0; i < result.length; i++) { + const value = result[i]; + if (value instanceof Error) { + Object.defineProperty(result, i, { + enumerable: true, + get: () => { + throw wrapAccessError(`index ${i}`, value); + }, + }); + } + } + + return Object.freeze(result); + } + + // Given a transaction, find the matching function fragment (if any) and + // determine all its properties and call parameters + parseTransaction(tx: { data: string; value?: BigNumberish }): TransactionDescription { + const fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase()); + + if (!fragment) { + return null; + } + + return new TransactionDescription({ + args: this._abiCoder.decode(fragment.inputs, `0x${tx.data.substring(10)}`), + functionFragment: fragment, + name: fragment.name, + signature: fragment.format(), + sighash: this.getSighash(fragment), + value: BigNumber.from(tx.value || '0'), + }); + } + + // @TODO + // parseCallResult(data: BytesLike): ?? + + // Given an event log, find the matching event fragment (if any) and + // determine all its properties and values + parseLog(log: { topics: Array; data: string }): LogDescription { + const fragment = this.getEvent(log.topics[0]); + + if (!fragment || fragment.anonymous) { + return null; + } + + // @TODO: If anonymous, and the only method, and the input count matches, should we parse? + // Probably not, because just because it is the only event in the ABI does + // not mean we have the full ABI; maybe just a fragment? + + return new LogDescription({ + eventFragment: fragment, + name: fragment.name, + signature: fragment.format(), + topic: this.getEventTopic(fragment), + args: this.decodeEventLog(fragment, log.data, log.topics), + }); + } + + parseError(data: BytesLike): ErrorDescription { + const hexData = hexlify(data); + const fragment = this.getError(hexData.substring(0, 10).toLowerCase()); + + if (!fragment) { + return null; + } + + return new ErrorDescription({ + args: this._abiCoder.decode(fragment.inputs, `0x${hexData.substring(10)}`), + errorFragment: fragment, + name: fragment.name, + signature: fragment.format(), + sighash: this.getSighash(fragment), + }); + } + + /* static from(value: Array | string | Interface) { if (Interface.isInterface(value)) { return value; @@ -708,8 +844,7 @@ export class Interface { } */ - static isInterface(value: any): value is Interface { - return !!(value && value._isInterface); - } + static isInterface(value: any): value is Interface { + return !!(value && value._isInterface); + } } - diff --git a/packages/abi/test/config/jest.config.js b/packages/abi/test/config/jest.config.js index eaa5e904..cdd5982b 100644 --- a/packages/abi/test/config/jest.config.js +++ b/packages/abi/test/config/jest.config.js @@ -1,3 +1,19 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ module.exports = { globals: { 'ts-jest': { diff --git a/packages/abi/test/integration/jest.config.js b/packages/abi/test/integration/jest.config.js index 1d958902..67155e65 100644 --- a/packages/abi/test/integration/jest.config.js +++ b/packages/abi/test/integration/jest.config.js @@ -1,4 +1,19 @@ -'use strict'; +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ const base = require('../config/jest.config'); diff --git a/packages/abi/test/unit/abi.test.ts b/packages/abi/test/unit/abi.test.ts index 120879f4..5b2179f8 100644 --- a/packages/abi/test/unit/abi.test.ts +++ b/packages/abi/test/unit/abi.test.ts @@ -1,3 +1,19 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ describe('abi', () => { it('test', () => {}); -}); \ No newline at end of file +}); diff --git a/packages/abi/test/unit/jest.config.js b/packages/abi/test/unit/jest.config.js index 03802530..c16086ff 100644 --- a/packages/abi/test/unit/jest.config.js +++ b/packages/abi/test/unit/jest.config.js @@ -1,3 +1,19 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ const base = require('../config/jest.config'); module.exports = { diff --git a/packages/abi/tsconfig.cjs.json b/packages/abi/tsconfig.cjs.json index 5e70d22d..9bba4059 100644 --- a/packages/abi/tsconfig.cjs.json +++ b/packages/abi/tsconfig.cjs.json @@ -9,17 +9,14 @@ "strictNullChecks": false, "resolveJsonModule": false, "target": "es2022", - "lib": [ - "es2020", - "es5" - ], + "lib": ["es2020", "es5"], "noUnusedParameters": false, // "moduleResolution": "node16", "importHelpers": true, "noEmitOnError": true, "allowSyntheticDefaultImports": false, "preserveSymlinks": true, - "preserveWatchOutput": true, + "preserveWatchOutput": true, "noImplicitThis": true, "noImplicitAny": true, "pretty": false diff --git a/packages/abi/tsconfig.esm.json b/packages/abi/tsconfig.esm.json index 3edd46c1..27fec8f9 100644 --- a/packages/abi/tsconfig.esm.json +++ b/packages/abi/tsconfig.esm.json @@ -4,10 +4,7 @@ "outDir": "./lib/esm", "strictNullChecks": false, "target": "es2022", - "lib": [ - "es2020", - "es5" - ], + "lib": ["es2020", "es5"], "noUnusedParameters": false, // "moduleResolution": "node16", "importHelpers": true, diff --git a/packages/abi/tsconfig.types.json b/packages/abi/tsconfig.types.json index 4ed71bfc..7fc1bd53 100644 --- a/packages/abi/tsconfig.types.json +++ b/packages/abi/tsconfig.types.json @@ -7,14 +7,11 @@ "emitDeclarationOnly": true, "strictNullChecks": false, "target": "es2022", - "lib": [ - "es2020", - "es5" - ], + "lib": ["es2020", "es5"], "noUnusedParameters": false, // "moduleResolution": "node16", "importHelpers": true, "noEmitOnError": true }, "include": ["src/**/*", "index.d.ts"] -} \ No newline at end of file +} diff --git a/packages/web3-core/src/utils.ts b/packages/web3-core/src/utils.ts index 1d4922fa..d676d407 100644 --- a/packages/web3-core/src/utils.ts +++ b/packages/web3-core/src/utils.ts @@ -53,7 +53,7 @@ export const isLegacySendAsyncProvider = ( export const isSupportedProvider = ( provider: SupportedProviders, -): provider is SupportedProviders => +): provider is SupportedProviders => provider && (isWeb3Provider(provider) || isEIP1193Provider(provider) || diff --git a/packages/web3-core/src/web3_context.ts b/packages/web3-core/src/web3_context.ts index ceb25b7d..99b83f00 100644 --- a/packages/web3-core/src/web3_context.ts +++ b/packages/web3-core/src/web3_context.ts @@ -341,7 +341,7 @@ export class Web3Context< /** * Will return the givenProvider if available. * - * When using web3.js in an Zond compatible browser, it will set with the current native provider by that browser. Will return the given provider by the (browser) environment, otherwise `undefined`. + * When using web3.js in a Zond compatible browser, it will set with the current native provider by that browser. Will return the given provider by the (browser) environment, otherwise `undefined`. */ // eslint-disable-next-line class-methods-use-this public get givenProvider() { diff --git a/packages/web3-core/test/config/jest.config.js b/packages/web3-core/test/config/jest.config.js index 4a60f95b..c8c21e06 100644 --- a/packages/web3-core/test/config/jest.config.js +++ b/packages/web3-core/test/config/jest.config.js @@ -12,7 +12,7 @@ module.exports = { }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', - }, + }, verbose: false, collectCoverage: false, coverageReporters: ['json'], diff --git a/packages/web3-core/test/unit/web3_batch_request.test.ts b/packages/web3-core/test/unit/web3_batch_request.test.ts index 72cd5a55..bb6da7f4 100644 --- a/packages/web3-core/test/unit/web3_batch_request.test.ts +++ b/packages/web3-core/test/unit/web3_batch_request.test.ts @@ -15,7 +15,11 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { JsonRpcBatchRequest, JsonRpcBatchResponse, JsonRpcOptionalRequest } from '@theqrl/web3-types'; +import { + JsonRpcBatchRequest, + JsonRpcBatchResponse, + JsonRpcOptionalRequest, +} from '@theqrl/web3-types'; import { jsonRpc, Web3DeferredPromise } from '@theqrl/web3-utils'; import { OperationAbortError, OperationTimeoutError } from '@theqrl/web3-errors'; import { Web3BatchRequest } from '../../src/web3_batch_request'; diff --git a/packages/web3-core/test/unit/web3_subscription.test.ts b/packages/web3-core/test/unit/web3_subscription.test.ts index 75fee0a9..d1b6e94f 100644 --- a/packages/web3-core/test/unit/web3_subscription.test.ts +++ b/packages/web3-core/test/unit/web3_subscription.test.ts @@ -106,4 +106,4 @@ describe('Web3Subscription', () => { expect(sub.id).toBeUndefined(); }); }); -}); \ No newline at end of file +}); diff --git a/packages/web3-errors/CHANGELOG.md b/packages/web3-errors/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-errors/CHANGELOG.md +++ b/packages/web3-errors/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-errors/src/error_codes.ts b/packages/web3-errors/src/error_codes.ts index 38d73320..0c51a7f5 100644 --- a/packages/web3-errors/src/error_codes.ts +++ b/packages/web3-errors/src/error_codes.ts @@ -133,10 +133,10 @@ export const JSONRPC_ERR_UNSUPPORTED_METHOD = 4200; export const JSONRPC_ERR_DISCONNECTED = 4900; export const JSONRPC_ERR_CHAIN_DISCONNECTED = 4901; -// ENS error codes -export const ERR_ENS_CHECK_INTERFACE_SUPPORT = 901; -export const ERR_ENS_UNSUPPORTED_NETWORK = 902; -export const ERR_ENS_NETWORK_NOT_SYNCED = 903; +// ZNS error codes +export const ERR_ZNS_CHECK_INTERFACE_SUPPORT = 901; +export const ERR_ZNS_UNSUPPORTED_NETWORK = 902; +export const ERR_ZNS_NETWORK_NOT_SYNCED = 903; // Utils error codes export const ERR_INVALID_STRING = 1001; diff --git a/packages/web3-errors/src/errors/account_errors.ts b/packages/web3-errors/src/errors/account_errors.ts index 3562130b..f97f988b 100644 --- a/packages/web3-errors/src/errors/account_errors.ts +++ b/packages/web3-errors/src/errors/account_errors.ts @@ -123,4 +123,4 @@ export class InvalidPublicKeyError extends BaseWeb3Error { public constructor() { super(`Invalid Public Key, Not a valid string or uint8Array`); } -} \ No newline at end of file +} diff --git a/packages/web3-errors/src/errors/transaction_errors.ts b/packages/web3-errors/src/errors/transaction_errors.ts index 63c0e00e..ef504b67 100644 --- a/packages/web3-errors/src/errors/transaction_errors.ts +++ b/packages/web3-errors/src/errors/transaction_errors.ts @@ -329,9 +329,8 @@ export class MissingGasError extends InvalidValueError { }) { super( `gas: ${value.gas ?? 'undefined'}, maxPriorityFeePerGas: ${ - value.maxPriorityFeePerGas ?? 'undefined'}, maxFeePerGas: ${ - value.maxFeePerGas ?? 'undefined' - }`, + value.maxPriorityFeePerGas ?? 'undefined' + }, maxFeePerGas: ${value.maxFeePerGas ?? 'undefined'}`, '"gas" is missing', ); this.innerError = new MissingGasInnerError(); @@ -342,10 +341,7 @@ export class InvalidGas extends InvalidValueError { public code = ERR_TX_INVALID_LEGACY_GAS; public constructor(value: { gas: Numbers | undefined }) { - super( - `gas: ${value.gas ?? 'undefined'}`, - 'Gas is lower than 0', - ); + super(`gas: ${value.gas ?? 'undefined'}`, 'Gas is lower than 0'); } } @@ -504,10 +500,7 @@ export class LocalWalletNotAvailableError extends InvalidValueError { export class InvalidPropertiesForTransactionTypeError extends BaseWeb3Error { public code = ERR_TX_INVALID_PROPERTIES_FOR_TYPE; - public constructor( - validationError: Web3ValidationErrorObject[], - txType: '0x2', - ) { + public constructor(validationError: Web3ValidationErrorObject[], txType: '0x2') { const invalidPropertyNames: string[] = []; validationError.forEach(error => invalidPropertyNames.push(error.keyword)); super( diff --git a/packages/web3-errors/src/errors/ens_errors.ts b/packages/web3-errors/src/errors/zns_errors.ts similarity index 64% rename from packages/web3-errors/src/errors/ens_errors.ts rename to packages/web3-errors/src/errors/zns_errors.ts index 20a5796c..377bd440 100644 --- a/packages/web3-errors/src/errors/ens_errors.ts +++ b/packages/web3-errors/src/errors/zns_errors.ts @@ -18,28 +18,28 @@ along with web3.js. If not, see . /* eslint-disable max-classes-per-file */ import { - ERR_ENS_CHECK_INTERFACE_SUPPORT, - ERR_ENS_NETWORK_NOT_SYNCED, - ERR_ENS_UNSUPPORTED_NETWORK, + ERR_ZNS_CHECK_INTERFACE_SUPPORT, + ERR_ZNS_NETWORK_NOT_SYNCED, + ERR_ZNS_UNSUPPORTED_NETWORK, } from '../error_codes.js'; import { BaseWeb3Error } from '../web3_error_base.js'; -export class ENSCheckInterfaceSupportError extends BaseWeb3Error { - public code = ERR_ENS_CHECK_INTERFACE_SUPPORT; +export class ZNSCheckInterfaceSupportError extends BaseWeb3Error { + public code = ERR_ZNS_CHECK_INTERFACE_SUPPORT; public constructor(errorDetails: string) { - super(`ENS resolver check interface support error. "${errorDetails}"`); + super(`ZNS resolver check interface support error. "${errorDetails}"`); } } -export class ENSUnsupportedNetworkError extends BaseWeb3Error { - public code = ERR_ENS_UNSUPPORTED_NETWORK; +export class ZNSUnsupportedNetworkError extends BaseWeb3Error { + public code = ERR_ZNS_UNSUPPORTED_NETWORK; public constructor(networkType: string) { - super(`ENS is not supported on network ${networkType}`); + super(`ZNS is not supported on network ${networkType}`); } } -export class ENSNetworkNotSyncedError extends BaseWeb3Error { - public code = ERR_ENS_NETWORK_NOT_SYNCED; +export class ZNSNetworkNotSyncedError extends BaseWeb3Error { + public code = ERR_ZNS_NETWORK_NOT_SYNCED; public constructor() { super(`Network not synced`); } diff --git a/packages/web3-errors/src/index.ts b/packages/web3-errors/src/index.ts index 5916321f..c77fc3fb 100644 --- a/packages/web3-errors/src/index.ts +++ b/packages/web3-errors/src/index.ts @@ -20,7 +20,7 @@ export * from './web3_error_base.js'; export * from './errors/account_errors.js'; export * from './errors/connection_errors.js'; export * from './errors/contract_errors.js'; -export * from './errors/ens_errors.js'; +export * from './errors/zns_errors.js'; export * from './errors/generic_errors.js'; export * from './errors/provider_errors.js'; export * from './errors/signature_errors.js'; diff --git a/packages/web3-errors/test/unit/errors.test.ts b/packages/web3-errors/test/unit/errors.test.ts index 5d2bb348..0d2c84ba 100644 --- a/packages/web3-errors/test/unit/errors.test.ts +++ b/packages/web3-errors/test/unit/errors.test.ts @@ -19,7 +19,7 @@ import { JsonRpcError } from '@theqrl/web3-types'; import * as accountErrors from '../../src/errors/account_errors'; import * as connectionErrors from '../../src/errors/connection_errors'; import * as contractErrors from '../../src/errors/contract_errors'; -import * as ensErrors from '../../src/errors/ens_errors'; +import * as znsErrors from '../../src/errors/zns_errors'; import * as genericErrors from '../../src/errors/generic_errors'; import * as providerErrors from '../../src/errors/provider_errors'; import * as signatureErrors from '../../src/errors/signature_errors'; @@ -44,7 +44,7 @@ describe('errors', () => { ...accountErrors, ...connectionErrors, ...contractErrors, - ...ensErrors, + ...znsErrors, ...genericErrors, ...providerErrors, ...signatureErrors, diff --git a/packages/web3-net/CHANGELOG.md b/packages/web3-net/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-net/CHANGELOG.md +++ b/packages/web3-net/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-net/src/index.ts b/packages/web3-net/src/index.ts index d045540f..e80405d9 100644 --- a/packages/web3-net/src/index.ts +++ b/packages/web3-net/src/index.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /** - * The web3-net package allows you to interact with an Zond node’s network properties. + * The web3-net package allows you to interact with a Zond node’s network properties. * * ```ts * import Net from '@theqrl/web3-net'; diff --git a/packages/web3-providers-http/CHANGELOG.md b/packages/web3-providers-http/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-providers-http/CHANGELOG.md +++ b/packages/web3-providers-http/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-providers-ipc/CHANGELOG.md b/packages/web3-providers-ipc/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-providers-ipc/CHANGELOG.md +++ b/packages/web3-providers-ipc/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-providers-ws/CHANGELOG.md b/packages/web3-providers-ws/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-providers-ws/CHANGELOG.md +++ b/packages/web3-providers-ws/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-rpc-methods/CHANGELOG.md b/packages/web3-rpc-methods/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-rpc-methods/CHANGELOG.md +++ b/packages/web3-rpc-methods/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-types/CHANGELOG.md b/packages/web3-types/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-types/CHANGELOG.md +++ b/packages/web3-types/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-types/src/apis/zond_execution_api.ts b/packages/web3-types/src/apis/zond_execution_api.ts index e9465460..c91891a0 100644 --- a/packages/web3-types/src/apis/zond_execution_api.ts +++ b/packages/web3-types/src/apis/zond_execution_api.ts @@ -74,12 +74,10 @@ export interface Transaction1559SignedAPI extends Transaction1559UnsignedAPI { } // https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L144 -export type TransactionUnsignedAPI = - | Transaction1559UnsignedAPI; +export type TransactionUnsignedAPI = Transaction1559UnsignedAPI; // https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L211 -export type TransactionSignedAPI = - | Transaction1559SignedAPI; +export type TransactionSignedAPI = Transaction1559SignedAPI; // https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L216 export type TransactionInfoAPI = TransactionSignedAPI & { @@ -156,7 +154,9 @@ export type ZondExecutionAPI = { zond_getBlockTransactionCountByNumber: (blockNumber: BlockNumberOrTag) => Uint; // https://github.com/ethereum/execution-apis/blob/main/src/eth/transaction.yaml - zond_getTransactionByHash: (transactionHash: HexString32Bytes) => TransactionInfoAPI | undefined; + zond_getTransactionByHash: ( + transactionHash: HexString32Bytes, + ) => TransactionInfoAPI | undefined; zond_getTransactionByBlockHashAndIndex: ( blockHash: HexString32Bytes, transactionIndex: Uint, diff --git a/packages/web3-types/src/web3_base_provider.ts b/packages/web3-types/src/web3_base_provider.ts index 4bbd8655..5e92106a 100644 --- a/packages/web3-types/src/web3_base_provider.ts +++ b/packages/web3-types/src/web3_base_provider.ts @@ -98,7 +98,6 @@ export interface LegacyRequestProvider { ): void; } - export interface SimpleProvider { request, ResponseType = Web3APIReturnType>( args: Web3APIPayload, diff --git a/packages/web3-types/src/zond_types.ts b/packages/web3-types/src/zond_types.ts index ab1eae16..faad69a6 100644 --- a/packages/web3-types/src/zond_types.ts +++ b/packages/web3-types/src/zond_types.ts @@ -88,7 +88,7 @@ export type TransactionOutput = { readonly transactionIndex?: Numbers; maxPriorityFeePerGas: Numbers; maxFeePerGas: Numbers; -} +}; export interface LogsInput { readonly blockHash?: HexString; @@ -360,8 +360,7 @@ export interface PopulatedUnsignedEip1559Transaction { maxPriorityFeePerGas: Numbers; } -export type PopulatedUnsignedTransaction = - PopulatedUnsignedEip1559Transaction; +export type PopulatedUnsignedTransaction = PopulatedUnsignedEip1559Transaction; export interface BlockBase< ByteType, @@ -438,26 +437,26 @@ export interface Eip712TypedData { /** * To contain the gas Fee Data to be used with transactions. - * + * * Typically you will only need `maxFeePerGas` and `maxPriorityFeePerGas` for a transaction following EIP-1559. * However, if you want to get informed about the fees of last block, you can use `baseFeePerGas` too. - * - * + * + * * @see https://eips.ethereum.org/EIPS/eip-1559 - * + * */ export interface FeeData { /** * The baseFeePerGas returned from the last available block. - * - * However, the user will only pay (the future baseFeePerGas + the maxPriorityFeePerGas). + * + * However, the user will only pay (the future baseFeePerGas + the maxPriorityFeePerGas). * And this value is just for getting informed about the fees of last block. */ readonly baseFeePerGas?: Numbers; /** * The maximum fee that the user would be willing to pay per-gas. - * + * * However, the user will only pay (the future baseFeePerGas + the maxPriorityFeePerGas). * And the `maxFeePerGas` could be used to prevent paying more than it, if `baseFeePerGas` went too high. */ @@ -467,4 +466,4 @@ export interface FeeData { * The validator's tip for including a transaction in a block. */ readonly maxPriorityFeePerGas?: Numbers; -} \ No newline at end of file +} diff --git a/packages/web3-utils/CHANGELOG.md b/packages/web3-utils/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-utils/CHANGELOG.md +++ b/packages/web3-utils/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-utils/src/converters.ts b/packages/web3-utils/src/converters.ts index 4b1e2ac0..2daf9ff0 100644 --- a/packages/web3-utils/src/converters.ts +++ b/packages/web3-utils/src/converters.ts @@ -42,36 +42,30 @@ const expo10 = (expo: number) => base ** BigInt(expo); // Ref: https://ethdocs.org/en/latest/ether.html /** @internal */ export const zondUnitMap = { - noether: BigInt('0'), - wei: BigInt(1), - kwei: expo10(3), - Kwei: expo10(3), - babbage: expo10(3), - femtoether: expo10(3), - mwei: expo10(6), - Mwei: expo10(6), - lovelace: expo10(6), - picoether: expo10(6), - gwei: expo10(9), - Gwei: expo10(9), - shannon: expo10(9), - nanoether: expo10(9), + nozond: BigInt('0'), + planck: BigInt(1), + kplanck: expo10(3), + Kplanck: expo10(3), + mplanck: expo10(6), + Mplanck: expo10(6), + gplanck: expo10(9), + Gplanck: expo10(9), nano: expo10(9), - szabo: expo10(12), - microether: expo10(12), + tplanck: expo10(12), + Tplanck: expo10(12), micro: expo10(12), - finney: expo10(15), - milliether: expo10(15), + pplanck: expo10(15), + Pplanck: expo10(15), milli: expo10(15), - ether: expo10(18), - kether: expo10(21), + zond: expo10(18), + kzond: expo10(21), grand: expo10(21), - mether: expo10(24), - gether: expo10(27), - tether: expo10(30), + mzond: expo10(24), + gzond: expo10(27), + tzond: expo10(30), }; -export type EtherUnits = keyof typeof zondUnitMap; +export type ZondUnits = keyof typeof zondUnitMap; /** * Convert a value from bytes to Uint8Array * @param data - Data to be converted @@ -149,9 +143,7 @@ export const hexToBytes = (bytes: HexString): Uint8Array => { * > Uint8Array(20) [ 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116 ] * ``` */ -export const addressToBytes = (value: Address): Uint8Array => { - return bytesToUint8Array(addressToHex(value)); -}; +export const addressToBytes = (value: Address): Uint8Array => bytesToUint8Array(addressToHex(value)); /** * Convert a hex string to an address string @@ -495,28 +487,25 @@ export const toBigInt = (value: unknown): bigint => { }; /** - * Takes a number of wei and converts it to any other ether unit. - * @param number - The value in wei + * Takes a number of planck and converts it to any other zond unit. + * @param number - The value in planck * @param unit - The unit to convert to * @returns - Returns the converted value in the given unit * * @example * ```ts - * console.log(web3.utils.fromWei("1", "ether")); + * console.log(web3.utils.fromPlanck("1", "zond")); * > 0.000000000000000001 - * - * console.log(web3.utils.fromWei("1", "shannon")); - * > 0.000000001 * ``` */ -export const fromWei = (number: Numbers, unit: EtherUnits): string => { +export const fromPlanck = (number: Numbers, unit: ZondUnits): string => { const denomination = zondUnitMap[unit]; if (!denomination) { throw new InvalidUnitError(unit); } - // value in wei would always be integer + // value in planck would always be integer // 13456789, 1234 const value = String(toNumber(number)); @@ -554,20 +543,20 @@ export const fromWei = (number: Numbers, unit: EtherUnits): string => { }; /** - * Takes a number of a unit and converts it to wei. + * Takes a number of a unit and converts it to planck. * * @param number - The number to convert. - * @param unit - {@link EtherUnits} The unit of the number passed. - * @returns The number converted to wei. + * @param unit - {@link ZondUnits} The unit of the number passed. + * @returns The number converted to planck. * * @example * ```ts - * console.log(web3.utils.toWei("0.001", "ether")); - * > 1000000000000000 //(wei) + * console.log(web3.utils.toPlanck("0.001", "zond")); + * > 1000000000000000 //(planck) * ``` */ -// todo in 1.x unit defaults to 'ether' -export const toWei = (number: Numbers, unit: EtherUnits): string => { +// todo in 1.x unit defaults to 'zond' +export const toPlanck = (number: Numbers, unit: ZondUnits): string => { validator.validate(['number'], [number]); const denomination = zondUnitMap[unit]; diff --git a/packages/web3-utils/src/formatter.ts b/packages/web3-utils/src/formatter.ts index 46aa9741..032b0dd7 100644 --- a/packages/web3-utils/src/formatter.ts +++ b/packages/web3-utils/src/formatter.ts @@ -16,7 +16,13 @@ along with web3.js. If not, see . */ import { FormatterError } from '@theqrl/web3-errors'; import { Bytes, DataFormat, FMT_BYTES, FMT_NUMBER, FormatType } from '@theqrl/web3-types'; -import { isNullish, isObject, JsonSchema, utils, ValidationSchemaInput } from '@theqrl/web3-validator'; +import { + isNullish, + isObject, + JsonSchema, + utils, + ValidationSchemaInput, +} from '@theqrl/web3-validator'; import { bytesToUint8Array, bytesToHex, numberToHex, toBigInt } from './converters.js'; import { mergeDeep } from './objects.js'; import { padLeft } from './string_manipulation.js'; diff --git a/packages/web3-utils/src/promise_helpers.ts b/packages/web3-utils/src/promise_helpers.ts index 1b55abe3..ed7becc6 100644 --- a/packages/web3-utils/src/promise_helpers.ts +++ b/packages/web3-utils/src/promise_helpers.ts @@ -84,22 +84,25 @@ export function pollTillDefinedAndReturnIntervalId( ): [Promise>, Timer] { let intervalId: Timer | undefined; const polledRes = new Promise>((resolve, reject) => { - intervalId = setInterval(function intervalCallbackFunc(){ - (async () => { - try { - const res = await waitWithTimeout(func, interval); + intervalId = setInterval( + (function intervalCallbackFunc() { + (async () => { + try { + const res = await waitWithTimeout(func, interval); - if (!isNullish(res)) { + if (!isNullish(res)) { + clearInterval(intervalId); + resolve(res as unknown as Exclude); + } + } catch (error) { clearInterval(intervalId); - resolve(res as unknown as Exclude); + reject(error); } - } catch (error) { - clearInterval(intervalId); - reject(error); - } - })() as unknown; - return intervalCallbackFunc;}() // this will immediate invoke first call - , interval); + })() as unknown; + return intervalCallbackFunc; + })(), // this will immediate invoke first call + interval, + ); }); return [polledRes as unknown as Promise>, intervalId!]; @@ -109,7 +112,7 @@ export function pollTillDefinedAndReturnIntervalId( * Repeatedly calls an async function with a given interval until the result of the function is defined (not undefined or null), * or until a timeout is reached. * pollTillDefinedAndReturnIntervalId() function should be used instead of pollTillDefined if you need IntervalId in result. - * This function will be deprecated in next major release so use pollTillDefinedAndReturnIntervalId(). + * This function will be deprecated in next major release so use pollTillDefinedAndReturnIntervalId(). * @param func - The function to call. * @param interval - The interval in milliseconds. */ diff --git a/packages/web3-utils/src/validation.ts b/packages/web3-utils/src/validation.ts index cba23f8d..2e4b4ce8 100644 --- a/packages/web3-utils/src/validation.ts +++ b/packages/web3-utils/src/validation.ts @@ -16,10 +16,7 @@ along with web3.js. If not, see . */ import { InvalidBlockError } from '@theqrl/web3-errors'; -import { - isBlockTag, - isNullish as isNullishValidator, -} from '@theqrl/web3-validator'; +import { isBlockTag, isNullish as isNullishValidator } from '@theqrl/web3-validator'; import { BlockNumberOrTag, BlockTags } from '@theqrl/web3-types'; /** diff --git a/packages/web3-utils/test/config/jest.config.js b/packages/web3-utils/test/config/jest.config.js index 4a60f95b..c8c21e06 100644 --- a/packages/web3-utils/test/config/jest.config.js +++ b/packages/web3-utils/test/config/jest.config.js @@ -12,7 +12,7 @@ module.exports = { }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', - }, + }, verbose: false, collectCoverage: false, coverageReporters: ['json'], diff --git a/packages/web3-utils/test/fixtures/converters.ts b/packages/web3-utils/test/fixtures/converters.ts index aa56dc91..39e71473 100644 --- a/packages/web3-utils/test/fixtures/converters.ts +++ b/packages/web3-utils/test/fixtures/converters.ts @@ -15,8 +15,15 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Address, Bytes, HexString, Numbers, ValueTypes, ZPrefixedHexString } from '@theqrl/web3-types'; -import { EtherUnits, hexToBytes } from '../../src/converters'; +import { + Address, + Bytes, + HexString, + Numbers, + ValueTypes, + ZPrefixedHexString, +} from '@theqrl/web3-types'; +import { ZondUnits, hexToBytes } from '../../src/converters'; export const bytesToHexValidData: [Bytes, HexString][] = [ [new Uint8Array([72]), '0x48'], @@ -245,72 +252,75 @@ export const toHexInvalidData: [any, string][] = [ [undefined, 'Invalid value given "undefined". Error: can not be converted to hex.'], ]; -const conversionBaseData: [[Numbers, EtherUnits], string][] = [ - [[0, 'wei'], '0'], - [[123, 'wei'], '123'], - [['123', 'wei'], '123'], - [[BigInt(123), 'wei'], '123'], - [['1000', 'wei'], '1000'], - [['1', 'kwei'], '0.001'], - [['1', 'mwei'], '0.000001'], - [['1', 'gwei'], '0.000000001'], +const conversionBaseData: [[Numbers, ZondUnits], string][] = [ + [[0, 'planck'], '0'], + [[123, 'planck'], '123'], + [['123', 'planck'], '123'], + [[BigInt(123), 'planck'], '123'], + [['1000', 'planck'], '1000'], + [['1', 'kplanck'], '0.001'], + [['1', 'mplanck'], '0.000001'], + [['1', 'gplanck'], '0.000000001'], [['1', 'micro'], '0.000000000001'], [['1', 'milli'], '0.000000000000001'], - [['1', 'ether'], '0.000000000000000001'], - [['1', 'kether'], '0.000000000000000000001'], - [['1', 'mether'], '0.000000000000000000000001'], - [['1', 'gether'], '0.000000000000000000000000001'], - [['1', 'tether'], '0.000000000000000000000000000001'], - [['900000000000000000000000000001', 'tether'], '0.900000000000000000000000000001'], - [['1000', 'kwei'], '1'], - [['1000000', 'mwei'], '1'], - [['1000000000', 'gwei'], '1'], + [['1', 'zond'], '0.000000000000000001'], + [['1', 'kzond'], '0.000000000000000000001'], + [['1', 'mzond'], '0.000000000000000000000001'], + [['1', 'gzond'], '0.000000000000000000000000001'], + [['1', 'tzond'], '0.000000000000000000000000000001'], + [['900000000000000000000000000001', 'tzond'], '0.900000000000000000000000000001'], + [['1000', 'kplanck'], '1'], + [['1000000', 'mplanck'], '1'], + [['1000000000', 'gplanck'], '1'], [['1000000000000', 'micro'], '1'], [['1000000000000000', 'milli'], '1'], - [['1000000000000000000', 'ether'], '1'], - [['1000000000000000000000', 'kether'], '1'], - [['1000000000000000000000000', 'mether'], '1'], - [['1000000000000000000000000000', 'gether'], '1'], - [['1000000000000000000000000000000', 'tether'], '1'], - [['1000000000000000000000000000000', 'tether'], '1'], - [['12345678', 'gwei'], '0.012345678'], - [['76912345678', 'gwei'], '76.912345678'], - [['134439381738', 'gwei'], '134.439381738'], - [['178373938391829348', 'ether'], '0.178373938391829348'], - [['879123456788877661', 'gwei'], '879123456.788877661'], - [['879123456788877661', 'tether'], '0.000000000000879123456788877661'], -]; - -export const fromWeiValidData: [[Numbers, EtherUnits], string][] = [ + [['1000000000000000000', 'zond'], '1'], + [['1000000000000000000000', 'kzond'], '1'], + [['1000000000000000000000000', 'mzond'], '1'], + [['1000000000000000000000000000', 'gzond'], '1'], + [['1000000000000000000000000000000', 'tzond'], '1'], + [['1000000000000000000000000000000', 'tzond'], '1'], + [['12345678', 'gplanck'], '0.012345678'], + [['76912345678', 'gplanck'], '76.912345678'], + [['134439381738', 'gplanck'], '134.439381738'], + [['178373938391829348', 'zond'], '0.178373938391829348'], + [['879123456788877661', 'gplanck'], '879123456.788877661'], + [['879123456788877661', 'tzond'], '0.000000000000879123456788877661'], +]; + +export const fromPlanckValidData: [[Numbers, ZondUnits], string][] = [ ...conversionBaseData, - [['0xff', 'wei'], '255'], + [['0xff', 'planck'], '255'], ]; -export const toWeiValidData: [[Numbers, EtherUnits], string][] = [ +export const toPlanckValidData: [[Numbers, ZondUnits], string][] = [ ...conversionBaseData, - [['255', 'wei'], '0xFF'], + [['255', 'planck'], '0xFF'], ]; -export const fromWeiInvalidData: [[any, any], string][] = [ +export const fromPlanckInvalidData: [[any, any], string][] = [ // eslint-disable-next-line no-useless-escape - [['123.34', 'kwei'], 'Invalid value given "123.34". Error: can not parse as number data.'], + [['123.34', 'kplanck'], 'Invalid value given "123.34". Error: can not parse as number data.'], // Using "null" value intentionally for validation // eslint-disable-next-line no-null/no-null - [[null, 'kwei'], 'Invalid value given "undefined". Error: can not parse as number data.'], - [[undefined, 'kwei'], 'Invalid value given "undefined". Error: can not parse as number data.'], - [[{}, 'kwei'], 'Invalid value given "{}". Error: can not parse as number data'], - [['data', 'kwei'], 'Invalid value given "data". Error: can not parse as number data.'], - [['1234', 'uwei'], 'Invalid value given "uwei". Error: invalid unit.'], + [[null, 'kplanck'], 'Invalid value given "undefined". Error: can not parse as number data.'], + [ + [undefined, 'kplanck'], + 'Invalid value given "undefined". Error: can not parse as number data.', + ], + [[{}, 'kplanck'], 'Invalid value given "{}". Error: can not parse as number data'], + [['data', 'kplanck'], 'Invalid value given "data". Error: can not parse as number data.'], + [['1234', 'uplanck'], 'Invalid value given "uplanck". Error: invalid unit.'], ]; -export const toWeiInvalidData: [[any, any], string][] = [ +export const toPlanckInvalidData: [[any, any], string][] = [ // Using "null" value intentionally for validation // eslint-disable-next-line no-null/no-null - [[null, 'kwei'], 'value "null" at "/0" must pass "number" validation'], - [[undefined, 'kwei'], 'Web3 validator found 1 error[s]:\nvalue at "/0" is required'], - [[{}, 'kwei'], 'value "{}" at "/0" must pass "number" validation'], - [['data', 'kwei'], 'value "data" at "/0" must pass "number" validation'], - [['1234', 'uwei'], 'Invalid value given "uwei". Error: invalid unit.'], + [[null, 'kplanck'], 'value "null" at "/0" must pass "number" validation'], + [[undefined, 'kplanck'], 'Web3 validator found 1 error[s]:\nvalue at "/0" is required'], + [[{}, 'kplanck'], 'value "{}" at "/0" must pass "number" validation'], + [['data', 'kplanck'], 'value "data" at "/0" must pass "number" validation'], + [['1234', 'uplanck'], 'Invalid value given "uplanck". Error: invalid unit.'], ]; export const toCheckSumValidData: [string, string][] = [ ['Z0089d53f703f7e0843953d48133f74ce247184c2', 'Z0089d53F703f7E0843953D48133f74cE247184c2'], @@ -348,9 +358,25 @@ export const toBigIntInvalidData: [any, string][] = [ ]; export const addressToBytesValidData: [ZPrefixedHexString, Uint8Array][] = [ - ['Z4848484848484848484848484848484848484848', new Uint8Array([72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72])], - ['Z3772377237723772377237723772377237723772', new Uint8Array([55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114])], - ['Z480c480c480c480c480c480c480c480c480c480c', new Uint8Array([72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12])], + [ + 'Z4848484848484848484848484848484848484848', + new Uint8Array([ + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + ]), + ], + [ + 'Z3772377237723772377237723772377237723772', + new Uint8Array([ + 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, + 114, + ]), + ], + [ + 'Z480c480c480c480c480c480c480c480c480c480c', + new Uint8Array([ + 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, + ]), + ], ]; export const addressToHexValidData: [ZPrefixedHexString, HexString][] = [ @@ -363,8 +389,14 @@ export const addressToHexValidData: [ZPrefixedHexString, HexString][] = [ export const invalidAddressData: [any, string][] = [ ['Z1', 'value "Z1" at "/0" must pass "address" validation'], - ['ZE247a45c287191d435A8a5D72A7C8dc030451E9F', 'value "ZE247a45c287191d435A8a5D72A7C8dc030451E9F" at "/0" must pass "address" validation'], // Invalid checksum - ['-Z407d73d8a49eeb85d32cf465507dd71d507100c1', 'value "-Z407d73d8a49eeb85d32cf465507dd71d507100c1" at "/0" must pass "address" validation'], + [ + 'ZE247a45c287191d435A8a5D72A7C8dc030451E9F', + 'value "ZE247a45c287191d435A8a5D72A7C8dc030451E9F" at "/0" must pass "address" validation', + ], // Invalid checksum + [ + '-Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'value "-Z407d73d8a49eeb85d32cf465507dd71d507100c1" at "/0" must pass "address" validation', + ], ]; export const hexToAddressValidData: [HexString, ZPrefixedHexString][] = [ @@ -381,4 +413,4 @@ export const hexToAddressInvalidData: [HexString, string][] = [ ['xfff', 'value "xfff" at "/0" must pass "hex" validation'], ['-123', 'value "-123" at "/0" must pass "hex" validation'], ['-9x123', 'value "-9x123" at "/0" must pass "hex" validation'], -]; \ No newline at end of file +]; diff --git a/packages/web3-utils/test/fixtures/hash.ts b/packages/web3-utils/test/fixtures/hash.ts index 9f96d4fd..b41e56bc 100644 --- a/packages/web3-utils/test/fixtures/hash.ts +++ b/packages/web3-utils/test/fixtures/hash.ts @@ -263,14 +263,8 @@ export const encodePackedInvalidData: [any, string][] = [ [{ type: 'string', value: true }, 'Invalid value given "true". Error: not a valid string.'], [{ type: 'string', value: 1234 }, 'Invalid value given "1234". Error: not a valid string.'], [{ type: 'boolean', value: 1234 }, 'Invalid value given "1234". Error: not a valid boolean.'], - [ - { type: 'address', value: 1234 }, - 'Invalid value given "1234". Error: invalid zond address', - ], - [ - { type: 'address', value: '0x2' }, - 'Invalid value given "0x2". Error: invalid zond address', - ], + [{ type: 'address', value: 1234 }, 'Invalid value given "1234". Error: invalid zond address'], + [{ type: 'address', value: '0x2' }, 'Invalid value given "0x2". Error: invalid zond address'], [{ type: 'uint612', value: 13 }, 'Invalid value given "13". Error: invalid size given.'], [ { type: 'uint8', value: 1000 }, diff --git a/packages/web3-utils/test/unit/converters.test.ts b/packages/web3-utils/test/unit/converters.test.ts index e40488f4..53a3f0cd 100644 --- a/packages/web3-utils/test/unit/converters.test.ts +++ b/packages/web3-utils/test/unit/converters.test.ts @@ -21,7 +21,7 @@ import { fromAscii, fromDecimal, fromUtf8, - fromWei, + fromPlanck, hexToAscii, hexToBytes, hexToNumber, @@ -35,7 +35,7 @@ import { toHex, toNumber, toUtf8, - toWei, + toPlanck, utf8ToHex, toChecksumAddress, bytesToUint8Array, @@ -49,8 +49,8 @@ import { asciiToHexValidData, bytesToHexInvalidData, bytesToHexValidData, - fromWeiInvalidData, - fromWeiValidData, + fromPlanckInvalidData, + fromPlanckValidData, hexToAsciiValidData, hexToBytesInvalidData, hexToBytesValidData, @@ -63,8 +63,8 @@ import { numberToHexValidData, toHexValidData, toHexInvalidData, - toWeiInvalidData, - toWeiValidData, + toPlanckInvalidData, + toPlanckValidData, utf8ToHexInvalidData, utf8ToHexValidData, toCheckSumValidData, @@ -386,30 +386,30 @@ describe('converters', () => { }); }); - describe('fromWei', () => { + describe('fromPlanck', () => { describe('valid cases', () => { - it.each(fromWeiValidData)('%s', (input, output) => { - expect(fromWei(input[0], input[1])).toEqual(output); + it.each(fromPlanckValidData)('%s', (input, output) => { + expect(fromPlanck(input[0], input[1])).toEqual(output); }); }); describe('invalid cases', () => { - it.each(fromWeiInvalidData)('%s', (input, output) => { - expect(() => fromWei(input[0], input[1])).toThrow(output); + it.each(fromPlanckInvalidData)('%s', (input, output) => { + expect(() => fromPlanck(input[0], input[1])).toThrow(output); }); }); }); - describe('toWei', () => { + describe('toPlanck', () => { describe('valid cases', () => { - it.each(toWeiValidData)('%s', (input, output) => { - expect(toWei(output, input[1])).toEqual(input[0].toString()); + it.each(toPlanckValidData)('%s', (input, output) => { + expect(toPlanck(output, input[1])).toEqual(input[0].toString()); }); }); describe('invalid cases', () => { - it.each(toWeiInvalidData)('%s', (input, output) => { - expect(() => toWei(input[0], input[1])).toThrow(output); + it.each(toPlanckInvalidData)('%s', (input, output) => { + expect(() => toPlanck(input[0], input[1])).toThrow(output); }); }); }); diff --git a/packages/web3-utils/test/unit/socket_provider.test.ts b/packages/web3-utils/test/unit/socket_provider.test.ts index a0d30513..2152163c 100644 --- a/packages/web3-utils/test/unit/socket_provider.test.ts +++ b/packages/web3-utils/test/unit/socket_provider.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { EventEmitter } from 'stream'; -import { Web3APIPayload, ZondExecutionAPI, JsonRpcResponse, Web3ProviderStatus } from '@theqrl/web3-types'; +import { + Web3APIPayload, + ZondExecutionAPI, + JsonRpcResponse, + Web3ProviderStatus, +} from '@theqrl/web3-types'; // eslint-disable-next-line import/no-relative-packages import { sleep } from '../../../../fixtures/utils'; import { SocketProvider } from '../../src/socket_provider'; diff --git a/packages/web3-validator/CHANGELOG.md b/packages/web3-validator/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-validator/CHANGELOG.md +++ b/packages/web3-validator/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-validator/README.md b/packages/web3-validator/README.md index f8e75959..68e648a2 100644 --- a/packages/web3-validator/README.md +++ b/packages/web3-validator/README.md @@ -50,13 +50,13 @@ const errors = validator.validate(['uint8', 'string'], [val1, val2], { silent: t To see more examples of schema you can use to validate check [following file](./test/fixtures/abi_to_json_schema.ts). -Following eth types are supported to validate. +Following zond types are supported to validate. -| Type | Input As | Description | -| ----- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Type | Input As | Description | +| ----- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | uint | `number`, `string`, `HexString` | Unsigned integer, all zond compatible variants are also supported e.g. `uint8`, `uint256`. You can also use array specifiers as `uint[]` or `uint[2]` | | int | `number`, `string`, `HexString` | Signed integer, all zond compatible variants are also supported e.g. `int8`, `int256`. You can also use array specifiers as `int[]` or `int[2]` | -| bytes | `HexString`, `Uint8Array` | Raw bytes. You can also use fixed length bytes as `bytes[2]` | +| bytes | `HexString`, `Uint8Array` | Raw bytes. You can also use fixed length bytes as `bytes[2]` | | string | `string` | String values | | address | `string`, `HexString` | Zond network compatible address | diff --git a/packages/web3-validator/src/utils.ts b/packages/web3-validator/src/utils.ts index 08f497e3..ae05d93d 100644 --- a/packages/web3-validator/src/utils.ts +++ b/packages/web3-validator/src/utils.ts @@ -401,7 +401,6 @@ export const addressToHex = (value: string): string => { return value.replace('Z', '0x'); }; - /** * Converts value to it's hex representation */ diff --git a/packages/web3-validator/src/validation/address.ts b/packages/web3-validator/src/validation/address.ts index c4c60b95..6978f032 100644 --- a/packages/web3-validator/src/validation/address.ts +++ b/packages/web3-validator/src/validation/address.ts @@ -54,10 +54,7 @@ export const isAddressString = (value: string, checkChecksum = true) => { return false; } // If it's ALL lowercase or ALL upppercase - if ( - /^Z[0-9a-f]{40}$/.test(value) || - /^Z[0-9A-F]{40}$/.test(value) - ) { + if (/^Z[0-9a-f]{40}$/.test(value) || /^Z[0-9A-F]{40}$/.test(value)) { return true; // Otherwise check each case } diff --git a/packages/web3-validator/src/validation/bloom.ts b/packages/web3-validator/src/validation/bloom.ts index 6b8a0d82..0aad2de9 100644 --- a/packages/web3-validator/src/validation/bloom.ts +++ b/packages/web3-validator/src/validation/bloom.ts @@ -17,7 +17,13 @@ along with web3.js. If not, see . import { keccak256 } from 'ethereum-cryptography/keccak.js'; import { ValidInputTypes } from '../types.js'; -import { addressToHex, codePointToInt, hexToUint8Array, padLeft, uint8ArrayToHexString } from '../utils.js'; +import { + addressToHex, + codePointToInt, + hexToUint8Array, + padLeft, + uint8ArrayToHexString, +} from '../utils.js'; import { isAddressString } from './address.js'; import { isHexStrict } from './string.js'; diff --git a/packages/web3-validator/src/validation/numbers.ts b/packages/web3-validator/src/validation/numbers.ts index b270c1fd..3cd0d95f 100644 --- a/packages/web3-validator/src/validation/numbers.ts +++ b/packages/web3-validator/src/validation/numbers.ts @@ -119,9 +119,9 @@ export const isNumber = (value: ValidInputTypes) => { if ( typeof value === 'string' && /[0-9.]/.test(value) && - // NOTE(rgeraldes24): issue found during the tests; previously, values such - // as 'Z1' returned true; making sure that we just have numbers and dot here - !(/[^0-9.]/.test(value)) && + // NOTE(rgeraldes24): issue found during the tests; previously, values such + // as 'Z1' returned true; making sure that we just have numbers and dot here + !/[^0-9.]/.test(value) && value.indexOf('.') === value.lastIndexOf('.') ) { return true; diff --git a/packages/web3-validator/test/config/jest.config.js b/packages/web3-validator/test/config/jest.config.js index 4a60f95b..c8c21e06 100644 --- a/packages/web3-validator/test/config/jest.config.js +++ b/packages/web3-validator/test/config/jest.config.js @@ -12,7 +12,7 @@ module.exports = { }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', - }, + }, verbose: false, collectCoverage: false, coverageReporters: ['json'], diff --git a/packages/web3-validator/test/fixtures/validation.ts b/packages/web3-validator/test/fixtures/validation.ts index b4ac58b6..50502a64 100644 --- a/packages/web3-validator/test/fixtures/validation.ts +++ b/packages/web3-validator/test/fixtures/validation.ts @@ -782,13 +782,6 @@ export const validNotBaseTypeData: { dataType: string; data: any }[] = [ ]; export const validAddressDataWithHex: [string, string][] = [ - [ - 'Zdec0518fa672a70027b04c286582e543ab17319f', - '0xdec0518fa672a70027b04c286582e543ab17319f', - ], - [ - 'Zd115bffabbdd893a6f7cea402e7338643ced44a6', - '0xd115bffabbdd893a6f7cea402e7338643ced44a6', - ], + ['Zdec0518fa672a70027b04c286582e543ab17319f', '0xdec0518fa672a70027b04c286582e543ab17319f'], + ['Zd115bffabbdd893a6f7cea402e7338643ced44a6', '0xd115bffabbdd893a6f7cea402e7338643ced44a6'], ]; - diff --git a/packages/web3-zond-abi/CHANGELOG.md b/packages/web3-zond-abi/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-zond-abi/CHANGELOG.md +++ b/packages/web3-zond-abi/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-zond-abi/test/unit/get_encoded_eip712_data.test.ts b/packages/web3-zond-abi/test/unit/get_encoded_eip712_data.test.ts index d40c5f25..f20d7250 100644 --- a/packages/web3-zond-abi/test/unit/get_encoded_eip712_data.test.ts +++ b/packages/web3-zond-abi/test/unit/get_encoded_eip712_data.test.ts @@ -24,6 +24,6 @@ describe('getEncodedEip712Data', () => { }); it.each(erroneousTestData)('%s', (_, typedData, hashEncodedData, expectedError) => { - expect(() => getEncodedEip712Data(typedData, hashEncodedData)).toThrowError(expectedError); + expect(() => getEncodedEip712Data(typedData, hashEncodedData)).toThrow(expectedError); }); }); diff --git a/packages/web3-zond-accounts/CHANGELOG.md b/packages/web3-zond-accounts/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-zond-accounts/CHANGELOG.md +++ b/packages/web3-zond-accounts/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-zond-accounts/index.d.ts b/packages/web3-zond-accounts/index.d.ts index 5cc0b6cd..ce27d454 100644 --- a/packages/web3-zond-accounts/index.d.ts +++ b/packages/web3-zond-accounts/index.d.ts @@ -1,2 +1,18 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ declare module '@theqrl/wallet.js'; declare module '@theqrl/dilithium5'; diff --git a/packages/web3-zond-accounts/src/account.ts b/packages/web3-zond-accounts/src/account.ts index 062b5529..550857d8 100644 --- a/packages/web3-zond-accounts/src/account.ts +++ b/packages/web3-zond-accounts/src/account.ts @@ -23,12 +23,7 @@ import { TransactionSigningError, UndefinedRawTransactionError, } from '@theqrl/web3-errors'; -import { - Address, - Bytes, - HexString, - Transaction, -} from '@theqrl/web3-types'; +import { Address, Bytes, HexString, Transaction } from '@theqrl/web3-types'; import { bytesToUint8Array, bytesToHex, @@ -44,14 +39,9 @@ import { import { isHexStrict, isNullish } from '@theqrl/web3-validator'; import { CryptoPublicKeyBytes } from '@theqrl/dilithium5'; -import { Dilithium, getDilithiumAddressFromPK } from '@theqrl/wallet.js' +import { Dilithium, getDilithiumAddressFromPK } from '@theqrl/wallet.js'; import { TransactionFactory } from './tx/transactionFactory.js'; -import type { - SignTransactionResult, - TypedTransaction, - Web3Account, - SignResult, -} from './types.js'; +import type { SignTransactionResult, TypedTransaction, Web3Account, SignResult } from './types.js'; /** * Get the public key Uint8Array after the validation @@ -96,9 +86,7 @@ export const hashMessage = (message: string): string => { const messageBytes = hexToBytes(messageHex); - const preamble = hexToBytes( - fromUtf8(`\x19Zond Signed Message:\n${messageBytes.byteLength}`), - ); + const preamble = hexToBytes(fromUtf8(`\x19Zond Signed Message:\n${messageBytes.byteLength}`)); const zondMessage = uint8ArrayConcat(preamble, messageBytes); @@ -228,13 +216,12 @@ export const recoverTransaction = (rawTransaction: HexString): Address => { * ``` */ export const publicKeyToAddress = (publicKey: Bytes): string => { - const publicKeyUint8Array = parseAndValidatePublicKey(publicKey); + const publicKeyUint8Array = parseAndValidatePublicKey(publicKey); const address = getDilithiumAddressFromPK(publicKeyUint8Array); return toChecksumAddress(hexToAddress(bytesToHex(address))); }; - // TODO(youtrack/theqrl/web3.js/3) /** * encrypt a private key with a password, returns a V3 JSON Keystore @@ -406,11 +393,10 @@ export const publicKeyToAddress = (publicKey: Bytes): string => { // }; // }; - /** * Get the seed Uint8Array after the validation */ -export const parseAndValidateSeed = (data: Bytes , ignoreLength?: boolean): Uint8Array => { +export const parseAndValidateSeed = (data: Bytes, ignoreLength?: boolean): Uint8Array => { let seedUint8Array: Uint8Array; // To avoid the case of 1 character less in a hex string which is prefixed with '0' by using 'bytesToUint8Array' @@ -431,7 +417,6 @@ export const parseAndValidateSeed = (data: Bytes , ignoreLength?: boolean): Uint return seedUint8Array; }; - /** * Get an Account object from the seed * diff --git a/packages/web3-zond-accounts/src/common/chains/mainnet.ts b/packages/web3-zond-accounts/src/common/chains/mainnet.ts index fa91e6fe..f132edf0 100644 --- a/packages/web3-zond-accounts/src/common/chains/mainnet.ts +++ b/packages/web3-zond-accounts/src/common/chains/mainnet.ts @@ -1,29 +1,28 @@ export default { - "name": "mainnet", - "chainId": 1, - "networkId": 1, - "defaultHardfork": "shanghai", - "consensus": { - "type": "pos", - "algorithm": "casper", - "casper": {} + name: 'mainnet', + chainId: 1, + networkId: 1, + defaultHardfork: 'shanghai', + consensus: { + type: 'pos', + algorithm: 'casper', + casper: {}, }, - "comment": "The Zond main chain", - "url": "https://ethstats.net/", - "genesis": { - "gasLimit": 5000, - "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa" + comment: 'The Zond main chain', + url: 'https://ethstats.net/', + genesis: { + gasLimit: 5000, + extraData: '0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa', }, - "hardforks": [ + hardforks: [ { - "name": "shanghai", - "block": 0, - "forkHash": null - } + name: 'shanghai', + block: 0, + forkHash: null, + }, ], - "bootstrapNodes": [], - "dnsNetworks": [ - "enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net" - ] -} - ; \ No newline at end of file + bootstrapNodes: [], + dnsNetworks: [ + 'enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net', + ], +}; diff --git a/packages/web3-zond-accounts/src/common/common.ts b/packages/web3-zond-accounts/src/common/common.ts index 04e102e9..7d6f3579 100644 --- a/packages/web3-zond-accounts/src/common/common.ts +++ b/packages/web3-zond-accounts/src/common/common.ts @@ -102,7 +102,7 @@ export class Common extends EventEmitter { ...opts, }); } - + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions throw new Error(`Custom chain ${chainParamsOrName} not supported`); } @@ -243,10 +243,7 @@ export class Common extends EventEmitter { * @param timestamp: timestamp in seconds at which block was/is to be minted * @returns The name of the HF */ - public getHardforkByBlockNumber( - _blockNumber: Numbers, - _timestamp?: Numbers, - ): string { + public getHardforkByBlockNumber(_blockNumber: Numbers, _timestamp?: Numbers): string { const blockNumber = toType(_blockNumber, TypeOutput.BigInt); const timestamp = toType(_timestamp, TypeOutput.Number); @@ -254,10 +251,9 @@ export class Common extends EventEmitter { const hfs = this.hardforks().filter( hf => // eslint-disable-next-line no-null/no-null - hf.block !== null || - hf.timestamp !== undefined, + hf.block !== null || hf.timestamp !== undefined, ); - + // Find the first hardfork that has a block number greater than `blockNumber` // (skips the merge hardfork since it cannot have a block number specified). // If timestamp is not provided, it also skips timestamps hardforks to continue @@ -311,9 +307,7 @@ export class Common extends EventEmitter { 0, ); if (minTimeStamp > timestamp) { - throw Error( - `Maximum HF determined by timestamp is lower than the block number HF`, - ); + throw Error(`Maximum HF determined by timestamp is lower than the block number HF`); } const maxTimeStamp = hfs @@ -338,10 +332,7 @@ export class Common extends EventEmitter { * @param timestamp * @returns The name of the HF set */ - public setHardforkByBlockNumber( - blockNumber: Numbers, - timestamp?: Numbers, - ): string { + public setHardforkByBlockNumber(blockNumber: Numbers, timestamp?: Numbers): string { const hardfork = this.getHardforkByBlockNumber(blockNumber, timestamp); this.setHardfork(hardfork); return hardfork; @@ -486,7 +477,7 @@ export class Common extends EventEmitter { /** * Returns a parameter for the hardfork active on block number provided. - * + * * @param topic Parameter topic * @param name Parameter name * @param blockNumber Block number @@ -655,7 +646,7 @@ export class Common extends EventEmitter { public nextHardforkBlockOrTimestamp(_hardfork?: string | Hardfork): bigint | null { const hardfork = _hardfork ?? this._hardfork; const hfs = this.hardforks(); - let hfIndex = hfs.findIndex(hf => hf.name === hardfork); + const hfIndex = hfs.findIndex(hf => hf.name === hardfork); // Hardfork not found if (hfIndex < 0) { @@ -724,7 +715,7 @@ export class Common extends EventEmitter { if ( typeof blockOrTime === 'number' && blockOrTime !== 0 && - blockOrTime !== prevBlockOrTime + blockOrTime !== prevBlockOrTime ) { const hfBlockUint8Array = hexToBytes(blockOrTime.toString(16).padStart(16, '0')); hfUint8Array = uint8ArrayConcat(hfUint8Array, hfBlockUint8Array); @@ -791,7 +782,8 @@ export class Common extends EventEmitter { // eslint-disable-next-line no-null/no-null (hf.forkHash === null || hf.forkHash === undefined) && // eslint-disable-next-line no-null/no-null - (blockOrTime !== null && blockOrTime !== undefined) + blockOrTime !== null && + blockOrTime !== undefined ) { hf.forkHash = this.forkHash(hf.name, genesisHash); } diff --git a/packages/web3-zond-accounts/src/common/hardforks/shanghai.ts b/packages/web3-zond-accounts/src/common/hardforks/shanghai.ts index 107d6f73..641dca44 100644 --- a/packages/web3-zond-accounts/src/common/hardforks/shanghai.ts +++ b/packages/web3-zond-accounts/src/common/hardforks/shanghai.ts @@ -1,541 +1,540 @@ export default { - "name": "shanghai", - "comment": "Start of the Zond main chain", - "url": "", - "status": "", - "gasConfig": { - "minGasLimit": { - "v": 5000, - "d": "Minimum the gas limit may ever be" - }, - "gasLimitBoundDivisor": { - "v": 1024, - "d": "The bound divisor of the gas limit, used in update calculations" - }, - "maxRefundQuotient": { - "v": 5, - "d": "Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)" - }, - "baseFeeMaxChangeDenominator": { - "v": 8, - "d": "Maximum base fee change denominator" - }, - "elasticityMultiplier": { - "v": 2, - "d": "Maximum block gas target elasticity" - }, - "initialBaseFee": { - "v": 1000000000, - "d": "Initial base fee on first EIP1559 block" - } + name: 'shanghai', + comment: 'Start of the Zond main chain', + url: '', + status: '', + gasConfig: { + minGasLimit: { + v: 5000, + d: 'Minimum the gas limit may ever be', + }, + gasLimitBoundDivisor: { + v: 1024, + d: 'The bound divisor of the gas limit, used in update calculations', + }, + maxRefundQuotient: { + v: 5, + d: 'Maximum refund quotient; max tx refund is min(tx.gasUsed/maxRefundQuotient, tx.gasRefund)', + }, + baseFeeMaxChangeDenominator: { + v: 8, + d: 'Maximum base fee change denominator', + }, + elasticityMultiplier: { + v: 2, + d: 'Maximum block gas target elasticity', + }, + initialBaseFee: { + v: 1000000000, + d: 'Initial base fee on first EIP1559 block', + }, }, - "gasPrices": { - "base": { - "v": 2, - "d": "Gas base cost, used e.g. for ChainID opcode (Istanbul)" + gasPrices: { + base: { + v: 2, + d: 'Gas base cost, used e.g. for ChainID opcode (Istanbul)', + }, + tierStep: { + v: [0, 2, 3, 5, 8, 10, 20], + d: 'Once per operation, for a selection of them', + }, + exp: { + v: 10, + d: 'Base fee of the EXP opcode', + }, + expByte: { + v: 50, + d: 'Times ceil(log256(exponent)) for the EXP instruction', }, - "tierStep": { - "v": [0, 2, 3, 5, 8, 10, 20], - "d": "Once per operation, for a selection of them" + sha3: { + v: 30, + d: 'Base fee of the SHA3 opcode', }, - "exp": { - "v": 10, - "d": "Base fee of the EXP opcode" + sha3Word: { + v: 6, + d: "Once per word of the SHA3 operation's data", }, - "expByte": { - "v": 50, - "d": "Times ceil(log256(exponent)) for the EXP instruction" + sload: { + v: 0, + d: 'Base fee of the SLOAD opcode', }, - "sha3": { - "v": 30, - "d": "Base fee of the SHA3 opcode" + sstoreSet: { + v: 20000, + d: 'Once per SSTORE operation if the zeroness changes from zero', }, - "sha3Word": { - "v": 6, - "d": "Once per word of the SHA3 operation's data" + sstoreReset: { + v: 5000, + d: 'Once per SSTORE operation if the zeroness does not change from zero', }, - "sload": { - "v": 0, - "d": "Base fee of the SLOAD opcode" + sstoreRefund: { + v: 15000, + d: 'Once per SSTORE operation if the zeroness changes to zero', }, - "sstoreSet": { - "v": 20000, - "d": "Once per SSTORE operation if the zeroness changes from zero" + jumpdest: { + v: 1, + d: 'Base fee of the JUMPDEST opcode', }, - "sstoreReset": { - "v": 5000, - "d": "Once per SSTORE operation if the zeroness does not change from zero" + log: { + v: 375, + d: 'Base fee of the LOG opcode', }, - "sstoreRefund": { - "v": 15000, - "d": "Once per SSTORE operation if the zeroness changes to zero" + logData: { + v: 8, + d: "Per byte in a LOG* operation's data", }, - "jumpdest": { - "v": 1, - "d": "Base fee of the JUMPDEST opcode" + logTopic: { + v: 375, + d: 'Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas', }, - "log": { - "v": 375, - "d": "Base fee of the LOG opcode" + create: { + v: 32000, + d: 'Base fee of the CREATE opcode', }, - "logData": { - "v": 8, - "d": "Per byte in a LOG* operation's data" + call: { + v: 0, + d: 'Base fee of the CALL opcode', }, - "logTopic": { - "v": 375, - "d": "Multiplied by the * of the LOG*, per LOG transaction. e.g. LOG0 incurs 0 * c_txLogTopicGas, LOG4 incurs 4 * c_txLogTopicGas" + callStipend: { + v: 2300, + d: 'Free gas given at beginning of call', }, - "create": { - "v": 32000, - "d": "Base fee of the CREATE opcode" + callValueTransfer: { + v: 9000, + d: 'Paid for CALL when the value transfor is non-zero', }, - "call": { - "v": 0, - "d": "Base fee of the CALL opcode" + callNewAccount: { + v: 25000, + d: "Paid for CALL when the destination address didn't exist prior", }, - "callStipend": { - "v": 2300, - "d": "Free gas given at beginning of call" + memory: { + v: 3, + d: 'Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL', }, - "callValueTransfer": { - "v": 9000, - "d": "Paid for CALL when the value transfor is non-zero" + quadCoeffDiv: { + v: 512, + d: 'Divisor for the quadratic particle of the memory cost equation', }, - "callNewAccount": { - "v": 25000, - "d": "Paid for CALL when the destination address didn't exist prior" + createData: { + v: 200, + d: '', }, - "memory": { - "v": 3, - "d": "Times the address of the (highest referenced byte in memory + 1). NOTE: referencing happens on read, write and in instructions such as RETURN and CALL" + tx: { + v: 21000, + d: 'Per transaction. NOTE: Not payable on data of calls between transactions', }, - "quadCoeffDiv": { - "v": 512, - "d": "Divisor for the quadratic particle of the memory cost equation" + txCreation: { + v: 32000, + d: 'The cost of creating a contract via tx', }, - "createData": { - "v": 200, - "d": "" + txDataZero: { + v: 4, + d: 'Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions', }, - "tx": { - "v": 21000, - "d": "Per transaction. NOTE: Not payable on data of calls between transactions" + txDataNonZero: { + v: 16, + d: 'Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions', }, - "txCreation": { - "v": 32000, - "d": "The cost of creating a contract via tx" + copy: { + v: 3, + d: 'Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added', }, - "txDataZero": { - "v": 4, - "d": "Per byte of data attached to a transaction that equals zero. NOTE: Not payable on data of calls between transactions" + depositroot: { + v: 19992, + d: '', }, - "txDataNonZero": { - "v": 16, - "d": "Per byte of data attached to a transaction that is not equal to zero. NOTE: Not payable on data of calls between transactions" + sha256: { + v: 60, + d: '', }, - "copy": { - "v": 3, - "d": "Multiplied by the number of 32-byte words that are copied (round up) for any *COPY operation and added" + sha256Word: { + v: 12, + d: '', }, - "depositroot": { - "v": 19992, - "d": "" + identity: { + v: 15, + d: '', }, - "sha256": { - "v": 60, - "d": "" + identityWord: { + v: 3, + d: '', }, - "sha256Word": { - "v": 12, - "d": "" + stop: { + v: 0, + d: 'Base fee of the STOP opcode', }, - "identity": { - "v": 15, - "d": "" + add: { + v: 3, + d: 'Base fee of the ADD opcode', }, - "identityWord": { - "v": 3, - "d": "" + mul: { + v: 5, + d: 'Base fee of the MUL opcode', }, - "stop": { - "v": 0, - "d": "Base fee of the STOP opcode" + sub: { + v: 3, + d: 'Base fee of the SUB opcode', }, - "add": { - "v": 3, - "d": "Base fee of the ADD opcode" + div: { + v: 5, + d: 'Base fee of the DIV opcode', }, - "mul": { - "v": 5, - "d": "Base fee of the MUL opcode" + sdiv: { + v: 5, + d: 'Base fee of the SDIV opcode', }, - "sub": { - "v": 3, - "d": "Base fee of the SUB opcode" + mod: { + v: 5, + d: 'Base fee of the MOD opcode', }, - "div": { - "v": 5, - "d": "Base fee of the DIV opcode" + smod: { + v: 5, + d: 'Base fee of the SMOD opcode', }, - "sdiv": { - "v": 5, - "d": "Base fee of the SDIV opcode" + addmod: { + v: 8, + d: 'Base fee of the ADDMOD opcode', }, - "mod": { - "v": 5, - "d": "Base fee of the MOD opcode" + mulmod: { + v: 8, + d: 'Base fee of the MULMOD opcode', }, - "smod": { - "v": 5, - "d": "Base fee of the SMOD opcode" + signextend: { + v: 5, + d: 'Base fee of the SIGNEXTEND opcode', }, - "addmod": { - "v": 8, - "d": "Base fee of the ADDMOD opcode" + lt: { + v: 3, + d: 'Base fee of the LT opcode', }, - "mulmod": { - "v": 8, - "d": "Base fee of the MULMOD opcode" + gt: { + v: 3, + d: 'Base fee of the GT opcode', }, - "signextend": { - "v": 5, - "d": "Base fee of the SIGNEXTEND opcode" + slt: { + v: 3, + d: 'Base fee of the SLT opcode', }, - "lt": { - "v": 3, - "d": "Base fee of the LT opcode" + sgt: { + v: 3, + d: 'Base fee of the SGT opcode', }, - "gt": { - "v": 3, - "d": "Base fee of the GT opcode" + eq: { + v: 3, + d: 'Base fee of the EQ opcode', }, - "slt": { - "v": 3, - "d": "Base fee of the SLT opcode" + iszero: { + v: 3, + d: 'Base fee of the ISZERO opcode', }, - "sgt": { - "v": 3, - "d": "Base fee of the SGT opcode" + and: { + v: 3, + d: 'Base fee of the AND opcode', }, - "eq": { - "v": 3, - "d": "Base fee of the EQ opcode" + or: { + v: 3, + d: 'Base fee of the OR opcode', }, - "iszero": { - "v": 3, - "d": "Base fee of the ISZERO opcode" + xor: { + v: 3, + d: 'Base fee of the XOR opcode', }, - "and": { - "v": 3, - "d": "Base fee of the AND opcode" + not: { + v: 3, + d: 'Base fee of the NOT opcode', }, - "or": { - "v": 3, - "d": "Base fee of the OR opcode" + byte: { + v: 3, + d: 'Base fee of the BYTE opcode', }, - "xor": { - "v": 3, - "d": "Base fee of the XOR opcode" + address: { + v: 2, + d: 'Base fee of the ADDRESS opcode', }, - "not": { - "v": 3, - "d": "Base fee of the NOT opcode" + balance: { + v: 0, + d: 'Base fee of the BALANCE opcode', }, - "byte": { - "v": 3, - "d": "Base fee of the BYTE opcode" + origin: { + v: 2, + d: 'Base fee of the ORIGIN opcode', }, - "address": { - "v": 2, - "d": "Base fee of the ADDRESS opcode" + caller: { + v: 2, + d: 'Base fee of the CALLER opcode', }, - "balance": { - "v": 0, - "d": "Base fee of the BALANCE opcode" + callvalue: { + v: 2, + d: 'Base fee of the CALLVALUE opcode', }, - "origin": { - "v": 2, - "d": "Base fee of the ORIGIN opcode" + calldataload: { + v: 3, + d: 'Base fee of the CALLDATALOAD opcode', }, - "caller": { - "v": 2, - "d": "Base fee of the CALLER opcode" + calldatasize: { + v: 2, + d: 'Base fee of the CALLDATASIZE opcode', }, - "callvalue": { - "v": 2, - "d": "Base fee of the CALLVALUE opcode" + calldatacopy: { + v: 3, + d: 'Base fee of the CALLDATACOPY opcode', }, - "calldataload": { - "v": 3, - "d": "Base fee of the CALLDATALOAD opcode" + codesize: { + v: 2, + d: 'Base fee of the CODESIZE opcode', }, - "calldatasize": { - "v": 2, - "d": "Base fee of the CALLDATASIZE opcode" + codecopy: { + v: 3, + d: 'Base fee of the CODECOPY opcode', }, - "calldatacopy": { - "v": 3, - "d": "Base fee of the CALLDATACOPY opcode" + gasprice: { + v: 2, + d: 'Base fee of the GASPRICE opcode', }, - "codesize": { - "v": 2, - "d": "Base fee of the CODESIZE opcode" + extcodesize: { + v: 0, + d: 'Base fee of the EXTCODESIZE opcode', }, - "codecopy": { - "v": 3, - "d": "Base fee of the CODECOPY opcode" + extcodecopy: { + v: 0, + d: 'Base fee of the EXTCODECOPY opcode', }, - "gasprice": { - "v": 2, - "d": "Base fee of the GASPRICE opcode" + blockhash: { + v: 20, + d: 'Base fee of the BLOCKHASH opcode', }, - "extcodesize": { - "v": 0, - "d": "Base fee of the EXTCODESIZE opcode" + coinbase: { + v: 2, + d: 'Base fee of the COINBASE opcode', }, - "extcodecopy": { - "v": 0, - "d": "Base fee of the EXTCODECOPY opcode" + timestamp: { + v: 2, + d: 'Base fee of the TIMESTAMP opcode', }, - "blockhash": { - "v": 20, - "d": "Base fee of the BLOCKHASH opcode" + number: { + v: 2, + d: 'Base fee of the NUMBER opcode', }, - "coinbase": { - "v": 2, - "d": "Base fee of the COINBASE opcode" + prevrandao: { + v: 2, + d: 'Base fee of the PREVRANDAO opcode', }, - "timestamp": { - "v": 2, - "d": "Base fee of the TIMESTAMP opcode" + gaslimit: { + v: 2, + d: 'Base fee of the GASLIMIT opcode', }, - "number": { - "v": 2, - "d": "Base fee of the NUMBER opcode" + pop: { + v: 2, + d: 'Base fee of the POP opcode', }, - "prevrandao": { - "v": 2, - "d": "Base fee of the PREVRANDAO opcode" + mload: { + v: 3, + d: 'Base fee of the MLOAD opcode', }, - "gaslimit": { - "v": 2, - "d": "Base fee of the GASLIMIT opcode" + mstore: { + v: 3, + d: 'Base fee of the MSTORE opcode', }, - "pop": { - "v": 2, - "d": "Base fee of the POP opcode" + mstore8: { + v: 3, + d: 'Base fee of the MSTORE8 opcode', }, - "mload": { - "v": 3, - "d": "Base fee of the MLOAD opcode" + sstore: { + v: 0, + d: 'Base fee of the SSTORE opcode', }, - "mstore": { - "v": 3, - "d": "Base fee of the MSTORE opcode" + jump: { + v: 8, + d: 'Base fee of the JUMP opcode', }, - "mstore8": { - "v": 3, - "d": "Base fee of the MSTORE8 opcode" + jumpi: { + v: 10, + d: 'Base fee of the JUMPI opcode', }, - "sstore": { - "v": 0, - "d": "Base fee of the SSTORE opcode" + pc: { + v: 2, + d: 'Base fee of the PC opcode', }, - "jump": { - "v": 8, - "d": "Base fee of the JUMP opcode" + msize: { + v: 2, + d: 'Base fee of the MSIZE opcode', }, - "jumpi": { - "v": 10, - "d": "Base fee of the JUMPI opcode" + gas: { + v: 2, + d: 'Base fee of the GAS opcode', }, - "pc": { - "v": 2, - "d": "Base fee of the PC opcode" + push: { + v: 3, + d: 'Base fee of the PUSH opcode', }, - "msize": { - "v": 2, - "d": "Base fee of the MSIZE opcode" + dup: { + v: 3, + d: 'Base fee of the DUP opcode', }, - "gas": { - "v": 2, - "d": "Base fee of the GAS opcode" + swap: { + v: 3, + d: 'Base fee of the SWAP opcode', }, - "push": { - "v": 3, - "d": "Base fee of the PUSH opcode" + return: { + v: 0, + d: 'Base fee of the RETURN opcode', }, - "dup": { - "v": 3, - "d": "Base fee of the DUP opcode" + invalid: { + v: 0, + d: 'Base fee of the INVALID opcode', }, - "swap": { - "v": 3, - "d": "Base fee of the SWAP opcode" + delegatecall: { + v: 0, + d: 'Base fee of the DELEGATECALL opcode', }, - "return": { - "v": 0, - "d": "Base fee of the RETURN opcode" + modexpGquaddivisor: { + v: 3, + d: 'Gquaddivisor from modexp precompile for gas calculation', }, - "invalid": { - "v": 0, - "d": "Base fee of the INVALID opcode" + ecAdd: { + v: 150, + d: 'Gas costs for curve addition precompile', }, - "delegatecall": { - "v": 0, - "d": "Base fee of the DELEGATECALL opcode" + ecMul: { + v: 6000, + d: 'Gas costs for curve multiplication precompile', }, - "modexpGquaddivisor": { - "v": 3, - "d": "Gquaddivisor from modexp precompile for gas calculation" + ecPairing: { + v: 45000, + d: 'Base gas costs for curve pairing precompile', }, - "ecAdd": { - "v": 150, - "d": "Gas costs for curve addition precompile" + ecPairingWord: { + v: 34000, + d: 'Gas costs regarding curve pairing precompile input length', }, - "ecMul": { - "v": 6000, - "d": "Gas costs for curve multiplication precompile" + revert: { + v: 0, + d: 'Base fee of the REVERT opcode', }, - "ecPairing": { - "v": 45000, - "d": "Base gas costs for curve pairing precompile" + staticcall: { + v: 0, + d: 'Base fee of the STATICCALL opcode', }, - "ecPairingWord": { - "v": 34000, - "d": "Gas costs regarding curve pairing precompile input length" + returndatasize: { + v: 2, + d: 'Base fee of the RETURNDATASIZE opcode', }, - "revert": { - "v": 0, - "d": "Base fee of the REVERT opcode" + returndatacopy: { + v: 3, + d: 'Base fee of the RETURNDATACOPY opcode', }, - "staticcall": { - "v": 0, - "d": "Base fee of the STATICCALL opcode" + shl: { + v: 3, + d: 'Base fee of the SHL opcode', }, - "returndatasize": { - "v": 2, - "d": "Base fee of the RETURNDATASIZE opcode" + shr: { + v: 3, + d: 'Base fee of the SHR opcode', }, - "returndatacopy": { - "v": 3, - "d": "Base fee of the RETURNDATACOPY opcode" + sar: { + v: 3, + d: 'Base fee of the SAR opcode', }, - "shl": { - "v": 3, - "d": "Base fee of the SHL opcode" + extcodehash: { + v: 0, + d: 'Base fee of the EXTCODEHASH opcode', }, - "shr": { - "v": 3, - "d": "Base fee of the SHR opcode" + create2: { + v: 32000, + d: 'Base fee of the CREATE2 opcode', }, - "sar": { - "v": 3, - "d": "Base fee of the SAR opcode" + sstoreSentryGasEIP2200: { + v: 2300, + d: 'Minimum gas required to be present for an SSTORE call, not consumed', }, - "extcodehash": { - "v": 0, - "d": "Base fee of the EXTCODEHASH opcode" + sstoreNoopGasEIP2200: { + v: 100, + d: "Once per SSTORE operation if the value doesn't change", }, - "create2": { - "v": 32000, - "d": "Base fee of the CREATE2 opcode" + sstoreDirtyGasEIP2200: { + v: 100, + d: 'Once per SSTORE operation if a dirty value is changed', }, - "sstoreSentryGasEIP2200": { - "v": 2300, - "d": "Minimum gas required to be present for an SSTORE call, not consumed" + sstoreInitGasEIP2200: { + v: 20000, + d: 'Once per SSTORE operation from clean zero to non-zero', }, - "sstoreNoopGasEIP2200": { - "v": 100, - "d": "Once per SSTORE operation if the value doesn't change" + sstoreInitRefundEIP2200: { + v: 19900, + d: 'Once per SSTORE operation for resetting to the original zero value', }, - "sstoreDirtyGasEIP2200": { - "v": 100, - "d": "Once per SSTORE operation if a dirty value is changed" + sstoreCleanGasEIP2200: { + v: 2900, + d: 'Once per SSTORE operation from clean non-zero to something else', }, - "sstoreInitGasEIP2200": { - "v": 20000, - "d": "Once per SSTORE operation from clean zero to non-zero" + sstoreCleanRefundEIP2200: { + v: 4900, + d: 'Once per SSTORE operation for resetting to the original non-zero value', }, - "sstoreInitRefundEIP2200": { - "v": 19900, - "d": "Once per SSTORE operation for resetting to the original zero value" + sstoreClearRefundEIP2200: { + v: 4800, + d: 'Once per SSTORE operation for clearing an originally existing storage slot', }, - "sstoreCleanGasEIP2200": { - "v": 2900, - "d": "Once per SSTORE operation from clean non-zero to something else" + chainid: { + v: 2, + d: 'Base fee of the CHAINID opcode', }, - "sstoreCleanRefundEIP2200": { - "v": 4900, - "d": "Once per SSTORE operation for resetting to the original non-zero value" + selfbalance: { + v: 5, + d: 'Base fee of the SELFBALANCE opcode', }, - "sstoreClearRefundEIP2200": { - "v": 4800, - "d": "Once per SSTORE operation for clearing an originally existing storage slot" + coldsload: { + v: 2100, + d: 'Gas cost of the first read of storage from a given location (per transaction)', }, - "chainid": { - "v": 2, - "d": "Base fee of the CHAINID opcode" + coldaccountaccess: { + v: 2600, + d: 'Gas cost of the first read of a given address (per transaction)', }, - "selfbalance": { - "v": 5, - "d": "Base fee of the SELFBALANCE opcode" + warmstorageread: { + v: 100, + d: "Gas cost of reading storage locations which have already loaded 'cold'", }, - "coldsload": { - "v": 2100, - "d": "Gas cost of the first read of storage from a given location (per transaction)" + accessListStorageKeyCost: { + v: 1900, + d: 'Gas cost per storage key in an Access List transaction', }, - "coldaccountaccess": { - "v": 2600, - "d": "Gas cost of the first read of a given address (per transaction)" + accessListAddressCost: { + v: 2400, + d: 'Gas cost per storage key in an Access List transaction', }, - "warmstorageread": { - "v": 100, - "d": "Gas cost of reading storage locations which have already loaded 'cold'" + basefee: { + v: 2, + d: 'Gas cost of the BASEFEE opcode', + }, + push0: { + v: 2, + d: 'Base fee of the PUSH0 opcode', + }, + initCodeWordCost: { + v: 2, + d: 'Gas to pay for each word (32 bytes) of initcode when creating a contract', + }, + }, + vm: { + stackLimit: { + v: 1024, + d: 'Maximum size of VM stack allowed', }, - "accessListStorageKeyCost": { - "v": 1900, - "d": "Gas cost per storage key in an Access List transaction" + callCreateDepth: { + v: 1024, + d: 'Maximum depth of call/create stack', }, - "accessListAddressCost": { - "v": 2400, - "d": "Gas cost per storage key in an Access List transaction" + maxExtraDataSize: { + v: 32, + d: 'Maximum size extra data may be after Genesis', }, - "basefee": { - "v": 2, - "d": "Gas cost of the BASEFEE opcode" + maxCodeSize: { + v: 24576, + d: 'Maximum length of contract code', }, - "push0": { - "v": 2, - "d": "Base fee of the PUSH0 opcode" + maxInitCodeSize: { + v: 49152, + d: 'Maximum length of initialization code when creating a contract', }, - "initCodeWordCost": { - "v": 2, - "d": "Gas to pay for each word (32 bytes) of initcode when creating a contract" - } }, - "vm": { - "stackLimit": { - "v": 1024, - "d": "Maximum size of VM stack allowed" - }, - "callCreateDepth": { - "v": 1024, - "d": "Maximum depth of call/create stack" - }, - "maxExtraDataSize": { - "v": 32, - "d": "Maximum size extra data may be after Genesis" - }, - "maxCodeSize": { - "v": 24576, - "d": "Maximum length of contract code" - }, - "maxInitCodeSize": { - "v": 49152, - "d": "Maximum length of initialization code when creating a contract" - } - } -} - ; \ No newline at end of file +}; diff --git a/packages/web3-zond-accounts/src/common/types.ts b/packages/web3-zond-accounts/src/common/types.ts index 97bbae88..df28e7b8 100644 --- a/packages/web3-zond-accounts/src/common/types.ts +++ b/packages/web3-zond-accounts/src/common/types.ts @@ -78,7 +78,7 @@ interface BaseOpts { hardfork?: string | Hardfork; /** * Selected EIPs which can be activated, please use an array for instantiation. - * + * */ eips?: number[]; } diff --git a/packages/web3-zond-accounts/src/common/utils.ts b/packages/web3-zond-accounts/src/common/utils.ts index a28ab156..7c937257 100644 --- a/packages/web3-zond-accounts/src/common/utils.ts +++ b/packages/web3-zond-accounts/src/common/utils.ts @@ -49,7 +49,7 @@ const intToHex = function (i: number) { }; /** - * Converts Gzond genesis parameters to an ZondJS compatible `CommonOpts` object + * Converts Gzond genesis parameters to a ZondJS compatible `CommonOpts` object * @param json object representing the Gzond genesis file hardfork * @returns genesis parameters in a `CommonOpts` compliant object */ @@ -71,8 +71,7 @@ function parseGzondParams(json: any) { baseFeePerGas: string; } = json; // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - let { extraData, timestamp }: { extraData: string; timestamp: string } = - json; + let { extraData, timestamp }: { extraData: string; timestamp: string } = json; const genesisTimestamp = Number(timestamp); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const { chainId }: { chainId: number } = config; @@ -108,13 +107,12 @@ function parseGzondParams(json: any) { type: 'pos', algorithm: 'casper', casper: {}, - } + }, }; - const forkMap: { [key: string]: { name: string; isTimestamp?: boolean } } = - { - // [Hardfork.Shanghai]: { name: 'shanghaiTime', isTimestamp: true }, - }; + const forkMap: { [key: string]: { name: string; isTimestamp?: boolean } } = { + // [Hardfork.Shanghai]: { name: 'shanghaiTime', isTimestamp: true }, + }; // forkMapRev is the map from config field name to Hardfork const forkMapRev = Object.keys(forkMap).reduce<{ [key: string]: string }>((acc, elem) => { diff --git a/packages/web3-zond-accounts/src/tx/address.ts b/packages/web3-zond-accounts/src/tx/address.ts index 6f754ac0..3caa748b 100644 --- a/packages/web3-zond-accounts/src/tx/address.ts +++ b/packages/web3-zond-accounts/src/tx/address.ts @@ -15,9 +15,9 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { bytesToHex, hexToAddress, uint8ArrayEquals } from '@theqrl/web3-utils'; -import { assertIsUint8Array, zeros } from '../common/utils.js'; -import { getDilithiumAddressFromPK } from '@theqrl/wallet.js' +import { getDilithiumAddressFromPK } from '@theqrl/wallet.js'; import { CryptoPublicKeyBytes } from '@theqrl/dilithium5'; +import { assertIsUint8Array, zeros } from '../common/utils.js'; export class Address { public readonly buf: Uint8Array; @@ -70,13 +70,13 @@ export class Address { * @param pubKey The Dilithium5 public key */ public static publicToAddress(_pubKey: Uint8Array): Uint8Array { - let pubKey = _pubKey; + const pubKey = _pubKey; assertIsUint8Array(pubKey); if (pubKey.length !== CryptoPublicKeyBytes) { throw new Error(`Expected pubKey to be of length ${CryptoPublicKeyBytes}`); } - - return getDilithiumAddressFromPK(pubKey) + + return getDilithiumAddressFromPK(pubKey); } } diff --git a/packages/web3-zond-accounts/src/tx/baseTransaction.ts b/packages/web3-zond-accounts/src/tx/baseTransaction.ts index b698fa3a..b6beba3a 100644 --- a/packages/web3-zond-accounts/src/tx/baseTransaction.ts +++ b/packages/web3-zond-accounts/src/tx/baseTransaction.ts @@ -19,14 +19,9 @@ import { Numbers } from '@theqrl/web3-types'; import { bytesToHex, toHex } from '@theqrl/web3-utils'; import { cryptoSignVerify } from '@theqrl/dilithium5'; import { Dilithium } from '@theqrl/wallet.js'; +import { isAddressString } from '@theqrl/web3-validator'; import { MAX_INTEGER, MAX_UINT64, SEED_BYTES } from './constants.js'; -import { - Chain, - Common, - Hardfork, - toUint8Array, - uint8ArrayToBigInt, -} from '../common/index.js'; +import { Chain, Common, Hardfork, toUint8Array, uint8ArrayToBigInt } from '../common/index.js'; import type { FeeMarketEIP1559TxData, FeeMarketEIP1559ValuesArray, @@ -35,7 +30,6 @@ import type { } from './types.js'; import { Address } from './address.js'; import { checkMaxInitCodeSize } from './utils.js'; -import { isAddressString } from '@theqrl/web3-validator'; interface TransactionCache { hash: Uint8Array | undefined; @@ -91,21 +85,18 @@ export abstract class BaseTransaction { */ protected DEFAULT_HARDFORK: string | Hardfork = Hardfork.Shanghai; - public constructor( - txData: FeeMarketEIP1559TxData, - opts: TxOptions, - ) { + public constructor(txData: FeeMarketEIP1559TxData, opts: TxOptions) { const { nonce, gasLimit, to, value, data, signature, publicKey, type } = txData; this._type = Number(uint8ArrayToBigInt(toUint8Array(type))); this.txOptions = opts; - var toB: Uint8Array + let toB: Uint8Array; if (typeof to === 'string') { if (to === '') { - toB = toUint8Array('0x') + toB = toUint8Array('0x'); } else if (isAddressString(to)) { - toB = toUint8Array(toHex(to)) + toB = toUint8Array(toHex(to)); } else { throw new Error( `Cannot convert string to Uint8Array. only supports address strings and this string was given: ${to}`, @@ -201,7 +192,7 @@ export abstract class BaseTransaction { this.data[i] === 0 ? (cost += txDataZero) : (cost += txDataNonZero); } // eslint-disable-next-line no-null/no-null - if ((this.to === undefined || this.to === null)) { + if (this.to === undefined || this.to === null) { const dataLength = BigInt(Math.ceil(this.data.length / 32)); const initCodeCost = this.common.param('gasPrices', 'initCodeWordCost') * dataLength; cost += initCodeCost; @@ -232,8 +223,7 @@ export abstract class BaseTransaction { * signature parameters `publicKey` and `signature` for encoding. For an EIP-155 compliant * representation for external signing use {@link BaseTransaction.getMessageToSign}. */ - public abstract raw(): - | FeeMarketEIP1559ValuesArray; + public abstract raw(): FeeMarketEIP1559ValuesArray; /** * Returns the encoding of the transaction. @@ -270,7 +260,7 @@ export abstract class BaseTransaction { const msgHashBuf = Buffer.from(msgHash); try { - return cryptoSignVerify(sigBuf, msgHashBuf, pubKeyBuf);; + return cryptoSignVerify(sigBuf, msgHashBuf, pubKeyBuf); } catch (e: any) { return false; } @@ -307,7 +297,7 @@ export abstract class BaseTransaction { const msgHash = this.getMessageToSign(true); const buf = Buffer.from(seed); const acc = new Dilithium(buf); - const signature = acc.sign(msgHash) + const signature = acc.sign(msgHash); const tx = this._processSignatureAndPublicKey(signature, acc.getPK()); return tx; diff --git a/packages/web3-zond-accounts/src/tx/constants.ts b/packages/web3-zond-accounts/src/tx/constants.ts index 8c6c3356..b6841ca8 100644 --- a/packages/web3-zond-accounts/src/tx/constants.ts +++ b/packages/web3-zond-accounts/src/tx/constants.ts @@ -27,4 +27,4 @@ export const MAX_INTEGER = BigInt( '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', ); -export const SEED_BYTES = 48; \ No newline at end of file +export const SEED_BYTES = 48; diff --git a/packages/web3-zond-accounts/src/tx/eip1559Transaction.ts b/packages/web3-zond-accounts/src/tx/eip1559Transaction.ts index c935a5f2..32c8e37b 100644 --- a/packages/web3-zond-accounts/src/tx/eip1559Transaction.ts +++ b/packages/web3-zond-accounts/src/tx/eip1559Transaction.ts @@ -369,8 +369,8 @@ export class FeeMarketEIP1559Transaction extends BaseTransaction, + transaction: FeeMarketEIP1559TxData | Record, ) => SignTransactionResult; export type SignResult = SignatureObject & { @@ -83,5 +81,4 @@ export interface WebStorage { [name: string]: any; } -export type TypedTransaction = - FeeMarketEIP1559Transaction; +export type TypedTransaction = FeeMarketEIP1559Transaction; diff --git a/packages/web3-zond-accounts/src/wallet.ts b/packages/web3-zond-accounts/src/wallet.ts index b4faf7cb..a27c300d 100644 --- a/packages/web3-zond-accounts/src/wallet.ts +++ b/packages/web3-zond-accounts/src/wallet.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Web3BaseWallet, Web3BaseWalletAccount, /*KeyStore*/ } from '@theqrl/web3-types'; +import { Web3BaseWallet, Web3BaseWalletAccount /* KeyStore */ } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; import { WebStorage } from './types.js'; @@ -47,7 +47,7 @@ export class Wallet< T extends Web3BaseWalletAccount = Web3BaseWalletAccount, > extends Web3BaseWallet { private readonly _addressMap = new Map(); - //private readonly _defaultKeyName = 'web3js_wallet'; + // private readonly _defaultKeyName = 'web3js_wallet'; /** * Get the storage object of the browser diff --git a/packages/web3-zond-accounts/test/fixtures/account.ts b/packages/web3-zond-accounts/test/fixtures/account.ts index 673ab251..92a77153 100644 --- a/packages/web3-zond-accounts/test/fixtures/account.ts +++ b/packages/web3-zond-accounts/test/fixtures/account.ts @@ -31,7 +31,7 @@ import { import { CipherOptions, KeyStore } from '@theqrl/web3-types'; import { hexToBytes } from '@theqrl/web3-utils'; import { FeeMarketEIP1559TxData } from '../../src/tx/types'; -import { sign, signTransaction/*, encrypt */} from '../../src/account'; +import { sign, signTransaction /* , encrypt */ } from '../../src/account'; export const validPublicKeyToAddressData: [string, string][] = [ [ @@ -52,18 +52,17 @@ export const validPublicKeyToAddressData: [string, string][] = [ ], ]; -export const invalidPublicKeyToAddressData: [ - any, - PublicKeyLengthError | InvalidPublicKeyError, -][] = [ - ['', new InvalidPublicKeyError()], - [new Uint8Array([]), new PublicKeyLengthError()], -]; +export const invalidPublicKeyToAddressData: [any, PublicKeyLengthError | InvalidPublicKeyError][] = + [ + ['', new InvalidPublicKeyError()], + [new Uint8Array([]), new PublicKeyLengthError()], + ]; export const validSeedtoAccountData: [any, any][] = [ [ { - address: '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', + address: + '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', ignoreLength: false, }, { @@ -72,22 +71,26 @@ export const validSeedtoAccountData: [any, any][] = [ sign, signTransaction, // TODO(youtrack/theqrl/web3.js/3) - //encrypt, + // encrypt, }, ], [ - { address: '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5' }, + { + address: + '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', + }, { address: 'Z20618F56c422D34b190B9B49a636a3429B927A91', seed: '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', sign, signTransaction, - //encrypt, + // encrypt, }, ], [ { - address: '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', // ignoreLength parameter set true + address: + '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', // ignoreLength parameter set true ignoreLength: true, }, { @@ -95,7 +98,7 @@ export const validSeedtoAccountData: [any, any][] = [ seed: '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', sign, signTransaction, - //encrypt, + // encrypt, }, ], ]; @@ -173,10 +176,7 @@ export const transactionsTestData: [FeeMarketEIP1559TxData][] = [ ], ]; -export const invalidSeedtoAccountData: [ - any, - SeedLengthError | InvalidSeedError, -][] = [ +export const invalidSeedtoAccountData: [any, SeedLengthError | InvalidSeedError][] = [ ['', new InvalidSeedError()], [new Uint8Array([]), new SeedLengthError()], ]; diff --git a/packages/web3-zond-accounts/test/integration/account.test.ts b/packages/web3-zond-accounts/test/integration/account.test.ts index 533a74b7..600797fc 100644 --- a/packages/web3-zond-accounts/test/integration/account.test.ts +++ b/packages/web3-zond-accounts/test/integration/account.test.ts @@ -16,30 +16,30 @@ along with web3.js. If not, see . */ import { Address } from '@theqrl/web3-types'; -import { /*Web3ValidatorError,*/ isAddressString } from '@theqrl/web3-validator'; +import { /* Web3ValidatorError, */ isAddressString } from '@theqrl/web3-validator'; import { create, - //decrypt, - //encrypt, + // decrypt, + // encrypt, hashMessage, seedToAccount, publicKeyToAddress, - //recover, + // recover, recoverTransaction, sign, signTransaction, } from '../../src'; import { TransactionFactory } from '../../src/tx/transactionFactory'; import { - //invalidDecryptData, - //invalidEncryptData, - //invalidKeyStore, + // invalidDecryptData, + // invalidEncryptData, + // invalidKeyStore, invalidSeedtoAccountData, invalidPublicKeyToAddressData, signatureRecoverData, transactionsTestData, - //validDecryptData, - //validEncryptData, + // validDecryptData, + // validEncryptData, validHashMessageData, validSeedtoAccountData, validPublicKeyToAddressData, @@ -53,7 +53,7 @@ describe('accounts', () => { expect(typeof account.seed).toBe('string'); expect(typeof account.address).toBe('string'); expect(isAddressString(account.address)).toBe(true); - //expect(typeof account.encrypt).toBe('function'); + // expect(typeof account.encrypt).toBe('function'); expect(typeof account.sign).toBe('function'); expect(typeof account.signTransaction).toBe('function'); }); @@ -76,9 +76,9 @@ describe('accounts', () => { describe('seedToAccount', () => { describe('valid cases', () => { it.each(validSeedtoAccountData)('%s', (input, output) => { - expect( - JSON.stringify(seedToAccount(input.address, input.ignoreLength)), - ).toEqual(JSON.stringify(output)); + expect(JSON.stringify(seedToAccount(input.address, input.ignoreLength))).toEqual( + JSON.stringify(output), + ); }); }); diff --git a/packages/web3-zond-accounts/test/integration/wallet.test.ts b/packages/web3-zond-accounts/test/integration/wallet.test.ts index 640e805e..f7a1053a 100644 --- a/packages/web3-zond-accounts/test/integration/wallet.test.ts +++ b/packages/web3-zond-accounts/test/integration/wallet.test.ts @@ -17,8 +17,8 @@ along with web3.js. If not, see . /* eslint-disable @typescript-eslint/no-magic-numbers */ -import { Web3AccountProvider/*, KeyStore */ } from '@theqrl/web3-types'; -//import { isBrowser, isElectron, itIf } from '../fixtures/system_test_utils'; +import { Web3AccountProvider /* , KeyStore */ } from '@theqrl/web3-types'; +// import { isBrowser, isElectron, itIf } from '../fixtures/system_test_utils'; import { Wallet } from '../../src'; import * as accountProvider from '../../src/account'; diff --git a/packages/web3-zond-accounts/test/unit/account.test.ts b/packages/web3-zond-accounts/test/unit/account.test.ts index 4b683f5b..80448336 100644 --- a/packages/web3-zond-accounts/test/unit/account.test.ts +++ b/packages/web3-zond-accounts/test/unit/account.test.ts @@ -16,11 +16,11 @@ along with web3.js. If not, see . */ import { Address } from '@theqrl/web3-types'; -import { /*Web3ValidatorError,*/ isAddressString } from '@theqrl/web3-validator'; +import { /* Web3ValidatorError, */ isAddressString } from '@theqrl/web3-validator'; import { create, - //decrypt, - //encrypt, + // decrypt, + // encrypt, hashMessage, seedToAccount, publicKeyToAddress, @@ -29,15 +29,15 @@ import { signTransaction, } from '../../src/account'; import { - //invalidDecryptData, - //invalidEncryptData, - //invalidKeyStore, + // invalidDecryptData, + // invalidEncryptData, + // invalidKeyStore, invalidSeedtoAccountData, invalidPublicKeyToAddressData, signatureRecoverData, transactionsTestData, - //validDecryptData, - //validEncryptData, + // validDecryptData, + // validEncryptData, validHashMessageData, validSeedtoAccountData, validPublicKeyToAddressData, @@ -54,7 +54,7 @@ describe('accounts', () => { expect(typeof account.address).toBe('string'); expect(isAddressString(account.address)).toBe(true); // TODO(youtrack/theqrl/web3.js/3) - //expect(typeof account.encrypt).toBe('function'); + // expect(typeof account.encrypt).toBe('function'); expect(typeof account.sign).toBe('function'); expect(typeof account.signTransaction).toBe('function'); }); @@ -78,9 +78,9 @@ describe('accounts', () => { describe('seedToAccount', () => { describe('valid cases', () => { it.each(validSeedtoAccountData)('%s', (input, output) => { - expect( - JSON.stringify(seedToAccount(input.address, input.ignoreLength)), - ).toEqual(JSON.stringify(output)); + expect(JSON.stringify(seedToAccount(input.address, input.ignoreLength))).toEqual( + JSON.stringify(output), + ); }); }); @@ -113,7 +113,7 @@ describe('accounts', () => { const signedResult = await signTransaction( // eslint-disable-next-line @typescript-eslint/no-unsafe-call TransactionFactory.fromTxData(txObj), - account.seed + account.seed, ); expect(signedResult).toBeDefined(); diff --git a/packages/web3-zond-accounts/test/unit/common/chains.test.ts b/packages/web3-zond-accounts/test/unit/common/chains.test.ts index f8f1673b..1bcc86eb 100644 --- a/packages/web3-zond-accounts/test/unit/common/chains.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/chains.test.ts @@ -61,9 +61,9 @@ describe('[Common/Chains]: Initialization / Chain params', () => { }; expect(f).toThrow('not supported'); // eslint-disable-line no-new }); - + it('Should provide correct access to chain parameters', () => { - let c = new Common({ chain: 'mainnet', hardfork: 'shanghai' }); + const c = new Common({ chain: 'mainnet', hardfork: 'shanghai' }); // expect(c.hardforks()[3]['block']).toBe(2463000); expect(c.hardforks()[0]['block']).toBe(0); expect(c.consensusType()).toEqual(ConsensusType.ProofOfStake); diff --git a/packages/web3-zond-accounts/test/unit/common/customChains.test.ts b/packages/web3-zond-accounts/test/unit/common/customChains.test.ts index 4955fc88..0fe055e1 100644 --- a/packages/web3-zond-accounts/test/unit/common/customChains.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/customChains.test.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Chain, Common, ConsensusType, /*CustomChain,*/ Hardfork } from '../../../src/common'; +import { Chain, Common, ConsensusType, /* CustomChain, */ Hardfork } from '../../../src/common'; import * as testnet from '../../fixtures/common/testnet.json'; import * as testnet2 from '../../fixtures/common/testnet2.json'; diff --git a/packages/web3-zond-accounts/test/unit/common/eips.test.ts b/packages/web3-zond-accounts/test/unit/common/eips.test.ts index b4f9796f..f299a45d 100644 --- a/packages/web3-zond-accounts/test/unit/common/eips.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/eips.test.ts @@ -19,18 +19,15 @@ along with web3.js. If not, see . // NOTE(rgeraldes24): unused for now describe.skip('[Common/EIPs]: Initialization / Chain params', () => { - it.skip('Correct initialization', () => { // let eips = [2537, 2929]; // const c = new Common({ chain: Chain.Mainnet, eips }); // expect(c.eips()).toEqual(eips); - // eips = [2718, 2929, 2930]; // expect(() => { // // eslint-disable-next-line no-new // new Common({ chain: Chain.Mainnet, eips, hardfork: Hardfork.Istanbul }); // }).not.toThrow(); - // eips = [2930]; // expect(() => { // // eslint-disable-next-line no-new diff --git a/packages/web3-zond-accounts/test/unit/common/hardforks.test.ts b/packages/web3-zond-accounts/test/unit/common/hardforks.test.ts index 6d26f2f1..7ff31b6b 100644 --- a/packages/web3-zond-accounts/test/unit/common/hardforks.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/hardforks.test.ts @@ -20,9 +20,7 @@ import { Chain, Common, ConsensusAlgorithm, ConsensusType, Hardfork } from '../. describe('[Common]: Hardfork logic', () => { it('Hardfork access', () => { - const supportedHardforks = [ - Hardfork.Shanghai, - ]; + const supportedHardforks = [Hardfork.Shanghai]; let c; for (const hardfork of supportedHardforks) { @@ -32,7 +30,7 @@ describe('[Common]: Hardfork logic', () => { }); it('getHardforkByBlockNumber() / setHardforkByBlockNumber()', () => { - let c = new Common({ chain: Chain.Mainnet }); + const c = new Common({ chain: Chain.Mainnet }); expect(c.getHardforkByBlockNumber(0)).toEqual(Hardfork.Shanghai); expect(c.getHardforkByBlockNumber(1149999)).toEqual(Hardfork.Shanghai); diff --git a/packages/web3-zond-accounts/test/unit/common/mergePOS.test.ts b/packages/web3-zond-accounts/test/unit/common/mergePOS.test.ts index 6669c318..6dd2c09c 100644 --- a/packages/web3-zond-accounts/test/unit/common/mergePOS.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/mergePOS.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ // import { toBigInt } from '@theqrl/web3-utils'; -import { /*Chain,*/ Common, Hardfork } from '../../../src/common'; +import { /* Chain, */ Common, Hardfork } from '../../../src/common'; import * as testnetPOS from '../../fixtures/common/pos.json'; import posExecGenesis from '../../fixtures/common/pos-exec-genesis.json'; @@ -127,7 +127,7 @@ describe('[Common]: Merge/POS specific logic', () => { expect(c.getHardforkByBlockNumber(5, 0)).toBe('shanghai'); }); - + it('Should fail setting invalid hardfork', () => { const customChains = [testnetPOS]; expect(() => { diff --git a/packages/web3-zond-accounts/test/unit/common/params.test.ts b/packages/web3-zond-accounts/test/unit/common/params.test.ts index eeafcafc..e20d218a 100644 --- a/packages/web3-zond-accounts/test/unit/common/params.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/params.test.ts @@ -48,9 +48,7 @@ describe('[Common]: Parameter access for param(), paramByHardfork()', () => { it('Parameter updates', () => { const c = new Common({ chain: Chain.Mainnet }); - expect(c.paramByHardfork('gasPrices', 'ecAdd', 'shanghai')).toEqual( - BigInt(150), - ); + expect(c.paramByHardfork('gasPrices', 'ecAdd', 'shanghai')).toEqual(BigInt(150)); // expect(c.paramByHardfork('pow', 'minerReward', 'byzantium')).toEqual( // BigInt(3000000000000000000), diff --git a/packages/web3-zond-accounts/test/unit/common/utils.test.ts b/packages/web3-zond-accounts/test/unit/common/utils.test.ts index ce148a9f..f11c6c2b 100644 --- a/packages/web3-zond-accounts/test/unit/common/utils.test.ts +++ b/packages/web3-zond-accounts/test/unit/common/utils.test.ts @@ -67,9 +67,7 @@ describe('[Utils/Parse]', () => { '51c7fe41be669f69c45c33a56982cbde405313342d9e2b00d7c91a7b284dd4f8', ), }); - expect(common.hardforks().map(hf => hf.name)).toEqual([ - 'shanghai', - ]); + expect(common.hardforks().map(hf => hf.name)).toEqual(['shanghai']); for (const hf of common.hardforks()) { /* eslint-disable @typescript-eslint/no-use-before-define */ expect(hf.forkHash).toEqual(kilnForkHashes[hf.name]); @@ -86,9 +84,7 @@ describe('[Utils/Parse]', () => { }); // merge hardfork is now scheduled just after shanghai even if mergeForkIdTransition is not confirmed // to be post merge - expect(common1.hardforks().map(hf => hf.name)).toEqual([ - 'shanghai', - ]); + expect(common1.hardforks().map(hf => hf.name)).toEqual(['shanghai']); expect(common1.hardfork()).toEqual(Hardfork.Shanghai); }); @@ -97,18 +93,16 @@ describe('[Utils/Parse]', () => { const common = Common.fromGzondGenesis(posExecGenesis, { chain: 'customChain', }); - expect(common.hardforks().map(hf => hf.name)).toEqual([ - 'shanghai', - ]); + expect(common.hardforks().map(hf => hf.name)).toEqual(['shanghai']); expect(common.getHardforkByBlockNumber(0)).toEqual(Hardfork.Shanghai); expect(common.getHardforkByBlockNumber(1, BigInt(2))).toEqual(Hardfork.Shanghai); // shanghai is at timestamp 8 expect(common.getHardforkByBlockNumber(8)).toEqual(Hardfork.Shanghai); expect(common.getHardforkByBlockNumber(8, BigInt(2))).toEqual(Hardfork.Shanghai); - expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Shanghai); + expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Shanghai); // should be post merge at shanghai - expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Shanghai); + expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Shanghai); expect(common.hardfork()).toEqual(Hardfork.Shanghai); }); }); diff --git a/packages/web3-zond-accounts/test/unit/tx/base.test.ts b/packages/web3-zond-accounts/test/unit/tx/base.test.ts index f1df7234..dc94b4bd 100644 --- a/packages/web3-zond-accounts/test/unit/tx/base.test.ts +++ b/packages/web3-zond-accounts/test/unit/tx/base.test.ts @@ -14,20 +14,16 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { bytesToUint8Array, hexToBytes, uint8ArrayEquals } from '@theqrl/web3-utils' +import { bytesToUint8Array, hexToBytes, uint8ArrayEquals } from '@theqrl/web3-utils'; import { Dilithium } from '@theqrl/wallet.js'; -import { - FeeMarketEIP1559Transaction, -} from '../../../src'; +import { HexString } from '@theqrl/web3-types'; +import { FeeMarketEIP1559Transaction } from '../../../src'; import { Chain, Common, Hardfork, toUint8Array, uint8ArrayToBigInt } from '../../../src/common'; import { MAX_INTEGER, MAX_UINT64 } from '../../../src/tx/constants'; import type { BaseTransaction } from '../../../src/tx/baseTransaction'; import eip1559Fixtures from '../../fixtures/json/eip1559txs.json'; -import { HexString } from '@theqrl/web3-types'; - - const seedToPublic = function (seed: HexString): Uint8Array { const _seed = hexToBytes(seed); const buf = Buffer.from(_seed); @@ -103,7 +99,7 @@ describe('[BaseTransaction]', () => { }); it('fromValuesArray()', () => { - let rlpData: any = eip1559Txs[0].raw(); + const rlpData: any = eip1559Txs[0].raw(); rlpData[2] = toUint8Array('0x0'); expect(() => { FeeMarketEIP1559Transaction.fromValuesArray(rlpData); @@ -206,7 +202,7 @@ describe('[BaseTransaction]', () => { const signedTx = tx.sign(hexToBytes(seed)); const txPubKey = signedTx.getSenderPublicKey(); - const pubKeyFromSeed = seedToPublic(seed) + const pubKeyFromSeed = seedToPublic(seed); expect(uint8ArrayEquals(txPubKey, pubKeyFromSeed)).toBe(true); } } diff --git a/packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts b/packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts index 17f2aa79..a1f3281f 100644 --- a/packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts +++ b/packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts @@ -199,8 +199,10 @@ describe('[FeeMarketEIP1559Transaction]', () => { value: '0x2933bc9', data: '0x', accessList: [], - publicKey: '0x1de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240e', - signature: '0x1e402bc3ca44e1e7e812865158f22a0e70f9790c6740afb514511bf908ee9e51deab654abb7f3a044934aaa0dc3d09c369dd6a1df0fb2c049130228dc82c4665f7fb026d516d4da5c7e08a601ce81f451e23283804e7c0960acddc202b6a52c4452015d64f3e480a0cfaadb7c5946318226ea172573c4a2ba16ed08c1bb91a77d3cf666895d90af09f37cbe322ef8a5ea647820cbfa04073bdd73522e9f4578c44a13e695f961c91e7b40f75c837c9cc9d5035bbdeb7a07518f8fe28583ae5d24a2e2167ee14f1e6ba9a7e59386b5639a550d918bae1f611504024b61deadd076680a315a5b63dd354b5cb462e9a045abff82077ec6c80e8f6842577565f3e10791cc324982aee8493d1cf8054f24e1d73e02604326593c4f210fad2cbe4f93993348af27c62a17b9ad1bfc92bdaeffa55d03187c37f95a0c92ed1ca77d8fb3d60abd6d6fb40545e634a0cca26134b262967b5af1285ecbd5fbe40bd33a15fa09b99bffcd7cea10c9d74ae401e2ba42fa1d3472dd5a7c772da3a7e8b49fe544569bd48a4f0d0194ce9738f3a4f3b349b997b5821e236fabf1739f1266893ff275ad1cfb090f216784d79200fdb10b3bfac7d92106135ba34e4bb00ee6252b90beb45e442eba2f9b8f5f073f9566ed11fd3afbc1b0d30248cbdbba2759ddcb2598914144b4c24ce3ff7c45135e7b251e4663123da99612813e920a209f2420f2f3ca56dcff7abce627f848acf70fb91ff4f792ab33f171c3fd2303cad7736186b805de5fb376739bff9d91d468d6306a623ef9b5360d3af8d55a11b9c984ce91a158e82108d0f174913ed567ef288c2b5dbe65f8c14f3a4386045814e0d432b17b13ee35408a2f934b76124fa0224d2e7fe0c3ed17f658c7503334b01aedf6fa24b3058fa8103aa247f5263098be603ee1f286b6df3f166a9fc27f8f5fb2f8acc464a3648e58a5345f949dfbb9a77615fce9738ceebfbaadff08d80e908a7d390a2f05745eedd67bfcf1dfc646337ff9db80753492800c9a0b6b22afcb4e4359b4aac9d8d19c2862a9f9430e5c75840ae2c9391c95336abd24b0f7fe12418c65969e7f6feea1da6e95acc73216e69d6fd0ed9595811150c25235fabaaccbc2d64dd63ddfbb8239b8481082b49ed28dad8ca3073365dc9159259ee178b4a192a0ec1e2621a9ebc710b20c4d176f00031dd807cab36be29ff5b7785d0ca066156cd5e9a4e4f14d3d073689a3ea6f9db3a7e51b30968f0f6cb949f8a689b3a4f3617c13519fc478b52ce134617361b327bde825cb4f6df785324cdb238b526538875761dddd2f45055cce869942c8f9117724035611c3cd3caa61f3960cd0d1292d26145fdf90ad85252a58af0ae4541748cbf13b99d0017bd5f34787d117d7a7a40278f43b5a1ac021bb7c415ea4fa7033e4d2b0d3ee6ce26d9642ebbe910d5ff7639b70e377f133ca43ca0069b2f996d27f694f935c9239cd2d74d1023e820a453d25ee0dd37c50d98dac08184b1749ecc877a8b3e83ac50d395d631874a5b51a9e7520929636583a3a8c3b8ea0c7a81424f834970c369348b26179f0c5663de1e62df1de5bf464318adaced1a6151bc73ce7c7885b0a3210ed1056d300083ae8030ff3ef8f653284b7080231cdc1c9e90fbc864f06460bb54de044930118d01e285f9a297c6ea3080241ee86b29c46e53392f149aa7d06d3133cf0995733f3f1c0cd5fe38858d9742ebd73b8d9eaf333b6440e9444c0a1618041c087863b4c222382e4551464b7166a3738cfb73015782a2ce3547efadece0f864db371a807fbaa7378047685a2c32def9c3a60147fb1bb536301edc0bce29fd06871f3125da6f14157457d6984d22e1d80e788bbe957c061f8cf46c1286f064447b597e7b0e63d16461bccbd08d5f306ec1ede2f66988b1de22700f2d0e9d324b612709ed7c9065920bfd179d83d444dcd27c370e75e0bcbc902b8873b3ddc66a35e42d1f2201441b73c68dfd211e52cdf249f76a3a8bc8224e0ac2d9c3eee48f29576900573f6e07fd728045443263612fb4eeea90847de0577b1a035ff52b9a25563f797dd0d58013c349d9735a6afd2bf5c7804a5e9827c41d56765abc198d96315e4afc442404a6af16f6c6bc4f27010710b75470d8960090476f96db76f361ba929b5c518321bdb1bf84375603774e663da29afd9e133fea0f5828494ea1cd59e8bf9ed5cfa5cb6d9b010eaed3e3f39029e3a4dd489941aa297c4b56aab66536cbec4abe3cedbfa82da3afc633f59e1b77680e123e0723966ae420afe2ed5c7ea15a86e3ab1b5168ee93637e965325e23bf07babf2821ae3f30799e5cf5d0572ce69860591c9e3d3d27c8f922e22b64f054827ecee8a30bf855098cc09a648d80117c4e8581692801286c22f2d4da0a7ec9769ddf530861a6673cd3b9bd6117bb2c71fee31c4713a73208639c646a98575cafbcc3cdc42746c32ef7aa24374a004f867b29cdc384c106ccd6a7f2fdcda7fdefa7df338092230b4a8ea6418e912b5609deddc3d602ab077c73273699e2cdf690b1b032a358b31a093aabb6fb93112decfd8c804e0ff2ad6c08ba6d33f8ef11dcda054a4a11f5d34d2378c8afe2aecd4a1719580fad793e2c31a4986b1e44c0bf7f838ccaaefc3ffc01ef0607ce532aca3f0aefc2bf545e1bfddd86fdc3e5569c974b978b434e2de9fdf820a4b547759ff80b36417bc5d69a52d195f9138ad6cfbbb06f992dede9e6d78ec3b9a3b2eacbcd45cfa3ea9da25d21cf55184e8bb6c7b4dbea7e2d3ded4fffbd4738da7367743c6ebd023498edc558f5143815094c6f6d2118ccf9b9827da40d8b27a1f6bc1ae43f5853458828bda54e58014de4a0cb3709d171370aee1a0c619567a0dc9103b92125666b37d2b45b4b9b0f25c15a6360841aa31804b756e617f3403c92d5507876e1c14aa70fa517fcae97b6018d934c9026c9799fed157417dd6f30527444967e10c47b39c1327643fab2c029804f23c1b051f41d8ccdf3c3acfd569750bc78e0396d3a694a7410a9703302bbd1c58e3507de5d56357b1590f563b2bb0bbf7048caa3fc7c89ea501d929d23c40776744f2fdd97ffc388e3fbe5640aee6972d8ec830408ac6703cdade9e329944dde141ba394f89786367a5af8a994702a2585bae24c23b8e772a42afa92b4d8ce1b7aa372b562baaf63977b34449f7ba4dd1b906a58e73045fcf5160adc09dcd360818694da9974dbb6adfc0f7784c1d31b6bb2bbbd914cc311981355f870fc1d90804da3bdba640f8c70878fc21844a4ce6e2b714598adfe415d67d7ee95983d8fbf28574390c5a2ef99076a428a62e4fbeb1218b09d3978416970be19347597c8d1c8b43bf9bd6f0f67e6fd9e935399e36b33e34717b9130802de354a38f3d4b7459a82c1d729fd52747ae8785534d24d3e5d870bcd004bdc8978d06e2c0c0e4135cc6dce11330ca0bc407c4acf5e1a2ecd033a485fab5db4fda5d51710da72a49240dd58fd725c6f856b0ee2bc07f8cc473c29376ce08ad9c1171d09bb072d432a5e0d15a9f695c95f2c7d2cfde9b3933e00a115fe6f3e446ef5cdd5ee75bf2c89e40a1bba154af228127385855f20916e9e3d47567b11d28b2a17140dfc7c014e70052e280f6f4f841aaf81d66a3c7740c3834daff8f65860ecef9debb7452a366ea77c42742eb9bc3cb88bd67a722794b3e85b501bd26ed9c2ff502b5b76a8368116fa98c67d2d9b74ea65bebe773342b87b2da8508a31bbc76d8c5a9c58b1ab93ced437c3a3570aded7fcd85eddb1d6d46080cf76c6fe719a67ad2585ef4f7f2b533350117b07cfc22c0b2b0f557b991d256e0b56844b8ca12dcbdeae2c27a8c0a0cc0e95fb4721e3df4a0ddd3429614a9d3aa023c78ae7c38c6c553072656ca4ecbc95c9785d6693973c8bb304caebc981b803923de0467d16714e5fd1b001999ef61f3919a3e0890ea6ca187b8ae906f9b57f33b6b21353cd9a370795db6812de5cb8a791a8963f32cbafa55f7dc681e345ff9c6c5675145e4b256fe657566a3e5f2d4eb0ba2c2adc407a0e2963fbdc6b8a880842b1d96932ec5f20ebe947f59e78d0f8aea5457df67db3162b464e37620d8cc04eddb68d020d019dcff85318e4ec4c025fd98e30933cf9ebfb9190a3f26e48e2e170bebe49900a763f3de7cd965556956e2a666c7c3d711bac457eb323287a033215f7161c5258b49f207d3c888521ca23a6b0c62cbba5d149916dfb0c5b81aba26f5e5cd21d574211d375020ba1b8c82abaf243db3c5d570aee4f4f455ba3efafc554bb8c263023dd741864a06542336239cd26a230c09280fc780fa8a0daa120b3a36e804c37cc5e927ce798246912f5bbe2ac9cdcad6d4a287ab875bef8e296f1c2c455511f2f440aa90a7868b4de594926a83b62cbeb338ae0b3f8e01d9bf17055d9c9c054dd4a73be3dc111810653c71b84a5c9bd7bce98e6e533aa40343396c9ba6b81e0b91781573ae9326213bc7e24064af7b9cd75f57a694cc111925c049d8f5e973e61a3600f6211a7144841cf13a9177b88f5ec41ef7b2c5cd7e06f1ceb494c4147283f629b8f31462b9d5c19c22fb652555c3bc3f500adb5117ab7b8918117b2a7c137e7325cd9aac85ac98d55cb55429fd61c0bd8ea858c1361dd269d2d461173b4e24ce02bb8d30521fe9f407d9bc17cb37418f7c9e4443298b92891a1d5fcea1361dfffb8db2aa181c8f007bd0163fd52b75b23bb66d99697b87eb27288cbc337372850f5458e364ab6646f94e17322ddd8d353c658fb4d5d29d84fb55acd736524c2bbd0edb0a6846e64aa7d77c6008614275b4435b38a3fc83eda59ee92a2d1e86059055eee97a6d5729b2a6bcf226c89597a370ee1c9f69bbd36cb5f36571f24d2742232f17a9d43524b5bdd7e17230e8efccfea3444216eb8870041798472c783a37c1fceb2f5be779ced9e328011476bbc9521557141512585ff09179c36829fdd9f11353faa2678522414304d857db8270ef918c901052ce190a3741d48536258c435275e4ed472275725569802fbeed0fe23c101a55d4a56d7d848584308415a06e6193f281390f95b4ac94249797a15ab2cf965ededf499a2dcc03705e50abeb21c288c505b4a7016e213818fb1d4b8c202f6cf84789956a5759c43a796838f2c2d720de65a11ed7d59cfb3342478db314084e57344a22020abc19cbf65d7c96bdb51a491acd2b92daeeaf20965ee7cad5166d4a20305f9fd439189d8a58c52dc34bd88e510fb810024963907d4fbde5343b978f3704d4f220b63e08b42599b2d535dfbc61f1b5705266fcc5e3eee37d4adbe6ac8332244c5cf52044e3ad63c38b9f6638fe06bacaa0178a3d5a553a6d49a561f21377690f1d14a00dafba76a9f154e7e27833c36261cfdce2cfee34e138fe346198fdd8fe6bcc6c5d34b88e77105757789ee27b7044aa8e05799e1241247cc744a31d556f854537e9af81df5ee9ef1c830b27e37d94b58b57f157866445b7aa324fee7916711e5227a9b6f7b14d3c39a60145bd4641f37aca4ee2b7bf9ddfd0b085cf4c42378090aa870e45d05b5dfbfe15ae6d6f07a7350a7c24bf4f90c66b616ef28f368b06a4dc1d12a4eaac07324a72235a6d6ae9dc48c1c80ae18c76d1364ad2a9d2ae4572a82ba2ef8aba40cc356a3fbd3054a7bf07fef0cd5b1db775c48bb5ec94e246b75b477bf28aafdaeb74c606e3e8b76e546ed7ec882d203078a3b982064d8ffd6bddd2225dd27ca7e5e9cd62d832a82fd61427845b5b8fbae90bff21886a526758d83de838234f93e603148bfad389c1bfaaca7b75ee6586b0c9147bdcafc8320388a24f9fc43b467d4d868710bc639888cb2a8d6b433333a3dc6a31464272e1aa0fc04491ff89ee5be994111c8781a706d80171b4ecbb86cef31403641d2071ffb8f297c814a63390cc4ec32f702913a7c08d92c1001441e3149aa4562fe663387cebd9d1ea71af1f5c14dbfb1733c2b1027381e56eb7e3d3768d1c6a2f29d53362947952c3a8598f67def0de814af7387ac6e558d30ba793f41c4008b3b9008337cf0f504a90041b884d4cd73695e98a622adb0175cda0bda6208026902113d11776eefef5c01f941fd4ae6ce6128e77882870a702c86530ba29c6df95183855cd5978b89a68fcf35bf075c98400b46eb419a098f4898e2738cc929cca9836f3140eb1e1dace42ee9c0ed46c93315375a581fbdda4ba065d1a5994bd99a124c08e3514c12ca411f18c3d4cdd2afed764bf330c5fe8f7da73117956c9f29ea6771f80cfea4658ca422b47bec6a7ea0a06d209cc8a8aeb4c81c68e6ed6aa1bcdda3453207e32efcb974589aff889543087c384d618d70135485f607b89b0b3ff838eb3c40b283f4487ddee094a5e8dd3f4555c6f7789f1f301091a33364d58dc18236686b0c8030f5a7e9196cdd8e7f400000000000000000000000000000000000a0e151b222a303a', + publicKey: + '0x1de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240e', + signature: + '0x1e402bc3ca44e1e7e812865158f22a0e70f9790c6740afb514511bf908ee9e51deab654abb7f3a044934aaa0dc3d09c369dd6a1df0fb2c049130228dc82c4665f7fb026d516d4da5c7e08a601ce81f451e23283804e7c0960acddc202b6a52c4452015d64f3e480a0cfaadb7c5946318226ea172573c4a2ba16ed08c1bb91a77d3cf666895d90af09f37cbe322ef8a5ea647820cbfa04073bdd73522e9f4578c44a13e695f961c91e7b40f75c837c9cc9d5035bbdeb7a07518f8fe28583ae5d24a2e2167ee14f1e6ba9a7e59386b5639a550d918bae1f611504024b61deadd076680a315a5b63dd354b5cb462e9a045abff82077ec6c80e8f6842577565f3e10791cc324982aee8493d1cf8054f24e1d73e02604326593c4f210fad2cbe4f93993348af27c62a17b9ad1bfc92bdaeffa55d03187c37f95a0c92ed1ca77d8fb3d60abd6d6fb40545e634a0cca26134b262967b5af1285ecbd5fbe40bd33a15fa09b99bffcd7cea10c9d74ae401e2ba42fa1d3472dd5a7c772da3a7e8b49fe544569bd48a4f0d0194ce9738f3a4f3b349b997b5821e236fabf1739f1266893ff275ad1cfb090f216784d79200fdb10b3bfac7d92106135ba34e4bb00ee6252b90beb45e442eba2f9b8f5f073f9566ed11fd3afbc1b0d30248cbdbba2759ddcb2598914144b4c24ce3ff7c45135e7b251e4663123da99612813e920a209f2420f2f3ca56dcff7abce627f848acf70fb91ff4f792ab33f171c3fd2303cad7736186b805de5fb376739bff9d91d468d6306a623ef9b5360d3af8d55a11b9c984ce91a158e82108d0f174913ed567ef288c2b5dbe65f8c14f3a4386045814e0d432b17b13ee35408a2f934b76124fa0224d2e7fe0c3ed17f658c7503334b01aedf6fa24b3058fa8103aa247f5263098be603ee1f286b6df3f166a9fc27f8f5fb2f8acc464a3648e58a5345f949dfbb9a77615fce9738ceebfbaadff08d80e908a7d390a2f05745eedd67bfcf1dfc646337ff9db80753492800c9a0b6b22afcb4e4359b4aac9d8d19c2862a9f9430e5c75840ae2c9391c95336abd24b0f7fe12418c65969e7f6feea1da6e95acc73216e69d6fd0ed9595811150c25235fabaaccbc2d64dd63ddfbb8239b8481082b49ed28dad8ca3073365dc9159259ee178b4a192a0ec1e2621a9ebc710b20c4d176f00031dd807cab36be29ff5b7785d0ca066156cd5e9a4e4f14d3d073689a3ea6f9db3a7e51b30968f0f6cb949f8a689b3a4f3617c13519fc478b52ce134617361b327bde825cb4f6df785324cdb238b526538875761dddd2f45055cce869942c8f9117724035611c3cd3caa61f3960cd0d1292d26145fdf90ad85252a58af0ae4541748cbf13b99d0017bd5f34787d117d7a7a40278f43b5a1ac021bb7c415ea4fa7033e4d2b0d3ee6ce26d9642ebbe910d5ff7639b70e377f133ca43ca0069b2f996d27f694f935c9239cd2d74d1023e820a453d25ee0dd37c50d98dac08184b1749ecc877a8b3e83ac50d395d631874a5b51a9e7520929636583a3a8c3b8ea0c7a81424f834970c369348b26179f0c5663de1e62df1de5bf464318adaced1a6151bc73ce7c7885b0a3210ed1056d300083ae8030ff3ef8f653284b7080231cdc1c9e90fbc864f06460bb54de044930118d01e285f9a297c6ea3080241ee86b29c46e53392f149aa7d06d3133cf0995733f3f1c0cd5fe38858d9742ebd73b8d9eaf333b6440e9444c0a1618041c087863b4c222382e4551464b7166a3738cfb73015782a2ce3547efadece0f864db371a807fbaa7378047685a2c32def9c3a60147fb1bb536301edc0bce29fd06871f3125da6f14157457d6984d22e1d80e788bbe957c061f8cf46c1286f064447b597e7b0e63d16461bccbd08d5f306ec1ede2f66988b1de22700f2d0e9d324b612709ed7c9065920bfd179d83d444dcd27c370e75e0bcbc902b8873b3ddc66a35e42d1f2201441b73c68dfd211e52cdf249f76a3a8bc8224e0ac2d9c3eee48f29576900573f6e07fd728045443263612fb4eeea90847de0577b1a035ff52b9a25563f797dd0d58013c349d9735a6afd2bf5c7804a5e9827c41d56765abc198d96315e4afc442404a6af16f6c6bc4f27010710b75470d8960090476f96db76f361ba929b5c518321bdb1bf84375603774e663da29afd9e133fea0f5828494ea1cd59e8bf9ed5cfa5cb6d9b010eaed3e3f39029e3a4dd489941aa297c4b56aab66536cbec4abe3cedbfa82da3afc633f59e1b77680e123e0723966ae420afe2ed5c7ea15a86e3ab1b5168ee93637e965325e23bf07babf2821ae3f30799e5cf5d0572ce69860591c9e3d3d27c8f922e22b64f054827ecee8a30bf855098cc09a648d80117c4e8581692801286c22f2d4da0a7ec9769ddf530861a6673cd3b9bd6117bb2c71fee31c4713a73208639c646a98575cafbcc3cdc42746c32ef7aa24374a004f867b29cdc384c106ccd6a7f2fdcda7fdefa7df338092230b4a8ea6418e912b5609deddc3d602ab077c73273699e2cdf690b1b032a358b31a093aabb6fb93112decfd8c804e0ff2ad6c08ba6d33f8ef11dcda054a4a11f5d34d2378c8afe2aecd4a1719580fad793e2c31a4986b1e44c0bf7f838ccaaefc3ffc01ef0607ce532aca3f0aefc2bf545e1bfddd86fdc3e5569c974b978b434e2de9fdf820a4b547759ff80b36417bc5d69a52d195f9138ad6cfbbb06f992dede9e6d78ec3b9a3b2eacbcd45cfa3ea9da25d21cf55184e8bb6c7b4dbea7e2d3ded4fffbd4738da7367743c6ebd023498edc558f5143815094c6f6d2118ccf9b9827da40d8b27a1f6bc1ae43f5853458828bda54e58014de4a0cb3709d171370aee1a0c619567a0dc9103b92125666b37d2b45b4b9b0f25c15a6360841aa31804b756e617f3403c92d5507876e1c14aa70fa517fcae97b6018d934c9026c9799fed157417dd6f30527444967e10c47b39c1327643fab2c029804f23c1b051f41d8ccdf3c3acfd569750bc78e0396d3a694a7410a9703302bbd1c58e3507de5d56357b1590f563b2bb0bbf7048caa3fc7c89ea501d929d23c40776744f2fdd97ffc388e3fbe5640aee6972d8ec830408ac6703cdade9e329944dde141ba394f89786367a5af8a994702a2585bae24c23b8e772a42afa92b4d8ce1b7aa372b562baaf63977b34449f7ba4dd1b906a58e73045fcf5160adc09dcd360818694da9974dbb6adfc0f7784c1d31b6bb2bbbd914cc311981355f870fc1d90804da3bdba640f8c70878fc21844a4ce6e2b714598adfe415d67d7ee95983d8fbf28574390c5a2ef99076a428a62e4fbeb1218b09d3978416970be19347597c8d1c8b43bf9bd6f0f67e6fd9e935399e36b33e34717b9130802de354a38f3d4b7459a82c1d729fd52747ae8785534d24d3e5d870bcd004bdc8978d06e2c0c0e4135cc6dce11330ca0bc407c4acf5e1a2ecd033a485fab5db4fda5d51710da72a49240dd58fd725c6f856b0ee2bc07f8cc473c29376ce08ad9c1171d09bb072d432a5e0d15a9f695c95f2c7d2cfde9b3933e00a115fe6f3e446ef5cdd5ee75bf2c89e40a1bba154af228127385855f20916e9e3d47567b11d28b2a17140dfc7c014e70052e280f6f4f841aaf81d66a3c7740c3834daff8f65860ecef9debb7452a366ea77c42742eb9bc3cb88bd67a722794b3e85b501bd26ed9c2ff502b5b76a8368116fa98c67d2d9b74ea65bebe773342b87b2da8508a31bbc76d8c5a9c58b1ab93ced437c3a3570aded7fcd85eddb1d6d46080cf76c6fe719a67ad2585ef4f7f2b533350117b07cfc22c0b2b0f557b991d256e0b56844b8ca12dcbdeae2c27a8c0a0cc0e95fb4721e3df4a0ddd3429614a9d3aa023c78ae7c38c6c553072656ca4ecbc95c9785d6693973c8bb304caebc981b803923de0467d16714e5fd1b001999ef61f3919a3e0890ea6ca187b8ae906f9b57f33b6b21353cd9a370795db6812de5cb8a791a8963f32cbafa55f7dc681e345ff9c6c5675145e4b256fe657566a3e5f2d4eb0ba2c2adc407a0e2963fbdc6b8a880842b1d96932ec5f20ebe947f59e78d0f8aea5457df67db3162b464e37620d8cc04eddb68d020d019dcff85318e4ec4c025fd98e30933cf9ebfb9190a3f26e48e2e170bebe49900a763f3de7cd965556956e2a666c7c3d711bac457eb323287a033215f7161c5258b49f207d3c888521ca23a6b0c62cbba5d149916dfb0c5b81aba26f5e5cd21d574211d375020ba1b8c82abaf243db3c5d570aee4f4f455ba3efafc554bb8c263023dd741864a06542336239cd26a230c09280fc780fa8a0daa120b3a36e804c37cc5e927ce798246912f5bbe2ac9cdcad6d4a287ab875bef8e296f1c2c455511f2f440aa90a7868b4de594926a83b62cbeb338ae0b3f8e01d9bf17055d9c9c054dd4a73be3dc111810653c71b84a5c9bd7bce98e6e533aa40343396c9ba6b81e0b91781573ae9326213bc7e24064af7b9cd75f57a694cc111925c049d8f5e973e61a3600f6211a7144841cf13a9177b88f5ec41ef7b2c5cd7e06f1ceb494c4147283f629b8f31462b9d5c19c22fb652555c3bc3f500adb5117ab7b8918117b2a7c137e7325cd9aac85ac98d55cb55429fd61c0bd8ea858c1361dd269d2d461173b4e24ce02bb8d30521fe9f407d9bc17cb37418f7c9e4443298b92891a1d5fcea1361dfffb8db2aa181c8f007bd0163fd52b75b23bb66d99697b87eb27288cbc337372850f5458e364ab6646f94e17322ddd8d353c658fb4d5d29d84fb55acd736524c2bbd0edb0a6846e64aa7d77c6008614275b4435b38a3fc83eda59ee92a2d1e86059055eee97a6d5729b2a6bcf226c89597a370ee1c9f69bbd36cb5f36571f24d2742232f17a9d43524b5bdd7e17230e8efccfea3444216eb8870041798472c783a37c1fceb2f5be779ced9e328011476bbc9521557141512585ff09179c36829fdd9f11353faa2678522414304d857db8270ef918c901052ce190a3741d48536258c435275e4ed472275725569802fbeed0fe23c101a55d4a56d7d848584308415a06e6193f281390f95b4ac94249797a15ab2cf965ededf499a2dcc03705e50abeb21c288c505b4a7016e213818fb1d4b8c202f6cf84789956a5759c43a796838f2c2d720de65a11ed7d59cfb3342478db314084e57344a22020abc19cbf65d7c96bdb51a491acd2b92daeeaf20965ee7cad5166d4a20305f9fd439189d8a58c52dc34bd88e510fb810024963907d4fbde5343b978f3704d4f220b63e08b42599b2d535dfbc61f1b5705266fcc5e3eee37d4adbe6ac8332244c5cf52044e3ad63c38b9f6638fe06bacaa0178a3d5a553a6d49a561f21377690f1d14a00dafba76a9f154e7e27833c36261cfdce2cfee34e138fe346198fdd8fe6bcc6c5d34b88e77105757789ee27b7044aa8e05799e1241247cc744a31d556f854537e9af81df5ee9ef1c830b27e37d94b58b57f157866445b7aa324fee7916711e5227a9b6f7b14d3c39a60145bd4641f37aca4ee2b7bf9ddfd0b085cf4c42378090aa870e45d05b5dfbfe15ae6d6f07a7350a7c24bf4f90c66b616ef28f368b06a4dc1d12a4eaac07324a72235a6d6ae9dc48c1c80ae18c76d1364ad2a9d2ae4572a82ba2ef8aba40cc356a3fbd3054a7bf07fef0cd5b1db775c48bb5ec94e246b75b477bf28aafdaeb74c606e3e8b76e546ed7ec882d203078a3b982064d8ffd6bddd2225dd27ca7e5e9cd62d832a82fd61427845b5b8fbae90bff21886a526758d83de838234f93e603148bfad389c1bfaaca7b75ee6586b0c9147bdcafc8320388a24f9fc43b467d4d868710bc639888cb2a8d6b433333a3dc6a31464272e1aa0fc04491ff89ee5be994111c8781a706d80171b4ecbb86cef31403641d2071ffb8f297c814a63390cc4ec32f702913a7c08d92c1001441e3149aa4562fe663387cebd9d1ea71af1f5c14dbfb1733c2b1027381e56eb7e3d3768d1c6a2f29d53362947952c3a8598f67def0de814af7387ac6e558d30ba793f41c4008b3b9008337cf0f504a90041b884d4cd73695e98a622adb0175cda0bda6208026902113d11776eefef5c01f941fd4ae6ce6128e77882870a702c86530ba29c6df95183855cd5978b89a68fcf35bf075c98400b46eb419a098f4898e2738cc929cca9836f3140eb1e1dace42ee9c0ed46c93315375a581fbdda4ba065d1a5994bd99a124c08e3514c12ca411f18c3d4cdd2afed764bf330c5fe8f7da73117956c9f29ea6771f80cfea4658ca422b47bec6a7ea0a06d209cc8a8aeb4c81c68e6ed6aa1bcdda3453207e32efcb974589aff889543087c384d618d70135485f607b89b0b3ff838eb3c40b283f4487ddee094a5e8dd3f4555c6f7789f1f301091a33364d58dc18236686b0c8030f5a7e9196cdd8e7f400000000000000000000000000000000000a0e151b222a303a', }; expect(json).toEqual(expectedJSON); }); diff --git a/packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts b/packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts index bfbb9a91..477343e9 100644 --- a/packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts +++ b/packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts @@ -19,14 +19,9 @@ import { hexToBytes } from '@theqrl/web3-utils'; // import { Chain, Common, Hardfork, toUint8Array } from '../../../src/common'; // import { Address } from '../../../src/tx/address'; -import { - FeeMarketEIP1559Transaction, - TransactionFactory, -} from '../../../src'; - -import type { - FeeMarketEIP1559ValuesArray, -} from '../../../src'; +import { FeeMarketEIP1559Transaction, TransactionFactory } from '../../../src'; + +import type { FeeMarketEIP1559ValuesArray } from '../../../src'; // import type { BigIntLike } from '../../../src/common/types'; // NOTE(rgeraldes24): test 'Transaction Input Values' not valid atm diff --git a/packages/web3-zond-accounts/test/unit/tx/transactionFactory.test.ts b/packages/web3-zond-accounts/test/unit/tx/transactionFactory.test.ts index 76a8d696..c3a1dc38 100644 --- a/packages/web3-zond-accounts/test/unit/tx/transactionFactory.test.ts +++ b/packages/web3-zond-accounts/test/unit/tx/transactionFactory.test.ts @@ -17,17 +17,16 @@ along with web3.js. If not, see . import { hexToBytes } from '@theqrl/web3-utils'; import { Chain, Common, Hardfork } from '../../../src/common'; -import { - FeeMarketEIP1559Transaction, - TransactionFactory, -} from '../../../src'; +import { FeeMarketEIP1559Transaction, TransactionFactory } from '../../../src'; const common = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai, }); -const seed = hexToBytes('d00fd401dc076020ab57f52becab30305bbfc5b3bd7334287c06cdb500c860c54e54b5bd2c5c137d601ef6e8a9e9fac8'); +const seed = hexToBytes( + 'd00fd401dc076020ab57f52becab30305bbfc5b3bd7334287c06cdb500c860c54e54b5bd2c5c137d601ef6e8a9e9fac8', +); const unsignedEIP1559Tx = FeeMarketEIP1559Transaction.fromTxData( { chainId: BigInt(1) }, @@ -56,7 +55,6 @@ describe('[TransactionFactory]: Basic functions', () => { it('fromSerializedData() -> error cases', () => { for (const txType of txTypes) { - // NOTE(rgeraldes24): this part is not valid since we support tx types from the start /* const unsupportedCommon = new Common({ @@ -80,7 +78,7 @@ describe('[TransactionFactory]: Basic functions', () => { it('fromBlockBodyData() -> success cases', () => { for (const txType of txTypes) { - let rawTx = txType.signed.serialize(); + const rawTx = txType.signed.serialize(); const tx = TransactionFactory.fromBlockBodyData(rawTx, { common }); expect(tx.constructor.name).toEqual(txType.name); expect(tx.serialize()).toEqual(rawTx); diff --git a/packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts b/packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts index ad918fc9..4d0fb3f2 100644 --- a/packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts +++ b/packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts @@ -14,15 +14,21 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { bytesToHex, hexToBytes, uint8ArrayEquals, uint8ArrayConcat, addressToBytes } from '@theqrl/web3-utils'; import { - FeeMarketEIP1559Transaction, -} from '../../../src'; -import { Chain, Common, Hardfork/*, uint8ArrayToBigInt*/ } from '../../../src/common'; + bytesToHex, + hexToBytes, + uint8ArrayEquals, + uint8ArrayConcat, + addressToBytes, +} from '@theqrl/web3-utils'; +import { FeeMarketEIP1559Transaction } from '../../../src'; +import { Chain, Common, Hardfork /* , uint8ArrayToBigInt */ } from '../../../src/common'; import type { AccessList } from '../../../src'; -const seed = hexToBytes('0xec3077d539c7b333e596b9e6c0b5f5952d26469ab9a60d1fd54c329ef9959593850a2daf60369e434a7c55939f99e149'); +const seed = hexToBytes( + '0xec3077d539c7b333e596b9e6c0b5f5952d26469ab9a60d1fd54c329ef9959593850a2daf60369e434a7c55939f99e149', +); const address = addressToBytes('Z20982e08c8b5b4d007e4f6c4a637033ce90aa352'); const common = new Common({ @@ -78,9 +84,17 @@ describe('[FeeMarketEIP1559Transaction] -> EIP-2930 Compatibility', () => { } }); - it('cannot input decimal values', () => { - const values = ['chainId', 'nonce', 'maxFeePerGas', 'maxPriorityFeePerGas', 'gasLimit', 'value', 'publicKey', 'signature']; + const values = [ + 'chainId', + 'nonce', + 'maxFeePerGas', + 'maxPriorityFeePerGas', + 'gasLimit', + 'value', + 'publicKey', + 'signature', + ]; const cases = [ 10.1, '10.1', @@ -293,4 +307,4 @@ describe('[FeeMarketEIP1559Transaction] -> EIP-2930 Compatibility', () => { expect(tx.getDataFee()).toEqual(BigInt(0)); } }); -}); \ No newline at end of file +}); diff --git a/packages/web3-zond-accounts/test/unit/tx/types.ts b/packages/web3-zond-accounts/test/unit/tx/types.ts index 886a5d56..b04b0bdc 100644 --- a/packages/web3-zond-accounts/test/unit/tx/types.ts +++ b/packages/web3-zond-accounts/test/unit/tx/types.ts @@ -15,8 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export type ForkName = - | 'Shanghai'; +export type ForkName = 'Shanghai'; export type ForkNamesMap = { [forkName in ForkName]: string }; diff --git a/packages/web3-zond-accounts/test/unit/wallet.test.ts b/packages/web3-zond-accounts/test/unit/wallet.test.ts index be02066b..08e1b0ca 100644 --- a/packages/web3-zond-accounts/test/unit/wallet.test.ts +++ b/packages/web3-zond-accounts/test/unit/wallet.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . /* eslint-disable @typescript-eslint/no-magic-numbers */ -import { Web3AccountProvider, Web3BaseWalletAccount /*, KeyStore */ } from '@theqrl/web3-types'; +import { Web3AccountProvider, Web3BaseWalletAccount /* , KeyStore */ } from '@theqrl/web3-types'; import { Wallet } from '../../src/wallet'; describe('Wallet', () => { @@ -40,7 +40,7 @@ describe('Wallet', () => { totalSeedCreate += 1; return { address: `seed_create_${totalSeedCreate}` }; }), - //decrypt: jest.fn(), + // decrypt: jest.fn(), create: jest.fn().mockImplementation(() => { totalAccountsCreate += 1; return { address: `account_create_${totalAccountsCreate}` }; diff --git a/packages/web3-zond-contract/CHANGELOG.md b/packages/web3-zond-contract/CHANGELOG.md index 0e07e464..1d013ff9 100644 --- a/packages/web3-zond-contract/CHANGELOG.md +++ b/packages/web3-zond-contract/CHANGELOG.md @@ -3,4 +3,4 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). \ No newline at end of file +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). diff --git a/packages/web3-zond-contract/src/contract.ts b/packages/web3-zond-contract/src/contract.ts index ee07c2fd..a71fa179 100644 --- a/packages/web3-zond-contract/src/contract.ts +++ b/packages/web3-zond-contract/src/contract.ts @@ -204,13 +204,13 @@ export class Contract * jsonInterface: [...], * from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', * maxFeePerGas: '10000000000000', - * maxPriorityFeePerGas: '0', + * maxPriorityFeePerGas: '0', * gas: 1000000 * } * * myContract.options.from = 'Z1234567890123456789012345678901234567891'; // default from address - * myContract.options.maxFeePerGas = '20000000000000'; // default max fee per gas in wei - * myContract.options.maxPriorityFeePerGas = '0'; // default max priority fee per gas in wei + * myContract.options.maxFeePerGas = '20000000000000'; // default max fee per gas in planck + * myContract.options.maxPriorityFeePerGas = '0'; // default max priority fee per gas in planck * myContract.options.gas = 5000000; // provide as fallback always 5M gas * ``` */ @@ -260,7 +260,7 @@ export class Contract * ```ts title="Example" * var myContract = new web3.zond.Contract([...], 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', { * from: 'Z1234567890123456789012345678901234567891', // default from address - * maxFeePerGas: '20000000000' // default max fee per gas in wei, 20 gwei in this case + * maxFeePerGas: '20000000000' // default max fee per gas in planck, 20 gplanck in this case * }); * ``` * diff --git a/packages/web3-zond-contract/src/encoding.ts b/packages/web3-zond-contract/src/encoding.ts index f24a1fdb..4f420b01 100644 --- a/packages/web3-zond-contract/src/encoding.ts +++ b/packages/web3-zond-contract/src/encoding.ts @@ -113,7 +113,7 @@ export const encodeEventABI = ( if (!opts.topics.length) delete opts.topics; if (address) { - opts.address = `Z${address.slice(1).toLowerCase()}` + opts.address = `Z${address.slice(1).toLowerCase()}`; } return opts; diff --git a/packages/web3-zond-contract/src/utils.ts b/packages/web3-zond-contract/src/utils.ts index b76a0fc3..7d3345c9 100644 --- a/packages/web3-zond-contract/src/utils.ts +++ b/packages/web3-zond-contract/src/utils.ts @@ -149,7 +149,7 @@ export const getEstimateGasParams = ({ to: contractOptions.address, gas: contractOptions.gas, maxFeePerGas: contractOptions.maxFeePerGas, - maxPriorityFeePerGas: contractOptions.maxPriorityFeePerGas, + maxPriorityFeePerGas: contractOptions.maxPriorityFeePerGas, from: contractOptions.from, input: contractOptions.input, data: contractOptions.data, diff --git a/packages/web3-zond-contract/test/fixtures/contracts/SampleStorageContract.hyp b/packages/web3-zond-contract/test/fixtures/contracts/SampleStorageContract.hyp index 841d3993..35178f65 100644 --- a/packages/web3-zond-contract/test/fixtures/contracts/SampleStorageContract.hyp +++ b/packages/web3-zond-contract/test/fixtures/contracts/SampleStorageContract.hyp @@ -15,8 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion ^0.8.7; +pragma hyperion >=0.0; contract SampleStorageContract { uint256 uintNum; diff --git a/packages/web3-zond-contract/test/fixtures/contracts/SimpleOverloaded.hyp b/packages/web3-zond-contract/test/fixtures/contracts/SimpleOverloaded.hyp index 28bc9698..bdee647f 100644 --- a/packages/web3-zond-contract/test/fixtures/contracts/SimpleOverloaded.hyp +++ b/packages/web3-zond-contract/test/fixtures/contracts/SimpleOverloaded.hyp @@ -1,5 +1,4 @@ -// TODO(now.youtrack.cloud/issue/web3js-11) -pragma hyperion 0.8.19; +pragma hyperion >=0.0; contract SimpleOverload { uint256 public secret; diff --git a/packages/web3-zond-contract/test/fixtures/erc20.ts b/packages/web3-zond-contract/test/fixtures/zrc20.ts similarity index 98% rename from packages/web3-zond-contract/test/fixtures/erc20.ts rename to packages/web3-zond-contract/test/fixtures/zrc20.ts index eef7f317..d4ab8826 100644 --- a/packages/web3-zond-contract/test/fixtures/erc20.ts +++ b/packages/web3-zond-contract/test/fixtures/zrc20.ts @@ -19,7 +19,7 @@ import { Address, Numbers } from '@theqrl/web3-types'; import { LogsSubscription } from '../../src/log_subscription'; import { ContractEventOptions, PayableMethodObject, NonPayableMethodObject } from '../../src/types'; -export interface Erc20Interface { +export interface Zrc20Interface { methods: { [key: string]: ( ...args: ReadonlyArray @@ -60,7 +60,7 @@ export interface Erc20Interface { } // https://ethereumdev.io/abi-for-erc20-contract-on-ethereum/ -export const erc20Abi = [ +export const zrc20Abi = [ { constant: true, inputs: [], diff --git a/packages/web3-zond-contract/test/fixtures/erc721.ts b/packages/web3-zond-contract/test/fixtures/zrc721.ts similarity index 98% rename from packages/web3-zond-contract/test/fixtures/erc721.ts rename to packages/web3-zond-contract/test/fixtures/zrc721.ts index 472f49dd..90894d18 100644 --- a/packages/web3-zond-contract/test/fixtures/erc721.ts +++ b/packages/web3-zond-contract/test/fixtures/zrc721.ts @@ -19,7 +19,7 @@ import { Address, Numbers } from '@theqrl/web3-types'; import { LogsSubscription } from '../../src/log_subscription'; import { ContractEventOptions, NonPayableMethodObject, PayableMethodObject } from '../../src/types'; -export interface Erc721Interface { +export interface Zrc721Interface { methods: { [key: string]: ( ...args: ReadonlyArray @@ -64,7 +64,7 @@ export interface Erc721Interface { // https://eips.ethereum.org/EIPS/eip-721 // Copied interface from above link to Remix and compile -export const erc721Abi = [ +export const zrc721Abi = [ { constant: true, inputs: [ diff --git a/packages/web3-zond-contract/test/integration/contract_accesslist.test.ts b/packages/web3-zond-contract/test/integration/contract_accesslist.test.ts index 86f150cd..0aa772ed 100644 --- a/packages/web3-zond-contract/test/integration/contract_accesslist.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_accesslist.test.ts @@ -15,6 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ +import { isNullish } from '@theqrl/web3-utils'; import { Contract } from '../../src'; import { GreeterBytecode, GreeterAbi } from '../shared_fixtures/build/Greeter'; import { @@ -23,7 +24,6 @@ import { describeIf, getSystemTestBackend, } from '../fixtures/system_test_utils'; -import { isNullish } from '@theqrl/web3-utils'; describe('contract', () => { describeIf(getSystemTestBackend() === 'gzond')('createAccessList', () => { @@ -43,7 +43,7 @@ describe('contract', () => { arguments: ['My Greeting'], }; - sendOptions = { from: acc.address, /*gas: '1000000'*/ }; + sendOptions = { from: acc.address /* gas: '1000000' */ }; }); it('create access list for setter', async () => { @@ -62,13 +62,15 @@ describe('contract', () => { const accessListResult = { accessList: [ { - address: isNullish(deployedContract.options.address) ? deployedContract.options.address : `Z${deployedContract.options.address.slice(1).toLowerCase()}`, + address: isNullish(deployedContract.options.address) + ? deployedContract.options.address + : `Z${deployedContract.options.address.slice(1).toLowerCase()}`, storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000001', ], }, ], - gasUsed: '0x866b', + gasUsed: '0x863a', }; expect(accessList).toStrictEqual(accessListResult); @@ -88,13 +90,15 @@ describe('contract', () => { const accessListResult = { accessList: [ { - address: isNullish(deployedContract.options.address) ? deployedContract.options.address : `Z${deployedContract.options.address.slice(1).toLowerCase()}`, + address: isNullish(deployedContract.options.address) + ? deployedContract.options.address + : `Z${deployedContract.options.address.slice(1).toLowerCase()}`, storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000001', ], }, ], - gasUsed: '0x68ab', + gasUsed: '0x68a0', }; expect(accessList).toStrictEqual(accessListResult); diff --git a/packages/web3-zond-contract/test/integration/contract_clone.test.ts b/packages/web3-zond-contract/test/integration/contract_clone.test.ts index e17f30ee..e7e732be 100644 --- a/packages/web3-zond-contract/test/integration/contract_clone.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_clone.test.ts @@ -34,7 +34,7 @@ describe('contract', () => { arguments: ['My Greeting'], }; - sendOptions = { from: acc.address, /*gas: '1000000'*/ }; + sendOptions = { from: acc.address /* gas: '1000000' */ }; }); it('should clone the contract but with same address', async () => { diff --git a/packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts b/packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts index 806260ec..977f1fe0 100644 --- a/packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts @@ -56,7 +56,7 @@ describe('contract defaults (extra)', () => { arguments: ['My Greeting'], }; - sendOptions = { from: acc.address, /*gas: '1000000'*/ }; + sendOptions = { from: acc.address /* gas: '1000000' */ }; }); afterEach(async () => { @@ -142,7 +142,7 @@ describe('contract defaults (extra)', () => { arguments: ['My Greeting'], }; - sendOptions = { from: acc.address, /*gas: '1000000'*/ }; + sendOptions = { from: acc.address /* gas: '1000000' */ }; contract = await contract.deploy(deployOptions).send(sendOptions); }); diff --git a/packages/web3-zond-contract/test/integration/contract_deploy.test.ts b/packages/web3-zond-contract/test/integration/contract_deploy.test.ts index b6b7c588..a6c8fbd9 100644 --- a/packages/web3-zond-contract/test/integration/contract_deploy.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_deploy.test.ts @@ -17,16 +17,16 @@ along with web3.js. If not, see . import { Web3Zond } from '@theqrl/web3-zond'; import { Contract } from '../../src'; import { sleep } from '../shared_fixtures/utils'; -import { ERC721TokenAbi, ERC721TokenBytecode } from '../shared_fixtures/build/ERC721Token'; +import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../shared_fixtures/build/ZRC721Token'; import { GreeterBytecode, GreeterAbi } from '../shared_fixtures/build/Greeter'; import { DeployRevertAbi, DeployRevertBytecode } from '../shared_fixtures/build/DeployRevert'; import { getSystemTestProvider, - //isWs, + // isWs, createTempAccount, createNewAccount, signTxAndSendEIP1559, - //sendFewSampleTxs, + // sendFewSampleTxs, closeOpenConnection, } from '../fixtures/system_test_utils'; @@ -108,11 +108,11 @@ describe('contract', () => { expect(Number(estimatedGas)).toBeGreaterThan(0); }); it('should return estimated gas of contract constructor without arguments', async () => { - const estimatedGas = await new Contract(ERC721TokenAbi, undefined, { + const estimatedGas = await new Contract(ZRC721TokenAbi, undefined, { provider: getSystemTestProvider(), }) .deploy({ - data: ERC721TokenBytecode, + data: ZRC721TokenBytecode, arguments: [], }) .estimateGas({ @@ -186,13 +186,13 @@ describe('contract', () => { // Deploy once again to trigger block mining to trigger confirmation // We can send any other transaction as well - //await contract.deploy(deployOptions).send(sendOptions); + // await contract.deploy(deployOptions).send(sendOptions); - //await sendFewSampleTxs(3); + // await sendFewSampleTxs(3); // Wait for some fraction of time to trigger the handler // On http we use polling to get confirmation, so wait a bit longer - //await sleep(isWs ? 500 : 2000); + // await sleep(isWs ? 500 : 2000); // eslint-disable-next-line jest/no-standalone-expect expect(confirmationHandler).toHaveBeenCalled(); diff --git a/packages/web3-zond-contract/test/integration/contract_empty_string.test.ts b/packages/web3-zond-contract/test/integration/contract_empty_string.test.ts index a27dd1d5..3fbbc655 100644 --- a/packages/web3-zond-contract/test/integration/contract_empty_string.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_empty_string.test.ts @@ -34,7 +34,7 @@ describe('request empty string from contract', () => { arguments: [], }; - sendOptions = { from: acc.address, /*gas: '1000000'*/ }; + sendOptions = { from: acc.address /* gas: '1000000' */ }; }); it('should fetch empty string', async () => { diff --git a/packages/web3-zond-contract/test/integration/contract_events.test.ts b/packages/web3-zond-contract/test/integration/contract_events.test.ts index 6f029f51..250c73b5 100644 --- a/packages/web3-zond-contract/test/integration/contract_events.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_events.test.ts @@ -46,7 +46,7 @@ describe('contract', () => { arguments: [10, 'string init value'], }; - sendOptions = { from: acc.address, /*gas: '1000000'*/ }; + sendOptions = { from: acc.address /* gas: '1000000' */ }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); }); diff --git a/packages/web3-zond-contract/test/integration/contract_filter_events.test.ts b/packages/web3-zond-contract/test/integration/contract_filter_events.test.ts index 32cfdff6..b6145ddb 100644 --- a/packages/web3-zond-contract/test/integration/contract_filter_events.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_filter_events.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { toBigInt } from '@theqrl/web3-utils'; import { Contract } from '../../src'; -import { ERC20TokenAbi, ERC20TokenBytecode } from '../shared_fixtures/build/ERC20Token'; +import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../shared_fixtures/build/ZRC20Token'; import { BasicAbi, BasicBytecode } from '../shared_fixtures/build/Basic'; import { getSystemTestProvider, @@ -29,9 +29,9 @@ import { EventLog } from '../../src/types'; const initialSupply = BigInt('5000000000'); describe('contract getPastEvent filter', () => { - describe('erc20', () => { - let contract: Contract; - let contractDeployed: Contract; + describe('zrc20', () => { + let contract: Contract; + let contractDeployed: Contract; let deployOptions: Record; let sendOptions: Record; let mainAcc: Record; @@ -40,16 +40,16 @@ describe('contract getPastEvent filter', () => { let toAcc3: Record; beforeAll(async () => { - contract = new Contract(ERC20TokenAbi, undefined, { + contract = new Contract(ZRC20TokenAbi, undefined, { provider: getSystemTestProvider(), }); deployOptions = { - data: ERC20TokenBytecode, + data: ZRC20TokenBytecode, arguments: [initialSupply], }; mainAcc = await createTempAccount(); - sendOptions = { from: mainAcc.address, /*gas: '10000000'*/ }; + sendOptions = { from: mainAcc.address /* gas: '10000000' */ }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); toAcc1 = await createNewAccount(); toAcc2 = await createNewAccount(); @@ -172,7 +172,7 @@ describe('contract getPastEvent filter', () => { arguments: [123, '123'], }; mainAcc = await createTempAccount(); - sendOptions = { from: mainAcc.address, /*gas: '10000000'*/ }; + sendOptions = { from: mainAcc.address /* gas: '10000000' */ }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); await contractDeployed.methods .firesMultiValueIndexedEvent('str1', 1, true) diff --git a/packages/web3-zond-contract/test/integration/contract_methods.test.ts b/packages/web3-zond-contract/test/integration/contract_methods.test.ts index c41cf24d..87325496 100644 --- a/packages/web3-zond-contract/test/integration/contract_methods.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_methods.test.ts @@ -15,10 +15,10 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { ContractExecutionError } from '@theqrl/web3-errors'; +import { isNullish } from '@theqrl/web3-utils'; import { Contract } from '../../src'; import { BasicAbi, BasicBytecode } from '../shared_fixtures/build/Basic'; import { getSystemTestProvider, createTempAccount } from '../fixtures/system_test_utils'; -import { isNullish } from '@theqrl/web3-utils'; describe('contract', () => { let contract: Contract; @@ -108,15 +108,15 @@ describe('contract', () => { it('should returns a receipt (EIP-1559, maxFeePerGas and maxPriorityFeePerGas specified)', async () => { const tempAcc = await createTempAccount(); - const sendOptionsLocal = { from: tempAcc.address, /*gas: '1000000'*/ }; + const sendOptionsLocal = { from: tempAcc.address /* gas: '1000000' */ }; const contractLocal = await contract.deploy(deployOptions).send(sendOptionsLocal); const receipt = await contractLocal.methods .setValues(1, 'string value', true) .send({ ...sendOptionsLocal, - maxFeePerGas: '0x59682F00', // 1.5 Gwei - maxPriorityFeePerGas: '0x1DCD6500', // .5 Gwei + maxFeePerGas: '0x59682F00', // 1.5 Gplanck + maxPriorityFeePerGas: '0x1DCD6500', // .5 Gplanck type: '0x2', }); @@ -153,14 +153,16 @@ describe('contract', () => { ).rejects.toMatchObject({ name: 'TransactionRevertedWithoutReasonError', receipt: { - cumulativeGasUsed: BigInt(21543), + cumulativeGasUsed: BigInt(21537), from: acc.address, - gasUsed: BigInt(21543), + gasUsed: BigInt(21537), logs: [], logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', status: BigInt(0), - to: isNullish(contractDeployed.options.address) ? contractDeployed.options.address : `Z${contractDeployed.options.address.slice(1).toLowerCase()}`, + to: isNullish(contractDeployed.options.address) + ? contractDeployed.options.address + : `Z${contractDeployed.options.address.slice(1).toLowerCase()}`, transactionIndex: BigInt(0), type: BigInt(2), }, diff --git a/packages/web3-zond-contract/test/integration/contract_methods_errors.test.ts b/packages/web3-zond-contract/test/integration/contract_methods_errors.test.ts index e534c496..4130698b 100644 --- a/packages/web3-zond-contract/test/integration/contract_methods_errors.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_methods_errors.test.ts @@ -44,7 +44,7 @@ describe('contract errors', () => { data: ErrorsContractBytecode, }; - const sendOptionsLocal = { from: acc.address, /*gas: '10000000'*/ }; + const sendOptionsLocal = { from: acc.address /* gas: '10000000' */ }; deployedContract = await contract.deploy(deployOptions).send(sendOptionsLocal); contract.setProvider(getSystemTestProvider()); diff --git a/packages/web3-zond-contract/test/integration/contract_negative_numbers.test.ts b/packages/web3-zond-contract/test/integration/contract_negative_numbers.test.ts index 19af702b..99f52862 100644 --- a/packages/web3-zond-contract/test/integration/contract_negative_numbers.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_negative_numbers.test.ts @@ -42,7 +42,7 @@ describe('Contract - NegativeNumbers.hyp', () => { sendOptions = { from: account.address, type: '2', - //gas: '1000000', + // gas: '1000000', }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); diff --git a/packages/web3-zond-contract/test/integration/contract_simple_overloaded.test.ts b/packages/web3-zond-contract/test/integration/contract_simple_overloaded.test.ts index 8b44753a..5b3c086d 100644 --- a/packages/web3-zond-contract/test/integration/contract_simple_overloaded.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_simple_overloaded.test.ts @@ -32,7 +32,7 @@ describe('SimpleOverloaded', () => { .deploy({ data: SimpleOverloadedBytecode, }) - .send({ from: mainAcc.address, /*gas: '10000000'*/ }); + .send({ from: mainAcc.address /* gas: '10000000' */ }); }); it('should call getSecret with no args', async () => { @@ -53,7 +53,7 @@ describe('SimpleOverloaded', () => { it('should send setSecret with no args', async () => { const transactionReceipt = await contractDeployed.methods .setSecret() - .send({ from: mainAcc.address, /*gas: '10000000'*/ }); + .send({ from: mainAcc.address /* gas: '10000000' */ }); expect(transactionReceipt.status).toBe(BigInt(1)); const response = await contractDeployed.methods.getSecret(42, 'some string').call(); @@ -63,7 +63,7 @@ describe('SimpleOverloaded', () => { it('should send setSecret with one args', async () => { const transactionReceipt = await contractDeployed.methods .setSecret(42) - .send({ from: mainAcc.address, /*gas: '10000000'*/ }); + .send({ from: mainAcc.address /* gas: '10000000' */ }); expect(transactionReceipt.status).toBe(BigInt(1)); const response = await contractDeployed.methods.getSecret(42, 'some string').call(); @@ -73,7 +73,7 @@ describe('SimpleOverloaded', () => { it('should send setSecret with two args', async () => { const transactionReceipt = await contractDeployed.methods .setSecret(42, 'more string') - .send({ from: mainAcc.address, /*gas: '10000000'*/ }); + .send({ from: mainAcc.address /* gas: '10000000' */ }); expect(transactionReceipt.status).toBe(BigInt(1)); const response = await contractDeployed.methods.getSecret(42, 'some string').call(); @@ -87,14 +87,14 @@ describe('SimpleOverloaded', () => { it('should send multicall with one arg', async () => { const transactionReceipt = await contractDeployed.methods .multicall(['0x5b9fdc30', '0x5b9fdc30', '0x5b9fdc30']) - .send({ from: mainAcc.address, /*gas: '10000000'*/ }); + .send({ from: mainAcc.address /* gas: '10000000' */ }); expect(transactionReceipt.status).toBe(BigInt(1)); }); it('should send multicall with two args', async () => { const transactionReceipt = await contractDeployed.methods .multicall(99999999999, ['0x5b9fdc30', '0x5b9fdc30', '0x5b9fdc30']) - .send({ from: mainAcc.address, /*gas: '10000000'*/ }); + .send({ from: mainAcc.address /* gas: '10000000' */ }); expect(transactionReceipt.status).toBe(BigInt(1)); }); }); diff --git a/packages/web3-zond-contract/test/integration/contract_erc20.test.ts b/packages/web3-zond-contract/test/integration/contract_zrc20.test.ts similarity index 92% rename from packages/web3-zond-contract/test/integration/contract_erc20.test.ts rename to packages/web3-zond-contract/test/integration/contract_zrc20.test.ts index 6e7142dd..07de8d52 100644 --- a/packages/web3-zond-contract/test/integration/contract_erc20.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_zrc20.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { LogsOutput } from '@theqrl/web3-types'; import { Contract } from '../../src'; -import { ERC20TokenAbi, ERC20TokenBytecode } from '../shared_fixtures/build/ERC20Token'; +import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../shared_fixtures/build/ZRC20Token'; import { getSystemTestProvider, describeIf, @@ -32,32 +32,32 @@ import { processAsync, toUpperCaseAddress } from '../shared_fixtures/utils'; const initialSupply = BigInt('5000000000'); describe('contract', () => { - describe('erc20', () => { - let contract: Contract; + describe('zrc20', () => { + let contract: Contract; let deployOptions: Record; let sendOptions: Record; beforeAll(() => { - contract = new Contract(ERC20TokenAbi, undefined, { + contract = new Contract(ZRC20TokenAbi, undefined, { provider: getSystemTestProvider(), }); deployOptions = { - data: ERC20TokenBytecode, + data: ZRC20TokenBytecode, arguments: [initialSupply], }; }); it('should deploy the contract', async () => { const acc = await createTempAccount(); - const sendOptionsLocal = { from: acc.address, /*gas: '10000000'*/ }; + const sendOptionsLocal = { from: acc.address /* gas: '10000000' */ }; await expect( contract.deploy(deployOptions).send(sendOptionsLocal), ).resolves.toBeDefined(); }); describe('contract instance', () => { - let contractDeployed: Contract; + let contractDeployed: Contract; let pkAccount: { address: string; seed: string }; let mainAcc: { address: string; seed: string }; const prepareForTransfer = async (value: string) => { @@ -70,7 +70,7 @@ describe('contract', () => { mainAcc = await createTempAccount(); pkAccount = await createNewAccount(); await refillAccount(mainAcc.address, pkAccount.address, '20000000000000000'); - sendOptions = { from: mainAcc.address, /*gas: '10000000'*/ }; + sendOptions = { from: mainAcc.address /* gas: '10000000' */ }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); }); describe('methods', () => { @@ -184,13 +184,13 @@ describe('contract', () => { .call(), ).toBe(transferFromValue); - // increaseAllowance + // approve await signAndSendContractMethod( contract.provider, contractDeployed.options.address as string, - contractDeployed.methods.increaseAllowance( + contractDeployed.methods.approve( tempAccount.address, - transferFromValue, + transferFromValue + transferFromValue, ), tempAccount.seed, ); diff --git a/packages/web3-zond-contract/test/integration/contract_erc721.test.ts b/packages/web3-zond-contract/test/integration/contract_zrc721.test.ts similarity index 95% rename from packages/web3-zond-contract/test/integration/contract_erc721.test.ts rename to packages/web3-zond-contract/test/integration/contract_zrc721.test.ts index 34016504..57f43764 100644 --- a/packages/web3-zond-contract/test/integration/contract_erc721.test.ts +++ b/packages/web3-zond-contract/test/integration/contract_zrc721.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { toBigInt } from '@theqrl/web3-utils'; import { Contract } from '../../src'; -import { ERC721TokenAbi, ERC721TokenBytecode } from '../shared_fixtures/build/ERC721Token'; +import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../shared_fixtures/build/ZRC721Token'; import { getSystemTestProvider, describeIf, @@ -30,24 +30,24 @@ import { import { processAsync, toUpperCaseAddress } from '../shared_fixtures/utils'; describe('contract', () => { - describe('erc721', () => { - let contract: Contract; - let contractDeployed: Contract; + describe('zrc721', () => { + let contract: Contract; + let contractDeployed: Contract; let deployOptions: Record; let sendOptions: Record; beforeAll(async () => { - contract = new Contract(ERC721TokenAbi, undefined, { + contract = new Contract(ZRC721TokenAbi, undefined, { provider: getSystemTestProvider(), }); const acc = await createTempAccount(); deployOptions = { - data: ERC721TokenBytecode, + data: ZRC721TokenBytecode, arguments: [], }; - sendOptions = { from: acc.address, /*gas: '10000000'*/ }; + sendOptions = { from: acc.address /* gas: '10000000' */ }; }); it('should deploy the contract', async () => { @@ -65,7 +65,7 @@ describe('contract', () => { }); beforeEach(async () => { acc2 = await createTempAccount(); - sendOptions = { from: acc.address, /*gas: '10000000'*/ }; + sendOptions = { from: acc.address /* gas: '10000000' */ }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); }); diff --git a/packages/web3-zond-contract/test/integration/jest.config.js b/packages/web3-zond-contract/test/integration/jest.config.js index a1bae319..1d958902 100644 --- a/packages/web3-zond-contract/test/integration/jest.config.js +++ b/packages/web3-zond-contract/test/integration/jest.config.js @@ -5,7 +5,7 @@ const base = require('../config/jest.config'); module.exports = { ...base, setupFilesAfterEnv: ['/test/integration/setup.js'], - testMatch: ['/test/integration/**/*.(spec|test).(js|ts)'], + testMatch: ['/test/integration/**/*.(spec|test).(js|ts)'], /** * restoreMocks [boolean] * diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts b/packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts index 43b68370..de5127e2 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts +++ b/packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts @@ -86,20 +86,15 @@ describe('contract', () => { ).rejects.toThrow('Signer Error Signer Error gasLimit is too low'); }); - it.each(['0x2'])( - 'should return estimated gas of contract method %p', - async txType => { - const contractDeployed = await contract.deploy(deployOptions).send(sendOptions); - - const estimatedGas = await contractDeployed.methods - .setGreeting('Hello') - .estimateGas({ - ...sendOptions, - type: txType, - }); - expect(Number(estimatedGas)).toBeGreaterThan(0); - }, - ); + it.each(['0x2'])('should return estimated gas of contract method %p', async txType => { + const contractDeployed = await contract.deploy(deployOptions).send(sendOptions); + + const estimatedGas = await contractDeployed.methods.setGreeting('Hello').estimateGas({ + ...sendOptions, + type: txType, + }); + expect(Number(estimatedGas)).toBeGreaterThan(0); + }); it('should deploy the contract if data is provided at initiation', async () => { const contractWithParams = new web3.zond.Contract(GreeterAbi, undefined, { diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts b/packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts index e9c05a74..a73e545b 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts +++ b/packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts @@ -21,27 +21,27 @@ import Web3 from '@theqrl/web3'; import { Web3Account } from '@theqrl/web3-zond-accounts'; import { utf8ToHex } from '@theqrl/web3-utils'; import { Contract, EventLog } from '../../../src'; -import { ERC721TokenAbi, ERC721TokenBytecode } from '../../shared_fixtures/build/ERC721Token'; +import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../../shared_fixtures/build/ZRC721Token'; import { getSystemTestProvider, createLocalAccount } from '../../fixtures/system_test_utils'; import { toUpperCaseHex } from '../../shared_fixtures/utils'; -describe('contract ERC721 overloaded functions', () => { - let contract: Contract; +describe('contract ZRC721 overloaded functions', () => { + let contract: Contract; let sendOptions: Record; let deployOptions: Record; let localAccount: Web3Account; let web3: Web3; - let contractDeployed: Contract; + let contractDeployed: Contract; beforeAll(async () => { web3 = new Web3(getSystemTestProvider()); localAccount = await createLocalAccount(web3); - contract = new web3.zond.Contract(ERC721TokenAbi) as unknown as Contract< - typeof ERC721TokenAbi + contract = new web3.zond.Contract(ZRC721TokenAbi) as unknown as Contract< + typeof ZRC721TokenAbi >; deployOptions = { - data: ERC721TokenBytecode, + data: ZRC721TokenBytecode, arguments: [], }; diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_erc20.test.ts b/packages/web3-zond-contract/test/integration/local_account/contract_zrc20.test.ts similarity index 87% rename from packages/web3-zond-contract/test/integration/local_account/contract_erc20.test.ts rename to packages/web3-zond-contract/test/integration/local_account/contract_zrc20.test.ts index e64e9c0e..67fe2320 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_erc20.test.ts +++ b/packages/web3-zond-contract/test/integration/local_account/contract_zrc20.test.ts @@ -20,29 +20,29 @@ import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3Account } from '@theqrl/web3-zond-accounts'; import { Contract } from '../../../src'; -import { ERC20TokenAbi, ERC20TokenBytecode } from '../../shared_fixtures/build/ERC20Token'; +import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../../shared_fixtures/build/ZRC20Token'; import { getSystemTestProvider, createLocalAccount } from '../../fixtures/system_test_utils'; const initialSupply = BigInt('5000000000'); describe('contract', () => { - describe('erc20', () => { - let contract: Contract; + describe('zrc20', () => { + let contract: Contract; let sendOptions: Record; let deployOptions: Record; let localAccount: Web3Account; let web3: Web3; - let contractDeployed: Contract; + let contractDeployed: Contract; beforeAll(async () => { web3 = new Web3(getSystemTestProvider()); localAccount = await createLocalAccount(web3); - contract = new web3.zond.Contract(ERC20TokenAbi) as unknown as Contract< - typeof ERC20TokenAbi + contract = new web3.zond.Contract(ZRC20TokenAbi) as unknown as Contract< + typeof ZRC20TokenAbi >; deployOptions = { - data: ERC20TokenBytecode, + data: ZRC20TokenBytecode, arguments: [initialSupply], }; @@ -97,7 +97,7 @@ describe('contract', () => { it.each(['0x2'])('should increase allowance %p', async type => { const value = BigInt(10); - const extraAmount = BigInt(4); + const newAmount = BigInt(20); const tempAccount = await createLocalAccount(web3); // approve @@ -112,9 +112,9 @@ describe('contract', () => { .call(), ).toBe(value); - // increaseAllowance + // approve await contractDeployed.methods - .increaseAllowance(tempAccount.address, extraAmount) + .approve(tempAccount.address, newAmount) .send({ ...sendOptions, from: localAccount.address, type, gas: '2000000' }); // check allowance @@ -122,7 +122,7 @@ describe('contract', () => { await contractDeployed.methods .allowance(localAccount.address, tempAccount.address) .call(), - ).toBe(value + extraAmount); + ).toBe(newAmount); }); }); }); diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_erc721.test.ts b/packages/web3-zond-contract/test/integration/local_account/contract_zrc721.test.ts similarity index 78% rename from packages/web3-zond-contract/test/integration/local_account/contract_erc721.test.ts rename to packages/web3-zond-contract/test/integration/local_account/contract_zrc721.test.ts index b23c0c4e..950dbbc8 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_erc721.test.ts +++ b/packages/web3-zond-contract/test/integration/local_account/contract_zrc721.test.ts @@ -20,27 +20,27 @@ import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3Account } from '@theqrl/web3-zond-accounts'; import { Contract, EventLog } from '../../../src'; -import { ERC721TokenAbi, ERC721TokenBytecode } from '../../shared_fixtures/build/ERC721Token'; +import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../../shared_fixtures/build/ZRC721Token'; import { getSystemTestProvider, createLocalAccount } from '../../fixtures/system_test_utils'; import { toUpperCaseHex } from '../../shared_fixtures/utils'; describe('contract', () => { - describe('erc721', () => { - let contract: Contract; + describe('zrc721', () => { + let contract: Contract; let sendOptions: Record; let deployOptions: Record; let localAccount: Web3Account; let web3: Web3; - let contractDeployed: Contract; + let contractDeployed: Contract; beforeAll(async () => { web3 = new Web3(getSystemTestProvider()); localAccount = await createLocalAccount(web3); - contract = new web3.zond.Contract(ERC721TokenAbi) as unknown as Contract< - typeof ERC721TokenAbi + contract = new web3.zond.Contract(ZRC721TokenAbi) as unknown as Contract< + typeof ZRC721TokenAbi >; deployOptions = { - data: ERC721TokenBytecode, + data: ZRC721TokenBytecode, arguments: [], }; @@ -130,36 +130,33 @@ describe('contract', () => { ).toBe(toUpperCaseHex(toAccount.address)); }); - it.each(['0x2'])( - 'should set approve for all item with local wallet %p', - async type => { - const tempAccount = await createLocalAccount(web3); - const toAccount = await createLocalAccount(web3); + it.each(['0x2'])('should set approve for all item with local wallet %p', async type => { + const tempAccount = await createLocalAccount(web3); + const toAccount = await createLocalAccount(web3); - await contractDeployed.methods.setApprovalForAll(toAccount.address, true).send({ - ...sendOptions, - type, - from: tempAccount.address, - }); + await contractDeployed.methods.setApprovalForAll(toAccount.address, true).send({ + ...sendOptions, + type, + from: tempAccount.address, + }); - expect( - await contractDeployed.methods - .isApprovedForAll(tempAccount.address, toAccount.address) - .call(), - ).toBe(true); + expect( + await contractDeployed.methods + .isApprovedForAll(tempAccount.address, toAccount.address) + .call(), + ).toBe(true); - await contractDeployed.methods.setApprovalForAll(toAccount.address, false).send({ - ...sendOptions, - type, - from: tempAccount.address, - }); + await contractDeployed.methods.setApprovalForAll(toAccount.address, false).send({ + ...sendOptions, + type, + from: tempAccount.address, + }); - expect( - await contractDeployed.methods - .isApprovedForAll(tempAccount.address, toAccount.address) - .call(), - ).toBe(false); - }, - ); + expect( + await contractDeployed.methods + .isApprovedForAll(tempAccount.address, toAccount.address) + .call(), + ).toBe(false); + }); }); }); diff --git a/packages/web3-zond-contract/test/integration/setup.js b/packages/web3-zond-contract/test/integration/setup.js index 0b1a2152..0e837f30 100644 --- a/packages/web3-zond-contract/test/integration/setup.js +++ b/packages/web3-zond-contract/test/integration/setup.js @@ -20,6 +20,6 @@ along with web3.js. If not, see . require('../config/setup'); const jestTimeout = String(process.env.WEB3_SYSTEM_TEST_PROVIDER).includes('ipc') ? 150000 : 150000; -//const jestTimeout = String(process.env.WEB3_SYSTEM_TEST_PROVIDER).includes('ipc') ? 35000 : 15000; +// const jestTimeout = String(process.env.WEB3_SYSTEM_TEST_PROVIDER).includes('ipc') ? 35000 : 15000; jest.setTimeout(jestTimeout); diff --git a/packages/web3-zond-contract/test/unit/contract.test.ts b/packages/web3-zond-contract/test/unit/contract.test.ts index cf227052..2ac82b28 100644 --- a/packages/web3-zond-contract/test/unit/contract.test.ts +++ b/packages/web3-zond-contract/test/unit/contract.test.ts @@ -16,7 +16,13 @@ along with web3.js. If not, see . */ import * as zond from '@theqrl/web3-zond'; -import { ValidChains, Hardfork, AccessListResult, Address, ZOND_DATA_FORMAT } from '@theqrl/web3-types'; +import { + ValidChains, + Hardfork, + AccessListResult, + Address, + ZOND_DATA_FORMAT, +} from '@theqrl/web3-types'; import { Web3ContractError } from '@theqrl/web3-errors'; import { Web3Context } from '@theqrl/web3-core'; @@ -25,8 +31,8 @@ import { sampleStorageContractABI } from '../fixtures/storage'; import { GreeterAbi, GreeterBytecode } from '../shared_fixtures/build/Greeter'; import { AllGetPastEventsData, getLogsData, getPastEventsData } from '../fixtures/unitTestFixtures'; import { getSystemTestProvider, isHttp, itIf } from '../fixtures/system_test_utils'; -import { erc721Abi } from '../fixtures/erc721'; -import { ERC20TokenAbi } from '../shared_fixtures/build/ERC20Token'; +import { zrc721Abi } from '../fixtures/zrc721'; +import { ZRC20TokenAbi } from '../shared_fixtures/build/ZRC20Token'; import { processAsync } from '../shared_fixtures/utils'; jest.mock('@theqrl/web3-zond'); @@ -738,13 +744,13 @@ describe('Contract', () => { { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); - contract.options.jsonInterface = ERC20TokenAbi; - expect(contract.options.jsonInterface).toMatchObject(ERC20TokenAbi); + contract.options.jsonInterface = ZRC20TokenAbi; + expect(contract.options.jsonInterface).toMatchObject(ZRC20TokenAbi); }); it('should be able to call a payable method', async () => { const contract = new Contract( - erc721Abi, + zrc721Abi, 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, @@ -769,7 +775,7 @@ describe('Contract', () => { it('should be able to call a payable method with data as a contract init option', async () => { const contract = new Contract( - erc721Abi, + zrc721Abi, 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123', dataInputFill: 'data' }, { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, @@ -794,7 +800,7 @@ describe('Contract', () => { it('should be able to call a payable method with input as a contract init option', async () => { const contract = new Contract( - erc721Abi, + zrc721Abi, 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123', dataInputFill: 'input' }, { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, @@ -827,7 +833,7 @@ describe('Contract', () => { }, }); const contract = new Contract( - erc721Abi, + zrc721Abi, 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, web3Context, @@ -860,7 +866,7 @@ describe('Contract', () => { }, }); const contract = new Contract( - erc721Abi, + zrc721Abi, 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, web3Context, @@ -899,7 +905,7 @@ describe('Contract', () => { const spyGetLogs = jest .spyOn(zond, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toStrictEqual(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toStrictEqual(getLogsData.request.fromBlock); expect(_params.toBlock).toStrictEqual(getLogsData.request.toBlock); expect(_params.topics).toStrictEqual(getLogsData.request.topics); @@ -940,7 +946,7 @@ describe('Contract', () => { const spyGetLogs = jest .spyOn(zond, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toStrictEqual(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toStrictEqual(getLogsData.request.fromBlock); expect(_params.toBlock).toStrictEqual(getLogsData.request.toBlock); @@ -981,7 +987,7 @@ describe('Contract', () => { const spyGetLogs = jest .spyOn(zond, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toStrictEqual(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toBeUndefined(); expect(_params.toBlock).toBeUndefined(); expect(_params.topics).toBeUndefined(); @@ -1017,7 +1023,7 @@ describe('Contract', () => { const spyGetLogs = jest .spyOn(zond, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toStrictEqual(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toBeUndefined(); expect(_params.toBlock).toBeUndefined(); expect(_params.topics).toBeUndefined(); @@ -1084,7 +1090,7 @@ describe('Contract', () => { const spyGetLogs = jest .spyOn(zond, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toStrictEqual(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toBeUndefined(); expect(_params.toBlock).toBeUndefined(); @@ -1166,7 +1172,7 @@ describe('Contract', () => { const result = deploy.encodeABI(); expect(result).toBe( - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); spyTx.mockClear(); @@ -1189,7 +1195,7 @@ describe('Contract', () => { expect(_tx.to).toBeUndefined(); expect(_tx.from).toStrictEqual(sendOptions.from); expect(_tx.input).toBe( - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); expect(returnFormat).toBe(ZOND_DATA_FORMAT); @@ -1226,7 +1232,7 @@ describe('Contract', () => { expect(_tx.to).toBeUndefined(); expect(_tx.from).toStrictEqual(sendOptions.from); expect(_tx.data).toBe( - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); expect(returnFormat).toBe(ZOND_DATA_FORMAT); @@ -1269,10 +1275,10 @@ describe('Contract', () => { expect(_tx.to).toBeUndefined(); expect(_tx.from).toStrictEqual(sendOptions.from); expect(_tx.data).toBe( - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); expect(_tx.input).toBe( - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); expect(returnFormat).toBe(ZOND_DATA_FORMAT); @@ -1314,7 +1320,7 @@ describe('Contract', () => { expect(_tx.to).toBeUndefined(); expect(_tx.from).toStrictEqual(sendOptions.from); expect(_tx.data).toBe( - '0x60806040523480156200001157600080fd5b5060405162000ed038038062000ed08339818101604052810190620000379190620001ea565b806001908162000048919062000486565b5060008081905550506200056d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000c08262000075565b810181811067ffffffffffffffff82111715620000e257620000e162000086565b5b80604052505050565b6000620000f762000057565b9050620001058282620000b5565b919050565b600067ffffffffffffffff82111562000128576200012762000086565b5b620001338262000075565b9050602081019050919050565b60005b838110156200016057808201518184015260208101905062000143565b60008484015250505050565b6000620001836200017d846200010a565b620000eb565b905082815260208101848484011115620001a257620001a162000070565b5b620001af84828562000140565b509392505050565b600082601f830112620001cf57620001ce6200006b565b5b8151620001e18482602086016200016c565b91505092915050565b60006020828403121562000203576200020262000061565b5b600082015167ffffffffffffffff81111562000224576200022362000066565b5b6200023284828501620001b7565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028e57607f821691505b602082108103620002a457620002a362000246565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200030e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002cf565b6200031a8683620002cf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000367620003616200035b8462000332565b6200033c565b62000332565b9050919050565b6000819050919050565b620003838362000346565b6200039b62000392826200036e565b848454620002dc565b825550505050565b600090565b620003b2620003a3565b620003bf81848462000378565b505050565b5b81811015620003e757620003db600082620003a8565b600181019050620003c5565b5050565b601f82111562000436576200040081620002aa565b6200040b84620002bf565b810160208510156200041b578190505b620004336200042a85620002bf565b830182620003c4565b50505b505050565b600082821c905092915050565b60006200045b600019846008026200043b565b1980831691505092915050565b600062000476838362000448565b9150826002028217905092915050565b62000491826200023b565b67ffffffffffffffff811115620004ad57620004ac62000086565b5b620004b9825462000275565b620004c6828285620003eb565b600060209050601f831160018114620004fe5760008415620004e9578287015190505b620004f5858262000468565b86555062000565565b601f1984166200050e86620002aa565b60005b82811015620005385784890151825560018201915060208501945060208101905062000511565b8683101562000558578489015162000554601f89168262000448565b8355505b6001600288020188555050505b505050505050565b610953806200057d6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610077578063d09de08a14610095575b600080fd5b610060600480360381019061005b91906103c0565b61009f565b60405161006e9291906104a3565b60405180910390f35b61007f6101bd565b60405161008c91906104d3565b60405180910390f35b61009d61024f565b005b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d59291906105ee565b60405180910390a182600190816100ec91906107c6565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600160405161011d9190610898565b60405180910390a160018080805461013490610524565b80601f016020809104026020016040519081016040528092919081815260200182805461016090610524565b80156101ad5780601f10610182576101008083540402835291602001916101ad565b820191906000526020600020905b81548152906001019060200180831161019057829003601f168201915b5050505050905091509150915091565b6060600180546101cc90610524565b80601f01602080910402602001604051908101604052809291908181526020018280546101f890610524565b80156102455780601f1061021a57610100808354040283529160200191610245565b820191906000526020600020905b81548152906001019060200180831161022857829003601f168201915b5050505050905090565b600160005461025e91906108e9565b600081905550565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102cd82610284565b810181811067ffffffffffffffff821117156102ec576102eb610295565b5b80604052505050565b60006102ff610266565b905061030b82826102c4565b919050565b600067ffffffffffffffff82111561032b5761032a610295565b5b61033482610284565b9050602081019050919050565b82818337600083830152505050565b600061036361035e84610310565b6102f5565b90508281526020810184848401111561037f5761037e61027f565b5b61038a848285610341565b509392505050565b600082601f8301126103a7576103a661027a565b5b81356103b7848260208601610350565b91505092915050565b6000602082840312156103d6576103d5610270565b5b600082013567ffffffffffffffff8111156103f4576103f3610275565b5b61040084828501610392565b91505092915050565b60008115159050919050565b61041e81610409565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561045e578082015181840152602081019050610443565b60008484015250505050565b600061047582610424565b61047f818561042f565b935061048f818560208601610440565b61049881610284565b840191505092915050565b60006040820190506104b86000830185610415565b81810360208301526104ca818461046a565b90509392505050565b600060208201905081810360008301526104ed818461046a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053c57607f821691505b60208210810361054f5761054e6104f5565b5b50919050565b60008190508160005260206000209050919050565b6000815461057781610524565b610581818661042f565b9450600182166000811461059c57600181146105b2576105e5565b60ff1983168652811515602002860193506105e5565b6105bb85610555565b60005b838110156105dd578154818901526001820191506020810190506105be565b808801955050505b50505092915050565b60006040820190508181036000830152610608818561056a565b9050818103602083015261061c818461046a565b90509392505050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026106727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610635565b61067c8683610635565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106c36106be6106b984610694565b61069e565b610694565b9050919050565b6000819050919050565b6106dd836106a8565b6106f16106e9826106ca565b848454610642565b825550505050565b600090565b6107066106f9565b6107118184846106d4565b505050565b5b818110156107355761072a6000826106fe565b600181019050610717565b5050565b601f82111561077a5761074b81610555565b61075484610625565b81016020851015610763578190505b61077761076f85610625565b830182610716565b50505b505050565b600082821c905092915050565b600061079d6000198460080261077f565b1980831691505092915050565b60006107b6838361078c565b9150826002028217905092915050565b6107cf82610424565b67ffffffffffffffff8111156107e8576107e7610295565b5b6107f28254610524565b6107fd828285610739565b600060209050601f831160018114610830576000841561081e578287015190505b61082885826107aa565b865550610890565b601f19841661083e86610555565b60005b8281101561086657848901518255600182019150602085019450602081019050610841565b86831015610883578489015161087f601f89168261078c565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526108b2818461056a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108f482610694565b91506108ff83610694565b9250828201905080821115610917576109166108ba565b5b9291505056fea26469706673582212207e5ba44159ffb37af8e8a9e7c5b6fb5ce81ea195b62ae3ac36288f2cf72c18a764736f6c634300081000330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', + '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); expect(returnFormat).toBe(ZOND_DATA_FORMAT); diff --git a/packages/web3-zond-contract/test/unit/contract_typing.test.ts b/packages/web3-zond-contract/test/unit/contract_typing.test.ts index 5e1b82d8..84d5e710 100644 --- a/packages/web3-zond-contract/test/unit/contract_typing.test.ts +++ b/packages/web3-zond-contract/test/unit/contract_typing.test.ts @@ -20,8 +20,8 @@ along with web3.js. If not, see . import { expectTypeOf, typecheck } from '@humeris/espresso-shot'; import { Numbers } from '@theqrl/web3-types'; import { Contract } from '../../src/contract'; -import { erc20Abi, Erc20Interface } from '../fixtures/erc20'; -import { erc721Abi, Erc721Interface } from '../fixtures/erc721'; +import { zrc20Abi, Zrc20Interface } from '../fixtures/zrc20'; +import { zrc721Abi, Zrc721Interface } from '../fixtures/zrc721'; import { NonPayableMethodObject, PayableMethodObject } from '../../src'; describe('contract typing', () => { @@ -59,44 +59,44 @@ describe('contract typing', () => { >(), ); }); - describe('erc20', () => { - const contract = new Contract(erc20Abi); + describe('zrc20', () => { + const contract = new Contract(zrc20Abi); typecheck('should contain all methods', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); typecheck('should have interface compliance methods', () => - expectTypeOf(contract.methods).toExtend(), + expectTypeOf(contract.methods).toExtend(), ); typecheck('should have all events', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); typecheck('should have interface compliance events', () => - expectTypeOf(contract.events).toExtend(), + expectTypeOf(contract.events).toExtend(), ); }); - describe('erc721', () => { - const contract = new Contract(erc721Abi); + describe('zrc721', () => { + const contract = new Contract(zrc721Abi); typecheck('should contain all methods', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); // TODO: It's not matching types for `safeTransferFrom` because of overloaded method // typecheck('should have interface compliance methods', () => - // expectTypeOf(contract.methods).toExtend(), + // expectTypeOf(contract.methods).toExtend(), // ); typecheck('should have all events', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); typecheck('should have interface compliance events', () => - expectTypeOf(contract.events).toExtend(), + expectTypeOf(contract.events).toExtend(), ); }); }); diff --git a/packages/web3-zond-iban/CHANGELOG.md b/packages/web3-zond-iban/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-zond-iban/CHANGELOG.md +++ b/packages/web3-zond-iban/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-zond-iban/src/iban.ts b/packages/web3-zond-iban/src/iban.ts index 53d76978..e0d98920 100644 --- a/packages/web3-zond-iban/src/iban.ts +++ b/packages/web3-zond-iban/src/iban.ts @@ -16,7 +16,13 @@ along with web3.js. If not, see . */ import { HexString } from '@theqrl/web3-types'; -import { toChecksumAddress, leftPad, toNumber, hexToAddress, addressToHex } from '@theqrl/web3-utils'; +import { + toChecksumAddress, + leftPad, + toNumber, + hexToAddress, + addressToHex, +} from '@theqrl/web3-utils'; import { isAddressString } from '@theqrl/web3-validator'; import { InvalidAddressError } from '@theqrl/web3-errors'; import { IbanOptions } from './types.js'; @@ -252,9 +258,9 @@ export class Iban { } /** - * This method should be used to create iban object from an Zond address. + * This method should be used to create iban object from a Zond address. * - * @param address - an Zond address + * @param address - a Zond address * @returns an Iban class instance that holds the equivalent IBAN * * @example @@ -275,7 +281,7 @@ export class Iban { } /** - * This method should be used to create an zond address from a Direct IBAN address. + * This method should be used to create a zond address from a Direct IBAN address. * If the provided string was not a direct IBAN (has the length of 34 or 35), an Error will be thrown: * ('Iban is indirect and cannot be converted. Must be length of 34 or 35'). * Note: this is also available as a method at an Iban instance. @@ -321,9 +327,9 @@ export class Iban { }; /** - * This method should be used to create IBAN address from an Zond address + * This method should be used to create IBAN address from a Zond address * - * @param address - an Zond address + * @param address - a Zond address * @return the equivalent IBAN address * * @example diff --git a/packages/web3-zond-ens/.eslintignore b/packages/web3-zond-zns/.eslintignore similarity index 100% rename from packages/web3-zond-ens/.eslintignore rename to packages/web3-zond-zns/.eslintignore diff --git a/packages/web3-zond-ens/.eslintrc.js b/packages/web3-zond-zns/.eslintrc.js similarity index 100% rename from packages/web3-zond-ens/.eslintrc.js rename to packages/web3-zond-zns/.eslintrc.js diff --git a/packages/web3-zond-ens/.gitignore b/packages/web3-zond-zns/.gitignore similarity index 100% rename from packages/web3-zond-ens/.gitignore rename to packages/web3-zond-zns/.gitignore diff --git a/packages/web3-zond-ens/.npmignore b/packages/web3-zond-zns/.npmignore similarity index 100% rename from packages/web3-zond-ens/.npmignore rename to packages/web3-zond-zns/.npmignore diff --git a/packages/web3-zond-ens/.prettierignore b/packages/web3-zond-zns/.prettierignore similarity index 100% rename from packages/web3-zond-ens/.prettierignore rename to packages/web3-zond-zns/.prettierignore diff --git a/packages/web3-zond-ens/.prettierrc.json b/packages/web3-zond-zns/.prettierrc.json similarity index 100% rename from packages/web3-zond-ens/.prettierrc.json rename to packages/web3-zond-zns/.prettierrc.json diff --git a/packages/web3-zond-ens/CHANGELOG.md b/packages/web3-zond-zns/CHANGELOG.md similarity index 99% rename from packages/web3-zond-ens/CHANGELOG.md rename to packages/web3-zond-zns/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-zond-ens/CHANGELOG.md +++ b/packages/web3-zond-zns/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-zond-ens/README.md b/packages/web3-zond-zns/README.md similarity index 77% rename from packages/web3-zond-ens/README.md rename to packages/web3-zond-zns/README.md index 51f68dad..ba871f02 100644 --- a/packages/web3-zond-ens/README.md +++ b/packages/web3-zond-zns/README.md @@ -2,7 +2,7 @@ web3.js

-# web3.js - ENS +# web3.js - ZNS ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-14.x-green) @@ -11,22 +11,22 @@ This is a sub-package of [web3.js][repo]. -`web3-zond-ens` This package has ENS functions for interacting with Ethereum Name Service. +`web3-zond-zns` This package has ZNS functions for interacting with Zond Name Service. ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/web3-eth-ens) or using [Yarn](https://yarnpkg.com/package/web3-eth-ens) +You can install the package either using [NPM](https://www.npmjs.com/package/web3-zond-zns) or using [Yarn](https://yarnpkg.com/package/web3-zond-zns) ### Using NPM ```bash -npm install web3-zond-ens +npm install web3-zond-zns ``` ### Using Yarn ```bash -yarn add web3-zond-ens +yarn add web3-zond-zns ``` ## Getting Started @@ -53,7 +53,7 @@ yarn add web3-zond-ens | test:unit | Uses `jest` to run tests under `/test/unit` | [docs]: https://docs.web3js.org/ -[repo]: https://github.com/web3/web3.js/tree/4.x/packages/web3-eth-ens -[npm-image]: https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-ens%2Fpackage.json -[npm-url]: https://npmjs.org/package/web3-eth-ens -[downloads-image]: https://img.shields.io/npm/dm/web3-eth-ens?label=npm%20downloads +[repo]: https://github.com/web3/web3.js/tree/4.x/packages/web3-zond-zns +[npm-image]: https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-zond-zns%2Fpackage.json +[npm-url]: https://npmjs.org/package/web3-zond-zns +[downloads-image]: https://img.shields.io/npm/dm/web3-zond-zns?label=npm%20downloads diff --git a/packages/web3-zond-ens/assets/logo/web3js.ai b/packages/web3-zond-zns/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond-ens/assets/logo/web3js.ai rename to packages/web3-zond-zns/assets/logo/web3js.ai diff --git a/packages/web3-zond-ens/assets/logo/web3js.jpg b/packages/web3-zond-zns/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-ens/assets/logo/web3js.jpg rename to packages/web3-zond-zns/assets/logo/web3js.jpg diff --git a/packages/web3-zond-ens/assets/logo/web3js.svg b/packages/web3-zond-zns/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond-ens/assets/logo/web3js.svg rename to packages/web3-zond-zns/assets/logo/web3js.svg diff --git a/packages/web3-zond-ens/package.json b/packages/web3-zond-zns/package.json similarity index 82% rename from packages/web3-zond-ens/package.json rename to packages/web3-zond-zns/package.json index 5301f510..f47fc110 100644 --- a/packages/web3-zond-ens/package.json +++ b/packages/web3-zond-zns/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond-ens", + "name": "@theqrl/web3-zond-zns", "version": "0.3.0", "publishConfig": { "access": "public" }, - "description": "This package has ENS functions for interacting with Ethereum Name Service.", + "description": "This package has ZNS functions for interacting with Zond Name Service.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -42,9 +42,7 @@ "test:ci": "jest --coverage=true --coverage-reporters=json --verbose", "test:watch": "npm test -- --watch", "test:unit": "jest --config=./test/unit/jest.config.js", - "test:integration": "jest --config=./test/integration/jest.config.js", - "ens:download:registry": "curl -L -o test/fixtures/ens/registry.json 'https://api.etherscan.io/api?module=contract&action=getabi&address=0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'", - "ens:download:reverse_registrar": "curl -L -o test/fixtures/ens/reverse_registrar.json 'https://api.etherscan.io/api?module=contract&action=getabi&address=0x084b1c3c81545d370f3634392de611caabff8148'" + "test:integration": "jest --config=./test/integration/jest.config.js" }, "devDependencies": { "@theqrl/eslint-config-base-web3": "^0.3.0", diff --git a/packages/web3-zond-ens/src/abi/ens/PublicResolver.ts b/packages/web3-zond-zns/src/abi/zns/PublicResolver.ts similarity index 100% rename from packages/web3-zond-ens/src/abi/ens/PublicResolver.ts rename to packages/web3-zond-zns/src/abi/zns/PublicResolver.ts diff --git a/packages/web3-zond-ens/src/abi/ens/ENSRegistry.ts b/packages/web3-zond-zns/src/abi/zns/ZNSRegistry.ts similarity index 98% rename from packages/web3-zond-ens/src/abi/ens/ENSRegistry.ts rename to packages/web3-zond-zns/src/abi/zns/ZNSRegistry.ts index bcac4c53..d8f2398d 100644 --- a/packages/web3-zond-ens/src/abi/ens/ENSRegistry.ts +++ b/packages/web3-zond-zns/src/abi/zns/ZNSRegistry.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ENSRegistry.sol -export const ENSRegistryAbi = [ +// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ZNSRegistry.sol +export const ZNSRegistryAbi = [ { anonymous: false, inputs: [ diff --git a/packages/web3-zond-ens/src/config.ts b/packages/web3-zond-zns/src/config.ts similarity index 88% rename from packages/web3-zond-ens/src/config.ts rename to packages/web3-zond-zns/src/config.ts index b702d417..7cd5d89c 100644 --- a/packages/web3-zond-ens/src/config.ts +++ b/packages/web3-zond-zns/src/config.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . // /** - * An object holding the interface Ids of the ENS resolver contracts. Please see [how to write a resolver](https://docs.ens.domains/contract-developer-guide/writing-a-resolver). + * An object holding the interface Ids of the ZNS resolver contracts. Please see [how to write a resolver](https://docs.ens.domains/contract-developer-guide/writing-a-resolver). */ export const interfaceIds: { [T: string]: string } = { addr: '0x3b3b57de', @@ -29,7 +29,7 @@ export const interfaceIds: { [T: string]: string } = { }; /** - * An object holding the functionsthat are supported by the ENS resolver contracts/interfaces. + * An object holding the functionsthat are supported by the ZNS resolver contracts/interfaces. */ export const methodsInInterface: { [T: string]: string } = { setAddr: 'addr', @@ -41,7 +41,7 @@ export const methodsInInterface: { [T: string]: string } = { }; /** - * An object holding the addressed of the ENS registries on the different networks (mainnet). + * An object holding the addressed of the ZNS registries on the different networks (mainnet). */ // TODO(youtrack/theqrl/web3.js/1) export const registryAddresses: { [T: string]: string } = { diff --git a/packages/web3-zond-ens/src/index.ts b/packages/web3-zond-zns/src/index.ts similarity index 85% rename from packages/web3-zond-ens/src/index.ts rename to packages/web3-zond-zns/src/index.ts index cf3b9780..da1cdf4e 100644 --- a/packages/web3-zond-ens/src/index.ts +++ b/packages/web3-zond-zns/src/index.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /** - * The `web3.zond.ens` functions let you interact with ENS. We recommend reading the [ENS documentation](https://docs.ens.domains/) to get deeper insights about the internals of the name service. + * The `web3.zond.zns` functions let you interact with ZNS. We recommend reading the [ZNS documentation](https://docs.ens.domains/) to get deeper insights about the internals of the name service. * */ /** @@ -24,5 +24,5 @@ along with web3.js. If not, see . */ import { registryAddresses } from './config.js'; -export * from './ens.js'; +export * from './zns.js'; export { registryAddresses }; diff --git a/packages/web3-zond-ens/src/registry.ts b/packages/web3-zond-zns/src/registry.ts similarity index 90% rename from packages/web3-zond-ens/src/registry.ts rename to packages/web3-zond-zns/src/registry.ts index 7a98eee0..ecfa77fc 100644 --- a/packages/web3-zond-ens/src/registry.ts +++ b/packages/web3-zond-zns/src/registry.ts @@ -18,18 +18,18 @@ along with web3.js. If not, see . import { Web3ContextObject } from '@theqrl/web3-core'; import { Contract } from '@theqrl/web3-zond-contract'; import { Address } from '@theqrl/web3-types'; -import { ENSRegistryAbi } from './abi/ens/ENSRegistry.js'; -import { PublicResolverAbi } from './abi/ens/PublicResolver.js'; +import { ZNSRegistryAbi } from './abi/zns/ZNSRegistry.js'; +import { PublicResolverAbi } from './abi/zns/PublicResolver.js'; import { registryAddresses } from './config.js'; import { namehash } from './utils.js'; export class Registry { - private readonly contract: Contract; + private readonly contract: Contract; private readonly context: Web3ContextObject; public constructor(context: Web3ContextObject, customRegistryAddress?: Address) { this.contract = new Contract( - ENSRegistryAbi, + ZNSRegistryAbi, customRegistryAddress ?? registryAddresses.main, context, ); @@ -74,7 +74,7 @@ export class Registry { // address type is unknown, not sure why if (typeof address === 'string') { const contract = new Contract(PublicResolverAbi, address, this.context); - // TODO: set contract provider needs to be added when ens current provider + // TODO: set contract provider needs to be added when zns current provider return contract; } throw new Error(); diff --git a/packages/web3-zond-ens/src/resolver.ts b/packages/web3-zond-zns/src/resolver.ts similarity index 81% rename from packages/web3-zond-ens/src/resolver.ts rename to packages/web3-zond-zns/src/resolver.ts index e69ac58a..718109c1 100644 --- a/packages/web3-zond-ens/src/resolver.ts +++ b/packages/web3-zond-zns/src/resolver.ts @@ -19,7 +19,7 @@ import { ResolverMethodMissingError } from '@theqrl/web3-errors'; import { Contract } from '@theqrl/web3-zond-contract'; import { isNullish, sha3 } from '@theqrl/web3-utils'; import { isHexStrict } from '@theqrl/web3-validator'; -import { PublicResolverAbi } from './abi/ens/PublicResolver.js'; +import { PublicResolverAbi } from './abi/zns/PublicResolver.js'; import { interfaceIds, methodsInInterface } from './config.js'; import { Registry } from './registry.js'; import { namehash } from './utils.js'; @@ -34,9 +34,9 @@ export class Resolver { this.registry = registry; } - private async getResolverContractAdapter(ENSName: string) { - // TODO : (Future 4.1.0 TDB) cache resolver contract if frequently queried same ENS name, refresh cache based on TTL and usage, also limit cache size, optional cache with a flag - return this.registry.getResolver(ENSName); + private async getResolverContractAdapter(ZNSName: string) { + // TODO : (Future 4.1.0 TDB) cache resolver contract if frequently queried same ZNS name, refresh cache based on TTL and usage, also limit cache size, optional cache with a flag + return this.registry.getResolver(ZNSName); } // https://eips.ethereum.org/EIPS/eip-165 @@ -62,8 +62,8 @@ export class Resolver { ); } - public async supportsInterface(ENSName: string, interfaceId: string) { - const resolverContract = await this.getResolverContractAdapter(ENSName); + public async supportsInterface(ZNSName: string, interfaceId: string) { + const resolverContract = await this.getResolverContractAdapter(ZNSName); let interfaceIdParam = interfaceId; @@ -79,27 +79,27 @@ export class Resolver { } // eslint-disable-next-line @typescript-eslint/no-inferrable-types - public async getAddress(ENSName: string, coinType: number = 60) { - const resolverContract = await this.getResolverContractAdapter(ENSName); + public async getAddress(ZNSName: string, coinType: number = 60) { + const resolverContract = await this.getResolverContractAdapter(ZNSName); await this.checkInterfaceSupport(resolverContract, methodsInInterface.addr); - return resolverContract.methods.addr(namehash(ENSName), coinType).call(); + return resolverContract.methods.addr(namehash(ZNSName), coinType).call(); } - public async getPubkey(ENSName: string) { - const resolverContract = await this.getResolverContractAdapter(ENSName); + public async getPubkey(ZNSName: string) { + const resolverContract = await this.getResolverContractAdapter(ZNSName); await this.checkInterfaceSupport(resolverContract, methodsInInterface.pubkey); - return resolverContract.methods.pubkey(namehash(ENSName)).call(); + return resolverContract.methods.pubkey(namehash(ZNSName)).call(); } - public async getContenthash(ENSName: string) { - const resolverContract = await this.getResolverContractAdapter(ENSName); + public async getContenthash(ZNSName: string) { + const resolverContract = await this.getResolverContractAdapter(ZNSName); await this.checkInterfaceSupport(resolverContract, methodsInInterface.contenthash); - return resolverContract.methods.contenthash(namehash(ENSName)).call(); + return resolverContract.methods.contenthash(namehash(ZNSName)).call(); } } diff --git a/packages/web3-zond-ens/src/utils.ts b/packages/web3-zond-zns/src/utils.ts similarity index 100% rename from packages/web3-zond-ens/src/utils.ts rename to packages/web3-zond-zns/src/utils.ts diff --git a/packages/web3-zond-ens/src/ens.ts b/packages/web3-zond-zns/src/zns.ts similarity index 68% rename from packages/web3-zond-ens/src/ens.ts rename to packages/web3-zond-zns/src/zns.ts index e30f1d08..74b6e6b2 100644 --- a/packages/web3-zond-ens/src/ens.ts +++ b/packages/web3-zond-zns/src/zns.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; -import { ENSNetworkNotSyncedError, ENSUnsupportedNetworkError } from '@theqrl/web3-errors'; +import { ZNSNetworkNotSyncedError, ZNSUnsupportedNetworkError } from '@theqrl/web3-errors'; import { isSyncing } from '@theqrl/web3-zond'; import { Contract } from '@theqrl/web3-zond-contract'; import { getId } from '@theqrl/web3-net'; @@ -27,16 +27,16 @@ import { SupportedProviders, Web3NetAPI, } from '@theqrl/web3-types'; -import { PublicResolverAbi } from './abi/ens/PublicResolver.js'; +import { PublicResolverAbi } from './abi/zns/PublicResolver.js'; import { networkIds, registryAddresses } from './config.js'; import { Registry } from './registry.js'; import { Resolver } from './resolver.js'; /** - * This class is designed to interact with the ENS system on the Zond blockchain. + * This class is designed to interact with the ZNS system on the Zond blockchain. * */ -export class ENS extends Web3Context { +export class ZNS extends Web3Context { /** * The registryAddress property can be used to define a custom registry address when you are connected to an unknown chain. It defaults to the main registry address. */ @@ -47,17 +47,17 @@ export class ENS extends Web3Context { private _lastSyncCheck?: number; /** - * Use to create an instance of ENS - * @param registryAddr - (Optional) The address of the ENS registry (default: mainnet registry address) - * @param provider - (Optional) The provider to use for the ENS instance + * Use to create an instance of ZNS + * @param registryAddr - (Optional) The address of the ZNS registry (default: mainnet registry address) + * @param provider - (Optional) The provider to use for the ZNS instance * @example * ```ts - * const ens = new ENS( + * const zns = new ZNS( * "Z00000000000C2E074eC69A0dFb2997BA6C7d2e1e", * "http://localhost:8545" * ); * - * console.log( ens.defaultChain); + * console.log( zns.defaultChain); * > mainnet * ``` */ @@ -76,12 +76,12 @@ export class ENS extends Web3Context { /** * Returns the Resolver by the given address - * @param name - The name of the ENS domain + * @param name - The name of the ZNS domain * @returns - An contract instance of the resolver * * @example * ```ts - * const resolver = await ens.getResolver('resolver'); + * const resolver = await zns.getResolver('resolver'); * * console.log(resolver.options.address); * > 'Z1234567890123456789012345678901234567890' @@ -93,11 +93,11 @@ export class ENS extends Web3Context { /** * Returns true if the record exists - * @param name - The ENS name - * @returns - Returns `true` if node exists in this ENS registry. This will return `false` for records that are in the legacy ENS registry but have not yet been migrated to the new one. + * @param name - The ZNS name + * @returns - Returns `true` if node exists in this ZNS registry. This will return `false` for records that are in the legacy ZNS registry but have not yet been migrated to the new one. * @example * ```ts - * const exists = await web3.zond.ens.recordExists('zond.ens'); + * const exists = await web3.zond.zns.recordExists('zond.zns'); * ``` */ public async recordExists(name: string): Promise { @@ -105,12 +105,12 @@ export class ENS extends Web3Context { } /** - * Returns the caching TTL (time-to-live) of an ENS name. - * @param name - The ENS name + * Returns the caching TTL (time-to-live) of a ZNS name. + * @param name - The ZNS name * @returns - Returns the caching TTL (time-to-live) of a name. * @example * ```ts - * const owner = await web3.zond.ens.getTTL('zond.ens'); + * const owner = await web3.zond.zns.getTTL('zond.zns'); * ``` */ public async getTTL(name: string): Promise { @@ -119,11 +119,11 @@ export class ENS extends Web3Context { /** * Returns the owner by the given name and current configured or detected Registry - * @param name - The ENS name + * @param name - The ZNS name * @returns - Returns the address of the owner of the name. * @example * ```ts - * const owner = await web3.zond.ens.getOwner('zond.ens'); + * const owner = await web3.zond.zns.getOwner('zond.zns'); * ``` */ public async getOwner(name: string): Promise { @@ -131,27 +131,27 @@ export class ENS extends Web3Context { } /** - * Resolves an ENS name to an Zond address. - * @param ENSName - The ENS name to resolve - * @param coinType - (Optional) The coin type, defaults to 60 (ETH) + * Resolves a ZNS name to a Zond address. + * @param ZNSName - The ZNS name to resolve + * @param coinType - (Optional) The coin type, defaults to 60 (ZND) * @returns - The Zond address of the given name * ```ts - * const address = await web3.zond.ens.getAddress('zond.ens'); + * const address = await web3.zond.zns.getAddress('zond.zns'); * console.log(address); * > 'ZfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359' * ``` */ - public async getAddress(ENSName: string, coinType = 60) { - return this._resolver.getAddress(ENSName, coinType); + public async getAddress(ZNSName: string, coinType = 60) { + return this._resolver.getAddress(ZNSName, coinType); } /** * Returns the X and Y coordinates of the curve point for the public key. - * @param ENSName - The ENS name + * @param ZNSName - The ZNS name * @returns - The X and Y coordinates of the curve point for the public key * @example * ```ts - * const key = await web3.zond.ens.getPubkey('zond.ens'); + * const key = await web3.zond.zns.getPubkey('zond.zns'); * console.log(key); * > { * "0": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -161,32 +161,32 @@ export class ENS extends Web3Context { * } * ``` */ - public async getPubkey(ENSName: string) { - return this._resolver.getPubkey(ENSName); + public async getPubkey(ZNSName: string) { + return this._resolver.getPubkey(ZNSName); } /** - * Returns the content hash object associated with an ENS node. - * @param ENSName - The ENS name - * @returns - The content hash object associated with an ENS node + * Returns the content hash object associated with a ZNS node. + * @param ZNSName - The ZNS name + * @returns - The content hash object associated with a ZNS node * @example * ```ts - * const hash = await web3.zond.ens.getContenthash('zond.ens'); + * const hash = await web3.zond.zns.getContenthash('zond.zns'); * console.log(hash); * > 'QmaEBknbGT4bTQiQoe2VNgBJbRfygQGktnaW5TbuKixjYL' * ``` */ - public async getContenthash(ENSName: string) { - return this._resolver.getContenthash(ENSName); + public async getContenthash(ZNSName: string) { + return this._resolver.getContenthash(ZNSName); } /** - * Checks if the current used network is synced and looks for ENS support there. + * Checks if the current used network is synced and looks for ZNS support there. * Throws an error if not. - * @returns - The address of the ENS registry if the network has been detected successfully + * @returns - The address of the ZNS registry if the network has been detected successfully * @example * ```ts - * console.log(await web3.zond.ens.checkNetwork()); + * console.log(await web3.zond.zns.checkNetwork()); * > 'Z00000000000C2E074eC69A0dFb2997BA6C7d2e1e' * ``` */ @@ -196,7 +196,7 @@ export class ENS extends Web3Context { const syncInfo = await isSyncing(this); if (!(typeof syncInfo === 'boolean' && !syncInfo)) { - throw new ENSNetworkNotSyncedError(); + throw new ZNSNetworkNotSyncedError(); } this._lastSyncCheck = now; @@ -212,7 +212,7 @@ export class ENS extends Web3Context { const addr = registryAddresses[networkIds[networkType]]; if (typeof addr === 'undefined') { - throw new ENSUnsupportedNetworkError(networkType); + throw new ZNSUnsupportedNetworkError(networkType); } this._detectedAddress = addr; @@ -221,22 +221,22 @@ export class ENS extends Web3Context { /** * Returns true if the related Resolver does support the given signature or interfaceId. - * @param ENSName - The ENS name - * @param interfaceId - The signature of the function or the interfaceId as described in the ENS documentation + * @param ZNSName - The ZNS name + * @param interfaceId - The signature of the function or the interfaceId as described in the ZNS documentation * @returns - `true` if the related Resolver does support the given signature or interfaceId. * @example * ```ts - * const supports = await web3.zond.ens.supportsInterface('zond.ens', 'addr(bytes32'); + * const supports = await web3.zond.zns.supportsInterface('zond.zns', 'addr(bytes32'); * console.log(supports); * > true * ``` */ - public async supportsInterface(ENSName: string, interfaceId: string) { - return this._resolver.supportsInterface(ENSName, interfaceId); + public async supportsInterface(ZNSName: string, interfaceId: string) { + return this._resolver.supportsInterface(ZNSName, interfaceId); } /** - * @returns - Returns all events that can be emitted by the ENS registry. + * @returns - Returns all events that can be emitted by the ZNS registry. */ public get events() { return this._registry.events; diff --git a/packages/web3-zond-ens/test/.eslintrc.js b/packages/web3-zond-zns/test/.eslintrc.js similarity index 100% rename from packages/web3-zond-ens/test/.eslintrc.js rename to packages/web3-zond-zns/test/.eslintrc.js diff --git a/packages/web3-zond-ens/test/config/jest.config.js b/packages/web3-zond-zns/test/config/jest.config.js similarity index 100% rename from packages/web3-zond-ens/test/config/jest.config.js rename to packages/web3-zond-zns/test/config/jest.config.js diff --git a/packages/web3-zond-ens/test/config/setup.js b/packages/web3-zond-zns/test/config/setup.js similarity index 100% rename from packages/web3-zond-ens/test/config/setup.js rename to packages/web3-zond-zns/test/config/setup.js diff --git a/packages/web3-zond-ens/test/fixtures/accounts.json b/packages/web3-zond-zns/test/fixtures/accounts.json similarity index 100% rename from packages/web3-zond-ens/test/fixtures/accounts.json rename to packages/web3-zond-zns/test/fixtures/accounts.json diff --git a/packages/web3-zond-ens/test/fixtures/system_tests_utils.ts b/packages/web3-zond-zns/test/fixtures/system_tests_utils.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/system_tests_utils.ts rename to packages/web3-zond-zns/test/fixtures/system_tests_utils.ts diff --git a/packages/web3-zond-ens/test/fixtures/utils.ts b/packages/web3-zond-zns/test/fixtures/utils.ts similarity index 73% rename from packages/web3-zond-ens/test/fixtures/utils.ts rename to packages/web3-zond-zns/test/fixtures/utils.ts index b972253f..bdb1d262 100644 --- a/packages/web3-zond-ens/test/fixtures/utils.ts +++ b/packages/web3-zond-zns/test/fixtures/utils.ts @@ -17,15 +17,15 @@ along with web3.js. If not, see . export const namehashValidData: [string, string][] = [ ['', '0x0000000000000000000000000000000000000000000000000000000000000000'], - ['eth', '0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae'], - ['foo.eth', '0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f'], - ['FOO.eth', '0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f'], + ['znd', '0x5ca200831516f7386952dbee215dfe7e4920ece6d31d89501d03e9239082ae7a'], + ['foo.znd', '0xa5bb084f89105bd16dff5eef797279b0c91d93529934875c65e3f2948b8b5be9'], + ['FOO.znd', '0xa5bb084f89105bd16dff5eef797279b0c91d93529934875c65e3f2948b8b5be9'], ]; export const normalizeValidData: [string, string][] = [ ['Öbb.at', 'öbb.at'], ['Ⓜ', 'm'], - ['foo.eth', 'foo.eth'], - ['Foo.eth', 'foo.eth'], - ['🦚.eth', '🦚.eth'], + ['foo.znd', 'foo.znd'], + ['Foo.znd', 'foo.znd'], + ['🦚.znd', '🦚.znd'], ]; diff --git a/packages/web3-zond-ens/test/fixtures/ens/ENSRegistry.json b/packages/web3-zond-zns/test/fixtures/zns/ZNSRegistry.json similarity index 99% rename from packages/web3-zond-ens/test/fixtures/ens/ENSRegistry.json rename to packages/web3-zond-zns/test/fixtures/zns/ZNSRegistry.json index b73563f0..0120c300 100644 --- a/packages/web3-zond-ens/test/fixtures/ens/ENSRegistry.json +++ b/packages/web3-zond-zns/test/fixtures/zns/ZNSRegistry.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "ENSRegistry", - "sourceName": "contracts/registry/ENSRegistry.sol", + "contractName": "ZNSRegistry", + "sourceName": "contracts/registry/ZNSRegistry.sol", "abi": [ { "inputs": [], diff --git a/packages/web3-zond-ens/test/fixtures/ens/abi/NameWrapper.ts b/packages/web3-zond-zns/test/fixtures/zns/abi/NameWrapper.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/ens/abi/NameWrapper.ts rename to packages/web3-zond-zns/test/fixtures/zns/abi/NameWrapper.ts diff --git a/packages/web3-zond-ens/test/fixtures/ens/abi/PublicResolver.ts b/packages/web3-zond-zns/test/fixtures/zns/abi/PublicResolver.ts similarity index 99% rename from packages/web3-zond-ens/test/fixtures/ens/abi/PublicResolver.ts rename to packages/web3-zond-zns/test/fixtures/zns/abi/PublicResolver.ts index b666d4f4..a4c76151 100644 --- a/packages/web3-zond-ens/test/fixtures/ens/abi/PublicResolver.ts +++ b/packages/web3-zond-zns/test/fixtures/zns/abi/PublicResolver.ts @@ -20,8 +20,8 @@ export const PublicResolverAbi = [ { inputs: [ { - internalType: 'contract ENS', - name: '_ens', + internalType: 'contract ZNS', + name: '_zns', type: 'address', }, { diff --git a/packages/web3-zond-ens/test/fixtures/ens/abi/ENSRegistry.ts b/packages/web3-zond-zns/test/fixtures/zns/abi/ZNSRegistry.ts similarity index 99% rename from packages/web3-zond-ens/test/fixtures/ens/abi/ENSRegistry.ts rename to packages/web3-zond-zns/test/fixtures/zns/abi/ZNSRegistry.ts index 99730866..11c959c3 100644 --- a/packages/web3-zond-ens/test/fixtures/ens/abi/ENSRegistry.ts +++ b/packages/web3-zond-zns/test/fixtures/zns/abi/ZNSRegistry.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ENSRegistry.sol -export const ENSRegistryAbi = [ +// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ZNSRegistry.sol +export const ZNSRegistryAbi = [ { inputs: [], stateMutability: 'nonpayable', diff --git a/packages/web3-zond-ens/test/fixtures/ens/bytecode/NameWrapperBytecode.ts b/packages/web3-zond-zns/test/fixtures/zns/bytecode/NameWrapperBytecode.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/ens/bytecode/NameWrapperBytecode.ts rename to packages/web3-zond-zns/test/fixtures/zns/bytecode/NameWrapperBytecode.ts diff --git a/packages/web3-zond-ens/test/fixtures/ens/bytecode/PublicResolverBytecode.ts b/packages/web3-zond-zns/test/fixtures/zns/bytecode/PublicResolverBytecode.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/ens/bytecode/PublicResolverBytecode.ts rename to packages/web3-zond-zns/test/fixtures/zns/bytecode/PublicResolverBytecode.ts diff --git a/packages/web3-zond-ens/test/fixtures/ens/bytecode/ENSRegistryBytecode.ts b/packages/web3-zond-zns/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts similarity index 99% rename from packages/web3-zond-ens/test/fixtures/ens/bytecode/ENSRegistryBytecode.ts rename to packages/web3-zond-zns/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts index 2fdf02f8..c16a97d2 100644 --- a/packages/web3-zond-ens/test/fixtures/ens/bytecode/ENSRegistryBytecode.ts +++ b/packages/web3-zond-zns/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts @@ -16,5 +16,5 @@ along with web3.js. If not, see . */ // https://github.com/ensdomains/ens-contracts/blob/master/contracts/resolvers/PublicResolver.sol -export const ENSRegistryBytecode = +export const ZNSRegistryBytecode = '0x608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb580546001600160a01b0319163317905561192c806100596000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80635b0fc9c31161008c578063a22cb46511610066578063a22cb46514610247578063cf4088231461025a578063e985e9c51461026d578063f79fe538146102c657600080fd5b80635b0fc9c3146102015780635ef2c7f0146102145780639201de551461022757600080fd5b806314ab9038116100bd57806314ab90381461017b57806316a25cbd146101905780631896f70a146101ee57600080fd5b80630178b8bf146100e457806302571be31461014757806306ab59231461015a575b600080fd5b61011d6100f2366004611258565b60009081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d610155366004611258565b6102fe565b61016d610168366004611295565b610339565b60405190815260200161013e565b61018e6101893660046112e2565b6105c3565b005b6101d561019e366004611258565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff909116815260200161013e565b61018e6101fc36600461130e565b610817565b61018e61020f36600461130e565b610a6a565b61018e610222366004611331565b610cb7565b61023a610235366004611258565b610cd9565b60405161013e91906113b4565b61018e6102553660046113e7565b610e58565b61018e610268366004611423565b610eef565b6102b661027b366004611470565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b604051901515815260200161013e565b6102b66102d4366004611258565b60009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff163081036103335750600092915050565b92915050565b600083815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff163381148061039e575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b6103a782610f0a565b6040516020016103b7919061149a565b60408051601f19818403018152908290526103d4916020016114df565b6040516020818303038152906040526103ec33610f0a565b6040516020016103fd929190611520565b60408051601f198184030181529082905261041a9160200161154f565b60408051601f19818403018152908290526104379160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546104909073ffffffffffffffffffffffffffffffffffffffff16610f0a565b6040516020016104a1929190611520565b604051602081830303815290604052906104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b60405180910390fd5b50604080516020810188905290810186905260009060600160408051601f198184030181529181528151602092830120600081815292839052912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816179055905060405173ffffffffffffffffffffffffffffffffffffffff86168152869088907fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829060200160405180910390a39695505050505050565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633811480610628575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b61063182610f0a565b604051602001610641919061149a565b60408051601f198184030181529082905261065e916020016114df565b60405160208183030381529060405261067633610f0a565b604051602001610687929190611520565b60408051601f19818403018152908290526106a49160200161154f565b60408051601f19818403018152908290526106c19160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461071a9073ffffffffffffffffffffffffffffffffffffffff16610f0a565b60405160200161072b929190611520565b60405160208183030381529060405290610772576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b5060405167ffffffffffffffff8416815284907f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa689060200160405180910390a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148061087c575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b61088582610f0a565b604051602001610895919061149a565b60408051601f19818403018152908290526108b2916020016114df565b6040516020818303038152906040526108ca33610f0a565b6040516020016108db929190611520565b60408051601f19818403018152908290526108f89160200161154f565b60408051601f19818403018152908290526109159160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461096e9073ffffffffffffffffffffffffffffffffffffffff16610f0a565b60405160200161097f929190611520565b604051602081830303815290604052906109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b5060405173ffffffffffffffffffffffffffffffffffffffff8416815284907f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a09060200160405180910390a2505060009182526020829052604090912060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633811480610acf575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b610ad882610f0a565b604051602001610ae8919061149a565b60408051601f1981840301815290829052610b05916020016114df565b604051602081830303815290604052610b1d33610f0a565b604051602001610b2e929190611520565b60408051601f1981840301815290829052610b4b9160200161154f565b60408051601f1981840301815290829052610b689160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb554610bc19073ffffffffffffffffffffffffffffffffffffffff16610f0a565b604051602001610bd2929190611520565b60405160208183030381529060405290610c19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b50600084815260208190526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905560405173ffffffffffffffffffffffffffffffffffffffff8416815284907fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d2669060200160405180910390a250505050565b6000610cc4868686610339565b9050610cd181848461108e565b505050505050565b606060005b60208160ff16108015610d2a5750828160ff1660208110610d0157610d016115ac565b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b15610d415780610d398161160a565b915050610cde565b60008160ff1667ffffffffffffffff811115610d5f57610d5f611629565b6040519080825280601f01601f191660200182016040528015610d89576020820181803683370190505b509050600091505b60208260ff16108015610ddd5750838260ff1660208110610db457610db46115ac565b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b15610e5157838260ff1660208110610df757610df76115ac565b1a60f81b818360ff1681518110610e1057610e106115ac565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535081610e498161160a565b925050610d91565b9392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ef98484610a6a565b610f0484838361108e565b50505050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b6014811015611087576000610f47826013611658565b610f5290600861166f565b610f5d9060026117cc565b610f7d9073ffffffffffffffffffffffffffffffffffffffff8716611807565b60f81b9050600060108260f81c610f94919061181b565b60f81b905060008160f81c6010610fab919061183d565b8360f81c610fb9919061185e565b60f81b9050610fc78261121d565b85610fd386600261166f565b81518110610fe357610fe36115ac565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061101b8161121d565b8561102786600261166f565b611032906001611881565b81518110611042576110426115ac565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050808061107f90611899565b915050610f31565b5092915050565b60008381526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff838116911614611146576000838152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155915191825284917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910160405180910390a25b60008381526020819052604090206001015467ffffffffffffffff828116740100000000000000000000000000000000000000009092041614611218576000838152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff861690810291909117909155915191825284917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68910160405180910390a25b505050565b6000600a60f883901c10156112445761123b60f883901c60306118d1565b60f81b92915050565b61123b60f883901c60576118d1565b919050565b60006020828403121561126a57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461125357600080fd5b6000806000606084860312156112aa57600080fd5b83359250602084013591506112c160408501611271565b90509250925092565b803567ffffffffffffffff8116811461125357600080fd5b600080604083850312156112f557600080fd5b82359150611305602084016112ca565b90509250929050565b6000806040838503121561132157600080fd5b8235915061130560208401611271565b600080600080600060a0868803121561134957600080fd5b853594506020860135935061136060408701611271565b925061136e60608701611271565b915061137c608087016112ca565b90509295509295909350565b60005b838110156113a357818101518382015260200161138b565b83811115610f045750506000910152565b60208152600082518060208401526113d3816040850160208701611388565b601f01601f19169190910160400192915050565b600080604083850312156113fa57600080fd5b61140383611271565b91506020830135801515811461141857600080fd5b809150509250929050565b6000806000806080858703121561143957600080fd5b8435935061144960208601611271565b925061145760408601611271565b9150611465606086016112ca565b905092959194509250565b6000806040838503121561148357600080fd5b61148c83611271565b915061130560208401611271565b7f596f7520617265206e6f7420746865206f776e657220000000000000000000008152600082516114d2816016850160208701611388565b9190910160160192915050565b600082516114f1818460208701611388565b7f206d736773656e6465723a000000000000000000000000000000000000000000920191825250600b01919050565b60008351611532818460208801611388565b835190830190611546818360208801611388565b01949350505050565b60008251611561818460208701611388565b9190910192915050565b6000825161157d818460208701611388565b7f206e6f64653a2000000000000000000000000000000000000000000000000000920191825250600701919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821660ff8103611620576116206115db565b60010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008282101561166a5761166a6115db565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156116a7576116a76115db565b500290565b600181815b8085111561170557817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156116eb576116eb6115db565b808516156116f857918102915b93841c93908002906116b1565b509250929050565b60008261171c57506001610333565b8161172957506000610333565b816001811461173f576002811461174957611765565b6001915050610333565b60ff84111561175a5761175a6115db565b50506001821b610333565b5060208310610133831016604e8410600b8410161715611788575081810a610333565b61179283836116ac565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156117c4576117c46115db565b029392505050565b6000610e51838361170d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611816576118166117d8565b500490565b600060ff83168061182e5761182e6117d8565b8060ff84160491505092915050565b600060ff821660ff84168160ff04811182151516156117c4576117c46115db565b600060ff821660ff841680821015611878576118786115db565b90039392505050565b60008219821115611894576118946115db565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118ca576118ca6115db565b5060010190565b600060ff821660ff84168060ff038211156118ee576118ee6115db565b01939250505056fea2646970667358221220504e59c82907e2f23b970e6f59e61282809e57a5d52d051976f95421d183cfc764736f6c634300080d0033'; diff --git a/packages/web3-zond-ens/test/fixtures/ens/reverse_registrar.json b/packages/web3-zond-zns/test/fixtures/zns/reverse_registrar.json similarity index 88% rename from packages/web3-zond-ens/test/fixtures/ens/reverse_registrar.json rename to packages/web3-zond-zns/test/fixtures/zns/reverse_registrar.json index a878744a..23feacac 100644 --- a/packages/web3-zond-ens/test/fixtures/ens/reverse_registrar.json +++ b/packages/web3-zond-zns/test/fixtures/zns/reverse_registrar.json @@ -1,5 +1,5 @@ { "status": "1", "message": "OK-Missing/Invalid API Key, rate limit of 1/5sec applied", - "result": "[{\"inputs\":[{\"internalType\":\"contract ENS\",\"name\":\"ensAddr\",\"type\":\"address\"},{\"internalType\":\"contract Resolver\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"ADDR_REVERSE_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"claimWithResolver\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"defaultResolver\",\"outputs\":[{\"internalType\":\"contract Resolver\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ens\",\"outputs\":[{\"internalType\":\"contract ENS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"node\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" + "result": "[{\"inputs\":[{\"internalType\":\"contract ZNS\",\"name\":\"znsAddr\",\"type\":\"address\"},{\"internalType\":\"contract Resolver\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"ADDR_REVERSE_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"claimWithResolver\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"defaultResolver\",\"outputs\":[{\"internalType\":\"contract Resolver\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"zns\",\"outputs\":[{\"internalType\":\"contract ZNS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"node\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" } diff --git a/packages/web3-zond-ens/test/integration/jest.config.js b/packages/web3-zond-zns/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond-ens/test/integration/jest.config.js rename to packages/web3-zond-zns/test/integration/jest.config.js diff --git a/packages/web3-zond-ens/test/integration/resolver.test.ts b/packages/web3-zond-zns/test/integration/resolver.test.ts similarity index 78% rename from packages/web3-zond-ens/test/integration/resolver.test.ts rename to packages/web3-zond-zns/test/integration/resolver.test.ts index cb35a977..9f77b52e 100644 --- a/packages/web3-zond-ens/test/integration/resolver.test.ts +++ b/packages/web3-zond-zns/test/integration/resolver.test.ts @@ -23,7 +23,7 @@ import { hexToAddress, sha3 } from '@theqrl/web3-utils'; import { Address, Bytes, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { ENS } from '../../src'; +import { ZNS } from '../../src'; import { namehash } from '../../src/utils'; import { @@ -37,15 +37,15 @@ import { itIf, } from '../fixtures/system_tests_utils'; -import { ENSRegistryAbi } from '../fixtures/ens/abi/ENSRegistry'; -import { PublicResolverAbi } from '../fixtures/ens/abi/PublicResolver'; -import { NameWrapperAbi } from '../fixtures/ens/abi/NameWrapper'; -import { ENSRegistryBytecode } from '../fixtures/ens/bytecode/ENSRegistryBytecode'; -import { NameWrapperBytecode } from '../fixtures/ens/bytecode/NameWrapperBytecode'; -import { PublicResolverBytecode } from '../fixtures/ens/bytecode/PublicResolverBytecode'; +import { ZNSRegistryAbi } from '../fixtures/zns/abi/ZNSRegistry'; +import { PublicResolverAbi } from '../fixtures/zns/abi/PublicResolver'; +import { NameWrapperAbi } from '../fixtures/zns/abi/NameWrapper'; +import { ZNSRegistryBytecode } from '../fixtures/zns/bytecode/ZNSRegistryBytecode'; +import { NameWrapperBytecode } from '../fixtures/zns/bytecode/NameWrapperBytecode'; +import { PublicResolverBytecode } from '../fixtures/zns/bytecode/PublicResolverBytecode'; -describe('ens', () => { - let registry: Contract; +describe('zns', () => { + let registry: Contract; let resolver: Contract; let nameWrapper: Contract; @@ -61,7 +61,7 @@ describe('ens', () => { let web3Zond: Web3Zond; let accounts: string[]; - let ens: ENS; + let zns: ZNS; let defaultAccount: string; let accountOne: string; @@ -79,7 +79,7 @@ describe('ens', () => { sendOptions = { from: defaultAccount, gas: '10000000' }; - const Registry = new Contract(ENSRegistryAbi, undefined, { + const Registry = new Contract(ZNSRegistryAbi, undefined, { provider: getSystemTestProvider(), }); @@ -91,7 +91,7 @@ describe('ens', () => { provider: getSystemTestProvider(), }); - registry = await Registry.deploy({ data: ENSRegistryBytecode }).send(sendOptions); + registry = await Registry.deploy({ data: ZNSRegistryBytecode }).send(sendOptions); nameWrapper = await NameWrapper.deploy({ data: NameWrapperBytecode }).send(sendOptions); @@ -118,10 +118,10 @@ describe('ens', () => { const clientUrl = getSystemTestProviderUrl(); let provider; if (isIpc) provider = new IpcProvider(clientUrl); - else if (isWs) provider = new ENS.providers.WebsocketProvider(clientUrl); - else provider = new ENS.providers.HttpProvider(clientUrl); + else if (isWs) provider = new ZNS.providers.WebsocketProvider(clientUrl); + else provider = new ZNS.providers.HttpProvider(clientUrl); - ens = new ENS(registry.options.address, provider); + zns = new ZNS(registry.options.address, provider); web3Zond = new Web3Zond(provider); const block = await web3Zond.getBlock('latest', false, DEFAULT_RETURN_FORMAT); @@ -136,9 +136,9 @@ describe('ens', () => { afterAll(async () => { if (isSocket) { - await closeOpenConnection(ens); + await closeOpenConnection(zns); // @ts-expect-error @typescript-eslint/ban-ts-comment - await closeOpenConnection(ens?._registry?.contract); + await closeOpenConnection(zns?._registry?.contract); await closeOpenConnection(registry); await closeOpenConnection(resolver); await closeOpenConnection(nameWrapper); @@ -152,20 +152,20 @@ describe('ens', () => { }); it('supports known interfaces', async () => { - await expect(ens.supportsInterface('resolver', '0x3b3b57de')).resolves.toBeTruthy(); // IAddrResolver - await expect(ens.supportsInterface('resolver', '0xf1cb7e06')).resolves.toBeTruthy(); // IAddressResolver - await expect(ens.supportsInterface('resolver', '0x691f3431')).resolves.toBeTruthy(); // INameResolver - await expect(ens.supportsInterface('resolver', '0x2203ab56')).resolves.toBeTruthy(); // IABIResolver - await expect(ens.supportsInterface('resolver', '0xc8690233')).resolves.toBeTruthy(); // IPubkeyResolver - await expect(ens.supportsInterface('resolver', '0x59d1d43c')).resolves.toBeTruthy(); // ITextResolver - await expect(ens.supportsInterface('resolver', '0xbc1c58d1')).resolves.toBeTruthy(); // IContentHashResolver - await expect(ens.supportsInterface('resolver', '0xa8fa5682')).resolves.toBeTruthy(); // IDNSRecordResolver - await expect(ens.supportsInterface('resolver', '0x5c98042b')).resolves.toBeTruthy(); // IDNSZoneResolver - await expect(ens.supportsInterface('resolver', '0x01ffc9a7')).resolves.toBeTruthy(); // IInterfaceResolver + await expect(zns.supportsInterface('resolver', '0x3b3b57de')).resolves.toBeTruthy(); // IAddrResolver + await expect(zns.supportsInterface('resolver', '0xf1cb7e06')).resolves.toBeTruthy(); // IAddressResolver + await expect(zns.supportsInterface('resolver', '0x691f3431')).resolves.toBeTruthy(); // INameResolver + await expect(zns.supportsInterface('resolver', '0x2203ab56')).resolves.toBeTruthy(); // IABIResolver + await expect(zns.supportsInterface('resolver', '0xc8690233')).resolves.toBeTruthy(); // IPubkeyResolver + await expect(zns.supportsInterface('resolver', '0x59d1d43c')).resolves.toBeTruthy(); // ITextResolver + await expect(zns.supportsInterface('resolver', '0xbc1c58d1')).resolves.toBeTruthy(); // IContentHashResolver + await expect(zns.supportsInterface('resolver', '0xa8fa5682')).resolves.toBeTruthy(); // IDNSRecordResolver + await expect(zns.supportsInterface('resolver', '0x5c98042b')).resolves.toBeTruthy(); // IDNSZoneResolver + await expect(zns.supportsInterface('resolver', '0x01ffc9a7')).resolves.toBeTruthy(); // IInterfaceResolver }); it('does not support a random interface', async () => { - await expect(ens.supportsInterface('resolver', '0x3b3b57df')).resolves.toBeFalsy(); + await expect(zns.supportsInterface('resolver', '0x3b3b57df')).resolves.toBeFalsy(); }); it('fetch pubkey', async () => { @@ -173,7 +173,7 @@ describe('ens', () => { .setResolver(domainNode, resolver.options.address as string) .send(sendOptions); - const res = await ens.getPubkey(domain); + const res = await zns.getPubkey(domain); expect(res.x).toBe('0x0000000000000000000000000000000000000000000000000000000000000000'); expect(res.y).toBe('0x0000000000000000000000000000000000000000000000000000000000000000'); }); @@ -184,7 +184,7 @@ describe('ens', () => { await resolver.methods.setPubkey(domainNode, x, y).send(sendOptions); - const result = await ens.getPubkey(domain); + const result = await zns.getPubkey(domain); expect(result[0]).toBe(x); expect(result[1]).toBe(y); @@ -201,7 +201,7 @@ describe('ens', () => { itIf(isSocket)('ContenthashChanged event', async () => { // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor await new Promise(async resolve => { - const resolver2 = await ens.getResolver('resolver'); + const resolver2 = await zns.getResolver('resolver'); const event = resolver2.events.ContenthashChanged(); event.on('data', () => { @@ -214,7 +214,7 @@ describe('ens', () => { it('fetches contenthash', async () => { await resolver.methods.setContenthash(domainNode, contentHash).call(sendOptions); - const res = await ens.getContenthash(domain); + const res = await zns.getContenthash(domain); expect(res).toBe(contentHash); }); @@ -238,9 +238,9 @@ describe('ens', () => { await resolver.methods.setAddr(domainNode, accountOne).send(sendOptions); - // NOTE(rgeraldes24): ens.getAddress(domain) return type is 'bytes'; + // NOTE(rgeraldes24): zns.getAddress(domain) return type is 'bytes'; // value is not converted automatically to the 'address' type via ABI - const resultAddress = await ens.getAddress(domain); + const resultAddress = await zns.getAddress(domain); expect(hexToAddress(resultAddress.toString())).toBe(accountOne); }); }); diff --git a/packages/web3-zond-ens/test/integration/setup.js b/packages/web3-zond-zns/test/integration/setup.js similarity index 100% rename from packages/web3-zond-ens/test/integration/setup.js rename to packages/web3-zond-zns/test/integration/setup.js diff --git a/packages/web3-zond-ens/test/integration/ens.events.test.ts b/packages/web3-zond-zns/test/integration/zns.events.test.ts similarity index 78% rename from packages/web3-zond-ens/test/integration/ens.events.test.ts rename to packages/web3-zond-zns/test/integration/zns.events.test.ts index 9e1f30cb..23718be4 100644 --- a/packages/web3-zond-ens/test/integration/ens.events.test.ts +++ b/packages/web3-zond-zns/test/integration/zns.events.test.ts @@ -23,7 +23,7 @@ import { getBlock } from '@theqrl/web3-zond'; import { Address, Bytes, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { ENS } from '../../src'; +import { ZNS } from '../../src'; import { namehash } from '../../src/utils'; import { @@ -37,23 +37,23 @@ import { getSystemTestProviderUrl, } from '../fixtures/system_tests_utils'; -import { ENSRegistryAbi } from '../fixtures/ens/abi/ENSRegistry'; -import { ENSRegistryBytecode } from '../fixtures/ens/bytecode/ENSRegistryBytecode'; -import { NameWrapperAbi } from '../fixtures/ens/abi/NameWrapper'; -import { NameWrapperBytecode } from '../fixtures/ens/bytecode/NameWrapperBytecode'; -import { PublicResolverAbi } from '../fixtures/ens/abi/PublicResolver'; -import { PublicResolverBytecode } from '../fixtures/ens/bytecode/PublicResolverBytecode'; +import { ZNSRegistryAbi } from '../fixtures/zns/abi/ZNSRegistry'; +import { ZNSRegistryBytecode } from '../fixtures/zns/bytecode/ZNSRegistryBytecode'; +import { NameWrapperAbi } from '../fixtures/zns/abi/NameWrapper'; +import { NameWrapperBytecode } from '../fixtures/zns/bytecode/NameWrapperBytecode'; +import { PublicResolverAbi } from '../fixtures/zns/abi/PublicResolver'; +import { PublicResolverBytecode } from '../fixtures/zns/bytecode/PublicResolverBytecode'; -describeIf(isSocket)('ens events', () => { - let registry: Contract; +describeIf(isSocket)('zns events', () => { + let registry: Contract; let resolver: Contract; let nameWrapper: Contract; type ResolverContract = Contract; let Resolver: ResolverContract; - let setEnsResolver: ResolverContract; - let getEnsResolver: ResolverContract; + let setZnsResolver: ResolverContract; + let getZnsResolver: ResolverContract; let sendOptions: PayableTxOptions; @@ -63,7 +63,7 @@ describeIf(isSocket)('ens events', () => { const label = sha3('resolver') as string; let accounts: string[]; - let ens: ENS; + let zns: ZNS; let defaultAccount: string; let accountOne: string; @@ -77,7 +77,7 @@ describeIf(isSocket)('ens events', () => { sendOptions = { from: defaultAccount, gas: '10000000' }; - const Registry = new Contract(ENSRegistryAbi, undefined, { + const Registry = new Contract(ZNSRegistryAbi, undefined, { provider: getSystemTestProvider(), }); @@ -89,7 +89,7 @@ describeIf(isSocket)('ens events', () => { provider: getSystemTestProvider(), }); - registry = await Registry.deploy({ data: ENSRegistryBytecode }).send(sendOptions); + registry = await Registry.deploy({ data: ZNSRegistryBytecode }).send(sendOptions); nameWrapper = await NameWrapper.deploy({ data: NameWrapperBytecode }).send(sendOptions); @@ -116,12 +116,12 @@ describeIf(isSocket)('ens events', () => { const clientUrl = getSystemTestProviderUrl(); let provider; if (isIpc) provider = new IpcProvider(clientUrl); - else if (isWs) provider = new ENS.providers.WebsocketProvider(clientUrl); - else provider = new ENS.providers.HttpProvider(clientUrl); + else if (isWs) provider = new ZNS.providers.WebsocketProvider(clientUrl); + else provider = new ZNS.providers.HttpProvider(clientUrl); - ens = new ENS(registry.options.address, provider); + zns = new ZNS(registry.options.address, provider); - const block = await getBlock(ens, 'latest', false, DEFAULT_RETURN_FORMAT); + const block = await getBlock(zns, 'latest', false, DEFAULT_RETURN_FORMAT); const gas = block.gasLimit.toString(); // Increase gas for contract calls @@ -132,11 +132,11 @@ describeIf(isSocket)('ens events', () => { }); afterAll(async () => { - await closeOpenConnection(ens); + await closeOpenConnection(zns); // @ts-expect-error @typescript-eslint/ban-ts-comment - await closeOpenConnection(ens?._registry?.contract); - await closeOpenConnection(getEnsResolver); - await closeOpenConnection(setEnsResolver); + await closeOpenConnection(zns?._registry?.contract); + await closeOpenConnection(getZnsResolver); + await closeOpenConnection(setZnsResolver); await closeOpenConnection(registry); await closeOpenConnection(resolver); await closeOpenConnection(nameWrapper); @@ -153,7 +153,7 @@ describeIf(isSocket)('ens events', () => { it('NewResolver event', async () => { // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor await new Promise(async resolve => { - const event = ens.events.NewResolver(); + const event = zns.events.NewResolver(); // eslint-disable-next-line @typescript-eslint/no-unsafe-call event.on('data', () => { diff --git a/packages/web3-zond-ens/test/integration/ens.test.ts b/packages/web3-zond-zns/test/integration/zns.test.ts similarity index 76% rename from packages/web3-zond-ens/test/integration/ens.test.ts rename to packages/web3-zond-zns/test/integration/zns.test.ts index a53cbf37..0a31de09 100644 --- a/packages/web3-zond-ens/test/integration/ens.test.ts +++ b/packages/web3-zond-zns/test/integration/zns.test.ts @@ -22,7 +22,7 @@ import { Address, Bytes, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { sha3, toChecksumAddress } from '@theqrl/web3-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { ENS } from '../../src'; +import { ZNS } from '../../src'; import { namehash } from '../../src/utils'; import { @@ -35,23 +35,23 @@ import { isWs, } from '../fixtures/system_tests_utils'; -import { PublicResolverAbi as PublicResolver } from '../../src/abi/ens/PublicResolver'; -import { ENSRegistryAbi } from '../fixtures/ens/abi/ENSRegistry'; -import { NameWrapperAbi } from '../fixtures/ens/abi/NameWrapper'; -import { PublicResolverAbi } from '../fixtures/ens/abi/PublicResolver'; -import { ENSRegistryBytecode } from '../fixtures/ens/bytecode/ENSRegistryBytecode'; -import { NameWrapperBytecode } from '../fixtures/ens/bytecode/NameWrapperBytecode'; -import { PublicResolverBytecode } from '../fixtures/ens/bytecode/PublicResolverBytecode'; +import { PublicResolverAbi as PublicResolver } from '../../src/abi/zns/PublicResolver'; +import { ZNSRegistryAbi } from '../fixtures/zns/abi/ZNSRegistry'; +import { NameWrapperAbi } from '../fixtures/zns/abi/NameWrapper'; +import { PublicResolverAbi } from '../fixtures/zns/abi/PublicResolver'; +import { ZNSRegistryBytecode } from '../fixtures/zns/bytecode/ZNSRegistryBytecode'; +import { NameWrapperBytecode } from '../fixtures/zns/bytecode/NameWrapperBytecode'; +import { PublicResolverBytecode } from '../fixtures/zns/bytecode/PublicResolverBytecode'; -describe('ens', () => { - let registry: Contract; +describe('zns', () => { + let registry: Contract; let resolver: Contract; let nameWrapper: Contract; type ResolverContract = Contract; let Resolver: ResolverContract; - let getEnsResolver: Contract; + let getZnsResolver: Contract; let sendOptions: PayableTxOptions; @@ -64,7 +64,7 @@ describe('ens', () => { const web3jsName = 'web3js.test'; let accounts: string[]; - let ens: ENS; + let zns: ZNS; let defaultAccount: string; let accountOne: string; @@ -78,7 +78,7 @@ describe('ens', () => { sendOptions = { from: defaultAccount, gas: '10000000' }; - const Registry = new Contract(ENSRegistryAbi, undefined, { + const Registry = new Contract(ZNSRegistryAbi, undefined, { provider: getSystemTestProvider(), }); @@ -90,7 +90,7 @@ describe('ens', () => { provider: getSystemTestProvider(), }); - registry = await Registry.deploy({ data: ENSRegistryBytecode }).send(sendOptions); + registry = await Registry.deploy({ data: ZNSRegistryBytecode }).send(sendOptions); nameWrapper = await NameWrapper.deploy({ data: NameWrapperBytecode }).send(sendOptions); @@ -117,12 +117,12 @@ describe('ens', () => { const clientUrl = getSystemTestProviderUrl(); let provider; if (isIpc) provider = new IpcProvider(clientUrl); - else if (isWs) provider = new ENS.providers.WebsocketProvider(clientUrl); - else provider = new ENS.providers.HttpProvider(clientUrl); + else if (isWs) provider = new ZNS.providers.WebsocketProvider(clientUrl); + else provider = new ZNS.providers.HttpProvider(clientUrl); - ens = new ENS(registry.options.address, provider); + zns = new ZNS(registry.options.address, provider); - const block = await getBlock(ens, 'latest', false, DEFAULT_RETURN_FORMAT); + const block = await getBlock(zns, 'latest', false, DEFAULT_RETURN_FORMAT); const gas = block.gasLimit.toString(); // Increase gas for contract calls @@ -134,10 +134,10 @@ describe('ens', () => { afterAll(async () => { if (isSocket) { - await closeOpenConnection(ens); + await closeOpenConnection(zns); // @ts-expect-error @typescript-eslint/ban-ts-comment - await closeOpenConnection(ens?._registry?.contract); - await closeOpenConnection(getEnsResolver); + await closeOpenConnection(zns?._registry?.contract); + await closeOpenConnection(getZnsResolver); await closeOpenConnection(registry); await closeOpenConnection(resolver); await closeOpenConnection(nameWrapper); @@ -152,25 +152,25 @@ describe('ens', () => { }); it('should return the subnode owner of "resolver"', async () => { - const owner = await ens.getOwner('resolver'); + const owner = await zns.getOwner('resolver'); expect(owner).toEqual(toChecksumAddress(defaultAccount)); }); it('should return the registered resolver for the subnode "resolver"', async () => { - getEnsResolver = await ens.getResolver('resolver'); + getZnsResolver = await zns.getResolver('resolver'); - expect(getEnsResolver.options.address).toEqual(resolver.options.address); + expect(getZnsResolver.options.address).toEqual(resolver.options.address); }); it('should get the owner record for a name', async () => { - const web3jsOwner = await ens.getOwner(web3jsName); + const web3jsOwner = await zns.getOwner(web3jsName); expect(web3jsOwner).toEqual(toChecksumAddress(defaultAccount)); }); it('should get TTL', async () => { - const TTL = await ens.getTTL(web3jsName); + const TTL = await zns.getTTL(web3jsName); expect(TTL).toBe(BigInt(0)); }); @@ -180,7 +180,7 @@ describe('ens', () => { .setSubnodeOwner(namehash(domain), sha3(subdomain) as string, defaultAccount) .send(sendOptions); - const exists = await ens.recordExists(fullDomain); + const exists = await zns.recordExists(fullDomain); expect(exists).toBeTruthy(); }); diff --git a/packages/web3-zond-ens/test/tsconfig.json b/packages/web3-zond-zns/test/tsconfig.json similarity index 100% rename from packages/web3-zond-ens/test/tsconfig.json rename to packages/web3-zond-zns/test/tsconfig.json diff --git a/packages/web3-zond-ens/test/unit/constructor.test.ts b/packages/web3-zond-zns/test/unit/constructor.test.ts similarity index 75% rename from packages/web3-zond-ens/test/unit/constructor.test.ts rename to packages/web3-zond-zns/test/unit/constructor.test.ts index 44f9444a..9ce4ae27 100644 --- a/packages/web3-zond-ens/test/unit/constructor.test.ts +++ b/packages/web3-zond-zns/test/unit/constructor.test.ts @@ -18,10 +18,10 @@ along with web3.js. If not, see . import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; import { Registry } from '../../src/registry'; import { Resolver } from '../../src/resolver'; -import { ENS } from '../../src/ens'; +import { ZNS } from '../../src/zns'; import { registryAddresses } from '../../src/config'; -describe('ens', () => { +describe('zns', () => { let object: Web3ContextObject; beforeAll(() => { @@ -48,17 +48,17 @@ describe('ens', () => { expect(resolver.getContenthash).toBeDefined(); }); - it('should construct main ens class with expected methods', () => { - const ens = new ENS(registryAddresses.main, 'http://127.0.0.1:8545'); + it('should construct main zns class with expected methods', () => { + const zns = new ZNS(registryAddresses.main, 'http://127.0.0.1:8545'); - expect(ens.getResolver).toBeDefined(); - expect(ens.recordExists).toBeDefined(); - expect(ens.getTTL).toBeDefined(); - expect(ens.getOwner).toBeDefined(); - expect(ens.getAddress).toBeDefined(); - expect(ens.getPubkey).toBeDefined(); - expect(ens.getContenthash).toBeDefined(); - expect(ens.checkNetwork).toBeDefined(); - expect(ens.supportsInterface).toBeDefined(); + expect(zns.getResolver).toBeDefined(); + expect(zns.recordExists).toBeDefined(); + expect(zns.getTTL).toBeDefined(); + expect(zns.getOwner).toBeDefined(); + expect(zns.getAddress).toBeDefined(); + expect(zns.getPubkey).toBeDefined(); + expect(zns.getContenthash).toBeDefined(); + expect(zns.checkNetwork).toBeDefined(); + expect(zns.supportsInterface).toBeDefined(); }); }); diff --git a/packages/web3-zond-ens/test/unit/index.test.ts b/packages/web3-zond-zns/test/unit/index.test.ts similarity index 92% rename from packages/web3-zond-ens/test/unit/index.test.ts rename to packages/web3-zond-zns/test/unit/index.test.ts index ec6df8f7..d49ffa08 100644 --- a/packages/web3-zond-ens/test/unit/index.test.ts +++ b/packages/web3-zond-zns/test/unit/index.test.ts @@ -14,12 +14,12 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import * as ens from '../../src'; +import * as zns from '../../src'; import { registryAddresses } from '../../src'; describe('main package', () => { it('should import', () => { expect(registryAddresses).toBeDefined(); - expect(ens.ENS).toBeDefined(); + expect(zns.ZNS).toBeDefined(); }); }); diff --git a/packages/web3-zond-ens/test/unit/jest.config.js b/packages/web3-zond-zns/test/unit/jest.config.js similarity index 86% rename from packages/web3-zond-ens/test/unit/jest.config.js rename to packages/web3-zond-zns/test/unit/jest.config.js index 1e018350..92306133 100644 --- a/packages/web3-zond-ens/test/unit/jest.config.js +++ b/packages/web3-zond-zns/test/unit/jest.config.js @@ -11,7 +11,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-ens-unit-coverage.json', + file: 'web3-zond-zns-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond-ens/test/unit/registry.test.ts b/packages/web3-zond-zns/test/unit/registry.test.ts similarity index 85% rename from packages/web3-zond-ens/test/unit/registry.test.ts rename to packages/web3-zond-zns/test/unit/registry.test.ts index cac3df7b..ced1efd5 100644 --- a/packages/web3-zond-ens/test/unit/registry.test.ts +++ b/packages/web3-zond-zns/test/unit/registry.test.ts @@ -24,7 +24,7 @@ describe('registry', () => { let object: Web3ContextObject; let registry: Registry; const mockAddress = 'Z0000000000000000000000000000000000000000'; - const ENS_NAME = 'web3js.eth'; + const ZNS_NAME = 'web3js.znd'; beforeAll(() => { const context = new Web3Context('http://test.com'); @@ -52,8 +52,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.getOwner(ENS_NAME); - expect(getOwnerMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + await registry.getOwner(ZNS_NAME); + expect(getOwnerMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); it('getOwner throw (transaction reverted)', async () => { @@ -67,9 +67,9 @@ describe('registry', () => { .mockReturnValue({ call } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getOwner(ENS_NAME); + await registry.getOwner(ZNS_NAME); }).rejects.toThrow(new Error()); - expect(getOwnerMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(getOwnerMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); }); @@ -83,8 +83,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.getTTL(ENS_NAME); - expect(getTTLMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + await registry.getTTL(ZNS_NAME); + expect(getTTLMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); it('getTTL throw (transaction reverted)', async () => { @@ -98,9 +98,9 @@ describe('registry', () => { .mockReturnValue({ call } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getTTL(ENS_NAME); + await registry.getTTL(ZNS_NAME); }).rejects.toThrow(new Error()); - expect(getTTLMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(getTTLMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); }); @@ -116,8 +116,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.recordExists(ENS_NAME); - expect(setRecordMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + await registry.recordExists(ZNS_NAME); + expect(setRecordMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); it('recordExists throw (transaction reverted)', async () => { @@ -133,9 +133,9 @@ describe('registry', () => { } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.recordExists(ENS_NAME); + await registry.recordExists(ZNS_NAME); }).rejects.toThrow(new Error()); - expect(setRecordMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(setRecordMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); }); @@ -160,8 +160,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.getResolver(ENS_NAME); - expect(resolverMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + await registry.getResolver(ZNS_NAME); + expect(resolverMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); @@ -185,9 +185,9 @@ describe('registry', () => { } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getResolver(ENS_NAME); + await registry.getResolver(ZNS_NAME); }).rejects.toThrow(new Error()); - expect(resolverMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(resolverMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); @@ -203,9 +203,9 @@ describe('registry', () => { } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getResolver(ENS_NAME); + await registry.getResolver(ZNS_NAME); }).rejects.toThrow(new Error()); - expect(resolverMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(resolverMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); expect(call).toHaveBeenCalled(); }); }); diff --git a/packages/web3-zond-ens/test/unit/resolver.test.ts b/packages/web3-zond-zns/test/unit/resolver.test.ts similarity index 92% rename from packages/web3-zond-ens/test/unit/resolver.test.ts rename to packages/web3-zond-zns/test/unit/resolver.test.ts index 36d0dcd6..5e0ed2f6 100644 --- a/packages/web3-zond-ens/test/unit/resolver.test.ts +++ b/packages/web3-zond-zns/test/unit/resolver.test.ts @@ -19,7 +19,7 @@ import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; import { ResolverMethodMissingError } from '@theqrl/web3-errors'; import { Contract, NonPayableMethodObject } from '@theqrl/web3-zond-contract'; import { sha3 } from '@theqrl/web3-utils'; -import { PublicResolverAbi } from '../../src/abi/ens/PublicResolver'; +import { PublicResolverAbi } from '../../src/abi/zns/PublicResolver'; import { interfaceIds, methodsInInterface } from '../../src/config'; import { Registry } from '../../src/registry'; import { Resolver } from '../../src/resolver'; @@ -31,7 +31,7 @@ describe('resolver', () => { let resolver: Resolver; let contract: Contract; const mockAddress = 'Z0000000000000000000000000000000000000000'; - const ENS_NAME = 'web3js.eth'; + const ZNS_NAME = 'web3js.znd'; beforeAll(() => { const context = new Web3Context('http://test.com'); @@ -124,11 +124,11 @@ describe('resolver', () => { }); }); - await resolver.getAddress(ENS_NAME); + await resolver.getAddress(ZNS_NAME); expect(supportsInterfaceMock).toHaveBeenCalledWith( interfaceIds[methodsInInterface.addr], ); - expect(addrMock).toHaveBeenCalledWith(namehash(ENS_NAME), 60); + expect(addrMock).toHaveBeenCalledWith(namehash(ZNS_NAME), 60); }); }); @@ -152,11 +152,11 @@ describe('resolver', () => { }); }); - await resolver.getPubkey(ENS_NAME); + await resolver.getPubkey(ZNS_NAME); expect(supportsInterfaceMock).toHaveBeenCalledWith( interfaceIds[methodsInInterface.pubkey], ); - expect(pubkeyMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(pubkeyMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); }); }); @@ -180,11 +180,11 @@ describe('resolver', () => { }); }); - await resolver.getContenthash(ENS_NAME); + await resolver.getContenthash(ZNS_NAME); expect(supportsInterfaceMock).toHaveBeenCalledWith( interfaceIds[methodsInInterface.contenthash], ); - expect(contenthashMock).toHaveBeenCalledWith(namehash(ENS_NAME)); + expect(contenthashMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); }); }); @@ -206,9 +206,9 @@ describe('resolver', () => { call, } as unknown as NonPayableMethodObject); - await expect(resolver.supportsInterface(ENS_NAME, interfaceId)).resolves.not.toThrow(); + await expect(resolver.supportsInterface(ZNS_NAME, interfaceId)).resolves.not.toThrow(); - // expect(setContenthashMock).toHaveBeenCalledWith(namehash(ENS_NAME), hash); + // expect(setContenthashMock).toHaveBeenCalledWith(namehash(ZNS_NAME), hash); expect(supportsInterfaceMock).toHaveBeenCalledWith(sha3(interfaceId)?.substring(0, 10)); expect(call).toHaveBeenCalled(); }); @@ -221,7 +221,7 @@ describe('resolver', () => { }); }); - await expect(resolver.supportsInterface(ENS_NAME, interfaceId)).rejects.toThrow( + await expect(resolver.supportsInterface(ZNS_NAME, interfaceId)).rejects.toThrow( new Error('Invalid interface Id'), ); }); @@ -246,10 +246,10 @@ describe('resolver', () => { } as unknown as NonPayableMethodObject); await expect( - resolver.supportsInterface(ENS_NAME, interfaceId), + resolver.supportsInterface(ZNS_NAME, interfaceId), ).resolves.not.toThrow(); - // expect(setContenthashMock).toHaveBeenCalledWith(namehash(ENS_NAME), hash); + // expect(setContenthashMock).toHaveBeenCalledWith(namehash(ZNS_NAME), hash); expect(supportsInterfaceMock).toHaveBeenCalledWith( sha3(interfaceId)?.substring(0, 10), ); diff --git a/packages/web3-zond-ens/test/unit/utils.test.ts b/packages/web3-zond-zns/test/unit/utils.test.ts similarity index 97% rename from packages/web3-zond-ens/test/unit/utils.test.ts rename to packages/web3-zond-zns/test/unit/utils.test.ts index e7cce3ed..ffdb2376 100644 --- a/packages/web3-zond-ens/test/unit/utils.test.ts +++ b/packages/web3-zond-zns/test/unit/utils.test.ts @@ -18,7 +18,7 @@ along with web3.js. If not, see . import { namehash, normalize } from '../../src/utils'; import { namehashValidData, normalizeValidData } from '../fixtures/utils'; -describe('ens utils', () => { +describe('zns utils', () => { describe('namehash', () => { describe('valid cases', () => { it.each(namehashValidData)('%s', (input, output) => { diff --git a/packages/web3-zond-ens/test/unit/ens.test.ts b/packages/web3-zond-zns/test/unit/zns.test.ts similarity index 70% rename from packages/web3-zond-ens/test/unit/ens.test.ts rename to packages/web3-zond-zns/test/unit/zns.test.ts index ef66ec98..3a09ce82 100644 --- a/packages/web3-zond-ens/test/unit/ens.test.ts +++ b/packages/web3-zond-zns/test/unit/zns.test.ts @@ -16,14 +16,16 @@ along with web3.js. If not, see . */ import { Web3Context, Web3ContextObject, Web3PromiEvent } from '@theqrl/web3-core'; -import { ENSNetworkNotSyncedError, ENSUnsupportedNetworkError } from '@theqrl/web3-errors'; +import { ZNSNetworkNotSyncedError, ZNSUnsupportedNetworkError } from '@theqrl/web3-errors'; import { Contract } from '@theqrl/web3-zond-contract'; -import { PublicResolverAbi } from '../../src/abi/ens/PublicResolver'; +import { PublicResolverAbi } from '../../src/abi/zns/PublicResolver'; import { registryAddresses } from '../../src/config'; -import { ENS } from '../../src/ens'; +import { ZNS } from '../../src/zns'; -jest.useFakeTimers().setSystemTime(new Date('2020-01-01')); +Object.defineProperty(global, 'performance', { + writable: true, +}); jest.mock('@theqrl/web3-zond', () => ({ __esModule: true, @@ -40,30 +42,30 @@ jest.mock('@theqrl/web3-net', () => ({ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const { getId } = require('@theqrl/web3-net'); -describe('ens', () => { +describe('zns', () => { let object: Web3ContextObject; let resolverContract: Contract; const mockAddress = 'Z0000000000000000000000000000000000000000'; - const ENS_NAME = 'web3js.zond'; - let ens: ENS; + const ZNS_NAME = 'web3js.zond'; + let zns: ZNS; beforeAll(() => { const context = new Web3Context('http://test.com'); object = context.getContextObject(); resolverContract = new Contract(PublicResolverAbi, mockAddress); - ens = new ENS(registryAddresses.main, object); + zns = new ZNS(registryAddresses.main, object); }); describe('Resolver', () => { it('getResolver', async () => { const getResolverMock = jest - .spyOn(ens['_registry'], 'getResolver') + .spyOn(zns['_registry'], 'getResolver') .mockResolvedValue(resolverContract); - await ens.getResolver(ENS_NAME); + await zns.getResolver(ZNS_NAME); - expect(getResolverMock).toHaveBeenCalledWith(ENS_NAME); + expect(getResolverMock).toHaveBeenCalledWith(ZNS_NAME); }); }); @@ -72,12 +74,12 @@ describe('ens', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const recordExistsMock = jest.spyOn(ens['_registry'], 'recordExists').mockReturnValue({ + const recordExistsMock = jest.spyOn(zns['_registry'], 'recordExists').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await ens.recordExists(ENS_NAME); + await zns.recordExists(ZNS_NAME); - expect(recordExistsMock).toHaveBeenCalledWith(ENS_NAME); + expect(recordExistsMock).toHaveBeenCalledWith(ZNS_NAME); }); }); @@ -86,12 +88,12 @@ describe('ens', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const getTTLMock = jest.spyOn(ens['_registry'], 'getTTL').mockReturnValue({ + const getTTLMock = jest.spyOn(zns['_registry'], 'getTTL').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await ens.getTTL(ENS_NAME); - expect(getTTLMock).toHaveBeenCalledWith(ENS_NAME); + await zns.getTTL(ZNS_NAME); + expect(getTTLMock).toHaveBeenCalledWith(ZNS_NAME); }); }); @@ -100,12 +102,12 @@ describe('ens', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const getOwnerMock = jest.spyOn(ens['_registry'], 'getOwner').mockReturnValue({ + const getOwnerMock = jest.spyOn(zns['_registry'], 'getOwner').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await ens.getOwner(ENS_NAME); - expect(getOwnerMock).toHaveBeenCalledWith(ENS_NAME); + await zns.getOwner(ZNS_NAME); + expect(getOwnerMock).toHaveBeenCalledWith(ZNS_NAME); }); }); @@ -114,19 +116,19 @@ describe('ens', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const addrMock = jest.spyOn(ens['_resolver'], 'getAddress').mockReturnValue({ + const addrMock = jest.spyOn(zns['_resolver'], 'getAddress').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await ens.getAddress(ENS_NAME); + await zns.getAddress(ZNS_NAME); - expect(addrMock).toHaveBeenCalledWith(ENS_NAME, 60); + expect(addrMock).toHaveBeenCalledWith(ZNS_NAME, 60); }); }); describe('events', () => { it('get events', async () => { - const { events } = ens; + const { events } = zns; expect(typeof events.NewOwner).toBe('function'); expect(typeof events.allEvents).toBe('function'); expect(typeof events.NewResolver).toBe('function'); @@ -136,39 +138,39 @@ describe('ens', () => { describe('constructor', () => { it('default params', async () => { - const localEns = new ENS(); - expect(localEns.provider).toBeUndefined(); - expect(localEns.registryAddress).toBe(registryAddresses.main); + const localZns = new ZNS(); + expect(localZns.provider).toBeUndefined(); + expect(localZns.registryAddress).toBe(registryAddresses.main); }); it('set params', async () => { - const localEns = new ENS(registryAddresses.main, 'http://127.0.0.1:8545'); + const localZns = new ZNS(registryAddresses.main, 'http://127.0.0.1:8545'); // @ts-expect-error check clientUrl field - expect(localEns.provider?.clientUrl).toBe('http://127.0.0.1:8545'); - expect(localEns.registryAddress).toBe(registryAddresses.main); + expect(localZns.provider?.clientUrl).toBe('http://127.0.0.1:8545'); + expect(localZns.registryAddress).toBe(registryAddresses.main); }); }); describe('pubkey', () => { it('getPubkey', async () => { - const pubkeyMock = jest.spyOn(ens['_resolver'], 'getPubkey').mockReturnValue({ + const pubkeyMock = jest.spyOn(zns['_resolver'], 'getPubkey').mockReturnValue({ call: jest.fn(), } as unknown as Web3PromiEvent); - await ens.getPubkey(ENS_NAME); - expect(pubkeyMock).toHaveBeenCalledWith(ENS_NAME); + await zns.getPubkey(ZNS_NAME); + expect(pubkeyMock).toHaveBeenCalledWith(ZNS_NAME); }); describe('Contenthash', () => { it('getContenthash', async () => { const contenthashMock = jest - .spyOn(ens['_resolver'], 'getContenthash') + .spyOn(zns['_resolver'], 'getContenthash') .mockReturnValue({ call: jest.fn(), } as unknown as Web3PromiEvent); - await ens.getContenthash(ENS_NAME); + await zns.getContenthash(ZNS_NAME); - expect(contenthashMock).toHaveBeenCalledWith(ENS_NAME); + expect(contenthashMock).toHaveBeenCalledWith(ZNS_NAME); }); }); }); @@ -176,14 +178,14 @@ describe('ens', () => { it('supportsInterface', async () => { const interfaceId = 'setAddr'; const supportsInterfaceMock = jest - .spyOn(ens['_resolver'], 'supportsInterface') + .spyOn(zns['_resolver'], 'supportsInterface') .mockReturnValue({ call: jest.fn(), } as unknown as Web3PromiEvent); - await ens.supportsInterface(ENS_NAME, interfaceId); + await zns.supportsInterface(ZNS_NAME, interfaceId); - expect(supportsInterfaceMock).toHaveBeenCalledWith(ENS_NAME, interfaceId); + expect(supportsInterfaceMock).toHaveBeenCalledWith(ZNS_NAME, interfaceId); }); describe('CheckNetwork', () => { @@ -193,7 +195,7 @@ describe('ens', () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call isSyncing.mockReset(); }); - it('Not last sync/ENSNetworkNotSyncedError', async () => { + it('Not last sync/ZNSNetworkNotSyncedError', async () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call getId.mockImplementation(() => expectedNetworkId); @@ -205,10 +207,10 @@ describe('ens', () => { highestBlock: 51266, } as unknown; }); - await expect(ens.checkNetwork()).rejects.toThrow(new ENSNetworkNotSyncedError()); + await expect(zns.checkNetwork()).rejects.toThrow(new ZNSNetworkNotSyncedError()); }); - it('Threshold exceeded from previous check/ENSNetworkNotSyncedError', async () => { + it('Threshold exceeded from previous check/ZNSNetworkNotSyncedError', async () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call getId.mockImplementation(() => expectedNetworkId); @@ -218,17 +220,17 @@ describe('ens', () => { return false; }); // update `_lastSyncCheck` - await ens.checkNetwork(); + await zns.checkNetwork(); // now - this._lastSyncCheck > 3600) jest.useFakeTimers().setSystemTime(new Date('2020-01-01').getTime() + 3601000); // (3600 + 1) * 1000 - await expect(ens.checkNetwork()).resolves.not.toThrow(); + await expect(zns.checkNetwork()).resolves.not.toThrow(); }); - it('ENSUnsupportedNetworkError', async () => { + it('ZNSUnsupportedNetworkError', async () => { // reset from previous check // eslint-disable-next-line @typescript-eslint/no-unsafe-call - ens['_detectedAddress'] = undefined; + zns['_detectedAddress'] = undefined; const network = 'AnUnsupportedNetwork'; @@ -244,8 +246,8 @@ describe('ens', () => { } as unknown; }); - await expect(ens.checkNetwork()).rejects.toThrow( - new ENSUnsupportedNetworkError(network), + await expect(zns.checkNetwork()).rejects.toThrow( + new ZNSUnsupportedNetworkError(network), ); }); }); diff --git a/packages/web3-zond-ens/tsconfig.cjs.json b/packages/web3-zond-zns/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond-ens/tsconfig.cjs.json rename to packages/web3-zond-zns/tsconfig.cjs.json diff --git a/packages/web3-zond-ens/tsconfig.esm.json b/packages/web3-zond-zns/tsconfig.esm.json similarity index 100% rename from packages/web3-zond-ens/tsconfig.esm.json rename to packages/web3-zond-zns/tsconfig.esm.json diff --git a/packages/web3-zond-ens/tsconfig.types.json b/packages/web3-zond-zns/tsconfig.types.json similarity index 100% rename from packages/web3-zond-ens/tsconfig.types.json rename to packages/web3-zond-zns/tsconfig.types.json diff --git a/packages/web3-zond-ens/tsdoc.json b/packages/web3-zond-zns/tsdoc.json similarity index 100% rename from packages/web3-zond-ens/tsdoc.json rename to packages/web3-zond-zns/tsdoc.json diff --git a/packages/web3-zond/CHANGELOG.md b/packages/web3-zond/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3-zond/CHANGELOG.md +++ b/packages/web3-zond/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3-zond/index.d.ts b/packages/web3-zond/index.d.ts index 41645e41..f0207bf2 100644 --- a/packages/web3-zond/index.d.ts +++ b/packages/web3-zond/index.d.ts @@ -1 +1,17 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ declare module '@theqrl/wallet.js'; diff --git a/packages/web3-zond/src/rpc_method_wrappers.ts b/packages/web3-zond/src/rpc_method_wrappers.ts index 319eda8e..899cb4db 100644 --- a/packages/web3-zond/src/rpc_method_wrappers.ts +++ b/packages/web3-zond/src/rpc_method_wrappers.ts @@ -321,7 +321,11 @@ export async function getTransactionFromBlock( transactionIndex: Numbers, returnFormat: ReturnFormat, ) { - const transactionIndexFormatted = format({ format: 'uint' }, transactionIndex, ZOND_DATA_FORMAT); + const transactionIndexFormatted = format( + { format: 'uint' }, + transactionIndex, + ZOND_DATA_FORMAT, + ); let response; if (isBytes(block)) { diff --git a/packages/web3-zond/src/schemas.ts b/packages/web3-zond/src/schemas.ts index 2f4cd78b..1fb6e74b 100644 --- a/packages/web3-zond/src/schemas.ts +++ b/packages/web3-zond/src/schemas.ts @@ -55,9 +55,7 @@ export const chainSchema = { export const hardforkSchema = { type: 'string', - enum: [ - 'shanghai', - ], + enum: ['shanghai'], }; export const customChainSchema = { diff --git a/packages/web3-zond/src/utils/detect_transaction_type.ts b/packages/web3-zond/src/utils/detect_transaction_type.ts index 7fa14176..323f7cd7 100644 --- a/packages/web3-zond/src/utils/detect_transaction_type.ts +++ b/packages/web3-zond/src/utils/detect_transaction_type.ts @@ -17,7 +17,12 @@ along with web3.js. If not, see . import { format, toHex } from '@theqrl/web3-utils'; import { TransactionTypeParser, Web3Context } from '@theqrl/web3-core'; -import { ZondExecutionAPI, HardforksOrdered, Transaction, ZOND_DATA_FORMAT } from '@theqrl/web3-types'; +import { + ZondExecutionAPI, + HardforksOrdered, + Transaction, + ZOND_DATA_FORMAT, +} from '@theqrl/web3-types'; import { Web3ValidatorError, isNullish, validator } from '@theqrl/web3-validator'; import { InvalidPropertiesForTransactionTypeError } from '@theqrl/web3-errors'; @@ -27,11 +32,7 @@ const transactionType0x2Schema = { type: 'object', }; -const validateTxTypeAndHandleErrors = ( - txSchema: object, - tx: Transaction, - txType: '0x2', -) => { +const validateTxTypeAndHandleErrors = (txSchema: object, tx: Transaction, txType: '0x2') => { try { validator.validateJSONSchema(txSchema, tx); } catch (error) { @@ -89,5 +90,4 @@ export const detectTransactionType = ( transaction as unknown as Record, ); -export const detectRawTransactionType = (transaction: Uint8Array) => - toHex(transaction[0]); +export const detectRawTransactionType = (transaction: Uint8Array) => toHex(transaction[0]); diff --git a/packages/web3-zond/src/utils/get_revert_reason.ts b/packages/web3-zond/src/utils/get_revert_reason.ts index e00625b9..b69476f3 100644 --- a/packages/web3-zond/src/utils/get_revert_reason.ts +++ b/packages/web3-zond/src/utils/get_revert_reason.ts @@ -16,7 +16,11 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { ContractExecutionError, Eip838ExecutionError, InvalidResponseError } from '@theqrl/web3-errors'; +import { + ContractExecutionError, + Eip838ExecutionError, + InvalidResponseError, +} from '@theqrl/web3-errors'; import { decodeContractErrorData, isAbiErrorFragment } from '@theqrl/web3-zond-abi'; import { AbiErrorFragment, diff --git a/packages/web3-zond/src/utils/get_transaction_gas_pricing.ts b/packages/web3-zond/src/utils/get_transaction_gas_pricing.ts index bcf8b5bb..06f72715 100644 --- a/packages/web3-zond/src/utils/get_transaction_gas_pricing.ts +++ b/packages/web3-zond/src/utils/get_transaction_gas_pricing.ts @@ -63,19 +63,14 @@ export async function getTransactionGasPricing( web3Context: Web3Context, returnFormat: ReturnFormat, ): Promise< - | FormatType< - { maxPriorityFeePerGas?: Numbers; maxFeePerGas?: Numbers }, - ReturnFormat - > - | undefined + FormatType<{ maxPriorityFeePerGas?: Numbers; maxFeePerGas?: Numbers }, ReturnFormat> | undefined > { const transactionType = getTransactionType(transaction, web3Context); if (!isNullish(transactionType)) { if (transactionType.startsWith('-')) throw new UnsupportedTransactionTypeError(transactionType); - if (transactionType !== '0x2') - throw new UnsupportedTransactionTypeError(transactionType); + if (transactionType !== '0x2') throw new UnsupportedTransactionTypeError(transactionType); return { ...(await getEip1559GasPricing(transaction, web3Context, returnFormat)), diff --git a/packages/web3-zond/src/utils/prepare_transaction_for_signing.ts b/packages/web3-zond/src/utils/prepare_transaction_for_signing.ts index 203514de..c24d91ab 100644 --- a/packages/web3-zond/src/utils/prepare_transaction_for_signing.ts +++ b/packages/web3-zond/src/utils/prepare_transaction_for_signing.ts @@ -18,7 +18,6 @@ along with web3.js. If not, see . import { ZondExecutionAPI, HexString, - PopulatedUnsignedEip1559Transaction, PopulatedUnsignedTransaction, Transaction, ValidChains, @@ -44,13 +43,13 @@ const getZondjsTxDataFromTransaction = ( type: transaction.type, chainId: transaction.chainId, accessList: ( - transaction as FormatType + transaction ).accessList, maxPriorityFeePerGas: ( - transaction as FormatType + transaction ).maxPriorityFeePerGas, maxFeePerGas: ( - transaction as FormatType + transaction ).maxFeePerGas, }); diff --git a/packages/web3-zond/src/utils/reject_if_block_timeout.ts b/packages/web3-zond/src/utils/reject_if_block_timeout.ts index bc8610be..de2587be 100644 --- a/packages/web3-zond/src/utils/reject_if_block_timeout.ts +++ b/packages/web3-zond/src/utils/reject_if_block_timeout.ts @@ -34,25 +34,24 @@ function resolveByPolling( transactionHash?: Bytes, ): [Promise, ResourceCleaner] { const pollingInterval = web3Context.transactionPollingInterval; - const [intervalId, promiseToError] = - rejectIfConditionAtInterval(async () => { - let lastBlockNumber; - try { - lastBlockNumber = await getBlockNumber(web3Context, NUMBER_DATA_FORMAT); - } catch (error) { - console.warn('An error happen while trying to get the block number', error); - return undefined; - } - const numberOfBlocks = lastBlockNumber - starterBlockNumber; - if (numberOfBlocks >= web3Context.transactionBlockTimeout) { - return new TransactionBlockTimeoutError({ - starterBlockNumber, - numberOfBlocks, - transactionHash, - }); - } + const [intervalId, promiseToError] = rejectIfConditionAtInterval(async () => { + let lastBlockNumber; + try { + lastBlockNumber = await getBlockNumber(web3Context, NUMBER_DATA_FORMAT); + } catch (error) { + console.warn('An error happen while trying to get the block number', error); return undefined; - }, pollingInterval); + } + const numberOfBlocks = lastBlockNumber - starterBlockNumber; + if (numberOfBlocks >= web3Context.transactionBlockTimeout) { + return new TransactionBlockTimeoutError({ + starterBlockNumber, + numberOfBlocks, + transactionHash, + }); + } + return undefined; + }, pollingInterval); const clean = () => { clearInterval(intervalId); diff --git a/packages/web3-zond/src/utils/transaction_builder.ts b/packages/web3-zond/src/utils/transaction_builder.ts index f2fc9431..8b62e923 100644 --- a/packages/web3-zond/src/utils/transaction_builder.ts +++ b/packages/web3-zond/src/utils/transaction_builder.ts @@ -141,10 +141,11 @@ export async function defaultTransactionBuilder(option if (isNullish(populatedTransaction.from)) { let publicKey; if (!isNullish(options.seed)) { - const _seed = typeof options.seed === 'string' ? hexToBytes(options.seed): options.seed - const buf = Buffer.from(_seed) - const d = new Dilithium(buf) - publicKey = d.getPK() + const _seed = + typeof options.seed === 'string' ? hexToBytes(options.seed) : options.seed; + const buf = Buffer.from(_seed); + const d = new Dilithium(buf); + publicKey = d.getPK(); } populatedTransaction.from = getTransactionFromOrToAttr( diff --git a/packages/web3-zond/src/validation.ts b/packages/web3-zond/src/validation.ts index b259a7f1..a4ae0526 100644 --- a/packages/web3-zond/src/validation.ts +++ b/packages/web3-zond/src/validation.ts @@ -25,7 +25,13 @@ import { TransactionWithSenderAPI, ZOND_DATA_FORMAT, } from '@theqrl/web3-types'; -import { isAddressString, isHexStrict, isHexString32Bytes, isNullish, isUInt } from '@theqrl/web3-validator'; +import { + isAddressString, + isHexStrict, + isHexString32Bytes, + isNullish, + isUInt, +} from '@theqrl/web3-validator'; import { ChainMismatchError, HardforkMismatchError, @@ -90,10 +96,7 @@ export function isTransaction1559Unsigned(value: Transaction1559UnsignedAPI): bo export function isTransactionWithSender(value: TransactionWithSenderAPI): boolean { if (!isAddressString(value.from)) return false; if (!isBaseTransaction(value)) return false; - if ( - !isTransaction1559Unsigned(value as Transaction1559UnsignedAPI) - ) - return false; + if (!isTransaction1559Unsigned(value as Transaction1559UnsignedAPI)) return false; return true; } @@ -180,14 +183,11 @@ export const validateHardfork = (transaction: InternalTransaction) => { export const validateFeeMarketGas = (transaction: InternalTransaction) => { // This check is verifying gas isn't less than 0. - if ( - isNullish(transaction.gas) || - !isUInt(transaction.gas) - ) + if (isNullish(transaction.gas) || !isUInt(transaction.gas)) throw new InvalidGas({ gas: transaction.gas, }); - + if ( isNullish(transaction.maxFeePerGas) || !isUInt(transaction.maxFeePerGas) || @@ -218,7 +218,6 @@ export const validateGas = (transaction: InternalTransaction) => { maxFeePerGas: transaction.maxFeePerGas, }); - validateFeeMarketGas(transaction); }; diff --git a/packages/web3-zond/src/web3_zond.ts b/packages/web3-zond/src/web3_zond.ts index 97766da2..6aa3a992 100644 --- a/packages/web3-zond/src/web3_zond.ts +++ b/packages/web3-zond/src/web3_zond.ts @@ -153,7 +153,7 @@ export class Web3Zond extends Web3Context "0x4a817c800" * ``` */ - public async getMaxPriorityFeePerGas( - returnFormat: ReturnFormat = DEFAULT_RETURN_FORMAT as ReturnFormat, - ) { + public async getMaxPriorityFeePerGas< + ReturnFormat extends DataFormat = typeof DEFAULT_RETURN_FORMAT, + >(returnFormat: ReturnFormat = DEFAULT_RETURN_FORMAT as ReturnFormat) { return rpcMethodsWrappers.getMaxPriorityFeePerGas(this, returnFormat); } @@ -174,7 +174,7 @@ export class Web3Zond extends Web3Context { * maxFeePerGas: 40000000000n, * maxPriorityFeePerGas: 20000000000n, @@ -195,7 +195,7 @@ export class Web3Zond extends Web3Context { const block = await this.getBlock<{ number: FMT_NUMBER.BIGINT; bytes: FMT_BYTES.HEX }>( undefined, @@ -267,7 +267,7 @@ export class Web3Zond extends Web3Context { return process.env.TEST_ACCOUNT_PRIVATE_KEY; // eslint-disable-next-line no-else-return } else if (getSystemTestBackend() === 'testnet' || getSystemTestBackend() === 'mainnet') { - return secrets[getSystemTestBackend().toUpperCase() as 'TESTNET' | 'MAINNET'].ACCOUNT - .seed; + return secrets[getSystemTestBackend().toUpperCase() as 'TESTNET' | 'MAINNET'].ACCOUNT.seed; } throw new Error('Unable to get test account private key'); diff --git a/packages/web3-zond/test/fixtures/detect_transaction_type.ts b/packages/web3-zond/test/fixtures/detect_transaction_type.ts index 5a3945e4..f8b699db 100644 --- a/packages/web3-zond/test/fixtures/detect_transaction_type.ts +++ b/packages/web3-zond/test/fixtures/detect_transaction_type.ts @@ -138,4 +138,5 @@ export const transactionTypeUndefined: FormatType[] = []; +export const transactionTypeValidationError: FormatType[] = + []; diff --git a/packages/web3-zond/test/fixtures/format_transaction.ts b/packages/web3-zond/test/fixtures/format_transaction.ts index 9d658bd5..3058b44b 100644 --- a/packages/web3-zond/test/fixtures/format_transaction.ts +++ b/packages/web3-zond/test/fixtures/format_transaction.ts @@ -15,7 +15,13 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { FormatType, Transaction, DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER } from '@theqrl/web3-types'; +import { + FormatType, + Transaction, + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, +} from '@theqrl/web3-types'; import { hexToBytes } from '@theqrl/web3-utils'; export const bytesAsHexStringTransaction: FormatType< @@ -44,8 +50,10 @@ export const bytesAsHexStringTransaction: FormatType< hardfork: 'shanghai', }, gasLimit: BigInt('21000'), - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; export const bytesAsUint8ArrayTransaction: FormatType< @@ -74,8 +82,12 @@ export const bytesAsUint8ArrayTransaction: FormatType< hardfork: 'shanghai', }, gasLimit: BigInt('21000'), - publicKey: hexToBytes('0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d'), - signature: hexToBytes('0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37'), + publicKey: hexToBytes( + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + ), + signature: hexToBytes( + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + ), }; export const numbersAsHexStringTransaction: FormatType< @@ -104,8 +116,10 @@ export const numbersAsHexStringTransaction: FormatType< hardfork: 'shanghai', }, gasLimit: '0x5208', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; export const numbersAsNumberTransaction: FormatType< @@ -134,8 +148,10 @@ export const numbersAsNumberTransaction: FormatType< hardfork: 'shanghai', }, gasLimit: 21000, - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; export const numbersAsStringTransaction: FormatType< @@ -164,8 +180,10 @@ export const numbersAsStringTransaction: FormatType< hardfork: 'shanghai', }, gasLimit: '21000', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; export const numbersAsBigIntTransaction: FormatType< @@ -194,8 +212,10 @@ export const numbersAsBigIntTransaction: FormatType< hardfork: 'shanghai', }, gasLimit: BigInt(21000), - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; const dummyTransaction: Transaction = { diff --git a/packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts b/packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts index 0630d123..7da023ac 100644 --- a/packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts +++ b/packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts @@ -95,7 +95,7 @@ export const validTransactions: [ from: 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', value: '1000000000', input: '', - common: common, + common, accessList, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', @@ -118,7 +118,7 @@ export const validTransactions: [ to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', - common: common, + common, accessList, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', @@ -141,7 +141,7 @@ export const validTransactions: [ from: 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', value: '1000000000', input: '', - common: common, + common, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', @@ -162,7 +162,7 @@ export const validTransactions: [ to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', - common: common, + common, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', @@ -185,7 +185,7 @@ export const validTransactions: [ from: 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', value: '1000000000', input: '', - common: common, + common, accessList, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', @@ -208,7 +208,7 @@ export const validTransactions: [ to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', - common: common, + common, accessList, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', @@ -231,7 +231,7 @@ export const validTransactions: [ from: 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', value: '1000000000', input: '', - common: common, + common, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', @@ -253,7 +253,7 @@ export const validTransactions: [ from: 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', value: '1000000000', input: '', - common: common, + common, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', @@ -274,7 +274,7 @@ export const validTransactions: [ to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', - common: common, + common, }, '0x89e5dc721ff0b98aac7f03f30763d54e31b8c773d6b98a8e81c73e78039897270fcbf94ae0f2422d294dbf17256e7051', 'Z201BdF510d5aa66d1b5DB98dFB0f30D40b6Ea47D', diff --git a/packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts b/packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts index 59f4bbd6..d43f36c8 100644 --- a/packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts +++ b/packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts @@ -302,12 +302,7 @@ export const validateChainInfoData: [ export const validateGasData: [ FormatType | any, - ( - | undefined - | MissingGasError - | InvalidGas - | InvalidMaxPriorityFeePerGasOrMaxFeePerGas - ), + undefined | MissingGasError | InvalidGas | InvalidMaxPriorityFeePerGasOrMaxFeePerGas, ][] = [ [ { diff --git a/packages/web3-zond/test/fixtures/validation.ts b/packages/web3-zond/test/fixtures/validation.ts index 3e44324f..655b660a 100644 --- a/packages/web3-zond/test/fixtures/validation.ts +++ b/packages/web3-zond/test/fixtures/validation.ts @@ -96,13 +96,8 @@ export const isTransaction1559UnsignedValidData = (): [Transaction1559UnsignedAP ]; }); - - - export const isTransactionWithSenderValidData = (): [TransactionWithSenderAPI, true][] => { - const transactions = [ - ...isTransaction1559UnsignedValidData(), - ]; + const transactions = [...isTransaction1559UnsignedValidData()]; return transactions.map(transaction => { return [ { @@ -118,9 +113,7 @@ export const validateTransactionWithSenderInvalidData = (): [ any, InvalidTransactionWithSender, ][] => { - const transactions = [ - ...isTransaction1559UnsignedValidData(), - ]; + const transactions = [...isTransaction1559UnsignedValidData()]; return transactions.map(transaction => { return [transaction[0], new InvalidTransactionWithSender(transaction[0])]; }); diff --git a/packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts b/packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts index 1f1edf71..3098cd55 100644 --- a/packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts +++ b/packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts @@ -2053,8 +2053,10 @@ export const tx = { transactionIndex: '0', value: '1', type: '0x01', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; export const txReceipt: TransactionReceipt = { diff --git a/packages/web3-zond/test/integration/block/rpc.getBlock.test.ts b/packages/web3-zond/test/integration/block/rpc.getBlock.test.ts index 24158267..6c7aa06a 100644 --- a/packages/web3-zond/test/integration/block/rpc.getBlock.test.ts +++ b/packages/web3-zond/test/integration/block/rpc.getBlock.test.ts @@ -85,7 +85,7 @@ describe('rpc with block', () => { // tempAcc.address, // '100000000000000000000', // ); - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ }; + sendOptions = { from: tempAcc.address /* gas: '1000000' */ }; await contract.deploy(deployOptions).send(sendOptions); const [receipt]: TransactionReceipt[] = await sendFewTxes({ diff --git a/packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts b/packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts index 0a357e9a..0682556b 100644 --- a/packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts +++ b/packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts @@ -19,7 +19,7 @@ import { SupportedProviders, TransactionReceipt } from '@theqrl/web3-types'; import { Contract } from '@theqrl/web3-zond-contract'; import { Web3Zond } from '../../../src'; import { - //getSystemTestBackend, + // getSystemTestBackend, getSystemTestProvider, createTempAccount, closeOpenConnection, @@ -67,7 +67,7 @@ describe('rpc with block', () => { }); beforeAll(async () => { tempAcc = await createTempAccount(); - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ }; + sendOptions = { from: tempAcc.address /* gas: '1000000' */ }; await contract.deploy(deployOptions).send(sendOptions); const [receipt]: TransactionReceipt[] = await sendFewTxes({ diff --git a/packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts b/packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts index 7bd5e597..4d914160 100644 --- a/packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts +++ b/packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts @@ -66,7 +66,7 @@ describe('rpc with block', () => { }); beforeAll(async () => { tempAcc = await createTempAccount(); - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ type:2 }; + sendOptions = { from: tempAcc.address, /* gas: '1000000' */ type: 2 }; await contract.deploy(deployOptions).send(sendOptions); const [receipt]: TransactionReceipt[] = await sendFewTxes({ diff --git a/packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts b/packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts index e860d0cd..7bbd0dc6 100644 --- a/packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts +++ b/packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts @@ -65,7 +65,7 @@ describe('rpc with block', () => { }); beforeAll(async () => { tempAcc = await createTempAccount(); - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ type:2 }; + sendOptions = { from: tempAcc.address, /* gas: '1000000' */ type: 2 }; await contract.deploy(deployOptions).send(sendOptions); const [receipt]: TransactionReceipt[] = await sendFewTxes({ diff --git a/packages/web3-zond/test/integration/defaults.test.ts b/packages/web3-zond/test/integration/defaults.test.ts index 2d95e98c..11110e0c 100644 --- a/packages/web3-zond/test/integration/defaults.test.ts +++ b/packages/web3-zond/test/integration/defaults.test.ts @@ -17,7 +17,12 @@ along with web3.js. If not, see . // eslint-disable-next-line import/no-extraneous-dependencies import { Contract } from '@theqrl/web3-zond-contract'; import { hexToNumber, numberToHex } from '@theqrl/web3-utils'; -import { TransactionBuilder, TransactionTypeParser, Web3Context, Web3PromiEvent } from '@theqrl/web3-core'; +import { + TransactionBuilder, + TransactionTypeParser, + Web3Context, + Web3PromiEvent, +} from '@theqrl/web3-core'; import { Hardfork, SupportedProviders, @@ -71,7 +76,7 @@ describe('defaults', () => { data: BasicBytecode, arguments: [10, 'string init value'], }; - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ }; + sendOptions = { from: tempAcc.address /* gas: '1000000' */ }; }); afterEach(async () => { @@ -91,7 +96,7 @@ describe('defaults', () => { data: MsgSenderBytecode, arguments: ['test'], }) - .send({ from: tempAcc2.address, /*gas: '2700000',*/ }); + .send({ from: tempAcc2.address /* gas: '2700000', */ }); // default expect(web3Zond.defaultAccount).toBeUndefined(); @@ -117,10 +122,8 @@ describe('defaults', () => { defaultAccount: tempAcc.address, }); - const tx = await contractMsgFrom.methods - .setTestString('test2') - .send(); - //.send({ gas: '1000000' }); + const tx = await contractMsgFrom.methods.setTestString('test2').send(); + // .send({ gas: '1000000' }); const txSend = await web3Zond.sendTransaction({ to: tempAcc2.address, value: '0x1', @@ -485,9 +488,9 @@ describe('defaults', () => { it('enableExperimentalFeatures useSubscriptionWhenCheckingBlockTimeout', () => { // default - expect(web3Zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout).toBe( - false, - ); + expect( + web3Zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout, + ).toBe(false); // after set web3Zond.setConfig({ @@ -496,9 +499,9 @@ describe('defaults', () => { useRpcCallSpecification: false, }, }); - expect(web3Zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout).toBe( - true, - ); + expect( + web3Zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout, + ).toBe(true); // set by create new instance zond2 = new Web3Zond({ @@ -798,11 +801,6 @@ describe('defaults', () => { ); expect(res).toBe('0x4444'); - // test override to 0x2 if: - // tx.maxFeePerGas !== undefined || - // tx.maxPriorityFeePerGas !== undefined || - // tx.hardfork === 'london' || - // tx.common?.hardfork === 'london' const maxFeePerGasOverride = getTransactionType( { from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', @@ -867,9 +865,6 @@ describe('defaults', () => { ); expect(commonOverride).toBe('0x2'); - // override to 0x1 if: - // tx.accessList !== undefined || tx.hardfork === 'berlin' || tx.common?.hardfork === 'berlin' - const accessListOverride = getTransactionType( { from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', diff --git a/packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts b/packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts index 75e6f948..9fa06277 100644 --- a/packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts +++ b/packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts @@ -26,15 +26,15 @@ import { SendTransactionEvents } from '../../src'; import { closeOpenConnection, getSystemTestProvider, - //isSocket, - //itIf, - //waitForOpenConnection, + // isSocket, + // itIf, + // waitForOpenConnection, createLocalAccount, - //sendFewSampleTxs, + // sendFewSampleTxs, } from '../fixtures/system_test_utils'; const MAX_32_SIGNED_INTEGER = 2147483647; -//const gas = 21000; +// const gas = 21000; const type = BigInt(2); /* eslint-disable jest/no-standalone-expect */ describe('defaults', () => { @@ -71,7 +71,7 @@ describe('defaults', () => { > = web3.zond.sendTransaction({ from: account1.address, to: account2.address, - //gas, + // gas, type, value: '0x1', // Give a high nonce so the transaction stuck forever. diff --git a/packages/web3-zond/test/integration/get_revert_reason.test.ts b/packages/web3-zond/test/integration/get_revert_reason.test.ts index a2552553..7678d3b3 100644 --- a/packages/web3-zond/test/integration/get_revert_reason.test.ts +++ b/packages/web3-zond/test/integration/get_revert_reason.test.ts @@ -45,8 +45,9 @@ describe('Web3Zond.getRevertReason', () => { simpleRevertDeployTransaction.gas = await web3Zond.estimateGas( simpleRevertDeployTransaction, ); - simpleRevertContractAddress = (await web3Zond.sendTransaction(simpleRevertDeployTransaction)) - .contractAddress as Address; + simpleRevertContractAddress = ( + await web3Zond.sendTransaction(simpleRevertDeployTransaction) + ).contractAddress as Address; }); it('should return reason for a contract call', async () => { diff --git a/packages/web3-zond/test/integration/nonce.test.ts b/packages/web3-zond/test/integration/nonce.test.ts index 9c62ac7e..09d53d41 100644 --- a/packages/web3-zond/test/integration/nonce.test.ts +++ b/packages/web3-zond/test/integration/nonce.test.ts @@ -27,7 +27,7 @@ import { getSystemTestProvider, } from '../fixtures/system_test_utils'; -//const gas = 30000; +// const gas = 30000; describe('defaults', () => { let web3Zond: Web3Zond; @@ -61,7 +61,7 @@ describe('defaults', () => { to, value, from, - //gas, + // gas, // Give a high nonce so the transaction stuck forever. // However, make this random to be able to run the test many times without receiving an error that indicate submitting the same transaction twice. nonce: Number.MAX_SAFE_INTEGER, diff --git a/packages/web3-zond/test/integration/rpc.test.ts b/packages/web3-zond/test/integration/rpc.test.ts index bddfed58..81d96bf6 100644 --- a/packages/web3-zond/test/integration/rpc.test.ts +++ b/packages/web3-zond/test/integration/rpc.test.ts @@ -25,7 +25,12 @@ import { } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { Contract, decodeEventABI } from '@theqrl/web3-zond-contract'; -import { hexToNumber, hexToString, numberToHex, getStorageSlotNumForLongString } from '@theqrl/web3-utils'; +import { + hexToNumber, + hexToString, + numberToHex, + getStorageSlotNumForLongString, +} from '@theqrl/web3-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3Zond } from '../../src'; @@ -71,7 +76,7 @@ describe('rpc', () => { arguments: [10, 'string init value'], }; tempAcc = await createTempAccount(); - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ }; + sendOptions = { from: tempAcc.address /* gas: '1000000' */ }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); }); @@ -118,7 +123,7 @@ describe('rpc', () => { expect(typeof res).toBe(mapFormatToType[format as string]); expect(parseInt(String(res), 16)).toBeGreaterThan(0); }); - + it.each(Object.values(FMT_NUMBER))('getBalance', async format => { const value = '0xa'; const newAccount = await createNewAccount(); @@ -237,7 +242,7 @@ describe('rpc', () => { // TODO: after alpha release add tests for matching following (value transferred) // TODO: after alpha release add tests for matching following (specify some random inputData in tx and validate in test with getTransaction) - validateTransaction(res as TransactionInfo, {type: 2}); + validateTransaction(res as TransactionInfo, { type: 2 }); expect(res?.hash).toBe(receipt.transactionHash); }); @@ -278,7 +283,6 @@ describe('rpc', () => { // expect(res[0]).toEqual(tempAcc.address); }); - it('getPastLogs', async () => { const listOfStrings = ['t1', 't2', 't3']; const resTx = []; diff --git a/packages/web3-zond/test/integration/setup.js b/packages/web3-zond/test/integration/setup.js index e92c1d3c..1f7e77c3 100644 --- a/packages/web3-zond/test/integration/setup.js +++ b/packages/web3-zond/test/integration/setup.js @@ -20,6 +20,6 @@ along with web3.js. If not, see . require('../config/setup'); const jestTimeout = process.env.WEB3_SYSTEM_TEST_PROVIDER.includes('ipc') ? 120000 : 120000; -//const jestTimeout = process.env.WEB3_SYSTEM_TEST_PROVIDER.includes('ipc') ? 60000 : 50000; +// const jestTimeout = process.env.WEB3_SYSTEM_TEST_PROVIDER.includes('ipc') ? 60000 : 50000; jest.setTimeout(jestTimeout); diff --git a/packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts b/packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts index 04d4a918..be9f17b7 100644 --- a/packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts +++ b/packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts @@ -30,6 +30,7 @@ import { import { Wallet } from '@theqrl/web3-zond-accounts'; import { isHexStrict } from '@theqrl/web3-validator'; +import { isNullish } from '@theqrl/web3-utils'; import Web3Zond from '../../../src'; import { closeOpenConnection, @@ -39,7 +40,6 @@ import { getSystemTestProvider, } from '../../fixtures/system_test_utils'; import { SimpleRevertAbi, SimpleRevertDeploymentData } from '../../fixtures/simple_revert'; -import { isNullish } from '@theqrl/web3-utils'; describe('Web3Zond.sendTransaction', () => { let web3Zond: Web3Zond; @@ -321,23 +321,22 @@ describe('Web3Zond.sendTransaction', () => { }); it('should send type 0x2 transaction with maxPriorityFeePerGas got from await web3Zond.getMaxPriorityFeePerGas()', async () => { - const transaction: Transaction = { - from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', - value: BigInt(1), - maxPriorityFeePerGas: await web3Zond.getMaxPriorityFeePerGas(), - }; - const response = await web3Zond.sendTransaction(transaction); + const transaction: Transaction = { + from: tempAcc.address, + to: 'Z0000000000000000000000000000000000000000', + value: BigInt(1), + maxPriorityFeePerGas: await web3Zond.getMaxPriorityFeePerGas(), + }; + const response = await web3Zond.sendTransaction(transaction); - // eslint-disable-next-line jest/no-standalone-expect - expect(response.type).toBe(BigInt(2)); - // eslint-disable-next-line jest/no-standalone-expect - expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); - // eslint-disable-next-line jest/no-standalone-expect - expect(minedTransactionData).toMatchObject(transaction); - }, - ); + // eslint-disable-next-line jest/no-standalone-expect + expect(response.type).toBe(BigInt(2)); + // eslint-disable-next-line jest/no-standalone-expect + expect(response.status).toBe(BigInt(1)); + const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + // eslint-disable-next-line jest/no-standalone-expect + expect(minedTransactionData).toMatchObject(transaction); + }); describe('Transaction PromiEvents', () => { let transaction: Transaction; @@ -477,7 +476,7 @@ describe('Web3Zond.sendTransaction', () => { .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); }); - + it('Should throw TransactionRevertInstructionError because insufficient funds', async () => { const transaction: Transaction = { from: tempAcc.address, diff --git a/packages/web3-zond/test/integration/zond.test.ts b/packages/web3-zond/test/integration/zond.test.ts index f0378413..0bec2100 100644 --- a/packages/web3-zond/test/integration/zond.test.ts +++ b/packages/web3-zond/test/integration/zond.test.ts @@ -64,7 +64,7 @@ describe('zond', () => { arguments: [10, 'string init value'], }; - sendOptions = { from: tempAcc.address, /*gas: '1000000'*/ }; + sendOptions = { from: tempAcc.address /* gas: '1000000' */ }; const deployedContract = await contract.deploy(deployOptions).send(sendOptions); const { provider } = web3Zond; diff --git a/packages/web3-zond/test/unit/default_transaction_builder.test.ts b/packages/web3-zond/test/unit/default_transaction_builder.test.ts index c9f2c386..e2cf5698 100644 --- a/packages/web3-zond/test/unit/default_transaction_builder.test.ts +++ b/packages/web3-zond/test/unit/default_transaction_builder.test.ts @@ -329,22 +329,6 @@ describe('defaultTransactionBuilder', () => { }); describe('should populate hardfork', () => { - /* - it('should populate with london', async () => { - const input = { ...transaction }; - delete input.hardfork; - delete input.common; - delete input.maxPriorityFeePerGas; - delete input.maxFeePerGas; - - const result = await defaultTransactionBuilder({ - transaction: input, - web3Context, - fillGasPrice: true, - }); - expect(result.hardfork).toBe('london'); - }); - */ it('should populate with shanghai', async () => { const input = { ...transaction }; delete input.hardfork; @@ -541,7 +525,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gwei, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -555,7 +539,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gwei, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -569,7 +553,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gwei, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -591,7 +575,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gwei, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -612,7 +596,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gwei, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -633,7 +617,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gwei, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); }); diff --git a/packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts b/packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts index f7a5ba9c..7d27f95b 100644 --- a/packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts +++ b/packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts @@ -19,16 +19,13 @@ import { ZondExecutionAPI } from '@theqrl/web3-types'; import { Web3Context } from '@theqrl/web3-core'; import HttpProvider from '@theqrl/web3-providers-http'; import { isNullish } from '@theqrl/web3-validator'; -import { - FeeMarketEIP1559Transaction, -} from '@theqrl/web3-zond-accounts'; +import { FeeMarketEIP1559Transaction } from '@theqrl/web3-zond-accounts'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { bytesToHex, hexToBytes } from '@theqrl/web3-utils'; import { prepareTransactionForSigning } from '../../src/utils/prepare_transaction_for_signing'; import { validTransactions } from '../fixtures/prepare_transaction_for_signing'; - describe('prepareTransactionForSigning', () => { const web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), @@ -65,15 +62,11 @@ describe('prepareTransactionForSigning', () => { ); // should produce an web3-utils/tx instance - expect( - zondjsTx instanceof FeeMarketEIP1559Transaction, - ).toBeTruthy(); + expect(zondjsTx instanceof FeeMarketEIP1559Transaction).toBeTruthy(); expect(zondjsTx.sign).toBeDefined(); // should sign transaction - const signedTransaction = zondjsTx.sign( - hexToBytes(expectedSeed.substring(2)), - ); + const signedTransaction = zondjsTx.sign(hexToBytes(expectedSeed.substring(2))); const senderAddress = signedTransaction.getSenderAddress().toString(); expect(senderAddress).toBe(`Z${expectedAddress.slice(1).toLowerCase()}`); @@ -89,13 +82,13 @@ describe('prepareTransactionForSigning', () => { // should be able to obtain expectedMessageToSign const messageToSign = bytesToHex(signedTransaction.getMessageToSign()); expect(messageToSign).toBe(expectedMessageToSign); - + // should have expected public key and signature const publicKey = !isNullish(signedTransaction.publicKey) - ? bytesToHex(signedTransaction.publicKey!) + ? bytesToHex(signedTransaction.publicKey) : ''; const signature = !isNullish(signedTransaction.signature) - ? bytesToHex(signedTransaction.signature!) + ? bytesToHex(signedTransaction.signature) : ''; expect(publicKey).toBe(expectedPublicKey); expect(signature).toBe(expectedSignature); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts index 8a23c107..517c84b6 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts @@ -32,8 +32,10 @@ const transaction: TransactionCall = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; /** diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts index 7850f96b..44eddcd9 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts @@ -32,8 +32,10 @@ const transaction: Transaction = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; /** diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts index fa7b0a04..545d55d8 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts @@ -53,8 +53,10 @@ const hydratedTransaction: TransactionInfo = { to: 'Zf02c1c8e6114b1dbe8937a39260b5b0a374432bb', transactionIndex: '0x41', value: '0xf3dbb76162000', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', type: '0x2', }; export const mockRpcResponseHydrated: Block = { diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts index dcb71a78..37ebc378 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts @@ -31,8 +31,10 @@ const transaction: Transaction = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; export const mockRpcResponse: Transaction[] = [transaction, transaction, transaction]; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts index c50169fd..b68ef603 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts @@ -30,8 +30,10 @@ export const mockRpcResponse: TransactionInfo = { maxFeePerGas: '0xf2cec3661', maxPriorityFeePerGas: '0xb2d05e00', nonce: '0xb8', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', to: 'Z7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0xc8', type: '0x2', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts index 730f6c2f..d64f211b 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts @@ -32,8 +32,10 @@ export const mockRpcResponse: Transaction = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', - signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + signature: + '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', }; /** diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts index 4fff309c..04d7d2ea 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts @@ -50,8 +50,10 @@ const rawType0x2Transaction: Transaction = { }; const signedType0x2Transaction: Transaction = { ...rawType0x2Transaction, - publicKey: '0xda218daf9d5457bee0e2381250f7ad3159e8a243fbf90e02c2802e1722cee954758875aa00c57adda2736030ea7fd293367c202298d7125f4ca8bd83d0ee8e8805f4a9f2d3915d507a581d59a80491575ed69ed994a6650ecf8902cb056a6d5f8b59a46905ab1c58094c2a5a388de306486dbc23bf268ffa272e010182e8e9e23c07f55a866e59195333a353aeddf3cd51c22f955c21977d3ee9e4ee6557f30edb5d2517c04f834f6825a7a162323cb8b679cb5d2089190aa3e3c486b4b9895987b47e1b475ccc4f25969bc95ac24d2fb3cfcda7330ff9f949ac06a2b7a7293ee8463dc38a9c55d4bb5d8f4904836c29764931b0c3f4d1257871b132b08ae249fb40b61bb75360298f15345d4868b7aa4f06c485b703f6db84d2d5e1e70412928d6c6454a2a019540c518243e18e17404dfd781a576a34e0f297bc4fa69532e717cb9cadc1feafe4c6a99e31cde842dc05fd19d8c7131d530e9ab22b1c621e9d4a2ffd444376f0e0847c0523f56f345669fe88bb28492ed23dc822f83be85eb035695eceb08fb24fab3fb6cd54ee5972d68664af9d3bb4213da1ee11e95070eb45d033777eccf9efe54f2f23bdd0fd64cd0b4bd311d941f108fa13166505944de90e25fe50d4d4be8118d316994b53bacb96c92a4f4048e10fb01d7a8e89d7d0ba37f58ba37e1c399fd1d5c2fd0ba1d30231432a0592d0e06b0a18f0decaa3ef39e88c6d70b42bcc80e28f633c99a89e411d300ff78c7bc93f910906bc9d9202f4ce3b9a1c37432b4df23e053297f81b965ca0b1f447e323a2e66c9ffb75ab1c8daa2a9b239bd87bed1990f4dbf9747005950aa73b6a74da306342a63dfb67d5042f16814f08bd3fda8b572e501ce0a03111f93c0c1d3655634435f1ffc3fc000bf133c926bc336304eea648a7a1c7ebdd65fa593d5c11990878b385499a394584702fe309073aa15420e0d0980165ae7213dae40890babb2bbd3f7abf648c9dc74feba7c0ec8f0525bf5744744b9f5b28f6ac7f234e4f425f4bbafb69714abd911dd0514fd53039c13f72b1074f6c5a229f9172628747079193592bf74ac9049c2aed7823e9522ffeffb7d84887808a5e0814407ebbf514301fb015a3f0fa0c79d3fea883901f3bfc493569a239156f29364a1b43aeb4c3dc6a975ba517e1a6e8ca66b60e4de5326d2d65d95783b050546c73edc37175bf2dac38109c4cc6711c4f6ce4b7af5313e1967161841c11cbbd4f998d5d6b6b1135c9c75616ec88393300c199a2d602f6b048302258c6bf8960434ba6d3d6108a9d8fe17569c1454aedaa7b383975f3ecf1565df1e007744b9474111756a9b4471475dac9e55bb5eb1df67329aa077c14bb8aebac457ad06744e6b67238e1416e14a1c8c84d7981bb42b41562b10b9ba86809f47d19bb2c6a8a9f88559a9a73fecc7f95d781501095fd0f7493ecb020b35b613e2c91db655a9c85ae893e4da69e1ad833fb40c285f09992dbb6b18f154b198af34e3088928102e618722412934ff0bff977d9195d3eb520f8edb7cb08ffc9eeb0f60d02d8272652e456fdd28392acb41ce12fadc83c70dd742abd2015805f2b3713995d1d99050f08f9f88366cf5870b827dadc5bd20fdeacd672df857330be4e1b96838a0d8e97859fd7127d355e51ff9a5e43697b3cedaa1d62dd3aabe28fef97eae5cfec98399bc66f7a34616f95dcebf7eb6563a9115c13c46a80d564e669af08ce600ba0fec9f15a9422b1da6c3995cbff0212626c118ddf77721d84c938200bc9618e7234e3137053eb16620942e9632684e73163f0daad57327999e800c226a09c7083581e3b647cbd61e42a986ecb52f8e64e4d3efdb3fb942ebf2d1638a5c567115e6d33436e2f515e15b903e727d22c1945c968fd1ba1d87093e7768b75cd6033f2826580e85bd7c96477a62b1956a8f7aaba88d7ae095812acc9b9c33a477f3f920e49c7443bba90561b7804f6fe2bba598103507c61365bc11aea34f9f84c0e3a902eb6df4c292aead67699a63c1f5a4b87beb14b2e45537841902764b459b90ba378aadfdcd125deb953413fec2e3e1e3b4f6e435ae84cc7951b996a03db7e49cd1ddeda2041c99eff5dc9c85ffa383852ba9f9dde80cfe8c0353a6faa24a5ae307b8bd863c14f6a9b5b75daf8534118131b3b32b8239f51f6d5123ced24e9bd251d208ca40fa97f9e47fa79f25ede38280a5206c10281a8d4a8459fb0fe9dece2cc61f1ced84e7b5744e59312e32de10c82be7f81264d3a775a04913ce7bb1f28c25037f4b3b2ad5790b3667c9e309234cd161c36f7a71a0145ff0a7c9c1b9bed601b4971696c1979ac3ae2418a842e50c33ed45fddd0e319e48f72583cb90a4b08a57983f63918352cbc6f0a6d345c845f0f2cfbebc25cef454dfcdde04966e63e37d0b2060a12bdedfe3758c5f38a3c7250271ce9dded0e2c37304bbf668add831f76902d42041b9e7a2d77e9e912980be070a0dd84f3523055a86d84b7d92282974ec8f411e26aa88286b6a1314ea9a0b3d3ab100947770238d6a714d0e2ac9a1b7b3cff7e54c33d8bf7a40972418dc7fb205d7c29a8ad0a269eb9f0874e1ae2d37485e9fac92bce8c267d2feaa63f1fe186ae0cd25b626246b2db984941fa6eeb2b2ab14a56aaf15da2458b591b4862173a917a404725b9fee25539b948b2e2c9c5f2a251e9f88cd301715aa221e710228a0e1c691e0ea91414d7ddc6cbe76b572dd904b8107e4472e5e0d694ec8e4cf29c79ca83206c9a8fcb8e77a1157b4f7c9a68ab41520b5e2c0c9af6d11109c259ab5dc8d1f87bc83ebeb4a8845519833e42883ad7b16752b2ffbdc53ececca688b97b431a33d4223dcc32be985ea66f255ae44df027713ae10120e3bcc2eac966d974cc6e69449e959d7eb783855f975d36a8a5d5889db3137b338cabba16284d87965493bb07cc5639bb017499d5a59049a65fd5a0a58568c8c93677491b45b3099dd3ab9527dcb9455d42e7c22278dd800187a8fa016ad0ae3a5737f5ac6fbec043576cf5298150daba87066fb20ee074dfbfb330f4d9321834b35b43e9448997b254e78e1f2c5a4d757e4dc5bfee53dedcc863c539273d7135b063b724bc0edf153fd1f2828866801673c068442b38bcf45ea3bc006b84aaef5e8cc1de1d00e10484b3a59546c4b729595bde6a7facb5e1f6a041dd52307ec9ca2d1ca891eca2e2f0803ddac1698d6cc07d4ee381c06e9d232676c1acfa03287000c44afdf6c1613fa3ae499acd852f8a43dee5f2f790ab6b56a3010d6f35b6d0d3d185540f21593b8d8e75c4938192706ae087555ebc1e48882f1ee46af8256964d7fd4fb9bb6ffa60f79036b17e46d7f210c25fb1690a748dcf33ae74b1f44290fe1a46b87333def13630cc17e7e1290593775b043f817e603675dd16ceb159b4ee6d43799c2ae23984465e0942a64e30da1271d5e6194585d3ecdfe2302d4cae4ca388a516184e333f0d87103ab6585a955be8c7708c338fe1775b04486721b008cf99fd1f6d1a0d1027d975b21086fd42d4037f7979eac9e22108432401aff3443c5aec62e5a7c44bcda3d0ccc0e1b56c611f69b84500d2649f852190eedd1eb9a121d476dd26f81c6a52859c1de36066e8ce44a9f2edf94717b0fe445caddb', - signature: '0x0935c5706443302711732ba9885ca7bb6159c5dfb605c342c630bce9c4df9cba359818f330e3593c627a2020bc762b8dee97106effaca61b569a7f12b5b8c2f9a38ce92927ce3ecdad3c3521443347ea9f63c9fe448709002047f28671758100e5c94e4df05362b16138752bd5990604885ecc8eaa2d2466ebf538115370c72b5985c9f13ec04f762e3625fd433248a7f6efee01be7c22f1bfaa0f459396ad0255cc34d0b3e1e4c1a7b556ec9bf017e83bee29965f2fcf90e92c38fd99ec60fd4afa9eada645eb2bb7cb53b7e67211e8555a5fff6fe93257c975bc13a39681542eb5be699554f3b0ecb8b9e3d8adf0bfc5631355aaaa191dd45c26d0821cd71031a12338684a00a3dcf0cf1142a5185a73b8810cec81b521fed4452a76911a3e8cc06c5774d17cc45da74d6d40d0a17319970bc8920be220e1adf898eed27a5f2180b9df60164c9633dbdf748edc44bae0c117ee8650edd05158baeb9ffec06a413ab9ca6f484e7e68052a2f8721ec35f6c5dae005004dd4de715b142c1251fbc3810483b2dfdded14d98f7eeaf26a0f49673c6391610e413a58a6a49fa507e2fd5272e726a859d9b5ef7a3437e3af4c5001e7031ead37a048e32ae1cccaf1cace132722a26b4e7f88842a53e64c61a87d27c8070ad2757bc0db0338b774e54531aeb98e153e41dba39843c8d061fe487a38c6d5af11e8e699177bacff2458bb66eb5848c087de205589d99c63c011070e23696dc764b681625b54dc925b8d9b16246d8daaa910cc0ebd022b360e222f3a0c1ace07450e91de9dea8e3b6830370b1e21244ae71acaabf78571c202e59e6ad357afd8e7ddc9d1d9431f4efe4b75e8efd9a0805d91cb8b12f90d3e6e9c578c0932286438e49b4dedc3ea0a135c7cdbb3f383086bdec0328108c98c9eadade7a6b7132cfc2294c11c5caa2cb711f89ba9ced9cd4c8b89bfc1980bbe1d56385b4950fe00a2d48026de9f7a6a150f8a4e87b133ed70f894aca75960c0852abd8879051d0eabd1d9261a4dc785d8195a74819c4d9398fb4d2d9deb17bc8b63ee84100dacdaba9915a9305700fec4feae4452c53ab3868934ed02a629f79e96173d3d406b3d212e4caded40b9be7b5f377765a6e7db5c550641555251ac2ac0af8bf3b47fe5491bfe0119f7aea37f5131cbdd1d5e41c4fb3c77a720265e69c269587430fa4b5081dffe263a5fd45614258897fd454f2d15534337bcabe5538769015c2c135f3ddd27a67037d869b62ae57614f0dfec276ff9306e006a8933f303b587254609ced54432cafe59b7dd221fb84054ac080b710b2b476a2ce33130f03a817d2cead4fa151b083946ad680fe7d116f65581aefcfd8e3fbbd5657657a85230cff1e3e2f80381054d54c96e82a902bcfbcb60cf20d838f8fba4b74b482f8535554ab050715d008eaac85dab3c4919606a7f948f2e67f9ba41d023ec9c57d559fd1cfe56e6ea0e99c235c86010312c9d63d719ce73478c7a3b19b3fa0f7a5271771364f71a31875f56cc2bb567cbf874563891563d787a2033b3bfc7071cbb8b2ad7629446a132a23871486bad2bc1c7bf0ca4b217ede496907f71f0cc67318a533e259a5b5e6e6ad1e4b80ad62480103d525c9a9cf37e5408566eb8ef89ee2be6843397efd0959fd7cb0407b3700b2e0bf5cddf38d7d12f2a30637519babc7d2e22292ea868f2338dcc3bf63f4977439cd0984fec14de470ff940930be9614ae27d4a9c7d7e6430591e72997c3590a42538d5624eab37bf0f4bb84a66393b1f0f23bf0ac9fd439ede4eb58d4dc2aac5dc45865fc05493bc97d7df1d72cd6d0f56c90af76c9053432719cd8ace5838bd4d4592835aa4fc6466cfe43e60715cd8357a213449e1485ea058514e1ff539271a5434babf5d2f53d2ef82e2549a5e7ca68d6659e1b959e17cab4718ffa27119a3bc5238693d38c7fd1c4d3a66ddc643fb265ebd5f4b42457a64c7e20df6213285239a4aa1299708b304916cf3e3638c8dd3462add791d93c066e335beff662e43a899fee8bfa3902a94b0b8ee4c417935841dcb45207db1270ae584bfba4a1377e317cf6c868715b23877479c68b21c24e2e12bc9537aabd3093e5186f8a78acc393404a42b8a7e54e9fc7ad472e10d34cdb90ca8f94ed9484d37f517b465895643be2d26bb8130e553e7b55c66847671149567c34810b3c5f7f583eaeff39fca2c82ae5694d109b5bd5b9f24309df592d9bcac06e0818ad42de3b86cf52751244bf53e5e3dc2d47277ed6c0219d1dc3ed861462abc1df2759cc457e04971cc4aabef5a8798bd0b3805933fa73b15f437bd01f054d432dcc5f89a1a59efddedb8c78265d1765c3d538f1cca56611347a7a76d5fc1b28b48c2785008606a3b774461fbfd14204ca4d3a2b687424ade21489abecae340b10f0cc4e8a691f399a7a78cc573dc5a2e580845c8ea907f0c0a2145910e5c2eb9edf9230a94337572678cce9b33f48cafe61e494fe44c9ca24bc8c5b4a7f1cbce8a220f4b8d97156bc1cf91a43c1d71dde2dc621b77a3d94138d35b4d67f78e9c1c27127f4e8333039642f814398c21712eb0f3b27ea594fe81d8cc796bd4f8bdc1dabd916bef09bcf0bdf9034595d412675a4ace420f5105fa9ca1ecab8995bfb833d4d80f54bed43571aa411d8ba70f14cf361c549bf84e6d72a1a62e7272963221134620f87742804cb6868109aab31bba8f4520192e75ad39cb20375b2cac0e007662db7b0257c9f933aecc199b989eec8c716759458407f84b3e1dd0014db44309a46df72c996ef053090290e77c774722d0e52a8118256884bc0e782aab637c8312058cb3b85ad01186540e6d69b2d1586b523ec282fcb88a35928268c2003f87cb58b58bffbef4f636483bb06ad58fabefb958cf1bd4bec44d14be31c31aaa7cffa839161fc9be6e1a04f38ce2314ff5b3e039e6d6a3b4fb51ff0a30cce255048d467e27baf6cc2df950c0d629c9b352584d313291b38e5963e575f85bb1c00daf21b9dba8740bb842153a467e87f43983a8cf2691e9de3a52a6e13487faf8665ec639a60cb688426aad216d3f5b9feb89813a28979219ba6066842145b6775ed827023728685df857d190eac57d1acef555c9b1e30054364b730617a90c8582e5e6f66bfa245b0c53705530c6faa4011a0d5b94d15c65555437862ad6919f0182e038080fb3cfaa0224e40bb69403f8095bd744ec178f2855fa08f3e94e7dce2b64a4383da62809a8537efc0dbad167127eb170e69dabe6c142ea8a65aceca2a01c5e3f816d54e77cf08203d24752f7e99de231d08c3cf5f8481d7a94ce1ebc54f5121825a700eff0bb3577a604a0251bec7019a08918427bfd9e376cfa7b47d69fb888339bbca64b0b231f64d373b9137a1b1fe8115eb85447a6f3791e1f60f397128b60fb5a81fa713b712a6fc8e48dedf81c362c462749f77d2244ff8bf4d20fe40dffec34606e8e1faf9d1f67bf1990351564a4fc613bb1cf1f871e03dfe9a099c812aa349edc0fb581282ace5867d7ee1207cdaa261219cad381b446a6051422aace3eedcce741338b593b9c192ea3997886e88a0e38f5d346723cc0e94466f49d128f9d40d2f470551f3105ca0dfbea39db3748f6b6cee706a1e17783e228c3f0daa4b3e3f72ebe1923dc94f18a66119905ecb0f53fa15cbf305004a94d70ce5df8dedd76d071036e9bc99e76a345009cf5424cdbd7a877831408bfc4d6a3321e33bb0ac2fd81bc405bff83f7fc4b8e558af231d88fdde4ae4402c8b743964cd8d543378f6212ae6dd68b2e8efcb62d4a7d7cccf85eafcebfca7a1d06b0b7fa618f8ecd7c07cbe40183244aaeba1c37520d464f9d96dc392f3f7cbb806f12c2d867b94324d35854d7fca5454cabf5de6fc7225ac4965ca176f9fc8f1d62fc1b27a4768bd9d6a2bf7d10982a01d9e953d9ccb3b0f20e79a9963b365fe4fc7a70d9b88b223e889bdd3dc17a3dc8d195feb4f39cb59f590e464c8efcaa445a4d5ebc5501fd0e91040b639ce3b4b2574a3eabaa60cef9334b1a384da9930849f36e01b8c8dbdabde85c3b02eb6b209fbd57028432a17fbd3ef987d38ab4157f02a5578bee71ed0a28c58447dfb9f6f15647831c20dcb82499c3f1484b5f4b1bf0bb94b57b5483e1565020f134e15312dcfdbfa1c6af51b6d9f486d39977a96a53f028c2cc0bb8078ee21059dd44d455aeb51daf1579abe4c35e6f1251df752d26a42dee8c20d710b173b32c3990866d1683063cef6cd8ed1512e109207d421cdb7d7db8c9fa2797d6be3ee057b3207c86846db11cff0a29e07d23fe6a4eeae3943798a76acedb3d38797f6f094ee1ad6203a3353fb120811c3d18170a774b7809f311d404e861fc07a0c0fedd8c6f4529d401086b948d1f373c60883b23c0eb202a9f98e61b501b91bcdb9a20d18e62c060e21d192ec0924164a9d7bca22a6668ac07fb11500cd009cf80eb0ce8576470099123686ac16ad32184f124aeb8a6202fa58aa2b9adb0664307044ec969b4d2dc90102f6ac9757963b0da6bffbf5aaf7928006653ad9a8ea285948d00971ae4067efa7b37990ca1416cdbd689e950a5d3d61ed7c990915cdd97b8d273223df3ec242e6f5b48222f35059f301b28b876d114ad5dc26caa9964a509c9d4d82e966ea94ee9c2d5694304e37187dcdb58c3ccc4eee8e786b33f37c08204d5feee88a96127710bfbe00d63fb17b397210b11c508a5138d9a7d4f75ddaf882261ff1b02f05975e2757c70bdde9208ceaca0ef1ed4c7ecf2b3a2be1c1e11ab984f2dcc580dfbf03207032c10f682a19398b47d88940292f1a5bf780d6f8567f1169130742ad5cac9c42d546d6581b5df8ebd7d607ce465e6eeb9b12fd09a520d604a2ef348c2fbe7bb1f81551d67433b1d19438682ed0d46caf8fbe0d8ec10d85ca71a3095eb76d34461c8eb5a90d39f3c97b1f619bea1663befcaaecc97a9a08d4b335242319ded480d826dd35894f64c49cda13102d9aa126aeda4365accbc7bc6aca9a723537991273f41c09ecf009908b4f18de6729f6d16ff598a20bdd46dfb62ac08ee67ed91dfb8d992a14382293129d9971c6b9ebbb378c87ae9704fb976943e02abd29a7febc86e00488677d575d501bc3e8485c4b1d80a343e1aca737da8d9fdf589255a51fbe93efb84c43b76934675d63ee93e1234e299101b7b99b88f152340dd07fba2d97abae648173b2a58546159bb59e83561df55559bc6008255aeadaf56efd7035ec0dfe1bf45483224712b4c0328d78faa365694df862d75bedbf18d9737171351d1e7a19e8f3cf7a1e05357a728e711e7771d159e7712457af1a6b678f00758811a8f8507fb2dfe4253abbddb89553793d29a41cf2b64a5e824b78afffddcbf81342fa0877e0c88b9a97323e1102803ca2541bd28fb790b0821597d8661bd4fe524b7ecdada89a30cbaef2cba546145d6ea4b985aef676d13cdad1d13cd8d086c26cf60dcd8d33b21a4e7a8c5e9a1abaa5938282288f05fcd6143f3ad0c22b6c68bda5bf1df2ee6ca00dbddad99f5013125da578299fcd0ea8b040b2a0f854331355ed1e00489fbdf862a81aea97b1a417df3aa530f7843d66516eb997b1ec517eba23f80eb38c4cb7ad5e488081431425fcfc272584f3f24e29ee2023ae1c197c3d6f77d2ce54b5da9d4fb13e8aad9915d17afd2deb55bc6adcbcd717fba516ef6d79494c8e0efc4a85baa7a97891706e700f400d9d880707111f081f1af6d2ab9e3f375ac60ae923f9a1d92037b143b5d4bf238af35930b876f47afd3202a2279a8fcdef568fd192da1b8504ca9daea018c0c221acc76ddda58a0e373d0e63817ec36d026421b74b87bb5b159d9013879083a298e5385c3120e3b853816416c359d0e65050adc3b70627b084ad7149ab461db9e8335e602b903fbeccc2c12234f2b67a4d30fd2b7a19fc335b24c76f0e52e75539dfa2f7c4f00f8afbc442fa84cc2c830c0e935ba294c1392c874a369f75505093346170727a1fdbc7dedaa07df03d75d5ce5dfdd9acbf82c29c20d3151b7b99b47e9d085df2d14514df579739a6d25b825322108ed2da49e7c55f29f56ac490b6e1c6f8bd20fa9d979211d69523da1f1ed38b8208c622e755d6dc839b2816c3c377e5e3b8a4519cdded01995fc42464acfcd6823712884804629af7530a02a46798c8d28e0fd8cb05c8da263c576a881d1f7159301158b5093e30557e2d4496e35ff8dccb26d8fa29adc24456846acb017cc99e28eec9f47bc406c0963e3310d19f51f9b402ca86ec763ae7d5f96ed3d3cc281c4ab0fec7b0f7cca1e3b0f68fe144c37fef2537413c7963309b35ddb8837072d5a84161d2e4a5e9993aaf70eaaf00023434f97bcc0cdd1f5091547ace2ef0e2c31a0b4dd76829dadaeb4d9eef354658be6f30000000000000000000000000000000000000000000000000000000005080b151b212a2f', + publicKey: + '0xda218daf9d5457bee0e2381250f7ad3159e8a243fbf90e02c2802e1722cee954758875aa00c57adda2736030ea7fd293367c202298d7125f4ca8bd83d0ee8e8805f4a9f2d3915d507a581d59a80491575ed69ed994a6650ecf8902cb056a6d5f8b59a46905ab1c58094c2a5a388de306486dbc23bf268ffa272e010182e8e9e23c07f55a866e59195333a353aeddf3cd51c22f955c21977d3ee9e4ee6557f30edb5d2517c04f834f6825a7a162323cb8b679cb5d2089190aa3e3c486b4b9895987b47e1b475ccc4f25969bc95ac24d2fb3cfcda7330ff9f949ac06a2b7a7293ee8463dc38a9c55d4bb5d8f4904836c29764931b0c3f4d1257871b132b08ae249fb40b61bb75360298f15345d4868b7aa4f06c485b703f6db84d2d5e1e70412928d6c6454a2a019540c518243e18e17404dfd781a576a34e0f297bc4fa69532e717cb9cadc1feafe4c6a99e31cde842dc05fd19d8c7131d530e9ab22b1c621e9d4a2ffd444376f0e0847c0523f56f345669fe88bb28492ed23dc822f83be85eb035695eceb08fb24fab3fb6cd54ee5972d68664af9d3bb4213da1ee11e95070eb45d033777eccf9efe54f2f23bdd0fd64cd0b4bd311d941f108fa13166505944de90e25fe50d4d4be8118d316994b53bacb96c92a4f4048e10fb01d7a8e89d7d0ba37f58ba37e1c399fd1d5c2fd0ba1d30231432a0592d0e06b0a18f0decaa3ef39e88c6d70b42bcc80e28f633c99a89e411d300ff78c7bc93f910906bc9d9202f4ce3b9a1c37432b4df23e053297f81b965ca0b1f447e323a2e66c9ffb75ab1c8daa2a9b239bd87bed1990f4dbf9747005950aa73b6a74da306342a63dfb67d5042f16814f08bd3fda8b572e501ce0a03111f93c0c1d3655634435f1ffc3fc000bf133c926bc336304eea648a7a1c7ebdd65fa593d5c11990878b385499a394584702fe309073aa15420e0d0980165ae7213dae40890babb2bbd3f7abf648c9dc74feba7c0ec8f0525bf5744744b9f5b28f6ac7f234e4f425f4bbafb69714abd911dd0514fd53039c13f72b1074f6c5a229f9172628747079193592bf74ac9049c2aed7823e9522ffeffb7d84887808a5e0814407ebbf514301fb015a3f0fa0c79d3fea883901f3bfc493569a239156f29364a1b43aeb4c3dc6a975ba517e1a6e8ca66b60e4de5326d2d65d95783b050546c73edc37175bf2dac38109c4cc6711c4f6ce4b7af5313e1967161841c11cbbd4f998d5d6b6b1135c9c75616ec88393300c199a2d602f6b048302258c6bf8960434ba6d3d6108a9d8fe17569c1454aedaa7b383975f3ecf1565df1e007744b9474111756a9b4471475dac9e55bb5eb1df67329aa077c14bb8aebac457ad06744e6b67238e1416e14a1c8c84d7981bb42b41562b10b9ba86809f47d19bb2c6a8a9f88559a9a73fecc7f95d781501095fd0f7493ecb020b35b613e2c91db655a9c85ae893e4da69e1ad833fb40c285f09992dbb6b18f154b198af34e3088928102e618722412934ff0bff977d9195d3eb520f8edb7cb08ffc9eeb0f60d02d8272652e456fdd28392acb41ce12fadc83c70dd742abd2015805f2b3713995d1d99050f08f9f88366cf5870b827dadc5bd20fdeacd672df857330be4e1b96838a0d8e97859fd7127d355e51ff9a5e43697b3cedaa1d62dd3aabe28fef97eae5cfec98399bc66f7a34616f95dcebf7eb6563a9115c13c46a80d564e669af08ce600ba0fec9f15a9422b1da6c3995cbff0212626c118ddf77721d84c938200bc9618e7234e3137053eb16620942e9632684e73163f0daad57327999e800c226a09c7083581e3b647cbd61e42a986ecb52f8e64e4d3efdb3fb942ebf2d1638a5c567115e6d33436e2f515e15b903e727d22c1945c968fd1ba1d87093e7768b75cd6033f2826580e85bd7c96477a62b1956a8f7aaba88d7ae095812acc9b9c33a477f3f920e49c7443bba90561b7804f6fe2bba598103507c61365bc11aea34f9f84c0e3a902eb6df4c292aead67699a63c1f5a4b87beb14b2e45537841902764b459b90ba378aadfdcd125deb953413fec2e3e1e3b4f6e435ae84cc7951b996a03db7e49cd1ddeda2041c99eff5dc9c85ffa383852ba9f9dde80cfe8c0353a6faa24a5ae307b8bd863c14f6a9b5b75daf8534118131b3b32b8239f51f6d5123ced24e9bd251d208ca40fa97f9e47fa79f25ede38280a5206c10281a8d4a8459fb0fe9dece2cc61f1ced84e7b5744e59312e32de10c82be7f81264d3a775a04913ce7bb1f28c25037f4b3b2ad5790b3667c9e309234cd161c36f7a71a0145ff0a7c9c1b9bed601b4971696c1979ac3ae2418a842e50c33ed45fddd0e319e48f72583cb90a4b08a57983f63918352cbc6f0a6d345c845f0f2cfbebc25cef454dfcdde04966e63e37d0b2060a12bdedfe3758c5f38a3c7250271ce9dded0e2c37304bbf668add831f76902d42041b9e7a2d77e9e912980be070a0dd84f3523055a86d84b7d92282974ec8f411e26aa88286b6a1314ea9a0b3d3ab100947770238d6a714d0e2ac9a1b7b3cff7e54c33d8bf7a40972418dc7fb205d7c29a8ad0a269eb9f0874e1ae2d37485e9fac92bce8c267d2feaa63f1fe186ae0cd25b626246b2db984941fa6eeb2b2ab14a56aaf15da2458b591b4862173a917a404725b9fee25539b948b2e2c9c5f2a251e9f88cd301715aa221e710228a0e1c691e0ea91414d7ddc6cbe76b572dd904b8107e4472e5e0d694ec8e4cf29c79ca83206c9a8fcb8e77a1157b4f7c9a68ab41520b5e2c0c9af6d11109c259ab5dc8d1f87bc83ebeb4a8845519833e42883ad7b16752b2ffbdc53ececca688b97b431a33d4223dcc32be985ea66f255ae44df027713ae10120e3bcc2eac966d974cc6e69449e959d7eb783855f975d36a8a5d5889db3137b338cabba16284d87965493bb07cc5639bb017499d5a59049a65fd5a0a58568c8c93677491b45b3099dd3ab9527dcb9455d42e7c22278dd800187a8fa016ad0ae3a5737f5ac6fbec043576cf5298150daba87066fb20ee074dfbfb330f4d9321834b35b43e9448997b254e78e1f2c5a4d757e4dc5bfee53dedcc863c539273d7135b063b724bc0edf153fd1f2828866801673c068442b38bcf45ea3bc006b84aaef5e8cc1de1d00e10484b3a59546c4b729595bde6a7facb5e1f6a041dd52307ec9ca2d1ca891eca2e2f0803ddac1698d6cc07d4ee381c06e9d232676c1acfa03287000c44afdf6c1613fa3ae499acd852f8a43dee5f2f790ab6b56a3010d6f35b6d0d3d185540f21593b8d8e75c4938192706ae087555ebc1e48882f1ee46af8256964d7fd4fb9bb6ffa60f79036b17e46d7f210c25fb1690a748dcf33ae74b1f44290fe1a46b87333def13630cc17e7e1290593775b043f817e603675dd16ceb159b4ee6d43799c2ae23984465e0942a64e30da1271d5e6194585d3ecdfe2302d4cae4ca388a516184e333f0d87103ab6585a955be8c7708c338fe1775b04486721b008cf99fd1f6d1a0d1027d975b21086fd42d4037f7979eac9e22108432401aff3443c5aec62e5a7c44bcda3d0ccc0e1b56c611f69b84500d2649f852190eedd1eb9a121d476dd26f81c6a52859c1de36066e8ce44a9f2edf94717b0fe445caddb', + signature: + '0x0935c5706443302711732ba9885ca7bb6159c5dfb605c342c630bce9c4df9cba359818f330e3593c627a2020bc762b8dee97106effaca61b569a7f12b5b8c2f9a38ce92927ce3ecdad3c3521443347ea9f63c9fe448709002047f28671758100e5c94e4df05362b16138752bd5990604885ecc8eaa2d2466ebf538115370c72b5985c9f13ec04f762e3625fd433248a7f6efee01be7c22f1bfaa0f459396ad0255cc34d0b3e1e4c1a7b556ec9bf017e83bee29965f2fcf90e92c38fd99ec60fd4afa9eada645eb2bb7cb53b7e67211e8555a5fff6fe93257c975bc13a39681542eb5be699554f3b0ecb8b9e3d8adf0bfc5631355aaaa191dd45c26d0821cd71031a12338684a00a3dcf0cf1142a5185a73b8810cec81b521fed4452a76911a3e8cc06c5774d17cc45da74d6d40d0a17319970bc8920be220e1adf898eed27a5f2180b9df60164c9633dbdf748edc44bae0c117ee8650edd05158baeb9ffec06a413ab9ca6f484e7e68052a2f8721ec35f6c5dae005004dd4de715b142c1251fbc3810483b2dfdded14d98f7eeaf26a0f49673c6391610e413a58a6a49fa507e2fd5272e726a859d9b5ef7a3437e3af4c5001e7031ead37a048e32ae1cccaf1cace132722a26b4e7f88842a53e64c61a87d27c8070ad2757bc0db0338b774e54531aeb98e153e41dba39843c8d061fe487a38c6d5af11e8e699177bacff2458bb66eb5848c087de205589d99c63c011070e23696dc764b681625b54dc925b8d9b16246d8daaa910cc0ebd022b360e222f3a0c1ace07450e91de9dea8e3b6830370b1e21244ae71acaabf78571c202e59e6ad357afd8e7ddc9d1d9431f4efe4b75e8efd9a0805d91cb8b12f90d3e6e9c578c0932286438e49b4dedc3ea0a135c7cdbb3f383086bdec0328108c98c9eadade7a6b7132cfc2294c11c5caa2cb711f89ba9ced9cd4c8b89bfc1980bbe1d56385b4950fe00a2d48026de9f7a6a150f8a4e87b133ed70f894aca75960c0852abd8879051d0eabd1d9261a4dc785d8195a74819c4d9398fb4d2d9deb17bc8b63ee84100dacdaba9915a9305700fec4feae4452c53ab3868934ed02a629f79e96173d3d406b3d212e4caded40b9be7b5f377765a6e7db5c550641555251ac2ac0af8bf3b47fe5491bfe0119f7aea37f5131cbdd1d5e41c4fb3c77a720265e69c269587430fa4b5081dffe263a5fd45614258897fd454f2d15534337bcabe5538769015c2c135f3ddd27a67037d869b62ae57614f0dfec276ff9306e006a8933f303b587254609ced54432cafe59b7dd221fb84054ac080b710b2b476a2ce33130f03a817d2cead4fa151b083946ad680fe7d116f65581aefcfd8e3fbbd5657657a85230cff1e3e2f80381054d54c96e82a902bcfbcb60cf20d838f8fba4b74b482f8535554ab050715d008eaac85dab3c4919606a7f948f2e67f9ba41d023ec9c57d559fd1cfe56e6ea0e99c235c86010312c9d63d719ce73478c7a3b19b3fa0f7a5271771364f71a31875f56cc2bb567cbf874563891563d787a2033b3bfc7071cbb8b2ad7629446a132a23871486bad2bc1c7bf0ca4b217ede496907f71f0cc67318a533e259a5b5e6e6ad1e4b80ad62480103d525c9a9cf37e5408566eb8ef89ee2be6843397efd0959fd7cb0407b3700b2e0bf5cddf38d7d12f2a30637519babc7d2e22292ea868f2338dcc3bf63f4977439cd0984fec14de470ff940930be9614ae27d4a9c7d7e6430591e72997c3590a42538d5624eab37bf0f4bb84a66393b1f0f23bf0ac9fd439ede4eb58d4dc2aac5dc45865fc05493bc97d7df1d72cd6d0f56c90af76c9053432719cd8ace5838bd4d4592835aa4fc6466cfe43e60715cd8357a213449e1485ea058514e1ff539271a5434babf5d2f53d2ef82e2549a5e7ca68d6659e1b959e17cab4718ffa27119a3bc5238693d38c7fd1c4d3a66ddc643fb265ebd5f4b42457a64c7e20df6213285239a4aa1299708b304916cf3e3638c8dd3462add791d93c066e335beff662e43a899fee8bfa3902a94b0b8ee4c417935841dcb45207db1270ae584bfba4a1377e317cf6c868715b23877479c68b21c24e2e12bc9537aabd3093e5186f8a78acc393404a42b8a7e54e9fc7ad472e10d34cdb90ca8f94ed9484d37f517b465895643be2d26bb8130e553e7b55c66847671149567c34810b3c5f7f583eaeff39fca2c82ae5694d109b5bd5b9f24309df592d9bcac06e0818ad42de3b86cf52751244bf53e5e3dc2d47277ed6c0219d1dc3ed861462abc1df2759cc457e04971cc4aabef5a8798bd0b3805933fa73b15f437bd01f054d432dcc5f89a1a59efddedb8c78265d1765c3d538f1cca56611347a7a76d5fc1b28b48c2785008606a3b774461fbfd14204ca4d3a2b687424ade21489abecae340b10f0cc4e8a691f399a7a78cc573dc5a2e580845c8ea907f0c0a2145910e5c2eb9edf9230a94337572678cce9b33f48cafe61e494fe44c9ca24bc8c5b4a7f1cbce8a220f4b8d97156bc1cf91a43c1d71dde2dc621b77a3d94138d35b4d67f78e9c1c27127f4e8333039642f814398c21712eb0f3b27ea594fe81d8cc796bd4f8bdc1dabd916bef09bcf0bdf9034595d412675a4ace420f5105fa9ca1ecab8995bfb833d4d80f54bed43571aa411d8ba70f14cf361c549bf84e6d72a1a62e7272963221134620f87742804cb6868109aab31bba8f4520192e75ad39cb20375b2cac0e007662db7b0257c9f933aecc199b989eec8c716759458407f84b3e1dd0014db44309a46df72c996ef053090290e77c774722d0e52a8118256884bc0e782aab637c8312058cb3b85ad01186540e6d69b2d1586b523ec282fcb88a35928268c2003f87cb58b58bffbef4f636483bb06ad58fabefb958cf1bd4bec44d14be31c31aaa7cffa839161fc9be6e1a04f38ce2314ff5b3e039e6d6a3b4fb51ff0a30cce255048d467e27baf6cc2df950c0d629c9b352584d313291b38e5963e575f85bb1c00daf21b9dba8740bb842153a467e87f43983a8cf2691e9de3a52a6e13487faf8665ec639a60cb688426aad216d3f5b9feb89813a28979219ba6066842145b6775ed827023728685df857d190eac57d1acef555c9b1e30054364b730617a90c8582e5e6f66bfa245b0c53705530c6faa4011a0d5b94d15c65555437862ad6919f0182e038080fb3cfaa0224e40bb69403f8095bd744ec178f2855fa08f3e94e7dce2b64a4383da62809a8537efc0dbad167127eb170e69dabe6c142ea8a65aceca2a01c5e3f816d54e77cf08203d24752f7e99de231d08c3cf5f8481d7a94ce1ebc54f5121825a700eff0bb3577a604a0251bec7019a08918427bfd9e376cfa7b47d69fb888339bbca64b0b231f64d373b9137a1b1fe8115eb85447a6f3791e1f60f397128b60fb5a81fa713b712a6fc8e48dedf81c362c462749f77d2244ff8bf4d20fe40dffec34606e8e1faf9d1f67bf1990351564a4fc613bb1cf1f871e03dfe9a099c812aa349edc0fb581282ace5867d7ee1207cdaa261219cad381b446a6051422aace3eedcce741338b593b9c192ea3997886e88a0e38f5d346723cc0e94466f49d128f9d40d2f470551f3105ca0dfbea39db3748f6b6cee706a1e17783e228c3f0daa4b3e3f72ebe1923dc94f18a66119905ecb0f53fa15cbf305004a94d70ce5df8dedd76d071036e9bc99e76a345009cf5424cdbd7a877831408bfc4d6a3321e33bb0ac2fd81bc405bff83f7fc4b8e558af231d88fdde4ae4402c8b743964cd8d543378f6212ae6dd68b2e8efcb62d4a7d7cccf85eafcebfca7a1d06b0b7fa618f8ecd7c07cbe40183244aaeba1c37520d464f9d96dc392f3f7cbb806f12c2d867b94324d35854d7fca5454cabf5de6fc7225ac4965ca176f9fc8f1d62fc1b27a4768bd9d6a2bf7d10982a01d9e953d9ccb3b0f20e79a9963b365fe4fc7a70d9b88b223e889bdd3dc17a3dc8d195feb4f39cb59f590e464c8efcaa445a4d5ebc5501fd0e91040b639ce3b4b2574a3eabaa60cef9334b1a384da9930849f36e01b8c8dbdabde85c3b02eb6b209fbd57028432a17fbd3ef987d38ab4157f02a5578bee71ed0a28c58447dfb9f6f15647831c20dcb82499c3f1484b5f4b1bf0bb94b57b5483e1565020f134e15312dcfdbfa1c6af51b6d9f486d39977a96a53f028c2cc0bb8078ee21059dd44d455aeb51daf1579abe4c35e6f1251df752d26a42dee8c20d710b173b32c3990866d1683063cef6cd8ed1512e109207d421cdb7d7db8c9fa2797d6be3ee057b3207c86846db11cff0a29e07d23fe6a4eeae3943798a76acedb3d38797f6f094ee1ad6203a3353fb120811c3d18170a774b7809f311d404e861fc07a0c0fedd8c6f4529d401086b948d1f373c60883b23c0eb202a9f98e61b501b91bcdb9a20d18e62c060e21d192ec0924164a9d7bca22a6668ac07fb11500cd009cf80eb0ce8576470099123686ac16ad32184f124aeb8a6202fa58aa2b9adb0664307044ec969b4d2dc90102f6ac9757963b0da6bffbf5aaf7928006653ad9a8ea285948d00971ae4067efa7b37990ca1416cdbd689e950a5d3d61ed7c990915cdd97b8d273223df3ec242e6f5b48222f35059f301b28b876d114ad5dc26caa9964a509c9d4d82e966ea94ee9c2d5694304e37187dcdb58c3ccc4eee8e786b33f37c08204d5feee88a96127710bfbe00d63fb17b397210b11c508a5138d9a7d4f75ddaf882261ff1b02f05975e2757c70bdde9208ceaca0ef1ed4c7ecf2b3a2be1c1e11ab984f2dcc580dfbf03207032c10f682a19398b47d88940292f1a5bf780d6f8567f1169130742ad5cac9c42d546d6581b5df8ebd7d607ce465e6eeb9b12fd09a520d604a2ef348c2fbe7bb1f81551d67433b1d19438682ed0d46caf8fbe0d8ec10d85ca71a3095eb76d34461c8eb5a90d39f3c97b1f619bea1663befcaaecc97a9a08d4b335242319ded480d826dd35894f64c49cda13102d9aa126aeda4365accbc7bc6aca9a723537991273f41c09ecf009908b4f18de6729f6d16ff598a20bdd46dfb62ac08ee67ed91dfb8d992a14382293129d9971c6b9ebbb378c87ae9704fb976943e02abd29a7febc86e00488677d575d501bc3e8485c4b1d80a343e1aca737da8d9fdf589255a51fbe93efb84c43b76934675d63ee93e1234e299101b7b99b88f152340dd07fba2d97abae648173b2a58546159bb59e83561df55559bc6008255aeadaf56efd7035ec0dfe1bf45483224712b4c0328d78faa365694df862d75bedbf18d9737171351d1e7a19e8f3cf7a1e05357a728e711e7771d159e7712457af1a6b678f00758811a8f8507fb2dfe4253abbddb89553793d29a41cf2b64a5e824b78afffddcbf81342fa0877e0c88b9a97323e1102803ca2541bd28fb790b0821597d8661bd4fe524b7ecdada89a30cbaef2cba546145d6ea4b985aef676d13cdad1d13cd8d086c26cf60dcd8d33b21a4e7a8c5e9a1abaa5938282288f05fcd6143f3ad0c22b6c68bda5bf1df2ee6ca00dbddad99f5013125da578299fcd0ea8b040b2a0f854331355ed1e00489fbdf862a81aea97b1a417df3aa530f7843d66516eb997b1ec517eba23f80eb38c4cb7ad5e488081431425fcfc272584f3f24e29ee2023ae1c197c3d6f77d2ce54b5da9d4fb13e8aad9915d17afd2deb55bc6adcbcd717fba516ef6d79494c8e0efc4a85baa7a97891706e700f400d9d880707111f081f1af6d2ab9e3f375ac60ae923f9a1d92037b143b5d4bf238af35930b876f47afd3202a2279a8fcdef568fd192da1b8504ca9daea018c0c221acc76ddda58a0e373d0e63817ec36d026421b74b87bb5b159d9013879083a298e5385c3120e3b853816416c359d0e65050adc3b70627b084ad7149ab461db9e8335e602b903fbeccc2c12234f2b67a4d30fd2b7a19fc335b24c76f0e52e75539dfa2f7c4f00f8afbc442fa84cc2c830c0e935ba294c1392c874a369f75505093346170727a1fdbc7dedaa07df03d75d5ce5dfdd9acbf82c29c20d3151b7b99b47e9d085df2d14514df579739a6d25b825322108ed2da49e7c55f29f56ac490b6e1c6f8bd20fa9d979211d69523da1f1ed38b8208c622e755d6dc839b2816c3c377e5e3b8a4519cdded01995fc42464acfcd6823712884804629af7530a02a46798c8d28e0fd8cb05c8da263c576a881d1f7159301158b5093e30557e2d4496e35ff8dccb26d8fa29adc24456846acb017cc99e28eec9f47bc406c0963e3310d19f51f9b402ca86ec763ae7d5f96ed3d3cc281c4ab0fec7b0f7cca1e3b0f68fe144c37fef2537413c7963309b35ddb8837072d5a84161d2e4a5e9993aaf70eaaf00023434f97bcc0cdd1f5091547ace2ef0e2c31a0b4dd76829dadaeb4d9eef354658be6f30000000000000000000000000000000000000000000000000000000005080b151b212a2f', }; const type0x2SignedTransactionInfo = { @@ -73,7 +75,7 @@ type TestData = [ string, [Transaction, SignedTransactionInfoAPI | HexStringBytes, SignedTransactionInfoAPI], ]; -export const testData: TestData[] = [ +export const testData: TestData[] = [ [ JSON.stringify(rawType0x2Transaction), [ diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts index c5c6947a..83ddad1a 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getBlockNumber } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts index 0fd9ec55..d455c79e 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getChainId } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts index 541c59a7..987ce286 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getGasPrice } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts index ef6a1582..6d2e7e29 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getLogs } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts index 10c2f0a8..5f82d524 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts @@ -15,7 +15,12 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getPendingTransactions } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts index e4b1abc8..8501b510 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getTransaction } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts index 56026811..5aca8def 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts @@ -73,7 +73,9 @@ describe('getTransactionCount', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getTransactionCount as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (zondRpcMethods.getTransactionCount as jest.Mock).mockResolvedValueOnce( + mockRpcResponse, + ); const result = await getTransactionCount( web3Context, diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts index cb7c7f9b..fe3bec4a 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { getTransactionReceipt } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts index 5ac7d0a0..efe5284d 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts @@ -16,7 +16,12 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { Wallet } from '@theqrl/web3-zond-accounts'; import { sign } from '../../../src/rpc_method_wrappers'; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts b/packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts index 51f34c25..b7cc90af 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts +++ b/packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts @@ -15,7 +15,12 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + FMT_BYTES, + FMT_NUMBER, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { format } from '@theqrl/web3-utils'; diff --git a/packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts b/packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts index 039eeb46..9e00fe4a 100644 --- a/packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts +++ b/packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts @@ -50,8 +50,7 @@ describe('getTransactionFromOrToAttr', () => { it.each(invalidGetTransactionFromOrToAttrDataForWallet)( '$title with wallet', ({ input, output }) => { - const seed = - '0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709'; + const seed = '0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709'; // setup wallet const web3Zond = new Web3Zond('http://localhost:8545'); diff --git a/packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts b/packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts index 3ff90d71..82d82166 100644 --- a/packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts +++ b/packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts @@ -37,7 +37,8 @@ const mockBlockData = { hash: '0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae', }; -const testMessage = 'Title: %s\ninputSignedTransaction: %s\nexpectedTransactionHash: %s\nexpectedTransactionReceipt: %s\n'; +const testMessage = + 'Title: %s\ninputSignedTransaction: %s\nexpectedTransactionHash: %s\nexpectedTransactionReceipt: %s\n'; describe('watchTransactionByPolling', () => { describe('should call getBlockByNumber', () => { let web3Context: Web3Context; diff --git a/packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts b/packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts index c3ab3ffa..97875bae 100644 --- a/packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts +++ b/packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts @@ -16,7 +16,11 @@ along with web3.js. If not, see . */ import { Web3Context, Web3PromiEvent } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, TransactionReceipt, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { + DEFAULT_RETURN_FORMAT, + TransactionReceipt, + Web3ZondExecutionAPI, +} from '@theqrl/web3-types'; import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; import { TransactionMissingReceiptOrBlockHashError, diff --git a/packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts b/packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts index 9611175a..0fe9c641 100644 --- a/packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts +++ b/packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts @@ -36,7 +36,9 @@ describe('Web3Zond.calculateFeeData', () => { 'latest', false, ); - expect(zondRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith(web3Zond.requestManager); + expect(zondRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith( + web3Zond.requestManager, + ); }); it('should calculate fee data', async () => { @@ -44,11 +46,13 @@ describe('Web3Zond.calculateFeeData', () => { const maxPriorityFeePerGas = BigInt(100); const baseFeePerGasFactor = BigInt(3); - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ baseFeePerGas } as any); + jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ + baseFeePerGas, + } as any); // eslint-disable-next-line @typescript-eslint/no-unsafe-call - jest - .spyOn(zondRpcMethods, 'getMaxPriorityFeePerGas') - .mockReturnValueOnce(maxPriorityFeePerGas as any); + jest.spyOn(zondRpcMethods, 'getMaxPriorityFeePerGas').mockReturnValueOnce( + maxPriorityFeePerGas as any, + ); const feeData = await web3Zond.calculateFeeData(baseFeePerGasFactor, maxPriorityFeePerGas); expect(feeData).toMatchObject({ @@ -63,7 +67,9 @@ describe('Web3Zond.calculateFeeData', () => { const alternativeMaxPriorityFeePerGas = BigInt(700); const baseFeePerGasFactor = BigInt(3); - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ baseFeePerGas } as any); + jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ + baseFeePerGas, + } as any); const feeData = await web3Zond.calculateFeeData( baseFeePerGasFactor, alternativeMaxPriorityFeePerGas, diff --git a/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts b/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts index aa44d928..51123157 100644 --- a/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts +++ b/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts @@ -64,7 +64,9 @@ describe('web3_zond_methods_no_parameters', () => { it('getMaxPriorityFeePerGas', async () => { await web3Zond.getMaxPriorityFeePerGas(); - expect(zondRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith(web3Zond.requestManager); + expect(zondRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith( + web3Zond.requestManager, + ); }); }); }); diff --git a/packages/web3/CHANGELOG.md b/packages/web3/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/packages/web3/CHANGELOG.md +++ b/packages/web3/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3/README.md b/packages/web3/README.md index 334ed99e..382f44d3 100644 --- a/packages/web3/README.md +++ b/packages/web3/README.md @@ -56,25 +56,25 @@ yarn add web3 We encourage users to use only required individual packages listed in following table, for making lightweight application instead of importing main web3 package, and if you don't need functions from most of the packages that are implicitly included with main web3 package. -| Package | Version | License | Docs | Description | -| ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| [web3](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3%2Fpackage.json)](https://www.npmjs.com/package/web3) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3) | :rotating_light: Entire Web3.js offering (includes all packages) | -| [web3-core](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-core) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-core%2Fpackage.json)](https://www.npmjs.com/package/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-core) | Core functions for web3.js packages | -| [web3-errors](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-errors) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-errors%2Fpackage.json)](https://www.npmjs.com/package/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-errors) | Errors Objects | -| [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth%2Fpackage.json)](https://www.npmjs.com/package/web3-eth) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth) | Modules to interact with the Zond blockchain and smart contracts | -| [web3-zond-abi](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-abi%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-abi) | Functions for encoding and decoding ZVM in/output | -| [web3-zond-accounts](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-accounts%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-accounts) | Functions for managing Zond accounts and signing | -| [web3-zond-contract](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-contract%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-contract) | The contract package contained in [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | -| [web3-zond-ens](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-ens%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-ens) | Functions for interacting with the Ethereum Name Service | -| [web3-zond-iban](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-iban%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-iban) | Functionality for converting Zond addressed to IBAN addressed and vice versa | -| [web3-net](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-net) | Functions to interact with an Zond node's network properties | -| [web3-providers-http](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-http) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-http%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-http) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-http) | Web3.js provider for the HTTP protocol | -| [web3-providers-ipc](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ipc) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ipc%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ipc) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ipc) | Web3.js provider for IPC | -| [web3-providers-ws](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ws) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ws%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ws) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ws) | Web3.js provider for the Websocket protocol | -| [web3-rpc-methods](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-rpc-methods) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-rpc-methods%2Fpackage.json)](https://www.npmjs.com/package/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/) | RPC Methods | -| [web3-types](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-types) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-types%2Fpackage.json)](https://www.npmjs.com/package/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-types) | Shared useable types | -| [web3-utils](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-utils) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-utils%2Fpackage.json)](https://www.npmjs.com/package/web3-utils) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-utils) | Useful utility functions for Dapp developers | -| [web3-validator](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-validator) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-validator%2Fpackage.json)](https://www.npmjs.com/package/web3-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-validator) | Utilities for validating objects | +| Package | Version | License | Docs | Description | +| ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| [web3](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3%2Fpackage.json)](https://www.npmjs.com/package/web3) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3) | :rotating_light: Entire Web3.js offering (includes all packages) | +| [web3-core](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-core) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-core%2Fpackage.json)](https://www.npmjs.com/package/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-core) | Core functions for web3.js packages | +| [web3-errors](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-errors) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-errors%2Fpackage.json)](https://www.npmjs.com/package/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-errors) | Errors Objects | +| [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth%2Fpackage.json)](https://www.npmjs.com/package/web3-eth) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth) | Modules to interact with the Zond blockchain and smart contracts | +| [web3-zond-abi](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-abi%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-abi) | Functions for encoding and decoding ZVM in/output | +| [web3-zond-accounts](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-accounts%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-accounts) | Functions for managing Zond accounts and signing | +| [web3-zond-contract](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-contract%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-contract) | The contract package contained in [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | +| [web3-zond-zns](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-ens%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-ens) | Functions for interacting with the Zond Name Service | +| [web3-zond-iban](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-iban%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-iban) | Functionality for converting Zond addressed to IBAN addressed and vice versa | +| [web3-net](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-net) | Functions to interact with a Zond node's network properties | +| [web3-providers-http](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-http) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-http%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-http) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-http) | Web3.js provider for the HTTP protocol | +| [web3-providers-ipc](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ipc) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ipc%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ipc) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ipc) | Web3.js provider for IPC | +| [web3-providers-ws](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ws) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ws%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ws) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ws) | Web3.js provider for the Websocket protocol | +| [web3-rpc-methods](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-rpc-methods) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-rpc-methods%2Fpackage.json)](https://www.npmjs.com/package/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/) | RPC Methods | +| [web3-types](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-types) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-types%2Fpackage.json)](https://www.npmjs.com/package/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-types) | Shared useable types | +| [web3-utils](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-utils) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-utils%2Fpackage.json)](https://www.npmjs.com/package/web3-utils) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-utils) | Useful utility functions for Dapp developers | +| [web3-validator](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-validator) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-validator%2Fpackage.json)](https://www.npmjs.com/package/web3-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-validator) | Utilities for validating objects | [docs]: https://docs.web3js.org/ [repo]: https://github.com/web3/web3.js/tree/4.x/packages/web3 diff --git a/packages/web3/package.json b/packages/web3/package.json index cdd98baa..90825750 100644 --- a/packages/web3/package.json +++ b/packages/web3/package.json @@ -91,7 +91,7 @@ "@theqrl/web3-zond-abi": "^0.3.0", "@theqrl/web3-zond-accounts": "^0.3.0", "@theqrl/web3-zond-contract": "^0.3.0", - "@theqrl/web3-zond-ens": "^0.3.0", + "@theqrl/web3-zond-zns": "^0.3.0", "@theqrl/web3-zond-iban": "^0.3.0" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" diff --git a/packages/web3/src/accounts.ts b/packages/web3/src/accounts.ts index 622517db..65f90b3b 100644 --- a/packages/web3/src/accounts.ts +++ b/packages/web3/src/accounts.ts @@ -15,14 +15,19 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZondExecutionAPI, Bytes, Transaction, /*KeyStore,*/ ZOND_DATA_FORMAT } from '@theqrl/web3-types'; +import { + ZondExecutionAPI, + Bytes, + Transaction, + /* KeyStore, */ ZOND_DATA_FORMAT, +} from '@theqrl/web3-types'; import { format } from '@theqrl/web3-utils'; import { Web3Context } from '@theqrl/web3-core'; import { prepareTransactionForSigning } from '@theqrl/web3-zond'; import { create, - //decrypt, - //encrypt, + // decrypt, + // encrypt, hashMessage, recoverTransaction, signTransaction, @@ -85,7 +90,7 @@ export const initAccountsForContext = (context: Web3Context) = create: createWithContext, seedToAccount: seedToAccountWithContext, // TODO(youtrack/theqrl/web3.js/3) - //decrypt: decryptWithContext, + // decrypt: decryptWithContext, }); return { @@ -93,12 +98,12 @@ export const initAccountsForContext = (context: Web3Context) = create: createWithContext, seedToAccount: seedToAccountWithContext, // TODO(youtrack/theqrl/web3.js/3) - //decrypt: decryptWithContext, + // decrypt: decryptWithContext, recoverTransaction, hashMessage, sign, // TODO(youtrack/theqrl/web3.js/3) - //encrypt, + // encrypt, wallet, }; }; diff --git a/packages/web3/src/index.ts b/packages/web3/src/index.ts index c1116259..fb3a8071 100644 --- a/packages/web3/src/index.ts +++ b/packages/web3/src/index.ts @@ -65,7 +65,7 @@ along with web3.js. If not, see . * ```ts * import Web3 from '@theqrl/web3'; * - * // "Web3.givenProvider" will be set if in an Zond supported browser. + * // "Web3.givenProvider" will be set if in a Zond supported browser. * const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546'); * * > web3.zond @@ -249,7 +249,7 @@ along with web3.js. If not, see . * web3.zond.givenProvider * ... * ``` - * When using web3.js in an Zond compatible browser, it will set with the current native provider by that browser. + * When using web3.js in a Zond compatible browser, it will set with the current native provider by that browser. * Will return the given provider by the (browser) environment, otherwise `undefined`. * * #### Returns diff --git a/packages/web3/src/types.ts b/packages/web3/src/types.ts index 393de695..fd380f92 100644 --- a/packages/web3/src/types.ts +++ b/packages/web3/src/types.ts @@ -27,7 +27,7 @@ import { encodeParameters, } from '@theqrl/web3-zond-abi'; import { - //encrypt, + // encrypt, hashMessage, recoverTransaction, sign, @@ -36,7 +36,7 @@ import { Web3Account, } from '@theqrl/web3-zond-accounts'; import { Contract } from '@theqrl/web3-zond-contract'; -import { ENS } from '@theqrl/web3-zond-ens'; +import { ZNS } from '@theqrl/web3-zond-zns'; import { Net } from '@theqrl/web3-net'; import { Iban } from '@theqrl/web3-zond-iban'; @@ -58,7 +58,7 @@ export interface Web3ZondInterface extends Zond { Contract: typeof Contract; Iban: typeof Iban; net: Net; - ens: ENS; + zns: ZNS; abi: { encodeEventSignature: typeof encodeFunctionSignature; encodeFunctionCall: typeof encodeFunctionCall; @@ -80,7 +80,7 @@ export interface Web3ZondInterface extends Zond { hashMessage: typeof hashMessage; sign: typeof sign; // TODO(youtrack/theqrl/web3.js/3) - //encrypt: typeof encrypt; + // encrypt: typeof encrypt; // decrypt: ( // keystore: string, // password: string, diff --git a/packages/web3/src/version.ts b/packages/web3/src/version.ts index 086c03f5..d5f77f8a 100644 --- a/packages/web3/src/version.ts +++ b/packages/web3/src/version.ts @@ -1 +1 @@ -/* eslint-disable header/header */ export const Web3PkgInfo = { version: '0.2.1' }; +/* eslint-disable header/header */ export const Web3PkgInfo = { version: '0.3.0' }; diff --git a/packages/web3/src/web3.ts b/packages/web3/src/web3.ts index 34993fb5..b5de709d 100644 --- a/packages/web3/src/web3.ts +++ b/packages/web3/src/web3.ts @@ -24,7 +24,7 @@ import { } from '@theqrl/web3-core'; import { Web3Zond, RegisteredSubscription, registeredSubscriptions } from '@theqrl/web3-zond'; import Contract from '@theqrl/web3-zond-contract'; -import { ENS, registryAddresses } from '@theqrl/web3-zond-ens'; +import { ZNS, registryAddresses } from '@theqrl/web3-zond-zns'; import { Iban } from '@theqrl/web3-zond-iban'; import { Net } from '@theqrl/web3-net'; import * as utils from '@theqrl/web3-utils'; @@ -53,7 +53,7 @@ export class Web3< Web3Zond, Iban, Net, - ENS, + ZNS, }; public utils: typeof utils; @@ -155,8 +155,8 @@ export class Web3< // Zond Module this.zond = Object.assign(zond, { - // ENS module - ens: self.use(ENS, registryAddresses.main), // registry address defaults to main network + // ZNS module + zns: self.use(ZNS, registryAddresses.main), // registry address defaults to main network // Iban helpers Iban, diff --git a/packages/web3/src/zond.exports.ts b/packages/web3/src/zond.exports.ts index 75c9d49e..d5451624 100644 --- a/packages/web3/src/zond.exports.ts +++ b/packages/web3/src/zond.exports.ts @@ -20,5 +20,5 @@ export * from '@theqrl/web3-zond'; export * as abi from '@theqrl/web3-zond-abi'; export * as accounts from '@theqrl/web3-zond-accounts'; export * as contract from '@theqrl/web3-zond-contract'; -export * as ens from '@theqrl/web3-zond-ens'; +export * as zns from '@theqrl/web3-zond-zns'; export * as iban from '@theqrl/web3-zond-iban'; diff --git a/packages/web3/test/cjs_black_box/.eslintrc.cjs b/packages/web3/test/cjs_black_box/.eslintrc.cjs index 88d28e7e..b95638b5 100644 --- a/packages/web3/test/cjs_black_box/.eslintrc.cjs +++ b/packages/web3/test/cjs_black_box/.eslintrc.cjs @@ -7,6 +7,6 @@ module.exports = { parserOptions: { project: './tsconfig.json', tsconfigRootDir: __dirname, - ecmaVersion: 12 + ecmaVersion: 12, }, }; diff --git a/packages/web3/test/cjs_black_box/test/web3-zond-contract/erc20.test.ts b/packages/web3/test/cjs_black_box/test/web3-zond-contract/zrc20.test.ts similarity index 50% rename from packages/web3/test/cjs_black_box/test/web3-zond-contract/erc20.test.ts rename to packages/web3/test/cjs_black_box/test/web3-zond-contract/zrc20.test.ts index 26f7223f..de078b23 100644 --- a/packages/web3/test/cjs_black_box/test/web3-zond-contract/erc20.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-zond-contract/zrc20.test.ts @@ -25,52 +25,48 @@ import { // eslint-disable-next-line import/no-relative-packages } from '../../../shared_fixtures/system_tests_utils'; import { - ERC20TokenAbi, - ERC20TokenBytecode, + ZRC20TokenAbi, + ZRC20TokenBytecode, // eslint-disable-next-line import/no-relative-packages -} from '../../../shared_fixtures/contracts/ERC20Token'; +} from '../../../shared_fixtures/contracts/ZRC20Token'; /* eslint-disable @typescript-eslint/no-unsafe-call */ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const Web3 = require('web3').default; +describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond.Contract', () => { + describe('Gzond - ZRC20', () => { + let account; + let web3: typeof Web3; + let deployedContract: Contract; -describeIf(getSystemTestBackend() === 'gzond')( - 'Black Box Unit Tests - web3.zond.Contract', - () => { - describe('Gzond - ERC20', () => { - let account; - let web3: typeof Web3; - let deployedContract: Contract; - - beforeAll(async () => { - account = await createNewAccount({ - refill: true, - }); - - web3 = new Web3(getSystemTestProvider()); - deployedContract = await new web3.zond.Contract(ERC20TokenAbi) - .deploy({ - data: ERC20TokenBytecode, - arguments: ['420'], - }) - .send({ from: account.address, gas: '10000000' }); + beforeAll(async () => { + account = await createNewAccount({ + refill: true, }); - afterAll(async () => { - if (isWs) await closeOpenConnection(web3); - }); + web3 = new Web3(getSystemTestProvider()); + deployedContract = await new web3.zond.Contract(ZRC20TokenAbi) + .deploy({ + data: ZRC20TokenBytecode, + arguments: ['420'], + }) + .send({ from: account.address, gas: '10000000' }); + }); - it('should get deployed contract info', async () => { - const contract = new web3.zond.Contract( - ERC20TokenAbi, - deployedContract.options.address, - ); + afterAll(async () => { + if (isWs) await closeOpenConnection(web3); + }); - expect(await contract.methods.name().call()).toBe('Gold'); - expect(await contract.methods.symbol().call()).toBe('GLD'); - expect(await contract.methods.decimals().call()).toBe(BigInt(18)); - expect(await contract.methods.totalSupply().call()).toBe(BigInt(420)); - }); + it('should get deployed contract info', async () => { + const contract = new web3.zond.Contract( + ZRC20TokenAbi, + deployedContract.options.address, + ); + + expect(await contract.methods.name().call()).toBe('Gold'); + expect(await contract.methods.symbol().call()).toBe('GLD'); + expect(await contract.methods.decimals().call()).toBe(BigInt(18)); + expect(await contract.methods.totalSupply().call()).toBe(BigInt(420)); }); - }, -); + }); +}); diff --git a/packages/web3/test/e2e/e2e_utils.ts b/packages/web3/test/e2e/e2e_utils.ts index 493e04c7..b9adb5ac 100644 --- a/packages/web3/test/e2e/e2e_utils.ts +++ b/packages/web3/test/e2e/e2e_utils.ts @@ -77,8 +77,7 @@ export const getE2ETestAccountSeed = (): string => { return process.env.TEST_ACCOUNT_PRIVATE_KEY; // eslint-disable-next-line no-else-return } else if (getSystemTestBackend() === 'testnet' || getSystemTestBackend() === 'mainnet') { - return secrets[getSystemTestBackend().toUpperCase() as 'TESTNET' | 'MAINNET'].ACCOUNT - .seed; + return secrets[getSystemTestBackend().toUpperCase() as 'TESTNET' | 'MAINNET'].ACCOUNT.seed; } throw new Error('Unable to get test account private key'); diff --git a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts index 3689ff0d..25633b17 100644 --- a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts +++ b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts @@ -3713,5 +3713,5 @@ export const mainnetBlockHydrated = { value: '0x0', }, ], - transactionsRoot: '0x2b0f787500743395385ad4a4142693bffd51d508cae1fdd675d269842b9bc2b0' + transactionsRoot: '0x2b0f787500743395385ad4a4142693bffd51d508cae1fdd675d269842b9bc2b0', }; diff --git a/packages/web3/test/e2e/get_transaction_from_block.test.ts b/packages/web3/test/e2e/get_transaction_from_block.test.ts index dce9fbe2..33c2dc98 100644 --- a/packages/web3/test/e2e/get_transaction_from_block.test.ts +++ b/packages/web3/test/e2e/get_transaction_from_block.test.ts @@ -93,7 +93,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionFromBlock`, () => { publicKey: expect.any(String), signature: expect.any(String), to: null, - value: '0x0' + value: '0x0', }); } }); diff --git a/packages/web3/test/esm_black_box/test/web3-zond-contract/erc20.test.ts b/packages/web3/test/esm_black_box/test/web3-zond-contract/erc20.test.ts deleted file mode 100644 index d2b07dc5..00000000 --- a/packages/web3/test/esm_black_box/test/web3-zond-contract/erc20.test.ts +++ /dev/null @@ -1,70 +0,0 @@ -/* -This file is part of web3.js. - -web3.js is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -web3.js is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with web3.js. If not, see . -*/ -/* eslint-disable import/no-relative-packages */ -import Web3 from '@theqrl/web3'; -import Contract from '@theqrl/web3-zond-contract'; - -import { - closeOpenConnection, - describeIf, - getSystemTestBackend, - isWs, - getSystemTestProvider, - createNewAccount, -} from '../../../shared_fixtures/system_tests_utils'; -import { ERC20TokenAbi, ERC20TokenBytecode } from '../../../shared_fixtures/contracts/ERC20Token'; - -describeIf(getSystemTestBackend() === 'gzond')( - 'Black Box Unit Tests - web3.zond.Contract', - () => { - describe('Gzond - ERC20', () => { - let account; - let web3: Web3; - let deployedContract: Contract; - - beforeAll(async () => { - account = await createNewAccount({ - refill: true, - }); - - web3 = new Web3(getSystemTestProvider()); - deployedContract = await new web3.zond.Contract(ERC20TokenAbi) - .deploy({ - data: ERC20TokenBytecode, - arguments: ['420'], - }) - .send({ from: account.address, gas: '10000000' }); - }); - - afterAll(async () => { - if (isWs) await closeOpenConnection(web3); - }); - - it('should get deployed contract info', async () => { - const contract = new web3.zond.Contract( - ERC20TokenAbi, - deployedContract.options.address, - ); - - expect(await contract.methods.name().call()).toBe('Gold'); - expect(await contract.methods.symbol().call()).toBe('GLD'); - expect(await contract.methods.decimals().call()).toBe(BigInt(18)); - expect(await contract.methods.totalSupply().call()).toBe(BigInt(420)); - }); - }); - }, -); diff --git a/packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts b/packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts new file mode 100644 index 00000000..c5718e39 --- /dev/null +++ b/packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts @@ -0,0 +1,67 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ +/* eslint-disable import/no-relative-packages */ +import Web3 from '@theqrl/web3'; +import Contract from '@theqrl/web3-zond-contract'; + +import { + closeOpenConnection, + describeIf, + getSystemTestBackend, + isWs, + getSystemTestProvider, + createNewAccount, +} from '../../../shared_fixtures/system_tests_utils'; +import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../../../shared_fixtures/contracts/ZRC20Token'; + +describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond.Contract', () => { + describe('Gzond - ZRC20', () => { + let account; + let web3: Web3; + let deployedContract: Contract; + + beforeAll(async () => { + account = await createNewAccount({ + refill: true, + }); + + web3 = new Web3(getSystemTestProvider()); + deployedContract = await new web3.zond.Contract(ZRC20TokenAbi) + .deploy({ + data: ZRC20TokenBytecode, + arguments: ['420'], + }) + .send({ from: account.address, gas: '10000000' }); + }); + + afterAll(async () => { + if (isWs) await closeOpenConnection(web3); + }); + + it('should get deployed contract info', async () => { + const contract = new web3.zond.Contract( + ZRC20TokenAbi, + deployedContract.options.address, + ); + + expect(await contract.methods.name().call()).toBe('Gold'); + expect(await contract.methods.symbol().call()).toBe('GLD'); + expect(await contract.methods.decimals().call()).toBe(BigInt(18)); + expect(await contract.methods.totalSupply().call()).toBe(BigInt(420)); + }); + }); +}); diff --git "a/packages/web3/test/integration/external-providers/truffle-hdwallet.test\331\200tbd.ts" "b/packages/web3/test/integration/external-providers/truffle-hdwallet.test\331\200tbd.ts" index ddfe1213..8ffbc1ae 100644 --- "a/packages/web3/test/integration/external-providers/truffle-hdwallet.test\331\200tbd.ts" +++ "b/packages/web3/test/integration/external-providers/truffle-hdwallet.test\331\200tbd.ts" @@ -24,11 +24,10 @@ import { // getSystemTestProvider, isIpc, } from '../../shared_fixtures/system_tests_utils'; -//import Web3 from '../../../src'; +// import Web3 from '../../../src'; describeIf(!isIpc)('compatibility with `truffle` `HDWalletProvider` provider', () => { - //let provider: HDWalletProvider; - + // let provider: HDWalletProvider; // beforeAll(async () => { // const clientUrl = getSystemTestProvider(); // const account1 = await createNewAccount({ unlock: true, refill: true }); diff --git a/packages/web3/test/integration/sync.test.ts b/packages/web3/test/integration/sync.test.ts index 29ee0c21..83f25dbc 100644 --- a/packages/web3/test/integration/sync.test.ts +++ b/packages/web3/test/integration/sync.test.ts @@ -45,7 +45,7 @@ const nodeInfo = async (web3: Web3) => { }; // TODO(youtrack/theqrl/web3.js/5) describe.skip('Sync nodes test', () => { -// describeIf((isIpc || isWs) && isSyncTest)('Sync nodes test', () => { + // describeIf((isIpc || isWs) && isSyncTest)('Sync nodes test', () => { let web3Node1: Web3; let web3Node2: Web3; beforeAll(async () => { diff --git a/packages/web3/test/integration/web3.accounts.test.ts b/packages/web3/test/integration/web3.accounts.test.ts index 9342b0c4..178415dd 100644 --- a/packages/web3/test/integration/web3.accounts.test.ts +++ b/packages/web3/test/integration/web3.accounts.test.ts @@ -64,19 +64,19 @@ describe('web3.accounts', () => { const tx = { from: account.address, to: tempAccount, - value: web3.utils.toWei('0.00001', 'ether'), + value: web3.utils.toPlanck('0.00001', 'zond'), gas: '0x5218', data: '0x1', maxFeePerGas: '0x19475bd7f8', maxPriorityFeePerGas: '0x5eae5feec', }; - // Fund this account with some ether + // Fund this account with some zond await expect( web3.zond.sendTransaction({ from: tempAccount, to: account.address, - value: web3.utils.toWei('2', 'ether'), + value: web3.utils.toPlanck('2', 'zond'), }), ).resolves.toBeDefined(); @@ -109,7 +109,7 @@ describe('web3.accounts', () => { const tx = { from: account.address, to: tempAccount, - value: web3.utils.toWei('0.1', 'ether'), + value: web3.utils.toPlanck('0.1', 'zond'), gas: '0x1', data: '0x1', maxFeePerGas: '0x19475bd7f8', @@ -127,7 +127,7 @@ describe('web3.accounts', () => { const tx = { from: tempAccount, to: account.address, - value: web3.utils.toWei('0.1', 'ether'), + value: web3.utils.toPlanck('0.1', 'zond'), gas: '0x1', data: '0x1', }; @@ -144,19 +144,19 @@ describe('web3.accounts', () => { const tx = { from: account.address, to: tempAccount, - value: web3.utils.toWei('0.1', 'ether'), + value: web3.utils.toPlanck('0.1', 'zond'), gas: '0x5218', data: '0x1', maxFeePerGas: '0x19475bd7f8', maxPriorityFeePerGas: '0x5eae5feec', }; - // Fund this account with some ether + // Fund this account with some zond await expect( web3.zond.sendTransaction({ from: tempAccount, to: account.address, - value: web3.utils.toWei('0.5', 'ether'), + value: web3.utils.toPlanck('0.5', 'zond'), }), ).resolves.toBeDefined(); @@ -184,7 +184,7 @@ describe('web3.accounts', () => { const tx = { from: account.address, to: tempAccount, - value: web3.utils.toWei('0.1', 'ether'), + value: web3.utils.toPlanck('0.1', 'zond'), gas: '0x1', data: '0x1', maxFeePerGas: '0x19475bd7f8', @@ -200,9 +200,7 @@ describe('web3.accounts', () => { describe('seedToAccount', () => { it('should create account from seed', async () => { const acc = await createNewAccount(); - const createdAccount: Web3Account = web3.zond.accounts.seedToAccount( - acc.seed, - ); + const createdAccount: Web3Account = web3.zond.accounts.seedToAccount(acc.seed); expect(acc.address.toLowerCase()).toBe(createdAccount.address.toLowerCase()); }); }); diff --git a/packages/web3/test/integration/web3.zond.transaction.test.ts b/packages/web3/test/integration/web3.zond.transaction.test.ts index 7735356d..37a3e6ba 100644 --- a/packages/web3/test/integration/web3.zond.transaction.test.ts +++ b/packages/web3/test/integration/web3.zond.transaction.test.ts @@ -84,7 +84,7 @@ describe('signTransaction', () => { case 'zond_sendRawTransaction': expect(payload.params[0]).toBe(txObj.signedLondon); // validate transaction for London HF - + // if (txObj.transaction.maxPriorityFeePerGas !== undefined) { // // eslint-disable-next-line jest/no-conditional-expect // expect(payload.params[0]).toBe(txObj.signedLondon); // validate transaction for London HF diff --git a/tools/web3-plugin-example/src/ERC20Token.ts b/packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts similarity index 95% rename from tools/web3-plugin-example/src/ERC20Token.ts rename to packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts index b13578a6..b07e6647 100644 --- a/tools/web3-plugin-example/src/ERC20Token.ts +++ b/packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ERC20TokenAbi = [ +export const ZRC20TokenAbi = [ { inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], stateMutability: 'nonpayable', @@ -74,26 +74,6 @@ export const ERC20TokenAbi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'subtractedValue', type: 'uint256' }, - ], - name: 'decreaseAllowance', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'addedValue', type: 'uint256' }, - ], - name: 'increaseAllowance', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [], name: 'name', @@ -137,5 +117,5 @@ export const ERC20TokenAbi = [ type: 'function', }, ] as const; -export const ERC20TokenBytecode = +export const ZRC20TokenBytecode = '0x60806040523480156200001157600080fd5b50604051620017a8380380620017a8833981810160405281019062000037919062000362565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb92919062000272565b508060049080519060200190620000d492919062000272565b505050620000e93382620000f060201b60201c565b5062000535565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015990620003f5565b60405180910390fd5b62000176600083836200026860201b60201c565b80600260008282546200018a919062000446565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001e1919062000446565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002489190620004b4565b60405180910390a362000264600083836200026d60201b60201c565b5050565b505050565b505050565b828054620002809062000500565b90600052602060002090601f016020900481019282620002a45760008555620002f0565b82601f10620002bf57805160ff1916838001178555620002f0565b82800160010185558215620002f0579182015b82811115620002ef578251825591602001919060010190620002d2565b5b509050620002ff919062000303565b5090565b5b808211156200031e57600081600090555060010162000304565b5090565b600080fd5b6000819050919050565b6200033c8162000327565b81146200034857600080fd5b50565b6000815190506200035c8162000331565b92915050565b6000602082840312156200037b576200037a62000322565b5b60006200038b848285016200034b565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620003dd601f8362000394565b9150620003ea82620003a5565b602082019050919050565b600060208201905081810360008301526200041081620003ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004538262000327565b9150620004608362000327565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000498576200049762000417565b5b828201905092915050565b620004ae8162000327565b82525050565b6000602082019050620004cb6000830184620004a3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200051957607f821691505b6020821081036200052f576200052e620004d1565b5b50919050565b61126380620005456000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b1e565b60405180910390f35b6100e660048036038101906100e19190610bd9565b610308565b6040516100f39190610c34565b60405180910390f35b61010461032b565b6040516101119190610c5e565b60405180910390f35b610134600480360381019061012f9190610c79565b610335565b6040516101419190610c34565b60405180910390f35b610152610364565b60405161015f9190610ce8565b60405180910390f35b610182600480360381019061017d9190610bd9565b61036d565b60405161018f9190610c34565b60405180910390f35b6101b260048036038101906101ad9190610d03565b6103a4565b6040516101bf9190610c5e565b60405180910390f35b6101d06103ec565b6040516101dd9190610b1e565b60405180910390f35b61020060048036038101906101fb9190610bd9565b61047e565b60405161020d9190610c34565b60405180910390f35b610230600480360381019061022b9190610bd9565b6104f5565b60405161023d9190610c34565b60405180910390f35b610260600480360381019061025b9190610d30565b610518565b60405161026d9190610c5e565b60405180910390f35b60606003805461028590610d9f565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9f565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610dff565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d9f565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d9f565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610ec7565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610feb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c5e565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611057565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d19061117b565b60405180910390fd5b6108e5838383610a7b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109629061120d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fe9190610dff565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a629190610c5e565b60405180910390a3610a75848484610a80565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610abf578082015181840152602081019050610aa4565b83811115610ace576000848401525b50505050565b6000601f19601f8301169050919050565b6000610af082610a85565b610afa8185610a90565b9350610b0a818560208601610aa1565b610b1381610ad4565b840191505092915050565b60006020820190508181036000830152610b388184610ae5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b7082610b45565b9050919050565b610b8081610b65565b8114610b8b57600080fd5b50565b600081359050610b9d81610b77565b92915050565b6000819050919050565b610bb681610ba3565b8114610bc157600080fd5b50565b600081359050610bd381610bad565b92915050565b60008060408385031215610bf057610bef610b40565b5b6000610bfe85828601610b8e565b9250506020610c0f85828601610bc4565b9150509250929050565b60008115159050919050565b610c2e81610c19565b82525050565b6000602082019050610c496000830184610c25565b92915050565b610c5881610ba3565b82525050565b6000602082019050610c736000830184610c4f565b92915050565b600080600060608486031215610c9257610c91610b40565b5b6000610ca086828701610b8e565b9350506020610cb186828701610b8e565b9250506040610cc286828701610bc4565b9150509250925092565b600060ff82169050919050565b610ce281610ccc565b82525050565b6000602082019050610cfd6000830184610cd9565b92915050565b600060208284031215610d1957610d18610b40565b5b6000610d2784828501610b8e565b91505092915050565b60008060408385031215610d4757610d46610b40565b5b6000610d5585828601610b8e565b9250506020610d6685828601610b8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db757607f821691505b602082108103610dca57610dc9610d70565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0a82610ba3565b9150610e1583610ba3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e4a57610e49610dd0565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610eb1602583610a90565b9150610ebc82610e55565b604082019050919050565b60006020820190508181036000830152610ee081610ea4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f43602483610a90565b9150610f4e82610ee7565b604082019050919050565b60006020820190508181036000830152610f7281610f36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fd5602283610a90565b9150610fe082610f79565b604082019050919050565b6000602082019050818103600083015261100481610fc8565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611041601d83610a90565b915061104c8261100b565b602082019050919050565b6000602082019050818103600083015261107081611034565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110d3602583610a90565b91506110de82611077565b604082019050919050565b60006020820190508181036000830152611102816110c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611165602383610a90565b915061117082611109565b604082019050919050565b6000602082019050818103600083015261119481611158565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111f7602683610a90565b91506112028261119b565b604082019050919050565b60006020820190508181036000830152611226816111ea565b905091905056fea264697066735822122039c50588d39e359807efa398bd1b3aff1b082ef738dddcfa8475048e11f9024e64736f6c634300080d0033'; diff --git a/packages/web3/test/shared_fixtures/contracts/ERC721Token.ts b/packages/web3/test/shared_fixtures/contracts/ZRC721Token.ts similarity index 100% rename from packages/web3/test/shared_fixtures/contracts/ERC721Token.ts rename to packages/web3/test/shared_fixtures/contracts/ZRC721Token.ts diff --git a/packages/web3/test/unit/index.test.ts b/packages/web3/test/unit/index.test.ts index 703f0fea..3ff0a55d 100644 --- a/packages/web3/test/unit/index.test.ts +++ b/packages/web3/test/unit/index.test.ts @@ -20,7 +20,7 @@ import { Web3Zond } from '@theqrl/web3-zond'; import * as abi from '@theqrl/web3-zond-abi'; import * as accounts from '@theqrl/web3-zond-accounts'; import * as contract from '@theqrl/web3-zond-contract'; -import * as ens from '@theqrl/web3-zond-ens'; +import * as zns from '@theqrl/web3-zond-zns'; import * as iban from '@theqrl/web3-zond-iban'; import * as http from '@theqrl/web3-providers-http'; @@ -42,7 +42,7 @@ describe('exports of web3 package', () => { expect(zond.abi).toEqual(abi); expect(zond.accounts).toEqual(accounts); expect(zond.contract).toEqual(contract); - expect(zond.ens).toEqual(ens); + expect(zond.zns).toEqual(zns); expect(zond.iban).toEqual(iban); }); }); diff --git a/scripts/compile_contracts.js b/scripts/compile_contracts.js index 54b08ca0..02c403e0 100755 --- a/scripts/compile_contracts.js +++ b/scripts/compile_contracts.js @@ -22,7 +22,7 @@ along with web3.js. If not, see . const { promisify } = require('util'); const { resolve } = require('path'); -const { compile } = require('hypc'); +const { compile } = require('@theqrl/hypc'); const { rm, readdirSync, readFileSync, writeFileSync, mkdirSync, existsSync } = require('fs'); const rmPromise = promisify(rm); diff --git a/scripts/consensus/prysm-wallet-v2/direct/accounts/all-accounts.keystore.json b/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json similarity index 100% rename from scripts/consensus/prysm-wallet-v2/direct/accounts/all-accounts.keystore.json rename to scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json diff --git a/scripts/pos.sh b/scripts/pos.sh index 92eeb0ea..e81d99fc 100755 --- a/scripts/pos.sh +++ b/scripts/pos.sh @@ -121,7 +121,7 @@ start() { --accept-terms-of-use \ --chain-config-file=$TMP_FOLDER/consensus/config.yml \ --config-file=$TMP_FOLDER/consensus/config.yml \ - --wallet-dir=$TMP_FOLDER/consensus/prysm-wallet-v2 \ + --wallet-dir=$TMP_FOLDER/consensus/qrysm-wallet-v2 \ --wallet-password-file=$TMP_FOLDER/consensus/wallet_password.txt \ --rpc >> ${TMP_FOLDER}/logs/validator.log 2>&1 & diff --git a/scripts/system_tests_utils.ts b/scripts/system_tests_utils.ts index 978278e6..cd48d0fc 100644 --- a/scripts/system_tests_utils.ts +++ b/scripts/system_tests_utils.ts @@ -20,7 +20,7 @@ import { format, SocketProvider } from '@theqrl/web3-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { create as _createAccount, - //decrypt, + // decrypt, seedToAccount, signTransaction, } from '@theqrl/web3-zond-accounts'; @@ -36,7 +36,7 @@ import { Bytes, Web3BaseProvider, Transaction, - //KeyStore, + // KeyStore, ProviderConnectInfo, Web3ProviderEventCallback, ProviderRpcError, @@ -220,7 +220,7 @@ export const createAccountProvider = (context: Web3Context) => return { create: createWithContext, seedToAccount: seedToAccountWithContext, - //decrypt: decryptWithContext, + // decrypt: decryptWithContext, }; }; @@ -251,7 +251,7 @@ export const createNewAccount = async (config?: { await refillAccount(mainAcc, acc.address, '10000000000000000000'); } - return { address: `Z${acc.address.slice(1).toLowerCase()}`, seed: acc.seed! }; + return { address: `Z${acc.address.slice(1).toLowerCase()}`, seed: acc.seed }; }; let tempAccountList: { address: string; seed: string }[] = []; const walletsOnWorker = 20; @@ -267,11 +267,7 @@ export const createTempAccount = async ( password?: string; } = {}, ): Promise<{ address: string; seed: string }> => { - if ( - config.refill === false || - config.seed || - config.password - ) { + if (config.refill === false || config.seed || config.password) { return createNewAccount({ refill: config.refill ?? true, seed: config.seed, @@ -307,11 +303,7 @@ export const getSystemTestAccountsWithKeys = async (): Promise< export const getSystemTestAccounts = async (): Promise => (await getSystemTestAccountsWithKeys()).map(a => a.address); -export const signTxAndSendEIP1559 = async ( - provider: unknown, - tx: Transaction, - seed: string, -) => { +export const signTxAndSendEIP1559 = async (provider: unknown, tx: Transaction, seed: string) => { const web3 = new Web3(provider as Web3BaseProvider); const acc = web3.zond.accounts.seedToAccount(seed); web3.zond.wallet?.add(seed); @@ -343,7 +335,13 @@ export const signAndSendContractMethodEIP1559 = async ( export const createLocalAccount = async (web3: Web3) => { const account = web3.zond.accounts.create(); - await refillAccount((await createTempAccount()).address, account.address, '100000000000000000000'); + await refillAccount( + ( + await createTempAccount() + ).address, + account.address, + '100000000000000000000', + ); web3.zond.accounts.wallet.add(account); return account; }; @@ -422,4 +420,4 @@ export const objectBigintToString = (obj: object): object => JSON.parse( // eslint-disable-next-line @typescript-eslint/no-unsafe-return JSON.stringify(obj, (_, value) => (typeof value === 'bigint' ? value.toString() : value)), - ); \ No newline at end of file + ); diff --git a/templates/jest.config.js.tmpl b/templates/jest.config.js.tmpl index d7789fbb..d3ee327e 100644 --- a/templates/jest.config.js.tmpl +++ b/templates/jest.config.js.tmpl @@ -22,7 +22,7 @@ module.exports = { }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', - }, + }, rootDir: '../..', testMatch: ['/test/**/?(*.)+(spec|test).+(ts|tsx|js)'], setupFilesAfterEnv: ['/test/config/setup.js'], @@ -31,7 +31,7 @@ module.exports = { }, moduleNameMapper: { '^(\\.{1,2}/.*)\\.js$': '$1', - }, + }, verbose: false, collectCoverage: false, coverageReporters: ['json'], diff --git a/tools/web3-packagetemplate/CHANGELOG.md b/tools/web3-packagetemplate/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/tools/web3-packagetemplate/CHANGELOG.md +++ b/tools/web3-packagetemplate/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/tools/web3-plugin-example/CHANGELOG.md b/tools/web3-plugin-example/CHANGELOG.md index 2ad5a7d4..dc93264a 100644 --- a/tools/web3-plugin-example/CHANGELOG.md +++ b/tools/web3-plugin-example/CHANGELOG.md @@ -33,4 +33,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - I've improved the security in XY (#1000) ---> \ No newline at end of file +--> diff --git a/packages/web3/test/shared_fixtures/contracts/ERC20Token.ts b/tools/web3-plugin-example/src/ZRC20Token.ts similarity index 95% rename from packages/web3/test/shared_fixtures/contracts/ERC20Token.ts rename to tools/web3-plugin-example/src/ZRC20Token.ts index b13578a6..b07e6647 100644 --- a/packages/web3/test/shared_fixtures/contracts/ERC20Token.ts +++ b/tools/web3-plugin-example/src/ZRC20Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ERC20TokenAbi = [ +export const ZRC20TokenAbi = [ { inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], stateMutability: 'nonpayable', @@ -74,26 +74,6 @@ export const ERC20TokenAbi = [ stateMutability: 'view', type: 'function', }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'subtractedValue', type: 'uint256' }, - ], - name: 'decreaseAllowance', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { internalType: 'address', name: 'spender', type: 'address' }, - { internalType: 'uint256', name: 'addedValue', type: 'uint256' }, - ], - name: 'increaseAllowance', - outputs: [{ internalType: 'bool', name: '', type: 'bool' }], - stateMutability: 'nonpayable', - type: 'function', - }, { inputs: [], name: 'name', @@ -137,5 +117,5 @@ export const ERC20TokenAbi = [ type: 'function', }, ] as const; -export const ERC20TokenBytecode = +export const ZRC20TokenBytecode = '0x60806040523480156200001157600080fd5b50604051620017a8380380620017a8833981810160405281019062000037919062000362565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb92919062000272565b508060049080519060200190620000d492919062000272565b505050620000e93382620000f060201b60201c565b5062000535565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015990620003f5565b60405180910390fd5b62000176600083836200026860201b60201c565b80600260008282546200018a919062000446565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001e1919062000446565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002489190620004b4565b60405180910390a362000264600083836200026d60201b60201c565b5050565b505050565b505050565b828054620002809062000500565b90600052602060002090601f016020900481019282620002a45760008555620002f0565b82601f10620002bf57805160ff1916838001178555620002f0565b82800160010185558215620002f0579182015b82811115620002ef578251825591602001919060010190620002d2565b5b509050620002ff919062000303565b5090565b5b808211156200031e57600081600090555060010162000304565b5090565b600080fd5b6000819050919050565b6200033c8162000327565b81146200034857600080fd5b50565b6000815190506200035c8162000331565b92915050565b6000602082840312156200037b576200037a62000322565b5b60006200038b848285016200034b565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620003dd601f8362000394565b9150620003ea82620003a5565b602082019050919050565b600060208201905081810360008301526200041081620003ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004538262000327565b9150620004608362000327565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000498576200049762000417565b5b828201905092915050565b620004ae8162000327565b82525050565b6000602082019050620004cb6000830184620004a3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200051957607f821691505b6020821081036200052f576200052e620004d1565b5b50919050565b61126380620005456000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b1e565b60405180910390f35b6100e660048036038101906100e19190610bd9565b610308565b6040516100f39190610c34565b60405180910390f35b61010461032b565b6040516101119190610c5e565b60405180910390f35b610134600480360381019061012f9190610c79565b610335565b6040516101419190610c34565b60405180910390f35b610152610364565b60405161015f9190610ce8565b60405180910390f35b610182600480360381019061017d9190610bd9565b61036d565b60405161018f9190610c34565b60405180910390f35b6101b260048036038101906101ad9190610d03565b6103a4565b6040516101bf9190610c5e565b60405180910390f35b6101d06103ec565b6040516101dd9190610b1e565b60405180910390f35b61020060048036038101906101fb9190610bd9565b61047e565b60405161020d9190610c34565b60405180910390f35b610230600480360381019061022b9190610bd9565b6104f5565b60405161023d9190610c34565b60405180910390f35b610260600480360381019061025b9190610d30565b610518565b60405161026d9190610c5e565b60405180910390f35b60606003805461028590610d9f565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9f565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610dff565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d9f565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d9f565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610ec7565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610feb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c5e565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611057565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d19061117b565b60405180910390fd5b6108e5838383610a7b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109629061120d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fe9190610dff565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a629190610c5e565b60405180910390a3610a75848484610a80565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610abf578082015181840152602081019050610aa4565b83811115610ace576000848401525b50505050565b6000601f19601f8301169050919050565b6000610af082610a85565b610afa8185610a90565b9350610b0a818560208601610aa1565b610b1381610ad4565b840191505092915050565b60006020820190508181036000830152610b388184610ae5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b7082610b45565b9050919050565b610b8081610b65565b8114610b8b57600080fd5b50565b600081359050610b9d81610b77565b92915050565b6000819050919050565b610bb681610ba3565b8114610bc157600080fd5b50565b600081359050610bd381610bad565b92915050565b60008060408385031215610bf057610bef610b40565b5b6000610bfe85828601610b8e565b9250506020610c0f85828601610bc4565b9150509250929050565b60008115159050919050565b610c2e81610c19565b82525050565b6000602082019050610c496000830184610c25565b92915050565b610c5881610ba3565b82525050565b6000602082019050610c736000830184610c4f565b92915050565b600080600060608486031215610c9257610c91610b40565b5b6000610ca086828701610b8e565b9350506020610cb186828701610b8e565b9250506040610cc286828701610bc4565b9150509250925092565b600060ff82169050919050565b610ce281610ccc565b82525050565b6000602082019050610cfd6000830184610cd9565b92915050565b600060208284031215610d1957610d18610b40565b5b6000610d2784828501610b8e565b91505092915050565b60008060408385031215610d4757610d46610b40565b5b6000610d5585828601610b8e565b9250506020610d6685828601610b8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db757607f821691505b602082108103610dca57610dc9610d70565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0a82610ba3565b9150610e1583610ba3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e4a57610e49610dd0565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610eb1602583610a90565b9150610ebc82610e55565b604082019050919050565b60006020820190508181036000830152610ee081610ea4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f43602483610a90565b9150610f4e82610ee7565b604082019050919050565b60006020820190508181036000830152610f7281610f36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fd5602283610a90565b9150610fe082610f79565b604082019050919050565b6000602082019050818103600083015261100481610fc8565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611041601d83610a90565b915061104c8261100b565b602082019050919050565b6000602082019050818103600083015261107081611034565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110d3602583610a90565b91506110de82611077565b604082019050919050565b60006020820190508181036000830152611102816110c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611165602383610a90565b915061117082611109565b604082019050919050565b6000602082019050818103600083015261119481611158565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111f7602683610a90565b91506112028261119b565b604082019050919050565b60006020820190508181036000830152611226816111ea565b905091905056fea264697066735822122039c50588d39e359807efa398bd1b3aff1b082ef738dddcfa8475048e11f9024e64736f6c634300080d0033'; diff --git a/tools/web3-plugin-example/src/contract_method_wrappers.ts b/tools/web3-plugin-example/src/contract_method_wrappers.ts index b267e601..d9f0b8a1 100644 --- a/tools/web3-plugin-example/src/contract_method_wrappers.ts +++ b/tools/web3-plugin-example/src/contract_method_wrappers.ts @@ -16,10 +16,16 @@ along with web3.js. If not, see . */ import { Web3PluginBase } from '@theqrl/web3-core'; import Contract from '@theqrl/web3-zond-contract'; -import { Address, ContractAbi, DataFormat, DEFAULT_RETURN_FORMAT, Numbers } from '@theqrl/web3-types'; +import { + Address, + ContractAbi, + DataFormat, + DEFAULT_RETURN_FORMAT, + Numbers, +} from '@theqrl/web3-types'; import { format, numberToHex } from '@theqrl/web3-utils'; // eslint-disable-next-line require-extensions/require-extensions -import { ERC20TokenAbi } from './ERC20Token'; +import { ZRC20TokenAbi } from './ZRC20Token'; // eslint-disable-next-line require-extensions/require-extensions import { Web3Context } from './reexported_web3_context'; @@ -28,7 +34,7 @@ export class ContractMethodWrappersPlugin extends Web3PluginBase { // This should be private, but it's public so _contract.requestManager.send can // be mocked in contract_method_wrappers.test.ts - public readonly _contract: Contract; + public readonly _contract: Contract; public constructor(abi: ContractAbi, address: Address) { super(); diff --git a/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts b/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts index 528d283a..48baac05 100644 --- a/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts +++ b/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts @@ -18,7 +18,7 @@ import Web3 from '@theqrl/web3'; import { DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { ContractMethodWrappersPlugin } from '../../src/contract_method_wrappers'; -import { ERC20TokenAbi } from '../../src/ERC20Token'; +import { ZRC20TokenAbi } from '../../src/ZRC20Token'; declare module '../web3_export_helper' { interface Web3 { @@ -31,7 +31,7 @@ describe('ContractMethodWrappersPlugin', () => { const web3 = new Web3('http://127.0.0.1:8545'); web3.registerPlugin( new ContractMethodWrappersPlugin( - ERC20TokenAbi, + ZRC20TokenAbi, 'ZdAC17F958D2ee523a2206206994597C13D831ec7', ), ); @@ -53,7 +53,7 @@ describe('ContractMethodWrappersPlugin', () => { beforeAll(() => { web3 = new Web3('http://127.0.0.1:8545'); - web3.registerPlugin(new ContractMethodWrappersPlugin(ERC20TokenAbi, contractAddress)); + web3.registerPlugin(new ContractMethodWrappersPlugin(ZRC20TokenAbi, contractAddress)); }); beforeEach(() => { @@ -87,7 +87,7 @@ describe('ContractMethodWrappersPlugin', () => { '0xc41b9a4f654c44552e135f770945916f57c069b80326f9a5f843e613491ab6b1'; // Mocking getBlockByNumber for getEip1559GasPricing - requestManagerSendSpy.mockResolvedValueOnce({"baseFeePerGas": "1000000000"}); + requestManagerSendSpy.mockResolvedValueOnce({ baseFeePerGas: '1000000000' }); // Mocking block number for trySendTransaction call requestManagerSendSpy.mockResolvedValueOnce('0x1'); requestManagerSendSpy.mockResolvedValueOnce(expectedTransactionHash); diff --git a/yarn.lock b/yarn.lock index fa56a4ef..2c9ef521 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1659,11 +1659,6 @@ dependencies: "@octokit/openapi-types" "^13.1.0" -"@openzeppelin/contracts@^4.7.1": - version "4.9.3" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.3.tgz#00d7a8cf35a475b160b3f0293a6403c511099364" - integrity sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg== - "@parcel/watcher@2.0.4": version "2.0.4" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" @@ -1830,13 +1825,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@solidity-parser/parser@^0.14.3": - version "0.14.3" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.3.tgz#0d627427b35a40d8521aaa933cc3df7d07bfa36f" - integrity sha512-29g2SZ29HtsqA58pLCtopI1P/cPy5/UAzlcAXO6T/CNJimG6yA8kx4NaseMyJULiC+TEs02Y9/yeHzClqoA0hw== - dependencies: - antlr4ts "^0.5.0-alpha.4" - "@theqrl/dilithium5@^0.0.9": version "0.0.9" resolved "https://registry.yarnpkg.com/@theqrl/dilithium5/-/dilithium5-0.0.9.tgz#f4b80654faf0f345fabc6420991c40063673baa9" @@ -1845,6 +1833,19 @@ randombytes "^2.1.0" sha3 "^2.1.4" +"@theqrl/hypc@^0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@theqrl/hypc/-/hypc-0.0.2.tgz#9030fa95906d718f306460e9f90f9ca7c5b05aa0" + integrity sha512-XsP7hETJdlmmdGtmp/K5ZtTcz3EzZaP+WhjuOTf4PmhE+6oijN271H10htYHvBo95ED2OYiuUCYucYNw7Q6mfQ== + dependencies: + command-exists "^1.2.8" + commander "^8.1.0" + follow-redirects "^1.12.1" + js-sha3 "0.8.0" + memorystream "^0.3.1" + semver "^5.5.0" + tmp "0.0.33" + "@theqrl/wallet.js@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@theqrl/wallet.js/-/wallet.js-0.1.1.tgz#4a400d6aa8e886a2953ddbf6f43de1cee1f6d82b" @@ -1854,6 +1855,9 @@ randombytes "^2.1.0" sha3 "^2.1.4" +"@theqrl/zond-contracts@file:../zond-contracts": + version "0.1.0" + "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -2676,11 +2680,6 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -4354,11 +4353,6 @@ emittery@^0.10.2: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== -emoji-regex@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.1.0.tgz#d50e383743c0f7a5945c47087295afc112e3cf66" - integrity sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -9391,18 +9385,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier-plugin-solidity@^1.0.0-beta.20: - version "1.0.0-beta.24" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.24.tgz#67573ca87098c14f7ccff3639ddd8a4cab2a87eb" - integrity sha512-6JlV5BBTWzmDSq4kZ9PTXc3eLOX7DF5HpbqmmaF+kloyUwOZbJ12hIYsUaZh2fVgZdV2t0vWcvY6qhILhlzgqg== - dependencies: - "@solidity-parser/parser" "^0.14.3" - emoji-regex "^10.1.0" - escape-string-regexp "^4.0.0" - semver "^7.3.7" - solidity-comments-extractor "^0.0.7" - string-width "^4.2.3" - prettier@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" @@ -10354,24 +10336,6 @@ solc@0.7.3: semver "^5.5.0" tmp "0.0.33" -solc@^0.8.15: - version "0.8.16" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.16.tgz#120f992357e236d99e6cf3445bf2c2dca3384f96" - integrity sha512-6oZg7FAhIouj2zYLvoR3Q4fMP/+BGPR7sY7GcrEXKIp+DRd8RmpDEFO1LUBKpClUiaYguNgmthTFmnPl4MeiMQ== - dependencies: - command-exists "^1.2.8" - commander "^8.1.0" - follow-redirects "^1.12.1" - js-sha3 "0.8.0" - memorystream "^0.3.1" - semver "^5.5.0" - tmp "0.0.33" - -solidity-comments-extractor@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" - integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== - sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" From 0928d534cc0d696d7354b51dce1df0cacdfd6631 Mon Sep 17 00:00:00 2001 From: Ricardo Geraldes <144315960+rgeraldes24@users.noreply.github.com> Date: Mon, 14 Jul 2025 13:36:12 +0400 Subject: [PATCH 2/8] Merge upstream (#9) * Documentation updates * Node version badge to v18.x * Fix some broken links * version bump * version bump --------- Co-authored-by: Cyyber Ttechno Co-authored-by: JP Lomas --- CONTRIBUTIONS.md | 8 +- README.md | 54 +++++++------ RELEASE.md | 10 ++- codecov.yml | 4 +- .../support_additional_rpc_methods/index.md | 16 ++-- .../web3_tree_shaking_support_guide/index.md | 4 +- .../basics/sign_and_send_tx/local_wallet.md | 4 +- .../sign_and_send_tx/wallet_of_zond_node.md | 4 +- docs/docs/guides/basics/zond.md | 16 ++-- ...ng_and_interacting_with_smart_contracts.md | 8 +- .../infer_contract_types_guide/index.md | 8 +- .../web3_plugin_guide/plugin_authors.md | 49 +++++------ .../guides/web3_plugin_guide/plugin_users.md | 10 +-- .../web3_providers_guide/events_listening.md | 2 +- .../guides/web3_providers_guide/examples.md | 18 ++--- .../docs/guides/web3_providers_guide/index.md | 21 +++-- docs/docusaurus.config.js | 6 +- package.json | 8 +- packages/abi/LICENSE.md | 34 +++++++- packages/abi/README.md | 9 +-- packages/abi/package.json | 6 +- packages/web3-core/README.md | 36 ++++----- packages/web3-core/package.json | 22 ++--- packages/web3-errors/README.md | 32 ++++---- packages/web3-errors/package.json | 8 +- .../src/errors/transaction_errors.ts | 2 +- packages/web3-net/README.md | 33 ++++---- packages/web3-net/package.json | 14 ++-- packages/web3-providers-http/README.md | 35 ++++---- packages/web3-providers-http/package.json | 12 +-- packages/web3-providers-ipc/README.md | 33 ++++---- packages/web3-providers-ipc/package.json | 12 +-- packages/web3-providers-ws/README.md | 35 ++++---- packages/web3-providers-ws/package.json | 12 +-- packages/web3-rpc-methods/README.md | 35 ++++---- packages/web3-rpc-methods/package.json | 12 +-- packages/web3-types/README.md | 35 ++++---- packages/web3-types/package.json | 6 +- packages/web3-utils/README.md | 37 ++++----- packages/web3-utils/package.json | 12 +-- packages/web3-validator/README.md | 35 ++++---- packages/web3-validator/package.json | 10 +-- packages/web3-zond-abi/README.md | 36 ++++----- packages/web3-zond-abi/package.json | 12 +-- packages/web3-zond-accounts/README.md | 36 ++++----- packages/web3-zond-accounts/package.json | 16 ++-- packages/web3-zond-contract/README.md | 37 ++++----- packages/web3-zond-contract/package.json | 22 ++--- packages/web3-zond-contract/src/index.ts | 2 +- .../.eslintignore | 0 .../.eslintrc.js | 0 .../.gitignore | 0 .../.npmignore | 0 .../.prettierignore | 0 .../.prettierrc.json | 0 .../CHANGELOG.md | 0 packages/web3-zond-ens/README.md | 55 +++++++++++++ .../assets/logo/web3js.ai | 0 .../assets/logo/web3js.jpg | Bin .../assets/logo/web3js.svg | 0 .../package.json | 24 +++--- .../src/abi/zns/PublicResolver.ts | 0 .../src/abi/zns/ZNSRegistry.ts | 0 .../src/config.ts | 0 .../src/index.ts | 0 .../src/registry.ts | 0 .../src/resolver.ts | 0 .../src/utils.ts | 0 .../src/zns.ts | 0 .../test/.eslintrc.js | 0 .../test/config/jest.config.js | 0 .../test/config/setup.js | 0 .../test/fixtures/accounts.json | 0 .../test/fixtures/system_tests_utils.ts | 0 .../test/fixtures/utils.ts | 0 .../test/fixtures/zns/ZNSRegistry.json | 0 .../test/fixtures/zns/abi/NameWrapper.ts | 0 .../test/fixtures/zns/abi/PublicResolver.ts | 0 .../test/fixtures/zns/abi/ZNSRegistry.ts | 0 .../zns/bytecode/NameWrapperBytecode.ts | 0 .../zns/bytecode/PublicResolverBytecode.ts | 0 .../zns/bytecode/ZNSRegistryBytecode.ts | 0 .../test/fixtures/zns/reverse_registrar.json | 0 .../test/integration/jest.config.js | 0 .../test/integration/resolver.test.ts | 0 .../test/integration/setup.js | 0 .../test/integration/zns.events.test.ts | 0 .../test/integration/zns.test.ts | 0 .../test/tsconfig.json | 0 .../test/unit/constructor.test.ts | 0 .../test/unit/index.test.ts | 0 .../test/unit/jest.config.js | 2 +- .../test/unit/registry.test.ts | 0 .../test/unit/resolver.test.ts | 0 .../test/unit/utils.test.ts | 0 .../test/unit/zns.test.ts | 0 .../tsconfig.cjs.json | 0 .../tsconfig.esm.json | 0 .../tsconfig.types.json | 0 .../tsdoc.json | 0 packages/web3-zond-iban/README.md | 36 ++++----- packages/web3-zond-iban/package.json | 14 ++-- packages/web3-zond-zns/README.md | 59 -------------- packages/web3-zond/README.md | 35 ++++---- packages/web3-zond/package.json | 28 +++---- packages/web3-zond/src/rpc_method_wrappers.ts | 2 +- packages/web3-zond/src/web3_zond.ts | 2 +- .../test/integration/defaults.test.ts | 4 +- packages/web3/README.md | 76 +++++++++--------- packages/web3/package.json | 38 ++++----- packages/web3/src/types.ts | 2 +- packages/web3/src/version.ts | 2 +- packages/web3/src/web3.ts | 2 +- packages/web3/src/zond.exports.ts | 2 +- packages/web3/test/cjs_black_box/package.json | 2 +- .../cjs_black_box/test/batchRequest.test.ts | 2 +- .../web3-zond-accounts/hashMessage.test.ts | 2 +- .../test/web3-zond-contract/zrc20.test.ts | 2 +- .../test/web3-zond/getBlock.test.ts | 2 +- .../test/web3-zond/getTransaction.test.ts | 2 +- packages/web3/test/cjs_black_box/yarn.lock | 48 +++++------ packages/web3/test/e2e/web3_extend.test.ts | 2 +- packages/web3/test/esm_black_box/package.json | 2 +- packages/web3/test/esm_black_box/yarn.lock | 46 +++++------ packages/web3/test/unit/index.test.ts | 2 +- tools/eslint-config-base-web3/package.json | 8 +- tools/web3-packagetemplate/README.md | 36 ++++----- tools/web3-packagetemplate/package.json | 6 +- tools/web3-plugin-example/README.md | 33 ++++---- tools/web3-plugin-example/package.json | 18 ++--- yarn.lock | 16 ++++ 131 files changed, 762 insertions(+), 778 deletions(-) rename packages/{web3-zond-zns => web3-zond-ens}/.eslintignore (100%) rename packages/{web3-zond-zns => web3-zond-ens}/.eslintrc.js (100%) rename packages/{web3-zond-zns => web3-zond-ens}/.gitignore (100%) rename packages/{web3-zond-zns => web3-zond-ens}/.npmignore (100%) rename packages/{web3-zond-zns => web3-zond-ens}/.prettierignore (100%) rename packages/{web3-zond-zns => web3-zond-ens}/.prettierrc.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/CHANGELOG.md (100%) create mode 100644 packages/web3-zond-ens/README.md rename packages/{web3-zond-zns => web3-zond-ens}/assets/logo/web3js.ai (100%) rename packages/{web3-zond-zns => web3-zond-ens}/assets/logo/web3js.jpg (100%) rename packages/{web3-zond-zns => web3-zond-ens}/assets/logo/web3js.svg (100%) rename packages/{web3-zond-zns => web3-zond-ens}/package.json (83%) rename packages/{web3-zond-zns => web3-zond-ens}/src/abi/zns/PublicResolver.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/abi/zns/ZNSRegistry.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/config.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/index.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/registry.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/resolver.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/utils.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/src/zns.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/.eslintrc.js (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/config/jest.config.js (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/config/setup.js (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/accounts.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/system_tests_utils.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/utils.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/ZNSRegistry.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/abi/NameWrapper.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/abi/PublicResolver.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/abi/ZNSRegistry.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/bytecode/NameWrapperBytecode.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/bytecode/PublicResolverBytecode.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/fixtures/zns/reverse_registrar.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/integration/jest.config.js (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/integration/resolver.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/integration/setup.js (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/integration/zns.events.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/integration/zns.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/tsconfig.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/constructor.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/index.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/jest.config.js (86%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/registry.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/resolver.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/utils.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/test/unit/zns.test.ts (100%) rename packages/{web3-zond-zns => web3-zond-ens}/tsconfig.cjs.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/tsconfig.esm.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/tsconfig.types.json (100%) rename packages/{web3-zond-zns => web3-zond-ens}/tsdoc.json (100%) delete mode 100644 packages/web3-zond-zns/README.md diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 95b072de..a3bf15a8 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -1,8 +1,10 @@ ## Guidelines for Pull Requests and Releases +_These guidelines are a work in progress and will be changed/updated as the project evolves._ + This document provides some ground rules for contributors (including the maintainer(s) of the project) about how to make, review and publish changes. The most basic requirement is -that **Web3 not break**. +that **this should not break**. ### Pull Requests for substantive changes (e.g. everything except comments and docs) @@ -45,7 +47,3 @@ Read more in [Release Guidelines](./RELEASE.md). ### Emergencies Emergency releases are allowed to shorten waiting periods depending on the severity of the issue. - -There is precedent set for this in the 1.2.6 release (see [#3351](https://github.com/ethereum/web3.js/pull/3351)), where the consensus view was to make the smallest change necessary to address the emergency while waiving the `rc` process (meaning many existing additions to master were excluded). - -This topic is under further org-wide discussion at [ethereum/js-organization#6](https://github.com/ethereum/js-organization/issues/6). diff --git a/README.md b/README.md index b316b2bb..474ec1ab 100644 --- a/README.md +++ b/README.md @@ -9,32 +9,32 @@ ![Contributors](https://img.shields.io/github/contributors/web3/web3.js?label=contributors%20on%20all%20branches) ![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-14.x-green) +![Node Version](https://img.shields.io/badge/node-18.x-green) -Web3.js is a TypeScript implementation of the [Zond JSON RPC API](https://eth.wiki/json-rpc/API) and related tooling maintained by [ChainSafe Systems](https://chainsafe.io). +Web3.js is a TypeScript implementation of the [Zond JSON RPC API](https://eth.wiki/json-rpc/API) and related tooling maintained by [The QRL Contributors](https://chainsafe.io). ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/web3) or using [Yarn](https://yarnpkg.com/package/web3) +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3) -> If you wanna checkout latest bugfix or feature, use `npm install web3@dev` +> If you wanna checkout latest bugfix or feature, use `npm install @theqrl/web3@dev` ### Using NPM ```bash -npm install web3 +npm install @theqrl/web3 ``` ### Using Yarn ```bash -yarn add web3 +yarn add @theqrl/web3 ``` ## Getting Started -- :writing_hand: If you have questions [submit an issue](https://github.com/ChainSafe/web3.js/issues/new/choose) or join us on [Discord](https://discord.gg/yjyvFRP) - ![Discord](https://img.shields.io/discord/593655374469660673.svg?label=Discord&logo=discord) +- :writing_hand: If you have questions [submit an issue](https://github.com/theqrl/web3.js/issues/new/choose) or join us on [Discord](https://theqrl.org/discord) + ![Discord](https://img.shields.io/discord/357604137204056065.svg?label=Discord&logo=discord) ## Prerequisites @@ -43,30 +43,32 @@ yarn add web3 ## Useful links -- [Web3 tree shaking support guide](https://docs.web3js.org/guides/advanced/web3_tree_shaking_support_guide/) +These links are for the Web3.js but should be useful pointers in the correct direction for theQRL/Web3.js as well. + +- [Web3 tree shaking support guide](https://docs.web3js.org/guides/advanced/tree_shaking) - [React App Example](https://github.com/ChainSafe/web3js-example-react-app) ## Architecture Overview | Package | Version | License | Docs | Description | | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -| [web3](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3%2Fpackage.json)](https://www.npmjs.com/package/web3) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3) | :rotating_light: Entire Web3.js offering (includes all packages) | -| [web3-core](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-core) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-core%2Fpackage.json)](https://www.npmjs.com/package/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-core) | Core functions for web3.js packages | -| [web3-errors](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-errors) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-errors%2Fpackage.json)](https://www.npmjs.com/package/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-errors) | Errors Objects | -| [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth%2Fpackage.json)](https://www.npmjs.com/package/web3-eth) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth) | Modules to interact with the Zond blockchain and smart contracts | -| [web3-zond-abi](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-abi%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-abi) | Functions for encoding and decoding ZVM in/output | -| [web3-zond-accounts](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-accounts%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-accounts) | Functions for managing Zond accounts and signing | -| [web3-zond-contract](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-contract%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-contract) | The contract package contained in [web3-zond](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth) | -| [web3-zond-zns](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-ens%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-ens) | Functions for interacting with the Zond Name Service | -| [web3-zond-iban](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-eth-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-eth-iban%2Fpackage.json)](https://www.npmjs.com/package/web3-eth-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-eth-iban) | Functionality for converting Zond addressed to IBAN addressed and vice versa | -| [web3-net](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-net) | Functions to interact with a Zond node's network properties | -| [web3-providers-http](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-http) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-http%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-http) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-http) | Web3.js provider for the HTTP protocol | -| [web3-providers-ipc](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ipc) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ipc%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ipc) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ipc) | Web3.js provider for IPC | -| [web3-providers-ws](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-providers-ws) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-providers-ws%2Fpackage.json)](https://www.npmjs.com/package/web3-providers-ws) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-providers-ws) | Web3.js provider for the Websocket protocol | -| [web3-rpc-methods](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-rpc-methods) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-rpc-methods%2Fpackage.json)](https://www.npmjs.com/package/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/) | RPC Methods | -| [web3-types](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-types) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-types%2Fpackage.json)](https://www.npmjs.com/package/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-types) | Shared useable types | -| [web3-utils](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-utils) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-utils%2Fpackage.json)](https://www.npmjs.com/package/web3-utils) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-utils) | Useful utility functions for Dapp developers | -| [web3-validator](https://github.com/ChainSafe/web3.js/tree/4.x/packages/web3-validator) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/4.x?filename=packages%2Fweb3-validator%2Fpackage.json)](https://www.npmjs.com/package/web3-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.web3js.org/api/web3-validator) | Utilities for validating objects | +| [web3](https://github.com/theqrl/web3.js/tree/main/packages/web3) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3) | :rotating_light: Entire Web3.js offering (includes all packages) | +| [web3-core](https://github.com/theqrl/web3.js/tree/main/packages/web3-core) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-core%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-core) | Core functions for web3.js packages | +| [web3-errors](https://github.com/theqrl/web3.js/tree/main/packages/web3-errors) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-errors%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-errors) | Errors Objects | +| [web3-zond](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-eth%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-eth) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-eth) | Modules to interact with the Zond blockchain and smart contracts | +| [web3-zond-abi](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-abi%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-abi) | Functions for encoding and decoding ZVM in/output | +| [web3-zond-accounts](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-accounts%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-accounts) | Functions for managing Zond accounts and signing | +| [web3-zond-contract](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-contract%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-contract) | The contract package contained in [web3-zond](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond) | +| [web3-zond-ens](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-ens%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-ens) | Functions for interacting with the Ethereum Name Service | +| [web3-zond-iban](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-iban%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-iban) | Functionality for converting Zond addressed to IBAN addressed and vice versa | +| [web3-net](https://github.com/theqrl/web3.js/tree/main/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-net) | Functions to interact with an Zond node's network properties | +| [web3-providers-http](https://github.com/theqrl/web3.js/tree/main/packages/web3-providers-http) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-providers-http%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-providers-http) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-providers-http) | Web3.js provider for the HTTP protocol | +| [web3-providers-ipc](https://github.com/theqrl/web3.js/tree/main/packages/web3-providers-ipc) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-providers-ipc%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-providers-ipc) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-providers-ipc) | Web3.js provider for IPC | +| [web3-providers-ws](https://github.com/theqrl/web3.js/tree/main/packages/web3-providers-ws) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-providers-ws%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-providers-ws) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-providers-ws) | Web3.js provider for the Websocket protocol | +| [web3-rpc-methods](https://github.com/theqrl/web3.js/tree/main/packages/web3-rpc-methods) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-rpc-methods%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/) | RPC Methods | +| [web3-types](https://github.com/theqrl/web3.js/tree/main/packages/web3-types) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-types%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-types) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-types) | Shared useable types | +| [web3-utils](https://github.com/theqrl/web3.js/tree/main/packages/web3-utils) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-utils%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-utils) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-utils) | Useful utility functions for Dapp developers | +| [web3-validator](https://github.com/theqrl/web3.js/tree/main/packages/web3-validator) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-validator%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-validator) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-validator) | Utilities for validating objects | ## Package.json Scripts diff --git a/RELEASE.md b/RELEASE.md index feb3295b..d325ee77 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,8 +1,12 @@ -# web3.js Release Guidelines +# @theqrl/web3.js Release Guidelines + +_This document has not yet been fully ported from the original web3.js repository. It is a work in progress and will be updated in the future._ + +_We need to use lerna pinned at v6 either with npx or installed globally to run the commands in this document_ ## Version Number Definition -The web3.js project follows the [semver 2.0.0 specification](https://semver.org/). +The @theqrl/web3.js project follows the [semver 2.0.0 specification](https://semver.org/). ### Major @@ -44,7 +48,7 @@ Further details about versioning can be found in the [semver 2.0.0 specification 8. `git tag bumped-version`: Tag the commit with bumped version having prefix `v` , e.g. `git tag v4.0.1-alpha.0` 9. `git push origin release/bumped-version`: Push release branch to `origin` 10. `git push origin --tags`: Push release tag created in `Step 8` to `origin` -11. Create a draft release on Github similar to [this](https://github.com/ChainSafe/web3.js/releases/tag/web3-providers-base%401.0.0-alpha.1) +11. Create a draft release on Github similar to [this Chainsafe example](https://github.com/chainsafe/web3.js/releases/tag/web3-providers-base%401.0.0-alpha.1) - Check `This is a pre-release` - In the release description, copy all entries in `CHANGELOG.md` for the version being released 12. Click `Save draft` diff --git a/codecov.yml b/codecov.yml index 0a8f0dfd..11dfde6b 100644 --- a/codecov.yml +++ b/codecov.yml @@ -39,9 +39,9 @@ component_management: - component_id: "@theqrl/web3-zond-contract" paths: - /packages/web3-zond-contract/src/ - - component_id: "@theqrl/web3-zond-zns" + - component_id: "@theqrl/web3-zond-ens" paths: - - /packages/web3-zond-zns/src/ + - /packages/web3-zond-ens/src/ - component_id: "@theqrl/web3-zond-iban" paths: - /packages/web3-zond-iban/src/ diff --git a/docs/docs/guides/advanced/support_additional_rpc_methods/index.md b/docs/docs/guides/advanced/support_additional_rpc_methods/index.md index b685b292..ad0b44ca 100644 --- a/docs/docs/guides/advanced/support_additional_rpc_methods/index.md +++ b/docs/docs/guides/advanced/support_additional_rpc_methods/index.md @@ -24,7 +24,7 @@ This will give your plugin access to [requestManager](/api/web3-core/class/Web3C :::caution ```ts -import { Web3PluginBase } from 'web3'; +import { Web3PluginBase } from '@theqrl/web3'; export default class CustomRpcMethodsPlugin extends Web3PluginBase { // step 1 @@ -35,7 +35,7 @@ export default class CustomRpcMethodsPlugin extends Web3PluginBase { 2. After that add public `pluginNamespace` property. This will be used to access your plugin, as mentioned in step number 5 code example. ```ts -import { Web3PluginBase } from 'web3'; +import { Web3PluginBase } from '@theqrl/web3'; export default class CustomRpcMethodsPlugin extends Web3PluginBase { public pluginNamespace = 'customRpcMethods'; // step 2 @@ -45,7 +45,7 @@ export default class CustomRpcMethodsPlugin extends Web3PluginBase { 3. Once plugin class is created using above mentioned steps, its very easy to add new RPC methods like: ```ts -import { Web3PluginBase } from 'web3'; +import { Web3PluginBase } from '@theqrl/web3'; export default class CustomRpcMethodsPlugin extends Web3PluginBase { public pluginNamespace = 'customRpcMethods'; @@ -64,7 +64,7 @@ export default class CustomRpcMethodsPlugin extends Web3PluginBase { 4. Final step is setting up module [augmentation](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation), this will allow you to access plugin on web3 object. ```ts -import { Web3PluginBase } from 'web3'; +import { Web3PluginBase } from '@theqrl/web3'; export default class CustomRpcMethodsPlugin extends Web3PluginBase { public pluginNamespace = 'customRpcMethods'; @@ -79,7 +79,7 @@ export default class CustomRpcMethodsPlugin extends Web3PluginBase { } // Module Augmentation -declare module 'web3' { +declare module '@theqrl/web3' { // step 4 interface Web3Context { @@ -99,8 +99,8 @@ After the plugin is ready, it is recommended to publish it on the NPM registry. Once plugin is registered its custom methods will be available to use. ```ts -import { Web3 } from 'web3'; -import CustomRpcMethodsPlugin from 'web3-plugin-example'; +import { Web3 } from '@theqrl/web3'; +import CustomRpcMethodsPlugin from '@theqrl/web3-plugin-example'; const web3 = new Web3('http://127.0.0.1:8545'); web3.registerPlugin(new CustomRpcMethodsPlugin()); // step 5 @@ -112,6 +112,6 @@ web3.customRpcMethods.customRpcMethod(); For more details follow : -- [Example Plugin Code](https://github.com/web3/web3.js/tree/4.x/tools/web3-plugin-example) +- [Example Plugin Code](https://github.com/theqrl/web3.js/tree/main/tools/web3-plugin-example) - [Web3 Plugin developers Guide](/guides/web3_plugin_guide/plugin_authors) - [Web3 Plugin Users Guide](/guides/web3_plugin_guide/plugin_users) diff --git a/docs/docs/guides/advanced/web3_tree_shaking_support_guide/index.md b/docs/docs/guides/advanced/web3_tree_shaking_support_guide/index.md index 5db3c7e9..906365ea 100644 --- a/docs/docs/guides/advanced/web3_tree_shaking_support_guide/index.md +++ b/docs/docs/guides/advanced/web3_tree_shaking_support_guide/index.md @@ -34,10 +34,10 @@ For further information about `sideEffects` see [webpack docs](https://webpack.j import Web3Zond from '@theqrl/web3-zond'; ``` -If you only need a few functions from `web3-utils`: +If you only need a few functions from `@theqrl/web3-utils`: ```ts -import { numberToHex, hexToNumber } from 'web3-utils'; +import { numberToHex, hexToNumber } from '@theqrl/web3-utils'; ``` You can find an example app with tree shaking [here](https://github.com/ChainSafe/web3js-example-react-app). diff --git a/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md b/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md index a3d78cec..2e546fc4 100644 --- a/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md +++ b/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md @@ -11,7 +11,7 @@ The simplest way to sign and send transactions is using a local wallet: ```ts // First step: initialize `web3` instance -import Web3 from 'web3'; +import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // Second step: add an account to wallet @@ -45,7 +45,7 @@ List of references: ```ts // First step: initialize `web3` instance -import Web3 from 'web3'; +import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // Second step: add an account to wallet diff --git a/docs/docs/guides/basics/sign_and_send_tx/wallet_of_zond_node.md b/docs/docs/guides/basics/sign_and_send_tx/wallet_of_zond_node.md index e3f95993..4ea60ea5 100644 --- a/docs/docs/guides/basics/sign_and_send_tx/wallet_of_zond_node.md +++ b/docs/docs/guides/basics/sign_and_send_tx/wallet_of_zond_node.md @@ -11,7 +11,7 @@ If Zond node has unlocked account in its wallet you can send transaction without ```ts // First step: initialize web3 instance -import Web3 from 'web3'; +import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // Second step: sign and send the transaction @@ -37,7 +37,7 @@ List of references: ```ts // First step: initialize web3 instance -import Web3 from 'web3'; +import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // Second step: sign and send the transaction diff --git a/docs/docs/guides/basics/zond.md b/docs/docs/guides/basics/zond.md index ccea547c..aa93685e 100644 --- a/docs/docs/guides/basics/zond.md +++ b/docs/docs/guides/basics/zond.md @@ -31,8 +31,8 @@ Before we start writing and deploying our contract, we need to set up our enviro First, create a new project directory for your project and navigate into it: ``` -mkdir web3-eth-tutorial -cd web3-eth-tutorial +mkdir web3-zond-tutorial +cd web3-zond-tutorial ``` Next, initialize a new Node.js project using npm: @@ -57,7 +57,7 @@ In this step, we will set up the web3.js library and connect to the Ganache netw First, install the `web3` package using npm: ``` -npm install @theqrl/web3@4.0.1-rc.1 +npm install @theqrl/web3 ``` Note that we are installing the latest version of 4.x, at the time of this tutorial writing. You can check the latest version at https://www.npmjs.com/package/@theqrl/web3?activeTab=versions @@ -65,7 +65,7 @@ Note that we are installing the latest version of 4.x, at the time of this tutor Next, create a new file called `index.ts` in your project directory and add the following code to it: ```javascript -const { Web3 } = require('web3'); // web3.js has native ESM builds and (`import Web3 from 'web3'`) +const { Web3 } = require('@theqrl/web3'); // web3.js has native ESM builds and (`import Web3 from '@theqrl/web3'`) // Set up a connection to the Ganache network const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:7545')); @@ -99,7 +99,7 @@ In the first example, we are going to send a simple value transaction. Create a file named `transaction.ts` and fill it with the following code: ```typescript -const { Web3 } = require('web3'); // web3.js has native ESM builds and (`import Web3 from 'web3'`) +const { Web3 } = require('@theqrl/web3'); // web3.js has native ESM builds and (`import Web3 from '@theqrl/web3'`) const fs = require('fs'); const path = require('path'); @@ -202,7 +202,7 @@ transactionHash { In the next example, we are going to use `estimateGas` function to see the expected gas for contract deployment. (For more on contracts, please see the corresponding tutotial). Create a file named `estimate.ts` and fill it with the following code: ```typescript -import Web3, { ZOND_DATA_FORMAT, DEFAULT_RETURN_FORMAT } from 'web3'; +import Web3, { ZOND_DATA_FORMAT, DEFAULT_RETURN_FORMAT } from '@theqrl/web3'; async function estimate() { // abi of our contract @@ -284,7 +284,7 @@ If everything is working correctly, you should see something like the following: In the next example we are going to sign a transaction and use `sendSignedTransaction` to send the signed transaction. Create a file named `sendSigned.ts` and fill it with the following code: ```typescript -import Web3 from 'web3'; +import Web3 from '@theqrl/web3'; const web3 = new Web3('http://localhost:7545'); //make sure to copy the private key from ganache @@ -347,7 +347,7 @@ Transaction receipt: { ## Conclusion -In this tutorial, we learned how to use different methods provied by the `web3-eth` package. +In this tutorial, we learned how to use different methods provided by the `@theqrl/web3` package. With this knowledge, you can start experimenting with the Zond blockchain. Keep in mind that this is just the beginning, and there is a lot more to learn about Zond and web3.js. So keep exploring and building, and have fun! diff --git a/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md b/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md index 0012758e..ca14d385 100644 --- a/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md +++ b/docs/docs/guides/smart_contracts/deploying_and_interacting_with_smart_contracts.md @@ -181,7 +181,7 @@ Note that we are installing the latest version of 4.x, at the time of this tutor Next, create a new file called `index.js` in your project directory and add the following code to it: ```javascript -const { Web3 } = require('web3'); // web3.js has native ESM builds and (`import Web3 from 'web3'`) +const { Web3 } = require('@theqrl/web3'); // web3.js has native ESM builds and (`import Web3 from '@theqrl/web3'`) // Set up a connection to the Ganache network const web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:7545')); @@ -216,7 +216,7 @@ Create a file named `deploy.js` and fill it with the following code: ```javascript // For simplicity we use `web3` package here. However, if you are concerned with the size, // you may import individual packages like 'web3-zond', 'web3-zond-contract' and 'web3-providers-http'. -const { Web3 } = require('web3'); // web3.js has native ESM builds and (`import Web3 from 'web3'`) +const { Web3 } = require('@theqrl/web3'); // web3.js has native ESM builds and (`import Web3 from '@theqrl/web3'`) const fs = require('fs'); const path = require('path'); @@ -292,7 +292,7 @@ In this step, we will use web3.js to interact with the smart contract on the Gan Create a file named `interact.js` and fill it with the following code: ```javascript -const { Web3 } = require('web3'); // web3.js has native ESM builds and (`import Web3 from 'web3'`) +const { Web3 } = require('@theqrl/web3'); // web3.js has native ESM builds and (`import Web3 from '@theqrl/web3'`) const fs = require('fs'); const path = require('path'); @@ -419,7 +419,7 @@ With this knowledge, you can start experimenting with writing smart contract in ## Additional Resources -- [Official web3.js Documentation](https://docs.web3js.org/) +- [Official web3.js Documentation](https://docs.theqrl.org/) - [Hyperion Documentation](https://solidity.readthedocs.io/) - [Ganache](https://www.trufflesuite.com/ganache) - [Truffle](https://trufflesuite.com/) diff --git a/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md b/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md index cbbf4804..12f96a18 100644 --- a/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md +++ b/docs/docs/guides/smart_contracts/infer_contract_types_guide/index.md @@ -11,8 +11,8 @@ Before we dive into the problem, let's take a quick look at the problem. Web3.js Web3.js uses ABI type to dynamically load available methods and events but Typescript currently [doesn't support loading JSON as const](https://github.com/microsoft/TypeScript/issues/32063). If you go to the [Playground Link](https://www.typescriptlang.org/play?#code/MYewdgzgLgBAhgIwJYwLwwNoCga5gbxz1wCIkwAHAVyghIC5MjjdCWWywoBTAJzDgAbACoBPCtwYwS0XuQDmJADTN20gQFtJjEpu4B9ZavYko47dNkKSxvAF8VagreKce-IWIlSZUOWEVHJ3U4LR8IUQ0EEEFDIKdTc3C-axcYO1sAXXi8XzgeAFkaRCRBJDMfMHAKOFFEQUkc0jNvHVBIPypgKBBeG2IHVTYOOCqwSJAqOkYAMyEIbibpcmpaKWwnYYTyABNuAA9uHalOxbTScncBESSdOB2d3m4IOiXXPR8QAHcwPiNg6QtCwke6PZ50NKDTbnZZgPaHY6MU5vXKXPjXLzA0FPF7-YK6ULAiASOF-FHNW7SbHg-pqKFqLZqTjwo5SOaCBbk2FXTyUkhUS4AJgArAA2PEJD46ABuQiojRhiVa0gFXBF4shWSWBLCOgAghQKLwQLLBBLckCfNxpdwuLTcPTWLYQWMJlM2fMziYVjRpkxoQDmQdWUjePKuW50bzlSCHjjXoqpdIZsaNOaTJa7nGaZCUYzvaSEScw178WiPDcY9TcRGk6YQOmOJmqdncbm0vmOLtg4iYOzOYryxi+aqoOrG+9CT5TfKJxaR0KxfaWBl2NlnXXhLxRhAZmTnc2SNbbVBl47nAXVn6NgzB1wo5Wsa2E4G699fn0I4fqxCnOfiJ2rhDtGT5gjWiZTjoxK2nsn6Kt+z7LgMWobpBVKCII3yjMAComJMUBXusHZ3jyj4+KO461mhJBzhSMYUUumprtq0D5NwRRQCUZQVDKSDcF8jZKsCMxUGA3RIOAZ45J2nCEYwN7sIBqL3hWmI+D+tEhLqlgkrBmlCepiHtgGZYqcO9GLuKVHaSCGiTHaX4LmqjF-ihJh1nAhrGjagn4XJ-q3oGwFkTo0QxPpdb6YeYVmkxLDriYrGFMUyDcaIlTVLU9S4U2fIiWJUASWAUlDM6PprPJxFBWZIGGWBL74h5wCgKJp6OVWRmucxqE2QgQjYdwADyMy+TQ-kKSwSkXDVIUqpZEXUVFTlji5dJuRwSXsSlpTlOlvH8YJh75eJkmqOeMnldeCUcHWezAEgGjzKNBG+kRJnbDNak6KOAAcC02UtFlcH9cXENdribRxXG7dOfECdqR2iSdxVndJZWUK9lXvUywVfS29X-USun7oGCEE8ZgWmaReP8vN1lElQCB+HA3RHAAanKOUJIeDEal18Xard3DAE8cALHqGFYWJXO5H5mMBYpJEPjTMWEz4gPAqroN4ODuSQ9taUZZQWUIA0h15UjhWnQMaOXvLE0AUrql8hp9PhMTcGky7nV0nmTvmcCvNq1mew7Bzgizu1gfzdruC66QdbkCL3Bi9wEuYV8A3PeNVVU8rfKq27Ogaz4Wv82DLGcclnGpTDOhjDUdSmzLdHCZbRUlY7dsVZg8dacCHzanLPcO3gU3cvnMZWAEwfSCXUEpDPscwH3eTV9DPHSNKcPmzGx1WyjNuld3V2C9RERROFQ9jfbucfdTfLT4EEEA1HyT+Ioy+r-rNc7ZvJDbwOgjC2BUO6o2Pl2DGI9V51h6JxQQABlKghpBDpWvi9Eed8cafWWpRF+wJ55zWcnzNa3VEpVy2r-Q2+14YHhAcjTuY90Y52xgWB+HUCZF0BA2N+Id4xIXsH7aq7Do7ENnrZeybV4K4NWuwVcAserAmZpAPcnsODD2vFgthk9NYgCvvg9WvDpBl1IQo8hbEoa13-g3E2ZtgF73btbQRECgJQM0awyBIi6r8K4SQFMIA0xGNjOTP8Qi87Ow4T4gxOgeiEOCfwimithE6PInTaJVI7KtTiUHL+Z8bLKN3HwAAYqmbOt8PGuK8aFPRZpfFxJMXI9aEMKGWL-ntdQmUm52LoQ40BTiHREEyPACAMB2jQAANxAA) and choose ".d.ts" you can check type difference with and without `as const`. ```typescript -import { Contract, Web3 } from 'web3'; -import ZRC20 from './node_modules/@theqrl/zond-contracts/build/contracts/ZRC20.json'; +import { Contract, Web3 } from '@theqrl/web3'; +import ERC20 from './node_modules/@openzeppelin/contracts/build/contracts/ERC20.json'; (async function () { const web3 = new Web3('rpc url'); @@ -100,8 +100,8 @@ and run the script with `node -r ts-node/register + @@ -540,15 +540,15 @@ Follow these steps to connect to the Zond network with MetaMask and web3.js, inc ``` 10. Open your web browser and navigate to `http://localhost:8097/`. MetaMask should ask for your approval to connect to your website. Follow the steps and give your consent. -11. If everything is set up properly, you should be able to connect to the Zond network with MetaMask and see the logged account address. +11. If everything is set up properly, you should be able to connect to the QRL network with MetaMask and see the logged account address. Note that in the above steps you had created a local web server using Node.js and Express, serving your HTML file from the root directory of your project. You needs this local server because many browser does not allow extensions to inject objects for static files located on your machine. However, you can customize the port number and the root directory if needed. -Now you can start building your Zond application with web3.js and MetaMask! +Now you can start building your QRL application with web3.js and MetaMask! ### Setting Web3 Provider using a String URL -web3.js allows you to set the Zond network provider, easily, by passing a string URL containing either the `http`, `https`, `ws`, or `wss` protocol. This provider can be used to connect to a remote server or node. +web3.js allows you to set the QRL network provider, easily, by passing a string URL containing either the `http`, `https`, `ws`, or `wss` protocol. This provider can be used to connect to a remote server or node. And when a string is passed, an instance of the compatible class above will be created accordingly. ex. WebSocketProvider instance will be created for string containing `ws` or `wss`. And you access this instance by calling `web3.provider` to read the provider and possibly register an event listener. @@ -560,7 +560,7 @@ const web3 = new Web3('https://ropsten.infura.io/v3/YOUR_INFURA_PROJECT_ID'); Replace `` with your own Infura project ID. This code snippet creates a new Web3 instance with Infura's Ropsten network endpoint as the provider. -However, if you do not want to use Infura and want to run your own Zond node, you can set the provider to a local node with, for example, the `http` protocol, like this: +However, if you do not want to use Infura and want to run your own QRL node, you can set the provider to a local node with, for example, the `http` protocol, like this: ```js const web3 = new Web3('http://localhost:8545'); @@ -568,7 +568,7 @@ const web3 = new Web3('http://localhost:8545'); This code snippet sets the provider to a local node running on port 8545. -You can also use the `WebSocket` protocol to connect to a remote Zond node that supports it, like this: +You can also use the `WebSocket` protocol to connect to a remote QRL node that supports it, like this: ```js const web3 = new Web3('wss://eth-mainnet.alchemyapi.io/v2/'); @@ -580,8 +580,8 @@ A few points to consider: - Make sure the URL you are using is correct, including the protocol and port if necessary. - If you are using a remote node, make sure your firewall allows access to the specified port. -- It is recommended to use encrypted protocols `https` and `wss` when connecting to Zond network using a string URL. +- It is recommended to use encrypted protocols `https` and `wss` when connecting to QRL network using a string URL. ## Conclusion -In this tutorial, we explored different types of providers available in web3.js and learned how to set them up and use them in our code. Depending on your application's needs, you can choose the provider that best suits your requirements. The HTTP Provider is the simplest and most widely used provider, while the Websocket Provider and IPC Provider offer real-time communication and faster performance, respectively. With these providers, you can connect your web application to the Zond network and start building decentralized applications. +In this tutorial, we explored different types of providers available in web3.js and learned how to set them up and use them in our code. Depending on your application's needs, you can choose the provider that best suits your requirements. The HTTP Provider is the simplest and most widely used provider, while the Websocket Provider and IPC Provider offer real-time communication and faster performance, respectively. With these providers, you can connect your web application to the QRL network and start building decentralized applications. diff --git a/docs/docs/guides/web3_providers_guide/index.md b/docs/docs/guides/web3_providers_guide/index.md index ad346b39..6bfd173c 100644 --- a/docs/docs/guides/web3_providers_guide/index.md +++ b/docs/docs/guides/web3_providers_guide/index.md @@ -7,7 +7,7 @@ sidebar_label: 'Providers' ## Introduction -web3.js providers are objects responsible for enabling connectivity with the Zond network in various ways. Connecting your web application to a Zond node is necessary for sending transactions, querying data, and interacting with smart contracts on the network. In this guide, we will explore the different types of providers available in web3.js, how to set them up, and how to use them in your code. +web3.js providers are objects responsible for enabling connectivity with the QRL network in various ways. Connecting your web application to a QRL node is necessary for sending transactions, querying data, and interacting with smart contracts on the network. In this guide, we will explore the different types of providers available in web3.js, how to set them up, and how to use them in your code. Connecting to a chain happens through a provider. You can pass the provider to the constructor as in the following example: @@ -17,7 +17,7 @@ import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // calling any method that interact with the network would involve using the early passed provider. -await web3.zond.sendTransaction({ +await web3.qrl.sendTransaction({ from, to, value, @@ -48,15 +48,15 @@ There are multiple ways to set the provider. ```ts title='Setting a provider' web3.setProvider(myProvider); -web3.zond.setProvider(myProvider); +web3.qrl.setProvider(myProvider); web3.Contract.setProvider(myProvider); contractInstance.setProvider(myProvider); ``` The key rule for setting provider is as follows: -1. Any provider set on the higher level will be applied to all lower levels. e.g. Any provider set using `web3.setProvider` will also be applied to `web3.zond` object. -2. For contracts `web3.Contract.setProvider` can be used to set provider for **all instances** of contracts created by `web3.zond.Contract`. +1. Any provider set on the higher level will be applied to all lower levels. e.g. Any provider set using `web3.setProvider` will also be applied to `web3.qrl` object. +2. For contracts `web3.Contract.setProvider` can be used to set provider for **all instances** of contracts created by `web3.qrl.Contract`. --- @@ -77,13 +77,13 @@ web3.setProvider(new Web3.providers.WebsocketProvider('ws://localhost:8546')); // Using the IPC provider in node.js const net = require('net'); -const web3 = new Web3('/Users/myuser/Library/Zond/gzond.ipc', net); // mac os path +const web3 = new Web3('/Users/myuser/Library/QRL/Execution/gzond.ipc', net); // mac os path // or const web3 = new Web3( - new Web3.providers.IpcProvider('/Users/myuser/Library/Zond/gzond.ipc', net), + new Web3.providers.IpcProvider('/Users/myuser/Library/QRL/Execution/gzond.ipc', net), ); // mac os path // on windows the path is: "\\\\.\\pipe\\gzond.ipc" -// on linux the path is: "/users/myuser/.zond/gzond.ipc" +// on linux the path is: "/users/myuser/.qrl/execution/gzond.ipc" ``` ### Remote Node Provider @@ -105,13 +105,13 @@ The web3.js Provider specifications are defined in [web3 base provider](https:// diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 8b0b9794..0eb41511 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -21,18 +21,18 @@ const { join } = require('path'); const packages = [ '@theqrl/web3', - '@theqrl/web3-zond', - '@theqrl/web3-zond-contract', + '@theqrl/web3-qrl', + '@theqrl/web3-qrl-contract', '@theqrl/web3-utils', '@theqrl/web3-validator', '@theqrl/web3-types', '@theqrl/web3-core', '@theqrl/web3-errors', '@theqrl/web3-net', - '@theqrl/web3-zond-abi', - '@theqrl/web3-zond-accounts', - '@theqrl/web3-zond-ens', - '@theqrl/web3-zond-iban', + '@theqrl/web3-qrl-abi', + '@theqrl/web3-qrl-accounts', + '@theqrl/web3-qrl-qrns', + '@theqrl/web3-qrl-iban', '@theqrl/web3-providers-http', '@theqrl/web3-providers-ws', '@theqrl/web3-providers-ipc', @@ -41,7 +41,7 @@ const packages = [ /** @type {import('@docusaurus/types').Config} */ const config = { title: 'web3.js', - tagline: 'The ultimate JavaScript library for Zond', + tagline: 'The ultimate JavaScript library for QRL', url: 'https://docs.web3js.org', baseUrl: '/', onBrokenLinks: 'throw', diff --git a/fixtures/build/Basic.json b/fixtures/build/Basic.json index 3dc51364..5142cccd 100644 --- a/fixtures/build/Basic.json +++ b/fixtures/build/Basic.json @@ -293,7 +293,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801562000010575f80fd5b50604051620013a7380380620013a7833981810160405281019062000036919062000213565b815f8190555080600190816200004d9190620004a5565b50505062000589565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6200007b8162000067565b811462000086575f80fd5b50565b5f81519050620000998162000070565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000ef82620000a7565b810181811067ffffffffffffffff82111715620001115762000110620000b7565b5b80604052505050565b5f6200012562000056565b9050620001338282620000e4565b919050565b5f67ffffffffffffffff821115620001555762000154620000b7565b5b6200016082620000a7565b9050602081019050919050565b5f5b838110156200018c5780820151818401526020810190506200016f565b5f8484015250505050565b5f620001ad620001a78462000138565b6200011a565b905082815260208101848484011115620001cc57620001cb620000a3565b5b620001d98482856200016d565b509392505050565b5f82601f830112620001f857620001f76200009f565b5b81516200020a84826020860162000197565b91505092915050565b5f80604083850312156200022c576200022b6200005f565b5b5f6200023b8582860162000089565b925050602083015167ffffffffffffffff8111156200025f576200025e62000063565b5b6200026d85828601620001e1565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620002c657607f821691505b602082108103620002dc57620002db62000281565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000303565b6200034c868362000303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200038d62000387620003818462000067565b62000364565b62000067565b9050919050565b5f819050919050565b620003a8836200036d565b620003c0620003b78262000394565b8484546200030f565b825550505050565b5f90565b620003d6620003c8565b620003e38184846200039d565b505050565b5b818110156200040a57620003fe5f82620003cc565b600181019050620003e9565b5050565b601f82111562000459576200042381620002e2565b6200042e84620002f4565b810160208510156200043e578190505b620004566200044d85620002f4565b830182620003e8565b50505b505050565b5f82821c905092915050565b5f6200047b5f19846008026200045e565b1980831691505092915050565b5f6200049583836200046a565b9150826002028217905092915050565b620004b08262000277565b67ffffffffffffffff811115620004cc57620004cb620000b7565b5b620004d88254620002ae565b620004e58282856200040e565b5f60209050601f8311600181146200051b575f841562000506578287015190505b62000512858262000488565b86555062000581565b601f1984166200052b86620002e2565b5f5b8281101562000554578489015182556001820191506020850194506020810190506200052d565b8683101562000574578489015162000570601f8916826200046a565b8355505b6001600288020188555050505b505050505050565b610e1080620005975f395ff3fe608060405234801561000f575f80fd5b50600436106100b2575f3560e01c8063844d6a321161006f578063844d6a3214610154578063939d7c4e1461015e578063ae012ede1461017a578063b7a8238a14610184578063d7af8ac1146101a0578063e8256ea0146101bc576100b2565b806319eb4a90146100b65780632bfc4c69146100d65780633bccbbc9146100f45780635a018657146100fe5780637cfbdcf01461011a578063828909bd14610136575b5f80fd5b6100be6101da565b6040516100cd939291906105b3565b60405180910390f35b6100de610286565b6040516100eb91906105ef565b60405180910390f35b6100fc610316565b005b610118600480360381019061011391906107a0565b610351565b005b610134600480360381019061012f9190610869565b610391565b005b61013e6103df565b60405161014b91906108da565b60405180910390f35b61015c6103e7565b005b610178600480360381019061017391906107a0565b610429565b005b610182610469565b005b61019e600480360381019061019991906108f3565b610474565b005b6101ba60048036038101906101b5919061093a565b6104ae565b005b6101c46104e2565b6040516101d191906109a6565b60405180910390f35b5f60605f8054600160025f9054906101000a900460ff168180546101fd906109ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610229906109ec565b80156102745780601f1061024b57610100808354040283529160200191610274565b820191905f5260205f20905b81548152906001019060200180831161025757829003601f168201915b50505050509150925092509250909192565b606060018054610295906109ec565b80601f01602080910402602001604051908101604052809291908181526020018280546102c1906109ec565b801561030c5780601f106102e35761010080835404028352916020019161030c565b820191905f5260205f20905b8154815290600101906020018083116102ef57829003601f168201915b5050505050905090565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890610a66565b60405180910390fd5b7fa8297798732ff8a80a23cf22707934835a9d5b03536598708f7414646a1b95b383838360405161038493929190610a84565b60405180910390a1505050565b8015158285856040516103a5929190610aee565b60405180910390207f5b5730af07e266d8b4845f404beb3b193085c686b0edd8e8e20cd4b3fc2b6cd560405160405180910390a450505050565b5f8054905090565b5f610427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041e90610b50565b60405180910390fd5b565b801515827f553c4a49a36d26504ba0880f2f9bfe9ac7db4b81a893bde296546cd96ae0b33c8560405161045c91906105ef565b60405180910390a3505050565b5f610472575f80fd5b565b7f617cf8a4400dd7963ed519ebe655a16e8da1282bb8fea36a21f634af912f54ab816040516104a391906105ef565b60405180910390a150565b825f8190555081600190816104c39190610d0b565b508060025f6101000a81548160ff021916908315150217905550505050565b5f60025f9054906101000a900460ff16905090565b5f819050919050565b610509816104f7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561054657808201518184015260208101905061052b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61056b8261050f565b6105758185610519565b9350610585818560208601610529565b61058e81610551565b840191505092915050565b5f8115159050919050565b6105ad81610599565b82525050565b5f6060820190506105c65f830186610500565b81810360208301526105d88185610561565b90506105e760408301846105a4565b949350505050565b5f6020820190508181035f8301526106078184610561565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61065e82610551565b810181811067ffffffffffffffff8211171561067d5761067c610628565b5b80604052505050565b5f61068f61060f565b905061069b8282610655565b919050565b5f67ffffffffffffffff8211156106ba576106b9610628565b5b6106c382610551565b9050602081019050919050565b828183375f83830152505050565b5f6106f06106eb846106a0565b610686565b90508281526020810184848401111561070c5761070b610624565b5b6107178482856106d0565b509392505050565b5f82601f83011261073357610732610620565b5b81356107438482602086016106de565b91505092915050565b610755816104f7565b811461075f575f80fd5b50565b5f813590506107708161074c565b92915050565b61077f81610599565b8114610789575f80fd5b50565b5f8135905061079a81610776565b92915050565b5f805f606084860312156107b7576107b6610618565b5b5f84013567ffffffffffffffff8111156107d4576107d361061c565b5b6107e08682870161071f565b93505060206107f186828701610762565b92505060406108028682870161078c565b9150509250925092565b5f80fd5b5f80fd5b5f8083601f84011261082957610828610620565b5b8235905067ffffffffffffffff8111156108465761084561080c565b5b60208301915083600182028301111561086257610861610810565b5b9250929050565b5f805f806060858703121561088157610880610618565b5b5f85013567ffffffffffffffff81111561089e5761089d61061c565b5b6108aa87828801610814565b945094505060206108bd87828801610762565b92505060406108ce8782880161078c565b91505092959194509250565b5f6020820190506108ed5f830184610500565b92915050565b5f6020828403121561090857610907610618565b5b5f82013567ffffffffffffffff8111156109255761092461061c565b5b6109318482850161071f565b91505092915050565b5f805f6060848603121561095157610950610618565b5b5f61095e86828701610762565b935050602084013567ffffffffffffffff81111561097f5761097e61061c565b5b61098b8682870161071f565b925050604061099c8682870161078c565b9150509250925092565b5f6020820190506109b95f8301846105a4565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610a0357607f821691505b602082108103610a1657610a156109bf565b5b50919050565b7f52455645525445442057495448205245564552540000000000000000000000005f82015250565b5f610a50601483610519565b9150610a5b82610a1c565b602082019050919050565b5f6020820190508181035f830152610a7d81610a44565b9050919050565b5f6060820190508181035f830152610a9c8186610561565b9050610aab6020830185610500565b610ab860408301846105a4565b949350505050565b5f81905092915050565b5f610ad58385610ac0565b9350610ae28385846106d0565b82840190509392505050565b5f610afa828486610aca565b91508190509392505050565b7f52455645525445442057495448205245515549524500000000000000000000005f82015250565b5f610b3a601583610519565b9150610b4582610b06565b602082019050919050565b5f6020820190508181035f830152610b6781610b2e565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610bca7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610b8f565b610bd48683610b8f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610c0f610c0a610c05846104f7565b610bec565b6104f7565b9050919050565b5f819050919050565b610c2883610bf5565b610c3c610c3482610c16565b848454610b9b565b825550505050565b5f90565b610c50610c44565b610c5b818484610c1f565b505050565b5b81811015610c7e57610c735f82610c48565b600181019050610c61565b5050565b601f821115610cc357610c9481610b6e565b610c9d84610b80565b81016020851015610cac578190505b610cc0610cb885610b80565b830182610c60565b50505b505050565b5f82821c905092915050565b5f610ce35f1984600802610cc8565b1980831691505092915050565b5f610cfb8383610cd4565b9150826002028217905092915050565b610d148261050f565b67ffffffffffffffff811115610d2d57610d2c610628565b5b610d3782546109ec565b610d42828285610c82565b5f60209050601f831160018114610d73575f8415610d61578287015190505b610d6b8582610cf0565b865550610dd2565b601f198416610d8186610b6e565b5f5b82811015610da857848901518255600182019150602085019450602081019050610d83565b86831015610dc55784890151610dc1601f891682610cd4565b8355505b6001600288020188555050505b50505050505056fea26469706673582212207da11f3a359a735e703035a15dd6b74e550d7cec3bbd53a756cae01784e630346468797063430000020033" } diff --git a/fixtures/build/DeployRevert.json b/fixtures/build/DeployRevert.json index 6dd29633..294c4ab4 100644 --- a/fixtures/build/DeployRevert.json +++ b/fixtures/build/DeployRevert.json @@ -6,7 +6,7 @@ "type": "constructor" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "6080604052348015600e575f80fd5b505f6017575f80fd5b603e8060225f395ff3fe60806040525f80fdfea2646970667358221220fa38571b8dfcaa315c964f584d24c12693f06ac4f4fba5012d72845a2b29eaa06468797063430000020033" } diff --git a/fixtures/build/ErrorsContract.json b/fixtures/build/ErrorsContract.json index d8328e33..e4d9d70d 100644 --- a/fixtures/build/ErrorsContract.json +++ b/fixtures/build/ErrorsContract.json @@ -36,7 +36,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "60806040525f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561004e575f80fd5b5061028d8061005c5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063593b0df4146100385780638ec6371414610042575b5f80fd5b61004061004c565b005b61004a6100f6565b005b600260011015610091576040517f8d6ea8be00000000000000000000000000000000000000000000000000000000815260040161008890610239565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156100f3573d5f803e3d5ffd5b50565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461017a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156101dc573d5f803e3d5ffd5b50565b5f82825260208201905092915050565b7f7265766572746564207573696e6720637573746f6d204572726f7200000000005f82015250565b5f610223601b836101df565b915061022e826101ef565b602082019050919050565b5f6020820190508181035f83015261025081610217565b905091905056fea264697066735822122057a99e26f20ecc70c84ffffdd7cd6e23f0c465dcee92f32c9db27c46ef39b3d96468797063430000020033" } diff --git a/fixtures/build/Greeter.json b/fixtures/build/Greeter.json index c8bd67a7..7932b1aa 100644 --- a/fixtures/build/Greeter.json +++ b/fixtures/build/Greeter.json @@ -88,7 +88,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da56468797063430000020033" } diff --git a/fixtures/build/MsgSender.json b/fixtures/build/MsgSender.json index 867990f5..cb52d53e 100644 --- a/fixtures/build/MsgSender.json +++ b/fixtures/build/MsgSender.json @@ -62,7 +62,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801562000010575f80fd5b5060405162000d0b38038062000d0b8339818101604052810190620000369190620001d3565b805f908162000046919062000459565b50506200053d565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000af8262000067565b810181811067ffffffffffffffff82111715620000d157620000d062000077565b5b80604052505050565b5f620000e56200004e565b9050620000f38282620000a4565b919050565b5f67ffffffffffffffff82111562000115576200011462000077565b5b620001208262000067565b9050602081019050919050565b5f5b838110156200014c5780820151818401526020810190506200012f565b5f8484015250505050565b5f6200016d6200016784620000f8565b620000da565b9050828152602081018484840111156200018c576200018b62000063565b5b620001998482856200012d565b509392505050565b5f82601f830112620001b857620001b76200005f565b5b8151620001ca84826020860162000157565b91505092915050565b5f60208284031215620001eb57620001ea62000057565b5b5f82015167ffffffffffffffff8111156200020b576200020a6200005b565b5b6200021984828501620001a1565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027157607f821691505b6020821081036200028757620002866200022c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002ae565b620002f78683620002ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003416200033b62000335846200030f565b62000318565b6200030f565b9050919050565b5f819050919050565b6200035c8362000321565b620003746200036b8262000348565b848454620002ba565b825550505050565b5f90565b6200038a6200037c565b6200039781848462000351565b505050565b5b81811015620003be57620003b25f8262000380565b6001810190506200039d565b5050565b601f8211156200040d57620003d7816200028d565b620003e2846200029f565b81016020851015620003f2578190505b6200040a62000401856200029f565b8301826200039c565b50505b505050565b5f82821c905092915050565b5f6200042f5f198460080262000412565b1980831691505092915050565b5f6200044983836200041e565b9150826002028217905092915050565b620004648262000222565b67ffffffffffffffff81111562000480576200047f62000077565b5b6200048c825462000259565b62000499828285620003c2565b5f60209050601f831160018114620004cf575f8415620004ba578287015190505b620004c685826200043c565b86555062000535565b601f198416620004df866200028d565b5f5b828110156200050857848901518255600182019150602085019450602081019050620004e1565b8683101562000528578489015162000524601f8916826200041e565b8355505b6001600288020188555050505b505050505050565b6107c0806200054b5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063315e2f1b14610043578063d5ce338914610074578063fb8f0f5914610092575b5f80fd5b61005d60048036038101906100589190610337565b6100b0565b60405161006b929190610412565b60405180910390f35b61007c610158565b604051610089919061047f565b60405180910390f35b61009a61015f565b6040516100a79190610498565b60405180910390f35b5f6060825f90816100c191906106bb565b5060015f8080546100d1906104e5565b80601f01602080910402602001604051908101604052809291908181526020018280546100fd906104e5565b80156101485780601f1061011f57610100808354040283529160200191610148565b820191905f5260205f20905b81548152906001019060200180831161012b57829003601f168201915b5050505050905091509150915091565b5f33905090565b5f805461016b906104e5565b80601f0160208091040260200160405190810160405280929190818152602001828054610197906104e5565b80156101e25780601f106101b9576101008083540402835291602001916101e2565b820191905f5260205f20905b8154815290600101906020018083116101c557829003601f168201915b505050505081565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61024982610203565b810181811067ffffffffffffffff8211171561026857610267610213565b5b80604052505050565b5f61027a6101ea565b90506102868282610240565b919050565b5f67ffffffffffffffff8211156102a5576102a4610213565b5b6102ae82610203565b9050602081019050919050565b828183375f83830152505050565b5f6102db6102d68461028b565b610271565b9050828152602081018484840111156102f7576102f66101ff565b5b6103028482856102bb565b509392505050565b5f82601f83011261031e5761031d6101fb565b5b813561032e8482602086016102c9565b91505092915050565b5f6020828403121561034c5761034b6101f3565b5b5f82013567ffffffffffffffff811115610369576103686101f7565b5b6103758482850161030a565b91505092915050565b5f8115159050919050565b6103928161037e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156103cf5780820151818401526020810190506103b4565b5f8484015250505050565b5f6103e482610398565b6103ee81856103a2565b93506103fe8185602086016103b2565b61040781610203565b840191505092915050565b5f6040820190506104255f830185610389565b818103602083015261043781846103da565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61046982610440565b9050919050565b6104798161045f565b82525050565b5f6020820190506104925f830184610470565b92915050565b5f6020820190508181035f8301526104b081846103da565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104fc57607f821691505b60208210810361050f5761050e6104b8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610536565b61057b8683610536565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105bf6105ba6105b584610593565b61059c565b610593565b9050919050565b5f819050919050565b6105d8836105a5565b6105ec6105e4826105c6565b848454610542565b825550505050565b5f90565b6106006105f4565b61060b8184846105cf565b505050565b5b8181101561062e576106235f826105f8565b600181019050610611565b5050565b601f8211156106735761064481610515565b61064d84610527565b8101602085101561065c578190505b61067061066885610527565b830182610610565b50505b505050565b5f82821c905092915050565b5f6106935f1984600802610678565b1980831691505092915050565b5f6106ab8383610684565b9150826002028217905092915050565b6106c482610398565b67ffffffffffffffff8111156106dd576106dc610213565b5b6106e782546104e5565b6106f2828285610632565b5f60209050601f831160018114610723575f8415610711578287015190505b61071b85826106a0565b865550610782565b601f19841661073186610515565b5f5b8281101561075857848901518255600182019150602085019450602081019050610733565b868310156107755784890151610771601f891682610684565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f2d700c2e7e9858d966931346c180d7b48be89275c7a16c03a3f05e6337032ea6468797063430000020033" } diff --git a/fixtures/build/MyContract.json b/fixtures/build/MyContract.json index 6c96cbe5..f36c8a90 100644 --- a/fixtures/build/MyContract.json +++ b/fixtures/build/MyContract.json @@ -14,7 +14,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801561000f575f80fd5b506102178061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f540c8ba1461002d575b5f80fd5b61003561004b565b6040516100429190610164565b60405180910390f35b60605f8054610059906101b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610085906101b1565b80156100d05780601f106100a7576101008083540402835291602001916100d0565b820191905f5260205f20905b8154815290600101906020018083116100b357829003601f168201915b5050505050905090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156101115780820151818401526020810190506100f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610136826100da565b61014081856100e4565b93506101508185602086016100f4565b6101598161011c565b840191505092915050565b5f6020820190508181035f83015261017c818461012c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101c857607f821691505b6020821081036101db576101da610184565b5b5091905056fea26469706673582212201bf34f340672cd895a93afa7de11dbc06050c1f7b3afad8bf202f023397ae5ca6468797063430000020033" } diff --git a/fixtures/build/NegativeNumbers.json b/fixtures/build/NegativeNumbers.json index 8ea932dd..5828cb7c 100644 --- a/fixtures/build/NegativeNumbers.json +++ b/fixtures/build/NegativeNumbers.json @@ -193,7 +193,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801561000f575f80fd5b5060405161058e38038061058e83398181016040528101906100319190610074565b805f819055505061009f565b5f80fd5b5f819050919050565b61005381610041565b811461005d575f80fd5b50565b5f8151905061006e8161004a565b92915050565b5f602082840312156100895761008861003d565b5b5f61009684828501610060565b91505092915050565b6104e2806100ac5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806309872ebc1461004e57806310e9b2b41461006c5780634a299b87146100885780636119780b146100a4575b5f80fd5b6100566100c0565b604051610063919061022d565b60405180910390f35b61008660048036038101906100819190610278565b6100c5565b005b6100a2600480360381019061009d9190610304565b61012c565b005b6100be60048036038101906100b99190610375565b6101aa565b005b5f5481565b7f5b53dc4e9e8fa2416d4e172bdad04be5a6d622643bc9ef45987b2caadd0d0c95816040516100f4919061022d565b60405180910390a1807f33e7dccd3899498f4408d6468e5dfad650f32574dba2ec4f13399a82e62166d560405160405180910390a250565b7f2e1fb99ee1b27b6491b2d46a54ac8daca82f2da6810e4b8eed4d634f78fa6948848484846040516101619493929190610425565b60405180910390a182847f0e29b573959c1b6ffd5e16886385ec1732e187cc5ac10e8faceb5e02a1c7b50b848460405161019c929190610463565b60405180910390a350505050565b7ffaa997e4b16dcde196bbb99868e16fa934a0b4c1f019e494d9fbffb5abc46fc282826040516101db929190610485565b60405180910390a180827f0204c97becd72594486cf753e30e8acfc9951ee663e404bc858e3d10b80da99b60405160405180910390a35050565b5f819050919050565b61022781610215565b82525050565b5f6020820190506102405f83018461021e565b92915050565b5f80fd5b5f80fd5b61025781610215565b8114610261575f80fd5b50565b5f813590506102728161024e565b92915050565b5f6020828403121561028d5761028c610246565b5b5f61029a84828501610264565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126102c4576102c36102a3565b5b8235905067ffffffffffffffff8111156102e1576102e06102a7565b5b6020830191508360018202830111156102fd576102fc6102ab565b5b9250929050565b5f805f806060858703121561031c5761031b610246565b5b5f61032987828801610264565b945050602061033a87828801610264565b935050604085013567ffffffffffffffff81111561035b5761035a61024a565b5b610367878288016102af565b925092505092959194509250565b5f806040838503121561038b5761038a610246565b5b5f61039885828601610264565b92505060206103a985828601610264565b9150509250929050565b5f819050919050565b6103c5816103b3565b82525050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61040483856103cb565b93506104118385846103db565b61041a836103e9565b840190509392505050565b5f6060820190506104385f8301876103bc565b610445602083018661021e565b81810360408301526104588184866103f9565b905095945050505050565b5f6020820190508181035f83015261047c8184866103f9565b90509392505050565b5f6040820190506104985f83018561021e565b6104a5602083018461021e565b939250505056fea26469706673582212208c35f0412a200d24bee1b19dc4aad276af243631f502b9df1e8f860ceee574536468797063430000020033" } diff --git a/fixtures/build/ZRC20Token.json b/fixtures/build/SQRCTF1Token.json similarity index 98% rename from fixtures/build/ZRC20Token.json rename to fixtures/build/SQRCTF1Token.json index daf43c71..a5f92503 100644 --- a/fixtures/build/ZRC20Token.json +++ b/fixtures/build/SQRCTF1Token.json @@ -29,7 +29,7 @@ "type": "uint256" } ], - "name": "ZRC20InsufficientAllowance", + "name": "SQRCTF1InsufficientAllowance", "type": "error" }, { @@ -50,7 +50,7 @@ "type": "uint256" } ], - "name": "ZRC20InsufficientBalance", + "name": "SQRCTF1InsufficientBalance", "type": "error" }, { @@ -61,7 +61,7 @@ "type": "address" } ], - "name": "ZRC20InvalidApprover", + "name": "SQRCTF1InvalidApprover", "type": "error" }, { @@ -72,7 +72,7 @@ "type": "address" } ], - "name": "ZRC20InvalidReceiver", + "name": "SQRCTF1InvalidReceiver", "type": "error" }, { @@ -83,7 +83,7 @@ "type": "address" } ], - "name": "ZRC20InvalidSender", + "name": "SQRCTF1InvalidSender", "type": "error" }, { @@ -94,7 +94,7 @@ "type": "address" } ], - "name": "ZRC20InvalidSpender", + "name": "SQRCTF1InvalidSpender", "type": "error" }, { @@ -320,7 +320,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801562000010575f80fd5b5060405162001670380380620016708339818101604052810190620000369190620003cb565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039081620000b3919062000656565b508060049081620000c5919062000656565b505050620000da3382620000e160201b60201c565b5062000866565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016200014b91906200077d565b60405180910390fd5b620001675f83836200016b60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001bf578060025f828254620001b29190620007c5565b9250508190555062000290565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200024b578381836040517f670e01c8000000000000000000000000000000000000000000000000000000008152600401620002429392919062000810565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d9578060025f828254039250508190555062000323565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200038291906200084b565b60405180910390a3505050565b5f80fd5b5f819050919050565b620003a78162000393565b8114620003b2575f80fd5b50565b5f81519050620003c5816200039c565b92915050565b5f60208284031215620003e357620003e26200038f565b5b5f620003f284828501620003b5565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200047757607f821691505b6020821081036200048d576200048c62000432565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b4565b620004fd8683620004b4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200053e62000538620005328462000393565b62000515565b62000393565b9050919050565b5f819050919050565b62000559836200051e565b62000571620005688262000545565b848454620004c0565b825550505050565b5f90565b6200058762000579565b620005948184846200054e565b505050565b5b81811015620005bb57620005af5f826200057d565b6001810190506200059a565b5050565b601f8211156200060a57620005d48162000493565b620005df84620004a5565b81016020851015620005ef578190505b62000607620005fe85620004a5565b83018262000599565b50505b505050565b5f82821c905092915050565b5f6200062c5f19846008026200060f565b1980831691505092915050565b5f6200064683836200061b565b9150826002028217905092915050565b6200066182620003fb565b67ffffffffffffffff8111156200067d576200067c62000405565b5b6200068982546200045f565b62000696828285620005bf565b5f60209050601f831160018114620006cc575f8415620006b7578287015190505b620006c3858262000639565b86555062000732565b601f198416620006dc8662000493565b5f5b828110156200070557848901518255600182019150602085019450602081019050620006de565b8683101562000725578489015162000721601f8916826200061b565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000765826200073a565b9050919050565b620007778162000759565b82525050565b5f602082019050620007925f8301846200076c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007d18262000393565b9150620007de8362000393565b9250828201905080821115620007f957620007f862000798565b5b92915050565b6200080a8162000393565b82525050565b5f606082019050620008255f8301866200076c565b620008346020830185620007ff565b620008436040830184620007ff565b949350505050565b5f602082019050620008605f830184620007ff565b92915050565b610dfc80620008745f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610a75565b60405180910390f35b6100cd60048036038101906100c89190610b26565b61028d565b6040516100da9190610b7e565b60405180910390f35b6100eb6102af565b6040516100f89190610ba6565b60405180910390f35b61011b60048036038101906101169190610bbf565b6102b8565b6040516101289190610b7e565b60405180910390f35b6101396102e6565b6040516101469190610c2a565b60405180910390f35b61016960048036038101906101649190610c43565b6102ee565b6040516101769190610ba6565b60405180910390f35b610187610333565b6040516101949190610a75565b60405180910390f35b6101b760048036038101906101b29190610b26565b6103c3565b6040516101c49190610b7e565b60405180910390f35b6101e760048036038101906101e29190610c6e565b6103e5565b6040516101f49190610ba6565b60405180910390f35b60606003805461020c90610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610cd9565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f80610297610467565b90506102a481858561046e565b600191505092915050565b5f600254905090565b5f806102c2610467565b90506102cf858285610480565b6102da858585610513565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461034290610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461036e90610cd9565b80156103b95780601f10610390576101008083540402835291602001916103b9565b820191905f5260205f20905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b5f806103cd610467565b90506103da818585610513565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61047b8383836001610603565b505050565b5f61048b84846103e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561050d57818110156104fe578281836040517f80fde4800000000000000000000000000000000000000000000000000000000081526004016104f593929190610d18565b60405180910390fd5b61050c84848484035f610603565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610583575f6040517fc90f6e4800000000000000000000000000000000000000000000000000000000815260040161057a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f3575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016105ea9190610d4d565b60405180910390fd5b6105fe8383836107d2565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610673575f6040517f23b1dd6f00000000000000000000000000000000000000000000000000000000815260040161066a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3575f6040517f18c103dd0000000000000000000000000000000000000000000000000000000081526004016106da9190610d4d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156107cc578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c39190610ba6565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610822578060025f8282546108169190610d93565b925050819055506108f0565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108ab578381836040517f670e01c80000000000000000000000000000000000000000000000000000000081526004016108a293929190610d18565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610937578060025f8282540392505081905550610981565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109de9190610ba6565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a22578082015181840152602081019050610a07565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a47826109eb565b610a5181856109f5565b9350610a61818560208601610a05565b610a6a81610a2d565b840191505092915050565b5f6020820190508181035f830152610a8d8184610a3d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac282610a99565b9050919050565b610ad281610ab8565b8114610adc575f80fd5b50565b5f81359050610aed81610ac9565b92915050565b5f819050919050565b610b0581610af3565b8114610b0f575f80fd5b50565b5f81359050610b2081610afc565b92915050565b5f8060408385031215610b3c57610b3b610a95565b5b5f610b4985828601610adf565b9250506020610b5a85828601610b12565b9150509250929050565b5f8115159050919050565b610b7881610b64565b82525050565b5f602082019050610b915f830184610b6f565b92915050565b610ba081610af3565b82525050565b5f602082019050610bb95f830184610b97565b92915050565b5f805f60608486031215610bd657610bd5610a95565b5b5f610be386828701610adf565b9350506020610bf486828701610adf565b9250506040610c0586828701610b12565b9150509250925092565b5f60ff82169050919050565b610c2481610c0f565b82525050565b5f602082019050610c3d5f830184610c1b565b92915050565b5f60208284031215610c5857610c57610a95565b5b5f610c6584828501610adf565b91505092915050565b5f8060408385031215610c8457610c83610a95565b5b5f610c9185828601610adf565b9250506020610ca285828601610adf565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cf057607f821691505b602082108103610d0357610d02610cac565b5b50919050565b610d1281610ab8565b82525050565b5f606082019050610d2b5f830186610d09565b610d386020830185610b97565b610d456040830184610b97565b949350505050565b5f602082019050610d605f830184610d09565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9d82610af3565b9150610da883610af3565b9250828201905080821115610dc057610dbf610d66565b5b9291505056fea26469706673582212208ffe1b35a8689c90242005ff81b18c501dbfb4d6196d3abc409b2f790d2ff9c36468797063430000020033" } diff --git a/fixtures/build/ZRC20Token.ts b/fixtures/build/SQRCTF1Token.ts similarity index 99% rename from fixtures/build/ZRC20Token.ts rename to fixtures/build/SQRCTF1Token.ts index 144b9bbd..adc5e5db 100644 --- a/fixtures/build/ZRC20Token.ts +++ b/fixtures/build/SQRCTF1Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ZRC20TokenAbi = [ +export const SQRCTF1TokenAbi = [ { inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], signature: '', @@ -118,5 +118,5 @@ export const ZRC20TokenAbi = [ type: 'function', }, ] as const; -export const ZRC20TokenBytecode = +export const SQRCTF1TokenBytecode = '0x608060405234801562000010575f80fd5b5060405162001670380380620016708339818101604052810190620000369190620003cb565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039081620000b3919062000656565b508060049081620000c5919062000656565b505050620000da3382620000e160201b60201c565b5062000866565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000154575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016200014b91906200077d565b60405180910390fd5b620001675f83836200016b60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001bf578060025f828254620001b29190620007c5565b9250508190555062000290565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156200024b578381836040517f670e01c8000000000000000000000000000000000000000000000000000000008152600401620002429392919062000810565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d9578060025f828254039250508190555062000323565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200038291906200084b565b60405180910390a3505050565b5f80fd5b5f819050919050565b620003a78162000393565b8114620003b2575f80fd5b50565b5f81519050620003c5816200039c565b92915050565b5f60208284031215620003e357620003e26200038f565b5b5f620003f284828501620003b5565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200047757607f821691505b6020821081036200048d576200048c62000432565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620004f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b4565b620004fd8683620004b4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6200053e62000538620005328462000393565b62000515565b62000393565b9050919050565b5f819050919050565b62000559836200051e565b62000571620005688262000545565b848454620004c0565b825550505050565b5f90565b6200058762000579565b620005948184846200054e565b505050565b5b81811015620005bb57620005af5f826200057d565b6001810190506200059a565b5050565b601f8211156200060a57620005d48162000493565b620005df84620004a5565b81016020851015620005ef578190505b62000607620005fe85620004a5565b83018262000599565b50505b505050565b5f82821c905092915050565b5f6200062c5f19846008026200060f565b1980831691505092915050565b5f6200064683836200061b565b9150826002028217905092915050565b6200066182620003fb565b67ffffffffffffffff8111156200067d576200067c62000405565b5b6200068982546200045f565b62000696828285620005bf565b5f60209050601f831160018114620006cc575f8415620006b7578287015190505b620006c3858262000639565b86555062000732565b601f198416620006dc8662000493565b5f5b828110156200070557848901518255600182019150602085019450602081019050620006de565b8683101562000725578489015162000721601f8916826200061b565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000765826200073a565b9050919050565b620007778162000759565b82525050565b5f602082019050620007925f8301846200076c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007d18262000393565b9150620007de8362000393565b9250828201905080821115620007f957620007f862000798565b5b92915050565b6200080a8162000393565b82525050565b5f606082019050620008255f8301866200076c565b620008346020830185620007ff565b620008436040830184620007ff565b949350505050565b5f602082019050620008605f830184620007ff565b92915050565b610dfc80620008745f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610a75565b60405180910390f35b6100cd60048036038101906100c89190610b26565b61028d565b6040516100da9190610b7e565b60405180910390f35b6100eb6102af565b6040516100f89190610ba6565b60405180910390f35b61011b60048036038101906101169190610bbf565b6102b8565b6040516101289190610b7e565b60405180910390f35b6101396102e6565b6040516101469190610c2a565b60405180910390f35b61016960048036038101906101649190610c43565b6102ee565b6040516101769190610ba6565b60405180910390f35b610187610333565b6040516101949190610a75565b60405180910390f35b6101b760048036038101906101b29190610b26565b6103c3565b6040516101c49190610b7e565b60405180910390f35b6101e760048036038101906101e29190610c6e565b6103e5565b6040516101f49190610ba6565b60405180910390f35b60606003805461020c90610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610cd9565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f80610297610467565b90506102a481858561046e565b600191505092915050565b5f600254905090565b5f806102c2610467565b90506102cf858285610480565b6102da858585610513565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461034290610cd9565b80601f016020809104026020016040519081016040528092919081815260200182805461036e90610cd9565b80156103b95780601f10610390576101008083540402835291602001916103b9565b820191905f5260205f20905b81548152906001019060200180831161039c57829003601f168201915b5050505050905090565b5f806103cd610467565b90506103da818585610513565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b61047b8383836001610603565b505050565b5f61048b84846103e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81101561050d57818110156104fe578281836040517f80fde4800000000000000000000000000000000000000000000000000000000081526004016104f593929190610d18565b60405180910390fd5b61050c84848484035f610603565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610583575f6040517fc90f6e4800000000000000000000000000000000000000000000000000000000815260040161057a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f3575f6040517faf8383ac0000000000000000000000000000000000000000000000000000000081526004016105ea9190610d4d565b60405180910390fd5b6105fe8383836107d2565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610673575f6040517f23b1dd6f00000000000000000000000000000000000000000000000000000000815260040161066a9190610d4d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106e3575f6040517f18c103dd0000000000000000000000000000000000000000000000000000000081526004016106da9190610d4d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156107cc578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c39190610ba6565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610822578060025f8282546108169190610d93565b925050819055506108f0565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156108ab578381836040517f670e01c80000000000000000000000000000000000000000000000000000000081526004016108a293929190610d18565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610937578060025f8282540392505081905550610981565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109de9190610ba6565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610a22578082015181840152602081019050610a07565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610a47826109eb565b610a5181856109f5565b9350610a61818560208601610a05565b610a6a81610a2d565b840191505092915050565b5f6020820190508181035f830152610a8d8184610a3d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ac282610a99565b9050919050565b610ad281610ab8565b8114610adc575f80fd5b50565b5f81359050610aed81610ac9565b92915050565b5f819050919050565b610b0581610af3565b8114610b0f575f80fd5b50565b5f81359050610b2081610afc565b92915050565b5f8060408385031215610b3c57610b3b610a95565b5b5f610b4985828601610adf565b9250506020610b5a85828601610b12565b9150509250929050565b5f8115159050919050565b610b7881610b64565b82525050565b5f602082019050610b915f830184610b6f565b92915050565b610ba081610af3565b82525050565b5f602082019050610bb95f830184610b97565b92915050565b5f805f60608486031215610bd657610bd5610a95565b5b5f610be386828701610adf565b9350506020610bf486828701610adf565b9250506040610c0586828701610b12565b9150509250925092565b5f60ff82169050919050565b610c2481610c0f565b82525050565b5f602082019050610c3d5f830184610c1b565b92915050565b5f60208284031215610c5857610c57610a95565b5b5f610c6584828501610adf565b91505092915050565b5f8060408385031215610c8457610c83610a95565b5b5f610c9185828601610adf565b9250506020610ca285828601610adf565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cf057607f821691505b602082108103610d0357610d02610cac565b5b50919050565b610d1281610ab8565b82525050565b5f606082019050610d2b5f830186610d09565b610d386020830185610b97565b610d456040830184610b97565b949350505050565b5f602082019050610d605f830184610d09565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610d9d82610af3565b9150610da883610af3565b9250828201905080821115610dc057610dbf610d66565b5b9291505056fea26469706673582212208ffe1b35a8689c90242005ff81b18c501dbfb4d6196d3abc409b2f790d2ff9c36468797063430000020033'; diff --git a/fixtures/build/ZRC721Token.json b/fixtures/build/SQRCTN1Token.json similarity index 98% rename from fixtures/build/ZRC721Token.json rename to fixtures/build/SQRCTN1Token.json index a2fe210d..5f896ff3 100644 --- a/fixtures/build/ZRC721Token.json +++ b/fixtures/build/SQRCTN1Token.json @@ -23,7 +23,7 @@ "type": "address" } ], - "name": "ZRC721IncorrectOwner", + "name": "SQRCTN1IncorrectOwner", "type": "error" }, { @@ -39,7 +39,7 @@ "type": "uint256" } ], - "name": "ZRC721InsufficientApproval", + "name": "SQRCTN1InsufficientApproval", "type": "error" }, { @@ -50,7 +50,7 @@ "type": "address" } ], - "name": "ZRC721InvalidApprover", + "name": "SQRCTN1InvalidApprover", "type": "error" }, { @@ -61,7 +61,7 @@ "type": "address" } ], - "name": "ZRC721InvalidOperator", + "name": "SQRCTN1InvalidOperator", "type": "error" }, { @@ -72,7 +72,7 @@ "type": "address" } ], - "name": "ZRC721InvalidOwner", + "name": "SQRCTN1InvalidOwner", "type": "error" }, { @@ -83,7 +83,7 @@ "type": "address" } ], - "name": "ZRC721InvalidReceiver", + "name": "SQRCTN1InvalidReceiver", "type": "error" }, { @@ -94,7 +94,7 @@ "type": "address" } ], - "name": "ZRC721InvalidSender", + "name": "SQRCTN1InvalidSender", "type": "error" }, { @@ -105,7 +105,7 @@ "type": "uint256" } ], - "name": "ZRC721NonexistentToken", + "name": "SQRCTN1NonexistentToken", "type": "error" }, { @@ -495,7 +495,7 @@ "type": "function" } ], - "zvm": { + "qrvm": { "bytecode": { "object": "608060405234801562000010575f80fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d0000000000000000000000000000000000000000000000000000000000815250815f90816200008d91906200030c565b5080600190816200009f91906200030c565b505050620003f0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200012457607f821691505b6020821081036200013a5762000139620000df565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200019e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000161565b620001aa868362000161565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001f4620001ee620001e884620001c2565b620001cb565b620001c2565b9050919050565b5f819050919050565b6200020f83620001d4565b620002276200021e82620001fb565b8484546200016d565b825550505050565b5f90565b6200023d6200022f565b6200024a81848462000204565b505050565b5b818110156200027157620002655f8262000233565b60018101905062000250565b5050565b601f821115620002c0576200028a8162000140565b620002958462000152565b81016020851015620002a5578190505b620002bd620002b48562000152565b8301826200024f565b50505b505050565b5f82821c905092915050565b5f620002e25f1984600802620002c5565b1980831691505092915050565b5f620002fc8383620002d1565b9150826002028217905092915050565b6200031782620000a8565b67ffffffffffffffff811115620003335762000332620000b2565b5b6200033f82546200010c565b6200034c82828562000275565b5f60209050601f83116001811462000382575f84156200036d578287015190505b620003798582620002ef565b865550620003e8565b601f198416620003928662000140565b5f5b82811015620003bb5784890151825560018201915060208501945060208101905062000394565b86831015620003db5784890151620003d7601f891682620002d1565b8355505b6001600288020188555050505b505050505050565b61229d80620003fe5f395ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c806370a082311161008a578063b88d4fde11610064578063b88d4fde14610258578063c87b56dd14610274578063cf378343146102a4578063e985e9c5146102d4576100e8565b806370a08231146101ee57806395d89b411461021e578063a22cb4651461023c576100e8565b8063095ea7b3116100c6578063095ea7b31461016a57806323b872dd1461018657806342842e0e146101a25780636352211e146101be576100e8565b806301ffc9a7146100ec57806306fdde031461011c578063081812fc1461013a575b5f80fd5b610106600480360381019061010191906117ca565b610304565b604051610113919061180f565b60405180910390f35b610124610364565b60405161013191906118b2565b60405180910390f35b610154600480360381019061014f9190611905565b6103f3565b604051610161919061196f565b60405180910390f35b610184600480360381019061017f91906119b2565b61040e565b005b6101a0600480360381019061019b91906119f0565b610424565b005b6101bc60048036038101906101b791906119f0565b610523565b005b6101d860048036038101906101d39190611905565b610542565b6040516101e5919061196f565b60405180910390f35b61020860048036038101906102039190611a40565b610553565b6040516102159190611a7a565b60405180910390f35b610226610609565b60405161023391906118b2565b60405180910390f35b61025660048036038101906102519190611abd565b610699565b005b610272600480360381019061026d9190611c27565b6106af565b005b61028e60048036038101906102899190611905565b6106d4565b60405161029b91906118b2565b60405180910390f35b6102be60048036038101906102b99190611d45565b6107df565b6040516102cb9190611a7a565b60405180910390f35b6102ee60048036038101906102e99190611d9f565b610815565b6040516102fb919061180f565b60405180910390f35b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061035d575061035c826108a3565b5b9050919050565b60605f805461037290611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461039e90611e0a565b80156103e95780601f106103c0576101008083540402835291602001916103e9565b820191905f5260205f20905b8154815290600101906020018083116103cc57829003601f168201915b5050505050905090565b5f6103fd82610984565b5061040782610a0a565b9050919050565b610420828261041b610a43565b610a4a565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610494575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161048b919061196f565b60405180910390fd5b5f6104a783836104a2610a43565b610a5c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461051d578382826040517fed97935a00000000000000000000000000000000000000000000000000000000815260040161051493929190611e3a565b60405180910390fd5b50505050565b61053d83838360405180602001604052805f8152506106af565b505050565b5f61054c82610984565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c4575f6040517fd5da55ca0000000000000000000000000000000000000000000000000000000081526004016105bb919061196f565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606001805461061890611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461064490611e0a565b801561068f5780601f106106665761010080835404028352916020019161068f565b820191905f5260205f20905b81548152906001019060200180831161067257829003601f168201915b5050505050905090565b6106ab6106a4610a43565b8383610c67565b5050565b6106ba848484610424565b6106ce6106c5610a43565b85858585610dd0565b50505050565b60606106df82610984565b505f60065f8481526020019081526020015f2080546106fd90611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461072990611e0a565b80156107745780601f1061074b57610100808354040283529160200191610774565b820191905f5260205f20905b81548152906001019060200180831161075757829003601f168201915b505050505090505f610784610f7c565b90505f8151036107985781925050506107da565b5f825111156107cc5780826040516020016107b4929190611ea9565b604051602081830303815290604052925050506107da565b6107d584610f92565b925050505b919050565b5f806107eb6007610ff8565b90506107f78482611004565b61080181846110f7565b61080b6007611151565b8091505092915050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061097d575061097c82611165565b5b9050919050565b5f8061098f836111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0157826040517f0f8ff0280000000000000000000000000000000000000000000000000000000081526004016109f89190611a7a565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610a578383836001611207565b505050565b5f80610a67846111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610aa857610aa78184866113c6565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b3357610ae75f855f80611207565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610bb257600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd757816040517f774067b3000000000000000000000000000000000000000000000000000000008152600401610cce919061196f565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610dc3919061180f565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115610f75578273ffffffffffffffffffffffffffffffffffffffff16636fd56ae9868685856040518563ffffffff1660e01b8152600401610e2e9493929190611f1e565b6020604051808303815f875af1925050508015610e6957506040513d601f19601f82011682018060405250810190610e669190611f7c565b60015b610eea573d805f8114610e97576040519150601f19603f3d011682016040523d82523d5f602084013e610e9c565b606091505b505f815103610ee257836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610ed9919061196f565b60405180910390fd5b805181602001fd5b636fd56ae960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610f7357836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610f6a919061196f565b60405180910390fd5b505b5050505050565b606060405180602001604052805f815250905090565b6060610f9d82610984565b505f610fa7610f7c565b90505f815111610fc55760405180602001604052805f815250610ff0565b80610fcf84611489565b604051602001610fe0929190611ea9565b6040516020818303038152906040525b915050919050565b5f815f01549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611074575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161106b919061196f565b60405180910390fd5b5f61108083835f610a5c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110f2575f6040517f959b8cd50000000000000000000000000000000000000000000000000000000081526004016110e9919061196f565b60405180910390fd5b505050565b8060065f8481526020019081526020015f2090816111159190612144565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516111459190611a7a565b60405180910390a15050565b6001815f015f828254019250508190555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061123f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611371575f61124e84610984565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112b857508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156112cb57506112c98184610815565b155b1561130d57826040517f828c51c6000000000000000000000000000000000000000000000000000000008152600401611304919061196f565b60405180910390fd5b811561136f57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6113d1838383611553565b611484575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144557806040517f0f8ff02800000000000000000000000000000000000000000000000000000000815260040161143c9190611a7a565b60405180910390fd5b81816040517f2715868700000000000000000000000000000000000000000000000000000000815260040161147b929190612213565b60405180910390fd5b505050565b60605f600161149784611613565b0190505f8167ffffffffffffffff8111156114b5576114b4611b03565b5b6040519080825280601f01601f1916602001820160405280156114e75781602001600182028036833780820191505090505b5090505f82602001820190505b600115611548578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161153d5761153c61223a565b5b0494505f85036114f4575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160a57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115cb57506115ca8484610815565b5b8061160957508273ffffffffffffffffffffffffffffffffffffffff166115f183610a0a565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061166f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816116655761166461223a565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106116ac576d04ee2d6d415b85acef810000000083816116a2576116a161223a565b5b0492506020810190505b662386f26fc1000083106116db57662386f26fc1000083816116d1576116d061223a565b5b0492506010810190505b6305f5e1008310611704576305f5e10083816116fa576116f961223a565b5b0492506008810190505b612710831061172957612710838161171f5761171e61223a565b5b0492506004810190505b6064831061174c57606483816117425761174161223a565b5b0492506002810190505b600a831061175b576001810190505b80915050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117a981611775565b81146117b3575f80fd5b50565b5f813590506117c4816117a0565b92915050565b5f602082840312156117df576117de61176d565b5b5f6117ec848285016117b6565b91505092915050565b5f8115159050919050565b611809816117f5565b82525050565b5f6020820190506118225f830184611800565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561185f578082015181840152602081019050611844565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61188482611828565b61188e8185611832565b935061189e818560208601611842565b6118a78161186a565b840191505092915050565b5f6020820190508181035f8301526118ca818461187a565b905092915050565b5f819050919050565b6118e4816118d2565b81146118ee575f80fd5b50565b5f813590506118ff816118db565b92915050565b5f6020828403121561191a5761191961176d565b5b5f611927848285016118f1565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61195982611930565b9050919050565b6119698161194f565b82525050565b5f6020820190506119825f830184611960565b92915050565b6119918161194f565b811461199b575f80fd5b50565b5f813590506119ac81611988565b92915050565b5f80604083850312156119c8576119c761176d565b5b5f6119d58582860161199e565b92505060206119e6858286016118f1565b9150509250929050565b5f805f60608486031215611a0757611a0661176d565b5b5f611a148682870161199e565b9350506020611a258682870161199e565b9250506040611a36868287016118f1565b9150509250925092565b5f60208284031215611a5557611a5461176d565b5b5f611a628482850161199e565b91505092915050565b611a74816118d2565b82525050565b5f602082019050611a8d5f830184611a6b565b92915050565b611a9c816117f5565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f8060408385031215611ad357611ad261176d565b5b5f611ae08582860161199e565b9250506020611af185828601611aa9565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b398261186a565b810181811067ffffffffffffffff82111715611b5857611b57611b03565b5b80604052505050565b5f611b6a611764565b9050611b768282611b30565b919050565b5f67ffffffffffffffff821115611b9557611b94611b03565b5b611b9e8261186a565b9050602081019050919050565b828183375f83830152505050565b5f611bcb611bc684611b7b565b611b61565b905082815260208101848484011115611be757611be6611aff565b5b611bf2848285611bab565b509392505050565b5f82601f830112611c0e57611c0d611afb565b5b8135611c1e848260208601611bb9565b91505092915050565b5f805f8060808587031215611c3f57611c3e61176d565b5b5f611c4c8782880161199e565b9450506020611c5d8782880161199e565b9350506040611c6e878288016118f1565b925050606085013567ffffffffffffffff811115611c8f57611c8e611771565b5b611c9b87828801611bfa565b91505092959194509250565b5f67ffffffffffffffff821115611cc157611cc0611b03565b5b611cca8261186a565b9050602081019050919050565b5f611ce9611ce484611ca7565b611b61565b905082815260208101848484011115611d0557611d04611aff565b5b611d10848285611bab565b509392505050565b5f82601f830112611d2c57611d2b611afb565b5b8135611d3c848260208601611cd7565b91505092915050565b5f8060408385031215611d5b57611d5a61176d565b5b5f611d688582860161199e565b925050602083013567ffffffffffffffff811115611d8957611d88611771565b5b611d9585828601611d18565b9150509250929050565b5f8060408385031215611db557611db461176d565b5b5f611dc28582860161199e565b9250506020611dd38582860161199e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2157607f821691505b602082108103611e3457611e33611ddd565b5b50919050565b5f606082019050611e4d5f830186611960565b611e5a6020830185611a6b565b611e676040830184611960565b949350505050565b5f81905092915050565b5f611e8382611828565b611e8d8185611e6f565b9350611e9d818560208601611842565b80840191505092915050565b5f611eb48285611e79565b9150611ec08284611e79565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f611ef082611ecc565b611efa8185611ed6565b9350611f0a818560208601611842565b611f138161186a565b840191505092915050565b5f608082019050611f315f830187611960565b611f3e6020830186611960565b611f4b6040830185611a6b565b8181036060830152611f5d8184611ee6565b905095945050505050565b5f81519050611f76816117a0565b92915050565b5f60208284031215611f9157611f9061176d565b5b5f611f9e84828501611f68565b91505092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026120037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611fc8565b61200d8683611fc8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61204861204361203e846118d2565b612025565b6118d2565b9050919050565b5f819050919050565b6120618361202e565b61207561206d8261204f565b848454611fd4565b825550505050565b5f90565b61208961207d565b612094818484612058565b505050565b5b818110156120b7576120ac5f82612081565b60018101905061209a565b5050565b601f8211156120fc576120cd81611fa7565b6120d684611fb9565b810160208510156120e5578190505b6120f96120f185611fb9565b830182612099565b50505b505050565b5f82821c905092915050565b5f61211c5f1984600802612101565b1980831691505092915050565b5f612134838361210d565b9150826002028217905092915050565b61214d82611828565b67ffffffffffffffff81111561216657612165611b03565b5b6121708254611e0a565b61217b8282856120bb565b5f60209050601f8311600181146121ac575f841561219a578287015190505b6121a48582612129565b86555061220b565b601f1984166121ba86611fa7565b5f5b828110156121e1578489015182556001820191506020850194506020810190506121bc565b868310156121fe57848901516121fa601f89168261210d565b8355505b6001600288020188555050505b505050505050565b5f6040820190506122265f830185611960565b6122336020830184611a6b565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea264697066735822122031bb73dd9da8ee8fc83a5e39b070affb3518cab44253c4df7982d596b265d1db6468797063430000020033" } diff --git a/fixtures/build/ZRC721Token.ts b/fixtures/build/SQRCTN1Token.ts similarity index 98% rename from fixtures/build/ZRC721Token.ts rename to fixtures/build/SQRCTN1Token.ts index 47ecf48c..5e18d606 100644 --- a/fixtures/build/ZRC721Token.ts +++ b/fixtures/build/SQRCTN1Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ZRC721TokenAbi = [ +export const SQRCTN1TokenAbi = [ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, { inputs: [ @@ -22,7 +22,7 @@ export const ZRC721TokenAbi = [ { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, { internalType: 'address', name: 'owner', type: 'address' }, ], - name: 'ZRC721IncorrectOwner', + name: 'SQRCTN1IncorrectOwner', type: 'error', }, { @@ -30,37 +30,37 @@ export const ZRC721TokenAbi = [ { internalType: 'address', name: 'operator', type: 'address' }, { internalType: 'uint256', name: 'tokenId', type: 'uint256' }, ], - name: 'ZRC721InsufficientApproval', + name: 'SQRCTN1InsufficientApproval', type: 'error', }, { inputs: [{ internalType: 'address', name: 'approver', type: 'address' }], - name: 'ZRC721InvalidApprover', + name: 'SQRCTN1InvalidApprover', type: 'error', }, { inputs: [{ internalType: 'address', name: 'operator', type: 'address' }], - name: 'ZRC721InvalidOperator', + name: 'SQRCTN1InvalidOperator', type: 'error', }, { inputs: [{ internalType: 'address', name: 'owner', type: 'address' }], - name: 'ZRC721InvalidOwner', + name: 'SQRCTN1InvalidOwner', type: 'error', }, { inputs: [{ internalType: 'address', name: 'receiver', type: 'address' }], - name: 'ZRC721InvalidReceiver', + name: 'SQRCTN1InvalidReceiver', type: 'error', }, { inputs: [{ internalType: 'address', name: 'sender', type: 'address' }], - name: 'ZRC721InvalidSender', + name: 'SQRCTN1InvalidSender', type: 'error', }, { inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }], - name: 'ZRC721NonexistentToken', + name: 'SQRCTN1NonexistentToken', type: 'error', }, { @@ -232,5 +232,5 @@ export const ZRC721TokenAbi = [ type: 'function', }, ] as const; -export const ZRC721TokenBytecode = +export const SQRCTN1TokenBytecode = '0x608060405234801562000010575f80fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d0000000000000000000000000000000000000000000000000000000000815250815f90816200008d91906200030c565b5080600190816200009f91906200030c565b505050620003f0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200012457607f821691505b6020821081036200013a5762000139620000df565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200019e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000161565b620001aa868362000161565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620001f4620001ee620001e884620001c2565b620001cb565b620001c2565b9050919050565b5f819050919050565b6200020f83620001d4565b620002276200021e82620001fb565b8484546200016d565b825550505050565b5f90565b6200023d6200022f565b6200024a81848462000204565b505050565b5b818110156200027157620002655f8262000233565b60018101905062000250565b5050565b601f821115620002c0576200028a8162000140565b620002958462000152565b81016020851015620002a5578190505b620002bd620002b48562000152565b8301826200024f565b50505b505050565b5f82821c905092915050565b5f620002e25f1984600802620002c5565b1980831691505092915050565b5f620002fc8383620002d1565b9150826002028217905092915050565b6200031782620000a8565b67ffffffffffffffff811115620003335762000332620000b2565b5b6200033f82546200010c565b6200034c82828562000275565b5f60209050601f83116001811462000382575f84156200036d578287015190505b620003798582620002ef565b865550620003e8565b601f198416620003928662000140565b5f5b82811015620003bb5784890151825560018201915060208501945060208101905062000394565b86831015620003db5784890151620003d7601f891682620002d1565b8355505b6001600288020188555050505b505050505050565b61229d80620003fe5f395ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c806370a082311161008a578063b88d4fde11610064578063b88d4fde14610258578063c87b56dd14610274578063cf378343146102a4578063e985e9c5146102d4576100e8565b806370a08231146101ee57806395d89b411461021e578063a22cb4651461023c576100e8565b8063095ea7b3116100c6578063095ea7b31461016a57806323b872dd1461018657806342842e0e146101a25780636352211e146101be576100e8565b806301ffc9a7146100ec57806306fdde031461011c578063081812fc1461013a575b5f80fd5b610106600480360381019061010191906117ca565b610304565b604051610113919061180f565b60405180910390f35b610124610364565b60405161013191906118b2565b60405180910390f35b610154600480360381019061014f9190611905565b6103f3565b604051610161919061196f565b60405180910390f35b610184600480360381019061017f91906119b2565b61040e565b005b6101a0600480360381019061019b91906119f0565b610424565b005b6101bc60048036038101906101b791906119f0565b610523565b005b6101d860048036038101906101d39190611905565b610542565b6040516101e5919061196f565b60405180910390f35b61020860048036038101906102039190611a40565b610553565b6040516102159190611a7a565b60405180910390f35b610226610609565b60405161023391906118b2565b60405180910390f35b61025660048036038101906102519190611abd565b610699565b005b610272600480360381019061026d9190611c27565b6106af565b005b61028e60048036038101906102899190611905565b6106d4565b60405161029b91906118b2565b60405180910390f35b6102be60048036038101906102b99190611d45565b6107df565b6040516102cb9190611a7a565b60405180910390f35b6102ee60048036038101906102e99190611d9f565b610815565b6040516102fb919061180f565b60405180910390f35b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061035d575061035c826108a3565b5b9050919050565b60605f805461037290611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461039e90611e0a565b80156103e95780601f106103c0576101008083540402835291602001916103e9565b820191905f5260205f20905b8154815290600101906020018083116103cc57829003601f168201915b5050505050905090565b5f6103fd82610984565b5061040782610a0a565b9050919050565b610420828261041b610a43565b610a4a565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610494575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161048b919061196f565b60405180910390fd5b5f6104a783836104a2610a43565b610a5c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461051d578382826040517fed97935a00000000000000000000000000000000000000000000000000000000815260040161051493929190611e3a565b60405180910390fd5b50505050565b61053d83838360405180602001604052805f8152506106af565b505050565b5f61054c82610984565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c4575f6040517fd5da55ca0000000000000000000000000000000000000000000000000000000081526004016105bb919061196f565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606001805461061890611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461064490611e0a565b801561068f5780601f106106665761010080835404028352916020019161068f565b820191905f5260205f20905b81548152906001019060200180831161067257829003601f168201915b5050505050905090565b6106ab6106a4610a43565b8383610c67565b5050565b6106ba848484610424565b6106ce6106c5610a43565b85858585610dd0565b50505050565b60606106df82610984565b505f60065f8481526020019081526020015f2080546106fd90611e0a565b80601f016020809104026020016040519081016040528092919081815260200182805461072990611e0a565b80156107745780601f1061074b57610100808354040283529160200191610774565b820191905f5260205f20905b81548152906001019060200180831161075757829003601f168201915b505050505090505f610784610f7c565b90505f8151036107985781925050506107da565b5f825111156107cc5780826040516020016107b4929190611ea9565b604051602081830303815290604052925050506107da565b6107d584610f92565b925050505b919050565b5f806107eb6007610ff8565b90506107f78482611004565b61080181846110f7565b61080b6007611151565b8091505092915050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061097d575061097c82611165565b5b9050919050565b5f8061098f836111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a0157826040517f0f8ff0280000000000000000000000000000000000000000000000000000000081526004016109f89190611a7a565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610a578383836001611207565b505050565b5f80610a67846111ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610aa857610aa78184866113c6565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b3357610ae75f855f80611207565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610bb257600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd757816040517f774067b3000000000000000000000000000000000000000000000000000000008152600401610cce919061196f565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610dc3919061180f565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115610f75578273ffffffffffffffffffffffffffffffffffffffff16636fd56ae9868685856040518563ffffffff1660e01b8152600401610e2e9493929190611f1e565b6020604051808303815f875af1925050508015610e6957506040513d601f19601f82011682018060405250810190610e669190611f7c565b60015b610eea573d805f8114610e97576040519150601f19603f3d011682016040523d82523d5f602084013e610e9c565b606091505b505f815103610ee257836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610ed9919061196f565b60405180910390fd5b805181602001fd5b636fd56ae960e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610f7357836040517f0c0f2aa6000000000000000000000000000000000000000000000000000000008152600401610f6a919061196f565b60405180910390fd5b505b5050505050565b606060405180602001604052805f815250905090565b6060610f9d82610984565b505f610fa7610f7c565b90505f815111610fc55760405180602001604052805f815250610ff0565b80610fcf84611489565b604051602001610fe0929190611ea9565b6040516020818303038152906040525b915050919050565b5f815f01549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611074575f6040517f0c0f2aa600000000000000000000000000000000000000000000000000000000815260040161106b919061196f565b60405180910390fd5b5f61108083835f610a5c565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110f2575f6040517f959b8cd50000000000000000000000000000000000000000000000000000000081526004016110e9919061196f565b60405180910390fd5b505050565b8060065f8481526020019081526020015f2090816111159190612144565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516111459190611a7a565b60405180910390a15050565b6001815f015f828254019250508190555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061123f57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611371575f61124e84610984565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112b857508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156112cb57506112c98184610815565b155b1561130d57826040517f828c51c6000000000000000000000000000000000000000000000000000000008152600401611304919061196f565b60405180910390fd5b811561136f57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6113d1838383611553565b611484575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144557806040517f0f8ff02800000000000000000000000000000000000000000000000000000000815260040161143c9190611a7a565b60405180910390fd5b81816040517f2715868700000000000000000000000000000000000000000000000000000000815260040161147b929190612213565b60405180910390fd5b505050565b60605f600161149784611613565b0190505f8167ffffffffffffffff8111156114b5576114b4611b03565b5b6040519080825280601f01601f1916602001820160405280156114e75781602001600182028036833780820191505090505b5090505f82602001820190505b600115611548578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161153d5761153c61223a565b5b0494505f85036114f4575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561160a57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115cb57506115ca8484610815565b5b8061160957508273ffffffffffffffffffffffffffffffffffffffff166115f183610a0a565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061166f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816116655761166461223a565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106116ac576d04ee2d6d415b85acef810000000083816116a2576116a161223a565b5b0492506020810190505b662386f26fc1000083106116db57662386f26fc1000083816116d1576116d061223a565b5b0492506010810190505b6305f5e1008310611704576305f5e10083816116fa576116f961223a565b5b0492506008810190505b612710831061172957612710838161171f5761171e61223a565b5b0492506004810190505b6064831061174c57606483816117425761174161223a565b5b0492506002810190505b600a831061175b576001810190505b80915050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117a981611775565b81146117b3575f80fd5b50565b5f813590506117c4816117a0565b92915050565b5f602082840312156117df576117de61176d565b5b5f6117ec848285016117b6565b91505092915050565b5f8115159050919050565b611809816117f5565b82525050565b5f6020820190506118225f830184611800565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561185f578082015181840152602081019050611844565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61188482611828565b61188e8185611832565b935061189e818560208601611842565b6118a78161186a565b840191505092915050565b5f6020820190508181035f8301526118ca818461187a565b905092915050565b5f819050919050565b6118e4816118d2565b81146118ee575f80fd5b50565b5f813590506118ff816118db565b92915050565b5f6020828403121561191a5761191961176d565b5b5f611927848285016118f1565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61195982611930565b9050919050565b6119698161194f565b82525050565b5f6020820190506119825f830184611960565b92915050565b6119918161194f565b811461199b575f80fd5b50565b5f813590506119ac81611988565b92915050565b5f80604083850312156119c8576119c761176d565b5b5f6119d58582860161199e565b92505060206119e6858286016118f1565b9150509250929050565b5f805f60608486031215611a0757611a0661176d565b5b5f611a148682870161199e565b9350506020611a258682870161199e565b9250506040611a36868287016118f1565b9150509250925092565b5f60208284031215611a5557611a5461176d565b5b5f611a628482850161199e565b91505092915050565b611a74816118d2565b82525050565b5f602082019050611a8d5f830184611a6b565b92915050565b611a9c816117f5565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f8060408385031215611ad357611ad261176d565b5b5f611ae08582860161199e565b9250506020611af185828601611aa9565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b398261186a565b810181811067ffffffffffffffff82111715611b5857611b57611b03565b5b80604052505050565b5f611b6a611764565b9050611b768282611b30565b919050565b5f67ffffffffffffffff821115611b9557611b94611b03565b5b611b9e8261186a565b9050602081019050919050565b828183375f83830152505050565b5f611bcb611bc684611b7b565b611b61565b905082815260208101848484011115611be757611be6611aff565b5b611bf2848285611bab565b509392505050565b5f82601f830112611c0e57611c0d611afb565b5b8135611c1e848260208601611bb9565b91505092915050565b5f805f8060808587031215611c3f57611c3e61176d565b5b5f611c4c8782880161199e565b9450506020611c5d8782880161199e565b9350506040611c6e878288016118f1565b925050606085013567ffffffffffffffff811115611c8f57611c8e611771565b5b611c9b87828801611bfa565b91505092959194509250565b5f67ffffffffffffffff821115611cc157611cc0611b03565b5b611cca8261186a565b9050602081019050919050565b5f611ce9611ce484611ca7565b611b61565b905082815260208101848484011115611d0557611d04611aff565b5b611d10848285611bab565b509392505050565b5f82601f830112611d2c57611d2b611afb565b5b8135611d3c848260208601611cd7565b91505092915050565b5f8060408385031215611d5b57611d5a61176d565b5b5f611d688582860161199e565b925050602083013567ffffffffffffffff811115611d8957611d88611771565b5b611d9585828601611d18565b9150509250929050565b5f8060408385031215611db557611db461176d565b5b5f611dc28582860161199e565b9250506020611dd38582860161199e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611e2157607f821691505b602082108103611e3457611e33611ddd565b5b50919050565b5f606082019050611e4d5f830186611960565b611e5a6020830185611a6b565b611e676040830184611960565b949350505050565b5f81905092915050565b5f611e8382611828565b611e8d8185611e6f565b9350611e9d818560208601611842565b80840191505092915050565b5f611eb48285611e79565b9150611ec08284611e79565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f611ef082611ecc565b611efa8185611ed6565b9350611f0a818560208601611842565b611f138161186a565b840191505092915050565b5f608082019050611f315f830187611960565b611f3e6020830186611960565b611f4b6040830185611a6b565b8181036060830152611f5d8184611ee6565b905095945050505050565b5f81519050611f76816117a0565b92915050565b5f60208284031215611f9157611f9061176d565b5b5f611f9e84828501611f68565b91505092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026120037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611fc8565b61200d8683611fc8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61204861204361203e846118d2565b612025565b6118d2565b9050919050565b5f819050919050565b6120618361202e565b61207561206d8261204f565b848454611fd4565b825550505050565b5f90565b61208961207d565b612094818484612058565b505050565b5b818110156120b7576120ac5f82612081565b60018101905061209a565b5050565b601f8211156120fc576120cd81611fa7565b6120d684611fb9565b810160208510156120e5578190505b6120f96120f185611fb9565b830182612099565b50505b505050565b5f82821c905092915050565b5f61211c5f1984600802612101565b1980831691505092915050565b5f612134838361210d565b9150826002028217905092915050565b61214d82611828565b67ffffffffffffffff81111561216657612165611b03565b5b6121708254611e0a565b61217b8282856120bb565b5f60209050601f8311600181146121ac575f841561219a578287015190505b6121a48582612129565b86555061220b565b601f1984166121ba86611fa7565b5f5b828110156121e1578489015182556001820191506020850194506020810190506121bc565b868310156121fe57848901516121fa601f89168261210d565b8355505b6001600288020188555050505b505050505050565b5f6040820190506122265f830185611960565b6122336020830184611a6b565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea264697066735822122031bb73dd9da8ee8fc83a5e39b070affb3518cab44253c4df7982d596b265d1db6468797063430000020033'; diff --git a/fixtures/contracts/SQRCTF1Token.hyp b/fixtures/contracts/SQRCTF1Token.hyp new file mode 100644 index 00000000..c14d9ff4 --- /dev/null +++ b/fixtures/contracts/SQRCTF1Token.hyp @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GNU +pragma hyperion >=0.0; + +import '@theqrl/qrl-contracts/token/SQRCTF1/SQRCTF1.hyp'; + +contract SQRCTF1Token is SQRCTF1 { + constructor(uint256 initialSupply) SQRCTF1('Gold', 'GLD') { + _mint(msg.sender, initialSupply); + } +} diff --git a/fixtures/contracts/ZRC721Token.hyp b/fixtures/contracts/SQRCTN1Token.hyp similarity index 63% rename from fixtures/contracts/ZRC721Token.hyp rename to fixtures/contracts/SQRCTN1Token.hyp index 0d2fd641..18ae79c3 100644 --- a/fixtures/contracts/ZRC721Token.hyp +++ b/fixtures/contracts/SQRCTN1Token.hyp @@ -1,14 +1,14 @@ // SPDX-License-Identifier: GNU pragma hyperion >=0.0; -import '@theqrl/zond-contracts/token/ZRC721/extensions/ZRC721URIStorage.hyp'; -import '@theqrl/zond-contracts/utils/Counters.hyp'; +import '@theqrl/qrl-contracts/token/SQRCTN1/extensions/SQRCTN1URIStorage.hyp'; +import '@theqrl/qrl-contracts/utils/Counters.hyp'; -contract ZRC721Token is ZRC721URIStorage { +contract SQRCTN1Token is SQRCTN1URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; - constructor() ZRC721('GameItem', 'ITM') {} + constructor() SQRCTN1('GameItem', 'ITM') {} function awardItem(address player, string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); diff --git a/fixtures/contracts/ZRC20Token.hyp b/fixtures/contracts/ZRC20Token.hyp deleted file mode 100644 index b2bf722b..00000000 --- a/fixtures/contracts/ZRC20Token.hyp +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-License-Identifier: GNU -pragma hyperion >=0.0; - -import '@theqrl/zond-contracts/token/ZRC20/ZRC20.hyp'; - -contract ZRC20Token is ZRC20 { - constructor(uint256 initialSupply) ZRC20('Gold', 'GLD') { - _mint(msg.sender, initialSupply); - } -} diff --git a/fixtures/utils.ts b/fixtures/utils.ts index 3cd50b1f..6df943d8 100644 --- a/fixtures/utils.ts +++ b/fixtures/utils.ts @@ -69,5 +69,5 @@ export const toUpperCaseHex = (str: string) => { }; export const toUpperCaseAddress = (str: string) => { - return `Z${str.slice(1).toUpperCase()}`; + return `Q${str.slice(1).toUpperCase()}`; }; diff --git a/package.json b/package.json index 52fef06c..6350800e 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "web3.js", "private": true, - "description": "Zond API wrappers and utilities", + "description": "QRL API wrappers and utilities", "author": "The QRL Contributors", "license": "LGPL-3.0", "keywords": [ - "zond", + "qrl", "web3", "web3js", "web3.js", @@ -81,7 +81,7 @@ "@cypress/webpack-preprocessor": "^5.12.0", "@droppedcode/typedoc-plugin-relative-includes": "^1.0.2", "@theqrl/hypc": "^0.0.2", - "@theqrl/zond-contracts": "file:../zond-contracts", + "@theqrl/qrl-contracts": "file:../qrl-contracts", "@types/node": "^18.11.9", "@types/webpack": "^5.28.0", "assert": "^2.0.0", diff --git a/packages/abi/LICENSE.md b/packages/abi/LICENSE.md index 10c588e4..4fc29d25 100644 --- a/packages/abi/LICENSE.md +++ b/packages/abi/LICENSE.md @@ -26,9 +26,9 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## Zond +## QRL -Zond project derivations and modifications are also MIT licensed: +QRL project derivations and modifications are also MIT licensed: MIT License diff --git a/packages/abi/README.md b/packages/abi/README.md index 418a8f7a..47c1668e 100644 --- a/packages/abi/README.md +++ b/packages/abi/README.md @@ -1,9 +1,9 @@ -# Zond ABI Coder +# QRL ABI Coder This sub-module is a fork of the [ethers project](https://github.com/ethers-io/ethers.js). It is responsible for encoding and decoding the Application Binary Interface (ABI) -used by most Zond smart contracts to interoperate between other smart contracts and clients. +used by most QRL smart contracts to interoperate between other smart contracts and clients. More information, can be inferred from the [ethers project documentation](https://docs.ethers.io/v5/api/utils/abi/). diff --git a/packages/abi/package.json b/packages/abi/package.json index 91925d54..e8c8322a 100644 --- a/packages/abi/package.json +++ b/packages/abi/package.json @@ -1,7 +1,7 @@ { "name": "@theqrl/abi", "version": "0.3.3", - "description": "Utilities and Classes for parsing, formatting and managing Zond ABIs.", + "description": "Utilities and Classes for parsing, formatting and managing QRL ABIs.", "license": "MIT", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/abi/src/coders/address.ts b/packages/abi/src/coders/address.ts index ab6afe4d..8f808735 100644 --- a/packages/abi/src/coders/address.ts +++ b/packages/abi/src/coders/address.ts @@ -27,7 +27,7 @@ export class AddressCoder extends Coder { } defaultValue(): string { - return 'Z0000000000000000000000000000000000000000'; + return 'Q0000000000000000000000000000000000000000'; } encode(writer: Writer, value: string): number { diff --git a/packages/abi/src/interface.ts b/packages/abi/src/interface.ts index 892f7851..2e585d72 100644 --- a/packages/abi/src/interface.ts +++ b/packages/abi/src/interface.ts @@ -458,7 +458,7 @@ export class Interface { ); } - // Decode the result from a function call (e.g. from zond_call) + // Decode the result from a function call (e.g. from qrl_call) decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result { if (typeof functionFragment === 'string') { functionFragment = this.getFunction(functionFragment); @@ -517,7 +517,7 @@ export class Interface { }); } - // Encode the result for a function call (e.g. for zond_call) + // Encode the result for a function call (e.g. for qrl_call) encodeFunctionResult( functionFragment: FunctionFragment | string, values?: ReadonlyArray, @@ -529,7 +529,7 @@ export class Interface { return hexlify(this._abiCoder.encode(functionFragment.outputs, values || [])); } - // Create the filter for the event with search criteria (e.g. for zond_filterLog) + // Create the filter for the event with search criteria (e.g. for qrl_filterLog) encodeFilterTopics( eventFragment: EventFragment | string, values: ReadonlyArray, diff --git a/packages/web3-core/package.json b/packages/web3-core/package.json index 10ad2788..ea541556 100644 --- a/packages/web3-core/package.json +++ b/packages/web3-core/package.json @@ -51,7 +51,7 @@ "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", - "@theqrl/web3-zond-iban": "^0.3.3" + "@theqrl/web3-qrl-iban": "^0.3.3" }, "optionalDependencies": { "@theqrl/web3-providers-ipc": "^0.3.3" diff --git a/packages/web3-core/src/web3_config.ts b/packages/web3-core/src/web3_config.ts index c44628d3..8aba6f98 100644 --- a/packages/web3-core/src/web3_config.ts +++ b/packages/web3-core/src/web3_config.ts @@ -108,8 +108,8 @@ export abstract class Web3Config /** * The `handleRevert` options property returns the revert reason string if enabled for the following methods: - * - web3.zond.sendTransaction() - * - web3.zond.call() + * - web3.qrl.sendTransaction() + * - web3.qrl.call() * - myContract.methods.myMethod().call() * - myContract.methods.myMethod().send() * Default is `false`. @@ -148,8 +148,8 @@ export abstract class Web3Config /** * This default address is used as the default `from` property, if no `from` property is specified in for the following methods: - * - web3.zond.sendTransaction() - * - web3.zond.call() + * - web3.qrl.sendTransaction() + * - web3.qrl.call() * - myContract.methods.myMethod().call() * - myContract.methods.myMethod().send() */ @@ -166,11 +166,11 @@ export abstract class Web3Config /** * The default block is used for certain methods. You can override it by passing in the defaultBlock as last parameter. The default value is `"latest"`. - * - web3.zond.getBalance() - * - web3.zond.getCode() - * - web3.zond.getTransactionCount() - * - web3.zond.getStorageAt() - * - web3.zond.call() + * - web3.qrl.getBalance() + * - web3.qrl.getCode() + * - web3.qrl.getTransactionCount() + * - web3.qrl.getStorageAt() + * - web3.qrl.call() * - myContract.methods.myMethod().call() */ public get defaultBlock() { @@ -193,7 +193,7 @@ export abstract class Web3Config } /** - * The time used to wait for Zond Node to return the sent transaction result. + * The time used to wait for QRL Node to return the sent transaction result. * Note: If the RPC call stuck at the Node and therefor timed-out, the transaction may still be pending or even mined by the Network. We recommend checking the pending transactions in such a case. * Default is `750` seconds (12.5 minutes). */ diff --git a/packages/web3-core/src/web3_context.ts b/packages/web3-core/src/web3_context.ts index 99b83f00..65674d4a 100644 --- a/packages/web3-core/src/web3_context.ts +++ b/packages/web3-core/src/web3_context.ts @@ -22,7 +22,7 @@ import { Web3AccountProvider, SupportedProviders, HexString, - ZondExecutionAPI, + QRLExecutionAPI, Web3BaseProvider, Transaction, } from '@theqrl/web3-types'; @@ -341,7 +341,7 @@ export class Web3Context< /** * Will return the givenProvider if available. * - * When using web3.js in a Zond compatible browser, it will set with the current native provider by that browser. Will return the given provider by the (browser) environment, otherwise `undefined`. + * When using web3.js in a QRL compatible browser, it will set with the current native provider by that browser. Will return the given provider by the (browser) environment, otherwise `undefined`. */ // eslint-disable-next-line class-methods-use-this public get givenProvider() { @@ -406,8 +406,8 @@ export type TransactionBuilder = < }) => Promise; /** - * Extend this class when creating a plugin that either doesn't require {@link ZondExecutionAPI}, - * or interacts with a RPC node that doesn't fully implement {@link ZondExecutionAPI}. + * Extend this class when creating a plugin that either doesn't require {@link QRLExecutionAPI}, + * or interacts with a RPC node that doesn't fully implement {@link QRLExecutionAPI}. * * To add type support for RPC methods to the {@link Web3RequestManager}, * define a {@link Web3APISpec} and pass it as a generic to Web3PluginBase like so: @@ -429,10 +429,10 @@ export abstract class Web3PluginBase< } /** - * Extend this class when creating a plugin that makes use of {@link ZondExecutionAPI}, - * or depends on other Web3 packages (such as `web3-zond-contract`) that depend on {@link ZondExecutionAPI}. + * Extend this class when creating a plugin that makes use of {@link QRLExecutionAPI}, + * or depends on other Web3 packages (such as `web3-qrl-contract`) that depend on {@link QRLExecutionAPI}. * - * To add type support for RPC methods to the {@link Web3RequestManager} (in addition to {@link ZondExecutionAPI}), + * To add type support for RPC methods to the {@link Web3RequestManager} (in addition to {@link QRLExecutionAPI}), * define a {@link Web3APISpec} and pass it as a generic to Web3PluginBase like so: * * @example @@ -445,6 +445,6 @@ export abstract class Web3PluginBase< * class CustomPlugin extends Web3PluginBase {...} * ``` */ -export abstract class Web3ZondPluginBase extends Web3PluginBase< - API & ZondExecutionAPI +export abstract class Web3QRLPluginBase extends Web3PluginBase< + API & QRLExecutionAPI > {} diff --git a/packages/web3-core/src/web3_request_manager.ts b/packages/web3-core/src/web3_request_manager.ts index 7850b836..e64371ed 100644 --- a/packages/web3-core/src/web3_request_manager.ts +++ b/packages/web3-core/src/web3_request_manager.ts @@ -26,7 +26,7 @@ import { import HttpProvider from '@theqrl/web3-providers-http'; import WSProvider from '@theqrl/web3-providers-ws'; import { - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcBatchRequest, JsonRpcBatchResponse, JsonRpcPayload, @@ -67,7 +67,7 @@ const availableProviders: { }; export class Web3RequestManager< - API extends Web3APISpec = ZondExecutionAPI, + API extends Web3APISpec = QRLExecutionAPI, > extends Web3EventEmitter<{ [key in Web3RequestManagerEvent]: SupportedProviders | undefined; }> { diff --git a/packages/web3-core/src/web3_subscriptions.ts b/packages/web3-core/src/web3_subscriptions.ts index f8b9a1cb..c668cac1 100644 --- a/packages/web3-core/src/web3_subscriptions.ts +++ b/packages/web3-core/src/web3_subscriptions.ts @@ -20,7 +20,7 @@ import { BlockOutput, DEFAULT_RETURN_FORMAT, DataFormat, - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcSubscriptionResult, JsonRpcSubscriptionResultOld, JsonRpcNotification, @@ -47,7 +47,7 @@ export abstract class Web3Subscription< EventMap extends Web3EventMap, // eslint-disable-next-line @typescript-eslint/no-explicit-any ArgsType = any, - API extends Web3APISpec = ZondExecutionAPI, + API extends Web3APISpec = QRLExecutionAPI, // The following generic type is just to define the type `CombinedEventMap` and use it inside the class // it combines the user passed `EventMap` with the `CommonSubscriptionEvents` // However, this type definition could be refactored depending on the closure of @@ -117,7 +117,7 @@ export abstract class Web3Subscription< public async sendSubscriptionRequest(): Promise { this._id = await this._subscriptionManager.requestManager.send({ - method: 'zond_subscribe', + method: 'qrl_subscribe', params: this._buildSubscriptionParams(), }); @@ -148,8 +148,8 @@ export abstract class Web3Subscription< public async sendUnsubscribeRequest() { await this._subscriptionManager.requestManager.send({ - method: 'zond_unsubscribe', - params: [this.id] as Web3APIParams, + method: 'qrl_unsubscribe', + params: [this.id] as Web3APIParams, }); this._id = undefined; } @@ -168,7 +168,7 @@ export abstract class Web3Subscription< } // eslint-disable-next-line class-methods-use-this - protected _buildSubscriptionParams(): Web3APIParams { + protected _buildSubscriptionParams(): Web3APIParams { // This should be overridden in the subclass throw new Error('Implement in the child class'); } diff --git a/packages/web3-core/test/unit/fixtures/example_subscription.ts b/packages/web3-core/test/unit/fixtures/example_subscription.ts index c9f61937..deb62c01 100644 --- a/packages/web3-core/test/unit/fixtures/example_subscription.ts +++ b/packages/web3-core/test/unit/fixtures/example_subscription.ts @@ -20,7 +20,7 @@ import { Web3Subscription } from '../../../src'; export class ExampleSubscription extends Web3Subscription< { data: string }, { param1: string }, - { zond_subscribe: (newHeads: string) => void } + { qrl_subscribe: (newHeads: string) => void } > { // eslint-disable-next-line class-methods-use-this protected _buildSubscriptionParams() { diff --git a/packages/web3-core/test/unit/web3_extend.test.ts b/packages/web3-core/test/unit/web3_extend.test.ts index 62384d50..4c369d95 100644 --- a/packages/web3-core/test/unit/web3_extend.test.ts +++ b/packages/web3-core/test/unit/web3_extend.test.ts @@ -40,16 +40,16 @@ describe('Web3Context extend tests', () => { methods: [ { name: 'getL2Balance', - call: 'zond_getBalance', + call: 'qrl_getBalance', }, ], }); - await web3.L2Module.getL2Balance('Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); + await web3.L2Module.getL2Balance('Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', - params: ['Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], + method: 'qrl_getBalance', + params: ['Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], }); }); @@ -63,16 +63,16 @@ describe('Web3Context extend tests', () => { methods: [ { name: 'getL0Balance', - call: 'zond_getBalance', + call: 'qrl_getBalance', }, ], }); - await web3.getL0Balance('Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); + await web3.getL0Balance('Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', - params: ['Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], + method: 'qrl_getBalance', + params: ['Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], }); }); }); diff --git a/packages/web3-core/test/unit/web3_subscription.test.ts b/packages/web3-core/test/unit/web3_subscription.test.ts index d1b6e94f..46f71107 100644 --- a/packages/web3-core/test/unit/web3_subscription.test.ts +++ b/packages/web3-core/test/unit/web3_subscription.test.ts @@ -61,7 +61,7 @@ describe('Web3Subscription', () => { expect(requestManager.send).toHaveBeenCalledTimes(1); expect(requestManager.send).toHaveBeenCalledWith({ - method: 'zond_subscribe', + method: 'qrl_subscribe', params: ['newHeads'], }); }); @@ -95,7 +95,7 @@ describe('Web3Subscription', () => { expect(requestManager.send).toHaveBeenCalledTimes(1); expect(requestManager.send).toHaveBeenCalledWith({ - method: 'zond_unsubscribe', + method: 'qrl_unsubscribe', params: ['sub-id'], }); }); diff --git a/packages/web3-errors/src/error_codes.ts b/packages/web3-errors/src/error_codes.ts index 420a7b07..344c7909 100644 --- a/packages/web3-errors/src/error_codes.ts +++ b/packages/web3-errors/src/error_codes.ts @@ -129,10 +129,10 @@ export const JSONRPC_ERR_UNSUPPORTED_METHOD = 4200; export const JSONRPC_ERR_DISCONNECTED = 4900; export const JSONRPC_ERR_CHAIN_DISCONNECTED = 4901; -// ZNS error codes -export const ERR_ZNS_CHECK_INTERFACE_SUPPORT = 901; -export const ERR_ZNS_UNSUPPORTED_NETWORK = 902; -export const ERR_ZNS_NETWORK_NOT_SYNCED = 903; +// QRNS error codes +export const ERR_QRNS_CHECK_INTERFACE_SUPPORT = 901; +export const ERR_QRNS_UNSUPPORTED_NETWORK = 902; +export const ERR_QRNS_NETWORK_NOT_SYNCED = 903; // Utils error codes export const ERR_INVALID_STRING = 1001; diff --git a/packages/web3-errors/src/errors/zns_errors.ts b/packages/web3-errors/src/errors/qrns_errors.ts similarity index 62% rename from packages/web3-errors/src/errors/zns_errors.ts rename to packages/web3-errors/src/errors/qrns_errors.ts index 377bd440..9bc8da8f 100644 --- a/packages/web3-errors/src/errors/zns_errors.ts +++ b/packages/web3-errors/src/errors/qrns_errors.ts @@ -18,28 +18,28 @@ along with web3.js. If not, see . /* eslint-disable max-classes-per-file */ import { - ERR_ZNS_CHECK_INTERFACE_SUPPORT, - ERR_ZNS_NETWORK_NOT_SYNCED, - ERR_ZNS_UNSUPPORTED_NETWORK, + ERR_QRNS_CHECK_INTERFACE_SUPPORT, + ERR_QRNS_NETWORK_NOT_SYNCED, + ERR_QRNS_UNSUPPORTED_NETWORK, } from '../error_codes.js'; import { BaseWeb3Error } from '../web3_error_base.js'; -export class ZNSCheckInterfaceSupportError extends BaseWeb3Error { - public code = ERR_ZNS_CHECK_INTERFACE_SUPPORT; +export class QRNSCheckInterfaceSupportError extends BaseWeb3Error { + public code = ERR_QRNS_CHECK_INTERFACE_SUPPORT; public constructor(errorDetails: string) { - super(`ZNS resolver check interface support error. "${errorDetails}"`); + super(`QRNS resolver check interface support error. "${errorDetails}"`); } } -export class ZNSUnsupportedNetworkError extends BaseWeb3Error { - public code = ERR_ZNS_UNSUPPORTED_NETWORK; +export class QRNSUnsupportedNetworkError extends BaseWeb3Error { + public code = ERR_QRNS_UNSUPPORTED_NETWORK; public constructor(networkType: string) { - super(`ZNS is not supported on network ${networkType}`); + super(`QRNS is not supported on network ${networkType}`); } } -export class ZNSNetworkNotSyncedError extends BaseWeb3Error { - public code = ERR_ZNS_NETWORK_NOT_SYNCED; +export class QRNSNetworkNotSyncedError extends BaseWeb3Error { + public code = ERR_QRNS_NETWORK_NOT_SYNCED; public constructor() { super(`Network not synced`); } diff --git a/packages/web3-errors/src/errors/transaction_errors.ts b/packages/web3-errors/src/errors/transaction_errors.ts index bdb14a8d..bc54cbd0 100644 --- a/packages/web3-errors/src/errors/transaction_errors.ts +++ b/packages/web3-errors/src/errors/transaction_errors.ts @@ -101,7 +101,7 @@ export class TransactionRevertInstructionError< public data?: string, ) { super( - `Transaction has been reverted by the ZVM${ + `Transaction has been reverted by the QRVM${ receipt === undefined ? '' : `:\n ${BaseWeb3Error.convertToString(receipt)}` }`, ); @@ -177,7 +177,7 @@ export class TransactionRevertedWithoutReasonError< > extends TransactionError { public constructor(receipt?: ReceiptType) { super( - `Transaction has been reverted by the ZVM${ + `Transaction has been reverted by the QRVM${ receipt === undefined ? '' : `:\n ${BaseWeb3Error.convertToString(receipt)}` }`, receipt, @@ -263,7 +263,7 @@ export class ChainIdMismatchError extends InvalidValueError { public constructor(value: { txChainId: unknown; customChainId: unknown }) { super( JSON.stringify(value), - // https://github.com/theqrl/web3.js/blob/8783f4d64e424456bdc53b34ef1142d0a7cee4d7/packages/web3-zond-accounts/src/index.js#L176 + // https://github.com/theqrl/web3.js/blob/8783f4d64e424456bdc53b34ef1142d0a7cee4d7/packages/web3-qrl-accounts/src/index.js#L176 'Chain Id doesnt match in tx.chainId tx.common.customChain.chainId', ); } @@ -412,7 +412,7 @@ export class TransactionSendTimeoutError extends BaseWeb3Error { public constructor(value: { numberOfSeconds: number; transactionHash?: Bytes }) { super( - `The connected Zond Node did not respond within ${ + `The connected QRL Node did not respond within ${ value.numberOfSeconds } seconds, please make sure your transaction was properly sent and you are connected to a healthy Node. Be aware that transaction might still be pending or mined!\n\tTransaction Hash: ${ value.transactionHash ? value.transactionHash.toString() : 'not available' diff --git a/packages/web3-errors/src/errors/utils_errors.ts b/packages/web3-errors/src/errors/utils_errors.ts index feba1ae9..13fd4c29 100644 --- a/packages/web3-errors/src/errors/utils_errors.ts +++ b/packages/web3-errors/src/errors/utils_errors.ts @@ -55,7 +55,7 @@ export class InvalidAddressError extends InvalidValueError { public code = ERR_INVALID_ADDRESS; public constructor(value: unknown) { - super(value, 'invalid zond address'); + super(value, 'invalid qrl address'); } } diff --git a/packages/web3-errors/src/index.ts b/packages/web3-errors/src/index.ts index c77fc3fb..870ee295 100644 --- a/packages/web3-errors/src/index.ts +++ b/packages/web3-errors/src/index.ts @@ -20,7 +20,7 @@ export * from './web3_error_base.js'; export * from './errors/account_errors.js'; export * from './errors/connection_errors.js'; export * from './errors/contract_errors.js'; -export * from './errors/zns_errors.js'; +export * from './errors/qrns_errors.js'; export * from './errors/generic_errors.js'; export * from './errors/provider_errors.js'; export * from './errors/signature_errors.js'; diff --git a/packages/web3-errors/test/unit/__snapshots__/errors.test.ts.snap b/packages/web3-errors/test/unit/__snapshots__/errors.test.ts.snap index bb172482..b9b2199a 100644 --- a/packages/web3-errors/test/unit/__snapshots__/errors.test.ts.snap +++ b/packages/web3-errors/test/unit/__snapshots__/errors.test.ts.snap @@ -365,7 +365,7 @@ Object { "code": 402, "data": undefined, "innerError": undefined, - "message": "Transaction has been reverted by the ZVM: + "message": "Transaction has been reverted by the QRVM: {\\"attr1\\":\\"attr1\\"}", "name": "TransactionRevertInstructionError", "reason": "message", @@ -386,7 +386,7 @@ Object { "customErrorName": "customErrorName", "data": "data", "innerError": undefined, - "message": "Transaction has been reverted by the ZVM", + "message": "Transaction has been reverted by the QRVM", "name": "TransactionRevertWithCustomError", "reason": "reason", "receipt": Object { @@ -400,7 +400,7 @@ exports[`errors TransactionRevertedWithoutReasonError should have valid json str Object { "code": 405, "innerError": undefined, - "message": "Transaction has been reverted by the ZVM: + "message": "Transaction has been reverted by the QRVM: {\\"attr1\\":\\"attr1\\"}", "name": "TransactionRevertedWithoutReasonError", "receipt": Object { diff --git a/packages/web3-errors/test/unit/errors.test.ts b/packages/web3-errors/test/unit/errors.test.ts index 0d2c84ba..37ebacf7 100644 --- a/packages/web3-errors/test/unit/errors.test.ts +++ b/packages/web3-errors/test/unit/errors.test.ts @@ -19,7 +19,7 @@ import { JsonRpcError } from '@theqrl/web3-types'; import * as accountErrors from '../../src/errors/account_errors'; import * as connectionErrors from '../../src/errors/connection_errors'; import * as contractErrors from '../../src/errors/contract_errors'; -import * as znsErrors from '../../src/errors/zns_errors'; +import * as qrnsErrors from '../../src/errors/qrns_errors'; import * as genericErrors from '../../src/errors/generic_errors'; import * as providerErrors from '../../src/errors/provider_errors'; import * as signatureErrors from '../../src/errors/signature_errors'; @@ -44,7 +44,7 @@ describe('errors', () => { ...accountErrors, ...connectionErrors, ...contractErrors, - ...znsErrors, + ...qrnsErrors, ...genericErrors, ...providerErrors, ...signatureErrors, diff --git a/packages/web3-net/README.md b/packages/web3-net/README.md index 6ccdd0da..f3c4e644 100644 --- a/packages/web3-net/README.md +++ b/packages/web3-net/README.md @@ -8,7 +8,7 @@ This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3-net` package allows to interact with a Zond node’s network properties. +`@theqrl/web3-net` package allows to interact with a QRL node’s network properties. ## Installation diff --git a/packages/web3-net/package.json b/packages/web3-net/package.json index b4b4d72e..96fb49fa 100644 --- a/packages/web3-net/package.json +++ b/packages/web3-net/package.json @@ -4,7 +4,7 @@ "publishConfig": { "access": "public" }, - "description": "Web3 module to interact with the Zond nodes networking properties.", + "description": "Web3 module to interact with the QRL nodes networking properties.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { diff --git a/packages/web3-net/src/index.ts b/packages/web3-net/src/index.ts index e80405d9..03705383 100644 --- a/packages/web3-net/src/index.ts +++ b/packages/web3-net/src/index.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /** - * The web3-net package allows you to interact with a Zond node’s network properties. + * The web3-net package allows you to interact with a QRL node’s network properties. * * ```ts * import Net from '@theqrl/web3-net'; @@ -26,18 +26,18 @@ along with web3.js. If not, see . * import Web3 from '@theqrl/web3'; * const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546'); * - * // -> web3.zond.net + * // -> web3.qrl.net * * // get the ID of the network - * await web3.zond.net.getId(); + * await web3.qrl.net.getId(); * > 5777n * * // get the peer count - * await web3.zond.net.getPeerCount(); + * await web3.qrl.net.getPeerCount(); * > 0n * * // Check if the node is listening for peers - * await web3.zond.net.isListening(); + * await web3.qrl.net.isListening(); * > true * ``` */ diff --git a/packages/web3-net/test/unit/web3_net_methods.test.ts b/packages/web3-net/test/unit/web3_net_methods.test.ts index e18f7481..8ba2ee7f 100644 --- a/packages/web3-net/test/unit/web3_net_methods.test.ts +++ b/packages/web3-net/test/unit/web3_net_methods.test.ts @@ -21,7 +21,7 @@ import { getDataFormat } from '../fixtures/web3_net_methods'; jest.mock('../../src/rpc_method_wrappers'); -describe('web3_zond_methods', () => { +describe('web3_qrl_methods', () => { let web3Net: Net; beforeAll(() => { diff --git a/packages/web3-providers-http/src/index.ts b/packages/web3-providers-http/src/index.ts index c05f374d..04e65a44 100644 --- a/packages/web3-providers-http/src/index.ts +++ b/packages/web3-providers-http/src/index.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import fetch from 'cross-fetch'; import { - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcResponseWithResult, Web3APIMethod, Web3APIPayload, @@ -32,7 +32,7 @@ import { HttpProviderOptions } from './types.js'; export { HttpProviderOptions } from './types.js'; export default class HttpProvider< - API extends Web3APISpec = ZondExecutionAPI, + API extends Web3APISpec = QRLExecutionAPI, > extends Web3BaseProvider { private readonly clientUrl: string; private readonly httpProviderOptions: HttpProviderOptions | undefined; diff --git a/packages/web3-providers-http/test/integration/request.test.ts b/packages/web3-providers-http/test/integration/request.test.ts index b703a434..e3ccaa35 100644 --- a/packages/web3-providers-http/test/integration/request.test.ts +++ b/packages/web3-providers-http/test/integration/request.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZondExecutionAPI, Web3APIPayload, JsonRpcResponseWithResult } from '@theqrl/web3-types'; +import { QRLExecutionAPI, Web3APIPayload, JsonRpcResponseWithResult } from '@theqrl/web3-types'; import HttpProvider from '../../src/index'; import { getSystemTestProviderUrl, @@ -26,7 +26,7 @@ import { describeIf(isHttp)('HttpProvider - implemented methods', () => { let httpProvider: HttpProvider; - let jsonRpcPayload: Web3APIPayload; + let jsonRpcPayload: Web3APIPayload; beforeAll(async () => { httpProvider = new HttpProvider(getSystemTestProviderUrl()); @@ -34,9 +34,9 @@ describeIf(isHttp)('HttpProvider - implemented methods', () => { jsonRpcPayload = { jsonrpc: '2.0', id: 42, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [tempAcc.address, 'latest'], - } as Web3APIPayload; + } as Web3APIPayload; }); describe('httpProvider.request', () => { diff --git a/packages/web3-providers-http/test/unit/implemented_methods.test.ts b/packages/web3-providers-http/test/unit/implemented_methods.test.ts index 63b0945a..55852676 100644 --- a/packages/web3-providers-http/test/unit/implemented_methods.test.ts +++ b/packages/web3-providers-http/test/unit/implemented_methods.test.ts @@ -21,7 +21,7 @@ import fetchMock from 'jest-fetch-mock'; jest.setMock('cross-fetch', fetchMock); /* eslint-disable-next-line import/first */ -import { Web3APIPayload, ZondExecutionAPI } from '@theqrl/web3-types'; +import { Web3APIPayload, QRLExecutionAPI } from '@theqrl/web3-types'; /* eslint-disable-next-line import/first */ import { ResponseError } from '@theqrl/web3-errors'; /* eslint-disable-next-line import/first */ @@ -33,9 +33,9 @@ describe('HttpProvider - implemented methods', () => { const jsonRpcPayload = { jsonrpc: '2.0', id: 42, - method: 'zond_getBalance', - params: ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], - } as Web3APIPayload; + method: 'qrl_getBalance', + params: ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], + } as Web3APIPayload; let httpProvider: HttpProvider; diff --git a/packages/web3-providers-ipc/src/index.ts b/packages/web3-providers-ipc/src/index.ts index 00141a1a..04896957 100644 --- a/packages/web3-providers-ipc/src/index.ts +++ b/packages/web3-providers-ipc/src/index.ts @@ -19,7 +19,7 @@ import { Socket, SocketConstructorOpts } from 'net'; import { ConnectionNotOpenError, InvalidClientError } from '@theqrl/web3-errors'; import { ReconnectOptions, SocketProvider, toUtf8 } from '@theqrl/web3-utils'; import { - ZondExecutionAPI, + QRLExecutionAPI, Web3APIMethod, Web3APIPayload, Web3APISpec, @@ -59,7 +59,7 @@ import { existsSync } from 'fs'; * ); * ``` */ -export default class IpcProvider extends SocketProvider< +export default class IpcProvider extends SocketProvider< Uint8Array | string, CloseEvent, Error, diff --git a/packages/web3-providers-ipc/test/unit/check_implementation.test.ts b/packages/web3-providers-ipc/test/unit/check_implementation.test.ts index f2efe75b..05cfeb5a 100644 --- a/packages/web3-providers-ipc/test/unit/check_implementation.test.ts +++ b/packages/web3-providers-ipc/test/unit/check_implementation.test.ts @@ -109,8 +109,8 @@ describe('IPCProvider', () => { ipc.request({ jsonrpc: '2.0', id: 42, - method: 'zond_getBalance', - params: ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], + method: 'qrl_getBalance', + params: ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], }), ).rejects.toThrow('Connection not open'); }); diff --git a/packages/web3-providers-ws/src/index.ts b/packages/web3-providers-ws/src/index.ts index 2deea77e..1db822a2 100644 --- a/packages/web3-providers-ws/src/index.ts +++ b/packages/web3-providers-ws/src/index.ts @@ -18,7 +18,7 @@ along with web3.js. If not, see . import { ClientRequestArgs } from 'http'; import WebSocket, { ClientOptions, CloseEvent } from 'isomorphic-ws'; import { - ZondExecutionAPI, + QRLExecutionAPI, Web3APIMethod, Web3APIPayload, Web3APISpec, @@ -67,7 +67,7 @@ export { ClientOptions } from 'isomorphic-ws'; * ``` */ export default class WebSocketProvider< - API extends Web3APISpec = ZondExecutionAPI, + API extends Web3APISpec = QRLExecutionAPI, > extends SocketProvider { protected readonly _socketOptions?: ClientOptions | ClientRequestArgs; diff --git a/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts b/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts index 8c265b16..c4b1878a 100644 --- a/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts +++ b/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { Web3WSProviderError } from '@theqrl/web3-errors'; import { - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcId, JsonRpcNotification, JsonRpcResponse, @@ -43,7 +43,7 @@ describeIf(isWs)('WebSocketProvider - implemented methods', () => { let clientWsUrl: string; let tempAccount: string; let webSocketProvider: WebSocketProvider; - let jsonRpcPayload: Web3APIPayload; + let jsonRpcPayload: Web3APIPayload; // helper function beforeAll(async () => { @@ -54,9 +54,9 @@ describeIf(isWs)('WebSocketProvider - implemented methods', () => { jsonRpcPayload = { jsonrpc: '2.0', id: 42, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [tempAccount, 'latest'], - } as Web3APIPayload; + } as Web3APIPayload; webSocketProvider = new WebSocketProvider( clientWsUrl, {}, @@ -220,13 +220,13 @@ describeIf(isWs)('WebSocketProvider - implemented methods', () => { }); describe('send multiple Requests on same connection with valid payload and receive response tests', () => { // eslint-disable-next-line jest/expect-expect - let jsonRpcPayload2: Web3APIPayload; + let jsonRpcPayload2: Web3APIPayload; beforeAll(() => { jsonRpcPayload2 = { jsonrpc: '2.0', id: 43, - method: 'zond_mining', - } as Web3APIPayload; + method: 'qrl_mining', + } as Web3APIPayload; }); it('should send multiple requests', async () => { diff --git a/packages/web3-providers-ws/test/unit/check_implementation.test.ts b/packages/web3-providers-ws/test/unit/check_implementation.test.ts index bf96bc1a..62546c52 100644 --- a/packages/web3-providers-ws/test/unit/check_implementation.test.ts +++ b/packages/web3-providers-ws/test/unit/check_implementation.test.ts @@ -95,8 +95,8 @@ describe('WebSocketProvider', () => { ws.request({ jsonrpc: '2.0', id: 42, - method: 'zond_getBalance', - params: ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], + method: 'qrl_getBalance', + params: ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], }), ).rejects.toThrow('Connection not open'); }); diff --git a/packages/web3-providers-ws/test/unit/web_socket_provider.test.ts b/packages/web3-providers-ws/test/unit/web_socket_provider.test.ts index 529bc81e..b2f847cb 100644 --- a/packages/web3-providers-ws/test/unit/web_socket_provider.test.ts +++ b/packages/web3-providers-ws/test/unit/web_socket_provider.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import WebSocket from 'isomorphic-ws'; -import { ZondExecutionAPI, Web3APIPayload } from '@theqrl/web3-types'; +import { QRLExecutionAPI, Web3APIPayload } from '@theqrl/web3-types'; import WebSocketProvider from '../../src/index'; import { invalidConnectionStrings, @@ -27,7 +27,7 @@ jest.mock('isomorphic-ws'); describe('WebSocketProvider', () => { let wsProvider: WebSocketProvider; - let jsonRpcPayload: Web3APIPayload; + let jsonRpcPayload: Web3APIPayload; let jsonRpcResponse: Record; beforeEach(() => { @@ -38,8 +38,8 @@ describe('WebSocketProvider', () => { jsonRpcPayload = { jsonrpc: '2.0', id: 42, - method: 'zond_getBalance', - params: ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], + method: 'qrl_getBalance', + params: ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'], }; jsonRpcResponse = { ...jsonRpcPayload, result: JSON.stringify(jsonRpcPayload) }; }); diff --git a/packages/web3-zond-abi/.eslintignore b/packages/web3-qrl-abi/.eslintignore similarity index 100% rename from packages/web3-zond-abi/.eslintignore rename to packages/web3-qrl-abi/.eslintignore diff --git a/packages/web3-zond-abi/.eslintrc.js b/packages/web3-qrl-abi/.eslintrc.js similarity index 100% rename from packages/web3-zond-abi/.eslintrc.js rename to packages/web3-qrl-abi/.eslintrc.js diff --git a/packages/web3-zond-abi/.gitignore b/packages/web3-qrl-abi/.gitignore similarity index 100% rename from packages/web3-zond-abi/.gitignore rename to packages/web3-qrl-abi/.gitignore diff --git a/packages/web3-zond-abi/.npmignore b/packages/web3-qrl-abi/.npmignore similarity index 100% rename from packages/web3-zond-abi/.npmignore rename to packages/web3-qrl-abi/.npmignore diff --git a/packages/web3-zond-abi/.prettierignore b/packages/web3-qrl-abi/.prettierignore similarity index 100% rename from packages/web3-zond-abi/.prettierignore rename to packages/web3-qrl-abi/.prettierignore diff --git a/packages/web3-zond-abi/.prettierrc.json b/packages/web3-qrl-abi/.prettierrc.json similarity index 100% rename from packages/web3-zond-abi/.prettierrc.json rename to packages/web3-qrl-abi/.prettierrc.json diff --git a/packages/web3-zond-abi/CHANGELOG.md b/packages/web3-qrl-abi/CHANGELOG.md similarity index 100% rename from packages/web3-zond-abi/CHANGELOG.md rename to packages/web3-qrl-abi/CHANGELOG.md diff --git a/packages/web3-zond-abi/README.md b/packages/web3-qrl-abi/README.md similarity index 69% rename from packages/web3-zond-abi/README.md rename to packages/web3-qrl-abi/README.md index 8192e4fb..88506def 100644 --- a/packages/web3-zond-abi/README.md +++ b/packages/web3-qrl-abi/README.md @@ -1,28 +1,28 @@ -# @theqrl/web3.js - Web3-Zond-Abi +# @theqrl/web3.js - Web3-QRL-Abi ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-18.x-green) -[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-zond-abi)](https://www.npmjs.com/package/@theqrl/web3-zond-abi) -[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-zond-abi)](https://www.npmjs.com/package/@theqrl/web3-zond-abi) +[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-qrl-abi)](https://www.npmjs.com/package/@theqrl/web3-qrl-abi) +[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-qrl-abi)](https://www.npmjs.com/package/@theqrl/web3-qrl-abi) This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3-zond-abi` contains functions for the encode and decode ZVM in/output. +`@theqrl/web3-qrl-abi` contains functions for the encode and decode QRVM in/output. ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-zond-abi) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-zond-abi) +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-qrl-abi) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-qrl-abi) ### Using NPM ```bash -npm install @theqrl/web3-zond-abi +npm install @theqrl/web3-qrl-abi ``` ### Using Yarn ```bash -yarn add @theqrl/web3-zond-abi +yarn add @theqrl/web3-qrl-abi ``` ## Getting Started @@ -49,7 +49,7 @@ yarn add @theqrl/web3-zond-abi | test:unit | Uses `jest` to run tests under `/test/unit` | [docs]: https://docs.theqrl.org/ -[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-abi -[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-zond-abi%2Fpackage.json -[npm-url]: https://npmjs.org/package/@theqrl/web3-zond-abi -[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-zond-abi?label=npm%20downloads +[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-abi +[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-qrl-abi%2Fpackage.json +[npm-url]: https://npmjs.org/package/@theqrl/web3-qrl-abi +[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-qrl-abi?label=npm%20downloads diff --git a/packages/web3-zond-abi/assets/logo/web3js.ai b/packages/web3-qrl-abi/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond-abi/assets/logo/web3js.ai rename to packages/web3-qrl-abi/assets/logo/web3js.ai diff --git a/packages/web3-zond-abi/assets/logo/web3js.jpg b/packages/web3-qrl-abi/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-abi/assets/logo/web3js.jpg rename to packages/web3-qrl-abi/assets/logo/web3js.jpg diff --git a/packages/web3-zond-abi/assets/logo/web3js.svg b/packages/web3-qrl-abi/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond-abi/assets/logo/web3js.svg rename to packages/web3-qrl-abi/assets/logo/web3js.svg diff --git a/packages/web3-zond-abi/package.json b/packages/web3-qrl-abi/package.json similarity index 95% rename from packages/web3-zond-abi/package.json rename to packages/web3-qrl-abi/package.json index 6512af91..6bc97d2b 100644 --- a/packages/web3-zond-abi/package.json +++ b/packages/web3-qrl-abi/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond-abi", + "name": "@theqrl/web3-qrl-abi", "version": "0.3.3", "publishConfig": { "access": "public" }, - "description": "Web3 module encode and decode ZVM in/output.", + "description": "Web3 module encode and decode QRVM in/output.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -14,7 +14,7 @@ "require": "./lib/commonjs/index.js" } }, - "repository": "https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-abi", + "repository": "https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-abi", "author": "The QRL Contributors", "license": "LGPL-3.0", "engines": { diff --git a/packages/web3-zond-abi/src/api/errors_api.ts b/packages/web3-qrl-abi/src/api/errors_api.ts similarity index 100% rename from packages/web3-zond-abi/src/api/errors_api.ts rename to packages/web3-qrl-abi/src/api/errors_api.ts diff --git a/packages/web3-zond-abi/src/api/events_api.ts b/packages/web3-qrl-abi/src/api/events_api.ts similarity index 95% rename from packages/web3-zond-abi/src/api/events_api.ts rename to packages/web3-qrl-abi/src/api/events_api.ts index 1a52ab4f..6d4b7f33 100644 --- a/packages/web3-zond-abi/src/api/events_api.ts +++ b/packages/web3-qrl-abi/src/api/events_api.ts @@ -27,7 +27,7 @@ import { jsonInterfaceMethodToString, isAbiEventFragment } from '../utils.js'; * * @example * ```ts - * const event = web3.zond.abi.encodeEventSignature({ + * const event = web3.qrl.abi.encodeEventSignature({ * name: "myEvent", * type: "event", * inputs: [ @@ -44,7 +44,7 @@ import { jsonInterfaceMethodToString, isAbiEventFragment } from '../utils.js'; * console.log(event); * > 0xf2eeb729e636a8cb783be044acf6b7b1e2c5863735b60d6daae84c366ee87d97 * - * const event = web3.zond.abi.encodeEventSignature({ + * const event = web3.qrl.abi.encodeEventSignature({ * inputs: [ * { * indexed: true, diff --git a/packages/web3-zond-abi/src/api/functions_api.ts b/packages/web3-qrl-abi/src/api/functions_api.ts similarity index 90% rename from packages/web3-zond-abi/src/api/functions_api.ts rename to packages/web3-qrl-abi/src/api/functions_api.ts index 8d59d093..32f268e4 100644 --- a/packages/web3-zond-abi/src/api/functions_api.ts +++ b/packages/web3-qrl-abi/src/api/functions_api.ts @@ -29,7 +29,7 @@ import { encodeParameters } from './parameters_api.js'; * @returns - The ABI signature of the function. * @example * ```ts - * const signature = web3.zond.abi.encodeFunctionSignature({ + * const signature = web3.qrl.abi.encodeFunctionSignature({ * name: "myMethod", * type: "function", * inputs: [ @@ -46,11 +46,11 @@ import { encodeParameters } from './parameters_api.js'; * console.log(signature); * > 0x24ee0097 * - * const signature = web3.zond.abi.encodeFunctionSignature('myMethod(uint256,string)') + * const signature = web3.qrl.abi.encodeFunctionSignature('myMethod(uint256,string)') * console.log(signature); * > 0x24ee0097 * - * const signature = web3.zond.abi.encodeFunctionSignature('safeTransferFrom(address,address,uint256,bytes)'); + * const signature = web3.qrl.abi.encodeFunctionSignature('safeTransferFrom(address,address,uint256,bytes)'); * console.log(signature); * > 0xb88d4fde * ``` @@ -79,7 +79,7 @@ export const encodeFunctionSignature = (functionName: string | AbiFunctionFragme * @returns - The ABI encoded function call, which, means the function signature and the parameters passed. * @example * ```ts - * const sig = web3.zond.abi.encodeFunctionCall( + * const sig = web3.qrl.abi.encodeFunctionCall( * { * name: "myMethod", * type: "function", @@ -101,7 +101,7 @@ export const encodeFunctionSignature = (functionName: string | AbiFunctionFragme * * * - * const sig = web3.zond.abi.encodeFunctionCall( + * const sig = web3.qrl.abi.encodeFunctionCall( * { * inputs: [ * { @@ -119,7 +119,7 @@ export const encodeFunctionSignature = (functionName: string | AbiFunctionFragme * stateMutability: "view", * type: "function", * }, - * ["Z1234567890123456789012345678901234567890"] + * ["Q1234567890123456789012345678901234567890"] * ); * * console.log(sig); diff --git a/packages/web3-zond-abi/src/api/logs_api.ts b/packages/web3-qrl-abi/src/api/logs_api.ts similarity index 99% rename from packages/web3-zond-abi/src/api/logs_api.ts rename to packages/web3-qrl-abi/src/api/logs_api.ts index 17ab0471..7c174630 100644 --- a/packages/web3-zond-abi/src/api/logs_api.ts +++ b/packages/web3-qrl-abi/src/api/logs_api.ts @@ -32,7 +32,7 @@ const _decodeParameter = (inputType: string, clonedTopic: string) => * * @example * ```ts - * let res = web3.zond.abi.decodeLog( + * let res = web3.qrl.abi.decodeLog( * [ * { * type: "string", diff --git a/packages/web3-zond-abi/src/api/parameters_api.ts b/packages/web3-qrl-abi/src/api/parameters_api.ts similarity index 93% rename from packages/web3-zond-abi/src/api/parameters_api.ts rename to packages/web3-qrl-abi/src/api/parameters_api.ts index 7ca503d0..89cb39ae 100644 --- a/packages/web3-zond-abi/src/api/parameters_api.ts +++ b/packages/web3-qrl-abi/src/api/parameters_api.ts @@ -28,7 +28,7 @@ import { formatParam, isAbiFragment, mapTypes, modifyParams } from '../utils.js' * @returns - The ABI encoded parameters * @example * ```ts - * const res = web3.zond.abi.encodeParameters( + * const res = web3.qrl.abi.encodeParameters( * ["uint256", "string"], * ["2345675643", "Hello!%"] * ); @@ -79,31 +79,31 @@ export const encodeParameters = (abi: ReadonlyArray, params: unknown[] * @returns - The ABI encoded parameter * @example * ```ts - * const res = web3.zond.abi.encodeParameter("uint256", "2345675643"); + * const res = web3.qrl.abi.encodeParameter("uint256", "2345675643"); * console.log(res); * 0x000000000000000000000000000000000000000000000000000000008bd02b7b * - * const res = web3.zond.abi.encodeParameter("uint", "2345675643"); + * const res = web3.qrl.abi.encodeParameter("uint", "2345675643"); * * console.log(res); * >0x000000000000000000000000000000000000000000000000000000008bd02b7b * - * const res = web3.zond.abi.encodeParameter("bytes32", "0xdf3234"); + * const res = web3.qrl.abi.encodeParameter("bytes32", "0xdf3234"); * * console.log(res); * >0xdf32340000000000000000000000000000000000000000000000000000000000 * - * const res = web3.zond.abi.encodeParameter("bytes", "0xdf3234"); + * const res = web3.qrl.abi.encodeParameter("bytes", "0xdf3234"); * * console.log(res); * > 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003df32340000000000000000000000000000000000000000000000000000000000 * - * const res = web3.zond.abi.encodeParameter("bytes32[]", ["0xdf3234", "0xfdfd"]); + * const res = web3.qrl.abi.encodeParameter("bytes32[]", ["0xdf3234", "0xfdfd"]); * * console.log(res); * > 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002df32340000000000000000000000000000000000000000000000000000000000fdfd000000000000000000000000000000000000000000000000000000000000 * - * const res = web3.zond.abi.encodeParameter( + * const res = web3.qrl.abi.encodeParameter( * { * ParentStruct: { * propertyOne: "uint256", @@ -193,14 +193,14 @@ export const decodeParametersWith = ( * @returns - The result object containing the decoded parameters. * @example * ```ts - * let res = web3.zond.abi.decodeParameters( + * let res = web3.qrl.abi.decodeParameters( * ["string", "uint256"], * "0x000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000ea000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000" * ); * console.log(res); * > { '0': 'Hello!%!', '1': 234n, __length__: 2 } * - * let res = web3.zond.abi.decodeParameters( + * let res = web3.qrl.abi.decodeParameters( * [ * { * type: "string", @@ -222,7 +222,7 @@ export const decodeParametersWith = ( * myNumber: 234n * } * - * const res = web3.zond.abi.decodeParameters( + * const res = web3.qrl.abi.decodeParameters( * [ * "uint8[]", * { @@ -302,14 +302,14 @@ export const decodeParameters = ( * @returns - The decoded parameter * @example * ```ts - * const res = web3.zond.abi.decodeParameter( + * const res = web3.qrl.abi.decodeParameter( * "uint256", * "0x0000000000000000000000000000000000000000000000000000000000000010" * ); * console.log(res); * > 16n * - * const res = web3.zond.abi.decodeParameter( + * const res = web3.qrl.abi.decodeParameter( * "string", * "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000848656c6c6f212521000000000000000000000000000000000000000000000000" * ); @@ -317,7 +317,7 @@ export const decodeParameters = ( * console.log(res); * > Hello!%! * - * const res = web3.zond.abi.decodeParameter( + * const res = web3.qrl.abi.decodeParameter( * { * ParentStruct: { * propertyOne: "uint256", diff --git a/packages/web3-zond-abi/src/decode_contract_error_data.ts b/packages/web3-qrl-abi/src/decode_contract_error_data.ts similarity index 100% rename from packages/web3-zond-abi/src/decode_contract_error_data.ts rename to packages/web3-qrl-abi/src/decode_contract_error_data.ts diff --git a/packages/web3-zond-abi/src/eip_712.ts b/packages/web3-qrl-abi/src/eip_712.ts similarity index 100% rename from packages/web3-zond-abi/src/eip_712.ts rename to packages/web3-qrl-abi/src/eip_712.ts diff --git a/packages/web3-zond-abi/src/ethers_abi_coder.ts b/packages/web3-qrl-abi/src/ethers_abi_coder.ts similarity index 100% rename from packages/web3-zond-abi/src/ethers_abi_coder.ts rename to packages/web3-qrl-abi/src/ethers_abi_coder.ts diff --git a/packages/web3-zond-abi/src/index.ts b/packages/web3-qrl-abi/src/index.ts similarity index 85% rename from packages/web3-zond-abi/src/index.ts rename to packages/web3-qrl-abi/src/index.ts index 883a4107..0b710105 100644 --- a/packages/web3-zond-abi/src/index.ts +++ b/packages/web3-qrl-abi/src/index.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /** - * The web3.zond.abi functions let you encode and decode parameters to ABI (Application Binary Interface) for function calls to the ZVM (Zond Virtual Machine). + * The web3.qrl.abi functions let you encode and decode parameters to ABI (Application Binary Interface) for function calls to the QRVM (Quantum Resistant Virtual Machine). */ export * from './api/errors_api.js'; export * from './api/events_api.js'; diff --git a/packages/web3-zond-abi/src/utils.ts b/packages/web3-qrl-abi/src/utils.ts similarity index 100% rename from packages/web3-zond-abi/src/utils.ts rename to packages/web3-qrl-abi/src/utils.ts diff --git a/packages/web3-zond-abi/test/.eslintrc.js b/packages/web3-qrl-abi/test/.eslintrc.js similarity index 100% rename from packages/web3-zond-abi/test/.eslintrc.js rename to packages/web3-qrl-abi/test/.eslintrc.js diff --git a/packages/web3-zond-abi/test/config/jest.config.js b/packages/web3-qrl-abi/test/config/jest.config.js similarity index 100% rename from packages/web3-zond-abi/test/config/jest.config.js rename to packages/web3-qrl-abi/test/config/jest.config.js diff --git a/packages/web3-zond-abi/test/config/setup.js b/packages/web3-qrl-abi/test/config/setup.js similarity index 100% rename from packages/web3-zond-abi/test/config/setup.js rename to packages/web3-qrl-abi/test/config/setup.js diff --git a/packages/web3-zond-abi/test/fixtures/data.ts b/packages/web3-qrl-abi/test/fixtures/data.ts similarity index 97% rename from packages/web3-zond-abi/test/fixtures/data.ts rename to packages/web3-qrl-abi/test/fixtures/data.ts index 09e7ecf8..584f65bd 100644 --- a/packages/web3-zond-abi/test/fixtures/data.ts +++ b/packages/web3-qrl-abi/test/fixtures/data.ts @@ -269,7 +269,7 @@ export const validFunctionsCall: { input: { abi: any; params: any }; output: str }, params: [ '0x000000000000000000000000', - 'Z0000000000000000000000000000000000000000', + 'Q0000000000000000000000000000000000000000', '170141183460469231731687303715884105727', '-170141183460469231731687303715884105727', ], @@ -452,12 +452,12 @@ export const validDecodeLogsData: { data: '0x00000000000000000000000000000000000000000000000000000000000186a0', }, output: { - '0': 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', - '1': 'Z6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', + '0': 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + '1': 'Q6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', '2': '100000', __length__: 3, - from: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', - to: 'Z6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', + from: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + to: 'Q6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', value: '100000', }, }, @@ -489,10 +489,10 @@ export const validDecodeLogsData: { topics: ['0x000000000000000000000000cb00cde33a7a0fba30c63745534f1f7ae607076b'], }, output: { - '0': 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + '0': 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', '1': { '0': 'Rick Sanchez', - '1': 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + '1': 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', '2': { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -502,7 +502,7 @@ export const validDecodeLogsData: { }, __length__: 3, name: 'Rick Sanchez', - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', contact: { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -512,10 +512,10 @@ export const validDecodeLogsData: { }, }, __length__: 2, - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', user: { '0': 'Rick Sanchez', - '1': 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + '1': 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', '2': { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -525,7 +525,7 @@ export const validDecodeLogsData: { }, __length__: 3, name: 'Rick Sanchez', - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', contact: { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -897,7 +897,7 @@ export const validDecodeParametersData: { outputResult: { '0': { '0': 'Rick Sanchez', - '1': 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + '1': 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', '2': { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -906,7 +906,7 @@ export const validDecodeParametersData: { phone: '+1 (555) 314-1593', }, __length__: 3, - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', contact: { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -919,7 +919,7 @@ export const validDecodeParametersData: { __length__: 1, user: { '0': 'Rick Sanchez', - '1': 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + '1': 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', '2': { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', @@ -928,7 +928,7 @@ export const validDecodeParametersData: { phone: '+1 (555) 314-1593', }, __length__: 3, - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', contact: { '0': 'rick.c137@citadel.cfc', '1': '+1 (555) 314-1593', diff --git a/packages/web3-zond-abi/test/fixtures/get_encoded_eip712_data.ts b/packages/web3-qrl-abi/test/fixtures/get_encoded_eip712_data.ts similarity index 87% rename from packages/web3-zond-abi/test/fixtures/get_encoded_eip712_data.ts rename to packages/web3-qrl-abi/test/fixtures/get_encoded_eip712_data.ts index aacc77ed..b7010860 100644 --- a/packages/web3-zond-abi/test/fixtures/get_encoded_eip712_data.ts +++ b/packages/web3-qrl-abi/test/fixtures/get_encoded_eip712_data.ts @@ -75,16 +75,16 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Ether Mail', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { from: { name: 'Cow', - wallet: 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + wallet: 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', }, to: { name: 'Bob', - wallet: 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + wallet: 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', }, contents: 'Hello, Bob!', }, @@ -144,16 +144,16 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Ether Mail', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { from: { name: 'Cow', - wallet: 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + wallet: 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', }, to: { name: 'Bob', - wallet: 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + wallet: 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', }, contents: 'Hello, Bob!', }, @@ -213,16 +213,16 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Ether Mail', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { from: { name: 'Cow', - wallet: 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + wallet: 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', }, to: { name: 'Bob', - wallet: 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + wallet: 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', }, contents: 'Hello, Bob!', }, @@ -272,14 +272,14 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], array2: [ - 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', - 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', - 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', ], array3: [123456, 654321, 42], }, @@ -329,14 +329,14 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], array2: [ - 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', - 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', - 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', ], array3: [123456, 654321, 42], }, @@ -386,14 +386,14 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], array2: [ - 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', - 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', - 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', ], array3: [123456, 654321, 42], }, @@ -443,14 +443,14 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], array2: [ - 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', - 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', - 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', ], array3: [123456, 654321, 42], }, @@ -492,7 +492,7 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { bytes32: '0x133d00e67f2390ce846a631aeb6718a674a3923f5320b79b6d3e2f5bf146319e', @@ -535,7 +535,7 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { bytes32: '0x133d00e67f2390ce846a631aeb6718a674a3923f5320b79b6d3e2f5bf146319e', @@ -578,7 +578,7 @@ export const testData: [string, Eip712TypedData, boolean | undefined, string][] name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { bytes32: '0x133d00e67f2390ce846a631aeb6718a674a3923f5320b79b6d3e2f5bf146319e', @@ -638,11 +638,11 @@ export const erroneousTestData: [string, Eip712TypedData, boolean | undefined, E name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], - array2: 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + array2: 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', array3: [123456, 654321, 42], }, }, @@ -691,11 +691,11 @@ export const erroneousTestData: [string, Eip712TypedData, boolean | undefined, E name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], - array2: ['ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB'], + array2: ['QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB'], array3: [123456, 654321, 42], }, }, @@ -744,11 +744,11 @@ export const erroneousTestData: [string, Eip712TypedData, boolean | undefined, E name: 'Array Data', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { array1: ['string', 'string2', 'string3'], - array2: ['ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB'], + array2: ['QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB'], array3: undefined, }, }, diff --git a/packages/web3-zond-abi/test/integration/jest.config.js b/packages/web3-qrl-abi/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond-abi/test/integration/jest.config.js rename to packages/web3-qrl-abi/test/integration/jest.config.js diff --git a/packages/web3-zond-abi/test/integration/setup.js b/packages/web3-qrl-abi/test/integration/setup.js similarity index 100% rename from packages/web3-zond-abi/test/integration/setup.js rename to packages/web3-qrl-abi/test/integration/setup.js diff --git a/packages/web3-zond-abi/test/tsconfig.json b/packages/web3-qrl-abi/test/tsconfig.json similarity index 100% rename from packages/web3-zond-abi/test/tsconfig.json rename to packages/web3-qrl-abi/test/tsconfig.json diff --git a/packages/web3-zond-abi/test/unit/api/errors_api.test.ts b/packages/web3-qrl-abi/test/unit/api/errors_api.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/api/errors_api.test.ts rename to packages/web3-qrl-abi/test/unit/api/errors_api.test.ts diff --git a/packages/web3-zond-abi/test/unit/api/events_api.test.ts b/packages/web3-qrl-abi/test/unit/api/events_api.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/api/events_api.test.ts rename to packages/web3-qrl-abi/test/unit/api/events_api.test.ts diff --git a/packages/web3-zond-abi/test/unit/api/functions_api.test.ts b/packages/web3-qrl-abi/test/unit/api/functions_api.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/api/functions_api.test.ts rename to packages/web3-qrl-abi/test/unit/api/functions_api.test.ts diff --git a/packages/web3-zond-abi/test/unit/api/logs_api.test.ts b/packages/web3-qrl-abi/test/unit/api/logs_api.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/api/logs_api.test.ts rename to packages/web3-qrl-abi/test/unit/api/logs_api.test.ts diff --git a/packages/web3-zond-abi/test/unit/api/parameters_api.test.ts b/packages/web3-qrl-abi/test/unit/api/parameters_api.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/api/parameters_api.test.ts rename to packages/web3-qrl-abi/test/unit/api/parameters_api.test.ts diff --git a/packages/web3-zond-abi/test/unit/constructor.test.ts b/packages/web3-qrl-abi/test/unit/constructor.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/constructor.test.ts rename to packages/web3-qrl-abi/test/unit/constructor.test.ts diff --git a/packages/web3-zond-abi/test/unit/decodeContractErrorData.test.ts b/packages/web3-qrl-abi/test/unit/decodeContractErrorData.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/decodeContractErrorData.test.ts rename to packages/web3-qrl-abi/test/unit/decodeContractErrorData.test.ts diff --git a/packages/web3-zond-abi/test/unit/get_encoded_eip712_data.test.ts b/packages/web3-qrl-abi/test/unit/get_encoded_eip712_data.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/get_encoded_eip712_data.test.ts rename to packages/web3-qrl-abi/test/unit/get_encoded_eip712_data.test.ts diff --git a/packages/web3-zond-ens/test/unit/jest.config.js b/packages/web3-qrl-abi/test/unit/jest.config.js similarity index 86% rename from packages/web3-zond-ens/test/unit/jest.config.js rename to packages/web3-qrl-abi/test/unit/jest.config.js index 1e018350..cb892553 100644 --- a/packages/web3-zond-ens/test/unit/jest.config.js +++ b/packages/web3-qrl-abi/test/unit/jest.config.js @@ -11,7 +11,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-ens-unit-coverage.json', + file: 'web3-qrl-abi-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond-abi/test/unit/types.test.ts b/packages/web3-qrl-abi/test/unit/types.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/types.test.ts rename to packages/web3-qrl-abi/test/unit/types.test.ts diff --git a/packages/web3-zond-abi/test/unit/utils.test.ts b/packages/web3-qrl-abi/test/unit/utils.test.ts similarity index 100% rename from packages/web3-zond-abi/test/unit/utils.test.ts rename to packages/web3-qrl-abi/test/unit/utils.test.ts diff --git a/packages/web3-zond-abi/tsconfig.cjs.json b/packages/web3-qrl-abi/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond-abi/tsconfig.cjs.json rename to packages/web3-qrl-abi/tsconfig.cjs.json diff --git a/packages/web3-zond-abi/tsconfig.esm.json b/packages/web3-qrl-abi/tsconfig.esm.json similarity index 100% rename from packages/web3-zond-abi/tsconfig.esm.json rename to packages/web3-qrl-abi/tsconfig.esm.json diff --git a/packages/web3-zond-abi/tsconfig.types.json b/packages/web3-qrl-abi/tsconfig.types.json similarity index 100% rename from packages/web3-zond-abi/tsconfig.types.json rename to packages/web3-qrl-abi/tsconfig.types.json diff --git a/packages/web3-zond-abi/tsdoc.json b/packages/web3-qrl-abi/tsdoc.json similarity index 100% rename from packages/web3-zond-abi/tsdoc.json rename to packages/web3-qrl-abi/tsdoc.json diff --git a/packages/web3-zond-accounts/.eslintignore b/packages/web3-qrl-accounts/.eslintignore similarity index 100% rename from packages/web3-zond-accounts/.eslintignore rename to packages/web3-qrl-accounts/.eslintignore diff --git a/packages/web3-zond-accounts/.eslintrc.js b/packages/web3-qrl-accounts/.eslintrc.js similarity index 100% rename from packages/web3-zond-accounts/.eslintrc.js rename to packages/web3-qrl-accounts/.eslintrc.js diff --git a/packages/web3-zond-accounts/.gitignore b/packages/web3-qrl-accounts/.gitignore similarity index 100% rename from packages/web3-zond-accounts/.gitignore rename to packages/web3-qrl-accounts/.gitignore diff --git a/packages/web3-zond-accounts/.npmignore b/packages/web3-qrl-accounts/.npmignore similarity index 100% rename from packages/web3-zond-accounts/.npmignore rename to packages/web3-qrl-accounts/.npmignore diff --git a/packages/web3-zond-accounts/.prettierignore b/packages/web3-qrl-accounts/.prettierignore similarity index 100% rename from packages/web3-zond-accounts/.prettierignore rename to packages/web3-qrl-accounts/.prettierignore diff --git a/packages/web3-zond-accounts/.prettierrc.json b/packages/web3-qrl-accounts/.prettierrc.json similarity index 100% rename from packages/web3-zond-accounts/.prettierrc.json rename to packages/web3-qrl-accounts/.prettierrc.json diff --git a/packages/web3-zond-accounts/CHANGELOG.md b/packages/web3-qrl-accounts/CHANGELOG.md similarity index 100% rename from packages/web3-zond-accounts/CHANGELOG.md rename to packages/web3-qrl-accounts/CHANGELOG.md diff --git a/packages/web3-qrl-accounts/README.md b/packages/web3-qrl-accounts/README.md new file mode 100644 index 00000000..b05362ac --- /dev/null +++ b/packages/web3-qrl-accounts/README.md @@ -0,0 +1,55 @@ +# @theqrl/web3.js - Web3 QRL Accounts + +![ES Version](https://img.shields.io/badge/ES-2020-yellow) +![Node Version](https://img.shields.io/badge/node-18.x-green) +[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-qrl-accounts)](https://www.npmjs.com/package/@theqrl/web3-qrl-accounts) +[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-qrl-accounts)](https://www.npmjs.com/package/@theqrl/web3-qrl-accounts) + +This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). + +`@theqrl/web3-qrl-accounts` contains functionality for managing QRL accounts and signing. + +## Installation + +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-qrl-accounts) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-qrl-accounts) + +### Using NPM + +```bash +npm install @theqrl/web3-qrl-accounts +``` + +### Using Yarn + +```bash +yarn add @theqrl/web3-qrl-accounts +``` + +## Getting Started + +- :writing_hand: If you have questions [submit an issue](https://github.com/theqrl/web3.js/issues/new) or join us on [Discord](https://theqrl.org/discord) + ![Discord](https://img.shields.io/discord/357604137204056065.svg?label=Discord&logo=discord) + +## Prerequisites + +- :gear: [NodeJS](https://nodejs.org/) (LTS/Fermium) +- :toolbox: [Yarn](https://yarnpkg.com/)/[Lerna](https://lerna.js.org/) + +## Package.json Scripts + +| Script | Description | +| ---------------- | -------------------------------------------------- | +| clean | Uses `rimraf` to remove `dist/` | +| build | Uses `tsc` to build package and dependent packages | +| lint | Uses `eslint` to lint package | +| lint:fix | Uses `eslint` to check and fix any warnings | +| format | Uses `prettier` to format the code | +| test | Uses `jest` to run unit tests | +| test:integration | Uses `jest` to run tests under `/test/integration` | +| test:unit | Uses `jest` to run tests under `/test/unit` | + +[docs]: https://docs.theqrl.org/ +[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-accounts +[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-qrl-accounts%2Fpackage.json +[npm-url]: https://npmjs.org/package/@theqrl/web3-qrl-accounts +[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-qrl-accounts?label=npm%20downloads diff --git a/packages/web3-zond-accounts/assets/logo/web3js.ai b/packages/web3-qrl-accounts/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond-accounts/assets/logo/web3js.ai rename to packages/web3-qrl-accounts/assets/logo/web3js.ai diff --git a/packages/web3-zond-accounts/assets/logo/web3js.jpg b/packages/web3-qrl-accounts/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-accounts/assets/logo/web3js.jpg rename to packages/web3-qrl-accounts/assets/logo/web3js.jpg diff --git a/packages/web3-zond-accounts/assets/logo/web3js.svg b/packages/web3-qrl-accounts/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond-accounts/assets/logo/web3js.svg rename to packages/web3-qrl-accounts/assets/logo/web3js.svg diff --git a/packages/web3-zond-accounts/cypress b/packages/web3-qrl-accounts/cypress similarity index 100% rename from packages/web3-zond-accounts/cypress rename to packages/web3-qrl-accounts/cypress diff --git a/packages/web3-zond-accounts/cypress.config.js b/packages/web3-qrl-accounts/cypress.config.js similarity index 100% rename from packages/web3-zond-accounts/cypress.config.js rename to packages/web3-qrl-accounts/cypress.config.js diff --git a/packages/web3-zond-accounts/index.d.ts b/packages/web3-qrl-accounts/index.d.ts similarity index 100% rename from packages/web3-zond-accounts/index.d.ts rename to packages/web3-qrl-accounts/index.d.ts diff --git a/packages/web3-zond-accounts/package.json b/packages/web3-qrl-accounts/package.json similarity index 93% rename from packages/web3-zond-accounts/package.json rename to packages/web3-qrl-accounts/package.json index f53a530a..0ca39a85 100644 --- a/packages/web3-zond-accounts/package.json +++ b/packages/web3-qrl-accounts/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond-accounts", + "name": "@theqrl/web3-qrl-accounts", "version": "0.3.3", "publishConfig": { "access": "public" }, - "description": "Package for managing Zond accounts and signing", + "description": "Package for managing QRL accounts and signing", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -69,7 +69,7 @@ "@theqrl/web3-utils": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", "crc-32": "^1.2.2", - "zond-cryptography": "file:../../../js-zond-cryptography", + "qrl-cryptography": "file:../../../js-qrl-cryptography", "sha3": "^2.1.4" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" diff --git a/packages/web3-zond-accounts/src/account.ts b/packages/web3-qrl-accounts/src/account.ts similarity index 94% rename from packages/web3-zond-accounts/src/account.ts rename to packages/web3-qrl-accounts/src/account.ts index 5f82b5a8..1674db0a 100644 --- a/packages/web3-zond-accounts/src/account.ts +++ b/packages/web3-qrl-accounts/src/account.ts @@ -18,8 +18,8 @@ along with web3.js. If not, see . import { decrypt as createDecipheriv, encrypt as createCipheriv, -} from 'zond-cryptography/aes.js'; -import { argon2idSync } from 'zond-cryptography/argon2id.js'; +} from 'qrl-cryptography/aes.js'; +import { argon2idSync } from 'qrl-cryptography/argon2id.js'; import { InvalidKdfError, InvalidPasswordError, @@ -88,7 +88,7 @@ export const parseAndValidatePublicKey = (data: Bytes, ignoreLength?: boolean): /** * - * Hashes the given message. The data will be UTF-8 HEX decoded and enveloped as follows: "\\x19Zond Signed Message:\\n" + message.length + message and hashed using keccak256. + * Hashes the given message. The data will be UTF-8 HEX decoded and enveloped as follows: "\\x19QRL Signed Message:\\n" + message.length + message and hashed using keccak256. * * @param message - A message to hash, if its HEX it will be UTF8 decoded. * @returns The hashed message @@ -105,23 +105,23 @@ export const hashMessage = (message: string): string => { const messageBytes = hexToBytes(messageHex); - const preamble = hexToBytes(fromUtf8(`\x19Zond Signed Message:\n${messageBytes.byteLength}`)); + const preamble = hexToBytes(fromUtf8(`\x19QRL Signed Message:\n${messageBytes.byteLength}`)); - const zondMessage = uint8ArrayConcat(preamble, messageBytes); + const qrlMessage = uint8ArrayConcat(preamble, messageBytes); - return sha3Raw(zondMessage); // using keccak in web3-utils.sha3Raw instead of SHA3 (NIST Standard) as both are different + return sha3Raw(qrlMessage); // using keccak in web3-utils.sha3Raw instead of SHA3 (NIST Standard) as both are different }; /** * Signs arbitrary data with the private key derived from the given seed. - * **_NOTE:_** The value passed as the data parameter will be UTF-8 HEX decoded and wrapped as follows: "\\x19Zond Signed Message:\\n" + message.length + message + * **_NOTE:_** The value passed as the data parameter will be UTF-8 HEX decoded and wrapped as follows: "\\x19QRL Signed Message:\\n" + message.length + message * * @param data - The data to sign * @param seed - The 40 byte seed * @returns The signature Object containing the message, messageHash, signature * * ```ts - * web3.zond.accounts.sign('Some data', '0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318') + * web3.qrl.accounts.sign('Some data', '0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318') * > { * message: 'Some data', * messageHash: '0x1da44b586eb0729ff70a73c326926f6ed5a25f5b056e7f47fbc6e58d86871655', @@ -144,7 +144,7 @@ export const sign = (data: string, seed: Bytes): SignResult => { }; /** - * Signs a Zond transaction with the private key derived from the given seed. + * Signs a QRL transaction with the private key derived from the given seed. * * @param transaction - The transaction, must be a EIP 1559 transaction type * @param seed - The seed to import. This is 40 bytes of random data. @@ -152,12 +152,12 @@ export const sign = (data: string, seed: Bytes): SignResult => { * * This function is not stateful here. We need network access to get the account `nonce` and `chainId` to sign the transaction. * This function will rely on user to provide the full transaction to be signed. If you want to sign a partial transaction object - * Use {@link Web3.zond.accounts.sign} instead. + * Use {@link Web3.qrl.accounts.sign} instead. * * Signing an eip 1559 transaction * ```ts * signTransaction({ - * to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', + * to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', * maxPriorityFeePerGas: '0x3B9ACA00', * maxFeePerGas: '0xB2D05E00', * gasLimit: '0x6A4012', @@ -206,13 +206,13 @@ export const signTransaction = async ( }; /** - * Recovers the Zond address which was used to sign the given RLP encoded transaction. + * Recovers the QRL address which was used to sign the given RLP encoded transaction. * * @param rawTransaction - The hex string having RLP encoded transaction - * @returns The Zond address used to sign this transaction + * @returns The QRL address used to sign this transaction * ```ts * recoverTransaction('0xf869808504e3b29200831e848094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca008025a0c9cf86333bcb065d140032ecaab5d9281bde80f21b9687b3e94161de42d51895a0727a108a0b8d101465414033c3f705a9c7b826e596766046ee1183dbc8aeaa68'); - * > "Z2c7536E3605D9C16a7a3D7b1898e529396a65c23" + * > "Q2c7536E3605D9C16a7a3D7b1898e529396a65c23" * ``` */ export const recoverTransaction = (rawTransaction: HexString): Address => { @@ -231,7 +231,7 @@ export const recoverTransaction = (rawTransaction: HexString): Address => { * @example * ```ts * publicKeyToAddress("0xbe6383dad004f233317e46ddb46ad31b16064d14447a95cc1d8c8d4bc61c3728") - * > "ZEB014f8c8B418Db6b45774c326A0E64C78914dC0" + * > "QEB014f8c8B418Db6b45774c326A0E64C78914dC0" * ``` */ export const publicKeyToAddress = (publicKey: Bytes): string => { @@ -267,7 +267,7 @@ export const publicKeyToAddress = (publicKey: Bytes): string => { * { * version: 1, * id: '1b1dd3e2-ee6f-49c6-8a9b-a4722046582e', - * address: 'Z2086ea3853acf31bdeaa7d46f34360e8996d95c5', + * address: 'Q2086ea3853acf31bdeaa7d46f34360e8996d95c5', * crypto: { * ciphertext: '02383d4ea331fdf518651aa638d77f36de002f6b2cb340712c2957b68f927234a9c87f776e40b61227aca366bd4b7056046dfdddee29df22290939a1e96f5be5', * cipherparams: { iv: 'bfb43120ae00e9de110f8325' }, @@ -354,7 +354,7 @@ export const encrypt = async ( return { version: 1, id: uuidV4(), - address: `Z${acc.address.slice(1).toLowerCase()}`, + address: `Q${acc.address.slice(1).toLowerCase()}`, crypto: { ciphertext, cipherparams: { @@ -399,13 +399,13 @@ export const parseAndValidateSeed = (data: Bytes, ignoreLength?: boolean): Uint8 * @returns A Web3Account object * * The `Web3Account.signTransaction` is not stateful here. We need network access to get the account `nonce` and `chainId` to sign the transaction. - * Use {@link Web3.zond.accounts.signTransaction} instead. + * Use {@link Web3.qrl.accounts.signTransaction} instead. * * ```ts * seedToAccount("0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88"); * > * { - * address: 'Z2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + * address: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', * seed: '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', * signTransaction: [Function: signTransaction], * sign: [Function: sign], @@ -439,9 +439,9 @@ export const seedToAccount = (seed: Bytes, ignoreLength?: boolean): Web3Account * * @returns A Web3Account object * ```ts - * web3.zond.accounts.create(); + * web3.qrl.accounts.create(); * { - * address: 'ZbD504f977021b5E5DdccD8741A368b147B3B38bB', + * address: 'QbD504f977021b5E5DdccD8741A368b147B3B38bB', * seed: '0x964ced1c69ad27a311c432fdc0d8211e987595f7eb34ab405a5f16bdc9563ec5', * signTransaction: [Function: signTransaction], * sign: [Function: sign], @@ -467,7 +467,7 @@ export const create = (): Web3Account => { * decrypt({ * version: 1, * id: '1b1dd3e2-ee6f-49c6-8a9b-a4722046582e', - * address: 'Z2086ea3853acf31bdeaa7d46f34360e8996d95c5', + * address: 'Q2086ea3853acf31bdeaa7d46f34360e8996d95c5', * crypto: { * ciphertext: '02383d4ea331fdf518651aa638d77f36de002f6b2cb340712c2957b68f927234a9c87f776e40b61227aca366bd4b7056046dfdddee29df22290939a1e96f5be5', * cipherparams: { iv: 'bfb43120ae00e9de110f8325' }, @@ -484,7 +484,7 @@ export const create = (): Web3Account => { * }, '123').then((res) => console.log(util.inspect(res, { depth: null }))); * > * { - * address: 'Z2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + * address: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', * seed: '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', * signTransaction: [Function: signTransaction], * sign: [Function: sign], diff --git a/packages/web3-zond-accounts/src/common/chains/mainnet.ts b/packages/web3-qrl-accounts/src/common/chains/mainnet.ts similarity index 82% rename from packages/web3-zond-accounts/src/common/chains/mainnet.ts rename to packages/web3-qrl-accounts/src/common/chains/mainnet.ts index f132edf0..8387f63e 100644 --- a/packages/web3-zond-accounts/src/common/chains/mainnet.ts +++ b/packages/web3-qrl-accounts/src/common/chains/mainnet.ts @@ -8,7 +8,7 @@ export default { algorithm: 'casper', casper: {}, }, - comment: 'The Zond main chain', + comment: 'The QRL main chain', url: 'https://ethstats.net/', genesis: { gasLimit: 5000, @@ -23,6 +23,6 @@ export default { ], bootstrapNodes: [], dnsNetworks: [ - 'enrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net', + 'qnrtree://AKA3AM6LPBYEUDMVNU3BSVQJ5AD45Y7YPOHJLEF6W26QOE4VTUDPE@all.mainnet.ethdisco.net', ], }; diff --git a/packages/web3-zond-accounts/src/common/common.ts b/packages/web3-qrl-accounts/src/common/common.ts similarity index 92% rename from packages/web3-zond-accounts/src/common/common.ts rename to packages/web3-qrl-accounts/src/common/common.ts index 7d6f3579..9c278da9 100644 --- a/packages/web3-zond-accounts/src/common/common.ts +++ b/packages/web3-qrl-accounts/src/common/common.ts @@ -21,7 +21,7 @@ import { bytesToHex, hexToBytes, uint8ArrayConcat } from '@theqrl/web3-utils'; import { TypeOutput } from './types.js'; import { intToUint8Array, toType, parseGzondGenesis } from './utils.js'; import mainnet from './chains/mainnet.js'; -import { EIPs } from './eips/index.js'; +import { QIPs } from './qips/index.js'; import type { ConsensusAlgorithm, ConsensusType } from './enums.js'; import { Chain, CustomChain, Hardfork } from './enums.js'; import { hardforks as HARDFORK_SPECS } from './hardforks/index.js'; @@ -56,7 +56,7 @@ export class Common extends EventEmitter { private _chainParams: ChainConfig; private _hardfork: string | Hardfork; - private _eips: number[] = []; + private _qips: number[] = []; private readonly _customChains: ChainConfig[]; private readonly HARDFORK_CHANGES: [HardforkSpecKeys, HardforkSpecValues][]; @@ -110,18 +110,18 @@ export class Common extends EventEmitter { /** * Static method to load and set common from a gzond genesis json * @param genesisJson json of gzond configuration - * @param { chain, eips, genesisHash, hardfork } to further configure the common instance + * @param { chain, qips, genesisHash, hardfork } to further configure the common instance * @returns Common */ public static fromGzondGenesis( genesisJson: any, - { chain, eips, genesisHash, hardfork }: GzondConfigOpts, + { chain, qips, genesisHash, hardfork }: GzondConfigOpts, ): Common { const genesisParams = parseGzondGenesis(genesisJson, chain); const common = new Common({ chain: genesisParams.name ?? 'custom', customChains: [genesisParams], - eips, + qips, hardfork: hardfork ?? genesisParams.hardfork, }); if (genesisHash !== undefined) { @@ -178,8 +178,8 @@ export class Common extends EventEmitter { if (opts.hardfork !== undefined) { this.setHardfork(opts.hardfork); } - if (opts.eips) { - this.setEIPs(opts.eips); + if (opts.qips) { + this.setQIPs(opts.qips); } } @@ -354,43 +354,43 @@ export class Common extends EventEmitter { } /** - * Sets the active EIPs - * @param eips + * Sets the active QIPs + * @param qips */ - public setEIPs(eips: number[] = []) { - for (const eip of eips) { - if (!(eip in EIPs)) { - throw new Error(`${eip} not supported`); + public setQIPs(qips: number[] = []) { + for (const qip of qips) { + if (!(qip in QIPs)) { + throw new Error(`${qip} not supported`); } // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument - const minHF = this.gteHardfork(EIPs[eip].minimumHardfork); + const minHF = this.gteHardfork(QIPs[qip].minimumHardfork); if (!minHF) { throw new Error( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `${eip} cannot be activated on hardfork ${this.hardfork()}, minimumHardfork: ${minHF}`, + `${qip} cannot be activated on hardfork ${this.hardfork()}, minimumHardfork: ${minHF}`, ); } // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - if (EIPs[eip].requiredEIPs !== undefined) { + if (QIPs[qip].requiredQIPs !== undefined) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - for (const elem of EIPs[eip].requiredEIPs) { + for (const elem of QIPs[qip].requiredQIPs) { // eslint-disable-next-line @typescript-eslint/no-unsafe-argument - if (!(eips.includes(elem) || this.isActivatedEIP(elem))) { + if (!(qips.includes(elem) || this.isActivatedQIP(elem))) { throw new Error( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `${eip} requires EIP ${elem}, but is not included in the EIP list`, + `${qip} requires QIP ${elem}, but is not included in the QIP list`, ); } } } } - this._eips = eips; + this._qips = qips; } /** * Returns a parameter for the current chain setup * - * If the parameter is present in an EIP, the EIP always takes precedence. + * If the parameter is present in an QIP, the QIP always takes precedence. * Otherwise the parameter if taken from the latest applied HF with * a change on the respective parameter. * @@ -399,11 +399,11 @@ export class Common extends EventEmitter { * @returns The value requested or `BigInt(0)` if not found */ public param(topic: string, name: string): bigint { - // TODO: consider the case that different active EIPs + // TODO: consider the case that different active QIPs // can change the same parameter let value; - for (const eip of this._eips) { - value = this.paramByEIP(topic, name, eip); + for (const qip of this._qips) { + value = this.paramByQIP(topic, name, qip); if (value !== undefined) return value; } return this.paramByHardfork(topic, name, this._hardfork); @@ -420,15 +420,15 @@ export class Common extends EventEmitter { // eslint-disable-next-line no-null/no-null let value = null; for (const hfChanges of this.HARDFORK_CHANGES) { - // EIP-referencing HF file (e.g. berlin.json) - if ('eips' in hfChanges[1]) { + // QIP-referencing HF file (e.g. berlin.json) + if ('qips' in hfChanges[1]) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment - const hfEIPs = hfChanges[1].eips; - for (const eip of hfEIPs) { + const hfQIPs = hfChanges[1].qips; + for (const qip of hfQIPs) { // eslint-disable-next-line @typescript-eslint/no-unsafe-argument - const valueEIP = this.paramByEIP(topic, name, eip); + const valueQIP = this.paramByQIP(topic, name, qip); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - value = typeof valueEIP === 'bigint' ? valueEIP : value; + value = typeof valueQIP === 'bigint' ? valueQIP : value; } // Parameter-inlining HF file (e.g. istanbul.json) } else { @@ -449,28 +449,28 @@ export class Common extends EventEmitter { } /** - * Returns a parameter corresponding to an EIP + * Returns a parameter corresponding to an QIP * @param topic Parameter topic ('gasConfig', 'gasPrices', 'vm', 'pos') * @param name Parameter name (e.g. 'minGasLimit' for 'gasConfig' topic) - * @param eip Number of the EIP + * @param qip Number of the QIP * @returns The value requested or `undefined` if not found */ // eslint-disable-next-line class-methods-use-this - public paramByEIP(topic: string, name: string, eip: number): bigint | undefined { - if (!(eip in EIPs)) { - throw new Error(`${eip} not supported`); + public paramByQIP(topic: string, name: string, qip: number): bigint | undefined { + if (!(qip in QIPs)) { + throw new Error(`${qip} not supported`); } // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - const eipParams = EIPs[eip]; - if (!(topic in eipParams)) { + const qipParams = QIPs[qip]; + if (!(topic in qipParams)) { throw new Error(`Topic ${topic} not defined`); } // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - if (eipParams[topic][name] === undefined) { + if (qipParams[topic][name] === undefined) { return undefined; } // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment - const value = eipParams[topic][name].v; + const value = qipParams[topic][name].v; // eslint-disable-next-line @typescript-eslint/no-unsafe-argument return BigInt(value); } @@ -494,25 +494,25 @@ export class Common extends EventEmitter { } /** - * Checks if an EIP is activated by either being included in the EIPs - * manually passed in with the {@link CommonOpts.eips} or in a + * Checks if an QIP is activated by either being included in the QIPs + * manually passed in with the {@link CommonOpts.qips} or in a * hardfork currently being active * - * Note: this method only works for EIPs being supported - * by the {@link CommonOpts.eips} constructor option - * @param eip + * Note: this method only works for QIPs being supported + * by the {@link CommonOpts.qips} constructor option + * @param qip */ - public isActivatedEIP(eip: number): boolean { - if (this.eips().includes(eip)) { + public isActivatedQIP(qip: number): boolean { + if (this.qips().includes(qip)) { return true; } for (const hfChanges of this.HARDFORK_CHANGES) { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const hf = hfChanges[1]; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument - if (this.gteHardfork(hf.name) && 'eips' in hf) { + if (this.gteHardfork(hf.name) && 'qips' in hf) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - if ((hf.eips as number[]).includes(eip)) { + if ((hf.qips as number[]).includes(qip)) { return true; } } @@ -615,18 +615,18 @@ export class Common extends EventEmitter { } /** - * Returns the hardfork change block for eip - * @param eip EIP number + * Returns the hardfork change block for qip + * @param qip QIP number * @returns Block number or null if unscheduled */ // eslint-disable-next-line @typescript-eslint/ban-types - public eipBlock(eip: number): bigint | null { + public qipBlock(qip: number): bigint | null { for (const hfChanges of this.HARDFORK_CHANGES) { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const hf = hfChanges[1]; - if ('eips' in hf) { + if ('qips' in hf) { // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call - if (hf.eips.includes(eip)) { + if (hf.qips.includes(qip)) { return this.hardforkBlock( typeof hfChanges[0] === 'number' ? String(hfChanges[0]) : hfChanges[0], ); @@ -734,7 +734,7 @@ export class Common extends EventEmitter { } /** - * Returns an eth/64 compliant fork hash (EIP-2124) + * Returns an eth/64 compliant fork hash (QIP-2124) * @param hardfork Hardfork name, optional if HF set * @param genesisHash Genesis block hash of the chain, optional if already defined and not needed to be calculated */ @@ -816,7 +816,7 @@ export class Common extends EventEmitter { /** * Returns DNS networks for the current chain - * @returns {String[]} Array of DNS ENR urls + * @returns {String[]} Array of DNS QNR urls */ public dnsNetworks(): string[] { return this._chainParams.dnsNetworks!; @@ -855,11 +855,11 @@ export class Common extends EventEmitter { } /** - * Returns the active EIPs - * @returns List of EIPs + * Returns the active QIPs + * @returns List of QIPs */ - public eips(): number[] { - return this._eips; + public qips(): number[] { + return this._qips; } /** diff --git a/packages/web3-zond-accounts/src/common/enums.ts b/packages/web3-qrl-accounts/src/common/enums.ts similarity index 96% rename from packages/web3-zond-accounts/src/common/enums.ts rename to packages/web3-qrl-accounts/src/common/enums.ts index 779143a2..688ad7f9 100644 --- a/packages/web3-zond-accounts/src/common/enums.ts +++ b/packages/web3-qrl-accounts/src/common/enums.ts @@ -32,5 +32,5 @@ export enum ConsensusAlgorithm { export enum CustomChain { // NOTE(rgeraldes24): one entry is required for now - CustomZond = 'custom-zond', + CustomQRL = 'custom-qrl', } diff --git a/packages/web3-zond-accounts/src/common/hardforks/index.ts b/packages/web3-qrl-accounts/src/common/hardforks/index.ts similarity index 100% rename from packages/web3-zond-accounts/src/common/hardforks/index.ts rename to packages/web3-qrl-accounts/src/common/hardforks/index.ts diff --git a/packages/web3-zond-accounts/src/common/hardforks/shanghai.ts b/packages/web3-qrl-accounts/src/common/hardforks/shanghai.ts similarity index 99% rename from packages/web3-zond-accounts/src/common/hardforks/shanghai.ts rename to packages/web3-qrl-accounts/src/common/hardforks/shanghai.ts index 641dca44..508fa301 100644 --- a/packages/web3-zond-accounts/src/common/hardforks/shanghai.ts +++ b/packages/web3-qrl-accounts/src/common/hardforks/shanghai.ts @@ -1,6 +1,6 @@ export default { name: 'shanghai', - comment: 'Start of the Zond main chain', + comment: 'Start of the QRL main chain', url: '', status: '', gasConfig: { diff --git a/packages/web3-zond-accounts/src/common/index.ts b/packages/web3-qrl-accounts/src/common/index.ts similarity index 100% rename from packages/web3-zond-accounts/src/common/index.ts rename to packages/web3-qrl-accounts/src/common/index.ts diff --git a/packages/web3-zond-accounts/src/common/eips/index.ts b/packages/web3-qrl-accounts/src/common/qips/index.ts similarity index 93% rename from packages/web3-zond-accounts/src/common/eips/index.ts rename to packages/web3-qrl-accounts/src/common/qips/index.ts index 5c65774a..c2b047b7 100644 --- a/packages/web3-zond-accounts/src/common/eips/index.ts +++ b/packages/web3-qrl-accounts/src/common/qips/index.ts @@ -15,4 +15,4 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const EIPs: { [key: number]: any } = {}; +export const QIPs: { [key: number]: any } = {}; diff --git a/packages/web3-zond-accounts/src/common/types.ts b/packages/web3-qrl-accounts/src/common/types.ts similarity index 98% rename from packages/web3-zond-accounts/src/common/types.ts rename to packages/web3-qrl-accounts/src/common/types.ts index df28e7b8..5fbc5a42 100644 --- a/packages/web3-zond-accounts/src/common/types.ts +++ b/packages/web3-qrl-accounts/src/common/types.ts @@ -77,10 +77,10 @@ interface BaseOpts { */ hardfork?: string | Hardfork; /** - * Selected EIPs which can be activated, please use an array for instantiation. + * Selected QIPs which can be activated, please use an array for instantiation. * */ - eips?: number[]; + qips?: number[]; } /** diff --git a/packages/web3-zond-accounts/src/common/utils.ts b/packages/web3-qrl-accounts/src/common/utils.ts similarity index 99% rename from packages/web3-zond-accounts/src/common/utils.ts rename to packages/web3-qrl-accounts/src/common/utils.ts index 7c937257..a2c07c32 100644 --- a/packages/web3-zond-accounts/src/common/utils.ts +++ b/packages/web3-qrl-accounts/src/common/utils.ts @@ -49,7 +49,7 @@ const intToHex = function (i: number) { }; /** - * Converts Gzond genesis parameters to a ZondJS compatible `CommonOpts` object + * Converts Gzond genesis parameters to a `CommonOpts` object * @param json object representing the Gzond genesis file hardfork * @returns genesis parameters in a `CommonOpts` compliant object */ diff --git a/packages/web3-zond-accounts/src/index.ts b/packages/web3-qrl-accounts/src/index.ts similarity index 87% rename from packages/web3-zond-accounts/src/index.ts rename to packages/web3-qrl-accounts/src/index.ts index 677d6ef2..7ad776a6 100644 --- a/packages/web3-zond-accounts/src/index.ts +++ b/packages/web3-qrl-accounts/src/index.ts @@ -16,14 +16,14 @@ along with web3.js. If not, see . */ /** - * The web3.zond.accounts contains functions to generate Zond accounts and sign transactions and data. + * The web3.qrl.accounts contains functions to generate QRL accounts and sign transactions and data. * * **_NOTE:_** This package has NOT been audited and might potentially be unsafe. Take precautions to clear memory properly, store the private keys safely, and test transaction receiving and sending functionality properly before using in production! * * * To use this package standalone and use its methods use: * ```ts - * import { create, decrypt } from '@theqrl/web3-zond-accounts'; // .... + * import { create, decrypt } from '@theqrl/web3-qrl-accounts'; // .... * ``` * * To use this package within the web3 object use: @@ -33,7 +33,7 @@ along with web3.js. If not, see . * * const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546'); * // now you have access to the accounts class - * web3.zond.accounts.create(); + * web3.qrl.accounts.create(); * ``` */ diff --git a/packages/web3-zond-accounts/src/schemas.ts b/packages/web3-qrl-accounts/src/schemas.ts similarity index 100% rename from packages/web3-zond-accounts/src/schemas.ts rename to packages/web3-qrl-accounts/src/schemas.ts diff --git a/packages/web3-zond-accounts/src/tx/address.ts b/packages/web3-qrl-accounts/src/tx/address.ts similarity index 97% rename from packages/web3-zond-accounts/src/tx/address.ts rename to packages/web3-qrl-accounts/src/tx/address.ts index 3caa748b..57c1866f 100644 --- a/packages/web3-zond-accounts/src/tx/address.ts +++ b/packages/web3-qrl-accounts/src/tx/address.ts @@ -65,7 +65,7 @@ export class Address { } /** - * Returns the zond address of a given public key. + * Returns the qrl address of a given public key. * Accepts "Dilithium5 public keys". * @param pubKey The Dilithium5 public key */ diff --git a/packages/web3-zond-accounts/src/tx/baseTransaction.ts b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts similarity index 99% rename from packages/web3-zond-accounts/src/tx/baseTransaction.ts rename to packages/web3-qrl-accounts/src/tx/baseTransaction.ts index b6beba3a..8adf98a9 100644 --- a/packages/web3-zond-accounts/src/tx/baseTransaction.ts +++ b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts @@ -42,7 +42,7 @@ interface TransactionCache { /** * This base class will likely be subject to further * refactoring along the introduction of additional tx types - * on the Zond network. + * on the QRL network. * * It is therefore not recommended to use directly. */ diff --git a/packages/web3-zond-accounts/src/tx/constants.ts b/packages/web3-qrl-accounts/src/tx/constants.ts similarity index 94% rename from packages/web3-zond-accounts/src/tx/constants.ts rename to packages/web3-qrl-accounts/src/tx/constants.ts index b6841ca8..48f4b8d6 100644 --- a/packages/web3-zond-accounts/src/tx/constants.ts +++ b/packages/web3-qrl-accounts/src/tx/constants.ts @@ -21,7 +21,7 @@ along with web3.js. If not, see . export const MAX_UINT64 = BigInt('0xffffffffffffffff'); /** - * The max integer that the zvm can handle (2^256-1) + * The max integer that the qrvm can handle (2^256-1) */ export const MAX_INTEGER = BigInt( '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', diff --git a/packages/web3-zond-accounts/src/tx/eip1559Transaction.ts b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts similarity index 99% rename from packages/web3-zond-accounts/src/tx/eip1559Transaction.ts rename to packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts index 9b7f63bf..4f0da257 100644 --- a/packages/web3-zond-accounts/src/tx/eip1559Transaction.ts +++ b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { keccak256 } from 'zond-cryptography/keccak.js'; +import { keccak256 } from 'qrl-cryptography/keccak.js'; import { validateNoLeadingZeroes } from '@theqrl/web3-validator'; import { RLP } from '@ethereumjs/rlp'; import { bytesToHex, hexToBytes, uint8ArrayConcat, uint8ArrayEquals } from '@theqrl/web3-utils'; diff --git a/packages/web3-zond-accounts/src/tx/index.ts b/packages/web3-qrl-accounts/src/tx/index.ts similarity index 100% rename from packages/web3-zond-accounts/src/tx/index.ts rename to packages/web3-qrl-accounts/src/tx/index.ts diff --git a/packages/web3-zond-accounts/src/tx/transactionFactory.ts b/packages/web3-qrl-accounts/src/tx/transactionFactory.ts similarity index 100% rename from packages/web3-zond-accounts/src/tx/transactionFactory.ts rename to packages/web3-qrl-accounts/src/tx/transactionFactory.ts diff --git a/packages/web3-zond-accounts/src/tx/types.ts b/packages/web3-qrl-accounts/src/tx/types.ts similarity index 96% rename from packages/web3-zond-accounts/src/tx/types.ts rename to packages/web3-qrl-accounts/src/tx/types.ts index 8855f558..509e31ac 100644 --- a/packages/web3-zond-accounts/src/tx/types.ts +++ b/packages/web3-qrl-accounts/src/tx/types.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import type { Numbers, ZPrefixedHexString } from '@theqrl/web3-types'; +import type { Numbers, QPrefixedHexString } from '@theqrl/web3-types'; import type { Common } from '../common/common.js'; // eslint-disable-next-line require-extensions/require-extensions @@ -61,7 +61,7 @@ export interface TxOptions { */ export type AccessListItem = { - address: ZPrefixedHexString; + address: QPrefixedHexString; storageKeys: PrefixedHexString[]; }; @@ -106,10 +106,10 @@ export type TxData = { /** * The transaction's the address is sent to. */ - to?: Address | Uint8Array | ZPrefixedHexString; + to?: Address | Uint8Array | QPrefixedHexString; /** - * The amount of Zond sent. + * The amount of Quanta sent. */ value?: Numbers | Uint8Array; diff --git a/packages/web3-zond-accounts/src/tx/utils.ts b/packages/web3-qrl-accounts/src/tx/utils.ts similarity index 100% rename from packages/web3-zond-accounts/src/tx/utils.ts rename to packages/web3-qrl-accounts/src/tx/utils.ts diff --git a/packages/web3-zond-accounts/src/types.ts b/packages/web3-qrl-accounts/src/types.ts similarity index 100% rename from packages/web3-zond-accounts/src/types.ts rename to packages/web3-qrl-accounts/src/types.ts diff --git a/packages/web3-zond-accounts/src/wallet.ts b/packages/web3-qrl-accounts/src/wallet.ts similarity index 88% rename from packages/web3-zond-accounts/src/wallet.ts rename to packages/web3-qrl-accounts/src/wallet.ts index 7aee0a2c..96de2ea9 100644 --- a/packages/web3-zond-accounts/src/wallet.ts +++ b/packages/web3-qrl-accounts/src/wallet.ts @@ -23,7 +23,7 @@ type BrowserError = { code: number; name: string }; /** * Wallet is an in memory `wallet` that can hold multiple accounts. - * These accounts can be used when using web3.zond.sendTransaction(). + * These accounts can be used when using web3.qrl.sendTransaction(). * * ### Parameters * Web3AccountProvider - AccountProvider for the wallet @@ -31,7 +31,7 @@ type BrowserError = { code: number; name: string }; * ```ts * import Web3 from '@theqrl/web3'; * const web3 = new Web3("https://localhost:8454") - * web3.zond.accounts.wallet + * web3.qrl.accounts.wallet * > Wallet(0) [ * _accountProvider: { * create: [Function: create], @@ -88,17 +88,17 @@ export class Wallet< * @param numberOfAccounts - Number of accounts to create. Leave empty to create an empty wallet. * @returns The wallet * ```ts - * web3.zond.accounts.wallet.create(2) + * web3.qrl.accounts.wallet.create(2) * > Wallet(2) [ * { - * address: 'Zde38310a42B751AE57d30cFFF4a0A3c52A442fCE', + * address: 'Qde38310a42B751AE57d30cFFF4a0A3c52A442fCE', * seed: '0x6422c9d28efdcbee93c1d32a5fc6fd6fa081b985487885296cf8c9bbb5872600', * signTransaction: [Function: signTransaction], * sign: [Function: sign], * encrypt: [Function: encrypt] * }, * { - * address: 'Z766BF755246d924B1d017Fdb5390f38a60166691', + * address: 'Q766BF755246d924B1d017Fdb5390f38a60166691', * seed: '0x756530f13c0eb636ebdda655335f5dea9921e3362e2e588b0ad59e556f7751f0', * signTransaction: [Function: signTransaction], * sign: [Function: sign], @@ -110,8 +110,8 @@ export class Wallet< * decrypt: [Function: decrypt] * }, * _addressMap: Map(2) { - * 'Zde38310a42b751ae57d30cfff4a0a3c52a442fce' => 0, - * 'Z766bf755246d924b1d017fdb5390f38a60166691' => 1 + * 'Qde38310a42b751ae57d30cfff4a0a3c52a442fce' => 0, + * 'Q766bf755246d924b1d017fdb5390f38a60166691' => 1 * }, * _defaultKeyName: 'web3js_wallet' * ] @@ -134,10 +134,10 @@ export class Wallet< * @returns The wallet * * ```ts - * web3.zond.accounts.wallet.add('0xbce9b59981303e76c4878b1a6d7b088ec6b9dd5c966b7d5f54d7a749ff683387'); + * web3.qrl.accounts.wallet.add('0xbce9b59981303e76c4878b1a6d7b088ec6b9dd5c966b7d5f54d7a749ff683387'); * > Wallet(1) [ * { - * address: 'Z85D70633b90e03e0276B98880286D0D055685ed7', + * address: 'Q85D70633b90e03e0276B98880286D0D055685ed7', * seed: '0xbce9b59981303e76c4878b1a6d7b088ec6b9dd5c966b7d5f54d7a749ff683387', * signTransaction: [Function: signTransaction], * sign: [Function: sign], @@ -148,7 +148,7 @@ export class Wallet< * publicKeyToAccount: [Function: publicKeyToAccount], * decrypt: [Function: decrypt] * }, - * _addressMap: Map(1) { 'Z85d70633b90e03e0276b98880286d0d055685ed7' => 0 }, + * _addressMap: Map(1) { 'Q85d70633b90e03e0276b98880286d0d055685ed7' => 0 }, * _defaultKeyName: 'web3js_wallet' * ] * ``` @@ -160,7 +160,7 @@ export class Wallet< let index = this.length; const existAccount = this.get(account.address); if (existAccount) { - console.warn(`Account Z${account.address.slice(1).toLowerCase()} already exists.`); + console.warn(`Account Q${account.address.slice(1).toLowerCase()} already exists.`); index = this._addressMap.get(account.address.toLowerCase()) ?? index; } this._addressMap.set(account.address.toLowerCase(), index); @@ -195,11 +195,11 @@ export class Wallet< * @param addressOrIndex - The account address, or index in the wallet. * @returns true if the wallet was removed. false if it couldn't be found. * ```ts - * web3.zond.accounts.wallet.add('0xbce9b59981303e76c4878b1a6d7b088ec6b9dd5c966b7d5f54d7a749ff683387'); + * web3.qrl.accounts.wallet.add('0xbce9b59981303e76c4878b1a6d7b088ec6b9dd5c966b7d5f54d7a749ff683387'); * - * web3.zond.accounts.wallet.remove('Z85D70633b90e03e0276B98880286D0D055685ed7'); + * web3.qrl.accounts.wallet.remove('Q85D70633b90e03e0276B98880286D0D055685ed7'); * > true - * web3.zond.accounts.wallet + * web3.qrl.accounts.wallet * > Wallet(0) [ * _accountProvider: { * create: [Function: create], @@ -238,7 +238,7 @@ export class Wallet< * @returns The wallet object * ```ts * - * web3.zond.accounts.wallet.clear(); + * web3.qrl.accounts.wallet.clear(); * > Wallet(0) [ * _accountProvider: { * create: [Function: create], @@ -267,14 +267,14 @@ export class Wallet< * @returns An array of the encrypted keystore v1. * * ```ts - * web3.zond.accounts.wallet.create(1) - * web3.zond.accounts.wallet.encrypt("abc").then((res) => console.log(util.inspect(res, { depth: null }))); + * web3.qrl.accounts.wallet.create(1) + * web3.qrl.accounts.wallet.encrypt("abc").then((res) => console.log(util.inspect(res, { depth: null }))); * > * [ * { * version: 1, * id: 'ccb92c3f-94c3-4ca0-86a9-1becdb1855b4', - * address: 'Z20fd3c13848a14e2ec61a53492140c26034e3fd6', + * address: 'Q20fd3c13848a14e2ec61a53492140c26034e3fd6', * crypto: { * ciphertext: '9171df3615b852a8c899c0a86885fa2d932db27c17b212ee346cdad1be896736c32e48f6d8d9d2b6ff210d2454d2cc9c736147293dd47d4be0e104105599b11c', * cipherparams: { iv: '259d7d6b79c11d3f2e4b88da' }, @@ -308,11 +308,11 @@ export class Wallet< * @returns The decrypted wallet object * * ```ts - * web3.zond.accounts.wallet.decrypt([ + * web3.qrl.accounts.wallet.decrypt([ * { * version: 1, * id: 'ccb92c3f-94c3-4ca0-86a9-1becdb1855b4', - * address: 'Z20fd3c13848a14e2ec61a53492140c26034e3fd6', + * address: 'Q20fd3c13848a14e2ec61a53492140c26034e3fd6', * crypto: { * ciphertext: '9171df3615b852a8c899c0a86885fa2d932db27c17b212ee346cdad1be896736c32e48f6d8d9d2b6ff210d2454d2cc9c736147293dd47d4be0e104105599b11c', * cipherparams: { iv: '259d7d6b79c11d3f2e4b88da' }, @@ -331,7 +331,7 @@ export class Wallet< * > * Wallet(1) [ * { - * address: 'Z20FD3c13848A14e2EC61A53492140c26034E3FD6', + * address: 'Q20FD3c13848A14e2EC61A53492140c26034E3FD6', * seed: '0x1a3bbb0aa289420ef915059a093cfed7e92990043b01ba8b5407a56aafae5507576781603015f6db7d33920a4947a261', * signTransaction: [Function: signTransaction], * sign: [Function: sign], @@ -342,7 +342,7 @@ export class Wallet< * seedToAccount: [Function: seedToAccountWithContext], * decrypt: [Function: decryptWithContext] * }, - * _addressMap: Map(1) { 'z20fd3c13848a14e2ec61a53492140c26034e3fd6' => 0 }, + * _addressMap: Map(1) { 'Q20fd3c13848a14e2ec61a53492140c26034e3fd6' => 0 }, * _defaultKeyName: 'web3js_wallet' * ] * ``` @@ -372,7 +372,7 @@ export class Wallet< * @param options - (optional) encryption options * @returns Will return boolean value true if saved properly * ```ts - * web3.zond.accounts.wallet.save('test#!$'); + * web3.qrl.accounts.wallet.save('test#!$'); * >true * ``` */ @@ -404,9 +404,9 @@ export class Wallet< * @returns Returns the wallet object * * ```ts - * web3.zond.accounts.wallet.save('test#!$'); + * web3.qrl.accounts.wallet.save('test#!$'); * > true - * web3.zond.accounts.wallet.load('test#!$'); + * web3.qrl.accounts.wallet.load('test#!$'); * { defaultKeyName: "web3js_wallet", * length: 0, * _accounts: Accounts {_requestManager: RequestManager, givenProvider: Proxy, providers: {…}, _provider: WebsocketProvider, …}, diff --git a/packages/web3-zond-accounts/test/.eslintrc.js b/packages/web3-qrl-accounts/test/.eslintrc.js similarity index 100% rename from packages/web3-zond-accounts/test/.eslintrc.js rename to packages/web3-qrl-accounts/test/.eslintrc.js diff --git a/packages/web3-zond-accounts/test/config/jest.config.js b/packages/web3-qrl-accounts/test/config/jest.config.js similarity index 100% rename from packages/web3-zond-accounts/test/config/jest.config.js rename to packages/web3-qrl-accounts/test/config/jest.config.js diff --git a/packages/web3-zond-accounts/test/config/setup.js b/packages/web3-qrl-accounts/test/config/setup.js similarity index 100% rename from packages/web3-zond-accounts/test/config/setup.js rename to packages/web3-qrl-accounts/test/config/setup.js diff --git a/packages/web3-qrl-accounts/test/fixtures/account.ts b/packages/web3-qrl-accounts/test/fixtures/account.ts new file mode 100644 index 00000000..cdb7048e --- /dev/null +++ b/packages/web3-qrl-accounts/test/fixtures/account.ts @@ -0,0 +1,360 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ + +import { + InvalidKdfError, + InvalidPublicKeyError, + PublicKeyLengthError, + InvalidPasswordError, + IVLengthError, + InvalidSeedError, + SeedLengthError, +} from '@theqrl/web3-errors'; +import { CipherOptions, KeyStore } from '@theqrl/web3-types'; +import { hexToBytes } from '@theqrl/web3-utils'; +import { FeeMarketEIP1559TxData } from '../../src/tx/types'; +import { sign, signTransaction, encrypt} from '../../src/account'; + +export const validPublicKeyToAddressData: [string, string][] = [ + [ + '0xd64a1cc77db0e77b70ee2cd5bbca52b06dde43423e03d8fb9f76e9698d15111a6b6042e9e2757edff6ddf54ea4c9656c6d6354ad538f308a2be1e67f4d39feb7765e31f048cc3403dd967fcdd405f3ef4817bb7bc70691d7129f2e4a10a7fd6b050ce306f77083c48f97b984e5f8232cc17473b55adf92a1fa2a31b0fbde0dba752530a7a4626b863f6deebb05695ad788df09ee49da26771ff5278445384dbc74b487486741077a58fa6881814f0cb99a502d4d384cb9b78b0bca4a681a6de448ddd25b6833b744a80bd9632b4dea700e00f9483a7e272691a8d77e4786dd311b41ec9933534e1b1cf1a402cbfefce230eb76bc5061be6d2902a18e35002743359a81b4dcb9da657af0bb1429bc757e6d2e5791299b07e8e5d65168c76d0e8b8a723466ab86a2f3ed53ccda578c60317052a5bb0d25caaabd4dde849dafecb4cd97e9213f4c8a4a2c317fae51d7d3371062d8381c925c686fced1213c8d930f6cf249e1a5a2d7ec160df0d82c2c7422b3fb258fca2a8db0ed4218137167cfaf37b7d8cfa3573b5e23f3694f21d41a1da987db1fbbcb579987e1928150f478987c8e7aad4833f2ea692014b5902153c95ab438e12d0b4d2f1436971f476fbd85947189dc0d6d37d91e76389aa52068fa3c501357aedcfbbf7a776e5950654034f8368a3df5e426713f6eeb7ae4e2d3467853dbb19e0d850e61eeac4dd7a5c010b6748872734a3cbee90e2bbf8e876682a1d9ee174e858a59ea081439c711e64c05ae3640b661038e251c33f0b7acff793061c87e843aa8389c0dad50d3ce5c217f9c2b37450378c3642c31cff85a7231df6dd5970c7fb26e8016afb29b355331fde585f0daed5e3c36f8fa3250fd18831d770342ac0272dc59e95ad03902917afe3dabd73cff58f02d60f29cc60074999d1ff152fcd8be139eee3aab59a512dc3a7d50cf534229420d96c38cb4b7c7e8bd806b5abe8c7bd12e427bc74039798e7b6fbcb4f4ecd851015a1a8962b15e83d4d8a4794307581d8736130a15c522de42dbf0bc331ab52443b17f222f7f534630e9d20a0aced9876b1911b6f808143a1e1265393568df45e0a02ea53ab24039faf4cf176f19a110322fb71afbd945572fe367c77d0c1dbfec85a8731a2e39bd41eb9e44bf0dfdc1ee1f564d06ad7c1adbf196ef31f2bd0247c674bdf3b416121aa49079cc69b9643829d7ae05a7213d31b8c9d334b441ebfb96cae49791130676e83bad0af57d5ec22d4e3e2c2a0977ed0560567a5c852a4916a39a15fb43a35c38680f9d88d5268327b211c4af40e93a6a121c9907ef9ef5d3d545cbbe504070c0acceacfa6df8e0b444573ecb2229fe850f6b44869065f2fccaf838af7b20cc8093aceced65b10a665fbd4a8ea513229642269e9cb9f5a7428d1c4aec329ef28e55ab3b0fe2658318b8681eae65f201dd387a32c4713bf8f1982ea91c0240f466c772ce5d203bfbb51e335ec3fd807ad7bb93691328721d970b7dfbf1c93550670da8e87fe27c9b8954916e8681095452b0dabbabacdc0a427586855d46618f164fce04f9fc57d40a1326d3fa968bd28f069a03ee558dd4cc063c8b77ca2d3f35dec70b0a12ad54be9e9871c43a3850707a4188166860c337e6026338e6ca6d3e4467a57c67e6ed64de11e377ebbbb581ccbe8d636a763797508d2848a13db3246c5232783905007d0c8529e6224d7a7985c59f12b8ba1e7c6d489da4e7d66ef9b0e4d9c1d040699107d6fa957defecb7243e3fada84ab90880070e2c4e7b5fe26fc630a70ebe89f418c14616e36c4a2902e3fdc8a2597c73ccbbf39d9a530bde406ccddbaac26af94125b0d9daeacfc160056e9e935e31277130bf5ad379e41fc25c62a96000cd50eda3b3f7857e4e6e481a923046e40e889313fa96948535196fe96e346513a9527475a9dedf1664b65e8cc8fef9af8bee1e7cc404710515f7ffb2361b40eebc317972766a79e86d0c29f042d153d877961f5459228e486d06a6b05c0eae71e8f14433db14528e10cd069e9dd3f10fa0d0ba8240ade03aedd0b25f7c80a54dae007f0c7b60d3fed7e1a2e055e6e5b16ff10bbf853f9d774951d1d0c40b724e26b4922a28f3acae60427e173dedcd359e2af2b9e08360996788fab227597043777e6d9eff5918ce99ada8b117f2395d500bbfcb0c528fb0ec0c90e5eddf28b56a4b6397ba0ae0ed20c67ccd78fce12c90f5465f68c820cb5342c1613b46c60fe329df2a9c338df3cf53cb6e17f8b25a798062bf2af6750aa877c0477b4796679dbb7e276f87c6df6341085cf7e98d2d3135561ec62795b39e47a16440ebdd98258662ef59a3e8cb2c2e09b660eabb55417ec810102c2378547f2a48736c1504e5efe2560ea4f5720865f8634541868acca16ae7904c563031a5c1de2c07a3118a3bb01f3c32c53aeda2cee111afce49c663bcc80a26d93ff3daa24a12678483fc6012e8b03bb92c7581da64249fc9d9c04cda20579ba24286fa21b21e7bbecc0e6222446532a00d581729db8cacdbca0b19f18e04600fd24c450737e16456fdefd37ba35c98f2cb6b1b3c4d329359b1e877cc8673d65fb7c1fa63ef6313ca7f51af60283a935d63403f7ca39818065d5dac105e81a95590c15f1991c397b980515d70bcd307dc7f9d2915f6e02db06927fd87274a0243ffaed29443e470b77d3bd7d0c55eb7af0674e8ab2b7136f45df1483bdc70380c0c0afa49033bd242020a126feb019cd819b6bc51a77eca7b1682066e73fe2db3eb01bfee0fe425ec0e03e1de4ff836657240f5890bf747f8301be29fe69280fd6403cabfd6ef4b97333cc351c606da702bef947b03c631178f48be47bc55ad42b9eacb81becd0b5d5bb5bff131b83df3a1ef2ec17383e263ac7c7ee6707a09ca1afb663d10c0376bcd7022eab9b25b01bdd584435711d0c28b2a8012ecd2b6f76469471799ff4a9940d2a1c19cb1730420c3ae806aef91249ec5a4b685adafbe4b58f5a4ac805c9013bcb9b937f616df6e9028e3a8a1148df3d665efac36c998976bdd1742abcbd583051102e5aad527335a62f6f3847115937475e7ba3643dd41c3b9fb021f9a4e57c8880f317d59ba3ddc0c95cfdfcd87eace88b03cb935ce35b4e4f8a7fcbb3c548f057d78a830379794f4328469e7be857607a5ea6f21090a4d7aab7243dd6e4f731f9db911216bda4a7b2b6a671c11617df3c2a772d0e91b8232f01f89a3a25cefb39ff50140e6fdaa8b4015a150841231fee3943b3c853da72f1fcf068682afee972f586d4a3a2ff06fbb9b19cd3ef7be2f8f735cdf500c36e41f67740b4e03459073c5f80db6488b25c24263f5d0b57ebb798bd0ae7d720103c7169e7500b95cb63ec5cff2ec6d0bd0ba5f69b3635e124f6bde5332a873eb515c8e57a99ca154e66582394122175361e9ef908356429ea2a3c6c85c1dd351b3b6d957905636ed9472eacc78d2a80ee7b01af018551fa3b26a5305d1d0b39869c903cb6e8317d5f027959bf57cd8b79033e5e7921e4f1da4e1ba09f4149caf93286e1f03efaed4d9bdec4050e488b088830d974543ab21cf0bf7fce1012802fb0b7e2a2ea85137064238bdd7399e28360bdac3b16d608f3a43a67b66469313925cadabe31ff5f9726d8cd850324b', + 'Q208b13bde416DF6e4Dd37E0C38Eaf0A8E05a9780', + ], + [ + '0x7ebe91aa142f5bc260e1c737bccc46890c193e72b8310670a972d5c2ce647bd146d6584ce8804d52f1f412e56ee653e13beb63c8505e885c4b260d0762dbc5d8b151e86e94212eee8f98d02a69ea5618f17596a0f93f38751da6197fb68dfa848bc66896ca44281b5a5958c418033a43b8606938f77d8847374096c14aec283072f93d78096dd234b37d925c3aea97be95f83d96d4c183c738ad40e1ef82514dd54306f6fd200cee43ace14a8fd80e72088189ec4f2bbeb067607c8f2b1b7fd77ac474713cc428beaebc5ab7bd0c2825bc2d8d77903bd966204b4f87bc7df9eeb3eafebfe2f288ef7a743e4257de5837563c703f2c6b84e0ac7a66f92ba8fd08c2de9f5c81a108e60330a070ead18a35e39b109981b95ce7f3328666c10572a36a96ea342b27979191b3967f32038bf13942388b4d40d8ffc4fd919214811970567c8dde120807272af74165d6e43c966ac6d547c10c1f73db2c7835bae289667efbde24ad5510b5ff31755d4b71da9085ae44a644e1660f49a75b9e5e1ef7ca1aa608214eadd2c00e606937230a14d979b4fb65e7faa593004f478e3134861d93e7d3871dc1294ef28e1e4550fc87f0ff28db457716365a4f4b34787cecaaebd848cd30f902e7df85a11668baab39b8b4616418987fd734c90082b2d8fcc274412c171095c32466fdb5c4c8f729a4f71cb1862dabe89e9e52a2e065f87ef3d45ee4eefc0505921e1a987c05f5681f23bd3d4a571a186c29339bef27aca21ade90a3997afe12c50afdde466403956ce90deccb40d508c0675a68297d4b9ac9657454d4a4069a1b4e9d6d96e805555af1d46317428450417094582d65cd5da7a25457b926e87b18c09f3a11a2d544bffd0e6e1ee5ca6f8a05a53a3610c104ac4ddf62eba69cd52c970d252ed33d3ef76e9ccee18a10ad3134efd9da82a6537698a624f3ee66750bb8e9b0fdbdfac907399de563c5bda1275e7c1c35d34e066306cdf9529558b41107094dc718e5c33f89a28cbbb5ce438ca0e11a85a0ec35af8aa9c5a5094bc881ef4c86520703a83373f3a57927a129d3e88f3b55e7f90aa6d879aa657d6dc3e6c6ce648835029db4abfd675ac5209e6b5d18c9eb7ebc4a6c4c2bac7fb630bb3d88c585e91be9fa5f35dbbbb8f3cc6213f71aec195f31288a4e1b0a3911cc9c42877551bd39fb2623c9ad0cc705835dd97c1a28a04ece1d8e85449b2db68825c092cfb07d602c48b2459286b8f666ff66ffc54c9ee71ae231d0295bcdfab83c1ae9038e22f2fcdd189e5cab5880f56e2a726db4ba2c87ad8a1a44a6892ad99c3d007d5e380f4eba4369cfc8587de11fec82fcff3c91b57f05e62e6850b099436e40c642334958525d55170079e9662bbf70eb7e7e922a88e06621281e14b23869c0ae0df1526205531462993859d996ce573521c172df5e93ce4d5611f87cc67218705fd561073e792b74b8789b4c85b1c0a0dad909790ac1d1ab71abb90718956129f7f32e3f4db3f1ed43c569d65c465b70a89f39a4433eb5a5626819fbae5cf09d4d5c885584521e7a3511af52ca3d72804e56b9b4492529fa155c908eee332d90dd6d4b3c0e5c17872ba6cfb69573ef76661f16b9cbd10f8d03998a0f61cf467ad130391ef596b9cf5a78443aa8acb27c732fe605d5866b1679137cf9d7e2fa7ea1f7ab3e2b0c571ab91dd1dda7fa398e781f2c81fcf535e4e9a0341d3308b27db2413e3cfb0bac86ecfb9bbf123cac1e196ca478df0c14f5de41722f691281275c07d9955b2673047271816a8a1f17108db9784e71323c146d7b0dd21e450d7f66440cc45359e143cc3d87bd577e75e207583113d536bd1283b2db583c45e3d88b2303044e89a758490633043b1f88f1367189640986ef9b8687acb9996f1441cdf6553dabc104ae591efad4e02292ac0ee9652d769b0cb10255707bef0c6635b0d5cb2456520fe4cf65775f58250be8149468b87038d7a4098f74568cb1f8ed2dbb05aaa274cfb3dc517027eeca7e8ec08fe5e55e3ea814526ea59f0aa3e748acc8d1a5cb3f1f9141c3314539580edd9329bc6ef2b29526a236dc9a0b6d31c6acb4d6ffa9bad65e9d1eabac897a45f02adaaf387e9046b44ad30686b6fb004681c2979c2c483d3171bfee21ae01553251ebc955a635b2ec1e3404d82f0b40ebf6f57d96afecdc8801eabf0399c59a94d2c68bd31168681179be10b467a6f7d6bbdc9c7dce2badb07d08131c1e544cb718f19488179f27f8e36136adde46fb0cd4c95470bdcf2bd1ce1e9605667bf9a88868d65a5a3afbb6a033a2a2aebf049542a59bdc249ddac8491b514f4f0597d0e65b03f63c1e4655bbb67afd39c829cadbfbbc2bc30c07df35d6b2c33af7db49d1881ed77fbaad8fa193b274a2f4549c4b51e7c6bdda41e28b97e32486323cd3adac1b3d30360e11f79ee123024d2ce771f3559a4c74f2f53402c2a1744e8c801576374c3632fb73e027229237a2eb6a17dd73ac91bbb38436f5bd95e12205bb651f0151a5b6a78f09c1427cee8ec4300e35e60eae2a8462ca56f8eb8142a45f56baf2efb33fdeea5781c87324813583a32bcbe525a5ddce6e6c6b00f0a89dc46f9fe852ce8f4613cfb425ef51362d43e545ebf702fa94bdd667e012f99fd2ac21141e975b841a22a0c99897e5df5429b84ce543591fe4e23f6e073dbf2fcba2e1c15f8a248403069ef890950eda72ec02af5fcc4e792e6d270748a564cae949da0cea0dfdac21ac1dd05130e14c245c1ecc7170a896dc17cb2b2714fe490e628b3c405d164455a11a4bc30493696243449ddfddfa54f2d8627c829e5e11530f4d899586e5a27ea6d4b58ab883c03738540098475dc5d5129a2dfd223e55ed19ce6051cd3135e065ecc40e094ae2450534270d43922ad5a8a906f1d15e3f2ae5bea7955d9038729597169a59bec55906a2df631b06438eb878f2ca73d0dfa031ce73e7f2d16b28edfdf6fbe0083428c34afc50b9d6cc22d4014c69c7ead61f7046ab760e6f0b25dd8f5131a2d8fe6c0ba7165e6f369df539c91ccb769d745163052018a2754d0dd3c90817cb763858ceba519804c82dcf17c238d89991e6ac4d7f04dbb187e2b4200c3c95c8e8061647e22b2aab38a0cf0e8fcc1461b7cedf92f28bd2ff671eab90307e5602f918d6c46f676e63fec80a5f2e418f77aa2bead7e25c908be21723488b35e29faee3d64d9ca72b2aeddefa982cb64a09677a68b4c4d43c296bcbdaa6f1406014665e89d25e875621ec9f1b044b29f1294d2ec231154113bd3032d29a67bf0645e0f6568dc45c5e175c2477f9b058d132fc98d8a7caf0532a7d9e4595e50a1916f37320efbff98b0dedcdd53df9ceff014ccf47db85ac4f3e574681d9f6192db134a7c2e5242ff63231c171bc0a71473d531615f33da5dc3b89332ed2fd0f07ab47bad5291f6bac530bf3fe4c9612e73e04c94d793efa04d2f4f17df281a7297b5b33b03c4ce3f9ab546e866f35c6421a70da4d12f604066aa4faa2f788c72762e689b8080413460899967d20b9af92cbb1cd8561858a7009116d904863e6cb483ebd08ae18e6930e17f89995ebd34818f42ba6048adb19f9e0082b7680ec209a6f6da8d6df1ad735bee0b5a078f0b16bd54964bfdc7dbaaa0fc570', + 'Q20e0934142C8d04EdF630855729132f19C8A846f', + ], + [ + '0xdb403f989f30a2fa65f24bef8c53bbae67abcb559b44097098bb505e7b2363609756a85409681d71eb628631fa5df5681a029a8aaf781bc698926f0583942331bf453f047ddc23bc55550f40d7c35b6ee2853a61d509e0c46e0a01b85780c75f28aabb4e555cde8bd4afa04cdeb4a3494ae0f31eb040eaa9322bb6376b91e4062c538e75e206bc92123914c54f130eda1f934edbe201f7a046fe6c6c9d01e5ce5dc64a77ecbaaccb739a0c9fe372a03d9e1b84e646c58367f3f7e151f378e54a5f3469b02ee833c07b6551ffe8005d2ac81e5efc61e0184df5579b9ddd1ffbd8f8ee838d8550f26b476d6f58e2b53feacd67d6d60b0d9044eed39a1295b8980b817396a474375b366efbca7e5f019454f78c007d00c7bc1db2759a7a3a012f1e3753da3b9508913556fe4fca413beaf54cb8f9e9b0f1f0319582bd402017de09ef62394092f487b8707f934e882260f0e24607cee55c5b30410abd4c4b452b32362696d726b056afc797f7e4b81ee72ebf92d679c319970cb87bd11f5b4b808ad899497111f4d0aabb4307d85269f6ad2af26af250731c50e053a68d83ef2ea5f3eb56c395ce04e06281e559785305a3b589a54e7b7988b87632a5c46987ac3c60289dc88f56fd6fd8e1e1589ad55e863baf8dbe2049b5164566bae9a8d469222cf0bb868e2b1f2523a48586a0d5707a8dabd0e60ca4579a1d143f31b4bd803d0f12b3927e1f79c46200f7f0265d26c7e1329b7adb6baffde4b7655f36f88e81a502517b078ddac4f03bf8c48508382e4bcf23ffc3f1654b35b4d07d27d6d9eafb9eff06c8df46bf91e4eef4dc9c9149144cea1c1744fcf8f4d7295210e1c5eac8c5527f02917d9cdbb0b0579d6c1fa8ab6a1bcad2f47b52b2ad7a1116b080f4cfcb5c4ec36d35a6d8d84095541a3397751e58abc9be9aa19af8a49ce7621900be402afcc33f21dddadf2cf20ed5e557b143325cac9b376387f24220d438c2bfc505ea502220544848b734108d010422fbb4832c69609da9f3fc315a4d500ac93d297afe8a71d1a837f6844327f7dfd9ef893c29dd30e394cbd2d1469ddba0ea255f8d3a11c5d5dd09a839b4e68b9c37b29a0a05263e897eff3dfd5595e16f0f0965b72ed0ab107bea58766f6b182e37d93799d8fefd3dd960d46e074ce19fa55b09522b025d7fef70ac91a66337d59feeda32913d7156133f227424fe20710dab11fc935ac5ce97c30eb530f8b1cd1f1f8d062f192cc2e42dcc8025651c4eb2cd026b99b145eaee498ab5186ad59cf337a772c448d05e6cf8d05f49631818eb7010b71ae5aa0dd773f870ba40b6436dd10cc550d9f5cb0c8357240789aae69b3a79dbb8c25508e4623d2346e1b3e5150279c6191e2a36db492f8ef0a1fa50faa8ce6bde2cdc892d9f7a515713ed31e02472aa0447366be58945ab7468c91c05958bc5e31cce33d3d9a339fd15ffc2e39e8ebea1eaf8370c6b4d6b6e0f8d20046ff7fe26752745a82735350f2b9b7b4d05f5c18d5bc0bec3e22010943c9a262d658fd83bd61daa2abdc7dac89f670acc8b1182ba04ab912959e50c8c8ec6a2da12d8b1506809d4ed86798abf0c1be6567e046c5bfd574df076533a87d1a7d3f3574941fad13aaa0e8232f8040b5a37d39d1abc9b7332c00b934ccd9d8b52f5767cee93fb58bfc3b19004a7217602e288add3001af9e590553015264683b614d3c9dccb5f54ede9a491250cb6e51c9eb3b983abb971f4c523fbfa746bf6306aa4cb3774b596e58a030407d47afb92a431ffdca4c33a3c0176beb6d57907ec6cc9a79134d44d7937619e37dad065a625ea987d60e64847e185edb350562f8ca70e6e52ffe81a87dec3accb883c5fd73a0a50dbbedc5b2b4e5e05bb3b18348389ff71c90469bca76bd4b433e4227528010d045e025c38435551129a20dae68b12bfdf278e2a1a068cc2a5b84da4cb2324c57e08e5655785b7d5b82af62ffeaf3a6e68f9e6036009905936a832637cbee9417ef9be6b17ac0f08bdcd13900bf4e84a9cd3a546352a96ad0c3686fb43e65d294944f2cfc50eedac3db99e27c1dfe9b6769c2f0baf01cf46b3c913c0ec4b93ff6999eaca89e57ef0b7c58664175e8c9005540125a15f8a59fc608a5afacb18dd885982ff004123ab380a23ca410c0998b48b69f0db251768d8bbfb9f876a6dac47f0143ca78420c9af93dae7000b050d1e9fc22064e94852aefe345482880cc0f658027aefcefeb63f046346941692cb5fe67b5dbfde98f95b81540ba3973976e861db8c607d221d52d581e3f1dd6a252a8b36858e72fdb4b34a7cec076de8cfa95331b4d6cac895046135f850796eee5ada6ec2890e45fdf730023b76c5fb7f710455fc334077791f24e94be1da2fc153ebfb0f057746dd3e171273839a2b511dc2b0ee65350d7a4f11d85cfedbeeb2a085f22787216ec031a1786d49eb012c8feb2586aa41b2354804823b5a8ee62072e16f85b20b1d289aaa70fb42973b288321dd8d4aa3266c0e2114d05ddf3c8ec042c9cf4597b1ce13e1ab105a52298658e3ca42c68fe23ccb4efc82f7493d4688583f37841d1d308552c3898fec8c063a9156f7a3d89fddd44049a7add58f769baf8e6b602dff6599a08382f859ee1ecee9834bf2276cd30688cfd2a719d5f1a6708ca9a4f1d9da8cebfb98e05afc0a0179795596c0d070923fa25473ea07f9b36059689b9ea2f220f60f47a08ad9b4b53594dcd57d48c580423d2e7981ea662d70f9565a4530cb781120e22e4c6e9ae94596b3a565980204b5429c3e744d4080d7af8a2c6517288b7dc82620c9284d243b7f9db81ddf2aa0a2fefd69fff3b60cac64e13cb324ba3bbc229a03fbadc336e65f591f976c46502ed89d8c55f33fde8fa55ba79ffdab06a3df8aba7c0b0a834400cac7e6bf090d4d9a4a07f61c99bfd415143aff2f572766ba5e7344375da086bbefc55da251f0ac36983ad18c43eea02b4dc3428af89589d2dbcd5bb1ffd2bcc6cd2f9d428b8320743844f181fecd3f62475c7aa2456163ca0e9b5e82ec35d73b414de5e62b3006f3e522eb81ba09359bdbd2ddca77fafa19c03f15749d29716da39b7dd8f2beb4a2d51205e9c56bcc03dd896609459fcbf21206405766004d6f8fe3b557b886e385e4ee1121c8cff72895a878ab2902cc9f1f40fee422af71aedf198ee68113b6392f9fcff751201746b0ce4219bbd9e3e21f93a5e00780df5977363aa6b122dc993e6d08062f2b1735146922ee0814c2014db90f7c756409542bcc8651a49da5fbb4a9a016ca034af5f263e201e4b2e2f9113c2711d522f50ad271fa8b7f6f78a5a989b7f966dd76899875e4ee821c552602921ea599d05266a6be7ad816a98e8a52497626f4cff399b7d292d34a646169b65a36bde064118b9406ffdbae67b7a79532a3f8dd06507fa80fdaee931e0dc2007bd6e665a36d07253104af170296ad73544b9d2807fe6a942f90dd700afcc3b89644bea570f7b5acad62de55aa2da41e1508ed2fdc122532d04f20bee1716afe3bca76674a431fe73f7d29c56eb1e84b864155f27abbe9e8f4d856f55898c7d909f0d46c3335f5afeea3cdb91b488acfe7f8b1ebf56741105f70162d4dd73807e7e3f2db7ee243b1fea17dd209cc19b896e4eedb', + 'Q20eB07072ce4C33851b2b397468ea46BDF57f45d', + ], + [ + '0xce1a0f0c5ac286b95605d6814fe6fc62bb15b1b24a10bfe6302404577a54ecbbb73ddc730dc78cbfc3e56aeede7f71af054c024a2f29bba9753ad6db0fb7985780ae4cf8bc6b2df1ba0e36b52d29f451a84b2338e45415e32c3bdbebf5323a8e3ca907c6fed49b0ef51f0e56b6d6793625e879a554046931688a99253ae9ff0a2c923aff9879f1ffacdad57b786b00eead006464cc0c0bc77b4ec66f1c4b5d033922e816db7a5672938a66adac90098e4d606cddf5862a0b13fa04ceae099dac247a923c9d64eaea3ecfbbe672934cb84df386f45c5c532ffb2cd2d5e26a04404b1dfbf0dd8c8ff086e0608e554a9d2f47f58b2ee830e0fdb599af8060205aeb06656d6de047824a910d1f5a4f8e664937d0df3cdc29dd03666888692307400d1066bd418b9655086756fc387b6c360fe4ca6594e53a648864a2eae22e0df153f28b6f5b060d96c5c731a411cc8093131180793505ddbf43da5efc7def6f202dbdf75e32114e1e703cbc1d1c370a253f25ed4c96ecc5600738a95c35a233c70c50b38a59d3f2f988997a4174a20dcca6cfbfed10ec5e47fb1cd0db9450400a703f3a67dd0bd506f8de3d69503e5d8cbd3713f82eda75a8bc5477ee701847a43ecf4c080cf713e36a7ad263241b94a51693d60849486cdad625868563f4047b6aa584c75a21ce679d8d2346a6aee29ee405a69ece9fe60ce8afb7c02fe6fa378a337de03ec7cb64a518364707c04821e3f31ec2c77670015d920c3ac5da6523908ba578e7d667caf4a75328087f324e6182e2b0f9b018ff8b6beeb294186c91520f0987c5abc19c50c877ab3fe27a1c36f05376f3e50c4256fd87c4e5daff831aa912a9aafadac3271c512aac76d19aea4797aa3482f798c3db6106ae775fdfcf64a165daf7f62555a9b7311c938ce9075ab7d1722651826bd3b685177592ab207fc68a28ce9279fbc3e156300cda089967c1ff94c895ca084a59a2f7d5a4df5015ef80b4ac337a3360f3102cd604a7b1afa82974174becef1a95fca7177b02179306c6744cc4c3c90469d180ac08f810d7f25bef61b86dc3f27fa422dbb4e5f8c2f5e54938f20b42a2f72c4a2253e8939d3858e73ac7ad5ad52aec2de982f30dc7ab7f759cdd13ea6b56a9849267328bddba386f3585c78a330bc6110270891c8163d06f7f194d45100573452dd11eaf563e40242f686041b20254d0481d086b7801cd7c4e216cc8e3fd07efe326902dbcb892ac3547191b2d927e78b6cbfc9a1c540ae6161241a751d74ad3deb297b119abc44599a0baca10b54b26913457c029061e24f0b53948dc89616da4d57b955fe675e3baf19c9bbf7ac6ab57815eddccfb2f2034c06b568cea0be0e968b5524e8bf2727da84a194b581e16811b40285b0ba832240dffcb78a8cebdbe26aaa037228a37fc54748d1a380d9132b54ff0171e88ae9fb6ccf87688955b7eae75eaf79f5a9bea2dac274215af93f09b4cea375a9ee2d350e1e4f936e433d9009ce5c03b666ccbb0477d68d083f59b472490f6ae68f045209b4d7c9c464ec3438a91e5fc7425e79c566271cc6933b225991a0472e3615741240d2fe31b134a398ef5351d68aa6bb185785293f0470caac8e66b7e4a9dbd7c40b6a4dc4095fd27b7218a9bc1d36247fa8ff4cc0760955b51d31353a917a716cbcfe48983d32b1e27de0e88660e3d874d567ae8f02c0666090d94dfaf47bfeaf50fd7f2025b573d2cfa9f8a0945ce046cc4855fe2c3c38d756d3ed753c02cc1be174c21ff14e6468651726b07e8ca435a5946ed3479c1496b6dea8bc27047f62f4ccfcc72fb564f4306548f47165c6ee6f14e450c191d050d21a36db97018a23b9785bace0ff68f53af2ddf463913bdbfcdbf6b0134841867177459fa33a2da7c171f79bf8c091181fe440ae92b1a13251d98914874b64bb335cd317f376309cb62f1d21d6e758f61f66b8a69853d71073e8e379846fd007b2c0ccfecd73df4aa49dbd265c0ab3c4f410dac37453fd2b0f84f84924cca4072c23908b17b93aab1a43f5ae8eefa0be486af53fe729116e20e6b0bc2398f58ebcbd323452b60d8d6bd1514e5d6bd6ea151028dd4615f55506a4c83b88fabd1e55bf4af953a22685de2fb9cb2473b76d6088105862a740a07b69ee549b1c5ee35bc45aa7cc8f218e0e8ec93b4c8a70c1240f2bf54c55fa0bc2f73dfdba5f24b8eb45bcbb34f4eca1acd80e272aff2c6163c0c7c3442aa8ccfa60946f5bc37483660de9cf42cb8521d95284e491dddc7235ae3e5501951a8118216d4c1e1ea5f069fe08273c590861d8ab2631a545df7a8bd3600ed93a9fec458350c166620bb1746bb85066429821bb5c6693f4b65dca46abdc8ba1e3e0c303c1eff1815691150c8271d6eca99d3333ef79a1ac20abd518cafc9a366e4bdf93f7c9887fa37733f0da895fc9e6254bb52e854d3da6d19e15a2dc6afa27cb81eb168ada4221319aa7704543475f2c3f047dd376a7f3a44b8e7193d0a7a9be5cc0b39c958662adc9d817dce646c557c1ba2f3d5efc696c25589af52ac875804062924451aef04e94475057fde3525cec8b5c2028fc90c3293793c11e73e790b82db568a725bad33aac6957ea4c5bb5251be415653fe4832d39e14f704c43302ad8a80dd523ff7a99d575a80d5b9dbd81144d695eea6144318a83976ba1b73c439368b8e896f9a1381d8ef7549d5581f8310562a0ee3244540ef7a0a381fd48261ed0d5d51c91e69bd610c5c7563c781cdacf05bfd8d651e7236db50d4febea3107987ef6c136ee5cd571254f1b320d6e5c3777be0ce0264f83817c649ccf206ab10b907728cc4878bf3ee2233f297d54a924006e4fb8432996c31399a2b12f565e784c6833e99c0f3b307df756f9cecac6ff66ed37b7b5962cc2030f4403d3b8a995de1191912cbf9fc1183f6f9d6eb7df786234af0ffc6f24446af7b5b0cee501f5e8b7b7e686a6f72b59cb96044a6d41ac5f7961fc8d00c060c59b9c027e52cab4641597293a9290efc53faedddd437014a8ef5c4986e722e8eeae2367ecf5fb5b1e968894978f4e21115ed62ee91da468e1997fe3028e34d0810bf393b43618b4224f01915c55f4d02e42631f6b41358e6746b76576926cfdd2159abb960d522c6392b6c53f889e4530d12c09ff7bb4532819976341474c591db070fa39fce96212c140c8c71628054acea47085b224becd9d8be7efc683c991f6d3b05b300b3ec890fd065984390b2992cbf495099862009afe9d2c561dcd10bc784892a8ce6d761be6de9f17a4ea69ed4e398c549c4632256d4b34c1e9ccaa3a956dccba3a888351363d0089eb5015e4cbce8c4cc6cf60c7be3cff9aaf4763cd3bacf43bd966225053fd54c0d98af70b5b0aa6654834858988a02ee863f9679fb5bd25fa548fca87ad2fa36a6d57761d0b2985a51b4e9e4f6264438a0d606d224e8bce4ea6c6aaa5b0e77e92b62edf66711f4bf153afb7c5247cfe1f648e8d4f602f589200fbe9a40ceb5c82261d23b8fb87e9308b162aff3395861e0fa47b097bb6e29f6dc5789825d4cadc3b09d2e53007abf0a4fa1ceb0e504e4580f4d355ae23a508451e94b33e3377899659fbb8be420ecc29930f197befa8547d6f92ca88985816c1fc2eaf4aca9dd51a3', + 'Q20C6955e256842369460e4aC5516Fd5c9CfC2Cf3', + ], +]; + +export const invalidPublicKeyToAddressData: [any, PublicKeyLengthError | InvalidPublicKeyError][] = + [ + ['', new InvalidPublicKeyError()], + [new Uint8Array([]), new PublicKeyLengthError()], + ]; + +export const validSeedtoAccountData: [any, any][] = [ + [ + { + address: + '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', + ignoreLength: false, + }, + { + address: 'Q2054f0f00cB9925477DCd3Cd506dBb3d37742026', + seed: '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', + sign, + signTransaction, + encrypt, + }, + ], + [ + { + address: + '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', + }, + { + address: 'Q20618F56c422D34b190B9B49a636a3429B927A91', + seed: '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', + sign, + signTransaction, + encrypt, + }, + ], + [ + { + address: + '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', // ignoreLength parameter set true + ignoreLength: true, + }, + { + address: 'Q2046B4F923f908201Ab8Ddd86330b3228720D589', + seed: '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', + sign, + signTransaction, + encrypt, + }, + ], +]; + +export const signatureRecoverData: [string, any][] = [ + [ + 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', + { + address: 'Q20Ab9b8384f91B69839FDC0b16856eAeb508d551', + seed: '0x77eda0d9c08a5a7134c79973c8fa16a1191f21c29a85f4d913b8d1289d0d1c3944d63d11d7e1c35a51925216de64e052', + data: 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', + signature: + '0xdbbd812bdb43972e4b53851aaf80058fbff7b2badc6c4b4066553dc306fb5e33a7df7949c27652bd4ccd8d652f1ac1465f7d66bb7a1cd9d36c8c5797ae36674259fe436b128c3cf45c78dce17ce4b32a068e9d296b4ee2902384bcbe14f9f4a3138238d9841ec9c4b43ce8417e60cc23481ac2907aaddacb0c12d674c6a5c88de0ed0ef7f5572075c74bf57bb89c1defd09ecab92d5e4ccca404f14a714dea4e0d326a5957bad7d7c4d528f446230612082e6c6949cf551d85642b53df553d75695e30ada5c8613430497d4b3c0219c934e8faa51cd314ea5704313bbe927cdf2bfcefbc39c3dd86df132188a4c8ae731370dc9239603a838de5303c76ce970459b73d977f08cd08bac408f0faaab6af734918c6ed64faa77d2c1268bbac42dd089afac94ddb597eed82bbb84498ceea13c8aee3d09cd54a4b943981e7a5c17651fadae43b3ae57e36214961585d35aeaf1571f02e5239fa27a75bc057bbf2f206a15854759ed1d9f2cc6c0136b582e5986311c0c11cd0d8c4f2ada58b4d1a390ab6be1e5870b07780ffa3fd4b10e4e46d58a44fbfce1ae199c69e3bcd105ea1006ad1f644b2bed85e516a50385e5662cd33b17c2ff05ef54f3cc4b0b15343f2794d86e668e6975ac80ef68f3da89df2f5ad9b5c516c6a0e7b9a65b6f42e20642c4f2633f233d5da0b9cf994dff93ab9d82e6e37c60fce3458d5a300ce1c9233ce26f1a9bba94c029ef0c200990302f52c3d5798ee94bd7f382758603cece73f782e7db49df1064c101178759dbc3c690b6482970ab08550fc3a9e74125f1af9008f35f02c541d8d8a937882f00b3fdc650179b0c21c54b8974a770a68f833bfde16d674bf89564cee1b8054102025e05f9416d81f26cae846ae9d937d7c75050d41ee9ac79cd8f92b3df2cee8e07e15c8fac0a33e399e4cb84d6663ee213cd9e7807782f816fadbe62b1fef8129cd31c78682762b139f9712203197965f32290fccdd29ba780f50c5fc7e55986f566b541d3c393e3350bb53d60ee0c1c991aed9a8097ec6be70dadba33ce60beea886cb7daf9132b0cbb8d424a622608d9c5424ae4da35598ecf5a90707dc5b902f24ca41f1cc6e0de2d2246f4cc223987239505c47abaa41bffa8a069fa3c62c3ed0fce8853a366a59465c1eb82f0d3d991855107b6f97a9e34e0455ee813439e5783c471237ff736c3c1b2f34fd7df6ac957d2b6868183609ef3e57cdc90a2872c05151304f727186eca8bf4fdb35e73de68cab3d63c2747ea5e62d8bf55269fa481c939c9fb4c724ed3c08e25069fedc473838eac7679250ce8ee2536ed0b5f562ac3496d1eafaeb6995614ad2aea97810fa0f1112f6167aeb5b586618a11c55641cdff7b3fcab701165dbc74cda9e491f64ce21817e716d94c6f6846290e3c2d40ea05e056d54df237cbe3958d05456070aa29ced24de43910449f59ccf8b4eb4eb396c938cc71b8ef5d2018c2704ebaae850d3b72cc13fb1acc5b6a07527ecbc642b771006f198056f19fb7670ad86d049257f81d6d422694489ce02764b8698560ec14a10815383f3f1066af382305513beee5887d64091f1788a082939057457a9cd687d0a6a59b85b1e38d10627d17a60fd742b963bf2ed3d94c59796b782ca6b1e9ea903801fd069f517e1f8ecca272eab6c722b4a75ae5550b60287fe3f3697045671fa3431c189ebc7373384e26e0538ab4b36a958f6d082a368161a55c7f5ada0786ec5d3630c1b2eef4b98d571e9cdd91918e7e13020e34a0cdc22e6f6ef836dc48813dd2405b030b76fb83ef98182610ebad9cc26258c02eeb37a224bc294b41fec8d72850487d2f4a3e5b63d38ba56a3e28237ff5b83c9b79c5d0901165be0ee71216535ce0e2dc4ac2330653cc6e50b7af6c7957262067c9124b16009b5c9343a3245cce40dd472e1be5a4073322bd195daed7955e28c079d8f1267de1ae074dd507398df42248e8dbe00f9d8f125ca3f56a8cdc946d3ff283d3b0b9af25f358e64f94097d37983ee615aa7c8220abdf726e414d8f56a9e68419265789e38cb73185ad4d1f837efdb6ca599ce3b1b86714d2a2628080bf4e392ef6c245102251b8c4cbecaee7e4b483c9f3eebac593b343bca1200ad596bdf1390c0c36a362d5fe46a7a27bb0682232e97e9fb542263a66a65e10383b8254a8cb496ce8ec6c47f3c183083875bfb169eaed8f24de16f783b78db9d0b1b2a025025ff3fd5742d38481a57f177729d92e12732e7c3bdb8205e1414b249a0338f91a8c9468b911f33355e772c79db0ec65712edea6f4fe52cc798ffe718ed38142fa238e9e7250cc01482a76cc432f4a61fdc520bdc023141381a37bc982f74c2d0354b5e019d622648c079942d80d712511b8df9fcabf100ade7d4522099c8fa61352f8f5e70edb3d6c55b36f7c7704d541716326663fb6eaf0322a1743db3c56578c31aedc51d68f82d8cb77b66c9e9ce03154289894fb11ea36ec22ee1de9e5876fecdd3aebeb262f88e9c9f9384fc86dbf0eae309385ea231c98b7e04c3d9ae41438b147e46343277b21baa79bc1bd87314066528be6802ee4cad41d50a88169d6c09473990a6659711705526d6f544c271b5ab169d47fc4ae294be6dadd3409145ccf8266c032cd98337702d5d7d44dd305c53fb03d23682118603e99d9c289fd23fbfd443c4783c7556618f6795a2a210f595070087adf472a1c2843e8b6fca38880a90ee4a622746c860a85998b498bf7b0a44f74cb3967287b45225eeba66af4dd108a16277ee21d6509e70a1a3cd461307e3d9099b358047b2f5ab7171e9b0c4514614013fe35510ca8c664c363e0a004b880fbee385a079e43919149d0678b8639e991b11629424ee412ed1807d7407a391313e9349f454df66b96f7f4d208835ab3d8d9ad8190afc0754fbf5f8bdbb42b41e95eeb651728438f66723391294b345c256f5855b0c4b37b5dec77ebf9f0a6d16e795023d6bce19610e21ed888b78037c1293604fb788f3a7a14cc625f3d97eaf369c61b0affa6d17978ef1744a95d0553602e5c0232bff85b8c3ead49b0f22009661c8d9486de77f570c648e31c4d488c9625753a6abc884aab250d1c25b4dd01b31817440160a948cd4c48cfb4bf47f6c401d1c02a956286fd00d15f1c6d81798be778d8034f6fcea11b214d821aec35c6fd9ab0f9eb24093412fd452960c11bbf0130790aa96421f6d58a12d103b2e533be16d555bd6efb09eb0459fb192890cfdf14c9342c0388ccea15a57454f6f8d61fbe1a03601bca97c513b387a97177d18acd015975f0d7bfd876315fc550ddfb46ad89b7c53c73517fbafbdf0626b720a1e6a95dd8f0e377c2ed6dd89abae6dd52f6a4f9a8b0a2962d31db14dab338014bb5b0cda29fd31461a454e5a068984642efb943d45f57fca10222c86ef786a4014d5fc129af9708935d7a731c39f705309e4bfc333df72aad4c1fc0277bf7248f64d73a659e16b3ba265d859f999e77b10eb3ba9375b213a059ba1874494761ebe793925a4796378246174861a7411dc9e7204522cbdb851aebd56f17c6f6548a80e839e6f02a48e4253401a614e9ad316d01f6567fb8ac57a97d035208f6b5b6c001451be465d606db493b750893053414035069417271ea8ade58b34b67e151430c06ba20dadd3c5a3087fe6cbb0c36af487acdad85fe41ce3d5fc897c82a98db286b3b5192572466b5c1d1950b5215c6e56d01832b1dd25f444ef3d99d020ec1f7e34001cfcddd24e52d55aa1c21455bc158b60cefcd20e0801505af56aa8221aa1a83ac7dd188cc0458d76cde43aea36013519d8139194bca779280d8670f718826bc7a19e9a9d737185a5d1781d9345fc23de2b21a894be02e29d3712ae96f40febb21a1f502b52ab143dafae61dacca6c2bf9447e97352006807b1fbfc5624f188ac117a17a256387c01a2cded9d073ff5cab04a4169a168c595ce50af4fb6758dd166dfdffdcd8bec0149c5650ad68504e0459300f03e4296b2224355f59bf51e31a92d0102b8e36394bda5d825592af21bceb7b756a2de13fd15ac723f5d12d4409911c78b867af8d8c93bfe3b95c818d6c62b3045eb7fdb94df061798e315be5b18a0ccc4700b72083843a4098c3e3b279f6b1066f315546c36dec5c9d41f7a68683feed2a8d942f65c27cef3c03c3ad6fe18995433374b64226d4834c9ccc34373e9e4e9700b931a26a51fb7349135921160a982c4556db0845dd7b4db53ef80a3467156fc7968c24186149934281d498e3a06284ded4ac5d7ba692ecc5a2929287d3758401cc928cb12fb3c17f54d67dc5523008d414713adf571538f54703cd3d094e966f00b144e65868835a9a0016ec39c64bc3fa9f27d808a5c42d4bf2e201c20209518fd914094fa200cfbd106b119dfffe1ab8c21cee2359637b2cf4c48f622a5c0160fe4fd835c4b4b0b22b545f5700914671914fdaf1ab6951445944f569d78722f1f40b147a9b407a61656b9afd2ce72d460a17c46b9d26db86129591c2fa18ad699ea7c280d14d74985f18635d968cd433ef7788ef79f52fb518d70c7183657e8a44d86c675cd1befc4bab1a2293d23b584c9f5ee612c474e2acdbf17b5f28fcfa9991399bde5545422b168117ca7a8850199d3a225c467dac9179a270ad76436ea9a46585df8fd05830f4c4c2f5bad2ce87d4884491753b205097e4f6161749132ebf56cbbafafbb7008a8d8713007ffeb8f0f0f1ae4f12743365c01ad2f9b18226e5b29369677698a8036398776086eb492db51b60510294d0bf1016f90aee9b0b2e4d1f5c7b6604a3bf2ad5a53e6e3929b5d6618d795e335176a8de638f78ab7b91322e4088d52dde886ae2979508c4d0118585cfce2ce6a078fbd592c3b519044a45bb49fe80f5d7deb1da0f2c14762f32007a4b4ced81ce24d1377225e14e64829f6300df994c03b4c0741ab33482b8add3f225034a03f0fb7eb65a411488a9b42eb0dd214848238768817c9114b90b1edbd552a7841e0b835aa2b3ab7bab2f819bd9303d826f11e119cb3535cb78b0b517d954783ce2cd39027dc3fec1955e67cf3a67e756108e7cce31e020c0369cd72813eed21c92b796b75006d5a3dfaa0340b94ed8e128a64d2594835794ec28da3caacdb0dca481ab2a6c819f4fd0cf0144909d872855180e2aebcd9fe0e8c5686d9f53a0039fb6aaddbd36dd9b888ddc543f6fb5fff17b94c7b0a9f43ac8840089ff25604259bfcdec9663a1ac0c30c81b9906b8fc4b0452e78d47805c7cc47837a5b55db3b8a05d11c94fdd7d10d6d2b07c1a3330293e3e4ae1e68b7bfdaf1feb5ff5799e6954be28b3fd93e0cd6940062fab4321ada8def1136ac1936e67f347d32d53e977a39bcff90650810cb83ca27d1448d900f2f12e1230292fee7fc2527ec42b4f75404f593278f5bc5b2eb1952877d73b5f8ecd0eaa2ca49596366872cb95074f727e3054a643a58e6918ed6bdadaaa122c7a2f0c531ab81e02ec10d936a96f0467f8397be28338c3a4f985dbdc583ac91d43333944d29f2a1e5cda79fbab2f181376aecd210c7bbdcd4bd51df5010d00ffa48534ea28e170f2c510ba37150d9ba7ce0b03d0955dc1ed554baa04eac7de48b3f086df66875451dce93bcf282565407efd542b4cf340320e2012f4ef74f1daafa4313d128b396357ce5018986c05e7b2212d6a857af9e99fc1a2c1a37e2d6bdb5607e837d1afb8534f5627f16b093d09da12daab057e1cf38dc196650a79e02e9f8170ef9446a2a5cd05cd8d8a404a169a0b9b3b3ace06c59473eaf3cd8fa28df1c55f8214504f5595f22f6862ed1de42047e3e7454c2e46abf3b7e83d1c2f3d3a93819bfda60cba693714418f03c8ed6bfe09d5924e568979d8a61369ef8fb626ffbc0e0bf8012bedfbef31dec48dd395197fb3fbca250d16a7ce43a817e2912376e2414325451d283d64ec29bd2cfadb7955b6d60ad03a9b78ff8b95c4540f39eb02371de5e9f55234fe036951e8e48d28811717122d0832d1af310c00d694c2ebd87e94e5a268c26adb052e895faf7791da701f0430d212754c36750736c6b9ffb14b769ded5c3f1e2ed380ca65661214a97b5b6dbf5f1fceec10fdcc48b9a4a1c04bb66977a94df03f782024f979cefa64034982b4b15d888d53cbfe9755a7b51d18393f51f328288c6a5327a1fdb86741b3e21057a719162b0ed3b3365f9ff411407f239b422d278e462d094e66f304d1bfdf09b3826424906495e61e9199623afe9391b391ab5419107e6c16e37294fd0bb3552a3b020132d858135018b89670dd6ede726207e5883c6c27c4147b5518ba00a8d140693fe97f44d0c95fb98f1efd34b515a7a81c1d4dee1e8fc0d1a6daebfc1f7ff096d99b0b8d8df005f6466bcd7e87d83a9abbfff0d378c93a3a8a9aab0c9d1d9f71534375e607c86ee0000000000000000000000000000000b131a212527343c', + }, + ], + [ + 'Some data', + { + address: 'Q205f2Cd3c4B65a999Fabb5496D78c896d141B018', + seed: '0xef3a996efd6133a749a1cb9a15e7679adf68d240d9eaba3349e679969068e5f83ed6f1f7506eeb0d87e2d94f8ebcd914', + data: 'Some data', + signature: + '0x4a073fa43a191dfa4e9df04fe4a8ace3f87fa300fa12e24a1b75a04354bbe72bd3ed73fd9d6d4925a2e466bf2164f63da3a30074a801deb2abfb0dc4a67e1e9afff17d0fce39f63601ea9a804e3bbc0f5739508149e4b3b4ca21af040adeaeea62954089fdaef60167b60409a7cbe322ce87aa59c282bef9ddd920f9ee24ce70796cf2abb6e632fc0fe91b937be5d9f45245838f19e8bfaac1f180a943f3c055b534b0477845dbb3b1e4bf6c9aa66d8002cf62558e4873f1bcfce3d0b3c18b8c67fa6b24bfee293f6a85b0c2bdb50a1e6f62eff1d226bfbf95ee122c77325581efc241dd0e2a0839420f1162a265de4c4b084d357c51bd5abbdeaad4397681934095d7fc5361b0387f51cff4ac3323c6e433d8315c43838f5e8a874ffd3291f15616a5ac7c55ae54082b8247ef164b397a2beb822a5e4a00b80628f5b870ead9ad075afe19a61b1e4b656055299f7bf749060a1a1d84ddd262ae74189bace793c70888364c9ce1018e988b86fb3ddfe8417a2332263afdc945bb2e71f4f0bdedc604f828e3ffd848b61719b2511cf5494e74f98fdde48eed6e9e2b6bf177b36458b978024ad2c6a1e80d55115418d9a87941d061abf6e388e0d78aca3ae93b4e2d8c35346dab0fefab48f770bebe6e1f984a19aac7a303c048b679e3745f5a3a58670dc3b3e49b10434238a589dde687cecc1a130ecfc65b05717119373b95c1675c0216c63219ff1b3ab054b32a2ab839e25bf4cac1e6e208d59f097e28688a7092d17f3c0ee966af43ac740a9bf12a903850838a2a7e2093b97337782e86f1a0d35fa360058a6c46862c98f85df3f8221885378e355625258b45fe08a19a3c4d2492ac201086e6ece0c634f4a856caada6edf0879b72b89bfb49b49bab4b910b78650f885d0416d05c5174f9e6f9b42957512fc3348d2b8040443dc6e840a8cf1dd6e45bf20e13efc829a8ca967b122205f6a23f2741451a480ddc69abe91a8d9d0716a54810c242af998dd5a1ec2d5075db76b25867a267b9de41c11df3d4db76f09d1175b59127e304d2743554fc574698a71a5c245fc57c33ec927dd211f424e644af4298bc21bcc3026dc84153caba85434adc3c5eff4b8caaa8ae2fb506c689b290d1d1b435cc263e493f5138205b39527bf1d5899263dc3217964a0ce145c84a981c5e6f4899a43d65fbc37ea26bdefb79d9e6baa322851bdc9b88c8083d8d9699fc1a3bf80fdafa3b3f29e7713acb32a9993b57b11327df29af68aa76a8e4f89d3924ad58c9ccd801d715f83694551d77a5033c995415b33d256cec6a62160c92599a9f183a19cc58ce557bb8f259428aa2ab287d111aeeddfa036f2a47bde557ad43a1a4063220231541786d943137a6aaee88f5198ba9e2a42cfc0eed2fb48562f13752b7120139b50f42bcb8ab7f3491694abe15bea4b84474984b0742ac89b78799662f079bc9c56e5bb839e2494ce97df0992d7f9d0485120e0a0dbd5f487847b93d2b174d521c9ed0e37d61950db537d4f2270d20e825d4f882ee45a00b07fb40bf91b467c8a5baa7dd4ba433940ce049dddd58a71d62233bccb31c3f0027d13b349f9ecaa4cda4e58f6f9a913621d80d3d339875cad44306ad64c316b68728b539410d22614661f652889422ca64781e7bedf33a0930e69233c99c6e92d5185c6c7d089a13b038873984ae279e74206b268cea7704222bb4843255e977a3c375b0549687563a0e822f7c790796420c5297ff0f4bfc9fbbda97365c649f36852be9d231f58ae9ba80db3b87dc4b85900346c6b1d75079ac9b32d012a3ec8cc8e7d31c122a991d43d2795df6f44353e15bd17f08ad07ddd06b7a18f2ba643dca97b7228ab302f0b50230b66e1eb8afcabdfd88e95431b7e4d2b95a92655e089c54cdb26a0558db1e0b597383d431613e1282ff600c56805f3b32497c7390102fc59491639d98f62a9bc5b2701feb88c0e21e9a3506dc95dcc11d090fe3fb28b9adcb26ee2339b9eaa150e204b41f979e51f3d20da764c43a372f4ad020c27da8d516d7e5a360b340aaae992797fb74af4d1983b64cb9e2c22aafa0e295027088d75aa954f45b737c7a3a1eb300a104797a5dd42458731babf40314cfa4c0fbba10466e213ae97000f8af34160303c18733bc8b11c2a69a06a1cf5c45ce2e0a04848a7e4e995ae5f920ae090534a42282ec0ca94f44f841a7fbad9a5d1cc1d75613602d1c166ff6af7d5c79708f7c06cc078236f99f2d461c73fdf5c2f7f366665973d2711fe8c539d00885ee22dfff47b6431df15ead051cf7cb78d1dc08a6f53ce001b119cefb48fbf853333a65876323a8c2ed7f30cbd2d1a69c43c565b701f64e1e8cfd4cbfbc95b3d9461ee6e23e3e5d742287d655d81d0e658599404ee769547fd8ef7e9afe33f297d048e5ee6d6cefa063f67ce46c11f0fe41c3aa1412ae4f8f95a0933f314b60e94343f060e72c122aeb6c9a372842e17a46a59deb37a9066e6ead1a9e7527b25f45b8a144528b854bba4f89c57f399c87f85d93d677183430ec8efe6fe765ee70237c0afe5e4b90b368ad1b918841d0762d33a24bb41c8e5d5807ace97754274d08fead5f085d96d7252e773c74d059cdc8e208c85be231e36899ab20cd1c879a5af35fa7b47f73be1a1b5a8e804cb3af6fdb22a66e32b1e92e58cc6150815ceffb29f8631772e44a14d356349b3ff706443c2c3eec7f42cf94ac82edfea06bfa6aa3915085119d23b13c0e5c7967a7373a4dfd87210b04486788c579cf17f68c44ba3b2d41223baf823331c32fa8ac7b3ccc5ac31b5770b93144dda5c186dc5429820ffc0263e4e11372e3dc28384f2334487d35ac0a0b6940d1192937ab919e658f88d888745e7628cedc7b733809b7ec806b3d02c64d7a99862d41ed56e80b52e48c3818afb8d24439808a50a4c0a4350fe1ef07436190c12e6f892835b06018b0c6b997864e432b53536ebb35f783ac556d1f0fc4b356f960cd35482c67d9ec44a42dad35b5d734c87af8ab88200254282885e9a8bdbac5699bc6e8cc28ce416cc7ed85e1f96b3a5a29e005b250ac4a4647865d13435b680670cbc96772d625d0ad7d1ff4f9ebed5386dc78fdb367c9ef868cfe9a2f8c400c955e6c8249e6a4d54878c27af35c049eaa486ce3cbe60759d43f6cdb89ff93a67e1668b423f00cf528e3797b6910f8f3196798e923290f090953f3a04cf4627d74970cb62bb9e94446586052317c5a1b9d00fe6316ad477116ad24bec19b379cd5d652a20c4d903e38d4db33ccb79be6e07dd6dd7d25fa92961e155e642462d9b2ba41d3a04f69127f14569b7010a40804f2b0ef3e3dbc23184d97a5b3a5a6a9caa2f5cabda9293e9262c9a94033d53bf623fad6f8a45c72f913a5416c96d0558f12dafe8221a075d38db630749b69a7628cf72338c47e0268fb3f24766a777b8df8f92b9794549df3067bd2a452d34eb55ad91b50089f1318569deee45d9b1b0570153626ce8b14739e99d0e10a914191d74310dd4a4714ee2219a0f292b4fcd1decc7a51fd542ba4e37be86980ffe0b69bb4fd26c5eb4d82c9e9207ab083b06c36546ccff6785bdaed2e4b7372db02f833b8707987cfa4fa8fcea4e66e77be9f56e604e5efd1f95a3f79df8c9fc8fbd71228101770f3f262d7a2ce7ae07ae9df77f4d7e4b712b0c5dd0acaf13cbe33723ba1fb60caa53f14ad7c175c32a928af24118c9d7b38921970b9c55c4b99a3d75ddad15c5779ee57c05b7b1b747224c6e948dbec45a9c5745e106d8bba5ab80f9209a31f3cc8d194f9165ee7249dcdf282922d0bdee1eb787400c4458c152e35c5d0df749d430dfd1accfb1af91e444795a4de21be3a27a1b5f952f4b121d519cb682ce9b8d333468e820b548e55f1ae7445c73ed12286dc059774912124d2010f0706b002e3de3cd35425cb9f008a102ac86d349bfb02b0a790696193d944b94220d580b573dbd39530994f78c24ca99687b158f93b1b6549a56ccb7dd7dc340a2ddb21b045e33210a609884a88a87fa9125ed8bab6fb439b708374330e0231349d5d0fe2040c965facaa6ba0320fc064103da50dc443966ce98213a37adc4c56fd6bd5c1af5c4fcfa47921c16890cf29f44a4773f429da77eacfe5b9659ae3362deb33abbabf73b931a5b7716f4025c6b7996dd1f1aa9cb9610078466afa392c022e397f0c2232665145017178b7e188fd2a788e8d7e95bead0c1b6ca893ebc6a1714d79761b5983890dc7c84aa24a9c1882e90e9aab9d03a2e2a425ad9fcde3052e1d8647d600a13d0a0642b321c8dec857fcd7b72863bc46af88f62dc7b1a965c13d1321e80089186b3fe2406ef5a85e3ac3cdc738b14377e6acd7908c7ab91ca24a3896173512bf5d1faeee979ae11834f51576a007895293437143013c43eb38ac8ea7b0461f7765cbed2b1f186fcc29d5bcfa561dc43b8104a009b491033aff3bbae4a9946a5526da751e9e4675ce456f9066a18d39d1cf5a28d1295cf7ddb2d3bd75cb76b8cae004145a0bdb4cdf9d9a3352f163abb25a9f17d19aecd14e72c6021529cbbcc76e1603955f08fcc861873515d65b76cbcda0aec17df22a8e626f0e4fb1c4e992279bb43575bfd3f9568f5cd08905a187ce6db1bd1f84c8ef51ff01fac8c9f6f8b6521f805a4e3a73be440f21f75479dd19571a6d5e652b2e6e91e747dd25c7fda39435c7372cc02fc382c0021362dec107d8bba9e30692dca80b74e42c0a4004c9bc26929af713d9520e3b83a22388100bf039ffbd5ac38fa91c481889fd0c41b76029f0123aa64c9e7a411247b0ab43516873eb9e1a1139954b1f87e15c023a0dc7173e32792dc8f5852e72837177ba3f7cc6cdfa9fd78fad65ea08d77b77ff3b959db4cff3067b63ff72334d5c213e7f5e5ba996393566fd0f9416e0a848bd8fa87532b51ec8187308c68bf925a836c7122b106bfa4498f308905b27794dab8985ea61e75d5d91a45f30aa303611ef4e501b8238e89fc412c5f51071551efd65417e488f49a8d901ccc10f9887ede417143bdeeed8ad1df40b37b04a92392b0f729b72bf48c88996c225c1822464108a8c997c1ddf2c5c7c8a23de2b343a7ce747608f721e6edf70505d2c9d481a597b32105886cb7bbb1b4062d3189a0bb44a16b47862874252b1062d0e8405b262b2f80232d1a267846d62ce1304d4ed88185b8d67293e092f06f528bc48a1bcf65c506fde8dd147e1fca73ef2a37b3c5eeecb582d1ab7d3ddebe8a5f981482111a9f25f795c2624479c1f4212b13b81415cc25cd9489990a6478f1103dfbf65f878cc9a7c359de3445bc0b3dd232c7115561cba30c29f00379c8f4c996bfd37ea9705f3a30018388968c7e6860d511010fa5030535cd072e37e2e65b073280278702a37ab0a728b6fe306aaa3189f44caf24530cb415694d80eaf085918ad84c8ac4dd93a9084bdef253a385a5089bb5320920c96b21d760bca35b513fbebae549929f43191fbd04170b652cbb432f7fa986d0ca48f2bea087528a8744fc151e50db5b8bde5e07cd6649b99c816b106fd4ac59bf22a79c41c2978abe52d73201ac73fde6a8970b4f8c46f73f34d486523a490442481d8e7ce0b4259ec34df68aedfeb1da930b41f042c12a25aa03f2670c03aa1e95758f63d4f6ff3d40138fe4a195bc1030b857506a73e4beb1a477178d876be302ab05849d22578814c0c2dd478234373649391c77514e08caece17b23b6b31377a8108c3180846b3d5cad20990af2158151dc6932083b789912007ab90d6131ef7c6ca0482e732f0a09f97d40e58d5118c7ffc417b8da47b3aa93452448199cc13f97628d68d4e82544a666e52e7c13b7a5416367969915186a53d8babf483c877349028ab6422ae78081cd7ccd7b1e45a5078f3244b05406b0a51a84fcbb168bcaf586bea6026162c000f24448e03e73dbcd7d46f9e2621a39ec336a887f903b10aae33f1917a0b127f2463ece34edd9fdb921cb5090fbc542203a875d86b3524122738a2973550d0fd0eac9cd56a4447097d62550fe0fa8cdcacf7bc5c45744dc50ea495bc4e7f5868207a31d960d825d5a75d52974262d7aad5120fb8b29fd1567205a85aa535e22cc24d0cbbb0f9c8660626e0f987ae8b52e639ce2157a3c468f22aa4ba6c2cfce9eb9e7cab0c173257e2eac2055915d74009c68445ef32c9a69257daaaf9980482261121c9bba39b7164a01cec1ae9825d5e6a2cb65313ace3c119e26cac2801465d61153ca025c6b785122554affae62109ef774ceee8472b20104d61e888adae84fcc6b68f2f4e81195f64f1769ff5d45f9392c0b900f727de408b53b49841ff7d840dee9b6857fd8b6bc9082f5c6074919ba4f4fe20267690d6dcdee907102a3885c10667b1bf1a5f939fafd8d959759fa9abe502172c40c9cadb4e666f70818398b5b6dce3f00000000000000000000000000000000a12181c2329303c', + }, + ], + [ + 'Some data!%$$%&@*', + { + address: 'Q20fE39238877509b60DF7e2958bdBc6f88398F1a', + seed: '0x6ca868b6b469e210b079f6742d2e149b6db46f4ed416c11f5d9636e1bd7f35f14d5b5daa84f0a69e54052bcff1897ba2', + data: 'Some data!%$$%&@*', + signature: + '0x3ae41db8f5361a6bb6da1367413648e87d060f5b766e7313c2b20fe8b1aae6b028ea7a327386758cab331e38a3a8ebeab2b7b9c3d17ab098a048c11187b75f25c9c7681f6e53e173f45c17738a5bcce23604e148e46ad1040d1e8afdc3a42dc539d33ba98ee9d4df0adacfc08bfddd546d624fe0a399492218429887e3cfc73a1b472e3d8cf8c770e23bab919fc246f1485072ff22a152127f9789a0459211076b261409393d0c9aa0d935953f5c7cae3a711445c216c44ea1f7b2e3207ccb7813f594d71f26ae9c1675dfe75880e62deb54b8fd64149455a6a5019e5ea04ce5863792615b84abe8c978d1230b131e73b83329f714db930e04f6620ddc7d3211a05c04cd04722798c9e011901c099d34a96b38149a78f21200552d7075d56cf3429898daee44a13191fdb9cb1043cb41cd13940150d72bc2cf1f7db4323a63789c298984ba28ff354e9f1de8abcc82b4af84cb0a299b75f56b137cd3b6e5c6966b837373c50e9da81cb26fd18725579570b8b1e7510838b6a93356d785d336c82e24d47c0e8ad6d777497b0d8dca8238e62a99b2d6b1fd3775109037934b877771f6fa00d76617cd430c1e961290991ccaa3bce8baec77d9c987ab3292a514d21af5631263ea7fcd50a8c2ece9ba26541ab40c9c2c31eabf4d73ae73541985010e46f785001733da6eedde7e6c3f512330014cb9f67f30d4edee4f08338cef7a329877d3abbcb38f36e44f0c88baf517819ac9027d8cf0493c27183dffc05ab58f7299bcd460c393df9fb2f27d9a36552963de70ab176e12f5dac4f58af7b04b354c2049473cf5a67c6a15ece09f1f99e452f01cebf48982e2411c7d5bdae6f6cbf0dd19f4d1df86631624b4a1012f1bd1ee3fa71d80ef8dc2ebcfb9c3d5e4ab431cfc2a6739163c5c3530fad5cc299c763cf3bdc5b9e86fc277d6519cd5ddc34f495a32ba7b6cd4409fb26854de17531d0a05d02fded9ad1541fecf6e1b23bf2a91e283f43e4f4818901116e7a8400945f6bca28480a58f4aa193e3129e1418e594de7a6267d0430ba0848465b4a191cde35efb367c3b08bf4d2d0b428bf973988ffda357c515181f3251dd4eda96b198b7a888e5be515a4ee6a55ca5dbe0e40deb7bf75b15df308135c1dc5c3432ddd141ea79746b68690b79d0e623030e1552e98242f443baec376f7524fec3b97c241e12cf8fdcc05af35aeb970b41e6cf31d1e618627ac30e1960ad5eb1798d11c0e5c628ac5c1a46d58e6d1290615b7d084412e2420d5f72f590499fb296a518e1894e4e99ee2731fb83891908dbffa49c0591e370a7fcde49e5cb7338c60d764455dd92f481ec6734f7f010d95e22aed3dc63dc81461ecb2e124893f1fdd9b40649100443c2b99aa828a3baf687be03e889811dbdd6d18240379eee75530de6576c154f4b354f0cd295a9af27a8319d88b280a6dc46eb74370c2642bd67f275d7d2e0f68ed69f6358f812995eab1e109566c4e1f5883819f5f68973572852ab397ded832ba9651a67ff16e913b4c92d0b2df78c5eee40277e9e1d0ea5b8fae08f380c9094352ea8e852b46f5f2f7de065b395f4591aa1dabf36a17745a89c5929744d394e2c0339b0bb07c1f1c2c7e358c55673f1384bd733d707648086a48bdb5e6921ab9ed9eda4faf3c739b1548d7064b9bc409a2d0c9d9292110fc498c9b2a5079e22f4b4cdf64c252ccb211d2b635415ebc06220ac91e5cef69c99bcf5459e04c8ddd477d00df4b1da50ee1a460b6c25de81b71e54dd9b5b13667aa1d92ab042ac847da956deec90da7c65f5cb0d5b9469bc8fb72a85170a28d70f5109c342ea9cbe86c576845aa31e997e4b21be3a8999e3ab59b361c73dca43ed06ce8d097eeecda87a8faf816bf9e0e6ffc8c86bb12607ac2606389d8ea92db611561b079406ca34150334bd6dbebe52d6a1b045f98dfdea008af1a3aba1951cad750c783a15237e7d388aa76301b25daef1fe13994e53c5d6957994b7604b9e00d72c93d3dd57fb0c34f1fc0d7d2e01e34aed521c439bc0fbe2301b4f60277f0e69c6c086318e18b8dcbe628c3e81305460cf87f110788528e01e03b80becfdb6e7c54f6529ccb5da6fba8fdf4b84d3f9db3afff819d7ea04c0e99b9e9fb1dccd64c81fc508a9af54999e8972a9621c5c5ae704df79001dbefb4d1b3a2df860dddf57eab4b94cd85c6c6bb934a89cf5246793ac2f3a727b6b418b4940edad9c0223a046d72987f6c08b061a3076b40fda04ee07d93d4f8fb16242f69e65659552a43db90b941dbf8cf037ad5e420914b12b1059e35c78025398ea9ef6f144fe71b84c8f46865f595b1419184e5fec3a7ded761e93fc846980a656ad42ebd503d71019374e875d60df8319fce422fc458d1869164aef6c6be98f7e400607916904a7e2b24c912ce189a36d2a2aca3474fc90db823f9a7b54d6e6a6558c54e62489666b067a53b7b280e80ab06ed721b3975ddafeb6457563ba31549506602281c3b5a418b311ef2b830da1d5602c5f6dc65998a7fc54bfea07f91968ac23fa556a01cb2dfdf45f5513f6729bea6a1984f6ea869aa98f3dc315faf5f35e0f06a219adc772efa1009b59bc142e15b89261e91a6706ad83c4c794110d5393ceb60460a1faf4b53c89202b479ce707189df5f97ed85657ec55ac3705d1827ff39a3927edb7f48067bf5e61699427c3255d38b92b17f47946fc744c6e5f8d793a49352219c34943a9d0303277b8d336df3e3534ce28a071bfb735bdfae5b12a624ddd92c882cd5e799e61262e9ad0a3d5fcbea237ab2c5edada34e7d9ed9ec3e38dd84069eb1ac8f370c821f721e2ed55608d3566192a1c11bf3a75e27b073a914e14f3b8e1a93908d39d6aba8ab87c181e0c2c7cb94a6b2191b6009fa533b5349b96f6f1de0de804185a26f26835448013982b9232abb7e350f1911331de9e562741f4d9b56099e42cbeefc683d576e683f5f86267a28676293a8bfb91a39cecd00d4820e91498b241ac8d88e899fc56c52aaf1aab024160d5d80ae67dfa485cd24971e555bee9ef0e39fc04b8eb2ef67f4ba15b36c6de0cb9c24489f9c0f18fa8a842336fcbe54cc09b84a6c7177153a783c15e7dc684c6a96ef5a9827b613dc757f0093f2a63e18625f382b6808cd8b642c37f61f75d475ebfd05faf49e2970cbc4f663b772f40200a4ca1591fca358019fdd0c766be133a1cb2a1667898b973fea8e2e2849ca5465dfb92e3bba0d96b6063dae4bfb50c5c3b84601408dfe6a176d429d6a0363016911c023277dd28bfddf79644a27c527c61d8557800ee8dc4ec89493fc544872d12d842f96cc4fd5537b7b8cbe5a85d1ea97efcf98b0bebfdd49538f2463afbbd46c3444c72faef6d6344613aa4862c012f927796d138036da6f78921aecc184bdb7136938fe1e5682c8ee2957c56cbfd934550c43793179b662beab389bdf945351d1b6db05591e2e13f2b3c232c3ec074d395bb24c667933e8be24c2e49375fa8ade02f0e3413e352d25fc981fe82c2633566c1fdf6ca61ca45f2744f1e98f14b53d93b27d832f7feee32894fe403ca22f8b4ca87e6ee4ca9966b13a51faa59e489d380b831a5806f6e1219a498b032bee61f0af732e254928c798255c41bcdf64cf1ef668e6396eb830a4c5b42f190ba2b2377a8754b3b37572ce7a42d8c09757d366c8494b61b317e0abb1ef2c0b2d6bb7181efa981f6a5959de38c15def522a1584d6f6a90d351641ee933878b8c72bf7e96d15102a0aacd3cfa1e2bdfeb9e0d33b1e781a9c39ca7070b0370fbec61d7b80f46b65590813feaca8f83f0ec9b8fd5dfa1c257266d4e06645e1f0c5225e80d659e4eec1cf652573552a339e5aa9e1a0f6d8a5b277a4b07ac6bb192ce1334825164fdb74a1a30b1466815c4a32fbfb7bd740f2b00945e4ad6c94476204312de87caab20934f0cd601045d5902d8558d1084133100a9fea3400ded12f7b9b6d39e68d2853e58c862232b6d4fc721fc1640671f9c990ccdb37437514f0b7c361dfdf186b2d3cd58da2b6a4f32f66210e2cf0d568d8cfb79e5cb6255b828a9d0e8d8b316f9681330e22964a5fb2097ab47073caf41816eaf3ab0373ea7c0b0777d17e505e545adcd4cee8ef0afa485ffe02e2350f1b2057d3637a50f662f0fe1db37a44ddc14fb89e98e9388b331f9c65dc5f0054868e7ed6da1c5a24a909302a635246578a1583fa07d9b30daaedd4d85496cc3bbd0a30b92783bad911d41d6b6f6684d80298981c2ff2c529abedef0a46acc7df7549063902d29e5fc2248525c808bf4af929aceab2d505e85c4b0ec5317c6df377dbdc6dfda4fae4f82a161f7caadf32f3aa49e6fb58b53fb2a7bc45a07c23215f7da877d09d0e57a4a1f3664513bfdc08d050597cab614a001889110fb1cce9bbc1b07b5547cc73c23bb40200cb500df2ea01cac7632e6586ee0411f474aea524f1e13996a2a47616e7670ceb53fc942dac891d61cbd02df0dbaf6fc927e6a5ba106782b989e8b37123cec848f3e2219b598a9f084dea2041bb087fd06c1f160aea3dba594e95ae9adf6f4ba53b5dd14d6b14bc8f789f9a87d7d2f716ac0b41fb7ef0b3431400a03e1ac60a9d6dba2435fa3be5d4aeef9caf896b59f9072a3fdf9f48cb550c9d2e60ce7d9e6535ddce0825eba3360eed31574c523ba2dd12e12b7fd7fef4b8113521ef3e028e2c9c9c22479f69f951ee773378b59826f7afb60fb953157bfbc193b8ac4e25c3d4d89652776ecd5e3f66573e4a1d843d46e83e947f73c2dec63a0d8893d34c7ac3847a8eddf1e75d7e3f6d6a7fe30e02317725201af6b3114043c42a73a6613f25ddd3a1e3952d98c6744928535cceec2d48e223bc8e4c9cf9c1f1653ebc0356c33d3460a4ced0d2cb7c5818e8a0cd391897c1d4a14bb318024ff092a1591c0f500149f57808fdf7439856b7869ffc47ca6dc20531f1cbf6a3ad8c6687ce28a3733d680c66a75426271dd64f84e5c1886c87f32e1878d92df10b72f428546b4be34a2a550ee65abbe706eba2554c9cc5d37aa3e43df919bcd91aa5fdebd0f37297612afbe2cf90bd0238a6ed578b67c91322996f1a614f7a237fecdad80a02938017f639ec7faf79d399da9f4434bc8560a15fd465600627fb09ed276d06a1f24e49d9467be0ca2aff6252b80b84b41ac7c6de1f24888696915355603965d894cdaffe91fbd9a50186bd35285dcca977b4cb34ce1b2095cb52618ad42a68b2febb6434d2eca0b51f089268debdc41e925f08f6fdc7622678903c5cf93ad1f8eb790a1e572bcc82d9622ea3c66b6717ba2dca169ecc5b73a364b9ce714f313349cb621187d09c254be875b32a915249abfa7f14140103d84d923e848898a54161495d47f2d3d6aa8a59400adc79903f75a0141f2ec78b30b1d01ae2c18c7458a7e19daf44c0fb5153ef297e0c28fa05fa48b9fd93ce00ff7baadc3d49cfd8b2fc676f5519801d0c8bb9637ffddf4621aecbd22348d8b25aa973d68e81f776925961f92fa116f1610872999c8f982f2f4c2a1737a997094ce0edc92e66dc23ae17c4d9a075a2a895a36fe92e36abb211ec49e364dc05e25a8c6068b57b58eefac308f05c4f95c686241974e3182019b73652949e01c7aa12b1005986d67f9b3e4caaa4a3d9be61ad758e0f6bf128c3fdfd75dd70dd85b40a6200f3915dfabee762582f9764ec11311dc03394177440df3860f402b688f56c474f38ca675199583d6f7900ce3eb0181bd83db4fcd1888ee2c8cba0e2bdb6da0401c4b87cbe40f95f4d1f9154b3397d638a2fe5095071dc85a7b1044eab3950bcba13dfb4b183f32fbbd77df9a5684a363a7b86b049c4abf6b93ccf1397bbf9ef78ceb5139ff42343bab5fcea5264c5a4d8dd83c5d5bfca37ed0656ce3f0e476d1f2943e0b1be4b7d22a570a14ec9c54df11b757889dde5b3ea162b12c259f18b49c428d821928390a61ae70a4216077c8ca2aabd48e2f80e7a2999bfce4bf503fbee1aea784f9829715339152ece6fcb2af65aea460c50d3ac45519a8127e7b269bdc6df1f8daeca21ab391b321a171a023c2a12c5b62b72b7d511bb95ced25071f0dd82eb3863ff509d362fd2508930fb150cf86a24061f58f0bd0e7fdcb1be1e5fd8dab58225413ee7c2a653392887cc71163e662b798add4825ff457adc64d1bbdea7fd2fea4b1dca5593720a7f01fc233d47ee85647480a74786925880ddda0996bc39ace4564019c4482eefe01ceaa120e2f7b22b0a4b386da32dfc7b98e577423ee33d98413cc5bbd5d57e5152211dbc3612a2b972321e63aa7a2ff56bac1417a98821aaa419c2bf8cb916fb1388148c85ae7ac1ca1cf0a194fe174e2225a06268595b6bcbec1f6fc9aeffb295c85868da6b0b4e9f2fbfd0b162133353f768bb7d0f8173f01355b83a4ced200232e46517f8d000000000000000000000000000000000000000000020c0f1b26282f36', + }, + ], + [ + '102', + { + address: 'Q20f3531Ff6BdBbED17F5DB48d1129f5395011b79', + seed: '0x7815f4ef272b06985c8089e2c28ff8076fdfa9feed8cefdcecbfbee3d0b52cbddc59fdb1226b95292464567b9fca978e', + data: '102', + signature: + '0x66688fddbb49fb1c9de541b7bbf8815b96f36a6ef711411c026cb339ed3c96194e2dbba95b4e43ef5a049729621268953173f557ef42bb5154d4f06baac3ada396a6c584f2c9ffc36bde6d8ac4493d2c0a494fc9c572d803cdd2970948a870afc1ea1cf231c2b2cbf2022fcd4118df96aca6b25118030ec164685b164bd6ca181f80caef4e28cc5cf15c65398d42a441c8ecaf842fc85ea534a83a00cd959c998226c82b7ca853f67a6652fe13938af544040e0a6c0d8ff2f56a87d87f86dad805e579e1b9e370eacb301b4c86538322a468be1c747e9ae5a20d68dfc4166d378fc5cc32ed103dfbbba0a8e9c766fa70517d5373d83848a0c62a35ba2b082aae2b4075ca48b847d2dca2c27d28597182f74df5c4c5e3c15dd7f023603e4fb7074f3fd1d4bd840fb4ed671dddbbd48e7c72480cb502ecfb67482a6b5b59caf50e613891dd3db3f585070860d05dd000fa69e3051d90d04f4b55fe9de7d1d2b71943838513bb4c4e721af3bb4695789eac42b5b0ec42d02b5bbb0e2906ce93e403c09ee762024a711c92051d9b36f6a1c858e998489e83944f787bd1c9b748058a06ce88e15419b8724471a52903a75982635feaf3b6df7fb706449db3b6573ce1855f62e74f109da71a956689ca84f3461200fa9f13793a94df7331ac8258d59a17dbbc3181c9efb0202fcbe3f3e39f59a28535df505eb091828b0b398285d0b218ebc152068634c7af42c6dff92436a8b5852a3645077918be3e9061918ac6b492b9e28c669636a446cebf62b35d85a3096a8b88a1317f8192977435d70afbe084a6e5fbdf8dac2c95b0cff80d4062b449a22c551c2e7134f57e7c0163725c25beb47c5a80aff88b902d8ade248ae6b25620d8eb2b4d47fc8e592454e52002c72bf2cbb64103db07d6adf47a6cb91b69b4ebe126985685419eb51728f6aaa707a5c6e1a3d5f747e1162da2c7908a55bd859b59f795908e2f524553578930bb232a2ef2eb0b65e4ae84b7101838c041a31e8efd424a03fc95de8a29d779d6da6c1218388e1d94f8b12e11359624c5bf40e2e7c0a911a3aae4fba00018b09a0877d51f79098012db7264f10df23b5744fb71c5a69a2cf6b32bfe38ee8a321e5ae95f3cd3e5771b9095abc490635531a83ab353c6892f56d2f5e63d1d4c2fc33e6b40551efa2929365501dbf894ffcbf9f044bd0d6be17dfab60131c37849cd0cc76be904893d9e56942a36c2357ef72588e005568042af5f1babdccda625417bb628a2afa8a4a1f8ca40a4b8fa82a9e0d963af5588e2d25b794cf20a4b18669e37b18ed54a3574672e0ddbf27b033f5a7103565d33fed1395b65c056c3d376cb4676cbcbdb47778bea57a92ea8853df4a0e651a6de4f86e49349588a95de61bffe428591dbb2040a9d98a69bc2151ba6253a2b5c9e1d25fbba704a92aa315174e798da389de8ac6a4b4ec11292e65332e76cc5bfa94859649ce0c10f4dced9ae2d129b13e14c9b2ac3f5da9f78331560016d8c14b2f6c4585af55737f6700ba98475d2add8d3ecfbeac74382b4d9cfe5b8bc7bbd6d265ef17ba4df21944e05bd8833aab2592be42661a0fa9df63282be6ea8f84dd356a00652751a24eb36aa67d042d512e729f7824b84e6a6b2a2dddff1eb4ab7c5cc3799e8c271b37ae60be43b8c49af99862d534d36f5776df4ce0c9ecb48bf1155dd3327a4c944137a55e9bed458a9866bad912188a0afb0f6eb87eed203cdae72048f637e81978fd41b6a591bb3e9e2d7c68b1600fbc62284e93d6b5c2d2188db039a0577288c49449827ec7b6fd1a7f67eb1e3905b56843b0da22153bf78eb514982576b7d024a66532a1dea4cab02db0d2501567b06e27a2341f6d296ff285c2323d96e465789afd08956eac8b3988f2597255347002269e955af2ab4884e05cfe98c590018a81a4a076b803a577ff5cda717eb05799156cfd09a02fea28a64ac2beb715b612e10fc40b115bf5115c4541db11eda325d68e6c93697c67c4d848214f3cd299f5997b5847ccc3f77e9c96aa612e9e04d4603bd35c8890d524e791ac52b18544a8921483d032a3d6391eaed701f910fa392714307f29594ee895529e88bccc35fd0c1ab67349cf388781c69227f6a08079ae76c98ec008269b281090b8e124f05bbcaf0e06e3952593958a88c59169a108edd7797d14a9f50edc739828225e6019b205830fb6bc9f3d5992cddc08ec08e9473bc028579a985f0aecc4d53bc2710df31f351fe54280962923f96124fc6ccaf31e58ad6694907cc82bc9bc8e31cc4db05547b8916e34629ea1a49aacd6c4efc41e1e923d91d66346bd6ad89ea01315b49e0d08a9ac7137294a20f96f6736f6fe310d580f90c55a6349d31188e7adc7da761e6e43567b8116227e8342404f4b875fa706557733b38a6021e931c5241bd7c6abb4330d7799e0031bbb831890dd660eb5dd5d465c93ad4024f7aaaa0f7d92ba622a1198d33ddc4e7bc23419e2cd19eea57aef5601d07b16da1bd77cf64df8ba02ba322de5540cf40b51677680bc678d1c9ebf9067d666a0c032580c0dcef69fa819fe19a93a23ded75bfd9eac34bcebcf79e59d3430352df7420b54f039f5f60a58f2e12d60a8ed41081f95ff6dedb552301d753d17b5761843766d440d1ed09e5ef42df6c452604a568e174b4467207a92dd74c7749bd90a9b7c040cfcc87e030f8c9196f28c48488f24ff91dbf173bdecc6ea5c0c586e35a4e693ed537701fb8c720c88c0089f2550bd251599e82d9ea86658bd7e259652f8063e20b6d8ab9eb3d3283ddeafe3a9033d6c35e525c9023c1f4e5dac4343904b130a3b2c3c0d60f4a035e63c86d2c6231968198e994f68d339a5fbc11c0730dc8900c12bf98de8a9cdd71ebc4cfbdf4920c5f40ab48cbc67cf8e9f1540b67d0d50f6b1e78bf8a2bb02ce70db985a881df8fe633f3aa1de41eeeeb0e304e591d49da9abb98d71e14b0212745ad407079365da791d91701744d6120eaa0927ec2d7407dcdef2b83344c8a22905863045bc72b2056ec00e7becdc6e3d571ce2f0a9c40cc1b0211694c94947ec08aa1475e7d6c5cd9c1390357a376b043ba952df8730130ab5e3dd94768df1a015aa1a5dc1d2c027ef1499fd01f3fbc75245360cdfd2eb84658f1ebea0de4a26830e36416f9ccc04bf12ab5513f3664a282de8c377d358a38bdecdfc66719d4b8c57db7892a297eb0cf5710af2e6c865def832e182a8397fb072cf059b4a764700a775c1dcff5103b197bdf05b5dd989c2f0b74770b3c5591027ae2887fb897778a6ff0770f2c839bcdc5bb4e22c32c4dd17cc55f59ff41be6306932a201abd6e8043a606d4b0f88efcd5d8d466a6227af22fd1162463052fd145bf19464f7285acf36b2df0deec006d59d210dca48b974c4834fd8e3bb4c6ef02b7d6a544ed59576d0884952f42b7821e026deadbe8ea94b45d7c46db7bfbe73328adb6441cdfc7e213877cba2fd1f6ca9dbc10d57975b97af42f6277906ef7e09f656686fe573d3bd219239521bbf69e7078b0474d13363b046234f012dbd4ba43ce0a5d41db64f9446103155dd8e7640ff4593128f6ef14c10dfec0112bdce42428686f7cebb30610a10448b9e42ec952470aae12f239065a55e5a32b6f9fc00cc1f0a22e6ec443f586404fc8524c5a09da269fdaedb0696e74e7fe12b7d38e91cf2ada7f906c1fee2df6774a0a30990a80d9468a02d97f22b38019cd3d71a91a07e5a00bbe886d1ea9b8a69669a1c7fdef309bbd87264ff2645bd54a85b49a417da5905271b4d8963e8679b0660cc23b1526462a56d178af655d257b7257b0004d2f271db29cd11060eb30c1cf025d2226d3fec2fff02d0e032de63229042380a8478a6817e3af34b263edad9965e32ac305da44e2865d7fad010acb01df9682c556fbc647a15301b14957e62e178a2e85bc46e17230e8b3b33e219a8c326119c8670037813dd654d6262a64279d0186a027a221de6d9a3827b63b9c5019b2d26293bbaf60c6d67f0fa19bbbba8542ce47d3a00fc6770bdb1e4e4e7ac755b1bf2260c806b186e070cfbac7b441d9ff94ce8889aac6cf6c03ac87be0e817eba4cb193234d1f47f72cec1ce54e83eee8cce9a74ccdfac6ea32e902dea8b875a4e6fe34cb3642d220040ae95c119f2030138b67335a77d996e4c54a8f41c8ef1b07fc7fd86bb59c98e6434d9e2db72dab43cf5e845924d04f75ae47590f7f5c5cc0a1b02dd1f2c5df230ce019e1cdbde4507d2bedaa9bc6678ab246295df82dd8d433f20e99a1b8a8bbafc1888f01f715d829e2648a34d43d87893d5dd9d5d551d41abc1b3bafc2116b1fbe34de5a67fd18a9fb0766e56a524538052ed23893b6c14e7f38872992ff7639e4b0f480d801cf37e0b733ca58e37f5fce5070e6329419c53e833b5efbb6b24eb6f3b3e5aed8923778abfafad3a6da35c883729ce847dc67f24b41ad256b4037f096092cac70de29df0f956dd7583213d30095705df623277538b20983a1aab7c3b5c33b5746ec653546fe1b9d275d434e7d6abd257d0aa4815816f3dd07bf14723fcabb032919324e3c095f03fd68c5e0c998e635aab3a062a025c057b60ffa79bd36b9231e71c839e8a75feeb460d31484e1da86a6194e294bbdd3200ba893f17fd01172fe8f7881c1bbb3afb0ae632e1c0fdfa2fcab5251c20ff1aa772a5eb58005a9a0cd0412c345b9e8d7815498103a2cf6624ca62af2b828681480d78ccfd1563f3f65195bca5a6c30074d8d46ae5da633b8839bbe6042402f2470358ae8067d9d2d309bcd213807ede4cc3653cd0dec242bc9313866e79dbc73c12fe62a8271f68c8b5f0b784c792543ac6f7850a827cf62305ef9784dd667d19173fcaa7f8ede91d2357cac232121f436a8e051650faa5a111d6d68efaa93079cb0d5ccc5a476f5535070661005c172a75523c825906a8e71a0d39755793ae74c7cdcf927ccd58892fd53d86dd442e3e5c155cfbd7cc94299d06fc393c5efc0fbe9ba44f63b8cddd44dd71970dde2467d1fcdc963c05407b4645b1c93f7ee4fb8e932c0af1921b170eaff0b20647877de22500de43c90a41b1f1c5fb7ebced4f5d88103590ecd3a7bc6c2f30a3bc2455b8e764e18cc8661cf435f7eb9b05a9e7e7cabe3d89a2b7f6173a9aa79832b793449acc470072e631ac3447a923146fe5ec109c162acac36498283f80a95eb2ac3031ae93ed220d33f40e0996068da49ceb51d672c1596abda6d6d3841ca5d166e226b7e8784904887a961111516edc27df8c604b79897a2e4f024bd0c29b751d101fe0ac65ee193955bb4c6d348df3270ccc0866431ca1f4abc57443458061ee9e2c183537a4155ffa498e78463a7ade294fbba6dee1a4e86eeda90570b3a9499f1e543de124b77a934e21b9aade4869c7a024666693ef4a5a6ff11a1c2af88db01515855f54f5e0160ee79ddd3d7f8ddc00e91c5cda757a8f5846ad7ff892fde48e8d2015d791680693052d8f3b1f9dd86104ff580c61ef24edc4ee00b61c149e67c3bdfcccd5197c767a4835957c5cae969d7818d281b3bd48d0e297a2c815bf9016132210a13c4e702a2be2ffb21e5bfc3f64d7d96a532df41a9d1b82370675d2b38046e789a8b4b55ee9a8fe9d08b3c39c8b5e27e732fd55083b479d496db172d4cccd4e406861aa791fab67b73ed77320f9b712348b33d5331267f697b5da39e1d36560b5c46199c4503de4f1e78b11f1ec6191d7645ca761e86c38c9fef888baac32f746abfaa11f1578c4382c11c21186b7bead8acdeaf268d019c26c9653a8b79c925c2a2f18033839b2776445f4ab7b556792ddd1a31991a46027a5536c03c79e19642805010926c905056030941e42a0af292d32203412dc30d3f898dcc4c1449f4fea1e4764cde647b4159a6fc890cdcbb6c12705a9e9d7dcb656558182e9e47e9ace0d2082cdfa438c8f5dd9622349c57625023f99f88adf644c74c2e9d428af79f7e2b2386557b063ea7981eef90fdfbbb06768862018cdb53d478beee3c11c51fcf547666cc1632029b1fec1154efc04e31c3d0958c204fa6770533bb4d082e7b41321914bff4bc5275eae648439c4641211a68de90e5bad7213609e143712ce5b190428a17c0bb9604ed2bb5b2abe984eb60c10b1512689fd2f1e2da053a76d19d29b4c66b8f132b5c98a2ad4b423a0b1a9c9585a501994a568b6c43b3a2ef4588365802e3b07147a483a306518e6242c07825f4be7805442297db7f16c91007c0a4a669ccb73077c54907aefe442d7e7f3d7ba4161d5206ba0b3747986f466e24982416d51920f6aa5b1db97559dbcfaa688aef47f4d2d396f33b54231344c1607f1982101e30318485b7ccd3ec0e3575a5a8b7e0f95181d5e7ed08242a5058b0d439414754747585b4d7df3337607791a5c5c9f5fa4682b7cd181e545b66c40000000000000000000000000000000a12171e2832363c', + }, + ], +]; + +export const transactionsTestData: [FeeMarketEIP1559TxData][] = [ + [ + // 'Tx1559' + { + type: 2, + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', + maxPriorityFeePerGas: '0x3B9ACA00', + maxFeePerGas: '0xB2D05E00', + gasLimit: '0x6A4012', + value: '0x186A0', + data: '', + chainId: 1, + nonce: 0, + }, + ], +]; + +export const invalidSeedtoAccountData: [any, SeedLengthError | InvalidSeedError][] = [ + ['', new InvalidSeedError()], + [new Uint8Array([]), new SeedLengthError()], +]; + +export const validEncryptData: [[any, string | Uint8Array, CipherOptions], KeyStore][] = [ + // Test taken from https://github.com/theQRL/go-zond/tree/main/accounts/keystore/testdata/v1_test_vector.json + [ + [ + '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', + '1234567890', + { + t: 1, + m: 65536, + p: 1, + iv: hexToBytes('0x4c2275c4a14a5e984bfaec2b'), + salt: hexToBytes( + '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + ), + }, + ], + { + version: 1, + address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + crypto: { + ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', + cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + cipher: 'aes-256-gcm', + kdf: 'argon2id', + kdfparams: { + m: 65536, + t: 1, + p: 1, + dklen: 32, + salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + }, + }, + id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', + }, + ], +]; + +export const invalidEncryptData: [ + [any, any, any], + ( + | SeedLengthError + | InvalidKdfError + | InvalidSeedError + | InvalidPasswordError + | IVLengthError + ), +][] = [ + [ + ['0x67f476289210e3bef3c1c75e4de993ff0a00663df00def84e73aa7411eac18a', '123', {}], + new SeedLengthError(), + ], + [ + [ + '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', + '123', + { + iv: 'bfb43120ae00e9de110f8325', + salt: '210d0ec956787d865358ac45716e6dd42e68d48e346d795746509523aeb477dd', + kdf: 'hkdf', + }, + ], + new InvalidKdfError(), + ], + [ + [undefined, '123', {}], // no private key provided + new InvalidSeedError(), + ], + [ + // no password provided + ['0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', undefined, {}], + new InvalidPasswordError(), + ], + [ + // iv length is not 12 bytes + [ + '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', + '123', + { + m: 8192, + iv: hexToBytes('0xbfb43120ae00e9de110f8325143a2709'), + salt: undefined, + }, + ], + new IVLengthError(), + ], +]; + +export const invalidKeyStore: [[any, string]][] = [ + [ + // invalid keystore error, missing id field + [ + { + // invalid kdf + version: 1, + address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + crypto: { + ciphertext: 'f833f12f6cb57f6961fb34bbf4ff5019c9fd70e1ab98bf0f1ba164f1b4bc773e853f973b708a4ec1b5e1148de96437ac5fc75da87c6b7293628e9d45b4bc2ab7', + cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + cipher: 'aes-256-gcm', + kdf: 'hkdf', + kdfparams: { + m: 262144, + t: 8, + p: 1, + dklen: 32, + salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + }, + }, + }, + '1234567890', + ], + ], +]; + +export const validDecryptData: [[string, string, CipherOptions, string]][] = [ + [ + [ + '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', + '1234567890', + { + t: 1, + m: 65536, + p: 1, + iv: hexToBytes('0x4c2275c4a14a5e984bfaec2b'), + salt: hexToBytes( + '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + ), + }, + '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', + ], + ], +]; + +export const invalidDecryptData: [[any, string], InvalidKdfError | string][] = [ + [ + [ + { + // invalid kdf + version: 1, + address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + crypto: { + ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', + cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + cipher: 'aes-256-gcm', + kdf: 'hkdf', + kdfparams: { + m: 65536, + t: 1, + p: 1, + dklen: 32, + salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + }, + }, + id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', + }, + '1234567890', + ], + new InvalidKdfError(), + ], + [ + [ + { + // wrong password + version: 1, + address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + crypto: { + ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', + cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + cipher: 'aes-256-gcm', + kdf: 'argon2id', + kdfparams: { + m: 65536, + t: 1, + p: 1, + dklen: 32, + salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + }, + }, + id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', + }, + '12', + ], + "The operation failed for an operation-specific reason", + ], +]; + +export const validHashMessageData: [string, string][] = [ + ['🤗', '0xcae553ad3d0ab274e62944105dee942352692738f79f48c55e3c4235ca82c274'], + [ + 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', + '0xca5dd6e9cb2f27051ef4a23dc5ba62a4cdb98369355a1d9c9121100e68576d5d', + ], + ['non utf8 string', '0x3bbc26183e34d9f0c27fb7af8c9dcb2cfb32cdd55335aa01abab191bc540d18c'], + ['', '0xd1e20245c66f2cc8733c0a25cf6136279aab0d4e4d5eb18ede8759cd83b69516'], +]; diff --git a/packages/web3-zond-accounts/test/fixtures/accounts.json b/packages/web3-qrl-accounts/test/fixtures/accounts.json similarity index 100% rename from packages/web3-zond-accounts/test/fixtures/accounts.json rename to packages/web3-qrl-accounts/test/fixtures/accounts.json diff --git a/packages/web3-zond-accounts/test/fixtures/common/gzond-genesis-kiln.json b/packages/web3-qrl-accounts/test/fixtures/common/gzond-genesis-kiln.json similarity index 64% rename from packages/web3-zond-accounts/test/fixtures/common/gzond-genesis-kiln.json rename to packages/web3-qrl-accounts/test/fixtures/common/gzond-genesis-kiln.json index 50c7e2cc..6cf918d3 100644 --- a/packages/web3-zond-accounts/test/fixtures/common/gzond-genesis-kiln.json +++ b/packages/web3-qrl-accounts/test/fixtures/common/gzond-genesis-kiln.json @@ -3,775 +3,775 @@ "chainId": 1337802 }, "alloc": { - "Z0000000000000000000000000000000000000000": { + "Q0000000000000000000000000000000000000000": { "balance": "1" }, - "Z0000000000000000000000000000000000000001": { + "Q0000000000000000000000000000000000000001": { "balance": "1" }, - "Z0000000000000000000000000000000000000002": { + "Q0000000000000000000000000000000000000002": { "balance": "1" }, - "Z0000000000000000000000000000000000000003": { + "Q0000000000000000000000000000000000000003": { "balance": "1" }, - "Z0000000000000000000000000000000000000004": { + "Q0000000000000000000000000000000000000004": { "balance": "1" }, - "Z0000000000000000000000000000000000000005": { + "Q0000000000000000000000000000000000000005": { "balance": "1" }, - "Z0000000000000000000000000000000000000006": { + "Q0000000000000000000000000000000000000006": { "balance": "1" }, - "Z0000000000000000000000000000000000000007": { + "Q0000000000000000000000000000000000000007": { "balance": "1" }, - "Z0000000000000000000000000000000000000008": { + "Q0000000000000000000000000000000000000008": { "balance": "1" }, - "Z0000000000000000000000000000000000000009": { + "Q0000000000000000000000000000000000000009": { "balance": "1" }, - "Z000000000000000000000000000000000000000a": { + "Q000000000000000000000000000000000000000a": { "balance": "1" }, - "Z000000000000000000000000000000000000000b": { + "Q000000000000000000000000000000000000000b": { "balance": "1" }, - "Z000000000000000000000000000000000000000c": { + "Q000000000000000000000000000000000000000c": { "balance": "1" }, - "Z000000000000000000000000000000000000000d": { + "Q000000000000000000000000000000000000000d": { "balance": "1" }, - "Z000000000000000000000000000000000000000e": { + "Q000000000000000000000000000000000000000e": { "balance": "1" }, - "Z000000000000000000000000000000000000000f": { + "Q000000000000000000000000000000000000000f": { "balance": "1" }, - "Z0000000000000000000000000000000000000010": { + "Q0000000000000000000000000000000000000010": { "balance": "1" }, - "Z0000000000000000000000000000000000000011": { + "Q0000000000000000000000000000000000000011": { "balance": "1" }, - "Z0000000000000000000000000000000000000012": { + "Q0000000000000000000000000000000000000012": { "balance": "1" }, - "Z0000000000000000000000000000000000000013": { + "Q0000000000000000000000000000000000000013": { "balance": "1" }, - "Z0000000000000000000000000000000000000014": { + "Q0000000000000000000000000000000000000014": { "balance": "1" }, - "Z0000000000000000000000000000000000000015": { + "Q0000000000000000000000000000000000000015": { "balance": "1" }, - "Z0000000000000000000000000000000000000016": { + "Q0000000000000000000000000000000000000016": { "balance": "1" }, - "Z0000000000000000000000000000000000000017": { + "Q0000000000000000000000000000000000000017": { "balance": "1" }, - "Z0000000000000000000000000000000000000018": { + "Q0000000000000000000000000000000000000018": { "balance": "1" }, - "Z0000000000000000000000000000000000000019": { + "Q0000000000000000000000000000000000000019": { "balance": "1" }, - "Z000000000000000000000000000000000000001a": { + "Q000000000000000000000000000000000000001a": { "balance": "1" }, - "Z000000000000000000000000000000000000001b": { + "Q000000000000000000000000000000000000001b": { "balance": "1" }, - "Z000000000000000000000000000000000000001c": { + "Q000000000000000000000000000000000000001c": { "balance": "1" }, - "Z000000000000000000000000000000000000001d": { + "Q000000000000000000000000000000000000001d": { "balance": "1" }, - "Z000000000000000000000000000000000000001e": { + "Q000000000000000000000000000000000000001e": { "balance": "1" }, - "Z000000000000000000000000000000000000001f": { + "Q000000000000000000000000000000000000001f": { "balance": "1" }, - "Z0000000000000000000000000000000000000020": { + "Q0000000000000000000000000000000000000020": { "balance": "1" }, - "Z0000000000000000000000000000000000000021": { + "Q0000000000000000000000000000000000000021": { "balance": "1" }, - "Z0000000000000000000000000000000000000022": { + "Q0000000000000000000000000000000000000022": { "balance": "1" }, - "Z0000000000000000000000000000000000000023": { + "Q0000000000000000000000000000000000000023": { "balance": "1" }, - "Z0000000000000000000000000000000000000024": { + "Q0000000000000000000000000000000000000024": { "balance": "1" }, - "Z0000000000000000000000000000000000000025": { + "Q0000000000000000000000000000000000000025": { "balance": "1" }, - "Z0000000000000000000000000000000000000026": { + "Q0000000000000000000000000000000000000026": { "balance": "1" }, - "Z0000000000000000000000000000000000000027": { + "Q0000000000000000000000000000000000000027": { "balance": "1" }, - "Z0000000000000000000000000000000000000028": { + "Q0000000000000000000000000000000000000028": { "balance": "1" }, - "Z0000000000000000000000000000000000000029": { + "Q0000000000000000000000000000000000000029": { "balance": "1" }, - "Z000000000000000000000000000000000000002a": { + "Q000000000000000000000000000000000000002a": { "balance": "1" }, - "Z000000000000000000000000000000000000002b": { + "Q000000000000000000000000000000000000002b": { "balance": "1" }, - "Z000000000000000000000000000000000000002c": { + "Q000000000000000000000000000000000000002c": { "balance": "1" }, - "Z000000000000000000000000000000000000002d": { + "Q000000000000000000000000000000000000002d": { "balance": "1" }, - "Z000000000000000000000000000000000000002e": { + "Q000000000000000000000000000000000000002e": { "balance": "1" }, - "Z000000000000000000000000000000000000002f": { + "Q000000000000000000000000000000000000002f": { "balance": "1" }, - "Z0000000000000000000000000000000000000030": { + "Q0000000000000000000000000000000000000030": { "balance": "1" }, - "Z0000000000000000000000000000000000000031": { + "Q0000000000000000000000000000000000000031": { "balance": "1" }, - "Z0000000000000000000000000000000000000032": { + "Q0000000000000000000000000000000000000032": { "balance": "1" }, - "Z0000000000000000000000000000000000000033": { + "Q0000000000000000000000000000000000000033": { "balance": "1" }, - "Z0000000000000000000000000000000000000034": { + "Q0000000000000000000000000000000000000034": { "balance": "1" }, - "Z0000000000000000000000000000000000000035": { + "Q0000000000000000000000000000000000000035": { "balance": "1" }, - "Z0000000000000000000000000000000000000036": { + "Q0000000000000000000000000000000000000036": { "balance": "1" }, - "Z0000000000000000000000000000000000000037": { + "Q0000000000000000000000000000000000000037": { "balance": "1" }, - "Z0000000000000000000000000000000000000038": { + "Q0000000000000000000000000000000000000038": { "balance": "1" }, - "Z0000000000000000000000000000000000000039": { + "Q0000000000000000000000000000000000000039": { "balance": "1" }, - "Z000000000000000000000000000000000000003a": { + "Q000000000000000000000000000000000000003a": { "balance": "1" }, - "Z000000000000000000000000000000000000003b": { + "Q000000000000000000000000000000000000003b": { "balance": "1" }, - "Z000000000000000000000000000000000000003c": { + "Q000000000000000000000000000000000000003c": { "balance": "1" }, - "Z000000000000000000000000000000000000003d": { + "Q000000000000000000000000000000000000003d": { "balance": "1" }, - "Z000000000000000000000000000000000000003e": { + "Q000000000000000000000000000000000000003e": { "balance": "1" }, - "Z000000000000000000000000000000000000003f": { + "Q000000000000000000000000000000000000003f": { "balance": "1" }, - "Z0000000000000000000000000000000000000040": { + "Q0000000000000000000000000000000000000040": { "balance": "1" }, - "Z0000000000000000000000000000000000000041": { + "Q0000000000000000000000000000000000000041": { "balance": "1" }, - "Z0000000000000000000000000000000000000042": { + "Q0000000000000000000000000000000000000042": { "balance": "1" }, - "Z0000000000000000000000000000000000000043": { + "Q0000000000000000000000000000000000000043": { "balance": "1" }, - "Z0000000000000000000000000000000000000044": { + "Q0000000000000000000000000000000000000044": { "balance": "1" }, - "Z0000000000000000000000000000000000000045": { + "Q0000000000000000000000000000000000000045": { "balance": "1" }, - "Z0000000000000000000000000000000000000046": { + "Q0000000000000000000000000000000000000046": { "balance": "1" }, - "Z0000000000000000000000000000000000000047": { + "Q0000000000000000000000000000000000000047": { "balance": "1" }, - "Z0000000000000000000000000000000000000048": { + "Q0000000000000000000000000000000000000048": { "balance": "1" }, - "Z0000000000000000000000000000000000000049": { + "Q0000000000000000000000000000000000000049": { "balance": "1" }, - "Z000000000000000000000000000000000000004a": { + "Q000000000000000000000000000000000000004a": { "balance": "1" }, - "Z000000000000000000000000000000000000004b": { + "Q000000000000000000000000000000000000004b": { "balance": "1" }, - "Z000000000000000000000000000000000000004c": { + "Q000000000000000000000000000000000000004c": { "balance": "1" }, - "Z000000000000000000000000000000000000004d": { + "Q000000000000000000000000000000000000004d": { "balance": "1" }, - "Z000000000000000000000000000000000000004e": { + "Q000000000000000000000000000000000000004e": { "balance": "1" }, - "Z000000000000000000000000000000000000004f": { + "Q000000000000000000000000000000000000004f": { "balance": "1" }, - "Z0000000000000000000000000000000000000050": { + "Q0000000000000000000000000000000000000050": { "balance": "1" }, - "Z0000000000000000000000000000000000000051": { + "Q0000000000000000000000000000000000000051": { "balance": "1" }, - "Z0000000000000000000000000000000000000052": { + "Q0000000000000000000000000000000000000052": { "balance": "1" }, - "Z0000000000000000000000000000000000000053": { + "Q0000000000000000000000000000000000000053": { "balance": "1" }, - "Z0000000000000000000000000000000000000054": { + "Q0000000000000000000000000000000000000054": { "balance": "1" }, - "Z0000000000000000000000000000000000000055": { + "Q0000000000000000000000000000000000000055": { "balance": "1" }, - "Z0000000000000000000000000000000000000056": { + "Q0000000000000000000000000000000000000056": { "balance": "1" }, - "Z0000000000000000000000000000000000000057": { + "Q0000000000000000000000000000000000000057": { "balance": "1" }, - "Z0000000000000000000000000000000000000058": { + "Q0000000000000000000000000000000000000058": { "balance": "1" }, - "Z0000000000000000000000000000000000000059": { + "Q0000000000000000000000000000000000000059": { "balance": "1" }, - "Z000000000000000000000000000000000000005a": { + "Q000000000000000000000000000000000000005a": { "balance": "1" }, - "Z000000000000000000000000000000000000005b": { + "Q000000000000000000000000000000000000005b": { "balance": "1" }, - "Z000000000000000000000000000000000000005c": { + "Q000000000000000000000000000000000000005c": { "balance": "1" }, - "Z000000000000000000000000000000000000005d": { + "Q000000000000000000000000000000000000005d": { "balance": "1" }, - "Z000000000000000000000000000000000000005e": { + "Q000000000000000000000000000000000000005e": { "balance": "1" }, - "Z000000000000000000000000000000000000005f": { + "Q000000000000000000000000000000000000005f": { "balance": "1" }, - "Z0000000000000000000000000000000000000060": { + "Q0000000000000000000000000000000000000060": { "balance": "1" }, - "Z0000000000000000000000000000000000000061": { + "Q0000000000000000000000000000000000000061": { "balance": "1" }, - "Z0000000000000000000000000000000000000062": { + "Q0000000000000000000000000000000000000062": { "balance": "1" }, - "Z0000000000000000000000000000000000000063": { + "Q0000000000000000000000000000000000000063": { "balance": "1" }, - "Z0000000000000000000000000000000000000064": { + "Q0000000000000000000000000000000000000064": { "balance": "1" }, - "Z0000000000000000000000000000000000000065": { + "Q0000000000000000000000000000000000000065": { "balance": "1" }, - "Z0000000000000000000000000000000000000066": { + "Q0000000000000000000000000000000000000066": { "balance": "1" }, - "Z0000000000000000000000000000000000000067": { + "Q0000000000000000000000000000000000000067": { "balance": "1" }, - "Z0000000000000000000000000000000000000068": { + "Q0000000000000000000000000000000000000068": { "balance": "1" }, - "Z0000000000000000000000000000000000000069": { + "Q0000000000000000000000000000000000000069": { "balance": "1" }, - "Z000000000000000000000000000000000000006a": { + "Q000000000000000000000000000000000000006a": { "balance": "1" }, - "Z000000000000000000000000000000000000006b": { + "Q000000000000000000000000000000000000006b": { "balance": "1" }, - "Z000000000000000000000000000000000000006c": { + "Q000000000000000000000000000000000000006c": { "balance": "1" }, - "Z000000000000000000000000000000000000006d": { + "Q000000000000000000000000000000000000006d": { "balance": "1" }, - "Z000000000000000000000000000000000000006e": { + "Q000000000000000000000000000000000000006e": { "balance": "1" }, - "Z000000000000000000000000000000000000006f": { + "Q000000000000000000000000000000000000006f": { "balance": "1" }, - "Z0000000000000000000000000000000000000070": { + "Q0000000000000000000000000000000000000070": { "balance": "1" }, - "Z0000000000000000000000000000000000000071": { + "Q0000000000000000000000000000000000000071": { "balance": "1" }, - "Z0000000000000000000000000000000000000072": { + "Q0000000000000000000000000000000000000072": { "balance": "1" }, - "Z0000000000000000000000000000000000000073": { + "Q0000000000000000000000000000000000000073": { "balance": "1" }, - "Z0000000000000000000000000000000000000074": { + "Q0000000000000000000000000000000000000074": { "balance": "1" }, - "Z0000000000000000000000000000000000000075": { + "Q0000000000000000000000000000000000000075": { "balance": "1" }, - "Z0000000000000000000000000000000000000076": { + "Q0000000000000000000000000000000000000076": { "balance": "1" }, - "Z0000000000000000000000000000000000000077": { + "Q0000000000000000000000000000000000000077": { "balance": "1" }, - "Z0000000000000000000000000000000000000078": { + "Q0000000000000000000000000000000000000078": { "balance": "1" }, - "Z0000000000000000000000000000000000000079": { + "Q0000000000000000000000000000000000000079": { "balance": "1" }, - "Z000000000000000000000000000000000000007a": { + "Q000000000000000000000000000000000000007a": { "balance": "1" }, - "Z000000000000000000000000000000000000007b": { + "Q000000000000000000000000000000000000007b": { "balance": "1" }, - "Z000000000000000000000000000000000000007c": { + "Q000000000000000000000000000000000000007c": { "balance": "1" }, - "Z000000000000000000000000000000000000007d": { + "Q000000000000000000000000000000000000007d": { "balance": "1" }, - "Z000000000000000000000000000000000000007e": { + "Q000000000000000000000000000000000000007e": { "balance": "1" }, - "Z000000000000000000000000000000000000007f": { + "Q000000000000000000000000000000000000007f": { "balance": "1" }, - "Z0000000000000000000000000000000000000080": { + "Q0000000000000000000000000000000000000080": { "balance": "1" }, - "Z0000000000000000000000000000000000000081": { + "Q0000000000000000000000000000000000000081": { "balance": "1" }, - "Z0000000000000000000000000000000000000082": { + "Q0000000000000000000000000000000000000082": { "balance": "1" }, - "Z0000000000000000000000000000000000000083": { + "Q0000000000000000000000000000000000000083": { "balance": "1" }, - "Z0000000000000000000000000000000000000084": { + "Q0000000000000000000000000000000000000084": { "balance": "1" }, - "Z0000000000000000000000000000000000000085": { + "Q0000000000000000000000000000000000000085": { "balance": "1" }, - "Z0000000000000000000000000000000000000086": { + "Q0000000000000000000000000000000000000086": { "balance": "1" }, - "Z0000000000000000000000000000000000000087": { + "Q0000000000000000000000000000000000000087": { "balance": "1" }, - "Z0000000000000000000000000000000000000088": { + "Q0000000000000000000000000000000000000088": { "balance": "1" }, - "Z0000000000000000000000000000000000000089": { + "Q0000000000000000000000000000000000000089": { "balance": "1" }, - "Z000000000000000000000000000000000000008a": { + "Q000000000000000000000000000000000000008a": { "balance": "1" }, - "Z000000000000000000000000000000000000008b": { + "Q000000000000000000000000000000000000008b": { "balance": "1" }, - "Z000000000000000000000000000000000000008c": { + "Q000000000000000000000000000000000000008c": { "balance": "1" }, - "Z000000000000000000000000000000000000008d": { + "Q000000000000000000000000000000000000008d": { "balance": "1" }, - "Z000000000000000000000000000000000000008e": { + "Q000000000000000000000000000000000000008e": { "balance": "1" }, - "Z000000000000000000000000000000000000008f": { + "Q000000000000000000000000000000000000008f": { "balance": "1" }, - "Z0000000000000000000000000000000000000090": { + "Q0000000000000000000000000000000000000090": { "balance": "1" }, - "Z0000000000000000000000000000000000000091": { + "Q0000000000000000000000000000000000000091": { "balance": "1" }, - "Z0000000000000000000000000000000000000092": { + "Q0000000000000000000000000000000000000092": { "balance": "1" }, - "Z0000000000000000000000000000000000000093": { + "Q0000000000000000000000000000000000000093": { "balance": "1" }, - "Z0000000000000000000000000000000000000094": { + "Q0000000000000000000000000000000000000094": { "balance": "1" }, - "Z0000000000000000000000000000000000000095": { + "Q0000000000000000000000000000000000000095": { "balance": "1" }, - "Z0000000000000000000000000000000000000096": { + "Q0000000000000000000000000000000000000096": { "balance": "1" }, - "Z0000000000000000000000000000000000000097": { + "Q0000000000000000000000000000000000000097": { "balance": "1" }, - "Z0000000000000000000000000000000000000098": { + "Q0000000000000000000000000000000000000098": { "balance": "1" }, - "Z0000000000000000000000000000000000000099": { + "Q0000000000000000000000000000000000000099": { "balance": "1" }, - "Z000000000000000000000000000000000000009a": { + "Q000000000000000000000000000000000000009a": { "balance": "1" }, - "Z000000000000000000000000000000000000009b": { + "Q000000000000000000000000000000000000009b": { "balance": "1" }, - "Z000000000000000000000000000000000000009c": { + "Q000000000000000000000000000000000000009c": { "balance": "1" }, - "Z000000000000000000000000000000000000009d": { + "Q000000000000000000000000000000000000009d": { "balance": "1" }, - "Z000000000000000000000000000000000000009e": { + "Q000000000000000000000000000000000000009e": { "balance": "1" }, - "Z000000000000000000000000000000000000009f": { + "Q000000000000000000000000000000000000009f": { "balance": "1" }, - "Z00000000000000000000000000000000000000a0": { + "Q00000000000000000000000000000000000000a0": { "balance": "1" }, - "Z00000000000000000000000000000000000000a1": { + "Q00000000000000000000000000000000000000a1": { "balance": "1" }, - "Z00000000000000000000000000000000000000a2": { + "Q00000000000000000000000000000000000000a2": { "balance": "1" }, - "Z00000000000000000000000000000000000000a3": { + "Q00000000000000000000000000000000000000a3": { "balance": "1" }, - "Z00000000000000000000000000000000000000a4": { + "Q00000000000000000000000000000000000000a4": { "balance": "1" }, - "Z00000000000000000000000000000000000000a5": { + "Q00000000000000000000000000000000000000a5": { "balance": "1" }, - "Z00000000000000000000000000000000000000a6": { + "Q00000000000000000000000000000000000000a6": { "balance": "1" }, - "Z00000000000000000000000000000000000000a7": { + "Q00000000000000000000000000000000000000a7": { "balance": "1" }, - "Z00000000000000000000000000000000000000a8": { + "Q00000000000000000000000000000000000000a8": { "balance": "1" }, - "Z00000000000000000000000000000000000000a9": { + "Q00000000000000000000000000000000000000a9": { "balance": "1" }, - "Z00000000000000000000000000000000000000aa": { + "Q00000000000000000000000000000000000000aa": { "balance": "1" }, - "Z00000000000000000000000000000000000000ab": { + "Q00000000000000000000000000000000000000ab": { "balance": "1" }, - "Z00000000000000000000000000000000000000ac": { + "Q00000000000000000000000000000000000000ac": { "balance": "1" }, - "Z00000000000000000000000000000000000000ad": { + "Q00000000000000000000000000000000000000ad": { "balance": "1" }, - "Z00000000000000000000000000000000000000ae": { + "Q00000000000000000000000000000000000000ae": { "balance": "1" }, - "Z00000000000000000000000000000000000000af": { + "Q00000000000000000000000000000000000000af": { "balance": "1" }, - "Z00000000000000000000000000000000000000b0": { + "Q00000000000000000000000000000000000000b0": { "balance": "1" }, - "Z00000000000000000000000000000000000000b1": { + "Q00000000000000000000000000000000000000b1": { "balance": "1" }, - "Z00000000000000000000000000000000000000b2": { + "Q00000000000000000000000000000000000000b2": { "balance": "1" }, - "Z00000000000000000000000000000000000000b3": { + "Q00000000000000000000000000000000000000b3": { "balance": "1" }, - "Z00000000000000000000000000000000000000b4": { + "Q00000000000000000000000000000000000000b4": { "balance": "1" }, - "Z00000000000000000000000000000000000000b5": { + "Q00000000000000000000000000000000000000b5": { "balance": "1" }, - "Z00000000000000000000000000000000000000b6": { + "Q00000000000000000000000000000000000000b6": { "balance": "1" }, - "Z00000000000000000000000000000000000000b7": { + "Q00000000000000000000000000000000000000b7": { "balance": "1" }, - "Z00000000000000000000000000000000000000b8": { + "Q00000000000000000000000000000000000000b8": { "balance": "1" }, - "Z00000000000000000000000000000000000000b9": { + "Q00000000000000000000000000000000000000b9": { "balance": "1" }, - "Z00000000000000000000000000000000000000ba": { + "Q00000000000000000000000000000000000000ba": { "balance": "1" }, - "Z00000000000000000000000000000000000000bb": { + "Q00000000000000000000000000000000000000bb": { "balance": "1" }, - "Z00000000000000000000000000000000000000bc": { + "Q00000000000000000000000000000000000000bc": { "balance": "1" }, - "Z00000000000000000000000000000000000000bd": { + "Q00000000000000000000000000000000000000bd": { "balance": "1" }, - "Z00000000000000000000000000000000000000be": { + "Q00000000000000000000000000000000000000be": { "balance": "1" }, - "Z00000000000000000000000000000000000000bf": { + "Q00000000000000000000000000000000000000bf": { "balance": "1" }, - "Z00000000000000000000000000000000000000c0": { + "Q00000000000000000000000000000000000000c0": { "balance": "1" }, - "Z00000000000000000000000000000000000000c1": { + "Q00000000000000000000000000000000000000c1": { "balance": "1" }, - "Z00000000000000000000000000000000000000c2": { + "Q00000000000000000000000000000000000000c2": { "balance": "1" }, - "Z00000000000000000000000000000000000000c3": { + "Q00000000000000000000000000000000000000c3": { "balance": "1" }, - "Z00000000000000000000000000000000000000c4": { + "Q00000000000000000000000000000000000000c4": { "balance": "1" }, - "Z00000000000000000000000000000000000000c5": { + "Q00000000000000000000000000000000000000c5": { "balance": "1" }, - "Z00000000000000000000000000000000000000c6": { + "Q00000000000000000000000000000000000000c6": { "balance": "1" }, - "Z00000000000000000000000000000000000000c7": { + "Q00000000000000000000000000000000000000c7": { "balance": "1" }, - "Z00000000000000000000000000000000000000c8": { + "Q00000000000000000000000000000000000000c8": { "balance": "1" }, - "Z00000000000000000000000000000000000000c9": { + "Q00000000000000000000000000000000000000c9": { "balance": "1" }, - "Z00000000000000000000000000000000000000ca": { + "Q00000000000000000000000000000000000000ca": { "balance": "1" }, - "Z00000000000000000000000000000000000000cb": { + "Q00000000000000000000000000000000000000cb": { "balance": "1" }, - "Z00000000000000000000000000000000000000cc": { + "Q00000000000000000000000000000000000000cc": { "balance": "1" }, - "Z00000000000000000000000000000000000000cd": { + "Q00000000000000000000000000000000000000cd": { "balance": "1" }, - "Z00000000000000000000000000000000000000ce": { + "Q00000000000000000000000000000000000000ce": { "balance": "1" }, - "Z00000000000000000000000000000000000000cf": { + "Q00000000000000000000000000000000000000cf": { "balance": "1" }, - "Z00000000000000000000000000000000000000d0": { + "Q00000000000000000000000000000000000000d0": { "balance": "1" }, - "Z00000000000000000000000000000000000000d1": { + "Q00000000000000000000000000000000000000d1": { "balance": "1" }, - "Z00000000000000000000000000000000000000d2": { + "Q00000000000000000000000000000000000000d2": { "balance": "1" }, - "Z00000000000000000000000000000000000000d3": { + "Q00000000000000000000000000000000000000d3": { "balance": "1" }, - "Z00000000000000000000000000000000000000d4": { + "Q00000000000000000000000000000000000000d4": { "balance": "1" }, - "Z00000000000000000000000000000000000000d5": { + "Q00000000000000000000000000000000000000d5": { "balance": "1" }, - "Z00000000000000000000000000000000000000d6": { + "Q00000000000000000000000000000000000000d6": { "balance": "1" }, - "Z00000000000000000000000000000000000000d7": { + "Q00000000000000000000000000000000000000d7": { "balance": "1" }, - "Z00000000000000000000000000000000000000d8": { + "Q00000000000000000000000000000000000000d8": { "balance": "1" }, - "Z00000000000000000000000000000000000000d9": { + "Q00000000000000000000000000000000000000d9": { "balance": "1" }, - "Z00000000000000000000000000000000000000da": { + "Q00000000000000000000000000000000000000da": { "balance": "1" }, - "Z00000000000000000000000000000000000000db": { + "Q00000000000000000000000000000000000000db": { "balance": "1" }, - "Z00000000000000000000000000000000000000dc": { + "Q00000000000000000000000000000000000000dc": { "balance": "1" }, - "Z00000000000000000000000000000000000000dd": { + "Q00000000000000000000000000000000000000dd": { "balance": "1" }, - "Z00000000000000000000000000000000000000de": { + "Q00000000000000000000000000000000000000de": { "balance": "1" }, - "Z00000000000000000000000000000000000000df": { + "Q00000000000000000000000000000000000000df": { "balance": "1" }, - "Z00000000000000000000000000000000000000e0": { + "Q00000000000000000000000000000000000000e0": { "balance": "1" }, - "Z00000000000000000000000000000000000000e1": { + "Q00000000000000000000000000000000000000e1": { "balance": "1" }, - "Z00000000000000000000000000000000000000e2": { + "Q00000000000000000000000000000000000000e2": { "balance": "1" }, - "Z00000000000000000000000000000000000000e3": { + "Q00000000000000000000000000000000000000e3": { "balance": "1" }, - "Z00000000000000000000000000000000000000e4": { + "Q00000000000000000000000000000000000000e4": { "balance": "1" }, - "Z00000000000000000000000000000000000000e5": { + "Q00000000000000000000000000000000000000e5": { "balance": "1" }, - "Z00000000000000000000000000000000000000e6": { + "Q00000000000000000000000000000000000000e6": { "balance": "1" }, - "Z00000000000000000000000000000000000000e7": { + "Q00000000000000000000000000000000000000e7": { "balance": "1" }, - "Z00000000000000000000000000000000000000e8": { + "Q00000000000000000000000000000000000000e8": { "balance": "1" }, - "Z00000000000000000000000000000000000000e9": { + "Q00000000000000000000000000000000000000e9": { "balance": "1" }, - "Z00000000000000000000000000000000000000ea": { + "Q00000000000000000000000000000000000000ea": { "balance": "1" }, - "Z00000000000000000000000000000000000000eb": { + "Q00000000000000000000000000000000000000eb": { "balance": "1" }, - "Z00000000000000000000000000000000000000ec": { + "Q00000000000000000000000000000000000000ec": { "balance": "1" }, - "Z00000000000000000000000000000000000000ed": { + "Q00000000000000000000000000000000000000ed": { "balance": "1" }, - "Z00000000000000000000000000000000000000ee": { + "Q00000000000000000000000000000000000000ee": { "balance": "1" }, - "Z00000000000000000000000000000000000000ef": { + "Q00000000000000000000000000000000000000ef": { "balance": "1" }, - "Z00000000000000000000000000000000000000f0": { + "Q00000000000000000000000000000000000000f0": { "balance": "1" }, - "Z00000000000000000000000000000000000000f1": { + "Q00000000000000000000000000000000000000f1": { "balance": "1" }, - "Z00000000000000000000000000000000000000f2": { + "Q00000000000000000000000000000000000000f2": { "balance": "1" }, - "Z00000000000000000000000000000000000000f3": { + "Q00000000000000000000000000000000000000f3": { "balance": "1" }, - "Z00000000000000000000000000000000000000f4": { + "Q00000000000000000000000000000000000000f4": { "balance": "1" }, - "Z00000000000000000000000000000000000000f5": { + "Q00000000000000000000000000000000000000f5": { "balance": "1" }, - "Z00000000000000000000000000000000000000f6": { + "Q00000000000000000000000000000000000000f6": { "balance": "1" }, - "Z00000000000000000000000000000000000000f7": { + "Q00000000000000000000000000000000000000f7": { "balance": "1" }, - "Z00000000000000000000000000000000000000f8": { + "Q00000000000000000000000000000000000000f8": { "balance": "1" }, - "Z00000000000000000000000000000000000000f9": { + "Q00000000000000000000000000000000000000f9": { "balance": "1" }, - "Z00000000000000000000000000000000000000fa": { + "Q00000000000000000000000000000000000000fa": { "balance": "1" }, - "Z00000000000000000000000000000000000000fb": { + "Q00000000000000000000000000000000000000fb": { "balance": "1" }, - "Z00000000000000000000000000000000000000fc": { + "Q00000000000000000000000000000000000000fc": { "balance": "1" }, - "Z00000000000000000000000000000000000000fd": { + "Q00000000000000000000000000000000000000fd": { "balance": "1" }, - "Z00000000000000000000000000000000000000fe": { + "Q00000000000000000000000000000000000000fe": { "balance": "1" }, - "Z00000000000000000000000000000000000000ff": { + "Q00000000000000000000000000000000000000ff": { "balance": "1" }, - "Z4242424242424242424242424242424242424242": { + "Q4242424242424242424242424242424242424242": { "balance": "0", "code": "0x60806040526004361061003f5760003560e01c806301ffc9a71461004457806322895118146100a4578063621fd130146101ba578063c5f2892f14610244575b600080fd5b34801561005057600080fd5b506100906004803603602081101561006757600080fd5b50357fffffffff000000000000000000000000000000000000000000000000000000001661026b565b604080519115158252519081900360200190f35b6101b8600480360360808110156100ba57600080fd5b8101906020810181356401000000008111156100d557600080fd5b8201836020820111156100e757600080fd5b8035906020019184600183028401116401000000008311171561010957600080fd5b91939092909160208101903564010000000081111561012757600080fd5b82018360208201111561013957600080fd5b8035906020019184600183028401116401000000008311171561015b57600080fd5b91939092909160208101903564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b919350915035610304565b005b3480156101c657600080fd5b506101cf6110b5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102095781810151838201526020016101f1565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025057600080fd5b506102596110c7565b60408051918252519081900360200190f35b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806102fe57507fffffffff0000000000000000000000000000000000000000000000000000000082167f8564090700000000000000000000000000000000000000000000000000000000145b92915050565b6030861461035d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118056026913960400191505060405180910390fd5b602084146103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061179c6036913960400191505060405180910390fd5b6060821461040f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806118786029913960400191505060405180910390fd5b670de0b6b3a7640000341015610470576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118526026913960400191505060405180910390fd5b633b9aca003406156104cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806117d26033913960400191505060405180910390fd5b633b9aca00340467ffffffffffffffff811115610535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061182b6027913960400191505060405180910390fd5b6060610540826114ba565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6105756020546114ba565b6040805160a0808252810189905290819060208201908201606083016080840160c085018e8e80828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910187810386528c815260200190508c8c808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690920188810386528c5181528c51602091820193918e019250908190849084905b83811015610648578181015183820152602001610630565b50505050905090810190601f1680156106755780820380516001836020036101000a031916815260200191505b5086810383528881526020018989808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018881038452895181528951602091820193918b019250908190849084905b838110156106ef5781810151838201526020016106d7565b50505050905090810190601f16801561071c5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a1600060028a8a600060801b604051602001808484808284377fffffffffffffffffffffffffffffffff0000000000000000000000000000000090941691909301908152604080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0818403018152601090920190819052815191955093508392506020850191508083835b602083106107fc57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016107bf565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610859573d6000803e3d6000fd5b5050506040513d602081101561086e57600080fd5b5051905060006002806108846040848a8c6116fe565b6040516020018083838082843780830192505050925050506040516020818303038152906040526040518082805190602001908083835b602083106108f857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016108bb565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610955573d6000803e3d6000fd5b5050506040513d602081101561096a57600080fd5b5051600261097b896040818d6116fe565b60405160009060200180848480828437919091019283525050604080518083038152602092830191829052805190945090925082918401908083835b602083106109f457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016109b7565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610a51573d6000803e3d6000fd5b5050506040513d6020811015610a6657600080fd5b5051604080516020818101949094528082019290925280518083038201815260609092019081905281519192909182918401908083835b60208310610ada57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610a9d565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610b37573d6000803e3d6000fd5b5050506040513d6020811015610b4c57600080fd5b50516040805160208101858152929350600092600292839287928f928f92018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610bd957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b9c565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610c36573d6000803e3d6000fd5b5050506040513d6020811015610c4b57600080fd5b50516040518651600291889160009188916020918201918291908601908083835b60208310610ca957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610c6c565b6001836020036101000a0380198251168184511680821785525050505050509050018367ffffffffffffffff191667ffffffffffffffff1916815260180182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610d4e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610d11565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610dab573d6000803e3d6000fd5b5050506040513d6020811015610dc057600080fd5b5051604080516020818101949094528082019290925280518083038201815260609092019081905281519192909182918401908083835b60208310610e3457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610df7565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610e91573d6000803e3d6000fd5b5050506040513d6020811015610ea657600080fd5b50519050858114610f02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260548152602001806117486054913960600191505060405180910390fd5b60205463ffffffff11610f60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806117276021913960400191505060405180910390fd5b602080546001019081905560005b60208110156110a9578160011660011415610fa0578260008260208110610f9157fe5b0155506110ac95505050505050565b600260008260208110610faf57fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061102557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610fe8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015611082573d6000803e3d6000fd5b5050506040513d602081101561109757600080fd5b50519250600282049150600101610f6e565b50fe5b50505050505050565b60606110c26020546114ba565b905090565b6020546000908190815b60208110156112f05781600116600114156111e6576002600082602081106110f557fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061116b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161112e565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa1580156111c8573d6000803e3d6000fd5b5050506040513d60208110156111dd57600080fd5b505192506112e2565b600283602183602081106111f657fe5b015460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061126b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161122e565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa1580156112c8573d6000803e3d6000fd5b5050506040513d60208110156112dd57600080fd5b505192505b6002820491506001016110d1565b506002826112ff6020546114ba565b600060401b6040516020018084815260200183805190602001908083835b6020831061135a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161131d565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790527fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000095909516920191825250604080518083037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8018152601890920190819052815191955093508392850191508083835b6020831061143f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611402565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa15801561149c573d6000803e3d6000fd5b5050506040513d60208110156114b157600080fd5b50519250505090565b60408051600880825281830190925260609160208201818036833701905050905060c082901b8060071a60f81b826000815181106114f457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060061a60f81b8260018151811061153757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060051a60f81b8260028151811061157a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060041a60f81b826003815181106115bd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060031a60f81b8260048151811061160057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060021a60f81b8260058151811061164357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060011a60f81b8260068151811061168657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060001a60f81b826007815181106116c957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b6000808585111561170d578182fd5b83861115611719578182fd5b505082019391909203915056fe4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c6c4465706f736974436f6e74726163743a207265636f6e7374727563746564204465706f7369744461746120646f6573206e6f74206d6174636820737570706c696564206465706f7369745f646174615f726f6f744465706f736974436f6e74726163743a20696e76616c6964207769746864726177616c5f63726564656e7469616c73206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c7565206e6f74206d756c7469706c65206f6620677765694465706f736974436f6e74726163743a20696e76616c6964207075626b6579206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f20686967684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f206c6f774465706f736974436f6e74726163743a20696e76616c6964207369676e6174757265206c656e677468a26469706673582212201dd26f37a621703009abf16e77e69c93dc50c79db7f6cc37543e3e0e3decdc9764736f6c634300060b0033", "storage": { @@ -808,41 +808,41 @@ "0x0000000000000000000000000000000000000000000000000000000000000040": "0x985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7" } }, - "Zf97e180c050e5Ab072211Ad2C213Eb5AEE4DF134": { + "Qf97e180c050e5Ab072211Ad2C213Eb5AEE4DF134": { "balance": "10000000000000000000000000" }, - "Z2cA5F489CC1Fd1CEC24747B64E8dE0F4A6A850E1": { + "Q2cA5F489CC1Fd1CEC24747B64E8dE0F4A6A850E1": { "balance": "10000000000000000000000000" }, - "Z7203bd333a874D9d329050ecE393820fCD501eaA": { + "Q7203bd333a874D9d329050ecE393820fCD501eaA": { "balance": "10000000000000000000000000" }, - "ZA51918aA40D78Ff8be939bf0E8404252875c6aDF": { + "QA51918aA40D78Ff8be939bf0E8404252875c6aDF": { "balance": "10000000000000000000000000" }, - "ZAA81078e6b2121dd7A846690DFdD6b10d7658d8B": { + "QAA81078e6b2121dd7A846690DFdD6b10d7658d8B": { "balance": "10000000000000000000000000" }, - "ZFA2d31D8f21c1D1633E9BEB641dF77D21D63ccDd": { + "QFA2d31D8f21c1D1633E9BEB641dF77D21D63ccDd": { "balance": "10000000000000000000000000" }, - "Zf751C9c6d60614226fE57D2cAD6e10C856a2ddA3": { + "Qf751C9c6d60614226fE57D2cAD6e10C856a2ddA3": { "balance": "10000000000000000000000000" }, - "Z9cD16887f6A808AEaa65D3c840f059EeA4ca1319": { + "Q9cD16887f6A808AEaa65D3c840f059EeA4ca1319": { "balance": "10000000000000000000000000" }, - "Z2E07043584F11BFF0AC39c927665DF6c6ebaffFB": { + "Q2E07043584F11BFF0AC39c927665DF6c6ebaffFB": { "balance": "10000000000000000000000000" }, - "Z60e771E5eCA8E26690920de669520Da210D64A9B": { + "Q60e771E5eCA8E26690920de669520Da210D64A9B": { "balance": "10000000000000000000000000" }, - "ZFC4db92C2Cf77CE02fBfd7Da0346d2CbFA66aD59": { + "QFC4db92C2Cf77CE02fBfd7Da0346d2CbFA66aD59": { "balance": "10000000000000000000000000" } }, - "coinbase": "Z0000000000000000000000000000000000000000", + "coinbase": "Q0000000000000000000000000000000000000000", "extraData": "", "gasLimit": "0x400000", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", diff --git a/packages/web3-zond-accounts/test/fixtures/common/invalid-spurious-dragon.json b/packages/web3-qrl-accounts/test/fixtures/common/invalid-spurious-dragon.json similarity index 90% rename from packages/web3-zond-accounts/test/fixtures/common/invalid-spurious-dragon.json rename to packages/web3-qrl-accounts/test/fixtures/common/invalid-spurious-dragon.json index ec8b9b16..c3486735 100644 --- a/packages/web3-zond-accounts/test/fixtures/common/invalid-spurious-dragon.json +++ b/packages/web3-qrl-accounts/test/fixtures/common/invalid-spurious-dragon.json @@ -6,7 +6,7 @@ "extraData": "0x22466c6578692069732061207468696e6722202d204166726900000000000000e0a2bd4258d2768837baa26a28fe71dc079f84c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0xa00000", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "coinbase": "Z0000000000000000000000000000000000000000", + "coinbase": "Q0000000000000000000000000000000000000000", "number": "0x0", "gasUsed": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", diff --git a/packages/web3-zond-accounts/test/fixtures/common/no-extra-data.json b/packages/web3-qrl-accounts/test/fixtures/common/no-extra-data.json similarity index 78% rename from packages/web3-zond-accounts/test/fixtures/common/no-extra-data.json rename to packages/web3-qrl-accounts/test/fixtures/common/no-extra-data.json index b03fb0be..54091dc5 100644 --- a/packages/web3-zond-accounts/test/fixtures/common/no-extra-data.json +++ b/packages/web3-qrl-accounts/test/fixtures/common/no-extra-data.json @@ -6,9 +6,9 @@ "extraData": "", "gasLimit": "0x1C9C380", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "coinbase": "Z0000000000000000000000000000000000000000", + "coinbase": "Q0000000000000000000000000000000000000000", "alloc": { - "Za94f5374fce5edbc8e2a8697c15331677e6ebf0b": { + "Qa94f5374fce5edbc8e2a8697c15331677e6ebf0b": { "balance": "0x6d6172697573766477000000" } }, diff --git a/packages/web3-zond-accounts/test/fixtures/common/pos-exec-genesis.json b/packages/web3-qrl-accounts/test/fixtures/common/pos-exec-genesis.json similarity index 99% rename from packages/web3-zond-accounts/test/fixtures/common/pos-exec-genesis.json rename to packages/web3-qrl-accounts/test/fixtures/common/pos-exec-genesis.json index 2a4ed69c..47ee600a 100644 --- a/packages/web3-zond-accounts/test/fixtures/common/pos-exec-genesis.json +++ b/packages/web3-qrl-accounts/test/fixtures/common/pos-exec-genesis.json @@ -6,7 +6,7 @@ "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000728bb68502bfcd91ce4c7a692a0c0773ced5cff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x47b760", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "coinbase": "Z0000000000000000000000000000000000000000", + "coinbase": "Q0000000000000000000000000000000000000000", "alloc": { "0000000000000000000000000000000000000000": { "balance": "0x1" diff --git a/packages/web3-zond-accounts/test/fixtures/common/pos.json b/packages/web3-qrl-accounts/test/fixtures/common/pos.json similarity index 100% rename from packages/web3-zond-accounts/test/fixtures/common/pos.json rename to packages/web3-qrl-accounts/test/fixtures/common/pos.json diff --git a/packages/web3-zond-accounts/test/fixtures/common/testnet.json b/packages/web3-qrl-accounts/test/fixtures/common/testnet.json similarity index 100% rename from packages/web3-zond-accounts/test/fixtures/common/testnet.json rename to packages/web3-qrl-accounts/test/fixtures/common/testnet.json diff --git a/packages/web3-zond-accounts/test/fixtures/common/testnet2.json b/packages/web3-qrl-accounts/test/fixtures/common/testnet2.json similarity index 100% rename from packages/web3-zond-accounts/test/fixtures/common/testnet2.json rename to packages/web3-qrl-accounts/test/fixtures/common/testnet2.json diff --git a/packages/web3-zond-accounts/test/fixtures/common/testnet3.json b/packages/web3-qrl-accounts/test/fixtures/common/testnet3.json similarity index 100% rename from packages/web3-zond-accounts/test/fixtures/common/testnet3.json rename to packages/web3-qrl-accounts/test/fixtures/common/testnet3.json diff --git a/packages/web3-zond-accounts/test/fixtures/json/eip1559.json b/packages/web3-qrl-accounts/test/fixtures/json/eip1559.json similarity index 99% rename from packages/web3-zond-accounts/test/fixtures/json/eip1559.json rename to packages/web3-qrl-accounts/test/fixtures/json/eip1559.json index 44705a28..656208a9 100644 --- a/packages/web3-zond-accounts/test/fixtures/json/eip1559.json +++ b/packages/web3-qrl-accounts/test/fixtures/json/eip1559.json @@ -5,7 +5,7 @@ "gasLimit": 35552, "maxPriorityFeePerGas": 75853, "maxFeePerGas": 121212, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4802f91c44048203338301284d8301d97c828ae094000000000000000000000000000000000000aaaa8402933bc980c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f31e402bc3ca44e1e7e812865158f22a0e70f9790c6740afb514511bf908ee9e51deab654abb7f3a044934aaa0dc3d09c369dd6a1df0fb2c049130228dc82c4665f7fb026d516d4da5c7e08a601ce81f451e23283804e7c0960acddc202b6a52c4452015d64f3e480a0cfaadb7c5946318226ea172573c4a2ba16ed08c1bb91a77d3cf666895d90af09f37cbe322ef8a5ea647820cbfa04073bdd73522e9f4578c44a13e695f961c91e7b40f75c837c9cc9d5035bbdeb7a07518f8fe28583ae5d24a2e2167ee14f1e6ba9a7e59386b5639a550d918bae1f611504024b61deadd076680a315a5b63dd354b5cb462e9a045abff82077ec6c80e8f6842577565f3e10791cc324982aee8493d1cf8054f24e1d73e02604326593c4f210fad2cbe4f93993348af27c62a17b9ad1bfc92bdaeffa55d03187c37f95a0c92ed1ca77d8fb3d60abd6d6fb40545e634a0cca26134b262967b5af1285ecbd5fbe40bd33a15fa09b99bffcd7cea10c9d74ae401e2ba42fa1d3472dd5a7c772da3a7e8b49fe544569bd48a4f0d0194ce9738f3a4f3b349b997b5821e236fabf1739f1266893ff275ad1cfb090f216784d79200fdb10b3bfac7d92106135ba34e4bb00ee6252b90beb45e442eba2f9b8f5f073f9566ed11fd3afbc1b0d30248cbdbba2759ddcb2598914144b4c24ce3ff7c45135e7b251e4663123da99612813e920a209f2420f2f3ca56dcff7abce627f848acf70fb91ff4f792ab33f171c3fd2303cad7736186b805de5fb376739bff9d91d468d6306a623ef9b5360d3af8d55a11b9c984ce91a158e82108d0f174913ed567ef288c2b5dbe65f8c14f3a4386045814e0d432b17b13ee35408a2f934b76124fa0224d2e7fe0c3ed17f658c7503334b01aedf6fa24b3058fa8103aa247f5263098be603ee1f286b6df3f166a9fc27f8f5fb2f8acc464a3648e58a5345f949dfbb9a77615fce9738ceebfbaadff08d80e908a7d390a2f05745eedd67bfcf1dfc646337ff9db80753492800c9a0b6b22afcb4e4359b4aac9d8d19c2862a9f9430e5c75840ae2c9391c95336abd24b0f7fe12418c65969e7f6feea1da6e95acc73216e69d6fd0ed9595811150c25235fabaaccbc2d64dd63ddfbb8239b8481082b49ed28dad8ca3073365dc9159259ee178b4a192a0ec1e2621a9ebc710b20c4d176f00031dd807cab36be29ff5b7785d0ca066156cd5e9a4e4f14d3d073689a3ea6f9db3a7e51b30968f0f6cb949f8a689b3a4f3617c13519fc478b52ce134617361b327bde825cb4f6df785324cdb238b526538875761dddd2f45055cce869942c8f9117724035611c3cd3caa61f3960cd0d1292d26145fdf90ad85252a58af0ae4541748cbf13b99d0017bd5f34787d117d7a7a40278f43b5a1ac021bb7c415ea4fa7033e4d2b0d3ee6ce26d9642ebbe910d5ff7639b70e377f133ca43ca0069b2f996d27f694f935c9239cd2d74d1023e820a453d25ee0dd37c50d98dac08184b1749ecc877a8b3e83ac50d395d631874a5b51a9e7520929636583a3a8c3b8ea0c7a81424f834970c369348b26179f0c5663de1e62df1de5bf464318adaced1a6151bc73ce7c7885b0a3210ed1056d300083ae8030ff3ef8f653284b7080231cdc1c9e90fbc864f06460bb54de044930118d01e285f9a297c6ea3080241ee86b29c46e53392f149aa7d06d3133cf0995733f3f1c0cd5fe38858d9742ebd73b8d9eaf333b6440e9444c0a1618041c087863b4c222382e4551464b7166a3738cfb73015782a2ce3547efadece0f864db371a807fbaa7378047685a2c32def9c3a60147fb1bb536301edc0bce29fd06871f3125da6f14157457d6984d22e1d80e788bbe957c061f8cf46c1286f064447b597e7b0e63d16461bccbd08d5f306ec1ede2f66988b1de22700f2d0e9d324b612709ed7c9065920bfd179d83d444dcd27c370e75e0bcbc902b8873b3ddc66a35e42d1f2201441b73c68dfd211e52cdf249f76a3a8bc8224e0ac2d9c3eee48f29576900573f6e07fd728045443263612fb4eeea90847de0577b1a035ff52b9a25563f797dd0d58013c349d9735a6afd2bf5c7804a5e9827c41d56765abc198d96315e4afc442404a6af16f6c6bc4f27010710b75470d8960090476f96db76f361ba929b5c518321bdb1bf84375603774e663da29afd9e133fea0f5828494ea1cd59e8bf9ed5cfa5cb6d9b010eaed3e3f39029e3a4dd489941aa297c4b56aab66536cbec4abe3cedbfa82da3afc633f59e1b77680e123e0723966ae420afe2ed5c7ea15a86e3ab1b5168ee93637e965325e23bf07babf2821ae3f30799e5cf5d0572ce69860591c9e3d3d27c8f922e22b64f054827ecee8a30bf855098cc09a648d80117c4e8581692801286c22f2d4da0a7ec9769ddf530861a6673cd3b9bd6117bb2c71fee31c4713a73208639c646a98575cafbcc3cdc42746c32ef7aa24374a004f867b29cdc384c106ccd6a7f2fdcda7fdefa7df338092230b4a8ea6418e912b5609deddc3d602ab077c73273699e2cdf690b1b032a358b31a093aabb6fb93112decfd8c804e0ff2ad6c08ba6d33f8ef11dcda054a4a11f5d34d2378c8afe2aecd4a1719580fad793e2c31a4986b1e44c0bf7f838ccaaefc3ffc01ef0607ce532aca3f0aefc2bf545e1bfddd86fdc3e5569c974b978b434e2de9fdf820a4b547759ff80b36417bc5d69a52d195f9138ad6cfbbb06f992dede9e6d78ec3b9a3b2eacbcd45cfa3ea9da25d21cf55184e8bb6c7b4dbea7e2d3ded4fffbd4738da7367743c6ebd023498edc558f5143815094c6f6d2118ccf9b9827da40d8b27a1f6bc1ae43f5853458828bda54e58014de4a0cb3709d171370aee1a0c619567a0dc9103b92125666b37d2b45b4b9b0f25c15a6360841aa31804b756e617f3403c92d5507876e1c14aa70fa517fcae97b6018d934c9026c9799fed157417dd6f30527444967e10c47b39c1327643fab2c029804f23c1b051f41d8ccdf3c3acfd569750bc78e0396d3a694a7410a9703302bbd1c58e3507de5d56357b1590f563b2bb0bbf7048caa3fc7c89ea501d929d23c40776744f2fdd97ffc388e3fbe5640aee6972d8ec830408ac6703cdade9e329944dde141ba394f89786367a5af8a994702a2585bae24c23b8e772a42afa92b4d8ce1b7aa372b562baaf63977b34449f7ba4dd1b906a58e73045fcf5160adc09dcd360818694da9974dbb6adfc0f7784c1d31b6bb2bbbd914cc311981355f870fc1d90804da3bdba640f8c70878fc21844a4ce6e2b714598adfe415d67d7ee95983d8fbf28574390c5a2ef99076a428a62e4fbeb1218b09d3978416970be19347597c8d1c8b43bf9bd6f0f67e6fd9e935399e36b33e34717b9130802de354a38f3d4b7459a82c1d729fd52747ae8785534d24d3e5d870bcd004bdc8978d06e2c0c0e4135cc6dce11330ca0bc407c4acf5e1a2ecd033a485fab5db4fda5d51710da72a49240dd58fd725c6f856b0ee2bc07f8cc473c29376ce08ad9c1171d09bb072d432a5e0d15a9f695c95f2c7d2cfde9b3933e00a115fe6f3e446ef5cdd5ee75bf2c89e40a1bba154af228127385855f20916e9e3d47567b11d28b2a17140dfc7c014e70052e280f6f4f841aaf81d66a3c7740c3834daff8f65860ecef9debb7452a366ea77c42742eb9bc3cb88bd67a722794b3e85b501bd26ed9c2ff502b5b76a8368116fa98c67d2d9b74ea65bebe773342b87b2da8508a31bbc76d8c5a9c58b1ab93ced437c3a3570aded7fcd85eddb1d6d46080cf76c6fe719a67ad2585ef4f7f2b533350117b07cfc22c0b2b0f557b991d256e0b56844b8ca12dcbdeae2c27a8c0a0cc0e95fb4721e3df4a0ddd3429614a9d3aa023c78ae7c38c6c553072656ca4ecbc95c9785d6693973c8bb304caebc981b803923de0467d16714e5fd1b001999ef61f3919a3e0890ea6ca187b8ae906f9b57f33b6b21353cd9a370795db6812de5cb8a791a8963f32cbafa55f7dc681e345ff9c6c5675145e4b256fe657566a3e5f2d4eb0ba2c2adc407a0e2963fbdc6b8a880842b1d96932ec5f20ebe947f59e78d0f8aea5457df67db3162b464e37620d8cc04eddb68d020d019dcff85318e4ec4c025fd98e30933cf9ebfb9190a3f26e48e2e170bebe49900a763f3de7cd965556956e2a666c7c3d711bac457eb323287a033215f7161c5258b49f207d3c888521ca23a6b0c62cbba5d149916dfb0c5b81aba26f5e5cd21d574211d375020ba1b8c82abaf243db3c5d570aee4f4f455ba3efafc554bb8c263023dd741864a06542336239cd26a230c09280fc780fa8a0daa120b3a36e804c37cc5e927ce798246912f5bbe2ac9cdcad6d4a287ab875bef8e296f1c2c455511f2f440aa90a7868b4de594926a83b62cbeb338ae0b3f8e01d9bf17055d9c9c054dd4a73be3dc111810653c71b84a5c9bd7bce98e6e533aa40343396c9ba6b81e0b91781573ae9326213bc7e24064af7b9cd75f57a694cc111925c049d8f5e973e61a3600f6211a7144841cf13a9177b88f5ec41ef7b2c5cd7e06f1ceb494c4147283f629b8f31462b9d5c19c22fb652555c3bc3f500adb5117ab7b8918117b2a7c137e7325cd9aac85ac98d55cb55429fd61c0bd8ea858c1361dd269d2d461173b4e24ce02bb8d30521fe9f407d9bc17cb37418f7c9e4443298b92891a1d5fcea1361dfffb8db2aa181c8f007bd0163fd52b75b23bb66d99697b87eb27288cbc337372850f5458e364ab6646f94e17322ddd8d353c658fb4d5d29d84fb55acd736524c2bbd0edb0a6846e64aa7d77c6008614275b4435b38a3fc83eda59ee92a2d1e86059055eee97a6d5729b2a6bcf226c89597a370ee1c9f69bbd36cb5f36571f24d2742232f17a9d43524b5bdd7e17230e8efccfea3444216eb8870041798472c783a37c1fceb2f5be779ced9e328011476bbc9521557141512585ff09179c36829fdd9f11353faa2678522414304d857db8270ef918c901052ce190a3741d48536258c435275e4ed472275725569802fbeed0fe23c101a55d4a56d7d848584308415a06e6193f281390f95b4ac94249797a15ab2cf965ededf499a2dcc03705e50abeb21c288c505b4a7016e213818fb1d4b8c202f6cf84789956a5759c43a796838f2c2d720de65a11ed7d59cfb3342478db314084e57344a22020abc19cbf65d7c96bdb51a491acd2b92daeeaf20965ee7cad5166d4a20305f9fd439189d8a58c52dc34bd88e510fb810024963907d4fbde5343b978f3704d4f220b63e08b42599b2d535dfbc61f1b5705266fcc5e3eee37d4adbe6ac8332244c5cf52044e3ad63c38b9f6638fe06bacaa0178a3d5a553a6d49a561f21377690f1d14a00dafba76a9f154e7e27833c36261cfdce2cfee34e138fe346198fdd8fe6bcc6c5d34b88e77105757789ee27b7044aa8e05799e1241247cc744a31d556f854537e9af81df5ee9ef1c830b27e37d94b58b57f157866445b7aa324fee7916711e5227a9b6f7b14d3c39a60145bd4641f37aca4ee2b7bf9ddfd0b085cf4c42378090aa870e45d05b5dfbfe15ae6d6f07a7350a7c24bf4f90c66b616ef28f368b06a4dc1d12a4eaac07324a72235a6d6ae9dc48c1c80ae18c76d1364ad2a9d2ae4572a82ba2ef8aba40cc356a3fbd3054a7bf07fef0cd5b1db775c48bb5ec94e246b75b477bf28aafdaeb74c606e3e8b76e546ed7ec882d203078a3b982064d8ffd6bddd2225dd27ca7e5e9cd62d832a82fd61427845b5b8fbae90bff21886a526758d83de838234f93e603148bfad389c1bfaaca7b75ee6586b0c9147bdcafc8320388a24f9fc43b467d4d868710bc639888cb2a8d6b433333a3dc6a31464272e1aa0fc04491ff89ee5be994111c8781a706d80171b4ecbb86cef31403641d2071ffb8f297c814a63390cc4ec32f702913a7c08d92c1001441e3149aa4562fe663387cebd9d1ea71af1f5c14dbfb1733c2b1027381e56eb7e3d3768d1c6a2f29d53362947952c3a8598f67def0de814af7387ac6e558d30ba793f41c4008b3b9008337cf0f504a90041b884d4cd73695e98a622adb0175cda0bda6208026902113d11776eefef5c01f941fd4ae6ce6128e77882870a702c86530ba29c6df95183855cd5978b89a68fcf35bf075c98400b46eb419a098f4898e2738cc929cca9836f3140eb1e1dace42ee9c0ed46c93315375a581fbdda4ba065d1a5994bd99a124c08e3514c12ca411f18c3d4cdd2afed764bf330c5fe8f7da73117956c9f29ea6771f80cfea4658ca422b47bec6a7ea0a06d209cc8a8aeb4c81c68e6ed6aa1bcdda3453207e32efcb974589aff889543087c384d618d70135485f607b89b0b3ff838eb3c40b283f4487ddee094a5e8dd3f4555c6f7789f1f301091a33364d58dc18236686b0c8030f5a7e9196cdd8e7f400000000000000000000000000000000000a0e151b222a303a" }, @@ -15,7 +15,7 @@ "gasLimit": 32593, "maxPriorityFeePerGas": 38850, "maxFeePerGas": 136295, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4702f91c43048201618297c283021467827f5194000000000000000000000000000000000000aaaa8403b08b3380c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f370a530f88574fe49fb0e8979548f0452e68e6bf6c7d397793b24b59f87613dbfd838397aeef62ed3afa2b6e6a0cf990b6c550a6226d279a60d2b71b2bf3835db14cac660a97b9da52cf76217522e26f4a4e982f3dcec44c2502b27bd70a4e9360f15e7c745de77d75c31c1deb6083ec1b06b108e9e7fe7f06335c5cbae7f39746cd3315a2bbaff3a89818dbf82925520672703cae50ca652b99c20abe216fda3dc7355fbe3290a8aab8ddea9e09f1db68087ade5954fe849e3452411cd8e7b7f5ed6328b69bf4a60ff70b33338c1d1adba6e1fd2ecb47c8e0fd2443124647370a4c384d1d1ffcaf81f7ce57e734528ccfb8370e295acc6f8bda855882ac1eb7ce600465804be853f22708a0d562d1a5aa1f9b116da4b878b9d31ae6a3600d380d234fd20ff9a25cf86c9809c3d9b01ca45b502f3f9257e995d02679b1adeccb7273d330133eaa12015081365f0cd42ba0dfbeb21b49a97d1bd7726113aabcf9b0aa12bf214d89d14f55328ed06d4961579ad3b92174fb9e026494ec7d9c4543fd0af5a68506428051deddb7952f9faadd21bf28cb4feaf7056f1324a9b30865f035ebd89ec201fc3a412733b580499acf751eb8c70bef8cd59e4568bbea85633ec21790d150a4112c38d8080b362233d2b34cd4ce910e83915e3820e3a67a63542ca37cf69681ccedb7d143a92101ff92a504689c40d4e16b78ed46c36602985243e8aa1d57e3bd2ab828ec97b47a5260d9b5312f89b2cc202cf0ca23838cb560faa92b5404f11abc5a9c62827ffd3b12ebb77e074b4628ad63ce6e313dda3936ac9c26f7eadec03a6b00052018a7ce5a8713ef2fb8a9c612e46f40d42c924327cedd0d633e06d9573ced43a99101293e55f432ad6c6013b976b56482f6eb5ab7bd601124dae1141c5c7463424d0ef4df329c58f476b157527e70e4707d93da48c83b4ae0cd14c4b6737b6d88351eecbff6b0bbb58b5f30a8f1cf1f27a8a08e16d565b3a7ff5f08e52a97e0d3729c9e5e50cc844d40c0f52a7c40222db1f55e37cd66c79698337098cd5062f99502ba5e84df0c231b613cf250c40ab32e531b31514955c2c1151ba7ea1b30e6a4c2d9f46ac751b2e2dcfea3a3b37c664cb5d6e18b5dd0c8ea262a80ad66d53ec14638f8b5cba4706f70801da0a143393e40a8ef49767af44d4923b299c44faebef35e0b262c44f62aed49744340ea122469e067c0768a3e62f5c28fbd2b5b1d5c2f08fa7a000c6033a5b1a875862c16b1629160d92b13c691c7f01db56ca9f521ad13e82aa7c2f278377f42b58e9d6035095b76bd9afb0301bdbdff88e8e49aaba6bdacc9affff75278e463c323ab9309bbc61f8080d9ecc9382fe2ac6a17e09208f973bf46c740f543fac2ac12ea0bc5f2dbec026497da357bbb046751baf0a7e4a6ce586b980cc9efefb1c87d97db6444c2cc9faafcb5d061a71da1b154582f3664d0f93d9afdc77725900dd89d29dd6ed4571e1cb131ad3be5ffde3224cee6ee862bab6d2e5b208a94f0957ddafc3ba531b1554b92dfb03c204a0bf200e1c719473a0a1535501fdcff817b03499c35f75251d88fc5f2c214cd55b99f3e3ebd4d130b3e9e653306dd0cc89f5c12d932aff7ccbb42b0321d591b30eadeeb41630537a26737fd68fe05b80832d9f9351b37894ceba26210c54d55c173980eaba7d15495b440a14597c6e80151614d75895b7040edff5365277d3b1eab1bc778c1d981f9d3bd3e398014d34395dab0c1a1d8ce96cb217545a7d5ea4f5ddf48a02351e4680250026c199d5a059dc499ce56179ea3c3b5d674d2f3c294d4327ac9d686bba578b0c921b1576b4bf6f921074f1b0a202a1d4d07eb5c5bfaa2d387ef43d53b17f2fe969aada5082268527394895f514cb5716dabbbbb685dd73bc3624e08339e7c6deff52b9b3b23ff494e08c9e4f9adb8f6491bb8954d78b8156182718d7540be10473724b7ecfb599259bff8ccd0a2b1e5e75ee3f0b2bbac0cc6d2426b69f1a75253bb666d2e64fdefff8066e39874a3e7f5c095a773055c6b69ee086d1591f9c779d7f451297bf79de7246f6bf001c30c7081193a97a6fb0e544712db22d16f7db8d0142f9b9ff4593bd1ed95e88ee455473dabfe97d0cc3cc8067426e4ba2e0421b64dcfc7705dec27579e4bee63156c1321f72ce132289bc088cdbdebbf6a60fb85face1ddae70fe378b0bd2d48e5213f222e3ef6d5eca5536fbdcf0836fde048a975408120f7b8916a0709598c35a127d67f594210a0c8a6c11924dacb12dd60c6f5c2cfce46d20a4d88d77f6dd04954c7f92f6d0e91fbaf5baa22ea8864d009323f14d4b223856c81ac63618e2302ae2304ef7aab1b055313c762b3313256faf39fef46695cd5ffcc9f1ce1759c6a8be5862c711d27b1b5e08af8764109f3e6f26c977249529b74214e2e2bc581ce8029ddb7366567fd5018a3bb2f08ca9698748a58a97b89d405bb32011e083c4eba7d697e721a65504cdc2b85cdfe7262402687cb87ef65f926b35cb326a42bfab6ca0cdf5eae762eca5937197fe342e14b8dada1a0caade5bed7c6379482444adf0e330b1b87b600e75c2f00acd7c501bf4192f1efbefe6bfb7e29949af12e018afed825362fcdc9230bc321057e5348820dcda30e6cddff37b9a74feb6795ac36d86781fb3b537674992990b48be990f5b3a07392f34dbfdc8a807a63e83838444c5a671b810e582f619dc29d5b3d247735eeffd259721407b35994e6d96fbcd09fa754b1fb549a5b0eb1ec17c7d77e6b6a571a8ebd0997a8ffcd8383f70ab55c353992a3bd0f627722009aa338187f8f0f7c781c7d21d0175b0bec018e327074e2e0297d30627b2b081d0b75bd607247401f33200a820f214454c1218ad13a8d9fe1b23baa6e3edc9cb6ecc4ee5ccbd8038695ae6a8307597445951dcab7d9d3bc0843c85efbf15298873d956e0c2fb4b57ba53c4abfbf577f8c68d0cd133963dd4f8a70151e0afa9e8f7693eb8ae51837f63598ca221c29084441f7f85a6de073f05428cb9902f5f825660dfd3df94716e488db0de0d479e65344b3875c8c8524954d10afab391fb0cb65eb804fec6e9eef3a11f5a57e5eb77a3ccfc5087c818e1746bdbd302f44e6f9c704d501d95470013c3ead5b261e6623d9afd0a1af160c64c44d1ef5541c08a735807550ae8afff6cead6b27fc7dd4023721b04cd40bd617e89fb5644e4c0d56c24aa2bb888d8715500e4b800916e55c557d5c4e3a491da960e261c990ec4ebf1ff6b93c446c2e0f37d32da0a08a02888852bb53f8d31a2d47b260b60a2c3aa4ffcc31a067172bce3b9675be9d68c23b7300de8886ad593afd725540298c663100bef50fb21b71ffb993720f4b9ec28788ee70bb9d859710104ba899396df4a8521873bf3f16b53f251715c6a43e8381162537cd8271e3e0c9ab8005ceb8b8aa50d53de6fe7fc67bb80dbf1f1a550f4637725f52d8687fc1a85c7ca87e6eacaaa834df14ab2e0e3d4859329584fc03cf170567c93f05079b361eebfe862362c97ef1052f421c03768f9980e77a2124f1c7e1e85c38d879d9c9db518a25bb58612ddece1a87735b1e966652d4c4291b1eb520651f7eba36d9551cb7a4976dfb2d85c3f36f0e85d7e7074ecc48f793d7305d28b15c7e05b446723266d81d07a4e501c01f64d6413c1d90be95e87b185c80df9ad95e4bb0519eec9ed642e3eca067486289d673f0dbc48ea98640c7e0d9879766275f0f50e7db309ce56730edef2c2e8c3510a21068610e4be437bbcfd0bf62725330885f76344f85f6be07636ae7f463cbc99e7900520548df8727bae92167d5140eeaed329e411e2f1f18cbf52797909613b2141ae7bc8351f94efbc776fe58324b6088ae8277ca146c8d77768973b5acdf3184baa8795b4d7e0569c78bf965b4d4f45de00abbbeafeab5316be9c9f40bfd5779eb2c2545984d688096980c27bd64c9ec6e8d94b3039fab343c60badbba7746f4b497a17edd964bd61f3ae4d63d3f37b2c0af9889f3b2517531d529c80b9c9df37c8df110e651d1f0b587f26fb81690fbbe74b322638d843e71c818eee1eb6fa735cc75017d4dcefe00f73f91ebeb3d4f66988dab16cabc9524ae7c779580e20a8612f4e8eb585c5dfab9345cffdbfb51af32133a187cfd2f3c2655610ffc059f6e0c799cf7bf73dd5990367c8197b0fc0d6b881807dd0a1867f2960f2f6b600a05d3fa324352a406350e70bd9872bcb363df9f03245c2f58af28554e2684bb201c62110a7728f2e7a944619c66cf953e39a8826cfb37ee9565a3ae0b23247a0c8671797b9c795f255bcb9a2bf291e938e23c712907da77e8cae545685f0dacb140b8574a2528572f3cf980a7a2234f856915d281f750fbac09cd13bc2dea19a89b7f8ad6df039d04b8e8ec431eacd28abbb5a424daebc59324b174bed3f4161b69563366e43c867ac4415a3fa3790869aa2fa2a08d4b31db5270694fd1ecc4d3383ab46ea584ed98f8d6a85c4f993bd2735e92bf62ff00f83337adb9d03ee877298810db9a7dedf94d5bd39c01598ee03ac3a8993bd2ec51ea2c3f406b498d6fc05ea1eea6a6d35084f6238ab5005059f51ea0a8fb269b918b40a826c12cdbb0fc61895b33f2a1d27ddf12eb3be160879dffd38f3509c6ed5ac1ce1a7c7871b5077bb660f550fd70eaa4c6bc0f402551d811cde76f35a739b3aad6e81fecf817aa07ffb52a36faccc9b95ceac1f2c483a16267d0182a7b711e88a192c8f98c163d2f629fa2fb2f1edaf9635a6414d3a6f1c606b702c8656c4411189864b18029ac0862d1a95e0cfbff8927d58a20839830aaa97d29d3008a1128ccb91ba458ddd26538f9f6cb7f192136591c5dd6e85ec1a876e8582a362dd69e786a934869327f51c4279f5c670dbf85256073b8d3499fbd69e3ef16db5fa1c5fcc325198b1985af028bb6f4501c6fa7198baa634df26cc639ba46c3d908ab547dd98676a6f968fbfc3522aa1e5700a1616cd73a2644fa33767aab9d2d76ab6a794d81dfba6781c5043433a72624a8ae67d82faabd5fd0c309c5b4054de592eebd73e63cc9dfe888eff396e59e6b3b9e82c9b891b10b6d11f7ab56a79ce69cf567e6d60495523e00d93597ce02e7929cdc993ea7a3fb64a9e1a96022c7ed17be36f21e186c314fe489526b1fe462252fad8c0d5b95c1aed3673bf4db8c5fedf4a682f7d374bbbf145b4f8523809de99072ebf184208a759bc9b944fb670056a76e625395f04b324782ff353f0bc7beae46a6778626825d2289fc591626b06877666e8626f4d7073fdd2eb26718b637e90441672fba959ed52589dfe01b04045b96448657ec18f35f10790e90ba67d0a865992ab29838d6482a5f9ac10ee39637679ad6de429b5629071878a2b13b9b045dff60b4e4148873fc579819b0695a99f0f429899eda984775e0e57bca7c5f5e4b7e42cb48f71db9cf6326bca50ac63c962eca24141e3c02d8fa38afec2efd5124a74090cdaf35970c02f57469c1d54fbc114a5efb06bb625daf7942fb774d698f6bae2d84c27c054c02dd39baaa3c9e6491ea3b08c89b30b0652ef0c09e41ee28f5504eb79ee8f9996eff6055577af7cdcce6f34d44ffa503022eb22811fbfbdfa696ffe4660c25c682decaf7715c113377599d830bc0df5290beefb90fea66c24e236c29f458416bcf8e1a09d7b1b49e700299394bb76873a19da78109102544c8cbf7fb469673f154939be8a4daa0f17ac791137d11637ad062bb1ae2a8ac50e01cd280db9d981a918f9517c20faafd4577dc9e5c7355ebe233661fc33dba7f288b48b63463ba9a6d4e78fd6a320d5303911bfd41c1e6581913101abc7f7f3c3f3ffef830799a59c6cbf3defa293b55cd80ec23feed26c91bc4836c717227ce2017850c0f313fce8b6a975902f86667c3f3455788ee96e90afb1676ac62b639a34af33b7b4e81367fdeab5d107a62aebb7dfd280567fca1a3916525172f648849b3a84fa8bf90f3f98db25edb580b0ccf89bca26f9dd5e186401dd8aa02f6869c698f416dc9b3df61efd46c90994e73cd5a239f2dd1885d7454aa1133a10c073ab9664e1d6a874efa4282df95844884779c74129fdef27f9e05dfdaab9c3d557244d06da082600392f69aa2eaacbb26f15b08f03bd4cb1eb4e3b7342d3f97eaab2ea69c4678cb95514186033fbfe3c4a7b49c4ed4bf926da3ede05d0070c0eafbb3cec83ad50023fef39ca0a4b2962a46dddbb0d48eee4d7273116d9b766a6fd53a19ea1db61b8374de6e9ab71d43e4416ecd5ee639f6347278605921e4a4e3a51961b563af32c2d8d7f4335944fc33f611fe992697d8f7492e0c5ec0a825bf314182d353ab2ebfc153597c7d5013d575b78a1d1f4052780ae0839a9cc1c4f1a354b87a5b6b8bc060d0f84a9c3dd000000000000000000000000000000000000000000000000000000000000070c14181c1e262d" }, @@ -25,7 +25,7 @@ "gasLimit": 68541, "maxPriorityFeePerGas": 66377, "maxFeePerGas": 136097, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4902f91c45048203d983010349830213a183010bbd94000000000000000000000000000000000000aaaa8401f0657180c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f36f55262c289abd3df22a8cc8b1bf8b672475f799d01b6c250932279aeac0eac23acf86194fe5503895dcca80a43c0dbd174414b241b85983f9831b11490bde3a06b4eef1d7e1fba68ae12261330ec0c40fb6f124fd9d754f09bff1181aa0019a5abf7638cb6342513fd5f74d109fa828b1ea663f1472226e4bac8d5bc349547db8ed027d02ec030d53b5c1470dd3c94d3012d8e0abccd8cf916193624d7655691e150ba27ab7894ecb67f58cab7cfd4798ece2fa2f202ba5f55e04e7bf819c9fda95ef25a910247add60d3f371370a9016e972941e1c0352b8fc0c37386b15b3587f104e2de1289d637e883c2fa1be6dba5ea48a31c8c9cbd0627e622458c8eb4a39e9b88a2b0a97a8ac57c2a89e30c440dfe9bfd30e81518ffa5dd4fdb09490379d46c46f9d0dfa324b892988a5ad25f256e5b7e1a49efc02e34a4b16d69c0e796c8552efa2b4e70e9a9aa0dca66f2a635696dc281d7d388c2b361e321aebf175052b425d2928e955a777b40ca602db96e894c2a8c32b10c421f3ca35b7c6cf66502b9df8253b26fdf51d13d56aef552aef954ff8a843581d0b3be8f2ee9ddc2336921c18fdbe205b7d59caea4612194fee2aa4b915ae1a19001f038c434f4fe3965ed9b6d4f32f143cb477d252035d6cc768bc204f2e07a16089ea603ebc2a568e89de9c574e89e222a8f7a718d4209382f9824ccdb872f891560edb7e8e1abd71213a5c589a69e42fe9e234e6a5a0600686efc3a916d57c75a5bf932e9f19c26e2256d4dcaee036ab885fec9e03b99fdeb6b63fa91cc29e1bb8ba47c9bd85bf553d1a5767816983436ef2e0e763b79c16103e8133770048001c9d5ce581605aa12e9759769cb6522cfe270cdb9a3894d893d5ce5b02f10d2743c2852d70678ae5837b62dd0b4f3a7c1b16510782f195e46767a13f666d60049711bb80fba407c950baeacbb25697a53f3583b6dd43bee58e9cc542ca2afce49fabee99e4d6fcaf0034b26053e03fed78ae1e6113cbb5257300b3a5ff0597765e03ab6fc96961b18bcc44530673e998d257a401a45033da6b5861cf06f16785f4b855b2e663bbfcff752dac281421d1bd80ce597fd7bde69363983177430509497d73b2ef06d7dc25f7ecf50db9f8984883508a46027abaebd2b8025174cab0408cd24afcc59ec160ac22224e70c391b075d119a9b309b0f43b195fd14e9bfeac44310eb80fab2b8854c73584a55a093c1e68a17a018a9dc3723f3bb331ed2fed124f90087b743cd42e50ca5d41710b414ee6e7c79fea2740449f117b7123c25ac5db5ffbfa8fb88c5680a21aa739172b2c030ec55be796ae2176b74dcf0df41dcb8c510b336f88b1ffcdd9c5edf4a9280bcc047864d750457aff3eb80cf252d5822a34ea20ad1570fbe86e5a1c7c03c120d503cc62784fc15dc21dba0e4c8e13f1b8ba3f3a486459a69950e72439323aefb84854050beffb46f2909768d9e420cf8f3d10a09f2e47dda14be1c749daa584b114452ead0882382e8d3f42aa34f76dd079e768d630ee6ae77a1da4b3374184e2a264be3c2b8f040cd9547d867042b10ade19d6c157b859b2eec005a5828cc3929a2b4c8e2ab881822bbc5e92a629975a82022a3508c0b3e30134380c810fa2ee58c7afe5047c26e3f48f2620bf88844d3696e926f4a889c91f95ba523533e0d4e2b8725e06df80837473403a56da3861f9d2a83d5934776e5e6fadcf86ca3822f09feee60277df90e575b28cbcfc6faeaa053500812b64267435a45e500fc6577c65d5fc60dbe9f67a4c5ed5f4e9afb401ef9a579d63c6f3a8005f7483a0a49885b5fb2e3243b3b5492b7050eeb661e55d9b73cfb4be6ea5b912037e60e0ee647922fc6a4cd779be6bf311531045ac29eceef4f1f0da2ad1a3df1d4dd1bd11614b9d36407ba6585a79b2e6a9ecc2cabc49d50cde3ae5469088e8ed4c18a3c80451cd98d65457a2e75d27ed24936934dd0162516dcdd83099700083184c80850625f28cd934f7665ad1d2b5d3f7cf783aa30297056f74182d06e6cba83095a13ca31e1e39934fe0b78d68ef7b29480b304541fddfdb805700cf688831a05b9c725c0641cbe898f219b0ad985083df109065c92576a4db0863f526b830a1b637fad9ccb5a281153f5c6cd79ce924f7d60ddd8b24bd3b5d8033a27d4c0244ae0f51820133318d1f20c74d4cf6e3706b707effdca86ae3f5c9e16bb4a7f974bc8d1016ccd28591dbaaed1ce4ca72c7328f5cd3c76770ff68bd52e83af101b337ebb9986d809a5d096d94bfa74b5f5f1f75222656baf814612f9f3a10b5842e64dd93d7c23b9e587dbb02911a17309e00f505446067c20d7e6520e0b195032d366ccda99bd186721acd33c0e9e744c162005b512837330af1a4b167b0a97e3d18253c55f99b5d68ed0295fc8b3027d361bcc0653baa4c2aa206fc51793038e484c2c06d5ac18196c7a5f537402bef5793418ecf202fdc2ff603d5484f9507d900d9733c209787ce65d359f5c9ce882cb51f23a412c16556b3a6a9704c132158180eb93e9a6d339b99ad9fc73dedcf695aa1c07401d7b29862b258bb7df8bc7901f6bebd327ab23a972a14a94635e2f95d3cd082755c5619f5b86ba409054c32405346a119eeca838c8903c4562732cf6457320ac7155d025cf9f5d31f1d8a7810cf2958c2f6d837e69b368b38d002584bfe7ef78dd5ddadcb883aabffc697b18a2aee90c680ca1549cbbced7cba3bae03c3593f3eef95af2dbe4bd879a36d5832aad0ea8424d42353e73955d26bbd0887d1eacb17ba85af57f1c13d3bbda9a8a072d2fd8da93101e76f67ca154ffa80715e1f2151352ef1dc0b77f4ac6a257382efbe46399a098ea40cecdd21f11ceaee3baca7955b6109df0733658d01a9244b7b6ce39542ed2fc6fb274f8b29df13903b10be91983f6daee286d855cc75ab5e06c0c2ea71be56beca6b99026cf748cfe57562095a1e4545e52e6a55bf176e6b5f149179695edcb36219a4a7748872e0f9aeb096691925b5319c030bb757fcd00143b3346ad6180d62ab0385049975afcb284f71793dcec75bd438bea5ad107ca0162a7d116f7299cdbbf330d5f79608c7206e87a181d0af3ec47163e38a21617ebb850398c8a6beecdbd47b35718a8ac9207b660c4488569e3c5368b63a160c16fc1caa7c8474815305c8718bc73eb9f0aaa3a137dbd1e79fe29eaccb3505cc6f9736c640ce52f4b65d8d82c6562774e9ae53522ef98637c8f6febdccef6cf63d9a626d3e2502716af35696b48ef997298a5722ef7779ba97b377be34a2030e16cee6bd36bc18d0dff876121d4d25897d4735f4e5d5d956a65f6bd4e2089d4665d82de0498a8f0eb7421b81832017e827c1a48a8c49bd0cf5e1d296f1be4976a4b4bac101022fab2c0b023bdd9896254e4ce67d8f9854a432e7332001d87c585b634d98268046bf9ffa9b897086cb792d7e4d569b6fdb5d900671fe66d0036743f424537a325e63e2756f178cfa13500d60a57787702341e9b18c6c1bfbd9eff186e6aff13734527829fb933b5ef724ef8348064d08e30cc1627e41367877ad88693c1f90edbc0b771a6b8d6da57e812f9db7f63ea5d440f21c3b953fd16142a0cc50bd664e220dce1378dd2cbaa3f5a55745ea0ad63b65195058f7093729ab5a64b95cb046c119675bdb337b080eae6a54146087adb08a5ea4a62b02d6f95d0c64de0be8a2524c278b6238554f81a8daf334abeb31e039da921c0ab3518bf384997a123d558d8c540b66a2159f1fdc54ccb5081497b078009fcfd7304f67c09d414fe68e1b7797fd3e810ec6cc62f8958b65dfb344313f1a6fda6769bba16e450be277eedf9cb716c5f0e2afa05dc0bbc2583e71f7e07767b77f2170ae236794ca801ea9f4ae7b62463696e0f09c60b2d6bc2e18e513610e2e11bced82408e4b188567751aef2c6bed97eaa42b4f7421cb13ad9d6717de614c7b5d5ec52fece40b706ad6cc2b8a12cf464b08524170274bce3444ec400e5481accffe77d57d28c7290b071e873332a8f649067a19e6546b26ae91a786a368cbb1aa3617f2760c893eb753222f6b5bc4c15b06f7d0e35c7304c5582b9e2980534d04c681efabf641aeb979b42f7aa980ae021f393035da5f71d127dec1c5cf59999dfdc1100a52b0f36e680bbc13e84247c0661163f876eec050ca78bb9f9a931dec8ccf17562c4f31e9e2bdf055e77f80885c896f69b15855748e77c8a0d1b326fc063fb3894cf8387b1b7304b53fec5620c34180d0aeff6f50a2e87de49c8de44867a7eb903219ef99bc0692bf8ce073cd9af7154463442ba87353da22481271169eaacbf091fc4a2a8ee5ec6abbd2051898bf2603ca621daee683443a0d17a68b91b8ae889bc303231c24c0e182297370583ae12835a335d5a4a5621bc9b49651768c19e029373737e77219cbc5a195fe4a054df5af506a87e1f2c8b6963389c7e0b399efb22bbc21ab59fe60d46cc71fb557a7be33f7466ef74305015c67979d1e27876ea054b5f58f10dc6e1b954e5f1c376da7b8dc0a21d77a56f5f3b898783de66eb1ba68f2e81d84c0095050f39b80a090824766ba1fffbd717a6f3b316a6d5d4ef3e3855a130198a8f6aec3aa059aff46911ffb9affea7851f3d89afb6f131d7931835fa02bac26ec37b37b2b8489f43acafe45cb779e570d544b4e8e9e1e9c5da6df7e87e9262b58ffdf85ede26f28487f26779d07cf9dad2e982103a430db7ae975e66c9a08298df4be05ebc536fda0cd40462131f6a94792d81d534450ddfcd6b2555af103510c3d0d01c03b66796c89a051a7c59ace1a22ef2032d891600184d927b37935d48cec718600e8fbdd15fd0bf743add5f6501f3a1a64bdf364755a4189f1aa3c882b5d17446d1b69ab356024dd6392126deb9737bb6443a6dc5f2688ce49db7de7ee4c91cb1831f69c0678b60f8dc7aa0c610f51694b81de166ac6c09a69dcec1def48f5c9652f327f308a8093776e21917fef6387924d5442192ce25be27628429aab7c5ccf8f2bad9974537448c00792d9f5fc708957bb93cadd541971badf141191e58eca1c4982119b1c6b1fb84b76f050d05147b99f600bdff6730d3ede65eb9f2f3dc5122f624427f2cc0e228df17d80c06ad1ee1913d5a408c6ac3b37808d70d697d6728e60aab51efe8de7bb60a6444fec52be8c20c030a670da0635d7c42cfa2c4bc8e791925662c457a83fb1238f83555e9709e21cba529cd309fade5a4561d92d0d01f271c091bdffb74dcdadf2381e20f6f6980c6a0fde839d0b40e6f30030a04e4e185b487f886c000e560bf9e022205fafbd57b1c4a7fe07cc1855026324788f57d9a7fe7b8e3110ebdadf5cb6d47a91949297e9c736f289f6d8d9fb514fe2d14a180e2dab4f92ed42a220da0c53acd26206aa08a75706697748a31efae233d2427cee5af445b7eeb39a98d48a4dd4ae5c7efa6131ca3f3d163c01473e981d70338fe461c6ac02013d810d62eeb816b7069b128d1ebdf28b1ecef383c753d51717cda4632dff105762489115542af8580cf9e1c4a1aed8c97a4e1fb4426785687fe201cd4b98e8fba0496c753ef41a465e4b0b3640be7946e73e81bde4f983cc1bddf00c83a03cbdb1078c8bc35765aee8c1ad0f0c2c3cc3b5faab22b02be726b30163afa2cb14e91264467a2825022c28eea1ec3dc6fa52e4b5a18b549a08252cc213207d3bc7414bbcc8a666310d371fdf293847a243acffa95e84b84b8345e8e4f0e8c927c233c0822666b22ec7ccd0cb63131c13a628fc0ccffad55e0aaf1b40ad2b77c7c24c3548197cb723d517e2db6cf0a2a8ed363c7ebaa406162ec3b8909164ce37600ca38d9bc2397d920b6b12cd2e77cb38f68dae24a94479e7be32c5ccc0b92f3d152269158cd1c026991a33d1e35ce0702eb416e592c28cb9244e599c5616bbef26bfe6b5f9284e3fff989be28a5dc562a602e7d3ec45062ee9664182f9b66e088e70118d98f716a92351f49bcf0e3ebcb7efd0bdc9079ad1542426d95c71f0ed13295980e10fe993c93d4c1a96d20557055ee86a9fe66fe2c7bde85727b25114e6198a5a1696a5d21556a901be2c708e3bba02b3613311709b8ce69e57942432735b7fb61ba3aa1209b8aaf0e227bab4473954d66e5b2a5322f8ca6aa7754d5f2097b9af6bd29eecbca3c810e99709836cd6a0fcd305723bdd3d8abd1e7a6544a96c449e4789def08770b6fe5bf6217b5f2651fe1d0e04749ed7440562db860879f0a65313b523613adb49462972aff95c323fcffeeb3668b9763cb73627f282349524447fc16033a0dfba78fc170e6ec398366cab084f270996e53ea44cbe96336d4e5eccd3e6021b38536b79bcd10307253a5785122138939cc1cfea0a3e4e75b7dff71c3ef2f81e22233d6e0f12466b81969cb2b3d2eef40000000000000000000000000000000000000000050d131b22262b37" }, @@ -35,7 +35,7 @@ "gasLimit": 57725, "maxPriorityFeePerGas": 74140, "maxFeePerGas": 81173, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4802f91c440482026f8301219c83013d1582e17d94000000000000000000000000000000000000aaaa84014a598780c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f389085fa58011caedbf477cec0dde4f48dba516c75eaa699c11914cf32ed10da864138533635a67e4ec4b09fa8d68c13d8406b61aa8de995926dcce96276202010f5b9814e55f8239b9fbb5db686d8e2b182a6008c4013e2abbc13daa757622c87a6a438eec4adede24fc010fbb0fe1c6f2b6524494c60096c85bfaaa2d626edc8f810bbc46a67ab8e401fd90b51ea0d67ad0f0789b5cea998c1c7b89af8db6255a29752633c7dd30e32c29b64c0aa7ff088eb9857edc31a79d0a189ec2d7074bd1931739b6607ff9eaf676724c51712fd3f55311fed92ad0e34df44dc3397e61fc725bee343d2cb73659ee6a25001eda75125e50f7015d932bb0fa03c3ebb217ba67d2fd9534d37f807e4bf910b038ff9ee9dad8f3b4abccf085816e6205be0054907322fa4577a4bc4f210570b1b9148b43f74acfbb0f6e222428de5c55d6e2c50b98c34435a81f68ed3bd126f0fc3fc5116a0fc471d27ca229e956b6ff18ebe9b4c91a0a5428d499dd8c6ad0cb856949e0bbd8427b60a9f6910af9957a0d037b0a2307a799f43b32a7797cb06a6f5156d8d7b62c0562ef6dad2e95e2d58a1a30ff31863dfae96fb20462cf4b2203bccdb8e6fc55fae2f442a13772d8ca5c91bd4d6e454595b257824ee61378ccf8280976961c128d39942ea3ee9a06bc5888bdf29a242ed4ef97ea030b9bf630b2286f9c77dd2619652086b2c6d8faed92900d2ee5a4b49b3b4100a827699f6fb3c31ad97aebbb21599f4cf235ee1835d57fe9451d495390d7ff76f17c1f3a408925f1bf536430408cdbab29956bcd4d00118510865dbe35a7170df4c3f71f61b3c759f0fe03d67c21374ab442f16161ac21f4a212f31a4f69ff9628228a3ae3f4f189e3bced753a2a521f1b23c14904ebbc6a8df8bfb3425dd46698383c856fb040e0b9e58069699aa98631020751621fe5ea8058b27394f25873213db3742e246bf9de2a80bc3652644a1e4e7f1c301ad972a3df9f46a43e11751f9e6d89a5bf874f489a5a777bea7f6f87b1ded3f8ea3b7a0adf16d2c5b0b19290c4e028b56c8e3ef78c3345cd4d125cfc36b5ceec6b894321fdac094344f0a8907833f99ff7ceb2de10052a9a9bcbdee92dda96574674cf5880310225cdd23944c7da96084c1150a1eaef5a1ccb609c0e7e378127d6c5ac5f5a5f9d21c664770ab6a172f7abad5a024faf567614dce5f2e4e369293065b95de9c847bf1e9784fcff8e93af466a1a8e49abac8115d1cafcf78f6123137d657c062b500a8bf1c44f4047466ce95a55f92e207019e687cb60c91e1cdbef8130a0818db3eb59adef3e950a1dd1ffceacce3c3fac005b04a152ba27b5582aeb3b2ae3a1fc790bdc8fb754c52eeadd39d6980ee16876d431f7d864e0f6a526c8225c50ff440bd560ca5fe06bd38a5cfc127b654aa4ce97acab67d69fa852bb52e644b40767b6256bf5fb54698e0fc2cfd5b5296fb6fe50a15a2ea1298440559186886df7918be0d49cbeb580e0644ae72ec28801a6e0136ac8488600eebe53638cd0f50cb94cd6447f0a06cabb4fed96eda6add82f5d90b6ff1b1215bda7a18ce512efaa8259ea5a40e766602202ea7696a3b44f794374f7e7445ccdb35f0fa35a91e73d53f979c8261c434141aeeee21d1b23a4df15db58ef47fdf7dd493c8cc9c9b6eb31ca0afa52a4b6bfa08551562c4c12e4edf74f6f88982a86b4a1ab1b7b5bc9e0569a58051fc3134929ed8acaa8862766e9c57babedee0a092f9272cecac9f0bc5484ce48e38e7ca03e2cb272051d45bdcd4276847b649baff4d8d3a10d04bfc8f1c54329896db75998afaf07a4fa9b2191f000d4897a76b52eb860bac2b25b21515a3bcdeed9719fc868bc8e47d8f6e658ec6945ff7ac0ede7a6f79de1f0814d4ab752585cf86945edf8946f9df8829e136005d0750928cb7f2c9e201297569e0998204b1fa4a153081a6a7342c05b1b7f0b88ce9218b62e2451b22ec17a7c330070245c1e1519752b47aeaca22ff24427b525ee9b4eca5a08a49a6eca22699bb3d43f5266decb9985dee040a485830709a171f620917fdd2e7fe1f5e5bee0430d3a480fa7745493a506d1e3637b11744626fcdc690e52c077ed2fb40de755019943ab4607a01e403de777046e30de5730ec9accb3dd62ed888c400a5c1e040a0d7232e9640db327da1e88d482c55fbf241e83ccee14fc51465b5f6e23206033299222b3f5fcb6992ca5f4506d710ba8deb051627f6b8e54c5ddb28b3f1d28673f58c36b57bee171339fd949306d1e0e74504d2ff966cae07b2fa3dbdf7758d14aa7e1f5483af18e1aa3649abb1c015eccb9a7f4bb84000ad319a6348611b4aa1ee683a8f051b0118eaedf3ae967f9fcae1be3385a062e6f73cb65a22da0f1f2e7119974c12f5c6a2aa5d79ef8582d70d8b1c36dbbd2d03ab958f7ab219c4a3556fec7aeab9a26c56e7a0876de4809bceb43da949a7700ef4b6911fc3800f78ce93d34ac938caa48b946deaca33f57af49cb0a7f9b717e705c3aa30c92e8a3c8888b2a799d2b7825ca521f065a75f1d4df95b6da85c538a4208e0ba7c6809df543f09c6e197b3f41ebe286c714a3a9d96642d149d53234e085044f153c404f2fe95cca01fe802d78852f5694bc4e62c39cd745c085e33209295844527bba5c5a04a3b1f0539b3512d6596d21e57412eef9e7c3624366a49cca2eab0cef5971a57079bdee46f8315c117a6b2a1586de54c27edd29c9092a37e68cfa0b9301e8bc024c8d8179b2abe0cd80ace0113b231def14dc9353721cbe328db23a7a9ea189c57f117fb62ebd9ece7982b0fc9107b70240d46432b70d429cd1e56e6be8faa28ee392506a5b68e702ce946f1351039b39e53c6fe5194d3d4edb6c430cf353db073fc76be339c8dfc07439d550da81c4ea01413ffd64ee2272081880ec124d89e30887e6c2f227057acaee2dbe0e4b5666b770c3eabfdc1f22ab37df8bd8a0a8cf919075782fe159020285142365bb3eb320ac807036a62e508f0190b02e06382cbd7ee5794e159682ce0b2594597b3f31d2652816b728628a56b5bd660d98af99e816632fd81a866b9cf874b4b32096c2a417ebda7670d3b90abad137605fca5064e7a64f9d0e23f611b1868774a2c391529edb149906522977133a9c0b5b181aab76a03ccc1cfda7853bf0a4756d51b6e85a605e57e5420dcf35a8297a8c14c32d7e6e49886dbfb5513eb7a06e255ae9c39c022c24a441993acce31f39467e4d37241a1c228b66611160c33e4db7a94891536a60180e6cfb04fd0d2525ec207c10026f474c0bac29b54b667afcd7bfb50f4fefcafd1bd6e10f8678ec223b7cef75ea6f472bce3ffde2f996b106a26a87caae61edfe9c5b87ecede86c81a4e6d4fc27c92b7fc58f25ddfbe569705fbcda0295e5690728962fc95297c93ad53b052ab636397187946fb88bfa4470a689f89327a9dfd295aa711608a87834a281ff4bac7f3416c25f49ccbbc4867b1d5db9926c30c9f4e1a412a38f0e68717e1ca6b80e7bbff28c2a67739d1267f69623dc8caabd571e0c54ef91c02355353b5b2d4f82196c3ba377c056781740560f9e50b0fc1c4a76b69f301f9d2552cb7c464c218a1c135c0ebc2796ee47e00c054c0d4bc0a723fdb6715d65129fc5aa19f696cd6d1dee8ba9f149e3902d65effe47df633721e4cfd4d4c8414a22013993a2db666a3d212cf5b8350666ebe3d92fefe90cb270b7b31949dda6506a590a6df466ee4ca8154b7acae9b07cfd5d3dcd9c093bf2d70ddf57c8201527c2499dedbc029b5e408a81923d069f5d7a04a0d9535acb0b0c74e024ee5c39e58ef9ed3ffab125d728a0eaf6b027a1ad11aa4cfaccef5c53573a90dbe837bf3ae0a24431ff3da8cbbc3299a8be040ba18163846851d6a50200233bbfc1ffe838331f0e62a842c17255ae399e00c0a811d6aa51268cf7cedd261a88cfda36b8a5bd04508c89815ae9e4c418657db1654b67328d14b099d48bd0989bffd512470f7aedd8c58946319a0f77d46754ba9d57da27732facb8beb0840b47dfceb1ac53aec85eda558c5651e8ed05fc0e9bd5d30d6f15104e07eaf3b53487b012ca651512d2f401cc990de6258da8f603580d00be75c38aea270aeaff59ec63ee4fbfb1f80b62ca97fe6d7b744f806804f13577a8c2c07638073066982d7cccca30abba1072f8db33eb810881c23c3914fdf092e94ce28318c0e4e4078ee508657db4b6d4fc764e8fa3cef48bfd488d214ef0e76b6a24ffd42974400ff161e1de09264493a2533a802b83dc6b09a8732a01912e9ae1f8205e2ce63c587c57b668ec941969527d1ad829ce056417a7b73f6b1a65f6a1041fa120569d6c6a744250ca9e7c92052971be608e38a51be6d5f83bb706f49668295463baaeec5e0d17f788057e0ffc8a1c2ecaee422fcaabaeee6f00ac2a983e4c3035b9842cf04c94506ee8c4e328e94f8c5ac60694c82addf0617721ad5a4120f066cd833765f8fde78234d6dffef86343527c4ebaac4968e3ae33de73876b87d444cd123a662929055e30b44b04f3704f0fe0d80a15f9144ad894360b88386424c436f1a94a2ff810b6c8cd49c359491294777dbb67f57f885f3bb83fd97b4823762d1067daab778188b39b9610d0e30ae40e9c9e4f4193772f7d60c8e25c3214c5b9980dbf0fa529d6bd75bc42dd6ed1e4688dcd0101258b5a1f931a62829094afb804e4785b4a88b7c83d1ae057b5fea1b3240c51afd52761d72fbcad6a9d9a5d062e900f4492c576f0479f36282ae475f3386b843afd562078a740eb4e5ff32ef8ca6e8730e3ad4e3f0b592ba9eec8697523ef619d5cd140e42bb9691edfbdd174ad2100e59fea0c1ffe6884825d83a8f1690aaeecc77b12a1b38469b950b08c7c75c15b71362cbe7cabadf8281f9c6ede9aa26d45d3237c93fb9598a3a07ac0f90e76f03acf7c4a00c2901cdd23d17103b648513cc16a57cf461dc002ac704211376c979242b07a359452e84affd27b4f344e103a7addfd823a95a30572c47b0c4a84e4c81e5ebadb8d57835b2ee9a280e7f1b4738f228b7d6390316dc89f8675f856a2944d53780ae20744b86d45044da7c85e2b59e13898d3b256e79d4a54c85de2a436914c986bd632ddb8ae1e2d4b9881f396ead9e6a330ec9c2ac5810f07893477f17a1c487eb4d99d35699c8e1993fcc15a1df8107aafdd8af7e9fceedf673bdf1af7215387991c5be3d5e9a477003abe62f1ef96ee5bfc5d7cc05646ae6a391066bd4e4b48f2d711c33c9f9ba3f4e79df2c63d41c58c86c0098b47ab9e14753804196886ff49ac733f48a62fd45d95b55291f6aaf4f7d5219d04581c92e564060fe2d8ffff4c1297f4836e7ea11a1310e30edb63257a76f0ae55a55d56e16d0f1450db73d19cdf1d942257cc1705f009c7a3eb12cd96516c6cfc652d2dd28c5584a2d12492fc88f3cbd859d6d471bb51bf663d5e762a827ac06b4bf8ad4de4349ce1c479219b644a0365320c74962a2e67080f64269b72f159bb0bc6256cf180b2e31660fa4b47fd31641b29e99cfda1c772178036790baa3aac9436a538bdd4f83b173a130a47225967c097ef3e60076cd24dbea18c4bb5ae836c7d4ec71ac4f46baffe20247a196b144f344a7008f10df945515ced9efdeb343a2edbb530eaca7cd130386979db74921fba883bc0b1d8fe78ba687f137b7102a4b8138d0c5fde6692864eb7ad1392c3e2f4da261c18747f0dea03f9a651897a31b310f504998b820c6e245268a2f47bd5c355eaf74cbef77d02bd07a1cfcca458cf3c0057d6a001fb6047d78dc9cc746fb850992a49ee892446c59cce6fbaeec69bd9c7bec4b4f34aa67cfed049951fd95472f5a0f726bcc90a24157613597f475ec437c6aadf8199418baa5b2c84abb274e1d4fa235aef468a86fc8b5c948aecdd636c02ada9644400d131f55bf14ef6cd5108b8ae5044047afb7d5319157d4a9abeeb59feee4c98601d9ec5846c83d14562b1d2da0fcbcce19edf7d36ad7d71bd1814dfcb170ceef4dbfe5f9499cf3f12f2ee50db86831b2efa7ec54e46ff9df015fbee88b6d450ceedd377849be4d7690750165944286b27f403dc6a0e875968e681c5a89044f26db655977b0c4ae430f469b1cab979f8b2869283d8344711801978045d61f65a9d3604901b22bf672f38e7e324dfd3734c5bfbcee876e5b2f844057ed6981d0cdeeff8dd5ca86b048c5d8969b1d819bc6cecfc902a9dad6bf8766ac8afb46778fa452e036adef92ee2887e6e691354711e3aa6fea4e6d83e1228c5302a67caa61d38d17a36468cacd8c00bdc447c16689d58ee5a9e619724f5b930ab35bdc611824d4f5457748591b0b9dde2e816324297aeb1bdbfc9f519223249506792bac3fb2d577f98444756a5f75358696da9c3f70223393e777a8fa6c7dbebed26328ec0f90000000000000000000000000009131d21262d393e" }, @@ -45,7 +45,7 @@ "gasLimit": 65254, "maxPriorityFeePerGas": 42798, "maxFeePerGas": 103466, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4702f91c43048203cc82a72e8301942a82fee694000000000000000000000000000000000000aaaa8405a2ec3780c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f3626a00ed5b85c01c1ecaf59fadbd5f67e2b2ca4b6cf71eb131e198d4910dd7f9864777ff38303cf0edcffd7360f3239da539f3c00bec25e82cc981aec7a66232c0801e5376b1d56fad6180e4c1cc71d8482cfa0f2cd21a2f5fcded0222c74f40069e86b400e35900df1b1d4777ae42d79f05d636cc5f4aea6aabc82650911633f81f3039f9490e3f8fb0600370e7e429be5e38440afd318e3f527857516c732af4b63dcb89e285411c4b91ad3b0441c8da9ef691c304292025e0333133f638c581ab79cf4e423b47982dbe397ba26dd2ec7ea01487a0fd1035d88c25da52fc95695d859fc5ca257c97e174107487ae9765bc4e7d1bae40fa924ad6d6b50bbfe99b1aa928f1db1fa43e6224d82360336dc4dba5ed83198557b5a2c6c7c0cd24085bf24656e27f40fcf8cd2048f6e6ef0716b93b92d79bcd6302bf3aab36bb41f80afe792f0cb49ffe27bde269a8132d4e7c687e9fe5817c6acb0f5d9ec1872147464ae274449c83174a274a612a50d9940bf62f8b908318a57699df0c30d411c9d09175339be07a905b76644de9b34068364f7de250729055b0425c5e61a727991c6596d3457845e589ca59742e59b29b9e51e50796950e31192ed5f3782ad175f4a4c8a1c2d95965a0fc91f89931c980880aa84fba6d341cfdbace46735a6d7b5b53c9f1fc24855be63670bc48266d4acda27f10ddf18bfc2b9fb2f4d1d57b958fd2266df602d9ba8b28e0db3b3638799aec903fc8c7785fcbfbc0c2a1c4248ecd0ff9700d596ab8ee89e14016671d0d75a7d1f216c82c727e01726821d030d53eecbb68b3aab6cf7fc3c818982464ea14deb34fa8b2fe5dd2e3e412a8a7c60f630cee37e6b4d655efbee0841588c12120d8d558ce2dd9da93d2fbedb154875c123dc93add9b6071abf02c4e5d15535aa9c23ce2f02e32bbf73a425616d308bac64e9730a6e1dd91598e68248b647aec71b090c031518e64ffba1fc072f9e543abe9a56e66bdbd392894e5010c7454561d40cc2fac75869c6e73bfb921ee54b6c3f45426533ef89954ea6a36190920aa4ff6ed7a84c850d8853d3b9494ef46217e1c5e6fb5f8fd0b4e68d940acd032e98f53166ed5e9a84263a0627da0a042122822b7d70e2819bfef3fb0046c8d30e3ffc5a4a917575565aafc795e8f3b881d781e419259d5bb1e8d270ab3329bc21d5527b71b87b238df9ae9300d0f4b734ebe6931dfa80b983a365b67bee45bcebcf960a10ac04d8dd65b4ec7f4676931f41a6cd305d2ab86e5fb0ee8a6ff08dc72c36ebdc5729205ab358ac57ccfc95d1ce49cc07c15cdf3bfabdb0b5745881fa8a8432ca6e4ab1746fe14f385b87e9e263ed5816bc5069c252250343742934ab6bc8bb9b2e23d61e0d86b0b35169004a823e293d00aa9bde8fe748ef2b73e39a705b6747883c354dff1629de102aafad5db7f75b4df3e460826cb7364250e1264f3eace2b76a2d1a7db7aaee5d80e3acc40815dc944f133c537de3b8a1d4e7a6f9d26fbb4fac25a0d1f3258a9fc205e8f264a4a15467eb777e8ba16d14eccc2800de314c056a686254a70831a7e89eb889ccd8c38cdd90cfe691d4ec460ef3cd764754f9caa7e90312bedfd1d7d0e1ecd02ca9590003bf66ebbd0338aad9af56115caab09de72e0d0ff9e129bb4b162c6913a031277229b0a1ecff4f383d2da966faca5c334a966de9e60f3ceb96b909a1fc97fdbeb9cddb9ed837a996c882ab4672afe225de30736deb43fd518855c0a14f439e53a0292e4d3965fdf4f3562f9eb38af5e42a18396d58ca75b4fba94e2ba6fa03328b3b093a88e045d4c4f42e5dd4e5f51fd7d5574bd575fff16f11e8af98d48b3badfefc3108cf25bce5d547baa1fe48e61498157f63c72c235565a2e4e58f1c48dcc7f48ddbf083cc4955633249ce39a752d6f87514e6c79dac735b452928a328619e790ec0fa6b1a644c541c4ab2cb8067c7c5e957cf9ab97d600288406b741f8311741192c492e881fca8550516effdd91ca5ba6b319ca4909c85e43f83d4ab0748e4eede8bbb1cdbf7f9c392714354a35f3329f9c5036812a59da6f6067130caba18634fc82990a552596332674f4995393d6e2693c79773fa64380024cb578dba1af2e815f5c5a5888e263e8c720dfedac4c7c52242c60d97882fc2f0400759de9f7d5716f5da56dfb110f9c26403737e77b4a1bcb33f227aa01a94a00cd748aa3257044deb85404d3787617db5e893ed81ffd7e5f201377e23ca4b8b88a47b73753b0b54d2d41ef673825e5a24ca7641a2979c2a04cbd48b71f620b80bb628a611bde2160d567e626f98ac2dc9a935521c42006a0e2dec2d788d324e732042c7acc5e618f5a3ac33b47e39cf1821c16326cccaf7061436572a5f91ddd0041bdc8e4cb9f7f30458e648882a368e08ebc757b5d5c7c48ee025687398773748595b164f875e7bb305b07ad796c88e7d2cbd3d9a9377bb7fb0e07396ec65a7f7de2d4b64faaa4b192ea0effb0e7989b66cc234f35efe0a6ac83047f36cf0f20e4759c7da68b6bc3798a2b8c9a93a489dd9cf0c2e0b13649bce638ade69c51af2e67cefe993fd42c0bb9d38e6dbc108b778979970c8ef880a47ce3810bb5e2d67a6e3724b5617d84ea3e9f993633a75cdadfe05e4268e0e895cb2b0df8fb927ecf5420d7eeb046c1e92d187ff20bc3f9376d754c01199973c48e62a3ecf8191a764f0153f5c57f297757f326335e9fcab37b00532058ff0d3a3073614a29f487dabad52b66addf6aa655c3a6174dcdc0d9f5ca477515fef97b08605ad25c6bc24b9a63965e84d597d85b39452009b5f8ed6f357f64bc6bf49afc11d527960821037552b990819a3f46a3a24fe521ef0014a214f6b793b4ff12d29609290023fbbe5b5054e2b5910b74d1d14505a502ee04a71e205b9df17a86210a5e379891a1a260736fab7402b3e45030d986f76e4275c017dfd70caed528a4262362d5c4fbe99361bfb5b47cb32c78e1e23625af71c52a515adf37d43a55320cd22f675686baa36bee304667ccf1f480ddf0a36f542ed6e94d5eb65b88dfba15fd809f20ca4f310398996cf75dbee419eb098fec75ae44e610396e771ce6f755b5a8cfc3639de208424d0521d3e3d7d212d563fdcdcceea592ad53f85373686c3da6b949b57baa18e712cd945dabeb0f3b1dd1a0ab11fda0aad995d1210f8868e456399ddeef632e98453caa51214a07e468874b13b6eccd9832c9adf24a486903af0f3a70923de792622f50af7f6677e2c80106a5765e3c329e152e1d15f98908637bdfd38cb2e96c743b87e7497f7b69c8727fb202d61bc9bccd85cf1f3e3c3ed9c56e8f9763e51ee63a12608f61345a7c0ba53e9a5de7c6d75d6f86e7b10301af74cacc4d3796e1e98fb3175c010630d06640a70cad431a9abb3d9126c3accb90e7d2a50b3f8629aa83a0432e2b8c646c5a1d488f8f814094de73f226f66e064484bf4f7c1733beb87cc6a54039d6d391a787030526157e99b262d2b234e3285d7b9cd2580e9fce6082fd659cc2e90232480a63ba1038ac73cc0b52b1df811efb2cad318a2c9fc69bd090da5dc1f4cc2ada3d48703ac43d861bc50ab2ea9d8f63d8a164d7506c8c7dbe947e3fa4a9dffada7f3dc80af25b877673a1ec4aa72c238bd146a473592a3cd34a2097be62113977bde0db4e7d593800c8e31d146f2603539434d08e241082eecdb8709fa63710a9b45651d0525ab3df180de75f19eff426251f7e92dc6260ec8ea223f3e721bfa8c43aeeb2a7efd605a949e77a024aab20d9962b1a213d81569ff0ef65ad25d7c2d61a1786ef09b01c931c72a4693abe9bb88505ce879c9c213032a3c2f05decaa6bfb59b2f3303302239e933feb2e18097e08e5e592fbd659832be83bf268ba6b01029ecd5acdaba20be089e610d3824242cd0bf2712bc3fec808264f8a50fa1498ea83b460aea04cd516509b53aa501678cdee5f87a34b4e1d0bf3da15f93b39f9180440536b0319c6a277d911421dcc06ebf7a83c6c48219fc5693b610bf48578fd95caa34d03dcd72bd11884cbf4095f79cd204dd8d3282e52790dcd0171ba0523ddf1addc3f855870f5973623f3a14c607bdaa27f2aca824148a7aa03dc27b3434ca86f8c7a56529973985fd1ad980bcda4132584313dd5a768f17a4fee94b15d94f885406c2873a43413dabdec48505cfa5d859b7ee9a72df4ddf5f996e1bc7056ca5e66af09c359ad021dea2763597ec9a7a75396d8881c515314e49637ff55d45821bd5d86ab2348bb7868a1eace63808321f11dcf16d61291e7143836e10b9c753ef0154475cb79c3a836eb5e318e9dfc1dc73efa7f7ba3b4b3617ef7f60dfe0f2145f415688417a654480269d6aa41e07decd52f8a38111d8913a02f8d74de7ceab85de8e751dfeb2d936aca10bbdf8194167fcda9b72602e91bdac75105eb170557753e242664997a2c08afe330f332ec4edc4c0b15f27fe148391f317f4a45f51854ad22b9b645ffc3de0c569362f3ba7a27d8d9b8d910a2b0ad09a62b1a1c741c7de85eaf2a9494e611adc27b21188d032390415fde53e9f9c1fbf141e9db0e59f16b531ef524d63b0a627f563eaf0145b07d5097efbf93deb8463fda79e06a129ee89cf19018efd7e1240e62708b6e1ecb69b264698beccedbbd634148ae825d74356267dd2edc077d0cc41f668008708ed36dfc2d190f5ba3f94bb0190cb3b8606ffafa7ef18008baa7f2f4d13a2a7350451adeb03445a9636d0ec708edb058beda2f561d7ad492f91b04350eb9795dedc3c30c7484674053874a505f7ba2106e9ac0213b065118ceb6eef4657b90022c138558978b144c76271e52c99b0dbe7fb5b5245372ddfe538cffa7cd1885f27e40d7065f2080b89aa630d8d11e926d87237fe954f46ba77fc443936b3f0b3ba0f31196ab4b80b0d74eaafcc3e04fcc9825cf594892e5e3c26be421da4d7bc5b851d8e0140341e56969e3fc4fb2e4e05e82bf57ee02fa8ee6553897cf9d9a1be67bd2ed39285ba452145b61624c8ceb6dbaf61a94a8aa2c028daa7ee807a20c2d932b2a86d0b9b7ed7e3ef13b69b9d9819f82ec5d2ec4d7bef26085134f98f47bd0d90b8bd17db5a12883aee126968d790f7ffd5f671fd189700e207307158328e5adc656a268f7b31df163f4864c23a295eb07b473a4fd19696fd14b2f19957860fb5f049b99884c4569a28aa8fec978875d15b5e04fcb9cc6154f431a66a5c10c4b1eff0fbc883793cc5447e9b0cb81061d017cf5566ba04c85c20489e69eea7d8c7578f8716765773fd7a45c50dec6bda2cb84a04d4a63d7570d6aa32c5d1c04d7108bd728db39c25d50b523185069d050de2d4a8d13d3663df2b1bb8c97822780d84aba359bf467eef726c3747df57f5bd5f973746e0610c0613321b549583abbf32acf6d9b2457304507fbfd71f4956acb56a20e298ba4651b38c4d788599de8de12de614e80656153445ab3f3849f44d36442318a9f17c194001e638a34e19338ead9081b48da6891ea0b9f755d79efd7485e7230ce0f992cded308b1c5cc802cb1dd2b2b87c765f7423e7660a8f62639181ed50549b1f9644de58e872e28fc83f658256b386e5d4cf7eb55fbfb255169af5658eb058b4056e07b271dad73b75328a1ad9f043147035ee81b4606bb8b54bdb42f7d577fba2c80a413aaede218b948b69cdb45f987872417a07ed41ff59a7fced9a41cb140dbfa2fa3838669d636f96ab0ff861388999483a148643792dce4f57dd3ffd443cfc5ec3764267b14ff9c39956202a1f11aa3b832f02675a01b219e774c99e17f263430488107d5170be5ec9218ad696a79802c20ff068abbf065a54e61270ca9c1003b787cabdf10d8f7f4ff698aa11ecf3c2902d61bebb604c8bb10a1c7591c75ad4e74f4e0966ee92cc297b3a7f8bc24d7d9e2c642c3c94c7257f9578595367b8a533f3799a7f9af5cfa9240b3a6de8b2e6660ce695f185dd13ee1fcc8902cddc350412027a681928252f30ca5cde6205eaccd65e3fb33724b49597b64971536c887004baa9cb7ec229b7a789cd235284afba8d5c025aa7019d78fc2b1625a35113fc974ea5850edad91e573f9fdb64397c5bf16c71a35a9c6936a9ac9b2f5fffd2ddc3bc5b6edf90fe7a175152f72ea24a0dd08a91034cf02cba40c746117fda813637498f317794c5f29fcfe3c9908b145eda95fa762cfc396ac6493cb4ea6b86905cfdad29da7bf5cc395172e5feac461c64238b7a0e95218fec1f117a238d6907176957fecb47d882549c25b48f0e916e4ed5866623780f71dd2fa25d9b0fff1beda64248a6d7073c7ae6109796c002ea1d686c5bf74d6e2193c405e69ceeafa44808586bfdc132c6589909ec4c5f2212248697f8babf30f15173680a0b4d0e02f6a9c9da8cedce3f70b11727fa3b0bff90d1765a0bb000000000000000000000000000000060c151d262f373c" }, @@ -55,7 +55,7 @@ "gasLimit": 37274, "maxPriorityFeePerGas": 87890, "maxFeePerGas": 130273, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4802f91c440482024c830157528301fce182919a94000000000000000000000000000000000000aaaa8405ec1b9f80c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f36203d797ba0623d4c18ef335223568d3cde022df2670f327722268441712645b31149bf219abfe96e88670c20367f9958e8469c5f4f828b9dfd2bc8959d752e6d6df3151a35692a3a536e646b6844ff3a09566c5094047c57cb51a22df467410c79b85c6abd6075a2196689e5de785a84747c7da91d9294a0df8bb95cddaf97d6415f42c60cc54d9ff4ea900f0713e45386e6739297b87f00fff37f844eda791a88b785374f28af0e18f0e40edd36daf28372a7dcdd4bd223af296a7d373358555fedbec8315ea332d49618da6f4e4920bb581d1d31090cba84d41b8189583170aba6679e303340d1d09b19a3e013ab2d1beb93a9d2b2e6a4852ad54216d1388eabd99294aa787221d20e54c586e73d51e466bc6de7c4ac2a337bbb2456d1547bda73ecec70d8d0a5e0b2aae132711551a4547705ff5fb74415cfa307086a41f9c80aa9302f8faf6bb7b390b9535bf0d447cbed7b2813059ea773730ed5b5d7dde603dddd30eec74cdfb5f833c5ed1a9d2ea9ede90c3d450ba9dcf8f4852bd393cc2d1b4856864474ec34f67758dec60cf05d325475bf21de9aa5585fc4f8735df17cf9ff97ad8adb04355a2a67d09282b225e045f9cd168624b3fadccdbee0cf17e8029fda3140b22adbf9a96b6f117f40323492e10b82647adab4f8cf820dd46c48f978643dbc3d0419ccb4bb4041ff59b94e9f45fa27aae3b308dc344e11420974d8e90f53b2f90d7248d533558f26a15b7c2c66767a531faebe78f663347cde462c4732f881c44faf3d8cd3ea85a7f471f6ff9a7cf26ef4c1acf9f25b5f78c875005af429071518538e9d85a046c367c43624fce26606eba7658c2a7f54df2e0c5af01e2b005457bc71289864769318508e8597b33d8279ae36d0c9337d814adf03c158111f342fb7fd56b59ac25d7c8f35977e4c21e6c1f51359cdc9556c26fefd705e6a7d29e3eacb27c2cdbf7abc43e6f4a2e2bb2069e32f2b991c39279e757c4da7460bc72881bf572b065e30aee9e15f2262dadcb890a2aedeb50b5f2233ebf88ef0b95d2261018bb267079c8f03b7f2eaa1014a1eeff39974e77944a88068a5bbbbda0d7683336f8c9feb9f57d6afe73a36fb0511b1239a4da567024dcf0a37c212e5bc6a3953aaee76921f857791044ef95f8e4113a155c0bbddced1d2328df166fb4d6b44080093d6e7cffc0a62d17fc4a6b09089d1a7da90b316ae7c716d28d2f9298678132b42a1fce5f0871f9d8b02d86ae5b76640aa4737afd7ad5d45c0ed6a96f130813b7d51261b1f8030605edaa1258d0df2d20edfb4130e76c13273170da0c81d0c722b2f336e3bbc9101494ece58773f328bb1c8b9688be47fcf1c207835e8f2fe5225df5e56bde9acbc36134091972f33d33866e148ce59d986d4d6c5bf39601b0c687be47e450ee4f9397f211beaa0f5e837b776fad5b7e80bd9639f6d482cbfd6fd7f86e58c967154f2512bbf776fcdec5bbf9df1fa9587f2bafb277187fc7eb2a2578e38ceede9046928bd33ec72d046325f1ebbfac9dc00636fd017b6ec6a4e0516b222ce511e2eec18f00510f3da055345f671403044e6cdad3575ba071bc6e8f73b2ed5d4cb5226988027604ec5f9b784041744636cec5ab009d460622a4b6fe83a06508b5d1341d46c2300859069273d0c9197032426684e5e1555fffc384e1513c44a043409ccf46cdd037f0acf22310e3919fa215527c3c885978a489296b2e6419b452fb8ce2df53834e362771ca8c60846cfd2c28e021c03182c526b4d4ffc9e77db3176bb56f78e572ebbde5659d1f646a2dfd630fa637c412ee8eb5150492b998084b1e1bef37e61b5bc91e45a0c92c331330f586980ca97bbd4165809195b36155cfe0375c1e245b8cfb0d0c5a0d2858072ec13991278c0983348b71df4e8998431d4022ef112ba775bd55c84db9eeb28726ce6fc484eb52012dcad90f8fe5caaed3cd709c6ab7d6bd52feef2f3e0aaa5d50e1c4b02e227ca4db6731491f14ab7ef808a69b7e3cdb6853904a3aac9cea3f962a97d1eb0b0837b10abaef2b6bb4eb7efcadd7ba4b8b931799d2e767a845b379b7f4e79e77c69886955c06effcf11f97266c5772a313e04fa3f3934476135fb9208d19c4bb87bdb79324803352b432740ddf9443dbaeb542769ec92a27117daa35f4ab3d6e85944f8d7dd411ad31fee8cb0b7f15bc67f0e752bc2ecd28f14fe18076a26b442590819eb3918458ee4bc7cdefd9e37f3b1b26e4a7a79d33ed113c8881a5cd69df82dcd699eb321e9482811199d33c936427e352a1619246e645ef94ea79618e26d843ba9e8f48a0653b43d29a03ab231623eb559d733fc0826b544220c8a46665edd5c2c24b8f6d79ba512773fea8d397ec39e3a003746b9c515e58a463ea3587ede2f36d203392355c1c39b0932945e1111e48c9cb39879a81eccffbdf32f3bec52ceecff9281e521d309a5fff71c9bfd66fe33c3c94dfa67aa32b42548d7987b6b30c9a24041a19a32fc3b31611712caec6e062c164e0fa1905e6ebaab7ef06cea8737c952a7850f7c3a4852a7e3cf320918e1222dbdc34c1080da3b7e4ec5886e5474d9347a37d701a38e1736e14feb51957ae36afd49dbde2c5124073a9f59cc177c8ed7dfe3c71416b862a8481865896c99eb03a68cf597823cf5a63de31849a66c4ec9c629a9b87dd28e747df8905c2ebb083f782346f06ff5613799fb95122dfde046aab65b553dc7f3e8da9fa9795e76e8c117344eac257ec2e557ff6534dd5869255af47d41f08e18c5825976b897303512a2f95d04d7a4ff96bd81281c1c0f96e7054f6ca485343b3c594bfc37777a3223276837cacb4b373f5b2e419e0d603db049c06dd2525c768463c236f6655110c310f5cb8777eaac56fb59cd43cb31d53d5655704208e0acfd85cf1b22a517484f4bf8f258b7050eb69b4aa498ed05aa12fa77f5eeb2a46656bfe843fe5324c33a4943cf88a63da5419787073eea5bcd60baa70aa20af89b46bdd308eadfad1a8ab239d8db76581a84bd1d632b2909a1cfa82716901dfe154e623fc51fdddb641506a42675edd22d89193b648fdfc800e6fcd51cae3bff3f9bfd003ceeba492864374d694e5366dfe95c03cb798aa6d70cb128f73ec437754684cdf15799f1b61d97918126acbc9e9ab662009b1f32e28915871c51bc3252044d396a1dbdd66744e1114add9748c9466427864c5f6618eb2cf920fb8fe21a4ac835f47063723f856292a23395ab6e791c0190cde48eedf23b6dcbaec2756100d8d06c499a1a854f2ce77d9ddbc5edc705d4456ec8765da73c3fe685ba4f44e4ce478bcf3a5df0f651299522a4e71ec60376c6e950e7ec644dced9bc66b13b450d45ffcf8e942f5f476a83f10e29aea805a7b117a7ebac315fa698da3ce9ea88824cf2aad389a82ed28ff702fce0da6bdb5a79d7c94f27fbbede8ed26c4a6db5a97f9e336b6ff1d6bfa89bf6f4f1ec80c634c66d5897771f0033aa75fc90533ed60ed477bc656bc4c1bd8d65a0f5fc39d4372b6c526585dc826f2b54e0f74effa1c9e97013384e3780e4403290c732dc2846b067e9aecc2fc5358c25aa67b6217ae7c88d1a6d8c77941261a48f5c8126b9c00f649b1d71b35124e96f9b0517d276b31e512ee0e37fc766a041bdcc6e92c2a7621de88e3cf7b01a023a04d76b5e1e20fe7989121b9c073d6915a2a679e173620198e7930adbf9118a5627db30420ec87ab6117412aefc07b9032fd348ad8e298c5958fcfd4f4ef1e1840b78616110d8416880018a96e4765cb9b6c99bf92ee003020bd0db409ff379516805c196068bddf34d88cef6abf4120ad64c3909c27e412225d6daa7784df9c7bd0f920a71cc0037dea71219107ac82e3fc031a07c0c8f4c6b6853e9d655c71f3cdac9bb0fc84774f150bb108154391581c55511f5afe3890cf0126d4f7cb64f3b02597db4315cce85fcfe42fdfaac18d7da32aed0f070ceb628ea42f290c4e4d2aa6d6485f923a4379efa3d7b9262d83e6d62ac3d748de678f59ecb3aa48fa8aeaf8e4b84a028aa910052c8a6a197ae51953f0a76dbc19530020f4018bc43af5b29e636427478a6507f80761d715df0492eb6a24fd53a2c87c81ed36b0d3241d57bb74171c47f5850823c7951cc7c6d56805fd48b9d4c8deeff92f0ac344b24a1434d66b648974333c8d5d236a4ab3f0dd8b7650774a0c8514efa48115b285f385d7768beda878ad564cc4ac0cbe7e1934caba476318d9f673b99bd8ef5bb6c678592ce59b3b8f7bdf8e2c60169e08689ae83144a2327b629c6ad97f4588feee746f70d28305c9397769e067705dd45b9715f02fc1156e9633aea009febe9698492b0d785055dd26f80cbe2aa9cdf779d77f56cb82dbe74d2acb05a153c43206247fd8b54f1c06bdae138f5ee9e4fdd5cf8a9a8a0943632265bc849402559ed5d4e3c406de8505de80ebaaed0893f4529b6bab329b37d5a21c41fbad93964f7a04154d2c30b6db5d09dd02e51b7fbcb0c0d971e12294eeaf55a1af3681a7deb9ba679c77cfb7d3a4fa1f411f9d1ee37204bc76a319ab58c27c88856591d146dcf638936e88c429dc74f6365820ad794b313a9be903bae13e72abbb26a0461a5c526a039d50aa251f281c9f4c2e5190655f2583af2e2ed869a0309aa447398224a5123b4229c0156a1433c8112545ce504fde1ab13b0e9c1807beebf2158b5e4e4f9cd520ce4f3fdbb1c28a6c2a4a24d22304cd8e82a74116fa77d5c58b605f33d4124374876cc322e8510286745ab744d4efc8b49ee5879fa7a2ff86ff97072fabfcde477068fa8077eaa752b8f283c183808948f65f89eb40b6aa9eda82361871da9585b4f6f384cf97cad670ed2c60c02096b414f336092bd8abba8b64f5217ac3a18abd9914b40d6ed9f5dd94702d2b474687b83bae309eb5006b02b6b521b2f9a936eeae94df3fd76fd6eeb9f08495fba23dceb4969477e056ae538e8850a97055498a15b520429a27e772be631badd0f6acc806f46424c55a3201c858e99f9ca04a6e9fb0a72577ec61475779a8203d975edc55728170c93477368e051b41cecd23e0835252950c4a1adf8de74db4759df4574816ea329a773c68e276005fb330cc2454ad916270a96c632c61a0dd9274ec6ac88d563fe5c9c604466eb5f26643bbc3bc21dee6a8e8923037cb5fd9c8b9a401de7d53b6c8269d8d0abec77fe2585f29c8bac13022dcd4c01f5ba34f6d3024a9e943fdc92b441f6f29e203b761db3e5f22211264371b97f6cc7099e2439db71e26f88ab3e7a0b9dbeb7f99ddaad0a87b9743694931b5946a60ea6ddd7613b0e95e116f2df837be8456f264805dcfbf8818fcac37f821d0f9ad1ea1535fee033bef784215e70b52f73f4ca6a74fde656781b545c1daefcef810de5789bb77e267c45a35c26f0e55b066d83c63dc20d80d5bd3b6c6f2d6f5cc608aaafca221e575b4ec0feafa1ae8dfe23f1155b92258c4c9684df5ba90d70a1b55884a2e33026c4b986aba3f0ba33b7dd04eff8b5f40f561c97f8ed2c4791e22361d63074a2b9f9f84af0b7f8d34fc16a0f7b6afe1c4cf9adadacf3cf0e764dbb0962a2137bf8f2b381b8ad946cec4390d03deae302094086e7d15af275602ed9a128542bba7cd321f50b2d2aaa35ba1cb5e15850116b160fa44b6cb44713da08ec67b16bbab0377aedf846161c4a8d388631076ea888bc28cb5f48696f2d0eb8e0d8b507a29a2030b33584991d92b2d30cb0f364c9d5ebf8212acf74a2b7f6c93bf42576ccf2f627139e9c8a1e4ebd1f353b076913e81df4a5d6ff148e4d0286fd9e1c0799af8e1036dfb2b666c7aac7268cf1f36114f679cbe7b813b183da4a272e803378e986826b31af75609271831eb3eef701cbfb4cdc2752035159500afa0fbea6bca34ea1513919316ede7685484ac84f024f2f27222dc59c7bb650fc0e58e8f161f5cf22e8b6736c1b2297034ef6cff42e0bd5ccaaa9b4fa0e857766e5ecc9a698b192a9c3c4e37abb126e8beb4c210ffeb55fee0ae6b918f4dc5abeaf73db74bb6396dec2a633bfef1e69a0f2c22a68aca02cd9e687abf466f5487540c765c43d9cd1747e27f617876dd9b9c6014a9d1d66e540885ceb25a76272968f5309a770157b8c7685054a6e1655d5080dc3da39c33b09799c1f2e6586328718aae5c407367708168d8aa3de483b538be12b22ba38db49f1bd7babe5304399c6e5fe68203e3b03638f511648bd8da760a111ad0147ad33a6ac875ba264a17275aae2f852341a8524019c7450da38739f76be40bedbbfa7018d5bdea1a9e9fdb5a7e624549089451f357a6bc70a33d1f110fe1d92ce3a9a163e16aae5f060b125f77848bcaddebeff20b3c4573749db5c022838ca2b4d5d8f2f6f81f4a72d2d307294a5c71cbf90f3b40449ca6a8b9c3eefa002442717d9f052657bcee00000000000000000000000c141e232a353b40" }, @@ -65,7 +65,7 @@ "gasLimit": 76053, "maxPriorityFeePerGas": 8714, "maxFeePerGas": 112705, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4802f91c440482038482220a8301b8418301291594000000000000000000000000000000000000aaaa8401cfe6d180c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f351c0fd45239b2d9235bebb32ace00c6c74f32d9a7b2c68d2262926ac6965da191194feea472c5533a47bd2817b3550f507ced144ccf46308774d76e8f127336c2aa9ec2a6bec3ecccf7af971a4c98e39d309121f0a8d3fbac8ce19005dddac0be12c1746d6c386713c44033f55dfd987fe91117de3341d5ced0f48ffaa1c329df5d9e7a2ac7433ab3d3ed4958a50f5056e62c1a175b470d8f64f120a6f99502fe5c61dc581194ae1de716ccf8a779383cbc933d148fec9e9929d73574a2099ef6fff48c84358f36ec54cb95bdffb63fc30a538ed8a83e6d2e0ed97c0733dde3075c524c96fa44e92a0f6d3742628dc1bf5a4f6b39aa40b7d5e2b1fe187cc4f6dfd1ee26236ae36ffef9d34ad53879e7a2703ec7f2474624b775a2c7201a3af798425c09e88b9712b392a07df51a781a3c6c68e116eccc51eaaa72646406387cf945ec40944a84af09ea43948fe11efc2b5164e0c43ea3e216987e6ca11228a7dd6b394a793d83e59caec6a756fffb4401dd718c09586a1ce980daeb548d383b2795e512ca15c08c286de8df58c36ee1d2bbb53455c1a7bbb62d89ff9dcf5cecb30995feba8c354776f0bc73bed74a08a2c3ebff11eee963930f5081bf10c702bc33df8bb61e3d35752c3c9d6e019d828a5739a0e609d1da9db626d27f65ecc06ad92ebf02172a7add565c86ce9826d2dc2c4a7b3d0da83670adea13ba40bfb071b38f7d22a858eaa69280a75050ee73df9f7702d925911e58e6db04a4db86c2bb0ace5dc0f36654d6c496fa64e636739079d50956fd4022558e1972831ce3dafb6b8de84228e7305f2217c19a5c8f4b00ad7b3a625824e0f9d30039eef39eb5cacf51b542691e154dc32baf932f3a77f8ca550636cc597e57fa3e99a9d5c129dc46c4176a8123b7305b9593f32eb75011f181f0070f0a4c58e8d3c28453b18bf0be9210aa9327f096de2c2394d98b4a8975dfdb693af69118b30c2d197411a26825f3d68d524cd73279fd6011bdb3c79f54726e79ce6185436762dbdb673596f5a721ec9a1e34e876a407000d73b3227bf2e5674d263299c0a067fd41ddd85702243906bffa04a710c8be6614946013bbfc192cbaa89c4d3fad364ef3edceeeecaff9a1dff146f17d10dfb66a51246403c6f5b4504d9afda1349818d014cda5b9677e7965de222c48d6881280877b48259791b117e2ea8e93fbc7fb42974176a796416418661fd3fd22cb70cedbda3a9b4c4baf0af287bd4f225c5ace125a81b921e637a584bd3f6474ddaccd1fa898e0fee2666e964f6d23160573b65559b3b5b23d08bfebd7cdbfefee9dbfb2ce99b9672486433916bd02867573709408b3785f836a83b04c7d76edde83ba116df01a68ace99281b341ca34baba05acf3a14575d0e6019cff340c0800a52f79848f5e75abf2b42d53e49f847df9666e36fc697eaebcaaea0d558303a877a0c7f890bc06568c2c7c19a24b513e14231fc31531684facb1d897988ab87fdd31cecc2d6c0393c158013f9a49569d6da6e18fe438f8ae6c3fb018be25da1b955ef8d8c551e2fa6d75438c9c8d61383c52cd13084a936b19ef5f4efbc1da0cf937bcd68b924087d703d5b0f66063f6e65ddd23ae24039158b783807869427f7b7618d4c3703fe40a9b82882d80731705ae222a47315fe7be8f1bf5623ec069510f08f3994154b0b77ed1108feee548d19e83e39edf8e4710c231e61a21402342f78b686b030f87f4dd617512c50f22abae49beaefb8076d350cc615f4e1fe2b5391825f5e6093ffc010f329b93d6b39329535fd30cd60a95bb398fe8b42e380ced928056f92be1514afb8bff538884c7c68c9e868560b2c81ad1f7687aedef47dd2261283c90d90d594198c5e73d3c7758537f03de24dd4187442b5dc08ba1dd192ce3d11a5b2bd80aef9d45e6e8d370d2e5f7facac6ff6a01db9dca1cbba4634e433079ee08002248ae9e117c1ba83811d9f6f953265f84b52f88534cdaa5683a1896c87ac1e312d3ca9be1ef731389b3714545413b31bf400e85beef7681b3f7fa549819721fc342fe5d48951e2d7e1068118cedaba5f74585ad2e51725bf70f918eabe576a0c645f4567a266ec3d07649b637f33bf685702c76818f90ad867dc5cf91d854a7e540ffbaaa1bd17b22d3202cf319159a35b1bb6021708a7855b36b66aecdde8fa1ee193851bb350f2fd450dff0391cd2f8edce7e2327417432e3c0329d683c0df06f4fe59337399d6fa20835c793caa90c9d013dd4f1577589c012949b7af88c5943762f8f18252028e2d882c26f6ec4a687afc321d4f8b935d095ffb20ccd635537e67ac57d30a7ecf39d83f92f6de8ddfb8d233075fd788f3f70b700694a9b4f8741066e679623a0b01b688d62f5768f94fac14f6a6a41a0a1ce096bebf7a94b3140b752e0dfed1f92f857882c67e8276721a818fb3f78649ce64acf42530d996c2e5d118c90047993cd6ad0acea12434587a6175ecdcc9ca99284e2e4e7017a9b2b073e30e882684893bcd350dd2c53885b0dbf188d1551843c0eb7f9bde51b2780ba6469d0d0d082dcc6ea516fcdc48866bbeddcd74d9561a298d51020d8ca9cac2d2f62e4c51aef9d7265fd6098e09e92f7739363898780c0ae310ffd0cf8e5a61e648570a881a2d52a9b811888f9aff9d4ee3b32504d76dc2f0c6a0f17587d94bd80a644d59385681a63288654975b4a678ea7864d5b7e6914896a7d4e4cc0291cfccb5119844111f5a3a6a13b0bb4eeecbad66c5a53c424eaa5c3f4b1b36dc552cade08c0a337f8d213a693ccfae76866fdef6fcbfff50b97c492381562aca77ae98a7e837121e3531ec0c3bae693ac9131a2440fe80495e58c90d16cb76299e23510c966cab6681572b8a9258e8f5e2e18eb40586ca23068b396420897beb5af1f11084eb1ba7de277f55fe7be2400bb734d2ed3784c1661784cff4c9a8fcafb27849470c2d2f959e55877286d8b2bf3d90870f3f8b18fe700f10ecdc32fe5129e56c19e723a39ea9f18b75fc166b684f59d0d101c755dde353a2527d8bace4f10b0978fcbedcf8a8fe49c5d961a6c20fdab4926262a4aec12408c5b188cc9de19411c15cf2578c88b868433e57391341cb44db065e2f20e70d46ed8d1ed8c848b6285312494cfe726632e9acffde94d4c9867c43d61618f7b33d1c0378a1395ee6e7831da1d9b38c8fcc95555d838f301404859b083cf00eebfcd5b4d02b09ec8d037d02a6f74b1b3d86ea539f7c08c888f4560fcba1db36e706116069009037afb5969da00f816527dfcc9691012362fa873bed7d74f9d7a1d238feecfce2eccbc63b22f6e28d659d2766c6e25ed1ea1cb170a0fb3fb19d0749be1368caf621fe8a2d5d8783effeb71a9fa8bd6b70a625c2ea6eabc330ebb9faf2107936c7bf82c916fb925040ec885b399dfb4bbef7bf4649b9844357a508008591077c1a5aea7ed42cd962c6dc995bcdf34a6abf5727f115dd0dbdfb62617b182ebe63d0e49b664333dc7ff3f5e490dd391b45964168208e33941292d5fef99d9a5e15c7a756a218b83d28b746a2c9ddb8b24a33b9c4fef6747854515b35d1ab0172b80626fad2b6d78a86c5804b6df7d86a2a1276194e92f33b65a3d55da9fb0358740c2cd24b83dd0be973cb73426b841941603aac8d9bf565bc200ebd5c3dab81a990c1bd6c1921dc4ca92043d0ce81a686aafb9e2a06a34c2048fd8c47b5361cf10542912c8b54c670154c493e7423c8b5a9f9ec04cdd362df54cf13fc5d2b6d0f01705f4861749f048685226a92ef58d25fa8ded6792a1cb9edd2b69a99ac7da39c2cd720561dfd4a551fe5662a22bf16fd09ea26964a6d5fd6c1b51452ab99804374c6359cc857e5c0b22962f29b25fa83dbb69e95994a8e8a8717445657a8f41593859abdfb8ee8d358cbd0b9a2bf56bb376384d3e447f9efaad688742586d4fb027b97a57cbfc6db44de1a441caaaea92bfc6f6380d31125bc7051abbd17667593be1fa5fe438b6c29928b039fbb3a6235b2f5a9d9b56e25d42549bc2331066537e9262029d78c19946a252fb79a4d8dbb3f907f6d9799f06bc88d866b962d2db546813933ebe2d35e01ecc771f77253810f553725b3a17eff75bf85fd40741692a6200adc0233120486409c611db74c072d22fb4321ac8c030d23c5ef45289b58e35aa63d0f36b57bc47d3ce628b6dedf5cda9199b81b0e9601477fb562bf4293e7fd0b5ac4853c4ad9ce47d5a761c7a91bb71d1e898a27127dc5d17ad0e1f60b74244376f1c8d073670bc50cd02e1f746a8a826b6bd56de61635b16ea2e1db38e172c2716a392659b20f627d779017102ae8dea4e20e80538ceb63315c3c270c62108ed9ab38fae3a0733f0a480186b28c91a400bf7c553fdc9407f1f51fc08ceecfa3b2306fa31a72f75ff56e23997ddcf2930809f4737377d1c5da8528f216fdf28ddd279bf0ec64ad0f819d1e13194e68baf4f421ce48eec5773a65f6da1ef221fe5adf9a391d21ba38e6dfa9c94c713fc8e092ff590f1b83b5cdbc4443b9c77fbc856ef305174fd84fdf3aa8fdd841b5ff75b70c160a39ea2f817439b25bfb7a4b78c3ce4b484673f88c944cb9da1c9635f29480c7490f8417a055c6e19b5d32299a802726feadb2f02b8fbbc1a5300e1e813e0efd01a7619393023ee77e74122f7aba187b2d39f82eaf63a30bbcaa75ea223caee9b0682640d549f3b1f5ebdf2ed8abbcafbf42b2d4aee6dc6e2318d567d2a84177be6673e1b176220b1bba332e2ccb050bab684ae1de274c1750dd281ff8d2a4f398330ad5c265270693c2dba1b6e29486abda0aeccabcc3fa813691c5ed4e49db982bc9df1dbc4b99d4460c882b30c02a8eef1ef13f378b75970eda5786fcf025636af5bd7ca2a0cfc4ad5f26e287d840b1989d3e9fa197e3e31e643b575c388ea474a5ad16011fdc50c322f64db35fca37a9f5d1f2083970b39a6d1c4f21acc9a300cb176da23b39d415aec72256521a2cb5ea03eaa178c226e593dfa891abc2fe33e2770867477de1cf3738968965d8c554c28b9e66a87f816200c022446860e97500f022426650fb23551b3d7b6292235db665dbdfe2a5533f2fb03e84272a20fd1388278bf80b582e2e6652c2c8f1d1dd987cf5cc574eabda8df7daec21cc519d3c731e1293eeec6129515f47d5b63a98a723c07bd463b654a17aea4a76ca7cf4d561876545f5036dee9503a4a7c5cedaeb469d6dd69ed6b7f08ff3a8f5de9c20c747e12829c575700b9552400d755bf3c16d77b6ce443ecd27a97b330e8017411879790a01ae342d31fdc0cdeb796f5edd5b4ed73c3820d3889bc5ddfe23f7628434eb22d89a0a48afa802ed3203db384b601502fc28fbcd3add127371e2eb0987e54f6ae761cb6417a836d1fcd837944e6593da4d043392b92860d3aa956f391fb3b134078555f4e7b2e47eeac2c1098baf2cf4346fe5d26a7da2b34f6470b182ac617b10f67a8c156e08b7ce60a388e9a74620ffe645e556054ea8bd73f7569396941cd925403bcb1d3f197e373b0d2b8c32e1cef0bf892e2fa6f0ec54ad62d05978b6a62b806a36be76542786cc748136eca8e2bca3e91fef9cfc437ffaae0f64e4b179eee024556b9c1a6a413c8d7c3117f320c225f73ec2740d147f2104cc2dd42ea1695a0b691e325ed1dfb017b94d58df8a82abe85d4c4139bbcb62a4903a364e0ddbda772744956de0f92f61f44eaefc98e6e9b5154aeea17bb0586af25b1ef183ec2125dbf8a56b79668920d8dcb27045882ae99a8c5b05e854e6ba59f3d213bde8f56e0b51bd941e97dd0edf2b936122449c35edb301abb7df7acdf34ecbee604b8f967d1ee09fad9a9667dc52b9a87c9a75861b21d2a5de419724159742b86d42a6f145e33367795746472c98d577b5550475e9b8bc99ac6aa5a69d2b462a3597085cb8ec851ba0d8d89b81afcbe750b1519bbd10c41e4c621493c8fab5e0bb5b425f210c816ccaf19005814c6d01f854578bdbb57cd445c3ea9bc47ce287893288de1f921ec5d131c064b20061f4ea53f972c3f5dae734678a5b73ee5f156c3898add8d2cb2607b28bf9a17caa98ae10749034795505e0dc33f00114d483a073e715eb71ffd0f4f2af99e7f789ac51c2be529999b519c928827bed3d6f5cc9819d1fb730e13305b4429e965225dae99ef7b63f481fb311b7c7ff0d20774281aeff2eb8ea34e58577df3ea25aba65650d9e59b17a338097ce054653e99606c522d2b6fad2865ece28800c4145bc10d8e60f5b3cbead04638e2c44bc7af68bd751ba645c1e0e1f696110b07cc340cf99a820df4f5ef12c6c00339d3c4ad19d8ea5da66ee7377a58a4de0331c3e484f5c6f757a829cb7be162c5e8295a7ae1c2036525f606376788caae7f55d7997cad7242b378eb0cf21274a4d8a9495a3c1c4ea103a71b0b3bbbedd3960fa000000000000000000000c1320252b363e41" }, @@ -75,7 +75,7 @@ "gasLimit": 28335, "maxPriorityFeePerGas": 86252, "maxFeePerGas": 94636, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4702f91c43048202c5830150ec830171ac826eaf94000000000000000000000000000000000000aaaa8362d8db80c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f32a860e3ef684b354b98585e5bbff5ccc4dee8b2e576325a4ee1e3571b7f0f9956f6441c10f6b2f90865b9162cf026c5abb65611111e330370008204873d7b1c701770f64f3a2bd8c063c8dae1dbaa93121ba3f831305fa1dffce7e089b8a900c1470825cdafb401950d6f0d8e2fc6ff7cd56b3f3025339b32ce3ebb19ae066277d261f783b9d810ed23acce45486914bfd5f88a17c6c9ded8cf5efac467466097f5fc9a7499d47bc9423c96d16a8f4a736ae565cda622f72f76e498657e83f619c355b7152f9b54746b8e7879e322566d54da3a03e0ca0f8c5f44fdc91b467590dd8bce5c5899ebbaad86ae3893e19aa2924a44f505b8f7df0c4a9d7ec59a2e6daa0d33acd3e1e9076f8531290425ff0af19b58c5bf8614ee567de68b2e8acff3493269f12a49998edd73a8de88b3c90e36248c250a24c047ddc35f0aef665225551d3fd4942569ec6aec74ffb8e1bfc546ef80e52ed938434c5c31c58eef71377a1da3714f368ad84ffd4193f59642aeb6f0a6a1c36471ffd38e27b4c7da33dbe30a5f3f25aac5b7b3e30ad6099fa7784ecda783f1fd75aff409d7b5e84a91a2bed3d0812b3e054411e0ee9fa8a1260ff29e79b52c8c796602481a6b40f8ceaac1e2570be95a2f9a3babe5e0f042df1f97e1cdaeed4682645ca03d3dbe5ef4f7364f52a556db86b1d9e700b72d92a0a7c5dd4ef57a4c45fd3fa4b92a192da710ccf926ee856a3c6030f02dd7adfac1071396b7a7ab7cdf4ff22e4e044bd9269328980ac4e6149a0f549cd8d22c3971639a337d1eda621520dbe399cd49f53572377b3f4371e28cf78904fcefb44a1a70ef1818cc30f81f94fb38c926bcd75cd0d5e5f6171f152734eefb7f935a98f9f0a052bbcd67d787d5de205a52c4eac0dfe2a515ae8d42be9c01af42abc15fd66d3852852ac474e85903d42e289e2ffb046c18a121a8470c398d71cf40bbe50c38fb67a1bb7f2619fe5cb49995e01909964a2f86c926859e6f5743f03c1dc01b9db8fbff7c52b432f451c46ccb842a9e2ac419e662069359b8ac9f0fd1da48c2a7bd5e6b49b19b6a8cbb7844fdde0dab7031a5c2d630c10326dcd0c4a2d283dce7d69f88f6177d5b22b9fe28ec6947a614338a92cc240ff1d28c74a6a46f864aeb6e0a29811dbf4e884d5e06d2de8a351be59ecff4fa416509d212317e94a9f143ff1be20eaf1d7da37e4fccbb93b06d477bd4d08550f27a868289909930b16d544daf26b8b7e0e5d6df4e45fc3a70f280eb8d80d016c608d20b2633c446fa2a7a4cdd50e3b9400321f549a4576a1f37d82057f13b2ea92a0e2d15f1d3d07aa4d45def8aa772457823becb902c37754da9fee7121bb4349852da1e93f64f6ef4fe4133b2c4340630d3a983b62711503826a0efbaebc683ac999b2650f72194ba2ac47c243cd3dd5b45face1fdef95c0b5f464b3692c7b8fe5754a7eef2d1148ee81019018392e27605c0d02a3b32afb16dadff1c8204c66efe285be27c7f4a1a6df8e5c6c21c44111b1896a59325a3afe047b57019007136d88e1e0a6ab4c476b463d715a08802bc94900a31ea1ad05c702a10b81ff93cfef894dd688f09957bc1a6aec7ee5c46e264a1293dbe3d76d87b234f33aec0385c3f2cc470a9cc9ef3d222537d3141e1ae54b551d8262881491f525db00d1249615fc056d1d1ee9a5dbb1bf9fe71ae4a6eda8a3e7472c3419af2d52144aa072ae61d2346ddf4cd11b05d89022e7753a08d7275167ea2a4afe0f187e3dd9ee76a002c61126894b63784c01be419e585d0a72653ec2737475cce2c1a02e11c5b88e405aac023c768c08a92c571e622789e8fd9e1029171419c6f8695bc37cbd6911689e3057fc46659462234760c121a9278f64746387aeb799b3d72d875a2cccd890e1fe7b9e4a67b01fad7ebe5c30646651b218613545cf4335c351210d6e86592fa6df5b691ba989e9019f12488f8067e50f79a8b832854ce2b1e11170f07b66c319485af0ca95eaaed22d52c01dc20fa43843e944cca67564da74931b0674ce0b278729dff6044beacdd88f8b9a09304185186739d18e2cdc4978ea50addc98be92e6a4a80848e7d5ddf78fe9a403246a6f92325d7789131124e7a43113ed6d9dc8c2c52d74b2e17aacccf3d42bf6f50c305345592be0f2872d1d5afc6f47f1ac07e19fa4fa7335d11515b5246540e8b992fa04a70683fc179231f641d6437703239d7ca29db9e8bef9a1624a4b6564dae5d0e8f3c0ec19c6f0090b9cb7ef1442356cc37e076d05433fe0ebc11ed22aae6a3885bcde0a4ef78e979cdabfd0e8f07abcced9fb04c4acb1d511f9a067f010313f5a43aabf230889073f8bdbd85bdf068b8ca7a36790449a7488a8302c4bba94433e4acf17a8196c49e3cb1eb97523cb2134e04197ff1e3ea569b865bb757555b76bde94b013c37356c8acb7ffb54b6c05dd56a9249551c2f6c7426b8762bda7fab12ff1ce1383a0b76d2a0bff96ea351a022934647ab38e9372f242a4f27d5e46ce87849cb40d2055492f35a3774e3781aa80d2e6f1bae348f1f4f98c09d8e18f67c25ad16f5dc72b0ca2631d61151a480702dce28bfa71f79f76a7fd72b0d477d15b9faa7c128f1ed03b51881540572eb281637dbd86b74af9720b1855062bc58f41b41137394253c300bb23756f734e4da4d9f9b2465a8b4d8bbce586c2376611b7cff2427bc9c92cd3ae1eea5355e6e27721298aa6964f060d412f2d34d15e6e097e8c47703b2662dfb76e24e4037167b927d0995f9b881f44087f5e31bc908c133b445848f7e88d47d687006b36fd16a897849672061587781388e5e79574a9af39d18a8b87b02f0c573eca081d5ea7cd87acb082fea1ee7c7aa402b62de14494f0c5f105dadf42a826e1c7c38bfe9afab5b0962faf2d00adfeec7d47366c9113812088c2838a6472cbe2dcac21ebc7c6b43a5bc4687128db20498eef748b566beafdfd741856465f132546d539846bd3dd367ed082845fc6d1eb861c7bf04fa003b9ac4daa2a72015ea099ef950617915afa94f1737eda92d13f03e96adfd772ef6e58e3ce76dba81f51ba816427379420855fc9c9151a11114629238498fa620c640ba3165587e914892f5da739fa4b45be87f7f6ede8fb421e0969cb735c0485d8a13cdc3babb4025c3565923188d150f5dd7ee4ce4da02ac6591760b88ee3bb5c16b591e2e4806c451c4568a038610bb8e8eb4a93551ea6f7d6b656ce2dd24a755ef3be6398fecc376f8464c56923944669d73f4bf7186f9f01a552e004478b9344cd2aabe7a7151fbf0ae8bf09d40decccd38ce0019818f8741f0a4d679e49483cc486075373f5864f38ca0df221cce14b7e525792cdacbef9a51be06de9d0c033240c220ac54ab0e993289825984e793f65497e7ad086e56cbdf1b59b1d9fc687fa1b2f8c785e39de01c5217d1a947c3bdc622a798a68285b9873addc35ac0ba5171527de195db3dff4c20af09c695fd1fe00fd5b37c6f9a339964f50e6800118beb42593b6dcec61ff56b5e4a84af8f8ce27a9e19395de4557cb89be3a7eab50edee9cf15604e1b1f74d9e79676f85d80b265edf8da382dae880fa3e64d0d559eeb302c76c953e5bf845765eecb44f697bea0f66eb64f3b0993a11b1bfc8abe711994be26459a04f932f79219c859059900611c086c2ddbd2fb2599a480385a35f39dfffe81e4398eb46cd09f4653f0917753fabc1840e37622c67bb89aa2c342f51fae9e26c47a5c50c443e090ff0ee5a72f5ddc895ad94194c8c49aabb50688b595c0d81b7598d5665e19f68e63916fe8315c7fdf3b3df5d2d21d0e4c90f1205968617fffea2653349d70e96ad48d9d807daa9d214c7d173241e0c1195a3dd096fdf1275fc4a6e8f40286266116bed20ff1da3309e963ffb5ee90b3d004f98ff7d6612f620f8571dc49290370e06359742979e7dbc1fb8f419110e36244fccf45d2b14700f19877539608482bdacb6df7af7d1443ab99116100e69f584f860a2b9239dd1515255a288a07b9c5fec86a8a8834bfa299709e6b37077ac09ad5612c6325d3c4e4c6bf8776cee7c9f782e3a2622a47550f7f89aad2a32c00778a843f1db5d7ebe22bf400a10591d82ec7097b7f9c4669a8a7eeeba73427af3e85b041729e8bbb88250df117c0a11c84c55faf1474600fc64c2a63a56f7bde71358f7a288d37e9c80f518e95e347f79d850dad86daf2370c01b948f9ef0b2a00507815560452b9e5d2c700e53a6424ae06d6d704c51725083cca9e731f1fdec0e05740bb35c2b3c3686aa3b64c653404d58886c66dd6f64124ad7485236fedc8ffafa0543bd93b8278f2af806c3d89a857e17aeeec2f51be518afe3564f7ba9dfd3eebc1aca157d7d8edc2d146e1b4d0c521cdce15dd9362925c76285cdd622ab6ed4c119c0d15f9e0f5c3ed4061308de22e3f2dbe5d39c54908ebbe91b8b062a914fc52463a6eadf991064e5c2de792c064260918ccff6b68c3cbba2ae8df563a75de89a27ae9d2e880d453dd04e19504af3e78c7396905cf59adaf2f5785a24a9bdb18fb340b249e566e286f5c4a8c98801fac90bc83364c30c430a58c8515fc40e5ea36512301845498fa6e331bb0f4d61ef5accedafce61918606e9693dc0da65fce43c924b556cfa6aa0ff6baef5b58b2859332bea3ca0b5a94d99a86467e88f36be317b9e9677bc17b022d35ad5ea14138f173ddf70f3561a496ef63cc48d22a685768b4f4a0ac68a219865f2f3aed705c86a9803e4a68bf1efa3e3fdd6a7b5d780e0e30ddc07c4e07a405db8068df48e658e13c27deece7b067438ecb6543d0fd78d3c440e63c3833f6aa8fbf0e540a51ac18b641bec0d88d9cb012977094240a17aafb1e107c8fd0ed1b0dd9d818ce643e27662b94dcc0eacdc8dd466c01ecd0b99e3680b7c244f029b598af34971b581bc37d5cc809737febb208c028ce120ab4147e523c8077becd60cc2e3cb7d6ff0e5255be60e7689b96a52234cf5af0a3ce6d645790358466cd4a79fa865042b05aa7be89b462535f0fc5eddacd5782470c84dbee84303a349606b1bc6a1eb9a1a103a537180583e8cbd09cc2c4a88150bf281c9bbf78d5db3a9fe8afe1f51b73d5482b8784910d0332b0e3bd04396fb24c9377b7877831b2aa265c8fab4208669cf91bde2ab7e3afeef4126ebd055e3d4dfd9c3711bb195836ad72376fe42654c90b53c524ddd4993f6e1478bd4490d0d31793f5d275c47466a7b91962b10fe1dcbcaddd06f6cae50ac866669501780e3de1f18200cc6b56cfd718fcd573667e2e483c60368f13b0cd3ed0be08e278ae7da3f3d5adf3f7a4f51da1c9f6fb317fad4550b5a2696a10b4b7c0f1a6ae751fb55a8866ed7f2b62fbe34ac24890eb1102db4daaface0681adfe66bdd922545df28866329bec52c8ba50a0f7124a6ebad62acc2e43cf174d328371ae50b875ecafffe23dad431205e0eecb5c369faad2b37de1e66175718bcb75b43a727906e72fc904f910b018fd519949380ccc42e43111a863da3e10afcbd135c7af84b410c17766f952a6a74858bd2d8238d4ebd71045bdc103dd8754ca519d2de40af212e616ddc2a66ba6e7db85efd6e4dbc3259b543246d5019c70eff9309d6bfda5d7c4c6ec4a1bd623416eb3c6261f920fcdbc47534738944f2a476722f0360fe0f36c0b438976ab27672099b5fd54bfba93d9039bc69d044f8d04ab17c696d3a1112154942a3817fb452824fb047c582b8fec47a6808928bb39be957c24642102d2f4907a7fd8be5fa984ac218536e66665f76332d93584f9be3f4b9fce3a167b8d362b4801376562035cad57c39a65b5a3ac5f0b156799c22aafbe8b9f2a322053d9c2b8fa40deba2bac1ebedb0cfb6938a6a72da6f59ff4851a2b9872418cf83fda097e0bef9f2db0a3e892d56ff2299d76c40502f1d3c8f560d35a4f501023c9d6b474bcda2b969ebf0e0d671d0131d4a0c2caeb29c2b5d8572f64825cca24333342d2f99b3b7672db98382c766d33599cf73934e86b0b1eea2dc35ab7b22d6e6616c833aebae92d3e22c8658b419853bbdd26303cdf79d57b5b5bf30a721581d43310360f84dd07249d30c1c5279503622a4e6a8191440a42e7461ad24df026f484774084e272ea1178e73011314545cb5a2163b2c07ae229dec889a9f97697918b4dd040959bdf7ea6d9e2d174f895402eafe125fe7da7ba163a892cff76cdaee275e68b7a36046e397024c3b80c93ce61594984092dc9b87e7fbd8407ceae3a31e8a37162415b98dc7b1c3c9193041807ce5c386dd12c63fc8f7c77da742bb3c559afdb9a83787abce67aee09346589b79f414f12ecede192149b9de362140717294c9cdd8274d5d70889ecbdc080f101a244445637aa7cddae83842617a90bed8f7383c7a0360b5b1cacddc061f2e6d80859bc9cddf00000000000000000000000000000000000008101d25282b2f39" }, @@ -85,7 +85,7 @@ "gasLimit": 45047, "maxPriorityFeePerGas": 45216, "maxFeePerGas": 91648, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4602f91c42048203ab82b0a08301660082aff794000000000000000000000000000000000000aaaa832a76b980c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f340b0924de85693fe92e69fd8d56ccac03943a4f11c70b3ae910c20937b61396cd8c864a86bebc07372a540b6f4b8d3cbe6d9d4b6b9bd3b37d1ddecac61663f8d48f4c5eac6e3999475f5f3671c9a26895aae1267084e2bcd368535992ee906430a7f5cd5b7209da714c378bcbb9b512b61887c823e675e8fe987b7b59e369b440fe46ea54458fe74907ebfef0f3abe3404071c17679f51665143aab03f949014cf4d9dbf8652bed20f97fa48054382718cb0ab187ae5f11d46782e93587b0902d11aa8046477fc4dbdb8c2b09057eee6293c068bcbdf07b1ac82a837b6829096abf303bda8413a4007904fbf18bac678686de145ec6e2ae326bfc1dcf3c91d48c3dde3cd67a0e06cd7c664c987e0254f1606d583d43aa7a8c8b7e27267b703f5185788ab4c5a3f06e4d28e3f4ad00ac0cebd6bd485156f7bd9046ae3cb46633119c395cf344049767f4852e9d8bac2f41c147c78756d400630bdb2f101727ccdb96b593d0ef88c1b5715517c527eaf5672b6c71b369f7eaff7ed64ae8b27585861bdcfdda4bf9eefe263b7261fb05ca8569aeef90a42313b862fcc30910404509508207cdbe202ed3c223aba2ee96e3d75ca09d676b79914cf80ee64e58cf08f83afc841b3b44eadc56a3fecf8b7b8a3687e9eba3bf07620be6368b317949a6c8edf1d6ca2241b3f8a511ea470398489f485d655c4cfab172c5e8bcc191090ac3b00b271f895d5ec8658ec3663839c97548aed689a81feeab7b03aef3f3c69ac3c87da9165273f9d9e9cf755ad34b95ac066dd7dd76e571a12436920c41816fdf7964cbb98a499626a1efa2eec9cfe20122b84fc0528b5e775d1b37ea5e4506554a2663f1fc76b31ef284c5618a16be51d280f84ca377cf7a479a28007d747e147171b31c6a7097ee77927868110191919459a5b28fff313d778fe6b42c9dd398dc9979af2fa438c584844882c691fb735caffb6b97bb422731525b9c8acbf1c0fa742aaa43fd7b1336d7dfe7d1d58f8bd16564d1bfb2f4dff85b0141d03ba98c03ca6094aad3dcf9d327bfa44075ea0317217261473b23262312b8951e3b9d079664037adcdc50fb446c698f78d88524761e019eafe2d82b1333ab45472dea75b5cf1da9f22dd98f6efe9095c636f6be427e1b0a021681c9aaee376cee9618db9b0a5f3f6cb6fbcffb0e22dcda7f4bd85b7f34059fb28dca9aae2d78c6a74d62d1663090f8f98c58a212a504959dc012027871623697cb62750d767ebb52dba6b1cab7cefee4676b3de083af12b948adcb9ed69eb41a7b9d690d6a8b8734f3907553053f3b539ab0c95075ce76746f0c4a6312eb3ec035e61e139b782332e3dec3555a29bf3135dae9615d61ec3d0c9154e48b7e4cf5af43ace046cff98079b22a2e528eb36fd1f6792834b2d7e4df693e1071ee639018bffc73bc276d9ccb0dc3e9fd1d8f36dae1478fe03d23b518dcff11312f5ca4029c8739f91852272403a17a1ff96d2cf5e19423c29e23de0fa7cefb79590dbb842dc41a9003791445937302328d82ccf74d36f52275816e8b5b152be8e4b935575d80f6c2d27e79186dab1bc30554a3a7722fbb3a4d4929397c687a938b1e2dc7445adbe358d4f218cdfe809fdc48dbe03a181b2878a9724b121011cda7073ba6c7c1ca0ea89316af8d9d98be6f7de01bec145e13d597eb3c1619e1640b0e9e1c5a5ad25378faec053be41591611f291159f0bac5d8202bd6422db1e44b132e584e20ec2519e16763b2557f865479bdeb3599ffabb188aa89decba662152d2997409681f69e1bf922541e7a1f7af9c0ab93eb014f9a029d14942588890368cbc71750d14bb3b05234d4f68fc1fc2cf7e1783e97ad9baa1ec1887226ae050f03b61cb66acd029e8d236b985754ed7c8e5b85dd41ae0a63be20f5e31d6e22337206a34d3be4dacd58eddf7642c8f8e414ce16d373effc795d86f1f8f2d7df3d25fedbffb08a3ac065c5e666554923086432db62bc064596609dfbba27ece15b5906ee56b5ae6cff1a23a876c79cfc661b81f17540a5865a54e23dfb973307d108287a8ff91582e31f37d91816e97644dc69bf9096402464c9981180986dedbbefab8575c6a47c6c9f6ad49e977f60cec17dbdf5813e011d11c119c31621a57877ef1c6c2fa8f7e4589f1792917a2a6e1a19fc0ca62c166605f61fdb1d789d85933ce402c2ca74e1699b7eccb0fbe4486be9f8e4b9ccf85ca5e4c1773941df8de66c62482892ead422be0aa35c6e8ea07635693e07a7a47073ab68caaa892646cb9aa81fe050e5a310a71bded9437fb95f0df035abe066e77c7804113dc363c1c06acd0e07ae0d5c74e042fcdbe52861ce60d7ff00247a91e32e827b2d809e8d4d250f4eb60520a59bcccaedba1243859988607c8c18c1d946c0fd3bb93afd85ba209d002e84aa4f32ec22a664a61f5b8928f593a19faed8421ebf16d2e67003df4baf1f873fe17e37647ac19c0cb166734214c40b1de55ec72292963466c01277d5d8ac30a9d91ab211001818ae1be363b4e3ddd6b7a456c545d5dca6f1f840b0f57681ead99e0c2bb65fea5fc876a77da5ebdb3927d63d53b04f074d5c25efe078bf146c1e923efaef9be45ce46252bb77af8ac1432d811917d2b530de59180f1eb2bf14f8998def32afd35a184000ac10bd4c356ee199a430243520ba1d45d8c48f986ffcdd6ffa6a245bfab06f663e8b9a13931b9e5dee0950037c5ee026d592814ed0a3d9376ffb8f7ce368a4bcd11de938944fee1cf8d3dbb133e7403f634d6783c9a3b78f8602f690e30c4792469fe36e6d1e40c08d1dbb0654c2c4350fb5f0337a803f40a0f5ca2ab0ea26f076e703882ba676e4552152427bb5b3b2119faa457ca38302b2bded65b0b76bc39dca9ab9dba05d6d59618f14532020666a657317c8d631648a381c545fe60efbcb5c9f62bf7c257b6c26e2b48ff31deed9dc36653a282299406c27a8af5db21091cf21aa362196a93face23f1442ee100304397841a52bd5202d49bc33b1723ac28e702b67ddd4569ebe1e46429646d8ea42449ccb9fd2caaea520379e6ff6d0e62776a71047792ed829423a496340987f5d0d956132836232090812c1558ccfc7e9277c1540e4d20bb1001de87eb7a77c6fa5611c783c87dd2df6a56d987ffc1bc0b986d9e3ca77a6eaf4958a38b251265975987f21aad974b8763e46e6f8722f641696a61b41723f5e018b7b968a11cbce2d72d5680bc524d3dfbbdba3ad1f91f0f521b6371d4ad0b2f2a4f28f91d0a39c31b83e67e7398afa406ef0ff610962a64b1273dd0f4e6a9c79db9cd4a5e73ee82a8d6ca454d66d66cecdaf0dc1686d0b0a593ca66de3e45f87961c8ada010683e5ef3f4fee3db253e0af4dda1f6a11de415589e92e49aa5c4b4db34906cb690dfd8e1202d7feb67e6b7ccf34de885d3f074fa55184f4f448c9ce60078e23ec58530714ad2c672eb2e003d41eb21dcb6d92b85925e04322c80391b65a4216d163b32dcf8cda511917df359e1e8ea5f535178aa9f9b50e623df872553ad3546f3b9b5b26b4359563c04e83a0e29e34a048f4930f00576cdb9428a05501b601b91f204b38767ce2f43b009a2da3a0cbe9b2d15a505f82a92984292c9806c28fda04b99777779edc8b3a69c85ddd0f7080876268f38619b5e92808fb23214bf53fea9f6e1f4ea834886110ef0fd9a8bd71aaa9ac4fbf1e1fc27ed7c80b5598f98f81e54a38148dd45bd953af2b577090ce8ef686b066766ffa581baeb29e6e07ed14ed870a26ea7a7605b34b5b97ac02333b38b1a49ee23db5111eb72228dfd6659ae29983ffc24e33d28c6f5764368fa1783aa585412d6f9e3f3373deb6892cbb7e856c69ac2efcb9a8d87d0fcda68b9de86fc22b326e9252b6b2be92cb8b960c4f8257480594a168d0e31bf16546d31f5d8624e4a0d207f397a34472361696afe2d4aa6c13161b3dd65a60108fa887a689405b17e00a018d89919fa9c88546fde9f0b87e4a5322d04c6ddc9446f67d6d256e371a5b74ec2af18438c2977a330e0eb7314715c72502ffeb84de241075f96308850a164d07cd65b8dbba52bbc6d46f6c4b461efa9eb03322b5ac2ef922524efe2303f63a777a7fdfdb369065efa44272a54690fd53a0f951e6b430b79f337883bc4a4f119cdc1908d369fa20968ceefe99d334e7fcaddac06547c385cf079dd2cc81d132f8a9f706fc6fad5003e6ebe12cb8f2d10f284e5cb3e1e73f585b7aeb190d2c57ea907a03b60e54717de56b902ef9d9080ab064366ddea997c4ae2899142f755a2256b02ab793779737e48993362e55024b1e24c69b907aaca6524acc637c8ba3f83d993d60e16746122f50f2a33f82be5ee25f4e4e491af8712ac1d91852369ad28fb213b9aba270f9bde27efc17773a8e826ac7aa2b240683390e7179eba27796fe13e36f3d12008d458a045d91d87ee14ab5988312889429010a51483bdace49eb88f4aeedb0edf95d3381f7c082c53bac947357e72a468c280ded0487235f3cb0cb91a478667285f5bb21f08082d10b76e871296edb4d9f878afc6a38871058a9cecec5f2317a7d83703803eb32db6fc2e892657e9bbf173021c477e53328e2cd0234b531b8d554be430b9dc550a8cd6b44318e013f912e5648a031a4f9027d353b6fabd6b7ef029f049834af0afbdbc361bd707142f152e4712a6a9584f5d7b96df2b219d85d1f9ead1f82dae22816b912436d9a13a06aa49ae3c2177c56be4effd925bc61da981022e57521bc090224234effff07216c59582c4686b2f9cb0732e72b5659d61ecf448a1707be09e052a709134673b3a21e471ecc22fe1cf98430edbcb94eb6e43665f1bcb63c6ea7740da8340834e2b64052f036a0c683d5603fc64129d7b6b43e81cf660b91ee2956f0355e5e7eff70bc5f2fb688be469c868dcb6b57ca568a51f7ae259f092d5763b2750357468e53dee4ed2dcce62f23f94df44c9f3e9339d1f487e07bc205ae968c38db7173126370391bbf89d151e9284428f7fe1b5f8d3a7492b3dd80c58ac7cd94f34634513282080df65d148759e8df11d6111349d1640431f2d32d2d9fbe0ce57ffa4e749b369121f8dabcacd467b9c94912ae783970dce7dbbc46b7cd9097cb50156b9e79d6f46ec3a7c072fa0cb983e9c08ac3f564f652368be7c83d776b0733da66f2b7fae1027dc570ae9552715f2d0bbfbb6a3edec73c1b211c6cbfb170f565446aea3dd760e1f9238cf9b9df88b87c0d8e5904482fd12e13e65ad9e3fdc8157b971c6e414f6ab18b3cd3d3ebb407ffc6e299cdb6d8989db94de8cfac3a1e68db6d658eac4b951b434cfb043fe36d8f6ecbe48943722bd15af68c5a7f47c3b54fef728bea49622f6f2710f5ccbbeab47ef6edaca885ae4d9143507652b61f1fc0b0d249b27fab9ed392ffa29a267a0d88f80454eab5de9146854e47d602bef8b3a167ccce22c457014a4a10b0a1038fd470f63622658307a76d0096b215983be5a574362ae26c3fcff2c5762dfa4441617b7e736cf014ecbe8655658eb49ab01aa8e83d5bfe173b5b2969ed3a08898722b709e4805cda8db060ce9c129e7a9614dc8cd57ffede7429696d99f3463122b56a947055fc66e86c7713d75c4a34583050269d60d92ddd8c14a40041cf4d2b83cacc22137bcc740185171dc0146fea16c1efa79f47ded9e254610a4a6abfb9a743e0d96ae2f7abc62c08bf31bfce3c6f3ba71d6217883ae77b99999ee38c30e7332eb79eafa45d7f6b27aa2f68ce4469c23dd3857aa6e6c3dcb6b5467c70965f247215d2598ad5eb90326c4256d754e7d0257bdf55b35bff26e41fbf545e7040ba6ace60bf97f498171c3ef534305cd3d7b412eb7244dfc56ad29362689f54ebdbfcdbaa47ca7cd5edbc05820f38b4d3b344382a141316c57dbad18c6e8c206bdd3d661dcf8ee286f81056361fd7f02ebddb93a7e6fbbc0357e26ad3c22b4d68b82523adc6351fb596c4ecea9597db4cba097e80cfb3993c753e77efeb29402ecd6c77bb6328fe32a60eaf5ad73162570238357726c1d4412253755212c885d283f24d2302cbe8c1163668ca6202f0829612e8c1dae4dc0b76c0e1d08f0c38781a848e8662079133ada796ac5ee24f105ae931baed243de9faa5a559cc039b79d4514ee2d54020e81c2ada48e9e6ff993a2b48636f58692bfc02fe43546ba6711afd60a580a393db2daefd4e52f493a4abcdb4631068fe71abf60880b5aa312f6242b0aea8cad87bd1253de785499298a9300b5807d1e28e7b6dc22f06a83ad52ec0adecdfaf3bbcc409dfd59dfa9ec065092c82c3c17d97b4451fd4bbd465ad9f54971dd15292967118226f6101143adb1bbe626585984c2f3f4f70416394149d2f74c54662b4a59687d0e1f366870c6d9dadbee0f343d6062adb9d3d5d7fd080e3f6184898cad00000000000000000000000000000000070f16191e28333b" }, @@ -95,7 +95,7 @@ "gasLimit": 62341, "maxPriorityFeePerGas": 24721, "maxFeePerGas": 107729, - "to": "Z000000000000000000000000000000000000aaaa", + "to": "Q000000000000000000000000000000000000aaaa", "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", "signedTransactionRLP": "0xb91c4502f91c4104778260918301a4d182f38594000000000000000000000000000000000000aaaa8403e6c7f380c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f3999b0361bd22fbf469783c3209c96bdd607ebe73c8c764a5d6f1dbc2715532b1dcb9065a1fc6f52576645e459e3937ccd229bcfd64e6c5fe38f6fee80672df432d2fd8519ba4e5e42db3a83bc2648290e15bd7da4108dfb8721104c77507b33b2de8c205c0ee8bb3a7cfd2026ccc0165ab5310d3cf0db14444c152e6ca3ddc5025e16cd3676625b83dfe576dd0ff736d35fdaf639a919790ab28791c5ddb15cdf4c1e22b00f4337f7bb7807ebd348a11ffa5cf904870f4914b5a63efd52de98e36af94671e5fccacdaa83cccbf923de4d3f350c8d7e7c4c9aace867e7711c2be18dda3b4acd4c043a48c991be7aaee8f6309173a72a96fd43ad0444794364d6aa56fef68f802a47de1263af714f87c90840b581cd3c76c1340a99b4f6c9b42cfd2b59c3c6a52c4bc212f29a6dafb601678435553e0026ad969d992cc17dad3360bc5f5539010e325b0dfb25989abc84c9f5a4c5600b314e23fdc1e1fb2804fdc7d4c290c1fc74833b185a96e580ad1b818bbd1424c9d977c0487257f28ebaae495daa526699ea7e1b4e8186a7c80c7e17843b27b49f298a6662138483f0cebbc114f36f070966563d9c69fe97a2e7fa7fe35912355dbf69e0df3c613b439d6ac8145f77a93b5d8342f554045d558bb88fe43b93896eb28b981fe4e31b8c885aa4a4efc3a21433967e36286d8d6a651cd0b574c4b0d1c2be684da0b1333fa241a6d76d2f0bd86863ce8702988baf81c216af359443fb844e6cb9de1282800a950b3af67b621105f400fce8dabddaa3552e4dc0b04fdb0bf50fea7ba2964cf1c88c4f939f0979c15adb71e49e84c7fc7f52c601ce8cb5ea655dfe0040760c8514e21a81711143c2eb66efc50396e1462e7e0184af093c530652d6c04f2a3bced8c0c4e36b84db582ac461462a4fd54574bf34c156a6442e0f5099cfaa69edc4885c0caea2afb303071cdbabdbe3a28681de67abce6f45dfeff0ef66e323be880fd8fa7c634daf1a11fdeca23e9a03f6610791a7b2276325d47f2a95b9c94ae6acf26562b1c9b5ae5e4c07a21548f479e0db61af6cefba171616a5a1452009be4d3e73a3ad0781cbd010990f17af2c125cc8b31f50c9dd8c8e2b7672dd171904e005c8e8ef55055a718a37e1938f2abed1e0ba8d211133113ed9916ea17b210970031fe05e42e85b8d4fcf3311f8c687c110bb7d7d91a29343fefddba912f03bf0549ca27ef591cff440f95765d474af6da62e821ac7147f3761d7f26e990187875b8b095bcb27b09a97a6ee0cdbdd24a977a175cfb8a1c3cc4717c9e544fc6129426da54c64de09943d20aeac2bf73c44d5b20c0f0c3c848539b2af32b561855da934d6e991ee309bd0e343f6732eb0c01b41f92eacb885516797c58ca6bb2e4ae50c5f6ffaea0f98c30b5cbca2f3fdb34d05e9f7245a8543df1a094972151c1ab60e928fd4a15ed19d59bf1a8bc8aaea5e0fbc4fa1e848696d9bce08e597731bcdd39122c730799e0cacd912805df3d07de2d9e55469cf8e73be55ab26e49b3566794153f1dba003879bed58fb5092e894d5fdff69faf1fb02ef3bf2d0544fb821f9d7063aca08dad5fd2e36665a311ab8232e4ad0e60c873bec9e03efb21b5188e46a5b82d38c57ff1926b1520c16fb89c9108fbaa3ce32c42e4a78acf010848c39f01e2048b8fe0b71447d4f7a952f9760be363143fdd45da929459a7542775b0a63602293721ffd7753d9f73e2cc9d8ae0b0afd637f543b1e097dc430aeb7f7b8c9aee994185c0bccb2e3fa8a53e6110ee1bba9b2520353a35e64ae58d7ea199c849341eb3d077553574e66789f014ed2736d450164680bbad8369e03b5f90059e4b5e2057e708b8114bfd40f791f0903987a807f00be701874b5498384f53c377322fbe98e4efca5cb8a99bd11e0c931b5562fd416f630666c62b86cb3699c0bc6d9f1de382c6e46bca1c508e22fdbcbb2beb70c9aed8926c2385c4dc6b654fa4364ddd930e4366c2f6aea54553a2f0798431f974162bac9d1e91712c1acbc6407beab9d6ddfbf97d3c114817f19b956618a573c3a561750cb81ef1d4e776c831a94f4bd6fbb645bf01c6f36e2f0c4aa812f193a7bd2829d756cfd793d1cb47761596a4d0255dd7c8d32752b1c87055093c620346a5445b1d6e7be785aa3b88bc02c626e0c4f9d56d397b2aacd08f72d14ed9b2444b924381d25df086106eb2056181211cd0a3346104cbd806a38087a8c228053d33dcc83e8938ab27bf681f293f5a6a02816d35e50e251c8f6684093062bee877b89c7a902cad984be546fd91b97e4bc391623a43c3bd0316ea0a342a91add5223edb298946122e6c361c4e190b8677a766a24d1cb2ee1b83702557d22ad372ca3c0ae95a1af5039b08c9b3df06e5029083d8d33c90094025162293d48155bfd8b5faecedc60505f943fc1b51470eda0fc8dc0f0e537745a4a40c9f4046447b4692deb4d9ccd056641698cc26acf4781116ca927b37a0b57572a49566cbd610bc03710a8501cb23532b18ecc3e0a39835b2e9e8ba76f7a7b82744142023a20e9bcb7dc51a1ffedfe98acc0854f77758d3fd03f0d54ef0ec8094632f2740d5b659ae0efc87c5206b0e616ba0f228b41f7b4a5e1fde4a2437150f11681cac2614b10ef92eb86fdc445465bf535cf3b570a382290808da3e5c45dc09f9b8b4be2ed0773ca9061c2e3d8c3e5493091f123908eb609c38d4e501a6a7e60e57d8ded0b387278da50753e9c036a4d2db4be30b319143ca00782a274031a016bc6a19ca8ac02ac3ad1e1eaf3e2bd5767499111cfad82b3393762cec23ede4f2e85c305c767f0225a87802eab2d7e3a6e4d486d1e0ec3ef63c16a5a72da94a4ea4bf9d17834f3b3b5050c828a6abeea82881fc7aa4cc7bf6ecfdeda47511a10e8bc52b71666770d4235800e99d41e36a38fb33bcc4a3bbedb3f3979583b9dc923361c518db6cef078410491f95ec594aae88b9a332efb28e97672092f457f963df249d3b42bfa67d4fbb249eb2c5b0b8ee7eaa20014bf1118f106a87bdd7fb11cb4d7695567f3a685799950fcc9a77e78e6d5267855820a0035c64739a53ea6656e1f96ee9a6029eb47e80faaaf5398437d3e07ac8111aec35ecf16ccccb591f858af6ebc113aa7e292eeef0538c5a5e5257eef83295c859368e0572d054c5a046a7c408c3693e05a7cee00bda13d3c8eecef7b40cc803e11b818f2b038e095e3b8e49f698614775402a25cf877b8313af36c372183dfa6e6db21e37f1c85a96a27c99728fe8627c00db8a00a4238ca53cbb729572598012e3e773fea53cc5526cee3163e2b1a4be8c3567162bb1a1d9c34f7ae7dcbd0d3f3b64371199dccc35a431a9a9120720d313e5dfc6e3dd5c01b568291720c4f5b53da80efbd106ab379011a8b910ed8d054a0ccab41a0ba679330888c36e5808bda580268ad11c420c4c76700389ff271bd331ea86230f9ca01cd336c3660808dd03980520b8c706b6783d86a29172e531262c86d1e639d671bfe161c62cb83232c9b543fe42ec9b70ea3f66c335247f44358b664bf6b98497b124638eea4200303338b40f62aa10e3429bf5dfdb10ccb01922d17629a68639d85482cd3f7f3363b7168e8341df98d3684695d0b2b9011e0e99324890034fe9c6f34d0b4c0877ef2b3c0dea4087e436aa31ebc6cb4c56c4bc0a275de2ec6f3938e163a42a68016116c6c81d96654947ba5aaea9f9e8a451b6addc0bf307b0cd72242cb5829c285759d086cef6ed8d5f5da076bdda0e18c9f0f5170470086fdc6308f2afc5e192cb795651ec673c11b75330cc7554a05c4eae0546600788b52162f866057a950c005f42aec242805f0b11dd1949ba96c1b1aa4d65cc00ca7bfe48bc1b79a58e980b55b7df794bd3b1bf80276327d3c8ab4a3256c0b92d0d489f576ca89122e235e301f36bdd704ad2455f6ed1832d78eb0eab055952b07389d50f65412fae85a94e042310d10d52b704840f3de603bd8477857d26be7532043e3c3b3e272f283fb85b3ada96bd537b108626ce7757b95cfc0f255aa61e6ece37cb8084bc9e4932df0003ea7bc82f4a7b9d55261b7e6740c912383d5424ab4cbb8e4c2a89ad61583766460eea2b95650c9403f286b0735a4abe7ec9535fad3cc0a7ff557e0e8006f0a5ad2891a2cd42554262797b71f2115d145493a93fccf832d6b98b4573b06e7dd0e39552dd4070bdf91161c83290e91f79c05de155645cac4407d339b69610332963eac4bd36cb47f1c440354302e16b5523a9f02c9700647ca2a38b7290e5088ebbf0779c91f780e0eeb3129c363b73da29e96b7e4a9aec8c6ab885045396b9ca7f8c92d412f9748be09347ec3da355c1c34a616169ad8fd6b949c1ae3587da6d6f1cbd5811118737db1627a264110356c404ddd4c6dad4672ec23571c0d2dd2aeb87fffcf5125bd997dc7072c78717c20935b0e3a6eaa84eba60df9b38f001fca266279812bcce764753f4c6bcb9118ec0924cf0bc282862d5b00261039b426e7721daada9a3cfed5bebb7f4417f30fdb433cf2c2f19bbecb0be7f85c66a642392f0ebb5e66e424730bef47be2a29e00268e80d36e88a5f4933a3931ac6877048d21203baef5e29d38148263c8b9168c97f2401ba09a7ae1e3a0ecd9c68d0d51606e2a71a86d0cb7178f7957840c6a4ab6db989c3ac7fb819c272f168c307f8cc78e66cef6b66fc58457d59a7b4824d85ac9b8556955603e5120d3c808122940378e85faae31493298c90eb6b70009e9bc43c5655b85e89429248b251b3d135a7527dd3b47fe927e19c41aaac9134c219357b277d00c465ae6b4b2232ead87aa18ab8acfa82f737b6ed959c8798d99bd10b1ccbf6b3d79278d70bdc72a06ab01d022a8d0f9520cad330d84508ae75b6c1ee4dd3429e41e1297c219aaa6cf26f4b6853643ccc6d4b34fd7bca0be8df3f4fa39680f7ae2a88da89eeb803dc4b237d8cb0de7e6c7d58b6ebbb915a6d7bf7b2c9f49c9b7832e0256758fa17bbcce2ec9eac7d88feafb4633a6af59b9a8881b8f7c85b43f7e3dd6fa25385da6a3bfaeb8afc5ae0e429a2f68d663fd7f5e02a239f0efcb4221cd3fbecdcf8ad1f0ae3984de8390fdaff8d42db0495c8a6fcf9a354072df1ffb2882e6926fb02f1d046684011a8e957a45fedcaae1f22f171f829b24cec5cf344f948691ece49cb352c111836b1799676802a4601ca8253d6eda16142befa25674b0ce1e6d441ede6875c6bc00783218b3defe754e899db2f44478407ce5d2bf7a4443745907ba3cfe1568326fe5419fb50a3ba57dc116e96a54ef763a1af163233b009f6b727192c94b9d519af5be5f869b4aa0ec83fff1c5b4ce9f6a647bd1a8a7bd7dc9b7e1274f74e98fde72d2db71b666cd23963668a54896b098ed8b4e64fc09f69d7328b439069188ed852f34f375e761e1453721bf7cc98cb687be17a9c3a9316e1af876d7101dc93c3ecfd748a43a39aa5c07e781cca59b7423df8a43780fa8dd214d8dd769220fef06a0efa36f05d7baa2e88e0841b10a5c7fbf5024cd642345e3ad77265a3ac569684940441a1603eb0d8d244bf26da341447b06d7b21ea8fd84886f59954e06d54eba638777c507235e68f1f9854c8ac5e9659b1dab5d4cb56eb6372faf44d4ed7adaa5a70819dd8a471319e9700edf28b95478c26d7d3a8bd211568466807a637658e83423b8fe29d196458d993668e195750588be5563c83d42047f3e60aa6ceaaa02370f104693256e26275f86ac84bf55055eeb1c80a2673ace2c352b2242ff59b386a7f66899726e5fed155ccfcc86c86761715a446346dee59395de48373b2debe7895fc565dac73af52330efefa466bc5ac9181a1963fb57cbfa83df3e3ee54fb51330f1e648afda7ec80b41d04a72c6d70945e66e63eb164c23b5f2d044eb81cc6d54bcf90f47d0a0a63dc1523d77898679b5db8955670496d9dd6a056eebce0157e8e62e81c9f25554e16d4625cb3d779f254c14dec656c11e6a2897dc48dacc999d2efea178f2ee867487b3558b5bc5b16cca3c0121076dd81d22183b8e21b3599f434c2f9e3560a52261a0ccdb139f253c6f4439512d7eabfb28270ca721bbe9ccf6034fcca31c7f2719d90bf2ba0b2dc3195bcc578ecb6246b8b3c9005241cedbb48237dea567e263bd5307524d8293fc4495a4d69cb5fda91117f7f51a3281ffad32eed14f61d2e1516bf581d91d7d7579661aca5c48108f4053852c11d01fda7fdd3a065f861858e48b2e321cd35c4e260d1913ede000ae26a59a3284988eedcaf1570daed71be8130b3438b6882cb4ab22ba353e0af8b9667c996618d1a19cda284b4754f143111c5e16282673779c424d5253b5c40e0f2536698da3a9cfe4111475b7db090b4c4e6cf41b354e929dc5cd0927646b767886898da7d601114f546f868f9ce0f10000000000000000000000000000000000030913181e25303a" } diff --git a/packages/web3-zond-accounts/test/fixtures/json/eip1559txs.json b/packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json similarity index 99% rename from packages/web3-zond-accounts/test/fixtures/json/eip1559txs.json rename to packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json index 063cb36a..bd7c9fd0 100644 --- a/packages/web3-zond-accounts/test/fixtures/json/eip1559txs.json +++ b/packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json @@ -1,7 +1,7 @@ [ { "seed": "4c3f1b0ce35b22ae3d02d9b6f8584e993638d538990606cf31200159eb23c99ff836a13b55cf93867488d21a1cf009ad", - "sendersAddress": "Z201bec2fd7f2384f1f1312d18f0f9d218de77336", + "sendersAddress": "Q201bec2fd7f2384f1f1312d18f0f9d218de77336", "type": "message", "raw": [ "0x01", @@ -30,14 +30,14 @@ "maxPriorityFeePerGas": "0x01", "maxFeePerGas": "0x01", "nonce": "0x", - "to": "Zcccccccccccccccccccccccccccccccccccccccc", + "to": "Qcccccccccccccccccccccccccccccccccccccccc", "value": "0x0186a0", "publicKey": "0x94ef47878aea6c24a6aac5d43465cc361bbaf8bc8c9eba9abccda48977767f5604b8150337fd5ca7cf90bf8f63fca0e6fc0728a3071e5ccae2766a15679d2a57ddc95f6f51ff8bb831aaa937271eb80d599566ae1e73173aad708f68330bbd9c6555c0f9366763011f7aa4edebab101f99a4007c8ae1123a13e7c7cc19e2e7699b549bb770d3753bea49ec9e31104bae89fc38abe75e1f140267a2f492409d25f188aec4783afd2c8140f6a8c6850077536cb2760c65779d165b6f03f9b149210d8160f58803d31171be717baf887aa612c02f806bd9e3332ddc21c0e6e912d053d4d49c13d2de8a75266e6157610175d4897e58886aae12bf7b949e20351d80a4a994e7c70c9ba76a2472818343609061ffa393f6f270dc8b4aa806d5616e55e936f26cccd3e1006bf185196ae5457d224fca6555068bfb64a228e8b44b4221e85d2f1137224992f41a78301ff768527e953e50424a45d21e8877a16a915629f45aba1aca08769c561260d4d58bcf36af98c26e6b81365b91720f3155c1f9383d8c7ab295aabe6c9799f625d29da42bd4002fbd337ceaf991573678f6384da18541c4e3a3c9472620c19129bb41e2b5e71884b98a8ac319a0ec2be11948f4c02b0b824a2347e00945ec89f45f431dfb3605d8228ce69136867570bd0149f4fe2b53f19d1458e7d6f9688af7c5ec3021fbe61cb331a5a44c9f5e9a4a1192d5eeddf98f47e1c8379bf000ae6886cc3eb5442fa8586652550876a4ef31dd941eac082e9fb1ff26db706159ec7be0a5051b408fc955c55335db1f46c6e87113aabb03960f2f4fc986e4e583021b6b69e7c68b0d1093429630cf7f4a7e895ad45a41363c53d0ddce0804a8858092bc7a069852fff02773e0abd6c7cc7d3d34c0bebfb34e1c5e95ddb184c4a0fc77ed09fca96dc472ba0391214c489890ea410085d4c6ecc69f3facf0b1587372752a421641597563fedc9fc64452d7a7a0db9560ec1c8564a3180a5e623b65e1dd494f967556bde56f9bf58cf5e07a050258e4a90cc2700831a4113391877c65ebaadea8710e23ca9f7afb8c5bd90edf38211b32874b65bef5455159c1a1d17ac3da17819f8adcb254a62d7f4c362cc470f75fddaf6f6624f3a56b0187c4e21295534a832a0f2720c411d0685751fff095078d18bc854856f7e1abe14eb76e9e45fd1eca282804784d9c27fd15ab00bb6dbfd864c401f759d0f2da8ad8640b81066038b72c6cf26605f8388cdd67aeca21dda79d6dd01bc3d3ff5ee29f5e016ea681ba581940d0130685d42e9635c6ca27e1eb9fbf08f44879f4f479eefbde7b65476fbe379f771b0f116a2e6e5f65416b72f2c49452c40b2f108ab86ac7dbb8e252ed32946e5be280b512734c96db9511b21eeec3d0caeac51f8ca315ad7dd62efd1113e03932856d5eef73035a0ae24fef22a2c8aa1db28bc87702c34b2d2d722ddf0ad9d2eb4a6c16b85a7e22c49d115c676afeef8f66ec95ec805e4c1423df5dc2eeece55f107005e15b3ded7c5ff7b7d6fd8530049ede7b776bee594fc18e29a4ae177419bfcb2a0185f51ab35c389baf9b37742192e1c36c2ba7d5c46f683dfa8ca8103a824033c68d844d0ed55e560b96b8421162f57e2daaef5853bfe476903fcb42196e78ae2afe3d5da230de9628e2d268dfc50290b2a8ddae0ade58e2919e0f9be4b538220b885e20b28741cce7c6072aa27cf076197d8e046072045f4a4e20058e7ff428419ce7629b7f76dc0568d99586fc4095107b02228d4f2e9978abe68ef302747a67805d0158b88e94bdb73f1c6e1ca8918b311b0a5d101130e142d2085778d1546532c842f2673cb7a3774eb6d23fa901883aaa682aa7ed0195c3f899f6b485e09715a3791ac9102c177b37465344523fef3e9479ce39d358db0106b5b4cfe26415c5ebc2d00ab36af1171ca33f2c95ff16b63f91e10de4405aec7d6368afc20643616bf30505507f7af84a6f70a36c9f6644bf22bb141f88f15c01f99fbb0344b6db03c042cb8e80e6e38717c3e749cae3782b3d3529cbcfd68a04ade376a7f334ea471d21ebbc62035a57cced3f74a1612edb492a13aacc93d51348249451616f01bbd0e89f46fa53acc5490c7164ef8b2ac0a236b9da37f696db7d2e2dd51243966d2deeae418f2edc6f38fabe746ec5bc832db5af6856266c140e78ce15c2699778910c8e002290b52a68bd14c3be294154c7f448be0160d4adc856b307aa4d3a3ec82af0d25d951d25dc2027ed7861c9ef7d0228179a9fd38ba45f8721d6ce3dd42dce8f58f917d3555c04151cae3e0fc761291c632c0f13e618958cda614f7650efd18e1ffed06bc171530b5bde901becb2b021db47e541679bbb55f7337e1d205e1031eb2ef9a332e84bcbd9b5e27682159c86d3031ab01d741fedf1b05a4e1bc82da108855c8d833abb99821c8be81df68818e2aa094a3cde6f3d5e1bd8b2e86daba12aa2b572ffc81c65c3e498432edb00f1fe6fb04ec92a96b2c206a36a5623f8710c06cc20fdc661230f8b441ce4ebfa45a2890a4a43f2dbd498a9ef9d1f4e748ec81bca42a27aa8acd72406ca303050a32aa644f60e1c58a036ca2b0f0ca69092f6d08a40ee97ff700931b87039bdff71043a75b1578b33d98b391ae0dccbd46f5428cc80016412cbce9532b70454ab801c77072249412a2d49e8f608ab7480b1a9416714c825bd07a96641b865daeda71a5bf6b9e28bbf4a9042e79a6d6dd0c1d99dd3cabf4d580b6bc22999acbfb6f25a33e622104c13aa173e2191eb70dd0db82ae47d1ddbbdb24d3d4403bcaa64bcde88c86ce5bd535694b24f117e729abb3582e2166658f969a206b44aa37837c6efd7f094443c65f43b95826aa97ab1d3dc9aa3e56b31b1d2fe5e2eb44d2b5ccb1039118ac3917148fe4dffdc81daac74007ce71dd5e779be416de62b271bc4379e0a24c6c42e8e8c0213dee8588752d54b12b4da7be2e7a75c6b3e8ad9a92a4768d0611bc91ddd4aebda0cfb84226280ce6f621b5a83016b51bc9de2fe0413ce43ff967cf3680c9e1c359316ab207d93382df330b6a1fff25f01506952465fbdc1d36aeb0124b593b29619b712867c63c7e872d65d18b8834c505ff23688bda7b9d4e4969d6b69aae0b5ff14a152191c5f94a061aa3a7db71bc4ad9ce217a931a92b35e6faec8e00800f96b0efe6d42d1edf25573f12da245539f8fba9ab270cf738d585a144d9098e5d529f3e8662903de413ca9174b9bc6da0a70be23cce8b1dd7b0a1db109605f20d3ba5d72d4361e63cdbfe58ba1e19c0cbb0ab65090c8dc30265ac76a191707804756107d14e1ec41b6b8765286f99960fb601394bb1db089bd5ea19f3b98666e003affb6e9477a42f1c836efdb2355ce392849a777a6c4ac9e1eeb7bad57faa0f25eec2adf2d2d3b20e5ad1ce82ffdd9264e90a37a269f24841742479ccfadb38664c503191da287b16ca59d06b0ebb09e658cc0090665d8ca90b917c4a089b9474b9d76ba7d9deeb96f9a82ed10365d756da05f23bc9f81222b09e5d4b490977052f0bdd3afacd28b2f6730b3a6784eff8653fc8dcca5d17f7c34b05a30cf939ca10c52b714a5ab51b77b523917963a9f3374c7004b81588e06103615fb793dc267e8e3677d8fed75cb371", "signature": "0xec8a3ad1630b82a6a15686e79666d7a24a7f8c692acbba3f62456c49d7d1c3e473e94f8b4cb9360e995122c48841d17eef79bc6e8eeeb40d643941c07aa850dbbf1342b9549c48271cfbfd48cb67568e6220ebdd6ab43624c11a5176ac75ebce1ce9481cb368fc7b1066640482bf4e33f336bf386f238973f10b5b8a08a1ce5babb0f5060236dafcdbfb80cb91b4e34fd338f1c6751e47e47e8ad94f5daa4825cadab08c0cac808666697cb01deabc718dcd84703cb4045552c1d2cab176b19dc377810db8f21e331030860a831e385b199f66787fe589052c1a9353dc3350ad65e86f16ba79e5694da51c9fa4c882c9411e2a95f6011fb7dbd86bbb9d60f9d81ba38954d53f4cd81fe24909de070fcefed7edd55cb7e41249d605674003bf9f73a9d228b0c3881df78987720cbfc6aac68f64ab7df7069a4b2076088ff4d8f7806f99e269d32707a437a79775af93ec37a995ec4e25722b217b12d9c7bb49a2ff957e02bd94b4ccd8d3f9b855825d6f08354f95233c55c855a7e7b53fbada7380dea39cecca6695629c6949c4fe95e7e3bc29714bdd638de966adf2015fe9e6e5bb80b457d17ad9b8a7395bcbdb5b06e809017646a9e911521d22b9b42775e5bb5f2035f5df0224db461ce4f4896331e2568e8c960a076f3679682fb2b10b3ed50ede3f0bcf1cc8b1c50c802690d97ec15a130a36a41209ba9a5332476812427552ba99a52192e92b87a66abcaf6d8e456156f3f87d2d3a0b4498b30d155a8e2f4d50180988c74fb3dce018797c584fc8f55f89c723255ff4dc277cf3fc6afe45b3a372eb8948248aee7270f9d081ed231d5c4559ce24bcfc0efde8ea708adc8eea99628a718575b6369bfcdddbe02de626bb6fc8bb5ed4e643c0579fcfc78722b690631827cbc229fdf09c3f3af6ee72908756e5bb01b1ee1b31e96f16d5531ae06fbf7ed703e4e852af82d3164b23b42a8377c60a7ef66cc9f2e8733ab27068665c71745276dfd0e4e9e4a71f108806f2b39e790c7a19099bb4065961362fcb4ffbaaf9af64a527366542f19f4d8dd45c0da879123d9b23d73ccad5979398364f75a629c35aba791a708630175470ff5f3bcf340502c3b1745bec52dcaa2d063be76a598838fd0bb49ce80b084aec62030c7f53b02ac8c7b8dc07a7548f4bb9732d83c37fc0c70f7d7f9002a5a522ef4f5f8f98ae43c3b5da4db846964b40ae6034651c05e38e9836a9d72ec4a75cef2a5dca38401203cd7fe60fb1138ceb9b09bbb36483f3f1366953b484889126f74ca37389cc0639c368f8228de1fc70e8adbf1de146fcfc78e9989cff60efa9cd32d7e05be5c57eda2006e32c7019dcf3df8bd9b0935c34a2030e46d498fb89d098ed9639bb84f39ef0deb2e2c3a333150bff2a0abc0065cd1d717a18e2acee9da902ed7fd1b370f0617643638aaac8267fbefd3bf3cc3835a3ce4d9bddde7c01d28ba106e75a2c084995280ba95e1ba2a483392fbfa2c5094ed93398b7b0d1df00449f91baea21a0fd9010f738838480930dbdfe41ef70acd8d04e9dde5e6ebdd440646b8af1f76fee5cfb1a27fc0250dd553623b03aceac99a3b65e336888c975ad552fc5d9adb49047dc793ee20f1224da07e9f3a85cf43d1205c7b974810e9c0cb4cbc7ca930d9e2aa9b162156e3db57c80d1933931240a407fd710b8267c7f72f202b766318fb0679aa4e863aaac111b8d556963e60a3deb595599e85cbbfb9ad7f483d052d311cac389f1a67fa982f8c08cf94f547ace0d0123275e32bf5e8d304d1386d1d46c73891b88c4ea09f240e939e1f8d9b8aa64d0e18da9a235843463984d5c37fcc6c633b2f887c652d7b2589de2934ca3b3edbc706ef4c14688dfc762eacb27dfa7feb4f6d03c41c3f6eb7aadcec862d0bd03d61e087e336893b81d8d57e206faf36d487378bb866bb5fdf7e5659e69d93351c7c97c162d698ca5de5f7d287853b6672d14e5f49793cee9367a5a910db12c4c098e08e7e4233e4598e36c4907946753925e79d61db0a9a361dc1195b726294c603fd9b7798ca98f34655949e24dd8ad33d2bc512e38f7c26f248a7959548f844fe7c3ecc367381c529e77efe43ba23b59e6cda14ce27ece81e2d1e2fe2c55f2f29dadaee24dc2b2e638e1cad38fae7819e63e5275502f0f0a3825465d65cc017e873235ef4a871d8a0235f833adb6346d79c59f29c5e939e8cc2050eb9c64498654ef1e6ca975eeea8658eae664c26c5e9d667a29b7c36098c20701e2fe4ca0b922d6664e92c8ff7be49a75414c980d3545f915153006d60e092a2dd2b5e023508a256479d8f596ea57ae7e3548d6771a1b8298aa46df9ca7f49243281772aecbc79702c701dc85eb3b0813e0007551c5612f8351eaaec691079fa21363b8c07c8ae7a6301f65984936eef6f628b1157404184a6eadc87cec3bd34c498c7d9eb4355b79285bfd54a31b9e8f2cae2bd033cf8c4c4d4fd7cd3bd47c6bcd990152aec280a2a5617adfe2c67e6cfad40bd09d21675c9bb00e3bffa1efc2cbf9dcccedc5e0e7693ad6e04e5ab2330b8a432d79d6dac75badcce73129ca2cbe07074f4290622b165231b9fe2fa0ca028bf964b1e4dbd66e62d97b475c167145b302e7bd11c93884cdb76b2fb2ba0069492c9973aab5ce80a6152d3c14b9ba4e07af5201ebfeeaff572c2abd4a2158e31e8ef22132fa57f908318fb7ad52c7689f1a88e5c8cefdd460cd8fc2709dba564a3089a77513ac2e0500a6800d4f3b2245a230d90ed10218f08edacac2df43a1b62e8bcf343378dc1b14d6dc70f2e0ee848c263ddf52c52d14126c27379c1215b9b7555785767529d12e2e737eb346b3eef46150f7d7075e0ad16933b24c6ed6b12812b2878917062524bb0ba9a04797bcee675df0bb8062ffca21a6ed58c0fabd14b30f408714edd978199514ef267328ea96fc599e106ae3957b23f80d21bdf763c0e994c9d26ae2a3a98a7405098a151e51415f2d4d1ed87bf43fe7b6b6a632418fa1e996c237fca547773d847bf6f63800331c1bd77d9a0adb4f930dc1917e1f9f9163fbb086a91a5d7493899bed1658f6476808c393cde0d024d476840c28f8a40c5b8d179c2afb60c9f540e68c0cb6d9d0c383e6676fc0628242ac53c1be40a9bd5fd85366ca7af3e8ec5f087e0628a90378acaf16d0aee85e96e18447db68451336bfed0729ca71ff90e089740b87fabe5f702d3e37ac43fab6074d540c455f69251b0751d918cb4c40256fecbdff7c281b8e567762d2655c9e9f57ed5c59ab81744ef07598e70403a2561703f7274158540c0af52e4428213114803bba9e180dd7bb0ae2d20aac927af0d209ae331449261d5f72374ed37977daaed33860cf7bef036377274f86a8394b721773a6c9aa3ab895dd13188d75137cd25640ccf34af8d4a0e022a0aa992c96bf4642ee23def8178bd5f7376c7ae50fda9f9f13a86430d90af27fa0899c369112152cfed5e78b843f7e0864fd7e7edcc50ed36c5d9195109148ea9771a61651a187c059946a457fea2fa0dec08596a8c6dd85f4695fecc593c96c9480552eee4e4b3b7855b7d8b4ce079e783c024c224f2c15703a7cc77ef22d796a559b740184f963d234250f279c3bd77be36e5d1783d06c6ce45a29ac6e174ed4c761270938383cbba38df3e68f637f49b3a7b955600303fe8f2d3e4d3e7409af56d55f1229672a5b643fded07918cf3a7c3071f1f152627cdd366581328451c0aa7c202fc1106efb38d179c8bcde0f0716af45471bd09ad73d5902691605b3219ac223b7596714a81746032e30d0152a16f48516220937d3b6d1981553cdb9e8efcc70351da541d65505862e929140188e6058706f0950fb32f015935fcc67f859145a215fea9ca345a729bee8d96ae156f35283473306665ced9f8cb5cb926c6751f5f02f5d0f6ffcbd2de5dc0ebaf85d5c46ad9bca54305aa5e7e5848f2208889a5e0a187a0677b0bebf7a3326324a90de601c1ec0a99bfc75a397d56c0f535448450a798cdd45b931d1151605de65a2ae751cd34924c66891f84a200c56a4c0f9a3ff9a8766198dc0be298868770bbee13ec6d46dc6d6fecf63196848a5e3bb2f6991dc1be3d6fa85245710e8efb17b3ffe5848ff90a874fc69ddbc6f18c4c037a019216aafd8e35512d3d01d262baf840cf940c8f41c78be04299383b89461d26dda3a6862027edeafd9f50fa6fe0dfd3b8fa5f535b985cf6a3d0bc0f44b2f77e66ef583ab6ffb97170b30331e01e183a77ce65bcd6fc3cc7961f475a4f8e425a0068e9f9393abe6d3f178b3dd2d63353089e3b1315459619d18d9ebecc203b502207b56f570e539cab8e8755316d050f9890d34c3e60e1ee618e07b62fae542d687d74b20f7eaa395831276b279f9487effa05514670d08beb7365fd3fd1b090b6838d4650618e2a450fe6cb54ac34b1824b4314ec34b9a961eb6f264086f35b23602b077bbe5a5bb20cfd74583ef27323f2be31f8967d096e70e68dc8a6331cd07c4566f3871d7003a3738892e1831c10803efaf4e70eb534062369731109795421bd017ac1daf088e051cdc0255cc6fbca99c84ecabe92ad150d759555cb92aed8d1e7963384c0b6fc869518545e007626f94577ab0807a974040d3009c7b0ccdbf9f6c88d371af0ec7226be236bdf5db306b65456dbc599a9b5ecaeae707f0f31717e866b1e1f0ffbc225d6d9352ddf9454677fd38b833e111fa3f14cf9a795a5904d84ab8ff4c3c4b9aeecf3a46ab744a0462e1f8d1f994d230486c07211a13b632e7ea08883076850863bd89114fd1f883a036edd06a23e3772c02863c1dae722f522d42bcab9a3613eae46a2bb4bb93d72937d4702fb072e65566875f26192a2578b5b917d367f271b02e411342a5a9d68ecd72aaef0ff685e24919a3c1b6d00be9f29d46633dfaa58cd2968989f0162ec2d64458a3c76b0bb6d989eca1bdc30c37e825e0329108046eb8c18e66ee83aaaf12d0c13fef9583df3beb1d15d3e29b4a8720c984420b1e05d1ad5adfb07b720fa9c69c847bc038be8a8f1cbbd5a853a8259a72e3f06d0d195e77af858e7a7e8c594496b009a6899bf2161230072f58483e9a88fc10db1261716049114e3a00baa184aba4400d6ea34c709303579ca7bc6f83275609e27d2cd98babe1e37cf11bedd5e5df6be2e585898d9058cf22ee3bb44673b783d1e72849342935a4e6eca9759044e1f87d7be7dc1fea50cfed8cf6232f7a47132ee8fdc39b85e99f7da8d65a2ec82598a19ec4f598af3937a0fed0a6ba53cbe6bbd7538dd06868500e31262a9cee3cab333df177c30c698941c695bbf1c506604e1cabb8c9f1bf9df09f0a0cb7432a8c029f37b6e025918236ee495c7f6c32d52716e87c977451713125f58425b00657ddbdd94d3bf98cfb5ef0c469160745dc88c8d5296de9be6488a49ad7b2afaf76dc7bb7f7ca4ca1a1433ca77405ce2e2e6c934beb868f02a505d1750720801ad76d91d59810fce76760d4b747204d891673aa0d5c08df0a042cec89d0c00666e3cfe77650d138d2cf35cd3af012539248c98d1c0842952c209781cadafdec3b3c394ec8ff1a777c11a3727175a279a536da1489397d4af5f26d8184234797933da301454553f31b78ae001922324f23034cdd62954482f4a723fc82b614eeceff97fa00dab2a9e9c354c5a9369c1537a4747872e59e8805f0b738885c0ead943ab6fabcacba150db1ad68e767b8a62ef94c9909f872e7b3cac8b4ad970e14284f3e5dbbde9e541d943c1f421bcca18e9463d3766582deab592f7e003e82ef10f407f58b241a98c0c824251af48dbb874aceaf4f44d88a86f15c71eaaa8b8ea0e6821ab968be91da29802c9909aa554d781c072ad3109e6e8f124d77d2b12adb685c663b8725a82581a0be33a4ee1abbbf72b30d6ca950ba51ed4b3e813be7891dd5d775649124b0e3f76471461c451ecd643ceeb3d2162cbdd70be1676fbbb16f874bad11ca57b330f4d508b9511fac45bf16a4ea6d7bafd6cca9388746ff46ff3d73133f3102e57cbfed7929a8f75cbb91151c4ab6521727213ab383fadeb3065c28adbdbbc4d926f45baed69d212004b34c03cebc6bdda3b92490047218997447498be655e25b5786ab7a18c35d2f761e0e3a1fddb73aaa32e2985258747aa7af7bb4e8454df1a0cc864f9e36a62e9a9fe3ebe98b3109a4d201c3c98bb42166423f84f0cdfb8af74bc77b81e47d5b5b5c12c0bfa307fd9ab0c13bd3b38d25e0425441fb22bdc4a75d8eb4b72c836d2b5e9264ae9f20d9708ffedfdb81a2379510432657ff855a147610d4f08e06ce30d928e094c07d907f14ada32fdc4f3cb2bc7f0c0d24748eb0d015455972808287b8c9dae4e70c1a2e61678aafe2f5274d5867376a6fbabfef00133839a5e9f42b3e46636f7da6b01360b30000000000000000000000000000000000000007131c20262d3538", "chainId": "0x01", "accessList": [ { - "address": "Z0000000000000000000000000000000000000101", + "address": "Q0000000000000000000000000000000000000101", "storageKeys": [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000000060a7" diff --git a/packages/web3-zond-accounts/test/fixtures/system_test_utils.ts b/packages/web3-qrl-accounts/test/fixtures/system_test_utils.ts similarity index 100% rename from packages/web3-zond-accounts/test/fixtures/system_test_utils.ts rename to packages/web3-qrl-accounts/test/fixtures/system_test_utils.ts diff --git a/packages/web3-zond-accounts/test/integration/account.test.ts b/packages/web3-qrl-accounts/test/integration/account.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/integration/account.test.ts rename to packages/web3-qrl-accounts/test/integration/account.test.ts diff --git a/packages/web3-zond-accounts/test/integration/jest.config.js b/packages/web3-qrl-accounts/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond-accounts/test/integration/jest.config.js rename to packages/web3-qrl-accounts/test/integration/jest.config.js diff --git a/packages/web3-zond-accounts/test/integration/setup.js b/packages/web3-qrl-accounts/test/integration/setup.js similarity index 100% rename from packages/web3-zond-accounts/test/integration/setup.js rename to packages/web3-qrl-accounts/test/integration/setup.js diff --git a/packages/web3-zond-accounts/test/integration/wallet.test.ts b/packages/web3-qrl-accounts/test/integration/wallet.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/integration/wallet.test.ts rename to packages/web3-qrl-accounts/test/integration/wallet.test.ts diff --git a/packages/web3-zond-accounts/test/tsconfig.json b/packages/web3-qrl-accounts/test/tsconfig.json similarity index 100% rename from packages/web3-zond-accounts/test/tsconfig.json rename to packages/web3-qrl-accounts/test/tsconfig.json diff --git a/packages/web3-zond-accounts/test/unit/__snapshots__/wallet.test.ts.snap b/packages/web3-qrl-accounts/test/unit/__snapshots__/wallet.test.ts.snap similarity index 100% rename from packages/web3-zond-accounts/test/unit/__snapshots__/wallet.test.ts.snap rename to packages/web3-qrl-accounts/test/unit/__snapshots__/wallet.test.ts.snap diff --git a/packages/web3-zond-accounts/test/unit/account.test.ts b/packages/web3-qrl-accounts/test/unit/account.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/account.test.ts rename to packages/web3-qrl-accounts/test/unit/account.test.ts diff --git a/packages/web3-zond-accounts/test/unit/common/chains.test.ts b/packages/web3-qrl-accounts/test/unit/common/chains.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/common/chains.test.ts rename to packages/web3-qrl-accounts/test/unit/common/chains.test.ts diff --git a/packages/web3-zond-accounts/test/unit/common/customChains.test.ts b/packages/web3-qrl-accounts/test/unit/common/customChains.test.ts similarity index 98% rename from packages/web3-zond-accounts/test/unit/common/customChains.test.ts rename to packages/web3-qrl-accounts/test/unit/common/customChains.test.ts index 0fe055e1..8091a97e 100644 --- a/packages/web3-zond-accounts/test/unit/common/customChains.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/customChains.test.ts @@ -80,7 +80,7 @@ describe('[Common]: Custom chains', () => { common = Common.custom(CustomChain.PolygonMumbai); expect(common.hardfork()).toEqual(common.DEFAULT_HARDFORK); - common = Common.custom(CustomChain.CustomZond, { hardfork: Hardfork.Byzantium }); + common = Common.custom(CustomChain.CustomQRL, { hardfork: Hardfork.Byzantium }); expect(common.hardfork()).toEqual(Hardfork.Byzantium); expect(() => { diff --git a/packages/web3-zond-accounts/test/unit/common/hardforks.test.ts b/packages/web3-qrl-accounts/test/unit/common/hardforks.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/common/hardforks.test.ts rename to packages/web3-qrl-accounts/test/unit/common/hardforks.test.ts diff --git a/packages/web3-zond-accounts/test/unit/common/mergePOS.test.ts b/packages/web3-qrl-accounts/test/unit/common/mergePOS.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/common/mergePOS.test.ts rename to packages/web3-qrl-accounts/test/unit/common/mergePOS.test.ts diff --git a/packages/web3-zond-accounts/test/unit/common/params.test.ts b/packages/web3-qrl-accounts/test/unit/common/params.test.ts similarity index 88% rename from packages/web3-zond-accounts/test/unit/common/params.test.ts rename to packages/web3-qrl-accounts/test/unit/common/params.test.ts index e20d218a..8d49d94d 100644 --- a/packages/web3-zond-accounts/test/unit/common/params.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/params.test.ts @@ -18,7 +18,7 @@ import { Chain, Common, Hardfork } from '../../../src/common'; describe('[Common]: Parameter access for param(), paramByHardfork()', () => { it('Basic usage', () => { - const c = new Common({ chain: Chain.Mainnet, eips: [] }); + const c = new Common({ chain: Chain.Mainnet, qips: [] }); expect(c.paramByHardfork('gasPrices', 'ecAdd', 'shanghai')).toEqual(BigInt(150)); // NOTE(rgeraldes24): there are no param updates yet @@ -81,21 +81,21 @@ describe('[Common]: Parameter access for param(), paramByHardfork()', () => { */ }); - // NOTE(rgeraldes): unused: no eips available(merged) - it.skip('EIP param access, paramByEIP()', () => { + // NOTE(rgeraldes): unused: no qips available(merged) + it.skip('QIP param access, paramByQIP()', () => { const c = new Common({ chain: Chain.Mainnet }); - expect(c.paramByEIP('gasPrices', 'notexistingvalue', 2537)).toBeUndefined(); + expect(c.paramByQIP('gasPrices', 'notexistingvalue', 2537)).toBeUndefined(); - const UNSUPPORTED_EIP = 1000000; + const UNSUPPORTED_QIP = 1000000; expect(() => { - c.paramByEIP('gasPrices', 'Bls12381G1AddGas', UNSUPPORTED_EIP); + c.paramByQIP('gasPrices', 'Bls12381G1AddGas', UNSUPPORTED_QIP); }).toThrow('not supported'); expect(() => { - c.paramByEIP('notExistingTopic', 'Bls12381G1AddGas', 2537); + c.paramByQIP('notExistingTopic', 'Bls12381G1AddGas', 2537); }).toThrow('not defined'); - expect(c.paramByEIP('gasPrices', 'Bls12381G1AddGas', 2537)).toEqual(BigInt(600)); + expect(c.paramByQIP('gasPrices', 'Bls12381G1AddGas', 2537)).toEqual(BigInt(600)); }); }); diff --git a/packages/web3-zond-accounts/test/unit/common/eips.test.ts b/packages/web3-qrl-accounts/test/unit/common/qips.test.ts similarity index 80% rename from packages/web3-zond-accounts/test/unit/common/eips.test.ts rename to packages/web3-qrl-accounts/test/unit/common/qips.test.ts index f299a45d..b1c3f2d8 100644 --- a/packages/web3-zond-accounts/test/unit/common/eips.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/qips.test.ts @@ -18,40 +18,40 @@ along with web3.js. If not, see . // import { Chain, Common, Hardfork } from '../../../src/common'; // NOTE(rgeraldes24): unused for now -describe.skip('[Common/EIPs]: Initialization / Chain params', () => { +describe.skip('[Common/QIPs]: Initialization / Chain params', () => { it.skip('Correct initialization', () => { - // let eips = [2537, 2929]; - // const c = new Common({ chain: Chain.Mainnet, eips }); - // expect(c.eips()).toEqual(eips); - // eips = [2718, 2929, 2930]; + // let qips = [2537, 2929]; + // const c = new Common({ chain: Chain.Mainnet, qips }); + // expect(c.qips()).toEqual(qips); + // qips = [2718, 2929, 2930]; // expect(() => { // // eslint-disable-next-line no-new - // new Common({ chain: Chain.Mainnet, eips, hardfork: Hardfork.Istanbul }); + // new Common({ chain: Chain.Mainnet, qips, hardfork: Hardfork.Istanbul }); // }).not.toThrow(); - // eips = [2930]; + // qips = [2930]; // expect(() => { // // eslint-disable-next-line no-new - // new Common({ chain: Chain.Mainnet, eips, hardfork: Hardfork.Istanbul }); + // new Common({ chain: Chain.Mainnet, qips, hardfork: Hardfork.Istanbul }); // }).toThrow(); }); /* it('Initialization errors', () => { - const UNSUPPORTED_EIP = 1000000; - const eips = [UNSUPPORTED_EIP]; + const UNSUPPORTED_QIP = 1000000; + const qips = [UNSUPPORTED_QIP]; expect(() => { // eslint-disable-next-line no-new - new Common({ chain: Chain.Mainnet, eips }); + new Common({ chain: Chain.Mainnet, qips }); }).toThrow('not supported'); // Manual test since no test triggering EIP config available // TODO: recheck on addition of new EIP configs // To run manually change minimumHardfork in EIP2537 config to petersburg - // eips = [ 2537, ] + // qips = [ 2537, ] // msg = 'should throw on not meeting minimum hardfork requirements' // f = () => { - // new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Byzantium, eips }) + // new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Byzantium, qips }) // } // st.throws(f, /minimumHardfork/, msg) @@ -60,7 +60,7 @@ describe.skip('[Common/EIPs]: Initialization / Chain params', () => { it('isActivatedEIP()', () => { let c = new Common({ chain: Chain.Goerli, hardfork: Hardfork.Istanbul }); expect(c.isActivatedEIP(2315)).toBe(false); - c = new Common({ chain: Chain.Goerli, hardfork: Hardfork.Istanbul, eips: [2315] }); + c = new Common({ chain: Chain.Goerli, hardfork: Hardfork.Istanbul, qips: [2315] }); expect(c.isActivatedEIP(2315)).toBe(true); c = new Common({ chain: Chain.Goerli, hardfork: Hardfork.Berlin }); expect(c.isActivatedEIP(2929)).toBe(true); diff --git a/packages/web3-zond-accounts/test/unit/common/timestamp.test.ts b/packages/web3-qrl-accounts/test/unit/common/timestamp.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/common/timestamp.test.ts rename to packages/web3-qrl-accounts/test/unit/common/timestamp.test.ts diff --git a/packages/web3-zond-accounts/test/unit/common/utils.test.ts b/packages/web3-qrl-accounts/test/unit/common/utils.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/common/utils.test.ts rename to packages/web3-qrl-accounts/test/unit/common/utils.test.ts diff --git a/packages/web3-zond-accounts/test/unit/jest.config.js b/packages/web3-qrl-accounts/test/unit/jest.config.js similarity index 85% rename from packages/web3-zond-accounts/test/unit/jest.config.js rename to packages/web3-qrl-accounts/test/unit/jest.config.js index d2a9f0c0..35d4c12a 100644 --- a/packages/web3-zond-accounts/test/unit/jest.config.js +++ b/packages/web3-qrl-accounts/test/unit/jest.config.js @@ -11,7 +11,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-accounts-unit-coverage.json', + file: 'web3-qrl-accounts-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond-accounts/test/unit/tx/base.test.ts b/packages/web3-qrl-accounts/test/unit/tx/base.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/tx/base.test.ts rename to packages/web3-qrl-accounts/test/unit/tx/base.test.ts diff --git a/packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts similarity index 99% rename from packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts rename to packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts index a1f3281f..a74a0e98 100644 --- a/packages/web3-zond-accounts/test/unit/tx/eip1559.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts @@ -139,7 +139,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { expect(Object.isFrozen(signedTxn)).toBe(false); }); - // NOTE(rgeraldes24): test not valid atm: no eips available + // NOTE(rgeraldes24): test not valid atm: no qips available it.skip('common propagates from the common of tx, not the common in TxOptions', () => { const data = testdata[0]; // eslint-disable-next-line @typescript-eslint/no-unsafe-call @@ -148,7 +148,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { const newCommon = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai, - eips: [2537], + qips: [2537], }); expect(Object.isFrozen(newCommon)).not.toEqual(common); Object.defineProperty(txn, 'common', { @@ -157,7 +157,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { }, }); const signedTxn = txn.sign(seed); - expect(signedTxn.common.eips()).toContain(2537); + expect(signedTxn.common.qips()).toContain(2537); }); it('unsigned tx -> getMessageToSign()', () => { @@ -195,7 +195,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { maxPriorityFeePerGas: '0x1284d', maxFeePerGas: '0x1d97c', gasLimit: '0x8ae0', - to: 'Z000000000000000000000000000000000000aaaa', + to: 'Q000000000000000000000000000000000000aaaa', value: '0x2933bc9', data: '0x', accessList: [], diff --git a/packages/web3-zond-accounts/test/unit/tx/eip3860.test.ts b/packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts similarity index 99% rename from packages/web3-zond-accounts/test/unit/tx/eip3860.test.ts rename to packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts index 908fc7c4..6b09d396 100644 --- a/packages/web3-zond-accounts/test/unit/tx/eip3860.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts @@ -21,7 +21,7 @@ import { TransactionFactory } from '../../../src'; const common = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai, - eips: [], + qips: [], }); const maxInitCodeSize = common.param('vm', 'maxInitCodeSize'); diff --git a/packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts similarity index 94% rename from packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts rename to packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts index 477343e9..209f200d 100644 --- a/packages/web3-zond-accounts/test/unit/tx/inputValue.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -// import { Bytes, ZPrefixedHexString } from '@theqrl/web3-types'; +// import { Bytes, QPrefixedHexString } from '@theqrl/web3-types'; import { hexToBytes } from '@theqrl/web3-utils'; // import { Chain, Common, Hardfork, toUint8Array } from '../../../src/common'; // import { Address } from '../../../src/tx/address'; @@ -26,7 +26,7 @@ import type { FeeMarketEIP1559ValuesArray } from '../../../src'; // NOTE(rgeraldes24): test 'Transaction Input Values' not valid atm /* -type AddressLike = Address | Uint8Array | ZPrefixedHexString; +type AddressLike = Address | Uint8Array | QPrefixedHexString; // @returns: Array with subtypes of the AddressLike type for a given address function generateAddressLikeValues(address: string): AddressLike[] { return [address, toUint8Array(address), new Address(toUint8Array(address))]; @@ -109,7 +109,7 @@ const baseTxValues = { data: generateBufferLikeValues('0x65'), gasLimit: generateBigIntLikeValues(100000), nonce: generateBigIntLikeValues(0), - to: generateAddressLikeValues('Z0000000000000000000000000000000000000000'), + to: generateAddressLikeValues('Q0000000000000000000000000000000000000000'), publicKey: generateBigIntLikeValues(100), signature: generateBigIntLikeValues(100), value: generateBigIntLikeValues(10), @@ -181,22 +181,22 @@ test('[Invalid Access Lists]', () => { const invalidAccessLists = [ [[]], // does not have an address and does not have slots [[[], []]], // the address is an array - [['Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae']], // there is no storage slot array + [['Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae']], // there is no storage slot array [ [ - 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', ['0x0000000000000000000000000000000000000000000000000000000000000003', []], ], ], // one of the slots is an array [ [ - 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', ['0x0000000000000000000000000000000000000000000000000000000000000003'], '0xab', ], ], // extra field [ - 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', ['0x0000000000000000000000000000000000000000000000000000000000000003'], ], // account/slot needs to be encoded in a deeper array layer ]; diff --git a/packages/web3-zond-accounts/test/unit/tx/transactionFactory.test.ts b/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/tx/transactionFactory.test.ts rename to packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts diff --git a/packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts similarity index 99% rename from packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts rename to packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts index 4d0fb3f2..2dd103d2 100644 --- a/packages/web3-zond-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts @@ -29,7 +29,7 @@ import type { AccessList } from '../../../src'; const seed = hexToBytes( '0xec3077d539c7b333e596b9e6c0b5f5952d26469ab9a60d1fd54c329ef9959593850a2daf60369e434a7c55939f99e149', ); -const address = addressToBytes('Z20982e08c8b5b4d007e4f6c4a637033ce90aa352'); +const address = addressToBytes('Q20982e08c8b5b4d007e4f6c4a637033ce90aa352'); const common = new Common({ chain: Chain.Mainnet, diff --git a/packages/web3-zond-accounts/test/unit/tx/types.ts b/packages/web3-qrl-accounts/test/unit/tx/types.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/tx/types.ts rename to packages/web3-qrl-accounts/test/unit/tx/types.ts diff --git a/packages/web3-zond-accounts/test/unit/wallet.test.ts b/packages/web3-qrl-accounts/test/unit/wallet.test.ts similarity index 100% rename from packages/web3-zond-accounts/test/unit/wallet.test.ts rename to packages/web3-qrl-accounts/test/unit/wallet.test.ts diff --git a/packages/web3-zond-accounts/tsconfig.cjs.json b/packages/web3-qrl-accounts/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond-accounts/tsconfig.cjs.json rename to packages/web3-qrl-accounts/tsconfig.cjs.json diff --git a/packages/web3-zond-accounts/tsconfig.esm.json b/packages/web3-qrl-accounts/tsconfig.esm.json similarity index 100% rename from packages/web3-zond-accounts/tsconfig.esm.json rename to packages/web3-qrl-accounts/tsconfig.esm.json diff --git a/packages/web3-zond-accounts/tsconfig.types.json b/packages/web3-qrl-accounts/tsconfig.types.json similarity index 100% rename from packages/web3-zond-accounts/tsconfig.types.json rename to packages/web3-qrl-accounts/tsconfig.types.json diff --git a/packages/web3-zond-accounts/tsdoc.json b/packages/web3-qrl-accounts/tsdoc.json similarity index 100% rename from packages/web3-zond-accounts/tsdoc.json rename to packages/web3-qrl-accounts/tsdoc.json diff --git a/packages/web3-zond-contract/.eslintignore b/packages/web3-qrl-contract/.eslintignore similarity index 100% rename from packages/web3-zond-contract/.eslintignore rename to packages/web3-qrl-contract/.eslintignore diff --git a/packages/web3-zond-contract/.eslintrc.js b/packages/web3-qrl-contract/.eslintrc.js similarity index 100% rename from packages/web3-zond-contract/.eslintrc.js rename to packages/web3-qrl-contract/.eslintrc.js diff --git a/packages/web3-zond-contract/.gitignore b/packages/web3-qrl-contract/.gitignore similarity index 100% rename from packages/web3-zond-contract/.gitignore rename to packages/web3-qrl-contract/.gitignore diff --git a/packages/web3-zond-contract/.npmignore b/packages/web3-qrl-contract/.npmignore similarity index 100% rename from packages/web3-zond-contract/.npmignore rename to packages/web3-qrl-contract/.npmignore diff --git a/packages/web3-zond-contract/.prettierignore b/packages/web3-qrl-contract/.prettierignore similarity index 100% rename from packages/web3-zond-contract/.prettierignore rename to packages/web3-qrl-contract/.prettierignore diff --git a/packages/web3-zond-contract/.prettierrc.json b/packages/web3-qrl-contract/.prettierrc.json similarity index 100% rename from packages/web3-zond-contract/.prettierrc.json rename to packages/web3-qrl-contract/.prettierrc.json diff --git a/packages/web3-zond-contract/CHANGELOG.md b/packages/web3-qrl-contract/CHANGELOG.md similarity index 100% rename from packages/web3-zond-contract/CHANGELOG.md rename to packages/web3-qrl-contract/CHANGELOG.md diff --git a/packages/web3-zond-contract/README.md b/packages/web3-qrl-contract/README.md similarity index 74% rename from packages/web3-zond-contract/README.md rename to packages/web3-qrl-contract/README.md index 3d0bd993..87775068 100644 --- a/packages/web3-zond-contract/README.md +++ b/packages/web3-qrl-contract/README.md @@ -1,29 +1,29 @@ -# @theqrl/web3.js - Zond Contract Package +# @theqrl/web3.js - QRL Contract Package ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-18.x-green) -[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-zond-contract)](https://www.npmjs.com/package/@theqrl/web3-zond-contract) -[![Downloads](https://img.shields.io/npm/v/@theqrl/web3-zond-contract)](https://www.npmjs.com/package/@theqrl/web3-zond-contract) +[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-qrl-contract)](https://www.npmjs.com/package/@theqrl/web3-qrl-contract) +[![Downloads](https://img.shields.io/npm/v/@theqrl/web3-qrl-contract)](https://www.npmjs.com/package/@theqrl/web3-qrl-contract) This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3-zond-contract` contains the contract package used in `@theqrl/web3-zond`. +`@theqrl/web3-qrl-contract` contains the contract package used in `@theqrl/web3-qrl`. ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-zond-contract) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-zond-contract) +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-qrl-contract) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-qrl-contract) ### Using NPM ```bash -npm install @theqrl/web3-zond-contract +npm install @theqrl/web3-qrl-contract ``` ### Using Yarn ```bash -yarn add @theqrl/web3-zond-contract +yarn add @theqrl/web3-qrl-contract ``` ## Getting Started @@ -41,14 +41,14 @@ yarn add @theqrl/web3-zond-contract You can initialize the typesafe Contract API instance with the following. ```ts -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; const abi = [...] as const; const contract = new Contract(abi); ``` -- We prefer that you use `web3.zond.Contract` API in normal usage. +- We prefer that you use `web3.qrl.Contract` API in normal usage. - The use of `as const` is necessary to have fully type-safe interface for the contract. - As the ABIs are not extensive in size, we suggest declaring them `as const` in your TS project. - This approach is more flexible and seamless compared to other approaches of off-line compiling ABIs to TS interfaces (such as [TypeChain](https://github.com/dethcrypto/TypeChain). @@ -73,7 +73,7 @@ The Typescript support for fixed length array types are supported up 30 elements | test:unit | Uses `jest` to run tests under `/test/unit` | [docs]: https://docs.theqrl.org/ -[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-contract -[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-zond-contract%2Fpackage.json -[npm-url]: https://npmjs.org/package/@theqrl/web3-zond-contract -[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-zond-contract?label=npm%20downloads +[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-contract +[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-qrl-contract%2Fpackage.json +[npm-url]: https://npmjs.org/package/@theqrl/web3-qrl-contract +[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-qrl-contract?label=npm%20downloads diff --git a/packages/web3-zond-contract/assets/logo/web3js.ai b/packages/web3-qrl-contract/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond-contract/assets/logo/web3js.ai rename to packages/web3-qrl-contract/assets/logo/web3js.ai diff --git a/packages/web3-zond-contract/assets/logo/web3js.jpg b/packages/web3-qrl-contract/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-contract/assets/logo/web3js.jpg rename to packages/web3-qrl-contract/assets/logo/web3js.jpg diff --git a/packages/web3-zond-contract/assets/logo/web3js.svg b/packages/web3-qrl-contract/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond-contract/assets/logo/web3js.svg rename to packages/web3-qrl-contract/assets/logo/web3js.svg diff --git a/packages/web3-zond-contract/cypress b/packages/web3-qrl-contract/cypress similarity index 100% rename from packages/web3-zond-contract/cypress rename to packages/web3-qrl-contract/cypress diff --git a/packages/web3-zond-contract/cypress.config.js b/packages/web3-qrl-contract/cypress.config.js similarity index 100% rename from packages/web3-zond-contract/cypress.config.js rename to packages/web3-qrl-contract/cypress.config.js diff --git a/packages/web3-zond-contract/package.json b/packages/web3-qrl-contract/package.json similarity index 91% rename from packages/web3-zond-contract/package.json rename to packages/web3-qrl-contract/package.json index afbb80e4..5ae57558 100644 --- a/packages/web3-zond-contract/package.json +++ b/packages/web3-qrl-contract/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond-contract", + "name": "@theqrl/web3-qrl-contract", "version": "0.3.3", "publishConfig": { "access": "public" }, - "description": "Web3 module to interact with Zond smart contracts.", + "description": "Web3 module to interact with QRL smart contracts.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -14,7 +14,7 @@ "require": "./lib/commonjs/index.js" } }, - "repository": "https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-contract", + "repository": "https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-contract", "author": "The QRL Contributors", "license": "LGPL-3.0", "engines": { @@ -53,13 +53,13 @@ "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", - "@theqrl/web3-zond": "^0.3.3", - "@theqrl/web3-zond-abi": "^0.3.3" + "@theqrl/web3-qrl": "^0.3.3", + "@theqrl/web3-qrl-abi": "^0.3.3" }, "devDependencies": { "@humeris/espresso-shot": "^4.0.0", "@theqrl/eslint-config-base-web3": "^0.3.0", - "@theqrl/web3-zond-accounts": "^0.3.3", + "@theqrl/web3-qrl-accounts": "^0.3.3", "@types/jest": "^28.1.6", "@typescript-eslint/eslint-plugin": "^5.30.7", "@typescript-eslint/parser": "^5.30.7", diff --git a/packages/web3-zond-contract/src/constants.ts b/packages/web3-qrl-contract/src/constants.ts similarity index 100% rename from packages/web3-zond-contract/src/constants.ts rename to packages/web3-qrl-contract/src/constants.ts diff --git a/packages/web3-zond-contract/src/contract.ts b/packages/web3-qrl-contract/src/contract.ts similarity index 96% rename from packages/web3-zond-contract/src/contract.ts rename to packages/web3-qrl-contract/src/contract.ts index a71fa179..cc8c6eef 100644 --- a/packages/web3-zond-contract/src/contract.ts +++ b/packages/web3-qrl-contract/src/contract.ts @@ -36,7 +36,7 @@ import { NewHeadsSubscription, sendTransaction, SendTransactionEvents, -} from '@theqrl/web3-zond'; +} from '@theqrl/web3-qrl'; import { encodeEventSignature, encodeFunctionSignature, @@ -45,7 +45,7 @@ import { isAbiEventFragment, isAbiFunctionFragment, jsonInterfaceMethodToString, -} from '@theqrl/web3-zond-abi'; +} from '@theqrl/web3-qrl-abi'; import { AbiConstructorFragment, AbiErrorFragment, @@ -63,7 +63,7 @@ import { BlockNumberOrTag, BlockTags, Bytes, - ZondExecutionAPI, + QRLExecutionAPI, Filter, FilterAbis, HexString, @@ -102,7 +102,7 @@ import { import { getCreateAccessListParams, getEstimateGasParams, - getZondTxCallParams, + getQRLTxCallParams, getSendTxParams, isContractInitOptions, isWeb3ContractContext, @@ -188,10 +188,10 @@ const contractSubscriptions = { }; /** - * The class designed to interact with smart contracts on the Zond blockchain. + * The class designed to interact with smart contracts on the QRL blockchain. */ export class Contract - extends Web3Context + extends Web3Context implements Web3EventEmitter> { /** @@ -200,15 +200,15 @@ export class Contract * ```ts * myContract.options; * > { - * address: 'Z1234567890123456789012345678901234567891', + * address: 'Q1234567890123456789012345678901234567891', * jsonInterface: [...], - * from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', + * from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', * maxFeePerGas: '10000000000000', * maxPriorityFeePerGas: '0', * gas: 1000000 * } * - * myContract.options.from = 'Z1234567890123456789012345678901234567891'; // default from address + * myContract.options.from = 'Q1234567890123456789012345678901234567891'; // default from address * myContract.options.maxFeePerGas = '20000000000000'; // default max fee per gas in planck * myContract.options.maxPriorityFeePerGas = '0'; // default max priority fee per gas in planck * myContract.options.gas = 5000000; // provide as fallback always 5M gas @@ -248,7 +248,7 @@ export class Contract * Creates a new contract instance with all its methods and events defined in its {@doclink glossary/json_interface | json interface} object. * * ```ts - * new web3.zond.Contract(jsonInterface[, address][, options]) + * new web3.qrl.Contract(jsonInterface[, address][, options]) * ``` * * @param jsonInterface - The JSON interface for the contract to instantiate. @@ -258,8 +258,8 @@ export class Contract * @returns - The contract instance with all its methods and events. * * ```ts title="Example" - * var myContract = new web3.zond.Contract([...], 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', { - * from: 'Z1234567890123456789012345678901234567891', // default from address + * var myContract = new web3.qrl.Contract([...], 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', { + * from: 'Q1234567890123456789012345678901234567891', // default from address * maxFeePerGas: '20000000000' // default max fee per gas in planck, 20 gplanck in this case * }); * ``` @@ -268,7 +268,7 @@ export class Contract * * ```ts title="Example" * const myContractAbi = [....] as const; // ABI definitions - * const myContract = new web3.zond.Contract(myContractAbi, 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'); + * const myContract = new web3.qrl.Contract(myContractAbi, 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'); * ``` */ public constructor( @@ -446,13 +446,13 @@ export class Contract * * ```ts * // calling a method - * const result = await myContract.methods.myMethod(123).call({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const result = await myContract.methods.myMethod(123).call({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * * // or sending and using a promise - * const receipt = await myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const receipt = await myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * * // or sending and using the events - * const sendObject = myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const sendObject = myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * sendObject.on('transactionHash', function(hash){ * ... * }); @@ -479,7 +479,7 @@ export class Contract * @returns - The new contract instance. * * ```ts - * const contract1 = new zond.Contract(abi, address, {maxFeePerGas: '12345678', maxPriorityFeePerGas: '0', from: fromAddress}); + * const contract1 = new qrl.Contract(abi, address, {maxFeePerGas: '12345678', maxPriorityFeePerGas: '0', from: fromAddress}); * * const contract2 = contract1.clone(); * contract2.options.address = address2; @@ -538,7 +538,7 @@ export class Contract * arguments: [123, 'My String'] * }) * .send({ - * from: 'Z1234567890123456789012345678901234567891', + * from: 'Q1234567890123456789012345678901234567891', * gas: 1500000, * maxFeePerGas: '30000000000000', * maxPriorityFeePerGas: '0' @@ -561,7 +561,7 @@ export class Contract * arguments: [123, 'My String'] * }) * .send({ - * from: 'Z1234567890123456789012345678901234567891', + * from: 'Q1234567890123456789012345678901234567891', * gas: 1500000, * maxFeePerGas: '30000000000000', * maxPriorityFeePerGas: '0', @@ -699,7 +699,7 @@ export class Contract * transactionHash: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385', * blockHash: '0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7', * blockNumber: 1234, - * address: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' + * address: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' * },{ * ... * }] @@ -1007,7 +1007,7 @@ export class Contract options?: Options, block?: BlockNumberOrTag, ) { - const tx = getZondTxCallParams({ + const tx = getQRLTxCallParams({ abi, params, options: { diff --git a/packages/web3-zond-contract/src/encoding.ts b/packages/web3-qrl-contract/src/encoding.ts similarity index 97% rename from packages/web3-zond-contract/src/encoding.ts rename to packages/web3-qrl-contract/src/encoding.ts index 4f420b01..fa417db9 100644 --- a/packages/web3-zond-contract/src/encoding.ts +++ b/packages/web3-qrl-contract/src/encoding.ts @@ -40,9 +40,9 @@ import { encodeParameters, isAbiConstructorFragment, jsonInterfaceMethodToString, -} from '@theqrl/web3-zond-abi'; +} from '@theqrl/web3-qrl-abi'; -import { blockSchema, logSchema } from '@theqrl/web3-zond'; +import { blockSchema, logSchema } from '@theqrl/web3-qrl'; import { Web3ContractError } from '@theqrl/web3-errors'; @@ -113,7 +113,7 @@ export const encodeEventABI = ( if (!opts.topics.length) delete opts.topics; if (address) { - opts.address = `Z${address.slice(1).toLowerCase()}`; + opts.address = `Q${address.slice(1).toLowerCase()}`; } return opts; diff --git a/packages/web3-zond-contract/src/index.ts b/packages/web3-qrl-contract/src/index.ts similarity index 90% rename from packages/web3-zond-contract/src/index.ts rename to packages/web3-qrl-contract/src/index.ts index 238bf182..50dd2294 100644 --- a/packages/web3-zond-contract/src/index.ts +++ b/packages/web3-qrl-contract/src/index.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /** - * The `web3.zond.Contract` object makes it easy to interact with smart contracts on the Zond blockchain. + * The `web3.qrl.Contract` object makes it easy to interact with smart contracts on the QRL blockchain. * When you create a new contract object you give it the JSON interface of the respective smart contract and * web3 will auto convert all calls into low level ABI calls over RPC for you. * This allows you to interact with smart contracts as if they were JavaScript objects. @@ -24,7 +24,7 @@ along with web3.js. If not, see . * To use it standalone: * * ```ts - * const Contract = require('@theqrl/web3-zond-contract'); + * const Contract = require('@theqrl/web3-qrl-contract'); * * // set provider for all later instances to use * Contract.setProvider('ws://localhost:8546'); diff --git a/packages/web3-zond-contract/src/log_subscription.ts b/packages/web3-qrl-contract/src/log_subscription.ts similarity index 98% rename from packages/web3-zond-contract/src/log_subscription.ts rename to packages/web3-qrl-contract/src/log_subscription.ts index b6a4c4a8..8fb7937c 100644 --- a/packages/web3-zond-contract/src/log_subscription.ts +++ b/packages/web3-qrl-contract/src/log_subscription.ts @@ -72,7 +72,7 @@ import { EventLog, ContractAbiWithSignature } from './types.js'; * transactionHash: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385', * blockHash: '0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7', * blockNumber: 1234, - * address: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' + * address: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' * } * ``` */ diff --git a/packages/web3-zond-contract/src/types.ts b/packages/web3-qrl-contract/src/types.ts similarity index 91% rename from packages/web3-zond-contract/src/types.ts rename to packages/web3-qrl-contract/src/types.ts index d44aa4fa..a4b921f6 100644 --- a/packages/web3-zond-contract/src/types.ts +++ b/packages/web3-qrl-contract/src/types.ts @@ -16,11 +16,11 @@ along with web3.js. If not, see . */ import { Web3ContextInitOptions, Web3PromiEvent } from '@theqrl/web3-core'; -import { NewHeadsSubscription, SendTransactionEvents } from '@theqrl/web3-zond'; +import { NewHeadsSubscription, SendTransactionEvents } from '@theqrl/web3-qrl'; import { AccessListResult, BlockNumberOrTag, - ZondExecutionAPI, + QRLExecutionAPI, HexString, Numbers, TransactionReceipt, @@ -128,10 +128,10 @@ export interface ContractOptions { * * ```ts * myContract.options.address; - * > 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae' + * > 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae' * * // set a new address - * myContract.options.address = 'Z1234FFDD...'; + * myContract.options.address = 'Q1234FFDD...'; * ``` */ address?: Address; // All transactions generated by web3.js from this contract will contain this address as the "to". @@ -148,11 +148,11 @@ export interface ContractOptions { export interface NonPayableMethodObject { arguments: Inputs; /** - * This will call a method and execute its smart contract method in the ZVM without sending any transaction. Note calling cannot alter the smart contract state. + * This will call a method and execute its smart contract method in the QRVM without sending any transaction. Note calling cannot alter the smart contract state. * * ```ts * // using the promise - * const result = await myContract.methods.myMethod(123).call({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const result = await myContract.methods.myMethod(123).call({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * * // MULTI-ARGUMENT RETURN: * // Hyperion @@ -163,7 +163,7 @@ export interface NonPayableMethodObject * } * * // web3.js - * var MyContract = new web3.zond.Contract(abi, address); + * var MyContract = new web3.qrl.Contract(abi, address); * const result = MyContract.methods.myFunction().call() * console.log(result) * > Result { @@ -183,7 +183,7 @@ export interface NonPayableMethodObject * } * * // web3.js - * const MyContract = new web3.zond.Contract(abi, address); + * const MyContract = new web3.qrl.Contract(abi, address); * const result = await MyContract.methods.myFunction().call(); * console.log(result); * > "Hello!%" @@ -203,13 +203,13 @@ export interface NonPayableMethodObject * This will send a transaction to the smart contract and execute its method. Note this can alter the smart contract state. * * ```ts - * await myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * await myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * - * const receipt = await myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const receipt = await myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * * * // using the event emitter - * const sendObj = myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}) + * const sendObj = myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}) * sendObj.on('transactionHash', function(hash){ * ... * }); @@ -226,7 +226,7 @@ export interface NonPayableMethodObject * "transactionIndex": 0, * "blockHash": "0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46", * "blockNumber": 3, - * "contractAddress": "Z11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", + * "contractAddress": "Q11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", * "cumulativeGasUsed": 314159, * "gasUsed": 30234, * "events": { @@ -247,7 +247,7 @@ export interface NonPayableMethodObject * transactionHash: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385', * blockHash: '0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7', * blockNumber: 1234, - * address: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' + * address: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' * }, * "MyOtherEvent": { * ... @@ -296,7 +296,7 @@ export interface NonPayableMethodObject /** * Encodes the ABI for this method. The resulting hex string is 32-bit function signature hash plus the passed parameters in Hyperion tightly packed format. * This can be used to send a transaction, call a method, or pass it into another smart contract’s method as arguments. - * Set the data field on `web3.zond.sendTransaction` options as the encodeABI() result and it is the same as calling the contract method with `contract.myMethod.send()`. + * Set the data field on `web3.qrl.sendTransaction` options as the encodeABI() result and it is the same as calling the contract method with `contract.myMethod.send()`. * * Some use cases for encodeABI() include: preparing a smart contract transaction for a multi signature wallet, * working with offline wallets and cold storage and creating transaction payload for complex smart contract proxy calls. @@ -319,7 +319,7 @@ export interface NonPayableMethodObject * > { * "accessList": [ * { - * "address": "Z15859bdf5aff2080a9968f6a410361e9598df62f", + * "address": "Q15859bdf5aff2080a9968f6a410361e9598df62f", * "storageKeys": [ * "0x0000000000000000000000000000000000000000000000000000000000000000" * ] @@ -338,11 +338,11 @@ export interface NonPayableMethodObject export interface PayableMethodObject { arguments: Inputs; /** - * Will call a method and execute its smart contract method in the ZVM without sending any transaction. Note calling cannot alter the smart contract state. + * Will call a method and execute its smart contract method in the QRVM without sending any transaction. Note calling cannot alter the smart contract state. * * ```ts * // using the promise - * const result = await myContract.methods.myMethod(123).call({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const result = await myContract.methods.myMethod(123).call({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * * // MULTI-ARGUMENT RETURN: * // Hyperion @@ -353,7 +353,7 @@ export interface PayableMethodObject { * } * * // web3.js - * var MyContract = new web3.zond.Contract(abi, address); + * var MyContract = new web3.qrl.Contract(abi, address); * const result = MyContract.methods.myFunction().call() * console.log(result) * > Result { @@ -373,7 +373,7 @@ export interface PayableMethodObject { * } * * // web3.js - * const MyContract = new web3.zond.Contract(abi, address); + * const MyContract = new web3.qrl.Contract(abi, address); * const result = await MyContract.methods.myFunction().call(); * console.log(result); * > "Hello!%" @@ -392,13 +392,13 @@ export interface PayableMethodObject { * Will send a transaction to the smart contract and execute its method. Note this can alter the smart contract state. * * ```ts - * await myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * await myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * - * const receipt = await myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); + * const receipt = await myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}); * * * // using the event emitter - * const sendObj = myContract.methods.myMethod(123).send({from: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}) + * const sendObj = myContract.methods.myMethod(123).send({from: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}) * sendObj.on('transactionHash', function(hash){ * ... * }); @@ -415,7 +415,7 @@ export interface PayableMethodObject { * "transactionIndex": 0, * "blockHash": "0xef95f2f1ed3ca60b048b4bf67cde2195961e0bba6f70bcbea9a2c4e133e34b46", * "blockNumber": 3, - * "contractAddress": "Z11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", + * "contractAddress": "Q11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", * "cumulativeGasUsed": 314159, * "gasUsed": 30234, * "events": { @@ -436,7 +436,7 @@ export interface PayableMethodObject { * transactionHash: '0x7f9fade1c0d57a7af66ab4ead79fade1c0d57a7af66ab4ead7c2c2eb7b11a91385', * blockHash: '0xfd43ade1c09fade1c0d57a7af66ab4ead7c2c2eb7b11a91ffdd57a7af66ab4ead7', * blockNumber: 1234, - * address: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' + * address: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe' * }, * "MyOtherEvent": { * ... @@ -485,7 +485,7 @@ export interface PayableMethodObject { /** * Encodes the ABI for this method. The resulting hex string is 32-bit function signature hash plus the passed parameters in Hyperion tightly packed format. * This can be used to send a transaction, call a method, or pass it into another smart contract’s method as arguments. - * Set the data field on `web3.zond.sendTransaction` options as the encodeABI() result and it is the same as calling the contract method with `contract.myMethod.send()`. + * Set the data field on `web3.qrl.sendTransaction` options as the encodeABI() result and it is the same as calling the contract method with `contract.myMethod.send()`. * * Some use cases for encodeABI() include: preparing a smart contract transaction for a multi signature wallet, * working with offline wallets and cold storage and creating transaction payload for complex smart contract proxy calls. @@ -508,7 +508,7 @@ export interface PayableMethodObject { * > { * "accessList": [ * { - * "address": "Z15859bdf5aff2080a9968f6a410361e9598df62f", + * "address": "Q15859bdf5aff2080a9968f6a410361e9598df62f", * "storageKeys": [ * "0x0000000000000000000000000000000000000000000000000000000000000000" * ] @@ -523,7 +523,7 @@ export interface PayableMethodObject { export type Web3ContractContext = Partial< Web3ContextInitOptions< - ZondExecutionAPI, + QRLExecutionAPI, { logs: typeof LogsSubscription; newHeads: typeof NewHeadsSubscription; diff --git a/packages/web3-zond-contract/src/utils.ts b/packages/web3-qrl-contract/src/utils.ts similarity index 99% rename from packages/web3-zond-contract/src/utils.ts rename to packages/web3-qrl-contract/src/utils.ts index 7d3345c9..db82fb02 100644 --- a/packages/web3-zond-contract/src/utils.ts +++ b/packages/web3-qrl-contract/src/utils.ts @@ -95,7 +95,7 @@ export const getSendTxParams = ({ return txParams; }; -export const getZondTxCallParams = ({ +export const getQRLTxCallParams = ({ abi, params, options, diff --git a/packages/web3-zond-contract/test/.eslintrc.js b/packages/web3-qrl-contract/test/.eslintrc.js similarity index 100% rename from packages/web3-zond-contract/test/.eslintrc.js rename to packages/web3-qrl-contract/test/.eslintrc.js diff --git a/packages/web3-zond-contract/test/config/jest.config.js b/packages/web3-qrl-contract/test/config/jest.config.js similarity index 100% rename from packages/web3-zond-contract/test/config/jest.config.js rename to packages/web3-qrl-contract/test/config/jest.config.js diff --git a/packages/web3-zond-contract/test/config/setup.js b/packages/web3-qrl-contract/test/config/setup.js similarity index 100% rename from packages/web3-zond-contract/test/config/setup.js rename to packages/web3-qrl-contract/test/config/setup.js diff --git a/packages/web3-zond-contract/test/fixtures/MyContract.json b/packages/web3-qrl-contract/test/fixtures/MyContract.json similarity index 100% rename from packages/web3-zond-contract/test/fixtures/MyContract.json rename to packages/web3-qrl-contract/test/fixtures/MyContract.json diff --git a/packages/web3-zond-contract/test/fixtures/MyContract.ts b/packages/web3-qrl-contract/test/fixtures/MyContract.ts similarity index 100% rename from packages/web3-zond-contract/test/fixtures/MyContract.ts rename to packages/web3-qrl-contract/test/fixtures/MyContract.ts diff --git a/packages/web3-zond-contract/test/fixtures/SimpleOverloaded.ts b/packages/web3-qrl-contract/test/fixtures/SimpleOverloaded.ts similarity index 100% rename from packages/web3-zond-contract/test/fixtures/SimpleOverloaded.ts rename to packages/web3-qrl-contract/test/fixtures/SimpleOverloaded.ts diff --git a/packages/web3-zond-contract/test/fixtures/accounts.json b/packages/web3-qrl-contract/test/fixtures/accounts.json similarity index 100% rename from packages/web3-zond-contract/test/fixtures/accounts.json rename to packages/web3-qrl-contract/test/fixtures/accounts.json diff --git a/packages/web3-zond-contract/test/fixtures/contracts/SampleStorageContract.hyp b/packages/web3-qrl-contract/test/fixtures/contracts/SampleStorageContract.hyp similarity index 100% rename from packages/web3-zond-contract/test/fixtures/contracts/SampleStorageContract.hyp rename to packages/web3-qrl-contract/test/fixtures/contracts/SampleStorageContract.hyp diff --git a/packages/web3-zond-contract/test/fixtures/contracts/SimpleOverloaded.hyp b/packages/web3-qrl-contract/test/fixtures/contracts/SimpleOverloaded.hyp similarity index 100% rename from packages/web3-zond-contract/test/fixtures/contracts/SimpleOverloaded.hyp rename to packages/web3-qrl-contract/test/fixtures/contracts/SimpleOverloaded.hyp diff --git a/packages/web3-zond-contract/test/fixtures/encoding.ts b/packages/web3-qrl-contract/test/fixtures/encoding.ts similarity index 100% rename from packages/web3-zond-contract/test/fixtures/encoding.ts rename to packages/web3-qrl-contract/test/fixtures/encoding.ts diff --git a/packages/web3-zond-contract/test/fixtures/zrc20.ts b/packages/web3-qrl-contract/test/fixtures/sqrcTf1.ts similarity index 98% rename from packages/web3-zond-contract/test/fixtures/zrc20.ts rename to packages/web3-qrl-contract/test/fixtures/sqrcTf1.ts index d4ab8826..6061db49 100644 --- a/packages/web3-zond-contract/test/fixtures/zrc20.ts +++ b/packages/web3-qrl-contract/test/fixtures/sqrcTf1.ts @@ -19,7 +19,7 @@ import { Address, Numbers } from '@theqrl/web3-types'; import { LogsSubscription } from '../../src/log_subscription'; import { ContractEventOptions, PayableMethodObject, NonPayableMethodObject } from '../../src/types'; -export interface Zrc20Interface { +export interface SqrcTf1Interface { methods: { [key: string]: ( ...args: ReadonlyArray @@ -60,7 +60,7 @@ export interface Zrc20Interface { } // https://ethereumdev.io/abi-for-erc20-contract-on-ethereum/ -export const zrc20Abi = [ +export const sqrcTf1Abi = [ { constant: true, inputs: [], diff --git a/packages/web3-zond-contract/test/fixtures/zrc721.ts b/packages/web3-qrl-contract/test/fixtures/sqrcTn1.ts similarity index 98% rename from packages/web3-zond-contract/test/fixtures/zrc721.ts rename to packages/web3-qrl-contract/test/fixtures/sqrcTn1.ts index 90894d18..2c3926c1 100644 --- a/packages/web3-zond-contract/test/fixtures/zrc721.ts +++ b/packages/web3-qrl-contract/test/fixtures/sqrcTn1.ts @@ -19,7 +19,7 @@ import { Address, Numbers } from '@theqrl/web3-types'; import { LogsSubscription } from '../../src/log_subscription'; import { ContractEventOptions, NonPayableMethodObject, PayableMethodObject } from '../../src/types'; -export interface Zrc721Interface { +export interface SqrcTn1Interface { methods: { [key: string]: ( ...args: ReadonlyArray @@ -64,7 +64,7 @@ export interface Zrc721Interface { // https://eips.ethereum.org/EIPS/eip-721 // Copied interface from above link to Remix and compile -export const zrc721Abi = [ +export const sqrcTn1Abi = [ { constant: true, inputs: [ diff --git a/packages/web3-zond-contract/test/fixtures/storage.ts b/packages/web3-qrl-contract/test/fixtures/storage.ts similarity index 100% rename from packages/web3-zond-contract/test/fixtures/storage.ts rename to packages/web3-qrl-contract/test/fixtures/storage.ts diff --git a/packages/web3-zond-contract/test/fixtures/system_test_utils.ts b/packages/web3-qrl-contract/test/fixtures/system_test_utils.ts similarity index 100% rename from packages/web3-zond-contract/test/fixtures/system_test_utils.ts rename to packages/web3-qrl-contract/test/fixtures/system_test_utils.ts diff --git a/packages/web3-zond-contract/test/fixtures/unitTestFixtures.ts b/packages/web3-qrl-contract/test/fixtures/unitTestFixtures.ts similarity index 95% rename from packages/web3-zond-contract/test/fixtures/unitTestFixtures.ts rename to packages/web3-qrl-contract/test/fixtures/unitTestFixtures.ts index 2c6f9204..7fefdf4e 100644 --- a/packages/web3-zond-contract/test/fixtures/unitTestFixtures.ts +++ b/packages/web3-qrl-contract/test/fixtures/unitTestFixtures.ts @@ -29,7 +29,7 @@ export const getLogsData = { transactionHash: '0xbe70733bcf87282c0ba9bf3c0e2d545084fad48bd571c314140c8dc1db882673', blockHash: '0x78755c18c9a0a1283fa04b2f78c7794c249395b08f7f7dff304034d64d6a1607', blockNumber: 25, - address: 'Z2D029a4bd792d795f35e0583F64eD9DedeBBa849', + address: 'Q2D029a4bd792d795f35e0583F64eD9DedeBBa849', data: '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000', topics: ['0x7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e'], type: 'mined', @@ -47,7 +47,7 @@ export const getPastEventsData = { transactionHash: '0xbe70733bcf87282c0ba9bf3c0e2d545084fad48bd571c314140c8dc1db882673', blockHash: '0x78755c18c9a0a1283fa04b2f78c7794c249395b08f7f7dff304034d64d6a1607', blockNumber: BigInt(25), - address: 'Z2D029a4bd792d795f35e0583F64eD9DedeBBa849', + address: 'Q2D029a4bd792d795f35e0583F64eD9DedeBBa849', data: '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000', topics: ['0x7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e'], returnValues: { @@ -73,7 +73,7 @@ export const AllGetPastEventsData = { transactionHash: '0x1ba478ce1810bfa8a0725c0ca94f3cfe163a70c396037a1f3c94cad34e497959', blockHash: '0x79eece1fb22b7109f302b65bd826b1cebf9f704642e86ae9086ed93baf44a45e', blockNumber: 20, - address: 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426', + address: 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426', data: '0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000548656c6c6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010416e6f74686572204772656574696e6700000000000000000000000000000000', topics: ['0x0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b75'], type: 'mined', @@ -85,7 +85,7 @@ export const AllGetPastEventsData = { transactionHash: '0x1ba478ce1810bfa8a0725c0ca94f3cfe163a70c396037a1f3c94cad34e497959', blockHash: '0x79eece1fb22b7109f302b65bd826b1cebf9f704642e86ae9086ed93baf44a45e', blockNumber: 20, - address: 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426', + address: 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426', data: '0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010416e6f74686572204772656574696e6700000000000000000000000000000000', topics: ['0x7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e'], type: 'mined', @@ -100,7 +100,7 @@ export const AllGetPastEventsData = { transactionHash: '0x1ba478ce1810bfa8a0725c0ca94f3cfe163a70c396037a1f3c94cad34e497959', blockHash: '0x79eece1fb22b7109f302b65bd826b1cebf9f704642e86ae9086ed93baf44a45e', blockNumber: BigInt(20), - address: 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426', + address: 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426', data: '0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000548656c6c6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010416e6f74686572204772656574696e6700000000000000000000000000000000', topics: ['0x0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b75'], returnValues: { @@ -123,7 +123,7 @@ export const AllGetPastEventsData = { transactionHash: '0x1ba478ce1810bfa8a0725c0ca94f3cfe163a70c396037a1f3c94cad34e497959', blockHash: '0x79eece1fb22b7109f302b65bd826b1cebf9f704642e86ae9086ed93baf44a45e', blockNumber: BigInt(20), - address: 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426', + address: 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426', data: '0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010416e6f74686572204772656574696e6700000000000000000000000000000000', topics: ['0x7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e'], returnValues: { diff --git a/packages/web3-zond-contract/test/integration/contract_accesslist.test.ts b/packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts similarity index 96% rename from packages/web3-zond-contract/test/integration/contract_accesslist.test.ts rename to packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts index 0aa772ed..b61ac5bc 100644 --- a/packages/web3-zond-contract/test/integration/contract_accesslist.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts @@ -64,7 +64,7 @@ describe('contract', () => { { address: isNullish(deployedContract.options.address) ? deployedContract.options.address - : `Z${deployedContract.options.address.slice(1).toLowerCase()}`, + : `Q${deployedContract.options.address.slice(1).toLowerCase()}`, storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000001', ], @@ -92,7 +92,7 @@ describe('contract', () => { { address: isNullish(deployedContract.options.address) ? deployedContract.options.address - : `Z${deployedContract.options.address.slice(1).toLowerCase()}`, + : `Q${deployedContract.options.address.slice(1).toLowerCase()}`, storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000001', ], diff --git a/packages/web3-zond-contract/test/integration/contract_clone.test.ts b/packages/web3-qrl-contract/test/integration/contract_clone.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_clone.test.ts rename to packages/web3-qrl-contract/test/integration/contract_clone.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_defaults.test.ts b/packages/web3-qrl-contract/test/integration/contract_defaults.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_defaults.test.ts rename to packages/web3-qrl-contract/test/integration/contract_defaults.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts b/packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts similarity index 95% rename from packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts rename to packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts index 977f1fe0..5fd6f447 100644 --- a/packages/web3-zond-contract/test/integration/contract_defaults_extra.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { ValidChains, Hardfork, TransactionReceipt } from '@theqrl/web3-types'; -import * as Web3Zond from '@theqrl/web3-zond'; +import * as Web3QRL from '@theqrl/web3-qrl'; import { TransactionBlockTimeoutError } from '@theqrl/web3-errors'; import { Contract } from '../../src'; import { GreeterBytecode, GreeterAbi } from '../shared_fixtures/build/Greeter'; @@ -32,8 +32,8 @@ import { type Resolve = (value?: unknown) => void; const MAX_32_SIGNED_INTEGER = 2147483647; -jest.mock('@theqrl/web3-zond', () => { - const original = jest.requireActual('@theqrl/web3-zond'); +jest.mock('@theqrl/web3-qrl', () => { + const original = jest.requireActual('@theqrl/web3-qrl'); // eslint-disable-next-line @typescript-eslint/no-unsafe-return return { ...original, @@ -77,7 +77,7 @@ describe('contract defaults (extra)', () => { await contract.methods.greet().send(sendOptions); expect(contract.defaultHardfork).toBe(hardfork); - const callSpy = jest.spyOn(Web3Zond, 'call'); + const callSpy = jest.spyOn(Web3QRL, 'call'); await contract.methods.greet().call(); @@ -108,7 +108,7 @@ describe('contract defaults (extra)', () => { await contract.methods.setGreeting('New Greeting').send(sendOptions); - const callSpy = jest.spyOn(Web3Zond, 'call'); + const callSpy = jest.spyOn(Web3QRL, 'call'); await contract.methods.greet().call(); @@ -149,7 +149,7 @@ describe('contract defaults (extra)', () => { it('should use "defaultCommon" on "instance" level', async () => { contract.defaultCommon = common; - const callSpy = jest.spyOn(Web3Zond, 'call'); + const callSpy = jest.spyOn(Web3QRL, 'call'); await contract.methods.greet().call(); @@ -171,7 +171,7 @@ describe('contract defaults (extra)', () => { }); contract = await contract.deploy(deployOptions).send(sendOptions); - const sendTransactionSpy = jest.spyOn(Web3Zond, 'sendTransaction'); + const sendTransactionSpy = jest.spyOn(Web3QRL, 'sendTransaction'); expect(contract.transactionBlockTimeout).toBe(50); contract.transactionBlockTimeout = 32; @@ -311,7 +311,7 @@ describe('contract defaults (extra)', () => { expect(contract.handleRevert).toBe(handleRevert); - const sendTransactionSpy = jest.spyOn(Web3Zond, 'sendTransaction'); + const sendTransactionSpy = jest.spyOn(Web3QRL, 'sendTransaction'); await contract.methods.setGreeting('New Greeting').send(sendOptions); diff --git a/packages/web3-zond-contract/test/integration/contract_deploy.test.ts b/packages/web3-qrl-contract/test/integration/contract_deploy.test.ts similarity index 95% rename from packages/web3-zond-contract/test/integration/contract_deploy.test.ts rename to packages/web3-qrl-contract/test/integration/contract_deploy.test.ts index a6c8fbd9..ea0e4c90 100644 --- a/packages/web3-zond-contract/test/integration/contract_deploy.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_deploy.test.ts @@ -14,10 +14,10 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Web3Zond } from '@theqrl/web3-zond'; +import { Web3QRL } from '@theqrl/web3-qrl'; import { Contract } from '../../src'; import { sleep } from '../shared_fixtures/utils'; -import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../shared_fixtures/build/ZRC721Token'; +import { SQRCTN1TokenAbi, SQRCTN1TokenBytecode } from '../shared_fixtures/build/SQRCTN1Token'; import { GreeterBytecode, GreeterAbi } from '../shared_fixtures/build/Greeter'; import { DeployRevertAbi, DeployRevertBytecode } from '../shared_fixtures/build/DeployRevert'; import { @@ -37,10 +37,10 @@ describe('contract', () => { let sendOptions: Record; let acc: { address: string; seed: string }; let pkAccount: { address: string; seed: string }; - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); deployOptions = { data: GreeterBytecode, arguments: ['My Greeting'], @@ -55,7 +55,7 @@ describe('contract', () => { }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('local account', () => { it.each([signTxAndSendEIP1559])( @@ -108,11 +108,11 @@ describe('contract', () => { expect(Number(estimatedGas)).toBeGreaterThan(0); }); it('should return estimated gas of contract constructor without arguments', async () => { - const estimatedGas = await new Contract(ZRC721TokenAbi, undefined, { + const estimatedGas = await new Contract(SQRCTN1TokenAbi, undefined, { provider: getSystemTestProvider(), }) .deploy({ - data: ZRC721TokenBytecode, + data: SQRCTN1TokenBytecode, arguments: [], }) .estimateGas({ diff --git a/packages/web3-zond-contract/test/integration/contract_empty_string.test.ts b/packages/web3-qrl-contract/test/integration/contract_empty_string.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_empty_string.test.ts rename to packages/web3-qrl-contract/test/integration/contract_empty_string.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_estimateGas_without_0x.test.ts b/packages/web3-qrl-contract/test/integration/contract_estimateGas_without_0x.test.ts similarity index 97% rename from packages/web3-zond-contract/test/integration/contract_estimateGas_without_0x.test.ts rename to packages/web3-qrl-contract/test/integration/contract_estimateGas_without_0x.test.ts index 719bc5c7..56515f32 100644 --- a/packages/web3-zond-contract/test/integration/contract_estimateGas_without_0x.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_estimateGas_without_0x.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZOND_DATA_FORMAT } from '@theqrl/web3-types'; +import { QRL_DATA_FORMAT } from '@theqrl/web3-types'; import { Contract } from '../../src'; import { getSystemTestProvider, createTempAccount } from '../fixtures/system_test_utils'; @@ -65,7 +65,7 @@ describe('contract', () => { { from: acc.address, }, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); expect(gas).toBeDefined(); expect(gas).toMatch(/0[xX][0-9a-fA-F]/i); diff --git a/packages/web3-zond-contract/test/integration/contract_events.test.ts b/packages/web3-qrl-contract/test/integration/contract_events.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_events.test.ts rename to packages/web3-qrl-contract/test/integration/contract_events.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_filter_events.test.ts b/packages/web3-qrl-contract/test/integration/contract_filter_events.test.ts similarity index 96% rename from packages/web3-zond-contract/test/integration/contract_filter_events.test.ts rename to packages/web3-qrl-contract/test/integration/contract_filter_events.test.ts index b6145ddb..22e87079 100644 --- a/packages/web3-zond-contract/test/integration/contract_filter_events.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_filter_events.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { toBigInt } from '@theqrl/web3-utils'; import { Contract } from '../../src'; -import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../shared_fixtures/build/ZRC20Token'; +import { SQRCTF1TokenAbi, SQRCTF1TokenBytecode } from '../shared_fixtures/build/SQRCTF1Token'; import { BasicAbi, BasicBytecode } from '../shared_fixtures/build/Basic'; import { getSystemTestProvider, @@ -29,9 +29,9 @@ import { EventLog } from '../../src/types'; const initialSupply = BigInt('5000000000'); describe('contract getPastEvent filter', () => { - describe('zrc20', () => { - let contract: Contract; - let contractDeployed: Contract; + describe('sqrcTf1', () => { + let contract: Contract; + let contractDeployed: Contract; let deployOptions: Record; let sendOptions: Record; let mainAcc: Record; @@ -40,12 +40,12 @@ describe('contract getPastEvent filter', () => { let toAcc3: Record; beforeAll(async () => { - contract = new Contract(ZRC20TokenAbi, undefined, { + contract = new Contract(SQRCTF1TokenAbi, undefined, { provider: getSystemTestProvider(), }); deployOptions = { - data: ZRC20TokenBytecode, + data: SQRCTF1TokenBytecode, arguments: [initialSupply], }; mainAcc = await createTempAccount(); diff --git a/packages/web3-zond-contract/test/integration/contract_methods.test.ts b/packages/web3-qrl-contract/test/integration/contract_methods.test.ts similarity index 98% rename from packages/web3-zond-contract/test/integration/contract_methods.test.ts rename to packages/web3-qrl-contract/test/integration/contract_methods.test.ts index 87325496..611c9b5c 100644 --- a/packages/web3-zond-contract/test/integration/contract_methods.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_methods.test.ts @@ -162,7 +162,7 @@ describe('contract', () => { status: BigInt(0), to: isNullish(contractDeployed.options.address) ? contractDeployed.options.address - : `Z${contractDeployed.options.address.slice(1).toLowerCase()}`, + : `Q${contractDeployed.options.address.slice(1).toLowerCase()}`, transactionIndex: BigInt(0), type: BigInt(2), }, diff --git a/packages/web3-zond-contract/test/integration/contract_methods_errors.test.ts b/packages/web3-qrl-contract/test/integration/contract_methods_errors.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_methods_errors.test.ts rename to packages/web3-qrl-contract/test/integration/contract_methods_errors.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_negative_numbers.test.ts b/packages/web3-qrl-contract/test/integration/contract_negative_numbers.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_negative_numbers.test.ts rename to packages/web3-qrl-contract/test/integration/contract_negative_numbers.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_simple_overloaded.test.ts b/packages/web3-qrl-contract/test/integration/contract_simple_overloaded.test.ts similarity index 100% rename from packages/web3-zond-contract/test/integration/contract_simple_overloaded.test.ts rename to packages/web3-qrl-contract/test/integration/contract_simple_overloaded.test.ts diff --git a/packages/web3-zond-contract/test/integration/contract_zrc20.test.ts b/packages/web3-qrl-contract/test/integration/contract_sqrcTf1.test.ts similarity index 95% rename from packages/web3-zond-contract/test/integration/contract_zrc20.test.ts rename to packages/web3-qrl-contract/test/integration/contract_sqrcTf1.test.ts index 07de8d52..955c620d 100644 --- a/packages/web3-zond-contract/test/integration/contract_zrc20.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_sqrcTf1.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { LogsOutput } from '@theqrl/web3-types'; import { Contract } from '../../src'; -import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../shared_fixtures/build/ZRC20Token'; +import { SQRCTF1TokenAbi, SQRCTF1TokenBytecode } from '../shared_fixtures/build/SQRCTF1Token'; import { getSystemTestProvider, describeIf, @@ -32,18 +32,18 @@ import { processAsync, toUpperCaseAddress } from '../shared_fixtures/utils'; const initialSupply = BigInt('5000000000'); describe('contract', () => { - describe('zrc20', () => { - let contract: Contract; + describe('sqrcTf1', () => { + let contract: Contract; let deployOptions: Record; let sendOptions: Record; beforeAll(() => { - contract = new Contract(ZRC20TokenAbi, undefined, { + contract = new Contract(SQRCTF1TokenAbi, undefined, { provider: getSystemTestProvider(), }); deployOptions = { - data: ZRC20TokenBytecode, + data: SQRCTF1TokenBytecode, arguments: [initialSupply], }; }); @@ -57,7 +57,7 @@ describe('contract', () => { }); describe('contract instance', () => { - let contractDeployed: Contract; + let contractDeployed: Contract; let pkAccount: { address: string; seed: string }; let mainAcc: { address: string; seed: string }; const prepareForTransfer = async (value: string) => { diff --git a/packages/web3-zond-contract/test/integration/contract_zrc721.test.ts b/packages/web3-qrl-contract/test/integration/contract_sqrcTn1.test.ts similarity index 95% rename from packages/web3-zond-contract/test/integration/contract_zrc721.test.ts rename to packages/web3-qrl-contract/test/integration/contract_sqrcTn1.test.ts index 57f43764..a7bf9438 100644 --- a/packages/web3-zond-contract/test/integration/contract_zrc721.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_sqrcTn1.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { toBigInt } from '@theqrl/web3-utils'; import { Contract } from '../../src'; -import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../shared_fixtures/build/ZRC721Token'; +import { SQRCTN1TokenAbi, SQRCTN1TokenBytecode } from '../shared_fixtures/build/SQRCTN1Token'; import { getSystemTestProvider, describeIf, @@ -30,21 +30,21 @@ import { import { processAsync, toUpperCaseAddress } from '../shared_fixtures/utils'; describe('contract', () => { - describe('zrc721', () => { - let contract: Contract; - let contractDeployed: Contract; + describe('sqrcTn1', () => { + let contract: Contract; + let contractDeployed: Contract; let deployOptions: Record; let sendOptions: Record; beforeAll(async () => { - contract = new Contract(ZRC721TokenAbi, undefined, { + contract = new Contract(SQRCTN1TokenAbi, undefined, { provider: getSystemTestProvider(), }); const acc = await createTempAccount(); deployOptions = { - data: ZRC721TokenBytecode, + data: SQRCTN1TokenBytecode, arguments: [], }; sendOptions = { from: acc.address /* gas: '10000000' */ }; @@ -288,7 +288,7 @@ describe('contract', () => { .send(sendOptions); }), ).resolves.toEqual({ - from: 'Z0000000000000000000000000000000000000000', + from: 'Q0000000000000000000000000000000000000000', to: toUpperCaseAddress(acc2.address), tokenId: BigInt(0), }); diff --git a/packages/web3-zond-contract/test/integration/jest.config.js b/packages/web3-qrl-contract/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond-contract/test/integration/jest.config.js rename to packages/web3-qrl-contract/test/integration/jest.config.js diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts b/packages/web3-qrl-contract/test/integration/local_account/contract_deploy.test.ts similarity index 95% rename from packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts rename to packages/web3-qrl-contract/test/integration/local_account/contract_deploy.test.ts index de5127e2..ea3a594a 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_deploy.test.ts +++ b/packages/web3-qrl-contract/test/integration/local_account/contract_deploy.test.ts @@ -18,7 +18,7 @@ along with web3.js. If not, see . // eslint-disable-next-line import/no-extraneous-dependencies import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import { GreeterBytecode, GreeterAbi } from '../../shared_fixtures/build/Greeter'; import { getSystemTestProvider, createLocalAccount, isWs } from '../../fixtures/system_test_utils'; import { Contract } from '../../../src'; @@ -34,7 +34,7 @@ describe('contract', () => { beforeEach(async () => { web3 = new Web3(getSystemTestProvider()); - contract = new web3.zond.Contract(GreeterAbi) as unknown as Contract; + contract = new web3.qrl.Contract(GreeterAbi) as unknown as Contract; deployOptions = { data: GreeterBytecode, arguments: ['My Greeting'], @@ -97,7 +97,7 @@ describe('contract', () => { }); it('should deploy the contract if data is provided at initiation', async () => { - const contractWithParams = new web3.zond.Contract(GreeterAbi, undefined, { + const contractWithParams = new web3.qrl.Contract(GreeterAbi, undefined, { provider: web3.provider, data: GreeterBytecode, from: localAccount.address, diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts b/packages/web3-qrl-contract/test/integration/local_account/contract_overloaded_methods.test.ts similarity index 88% rename from packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts rename to packages/web3-qrl-contract/test/integration/local_account/contract_overloaded_methods.test.ts index a73e545b..f3977935 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_overloaded_methods.test.ts +++ b/packages/web3-qrl-contract/test/integration/local_account/contract_overloaded_methods.test.ts @@ -18,30 +18,30 @@ along with web3.js. If not, see . // eslint-disable-next-line import/no-extraneous-dependencies import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import { utf8ToHex } from '@theqrl/web3-utils'; import { Contract, EventLog } from '../../../src'; -import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../../shared_fixtures/build/ZRC721Token'; +import { SQRCTN1TokenAbi, SQRCTN1TokenBytecode } from '../../shared_fixtures/build/SQRCTN1Token'; import { getSystemTestProvider, createLocalAccount } from '../../fixtures/system_test_utils'; import { toUpperCaseHex } from '../../shared_fixtures/utils'; -describe('contract ZRC721 overloaded functions', () => { - let contract: Contract; +describe('contract SQRCTN1 overloaded functions', () => { + let contract: Contract; let sendOptions: Record; let deployOptions: Record; let localAccount: Web3Account; let web3: Web3; - let contractDeployed: Contract; + let contractDeployed: Contract; beforeAll(async () => { web3 = new Web3(getSystemTestProvider()); localAccount = await createLocalAccount(web3); - contract = new web3.zond.Contract(ZRC721TokenAbi) as unknown as Contract< - typeof ZRC721TokenAbi + contract = new web3.qrl.Contract(SQRCTN1TokenAbi) as unknown as Contract< + typeof SQRCTN1TokenAbi >; deployOptions = { - data: ZRC721TokenBytecode, + data: SQRCTN1TokenBytecode, arguments: [], }; diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_zrc20.test.ts b/packages/web3-qrl-contract/test/integration/local_account/contract_sqrcTf1.test.ts similarity index 88% rename from packages/web3-zond-contract/test/integration/local_account/contract_zrc20.test.ts rename to packages/web3-qrl-contract/test/integration/local_account/contract_sqrcTf1.test.ts index 67fe2320..108fceef 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_zrc20.test.ts +++ b/packages/web3-qrl-contract/test/integration/local_account/contract_sqrcTf1.test.ts @@ -18,31 +18,31 @@ along with web3.js. If not, see . // eslint-disable-next-line import/no-extraneous-dependencies import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import { Contract } from '../../../src'; -import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../../shared_fixtures/build/ZRC20Token'; +import { SQRCTF1TokenAbi, SQRCTF1TokenBytecode } from '../../shared_fixtures/build/SQRCTF1Token'; import { getSystemTestProvider, createLocalAccount } from '../../fixtures/system_test_utils'; const initialSupply = BigInt('5000000000'); describe('contract', () => { - describe('zrc20', () => { - let contract: Contract; + describe('sqrcTf1', () => { + let contract: Contract; let sendOptions: Record; let deployOptions: Record; let localAccount: Web3Account; let web3: Web3; - let contractDeployed: Contract; + let contractDeployed: Contract; beforeAll(async () => { web3 = new Web3(getSystemTestProvider()); localAccount = await createLocalAccount(web3); - contract = new web3.zond.Contract(ZRC20TokenAbi) as unknown as Contract< - typeof ZRC20TokenAbi + contract = new web3.qrl.Contract(SQRCTF1TokenAbi) as unknown as Contract< + typeof SQRCTF1TokenAbi >; deployOptions = { - data: ZRC20TokenBytecode, + data: SQRCTF1TokenBytecode, arguments: [initialSupply], }; @@ -58,7 +58,7 @@ describe('contract', () => { }); it.each(['0x2'])('should transfer tokens %p', async type => { - const acc = web3.zond.accounts.create(); + const acc = web3.qrl.accounts.create(); const value = BigInt(10); await contractDeployed.methods.transfer(acc.address, value).send({ diff --git a/packages/web3-zond-contract/test/integration/local_account/contract_zrc721.test.ts b/packages/web3-qrl-contract/test/integration/local_account/contract_sqrcTn1.test.ts similarity index 91% rename from packages/web3-zond-contract/test/integration/local_account/contract_zrc721.test.ts rename to packages/web3-qrl-contract/test/integration/local_account/contract_sqrcTn1.test.ts index 950dbbc8..44b218d7 100644 --- a/packages/web3-zond-contract/test/integration/local_account/contract_zrc721.test.ts +++ b/packages/web3-qrl-contract/test/integration/local_account/contract_sqrcTn1.test.ts @@ -18,29 +18,29 @@ along with web3.js. If not, see . // eslint-disable-next-line import/no-extraneous-dependencies import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import { Contract, EventLog } from '../../../src'; -import { ZRC721TokenAbi, ZRC721TokenBytecode } from '../../shared_fixtures/build/ZRC721Token'; +import { SQRCTN1TokenAbi, SQRCTN1TokenBytecode } from '../../shared_fixtures/build/SQRCTN1Token'; import { getSystemTestProvider, createLocalAccount } from '../../fixtures/system_test_utils'; import { toUpperCaseHex } from '../../shared_fixtures/utils'; describe('contract', () => { - describe('zrc721', () => { - let contract: Contract; + describe('sqrcTn1', () => { + let contract: Contract; let sendOptions: Record; let deployOptions: Record; let localAccount: Web3Account; let web3: Web3; - let contractDeployed: Contract; + let contractDeployed: Contract; beforeAll(async () => { web3 = new Web3(getSystemTestProvider()); localAccount = await createLocalAccount(web3); - contract = new web3.zond.Contract(ZRC721TokenAbi) as unknown as Contract< - typeof ZRC721TokenAbi + contract = new web3.qrl.Contract(SQRCTN1TokenAbi) as unknown as Contract< + typeof SQRCTN1TokenAbi >; deployOptions = { - data: ZRC721TokenBytecode, + data: SQRCTN1TokenBytecode, arguments: [], }; @@ -58,7 +58,7 @@ describe('contract', () => { }); it.each(['0x2'])('should award item %p', async type => { - const tempAccount = web3.zond.accounts.create(); + const tempAccount = web3.qrl.accounts.create(); await contractDeployed.methods .awardItem(tempAccount.address, 'http://my-nft-uri') .send({ ...sendOptions, type }); diff --git a/packages/web3-zond-contract/test/integration/setup.js b/packages/web3-qrl-contract/test/integration/setup.js similarity index 100% rename from packages/web3-zond-contract/test/integration/setup.js rename to packages/web3-qrl-contract/test/integration/setup.js diff --git a/packages/web3-zond-contract/test/shared_fixtures b/packages/web3-qrl-contract/test/shared_fixtures similarity index 100% rename from packages/web3-zond-contract/test/shared_fixtures rename to packages/web3-qrl-contract/test/shared_fixtures diff --git a/packages/web3-zond-contract/test/tsconfig.json b/packages/web3-qrl-contract/test/tsconfig.json similarity index 100% rename from packages/web3-zond-contract/test/tsconfig.json rename to packages/web3-qrl-contract/test/tsconfig.json diff --git a/packages/web3-zond-contract/test/unit/contract.test.ts b/packages/web3-qrl-contract/test/unit/contract.test.ts similarity index 92% rename from packages/web3-zond-contract/test/unit/contract.test.ts rename to packages/web3-qrl-contract/test/unit/contract.test.ts index 2ac82b28..07433645 100644 --- a/packages/web3-zond-contract/test/unit/contract.test.ts +++ b/packages/web3-qrl-contract/test/unit/contract.test.ts @@ -15,13 +15,13 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import * as zond from '@theqrl/web3-zond'; +import * as qrl from '@theqrl/web3-qrl'; import { ValidChains, Hardfork, AccessListResult, Address, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { Web3ContractError } from '@theqrl/web3-errors'; import { Web3Context } from '@theqrl/web3-core'; @@ -31,11 +31,11 @@ import { sampleStorageContractABI } from '../fixtures/storage'; import { GreeterAbi, GreeterBytecode } from '../shared_fixtures/build/Greeter'; import { AllGetPastEventsData, getLogsData, getPastEventsData } from '../fixtures/unitTestFixtures'; import { getSystemTestProvider, isHttp, itIf } from '../fixtures/system_test_utils'; -import { zrc721Abi } from '../fixtures/zrc721'; -import { ZRC20TokenAbi } from '../shared_fixtures/build/ZRC20Token'; +import { sqrcTn1Abi } from '../fixtures/sqrcTn1'; +import { SQRCTF1TokenAbi } from '../shared_fixtures/build/SQRCTF1Token'; import { processAsync } from '../shared_fixtures/utils'; -jest.mock('@theqrl/web3-zond'); +jest.mock('@theqrl/web3-qrl'); describe('Contract', () => { describe('constructor', () => { @@ -58,7 +58,7 @@ describe('Contract', () => { }); it('should init with abi and address', () => { - const contract = new Contract([], 'Z00000000219ab540356cBB839Cbe05303d7705Fa'); + const contract = new Contract([], 'Q00000000219ab540356cBB839Cbe05303d7705Fa'); expect(contract).toBeInstanceOf(Contract); }); @@ -95,14 +95,14 @@ describe('Contract', () => { const contract = new Contract( [], { gas: '123' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); expect(contract).toBeInstanceOf(Contract); }); it('should init with abi, address and options', () => { - const contract = new Contract([], 'Z00000000219ab540356cBB839Cbe05303d7705Fa', { + const contract = new Contract([], 'Q00000000219ab540356cBB839Cbe05303d7705Fa', { gas: '123', }); @@ -112,9 +112,9 @@ describe('Contract', () => { it('should init with abi, address, options and context', () => { const contract = new Contract( [], - 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + 'Q00000000219ab540356cBB839Cbe05303d7705Fa', { gas: '123' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); expect(contract).toBeInstanceOf(Contract); @@ -152,15 +152,15 @@ describe('Contract', () => { }); it('should pass the returnDataFormat to `_parseAndSetAddress` and `_parseAndSetJsonInterface`', () => { - const contract = new Contract([], '', ZOND_DATA_FORMAT); + const contract = new Contract([], '', QRL_DATA_FORMAT); // @ts-expect-error run protected method const parseAndSetAddressSpy = jest.spyOn(contract, '_parseAndSetAddress'); - contract.options.address = 'Z6e599da0bff7a6598ac1224e4985430bf16458a4'; + contract.options.address = 'Q6e599da0bff7a6598ac1224e4985430bf16458a4'; expect(parseAndSetAddressSpy).toHaveBeenCalledWith( - 'Z6e599da0bff7a6598ac1224e4985430bf16458a4', - ZOND_DATA_FORMAT, + 'Q6e599da0bff7a6598ac1224e4985430bf16458a4', + QRL_DATA_FORMAT, ); const parseAndSetJsonInterfaceSpy = jest.spyOn( contract, @@ -168,19 +168,19 @@ describe('Contract', () => { '_parseAndSetJsonInterface', ); contract.options.jsonInterface = []; - expect(parseAndSetJsonInterfaceSpy).toHaveBeenCalledWith([], ZOND_DATA_FORMAT); + expect(parseAndSetJsonInterfaceSpy).toHaveBeenCalledWith([], QRL_DATA_FORMAT); }); it('should pass the returnDataFormat, as the constructor forth parameter, to `_parseAndSetAddress` and `_parseAndSetJsonInterface`', () => { - const contract = new Contract([], '', {}, ZOND_DATA_FORMAT); + const contract = new Contract([], '', {}, QRL_DATA_FORMAT); // @ts-expect-error run protected method const parseAndSetAddressSpy = jest.spyOn(contract, '_parseAndSetAddress'); - contract.options.address = 'Z6e599da0bff7a6598ac1224e4985430bf16458a4'; + contract.options.address = 'Q6e599da0bff7a6598ac1224e4985430bf16458a4'; expect(parseAndSetAddressSpy).toHaveBeenCalledWith( - 'Z6e599da0bff7a6598ac1224e4985430bf16458a4', - ZOND_DATA_FORMAT, + 'Q6e599da0bff7a6598ac1224e4985430bf16458a4', + QRL_DATA_FORMAT, ); const parseAndSetJsonInterfaceSpy = jest.spyOn( contract, @@ -188,19 +188,19 @@ describe('Contract', () => { '_parseAndSetJsonInterface', ); contract.options.jsonInterface = []; - expect(parseAndSetJsonInterfaceSpy).toHaveBeenCalledWith([], ZOND_DATA_FORMAT); + expect(parseAndSetJsonInterfaceSpy).toHaveBeenCalledWith([], QRL_DATA_FORMAT); }); it('should pass the returnDataFormat, as the constructor fifth parameter, to `_parseAndSetAddress` and `_parseAndSetJsonInterface`', () => { - const contract = new Contract([], '', {}, {}, ZOND_DATA_FORMAT); + const contract = new Contract([], '', {}, {}, QRL_DATA_FORMAT); // @ts-expect-error run protected method const parseAndSetAddressSpy = jest.spyOn(contract, '_parseAndSetAddress'); - contract.options.address = 'Z6e599da0bff7a6598ac1224e4985430bf16458a4'; + contract.options.address = 'Q6e599da0bff7a6598ac1224e4985430bf16458a4'; expect(parseAndSetAddressSpy).toHaveBeenCalledWith( - 'Z6e599da0bff7a6598ac1224e4985430bf16458a4', - ZOND_DATA_FORMAT, + 'Q6e599da0bff7a6598ac1224e4985430bf16458a4', + QRL_DATA_FORMAT, ); const parseAndSetJsonInterfaceSpy = jest.spyOn( contract, @@ -208,17 +208,17 @@ describe('Contract', () => { '_parseAndSetJsonInterface', ); contract.options.jsonInterface = []; - expect(parseAndSetJsonInterfaceSpy).toHaveBeenCalledWith([], ZOND_DATA_FORMAT); + expect(parseAndSetJsonInterfaceSpy).toHaveBeenCalledWith([], QRL_DATA_FORMAT); }); }); describe('Contract functions and defaults', () => { let sendOptions: Record; - const deployedAddr = 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; + const deployedAddr = 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; beforeEach(() => { sendOptions = { - from: 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2', + from: 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2', gas: '1000000', }; }); @@ -229,7 +229,7 @@ describe('Contract', () => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const sendTransactionSpy = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, tx) => { expect(tx.to).toBeUndefined(); expect(tx.gas).toStrictEqual(sendOptions.gas); @@ -263,7 +263,7 @@ describe('Contract', () => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const sendTransactionSpy = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, tx) => { expect(tx.to).toBeUndefined(); expect(tx.gas).toStrictEqual(sendOptions.gas); @@ -305,11 +305,11 @@ describe('Contract', () => { const arg = 'Hello'; const contract = new Contract(GreeterAbi); sendOptions = { - from: 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2', + from: 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2', gas: '1000000', }; const spyTx = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, _tx) => { const newContract = contract.clone(); newContract.options.address = deployedAddr; @@ -344,12 +344,12 @@ describe('Contract', () => { const arg = 'Hello'; const contract = new Contract(GreeterAbi); sendOptions = { - from: 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2', + from: 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2', gas: '1000000', data: '0xa41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000', }; const spyTx = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, _tx) => { const newContract = contract.clone(); newContract.options.address = deployedAddr; @@ -386,17 +386,17 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'data', - defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa', }, }); const arg = 'Hello'; const contract = new Contract(GreeterAbi, web3Context); sendOptions = { - from: 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2', + from: 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2', gas: '1000000', }; const spyTx = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, _tx) => { const newContract = contract.clone(); newContract.options.address = deployedAddr; @@ -432,17 +432,17 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'both', - defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa', }, }); const arg = 'Hello'; const contract = new Contract(GreeterAbi, web3Context); sendOptions = { - from: 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2', + from: 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2', gas: '1000000', }; const spyTx = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, _tx) => { const newContract = contract.clone(); newContract.options.address = deployedAddr; @@ -482,17 +482,17 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'input', - defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa', }, }); const arg = 'Hello'; const contract = new Contract(GreeterAbi, web3Context); sendOptions = { - from: 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2', + from: 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2', gas: '1000000', }; const spyTx = jest - .spyOn(zond, 'sendTransaction') + .spyOn(qrl, 'sendTransaction') .mockImplementation((_objInstance, _tx) => { const newContract = contract.clone(); newContract.options.address = deployedAddr; @@ -528,14 +528,14 @@ describe('Contract', () => { '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000548656c6c6f000000000000000000000000000000000000000000000000000000'; const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return return Promise.resolve(newContract) as any; }); - const spyZondCall = jest.spyOn(zond, 'call').mockImplementation((_objInstance, _tx) => { + const spyQRLCall = jest.spyOn(qrl, 'call').mockImplementation((_objInstance, _tx) => { expect(_tx.to).toStrictEqual(deployedAddr); expect(_tx.input).toBe('0xcfae3217'); // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -551,13 +551,13 @@ describe('Contract', () => { expect(res).toStrictEqual(arg); spyTx.mockClear(); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('should clone pre deployed contract with address', () => { const contract = new Contract( sampleStorageContractABI, - 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + 'Q00000000219ab540356cBB839Cbe05303d7705Fa', { gas: '0x97254' }, ); @@ -596,9 +596,9 @@ describe('Contract', () => { }); it('defaults set and get should work', () => { - const contract = new Contract([], 'Z00000000219ab540356cBB839Cbe05303d7705Fa'); + const contract = new Contract([], 'Q00000000219ab540356cBB839Cbe05303d7705Fa'); - const defaultAddr = 'Zd7E30ae310C1D1800F5B641Baa7af95b2e1FD98C'; + const defaultAddr = 'Qd7E30ae310C1D1800F5B641Baa7af95b2e1FD98C'; expect(contract.defaultAccount).toBeUndefined(); contract.defaultAccount = defaultAddr; expect(contract.defaultAccount).toStrictEqual(defaultAddr); @@ -713,12 +713,12 @@ describe('Contract', () => { }); it('should set and get correct address', () => { - const addr = 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701'; + const addr = 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701'; const contract = new Contract( [], '', { gas: '123' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); contract.options.address = addr; @@ -728,9 +728,9 @@ describe('Contract', () => { it('should set, at the constructor, and later get jsonInterface', () => { const contract = new Contract( sampleStorageContractABI, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); expect(contract.options.jsonInterface).toMatchObject(sampleStorageContractABI); @@ -739,27 +739,27 @@ describe('Contract', () => { it('should set and get jsonInterface', () => { const contract = new Contract( sampleStorageContractABI, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); - contract.options.jsonInterface = ZRC20TokenAbi; - expect(contract.options.jsonInterface).toMatchObject(ZRC20TokenAbi); + contract.options.jsonInterface = SQRCTF1TokenAbi; + expect(contract.options.jsonInterface).toMatchObject(SQRCTF1TokenAbi); }); it('should be able to call a payable method', async () => { const contract = new Contract( - zrc721Abi, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + sqrcTn1Abi, + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); - const spyZondCall = jest - .spyOn(zond, 'call') + const spyQRLCall = jest + .spyOn(qrl, 'call') .mockImplementation(async (_objInstance, _tx) => { - expect(_tx.to).toBe('Z1230B93ffd14F2F022039675fA3fc3A46eE4C701'); + expect(_tx.to).toBe('Q1230B93ffd14F2F022039675fA3fc3A46eE4C701'); expect(_tx.input).toBe( '0x095ea7b300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa0000000000000000000000000000000000000000000000000000000000000001', ); @@ -767,24 +767,24 @@ describe('Contract', () => { }); await expect( - contract.methods.approve('Z00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), + contract.methods.approve('Q00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), ).resolves.toBeTruthy(); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('should be able to call a payable method with data as a contract init option', async () => { const contract = new Contract( - zrc721Abi, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + sqrcTn1Abi, + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123', dataInputFill: 'data' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); - const spyZondCall = jest - .spyOn(zond, 'call') + const spyQRLCall = jest + .spyOn(qrl, 'call') .mockImplementation(async (_objInstance, _tx) => { - expect(_tx.to).toBe('Z1230B93ffd14F2F022039675fA3fc3A46eE4C701'); + expect(_tx.to).toBe('Q1230B93ffd14F2F022039675fA3fc3A46eE4C701'); expect(_tx.data).toBe( '0x095ea7b300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa0000000000000000000000000000000000000000000000000000000000000001', ); @@ -792,24 +792,24 @@ describe('Contract', () => { }); await expect( - contract.methods.approve('Z00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), + contract.methods.approve('Q00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), ).resolves.toBeTruthy(); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('should be able to call a payable method with input as a contract init option', async () => { const contract = new Contract( - zrc721Abi, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + sqrcTn1Abi, + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123', dataInputFill: 'input' }, - { config: { defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa' } }, + { config: { defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa' } }, ); - const spyZondCall = jest - .spyOn(zond, 'call') + const spyQRLCall = jest + .spyOn(qrl, 'call') .mockImplementation(async (_objInstance, _tx) => { - expect(_tx.to).toBe('Z1230B93ffd14F2F022039675fA3fc3A46eE4C701'); + expect(_tx.to).toBe('Q1230B93ffd14F2F022039675fA3fc3A46eE4C701'); expect(_tx.input).toBe( '0x095ea7b300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa0000000000000000000000000000000000000000000000000000000000000001', ); @@ -817,10 +817,10 @@ describe('Contract', () => { }); await expect( - contract.methods.approve('Z00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), + contract.methods.approve('Q00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), ).resolves.toBeTruthy(); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('should be able to call a payable method with data as a web3Context option', async () => { @@ -829,20 +829,20 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'data', - defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa', }, }); const contract = new Contract( - zrc721Abi, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + sqrcTn1Abi, + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, web3Context, ); - const spyZondCall = jest - .spyOn(zond, 'call') + const spyQRLCall = jest + .spyOn(qrl, 'call') .mockImplementation(async (_objInstance, _tx) => { - expect(_tx.to).toBe('Z1230B93ffd14F2F022039675fA3fc3A46eE4C701'); + expect(_tx.to).toBe('Q1230B93ffd14F2F022039675fA3fc3A46eE4C701'); expect(_tx.data).toBe( '0x095ea7b300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa0000000000000000000000000000000000000000000000000000000000000001', ); @@ -850,10 +850,10 @@ describe('Contract', () => { }); await expect( - contract.methods.approve('Z00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), + contract.methods.approve('Q00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), ).resolves.toBeTruthy(); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('should be able to call a payable method with both data and input as a web3Context option', async () => { @@ -862,20 +862,20 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'both', - defaultAccount: 'Z00000000219ab540356cBB839Cbe05303d7705Fa', + defaultAccount: 'Q00000000219ab540356cBB839Cbe05303d7705Fa', }, }); const contract = new Contract( - zrc721Abi, - 'Z1230B93ffd14F2F022039675fA3fc3A46eE4C701', + sqrcTn1Abi, + 'Q1230B93ffd14F2F022039675fA3fc3A46eE4C701', { gas: '123' }, web3Context, ); - const spyZondCall = jest - .spyOn(zond, 'call') + const spyQRLCall = jest + .spyOn(qrl, 'call') .mockImplementation(async (_objInstance, _tx) => { - expect(_tx.to).toBe('Z1230B93ffd14F2F022039675fA3fc3A46eE4C701'); + expect(_tx.to).toBe('Q1230B93ffd14F2F022039675fA3fc3A46eE4C701'); expect(_tx.data).toBe( '0x095ea7b300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa0000000000000000000000000000000000000000000000000000000000000001', ); @@ -886,16 +886,16 @@ describe('Contract', () => { }); await expect( - contract.methods.approve('Z00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), + contract.methods.approve('Q00000000219ab540356cBB839Cbe05303d7705Fa', 1).call(), ).resolves.toBeTruthy(); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('getPastEvents with filter should work', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -903,9 +903,9 @@ describe('Contract', () => { }); const spyGetLogs = jest - .spyOn(zond, 'getLogs') + .spyOn(qrl, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Q${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toStrictEqual(getLogsData.request.fromBlock); expect(_params.toBlock).toStrictEqual(getLogsData.request.toBlock); expect(_params.topics).toStrictEqual(getLogsData.request.topics); @@ -936,7 +936,7 @@ describe('Contract', () => { it('getPastEvents with filter by topics should work', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -944,9 +944,9 @@ describe('Contract', () => { }); const spyGetLogs = jest - .spyOn(zond, 'getLogs') + .spyOn(qrl, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Q${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toStrictEqual(getLogsData.request.fromBlock); expect(_params.toBlock).toStrictEqual(getLogsData.request.toBlock); @@ -977,7 +977,7 @@ describe('Contract', () => { it('getPastEvents for all events should work', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -985,9 +985,9 @@ describe('Contract', () => { }); const spyGetLogs = jest - .spyOn(zond, 'getLogs') + .spyOn(qrl, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Q${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toBeUndefined(); expect(_params.toBlock).toBeUndefined(); expect(_params.topics).toBeUndefined(); @@ -1013,7 +1013,7 @@ describe('Contract', () => { it('getPastEvents for all events with filter should work', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1021,9 +1021,9 @@ describe('Contract', () => { }); const spyGetLogs = jest - .spyOn(zond, 'getLogs') + .spyOn(qrl, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Q${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toBeUndefined(); expect(_params.toBlock).toBeUndefined(); expect(_params.topics).toBeUndefined(); @@ -1080,7 +1080,7 @@ describe('Contract', () => { it('getPastEvents for all events with filter by topics should work', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1088,9 +1088,9 @@ describe('Contract', () => { }); const spyGetLogs = jest - .spyOn(zond, 'getLogs') + .spyOn(qrl, 'getLogs') .mockImplementation((_objInstance, _params) => { - expect(_params.address).toBe(`Z${deployedAddr.slice(1).toLocaleLowerCase()}`); + expect(_params.address).toBe(`Q${deployedAddr.slice(1).toLocaleLowerCase()}`); expect(_params.fromBlock).toBeUndefined(); expect(_params.toBlock).toBeUndefined(); @@ -1118,7 +1118,7 @@ describe('Contract', () => { it('allEvents() should throw error with inner error', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1126,7 +1126,7 @@ describe('Contract', () => { }); const spyGetLogs = jest - .spyOn(zond, 'getLogs') + .spyOn(qrl, 'getLogs') .mockImplementation((_objInstance, _params) => { throw new Error('Inner error'); }); @@ -1158,7 +1158,7 @@ describe('Contract', () => { it('encodeABI should work for the deploy function using data', () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1181,7 +1181,7 @@ describe('Contract', () => { it('estimateGas should work for the deploy function using input', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1189,7 +1189,7 @@ describe('Contract', () => { }); const spyEstimateGas = jest - .spyOn(zond, 'estimateGas') + .spyOn(qrl, 'estimateGas') .mockImplementationOnce((_objInstance, _tx, _block, returnFormat) => { expect(_block).toBe('latest'); expect(_tx.to).toBeUndefined(); @@ -1197,7 +1197,7 @@ describe('Contract', () => { expect(_tx.input).toBe( '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); - expect(returnFormat).toBe(ZOND_DATA_FORMAT); + expect(returnFormat).toBe(QRL_DATA_FORMAT); // eslint-disable-next-line @typescript-eslint/no-unsafe-return return Promise.resolve(BigInt(36916)) as any; @@ -1208,7 +1208,7 @@ describe('Contract', () => { arguments: ['My Greeting'], }); - const result = await deploy.estimateGas(sendOptions, ZOND_DATA_FORMAT); + const result = await deploy.estimateGas(sendOptions, QRL_DATA_FORMAT); expect(result).toStrictEqual(BigInt(36916)); spyTx.mockClear(); @@ -1218,7 +1218,7 @@ describe('Contract', () => { it('estimateGas should work for the deploy function using data', async () => { const contract = new Contract(GreeterAbi); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1226,7 +1226,7 @@ describe('Contract', () => { }); const spyEstimateGas = jest - .spyOn(zond, 'estimateGas') + .spyOn(qrl, 'estimateGas') .mockImplementationOnce((_objInstance, _tx, _block, returnFormat) => { expect(_block).toBe('latest'); expect(_tx.to).toBeUndefined(); @@ -1234,7 +1234,7 @@ describe('Contract', () => { expect(_tx.data).toBe( '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); - expect(returnFormat).toBe(ZOND_DATA_FORMAT); + expect(returnFormat).toBe(QRL_DATA_FORMAT); // eslint-disable-next-line @typescript-eslint/no-unsafe-return return Promise.resolve(BigInt(36916)) as any; @@ -1245,7 +1245,7 @@ describe('Contract', () => { arguments: ['My Greeting'], }); - const result = await deploy.estimateGas(sendOptions, ZOND_DATA_FORMAT); + const result = await deploy.estimateGas(sendOptions, QRL_DATA_FORMAT); expect(result).toStrictEqual(BigInt(36916)); spyTx.mockClear(); @@ -1261,7 +1261,7 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, web3Context); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1269,7 +1269,7 @@ describe('Contract', () => { }); const spyEstimateGas = jest - .spyOn(zond, 'estimateGas') + .spyOn(qrl, 'estimateGas') .mockImplementationOnce((_objInstance, _tx, _block, returnFormat) => { expect(_block).toBe('latest'); expect(_tx.to).toBeUndefined(); @@ -1280,7 +1280,7 @@ describe('Contract', () => { expect(_tx.input).toBe( '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); - expect(returnFormat).toBe(ZOND_DATA_FORMAT); + expect(returnFormat).toBe(QRL_DATA_FORMAT); // eslint-disable-next-line @typescript-eslint/no-unsafe-return return Promise.resolve(BigInt(36916)) as any; @@ -1291,7 +1291,7 @@ describe('Contract', () => { arguments: ['My Greeting'], }); - const result = await deploy.estimateGas(sendOptions, ZOND_DATA_FORMAT); + const result = await deploy.estimateGas(sendOptions, QRL_DATA_FORMAT); expect(result).toStrictEqual(BigInt(36916)); spyTx.mockClear(); @@ -1306,7 +1306,7 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, web3Context); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1314,7 +1314,7 @@ describe('Contract', () => { }); const spyEstimateGas = jest - .spyOn(zond, 'estimateGas') + .spyOn(qrl, 'estimateGas') .mockImplementationOnce((_objInstance, _tx, _block, returnFormat) => { expect(_block).toBe('latest'); expect(_tx.to).toBeUndefined(); @@ -1322,7 +1322,7 @@ describe('Contract', () => { expect(_tx.data).toBe( '0x608060405234801562000010575f80fd5b5060405162000e6238038062000e628339818101604052810190620000369190620001da565b806001908162000047919062000460565b505f80819055505062000544565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620000b6826200006e565b810181811067ffffffffffffffff82111715620000d857620000d76200007e565b5b80604052505050565b5f620000ec62000055565b9050620000fa8282620000ab565b919050565b5f67ffffffffffffffff8211156200011c576200011b6200007e565b5b62000127826200006e565b9050602081019050919050565b5f5b838110156200015357808201518184015260208101905062000136565b5f8484015250505050565b5f620001746200016e84620000ff565b620000e1565b9050828152602081018484840111156200019357620001926200006a565b5b620001a084828562000134565b509392505050565b5f82601f830112620001bf57620001be62000066565b5b8151620001d18482602086016200015e565b91505092915050565b5f60208284031215620001f257620001f16200005e565b5b5f82015167ffffffffffffffff81111562000212576200021162000062565b5b6200022084828501620001a8565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200027857607f821691505b6020821081036200028e576200028d62000233565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002b5565b620002fe8683620002b5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000348620003426200033c8462000316565b6200031f565b62000316565b9050919050565b5f819050919050565b620003638362000328565b6200037b62000372826200034f565b848454620002c1565b825550505050565b5f90565b6200039162000383565b6200039e81848462000358565b505050565b5b81811015620003c557620003b95f8262000387565b600181019050620003a4565b5050565b601f8211156200041457620003de8162000294565b620003e984620002a6565b81016020851015620003f9578190505b620004116200040885620002a6565b830182620003a3565b50505b505050565b5f82821c905092915050565b5f620004365f198460080262000419565b1980831691505092915050565b5f62000450838362000425565b9150826002028217905092915050565b6200046b8262000229565b67ffffffffffffffff8111156200048757620004866200007e565b5b62000493825462000260565b620004a0828285620003c9565b5f60209050601f831160018114620004d6575f8415620004c1578287015190505b620004cd858262000443565b8655506200053c565b601f198416620004e68662000294565b5f5b828110156200050f57848901518255600182019150602085019450602081019050620004e8565b868310156200052f57848901516200052b601f89168262000425565b8355505b6001600288020188555050505b505050505050565b61091080620005525f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063a413686214610043578063cfae321714610074578063d09de08a14610092575b5f80fd5b61005d600480360381019061005891906103a9565b61009c565b60405161006b929190610484565b60405180910390f35b61007c6101b7565b60405161008991906104b2565b60405180910390f35b61009a610247565b005b5f60607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756001846040516100d19291906105c2565b60405180910390a182600190816100e8919061078b565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e6001604051610119919061085a565b60405180910390a1600180808054610130906104ff565b80601f016020809104026020016040519081016040528092919081815260200182805461015c906104ff565b80156101a75780601f1061017e576101008083540402835291602001916101a7565b820191905f5260205f20905b81548152906001019060200180831161018a57829003601f168201915b5050505050905091509150915091565b6060600180546101c6906104ff565b80601f01602080910402602001604051908101604052809291908181526020018280546101f2906104ff565b801561023d5780601f106102145761010080835404028352916020019161023d565b820191905f5260205f20905b81548152906001019060200180831161022057829003601f168201915b5050505050905090565b60015f5461025591906108a7565b5f81905550565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102bb82610275565b810181811067ffffffffffffffff821117156102da576102d9610285565b5b80604052505050565b5f6102ec61025c565b90506102f882826102b2565b919050565b5f67ffffffffffffffff82111561031757610316610285565b5b61032082610275565b9050602081019050919050565b828183375f83830152505050565b5f61034d610348846102fd565b6102e3565b90508281526020810184848401111561036957610368610271565b5b61037484828561032d565b509392505050565b5f82601f8301126103905761038f61026d565b5b81356103a084826020860161033b565b91505092915050565b5f602082840312156103be576103bd610265565b5b5f82013567ffffffffffffffff8111156103db576103da610269565b5b6103e78482850161037c565b91505092915050565b5f8115159050919050565b610404816103f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610441578082015181840152602081019050610426565b5f8484015250505050565b5f6104568261040a565b6104608185610414565b9350610470818560208601610424565b61047981610275565b840191505092915050565b5f6040820190506104975f8301856103fb565b81810360208301526104a9818461044c565b90509392505050565b5f6020820190508181035f8301526104ca818461044c565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061051657607f821691505b602082108103610529576105286104d2565b5b50919050565b5f819050815f5260205f209050919050565b5f815461054d816104ff565b6105578186610414565b9450600182165f81146105715760018114610587576105b9565b60ff1983168652811515602002860193506105b9565b6105908561052f565b5f5b838110156105b157815481890152600182019150602081019050610592565b808801955050505b50505092915050565b5f6040820190508181035f8301526105da8185610541565b905081810360208301526105ee818461044c565b90509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026106417fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610606565b61064b8683610606565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61068f61068a61068584610663565b61066c565b610663565b9050919050565b5f819050919050565b6106a883610675565b6106bc6106b482610696565b848454610612565b825550505050565b5f90565b6106d06106c4565b6106db81848461069f565b505050565b5b818110156106fe576106f35f826106c8565b6001810190506106e1565b5050565b601f821115610743576107148161052f565b61071d846105f7565b8101602085101561072c578190505b610740610738856105f7565b8301826106e0565b50505b505050565b5f82821c905092915050565b5f6107635f1984600802610748565b1980831691505092915050565b5f61077b8383610754565b9150826002028217905092915050565b6107948261040a565b67ffffffffffffffff8111156107ad576107ac610285565b5b6107b782546104ff565b6107c2828285610702565b5f60209050601f8311600181146107f3575f84156107e1578287015190505b6107eb8582610770565b865550610852565b601f1984166108018661052f565b5f5b8281101561082857848901518255600182019150602085019450602081019050610803565b868310156108455784890151610841601f891682610754565b8355505b6001600288020188555050505b505050505050565b5f6020820190508181035f8301526108728184610541565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6108b182610663565b91506108bc83610663565b92508282019050808211156108d4576108d361087a565b5b9291505056fea264697066735822122039a530133d747adb5dc07fe92ab69bfc5e9af0e823a9563f32a3974379e87da564687970634300000200330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b4d79204772656574696e67000000000000000000000000000000000000000000', ); - expect(returnFormat).toBe(ZOND_DATA_FORMAT); + expect(returnFormat).toBe(QRL_DATA_FORMAT); // eslint-disable-next-line @typescript-eslint/no-unsafe-return return Promise.resolve(BigInt(36916)) as any; @@ -1333,7 +1333,7 @@ describe('Contract', () => { arguments: ['My Greeting'], }); - const result = await deploy.estimateGas(sendOptions, ZOND_DATA_FORMAT); + const result = await deploy.estimateGas(sendOptions, QRL_DATA_FORMAT); expect(result).toStrictEqual(BigInt(36916)); spyTx.mockClear(); @@ -1345,7 +1345,7 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, { data: GreeterBytecode }); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1353,7 +1353,7 @@ describe('Contract', () => { }); const spyEstimateGas = jest - .spyOn(zond, 'estimateGas') + .spyOn(qrl, 'estimateGas') .mockImplementationOnce((_objInstance, _tx, _block) => { expect(_block).toBe('latest'); expect(_tx.to).toStrictEqual(deployedAddr); @@ -1384,7 +1384,7 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, { data: GreeterBytecode }); - const spyTx = jest.spyOn(zond, 'sendTransaction').mockImplementation(() => { + const spyTx = jest.spyOn(qrl, 'sendTransaction').mockImplementation(() => { const newContract = contract.clone(); newContract.options.address = deployedAddr; // eslint-disable-next-line @typescript-eslint/no-unsafe-return @@ -1422,7 +1422,7 @@ describe('Contract', () => { const arg = 'Hello'; const contract = new Contract(GreeterAbi); - contract.options.address = 'Z12364916b10Ae90076dDa6dE756EE1395BB69ec2'; + contract.options.address = 'Q12364916b10Ae90076dDa6dE756EE1395BB69ec2'; /* eslint-disable no-useless-escape */ await expect(async () => { @@ -1431,7 +1431,7 @@ describe('Contract', () => { }); it('contract method createAccessList should work', async () => { - const fromAddr: Address = 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; + const fromAddr: Address = 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; const result: AccessListResult = { accessList: [ { @@ -1446,8 +1446,8 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, deployedAddr); - const spyZondCall = jest - .spyOn(zond, 'createAccessList') + const spyQRLCall = jest + .spyOn(qrl, 'createAccessList') .mockImplementation((_objInstance, _tx) => { expect(_tx.to).toStrictEqual(deployedAddr); expect(_tx.input).toBe('0xcfae3217'); @@ -1459,7 +1459,7 @@ describe('Contract', () => { const res = await contract.methods.greet().createAccessList({ from: fromAddr }); expect(res).toStrictEqual(result); - spyZondCall.mockClear(); + spyQRLCall.mockClear(); }); it('contract method createAccessList should work using data with web3config', async () => { @@ -1468,7 +1468,7 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'data' }, }); - const fromAddr: Address = 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; + const fromAddr: Address = 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; const result: AccessListResult = { accessList: [ { @@ -1484,7 +1484,7 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, deployedAddr, web3Context); const spyEthCall = jest - .spyOn(zond, 'createAccessList') + .spyOn(qrl, 'createAccessList') .mockImplementation((_objInstance, _tx) => { expect(_tx.to).toStrictEqual(deployedAddr); expect(_tx.data).toBe('0xcfae3217'); @@ -1504,7 +1504,7 @@ describe('Contract', () => { provider: expectedProvider, config: { contractDataInputFill: 'both' }, }); - const fromAddr: Address = 'Z20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; + const fromAddr: Address = 'Q20bc23D0598b12c34cBDEf1fae439Ba8744DB426'; const result: AccessListResult = { accessList: [ { @@ -1520,7 +1520,7 @@ describe('Contract', () => { const contract = new Contract(GreeterAbi, deployedAddr, web3Context); const spyEthCall = jest - .spyOn(zond, 'createAccessList') + .spyOn(qrl, 'createAccessList') .mockImplementation((_objInstance, _tx) => { expect(_tx.to).toStrictEqual(deployedAddr); expect(_tx.data).toBe('0xcfae3217'); diff --git a/packages/web3-zond-contract/test/unit/contract_typing.test.ts b/packages/web3-qrl-contract/test/unit/contract_typing.test.ts similarity index 72% rename from packages/web3-zond-contract/test/unit/contract_typing.test.ts rename to packages/web3-qrl-contract/test/unit/contract_typing.test.ts index 84d5e710..a48b86e9 100644 --- a/packages/web3-zond-contract/test/unit/contract_typing.test.ts +++ b/packages/web3-qrl-contract/test/unit/contract_typing.test.ts @@ -20,8 +20,8 @@ along with web3.js. If not, see . import { expectTypeOf, typecheck } from '@humeris/espresso-shot'; import { Numbers } from '@theqrl/web3-types'; import { Contract } from '../../src/contract'; -import { zrc20Abi, Zrc20Interface } from '../fixtures/zrc20'; -import { zrc721Abi, Zrc721Interface } from '../fixtures/zrc721'; +import { sqrcTf1Abi, SqrcTf1Interface } from '../fixtures/sqrcTf1'; +import { sqrcTn1Abi, SqrcTn1Interface } from '../fixtures/sqrcTn1'; import { NonPayableMethodObject, PayableMethodObject } from '../../src'; describe('contract typing', () => { @@ -59,44 +59,44 @@ describe('contract typing', () => { >(), ); }); - describe('zrc20', () => { - const contract = new Contract(zrc20Abi); + describe('sqrcTf1', () => { + const contract = new Contract(sqrcTf1Abi); typecheck('should contain all methods', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); typecheck('should have interface compliance methods', () => - expectTypeOf(contract.methods).toExtend(), + expectTypeOf(contract.methods).toExtend(), ); typecheck('should have all events', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); typecheck('should have interface compliance events', () => - expectTypeOf(contract.events).toExtend(), + expectTypeOf(contract.events).toExtend(), ); }); - describe('zrc721', () => { - const contract = new Contract(zrc721Abi); + describe('sqrcTn1', () => { + const contract = new Contract(sqrcTn1Abi); typecheck('should contain all methods', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); // TODO: It's not matching types for `safeTransferFrom` because of overloaded method // typecheck('should have interface compliance methods', () => - // expectTypeOf(contract.methods).toExtend(), + // expectTypeOf(contract.methods).toExtend(), // ); typecheck('should have all events', () => - expectTypeOf().toBe(), + expectTypeOf().toBe(), ); typecheck('should have interface compliance events', () => - expectTypeOf(contract.events).toExtend(), + expectTypeOf(contract.events).toExtend(), ); }); }); diff --git a/packages/web3-zond-contract/test/unit/encode_event_abi.test.ts b/packages/web3-qrl-contract/test/unit/encode_event_abi.test.ts similarity index 93% rename from packages/web3-zond-contract/test/unit/encode_event_abi.test.ts rename to packages/web3-qrl-contract/test/unit/encode_event_abi.test.ts index c3d8b198..316cbef2 100644 --- a/packages/web3-zond-contract/test/unit/encode_event_abi.test.ts +++ b/packages/web3-qrl-contract/test/unit/encode_event_abi.test.ts @@ -18,7 +18,7 @@ import { AbiEventFragment } from '@theqrl/web3-types'; import { ContractOptions, encodeEventABI } from '../../src'; const contractOptions: ContractOptions = { - address: 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', + address: 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', } as ContractOptions; const abiEventFragment: AbiEventFragment & { signature: string } = { anonymous: false, @@ -55,7 +55,7 @@ describe('encodeEventAbi', () => { expect(encodedEventFilter).toMatchObject({ fromBlock: '0xa', - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', }); }); @@ -66,7 +66,7 @@ describe('encodeEventAbi', () => { expect(encodedEventFilter).toMatchObject({ toBlock: '0xa', - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', }); }); @@ -77,7 +77,7 @@ describe('encodeEventAbi', () => { expect(encodedEventFilter).toMatchObject({ topics: ['0x3f6d5d7b72c0059e2ecac56fd4adeefb2cff23aa41d13170f78ea6bf81e6e0ca'], - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', }); }); @@ -97,7 +97,7 @@ describe('encodeEventAbi', () => { expect(encodedEventFilter).toMatchObject({ fromBlock: '0x3e8', - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', }); }); @@ -179,7 +179,7 @@ describe('encodeEventAbi', () => { // eslint-disable-next-line no-null/no-null null, ], - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', }); }); @@ -199,7 +199,7 @@ describe('encodeEventAbi', () => { null, '0x0000000000000000000000000000000000000000000000000000000000000001', ], - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', }); }); }); diff --git a/packages/web3-zond-contract/test/unit/encoding.ts b/packages/web3-qrl-contract/test/unit/encoding.ts similarity index 100% rename from packages/web3-zond-contract/test/unit/encoding.ts rename to packages/web3-qrl-contract/test/unit/encoding.ts diff --git a/packages/web3-zond-contract/test/unit/jest.config.js b/packages/web3-qrl-contract/test/unit/jest.config.js similarity index 85% rename from packages/web3-zond-contract/test/unit/jest.config.js rename to packages/web3-qrl-contract/test/unit/jest.config.js index cc07f3da..cb06b7d5 100644 --- a/packages/web3-zond-contract/test/unit/jest.config.js +++ b/packages/web3-qrl-contract/test/unit/jest.config.js @@ -11,7 +11,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-contract-unit-coverage.json', + file: 'web3-qrl-contract-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond-contract/tsconfig.cjs.json b/packages/web3-qrl-contract/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond-contract/tsconfig.cjs.json rename to packages/web3-qrl-contract/tsconfig.cjs.json diff --git a/packages/web3-zond-contract/tsconfig.esm.json b/packages/web3-qrl-contract/tsconfig.esm.json similarity index 100% rename from packages/web3-zond-contract/tsconfig.esm.json rename to packages/web3-qrl-contract/tsconfig.esm.json diff --git a/packages/web3-zond-contract/tsconfig.types.json b/packages/web3-qrl-contract/tsconfig.types.json similarity index 100% rename from packages/web3-zond-contract/tsconfig.types.json rename to packages/web3-qrl-contract/tsconfig.types.json diff --git a/packages/web3-zond-contract/tsdoc.json b/packages/web3-qrl-contract/tsdoc.json similarity index 100% rename from packages/web3-zond-contract/tsdoc.json rename to packages/web3-qrl-contract/tsdoc.json diff --git a/packages/web3-zond-ens/.eslintignore b/packages/web3-qrl-iban/.eslintignore similarity index 100% rename from packages/web3-zond-ens/.eslintignore rename to packages/web3-qrl-iban/.eslintignore diff --git a/packages/web3-zond-ens/.eslintrc.js b/packages/web3-qrl-iban/.eslintrc.js similarity index 100% rename from packages/web3-zond-ens/.eslintrc.js rename to packages/web3-qrl-iban/.eslintrc.js diff --git a/packages/web3-zond-ens/.gitignore b/packages/web3-qrl-iban/.gitignore similarity index 100% rename from packages/web3-zond-ens/.gitignore rename to packages/web3-qrl-iban/.gitignore diff --git a/packages/web3-zond-ens/.npmignore b/packages/web3-qrl-iban/.npmignore similarity index 100% rename from packages/web3-zond-ens/.npmignore rename to packages/web3-qrl-iban/.npmignore diff --git a/packages/web3-zond-ens/.prettierignore b/packages/web3-qrl-iban/.prettierignore similarity index 100% rename from packages/web3-zond-ens/.prettierignore rename to packages/web3-qrl-iban/.prettierignore diff --git a/packages/web3-zond-ens/.prettierrc.json b/packages/web3-qrl-iban/.prettierrc.json similarity index 100% rename from packages/web3-zond-ens/.prettierrc.json rename to packages/web3-qrl-iban/.prettierrc.json diff --git a/packages/web3-zond-ens/CHANGELOG.md b/packages/web3-qrl-iban/CHANGELOG.md similarity index 100% rename from packages/web3-zond-ens/CHANGELOG.md rename to packages/web3-qrl-iban/CHANGELOG.md diff --git a/packages/web3-zond-iban/README.md b/packages/web3-qrl-iban/README.md similarity index 69% rename from packages/web3-zond-iban/README.md rename to packages/web3-qrl-iban/README.md index accd570d..16639b1e 100644 --- a/packages/web3-zond-iban/README.md +++ b/packages/web3-qrl-iban/README.md @@ -2,27 +2,27 @@ ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-18.x-green) -[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-zond-iban)](https://www.npmjs.com/package/@theqrl/web3-zond-iban) -[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-zond-iban)](https://www.npmjs.com/package/@theqrl/web3-zond-iban) +[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-qrl-iban)](https://www.npmjs.com/package/@theqrl/web3-qrl-iban) +[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-qrl-iban)](https://www.npmjs.com/package/@theqrl/web3-qrl-iban) This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3-zond-iban` This package converts Zond addresses to IBAN addresses a vice versa. +`@theqrl/web3-qrl-iban` This package converts QRL addresses to IBAN addresses a vice versa. ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-zond-iban) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-zond-iban) +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-qrl-iban) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-qrl-iban) ### Using NPM ```bash -npm install @theqrl/web3-zond-iban +npm install @theqrl/web3-qrl-iban ``` ### Using Yarn ```bash -yarn add @theqrl/web3-zond-iban +yarn add @theqrl/web3-qrl-iban ``` ## Getting Started @@ -49,7 +49,7 @@ yarn add @theqrl/web3-zond-iban | test:unit | Uses `jest` to run tests under `/test/unit` | [docs]: https://docs.theqrl.org/ -[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-iban -[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-zond-iban%2Fpackage.json -[npm-url]: https://npmjs.org/package/@theqrl/web3-zond-iban -[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-zond-iban?label=npm%20downloads +[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-iban +[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-qrl-iban%2Fpackage.json +[npm-url]: https://npmjs.org/package/@theqrl/web3-qrl-iban +[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-qrl-iban?label=npm%20downloads diff --git a/packages/web3-zond-ens/assets/logo/web3js.ai b/packages/web3-qrl-iban/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond-ens/assets/logo/web3js.ai rename to packages/web3-qrl-iban/assets/logo/web3js.ai diff --git a/packages/web3-zond-ens/assets/logo/web3js.jpg b/packages/web3-qrl-iban/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-ens/assets/logo/web3js.jpg rename to packages/web3-qrl-iban/assets/logo/web3js.jpg diff --git a/packages/web3-zond-ens/assets/logo/web3js.svg b/packages/web3-qrl-iban/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond-ens/assets/logo/web3js.svg rename to packages/web3-qrl-iban/assets/logo/web3js.svg diff --git a/packages/web3-zond-iban/coverage/coverage-final.json b/packages/web3-qrl-iban/coverage/coverage-final.json similarity index 100% rename from packages/web3-zond-iban/coverage/coverage-final.json rename to packages/web3-qrl-iban/coverage/coverage-final.json diff --git a/packages/web3-zond-iban/assets/logo/web3js.ai b/packages/web3-qrl-iban/logo/web3js.ai similarity index 100% rename from packages/web3-zond-iban/assets/logo/web3js.ai rename to packages/web3-qrl-iban/logo/web3js.ai diff --git a/packages/web3-zond-iban/assets/logo/web3js.jpg b/packages/web3-qrl-iban/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-iban/assets/logo/web3js.jpg rename to packages/web3-qrl-iban/logo/web3js.jpg diff --git a/packages/web3-zond-iban/assets/logo/web3js.svg b/packages/web3-qrl-iban/logo/web3js.svg similarity index 100% rename from packages/web3-zond-iban/assets/logo/web3js.svg rename to packages/web3-qrl-iban/logo/web3js.svg diff --git a/packages/web3-zond-iban/package.json b/packages/web3-qrl-iban/package.json similarity index 94% rename from packages/web3-zond-iban/package.json rename to packages/web3-qrl-iban/package.json index 8820c9dd..0d9c24aa 100644 --- a/packages/web3-zond-iban/package.json +++ b/packages/web3-qrl-iban/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond-iban", + "name": "@theqrl/web3-qrl-iban", "version": "0.3.3", "publishConfig": { "access": "public" }, - "description": "This package converts Zond addresses to IBAN addresses and vice versa.", + "description": "This package converts QRL addresses to IBAN addresses and vice versa.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { diff --git a/packages/web3-zond-iban/src/iban.ts b/packages/web3-qrl-iban/src/iban.ts similarity index 84% rename from packages/web3-zond-iban/src/iban.ts rename to packages/web3-qrl-iban/src/iban.ts index e0d98920..5a74b177 100644 --- a/packages/web3-zond-iban/src/iban.ts +++ b/packages/web3-qrl-iban/src/iban.ts @@ -28,7 +28,7 @@ import { InvalidAddressError } from '@theqrl/web3-errors'; import { IbanOptions } from './types.js'; /** - * Converts Zond addresses to IBAN or BBAN addresses and vice versa. + * Converts QRL addresses to IBAN or BBAN addresses and vice versa. */ export class Iban { private readonly _iban: string; @@ -90,7 +90,7 @@ export class Iban { * * @example * ```ts - * web3.zond.Iban.isDirect("XE81ETHXREGGAVOFYORK"); + * web3.qrl.Iban.isDirect("XE81ETHXREGGAVOFYORK"); * > false * ``` */ @@ -107,7 +107,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE81ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE81ETHXREGGAVOFYORK"); * iban.isDirect(); * > false * ``` @@ -125,7 +125,7 @@ export class Iban { * * @example * ```ts - * web3.zond.Iban.isIndirect("XE81ETHXREGGAVOFYORK"); + * web3.qrl.Iban.isIndirect("XE81ETHXREGGAVOFYORK"); * > true * ``` */ @@ -142,7 +142,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE81ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE81ETHXREGGAVOFYORK"); * iban.isIndirect(); * > true * ``` @@ -160,10 +160,10 @@ export class Iban { * * @example * ```ts - * web3.zond.Iban.isValid("XE81ETHXREGGAVOFYORK"); + * web3.qrl.Iban.isValid("XE81ETHXREGGAVOFYORK"); * > true * - * web3.zond.Iban.isValid("XE82ETHXREGGAVOFYORK"); + * web3.qrl.Iban.isValid("XE82ETHXREGGAVOFYORK"); * > false // because the checksum is incorrect * ``` */ @@ -180,11 +180,11 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE81ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE81ETHXREGGAVOFYORK"); * iban.isValid(); * > true * - * const iban = new web3.zond.Iban("XE82ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE82ETHXREGGAVOFYORK"); * iban.isValid(); * > false // because the checksum is incorrect * ``` @@ -203,7 +203,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"); + * const iban = new web3.qrl.Iban("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"); * > Iban { _iban: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS' } * ``` */ @@ -225,7 +225,7 @@ export class Iban { * * @example * ```ts - * web3.zond.Iban.fromBban('ETHXREGGAVOFYORK'); + * web3.qrl.Iban.fromBban('ETHXREGGAVOFYORK'); * > Iban {_iban: "XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"} * ``` */ @@ -246,7 +246,7 @@ export class Iban { * * @example * ```ts - * web3.zond.Iban.createIndirect({ + * web3.qrl.Iban.createIndirect({ * institution: "XREG", * identifier: "GAVOFYORK" * }); @@ -258,14 +258,14 @@ export class Iban { } /** - * This method should be used to create iban object from a Zond address. + * This method should be used to create iban object from a QRL address. * - * @param address - a Zond address + * @param address - a QRL address * @returns an Iban class instance that holds the equivalent IBAN * * @example * ```ts - * web3.zond.Iban.fromAddress("Z00c5496aEe77C1bA1f0854206A26DdA82a81D6D8"); + * web3.qrl.Iban.fromAddress("Q00c5496aEe77C1bA1f0854206A26DdA82a81D6D8"); * > Iban {_iban: "XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"} * ``` */ @@ -281,18 +281,18 @@ export class Iban { } /** - * This method should be used to create a zond address from a Direct IBAN address. + * This method should be used to create a qrl address from a Direct IBAN address. * If the provided string was not a direct IBAN (has the length of 34 or 35), an Error will be thrown: * ('Iban is indirect and cannot be converted. Must be length of 34 or 35'). * Note: this is also available as a method at an Iban instance. * * @param iban - a Direct IBAN address - * @return the equivalent zond address + * @return the equivalent qrl address * * @example * ```ts - * web3.zond.Iban.toAddress("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"); - * > "Z00c5496aEe77C1bA1f0854206A26DdA82a81D6D8" + * web3.qrl.Iban.toAddress("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"); + * > "Q00c5496aEe77C1bA1f0854206A26DdA82a81D6D8" * ``` */ public static toAddress = (iban: string): HexString => { @@ -301,18 +301,18 @@ export class Iban { }; /** - * This method should be used to create the equivalent zond address for the early provided Direct IBAN address. + * This method should be used to create the equivalent qrl address for the early provided Direct IBAN address. * If the provided string was not a direct IBAN (has the length of 34 or 35), an Error will be thrown: * ('Iban is indirect and cannot be converted. Must be length of 34 or 35'). * Note: this is also available as a static method. * - * @return the equivalent zond address + * @return the equivalent qrl address * * @example * ```ts - * const iban = new web3.zond.Iban("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"); + * const iban = new web3.qrl.Iban("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS"); * iban.toAddress(); - * > "Z00c5496aEe77C1bA1f0854206A26DdA82a81D6D8" + * > "Q00c5496aEe77C1bA1f0854206A26DdA82a81D6D8" * ``` */ public toAddress = (): HexString => { @@ -327,14 +327,14 @@ export class Iban { }; /** - * This method should be used to create IBAN address from a Zond address + * This method should be used to create IBAN address from a QRL address * - * @param address - a Zond address + * @param address - a QRL address * @return the equivalent IBAN address * * @example * ```ts - * web3.zond.Iban.toIban("Z00c5496aEe77C1bA1f0854206A26DdA82a81D6D8"); + * web3.qrl.Iban.toIban("Q00c5496aEe77C1bA1f0854206A26DdA82a81D6D8"); * > "XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS" * ``` */ @@ -349,7 +349,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE81ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE81ETHXREGGAVOFYORK"); * iban.client(); * > 'GAVOFYORK' * ``` @@ -363,7 +363,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE81ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE81ETHXREGGAVOFYORK"); * iban.checksum(); * > "81" * ``` @@ -378,7 +378,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban("XE81ETHXREGGAVOFYORK"); + * const iban = new web3.qrl.Iban("XE81ETHXREGGAVOFYORK"); * iban.institution(); * > 'XREG' * ``` @@ -392,7 +392,7 @@ export class Iban { * * @example * ```ts - * const iban = new web3.zond.Iban('XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS'); + * const iban = new web3.qrl.Iban('XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS'); * iban.toString(); * > 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS' * ``` diff --git a/packages/web3-zond-iban/src/index.ts b/packages/web3-qrl-iban/src/index.ts similarity index 100% rename from packages/web3-zond-iban/src/index.ts rename to packages/web3-qrl-iban/src/index.ts diff --git a/packages/web3-zond-iban/src/types.ts b/packages/web3-qrl-iban/src/types.ts similarity index 100% rename from packages/web3-zond-iban/src/types.ts rename to packages/web3-qrl-iban/src/types.ts diff --git a/packages/web3-zond-ens/test/.eslintrc.js b/packages/web3-qrl-iban/test/.eslintrc.js similarity index 100% rename from packages/web3-zond-ens/test/.eslintrc.js rename to packages/web3-qrl-iban/test/.eslintrc.js diff --git a/packages/web3-zond-ens/test/config/jest.config.js b/packages/web3-qrl-iban/test/config/jest.config.js similarity index 100% rename from packages/web3-zond-ens/test/config/jest.config.js rename to packages/web3-qrl-iban/test/config/jest.config.js diff --git a/packages/web3-zond-ens/test/config/setup.js b/packages/web3-qrl-iban/test/config/setup.js similarity index 100% rename from packages/web3-zond-ens/test/config/setup.js rename to packages/web3-qrl-iban/test/config/setup.js diff --git a/packages/web3-zond-iban/test/fixtures/iban.ts b/packages/web3-qrl-iban/test/fixtures/iban.ts similarity index 87% rename from packages/web3-zond-iban/test/fixtures/iban.ts rename to packages/web3-qrl-iban/test/fixtures/iban.ts index 533c0f58..51af7b78 100644 --- a/packages/web3-zond-iban/test/fixtures/iban.ts +++ b/packages/web3-qrl-iban/test/fixtures/iban.ts @@ -18,10 +18,10 @@ along with web3.js. If not, see . import { IbanOptions } from '../../src/types'; export const validIbanToAddressData: [string, string][] = [ - ['XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36', 'Z8ba1f109551bD432803012645Ac136ddd64DBA72'], - ['XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', 'Z00c5496aEe77C1bA1f0854206A26DdA82a81D6D8'], - ['XE76LL5FJYLSMDVW5J02HWU6R5ZVPHURYM9', 'Zb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01'], - ['XE76LL5FJYLSMDVW5J02HWU6R5ZVPHURYM9', 'Zb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01'], + ['XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36', 'Q8ba1f109551bD432803012645Ac136ddd64DBA72'], + ['XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', 'Q00c5496aEe77C1bA1f0854206A26DdA82a81D6D8'], + ['XE76LL5FJYLSMDVW5J02HWU6R5ZVPHURYM9', 'Qb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01'], + ['XE76LL5FJYLSMDVW5J02HWU6R5ZVPHURYM9', 'Qb8CE9ab6943e0eCED004cDe8e3bBed6568B2Fa01'], ]; export const invalidIbanToAddressData: [string, Error][] = [ @@ -32,9 +32,9 @@ export const invalidIbanToAddressData: [string, Error][] = [ ]; export const invalidAddressData: [string][] = [ - ['Z1'], - ['ZE247a45c287191d435A8a5D72A7C8dc030451E9F'], // Invalid checksum - ['-Z407d73d8a49eeb85d32cf465507dd71d507100c1'], + ['Q1'], + ['QE247a45c287191d435A8a5D72A7C8dc030451E9F'], // Invalid checksum + ['-Q407d73d8a49eeb85d32cf465507dd71d507100c1'], ]; export const validFromBbanData: [string, string][] = [['ETHXREGGAVOFYORK', 'XE81ETHXREGGAVOFYORK']]; diff --git a/packages/web3-zond-ens/test/integration/jest.config.js b/packages/web3-qrl-iban/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond-ens/test/integration/jest.config.js rename to packages/web3-qrl-iban/test/integration/jest.config.js diff --git a/packages/web3-zond-iban/test/integration/setup.js b/packages/web3-qrl-iban/test/integration/setup.js similarity index 100% rename from packages/web3-zond-iban/test/integration/setup.js rename to packages/web3-qrl-iban/test/integration/setup.js diff --git a/packages/web3-zond-iban/test/tsconfig.json b/packages/web3-qrl-iban/test/tsconfig.json similarity index 100% rename from packages/web3-zond-iban/test/tsconfig.json rename to packages/web3-qrl-iban/test/tsconfig.json diff --git a/packages/web3-zond-iban/test/unit/constructor.test.ts b/packages/web3-qrl-iban/test/unit/constructor.test.ts similarity index 100% rename from packages/web3-zond-iban/test/unit/constructor.test.ts rename to packages/web3-qrl-iban/test/unit/constructor.test.ts diff --git a/packages/web3-zond-iban/test/unit/iban.test.ts b/packages/web3-qrl-iban/test/unit/iban.test.ts similarity index 100% rename from packages/web3-zond-iban/test/unit/iban.test.ts rename to packages/web3-qrl-iban/test/unit/iban.test.ts diff --git a/packages/web3-zond-abi/test/unit/jest.config.js b/packages/web3-qrl-iban/test/unit/jest.config.js similarity index 86% rename from packages/web3-zond-abi/test/unit/jest.config.js rename to packages/web3-qrl-iban/test/unit/jest.config.js index ee0b9dac..542f92bd 100644 --- a/packages/web3-zond-abi/test/unit/jest.config.js +++ b/packages/web3-qrl-iban/test/unit/jest.config.js @@ -11,7 +11,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-abi-unit-coverage.json', + file: 'web3-qrl-iban-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond-ens/tsconfig.cjs.json b/packages/web3-qrl-iban/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond-ens/tsconfig.cjs.json rename to packages/web3-qrl-iban/tsconfig.cjs.json diff --git a/packages/web3-zond-ens/tsconfig.esm.json b/packages/web3-qrl-iban/tsconfig.esm.json similarity index 100% rename from packages/web3-zond-ens/tsconfig.esm.json rename to packages/web3-qrl-iban/tsconfig.esm.json diff --git a/packages/web3-zond-ens/tsconfig.types.json b/packages/web3-qrl-iban/tsconfig.types.json similarity index 100% rename from packages/web3-zond-ens/tsconfig.types.json rename to packages/web3-qrl-iban/tsconfig.types.json diff --git a/packages/web3-zond-ens/tsdoc.json b/packages/web3-qrl-iban/tsdoc.json similarity index 100% rename from packages/web3-zond-ens/tsdoc.json rename to packages/web3-qrl-iban/tsdoc.json diff --git a/packages/web3-zond-iban/.eslintignore b/packages/web3-qrl-qrns/.eslintignore similarity index 100% rename from packages/web3-zond-iban/.eslintignore rename to packages/web3-qrl-qrns/.eslintignore diff --git a/packages/web3-zond-iban/.eslintrc.js b/packages/web3-qrl-qrns/.eslintrc.js similarity index 100% rename from packages/web3-zond-iban/.eslintrc.js rename to packages/web3-qrl-qrns/.eslintrc.js diff --git a/packages/web3-zond-iban/.gitignore b/packages/web3-qrl-qrns/.gitignore similarity index 100% rename from packages/web3-zond-iban/.gitignore rename to packages/web3-qrl-qrns/.gitignore diff --git a/packages/web3-zond-iban/.npmignore b/packages/web3-qrl-qrns/.npmignore similarity index 100% rename from packages/web3-zond-iban/.npmignore rename to packages/web3-qrl-qrns/.npmignore diff --git a/packages/web3-zond-iban/.prettierignore b/packages/web3-qrl-qrns/.prettierignore similarity index 100% rename from packages/web3-zond-iban/.prettierignore rename to packages/web3-qrl-qrns/.prettierignore diff --git a/packages/web3-zond-iban/.prettierrc.json b/packages/web3-qrl-qrns/.prettierrc.json similarity index 100% rename from packages/web3-zond-iban/.prettierrc.json rename to packages/web3-qrl-qrns/.prettierrc.json diff --git a/packages/web3-zond-iban/CHANGELOG.md b/packages/web3-qrl-qrns/CHANGELOG.md similarity index 100% rename from packages/web3-zond-iban/CHANGELOG.md rename to packages/web3-qrl-qrns/CHANGELOG.md diff --git a/packages/web3-zond-ens/README.md b/packages/web3-qrl-qrns/README.md similarity index 68% rename from packages/web3-zond-ens/README.md rename to packages/web3-qrl-qrns/README.md index 32888007..3af3a665 100644 --- a/packages/web3-zond-ens/README.md +++ b/packages/web3-qrl-qrns/README.md @@ -1,28 +1,28 @@ -# @theqrl/web3.js - ENS +# @theqrl/web3.js - QRNS ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-18.x-green) -[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-zond-ens)](https://www.npmjs.com/package/@theqrl/web3-zond-ens) -[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-zond-ens)](https://www.npmjs.com/package/@theqrl/web3-zond-ens) +[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-qrl-qrns)](https://www.npmjs.com/package/@theqrl/web3-qrl-qrns) +[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-qrl-qrns)](https://www.npmjs.com/package/@theqrl/web3-qrl-qrns) This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3-zond-ens` This package has ENS functions for interacting with the Zond derivative of the Ethereum Name Service. +`@theqrl/web3-qrl-qrns` This package has QRNS functions for interacting with the QRL derivative of the Ethereum Name Service. ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-zond-ens) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-zond-ens) +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-qrl-qrns) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-qrl-qrns) ### Using NPM ```bash -npm install @theqrl/web3-zond-ens +npm install @theqrl/web3-qrl-qrns ``` ### Using Yarn ```bash -yarn add @theqrl/web3-zond-ens +yarn add @theqrl/web3-qrl-qrns ``` ## Getting Started @@ -49,7 +49,7 @@ yarn add @theqrl/web3-zond-ens | test:unit | Uses `jest` to run tests under `/test/unit` | [docs]: https://docs.theqrl.org/ -[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-ens -[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-zond-ens%2Fpackage.json -[npm-url]: https://npmjs.org/package/@theqrl/web3-zond-ens -[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-zond-ens?label=npm%20downloads +[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-qrns +[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-qrl-qrns%2Fpackage.json +[npm-url]: https://npmjs.org/package/@theqrl/web3-qrl-qrns +[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-qrl-qrns?label=npm%20downloads diff --git a/packages/web3-zond-iban/logo/web3js.ai b/packages/web3-qrl-qrns/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond-iban/logo/web3js.ai rename to packages/web3-qrl-qrns/assets/logo/web3js.ai diff --git a/packages/web3-zond-iban/logo/web3js.jpg b/packages/web3-qrl-qrns/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond-iban/logo/web3js.jpg rename to packages/web3-qrl-qrns/assets/logo/web3js.jpg diff --git a/packages/web3-zond-iban/logo/web3js.svg b/packages/web3-qrl-qrns/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond-iban/logo/web3js.svg rename to packages/web3-qrl-qrns/assets/logo/web3js.svg diff --git a/packages/web3-zond-ens/package.json b/packages/web3-qrl-qrns/package.json similarity index 92% rename from packages/web3-zond-ens/package.json rename to packages/web3-qrl-qrns/package.json index 079243b9..f16baa9f 100644 --- a/packages/web3-zond-ens/package.json +++ b/packages/web3-qrl-qrns/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond-ens", + "name": "@theqrl/web3-qrl-qrns", "version": "0.3.3", "publishConfig": { "access": "public" }, - "description": "This package has ZNS functions for interacting with Zond Name Service.", + "description": "This package has QRNS functions for interacting with QRL Name Service.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -66,8 +66,8 @@ "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", - "@theqrl/web3-zond": "^0.3.3", - "@theqrl/web3-zond-contract": "^0.3.3" + "@theqrl/web3-qrl": "^0.3.3", + "@theqrl/web3-qrl-contract": "^0.3.3" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" } diff --git a/packages/web3-zond-ens/src/abi/zns/PublicResolver.ts b/packages/web3-qrl-qrns/src/abi/qrns/PublicResolver.ts similarity index 100% rename from packages/web3-zond-ens/src/abi/zns/PublicResolver.ts rename to packages/web3-qrl-qrns/src/abi/qrns/PublicResolver.ts diff --git a/packages/web3-zond-ens/src/abi/zns/ZNSRegistry.ts b/packages/web3-qrl-qrns/src/abi/qrns/QRNSRegistry.ts similarity index 97% rename from packages/web3-zond-ens/src/abi/zns/ZNSRegistry.ts rename to packages/web3-qrl-qrns/src/abi/qrns/QRNSRegistry.ts index d8f2398d..4a7e34f0 100644 --- a/packages/web3-zond-ens/src/abi/zns/ZNSRegistry.ts +++ b/packages/web3-qrl-qrns/src/abi/qrns/QRNSRegistry.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ZNSRegistry.sol -export const ZNSRegistryAbi = [ +// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ENSRegistry.sol +export const QRNSRegistryAbi = [ { anonymous: false, inputs: [ diff --git a/packages/web3-zond-ens/src/config.ts b/packages/web3-qrl-qrns/src/config.ts similarity index 74% rename from packages/web3-zond-ens/src/config.ts rename to packages/web3-qrl-qrns/src/config.ts index 7cd5d89c..6acd4f7e 100644 --- a/packages/web3-zond-ens/src/config.ts +++ b/packages/web3-qrl-qrns/src/config.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . // /** - * An object holding the interface Ids of the ZNS resolver contracts. Please see [how to write a resolver](https://docs.ens.domains/contract-developer-guide/writing-a-resolver). + * An object holding the interface Ids of the QRNS resolver contracts. Please see [how to write a resolver](https://docs.ens.domains/contract-developer-guide/writing-a-resolver). */ export const interfaceIds: { [T: string]: string } = { addr: '0x3b3b57de', @@ -29,7 +29,7 @@ export const interfaceIds: { [T: string]: string } = { }; /** - * An object holding the functionsthat are supported by the ZNS resolver contracts/interfaces. + * An object holding the functionsthat are supported by the QRNS resolver contracts/interfaces. */ export const methodsInInterface: { [T: string]: string } = { setAddr: 'addr', @@ -41,11 +41,11 @@ export const methodsInInterface: { [T: string]: string } = { }; /** - * An object holding the addressed of the ZNS registries on the different networks (mainnet). + * An object holding the addressed of the QRNS registries on the different networks (mainnet). */ // TODO(youtrack/theqrl/web3.js/1) export const registryAddresses: { [T: string]: string } = { - main: 'Z00000000000C2E074eC69A0dFb2997BA6C7d2e1e', + main: 'Q00000000000C2E074eC69A0dFb2997BA6C7d2e1e', }; export const networkIds: { [T: string]: string } = { diff --git a/packages/web3-zond-ens/src/index.ts b/packages/web3-qrl-qrns/src/index.ts similarity index 78% rename from packages/web3-zond-ens/src/index.ts rename to packages/web3-qrl-qrns/src/index.ts index da1cdf4e..1b209616 100644 --- a/packages/web3-zond-ens/src/index.ts +++ b/packages/web3-qrl-qrns/src/index.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /** - * The `web3.zond.zns` functions let you interact with ZNS. We recommend reading the [ZNS documentation](https://docs.ens.domains/) to get deeper insights about the internals of the name service. + * The `web3.qrl.qrns` functions let you interact with QRNS. We recommend reading the [QRNS documentation](https://docs.ens.domains/) to get deeper insights about the internals of the name service. * */ /** @@ -24,5 +24,5 @@ along with web3.js. If not, see . */ import { registryAddresses } from './config.js'; -export * from './zns.js'; +export * from './qrns.js'; export { registryAddresses }; diff --git a/packages/web3-zond-ens/src/zns.ts b/packages/web3-qrl-qrns/src/qrns.ts similarity index 59% rename from packages/web3-zond-ens/src/zns.ts rename to packages/web3-qrl-qrns/src/qrns.ts index 74b6e6b2..78b8e8ef 100644 --- a/packages/web3-zond-ens/src/zns.ts +++ b/packages/web3-qrl-qrns/src/qrns.ts @@ -16,27 +16,27 @@ along with web3.js. If not, see . */ import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; -import { ZNSNetworkNotSyncedError, ZNSUnsupportedNetworkError } from '@theqrl/web3-errors'; -import { isSyncing } from '@theqrl/web3-zond'; -import { Contract } from '@theqrl/web3-zond-contract'; +import { QRNSNetworkNotSyncedError, QRNSUnsupportedNetworkError } from '@theqrl/web3-errors'; +import { isSyncing } from '@theqrl/web3-qrl'; +import { Contract } from '@theqrl/web3-qrl-contract'; import { getId } from '@theqrl/web3-net'; import { DEFAULT_RETURN_FORMAT, - ZondExecutionAPI, + QRLExecutionAPI, FMT_NUMBER, SupportedProviders, Web3NetAPI, } from '@theqrl/web3-types'; -import { PublicResolverAbi } from './abi/zns/PublicResolver.js'; +import { PublicResolverAbi } from './abi/qrns/PublicResolver.js'; import { networkIds, registryAddresses } from './config.js'; import { Registry } from './registry.js'; import { Resolver } from './resolver.js'; /** - * This class is designed to interact with the ZNS system on the Zond blockchain. + * This class is designed to interact with the QRNS system on the QRL blockchain. * */ -export class ZNS extends Web3Context { +export class QRNS extends Web3Context { /** * The registryAddress property can be used to define a custom registry address when you are connected to an unknown chain. It defaults to the main registry address. */ @@ -47,25 +47,25 @@ export class ZNS extends Web3Context { private _lastSyncCheck?: number; /** - * Use to create an instance of ZNS - * @param registryAddr - (Optional) The address of the ZNS registry (default: mainnet registry address) - * @param provider - (Optional) The provider to use for the ZNS instance + * Use to create an instance of QRNS + * @param registryAddr - (Optional) The address of the QRNS registry (default: mainnet registry address) + * @param provider - (Optional) The provider to use for the QRNS instance * @example * ```ts - * const zns = new ZNS( - * "Z00000000000C2E074eC69A0dFb2997BA6C7d2e1e", + * const qrns = new QRNS( + * "Q00000000000C2E074eC69A0dFb2997BA6C7d2e1e", * "http://localhost:8545" * ); * - * console.log( zns.defaultChain); + * console.log(qrns.defaultChain); * > mainnet * ``` */ public constructor( registryAddr?: string, provider?: - | SupportedProviders - | Web3ContextObject + | SupportedProviders + | Web3ContextObject | string, ) { super(provider ?? ''); @@ -76,15 +76,15 @@ export class ZNS extends Web3Context { /** * Returns the Resolver by the given address - * @param name - The name of the ZNS domain + * @param name - The name of the QRNS domain * @returns - An contract instance of the resolver * * @example * ```ts - * const resolver = await zns.getResolver('resolver'); + * const resolver = await qrns.getResolver('resolver'); * * console.log(resolver.options.address); - * > 'Z1234567890123456789012345678901234567890' + * > 'Q1234567890123456789012345678901234567890' * ``` */ public async getResolver(name: string): Promise> { @@ -93,11 +93,11 @@ export class ZNS extends Web3Context { /** * Returns true if the record exists - * @param name - The ZNS name - * @returns - Returns `true` if node exists in this ZNS registry. This will return `false` for records that are in the legacy ZNS registry but have not yet been migrated to the new one. + * @param name - The QRNS name + * @returns - Returns `true` if node exists in this QRNS registry. This will return `false` for records that are in the legacy QRNS registry but have not yet been migrated to the new one. * @example * ```ts - * const exists = await web3.zond.zns.recordExists('zond.zns'); + * const exists = await web3.qrl.qrns.recordExists('qrl.qrns'); * ``` */ public async recordExists(name: string): Promise { @@ -105,12 +105,12 @@ export class ZNS extends Web3Context { } /** - * Returns the caching TTL (time-to-live) of a ZNS name. - * @param name - The ZNS name + * Returns the caching TTL (time-to-live) of a QRNS name. + * @param name - The QRNS name * @returns - Returns the caching TTL (time-to-live) of a name. * @example * ```ts - * const owner = await web3.zond.zns.getTTL('zond.zns'); + * const owner = await web3.qrl.qrns.getTTL('qrl.qrns'); * ``` */ public async getTTL(name: string): Promise { @@ -119,11 +119,11 @@ export class ZNS extends Web3Context { /** * Returns the owner by the given name and current configured or detected Registry - * @param name - The ZNS name + * @param name - The QRNS name * @returns - Returns the address of the owner of the name. * @example * ```ts - * const owner = await web3.zond.zns.getOwner('zond.zns'); + * const owner = await web3.qrl.qrns.getOwner('qrl.qrns'); * ``` */ public async getOwner(name: string): Promise { @@ -131,27 +131,27 @@ export class ZNS extends Web3Context { } /** - * Resolves a ZNS name to a Zond address. - * @param ZNSName - The ZNS name to resolve - * @param coinType - (Optional) The coin type, defaults to 60 (ZND) - * @returns - The Zond address of the given name + * Resolves a QRNS name to a QRL address. + * @param QRNSName - The QRNS name to resolve + * @param coinType - (Optional) The coin type, defaults to 60 (QRL) + * @returns - The QRL address of the given name * ```ts - * const address = await web3.zond.zns.getAddress('zond.zns'); + * const address = await web3.qrl.qrns.getAddress('qrl.qrns'); * console.log(address); - * > 'ZfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359' + * > 'QfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359' * ``` */ - public async getAddress(ZNSName: string, coinType = 60) { - return this._resolver.getAddress(ZNSName, coinType); + public async getAddress(QRNSName: string, coinType = 60) { + return this._resolver.getAddress(QRNSName, coinType); } /** * Returns the X and Y coordinates of the curve point for the public key. - * @param ZNSName - The ZNS name + * @param QRNSName - The QRNS name * @returns - The X and Y coordinates of the curve point for the public key * @example * ```ts - * const key = await web3.zond.zns.getPubkey('zond.zns'); + * const key = await web3.qrl.qrns.getPubkey('qrl.qrns'); * console.log(key); * > { * "0": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -161,33 +161,33 @@ export class ZNS extends Web3Context { * } * ``` */ - public async getPubkey(ZNSName: string) { - return this._resolver.getPubkey(ZNSName); + public async getPubkey(QRNSName: string) { + return this._resolver.getPubkey(QRNSName); } /** - * Returns the content hash object associated with a ZNS node. - * @param ZNSName - The ZNS name - * @returns - The content hash object associated with a ZNS node + * Returns the content hash object associated with a QRNS node. + * @param QRNSName - The QRNS name + * @returns - The content hash object associated with a QRNS node * @example * ```ts - * const hash = await web3.zond.zns.getContenthash('zond.zns'); + * const hash = await web3.qrl.qrns.getContenthash('qrl.qrns'); * console.log(hash); * > 'QmaEBknbGT4bTQiQoe2VNgBJbRfygQGktnaW5TbuKixjYL' * ``` */ - public async getContenthash(ZNSName: string) { - return this._resolver.getContenthash(ZNSName); + public async getContenthash(QRNSName: string) { + return this._resolver.getContenthash(QRNSName); } /** - * Checks if the current used network is synced and looks for ZNS support there. + * Checks if the current used network is synced and looks for QRNS support there. * Throws an error if not. - * @returns - The address of the ZNS registry if the network has been detected successfully + * @returns - The address of the QRNS registry if the network has been detected successfully * @example * ```ts - * console.log(await web3.zond.zns.checkNetwork()); - * > 'Z00000000000C2E074eC69A0dFb2997BA6C7d2e1e' + * console.log(await web3.qrl.qrns.checkNetwork()); + * > 'Q00000000000C2E074eC69A0dFb2997BA6C7d2e1e' * ``` */ public async checkNetwork() { @@ -196,7 +196,7 @@ export class ZNS extends Web3Context { const syncInfo = await isSyncing(this); if (!(typeof syncInfo === 'boolean' && !syncInfo)) { - throw new ZNSNetworkNotSyncedError(); + throw new QRNSNetworkNotSyncedError(); } this._lastSyncCheck = now; @@ -212,7 +212,7 @@ export class ZNS extends Web3Context { const addr = registryAddresses[networkIds[networkType]]; if (typeof addr === 'undefined') { - throw new ZNSUnsupportedNetworkError(networkType); + throw new QRNSUnsupportedNetworkError(networkType); } this._detectedAddress = addr; @@ -221,22 +221,22 @@ export class ZNS extends Web3Context { /** * Returns true if the related Resolver does support the given signature or interfaceId. - * @param ZNSName - The ZNS name - * @param interfaceId - The signature of the function or the interfaceId as described in the ZNS documentation + * @param QRNSName - The QRNS name + * @param interfaceId - The signature of the function or the interfaceId as described in the QRNS documentation * @returns - `true` if the related Resolver does support the given signature or interfaceId. * @example * ```ts - * const supports = await web3.zond.zns.supportsInterface('zond.zns', 'addr(bytes32'); + * const supports = await web3.qrl.qrns.supportsInterface('qrl.qrns', 'addr(bytes32'); * console.log(supports); * > true * ``` */ - public async supportsInterface(ZNSName: string, interfaceId: string) { - return this._resolver.supportsInterface(ZNSName, interfaceId); + public async supportsInterface(QRNSName: string, interfaceId: string) { + return this._resolver.supportsInterface(QRNSName, interfaceId); } /** - * @returns - Returns all events that can be emitted by the ZNS registry. + * @returns - Returns all events that can be emitted by the QRNS registry. */ public get events() { return this._registry.events; diff --git a/packages/web3-zond-ens/src/registry.ts b/packages/web3-qrl-qrns/src/registry.ts similarity index 79% rename from packages/web3-zond-ens/src/registry.ts rename to packages/web3-qrl-qrns/src/registry.ts index ecfa77fc..9b7596ac 100644 --- a/packages/web3-zond-ens/src/registry.ts +++ b/packages/web3-qrl-qrns/src/registry.ts @@ -16,20 +16,20 @@ along with web3.js. If not, see . */ import { Web3ContextObject } from '@theqrl/web3-core'; -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; import { Address } from '@theqrl/web3-types'; -import { ZNSRegistryAbi } from './abi/zns/ZNSRegistry.js'; -import { PublicResolverAbi } from './abi/zns/PublicResolver.js'; +import { QRNSRegistryAbi } from './abi/qrns/QRNSRegistry.js'; +import { PublicResolverAbi } from './abi/qrns/PublicResolver.js'; import { registryAddresses } from './config.js'; import { namehash } from './utils.js'; export class Registry { - private readonly contract: Contract; + private readonly contract: Contract; private readonly context: Web3ContextObject; public constructor(context: Web3ContextObject, customRegistryAddress?: Address) { this.contract = new Contract( - ZNSRegistryAbi, + QRNSRegistryAbi, customRegistryAddress ?? registryAddresses.main, context, ); @@ -43,7 +43,7 @@ export class Registry { return result; } catch (error) { - throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-zond call method is implemented + throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-qrl call method is implemented } } @@ -51,7 +51,7 @@ export class Registry { try { return this.contract.methods.ttl(namehash(name)).call(); } catch (error) { - throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-zond call method is implemented + throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-qrl call method is implemented } } @@ -61,7 +61,7 @@ export class Registry { return promise; } catch (error) { - throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-zond call method is implemented + throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-qrl call method is implemented } } @@ -74,13 +74,13 @@ export class Registry { // address type is unknown, not sure why if (typeof address === 'string') { const contract = new Contract(PublicResolverAbi, address, this.context); - // TODO: set contract provider needs to be added when zns current provider + // TODO: set contract provider needs to be added when qrns current provider return contract; } throw new Error(); }); } catch (error) { - throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-zond call method is implemented + throw new Error(); // TODO: TransactionRevertInstructionError Needs to be added after web3-qrl call method is implemented } } diff --git a/packages/web3-zond-ens/src/resolver.ts b/packages/web3-qrl-qrns/src/resolver.ts similarity index 76% rename from packages/web3-zond-ens/src/resolver.ts rename to packages/web3-qrl-qrns/src/resolver.ts index 718109c1..499ad8ff 100644 --- a/packages/web3-zond-ens/src/resolver.ts +++ b/packages/web3-qrl-qrns/src/resolver.ts @@ -16,10 +16,10 @@ along with web3.js. If not, see . */ import { ResolverMethodMissingError } from '@theqrl/web3-errors'; -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; import { isNullish, sha3 } from '@theqrl/web3-utils'; import { isHexStrict } from '@theqrl/web3-validator'; -import { PublicResolverAbi } from './abi/zns/PublicResolver.js'; +import { PublicResolverAbi } from './abi/qrns/PublicResolver.js'; import { interfaceIds, methodsInInterface } from './config.js'; import { Registry } from './registry.js'; import { namehash } from './utils.js'; @@ -34,9 +34,9 @@ export class Resolver { this.registry = registry; } - private async getResolverContractAdapter(ZNSName: string) { - // TODO : (Future 4.1.0 TDB) cache resolver contract if frequently queried same ZNS name, refresh cache based on TTL and usage, also limit cache size, optional cache with a flag - return this.registry.getResolver(ZNSName); + private async getResolverContractAdapter(QRNSName: string) { + // TODO : (Future 4.1.0 TDB) cache resolver contract if frequently queried same QRNS name, refresh cache based on TTL and usage, also limit cache size, optional cache with a flag + return this.registry.getResolver(QRNSName); } // https://eips.ethereum.org/EIPS/eip-165 @@ -62,8 +62,8 @@ export class Resolver { ); } - public async supportsInterface(ZNSName: string, interfaceId: string) { - const resolverContract = await this.getResolverContractAdapter(ZNSName); + public async supportsInterface(QRNSName: string, interfaceId: string) { + const resolverContract = await this.getResolverContractAdapter(QRNSName); let interfaceIdParam = interfaceId; @@ -79,27 +79,27 @@ export class Resolver { } // eslint-disable-next-line @typescript-eslint/no-inferrable-types - public async getAddress(ZNSName: string, coinType: number = 60) { - const resolverContract = await this.getResolverContractAdapter(ZNSName); + public async getAddress(QRNSName: string, coinType: number = 60) { + const resolverContract = await this.getResolverContractAdapter(QRNSName); await this.checkInterfaceSupport(resolverContract, methodsInInterface.addr); - return resolverContract.methods.addr(namehash(ZNSName), coinType).call(); + return resolverContract.methods.addr(namehash(QRNSName), coinType).call(); } - public async getPubkey(ZNSName: string) { - const resolverContract = await this.getResolverContractAdapter(ZNSName); + public async getPubkey(QRNSName: string) { + const resolverContract = await this.getResolverContractAdapter(QRNSName); await this.checkInterfaceSupport(resolverContract, methodsInInterface.pubkey); - return resolverContract.methods.pubkey(namehash(ZNSName)).call(); + return resolverContract.methods.pubkey(namehash(QRNSName)).call(); } - public async getContenthash(ZNSName: string) { - const resolverContract = await this.getResolverContractAdapter(ZNSName); + public async getContenthash(QRNSName: string) { + const resolverContract = await this.getResolverContractAdapter(QRNSName); await this.checkInterfaceSupport(resolverContract, methodsInInterface.contenthash); - return resolverContract.methods.contenthash(namehash(ZNSName)).call(); + return resolverContract.methods.contenthash(namehash(QRNSName)).call(); } } diff --git a/packages/web3-zond-ens/src/utils.ts b/packages/web3-qrl-qrns/src/utils.ts similarity index 100% rename from packages/web3-zond-ens/src/utils.ts rename to packages/web3-qrl-qrns/src/utils.ts diff --git a/packages/web3-zond-iban/test/.eslintrc.js b/packages/web3-qrl-qrns/test/.eslintrc.js similarity index 100% rename from packages/web3-zond-iban/test/.eslintrc.js rename to packages/web3-qrl-qrns/test/.eslintrc.js diff --git a/packages/web3-zond-iban/test/config/jest.config.js b/packages/web3-qrl-qrns/test/config/jest.config.js similarity index 100% rename from packages/web3-zond-iban/test/config/jest.config.js rename to packages/web3-qrl-qrns/test/config/jest.config.js diff --git a/packages/web3-zond-iban/test/config/setup.js b/packages/web3-qrl-qrns/test/config/setup.js similarity index 100% rename from packages/web3-zond-iban/test/config/setup.js rename to packages/web3-qrl-qrns/test/config/setup.js diff --git a/packages/web3-zond-ens/test/fixtures/accounts.json b/packages/web3-qrl-qrns/test/fixtures/accounts.json similarity index 100% rename from packages/web3-zond-ens/test/fixtures/accounts.json rename to packages/web3-qrl-qrns/test/fixtures/accounts.json diff --git a/packages/web3-zond-ens/test/fixtures/zns/ZNSRegistry.json b/packages/web3-qrl-qrns/test/fixtures/qrns/QRNSRegistry.json similarity index 99% rename from packages/web3-zond-ens/test/fixtures/zns/ZNSRegistry.json rename to packages/web3-qrl-qrns/test/fixtures/qrns/QRNSRegistry.json index 0120c300..50d091b9 100644 --- a/packages/web3-zond-ens/test/fixtures/zns/ZNSRegistry.json +++ b/packages/web3-qrl-qrns/test/fixtures/qrns/QRNSRegistry.json @@ -1,7 +1,7 @@ { "_format": "hh-sol-artifact-1", - "contractName": "ZNSRegistry", - "sourceName": "contracts/registry/ZNSRegistry.sol", + "contractName": "QRNSRegistry", + "sourceName": "contracts/registry/QRNSRegistry.hyp", "abi": [ { "inputs": [], diff --git a/packages/web3-zond-ens/test/fixtures/zns/abi/NameWrapper.ts b/packages/web3-qrl-qrns/test/fixtures/qrns/abi/NameWrapper.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/zns/abi/NameWrapper.ts rename to packages/web3-qrl-qrns/test/fixtures/qrns/abi/NameWrapper.ts diff --git a/packages/web3-zond-ens/test/fixtures/zns/abi/PublicResolver.ts b/packages/web3-qrl-qrns/test/fixtures/qrns/abi/PublicResolver.ts similarity index 99% rename from packages/web3-zond-ens/test/fixtures/zns/abi/PublicResolver.ts rename to packages/web3-qrl-qrns/test/fixtures/qrns/abi/PublicResolver.ts index a4c76151..cc8370d0 100644 --- a/packages/web3-zond-ens/test/fixtures/zns/abi/PublicResolver.ts +++ b/packages/web3-qrl-qrns/test/fixtures/qrns/abi/PublicResolver.ts @@ -20,8 +20,8 @@ export const PublicResolverAbi = [ { inputs: [ { - internalType: 'contract ZNS', - name: '_zns', + internalType: 'contract QRNS', + name: '_qrns', type: 'address', }, { diff --git a/packages/web3-zond-ens/test/fixtures/zns/abi/ZNSRegistry.ts b/packages/web3-qrl-qrns/test/fixtures/qrns/abi/QRNSRegistry.ts similarity index 98% rename from packages/web3-zond-ens/test/fixtures/zns/abi/ZNSRegistry.ts rename to packages/web3-qrl-qrns/test/fixtures/qrns/abi/QRNSRegistry.ts index 11c959c3..4a451cec 100644 --- a/packages/web3-zond-ens/test/fixtures/zns/abi/ZNSRegistry.ts +++ b/packages/web3-qrl-qrns/test/fixtures/qrns/abi/QRNSRegistry.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/ZNSRegistry.sol -export const ZNSRegistryAbi = [ +// https://github.com/ensdomains/ens-contracts/blob/master/contracts/registry/QRNSRegistry.sol +export const QRNSRegistryAbi = [ { inputs: [], stateMutability: 'nonpayable', diff --git a/packages/web3-zond-ens/test/fixtures/zns/bytecode/NameWrapperBytecode.ts b/packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/NameWrapperBytecode.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/zns/bytecode/NameWrapperBytecode.ts rename to packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/NameWrapperBytecode.ts diff --git a/packages/web3-zond-ens/test/fixtures/zns/bytecode/PublicResolverBytecode.ts b/packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/PublicResolverBytecode.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/zns/bytecode/PublicResolverBytecode.ts rename to packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/PublicResolverBytecode.ts diff --git a/packages/web3-zond-ens/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts b/packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/QRNSRegistryBytecode.ts similarity index 99% rename from packages/web3-zond-ens/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts rename to packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/QRNSRegistryBytecode.ts index c16a97d2..50700011 100644 --- a/packages/web3-zond-ens/test/fixtures/zns/bytecode/ZNSRegistryBytecode.ts +++ b/packages/web3-qrl-qrns/test/fixtures/qrns/bytecode/QRNSRegistryBytecode.ts @@ -16,5 +16,5 @@ along with web3.js. If not, see . */ // https://github.com/ensdomains/ens-contracts/blob/master/contracts/resolvers/PublicResolver.sol -export const ZNSRegistryBytecode = +export const QRNSRegistryBytecode = '0x608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb580546001600160a01b0319163317905561192c806100596000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80635b0fc9c31161008c578063a22cb46511610066578063a22cb46514610247578063cf4088231461025a578063e985e9c51461026d578063f79fe538146102c657600080fd5b80635b0fc9c3146102015780635ef2c7f0146102145780639201de551461022757600080fd5b806314ab9038116100bd57806314ab90381461017b57806316a25cbd146101905780631896f70a146101ee57600080fd5b80630178b8bf146100e457806302571be31461014757806306ab59231461015a575b600080fd5b61011d6100f2366004611258565b60009081526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d610155366004611258565b6102fe565b61016d610168366004611295565b610339565b60405190815260200161013e565b61018e6101893660046112e2565b6105c3565b005b6101d561019e366004611258565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b60405167ffffffffffffffff909116815260200161013e565b61018e6101fc36600461130e565b610817565b61018e61020f36600461130e565b610a6a565b61018e610222366004611331565b610cb7565b61023a610235366004611258565b610cd9565b60405161013e91906113b4565b61018e6102553660046113e7565b610e58565b61018e610268366004611423565b610eef565b6102b661027b366004611470565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205460ff1690565b604051901515815260200161013e565b6102b66102d4366004611258565b60009081526020819052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b60008181526020819052604081205473ffffffffffffffffffffffffffffffffffffffff163081036103335750600092915050565b92915050565b600083815260208190526040812054849073ffffffffffffffffffffffffffffffffffffffff163381148061039e575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b6103a782610f0a565b6040516020016103b7919061149a565b60408051601f19818403018152908290526103d4916020016114df565b6040516020818303038152906040526103ec33610f0a565b6040516020016103fd929190611520565b60408051601f198184030181529082905261041a9160200161154f565b60408051601f19818403018152908290526104379160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5546104909073ffffffffffffffffffffffffffffffffffffffff16610f0a565b6040516020016104a1929190611520565b604051602081830303815290604052906104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b60405180910390fd5b50604080516020810188905290810186905260009060600160408051601f198184030181529181528151602092830120600081815292839052912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816179055905060405173ffffffffffffffffffffffffffffffffffffffff86168152869088907fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829060200160405180910390a39695505050505050565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633811480610628575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b61063182610f0a565b604051602001610641919061149a565b60408051601f198184030181529082905261065e916020016114df565b60405160208183030381529060405261067633610f0a565b604051602001610687929190611520565b60408051601f19818403018152908290526106a49160200161154f565b60408051601f19818403018152908290526106c19160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461071a9073ffffffffffffffffffffffffffffffffffffffff16610f0a565b60405160200161072b929190611520565b60405160208183030381529060405290610772576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b5060405167ffffffffffffffff8416815284907f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa689060200160405180910390a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff163381148061087c575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b61088582610f0a565b604051602001610895919061149a565b60408051601f19818403018152908290526108b2916020016114df565b6040516020818303038152906040526108ca33610f0a565b6040516020016108db929190611520565b60408051601f19818403018152908290526108f89160200161154f565b60408051601f19818403018152908290526109159160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461096e9073ffffffffffffffffffffffffffffffffffffffff16610f0a565b60405160200161097f929190611520565b604051602081830303815290604052906109c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b5060405173ffffffffffffffffffffffffffffffffffffffff8416815284907f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a09060200160405180910390a2505060009182526020829052604090912060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600082815260208190526040902054829073ffffffffffffffffffffffffffffffffffffffff1633811480610acf575073ffffffffffffffffffffffffffffffffffffffff8116600090815260016020908152604080832033845290915290205460ff165b610ad882610f0a565b604051602001610ae8919061149a565b60408051601f1981840301815290829052610b05916020016114df565b604051602081830303815290604052610b1d33610f0a565b604051602001610b2e929190611520565b60408051601f1981840301815290829052610b4b9160200161154f565b60408051601f1981840301815290829052610b689160200161156b565b60408051601f1981840301815291905260008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb554610bc19073ffffffffffffffffffffffffffffffffffffffff16610f0a565b604051602001610bd2929190611520565b60405160208183030381529060405290610c19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e891906113b4565b50600084815260208190526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851617905560405173ffffffffffffffffffffffffffffffffffffffff8416815284907fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d2669060200160405180910390a250505050565b6000610cc4868686610339565b9050610cd181848461108e565b505050505050565b606060005b60208160ff16108015610d2a5750828160ff1660208110610d0157610d016115ac565b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b15610d415780610d398161160a565b915050610cde565b60008160ff1667ffffffffffffffff811115610d5f57610d5f611629565b6040519080825280601f01601f191660200182016040528015610d89576020820181803683370190505b509050600091505b60208260ff16108015610ddd5750838260ff1660208110610db457610db46115ac565b1a60f81b7fff000000000000000000000000000000000000000000000000000000000000001615155b15610e5157838260ff1660208110610df757610df76115ac565b1a60f81b818360ff1681518110610e1057610e106115ac565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535081610e498161160a565b925050610d91565b9392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ef98484610a6a565b610f0484838361108e565b50505050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b6014811015611087576000610f47826013611658565b610f5290600861166f565b610f5d9060026117cc565b610f7d9073ffffffffffffffffffffffffffffffffffffffff8716611807565b60f81b9050600060108260f81c610f94919061181b565b60f81b905060008160f81c6010610fab919061183d565b8360f81c610fb9919061185e565b60f81b9050610fc78261121d565b85610fd386600261166f565b81518110610fe357610fe36115ac565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061101b8161121d565b8561102786600261166f565b611032906001611881565b81518110611042576110426115ac565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050808061107f90611899565b915050610f31565b5092915050565b60008381526020819052604090206001015473ffffffffffffffffffffffffffffffffffffffff838116911614611146576000838152602081815260409182902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155915191825284917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0910160405180910390a25b60008381526020819052604090206001015467ffffffffffffffff828116740100000000000000000000000000000000000000009092041614611218576000838152602081815260409182902060010180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff861690810291909117909155915191825284917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68910160405180910390a25b505050565b6000600a60f883901c10156112445761123b60f883901c60306118d1565b60f81b92915050565b61123b60f883901c60576118d1565b919050565b60006020828403121561126a57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461125357600080fd5b6000806000606084860312156112aa57600080fd5b83359250602084013591506112c160408501611271565b90509250925092565b803567ffffffffffffffff8116811461125357600080fd5b600080604083850312156112f557600080fd5b82359150611305602084016112ca565b90509250929050565b6000806040838503121561132157600080fd5b8235915061130560208401611271565b600080600080600060a0868803121561134957600080fd5b853594506020860135935061136060408701611271565b925061136e60608701611271565b915061137c608087016112ca565b90509295509295909350565b60005b838110156113a357818101518382015260200161138b565b83811115610f045750506000910152565b60208152600082518060208401526113d3816040850160208701611388565b601f01601f19169190910160400192915050565b600080604083850312156113fa57600080fd5b61140383611271565b91506020830135801515811461141857600080fd5b809150509250929050565b6000806000806080858703121561143957600080fd5b8435935061144960208601611271565b925061145760408601611271565b9150611465606086016112ca565b905092959194509250565b6000806040838503121561148357600080fd5b61148c83611271565b915061130560208401611271565b7f596f7520617265206e6f7420746865206f776e657220000000000000000000008152600082516114d2816016850160208701611388565b9190910160160192915050565b600082516114f1818460208701611388565b7f206d736773656e6465723a000000000000000000000000000000000000000000920191825250600b01919050565b60008351611532818460208801611388565b835190830190611546818360208801611388565b01949350505050565b60008251611561818460208701611388565b9190910192915050565b6000825161157d818460208701611388565b7f206e6f64653a2000000000000000000000000000000000000000000000000000920191825250600701919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060ff821660ff8103611620576116206115db565b60010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008282101561166a5761166a6115db565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156116a7576116a76115db565b500290565b600181815b8085111561170557817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156116eb576116eb6115db565b808516156116f857918102915b93841c93908002906116b1565b509250929050565b60008261171c57506001610333565b8161172957506000610333565b816001811461173f576002811461174957611765565b6001915050610333565b60ff84111561175a5761175a6115db565b50506001821b610333565b5060208310610133831016604e8410600b8410161715611788575081810a610333565b61179283836116ac565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156117c4576117c46115db565b029392505050565b6000610e51838361170d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611816576118166117d8565b500490565b600060ff83168061182e5761182e6117d8565b8060ff84160491505092915050565b600060ff821660ff84168160ff04811182151516156117c4576117c46115db565b600060ff821660ff841680821015611878576118786115db565b90039392505050565b60008219821115611894576118946115db565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118ca576118ca6115db565b5060010190565b600060ff821660ff84168060ff038211156118ee576118ee6115db565b01939250505056fea2646970667358221220504e59c82907e2f23b970e6f59e61282809e57a5d52d051976f95421d183cfc764736f6c634300080d0033'; diff --git a/packages/web3-qrl-qrns/test/fixtures/qrns/reverse_registrar.json b/packages/web3-qrl-qrns/test/fixtures/qrns/reverse_registrar.json new file mode 100644 index 00000000..b6b3d116 --- /dev/null +++ b/packages/web3-qrl-qrns/test/fixtures/qrns/reverse_registrar.json @@ -0,0 +1,5 @@ +{ + "status": "1", + "message": "OK-Missing/Invalid API Key, rate limit of 1/5sec applied", + "result": "[{\"inputs\":[{\"internalType\":\"contract QRNS\",\"name\":\"qrnsAddr\",\"type\":\"address\"},{\"internalType\":\"contract Resolver\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"ADDR_REVERSE_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"claimWithResolver\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"defaultResolver\",\"outputs\":[{\"internalType\":\"contract Resolver\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"qrns\",\"outputs\":[{\"internalType\":\"contract QRNS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"node\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" +} diff --git a/packages/web3-zond-ens/test/fixtures/system_tests_utils.ts b/packages/web3-qrl-qrns/test/fixtures/system_tests_utils.ts similarity index 100% rename from packages/web3-zond-ens/test/fixtures/system_tests_utils.ts rename to packages/web3-qrl-qrns/test/fixtures/system_tests_utils.ts diff --git a/packages/web3-zond-ens/test/fixtures/utils.ts b/packages/web3-qrl-qrns/test/fixtures/utils.ts similarity index 73% rename from packages/web3-zond-ens/test/fixtures/utils.ts rename to packages/web3-qrl-qrns/test/fixtures/utils.ts index bdb1d262..3c4443b3 100644 --- a/packages/web3-zond-ens/test/fixtures/utils.ts +++ b/packages/web3-qrl-qrns/test/fixtures/utils.ts @@ -17,15 +17,15 @@ along with web3.js. If not, see . export const namehashValidData: [string, string][] = [ ['', '0x0000000000000000000000000000000000000000000000000000000000000000'], - ['znd', '0x5ca200831516f7386952dbee215dfe7e4920ece6d31d89501d03e9239082ae7a'], - ['foo.znd', '0xa5bb084f89105bd16dff5eef797279b0c91d93529934875c65e3f2948b8b5be9'], - ['FOO.znd', '0xa5bb084f89105bd16dff5eef797279b0c91d93529934875c65e3f2948b8b5be9'], + ['qrl', '0x2e567ec4acbf65494d1ba700c19be055d50a2c97fe0ab1bc3e1180be43b3656a'], + ['foo.qrl', '0x53eee0632697b8eca7afe53ea586de69711eee0c93db01d74119828543ee99fe'], + ['FOO.qrl', '0x53eee0632697b8eca7afe53ea586de69711eee0c93db01d74119828543ee99fe'], ]; export const normalizeValidData: [string, string][] = [ ['Öbb.at', 'öbb.at'], ['Ⓜ', 'm'], - ['foo.znd', 'foo.znd'], - ['Foo.znd', 'foo.znd'], - ['🦚.znd', '🦚.znd'], + ['foo.qrl', 'foo.qrl'], + ['Foo.qrl', 'foo.qrl'], + ['🦚.qrl', '🦚.qrl'], ]; diff --git a/packages/web3-zond-iban/test/integration/jest.config.js b/packages/web3-qrl-qrns/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond-iban/test/integration/jest.config.js rename to packages/web3-qrl-qrns/test/integration/jest.config.js diff --git a/packages/web3-zond-ens/test/integration/zns.events.test.ts b/packages/web3-qrl-qrns/test/integration/qrns.events.test.ts similarity index 72% rename from packages/web3-zond-ens/test/integration/zns.events.test.ts rename to packages/web3-qrl-qrns/test/integration/qrns.events.test.ts index 23718be4..3ae599fe 100644 --- a/packages/web3-zond-ens/test/integration/zns.events.test.ts +++ b/packages/web3-qrl-qrns/test/integration/qrns.events.test.ts @@ -16,14 +16,14 @@ along with web3.js. If not, see . */ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { Contract, PayableTxOptions } from '@theqrl/web3-zond-contract'; +import { Contract, PayableTxOptions } from '@theqrl/web3-qrl-contract'; import { sha3 } from '@theqrl/web3-utils'; -import { getBlock } from '@theqrl/web3-zond'; +import { getBlock } from '@theqrl/web3-qrl'; import { Address, Bytes, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { ZNS } from '../../src'; +import { QRNS } from '../../src'; import { namehash } from '../../src/utils'; import { @@ -37,23 +37,23 @@ import { getSystemTestProviderUrl, } from '../fixtures/system_tests_utils'; -import { ZNSRegistryAbi } from '../fixtures/zns/abi/ZNSRegistry'; -import { ZNSRegistryBytecode } from '../fixtures/zns/bytecode/ZNSRegistryBytecode'; -import { NameWrapperAbi } from '../fixtures/zns/abi/NameWrapper'; -import { NameWrapperBytecode } from '../fixtures/zns/bytecode/NameWrapperBytecode'; -import { PublicResolverAbi } from '../fixtures/zns/abi/PublicResolver'; -import { PublicResolverBytecode } from '../fixtures/zns/bytecode/PublicResolverBytecode'; +import { QRNSRegistryAbi } from '../fixtures/qrns/abi/QRNSRegistry'; +import { QRNSRegistryBytecode } from '../fixtures/qrns/bytecode/QRNSRegistryBytecode'; +import { NameWrapperAbi } from '../fixtures/qrns/abi/NameWrapper'; +import { NameWrapperBytecode } from '../fixtures/qrns/bytecode/NameWrapperBytecode'; +import { PublicResolverAbi } from '../fixtures/qrns/abi/PublicResolver'; +import { PublicResolverBytecode } from '../fixtures/qrns/bytecode/PublicResolverBytecode'; -describeIf(isSocket)('zns events', () => { - let registry: Contract; +describeIf(isSocket)('qrns events', () => { + let registry: Contract; let resolver: Contract; let nameWrapper: Contract; type ResolverContract = Contract; let Resolver: ResolverContract; - let setZnsResolver: ResolverContract; - let getZnsResolver: ResolverContract; + let setQrnsResolver: ResolverContract; + let getQrnsResolver: ResolverContract; let sendOptions: PayableTxOptions; @@ -63,12 +63,12 @@ describeIf(isSocket)('zns events', () => { const label = sha3('resolver') as string; let accounts: string[]; - let zns: ZNS; + let qrns: QRNS; let defaultAccount: string; let accountOne: string; const ZERO_NODE: Bytes = '0x0000000000000000000000000000000000000000000000000000000000000000'; - const addressOne: Address = 'Z0000000000000000000000000000000000000001'; + const addressOne: Address = 'Q0000000000000000000000000000000000000001'; beforeAll(async () => { accounts = await getSystemTestAccounts(); @@ -77,7 +77,7 @@ describeIf(isSocket)('zns events', () => { sendOptions = { from: defaultAccount, gas: '10000000' }; - const Registry = new Contract(ZNSRegistryAbi, undefined, { + const Registry = new Contract(QRNSRegistryAbi, undefined, { provider: getSystemTestProvider(), }); @@ -89,7 +89,7 @@ describeIf(isSocket)('zns events', () => { provider: getSystemTestProvider(), }); - registry = await Registry.deploy({ data: ZNSRegistryBytecode }).send(sendOptions); + registry = await Registry.deploy({ data: QRNSRegistryBytecode }).send(sendOptions); nameWrapper = await NameWrapper.deploy({ data: NameWrapperBytecode }).send(sendOptions); @@ -116,12 +116,12 @@ describeIf(isSocket)('zns events', () => { const clientUrl = getSystemTestProviderUrl(); let provider; if (isIpc) provider = new IpcProvider(clientUrl); - else if (isWs) provider = new ZNS.providers.WebsocketProvider(clientUrl); - else provider = new ZNS.providers.HttpProvider(clientUrl); + else if (isWs) provider = new QRNS.providers.WebsocketProvider(clientUrl); + else provider = new QRNS.providers.HttpProvider(clientUrl); - zns = new ZNS(registry.options.address, provider); + qrns = new QRNS(registry.options.address, provider); - const block = await getBlock(zns, 'latest', false, DEFAULT_RETURN_FORMAT); + const block = await getBlock(qrns, 'latest', false, DEFAULT_RETURN_FORMAT); const gas = block.gasLimit.toString(); // Increase gas for contract calls @@ -132,11 +132,11 @@ describeIf(isSocket)('zns events', () => { }); afterAll(async () => { - await closeOpenConnection(zns); + await closeOpenConnection(qrns); // @ts-expect-error @typescript-eslint/ban-ts-comment - await closeOpenConnection(zns?._registry?.contract); - await closeOpenConnection(getZnsResolver); - await closeOpenConnection(setZnsResolver); + await closeOpenConnection(qrns?._registry?.contract); + await closeOpenConnection(getQrnsResolver); + await closeOpenConnection(setQrnsResolver); await closeOpenConnection(registry); await closeOpenConnection(resolver); await closeOpenConnection(nameWrapper); @@ -153,7 +153,7 @@ describeIf(isSocket)('zns events', () => { it('NewResolver event', async () => { // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor await new Promise(async resolve => { - const event = zns.events.NewResolver(); + const event = qrns.events.NewResolver(); // eslint-disable-next-line @typescript-eslint/no-unsafe-call event.on('data', () => { diff --git a/packages/web3-zond-ens/test/integration/zns.test.ts b/packages/web3-qrl-qrns/test/integration/qrns.test.ts similarity index 71% rename from packages/web3-zond-ens/test/integration/zns.test.ts rename to packages/web3-qrl-qrns/test/integration/qrns.test.ts index 0a31de09..1d44b5c1 100644 --- a/packages/web3-zond-ens/test/integration/zns.test.ts +++ b/packages/web3-qrl-qrns/test/integration/qrns.test.ts @@ -16,13 +16,13 @@ along with web3.js. If not, see . */ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { getBlock } from '@theqrl/web3-zond'; -import { Contract, PayableTxOptions } from '@theqrl/web3-zond-contract'; +import { getBlock } from '@theqrl/web3-qrl'; +import { Contract, PayableTxOptions } from '@theqrl/web3-qrl-contract'; import { Address, Bytes, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { sha3, toChecksumAddress } from '@theqrl/web3-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { ZNS } from '../../src'; +import { QRNS } from '../../src'; import { namehash } from '../../src/utils'; import { @@ -35,23 +35,23 @@ import { isWs, } from '../fixtures/system_tests_utils'; -import { PublicResolverAbi as PublicResolver } from '../../src/abi/zns/PublicResolver'; -import { ZNSRegistryAbi } from '../fixtures/zns/abi/ZNSRegistry'; -import { NameWrapperAbi } from '../fixtures/zns/abi/NameWrapper'; -import { PublicResolverAbi } from '../fixtures/zns/abi/PublicResolver'; -import { ZNSRegistryBytecode } from '../fixtures/zns/bytecode/ZNSRegistryBytecode'; -import { NameWrapperBytecode } from '../fixtures/zns/bytecode/NameWrapperBytecode'; -import { PublicResolverBytecode } from '../fixtures/zns/bytecode/PublicResolverBytecode'; +import { PublicResolverAbi as PublicResolver } from '../../src/abi/qrns/PublicResolver'; +import { QRNSRegistryAbi } from '../fixtures/qrns/abi/QRNSRegistry'; +import { NameWrapperAbi } from '../fixtures/qrns/abi/NameWrapper'; +import { PublicResolverAbi } from '../fixtures/qrns/abi/PublicResolver'; +import { QRNSRegistryBytecode } from '../fixtures/qrns/bytecode/QRNSRegistryBytecode'; +import { NameWrapperBytecode } from '../fixtures/qrns/bytecode/NameWrapperBytecode'; +import { PublicResolverBytecode } from '../fixtures/qrns/bytecode/PublicResolverBytecode'; -describe('zns', () => { - let registry: Contract; +describe('qrns', () => { + let registry: Contract; let resolver: Contract; let nameWrapper: Contract; type ResolverContract = Contract; let Resolver: ResolverContract; - let getZnsResolver: Contract; + let getQrnsResolver: Contract; let sendOptions: PayableTxOptions; @@ -64,12 +64,12 @@ describe('zns', () => { const web3jsName = 'web3js.test'; let accounts: string[]; - let zns: ZNS; + let qrns: QRNS; let defaultAccount: string; let accountOne: string; const ZERO_NODE: Bytes = '0x0000000000000000000000000000000000000000000000000000000000000000'; - const addressOne: Address = 'Z0000000000000000000000000000000000000001'; + const addressOne: Address = 'Q0000000000000000000000000000000000000001'; beforeAll(async () => { accounts = await getSystemTestAccounts(); @@ -78,7 +78,7 @@ describe('zns', () => { sendOptions = { from: defaultAccount, gas: '10000000' }; - const Registry = new Contract(ZNSRegistryAbi, undefined, { + const Registry = new Contract(QRNSRegistryAbi, undefined, { provider: getSystemTestProvider(), }); @@ -90,7 +90,7 @@ describe('zns', () => { provider: getSystemTestProvider(), }); - registry = await Registry.deploy({ data: ZNSRegistryBytecode }).send(sendOptions); + registry = await Registry.deploy({ data: QRNSRegistryBytecode }).send(sendOptions); nameWrapper = await NameWrapper.deploy({ data: NameWrapperBytecode }).send(sendOptions); @@ -117,12 +117,12 @@ describe('zns', () => { const clientUrl = getSystemTestProviderUrl(); let provider; if (isIpc) provider = new IpcProvider(clientUrl); - else if (isWs) provider = new ZNS.providers.WebsocketProvider(clientUrl); - else provider = new ZNS.providers.HttpProvider(clientUrl); + else if (isWs) provider = new QRNS.providers.WebsocketProvider(clientUrl); + else provider = new QRNS.providers.HttpProvider(clientUrl); - zns = new ZNS(registry.options.address, provider); + qrns = new QRNS(registry.options.address, provider); - const block = await getBlock(zns, 'latest', false, DEFAULT_RETURN_FORMAT); + const block = await getBlock(qrns, 'latest', false, DEFAULT_RETURN_FORMAT); const gas = block.gasLimit.toString(); // Increase gas for contract calls @@ -134,10 +134,10 @@ describe('zns', () => { afterAll(async () => { if (isSocket) { - await closeOpenConnection(zns); + await closeOpenConnection(qrns); // @ts-expect-error @typescript-eslint/ban-ts-comment - await closeOpenConnection(zns?._registry?.contract); - await closeOpenConnection(getZnsResolver); + await closeOpenConnection(qrns?._registry?.contract); + await closeOpenConnection(getQrnsResolver); await closeOpenConnection(registry); await closeOpenConnection(resolver); await closeOpenConnection(nameWrapper); @@ -152,25 +152,25 @@ describe('zns', () => { }); it('should return the subnode owner of "resolver"', async () => { - const owner = await zns.getOwner('resolver'); + const owner = await qrns.getOwner('resolver'); expect(owner).toEqual(toChecksumAddress(defaultAccount)); }); it('should return the registered resolver for the subnode "resolver"', async () => { - getZnsResolver = await zns.getResolver('resolver'); + getQrnsResolver = await qrns.getResolver('resolver'); - expect(getZnsResolver.options.address).toEqual(resolver.options.address); + expect(getQrnsResolver.options.address).toEqual(resolver.options.address); }); it('should get the owner record for a name', async () => { - const web3jsOwner = await zns.getOwner(web3jsName); + const web3jsOwner = await qrns.getOwner(web3jsName); expect(web3jsOwner).toEqual(toChecksumAddress(defaultAccount)); }); it('should get TTL', async () => { - const TTL = await zns.getTTL(web3jsName); + const TTL = await qrns.getTTL(web3jsName); expect(TTL).toBe(BigInt(0)); }); @@ -180,7 +180,7 @@ describe('zns', () => { .setSubnodeOwner(namehash(domain), sha3(subdomain) as string, defaultAccount) .send(sendOptions); - const exists = await zns.recordExists(fullDomain); + const exists = await qrns.recordExists(fullDomain); expect(exists).toBeTruthy(); }); diff --git a/packages/web3-zond-ens/test/integration/resolver.test.ts b/packages/web3-qrl-qrns/test/integration/resolver.test.ts similarity index 68% rename from packages/web3-zond-ens/test/integration/resolver.test.ts rename to packages/web3-qrl-qrns/test/integration/resolver.test.ts index 9f77b52e..d21dea10 100644 --- a/packages/web3-zond-ens/test/integration/resolver.test.ts +++ b/packages/web3-qrl-qrns/test/integration/resolver.test.ts @@ -16,14 +16,14 @@ along with web3.js. If not, see . */ /* eslint-disable @typescript-eslint/no-unused-vars */ -import Web3Zond from '@theqrl/web3-zond'; -import { Contract, PayableTxOptions } from '@theqrl/web3-zond-contract'; +import Web3QRL from '@theqrl/web3-qrl'; +import { Contract, PayableTxOptions } from '@theqrl/web3-qrl-contract'; import { hexToAddress, sha3 } from '@theqrl/web3-utils'; import { Address, Bytes, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { ZNS } from '../../src'; +import { QRNS } from '../../src'; import { namehash } from '../../src/utils'; import { @@ -37,15 +37,15 @@ import { itIf, } from '../fixtures/system_tests_utils'; -import { ZNSRegistryAbi } from '../fixtures/zns/abi/ZNSRegistry'; -import { PublicResolverAbi } from '../fixtures/zns/abi/PublicResolver'; -import { NameWrapperAbi } from '../fixtures/zns/abi/NameWrapper'; -import { ZNSRegistryBytecode } from '../fixtures/zns/bytecode/ZNSRegistryBytecode'; -import { NameWrapperBytecode } from '../fixtures/zns/bytecode/NameWrapperBytecode'; -import { PublicResolverBytecode } from '../fixtures/zns/bytecode/PublicResolverBytecode'; +import { QRNSRegistryAbi } from '../fixtures/qrns/abi/QRNSRegistry'; +import { PublicResolverAbi } from '../fixtures/qrns/abi/PublicResolver'; +import { NameWrapperAbi } from '../fixtures/qrns/abi/NameWrapper'; +import { QRNSRegistryBytecode } from '../fixtures/qrns/bytecode/QRNSRegistryBytecode'; +import { NameWrapperBytecode } from '../fixtures/qrns/bytecode/NameWrapperBytecode'; +import { PublicResolverBytecode } from '../fixtures/qrns/bytecode/PublicResolverBytecode'; -describe('zns', () => { - let registry: Contract; +describe('qrns', () => { + let registry: Contract; let resolver: Contract; let nameWrapper: Contract; @@ -58,15 +58,15 @@ describe('zns', () => { const node = namehash('resolver'); const label = sha3('resolver') as string; - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let accounts: string[]; - let zns: ZNS; + let qrns: QRNS; let defaultAccount: string; let accountOne: string; const ZERO_NODE: Bytes = '0x0000000000000000000000000000000000000000000000000000000000000000'; - const addressOne: Address = 'Z0000000000000000000000000000000000000001'; + const addressOne: Address = 'Q0000000000000000000000000000000000000001'; const contentHash = '0x0000000000000000000000000000000000000000000000000000000000000001'; @@ -79,7 +79,7 @@ describe('zns', () => { sendOptions = { from: defaultAccount, gas: '10000000' }; - const Registry = new Contract(ZNSRegistryAbi, undefined, { + const Registry = new Contract(QRNSRegistryAbi, undefined, { provider: getSystemTestProvider(), }); @@ -91,7 +91,7 @@ describe('zns', () => { provider: getSystemTestProvider(), }); - registry = await Registry.deploy({ data: ZNSRegistryBytecode }).send(sendOptions); + registry = await Registry.deploy({ data: QRNSRegistryBytecode }).send(sendOptions); nameWrapper = await NameWrapper.deploy({ data: NameWrapperBytecode }).send(sendOptions); @@ -118,13 +118,13 @@ describe('zns', () => { const clientUrl = getSystemTestProviderUrl(); let provider; if (isIpc) provider = new IpcProvider(clientUrl); - else if (isWs) provider = new ZNS.providers.WebsocketProvider(clientUrl); - else provider = new ZNS.providers.HttpProvider(clientUrl); + else if (isWs) provider = new QRNS.providers.WebsocketProvider(clientUrl); + else provider = new QRNS.providers.HttpProvider(clientUrl); - zns = new ZNS(registry.options.address, provider); + qrns = new QRNS(registry.options.address, provider); - web3Zond = new Web3Zond(provider); - const block = await web3Zond.getBlock('latest', false, DEFAULT_RETURN_FORMAT); + web3QRL = new Web3QRL(provider); + const block = await web3QRL.getBlock('latest', false, DEFAULT_RETURN_FORMAT); const gas = block.gasLimit.toString(); // Increase gas for contract calls @@ -136,9 +136,9 @@ describe('zns', () => { afterAll(async () => { if (isSocket) { - await closeOpenConnection(zns); + await closeOpenConnection(qrns); // @ts-expect-error @typescript-eslint/ban-ts-comment - await closeOpenConnection(zns?._registry?.contract); + await closeOpenConnection(qrns?._registry?.contract); await closeOpenConnection(registry); await closeOpenConnection(resolver); await closeOpenConnection(nameWrapper); @@ -152,20 +152,20 @@ describe('zns', () => { }); it('supports known interfaces', async () => { - await expect(zns.supportsInterface('resolver', '0x3b3b57de')).resolves.toBeTruthy(); // IAddrResolver - await expect(zns.supportsInterface('resolver', '0xf1cb7e06')).resolves.toBeTruthy(); // IAddressResolver - await expect(zns.supportsInterface('resolver', '0x691f3431')).resolves.toBeTruthy(); // INameResolver - await expect(zns.supportsInterface('resolver', '0x2203ab56')).resolves.toBeTruthy(); // IABIResolver - await expect(zns.supportsInterface('resolver', '0xc8690233')).resolves.toBeTruthy(); // IPubkeyResolver - await expect(zns.supportsInterface('resolver', '0x59d1d43c')).resolves.toBeTruthy(); // ITextResolver - await expect(zns.supportsInterface('resolver', '0xbc1c58d1')).resolves.toBeTruthy(); // IContentHashResolver - await expect(zns.supportsInterface('resolver', '0xa8fa5682')).resolves.toBeTruthy(); // IDNSRecordResolver - await expect(zns.supportsInterface('resolver', '0x5c98042b')).resolves.toBeTruthy(); // IDNSZoneResolver - await expect(zns.supportsInterface('resolver', '0x01ffc9a7')).resolves.toBeTruthy(); // IInterfaceResolver + await expect(qrns.supportsInterface('resolver', '0x3b3b57de')).resolves.toBeTruthy(); // IAddrResolver + await expect(qrns.supportsInterface('resolver', '0xf1cb7e06')).resolves.toBeTruthy(); // IAddressResolver + await expect(qrns.supportsInterface('resolver', '0x691f3431')).resolves.toBeTruthy(); // INameResolver + await expect(qrns.supportsInterface('resolver', '0x2203ab56')).resolves.toBeTruthy(); // IABIResolver + await expect(qrns.supportsInterface('resolver', '0xc8690233')).resolves.toBeTruthy(); // IPubkeyResolver + await expect(qrns.supportsInterface('resolver', '0x59d1d43c')).resolves.toBeTruthy(); // ITextResolver + await expect(qrns.supportsInterface('resolver', '0xbc1c58d1')).resolves.toBeTruthy(); // IContentHashResolver + await expect(qrns.supportsInterface('resolver', '0xa8fa5682')).resolves.toBeTruthy(); // IDNSRecordResolver + await expect(qrns.supportsInterface('resolver', '0x5c98042b')).resolves.toBeTruthy(); // IDNSZoneResolver + await expect(qrns.supportsInterface('resolver', '0x01ffc9a7')).resolves.toBeTruthy(); // IInterfaceResolver }); it('does not support a random interface', async () => { - await expect(zns.supportsInterface('resolver', '0x3b3b57df')).resolves.toBeFalsy(); + await expect(qrns.supportsInterface('resolver', '0x3b3b57df')).resolves.toBeFalsy(); }); it('fetch pubkey', async () => { @@ -173,7 +173,7 @@ describe('zns', () => { .setResolver(domainNode, resolver.options.address as string) .send(sendOptions); - const res = await zns.getPubkey(domain); + const res = await qrns.getPubkey(domain); expect(res.x).toBe('0x0000000000000000000000000000000000000000000000000000000000000000'); expect(res.y).toBe('0x0000000000000000000000000000000000000000000000000000000000000000'); }); @@ -184,7 +184,7 @@ describe('zns', () => { await resolver.methods.setPubkey(domainNode, x, y).send(sendOptions); - const result = await zns.getPubkey(domain); + const result = await qrns.getPubkey(domain); expect(result[0]).toBe(x); expect(result[1]).toBe(y); @@ -201,7 +201,7 @@ describe('zns', () => { itIf(isSocket)('ContenthashChanged event', async () => { // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor await new Promise(async resolve => { - const resolver2 = await zns.getResolver('resolver'); + const resolver2 = await qrns.getResolver('resolver'); const event = resolver2.events.ContenthashChanged(); event.on('data', () => { @@ -214,7 +214,7 @@ describe('zns', () => { it('fetches contenthash', async () => { await resolver.methods.setContenthash(domainNode, contentHash).call(sendOptions); - const res = await zns.getContenthash(domain); + const res = await qrns.getContenthash(domain); expect(res).toBe(contentHash); }); @@ -238,9 +238,9 @@ describe('zns', () => { await resolver.methods.setAddr(domainNode, accountOne).send(sendOptions); - // NOTE(rgeraldes24): zns.getAddress(domain) return type is 'bytes'; + // NOTE(rgeraldes24): qrns.getAddress(domain) return type is 'bytes'; // value is not converted automatically to the 'address' type via ABI - const resultAddress = await zns.getAddress(domain); + const resultAddress = await qrns.getAddress(domain); expect(hexToAddress(resultAddress.toString())).toBe(accountOne); }); }); diff --git a/packages/web3-zond-ens/test/integration/setup.js b/packages/web3-qrl-qrns/test/integration/setup.js similarity index 100% rename from packages/web3-zond-ens/test/integration/setup.js rename to packages/web3-qrl-qrns/test/integration/setup.js diff --git a/packages/web3-zond-ens/test/tsconfig.json b/packages/web3-qrl-qrns/test/tsconfig.json similarity index 100% rename from packages/web3-zond-ens/test/tsconfig.json rename to packages/web3-qrl-qrns/test/tsconfig.json diff --git a/packages/web3-zond-ens/test/unit/constructor.test.ts b/packages/web3-qrl-qrns/test/unit/constructor.test.ts similarity index 74% rename from packages/web3-zond-ens/test/unit/constructor.test.ts rename to packages/web3-qrl-qrns/test/unit/constructor.test.ts index 9ce4ae27..4d8a3f5c 100644 --- a/packages/web3-zond-ens/test/unit/constructor.test.ts +++ b/packages/web3-qrl-qrns/test/unit/constructor.test.ts @@ -18,10 +18,10 @@ along with web3.js. If not, see . import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; import { Registry } from '../../src/registry'; import { Resolver } from '../../src/resolver'; -import { ZNS } from '../../src/zns'; +import { QRNS } from '../../src/qrns'; import { registryAddresses } from '../../src/config'; -describe('zns', () => { +describe('qrns', () => { let object: Web3ContextObject; beforeAll(() => { @@ -48,17 +48,17 @@ describe('zns', () => { expect(resolver.getContenthash).toBeDefined(); }); - it('should construct main zns class with expected methods', () => { - const zns = new ZNS(registryAddresses.main, 'http://127.0.0.1:8545'); + it('should construct main qrns class with expected methods', () => { + const qrns = new QRNS(registryAddresses.main, 'http://127.0.0.1:8545'); - expect(zns.getResolver).toBeDefined(); - expect(zns.recordExists).toBeDefined(); - expect(zns.getTTL).toBeDefined(); - expect(zns.getOwner).toBeDefined(); - expect(zns.getAddress).toBeDefined(); - expect(zns.getPubkey).toBeDefined(); - expect(zns.getContenthash).toBeDefined(); - expect(zns.checkNetwork).toBeDefined(); - expect(zns.supportsInterface).toBeDefined(); + expect(qrns.getResolver).toBeDefined(); + expect(qrns.recordExists).toBeDefined(); + expect(qrns.getTTL).toBeDefined(); + expect(qrns.getOwner).toBeDefined(); + expect(qrns.getAddress).toBeDefined(); + expect(qrns.getPubkey).toBeDefined(); + expect(qrns.getContenthash).toBeDefined(); + expect(qrns.checkNetwork).toBeDefined(); + expect(qrns.supportsInterface).toBeDefined(); }); }); diff --git a/packages/web3-zond-ens/test/unit/index.test.ts b/packages/web3-qrl-qrns/test/unit/index.test.ts similarity index 92% rename from packages/web3-zond-ens/test/unit/index.test.ts rename to packages/web3-qrl-qrns/test/unit/index.test.ts index d49ffa08..6efc518e 100644 --- a/packages/web3-zond-ens/test/unit/index.test.ts +++ b/packages/web3-qrl-qrns/test/unit/index.test.ts @@ -14,12 +14,12 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import * as zns from '../../src'; +import * as qrns from '../../src'; import { registryAddresses } from '../../src'; describe('main package', () => { it('should import', () => { expect(registryAddresses).toBeDefined(); - expect(zns.ZNS).toBeDefined(); + expect(qrns.QRNS).toBeDefined(); }); }); diff --git a/packages/web3-zond-iban/test/unit/jest.config.js b/packages/web3-qrl-qrns/test/unit/jest.config.js similarity index 86% rename from packages/web3-zond-iban/test/unit/jest.config.js rename to packages/web3-qrl-qrns/test/unit/jest.config.js index cad079c8..449ebccc 100644 --- a/packages/web3-zond-iban/test/unit/jest.config.js +++ b/packages/web3-qrl-qrns/test/unit/jest.config.js @@ -11,7 +11,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-iban-unit-coverage.json', + file: 'web3-qrl-qrns-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond-ens/test/unit/zns.test.ts b/packages/web3-qrl-qrns/test/unit/qrns.test.ts similarity index 65% rename from packages/web3-zond-ens/test/unit/zns.test.ts rename to packages/web3-qrl-qrns/test/unit/qrns.test.ts index 3a09ce82..f137effd 100644 --- a/packages/web3-zond-ens/test/unit/zns.test.ts +++ b/packages/web3-qrl-qrns/test/unit/qrns.test.ts @@ -16,24 +16,24 @@ along with web3.js. If not, see . */ import { Web3Context, Web3ContextObject, Web3PromiEvent } from '@theqrl/web3-core'; -import { ZNSNetworkNotSyncedError, ZNSUnsupportedNetworkError } from '@theqrl/web3-errors'; -import { Contract } from '@theqrl/web3-zond-contract'; -import { PublicResolverAbi } from '../../src/abi/zns/PublicResolver'; +import { QRNSNetworkNotSyncedError, QRNSUnsupportedNetworkError } from '@theqrl/web3-errors'; +import { Contract } from '@theqrl/web3-qrl-contract'; +import { PublicResolverAbi } from '../../src/abi/qrns/PublicResolver'; import { registryAddresses } from '../../src/config'; -import { ZNS } from '../../src/zns'; +import { QRNS } from '../../src/qrns'; Object.defineProperty(global, 'performance', { writable: true, }); -jest.mock('@theqrl/web3-zond', () => ({ +jest.mock('@theqrl/web3-qrl', () => ({ __esModule: true, isSyncing: jest.fn(), })); // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -const { isSyncing } = require('@theqrl/web3-zond'); +const { isSyncing } = require('@theqrl/web3-qrl'); const expectedNetworkId = '0x1'; jest.mock('@theqrl/web3-net', () => ({ @@ -42,30 +42,30 @@ jest.mock('@theqrl/web3-net', () => ({ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const { getId } = require('@theqrl/web3-net'); -describe('zns', () => { +describe('qrns', () => { let object: Web3ContextObject; let resolverContract: Contract; - const mockAddress = 'Z0000000000000000000000000000000000000000'; - const ZNS_NAME = 'web3js.zond'; - let zns: ZNS; + const mockAddress = 'Q0000000000000000000000000000000000000000'; + const QRNS_NAME = 'web3js.qrl'; + let qrns: QRNS; beforeAll(() => { const context = new Web3Context('http://test.com'); object = context.getContextObject(); resolverContract = new Contract(PublicResolverAbi, mockAddress); - zns = new ZNS(registryAddresses.main, object); + qrns = new QRNS(registryAddresses.main, object); }); describe('Resolver', () => { it('getResolver', async () => { const getResolverMock = jest - .spyOn(zns['_registry'], 'getResolver') + .spyOn(qrns['_registry'], 'getResolver') .mockResolvedValue(resolverContract); - await zns.getResolver(ZNS_NAME); + await qrns.getResolver(QRNS_NAME); - expect(getResolverMock).toHaveBeenCalledWith(ZNS_NAME); + expect(getResolverMock).toHaveBeenCalledWith(QRNS_NAME); }); }); @@ -74,12 +74,12 @@ describe('zns', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const recordExistsMock = jest.spyOn(zns['_registry'], 'recordExists').mockReturnValue({ + const recordExistsMock = jest.spyOn(qrns['_registry'], 'recordExists').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await zns.recordExists(ZNS_NAME); + await qrns.recordExists(QRNS_NAME); - expect(recordExistsMock).toHaveBeenCalledWith(ZNS_NAME); + expect(recordExistsMock).toHaveBeenCalledWith(QRNS_NAME); }); }); @@ -88,12 +88,12 @@ describe('zns', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const getTTLMock = jest.spyOn(zns['_registry'], 'getTTL').mockReturnValue({ + const getTTLMock = jest.spyOn(qrns['_registry'], 'getTTL').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await zns.getTTL(ZNS_NAME); - expect(getTTLMock).toHaveBeenCalledWith(ZNS_NAME); + await qrns.getTTL(QRNS_NAME); + expect(getTTLMock).toHaveBeenCalledWith(QRNS_NAME); }); }); @@ -102,12 +102,12 @@ describe('zns', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const getOwnerMock = jest.spyOn(zns['_registry'], 'getOwner').mockReturnValue({ + const getOwnerMock = jest.spyOn(qrns['_registry'], 'getOwner').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await zns.getOwner(ZNS_NAME); - expect(getOwnerMock).toHaveBeenCalledWith(ZNS_NAME); + await qrns.getOwner(QRNS_NAME); + expect(getOwnerMock).toHaveBeenCalledWith(QRNS_NAME); }); }); @@ -116,19 +116,19 @@ describe('zns', () => { // eslint-disable-next-line @typescript-eslint/no-empty-function const call = jest.spyOn({ call: () => {} }, 'call'); - const addrMock = jest.spyOn(zns['_resolver'], 'getAddress').mockReturnValue({ + const addrMock = jest.spyOn(qrns['_resolver'], 'getAddress').mockReturnValue({ call, } as unknown as Web3PromiEvent); - await zns.getAddress(ZNS_NAME); + await qrns.getAddress(QRNS_NAME); - expect(addrMock).toHaveBeenCalledWith(ZNS_NAME, 60); + expect(addrMock).toHaveBeenCalledWith(QRNS_NAME, 60); }); }); describe('events', () => { it('get events', async () => { - const { events } = zns; + const { events } = qrns; expect(typeof events.NewOwner).toBe('function'); expect(typeof events.allEvents).toBe('function'); expect(typeof events.NewResolver).toBe('function'); @@ -138,39 +138,39 @@ describe('zns', () => { describe('constructor', () => { it('default params', async () => { - const localZns = new ZNS(); - expect(localZns.provider).toBeUndefined(); - expect(localZns.registryAddress).toBe(registryAddresses.main); + const localQrns = new QRNS(); + expect(localQrns.provider).toBeUndefined(); + expect(localQrns.registryAddress).toBe(registryAddresses.main); }); it('set params', async () => { - const localZns = new ZNS(registryAddresses.main, 'http://127.0.0.1:8545'); + const localQrns = new QRNS(registryAddresses.main, 'http://127.0.0.1:8545'); // @ts-expect-error check clientUrl field - expect(localZns.provider?.clientUrl).toBe('http://127.0.0.1:8545'); - expect(localZns.registryAddress).toBe(registryAddresses.main); + expect(localQrns.provider?.clientUrl).toBe('http://127.0.0.1:8545'); + expect(localQrns.registryAddress).toBe(registryAddresses.main); }); }); describe('pubkey', () => { it('getPubkey', async () => { - const pubkeyMock = jest.spyOn(zns['_resolver'], 'getPubkey').mockReturnValue({ + const pubkeyMock = jest.spyOn(qrns['_resolver'], 'getPubkey').mockReturnValue({ call: jest.fn(), } as unknown as Web3PromiEvent); - await zns.getPubkey(ZNS_NAME); - expect(pubkeyMock).toHaveBeenCalledWith(ZNS_NAME); + await qrns.getPubkey(QRNS_NAME); + expect(pubkeyMock).toHaveBeenCalledWith(QRNS_NAME); }); describe('Contenthash', () => { it('getContenthash', async () => { const contenthashMock = jest - .spyOn(zns['_resolver'], 'getContenthash') + .spyOn(qrns['_resolver'], 'getContenthash') .mockReturnValue({ call: jest.fn(), } as unknown as Web3PromiEvent); - await zns.getContenthash(ZNS_NAME); + await qrns.getContenthash(QRNS_NAME); - expect(contenthashMock).toHaveBeenCalledWith(ZNS_NAME); + expect(contenthashMock).toHaveBeenCalledWith(QRNS_NAME); }); }); }); @@ -178,14 +178,14 @@ describe('zns', () => { it('supportsInterface', async () => { const interfaceId = 'setAddr'; const supportsInterfaceMock = jest - .spyOn(zns['_resolver'], 'supportsInterface') + .spyOn(qrns['_resolver'], 'supportsInterface') .mockReturnValue({ call: jest.fn(), } as unknown as Web3PromiEvent); - await zns.supportsInterface(ZNS_NAME, interfaceId); + await qrns.supportsInterface(QRNS_NAME, interfaceId); - expect(supportsInterfaceMock).toHaveBeenCalledWith(ZNS_NAME, interfaceId); + expect(supportsInterfaceMock).toHaveBeenCalledWith(QRNS_NAME, interfaceId); }); describe('CheckNetwork', () => { @@ -195,7 +195,7 @@ describe('zns', () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call isSyncing.mockReset(); }); - it('Not last sync/ZNSNetworkNotSyncedError', async () => { + it('Not last sync/QRNSNetworkNotSyncedError', async () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call getId.mockImplementation(() => expectedNetworkId); @@ -207,10 +207,10 @@ describe('zns', () => { highestBlock: 51266, } as unknown; }); - await expect(zns.checkNetwork()).rejects.toThrow(new ZNSNetworkNotSyncedError()); + await expect(qrns.checkNetwork()).rejects.toThrow(new QRNSNetworkNotSyncedError()); }); - it('Threshold exceeded from previous check/ZNSNetworkNotSyncedError', async () => { + it('Threshold exceeded from previous check/QRNSNetworkNotSyncedError', async () => { // eslint-disable-next-line @typescript-eslint/no-unsafe-call getId.mockImplementation(() => expectedNetworkId); @@ -220,17 +220,17 @@ describe('zns', () => { return false; }); // update `_lastSyncCheck` - await zns.checkNetwork(); + await qrns.checkNetwork(); // now - this._lastSyncCheck > 3600) jest.useFakeTimers().setSystemTime(new Date('2020-01-01').getTime() + 3601000); // (3600 + 1) * 1000 - await expect(zns.checkNetwork()).resolves.not.toThrow(); + await expect(qrns.checkNetwork()).resolves.not.toThrow(); }); - it('ZNSUnsupportedNetworkError', async () => { + it('QRNSUnsupportedNetworkError', async () => { // reset from previous check // eslint-disable-next-line @typescript-eslint/no-unsafe-call - zns['_detectedAddress'] = undefined; + qrns['_detectedAddress'] = undefined; const network = 'AnUnsupportedNetwork'; @@ -246,8 +246,8 @@ describe('zns', () => { } as unknown; }); - await expect(zns.checkNetwork()).rejects.toThrow( - new ZNSUnsupportedNetworkError(network), + await expect(qrns.checkNetwork()).rejects.toThrow( + new QRNSUnsupportedNetworkError(network), ); }); }); diff --git a/packages/web3-zond-ens/test/unit/registry.test.ts b/packages/web3-qrl-qrns/test/unit/registry.test.ts similarity index 83% rename from packages/web3-zond-ens/test/unit/registry.test.ts rename to packages/web3-qrl-qrns/test/unit/registry.test.ts index ced1efd5..fc15f62f 100644 --- a/packages/web3-zond-ens/test/unit/registry.test.ts +++ b/packages/web3-qrl-qrns/test/unit/registry.test.ts @@ -16,15 +16,15 @@ along with web3.js. If not, see . */ import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; -import { NonPayableMethodObject } from '@theqrl/web3-zond-contract'; +import { NonPayableMethodObject } from '@theqrl/web3-qrl-contract'; import { Registry } from '../../src/registry'; import { namehash } from '../../src/utils'; describe('registry', () => { let object: Web3ContextObject; let registry: Registry; - const mockAddress = 'Z0000000000000000000000000000000000000000'; - const ZNS_NAME = 'web3js.znd'; + const mockAddress = 'Q0000000000000000000000000000000000000000'; + const QRNS_NAME = 'web3js.qrl'; beforeAll(() => { const context = new Web3Context('http://test.com'); @@ -52,8 +52,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.getOwner(ZNS_NAME); - expect(getOwnerMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + await registry.getOwner(QRNS_NAME); + expect(getOwnerMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); it('getOwner throw (transaction reverted)', async () => { @@ -67,9 +67,9 @@ describe('registry', () => { .mockReturnValue({ call } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getOwner(ZNS_NAME); + await registry.getOwner(QRNS_NAME); }).rejects.toThrow(new Error()); - expect(getOwnerMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(getOwnerMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); }); @@ -83,8 +83,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.getTTL(ZNS_NAME); - expect(getTTLMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + await registry.getTTL(QRNS_NAME); + expect(getTTLMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); it('getTTL throw (transaction reverted)', async () => { @@ -98,9 +98,9 @@ describe('registry', () => { .mockReturnValue({ call } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getTTL(ZNS_NAME); + await registry.getTTL(QRNS_NAME); }).rejects.toThrow(new Error()); - expect(getTTLMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(getTTLMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); }); @@ -116,8 +116,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.recordExists(ZNS_NAME); - expect(setRecordMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + await registry.recordExists(QRNS_NAME); + expect(setRecordMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); it('recordExists throw (transaction reverted)', async () => { @@ -133,9 +133,9 @@ describe('registry', () => { } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.recordExists(ZNS_NAME); + await registry.recordExists(QRNS_NAME); }).rejects.toThrow(new Error()); - expect(setRecordMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(setRecordMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); }); @@ -160,8 +160,8 @@ describe('registry', () => { call, } as unknown as NonPayableMethodObject); - await registry.getResolver(ZNS_NAME); - expect(resolverMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + await registry.getResolver(QRNS_NAME); + expect(resolverMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); @@ -185,9 +185,9 @@ describe('registry', () => { } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getResolver(ZNS_NAME); + await registry.getResolver(QRNS_NAME); }).rejects.toThrow(new Error()); - expect(resolverMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(resolverMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); @@ -203,9 +203,9 @@ describe('registry', () => { } as unknown as NonPayableMethodObject); await expect(async () => { - await registry.getResolver(ZNS_NAME); + await registry.getResolver(QRNS_NAME); }).rejects.toThrow(new Error()); - expect(resolverMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(resolverMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); expect(call).toHaveBeenCalled(); }); }); diff --git a/packages/web3-zond-ens/test/unit/resolver.test.ts b/packages/web3-qrl-qrns/test/unit/resolver.test.ts similarity index 90% rename from packages/web3-zond-ens/test/unit/resolver.test.ts rename to packages/web3-qrl-qrns/test/unit/resolver.test.ts index 5e0ed2f6..5e0eef6c 100644 --- a/packages/web3-zond-ens/test/unit/resolver.test.ts +++ b/packages/web3-qrl-qrns/test/unit/resolver.test.ts @@ -17,9 +17,9 @@ along with web3.js. If not, see . import { Web3Context, Web3ContextObject } from '@theqrl/web3-core'; import { ResolverMethodMissingError } from '@theqrl/web3-errors'; -import { Contract, NonPayableMethodObject } from '@theqrl/web3-zond-contract'; +import { Contract, NonPayableMethodObject } from '@theqrl/web3-qrl-contract'; import { sha3 } from '@theqrl/web3-utils'; -import { PublicResolverAbi } from '../../src/abi/zns/PublicResolver'; +import { PublicResolverAbi } from '../../src/abi/qrns/PublicResolver'; import { interfaceIds, methodsInInterface } from '../../src/config'; import { Registry } from '../../src/registry'; import { Resolver } from '../../src/resolver'; @@ -30,8 +30,8 @@ describe('resolver', () => { let registry: Registry; let resolver: Resolver; let contract: Contract; - const mockAddress = 'Z0000000000000000000000000000000000000000'; - const ZNS_NAME = 'web3js.znd'; + const mockAddress = 'Q0000000000000000000000000000000000000000'; + const QRNS_NAME = 'web3js.qrl'; beforeAll(() => { const context = new Web3Context('http://test.com'); @@ -124,11 +124,11 @@ describe('resolver', () => { }); }); - await resolver.getAddress(ZNS_NAME); + await resolver.getAddress(QRNS_NAME); expect(supportsInterfaceMock).toHaveBeenCalledWith( interfaceIds[methodsInInterface.addr], ); - expect(addrMock).toHaveBeenCalledWith(namehash(ZNS_NAME), 60); + expect(addrMock).toHaveBeenCalledWith(namehash(QRNS_NAME), 60); }); }); @@ -152,11 +152,11 @@ describe('resolver', () => { }); }); - await resolver.getPubkey(ZNS_NAME); + await resolver.getPubkey(QRNS_NAME); expect(supportsInterfaceMock).toHaveBeenCalledWith( interfaceIds[methodsInInterface.pubkey], ); - expect(pubkeyMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(pubkeyMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); }); }); @@ -180,11 +180,11 @@ describe('resolver', () => { }); }); - await resolver.getContenthash(ZNS_NAME); + await resolver.getContenthash(QRNS_NAME); expect(supportsInterfaceMock).toHaveBeenCalledWith( interfaceIds[methodsInInterface.contenthash], ); - expect(contenthashMock).toHaveBeenCalledWith(namehash(ZNS_NAME)); + expect(contenthashMock).toHaveBeenCalledWith(namehash(QRNS_NAME)); }); }); @@ -206,9 +206,9 @@ describe('resolver', () => { call, } as unknown as NonPayableMethodObject); - await expect(resolver.supportsInterface(ZNS_NAME, interfaceId)).resolves.not.toThrow(); + await expect(resolver.supportsInterface(QRNS_NAME, interfaceId)).resolves.not.toThrow(); - // expect(setContenthashMock).toHaveBeenCalledWith(namehash(ZNS_NAME), hash); + // expect(setContenthashMock).toHaveBeenCalledWith(namehash(QRNS_NAME), hash); expect(supportsInterfaceMock).toHaveBeenCalledWith(sha3(interfaceId)?.substring(0, 10)); expect(call).toHaveBeenCalled(); }); @@ -221,7 +221,7 @@ describe('resolver', () => { }); }); - await expect(resolver.supportsInterface(ZNS_NAME, interfaceId)).rejects.toThrow( + await expect(resolver.supportsInterface(QRNS_NAME, interfaceId)).rejects.toThrow( new Error('Invalid interface Id'), ); }); @@ -246,10 +246,10 @@ describe('resolver', () => { } as unknown as NonPayableMethodObject); await expect( - resolver.supportsInterface(ZNS_NAME, interfaceId), + resolver.supportsInterface(QRNS_NAME, interfaceId), ).resolves.not.toThrow(); - // expect(setContenthashMock).toHaveBeenCalledWith(namehash(ZNS_NAME), hash); + // expect(setContenthashMock).toHaveBeenCalledWith(namehash(QRNS_NAME), hash); expect(supportsInterfaceMock).toHaveBeenCalledWith( sha3(interfaceId)?.substring(0, 10), ); diff --git a/packages/web3-zond-ens/test/unit/utils.test.ts b/packages/web3-qrl-qrns/test/unit/utils.test.ts similarity index 97% rename from packages/web3-zond-ens/test/unit/utils.test.ts rename to packages/web3-qrl-qrns/test/unit/utils.test.ts index ffdb2376..7cc4eb0a 100644 --- a/packages/web3-zond-ens/test/unit/utils.test.ts +++ b/packages/web3-qrl-qrns/test/unit/utils.test.ts @@ -18,7 +18,7 @@ along with web3.js. If not, see . import { namehash, normalize } from '../../src/utils'; import { namehashValidData, normalizeValidData } from '../fixtures/utils'; -describe('zns utils', () => { +describe('qrns utils', () => { describe('namehash', () => { describe('valid cases', () => { it.each(namehashValidData)('%s', (input, output) => { diff --git a/packages/web3-zond-iban/tsconfig.cjs.json b/packages/web3-qrl-qrns/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond-iban/tsconfig.cjs.json rename to packages/web3-qrl-qrns/tsconfig.cjs.json diff --git a/packages/web3-zond-iban/tsconfig.esm.json b/packages/web3-qrl-qrns/tsconfig.esm.json similarity index 100% rename from packages/web3-zond-iban/tsconfig.esm.json rename to packages/web3-qrl-qrns/tsconfig.esm.json diff --git a/packages/web3-zond-iban/tsconfig.types.json b/packages/web3-qrl-qrns/tsconfig.types.json similarity index 100% rename from packages/web3-zond-iban/tsconfig.types.json rename to packages/web3-qrl-qrns/tsconfig.types.json diff --git a/packages/web3-zond-iban/tsdoc.json b/packages/web3-qrl-qrns/tsdoc.json similarity index 100% rename from packages/web3-zond-iban/tsdoc.json rename to packages/web3-qrl-qrns/tsdoc.json diff --git a/packages/web3-zond/.eslintignore b/packages/web3-qrl/.eslintignore similarity index 100% rename from packages/web3-zond/.eslintignore rename to packages/web3-qrl/.eslintignore diff --git a/packages/web3-zond/.eslintrc.js b/packages/web3-qrl/.eslintrc.js similarity index 100% rename from packages/web3-zond/.eslintrc.js rename to packages/web3-qrl/.eslintrc.js diff --git a/packages/web3-zond/.gitignore b/packages/web3-qrl/.gitignore similarity index 100% rename from packages/web3-zond/.gitignore rename to packages/web3-qrl/.gitignore diff --git a/packages/web3-zond/.npmignore b/packages/web3-qrl/.npmignore similarity index 100% rename from packages/web3-zond/.npmignore rename to packages/web3-qrl/.npmignore diff --git a/packages/web3-zond/.prettierignore b/packages/web3-qrl/.prettierignore similarity index 100% rename from packages/web3-zond/.prettierignore rename to packages/web3-qrl/.prettierignore diff --git a/packages/web3-zond/.prettierrc.json b/packages/web3-qrl/.prettierrc.json similarity index 100% rename from packages/web3-zond/.prettierrc.json rename to packages/web3-qrl/.prettierrc.json diff --git a/packages/web3-zond/CHANGELOG.md b/packages/web3-qrl/CHANGELOG.md similarity index 100% rename from packages/web3-zond/CHANGELOG.md rename to packages/web3-qrl/CHANGELOG.md diff --git a/packages/web3-zond/README.md b/packages/web3-qrl/README.md similarity index 70% rename from packages/web3-zond/README.md rename to packages/web3-qrl/README.md index dc516612..6037f4e1 100644 --- a/packages/web3-zond/README.md +++ b/packages/web3-qrl/README.md @@ -1,29 +1,29 @@ -# @theqrl/web3.js - Zond +# @theqrl/web3.js - QRL ![ES Version](https://img.shields.io/badge/ES-2020-yellow) ![Node Version](https://img.shields.io/badge/node-18.x-green) -[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-zond)](https://www.npmjs.com/package/@theqrl/web3-zond) -[![Downloads](https://img.shields.io/npm/v/@theqrl/web3-zond)](https://www.npmjs.com/package/@theqrl/web3-zond) +[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-qrl)](https://www.npmjs.com/package/@theqrl/web3-qrl) +[![Downloads](https://img.shields.io/npm/v/@theqrl/web3-qrl)](https://www.npmjs.com/package/@theqrl/web3-qrl) This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3-zond` contains modules to interact with the Zond blockchain and smart contracts. +`@theqrl/web3-qrl` contains modules to interact with the QRL blockchain and smart contracts. ## Installation -You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-zond) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-zond) +You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-qrl) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-qrl) ### Using NPM ```bash -npm install @theqrl/web3-zond +npm install @theqrl/web3-qrl ``` ### Using Yarn ```bash -yarn add @theqrl/web3-zond +yarn add @theqrl/web3-qrl ``` ## Getting Started @@ -50,7 +50,7 @@ yarn add @theqrl/web3-zond | test:unit | Uses `jest` to run tests under `/test/unit` | [docs]: https://docs.theqrl.org/ -[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-zond -[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-zond%2Fpackage.json -[npm-url]: https://npmjs.org/package/@theqrl/web3-zond -[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-zond?label=npm%20downloads +[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl +[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-qrl%2Fpackage.json +[npm-url]: https://npmjs.org/package/@theqrl/web3-qrl +[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-qrl?label=npm%20downloads diff --git a/packages/web3-zond/assets/logo/web3js.ai b/packages/web3-qrl/assets/logo/web3js.ai similarity index 100% rename from packages/web3-zond/assets/logo/web3js.ai rename to packages/web3-qrl/assets/logo/web3js.ai diff --git a/packages/web3-zond/assets/logo/web3js.jpg b/packages/web3-qrl/assets/logo/web3js.jpg similarity index 100% rename from packages/web3-zond/assets/logo/web3js.jpg rename to packages/web3-qrl/assets/logo/web3js.jpg diff --git a/packages/web3-zond/assets/logo/web3js.svg b/packages/web3-qrl/assets/logo/web3js.svg similarity index 100% rename from packages/web3-zond/assets/logo/web3js.svg rename to packages/web3-qrl/assets/logo/web3js.svg diff --git a/packages/web3-zond/cypress b/packages/web3-qrl/cypress similarity index 100% rename from packages/web3-zond/cypress rename to packages/web3-qrl/cypress diff --git a/packages/web3-zond/cypress.config.js b/packages/web3-qrl/cypress.config.js similarity index 100% rename from packages/web3-zond/cypress.config.js rename to packages/web3-qrl/cypress.config.js diff --git a/packages/web3-zond/index.d.ts b/packages/web3-qrl/index.d.ts similarity index 100% rename from packages/web3-zond/index.d.ts rename to packages/web3-qrl/index.d.ts diff --git a/packages/web3-zond/package.json b/packages/web3-qrl/package.json similarity index 93% rename from packages/web3-zond/package.json rename to packages/web3-qrl/package.json index bf120fa2..e47d0253 100644 --- a/packages/web3-zond/package.json +++ b/packages/web3-qrl/package.json @@ -1,10 +1,10 @@ { - "name": "@theqrl/web3-zond", + "name": "@theqrl/web3-qrl", "version": "0.3.3", "publishConfig": { "access": "public" }, - "description": "Web3 module to interact with the Zond blockchain and smart contracts.", + "description": "Web3 module to interact with the QRL blockchain and smart contracts.", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -73,8 +73,8 @@ "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", - "@theqrl/web3-zond-abi": "^0.3.3", - "@theqrl/web3-zond-accounts": "^0.3.3", + "@theqrl/web3-qrl-abi": "^0.3.3", + "@theqrl/web3-qrl-accounts": "^0.3.3", "setimmediate": "^1.0.5" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" diff --git a/packages/web3-zond/src/constants.ts b/packages/web3-qrl/src/constants.ts similarity index 100% rename from packages/web3-zond/src/constants.ts rename to packages/web3-qrl/src/constants.ts diff --git a/packages/web3-zond/src/index.ts b/packages/web3-qrl/src/index.ts similarity index 75% rename from packages/web3-zond/src/index.ts rename to packages/web3-qrl/src/index.ts index ed3b9538..15b099dc 100644 --- a/packages/web3-zond/src/index.ts +++ b/packages/web3-qrl/src/index.ts @@ -16,18 +16,18 @@ along with web3.js. If not, see . */ /** - * The `web3-zond` package allows you to interact with a Zond blockchain and Zond smart contracts. + * The `web3-qrl` package allows you to interact with a QRL blockchain and QRL smart contracts. * * To use this package standalone and use its methods use: * ```ts * import { Web3Context } from '@theqrl/web3-core'; * import { BlockTags } from '@theqrl/web3-types'; * import { DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; - * import { getBalance} from '@theqrl/web3-zond'; + * import { getBalance} from '@theqrl/web3-qrl'; * * getBalance( * new Web3Context('http://127.0.0.1:8545'), - * 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + * 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', * BlockTags.LATEST, * DEFAULT_RETURN_FORMAT * ).then(console.log); @@ -39,20 +39,20 @@ along with web3.js. If not, see . * import Web3 from '@theqrl/web3'; * * const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546'); - * web3.zond.getBalance('Z407d73d8a49eeb85d32cf465507dd71d507100c1').then(console.log); + * web3.qrl.getBalance('Q407d73d8a49eeb85d32cf465507dd71d507100c1').then(console.log); * > 1000000000000n *``` * - * With `web3-zond` you can also subscribe (if supported by provider) to events in the Zond Blockchain, using the `subscribe` function. See more at the {@link Web3Zond.subscribe} function. + * With `web3-qrl` you can also subscribe (if supported by provider) to events in the QRL Blockchain, using the `subscribe` function. See more at the {@link Web3QRL.subscribe} function. */ /** * */ import 'setimmediate'; -import { Web3Zond } from './web3_zond.js'; +import { Web3QRL } from './web3_qrl.js'; -export * from './web3_zond.js'; +export * from './web3_qrl.js'; export * from './schemas.js'; export * from './types.js'; export * from './validation.js'; @@ -63,4 +63,4 @@ export * from './web3_subscriptions.js'; export { detectTransactionType } from './utils/detect_transaction_type.js'; export { transactionBuilder } from './utils/transaction_builder.js'; -export default Web3Zond; +export default Web3QRL; diff --git a/packages/web3-zond/src/rpc_method_wrappers.ts b/packages/web3-qrl/src/rpc_method_wrappers.ts similarity index 81% rename from packages/web3-zond/src/rpc_method_wrappers.ts rename to packages/web3-qrl/src/rpc_method_wrappers.ts index caadaf8a..d847b27d 100644 --- a/packages/web3-zond/src/rpc_method_wrappers.ts +++ b/packages/web3-qrl/src/rpc_method_wrappers.ts @@ -18,11 +18,11 @@ along with web3.js. If not, see . // Disabling because returnTypes must be last param to match 1.x params /* eslint-disable default-param-last */ import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, FormatType, DataFormat, DEFAULT_RETURN_FORMAT, - ZondExecutionAPI, + QRLExecutionAPI, TransactionWithSenderAPI, SignedTransactionInfoAPI, Web3BaseWalletAccount, @@ -41,7 +41,7 @@ import { TransactionReceipt, Transaction, TransactionCall, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, TransactionWithFromLocalWalletIndex, TransactionWithToLocalWalletIndex, TransactionWithFromAndToLocalWalletIndex, @@ -51,7 +51,7 @@ import { } from '@theqrl/web3-types'; import { Web3Context, Web3PromiEvent } from '@theqrl/web3-core'; import { format, hexToBytes, bytesToUint8Array, numberToHex } from '@theqrl/web3-utils'; -import { TransactionFactory } from '@theqrl/web3-zond-accounts'; +import { TransactionFactory } from '@theqrl/web3-qrl-accounts'; import { isBlockTag, isBytes, isNullish, isString } from '@theqrl/web3-validator'; import { ContractExecutionError, @@ -61,7 +61,7 @@ import { TransactionRevertInstructionError, TransactionRevertWithCustomError, } from '@theqrl/web3-errors'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { decodeSignedTransaction } from './utils/decode_signed_transaction.js'; import { @@ -96,68 +96,68 @@ import { getTransactionError } from './utils/get_transaction_error.js'; import { getRevertReason } from './utils/get_revert_reason.js'; /** - * View additional documentations here: {@link Web3Zond.getProtocolVersion} + * View additional documentations here: {@link Web3QRL.getProtocolVersion} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ -export const getProtocolVersion = async (web3Context: Web3Context) => - zondRpcMethods.getProtocolVersion(web3Context.requestManager); +export const getProtocolVersion = async (web3Context: Web3Context) => + qrlRpcMethods.getProtocolVersion(web3Context.requestManager); // TODO Add returnFormat parameter /** - * View additional documentations here: {@link Web3Zond.isSyncing} + * View additional documentations here: {@link Web3QRL.isSyncing} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ -export const isSyncing = async (web3Context: Web3Context) => - zondRpcMethods.getSyncing(web3Context.requestManager); +export const isSyncing = async (web3Context: Web3Context) => + qrlRpcMethods.getSyncing(web3Context.requestManager); /** - * View additional documentations here: {@link Web3Zond.getGasPrice} + * View additional documentations here: {@link Web3QRL.getGasPrice} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getGasPrice( - web3Context: Web3Context, + web3Context: Web3Context, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.getGasPrice(web3Context.requestManager); + const response = await qrlRpcMethods.getGasPrice(web3Context.requestManager); return format({ format: 'uint' }, response as Numbers, returnFormat); } export async function getMaxPriorityFeePerGas( - web3Context: Web3Context, + web3Context: Web3Context, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.getMaxPriorityFeePerGas(web3Context.requestManager); + const response = await qrlRpcMethods.getMaxPriorityFeePerGas(web3Context.requestManager); return format({ format: 'uint' }, response as Numbers, returnFormat); } /** - * View additional documentations here: {@link Web3Zond.getBlockNumber} + * View additional documentations here: {@link Web3QRL.getBlockNumber} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getBlockNumber( - web3Context: Web3Context, + web3Context: Web3Context, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.getBlockNumber(web3Context.requestManager); + const response = await qrlRpcMethods.getBlockNumber(web3Context.requestManager); return format({ format: 'uint' }, response as Numbers, returnFormat); } /** - * View additional documentations here: {@link Web3Zond.getBalance} + * View additional documentations here: {@link Web3QRL.getBalance} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getBalance( - web3Context: Web3Context, + web3Context: Web3Context, address: Address, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); - const response = await zondRpcMethods.getBalance( + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); + const response = await qrlRpcMethods.getBalance( web3Context.requestManager, address, blockNumberFormatted, @@ -166,21 +166,21 @@ export async function getBalance( } /** - * View additional documentations here: {@link Web3Zond.getStorageAt} + * View additional documentations here: {@link Web3QRL.getStorageAt} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getStorageAt( - web3Context: Web3Context, + web3Context: Web3Context, address: Address, storageSlot: Numbers, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { - const storageSlotFormatted = format({ format: 'uint' }, storageSlot, ZOND_DATA_FORMAT); + const storageSlotFormatted = format({ format: 'uint' }, storageSlot, QRL_DATA_FORMAT); const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); - const response = await zondRpcMethods.getStorageAt( + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); + const response = await qrlRpcMethods.getStorageAt( web3Context.requestManager, address, storageSlotFormatted, @@ -190,19 +190,19 @@ export async function getStorageAt( } /** - * View additional documentations here: {@link Web3Zond.getCode} + * View additional documentations here: {@link Web3QRL.getCode} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getCode( - web3Context: Web3Context, + web3Context: Web3Context, address: Address, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); - const response = await zondRpcMethods.getCode( + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); + const response = await qrlRpcMethods.getCode( web3Context.requestManager, address, blockNumberFormatted, @@ -211,19 +211,19 @@ export async function getCode( } /** - * View additional documentations here: {@link Web3Zond.getBlock} + * View additional documentations here: {@link Web3QRL.getBlock} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getBlock( - web3Context: Web3Context, + web3Context: Web3Context, block: Bytes | BlockNumberOrTag = web3Context.defaultBlock, hydrated = false, returnFormat: ReturnFormat, ) { let response; if (isBytes(block)) { - const blockHashFormatted = format({ format: 'bytes32' }, block, ZOND_DATA_FORMAT); - response = await zondRpcMethods.getBlockByHash( + const blockHashFormatted = format({ format: 'bytes32' }, block, QRL_DATA_FORMAT); + response = await qrlRpcMethods.getBlockByHash( web3Context.requestManager, blockHashFormatted as HexString, hydrated, @@ -231,8 +231,8 @@ export async function getBlock( } else { const blockNumberFormatted = isBlockTag(block as string) ? (block as BlockTag) - : format({ format: 'uint' }, block as Numbers, ZOND_DATA_FORMAT); - response = await zondRpcMethods.getBlockByNumber( + : format({ format: 'uint' }, block as Numbers, QRL_DATA_FORMAT); + response = await qrlRpcMethods.getBlockByNumber( web3Context.requestManager, blockNumberFormatted, hydrated, @@ -242,26 +242,26 @@ export async function getBlock( } /** - * View additional documentations here: {@link Web3Zond.getBlockTransactionCount} + * View additional documentations here: {@link Web3QRL.getBlockTransactionCount} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getBlockTransactionCount( - web3Context: Web3Context, + web3Context: Web3Context, block: Bytes | BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { let response; if (isBytes(block)) { - const blockHashFormatted = format({ format: 'bytes32' }, block, ZOND_DATA_FORMAT); - response = await zondRpcMethods.getBlockTransactionCountByHash( + const blockHashFormatted = format({ format: 'bytes32' }, block, QRL_DATA_FORMAT); + response = await qrlRpcMethods.getBlockTransactionCountByHash( web3Context.requestManager, blockHashFormatted as HexString, ); } else { const blockNumberFormatted = isBlockTag(block as string) ? (block as BlockTag) - : format({ format: 'uint' }, block as Numbers, ZOND_DATA_FORMAT); - response = await zondRpcMethods.getBlockTransactionCountByNumber( + : format({ format: 'uint' }, block as Numbers, QRL_DATA_FORMAT); + response = await qrlRpcMethods.getBlockTransactionCountByNumber( web3Context.requestManager, blockNumberFormatted, ); @@ -271,11 +271,11 @@ export async function getBlockTransactionCount( } /** - * View additional documentations here: {@link Web3Zond.getTransaction} + * View additional documentations here: {@link Web3QRL.getTransaction} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getTransaction( - web3Context: Web3Context, + web3Context: Web3Context, transactionHash: Bytes, returnFormat: ReturnFormat, ) { @@ -284,7 +284,7 @@ export async function getTransaction( transactionHash, DEFAULT_RETURN_FORMAT, ); - const response = await zondRpcMethods.getTransactionByHash( + const response = await qrlRpcMethods.getTransactionByHash( web3Context.requestManager, transactionHashFormatted, ); @@ -295,14 +295,14 @@ export async function getTransaction( } /** - * View additional documentations here: {@link Web3Zond.getPendingTransactions} + * View additional documentations here: {@link Web3QRL.getPendingTransactions} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getPendingTransactions( - web3Context: Web3Context, + web3Context: Web3Context, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.getPendingTransactions(web3Context.requestManager); + const response = await qrlRpcMethods.getPendingTransactions(web3Context.requestManager); return response.map(transaction => formatTransaction(transaction as unknown as Transaction, returnFormat, { @@ -312,11 +312,11 @@ export async function getPendingTransactions( } /** - * View additional documentations here: {@link Web3Zond.getTransactionFromBlock} + * View additional documentations here: {@link Web3QRL.getTransactionFromBlock} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getTransactionFromBlock( - web3Context: Web3Context, + web3Context: Web3Context, block: Bytes | BlockNumberOrTag = web3Context.defaultBlock, transactionIndex: Numbers, returnFormat: ReturnFormat, @@ -324,13 +324,13 @@ export async function getTransactionFromBlock( const transactionIndexFormatted = format( { format: 'uint' }, transactionIndex, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); let response; if (isBytes(block)) { - const blockHashFormatted = format({ format: 'bytes32' }, block, ZOND_DATA_FORMAT); - response = await zondRpcMethods.getTransactionByBlockHashAndIndex( + const blockHashFormatted = format({ format: 'bytes32' }, block, QRL_DATA_FORMAT); + response = await qrlRpcMethods.getTransactionByBlockHashAndIndex( web3Context.requestManager, blockHashFormatted as HexString, transactionIndexFormatted, @@ -338,8 +338,8 @@ export async function getTransactionFromBlock( } else { const blockNumberFormatted = isBlockTag(block as string) ? (block as BlockTag) - : format({ format: 'uint' }, block as Numbers, ZOND_DATA_FORMAT); - response = await zondRpcMethods.getTransactionByBlockNumberAndIndex( + : format({ format: 'uint' }, block as Numbers, QRL_DATA_FORMAT); + response = await qrlRpcMethods.getTransactionByBlockNumberAndIndex( web3Context.requestManager, blockNumberFormatted, transactionIndexFormatted, @@ -352,11 +352,11 @@ export async function getTransactionFromBlock( } /** - * View additional documentations here: {@link Web3Zond.getTransactionReceipt} + * View additional documentations here: {@link Web3QRL.getTransactionReceipt} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getTransactionReceipt( - web3Context: Web3Context, + web3Context: Web3Context, transactionHash: Bytes, returnFormat: ReturnFormat, ) { @@ -365,7 +365,7 @@ export async function getTransactionReceipt( transactionHash, DEFAULT_RETURN_FORMAT, ); - const response = await zondRpcMethods.getTransactionReceipt( + const response = await qrlRpcMethods.getTransactionReceipt( web3Context.requestManager, transactionHashFormatted, ); @@ -380,19 +380,19 @@ export async function getTransactionReceipt( } /** - * View additional documentations here: {@link Web3Zond.getTransactionCount} + * View additional documentations here: {@link Web3QRL.getTransactionCount} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getTransactionCount( - web3Context: Web3Context, + web3Context: Web3Context, address: Address, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); - const response = await zondRpcMethods.getTransactionCount( + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); + const response = await qrlRpcMethods.getTransactionCount( web3Context.requestManager, address, blockNumberFormatted, @@ -402,14 +402,14 @@ export async function getTransactionCount( } /** - * View additional documentations here: {@link Web3Zond.sendTransaction} + * View additional documentations here: {@link Web3QRL.sendTransaction} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export function sendTransaction< ReturnFormat extends DataFormat, ResolveType = FormatType, >( - web3Context: Web3Context, + web3Context: Web3Context, transaction: | Transaction | TransactionWithFromLocalWalletIndex @@ -428,7 +428,7 @@ export function sendTransaction< from: getTransactionFromOrToAttr('from', web3Context, transaction), to: getTransactionFromOrToAttr('to', web3Context, transaction), }, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); if ( @@ -443,7 +443,7 @@ export function sendTransaction< ...(await getTransactionGasPricing( transactionFormatted, web3Context, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, )), }; } @@ -492,7 +492,7 @@ export function sendTransaction< transactionHash = await trySendTransaction( web3Context, async (): Promise => - zondRpcMethods.sendRawTransaction( + qrlRpcMethods.sendRawTransaction( web3Context.requestManager, signedTransaction.rawTransaction, ), @@ -502,7 +502,7 @@ export function sendTransaction< transactionHash = await trySendTransaction( web3Context, async (): Promise => - zondRpcMethods.sendTransaction( + qrlRpcMethods.sendTransaction( web3Context.requestManager, transactionFormatted as Partial, ), @@ -611,14 +611,14 @@ export function sendTransaction< } /** - * View additional documentations here: {@link Web3Zond.sendSignedTransaction} + * View additional documentations here: {@link Web3QRL.sendSignedTransaction} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export function sendSignedTransaction< ReturnFormat extends DataFormat, ResolveType = FormatType, >( - web3Context: Web3Context, + web3Context: Web3Context, signedTransaction: Bytes, returnFormat: ReturnFormat, options: SendSignedTransactionOptions = { checkRevertBeforeSending: true }, @@ -633,7 +633,7 @@ export function sendSignedTransaction< const signedTransactionFormattedHex = format( { format: 'bytes' }, signedTransaction, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); const unSerializedTransaction = TransactionFactory.fromSerializedData( bytesToUint8Array(hexToBytes(signedTransactionFormattedHex)), @@ -641,8 +641,8 @@ export function sendSignedTransaction< const unSerializedTransactionWithFrom = { ...unSerializedTransaction.toJSON(), // Some providers will default `from` to address(0) causing the error - // reported from `zond_call` to not be the reason the user's tx failed - // e.g. `zond_call` will return an Out of Gas error for a failed + // reported from `qrl_call` to not be the reason the user's tx failed + // e.g. `qrl_call` will return an Out of Gas error for a failed // smart contract execution contract, because the sender, address(0), // has no balance to pay for the gas of the transaction execution from: unSerializedTransaction.getSenderAddress().toString(), @@ -681,7 +681,7 @@ export function sendSignedTransaction< const transactionHash = await trySendTransaction( web3Context, async (): Promise => - zondRpcMethods.sendRawTransaction( + qrlRpcMethods.sendRawTransaction( web3Context.requestManager, signedTransactionFormattedHex, ), @@ -789,11 +789,11 @@ export function sendSignedTransaction< } /** - * View additional documentations here: {@link Web3Zond.sign} + * View additional documentations here: {@link Web3QRL.sign} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function sign( - web3Context: Web3Context, + web3Context: Web3Context, message: Bytes, addressOrIndex: Address | number, returnFormat: ReturnFormat, @@ -808,11 +808,11 @@ export async function sign( if (typeof addressOrIndex === 'number') { throw new SignatureError( message, - 'RPC method "zond_sign" does not support index signatures', + 'RPC method "qrl_sign" does not support index signatures', ); } - const response = await zondRpcMethods.sign( + const response = await qrlRpcMethods.sign( web3Context.requestManager, addressOrIndex, messageFormatted, @@ -822,17 +822,17 @@ export async function sign( } /** - * View additional documentations here: {@link Web3Zond.signTransaction} + * View additional documentations here: {@link Web3QRL.signTransaction} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function signTransaction( - web3Context: Web3Context, + web3Context: Web3Context, transaction: Transaction, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.signTransaction( + const response = await qrlRpcMethods.signTransaction( web3Context.requestManager, - formatTransaction(transaction, ZOND_DATA_FORMAT), + formatTransaction(transaction, QRL_DATA_FORMAT), ); // Some clients only return the encoded signed transaction (e.g. Ganache) // while clients such as Gzond return the desired SignedTransactionInfoAPI object @@ -855,22 +855,22 @@ export async function signTransaction( // TODO Decide what to do with transaction.to // https://github.com/theqrl/web3.js/pull/4525#issuecomment-982330076 /** - * View additional documentations here: {@link Web3Zond.call} + * View additional documentations here: {@link Web3QRL.call} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function call( - web3Context: Web3Context, + web3Context: Web3Context, transaction: TransactionCall, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); - const response = await zondRpcMethods.call( + const response = await qrlRpcMethods.call( web3Context.requestManager, - formatTransaction(transaction, ZOND_DATA_FORMAT), + formatTransaction(transaction, QRL_DATA_FORMAT), blockNumberFormatted, ); @@ -879,21 +879,21 @@ export async function call( // TODO - Investigate whether response is padded as 1.x docs suggest /** - * View additional documentations here: {@link Web3Zond.estimateGas} + * View additional documentations here: {@link Web3QRL.estimateGas} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function estimateGas( - web3Context: Web3Context, + web3Context: Web3Context, transaction: Transaction, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { - const transactionFormatted = formatTransaction(transaction, ZOND_DATA_FORMAT); + const transactionFormatted = formatTransaction(transaction, QRL_DATA_FORMAT); const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); - const response = await zondRpcMethods.estimateGas( + const response = await qrlRpcMethods.estimateGas( web3Context.requestManager, transactionFormatted, blockNumberFormatted, @@ -904,11 +904,11 @@ export async function estimateGas( // TODO - Add input formatting to filter /** - * View additional documentations here: {@link Web3Zond.getPastLogs} + * View additional documentations here: {@link Web3QRL.getPastLogs} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getLogs( - web3Context: Web3Context, + web3Context: Web3Context, filter: Filter, returnFormat: ReturnFormat, ) { @@ -927,7 +927,7 @@ export async function getLogs( const formattedFilter = { ...filter, fromBlock, toBlock }; - const response = await zondRpcMethods.getLogs(web3Context.requestManager, formattedFilter); + const response = await qrlRpcMethods.getLogs(web3Context.requestManager, formattedFilter); const result = response.map(res => { if (typeof res === 'string') { @@ -941,14 +941,14 @@ export async function getLogs( } /** - * View additional documentations here: {@link Web3Zond.getChainId} + * View additional documentations here: {@link Web3QRL.getChainId} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getChainId( - web3Context: Web3Context, + web3Context: Web3Context, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.getChainId(web3Context.requestManager); + const response = await qrlRpcMethods.getChainId(web3Context.requestManager); return format( { format: 'uint' }, @@ -959,25 +959,25 @@ export async function getChainId( } /** - * View additional documentations here: {@link Web3Zond.getProof} + * View additional documentations here: {@link Web3QRL.getProof} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getProof( - web3Context: Web3Context, + web3Context: Web3Context, address: Address, storageKeys: Bytes[], blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { const storageKeysFormatted = storageKeys.map(storageKey => - format({ format: 'bytes' }, storageKey, ZOND_DATA_FORMAT), + format({ format: 'bytes' }, storageKey, QRL_DATA_FORMAT), ); const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); - const response = await zondRpcMethods.getProof( + const response = await qrlRpcMethods.getProof( web3Context.requestManager, address, storageKeysFormatted, @@ -990,21 +990,21 @@ export async function getProof( // TODO Throwing an error with Gzond, but not Infura // TODO gasUsedRatio and reward not formatting /** - * View additional documentations here: {@link Web3Zond.getFeeHistory} + * View additional documentations here: {@link Web3QRL.getFeeHistory} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function getFeeHistory( - web3Context: Web3Context, + web3Context: Web3Context, blockCount: Numbers, newestBlock: BlockNumberOrTag = web3Context.defaultBlock, rewardPercentiles: Numbers[], returnFormat: ReturnFormat, ) { - const blockCountFormatted = format({ format: 'uint' }, blockCount, ZOND_DATA_FORMAT); + const blockCountFormatted = format({ format: 'uint' }, blockCount, QRL_DATA_FORMAT); const newestBlockFormatted = isBlockTag(newestBlock as string) ? (newestBlock as BlockTag) - : format({ format: 'uint' }, newestBlock as Numbers, ZOND_DATA_FORMAT); + : format({ format: 'uint' }, newestBlock as Numbers, QRL_DATA_FORMAT); const rewardPercentilesFormatted = format( { @@ -1017,7 +1017,7 @@ export async function getFeeHistory( NUMBER_DATA_FORMAT, ); - const response = await zondRpcMethods.getFeeHistory( + const response = await qrlRpcMethods.getFeeHistory( web3Context.requestManager, blockCountFormatted, newestBlockFormatted, @@ -1028,22 +1028,22 @@ export async function getFeeHistory( } /** - * View additional documentations here: {@link Web3Zond.createAccessList} + * View additional documentations here: {@link Web3QRL.createAccessList} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function createAccessList( - web3Context: Web3Context, + web3Context: Web3Context, transaction: TransactionForAccessList, blockNumber: BlockNumberOrTag = web3Context.defaultBlock, returnFormat: ReturnFormat, ) { const blockNumberFormatted = isBlockTag(blockNumber as string) ? (blockNumber as BlockTag) - : format({ format: 'uint' }, blockNumber as Numbers, ZOND_DATA_FORMAT); + : format({ format: 'uint' }, blockNumber as Numbers, QRL_DATA_FORMAT); - const response = (await zondRpcMethods.createAccessList( + const response = (await qrlRpcMethods.createAccessList( web3Context.requestManager, - formatTransaction(transaction, ZOND_DATA_FORMAT), + formatTransaction(transaction, QRL_DATA_FORMAT), blockNumberFormatted, )) as unknown as AccessListResult; @@ -1051,17 +1051,17 @@ export async function createAccessList( } /** - * View additional documentations here: {@link Web3Zond.signTypedData} + * View additional documentations here: {@link Web3QRL.signTypedData} * @param web3Context ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. */ export async function signTypedData( - web3Context: Web3Context, + web3Context: Web3Context, address: Address, typedData: Eip712TypedData, useLegacy: boolean, returnFormat: ReturnFormat, ) { - const response = await zondRpcMethods.signTypedData( + const response = await qrlRpcMethods.signTypedData( web3Context.requestManager, address, typedData, diff --git a/packages/web3-zond/src/schemas.ts b/packages/web3-qrl/src/schemas.ts similarity index 100% rename from packages/web3-zond/src/schemas.ts rename to packages/web3-qrl/src/schemas.ts diff --git a/packages/web3-zond/src/types.ts b/packages/web3-qrl/src/types.ts similarity index 92% rename from packages/web3-zond/src/types.ts rename to packages/web3-qrl/src/types.ts index 956983f1..12233ada 100644 --- a/packages/web3-zond/src/types.ts +++ b/packages/web3-qrl/src/types.ts @@ -24,7 +24,7 @@ import { } from '@theqrl/web3-errors'; import { FormatType, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DataFormat, Bytes, ContractAbi, @@ -34,11 +34,11 @@ import { TransactionReceipt, } from '@theqrl/web3-types'; -export type InternalTransaction = FormatType; +export type InternalTransaction = FormatType; export type SendTransactionEvents = { - sending: FormatType; - sent: FormatType; + sending: FormatType; + sent: FormatType; transactionHash: FormatType; receipt: FormatType; confirmation: { @@ -55,8 +55,8 @@ export type SendTransactionEvents = { }; export type SendSignedTransactionEvents = { - sending: FormatType; - sent: FormatType; + sending: FormatType; + sent: FormatType; transactionHash: FormatType; receipt: FormatType; confirmation: { diff --git a/packages/web3-zond/src/utils/decode_signed_transaction.ts b/packages/web3-qrl/src/utils/decode_signed_transaction.ts similarity index 97% rename from packages/web3-zond/src/utils/decode_signed_transaction.ts rename to packages/web3-qrl/src/utils/decode_signed_transaction.ts index 26a16829..61913785 100644 --- a/packages/web3-zond/src/utils/decode_signed_transaction.ts +++ b/packages/web3-qrl/src/utils/decode_signed_transaction.ts @@ -21,7 +21,7 @@ import { TransactionSignedAPI, } from '@theqrl/web3-types'; import { bytesToHex, format, hexToBytes, keccak256 } from '@theqrl/web3-utils'; -import { TransactionFactory } from '@theqrl/web3-zond-accounts'; +import { TransactionFactory } from '@theqrl/web3-qrl-accounts'; import { detectRawTransactionType } from './detect_transaction_type.js'; import { formatTransaction } from './format_transaction.js'; diff --git a/packages/web3-zond/src/utils/detect_transaction_type.ts b/packages/web3-qrl/src/utils/detect_transaction_type.ts similarity index 92% rename from packages/web3-zond/src/utils/detect_transaction_type.ts rename to packages/web3-qrl/src/utils/detect_transaction_type.ts index 323f7cd7..47860f79 100644 --- a/packages/web3-zond/src/utils/detect_transaction_type.ts +++ b/packages/web3-qrl/src/utils/detect_transaction_type.ts @@ -18,10 +18,10 @@ along with web3.js. If not, see . import { format, toHex } from '@theqrl/web3-utils'; import { TransactionTypeParser, Web3Context } from '@theqrl/web3-core'; import { - ZondExecutionAPI, + QRLExecutionAPI, HardforksOrdered, Transaction, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { Web3ValidatorError, isNullish, validator } from '@theqrl/web3-validator'; import { InvalidPropertiesForTransactionTypeError } from '@theqrl/web3-errors'; @@ -56,12 +56,12 @@ export const defaultTransactionTypeParser: TransactionTypeParser = transaction = break; default: - return format({ format: 'uint' }, tx.type, ZOND_DATA_FORMAT); + return format({ format: 'uint' }, tx.type, QRL_DATA_FORMAT); } validateTxTypeAndHandleErrors(txSchema, tx, tx.type); - return format({ format: 'uint' }, tx.type, ZOND_DATA_FORMAT); + return format({ format: 'uint' }, tx.type, QRL_DATA_FORMAT); } if (!isNullish(tx.maxFeePerGas) || !isNullish(tx.maxPriorityFeePerGas)) { @@ -84,7 +84,7 @@ export const defaultTransactionTypeParser: TransactionTypeParser = transaction = export const detectTransactionType = ( transaction: InternalTransaction, - web3Context?: Web3Context, + web3Context?: Web3Context, ) => (web3Context?.transactionTypeParser ?? defaultTransactionTypeParser)( transaction as unknown as Record, diff --git a/packages/web3-zond/src/utils/format_transaction.ts b/packages/web3-qrl/src/utils/format_transaction.ts similarity index 100% rename from packages/web3-zond/src/utils/format_transaction.ts rename to packages/web3-qrl/src/utils/format_transaction.ts diff --git a/packages/web3-zond/src/utils/get_revert_reason.ts b/packages/web3-qrl/src/utils/get_revert_reason.ts similarity index 93% rename from packages/web3-zond/src/utils/get_revert_reason.ts rename to packages/web3-qrl/src/utils/get_revert_reason.ts index b69476f3..1b9fc7e4 100644 --- a/packages/web3-zond/src/utils/get_revert_reason.ts +++ b/packages/web3-qrl/src/utils/get_revert_reason.ts @@ -21,13 +21,13 @@ import { Eip838ExecutionError, InvalidResponseError, } from '@theqrl/web3-errors'; -import { decodeContractErrorData, isAbiErrorFragment } from '@theqrl/web3-zond-abi'; +import { decodeContractErrorData, isAbiErrorFragment } from '@theqrl/web3-qrl-abi'; import { AbiErrorFragment, ContractAbi, DataFormat, DEFAULT_RETURN_FORMAT, - ZondExecutionAPI, + QRLExecutionAPI, TransactionCall, } from '@theqrl/web3-types'; @@ -75,16 +75,16 @@ export const parseTransactionError = (error: unknown, contractAbi?: ContractAbi) }; /** - * Returns the revert reason generated by the ZVM if the transaction were to be executed. + * Returns the revert reason generated by the QRVM if the transaction were to be executed. * * @param web3Context - ({@link Web3Context}) Web3 configuration object that contains things such as the provider, request manager, wallet, etc. - * @param transaction - A transaction object where all properties are optional except `to`, however it's recommended to include the `from` property or it may default to `Z0000000000000000000000000000000000000000` depending on your node or provider. + * @param transaction - A transaction object where all properties are optional except `to`, however it's recommended to include the `from` property or it may default to `Q0000000000000000000000000000000000000000` depending on your node or provider. * @returns `undefined` if no revert reason was given, a revert reason object, a revert reason string, or an `unknown` error */ export async function getRevertReason< ReturnFormat extends DataFormat = typeof DEFAULT_RETURN_FORMAT, >( - web3Context: Web3Context, + web3Context: Web3Context, transaction: TransactionCall, contractAbi?: ContractAbi, returnFormat: ReturnFormat = DEFAULT_RETURN_FORMAT as ReturnFormat, diff --git a/packages/web3-zond/src/utils/get_transaction_error.ts b/packages/web3-qrl/src/utils/get_transaction_error.ts similarity index 100% rename from packages/web3-zond/src/utils/get_transaction_error.ts rename to packages/web3-qrl/src/utils/get_transaction_error.ts diff --git a/packages/web3-zond/src/utils/get_transaction_gas_pricing.ts b/packages/web3-qrl/src/utils/get_transaction_gas_pricing.ts similarity index 93% rename from packages/web3-zond/src/utils/get_transaction_gas_pricing.ts rename to packages/web3-qrl/src/utils/get_transaction_gas_pricing.ts index 06f72715..c2c6c290 100644 --- a/packages/web3-zond/src/utils/get_transaction_gas_pricing.ts +++ b/packages/web3-qrl/src/utils/get_transaction_gas_pricing.ts @@ -17,12 +17,12 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { - ZondExecutionAPI, + QRLExecutionAPI, Numbers, Transaction, DataFormat, FormatType, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; import { UnsupportedTransactionTypeError } from '@theqrl/web3-errors'; @@ -34,8 +34,8 @@ import { InternalTransaction } from '../types.js'; import { getTransactionType } from './transaction_builder.js'; async function getEip1559GasPricing( - transaction: FormatType, - web3Context: Web3Context, + transaction: FormatType, + web3Context: Web3Context, returnFormat: ReturnFormat, ): Promise> { const block = await getBlock(web3Context, web3Context.defaultBlock, false, returnFormat); @@ -60,7 +60,7 @@ async function getEip1559GasPricing( export async function getTransactionGasPricing( transaction: InternalTransaction, - web3Context: Web3Context, + web3Context: Web3Context, returnFormat: ReturnFormat, ): Promise< FormatType<{ maxPriorityFeePerGas?: Numbers; maxFeePerGas?: Numbers }, ReturnFormat> | undefined diff --git a/packages/web3-zond/src/utils/index.ts b/packages/web3-qrl/src/utils/index.ts similarity index 100% rename from packages/web3-zond/src/utils/index.ts rename to packages/web3-qrl/src/utils/index.ts diff --git a/packages/web3-zond/src/utils/prepare_transaction_for_signing.ts b/packages/web3-qrl/src/utils/prepare_transaction_for_signing.ts similarity index 87% rename from packages/web3-zond/src/utils/prepare_transaction_for_signing.ts rename to packages/web3-qrl/src/utils/prepare_transaction_for_signing.ts index c24d91ab..4b125f54 100644 --- a/packages/web3-zond/src/utils/prepare_transaction_for_signing.ts +++ b/packages/web3-qrl/src/utils/prepare_transaction_for_signing.ts @@ -16,24 +16,24 @@ along with web3.js. If not, see . */ import { - ZondExecutionAPI, + QRLExecutionAPI, HexString, PopulatedUnsignedTransaction, Transaction, ValidChains, FormatType, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { Web3Context } from '@theqrl/web3-core'; import { toNumber } from '@theqrl/web3-utils'; -import { TransactionFactory, TxOptions, Common } from '@theqrl/web3-zond-accounts'; +import { TransactionFactory, TxOptions, Common } from '@theqrl/web3-qrl-accounts'; import { isNullish } from '@theqrl/web3-validator'; import { validateTransactionForSigning } from '../validation.js'; import { formatTransaction } from './format_transaction.js'; import { transactionBuilder } from './transaction_builder.js'; -const getZondjsTxDataFromTransaction = ( - transaction: FormatType, +const getQRLjsTxDataFromTransaction = ( + transaction: FormatType, ) => ({ nonce: transaction.nonce, gasLimit: transaction.gasLimit ?? transaction.gas, @@ -53,9 +53,9 @@ const getZondjsTxDataFromTransaction = ( ).maxFeePerGas, }); -const getZondjsTransactionOptions = ( - transaction: FormatType, - web3Context: Web3Context, +const getQRLjsTransactionOptions = ( + transaction: FormatType, + web3Context: Web3Context, ) => { const hasTransactionSigningOptions = (!isNullish(transaction.chain) && !isNullish(transaction.hardfork)) || @@ -119,7 +119,7 @@ const getZondjsTransactionOptions = ( export const prepareTransactionForSigning = async ( transaction: Transaction, - web3Context: Web3Context, + web3Context: Web3Context, seed?: HexString | Uint8Array, fillGasPrice = false, fillGasLimit = true, @@ -133,14 +133,14 @@ export const prepareTransactionForSigning = async ( })) as unknown as PopulatedUnsignedTransaction; const formattedTransaction = formatTransaction( populatedTransaction, - ZOND_DATA_FORMAT, - ) as unknown as FormatType; + QRL_DATA_FORMAT, + ) as unknown as FormatType; validateTransactionForSigning( - formattedTransaction as unknown as FormatType, + formattedTransaction as unknown as FormatType, ); return TransactionFactory.fromTxData( - getZondjsTxDataFromTransaction(formattedTransaction), - getZondjsTransactionOptions(formattedTransaction, web3Context), + getQRLjsTxDataFromTransaction(formattedTransaction), + getQRLjsTransactionOptions(formattedTransaction, web3Context), ); }; diff --git a/packages/web3-zond/src/utils/reject_if_block_timeout.ts b/packages/web3-qrl/src/utils/reject_if_block_timeout.ts similarity index 96% rename from packages/web3-zond/src/utils/reject_if_block_timeout.ts rename to packages/web3-qrl/src/utils/reject_if_block_timeout.ts index de2587be..49afceb8 100644 --- a/packages/web3-zond/src/utils/reject_if_block_timeout.ts +++ b/packages/web3-qrl/src/utils/reject_if_block_timeout.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZondExecutionAPI, Bytes, Web3BaseProvider, BlockHeaderOutput } from '@theqrl/web3-types'; +import { QRLExecutionAPI, Bytes, Web3BaseProvider, BlockHeaderOutput } from '@theqrl/web3-types'; import { Web3Context } from '@theqrl/web3-core'; import { rejectIfConditionAtInterval } from '@theqrl/web3-utils'; @@ -29,7 +29,7 @@ export interface ResourceCleaner { } function resolveByPolling( - web3Context: Web3Context, + web3Context: Web3Context, starterBlockNumber: number, transactionHash?: Bytes, ): [Promise, ResourceCleaner] { @@ -61,7 +61,7 @@ function resolveByPolling( } async function resolveBySubscription( - web3Context: Web3Context, + web3Context: Web3Context, starterBlockNumber: number, transactionHash?: Bytes, ): Promise<[Promise, ResourceCleaner]> { @@ -157,7 +157,7 @@ async function resolveBySubscription( for POS NWs, we can skip checking getBlockNumber(); after interval and calculate only based on time that certain num of blocked are mined after that for internal double check, can do one getBlockNumber() call and timeout. */ export async function rejectIfBlockTimeout( - web3Context: Web3Context, + web3Context: Web3Context, transactionHash?: Bytes, ): Promise<[Promise, ResourceCleaner]> { const { provider } = web3Context.requestManager; diff --git a/packages/web3-zond/src/utils/transaction_builder.ts b/packages/web3-qrl/src/utils/transaction_builder.ts similarity index 91% rename from packages/web3-zond/src/utils/transaction_builder.ts rename to packages/web3-qrl/src/utils/transaction_builder.ts index 8b62e923..7473733f 100644 --- a/packages/web3-zond/src/utils/transaction_builder.ts +++ b/packages/web3-qrl/src/utils/transaction_builder.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { - ZondExecutionAPI, + QRLExecutionAPI, Address, HexString, ValidChains, @@ -31,10 +31,10 @@ import { DataFormat, DEFAULT_RETURN_FORMAT, FormatType, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { Web3Context } from '@theqrl/web3-core'; -import { publicKeyToAddress } from '@theqrl/web3-zond-accounts'; +import { publicKeyToAddress } from '@theqrl/web3-qrl-accounts'; import { getId } from '@theqrl/web3-net'; import { isNullish, isNumber, isAddressString } from '@theqrl/web3-validator'; import { @@ -57,7 +57,7 @@ import { getTransactionGasPricing } from './get_transaction_gas_pricing.js'; export const getTransactionFromOrToAttr = ( attr: 'from' | 'to', - web3Context: Web3Context, + web3Context: Web3Context, transaction?: | Transaction | TransactionWithFromLocalWalletIndex @@ -98,12 +98,12 @@ export const getTransactionFromOrToAttr = ( }; export const getTransactionNonce = async ( - web3Context: Web3Context, + web3Context: Web3Context, address?: Address, returnFormat: ReturnFormat = DEFAULT_RETURN_FORMAT as ReturnFormat, ) => { if (isNullish(address)) { - // TODO if (web3.zond.accounts.wallet) use address from local wallet + // TODO if (web3.qrl.accounts.wallet) use address from local wallet throw new UnableToPopulateNonceError(); } @@ -111,14 +111,14 @@ export const getTransactionNonce = async ( }; export const getTransactionType = ( - transaction: FormatType, - web3Context: Web3Context, + transaction: FormatType, + web3Context: Web3Context, ) => { const inferredType = detectTransactionType(transaction, web3Context); if (!isNullish(inferredType)) return inferredType; if (!isNullish(web3Context.defaultTransactionType)) - return format({ format: 'uint' }, web3Context.defaultTransactionType, ZOND_DATA_FORMAT); + return format({ format: 'uint' }, web3Context.defaultTransactionType, QRL_DATA_FORMAT); return undefined; }; @@ -127,7 +127,7 @@ export const getTransactionType = ( // as some of the properties are dependent on others export async function defaultTransactionBuilder(options: { transaction: Transaction; - web3Context: Web3Context; + web3Context: Web3Context; seed?: HexString | Uint8Array; fillGasPrice?: boolean; fillGasLimit?: boolean; @@ -161,7 +161,7 @@ export async function defaultTransactionBuilder(option populatedTransaction.nonce = await getTransactionNonce( options.web3Context, populatedTransaction.from, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } @@ -212,13 +212,13 @@ export async function defaultTransactionBuilder(option isNullish(populatedTransaction.chainId) && isNullish(populatedTransaction.common?.customChain.chainId) ) { - populatedTransaction.chainId = await getChainId(options.web3Context, ZOND_DATA_FORMAT); + populatedTransaction.chainId = await getChainId(options.web3Context, QRL_DATA_FORMAT); } if (isNullish(populatedTransaction.networkId)) { populatedTransaction.networkId = (options.web3Context.defaultNetworkId as string) ?? - (await getId(options.web3Context, ZOND_DATA_FORMAT)); + (await getId(options.web3Context, QRL_DATA_FORMAT)); } if (isNullish(populatedTransaction.gasLimit) && !isNullish(populatedTransaction.gas)) { @@ -238,7 +238,7 @@ export async function defaultTransactionBuilder(option ...(await getTransactionGasPricing( populatedTransaction, options.web3Context, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, )), }; if ( @@ -250,11 +250,11 @@ export async function defaultTransactionBuilder(option options.web3Context, populatedTransaction, 'latest', - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); populatedTransaction = { ...populatedTransaction, - gas: format({ format: 'uint' }, fillGasLimit as Numbers, ZOND_DATA_FORMAT), + gas: format({ format: 'uint' }, fillGasLimit as Numbers, QRL_DATA_FORMAT), }; } return populatedTransaction as ReturnType; @@ -263,7 +263,7 @@ export async function defaultTransactionBuilder(option export const transactionBuilder = async ( options: { transaction: Transaction; - web3Context: Web3Context; + web3Context: Web3Context; seed?: HexString | Uint8Array; fillGasPrice?: boolean; fillGasLimit?: boolean; diff --git a/packages/web3-zond/src/utils/try_send_transaction.ts b/packages/web3-qrl/src/utils/try_send_transaction.ts similarity index 95% rename from packages/web3-zond/src/utils/try_send_transaction.ts rename to packages/web3-qrl/src/utils/try_send_transaction.ts index 30023392..0a3a9307 100644 --- a/packages/web3-zond/src/utils/try_send_transaction.ts +++ b/packages/web3-qrl/src/utils/try_send_transaction.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { ZondExecutionAPI, Bytes } from '@theqrl/web3-types'; +import { QRLExecutionAPI, Bytes } from '@theqrl/web3-types'; import { AsyncFunction, rejectIfTimeout } from '@theqrl/web3-utils'; import { TransactionSendTimeoutError } from '@theqrl/web3-errors'; @@ -30,7 +30,7 @@ import { rejectIfBlockTimeout } from './reject_if_block_timeout.js'; * @returns the Promise returned by the `sendTransactionFunc`. */ export async function trySendTransaction( - web3Context: Web3Context, + web3Context: Web3Context, sendTransactionFunc: AsyncFunction, transactionHash?: Bytes, ): Promise { diff --git a/packages/web3-zond/src/utils/wait_for_transaction_receipt.ts b/packages/web3-qrl/src/utils/wait_for_transaction_receipt.ts similarity index 94% rename from packages/web3-zond/src/utils/wait_for_transaction_receipt.ts rename to packages/web3-qrl/src/utils/wait_for_transaction_receipt.ts index 0a3ebd6d..4cce948e 100644 --- a/packages/web3-zond/src/utils/wait_for_transaction_receipt.ts +++ b/packages/web3-qrl/src/utils/wait_for_transaction_receipt.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { TransactionPollingTimeoutError } from '@theqrl/web3-errors'; -import { ZondExecutionAPI, Bytes, TransactionReceipt, DataFormat } from '@theqrl/web3-types'; +import { QRLExecutionAPI, Bytes, TransactionReceipt, DataFormat } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-cycle import { pollTillDefined, rejectIfTimeout } from '@theqrl/web3-utils'; @@ -27,7 +27,7 @@ import { rejectIfBlockTimeout } from './reject_if_block_timeout.js'; import { getTransactionReceipt } from '../rpc_method_wrappers.js'; export async function waitForTransactionReceipt( - web3Context: Web3Context, + web3Context: Web3Context, transactionHash: Bytes, returnFormat: ReturnFormat, ): Promise { diff --git a/packages/web3-zond/src/utils/watch_transaction_by_pooling.ts b/packages/web3-qrl/src/utils/watch_transaction_by_pooling.ts similarity index 92% rename from packages/web3-zond/src/utils/watch_transaction_by_pooling.ts rename to packages/web3-qrl/src/utils/watch_transaction_by_pooling.ts index 46ac07af..bf96f33a 100644 --- a/packages/web3-zond/src/utils/watch_transaction_by_pooling.ts +++ b/packages/web3-qrl/src/utils/watch_transaction_by_pooling.ts @@ -14,10 +14,10 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Bytes, ZondExecutionAPI, TransactionReceipt } from '@theqrl/web3-types'; +import { Bytes, QRLExecutionAPI, TransactionReceipt } from '@theqrl/web3-types'; import { Web3Context, Web3PromiEvent } from '@theqrl/web3-core'; import { format, numberToHex } from '@theqrl/web3-utils'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { DataFormat } from '@theqrl/web3-types'; import { SendSignedTransactionEvents, SendTransactionEvents } from '../types.js'; @@ -28,7 +28,7 @@ export type Web3PromiEventEventTypeBase = | SendSignedTransactionEvents; export type WaitProps = { - web3Context: Web3Context; + web3Context: Web3Context; transactionReceipt: TransactionReceipt; transactionPromiEvent: Web3PromiEvent>; returnFormat: ReturnFormat; @@ -56,7 +56,7 @@ export const watchTransactionByPolling = < if (confirmations >= web3Context.transactionConfirmationBlocks) clearInterval(intervalId); - const nextBlock = await zondRpcMethods.getBlockByNumber( + const nextBlock = await qrlRpcMethods.getBlockByNumber( web3Context.requestManager, numberToHex(BigInt(transactionReceipt.blockNumber) + BigInt(confirmations)), false, diff --git a/packages/web3-zond/src/utils/watch_transaction_by_subscription.ts b/packages/web3-qrl/src/utils/watch_transaction_by_subscription.ts similarity index 100% rename from packages/web3-zond/src/utils/watch_transaction_by_subscription.ts rename to packages/web3-qrl/src/utils/watch_transaction_by_subscription.ts diff --git a/packages/web3-zond/src/utils/watch_transaction_for_confirmations.ts b/packages/web3-qrl/src/utils/watch_transaction_for_confirmations.ts similarity index 95% rename from packages/web3-zond/src/utils/watch_transaction_for_confirmations.ts rename to packages/web3-qrl/src/utils/watch_transaction_for_confirmations.ts index bcf44d78..0a72553b 100644 --- a/packages/web3-zond/src/utils/watch_transaction_for_confirmations.ts +++ b/packages/web3-qrl/src/utils/watch_transaction_for_confirmations.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Bytes, ZondExecutionAPI, Web3BaseProvider, TransactionReceipt } from '@theqrl/web3-types'; +import { Bytes, QRLExecutionAPI, Web3BaseProvider, TransactionReceipt } from '@theqrl/web3-types'; import { Web3Context, Web3PromiEvent } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { isNullish } from '@theqrl/web3-validator'; @@ -36,7 +36,7 @@ export function watchTransactionForConfirmations< Web3PromiEventEventType extends Web3PromiEventEventTypeBase, ResolveType = TransactionReceipt, >( - web3Context: Web3Context, + web3Context: Web3Context, transactionPromiEvent: Web3PromiEvent, transactionReceipt: TransactionReceipt, transactionHash: Bytes, diff --git a/packages/web3-zond/src/validation.ts b/packages/web3-qrl/src/validation.ts similarity index 99% rename from packages/web3-zond/src/validation.ts rename to packages/web3-qrl/src/validation.ts index a4ae0526..9868deb4 100644 --- a/packages/web3-zond/src/validation.ts +++ b/packages/web3-qrl/src/validation.ts @@ -23,7 +23,7 @@ import { TransactionCall, Transaction, TransactionWithSenderAPI, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { isAddressString, @@ -238,7 +238,7 @@ export const validateTransactionForSigning = ( validateBaseChain(transaction); validateHardfork(transaction); - const formattedTransaction = formatTransaction(transaction as Transaction, ZOND_DATA_FORMAT); + const formattedTransaction = formatTransaction(transaction as Transaction, QRL_DATA_FORMAT); validateGas(formattedTransaction); if ( diff --git a/packages/web3-zond/src/web3_zond.ts b/packages/web3-qrl/src/web3_qrl.ts similarity index 84% rename from packages/web3-zond/src/web3_zond.ts rename to packages/web3-qrl/src/web3_qrl.ts index 47782f98..4ad8364f 100644 --- a/packages/web3-zond/src/web3_zond.ts +++ b/packages/web3-qrl/src/web3_qrl.ts @@ -29,7 +29,7 @@ import { LogsOutput, Transaction, TransactionCall, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, TransactionWithFromLocalWalletIndex, TransactionWithToLocalWalletIndex, TransactionWithFromAndToLocalWalletIndex, @@ -43,8 +43,8 @@ import { } from '@theqrl/web3-types'; import { isSupportedProvider, Web3Context, Web3ContextInitOptions } from '@theqrl/web3-core'; import { TransactionNotFound } from '@theqrl/web3-errors'; -import { toChecksumAddress, isNullish, zondUnitMap } from '@theqrl/web3-utils'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { toChecksumAddress, isNullish, qrlUnitMap } from '@theqrl/web3-utils'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import * as rpcMethodsWrappers from './rpc_method_wrappers.js'; import { SendTransactionOptions } from './types.js'; @@ -73,7 +73,7 @@ export const registeredSubscriptions = { newBlockHeaders: NewHeadsSubscription, // the same as newHeads. just for support API like in version 1.x }; -export class Web3Zond extends Web3Context { +export class Web3QRL extends Web3Context { public constructor( providerOrContext?: SupportedProviders | Web3ContextInitOptions | string, ) { @@ -101,15 +101,15 @@ export class Web3Zond extends Web3Context "63" * ``` */ public async getProtocolVersion() { - return zondRpcMethods.getProtocolVersion(this.requestManager); + return qrlRpcMethods.getProtocolVersion(this.requestManager); } // TODO Add returnFormat parameter @@ -119,7 +119,7 @@ export class Web3Zond extends Web3Context { * startingBlock: 100, * currentBlock: 312, @@ -130,7 +130,7 @@ export class Web3Zond extends Web3Context 20000000000n * - * web3.zond.getGasPrice({ number: FMT_NUMBER.HEX , bytes: FMT_BYTES.HEX }).then(console.log); + * web3.qrl.getGasPrice({ number: FMT_NUMBER.HEX , bytes: FMT_BYTES.HEX }).then(console.log); * > "0x4a817c800" * ``` */ @@ -156,10 +156,10 @@ export class Web3Zond extends Web3Context 20000000000n * - * web3.zond.getMaxPriorityFeePerGas({ number: FMT_NUMBER.HEX , bytes: FMT_BYTES.HEX }).then(console.log); + * web3.qrl.getMaxPriorityFeePerGas({ number: FMT_NUMBER.HEX , bytes: FMT_BYTES.HEX }).then(console.log); * > "0x4a817c800" * ``` */ @@ -174,18 +174,18 @@ export class Web3Zond extends Web3Context { * maxFeePerGas: 20000000000n, * maxPriorityFeePerGas: 20000000000n, * baseFeePerGas: 20000000000n * } * - * web3.zond.calculateFeeData(zondUnitMap.Gplanck, 2n).then(console.log); + * web3.qrl.calculateFeeData(qrlUnitMap.Gplanck, 2n).then(console.log); * > { * maxFeePerGas: 40000000000n, * maxPriorityFeePerGas: 20000000000n, @@ -195,7 +195,7 @@ export class Web3Zond extends Web3Context { const block = await this.getBlock<{ number: FMT_NUMBER.BIGINT; bytes: FMT_BYTES.HEX }>( undefined, @@ -234,12 +234,12 @@ export class Web3Zond extends Web3Context ["Z11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", "ZDCc6960376d6C6dEa93647383FfB245CfCed97Cf"] + * web3.qrl.getAccounts().then(console.log); + * > ["Q11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", "QDCc6960376d6C6dEa93647383FfB245CfCed97Cf"] * ``` */ public async getAccounts() { - const hexAddresses = (await zondRpcMethods.getAccounts(this.requestManager)) ?? []; + const hexAddresses = (await qrlRpcMethods.getAccounts(this.requestManager)) ?? []; return hexAddresses.map(address => toChecksumAddress(address)); } @@ -248,10 +248,10 @@ export class Web3Zond extends Web3Context 2744n * - * web3.zond.getBlockNumber({ number: FMT_NUMBER.HEX , bytes: FMT_BYTES.HEX }).then(console.log); + * web3.qrl.getBlockNumber({ number: FMT_NUMBER.HEX , bytes: FMT_BYTES.HEX }).then(console.log); * > "0xab8" * ``` */ @@ -265,15 +265,15 @@ export class Web3Zond extends Web3Context 1000000000000n * - * web3.zond.getBalance("Z407d73d8a49eeb85d32cf465507dd71d507100c1").then(console.log); + * web3.qrl.getBalance("Q407d73d8a49eeb85d32cf465507dd71d507100c1").then(console.log); * > "0xe8d4a51000" * ``` */ @@ -290,15 +290,15 @@ export class Web3Zond extends Web3Context "0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234" * - * web3.zond.getStorageAt( + * web3.qrl.getStorageAt( * "0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234", * 0, * undefined, @@ -331,16 +331,16 @@ export class Web3Zond extends Web3Context "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056" * - * web3.zond.getCode( - * "Z407d73d8a49eeb85d32cf465507dd71d507100c1", + * web3.qrl.getCode( + * "Q407d73d8a49eeb85d32cf465507dd71d507100c1", * undefined, * { number: FMT_NUMBER.HEX , bytes: FMT_BYTES.UINT8ARRAY } * ).then(console.log); @@ -364,17 +364,17 @@ export class Web3Zond extends Web3Context { * hash: '0x7dbfdc6a7a67a670cb9b0c3f81ca60c007762f1e4e598cb027a470678ff26d0d', * parentHash: '0x0000000000000000000000000000000000000000000000000000000000000000', - * miner: 'Z0000000000000000000000000000000000000000', + * miner: 'Q0000000000000000000000000000000000000000', * stateRoot: '0x5ed9882897d363c4632a6e67fba6203df61bd994813dcf048da59be442a9c6c4', * transactionsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', * receiptsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', @@ -390,7 +390,7 @@ export class Web3Zond extends Web3Context { * hash: '0x7dbfdc6a7a67a670cb9b0c3f81ca60c007762f1e4e598cb027a470678ff26d0d', * parentHash: '0x0000000000000000000000000000000000000000000000000000000000000000', - * miner: 'Z0000000000000000000000000000000000000000', + * miner: 'Q0000000000000000000000000000000000000000', * stateRoot: '0x5ed9882897d363c4632a6e67fba6203df61bd994813dcf048da59be442a9c6c4', * transactionsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', * receiptsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', @@ -424,16 +424,16 @@ export class Web3Zond extends Web3Context 1n * - * web3.zond.getBlockTransactionCount( - * "Z407d73d8a49eeb85d32cf465507dd71d507100c1", + * web3.qrl.getBlockTransactionCount( + * "Q407d73d8a49eeb85d32cf465507dd71d507100c1", * { number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.HEX } * ).then(console.log); * > 1 @@ -454,7 +454,7 @@ export class Web3Zond extends Web3Context [ * { * hash: '0x73aea70e969941f23f9d24103e91aa1f55c7964eb13daf1c9360c308a72686dc', @@ -525,8 +525,8 @@ export class Web3Zond extends Web3Context [ * { * hash: '0x73aea70e969941f23f9d24103e91aa1f55c7964eb13daf1c9360c308a72686dc', @@ -563,8 +563,8 @@ export class Web3Zond extends Web3Context { * transactionHash: '0xdf7756865c2056ce34c4eabe4eff42ad251a9f920a1c620c00b4ea0988731d3f', * transactionIndex: 0n, * blockNumber: 2n, * blockHash: '0xeb1565a08b23429552dafa92e32409f42eb43944f7611963c63ce40e7243941a', - * from: 'Z6e599da0bff7a6598ac1224e4985430bf16458a4', - * to: 'Z6f1df96865d09d21e8f3f9a7fba3b17a11c7c53c', + * from: 'Q6e599da0bff7a6598ac1224e4985430bf16458a4', + * to: 'Q6f1df96865d09d21e8f3f9a7fba3b17a11c7c53c', * cumulativeGasUsed: 21000n, * gasUsed: 21000n, * logs: [], @@ -687,7 +687,7 @@ export class Web3Zond extends Web3Context 1n * - * web3.zond.getTransactionCount( - * "Z407d73d8a49eeb85d32cf465507dd71d507100c1", + * web3.qrl.getTransactionCount( + * "Q407d73d8a49eeb85d32cf465507dd71d507100c1", * undefined, * { number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.HEX } * ).then(console.log); @@ -757,23 +757,23 @@ export class Web3Zond extends Web3Context 0xdf7756865c2056ce34c4eabe4eff42ad251a9f920a1c620c00b4ea0988731d3f * - * web3.zond.sendTransaction(transaction).then(console.log); + * web3.qrl.sendTransaction(transaction).then(console.log); * > 0xdf7756865c2056ce34c4eabe4eff42ad251a9f920a1c620c00b4ea0988731d3f * - * web3.zond.sendTransaction(transaction).catch(console.log); + * web3.qrl.sendTransaction(transaction).catch(console.log); * > * * // Example using options.ignoreGasPricing = true - * web3.zond.sendTransaction(transaction, undefined, { ignoreGasPricing: true }).then(console.log); + * web3.qrl.sendTransaction(transaction, undefined, { ignoreGasPricing: true }).then(console.log); * > 0xdf7756865c2056ce34c4eabe4eff42ad251a9f920a1c620c00b4ea0988731d3f * ``` * @@ -781,10 +781,10 @@ export class Web3Zond extends Web3Context console.log(transactionToBeSent)); + * web3.qrl.sendTransaction(transaction).on('sending', transactionToBeSent => console.log(transactionToBeSent)); * > { - * from: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', - * to: 'Z6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', + * from: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + * to: 'Q6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', * value: '0x1', * maxFeePerGas: '0x77359400', * maxPriorityFeePerGas: '0x0' @@ -792,10 +792,10 @@ export class Web3Zond extends Web3Context console.log(sentTransaction)); + * web3.qrl.sendTransaction(transaction).on('sent', sentTransaction => console.log(sentTransaction)); * > { - * from: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', - * to: 'Z6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', + * from: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + * to: 'Q6f1DF96865D09d21e8f3f9a7fbA3b17A11c7C53C', * value: '0x1', * maxFeePerGas: '0x77359400', * maxPriorityFeePerGas: '0x0' @@ -803,19 +803,19 @@ export class Web3Zond extends Web3Context console.log(transactionHash)); + * web3.qrl.sendTransaction(transaction).on('transactionHash', transactionHash => console.log(transactionHash)); * > 0xdf7756865c2056ce34c4eabe4eff42ad251a9f920a1c620c00b4ea0988731d3f * ``` * - `receipt` * ```ts - * web3.zond.sendTransaction(transaction).on('receipt', receipt => console.log(receipt)); + * web3.qrl.sendTransaction(transaction).on('receipt', receipt => console.log(receipt)); * > { * transactionHash: '0xdf7756865c2056ce34c4eabe4eff42ad251a9f920a1c620c00b4ea0988731d3f', * transactionIndex: 0n, * blockNumber: 2n, * blockHash: '0xeb1565a08b23429552dafa92e32409f42eb43944f7611963c63ce40e7243941a', - * from: 'Z6e599da0bff7a6598ac1224e4985430bf16458a4', - * to: 'Z6f1df96865d09d21e8f3f9a7fba3b17a11c7c53c', + * from: 'Q6e599da0bff7a6598ac1224e4985430bf16458a4', + * to: 'Q6f1df96865d09d21e8f3f9a7fba3b17a11c7c53c', * cumulativeGasUsed: 21000n, * gasUsed: 21000n, * logs: [], @@ -827,7 +827,7 @@ export class Web3Zond extends Web3Context console.log(confirmation)); + * web3.qrl.sendTransaction(transaction).on('confirmation', confirmation => console.log(confirmation)); * > { * confirmations: 1n, * receipt: { @@ -835,8 +835,8 @@ export class Web3Zond extends Web3Context console.log); + * web3.qrl.sendTransaction(transaction).on('error', error => console.log); * > * ``` */ @@ -873,14 +873,14 @@ export class Web3Zond extends Web3Context 0xed8c241ea44d57f4605dc22c63500de46254d6c7844fd65fa438b128c80cf700 * - * web3.zond.sendSignedTransaction(signedTransaction).then(console.log); + * web3.qrl.sendSignedTransaction(signedTransaction).then(console.log); * > 0xed8c241ea44d57f4605dc22c63500de46254d6c7844fd65fa438b128c80cf700 * - * web3.zond.sendSignedTransaction(signedTransaction).catch(console.log); + * web3.qrl.sendSignedTransaction(signedTransaction).catch(console.log); * > * ``` * @@ -888,33 +888,33 @@ export class Web3Zond extends Web3Context console.log(transactionToBeSent)); + * web3.qrl.sendSignedTransaction(signedTransaction).on('sending', transactionToBeSent => console.log(transactionToBeSent)); * > "0xf86580843b9aca0182520894e899f0130fd099c0b896b2ce4e5e15a25b23139a0180820a95a03a42d53ca5b71f845e1cd4c65359b05446a85d16881372d3bfaab8980935cb04a0711497bc8dd3b541152e2fed14fe650a647f1f0edab0d386ad9506f0e642410f" * ``` * - `sent` * ```ts - * web3.zond.sendSignedTransaction(signedTransaction).on('sent', sentTransaction => console.log(sentTransaction)); + * web3.qrl.sendSignedTransaction(signedTransaction).on('sent', sentTransaction => console.log(sentTransaction)); * > "0xf86580843b9aca0182520894e899f0130fd099c0b896b2ce4e5e15a25b23139a0180820a95a03a42d53ca5b71f845e1cd4c65359b05446a85d16881372d3bfaab8980935cb04a0711497bc8dd3b541152e2fed14fe650a647f1f0edab0d386ad9506f0e642410f" * ``` * - `transactionHash` * ```ts - * web3.zond.sendSignedTransaction(signedTransaction).on('transactionHash', transactionHash => console.log(transactionHash)); + * web3.qrl.sendSignedTransaction(signedTransaction).on('transactionHash', transactionHash => console.log(transactionHash)); * > 0xed8c241ea44d57f4605dc22c63500de46254d6c7844fd65fa438b128c80cf700 * ``` * - `receipt` * ```ts - * web3.zond.sendSignedTransaction(signedTransaction).on('receipt', receipt => console.log(receipt)); + * web3.qrl.sendSignedTransaction(signedTransaction).on('receipt', receipt => console.log(receipt)); * > { * blockHash: '0xff2b1687995d81066361bc6affe4455746120a7d4bb75fc938211a2692a50081', * blockNumber: 1n, * cumulativeGasUsed: 21000n, * effectiveGasPrice: 1000000001n, - * from: 'Ze899f0130fd099c0b896b2ce4e5e15a25b23139a', + * from: 'Qe899f0130fd099c0b896b2ce4e5e15a25b23139a', * gasUsed: 21000n, * logs: [], * logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', * status: 1n, - * to: 'Ze899f0130fd099c0b896b2ce4e5e15a25b23139a', + * to: 'Qe899f0130fd099c0b896b2ce4e5e15a25b23139a', * transactionHash: '0xed8c241ea44d57f4605dc22c63500de46254d6c7844fd65fa438b128c80cf700', * transactionIndex: 0n, * type: 2n @@ -922,7 +922,7 @@ export class Web3Zond extends Web3Context console.log(confirmation)); + * web3.qrl.sendSignedTransaction(signedTransaction).on('confirmation', confirmation => console.log(confirmation)); * > { * confirmations: 1n, * receipt: { @@ -930,12 +930,12 @@ export class Web3Zond extends Web3Context console.log(error)); + * web3.qrl.sendSignedTransaction(signedTransaction).on('error', error => console.log(error)); * > * ``` */ @@ -965,11 +965,11 @@ export class Web3Zond extends Web3Context "0x30755ed65396facf86c53e6217c52b4daebe72aa4941d89635409de4c9c7f9466d4e9aaec7977f05e923889b33c0d0dd27d7226b6e6f56ce737465c5cfd04be400" * * // Using an unlocked account managed by connected RPC client - * web3.zond.sign("0x48656c6c6f20776f726c64", "Z11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", { number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.UINT8ARRAY }).then(console.log); + * web3.qrl.sign("0x48656c6c6f20776f726c64", "Q11f4d0A3c12e86B4b5F39B213F7E19D048276DAe", { number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.UINT8ARRAY }).then(console.log); * > Uint8Array(65) [ * 48, 117, 94, 214, 83, 150, 250, 207, 134, 197, 62, * 98, 23, 197, 43, 77, 174, 190, 114, 170, 73, 65, @@ -981,7 +981,7 @@ export class Web3Zond extends Web3Context "0x30755ed65396facf86c53e6217c52b4daebe72aa4941d89635409de4c9c7f9466d4e9aaec7977f05e923889b33c0d0dd27d7226b6e6f56ce737465c5cfd04be400" */ public async sign( @@ -999,8 +999,8 @@ export class Web3Zond extends Web3Context { * raw: '0xf86501843b9aca0182520894e899f0130fd099c0b896b2ce4e5e15a25b23139a0180820a96a0adb3468dbb4dce89fe1785ea9182e85fb56b399b378f82b93af7a8a12a4f9679a027d37d736e9bcf00121f78b2d10e4404fa5c45856d62b746574345f5cd278097', * tx: { @@ -1021,12 +1021,12 @@ export class Web3Zond extends Web3Context { * raw: '0xf86501843b9aca0182520894e899f0130fd099c0b896b2ce4e5e15a25b23139a0180820a96a0adb3468dbb4dce89fe1785ea9182e85fb56b399b378f82b93af7a8a12a4f9679a027d37d736e9bcf00121f78b2d10e4404fa5c45856d62b746574345f5cd278097', * tx: { @@ -1038,7 +1038,7 @@ export class Web3Zond extends Web3Context 21000n * - * web3.zond.estimateGas(transaction, { number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.HEX }).then(console.log); + * web3.qrl.estimateGas(transaction, { number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.HEX }).then(console.log); * > 21000 * ``` */ @@ -1112,8 +1112,8 @@ export class Web3Zond extends Web3Context [{ @@ -1124,13 +1124,13 @@ export class Web3Zond extends Web3Context ['Zae0B295369a9FD31d5F28D9Ec85E40f4cb692BAf', 'Zde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'] + * web3.qrl.requestAccounts().then(console.log); + * > ['Qae0B295369a9FD31d5F28D9Ec85E40f4cb692BAf', 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'] * ``` */ public async requestAccounts() { - return zondRpcMethods.requestAccounts(this.requestManager); + return qrlRpcMethods.requestAccounts(this.requestManager); } /** @@ -1177,10 +1177,10 @@ export class Web3Zond extends Web3Context 61n * - * web3.zond.getChainId({ number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.HEX }).then(console.log); + * web3.qrl.getChainId({ number: FMT_NUMBER.NUMBER , bytes: FMT_BYTES.HEX }).then(console.log); * > 61 * ``` */ @@ -1194,29 +1194,29 @@ export class Web3Zond extends Web3Context "Mist/v0.9.3/darwin/go1.4.1" * ``` */ public async getNodeInfo() { - return zondRpcMethods.getNodeInfo(this.requestManager); + return qrlRpcMethods.getNodeInfo(this.requestManager); } /** * @param address The Address of the account or contract. * @param storageKeys Array of storage-keys which should be proofed and included. See {@link web3.getStorageAt}. - * @param blockNumber ({@link BlockNumberOrTag} defaults to {@link Web3Zond.defaultBlock}) - Specifies what block to use as the current state of the blockchain while processing the gas estimation. + * @param blockNumber ({@link BlockNumberOrTag} defaults to {@link Web3QRL.defaultBlock}) - Specifies what block to use as the current state of the blockchain while processing the gas estimation. * @param returnFormat ({@link DataFormat} defaults to {@link DEFAULT_RETURN_FORMAT}) - Specifies how the return data from the call should be formatted. * @returns The account and storage-values of the specified account including the Merkle-proof as described in [EIP-1186](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1186.md). * * ```ts - * web3.zond.getProof( - * "Z1234567890123456789012345678901234567890", + * web3.qrl.getProof( + * "Q1234567890123456789012345678901234567890", * ["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001"], * "latest" * ).then(console.log); * > { - * "address": "Z1234567890123456789012345678901234567890", + * "address": "Q1234567890123456789012345678901234567890", * "accountProof": [ * "0xf90211a090dcaf88c40c7bbc95a912cbdde67c175767b31173df9ee4b0d733bfdd511c43a0babe369f6b12092f49181ae04ca173fb68d1a5456f18d20fa32cba73954052bda0473ecf8a7e36a829e75039a3b055e51b8332cbf03324ab4af2066bbd6fbf0021a0bbda34753d7aa6c38e603f360244e8f59611921d9e1f128372fec0d586d4f9e0a04e44caecff45c9891f74f6a2156735886eedf6f1a733628ebc802ec79d844648a0a5f3f2f7542148c973977c8a1e154c4300fec92f755f7846f1b734d3ab1d90e7a0e823850f50bf72baae9d1733a36a444ab65d0a6faaba404f0583ce0ca4dad92da0f7a00cbe7d4b30b11faea3ae61b7f1f2b315b61d9f6bd68bfe587ad0eeceb721a07117ef9fc932f1a88e908eaead8565c19b5645dc9e5b1b6e841c5edbdfd71681a069eb2de283f32c11f859d7bcf93da23990d3e662935ed4d6b39ce3673ec84472a0203d26456312bbc4da5cd293b75b840fc5045e493d6f904d180823ec22bfed8ea09287b5c21f2254af4e64fca76acc5cd87399c7f1ede818db4326c98ce2dc2208a06fc2d754e304c48ce6a517753c62b1a9c1d5925b89707486d7fc08919e0a94eca07b1c54f15e299bd58bdfef9741538c7828b5d7d11a489f9c20d052b3471df475a051f9dd3739a927c89e357580a4c97b40234aa01ed3d5e0390dc982a7975880a0a089d613f26159af43616fd9455bb461f4869bfede26f2130835ed067a8b967bfb80", * "0xf90211a0395d87a95873cd98c21cf1df9421af03f7247880a2554e20738eec2c7507a494a0bcf6546339a1e7e14eb8fb572a968d217d2a0d1f3bc4257b22ef5333e9e4433ca012ae12498af8b2752c99efce07f3feef8ec910493be749acd63822c3558e6671a0dbf51303afdc36fc0c2d68a9bb05dab4f4917e7531e4a37ab0a153472d1b86e2a0ae90b50f067d9a2244e3d975233c0a0558c39ee152969f6678790abf773a9621a01d65cd682cc1be7c5e38d8da5c942e0a73eeaef10f387340a40a106699d494c3a06163b53d956c55544390c13634ea9aa75309f4fd866f312586942daf0f60fb37a058a52c1e858b1382a8893eb9c1f111f266eb9e21e6137aff0dddea243a567000a037b4b100761e02de63ea5f1fcfcf43e81a372dafb4419d126342136d329b7a7ba032472415864b08f808ba4374092003c8d7c40a9f7f9fe9cc8291f62538e1cc14a074e238ff5ec96b810364515551344100138916594d6af966170ff326a092fab0a0d31ac4eef14a79845200a496662e92186ca8b55e29ed0f9f59dbc6b521b116fea090607784fe738458b63c1942bba7c0321ae77e18df4961b2bc66727ea996464ea078f757653c1b63f72aff3dcc3f2a2e4c8cb4a9d36d1117c742833c84e20de994a0f78407de07f4b4cb4f899dfb95eedeb4049aeb5fc1635d65cf2f2f4dfd25d1d7a0862037513ba9d45354dd3e36264aceb2b862ac79d2050f14c95657e43a51b85c80", @@ -1241,14 +1241,14 @@ export class Web3Zond extends Web3Context { - * "address": "Z1234567890123456789012345678901234567890", + * "address": "Q1234567890123456789012345678901234567890", * "accountProof": [ * "0xf90211a090dcaf88c40c7bbc95a912cbdde67c175767b31173df9ee4b0d733bfdd511c43a0babe369f6b12092f49181ae04ca173fb68d1a5456f18d20fa32cba73954052bda0473ecf8a7e36a829e75039a3b055e51b8332cbf03324ab4af2066bbd6fbf0021a0bbda34753d7aa6c38e603f360244e8f59611921d9e1f128372fec0d586d4f9e0a04e44caecff45c9891f74f6a2156735886eedf6f1a733628ebc802ec79d844648a0a5f3f2f7542148c973977c8a1e154c4300fec92f755f7846f1b734d3ab1d90e7a0e823850f50bf72baae9d1733a36a444ab65d0a6faaba404f0583ce0ca4dad92da0f7a00cbe7d4b30b11faea3ae61b7f1f2b315b61d9f6bd68bfe587ad0eeceb721a07117ef9fc932f1a88e908eaead8565c19b5645dc9e5b1b6e841c5edbdfd71681a069eb2de283f32c11f859d7bcf93da23990d3e662935ed4d6b39ce3673ec84472a0203d26456312bbc4da5cd293b75b840fc5045e493d6f904d180823ec22bfed8ea09287b5c21f2254af4e64fca76acc5cd87399c7f1ede818db4326c98ce2dc2208a06fc2d754e304c48ce6a517753c62b1a9c1d5925b89707486d7fc08919e0a94eca07b1c54f15e299bd58bdfef9741538c7828b5d7d11a489f9c20d052b3471df475a051f9dd3739a927c89e357580a4c97b40234aa01ed3d5e0390dc982a7975880a0a089d613f26159af43616fd9455bb461f4869bfede26f2130835ed067a8b967bfb80", * "0xf90211a0395d87a95873cd98c21cf1df9421af03f7247880a2554e20738eec2c7507a494a0bcf6546339a1e7e14eb8fb572a968d217d2a0d1f3bc4257b22ef5333e9e4433ca012ae12498af8b2752c99efce07f3feef8ec910493be749acd63822c3558e6671a0dbf51303afdc36fc0c2d68a9bb05dab4f4917e7531e4a37ab0a153472d1b86e2a0ae90b50f067d9a2244e3d975233c0a0558c39ee152969f6678790abf773a9621a01d65cd682cc1be7c5e38d8da5c942e0a73eeaef10f387340a40a106699d494c3a06163b53d956c55544390c13634ea9aa75309f4fd866f312586942daf0f60fb37a058a52c1e858b1382a8893eb9c1f111f266eb9e21e6137aff0dddea243a567000a037b4b100761e02de63ea5f1fcfcf43e81a372dafb4419d126342136d329b7a7ba032472415864b08f808ba4374092003c8d7c40a9f7f9fe9cc8291f62538e1cc14a074e238ff5ec96b810364515551344100138916594d6af966170ff326a092fab0a0d31ac4eef14a79845200a496662e92186ca8b55e29ed0f9f59dbc6b521b116fea090607784fe738458b63c1942bba7c0321ae77e18df4961b2bc66727ea996464ea078f757653c1b63f72aff3dcc3f2a2e4c8cb4a9d36d1117c742833c84e20de994a0f78407de07f4b4cb4f899dfb95eedeb4049aeb5fc1635d65cf2f2f4dfd25d1d7a0862037513ba9d45354dd3e36264aceb2b862ac79d2050f14c95657e43a51b85c80", @@ -1294,7 +1294,7 @@ export class Web3Zond extends Web3Context { * baseFeePerGas: [ * 22983878621n, @@ -1318,7 +1318,7 @@ export class Web3Zond extends Web3Context { * baseFeePerGas: [ * 22983878621, @@ -1362,25 +1362,25 @@ export class Web3Zond extends Web3Context { * "accessList": [ * { - * "address": "Z15859bdf5aff2080a9968f6a410361e9598df62f", + * "address": "Q15859bdf5aff2080a9968f6a410361e9598df62f", * "storageKeys": [ * "0x0000000000000000000000000000000000000000000000000000000000000000" * ] @@ -1403,7 +1403,7 @@ export class Web3Zond extends Web3Context console.log(data)); @@ -1450,7 +1450,7 @@ export class Web3Zond extends Web3Context { * console.log('New block header: ', blockhead); @@ -1506,14 +1506,14 @@ export class Web3Zond extends Web3Context [...] An array of subscription ids that were cleared * ``` */ public clearSubscriptions(notClearSyncing = false): Promise | undefined { return this.subscriptionManager?.unsubscribe( // eslint-disable-next-line - notClearSyncing ? Web3Zond.shouldClearSubscription : undefined, + notClearSyncing ? Web3QRL.shouldClearSubscription : undefined, ); } } diff --git a/packages/web3-zond/src/web3_subscriptions.ts b/packages/web3-qrl/src/web3_subscriptions.ts similarity index 92% rename from packages/web3-zond/src/web3_subscriptions.ts rename to packages/web3-qrl/src/web3_subscriptions.ts index 70f28694..39f0a7a1 100644 --- a/packages/web3-zond/src/web3_subscriptions.ts +++ b/packages/web3-qrl/src/web3_subscriptions.ts @@ -62,10 +62,10 @@ export class LogsSubscription extends Web3Subscription< * ## subscribe('pendingTransactions') * Subscribes to incoming pending transactions. * - * You can subscribe to pending transactions by calling web3.zond.subscribe('pendingTransactions'). + * You can subscribe to pending transactions by calling web3.qrl.subscribe('pendingTransactions'). * @example * ```ts - * (await web3.zond.subscribe('pendingTransactions')).on('data', console.log); + * (await web3.qrl.subscribe('pendingTransactions')).on('data', console.log); * ``` */ export class NewPendingTransactionsSubscription extends Web3Subscription<{ @@ -89,13 +89,13 @@ export class NewPendingTransactionsSubscription extends Web3Subscription<{ * The structure of a returned block header is {@link BlockHeaderOutput}: * @example * ```ts - * (await web3.zond.subscribe('newHeads')).on( // 'newBlockHeaders' would work as well + * (await web3.qrl.subscribe('newHeads')).on( // 'newBlockHeaders' would work as well * 'data', * console.log * ); * >{ * parentHash: '0x9e746a1d906b299def98c75b06f714d62dacadd567c7515d76eeaa8c8074c738', - * miner: 'Z0000000000000000000000000000000000000000', + * miner: 'Q0000000000000000000000000000000000000000', * stateRoot: '0xe0f04b04861ecfa95e82a9310d6a7ef7aef8d7417f5209c182582bfb98a8e307', * transactionsRoot: '0x31ab4ea571a9e10d3a19aaed07d190595b1dfa34e03960c04293fec565dea536', * logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -126,10 +126,10 @@ export class NewHeadsSubscription extends Web3Subscription<{ * Subscribe to syncing events. This will return `true` when the node is syncing and when it’s finished syncing will return `false`, for the `changed` event. * @example * ```ts - * (await web3.zond.subscribe('syncing')).on('changed', console.log); + * (await web3.qrl.subscribe('syncing')).on('changed', console.log); * > `true` // when syncing * - * (await web3.zond.subscribe('syncing')).on('data', console.log); + * (await web3.qrl.subscribe('syncing')).on('data', console.log); * > { * startingBlock: 0, * currentBlock: 0, diff --git a/packages/web3-zond/test/.eslintrc.js b/packages/web3-qrl/test/.eslintrc.js similarity index 100% rename from packages/web3-zond/test/.eslintrc.js rename to packages/web3-qrl/test/.eslintrc.js diff --git a/packages/web3-zond/test/config/jest.config.js b/packages/web3-qrl/test/config/jest.config.js similarity index 100% rename from packages/web3-zond/test/config/jest.config.js rename to packages/web3-qrl/test/config/jest.config.js diff --git a/packages/web3-zond/test/config/setup.js b/packages/web3-qrl/test/config/setup.js similarity index 100% rename from packages/web3-zond/test/config/setup.js rename to packages/web3-qrl/test/config/setup.js diff --git a/packages/web3-zond/test/e2e/accounts.json b/packages/web3-qrl/test/e2e/accounts.json similarity index 100% rename from packages/web3-zond/test/e2e/accounts.json rename to packages/web3-qrl/test/e2e/accounts.json diff --git a/packages/web3-zond/test/e2e/e2e_utils.ts b/packages/web3-qrl/test/e2e/e2e_utils.ts similarity index 93% rename from packages/web3-zond/test/e2e/e2e_utils.ts rename to packages/web3-qrl/test/e2e/e2e_utils.ts index f92a2c11..bcc27042 100644 --- a/packages/web3-zond/test/e2e/e2e_utils.ts +++ b/packages/web3-qrl/test/e2e/e2e_utils.ts @@ -30,12 +30,12 @@ import secrets from '../../../../.secrets.json'; export const getSystemE2ETestProvider = (): string => { if (process.env.WEB3_SYTEM_TEST_MODE === 'http') { return getSystemTestBackend() === 'testnet' - ? process.env.ZOND_TESTNET_HTTP ?? secrets.TESTNET.HTTP - : process.env.ZOND_MAINNET_HTTP ?? secrets.MAINNET.HTTP; + ? process.env.QRL_TESTNET_HTTP ?? secrets.TESTNET.HTTP + : process.env.QRL_MAINNET_HTTP ?? secrets.MAINNET.HTTP; } return getSystemTestBackend() === 'testnet' - ? process.env.ZOND_TESTNET_WS ?? secrets.TESTNET.WS - : process.env.ZOND_MAINNET_WS ?? secrets.MAINNET.WS; + ? process.env.QRL_TESTNET_WS ?? secrets.TESTNET.WS + : process.env.QRL_MAINNET_WS ?? secrets.MAINNET.WS; }; export const getE2ETestAccountAddress = (): string => { diff --git a/packages/web3-zond/test/e2e/jest.config.js b/packages/web3-qrl/test/e2e/jest.config.js similarity index 100% rename from packages/web3-zond/test/e2e/jest.config.js rename to packages/web3-qrl/test/e2e/jest.config.js diff --git a/packages/web3-zond/test/e2e/setup.js b/packages/web3-qrl/test/e2e/setup.js similarity index 100% rename from packages/web3-zond/test/e2e/setup.js rename to packages/web3-qrl/test/e2e/setup.js diff --git a/packages/web3-zond/test/e2e/subscription_new_heads.test.ts b/packages/web3-qrl/test/e2e/subscription_new_heads.test.ts similarity index 92% rename from packages/web3-zond/test/e2e/subscription_new_heads.test.ts rename to packages/web3-qrl/test/e2e/subscription_new_heads.test.ts index d00ce2ef..d94f117d 100644 --- a/packages/web3-zond/test/e2e/subscription_new_heads.test.ts +++ b/packages/web3-qrl/test/e2e/subscription_new_heads.test.ts @@ -42,11 +42,11 @@ describe(`${getSystemTestBackend()} tests - subscription newHeads`, () => { itIf(provider.startsWith('ws'))( `should subscribe to newHeads and receive ${expectedNumberOfNewHeads}`, async () => { - const newHeadsSubscription = await web3.zond.subscribe('newHeads'); + const newHeadsSubscription = await web3.qrl.subscribe('newHeads'); let numberOfNewHeadsReceived = 0; - await waitForOpenConnection(web3.zond); + await waitForOpenConnection(web3.qrl); const assertionPromise = new Promise((resolve, reject) => { newHeadsSubscription.on('data', (data: BlockHeaderOutput) => { try { @@ -79,7 +79,7 @@ describe(`${getSystemTestBackend()} tests - subscription newHeads`, () => { }); await assertionPromise; - await web3.zond.subscriptionManager?.removeSubscription(newHeadsSubscription); + await web3.qrl.subscriptionManager?.removeSubscription(newHeadsSubscription); }, ); }); diff --git a/packages/web3-zond/test/fixtures/accounts.json b/packages/web3-qrl/test/fixtures/accounts.json similarity index 100% rename from packages/web3-zond/test/fixtures/accounts.json rename to packages/web3-qrl/test/fixtures/accounts.json diff --git a/packages/web3-zond/test/fixtures/detect_transaction_type.ts b/packages/web3-qrl/test/fixtures/detect_transaction_type.ts similarity index 69% rename from packages/web3-zond/test/fixtures/detect_transaction_type.ts rename to packages/web3-qrl/test/fixtures/detect_transaction_type.ts index f8b699db..c2fd13f2 100644 --- a/packages/web3-zond/test/fixtures/detect_transaction_type.ts +++ b/packages/web3-qrl/test/fixtures/detect_transaction_type.ts @@ -15,12 +15,12 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZOND_DATA_FORMAT, FormatType, Transaction } from '@theqrl/web3-types'; +import { QRL_DATA_FORMAT, FormatType, Transaction } from '@theqrl/web3-types'; -export const transactionType0x2: FormatType[] = [ +export const transactionType0x2: FormatType[] = [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', @@ -30,8 +30,8 @@ export const transactionType0x2: FormatType[] = [ +export const transactionTypeUndefined: FormatType[] = [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x', @@ -93,8 +93,8 @@ export const transactionTypeUndefined: FormatType[] = +export const transactionTypeValidationError: FormatType[] = []; diff --git a/packages/web3-zond/test/fixtures/errors.ts b/packages/web3-qrl/test/fixtures/errors.ts similarity index 100% rename from packages/web3-zond/test/fixtures/errors.ts rename to packages/web3-qrl/test/fixtures/errors.ts diff --git a/packages/web3-zond/test/fixtures/example_subscription.ts b/packages/web3-qrl/test/fixtures/example_subscription.ts similarity index 95% rename from packages/web3-zond/test/fixtures/example_subscription.ts rename to packages/web3-qrl/test/fixtures/example_subscription.ts index 568df08b..1cc57be4 100644 --- a/packages/web3-zond/test/fixtures/example_subscription.ts +++ b/packages/web3-qrl/test/fixtures/example_subscription.ts @@ -19,7 +19,7 @@ import { Web3Subscription } from '@theqrl/web3-core'; export class NewHeadsSubscription extends Web3Subscription< { data: string }, { param1: string }, - { zond_subscribe: (newHeads: string) => void } + { qrl_subscribe: (newHeads: string) => void } > { // eslint-disable-next-line class-methods-use-this protected _buildSubscriptionParams() { diff --git a/packages/web3-zond/test/fixtures/format_transaction.ts b/packages/web3-qrl/test/fixtures/format_transaction.ts similarity index 98% rename from packages/web3-zond/test/fixtures/format_transaction.ts rename to packages/web3-qrl/test/fixtures/format_transaction.ts index 3058b44b..5533b6f8 100644 --- a/packages/web3-zond/test/fixtures/format_transaction.ts +++ b/packages/web3-qrl/test/fixtures/format_transaction.ts @@ -28,8 +28,8 @@ export const bytesAsHexStringTransaction: FormatType< Transaction, { number: typeof DEFAULT_RETURN_FORMAT.number; bytes: FMT_BYTES.HEX } > = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: BigInt('100000000000'), gas: BigInt('21000'), type: BigInt(2), @@ -60,8 +60,8 @@ export const bytesAsUint8ArrayTransaction: FormatType< Transaction, { number: typeof DEFAULT_RETURN_FORMAT.number; bytes: FMT_BYTES.UINT8ARRAY } > = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: BigInt('100000000000'), gas: BigInt('21000'), type: BigInt('2'), @@ -94,8 +94,8 @@ export const numbersAsHexStringTransaction: FormatType< Transaction, { number: FMT_NUMBER.HEX; bytes: typeof DEFAULT_RETURN_FORMAT.bytes } > = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', @@ -126,8 +126,8 @@ export const numbersAsNumberTransaction: FormatType< Transaction, { number: FMT_NUMBER.NUMBER; bytes: typeof DEFAULT_RETURN_FORMAT.bytes } > = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: 100000000000, gas: 21000, type: 2, @@ -158,8 +158,8 @@ export const numbersAsStringTransaction: FormatType< Transaction, { number: FMT_NUMBER.STR; bytes: typeof DEFAULT_RETURN_FORMAT.bytes } > = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '100000000000', gas: '21000', type: '2', @@ -190,8 +190,8 @@ export const numbersAsBigIntTransaction: FormatType< Transaction, { number: FMT_NUMBER.BIGINT; bytes: typeof DEFAULT_RETURN_FORMAT.bytes } > = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: BigInt(100000000000), gas: BigInt(21000), type: BigInt(2), @@ -219,8 +219,8 @@ export const numbersAsBigIntTransaction: FormatType< }; const dummyTransaction: Transaction = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -237,10 +237,10 @@ export const validGetTransactionFromOrToAttrData: { input: any; output: any }[] role: 'from', transaction: { ...dummyTransaction, - from: 'Z58422b64d0e95ab4e93a9d95b755d9b53545c9ef', + from: 'Q58422b64d0e95ab4e93a9d95b755d9b53545c9ef', }, }, - output: 'Z58422b64d0e95ab4e93a9d95b755d9b53545c9ef', + output: 'Q58422b64d0e95ab4e93a9d95b755d9b53545c9ef', }, ]; export const invalidGetTransactionFromOrToAttrData: { input: any; output: any }[] = [ @@ -249,30 +249,30 @@ export const invalidGetTransactionFromOrToAttrData: { input: any; output: any }[ role: 'from', transaction: { ...dummyTransaction, - from: 'Z58422b64d0e95ab4e93a9d95b755d9b53545c9eff', + from: 'Q58422b64d0e95ab4e93a9d95b755d9b53545c9eff', }, }, - output: 'Invalid value given "Z58422b64d0e95ab4e93a9d95b755d9b53545c9eff". Error: invalid transaction with invalid sender', + output: 'Invalid value given "Q58422b64d0e95ab4e93a9d95b755d9b53545c9eff". Error: invalid transaction with invalid sender', }, { input: { role: 'to', transaction: { ...dummyTransaction, - to: 'Z58422b64d0e95ab4e93a9d95b755d9b53545c9eff', + to: 'Q58422b64d0e95ab4e93a9d95b755d9b53545c9eff', }, }, - output: 'Invalid value given "Z58422b64d0e95ab4e93a9d95b755d9b53545c9eff". Error: invalid transaction with invalid receiver', + output: 'Invalid value given "Q58422b64d0e95ab4e93a9d95b755d9b53545c9eff". Error: invalid transaction with invalid receiver', }, { input: { role: 'from', transaction: { ...dummyTransaction, - from: 'Z1', + from: 'Q1', }, }, - output: 'Invalid value given "Z1". Error: invalid transaction with invalid sender', + output: 'Invalid value given "Q1". Error: invalid transaction with invalid sender', }, { input: { diff --git a/packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts b/packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts similarity index 99% rename from packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts rename to packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts index fc8692fd..a2fe57f8 100644 --- a/packages/web3-zond/test/fixtures/prepare_transaction_for_signing.ts +++ b/packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts @@ -19,7 +19,7 @@ import { AccessList, Block, HexString, Common, Transaction } from '@theqrl/web3- export const postEip1559Block: Block = { parentHash: '0x28f49150e1fe6f245655925b290f59e707d1e5c646dadaa22937169433b30294', - miner: 'Z86864f1edf10eaf105b1bdc6e9aa8232b4c6aa00', + miner: 'Q86864f1edf10eaf105b1bdc6e9aa8232b4c6aa00', stateRoot: '0x116981b10423133ade5bd44f03c54cc3c57f4467a1c3d4b0c6d8d33a76c361ad', transactionsRoot: '0x738f53f745d58169da93ebbd52cc49e0c979d6ca68a6513007b546b19ab78ba4', receiptsRoot: '0xc97d4f9980d680053606318a5820261a1dccb556d1056b70f0d48fb384986be5', @@ -49,7 +49,7 @@ const common: Common = { const accessList: AccessList = [ { - address: 'Z0000000000000000000000000000000000000101', + address: 'Q0000000000000000000000000000000000000101', storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000000', '0x00000000000000000000000000000000000000000000000000000000000060a7', @@ -91,15 +91,15 @@ export const validTransactions: [ maxPriorityFeePerGas: '0x0', gas: 27200, gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', - from: 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', + from: 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', value: '1000000000', input: '', common, accessList, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c9c018080843b9aca00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080f85bf859940000000000000000000000000000000000000101f842a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000060a7b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f325a2309ec9bd7311c067a95ed67285a80f9bd0bf3cfbec68876f6ce5404ffce521c1f6e1388c17dd4310478960c4b311155842cb5eea7840476b1d8c62bc3917a6dff58464e556ad0c9605a397983fadbae3dbb70896862d4f0caf57185f9c5491ba4b75ada8a5d8e6017b2cb9d544acaaa317cc22df5665b548d2e870b4568f716f7e4a1bbf5a1c09c360141d81c475fd0be7133954685e5d2ce2d19fcff61b5e68e5120ca0dbe59e3fdc3fe4756c2f57bc2b0564c27f63bb6ebdcd88a552e2ae09b330b3eefdba57d3aebb5499f847f5b310ac07dee18a23e997584a29e2700e0ff36d78cbcb829c1324c4296862f3759e64e4acc73d0e253942b25066bdd2fc4d97b5facd2c5a0d4f21c0775924fb0dfd7e661b96c20a94d96fdf8f2aacad31b31469e7a3bdbc388120c3483a43e3ea523899a4c10a7ea307bf2a5fc825b2ce07000fb4bb54d4ebde2f3382635833a14e76a8332b7cab07bdf77492ee2428a2d2f017eaa80aea5e29d03fddf449ae6e482fe263765e88693b3b356b5692c05379a26864945a51267cb3b39d6d26d1afbe990b03f2a5923eaf4a81eea9b278ae6ab637952d28c55cae3c5ec3acc021cc8eecf6bf7bc0ab47a7d4c80606d2bb5ad3e546f8871b162107554dec8261ddb53a51c7e07ab363ff9e5b408e76cedaba811300228af9a355c4c746a06eee6db6bd81068bfc030630851193fe0197ea651ea05c496100dc810999e89339ff6784ac60bdfa67569fee20d3ca0152804690f63bcf20a929506c201be5032d124a9468259bd29715531d8a8c8d024f1a0fa25498b38b01fa558fc882dbd22111e165b91cb6a1f7bc36184c88b0ffadafcf3ab7923ea043021fa9ac67407eb19791cc7a41c2efb804105eb9a7111d4368a217c885dec10b0355af0ee04dd87edede12fb4d5a539cba5f97d964fe2196a3625f7317942e4620bac71a5b7433ae5a0773857166edce2edb1921de79e501f2717bf71b55ac0e051388cf1d88cd54efd930d54398250549057b5e5f9aff1f5f7d040cdcde0eabb11d6bc2b7592522adf3a361469408100cfecef617be615b4795937d9c9e033b60d2ee524b929cfbb40fcf3f2fc0e8e35ea9a205aafcd003c55ec3f220f8544d1edd3b4e369c7b4923a6bf63ac0d18afff5e7db89028b38da6679a0d30765e3dafdc94ca5e47bbeafc9b2c07bfc37b80a64700f0bf8e7b42c60fa18693b1e7a6093bd03fa1aa7c73884826f874c1694cdd3b95afb0010e3463447bdd1888bdd6a35fc625e27090932c651b5150c9a03e36646ffe4665f4d7d01b1a2f1432bb3393e4f11321dd07d9ad2b109f637728f6fa80e9af8a5193e8210555d5542f0e7810532f3a18e9a1760c01973c269b7040edb4b2a1d3dd5e9430f393e4b17271d8b7a7adf19dd5a2507df9a1ec985a6ca41a21cc754b9b731c2bc14a92a325000e78e4b51c596f62a24235c70ef7e1c0b94764bb7ad351110120490a626350c20703bbe1fb6f6dc2ca7993b5961a0bfd0cf86f1840560c3c220bf86f9c6ed61aab99328ae1d0aef661ef3773c83e537589f7dc9e4dd89ee0676ed43d158da52378a92f00e266e5ffd1253cd8d05935830d9ddcf0318e1b83829ae8dc2466797386e5746beb81f0632fdab45292f8ede452b1e89051e3e44f38aa9a88568481471d66e2a16c42438df58e1b3a733f6894895cf54c58a9810a44b480c1dd73d4cb9211cf9c867e8b0f8f1e497bc14b57847fc7e1f3371ed70b8f8f65d3cd18b5823c7055bd56166ea34e346f4cc17681a18acea51415a45f8db785e0ecfaca41c07a0529e0f166012469dff7c2517efb58d2b9c07a5f748bc578a7a781747d42050507a3ea604e148babcb7be6a1cf08a08d0083c33113aa72a3835afe950340cedda605246d7fd00be9038e43b0fddc84053f8b47a325d7e35ed70bfd206ee2a8f8f3bf6ebbe809b38f55349e6c1142a65af362ee18d67d15fe24a2219d9e4c2f0a7b579ed8cbde95af8f06045a748040993906bc48b9b0c9b84e0f5177c8dd6fff63507ac42563eb6ca59189cc87d91bd3fd7347c8ebbde3ae374a9a453e0d3cf6053e4e076ce767feaf727145d699169b406160f90d6562aed846cb89fb6ccd12b40080d7800c040147c3e13840c0b2d0d84fccca40d4696c24e554b0bcb8c3b6a71c1a2c57354583c9472b91cc98e97dfc28c9ea825743de0a4597792b8ba1425438601316bb56e165028a94981e6b4aea8d6e231d332b2dc481b02e95abe1c67030f296e7adf524ebe16197a3e6d9fdcc678181d36e216881ed0cd0d526da0dc1861da3a8478cf07699a1dc58e130404c2685ad735479dd44ae6fc736e29d191b5d33460f8ee3e1fcff6239ac7d55e72a329f4f6a301924e94780b03de0e99c55db5d6b58221bd61aa94cd1591bb0d84fe72c0f873435c3bbe58c5941b9d610fa85a8ff452b90eb43234a2341cff615584ca9e7f8443653fc17a28d1a7c7e8fb084d5d0904345aa88873130547a6238711317d6f0d7ccc2ef892a9f5f881be45eb5b619d9982a7aac42e6de370e26978d21d3dad3befbcf56e35f593e52ad149bebdb2010b56087670d0ef1dd33dfd79d35c62bf43e3eeb7b37ba951fd21f3e113bee8652a134ebcf7e1ff2b758108b7dbf488941cc1fed978cee8eb3c0c5c7e83eda0fe6e6e63903f15f45abb2e0efdeb9d303514308baeedd8dfe827ab14a24728a109641648a50da4b6a5d985a7f108ac0c7ee47d7073f49c76e65dc8bd18c6193ddab0d5f2d23c2839495aff6fc74671aa1796e106dc1264f9d598149f6f59ca8302ddeeb118f6902509d1bb6d6cddb7922ecffa9610134a1a936f80e33efe9d5fa1f2fd2ffe2afe540c042a6b951724ab2a9bf32e6fe144520db1e0baf966c240a1315f614ea1a5f7e927da07bfbae9b68fa01619fe58dfec29ebf8254ff4c43385f2479332cb3b3eac6aabacdb371129f1eb55e32a1a6b3a076b7d90fe94c1aaa50bdfa8a182a2d985cf558c5046972d0db4d697d561aa2f2a55e325dfe469f3b6d3e79edfc1d756ec897d954e88986a6ddef205675bd388aedb12eb447f314ec372785d06c7c0e39c68aba7477e2d2a9fcfe529d9951ba4065ff28ba59581b50aa4a4c2fed9f68309a0d19bdac9255907dc43a3260b554f75f2769fe1c0fdcbdc013e99eb53f894f70ec6e8f06cd40063bb9f39c5a61b5a6aa8d6114df03291e3372c24cb0ad2065e2c429411d6bacb187b9b34472d1c73c7cac3f61b1f3a4e6b31ea6d947696831cfa358bd90d53ecfad54181c46b57041d8fe05f24f2e4704ffea6a358574d5e98ebd3f1bcfe9bb8b32065371e9bb8f34195c35fd682404d9d90d7f3f6b5ca3a475e879e1b655fcbe1125a39ca17fe3b9f04fa85c74254d561496afb6e42e4046c48dc4ef0206304d6da6627bbad4d151e04290b54ade734ecd306858aeebd43f0176bec8be7d0a3512a3eddcc560e7904ee7aa76b2972fe5723f27df2377c4d4bc5816bee74806044ef480e776050e65d1eea4e44bfb6d2ff9af1f537c25d556f3edeadab393137025f7c3c9ed61d2a0d8d06a8651bc1d32cb2f0b36d26ffb35b76b160d58e9f75d16445c63a0aa75793b054f40841d3f1b274ad46d7fa34c9d821ab84b5b99e3cdf639deb8b1f65d89fd2e58f986ac7c3a2eb7a981ba92d993ffbd87093df7455aa97c0081a3fe85fac1a6d34b5289e787235210dee63e28fec3f10cb9949ace99b7b0e8ce57a7931e00061032c42f237855f1ef59c6d00ee22508310593db2c031faedcf9a26c85231b43038afc326c96d13324936e52bc53ded5f4c668f5ed22f140240c3528fd242fbdce7bf2ae1f00c5f8058df3ac7f13f10a2c4bd9b9743c4f7c4fb82278ebf16dcee106003cce34923891322f1bf9927c7971935931d4c1ebeea30d8c1f18e01396e505cf8e4eeefa04540e1ccd353051bb2d7ccbd1cf4d6f80dd2b712a55c06268a1172811369c7fbf1f980268a95b9b292ca640caa49d46d1a2f7f1db6aa52ea5131371250cb33926f2a8dfea8f6b3278cf374257a5c69f4b3cbbf29b4e14e7b0a2b22d5b9edf7ef333530edb3cb00f769f871afd821b10b5cd592b704fe8a6c551c995318db41bd44aa4a5400cb4542988258564fe02cce1fca9c3b17a3116a55ba843f71393427dcaed8ae530fedc6544c810646561b5f20a2274e5c7712f739c86638715ae26048d5f6a8c69a16cf69767209d65c1798bc6d5fd79df0d3b5b7e99d2051f62f2105c44c81d5f310855d60dfbfd7948ec1c729253e2ffb2aef8337236bc5163a78fe9d78bf3a43ac7c74490931fb6966fc52e9688190c818f12c4c11ccadf4df4ea230dd2cc8590f073cda29cc67d6d670916b706a6922fa42e1df726a33110c0da837ef3176ca5eb8a59004ffd2181715cb9e9af8fe139d93a6ae104db9bca44b400356967d702681cf6de784fe7807d6013e9179388337bde9daaf715fa656cd59dbf71a4ef7f936e51ae01c9740e960ac22b6fc368db55c4269f0ed1a721b35a55503614116125499089f19eaa9898fe0a52dc0672b1192f17d438d9fa9388f6119f79fd0173a22d8fd1145745f3dcf3e9452d5f741602c4f0c4806eef3120f5fa9f9fe66269db83cbb3012680eea7137ba450a51ff758eb22fc5949f830c3f45e2951052007415b21dd0ed7fccae506876d19b4016c3e217418a709c4db2f6164f2736444934c828bb516bb06a13e5723441b8722f7594d0c5460e22a511f66f818e1b016000fc4f9a76826f932d836dae603769f8e6a897a6211e9f87390c1a41bc9d2cd706fc7e4cfa7f78a7b96ff76f9bd8e39c06c30fe2c9b96c381176a785a7f0c396296b423dc6be01fa70fcc0968c14f7cc448c60b7902260d46e2e918a90450a918ae555aa12c3deb2fc8e105a51505b5cfa526234859138127a2b228b9bd798c71c35175cdbe1dcea9c4f1076e71f4fa4421a643c67de2038d3af31762ecdae3e44678718748ecf057dc97d17f0298a8fe643a04ff813d983d532ae6f40dcb8f215a3204e1e21f9b6ab723bd60321b5b20c936355e6c63f04aa2f2d9de903bb2e7afc768efc41d2d98da01d0efba3e805e283f91f242cac837d115a311f74dc36eac2a5e1b27e14a652f73a0d180e52ccc28a9f6cc7ec0c6412a0ba6903b0a82f03ec0dac3c20971de9952d84c1fa47838af3dbde878348751a21b4177e56f0ea2bd58cdfda6af4ef2e005ed641cb9a4d1e0d10f6dbac8c72e584438b407e47b5cf314c8f6ee1f3c1581c04019c40e2b044400ed21743c798b9d9b363c318c1726026262d3e7eda43d6676364331a34727cccac7dd60c1e7e866356692ce01c43c11bc3869958255f944975711a803cc21fee1a10bf7de4964fc9abac065db131950d50a82accffdc36f2e77d55576d4c93fdd771660d5f112c0c06d4f019e2140303faea53bd3795f469dc35042f300d71b9bcddc3f8b76543e03731f64ad29d6e8b3fe545c22e49da5ac2d21455e874d58a589495aa4eedd62f92fe13c05d897720d26e1abe7ebe0c72c515f278d70b7485d051fcea4669e6450060e2f883d04975af27d5dd48cefdeb9b60e1bfd9317f20a960b520b696f46edb1c2aabd8c2beb272c49089c2081712e9f54807c5a2a94276b816e82bfb80510d7326ccbb0ad8c8f6e2519f2d7722a2b694e7a9a1c813fdfadd3fbfb77afe85da80b42810735bfceb1e9d7d521d0bb44d5eb76d094803a996611eedf61d3c81df2f06ef6d4b3fe4e8299bdf3061cd7e6bdca979828d92a8b3f79411820073d6ee1939d1d025bf6220291d516d73087f1d30068980f9188f1be0137b5146e9447649b9d35167b0c656306642fcee8a430879dd886b402da960246f7e3ba22a8781da6447831d1b9cc9f04c6677172856c79edcd42ce2ebba6a6bfbaae63d5826a23c0fdcef30546a53a781769069c517fe75311c3add4c8a9f74131c442e5e9b4b20919c12ea7362600ca83c9727b654ed2e45b6de1c1d4709ccfd2c84f55b78b856343972b31cd68db3cd84bfe1f68790a0d52c2e9ce807c2f619cb36c31e4885683e22677b8136b152c4e7b97f6c670a0c9ccefafc84849d165cb031f1e759a01ea4b5e879ab3152974da28b0589617c5e53a39ff398ec9dc8a75c99e3803f14328538170634c5cdabee541c206cf44db8454bd09b8938dbf174a7327a9abadff34f0ff52c1373813c0074b8a64ab788bfc9fed2aa5a7e5dba685d2b53d297b60066389254eb971ce3f0c84ed71b916fab0e8b424c2a640974c375b7df06913bf2a62cf7a97df8532b89b161bbcc163016d5249036ddb266b6c7cedb8027f4a1e96574610dbd3a301b4ca5ef052a126103cc2503b8b9dacbdcddae7f60839508a8d9ade0d28a6b7c9f21395c74d646e7cc2f8fd0002123f419fa6a8bdcb6089d1dddeeef730345b65737481b3db000000000000000000000000000000000009101619202a313a', '0x6a0c99ebdf6ca4547d539bb4c128c503ce3c84d1e8ba97aef0e38fda6a5ca062', '0x2c054bfda5536279e353479d4371221994bf004c44c9ef7560357dd9fea7530d', @@ -115,14 +115,14 @@ export const validTransactions: [ maxPriorityFeePerGas: '0x0', gas: 27200, gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', common, accessList, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c9c018080843b9aca00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080f85bf859940000000000000000000000000000000000000101f842a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000060a7b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f325a2309ec9bd7311c067a95ed67285a80f9bd0bf3cfbec68876f6ce5404ffce521c1f6e1388c17dd4310478960c4b311155842cb5eea7840476b1d8c62bc3917a6dff58464e556ad0c9605a397983fadbae3dbb70896862d4f0caf57185f9c5491ba4b75ada8a5d8e6017b2cb9d544acaaa317cc22df5665b548d2e870b4568f716f7e4a1bbf5a1c09c360141d81c475fd0be7133954685e5d2ce2d19fcff61b5e68e5120ca0dbe59e3fdc3fe4756c2f57bc2b0564c27f63bb6ebdcd88a552e2ae09b330b3eefdba57d3aebb5499f847f5b310ac07dee18a23e997584a29e2700e0ff36d78cbcb829c1324c4296862f3759e64e4acc73d0e253942b25066bdd2fc4d97b5facd2c5a0d4f21c0775924fb0dfd7e661b96c20a94d96fdf8f2aacad31b31469e7a3bdbc388120c3483a43e3ea523899a4c10a7ea307bf2a5fc825b2ce07000fb4bb54d4ebde2f3382635833a14e76a8332b7cab07bdf77492ee2428a2d2f017eaa80aea5e29d03fddf449ae6e482fe263765e88693b3b356b5692c05379a26864945a51267cb3b39d6d26d1afbe990b03f2a5923eaf4a81eea9b278ae6ab637952d28c55cae3c5ec3acc021cc8eecf6bf7bc0ab47a7d4c80606d2bb5ad3e546f8871b162107554dec8261ddb53a51c7e07ab363ff9e5b408e76cedaba811300228af9a355c4c746a06eee6db6bd81068bfc030630851193fe0197ea651ea05c496100dc810999e89339ff6784ac60bdfa67569fee20d3ca0152804690f63bcf20a929506c201be5032d124a9468259bd29715531d8a8c8d024f1a0fa25498b38b01fa558fc882dbd22111e165b91cb6a1f7bc36184c88b0ffadafcf3ab7923ea043021fa9ac67407eb19791cc7a41c2efb804105eb9a7111d4368a217c885dec10b0355af0ee04dd87edede12fb4d5a539cba5f97d964fe2196a3625f7317942e4620bac71a5b7433ae5a0773857166edce2edb1921de79e501f2717bf71b55ac0e051388cf1d88cd54efd930d54398250549057b5e5f9aff1f5f7d040cdcde0eabb11d6bc2b7592522adf3a361469408100cfecef617be615b4795937d9c9e033b60d2ee524b929cfbb40fcf3f2fc0e8e35ea9a205aafcd003c55ec3f220f8544d1edd3b4e369c7b4923a6bf63ac0d18afff5e7db89028b38da6679a0d30765e3dafdc94ca5e47bbeafc9b2c07bfc37b80a64700f0bf8e7b42c60fa18693b1e7a6093bd03fa1aa7c73884826f874c1694cdd3b95afb0010e3463447bdd1888bdd6a35fc625e27090932c651b5150c9a03e36646ffe4665f4d7d01b1a2f1432bb3393e4f11321dd07d9ad2b109f637728f6fa80e9af8a5193e8210555d5542f0e7810532f3a18e9a1760c01973c269b7040edb4b2a1d3dd5e9430f393e4b17271d8b7a7adf19dd5a2507df9a1ec985a6ca41a21cc754b9b731c2bc14a92a325000e78e4b51c596f62a24235c70ef7e1c0b94764bb7ad351110120490a626350c20703bbe1fb6f6dc2ca7993b5961a0bfd0cf86f1840560c3c220bf86f9c6ed61aab99328ae1d0aef661ef3773c83e537589f7dc9e4dd89ee0676ed43d158da52378a92f00e266e5ffd1253cd8d05935830d9ddcf0318e1b83829ae8dc2466797386e5746beb81f0632fdab45292f8ede452b1e89051e3e44f38aa9a88568481471d66e2a16c42438df58e1b3a733f6894895cf54c58a9810a44b480c1dd73d4cb9211cf9c867e8b0f8f1e497bc14b57847fc7e1f3371ed70b8f8f65d3cd18b5823c7055bd56166ea34e346f4cc17681a18acea51415a45f8db785e0ecfaca41c07a0529e0f166012469dff7c2517efb58d2b9c07a5f748bc578a7a781747d42050507a3ea604e148babcb7be6a1cf08a08d0083c33113aa72a3835afe950340cedda605246d7fd00be9038e43b0fddc84053f8b47a325d7e35ed70bfd206ee2a8f8f3bf6ebbe809b38f55349e6c1142a65af362ee18d67d15fe24a2219d9e4c2f0a7b579ed8cbde95af8f06045a748040993906bc48b9b0c9b84e0f5177c8dd6fff63507ac42563eb6ca59189cc87d91bd3fd7347c8ebbde3ae374a9a453e0d3cf6053e4e076ce767feaf727145d699169b406160f90d6562aed846cb89fb6ccd12b40080d7800c040147c3e13840c0b2d0d84fccca40d4696c24e554b0bcb8c3b6a71c1a2c57354583c9472b91cc98e97dfc28c9ea825743de0a4597792b8ba1425438601316bb56e165028a94981e6b4aea8d6e231d332b2dc481b02e95abe1c67030f296e7adf524ebe16197a3e6d9fdcc678181d36e216881ed0cd0d526da0dc1861da3a8478cf07699a1dc58e130404c2685ad735479dd44ae6fc736e29d191b5d33460f8ee3e1fcff6239ac7d55e72a329f4f6a301924e94780b03de0e99c55db5d6b58221bd61aa94cd1591bb0d84fe72c0f873435c3bbe58c5941b9d610fa85a8ff452b90eb43234a2341cff615584ca9e7f8443653fc17a28d1a7c7e8fb084d5d0904345aa88873130547a6238711317d6f0d7ccc2ef892a9f5f881be45eb5b619d9982a7aac42e6de370e26978d21d3dad3befbcf56e35f593e52ad149bebdb2010b56087670d0ef1dd33dfd79d35c62bf43e3eeb7b37ba951fd21f3e113bee8652a134ebcf7e1ff2b758108b7dbf488941cc1fed978cee8eb3c0c5c7e83eda0fe6e6e63903f15f45abb2e0efdeb9d303514308baeedd8dfe827ab14a24728a109641648a50da4b6a5d985a7f108ac0c7ee47d7073f49c76e65dc8bd18c6193ddab0d5f2d23c2839495aff6fc74671aa1796e106dc1264f9d598149f6f59ca8302ddeeb118f6902509d1bb6d6cddb7922ecffa9610134a1a936f80e33efe9d5fa1f2fd2ffe2afe540c042a6b951724ab2a9bf32e6fe144520db1e0baf966c240a1315f614ea1a5f7e927da07bfbae9b68fa01619fe58dfec29ebf8254ff4c43385f2479332cb3b3eac6aabacdb371129f1eb55e32a1a6b3a076b7d90fe94c1aaa50bdfa8a182a2d985cf558c5046972d0db4d697d561aa2f2a55e325dfe469f3b6d3e79edfc1d756ec897d954e88986a6ddef205675bd388aedb12eb447f314ec372785d06c7c0e39c68aba7477e2d2a9fcfe529d9951ba4065ff28ba59581b50aa4a4c2fed9f68309a0d19bdac9255907dc43a3260b554f75f2769fe1c0fdcbdc013e99eb53f894f70ec6e8f06cd40063bb9f39c5a61b5a6aa8d6114df03291e3372c24cb0ad2065e2c429411d6bacb187b9b34472d1c73c7cac3f61b1f3a4e6b31ea6d947696831cfa358bd90d53ecfad54181c46b57041d8fe05f24f2e4704ffea6a358574d5e98ebd3f1bcfe9bb8b32065371e9bb8f34195c35fd682404d9d90d7f3f6b5ca3a475e879e1b655fcbe1125a39ca17fe3b9f04fa85c74254d561496afb6e42e4046c48dc4ef0206304d6da6627bbad4d151e04290b54ade734ecd306858aeebd43f0176bec8be7d0a3512a3eddcc560e7904ee7aa76b2972fe5723f27df2377c4d4bc5816bee74806044ef480e776050e65d1eea4e44bfb6d2ff9af1f537c25d556f3edeadab393137025f7c3c9ed61d2a0d8d06a8651bc1d32cb2f0b36d26ffb35b76b160d58e9f75d16445c63a0aa75793b054f40841d3f1b274ad46d7fa34c9d821ab84b5b99e3cdf639deb8b1f65d89fd2e58f986ac7c3a2eb7a981ba92d993ffbd87093df7455aa97c0081a3fe85fac1a6d34b5289e787235210dee63e28fec3f10cb9949ace99b7b0e8ce57a7931e00061032c42f237855f1ef59c6d00ee22508310593db2c031faedcf9a26c85231b43038afc326c96d13324936e52bc53ded5f4c668f5ed22f140240c3528fd242fbdce7bf2ae1f00c5f8058df3ac7f13f10a2c4bd9b9743c4f7c4fb82278ebf16dcee106003cce34923891322f1bf9927c7971935931d4c1ebeea30d8c1f18e01396e505cf8e4eeefa04540e1ccd353051bb2d7ccbd1cf4d6f80dd2b712a55c06268a1172811369c7fbf1f980268a95b9b292ca640caa49d46d1a2f7f1db6aa52ea5131371250cb33926f2a8dfea8f6b3278cf374257a5c69f4b3cbbf29b4e14e7b0a2b22d5b9edf7ef333530edb3cb00f769f871afd821b10b5cd592b704fe8a6c551c995318db41bd44aa4a5400cb4542988258564fe02cce1fca9c3b17a3116a55ba843f71393427dcaed8ae530fedc6544c810646561b5f20a2274e5c7712f739c86638715ae26048d5f6a8c69a16cf69767209d65c1798bc6d5fd79df0d3b5b7e99d2051f62f2105c44c81d5f310855d60dfbfd7948ec1c729253e2ffb2aef8337236bc5163a78fe9d78bf3a43ac7c74490931fb6966fc52e9688190c818f12c4c11ccadf4df4ea230dd2cc8590f073cda29cc67d6d670916b706a6922fa42e1df726a33110c0da837ef3176ca5eb8a59004ffd2181715cb9e9af8fe139d93a6ae104db9bca44b400356967d702681cf6de784fe7807d6013e9179388337bde9daaf715fa656cd59dbf71a4ef7f936e51ae01c9740e960ac22b6fc368db55c4269f0ed1a721b35a55503614116125499089f19eaa9898fe0a52dc0672b1192f17d438d9fa9388f6119f79fd0173a22d8fd1145745f3dcf3e9452d5f741602c4f0c4806eef3120f5fa9f9fe66269db83cbb3012680eea7137ba450a51ff758eb22fc5949f830c3f45e2951052007415b21dd0ed7fccae506876d19b4016c3e217418a709c4db2f6164f2736444934c828bb516bb06a13e5723441b8722f7594d0c5460e22a511f66f818e1b016000fc4f9a76826f932d836dae603769f8e6a897a6211e9f87390c1a41bc9d2cd706fc7e4cfa7f78a7b96ff76f9bd8e39c06c30fe2c9b96c381176a785a7f0c396296b423dc6be01fa70fcc0968c14f7cc448c60b7902260d46e2e918a90450a918ae555aa12c3deb2fc8e105a51505b5cfa526234859138127a2b228b9bd798c71c35175cdbe1dcea9c4f1076e71f4fa4421a643c67de2038d3af31762ecdae3e44678718748ecf057dc97d17f0298a8fe643a04ff813d983d532ae6f40dcb8f215a3204e1e21f9b6ab723bd60321b5b20c936355e6c63f04aa2f2d9de903bb2e7afc768efc41d2d98da01d0efba3e805e283f91f242cac837d115a311f74dc36eac2a5e1b27e14a652f73a0d180e52ccc28a9f6cc7ec0c6412a0ba6903b0a82f03ec0dac3c20971de9952d84c1fa47838af3dbde878348751a21b4177e56f0ea2bd58cdfda6af4ef2e005ed641cb9a4d1e0d10f6dbac8c72e584438b407e47b5cf314c8f6ee1f3c1581c04019c40e2b044400ed21743c798b9d9b363c318c1726026262d3e7eda43d6676364331a34727cccac7dd60c1e7e866356692ce01c43c11bc3869958255f944975711a803cc21fee1a10bf7de4964fc9abac065db131950d50a82accffdc36f2e77d55576d4c93fdd771660d5f112c0c06d4f019e2140303faea53bd3795f469dc35042f300d71b9bcddc3f8b76543e03731f64ad29d6e8b3fe545c22e49da5ac2d21455e874d58a589495aa4eedd62f92fe13c05d897720d26e1abe7ebe0c72c515f278d70b7485d051fcea4669e6450060e2f883d04975af27d5dd48cefdeb9b60e1bfd9317f20a960b520b696f46edb1c2aabd8c2beb272c49089c2081712e9f54807c5a2a94276b816e82bfb80510d7326ccbb0ad8c8f6e2519f2d7722a2b694e7a9a1c813fdfadd3fbfb77afe85da80b42810735bfceb1e9d7d521d0bb44d5eb76d094803a996611eedf61d3c81df2f06ef6d4b3fe4e8299bdf3061cd7e6bdca979828d92a8b3f79411820073d6ee1939d1d025bf6220291d516d73087f1d30068980f9188f1be0137b5146e9447649b9d35167b0c656306642fcee8a430879dd886b402da960246f7e3ba22a8781da6447831d1b9cc9f04c6677172856c79edcd42ce2ebba6a6bfbaae63d5826a23c0fdcef30546a53a781769069c517fe75311c3add4c8a9f74131c442e5e9b4b20919c12ea7362600ca83c9727b654ed2e45b6de1c1d4709ccfd2c84f55b78b856343972b31cd68db3cd84bfe1f68790a0d52c2e9ce807c2f619cb36c31e4885683e22677b8136b152c4e7b97f6c670a0c9ccefafc84849d165cb031f1e759a01ea4b5e879ab3152974da28b0589617c5e53a39ff398ec9dc8a75c99e3803f14328538170634c5cdabee541c206cf44db8454bd09b8938dbf174a7327a9abadff34f0ff52c1373813c0074b8a64ab788bfc9fed2aa5a7e5dba685d2b53d297b60066389254eb971ce3f0c84ed71b916fab0e8b424c2a640974c375b7df06913bf2a62cf7a97df8532b89b161bbcc163016d5249036ddb266b6c7cedb8027f4a1e96574610dbd3a301b4ca5ef052a126103cc2503b8b9dacbdcddae7f60839508a8d9ade0d28a6b7c9f21395c74d646e7cc2f8fd0002123f419fa6a8bdcb6089d1dddeeef730345b65737481b3db000000000000000000000000000000000009101619202a313a', '0x6a0c99ebdf6ca4547d539bb4c128c503ce3c84d1e8ba97aef0e38fda6a5ca062', '0x2c054bfda5536279e353479d4371221994bf004c44c9ef7560357dd9fea7530d', @@ -137,14 +137,14 @@ export const validTransactions: [ gas: 27200, maxPriorityFeePerGas: '0x3B9ACA00', gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', - from: 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', + from: 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', value: '1000000000', input: '', common, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c440180843b9aca00843b9aca0e826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080c0b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f3f0da5c95b084a9f133befb7bdffb1160e0c73fbb1cfea04073e7cca7850f3d0891213dbf7bf77af35ed2a2b99b1dd93e13942c5b3e9ab4a839219624da6e6299a64b939d7c803acef23fa13adf086f71da088b1be8245f6be68ca793ddbf514da6800bfb0cd8d91a3a63d0699cdfb6c9c7857c6b6c19b9fa2c9c53436ca13fda1360274b69f0cfbae39493d76eb6c84084967a39f746c975b7efa60af1e10a4d86166dfcfa964e0164c8f50d5333c237c9c9bf5ade5b5be4c47ded9ed96b1fc8cf057f8c069da52199f761679307a6f24af2250fb1db183e25c6385331600188c6d61b3887d17ae83fcd21b0db4b861c268a67ad2706e52dae9058ecee0cd85cc0a0c36872241d96b41c7d08404e1c024b9c0c5412a20696bfa403609731e61ff86db440c138ba8cfb0c80e40d75d371a30d5ed0393d91ffc1cfc844013bdbfc536c97519ff5da7abced68a90a4e321e650622a2acf9cadd8647813097d97863010e97a59023f590b1984180afbb035e9f855bd9920ee67874356619131ab4e6ffd6968f1bda50f757128e239d1aefc5123269000154b043315530ff947431db0bf831f644aa133dcdc9245df3aca52b5dd1a1725d892d5413b14464defa39cf95f3687e87e05c4584b08ec7f825c7c521efdf35fe617dd29477f5b2b7796baf2b8a43824f664e10584bb42839783f858a72789a76c4332d263cbabab6a115ebe095eb667e2fe76c46a6e5a0335e204a1a76b4d18cb9cd998429e20a8260e064d5fc24720eae2e9211016fbd62212563e3a1f8459dd9165d7916a4e17ec1a03623120701578e860d5b315b80506d088db0cc726900ce59bc0915e6b454b15930c749412893a362e614a34eb31b0039f2547874c674dcb745f6a12d2746cb693729fccd35acfc0dd981906b11c2aa330644925a76a5e32d13be23ffe29071cfe0ff0dacc6b0ec8de7dd7301e049df9e5c7a11b4376d15808f7bf5afaef330cc4e8d01ca00dc5da240a1b6ab1a16307f8ca870a42ef806f899d99e27a030a5e61a672c04aa2739856f7e8089e182588e991e81b66e604d470ff98f100b482b838821e475aae8cbdf9c4c62e16119f3b3018ec9bb94f5ea4bff535c9f7bd6754201dbf81a77516d60a3adac24c8cb4dbdd440b17617470608738aa53efb0b9953740206c63d087dd58425c902f2de0f8234f24361fb5da1771c17ca2cd55e0bd618599320bb40a156ff8faab31e8fce8e37237611c72b0a52b930ee92c1a027a6c1c40e8789c7a37188c6c8ca2056325b2167127cf55c8de2642bf313d8c6fa97caa4166f304714e696037dcad9f16405ae07fed6c9b76ed17a52d7911cbac4d922c725471ee65104e1e064a5afdfa3e886754a3a7b767d7c72821d7f90bf74e994ceaeffb0be1557459f3e6d401cdbaf303d67c7cdd2667516b3ba895be82aca7dc353b851cf5791823327da18bda7c4c4cc0f0632c22a15c3354ff795c3558bb648dae58a3d96f8217e19879979bddd862789b613b253ce990c121b9aee08a5980bdd49fbf72f04fc9d6e3b5dd583f9c1987eb25fd7856e4549ea0ed40399d883bec390183094e4dcbc5393a2be6da03c6aeab9d0d0555a0719b7d96ad2c5fd2e46ea634ad6728906a43ea8ebf8b346e1763d5f2f4982a1555e226e517389ad3ebdc08e6211d0218e6ef4888b93bd89339ffe502e537980422689d2658838e434e07cd8dc7b4be7298617ff98ed0ec53ff5ae1a2d3e3afccaabcb1aa3baa2a731a4497c41bc2b7ee2076b468604def5c55932cd6cec36cba2644745f3aaf3482427cb43804b0b0214debde2635bc7c4cd9e3a9ed730f3a109a42038d5591f73bc4ac2cc48fede106d76ab091a05f13fe547af7bb06f3ee22be7750c5aee5d4a0f34bbce4bf90daaf43017a129a34142832c534211380204c96c279a1d88b7edd5502eaae435a2fc31692f97a88bb1b4e23b5a17cdb4cc65e47fb7e35075f6d10aede6658a6aa043563d694c8bc8d65e78392b767f81d183aee403555751b57ec04f1465b0141ffddcbafb92191e38f917012d90db3ef8d78b7c61a70d08d4332907515ff44e900efcdb2d95622a777ebb818694b9f3466b8db7b229eeafc7cc8f5907c16d746a1db0a133bdb731c3fd9f1e2aa8231f7c022328889a99ab772a6e6636d524debe1842e6742c5b51e2aa96432014553fc4c556d19a0ccd874e466316e9056fc3a8421b7a27c30e6e2c56836d2a323b5702cb4d7c03d5b342c7e1748f26b9ed30008102af943b967e01763c7a524d28e91a9dcf5c5ce7068bd093d051c5713602094d6a1e0af682873361f7e5116b9dc5bb412df3de63ae4012ae7044d81a8a7f615cc687eb27f605e885c836160d9d0ace869a5194b86990b6757c4bc829b0b571b1e969518d8796c0f27945f0c075e9e48fd2458b3530c65610f30953b41c4b1de18d6c5993abd1341e9604fb97a796ba8631f3b5078a9a1a6875f2904a068c0ce07c54eb1fc265d73c01cd18dc9f00eaa98dcdf2793435eca7c2e890379606e6dece4364d9ff390f2a445ae5dd8d41347c581f2809e55a820a5a1e777c34c924d294eed6a087c80385f622cde67efadaf0832a93a2d6bea5ec8554ae447a354804dd2d3d882eed0a65cdd7da03feb76ea0107e133a207449dcf69aaaf4034de9c00908d8886c82114dcdc8686ca3cfecd1587374d9c06a24af6f21f37d11190915d42a906226e5db3da2a503ef144836446de045eb5812fb2e4312981322ab06b127c619353f6e53d1a2ef90689031b104460eb16334c9967675d2ce89363b96d74687d98eb56b93df82013c388900c9a030db6e16c7394d120cef1069aef070a4bcd7325fd93b551f5ebc39e0a56cb9870283695f4321f04b895809a63ca0b8783d3e5c94e7b08ea1ebf94dfd65381966a965e497c30d61bc9b108b797e471e612d817713849064d052218915117c188a04a3a2a62290abb12cdde48d785877b6b0bb096fb489241c4720aafc3243067f94cd94285d5c0c324fc149b62426b1f5d5c1bee261b6e79cecaef3aa5a4cf5940f4d6686b873f75f6aff672548988803464183fd7303fd3f9fa831379c467888b95350ee30ef9c1742e1d72f111e88ae26f4a46011519d34157aa204b99431acb521ce8b22f7d86f56a1745ce0562ca35cf7bbd39ac0283e1001db56c7e5e4ba7eea9991dc229dd2b99fecc9ec03c1ee0f4e0ea8e3ac7c4be813c8f6b7e54f9e6e615bf4a41c96e50534730a3798f0f4d565a71119583c67090ac81c8ec8dac4ca9bf59e57adcc01253af2428745d5d3071f41f6db1f3737fc37d4483cbd6b909dbb025ca0572da02790a7556755cf88f9f2d826e9b8c904bc3d7eb634dcdef50f61e1d8f77f16de2514c7652075ce935950b7ec6d46bbf22c28fa93f8c02a778ccfc3158bbce5b59e7b34832eeb26adc2f791a9c7044606e5e7e2c48f73ad5b26ae96c38b3cf7586ca1b6372c41600e6f8c913e1db851b810b497c2f5eb89f49eceb2326e9c69a4e1fa1f62ca0e2f994c94eed0bca5ac2fde9e6449417efc31c7bdc8f6687d24d6ef1ad5f8c1789b5674f54079e1685740e93b4aa731a7be406b475bfbde530473e954b91704f8cbc82888232b0bf4b8cd9c46a66f3711b07071cdd15b14d275e2f49f28435d20b09c3f25e21538ef1b98becdb8a032eff161a34033c6f66bcb3e690a38a58324ff5987348b0c859f51ba46221140a91fa80d43aa5c4377fc5db420c56b411581f067e627e18b396a8cf620050904baa84ef0c4a9e165ca6ee9ec426dd4dc848c3784a8ad3f543689491caf2208a2dd0d27f6d2ed6f5195abf248be3f700891effb02eb1ad6bb35532caf2bfab21f1a817f8ed10a17cf0138d0a0dc9dedeaa4d10d6c64ff66b05f9d35ac4623ba4006bd4beec666f84af14d06d8a9aef5c87cb52cd645453f6361508a9494b5a635dae25f45287e5eb111a6ef9b8701c3c0bb362ab8b7349dcce4fb28c5dcea2a389941ab633ac6108c55c3e36432cb6824ec5e1d5a06392a62744eab028981cf69f96f2fc6ea00cb0c1d594c9286f75bac4b0e238721cfb4f0b3780948d672e413b37d6cb933733260a5bf9ade26c0784eb2aa8bb206ee09890342f78b2fb908871e619cd066f0dbcaaa7b5d0d097b63ba50a2abd0041ef97e8fd034fa4a61e7cc8bb11e94b6aa8cb7b6696a1f2dc4c7a0845709cade5be75079d6b19c356d855f5b4db67c4b18cc350d7799499894752515015aabd310f1c1094bf6fa67d43c50a8ea2fae6c0a257ca79ad748ca7d9254987186ad7fa7026e36196bf5d0ef03fe07632cbc0d50256f7a653d3f1b4993fb74cac2fb69281399a2377d1cdb034caa08fafbab4e79be426de140dca527f94bbb6c03812ffa333bfc7dd0e1aeda8195369e35462fd1bae2a13cb4539cd269a200a29330a886ec996bbaf1c5f941cef62e47811b68a4b349a5119cfd7dba03e8bb25c4a669f70251eff997a5fdb761a5a59edcb670d72f88bc338cf2189e72b282060dd2a9c301a33e020f37aa350b6f2d3d76a3bfd1e5ba90fa68389c6c93e1bf0422e063678ecee439ed3d444255a7793d85c1fbaeb7a1dfabf39fc66a4fc2d854a8f886b16f74648d6e9fd7344e5faf485d8dd44a6e188482e979aa192f2ff372d3e173d71881527783a48effd9554dcadd0c7184366e6d62fedd0f8ac8605f563ac76d24543f17b35233b4eb1fc570995384950b4fd694b892a0cf3ec92981acab35629a96efb8924517ad0c1eea2ff4bb6fe33e904acf3aa0a1db52d1e4b83f14941e2cb2a4d63084822f4c58c8ebbd9dc3739ffd78e358f85463073d6a85bdc0a3c6e6d4d56a14d7c5f11f69e7bd3775cbbe20c6b9f2c3e55d347953b3fe74e1ce64e12f65d96b71297978ef01b554fae866fa5aed8aecc35fd0e1dc1faf52e0162fce866a0606af2f012c18b826a4ede30ddfb8dee8429db49837597868df6e73f6ec1b09d1b9e50c212a3b22ca4a92e6eae21b6691b38dca96949426b0aa7db1da7912aa9a5844a9205a375c494de2f3cfdf91b97f6a2744c5a7ed104a5d674239b240da9fbe472f2a93a6d3991209f69dd7ee53d6c69358878446bcdda8dd19baeb18992c4ceafc97e02d7eff78fd974f87619ee5dd61c092894e5a5d5ff17fb3610c5fc804f6b94fab5028d16c808ef1f1ec2d8893bf7dde704e7b73e7b3c2b7ce269a8c85b31c3d9528308bed104221223c5f4647e71dbfce1c105afb9ccb10065b628faa3b24839710829a05a00e55c539657f86f10e2120fc21ddf917f77da6a3e1c6aa4f25d7004b68aee1791b06db76f2d632d5b1875c178def4473a26ef376f22cdceaacf0bca7a78c82547737922f1dd5fb503e834869e6e6df1bdd1bc5b5300357104ad7588c30b863eda0dbde8577913f738df45cd6af716294ab68846fb9dfed840250bf6a389e03a52c7a7acfdaa75ac9f20f0dfe676ad1d6faa74eca6594518e61e85f585244b9dc24e036ee507ffacc7afc6eb31eb19e2f092d40a9609b7704094577483c9955bee066a214ec2557cea9c6c0f6a2e06e984cf5dc20dc3cff2cd6268ed9044cca6b28a6d6d9fe96da52182e25eac6b1b70ea65e476173ad518904ff8f1ffe81ae8a3989d172525f3ce06268542544937f8960e4270754266a7143ac09988a8315aa292974088ff07b61a7428ec27a4cf4c335df066151a7069b3a356cb5c725a145466d8ac65a6a7407b9d7e5f5e7b49ace98280ec7e06d0c5a5bb12dabd6ab0fa3278073658605e1d5bf5eae2ea8bd93ec923cb6cefe4c997515359503827e039e0068eb092328e2e523bad03a83d4b10a616657ac94f190d144f91ecf93eb6b2476a93b1e5c2e7ca7721103728586cd8728d06b664fcb81e878be2458c8e66bf9b4c05949f9a033b8e87f534f45da176f871c81b5a11af4b51d8826f6dac6200e2e0ebe109ed92ce2d776a731989cf491dbe0d24ee43a8209a2a83eb389fffc508e5963ea506ce53a249aed4632e9d02bc204895e0b8b8daf4aa96dffa126ebe4f0b38e28e48c6681f95a76ec08fecafac0c7a82d8aae0dbc2a3fb3340b49c926307b08bc1567a8c0c13b41f307df9e9f783301030ba234907d01ea5561d1b63d6d77c804d84efce77b886f32f14fdc84a77672f231ff1e6ec6ad9eee6fc1b1483e3c32ebe43b5086b4554ea229aae00719ad8484f319e5263519df8f09a905842da7b6142d98a07519815a1b005107be0191e53d983c9d44c379d7fc244b2448de0da79720249780c782c666487ab0b7f65848372ffdddcd73f115b036e81fbad58987ba541a2d6b1d6d7241a751368e2782f4774dd2dc675e63f6f279c1e7a5085ab1433e913d3b861d060e288393aae600101b286d84c1c3f7fc264448585c6682d90e133c545588cce31870a0ab375378a2b1d7dae9f2283c517aabd2e7f27cf70000000000000000000000000000000000000007111921252e3638', '0x3badf768e832fe2cb737de3c014ce58b4b34ba0cf51a3f971776f17e630d98ea', '0xcd6d6dee80ecc38f1b22f2d128bf6043dc41079fc913183a8995b5b3e187df61', @@ -159,13 +159,13 @@ export const validTransactions: [ maxPriorityFeePerGas: '0x3B9ACA00', gas: 27200, gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', common, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c440180843b9aca00843b9aca0e826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080c0b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f3f0da5c95b084a9f133befb7bdffb1160e0c73fbb1cfea04073e7cca7850f3d0891213dbf7bf77af35ed2a2b99b1dd93e13942c5b3e9ab4a839219624da6e6299a64b939d7c803acef23fa13adf086f71da088b1be8245f6be68ca793ddbf514da6800bfb0cd8d91a3a63d0699cdfb6c9c7857c6b6c19b9fa2c9c53436ca13fda1360274b69f0cfbae39493d76eb6c84084967a39f746c975b7efa60af1e10a4d86166dfcfa964e0164c8f50d5333c237c9c9bf5ade5b5be4c47ded9ed96b1fc8cf057f8c069da52199f761679307a6f24af2250fb1db183e25c6385331600188c6d61b3887d17ae83fcd21b0db4b861c268a67ad2706e52dae9058ecee0cd85cc0a0c36872241d96b41c7d08404e1c024b9c0c5412a20696bfa403609731e61ff86db440c138ba8cfb0c80e40d75d371a30d5ed0393d91ffc1cfc844013bdbfc536c97519ff5da7abced68a90a4e321e650622a2acf9cadd8647813097d97863010e97a59023f590b1984180afbb035e9f855bd9920ee67874356619131ab4e6ffd6968f1bda50f757128e239d1aefc5123269000154b043315530ff947431db0bf831f644aa133dcdc9245df3aca52b5dd1a1725d892d5413b14464defa39cf95f3687e87e05c4584b08ec7f825c7c521efdf35fe617dd29477f5b2b7796baf2b8a43824f664e10584bb42839783f858a72789a76c4332d263cbabab6a115ebe095eb667e2fe76c46a6e5a0335e204a1a76b4d18cb9cd998429e20a8260e064d5fc24720eae2e9211016fbd62212563e3a1f8459dd9165d7916a4e17ec1a03623120701578e860d5b315b80506d088db0cc726900ce59bc0915e6b454b15930c749412893a362e614a34eb31b0039f2547874c674dcb745f6a12d2746cb693729fccd35acfc0dd981906b11c2aa330644925a76a5e32d13be23ffe29071cfe0ff0dacc6b0ec8de7dd7301e049df9e5c7a11b4376d15808f7bf5afaef330cc4e8d01ca00dc5da240a1b6ab1a16307f8ca870a42ef806f899d99e27a030a5e61a672c04aa2739856f7e8089e182588e991e81b66e604d470ff98f100b482b838821e475aae8cbdf9c4c62e16119f3b3018ec9bb94f5ea4bff535c9f7bd6754201dbf81a77516d60a3adac24c8cb4dbdd440b17617470608738aa53efb0b9953740206c63d087dd58425c902f2de0f8234f24361fb5da1771c17ca2cd55e0bd618599320bb40a156ff8faab31e8fce8e37237611c72b0a52b930ee92c1a027a6c1c40e8789c7a37188c6c8ca2056325b2167127cf55c8de2642bf313d8c6fa97caa4166f304714e696037dcad9f16405ae07fed6c9b76ed17a52d7911cbac4d922c725471ee65104e1e064a5afdfa3e886754a3a7b767d7c72821d7f90bf74e994ceaeffb0be1557459f3e6d401cdbaf303d67c7cdd2667516b3ba895be82aca7dc353b851cf5791823327da18bda7c4c4cc0f0632c22a15c3354ff795c3558bb648dae58a3d96f8217e19879979bddd862789b613b253ce990c121b9aee08a5980bdd49fbf72f04fc9d6e3b5dd583f9c1987eb25fd7856e4549ea0ed40399d883bec390183094e4dcbc5393a2be6da03c6aeab9d0d0555a0719b7d96ad2c5fd2e46ea634ad6728906a43ea8ebf8b346e1763d5f2f4982a1555e226e517389ad3ebdc08e6211d0218e6ef4888b93bd89339ffe502e537980422689d2658838e434e07cd8dc7b4be7298617ff98ed0ec53ff5ae1a2d3e3afccaabcb1aa3baa2a731a4497c41bc2b7ee2076b468604def5c55932cd6cec36cba2644745f3aaf3482427cb43804b0b0214debde2635bc7c4cd9e3a9ed730f3a109a42038d5591f73bc4ac2cc48fede106d76ab091a05f13fe547af7bb06f3ee22be7750c5aee5d4a0f34bbce4bf90daaf43017a129a34142832c534211380204c96c279a1d88b7edd5502eaae435a2fc31692f97a88bb1b4e23b5a17cdb4cc65e47fb7e35075f6d10aede6658a6aa043563d694c8bc8d65e78392b767f81d183aee403555751b57ec04f1465b0141ffddcbafb92191e38f917012d90db3ef8d78b7c61a70d08d4332907515ff44e900efcdb2d95622a777ebb818694b9f3466b8db7b229eeafc7cc8f5907c16d746a1db0a133bdb731c3fd9f1e2aa8231f7c022328889a99ab772a6e6636d524debe1842e6742c5b51e2aa96432014553fc4c556d19a0ccd874e466316e9056fc3a8421b7a27c30e6e2c56836d2a323b5702cb4d7c03d5b342c7e1748f26b9ed30008102af943b967e01763c7a524d28e91a9dcf5c5ce7068bd093d051c5713602094d6a1e0af682873361f7e5116b9dc5bb412df3de63ae4012ae7044d81a8a7f615cc687eb27f605e885c836160d9d0ace869a5194b86990b6757c4bc829b0b571b1e969518d8796c0f27945f0c075e9e48fd2458b3530c65610f30953b41c4b1de18d6c5993abd1341e9604fb97a796ba8631f3b5078a9a1a6875f2904a068c0ce07c54eb1fc265d73c01cd18dc9f00eaa98dcdf2793435eca7c2e890379606e6dece4364d9ff390f2a445ae5dd8d41347c581f2809e55a820a5a1e777c34c924d294eed6a087c80385f622cde67efadaf0832a93a2d6bea5ec8554ae447a354804dd2d3d882eed0a65cdd7da03feb76ea0107e133a207449dcf69aaaf4034de9c00908d8886c82114dcdc8686ca3cfecd1587374d9c06a24af6f21f37d11190915d42a906226e5db3da2a503ef144836446de045eb5812fb2e4312981322ab06b127c619353f6e53d1a2ef90689031b104460eb16334c9967675d2ce89363b96d74687d98eb56b93df82013c388900c9a030db6e16c7394d120cef1069aef070a4bcd7325fd93b551f5ebc39e0a56cb9870283695f4321f04b895809a63ca0b8783d3e5c94e7b08ea1ebf94dfd65381966a965e497c30d61bc9b108b797e471e612d817713849064d052218915117c188a04a3a2a62290abb12cdde48d785877b6b0bb096fb489241c4720aafc3243067f94cd94285d5c0c324fc149b62426b1f5d5c1bee261b6e79cecaef3aa5a4cf5940f4d6686b873f75f6aff672548988803464183fd7303fd3f9fa831379c467888b95350ee30ef9c1742e1d72f111e88ae26f4a46011519d34157aa204b99431acb521ce8b22f7d86f56a1745ce0562ca35cf7bbd39ac0283e1001db56c7e5e4ba7eea9991dc229dd2b99fecc9ec03c1ee0f4e0ea8e3ac7c4be813c8f6b7e54f9e6e615bf4a41c96e50534730a3798f0f4d565a71119583c67090ac81c8ec8dac4ca9bf59e57adcc01253af2428745d5d3071f41f6db1f3737fc37d4483cbd6b909dbb025ca0572da02790a7556755cf88f9f2d826e9b8c904bc3d7eb634dcdef50f61e1d8f77f16de2514c7652075ce935950b7ec6d46bbf22c28fa93f8c02a778ccfc3158bbce5b59e7b34832eeb26adc2f791a9c7044606e5e7e2c48f73ad5b26ae96c38b3cf7586ca1b6372c41600e6f8c913e1db851b810b497c2f5eb89f49eceb2326e9c69a4e1fa1f62ca0e2f994c94eed0bca5ac2fde9e6449417efc31c7bdc8f6687d24d6ef1ad5f8c1789b5674f54079e1685740e93b4aa731a7be406b475bfbde530473e954b91704f8cbc82888232b0bf4b8cd9c46a66f3711b07071cdd15b14d275e2f49f28435d20b09c3f25e21538ef1b98becdb8a032eff161a34033c6f66bcb3e690a38a58324ff5987348b0c859f51ba46221140a91fa80d43aa5c4377fc5db420c56b411581f067e627e18b396a8cf620050904baa84ef0c4a9e165ca6ee9ec426dd4dc848c3784a8ad3f543689491caf2208a2dd0d27f6d2ed6f5195abf248be3f700891effb02eb1ad6bb35532caf2bfab21f1a817f8ed10a17cf0138d0a0dc9dedeaa4d10d6c64ff66b05f9d35ac4623ba4006bd4beec666f84af14d06d8a9aef5c87cb52cd645453f6361508a9494b5a635dae25f45287e5eb111a6ef9b8701c3c0bb362ab8b7349dcce4fb28c5dcea2a389941ab633ac6108c55c3e36432cb6824ec5e1d5a06392a62744eab028981cf69f96f2fc6ea00cb0c1d594c9286f75bac4b0e238721cfb4f0b3780948d672e413b37d6cb933733260a5bf9ade26c0784eb2aa8bb206ee09890342f78b2fb908871e619cd066f0dbcaaa7b5d0d097b63ba50a2abd0041ef97e8fd034fa4a61e7cc8bb11e94b6aa8cb7b6696a1f2dc4c7a0845709cade5be75079d6b19c356d855f5b4db67c4b18cc350d7799499894752515015aabd310f1c1094bf6fa67d43c50a8ea2fae6c0a257ca79ad748ca7d9254987186ad7fa7026e36196bf5d0ef03fe07632cbc0d50256f7a653d3f1b4993fb74cac2fb69281399a2377d1cdb034caa08fafbab4e79be426de140dca527f94bbb6c03812ffa333bfc7dd0e1aeda8195369e35462fd1bae2a13cb4539cd269a200a29330a886ec996bbaf1c5f941cef62e47811b68a4b349a5119cfd7dba03e8bb25c4a669f70251eff997a5fdb761a5a59edcb670d72f88bc338cf2189e72b282060dd2a9c301a33e020f37aa350b6f2d3d76a3bfd1e5ba90fa68389c6c93e1bf0422e063678ecee439ed3d444255a7793d85c1fbaeb7a1dfabf39fc66a4fc2d854a8f886b16f74648d6e9fd7344e5faf485d8dd44a6e188482e979aa192f2ff372d3e173d71881527783a48effd9554dcadd0c7184366e6d62fedd0f8ac8605f563ac76d24543f17b35233b4eb1fc570995384950b4fd694b892a0cf3ec92981acab35629a96efb8924517ad0c1eea2ff4bb6fe33e904acf3aa0a1db52d1e4b83f14941e2cb2a4d63084822f4c58c8ebbd9dc3739ffd78e358f85463073d6a85bdc0a3c6e6d4d56a14d7c5f11f69e7bd3775cbbe20c6b9f2c3e55d347953b3fe74e1ce64e12f65d96b71297978ef01b554fae866fa5aed8aecc35fd0e1dc1faf52e0162fce866a0606af2f012c18b826a4ede30ddfb8dee8429db49837597868df6e73f6ec1b09d1b9e50c212a3b22ca4a92e6eae21b6691b38dca96949426b0aa7db1da7912aa9a5844a9205a375c494de2f3cfdf91b97f6a2744c5a7ed104a5d674239b240da9fbe472f2a93a6d3991209f69dd7ee53d6c69358878446bcdda8dd19baeb18992c4ceafc97e02d7eff78fd974f87619ee5dd61c092894e5a5d5ff17fb3610c5fc804f6b94fab5028d16c808ef1f1ec2d8893bf7dde704e7b73e7b3c2b7ce269a8c85b31c3d9528308bed104221223c5f4647e71dbfce1c105afb9ccb10065b628faa3b24839710829a05a00e55c539657f86f10e2120fc21ddf917f77da6a3e1c6aa4f25d7004b68aee1791b06db76f2d632d5b1875c178def4473a26ef376f22cdceaacf0bca7a78c82547737922f1dd5fb503e834869e6e6df1bdd1bc5b5300357104ad7588c30b863eda0dbde8577913f738df45cd6af716294ab68846fb9dfed840250bf6a389e03a52c7a7acfdaa75ac9f20f0dfe676ad1d6faa74eca6594518e61e85f585244b9dc24e036ee507ffacc7afc6eb31eb19e2f092d40a9609b7704094577483c9955bee066a214ec2557cea9c6c0f6a2e06e984cf5dc20dc3cff2cd6268ed9044cca6b28a6d6d9fe96da52182e25eac6b1b70ea65e476173ad518904ff8f1ffe81ae8a3989d172525f3ce06268542544937f8960e4270754266a7143ac09988a8315aa292974088ff07b61a7428ec27a4cf4c335df066151a7069b3a356cb5c725a145466d8ac65a6a7407b9d7e5f5e7b49ace98280ec7e06d0c5a5bb12dabd6ab0fa3278073658605e1d5bf5eae2ea8bd93ec923cb6cefe4c997515359503827e039e0068eb092328e2e523bad03a83d4b10a616657ac94f190d144f91ecf93eb6b2476a93b1e5c2e7ca7721103728586cd8728d06b664fcb81e878be2458c8e66bf9b4c05949f9a033b8e87f534f45da176f871c81b5a11af4b51d8826f6dac6200e2e0ebe109ed92ce2d776a731989cf491dbe0d24ee43a8209a2a83eb389fffc508e5963ea506ce53a249aed4632e9d02bc204895e0b8b8daf4aa96dffa126ebe4f0b38e28e48c6681f95a76ec08fecafac0c7a82d8aae0dbc2a3fb3340b49c926307b08bc1567a8c0c13b41f307df9e9f783301030ba234907d01ea5561d1b63d6d77c804d84efce77b886f32f14fdc84a77672f231ff1e6ec6ad9eee6fc1b1483e3c32ebe43b5086b4554ea229aae00719ad8484f319e5263519df8f09a905842da7b6142d98a07519815a1b005107be0191e53d983c9d44c379d7fc244b2448de0da79720249780c782c666487ab0b7f65848372ffdddcd73f115b036e81fbad58987ba541a2d6b1d6d7241a751368e2782f4774dd2dc675e63f6f279c1e7a5085ab1433e913d3b861d060e288393aae600101b286d84c1c3f7fc264448585c6682d90e133c545588cce31870a0ab375378a2b1d7dae9f2283c517aabd2e7f27cf70000000000000000000000000000000000000007111921252e3638', '0x3badf768e832fe2cb737de3c014ce58b4b34ba0cf51a3f971776f17e630d98ea', '0xcd6d6dee80ecc38f1b22f2d128bf6043dc41079fc913183a8995b5b3e187df61', @@ -181,15 +181,15 @@ export const validTransactions: [ maxFeePerGas: '0x3B9ACA00', maxPriorityFeePerGas: '0x0', gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', - from: 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', + from: 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', value: '1000000000', input: '', common, accessList, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c9c018080843b9aca00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080f85bf859940000000000000000000000000000000000000101f842a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000060a7b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f325a2309ec9bd7311c067a95ed67285a80f9bd0bf3cfbec68876f6ce5404ffce521c1f6e1388c17dd4310478960c4b311155842cb5eea7840476b1d8c62bc3917a6dff58464e556ad0c9605a397983fadbae3dbb70896862d4f0caf57185f9c5491ba4b75ada8a5d8e6017b2cb9d544acaaa317cc22df5665b548d2e870b4568f716f7e4a1bbf5a1c09c360141d81c475fd0be7133954685e5d2ce2d19fcff61b5e68e5120ca0dbe59e3fdc3fe4756c2f57bc2b0564c27f63bb6ebdcd88a552e2ae09b330b3eefdba57d3aebb5499f847f5b310ac07dee18a23e997584a29e2700e0ff36d78cbcb829c1324c4296862f3759e64e4acc73d0e253942b25066bdd2fc4d97b5facd2c5a0d4f21c0775924fb0dfd7e661b96c20a94d96fdf8f2aacad31b31469e7a3bdbc388120c3483a43e3ea523899a4c10a7ea307bf2a5fc825b2ce07000fb4bb54d4ebde2f3382635833a14e76a8332b7cab07bdf77492ee2428a2d2f017eaa80aea5e29d03fddf449ae6e482fe263765e88693b3b356b5692c05379a26864945a51267cb3b39d6d26d1afbe990b03f2a5923eaf4a81eea9b278ae6ab637952d28c55cae3c5ec3acc021cc8eecf6bf7bc0ab47a7d4c80606d2bb5ad3e546f8871b162107554dec8261ddb53a51c7e07ab363ff9e5b408e76cedaba811300228af9a355c4c746a06eee6db6bd81068bfc030630851193fe0197ea651ea05c496100dc810999e89339ff6784ac60bdfa67569fee20d3ca0152804690f63bcf20a929506c201be5032d124a9468259bd29715531d8a8c8d024f1a0fa25498b38b01fa558fc882dbd22111e165b91cb6a1f7bc36184c88b0ffadafcf3ab7923ea043021fa9ac67407eb19791cc7a41c2efb804105eb9a7111d4368a217c885dec10b0355af0ee04dd87edede12fb4d5a539cba5f97d964fe2196a3625f7317942e4620bac71a5b7433ae5a0773857166edce2edb1921de79e501f2717bf71b55ac0e051388cf1d88cd54efd930d54398250549057b5e5f9aff1f5f7d040cdcde0eabb11d6bc2b7592522adf3a361469408100cfecef617be615b4795937d9c9e033b60d2ee524b929cfbb40fcf3f2fc0e8e35ea9a205aafcd003c55ec3f220f8544d1edd3b4e369c7b4923a6bf63ac0d18afff5e7db89028b38da6679a0d30765e3dafdc94ca5e47bbeafc9b2c07bfc37b80a64700f0bf8e7b42c60fa18693b1e7a6093bd03fa1aa7c73884826f874c1694cdd3b95afb0010e3463447bdd1888bdd6a35fc625e27090932c651b5150c9a03e36646ffe4665f4d7d01b1a2f1432bb3393e4f11321dd07d9ad2b109f637728f6fa80e9af8a5193e8210555d5542f0e7810532f3a18e9a1760c01973c269b7040edb4b2a1d3dd5e9430f393e4b17271d8b7a7adf19dd5a2507df9a1ec985a6ca41a21cc754b9b731c2bc14a92a325000e78e4b51c596f62a24235c70ef7e1c0b94764bb7ad351110120490a626350c20703bbe1fb6f6dc2ca7993b5961a0bfd0cf86f1840560c3c220bf86f9c6ed61aab99328ae1d0aef661ef3773c83e537589f7dc9e4dd89ee0676ed43d158da52378a92f00e266e5ffd1253cd8d05935830d9ddcf0318e1b83829ae8dc2466797386e5746beb81f0632fdab45292f8ede452b1e89051e3e44f38aa9a88568481471d66e2a16c42438df58e1b3a733f6894895cf54c58a9810a44b480c1dd73d4cb9211cf9c867e8b0f8f1e497bc14b57847fc7e1f3371ed70b8f8f65d3cd18b5823c7055bd56166ea34e346f4cc17681a18acea51415a45f8db785e0ecfaca41c07a0529e0f166012469dff7c2517efb58d2b9c07a5f748bc578a7a781747d42050507a3ea604e148babcb7be6a1cf08a08d0083c33113aa72a3835afe950340cedda605246d7fd00be9038e43b0fddc84053f8b47a325d7e35ed70bfd206ee2a8f8f3bf6ebbe809b38f55349e6c1142a65af362ee18d67d15fe24a2219d9e4c2f0a7b579ed8cbde95af8f06045a748040993906bc48b9b0c9b84e0f5177c8dd6fff63507ac42563eb6ca59189cc87d91bd3fd7347c8ebbde3ae374a9a453e0d3cf6053e4e076ce767feaf727145d699169b406160f90d6562aed846cb89fb6ccd12b40080d7800c040147c3e13840c0b2d0d84fccca40d4696c24e554b0bcb8c3b6a71c1a2c57354583c9472b91cc98e97dfc28c9ea825743de0a4597792b8ba1425438601316bb56e165028a94981e6b4aea8d6e231d332b2dc481b02e95abe1c67030f296e7adf524ebe16197a3e6d9fdcc678181d36e216881ed0cd0d526da0dc1861da3a8478cf07699a1dc58e130404c2685ad735479dd44ae6fc736e29d191b5d33460f8ee3e1fcff6239ac7d55e72a329f4f6a301924e94780b03de0e99c55db5d6b58221bd61aa94cd1591bb0d84fe72c0f873435c3bbe58c5941b9d610fa85a8ff452b90eb43234a2341cff615584ca9e7f8443653fc17a28d1a7c7e8fb084d5d0904345aa88873130547a6238711317d6f0d7ccc2ef892a9f5f881be45eb5b619d9982a7aac42e6de370e26978d21d3dad3befbcf56e35f593e52ad149bebdb2010b56087670d0ef1dd33dfd79d35c62bf43e3eeb7b37ba951fd21f3e113bee8652a134ebcf7e1ff2b758108b7dbf488941cc1fed978cee8eb3c0c5c7e83eda0fe6e6e63903f15f45abb2e0efdeb9d303514308baeedd8dfe827ab14a24728a109641648a50da4b6a5d985a7f108ac0c7ee47d7073f49c76e65dc8bd18c6193ddab0d5f2d23c2839495aff6fc74671aa1796e106dc1264f9d598149f6f59ca8302ddeeb118f6902509d1bb6d6cddb7922ecffa9610134a1a936f80e33efe9d5fa1f2fd2ffe2afe540c042a6b951724ab2a9bf32e6fe144520db1e0baf966c240a1315f614ea1a5f7e927da07bfbae9b68fa01619fe58dfec29ebf8254ff4c43385f2479332cb3b3eac6aabacdb371129f1eb55e32a1a6b3a076b7d90fe94c1aaa50bdfa8a182a2d985cf558c5046972d0db4d697d561aa2f2a55e325dfe469f3b6d3e79edfc1d756ec897d954e88986a6ddef205675bd388aedb12eb447f314ec372785d06c7c0e39c68aba7477e2d2a9fcfe529d9951ba4065ff28ba59581b50aa4a4c2fed9f68309a0d19bdac9255907dc43a3260b554f75f2769fe1c0fdcbdc013e99eb53f894f70ec6e8f06cd40063bb9f39c5a61b5a6aa8d6114df03291e3372c24cb0ad2065e2c429411d6bacb187b9b34472d1c73c7cac3f61b1f3a4e6b31ea6d947696831cfa358bd90d53ecfad54181c46b57041d8fe05f24f2e4704ffea6a358574d5e98ebd3f1bcfe9bb8b32065371e9bb8f34195c35fd682404d9d90d7f3f6b5ca3a475e879e1b655fcbe1125a39ca17fe3b9f04fa85c74254d561496afb6e42e4046c48dc4ef0206304d6da6627bbad4d151e04290b54ade734ecd306858aeebd43f0176bec8be7d0a3512a3eddcc560e7904ee7aa76b2972fe5723f27df2377c4d4bc5816bee74806044ef480e776050e65d1eea4e44bfb6d2ff9af1f537c25d556f3edeadab393137025f7c3c9ed61d2a0d8d06a8651bc1d32cb2f0b36d26ffb35b76b160d58e9f75d16445c63a0aa75793b054f40841d3f1b274ad46d7fa34c9d821ab84b5b99e3cdf639deb8b1f65d89fd2e58f986ac7c3a2eb7a981ba92d993ffbd87093df7455aa97c0081a3fe85fac1a6d34b5289e787235210dee63e28fec3f10cb9949ace99b7b0e8ce57a7931e00061032c42f237855f1ef59c6d00ee22508310593db2c031faedcf9a26c85231b43038afc326c96d13324936e52bc53ded5f4c668f5ed22f140240c3528fd242fbdce7bf2ae1f00c5f8058df3ac7f13f10a2c4bd9b9743c4f7c4fb82278ebf16dcee106003cce34923891322f1bf9927c7971935931d4c1ebeea30d8c1f18e01396e505cf8e4eeefa04540e1ccd353051bb2d7ccbd1cf4d6f80dd2b712a55c06268a1172811369c7fbf1f980268a95b9b292ca640caa49d46d1a2f7f1db6aa52ea5131371250cb33926f2a8dfea8f6b3278cf374257a5c69f4b3cbbf29b4e14e7b0a2b22d5b9edf7ef333530edb3cb00f769f871afd821b10b5cd592b704fe8a6c551c995318db41bd44aa4a5400cb4542988258564fe02cce1fca9c3b17a3116a55ba843f71393427dcaed8ae530fedc6544c810646561b5f20a2274e5c7712f739c86638715ae26048d5f6a8c69a16cf69767209d65c1798bc6d5fd79df0d3b5b7e99d2051f62f2105c44c81d5f310855d60dfbfd7948ec1c729253e2ffb2aef8337236bc5163a78fe9d78bf3a43ac7c74490931fb6966fc52e9688190c818f12c4c11ccadf4df4ea230dd2cc8590f073cda29cc67d6d670916b706a6922fa42e1df726a33110c0da837ef3176ca5eb8a59004ffd2181715cb9e9af8fe139d93a6ae104db9bca44b400356967d702681cf6de784fe7807d6013e9179388337bde9daaf715fa656cd59dbf71a4ef7f936e51ae01c9740e960ac22b6fc368db55c4269f0ed1a721b35a55503614116125499089f19eaa9898fe0a52dc0672b1192f17d438d9fa9388f6119f79fd0173a22d8fd1145745f3dcf3e9452d5f741602c4f0c4806eef3120f5fa9f9fe66269db83cbb3012680eea7137ba450a51ff758eb22fc5949f830c3f45e2951052007415b21dd0ed7fccae506876d19b4016c3e217418a709c4db2f6164f2736444934c828bb516bb06a13e5723441b8722f7594d0c5460e22a511f66f818e1b016000fc4f9a76826f932d836dae603769f8e6a897a6211e9f87390c1a41bc9d2cd706fc7e4cfa7f78a7b96ff76f9bd8e39c06c30fe2c9b96c381176a785a7f0c396296b423dc6be01fa70fcc0968c14f7cc448c60b7902260d46e2e918a90450a918ae555aa12c3deb2fc8e105a51505b5cfa526234859138127a2b228b9bd798c71c35175cdbe1dcea9c4f1076e71f4fa4421a643c67de2038d3af31762ecdae3e44678718748ecf057dc97d17f0298a8fe643a04ff813d983d532ae6f40dcb8f215a3204e1e21f9b6ab723bd60321b5b20c936355e6c63f04aa2f2d9de903bb2e7afc768efc41d2d98da01d0efba3e805e283f91f242cac837d115a311f74dc36eac2a5e1b27e14a652f73a0d180e52ccc28a9f6cc7ec0c6412a0ba6903b0a82f03ec0dac3c20971de9952d84c1fa47838af3dbde878348751a21b4177e56f0ea2bd58cdfda6af4ef2e005ed641cb9a4d1e0d10f6dbac8c72e584438b407e47b5cf314c8f6ee1f3c1581c04019c40e2b044400ed21743c798b9d9b363c318c1726026262d3e7eda43d6676364331a34727cccac7dd60c1e7e866356692ce01c43c11bc3869958255f944975711a803cc21fee1a10bf7de4964fc9abac065db131950d50a82accffdc36f2e77d55576d4c93fdd771660d5f112c0c06d4f019e2140303faea53bd3795f469dc35042f300d71b9bcddc3f8b76543e03731f64ad29d6e8b3fe545c22e49da5ac2d21455e874d58a589495aa4eedd62f92fe13c05d897720d26e1abe7ebe0c72c515f278d70b7485d051fcea4669e6450060e2f883d04975af27d5dd48cefdeb9b60e1bfd9317f20a960b520b696f46edb1c2aabd8c2beb272c49089c2081712e9f54807c5a2a94276b816e82bfb80510d7326ccbb0ad8c8f6e2519f2d7722a2b694e7a9a1c813fdfadd3fbfb77afe85da80b42810735bfceb1e9d7d521d0bb44d5eb76d094803a996611eedf61d3c81df2f06ef6d4b3fe4e8299bdf3061cd7e6bdca979828d92a8b3f79411820073d6ee1939d1d025bf6220291d516d73087f1d30068980f9188f1be0137b5146e9447649b9d35167b0c656306642fcee8a430879dd886b402da960246f7e3ba22a8781da6447831d1b9cc9f04c6677172856c79edcd42ce2ebba6a6bfbaae63d5826a23c0fdcef30546a53a781769069c517fe75311c3add4c8a9f74131c442e5e9b4b20919c12ea7362600ca83c9727b654ed2e45b6de1c1d4709ccfd2c84f55b78b856343972b31cd68db3cd84bfe1f68790a0d52c2e9ce807c2f619cb36c31e4885683e22677b8136b152c4e7b97f6c670a0c9ccefafc84849d165cb031f1e759a01ea4b5e879ab3152974da28b0589617c5e53a39ff398ec9dc8a75c99e3803f14328538170634c5cdabee541c206cf44db8454bd09b8938dbf174a7327a9abadff34f0ff52c1373813c0074b8a64ab788bfc9fed2aa5a7e5dba685d2b53d297b60066389254eb971ce3f0c84ed71b916fab0e8b424c2a640974c375b7df06913bf2a62cf7a97df8532b89b161bbcc163016d5249036ddb266b6c7cedb8027f4a1e96574610dbd3a301b4ca5ef052a126103cc2503b8b9dacbdcddae7f60839508a8d9ade0d28a6b7c9f21395c74d646e7cc2f8fd0002123f419fa6a8bdcb6089d1dddeeef730345b65737481b3db000000000000000000000000000000000009101619202a313a', '0x6a0c99ebdf6ca4547d539bb4c128c503ce3c84d1e8ba97aef0e38fda6a5ca062', '0x2c054bfda5536279e353479d4371221994bf004c44c9ef7560357dd9fea7530d', @@ -205,14 +205,14 @@ export const validTransactions: [ maxPriorityFeePerGas: '0x0', gas: 27200, gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', common, accessList, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c9c018080843b9aca00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080f85bf859940000000000000000000000000000000000000101f842a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000060a7b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f325a2309ec9bd7311c067a95ed67285a80f9bd0bf3cfbec68876f6ce5404ffce521c1f6e1388c17dd4310478960c4b311155842cb5eea7840476b1d8c62bc3917a6dff58464e556ad0c9605a397983fadbae3dbb70896862d4f0caf57185f9c5491ba4b75ada8a5d8e6017b2cb9d544acaaa317cc22df5665b548d2e870b4568f716f7e4a1bbf5a1c09c360141d81c475fd0be7133954685e5d2ce2d19fcff61b5e68e5120ca0dbe59e3fdc3fe4756c2f57bc2b0564c27f63bb6ebdcd88a552e2ae09b330b3eefdba57d3aebb5499f847f5b310ac07dee18a23e997584a29e2700e0ff36d78cbcb829c1324c4296862f3759e64e4acc73d0e253942b25066bdd2fc4d97b5facd2c5a0d4f21c0775924fb0dfd7e661b96c20a94d96fdf8f2aacad31b31469e7a3bdbc388120c3483a43e3ea523899a4c10a7ea307bf2a5fc825b2ce07000fb4bb54d4ebde2f3382635833a14e76a8332b7cab07bdf77492ee2428a2d2f017eaa80aea5e29d03fddf449ae6e482fe263765e88693b3b356b5692c05379a26864945a51267cb3b39d6d26d1afbe990b03f2a5923eaf4a81eea9b278ae6ab637952d28c55cae3c5ec3acc021cc8eecf6bf7bc0ab47a7d4c80606d2bb5ad3e546f8871b162107554dec8261ddb53a51c7e07ab363ff9e5b408e76cedaba811300228af9a355c4c746a06eee6db6bd81068bfc030630851193fe0197ea651ea05c496100dc810999e89339ff6784ac60bdfa67569fee20d3ca0152804690f63bcf20a929506c201be5032d124a9468259bd29715531d8a8c8d024f1a0fa25498b38b01fa558fc882dbd22111e165b91cb6a1f7bc36184c88b0ffadafcf3ab7923ea043021fa9ac67407eb19791cc7a41c2efb804105eb9a7111d4368a217c885dec10b0355af0ee04dd87edede12fb4d5a539cba5f97d964fe2196a3625f7317942e4620bac71a5b7433ae5a0773857166edce2edb1921de79e501f2717bf71b55ac0e051388cf1d88cd54efd930d54398250549057b5e5f9aff1f5f7d040cdcde0eabb11d6bc2b7592522adf3a361469408100cfecef617be615b4795937d9c9e033b60d2ee524b929cfbb40fcf3f2fc0e8e35ea9a205aafcd003c55ec3f220f8544d1edd3b4e369c7b4923a6bf63ac0d18afff5e7db89028b38da6679a0d30765e3dafdc94ca5e47bbeafc9b2c07bfc37b80a64700f0bf8e7b42c60fa18693b1e7a6093bd03fa1aa7c73884826f874c1694cdd3b95afb0010e3463447bdd1888bdd6a35fc625e27090932c651b5150c9a03e36646ffe4665f4d7d01b1a2f1432bb3393e4f11321dd07d9ad2b109f637728f6fa80e9af8a5193e8210555d5542f0e7810532f3a18e9a1760c01973c269b7040edb4b2a1d3dd5e9430f393e4b17271d8b7a7adf19dd5a2507df9a1ec985a6ca41a21cc754b9b731c2bc14a92a325000e78e4b51c596f62a24235c70ef7e1c0b94764bb7ad351110120490a626350c20703bbe1fb6f6dc2ca7993b5961a0bfd0cf86f1840560c3c220bf86f9c6ed61aab99328ae1d0aef661ef3773c83e537589f7dc9e4dd89ee0676ed43d158da52378a92f00e266e5ffd1253cd8d05935830d9ddcf0318e1b83829ae8dc2466797386e5746beb81f0632fdab45292f8ede452b1e89051e3e44f38aa9a88568481471d66e2a16c42438df58e1b3a733f6894895cf54c58a9810a44b480c1dd73d4cb9211cf9c867e8b0f8f1e497bc14b57847fc7e1f3371ed70b8f8f65d3cd18b5823c7055bd56166ea34e346f4cc17681a18acea51415a45f8db785e0ecfaca41c07a0529e0f166012469dff7c2517efb58d2b9c07a5f748bc578a7a781747d42050507a3ea604e148babcb7be6a1cf08a08d0083c33113aa72a3835afe950340cedda605246d7fd00be9038e43b0fddc84053f8b47a325d7e35ed70bfd206ee2a8f8f3bf6ebbe809b38f55349e6c1142a65af362ee18d67d15fe24a2219d9e4c2f0a7b579ed8cbde95af8f06045a748040993906bc48b9b0c9b84e0f5177c8dd6fff63507ac42563eb6ca59189cc87d91bd3fd7347c8ebbde3ae374a9a453e0d3cf6053e4e076ce767feaf727145d699169b406160f90d6562aed846cb89fb6ccd12b40080d7800c040147c3e13840c0b2d0d84fccca40d4696c24e554b0bcb8c3b6a71c1a2c57354583c9472b91cc98e97dfc28c9ea825743de0a4597792b8ba1425438601316bb56e165028a94981e6b4aea8d6e231d332b2dc481b02e95abe1c67030f296e7adf524ebe16197a3e6d9fdcc678181d36e216881ed0cd0d526da0dc1861da3a8478cf07699a1dc58e130404c2685ad735479dd44ae6fc736e29d191b5d33460f8ee3e1fcff6239ac7d55e72a329f4f6a301924e94780b03de0e99c55db5d6b58221bd61aa94cd1591bb0d84fe72c0f873435c3bbe58c5941b9d610fa85a8ff452b90eb43234a2341cff615584ca9e7f8443653fc17a28d1a7c7e8fb084d5d0904345aa88873130547a6238711317d6f0d7ccc2ef892a9f5f881be45eb5b619d9982a7aac42e6de370e26978d21d3dad3befbcf56e35f593e52ad149bebdb2010b56087670d0ef1dd33dfd79d35c62bf43e3eeb7b37ba951fd21f3e113bee8652a134ebcf7e1ff2b758108b7dbf488941cc1fed978cee8eb3c0c5c7e83eda0fe6e6e63903f15f45abb2e0efdeb9d303514308baeedd8dfe827ab14a24728a109641648a50da4b6a5d985a7f108ac0c7ee47d7073f49c76e65dc8bd18c6193ddab0d5f2d23c2839495aff6fc74671aa1796e106dc1264f9d598149f6f59ca8302ddeeb118f6902509d1bb6d6cddb7922ecffa9610134a1a936f80e33efe9d5fa1f2fd2ffe2afe540c042a6b951724ab2a9bf32e6fe144520db1e0baf966c240a1315f614ea1a5f7e927da07bfbae9b68fa01619fe58dfec29ebf8254ff4c43385f2479332cb3b3eac6aabacdb371129f1eb55e32a1a6b3a076b7d90fe94c1aaa50bdfa8a182a2d985cf558c5046972d0db4d697d561aa2f2a55e325dfe469f3b6d3e79edfc1d756ec897d954e88986a6ddef205675bd388aedb12eb447f314ec372785d06c7c0e39c68aba7477e2d2a9fcfe529d9951ba4065ff28ba59581b50aa4a4c2fed9f68309a0d19bdac9255907dc43a3260b554f75f2769fe1c0fdcbdc013e99eb53f894f70ec6e8f06cd40063bb9f39c5a61b5a6aa8d6114df03291e3372c24cb0ad2065e2c429411d6bacb187b9b34472d1c73c7cac3f61b1f3a4e6b31ea6d947696831cfa358bd90d53ecfad54181c46b57041d8fe05f24f2e4704ffea6a358574d5e98ebd3f1bcfe9bb8b32065371e9bb8f34195c35fd682404d9d90d7f3f6b5ca3a475e879e1b655fcbe1125a39ca17fe3b9f04fa85c74254d561496afb6e42e4046c48dc4ef0206304d6da6627bbad4d151e04290b54ade734ecd306858aeebd43f0176bec8be7d0a3512a3eddcc560e7904ee7aa76b2972fe5723f27df2377c4d4bc5816bee74806044ef480e776050e65d1eea4e44bfb6d2ff9af1f537c25d556f3edeadab393137025f7c3c9ed61d2a0d8d06a8651bc1d32cb2f0b36d26ffb35b76b160d58e9f75d16445c63a0aa75793b054f40841d3f1b274ad46d7fa34c9d821ab84b5b99e3cdf639deb8b1f65d89fd2e58f986ac7c3a2eb7a981ba92d993ffbd87093df7455aa97c0081a3fe85fac1a6d34b5289e787235210dee63e28fec3f10cb9949ace99b7b0e8ce57a7931e00061032c42f237855f1ef59c6d00ee22508310593db2c031faedcf9a26c85231b43038afc326c96d13324936e52bc53ded5f4c668f5ed22f140240c3528fd242fbdce7bf2ae1f00c5f8058df3ac7f13f10a2c4bd9b9743c4f7c4fb82278ebf16dcee106003cce34923891322f1bf9927c7971935931d4c1ebeea30d8c1f18e01396e505cf8e4eeefa04540e1ccd353051bb2d7ccbd1cf4d6f80dd2b712a55c06268a1172811369c7fbf1f980268a95b9b292ca640caa49d46d1a2f7f1db6aa52ea5131371250cb33926f2a8dfea8f6b3278cf374257a5c69f4b3cbbf29b4e14e7b0a2b22d5b9edf7ef333530edb3cb00f769f871afd821b10b5cd592b704fe8a6c551c995318db41bd44aa4a5400cb4542988258564fe02cce1fca9c3b17a3116a55ba843f71393427dcaed8ae530fedc6544c810646561b5f20a2274e5c7712f739c86638715ae26048d5f6a8c69a16cf69767209d65c1798bc6d5fd79df0d3b5b7e99d2051f62f2105c44c81d5f310855d60dfbfd7948ec1c729253e2ffb2aef8337236bc5163a78fe9d78bf3a43ac7c74490931fb6966fc52e9688190c818f12c4c11ccadf4df4ea230dd2cc8590f073cda29cc67d6d670916b706a6922fa42e1df726a33110c0da837ef3176ca5eb8a59004ffd2181715cb9e9af8fe139d93a6ae104db9bca44b400356967d702681cf6de784fe7807d6013e9179388337bde9daaf715fa656cd59dbf71a4ef7f936e51ae01c9740e960ac22b6fc368db55c4269f0ed1a721b35a55503614116125499089f19eaa9898fe0a52dc0672b1192f17d438d9fa9388f6119f79fd0173a22d8fd1145745f3dcf3e9452d5f741602c4f0c4806eef3120f5fa9f9fe66269db83cbb3012680eea7137ba450a51ff758eb22fc5949f830c3f45e2951052007415b21dd0ed7fccae506876d19b4016c3e217418a709c4db2f6164f2736444934c828bb516bb06a13e5723441b8722f7594d0c5460e22a511f66f818e1b016000fc4f9a76826f932d836dae603769f8e6a897a6211e9f87390c1a41bc9d2cd706fc7e4cfa7f78a7b96ff76f9bd8e39c06c30fe2c9b96c381176a785a7f0c396296b423dc6be01fa70fcc0968c14f7cc448c60b7902260d46e2e918a90450a918ae555aa12c3deb2fc8e105a51505b5cfa526234859138127a2b228b9bd798c71c35175cdbe1dcea9c4f1076e71f4fa4421a643c67de2038d3af31762ecdae3e44678718748ecf057dc97d17f0298a8fe643a04ff813d983d532ae6f40dcb8f215a3204e1e21f9b6ab723bd60321b5b20c936355e6c63f04aa2f2d9de903bb2e7afc768efc41d2d98da01d0efba3e805e283f91f242cac837d115a311f74dc36eac2a5e1b27e14a652f73a0d180e52ccc28a9f6cc7ec0c6412a0ba6903b0a82f03ec0dac3c20971de9952d84c1fa47838af3dbde878348751a21b4177e56f0ea2bd58cdfda6af4ef2e005ed641cb9a4d1e0d10f6dbac8c72e584438b407e47b5cf314c8f6ee1f3c1581c04019c40e2b044400ed21743c798b9d9b363c318c1726026262d3e7eda43d6676364331a34727cccac7dd60c1e7e866356692ce01c43c11bc3869958255f944975711a803cc21fee1a10bf7de4964fc9abac065db131950d50a82accffdc36f2e77d55576d4c93fdd771660d5f112c0c06d4f019e2140303faea53bd3795f469dc35042f300d71b9bcddc3f8b76543e03731f64ad29d6e8b3fe545c22e49da5ac2d21455e874d58a589495aa4eedd62f92fe13c05d897720d26e1abe7ebe0c72c515f278d70b7485d051fcea4669e6450060e2f883d04975af27d5dd48cefdeb9b60e1bfd9317f20a960b520b696f46edb1c2aabd8c2beb272c49089c2081712e9f54807c5a2a94276b816e82bfb80510d7326ccbb0ad8c8f6e2519f2d7722a2b694e7a9a1c813fdfadd3fbfb77afe85da80b42810735bfceb1e9d7d521d0bb44d5eb76d094803a996611eedf61d3c81df2f06ef6d4b3fe4e8299bdf3061cd7e6bdca979828d92a8b3f79411820073d6ee1939d1d025bf6220291d516d73087f1d30068980f9188f1be0137b5146e9447649b9d35167b0c656306642fcee8a430879dd886b402da960246f7e3ba22a8781da6447831d1b9cc9f04c6677172856c79edcd42ce2ebba6a6bfbaae63d5826a23c0fdcef30546a53a781769069c517fe75311c3add4c8a9f74131c442e5e9b4b20919c12ea7362600ca83c9727b654ed2e45b6de1c1d4709ccfd2c84f55b78b856343972b31cd68db3cd84bfe1f68790a0d52c2e9ce807c2f619cb36c31e4885683e22677b8136b152c4e7b97f6c670a0c9ccefafc84849d165cb031f1e759a01ea4b5e879ab3152974da28b0589617c5e53a39ff398ec9dc8a75c99e3803f14328538170634c5cdabee541c206cf44db8454bd09b8938dbf174a7327a9abadff34f0ff52c1373813c0074b8a64ab788bfc9fed2aa5a7e5dba685d2b53d297b60066389254eb971ce3f0c84ed71b916fab0e8b424c2a640974c375b7df06913bf2a62cf7a97df8532b89b161bbcc163016d5249036ddb266b6c7cedb8027f4a1e96574610dbd3a301b4ca5ef052a126103cc2503b8b9dacbdcddae7f60839508a8d9ade0d28a6b7c9f21395c74d646e7cc2f8fd0002123f419fa6a8bdcb6089d1dddeeef730345b65737481b3db000000000000000000000000000000000009101619202a313a', '0x6a0c99ebdf6ca4547d539bb4c128c503ce3c84d1e8ba97aef0e38fda6a5ca062', '0x2c054bfda5536279e353479d4371221994bf004c44c9ef7560357dd9fea7530d', @@ -227,14 +227,14 @@ export const validTransactions: [ maxPriorityFeePerGas: '0x3B9ACA00', maxFeePerGas: '0xB2D05E00', gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', - from: 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', + from: 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', value: '1000000000', input: '', common, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c440180843b9aca0084b2d05e00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080c0b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f36b5ce6c691db75837d01b4caff6b22319dc4f53d224795d90cfb4fe2dbb0005e0a087ec119e1932a8de4d07491e555f1b2ac1dfb1ca00493180dcee3b5f66663c8be0db67f0e6d72b826341e29840fe6cb3c208733bd66919c8a3a56c205c1ea4cf0ccc976fca5dc94b9d9dd8bda4eed7784330b547a6643e7cd7a9378de4407394065087feeb089ea5616d0b8b2cf657fc7db384db4d4899773d687b91fba3f53f6628827002fb4cc6b7dd777240bd933043b094a6e0527bf04fcdb6a84087865469744928395925cb7419828a8d1a19eb8233f78a9981950efc7cacc40694e2be28138012dd3c9173355046cdd3e7222ad72f99f1532c1c481099d11db723db367f266c5819bfe61d57fe0c1ec1fe4353dcd108fe59930875f7faff0f6ddf04e38ee15d0a60776e219d7fbd4e1ce25f813117989581d0c7e4df2e8c25fa18985a5136d8d434be0a978562a76d69b60f58d298329dacb023e1616da49e6964610f4eb6ef8b92501e567ad55e95704c37e6d32109c7cf6b71a926b2b3231d544bec80b1b68034be35c450dc865387e6cc674877d7f3349eefa485ea7736067783476b1de3e6144257d18f800130a55d0b2df90155cd4aa722498aa09b76b48791d3e167f321d5b174a5b1073a61d44af6961caf89a1cc0f4824f9e2deadb5244c12cf4f30870ecbcab46ff2aa8be0e26c765af8589e27c5283e7dd5184aa2cd2bf5e01f0d51d4c0a233dc37d8c2db9bcf221dc9fb359c9e79e44fc0ab29a94b6015bf47aa15f94ab6410fa4ffcefe0ce0b56e91d4a060fb37422b187b94b47221fe27b53abe06c4c1fc957ba7a5ce729ad964ee382040721dea270d65468375530b977b3359b8e678280c2c10c581e00a8e6f6a0cac3e3cefaa4e385429dcdd4151203bdc32ec3805df4c434789c67e2779e5bbff15d61e2b41c7f3ae0f418e39765dc5628740af98bb552acacad22e9ad646bafd12a09375bcb9819eec4c7b40322f78e1bceb2e76d736afaa9dde8b0fec7d25d850007ccc67266aee85df30185c100bad3e5c746971c6863d56e952794348ee1648abc1bff412efd99e0373ba8d18e79048f02e642984cca4cbec340dbd3da230564844f0f9f23e5843af2f4fd7cd6ab705c8e4f450b472a86ede59b4209454236679d13f5ac52aec1cb381605a22fdfd819f7ad5aa88023dedb25064436ed01f8f92bb471bf7d081b7c03b093a352566d5aa42a362306e6cd3e1b5a55675e838de8c80bf9e623c697eb33626a38bd6cf0bdf4710fb4b39d08e275cf521e652af95935b13fef24dd1bf3b08181dabd9093836ea7a0d0618fe8147c0efcbba4048adfffbea276e67785f91f49ffe0251609e314b464eca2b4c0e63ddd1d45907b81b2848f95a3de75d37f4acad0b63010a1cb9511946a22c5cf711b7bf3f176830537359946ce45b22305820f1299db4d3584e4c3cc21a93a303f8eb7f1198977c2e36f132103553c2905c83c981ee440d1a26f3e7e67a923955d1bc7454089b779f103b4ae102ef2b1c98623d1e9aa881dc2db35c4dbc4558e145f89ac42e1463d4ac690a3bfa605322038280fb931f9d06db8db978b7c71d1eee1e4b6937c54fcc5b7c48152497ae873c83ca7f633e7637fce1a734ea37c28a30974048683c97d8a7f16da6478a4b185e695faa5e9525d461ef26d57eb2bcae435b6a7c47579ae40cf9f163f2214fc96c7168c8cd63a85b5e609154d3e11136ff3dc3c9086e5b22bc96ee600886719d1c4e234cf1225a7569ba6e1afcaf4c95628cc1cdf356797c20256ce55ed7c49a6617a72bc03a608c30170152131bdf407aa23d590a8ec6df021ed38dbacffbe8f541078ce80b85c104279e39ac4884d682ac960d2fd1e79ed7bcfa1ec04d8d26e3d67b1cc961b3b709759fee9d90290d6b5bb774b78c826ab76d1d8af74656b11cbf78140afe402d158343475420c75fe244ea332eee3f7197ed929228da67ab52a56accc1d8ab9f6cefd656d578fe527e9b40de998f4324c077fe868d7dd5dc4a293fcda461d83b31b64bdd934c87a88787cb05a455fade437d68fbd3b637d5dd991e4629a8fe4bea1d2a42fffafc674527a31ae28834eae30602c8c38fc390948d52db7763b24edf4c3126530c1590f878e615576e67db889222ba33e0a9bc76e1941cd3fe378c9a130abeb5f871c0c2d02d82b67b99715b425a6612c167bd1058727a120299ec526b35ee5dafe79bbc18a25dc9ebb1f80cd9e7a7d768eca60083b34f784f93928d0d54ba4c01e2d6255d00d292ecd0a5fe134252bbee740caf0b672a52f35e7922b44d199f30bff601d8012656489d081ee52b72c5f909c5f223cfd6166db0f8db1c872aacb0a054a0b8b8dd0b1dc4efec63b72055cb7a179861d721418213660b644801df6886ba9807c7c584f32ec82553169d49d37e84819ff1df91d1913b83ca8fd93c031c3b0683b086d6e95491843838b39d931c768ede4b7b0b2a07ba96b9a191ac2f108fd71e6b2dbe864d2b1e2dadf9d07de2669ce8622c3b04a4fd8b360d5601e7bbad8d7b07f4df48cfd48cdcf5f676a470e7da1fce4494924a8ac64759589b17da121d0ffaa34e68d515eaa2d5dd981d30cb69017c926f62007fb1d062d1347c61c08f68defa1305a39da9c7c5b90d6b00fca26882570d658739259d66ecb69b8c64f301fd2027b213c914ada0b86f767a8728761f465b1d089543a0c70fcf38296ba1705ceaa313dca051bb4a5b9905dde7beda3f9113abfa3902d76f13ddf403e680a0ed2b00cc268e532f6e166b1410ee06a69f2b3d75645033fbd33251445b1668370ebbe7bd96d13fe2c289700b7cd8129ad76786739b8f62a99a7455ad27738955198cf329bce8d282610a036eb315021eb29c79371b570d609cdacdb1ae7f12a454a7abe4a7e796e5dba016128e93cd0c26d5a6b76488e54fe90f47ac943d505a0867b90abeff8c92b426e5972d13157c95ae497eeb3c4e680aeb4f5bd652609a759841d22d171e06da9b6d0f42c979fedca6a789a2c3ddbad930c0f4396c72dca01f96c79cd96f5bfc2497de4c56fc86d292ce1fc7b9173103317da99db832e7055119f1795381dc54f56d94c7b6397404a442a54b154ae3b2172cefd08bd9ce338f34c74606fef101a826b0b7b201a8e5e7ff626bc2448b6530380da73a14ad6718b8a9700b93534df32cbbcbb678553b9109e8a6054e3c3d9b3ae8d667dc50d3beaa3a226f6891d1341ad0028d956bec18a9f43fd14a75b4d386200a47678e7e6edaa2e01b3c2a9b811caa7af2a51eba1e5bbacce81fd6fca27f9d8e6dd96f0d043282b372555df02319216b88ec6943e772c53913478a5285d947d1d5f46bc4ce0db19aa83afc5d3b46c4f533b71ba0414aeb03d3ad4763cf9dcd06d6d0970e94de6a1d75c57e0ad3dc1e092a49df11d41fced3aeb0653d2642f2da32934e7ea776a46896fe843dede300f2f708a28129b4c1e9583c58e92abbea814244b38653a198ea0302723d031fd2c87b1f3bb438d56080994d5339123bc88d044965435e7f04c76c54b112cea4276889dc6173ec1aa02aeb4dfb81b08b4b808ae0c8d64f37559a90f26031b10a62580b1a4a7d11afc0cd201e51c1b6032af42448c1b8bd6e9808b0f7222979010497db7007cd9a53568c6e4e0c56e34d777d7bfb649badd03f59efbc6800a14f4e09c84a2ab6fd61a234f4b1c672c556b14f77c93c37bb1ffda0d6ef86240d118f670ab845a8890b6e553b15088157db1f15c5df1aa46aef845e2d63ac82a59c40925f807412b6a775ea8711a036d06d53880ad9f170307aeadf04800d3d059109a771d7f17161e0fc2fef95e3e27b860162a1cd6e5c58ba6d5fa365b6fddd621e5b31f4fa44f0d9bc60aaeb5e17da8df653aa207b2b13b3b7d90af549a900ee5fca336e256bb1f9d7916b7656389c9ce6947a8cda9160d9dd28a42f0050ae7a9ea437bb40bec29ae5345179382fa10927463e3a8e1d8d35ce4e373b3de29ca91175741a2bbacdfcb3206d3313630e6dc01fe0f1cae2e44d506d02b45b7502b76259093a46c83d3b9ff9678090acccf5ef90a68ad350d89c394fc293c4a740635baa74501417486be9e18865878ec76f8ae8661f2a58adf3c85473deb8ea237f7fff989c482f592fff3deda83de5df71e64612f039902753443f59002c0789941bc6177b2be01dedc33bd412fdf76aa0a5493aa57321788eb98ce3ef43a1e82ebd79b0de0370a308ea7afcc1419dd3ac4439d011f2196a8d89024e4ab0f32a61757bf19e696c1125b4d347f7dfadc63111c8127a5a293c81efc919171c6d6272d3bb2983225a709f06f85bb978649b457e026d62d150b7bbacd27e155766a91a86bfdc4149024c012b385fe14f02b8c5c53c6f3965d4444bff93cfa5c260527b74368c02a9bd2833b44be75aedba902b8769b350ba3fe03503e74576190ebdc972f42b7313fd97e0f56e91fa7cdfe9847117ca58c59f0ef7cbb17c501887911f753d148f2ccb7c5bdb8f99d3f085e66d487852f95a81b37d67415587bb95a78f36376ac725307b080010103e3119da9e2b8c9f5adf311b8caf7545564ed6ee8730403ad6c3a8d96a7fb74418b9fdc1f003eb1df345360e5ae04d0eb3ad81e6d7726f0e600c2ec1b9ee2d9accba983bd0c149f439cdc07bd27059253afac1278d2c0abec8ff1d56b5a9396d7388142479b3ae14c88efaba2c161601868b83738de20316352701698e634bb3064f53f703b99c8a8b790f449d61a88341b8af273f63f1f21aecc4244d4f2bd29d9d392048db7a9a8fdd13b5ce27cccf4dd3498cb9e7039709a125778ca0ac230a874052aee90d2fd4a32835e15b9750abd374545d19e4dbdf3c36eab1849de8a1647a332bbb87a4d598b6fb97ac2b8a5f0e1ad9cc8af10c372a7e4fb635916778a41de3a552c480e6ee1717b317e779b6ea32dfd82cdc6e0c5e011bf225a5f7b273af0f4f5de381f3753c8f8f1508149bb1434fdad189ec0d0d7aded282625cfaf66e949a3fe8fe23f825bcb7bd2a513f9d45932286a0a05556a7efd097b5b3916086ec7346c2bf7448fd32a49bcf09e0f89829b761cb666ac539b4a55eb22173dcad5297e25ed394d8ea0644f73c11eed71bd08985343773aa725c8fa8990942d35a82b5f108ce8e1649c9aa03fc5735ed1fb01b20ab9e4634287b412c582685b325dc70d1cecf449a46f640db04e18fce4bbe7b2d3e053f7ef9ea51a43f4365d538acdab17cb3b5ce97f297be26e78002310106293049bb676f1b9987e7971af927b887ab52ea388142151c4a8340bcca674eb989ac20263480d53b05bfdef23ddd15b09206ef333d2fb77ae33e25f3098912d17e02f6bf302194452c176c35b2066b4def2852bc03c43857e1767091c2608182809f621d80ad52d9b4547d12ffbcfe7a436ee7f3fecfcaa8860a5fb2cb9d938caab4c5ba1250b88bc5476522e51a48e51358353edd65e054aa36102144c99d1c4da4abbc8f6b8d0730e944b72de3f6b123eb604be3fd74ff5e95ac78bd4034a42126cabb63a47e616e5f12ac67f55aaff5b6e8b2bb11088c33a356cbaeaa890bbd21dca7029fb87929f9b4512e7b7fa9837d66f422249e4b92ed693181bf40f61f4131c96fa6161cd6ad9cd0d7e55f0ee2c5ac97d30d00978a3882e81840ccc002574ef1b3b601dc118fefd9ecc76aba1cc0b6cdc46b7cd79b2c8938176e4c5a9258b341a50c8cbf5560cc56952eed5b07d2c168de9c99cbd658beaf884cd8df1c75e56671e38daf2f22f8f86669ca30e1bb53f7c60b2eb9ee2c93a07fbd6017ea3b69922e6afd12665ee3b2bc9146cf440530bd21f18cfd5d2ed7b99a16e2dd4689b25edbcfb0d1252d19ff8d919f2adb1c2c333da536e5a00a80d94f3f741db0b53e2f399bfe6ed42e6f7de8eafaa6b5c43c245fab1e770acf3819666f99346a7dfd5be16dd0ddb9645756545f01f20f8578c958c590de8ed5aed28a41410325f6b39f71881eb61998bae55c604d7ecae25740b2ba770b699663f914e505cab9618acf8f94b78a3f2c54a6eada014200c1cf401833c014ac8f22516d462a0803e98c4d260f1ce5bbecc5b5df2c91618838cb9aa1e4a48bfbbbef9b4caad2b03ff202133711fe94449ef686ebf56d35c699ed59c224a7bf5ad0a132c328413fe12fc2f52645c10b87bec9e44612a8e0772aedd690699ed005b5367a652516b7c6d30fbd32e5046f92db299dd3fe05476a7b3ae43d23a25d6b46ddc3d4cb359d0bace369132bf583e400314573aa62639e8dbe139b5e887bf606aa1d8f2fe655ef72324e38a0d7690330663b488d00c1d047b4bd15ad39150ec36aee1f49201ffaa88be8fe311323847698292d2f80c1a305482a7a9aa25484f72d4d8f865707498b9c7ef0b37546481fa1c3d54bfc0c60e1418365466787eabe6f50394a8c400000000000000000000000000000000000911181f252b363a', '0x1c46d98e083fdb5d43946d96c9dc0a7b97de16e9482d28c15608b2ad3aeb4fd0', '0xe3beea0918f445c21eb2f42e3cbc3c5d54321ec642f47d12c473b2765df97f2b', @@ -249,14 +249,14 @@ export const validTransactions: [ maxPriorityFeePerGas: '1000000000', maxFeePerGas: '3000000000', gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', - from: 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', + from: 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', value: '1000000000', input: '', common, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c440180843b9aca0084b2d05e00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080c0b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f36b5ce6c691db75837d01b4caff6b22319dc4f53d224795d90cfb4fe2dbb0005e0a087ec119e1932a8de4d07491e555f1b2ac1dfb1ca00493180dcee3b5f66663c8be0db67f0e6d72b826341e29840fe6cb3c208733bd66919c8a3a56c205c1ea4cf0ccc976fca5dc94b9d9dd8bda4eed7784330b547a6643e7cd7a9378de4407394065087feeb089ea5616d0b8b2cf657fc7db384db4d4899773d687b91fba3f53f6628827002fb4cc6b7dd777240bd933043b094a6e0527bf04fcdb6a84087865469744928395925cb7419828a8d1a19eb8233f78a9981950efc7cacc40694e2be28138012dd3c9173355046cdd3e7222ad72f99f1532c1c481099d11db723db367f266c5819bfe61d57fe0c1ec1fe4353dcd108fe59930875f7faff0f6ddf04e38ee15d0a60776e219d7fbd4e1ce25f813117989581d0c7e4df2e8c25fa18985a5136d8d434be0a978562a76d69b60f58d298329dacb023e1616da49e6964610f4eb6ef8b92501e567ad55e95704c37e6d32109c7cf6b71a926b2b3231d544bec80b1b68034be35c450dc865387e6cc674877d7f3349eefa485ea7736067783476b1de3e6144257d18f800130a55d0b2df90155cd4aa722498aa09b76b48791d3e167f321d5b174a5b1073a61d44af6961caf89a1cc0f4824f9e2deadb5244c12cf4f30870ecbcab46ff2aa8be0e26c765af8589e27c5283e7dd5184aa2cd2bf5e01f0d51d4c0a233dc37d8c2db9bcf221dc9fb359c9e79e44fc0ab29a94b6015bf47aa15f94ab6410fa4ffcefe0ce0b56e91d4a060fb37422b187b94b47221fe27b53abe06c4c1fc957ba7a5ce729ad964ee382040721dea270d65468375530b977b3359b8e678280c2c10c581e00a8e6f6a0cac3e3cefaa4e385429dcdd4151203bdc32ec3805df4c434789c67e2779e5bbff15d61e2b41c7f3ae0f418e39765dc5628740af98bb552acacad22e9ad646bafd12a09375bcb9819eec4c7b40322f78e1bceb2e76d736afaa9dde8b0fec7d25d850007ccc67266aee85df30185c100bad3e5c746971c6863d56e952794348ee1648abc1bff412efd99e0373ba8d18e79048f02e642984cca4cbec340dbd3da230564844f0f9f23e5843af2f4fd7cd6ab705c8e4f450b472a86ede59b4209454236679d13f5ac52aec1cb381605a22fdfd819f7ad5aa88023dedb25064436ed01f8f92bb471bf7d081b7c03b093a352566d5aa42a362306e6cd3e1b5a55675e838de8c80bf9e623c697eb33626a38bd6cf0bdf4710fb4b39d08e275cf521e652af95935b13fef24dd1bf3b08181dabd9093836ea7a0d0618fe8147c0efcbba4048adfffbea276e67785f91f49ffe0251609e314b464eca2b4c0e63ddd1d45907b81b2848f95a3de75d37f4acad0b63010a1cb9511946a22c5cf711b7bf3f176830537359946ce45b22305820f1299db4d3584e4c3cc21a93a303f8eb7f1198977c2e36f132103553c2905c83c981ee440d1a26f3e7e67a923955d1bc7454089b779f103b4ae102ef2b1c98623d1e9aa881dc2db35c4dbc4558e145f89ac42e1463d4ac690a3bfa605322038280fb931f9d06db8db978b7c71d1eee1e4b6937c54fcc5b7c48152497ae873c83ca7f633e7637fce1a734ea37c28a30974048683c97d8a7f16da6478a4b185e695faa5e9525d461ef26d57eb2bcae435b6a7c47579ae40cf9f163f2214fc96c7168c8cd63a85b5e609154d3e11136ff3dc3c9086e5b22bc96ee600886719d1c4e234cf1225a7569ba6e1afcaf4c95628cc1cdf356797c20256ce55ed7c49a6617a72bc03a608c30170152131bdf407aa23d590a8ec6df021ed38dbacffbe8f541078ce80b85c104279e39ac4884d682ac960d2fd1e79ed7bcfa1ec04d8d26e3d67b1cc961b3b709759fee9d90290d6b5bb774b78c826ab76d1d8af74656b11cbf78140afe402d158343475420c75fe244ea332eee3f7197ed929228da67ab52a56accc1d8ab9f6cefd656d578fe527e9b40de998f4324c077fe868d7dd5dc4a293fcda461d83b31b64bdd934c87a88787cb05a455fade437d68fbd3b637d5dd991e4629a8fe4bea1d2a42fffafc674527a31ae28834eae30602c8c38fc390948d52db7763b24edf4c3126530c1590f878e615576e67db889222ba33e0a9bc76e1941cd3fe378c9a130abeb5f871c0c2d02d82b67b99715b425a6612c167bd1058727a120299ec526b35ee5dafe79bbc18a25dc9ebb1f80cd9e7a7d768eca60083b34f784f93928d0d54ba4c01e2d6255d00d292ecd0a5fe134252bbee740caf0b672a52f35e7922b44d199f30bff601d8012656489d081ee52b72c5f909c5f223cfd6166db0f8db1c872aacb0a054a0b8b8dd0b1dc4efec63b72055cb7a179861d721418213660b644801df6886ba9807c7c584f32ec82553169d49d37e84819ff1df91d1913b83ca8fd93c031c3b0683b086d6e95491843838b39d931c768ede4b7b0b2a07ba96b9a191ac2f108fd71e6b2dbe864d2b1e2dadf9d07de2669ce8622c3b04a4fd8b360d5601e7bbad8d7b07f4df48cfd48cdcf5f676a470e7da1fce4494924a8ac64759589b17da121d0ffaa34e68d515eaa2d5dd981d30cb69017c926f62007fb1d062d1347c61c08f68defa1305a39da9c7c5b90d6b00fca26882570d658739259d66ecb69b8c64f301fd2027b213c914ada0b86f767a8728761f465b1d089543a0c70fcf38296ba1705ceaa313dca051bb4a5b9905dde7beda3f9113abfa3902d76f13ddf403e680a0ed2b00cc268e532f6e166b1410ee06a69f2b3d75645033fbd33251445b1668370ebbe7bd96d13fe2c289700b7cd8129ad76786739b8f62a99a7455ad27738955198cf329bce8d282610a036eb315021eb29c79371b570d609cdacdb1ae7f12a454a7abe4a7e796e5dba016128e93cd0c26d5a6b76488e54fe90f47ac943d505a0867b90abeff8c92b426e5972d13157c95ae497eeb3c4e680aeb4f5bd652609a759841d22d171e06da9b6d0f42c979fedca6a789a2c3ddbad930c0f4396c72dca01f96c79cd96f5bfc2497de4c56fc86d292ce1fc7b9173103317da99db832e7055119f1795381dc54f56d94c7b6397404a442a54b154ae3b2172cefd08bd9ce338f34c74606fef101a826b0b7b201a8e5e7ff626bc2448b6530380da73a14ad6718b8a9700b93534df32cbbcbb678553b9109e8a6054e3c3d9b3ae8d667dc50d3beaa3a226f6891d1341ad0028d956bec18a9f43fd14a75b4d386200a47678e7e6edaa2e01b3c2a9b811caa7af2a51eba1e5bbacce81fd6fca27f9d8e6dd96f0d043282b372555df02319216b88ec6943e772c53913478a5285d947d1d5f46bc4ce0db19aa83afc5d3b46c4f533b71ba0414aeb03d3ad4763cf9dcd06d6d0970e94de6a1d75c57e0ad3dc1e092a49df11d41fced3aeb0653d2642f2da32934e7ea776a46896fe843dede300f2f708a28129b4c1e9583c58e92abbea814244b38653a198ea0302723d031fd2c87b1f3bb438d56080994d5339123bc88d044965435e7f04c76c54b112cea4276889dc6173ec1aa02aeb4dfb81b08b4b808ae0c8d64f37559a90f26031b10a62580b1a4a7d11afc0cd201e51c1b6032af42448c1b8bd6e9808b0f7222979010497db7007cd9a53568c6e4e0c56e34d777d7bfb649badd03f59efbc6800a14f4e09c84a2ab6fd61a234f4b1c672c556b14f77c93c37bb1ffda0d6ef86240d118f670ab845a8890b6e553b15088157db1f15c5df1aa46aef845e2d63ac82a59c40925f807412b6a775ea8711a036d06d53880ad9f170307aeadf04800d3d059109a771d7f17161e0fc2fef95e3e27b860162a1cd6e5c58ba6d5fa365b6fddd621e5b31f4fa44f0d9bc60aaeb5e17da8df653aa207b2b13b3b7d90af549a900ee5fca336e256bb1f9d7916b7656389c9ce6947a8cda9160d9dd28a42f0050ae7a9ea437bb40bec29ae5345179382fa10927463e3a8e1d8d35ce4e373b3de29ca91175741a2bbacdfcb3206d3313630e6dc01fe0f1cae2e44d506d02b45b7502b76259093a46c83d3b9ff9678090acccf5ef90a68ad350d89c394fc293c4a740635baa74501417486be9e18865878ec76f8ae8661f2a58adf3c85473deb8ea237f7fff989c482f592fff3deda83de5df71e64612f039902753443f59002c0789941bc6177b2be01dedc33bd412fdf76aa0a5493aa57321788eb98ce3ef43a1e82ebd79b0de0370a308ea7afcc1419dd3ac4439d011f2196a8d89024e4ab0f32a61757bf19e696c1125b4d347f7dfadc63111c8127a5a293c81efc919171c6d6272d3bb2983225a709f06f85bb978649b457e026d62d150b7bbacd27e155766a91a86bfdc4149024c012b385fe14f02b8c5c53c6f3965d4444bff93cfa5c260527b74368c02a9bd2833b44be75aedba902b8769b350ba3fe03503e74576190ebdc972f42b7313fd97e0f56e91fa7cdfe9847117ca58c59f0ef7cbb17c501887911f753d148f2ccb7c5bdb8f99d3f085e66d487852f95a81b37d67415587bb95a78f36376ac725307b080010103e3119da9e2b8c9f5adf311b8caf7545564ed6ee8730403ad6c3a8d96a7fb74418b9fdc1f003eb1df345360e5ae04d0eb3ad81e6d7726f0e600c2ec1b9ee2d9accba983bd0c149f439cdc07bd27059253afac1278d2c0abec8ff1d56b5a9396d7388142479b3ae14c88efaba2c161601868b83738de20316352701698e634bb3064f53f703b99c8a8b790f449d61a88341b8af273f63f1f21aecc4244d4f2bd29d9d392048db7a9a8fdd13b5ce27cccf4dd3498cb9e7039709a125778ca0ac230a874052aee90d2fd4a32835e15b9750abd374545d19e4dbdf3c36eab1849de8a1647a332bbb87a4d598b6fb97ac2b8a5f0e1ad9cc8af10c372a7e4fb635916778a41de3a552c480e6ee1717b317e779b6ea32dfd82cdc6e0c5e011bf225a5f7b273af0f4f5de381f3753c8f8f1508149bb1434fdad189ec0d0d7aded282625cfaf66e949a3fe8fe23f825bcb7bd2a513f9d45932286a0a05556a7efd097b5b3916086ec7346c2bf7448fd32a49bcf09e0f89829b761cb666ac539b4a55eb22173dcad5297e25ed394d8ea0644f73c11eed71bd08985343773aa725c8fa8990942d35a82b5f108ce8e1649c9aa03fc5735ed1fb01b20ab9e4634287b412c582685b325dc70d1cecf449a46f640db04e18fce4bbe7b2d3e053f7ef9ea51a43f4365d538acdab17cb3b5ce97f297be26e78002310106293049bb676f1b9987e7971af927b887ab52ea388142151c4a8340bcca674eb989ac20263480d53b05bfdef23ddd15b09206ef333d2fb77ae33e25f3098912d17e02f6bf302194452c176c35b2066b4def2852bc03c43857e1767091c2608182809f621d80ad52d9b4547d12ffbcfe7a436ee7f3fecfcaa8860a5fb2cb9d938caab4c5ba1250b88bc5476522e51a48e51358353edd65e054aa36102144c99d1c4da4abbc8f6b8d0730e944b72de3f6b123eb604be3fd74ff5e95ac78bd4034a42126cabb63a47e616e5f12ac67f55aaff5b6e8b2bb11088c33a356cbaeaa890bbd21dca7029fb87929f9b4512e7b7fa9837d66f422249e4b92ed693181bf40f61f4131c96fa6161cd6ad9cd0d7e55f0ee2c5ac97d30d00978a3882e81840ccc002574ef1b3b601dc118fefd9ecc76aba1cc0b6cdc46b7cd79b2c8938176e4c5a9258b341a50c8cbf5560cc56952eed5b07d2c168de9c99cbd658beaf884cd8df1c75e56671e38daf2f22f8f86669ca30e1bb53f7c60b2eb9ee2c93a07fbd6017ea3b69922e6afd12665ee3b2bc9146cf440530bd21f18cfd5d2ed7b99a16e2dd4689b25edbcfb0d1252d19ff8d919f2adb1c2c333da536e5a00a80d94f3f741db0b53e2f399bfe6ed42e6f7de8eafaa6b5c43c245fab1e770acf3819666f99346a7dfd5be16dd0ddb9645756545f01f20f8578c958c590de8ed5aed28a41410325f6b39f71881eb61998bae55c604d7ecae25740b2ba770b699663f914e505cab9618acf8f94b78a3f2c54a6eada014200c1cf401833c014ac8f22516d462a0803e98c4d260f1ce5bbecc5b5df2c91618838cb9aa1e4a48bfbbbef9b4caad2b03ff202133711fe94449ef686ebf56d35c699ed59c224a7bf5ad0a132c328413fe12fc2f52645c10b87bec9e44612a8e0772aedd690699ed005b5367a652516b7c6d30fbd32e5046f92db299dd3fe05476a7b3ae43d23a25d6b46ddc3d4cb359d0bace369132bf583e400314573aa62639e8dbe139b5e887bf606aa1d8f2fe655ef72324e38a0d7690330663b488d00c1d047b4bd15ad39150ec36aee1f49201ffaa88be8fe311323847698292d2f80c1a305482a7a9aa25484f72d4d8f865707498b9c7ef0b37546481fa1c3d54bfc0c60e1418365466787eabe6f50394a8c400000000000000000000000000000000000911181f252b363a', '0x1c46d98e083fdb5d43946d96c9dc0a7b97de16e9482d28c15608b2ad3aeb4fd0', '0xe3beea0918f445c21eb2f42e3cbc3c5d54321ec642f47d12c473b2765df97f2b', @@ -271,13 +271,13 @@ export const validTransactions: [ maxPriorityFeePerGas: '1000000000', maxFeePerGas: '3000000000', gasLimit: '0x6A40', - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', + to: 'QF0109fC8DF283027b6285cc889F5aA624EaC1F55', value: '1000000000', input: '', common, }, '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - 'Z20080FEcF20684E664724DB93E5D525B8d38C2ce', + 'Q20080FEcF20684E664724DB93E5D525B8d38C2ce', '0x02f91c440180843b9aca0084b2d05e00826a4094f0109fc8df283027b6285cc889f5aa624eac1f55843b9aca0080c0b90a20371cff74b7cc1e8193870b0d992acf7dd11f0c02e4be75577ba6af361d55a346a0b7fadbdd03aa7c7f1a6975e087824c8c412fb4f53d212e5aeb6b2e2b2195b203361bd438b113e90d8eaf32e02c743dbfce62372500d1c280a2f2006fd7624e398c8a0b6ef19ef0e4003dc548b046ac92afc8ce8cc894d9c70808847a169dcc64f3a91d4c4229e3ef6a707ab3f376e43f8cb7d45d20b71c2be1a651fe99aaebc5de0e7884c2bd663c253832bc41fe04b8772fd92294b471536b89e037dccbf0f3c5e51a306cf80d9ad36e9a5a4d86bbb3db40f8e7c6ccd1e11d0385bfa1a54f3a9a4d2d58fffdb7798a20ec45161770e6ead0fbc46ff740f6d428c6369c375d2ee0fc261b787994793ee24d3cf22e8dd54612f8f4ce1ab3b7df5dc4c4690673dbcdd67e2b9a4114bfcc0bff6a5d23a08b735cdf378c0134225bfd759dcb1a07ae5f80fe6796e1964fdff54fb58a32c5afc1b2d343cacd58a526cae4930e9fcf31afe9edb8cf80716713c057feb01eb86d197495c5c0b66e3456f16cab0f02b78a9601207d37dde973fde32cd68bc45876635a6557ec6d3220bc7dc1ff7c71379c98fdd2ff9fb856c0d8bf43b1e66cddb8de659ba5c20650e1bd901fb9de99e8f1fca7a8e8635bfca3c2fa98ea98976bb65b1f79baae946f47b0ddffe1b3a783219441411e19076d552849f05de784582caef24f97b85c0d5d5f0ea95d370f9e57ea01c4aab28f0a6d709d259c29d959869138e246de16259cd16c0b199de845bda9aa8d5345d9fac3d5225a1d0f3b9b2e47f77973d7e1c064ad0e21b362c1f596d2e354b38afb619a6958b27bb8f70326073ee228148702b99414090d02842b388cf738b6dd5cbc85b90f932b8555c7178cf02fcde0217dce2d4591e0958ea5209dd58903fba67bc29f075658d8e73774027fbd28a251570f4d622deb930388e70722c3bd78d452020d726ccb22e6cae338a9a93468f45a38542de1f770b6b61ec90ea47333ce89731e7ed536b1b308a268bd83b7d3bdd57ce3151c3ecff928213173ff1af1b9cf1d24d8e54ddf533fa9b8372d98e0bb979898efab63c757fdd21f67051465443ef7e5d0462683e09f8c93a0988ee125878362de1f4a39b000df7a44ee4dec8c220380ddc1ad52c128392c675a6ded6bbb7c7cd416c2208f394ca02f30f9e3b96312e8f701faf62e99304daef2e86eeed4394a80ab8cae62df23b0f8132e5691442b83064dc267bf5da618501d7eac8fa0e27d7dae31742362ea5d44218fa334743e27edfca7ae885cd1e451926437aa3eaec990127430da770affd6c7a7f0caf58cb8f68192f110a70d792475ce34e02759d5334d0532f535451fd0e4c5d5e9c6a9e79b1fb8da95d653860d3d08e296fa284e2ea5e743d27a7638cbe6b790a56a4162f5d8af90ad6a3ce01af489e000fa296fa6d3768053352fff6194afc34ad9e4aaac4ec9936a6e1a2b96356d47c514703795e16648d6a20565ae8ea302852a68ad209178fe0492a30949e1bffa49c38c5ed8084eaf6cadb9e2ae2692bb0db06f1b86175f535619b7ec58f6eb9d224b234f400ffb148da02221904adaf26e5e22337565eb9ca58e1a52b014d21a5c08ed9ca1c8b68aa5d6688a2f12e33f4ca0da0d7c4757ed65a0172940c6f2a9fa8876ded9575426906357850c8ea1a66b2c6ae1cc3be73cc44eb00e29774dd6047c7f8ba30a5b153d02850bb431f7c37596f893f8b7c3b602a323920a1e467babfb0114f1037fc91364bf94c3571c9047031e45846bba738466b69f482819adf9cda3f5d6a3b7dcf751db50eda852380b37d90570808ff8c6dc1ade3bdb4a29c9f76542378e1f159ce06b06012a0eded2a7666c2cd859beb6b976a4276b63955ad0155ba402de7c8f5cc712608bdd0ab0c2ae70c44de5518c3f1c9d569ed9bc63f2bd8401ceeacaaccabfcd7ab6474086fb683d12bdfa14a849f7ef83ad27b382f1739df7bd8184f6896c5e6f62c96663c00e44144179bb19f6d3d0a5f2d0313a8628e86096262b818b256312929d3ad1ffcbc155bffbd24362e8b4d50ab4d6595b0d382b9b3e636b1123f23e2e4b4882adc72a6b33f4da32114d0c6be2b124b2b3c27e071e03bc059169654a87d6c3d074fbb4b3eadf80860e6f2c4a8f96bd97915afdb2087cbb1a35c43bab2372850fcf5104ca9879b51c7bf6b0a72fe06fb6c00777b7dc2119b2e3fae6e30c54c6165ff840d1762342faebec8accce544e329a2f1d2d7544fdd0e440c5c3a839d0fb57d840369c9bc4951b4c3505f6b4312e74ad26161669520cd50bdb45e3a94fd483ee3921987886f29b2c15e2b0adb0e66e39096d870c9bd0708c3b65ddf9c7f9518f5933297d795e435f78ea25b17b4082182294b79e19a3862dfe4330cf142e28e9d756d6956f82e15ef88dc2d8c856167d7b0540a960ce04d89c7dca36e3bd15b7f041cca52233e5d45df733052e7b2f248069fb56d998b86641aee2704aadf0398ae1b6bfba45bfbbae9752ae6c4e853cb1f40d2c83f80ea2a6e189ff07389f7fa6cf92d5c4921500b31d79da656c4491d0746c10e12436b10458eee82f188ed0f5d05a794589fbe228b2c315a58af12f18919c221c488d9d2e9df0576f1f031861400d4735c1b1c8d5b8c020e42c989e0c8f9346e7a43f31bf032ddc8f07ece6bd292a0259774002b123ebbd6604ba6c8e49b94aba6d820dd841d742b52ff8c55bac74f191cb8ab78b6838461a4d4a51f2c49de39795add0ece79051c4828b0e5e302c9830d3610b3f0ca575eaeea86b4e010f21873f9edd47b8600fdef64f05356c59e5353b5c00addf0419855686fa21b9ee84e910d3f7e07bf972d14db79a4a3b154fba3c0e6b2d3fa6b782b78dc287e9ca6d2f9f50c18f73d6478a928ace641c3aedfbb43988a48be6fb334e09b864e4f9f26c2e5ce6438dd1b8c38b558528d67309d9864bffe863cf63b5e69eec6be4eea00595095547cf59356b44a1822ab1e7dec21c6cbc92300dab287625d71b72a6be40d2b5d13cbb180f028f9bc65754dc850bcd20b39bae672c97b4e5ebbbab61467d2a8ea9ac719cc3dfa495a5d8b2e73f021c72b9dcaa781501fe5d4c69ab5181dbb60ea2bc96e1e25a6fa4804c025149236d60aabd0dc539d9c00a492d9a6f02a25b0f896e69b0c9b42b00233baab7b7d02a6dcfb3c7d129703af8a5bd8e036f2c3a5a439b43137d197c511105b2c2104519bfd8fe71336b085695816c40607f2a25779bc510c76f60f59df1f442f1799b58aa2fbf3fcf1917791e72b8b59f6c769e66629b09e5e3842655804f4296bfb30a7f8cefd3453b9f6d46030c9e99d91c1783ef5746f6f273640ceda074171ff554f842deeeb00e71043affcae2a182c2baf383ea340538f3d18936259ade05f3d9254a6d1a0e6bbe7111d90af2a949d2eb20ad1eda1e5ab23116522478bf7d6aade8c53878f4272afbbc910b10f87b9fce69ed65408db0cc44b99451ad16c6b03ae9645ff6a71bb27a8d385ca42f5e66036995ca5c2613eb3d89a68b7fb875b75172871c71c55672ae87c9028413d5cc4d4d2306988a674f2213b273557049f69c6765e79dad3819328f564bef9ffb81ca0f440afcfebde8603b8e5d02f5a2e645e2856a943452494939006031f961dbc2c2b911f36b5ce6c691db75837d01b4caff6b22319dc4f53d224795d90cfb4fe2dbb0005e0a087ec119e1932a8de4d07491e555f1b2ac1dfb1ca00493180dcee3b5f66663c8be0db67f0e6d72b826341e29840fe6cb3c208733bd66919c8a3a56c205c1ea4cf0ccc976fca5dc94b9d9dd8bda4eed7784330b547a6643e7cd7a9378de4407394065087feeb089ea5616d0b8b2cf657fc7db384db4d4899773d687b91fba3f53f6628827002fb4cc6b7dd777240bd933043b094a6e0527bf04fcdb6a84087865469744928395925cb7419828a8d1a19eb8233f78a9981950efc7cacc40694e2be28138012dd3c9173355046cdd3e7222ad72f99f1532c1c481099d11db723db367f266c5819bfe61d57fe0c1ec1fe4353dcd108fe59930875f7faff0f6ddf04e38ee15d0a60776e219d7fbd4e1ce25f813117989581d0c7e4df2e8c25fa18985a5136d8d434be0a978562a76d69b60f58d298329dacb023e1616da49e6964610f4eb6ef8b92501e567ad55e95704c37e6d32109c7cf6b71a926b2b3231d544bec80b1b68034be35c450dc865387e6cc674877d7f3349eefa485ea7736067783476b1de3e6144257d18f800130a55d0b2df90155cd4aa722498aa09b76b48791d3e167f321d5b174a5b1073a61d44af6961caf89a1cc0f4824f9e2deadb5244c12cf4f30870ecbcab46ff2aa8be0e26c765af8589e27c5283e7dd5184aa2cd2bf5e01f0d51d4c0a233dc37d8c2db9bcf221dc9fb359c9e79e44fc0ab29a94b6015bf47aa15f94ab6410fa4ffcefe0ce0b56e91d4a060fb37422b187b94b47221fe27b53abe06c4c1fc957ba7a5ce729ad964ee382040721dea270d65468375530b977b3359b8e678280c2c10c581e00a8e6f6a0cac3e3cefaa4e385429dcdd4151203bdc32ec3805df4c434789c67e2779e5bbff15d61e2b41c7f3ae0f418e39765dc5628740af98bb552acacad22e9ad646bafd12a09375bcb9819eec4c7b40322f78e1bceb2e76d736afaa9dde8b0fec7d25d850007ccc67266aee85df30185c100bad3e5c746971c6863d56e952794348ee1648abc1bff412efd99e0373ba8d18e79048f02e642984cca4cbec340dbd3da230564844f0f9f23e5843af2f4fd7cd6ab705c8e4f450b472a86ede59b4209454236679d13f5ac52aec1cb381605a22fdfd819f7ad5aa88023dedb25064436ed01f8f92bb471bf7d081b7c03b093a352566d5aa42a362306e6cd3e1b5a55675e838de8c80bf9e623c697eb33626a38bd6cf0bdf4710fb4b39d08e275cf521e652af95935b13fef24dd1bf3b08181dabd9093836ea7a0d0618fe8147c0efcbba4048adfffbea276e67785f91f49ffe0251609e314b464eca2b4c0e63ddd1d45907b81b2848f95a3de75d37f4acad0b63010a1cb9511946a22c5cf711b7bf3f176830537359946ce45b22305820f1299db4d3584e4c3cc21a93a303f8eb7f1198977c2e36f132103553c2905c83c981ee440d1a26f3e7e67a923955d1bc7454089b779f103b4ae102ef2b1c98623d1e9aa881dc2db35c4dbc4558e145f89ac42e1463d4ac690a3bfa605322038280fb931f9d06db8db978b7c71d1eee1e4b6937c54fcc5b7c48152497ae873c83ca7f633e7637fce1a734ea37c28a30974048683c97d8a7f16da6478a4b185e695faa5e9525d461ef26d57eb2bcae435b6a7c47579ae40cf9f163f2214fc96c7168c8cd63a85b5e609154d3e11136ff3dc3c9086e5b22bc96ee600886719d1c4e234cf1225a7569ba6e1afcaf4c95628cc1cdf356797c20256ce55ed7c49a6617a72bc03a608c30170152131bdf407aa23d590a8ec6df021ed38dbacffbe8f541078ce80b85c104279e39ac4884d682ac960d2fd1e79ed7bcfa1ec04d8d26e3d67b1cc961b3b709759fee9d90290d6b5bb774b78c826ab76d1d8af74656b11cbf78140afe402d158343475420c75fe244ea332eee3f7197ed929228da67ab52a56accc1d8ab9f6cefd656d578fe527e9b40de998f4324c077fe868d7dd5dc4a293fcda461d83b31b64bdd934c87a88787cb05a455fade437d68fbd3b637d5dd991e4629a8fe4bea1d2a42fffafc674527a31ae28834eae30602c8c38fc390948d52db7763b24edf4c3126530c1590f878e615576e67db889222ba33e0a9bc76e1941cd3fe378c9a130abeb5f871c0c2d02d82b67b99715b425a6612c167bd1058727a120299ec526b35ee5dafe79bbc18a25dc9ebb1f80cd9e7a7d768eca60083b34f784f93928d0d54ba4c01e2d6255d00d292ecd0a5fe134252bbee740caf0b672a52f35e7922b44d199f30bff601d8012656489d081ee52b72c5f909c5f223cfd6166db0f8db1c872aacb0a054a0b8b8dd0b1dc4efec63b72055cb7a179861d721418213660b644801df6886ba9807c7c584f32ec82553169d49d37e84819ff1df91d1913b83ca8fd93c031c3b0683b086d6e95491843838b39d931c768ede4b7b0b2a07ba96b9a191ac2f108fd71e6b2dbe864d2b1e2dadf9d07de2669ce8622c3b04a4fd8b360d5601e7bbad8d7b07f4df48cfd48cdcf5f676a470e7da1fce4494924a8ac64759589b17da121d0ffaa34e68d515eaa2d5dd981d30cb69017c926f62007fb1d062d1347c61c08f68defa1305a39da9c7c5b90d6b00fca26882570d658739259d66ecb69b8c64f301fd2027b213c914ada0b86f767a8728761f465b1d089543a0c70fcf38296ba1705ceaa313dca051bb4a5b9905dde7beda3f9113abfa3902d76f13ddf403e680a0ed2b00cc268e532f6e166b1410ee06a69f2b3d75645033fbd33251445b1668370ebbe7bd96d13fe2c289700b7cd8129ad76786739b8f62a99a7455ad27738955198cf329bce8d282610a036eb315021eb29c79371b570d609cdacdb1ae7f12a454a7abe4a7e796e5dba016128e93cd0c26d5a6b76488e54fe90f47ac943d505a0867b90abeff8c92b426e5972d13157c95ae497eeb3c4e680aeb4f5bd652609a759841d22d171e06da9b6d0f42c979fedca6a789a2c3ddbad930c0f4396c72dca01f96c79cd96f5bfc2497de4c56fc86d292ce1fc7b9173103317da99db832e7055119f1795381dc54f56d94c7b6397404a442a54b154ae3b2172cefd08bd9ce338f34c74606fef101a826b0b7b201a8e5e7ff626bc2448b6530380da73a14ad6718b8a9700b93534df32cbbcbb678553b9109e8a6054e3c3d9b3ae8d667dc50d3beaa3a226f6891d1341ad0028d956bec18a9f43fd14a75b4d386200a47678e7e6edaa2e01b3c2a9b811caa7af2a51eba1e5bbacce81fd6fca27f9d8e6dd96f0d043282b372555df02319216b88ec6943e772c53913478a5285d947d1d5f46bc4ce0db19aa83afc5d3b46c4f533b71ba0414aeb03d3ad4763cf9dcd06d6d0970e94de6a1d75c57e0ad3dc1e092a49df11d41fced3aeb0653d2642f2da32934e7ea776a46896fe843dede300f2f708a28129b4c1e9583c58e92abbea814244b38653a198ea0302723d031fd2c87b1f3bb438d56080994d5339123bc88d044965435e7f04c76c54b112cea4276889dc6173ec1aa02aeb4dfb81b08b4b808ae0c8d64f37559a90f26031b10a62580b1a4a7d11afc0cd201e51c1b6032af42448c1b8bd6e9808b0f7222979010497db7007cd9a53568c6e4e0c56e34d777d7bfb649badd03f59efbc6800a14f4e09c84a2ab6fd61a234f4b1c672c556b14f77c93c37bb1ffda0d6ef86240d118f670ab845a8890b6e553b15088157db1f15c5df1aa46aef845e2d63ac82a59c40925f807412b6a775ea8711a036d06d53880ad9f170307aeadf04800d3d059109a771d7f17161e0fc2fef95e3e27b860162a1cd6e5c58ba6d5fa365b6fddd621e5b31f4fa44f0d9bc60aaeb5e17da8df653aa207b2b13b3b7d90af549a900ee5fca336e256bb1f9d7916b7656389c9ce6947a8cda9160d9dd28a42f0050ae7a9ea437bb40bec29ae5345179382fa10927463e3a8e1d8d35ce4e373b3de29ca91175741a2bbacdfcb3206d3313630e6dc01fe0f1cae2e44d506d02b45b7502b76259093a46c83d3b9ff9678090acccf5ef90a68ad350d89c394fc293c4a740635baa74501417486be9e18865878ec76f8ae8661f2a58adf3c85473deb8ea237f7fff989c482f592fff3deda83de5df71e64612f039902753443f59002c0789941bc6177b2be01dedc33bd412fdf76aa0a5493aa57321788eb98ce3ef43a1e82ebd79b0de0370a308ea7afcc1419dd3ac4439d011f2196a8d89024e4ab0f32a61757bf19e696c1125b4d347f7dfadc63111c8127a5a293c81efc919171c6d6272d3bb2983225a709f06f85bb978649b457e026d62d150b7bbacd27e155766a91a86bfdc4149024c012b385fe14f02b8c5c53c6f3965d4444bff93cfa5c260527b74368c02a9bd2833b44be75aedba902b8769b350ba3fe03503e74576190ebdc972f42b7313fd97e0f56e91fa7cdfe9847117ca58c59f0ef7cbb17c501887911f753d148f2ccb7c5bdb8f99d3f085e66d487852f95a81b37d67415587bb95a78f36376ac725307b080010103e3119da9e2b8c9f5adf311b8caf7545564ed6ee8730403ad6c3a8d96a7fb74418b9fdc1f003eb1df345360e5ae04d0eb3ad81e6d7726f0e600c2ec1b9ee2d9accba983bd0c149f439cdc07bd27059253afac1278d2c0abec8ff1d56b5a9396d7388142479b3ae14c88efaba2c161601868b83738de20316352701698e634bb3064f53f703b99c8a8b790f449d61a88341b8af273f63f1f21aecc4244d4f2bd29d9d392048db7a9a8fdd13b5ce27cccf4dd3498cb9e7039709a125778ca0ac230a874052aee90d2fd4a32835e15b9750abd374545d19e4dbdf3c36eab1849de8a1647a332bbb87a4d598b6fb97ac2b8a5f0e1ad9cc8af10c372a7e4fb635916778a41de3a552c480e6ee1717b317e779b6ea32dfd82cdc6e0c5e011bf225a5f7b273af0f4f5de381f3753c8f8f1508149bb1434fdad189ec0d0d7aded282625cfaf66e949a3fe8fe23f825bcb7bd2a513f9d45932286a0a05556a7efd097b5b3916086ec7346c2bf7448fd32a49bcf09e0f89829b761cb666ac539b4a55eb22173dcad5297e25ed394d8ea0644f73c11eed71bd08985343773aa725c8fa8990942d35a82b5f108ce8e1649c9aa03fc5735ed1fb01b20ab9e4634287b412c582685b325dc70d1cecf449a46f640db04e18fce4bbe7b2d3e053f7ef9ea51a43f4365d538acdab17cb3b5ce97f297be26e78002310106293049bb676f1b9987e7971af927b887ab52ea388142151c4a8340bcca674eb989ac20263480d53b05bfdef23ddd15b09206ef333d2fb77ae33e25f3098912d17e02f6bf302194452c176c35b2066b4def2852bc03c43857e1767091c2608182809f621d80ad52d9b4547d12ffbcfe7a436ee7f3fecfcaa8860a5fb2cb9d938caab4c5ba1250b88bc5476522e51a48e51358353edd65e054aa36102144c99d1c4da4abbc8f6b8d0730e944b72de3f6b123eb604be3fd74ff5e95ac78bd4034a42126cabb63a47e616e5f12ac67f55aaff5b6e8b2bb11088c33a356cbaeaa890bbd21dca7029fb87929f9b4512e7b7fa9837d66f422249e4b92ed693181bf40f61f4131c96fa6161cd6ad9cd0d7e55f0ee2c5ac97d30d00978a3882e81840ccc002574ef1b3b601dc118fefd9ecc76aba1cc0b6cdc46b7cd79b2c8938176e4c5a9258b341a50c8cbf5560cc56952eed5b07d2c168de9c99cbd658beaf884cd8df1c75e56671e38daf2f22f8f86669ca30e1bb53f7c60b2eb9ee2c93a07fbd6017ea3b69922e6afd12665ee3b2bc9146cf440530bd21f18cfd5d2ed7b99a16e2dd4689b25edbcfb0d1252d19ff8d919f2adb1c2c333da536e5a00a80d94f3f741db0b53e2f399bfe6ed42e6f7de8eafaa6b5c43c245fab1e770acf3819666f99346a7dfd5be16dd0ddb9645756545f01f20f8578c958c590de8ed5aed28a41410325f6b39f71881eb61998bae55c604d7ecae25740b2ba770b699663f914e505cab9618acf8f94b78a3f2c54a6eada014200c1cf401833c014ac8f22516d462a0803e98c4d260f1ce5bbecc5b5df2c91618838cb9aa1e4a48bfbbbef9b4caad2b03ff202133711fe94449ef686ebf56d35c699ed59c224a7bf5ad0a132c328413fe12fc2f52645c10b87bec9e44612a8e0772aedd690699ed005b5367a652516b7c6d30fbd32e5046f92db299dd3fe05476a7b3ae43d23a25d6b46ddc3d4cb359d0bace369132bf583e400314573aa62639e8dbe139b5e887bf606aa1d8f2fe655ef72324e38a0d7690330663b488d00c1d047b4bd15ad39150ec36aee1f49201ffaa88be8fe311323847698292d2f80c1a305482a7a9aa25484f72d4d8f865707498b9c7ef0b37546481fa1c3d54bfc0c60e1418365466787eabe6f50394a8c400000000000000000000000000000000000911181f252b363a', '0x1c46d98e083fdb5d43946d96c9dc0a7b97de16e9482d28c15608b2ad3aeb4fd0', '0xe3beea0918f445c21eb2f42e3cbc3c5d54321ec642f47d12c473b2765df97f2b', diff --git a/packages/web3-zond/test/fixtures/rpc_methods_wrappers.ts b/packages/web3-qrl/test/fixtures/rpc_methods_wrappers.ts similarity index 95% rename from packages/web3-zond/test/fixtures/rpc_methods_wrappers.ts rename to packages/web3-qrl/test/fixtures/rpc_methods_wrappers.ts index 3787e34a..8bfb9161 100644 --- a/packages/web3-zond/test/fixtures/rpc_methods_wrappers.ts +++ b/packages/web3-qrl/test/fixtures/rpc_methods_wrappers.ts @@ -41,7 +41,7 @@ export const getBlockNumberValidData: [DataFormat, any, any][] = [ ]; export const transactionWithSender: TransactionWithSenderAPI = { - to: 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + to: 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', type: '0x2', nonce: '0x1', gas: '0xc350', @@ -50,7 +50,7 @@ export const transactionWithSender: TransactionWithSenderAPI = { maxFeePerGas: '0x1475505aab', maxPriorityFeePerGas: '0x7f324180', accessList: [], - from: 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + from: 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', chainId: '0x1', }; diff --git a/packages/web3-zond/test/fixtures/simple_revert.ts b/packages/web3-qrl/test/fixtures/simple_revert.ts similarity index 100% rename from packages/web3-zond/test/fixtures/simple_revert.ts rename to packages/web3-qrl/test/fixtures/simple_revert.ts diff --git a/packages/web3-zond/test/fixtures/system_test_utils.ts b/packages/web3-qrl/test/fixtures/system_test_utils.ts similarity index 100% rename from packages/web3-zond/test/fixtures/system_test_utils.ts rename to packages/web3-qrl/test/fixtures/system_test_utils.ts diff --git a/packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts b/packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts similarity index 84% rename from packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts rename to packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts index d43f36c8..8daf4528 100644 --- a/packages/web3-zond/test/fixtures/validate_transaction_for_signing.ts +++ b/packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts @@ -37,8 +37,8 @@ export const validateCustomChainInfoData: [ ][] = [ [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -64,8 +64,8 @@ export const validateCustomChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -84,8 +84,8 @@ export const validateCustomChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -108,8 +108,8 @@ export const validateCustomChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -127,8 +127,8 @@ export const validateCustomChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -150,8 +150,8 @@ export const validateCustomChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -180,8 +180,8 @@ export const validateChainInfoData: [ ][] = [ [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -207,8 +207,8 @@ export const validateChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -227,8 +227,8 @@ export const validateChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -256,8 +256,8 @@ export const validateChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -278,8 +278,8 @@ export const validateChainInfoData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -306,8 +306,8 @@ export const validateGasData: [ ][] = [ [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -326,8 +326,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', maxFeePerGas: '0x1229298c00', maxPriorityFeePerGas: '0x49504f80', @@ -345,8 +345,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', type: '0x2', data: '0x0', @@ -365,8 +365,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', @@ -387,8 +387,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', type: '0x2', data: '0x0', @@ -408,8 +408,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '-0x5208', maxFeePerGas: '0x4a817c800', @@ -427,8 +427,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', maxFeePerGas: '0x1229298c00', type: '0x2', @@ -449,8 +449,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', maxPriorityFeePerGas: '0x49504f80', type: '0x2', @@ -471,8 +471,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', maxFeePerGas: '-0x1229298c00', maxPriorityFeePerGas: '0x49504f80', @@ -493,8 +493,8 @@ export const validateGasData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', maxFeePerGas: '0x1229298c00', maxPriorityFeePerGas: '-0x49504f80', @@ -521,8 +521,8 @@ export const invalidNonceOrChainIdData: [ ][] = [ [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -548,8 +548,8 @@ export const invalidNonceOrChainIdData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -577,8 +577,8 @@ export const invalidNonceOrChainIdData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -606,8 +606,8 @@ export const invalidNonceOrChainIdData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -636,8 +636,8 @@ export const invalidNonceOrChainIdData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -657,8 +657,8 @@ export const invalidNonceOrChainIdData: [ ], [ { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', diff --git a/packages/web3-zond/test/fixtures/validation.ts b/packages/web3-qrl/test/fixtures/validation.ts similarity index 86% rename from packages/web3-zond/test/fixtures/validation.ts rename to packages/web3-qrl/test/fixtures/validation.ts index 655b660a..68decf68 100644 --- a/packages/web3-zond/test/fixtures/validation.ts +++ b/packages/web3-qrl/test/fixtures/validation.ts @@ -39,7 +39,7 @@ export const isBaseTransactionValidData: [BaseTransactionAPI, true][] = [ ], [ { - to: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + to: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', type: '0x2', nonce: '0x1', gas: '0x5208', @@ -54,7 +54,7 @@ export const isAccessListEntryValidData: [AccessListEntry, true][] = [ [{}, true], [ { - address: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + address: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', }, true, ], @@ -69,7 +69,7 @@ export const isAccessListEntryValidData: [AccessListEntry, true][] = [ ], [ { - address: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + address: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', storageKeys: [ '0x22f30f0608f88c510de0016370f1525b330e5839026bdff93f9ceef24d2275e6', '0x63a01bba0d4f0ad913a241aed52f5c55807be35f554536abd1e451d4e6515b29', @@ -102,7 +102,7 @@ export const isTransactionWithSenderValidData = (): [TransactionWithSenderAPI, t return [ { ...transaction[0], - from: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + from: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', }, true, ]; @@ -120,11 +120,11 @@ export const validateTransactionWithSenderInvalidData = (): [ }; export const isTransactionCallValidData: [TransactionCall, true][] = [ - [{ to: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4' }, true], + [{ to: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4' }, true], [ { - from: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', - to: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + from: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + to: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', gas: '0x5208', value: '0x1', }, @@ -132,8 +132,8 @@ export const isTransactionCallValidData: [TransactionCall, true][] = [ ], [ { - from: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', - to: 'Z6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + from: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', + to: 'Q6E599DA0bfF7A6598AC1224E4985430Bf16458a4', gas: '0x5208', maxFeePerGas: '0x5208', value: '0x1', diff --git a/packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts b/packages/web3-qrl/test/fixtures/web3_qrl_methods_with_parameters.ts similarity index 86% rename from packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts rename to packages/web3-qrl/test/fixtures/web3_qrl_methods_with_parameters.ts index 3098cd55..26324d13 100644 --- a/packages/web3-zond/test/fixtures/web3_zond_methods_with_parameters.ts +++ b/packages/web3-qrl/test/fixtures/web3_qrl_methods_with_parameters.ts @@ -43,69 +43,69 @@ export const getBalanceValidData: [ ][] = [ // All possible undefined values [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], // Defined blockNumber, undefined returnType [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], ], // Undefined blockNumber, returnType = DEFAULT_RETURN_FORMAT [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], // Defined blockNumber, returnType = DEFAULT_RETURN_FORMAT [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', DEFAULT_RETURN_FORMAT], ], // Undefined blockNumber, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], @@ -113,72 +113,72 @@ export const getBalanceValidData: [ // Defined blockNumber, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], @@ -186,12 +186,12 @@ export const getBalanceValidData: [ // Undefined blockNumber, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], @@ -199,72 +199,72 @@ export const getBalanceValidData: [ // Defined blockNumber, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], @@ -272,12 +272,12 @@ export const getBalanceValidData: [ // Undefined blockNumber, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], @@ -285,72 +285,72 @@ export const getBalanceValidData: [ // Defined blockNumber, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x4b7', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], @@ -901,101 +901,101 @@ export const getTransactionCountValidData: [ ][] = [ // All possible undefined values [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], // Defined address and block number, undefined returnType [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0xc3073501c72f0d9372a18015637c86a394c7d52b633ced791d64e88969cfa3e2', undefined, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0xc3073501c72f0d9372a18015637c86a394c7d52b633ced791d64e88969cfa3e2', DEFAULT_RETURN_FORMAT, ], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], ], // Defined block, undefined returnType [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], ], // Defined block and returnType = DEFAULT_RETURN_FORMAT [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], ], // Defined block and returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], @@ -1003,36 +1003,36 @@ export const getTransactionCountValidData: [ // Defined block and returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], @@ -1040,36 +1040,36 @@ export const getTransactionCountValidData: [ // Defined block and returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT} [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], @@ -1398,13 +1398,13 @@ export const getStorageAtValidData: [ // All possible undefined values [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', undefined, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1413,13 +1413,13 @@ export const getStorageAtValidData: [ // Defined address, storageSlot, and blockNumber [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1427,13 +1427,13 @@ export const getStorageAtValidData: [ ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1441,13 +1441,13 @@ export const getStorageAtValidData: [ ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1455,13 +1455,13 @@ export const getStorageAtValidData: [ ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.SAFE, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1469,13 +1469,13 @@ export const getStorageAtValidData: [ ], [ [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', '0x0', BlockTags.FINALIZED, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1494,29 +1494,29 @@ export const getCodeValidData: [ ][] = [ // All possible undefined values [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', undefined], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], // Defined address and blockNumber [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.LATEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.PENDING, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.SAFE, DEFAULT_RETURN_FORMAT], ], [ - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED], - ['Z407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED], + ['Q407d73d8a49eeb85d32cf465507dd71d507100c1', BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT], ], ]; @@ -1549,8 +1549,8 @@ export const signValidData: [ [HexStringBytes, Address, DataFormat | undefined], ][] = [ [ - ['0xdeadbeaf', 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', undefined], - ['0xdeadbeaf', 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', DEFAULT_RETURN_FORMAT], + ['0xdeadbeaf', 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', undefined], + ['0xdeadbeaf', 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', DEFAULT_RETURN_FORMAT], ], ]; @@ -1586,7 +1586,7 @@ export const getPastLogsValidData: [[Filter, DataFormat | undefined], [Filter, D [ [ { - address: 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + address: 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', topics: [ '0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b', // Using "null" value intentionally for validation @@ -1602,7 +1602,7 @@ export const getPastLogsValidData: [[Filter, DataFormat | undefined], [Filter, D ], [ { - address: 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + address: 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', topics: [ '0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b', // Using "null" value intentionally for validation @@ -1711,13 +1711,13 @@ export const getProofValidData: [ // All possible undefined values [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], undefined, undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, DEFAULT_RETURN_FORMAT, @@ -1726,13 +1726,13 @@ export const getProofValidData: [ // Defined block number, undefined returnType [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', DEFAULT_RETURN_FORMAT, @@ -1740,13 +1740,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT, @@ -1754,13 +1754,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, DEFAULT_RETURN_FORMAT, @@ -1768,13 +1768,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, DEFAULT_RETURN_FORMAT, @@ -1782,13 +1782,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.SAFE, undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.SAFE, DEFAULT_RETURN_FORMAT, @@ -1796,13 +1796,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.FINALIZED, undefined, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.FINALIZED, DEFAULT_RETURN_FORMAT, @@ -1811,13 +1811,13 @@ export const getProofValidData: [ // Defined block number, returnType = DEFAULT_RETURN_FORMAT [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', DEFAULT_RETURN_FORMAT, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', DEFAULT_RETURN_FORMAT, @@ -1825,13 +1825,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, DEFAULT_RETURN_FORMAT, @@ -1839,13 +1839,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, DEFAULT_RETURN_FORMAT, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, DEFAULT_RETURN_FORMAT, @@ -1853,13 +1853,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, DEFAULT_RETURN_FORMAT, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, DEFAULT_RETURN_FORMAT, @@ -1868,13 +1868,13 @@ export const getProofValidData: [ // Defined block number, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR} [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, @@ -1882,13 +1882,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, @@ -1896,13 +1896,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, @@ -1910,13 +1910,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.STR }, @@ -1925,13 +1925,13 @@ export const getProofValidData: [ // Defined block number, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER} [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, @@ -1939,13 +1939,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, @@ -1953,13 +1953,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, @@ -1967,13 +1967,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.NUMBER }, @@ -1982,13 +1982,13 @@ export const getProofValidData: [ // Defined block number, returnType = {...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT} [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], '0x1', { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -1996,13 +1996,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.EARLIEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -2010,13 +2010,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.LATEST, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -2024,13 +2024,13 @@ export const getProofValidData: [ ], [ [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, ], [ - 'Z1234567890123456789012345678901234567890', + 'Q1234567890123456789012345678901234567890', ['0x295a70b2de5e3953354a6a8344e616ed314d7251'], BlockTags.PENDING, { ...DEFAULT_RETURN_FORMAT, number: FMT_NUMBER.BIGINT }, @@ -2041,7 +2041,7 @@ export const getProofValidData: [ export const tx = { blockHash: '0xb3a667f84f58c90ab87476073e06c5d1186a0f0b0b69aa3033bfe0e4df264350', blockNumber: '123', - from: 'Z01ada9d3470eb9eb3875d9e7948c674804ca43ae', + from: 'Q01ada9d3470eb9eb3875d9e7948c674804ca43ae', gas: '21000', accessList: [], maxFeePerGas: '10000', @@ -2049,7 +2049,7 @@ export const tx = { hash: '0x84f44dffc3cd90a1b66ad0219a97680308e5e7a77299fbf1e2ebb572cf02cc2d', input: '0x', nonce: '61', - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', transactionIndex: '0', value: '1', type: '0x01', @@ -2064,13 +2064,13 @@ export const txReceipt: TransactionReceipt = { blockNumber: BigInt(123), cumulativeGasUsed: BigInt(21000), effectiveGasPrice: BigInt(10000), - from: 'Z01ada9d3470eb9eb3875d9e7948c674804ca43ae', + from: 'Q01ada9d3470eb9eb3875d9e7948c674804ca43ae', gasUsed: BigInt(21000), logs: [], logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', status: BigInt(1), - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', transactionHash: '0x84f44dffc3cd90a1b66ad0219a97680308e5e7a77299fbf1e2ebb572cf02cc2d', transactionIndex: BigInt(0), type: BigInt(2), diff --git a/packages/web3-zond/test/integration/batch.test.ts b/packages/web3-qrl/test/integration/batch.test.ts similarity index 89% rename from packages/web3-zond/test/integration/batch.test.ts rename to packages/web3-qrl/test/integration/batch.test.ts index 6a8527f9..89cd1e5f 100644 --- a/packages/web3-zond/test/integration/batch.test.ts +++ b/packages/web3-qrl/test/integration/batch.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . // eslint-disable-next-line import/no-extraneous-dependencies import { SupportedProviders } from '@theqrl/web3-types'; import { hexToNumber } from '@theqrl/web3-utils'; -import { Web3Zond } from '../../src'; +import { Web3QRL } from '../../src'; import { closeOpenConnection, @@ -27,27 +27,27 @@ import { } from '../fixtures/system_test_utils'; describe('eth', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; beforeAll(async () => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond(clientUrl); - await waitForOpenConnection(web3Zond); + web3QRL = new Web3QRL(clientUrl); + await waitForOpenConnection(web3QRL); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('methods', () => { it('executes one batch request', async () => { const acc1 = await createTempAccount(); - const batch = new web3Zond.BatchRequest(); + const batch = new web3QRL.BatchRequest(); const request1 = { id: 10, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [acc1.address, 'latest'], }; const r1 = batch.add(request1).catch(console.error); @@ -65,15 +65,15 @@ describe('eth', () => { const acc1 = await createTempAccount(); const acc2 = await createTempAccount(); - const batch = new web3Zond.BatchRequest(); + const batch = new web3QRL.BatchRequest(); const request1 = { id: 10, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [acc1.address, 'latest'], }; const request2 = { id: 11, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [acc2.address, 'latest'], }; const r1 = batch.add(request1).catch(console.error); diff --git a/packages/web3-zond/test/integration/block/rpc.getBlock.test.ts b/packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts similarity index 91% rename from packages/web3-zond/test/integration/block/rpc.getBlock.test.ts rename to packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts index 6c7aa06a..ec0a6043 100644 --- a/packages/web3-zond/test/integration/block/rpc.getBlock.test.ts +++ b/packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts @@ -22,9 +22,9 @@ import { SupportedProviders, } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; import { validator } from '@theqrl/web3-validator'; -import { Web3Zond } from '../../../src'; +import { Web3QRL } from '../../../src'; import { getSystemTestProvider, createTempAccount, @@ -40,7 +40,7 @@ import { sendFewTxes } from '../helper'; import { blockSchema } from '../../../src/schemas'; describe('rpc with block', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let contract: Contract; @@ -60,7 +60,7 @@ describe('rpc with block', () => { beforeAll(async () => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: clientUrl, config: { transactionPollingTimeout: 15000, @@ -105,7 +105,7 @@ describe('rpc with block', () => { }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); await closeOpenConnection(contract); }); @@ -122,13 +122,13 @@ describe('rpc with block', () => { }), )('getBlock', async ({ hydrated, block, format }) => { const b = { - ...(await web3Zond.getBlock(blockData[block], hydrated, { + ...(await web3QRL.getBlock(blockData[block], hydrated, { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, })), }; if (blockData[block] === 'pending') { - b.miner = 'Z0000000000000000000000000000000000000000'; + b.miner = 'Q0000000000000000000000000000000000000000'; } expect(validator.validateJSONSchema(blockSchema, b)).toBeUndefined(); @@ -146,7 +146,7 @@ describe('rpc with block', () => { // only gzond throws this error 'getBlock', async blockTag => { - const request = await web3Zond.getBlock(blockTag); + const request = await web3QRL.getBlock(blockTag); expect(request).toBeDefined(); expect(validator.validateJSONSchema(blockSchema, request)).toBeUndefined(); diff --git a/packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts b/packages/web3-qrl/test/integration/block/rpc.getBlockTransactionCount.test.ts similarity index 91% rename from packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts rename to packages/web3-qrl/test/integration/block/rpc.getBlockTransactionCount.test.ts index 0682556b..0d39adb6 100644 --- a/packages/web3-zond/test/integration/block/rpc.getBlockTransactionCount.test.ts +++ b/packages/web3-qrl/test/integration/block/rpc.getBlockTransactionCount.test.ts @@ -16,8 +16,8 @@ along with web3.js. If not, see . */ import { SupportedProviders, TransactionReceipt } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract } from '@theqrl/web3-zond-contract'; -import { Web3Zond } from '../../../src'; +import { Contract } from '@theqrl/web3-qrl-contract'; +import { Web3QRL } from '../../../src'; import { // getSystemTestBackend, getSystemTestProvider, @@ -29,7 +29,7 @@ import { toAllVariants } from '../../shared_fixtures/utils'; import { sendFewTxes } from '../helper'; describe('rpc with block', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let contract: Contract; @@ -49,7 +49,7 @@ describe('rpc with block', () => { beforeAll(() => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: clientUrl, config: { transactionPollingTimeout: 15000, @@ -86,7 +86,7 @@ describe('rpc with block', () => { }; }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); await closeOpenConnection(contract); }); @@ -98,7 +98,7 @@ describe('rpc with block', () => { block: ['earliest', 'latest', 'pending', 'blockHash', 'blockNumber'], }), )('getBlockTransactionCount', async ({ block }) => { - const res = await web3Zond.getBlockTransactionCount(blockData[block]); + const res = await web3QRL.getBlockTransactionCount(blockData[block]); const shouldBe = ['earliest', 'pending'].includes(String(blockData[block])) ? 0 : 1; expect(Number(res)).toBe(shouldBe); }); diff --git a/packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts b/packages/web3-qrl/test/integration/block/rpc.getTransactionCount.test.ts similarity index 91% rename from packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts rename to packages/web3-qrl/test/integration/block/rpc.getTransactionCount.test.ts index 4d914160..7f4a59fe 100644 --- a/packages/web3-zond/test/integration/block/rpc.getTransactionCount.test.ts +++ b/packages/web3-qrl/test/integration/block/rpc.getTransactionCount.test.ts @@ -16,8 +16,8 @@ along with web3.js. If not, see . */ import { SupportedProviders, TransactionReceipt, FMT_BYTES, FMT_NUMBER } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract } from '@theqrl/web3-zond-contract'; -import { Web3Zond } from '../../../src'; +import { Contract } from '@theqrl/web3-qrl-contract'; +import { Web3QRL } from '../../../src'; import { getSystemTestProvider, createTempAccount, @@ -28,7 +28,7 @@ import { toAllVariants } from '../../shared_fixtures/utils'; import { sendFewTxes } from '../helper'; describe('rpc with block', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let contract: Contract; @@ -48,7 +48,7 @@ describe('rpc with block', () => { beforeAll(() => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: clientUrl, config: { transactionPollingTimeout: 5000, @@ -85,7 +85,7 @@ describe('rpc with block', () => { }; }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); await closeOpenConnection(contract); }); @@ -114,7 +114,7 @@ describe('rpc with block', () => { transactionHash: String(receipt.transactionHash), transactionIndex: Number(receipt.transactionIndex), }; - const countBefore = await web3Zond.getTransactionCount(acc.address, data[block], { + const countBefore = await web3QRL.getTransactionCount(acc.address, data[block], { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); @@ -134,7 +134,7 @@ describe('rpc with block', () => { transactionHash: String(receiptAfter.transactionHash), transactionIndex: Number(receiptAfter.transactionIndex), }; - const countAfter = await web3Zond.getTransactionCount(acc.address, dataAfter[block], { + const countAfter = await web3QRL.getTransactionCount(acc.address, dataAfter[block], { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts b/packages/web3-qrl/test/integration/block/rpc.getTransactionFromBlock.test.ts similarity index 92% rename from packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts rename to packages/web3-qrl/test/integration/block/rpc.getTransactionFromBlock.test.ts index 7bbd0dc6..16aaf384 100644 --- a/packages/web3-zond/test/integration/block/rpc.getTransactionFromBlock.test.ts +++ b/packages/web3-qrl/test/integration/block/rpc.getTransactionFromBlock.test.ts @@ -16,8 +16,8 @@ along with web3.js. If not, see . */ import { SupportedProviders, TransactionInfo, TransactionReceipt } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract } from '@theqrl/web3-zond-contract'; -import { Web3Zond } from '../../../src'; +import { Contract } from '@theqrl/web3-qrl-contract'; +import { Web3QRL } from '../../../src'; import { getSystemTestProvider, createTempAccount, @@ -27,7 +27,7 @@ import { BasicAbi, BasicBytecode } from '../../shared_fixtures/build/Basic'; import { sendFewTxes, validateTransaction } from '../helper'; describe('rpc with block', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let contract: Contract; @@ -47,7 +47,7 @@ describe('rpc with block', () => { beforeAll(() => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: clientUrl, config: { transactionPollingTimeout: 15000, @@ -84,14 +84,14 @@ describe('rpc with block', () => { }; }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); await closeOpenConnection(contract); }); describe('methods', () => { it('getTransactionFromBlock', async () => { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const tx = (await web3Zond.getTransactionFromBlock( + const tx = (await web3QRL.getTransactionFromBlock( blockData.blockNumber, blockData.transactionIndex, ))!; diff --git a/packages/web3-zond/test/integration/defaults.test.ts b/packages/web3-qrl/test/integration/defaults.test.ts similarity index 68% rename from packages/web3-zond/test/integration/defaults.test.ts rename to packages/web3-qrl/test/integration/defaults.test.ts index ee9e7130..8d1e86f6 100644 --- a/packages/web3-zond/test/integration/defaults.test.ts +++ b/packages/web3-qrl/test/integration/defaults.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; import { hexToNumber, numberToHex } from '@theqrl/web3-utils'; import { TransactionBuilder, @@ -36,7 +36,7 @@ import { prepareTransactionForSigning, SendTransactionEvents, transactionBuilder, - Web3Zond, + Web3QRL, } from '../../src'; import { @@ -59,8 +59,8 @@ import { getTransactionGasPricing } from '../../src/utils/get_transaction_gas_pr import { Resolve, sendFewTxes } from './helper'; describe('defaults', () => { - let web3Zond: Web3Zond; - let zond2: Web3Zond; + let web3QRL: Web3QRL; + let qrl2: Web3QRL; let clientUrl: string | SupportedProviders; let contract: Contract; let deployOptions: Record; @@ -69,9 +69,9 @@ describe('defaults', () => { beforeEach(async () => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond(clientUrl); + web3QRL = new Web3QRL(clientUrl); tempAcc = await createTempAccount(); - contract = new Contract(BasicAbi, web3Zond.getContextObject() as any); + contract = new Contract(BasicAbi, web3QRL.getContextObject() as any); deployOptions = { data: BasicBytecode, arguments: [10, 'string init value'], @@ -80,8 +80,8 @@ describe('defaults', () => { }); afterEach(async () => { - await closeOpenConnection(web3Zond); - await closeOpenConnection(zond2); + await closeOpenConnection(web3QRL); + await closeOpenConnection(qrl2); }); describe('defaults', () => { @@ -90,7 +90,7 @@ describe('defaults', () => { const tempAcc3 = await createTempAccount(); const contractMsgFrom = await new Contract( MsgSenderAbi, - web3Zond.getContextObject() as any, + web3QRL.getContextObject() as any, ) .deploy({ data: MsgSenderBytecode, @@ -98,24 +98,24 @@ describe('defaults', () => { }) .send({ from: tempAcc2.address /* gas: '2700000', */ }); // default - expect(web3Zond.defaultAccount).toBeUndefined(); + expect(web3QRL.defaultAccount).toBeUndefined(); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultAccount: tempAcc.address, }); - expect(web3Zond.defaultAccount).toBe(tempAcc.address); + expect(web3QRL.defaultAccount).toBe(tempAcc.address); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { defaultAccount: tempAcc3.address, }, }); - expect(zond2.defaultAccount).toBe(tempAcc3.address); + expect(qrl2.defaultAccount).toBe(tempAcc3.address); // check utils - expect(getTransactionFromOrToAttr('from', zond2)).toBe(tempAcc3.address); + expect(getTransactionFromOrToAttr('from', qrl2)).toBe(tempAcc3.address); // TODO: after handleRevert implementation https://github.com/theqrl/web3.js/issues/5069 add following tests in future release // set handleRevert true and test following functions with invalid input tx data and see revert reason present in error details: contractMsgFrom.setConfig({ @@ -124,24 +124,24 @@ describe('defaults', () => { const tx = await contractMsgFrom.methods.setTestString('test2').send(); // .send({ gas: '1000000' }); - const txSend = await web3Zond.sendTransaction({ + const txSend = await web3QRL.sendTransaction({ to: tempAcc2.address, value: '0x1', type: BigInt(2), }); - expect(tx.from).toBe(`Z${tempAcc.address.slice(1).toLowerCase()}`); - expect(txSend.from).toBe(`Z${tempAcc.address.slice(1).toLowerCase()}`); + expect(tx.from).toBe(`Q${tempAcc.address.slice(1).toLowerCase()}`); + expect(txSend.from).toBe(`Q${tempAcc.address.slice(1).toLowerCase()}`); const tx2 = await contractMsgFrom.methods.setTestString('test3').send({ from: tempAcc2.address, }); - const tx2Send = await web3Zond.sendTransaction({ + const tx2Send = await web3QRL.sendTransaction({ to: tempAcc.address, value: '0x1', from: tempAcc2.address, }); - expect(tx2.from).toBe(`Z${tempAcc2.address.slice(1).toLowerCase()}`); - expect(tx2Send.from).toBe(`Z${tempAcc2.address.slice(1).toLowerCase()}`); + expect(tx2.from).toBe(`Q${tempAcc2.address.slice(1).toLowerCase()}`); + expect(tx2Send.from).toBe(`Q${tempAcc2.address.slice(1).toLowerCase()}`); const fromDefault = await contractMsgFrom.methods?.from().call(); const fromPass = await contractMsgFrom.methods?.from().call({ from: tempAcc.address }); @@ -163,58 +163,58 @@ describe('defaults', () => { //TO DO: after handleRevert implementation https://github.com/theqrl/web3.js/issues/5069 add following tests in future release /* set handleRevert true and test following functions with invalid input tx data and see revert reason present in error details: - web3.zond.call() - web3.zond.sendTransaction() + web3.qrl.call() + web3.qrl.sendTransaction() contract.methods.myMethod(…).send(…) contract.methods.myMethod(…).call(…) */ // default - expect(web3Zond.handleRevert).toBe(false); + expect(web3QRL.handleRevert).toBe(false); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ handleRevert: true, }); - expect(web3Zond.handleRevert).toBe(true); + expect(web3QRL.handleRevert).toBe(true); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { handleRevert: true, }, }); - expect(zond2.handleRevert).toBe(true); + expect(qrl2.handleRevert).toBe(true); }); it('defaultBlock', async () => { const contractDeployed = await contract.deploy(deployOptions).send(sendOptions); // default - expect(web3Zond.defaultBlock).toBe('latest'); + expect(web3QRL.defaultBlock).toBe('latest'); - web3Zond.setConfig({ + web3QRL.setConfig({ defaultBlock: 'safe', }); - expect(web3Zond.defaultBlock).toBe('safe'); + expect(web3QRL.defaultBlock).toBe('safe'); - web3Zond.setConfig({ + web3QRL.setConfig({ defaultBlock: 'finalized', }); - expect(web3Zond.defaultBlock).toBe('finalized'); + expect(web3QRL.defaultBlock).toBe('finalized'); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultBlock: 'earliest', }); - expect(web3Zond.defaultBlock).toBe('earliest'); + expect(web3QRL.defaultBlock).toBe('earliest'); // set by create new instance - zond2 = new Web3Zond({ - provider: web3Zond.provider, + qrl2 = new Web3QRL({ + provider: web3QRL.provider, config: { defaultBlock: 'earliest', }, }); - expect(zond2.defaultBlock).toBe('earliest'); + expect(qrl2.defaultBlock).toBe('earliest'); // check implementation // const acc = await createNewAccount({ refill: true }); @@ -225,29 +225,29 @@ describe('defaults', () => { times: 1, value: '0x1', }); - // const balance = await zond2.getBalance(acc.address); - const code = await zond2.getCode(contractDeployed?.options?.address as string); - const storage = await zond2.getStorageAt( + // const balance = await qrl2.getBalance(acc.address); + const code = await qrl2.getCode(contractDeployed?.options?.address as string); + const storage = await qrl2.getStorageAt( contractDeployed?.options?.address as string, 0, ); - const transactionCount = await zond2.getTransactionCount(acc.address); + const transactionCount = await qrl2.getTransactionCount(acc.address); expect(storage === '0x' ? 0 : Number(hexToNumber(storage))).toBe(0); expect(code).toBe('0x'); // expect(balance).toBe(BigInt(0)); expect(transactionCount).toBe(BigInt(0)); // pass blockNumber to rewrite defaultBlockNumber - const balanceWithBlockNumber = await zond2.getBalance(acc.address, 'latest'); - // const transactionCountWithBlockNumber = await zond2.getTransactionCount( + const balanceWithBlockNumber = await qrl2.getBalance(acc.address, 'latest'); + // const transactionCountWithBlockNumber = await qrl2.getTransactionCount( // acc.address, // 'latest', // ); - const codeWithBlockNumber = await zond2.getCode( + const codeWithBlockNumber = await qrl2.getCode( contractDeployed?.options?.address as string, 'latest', ); - const storageWithBlockNumber = await zond2.getStorageAt( + const storageWithBlockNumber = await qrl2.getStorageAt( contractDeployed?.options?.address as string, 0, 'latest', @@ -258,16 +258,16 @@ describe('defaults', () => { expect(codeWithBlockNumber.startsWith(BasicBytecode.slice(0, 10))).toBe(true); // set new default block to config - zond2.setConfig({ + qrl2.setConfig({ defaultBlock: 'latest', }); - const balanceLatest = await zond2.getBalance(acc.address); - const codeLatest = await zond2.getCode(contractDeployed?.options?.address as string); - const storageLatest = await zond2.getStorageAt( + const balanceLatest = await qrl2.getBalance(acc.address); + const codeLatest = await qrl2.getCode(contractDeployed?.options?.address as string); + const storageLatest = await qrl2.getStorageAt( contractDeployed?.options?.address as string, 0, ); - // const transactionCountLatest = await zond2.getTransactionCount(acc.address); + // const transactionCountLatest = await qrl2.getTransactionCount(acc.address); expect(codeLatest.startsWith(BasicBytecode.slice(0, 10))).toBe(true); expect(Number(hexToNumber(storageLatest))).toBe(10); // expect(transactionCountLatest).toBe(BigInt(1)); @@ -275,67 +275,67 @@ describe('defaults', () => { }); it('transactionSendTimeout', () => { // default - expect(web3Zond.transactionSendTimeout).toBe(750 * 1000); + expect(web3QRL.transactionSendTimeout).toBe(750 * 1000); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ transactionSendTimeout: 1, }); - expect(web3Zond.transactionSendTimeout).toBe(1); + expect(web3QRL.transactionSendTimeout).toBe(1); // set by create new instance - zond2 = new Web3Zond({ - provider: web3Zond.provider, + qrl2 = new Web3QRL({ + provider: web3QRL.provider, config: { transactionSendTimeout: 120, }, }); - expect(zond2.transactionSendTimeout).toBe(120); + expect(qrl2.transactionSendTimeout).toBe(120); }); it('transactionBlockTimeout', () => { // default - expect(web3Zond.transactionBlockTimeout).toBe(50); + expect(web3QRL.transactionBlockTimeout).toBe(50); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ transactionBlockTimeout: 1, }); - expect(web3Zond.transactionBlockTimeout).toBe(1); + expect(web3QRL.transactionBlockTimeout).toBe(1); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { transactionBlockTimeout: 120, }, }); - expect(zond2.transactionBlockTimeout).toBe(120); + expect(qrl2.transactionBlockTimeout).toBe(120); }); it('transactionConfirmationBlocks', () => { // default // eslint-disable-next-line jest/no-standalone-expect - expect(web3Zond.transactionConfirmationBlocks).toBe(24); + expect(web3QRL.transactionConfirmationBlocks).toBe(24); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ transactionConfirmationBlocks: 3, }); // eslint-disable-next-line jest/no-standalone-expect - expect(web3Zond.transactionConfirmationBlocks).toBe(3); + expect(web3QRL.transactionConfirmationBlocks).toBe(3); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { transactionConfirmationBlocks: 4, }, }); // eslint-disable-next-line jest/no-standalone-expect - expect(zond2.transactionConfirmationBlocks).toBe(4); + expect(qrl2.transactionConfirmationBlocks).toBe(4); }); it('transactionConfirmationBlocks implementation', async () => { const tempAcc2 = await createTempAccount(); const waitConfirmations = 1; - const zond = new Web3Zond(web3Zond.provider); - zond.setConfig({ transactionConfirmationBlocks: waitConfirmations }); + const qrl = new Web3QRL(web3QRL.provider); + qrl.setConfig({ transactionConfirmationBlocks: waitConfirmations }); const from = tempAcc.address; const to = tempAcc2.address; @@ -343,7 +343,7 @@ describe('defaults', () => { const sentTx: Web3PromiEvent< TransactionReceipt, SendTransactionEvents - > = zond.sendTransaction({ + > = qrl.sendTransaction({ to, value, from, @@ -374,42 +374,42 @@ describe('defaults', () => { await receiptPromise; await sendFewSampleTxs(isIpc ? 2 * waitConfirmations : waitConfirmations); await confirmationPromise; - await closeOpenConnection(zond); + await closeOpenConnection(qrl); }); it('transactionPollingInterval and transactionPollingTimeout', () => { // default - expect(web3Zond.transactionPollingInterval).toBe(1000); - expect(web3Zond.transactionPollingTimeout).toBe(750 * 1000); + expect(web3QRL.transactionPollingInterval).toBe(1000); + expect(web3QRL.transactionPollingTimeout).toBe(750 * 1000); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ transactionPollingInterval: 3, transactionPollingTimeout: 10, }); - expect(web3Zond.transactionPollingInterval).toBe(3); - expect(web3Zond.transactionPollingTimeout).toBe(10); + expect(web3QRL.transactionPollingInterval).toBe(3); + expect(web3QRL.transactionPollingTimeout).toBe(10); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { transactionPollingInterval: 400, transactionPollingTimeout: 10, }, }); - expect(zond2.transactionPollingInterval).toBe(400); - expect(zond2.transactionPollingTimeout).toBe(10); + expect(qrl2.transactionPollingInterval).toBe(400); + expect(qrl2.transactionPollingTimeout).toBe(10); }); // todo will work with not instance mining // itIf(isHttp)('transactionReceiptPollingInterval and transactionConfirmationPollingInterval implementation', async () => { - // zond2 = new Web3Zond({ - // provider: web3Zond.provider, + // qrl2 = new Web3QRL({ + // provider: web3QRL.provider, // config: { // transactionPollingInterval: 400, // transactionPollingTimeout: 10, // }, // }); // - // const sentTx: Web3PromiEvent = zond2.sendTransaction({ + // const sentTx: Web3PromiEvent = qrl2.sendTransaction({ // to: tempAcc2.address, // value: '0x1', // from: tempAcc.address, @@ -426,7 +426,7 @@ describe('defaults', () => { // ]); // expect((res as TransactionReceipt).status).toBe(BigInt(1)); // - // const sentTx2: Web3PromiEvent = zond2.sendTransaction({ + // const sentTx2: Web3PromiEvent = qrl2.sendTransaction({ // to: tempAcc2.address, // value: '0x1', // from: tempAcc.address, @@ -446,65 +446,65 @@ describe('defaults', () => { // }); it('transactionReceiptPollingInterval and transactionConfirmationPollingInterval', () => { // default - expect(web3Zond.transactionReceiptPollingInterval).toBeUndefined(); - expect(web3Zond.transactionConfirmationPollingInterval).toBeUndefined(); + expect(web3QRL.transactionReceiptPollingInterval).toBeUndefined(); + expect(web3QRL.transactionConfirmationPollingInterval).toBeUndefined(); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ transactionReceiptPollingInterval: 3, transactionConfirmationPollingInterval: 10, }); - expect(web3Zond.transactionReceiptPollingInterval).toBe(3); - expect(web3Zond.transactionConfirmationPollingInterval).toBe(10); + expect(web3QRL.transactionReceiptPollingInterval).toBe(3); + expect(web3QRL.transactionConfirmationPollingInterval).toBe(10); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { transactionReceiptPollingInterval: 400, transactionConfirmationPollingInterval: 10, }, }); - expect(zond2.transactionReceiptPollingInterval).toBe(400); - expect(zond2.transactionConfirmationPollingInterval).toBe(10); + expect(qrl2.transactionReceiptPollingInterval).toBe(400); + expect(qrl2.transactionConfirmationPollingInterval).toBe(10); }); it('blockHeaderTimeout', () => { // default - expect(web3Zond.blockHeaderTimeout).toBe(10); + expect(web3QRL.blockHeaderTimeout).toBe(10); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ blockHeaderTimeout: 3, }); - expect(web3Zond.blockHeaderTimeout).toBe(3); + expect(web3QRL.blockHeaderTimeout).toBe(3); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { blockHeaderTimeout: 4, }, }); - expect(zond2.blockHeaderTimeout).toBe(4); + expect(qrl2.blockHeaderTimeout).toBe(4); }); it('enableExperimentalFeatures useSubscriptionWhenCheckingBlockTimeout', () => { // default expect( - web3Zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout, + web3QRL.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout, ).toBe(false); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ enableExperimentalFeatures: { useSubscriptionWhenCheckingBlockTimeout: true, useRpcCallSpecification: false, }, }); expect( - web3Zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout, + web3QRL.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout, ).toBe(true); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { enableExperimentalFeatures: { useSubscriptionWhenCheckingBlockTimeout: true, @@ -512,26 +512,26 @@ describe('defaults', () => { }, }, }); - expect(zond2.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout).toBe( + expect(qrl2.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout).toBe( true, ); }); it('enableExperimentalFeatures useRpcCallSpecification', () => { // default - expect(web3Zond.enableExperimentalFeatures.useRpcCallSpecification).toBe(false); + expect(web3QRL.enableExperimentalFeatures.useRpcCallSpecification).toBe(false); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ enableExperimentalFeatures: { useSubscriptionWhenCheckingBlockTimeout: false, useRpcCallSpecification: true, }, }); - expect(web3Zond.enableExperimentalFeatures.useRpcCallSpecification).toBe(true); + expect(web3QRL.enableExperimentalFeatures.useRpcCallSpecification).toBe(true); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { enableExperimentalFeatures: { useSubscriptionWhenCheckingBlockTimeout: false, @@ -539,18 +539,18 @@ describe('defaults', () => { }, }, }); - expect(zond2.enableExperimentalFeatures.useRpcCallSpecification).toBe(true); + expect(qrl2.enableExperimentalFeatures.useRpcCallSpecification).toBe(true); }); it('should fallback to polling if provider support `on` but `newBlockHeaders` does not arrive in `blockHeaderTimeout` seconds', async () => { const tempAcc2 = await createTempAccount(); - const tempZond: Web3Zond = new Web3Zond(clientUrl); + const tempQRL: Web3QRL = new Web3QRL(clientUrl); // Ensure the provider supports subscriptions to simulate the test scenario // It will cause providers that does not support subscriptions (like http) to throw exception when subscribing. // This case is tested to ensure that even if an error happen at subscription, // polling will still get the data from next blocks. - (tempZond.provider as Web3BaseProvider).supportsSubscriptions = () => true; + (tempQRL.provider as Web3BaseProvider).supportsSubscriptions = () => true; // Cause the events to take a long time (more than blockHeaderTimeout), // to ensure that polling of new blocks works in such cases. @@ -558,14 +558,14 @@ describe('defaults', () => { // to never return data through listening to new events // eslint-disable-next-line @typescript-eslint/no-misused-promises - (tempZond.provider as Web3BaseProvider).on = async () => { + (tempQRL.provider as Web3BaseProvider).on = async () => { await new Promise(res => { setTimeout(res, 1000000); }); }; // Make the test run faster by casing the polling to start after 1 second - tempZond.blockHeaderTimeout = 1; + tempQRL.blockHeaderTimeout = 1; const from = tempAcc2.address; const to = tempAcc.address; const value = `0x1`; @@ -573,7 +573,7 @@ describe('defaults', () => { const sentTx: Web3PromiEvent< TransactionReceipt, SendTransactionEvents - > = tempZond.sendTransaction({ + > = tempQRL.sendTransaction({ from, to, value, @@ -598,7 +598,7 @@ describe('defaults', () => { resolve(status); } else { // Send a transaction to cause dev providers creating new blocks to fire the 'confirmation' event again. - await tempZond.sendTransaction({ + await tempQRL.sendTransaction({ from, to, value, @@ -613,121 +613,121 @@ describe('defaults', () => { // Ensure the promise the get the confirmations resolves with no error const status = await confirmationPromise; expect(status).toBe(BigInt(1)); - await closeOpenConnection(tempZond); + await closeOpenConnection(tempQRL); }); it('maxListenersWarningThreshold test default config', () => { // default - expect(web3Zond.maxListenersWarningThreshold).toBe(100); + expect(web3QRL.maxListenersWarningThreshold).toBe(100); }); it('maxListenersWarningThreshold set maxListeners through variable', () => { - zond2 = new Web3Zond({}); - zond2.maxListenersWarningThreshold = 3; - expect(zond2.maxListenersWarningThreshold).toBe(3); - expect(zond2.getMaxListeners()).toBe(3); + qrl2 = new Web3QRL({}); + qrl2.maxListenersWarningThreshold = 3; + expect(qrl2.maxListenersWarningThreshold).toBe(3); + expect(qrl2.getMaxListeners()).toBe(3); }); it('maxListenersWarningThreshold set config', () => { - const zond = new Web3Zond({}); - zond.setConfig({ + const qrl = new Web3QRL({}); + qrl.setConfig({ maxListenersWarningThreshold: 3, }); - expect(zond2.maxListenersWarningThreshold).toBe(3); - expect(zond2.getMaxListeners()).toBe(3); + expect(qrl2.maxListenersWarningThreshold).toBe(3); + expect(qrl2.getMaxListeners()).toBe(3); }); it('defaultNetworkId', async () => { // default - expect(web3Zond.defaultNetworkId).toBeUndefined(); + expect(web3QRL.defaultNetworkId).toBeUndefined(); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultNetworkId: 3, }); - expect(web3Zond.defaultNetworkId).toBe(3); + expect(web3QRL.defaultNetworkId).toBe(3); // set by create new instance - zond2 = new Web3Zond({ - provider: web3Zond.provider, + qrl2 = new Web3QRL({ + provider: web3QRL.provider, config: { defaultNetworkId: 4, }, }); - expect(zond2.defaultNetworkId).toBe(4); + expect(qrl2.defaultNetworkId).toBe(4); const res = await defaultTransactionBuilder({ transaction: { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', }, - web3Context: zond2 as Web3Context, + web3Context: qrl2 as Web3Context, }); expect(res.networkId).toBe(4); // pass network id const resWithPassNetworkId = await defaultTransactionBuilder({ transaction: { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', networkId: 5, }, - web3Context: zond2 as Web3Context, + web3Context: qrl2 as Web3Context, }); expect(resWithPassNetworkId.networkId).toBe(BigInt(5)); }); it('defaultChain', async () => { // default - expect(web3Zond.defaultChain).toBe('mainnet'); + expect(web3QRL.defaultChain).toBe('mainnet'); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultChain: 'ropsten', }); - expect(web3Zond.defaultChain).toBe('ropsten'); + expect(web3QRL.defaultChain).toBe('ropsten'); // set by create new instance - zond2 = new Web3Zond({ - provider: web3Zond.provider, + qrl2 = new Web3QRL({ + provider: web3QRL.provider, config: { defaultChain: 'rinkeby', }, }); - expect(zond2.defaultChain).toBe('rinkeby'); + expect(qrl2.defaultChain).toBe('rinkeby'); const res = await defaultTransactionBuilder({ transaction: { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', }, - web3Context: zond2 as Web3Context, + web3Context: qrl2 as Web3Context, }); expect(res.chain).toBe('rinkeby'); }); it('defaultHardfork', async () => { // default - expect(web3Zond.defaultHardfork).toBe('shanghai'); + expect(web3QRL.defaultHardfork).toBe('shanghai'); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultHardfork: 'dao', }); - expect(web3Zond.defaultHardfork).toBe('dao'); + expect(web3QRL.defaultHardfork).toBe('dao'); // set by create new instance - zond2 = new Web3Zond({ - provider: web3Zond.provider, + qrl2 = new Web3QRL({ + provider: web3QRL.provider, config: { defaultHardfork: 'istanbul', }, }); - expect(zond2.defaultHardfork).toBe('istanbul'); + expect(qrl2.defaultHardfork).toBe('istanbul'); const res = await prepareTransactionForSigning( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -737,13 +737,13 @@ describe('defaults', () => { chainId: '0x1', gasLimit: '0x5208', }, - zond2, + qrl2, ); expect(res.common.hardfork()).toBe('istanbul'); }); it('defaultCommon', () => { // default - expect(web3Zond.defaultCommon).toBeUndefined(); + expect(web3QRL.defaultCommon).toBeUndefined(); const baseChain: ValidChains = 'mainnet'; const hardfork: Hardfork = 'shanghai'; const common = { @@ -756,40 +756,40 @@ describe('defaults', () => { hardfork, }; // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultCommon: common, }); - expect(web3Zond.defaultCommon).toBe(common); + expect(web3QRL.defaultCommon).toBe(common); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { defaultCommon: common, }, }); - expect(zond2.defaultCommon).toBe(common); + expect(qrl2.defaultCommon).toBe(common); }); it('defaultTransactionType', () => { // default - expect(web3Zond.defaultTransactionType).toBe('0x2'); + expect(web3QRL.defaultTransactionType).toBe('0x2'); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultTransactionType: '0x3', }); - expect(web3Zond.defaultTransactionType).toBe('0x3'); + expect(web3QRL.defaultTransactionType).toBe('0x3'); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { defaultTransactionType: '0x4444', }, }); - expect(zond2.defaultTransactionType).toBe('0x4444'); + expect(qrl2.defaultTransactionType).toBe('0x4444'); const res = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -797,14 +797,14 @@ describe('defaults', () => { chainId: '0x1', gasLimit: '0x5208', }, - zond2, + qrl2, ); expect(res).toBe('0x4444'); const maxFeePerGasOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -813,13 +813,13 @@ describe('defaults', () => { gasLimit: '0x5208', maxFeePerGas: '0x32', }, - zond2, + qrl2, ); expect(maxFeePerGasOverride).toBe('0x2'); const maxPriorityFeePerGasOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -828,13 +828,13 @@ describe('defaults', () => { gasLimit: '0x5208', maxPriorityFeePerGas: '0x32', }, - zond2, + qrl2, ); expect(maxPriorityFeePerGasOverride).toBe('0x2'); const hardforkOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -843,13 +843,13 @@ describe('defaults', () => { gasLimit: '0x5208', hardfork: 'shanghai', }, - zond2, + qrl2, ); expect(hardforkOverride).toBe('0x2'); const commonOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -861,14 +861,14 @@ describe('defaults', () => { hardfork: 'shanghai', }, }, - zond2, + qrl2, ); expect(commonOverride).toBe('0x2'); const accessListOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -879,19 +879,19 @@ describe('defaults', () => { maxFeePerGas: '0x4a817c800', accessList: [ { - address: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', + address: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', storageKeys: ['0x3535353535353535353535353535353535353535'], }, ], }, - zond2, + qrl2, ); expect(accessListOverride).toBe('0x2'); const hardforkBerlinOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -900,14 +900,14 @@ describe('defaults', () => { gasLimit: '0x5208', hardfork: 'shanghai', }, - zond2, + qrl2, ); expect(hardforkBerlinOverride).toBe('0x2'); const commonBerlinOverride = getTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', data: '0x0', @@ -919,32 +919,32 @@ describe('defaults', () => { hardfork: 'shanghai', }, }, - zond2, + qrl2, ); expect(commonBerlinOverride).toBe('0x2'); }); it('defaultMaxPriorityFeePerGas', async () => { // default - expect(web3Zond.defaultMaxPriorityFeePerGas).toBe(numberToHex(2500000000)); + expect(web3QRL.defaultMaxPriorityFeePerGas).toBe(numberToHex(2500000000)); // after set - web3Zond.setConfig({ + web3QRL.setConfig({ defaultMaxPriorityFeePerGas: numberToHex(2100000000), }); - expect(web3Zond.defaultMaxPriorityFeePerGas).toBe(numberToHex(2100000000)); + expect(web3QRL.defaultMaxPriorityFeePerGas).toBe(numberToHex(2100000000)); // set by create new instance - zond2 = new Web3Zond({ - provider: web3Zond.provider, + qrl2 = new Web3QRL({ + provider: web3QRL.provider, config: { defaultMaxPriorityFeePerGas: numberToHex(1200000000), }, }); - expect(zond2.defaultMaxPriorityFeePerGas).toBe(numberToHex(1200000000)); + expect(qrl2.defaultMaxPriorityFeePerGas).toBe(numberToHex(1200000000)); const res = await getTransactionGasPricing( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', type: '0x2', gas: '0x5208', @@ -953,7 +953,7 @@ describe('defaults', () => { chainId: '0x1', gasLimit: '0x5208', }, - zond2, + qrl2, DEFAULT_RETURN_FORMAT, ); expect(res?.maxPriorityFeePerGas).toBe(BigInt(1200000000)); @@ -961,8 +961,8 @@ describe('defaults', () => { // override test const resOverride = await getTransactionGasPricing( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', type: '0x2', gas: '0x5208', @@ -972,37 +972,37 @@ describe('defaults', () => { gasLimit: '0x5208', maxPriorityFeePerGas: '0x123123123', }, - zond2, + qrl2, DEFAULT_RETURN_FORMAT, ); expect(resOverride?.maxPriorityFeePerGas).toBe(BigInt('4883362083')); }); it('transactionBuilder', async () => { // default - expect(web3Zond.transactionBuilder).toBeUndefined(); + expect(web3QRL.transactionBuilder).toBeUndefined(); // default - expect(web3Zond.transactionBuilder).toBeUndefined(); + expect(web3QRL.transactionBuilder).toBeUndefined(); const newBuilderMock = jest.fn() as unknown as TransactionBuilder; - web3Zond.setConfig({ + web3QRL.setConfig({ transactionBuilder: newBuilderMock, }); - expect(web3Zond.transactionBuilder).toBe(newBuilderMock); + expect(web3QRL.transactionBuilder).toBe(newBuilderMock); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { transactionBuilder: newBuilderMock, }, }); - expect(zond2.transactionBuilder).toBe(newBuilderMock); + expect(qrl2.transactionBuilder).toBe(newBuilderMock); await transactionBuilder({ transaction: { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -1011,32 +1011,32 @@ describe('defaults', () => { chainId: '0x1', gasLimit: '0x5208', }, - web3Context: zond2, + web3Context: qrl2, }); expect(newBuilderMock).toHaveBeenCalled(); }); it('transactionTypeParser', () => { // default - expect(web3Zond.transactionTypeParser).toBeUndefined(); + expect(web3QRL.transactionTypeParser).toBeUndefined(); const newParserMock = jest.fn() as unknown as TransactionTypeParser; - web3Zond.setConfig({ + web3QRL.setConfig({ transactionTypeParser: newParserMock, }); - expect(web3Zond.transactionTypeParser).toBe(newParserMock); + expect(web3QRL.transactionTypeParser).toBe(newParserMock); // set by create new instance - zond2 = new Web3Zond({ + qrl2 = new Web3QRL({ config: { transactionTypeParser: newParserMock, }, }); - expect(zond2.transactionTypeParser).toBe(newParserMock); + expect(qrl2.transactionTypeParser).toBe(newParserMock); detectTransactionType( { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', maxFeePerGas: '0x4a817c800', @@ -1045,7 +1045,7 @@ describe('defaults', () => { chainId: '0x1', gasLimit: '0x5208', }, - zond2, + qrl2, ); expect(newParserMock).toHaveBeenCalled(); }); diff --git a/packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts b/packages/web3-qrl/test/integration/defaults.transactionBlockTimeout.test.ts similarity index 87% rename from packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts rename to packages/web3-qrl/test/integration/defaults.transactionBlockTimeout.test.ts index 9fa06277..48103c38 100644 --- a/packages/web3-zond/test/integration/defaults.transactionBlockTimeout.test.ts +++ b/packages/web3-qrl/test/integration/defaults.transactionBlockTimeout.test.ts @@ -20,7 +20,7 @@ import { SupportedProviders, TransactionReceipt } from '@theqrl/web3-types'; import { TransactionBlockTimeoutError } from '@theqrl/web3-errors'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3 } from '@theqrl/web3'; -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import { SendTransactionEvents } from '../../src'; import { @@ -47,17 +47,17 @@ describe('defaults', () => { clientUrl = getSystemTestProvider(); web3 = new Web3(clientUrl); // Make the test run faster by casing the polling to start after 2 blocks - web3.zond.transactionBlockTimeout = 2; + web3.qrl.transactionBlockTimeout = 2; // Increase other timeouts so only `transactionBlockTimeout` would be reached - web3.zond.transactionSendTimeout = MAX_32_SIGNED_INTEGER; - web3.zond.transactionPollingTimeout = MAX_32_SIGNED_INTEGER; - web3.zond.blockHeaderTimeout = MAX_32_SIGNED_INTEGER / 1000; + web3.qrl.transactionSendTimeout = MAX_32_SIGNED_INTEGER; + web3.qrl.transactionPollingTimeout = MAX_32_SIGNED_INTEGER; + web3.qrl.blockHeaderTimeout = MAX_32_SIGNED_INTEGER / 1000; }); afterEach(async () => { - web3.zond.transactionBlockTimeout = 50; - await closeOpenConnection(web3.zond); + web3.qrl.transactionBlockTimeout = 50; + await closeOpenConnection(web3.qrl); }); describe('defaults', () => { @@ -68,7 +68,7 @@ describe('defaults', () => { const sentTx: Web3PromiEvent< TransactionReceipt, SendTransactionEvents - > = web3.zond.sendTransaction({ + > = web3.qrl.sendTransaction({ from: account1.address, to: account2.address, // gas, @@ -95,27 +95,27 @@ describe('defaults', () => { // eslint-disable-next-line jest/no-conditional-expect expect((error as Error).message).toMatch(/was not mined within [0-9]+ blocks/); } - await closeOpenConnection(web3.zond); + await closeOpenConnection(web3.qrl); }); /* - // The code of this test case is identical to the previous one except for `zond.enableExperimentalFeatures = true` + // The code of this test case is identical to the previous one except for `qrl.enableExperimentalFeatures = true` // TODO: And this test case will be removed once https://github.com/web3/web3.js/issues/5521 is implemented. itIf(isSocket)( 'should fail if transaction was not mined within `transactionBlockTimeout` blocks - when subscription is used', async () => { account1 = await createLocalAccount(web3); account2 = await createLocalAccount(web3); - await waitForOpenConnection(web3.zond); + await waitForOpenConnection(web3.qrl); // using subscription to get the new blocks and fire `TransactionBlockTimeoutError` is currently supported only // with `enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout` equal true. - web3.zond.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout = true; + web3.qrl.enableExperimentalFeatures.useSubscriptionWhenCheckingBlockTimeout = true; // Setting a high `nonce` when sending a transaction, to cause the RPC call to stuck at the Node const sentTx: Web3PromiEvent< TransactionReceipt, SendTransactionEvents - > = web3.zond.sendTransaction({ + > = web3.qrl.sendTransaction({ from: account1.address, to: account2.address, gas, @@ -135,7 +135,7 @@ describe('defaults', () => { await expect(sentTx).rejects.toThrow(TransactionBlockTimeoutError); - await closeOpenConnection(web3.zond); + await closeOpenConnection(web3.qrl); }, ); */ diff --git a/packages/web3-zond/test/integration/get_revert_reason.test.ts b/packages/web3-qrl/test/integration/get_revert_reason.test.ts similarity index 89% rename from packages/web3-zond/test/integration/get_revert_reason.test.ts rename to packages/web3-qrl/test/integration/get_revert_reason.test.ts index 7678d3b3..867520ce 100644 --- a/packages/web3-zond/test/integration/get_revert_reason.test.ts +++ b/packages/web3-qrl/test/integration/get_revert_reason.test.ts @@ -19,7 +19,7 @@ along with web3.js. If not, see . import { Address, Transaction, TransactionCall } from '@theqrl/web3-types'; -import Web3Zond from '../../src'; +import Web3QRL from '../../src'; import { getRevertReason } from '../../src/utils/get_revert_reason'; import { SimpleRevertAbi, SimpleRevertDeploymentData } from '../fixtures/simple_revert'; import { @@ -28,25 +28,25 @@ import { getSystemTestProvider, } from '../fixtures/system_test_utils'; -describe('Web3Zond.getRevertReason', () => { +describe('Web3QRL.getRevertReason', () => { let tempAccount: { address: string; seed: string }; - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let simpleRevertContractAddress: Address; beforeAll(async () => { tempAccount = await createTempAccount(); - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); const simpleRevertDeployTransaction: Transaction = { from: tempAccount.address, data: SimpleRevertDeploymentData, type: BigInt(2), }; - simpleRevertDeployTransaction.gas = await web3Zond.estimateGas( + simpleRevertDeployTransaction.gas = await web3QRL.estimateGas( simpleRevertDeployTransaction, ); simpleRevertContractAddress = ( - await web3Zond.sendTransaction(simpleRevertDeployTransaction) + await web3QRL.sendTransaction(simpleRevertDeployTransaction) ).contractAddress as Address; }); @@ -58,7 +58,7 @@ describe('Web3Zond.getRevertReason', () => { type: BigInt(2), }; - const response = await getRevertReason(web3Zond, transaction); + const response = await getRevertReason(web3QRL, transaction); switch (getSystemTestBackend()) { case 'gzond': @@ -82,7 +82,7 @@ describe('Web3Zond.getRevertReason', () => { data: '0xba57a511000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067265766572740000000000000000000000000000000000000000000000000000', }; - const response = await getRevertReason(web3Zond, transaction); + const response = await getRevertReason(web3QRL, transaction); switch (getSystemTestBackend()) { case 'gzond': @@ -108,7 +108,7 @@ describe('Web3Zond.getRevertReason', () => { data: '0xba57a511000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000067265766572740000000000000000000000000000000000000000000000000000', }; - const response = await getRevertReason(web3Zond, transaction); + const response = await getRevertReason(web3QRL, transaction); switch (getSystemTestBackend()) { case 'gzond': expect(response).toBe( @@ -130,7 +130,7 @@ describe('Web3Zond.getRevertReason', () => { type: BigInt(2), }; - const response = await getRevertReason(web3Zond, transaction, SimpleRevertAbi); + const response = await getRevertReason(web3QRL, transaction, SimpleRevertAbi); switch (getSystemTestBackend()) { case 'gzond': expect(response).toMatchObject({ @@ -157,7 +157,7 @@ describe('Web3Zond.getRevertReason', () => { type: BigInt(2), }; - const response = await getRevertReason(web3Zond, transaction, SimpleRevertAbi); + const response = await getRevertReason(web3QRL, transaction, SimpleRevertAbi); switch (getSystemTestBackend()) { case 'gzond': expect(response).toMatchObject({ @@ -187,7 +187,7 @@ describe('Web3Zond.getRevertReason', () => { type: BigInt(2), }; - const response = await getRevertReason(web3Zond, transaction); + const response = await getRevertReason(web3QRL, transaction); expect(response).toBeUndefined(); }); }); diff --git a/packages/web3-zond/test/integration/helper.ts b/packages/web3-qrl/test/integration/helper.ts similarity index 98% rename from packages/web3-zond/test/integration/helper.ts rename to packages/web3-qrl/test/integration/helper.ts index cdcb4b8b..65a18345 100644 --- a/packages/web3-zond/test/integration/helper.ts +++ b/packages/web3-qrl/test/integration/helper.ts @@ -53,7 +53,7 @@ export const sendFewTxes = async ({ for (let i = 0; i < times; i += 1) { res.push( // eslint-disable-next-line no-await-in-loop - await web3.zond.sendTransaction({ + await web3.qrl.sendTransaction({ to: toAddress, value, from, @@ -67,7 +67,7 @@ export const sendFewTxes = async ({ return res; }; -const regexAddress = /Z[0-9a-fA-F]{40}/i; +const regexAddress = /Q[0-9a-fA-F]{40}/i; const regexHex32 = /0[xX][0-9a-fA-F]{64}/i; type ExpectOptions = { diff --git a/packages/web3-zond/test/integration/jest.config.js b/packages/web3-qrl/test/integration/jest.config.js similarity index 100% rename from packages/web3-zond/test/integration/jest.config.js rename to packages/web3-qrl/test/integration/jest.config.js diff --git a/packages/web3-zond/test/integration/nonce.test.ts b/packages/web3-qrl/test/integration/nonce.test.ts similarity index 83% rename from packages/web3-zond/test/integration/nonce.test.ts rename to packages/web3-qrl/test/integration/nonce.test.ts index 09d53d41..d728e359 100644 --- a/packages/web3-zond/test/integration/nonce.test.ts +++ b/packages/web3-qrl/test/integration/nonce.test.ts @@ -17,8 +17,8 @@ along with web3.js. If not, see . import { TransactionPollingTimeoutError, TransactionSendTimeoutError } from '@theqrl/web3-errors'; // eslint-disable-next-line import/no-extraneous-dependencies import { SupportedProviders, Web3 } from '@theqrl/web3'; -import { Web3Account } from '@theqrl/web3-zond-accounts'; -import { Web3Zond } from '../../src'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; +import { Web3QRL } from '../../src'; import { closeOpenConnection, @@ -30,25 +30,25 @@ import { // const gas = 30000; describe('defaults', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let tempAcc: Web3Account; beforeEach(async () => { clientUrl = getSystemTestProvider(); const web3 = new Web3(clientUrl); tempAcc = await createLocalAccount(web3); - web3Zond = web3.zond as unknown as Web3Zond; + web3QRL = web3.qrl as unknown as Web3QRL; }); afterEach(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('defaults', () => { - it('should fail if Zond Node did not respond because of a high nonce', async () => { + it('should fail if QRL Node did not respond because of a high nonce', async () => { // Make the test run faster by causing the timeout to happen after 0.2 second - web3Zond.transactionSendTimeout = 200; - web3Zond.transactionPollingTimeout = 200; + web3QRL.transactionSendTimeout = 200; + web3QRL.transactionPollingTimeout = 200; const from = tempAcc.address; const to = createAccount().address; @@ -57,7 +57,7 @@ describe('defaults', () => { try { // Setting a high `nonce` when sending a transaction, to cause the RPC call to stuck at the Node - await web3Zond.sendTransaction({ + await web3QRL.sendTransaction({ to, value, from, @@ -73,8 +73,8 @@ describe('defaults', () => { if (error instanceof TransactionSendTimeoutError) { // eslint-disable-next-line jest/no-conditional-expect expect(error.message).toContain( - `connected Zond Node did not respond within ${ - web3Zond.transactionSendTimeout / 1000 + `connected QRL Node did not respond within ${ + web3QRL.transactionSendTimeout / 1000 } seconds`, ); } @@ -83,7 +83,7 @@ describe('defaults', () => { // eslint-disable-next-line jest/no-conditional-expect expect(error.message).toContain( `Transaction was not mined within ${ - web3Zond.transactionPollingTimeout / 1000 + web3QRL.transactionPollingTimeout / 1000 } seconds`, ); } else { diff --git a/packages/web3-zond/test/integration/zond.test.ts b/packages/web3-qrl/test/integration/qrl.test.ts similarity index 82% rename from packages/web3-zond/test/integration/zond.test.ts rename to packages/web3-qrl/test/integration/qrl.test.ts index 0bec2100..e70dca30 100644 --- a/packages/web3-zond/test/integration/zond.test.ts +++ b/packages/web3-qrl/test/integration/qrl.test.ts @@ -17,12 +17,12 @@ along with web3.js. If not, see . import WebSocketProvider from '@theqrl/web3-providers-ws'; import HttpProvider from '@theqrl/web3-providers-http'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; // eslint-disable-next-line import/no-extraneous-dependencies import { SupportedProviders } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { Web3Zond } from '../../src'; +import { Web3QRL } from '../../src'; import { closeOpenConnection, @@ -33,8 +33,8 @@ import { } from '../fixtures/system_test_utils'; import { BasicAbi, BasicBytecode } from '../shared_fixtures/build/Basic'; -describe('zond', () => { - let web3Zond: Web3Zond; +describe('qrl', () => { + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let contract: Contract; @@ -44,7 +44,7 @@ describe('zond', () => { beforeAll(() => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond(clientUrl); + web3QRL = new Web3QRL(clientUrl); contract = new Contract(BasicAbi, { provider: clientUrl, }); @@ -53,7 +53,7 @@ describe('zond', () => { tempAcc = await createTempAccount(); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); await closeOpenConnection(contract); }); @@ -67,20 +67,20 @@ describe('zond', () => { sendOptions = { from: tempAcc.address /* gas: '1000000' */ }; const deployedContract = await contract.deploy(deployOptions).send(sendOptions); - const { provider } = web3Zond; - web3Zond.setProvider(deployedContract.provider as SupportedProviders); + const { provider } = web3QRL; + web3QRL.setProvider(deployedContract.provider as SupportedProviders); - expect(web3Zond.provider).toBe(deployedContract.provider); - web3Zond.setProvider(provider as SupportedProviders); + expect(web3QRL.provider).toBe(deployedContract.provider); + web3QRL.setProvider(provider as SupportedProviders); }); it('providers', () => { - const res = web3Zond.providers; + const res = web3QRL.providers; expect(res.HttpProvider).toBeDefined(); expect(res.WebsocketProvider).toBeDefined(); }); it('currentProvider', () => { - const { currentProvider } = web3Zond; + const { currentProvider } = web3QRL; let checkWithClass; if (isWs) { checkWithClass = WebSocketProvider; @@ -92,7 +92,7 @@ describe('zond', () => { expect(currentProvider).toBeInstanceOf(checkWithClass); }); it('givenProvider', () => { - const { givenProvider } = web3Zond; + const { givenProvider } = web3QRL; expect(givenProvider).toBeUndefined(); }); }); diff --git a/packages/web3-zond/test/integration/rpc.test.ts b/packages/web3-qrl/test/integration/rpc.test.ts similarity index 87% rename from packages/web3-zond/test/integration/rpc.test.ts rename to packages/web3-qrl/test/integration/rpc.test.ts index 81d96bf6..bb0a8130 100644 --- a/packages/web3-zond/test/integration/rpc.test.ts +++ b/packages/web3-qrl/test/integration/rpc.test.ts @@ -24,7 +24,7 @@ import { FMT_NUMBER, } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract, decodeEventABI } from '@theqrl/web3-zond-contract'; +import { Contract, decodeEventABI } from '@theqrl/web3-qrl-contract'; import { hexToNumber, hexToString, @@ -32,7 +32,7 @@ import { getStorageSlotNumForLongString, } from '@theqrl/web3-utils'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Web3Zond } from '../../src'; +import { Web3QRL } from '../../src'; import { closeOpenConnection, @@ -52,7 +52,7 @@ import { } from './helper'; describe('rpc', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; let contractDeployed: Contract; let contract: Contract; @@ -61,7 +61,7 @@ describe('rpc', () => { let tempAcc: { address: string; seed: string }; beforeAll(async () => { clientUrl = getSystemTestProvider(); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: clientUrl, config: { transactionPollingTimeout: 15000, @@ -82,32 +82,32 @@ describe('rpc', () => { }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); await closeOpenConnection(contract); }); describe('methods', () => { itIf(!['gzond'].includes(getSystemTestBackend()))('getProtocolVersion', async () => { - const version = await web3Zond.getProtocolVersion(); + const version = await web3QRL.getProtocolVersion(); // eslint-disable-next-line jest/no-standalone-expect expect(parseInt(version, 16)).toBeGreaterThan(0); }); - // TODO:in beta, test zond_syncing during sync mode with return obj having ( startingblock, currentBlock, heighestBlock ) + // TODO:in beta, test qrl_syncing during sync mode with return obj having ( startingblock, currentBlock, heighestBlock ) it('isSyncing', async () => { - const isSyncing = await web3Zond.isSyncing(); + const isSyncing = await web3QRL.isSyncing(); expect(isSyncing).toBe(false); }); it('getAccounts', async () => { const account = await createTempAccount(); - const accList = await web3Zond.getAccounts(); + const accList = await web3QRL.getAccounts(); const accListLowerCase = accList.map((add: string) => add.toLowerCase()); expect(accListLowerCase).toContain(account.address.toLowerCase()); }); it.each(Object.values(FMT_NUMBER))('getBlockNumber', async format => { - const res = await web3Zond.getBlockNumber({ + const res = await web3QRL.getBlockNumber({ number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); @@ -116,7 +116,7 @@ describe('rpc', () => { }); it.each(Object.values(FMT_NUMBER))('getGasPrice', async format => { - const res = await web3Zond.getGasPrice({ + const res = await web3QRL.getGasPrice({ number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); @@ -127,13 +127,13 @@ describe('rpc', () => { it.each(Object.values(FMT_NUMBER))('getBalance', async format => { const value = '0xa'; const newAccount = await createNewAccount(); - await web3Zond.sendTransaction({ + await web3QRL.sendTransaction({ to: newAccount.address, value, from: tempAcc.address, type: BigInt(2), }); - const res = await web3Zond.getBalance(newAccount.address, undefined, { + const res = await web3QRL.getBalance(newAccount.address, undefined, { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); @@ -149,17 +149,17 @@ describe('rpc', () => { await contractDeployed.methods ?.setValues(numberData, stringData, boolData) .send(sendOptions); - const resNumber = await web3Zond.getStorageAt( + const resNumber = await web3QRL.getStorageAt( contractDeployed.options.address as string, '0x0', undefined, ); - const resString = await web3Zond.getStorageAt( + const resString = await web3QRL.getStorageAt( contractDeployed.options.address as string, '0x1', undefined, ); - const resBool = await web3Zond.getStorageAt( + const resBool = await web3QRL.getStorageAt( contractDeployed.options.address as string, '0x2', undefined, @@ -183,7 +183,7 @@ describe('rpc', () => { ?.setValues(numberData, stringDataLong, boolData) .send(sendOptions); - const resStringLong = await web3Zond.getStorageAt( + const resStringLong = await web3QRL.getStorageAt( contractDeployed.options.address as string, 1, undefined, @@ -199,7 +199,7 @@ describe('rpc', () => { for (let i = 0; i < slotCount; i += 1) { prs.push( // eslint-disable-next-line no-await-in-loop - web3Zond.getStorageAt( + web3QRL.getStorageAt( contractDeployed.options.address as string, `0x${( BigInt(String(hexToNumber(slotDataNum as string))) + BigInt(i) @@ -217,7 +217,7 @@ describe('rpc', () => { }); it.each(Object.values(FMT_NUMBER))('getCode', async format => { - const code = await web3Zond.getCode( + const code = await web3QRL.getCode( contractDeployed?.options?.address as string, undefined, { @@ -236,7 +236,7 @@ describe('rpc', () => { times: 1, }); - const res = await web3Zond.getTransaction(receipt.transactionHash); + const res = await web3QRL.getTransaction(receipt.transactionHash); // TODO: after alpha release add tests for matching following (first get nonce of account sending tx and validate nonce with tx is incremented) // TODO: after alpha release add tests for matching following (from and to addresses) // TODO: after alpha release add tests for matching following (value transferred) @@ -253,7 +253,7 @@ describe('rpc', () => { times: 1, }); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const res: TransactionReceipt = (await web3Zond.getTransactionReceipt( + const res: TransactionReceipt = (await web3QRL.getTransactionReceipt( // TODO: add more scenarios in future release with block number receipt.transactionHash as string, ))!; @@ -262,7 +262,7 @@ describe('rpc', () => { }); it('getChainId', async () => { - const res = await web3Zond.getChainId({ + const res = await web3QRL.getChainId({ number: FMT_NUMBER.NUMBER, bytes: FMT_BYTES.HEX, }); @@ -271,13 +271,13 @@ describe('rpc', () => { }); it('getNodeInfo', async () => { - const res = await web3Zond.getNodeInfo(); + const res = await web3QRL.getNodeInfo(); // TODO: in next release, it should also be validated expect(res).toBeDefined(); }); itIf(!['gzond'].includes(getSystemTestBackend()))('requestAccounts', () => { - // const res = await web3Zond.requestAccounts(); + // const res = await web3QRL.requestAccounts(); // eslint-disable-next-line jest/no-standalone-expect expect(true).toBe(true); // expect(res[0]).toEqual(tempAcc.address); @@ -292,7 +292,7 @@ describe('rpc', () => { } // test type hexstring - const res: Array = await web3Zond.getPastLogs({ + const res: Array = await web3QRL.getPastLogs({ address: contractDeployed.options.address as string, fromBlock: numberToHex(Math.min(...resTx.map(d => Number(d.blockNumber)))), toBlock: numberToHex(10000), @@ -304,7 +304,7 @@ describe('rpc', () => { ); // test type number - const res2: Array = await web3Zond.getPastLogs({ + const res2: Array = await web3QRL.getPastLogs({ address: contractDeployed.options.address as string, fromBlock: Math.min(...resTx.map(d => Number(d.blockNumber))), toBlock: 10000, @@ -315,7 +315,7 @@ describe('rpc', () => { .returnValues[0], ); // test type BigInt - const res3: Array = await web3Zond.getPastLogs({ + const res3: Array = await web3QRL.getPastLogs({ address: contractDeployed.options.address as string, fromBlock: BigInt(Math.min(...resTx.map(d => Number(d.blockNumber)))), toBlock: BigInt(10000), diff --git a/packages/web3-zond/test/integration/setup.js b/packages/web3-qrl/test/integration/setup.js similarity index 100% rename from packages/web3-zond/test/integration/setup.js rename to packages/web3-qrl/test/integration/setup.js diff --git a/packages/web3-zond/test/integration/subscribe.test.ts b/packages/web3-qrl/test/integration/subscribe.test.ts similarity index 74% rename from packages/web3-zond/test/integration/subscribe.test.ts rename to packages/web3-qrl/test/integration/subscribe.test.ts index e6d8a804..1811f5ce 100644 --- a/packages/web3-zond/test/integration/subscribe.test.ts +++ b/packages/web3-qrl/test/integration/subscribe.test.ts @@ -19,7 +19,7 @@ import { Web3BaseProvider } from '@theqrl/web3-types'; /* eslint-disable import/no-named-as-default */ // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import Web3Zond, { +import Web3QRL, { LogsSubscription, NewHeadsSubscription, NewPendingTransactionsSubscription, @@ -35,7 +35,7 @@ import { } from '../fixtures/system_test_utils'; describeIf(isSocket)('subscribe', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let provider: WebSocketProvider | IpcProvider; beforeAll(() => { @@ -45,42 +45,42 @@ describeIf(isSocket)('subscribe', () => { }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); afterEach(async () => { - await web3Zond.clearSubscriptions(); + await web3QRL.clearSubscriptions(); }); describe('subscribe to', () => { it('newHeads', async () => { - web3Zond = new Web3Zond(provider as Web3BaseProvider); - await web3Zond.subscribe('newHeads'); - const subs = web3Zond?.subscriptionManager?.subscriptions; + web3QRL = new Web3QRL(provider as Web3BaseProvider); + await web3QRL.subscribe('newHeads'); + const subs = web3QRL?.subscriptionManager?.subscriptions; const inst = subs?.get(Array.from(subs.keys())[0]); expect(inst).toBeInstanceOf(NewHeadsSubscription); }); it('syncing', async () => { - web3Zond = new Web3Zond(provider as Web3BaseProvider); - await web3Zond.subscribe('syncing'); - const subs = web3Zond?.subscriptionManager?.subscriptions; + web3QRL = new Web3QRL(provider as Web3BaseProvider); + await web3QRL.subscribe('syncing'); + const subs = web3QRL?.subscriptionManager?.subscriptions; const inst = subs?.get(Array.from(subs.keys())[0]); expect(inst).toBeInstanceOf(SyncingSubscription); }); it('newPendingTransactions', async () => { - web3Zond = new Web3Zond(provider as Web3BaseProvider); - await web3Zond.subscribe('newPendingTransactions'); - const subs = web3Zond?.subscriptionManager?.subscriptions; + web3QRL = new Web3QRL(provider as Web3BaseProvider); + await web3QRL.subscribe('newPendingTransactions'); + const subs = web3QRL?.subscriptionManager?.subscriptions; const inst = subs?.get(Array.from(subs.keys())[0]); expect(inst).toBeInstanceOf(NewPendingTransactionsSubscription); }); it('logs', async () => { const tempAcc = await createTempAccount(); - web3Zond = new Web3Zond(provider as Web3BaseProvider); - await web3Zond.subscribe('logs', { + web3QRL = new Web3QRL(provider as Web3BaseProvider); + await web3QRL.subscribe('logs', { address: tempAcc.address, }); - const subs = web3Zond?.subscriptionManager?.subscriptions; + const subs = web3QRL?.subscriptionManager?.subscriptions; const inst = subs?.get(Array.from(subs.keys())[0]); expect(inst).toBeInstanceOf(LogsSubscription); }); diff --git a/packages/web3-zond/test/integration/subscription_heads.test.ts b/packages/web3-qrl/test/integration/subscription_heads.test.ts similarity index 76% rename from packages/web3-zond/test/integration/subscription_heads.test.ts rename to packages/web3-qrl/test/integration/subscription_heads.test.ts index ae7f79eb..bf31e8f7 100644 --- a/packages/web3-zond/test/integration/subscription_heads.test.ts +++ b/packages/web3-qrl/test/integration/subscription_heads.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { BlockHeaderOutput, SupportedProviders } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3 } from '@theqrl/web3'; -import { Web3Zond, NewHeadsSubscription } from '../../src'; +import { Web3QRL, NewHeadsSubscription } from '../../src'; import { Resolve } from './helper'; import { closeOpenConnection, @@ -38,8 +38,8 @@ describeIf(isSocket)('subscription', () => { describe('heads', () => { it(`wait for ${checkTxCount} newHeads`, async () => { web3 = new Web3(clientUrl); - const sub = await web3.zond.subscribe('newHeads'); - await waitForOpenConnection(web3.zond); + const sub = await web3.qrl.subscribe('newHeads'); + await waitForOpenConnection(web3.qrl); let times = 0; const pr = new Promise((resolve: Resolve, reject) => { sub.on('data', (data: BlockHeaderOutput) => { @@ -79,30 +79,30 @@ describeIf(isSocket)('subscription', () => { sub.off('data', () => { // do nothing }); - await web3.zond.subscriptionManager?.removeSubscription(sub); - await closeOpenConnection(web3.zond); + await web3.qrl.subscriptionManager?.removeSubscription(sub); + await closeOpenConnection(web3.qrl); }); it(`remove at subscriptionManager`, async () => { - const web3Zond = new Web3Zond(clientUrl); - await waitForOpenConnection(web3Zond); - const sub: NewHeadsSubscription = await web3Zond.subscribe('newHeads'); + const web3QRL = new Web3QRL(clientUrl); + await waitForOpenConnection(web3QRL); + const sub: NewHeadsSubscription = await web3QRL.subscribe('newHeads'); expect(sub.id).toBeDefined(); const subId = sub.id as string; - await web3Zond.subscriptionManager?.removeSubscription(sub); - expect(web3Zond.subscriptionManager.subscriptions.has(subId)).toBe(false); + await web3QRL.subscriptionManager?.removeSubscription(sub); + expect(web3QRL.subscriptionManager.subscriptions.has(subId)).toBe(false); expect(sub.id).toBeUndefined(); - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it(`remove at subscribe object`, async () => { - const web3Zond = new Web3Zond(clientUrl); - await waitForOpenConnection(web3Zond); - const sub: NewHeadsSubscription = await web3Zond.subscribe('newHeads'); + const web3QRL = new Web3QRL(clientUrl); + await waitForOpenConnection(web3QRL); + const sub: NewHeadsSubscription = await web3QRL.subscribe('newHeads'); expect(sub.id).toBeDefined(); const subId = sub.id as string; await sub.unsubscribe(); - expect(web3Zond.subscriptionManager.subscriptions.has(subId)).toBe(false); + expect(web3QRL.subscriptionManager.subscriptions.has(subId)).toBe(false); expect(sub.id).toBeUndefined(); - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); }); }); diff --git a/packages/web3-zond/test/integration/subscription_logs.test.ts b/packages/web3-qrl/test/integration/subscription_logs.test.ts similarity index 91% rename from packages/web3-zond/test/integration/subscription_logs.test.ts rename to packages/web3-qrl/test/integration/subscription_logs.test.ts index 83bfd4cc..4b817fcf 100644 --- a/packages/web3-zond/test/integration/subscription_logs.test.ts +++ b/packages/web3-qrl/test/integration/subscription_logs.test.ts @@ -16,11 +16,11 @@ along with web3.js. If not, see . */ import WebSocketProvider from '@theqrl/web3-providers-ws'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract, decodeEventABI } from '@theqrl/web3-zond-contract'; +import { Contract, decodeEventABI } from '@theqrl/web3-qrl-contract'; import { AbiEventFragment, Web3BaseProvider } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { Web3Zond } from '../../src'; +import { Web3QRL } from '../../src'; import { LogsSubscription } from '../../src/web3_subscriptions'; import { closeOpenConnection, @@ -53,7 +53,7 @@ const makeFewTxToContract = async ({ }; describeIf(isSocket)('subscription', () => { let clientUrl: string; - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let provider: WebSocketProvider | IpcProvider; let contract: Contract; let contractDeployed: Contract; @@ -72,12 +72,12 @@ describeIf(isSocket)('subscription', () => { }); afterEach(async () => { provider.disconnect(); - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('logs', () => { it(`wait for ${checkEventCount} logs`, async () => { - web3Zond = new Web3Zond(provider as Web3BaseProvider); + web3QRL = new Web3QRL(provider as Web3BaseProvider); const from = tempAcc.address; deployOptions = { data: BasicBytecode, @@ -87,7 +87,7 @@ describeIf(isSocket)('subscription', () => { sendOptions = { from, gas: '1000000' }; contractDeployed = await contract.deploy(deployOptions).send(sendOptions); - const sub: LogsSubscription = await web3Zond.subscribe('logs', { + const sub: LogsSubscription = await web3QRL.subscribe('logs', { address: contractDeployed.options.address, }); @@ -116,7 +116,7 @@ describeIf(isSocket)('subscription', () => { }); await pr; - await web3Zond.clearSubscriptions(); + await web3QRL.clearSubscriptions(); }); }); }); diff --git a/packages/web3-zond/test/integration/subscription_logs_block.test.ts b/packages/web3-qrl/test/integration/subscription_logs_block.test.ts similarity index 91% rename from packages/web3-zond/test/integration/subscription_logs_block.test.ts rename to packages/web3-qrl/test/integration/subscription_logs_block.test.ts index 893eb73c..63891425 100644 --- a/packages/web3-zond/test/integration/subscription_logs_block.test.ts +++ b/packages/web3-qrl/test/integration/subscription_logs_block.test.ts @@ -16,12 +16,12 @@ along with web3.js. If not, see . */ import WebSocketProvider from '@theqrl/web3-providers-ws'; // eslint-disable-next-line import/no-extraneous-dependencies -import { Contract, decodeEventABI } from '@theqrl/web3-zond-contract'; +import { Contract, decodeEventABI } from '@theqrl/web3-qrl-contract'; import { AbiEventFragment, Web3BaseProvider } from '@theqrl/web3-types'; import { numberToHex } from '@theqrl/web3-utils'; // eslint-disable-next-line import/no-extraneous-dependencies import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import { Web3Zond } from '../../src'; +import { Web3QRL } from '../../src'; import { LogsSubscription } from '../../src/web3_subscriptions'; import { closeOpenConnection, @@ -81,14 +81,14 @@ describeIf(isSocket)('subscription', () => { const sendOptions = { from, gas: '1000000' }; const contractDeployed = await contract.deploy(deployOptions).send(sendOptions); - const web3Zond = new Web3Zond(providerWs as Web3BaseProvider); - const fromBlock = await web3Zond.getTransactionCount( + const web3QRL = new Web3QRL(providerWs as Web3BaseProvider); + const fromBlock = await web3QRL.getTransactionCount( String(contractDeployed.options.address), ); await makeFewTxToContract({ contract: contractDeployed, sendOptions, testDataString }); - const sub: LogsSubscription = await web3Zond.subscribe('logs', { + const sub: LogsSubscription = await web3QRL.subscribe('logs', { fromBlock: numberToHex(fromBlock), address: contractDeployed.options.address, }); @@ -111,7 +111,7 @@ describeIf(isSocket)('subscription', () => { }); await pr; - await web3Zond.clearSubscriptions(); + await web3QRL.clearSubscriptions(); }); }); }); diff --git a/packages/web3-zond/test/integration/subscription_logs_clear.test.ts b/packages/web3-qrl/test/integration/subscription_logs_clear.test.ts similarity index 80% rename from packages/web3-zond/test/integration/subscription_logs_clear.test.ts rename to packages/web3-qrl/test/integration/subscription_logs_clear.test.ts index 0f68017c..ad779efa 100644 --- a/packages/web3-zond/test/integration/subscription_logs_clear.test.ts +++ b/packages/web3-qrl/test/integration/subscription_logs_clear.test.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Web3Zond } from '../../src'; +import { Web3QRL } from '../../src'; import { closeOpenConnection, describeIf, @@ -24,19 +24,19 @@ import { import { LogsSubscription } from '../../src/web3_subscriptions'; describeIf(isSocket)('subscription', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; beforeAll(() => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('logs', () => { it(`clear`, async () => { - const sub: LogsSubscription = await web3Zond.subscribe('logs'); + const sub: LogsSubscription = await web3QRL.subscribe('logs'); expect(sub.id).toBeDefined(); - await web3Zond.clearSubscriptions(); + await web3QRL.clearSubscriptions(); expect(sub.id).toBeUndefined(); }); }); diff --git a/packages/web3-zond/test/integration/subscription_new_pending_tx.test.ts b/packages/web3-qrl/test/integration/subscription_new_pending_tx.test.ts similarity index 83% rename from packages/web3-zond/test/integration/subscription_new_pending_tx.test.ts rename to packages/web3-qrl/test/integration/subscription_new_pending_tx.test.ts index 8c14a940..a6f4b098 100644 --- a/packages/web3-zond/test/integration/subscription_new_pending_tx.test.ts +++ b/packages/web3-qrl/test/integration/subscription_new_pending_tx.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ // eslint-disable-next-line import/no-extraneous-dependencies import { Web3 } from '@theqrl/web3'; -import { Web3Zond, NewPendingTransactionsSubscription } from '../../src'; +import { Web3QRL, NewPendingTransactionsSubscription } from '../../src'; import { closeOpenConnection, describeIf, @@ -31,9 +31,9 @@ describeIf(isSocket)('subscription', () => { describe('new pending transaction', () => { it(`wait ${checkTxCount} transaction`, async () => { const web3 = new Web3(getSystemTestProvider()); - const web3Zond = web3.zond; - await waitForOpenConnection(web3Zond); - const sub = await web3Zond.subscribe('pendingTransactions'); + const web3QRL = web3.qrl; + await waitForOpenConnection(web3QRL); + const sub = await web3QRL.subscribe('pendingTransactions'); let times = 0; const txHashes: string[] = []; @@ -87,18 +87,18 @@ describeIf(isSocket)('subscription', () => { for (const hash of txHashes) { expect(receipts).toContain(hash); } - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it(`clear`, async () => { - const web3Zond = new Web3Zond(getSystemTestProvider()); - await waitForOpenConnection(web3Zond); - const sub: NewPendingTransactionsSubscription = await web3Zond.subscribe( + const web3QRL = new Web3QRL(getSystemTestProvider()); + await waitForOpenConnection(web3QRL); + const sub: NewPendingTransactionsSubscription = await web3QRL.subscribe( 'pendingTransactions', ); expect(sub.id).toBeDefined(); - await web3Zond.subscriptionManager?.removeSubscription(sub); + await web3QRL.subscriptionManager?.removeSubscription(sub); expect(sub.id).toBeUndefined(); - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); }); }); diff --git a/packages/web3-zond/test/integration/subscription_on_2_events.test.ts b/packages/web3-qrl/test/integration/subscription_on_2_events.test.ts similarity index 84% rename from packages/web3-zond/test/integration/subscription_on_2_events.test.ts rename to packages/web3-qrl/test/integration/subscription_on_2_events.test.ts index a6c50783..d48fbcbc 100644 --- a/packages/web3-zond/test/integration/subscription_on_2_events.test.ts +++ b/packages/web3-qrl/test/integration/subscription_on_2_events.test.ts @@ -30,9 +30,9 @@ const checkTxCount = 2; describeIf(isSocket)('subscription on multiple events', () => { test(`catch the data of pendingTransactions and newHeads`, async () => { const web3 = new Web3(getSystemTestProvider()); - const web3Zond = web3.zond; - await waitForOpenConnection(web3Zond); - const pendingTransactionsSub = await web3Zond.subscribe('pendingTransactions'); + const web3QRL = web3.qrl; + await waitForOpenConnection(web3QRL); + const pendingTransactionsSub = await web3QRL.subscribe('pendingTransactions'); let pendingTransactionsCount = 0; const pendingTransactionsData = new Promise((resolve: Resolve, reject) => { @@ -51,7 +51,7 @@ describeIf(isSocket)('subscription on multiple events', () => { })(); }); - const newHeadsSub = await web3.zond.subscribe('newHeads'); + const newHeadsSub = await web3.qrl.subscribe('newHeads'); let newHeadsCount = 0; const newHeadsData = new Promise((resolve: Resolve, reject) => { newHeadsSub.on('data', (data: BlockHeaderOutput) => { @@ -72,14 +72,14 @@ describeIf(isSocket)('subscription on multiple events', () => { await pendingTransactionsData; await newHeadsData; - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); test(`catch the data of an event even after subscribing off another one`, async () => { const web3 = new Web3(getSystemTestProvider()); - const web3Zond = web3.zond; - await waitForOpenConnection(web3Zond); - const pendingTransactionsSub = await web3Zond.subscribe('pendingTransactions'); + const web3QRL = web3.qrl; + await waitForOpenConnection(web3QRL); + const pendingTransactionsSub = await web3QRL.subscribe('pendingTransactions'); // eslint-disable-next-line @typescript-eslint/no-empty-function pendingTransactionsSub.on('data', () => {}); @@ -87,7 +87,7 @@ describeIf(isSocket)('subscription on multiple events', () => { throw error; }); - const newHeadsSub = await web3.zond.subscribe('newHeads'); + const newHeadsSub = await web3.qrl.subscribe('newHeads'); let times = 0; const newHeadsData = new Promise((resolve: Resolve, reject) => { newHeadsSub.on('data', (data: BlockHeaderOutput) => { @@ -109,6 +109,6 @@ describeIf(isSocket)('subscription on multiple events', () => { await newHeadsData; - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); }); diff --git a/packages/web3-zond/test/integration/unsubscribe.test.ts b/packages/web3-qrl/test/integration/unsubscribe.test.ts similarity index 65% rename from packages/web3-zond/test/integration/unsubscribe.test.ts rename to packages/web3-qrl/test/integration/unsubscribe.test.ts index 4de63daa..250e332e 100644 --- a/packages/web3-zond/test/integration/unsubscribe.test.ts +++ b/packages/web3-qrl/test/integration/unsubscribe.test.ts @@ -18,7 +18,7 @@ import WebSocketProvider from '@theqrl/web3-providers-ws'; import { Web3BaseProvider } from '@theqrl/web3-types'; /* eslint-disable import/no-extraneous-dependencies */ import { IpcProvider } from '@theqrl/web3-providers-ipc'; -import Web3Zond from '../../src/index'; +import Web3QRL from '../../src/index'; import { NewHeadsSubscription, SyncingSubscription } from '../../src/web3_subscriptions'; import { getSystemTestProviderUrl, @@ -30,7 +30,7 @@ import { } from '../fixtures/system_test_utils'; describeIf(isSocket)('unsubscribe', () => { - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let provider: WebSocketProvider | IpcProvider; beforeAll(() => { provider = isWs @@ -38,40 +38,40 @@ describeIf(isSocket)('unsubscribe', () => { : new IpcProvider(getSystemTestProviderUrl()); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('unsubscribe from', () => { it('should clearSubscriptions', async () => { - web3Zond = new Web3Zond(provider as Web3BaseProvider); - await web3Zond.subscribe('newHeads'); - const subs = web3Zond?.subscriptionManager?.subscriptions; + web3QRL = new Web3QRL(provider as Web3BaseProvider); + await web3QRL.subscribe('newHeads'); + const subs = web3QRL?.subscriptionManager?.subscriptions; const inst = subs?.get(Array.from(subs.keys())[0]); expect(inst).toBeInstanceOf(NewHeadsSubscription); - await waitForOpenConnection(web3Zond); - await web3Zond.clearSubscriptions(); - expect(web3Zond?.subscriptionManager?.subscriptions?.size).toBe(0); + await waitForOpenConnection(web3QRL); + await web3QRL.clearSubscriptions(); + expect(web3QRL?.subscriptionManager?.subscriptions?.size).toBe(0); }); it('subscribe to all and clear all except syncing', async () => { - web3Zond = new Web3Zond(provider as Web3BaseProvider); - await web3Zond.subscribe('newHeads'); - await web3Zond.subscribe('newPendingTransactions'); - await web3Zond.subscribe('syncing'); - await web3Zond.subscribe('logs', { - address: 'Z8320fe7702b96808f7bbc0d4a888ed1468216cfd', + web3QRL = new Web3QRL(provider as Web3BaseProvider); + await web3QRL.subscribe('newHeads'); + await web3QRL.subscribe('newPendingTransactions'); + await web3QRL.subscribe('syncing'); + await web3QRL.subscribe('logs', { + address: 'Q8320fe7702b96808f7bbc0d4a888ed1468216cfd', topics: ['0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902'], }); - expect(web3Zond?.subscriptionManager?.subscriptions.size).toBe(4); + expect(web3QRL?.subscriptionManager?.subscriptions.size).toBe(4); - await waitForOpenConnection(web3Zond); + await waitForOpenConnection(web3QRL); - await web3Zond.clearSubscriptions(true); + await web3QRL.clearSubscriptions(true); - const subs = web3Zond?.subscriptionManager?.subscriptions; + const subs = web3QRL?.subscriptionManager?.subscriptions; const inst = subs?.get(Array.from(subs.keys())[0]); expect(inst).toBeInstanceOf(SyncingSubscription); - expect(web3Zond?.subscriptionManager?.subscriptions.size).toBe(1); + expect(web3QRL?.subscriptionManager?.subscriptions.size).toBe(1); }); }); }); diff --git a/packages/web3-zond/test/integration/watch_transaction.test.ts b/packages/web3-qrl/test/integration/watch_transaction.test.ts similarity index 91% rename from packages/web3-zond/test/integration/watch_transaction.test.ts rename to packages/web3-qrl/test/integration/watch_transaction.test.ts index 28bea1ca..ce7000b6 100644 --- a/packages/web3-zond/test/integration/watch_transaction.test.ts +++ b/packages/web3-qrl/test/integration/watch_transaction.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { SupportedProviders, TransactionReceipt, DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { Web3PromiEvent } from '@theqrl/web3-core'; -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3 } from '@theqrl/web3'; import { SendTransactionEvents } from '../../src'; @@ -46,16 +46,16 @@ describeIf(isSocket)('watch subscription transaction', () => { web3 = new Web3(clientUrl); account1 = await createLocalAccount(web3); account2 = createAccount(); - await waitForOpenConnection(web3.zond); + await waitForOpenConnection(web3.qrl); }); describe('wait for confirmation subscription', () => { it('subscription to heads', async () => { - web3.zond.setConfig({ transactionConfirmationBlocks: waitConfirmations }); + web3.qrl.setConfig({ transactionConfirmationBlocks: waitConfirmations }); const sentTx: Web3PromiEvent< TransactionReceipt, SendTransactionEvents - > = web3.zond.sendTransaction({ + > = web3.qrl.sendTransaction({ from: account1.address, to: account2.address, value: '0x1', @@ -86,7 +86,7 @@ describeIf(isSocket)('watch subscription transaction', () => { await receiptPromise; await sendFewSampleTxs(isIpc ? 2 * waitConfirmations : waitConfirmations); await confirmationPromise; - await closeOpenConnection(web3.zond); + await closeOpenConnection(web3.qrl); }); }); }); diff --git a/packages/web3-zond/test/integration/watch_transaction_polling.test.ts b/packages/web3-qrl/test/integration/watch_transaction_polling.test.ts similarity index 90% rename from packages/web3-zond/test/integration/watch_transaction_polling.test.ts rename to packages/web3-qrl/test/integration/watch_transaction_polling.test.ts index 2b7189c7..24abbd05 100644 --- a/packages/web3-zond/test/integration/watch_transaction_polling.test.ts +++ b/packages/web3-qrl/test/integration/watch_transaction_polling.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { Web3PromiEvent } from '@theqrl/web3-core'; import { SupportedProviders, TransactionReceipt } from '@theqrl/web3-types'; -import { Web3Zond, SendTransactionEvents } from '../../src'; +import { Web3QRL, SendTransactionEvents } from '../../src'; import { closeOpenConnection, @@ -46,8 +46,8 @@ describeIf(isHttp)('watch polling transaction', () => { describe('wait for confirmation polling', () => { it('polling', async () => { - const web3Zond = new Web3Zond(clientUrl); - web3Zond.setConfig({ transactionConfirmationBlocks: waitConfirmations }); + const web3QRL = new Web3QRL(clientUrl); + web3QRL.setConfig({ transactionConfirmationBlocks: waitConfirmations }); const from = tempAcc.address; const to = tempAcc2.address; @@ -57,7 +57,7 @@ describeIf(isHttp)('watch polling transaction', () => { const sentTx: Web3PromiEvent< TransactionReceipt, SendTransactionEvents - > = web3Zond.sendTransaction({ + > = web3QRL.sendTransaction({ to, value, from, @@ -73,7 +73,7 @@ describeIf(isHttp)('watch polling transaction', () => { resolve(); } else { // Send a transaction to cause dev providers creating new blocks to fire the 'confirmation' event again. - await web3Zond.sendTransaction({ + await web3QRL.sendTransaction({ to, value, from, @@ -95,7 +95,7 @@ describeIf(isHttp)('watch polling transaction', () => { await sentTx; await confirmationPromise; sentTx.removeAllListeners(); - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); }); }); diff --git a/packages/web3-zond/test/integration/web3_zond/call.test.ts b/packages/web3-qrl/test/integration/web3_qrl/call.test.ts similarity index 92% rename from packages/web3-zond/test/integration/web3_zond/call.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/call.test.ts index a44fad5f..892af377 100644 --- a/packages/web3-zond/test/integration/web3_zond/call.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/call.test.ts @@ -15,15 +15,15 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { TransactionCall, BlockTags, Transaction } from '@theqrl/web3-types'; -import { decodeParameters } from '@theqrl/web3-zond-abi'; -import { Web3Zond } from '../../../src'; +import { decodeParameters } from '@theqrl/web3-qrl-abi'; +import { Web3QRL } from '../../../src'; import { closeOpenConnection, createTempAccount, getSystemTestProvider, } from '../../fixtures/system_test_utils'; -describe('Web3Zond.call', () => { +describe('Web3QRL.call', () => { const expectedEncodedGreet = '0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000'; const expectedDecodedGreet = 'solyent green is people'; @@ -41,12 +41,12 @@ describe('Web3Zond.call', () => { type: 'function', }; - let web3Zond: Web3Zond; + let web3QRL: Web3QRL; let greeterContractAddress: string; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); const greeterContractDeploymentData = '0x60806040523480156200001157600080fd5b5060405162000a6a38038062000a6a8339818101604052810190620000379190620002a4565b80600090805190602001906200004f92919062000057565b505062000359565b828054620000659062000324565b90600052602060002090601f016020900481019282620000895760008555620000d5565b82601f10620000a457805160ff1916838001178555620000d5565b82800160010185558215620000d5579182015b82811115620000d4578251825591602001919060010190620000b7565b5b509050620000e49190620000e8565b5090565b5b8082111562000103576000816000905550600101620000e9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001708262000125565b810181811067ffffffffffffffff8211171562000192576200019162000136565b5b80604052505050565b6000620001a762000107565b9050620001b5828262000165565b919050565b600067ffffffffffffffff821115620001d857620001d762000136565b5b620001e38262000125565b9050602081019050919050565b60005b8381101562000210578082015181840152602081019050620001f3565b8381111562000220576000848401525b50505050565b60006200023d6200023784620001ba565b6200019b565b9050828152602081018484840111156200025c576200025b62000120565b5b62000269848285620001f0565b509392505050565b600082601f8301126200028957620002886200011b565b5b81516200029b84826020860162000226565b91505092915050565b600060208284031215620002bd57620002bc62000111565b5b600082015167ffffffffffffffff811115620002de57620002dd62000116565b5b620002ec8482850162000271565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61070180620003696000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae32171461006c575b600080fd5b6100556004803603810190610050919061043f565b61008a565b60405161006392919061052b565b60405180910390f35b6100746101b0565b604051610081919061055b565b60405180910390f35b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756000846040516100c0929190610672565b60405180910390a182600090805190602001906100de929190610242565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600060405161010f91906106a9565b60405180910390a160016000808054610127906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610153906105ac565b80156101a05780601f10610175576101008083540402835291602001916101a0565b820191906000526020600020905b81548152906001019060200180831161018357829003601f168201915b5050505050905091509150915091565b6060600080546101bf906105ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb906105ac565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b82805461024e906105ac565b90600052602060002090601f01602090048101928261027057600085556102b7565b82601f1061028957805160ff19168380011785556102b7565b828001600101855582156102b7579182015b828111156102b657825182559160200191906001019061029b565b5b5090506102c491906102c8565b5090565b5b808211156102e15760008160009055506001016102c9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61034c82610303565b810181811067ffffffffffffffff8211171561036b5761036a610314565b5b80604052505050565b600061037e6102e5565b905061038a8282610343565b919050565b600067ffffffffffffffff8211156103aa576103a9610314565b5b6103b382610303565b9050602081019050919050565b82818337600083830152505050565b60006103e26103dd8461038f565b610374565b9050828152602081018484840111156103fe576103fd6102fe565b5b6104098482856103c0565b509392505050565b600082601f830112610426576104256102f9565b5b81356104368482602086016103cf565b91505092915050565b600060208284031215610455576104546102ef565b5b600082013567ffffffffffffffff811115610473576104726102f4565b5b61047f84828501610411565b91505092915050565b60008115159050919050565b61049d81610488565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104dd5780820151818401526020810190506104c2565b838111156104ec576000848401525b50505050565b60006104fd826104a3565b61050781856104ae565b93506105178185602086016104bf565b61052081610303565b840191505092915050565b60006040820190506105406000830185610494565b818103602083015261055281846104f2565b90509392505050565b6000602082019050818103600083015261057581846104f2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c457607f821691505b6020821081036105d7576105d661057d565b5b50919050565b60008190508160005260206000209050919050565b600081546105ff816105ac565b61060981866104ae565b94506001821660008114610624576001811461063657610669565b60ff1983168652602086019350610669565b61063f856105dd565b60005b8381101561066157815481890152600182019150602081019050610642565b808801955050505b50505092915050565b6000604082019050818103600083015261068c81856105f2565b905081810360208301526106a081846104f2565b90509392505050565b600060208201905081810360008301526106c381846105f2565b90509291505056fea2646970667358221220fe0f28c9f8ef0a13a95934b974e7bc2ca6762b40a5b93ccd6ca2038f454bf52764736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000'; tempAcc = await createTempAccount(); @@ -55,11 +55,11 @@ describe('Web3Zond.call', () => { data: greeterContractDeploymentData, type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); greeterContractAddress = response.contractAddress as string; }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it('should make a call to deployed Greeter contract', async () => { @@ -69,7 +69,7 @@ describe('Web3Zond.call', () => { data: greetCallData, type: BigInt(2), }; - const response = await web3Zond.call(transaction); + const response = await web3QRL.call(transaction); expect(response).toBe(expectedEncodedGreet); const decodedResult = decodeParameters([...greeterAbiFragment.outputs], response)[0]; expect(decodedResult).toBe(expectedDecodedGreet); @@ -83,7 +83,7 @@ describe('Web3Zond.call', () => { data: greetCallData, type: BigInt(2), }; - const response = await web3Zond.call(transaction, BlockTags.EARLIEST); + const response = await web3QRL.call(transaction, BlockTags.EARLIEST); expect(response).toBe('0x'); }); @@ -94,7 +94,7 @@ describe('Web3Zond.call', () => { data: greetCallData, type: BigInt(2), }; - const response = await web3Zond.call(transaction, BlockTags.LATEST); + const response = await web3QRL.call(transaction, BlockTags.LATEST); expect(response).toBe(expectedEncodedGreet); const decodedResult = decodeParameters([...greeterAbiFragment.outputs], response)[0]; expect(decodedResult).toBe(expectedDecodedGreet); @@ -109,7 +109,7 @@ describe('Web3Zond.call', () => { data: greetCallData, type: BigInt(2), }; - const response = await web3Zond.call(transaction, BlockTags.PENDING); + const response = await web3QRL.call(transaction, BlockTags.PENDING); expect(response).toBe(expectedEncodedGreet); const decodedResult = decodeParameters([...greeterAbiFragment.outputs], response)[0]; expect(decodedResult).toBe(expectedDecodedGreet); @@ -122,12 +122,12 @@ describe('Web3Zond.call', () => { data: greetCallData, type: BigInt(2), }; - const response = await web3Zond.call(transaction, '0x0'); + const response = await web3QRL.call(transaction, '0x0'); expect(response).toBe('0x'); }); it('should return no data (0x) for call to deployed Greeter contract with web3Context.defaultBlock = EARLIEST', async () => { - web3Zond.defaultBlock = BlockTags.EARLIEST; + web3QRL.defaultBlock = BlockTags.EARLIEST; const transaction: TransactionCall = { from: tempAcc.address, @@ -135,7 +135,7 @@ describe('Web3Zond.call', () => { data: greetCallData, type: BigInt(2), }; - const response = await web3Zond.call(transaction); + const response = await web3QRL.call(transaction); expect(response).toBe('0x'); }); }); diff --git a/packages/web3-zond/test/integration/web3_zond/createAccessList.test.ts b/packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts similarity index 95% rename from packages/web3-zond/test/integration/web3_zond/createAccessList.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts index ad15b80f..eeea6c8a 100644 --- a/packages/web3-zond/test/integration/web3_zond/createAccessList.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { AccessListResult, Transaction, TransactionForAccessList } from '@theqrl/web3-types'; -import { Web3Zond } from '../../../src'; +import { Web3QRL } from '../../../src'; import { closeOpenConnection, createTempAccount, @@ -25,13 +25,13 @@ import { getSystemTestProvider, } from '../../fixtures/system_test_utils'; -describeIf(getSystemTestBackend() === 'gzond')('Web3Zond.createAccessList', () => { - let web3Zond: Web3Zond; +describeIf(getSystemTestBackend() === 'gzond')('Web3QRL.createAccessList', () => { + let web3QRL: Web3QRL; let greeterContractAddress: string; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); const greeterContractDeploymentData = '0x60806040523480156200001157600080fd5b5060405162000a6a38038062000a6a8339818101604052810190620000379190620002a4565b80600090805190602001906200004f92919062000057565b505062000359565b828054620000659062000324565b90600052602060002090601f016020900481019282620000895760008555620000d5565b82601f10620000a457805160ff1916838001178555620000d5565b82800160010185558215620000d5579182015b82811115620000d4578251825591602001919060010190620000b7565b5b509050620000e49190620000e8565b5090565b5b8082111562000103576000816000905550600101620000e9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001708262000125565b810181811067ffffffffffffffff8211171562000192576200019162000136565b5b80604052505050565b6000620001a762000107565b9050620001b5828262000165565b919050565b600067ffffffffffffffff821115620001d857620001d762000136565b5b620001e38262000125565b9050602081019050919050565b60005b8381101562000210578082015181840152602081019050620001f3565b8381111562000220576000848401525b50505050565b60006200023d6200023784620001ba565b6200019b565b9050828152602081018484840111156200025c576200025b62000120565b5b62000269848285620001f0565b509392505050565b600082601f8301126200028957620002886200011b565b5b81516200029b84826020860162000226565b91505092915050565b600060208284031215620002bd57620002bc62000111565b5b600082015167ffffffffffffffff811115620002de57620002dd62000116565b5b620002ec8482850162000271565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61070180620003696000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae32171461006c575b600080fd5b6100556004803603810190610050919061043f565b61008a565b60405161006392919061052b565b60405180910390f35b6100746101b0565b604051610081919061055b565b60405180910390f35b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756000846040516100c0929190610672565b60405180910390a182600090805190602001906100de929190610242565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600060405161010f91906106a9565b60405180910390a160016000808054610127906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610153906105ac565b80156101a05780601f10610175576101008083540402835291602001916101a0565b820191906000526020600020905b81548152906001019060200180831161018357829003601f168201915b5050505050905091509150915091565b6060600080546101bf906105ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb906105ac565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b82805461024e906105ac565b90600052602060002090601f01602090048101928261027057600085556102b7565b82601f1061028957805160ff19168380011785556102b7565b828001600101855582156102b7579182015b828111156102b657825182559160200191906001019061029b565b5b5090506102c491906102c8565b5090565b5b808211156102e15760008160009055506001016102c9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61034c82610303565b810181811067ffffffffffffffff8211171561036b5761036a610314565b5b80604052505050565b600061037e6102e5565b905061038a8282610343565b919050565b600067ffffffffffffffff8211156103aa576103a9610314565b5b6103b382610303565b9050602081019050919050565b82818337600083830152505050565b60006103e26103dd8461038f565b610374565b9050828152602081018484840111156103fe576103fd6102fe565b5b6104098482856103c0565b509392505050565b600082601f830112610426576104256102f9565b5b81356104368482602086016103cf565b91505092915050565b600060208284031215610455576104546102ef565b5b600082013567ffffffffffffffff811115610473576104726102f4565b5b61047f84828501610411565b91505092915050565b60008115159050919050565b61049d81610488565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104dd5780820151818401526020810190506104c2565b838111156104ec576000848401525b50505050565b60006104fd826104a3565b61050781856104ae565b93506105178185602086016104bf565b61052081610303565b840191505092915050565b60006040820190506105406000830185610494565b818103602083015261055281846104f2565b90509392505050565b6000602082019050818103600083015261057581846104f2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c457607f821691505b6020821081036105d7576105d661057d565b5b50919050565b60008190508160005260206000209050919050565b600081546105ff816105ac565b61060981866104ae565b94506001821660008114610624576001811461063657610669565b60ff1983168652602086019350610669565b61063f856105dd565b60005b8381101561066157815481890152600182019150602081019050610642565b808801955050505b50505092915050565b6000604082019050818103600083015261068c81856105f2565b905081810360208301526106a081846104f2565b90509392505050565b600060208201905081810360008301526106c381846105f2565b90509291505056fea2646970667358221220fe0f28c9f8ef0a13a95934b974e7bc2ca6762b40a5b93ccd6ca2038f454bf52764736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000'; tempAcc = await createTempAccount(); @@ -40,12 +40,12 @@ describeIf(getSystemTestBackend() === 'gzond')('Web3Zond.createAccessList', () = data: greeterContractDeploymentData, type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); greeterContractAddress = response.contractAddress as string; }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); test('should return access list for provided transaction', async () => { @@ -55,7 +55,7 @@ describeIf(getSystemTestBackend() === 'gzond')('Web3Zond.createAccessList', () = data: '0xcfae3217', // greet function call data encoded }; - const response = await web3Zond.createAccessList(transaction); + const response = await web3QRL.createAccessList(transaction); const expectedResponse: AccessListResult = { accessList: [ diff --git a/packages/web3-zond/test/integration/web3_zond/estimate_gas.test.ts b/packages/web3-qrl/test/integration/web3_qrl/estimate_gas.test.ts similarity index 94% rename from packages/web3-zond/test/integration/web3_zond/estimate_gas.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/estimate_gas.test.ts index ae7e5785..41324216 100644 --- a/packages/web3-zond/test/integration/web3_zond/estimate_gas.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/estimate_gas.test.ts @@ -16,34 +16,34 @@ along with web3.js. If not, see . */ import { Transaction } from '@theqrl/web3-types'; -import { Web3Zond } from '../../../src'; +import { Web3QRL } from '../../../src'; import { closeOpenConnection, createTempAccount, getSystemTestProvider, } from '../../fixtures/system_test_utils'; -describe('Web3Zond.estimateGas', () => { - let web3Zond: Web3Zond; +describe('Web3QRL.estimateGas', () => { + let web3QRL: Web3QRL; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); tempAcc = await createTempAccount(); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it('should estimate a simple value transfer', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', type: BigInt(2), }; - const response = await web3Zond.estimateGas(transaction); + const response = await web3QRL.estimateGas(transaction); expect(response).toBe(BigInt(21000)); }); @@ -56,7 +56,7 @@ describe('Web3Zond.estimateGas', () => { gas: '0x742b8', type: BigInt(2), }; - const response = await web3Zond.estimateGas(transaction); + const response = await web3QRL.estimateGas(transaction); expect(response).toBe(BigInt(475494)); }); diff --git a/packages/web3-zond/test/integration/web3_zond/getFeeHistory.test.ts b/packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts similarity index 84% rename from packages/web3-zond/test/integration/web3_zond/getFeeHistory.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts index 3c3e0179..dd27af32 100644 --- a/packages/web3-zond/test/integration/web3_zond/getFeeHistory.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { BlockNumberOrTag, Numbers, SupportedProviders } from '@theqrl/web3-types'; -import Web3Zond from '../../../src'; +import Web3QRL from '../../../src'; import { getSystemTestProvider, describeIf, @@ -25,17 +25,17 @@ import { } from '../../fixtures/system_test_utils'; import { feeHistorySchema } from '../../../src/schemas'; -describeIf(getSystemTestBackend().includes('gzond'))('Web3Zond.getFeeHistory', () => { - let web3Zond: Web3Zond; +describeIf(getSystemTestBackend().includes('gzond'))('Web3QRL.getFeeHistory', () => { + let web3QRL: Web3QRL; let systemProvider: string | SupportedProviders; beforeAll(() => { systemProvider = getSystemTestProvider(); - web3Zond = new Web3Zond(systemProvider); + web3QRL = new Web3QRL(systemProvider); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); test('should return fee history with right data', async () => { @@ -43,7 +43,7 @@ describeIf(getSystemTestBackend().includes('gzond'))('Web3Zond.getFeeHistory', ( const newestBlock: BlockNumberOrTag = 'latest'; const rewardPercentiles: number[] = []; - const functionResponse = await web3Zond.getFeeHistory( + const functionResponse = await web3QRL.getFeeHistory( blockCount, newestBlock, rewardPercentiles, diff --git a/packages/web3-zond/test/integration/web3_zond/send_signed_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts similarity index 87% rename from packages/web3-zond/test/integration/web3_zond/send_signed_transaction.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts index d22b04d9..f3336022 100644 --- a/packages/web3-zond/test/integration/web3_zond/send_signed_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts @@ -30,7 +30,7 @@ import { } from '@theqrl/web3-types'; import { format, hexToNumber } from '@theqrl/web3-utils'; import { isHexStrict } from '@theqrl/web3-validator'; -import { Web3Zond, InternalTransaction, transactionSchema } from '../../../src'; +import { Web3QRL, InternalTransaction, transactionSchema } from '../../../src'; import { closeOpenConnection, createTempAccount, @@ -42,23 +42,23 @@ import { SimpleRevertAbi, SimpleRevertDeploymentData } from '../../fixtures/simp const HEX_NUMBER_DATA_FORMAT = { bytes: FMT_BYTES.HEX, number: FMT_NUMBER.HEX } as const; -describe('Web3Zond.sendSignedTransaction', () => { - let web3Zond: Web3Zond; +describe('Web3QRL.sendSignedTransaction', () => { + let web3QRL: Web3QRL; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); tempAcc = await createTempAccount(); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); describe('Transaction Types', () => { it('should send a signed simple value transfer - type 0x2', async () => { const temp = await createTempAccount(); - const accountNonce = await web3Zond.getTransactionCount( + const accountNonce = await web3QRL.getTransactionCount( temp.address, undefined, HEX_NUMBER_DATA_FORMAT, @@ -66,24 +66,24 @@ describe('Web3Zond.sendSignedTransaction', () => { const transaction: InternalTransaction = { nonce: accountNonce, from: temp.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', type: '0x2', gas: '0x5208', }; const gasPricing = await getTransactionGasPricing( transaction, - web3Zond, + web3QRL, DEFAULT_RETURN_FORMAT, ); - const signedTransaction = await web3Zond.signTransaction({ + const signedTransaction = await web3QRL.signTransaction({ ...transaction, ...gasPricing, }); - const response = await web3Zond.sendSignedTransaction(signedTransaction.raw); + const response = await web3QRL.sendSignedTransaction(signedTransaction.raw); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject( format(transactionSchema, transaction, DEFAULT_RETURN_FORMAT), ); @@ -93,7 +93,7 @@ describe('Web3Zond.sendSignedTransaction', () => { it('should send a signed contract deployment', async () => { const greeterContractDeploymentData = '0x60806040523480156200001157600080fd5b5060405162000a6a38038062000a6a8339818101604052810190620000379190620002a4565b80600090805190602001906200004f92919062000057565b505062000359565b828054620000659062000324565b90600052602060002090601f016020900481019282620000895760008555620000d5565b82601f10620000a457805160ff1916838001178555620000d5565b82800160010185558215620000d5579182015b82811115620000d4578251825591602001919060010190620000b7565b5b509050620000e49190620000e8565b5090565b5b8082111562000103576000816000905550600101620000e9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001708262000125565b810181811067ffffffffffffffff8211171562000192576200019162000136565b5b80604052505050565b6000620001a762000107565b9050620001b5828262000165565b919050565b600067ffffffffffffffff821115620001d857620001d762000136565b5b620001e38262000125565b9050602081019050919050565b60005b8381101562000210578082015181840152602081019050620001f3565b8381111562000220576000848401525b50505050565b60006200023d6200023784620001ba565b6200019b565b9050828152602081018484840111156200025c576200025b62000120565b5b62000269848285620001f0565b509392505050565b600082601f8301126200028957620002886200011b565b5b81516200029b84826020860162000226565b91505092915050565b600060208284031215620002bd57620002bc62000111565b5b600082015167ffffffffffffffff811115620002de57620002dd62000116565b5b620002ec8482850162000271565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61070180620003696000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae32171461006c575b600080fd5b6100556004803603810190610050919061043f565b61008a565b60405161006392919061052b565b60405180910390f35b6100746101b0565b604051610081919061055b565b60405180910390f35b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756000846040516100c0929190610672565b60405180910390a182600090805190602001906100de929190610242565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600060405161010f91906106a9565b60405180910390a160016000808054610127906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610153906105ac565b80156101a05780601f10610175576101008083540402835291602001916101a0565b820191906000526020600020905b81548152906001019060200180831161018357829003601f168201915b5050505050905091509150915091565b6060600080546101bf906105ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb906105ac565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b82805461024e906105ac565b90600052602060002090601f01602090048101928261027057600085556102b7565b82601f1061028957805160ff19168380011785556102b7565b828001600101855582156102b7579182015b828111156102b657825182559160200191906001019061029b565b5b5090506102c491906102c8565b5090565b5b808211156102e15760008160009055506001016102c9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61034c82610303565b810181811067ffffffffffffffff8211171561036b5761036a610314565b5b80604052505050565b600061037e6102e5565b905061038a8282610343565b919050565b600067ffffffffffffffff8211156103aa576103a9610314565b5b6103b382610303565b9050602081019050919050565b82818337600083830152505050565b60006103e26103dd8461038f565b610374565b9050828152602081018484840111156103fe576103fd6102fe565b5b6104098482856103c0565b509392505050565b600082601f830112610426576104256102f9565b5b81356104368482602086016103cf565b91505092915050565b600060208284031215610455576104546102ef565b5b600082013567ffffffffffffffff811115610473576104726102f4565b5b61047f84828501610411565b91505092915050565b60008115159050919050565b61049d81610488565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104dd5780820151818401526020810190506104c2565b838111156104ec576000848401525b50505050565b60006104fd826104a3565b61050781856104ae565b93506105178185602086016104bf565b61052081610303565b840191505092915050565b60006040820190506105406000830185610494565b818103602083015261055281846104f2565b90509392505050565b6000602082019050818103600083015261057581846104f2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c457607f821691505b6020821081036105d7576105d661057d565b5b50919050565b60008190508160005260206000209050919050565b600081546105ff816105ac565b61060981866104ae565b94506001821660008114610624576001811461063657610669565b60ff1983168652602086019350610669565b61063f856105dd565b60005b8381101561066157815481890152600182019150602081019050610642565b808801955050505b50505092915050565b6000604082019050818103600083015261068c81856105f2565b905081810360208301526106a081846104f2565b90509392505050565b600060208201905081810360008301526106c381846105f2565b90509291505056fea2646970667358221220fe0f28c9f8ef0a13a95934b974e7bc2ca6762b40a5b93ccd6ca2038f454bf52764736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000'; - const accountNonce = await web3Zond.getTransactionCount( + const accountNonce = await web3QRL.getTransactionCount( tempAcc.address, undefined, HEX_NUMBER_DATA_FORMAT, @@ -107,15 +107,15 @@ describe('Web3Zond.sendSignedTransaction', () => { }; const gasPricing = await getTransactionGasPricing( transaction, - web3Zond, + web3QRL, DEFAULT_RETURN_FORMAT, ); - const signedTransaction = await web3Zond.signTransaction({ ...transaction, ...gasPricing }); - const response = await web3Zond.sendSignedTransaction(signedTransaction.raw as Bytes); + const signedTransaction = await web3QRL.signTransaction({ ...transaction, ...gasPricing }); + const response = await web3QRL.sendSignedTransaction(signedTransaction.raw as Bytes); // eslint-disable-next-line jest/no-standalone-expect expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); // eslint-disable-next-line jest/no-standalone-expect expect(minedTransactionData).toMatchObject({ nonce: BigInt(hexToNumber(accountNonce)), @@ -132,39 +132,39 @@ describe('Web3Zond.sendSignedTransaction', () => { beforeEach(async () => { tempAcc = await createTempAccount(); - const accountNonce = await web3Zond.getTransactionCount(tempAcc.address); + const accountNonce = await web3QRL.getTransactionCount(tempAcc.address); transaction = { nonce: accountNonce, from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', type: '0x2', gas: '0x5208', }; const gasPricing = await getTransactionGasPricing( transaction as InternalTransaction, - web3Zond, + web3QRL, DEFAULT_RETURN_FORMAT, ); - signedTransaction = await web3Zond.signTransaction({ ...transaction, ...gasPricing }); + signedTransaction = await web3QRL.signTransaction({ ...transaction, ...gasPricing }); }); it('should listen to the sending event', async () => { - await web3Zond.sendSignedTransaction(signedTransaction.raw).on('sending', data => { + await web3QRL.sendSignedTransaction(signedTransaction.raw).on('sending', data => { expect(data).toBe(signedTransaction.raw); }); expect.assertions(1); }); it('should listen to the sent event', async () => { - await web3Zond.sendSignedTransaction(signedTransaction.raw).on('sent', data => { + await web3QRL.sendSignedTransaction(signedTransaction.raw).on('sent', data => { expect(data).toBe(signedTransaction.raw); }); expect.assertions(1); }); it('should listen to the transactionHash event', async () => { - await web3Zond + await web3QRL .sendSignedTransaction(signedTransaction.raw) .on('transactionHash', data => { expect(isHexStrict(data)).toBe(true); @@ -183,7 +183,7 @@ describe('Web3Zond.sendSignedTransaction', () => { transactionHash: expect.any(String), }; - await web3Zond.sendSignedTransaction(signedTransaction.raw).on('receipt', data => { + await web3QRL.sendSignedTransaction(signedTransaction.raw).on('receipt', data => { expect(data).toEqual(expect.objectContaining(expectedTransactionReceipt)); // To avoid issue with the `objectContaining` and `cypress` had to add @@ -221,7 +221,7 @@ describe('Web3Zond.sendSignedTransaction', () => { latestBlockHash: expect.any(String), }; - await web3Zond.sendSignedTransaction(signedTransaction.raw).on('confirmation', data => { + await web3QRL.sendSignedTransaction(signedTransaction.raw).on('confirmation', data => { expect(data).toEqual(expect.objectContaining(expectedTransactionConfirmation)); }); @@ -229,9 +229,9 @@ describe('Web3Zond.sendSignedTransaction', () => { // this is manually triggering the next block to be created since both // Gzond and Ganache wait for transaction before mining a block. // This should be revisited to implement a better solution - await web3Zond.sendTransaction({ + await web3QRL.sendTransaction({ from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', type: '0x2', gas: '0x5208', @@ -250,25 +250,25 @@ describe('Web3Zond.sendSignedTransaction', () => { data: SimpleRevertDeploymentData, type: BigInt(2), }; - simpleRevertDeployTransaction.gas = await web3Zond.estimateGas( + simpleRevertDeployTransaction.gas = await web3QRL.estimateGas( simpleRevertDeployTransaction, ); simpleRevertContractAddress = ( - await web3Zond.sendTransaction(simpleRevertDeployTransaction) + await web3QRL.sendTransaction(simpleRevertDeployTransaction) ).contractAddress as Address; }); it('Should throw TransactionRevertInstructionError because gas too low', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), gas: 1, maxFeePerGas: 1, maxPriorityFeePerGas: 1, type: BigInt(2), - nonce: await web3Zond.getTransactionCount(tempAcc.address), + nonce: await web3QRL.getTransactionCount(tempAcc.address), }; - const signedTransaction = await web3Zond.signTransaction(transaction, { + const signedTransaction = await web3QRL.signTransaction(transaction, { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.UINT8ARRAY, }); @@ -279,7 +279,7 @@ describe('Web3Zond.sendSignedTransaction', () => { reason: getSystemTestBackend() === 'gzond' ? expect.stringContaining( - 'err: max fee per gas less than block base fee: address Z', + 'err: max fee per gas less than block base fee: address Q', ) : 'VM Exception while processing transaction: out of gas', signature: undefined, @@ -289,7 +289,7 @@ describe('Web3Zond.sendSignedTransaction', () => { }; await expect( - web3Zond + web3QRL .sendSignedTransaction(signedTransaction.raw) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -297,26 +297,26 @@ describe('Web3Zond.sendSignedTransaction', () => { it('Should throw InvalidResponseError because insufficient funds', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt('999999999999999999999999999999999999999999999999999999999'), - nonce: await web3Zond.getTransactionCount(tempAcc.address), + nonce: await web3QRL.getTransactionCount(tempAcc.address), gas: 27000, maxFeePerGas: BigInt(108571383800), maxPriorityFeePerGas: BigInt(25415778028), }; - const signedTransaction = await web3Zond.signTransaction(transaction, { + const signedTransaction = await web3QRL.signTransaction(transaction, { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.UINT8ARRAY, }); const expectedThrownError = { name: 'TransactionRevertInstructionError', - message: 'Transaction has been reverted by the ZVM', + message: 'Transaction has been reverted by the QRVM', innerError: undefined, reason: getSystemTestBackend() === 'gzond' ? expect.stringContaining( - 'err: insufficient funds for gas * price + value: address Z', + 'err: insufficient funds for gas * price + value: address Q', ) : 'VM Exception while processing transaction: insufficient balance', signature: undefined, @@ -326,7 +326,7 @@ describe('Web3Zond.sendSignedTransaction', () => { }; await expect( - web3Zond + web3QRL .sendSignedTransaction(signedTransaction.raw) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -341,14 +341,14 @@ describe('Web3Zond.sendSignedTransaction', () => { maxPriorityFeePerGas: BigInt(25415778028), gas: 23605, type: BigInt(2), - nonce: await web3Zond.getTransactionCount(tempAcc.address), + nonce: await web3QRL.getTransactionCount(tempAcc.address), }; - const signedTransaction = await web3Zond.signTransaction(transaction, { + const signedTransaction = await web3QRL.signTransaction(transaction, { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.UINT8ARRAY, }); - web3Zond.handleRevert = true; + web3QRL.handleRevert = true; const expectedThrownError = { name: 'TransactionRevertInstructionError', @@ -363,7 +363,7 @@ describe('Web3Zond.sendSignedTransaction', () => { }; await expect( - web3Zond + web3QRL .sendSignedTransaction(signedTransaction.raw) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -378,14 +378,14 @@ describe('Web3Zond.sendSignedTransaction', () => { maxFeePerGas: BigInt(108571383800), maxPriorityFeePerGas: BigInt(25415778028), gas: 21222, - nonce: await web3Zond.getTransactionCount(tempAcc.address), + nonce: await web3QRL.getTransactionCount(tempAcc.address), }; - const signedTransaction = await web3Zond.signTransaction(transaction, { + const signedTransaction = await web3QRL.signTransaction(transaction, { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.UINT8ARRAY, }); - web3Zond.handleRevert = true; + web3QRL.handleRevert = true; const expectedThrownError = { name: 'TransactionRevertWithCustomError', @@ -402,7 +402,7 @@ describe('Web3Zond.sendSignedTransaction', () => { }; await expect( - web3Zond + web3QRL .sendSignedTransaction(signedTransaction.raw, undefined, { contractAbi: SimpleRevertAbi, }) @@ -419,14 +419,14 @@ describe('Web3Zond.sendSignedTransaction', () => { maxPriorityFeePerGas: BigInt(25415778028), gas: 21730, type: BigInt(2), - nonce: await web3Zond.getTransactionCount(tempAcc.address), + nonce: await web3QRL.getTransactionCount(tempAcc.address), }; - const signedTransaction = await web3Zond.signTransaction(transaction, { + const signedTransaction = await web3QRL.signTransaction(transaction, { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.UINT8ARRAY, }); - web3Zond.handleRevert = true; + web3QRL.handleRevert = true; const expectedThrownError = { name: 'TransactionRevertWithCustomError', @@ -447,7 +447,7 @@ describe('Web3Zond.sendSignedTransaction', () => { }; await expect( - web3Zond + web3QRL .sendSignedTransaction(signedTransaction.raw, undefined, { contractAbi: SimpleRevertAbi, }) @@ -464,14 +464,14 @@ describe('Web3Zond.sendSignedTransaction', () => { maxPriorityFeePerGas: BigInt(25415778028), gas: 23605, type: BigInt(2), - nonce: await web3Zond.getTransactionCount(tempAcc.address), + nonce: await web3QRL.getTransactionCount(tempAcc.address), }; - const signedTransaction = await web3Zond.signTransaction(transaction, { + const signedTransaction = await web3QRL.signTransaction(transaction, { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.UINT8ARRAY, }); - web3Zond.handleRevert = false; + web3QRL.handleRevert = false; const expectedThrownError = { name: 'TransactionRevertInstructionError', @@ -487,7 +487,7 @@ describe('Web3Zond.sendSignedTransaction', () => { }; await expect( - web3Zond + web3QRL .sendSignedTransaction(signedTransaction.raw) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); diff --git a/packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts similarity index 85% rename from packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts index be9f17b7..d97bc114 100644 --- a/packages/web3-zond/test/integration/web3_zond/send_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts @@ -27,11 +27,11 @@ import { Address, DEFAULT_RETURN_FORMAT, } from '@theqrl/web3-types'; -import { Wallet } from '@theqrl/web3-zond-accounts'; +import { Wallet } from '@theqrl/web3-qrl-accounts'; import { isHexStrict } from '@theqrl/web3-validator'; import { isNullish } from '@theqrl/web3-utils'; -import Web3Zond from '../../../src'; +import Web3QRL from '../../../src'; import { closeOpenConnection, createAccountProvider, @@ -41,36 +41,36 @@ import { } from '../../fixtures/system_test_utils'; import { SimpleRevertAbi, SimpleRevertDeploymentData } from '../../fixtures/simple_revert'; -describe('Web3Zond.sendTransaction', () => { - let web3Zond: Web3Zond; +describe('Web3QRL.sendTransaction', () => { + let web3QRL: Web3QRL; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); tempAcc = await createTempAccount(); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it('should make a simple value transfer', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); it('should make a simple value transfer - with local wallet indexed sender', async () => { - const web3EthWithWallet = new Web3Zond(getSystemTestProvider()); - const accountProvider = createAccountProvider(web3Zond); + const web3EthWithWallet = new Web3QRL(getSystemTestProvider()); + const accountProvider = createAccountProvider(web3QRL); const wallet = new Wallet(accountProvider); web3EthWithWallet['_accountProvider'] = accountProvider; @@ -80,7 +80,7 @@ describe('Web3Zond.sendTransaction', () => { const transaction: TransactionWithFromLocalWalletIndex = { from: 0, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', type: BigInt(2), value: BigInt(1), }; @@ -93,14 +93,14 @@ describe('Web3Zond.sendTransaction', () => { expect(minedTransactionData).toMatchObject({ from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), }); }); it('should make a simple value transfer - with local wallet indexed receiver', async () => { - const web3EthWithWallet = new Web3Zond(getSystemTestProvider()); - const accountProvider = createAccountProvider(web3Zond); + const web3EthWithWallet = new Web3QRL(getSystemTestProvider()); + const accountProvider = createAccountProvider(web3QRL); const wallet = new Wallet(accountProvider); web3EthWithWallet['_accountProvider'] = accountProvider; @@ -124,14 +124,14 @@ describe('Web3Zond.sendTransaction', () => { const acc = wallet.get(0); expect(minedTransactionData).toMatchObject({ from: tempAcc.address, - to: isNullish(acc) ? acc : `Z${acc.address.slice(1).toLowerCase()}`, + to: isNullish(acc) ? acc : `Q${acc.address.slice(1).toLowerCase()}`, value: BigInt(1), }); }); it('should make a simple value transfer - with local wallet indexed sender and receiver', async () => { - const web3EthWithWallet = new Web3Zond(getSystemTestProvider()); - const accountProvider = createAccountProvider(web3Zond); + const web3EthWithWallet = new Web3QRL(getSystemTestProvider()); + const accountProvider = createAccountProvider(web3QRL); const wallet = new Wallet(accountProvider); web3EthWithWallet['_accountProvider'] = accountProvider; @@ -159,35 +159,35 @@ describe('Web3Zond.sendTransaction', () => { const acc = wallet.get(1); expect(minedTransactionData).toMatchObject({ from: tempAcc.address, - to: isNullish(acc) ? acc : `Z${acc.address.slice(1).toLowerCase()}`, + to: isNullish(acc) ? acc : `Q${acc.address.slice(1).toLowerCase()}`, value: BigInt(1), }); }); it('should make a transaction with no value transfer', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(0), type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); it('should send a transaction with data', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', data: '0x64edfbf0e2c706ba4a09595315c45355a341a576cc17f3a19f43ac1c02f814ee', value: BigInt(0), type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); @@ -204,11 +204,11 @@ describe('Web3Zond.sendTransaction', () => { gas: BigInt('475520'), type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.status).toBe(BigInt(1)); expect(response.contractAddress).toBeDefined(); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject({ from: tempAcc.address, input: greeterContractDeploymentData, @@ -229,10 +229,10 @@ describe('Web3Zond.sendTransaction', () => { input: contractFunctionCall, type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject({ from: tempAcc.address, to: greeterContractAddress, @@ -245,95 +245,95 @@ describe('Web3Zond.sendTransaction', () => { it('should send a successful type 0x2 transaction', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.type).toBe(BigInt(2)); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); it('should send a successful type 0x2 transaction (fee per gas from: calculateFeeData)', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), type: BigInt(2), }; - const feeData = await web3Zond.calculateFeeData(); + const feeData = await web3QRL.calculateFeeData(); transaction.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; transaction.maxFeePerGas = feeData.maxFeePerGas; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.type).toBe(BigInt(2)); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); it('should send a successful type 0x2 transaction with data', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', data: '0x64edfbf0e2c706ba4a09595315c45355a341a576cc17f3a19f43ac1c02f814ee', value: BigInt(1), type: BigInt(2), }; - const response = await web3Zond.sendTransaction(transaction, DEFAULT_RETURN_FORMAT); + const response = await web3QRL.sendTransaction(transaction, DEFAULT_RETURN_FORMAT); expect(response.type).toBe(BigInt(2)); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); }); it('should autofill a successful type 0x2 transaction with only maxFeePerGas passed', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), maxFeePerGas: BigInt(2500000016), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.type).toBe(BigInt(2)); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); it('should autofill a successful type 0x2 transaction with only maxPriorityFeePerGas passed', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), maxPriorityFeePerGas: BigInt(100), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); expect(response.type).toBe(BigInt(2)); expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); expect(minedTransactionData).toMatchObject(transaction); }); - it('should send type 0x2 transaction with maxPriorityFeePerGas got from await web3Zond.getMaxPriorityFeePerGas()', async () => { + it('should send type 0x2 transaction with maxPriorityFeePerGas got from await web3QRL.getMaxPriorityFeePerGas()', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), - maxPriorityFeePerGas: await web3Zond.getMaxPriorityFeePerGas(), + maxPriorityFeePerGas: await web3QRL.getMaxPriorityFeePerGas(), }; - const response = await web3Zond.sendTransaction(transaction); + const response = await web3QRL.sendTransaction(transaction); // eslint-disable-next-line jest/no-standalone-expect expect(response.type).toBe(BigInt(2)); // eslint-disable-next-line jest/no-standalone-expect expect(response.status).toBe(BigInt(1)); - const minedTransactionData = await web3Zond.getTransaction(response.transactionHash); + const minedTransactionData = await web3QRL.getTransaction(response.transactionHash); // eslint-disable-next-line jest/no-standalone-expect expect(minedTransactionData).toMatchObject(transaction); }); @@ -345,28 +345,28 @@ describe('Web3Zond.sendTransaction', () => { tempAcc = await createTempAccount(); transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', type: '0x2', }; }); it('should listen to the sending event', async () => { - await web3Zond.sendTransaction(transaction).on('sending', data => { + await web3QRL.sendTransaction(transaction).on('sending', data => { expect(data).toMatchObject(transaction); }); expect.assertions(1); }); it('should listen to the sent event', async () => { - await web3Zond.sendTransaction(transaction).on('sent', data => { + await web3QRL.sendTransaction(transaction).on('sent', data => { expect(data).toMatchObject(transaction); }); expect.assertions(1); }); it('should listen to the transactionHash event', async () => { - await web3Zond.sendTransaction(transaction).on('transactionHash', data => { + await web3QRL.sendTransaction(transaction).on('transactionHash', data => { expect(isHexStrict(data)).toBe(true); }); expect.assertions(1); @@ -382,7 +382,7 @@ describe('Web3Zond.sendTransaction', () => { to: transaction.to, transactionHash: expect.any(String), }; - await web3Zond.sendTransaction(transaction).on('receipt', data => { + await web3QRL.sendTransaction(transaction).on('receipt', data => { expect(data).toEqual(expect.objectContaining(expectedTransactionReceipt)); // To avoid issue with the `objectContaining` and `cypress` had to add @@ -420,7 +420,7 @@ describe('Web3Zond.sendTransaction', () => { latestBlockHash: expect.any(String), }; - await web3Zond.sendTransaction(transaction).on('confirmation', data => { + await web3QRL.sendTransaction(transaction).on('confirmation', data => { expect(data).toEqual(expect.objectContaining(expectedTransactionConfirmation)); }); @@ -428,7 +428,7 @@ describe('Web3Zond.sendTransaction', () => { // this is manually triggering the next block to be created since both // Gzond and Ganache wait for transaction before mining a block. // This should be revisted to implement a better solution - await web3Zond.sendTransaction(transaction); + await web3QRL.sendTransaction(transaction); // TODO: Debug why the assertions are not being called // expect.assertions(1); @@ -444,18 +444,18 @@ describe('Web3Zond.sendTransaction', () => { data: SimpleRevertDeploymentData, type: BigInt(2), }; - simpleRevertDeployTransaction.gas = await web3Zond.estimateGas( + simpleRevertDeployTransaction.gas = await web3QRL.estimateGas( simpleRevertDeployTransaction, ); simpleRevertContractAddress = ( - await web3Zond.sendTransaction(simpleRevertDeployTransaction) + await web3QRL.sendTransaction(simpleRevertDeployTransaction) ).contractAddress as Address; }); it('Should throw TransactionRevertInstructionError because gas too low', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt(1), gas: 1, type: BigInt(2), @@ -471,7 +471,7 @@ describe('Web3Zond.sendTransaction', () => { }; await expect( - web3Zond + web3QRL .sendTransaction(transaction) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -480,14 +480,14 @@ describe('Web3Zond.sendTransaction', () => { it('Should throw TransactionRevertInstructionError because insufficient funds', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: BigInt('999999999999999999999999999999999999999999999999999999999'), type: BigInt(2), }; const expectedThrownError = { name: 'TransactionRevertInstructionError', - message: 'Transaction has been reverted by the ZVM', + message: 'Transaction has been reverted by the QRVM', code: 402, reason: getSystemTestBackend() === 'gzond' @@ -498,7 +498,7 @@ describe('Web3Zond.sendTransaction', () => { }; await expect( - web3Zond + web3QRL .sendTransaction(transaction) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -512,7 +512,7 @@ describe('Web3Zond.sendTransaction', () => { type: BigInt(2), }; - web3Zond.handleRevert = true; + web3QRL.handleRevert = true; const expectedThrownError = { name: 'TransactionRevertInstructionError', @@ -527,7 +527,7 @@ describe('Web3Zond.sendTransaction', () => { }; await expect( - web3Zond + web3QRL .sendTransaction(transaction) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -541,7 +541,7 @@ describe('Web3Zond.sendTransaction', () => { type: BigInt(2), }; - web3Zond.handleRevert = true; + web3QRL.handleRevert = true; const expectedThrownError = { name: 'TransactionRevertWithCustomError', @@ -558,7 +558,7 @@ describe('Web3Zond.sendTransaction', () => { }; await expect( - web3Zond + web3QRL .sendTransaction(transaction, undefined, { contractAbi: SimpleRevertAbi }) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -572,7 +572,7 @@ describe('Web3Zond.sendTransaction', () => { type: BigInt(2), }; - web3Zond.handleRevert = true; + web3QRL.handleRevert = true; const expectedThrownError = { name: 'TransactionRevertWithCustomError', @@ -593,7 +593,7 @@ describe('Web3Zond.sendTransaction', () => { }; await expect( - web3Zond + web3QRL .sendTransaction(transaction, undefined, { contractAbi: SimpleRevertAbi }) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); @@ -607,7 +607,7 @@ describe('Web3Zond.sendTransaction', () => { type: BigInt(2), }; - web3Zond.handleRevert = false; + web3QRL.handleRevert = false; const expectedThrownError = { name: 'TransactionRevertInstructionError', @@ -621,7 +621,7 @@ describe('Web3Zond.sendTransaction', () => { }; await expect( - web3Zond + web3QRL .sendTransaction(transaction) .on('error', error => expect(error).toMatchObject(expectedThrownError)), ).rejects.toMatchObject(expectedThrownError); diff --git a/packages/web3-zond/test/integration/web3_zond/sign.test.ts b/packages/web3-qrl/test/integration/web3_qrl/sign.test.ts similarity index 81% rename from packages/web3-zond/test/integration/web3_zond/sign.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/sign.test.ts index 8633cedb..1aa29465 100644 --- a/packages/web3-zond/test/integration/web3_zond/sign.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/sign.test.ts @@ -17,29 +17,29 @@ along with web3.js. If not, see . import { isHexStrict } from '@theqrl/web3-validator'; -import { Web3Zond } from '../../../src'; +import { Web3QRL } from '../../../src'; import { closeOpenConnection, createTempAccount, getSystemTestProvider, } from '../../fixtures/system_test_utils'; -describe('Web3Zond.sign', () => { - let web3Zond: Web3Zond; +describe('Web3QRL.sign', () => { + let web3QRL: Web3QRL; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); tempAcc = await createTempAccount(); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it('should sign message', async () => { const message = '0x736f796c656e7420677265656e2069732070656f706c65'; - const response = await web3Zond.sign(message, tempAcc.address); + const response = await web3QRL.sign(message, tempAcc.address); expect(isHexStrict(response as string)).toBe(true); }); }); diff --git a/packages/web3-zond/test/integration/web3_zond/sign_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts similarity index 94% rename from packages/web3-zond/test/integration/web3_zond/sign_transaction.test.ts rename to packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts index 421fa4c9..be06e87d 100644 --- a/packages/web3-zond/test/integration/web3_zond/sign_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts @@ -16,39 +16,39 @@ along with web3.js. If not, see . */ import { Transaction } from '@theqrl/web3-types'; -import { Web3Zond } from '../../../src'; +import { Web3QRL } from '../../../src'; import { closeOpenConnection, createTempAccount, getSystemTestProvider, } from '../../fixtures/system_test_utils'; -describe('Web3Zond.signTransaction', () => { - let web3Zond: Web3Zond; +describe('Web3QRL.signTransaction', () => { + let web3QRL: Web3QRL; let tempAcc: { address: string; seed: string }; beforeAll(async () => { - web3Zond = new Web3Zond(getSystemTestProvider()); + web3QRL = new Web3QRL(getSystemTestProvider()); tempAcc = await createTempAccount(); }); afterAll(async () => { - await closeOpenConnection(web3Zond); + await closeOpenConnection(web3QRL); }); it('should sign a simple value transfer', async () => { - const nonce = await web3Zond.getTransactionCount(tempAcc.address); + const nonce = await web3QRL.getTransactionCount(tempAcc.address); const transaction: Transaction = { from: tempAcc.address, nonce, - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', type: BigInt(2), gas: 21000, maxFeePerGas: BigInt(108571383800), maxPriorityFeePerGas: BigInt(25415778028), }; - const response = await web3Zond.signTransaction(transaction); + const response = await web3QRL.signTransaction(transaction); const expectedResponse: { tx: Transaction } = { tx: { type: BigInt(2), @@ -74,7 +74,7 @@ describe('Web3Zond.signTransaction', () => { it('should sign a contract deployment', async () => { const greeterContractDeploymentData = '0x60806040523480156200001157600080fd5b5060405162000a6a38038062000a6a8339818101604052810190620000379190620002a4565b80600090805190602001906200004f92919062000057565b505062000359565b828054620000659062000324565b90600052602060002090601f016020900481019282620000895760008555620000d5565b82601f10620000a457805160ff1916838001178555620000d5565b82800160010185558215620000d5579182015b82811115620000d4578251825591602001919060010190620000b7565b5b509050620000e49190620000e8565b5090565b5b8082111562000103576000816000905550600101620000e9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001708262000125565b810181811067ffffffffffffffff8211171562000192576200019162000136565b5b80604052505050565b6000620001a762000107565b9050620001b5828262000165565b919050565b600067ffffffffffffffff821115620001d857620001d762000136565b5b620001e38262000125565b9050602081019050919050565b60005b8381101562000210578082015181840152602081019050620001f3565b8381111562000220576000848401525b50505050565b60006200023d6200023784620001ba565b6200019b565b9050828152602081018484840111156200025c576200025b62000120565b5b62000269848285620001f0565b509392505050565b600082601f8301126200028957620002886200011b565b5b81516200029b84826020860162000226565b91505092915050565b600060208284031215620002bd57620002bc62000111565b5b600082015167ffffffffffffffff811115620002de57620002dd62000116565b5b620002ec8482850162000271565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61070180620003696000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae32171461006c575b600080fd5b6100556004803603810190610050919061043f565b61008a565b60405161006392919061052b565b60405180910390f35b6100746101b0565b604051610081919061055b565b60405180910390f35b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756000846040516100c0929190610672565b60405180910390a182600090805190602001906100de929190610242565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600060405161010f91906106a9565b60405180910390a160016000808054610127906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610153906105ac565b80156101a05780601f10610175576101008083540402835291602001916101a0565b820191906000526020600020905b81548152906001019060200180831161018357829003601f168201915b5050505050905091509150915091565b6060600080546101bf906105ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb906105ac565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b82805461024e906105ac565b90600052602060002090601f01602090048101928261027057600085556102b7565b82601f1061028957805160ff19168380011785556102b7565b828001600101855582156102b7579182015b828111156102b657825182559160200191906001019061029b565b5b5090506102c491906102c8565b5090565b5b808211156102e15760008160009055506001016102c9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61034c82610303565b810181811067ffffffffffffffff8211171561036b5761036a610314565b5b80604052505050565b600061037e6102e5565b905061038a8282610343565b919050565b600067ffffffffffffffff8211156103aa576103a9610314565b5b6103b382610303565b9050602081019050919050565b82818337600083830152505050565b60006103e26103dd8461038f565b610374565b9050828152602081018484840111156103fe576103fd6102fe565b5b6104098482856103c0565b509392505050565b600082601f830112610426576104256102f9565b5b81356104368482602086016103cf565b91505092915050565b600060208284031215610455576104546102ef565b5b600082013567ffffffffffffffff811115610473576104726102f4565b5b61047f84828501610411565b91505092915050565b60008115159050919050565b61049d81610488565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104dd5780820151818401526020810190506104c2565b838111156104ec576000848401525b50505050565b60006104fd826104a3565b61050781856104ae565b93506105178185602086016104bf565b61052081610303565b840191505092915050565b60006040820190506105406000830185610494565b818103602083015261055281846104f2565b90509392505050565b6000602082019050818103600083015261057581846104f2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c457607f821691505b6020821081036105d7576105d661057d565b5b50919050565b60008190508160005260206000209050919050565b600081546105ff816105ac565b61060981866104ae565b94506001821660008114610624576001811461063657610669565b60ff1983168652602086019350610669565b61063f856105dd565b60005b8381101561066157815481890152600182019150602081019050610642565b808801955050505b50505092915050565b6000604082019050818103600083015261068c81856105f2565b905081810360208301526106a081846104f2565b90509392505050565b600060208201905081810360008301526106c381846105f2565b90509291505056fea2646970667358221220fe0f28c9f8ef0a13a95934b974e7bc2ca6762b40a5b93ccd6ca2038f454bf52764736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000'; - const nonce = await web3Zond.getTransactionCount(tempAcc.address); + const nonce = await web3QRL.getTransactionCount(tempAcc.address); const transaction: Transaction = { from: tempAcc.address, nonce, @@ -84,7 +84,7 @@ describe('Web3Zond.signTransaction', () => { maxFeePerGas: BigInt(108571383800), maxPriorityFeePerGas: BigInt(25415778028), }; - const response = await web3Zond.signTransaction(transaction); + const response = await web3QRL.signTransaction(transaction); const expectedResponse: { tx: Transaction } = { tx: { type: BigInt(2), diff --git a/packages/web3-zond/test/shared_fixtures b/packages/web3-qrl/test/shared_fixtures similarity index 100% rename from packages/web3-zond/test/shared_fixtures rename to packages/web3-qrl/test/shared_fixtures diff --git a/packages/web3-zond/test/tsconfig.json b/packages/web3-qrl/test/tsconfig.json similarity index 100% rename from packages/web3-zond/test/tsconfig.json rename to packages/web3-qrl/test/tsconfig.json diff --git a/packages/web3-zond/test/unit/constructor.test.ts b/packages/web3-qrl/test/unit/constructor.test.ts similarity index 100% rename from packages/web3-zond/test/unit/constructor.test.ts rename to packages/web3-qrl/test/unit/constructor.test.ts diff --git a/packages/web3-zond/test/unit/default_transaction_builder.test.ts b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts similarity index 92% rename from packages/web3-zond/test/unit/default_transaction_builder.test.ts rename to packages/web3-qrl/test/unit/default_transaction_builder.test.ts index 138bb06a..fa675ec3 100644 --- a/packages/web3-zond/test/unit/default_transaction_builder.test.ts +++ b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { - ZondExecutionAPI, + QRLExecutionAPI, PopulatedUnsignedEip1559Transaction, Transaction, ValidChains, @@ -24,7 +24,7 @@ import { import { Web3Context } from '@theqrl/web3-core'; import HttpProvider from '@theqrl/web3-providers-http'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { TransactionDataAndInputError, @@ -41,7 +41,7 @@ jest.mock('@theqrl/web3-net', () => ({ })); describe('defaultTransactionBuilder', () => { - const expectedFrom = 'Z206E7Ec6854337F059BF6b637ac7cECd2F3D1933'; + const expectedFrom = 'Q206E7Ec6854337F059BF6b637ac7cECd2F3D1933'; const expectedNonce = '0x42'; const expectedGas = BigInt(21000); const expectedGasLimit = expectedGas; @@ -53,7 +53,7 @@ describe('defaultTransactionBuilder', () => { const defaultTransactionType = '0x2'; const transaction: Transaction = { from: expectedFrom, - to: 'Z3535353535353535353535353535353535353535', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: expectedGas, gasLimit: expectedGasLimit, @@ -78,7 +78,7 @@ describe('defaultTransactionBuilder', () => { }; const mockBlockData = { parentHash: '0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54', - miner: 'Zbb7b8287f3f0a933474a79eae42cbca977791171', + miner: 'Qbb7b8287f3f0a933474a79eae42cbca977791171', stateRoot: '0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d', transactionsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', receiptsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', @@ -99,18 +99,18 @@ describe('defaultTransactionBuilder', () => { hash: '0xdc0818cf78f21a8e70579cb46a43643f78291264dda342ae31049421c82d21ae', baseFeePerGas: expectedBaseFeePerGas, }; - let web3Context: Web3Context; + let web3Context: Web3Context; let getTransactionCountSpy: jest.SpyInstance; beforeEach(() => { - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockResolvedValue(mockBlockData); + jest.spyOn(qrlRpcMethods, 'getBlockByNumber').mockResolvedValue(mockBlockData); getTransactionCountSpy = jest - .spyOn(zondRpcMethods, 'getTransactionCount') + .spyOn(qrlRpcMethods, 'getTransactionCount') .mockResolvedValue(expectedNonce); - jest.spyOn(zondRpcMethods, 'getGasPrice').mockResolvedValue(expectedGasPrice); - jest.spyOn(zondRpcMethods, 'getChainId').mockResolvedValue(expectedChainId); + jest.spyOn(qrlRpcMethods, 'getGasPrice').mockResolvedValue(expectedGasPrice); + jest.spyOn(qrlRpcMethods, 'getChainId').mockResolvedValue(expectedChainId); - web3Context = new Web3Context(new HttpProvider('http://127.0.0.1')); + web3Context = new Web3Context(new HttpProvider('http://127.0.0.1')); }); it.skip('should call override method', async () => { @@ -119,7 +119,7 @@ describe('defaultTransactionBuilder', () => { await defaultTransactionBuilder({ transaction: input, web3Context, - // VALID_ZOND_BASE_TYPES.HexString, + // VALID_QRL_BASE_TYPES.HexString, // '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', // overrideFunction, fillGasPrice: true, @@ -144,7 +144,7 @@ describe('defaultTransactionBuilder', () => { }); it('should use web3Context.defaultAccount to populate', async () => { - web3Context = new Web3Context({ + web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultAccount: expectedFrom, @@ -178,7 +178,7 @@ describe('defaultTransactionBuilder', () => { ).rejects.toThrow(new UnableToPopulateNonceError()); }); - it('should use web3Zond.getTransactionCount to populate nonce', async () => { + it('should use web3QRL.getTransactionCount to populate nonce', async () => { const input = { ...transaction }; delete input.nonce; delete input.maxPriorityFeePerGas; @@ -197,7 +197,7 @@ describe('defaultTransactionBuilder', () => { ); }); - it('should use web3Zond.getTransactionCount to populate nonce without gas fill', async () => { + it('should use web3QRL.getTransactionCount to populate nonce without gas fill', async () => { const input = { ...transaction }; delete input.nonce; delete input.maxPriorityFeePerGas; @@ -311,7 +311,7 @@ describe('defaultTransactionBuilder', () => { }); it('should use web3Context.defaultChain to populate', async () => { - web3Context = new Web3Context(new HttpProvider('http://127.0.0.1')); + web3Context = new Web3Context(new HttpProvider('http://127.0.0.1')); const input = { ...transaction }; delete input.chain; @@ -345,7 +345,7 @@ describe('defaultTransactionBuilder', () => { }); it('should use web3Context.defaultHardfork to populate', async () => { - web3Context = new Web3Context(new HttpProvider('http://127.0.0.1')); + web3Context = new Web3Context(new HttpProvider('http://127.0.0.1')); const input = { ...transaction }; delete input.hardfork; @@ -374,7 +374,7 @@ describe('defaultTransactionBuilder', () => { hardfork, }; - web3Context = new Web3Context({ + web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultCommon: customCommon, @@ -396,7 +396,7 @@ describe('defaultTransactionBuilder', () => { }); describe('should populate chainId', () => { - it('should populate with web3Zond.getChainId', async () => { + it('should populate with web3QRL.getChainId', async () => { const input = { ...transaction }; delete input.chainId; delete input.common; @@ -455,7 +455,7 @@ describe('defaultTransactionBuilder', () => { }); it('should use web3Context.defaultTransactionType to populate', async () => { - web3Context = new Web3Context({ + web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultTransactionType, @@ -563,7 +563,7 @@ describe('defaultTransactionBuilder', () => { delete input.maxFeePerGas; input.type = '0x2'; - web3Context = new Web3Context({ + web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultMaxPriorityFeePerGas: expectedMaxPriorityFeePerGas, @@ -584,7 +584,7 @@ describe('defaultTransactionBuilder', () => { delete input.maxFeePerGas; input.type = '0x2'; - web3Context = new Web3Context({ + web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultMaxPriorityFeePerGas: expectedMaxPriorityFeePerGas, @@ -605,7 +605,7 @@ describe('defaultTransactionBuilder', () => { delete input.maxPriorityFeePerGas; input.type = '0x2'; - web3Context = new Web3Context({ + web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultMaxPriorityFeePerGas: expectedMaxPriorityFeePerGas, diff --git a/packages/web3-zond/test/unit/detect_transction_type.test.ts b/packages/web3-qrl/test/unit/detect_transction_type.test.ts similarity index 100% rename from packages/web3-zond/test/unit/detect_transction_type.test.ts rename to packages/web3-qrl/test/unit/detect_transction_type.test.ts diff --git a/packages/web3-zond/test/unit/errors.test.ts b/packages/web3-qrl/test/unit/errors.test.ts similarity index 100% rename from packages/web3-zond/test/unit/errors.test.ts rename to packages/web3-qrl/test/unit/errors.test.ts diff --git a/packages/web3-zond/test/unit/format_rpc_methods.test.ts b/packages/web3-qrl/test/unit/format_rpc_methods.test.ts similarity index 73% rename from packages/web3-zond/test/unit/format_rpc_methods.test.ts rename to packages/web3-qrl/test/unit/format_rpc_methods.test.ts index a68f63f6..19758685 100644 --- a/packages/web3-zond/test/unit/format_rpc_methods.test.ts +++ b/packages/web3-qrl/test/unit/format_rpc_methods.test.ts @@ -15,25 +15,25 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { numberToHex, isNullish } from '@theqrl/web3-utils'; import * as rpcMethodWrappers from '../../src/rpc_method_wrappers'; -import { getPastLogsValidFormatData } from '../fixtures/web3_zond_methods_with_parameters'; -import Web3Zond from '../../src/index'; +import { getPastLogsValidFormatData } from '../fixtures/web3_qrl_methods_with_parameters'; +import Web3QRL from '../../src/index'; jest.mock('@theqrl/web3-rpc-methods'); -describe('web3_zond_methods formatting', () => { - let web3Zond: Web3Zond; +describe('web3_qrl_methods formatting', () => { + let web3QRL: Web3QRL; beforeAll(() => { - web3Zond = new Web3Zond('http://127.0.0.1:8545'); + web3QRL = new Web3QRL('http://127.0.0.1:8545'); }); describe('getPastLogs makes sure data is prepared properly', () => { it.each(getPastLogsValidFormatData)('input: %s\nrpcMethodParameters: %s', async filter => { - jest.spyOn(zondRpcMethods, 'getLogs').mockResolvedValue(['']); - await rpcMethodWrappers.getLogs(web3Zond, filter, DEFAULT_RETURN_FORMAT); + jest.spyOn(qrlRpcMethods, 'getLogs').mockResolvedValue(['']); + await rpcMethodWrappers.getLogs(web3QRL, filter, DEFAULT_RETURN_FORMAT); let { fromBlock, toBlock } = filter; if ( !isNullish(filter.fromBlock) && @@ -45,7 +45,7 @@ describe('web3_zond_methods formatting', () => { (typeof filter.toBlock === 'bigint' || typeof filter.toBlock === 'number') ) toBlock = numberToHex(filter.toBlock); - expect(zondRpcMethods.getLogs).toHaveBeenCalledWith(web3Zond.requestManager, { + expect(qrlRpcMethods.getLogs).toHaveBeenCalledWith(web3QRL.requestManager, { ...filter, toBlock, fromBlock, diff --git a/packages/web3-zond/test/unit/format_transaction.test.ts b/packages/web3-qrl/test/unit/format_transaction.test.ts similarity index 100% rename from packages/web3-zond/test/unit/format_transaction.test.ts rename to packages/web3-qrl/test/unit/format_transaction.test.ts diff --git a/packages/web3-zond/test/unit/jest.config.js b/packages/web3-qrl/test/unit/jest.config.js similarity index 95% rename from packages/web3-zond/test/unit/jest.config.js rename to packages/web3-qrl/test/unit/jest.config.js index c79555b6..58905453 100644 --- a/packages/web3-zond/test/unit/jest.config.js +++ b/packages/web3-qrl/test/unit/jest.config.js @@ -27,7 +27,7 @@ module.exports = { [ 'json', { - file: 'web3-zond-unit-coverage.json', + file: 'web3-qrl-unit-coverage.json', }, ], ], diff --git a/packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts b/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts similarity index 82% rename from packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts rename to packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts index 7d27f95b..aa9ec8f2 100644 --- a/packages/web3-zond/test/unit/prepare_transaction_for_signing.test.ts +++ b/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts @@ -15,19 +15,19 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZondExecutionAPI } from '@theqrl/web3-types'; +import { QRLExecutionAPI } from '@theqrl/web3-types'; import { Web3Context } from '@theqrl/web3-core'; import HttpProvider from '@theqrl/web3-providers-http'; import { isNullish } from '@theqrl/web3-validator'; -import { FeeMarketEIP1559Transaction } from '@theqrl/web3-zond-accounts'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { FeeMarketEIP1559Transaction } from '@theqrl/web3-qrl-accounts'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { bytesToHex, hexToBytes } from '@theqrl/web3-utils'; import { prepareTransactionForSigning } from '../../src/utils/prepare_transaction_for_signing'; import { validTransactions } from '../fixtures/prepare_transaction_for_signing'; describe('prepareTransactionForSigning', () => { - const web3Context = new Web3Context({ + const web3Context = new Web3Context({ provider: new HttpProvider('http://127.0.0.1'), config: { defaultNetworkId: '0x1' }, }); @@ -47,14 +47,14 @@ describe('prepareTransactionForSigning', () => { expectedSignature, ) => { // (i.e. requestManager, blockNumber, hydrated params), but that doesn't matter for the test - jest.spyOn(zondRpcMethods, 'estimateGas').mockImplementation( + jest.spyOn(qrlRpcMethods, 'estimateGas').mockImplementation( // @ts-expect-error - Mocked implementation doesn't have correct method signature () => expectedTransaction.gas, ); // @ts-expect-error - Mocked implementation doesn't have correct method signature - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockImplementation(() => mockBlock); + jest.spyOn(qrlRpcMethods, 'getBlockByNumber').mockImplementation(() => mockBlock); - const zondjsTx = await prepareTransactionForSigning( + const qrljsTx = await prepareTransactionForSigning( expectedTransaction, web3Context, expectedSeed, @@ -62,14 +62,14 @@ describe('prepareTransactionForSigning', () => { ); // should produce an web3-utils/tx instance - expect(zondjsTx instanceof FeeMarketEIP1559Transaction).toBeTruthy(); - expect(zondjsTx.sign).toBeDefined(); + expect(qrljsTx instanceof FeeMarketEIP1559Transaction).toBeTruthy(); + expect(qrljsTx.sign).toBeDefined(); // should sign transaction - const signedTransaction = zondjsTx.sign(hexToBytes(expectedSeed.substring(2))); + const signedTransaction = qrljsTx.sign(hexToBytes(expectedSeed.substring(2))); const senderAddress = signedTransaction.getSenderAddress().toString(); - expect(senderAddress).toBe(`Z${expectedAddress.slice(1).toLowerCase()}`); + expect(senderAddress).toBe(`Q${expectedAddress.slice(1).toLowerCase()}`); // should be able to obtain expectedRlpEncodedTransaction const rlpEncodedTransaction = bytesToHex(signedTransaction.serialize()); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/call.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/call.test.ts similarity index 87% rename from packages/web3-zond/test/unit/rpc_method_wrappers/call.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/call.test.ts index 7a0fe2c1..61260d13 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/call.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/call.test.ts @@ -16,15 +16,15 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { - Web3ZondExecutionAPI, - ZOND_DATA_FORMAT, + Web3QRLExecutionAPI, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; import { format } from '@theqrl/web3-utils'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { call } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/call'; @@ -33,7 +33,7 @@ import { formatTransaction } from '../../../src'; jest.mock('@theqrl/web3-rpc-methods'); describe('call', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -43,7 +43,7 @@ describe('call', () => { `should call rpcMethods.call with expected parameters\nTitle: %s\nInput parameters: %s\n`, async (_, inputParameters) => { const [inputTransaction, inputBlockNumber] = inputParameters; - const inputTransactionFormatted = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const inputTransactionFormatted = formatTransaction(inputTransaction, QRL_DATA_FORMAT); let inputBlockNumberFormatted; @@ -53,12 +53,12 @@ describe('call', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await call(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.call).toHaveBeenCalledWith( + expect(qrlRpcMethods.call).toHaveBeenCalledWith( web3Context.requestManager, inputTransactionFormatted, inputBlockNumberFormatted, @@ -75,7 +75,7 @@ describe('call', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.call as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.call as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await call(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/createAccessList.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/createAccessList.test.ts similarity index 85% rename from packages/web3-zond/test/unit/rpc_method_wrappers/createAccessList.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/createAccessList.test.ts index b357aefc..c3e46a05 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/createAccessList.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/createAccessList.test.ts @@ -15,10 +15,10 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { Web3ZondExecutionAPI, ZOND_DATA_FORMAT, FMT_BYTES, FMT_NUMBER } from '@theqrl/web3-types'; +import { Web3QRLExecutionAPI, QRL_DATA_FORMAT, FMT_BYTES, FMT_NUMBER } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; import { format } from '@theqrl/web3-utils'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { createAccessList } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/createAccessList'; @@ -27,7 +27,7 @@ import { formatTransaction } from '../../../src'; jest.mock('@theqrl/web3-rpc-methods'); describe('createAccessList', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -37,7 +37,7 @@ describe('createAccessList', () => { `should call rpcMethods.createAccessList with expected parameters\nTitle: %s\nInput parameters: %s\n`, async (_, inputParameters) => { const [inputTransaction, inputBlockNumber] = inputParameters; - const inputTransactionFormatted = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const inputTransactionFormatted = formatTransaction(inputTransaction, QRL_DATA_FORMAT); let inputBlockNumberFormatted; @@ -47,12 +47,12 @@ describe('createAccessList', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await createAccessList(web3Context, ...inputParameters); - expect(zondRpcMethods.createAccessList).toHaveBeenCalledWith( + expect(qrlRpcMethods.createAccessList).toHaveBeenCalledWith( web3Context.requestManager, inputTransactionFormatted, inputBlockNumberFormatted, @@ -69,7 +69,7 @@ describe('createAccessList', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.createAccessList as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.createAccessList as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await createAccessList( web3Context, diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/estimate_gas.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/estimate_gas.test.ts similarity index 87% rename from packages/web3-zond/test/unit/rpc_method_wrappers/estimate_gas.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/estimate_gas.test.ts index f547504d..372066bd 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/estimate_gas.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/estimate_gas.test.ts @@ -18,13 +18,13 @@ import { Web3Context } from '@theqrl/web3-core'; import { isNullish } from '@theqrl/web3-validator'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { estimateGas } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/estimate_gas'; @@ -33,7 +33,7 @@ import { formatTransaction } from '../../../src'; jest.mock('@theqrl/web3-rpc-methods'); describe('call', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -43,7 +43,7 @@ describe('call', () => { `should call rpcMethods.estimateGas with expected parameters\nTitle: %s\nInput parameters: %s\n`, async (_, inputParameters) => { const [inputTransaction, inputBlockNumber] = inputParameters; - const inputTransactionFormatted = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const inputTransactionFormatted = formatTransaction(inputTransaction, QRL_DATA_FORMAT); let inputBlockNumberFormatted; @@ -53,12 +53,12 @@ describe('call', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await estimateGas(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.estimateGas).toHaveBeenCalledWith( + expect(qrlRpcMethods.estimateGas).toHaveBeenCalledWith( web3Context.requestManager, inputTransactionFormatted, inputBlockNumberFormatted, @@ -75,7 +75,7 @@ describe('call', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.estimateGas as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.estimateGas as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await estimateGas(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts index 517c84b6..5c16226e 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/call.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts @@ -19,8 +19,8 @@ import { BlockNumberOrTag, BlockTags, TransactionCall } from '@theqrl/web3-types export const mockRpcResponse = '0x000000000000000000000000000000000000000000000000000000000000000a'; const transaction: TransactionCall = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/createAccessList.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/createAccessList.ts similarity index 94% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/createAccessList.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/createAccessList.ts index f26ce8de..1545e7f2 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/createAccessList.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/createAccessList.ts @@ -23,11 +23,11 @@ import { } from '@theqrl/web3-types'; export const mockRpcResponse = - '{"accessList":[{"address":"Z15859bdf5aff2080a9968f6a410361e9598df62f","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000"]}],"gasUsed":"0x7671"}'; + '{"accessList":[{"address":"Q15859bdf5aff2080a9968f6a410361e9598df62f","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000"]}],"gasUsed":"0x7671"}'; const transaction: TransactionForAccessList = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z940b25304947ae863568B3804434EC77E2160b87', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q940b25304947ae863568B3804434EC77E2160b87', value: '0x0', gas: '0x5208', maxFeePerGas: '0x4a817c800', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts index 44eddcd9..49ceb154 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts @@ -19,8 +19,8 @@ import { BlockNumberOrTag, BlockTags, Transaction } from '@theqrl/web3-types'; export const mockRpcResponse = '0x5208'; const transaction: Transaction = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_balance.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_balance.ts similarity index 96% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_balance.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_balance.ts index 9176929f..e3c0e47b 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_balance.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_balance.ts @@ -18,7 +18,7 @@ import { Address, BlockNumberOrTag, BlockTags } from '@theqrl/web3-types'; export const mockRpcResponse = '0xe8d4a51000'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts index 545d55d8..f3beb4d0 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts @@ -19,7 +19,7 @@ import { hexToBytes } from '@theqrl/web3-utils'; export const mockRpcResponse: Block = { parentHash: '0xe99e022112df268087ea7eafaf4790497fd21dbeeb6bd7a1721df161a6657a54', - miner: 'Zbb7b8287f3f0a933474a79eae42cbca977791171', + miner: 'Qbb7b8287f3f0a933474a79eae42cbca977791171', stateRoot: '0xddc8b0234c2e0cad087c8b389aa7ef01f7d79b2570bccb77ce48648aa61c904d', transactionsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', receiptsRoot: '0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', @@ -43,14 +43,14 @@ export const mockRpcResponse: Block = { const hydratedTransaction: TransactionInfo = { blockHash: '0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2', blockNumber: '0x5daf3b', - from: 'Za7d9ddbe1f17865597fbd27ec712455208b6b76d', + from: 'Qa7d9ddbe1f17865597fbd27ec712455208b6b76d', gas: '0xc350', maxFeePerGas: '0x4a817c800', maxPriorityFeePerGas: '0x0', hash: '0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b', input: '0x68656c6c6f21', nonce: '0x15', - to: 'Zf02c1c8e6114b1dbe8937a39260b5b0a374432bb', + to: 'Qf02c1c8e6114b1dbe8937a39260b5b0a374432bb', transactionIndex: '0x41', value: '0xf3dbb76162000', publicKey: diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block_transaction_count.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block_transaction_count.ts similarity index 100% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_block_transaction_count.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block_transaction_count.ts diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_code.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_code.ts similarity index 96% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_code.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_code.ts index 863f7990..029fec65 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_code.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_code.ts @@ -19,7 +19,7 @@ import { Address, BlockNumberOrTag, BlockTags } from '@theqrl/web3-types'; export const mockRpcResponse = '0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_fee_history.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_fee_history.ts similarity index 100% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_fee_history.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_fee_history.ts diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_logs.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_logs.ts similarity index 94% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_logs.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_logs.ts index 3ee9559c..c89f68a9 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_logs.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_logs.ts @@ -23,14 +23,14 @@ export const mockRpcResponse: FilterResultsAPI = [ blockHash: '0x8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcfdf829c5a142f1fccd7d', transactionHash: '0xdf829c5a142f1fccd7d8216c5785ac562ff41e2dcfdf5785ac562ff41e2dcf', transactionIndex: '0x0', - address: 'Z16c5785ac562ff41e2dcfdf829c5a142f1fccd7d', + address: 'Q16c5785ac562ff41e2dcfdf829c5a142f1fccd7d', data: '0x0000000000000000000000000000000000000000000000000000000000000000', topics: ['0x59ebeb90bc63057b6515673c3ecf9438e5058bca0f92585014eced636878c9a5'], }, ]; const filter: Filter = { - address: 'Z407d73d8a49eeb85d32cf465507dd71d507100c1', + address: 'Q407d73d8a49eeb85d32cf465507dd71d507100c1', topics: [ '0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b', // Using "null" value intentionally for validation diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts index 37ebc378..1443968d 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts @@ -17,8 +17,8 @@ along with web3.js. If not, see . import { Transaction } from '@theqrl/web3-types'; const transaction: Transaction = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_proof.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_proof.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_proof.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_proof.ts index 34ab9821..ca70fbd8 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_proof.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_proof.ts @@ -42,7 +42,7 @@ export const mockRpcResponse = { ], }; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_storage_at.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_storage_at.ts similarity index 97% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_storage_at.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_storage_at.ts index 56a114e6..4dadcfef 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_storage_at.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_storage_at.ts @@ -18,7 +18,7 @@ import { Address, BlockNumberOrTag, BlockTags, Numbers } from '@theqrl/web3-type export const mockRpcResponse = '0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts index b68ef603..7c5cec09 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts @@ -22,7 +22,7 @@ export const mockRpcResponse: TransactionInfo = { blockHash: '0xc9e87d2d1aa23d241fe281b8db7856c497320aa4f1f582a7fcd4fab7d2addf74', blockNumber: '0xc66332', chainId: '0x1', - from: 'Zcfb162c6de7ee2b49048b270cb5e297da5b6e6c3', + from: 'Qcfb162c6de7ee2b49048b270cb5e297da5b6e6c3', gas: '0x31d00', hash: '0x5f67b495f9c53b942cb1bfacaf175ad887372d7227454a971f15f5e6a7639ad1', input: '0x38ed17390000000000000000000000000000000000000000000000147ebc6d689cc81c8c0000000000000000000000000000000000000000000000005b7471df733ea75c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000cfb162c6de7ee2b49048b270cb5e297da5b6e6c30000000000000000000000000000000000000000000000000000000061134c8f0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000d084b83c305dafd76ae3e1b4e1f1fe2ecccb3988000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d2877702675e6ceb975b4a1dff9fb7baf4c91ea9', @@ -34,7 +34,7 @@ export const mockRpcResponse: TransactionInfo = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - to: 'Z7a250d5630b4cf539739df2c5dacb4c659f2488d', + to: 'Q7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0xc8', type: '0x2', value: '0x0', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_count.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_count.ts similarity index 96% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_count.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_count.ts index 9176929f..e3c0e47b 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_count.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_count.ts @@ -18,7 +18,7 @@ import { Address, BlockNumberOrTag, BlockTags } from '@theqrl/web3-types'; export const mockRpcResponse = '0xe8d4a51000'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts index d64f211b..a85024ea 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts @@ -18,8 +18,8 @@ import { BlockNumberOrTag, BlockTags, Bytes, Numbers, Transaction } from '@theqr import { hexToBytes } from '@theqrl/web3-utils'; export const mockRpcResponse: Transaction = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_receipt.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_receipt.ts similarity index 92% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_receipt.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_receipt.ts index 818b0a40..7d40e398 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/get_transaction_receipt.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_receipt.ts @@ -22,11 +22,11 @@ export const mockRpcResponse: TransactionReceipt = { transactionIndex: '0x41', blockHash: '0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2', blockNumber: '0x5daf3b', - from: 'Za7d9ddbe1f17865597fbd27ec712455208b6b76d', - to: 'Zf02c1c8e6114b1dbe8937a39260b5b0a374432bb', + from: 'Qa7d9ddbe1f17865597fbd27ec712455208b6b76d', + to: 'Qf02c1c8e6114b1dbe8937a39260b5b0a374432bb', cumulativeGasUsed: '0x33bc', // 13244 gasUsed: '0x4dc', // 1244 - contractAddress: 'Zb60e8dd61c5d32be8058bb8eb970870f07233155', + contractAddress: 'Qb60e8dd61c5d32be8058bb8eb970870f07233155', logs: [], logsBloom: '0xe21194c9509beb01be7e90c2bcefff2804cd85836ae12134f22ad4acda0fc547', root: '0xe21194c9509beb01be7e90c2bcefff2804cd85836ae12134f22ad4acda0fc547', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/return_formats.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/return_formats.ts similarity index 100% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/return_formats.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/return_formats.ts diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts similarity index 98% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts index db26af9e..7526a953 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts @@ -24,12 +24,12 @@ export const expectedTransactionReceipt: TransactionReceipt = { transactionIndex: '0x41', blockHash: '0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2', blockNumber: '0x5daf3b', - from: 'Z7ed0e85b8e1e925600b4373e6d108f34ab38a401', - to: 'Z0000000000000000000000000000000000000000', + from: 'Q7ed0e85b8e1e925600b4373e6d108f34ab38a401', + to: 'Q0000000000000000000000000000000000000000', cumulativeGasUsed: '0x33bc', // 13244 effectiveGasPrice: '0x13a21bc946', // 84324108614 gasUsed: '0x4dc', // 1244 - contractAddress: 'Zb60e8dd61c5d32be8058bb8eb970870f07233155', + contractAddress: 'Qb60e8dd61c5d32be8058bb8eb970870f07233155', logs: [], logsBloom: '0xe21194c9509beb01be7e90c2bcefff2804cd85836ae12134f22ad4acda0fc547', root: '0xe21194c9509beb01be7e90c2bcefff2804cd85836ae12134f22ad4acda0fc547', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts similarity index 91% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts index 2aecb434..0e35c73f 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts @@ -25,12 +25,12 @@ export const expectedTransactionReceipt: TransactionReceipt = { transactionIndex: '0x41', blockHash: '0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2', blockNumber: '0x5daf3b', - from: 'Z2086EA3853Acf31bDEaa7D46F34360e8996D95C5', - to: 'Zf02c1c8e6114b1dbe8937a39260b5b0a374432bb', + from: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + to: 'Qf02c1c8e6114b1dbe8937a39260b5b0a374432bb', cumulativeGasUsed: '0x33bc', // 13244 effectiveGasPrice: '0x13a21bc946', // 84324108614 gasUsed: '0x4dc', // 1244 - contractAddress: 'Zb60e8dd61c5d32be8058bb8eb970870f07233155', + contractAddress: 'Qb60e8dd61c5d32be8058bb8eb970870f07233155', logs: [], logsBloom: '0x0016bef3b2913cc883e2993a12f1a2859e7b627c9d71048115232c92fe4e5d2f', root: '0x0016bef3b2913cc883e2993a12f1a2859e7b627c9d71048115232c92fe4e5d2f', @@ -39,11 +39,11 @@ export const expectedTransactionReceipt: TransactionReceipt = { }; const inputTransaction = { - from: 'Z2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + from: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', gas: '0xc350', input: '0x68656c6c6f21', nonce: '0x15', - to: 'Zf02c1c8e6114b1dbe8937a39260b5b0a374432bb', + to: 'Qf02c1c8e6114b1dbe8937a39260b5b0a374432bb', value: '0xf3dbb76162000', type: '0x2', maxFeePerGas: '0x1475505aab', diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign.ts similarity index 71% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign.ts index 1fa39280..c85434b9 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign.ts @@ -19,7 +19,7 @@ import { addressToBytes } from '@theqrl/web3-utils'; export const mockRpcResponse = '0x736f796c656e7420677265656e2069732070656f706c65'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: @@ -31,15 +31,15 @@ const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; type TestData = [string, [Bytes, Address]]; export const testData: TestData[] = [ [ - 'message = "Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8"', - ['Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8', address], + 'message = "Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8"', + ['Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8', address], ], [ - 'message = addressToBytes("Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8")', - [addressToBytes('Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8'), address], + 'message = addressToBytes("Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8")', + [addressToBytes('Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8'), address], ], [ - 'message = addressToBytes("Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8")', + 'message = addressToBytes("Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8")', [ new Uint8Array([ 213, 103, 124, 246, 123, 90, 160, 81, 187, 64, 73, 110, 104, 173, 53, 158, 185, 124, @@ -51,13 +51,13 @@ export const testData: TestData[] = [ ]; export const walletTestData: [string, [Bytes, Address | number], any][] = [ [ - 'message = "Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8"', - ['Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8', 0], + 'message = "Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8"', + ['Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8', 0], { number: FMT_NUMBER.STR, bytes: FMT_BYTES.UINT8ARRAY }, ], [ - 'message = "Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8"', - ['Zd5677cf67b5aa051bb40496e68ad359eb97cfbf8', 0], + 'message = "Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8"', + ['Qd5677cf67b5aa051bb40496e68ad359eb97cfbf8', 0], { number: FMT_NUMBER.STR, bytes: FMT_BYTES.HEX }, ], ]; diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts similarity index 99% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts index 172a9703..a555aef0 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts @@ -25,7 +25,7 @@ import { import { decodeSignedTransaction } from '../../../../src/utils/decode_signed_transaction'; const rawType0x2Transaction: Transaction = { - from: 'Z2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + from: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', type: '0x2', nonce: '0x0', maxFeePerGas: '0x3b9aca01', @@ -33,17 +33,17 @@ const rawType0x2Transaction: Transaction = { gasLimit: '0x5208', value: '0x1', input: '0x', - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', accessList: [ { - address: 'Zde0b295669a9fd93d5f28d9ec85e40f4cb697bae', + address: 'Qde0b295669a9fd93d5f28d9ec85e40f4cb697bae', storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000003', '0x0000000000000000000000000000000000000000000000000000000000000007', ], }, { - address: 'Zbb9bc244d798123fde783fcc1c72d3bb8c189413', + address: 'Qbb9bc244d798123fde783fcc1c72d3bb8c189413', storageKeys: [], }, ], diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_typed_data.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_typed_data.ts similarity index 89% rename from packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_typed_data.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_typed_data.ts index 734e6ba0..b1358225 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/fixtures/sign_typed_data.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_typed_data.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { Address, Eip712TypedData } from '@theqrl/web3-types'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; const typedData = { types: { @@ -68,16 +68,16 @@ const typedData = { name: 'Ether Mail', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { from: { name: 'Cow', - wallet: 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + wallet: 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', }, to: { name: 'Bob', - wallet: 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + wallet: 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', }, contents: 'Hello, Bob!', }, diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_balance.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_balance.test.ts similarity index 87% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_balance.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_balance.test.ts index 2ea750c8..c606dad5 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_balance.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_balance.test.ts @@ -17,14 +17,14 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getBalance } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_balance'; @@ -32,7 +32,7 @@ import { mockRpcResponse, testData } from './fixtures/get_balance'; jest.mock('@theqrl/web3-rpc-methods'); describe('getBalance', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -51,12 +51,12 @@ describe('getBalance', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await getBalance(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getBalance).toHaveBeenCalledWith( + expect(qrlRpcMethods.getBalance).toHaveBeenCalledWith( web3Context.requestManager, inputAddress, inputBlockNumberFormatted, @@ -73,7 +73,7 @@ describe('getBalance', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getBalance as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getBalance as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getBalance(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toBe(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_block.test.ts similarity index 88% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_block.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_block.test.ts index 6e0208a4..dc2c4ec7 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_block.test.ts @@ -17,15 +17,15 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, Bytes, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isBytes, isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getBlock } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, mockRpcResponseHydrated, testData } from './fixtures/get_block'; @@ -34,7 +34,7 @@ import { blockSchema } from '../../../src/schemas'; jest.mock('@theqrl/web3-rpc-methods'); describe('getBlock', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -49,15 +49,15 @@ describe('getBlock', () => { let inputBlockFormatted; if (inputBlockIsBytes) { - inputBlockFormatted = format({ format: 'bytes32' }, inputBlock, ZOND_DATA_FORMAT); + inputBlockFormatted = format({ format: 'bytes32' }, inputBlock, QRL_DATA_FORMAT); } else if (isNullish(inputBlock)) { inputBlockFormatted = web3Context.defaultBlock; } else { - inputBlockFormatted = format({ format: 'uint' }, inputBlock, ZOND_DATA_FORMAT); + inputBlockFormatted = format({ format: 'uint' }, inputBlock, QRL_DATA_FORMAT); } await getBlock(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); expect( - inputBlockIsBytes ? zondRpcMethods.getBlockByHash : zondRpcMethods.getBlockByNumber, + inputBlockIsBytes ? qrlRpcMethods.getBlockByHash : qrlRpcMethods.getBlockByNumber, ).toHaveBeenCalledWith(web3Context.requestManager, inputBlockFormatted, hydrated); }, ); @@ -76,8 +76,8 @@ describe('getBlock', () => { const inputBlockIsBytes = isBytes(inputBlock as Bytes); ( (inputBlockIsBytes - ? zondRpcMethods.getBlockByHash - : zondRpcMethods.getBlockByNumber) as jest.Mock + ? qrlRpcMethods.getBlockByHash + : qrlRpcMethods.getBlockByNumber) as jest.Mock ).mockResolvedValueOnce(expectedMockRpcResponse); const result = await getBlock(web3Context, ...inputParameters, expectedReturnFormat); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_block_number.test.ts similarity index 84% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_block_number.test.ts index 83ddad1a..66ef6654 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_number.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_block_number.test.ts @@ -20,16 +20,16 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getBlockNumber } from '../../../src/rpc_method_wrappers'; jest.mock('@theqrl/web3-rpc-methods'); describe('getBlockNumber', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -37,7 +37,7 @@ describe('getBlockNumber', () => { it('should call rpcMethods.getBlockNumber with expected parameters', async () => { await getBlockNumber(web3Context, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getBlockNumber).toHaveBeenCalledWith(web3Context.requestManager); + expect(qrlRpcMethods.getBlockNumber).toHaveBeenCalledWith(web3Context.requestManager); }); it('should format mockRpcResponse using provided return format', async () => { @@ -48,7 +48,7 @@ describe('getBlockNumber', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getBlockNumber as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getBlockNumber as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getBlockNumber(web3Context, expectedReturnFormat); expect(result).toBe(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_transaction_count.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_block_transaction_count.test.ts similarity index 86% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_block_transaction_count.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_block_transaction_count.test.ts index c5d1920c..a914c877 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_block_transaction_count.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_block_transaction_count.test.ts @@ -17,15 +17,15 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, Bytes, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isBytes, isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getBlockTransactionCount } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_block_transaction_count'; @@ -33,7 +33,7 @@ import { mockRpcResponse, testData } from './fixtures/get_block_transaction_coun jest.mock('@theqrl/web3-rpc-methods'); describe('getBlockTransactionCount', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -48,18 +48,18 @@ describe('getBlockTransactionCount', () => { let inputBlockFormatted; if (inputBlockIsBytes) { - inputBlockFormatted = format({ format: 'bytes32' }, inputBlock, ZOND_DATA_FORMAT); + inputBlockFormatted = format({ format: 'bytes32' }, inputBlock, QRL_DATA_FORMAT); } else if (isNullish(inputBlock)) { inputBlockFormatted = web3Context.defaultBlock; } else { - inputBlockFormatted = format({ format: 'uint' }, inputBlock, ZOND_DATA_FORMAT); + inputBlockFormatted = format({ format: 'uint' }, inputBlock, QRL_DATA_FORMAT); } await getBlockTransactionCount(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); expect( inputBlockIsBytes - ? zondRpcMethods.getBlockTransactionCountByHash - : zondRpcMethods.getBlockTransactionCountByNumber, + ? qrlRpcMethods.getBlockTransactionCountByHash + : qrlRpcMethods.getBlockTransactionCountByNumber, ).toHaveBeenCalledWith(web3Context.requestManager, inputBlockFormatted); }, ); @@ -77,8 +77,8 @@ describe('getBlockTransactionCount', () => { const inputBlockIsBytes = isBytes(inputBlock as Bytes); ( (inputBlockIsBytes - ? zondRpcMethods.getBlockTransactionCountByHash - : zondRpcMethods.getBlockTransactionCountByNumber) as jest.Mock + ? qrlRpcMethods.getBlockTransactionCountByHash + : qrlRpcMethods.getBlockTransactionCountByNumber) as jest.Mock ).mockResolvedValueOnce(mockRpcResponse); const result = await getBlockTransactionCount( diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_chain_id.test.ts similarity index 84% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_chain_id.test.ts index d455c79e..b2f46f6e 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_chain_id.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_chain_id.test.ts @@ -20,16 +20,16 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getChainId } from '../../../src/rpc_method_wrappers'; jest.mock('@theqrl/web3-rpc-methods'); describe('getChainId', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -37,7 +37,7 @@ describe('getChainId', () => { it('should call rpcMethods.getBlockNumber with expected parameters', async () => { await getChainId(web3Context, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getChainId).toHaveBeenCalledWith(web3Context.requestManager); + expect(qrlRpcMethods.getChainId).toHaveBeenCalledWith(web3Context.requestManager); }); it('should format mockRpcResponse using provided return format', async () => { @@ -48,7 +48,7 @@ describe('getChainId', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getChainId as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getChainId as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getChainId(web3Context, expectedReturnFormat); expect(result).toBe(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_code.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_code.test.ts similarity index 88% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_code.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_code.test.ts index bf0f88ee..3d51f4f0 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_code.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_code.test.ts @@ -17,14 +17,14 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getCode } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_code'; @@ -32,7 +32,7 @@ import { mockRpcResponse, testData } from './fixtures/get_code'; jest.mock('@theqrl/web3-rpc-methods'); describe('getCode', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -51,12 +51,12 @@ describe('getCode', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await getCode(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getCode).toHaveBeenCalledWith( + expect(qrlRpcMethods.getCode).toHaveBeenCalledWith( web3Context.requestManager, inputAddress, inputBlockNumberFormatted, @@ -73,7 +73,7 @@ describe('getCode', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getCode as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getCode as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getCode(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_fee_history.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_fee_history.test.ts similarity index 89% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_fee_history.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_fee_history.test.ts index 0789e142..1c55656a 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_fee_history.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_fee_history.test.ts @@ -17,14 +17,14 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getFeeHistory } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_fee_history'; @@ -34,7 +34,7 @@ import { NUMBER_DATA_FORMAT } from '../../../src/constants'; jest.mock('@theqrl/web3-rpc-methods'); describe('getFeeHistory', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -47,7 +47,7 @@ describe('getFeeHistory', () => { const inputBlockCountFormatted = format( { format: 'uint' }, inputBlockCount, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); const inputRewardPercentilesFormatted = format( { @@ -68,12 +68,12 @@ describe('getFeeHistory', () => { inputNewestBlockFormatted = format( { format: 'uint' }, inputNewestBlock, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await getFeeHistory(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getFeeHistory).toHaveBeenCalledWith( + expect(qrlRpcMethods.getFeeHistory).toHaveBeenCalledWith( web3Context.requestManager, inputBlockCountFormatted, inputNewestBlockFormatted, @@ -91,7 +91,7 @@ describe('getFeeHistory', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getFeeHistory as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getFeeHistory as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getFeeHistory( web3Context, diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_gas_price.test.ts similarity index 84% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_gas_price.test.ts index 987ce286..4f7c39c3 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_gas_price.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_gas_price.test.ts @@ -20,16 +20,16 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getGasPrice } from '../../../src/rpc_method_wrappers'; jest.mock('@theqrl/web3-rpc-methods'); describe('getGasPrice', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -37,7 +37,7 @@ describe('getGasPrice', () => { it('should call rpcMethods.getGasPrice with expected parameters', async () => { await getGasPrice(web3Context, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getGasPrice).toHaveBeenCalledWith(web3Context.requestManager); + expect(qrlRpcMethods.getGasPrice).toHaveBeenCalledWith(web3Context.requestManager); }); it('should format mockRpcResponse using provided return format', async () => { @@ -48,7 +48,7 @@ describe('getGasPrice', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getGasPrice as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getGasPrice as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getGasPrice(web3Context, expectedReturnFormat); expect(result).toBe(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_logs.test.ts similarity index 85% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_logs.test.ts index 6d2e7e29..66488a48 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_logs.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_logs.test.ts @@ -20,9 +20,9 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getLogs } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_logs'; @@ -31,7 +31,7 @@ import { logSchema } from '../../../src/schemas'; jest.mock('@theqrl/web3-rpc-methods'); describe('getLogs', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -40,9 +40,9 @@ describe('getLogs', () => { it.each(testData)( `should call rpcMethods.getLogs with expected parameters\nTitle: %s\nInput parameters: %s\n`, async (_, inputParameters) => { - (zondRpcMethods.getLogs as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getLogs as jest.Mock).mockResolvedValueOnce(mockRpcResponse); await getLogs(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getLogs).toHaveBeenCalledWith( + expect(qrlRpcMethods.getLogs).toHaveBeenCalledWith( web3Context.requestManager, ...inputParameters, ); @@ -60,7 +60,7 @@ describe('getLogs', () => { return format(logSchema, res, expectedReturnFormat); }); - (zondRpcMethods.getLogs as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getLogs as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getLogs(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts similarity index 82% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts index 5f82d524..49f1da15 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_pending_transactions.test.ts @@ -19,9 +19,9 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getPendingTransactions } from '../../../src/rpc_method_wrappers'; import { formatTransaction } from '../../../src'; @@ -30,16 +30,16 @@ import { mockRpcResponse } from './fixtures/get_pending_transactions'; jest.mock('@theqrl/web3-rpc-methods'); describe('getPendingTransactions', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); }); it('should call rpcMethods.getPendingTransactions with expected parameters', async () => { - (zondRpcMethods.getPendingTransactions as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getPendingTransactions as jest.Mock).mockResolvedValueOnce(mockRpcResponse); await getPendingTransactions(web3Context, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getPendingTransactions).toHaveBeenCalledWith( + expect(qrlRpcMethods.getPendingTransactions).toHaveBeenCalledWith( web3Context.requestManager, ); }); @@ -49,7 +49,7 @@ describe('getPendingTransactions', () => { const expectedFormattedResult = mockRpcResponse.map(transaction => formatTransaction(transaction, expectedReturnFormat), ); - (zondRpcMethods.getPendingTransactions as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getPendingTransactions as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getPendingTransactions(web3Context, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_proof.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_proof.test.ts similarity index 87% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_proof.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_proof.test.ts index 5db6b5a6..3f65ef10 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_proof.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_proof.test.ts @@ -17,14 +17,14 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getProof } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_proof'; @@ -33,7 +33,7 @@ import { accountSchema } from '../../../src/schemas'; jest.mock('@theqrl/web3-rpc-methods'); describe('getProof', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -44,7 +44,7 @@ describe('getProof', () => { async (_, inputParameters) => { const [inputAddress, inputStorageKey, inputBlockNumber] = inputParameters; const inputStorageKeyFormatted = inputStorageKey.map(s => - format({ format: 'bytes' }, s, ZOND_DATA_FORMAT), + format({ format: 'bytes' }, s, QRL_DATA_FORMAT), ); let inputBlockNumberFormatted; @@ -55,12 +55,12 @@ describe('getProof', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await getProof(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getProof).toHaveBeenCalledWith( + expect(qrlRpcMethods.getProof).toHaveBeenCalledWith( web3Context.requestManager, inputAddress, inputStorageKeyFormatted, @@ -78,7 +78,7 @@ describe('getProof', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getProof as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getProof as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getProof(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_protocol_version.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_protocol_version.test.ts similarity index 80% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_protocol_version.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_protocol_version.test.ts index e0bcf426..6b21df8c 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_protocol_version.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_protocol_version.test.ts @@ -15,15 +15,15 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { Web3ZondExecutionAPI } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { Web3QRLExecutionAPI } from '@theqrl/web3-types'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getProtocolVersion } from '../../../src/rpc_method_wrappers'; jest.mock('@theqrl/web3-rpc-methods'); describe('getProtocolVersion', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -31,6 +31,6 @@ describe('getProtocolVersion', () => { it('should call rpcMethods.getProtocolVersion with expected parameters', async () => { await getProtocolVersion(web3Context); - expect(zondRpcMethods.getProtocolVersion).toHaveBeenCalledWith(web3Context.requestManager); + expect(qrlRpcMethods.getProtocolVersion).toHaveBeenCalledWith(web3Context.requestManager); }); }); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_storage_at.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_storage_at.test.ts similarity index 87% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_storage_at.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_storage_at.test.ts index b2ab1edf..d1f94036 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_storage_at.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_storage_at.test.ts @@ -17,14 +17,14 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getStorageAt } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_storage_at'; @@ -32,7 +32,7 @@ import { mockRpcResponse, testData } from './fixtures/get_storage_at'; jest.mock('@theqrl/web3-rpc-methods'); describe('getStorageAt', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -45,7 +45,7 @@ describe('getStorageAt', () => { const inputStorageSlotFormatted = format( { format: 'uint' }, inputStorageSlot, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); let inputBlockNumberFormatted; @@ -56,12 +56,12 @@ describe('getStorageAt', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await getStorageAt(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getStorageAt).toHaveBeenCalledWith( + expect(qrlRpcMethods.getStorageAt).toHaveBeenCalledWith( web3Context.requestManager, inputAddress, inputStorageSlotFormatted, @@ -79,7 +79,7 @@ describe('getStorageAt', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getStorageAt as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.getStorageAt as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await getStorageAt( web3Context, diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction.test.ts similarity index 89% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction.test.ts index 8501b510..0a6e9690 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction.test.ts @@ -20,9 +20,9 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getTransaction } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_transaction'; @@ -31,7 +31,7 @@ import { formatTransaction, transactionInfoSchema } from '../../../src'; jest.mock('@theqrl/web3-rpc-methods'); describe('getTransaction', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -48,7 +48,7 @@ describe('getTransaction', () => { ); await getTransaction(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getTransactionByHash).toHaveBeenCalledWith( + expect(qrlRpcMethods.getTransactionByHash).toHaveBeenCalledWith( web3Context.requestManager, inputTransactionHashFormatted, ); @@ -64,7 +64,7 @@ describe('getTransaction', () => { expectedReturnFormat, { transactionSchema: transactionInfoSchema }, ); - (zondRpcMethods.getTransactionByHash as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.getTransactionByHash as jest.Mock).mockResolvedValueOnce( mockRpcResponse, ); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_count.test.ts similarity index 88% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_count.test.ts index 5aca8def..84529c0a 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_count.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_count.test.ts @@ -17,14 +17,14 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getTransactionCount } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_transaction_count'; @@ -32,7 +32,7 @@ import { mockRpcResponse, testData } from './fixtures/get_transaction_count'; jest.mock('@theqrl/web3-rpc-methods'); describe('getTransactionCount', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -51,12 +51,12 @@ describe('getTransactionCount', () => { inputBlockNumberFormatted = format( { format: 'uint' }, inputBlockNumber, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); } await getTransactionCount(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getTransactionCount).toHaveBeenCalledWith( + expect(qrlRpcMethods.getTransactionCount).toHaveBeenCalledWith( web3Context.requestManager, inputAddress, inputBlockNumberFormatted, @@ -73,7 +73,7 @@ describe('getTransactionCount', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getTransactionCount as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.getTransactionCount as jest.Mock).mockResolvedValueOnce( mockRpcResponse, ); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_from_block.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_from_block.test.ts similarity index 86% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_from_block.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_from_block.test.ts index 155ed73b..c09064e6 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_from_block.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_from_block.test.ts @@ -17,15 +17,15 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; import { - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, DEFAULT_RETURN_FORMAT, FMT_NUMBER, FMT_BYTES, Bytes, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isBytes, isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getTransactionFromBlock } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_transaction_from_block'; @@ -34,7 +34,7 @@ import { formatTransaction, transactionInfoSchema } from '../../../src'; jest.mock('@theqrl/web3-rpc-methods'); describe('getTransactionFromBlock', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -48,24 +48,24 @@ describe('getTransactionFromBlock', () => { const inputTransactionIndexFormatted = format( { format: 'uint' }, inputTransactionIndex, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, ); let inputBlockFormatted; if (inputBlockIsBytes) { - inputBlockFormatted = format({ format: 'bytes32' }, inputBlock, ZOND_DATA_FORMAT); + inputBlockFormatted = format({ format: 'bytes32' }, inputBlock, QRL_DATA_FORMAT); } else if (isNullish(inputBlock)) { inputBlockFormatted = web3Context.defaultBlock; } else { - inputBlockFormatted = format({ format: 'uint' }, inputBlock, ZOND_DATA_FORMAT); + inputBlockFormatted = format({ format: 'uint' }, inputBlock, QRL_DATA_FORMAT); } await getTransactionFromBlock(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); expect( inputBlockIsBytes - ? zondRpcMethods.getTransactionByBlockHashAndIndex - : zondRpcMethods.getTransactionByBlockNumberAndIndex, + ? qrlRpcMethods.getTransactionByBlockHashAndIndex + : qrlRpcMethods.getTransactionByBlockNumberAndIndex, ).toHaveBeenCalledWith( web3Context.requestManager, inputBlockFormatted, @@ -87,8 +87,8 @@ describe('getTransactionFromBlock', () => { const inputBlockIsBytes = isBytes(inputBlock as Bytes); ( (inputBlockIsBytes - ? zondRpcMethods.getTransactionByBlockHashAndIndex - : zondRpcMethods.getTransactionByBlockNumberAndIndex) as jest.Mock + ? qrlRpcMethods.getTransactionByBlockHashAndIndex + : qrlRpcMethods.getTransactionByBlockNumberAndIndex) as jest.Mock ).mockResolvedValueOnce(mockRpcResponse); const result = await getTransactionFromBlock( diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts similarity index 89% rename from packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts index fe3bec4a..c1af2334 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/get_transaction_receipt.test.ts @@ -20,9 +20,9 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { getTransactionReceipt } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData } from './fixtures/get_transaction_receipt'; @@ -31,7 +31,7 @@ import { transactionReceiptSchema } from '../../../src/schemas'; jest.mock('@theqrl/web3-rpc-methods'); describe('getTransactionReceipt', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -48,7 +48,7 @@ describe('getTransactionReceipt', () => { ); await getTransactionReceipt(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.getTransactionReceipt).toHaveBeenCalledWith( + expect(qrlRpcMethods.getTransactionReceipt).toHaveBeenCalledWith( web3Context.requestManager, inputTransactionHashFormatted, ); @@ -64,7 +64,7 @@ describe('getTransactionReceipt', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.getTransactionReceipt as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.getTransactionReceipt as jest.Mock).mockResolvedValueOnce( mockRpcResponse, ); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/is_syncing.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/is_syncing.test.ts similarity index 80% rename from packages/web3-zond/test/unit/rpc_method_wrappers/is_syncing.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/is_syncing.test.ts index 063c7fb5..94af57c4 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/is_syncing.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/is_syncing.test.ts @@ -15,15 +15,15 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; -import { Web3ZondExecutionAPI } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { Web3QRLExecutionAPI } from '@theqrl/web3-types'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { isSyncing } from '../../../src/rpc_method_wrappers'; jest.mock('@theqrl/web3-rpc-methods'); describe('isSyncing', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -31,6 +31,6 @@ describe('isSyncing', () => { it('should call rpcMethods.getSyncing with expected parameters', async () => { await isSyncing(web3Context); - expect(zondRpcMethods.getSyncing).toHaveBeenCalledWith(web3Context.requestManager); + expect(qrlRpcMethods.getSyncing).toHaveBeenCalledWith(web3Context.requestManager); }); }); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/send_signed_transaction.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/send_signed_transaction.test.ts similarity index 92% rename from packages/web3-zond/test/unit/rpc_method_wrappers/send_signed_transaction.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/send_signed_transaction.test.ts index 5ae40d53..58f42dfe 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/send_signed_transaction.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/send_signed_transaction.test.ts @@ -16,8 +16,8 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, Web3ZondExecutionAPI } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { DEFAULT_RETURN_FORMAT, Web3QRLExecutionAPI } from '@theqrl/web3-types'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { sendSignedTransaction } from '../../../src/rpc_method_wrappers'; import * as WaitForTransactionReceipt from '../../../src/utils/wait_for_transaction_receipt'; @@ -37,7 +37,7 @@ describe('sendTransaction', () => { const testMessage = 'Title: %s\ninputSignedTransaction: %s\nexpectedTransactionHash: %s\nexpectedTransactionReceipt: %s\n'; - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -70,7 +70,7 @@ describe('sendTransaction', () => { ); it.each(testData)( - `should call zondRpcMethods.sendRawTransaction with expected parameters\n ${testMessage}`, + `should call qrlRpcMethods.sendRawTransaction with expected parameters\n ${testMessage}`, async (_, inputSignedTransaction) => { ( WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock @@ -82,7 +82,7 @@ describe('sendTransaction', () => { DEFAULT_RETURN_FORMAT, ); await sendSignedTransaction(web3Context, inputSignedTransaction, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.sendRawTransaction).toHaveBeenCalledWith( + expect(qrlRpcMethods.sendRawTransaction).toHaveBeenCalledWith( web3Context.requestManager, inputSignedTransactionFormatted, ); @@ -121,7 +121,7 @@ describe('sendTransaction', () => { WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock ).mockResolvedValueOnce(expectedTransactionReceipt); - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); @@ -140,7 +140,7 @@ describe('sendTransaction', () => { it.each(testData)( `should call WaitForTransactionReceipt.waitForTransactionReceipt with expected parameters\n ${testMessage}`, async (_, inputSignedTransaction) => { - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); ( @@ -163,7 +163,7 @@ describe('sendTransaction', () => { .spyOn(WaitForTransactionReceipt, 'waitForTransactionReceipt') .mockResolvedValueOnce(expectedTransactionReceipt); - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); @@ -237,7 +237,7 @@ describe('sendTransaction', () => { DEFAULT_RETURN_FORMAT, ); - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); ( diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/send_transaction.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/send_transaction.test.ts similarity index 92% rename from packages/web3-zond/test/unit/rpc_method_wrappers/send_transaction.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/send_transaction.test.ts index 5fc116ff..40901b13 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/send_transaction.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/send_transaction.test.ts @@ -16,9 +16,9 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, ZOND_DATA_FORMAT, Web3ZondExecutionAPI } from '@theqrl/web3-types'; +import { DEFAULT_RETURN_FORMAT, QRL_DATA_FORMAT, Web3QRLExecutionAPI } from '@theqrl/web3-types'; import { isNullish } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { sendTransaction } from '../../../src/rpc_method_wrappers'; import { formatTransaction } from '../../../src'; @@ -40,7 +40,7 @@ describe('sendTransaction', () => { const testMessage = 'Title: %s\ninputTransaction: %s\nsendTransactionOptions: %s\nexpectedTransactionHash: %s\nexpectedTransactionReceipt: %s\n'; - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -80,7 +80,7 @@ describe('sendTransaction', () => { it.each(testData)( `sending event should emit with formattedTransaction\n ${testMessage}`, async (_, inputTransaction, sendTransactionOptions) => { - const formattedTransaction = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const formattedTransaction = formatTransaction(inputTransaction, QRL_DATA_FORMAT); (WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock).mockResolvedValue( expectedTransactionReceipt, ); @@ -98,9 +98,9 @@ describe('sendTransaction', () => { ); it.each(testData)( - `should call zondRpcMethods.sendTransaction with expected parameters\n ${testMessage}`, + `should call qrlRpcMethods.sendTransaction with expected parameters\n ${testMessage}`, async (_, inputTransaction, sendTransactionOptions) => { - const formattedTransaction = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const formattedTransaction = formatTransaction(inputTransaction, QRL_DATA_FORMAT); (WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock).mockResolvedValue( expectedTransactionReceipt, ); @@ -110,7 +110,7 @@ describe('sendTransaction', () => { DEFAULT_RETURN_FORMAT, sendTransactionOptions, ); - expect(zondRpcMethods.sendTransaction).toHaveBeenCalledWith( + expect(qrlRpcMethods.sendTransaction).toHaveBeenCalledWith( web3Context.requestManager, formattedTransaction, ); @@ -120,7 +120,7 @@ describe('sendTransaction', () => { it.each(testData)( `sent event should emit with formattedTransaction\n ${testMessage}`, async (_, inputTransaction, sendTransactionOptions) => { - const formattedTransaction = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const formattedTransaction = formatTransaction(inputTransaction, QRL_DATA_FORMAT); (WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock).mockResolvedValue( expectedTransactionReceipt, ); @@ -141,7 +141,7 @@ describe('sendTransaction', () => { it.each(testData)( `transactionHash event should emit with expectedTransactionHash\n ${testMessage}`, async (_, inputTransaction, sendTransactionOptions) => { - (zondRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); (WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock).mockResolvedValue( @@ -164,7 +164,7 @@ describe('sendTransaction', () => { it.each(testData)( `should call WaitForTransactionReceipt.waitForTransactionReceipt with expected parameters\n ${testMessage}`, async (_, inputTransaction, sendTransactionOptions) => { - (zondRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); (WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock).mockResolvedValue( @@ -192,7 +192,7 @@ describe('sendTransaction', () => { .spyOn(WaitForTransactionReceipt, 'waitForTransactionReceipt') .mockResolvedValueOnce(expectedTransactionReceipt); - (zondRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); @@ -271,7 +271,7 @@ describe('sendTransaction', () => { DEFAULT_RETURN_FORMAT, ); - (zondRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); ( diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/sign.test.ts similarity index 90% rename from packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/sign.test.ts index efe5284d..e6907030 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/sign.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/sign.test.ts @@ -20,10 +20,10 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; -import { Wallet } from '@theqrl/web3-zond-accounts'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; +import { Wallet } from '@theqrl/web3-qrl-accounts'; import { sign } from '../../../src/rpc_method_wrappers'; import { mockRpcResponse, testData, walletTestData } from './fixtures/sign'; import { createAccountProvider } from '../../fixtures/system_test_utils'; @@ -32,7 +32,7 @@ import { SignatureObjectSchema } from '../../../src/schemas'; jest.mock('@theqrl/web3-rpc-methods'); describe('sign', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -48,7 +48,7 @@ describe('sign', () => { DEFAULT_RETURN_FORMAT, ); await sign(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.sign).toHaveBeenCalledWith( + expect(qrlRpcMethods.sign).toHaveBeenCalledWith( web3Context.requestManager, inputAddress, inputMessageFormatted, @@ -84,7 +84,7 @@ describe('sign', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.sign as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.sign as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await sign(web3Context, ...inputParameters, expectedReturnFormat); expect(result).toStrictEqual(expectedFormattedResult); diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/sign_transaction.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/sign_transaction.test.ts similarity index 85% rename from packages/web3-zond/test/unit/rpc_method_wrappers/sign_transaction.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/sign_transaction.test.ts index 1f957d0e..a026edc0 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/sign_transaction.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/sign_transaction.test.ts @@ -17,12 +17,12 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; import { DEFAULT_RETURN_FORMAT, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, SignedTransactionInfoAPI, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; import { isString } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { signTransaction } from '../../../src/rpc_method_wrappers'; import { returnFormat, testData } from './fixtures/sign_transaction'; @@ -31,7 +31,7 @@ import { formatTransaction } from '../../../src'; jest.mock('@theqrl/web3-rpc-methods'); describe('signTransaction', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -41,16 +41,16 @@ describe('signTransaction', () => { `should call rpcMethods.signTransaction with expected parameters\nTitle: %s\nInput parameters: %s\n`, async (_, inputParameters) => { const [inputTransaction, signedTransactionInfo] = inputParameters; - const inputTransactionFormatted = formatTransaction(inputTransaction, ZOND_DATA_FORMAT); + const inputTransactionFormatted = formatTransaction(inputTransaction, QRL_DATA_FORMAT); - (zondRpcMethods.signTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.signTransaction as jest.Mock).mockResolvedValueOnce( isString(signedTransactionInfo as string) ? signedTransactionInfo : (signedTransactionInfo as SignedTransactionInfoAPI).raw, ); await signTransaction(web3Context, inputTransaction, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.signTransaction).toHaveBeenCalledWith( + expect(qrlRpcMethods.signTransaction).toHaveBeenCalledWith( web3Context.requestManager, inputTransactionFormatted, ); @@ -62,7 +62,7 @@ describe('signTransaction', () => { async (_, inputParameters) => { const [inputTransaction, signedTransactionInfo, expectedFormattedResult] = inputParameters; - (zondRpcMethods.signTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.signTransaction as jest.Mock).mockResolvedValueOnce( isString(signedTransactionInfo as string) ? signedTransactionInfo : (signedTransactionInfo as SignedTransactionInfoAPI).raw, diff --git a/packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/sign_typed_data.test.ts similarity index 87% rename from packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts rename to packages/web3-qrl/test/unit/rpc_method_wrappers/sign_typed_data.test.ts index b7cc90af..f72f8e01 100644 --- a/packages/web3-zond/test/unit/rpc_method_wrappers/sign_typed_data.test.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/sign_typed_data.test.ts @@ -19,9 +19,9 @@ import { DEFAULT_RETURN_FORMAT, FMT_BYTES, FMT_NUMBER, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { format } from '@theqrl/web3-utils'; import { signTypedData } from '../../../src/rpc_method_wrappers'; @@ -30,7 +30,7 @@ import { testData, mockRpcResponse } from './fixtures/sign_typed_data'; jest.mock('@theqrl/web3-rpc-methods'); describe('signTypedData', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context('http://127.0.0.1:8545'); @@ -40,7 +40,7 @@ describe('signTypedData', () => { `should call rpcMethods.signTypedData with expected parameters\nTitle: %s\nInput parameters: %s\n`, async (_, inputParameters) => { await signTypedData(web3Context, ...inputParameters, DEFAULT_RETURN_FORMAT); - expect(zondRpcMethods.signTypedData).toHaveBeenCalledWith( + expect(qrlRpcMethods.signTypedData).toHaveBeenCalledWith( web3Context.requestManager, ...inputParameters, ); @@ -56,7 +56,7 @@ describe('signTypedData', () => { mockRpcResponse, expectedReturnFormat, ); - (zondRpcMethods.signTypedData as jest.Mock).mockResolvedValueOnce(mockRpcResponse); + (qrlRpcMethods.signTypedData as jest.Mock).mockResolvedValueOnce(mockRpcResponse); const result = await signTypedData( web3Context, diff --git a/packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts b/packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts similarity index 84% rename from packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts rename to packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts index 80aec4e0..48c90522 100644 --- a/packages/web3-zond/test/unit/utils/getTransactionFromOrToAttr.test.ts +++ b/packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { Web3Context } from '@theqrl/web3-core'; -import { Wallet } from '@theqrl/web3-zond-accounts'; +import { Wallet } from '@theqrl/web3-qrl-accounts'; import { getTransactionFromOrToAttr } from '../../../src/utils/transaction_builder'; import { validGetTransactionFromOrToAttrData, @@ -26,7 +26,7 @@ import { } from '../../fixtures/format_transaction'; import { createAccountProvider } from '../../fixtures/system_test_utils'; -import Web3Zond from '../../../src'; +import Web3QRL from '../../../src'; describe('getTransactionFromOrToAttr', () => { const web3Context = new Web3Context(); @@ -53,14 +53,14 @@ describe('getTransactionFromOrToAttr', () => { const seed = '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa'; // setup wallet - const web3Zond = new Web3Zond('http://localhost:8545'); - const accountProvider = createAccountProvider(web3Zond); + const web3QRL = new Web3QRL('http://localhost:8545'); + const accountProvider = createAccountProvider(web3QRL); const wallet = new Wallet(accountProvider); - web3Zond.wallet?.add(seed); - web3Zond['_wallet'] = wallet; + web3QRL.wallet?.add(seed); + web3QRL['_wallet'] = wallet; const { role, transaction } = input; - expect(() => getTransactionFromOrToAttr(role, web3Zond, transaction)).toThrow( + expect(() => getTransactionFromOrToAttr(role, web3QRL, transaction)).toThrow( output, ); }, diff --git a/packages/web3-zond/test/unit/utils/get_revert_reason.test.ts b/packages/web3-qrl/test/unit/utils/get_revert_reason.test.ts similarity index 86% rename from packages/web3-zond/test/unit/utils/get_revert_reason.test.ts rename to packages/web3-qrl/test/unit/utils/get_revert_reason.test.ts index 6bdaa09b..d1fc9c14 100644 --- a/packages/web3-zond/test/unit/utils/get_revert_reason.test.ts +++ b/packages/web3-qrl/test/unit/utils/get_revert_reason.test.ts @@ -28,8 +28,8 @@ describe('getRevertReason', () => { const callSpy = jest.spyOn(RpcMethodWrappers, 'call').mockImplementation(); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -51,8 +51,8 @@ describe('getRevertReason', () => { ); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -70,7 +70,7 @@ describe('getRevertReason', () => { error: { code: -32000, message: - 'err: insufficient funds for gas * price + value: address Z0000000000000000000000000000000000000000 have 66 want 9983799287684 (supplied gas 26827)', + 'err: insufficient funds for gas * price + value: address Q0000000000000000000000000000000000000000 have 66 want 9983799287684 (supplied gas 26827)', }, }; const parseTransactionErrorSpy = jest @@ -79,8 +79,8 @@ describe('getRevertReason', () => { jest.spyOn(RpcMethodWrappers, 'call').mockRejectedValueOnce(expectedError); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -98,7 +98,7 @@ describe('getRevertReason', () => { error: { code: -32000, message: - 'err: insufficient funds for gas * price + value: address Z0000000000000000000000000000000000000000 have 66 want 9983799287684 (supplied gas 26827)', + 'err: insufficient funds for gas * price + value: address Q0000000000000000000000000000000000000000 have 66 want 9983799287684 (supplied gas 26827)', }, }; const parseTransactionErrorSpy = jest @@ -107,8 +107,8 @@ describe('getRevertReason', () => { jest.spyOn(RpcMethodWrappers, 'call').mockRejectedValueOnce(expectedError); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', diff --git a/packages/web3-zond/test/unit/utils/get_transaction_error.test.ts b/packages/web3-qrl/test/unit/utils/get_transaction_error.test.ts similarity index 89% rename from packages/web3-zond/test/unit/utils/get_transaction_error.test.ts rename to packages/web3-qrl/test/unit/utils/get_transaction_error.test.ts index 0c11731d..1ed085b2 100644 --- a/packages/web3-zond/test/unit/utils/get_transaction_error.test.ts +++ b/packages/web3-qrl/test/unit/utils/get_transaction_error.test.ts @@ -46,11 +46,11 @@ describe('getTransactionError', () => { { jsonrpc: '2.0', id: '2568856d-8ee5-43f4-a8db-dbd22cf97a53', - method: 'zond_sendTransaction', + method: 'qrl_sendTransaction', params: [ { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z0000000000000000000000000000000000000000', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', gas: '0x1', maxPriorityFeePerGas: '0x15b61074', @@ -69,8 +69,8 @@ describe('getTransactionError', () => { .mockImplementation(); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -87,8 +87,8 @@ describe('getTransactionError', () => { .mockImplementation(); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -102,8 +102,8 @@ describe('getTransactionError', () => { describe('TransactionRevertedWithoutReasonError', () => { it('should throw TransactionRevertedWithoutReasonError without receipt', async () => { const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -116,8 +116,8 @@ describe('getTransactionError', () => { it('should throw TransactionRevertedWithoutReasonError with receipt', async () => { const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -128,8 +128,8 @@ describe('getTransactionError', () => { transactionIndex: BigInt(0), blockHash: '0xc150c0a7f7f5c9014ea965d19b1be5f5ced07a6b17ea3b1126769d745dde9b2d', blockNumber: BigInt(16738176), - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', cumulativeGasUsed: BigInt(23605), gasUsed: BigInt(23605), effectiveGasPrice: BigInt(2000000000), @@ -158,11 +158,11 @@ describe('getTransactionError', () => { { jsonrpc: '2.0', id: '2568856d-8ee5-43f4-a8db-dbd22cf97a53', - method: 'zond_sendTransaction', + method: 'qrl_sendTransaction', params: [ { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z0000000000000000000000000000000000000000', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', gas: '0x1', maxPriorityFeePerGas: '0x0', @@ -179,8 +179,8 @@ describe('getTransactionError', () => { it('should throw TransactionRevertInstructionError without transaction and with receipt', async () => { const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -191,8 +191,8 @@ describe('getTransactionError', () => { transactionIndex: BigInt(0), blockHash: '0xc150c0a7f7f5c9014ea965d19b1be5f5ced07a6b17ea3b1126769d745dde9b2d', blockNumber: BigInt(16738176), - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', cumulativeGasUsed: BigInt(23605), gasUsed: BigInt(23605), effectiveGasPrice: BigInt(2000000000), @@ -212,11 +212,11 @@ describe('getTransactionError', () => { { jsonrpc: '2.0', id: '2568856d-8ee5-43f4-a8db-dbd22cf97a53', - method: 'zond_sendTransaction', + method: 'qrl_sendTransaction', params: [ { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z0000000000000000000000000000000000000000', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', gas: '0x1', maxPriorityFeePerGas: '0x0', @@ -241,8 +241,8 @@ describe('getTransactionError', () => { }); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -275,8 +275,8 @@ describe('getTransactionError', () => { }); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -287,8 +287,8 @@ describe('getTransactionError', () => { transactionIndex: BigInt(0), blockHash: '0xc150c0a7f7f5c9014ea965d19b1be5f5ced07a6b17ea3b1126769d745dde9b2d', blockNumber: BigInt(16738176), - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', cumulativeGasUsed: BigInt(23605), gasUsed: BigInt(23605), effectiveGasPrice: BigInt(2000000000), @@ -335,8 +335,8 @@ describe('getTransactionError', () => { }); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -381,8 +381,8 @@ describe('getTransactionError', () => { }); const transaction = { - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', data: '0x819f48fe', maxPriorityFeePerGas: '0x0', maxFeePerGas: '0x15ab8f14', @@ -393,8 +393,8 @@ describe('getTransactionError', () => { transactionIndex: BigInt(0), blockHash: '0xc150c0a7f7f5c9014ea965d19b1be5f5ced07a6b17ea3b1126769d745dde9b2d', blockNumber: BigInt(16738176), - from: 'Z4fec0a51024b13030d26e70904b066c6d41157a5', - to: 'Z36361143b7e2c676f8ccd67743a89d26437f0529', + from: 'Q4fec0a51024b13030d26e70904b066c6d41157a5', + to: 'Q36361143b7e2c676f8ccd67743a89d26437f0529', cumulativeGasUsed: BigInt(23605), gasUsed: BigInt(23605), effectiveGasPrice: BigInt(2000000000), diff --git a/packages/web3-zond/test/unit/utils/parse_transaction_error.test.ts b/packages/web3-qrl/test/unit/utils/parse_transaction_error.test.ts similarity index 100% rename from packages/web3-zond/test/unit/utils/parse_transaction_error.test.ts rename to packages/web3-qrl/test/unit/utils/parse_transaction_error.test.ts diff --git a/packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts b/packages/web3-qrl/test/unit/utils/watch_transaction_by_polling.test.ts similarity index 86% rename from packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts rename to packages/web3-qrl/test/unit/utils/watch_transaction_by_polling.test.ts index 82d82166..9a09c6e9 100644 --- a/packages/web3-zond/test/unit/utils/watch_transaction_by_polling.test.ts +++ b/packages/web3-qrl/test/unit/utils/watch_transaction_by_polling.test.ts @@ -16,8 +16,8 @@ along with web3.js. If not, see . */ import { Web3Context } from '@theqrl/web3-core'; import { format } from '@theqrl/web3-utils'; -import { DEFAULT_RETURN_FORMAT, Web3ZondExecutionAPI } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { DEFAULT_RETURN_FORMAT, Web3QRLExecutionAPI } from '@theqrl/web3-types'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import * as rpcMethodWrappers from '../../../src/rpc_method_wrappers'; import * as WaitForTransactionReceipt from '../../../src/utils/wait_for_transaction_receipt'; @@ -41,7 +41,7 @@ const testMessage = 'Title: %s\ninputSignedTransaction: %s\nexpectedTransactionHash: %s\nexpectedTransactionReceipt: %s\n'; describe('watchTransactionByPolling', () => { describe('should call getBlockByNumber', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context( @@ -51,7 +51,7 @@ describe('watchTransactionByPolling', () => { }, ); - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockResolvedValue(mockBlockData as any); + jest.spyOn(qrlRpcMethods, 'getBlockByNumber').mockResolvedValue(mockBlockData as any); }); it.each(testData)( @@ -67,7 +67,7 @@ describe('watchTransactionByPolling', () => { WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock ).mockResolvedValueOnce(expectedTransactionReceipt); - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); @@ -85,7 +85,7 @@ describe('watchTransactionByPolling', () => { }); await sleep(1000); - expect(zondRpcMethods.getBlockByNumber).toHaveBeenCalled(); + expect(qrlRpcMethods.getBlockByNumber).toHaveBeenCalled(); // to clear the interval inside the polling function: web3Context.transactionConfirmationBlocks = 0; diff --git a/packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts b/packages/web3-qrl/test/unit/utils/watch_transaction_for_confirmations.test.ts similarity index 94% rename from packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts rename to packages/web3-qrl/test/unit/utils/watch_transaction_for_confirmations.test.ts index 97875bae..1120eba6 100644 --- a/packages/web3-zond/test/unit/utils/watch_transaction_for_confirmations.test.ts +++ b/packages/web3-qrl/test/unit/utils/watch_transaction_for_confirmations.test.ts @@ -19,9 +19,9 @@ import { format } from '@theqrl/web3-utils'; import { DEFAULT_RETURN_FORMAT, TransactionReceipt, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; import { TransactionMissingReceiptOrBlockHashError, TransactionReceiptMissingBlockNumberError, @@ -49,7 +49,7 @@ const testMessage = 'Title: %s\ninputSignedTransaction: %s\nexpectedTransactionHash: %s\nexpectedTransactionReceipt: %s\n'; describe('watchTransactionForConfirmations', () => { describe('should throw when transaction receipt has something wrong', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context( @@ -104,7 +104,7 @@ describe('watchTransactionForConfirmations', () => { }); describe('should call watchTransactionBySubscription when the provider supports subscription', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context( @@ -131,7 +131,7 @@ describe('watchTransactionForConfirmations', () => { WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock ).mockResolvedValueOnce(expectedTransactionReceipt); - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); @@ -169,7 +169,7 @@ describe('watchTransactionForConfirmations', () => { }); describe('should call watchTransactionByPoolling when the provider does not support subscription', () => { - let web3Context: Web3Context; + let web3Context: Web3Context; beforeAll(() => { web3Context = new Web3Context( @@ -196,7 +196,7 @@ describe('watchTransactionForConfirmations', () => { WaitForTransactionReceipt.waitForTransactionReceipt as jest.Mock ).mockResolvedValueOnce(expectedTransactionReceipt); - (zondRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( + (qrlRpcMethods.sendRawTransaction as jest.Mock).mockResolvedValueOnce( expectedTransactionHash, ); diff --git a/packages/web3-zond/test/unit/validate_transaction_for_signing.test.ts b/packages/web3-qrl/test/unit/validate_transaction_for_signing.test.ts similarity index 100% rename from packages/web3-zond/test/unit/validate_transaction_for_signing.test.ts rename to packages/web3-qrl/test/unit/validate_transaction_for_signing.test.ts diff --git a/packages/web3-zond/test/unit/validation.test.ts b/packages/web3-qrl/test/unit/validation.test.ts similarity index 100% rename from packages/web3-zond/test/unit/validation.test.ts rename to packages/web3-qrl/test/unit/validation.test.ts diff --git a/packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts b/packages/web3-qrl/test/unit/web3_qrl_calculate_fee_data.test.ts similarity index 69% rename from packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts rename to packages/web3-qrl/test/unit/web3_qrl_calculate_fee_data.test.ts index 0fe9c641..1889d93f 100644 --- a/packages/web3-zond/test/unit/web3_zond_calculate_fee_data.test.ts +++ b/packages/web3-qrl/test/unit/web3_qrl_calculate_fee_data.test.ts @@ -15,29 +15,29 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; -import Web3Zond from '../../src/index'; +import Web3QRL from '../../src/index'; jest.mock('@theqrl/web3-rpc-methods'); -describe('Web3Zond.calculateFeeData', () => { - let web3Zond: Web3Zond; +describe('Web3QRL.calculateFeeData', () => { + let web3QRL: Web3QRL; beforeAll(() => { - web3Zond = new Web3Zond('http://127.0.0.1:8545'); + web3QRL = new Web3QRL('http://127.0.0.1:8545'); }); it('should return call getBlockByNumber, getMaxPriorityFeePerGas', async () => { - await web3Zond.calculateFeeData(); - // web3Zond.getBlock = jest.fn(); - expect(zondRpcMethods.getBlockByNumber).toHaveBeenCalledWith( - web3Zond.requestManager, + await web3QRL.calculateFeeData(); + // web3QRL.getBlock = jest.fn(); + expect(qrlRpcMethods.getBlockByNumber).toHaveBeenCalledWith( + web3QRL.requestManager, 'latest', false, ); - expect(zondRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith( - web3Zond.requestManager, + expect(qrlRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith( + web3QRL.requestManager, ); }); @@ -46,15 +46,15 @@ describe('Web3Zond.calculateFeeData', () => { const maxPriorityFeePerGas = BigInt(100); const baseFeePerGasFactor = BigInt(3); - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ + jest.spyOn(qrlRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ baseFeePerGas, } as any); // eslint-disable-next-line @typescript-eslint/no-unsafe-call - jest.spyOn(zondRpcMethods, 'getMaxPriorityFeePerGas').mockReturnValueOnce( + jest.spyOn(qrlRpcMethods, 'getMaxPriorityFeePerGas').mockReturnValueOnce( maxPriorityFeePerGas as any, ); - const feeData = await web3Zond.calculateFeeData(baseFeePerGasFactor, maxPriorityFeePerGas); + const feeData = await web3QRL.calculateFeeData(baseFeePerGasFactor, maxPriorityFeePerGas); expect(feeData).toMatchObject({ maxFeePerGas: baseFeePerGas * baseFeePerGasFactor + maxPriorityFeePerGas, maxPriorityFeePerGas, @@ -67,10 +67,10 @@ describe('Web3Zond.calculateFeeData', () => { const alternativeMaxPriorityFeePerGas = BigInt(700); const baseFeePerGasFactor = BigInt(3); - jest.spyOn(zondRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ + jest.spyOn(qrlRpcMethods, 'getBlockByNumber').mockReturnValueOnce({ baseFeePerGas, } as any); - const feeData = await web3Zond.calculateFeeData( + const feeData = await web3QRL.calculateFeeData( baseFeePerGasFactor, alternativeMaxPriorityFeePerGas, ); diff --git a/packages/web3-qrl/test/unit/web3_qrl_methods_no_parameters.test.ts b/packages/web3-qrl/test/unit/web3_qrl_methods_no_parameters.test.ts new file mode 100644 index 00000000..f49d87c0 --- /dev/null +++ b/packages/web3-qrl/test/unit/web3_qrl_methods_no_parameters.test.ts @@ -0,0 +1,72 @@ +/* +This file is part of web3.js. + +web3.js is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +web3.js is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with web3.js. If not, see . +*/ +import { qrlRpcMethods } from '@theqrl/web3-rpc-methods'; + +import Web3QRL from '../../src/index'; + +jest.mock('@theqrl/web3-rpc-methods'); + +describe('web3_qrl_methods_no_parameters', () => { + let web3QRL: Web3QRL; + + beforeAll(() => { + web3QRL = new Web3QRL('http://127.0.0.1:8545'); + }); + + describe('should call RPC method with only request manager parameter', () => { + it('getProtocolVersion', async () => { + await web3QRL.getProtocolVersion(); + expect(qrlRpcMethods.getProtocolVersion).toHaveBeenCalledWith(web3QRL.requestManager); + }); + + it('isSyncing', async () => { + await web3QRL.isSyncing(); + expect(qrlRpcMethods.getSyncing).toHaveBeenCalledWith(web3QRL.requestManager); + }); + + it('getAccounts', async () => { + await web3QRL.getAccounts(); + expect(qrlRpcMethods.getAccounts).toHaveBeenCalledWith(web3QRL.requestManager); + }); + + it('getPendingTransactions', async () => { + (qrlRpcMethods.getPendingTransactions as jest.Mock).mockResolvedValueOnce([]); + + await web3QRL.getPendingTransactions(); + expect(qrlRpcMethods.getPendingTransactions).toHaveBeenCalledWith( + web3QRL.requestManager, + ); + }); + + it('requestAccounts', async () => { + await web3QRL.requestAccounts(); + expect(qrlRpcMethods.requestAccounts).toHaveBeenCalledWith(web3QRL.requestManager); + }); + + it('getNodeInfo', async () => { + await web3QRL.getNodeInfo(); + expect(qrlRpcMethods.getNodeInfo).toHaveBeenCalledWith(web3QRL.requestManager); + }); + + it('getMaxPriorityFeePerGas', async () => { + await web3QRL.getMaxPriorityFeePerGas(); + expect(qrlRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith( + web3QRL.requestManager, + ); + }); + }); +}); diff --git a/packages/web3-zond/test/unit/web3_zond_methods_with_parameters.test.ts b/packages/web3-qrl/test/unit/web3_qrl_methods_with_parameters.test.ts similarity index 83% rename from packages/web3-zond/test/unit/web3_zond_methods_with_parameters.test.ts rename to packages/web3-qrl/test/unit/web3_qrl_methods_with_parameters.test.ts index 4c14ad93..d52c9549 100644 --- a/packages/web3-zond/test/unit/web3_zond_methods_with_parameters.test.ts +++ b/packages/web3-qrl/test/unit/web3_qrl_methods_with_parameters.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import Web3Zond from '../../src/index'; +import Web3QRL from '../../src/index'; import * as rpcMethodWrappers from '../../src/rpc_method_wrappers'; import { getBlockNumberValidData, @@ -40,7 +40,7 @@ import { signValidData, tx, txReceipt, -} from '../fixtures/web3_zond_methods_with_parameters'; +} from '../fixtures/web3_qrl_methods_with_parameters'; import { testData as createAccessListTestData } from './rpc_method_wrappers/fixtures/createAccessList'; @@ -50,20 +50,20 @@ jest.mock('../../src/rpc_method_wrappers'); jest.spyOn(rpcMethodWrappers, 'getTransaction').mockResolvedValue(tx); jest.spyOn(rpcMethodWrappers, 'getTransactionReceipt').mockResolvedValue(txReceipt); -describe('web3_zond_methods_with_parameters', () => { - let web3Zond: Web3Zond; +describe('web3_qrl_methods_with_parameters', () => { + let web3QRL: Web3QRL; beforeAll(() => { - web3Zond = new Web3Zond('http://127.0.0.1:8545'); + web3QRL = new Web3QRL('http://127.0.0.1:8545'); }); describe('should call RPC method with expected parameters', () => { describe('only has returnFormat parameter', () => { describe('getGasPrice', () => { it.each(getGasPriceValidData)('returnFormat: %s', async returnFormat => { - await web3Zond.getGasPrice(returnFormat); + await web3QRL.getGasPrice(returnFormat); expect(rpcMethodWrappers.getGasPrice).toHaveBeenCalledWith( - web3Zond, + web3QRL, returnFormat, ); }); @@ -71,9 +71,9 @@ describe('web3_zond_methods_with_parameters', () => { describe('getBlockNumber', () => { it.each(getBlockNumberValidData)('returnFormat: %s', async returnFormat => { - await web3Zond.getBlockNumber(returnFormat); + await web3QRL.getBlockNumber(returnFormat); expect(rpcMethodWrappers.getBlockNumber).toHaveBeenCalledWith( - web3Zond, + web3QRL, returnFormat, ); }); @@ -81,9 +81,9 @@ describe('web3_zond_methods_with_parameters', () => { describe('getChainId', () => { it.each(getChainIdValidData)('returnFormat: %s', async returnFormat => { - await web3Zond.getChainId(returnFormat); + await web3QRL.getChainId(returnFormat); expect(rpcMethodWrappers.getChainId).toHaveBeenCalledWith( - web3Zond, + web3QRL, returnFormat, ); }); @@ -96,9 +96,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getBalanceValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getBalance(...input); + await web3QRL.getBalance(...input); expect(rpcMethodWrappers.getBalance).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -109,9 +109,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getBlockValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getBlock(...input); + await web3QRL.getBlock(...input); expect(rpcMethodWrappers.getBlock).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -122,9 +122,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getBlockTransactionCountValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getBlockTransactionCount(...input); + await web3QRL.getBlockTransactionCount(...input); expect(rpcMethodWrappers.getBlockTransactionCount).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -135,9 +135,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getTransactionValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getTransaction(...input); + await web3QRL.getTransaction(...input); expect(rpcMethodWrappers.getTransaction).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -148,9 +148,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getTransactionFromBlockValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getTransactionFromBlock(...input); + await web3QRL.getTransactionFromBlock(...input); expect(rpcMethodWrappers.getTransactionFromBlock).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -161,9 +161,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getTransactionReceiptValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getTransactionReceipt(...input); + await web3QRL.getTransactionReceipt(...input); expect(rpcMethodWrappers.getTransactionReceipt).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -174,9 +174,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getTransactionCountValidData)( 'input: %s\rpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getTransactionCount(...input); + await web3QRL.getTransactionCount(...input); expect(rpcMethodWrappers.getTransactionCount).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -187,9 +187,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(estimateGasValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.estimateGas(...input); + await web3QRL.estimateGas(...input); expect(rpcMethodWrappers.estimateGas).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -200,9 +200,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getFeeHistoryValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getFeeHistory(...input); + await web3QRL.getFeeHistory(...input); expect(rpcMethodWrappers.getFeeHistory).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -213,9 +213,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getProofValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getProof(...input); + await web3QRL.getProof(...input); expect(rpcMethodWrappers.getProof).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -226,9 +226,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getStorageAtValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getStorageAt(...input); + await web3QRL.getStorageAt(...input); expect(rpcMethodWrappers.getStorageAt).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -239,9 +239,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getCodeValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getCode(...input); + await web3QRL.getCode(...input); expect(rpcMethodWrappers.getCode).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -252,9 +252,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(sendSignedTransactionValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.sendSignedTransaction(...input); + await web3QRL.sendSignedTransaction(...input); expect(rpcMethodWrappers.sendSignedTransaction).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -265,9 +265,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(signValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.sign(...input); + await web3QRL.sign(...input); expect(rpcMethodWrappers.sign).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -278,9 +278,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getPastLogsValidData)( 'input: %s\nrpcMethodParameters: %s', async (input, rpcMethodParameters) => { - await web3Zond.getPastLogs(...input); + await web3QRL.getPastLogs(...input); expect(rpcMethodWrappers.getLogs).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -290,9 +290,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(getPastLogsValidData)( 'input: %s\nrpcMethodParameters: %s', async (_, rpcMethodParameters) => { - await rpcMethodWrappers.getLogs(web3Zond, ...rpcMethodParameters); + await rpcMethodWrappers.getLogs(web3QRL, ...rpcMethodParameters); expect(rpcMethodWrappers.getLogs).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...rpcMethodParameters, ); }, @@ -303,9 +303,9 @@ describe('web3_zond_methods_with_parameters', () => { it.each(createAccessListTestData)( 'input: %s\nrpcMethodParameters: %s', async (_, input) => { - await web3Zond.createAccessList(...input); + await web3QRL.createAccessList(...input); expect(rpcMethodWrappers.createAccessList).toHaveBeenCalledWith( - web3Zond, + web3QRL, ...input, ); }, diff --git a/packages/web3-zond/test/unit/web3_zond_subscription.test.ts b/packages/web3-qrl/test/unit/web3_qrl_subscription.test.ts similarity index 86% rename from packages/web3-zond/test/unit/web3_zond_subscription.test.ts rename to packages/web3-qrl/test/unit/web3_qrl_subscription.test.ts index 8dddeea3..257105e5 100644 --- a/packages/web3-zond/test/unit/web3_zond_subscription.test.ts +++ b/packages/web3-qrl/test/unit/web3_qrl_subscription.test.ts @@ -18,14 +18,14 @@ import { Web3SubscriptionManager } from '@theqrl/web3-core'; import { Web3BaseProvider } from '@theqrl/web3-types'; import * as rpcMethodWrappers from '../../src/rpc_method_wrappers'; import { LogsSubscription } from '../../src'; -import { Web3Zond } from '../../src/web3_zond'; +import { Web3QRL } from '../../src/web3_qrl'; import { mockRpcResponse as mockGetLogsRpcResponse } from './rpc_method_wrappers/fixtures/get_logs'; import { sleep } from '../shared_fixtures/utils'; jest.mock('../../src/rpc_method_wrappers'); -describe('Web3Zond subscribe and clear subscriptions', () => { - let web3Zond: Web3Zond; +describe('Web3QRL subscribe and clear subscriptions', () => { + let web3QRL: Web3QRL; it('should return the subscription data provided by the Subscription Manager', async () => { const requestManager = { send: jest.fn(), on: jest.fn(), provider: { on: jest.fn() } }; @@ -34,14 +34,14 @@ describe('Web3Zond subscribe and clear subscriptions', () => { const dummyLogs = { logs: { test1: 'test1' } }; jest.spyOn(subManager, 'subscribe').mockResolvedValueOnce(dummyLogs); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: { on: jest.fn(), } as unknown as Web3BaseProvider, subscriptionManager: subManager, }); - const logs = await web3Zond.subscribe('logs'); + const logs = await web3QRL.subscribe('logs'); expect(logs).toStrictEqual(dummyLogs); }); @@ -53,7 +53,7 @@ describe('Web3Zond subscribe and clear subscriptions', () => { jest.spyOn(subManager, 'subscribe').mockResolvedValueOnce(dummyLogs); jest.spyOn(rpcMethodWrappers, 'getLogs').mockResolvedValueOnce(mockGetLogsRpcResponse); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: { on: jest.fn(), } as unknown as Web3BaseProvider, @@ -61,7 +61,7 @@ describe('Web3Zond subscribe and clear subscriptions', () => { }); jest.spyOn(dummyLogs, '_processSubscriptionResult'); - const logs = await web3Zond.subscribe('logs', { + const logs = await web3QRL.subscribe('logs', { fromBlock: 0, }); await sleep(100); @@ -76,14 +76,14 @@ describe('Web3Zond subscribe and clear subscriptions', () => { jest.spyOn(subManager, 'unsubscribe'); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: { on: jest.fn(), } as unknown as Web3BaseProvider, subscriptionManager: subManager, }); - await web3Zond.clearSubscriptions(); + await web3QRL.clearSubscriptions(); expect(subManager.unsubscribe).toHaveBeenCalledWith(undefined); }); @@ -94,15 +94,15 @@ describe('Web3Zond subscribe and clear subscriptions', () => { jest.spyOn(subManager, 'unsubscribe'); - web3Zond = new Web3Zond({ + web3QRL = new Web3QRL({ provider: { on: jest.fn(), } as unknown as Web3BaseProvider, subscriptionManager: subManager, }); - await web3Zond.clearSubscriptions(true); + await web3QRL.clearSubscriptions(true); - expect(subManager.unsubscribe).toHaveBeenCalledWith(Web3Zond['shouldClearSubscription']); + expect(subManager.unsubscribe).toHaveBeenCalledWith(Web3QRL['shouldClearSubscription']); }); }); diff --git a/packages/web3-zond/tsconfig.cjs.json b/packages/web3-qrl/tsconfig.cjs.json similarity index 100% rename from packages/web3-zond/tsconfig.cjs.json rename to packages/web3-qrl/tsconfig.cjs.json diff --git a/packages/web3-zond/tsconfig.esm.json b/packages/web3-qrl/tsconfig.esm.json similarity index 100% rename from packages/web3-zond/tsconfig.esm.json rename to packages/web3-qrl/tsconfig.esm.json diff --git a/packages/web3-zond/tsconfig.types.json b/packages/web3-qrl/tsconfig.types.json similarity index 100% rename from packages/web3-zond/tsconfig.types.json rename to packages/web3-qrl/tsconfig.types.json diff --git a/packages/web3-zond/tsdoc.json b/packages/web3-qrl/tsdoc.json similarity index 100% rename from packages/web3-zond/tsdoc.json rename to packages/web3-qrl/tsdoc.json diff --git a/packages/web3-rpc-methods/package.json b/packages/web3-rpc-methods/package.json index 3609e852..bafc837b 100644 --- a/packages/web3-rpc-methods/package.json +++ b/packages/web3-rpc-methods/package.json @@ -4,7 +4,7 @@ "publishConfig": { "access": "public" }, - "description": "Zond RPC methods for Web3", + "description": "QRL RPC methods for Web3", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { diff --git a/packages/web3-rpc-methods/src/index.ts b/packages/web3-rpc-methods/src/index.ts index c965d397..92a2028c 100644 --- a/packages/web3-rpc-methods/src/index.ts +++ b/packages/web3-rpc-methods/src/index.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import * as zondRpcMethods from './zond_rpc_methods.js'; +import * as qrlRpcMethods from './qrl_rpc_methods.js'; import * as netRpcMethods from './net_rpc_methods.js'; -export { zondRpcMethods, netRpcMethods }; +export { qrlRpcMethods, netRpcMethods }; diff --git a/packages/web3-rpc-methods/src/zond_rpc_methods.ts b/packages/web3-rpc-methods/src/qrl_rpc_methods.ts similarity index 86% rename from packages/web3-rpc-methods/src/zond_rpc_methods.ts rename to packages/web3-rpc-methods/src/qrl_rpc_methods.ts index 2edc816c..abd31f1e 100644 --- a/packages/web3-rpc-methods/src/zond_rpc_methods.ts +++ b/packages/web3-rpc-methods/src/qrl_rpc_methods.ts @@ -25,49 +25,49 @@ import { TransactionWithSenderAPI, Uint, Uint256, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; -import { Eip712TypedData } from '@theqrl/web3-types/src/zond_types'; +import { Eip712TypedData } from '@theqrl/web3-types/src/qrl_types'; import { validator } from '@theqrl/web3-validator'; export async function getProtocolVersion(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_protocolVersion', + method: 'qrl_protocolVersion', params: [], }); } export async function getSyncing(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_syncing', + method: 'qrl_syncing', params: [], }); } export async function getGasPrice(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_gasPrice', + method: 'qrl_gasPrice', params: [], }); } export async function getMaxPriorityFeePerGas(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_maxPriorityFeePerGas', + method: 'qrl_maxPriorityFeePerGas', params: [], }); } export async function getAccounts(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_accounts', + method: 'qrl_accounts', params: [], }); } export async function getBlockNumber(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_blockNumber', + method: 'qrl_blockNumber', params: [], }); } @@ -80,7 +80,7 @@ export async function getBalance( validator.validate(['address', 'blockNumberOrTag'], [address, blockNumber]); return requestManager.send({ - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [address, blockNumber], }); } @@ -94,7 +94,7 @@ export async function getStorageAt( validator.validate(['address', 'hex', 'blockNumberOrTag'], [address, storageSlot, blockNumber]); return requestManager.send({ - method: 'zond_getStorageAt', + method: 'qrl_getStorageAt', params: [address, storageSlot, blockNumber], }); } @@ -107,7 +107,7 @@ export async function getTransactionCount( validator.validate(['address', 'blockNumberOrTag'], [address, blockNumber]); return requestManager.send({ - method: 'zond_getTransactionCount', + method: 'qrl_getTransactionCount', params: [address, blockNumber], }); } @@ -119,7 +119,7 @@ export async function getBlockTransactionCountByHash( validator.validate(['bytes32'], [blockHash]); return requestManager.send({ - method: 'zond_getBlockTransactionCountByHash', + method: 'qrl_getBlockTransactionCountByHash', params: [blockHash], }); } @@ -131,7 +131,7 @@ export async function getBlockTransactionCountByNumber( validator.validate(['blockNumberOrTag'], [blockNumber]); return requestManager.send({ - method: 'zond_getBlockTransactionCountByNumber', + method: 'qrl_getBlockTransactionCountByNumber', params: [blockNumber], }); } @@ -144,7 +144,7 @@ export async function getCode( validator.validate(['address', 'blockNumberOrTag'], [address, blockNumber]); return requestManager.send({ - method: 'zond_getCode', + method: 'qrl_getCode', params: [address, blockNumber], }); } @@ -157,7 +157,7 @@ export async function sign( validator.validate(['address', 'hex'], [address, message]); return requestManager.send({ - method: 'zond_sign', + method: 'qrl_sign', params: [address, message], }); } @@ -171,7 +171,7 @@ export async function signTransaction( transaction: TransactionWithSenderAPI | Partial, ) { return requestManager.send({ - method: 'zond_signTransaction', + method: 'qrl_signTransaction', params: [transaction], }); } @@ -185,7 +185,7 @@ export async function sendTransaction( transaction: TransactionWithSenderAPI | Partial, ) { return requestManager.send({ - method: 'zond_sendTransaction', + method: 'qrl_sendTransaction', params: [transaction], }); } @@ -197,7 +197,7 @@ export async function sendRawTransaction( validator.validate(['hex'], [transaction]); return requestManager.send({ - method: 'zond_sendRawTransaction', + method: 'qrl_sendRawTransaction', params: [transaction], }); } @@ -212,7 +212,7 @@ export async function call( validator.validate(['blockNumberOrTag'], [blockNumber]); return requestManager.send({ - method: 'zond_call', + method: 'qrl_call', params: [transaction, blockNumber], }); } @@ -226,7 +226,7 @@ export async function estimateGas( validator.validate(['blockNumberOrTag'], [blockNumber]); return requestManager.send({ - method: 'zond_estimateGas', + method: 'qrl_estimateGas', params: [transaction, blockNumber], }); } @@ -239,7 +239,7 @@ export async function getBlockByHash( validator.validate(['bytes32', 'bool'], [blockHash, hydrated]); return requestManager.send({ - method: 'zond_getBlockByHash', + method: 'qrl_getBlockByHash', params: [blockHash, hydrated], }); } @@ -252,7 +252,7 @@ export async function getBlockByNumber( validator.validate(['blockNumberOrTag', 'bool'], [blockNumber, hydrated]); return requestManager.send({ - method: 'zond_getBlockByNumber', + method: 'qrl_getBlockByNumber', params: [blockNumber, hydrated], }); } @@ -264,7 +264,7 @@ export async function getTransactionByHash( validator.validate(['bytes32'], [transactionHash]); return requestManager.send({ - method: 'zond_getTransactionByHash', + method: 'qrl_getTransactionByHash', params: [transactionHash], }); } @@ -277,7 +277,7 @@ export async function getTransactionByBlockHashAndIndex( validator.validate(['bytes32', 'hex'], [blockHash, transactionIndex]); return requestManager.send({ - method: 'zond_getTransactionByBlockHashAndIndex', + method: 'qrl_getTransactionByBlockHashAndIndex', params: [blockHash, transactionIndex], }); } @@ -290,7 +290,7 @@ export async function getTransactionByBlockNumberAndIndex( validator.validate(['blockNumberOrTag', 'hex'], [blockNumber, transactionIndex]); return requestManager.send({ - method: 'zond_getTransactionByBlockNumberAndIndex', + method: 'qrl_getTransactionByBlockNumberAndIndex', params: [blockNumber, transactionIndex], }); } @@ -302,14 +302,14 @@ export async function getTransactionReceipt( validator.validate(['bytes32'], [transactionHash]); return requestManager.send({ - method: 'zond_getTransactionReceipt', + method: 'qrl_getTransactionReceipt', params: [transactionHash], }); } export async function getCompilers(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_getCompilers', + method: 'qrl_getCompilers', params: [], }); } @@ -318,7 +318,7 @@ export async function compileHyperion(requestManager: Web3RequestManager, code: validator.validate(['string'], [code]); return requestManager.send({ - method: 'zond_compileHyperion', + method: 'qrl_compileHyperion', params: [code], }); } @@ -327,21 +327,21 @@ export async function newFilter(requestManager: Web3RequestManager, filter: Filt validator.validate(['filter'], [filter]); return requestManager.send({ - method: 'zond_newFilter', + method: 'qrl_newFilter', params: [filter], }); } export async function newBlockFilter(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_newBlockFilter', + method: 'qrl_newBlockFilter', params: [], }); } export async function newPendingTransactionFilter(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_newPendingTransactionFilter', + method: 'qrl_newPendingTransactionFilter', params: [], }); } @@ -350,7 +350,7 @@ export async function uninstallFilter(requestManager: Web3RequestManager, filter validator.validate(['hex'], [filterIdentifier]); return requestManager.send({ - method: 'zond_uninstallFilter', + method: 'qrl_uninstallFilter', params: [filterIdentifier], }); } @@ -359,7 +359,7 @@ export async function getFilterChanges(requestManager: Web3RequestManager, filte validator.validate(['hex'], [filterIdentifier]); return requestManager.send({ - method: 'zond_getFilterChanges', + method: 'qrl_getFilterChanges', params: [filterIdentifier], }); } @@ -368,7 +368,7 @@ export async function getFilterLogs(requestManager: Web3RequestManager, filterId validator.validate(['hex'], [filterIdentifier]); return requestManager.send({ - method: 'zond_getFilterLogs', + method: 'qrl_getFilterLogs', params: [filterIdentifier], }); } @@ -377,7 +377,7 @@ export async function getLogs(requestManager: Web3RequestManager, filter: Filter validator.validate(['filter'], [filter]); return requestManager.send({ - method: 'zond_getLogs', + method: 'qrl_getLogs', params: [filter], }); } @@ -395,36 +395,36 @@ export async function getFeeHistory( } return requestManager.send({ - method: 'zond_feeHistory', + method: 'qrl_feeHistory', params: [blockCount, newestBlock, rewardPercentiles], }); } export async function getPendingTransactions( - requestManager: Web3RequestManager, + requestManager: Web3RequestManager, ) { return requestManager.send({ - method: 'zond_pendingTransactions', + method: 'qrl_pendingTransactions', params: [], }); } -export async function requestAccounts(requestManager: Web3RequestManager) { +export async function requestAccounts(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_requestAccounts', + method: 'qrl_requestAccounts', params: [], }); } -export async function getChainId(requestManager: Web3RequestManager) { +export async function getChainId(requestManager: Web3RequestManager) { return requestManager.send({ - method: 'zond_chainId', + method: 'qrl_chainId', params: [], }); } export async function getProof( - requestManager: Web3RequestManager, + requestManager: Web3RequestManager, address: Address, storageKeys: HexString32Bytes[], blockNumber: BlockNumberOrTag, @@ -435,12 +435,12 @@ export async function getProof( ); return requestManager.send({ - method: 'zond_getProof', + method: 'qrl_getProof', params: [address, storageKeys, blockNumber], }); } -export async function getNodeInfo(requestManager: Web3RequestManager) { +export async function getNodeInfo(requestManager: Web3RequestManager) { return requestManager.send({ method: 'web3_clientVersion', params: [], @@ -455,7 +455,7 @@ export async function createAccessList( validator.validate(['blockNumberOrTag'], [blockNumber]); return requestManager.send({ - method: 'zond_createAccessList', + method: 'qrl_createAccessList', params: [transaction, blockNumber], }); } @@ -470,7 +470,7 @@ export async function signTypedData( validator.validate(['address'], [address]); return requestManager.send({ - method: `zond_signTypedData${useLegacy ? '' : '_v4'}`, + method: `qrl_signTypedData${useLegacy ? '' : '_v4'}`, params: [address, typedData], }); } diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/call.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/call.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/call.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/call.test.ts index eb740b8e..a711055c 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/call.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/call.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/call'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('call', () => { it.each(testData)( 'should call requestManager.send with call method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.call(requestManager, ...inputParameters); + await qrlRpcMethods.call(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_call', + method: 'qrl_call', params: inputParameters, }); }, @@ -62,7 +62,7 @@ describe('call', () => { // eslint-disable-next-line @typescript-eslint/no-unused-vars async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.call(requestManager, ...inputParameters); + await qrlRpcMethods.call(requestManager, ...inputParameters); // eslint-disable-next-line @typescript-eslint/no-unused-vars const [__, expectedBlockNumber] = inputParameters; expect(validatorSpy).toHaveBeenCalledWith(['blockNumberOrTag'], [expectedBlockNumber]); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/compile_hyperion.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/compile_hyperion.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/compile_hyperion.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/compile_hyperion.test.ts index 9fd850be..6fdca2fb 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/compile_hyperion.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/compile_hyperion.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/compile_hyperion'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('compileHyperion', () => { it.each(testData)( 'should call requestManager.send with compileHyperion method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.compileHyperion(requestManager, ...inputParameters); + await qrlRpcMethods.compileHyperion(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_compileHyperion', + method: 'qrl_compileHyperion', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('compileHyperion', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.compileHyperion(requestManager, ...inputParameters); + await qrlRpcMethods.compileHyperion(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['string'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/createAccessList.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/createAccessList.test.ts similarity index 87% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/createAccessList.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/createAccessList.test.ts index c5a9d96a..b59f03a3 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/createAccessList.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/createAccessList.test.ts @@ -29,7 +29,7 @@ along with web3.js. If not, see . // along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/createAccessList'; describe('createAccessList', () => { @@ -43,11 +43,11 @@ describe('createAccessList', () => { }); it.each(testData)( - 'should call requestManager.send with zond_createAccessList method with correct params', + 'should call requestManager.send with qrl_createAccessList method with correct params', async (_, inputParameters) => { - await zondRpcMethods.createAccessList(requestManager, ...inputParameters); + await qrlRpcMethods.createAccessList(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_createAccessList', + method: 'qrl_createAccessList', params: inputParameters, }); }, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/estimate_gas.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/estimate_gas.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/estimate_gas.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/estimate_gas.test.ts index e86d4739..91949c84 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/estimate_gas.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/estimate_gas.test.ts @@ -32,7 +32,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/estimate_gas'; jest.mock('@theqrl/web3-validator'); @@ -50,9 +50,9 @@ describe('estimateGas', () => { it.each(testData)( 'should call requestManager.send with estimateGas method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.estimateGas(requestManager, ...inputParameters); + await qrlRpcMethods.estimateGas(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_estimateGas', + method: 'qrl_estimateGas', params: inputParameters, }); }, @@ -62,7 +62,7 @@ describe('estimateGas', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.estimateGas(requestManager, ...inputParameters); + await qrlRpcMethods.estimateGas(requestManager, ...inputParameters); const [__, expectedBlockNumber] = inputParameters; expect(validatorSpy).toHaveBeenCalledWith(['blockNumberOrTag'], [expectedBlockNumber]); }, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/call.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/call.ts similarity index 94% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/call.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/call.ts index 63a9beab..13c116f2 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/call.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/call.ts @@ -20,8 +20,8 @@ import { TransactionCallAPI, BlockTags, BlockNumberOrTag } from '@theqrl/web3-ty export const mockRpcResponse = '0x5208'; const transaction: TransactionCallAPI = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/compile_hyperion.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/compile_hyperion.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/compile_hyperion.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/compile_hyperion.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/createAccessList.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/createAccessList.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/createAccessList.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/createAccessList.ts index 9a1dec10..a4333b2d 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/createAccessList.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/createAccessList.ts @@ -17,11 +17,11 @@ along with web3.js. If not, see . import { BlockNumberOrTag, BlockTags, TransactionWithSenderAPI } from '@theqrl/web3-types'; export const mockRpcResponse = - '{"accessList":[{"address":"Zc285289346689ee7cd63e4bb1a3b40f5f6e7973c","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000"]}],"gasUsed":"0x6a5b"}'; + '{"accessList":[{"address":"Qc285289346689ee7cd63e4bb1a3b40f5f6e7973c","storageKeys":["0x0000000000000000000000000000000000000000000000000000000000000000"]}],"gasUsed":"0x6a5b"}'; const callObj: Partial = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Zc285289346689ee7cd63e4bb1a3b40f5f6e7973c', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Qc285289346689ee7cd63e4bb1a3b40f5f6e7973c', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/estimate_gas.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/estimate_gas.ts similarity index 94% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/estimate_gas.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/estimate_gas.ts index ec8a9b27..04e40a46 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/estimate_gas.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/estimate_gas.ts @@ -19,8 +19,8 @@ import { TransactionWithSenderAPI, BlockTags, BlockNumberOrTag } from '@theqrl/w export const mockRpcResponse = '0x5208'; const transaction: Partial = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_balance.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_balance.ts similarity index 95% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_balance.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_balance.ts index 57841b9a..f14ffd9f 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_balance.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_balance.ts @@ -18,7 +18,7 @@ import { Address, BlockTags, BlockNumberOrTag } from '@theqrl/web3-types'; export const mockRpcResponse = '0xe8d4a51000'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_by_hash.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_by_hash.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_by_hash.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_by_hash.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_by_number.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_by_number.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_by_number.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_by_number.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_transaction_count_by_hash.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_transaction_count_by_hash.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_transaction_count_by_hash.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_transaction_count_by_hash.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_transaction_count_by_number.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_transaction_count_by_number.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_block_transaction_count_by_number.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_block_transaction_count_by_number.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_code.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_code.ts similarity index 95% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_code.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_code.ts index 956e0bc6..86a8e186 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_code.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_code.ts @@ -18,7 +18,7 @@ import { Address, BlockTags, BlockNumberOrTag } from '@theqrl/web3-types'; export const mockRpcResponse = '0xb'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_fee_history.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_fee_history.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_fee_history.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_fee_history.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_filter_changes.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_filter_changes.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_filter_changes.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_filter_changes.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_filter_logs.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_filter_logs.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_filter_logs.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_filter_logs.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_logs.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_logs.ts similarity index 89% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_logs.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_logs.ts index f927299b..34625810 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_logs.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_logs.ts @@ -45,7 +45,7 @@ export const testData: TestData[] = [ 'filter = address', [ { - address: 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + address: 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', }, ], ], @@ -54,8 +54,8 @@ export const testData: TestData[] = [ [ { address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], }, ], @@ -84,8 +84,8 @@ export const testData: TestData[] = [ fromBlock: '0xc0ff3', toBlock: '0xc0ff3', address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], topics: [ '0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_proof.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_proof.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_proof.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_proof.ts index 3fc9faf0..656f6d0d 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_proof.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_proof.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { Address, HexString32Bytes, Uint } from '@theqrl/web3-types'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: @@ -29,7 +29,7 @@ const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; type TestData = [string, [Address, HexString32Bytes[], Uint]]; export const testData: TestData[] = [ [ - 'address = "Z407d73d8a49eeb85d32cf465507dd71d507100c1", storageKeys = ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"], blockNumber = "0x88"', + 'address = "Q407d73d8a49eeb85d32cf465507dd71d507100c1", storageKeys = ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"], blockNumber = "0x88"', [address, ['0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b'], '0x88'], ], ]; diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_storage_at.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_storage_at.ts similarity index 96% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_storage_at.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_storage_at.ts index 408a5b18..93b5d45b 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_storage_at.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_storage_at.ts @@ -18,7 +18,7 @@ import { BlockNumberOrTag, Address, BlockTags, Uint256 } from '@theqrl/web3-type export const mockRpcResponse = '0x033456732123ffff2342342dd12342434324234234fd234fd23fd4f23d4234'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_by_block_hash_and_index.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_by_block_hash_and_index.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_by_block_hash_and_index.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_by_block_hash_and_index.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_by_block_number_and_index.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_by_block_number_and_index.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_by_block_number_and_index.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_by_block_number_and_index.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_by_hash.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_by_hash.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_by_hash.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_by_hash.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_count.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_count.ts similarity index 95% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_count.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_count.ts index 38789459..eb03db18 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_count.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_count.ts @@ -18,7 +18,7 @@ import { BlockNumberOrTag, Address, BlockTags } from '@theqrl/web3-types'; export const mockRpcResponse = '0xe8d4a51000'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_receipt.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_receipt.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/get_transaction_receipt.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/get_transaction_receipt.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/new_filter.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/new_filter.ts similarity index 89% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/new_filter.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/new_filter.ts index f927299b..34625810 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/new_filter.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/new_filter.ts @@ -45,7 +45,7 @@ export const testData: TestData[] = [ 'filter = address', [ { - address: 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + address: 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', }, ], ], @@ -54,8 +54,8 @@ export const testData: TestData[] = [ [ { address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], }, ], @@ -84,8 +84,8 @@ export const testData: TestData[] = [ fromBlock: '0xc0ff3', toBlock: '0xc0ff3', address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], topics: [ '0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/send_raw_transaction.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/send_raw_transaction.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/send_raw_transaction.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/send_raw_transaction.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/send_transaction.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/send_transaction.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/send_transaction.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/send_transaction.ts index 097f09f2..38494677 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/send_transaction.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/send_transaction.ts @@ -19,8 +19,8 @@ import { TransactionWithSenderAPI } from '@theqrl/web3-types'; export const mockRpcResponse = '0x5208'; const transaction: Partial = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign.ts similarity index 94% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign.ts index 92b9a936..424dcc9d 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign.ts @@ -18,7 +18,7 @@ import { Address, HexStringBytes } from '@theqrl/web3-types'; export const mockRpcResponse = '0xb'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; /** * Array consists of: diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign_transaction.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign_transaction.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign_transaction.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign_transaction.ts index 097f09f2..38494677 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign_transaction.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign_transaction.ts @@ -19,8 +19,8 @@ import { TransactionWithSenderAPI } from '@theqrl/web3-types'; export const mockRpcResponse = '0x5208'; const transaction: Partial = { - from: 'ZEB014f8c8B418Db6b45774c326A0E64C78914dC0', - to: 'Z3535353535353535353535353535353535353535', + from: 'QEB014f8c8B418Db6b45774c326A0E64C78914dC0', + to: 'Q3535353535353535353535353535353535353535', value: '0x174876e800', gas: '0x5208', type: '0x2', diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign_typed_data.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign_typed_data.ts similarity index 88% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign_typed_data.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign_typed_data.ts index a1644921..487c850f 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/sign_typed_data.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/sign_typed_data.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { Address, Eip712TypedData } from '@theqrl/web3-types'; -const address = 'Z407d73d8a49eeb85d32cf465507dd71d507100c1'; +const address = 'Q407d73d8a49eeb85d32cf465507dd71d507100c1'; const typedData = { types: { @@ -68,16 +68,16 @@ const typedData = { name: 'Ether Mail', version: '1', chainId: 1, - verifyingContract: 'ZCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + verifyingContract: 'QCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', }, message: { from: { name: 'Cow', - wallet: 'ZCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + wallet: 'QCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', }, to: { name: 'Bob', - wallet: 'ZbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + wallet: 'QbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', }, contents: 'Hello, Bob!', }, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/uninstall_filter.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/uninstall_filter.ts similarity index 100% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/fixtures/uninstall_filter.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/fixtures/uninstall_filter.ts diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_accounts.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_accounts.test.ts similarity index 93% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_accounts.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_accounts.test.ts index d1637fc2..1428eb9d 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_accounts.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_accounts.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getAccounts', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getAccounts', () => { }); it('should call requestManager.send with getAccounts method', async () => { - await zondRpcMethods.getAccounts(requestManager); + await qrlRpcMethods.getAccounts(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_accounts', + method: 'qrl_accounts', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_balance.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_balance.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_balance.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_balance.test.ts index 1d032919..37f084f9 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_balance.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_balance.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_balance'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getBalance', () => { it.each(testData)( 'should call requestManager.send with getBalance method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getBalance(requestManager, ...inputParameters); + await qrlRpcMethods.getBalance(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', + method: 'qrl_getBalance', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getBalance', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getBalance(requestManager, ...inputParameters); + await qrlRpcMethods.getBalance(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith( ['address', 'blockNumberOrTag'], inputParameters, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_by_hash.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_by_hash.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_by_hash.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_by_hash.test.ts index 0a934a51..cf3391a2 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_by_hash.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_by_hash.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_block_by_hash'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getBlockByHash', () => { it.each(testData)( 'should call requestManager.send with getBlockByHash method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getBlockByHash(requestManager, ...inputParameters); + await qrlRpcMethods.getBlockByHash(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBlockByHash', + method: 'qrl_getBlockByHash', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getBlockByHash', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getBlockByHash(requestManager, ...inputParameters); + await qrlRpcMethods.getBlockByHash(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['bytes32', 'bool'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_by_number.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_by_number.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_by_number.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_by_number.test.ts index 5cb6cf64..385da606 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_by_number.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_by_number.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_block_by_number'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getBlockByNumber', () => { it.each(testData)( 'should call requestManager.send with getBlockByNumber method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getBlockByNumber(requestManager, ...inputParameters); + await qrlRpcMethods.getBlockByNumber(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBlockByNumber', + method: 'qrl_getBlockByNumber', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getBlockByNumber', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getBlockByNumber(requestManager, ...inputParameters); + await qrlRpcMethods.getBlockByNumber(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith( ['blockNumberOrTag', 'bool'], inputParameters, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_number.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_number.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_number.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_number.test.ts index 50245827..668f0968 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_number.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_number.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getBlockNumber', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getBlockNumber', () => { }); it('should call requestManager.send with getBlockNumber method', async () => { - await zondRpcMethods.getBlockNumber(requestManager); + await qrlRpcMethods.getBlockNumber(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_blockNumber', + method: 'qrl_blockNumber', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_transaction_count_by_hash.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_transaction_count_by_hash.test.ts similarity index 89% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_transaction_count_by_hash.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_transaction_count_by_hash.test.ts index 921247e8..029b6e3f 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_transaction_count_by_hash.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_transaction_count_by_hash.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_block_transaction_count_by_hash'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getBlockTransactionCountByHash', () => { it.each(testData)( 'should call requestManager.send with getBlockTransactionCountByHash method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getBlockTransactionCountByHash(requestManager, ...inputParameters); + await qrlRpcMethods.getBlockTransactionCountByHash(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBlockTransactionCountByHash', + method: 'qrl_getBlockTransactionCountByHash', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getBlockTransactionCountByHash', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getBlockTransactionCountByHash(requestManager, ...inputParameters); + await qrlRpcMethods.getBlockTransactionCountByHash(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['bytes32'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_transaction_count_by_number.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_transaction_count_by_number.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_transaction_count_by_number.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_transaction_count_by_number.test.ts index b22d5ed9..6729c808 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_block_transaction_count_by_number.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_block_transaction_count_by_number.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_block_transaction_count_by_number'; jest.mock('@theqrl/web3-validator'); @@ -49,12 +49,12 @@ describe('getBlockTransactionCountByNumber', () => { it.each(testData)( 'should call requestManager.send with getBlockTransactionCountByNumber method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getBlockTransactionCountByNumber( + await qrlRpcMethods.getBlockTransactionCountByNumber( requestManager, ...inputParameters, ); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBlockTransactionCountByNumber', + method: 'qrl_getBlockTransactionCountByNumber', params: inputParameters, }); }, @@ -64,7 +64,7 @@ describe('getBlockTransactionCountByNumber', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getBlockTransactionCountByNumber( + await qrlRpcMethods.getBlockTransactionCountByNumber( requestManager, ...inputParameters, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_chain_id.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_chain_id.test.ts similarity index 93% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_chain_id.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_chain_id.test.ts index 3dd76034..18411ff4 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_chain_id.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_chain_id.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getChainId', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getChainId', () => { }); it('should call requestManager.send with getChainId method', async () => { - await zondRpcMethods.getChainId(requestManager); + await qrlRpcMethods.getChainId(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_chainId', + method: 'qrl_chainId', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_code.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_code.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_code.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_code.test.ts index ebafd8c8..ce889e3e 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_code.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_code.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_code'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getCode', () => { it.each(testData)( 'should call requestManager.send with getCode method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getCode(requestManager, ...inputParameters); + await qrlRpcMethods.getCode(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getCode', + method: 'qrl_getCode', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getCode', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getCode(requestManager, ...inputParameters); + await qrlRpcMethods.getCode(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith( ['address', 'blockNumberOrTag'], inputParameters, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_compilers.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_compilers.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_compilers.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_compilers.test.ts index 43426ac2..93f755f1 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_compilers.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_compilers.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getCompilers', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getCompilers', () => { }); it('should call requestManager.send with getCompilers method', async () => { - await zondRpcMethods.getCompilers(requestManager); + await qrlRpcMethods.getCompilers(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getCompilers', + method: 'qrl_getCompilers', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_fee_history.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_fee_history.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_fee_history.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_fee_history.test.ts index 00bbcf04..7298acc9 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_fee_history.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_fee_history.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_fee_history'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getFeeHistory', () => { it.each(testData)( 'should call requestManager.send with getFeeHistory method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getFeeHistory(requestManager, ...inputParameters); + await qrlRpcMethods.getFeeHistory(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_feeHistory', + method: 'qrl_feeHistory', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getFeeHistory', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getFeeHistory(requestManager, ...inputParameters); + await qrlRpcMethods.getFeeHistory(requestManager, ...inputParameters); const [expectedBlockCount, expectedNewestBlock, expectedRewardPercentiles] = inputParameters; expect(validatorSpy).toHaveBeenCalledWith( diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_filter_changes.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_filter_changes.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_filter_changes.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_filter_changes.test.ts index 56c664fa..129ac3f0 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_filter_changes.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_filter_changes.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/uninstall_filter'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getFilterChanges', () => { it.each(testData)( 'should call requestManager.send with getFilterChanges method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getFilterChanges(requestManager, ...inputParameters); + await qrlRpcMethods.getFilterChanges(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getFilterChanges', + method: 'qrl_getFilterChanges', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getFilterChanges', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getFilterChanges(requestManager, ...inputParameters); + await qrlRpcMethods.getFilterChanges(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['hex'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_filter_logs.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_filter_logs.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_filter_logs.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_filter_logs.test.ts index 62970d8b..9a9bf17e 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_filter_logs.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_filter_logs.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/uninstall_filter'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getFilterLogs', () => { it.each(testData)( 'should call requestManager.send with getFilterLogs method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getFilterLogs(requestManager, ...inputParameters); + await qrlRpcMethods.getFilterLogs(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getFilterLogs', + method: 'qrl_getFilterLogs', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getFilterLogs', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getFilterLogs(requestManager, ...inputParameters); + await qrlRpcMethods.getFilterLogs(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['hex'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_gas_price.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_gas_price.test.ts similarity index 93% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_gas_price.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_gas_price.test.ts index a9de9d35..7db2852d 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_gas_price.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_gas_price.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getGasPrice', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getGasPrice', () => { }); it('should call requestManager.send with getGasPrice method', async () => { - await zondRpcMethods.getGasPrice(requestManager); + await qrlRpcMethods.getGasPrice(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_gasPrice', + method: 'qrl_gasPrice', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_logs.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_logs.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_logs.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_logs.test.ts index e75d7eff..144612ac 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_logs.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_logs.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/new_filter'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getLogs', () => { it.each(testData)( 'should call requestManager.send with getLogs method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getLogs(requestManager, ...inputParameters); + await qrlRpcMethods.getLogs(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getLogs', + method: 'qrl_getLogs', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getLogs', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getLogs(requestManager, ...inputParameters); + await qrlRpcMethods.getLogs(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['filter'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_maxPriorityFeePerGas.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_maxPriorityFeePerGas.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_maxPriorityFeePerGas.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_maxPriorityFeePerGas.ts index 9da384d2..073a7154 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_maxPriorityFeePerGas.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_maxPriorityFeePerGas.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getMaxPriorityFeePerGas', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getMaxPriorityFeePerGas', () => { }); it('should call requestManager.send with getMaxPriorityFeePerGas method', async () => { - await zondRpcMethods.getMaxPriorityFeePerGas(requestManager); + await qrlRpcMethods.getMaxPriorityFeePerGas(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_maxPriorityFeePerGas', + method: 'qrl_maxPriorityFeePerGas', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_node_info.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_node_info.test.ts similarity index 94% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_node_info.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_node_info.test.ts index 62ace8ce..a0714925 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_node_info.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_node_info.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getNodeInfo', () => { let requestManagerSendSpy: jest.Mock; @@ -43,7 +43,7 @@ describe('getNodeInfo', () => { }); it('should call requestManager.send with getNodeInfo method', async () => { - await zondRpcMethods.getNodeInfo(requestManager); + await qrlRpcMethods.getNodeInfo(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ method: 'web3_clientVersion', params: [], diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_pending_transaction.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_pending_transaction.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_pending_transaction.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_pending_transaction.test.ts index 1cea2022..d7291c49 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_pending_transaction.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_pending_transaction.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getPendingTransactions', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getPendingTransactions', () => { }); it('should call requestManager.send with getPendingTransactions method', async () => { - await zondRpcMethods.getPendingTransactions(requestManager); + await qrlRpcMethods.getPendingTransactions(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_pendingTransactions', + method: 'qrl_pendingTransactions', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_proof.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_proof.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_proof.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_proof.test.ts index 9c2113d7..d8bb12bd 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_proof.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_proof.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_proof'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getProof', () => { it.each(testData)( 'should call requestManager.send with getProof method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getProof(requestManager, ...inputParameters); + await qrlRpcMethods.getProof(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getProof', + method: 'qrl_getProof', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getProof', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getProof(requestManager, ...inputParameters); + await qrlRpcMethods.getProof(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith( ['address', 'bytes32[]', 'blockNumberOrTag'], inputParameters, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_protocol_version.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_protocol_version.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_protocol_version.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_protocol_version.test.ts index 87ae430e..32839f25 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_protocol_version.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_protocol_version.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getProtocolVersion', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getProtocolVersion', () => { }); it('should call requestManager.send with getProtocolVersion method', async () => { - await zondRpcMethods.getProtocolVersion(requestManager); + await qrlRpcMethods.getProtocolVersion(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_protocolVersion', + method: 'qrl_protocolVersion', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_storage_at.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_storage_at.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_storage_at.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_storage_at.test.ts index 81b5bdc1..ae4355b0 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_storage_at.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_storage_at.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_storage_at'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getStorageAt', () => { it.each(testData)( 'should call requestManager.send with getStorageAt method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getStorageAt(requestManager, ...inputParameters); + await qrlRpcMethods.getStorageAt(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getStorageAt', + method: 'qrl_getStorageAt', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getStorageAt', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getStorageAt(requestManager, ...inputParameters); + await qrlRpcMethods.getStorageAt(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith( ['address', 'hex', 'blockNumberOrTag'], inputParameters, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_syncing.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_syncing.test.ts similarity index 93% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_syncing.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_syncing.test.ts index f157b072..98e562d0 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_syncing.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_syncing.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('getSyncing', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('getSyncing', () => { }); it('should call requestManager.send with getSyncing method', async () => { - await zondRpcMethods.getSyncing(requestManager); + await qrlRpcMethods.getSyncing(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_syncing', + method: 'qrl_syncing', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_block_hash_and_index.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_block_hash_and_index.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_block_hash_and_index.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_block_hash_and_index.test.ts index 97af2ace..fe158aa5 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_block_hash_and_index.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_block_hash_and_index.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_transaction_by_block_hash_and_index'; jest.mock('@theqrl/web3-validator'); @@ -49,12 +49,12 @@ describe('getTransactionByBlockHashAndIndex', () => { it.each(testData)( 'should call requestManager.send with getTransactionByBlockHashAndIndex method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getTransactionByBlockHashAndIndex( + await qrlRpcMethods.getTransactionByBlockHashAndIndex( requestManager, ...inputParameters, ); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getTransactionByBlockHashAndIndex', + method: 'qrl_getTransactionByBlockHashAndIndex', params: inputParameters, }); }, @@ -64,7 +64,7 @@ describe('getTransactionByBlockHashAndIndex', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getTransactionByBlockHashAndIndex( + await qrlRpcMethods.getTransactionByBlockHashAndIndex( requestManager, ...inputParameters, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_block_number_and_index.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_block_number_and_index.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_block_number_and_index.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_block_number_and_index.test.ts index c71a484c..19a2d5c9 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_block_number_and_index.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_block_number_and_index.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_transaction_by_block_number_and_index'; jest.mock('@theqrl/web3-validator'); @@ -49,12 +49,12 @@ describe('getTransactionByBlockNumberAndIndex', () => { it.each(testData)( 'should call requestManager.send with getTransactionByBlockNumberAndIndex method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getTransactionByBlockNumberAndIndex( + await qrlRpcMethods.getTransactionByBlockNumberAndIndex( requestManager, ...inputParameters, ); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getTransactionByBlockNumberAndIndex', + method: 'qrl_getTransactionByBlockNumberAndIndex', params: inputParameters, }); }, @@ -64,7 +64,7 @@ describe('getTransactionByBlockNumberAndIndex', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getTransactionByBlockNumberAndIndex( + await qrlRpcMethods.getTransactionByBlockNumberAndIndex( requestManager, ...inputParameters, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_hash.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_hash.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_hash.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_hash.test.ts index fcfdbf5b..609c8894 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_by_hash.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_by_hash.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_transaction_by_hash'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getTransactionByHash', () => { it.each(testData)( 'should call requestManager.send with getTransactionByHash method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getTransactionByHash(requestManager, ...inputParameters); + await qrlRpcMethods.getTransactionByHash(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getTransactionByHash', + method: 'qrl_getTransactionByHash', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getTransactionByHash', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getTransactionByHash(requestManager, ...inputParameters); + await qrlRpcMethods.getTransactionByHash(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['bytes32'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_count.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_count.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_count.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_count.test.ts index bf45b40a..9abdd81c 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_count.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_count.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_transaction_count'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getTransactionCount', () => { it.each(testData)( 'should call requestManager.send with getTransactionCount method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getTransactionCount(requestManager, ...inputParameters); + await qrlRpcMethods.getTransactionCount(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getTransactionCount', + method: 'qrl_getTransactionCount', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getTransactionCount', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getTransactionCount(requestManager, ...inputParameters); + await qrlRpcMethods.getTransactionCount(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith( ['address', 'blockNumberOrTag'], inputParameters, diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_receipt.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_receipt.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_receipt.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_receipt.test.ts index 4186a8c2..2cf65a54 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/get_transaction_receipt.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/get_transaction_receipt.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/get_transaction_receipt'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('getTransactionReceipt', () => { it.each(testData)( 'should call requestManager.send with getTransactionReceipt method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.getTransactionReceipt(requestManager, ...inputParameters); + await qrlRpcMethods.getTransactionReceipt(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getTransactionReceipt', + method: 'qrl_getTransactionReceipt', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('getTransactionReceipt', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.getTransactionReceipt(requestManager, ...inputParameters); + await qrlRpcMethods.getTransactionReceipt(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['bytes32'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_block_filter.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_block_filter.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_block_filter.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_block_filter.test.ts index e9ef0d6e..0f6d48a7 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_block_filter.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_block_filter.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('newBlockFilter', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('newBlockFilter', () => { }); it('should call requestManager.send with newBlockFilter method', async () => { - await zondRpcMethods.newBlockFilter(requestManager); + await qrlRpcMethods.newBlockFilter(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_newBlockFilter', + method: 'qrl_newBlockFilter', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_filter.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_filter.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_filter.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_filter.test.ts index 683e8cae..4e4f2a0f 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_filter.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_filter.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/new_filter'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('newFilter', () => { it.each(testData)( 'should call requestManager.send with newFilter method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.newFilter(requestManager, ...inputParameters); + await qrlRpcMethods.newFilter(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_newFilter', + method: 'qrl_newFilter', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('newFilter', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.newFilter(requestManager, ...inputParameters); + await qrlRpcMethods.newFilter(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['filter'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_pending_transaction_filter.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_pending_transaction_filter.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_pending_transaction_filter.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_pending_transaction_filter.test.ts index ee7720fd..9c315f0b 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/new_pending_transaction_filter.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/new_pending_transaction_filter.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('newPendingTransactionFilter', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('newPendingTransactionFilter', () => { }); it('should call requestManager.send with newPendingTransactionFilter method', async () => { - await zondRpcMethods.newPendingTransactionFilter(requestManager); + await qrlRpcMethods.newPendingTransactionFilter(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_newPendingTransactionFilter', + method: 'qrl_newPendingTransactionFilter', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/request_accounts.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/request_accounts.test.ts similarity index 92% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/request_accounts.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/request_accounts.test.ts index 414bab51..d9d27f87 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/request_accounts.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/request_accounts.test.ts @@ -30,7 +30,7 @@ along with web3.js. If not, see . // */ import { Web3RequestManager } from '@theqrl/web3-core'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; describe('requestAccounts', () => { let requestManagerSendSpy: jest.Mock; @@ -43,9 +43,9 @@ describe('requestAccounts', () => { }); it('should call requestManager.send with requestAccounts method', async () => { - await zondRpcMethods.requestAccounts(requestManager); + await qrlRpcMethods.requestAccounts(requestManager); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_requestAccounts', + method: 'qrl_requestAccounts', params: [], }); }); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/send_raw_transaction.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/send_raw_transaction.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/send_raw_transaction.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/send_raw_transaction.test.ts index 4bda53f0..9babd0cf 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/send_raw_transaction.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/send_raw_transaction.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/send_raw_transaction'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('sendRawTransaction', () => { it.each(testData)( 'should call requestManager.send with sendRawTransaction method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.sendRawTransaction(requestManager, ...inputParameters); + await qrlRpcMethods.sendRawTransaction(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_sendRawTransaction', + method: 'qrl_sendRawTransaction', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('sendRawTransaction', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.sendRawTransaction(requestManager, ...inputParameters); + await qrlRpcMethods.sendRawTransaction(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['hex'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/send_transaction.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/send_transaction.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/send_transaction.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/send_transaction.test.ts index 1e645695..d639902e 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/send_transaction.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/send_transaction.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/send_transaction'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('sendTransaction', () => { it.each(testData)( 'should call requestManager.send with sendTransaction method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.sendTransaction(requestManager, ...inputParameters); + await qrlRpcMethods.sendTransaction(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_sendTransaction', + method: 'qrl_sendTransaction', params: inputParameters, }); }, @@ -62,7 +62,7 @@ describe('sendTransaction', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.sendTransaction(requestManager, ...inputParameters); + await qrlRpcMethods.sendTransaction(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith([''], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign.test.ts similarity index 91% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign.test.ts index 97ac4c7d..0dd8b638 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/sign'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('sign', () => { it.each(testData)( 'should call requestManager.send with sign method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.sign(requestManager, ...inputParameters); + await qrlRpcMethods.sign(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_sign', + method: 'qrl_sign', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('sign', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.sign(requestManager, ...inputParameters); + await qrlRpcMethods.sign(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['address', 'hex'], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign_transaction.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign_transaction.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign_transaction.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign_transaction.test.ts index 01ad6ce0..881ae8b1 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign_transaction.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign_transaction.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/sign_transaction'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('signTransaction', () => { it.each(testData)( 'should call requestManager.send with signTransaction method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.signTransaction(requestManager, ...inputParameters); + await qrlRpcMethods.signTransaction(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_signTransaction', + method: 'qrl_signTransaction', params: inputParameters, }); }, @@ -62,7 +62,7 @@ describe('signTransaction', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.signTransaction(requestManager, ...inputParameters); + await qrlRpcMethods.signTransaction(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith([''], inputParameters); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign_typed_data.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign_typed_data.test.ts similarity index 86% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign_typed_data.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign_typed_data.test.ts index 23c028fc..7554a1fd 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/sign_typed_data.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/sign_typed_data.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/sign_typed_data'; jest.mock('@theqrl/web3-validator'); @@ -35,9 +35,9 @@ describe('signTypedData', () => { it.each(testData)( 'should call requestManager.send with signTypedData method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.signTypedData(requestManager, ...inputParameters); + await qrlRpcMethods.signTypedData(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: `zond_signTypedData${inputParameters[2] ? '' : '_v4'}`, + method: `qrl_signTypedData${inputParameters[2] ? '' : '_v4'}`, params: [inputParameters[0], inputParameters[1]], }); }, @@ -47,7 +47,7 @@ describe('signTypedData', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.signTypedData(requestManager, ...inputParameters); + await qrlRpcMethods.signTypedData(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['address'], [inputParameters[0]]); }, ); diff --git a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/uninstall_filter.test.ts b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/uninstall_filter.test.ts similarity index 90% rename from packages/web3-rpc-methods/test/unit/zond_rpc_methods/uninstall_filter.test.ts rename to packages/web3-rpc-methods/test/unit/qrl_rpc_methods/uninstall_filter.test.ts index bebe188b..8f071b57 100644 --- a/packages/web3-rpc-methods/test/unit/zond_rpc_methods/uninstall_filter.test.ts +++ b/packages/web3-rpc-methods/test/unit/qrl_rpc_methods/uninstall_filter.test.ts @@ -31,7 +31,7 @@ along with web3.js. If not, see . import { Web3RequestManager } from '@theqrl/web3-core'; import { validator } from '@theqrl/web3-validator'; -import { zondRpcMethods } from '../../../src/index'; +import { qrlRpcMethods } from '../../../src/index'; import { testData } from './fixtures/uninstall_filter'; jest.mock('@theqrl/web3-validator'); @@ -49,9 +49,9 @@ describe('uninstallFilter', () => { it.each(testData)( 'should call requestManager.send with uninstallFilter method and expect parameters\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { - await zondRpcMethods.uninstallFilter(requestManager, ...inputParameters); + await qrlRpcMethods.uninstallFilter(requestManager, ...inputParameters); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_uninstallFilter', + method: 'qrl_uninstallFilter', params: inputParameters, }); }, @@ -61,7 +61,7 @@ describe('uninstallFilter', () => { 'should call validator.validate with expected params\n Title: %s\n Input parameters: %s', async (_, inputParameters) => { const validatorSpy = jest.spyOn(validator, 'validate'); - await zondRpcMethods.uninstallFilter(requestManager, ...inputParameters); + await qrlRpcMethods.uninstallFilter(requestManager, ...inputParameters); expect(validatorSpy).toHaveBeenCalledWith(['hex'], inputParameters); }, ); diff --git a/packages/web3-types/src/apis/zond_execution_api.ts b/packages/web3-types/src/apis/qrl_execution_api.ts similarity index 76% rename from packages/web3-types/src/apis/zond_execution_api.ts rename to packages/web3-types/src/apis/qrl_execution_api.ts index c91891a0..f94e1541 100644 --- a/packages/web3-types/src/apis/zond_execution_api.ts +++ b/packages/web3-types/src/apis/qrl_execution_api.ts @@ -30,7 +30,7 @@ import { TransactionReceiptBase, BlockBase, LogBase, -} from '../zond_types.js'; +} from '../qrl_types.js'; import { HexString } from '../primitives_types.js'; // The types are generated manually by referring to following doc @@ -146,92 +146,92 @@ export interface CompileResultAPI { } /* eslint-disable camelcase */ -export type ZondExecutionAPI = { +export type QRLExecutionAPI = { // https://github.com/ethereum/execution-apis/blob/main/src/eth/block.yaml - zond_getBlockByHash: (blockHash: HexString32Bytes, hydrated: boolean) => BlockAPI; - zond_getBlockByNumber: (blockNumber: BlockNumberOrTag, hydrated: boolean) => BlockAPI; - zond_getBlockTransactionCountByHash: (blockHash: HexString32Bytes) => Uint; - zond_getBlockTransactionCountByNumber: (blockNumber: BlockNumberOrTag) => Uint; + qrl_getBlockByHash: (blockHash: HexString32Bytes, hydrated: boolean) => BlockAPI; + qrl_getBlockByNumber: (blockNumber: BlockNumberOrTag, hydrated: boolean) => BlockAPI; + qrl_getBlockTransactionCountByHash: (blockHash: HexString32Bytes) => Uint; + qrl_getBlockTransactionCountByNumber: (blockNumber: BlockNumberOrTag) => Uint; // https://github.com/ethereum/execution-apis/blob/main/src/eth/transaction.yaml - zond_getTransactionByHash: ( + qrl_getTransactionByHash: ( transactionHash: HexString32Bytes, ) => TransactionInfoAPI | undefined; - zond_getTransactionByBlockHashAndIndex: ( + qrl_getTransactionByBlockHashAndIndex: ( blockHash: HexString32Bytes, transactionIndex: Uint, ) => TransactionInfoAPI | undefined; - zond_getTransactionByBlockNumberAndIndex: ( + qrl_getTransactionByBlockNumberAndIndex: ( blockNumber: BlockNumberOrTag, transactionIndex: Uint, ) => TransactionInfoAPI | undefined; - zond_getTransactionReceipt: ( + qrl_getTransactionReceipt: ( transactionHash: HexString32Bytes, ) => TransactionReceiptAPI | undefined; // https://github.com/ethereum/execution-apis/blob/main/src/eth/client.yaml - zond_protocolVersion: () => string; - zond_syncing: () => SyncingStatusAPI; - zond_accounts: () => Address[]; - zond_blockNumber: () => Uint; + qrl_protocolVersion: () => string; + qrl_syncing: () => SyncingStatusAPI; + qrl_accounts: () => Address[]; + qrl_blockNumber: () => Uint; // https://github.com/ethereum/execution-apis/blob/main/src/eth/execute.yaml - zond_call: (transaction: TransactionCallAPI, blockNumber: BlockNumberOrTag) => HexStringBytes; - zond_estimateGas: ( + qrl_call: (transaction: TransactionCallAPI, blockNumber: BlockNumberOrTag) => HexStringBytes; + qrl_estimateGas: ( transaction: Partial, blockNumber: BlockNumberOrTag, ) => Uint; // https://github.com/ethereum/execution-apis/blob/main/src/eth/fee_market.yaml - zond_gasPrice: () => Uint; - zond_feeHistory: ( + qrl_gasPrice: () => Uint; + qrl_feeHistory: ( blockCount: Uint, newestBlock: BlockNumberOrTag, rewardPercentiles: number[], ) => FeeHistoryResultAPI; // https://github.com/ethereum/execution-apis/blob/main/src/eth/filter.yaml - zond_newFilter: (filter: Filter) => Uint; - zond_newBlockFilter: () => Uint; - zond_newPendingTransactionFilter: () => Uint; - zond_uninstallFilter: (filterIdentifier: Uint) => boolean; - zond_getFilterChanges: (filterIdentifier: Uint) => FilterResultsAPI; - zond_getFilterLogs: (filterIdentifier: Uint) => FilterResultsAPI; - zond_getLogs: (filter: Filter) => FilterResultsAPI; + qrl_newFilter: (filter: Filter) => Uint; + qrl_newBlockFilter: () => Uint; + qrl_newPendingTransactionFilter: () => Uint; + qrl_uninstallFilter: (filterIdentifier: Uint) => boolean; + qrl_getFilterChanges: (filterIdentifier: Uint) => FilterResultsAPI; + qrl_getFilterLogs: (filterIdentifier: Uint) => FilterResultsAPI; + qrl_getLogs: (filter: Filter) => FilterResultsAPI; // https://github.com/ethereum/execution-apis/blob/main/src/eth/sign.yaml - zond_sign: (address: Address, message: HexStringBytes) => HexString256Bytes; - zond_signTransaction: ( + qrl_sign: (address: Address, message: HexStringBytes) => HexString256Bytes; + qrl_signTransaction: ( transaction: TransactionWithSenderAPI | Partial, ) => HexStringBytes | SignedTransactionInfoAPI; // https://github.com/ethereum/execution-apis/blob/main/src/eth/state.yaml - zond_getBalance: (address: Address, blockNumber: BlockNumberOrTag) => Uint; - zond_getStorageAt: ( + qrl_getBalance: (address: Address, blockNumber: BlockNumberOrTag) => Uint; + qrl_getStorageAt: ( address: Address, storageSlot: Uint256, blockNumber: BlockNumberOrTag, ) => HexStringBytes; - zond_getTransactionCount: (address: Address, blockNumber: BlockNumberOrTag) => Uint; - zond_getCode: (address: Address, blockNumber: BlockNumberOrTag) => HexStringBytes; + qrl_getTransactionCount: (address: Address, blockNumber: BlockNumberOrTag) => Uint; + qrl_getCode: (address: Address, blockNumber: BlockNumberOrTag) => HexStringBytes; // https://github.com/ethereum/execution-apis/blob/main/src/eth/submit.yaml - zond_sendTransaction: ( + qrl_sendTransaction: ( transaction: TransactionWithSenderAPI | Partial, ) => HexString32Bytes; - zond_sendRawTransaction: (transaction: HexStringBytes) => HexString32Bytes; + qrl_sendRawTransaction: (transaction: HexStringBytes) => HexString32Bytes; // https://geth.ethereum.org/docs/rpc/pubsub - zond_subscribe: ( + qrl_subscribe: ( ...params: | ['newHeads'] | ['newPendingTransactions'] | ['syncing'] | ['logs', { address?: HexString; topics?: HexString[] }] ) => HexString; - zond_unsubscribe: (subscriptionId: HexString) => HexString; - zond_clearSubscriptions: (keepSyncing?: boolean) => void; + qrl_unsubscribe: (subscriptionId: HexString) => HexString; + qrl_clearSubscriptions: (keepSyncing?: boolean) => void; // Non-supported by execution-apis specs - zond_getCompilers: () => string[]; - zond_compileHyperion: (code: string) => CompileResultAPI; + qrl_getCompilers: () => string[]; + qrl_compileHyperion: (code: string) => CompileResultAPI; }; diff --git a/packages/web3-types/src/apis/web3_zond_execution_api.ts b/packages/web3-types/src/apis/web3_qrl_execution_api.ts similarity index 81% rename from packages/web3-types/src/apis/web3_zond_execution_api.ts rename to packages/web3-types/src/apis/web3_qrl_execution_api.ts index 86eb88ae..908e69d7 100644 --- a/packages/web3-types/src/apis/web3_zond_execution_api.ts +++ b/packages/web3-types/src/apis/web3_qrl_execution_api.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { ZondExecutionAPI } from './zond_execution_api.js'; +import { QRLExecutionAPI } from './qrl_execution_api.js'; import { AccountObject, Address, @@ -24,35 +24,35 @@ import { HexString32Bytes, TransactionInfo, Uint, -} from '../zond_types.js'; +} from '../qrl_types.js'; -export type Web3ZondExecutionAPI = ZondExecutionAPI & { - zond_pendingTransactions: () => TransactionInfo[]; +export type Web3QRLExecutionAPI = QRLExecutionAPI & { + qrl_pendingTransactions: () => TransactionInfo[]; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1102.md - zond_requestAccounts: () => Address[]; + qrl_requestAccounts: () => Address[]; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-695.md - zond_chainId: () => Uint; + qrl_chainId: () => Uint; web3_clientVersion: () => string; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1186.md - zond_getProof: ( + qrl_getProof: ( address: Address, storageKeys: HexString32Bytes[], blockNumber: BlockNumberOrTag, ) => AccountObject; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md - zond_signTypedData: ( + qrl_signTypedData: ( address: Address, typedData: Eip712TypedData, useLegacy: true, ) => HexString256Bytes; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md - zond_signTypedData_v4: ( + qrl_signTypedData_v4: ( address: Address, typedData: Eip712TypedData, useLegacy: false | undefined, diff --git a/packages/web3-types/src/data_format_types.ts b/packages/web3-types/src/data_format_types.ts index 3ce9d8a4..58a98790 100644 --- a/packages/web3-types/src/data_format_types.ts +++ b/packages/web3-types/src/data_format_types.ts @@ -47,7 +47,7 @@ export type DataFormat = { }; export const DEFAULT_RETURN_FORMAT = { number: FMT_NUMBER.BIGINT, bytes: FMT_BYTES.HEX } as const; -export const ZOND_DATA_FORMAT = { number: FMT_NUMBER.HEX, bytes: FMT_BYTES.HEX } as const; +export const QRL_DATA_FORMAT = { number: FMT_NUMBER.HEX, bytes: FMT_BYTES.HEX } as const; export type FormatType = number extends Extract ? NumberTypes[F['number']] | Exclude diff --git a/packages/web3-types/src/index.ts b/packages/web3-types/src/index.ts index 2b7b0bcf..df3e8e3d 100644 --- a/packages/web3-types/src/index.ts +++ b/packages/web3-types/src/index.ts @@ -16,13 +16,13 @@ along with web3.js. If not, see . */ export * from './error_types.js'; -export * from './apis/zond_execution_api.js'; -export * from './apis/web3_zond_execution_api.js'; +export * from './apis/qrl_execution_api.js'; +export * from './apis/web3_qrl_execution_api.js'; export * from './apis/web3_net_api.js'; export * from './data_format_types.js'; -export * from './zond_types.js'; -export * from './zond_abi_types.js'; -export * from './zond_contract_types.js'; +export * from './qrl_types.js'; +export * from './qrl_abi_types.js'; +export * from './qrl_contract_types.js'; export * from './json_rpc_types.js'; export * from './primitives_types.js'; export * from './utility_types.js'; diff --git a/packages/web3-types/src/primitives_types.ts b/packages/web3-types/src/primitives_types.ts index a01aa27d..f7b26bb9 100644 --- a/packages/web3-types/src/primitives_types.ts +++ b/packages/web3-types/src/primitives_types.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ export type HexString = string; -export type ZPrefixedHexString = string; +export type QPrefixedHexString = string; export type Bytes = Uint8Array | HexString; export type Numbers = number | bigint | string | HexString; diff --git a/packages/web3-types/src/zond_abi_types.ts b/packages/web3-types/src/qrl_abi_types.ts similarity index 99% rename from packages/web3-types/src/zond_abi_types.ts rename to packages/web3-types/src/qrl_abi_types.ts index 1ea1499a..14e16dc2 100644 --- a/packages/web3-types/src/zond_abi_types.ts +++ b/packages/web3-types/src/qrl_abi_types.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Address } from './zond_types.js'; +import { Address } from './qrl_types.js'; import { Bytes, Numbers } from './primitives_types.js'; import { FixedSizeArray } from './utility_types.js'; diff --git a/packages/web3-types/src/zond_contract_types.ts b/packages/web3-types/src/qrl_contract_types.ts similarity index 92% rename from packages/web3-types/src/zond_contract_types.ts rename to packages/web3-types/src/qrl_contract_types.ts index f6421757..83d485ff 100644 --- a/packages/web3-types/src/zond_contract_types.ts +++ b/packages/web3-types/src/qrl_contract_types.ts @@ -15,10 +15,10 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Address, Uint } from './zond_types.js'; +import { Address, Uint } from './qrl_types.js'; import { SupportedProviders } from './web3_base_provider.js'; import { Bytes, HexString } from './primitives_types.js'; -import { ZondExecutionAPI } from './apis/zond_execution_api.js'; +import { QRLExecutionAPI } from './apis/qrl_execution_api.js'; export interface ContractInitOptions { /** @@ -38,7 +38,7 @@ export interface ContractInitOptions { readonly data?: Bytes; readonly input?: Bytes; - readonly provider?: SupportedProviders | string; + readonly provider?: SupportedProviders | string; /** * If `true`, the defaults of the contract instance will be updated automatically based on the changes of the context used to instantiate the contract. */ diff --git a/packages/web3-types/src/zond_types.ts b/packages/web3-types/src/qrl_types.ts similarity index 94% rename from packages/web3-types/src/zond_types.ts rename to packages/web3-types/src/qrl_types.ts index faad69a6..94a9fc16 100644 --- a/packages/web3-types/src/zond_types.ts +++ b/packages/web3-types/src/qrl_types.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Bytes, HexString, ZPrefixedHexString, Numbers } from './primitives_types.js'; +import { Bytes, HexString, QPrefixedHexString, Numbers } from './primitives_types.js'; export type ValueTypes = 'address' | 'bool' | 'string' | 'int256' | 'uint256' | 'bytes' | 'bigint'; // Hex encoded 32 bytes @@ -33,8 +33,8 @@ export type HexString256Bytes = HexString; export type Uint = HexString; // Hex encoded unsigned integer 32 bytes export type Uint256 = HexString; -// Z-prefixed hex encoded address -export type Address = ZPrefixedHexString; +// Q-prefixed hex encoded address +export type Address = QPrefixedHexString; // https://github.com/ethereum/execution-apis/blob/main/src/schemas/filter.json#L59 export type Topic = HexString32Bytes; @@ -52,15 +52,15 @@ export type BlockTag = `${BlockTags}`; export type BlockNumberOrTag = Numbers | BlockTag; export interface Proof { - readonly address: ZPrefixedHexString; + readonly address: QPrefixedHexString; readonly nonce: string; readonly balance: string; } export interface TransactionInput { readonly [key: string]: unknown; - readonly to?: ZPrefixedHexString; // If its a contract creation tx then no address wil be specified. - readonly from?: ZPrefixedHexString; + readonly to?: QPrefixedHexString; // If its a contract creation tx then no address wil be specified. + readonly from?: QPrefixedHexString; readonly data?: string; readonly input?: string; readonly gas: HexString; @@ -77,8 +77,8 @@ export interface TransactionInput { export type TransactionOutput = { readonly [key: string]: unknown; - readonly to?: ZPrefixedHexString; // If its a contract creation tx then no address wil be specified. - readonly from?: ZPrefixedHexString; + readonly to?: QPrefixedHexString; // If its a contract creation tx then no address wil be specified. + readonly from?: QPrefixedHexString; readonly input: string; readonly gas?: Numbers; readonly gasLimit?: string; @@ -97,7 +97,7 @@ export interface LogsInput { readonly id?: string; readonly blockNumber?: HexString; readonly transactionIndex?: HexString; - readonly address: ZPrefixedHexString; + readonly address: QPrefixedHexString; readonly topics: HexString[]; readonly data: HexString; } @@ -121,7 +121,7 @@ export interface BlockInput { readonly timestamp: HexString; readonly number?: HexString; readonly transactions?: TransactionInput[]; - readonly miner?: ZPrefixedHexString; + readonly miner?: QPrefixedHexString; readonly baseFeePerGas?: HexString; } @@ -132,7 +132,7 @@ export interface BlockOutput { readonly timestamp: bigint | number; readonly number?: bigint | number; readonly transactions?: TransactionOutput[]; - readonly miner?: ZPrefixedHexString; + readonly miner?: QPrefixedHexString; readonly baseFeePerGas?: bigint | number; readonly parentHash?: HexString32Bytes; } @@ -148,7 +148,7 @@ export interface BlockHeaderOutput { readonly hash?: HexString32Bytes; readonly parentHash?: HexString32Bytes; readonly receiptsRoot?: HexString32Bytes; - readonly miner?: ZPrefixedHexString; + readonly miner?: QPrefixedHexString; readonly stateRoot?: HexString32Bytes; readonly transactionsRoot?: HexString32Bytes; readonly withdrawalsRoot?: HexString32Bytes; @@ -169,7 +169,7 @@ export interface ReceiptInput { readonly cumulativeGasUsed: HexString; readonly gasUsed: HexString; readonly logs?: LogsInput[]; - readonly contractAddress?: ZPrefixedHexString; + readonly contractAddress?: QPrefixedHexString; readonly status?: string; readonly effectiveGasPrice?: HexString; } @@ -180,7 +180,7 @@ export interface ReceiptOutput { readonly cumulativeGasUsed: bigint | number; readonly gasUsed: bigint | number; readonly logs?: LogsOutput[]; - readonly contractAddress?: ZPrefixedHexString; + readonly contractAddress?: QPrefixedHexString; readonly status: boolean; readonly effectiveGasPrice?: bigint | number; } @@ -364,14 +364,14 @@ export type PopulatedUnsignedTransaction = PopulatedUnsignedEip1559Transaction; export interface BlockBase< ByteType, - ZPrefixedHexStringType, + QPrefixedHexStringType, NumberType, extraDataType, TransactionTypes, logsBloomType, > { readonly parentHash: ByteType; - readonly miner: ZPrefixedHexStringType; + readonly miner: QPrefixedHexStringType; readonly stateRoot: ByteType; readonly transactionsRoot: ByteType; readonly receiptsRoot: ByteType; diff --git a/packages/web3-types/src/web3_api_types.ts b/packages/web3-types/src/web3_api_types.ts index 1e160165..4783fedf 100644 --- a/packages/web3-types/src/web3_api_types.ts +++ b/packages/web3-types/src/web3_api_types.ts @@ -22,8 +22,8 @@ export interface ProviderMessage { readonly data: unknown; } -export interface ZondSubscription extends ProviderMessage { - readonly type: 'zond_subscription'; +export interface QRLSubscription extends ProviderMessage { + readonly type: 'qrl_subscription'; readonly data: { readonly subscription: string; readonly result: unknown; diff --git a/packages/web3-types/src/web3_base_provider.ts b/packages/web3-types/src/web3_base_provider.ts index 5e92106a..8986559f 100644 --- a/packages/web3-types/src/web3_base_provider.ts +++ b/packages/web3-types/src/web3_base_provider.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { Socket } from 'net'; import { Web3Error } from './error_types.js'; -import { ZondExecutionAPI } from './apis/zond_execution_api.js'; +import { QRLExecutionAPI } from './apis/qrl_execution_api.js'; // eslint-disable-next-line require-extensions/require-extensions import { JsonRpcNotification, @@ -39,7 +39,7 @@ import { ProviderMessage, } from './web3_api_types'; // eslint-disable-next-line require-extensions/require-extensions -import { Web3ZondExecutionAPI } from './apis/web3_zond_execution_api'; +import { Web3QRLExecutionAPI } from './apis/web3_qrl_execution_api.js'; // eslint-disable-next-line require-extensions/require-extensions import { Web3DeferredPromiseInterface } from './web3_deferred_promise_type'; @@ -133,7 +133,7 @@ export interface EIP1193Provider extends SimpleProvider removeListener(event: 'accountsChanged', listener: (accounts: ProviderAccounts) => void): void; } -export type Eip1193Compatible = Omit< +export type Eip1193Compatible = Omit< // eslint-disable-next-line no-use-before-define Omit, 'asEIP1193Provider' @@ -148,7 +148,7 @@ export type Eip1193Compatible = Omit // Provider interface compatible with EIP-1193 // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md -export abstract class Web3BaseProvider +export abstract class Web3BaseProvider implements LegacySendProvider, LegacySendAsyncProvider, EIP1193Provider { public static isWeb3Provider(provider: unknown) { @@ -214,7 +214,7 @@ export abstract class Web3BaseProvider = +export type SupportedProviders = | EIP1193Provider | Web3BaseProvider | LegacyRequestProvider diff --git a/packages/web3-types/src/web3_base_wallet.ts b/packages/web3-types/src/web3_base_wallet.ts index 37b6aba5..eb337296 100644 --- a/packages/web3-types/src/web3_base_wallet.ts +++ b/packages/web3-types/src/web3_base_wallet.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Transaction } from './zond_types.js'; +import { Transaction } from './qrl_types.js'; import { HexString } from './primitives_types.js'; export type Cipher = 'aes-256-gcm'; diff --git a/packages/web3-types/test/unit/web3_base_provider.test.ts b/packages/web3-types/test/unit/web3_base_provider.test.ts index 53510f46..35d71a0e 100644 --- a/packages/web3-types/test/unit/web3_base_provider.test.ts +++ b/packages/web3-types/test/unit/web3_base_provider.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcResponseWithResult, Web3APIMethod, Web3APIPayload, @@ -28,10 +28,10 @@ import { class Web3ChildProvider extends Web3BaseProvider { // eslint-disable-next-line class-methods-use-this public async request< - Method extends Web3APIMethod, - ResultType = Web3APIReturnType | unknown, + Method extends Web3APIMethod, + ResultType = Web3APIReturnType | unknown, // eslint-disable-next-line @typescript-eslint/no-unused-vars - >(_: Web3APIPayload): Promise> { + >(_: Web3APIPayload): Promise> { return new Promise(resolve => // eslint-disable-next-line no-promise-executor-return resolve({ @@ -46,12 +46,12 @@ class Web3ChildProvider extends Web3BaseProvider { describe('Web3BaseProvider', () => { it('asEIP1193Provider will fix the returned result of the request method', async () => { const childProvider = new Web3ChildProvider(); - const returnValue = await childProvider.request({ method: 'zond_getBalance' }); + const returnValue = await childProvider.request({ method: 'qrl_getBalance' }); expect(returnValue.result).toBe('result'); const eip1193CompatibleClass = childProvider.asEIP1193Provider(); const returnValue2 = await eip1193CompatibleClass.request({ - method: 'zond_getBalance', + method: 'qrl_getBalance', }); expect(returnValue2).toBe('result'); }); diff --git a/packages/web3-utils/package.json b/packages/web3-utils/package.json index 006a1e91..a649d7ef 100644 --- a/packages/web3-utils/package.json +++ b/packages/web3-utils/package.json @@ -65,7 +65,7 @@ "@theqrl/web3-errors": "^0.3.3", "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", - "zond-cryptography": "file:../../../js-zond-cryptography" + "qrl-cryptography": "file:../../../js-qrl-cryptography" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" } diff --git a/packages/web3-utils/src/converters.ts b/packages/web3-utils/src/converters.ts index 259140a3..bf5f6b1f 100644 --- a/packages/web3-utils/src/converters.ts +++ b/packages/web3-utils/src/converters.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { keccak256 } from 'zond-cryptography/keccak.js'; -import { bytesToUtf8, utf8ToBytes } from 'zond-cryptography/utils.js'; +import { keccak256 } from 'qrl-cryptography/keccak.js'; +import { bytesToUtf8, utf8ToBytes } from 'qrl-cryptography/utils.js'; import { Address, Bytes, HexString, Numbers, ValueTypes } from '@theqrl/web3-types'; import { isAddressString, @@ -41,8 +41,8 @@ const expo10 = (expo: number) => base ** BigInt(expo); // Ref: https://ethdocs.org/en/latest/ether.html /** @internal */ -export const zondUnitMap = { - nozond: BigInt('0'), +export const qrlUnitMap = { + noquanta: BigInt('0'), planck: BigInt(1), kplanck: expo10(3), Kplanck: expo10(3), @@ -57,15 +57,15 @@ export const zondUnitMap = { pplanck: expo10(15), Pplanck: expo10(15), milli: expo10(15), - zond: expo10(18), - kzond: expo10(21), + quanta: expo10(18), + kquanta: expo10(21), grand: expo10(21), - mzond: expo10(24), - gzond: expo10(27), - tzond: expo10(30), + mquanta: expo10(24), + gquanta: expo10(27), + tquanta: expo10(30), }; -export type ZondUnits = keyof typeof zondUnitMap; +export type QRLUnits = keyof typeof qrlUnitMap; /** * Convert a value from bytes to Uint8Array * @param data - Data to be converted @@ -139,7 +139,7 @@ export const hexToBytes = (bytes: HexString): Uint8Array => { * * @example * ```ts - * console.log(web3.utils.addressToBytes('Z7465737474657374746573747465737474657374')); + * console.log(web3.utils.addressToBytes('Q7465737474657374746573747465737474657374')); * > Uint8Array(20) [ 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116, 116, 101, 115, 116 ] * ``` */ @@ -153,12 +153,12 @@ export const addressToBytes = (value: Address): Uint8Array => bytesToUint8Array( * @example * ```ts * console.log(web3.utils.hexToAddress('0x74657374123123131231231313a1231231112312')); - * > "Z74657374123123131231231313a1231231112312" + * > "Q74657374123123131231231313a1231231112312" * ``` */ export const hexToAddress = (value: HexString): Address => { validator.validate(['hex'], [value]); - return value.replace('0x', 'Z'); + return value.replace('0x', 'Q'); }; /** @@ -168,7 +168,7 @@ export const hexToAddress = (value: HexString): Address => { * * @example * ```ts - * console.log(web3.utils.addressToHex('Z74657374123123131231231313a1231231112312')); + * console.log(web3.utils.addressToHex('Q74657374123123131231231313a1231231112312')); * > "0x74657374123123131231231313a1231231112312" * ``` */ @@ -487,19 +487,19 @@ export const toBigInt = (value: unknown): bigint => { }; /** - * Takes a number of planck and converts it to any other zond unit. + * Takes a number of planck and converts it to any other qrl unit. * @param number - The value in planck * @param unit - The unit to convert to * @returns - Returns the converted value in the given unit * * @example * ```ts - * console.log(web3.utils.fromPlanck("1", "zond")); + * console.log(web3.utils.fromPlanck("1", "quanta")); * > 0.000000000000000001 * ``` */ -export const fromPlanck = (number: Numbers, unit: ZondUnits): string => { - const denomination = zondUnitMap[unit]; +export const fromPlanck = (number: Numbers, unit: QRLUnits): string => { + const denomination = qrlUnitMap[unit]; if (!denomination) { throw new InvalidUnitError(unit); @@ -546,20 +546,20 @@ export const fromPlanck = (number: Numbers, unit: ZondUnits): string => { * Takes a number of a unit and converts it to planck. * * @param number - The number to convert. - * @param unit - {@link ZondUnits} The unit of the number passed. + * @param unit - {@link QRLUnits} The unit of the number passed. * @returns The number converted to planck. * * @example * ```ts - * console.log(web3.utils.toPlanck("0.001", "zond")); + * console.log(web3.utils.toPlanck("0.001", "quanta")); * > 1000000000000000 //(planck) * ``` */ -// todo in 1.x unit defaults to 'zond' -export const toPlanck = (number: Numbers, unit: ZondUnits): string => { +// todo in 1.x unit defaults to 'quanta' +export const toPlanck = (number: Numbers, unit: QRLUnits): string => { validator.validate(['number'], [number]); - const denomination = zondUnitMap[unit]; + const denomination = qrlUnitMap[unit]; if (!denomination) { throw new InvalidUnitError(unit); @@ -597,13 +597,13 @@ export const toPlanck = (number: Numbers, unit: ZondUnits): string => { }; /** - * Will convert an upper or lowercase Zond address to a checksum address. + * Will convert an upper or lowercase QRL address to a checksum address. * @param address - An address string * @returns The checksum address * @example * ```ts - * web3.utils.toChecksumAddress('Zc1912fee45d61c87cc5ea59dae31190fffff232d'); - * > "Zc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d" + * web3.utils.toChecksumAddress('Qc1912fee45d61c87cc5ea59dae31190fffff232d'); + * > "Qc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d" * ``` */ export const toChecksumAddress = (address: Address): string => { @@ -611,7 +611,7 @@ export const toChecksumAddress = (address: Address): string => { throw new InvalidAddressError(address); } - const lowerCaseAddress = address.toLowerCase().replace(/^z/i, ''); + const lowerCaseAddress = address.toLowerCase().replace(/^q/i, ''); const hash = bytesToHex(keccak256(utf8ToBytes(lowerCaseAddress))); @@ -621,7 +621,7 @@ export const toChecksumAddress = (address: Address): string => { ) return ''; // // EIP-1052 if hash is equal to c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470, keccak was given empty data - let checksumAddress = 'Z'; + let checksumAddress = 'Q'; const addressHash = hash.replace(/^0x/i, ''); diff --git a/packages/web3-utils/src/formatter.ts b/packages/web3-utils/src/formatter.ts index 032b0dd7..fb2f48e4 100644 --- a/packages/web3-utils/src/formatter.ts +++ b/packages/web3-utils/src/formatter.ts @@ -93,13 +93,13 @@ const findSchemaByDataPath = ( /** * Converts a value depending on the format * @param value - value to convert - * @param zondType - The type of the value to be parsed + * @param qrlType - The type of the value to be parsed * @param format - The format to be converted to * @returns - The value converted to the specified format */ -export const convertScalarValue = (value: unknown, zondType: string, format: DataFormat) => { +export const convertScalarValue = (value: unknown, qrlType: string, format: DataFormat) => { try { - const { baseType, baseTypeSize } = parseBaseType(zondType); + const { baseType, baseTypeSize } = parseBaseType(qrlType); if (baseType === 'int' || baseType === 'uint') { switch (format.number) { case FMT_NUMBER.NUMBER: @@ -296,7 +296,7 @@ export const format = < } // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - const jsonSchema: JsonSchema = isObject(schema) ? schema : utils.zondAbiToJsonSchema(schema); + const jsonSchema: JsonSchema = isObject(schema) ? schema : utils.qrlAbiToJsonSchema(schema); if (!jsonSchema.properties && !jsonSchema.items && !jsonSchema.format) { throw new FormatterError('Invalid json schema for formatting'); diff --git a/packages/web3-utils/src/hash.ts b/packages/web3-utils/src/hash.ts index d2ef8620..eb15afbf 100644 --- a/packages/web3-utils/src/hash.ts +++ b/packages/web3-utils/src/hash.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { keccak256 } from 'zond-cryptography/keccak.js'; -import { utf8ToBytes } from 'zond-cryptography/utils.js'; +import { keccak256 } from 'qrl-cryptography/keccak.js'; +import { utf8ToBytes } from 'qrl-cryptography/utils.js'; import { InvalidAddressError, InvalidBooleanError, @@ -105,7 +105,7 @@ export const sha3Raw = (data: Bytes): string => { }; /** - * A wrapper for zond-cryptography/keccak256 to allow hashing a `string` and a `bigint` in addition to `UInt8Array` + * A wrapper for qrl-cryptography/keccak256 to allow hashing a `string` and a `bigint` in addition to `UInt8Array` * @param data - the input to hash * @returns - the Keccak-256 hash of the input * diff --git a/packages/web3-utils/src/random.ts b/packages/web3-utils/src/random.ts index f19d95dc..5aaf9ff0 100644 --- a/packages/web3-utils/src/random.ts +++ b/packages/web3-utils/src/random.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { getRandomBytesSync } from 'zond-cryptography/random.js'; +import { getRandomBytesSync } from 'qrl-cryptography/random.js'; import { bytesToHex } from './converters.js'; /** diff --git a/packages/web3-utils/src/socket_provider.ts b/packages/web3-utils/src/socket_provider.ts index ce5060fe..b0acc97e 100644 --- a/packages/web3-utils/src/socket_provider.ts +++ b/packages/web3-utils/src/socket_provider.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { ConnectionEvent, Eip1193EventName, - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcBatchRequest, JsonRpcBatchResponse, JsonRpcId, @@ -72,7 +72,7 @@ export abstract class SocketProvider< MessageEvent, CloseEvent, ErrorEvent, - API extends Web3APISpec = ZondExecutionAPI, + API extends Web3APISpec = QRLExecutionAPI, > extends Eip1193Provider { protected isReconnecting: boolean; protected readonly _socketPath: string; diff --git a/packages/web3-utils/src/web3_eip1193_provider.ts b/packages/web3-utils/src/web3_eip1193_provider.ts index f510388f..eb862fd6 100644 --- a/packages/web3-utils/src/web3_eip1193_provider.ts +++ b/packages/web3-utils/src/web3_eip1193_provider.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { - ZondExecutionAPI, + QRLExecutionAPI, HexString, ProviderConnectInfo, Web3APIMethod, @@ -28,10 +28,10 @@ import { EIP1193ProviderRpcError } from '@theqrl/web3-errors'; import { toPayload } from './json_rpc.js'; /** - * This is an abstract class, which extends {@link Web3BaseProvider} class. This class is used to implement a provider that adheres to the EIP-1193 standard for Zond providers. + * This is an abstract class, which extends {@link Web3BaseProvider} class. This class is used to implement a provider that adheres to the EIP-1193 standard for QRL providers. */ export abstract class Eip1193Provider< - API extends Web3APISpec = ZondExecutionAPI, + API extends Web3APISpec = QRLExecutionAPI, > extends Web3BaseProvider { protected readonly _eventEmitter: EventEmitter = new EventEmitter(); private _chainId: HexString = ''; @@ -43,7 +43,7 @@ export abstract class Eip1193Provider< ResponseType >( toPayload({ - method: 'zond_chainId', + method: 'qrl_chainId', params: [], }) as Web3APIPayload>, ); @@ -53,7 +53,7 @@ export abstract class Eip1193Provider< private async _getAccounts(): Promise { const data = await (this as Web3BaseProvider).request, HexString[]>( toPayload({ - method: 'zond_accounts', + method: 'qrl_accounts', params: [], }) as Web3APIPayload>, ); diff --git a/packages/web3-utils/test/fixtures/converters.ts b/packages/web3-utils/test/fixtures/converters.ts index 39e71473..34dad7a3 100644 --- a/packages/web3-utils/test/fixtures/converters.ts +++ b/packages/web3-utils/test/fixtures/converters.ts @@ -21,9 +21,9 @@ import { HexString, Numbers, ValueTypes, - ZPrefixedHexString, + QPrefixedHexString, } from '@theqrl/web3-types'; -import { ZondUnits, hexToBytes } from '../../src/converters'; +import { QRLUnits, hexToBytes } from '../../src/converters'; export const bytesToHexValidData: [Bytes, HexString][] = [ [new Uint8Array([72]), '0x48'], @@ -241,7 +241,7 @@ export const toHexValidData: [Numbers | Bytes | Address | boolean, [HexString, V ['0x72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', 'bytes'], ], [ - 'Z72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', + 'Q72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', ['0x72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', 'address'], ], ['-0x01', ['-0x1', 'int256']], @@ -252,7 +252,7 @@ export const toHexInvalidData: [any, string][] = [ [undefined, 'Invalid value given "undefined". Error: can not be converted to hex.'], ]; -const conversionBaseData: [[Numbers, ZondUnits], string][] = [ +const conversionBaseData: [[Numbers, QRLUnits], string][] = [ [[0, 'planck'], '0'], [[123, 'planck'], '123'], [['123', 'planck'], '123'], @@ -263,37 +263,37 @@ const conversionBaseData: [[Numbers, ZondUnits], string][] = [ [['1', 'gplanck'], '0.000000001'], [['1', 'micro'], '0.000000000001'], [['1', 'milli'], '0.000000000000001'], - [['1', 'zond'], '0.000000000000000001'], - [['1', 'kzond'], '0.000000000000000000001'], - [['1', 'mzond'], '0.000000000000000000000001'], - [['1', 'gzond'], '0.000000000000000000000000001'], - [['1', 'tzond'], '0.000000000000000000000000000001'], - [['900000000000000000000000000001', 'tzond'], '0.900000000000000000000000000001'], + [['1', 'quanta'], '0.000000000000000001'], + [['1', 'kquanta'], '0.000000000000000000001'], + [['1', 'mquanta'], '0.000000000000000000000001'], + [['1', 'gquanta'], '0.000000000000000000000000001'], + [['1', 'tquanta'], '0.000000000000000000000000000001'], + [['900000000000000000000000000001', 'tquanta'], '0.900000000000000000000000000001'], [['1000', 'kplanck'], '1'], [['1000000', 'mplanck'], '1'], [['1000000000', 'gplanck'], '1'], [['1000000000000', 'micro'], '1'], [['1000000000000000', 'milli'], '1'], - [['1000000000000000000', 'zond'], '1'], - [['1000000000000000000000', 'kzond'], '1'], - [['1000000000000000000000000', 'mzond'], '1'], - [['1000000000000000000000000000', 'gzond'], '1'], - [['1000000000000000000000000000000', 'tzond'], '1'], - [['1000000000000000000000000000000', 'tzond'], '1'], + [['1000000000000000000', 'quanta'], '1'], + [['1000000000000000000000', 'kquanta'], '1'], + [['1000000000000000000000000', 'mquanta'], '1'], + [['1000000000000000000000000000', 'gquanta'], '1'], + [['1000000000000000000000000000000', 'tquanta'], '1'], + [['1000000000000000000000000000000', 'tquanta'], '1'], [['12345678', 'gplanck'], '0.012345678'], [['76912345678', 'gplanck'], '76.912345678'], [['134439381738', 'gplanck'], '134.439381738'], - [['178373938391829348', 'zond'], '0.178373938391829348'], + [['178373938391829348', 'quanta'], '0.178373938391829348'], [['879123456788877661', 'gplanck'], '879123456.788877661'], - [['879123456788877661', 'tzond'], '0.000000000000879123456788877661'], + [['879123456788877661', 'tquanta'], '0.000000000000879123456788877661'], ]; -export const fromPlanckValidData: [[Numbers, ZondUnits], string][] = [ +export const fromPlanckValidData: [[Numbers, QRLUnits], string][] = [ ...conversionBaseData, [['0xff', 'planck'], '255'], ]; -export const toPlanckValidData: [[Numbers, ZondUnits], string][] = [ +export const toPlanckValidData: [[Numbers, QRLUnits], string][] = [ ...conversionBaseData, [['255', 'planck'], '0xFF'], ]; @@ -323,12 +323,12 @@ export const toPlanckInvalidData: [[any, any], string][] = [ [['1234', 'uplanck'], 'Invalid value given "uplanck". Error: invalid unit.'], ]; export const toCheckSumValidData: [string, string][] = [ - ['Z0089d53f703f7e0843953d48133f74ce247184c2', 'Z0089d53F703f7E0843953D48133f74cE247184c2'], - ['Z5fbc2b6c19ee3dd5f9af96ff337ddc89e30ceaef', 'Z5FBc2b6C19EE3DD5f9Af96ff337DDC89e30ceAef'], - ['Za54D3c09E34aC96807c1CC397404bF2B98DC4eFb', 'Za54d3c09E34aC96807c1CC397404bF2B98DC4eFb'], + ['Q0089d53f703f7e0843953d48133f74ce247184c2', 'Q0089d53F703f7E0843953D48133f74cE247184c2'], + ['Q5fbc2b6c19ee3dd5f9af96ff337ddc89e30ceaef', 'Q5FBc2b6C19EE3DD5f9Af96ff337DDC89e30ceAef'], + ['Qa54D3c09E34aC96807c1CC397404bF2B98DC4eFb', 'Qa54d3c09E34aC96807c1CC397404bF2B98DC4eFb'], ]; export const toCheckSumInvalidData: [string, string][] = [ - ['not an address', 'Invalid value given "not an address". Error: invalid zond address.'], + ['not an address', 'Invalid value given "not an address". Error: invalid qrl address.'], ]; export const bytesToUint8ArrayInvalidData: [any, string][] = bytesToHexInvalidData; @@ -357,54 +357,54 @@ export const toBigIntInvalidData: [any, string][] = [ ['zzzzee0xiiuu', ' Error: can not parse as number data'], ]; -export const addressToBytesValidData: [ZPrefixedHexString, Uint8Array][] = [ +export const addressToBytesValidData: [QPrefixedHexString, Uint8Array][] = [ [ - 'Z4848484848484848484848484848484848484848', + 'Q4848484848484848484848484848484848484848', new Uint8Array([ 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, ]), ], [ - 'Z3772377237723772377237723772377237723772', + 'Q3772377237723772377237723772377237723772', new Uint8Array([ 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, 55, 114, ]), ], [ - 'Z480c480c480c480c480c480c480c480c480c480c', + 'Q480c480c480c480c480c480c480c480c480c480c', new Uint8Array([ 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, 72, 12, ]), ], ]; -export const addressToHexValidData: [ZPrefixedHexString, HexString][] = [ - ['Z4848484848484848484848484848484848484848', '0x4848484848484848484848484848484848484848'], - ['Z3772377237723772377237723772377237723772', '0x3772377237723772377237723772377237723772'], - ['Z480c480c480c480c480c480c480c480c480c480c', '0x480c480c480c480c480c480c480c480c480c480c'], - ['Z9c129c129c129c129c129c129c129c129c129c12', '0x9c129c129c129c129c129c129c129c129c129c12'], - ['Z12c612c612c612c612c612c612c612c612c612c6', '0x12c612c612c612c612c612c612c612c612c612c6'], +export const addressToHexValidData: [QPrefixedHexString, HexString][] = [ + ['Q4848484848484848484848484848484848484848', '0x4848484848484848484848484848484848484848'], + ['Q3772377237723772377237723772377237723772', '0x3772377237723772377237723772377237723772'], + ['Q480c480c480c480c480c480c480c480c480c480c', '0x480c480c480c480c480c480c480c480c480c480c'], + ['Q9c129c129c129c129c129c129c129c129c129c12', '0x9c129c129c129c129c129c129c129c129c129c12'], + ['Q12c612c612c612c612c612c612c612c612c612c6', '0x12c612c612c612c612c612c612c612c612c612c6'], ]; export const invalidAddressData: [any, string][] = [ - ['Z1', 'value "Z1" at "/0" must pass "address" validation'], + ['Q1', 'value "Q1" at "/0" must pass "address" validation'], [ - 'ZE247a45c287191d435A8a5D72A7C8dc030451E9F', - 'value "ZE247a45c287191d435A8a5D72A7C8dc030451E9F" at "/0" must pass "address" validation', + 'QE247a45c287191d435A8a5D72A7C8dc030451E9F', + 'value "QE247a45c287191d435A8a5D72A7C8dc030451E9F" at "/0" must pass "address" validation', ], // Invalid checksum [ - '-Z407d73d8a49eeb85d32cf465507dd71d507100c1', - 'value "-Z407d73d8a49eeb85d32cf465507dd71d507100c1" at "/0" must pass "address" validation', + '-Q407d73d8a49eeb85d32cf465507dd71d507100c1', + 'value "-Q407d73d8a49eeb85d32cf465507dd71d507100c1" at "/0" must pass "address" validation', ], ]; -export const hexToAddressValidData: [HexString, ZPrefixedHexString][] = [ - ['0x4848484848484848484848484848484848484848', 'Z4848484848484848484848484848484848484848'], - ['0x3772377237723772377237723772377237723772', 'Z3772377237723772377237723772377237723772'], - ['0x480c480c480c480c480c480c480c480c480c480c', 'Z480c480c480c480c480c480c480c480c480c480c'], - ['0x9c129c129c129c129c129c129c129c129c129c12', 'Z9c129c129c129c129c129c129c129c129c129c12'], - ['0x12c612c612c612c612c612c612c612c612c612c6', 'Z12c612c612c612c612c612c612c612c612c612c6'], +export const hexToAddressValidData: [HexString, QPrefixedHexString][] = [ + ['0x4848484848484848484848484848484848484848', 'Q4848484848484848484848484848484848484848'], + ['0x3772377237723772377237723772377237723772', 'Q3772377237723772377237723772377237723772'], + ['0x480c480c480c480c480c480c480c480c480c480c', 'Q480c480c480c480c480c480c480c480c480c480c'], + ['0x9c129c129c129c129c129c129c129c129c129c12', 'Q9c129c129c129c129c129c129c129c129c129c12'], + ['0x12c612c612c612c612c612c612c612c612c612c6', 'Q12c612c612c612c612c612c612c612c612c612c6'], ]; export const hexToAddressInvalidData: [HexString, string][] = [ diff --git a/packages/web3-utils/test/fixtures/hash.ts b/packages/web3-utils/test/fixtures/hash.ts index b41e56bc..827f7af8 100644 --- a/packages/web3-utils/test/fixtures/hash.ts +++ b/packages/web3-utils/test/fixtures/hash.ts @@ -128,7 +128,7 @@ export const hyperionSha3Data: [TypedObject[] | TypedObjectAbbreviated[], string '0x661136a4267dba9ccdf6bfddb7c00e714de936674c4bdb065a531cf1cb15c7fc', ], [ - [{ type: 'address', value: 'Z407D73d8a49eeb85D32Cf465507dd71d507100c1' }], + [{ type: 'address', value: 'Q407D73d8a49eeb85D32Cf465507dd71d507100c1' }], '0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b', ], [ @@ -139,7 +139,7 @@ export const hyperionSha3Data: [TypedObject[] | TypedObjectAbbreviated[], string [ { t: 'string', v: 'Hello!%' }, { t: 'int8', v: -23 }, - { t: 'address', v: 'Z85F43D8a49eeB85d32Cf465507DD71d507100C1d' }, + { t: 'address', v: 'Q85F43D8a49eeB85d32Cf465507DD71d507100C1d' }, ], '0xa13b31627c1ed7aaded5aecec71baf02fe123797fffd45e662eac8e06fbe4955', ], @@ -193,7 +193,7 @@ export const encodePackData: [TypedObject[] | TypedObjectAbbreviated[], any][] = ], [[{ type: 'string', value: '' }], '0x'], [ - [{ type: 'address', value: 'Zc1912fee45d61c87cc5ea59dae31190fffff232d' }], + [{ type: 'address', value: 'Qc1912fee45d61c87cc5ea59dae31190fffff232d' }], '0xc1912fee45d61c87cc5ea59dae31190fffff232d', ], [[{ type: 'bool', value: true }], '0x01'], @@ -219,7 +219,7 @@ export const encodePackData: [TypedObject[] | TypedObjectAbbreviated[], any][] = '0x44555ffffffffdd2222222222222244445565535220000000000000000000000', ], [ - [{ v: 'Z407D73d8a49eeb85D32Cf465507dd71d507100c1', t: 'address' }], + [{ v: 'Q407D73d8a49eeb85D32Cf465507dd71d507100c1', t: 'address' }], '0x407d73d8a49eeb85d32cf465507dd71d507100c1', ], [ @@ -263,8 +263,8 @@ export const encodePackedInvalidData: [any, string][] = [ [{ type: 'string', value: true }, 'Invalid value given "true". Error: not a valid string.'], [{ type: 'string', value: 1234 }, 'Invalid value given "1234". Error: not a valid string.'], [{ type: 'boolean', value: 1234 }, 'Invalid value given "1234". Error: not a valid boolean.'], - [{ type: 'address', value: 1234 }, 'Invalid value given "1234". Error: invalid zond address'], - [{ type: 'address', value: '0x2' }, 'Invalid value given "0x2". Error: invalid zond address'], + [{ type: 'address', value: 1234 }, 'Invalid value given "1234". Error: invalid qrl address'], + [{ type: 'address', value: '0x2' }, 'Invalid value given "0x2". Error: invalid qrl address'], [{ type: 'uint612', value: 13 }, 'Invalid value given "13". Error: invalid size given.'], [ { type: 'uint8', value: 1000 }, diff --git a/packages/web3-utils/test/unit/socket_provider.test.ts b/packages/web3-utils/test/unit/socket_provider.test.ts index 2152163c..0e10db63 100644 --- a/packages/web3-utils/test/unit/socket_provider.test.ts +++ b/packages/web3-utils/test/unit/socket_provider.test.ts @@ -18,7 +18,7 @@ along with web3.js. If not, see . import { EventEmitter } from 'stream'; import { Web3APIPayload, - ZondExecutionAPI, + QRLExecutionAPI, JsonRpcResponse, Web3ProviderStatus, } from '@theqrl/web3-types'; @@ -43,7 +43,7 @@ class TestProvider extends SocketProvider { // eslint-disable-next-line protected _onCloseEvent(_event: any): void {} // eslint-disable-next-line - protected _sendToSocket(_payload: Web3APIPayload): void {} + protected _sendToSocket(_payload: Web3APIPayload): void {} // eslint-disable-next-line protected _parseResponses(_event: any): JsonRpcResponse[] { return [] as JsonRpcResponse[]; diff --git a/packages/web3-validator/README.md b/packages/web3-validator/README.md index 4d834921..e43fdc9b 100644 --- a/packages/web3-validator/README.md +++ b/packages/web3-validator/README.md @@ -47,20 +47,20 @@ const errors = validator.validate(['uint8', 'string'], [val1, val2], { silent: t To see more examples of schema you can use to validate check [following file](./test/fixtures/abi_to_json_schema.ts). -Following zond types are supported to validate. +Following qrl types are supported to validate. | Type | Input As | Description | | ----- | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -| uint | `number`, `string`, `HexString` | Unsigned integer, all zond compatible variants are also supported e.g. `uint8`, `uint256`. You can also use array specifiers as `uint[]` or `uint[2]` | -| int | `number`, `string`, `HexString` | Signed integer, all zond compatible variants are also supported e.g. `int8`, `int256`. You can also use array specifiers as `int[]` or `int[2]` | +| uint | `number`, `string`, `HexString` | Unsigned integer, all qrl compatible variants are also supported e.g. `uint8`, `uint256`. You can also use array specifiers as `uint[]` or `uint[2]` | +| int | `number`, `string`, `HexString` | Signed integer, all qrl compatible variants are also supported e.g. `int8`, `int256`. You can also use array specifiers as `int[]` or `int[2]` | | bytes | `HexString`, `Uint8Array` | Raw bytes. You can also use fixed length bytes as `bytes[2]` | | string | `string` | String values | -| address | `string`, `HexString` | Zond network compatible address | +| address | `string`, `HexString` | QRL network compatible address | | bloom | `string`, `HexString` | Check if a given string is a Eth bloom | | tuple | `array` | You can specify any tuple as nested arrays. e.g. `['uint', 'string']`. For a custom tuple or array tuple you can use syntax e.g. `['tuple[3]', ['uint', 'string']]` | -For the zond compatible data values should be passed as arrays e.g. for schema `['uint', 'string']` value should be passed as `[2, 'my-string']`. +For the qrl compatible data values should be passed as arrays e.g. for schema `['uint', 'string']` value should be passed as `[2, 'my-string']`. You can also pass full ABI schema for the validation. e.g. diff --git a/packages/web3-validator/package.json b/packages/web3-validator/package.json index 027bc412..df497bf9 100644 --- a/packages/web3-validator/package.json +++ b/packages/web3-validator/package.json @@ -50,7 +50,7 @@ "dependencies": { "@theqrl/web3-errors": "^0.3.3", "@theqrl/web3-types": "^0.3.3", - "zond-cryptography": "file:../../../js-zond-cryptography", + "qrl-cryptography": "file:../../../js-qrl-cryptography", "util": "^0.12.5", "zod": "^3.21.4" }, diff --git a/packages/web3-validator/src/constants.ts b/packages/web3-validator/src/constants.ts index baa42db1..05595281 100644 --- a/packages/web3-validator/src/constants.ts +++ b/packages/web3-validator/src/constants.ts @@ -15,4 +15,4 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const VALID_ZOND_BASE_TYPES = ['bool', 'int', 'uint', 'bytes', 'string', 'address', 'tuple']; +export const VALID_QRL_BASE_TYPES = ['bool', 'int', 'uint', 'bytes', 'string', 'address', 'tuple']; diff --git a/packages/web3-validator/src/types.ts b/packages/web3-validator/src/types.ts index 0deb1a8e..47438060 100644 --- a/packages/web3-validator/src/types.ts +++ b/packages/web3-validator/src/types.ts @@ -19,8 +19,8 @@ import { AbiParameter } from '@theqrl/web3-types'; import { ZodIssueBase } from 'zod'; export type ValidInputTypes = Uint8Array | bigint | string | number | boolean; -export type ZondBaseTypes = 'bool' | 'bytes' | 'string' | 'uint' | 'int' | 'address' | 'tuple'; -export type ZondBaseTypesWithMeta = +export type QRLBaseTypes = 'bool' | 'bytes' | 'string' | 'uint' | 'int' | 'address' | 'tuple'; +export type QRLBaseTypesWithMeta = | `string${string}` | `string${string}[${number}]` | `bytes${string}` @@ -34,7 +34,7 @@ export type ZondBaseTypesWithMeta = | `tuple[]` | `tuple[${number}]`; -export type ZondExtendedTypes = +export type QRLExtendedTypes = | 'hex' | 'number' | 'blockNumber' @@ -44,7 +44,7 @@ export type ZondExtendedTypes = export type FullValidationSchema = ReadonlyArray; export type ShortValidationSchema = ReadonlyArray< - string | ZondBaseTypes | ZondExtendedTypes | ZondBaseTypesWithMeta | ShortValidationSchema + string | QRLBaseTypes | QRLExtendedTypes | QRLBaseTypesWithMeta | ShortValidationSchema >; export type ValidationSchemaInput = FullValidationSchema | ShortValidationSchema; diff --git a/packages/web3-validator/src/utils.ts b/packages/web3-validator/src/utils.ts index ae05d93d..d79b1321 100644 --- a/packages/web3-validator/src/utils.ts +++ b/packages/web3-validator/src/utils.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { InvalidBytesError, InvalidNumberError } from '@theqrl/web3-errors'; -import { VALID_ZOND_BASE_TYPES } from './constants.js'; +import { VALID_QRL_BASE_TYPES } from './constants.js'; import { FullValidationSchema, JsonSchema, @@ -31,7 +31,7 @@ import { isAddressString } from './validation/address.js'; const extraTypes = ['hex', 'number', 'blockNumber', 'blockNumberOrTag', 'filter', 'bloom']; -export const parseBaseType = ( +export const parseBaseType = ( type: string, ): { baseType?: T; @@ -56,7 +56,7 @@ export const parseBaseType = ( isArray = arraySizes.length > 0; } - if (VALID_ZOND_BASE_TYPES.includes(strippedType)) { + if (VALID_QRL_BASE_TYPES.includes(strippedType)) { return { baseType: strippedType as unknown as T, isArray, baseTypeSize, arraySizes }; } @@ -243,7 +243,7 @@ export const abiSchemaToJsonSchema = ( return schema; }; -export const zondAbiToJsonSchema = (abis: ValidationSchemaInput) => abiSchemaToJsonSchema(abis); +export const qrlAbiToJsonSchema = (abis: ValidationSchemaInput) => abiSchemaToJsonSchema(abis); export const fetchArrayElement = (data: Array, level: number): unknown => { if (level === 1) { @@ -398,7 +398,7 @@ export const addressToHex = (value: string): string => { if (!isAddressString(value)) { throw new Error('Invalid address string'); } - return value.replace('Z', '0x'); + return value.replace('Q', '0x'); }; /** diff --git a/packages/web3-validator/src/validation/address.ts b/packages/web3-validator/src/validation/address.ts index 5dc95e2b..23b4151d 100644 --- a/packages/web3-validator/src/validation/address.ts +++ b/packages/web3-validator/src/validation/address.ts @@ -15,15 +15,15 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { keccak256 } from 'zond-cryptography/keccak.js'; -import { utf8ToBytes } from 'zond-cryptography/utils.js'; +import { keccak256 } from 'qrl-cryptography/keccak.js'; +import { utf8ToBytes } from 'qrl-cryptography/utils.js'; import { uint8ArrayToHexString } from '../utils.js'; /** * Checks the checksum of a given address. Will also return false on non-checksum addresses. */ export const checkAddressCheckSum = (data: string): boolean => { - if (!/^Z[0-9a-f]{40}$/i.test(data)) return false; + if (!/^Q[0-9a-f]{40}$/i.test(data)) return false; const address = data.slice(1); const updatedData = utf8ToBytes(address.toLowerCase()); @@ -42,7 +42,7 @@ export const checkAddressCheckSum = (data: string): boolean => { }; /** - * Checks if a given string is a valid Zond address. It will also check the checksum, if the address has upper and lowercase letters. + * Checks if a given string is a valid QRL address. It will also check the checksum, if the address has upper and lowercase letters. */ export const isAddressString = (value: string, checkChecksum = true) => { if (typeof value !== 'string') { @@ -50,11 +50,11 @@ export const isAddressString = (value: string, checkChecksum = true) => { } // check if it has the basic requirements of an address - if (!/^Z[0-9a-f]{40}$/i.test(value)) { + if (!/^Q[0-9a-f]{40}$/i.test(value)) { return false; } // If it's ALL lowercase or ALL upppercase - if (/^Z[0-9a-f]{40}$/.test(value) || /^Z[0-9A-F]{40}$/.test(value)) { + if (/^Q[0-9a-f]{40}$/.test(value) || /^Q[0-9A-F]{40}$/.test(value)) { return true; // Otherwise check each case } diff --git a/packages/web3-validator/src/validation/bloom.ts b/packages/web3-validator/src/validation/bloom.ts index 68857395..66677e08 100644 --- a/packages/web3-validator/src/validation/bloom.ts +++ b/packages/web3-validator/src/validation/bloom.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { keccak256 } from 'zond-cryptography/keccak.js'; +import { keccak256 } from 'qrl-cryptography/keccak.js'; import { ValidInputTypes } from '../types.js'; import { addressToHex, @@ -87,25 +87,25 @@ export const isInBloom = (bloom: string, value: string | Uint8Array): boolean => }; /** - * Returns true if the zond users address is part of the given bloom note: false positives are possible. + * Returns true if the qrl users address is part of the given bloom note: false positives are possible. */ -export const isUserZondAddressInBloom = (bloom: string, zondAddress: string): boolean => { +export const isUserQRLAddressInBloom = (bloom: string, qrlAddress: string): boolean => { if (!isBloom(bloom)) { return false; } - if (!isAddressString(zondAddress)) { + if (!isAddressString(qrlAddress)) { return false; } - // you have to pad the zond address to 32 bytes + // you have to pad the qrl address to 32 bytes // else the bloom filter does not work // this is only if your matching the USERS - // zond address. Contract address do not need this + // qrl address. Contract address do not need this // hence why we have 2 methods // (0x is not in the 2nd parameter of padleft so 64 chars is fine) - const address = padLeft(addressToHex(zondAddress), 64); + const address = padLeft(addressToHex(qrlAddress), 64); return isInBloom(bloom, address); }; diff --git a/packages/web3-validator/src/validation/index.ts b/packages/web3-validator/src/validation/index.ts index a94f0f6f..64352971 100644 --- a/packages/web3-validator/src/validation/index.ts +++ b/packages/web3-validator/src/validation/index.ts @@ -20,7 +20,7 @@ export * from './block.js'; export * from './bloom.js'; export * from './boolean.js'; export * from './bytes.js'; -export * from './zond.js'; +export * from './qrl.js'; export * from './filter.js'; export * from './numbers.js'; export * from './string.js'; diff --git a/packages/web3-validator/src/validation/numbers.ts b/packages/web3-validator/src/validation/numbers.ts index 3cd0d95f..1672a538 100644 --- a/packages/web3-validator/src/validation/numbers.ts +++ b/packages/web3-validator/src/validation/numbers.ts @@ -120,7 +120,7 @@ export const isNumber = (value: ValidInputTypes) => { typeof value === 'string' && /[0-9.]/.test(value) && // NOTE(rgeraldes24): issue found during the tests; previously, values such - // as 'Z1' returned true; making sure that we just have numbers and dot here + // as 'Q1' returned true; making sure that we just have numbers and dot here !/[^0-9.]/.test(value) && value.indexOf('.') === value.lastIndexOf('.') ) { diff --git a/packages/web3-validator/src/validation/zond.ts b/packages/web3-validator/src/validation/qrl.ts similarity index 94% rename from packages/web3-validator/src/validation/zond.ts rename to packages/web3-validator/src/validation/qrl.ts index 71fe74d3..c60092ff 100644 --- a/packages/web3-validator/src/validation/zond.ts +++ b/packages/web3-validator/src/validation/qrl.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { parseBaseType } from '../utils.js'; -export const isValidZondBaseType = (type: string): boolean => { +export const isValidQRLBaseType = (type: string): boolean => { const { baseType, baseTypeSize } = parseBaseType(type); if (!baseType) { diff --git a/packages/web3-validator/src/web3_validator.ts b/packages/web3-validator/src/web3_validator.ts index e982bb14..55ab35cf 100644 --- a/packages/web3-validator/src/web3_validator.ts +++ b/packages/web3-validator/src/web3_validator.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { Web3ValidationErrorObject } from '@theqrl/web3-types'; import { Validator } from './validator.js'; -import { zondAbiToJsonSchema } from './utils.js'; +import { qrlAbiToJsonSchema } from './utils.js'; import { Json, ValidationSchemaInput, Web3ValidationOptions } from './types.js'; import { Web3ValidatorError } from './errors.js'; @@ -38,7 +38,7 @@ export class Web3Validator { data: ReadonlyArray, options: Web3ValidationOptions = { silent: false }, ): Web3ValidationErrorObject[] | undefined { - const jsonSchema = zondAbiToJsonSchema(schema); + const jsonSchema = qrlAbiToJsonSchema(schema); if ( Array.isArray(jsonSchema.items) && jsonSchema.items?.length === 0 && diff --git a/packages/web3-validator/test/fixtures/abi_to_json_schema.ts b/packages/web3-validator/test/fixtures/abi_to_json_schema.ts index 7464894c..6301c730 100644 --- a/packages/web3-validator/test/fixtures/abi_to_json_schema.ts +++ b/packages/web3-validator/test/fixtures/abi_to_json_schema.ts @@ -59,7 +59,7 @@ export const abiToJsonSchemaCases: AbiToJsonSchemaCase[] = [ abi: { fullSchema: [{ name: 'a', type: 'address' }], shortSchema: ['address'], - data: ['ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b'], + data: ['QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b'], }, json: { fullSchema: { @@ -74,7 +74,7 @@ export const abiToJsonSchemaCases: AbiToJsonSchemaCase[] = [ minItems: 1, maxItems: 1, }, - data: ['ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b'], + data: ['QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b'], }, }, { @@ -1145,7 +1145,7 @@ export const abiToJsonSchemaCases: AbiToJsonSchemaCase[] = [ data: [ [ 'Rick Sanchez', - 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', ['rick.c137@citadel.cfc', '+1 (555) 314-1593'], ], ], @@ -1208,7 +1208,7 @@ export const abiToJsonSchemaCases: AbiToJsonSchemaCase[] = [ data: [ { name: 'Rick Sanchez', - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', contact: { email: 'rick.c137@citadel.cfc', phone: '+1 (555) 314-1593', @@ -1243,7 +1243,7 @@ export const abiToJsonSchemaCases: AbiToJsonSchemaCase[] = [ data: [ [ 'Rick Sanchez', - 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', ['rick.c137@citadel.cfc', '+1 (555) 314-1593'], ], ], @@ -1306,7 +1306,7 @@ export const abiToJsonSchemaCases: AbiToJsonSchemaCase[] = [ data: [ { name: 'Rick Sanchez', - addr: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + addr: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', contact: { email: 'rick.c137@citadel.cfc', phone: '+1 (555) 314-1593', diff --git a/packages/web3-validator/test/fixtures/errors.ts b/packages/web3-validator/test/fixtures/errors.ts index ca8894fc..b6da107a 100644 --- a/packages/web3-validator/test/fixtures/errors.ts +++ b/packages/web3-validator/test/fixtures/errors.ts @@ -41,9 +41,9 @@ export const fullErrors: any[] = [ export const errorsWithInstanceNoParamsNoMessage: any[] = [ { - keyword: 'zond', + keyword: 'qrl', instancePath: '/0', - schemaPath: '#/items/0/zond', + schemaPath: '#/items/0/qrl', }, ]; diff --git a/packages/web3-validator/test/fixtures/validation.ts b/packages/web3-validator/test/fixtures/validation.ts index 2186b27c..6ebca44a 100644 --- a/packages/web3-validator/test/fixtures/validation.ts +++ b/packages/web3-validator/test/fixtures/validation.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { Filter } from '@theqrl/web3-types'; -import { hexToBytes } from 'zond-cryptography/utils'; +import { hexToBytes } from 'qrl-cryptography/utils'; import { ValidInputTypes } from '../../src/types'; export const validUintData: any[] = [ @@ -301,38 +301,38 @@ export const invalidStringNumbers: ValidInputTypes[] = [ new Uint8Array(hexToBytes('abcd')), ]; export const validCheckAddressCheckSumData: any[] = [ - 'Zc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d', - 'Z52908400098527886E0F7030069857D2E4169EE7', - 'Z8617E340B3D01FA5F11F306F4090FD50E238070D', - 'Z27b1fdb04752bbc536007a920d24acb045561c26', - 'Z5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', - 'ZfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', - 'ZdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', - 'ZD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', + 'Qc1912fEE45d61C87Cc5EA59DaE31190FFFFf232d', + 'Q52908400098527886E0F7030069857D2E4169EE7', + 'Q8617E340B3D01FA5F11F306F4090FD50E238070D', + 'Q27b1fdb04752bbc536007a920d24acb045561c26', + 'Q5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', + 'QfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', + 'QdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', + 'QD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', ]; export const invalidCheckAddressCheckSumData: any[] = [ - 'Zc1912fee45d61c87cc5ea59dae31190fffff232d', - 'Zd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb', - 'ZD1220A0CF47C7B9BE7A2E6BA89F429762E7B9ADB', + 'Qc1912fee45d61c87cc5ea59dae31190fffff232d', + 'Qd1220a0cf47c7b9be7a2e6ba89f429762e7b9adb', + 'QD1220A0CF47C7B9BE7A2E6BA89F429762E7B9ADB', '1234', '0xa1b2', ]; export const validAddressData: any[] = [ - 'Zc6d9d2cd449a754c494264e1809c50e34d64562b', - 'ZE247A45c287191d435A8a5D72A7C8dc030451E9F', - 'Ze247a45c287191d435a8a5d72a7c8dc030451e9f', - 'ZE247A45C287191D435A8A5D72A7C8DC030451E9F', - 'ZE247A45C287191D435A8A5D72A7C8DC030451E9F', - 'Z72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', + 'Qc6d9d2cd449a754c494264e1809c50e34d64562b', + 'QE247A45c287191d435A8a5D72A7C8dc030451E9F', + 'Qe247a45c287191d435a8a5d72a7c8dc030451e9f', + 'QE247A45C287191D435A8A5D72A7C8DC030451E9F', + 'QE247A45C287191D435A8A5D72A7C8DC030451E9F', + 'Q72fdb1c1ddd4c67804f42b93de95cf6a8c51d2d1', ]; export const invalidAddressData: any[] = [ ...invalidHexStrictData, - 'Z1', - 'ZE247a45c287191d435A8a5D72A7C8dc030451E9F', // Invalid checksum - '-Z407d73d8a49eeb85d32cf465507dd71d507100c1', + 'Q1', + 'QE247a45c287191d435A8a5D72A7C8dc030451E9F', // Invalid checksum + '-Q407d73d8a49eeb85d32cf465507dd71d507100c1', ]; export const validBloomData: any[] = [ @@ -360,15 +360,15 @@ export const validInBloomData: [string, string][] = [ export const validContractAddressInBloomData: [string, string][] = [ [ '0x00000000200000000010000080000000000002000000000000000000000000000000000000020200000000000000000000800001000000000000000000200000000000000000000000000008000000800000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000080000000000000000000000100000000000000000000000002000000000001000080000000000000000000000000000000000020200010000000000000000000000000000000000000100000000000000000000000', - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', ], [ '0x00000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000402000000000000000000000020000010000000000000000000000000000000000000000000000000000000000000', - 'Z6b175474e89094c44da98b954eedeac495271d0f', + 'Q6b175474e89094c44da98b954eedeac495271d0f', ], [ '0x01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000800000000000000000000000000010018000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000010000000000000000000002000000000080000000000000000000000000000000000000000001000000100000000000000000000000000000000000000000000400000000000000002000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000', - 'Zf411903cbc70a74d22900a5de66a2dda66507255', + 'Qf411903cbc70a74d22900a5de66a2dda66507255', ], ]; @@ -396,26 +396,26 @@ export const invalidInBloomData: any[] = [ ], ]; -export const validUserZondAddressInBloomData: any[] = [ +export const validUserQRLAddressInBloomData: any[] = [ [ '0x00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000002000000000000000000000000000000100000000000000082000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], ]; -export const invalidUserZondAddressInBloomData: any[] = [ +export const invalidUserQRLAddressInBloomData: any[] = [ [ '0x00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000002000000000000000000000000000000100000000000000082000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000', - 'Zea674fdde714fd979de3edf0f56aa9716b898ec8', + 'Qea674fdde714fd979de3edf0f56aa9716b898ec8', ], [ '0x00000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000002000000000000000000000000000000100000000000000082000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000', - 'ZH1', + 'QH1', ], [ // mix a and A '0xaA000000200000000010000080000000000002000000000000000000000000000000000000020200000000000000000000800001000000000000000000200000000000000000000000000008000000800000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000080000000000000000000000100000000000000000000000002000000000001000080000000000000000000000000000000000020200010000000000000000000000000000000000000100000000000000000000000', - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', ], ]; @@ -563,12 +563,12 @@ export const validFilterObjectData: Filter[] = [ toBlock: '0xc0ff3', }, { - address: 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + address: 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', }, { address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], }, { @@ -587,8 +587,8 @@ export const validFilterObjectData: Filter[] = [ fromBlock: '0xc0ff3', toBlock: '0xc0ff3', address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', ], topics: [ '0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b', @@ -611,12 +611,12 @@ export const invalidFilterObjectData: any[] = [ toBlock: -42, }, { - address: 'Z98', + address: 'Q98', }, { address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', // Using "null" value intentionally for validation // eslint-disable-next-line no-null/no-null null, @@ -638,8 +638,8 @@ export const invalidFilterObjectData: any[] = [ fromBlock: '0xc0ff3', toBlock: '0xc0ff3', address: [ - 'Z98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', - 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + 'Q98afe7a8d28bbc88dcf41f8e06d97c74958a47dc', + 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', 42, ], topics: [ @@ -695,7 +695,7 @@ export const invalidBytesData: any[] = [ '-0x12', ]; -export const validZondTypeData: string[] = [ +export const validQRLTypeData: string[] = [ 'int', 'uint', 'int8', @@ -724,7 +724,7 @@ export const validZondTypeData: string[] = [ 'address[2]', ]; -export const invalidEthTypeData: string[] = [ +export const invalidQRLTypeData: string[] = [ 'i', 'int7', 'int512', @@ -782,6 +782,6 @@ export const validNotBaseTypeData: { dataType: string; data: any }[] = [ ]; export const validAddressDataWithHex: [string, string][] = [ - ['Zdec0518fa672a70027b04c286582e543ab17319f', '0xdec0518fa672a70027b04c286582e543ab17319f'], - ['Zd115bffabbdd893a6f7cea402e7338643ced44a6', '0xd115bffabbdd893a6f7cea402e7338643ced44a6'], + ['Qdec0518fa672a70027b04c286582e543ab17319f', '0xdec0518fa672a70027b04c286582e543ab17319f'], + ['Qd115bffabbdd893a6f7cea402e7338643ced44a6', '0xd115bffabbdd893a6f7cea402e7338643ced44a6'], ]; diff --git a/packages/web3-validator/test/unit/index.test.ts b/packages/web3-validator/test/unit/index.test.ts index 5e5938b9..740eb673 100644 --- a/packages/web3-validator/test/unit/index.test.ts +++ b/packages/web3-validator/test/unit/index.test.ts @@ -22,9 +22,9 @@ describe('main package', () => { expect(Validator.Web3Validator).toBeDefined(); expect(Validator.utils).toBeDefined(); expect(Validator.Web3ValidatorError).toBeDefined(); - expect(Validator.VALID_ZOND_BASE_TYPES).toBeDefined(); + expect(Validator.VALID_QRL_BASE_TYPES).toBeDefined(); expect(Validator.validator).toBeInstanceOf(Validator.Web3Validator); - expect(Validator.VALID_ZOND_BASE_TYPES).toBeInstanceOf(Array); + expect(Validator.VALID_QRL_BASE_TYPES).toBeInstanceOf(Array); }); }); diff --git a/packages/web3-validator/test/unit/load.test.ts b/packages/web3-validator/test/unit/load.test.ts index e57a8551..6b27b36d 100644 --- a/packages/web3-validator/test/unit/load.test.ts +++ b/packages/web3-validator/test/unit/load.test.ts @@ -34,8 +34,8 @@ const abiJsonSchema = { }; const abiData = [ - 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', - 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', '0xCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', ]; @@ -64,8 +64,8 @@ const simpleSchema = { const simpleData = { blockHash: '0x0dec0518fa672a70027b04c286582e543ab17319fbdd384fa7bc8f3d5a542c0b', blockNumber: BigInt(2), - from: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', - to: 'ZCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + from: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', + to: 'QCB00CDE33a7a0Fba30C63745534F1f7Ae607076b', data: '0xafea', } as unknown as ValidationSchemaInput; diff --git a/packages/web3-validator/test/unit/utils.test.ts b/packages/web3-validator/test/unit/utils.test.ts index eb4a7578..5eec55f8 100644 --- a/packages/web3-validator/test/unit/utils.test.ts +++ b/packages/web3-validator/test/unit/utils.test.ts @@ -18,7 +18,7 @@ along with web3.js. If not, see . import { InvalidNumberError, InvalidBytesError } from '@theqrl/web3-errors'; import { ValidInputTypes } from '../../src/types'; import { - zondAbiToJsonSchema, + qrlAbiToJsonSchema, transformJsonDataToAbiFormat, codePointToInt, hexToNumber, @@ -64,13 +64,13 @@ describe('utils', () => { describe('ethAbiToJsonSchema', () => { describe('full schema', () => { it.each(abiToJsonSchemaCases)('$title', ({ abi, json }) => { - expect(zondAbiToJsonSchema(abi.fullSchema)).toEqual(json.fullSchema); + expect(qrlAbiToJsonSchema(abi.fullSchema)).toEqual(json.fullSchema); }); }); describe('short schema', () => { it.each(abiToJsonSchemaCases)('$title', ({ abi, json }) => { - expect(zondAbiToJsonSchema(abi.shortSchema)).toEqual(json.shortSchema); + expect(qrlAbiToJsonSchema(abi.shortSchema)).toEqual(json.shortSchema); }); }); }); diff --git a/packages/web3-validator/test/unit/validation/bloom.test.ts b/packages/web3-validator/test/unit/validation/bloom.test.ts index bb31af38..b5ad62e0 100644 --- a/packages/web3-validator/test/unit/validation/bloom.test.ts +++ b/packages/web3-validator/test/unit/validation/bloom.test.ts @@ -19,15 +19,15 @@ import { isBloom, isContractAddressInBloom, isInBloom, - isUserZondAddressInBloom, + isUserQRLAddressInBloom, } from '../../../src/validation/bloom'; import { validBloomData, validContractAddressInBloomData, invalidInBloomData, validInBloomData, - invalidUserZondAddressInBloomData, - validUserZondAddressInBloomData, + invalidUserQRLAddressInBloomData, + validUserQRLAddressInBloomData, } from '../../fixtures/validation'; describe('validation', () => { @@ -54,16 +54,16 @@ describe('validation', () => { }); }); - describe('isUserZondAddressInBloom', () => { + describe('isUserQRLAddressInBloom', () => { describe('valid cases', () => { - it.each(validUserZondAddressInBloomData)('%s', (bloom, address) => { - expect(isUserZondAddressInBloom(bloom, address)).toBeTruthy(); + it.each(validUserQRLAddressInBloomData)('%s', (bloom, address) => { + expect(isUserQRLAddressInBloom(bloom, address)).toBeTruthy(); }); }); describe('invalid cases', () => { - it.each(invalidUserZondAddressInBloomData)('%s', (bloom, address) => { - expect(isUserZondAddressInBloom(bloom, address)).toBeFalsy(); + it.each(invalidUserQRLAddressInBloomData)('%s', (bloom, address) => { + expect(isUserQRLAddressInBloom(bloom, address)).toBeFalsy(); }); }); }); @@ -76,7 +76,7 @@ describe('validation', () => { }); describe('invalid cases', () => { - it.each(invalidUserZondAddressInBloomData)('%s', (bloom, address) => { + it.each(invalidUserQRLAddressInBloomData)('%s', (bloom, address) => { expect(isContractAddressInBloom(bloom, address)).toBeFalsy(); }); }); diff --git a/packages/web3-validator/test/unit/validation/zond.test.ts b/packages/web3-validator/test/unit/validation/qrl.test.ts similarity index 66% rename from packages/web3-validator/test/unit/validation/zond.test.ts rename to packages/web3-validator/test/unit/validation/qrl.test.ts index 56ef63dc..5d8f342b 100644 --- a/packages/web3-validator/test/unit/validation/zond.test.ts +++ b/packages/web3-validator/test/unit/validation/qrl.test.ts @@ -15,22 +15,22 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { isValidZondBaseType } from '../../../src/validation/zond'; +import { isValidQRLBaseType } from '../../../src/validation/qrl'; -import { invalidEthTypeData, validZondTypeData } from '../../fixtures/validation'; +import { invalidQRLTypeData, validQRLTypeData } from '../../fixtures/validation'; describe('validation', () => { - describe('eth', () => { - describe('isValidEthType', () => { + describe('qrl', () => { + describe('isValidQRLType', () => { describe('valid cases', () => { - it.each(validZondTypeData)('%s', input => { - expect(isValidZondBaseType(input)).toBeTruthy(); + it.each(validQRLTypeData)('%s', input => { + expect(isValidQRLBaseType(input)).toBeTruthy(); }); }); describe('invalid cases', () => { - it.each(invalidEthTypeData)('%s', input => { - expect(isValidZondBaseType(input)).toBeFalsy(); + it.each(invalidQRLTypeData)('%s', input => { + expect(isValidQRLBaseType(input)).toBeFalsy(); }); }); }); diff --git a/packages/web3-validator/test/unit/validation/string.test.ts b/packages/web3-validator/test/unit/validation/string.test.ts index 551f4165..7674e423 100644 --- a/packages/web3-validator/test/unit/validation/string.test.ts +++ b/packages/web3-validator/test/unit/validation/string.test.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { hexToBytes } from 'zond-cryptography/utils'; +import { hexToBytes } from 'qrl-cryptography/utils'; import { isString, isHex, diff --git a/packages/web3-validator/test/unit/validator.test.ts b/packages/web3-validator/test/unit/validator.test.ts index ed99880d..b86cc874 100644 --- a/packages/web3-validator/test/unit/validator.test.ts +++ b/packages/web3-validator/test/unit/validator.test.ts @@ -68,8 +68,8 @@ describe('instance of validator', () => { } }); it('formats call', () => { - expect(formats.address('Z7ab80aeb6bb488b7f6c41c58e83ef248eb39c882')).toBe(true); - expect(formats.address('Z7ab80aeb6bb488b7f6c41c58e83ef248eb39c88')).toBe(false); + expect(formats.address('Q7ab80aeb6bb488b7f6c41c58e83ef248eb39c882')).toBe(true); + expect(formats.address('Q7ab80aeb6bb488b7f6c41c58e83ef248eb39c88')).toBe(false); expect(formats.bloom(`0x${'0'.repeat(512)}`)).toBe(true); expect(formats.bloom(`0x${'0'.repeat(511)}`)).toBe(false); diff --git a/packages/web3-validator/test/unit/web3_validator.test.ts b/packages/web3-validator/test/unit/web3_validator.test.ts index bcd3c8a4..dd9fa737 100644 --- a/packages/web3-validator/test/unit/web3_validator.test.ts +++ b/packages/web3-validator/test/unit/web3_validator.test.ts @@ -97,7 +97,7 @@ describe('web3-validator', () => { expect( validator.validate( [{ name: '', type: 'address' }], - ['Z2df0879f1ee2b2b1f2448c64c089c29e3ad7ccc5'], + ['Q2df0879f1ee2b2b1f2448c64c089c29e3ad7ccc5'], ), ).toBeUndefined(); }); diff --git a/packages/web3-validator/test/unit/web3_validator_tuples.test.ts b/packages/web3-validator/test/unit/web3_validator_tuples.test.ts index db1dc6d5..ab266aea 100644 --- a/packages/web3-validator/test/unit/web3_validator_tuples.test.ts +++ b/packages/web3-validator/test/unit/web3_validator_tuples.test.ts @@ -29,7 +29,7 @@ describe('web3-validator', () => { validator.validate(schema, [[7, 5], 3]); }); it('nested tuples deep', () => { - const address = 'Z7ab80aeb6bb488b7f6c41c58e83ef248eb39c882'; + const address = 'Q7ab80aeb6bb488b7f6c41c58e83ef248eb39c882'; const schema = [ [ diff --git a/packages/web3-zond-accounts/README.md b/packages/web3-zond-accounts/README.md deleted file mode 100644 index 63c5762a..00000000 --- a/packages/web3-zond-accounts/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# @theqrl/web3.js - Web3 Zond Accounts - -![ES Version](https://img.shields.io/badge/ES-2020-yellow) -![Node Version](https://img.shields.io/badge/node-18.x-green) -[![NPM Package](https://img.shields.io/npm/v/@theqrl/web3-zond-accounts)](https://www.npmjs.com/package/@theqrl/web3-zond-accounts) -[![Downloads](https://img.shields.io/npm/dm/@theqrl/web3-zond-accounts)](https://www.npmjs.com/package/@theqrl/web3-zond-accounts) - -This is a sub-package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). - -`@theqrl/web3-zond-accounts` contains functionality for managing Zond accounts and signing. - -## Installation - -You can install the package either using [NPM](https://www.npmjs.com/package/@theqrl/web3-zond-accounts) or using [Yarn](https://yarnpkg.com/package/@theqrl/web3-zond-accounts) - -### Using NPM - -```bash -npm install @theqrl/web3-zond-accounts -``` - -### Using Yarn - -```bash -yarn add @theqrl/web3-zond-accounts -``` - -## Getting Started - -- :writing_hand: If you have questions [submit an issue](https://github.com/theqrl/web3.js/issues/new) or join us on [Discord](https://theqrl.org/discord) - ![Discord](https://img.shields.io/discord/357604137204056065.svg?label=Discord&logo=discord) - -## Prerequisites - -- :gear: [NodeJS](https://nodejs.org/) (LTS/Fermium) -- :toolbox: [Yarn](https://yarnpkg.com/)/[Lerna](https://lerna.js.org/) - -## Package.json Scripts - -| Script | Description | -| ---------------- | -------------------------------------------------- | -| clean | Uses `rimraf` to remove `dist/` | -| build | Uses `tsc` to build package and dependent packages | -| lint | Uses `eslint` to lint package | -| lint:fix | Uses `eslint` to check and fix any warnings | -| format | Uses `prettier` to format the code | -| test | Uses `jest` to run unit tests | -| test:integration | Uses `jest` to run tests under `/test/integration` | -| test:unit | Uses `jest` to run tests under `/test/unit` | - -[docs]: https://docs.theqrl.org/ -[repo]: https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-accounts -[npm-image]: https://img.shields.io/github/package-json/v/theqrl/web3.js/main?filename=packages%2Fweb3-zond-accounts%2Fpackage.json -[npm-url]: https://npmjs.org/package/@theqrl/web3-zond-accounts -[downloads-image]: https://img.shields.io/npm/dm/@theqrl/web3-zond-accounts?label=npm%20downloads diff --git a/packages/web3-zond-accounts/test/fixtures/account.ts b/packages/web3-zond-accounts/test/fixtures/account.ts deleted file mode 100644 index c6197d9f..00000000 --- a/packages/web3-zond-accounts/test/fixtures/account.ts +++ /dev/null @@ -1,360 +0,0 @@ -/* -This file is part of web3.js. - -web3.js is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -web3.js is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with web3.js. If not, see . -*/ - -import { - InvalidKdfError, - InvalidPublicKeyError, - PublicKeyLengthError, - InvalidPasswordError, - IVLengthError, - InvalidSeedError, - SeedLengthError, -} from '@theqrl/web3-errors'; -import { CipherOptions, KeyStore } from '@theqrl/web3-types'; -import { hexToBytes } from '@theqrl/web3-utils'; -import { FeeMarketEIP1559TxData } from '../../src/tx/types'; -import { sign, signTransaction, encrypt} from '../../src/account'; - -export const validPublicKeyToAddressData: [string, string][] = [ - [ - '0xd64a1cc77db0e77b70ee2cd5bbca52b06dde43423e03d8fb9f76e9698d15111a6b6042e9e2757edff6ddf54ea4c9656c6d6354ad538f308a2be1e67f4d39feb7765e31f048cc3403dd967fcdd405f3ef4817bb7bc70691d7129f2e4a10a7fd6b050ce306f77083c48f97b984e5f8232cc17473b55adf92a1fa2a31b0fbde0dba752530a7a4626b863f6deebb05695ad788df09ee49da26771ff5278445384dbc74b487486741077a58fa6881814f0cb99a502d4d384cb9b78b0bca4a681a6de448ddd25b6833b744a80bd9632b4dea700e00f9483a7e272691a8d77e4786dd311b41ec9933534e1b1cf1a402cbfefce230eb76bc5061be6d2902a18e35002743359a81b4dcb9da657af0bb1429bc757e6d2e5791299b07e8e5d65168c76d0e8b8a723466ab86a2f3ed53ccda578c60317052a5bb0d25caaabd4dde849dafecb4cd97e9213f4c8a4a2c317fae51d7d3371062d8381c925c686fced1213c8d930f6cf249e1a5a2d7ec160df0d82c2c7422b3fb258fca2a8db0ed4218137167cfaf37b7d8cfa3573b5e23f3694f21d41a1da987db1fbbcb579987e1928150f478987c8e7aad4833f2ea692014b5902153c95ab438e12d0b4d2f1436971f476fbd85947189dc0d6d37d91e76389aa52068fa3c501357aedcfbbf7a776e5950654034f8368a3df5e426713f6eeb7ae4e2d3467853dbb19e0d850e61eeac4dd7a5c010b6748872734a3cbee90e2bbf8e876682a1d9ee174e858a59ea081439c711e64c05ae3640b661038e251c33f0b7acff793061c87e843aa8389c0dad50d3ce5c217f9c2b37450378c3642c31cff85a7231df6dd5970c7fb26e8016afb29b355331fde585f0daed5e3c36f8fa3250fd18831d770342ac0272dc59e95ad03902917afe3dabd73cff58f02d60f29cc60074999d1ff152fcd8be139eee3aab59a512dc3a7d50cf534229420d96c38cb4b7c7e8bd806b5abe8c7bd12e427bc74039798e7b6fbcb4f4ecd851015a1a8962b15e83d4d8a4794307581d8736130a15c522de42dbf0bc331ab52443b17f222f7f534630e9d20a0aced9876b1911b6f808143a1e1265393568df45e0a02ea53ab24039faf4cf176f19a110322fb71afbd945572fe367c77d0c1dbfec85a8731a2e39bd41eb9e44bf0dfdc1ee1f564d06ad7c1adbf196ef31f2bd0247c674bdf3b416121aa49079cc69b9643829d7ae05a7213d31b8c9d334b441ebfb96cae49791130676e83bad0af57d5ec22d4e3e2c2a0977ed0560567a5c852a4916a39a15fb43a35c38680f9d88d5268327b211c4af40e93a6a121c9907ef9ef5d3d545cbbe504070c0acceacfa6df8e0b444573ecb2229fe850f6b44869065f2fccaf838af7b20cc8093aceced65b10a665fbd4a8ea513229642269e9cb9f5a7428d1c4aec329ef28e55ab3b0fe2658318b8681eae65f201dd387a32c4713bf8f1982ea91c0240f466c772ce5d203bfbb51e335ec3fd807ad7bb93691328721d970b7dfbf1c93550670da8e87fe27c9b8954916e8681095452b0dabbabacdc0a427586855d46618f164fce04f9fc57d40a1326d3fa968bd28f069a03ee558dd4cc063c8b77ca2d3f35dec70b0a12ad54be9e9871c43a3850707a4188166860c337e6026338e6ca6d3e4467a57c67e6ed64de11e377ebbbb581ccbe8d636a763797508d2848a13db3246c5232783905007d0c8529e6224d7a7985c59f12b8ba1e7c6d489da4e7d66ef9b0e4d9c1d040699107d6fa957defecb7243e3fada84ab90880070e2c4e7b5fe26fc630a70ebe89f418c14616e36c4a2902e3fdc8a2597c73ccbbf39d9a530bde406ccddbaac26af94125b0d9daeacfc160056e9e935e31277130bf5ad379e41fc25c62a96000cd50eda3b3f7857e4e6e481a923046e40e889313fa96948535196fe96e346513a9527475a9dedf1664b65e8cc8fef9af8bee1e7cc404710515f7ffb2361b40eebc317972766a79e86d0c29f042d153d877961f5459228e486d06a6b05c0eae71e8f14433db14528e10cd069e9dd3f10fa0d0ba8240ade03aedd0b25f7c80a54dae007f0c7b60d3fed7e1a2e055e6e5b16ff10bbf853f9d774951d1d0c40b724e26b4922a28f3acae60427e173dedcd359e2af2b9e08360996788fab227597043777e6d9eff5918ce99ada8b117f2395d500bbfcb0c528fb0ec0c90e5eddf28b56a4b6397ba0ae0ed20c67ccd78fce12c90f5465f68c820cb5342c1613b46c60fe329df2a9c338df3cf53cb6e17f8b25a798062bf2af6750aa877c0477b4796679dbb7e276f87c6df6341085cf7e98d2d3135561ec62795b39e47a16440ebdd98258662ef59a3e8cb2c2e09b660eabb55417ec810102c2378547f2a48736c1504e5efe2560ea4f5720865f8634541868acca16ae7904c563031a5c1de2c07a3118a3bb01f3c32c53aeda2cee111afce49c663bcc80a26d93ff3daa24a12678483fc6012e8b03bb92c7581da64249fc9d9c04cda20579ba24286fa21b21e7bbecc0e6222446532a00d581729db8cacdbca0b19f18e04600fd24c450737e16456fdefd37ba35c98f2cb6b1b3c4d329359b1e877cc8673d65fb7c1fa63ef6313ca7f51af60283a935d63403f7ca39818065d5dac105e81a95590c15f1991c397b980515d70bcd307dc7f9d2915f6e02db06927fd87274a0243ffaed29443e470b77d3bd7d0c55eb7af0674e8ab2b7136f45df1483bdc70380c0c0afa49033bd242020a126feb019cd819b6bc51a77eca7b1682066e73fe2db3eb01bfee0fe425ec0e03e1de4ff836657240f5890bf747f8301be29fe69280fd6403cabfd6ef4b97333cc351c606da702bef947b03c631178f48be47bc55ad42b9eacb81becd0b5d5bb5bff131b83df3a1ef2ec17383e263ac7c7ee6707a09ca1afb663d10c0376bcd7022eab9b25b01bdd584435711d0c28b2a8012ecd2b6f76469471799ff4a9940d2a1c19cb1730420c3ae806aef91249ec5a4b685adafbe4b58f5a4ac805c9013bcb9b937f616df6e9028e3a8a1148df3d665efac36c998976bdd1742abcbd583051102e5aad527335a62f6f3847115937475e7ba3643dd41c3b9fb021f9a4e57c8880f317d59ba3ddc0c95cfdfcd87eace88b03cb935ce35b4e4f8a7fcbb3c548f057d78a830379794f4328469e7be857607a5ea6f21090a4d7aab7243dd6e4f731f9db911216bda4a7b2b6a671c11617df3c2a772d0e91b8232f01f89a3a25cefb39ff50140e6fdaa8b4015a150841231fee3943b3c853da72f1fcf068682afee972f586d4a3a2ff06fbb9b19cd3ef7be2f8f735cdf500c36e41f67740b4e03459073c5f80db6488b25c24263f5d0b57ebb798bd0ae7d720103c7169e7500b95cb63ec5cff2ec6d0bd0ba5f69b3635e124f6bde5332a873eb515c8e57a99ca154e66582394122175361e9ef908356429ea2a3c6c85c1dd351b3b6d957905636ed9472eacc78d2a80ee7b01af018551fa3b26a5305d1d0b39869c903cb6e8317d5f027959bf57cd8b79033e5e7921e4f1da4e1ba09f4149caf93286e1f03efaed4d9bdec4050e488b088830d974543ab21cf0bf7fce1012802fb0b7e2a2ea85137064238bdd7399e28360bdac3b16d608f3a43a67b66469313925cadabe31ff5f9726d8cd850324b', - 'Z208b13bde416DF6e4Dd37E0C38Eaf0A8E05a9780', - ], - [ - '0x7ebe91aa142f5bc260e1c737bccc46890c193e72b8310670a972d5c2ce647bd146d6584ce8804d52f1f412e56ee653e13beb63c8505e885c4b260d0762dbc5d8b151e86e94212eee8f98d02a69ea5618f17596a0f93f38751da6197fb68dfa848bc66896ca44281b5a5958c418033a43b8606938f77d8847374096c14aec283072f93d78096dd234b37d925c3aea97be95f83d96d4c183c738ad40e1ef82514dd54306f6fd200cee43ace14a8fd80e72088189ec4f2bbeb067607c8f2b1b7fd77ac474713cc428beaebc5ab7bd0c2825bc2d8d77903bd966204b4f87bc7df9eeb3eafebfe2f288ef7a743e4257de5837563c703f2c6b84e0ac7a66f92ba8fd08c2de9f5c81a108e60330a070ead18a35e39b109981b95ce7f3328666c10572a36a96ea342b27979191b3967f32038bf13942388b4d40d8ffc4fd919214811970567c8dde120807272af74165d6e43c966ac6d547c10c1f73db2c7835bae289667efbde24ad5510b5ff31755d4b71da9085ae44a644e1660f49a75b9e5e1ef7ca1aa608214eadd2c00e606937230a14d979b4fb65e7faa593004f478e3134861d93e7d3871dc1294ef28e1e4550fc87f0ff28db457716365a4f4b34787cecaaebd848cd30f902e7df85a11668baab39b8b4616418987fd734c90082b2d8fcc274412c171095c32466fdb5c4c8f729a4f71cb1862dabe89e9e52a2e065f87ef3d45ee4eefc0505921e1a987c05f5681f23bd3d4a571a186c29339bef27aca21ade90a3997afe12c50afdde466403956ce90deccb40d508c0675a68297d4b9ac9657454d4a4069a1b4e9d6d96e805555af1d46317428450417094582d65cd5da7a25457b926e87b18c09f3a11a2d544bffd0e6e1ee5ca6f8a05a53a3610c104ac4ddf62eba69cd52c970d252ed33d3ef76e9ccee18a10ad3134efd9da82a6537698a624f3ee66750bb8e9b0fdbdfac907399de563c5bda1275e7c1c35d34e066306cdf9529558b41107094dc718e5c33f89a28cbbb5ce438ca0e11a85a0ec35af8aa9c5a5094bc881ef4c86520703a83373f3a57927a129d3e88f3b55e7f90aa6d879aa657d6dc3e6c6ce648835029db4abfd675ac5209e6b5d18c9eb7ebc4a6c4c2bac7fb630bb3d88c585e91be9fa5f35dbbbb8f3cc6213f71aec195f31288a4e1b0a3911cc9c42877551bd39fb2623c9ad0cc705835dd97c1a28a04ece1d8e85449b2db68825c092cfb07d602c48b2459286b8f666ff66ffc54c9ee71ae231d0295bcdfab83c1ae9038e22f2fcdd189e5cab5880f56e2a726db4ba2c87ad8a1a44a6892ad99c3d007d5e380f4eba4369cfc8587de11fec82fcff3c91b57f05e62e6850b099436e40c642334958525d55170079e9662bbf70eb7e7e922a88e06621281e14b23869c0ae0df1526205531462993859d996ce573521c172df5e93ce4d5611f87cc67218705fd561073e792b74b8789b4c85b1c0a0dad909790ac1d1ab71abb90718956129f7f32e3f4db3f1ed43c569d65c465b70a89f39a4433eb5a5626819fbae5cf09d4d5c885584521e7a3511af52ca3d72804e56b9b4492529fa155c908eee332d90dd6d4b3c0e5c17872ba6cfb69573ef76661f16b9cbd10f8d03998a0f61cf467ad130391ef596b9cf5a78443aa8acb27c732fe605d5866b1679137cf9d7e2fa7ea1f7ab3e2b0c571ab91dd1dda7fa398e781f2c81fcf535e4e9a0341d3308b27db2413e3cfb0bac86ecfb9bbf123cac1e196ca478df0c14f5de41722f691281275c07d9955b2673047271816a8a1f17108db9784e71323c146d7b0dd21e450d7f66440cc45359e143cc3d87bd577e75e207583113d536bd1283b2db583c45e3d88b2303044e89a758490633043b1f88f1367189640986ef9b8687acb9996f1441cdf6553dabc104ae591efad4e02292ac0ee9652d769b0cb10255707bef0c6635b0d5cb2456520fe4cf65775f58250be8149468b87038d7a4098f74568cb1f8ed2dbb05aaa274cfb3dc517027eeca7e8ec08fe5e55e3ea814526ea59f0aa3e748acc8d1a5cb3f1f9141c3314539580edd9329bc6ef2b29526a236dc9a0b6d31c6acb4d6ffa9bad65e9d1eabac897a45f02adaaf387e9046b44ad30686b6fb004681c2979c2c483d3171bfee21ae01553251ebc955a635b2ec1e3404d82f0b40ebf6f57d96afecdc8801eabf0399c59a94d2c68bd31168681179be10b467a6f7d6bbdc9c7dce2badb07d08131c1e544cb718f19488179f27f8e36136adde46fb0cd4c95470bdcf2bd1ce1e9605667bf9a88868d65a5a3afbb6a033a2a2aebf049542a59bdc249ddac8491b514f4f0597d0e65b03f63c1e4655bbb67afd39c829cadbfbbc2bc30c07df35d6b2c33af7db49d1881ed77fbaad8fa193b274a2f4549c4b51e7c6bdda41e28b97e32486323cd3adac1b3d30360e11f79ee123024d2ce771f3559a4c74f2f53402c2a1744e8c801576374c3632fb73e027229237a2eb6a17dd73ac91bbb38436f5bd95e12205bb651f0151a5b6a78f09c1427cee8ec4300e35e60eae2a8462ca56f8eb8142a45f56baf2efb33fdeea5781c87324813583a32bcbe525a5ddce6e6c6b00f0a89dc46f9fe852ce8f4613cfb425ef51362d43e545ebf702fa94bdd667e012f99fd2ac21141e975b841a22a0c99897e5df5429b84ce543591fe4e23f6e073dbf2fcba2e1c15f8a248403069ef890950eda72ec02af5fcc4e792e6d270748a564cae949da0cea0dfdac21ac1dd05130e14c245c1ecc7170a896dc17cb2b2714fe490e628b3c405d164455a11a4bc30493696243449ddfddfa54f2d8627c829e5e11530f4d899586e5a27ea6d4b58ab883c03738540098475dc5d5129a2dfd223e55ed19ce6051cd3135e065ecc40e094ae2450534270d43922ad5a8a906f1d15e3f2ae5bea7955d9038729597169a59bec55906a2df631b06438eb878f2ca73d0dfa031ce73e7f2d16b28edfdf6fbe0083428c34afc50b9d6cc22d4014c69c7ead61f7046ab760e6f0b25dd8f5131a2d8fe6c0ba7165e6f369df539c91ccb769d745163052018a2754d0dd3c90817cb763858ceba519804c82dcf17c238d89991e6ac4d7f04dbb187e2b4200c3c95c8e8061647e22b2aab38a0cf0e8fcc1461b7cedf92f28bd2ff671eab90307e5602f918d6c46f676e63fec80a5f2e418f77aa2bead7e25c908be21723488b35e29faee3d64d9ca72b2aeddefa982cb64a09677a68b4c4d43c296bcbdaa6f1406014665e89d25e875621ec9f1b044b29f1294d2ec231154113bd3032d29a67bf0645e0f6568dc45c5e175c2477f9b058d132fc98d8a7caf0532a7d9e4595e50a1916f37320efbff98b0dedcdd53df9ceff014ccf47db85ac4f3e574681d9f6192db134a7c2e5242ff63231c171bc0a71473d531615f33da5dc3b89332ed2fd0f07ab47bad5291f6bac530bf3fe4c9612e73e04c94d793efa04d2f4f17df281a7297b5b33b03c4ce3f9ab546e866f35c6421a70da4d12f604066aa4faa2f788c72762e689b8080413460899967d20b9af92cbb1cd8561858a7009116d904863e6cb483ebd08ae18e6930e17f89995ebd34818f42ba6048adb19f9e0082b7680ec209a6f6da8d6df1ad735bee0b5a078f0b16bd54964bfdc7dbaaa0fc570', - 'Z20e0934142C8d04EdF630855729132f19C8A846f', - ], - [ - '0xdb403f989f30a2fa65f24bef8c53bbae67abcb559b44097098bb505e7b2363609756a85409681d71eb628631fa5df5681a029a8aaf781bc698926f0583942331bf453f047ddc23bc55550f40d7c35b6ee2853a61d509e0c46e0a01b85780c75f28aabb4e555cde8bd4afa04cdeb4a3494ae0f31eb040eaa9322bb6376b91e4062c538e75e206bc92123914c54f130eda1f934edbe201f7a046fe6c6c9d01e5ce5dc64a77ecbaaccb739a0c9fe372a03d9e1b84e646c58367f3f7e151f378e54a5f3469b02ee833c07b6551ffe8005d2ac81e5efc61e0184df5579b9ddd1ffbd8f8ee838d8550f26b476d6f58e2b53feacd67d6d60b0d9044eed39a1295b8980b817396a474375b366efbca7e5f019454f78c007d00c7bc1db2759a7a3a012f1e3753da3b9508913556fe4fca413beaf54cb8f9e9b0f1f0319582bd402017de09ef62394092f487b8707f934e882260f0e24607cee55c5b30410abd4c4b452b32362696d726b056afc797f7e4b81ee72ebf92d679c319970cb87bd11f5b4b808ad899497111f4d0aabb4307d85269f6ad2af26af250731c50e053a68d83ef2ea5f3eb56c395ce04e06281e559785305a3b589a54e7b7988b87632a5c46987ac3c60289dc88f56fd6fd8e1e1589ad55e863baf8dbe2049b5164566bae9a8d469222cf0bb868e2b1f2523a48586a0d5707a8dabd0e60ca4579a1d143f31b4bd803d0f12b3927e1f79c46200f7f0265d26c7e1329b7adb6baffde4b7655f36f88e81a502517b078ddac4f03bf8c48508382e4bcf23ffc3f1654b35b4d07d27d6d9eafb9eff06c8df46bf91e4eef4dc9c9149144cea1c1744fcf8f4d7295210e1c5eac8c5527f02917d9cdbb0b0579d6c1fa8ab6a1bcad2f47b52b2ad7a1116b080f4cfcb5c4ec36d35a6d8d84095541a3397751e58abc9be9aa19af8a49ce7621900be402afcc33f21dddadf2cf20ed5e557b143325cac9b376387f24220d438c2bfc505ea502220544848b734108d010422fbb4832c69609da9f3fc315a4d500ac93d297afe8a71d1a837f6844327f7dfd9ef893c29dd30e394cbd2d1469ddba0ea255f8d3a11c5d5dd09a839b4e68b9c37b29a0a05263e897eff3dfd5595e16f0f0965b72ed0ab107bea58766f6b182e37d93799d8fefd3dd960d46e074ce19fa55b09522b025d7fef70ac91a66337d59feeda32913d7156133f227424fe20710dab11fc935ac5ce97c30eb530f8b1cd1f1f8d062f192cc2e42dcc8025651c4eb2cd026b99b145eaee498ab5186ad59cf337a772c448d05e6cf8d05f49631818eb7010b71ae5aa0dd773f870ba40b6436dd10cc550d9f5cb0c8357240789aae69b3a79dbb8c25508e4623d2346e1b3e5150279c6191e2a36db492f8ef0a1fa50faa8ce6bde2cdc892d9f7a515713ed31e02472aa0447366be58945ab7468c91c05958bc5e31cce33d3d9a339fd15ffc2e39e8ebea1eaf8370c6b4d6b6e0f8d20046ff7fe26752745a82735350f2b9b7b4d05f5c18d5bc0bec3e22010943c9a262d658fd83bd61daa2abdc7dac89f670acc8b1182ba04ab912959e50c8c8ec6a2da12d8b1506809d4ed86798abf0c1be6567e046c5bfd574df076533a87d1a7d3f3574941fad13aaa0e8232f8040b5a37d39d1abc9b7332c00b934ccd9d8b52f5767cee93fb58bfc3b19004a7217602e288add3001af9e590553015264683b614d3c9dccb5f54ede9a491250cb6e51c9eb3b983abb971f4c523fbfa746bf6306aa4cb3774b596e58a030407d47afb92a431ffdca4c33a3c0176beb6d57907ec6cc9a79134d44d7937619e37dad065a625ea987d60e64847e185edb350562f8ca70e6e52ffe81a87dec3accb883c5fd73a0a50dbbedc5b2b4e5e05bb3b18348389ff71c90469bca76bd4b433e4227528010d045e025c38435551129a20dae68b12bfdf278e2a1a068cc2a5b84da4cb2324c57e08e5655785b7d5b82af62ffeaf3a6e68f9e6036009905936a832637cbee9417ef9be6b17ac0f08bdcd13900bf4e84a9cd3a546352a96ad0c3686fb43e65d294944f2cfc50eedac3db99e27c1dfe9b6769c2f0baf01cf46b3c913c0ec4b93ff6999eaca89e57ef0b7c58664175e8c9005540125a15f8a59fc608a5afacb18dd885982ff004123ab380a23ca410c0998b48b69f0db251768d8bbfb9f876a6dac47f0143ca78420c9af93dae7000b050d1e9fc22064e94852aefe345482880cc0f658027aefcefeb63f046346941692cb5fe67b5dbfde98f95b81540ba3973976e861db8c607d221d52d581e3f1dd6a252a8b36858e72fdb4b34a7cec076de8cfa95331b4d6cac895046135f850796eee5ada6ec2890e45fdf730023b76c5fb7f710455fc334077791f24e94be1da2fc153ebfb0f057746dd3e171273839a2b511dc2b0ee65350d7a4f11d85cfedbeeb2a085f22787216ec031a1786d49eb012c8feb2586aa41b2354804823b5a8ee62072e16f85b20b1d289aaa70fb42973b288321dd8d4aa3266c0e2114d05ddf3c8ec042c9cf4597b1ce13e1ab105a52298658e3ca42c68fe23ccb4efc82f7493d4688583f37841d1d308552c3898fec8c063a9156f7a3d89fddd44049a7add58f769baf8e6b602dff6599a08382f859ee1ecee9834bf2276cd30688cfd2a719d5f1a6708ca9a4f1d9da8cebfb98e05afc0a0179795596c0d070923fa25473ea07f9b36059689b9ea2f220f60f47a08ad9b4b53594dcd57d48c580423d2e7981ea662d70f9565a4530cb781120e22e4c6e9ae94596b3a565980204b5429c3e744d4080d7af8a2c6517288b7dc82620c9284d243b7f9db81ddf2aa0a2fefd69fff3b60cac64e13cb324ba3bbc229a03fbadc336e65f591f976c46502ed89d8c55f33fde8fa55ba79ffdab06a3df8aba7c0b0a834400cac7e6bf090d4d9a4a07f61c99bfd415143aff2f572766ba5e7344375da086bbefc55da251f0ac36983ad18c43eea02b4dc3428af89589d2dbcd5bb1ffd2bcc6cd2f9d428b8320743844f181fecd3f62475c7aa2456163ca0e9b5e82ec35d73b414de5e62b3006f3e522eb81ba09359bdbd2ddca77fafa19c03f15749d29716da39b7dd8f2beb4a2d51205e9c56bcc03dd896609459fcbf21206405766004d6f8fe3b557b886e385e4ee1121c8cff72895a878ab2902cc9f1f40fee422af71aedf198ee68113b6392f9fcff751201746b0ce4219bbd9e3e21f93a5e00780df5977363aa6b122dc993e6d08062f2b1735146922ee0814c2014db90f7c756409542bcc8651a49da5fbb4a9a016ca034af5f263e201e4b2e2f9113c2711d522f50ad271fa8b7f6f78a5a989b7f966dd76899875e4ee821c552602921ea599d05266a6be7ad816a98e8a52497626f4cff399b7d292d34a646169b65a36bde064118b9406ffdbae67b7a79532a3f8dd06507fa80fdaee931e0dc2007bd6e665a36d07253104af170296ad73544b9d2807fe6a942f90dd700afcc3b89644bea570f7b5acad62de55aa2da41e1508ed2fdc122532d04f20bee1716afe3bca76674a431fe73f7d29c56eb1e84b864155f27abbe9e8f4d856f55898c7d909f0d46c3335f5afeea3cdb91b488acfe7f8b1ebf56741105f70162d4dd73807e7e3f2db7ee243b1fea17dd209cc19b896e4eedb', - 'Z20eB07072ce4C33851b2b397468ea46BDF57f45d', - ], - [ - '0xce1a0f0c5ac286b95605d6814fe6fc62bb15b1b24a10bfe6302404577a54ecbbb73ddc730dc78cbfc3e56aeede7f71af054c024a2f29bba9753ad6db0fb7985780ae4cf8bc6b2df1ba0e36b52d29f451a84b2338e45415e32c3bdbebf5323a8e3ca907c6fed49b0ef51f0e56b6d6793625e879a554046931688a99253ae9ff0a2c923aff9879f1ffacdad57b786b00eead006464cc0c0bc77b4ec66f1c4b5d033922e816db7a5672938a66adac90098e4d606cddf5862a0b13fa04ceae099dac247a923c9d64eaea3ecfbbe672934cb84df386f45c5c532ffb2cd2d5e26a04404b1dfbf0dd8c8ff086e0608e554a9d2f47f58b2ee830e0fdb599af8060205aeb06656d6de047824a910d1f5a4f8e664937d0df3cdc29dd03666888692307400d1066bd418b9655086756fc387b6c360fe4ca6594e53a648864a2eae22e0df153f28b6f5b060d96c5c731a411cc8093131180793505ddbf43da5efc7def6f202dbdf75e32114e1e703cbc1d1c370a253f25ed4c96ecc5600738a95c35a233c70c50b38a59d3f2f988997a4174a20dcca6cfbfed10ec5e47fb1cd0db9450400a703f3a67dd0bd506f8de3d69503e5d8cbd3713f82eda75a8bc5477ee701847a43ecf4c080cf713e36a7ad263241b94a51693d60849486cdad625868563f4047b6aa584c75a21ce679d8d2346a6aee29ee405a69ece9fe60ce8afb7c02fe6fa378a337de03ec7cb64a518364707c04821e3f31ec2c77670015d920c3ac5da6523908ba578e7d667caf4a75328087f324e6182e2b0f9b018ff8b6beeb294186c91520f0987c5abc19c50c877ab3fe27a1c36f05376f3e50c4256fd87c4e5daff831aa912a9aafadac3271c512aac76d19aea4797aa3482f798c3db6106ae775fdfcf64a165daf7f62555a9b7311c938ce9075ab7d1722651826bd3b685177592ab207fc68a28ce9279fbc3e156300cda089967c1ff94c895ca084a59a2f7d5a4df5015ef80b4ac337a3360f3102cd604a7b1afa82974174becef1a95fca7177b02179306c6744cc4c3c90469d180ac08f810d7f25bef61b86dc3f27fa422dbb4e5f8c2f5e54938f20b42a2f72c4a2253e8939d3858e73ac7ad5ad52aec2de982f30dc7ab7f759cdd13ea6b56a9849267328bddba386f3585c78a330bc6110270891c8163d06f7f194d45100573452dd11eaf563e40242f686041b20254d0481d086b7801cd7c4e216cc8e3fd07efe326902dbcb892ac3547191b2d927e78b6cbfc9a1c540ae6161241a751d74ad3deb297b119abc44599a0baca10b54b26913457c029061e24f0b53948dc89616da4d57b955fe675e3baf19c9bbf7ac6ab57815eddccfb2f2034c06b568cea0be0e968b5524e8bf2727da84a194b581e16811b40285b0ba832240dffcb78a8cebdbe26aaa037228a37fc54748d1a380d9132b54ff0171e88ae9fb6ccf87688955b7eae75eaf79f5a9bea2dac274215af93f09b4cea375a9ee2d350e1e4f936e433d9009ce5c03b666ccbb0477d68d083f59b472490f6ae68f045209b4d7c9c464ec3438a91e5fc7425e79c566271cc6933b225991a0472e3615741240d2fe31b134a398ef5351d68aa6bb185785293f0470caac8e66b7e4a9dbd7c40b6a4dc4095fd27b7218a9bc1d36247fa8ff4cc0760955b51d31353a917a716cbcfe48983d32b1e27de0e88660e3d874d567ae8f02c0666090d94dfaf47bfeaf50fd7f2025b573d2cfa9f8a0945ce046cc4855fe2c3c38d756d3ed753c02cc1be174c21ff14e6468651726b07e8ca435a5946ed3479c1496b6dea8bc27047f62f4ccfcc72fb564f4306548f47165c6ee6f14e450c191d050d21a36db97018a23b9785bace0ff68f53af2ddf463913bdbfcdbf6b0134841867177459fa33a2da7c171f79bf8c091181fe440ae92b1a13251d98914874b64bb335cd317f376309cb62f1d21d6e758f61f66b8a69853d71073e8e379846fd007b2c0ccfecd73df4aa49dbd265c0ab3c4f410dac37453fd2b0f84f84924cca4072c23908b17b93aab1a43f5ae8eefa0be486af53fe729116e20e6b0bc2398f58ebcbd323452b60d8d6bd1514e5d6bd6ea151028dd4615f55506a4c83b88fabd1e55bf4af953a22685de2fb9cb2473b76d6088105862a740a07b69ee549b1c5ee35bc45aa7cc8f218e0e8ec93b4c8a70c1240f2bf54c55fa0bc2f73dfdba5f24b8eb45bcbb34f4eca1acd80e272aff2c6163c0c7c3442aa8ccfa60946f5bc37483660de9cf42cb8521d95284e491dddc7235ae3e5501951a8118216d4c1e1ea5f069fe08273c590861d8ab2631a545df7a8bd3600ed93a9fec458350c166620bb1746bb85066429821bb5c6693f4b65dca46abdc8ba1e3e0c303c1eff1815691150c8271d6eca99d3333ef79a1ac20abd518cafc9a366e4bdf93f7c9887fa37733f0da895fc9e6254bb52e854d3da6d19e15a2dc6afa27cb81eb168ada4221319aa7704543475f2c3f047dd376a7f3a44b8e7193d0a7a9be5cc0b39c958662adc9d817dce646c557c1ba2f3d5efc696c25589af52ac875804062924451aef04e94475057fde3525cec8b5c2028fc90c3293793c11e73e790b82db568a725bad33aac6957ea4c5bb5251be415653fe4832d39e14f704c43302ad8a80dd523ff7a99d575a80d5b9dbd81144d695eea6144318a83976ba1b73c439368b8e896f9a1381d8ef7549d5581f8310562a0ee3244540ef7a0a381fd48261ed0d5d51c91e69bd610c5c7563c781cdacf05bfd8d651e7236db50d4febea3107987ef6c136ee5cd571254f1b320d6e5c3777be0ce0264f83817c649ccf206ab10b907728cc4878bf3ee2233f297d54a924006e4fb8432996c31399a2b12f565e784c6833e99c0f3b307df756f9cecac6ff66ed37b7b5962cc2030f4403d3b8a995de1191912cbf9fc1183f6f9d6eb7df786234af0ffc6f24446af7b5b0cee501f5e8b7b7e686a6f72b59cb96044a6d41ac5f7961fc8d00c060c59b9c027e52cab4641597293a9290efc53faedddd437014a8ef5c4986e722e8eeae2367ecf5fb5b1e968894978f4e21115ed62ee91da468e1997fe3028e34d0810bf393b43618b4224f01915c55f4d02e42631f6b41358e6746b76576926cfdd2159abb960d522c6392b6c53f889e4530d12c09ff7bb4532819976341474c591db070fa39fce96212c140c8c71628054acea47085b224becd9d8be7efc683c991f6d3b05b300b3ec890fd065984390b2992cbf495099862009afe9d2c561dcd10bc784892a8ce6d761be6de9f17a4ea69ed4e398c549c4632256d4b34c1e9ccaa3a956dccba3a888351363d0089eb5015e4cbce8c4cc6cf60c7be3cff9aaf4763cd3bacf43bd966225053fd54c0d98af70b5b0aa6654834858988a02ee863f9679fb5bd25fa548fca87ad2fa36a6d57761d0b2985a51b4e9e4f6264438a0d606d224e8bce4ea6c6aaa5b0e77e92b62edf66711f4bf153afb7c5247cfe1f648e8d4f602f589200fbe9a40ceb5c82261d23b8fb87e9308b162aff3395861e0fa47b097bb6e29f6dc5789825d4cadc3b09d2e53007abf0a4fa1ceb0e504e4580f4d355ae23a508451e94b33e3377899659fbb8be420ecc29930f197befa8547d6f92ca88985816c1fc2eaf4aca9dd51a3', - 'Z20C6955e256842369460e4aC5516Fd5c9CfC2Cf3', - ], -]; - -export const invalidPublicKeyToAddressData: [any, PublicKeyLengthError | InvalidPublicKeyError][] = - [ - ['', new InvalidPublicKeyError()], - [new Uint8Array([]), new PublicKeyLengthError()], - ]; - -export const validSeedtoAccountData: [any, any][] = [ - [ - { - address: - '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', - ignoreLength: false, - }, - { - address: 'Z2054f0f00cB9925477DCd3Cd506dBb3d37742026', - seed: '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', - sign, - signTransaction, - encrypt, - }, - ], - [ - { - address: - '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', - }, - { - address: 'Z20618F56c422D34b190B9B49a636a3429B927A91', - seed: '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', - sign, - signTransaction, - encrypt, - }, - ], - [ - { - address: - '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', // ignoreLength parameter set true - ignoreLength: true, - }, - { - address: 'Z2046B4F923f908201Ab8Ddd86330b3228720D589', - seed: '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', - sign, - signTransaction, - encrypt, - }, - ], -]; - -export const signatureRecoverData: [string, any][] = [ - [ - 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', - { - address: 'Z20Ab9b8384f91B69839FDC0b16856eAeb508d551', - seed: '0x77eda0d9c08a5a7134c79973c8fa16a1191f21c29a85f4d913b8d1289d0d1c3944d63d11d7e1c35a51925216de64e052', - data: 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', - signature: - '0x7fcb7ba6f63be2243f0d15a7c996e0bcbeaa565929ef30a64f4bef22301d919caaa8af4af50e1c58fbcd48fb7edc59bc8bbf07633ead1547bb7de9c7f2499f66b3814c6157768a360cbe1a4a400c281a5e1665f4cbf4e8f8e16d523407ceed05480bd0a1fd86cf1d35abde8c59bb9b72b59e1094bd47f9473199bec31f6ad45654b9be1e8c8e9eb85d4096be765acf4d5993c251dedee7768522c53736a10fcf7834cb09f834cea1c6cd4693778d80a58a7563a297811c9a5534d2111c7dd06f1d0d0d91c0a3e1f6150b5874f55ae98d277f5ec04f3f7ec8787e2923348769f0c711416b4def1f5b9a44b52cc3c6e0c93348ba175c6700ee92a0076833c118b89b35b5a1411007e2380cecc4523673cb64fe969215df436dcb71bacce9f481b2ad734fb5c64d63af107b70ccdb771c01fae3ee7a4fdf09edacc7777bdef7564eaa5c5eeb58d0c8ee648bcbff747f1cfcc89fc2d4a010052328bf17ae5b0119bd60d49b0335eb452087e5dd7b4215ad293aef02de1f9b3a1e8b44236f7acd4ebb12aba8a5843ddc3edb5102b62b3dcb7e9944d7913ecc2f1cc2507dbaa083ab84094db88c2ff5a2fd274ece8d9ffbff63a8fbd6119279c7dac9107eecc55ad9d12f4aa6066d2dec47235469ddfdae0167ff0e6e613ce6fdfc98d29cc0346041634f7f5cdf657094f64c37ff0cca84e2a6af1115005c578e4ce8d3ad90aacabdf73ff65523ffee6c314bf0a8359c1997690541321384b883a6fc9cba676adb37a872caba9270210f4143f21f249e987cb5d1f62a518a4d4d5f6e370bd2f0ae5a5dc0230ee300024d602bc9a63d9d5c3d11165fd65eb71bb373f47ab11db66a9c9ef435c8c34427ed56678a43f51bbd5589392a9dac3862fdab97241079467f99c38837dd12573b4fe868eb066e6f9ca4eefde49aa21cc283423bc9b798a7d14488afd3a5095b8e4b3a52fb4d9ac9d6d2037c3968480225b2006370a7b91c365787697a5351561ba45c0d64b7e3d257245aaff3ad69f59794b9a9e24ce9f22179ac570a3afc8cb91388a5bea2b820ae8cc927a27c533cdead92165ade4139d95df0f7d26ff4cc846e0444e4ceb6e8caec3fd57a68ec30a04e3b8444ec1899f2ebebe8ac17c98c3e79b4ebd70e2ac05f09f5499f4d0905248c58c5022839282b1031a833e69ba19689be38ba1e2309cb348b421be1964f7b04878e7ee4a31113abf6da39d70057b9bae2ac6cbcbb843e93d93bd570c13aff6233f42b9becebb6af770ebd64417aee91f82b0a4f4f23b18254c12c94440a308671739828a396001e82c22dacc630643a503390fefa1c582e31abf61e52b1a32c82ff5ad3d3b23613edcb20569470e48f2f6b5c578aa94f8fdb407914e34fef5ccfc37f5aca45015fa5aa1e28a4470b77d48c70732c13fd00f27d018299b9e7b6e8b05cf4ec56c37423fa0fcfe3e65f0a38d65b971d88aa068a38a617ccb62bbed3806f5a5fed1d8a7a75399d2c8a57481884802055d2981cffa3a26e8c02766960c1ec5759394db29843be133ebfb105a46924818a7ec294cfaae8f4dd3c1c093cdbaa30fd45cb09c5f8f933083a5277a1ff3d58edc6eff28616cfc329ed2b8fea233fa9a9cd0aa4a363cfb4d9c1d37e38ebf9880e63fb2f32b5529fa230b75bcacefbb20a8918074e47e41ce56846f7549c0fb1642828c249b46ebe40bfdd908f9ab32a4d51e155565881f921f4d18b8f7b309b2e9750e71cab0e8eaf31cb4898efe051ce7e07ae1d6bb33eb19a536aa9e7d8dd59bb916b062dfc6d4aa26daba459d180f1a5603314ca0fbd266e6c173932e3703a1552adb6bed58b3d6a45e4d4c082205dbb9b8ae2be90d8b68fdded57ccb0b675bb4d3147755d65ef140e3b8eeb4f52ebdaedaee17d3620384845044f2757eb1cc1eed6822bf54f12b13d6cc66daca196b146119aec7303c7082d6807e4dd78d2d8a4d4ebd064370f1f92337c651e81f93831469fcf7a25783aac1c7c399f5d54f5a1c4f70828a03cda5983cdd8a6a586a4edf893498ca387f908bbb52a276af814bd82e47c54cc6f8b62f2820ed947dd25f239e1b527751ab3c06fc52633fc5da8b5f90781d58cb5478fd22d7b2139139e7285023444396854176b68e3d7eb6c4c8f7cac7c3ca7402970d8c33f32a7bd9215f52769058ca48542eda0f0aba0ddd94d55d525ba6abf6fb7d954b0bb9e05c0227acb73a44f8e6da062ad4bd534d3e1bb4be6204e658f9638e61bb8797d8e3d34f4da1a2426e07938f539e0825d6d69ffe48182eacd19df773e9edad535abc7580a0851cbfa31cb2815c6d61d4e0672dbcb41ffb96fb9735ab567d73b32566506d52502dec7c013fb26869b69097d58ab48bda61845050940155af33d12aba5142e41ec085621a8a89fa6229f0b8c814ad9fdfbb7f646e4340fd50c530523c9f03465e1fa4f4daf957d9047b9cc33b10b064f9d9916dd993639f58c18ed072634e06ecccd0a2e8946a4a9af947ae07c99833939b5171a93573e16fdba7ffdc71738f2d7b50e3b31228a4e411ff7f5489992c43e46a79851ecf344b241f124a448b132eed0c1c1c5bb6264da1c6dd0973ddb0afc4f02eeb193b96672a886c910f3505537b2e52ab3b1e961e141905a9f68e902f634afd11b004bb86890c5ffb36263db8536aff0214551d7f4dace04c82e589e48270150691d9dd4569c58fd2a90ec402868151b385ab0f93caa641fc7db6e248171158287b217f5fc977503cd5dd934323f1354698f5e60fbce53fc2ae909ccb4caed0386a15365ad1ed4bc80d37ca8c7c57e50b801f9a33cfbfb299cc8b158864d5304ca729eb78729a925782ea76ff7d3735c0951662ad15326df677989f7e278ad67abef7be0eeb62f1ab7fb341a8e8cf5c37a43bc4723454920915bac46bb36a82a78223fe08c0ef0efd90a3fca1661367ef5d7e0d232f3917ed829422a4329a4fd368415cf3ee771a4cfa5b4f8c0450a709ce2613ddb542b9e062c0ed5ecef8edc9f1d9592771949fd46664e947e90e28dc2953628fa817d8efb49e0db62db7e86703d62fe70d2ccb2240d4c639ec409d95b6a25505785de79cbebbeafa83c8e0ad3ed69668ec8de56fc76950b27d589bbda146c8bc92ee9ec9e1e8ebe3ee1bd6f44734964a8f4f0faf907f6ef7d3bbf9360ba8fe032178de52fae2c77d31277ddcd0abe32fd6dc9c18f85e0bbdaae42d107ece5c880df7e001e1dadc6240e335c6ff17dd8570a8075ca5f7330624fcca0168bb014e57c63a384ba25dd5c2d7a170c3dc882c9f1d1375ecf9280c62cb87f82c822b6adf428cba41168f906facd232edfb032bd93eccf8cbbfb10ace2746794b1d6b7e860054c03f74c8f7992c7bdda7c186871b816a29f26d7005e35a15252ccf1e1a1d22e358de7b8703a40380677a4d533cd9c2d0bede06daae15558ba4a55a225d12e0eab3c76276fdd478653519c5871fb7be5808f2c5c49de695c0f1f6c02ced7a4c0ecaadec7cf47c3c53e166254d93a7d2a7162992d15b089d0078842fdc7569ee4f48e9acedb2cbac43135e8e22e2443ead02f86922be5f2eb68351c16fb567770821f03570a28e22fad3e69f7b208c70115e8de2180adbbe14491c0a6e98daca615c9689b599fa898d9dd9cb1629cc9fd8d0c2f084f905b129d9bb91c90205dab75f696419857829f7c423c6a44aafde1b252c28b4cc223efd3d31fe75bae84e4c223da6ccd4110d2c5ca844d89f2223b6cd9296d274f9286119ec5e3299a59c17ebc129509afb523a8ccaebccd7e9ef977b439435d81d9f1c1ded596dbcc12444bb0c114ff18ce9f65d1c6ed74418bb7e81e2a486e67f108961d523a82da5b9ec11f65c44786955121072230b39330f8f53089e3b6c883a434197a08086689a11728418cc727a9c91da94f1baaea78d37e75427b4c4d6ad7d930f7b0deb22de927e1935a6cb26cef292d8006c77a0b69993e7c4677e867058a213f10ba4e04af81d57be4b9de78077a42f2931ec932d017237f21a9c8cc53fd4b155660c9b5bf5b4328d061857a47808b949dd4f3d9a70c453b1f90eaedc7e7642c2f1f0f87e2baac504774a3ccafd3d1078d858d50d09dbc229f025923378794ab22ca5f3b71ce18df59fb88037c8f160a53b50d1dceb06ee4ec70274756c8af22085ebc8c05a76d25c886262a18b68540a0307e36db84aff83d0f92b14dff1b7578f178a29f13953cdf094a1211af207282a42803c454b6e96b0c50ffa4d1197529203581764fd7068b6eadd0c8aceb322c9249a147b4b6beff113a18d2379cbc784f628c3e32738b540b9a5160b94a8685827ff74d1cfa58cee00e4c83a34646ae2fb52e14b5d73a6d7b3e606f5e9f593fedbdf30f5b8da617529a72b49fba531429b380c21156a46ad26500a4b9cd34ff076d1b4da021fd0443b710dfc74ae3426807c24149de2085381c2a9c654c4621d2af58c8acd7b792e8aba17f8a6b5ca18f669bc7b21d02c69bb7cb05b6a44eb430ba0a851c285726139f05a37ba33fe24166f84035068a79dcace8aebde960782fc7b0d47f919a05ff1d092e841002777add2587303f87a925b6acd16cf7adc339606fca1e0deff9194d0f5d10208c7e0a22c27319993db9cf415a33246dfb25c8b1df4a9b5ba2cf04283b39c3771f8dbec2d6cbfd5a5508f278a162b72b384914e55a7938a23cab44532cbf9ac1f83c3fc19bcd401f3c549bdadc4d0e9e1f01fad1b180ffbaeb060bdfcee03ee60c3a5df1c96f48f19655bf58c367da2c00579aee44c29e107ee2b4e1a51b5f462f73c99fda05da03c84dc4ad608f5e51fae093764898209b1e8d5d4cf6fc6ea98a6073cdb4f6b9b481d683598a9bdc0b094b2e50d7f06195270006e2515f3522f4aca12f1e53cb40f00ac7784437c3dfb6a96e83091a72ef5212ecdaf9611a61baf87c70e982a95fd2475d65f0d73b369f2080d61fa8986d8910de307b46276672825b04be5331c7d644b60aa7613b2071af2ba3316b7b345ffac7216c8bb8a77c01e0ea347961ddc988c12a56d33f57231533d25ed8b30832fcb939090552573bb384bb91e492d15a713a73f0200b999a0cd10d13df0d054daf2078fa25bff84c78e23161ea46ca5e708363b9d1effed35e7792cb70e809550f99a8be1a791b3f7d4858b7f06520fc87b660470a682bc9eed5bcb5f64c7c98d0bf82ddc5ae506110b20621933bff3b21cc696662d9ccd880bab903830b82ee713650fa297c06557929cf0a96ed5b52007f4ba6706ff982c96ef861e03d9efbdfecc8e2891d4a514ca688e3cb3b9dd6d4b9d355767388d920a5fe0313f9464092cff65906329199c03c42eb80a6ff9c88587f4fafc3276d931e7a04ffc827909ed9534db4ac71a0d31f9172f50abe4aa5c24b1cf8df3ae1efc228cdf4fac62701b1041370746065673c7ee0a5e9d3270748aa4edc5b583e4de9e219b9a13dd5ce5840a31d76542f3ebb21fe6edb9ec347c4a91402dfaad3c0508e9179ae4b4ab1cefb8389044fae2ddb6be097ff8201edf5fc4572b0b500848bb9241f70bc5b2966d9e8ebabd8e66afdbe04a9fafcfac219dd88fc3040f06a24911a4b0d4d08c5f91084e53dbc5450a3ca3bdf48fd7a32e279275e611bf4d1a1ce8b755c60e2ab3eab7016a8d230dd03c036f1454879ab8e3314392e8eb706690809a9ed0b13f564b17b04db7ff0f5db671895d23d94e4abd50122d14060e0830f4ca1581e50a3c03f3bc8a90f8d4e7131c492e88e2649e5a4ba582cff1f6075e26221e35f9d04383011298605e7a940249b719ffb6160f2672fc2e5f48747e7f3fa5ae5a6094a75e7b348ffaa5c5a3069135fda3aa7947f44aecdc29084b3484aa52121ea45966570841c029e560bb983d277b86220e356a91eda50a891b4fb4051200a817a4f2ab34e805a9b6416931063c5ed6047a3f3cd95657895dc16fac58a580e8e50a838f9853dc2311728dd6d59be8ce85cc8170530199cd6ee409b7242e4613bb9b7d47500ab53f71f3362ac4f501f389fb2d84abdd5e4264da93fc3fdb44d68a13ddd9166e6f55b4ce7b7b94f253af717fddf074c7d27971b06f3040ca8c6dd1162d25589b014981cd2f5a29b63c6596b8cccc86d9044155f8052acb2d3dc7849102ef33def177bf1303e353b8759857148d51a75916a44398bf8ac098215177bd07b8ff9f0de8774ffb0a9335d2f4c4be369ff6d93acadae9d49177731adfbebc89615f9a7788962ca28e44c5ee497f74ee07e8c05bc3fcab5ab068316bc7477469c1d72472d7cd8f517726fa7476bb71901a74bd94929c0716dcbd483fbc63b336e2623fa26aa04878b864f60d73bb4c281e4989603a3a8dac89a694fd396e1f8cb4786b6616d7b889de3fbfeff477c1046550b12216f819fcfec0c56596e6fc3daf81d3a5478949c9fbcdce42426687cbed0de00000000000000000000000000000000000000000000000000030c0e1119212b32', - }, - ], - [ - 'Some data', - { - address: 'Z205f2Cd3c4B65a999Fabb5496D78c896d141B018', - seed: '0xef3a996efd6133a749a1cb9a15e7679adf68d240d9eaba3349e679969068e5f83ed6f1f7506eeb0d87e2d94f8ebcd914', - data: 'Some data', - signature: - '0xe76acf2ac7cd78f905ed15a8ce11e5ff40f25e71f58ae6e5cfa31e2e2ffb7ef9a43c1f044291868723103bf0b3912cf187c54c9306248fd6ce43882d37edf86939c7689bca2f17d27dc8b4f9d7c9cfe210be86c3b9e93fba2a9b8ee281ab60fb2487d7b47925adcbdda640899e8ae4f8ada3e9bf5794b1fafeabae68e3850a8ac834f19b106dfa8f068571fa3d45692c1c47d6b3de72877ecec3767829b73b038adc8ef3036f7ae03ea89c06284073107211c3213fe6f8606490082ff71a812803af141fb78164eec916541cf0d568bde65bbbb17145e140943a7e3304cd426515423f50e70ee5cf0570904991a1c623145ac84170a87673465e59dc51f0c36add9ec5af63baf3b6b8ab42d5eca416b38a38d556ea3d99f5dbde86cba220b1957b7adb82f09b9a4d27767fccbad66548197139feffc521fd99a0a999d8b9c14a38b84031cc2d5e8adafb6dbf697e77df1483ff5bab26bbaf5d48566ec1a712cf701664b5565eda676a718845838eb000ef3e61397593e321c0cc95aa0d1d0f66188599e23af14e28f9c6c9b62000bfb9fe4485125912eaa447db173b194cf0c55166b304a20acaada29712da8dcd1f3e3bf834843de782364f92aaaf9728e9f5a77adb4733f9860cbd642eefbdb8d7bfa9006d3ef6091a5122ce6fdddfbde4e73535fe5c8e0ef3ebdde62f189a141b3f006b14dcafb082e81422cd8ea0252185b57e5d2d964e5f85735ffe94afed7603027ea365ad359079eaeffb9f2f9d273c66d2b047da3ca72b6561284374bb0e46db43ef21cfc65e52c2b430ca8e0f5468beb2799cb13a0982e24c6aa6445dbb0a885788fd7957c2267d860fbba8048ab91c42cf71df7d6b7933493c39ebdc0914de30e748308cc6e08bd7ed92b31556a66b775ababbe2b9fb63c3b47c04f8f7e45077a95a94a912ce70d8e8046589e19f412edb6b9821b63a3a53612f3b7299dbfc789c7cd84c29e8e40d4f118ee9fdf8f9d2f0732defc159e7fdede60905b90bbc1e444a5c1b01ccc0a6373bbec9ef28ccf8b047422ccf4c1e5e3d2a4bd99df996e9919c30790363c5f92c01c020394139213335210f1afc3865fc5f2c9c0e5c8f2af7e5b6511a2aeec21c1a28b5ebce62fcdd162673d477fa013e34fe368999c8d9436d20d182353f3e04000963abe056d35c5446c425c72d6f39225713bf32b2dc09232a07dc0f846a214f19135f2ec1d5959aa54dca000ac7ceeb0ece2dc9e2ed268b53683287ef8bb408e3606b570ce7acf81422e71b07e95d675843ed7aef7dcf5baf776600c35767bd999727a7c9fdc00d3c88b404f864a1c3c4af5ba899af4fad7476af0fa441f73214d1fd848636feef42f788c5358bd212c397c0370965a80659aa10c2236e4205e8767aae1e8429c0b797548e4cbda78423a92330cdb30bcfb7ba6a9f35322088f649fa3fa66ec084cc2879f209270398efc533dfefae33d46e3613d03295c7d2ebf2f3a139171617ad24a76f1daca49dc70127cdbaad119df85ff799056487435d549950bf22b1788fa1e8cd9b485c4fad934038c042088f3aff52a7275077541a183b203165dba701b6c2ae0e403aa7ae5408b4487035ab7f95b6b858464bcfa00b95de419780325c02724b8ca7175b81eaba3cd89db89b338bdc4587e6a66154ce85224e15e71ec02f85ad6616a6d867ce6838bb31e0afc89a3d5f2dccaf71ee98b510cd056f8f6c87bf04d94d0612537834ec36c72d74c5cc15aec7a74cc5511fc657d857852b880f17ce56491aa145ade4da3fc1a41e9d563698eeb85f289367495844e13c4d2e3c0945f877c8975f771c500e0d52b081f33523a5ed554f964d34feeebb46b40a1bb2a02f2002d3f487f6d56b6f50c3928817088aa8a46f188d80f1c26f703dab657e781bfb8d7a5678cdcda2294380c51b5467baa5b2c92a4088b7cd09319709f30061ec2a849f90730d5d738870985d5a927a81cfa5596c8020ac6843ad3bae4a825f607ef8d5be3362b1949fb68d9b70acf957c688792c10c3de5744af5fa803fdf3a2c8890932ad3131c305a06fb4b9ea2c88ae5b66be70b1447ee39d27cfd2143c621a85e4d96bc1f7063b8a03ad99737baa3d0f7cecaa39dd19825bd1462d4ec1fe2985e85d82ea6fbfaac4fb17096a50545708a9b80142766a692416070fe8eace77d0b3780784d640ffcae6b003b17eed66da11a810aa88d9665a78c08ca281d0e65eb81b0fd627dfc6fe842170e5611de317246a309d48aa180ae1f7bddac0c2866623a9e2dfe19571aff5846e280761111ceff559259ec62b251144b5372d1180156b0d85e69fe74d08a94fe1ad48a391c788c97ae91b252e07956598b7b333861aac41ff5e4e5fa338368edb9c18d7c02118172559856d2cd75e041348cf6bf8a71f0f643f81fb7a6aaef391e0544f56ab839ce90a59659ea507e8371da26c2f4e2373261463075cbc72d2a556bf8798d81a039fcd527fe4080b7b0d8d3061c9849c37cc1c47341b7f8080cf407387f912cad294bbee5b4bbdb1c8b8ba7e5fb70676ce0d64c8a1d19e92eb028c6d888375576dd7f28cd302d1a1e0948d81aeec84d0c85e37bbc45ad88beecdef9ddca8bdf80fecb667f5fc0c1ba9f2689d6463e3690c3d365706e17af3e055e99b5affe7b3b50aa6fc044b68a4c5ec4f5d8829a4f8687b4d9a43e90a747ef718b7060c90f308939c1d0d58fbacfa0fb917b49434d9242f1727ecf5eb173d861364afec129bbb9852c603cf3bb8649944f6496ca7133258edbd3b0cc8c7858ed6c7324f27d446db3e7f7230cea9179f874e44adf4148bf8213bb72be114476f63e71d0fa64f771e2cf3b7a05d3eac1654224dc3a3b80069e18f51049e4aa5510b42a9592269bc23757dd4c29e7d6c71ef514ea85329f4263680bba1e6994282edd1c50c806e1c86cc595eb84f6ab363fc278db88a8b146a3c785f98328a4a527061e2e8b28c3103c97c738478fb2451628397b8694d258a2ae80087895590d028c7b6a871fdacae20195ee3331f02747d69f0e79dad7ed07c40fd2296c8e48ffc834f4d66b5de6653ea29631c03e3f3c06c9af07a3a6b53f7ce5e00b817b5aa51a114a7f34537a887cdabd4a1309d2f18a5c193f294c142bb75d3f3a1c39b902d8833e7369d5827f45f1a8bd7847458f1947d568235af06841af01b6e676b1590e0a93cf54564dd8841c35107e3c038c4f7d494f1218da4bd5363a5577278e62c0c2123f8da4485d4de99a8ca7a1cf839440473f12f0696189648aee709aa1071df087a61e71829b98281a1fd243d6ff99bf62a79ec5b762674a252afba14900fb3af4ee1025807bffe4211c182aaf93b29c9a3bedf7ff8e732dc62c054ebd768f54e7b32b624c51c3720f57527be64f9e8600fd37a7682c8ada88cf4c9679b8ff0aea4e5815b736b7848edef3f6d196f6dfa6f4b5445832f211fc592337dc1f5423a6c4d4d6722b76691882434d857be95051ed6e70a0cbce6cfd67d779b9762d7a909612bea950d9a651fea21e1eedff9b38eb4541b8e780f1b59a9825e8890242cc4922c3f3fd4e8951ad8474c69584222764fa2762fd88dd2c37555daad1f852309d57955d96b590f45e5553ee94608898f5617cd53b841534eaf7d8545eb24a2f30177b626acf1fa87cb06fb3e9280a1808be7ec185bbf49d9dc86047bed0a91c63853c75b5fda66493d5cc6b34e2bece9d0265f2310d78f6da232a9099fce0c719bdaa7499543866d17d7be336838a245f232e36c1b9cec2988fe28e0d0364f78c29f1ca561da19177a854a6d6cf13d5096f0211aa0652fd00e777a7c679f535563a17bb92fa3286367ba91ded0b99133adbad15fbf9d10fb57a9b536b32ef9ac0297df2f74b35abe277070a3452777f06fc93d6ba45b88cfdfa10914588f51021384e5cd345b3a453a0e7537ad062d0c26507ebce71b40a95915d7abaf3c821ad64e4fbfe68190bde273c7c2644d815e4495735091c3d8198f80cfddf8a9dd89c6c896c9b67edcfe6ca48726c2f6f72cf1b27620f138d4168d3705bbf3a0e312eb680296f13cf3f47c92e4ce0d5c9ba57fbe4a50a215b1c339a1a2ec56e571233f507b817021b1083debc12358f283b86c73189fbb2b0d2768d7cb850c613fe651afa565fa9468696ef5156e777a3826291afe7371ffe5be1943e84990cc5e22c1fcf9013fcbfbfa13d9c37d30f7e63997f6212989f7000100019b2202597dea7fa122168e93e4ccb02e3aa6e9d2a0f6ee3efc92af1fe43e881dba0c4c96921a742b475c57ca71f4f907a6c95601aacc02a6588c120bf745ce6089bb17e8c6087851c2fcf97e6e7a48dcf87687bdcbbc040f7cebab1c47527b891e5651bb6a50f66d8bc08f409d68de996e2a968f6d6b33d4cfc4e7e6d7bd4d980ab1f9b7e312828de34f14bdb835777d6a29b0ee11a1b4406796a30d7966b47acfb4ed8f95717860badc3876911e6041a0e1f8dc1a65e5a5bf77b6d02ea95428ea8af3d6c587d12d5fd0cc3f4b7a10ba73477052bef0880b154f90c886b630099b9acc11714e1d4d63412349f92da836b64138988471f9964ebb201a391c9da2b9e668bc6feeae4ab12529f5b43c6c63176dfc56b51ed3ec5425a7fbd85fef7cd06f3b8d5b14a06e0ade912302657caa0449592c78035fd60ff01d4c8017cbc74c3a0c4f17635923c128def0a2e5a8b95b82df9e93ca279a486cd491a3ff205682f4b8b099d9949f32be41ae15987e84f4ac2192ef80949d0bcf471bd0aad46c8535a4ed132e531cdeb6488f293188cf7f4923ecbd3281ad2523a61512db8ebf4fd00a6522859d8a33edab1768274bcbbb077a86bcc2d5d64657a73647a9288575099723cd50c2d00790976c5034b399615d6634663716f928ee728715fe21a61f7b69f4244335338c09905bc6ea323699fcf5687798f2482373463d797f0ad1b08df4481cb93953401e12c409663c94ac3ae069371138687f7d0b583a2c7dc9de7eba345905a64b4e701ccb7d0a7b2c1aab99ec5f80f6c670b1bfea3f44b01379e6e9a952caf45a0cc6f8353f902102c3e26a5ef832b8135d23aef8791f1b11cc8a474a888f49d93a07ba9fab3b9a9a2a68fc8a2bfc38c749aa9b0cdd171080d1917474665e7e668b54446e36f0445b90df3214cb9d53235cae02098ac6f1e4b519d6aa9f316b8bac1ed3e48b982eb5ab8c1c4c014421236fadc6caea72f736b9bfa735704eff2551a057bb6d5caf58573a23483954a12b8c4fc21c3af7349a2df20443675a829f671eac54acc41738b75dc9c52292c11aa768349a8164c08fe078fee8ce41c158770972cd582c99e3d2e8a6838bbab2a11681cc0730c8272202514ca319a8d3c0e110476239c7ee9c5e36288cead8fe17e2dabbfc6482be41e3e3dd098cfed08726b833ee6d59d72f6b56b4ab75240e4f8d567871626d7a926d15e735ec49996336776015a5c2579277a63ebabb0c59e1e6be55da06d972f71b82cd31876069f3dec29477737a23a2d95a4ef5e5aa5e0d3fa651c8bcf682e249f81eac5ea0fc40d6fe060395e9eb4b99ae8f5093802b49359cb7ca59a758f03d5ee8ccc9d831eb6b72795011d338b82b6ceedc74c9e0b4944de8eb427f0e9c63290b869029eb3246d77455c090ad18a3f82aa0f56c3854f52022aec3e9a73da5a27bfb09e8574e32fc137acaf800c0ff5430423fa54faa83acc12dc4b182efa74aa60a5b4a1e11725d045b36add2b651f35e503e65c9ff549436e7bd73411beef7be542aa783de42b226998a5efcc0278360cb06c7054e1dad11131a760e2435286a8cfc7de5171716366b857e531c7f7fe6eaf44bccab471deeedcb6418418eec69f56942752c3f8cc97d41d1021d64e33ca42a89c745f6a19aed4c3f577b7d9118435435ca3215cff6600dab660b6e1d2620621b85390911077ae7b0b7cfbb34e9bcec8f0aa04bbebb9896fbd52bd091a95d033a4cc68847ed330270679e8aa6666aff6a6f30f6706854455e8f14858fc46456f0b6b25640a4c89306f928182fbd76df5b4569a952253c4a33e71dd093b1e936a77b01accdb5cca5b3ec502e1fe652a0738f3a672ece3c8aac017092f8ea915f00bc08e3b7a72402b87c6766ed2988128d96aad039666b23af756e3d922b3f5d406b52b8713fa7e83e8c6c9a29e51636d85cdd38fe4f76dd08120bd44d48bdc5cdadb67227e12ad2cabcb845cc2d620409205be4da7399adfc6f43e7098280eb13a6c54128ed7b8efcc21315b805c955d9728c7efd360959b83fe6215a486b377f773072288a88daec3dd62312057e8cb57883996745c47dbfc24df68f0e7611084294d451741fcfcc905c0cea78c55a58c713c1ea8fc5092328547e888bb01732383a6388b0de979ab2bbbfe60351777c9ce902464b6a85b3d76a6f7d92a3d0141b2a393f4279baeaf3ff28374acd000000000000000000000000000000000000000810161c23293438', - }, - ], - [ - 'Some data!%$$%&@*', - { - address: 'Z20fE39238877509b60DF7e2958bdBc6f88398F1a', - seed: '0x6ca868b6b469e210b079f6742d2e149b6db46f4ed416c11f5d9636e1bd7f35f14d5b5daa84f0a69e54052bcff1897ba2', - data: 'Some data!%$$%&@*', - signature: - '0x2146f32c6732f94b7bdf2be5a58f170867a095c7fb885a7c7d0e126f7855cb70b38c1eb9776440fe28710055b393573b941fcf363e1461eb23591c3bca7808e78e87dbc3a07e8dc2545441a81285013e9592a6b8fe9fc78bae2789aa2f6bbd5690780ad2ac5ae76ed30eb8a52da5b1c5eb12aec3cfe129ca368af5673e5ba4d43bbec21b86df4738c43dcbef30aeddeb92872abed2caf5377afd9153f3d385640f99a7df27ed27b4434ceb078b49c5d416cac218b66267556f216874375ab5e8b41ee8227e80741b9511f648ca805902212c3a7b46391c54bc8a6f5282f905502d5e9303ad8a4b047675c5913ec2ed7187a8c58fde67200664c73460df5b0f1e5aa30012cdcb139c2488bcb7447479ffd0e3d8c0985d14492e4ed7d703cdf419e6f5541ff07b760bde71f7fa38457f5e8e3caa231f52ee6098ff74c791062ecfc052d87ac373818c635ee7a180fee115784693e08fbace0950b50bf78b8301b6f2fb9a0cebc430a2799c89ef699bbe71c7b62cef6a08233ca1edb8ff136d8482333100d02cdcc3d8a1d94d6983466e19b35572a0f07e68cfed8e98bfa7ed155a3438a9655e98f30a3ae63dfbb8d9417976f155806158c4312b1dfa081759389d32dd924f8475cb43bbd5040bbe2947c253aa05e72f6a906654364b985203b28116e8ed4bbe543f22323a0b89ad4118ed9fc56e64ba4fb9c1a0e5770799ccabb88a64b639a526bacbc15ab7c303874a04465378488ed38fd5e70b5ed3cb2b21dcd150db31ecd0239d3b10f1720edcebaa9bb90ecaf74143b80cdb59f87d8bc5b2c192ccfd3a743261acd44064f1ce6cd61d4e09931c389d7381bd3e1188a7ace82a07d3ffe27d29667b2297b19be1e71a7cc46c95f5b0f160aac0353ae5d1683052bf06cb497ac6531f03d57f2d660e3210ff28e2778f2599d61c268aafcf1f900b294e111f8462269b8b01717628a44eb42e7ff5dfc64f4fae034086d85b090858fc01adf871138c8eb0067669c2c9517a816b7bfd522408cdcc53d08aee7aa981dbdfe43a5c27ea4adbabfc3987c682c5e1923c36e341df7e21f20db0d63c3d6ebda209136b1dfd75c6911398fd5ee787be228814e27a28b0c0f1aa18e7c279ffc057a2d970ad4a2d34a3f535408bf849f007a1805e21124d042e0126a8d3ba39a76704760fd02aaf8190318af91e5e07687d4beb84189e070bdae69bdf7d49a3734a6ad32727e9d85970f22d86621115d3acf9b54835a603e26dd3e4abb1de419dfad365c862046e402d3628d9be0b62f4d57c2d25c975729fbca364d6b9c215ad5d43435212a4497bf484167aeae252c77b43ae0dd62045e35d2017603ca115a6f1ba157bf3be093d817395bf586ab56ac31ce2994626cbaab55e43cd5fd89c2a4f1a32a655a15ca1f3cfe768a03cfe144300d325b5545ceed84afb1e5345b361e9ec1010a4fad2bf89bd46692fad466692198cf0b5206913cea5581ddcddc3fd44160b9d81dea8ce517fde25f7be0f8b482e0913d3abef23a9764b405f60a215df146d6584d3aa7c4c472dbe1ffe50bce5310bc56c07cfa7981105599f663dc63c8c7519f83b27f08afa9bef2e82fc24fd940bd73adc4ee1f1f8eb74b020d39b37117be4801e29d21574fb633348837506fc2018c8b786c5b1a43000abedae7ab8c2fd86767381b7ea1b6be0b7f86e94f47a8fd49638b22feb93ee78fcab2a1c4a5d2d4b022d6d4751e166ebb2a9bf3777328c51920910f5bbcfdde57da4f8e2c564addae1684c9707b14fdce9830b3fba5165a1bb46b887c3b93a0f6c3093b41e95744e27ea359af2df7f3695f6c1f02e268f788ead5b20e1d802d27bbeb09d4eb1ca880d150db61a53aa86a26f86530745c2194c5440b2b7a39b6d6b959da77ec0cc6bae15abd2bb62904187a848085a09feba243e61c192c0561805441e99e42b59343932adac2cd575660d95dd60cb1ab4bab4c2d78f1548a6264a5f767f56e82eab9850c57a21a605158854fb8a9a2a0038b4057c1c8d2d0ef1a6e5418d34222ea14a3f92855bc01f943bf4b6c13a1b0add67be4b809b117909cb09ea635f9ee36164e08b9dfe9c6b71f3aa3fd6da21b5b6c5b1aa7d99502a1b6bf08d4ad65a3e66da1bd6e628cc2f0e2bf13d04e48c3a7ba058199de2c55e42f8ef8285ea70cbc91c58a35a46aa1bb89aa30606970cdff8fb19ce1114957708381c5a0cef8aa7ac91757db5a09688dfd086be1a8bf541562bc6adb4da9d788e8a0b434422160da052cd8c2787f047dbfe21b6292c736624d87436dd12f04fce7ac800e04556b165776c5c2bf741ea8a3759e5af36ea116b767942734e085d21257c9bc3fc00c1a33c09064307eaf2736321b99710ce40bf8d4574fef0451ab9c17aaace12e47ea2287a39503cb8d9c6ada76aada589d078c3059204aee09cb1af3d32b2ec31fb967b432c78272da6ef3272a5241590cf373753416992ae0ed8d78c1a72dd9e7201491b64a7c76184fa87eee54a51ad9133c6646feb079a0f6d7b7439128b73fd234f52e86cc15d8bb7dcf86b11cc231ca712bac070a96434ca72d4f698e00b1d96e12eec3f7f85215ded0aea608871b5735820f996c657e2e46a5b1968f6dad84afb56ca5975a01c88789c1ebf99c473cd8e3143dbc822b402e1b256ea02680d743b5305e06d832258819626d1f5a6862cb5223c947fd7b8aad31fc91a838612dbaf8c030a8341ff3ad082b8af13a9c0b0a4725683917eee332985938ad58f8d8b62626eebdd9365ebe6aa32ddf768ded76c3c6ac327a8752a3ceea5ccc0ef0265e326bad51dd5a8db9945011dadd20390f0f2be34c9823b76bcfc84559b59e4772ba3296dbbc816b92b5186982c2b08020b0716be0c4ccf24120949dbaae72f520c7e9c0c40b083f7ea34558119ae7496474511a0b3c6f0394da7f769e5b70fa904c23af309324dc528df03020212995ad2bf86b851b4cd31f730f5bf396a9d6a2f5ad93c111ed765f0740c90045bed09c89444d119b48eae0451d3c547d3cb25989198e2405ee34b74b17f631caa4492e07a9390a89b71d760f5822a4768f0579fb1124c52a7f9b8c897b4597e8c5e88f68ad4e5357ac767e15fb38a73cd9edc1afd188ba7a1dfd33ac0aff81187b8f389222b350b0928b97b2312983dd81597221fbd70ad0cae2f0477d34080bf82f89bc863dfe26dfb260ff788bbc0c5b33600e3ac491fbefdc0c7b0e3f523190c22089c2447eb02bf5d6c4631700bfd3917f0f0d2b91da908d42c739b595b4c8aeb002d79f513985c971fa7647b30ea3f074126d99c03c611afb39de8f7d5e4092b2796fc086718183125eb883829a454e4c9566f10d2346838f2acb9e81c2743f035639316de10af3e87339c03ef75dd8dd17f87d0af4f095e759e63cc94afb81737458ac5ade1ac6365992c7e93cd4580d2546184004fcc87e034044f59c6a357714436f798abc7cff1cc409dab04dea5e18bd73ab569c36ad7705f700d62f0963e96508564dc572cbc7b49b6ff63826a99d65f074305725c3cd40033349bfbf7006b676a27acfc9e46cd9c4565c03241a3e189f0d9d6d9655a1557ba59e7f9f4736c57e2cdc84393a767de94f2d75893ecebc7696079da93dcf2893d0d500fde51b61afe54544f1ea99d739f307e84a7b05d4f352f08f50db40b0c229be8eb2243523c253c08e94e72ad780ca153977f068b56af67f2314a897eed010eb633865753c93fd60988d50b10c1b0636cd3908b456ecb53c57664d8c53c15961470015138d59611864d59e513793d51eb78d4dd0e9743e4aba97cfe85a59665ad47c79642231b9877812dbedd476740145bfc03ab8f119f073b6fce11c20e1809c6550e43302a13581cc209b9bf98725f27c15735db495fec70e4ba7425ff2dab4dab1604258c84dc15924328af12dbe8d12dec2e08acfa2ad6c04af90f4d083c59fd9411f2e26132a475e9df9d256fe25c034265ad1ac6fe2985005caad8b8d79535af06c5a8c49bdd975fe3b2702b11c00717d36727f6d7ba5baf01588a36cecd450b8713d867d71049f5b2efcd28814049daf978ce2e6ea8ed56481d383a0968e1e616032841cdd7cbb066143e9dd55ef109b02928c5d0778bd054f21c5614166fcc824236bb337b21732098a3424594e2be317525d9f2924b2bf7717a428c1eb1b23939cb7ee5586e7364f4827b57727eecd04a525a3e5d005a2aed517c04f73e460093ca80ef766b4352200f2cdd5dcbbcb32b2b24fa4f18d4faaa320aa3e0c2f1ecba89efa5d5a598a3babba17086f95f4393652c7f00d20775a6e922f72ef6d1f28d61aeefd874ac7aeb192bc2bc665e137db1c6b1ade7badd9f9c8b6a413e085b4e7d109bb87c5ed3858b51fd7aae67337972d11123269a728f45b860c6411330a76615b094c57a06eb2407a78270129dea15537c261bd1b3f84a27acf3792ac5631fb2cb7a572da7354d8762d211ce9a6d65d242a5f8d3a16cd6205f137b3a2f7cbd108c40f51624ba08fc006f2fbf9b90485400941af457211342abc51aa9d01530575d7951dcad69b6029be953637b1f2c9ba783d8d7d1b46dbc017f872b7626aede69c177ab206fa55370c50a44f095e6e79e8af2b49f7c5678db6bef8e1443b33a4b117f4646fa0523fb35fe0efa5c12584ed7fe50eb7f8c5e910f3dbd2e6d003afae7ef55f80d7d7a9b825232af04428fd2b799ddb5dd75a0cf842c78bbe9ad9b2b189f2f7a7f016a39c71a18487125985242d897411219a8a03a823e68d87f6bf0f02fbc1e5feab09512789e2ed477f025a909e1cee7db84aefc02f66713c0b054e11d1beb84ee179b9b0ec4421a1c033fa77a2f43d183ee1ea49caaf4fb578fa3b0b1076cc0298cc36253eb4a7b020bb3b05e030c777a3be7d5477335483dc96d34d3e12a6d8a8b9d669dec5cd3ec30008803f87da4fabdc3412fa58c017f92b63cf7ebfb51e5c5c07b4a4d7119899c5a0d23f3167f58b555b76d2270309aa918071f164c554185f5fd55f422e1a50afab78165d2d319feef0d9cc7fa9cd9d1c5180679a87e0b42af077f3fe1b36ceacddf676cf85debe1ef923492cb64a1361c351be19a5af222f96d255da290d372d94addd7ec1a70689a9183f4ce4f545f545d5b64ef8898a2b28bc7d4f2da23103c87cc0fe6e1587ecd4871b698dd4676f1b7634d013373dfd420f91c22cdaf84989c470b1ea9eaa7efb8697bb8a83dcfef5646be111d0b913b7f92de906928fe55851fed8096dbd02aeb20d22094a398a070cace9b02eb8c582514f6da52dd7cf8283d5cac31a0d71a9da9af90f61bcb824fc2c0c5ad4916ea24b0262c1ac29a6245e33460441092c5a41bfd14bd25cf1c29e25604288bff18214a2e23c3ed5cd2b9501843857e5138de333da32f06463322b73998454e2da28c6a275b3e9150843dd4e615476b63511bbd1532acaa9bcf53589ded1931172e92f91aca215664fcbd63c96cc0ebaf231f39924ea1f6500db3dc778aba4eaa6123ca8079fd0ff3508f356b3bcaf24fea9faa153d02722a838790925d98498b1d00f861f621cfa880c4f3ed1113c9b984f754a8c030b30adeeb84347f5aa94e90556b34040c72e9ca1bf0311591759cc50a5e76e3588fdc7d80b6a687fc638c986e0521df2b4ae5a4579541c10a36ae65bdd746d7050040001302e37e716fb7782e1336fa30e9e22a351bea261864f9fd62233a9715f4fc2bdc101404072a7de05492217688eeda0da0b60d2e238b3ceda138c1279a38d4820870372657313b2dae3e22fbf865b373c55734563d41378c06adaf04cb97659a1a528e53fddaa0099e2be5086ed1fec983bee3f71b4d3935f319e04d53099eb0e9b2257f793a41700ec1827b9b8d5ba327f35f04ff316719fd6a8f2efe89e7feb967e6892b033d922c842a6098622a79e2d94ebbc151ec30abca8c7bb2611d1e2478750277ba8938f4aac330b5f196559fe0d11f06bab7dab66d43862d8d522bce9def62d7dcbb6ef4fab4ee8ec21d702bfc7cb8d80c30a7f88ddf42007dadcdb8fb2b4f7b179f582fb5f195e99ad13f84f80da64357223e346a6e9611e6956afc1ef4ffee5aecb08f3c7ce4764c2cb5a29a01d0400f6237e4560cccb36e39ffc62791a37333af881984974ff142b2eb7cc6a8b1051054f2c71fc0d3dd00948d2dd8b3b3042a456fd5cade1b6c1b19f10195f18817799e778f9ca7f8514cc738cbff7a86ce13f3f68d0f0290aec32c6f4cf21862771da3532e6545a5f452d2d5da0531e91bdc961765223203d5df840220fdd8c49bbb500e3e4516fe7654391985ebdeb0e563ea0cab5b08d34d456e4652c21b8d55f2c162aaa401082878ab26ad0b32c2494d636cb0ce0317286e727e404d5379c3cf092e2f90b0d6f2fd6899ecf61f47646b6c0317589ebecbfa1015263a4b4c5cb6e9fa0000000000000000000000000000000000000000000000060c121a1e232a34', - }, - ], - [ - '102', - { - address: 'Z20f3531Ff6BdBbED17F5DB48d1129f5395011b79', - seed: '0x7815f4ef272b06985c8089e2c28ff8076fdfa9feed8cefdcecbfbee3d0b52cbddc59fdb1226b95292464567b9fca978e', - data: '102', - signature: - '0xecb7ff66d64c8288eb65d97bc4b51ffe81fb0d20d23ca2851091c8cdaf604b25d4ee7c0d96d7442d860f85bb13dba5df16699bca9f61896ce749416d303c03c153bc8f6c7c2ec6c5373e709ead8b6e90d048ad5eedebebcfb1bdfc63aaaaffadc3137e55b995b33502628a78736f22c3cb29da401dd5a39b8d9bba2c6cb25657f4d1a5704e09142b5ca1891ed81c0c9f57daa2f52f471de505f73785d405a0d37a5f8c80233e8cfe96c0aa0f7294414982a2dc6945e69a9db2ce083d35220b950f8c9ce5480874265aa495e4169300f33b25cfab21001e66d521307cfe04d85876a92dc2cdb5d53a0fdd2a81e3ffed6244ce6cf3616d37b9b84c8391a9c7e4ca60cca86c0515975265e62ca159cf22bdd6a5bdb0e4c2b00a5524837ac0c1d7dcf95ecef42278548735baf8993838020fdefedb3c4f6f4338d581e737c59438cd52ea9c9f7bde33d9fdef4d54115c120b4498c075b9e89c54afc65cc5e4dc653d8f390bd29be9fd1102ff28d9a794672fcd48ba65810e7079575ea315cc5d7422d55e5b3872f6bc9f8c6477cecac17f25afcfbe437b2b2060f31ebb4b8e89ef1534ded6567c5dad7eb5ae42e5ed84ac3c23e45a9efce60ec0cf7ceb91b533a2f7a9f84ea3bfb39d436237e09b3563ed23cfcc301b039f15576415f4c10787c9325f69efb7a7d436da65d388045da5ecd74cd87d3b26820bed3d778f260ac7bd6088f781b7d39b49c60d394351670698fee48379fa69e28b86dd931b099ee08a9b71e90fcdafab0ad18022c222d28e384f1f6df0a6ab5d1bda68ed3ff1c858ab094d1b57ee4f40c69b9a1f5e6e56e7597c4b50d732af5188846d07d152a1cf7fa3b01fe724349b173182877e6185d58969ebceca76305c20ccc5b2e61c7e930e9009ea5a26d273139e1a4b5e2c74fb4de9945db85b1d4599b3ef3fb3c20f10ada63182150da094160dc2b41264ed6b8c4f3bdf49bac329c516a3a6c787bee17298e027fdbbf1076252fb98aaaf42b61cb9fd7a9b4547fac8c70f2676f6ce7257386efa65dbc1e7ddc7af9d9cc5829fda3df013b3060cf6ee1efcd7cdca13789990188c0148c373b2c75893753ef7d2d812ebdb01da0dfb5d14d012b3e910cd04f8eb5c9a2274af8ab584288c016f4e2583e7cae75912b9713f4b2833e1e85f289ff16c1f234492f4845cfb24d00cceeb87729575beef5875595f4feaa21de80beb643f3781d9231e3224a679fdcbede9b818e36588ebc5d25c71bdd352b644f70a5b344af7ad026037aa530e267b9c0bd35d5ca82450ac4a63b4630a3cb77c217b5d2fb1df2cb239444ab5f4a624da4c79d7b62e4633c4930db5e54c160765cef7f58209d58c89d8b2150e8165c4af08cf8a06553f21e6a7f3e8ec85c9d323caac1473ebae03348f79d1ba934b0a11a82a8b6362932c2862e1de087b25aa45f84f9b74a2f7173b5eb0b34b99bbe542d015288f5c3dce23c21ca6b6095df257e2077fc76e7f0547aab10a35f30efcc878cffb57e7c8e229463677c4f36bc8e911a2a0f4293cbe5ec42acd527a3c97fcc539273c362e8abadce93fd0cdec284610a56f355a4893f7b63aeb0bc49d7c120425bc41ddcad2a59e0c5b6c7e0a7d8e3c5c858d4b9597cad597be924128a272156d1a502a1508efc384a056b35bc08357320e56617d37e1a7b4976615b2553aeee0930e47120b6b615c10789aabf9807825a247858847549b3d5b30b3b5eedee25024dc4082cceb55ef94db5e517884bc8dea7f6622d8ea2538db5901efff56c1e0e932aeb9a910d98f324f55c6880074cf5ecb09bcd69efb805224a3f56b78ad6e33c8729ccbd76afb129421a504b17f19641bd189e7f2b445e4f0e8250aa62693d848320eecfeb58bde73146d05986af26daf269708f0f8f4a777626c620b391ee3b2978349087fb2820da9c5ee27285d3fb76a82a19e06644b7f532401649349ae5d50ec3c7d4f57afa432f12c7d52377af4c37f06c74dc9c48d149c539667644195e01dc446ed6fa5e8f6bd22b47f6aa0c704cb1b275a03e744da1deaebae17b6f743b7a977e0b5991de2411f9eedd376910accd6b18d3bf786fe5576c69f664e5df8db03465339590acbd0e7e3b0786e96cc080a3812cae9e0c8af83aae5fe79e9842242f7158daae255b58f00374594667cad4c98d78a7578f0f0eb180f2c9951eb0dd2251918d3311f87e76cf401c6b442d8faa751639eb2e3fa58d7a189d6ead302038b225317a88e6b5d4c99465fc5016d006adcdc35f05e5266ab64ac24b48dfa3ede967eb776db51f32699fd6dbba8f6444d900adfa5aa7ce39fd23b66f7b0febedf3664a1abcdeb35e26a90273141e5f9a0bae4a7db58b9b462737bed1a0eeded4e0dc373dce493bd6effedaf4c20b20048186829af3bb54a402b0948485930c1d417cf93370287c2daa4828a3f5fce082e5b89d47326ff3fa8e7bceee6fed42c147994700ce2a5cb94baf894d2bec2a7b73d72eeacbba584c59bcbb7b94bf24093451b8a994651e4a8f3bc3d20dbfedd6e9b0c124e8e667accf27869bd205004eb104d5a3f0b656217797d67e1073f4bfce92b78fdbfcc93a9422da9640384e02558283cc4a4f77c534b677f57f27f267f1c56b283c5ee4efb4e99b1a4a857d59661982be40c6f93751d60444d918d0030133b24feee6689786bf5660520963bdbe8fff9205cab93468428813bfd69c8bddfdf255b25f043eb780f42ed868d65b11d6487df629a1703d7f76fa1dcb1da0b7c0ecdee8f99225e41bb489fd2e352d2a24f42696c9e050e4a64ed39c5e35ffe1c0b7b9007d7b613a3d156e88f79b30321b464742b1ae3c707141860f37a9de24f1bfb306935fdbcfacd952fe82e5033436cb45188b5bb0538562a0960749901d341a51e56cf23310e9e8a008c3459a418ab04c997dc60e5daf58a8da93e75b9968e68249c2eb2b2ed26fa898a03015cdb7fa29f57dcae30c84aaf6269b4a48c3b549df83d2ce087934847bf417630cab32195bb3c943488dea37510f313458c460f985a839e57875793cc4c6dd62e9d9e55752c6a30643f380691b1b2be1d545256d4120f8c75c55621fec14b1b3f1e1ee9e6fff8498374890717ca2cf66f9f917a80ad620473706b452a47756f168f9419c84348829076adc2710e5a6501cd48f01e5130f5f94bd7246a7a06024230fea8807a5aeaa996ec3894f5b7c31387f61d5feb8686866b40ed562625a2c7299ddaf75afb07a0517981e2f5f405d63f3a7626e736d6470eade76eb7713138b6f44d133e6b453b55b9a54fb72b88c7ba302768a75290f413a3a405c412b916a60302bcce0e9fc21e55f70d1abddad5d26796c444705800495764614fda51278355c3c8a554599aaf244acfead7d3804b464aa3fd16183b4f83c1b923e754542331176a07f84306b45762146dafc50db2fca3def49e5493c97ebe8f7d9af019a46a6125d353524ebe89f8a2a2801de7d9a2026d39886196c26aa322b7048fc46e2a9d70f9da1d56d1818be40ad98125974ecb622a4f9902bfd89fd2d485f8a13616bec74970a5f62663cb34ffdfb4b5b567349df2e80545bb1420937b6c85dbe8021b3826ca7ba1c1a9316747704ac1f6c019432e5057c6d4cda67eb71b5450bff0c278dcec9693287b2f0339ff92addcf481ec0c3c8ccf174b65d63a9348ad26665de0c44a01e70e9a3e68e881e0c339f2b04eaa91b76c0e6cd011b63349e652091e71226a0973775793611ba059c1b21d548614495e4d35893711e47ed6c93aed54923a11ddd618565f76a0ab925ba2e3977b35e19b2c32b8cc4d064bef9158ab01354c0e78779438591f7d6809ca9305c3d9934d723007c403d8677ff98a48edd066d70d832b59356ab2a75714a494c135ae3fa903b0f11e644ee89b15d1b7dede3036128bb05c137f3a700eb92659bcc9418a4b33ae229f9f0e4218668436089c83d359a072723a4cb5a5c3aa3f8868af21f92d5c00fb407c7fda20f29b4444e0acf291cbef309f2b532db7c93066d6bd152fbdb3367b8ef913e8d1057f48162d69031c854ab90418fdb6dabbb044cf3c3b087f03588b4ed1026940a1f57a2c806facba6e72cf137eac5d2ff845f242e97e031ea15688b9d7276432f3a15ed83374921c7d3f331e250a8587d74ce2e9b14027a803d02a2e62372cdb57a5f82b6787cea5ab383138cb197dad0f7672b1e510d630616ea86c3854a06c822d18a1fb00c2c601c16a39d24bb992a57f22323f354f29f75cd5bb060a760c34637e6875f132afc2619c1d53f19f6054ec9019838b0ecb7359febd301244a836c2aa6eb75ec8dd916599377b2b968314bbccc8252aaf5af6b4539c622279115c88cea8cf8be5634acf8482ebaa2a97994ac99912373ce3e58a9423a17e8d32313c43f51adddf9f38b42c841194064dbbff0b1bcefb93464d33fec99f24ffdf0da9ff6ad4b0825207856e65fb8a835dae781e88c95959754d7b67e75fb93c5265000cda7a44642e556daa7921bf304a908b6677d23bb0be6211dde17da4f516f7d231f72b077ce32d9545ad503e6ce99f1d6ea0e5565ad1e4099aeb1a8b9f0b7084d081eab5adea4988f8823e8d77a31d44fab640e3904ddd4ee584143741a7f0a9bb785e619da06bd5901a9ae3549c9e97d959bf09aa1943a67f289465ff044e83650991aa972969b11cbe79f0baa15adb513686bd43bff5725c7102584dca16acc3071f8d4ef629d520ff1bfd5fe8e78fbfeed134ce5267e5a84e1b8effee34db415e767cd83eda2084baedbc0be45484add1e59c5355176f3855665eb17b8e81960227ffd7050653081c62bd45ebf6d5abbd3c510cdb9c6033733b4d8b8388d36629e590b1d9af05f5378a1239efe44364accbf1e91e19ecdea20d4db8178747509482bd0e5f0b301e71d1f2d69ed3328d75f56d7c1ccac152c3542df9ede6aa9e8e40388f025497e90b10b1b97901a7281f350d0d6e6fc6f5b5ee6c33f7924ef27e4b184c78c0a36136f9a9dc15fd262d9cec9a3a9c6c62d5fc228197575fc05d154a5f648c445c24bf9ca988a972f0d84de0a4ec8300f3b185937915da7fd3cd3b101ca6f70c5e912b6aba34ec845ca977ac6724aaf2efb2df6812a483bab9310e8eadfcacae1eeebb4bf507486c9459e129e28af30d4ce06a193ba42c0ff5370042ef3fb87d8cc7c26fc50545de178f000a0b6e2b5e03769eb207153d2b3ab94c24726ea5c27dfec66c64755bc2a1dd36acdb75e9a86ed55f9164655d9777227aec5b5acee0f2aeb921c469c99bfe249029d336414ffee41211a50e629dd3a90eba8fdd999538738879f20096f47ee9671e414cd4c18b649b61668156149404b9ea117752092446a17d5bde63986c5e9fa97ffc7771b92fb59fdb1dd6b4f6e280f7c008f8dc7c1c44fe1935f67447b9de2dec4e12dc917b5b0e0f93db0a17c08218ea817cddda11aa1bd490afe1285f5b3f23d090c557ae9707c68fc97cb22ef451037949dea1062a45cbd9cf38078241b00bc289d327d9d73a79ec5d9715525cf8b03ff7ceaebe134c39051c470b9d14d84105e9337b22d34b2e2691a9010ae5022ce3cee1f136f79b834913762ff9a4b910aa48085da347c7bde125124ddc7bf69215ee727fafb0a5c4c1e66b7416de3d5fc9d8f588bf35d146884f710275a3a0c490866b0efee58b1d15b6f35a618673aaf950f4995b63266cd43a067e9ccacfe4d24158a640ef3d3bcffb1d235345d7770c98c32220a23fef425e4a40fdba6e3e8450fe510f1532eb542bc0795230c2c4da272becc566925b284a333198f6f2f7678ffab67d8d56a73b3efb9b5a9a27214cfb919821d1e407dbb53d3bc404c69131a58b5634ce5837f1a3d455a69ec2e4e09ea18ca6397f92e8e54f5e58e660a58a7d2846b666be3dd360f794636c4bbaa3716efa386256ea24d2e61594c1d92edadc4b2078fca81c9ed265426ded3e099a70d9ba950a94c3538b3a4eef6768bdd15b2f5508b0f0468700c6aacddcab5c86b5f369c7c5fc683a2516dfcc736e6bb1033abd636ed6487d6d4e8d0f1be1d789cefdd2ee3696c3f53af1c7d7b133384b0d2679908fa39e9fa9d067f8d9a64689a6b4fbc04d45b4aa344d4f35dab7ac84ad6acc8c4c13426c88ecaf4ec6dd61af876691fd2051e7e20a1a60bb84fc3cf3e1c1220935e4ddb9c3bdf7337ae6a86f6d36692fbdc895c9ba75d76d8101f583aaab3ebf03ed1ec92c13d1f4f3517aff4fb10a6eedc734519440336d879bbc16a75fe26beb3c1b59af8b0f5569c877ba6b954e744e946abf258b4de8e1975d82bddeb62b6fd4029cb9d82b43b3359e9653682e58d84ddd83e0f286fc0e2d760272e56f0bf4141b1c36acb0b1ebf914181e585e619e9fb9e8ff1113294052536b85a0a8eef629576f979da8c0d4ddef2cda28293ca0c0e31735434a54d1d3daf5181f364a566a707993a5bfe6fb0000000008131f292b313a47', - }, - ], -]; - -export const transactionsTestData: [FeeMarketEIP1559TxData][] = [ - [ - // 'Tx1559' - { - type: 2, - to: 'ZF0109fC8DF283027b6285cc889F5aA624EaC1F55', - maxPriorityFeePerGas: '0x3B9ACA00', - maxFeePerGas: '0xB2D05E00', - gasLimit: '0x6A4012', - value: '0x186A0', - data: '', - chainId: 1, - nonce: 0, - }, - ], -]; - -export const invalidSeedtoAccountData: [any, SeedLengthError | InvalidSeedError][] = [ - ['', new InvalidSeedError()], - [new Uint8Array([]), new SeedLengthError()], -]; - -export const validEncryptData: [[any, string | Uint8Array, CipherOptions], KeyStore][] = [ - // Test taken from https://github.com/theQRL/go-zond/tree/main/accounts/keystore/testdata/v1_test_vector.json - [ - [ - '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', - '1234567890', - { - t: 1, - m: 65536, - p: 1, - iv: hexToBytes('0x4c2275c4a14a5e984bfaec2b'), - salt: hexToBytes( - '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', - ), - }, - ], - { - version: 1, - address: 'Z2068da65aa0167e1d55fd692786cf87117fcf3fc', - crypto: { - ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, - cipher: 'aes-256-gcm', - kdf: 'argon2id', - kdfparams: { - m: 65536, - t: 1, - p: 1, - dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', - }, - }, - id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', - }, - ], -]; - -export const invalidEncryptData: [ - [any, any, any], - ( - | SeedLengthError - | InvalidKdfError - | InvalidSeedError - | InvalidPasswordError - | IVLengthError - ), -][] = [ - [ - ['0x67f476289210e3bef3c1c75e4de993ff0a00663df00def84e73aa7411eac18a', '123', {}], - new SeedLengthError(), - ], - [ - [ - '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', - '123', - { - iv: 'bfb43120ae00e9de110f8325', - salt: '210d0ec956787d865358ac45716e6dd42e68d48e346d795746509523aeb477dd', - kdf: 'hkdf', - }, - ], - new InvalidKdfError(), - ], - [ - [undefined, '123', {}], // no private key provided - new InvalidSeedError(), - ], - [ - // no password provided - ['0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', undefined, {}], - new InvalidPasswordError(), - ], - [ - // iv length is not 12 bytes - [ - '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', - '123', - { - m: 8192, - iv: hexToBytes('0xbfb43120ae00e9de110f8325143a2709'), - salt: undefined, - }, - ], - new IVLengthError(), - ], -]; - -export const invalidKeyStore: [[any, string]][] = [ - [ - // invalid keystore error, missing id field - [ - { - // invalid kdf - version: 1, - address: 'Z2068da65aa0167e1d55fd692786cf87117fcf3fc', - crypto: { - ciphertext: 'f833f12f6cb57f6961fb34bbf4ff5019c9fd70e1ab98bf0f1ba164f1b4bc773e853f973b708a4ec1b5e1148de96437ac5fc75da87c6b7293628e9d45b4bc2ab7', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, - cipher: 'aes-256-gcm', - kdf: 'hkdf', - kdfparams: { - m: 262144, - t: 8, - p: 1, - dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', - }, - }, - }, - '1234567890', - ], - ], -]; - -export const validDecryptData: [[string, string, CipherOptions, string]][] = [ - [ - [ - '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', - '1234567890', - { - t: 1, - m: 65536, - p: 1, - iv: hexToBytes('0x4c2275c4a14a5e984bfaec2b'), - salt: hexToBytes( - '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', - ), - }, - '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', - ], - ], -]; - -export const invalidDecryptData: [[any, string], InvalidKdfError | string][] = [ - [ - [ - { - // invalid kdf - version: 1, - address: 'Z2068da65aa0167e1d55fd692786cf87117fcf3fc', - crypto: { - ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, - cipher: 'aes-256-gcm', - kdf: 'hkdf', - kdfparams: { - m: 65536, - t: 1, - p: 1, - dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', - }, - }, - id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', - }, - '1234567890', - ], - new InvalidKdfError(), - ], - [ - [ - { - // wrong password - version: 1, - address: 'Z2068da65aa0167e1d55fd692786cf87117fcf3fc', - crypto: { - ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, - cipher: 'aes-256-gcm', - kdf: 'argon2id', - kdfparams: { - m: 65536, - t: 1, - p: 1, - dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', - }, - }, - id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', - }, - '12', - ], - "The operation failed for an operation-specific reason", - ], -]; - -export const validHashMessageData: [string, string][] = [ - ['🤗', '0x5dca29429d962d36cf39f6eaa8aea2aa9bf584bf3a6619ba02e4a976713ee419'], - [ - 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', - '0x62bfdbf332b439bf3fdf4b09a59f79185cb3c7d4bf5608ac6e46f92e8639a19c', - ], - ['non utf8 string', '0x3522c3467a6b9a063d7e3bfd9cab19e572e8abcd7023a7559f0d329d655cbeea'], - ['', '0xf4d7cd857bdb263484abcda09985bc942f6a7d986544fc3202d7a92d20173a54'], -]; diff --git a/packages/web3-zond-ens/test/fixtures/zns/reverse_registrar.json b/packages/web3-zond-ens/test/fixtures/zns/reverse_registrar.json deleted file mode 100644 index 23feacac..00000000 --- a/packages/web3-zond-ens/test/fixtures/zns/reverse_registrar.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "status": "1", - "message": "OK-Missing/Invalid API Key, rate limit of 1/5sec applied", - "result": "[{\"inputs\":[{\"internalType\":\"contract ZNS\",\"name\":\"znsAddr\",\"type\":\"address\"},{\"internalType\":\"contract Resolver\",\"name\":\"resolverAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"ADDR_REVERSE_NODE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"claimWithResolver\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"defaultResolver\",\"outputs\":[{\"internalType\":\"contract Resolver\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"zns\",\"outputs\":[{\"internalType\":\"contract ZNS\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"node\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" -} diff --git a/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts b/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts deleted file mode 100644 index 51123157..00000000 --- a/packages/web3-zond/test/unit/web3_zond_methods_no_parameters.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* -This file is part of web3.js. - -web3.js is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -web3.js is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with web3.js. If not, see . -*/ -import { zondRpcMethods } from '@theqrl/web3-rpc-methods'; - -import Web3Zond from '../../src/index'; - -jest.mock('@theqrl/web3-rpc-methods'); - -describe('web3_zond_methods_no_parameters', () => { - let web3Zond: Web3Zond; - - beforeAll(() => { - web3Zond = new Web3Zond('http://127.0.0.1:8545'); - }); - - describe('should call RPC method with only request manager parameter', () => { - it('getProtocolVersion', async () => { - await web3Zond.getProtocolVersion(); - expect(zondRpcMethods.getProtocolVersion).toHaveBeenCalledWith(web3Zond.requestManager); - }); - - it('isSyncing', async () => { - await web3Zond.isSyncing(); - expect(zondRpcMethods.getSyncing).toHaveBeenCalledWith(web3Zond.requestManager); - }); - - it('getAccounts', async () => { - await web3Zond.getAccounts(); - expect(zondRpcMethods.getAccounts).toHaveBeenCalledWith(web3Zond.requestManager); - }); - - it('getPendingTransactions', async () => { - (zondRpcMethods.getPendingTransactions as jest.Mock).mockResolvedValueOnce([]); - - await web3Zond.getPendingTransactions(); - expect(zondRpcMethods.getPendingTransactions).toHaveBeenCalledWith( - web3Zond.requestManager, - ); - }); - - it('requestAccounts', async () => { - await web3Zond.requestAccounts(); - expect(zondRpcMethods.requestAccounts).toHaveBeenCalledWith(web3Zond.requestManager); - }); - - it('getNodeInfo', async () => { - await web3Zond.getNodeInfo(); - expect(zondRpcMethods.getNodeInfo).toHaveBeenCalledWith(web3Zond.requestManager); - }); - - it('getMaxPriorityFeePerGas', async () => { - await web3Zond.getMaxPriorityFeePerGas(); - expect(zondRpcMethods.getMaxPriorityFeePerGas).toHaveBeenCalledWith( - web3Zond.requestManager, - ); - }); - }); -}); diff --git a/packages/web3/README.md b/packages/web3/README.md index 4a6cec87..5e4eaedd 100644 --- a/packages/web3/README.md +++ b/packages/web3/README.md @@ -7,7 +7,7 @@ This is the main package of [@theqrl/web3.js](https://github.com/theqrl/web3.js). -`@theqrl/web3` contains the ideal setup for a Zond Web3.js package. +`@theqrl/web3` contains the ideal setup for a QRL Web3.js package. ## Installation @@ -57,13 +57,13 @@ We encourage users to use only required individual packages listed in following | [web3](https://github.com/theqrl/web3.js/tree/main/packages/web3) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3) | :rotating_light: Entire Web3.js offering (includes all packages) | | [web3-core](https://github.com/theqrl/web3.js/tree/main/packages/web3-core) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-core%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-core) | Core functions for web3.js packages | | [web3-errors](https://github.com/theqrl/web3.js/tree/main/packages/web3-errors) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-errors%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-core) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-errors) | Errors Objects | -| [web3-zond](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-eth%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-eth) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-eth) | Modules to interact with the Zond blockchain and smart contracts | -| [web3-zond-abi](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-abi%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-abi) | Functions for encoding and decoding ZVM in/output | -| [web3-zond-accounts](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-accounts%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-accounts) | Functions for managing Zond accounts and signing | -| [web3-zond-contract](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-contract%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-contract) | The contract package contained in [web3-zond](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond) | -| [web3-zond-ens](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-ens) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-ens%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-ens) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-ens) | Functions for interacting with the Ethereum Name Service | -| [web3-zond-iban](https://github.com/theqrl/web3.js/tree/main/packages/web3-zond-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-zond-iban%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-zond-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-zond-iban) | Functionality for converting Zond addressed to IBAN addressed and vice versa | -| [web3-net](https://github.com/theqrl/web3.js/tree/main/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-net) | Functions to interact with an Zond node's network properties | +| [web3-qrl](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-eth%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-eth) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-eth) | Modules to interact with the QRL blockchain and smart contracts | +| [web3-qrl-abi](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-abi) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-qrl-abi%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-qrl-abi) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-qrl-abi) | Functions for encoding and decoding QRVM in/output | +| [web3-qrl-accounts](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-accounts) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-qrl-accounts%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-qrl-accounts) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-qrl-accounts) | Functions for managing QRL accounts and signing | +| [web3-qrl-contract](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-contract) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-qrl-contract%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-qrl-contract) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-qrl-contract) | The contract package contained in [web3-qrl](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl) | +| [web3-qrl-qrns](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-qrns) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-qrl-qrns%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-qrl-qrns) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-qrl-qrns) | Functions for interacting with the Ethereum Name Service | +| [web3-qrl-iban](https://github.com/theqrl/web3.js/tree/main/packages/web3-qrl-iban) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-qrl-iban%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-qrl-iban) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-qrl-iban) | Functionality for converting QRL addressed to IBAN addressed and vice versa | +| [web3-net](https://github.com/theqrl/web3.js/tree/main/packages/web3-net) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-net%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-net) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-net) | Functions to interact with a QRL node's network properties | | [web3-providers-http](https://github.com/theqrl/web3.js/tree/main/packages/web3-providers-http) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-providers-http%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-providers-http) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-providers-http) | Web3.js provider for the HTTP protocol | | [web3-providers-ipc](https://github.com/theqrl/web3.js/tree/main/packages/web3-providers-ipc) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-providers-ipc%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-providers-ipc) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-providers-ipc) | Web3.js provider for IPC | | [web3-providers-ws](https://github.com/theqrl/web3.js/tree/main/packages/web3-providers-ws) | [![npm](https://img.shields.io/github/package-json/v/web3/web3.js/main?filename=packages%2Fweb3-providers-ws%2Fpackage.json)](https://www.npmjs.com/package/@theqrl/web3-providers-ws) | [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) | [![documentation](https://img.shields.io/badge/typedoc-blue)](https://docs.theqrl.org/api/web3-providers-ws) | Web3.js provider for the Websocket protocol | diff --git a/packages/web3/package.json b/packages/web3/package.json index 2b3f9003..d331506f 100644 --- a/packages/web3/package.json +++ b/packages/web3/package.json @@ -4,7 +4,7 @@ "publishConfig": { "access": "public" }, - "description": "Zond JavaScript API", + "description": "QRL JavaScript API", "main": "./lib/commonjs/index.js", "module": "./lib/esm/index.js", "exports": { @@ -23,7 +23,7 @@ "browser": "./dist/web3.min.js", "license": "LGPL-3.0", "keywords": [ - "Zond", + "QRL", "JavaScript", "API" ], @@ -87,12 +87,12 @@ "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", "@theqrl/web3-validator": "^0.3.3", - "@theqrl/web3-zond": "^0.3.3", - "@theqrl/web3-zond-abi": "^0.3.3", - "@theqrl/web3-zond-accounts": "^0.3.3", - "@theqrl/web3-zond-contract": "^0.3.3", - "@theqrl/web3-zond-ens": "^0.3.3", - "@theqrl/web3-zond-iban": "^0.3.3" + "@theqrl/web3-qrl": "^0.3.3", + "@theqrl/web3-qrl-abi": "^0.3.3", + "@theqrl/web3-qrl-accounts": "^0.3.3", + "@theqrl/web3-qrl-contract": "^0.3.3", + "@theqrl/web3-qrl-qrns": "^0.3.3", + "@theqrl/web3-qrl-iban": "^0.3.3" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" } diff --git a/packages/web3/src/abi.ts b/packages/web3/src/abi.ts index af15b350..8b943e9d 100644 --- a/packages/web3/src/abi.ts +++ b/packages/web3/src/abi.ts @@ -24,7 +24,7 @@ import { encodeFunctionSignature, encodeParameter, encodeParameters, -} from '@theqrl/web3-zond-abi'; +} from '@theqrl/web3-qrl-abi'; /** * The object for `web3.abi` diff --git a/packages/web3/src/accounts.ts b/packages/web3/src/accounts.ts index 23e7b0a1..73e7d52c 100644 --- a/packages/web3/src/accounts.ts +++ b/packages/web3/src/accounts.ts @@ -16,15 +16,15 @@ along with web3.js. If not, see . */ import { - ZondExecutionAPI, + QRLExecutionAPI, Bytes, Transaction, KeyStore, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { format } from '@theqrl/web3-utils'; import { Web3Context } from '@theqrl/web3-core'; -import { prepareTransactionForSigning } from '@theqrl/web3-zond'; +import { prepareTransactionForSigning } from '@theqrl/web3-qrl'; import { create, decrypt, @@ -35,20 +35,20 @@ import { sign, Wallet, seedToAccount, -} from '@theqrl/web3-zond-accounts'; +} from '@theqrl/web3-qrl-accounts'; /** * Initialize the accounts module for the given context. * - * To avoid multiple package dependencies for `@theqrl/web3-zond-accounts` we are creating - * this function in `web3` package. In future the actual `@theqrl/web3-zond-accounts` package + * To avoid multiple package dependencies for `@theqrl/web3-qrl-accounts` we are creating + * this function in `web3` package. In future the actual `@theqrl/web3-qrl-accounts` package * should be converted to context aware. */ -export const initAccountsForContext = (context: Web3Context) => { +export const initAccountsForContext = (context: Web3Context) => { const signTransactionWithContext = async (transaction: Transaction, seed: Bytes) => { const tx = await prepareTransactionForSigning(transaction, context); - const seedBytes = format({ format: 'bytes' }, seed, ZOND_DATA_FORMAT); + const seedBytes = format({ format: 'bytes' }, seed, QRL_DATA_FORMAT); return signTransaction(tx, seedBytes); }; diff --git a/packages/web3/src/index.ts b/packages/web3/src/index.ts index fb3a8071..8416697e 100644 --- a/packages/web3/src/index.ts +++ b/packages/web3/src/index.ts @@ -41,7 +41,7 @@ along with web3.js. If not, see . * `Object` A list of module constructors: * * - * + `Zond` - `Constructor`: The Zond module for interacting with the Zond network + * + `QRL` - `Constructor`: The QRL module for interacting with the QRL network * * * + `Net` - `Constructor`: The Net module for interacting with network properties. @@ -51,7 +51,7 @@ along with web3.js. If not, see . * ```ts * Web3.modules * > { - * Zond: Zond(provider), + * QRL: QRL(provider), * Net: Net(provider), * } * ``` @@ -60,15 +60,15 @@ along with web3.js. If not, see . * * # Web3 Instance * - * The Web3 class is an umbrella package to house all Zond related modules. + * The Web3 class is an umbrella package to house all QRL related modules. * * ```ts * import Web3 from '@theqrl/web3'; * - * // "Web3.givenProvider" will be set if in a Zond supported browser. + * // "Web3.givenProvider" will be set if in a QRL supported browser. * const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546'); * - * > web3.zond + * > web3.qrl * > web3.utils * > web3.version * ``` @@ -99,13 +99,13 @@ along with web3.js. If not, see . * * ```ts * web3.setProvider(myProvider) - * web3.zond.setProvider(myProvider) + * web3.qrl.setProvider(myProvider) * ... * ``` * * Will change the provider for its module. * - * **_NOTE:_** When called on the umbrella package web3 it will also set the provider for all sub modules web3.zond etc. + * **_NOTE:_** When called on the umbrella package web3 it will also set the provider for all sub modules web3.qrl etc. * * #### Parameters * `Object` - `myProvider`: a valid provider. @@ -115,7 +115,7 @@ along with web3.js. If not, see . * * See details: {@link Web3.setProvider} * - * #### Example: Local Zond Node + * #### Example: Local QRL Node * ```ts * import Web3 from "@theqrl/web3"; * let web3: Web3 = new Web3('http://localhost:8545'); @@ -130,7 +130,7 @@ along with web3.js. If not, see . * //todo add IPC provider * ``` * - * #### Example: Remote Zond Node + * #### Example: Remote QRL Node * * ```ts * // Using a remote node provider, like Alchemy (https://www.alchemyapi.io/supernode), is simple. @@ -142,7 +142,7 @@ along with web3.js. If not, see . * * ```ts * web3.providers - * web3.zond.providers + * web3.qrl.providers * ``` * Contains the current available providers. * @@ -168,9 +168,9 @@ along with web3.js. If not, see . * let web3 = new Web3(Web3.givenProvider || new Web3.providers.WebsocketProvider('ws://remotenode.com:8546')); * * // Using the IPC provider in node.js - * var web3 = new Web3(new Web3.providers.IpcProvider('/Users/myuser/Library/Zond/gzond.ipc')); // mac os path + * var web3 = new Web3(new Web3.providers.IpcProvider('/Users/myuser/Library/QRL/Execution/gzond.ipc')); // mac os path * // on windows the path is: "\\\\.\\pipe\\gzond.ipc" - * // on linux the path is: "/users/myuser/.zond/gzond.ipc" + * // on linux the path is: "/users/myuser/.qrl/execution/gzond.ipc" * ``` * #### Configuration * @@ -246,10 +246,10 @@ along with web3.js. If not, see . * * ```ts * web3.givenProvider - * web3.zond.givenProvider + * web3.qrl.givenProvider * ... * ``` - * When using web3.js in a Zond compatible browser, it will set with the current native provider by that browser. + * When using web3.js in a QRL compatible browser, it will set with the current native provider by that browser. * Will return the given provider by the (browser) environment, otherwise `undefined`. * * #### Returns @@ -261,7 +261,7 @@ along with web3.js. If not, see . * * ```ts * web3.currentProvider - * web3.zond.currentProvider + * web3.qrl.currentProvider * ... * ``` * Will return the current provider, otherwise `undefined`. @@ -294,13 +294,13 @@ along with web3.js. If not, see . * ```ts * let request1: JsonRpcOptionalRequest = { * id: 10, - * method: 'zond_getBalance', - * params: ["Zdc6bad79dab7ea733098f66f6c6f9dd008da3258", 'latest'], + * method: 'qrl_getBalance', + * params: ["Qdc6bad79dab7ea733098f66f6c6f9dd008da3258", 'latest'], * }; * let request2: JsonRpcOptionalRequest = { * id: 11, - * method: 'zond_getBalance', - * params: ["Z962f9a9c2a6c092474d24def35eccb3d9363265e", 'latest'], + * method: 'qrl_getBalance', + * params: ["Q962f9a9c2a6c092474d24def35eccb3d9363265e", 'latest'], * }; * * const batch = new web3.BatchRequest(); @@ -327,10 +327,10 @@ export default Web3; * Named exports for all objects which are the default-exported-object in their packages */ export { Web3 }; -export { Web3Context, Web3PluginBase, Web3ZondPluginBase } from '@theqrl/web3-core'; -export { Web3Zond } from '@theqrl/web3-zond'; -export { Contract } from '@theqrl/web3-zond-contract'; -export { Iban } from '@theqrl/web3-zond-iban'; +export { Web3Context, Web3PluginBase, Web3QRLPluginBase } from '@theqrl/web3-core'; +export { Web3QRL } from '@theqrl/web3-qrl'; +export { Contract } from '@theqrl/web3-qrl-contract'; +export { Iban } from '@theqrl/web3-qrl-iban'; export { Net } from '@theqrl/web3-net'; export { HttpProvider } from '@theqrl/web3-providers-http'; export { WebSocketProvider } from '@theqrl/web3-providers-ws'; @@ -341,7 +341,7 @@ export { Web3Validator } from '@theqrl/web3-validator'; */ export * as core from '@theqrl/web3-core'; export * as errors from '@theqrl/web3-errors'; -export * as zond from './zond.exports.js'; +export * as qrl from './qrl.exports.js'; export * as net from '@theqrl/web3-net'; export * as providers from './providers.exports.js'; export * as rpcMethods from '@theqrl/web3-rpc-methods'; diff --git a/packages/web3/src/zond.exports.ts b/packages/web3/src/qrl.exports.ts similarity index 69% rename from packages/web3/src/zond.exports.ts rename to packages/web3/src/qrl.exports.ts index 3fa864b4..c45b09cb 100644 --- a/packages/web3/src/zond.exports.ts +++ b/packages/web3/src/qrl.exports.ts @@ -15,10 +15,10 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export * from '@theqrl/web3-zond'; +export * from '@theqrl/web3-qrl'; -export * as abi from '@theqrl/web3-zond-abi'; -export * as accounts from '@theqrl/web3-zond-accounts'; -export * as contract from '@theqrl/web3-zond-contract'; -export * as zns from '@theqrl/web3-zond-ens'; -export * as iban from '@theqrl/web3-zond-iban'; +export * as abi from '@theqrl/web3-qrl-abi'; +export * as accounts from '@theqrl/web3-qrl-accounts'; +export * as contract from '@theqrl/web3-qrl-contract'; +export * as qrns from '@theqrl/web3-qrl-qrns'; +export * as iban from '@theqrl/web3-qrl-iban'; diff --git a/packages/web3/src/types.ts b/packages/web3/src/types.ts index 77a02573..26074a03 100644 --- a/packages/web3/src/types.ts +++ b/packages/web3/src/types.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import { Bytes, Transaction } from '@theqrl/web3-types'; -import Zond from '@theqrl/web3-zond'; +import QRL from '@theqrl/web3-qrl'; import { decodeLog, decodeParameter, @@ -25,7 +25,7 @@ import { encodeFunctionSignature, encodeParameter, encodeParameters, -} from '@theqrl/web3-zond-abi'; +} from '@theqrl/web3-qrl-abi'; import { encrypt, hashMessage, @@ -34,31 +34,31 @@ import { signTransaction, Wallet, Web3Account, -} from '@theqrl/web3-zond-accounts'; -import { Contract } from '@theqrl/web3-zond-contract'; -import { ZNS } from '@theqrl/web3-zond-ens'; +} from '@theqrl/web3-qrl-accounts'; +import { Contract } from '@theqrl/web3-qrl-contract'; +import { QRNS } from '@theqrl/web3-qrl-qrns'; import { Net } from '@theqrl/web3-net'; -import { Iban } from '@theqrl/web3-zond-iban'; +import { Iban } from '@theqrl/web3-qrl-iban'; /** - * The Zond interface for main web3 object. It provides extra methods in addition to `web3-zond` interface. + * The QRL interface for main web3 object. It provides extra methods in addition to `web3-qrl` interface. * - * {@link web3_zond.Web3Zond} for details about the `Zond` interface. + * {@link web3_qrl.Web3QRL} for details about the `QRL` interface. */ -export interface Web3ZondInterface extends Zond { +export interface Web3QRLInterface extends QRL { /** - * Extended [Contract](/api/web3-zond-contract/class/Contract) constructor for main `web3` object. See [Contract](/api/web3-zond-contract/class/Contract) for further details. + * Extended [Contract](/api/web3-qrl-contract/class/Contract) constructor for main `web3` object. See [Contract](/api/web3-qrl-contract/class/Contract) for further details. * - * You can use `.setProvider` on this constructor to set provider for **all the instances** of the contracts which were created by `web3.zond.Contract`. + * You can use `.setProvider` on this constructor to set provider for **all the instances** of the contracts which were created by `web3.qrl.Contract`. * * ```ts - * web3.zond.Contract.setProvider(myProvider) + * web3.qrl.Contract.setProvider(myProvider) * ``` */ Contract: typeof Contract; Iban: typeof Iban; net: Net; - zns: ZNS; + qrns: QRNS; abi: { encodeEventSignature: typeof encodeFunctionSignature; encodeFunctionCall: typeof encodeFunctionCall; diff --git a/packages/web3/src/web3.ts b/packages/web3/src/web3.ts index 50e2400a..eea971e0 100644 --- a/packages/web3/src/web3.ts +++ b/packages/web3/src/web3.ts @@ -22,10 +22,10 @@ import { Web3SubscriptionConstructor, isSupportedProvider, } from '@theqrl/web3-core'; -import { Web3Zond, RegisteredSubscription, registeredSubscriptions } from '@theqrl/web3-zond'; -import Contract from '@theqrl/web3-zond-contract'; -import { ZNS, registryAddresses } from '@theqrl/web3-zond-ens'; -import { Iban } from '@theqrl/web3-zond-iban'; +import { Web3QRL, RegisteredSubscription, registeredSubscriptions } from '@theqrl/web3-qrl'; +import Contract from '@theqrl/web3-qrl-contract'; +import { QRNS, registryAddresses } from '@theqrl/web3-qrl-qrns'; +import { Iban } from '@theqrl/web3-qrl-iban'; import { Net } from '@theqrl/web3-net'; import * as utils from '@theqrl/web3-utils'; import { isNullish } from '@theqrl/web3-utils'; @@ -33,44 +33,44 @@ import { Address, ContractAbi, ContractInitOptions, - ZondExecutionAPI, + QRLExecutionAPI, SupportedProviders, } from '@theqrl/web3-types'; import { InvalidMethodParamsError } from '@theqrl/web3-errors'; import abi from './abi.js'; import { initAccountsForContext } from './accounts.js'; -import { Web3ZondInterface } from './types.js'; +import { Web3QRLInterface } from './types.js'; import { Web3PkgInfo } from './version.js'; export class Web3< CustomRegisteredSubscription extends { - [key: string]: Web3SubscriptionConstructor; + [key: string]: Web3SubscriptionConstructor; } = RegisteredSubscription, -> extends Web3Context { +> extends Web3Context { public static version = Web3PkgInfo.version; public static utils = utils; public static modules = { - Web3Zond, + Web3QRL, Iban, Net, - ZNS, + QRNS, }; public utils: typeof utils; - public zond: Web3ZondInterface; + public qrl: Web3QRLInterface; public constructor( providerOrContext?: | string - | SupportedProviders - | Web3ContextInitOptions, + | SupportedProviders + | Web3ContextInitOptions, ) { if ( isNullish(providerOrContext) || (typeof providerOrContext === 'string' && providerOrContext.trim() === '') || (typeof providerOrContext !== 'string' && - !isSupportedProvider(providerOrContext as SupportedProviders) && + !isSupportedProvider(providerOrContext as SupportedProviders) && !(providerOrContext as Web3ContextInitOptions).provider) ) { console.warn( @@ -78,7 +78,7 @@ export class Web3< ); } - let contextInitOptions: Web3ContextInitOptions = {}; + let contextInitOptions: Web3ContextInitOptions = {}; if ( typeof providerOrContext === 'string' || isSupportedProvider(providerOrContext as SupportedProviders) @@ -94,7 +94,7 @@ export class Web3< } contextInitOptions.registeredSubscriptions = { - // all the Zond standard subscriptions + // all the QRL standard subscriptions ...registeredSubscriptions, // overridden and combined with any custom subscriptions ...(contextInitOptions.registeredSubscriptions ?? {}), @@ -151,12 +151,12 @@ export class Web3< } } - const zond = self.use(Web3Zond); + const qrl = self.use(Web3QRL); - // Zond Module - this.zond = Object.assign(zond, { - // ZNS module - zns: self.use(ZNS, registryAddresses.main), // registry address defaults to main network + // QRL Module + this.qrl = Object.assign(qrl, { + // QRNS module + qrns: self.use(QRNS, registryAddresses.main), // registry address defaults to main network // Iban helpers Iban, diff --git a/packages/web3/test/cjs_black_box/package.json b/packages/web3/test/cjs_black_box/package.json index 898a2819..99077f2b 100644 --- a/packages/web3/test/cjs_black_box/package.json +++ b/packages/web3/test/cjs_black_box/package.json @@ -15,8 +15,8 @@ "devDependencies": { "jest": "^28.1.3", "ts-jest": "^28.0.7", - "@theqrl/web3-zond": "^0.1.0", - "@theqrl/web3-zond-contract": "^0.1.0", + "@theqrl/web3-qrl": "^0.1.0", + "@theqrl/web3-qrl-contract": "^0.1.0", "@theqrl/web3-validator": "^0.1.0" } } diff --git a/packages/web3/test/cjs_black_box/test/batchRequest.test.ts b/packages/web3/test/cjs_black_box/test/batchRequest.test.ts index e50a17a0..0eae45c0 100644 --- a/packages/web3/test/cjs_black_box/test/batchRequest.test.ts +++ b/packages/web3/test/cjs_black_box/test/batchRequest.test.ts @@ -38,13 +38,13 @@ describe('CJS - Black Box Unit Tests - web3.BatchRequest', () => { it('should make a batch request', async () => { const request1 = { id: 42, - method: 'zond_getBalance', - params: ['Z4242000000000000000000000000000000000000', 'latest'], + method: 'qrl_getBalance', + params: ['Q4242000000000000000000000000000000000000', 'latest'], }; const request2 = { id: 24, - method: 'zond_getBalance', - params: ['Z2424000000000000000000000000000000000000', 'latest'], + method: 'qrl_getBalance', + params: ['Q2424000000000000000000000000000000000000', 'latest'], }; const batch = new web3.BatchRequest(); diff --git a/packages/web3/test/esm_black_box/test/web3-zond-accounts/create.test.ts b/packages/web3/test/cjs_black_box/test/web3-qrl-accounts/create.test.ts similarity index 91% rename from packages/web3/test/esm_black_box/test/web3-zond-accounts/create.test.ts rename to packages/web3/test/cjs_black_box/test/web3-qrl-accounts/create.test.ts index 6dfd975f..4da313cb 100644 --- a/packages/web3/test/esm_black_box/test/web3-zond-accounts/create.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-qrl-accounts/create.test.ts @@ -27,7 +27,7 @@ import { jest.setTimeout(15000); -// TODO Consider adding this to web3.zond.accounts package +// TODO Consider adding this to web3.qrl.accounts package const accountSchema = { type: 'object', required: ['address', 'seed'], @@ -39,7 +39,7 @@ const accountSchema = { }, }; -describe('Black Box Unit Tests - web3.zond.accounts.create', () => { +describe('Black Box Unit Tests - web3.qrl.accounts.create', () => { let web3: Web3; beforeAll(() => { @@ -51,7 +51,7 @@ describe('Black Box Unit Tests - web3.zond.accounts.create', () => { }); it('should create an account', () => { - const response = web3.zond.accounts.create(); + const response = web3.qrl.accounts.create(); expect(response).toBeDefined(); expect(response.signTransaction).toBeDefined(); expect(response.sign).toBeDefined(); diff --git a/packages/web3/test/cjs_black_box/test/web3-zond-accounts/hashMessage.test.ts b/packages/web3/test/cjs_black_box/test/web3-qrl-accounts/hashMessage.test.ts similarity index 91% rename from packages/web3/test/cjs_black_box/test/web3-zond-accounts/hashMessage.test.ts rename to packages/web3/test/cjs_black_box/test/web3-qrl-accounts/hashMessage.test.ts index 3f5111c7..6193d109 100644 --- a/packages/web3/test/cjs_black_box/test/web3-zond-accounts/hashMessage.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-qrl-accounts/hashMessage.test.ts @@ -28,7 +28,7 @@ const Web3 = require('@theqrl/web3').default; jest.setTimeout(15000); -describe('CJS - Black Box Unit Tests - web3.zond.accounts.hashMessage', () => { +describe('CJS - Black Box Unit Tests - web3.qrl.accounts.hashMessage', () => { let web3: typeof Web3; beforeAll(() => { @@ -40,7 +40,7 @@ describe('CJS - Black Box Unit Tests - web3.zond.accounts.hashMessage', () => { }); it('should hash provided message', () => { - expect(web3.zond.accounts.hashMessage('Hello World')).toBe( + expect(web3.qrl.accounts.hashMessage('Hello World')).toBe( '0xa1de988600a42c4b4ab089b619297c17d53cffae5d5120d82d8a92d0bb3b78f2', ); }); diff --git a/packages/web3/test/cjs_black_box/test/web3-zond-contract/zrc20.test.ts b/packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts similarity index 81% rename from packages/web3/test/cjs_black_box/test/web3-zond-contract/zrc20.test.ts rename to packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts index 0396244e..331ce643 100644 --- a/packages/web3/test/cjs_black_box/test/web3-zond-contract/zrc20.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import Contract from '@theqrl/web3-zond-contract'; +import Contract from '@theqrl/web3-qrl-contract'; import { closeOpenConnection, describeIf, @@ -25,19 +25,19 @@ import { // eslint-disable-next-line import/no-relative-packages } from '../../../shared_fixtures/system_tests_utils'; import { - ZRC20TokenAbi, - ZRC20TokenBytecode, + SQRCTF1TokenAbi, + SQRCTF1TokenBytecode, // eslint-disable-next-line import/no-relative-packages -} from '../../../shared_fixtures/contracts/ZRC20Token'; +} from '../../../shared_fixtures/contracts/SQRCTF1Token'; /* eslint-disable @typescript-eslint/no-unsafe-call */ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const Web3 = require('@theqrl/web3').default; -describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond.Contract', () => { - describe('Gzond - ZRC20', () => { +describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.qrl.Contract', () => { + describe('Gzond - SQRCTF1', () => { let account; let web3: typeof Web3; - let deployedContract: Contract; + let deployedContract: Contract; beforeAll(async () => { account = await createNewAccount({ @@ -45,9 +45,9 @@ describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond }); web3 = new Web3(getSystemTestProvider()); - deployedContract = await new web3.zond.Contract(ZRC20TokenAbi) + deployedContract = await new web3.qrl.Contract(SQRCTF1TokenAbi) .deploy({ - data: ZRC20TokenBytecode, + data: SQRCTF1TokenBytecode, arguments: ['420'], }) .send({ from: account.address, gas: '10000000' }); @@ -58,8 +58,8 @@ describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond }); it('should get deployed contract info', async () => { - const contract = new web3.zond.Contract( - ZRC20TokenAbi, + const contract = new web3.qrl.Contract( + SQRCTF1TokenAbi, deployedContract.options.address, ); diff --git a/packages/web3/test/cjs_black_box/test/web3-zond/getBlock.test.ts b/packages/web3/test/cjs_black_box/test/web3-qrl/getBlock.test.ts similarity index 87% rename from packages/web3/test/cjs_black_box/test/web3-zond/getBlock.test.ts rename to packages/web3/test/cjs_black_box/test/web3-qrl/getBlock.test.ts index 99dcd53e..93238e90 100644 --- a/packages/web3/test/cjs_black_box/test/web3-zond/getBlock.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-qrl/getBlock.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { validator } from '@theqrl/web3-validator'; -import { blockSchema } from '@theqrl/web3-zond'; +import { blockSchema } from '@theqrl/web3-qrl'; import { closeOpenConnection, getSystemTestProvider, @@ -26,7 +26,7 @@ import { // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const Web3 = require('@theqrl/web3').default; -describe('CJS - Black Box Unit Tests - web3.zond.getBlock', () => { +describe('CJS - Black Box Unit Tests - web3.qrl.getBlock', () => { let web3: typeof Web3; beforeAll(() => { @@ -38,13 +38,13 @@ describe('CJS - Black Box Unit Tests - web3.zond.getBlock', () => { }); it('should get the latest block and validate it against blockSchema', async () => { - const response = await web3.zond.getBlock('latest'); + const response = await web3.qrl.getBlock('latest'); expect(response).toBeDefined(); expect(validator.validateJSONSchema(blockSchema, response)).toBeUndefined(); }); it('should get the latest block and validate it against blockSchema - hydrated = true', async () => { - const response = await web3.zond.getBlock('latest', true); + const response = await web3.qrl.getBlock('latest', true); expect(response).toBeDefined(); expect(validator.validateJSONSchema(blockSchema, response)).toBeUndefined(); }); diff --git a/packages/web3/test/cjs_black_box/test/web3-zond/getTransaction.test.ts b/packages/web3/test/cjs_black_box/test/web3-qrl/getTransaction.test.ts similarity index 91% rename from packages/web3/test/cjs_black_box/test/web3-zond/getTransaction.test.ts rename to packages/web3/test/cjs_black_box/test/web3-qrl/getTransaction.test.ts index c76005a8..308b16dc 100644 --- a/packages/web3/test/cjs_black_box/test/web3-zond/getTransaction.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-qrl/getTransaction.test.ts @@ -24,7 +24,7 @@ import { // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const Web3 = require('@theqrl/web3').default; -describe('CJS - Black Box Unit Tests - web3.zond.getTransaction', () => { +describe('CJS - Black Box Unit Tests - web3.qrl.getTransaction', () => { let web3: typeof Web3; beforeAll(() => { @@ -43,7 +43,7 @@ describe('CJS - Black Box Unit Tests - web3.zond.getTransaction', () => { // blockHash: '0x8ad298dbdf859f953b97cc27218e7f7f2af4237817a8dbd1d987891520286612', // blockNumber: BigInt(15230806), // chainId: BigInt(1), - // from: 'Z4c9af439b1a6761b8e549d8d226a468a6b2803a8', + // from: 'Q4c9af439b1a6761b8e549d8d226a468a6b2803a8', // gas: BigInt(120000), // gasPrice: BigInt(9022588986), // hash: '0x133048bfcf6c0f7f8d1f5681df9607802894667acb46f4a3ba8ba187421dfc2b', @@ -53,14 +53,14 @@ describe('CJS - Black Box Unit Tests - web3.zond.getTransaction', () => { // nonce: BigInt(83553), // r: '0x1240db6f5b2245729b8593ff43230795e3c4c1005776dd6841de68da926096e9', // s: '0x48678639e5b752a69dcc62b4ef9417b3f65e4d4c75ec99df8457b02b339799de', - // to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + // to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', // transactionIndex: BigInt(190), // type: BigInt(2), // v: BigInt(1), // value: BigInt(0), // }; - // const response = await web3.zond.getTransaction( + // const response = await web3.qrl.getTransaction( // '0x133048bfcf6c0f7f8d1f5681df9607802894667acb46f4a3ba8ba187421dfc2b', // ); // // eslint-disable-next-line jest/no-standalone-expect diff --git a/packages/web3/test/e2e/e2e_utils.ts b/packages/web3/test/e2e/e2e_utils.ts index b9adb5ac..464a4b43 100644 --- a/packages/web3/test/e2e/e2e_utils.ts +++ b/packages/web3/test/e2e/e2e_utils.ts @@ -30,12 +30,12 @@ import secrets from '../../../../.secrets.json'; export const getSystemE2ETestProvider = (): string => { if (process.env.WEB3_SYTEM_TEST_MODE === 'http') { return getSystemTestBackend() === 'testnet' - ? process.env.ZOND_TESTNET_HTTP ?? secrets.TESTNET.HTTP - : process.env.ZOND_MAINNET_HTTP ?? secrets.MAINNET.HTTP; + ? process.env.QRL_TESTNET_HTTP ?? secrets.TESTNET.HTTP + : process.env.QRL_MAINNET_HTTP ?? secrets.MAINNET.HTTP; } return getSystemTestBackend() === 'testnet' - ? process.env.ZOND_TESTNET_WS ?? secrets.TESTNET.WS - : process.env.ZOND_MAINNET_WS ?? secrets.MAINNET.WS; + ? process.env.QRL_TESTNET_WS ?? secrets.TESTNET.WS + : process.env.QRL_MAINNET_WS ?? secrets.MAINNET.WS; }; export const getE2ETestAccountAddress = (): string => { diff --git a/packages/web3/test/e2e/estimate_gas.test.ts b/packages/web3/test/e2e/estimate_gas.test.ts index b957b412..a85d1cc9 100644 --- a/packages/web3/test/e2e/estimate_gas.test.ts +++ b/packages/web3/test/e2e/estimate_gas.test.ts @@ -26,12 +26,12 @@ describe(`${getSystemTestBackend()} tests - estimateGas`, () => { const provider = getSystemE2ETestProvider(); // const blockData = getSystemTestBackend() === 'sepolia' ? sepoliaBlockData : mainnetBlockData; const blockData = mainnetBlockData; - const simpleZondTransaction: Transaction = { + const simpleQRLTransaction: Transaction = { from: getE2ETestAccountAddress(), - to: 'Z0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000000', value: '0x1', }; - const expectedSimpleZondTransactionGas = 21000; + const expectedSimpleQRLTransactionGas = 21000; const contractDeploymentTransaction: Transaction = { from: getE2ETestAccountAddress(), data: '0x60806040523480156200001157600080fd5b5060405162000a6a38038062000a6a8339818101604052810190620000379190620002a4565b80600090805190602001906200004f92919062000057565b505062000359565b828054620000659062000324565b90600052602060002090601f016020900481019282620000895760008555620000d5565b82601f10620000a457805160ff1916838001178555620000d5565b82800160010185558215620000d5579182015b82811115620000d4578251825591602001919060010190620000b7565b5b509050620000e49190620000e8565b5090565b5b8082111562000103576000816000905550600101620000e9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001708262000125565b810181811067ffffffffffffffff8211171562000192576200019162000136565b5b80604052505050565b6000620001a762000107565b9050620001b5828262000165565b919050565b600067ffffffffffffffff821115620001d857620001d762000136565b5b620001e38262000125565b9050602081019050919050565b60005b8381101562000210578082015181840152602081019050620001f3565b8381111562000220576000848401525b50505050565b60006200023d6200023784620001ba565b6200019b565b9050828152602081018484840111156200025c576200025b62000120565b5b62000269848285620001f0565b509392505050565b600082601f8301126200028957620002886200011b565b5b81516200029b84826020860162000226565b91505092915050565b600060208284031215620002bd57620002bc62000111565b5b600082015167ffffffffffffffff811115620002de57620002dd62000116565b5b620002ec8482850162000271565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033d57607f821691505b602082108103620003535762000352620002f5565b5b50919050565b61070180620003696000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063a41368621461003b578063cfae32171461006c575b600080fd5b6100556004803603810190610050919061043f565b61008a565b60405161006392919061052b565b60405180910390f35b6100746101b0565b604051610081919061055b565b60405180910390f35b600060607f0d363f2fba46ab11b6db8da0125b0d5484787c44e265b48810735998bab12b756000846040516100c0929190610672565b60405180910390a182600090805190602001906100de929190610242565b507f7d7846723bda52976e0286c6efffee937ee9f76817a867ec70531ad29fb1fc0e600060405161010f91906106a9565b60405180910390a160016000808054610127906105ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610153906105ac565b80156101a05780601f10610175576101008083540402835291602001916101a0565b820191906000526020600020905b81548152906001019060200180831161018357829003601f168201915b5050505050905091509150915091565b6060600080546101bf906105ac565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb906105ac565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b5050505050905090565b82805461024e906105ac565b90600052602060002090601f01602090048101928261027057600085556102b7565b82601f1061028957805160ff19168380011785556102b7565b828001600101855582156102b7579182015b828111156102b657825182559160200191906001019061029b565b5b5090506102c491906102c8565b5090565b5b808211156102e15760008160009055506001016102c9565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61034c82610303565b810181811067ffffffffffffffff8211171561036b5761036a610314565b5b80604052505050565b600061037e6102e5565b905061038a8282610343565b919050565b600067ffffffffffffffff8211156103aa576103a9610314565b5b6103b382610303565b9050602081019050919050565b82818337600083830152505050565b60006103e26103dd8461038f565b610374565b9050828152602081018484840111156103fe576103fd6102fe565b5b6104098482856103c0565b509392505050565b600082601f830112610426576104256102f9565b5b81356104368482602086016103cf565b91505092915050565b600060208284031215610455576104546102ef565b5b600082013567ffffffffffffffff811115610473576104726102f4565b5b61047f84828501610411565b91505092915050565b60008115159050919050565b61049d81610488565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156104dd5780820151818401526020810190506104c2565b838111156104ec576000848401525b50505050565b60006104fd826104a3565b61050781856104ae565b93506105178185602086016104bf565b61052081610303565b840191505092915050565b60006040820190506105406000830185610494565b818103602083015261055281846104f2565b90509392505050565b6000602082019050818103600083015261057581846104f2565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105c457607f821691505b6020821081036105d7576105d661057d565b5b50919050565b60008190508160005260206000209050919050565b600081546105ff816105ac565b61060981866104ae565b94506001821660008114610624576001811461063657610669565b60ff1983168652602086019350610669565b61063f856105dd565b60005b8381101561066157815481890152600182019150602081019050610642565b808801955050505b50505092915050565b6000604082019050818103600083015261068c81856105f2565b905081810360208301526106a081846104f2565b90509392505050565b600060208201905081810360008301526106c381846105f2565b90509291505056fea2646970667358221220fe0f28c9f8ef0a13a95934b974e7bc2ca6762b40a5b93ccd6ca2038f454bf52764736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017736f6c79656e7420677265656e2069732070656f706c65000000000000000000', @@ -55,7 +55,7 @@ describe(`${getSystemTestBackend()} tests - estimateGas`, () => { block: 'latest' | 'pending' | 'finalized' | 'safe' | 'blockHash' | 'blockNumber'; format: string; }>({ - transaction: [simpleZondTransaction, contractDeploymentTransaction], + transaction: [simpleQRLTransaction, contractDeploymentTransaction], block: ['latest', 'pending', 'safe', 'finalized', 'blockHash', 'blockNumber'], format: Object.values(FMT_NUMBER), }), @@ -70,7 +70,7 @@ describe(`${getSystemTestBackend()} tests - estimateGas`, () => { * results in a missing trie node error, so * we get latest block for this test */ - const latestBlock = await web3.zond.getBlock('finalized'); + const latestBlock = await web3.qrl.getBlock('finalized'); _blockData = block === 'blockHash' ? (latestBlock.hash as string) : toHex(latestBlock.number); } @@ -78,8 +78,8 @@ describe(`${getSystemTestBackend()} tests - estimateGas`, () => { const expectedGasEstimate = transaction.data !== undefined ? expectedContractDeploymentTransactionGas - : expectedSimpleZondTransactionGas; - const result = await web3.zond.estimateGas(transaction, _blockData, { + : expectedSimpleQRLTransactionGas; + const result = await web3.qrl.estimateGas(transaction, _blockData, { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3/test/e2e/fixtures/mainnet.ts b/packages/web3/test/e2e/fixtures/mainnet.ts index 728861fc..83ea7516 100644 --- a/packages/web3/test/e2e/fixtures/mainnet.ts +++ b/packages/web3/test/e2e/fixtures/mainnet.ts @@ -22,7 +22,7 @@ export const mainnetBlock = { hash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', logsBloom: '0x4df74c536feb5b9b15f957639771c6a373e719164f8593a74f9bbea57eaafd57bc3713cc5f12770cff1397fa4347c99e0f7d1e2edb5aedd4bf21d5e21ea43963fd767ad75fefcb3dffefe37b5d3a0879e29b14a80deefa730dd29ccd9e7134833aa03fb27b97d98982427405ac0abedd425a3bd70b7d5ff34f5d2cda3e7fd29fcf23d71d0a4c370005d82dfe53be067656d2bce157469cf97ff5ab7ce330166f9ed87d5717a46a3b603affe5b13cedca2b5a46bdeab6abab0dd72c3f14e2fdda4e38bd6e5e0b3e5bc04edb366cef95faf8f96edba7fb645a770e3daeca8de47f54736b5881078d85882d16ada151ea84e6779b30cb7ca4d68f8dbf31f296fc87', - miner: 'Z4675c7e5baafbffbca748158becba61ef3b0a263', + miner: 'Q4675c7e5baafbffbca748158becba61ef3b0a263', prevRandao: '0x4ec3b909884d099f633243913328e65d659c646e349c14ced389280fefab41c3', nonce: '0x0', number: '0x103dab0', @@ -277,7 +277,7 @@ export const mainnetTransactionFromBlock = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: BigInt(17029808), chainId: BigInt(1), - from: 'Z38abab9766e0b27d2912718a884292b8e7eb2803', + from: 'Q38abab9766e0b27d2912718a884292b8e7eb2803', gas: BigInt(500000), hash: '0x603caf7d4be62e5946268fa1b594029c40fab23826d388729367c37649ea3967', data: '0x3df021240000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043c33c1937564800000000000000000000000000000000000000000000000000427a6327d90554fc361', @@ -287,7 +287,7 @@ export const mainnetTransactionFromBlock = { nonce: BigInt(6346), publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', - to: 'Z3f1b0278a9ee595635b61817630cc19de792f506', + to: 'Q3f1b0278a9ee595635b61817630cc19de792f506', transactionIndex: BigInt(1), type: BigInt(2), value: BigInt(0), diff --git a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts index 25633b17..a874c06a 100644 --- a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts +++ b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts @@ -23,7 +23,7 @@ export const mainnetBlockHydrated = { hash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', logsBloom: '0x4df74c536feb5b9b15f957639771c6a373e719164f8593a74f9bbea57eaafd57bc3713cc5f12770cff1397fa4347c99e0f7d1e2edb5aedd4bf21d5e21ea43963fd767ad75fefcb3dffefe37b5d3a0879e29b14a80deefa730dd29ccd9e7134833aa03fb27b97d98982427405ac0abedd425a3bd70b7d5ff34f5d2cda3e7fd29fcf23d71d0a4c370005d82dfe53be067656d2bce157469cf97ff5ab7ce330166f9ed87d5717a46a3b603affe5b13cedca2b5a46bdeab6abab0dd72c3f14e2fdda4e38bd6e5e0b3e5bc04edb366cef95faf8f96edba7fb645a770e3daeca8de47f54736b5881078d85882d16ada151ea84e6779b30cb7ca4d68f8dbf31f296fc87', - miner: 'Z4675c7e5baafbffbca748158becba61ef3b0a263', + miner: 'Q4675c7e5baafbffbca748158becba61ef3b0a263', prevRandao: '0x4ec3b909884d099f633243913328e65d659c646e349c14ced389280fefab41c3', number: '0x103dab0', parentHash: '0x28ad78b5598691f1eb3aee2a17540496b539fb4f72ca5eaa461a331791cfc7cd', @@ -36,14 +36,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z0df433e890793b488c13d18f5d113cf194ddf7ec', + from: 'Q0df433e890793b488c13d18f5d113cf194ddf7ec', gas: '0xfde8', hash: '0xfe87d41469efbea299780c8e218590753e0893ee2d2d65f867d9c9c7b9ed591f', input: '0xa9059cbb000000000000000000000000913cec99a2afb5ec7008831998bf4eebf1ddb830000000000000000000000000000000000000000000000a39bd57ecedc547b000', nonce: '0xf8', publicKey: '0xf511d0f14c7ad3fbd118136e006dd7327ffd0614cb415e41bf2dddea1c733251', signature: '0x1174d5a1e42be8c4ca43acbad607a33d4fa39dca036dd7c7a981f3fceb465c77', - to: 'Zd04e772bc0d591fbd288f2e2a86afa3d3cb647f8', + to: 'Qd04e772bc0d591fbd288f2e2a86afa3d3cb647f8', transactionIndex: '0x0', type: '0x2', value: '0x0', @@ -53,7 +53,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z38abab9766e0b27d2912718a884292b8e7eb2803', + from: 'Q38abab9766e0b27d2912718a884292b8e7eb2803', gas: '0x7a120', hash: '0x603caf7d4be62e5946268fa1b594029c40fab23826d388729367c37649ea3967', input: '0x3df021240000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043c33c1937564800000000000000000000000000000000000000000000000000427a6327d90554fc361', @@ -62,7 +62,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ca', publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', - to: 'Z3f1b0278a9ee595635b61817630cc19de792f506', + to: 'Q3f1b0278a9ee595635b61817630cc19de792f506', transactionIndex: '0x1', type: '0x2', value: '0x0', @@ -72,7 +72,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za0bc68a45bca874f2a7195fd0e946041ccd2ba92', + from: 'Qa0bc68a45bca874f2a7195fd0e946041ccd2ba92', gas: '0xd6d8', hash: '0x4f8da807b7f0f44a4fd67eaa16cc4ef6f1071a0d8ae06349bef904f8f14f0903', input: '0xa9059cbb0000000000000000000000000fd5b4633eda5b1daaa6a2cd6b852167318aad990000000000000000000000000000000000000000000000000000012687e02a00', @@ -81,7 +81,7 @@ export const mainnetBlockHydrated = { nonce: '0x2a', publicKey: '0x66d297d50616d83c4f46b2ecb07bfe58785ddc1f412565c1fa19175841f314e3', signature: '0x42d0bbf71e2de38a839d0016c5e2fd9a387621c8fd511d83f554aef09c94a3af', - to: 'Z15d4c048f83bd7e37d49ea4c83a07267ec4203da', + to: 'Q15d4c048f83bd7e37d49ea4c83a07267ec4203da', transactionIndex: '0x2', type: '0x2', value: '0x0', @@ -90,14 +90,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zae45a8240147e6179ec7c9f92c5a18f9a97b3fca', + from: 'Qae45a8240147e6179ec7c9f92c5a18f9a97b3fca', gas: '0x5208', hash: '0x199eb2a37faf1af74c752de5f378859c40a8929c52af1402bf98c9acc309438e', input: '0x', nonce: '0x1e5511', publicKey: '0x209ef9dbdeaf6807ab08d3191c00af17727ea4ae22ed8fc127a55cfb287b0672', signature: '0x51551c439baf3cab9a8b93cd1502e3a40a9b4cdef927fbd274d40d0dfcdc9329', - to: 'Z7a408b5230d123574eb8c057904e4f364b980770', + to: 'Q7a408b5230d123574eb8c057904e4f364b980770', transactionIndex: '0x3', type: '0x2', value: '0x5a119fe21ed87', @@ -106,14 +106,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zae45a8240147e6179ec7c9f92c5a18f9a97b3fca', + from: 'Qae45a8240147e6179ec7c9f92c5a18f9a97b3fca', gas: '0x5208', hash: '0x9775612f318528221f773a926a72c758f5b6d1eb7871b7a4309fe2d870ea1452', input: '0x', nonce: '0x1e5512', publicKey: '0x4f68a9a02c74f6ac4059d3dda87db886050847822b1a3fde4fcde65c175a8f38', signature: '0x3ce0ec0d5a776d84f835a6eed0f2cdf59356ffe6d014af9b283ac84e2c5ad362', - to: 'Z40fc4596608b20c97244922060dcfd2de7fdf9ea', + to: 'Q40fc4596608b20c97244922060dcfd2de7fdf9ea', transactionIndex: '0x4', type: '0x2', value: '0x8f90791f1038e', @@ -122,14 +122,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zae45a8240147e6179ec7c9f92c5a18f9a97b3fca', + from: 'Qae45a8240147e6179ec7c9f92c5a18f9a97b3fca', gas: '0x5208', hash: '0xdc7f7a7c4d7017c13c795fc303c5b24814e27f102f908bcb33b8f5b7e943a8e4', input: '0x', nonce: '0x1e5513', publicKey: '0x644543ff07aa6aa3197b93f8a6f333860c1f6a51889113c9b984c4cfe53ddd84', signature: '0x6cb061b61f1bb84e5435927a904884b0196b43c93a872822e1abd35caf38ec1a', - to: 'Z0d2895a34520624ad6171476d62837b5e285d8f1', + to: 'Q0d2895a34520624ad6171476d62837b5e285d8f1', transactionIndex: '0x5', type: '0x2', value: '0x9451e0bec42d1', @@ -138,14 +138,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z37b94141bca7000241b87b4b361f155197181002', + from: 'Q37b94141bca7000241b87b4b361f155197181002', gas: '0x1fbd0', hash: '0x19d1a0d3ec5c0edb9f5e92fb5f8707ae92b56505093e602bea42be92a07e44af', input: '0x23b872dd000000000000000000000000381e840f4ebe33d0153e9a312105554594a98c420000000000000000000000002d68d9aa1ff311406593887999d14db57aaf14ba000000000000000000000000000000000000000000000000000000bdc1c91600', nonce: '0x2e3e5', publicKey: '0x4b06ba58fc3f9dc92be0055c55cddad9205e16c7d29bb6dede6787559e858b2e', signature: '0x2b4b4f8ad723577860d89b6311573260e450a74461b1324b727097cb1ea3f0f6', - to: 'Z15d4c048f83bd7e37d49ea4c83a07267ec4203da', + to: 'Q15d4c048f83bd7e37d49ea4c83a07267ec4203da', transactionIndex: '0x6', type: '0x2', value: '0x0', @@ -154,14 +154,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc6e282c9f4981b2036da4ca3f4fef3d68e66f75a', + from: 'Qc6e282c9f4981b2036da4ca3f4fef3d68e66f75a', gas: '0x249f0', hash: '0x9c3c1a113ed268ea222e7d9c35ce0abf5bd15f7f7dd4c00b31fd4de1a9cb57dd', input: '0xa9059cbb00000000000000000000000067de33ebc8252df671330939ee02d70d27df265a00000000000000000000000000000000000000000000000347e512f272760000', nonce: '0x2cb4', publicKey: '0xfeced6d2b4be2108e88d961423c3ddbade22425464538f63c047829bf1d8c2a5', signature: '0x7ee24854c7c79582649d25c66bc1b462c57ecb73925d94881b081577ffa04920', - to: 'Z795dbf627484f8248d3d6c09c309825c1563e873', + to: 'Q795dbf627484f8248d3d6c09c309825c1563e873', transactionIndex: '0x7', type: '0x2', value: '0x0', @@ -171,7 +171,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb01cb49fe0d6d6e47edf3a072d15dfe73155331c', + from: 'Qb01cb49fe0d6d6e47edf3a072d15dfe73155331c', gas: '0x15f90', hash: '0x2ad8b77960551ee3fa86b1ede54219db9490e5320bb479a467be1563f49070fa', input: '0x', @@ -180,7 +180,7 @@ export const mainnetBlockHydrated = { nonce: '0xa669f', publicKey: '0xa89f7f812e3b621a89a218f2c22da423d87dc0c2eac90505799a1b63fcea6337', signature: '0x449f43dfc141d298f61728c3f160c536ef741d4295453fc19fb22588faca1965', - to: 'Z5ebe4a90a99d8d02204552079572ff962ce554ba', + to: 'Q5ebe4a90a99d8d02204552079572ff962ce554ba', transactionIndex: '0x8', type: '0x2', value: '0x6a94d74f430000', @@ -190,7 +190,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z62ebc97e159e60915948a4f226f18d7460f9a80b', + from: 'Q62ebc97e159e60915948a4f226f18d7460f9a80b', gas: '0xaafbc', hash: '0xee84b1ac8feb236190b84717a4d186b92278939d36346c81a0ee35c316763900', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645df00000000000000000000000000000000000000000000000000000000000000030b090c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000214e88de46721510000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000004351bb9127d783b9a00000000000000000000000000000000000000000000000000000214e88de467215100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000bfbcd9b16d0a55e8b0070551271180e0b7b8388e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000', @@ -199,7 +199,7 @@ export const mainnetBlockHydrated = { nonce: '0x389', publicKey: '0x201f89c979366c6789dc138b8d36047fc0ebd78956ddd1fcff547d982ce74af8', signature: '0x4b469d49d4dcdb1f8f91c8f75713a77851c020d7d19e6e9a9859896a277ffb23', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x9', type: '0x2', value: '0x214e88de4672151', @@ -208,14 +208,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z5436aa53d2b25190d2e54c4dd9117a14eb1d3d6f', + from: 'Q5436aa53d2b25190d2e54c4dd9117a14eb1d3d6f', gas: '0x5208', hash: '0x1789d5fc0756c57f5035cf7e0776c908d20350a2474b6a24f06d0c0f5aec9671', input: '0x', nonce: '0x1', publicKey: '0xc2886750f2308b50265de5c28daf2d7d05087103d8879a63064e454031fa7f9a', signature: '0x3026bc52e581f4ba9233eaca623d7ab55463466fa5cfcab568e6e86b153c0b72', - to: 'Za28c1a1330d7634c9bc5a04cb2a3b64cb866f19e', + to: 'Qa28c1a1330d7634c9bc5a04cb2a3b64cb866f19e', transactionIndex: '0xa', type: '0x2', value: '0xfd9728a9242400', @@ -224,14 +224,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3e9df16ac4dd2738c9ffa5eb2981cefd04d8cea3', + from: 'Q3e9df16ac4dd2738c9ffa5eb2981cefd04d8cea3', gas: '0x5208', hash: '0xc6b456b175dd46508260658d2730e30f92a79ffc5be7310098a45dd70e4292fa', input: '0x', nonce: '0x0', publicKey: '0x965cd3cc650e1592528d8acdf957f1c588c327513a1ae1380c996d3e129099c7', signature: '0x263967109771cb590a72b9383d8822183b452114e8fee7800184857b15b979b0', - to: 'Z6dfc34609a05bc22319fa4cce1d1e2929548c0d7', + to: 'Q6dfc34609a05bc22319fa4cce1d1e2929548c0d7', transactionIndex: '0xb', type: '0x2', value: '0x5d2c45892ec400', @@ -241,7 +241,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z112200eaa6d57120c86b8b51a8b6049d56b82211', + from: 'Q112200eaa6d57120c86b8b51a8b6049d56b82211', gas: '0x7a1200', hash: '0x94e1c3b9a52d7a5e1c6c79dff79ef48d6b9e66aebebbc416a70f006c4382fb23', input: '0x0c4dd810000000000000000000000000000000000000000000000000000000000000383b0c799eec0c8269e6f66433183bf6c37f7e2234fad4e8619a9372c537e1919cc9000000000000000000000000000000000000000000000000000000000082663d00000000000000000000000000000000000000000000000000000000000000109d7468151d8ce8d8cebd40a39adfd37c97df96ccd5be350407ebe07aafe0ed07be59bbd66be38ea02192e92e3620ac73fe74a4ba782333f6912a6cfc2720480e0000000000000000000000000000000000000000000000000000000064363da0536f4cde074ebf59770fcd0c104be5abf522c7b45d6304fb78b204926cf10301000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000383c0000000000000000000000000000000000000000000000000000000064363dfb000000000000000000000000000000000000000000000000000000000082689a86740d370d5ddebe0d02c0213b810e4c7743c3f93d5374c8cdf053a9d428e991000000000000000000000000000000000000000000000000000000000000001b819ce85261f50be1de19276f26e5ca11a848228ee6210c25cb59dc36f351dc360ff93be68c9ff97a26ef6bec24bd43f19b98490ef6e53e3d25a9b095e0cac0e80000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000990000000000000000000000000000000000000000000000000000000000000157e000000000000000000000000000000000000000000000000000000000000162c0000000000000000000000000000000000000000000000000000000000001648000000000000000000000000000000000000000000000000000000000000097440000025d60c4d13fd5e61e8002cedae0b934a332f744aabb60ab2c4045c0bbdb0579e8ee00000000000000000000000000000000000000000000000000000000000000018abc516ed905f4cd2f75e529e5e37e29e9289343fde880ae66b24b0f565853ae0000000000000000000000000000000000000000000000000000000000000001be76ea648005e24e93088e8d659cbbeb2b35d2faab5c9ca93a19244a6be3d12c0000000000000000000000000000000000000000000000000000000000000006ca2b2246ce791549583c2223e325fc09370d1bc3ab8a7fb90fe95d7f84c18b9b0000000000000000000000000000000000000000000000000000000000000001032fcb196b9985790ce5d010f9ad1d3ed1098603297a45bebb94a4243d5bf81c0000000000000000000000000000000000000000000000000000000000000004b4e0299791aa0f9f1b27a66dfbb346e10181ff7bc2f1e0dd3ce1533b205ce30c000000000000000000000000000000000000000000000000000000000000000111a306f44c250416ee4e6f836b7e8f4f39d68850b32043fdffedfd02b6cfa9540000000000000000000000000000000000000000000000000000000000000001802346705a406cfd46fb98940d21d0a55708d1d2a2bacfc1e51563885e440fe40000000000000000000000000000000000000000000000000000000000000001d747b73d89ce8e9562906c6ceaaef75e663cf4bb9417e2020dcc7e61fb70649b0000000000000000000000000000000000000000000000000000000000000001dd249cc6e1d54c058fa10b0a8eb3efa2abe97e7337383a9c063ad713d9ba13f00000000000000000000000000000000000000000000000000000000000000003501c8b17b08592ef77746faf27ce73e4bda08f1cd34258cc84a898975ecfe2f800000000000000000000000000000000000000000000000000000000000000019b32991c1904bd3fec1e827fa2cbd2cf95fb60a1933575375ac662d94f531f340000000000000000000000000000000000000000000000000000000000000001fd354efb5ae3a973112f4661c3a0738be9828c7c3b38cca9c4347542417d7956000000000000000000000000000000000000000000000000000000000000000221ebcda1219518a7ef173346adb7085d22d5ceac869e3c2dbebdfa98f33c49380000000000000000000000000000000000000000000000000000000000000001efb54ced7b1332e89eb3f543d10d5cc7ea920b27a5bbde793f94bafedb2df9a0000000000000000000000000000000000000000000000000000000000000000152c0c38ce38aaa444503c1176163a7ddbb34adee20f1718a5a2fc72df56113990000000000000000000000000000000000000000000000000000000000000001000bbd8d1d92156fbe8958c81e7c544053675cc73392204f998dd02f66b31d190000000000000000000000000000000000000000000000000000000000000001060d5ef2d198303e44fd97bc33f038852fc53780d9a8221a556b1c671d358b6a0000000000000000000000000000000000000000000000000000000000000003e567182bc48dcef99fccb7044d5c2451e32fe8461b2f26c00b5674600078415a0000000000000000000000000000000000000000000000000000000000000001d02b2774b947ffd572c255da723d08b2660838e8173d7c7938f1431660bd40cd000000000000000000000000000000000000000000000000000000000000000186735298a63049fd790ee7ea2b312fcbf59889e147153b445061c59cb58449120000000000000000000000000000000000000000000000000021706fde04f800a73475f474aad72020b5b750b134f58cdd13ac9b0f7fc04aa155776a7ffeba3e000000000000000000000000000000000000000000000000008ebf301b8c84765c79d51c54d3539ff139330c3148948e11bc6d228b1b08d6c0be0dc4ed935d5e000000000000000000000000000000000000000000000000044e090e4db9661ad939b110fec3b904a308b2ff6ee56654fc8209f989724e63bcfe853fb2d56ebd00000000000000000000000000000000000000000000000000217112d94550001fefaa527022cff5885aab179784ea4aac29fe488d8f67bff3460e946c213567000000000000000000000000000000000000000000000000004981720467200002acd1eeb97c30be87feeda1372ee36d83b85c3ce931afd2e27b5057f16393120000000000000000000000000000000000000000000000000040543876f2b00996a26f6ed760f665efa6f5d10ba47673e2c525c376f226865884b6b727c1103a00000000000000000000000000000000000000000000000000b9798958eb98c635f474747e31bf6372044cd1a296a239774d49934f0b0a8bf2f8747180ab66c800000000000000000000000000000000000000000000000000b199a3e0526000d29bf2e0f2fb05525980d8d48972280bdee43e8f7211db5a6331539d704e0bc200000000000000000000000000000000000000000000000003aa35ab6a48e87afa349a81830c2f303df48abbb66a29c3c20320c464fc6b4ffb3cec7d91be44ef00000000000000000000000000000000000000000000000000bd3dbbe7c2cc90029b691b3026b8f65f1fcc7ac7d08039e9ed360ec4e6184f278ed85f8776564f0000000000000000000000000000000000000000000000000041d063ac76d00a3a75345e199693e329dc9df746ffa04cdbb5c2a4972ee2589074425573fee5c4000000000000000000000000000000000000000000000000009cacb762984000c09cd23372820611a27a87e215f18b5567f919b703d3a14c8c3bc09c5b9496f700000000000000000000000000000000000000000000000000d5cd14fb0e8476f2da5be34629960152c21b34dc2beb35f2f3f442a45d237c5371c4246d67b53b0000000000000000000000000000000000000000000000000047b5724d257f6c51c7064ba3282a34a19e8e0620eefcc6163b2d098fc1ce2ffcbf8d59c89de98800000000000000000000000000000000000000000000000009e1fa9df2addc61b17e807aa6a031d771c0be552a8855ae48e828a01873d31d122f80e38fb3870b000000000000000000000000000000000000000000000000003604a9a590669678dbd0ec8c7fb535f3a3005b303d04132b4103932f6b2ea8e42fb0c946ae3cff00000000000000000000000000000000000000000000000000242b05af6dc3ee73fe8cc3b3981107f063f10e0f429a6e0440148921a434550692b6e740704b89000000000000000000000000000000000000000000000000004ad2e2810e40b2e9c567c483bf77a57deaf9f0b8596671e446b11f8e101231d0314d51ff5a6695000000000000000000000000000000000000000000000000003983c4b860e177fb08d0b312a0de3f311b2d33d46cd48f25a9029c98cafdcb9c275b4a41eee30f00000000000000000000000000000000000000000000000001805f06c9388c5f9e90532d68eadc90dc2dc0c9bb3dc65b30ec673afa239b3c5f4e7c3245b83ae3000000000000000000000000000000000000000000000000004193740543a00803a706e02c4f6982f728dbbf9f06b3dd4315678f0765bda2034ac001e43714b900000000000000000000000000000000000000000000000001aaff37a904e1777d81a06e3d4f1145f08dcb7e2c5a1b0bc07c049b7ee4b294de50eacceaf20004000000000000000000000000000000000000000000000000005724fedbb2100837e2575fd4309d637bb9f7f8d68d3d6513a6c06ddca1acfa7142115e0f22ea230000000000000000000000000000000000000000000000000011ba60e96de274ded310bf19530f83dd14b4c9104b86d92905a23ad48781eb5555e92e36238a3d00000000000000000000000000000000000000000000000000adb21affb6b025122ce1fd6dafaace345a6e8e8053288852c2804d829fa0b2f53dacc822293a35000000000000000000000000000000000000000000000000010ce6b40483a177744adf0702b12168006ed31d0ae5059bad72c218445d69fb1cd849ffa9553e75000000000000000000000000000000000000000000000000002bd225d092ee3882b345b5454e16c7d778917c214cc21a704ad18effc433ab76b3742f818776180000000000000000000000000000000000000000000000000039fb34ea4e5ef6967d6923ed83e1edf338abc3db62ca170836b6805d034f1c8aa9be3f173759a8000000000000000000000000000000000000000000000000003ecf8ea01a447655553bd9d902714e1a6a68355ffd2a48c0f05bcff2d7275133ee53a68c11fb4100000000000000000000000000000000000000000000000000a2cc89b2f602c34a99726bc821373dca937c2e1e1a04e729e24cd6416ce1a6c7946659a08655a400000000000000000000000000000000000000000000000000b5ec0ab42518c6f4b90caed20cf03f677275ad7f39a49c3e2c4957e4877f6d6a35bb894987a5d60c799eec0c8269e6f66433183bf6c37f7e2234fad4e8619a9372c537e1919cc9ec74508765aee93de110aefc09270ee9fb53f1999f29fc5ebc24dd0ede2c3a7500000000000000000000000000000000000000000000000000000000000000016c621809c6ca711a4d6b302551121c359ff76f7c4d5a320a16f341b56c79669e0000000000000000000000000000000000000000000000000000000000000001d80cff06f9ec1f38bed97afc84f89bdef6d82be0392af92ea32ef38ffbe1182c0000000000000000000000000000000000000000000000000000000000000001e4a233e169bee20c990f4d9c9c7a6bbcb843eecbb9ccc98358c16bedcc8dd66a00000000000000000000000000000000000000000000000000000000000000010f8b24c7e20ebf5e83a1f1de070860220742571115555dc952e9c62b95781b20000000000000000000000000000000000000000000000000000000000000532521a74e15bd64217fff71d34ea4bce501c76025371d9658f1d91c94e18a437ebb0000000000000000000000000000000000c097ce7bc90715b34b9f10000000007d6f2a52f218804936029c26e0e001a02da3bdcfddf634a63fa219e0825e912d0000000000000000000000000000000000000000000000000000000000000002c1d6d9ea700c86529fc733cf35e6cfeb3f385a62ae5ba56c306e301e75b691fe0000000000000000000000000000000000000000000000000000000000005327a3547bcb69c7cdde770097cff6c3057413a48c8908bf09738429448e7335bd4b0000000000000000000000000000000000000000000000000000000000000001dd6fe47e73fdd91b61539ecc3a7d7c694b7a3cc037fec9454e23747d6fe5ffeb0000000000000000000000000000000000c097ce7bc90715b34b9f1000000000c04a7afdfef05f20990cb7f77bba23955f9cbfafb1c843dd21713c72b18ee6b600000000000000000000000000000000000000000000000000000000000053266f3af6c93ffe6f128ac3807149259a66e8c2e2ea135191d30f4e9eb3f89237580000000000000000000000000000000000c097ce7bc90715b34b9f1000000000c3fa4ce9f2ef06c073e4bcb5cad193a4a60ddcfcca818bf7602e556a08167fca0000000000000000000000001bbd33384869b30a323e15868ce46013c82b86fbe19a1805d2343e0bdf763c94738363a08b6226b211a527531a5afc61efdf47920000000000000000000000001181d7be04d80a8ae096641ee1a87f7d557c6aeb3073ca8c7b2d587def01896e8450fffe2ed9425db7d6feb6db29b22fb221bce20000000000000000000000000000000000c097ce7bc90715b34b9f10000000007f641b3caed3e1b14310e3906ded619543a8d5d8730acaa16379dff5e35f72730000000000000000000000000000000000000000000000000000000000000001a95d63f25941c77119899ad7caf9be8bb51766a4680dfe0a01367c3d3fd8ac780000000000000000000000000000000000000000000000000000000000000001d05b36c39d6b6639c18998a2c3520c301a8fd557cdc4c0a6c35a30a1bad40a4a00000000000000000000000000000000000000000000000000000000000000017dcafe000bcfe104b30ff5b7b1e64e1beda4639c4b7aa20cfcb6d8277b026b630000000000000000000000000000000000000000000000000000000000000001239b3f3a3532fd99cd898aecc9f2e864b06a0ad4c1cc5d8a577ab2050d96bbcf0000000000000000000000000000000000c097ce7bc90715b34b9f10000000002832f0b95cde62d42470c34e942dfbf7c0887f821b6c2c266e4c52597a486d0d0000000000000000000000000000000000c097ce7bc90715b34b9f100000000032ad0072320054479e49136cb6b90c3c4c5ccf28146486dbf2b08786224533a20000000000000000000000001181d7be04d80a8ae096641ee1a87f7d557c6aebd1b813f59e366147c60432977ecf25dea77ea7778fd50742abd1ed9f600121cc000000000000000000000000000000000000000000000000000000000000532375aecf25407ed718ee36486846ac75e4783d6b3694e2f46158317122c49d65fd0000000000000000000000000000000000c097ce7bc90715b34b9f10000000000895bf9e8adf5d538599804c19b4b119dd5fbcb901aa3c61ed5c6c315fba10c90000000000000000000000000000000000000000000000000000000000000001bf5c1efc0fa728c1b241e677e4f0113c57e97ab8c989251d107f31ed381c2cfb0000000000000000000000000000000000c097ce7bc90715b34b9f1000000000186ad8718a785ba5ffadc8b82e7b306ef412529a789bedde9a3af932d92959860000000000000000000000001bbd33384869b30a323e15868ce46013c82b86fbc11189fd192e49260d5a6a467e532ee12a352ce84da8d8b431bcbdd9bdbd831b0000000000000000000000000000000000c097ce7bc90715b34b9f100000000092a0c7ab913202406cb3535446b840c0abd5ebb7dac53b1ad7eb9c52a50905510000000000000000000000001bbd33384869b30a323e15868ce46013c82b86fb22d813e55679668e7dae5e0fb78ebab1ad7a0126f7d6708a661ce8a0c15b9f1c0000000000000000000000001181d7be04d80a8ae096641ee1a87f7d557c6aeb0c8d990122d0e605658ba102420eb2e7bca22950d1af75f4ca95e8426b46704c000000000000000000000000000000000000000000000000000000000000000164fe36456c72f3e73fcac704a7eb35c7f6fec0ea2992749a89634e7d54fef6d10000000000000000000000000000000000000000000000000000000000005324f5a5261cc6dbb7e205e22024cdda8dda3e3df110e2073b795620fdf262db607a0000000000000000000000001181d7be04d80a8ae096641ee1a87f7d557c6aeb000122eadb4be54a3873e8173e1793025d6fbc481246f4b19d678634eb40508e0000000000000000000000000000000000000000000000000000000000005328e4a10d5c41a83b4373f6a30eb989e5d1cc6261221d107adc598e2a16813f91470000000000000000000000000000000000c097ce7bc90715b34b9f1000000000b4ac1da6748b6fa2d2eff40f16873f196cf57a034a791dd45235a93fd262c2890000000000000000000000000000000000c097ce7bc90715b34b9f1000000000de18e3d3c16a5d7b49c9379881f4c53f3394812be05471d3a26f992f1548dbb3000000000000000000000000000000000000000000000000000000000000000154a0255bc06d95a5f483d2ed8f8cc979503e3398dafebec5cb937bc4895aaff30000000000000000000000000000000000000000000000000000000000000001c4582d2c56c952de46681cfb4a3d6b3560a3a7ede9a7b62a3ed045d544bed6ef00000000000000000000000034e1f1dc7914e31b40a261bf4a059daffdcee2b0aa6e8a1925227edc9d2dcca29ae0dce28dad8d8a7a18cb88096ceb806f7acbe000000000000000000000000085d50ab0ca08766295aa66e960ffe87454093ef0055648334a815a05a4a403e23ebd966a52d4febda73603f3513cb8b50907af2100000000000000000000000066f1c3daf78feb6611a269dc9361290d1fbd7cb39be7d12f40ae5897052a8c4c64c29fd53756c85e4bc5ea5e1d0d74aa9a471c230000000000000000000000007f68a6610ce77e77d843ef6ef9edd63abf12ae40a0853462274d1dbc0d3987bb50812a1b0fdab4ccef332329a9f43ecfef699c44000000000000000000000000de1f048761425969bd5295e24fd2c462018e167f71be57b5f95615201bbe2c0890c2438a2fe15d8982a25a161b7d1d61fe8cc114000000000000000000000000ee8ab75f6e1d5247ad7abc7b8e8f0fbc6a45d5330d1c6c8f9c71da5e255a2c72823172eaba41e48765c53ed0051f1a3c4146eba5000000000000000000000000ca4039046f0e9a34f86b5376ba76f2d5e5a2709ef3ed0f048f3081fed52ab9f5824bd7b3b0cdd32160c636807c032dcf3368b0fa000000000000000000000000d0886275a97757676f051b29d3b636badcb1acb532f1870ebc983cac8ddcaf500f22e99c16bb224fc84d5fefaf77be5a476c7bad0000000000000000000000000000000000000000000000000000000000000001355c4181a1f385cd951e3e85512f85180eac48e86dd87f63bad6fc3b66a112c40000000000000000000000000000000000c097ce7bc90715b34b9f1000000000601883d52eea5c0f070804d3a3b570ab791cec8fdf60af57ef7689cf80ea4d2e0000000000000000000000000000000000000000000000000000000000000002f739116597fba66958a8ae7320e536f4923a98940096ea44b42b34cb3c274942000000000000000000000000000000000000000000000000000000000000000131480590300340fbda02744a999d41b561f4b1783ca7ecf37533f1db5585bb150000000000000000000000000000000000000000000000000000000000000001cd7662cb630c3bce57f358c7f18521ca7ebbac87d2b277e90922d44580cd07220000000000000000000000000000000000000000000000000000000000000001258f0071c2b94862666a92b9ade2035e2b81bc5d4628ed15ee350c4494b393760000000000000000000000000000000000000000000000000000000000005329d772f6921d2e16c1b1d06fca2880bfa70f0dd5af8fc0ffce3e6194328a4a67a90000000000000000000000000000000000c097ce7bc90715b34b9f1000000000519f80024a1b0fa173429d48ad2956521b22b80eba0145cad116dc163247dc90000000000000000000000000000000000000000000000000000000000000000121ee69fa01f5edb77053d977f2e35e653a35263f869b042636e0ed5a7761009000000000000000000000000000000000000000000000000000000000000000013f0ba6e7fc6bf2b4376bb6e59679a6e284082bd149bbcddca5402e9ea2db148f0000000000000000000000000000000000000000000000000000000000000001c932f8ee79a3d0d6c47143ac27233e3a4cbcc75e77d10b0fb71b1d58b9fef8260000000000000000000000000000000000000000000000000000000000000001a24fb3177314e8d21aed8f00da95ec8d93285b5782905fd3695148c10927cf130000000000000000000000000000000000c097ce7bc90715b34b9f1000000000190860ece26801259777b27e911a8c6cf84b71442a89bafac0c87e9695f7f0bd0000000000000000000000000000000000000000000000000000000000000001d758e9de19dd3aae54bdb580ea083a47c00fb7489dc2d0aa7c57dafb9d29e1870000000000000000000000000000000000000000000000000000000000000001a936a7af23bda6667f6d1701ebf8db01f8fd92bc17d2a141f4bc047ef1fe349f0000000000000000000000000000000000c097ce7bc90715b34b9f1000000000e53af2a22c23acf8ffdd7f89671ed7bca96a85f3ac09853b1e24abd331f5a52d0000000000000000000000001bbd33384869b30a323e15868ce46013c82b86fb7f88a4b07198da13302eca3727d25f2443e06d2c74f3f4564c5a9954da31b3870000000000000000000000000000000000c097ce7bc90715b34b9f100000000038c91f2f8ee91af9030d79078e67193af7776c541561f3a5c04a8fd672c8f56d0000000000000000000000000000000000000000000000000000000000000001c868a7872fb51d1bc8d3722633ce972ad77eae13992ffe658499c68bbb98acab0000000000000000000000001bbd33384869b30a323e15868ce46013c82b86fbfd3eedcf3857ce47d69930858115ebafb1597fed0fdb4eedda1941f83105f9b20000000000000000000000001181d7be04d80a8ae096641ee1a87f7d557c6aeb8a77e7189c7823b8409c80844c8c2ec67b279cd000ff7fcfc78afa87f8fa6ecb0000000000000000000000000000000000c097ce7bc90715b34b9f10000000001897ddffb22f42ef8d458a588604ebaf3fce2f0cf5bff631daf30dcb4ec6600400000000000000000000000000000000000000000000000000000000000053228d71897e54088e8d69d9be15f84180c23674caf2e94ba817fe17632116360d010000000000000000000000004f790f2289c46e45ed197bce7763c84591e1f223885c1867c12fb315aa3a20b25b33884ad89f1a61e298feac4091c38727585e9d0000000000000000000000000000000000000000000000000000000069d9d87bf7b47579072c0e5d88d41b03a212acba091cf55a2a3ed13817b1aeb30798be2a0000000000000000000000000000000000000000000000000000000000000001c78a47a92380c8dbf37310759f082b97ff66ab05c324fffae22e36aec594b7460000000000000000000000000000000000000000000000000000000064363dfb4b0ba283d3637db427313ef64fcb7d8e7048a4094034ec5615a79009f9dda2f100000000000000000000000000000000000000000000000000000000000136bb155fdded8547f39194ea063fc8162e38dc7681ef9bb608031c7d57cc17167d080000000000000000000000000000000000000000000000000000000064363dfb1fa6925db7ad574f041ba2b1120737ae5523f4e0c985de9a5286ca539acf4199746167732e7a6b0000000000000000000000000000000000000000000000000ec28b78b9a6cc048b9e448d7252ceb0bf19733bfae675783e1c94a8ca48cc5340000000000000000000000000000000000000000000000000000000006617717b090256300cb97bd4459eb2b17446b9cd9e2ddd18b40136b0abee0632466a5fc4000000000000000000000000000000000000000000000000000000006617717b4dc07bbc50d9368cbe3a65ed14bf69dc9c42e2664e553df808a8970b9910c7ed000000000000000000000000000000000000000000000000000000006617717b43b93274c939f90a2ca713911c929042393d717d1bebcb752999ae734b810a710000000000000000000000000000000000000000000000000000000069d9d87b75408f7853d73646871fe0770433167946ec4246cb30c474d1fb19def29dffb300000000000000000000000000000000000000000000000000000000000136ba5dce6e9652f05bda38f6fa178fa00ea88a6ead8e7a26462c1f7f2fb38fc0a4c200000000000000000000000029ab060bd02cd22e4042095679cfc5118098d46c0799ddd86d56ff7a585393097d4a81eca304ce6da5aa4e54b1f86224729ece300000000000000000000000000000000000000000000000000000000000000001ba24ead0f5db6db5ea050b324c8ad172e063ba117eec1ed8a721d8fce19ba85e00000000000000000000000000000000000000000000000000000000000136b9c2289ebea213d7254c6ef728943c6c612bb2cb418c78b160f1411ceb3fe374470000000000000000000000000000000000000000000000000000000000000001e8828539bcdd93d3b84912dfbc88158f0984827860ce590b71e5dfc76aa9dfd10000000000000000000000000000000000000000000000000000000064363dfb916e3e21ed153df4d663f64eb114213b5be8073d740ab7538c7f1f38b5ecd83a000000000000000000000000c93d85b91dbe985400f41a81755ee842132848f711319507b731730a059906232ac8e3eba32e0b0d0329c8db128f63ee28a9fe070000000000000000000000000000000000000000000000000000000000000001e412c7ecfca70aa5de8d51b67e16ce0b6a7ab01f340d7cdde589e4df73034ccca7c7eb2f3f1b9f43cf927bfab2e8246db35e5765c6c8ac050224d53a7ab796af1f2e0fbc0ff4b698c8c86960936f324893b6ef6d786bd7bb80044cfff10cd363d3379c30e4c7b8a24443e23afa9272bac62d5dfcdac5aeebdea3ef70b7d7b9c4417d1ea2925a68dc3e7519b099bff6fbfcfbea2c9f6bc7501271f2ba69e69d96d82ca3b18d89bb6022e1547d6e4bfd9489b2a9c994579bdaac61c72c30c4a6e04ae320275846ba7fd1a649dc68e1e9a4980e8806c2ab6c100bd08535f60adeefca94efed4891bbba446ba73a989209b8cfcc282dbfd42e9bb380b8cca056fbfdb4a893f44ba48cd2b09fb0d9d1b82f11c541d1c8b2f3f2e652ef64106648b650fb42070b36bf61425b6319a9ef8464060bf5c749de4d5c420c9408d4267180891768027fca9ed429742dffc5700584bf3ba189b49f226d87208a2d66e16841f747ea769a77acd9536510b935e5f4214f4a3750b272bcc3f0c5b609a2c48ba2fcef54787fd3962f4d55b0ca87813a163ff8bab696ba2a58fb4c1c845bf155118a6a3030303000000000000000000000000000000000000000000000000000000a42bf46ca4942ad411d5efd6053fc72758e806e11bd4f4c5057eed5e0461d6be869747379696e67746f6e672e7a6b00000000000000000000000000000000001c99954d9dd84c9a8304a73a05b645bef88010ab5d10a5b569f1c120422c0ca5d5000000000000000000000000000000000000000000000000000000006617717b4f7a864a85e42cbf20158fc1b4e85cfc43a44a09d3e5a7126084e68536c37b0a0000000000000000000000000000000000000000000000000000000064363dfb3cc34c2a528abb8ac6d7b5e239fd36d1519068d9c6d868fec805b5077707715b000000000000000000000000491237018f89a5e7ddd694cf913f6c520268df68e2335a2b8b2d5c40481717c1a314c65f375c160b785fbedb8ef3a16899102b986c6f73746769726c2e7a6b00000000000000000000000000000000000000001687cda33238e453efa1e565c1c1f06c61677aee60d0b31f755b84bd1f0cd2052d0000000000000000000000000000000000000000000000000000000064363dfb00ba6a13414748b1ef36b6b171b5f19cbf88fe7b300e5af3aef2c4fdcfe4ad816c6f73746769726c0000000000000000000000000000000000000000000000107f67f2c7782ebcd3b3ff8ebf366d6dd2dc5ab7c88f76eb778b48ed52f4df78070000000000000000000000000000000000000000000000000000000000000001d5c0cb57a330b31225c11b0f53707564e8f1a14409a00772b0b148b9bc9f389a00000000000000000000000000000000000000000000000000000000000136b86daaa96f059f166dc407aad6278b5af15efe4fe10a3cd31a98974ffb5f30095273686d696e742e7a6b0000000000000000000000000000000000000000000012ef729f80464970381eb9145f866dfc283ff8b556e78697d92a834fc2018a124d73686d696e74000000000000000000000000000000000000000000000000000cea64b6adaa40952850ec2c35667d9f747617a546205498b4ae0fa6dcf92c388e0000000000000000000000000000000000000000000000000000000064363dfbe8706c847a174d16cfdc986ee037fb7f63bd5e00dbefcdcdf426cf5abf4dbd8d6a303030302e7a6b0000000000000000000000000000000000000000000000100d7235a25bcb0486ffa3af6c17ec67031c81f5cf2a91220e9a5510173acb4ab00000000000000000000000006924da629a9fd4c6f0e0c903e3254cb4e79bde7573cdc6d962cd4f23e714a51747ab1f643f4af7304b9b3ad7858dc974d9b4b0e000000000000000000000000000000000000000000000000000000000000136b70f594d11e78d366f73c65f16e85addc51f08a7cce0dc4311938b71b9d4282fb87461677300000000000000000000000000000000000000000000000000000008af297cbf23f7c4ef4cddc43d9c26270b9f7491178802f720dcd2800e3cdd9c3469747379696e67746f6e67000000000000000000000000000000000000000016b8a1cd86dcfe7e9acd8c0abeb6a210b0af6675adf5430ee4a7d554fcfc341abb000000000000000000000000e1240ffc4816af172f8fec0e9b705088e34964dc8fb262251decff49f605258f6f35161dc7ce936e6e6042ef9305a204ba971c077965736368726973746f6679657300000000000000000000000000000000001cd428a8cc57a462e1d8f27713893aed6f2be39178338fa3440d9ee06120b40d787965736368726973746f667965732e7a6b000000000000000000000000000022d7e70cf11ee325dca919a6a31b651049f214804fbae4cbdc4a817dd69baa747100000000000000000000000000000000000000000000000000000000000136bc9d4ed2097103f70dcc6fc6ecf4f29056f511985f365c0d264b036799aabb8229000000000000000000000000000000000000000000000008a0d48bb155d2517eb58c151666030ba908c1e368c855bfcf7d3ebf76171c03950e64f86b70d7d3d1000000000000000000000000000000000000000000000000000000005b0cd4ba3cf750cb637a033dedf97562e377a4d97385cbb531ea2ca8ba1578ff79834e640000000000000000000000000000000000000000000000000000000950269753c346491b306a599e06c9b42537432b230aa21106b707ad0c61dd13ec6c8d16c90000000000000000000000000000000000000000000000000000001d1a7898e5bb9c76e26838b78f745025b92a2a36a9584fa5e376507a4120b24750b6cde1760000000000000000000000000000000000000000000000000de0eef7f7e47c9bd02873f330e5cd67197d88043fb5255d082c85c2c1604b6b1981f11d407e86c50000000000000000000000000000000000000000000000000000000cf36b232a3388e98088472b674a08a86ab4aeae60d4d0d6d7451a247d80572fd11f7a45950000000000000000000000000000000000000000000000000000000001406f405ff1d3d1ab630cb88dbc07f4253dad9497a74275866ad99ec1976aa3cc0d03eb0000000000000000000000000000000000000000000000000de0eef7f7e47c9b336dc688158fd77d159351d9b51e1777d68331bf46092e4f5788e45d37f90d020000000000000000000000000000000000000000000000000000000002b0fd7bb0de2b55a8dea9e6e71ea9016a6d90bdec82a33319f76c88486fb58a4a89e09e000000000000000000000000000000000000000000000000000000000026259f6dd2e16d9b0cd56071419ae152d97435e5642eaee5f49aad2dfbc4d87800688e00000000000000000000000000000000000000000000000000000000017d783fdb57d2cfcb157fb367ec66e4c8324067317997d9a198f0bd4962233da333dc5300000000000000000000000000000000000000000000000000000000046a0cfabb83cc7091c1b9a042c99e726d285387219e21679236362f46444bfae0cd0b3a000000000000000000000000000000000000000000000000000000000a1d684ccb6534715527fdce0a23dbe2ee275a140be8097fa11e84459f6b3a02c1f1cf0f00000000000000000000000000000000000000000000000000000000000a957b1ebea139b1dcfde4ff4e6dade88ef3672dc0dd6f21853d7b5b4fac86e78424f000000000000000000000000000000000000000000000000000000000003e5b670b5006588117c35063b903588558c5bc040c9fd0003898416bedc3783f41a18200000000000000000000000000000000000000000000000000000000017d783fd65fd101d4bd179939f3decba3b9befc15103d766bd579f2d7552553a132b27100000000000000000000000000000000000000000000000000000000013959c72f6cbb181ddb6d13bd8a579bc42e4e82b4e65a988f6698c6aafe7e04b2af7d95000000000000000000000000000000000000000000000000000000000053b2c2f5cdd6305f23335ad6a7c3e2881139c02423c7ef14317c86189ebde8c90d899600000000000000000000000000000000000000000000000000000000000000011080bb9e1ba16709eb3903c52245e42b38bb67c296c2dcb9cf4d235150899d3f00000000000000000000000000000000000000000000000027b967efd738733800e22b650554b0cfd471177516b0b6d4a6684a639f69654f5333bb775d037eb60000000000000000000000003637b5a0a7bfe3045e0d96533d6dbedbc04ca93231720c657e95008736d6e155350b1bb22caec9e6572b4424f7cb3805dbd36ad400000000000000000000000000000000000000000000000000000000000000017f4d2bbbe9dc9c1519b105ad5cf3d226b7c8aa26b7122944f45ccc3ce4dbcbcf00000000000000000000000000000000000000000000000000000000000000012d10026f0ef46edb66759cb64fde8b145cdfcfe0f1be0c094e3e0eb12418af8c00000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05cbe6f6a400f5d4927f923ba57f56b79135dbc76afa8a2919429a2615ecaf2b0d500000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c06b0be10f5614c5ce73af5efb84ab4b2bb4cd6e339198a97def095cf211273b600000000000000000000000000000000000000000000000000000000000000018dd7f6399a34b75fdb4bdedb5eaaa13ecc71422e2942b8b58a154d1670595e9b00000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c8d8fbd660b1f9bbef4e5c37d2f8c146fc79e1d33a340786babc75df5af222b150000000000000000000000000000000000000000000000000000000000000001070842ffbb3b588c880aa5498b712add6ffb379e749f45544e1089cd89e3c33e00000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05cb25f80a852cd29e9638707bb3c3644d41a19fcb988c14c03bafedf59b67bebd000000000000000000000000000000000000000000000000000000000000000017040a4c342f27e4438da71afc92c45cf119b79f8e66be57041c90a5bfea60ed700000000000000000000000000000000000000000000000000000000000000013ca743c2b0ff637e016bf03f48fe69107b9f4f3ce061f3beb874b338bf968b34000000000000000000000000000000000000000000000000000000000000000184f999f18c5fc86ad5127ed162dc6e44ed0c805c2e5fb61f3f2e88a41e48af1f00000000000000000000000000000000000000000000000000000000000000019a9e639e0f11dfe7cba571283d6ffa33448471b41e765f484c0c61339f0279dd00000000000000000000000000000000000000000000000000000000000000017d79b34588a5f2b46a9a044bcf17548b73ae483cf7390ce8a0b5c05292b9bf7a00000000000000000000000000000000000000000000000000000000000000018d12a7c285824d5e9c387937842b8844b94f4cd431af43259fe188385f9dc0040000000000000000000000000000000000000000000000000000000000000001b233ba95d46f75cac29ea63fa9db25ff39f770a6d493ee10352f5cd0237c1843000000000000000000000000000000000000000000000000000000000000000100cd9b9f33ad3f67f9e8484907d8ad60deda0b85ce48778ef7f910a8ce42bf7100000000000000000000000000000000000000000000000000000000000000019b6fd8a07ba9acdd0bf5715c1158c7a5f8884fe681edbc7b140ad41f665693fd00000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05cfafc88cfd45e24ea176dde65c19a1d5e417b2cf7b3d3340d560e39f27f1c019600000000000000000000000069b9a2eface47419d496d9a550a162185999ace5492b0d203b0786612b9560ca2781f60d8f38d83cd9b9d67bf11a3311dd04f3fe00000000000000000000000000000000000000000000000000000000000000016507d45886c3612c2f7c6ce8522a3a32175d82df803dc207fc38766c6b51de2100000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c70096f976f8bd50ac2b995ca1f43aaf4e24a97639a5b1af1fbc8300334a7cc7100000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c4cb7eeec2940d0d28503add7d427aa40078ac2fca00b6e1e790787539fda3a400000000000000000000000000000000000000000000000000000000000000001449ece3c3c13f80ae4ba5e02be7615a9383f840f5b8ba6be82177e39174fadff0000000000000000000000000000000000000000000000000000000000000001bff8d7879923b12e94084d53d755dd177e051e0ece0f430bde3dd0564ffecade0000000000000000000000000000000000000000000000000000000000000001e5ed14855c6e3f0bcfdd2519135e0cc9fa25a94cd93d02e021602969ab5093b000000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c3dc0901c79b419f72c4e302e4e0c49e8d45e1edea4981a068711744133f3f38000000000000000000000000000000000000000000000000000000000000000014a9b577b99a8bbd3e5d01edd52e6dae62d38e707cdeb812a5b45a748153423d5000000000000000000000000000000000000000000000000000000000000000128851093ee8c0ff564aa1df9845bef45afc818194dd01927eaada0c498616d69000000000000000000000000000000000000000000000000000000000000000132a1ac55686ea3afb0f7855e1e4c445f618d97178defbf354ee2feb28bccbb3e0000000000000000000000000000000000000000000000000000000000000001432cac2f5e7b5e0f34494c1d075f520d06f20e720d54c2fbf4ad50436a027f180000000000000000000000000000000000000000000000000000000000000001bd7df1df2177af71bc906fe09362eb2435410230f1f1ccc74c2593a251617ce500000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c96f308c51169961294223a9847026d5aab947578021457838e1a1dc98bbe4c7300000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05cca520a736c615efda99ac4f297542760c45dae3260fa41bda9cd3be9d033acc400000000000000000000000000000000000000000000000000000000000000010a2e315343568c54d8310a3ab86ba8240c2cb23e2d13bd22e79e29c31f131b9f00000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05ce9d31e439b3f9fd501afdfa1aa9d184cf810f214f5fbbe22630531598277010b000000000000000000000000d0dfdbc1eb17555480b4f5168b3cb31303d37e01183cd7ab63c4c86f9f08cee2a6644a7476267a85e8904f8d2cf65de2a00e92b100000000000000000000000000000000000000000000000000000000000000019b71e8d29ae1c6c5b3aceb05fea362ca9a0032aaf65072506d6f0d7801987b0700000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c115bbeaef2fb9bada249ab20cbc8a242d548165fa0ff265a765a85306baf31c500000000000000000000000000000000000000000000000000000000000000011fb243e2559396c24473e7bbd4e13b71d3adbe872cb2b07946d5259fbd5b0744000000000000000000000000000000000000000000000000000000000000000116663a83addd52602c78a2b350afaa8b206a080fc782ace28bbb10f1f35233380000000000000000000000000000000000000000000000000000000000000001111717afbc66ebad9c17adc192d484a20a67581859695fff119e6aefae1892f4000000000000000000000000a929cf2f30ce13e9ee0c498719d53add892be1b3c8b30c3affefe6af167f681ab039189bb97662440fa6e387689a5516a9aa58f200000000000000000000000000000000000000000000000000000000000000012fbfacef1042ff172442c7433cd799f84abfad65647dd0964a21e5677c72a93a0000000000000000000000000000000000000000000000000000000000000001a64b6e191381dd2bd86d8c02b0a3b2dbf48c849991c00d1b1c4a18feee7974050000000000000000000000000000000000000000000000000000000000000001bbae4730b9312a44ab28f0024866154b1a7c61715096e1ba173382daeff28d6d0000000000000000000000000000000000000000000000000000000000000001bc68b3f28ae5f7c3bf4677b63a0373da8aaa4a0c650245ea56dc609352ed02cb00000000000000000000000080115c708e12edd42e504c1cd52aea96c547c05c64faece2bff31bfe42f12cfb5ed3e958d8ee35875c5a5d5939cc36b7916e84dd00000000000000000000000000000000000000000000000000000000035504e16306007254348ece09b745fffef010f00639c02ca5eb9b4284427b4c897d230e000000000000000000000000000000000000000000000000000000020ee3e5436cdd57696054672795aa6cc505844b8268801b3846aaa8d847f756dae6f2b0dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d8dece7e5182a55eb430b97cf5422d9dcbabd99e2613d5323d6739f5ac6932b000000000000000000000000000000000000000000000000000000000284ba72a90a198c8ebc3933237cbd63b295cdf66ae488ffdf64e3ff245e49e6ab43bfc5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdb3283fbc9c56f2e3c11e8804586e0df655caf519a8223bd4030a4daa9e1337d0000000000000000000000000000000000000000000000000000000006a60e163207dfc1e8d0c4963c2b7c7c5bc7f6373a922404f8f50eeec8f7de13261e736dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1da871809d2fa74a9d214541b963c751929b57dcc92f9ad3ead774cbf2d5b13000000000000000000000000000000000000000000000000000000183962ee807d688df259319002bf0a69cf84a38f5a9a1952d9e5ed495535008b39190b7a5f00000000000000000000000000000000000000000000000000000000009bc1a9dd453aac4697b8706c5060edc8bd0d1d0e5f675cc0923a12a9ea9e3a7a01a2880000000000000000000000000000000000000000000000000000000000b71b004880fb40bf49bbf83b60cac573e6637b1ba756d97fa2ee04e5387493fb07b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff54c9d6e990ad1008d80dfaae1d1c856bcb69f179c5cb5f088f0765694ae1bcca0000000000000000000000000000000000000000000000000000000000000012f96e7744bd6fe6ce572de9ad582918ed3911204099ae26879bbd79bb43a8e67100000000000000000000000000000000000000000000000000000000000443db454b9b7a26427c4185c1f0827da16fb538e51d523ae6d04199b7796ea115a4ce00000000000000000000000000000000000000000000000000000000000000581aa5622fab5a3e709f7e98a26e41f9e5da5ca0afaecb495717dbdf596b61fa16fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbe313355d07e97c9fda15836821e96d035d44449381d73a06710a7c436c49060000000000000000000000000000000000000000000000000000000016381c3023386afc4c43b1d726330cf3c35d494f9547459cc9b371a09ef3b5d1ceabcf800000000000000000000000000000000000000000000000000000000000000025bcfe44bddab639d880b15e8d430dd8a2da39adbc10d4f2d05140f4e9d45eeabfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82d748678e71427173a35a26e9a70cc1b14d08b03578e8d875284e846a005cdf0000000000000000000000000000000000000000000000000000000000000004542e5ca8b4243a8c184b75a34dd8c4ebb3460c41afb8dc5b10d658139fe28e380000000000000000000000000000000000000000000000000000000001ab6908f37c751b39cd0155e40d0d6aad76f4be2ff99040aeeacff914b06057e8fce86200000000000000000000000000000000000000000000000000000000086486feba2db460b23097cab83b67f4f10fda4258f7330aa10af44bb34810d032840b380000000000000000000000000000000000000000204fce5e3e25026110000000bd04f03ee6c35fbd639c07e07a4116a67d3d13dbd6899819dc7387e0c24a581700000000000000000000000000000000000000000000000000000000000dfc4b67eb334d4b97e2457787035f007ff4459a47abb92a3e769c346f2dce86bed50f00000000000000000000000000000000000000000000000000000000002dc6c098f13f115bd0f0ec805999f7117db96a2992cc48a6352f2dfdfcec3495874e7c00000000000000000000000000000000000000000000000000000000001c4f51e4f6e80987d9809a3f0e88f78358f7c548baa94826b4f6897e42b15ad997df57000000000000000000000000000000000000000000000000000000000336f22fb7e98fada23bc141f459eb3b32f8115178141fac1b04ce555e85ba0fe0efa181000000000000000000000000000000000000000000000000000000001ded65bb13eded76a409afc6e9c197ea3e3714bd81fb917bfe9fb8c443720f8a79b6d61d00000000000000000000000000000000000000000000000000000000061a5228564cb166b1a8b3097730929560761f077f70921161db5d0f1c70cebaa96d49fc000000000000000000000000000000000000000000000000000000000165b323b738c905125decd48083c07704b8924eb44d958839dfc2527476d0b56504b95a00000000000000000000000000000000000000000000000000000000003d10144ba3e9c5e152b80efe5d40641419ff4eb2ea9092b45aa6ed5d691a4c3223b2b2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff07fb8aba2402591917486138102ef47ba79233b3200b8c3cfb0a7b528599acae0000000000000000000000000000000000000000000000000000000000989680befd7795b606cebcf6c0b6bce64c6593e1e47d450dfe93bf7d3effa6f42c9fc7000000000000000000000000000000000000000000000000000000000234e081e7f3132e569ad81e88b5818fd06552747ed81a1287ed86b35d79f2f559987e6a00000000000000000000000000000000000000000000000000000000017d99aa97caa6ccf2340a919921e962edb2a6d9c716a4068e8d80dd7bef78ce960333d2000000000000000000000000000000000000000000000000000000002c1b810005aad69ac436239e900702ca2ad47b2277cf027ebb5650d68baa59d0e3f42538000000000000000000000000000000000000000000000000000000000024a0f52892544af5a50730f8f909f5b4ce01376433d4a4e6817e25b8e8e2f0bd21af7400000000000000000000000000000000000000000000000000000000040d9900026458645a448f61b61036c5136cedcfb55e0d81d295c7602a59d7f9d10d83f800000000000000000000000000000000000000000000000000000000011b30ef199aa67233dfdadf5e4ceb8c1156527ade36b63cbeac6da34a13a6e6310c3adb0000000000000000000000000000000000000000000000000000000006314ee0eb961797cb90071e7191d6b4466b5e2b606e1104fda6cdd2f9cccfc01aa71ac3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff68d248a23fe1400fbcd2a477b106d0b82646049faf48b48970be24ec02725c7d000000000000000000000000000000000000000000000000000000001dcbde60fb19997b52f731d5f90ccb9d682d0b7ebd59c336598d394b11a349820e99e5b10000000000000000000000000000000000000000000000000000000005f5e1009c116e232db078e5b7226f3fd40787462bfe06dda11d873ec63761bfa0b4f58200000000000000000000000000000000000000000000000000000000000eb810ab77a453d345bf9e41a8bfbea3b9661f1980b6737224eb2f3dbc70e79b15404300000000000000000000000000000000000000000000000000000000011ae2210147b9ab7773f865e390ea675d7d05a98cae7b9cf1d6cae650c324df85337bb900000000000000000000000000000000000000000000000000000000002391bbd428c841c5c8ba399dc36a509ec2175ea6e17d4df3fff18cde8d9b5b110b926d00000000000000000000000000000000000000000000000000000000038d7eb20541434e4ee56219e2299e72637983e033efb2e6f5b1ff7cee7497bb1cc30d99000000000000000000000000000000000000000000000000000000000e60633d33926fa187a645acc07cc8eedb970630389c8a9adabc56fe0331c507281f3decffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2c6da1d8719f79378a3a37a03ede9b81aced3ede24dcb5147fba7015bbe351f50000000000000000000000000000000000000000000000000000000000706dea0c1fd3a973a0f6b080ede1fd30e52be6ef3c032de26656f573d05f52f188de73ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd22f0f7e0493705ce3560a397ef02ae22fa8a31a68f16b3aeef11271aae95d870000000000000000000000000000000000000000000000000000000000389a34d1f375de24007d700c831525bcd9cf36b4ab7f2fe83f0a6c9b4e713adb62fd7800000000000000000000000000000000000000000000000000000000048e173938eafe27c0926cdb1eb4bd00b565a45cd8ef8994b5ba1ef296fb99fc47d32126000000000000000000000000000000000000000000000000000000002133bf489d3a6aed6fcf373bb30e89515898032c0206a22df27a9af6c4246b0dfe9b2b60000000000000000000000000000000000000000000000000000000003a52ee845fe470195bc23095cdfe237b35f24e0436718ca6d320844811a55bfbb3befb6f00000000000000000000000000000000000000000000000005f9f4fa86b8b15a1387ff6556991f162dcd99d4752bbeded7e5f306b5abeec1d83e291fd387bc8700000000000000000000000000000000000000000000000000290334f34980000a2ba3647f6c3061cf88fe057bee5ae089004645f5c660802e47c1c5f4c0bf150000000000000000000000000000000000000000000000080f62f31ae992deff340f038bed5bf7bd990976869f0c5d7be3d3de17eb2328c922391314b1cd78a000000000000000000000000090a8b2e9afef2d2f0b2c5b60de6225dd41d70e32fd86d5a104ca901259ac4ba6f8542baa4798d1ad0cf405f356ae9a58038cd3a9000000000000000000000000000000000000000000000000000000000001dab4e281c7fbddba7c76a0d1227f92faaf35f329626e1d4689742e792bc9bbc3a59a000000000000000000000000000000000000000000000000000000000001dab47a1d8982db7449b61fd05a4da88c1988c63918fdb0ecde16b0cc9b3d940b2e4b000000000000000000000000000000000000000000000000000000000001daaf2f170f5acf9a9a20fbff27a10fadb19ac3f69bb4cbf9bef29d3301d2681d0c21000000000000000000000000000000000000000000000000000000000000006b418c13fcb615d4e98e77ec583e6fab70cb4c289e8a63ddf77409e904f21b39ef697066733a2f2f516d51726a4266374a42594d6477316a68366e5a4e706e315184f2204c782eddf23758beef8ee3fc6968148046d2bdc79022f3a443e816ef0e3631473943734d4869437453657779323273795848000000000000000000000001f0aa36249b6f86e438743643ff6c7749442a5f302b75ba4ba64c95db614c1a000000000000000000000000cf55389a4d1050f6a4cd04d58e93a12bfa24c280b3e75fdf7a0633602dc3ff20e64021622b0ec76e5e25bb4a24a75a51bbd72f3d000000000000000000000000000000000000000000000000000000000000000156a4e6f05f9da48ffabf7adb812fc139fee6c0e38186e347c94c982a83ecb4bd000000000000000000000000615b274fd1a404fe5f6c59f0b8310cc7f889a9cf6322221a731487570e52c59c6356b30ca6793138fb5057a78687ccc28343db550000000000000000000000000000000000000000000000000000000000000001e47ed93d4ee2a4413be008500eaa7c18d080ced0f1cbbe46f295f70a86a0bf4f000000000000000000000000000000000000000000000000000000000001dab2274106fb5a1dd25a012daee1a1ccd4ff6db087a4234e214a09e06f8a87d833a9000000000000000000000000000000000000000000000000000000000000000132219137078879d95ff985e03d465872cca065501f2811f1e6575b0fee0d5bd0000000000000000000000000000000000000000000000000000000000000006b5832730fe590ba3eb8139c479b82dc3f474f84bc10f6e1e000d30992358b5fc0000000000000000000000000000000000000000000000000000000000001dab12241d81014290ab4adc60f6df90ee000cf326aea602363870f7c66ad770346c5697066733a2f2f516d517a4c50597a73546239536a4a6d77447333444671487083dcc535156d005c386ce2f86005ee38ff25012a40c106d7a64d7ec851468d9f59624c784e3539636f63375437757931397233313900000000000000000000006bb21e8ed55fbd7460d9fed88404f77a54b62c47f1b15cc98b4301841acec7500000000000000000000000000000000000000000000000000000000000000001447708768b8f4bba7fc8beb2ec34581eb9045f8a99e953af24437160d89a5a54697066733a2f2f516d664564576175514b476f5a32386e6351504b63766b415121af26c1a16d25a2d304ab22ce3324e0f28168345053a0cf1cd94bea5cfc96e64271467a5a455a706f635363483943644e646845640000000000000000000000cb2e42f1580a4e5ef5819f18029c9742566b637a56c4083135fa11f5cfe3fce9000000000000000000000000000000000000000000000000000000000000006b5b666c0a2b32a203383c486c5eaa87297701e2ad393a461d5ec5d04e7972723900000000000000000000000000000000000000000000000000000000000000019f292e0e63bcd3a35b64595743e53b5b48a394eff1162eae0c1eb512460472b7697066733a2f2f516d5869396a576a6d677652524e4c614757747845354d3643d69e37be41e9344994575065af5376d964e49c7444375a7dbbd511e9f55e513869724754397948766e57666f7835363237775748360000000000000000000000f286d67dcc76d3aa235bcbc4cd423be38d05b2a08261b5b33e89d628193e2502000000000000000000000000000000000000000000000000000000000000006bbfca2069b2536d97a0f74cb941dba11f1ff937227bcb4740de8aef45b9144658000000000000000000000000000000000000000000000000000000000001dab34f421e6f3cf73ab338ffc938e965a4f4f0f0569fcb3e31c7cc4fec18764d7844000000000000000000000000000000000000000000000000000000000001daaf5826d6f848519571158dec0b34273d6c89d478cc16cb8158465069fd6a9d5cbd000000000000000000000000000000000000000000000000000000000001daad6fe9a71ee8e6a9c9bbadbb0bf46390660e7e4b9936268e65551dba249a4b63e600000000000000000000000008c03472c4a8fa35d79f43766a7c0ea38269fcea1d41d72b50504c018693e07bb235012f10d0208e392f050e6601c48ce7e34121000000000000000000000000615b274fd1a404fe5f6c59f0b8310cc7f889a9cf217df1cf42d1acb52803199663204d54943bf64ea21126d97fee3c276768727b697066733a2f2f516d64766e433752766d71596f5944475a5a31746572767262a74b5061fd800f1f448b66fb0b3069df4b886f0b70238d78357674f428708a1951396934354e5133644e766576397164737a786b720000000000000000000000154ebdc05d67a719e5c948ea28f75a4ba5890c2fbcd44ead9d13990780f3bf9b000000000000000000000000486e3cd0b5711b0c5120d774e3f269e8c6aab5e7ff95914b031210921491028388c1ea0c3bf85a6bd60fb1209cc35f35384b8ad0697066733a2f2f516d546a4532724573666a31656d46593762575a346242636ed3cb27b641da24b2240e89588ce7e16b3417c0bd2dbfda41dc0b1c80eaa68f9e62514b47376d6139787865655357316d7965416f4c00000000000000000000007cc0aa209011b08ea3bfd39d454a508bf1c16ee5e46c9acf230201bd9b1c942a000000000000000000000000000000000000000000000000000000000001dab23f650c2dff8ca48dbed79d4948743fb185a8202b1fd09b66fc94049c6ef643cb000000000000000000000000000000000000000000000000000000000000006b9912032952100ff1ef8f17f9bf8d113787774dc71bf335d3a7e107b5c422e14d000000000000000000000000000000000000000000000000000000000001dab195b1f2a3da752f8daa2129c546c7b6b2413cb79f52542d2b39be124bafb1a730000000000000000000000000000000000000000000000000000000000001dab354a46a435ff514bb414c3126a417648a793a5f6696895e0c69820302e40f557100000000000000000000000000000000000000000000000000000000000000019d133f372d432c8d1f0ca801c379e63a95162f215500da14c7e2477a3b74eabe0000000000000000000000000000000000000000000000000000000000000001705f4484f0725f2555c00892226b2aeca30a7a603c746177048ec6ab51909896000000000000000000000000ab56da5518e70688a1fe993c11e56497a8a207d2b30e53c914ebf102c98dacba176c4d57735d17de61979523b87f59deca63840d000000000000000000000000000000000000000000000000000000000000006b7d82f83e2738656d176e26c31ed37875929477dc6bc094c6667caf5607ecee48000000000000000000000000000000000000000000000000000000000000006be1f91535d4b33f4b27e55c14d04407922421b9da2e17bc575cdd7ba671c9f30f000000000000000000000000000000000000000000000000000000000001dab0db3776011bed59227e43025995f32b0662114a8f78216031465ee99bfce6eed8697066733a2f2f516d5466316779596442424531564868504c6a474578687976719f629886079feaeeb42a9e0205134254e6380941d075ffe26a2160207ddc8a316a716932513766766d323368693367427434416b00000000000000000000006e628674fe9bd2e64322cf7b94f8474db3fd7562617ebe4b4b8b1f898e203969000000000000000000000000000000000000000000000000000000000001daae57ce0d04fac4b6e42cac71810e4bcb951a4fed2dff6fbb1d42add4f33613058700000000000000000000000000000000000000000000000000000000000000015bf9841ea08265792a33ef68f0b767d87a60017e852b6866c2bf54e07028b753000000000000000000000000000000000000000000000000000000000000006b5d255b3819502bf5af779d9608516d47a9b877fc111f449654c91ddbf832c175000000000000000000000000000000000000000000000000000000000001d7623914410bebfa4bdee56e73a4a60bf999b0efd42d038cdd01aae334fda32250140000000000000000000000000000000000000000000000000000000000000002154db85c127f5d160acb53b5b153ef9510bf65e3eaf542772e14ff9a19a45edf000000000000000000000000000000000000000000000000000000000001dab0f0dba6a4b9b66fc6e88a172d4bbb344cff6a8fa2579dff31e3debdadf86ebfdb000000000000000000000000000000000000000000000000000000000001daae29be4473d26823213b234936c60b4d98d2de6564ac99c3faaa04b53a9b4b7b1e000000000000000000000000000000000000000000000000000000000001dab5ba585759fa154cdd0669bb285bd3e0953f4517a449807b3ca7842bc8c4d4d934000000000000000000000000000000000000000000000000000000000001daaefbf885fe6e9ac05ac5513891e24e8dcbce1c825405d4ef80eb7e1be7cd9a0e76000000000000000000000000000000000000000000000000000000000001daafd91ccda355f70aabafd7a3931bcd0d60992dd3fc3cb1264c7362b28975b0f201000000000000000000000000000000000000000000000000000000000001dab08d6986b664316ac0f26c48d0b03ee7d3af99a45cb643d9e8782d9bfdbfe2dda5000000000000000000000000000000000000000000000000000000000001dab1d216a3ac2241ec8d95178e85c54e381a7cc8ea97b3b6658135526e50f18b9db6000000000000000000000000000000000000000000000000000000000001dab27850f4000af6f820b967284a0b38270faae8504a0e4eb4c886cab73599f578a7000000000000000000000000000000000000000000000000000000000001dab36068b9d7204b8d6e2b0c61c7e596d5bc078467e1dd617b6df1fff7d715fb6065000000000000000000000000000000000000000000000000000000000001dab40793cd4db51c203bd3463359fd6b2ea97a9ead7904bc3a9dc1f0f41aac486b09000000000000000000000000000000000000000000000000000000000001dab54ddaec608ac0a67a9b79161d78c881747556e45539e61955fa5a3f653828dc5d00000000000000000000000049934f40b765cce756c708f8874170ac91c0eee9e05eda535268e76a318737e29faf8080fa0745c2cdd011c6029505e2a1d68ef2697066733a2f2f516d53345659524166524c3744774a4c46727973733842363513cd1f39d9b675d61c321eddc8aeb8a18a4be8fed6cfe73bb41bdb15afb51d8756556438695373684b55354a6364586a33366541640000000000000000000000960c21432e15d8f9083e89ec04ecea5d6064314b0d17ed3419b0cd1d46096fa200000000000000000000000000000000000000000000000000000000000000012ee4bd11690bb4b9e41f0f318724a6f724297422bbeda4218b2806dccdd328aa0000000000000000000000000000000000000000000000000074d007d42d04eecfb16b5513470ec1617e2fbed660c0e2292ac0ead57023de89b7dabb7b9b461200000000000000000000000000000000000000000000000000071afd498d00004e72f3304740c0a5099286cac6ca65a6b3afe53edf139ea55c515868e10aaa1cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff759285d661b4a9286be9dbb7a2c4868f531eee4854b84b10b1dfe0148906df0000000000000000000000000000000000000000000000000000000000000000013bfe3db4e15cc11b3dad0f873880e6ab50687800b9b9a5113d5faedec9fc75960000000000000000000000000000000000000000000000000000000000000001a6a9cf1eea046ec92f28fe2793297346d939c7b5aff2ce8235e2c8feceb546a9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff245b5f50b6c75a2578cdbce4a282edd6ee4c9fe6f48b80baf0b77bd4576af32800000000000000000000000000000000000000000000000000038d7ea4c680002b462fbbad15533dd420fd0080d7171bc5aaf9d7d012eb09bb6773ce92b577a90000000000000000000000000000000000000000000000175407376ca75d7844257b363e7d0d55c54ab580f8d7d0b4f7c0c63c828b3a3560bb426e47bd124c840000000000000000000000000000000000000000000000015af1d78b58c4000023b5f931d07d4f0b943dc4ea514dd0f27c68e68d0df6a3ea2db4231e172461700000000000000000000000000000000000000000000000000805597d6796e76edc5b9b7e6cb2644ec9da21e8053385d16a8f1529e1148844d13905c28707564f0000000000000000000000000000000000000000000000000186cc6acd4b000021f66497e3b8ec695b91ee3401a8dfcf0fe73b6eebddce893a68060480b9dd6b0000000000000000000000000000000000000000000000083effb3774288be7f99ad8f5d76198e8f27ee9c6791b924cf81ca2fa35b1e11e67bd38c6392cc1ccb00000000000000000000000000000000000000000000000000000000000000014630da00c532bd8de7aa413e437ff1233c4dc007eebb718938e09c6402cd78bf0000000000000000000000000000000000000000000000000000000000000001b70712003d04fef9179708b8cf503ab833c9cb9c51315b5d5ab4220c676d8aa50000000000000000000000000000000000000000000000000000000000000001c8492e35fbd402e5e0300364f25f3503985564204ed2692e195cd29bad37d34b00000000000000000000000000000000000000000000000000000000000000010db94ea815f121e2810e096d4ed9c021af5bdfdd4fb69c7c8a14376267b191bb000000000000000000000000000000000000000000000000000000000000000122e8974e2b35aa50bd8d939b6f42d95b03693d3c5688c6bae34c07461aaa4085000000000000000000000000000000000000000000000000000000000000000173510ea76ff5bfff623082a04d1dd6168823d4ad400f118301128ea5987f43e1000000000000000000000000000000000000000000000000000000000000000108253b704153ecd592ef787984abfaa4de466bd2223b57d43b1002c540a5f273000000000000000000000000000000000000000000000000000b027736ea84965dbb0629e1540fa7e9819a1950af87e99ccde7bcf8335e1ba22eb81da95778c00000000000000000000000000000000000000000000000000000000000000001a70ac0b4c917cd9af5980aba2f38ac437c04c8d76137ef17e6723691f3833bb300000000000000006435934836a13c33f16ad3a8ed11e3908449624cf50b7793aed53590927076a800b19bf05606bad23435a5b3903681792bbf0aedd54c4ee70000000000000000000000000000000000000000000000000000000000000001fdc0387fea715fd361486e5fb86ee3412c004e756ff5e5f6900e37bbb53245bd00000000000000006435934836a13c33f16ad3a8ed11e3908449624cf50b7793e5a4a486ee5fa301fd6b7493141e94b662febf652a31d487554da78356fbc26b000000020000000064363dfb10a1db5d3a971cf1e565b28a86d5ce9e576a7b81e216912df44290b84fecab9f5959d5d4f3f17db1bc0d9e1028e75ff2e2c2d0db0000000000000000000000000000000000000000000000000000000000000001d1f0fb8ec50177e83b4c116142dee46a65480afedc3532fc5b84e1575e185a88ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5433d7f5840d783b98c4ce547cf65157167973a86859b01518732a44ce93f0c800000000000000000000000000000000000000000000000000000979b3d480175611f6a641908f05d0c5884cc4ebcfb6a64a2bf8e6fb5a00574e47dc0ce23b3b0000000000000000000000000000000000000000000000000000005f5d9ebcbb08b5b7009a9ae73898471d00154e1a86dfde83e192271b7d6a14fc73a4d6b33c0000000000000000000000000000000000000000000000000000000000000001622ea98de859bfd562a14874ecf7729d92ffe6571093221dcfe5d1943c7402810000000000000000000000000000000000000000000000000000000000000001db5e3734a8b796dc60773b7500ea60ad6c0ddf323cac766cb1abecd13c5ea43700000000000000000000000000000000000000000000000000000000000000012d55a6f5ece4f1c978fe6b9045db805e726d5ed423af7eee4115fbda839ba5dd0000000000000000000000000000000000000000000000000000000000000001d915358e3206c0e32908bb454e9a9ddbdc0de52497c16f7dc3a213413820a9f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42aa56c450312dd3ed4e31ba04e986837abaaa2067e91c1c70ad21735fdf87a2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff154ed46f5f69f73bd1f0a2c8a34d78496aa764f382663dd9d58939ba007c6e6d0000000000000000000000000000000000000000000000000000003a346804720045988c6cb0684e8354009f337ad2808955148601a7161f74e2f7e3a9577720000000000000000000000000000000000000000000000000000021a5c8bf74f2660681a983965ecc6d20f3b2c8fed925d3c9a341b37355a14e6d33d5a8facc680000000000000000000000000000000000000000000000000000000000000001d852c5c784e44e8d140f0f7f7eaa724f0db0e8740e1c214e9c3bce9b26fe976effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff974be7b513959fd455b764a3c21b5fde7b42f69645f371aa4c9645e5e78f3c8f0000000000000000000000000000000000000000000000000000000079aad093a1fbc865ddfaf0b8954f170e7034fd783e256d0946c68361b004720cdf462a02fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43c5e9af77b21fd6add8046d1bcf5f5bd45408dbe1577a230f52c6ad4cb3d50fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd36160c3ace9179a08183d5e23eff874b90e3420b25ea1968fb77008082739300000000000000000000000000000000000000000000000000000009e1beb70b29ac836ed73b9bb2e021d44b0bd2e1677acd38481fd66d872fcdee12d43f7a8e000000000000000000000000000000000000000000000000000000000001ac90b332f712b93ff6b17d51f9f79a0a935a42c9232cbbe32e3cba4b1c63a569177f000000000000000000000000000000000000000000000000000000382ffe8c9dad1bf17c83c255269c9f63feb559c94bd93ccb1eaf6d691c8420d5dd7f852a41ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9a647aeecee771edc136f7e932bfae9db257ef8c8b2d252304d5e6964a1770c2000000000000000000000000000000000000000000000000000000000000000191e06a9399b708e8044b7a6e5b6bcf786ab69005e614ff394778ce4a08d20ef90000000000000000000000000000000000000000000000000000004c9dcba2ee50fa9c86b6316d4783161a922f7b3f20260ea10af9e087a20087718e0fbf5f780000000000000000000000000000000000000000000000000000000082c63275edf33b9b65a61ed1664e2b2fa4b05eaea73ec6b91347bc47cf9df128279a018f0000000000000000000000000000000000000000000000000000000000000001da34ae09177da263b07168355e12bcbc34379e1f432e70ee0fea8d3036b7c3c50000000000000000000000000000000000000000000000000000001b57b51bf8ec68f5289d5dd78dce9cf82cfe97348165a386da555da0f36cf0e47e27618057ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff976f218301b14856f9da925532ddabea8929c3dd9eca063b5ffba7ab06fa3cbb0000000000000000000000000000000000000000000000000000000000000001328a66f33490ad40a42eb8b7ea0537ebc9788b5194b95e92f859e498eb8ef73d00000000000000000000000000000000000000000000000000000026403c0e54220ad0c7753aa82ea9816c8af8d0dde9a181111acd4f0b1017166ead11efafbf0000000000000000000000000000000000000000000000000000006847e89169cdd503362c765037dfd77b4e73639d3af73a8cae506078a1af86746c6864874e0000000000000000000000000000000000000000000000000000001989e90aa4e119bcc6bcddd5140e32504510e1dcff59b9d1eaefd5d607a002b822e958f23fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc5273391ddaea235ffb036e826068ccca0ac156762d098d2f757190f21f533070000000000000000000000000000000000000000000000000000000000006930f933626a73f0cb84760bb2e8f3b83cccf28c8544b4c83155bb4b1e85cb6ff285fffffffffffffffffffffffffffffffffffffffffffffffffffc7d38d5cca86c98b6c741e2c3e00534122d7ba8c5d078e9df105643172e94ebd205b804c6d11000000000000000000000000000000000000000000000000000000000000007d94b7526ba7f81a43d722dd299d3cca9dc8dbf4eb561ada0284ad054905f52cfa20000000000000000000000000000000000000000000000000000000fe9ef6e42ceb8cca94928c269cf8146940e0af9ccf1a5bc598e0c281639fe957260f08b620000000000000000000000008c4188fc25dc437021a7c0ed5457d9d0605edcde81b5086e5c239b37388b0e150bda92b23a5539fb2e815c9031e08c0db12b92e0000000000000000000000000000000000000000000000ba58e545582d4600000ce6b2f11b3ae72cbdcb257753abdf44dc7cea8a0e1945229fb0eaf14774b56f10000000000000000000000000000000000000000000000001bc16d674ec800002e91a5c679b9fa430ed0d01e3fa2a6a4a60edc49e4adce9d84bf867f47871d79ca94efed4891bbba446ba73a989209b8cfcc282dbfd42e9bb380b8cca056fbfdabcbd28c2557d9ed7a2e368dcaf1873a23636ccfecab01d56384cf2404c2e1a62ac251a3c64e8801e28b563ad5c82b9df8b98005914704bc5355fc9fe126bdb79d7bbe80a951f2b44e2c91cf0b0c5eda08d542e04c0ae198d8c5f228e29d2f70e1240ffc4816af172f8fec0e9b705088e34964dc000000000000000000000028c4b4a1271c67cd4233a0172f79336555ced41b93a309fb4296b9ba8182df881f29ab060bd02cd22e4042095679cfc5118098d46c00000000000000000000002873114f54fbb6e9a20816121128de3f1e5f5986f75fedd7a4d22293049c2a95040000000000000000000000006924da629a9fd4c6f0e0c903e3254cb4e79bde751aa1b77255084f5fd8f20a5015ea0fb0990771de124936ef4adb2e91442d21af6a696c73616e6465722e7a6b0000000000000000000000000000000000000018777c7c0f9bbcdfd3a23efcdce0415edd89d9f6b6aa1b2d3744a36b110892d6e0a7c7eb2f3f1b9f43cf927bfab2e8246db35e5765c6c8ac050224d53a7ab796afb2b95bf54049a5daeee501ebe016a4ba5e0ed96ad4ddaf3cdd603b0aea68a25369747379696e67746f6e672e7a6b00000000000000000000000000000000001c13ecd5760eafa3f0f53d3d2ab124696ef0032f58ebac150315e346e71b504a71000000000000000000000000c93d85b91dbe985400f41a81755ee842132848f7a1b6bd9ab8f6a220a487f732fa642d54948940cf27aa6ee1211756296e1288a900000000000000000000000013692c356dcb8532e48bde836de80a48b4215782321b955e9ba83fd1dd499b5eec1de0204af5c9dff7c04ec29c374941070361f7491237018f89a5e7ddd694cf913f6c520268df680000000000000000000000288888039f32c864c8743f59e505c33ef9b7a27ea93a8aa9b5603a9a11694fd09fc93d85b91dbe985400f41a81755ee842132848f70000000000000000000000284c8cba0fae28b7836fb7b3656a357a432c01081dcbb5c39c14019af07160c0506924da629a9fd4c6f0e0c903e3254cb4e79bde75000000000000000000000028c6e6cf1f22804dd91ce7ef3842c3ef6007f15cec932d39ebec58be02db08c45f000000000000000000000000fb7be4c6065920beae195e7fc1ce1982f8dbfe7f8e0d92b64f3cd20e39111ef8e9992be1fcae2e87b0fc4054cc18c829a0f7e98baf02d1249a76e1fcce695e9e7f4130d0661950c696d13c22068a90d2e7eccb02c406fcf6629531b8e342b4d23b0a9f904dfc7ef54a44d3cd97fa7386fe6a3d9c4f790f2289c46e45ed197bce7763c84591e1f223000000000000000000000028775cebf88977d079f93407da9f8225208109f5a5fad4f7edcd70a5900d9ff5506a303030302e7a6b00000000000000000000000000000000000000000000001086f9a1e2215dd7e1514a55494846b4f114344ce2bb9e1b86d97c342773c956127b7c156aa685986fd8f0ae95e2e8cf70ccce6b0dc04b10b509ba6dd09667344479e86e49f9b04626ef3fce564009dff0808ad450991aada3ed704c5d273d0d1d00000000000000000000000029ab060bd02cd22e4042095679cfc5118098d46ca884106b21f85a320e12378bc55e459de3c5444b100b065682f53d0d01415af9626f7963727970746f2e7a6b000000000000000000000000000000000000001832d0db2d901b97843fd4be1aaa8aacc2bb886a0fee1fd337fdbe2dd203af39861fae860de50a501e36b55482c26ee64036236b5ce30c166688706f9ebdd4d8a16d77303b71f19ec9606033b1c903ad9fc72daa7a45dd42ff977a67e107c122fae7f34476be06fcda2e32e13d498fbcb76c8708419b8d0b3debfddb129668cfc856ff8c840341bd46c601a0e9489a26887ee6e80fe04fca92e2d3b516f34c445d881f55d3e130ad793c205ad7fdfcfb66a5d573bfed4a09a95158baecfa300b24896b2337514081113a8fb38da80d1e2b1d7f44132c9db2d288f842475fad36020000000000000000000000000000000000000000000000000000004d75ee126571a463dee9e08c756395eeaa929f3ccf8432b3b390358839ca30c60d85525b09000000000000000000000000000000000000000000000000000000000000000144023035317343017fce6ee8c2dd42a1139d7bae95a0d665892d1d99a1e5c05d00000000000000000000000036f649e8c5418de722d9f5f56d0d74f22ecaeaedb09efed3e44795d803c98f845da16961af84184fe8e9955762c112c0b723a0f70000000000000000000000000000000000000000000000015af1d78b58c40000b500066e2ee083d0db3a86e508ea0200ba969e269f488f678957d1540a00c15300000000000000000000000000000000000000000000003045dafcdf1d9e7abf9793b949e040d3021bfc7c687daf29fcdc6ff7691a96b21c5efeccd811b077c50000000000000000000000000000000000000000000000000000000064363dfb0cb01fb508dc3371b61576fb6a7bc2d230065ffe426ff01c25fe9da81047946f0000000000000000000000000000000000000000000000083effb3774288be7ffc2fc554b15de579d344c1f6b46b6bce558a645bf2d771126253ade98432c876000000000000000000000000000000000000000000000125b7dd33e5dceec9f51d7f362e9600b52105ba43e7de5767597135efb92775a17c40e74d94abcd44de0000000000000000000000000000000000000000000000000000000064363dfb72dca86aa47226da664c099e1be87e2902b520e34b1fb7d20e438bedca79ceaa00000000000000000000000000000000000000000000000000000000000000013ac357bf78ae43d2af28e82136c96d08955e1eff9ea57e61d4a8cab6fc1f9f830000000000000000000000006c272d134ab69ce9d9fb7f6ac770fe815a3112eec4d6c4bddd08d475f222e71c9051f74cdc613466e890ea695b5e3eefaf63cd670000000000000000000000000000000000000000000000000000000064363dfb7cd447b95586077f3e7bd13ed6015a0b3289ce20901a9343cf7a0144f2593c4f00000000000000000000000000000000000000000000000002a2f8f1255067f456a27c1a7e4044b8c2ad74f81ac0210b4242ee993156026b1a536427229a39850000000000000000000000000000000000000000000000000000000064363dfb4216d7a62ad15dbd2cdf714d03a2222442788a63342a43ab29a4b2998a98d2c3000000000000000000000000000000000000000000047600ddf32e866e941e97c29c2cef0da413a9dab698abaabeeeb53449f9ade5818996d829124dfe8c79740000000000000000000000000000000000000000000000000000000064363dfb7bd97bf7f2a4098f035df1a863fdecc9f08ff09d42e26ad832e25693844e60b200000000000000000000000000000000000000a7d8c00000016d0000643be340ef6a46aeb1c25ea0e5b29e275b0efbafea888a37c9587c5e6313e0f41f5302460000000000000000000000000000000000000000000000000000000000000001336e880f4e64033dcea460c6d9d870dd534842b11d360ae61ca074866466e98e000000000000000000000000000000000000000000000000000000000000000153b2f1f237095a1fb82415f065a94131f1cde50da5bc43f1e0d54a2e9ccb03db00000000000000000000000000000000000000000000640af523345e9583681cbc195d46938d86add94c36b00f405c424721b908c1653acb8792af053e0111bb0000002b7e02316a0000000064363dfb0000000070ef63ca0000000861c46800c9110b4c010ff89cd6adf0a027b043f27f3578fd349fe1dff67220525c844f7c0000000000000000000000000000000000000000000000000000003b4cbcccba5a007dcb8f1a747edcdb80332dce1c36688ab003dbe3ece99a5bd690e46af9090000000000000000000000000000000000000000000000000000000532e6df44450fcd4cee5297e3eec1710f563804521e11855e0519a3722ba6277bcab76d3600000000000000000000000000000000000000000000000000000060a98236e6407b1cb76f0c066d9dc268315643c8b094d85cabf244ae4acd65d8845863162800000000000000000000000000000000000000000000000000000b53403d592c13e8e616ced7a28ca279ca4916a320cb159a6e4c477aae618bc6a6813445997e00000000000000000000000000000000000000000000000000000007b29d6b4291e4aa7e2aff6a7b35ca3d19f5565a53a2f2a54c307aa6784267196d5ad1a03e00000000000000000000000000000000000000000000000000000000000000013e1b1670ceea56c529315359efa41851259e2987f3818736d8c6f8ee4435db39000000000000000000000000000000000000000000000000000000000000000104981732c9d3a7ed59ecc5b54b2db70fb2a2df73d048950fa8ac47286abf78260000000000000000000000000000000000000000000000000000000014c419ed65d46e620597c33c77669fedf8b8d1216511fb70aad2638688780fcea9ef22b8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefb67037e6ba08c269abed12af1302ec0d2588616dfdd5fb077435594a11a9d800000000000000000000000000000000000000000000000049bdb27b890cd2cd31197404ff35991fbadfc5844f1efa98d14b7a0bc4eb14feb693878cf610e32b0000000000000000000000000000000000000000000000000000000000000004a7ead4d564d2638d3e032f4ed63e5ccb6e55b8087397aa9f121591dfd61169ae00000000000000000000000029ab060bd02cd22e4042095679cfc5118098d46c1dbf57fb3e3b200b5131320214bb615bca30d742514079d60feb2c9fbc1b11be000000000000000000000000a37fe7e6447c204b5debf9489f2d5635ac078bd6bf1d592dea02aeb90da8fe647f4efd4e9a0d2c1208b783e8f456c88a94c7316c000000000000000000000000c93d85b91dbe985400f41a81755ee842132848f7f1e382d11af04eb8155b32b96ccff44f1c4a74797901d44d3ecebbc1fe0fd564000000000000000000000000a37fe7e6447c204b5debf9489f2d5635ac078bd644e3fbae2f29736fc6783945f08183d37979b7e7ab4a221ce10765c89ee0fb450000000000000000000000006924da629a9fd4c6f0e0c903e3254cb4e79bde753a5f1907cc7134f6d5f15d4e222c2164d048f977c697e166882c86bd50b726ce000000000000000000000000a37fe7e6447c204b5debf9489f2d5635ac078bd62a3d31574ebe1e0469e086ee84d38dfe6a5c49bb7de1782518c9d77caf451bca000000000000000000000000491237018f89a5e7ddd694cf913f6c520268df68b40f7cb544524f55c409aea5df5bf29d00e0dd0f3d91a089cd2531fe737b35d9000000000000000000000000a37fe7e6447c204b5debf9489f2d5635ac078bd69a7cf5b7099eeeece78e9eecba0ad3df33d0c4ab40effe50c3bba63e342aa14a0000000000000000000000004f790f2289c46e45ed197bce7763c84591e1f2237f2feb05dccc8e3baf8487f924cde31436df52447007c5d8f4559307f2755cf1000000000000000000000000a37fe7e6447c204b5debf9489f2d5635ac078bd67b0b5d35031bb62d6a4d3ed3261a22116c9327c7c4d94a98a7eddd7005ba6910000000000000000000000000e1240ffc4816af172f8fec0e9b705088e34964dc4734144681b608439e5b29200052b53f35ae90a859346023d0eeb8b615e5284d000000000000000000000000a37fe7e6447c204b5debf9489f2d5635ac078bd6457cebe2896ce6666d3082f4447b77bcc8a3df18b125b442204e3f38b6c570220000000000000000000000000000000000000000000000000000000000000001ad7f8765478f5c8de2847be4f24603eb1fb77fc6ad255178e292c7a32234279f00000000000000000000000000000000000000000000007423491c5aa4a88101794b0015bfdf4be933927f0d171fac631a213fb8d74c8aee9ef78d5f03e23eba000000000000000000000000000000000000000000000000000000008a061af3e55ed7b70c5cbce4c05319f5f1b3a7c66e1909f09823124b6572de26c41fc4de0000000000000000000000002a2f171bdb7b7ed6a93ee3302ed763d27e03f0c286d22a600d534dc699ac1a1c212746a585b8e9e265b0c16d38f7683e26fd46210000000000000000000000000000000000000000000000000000000000070955cc96280321f391858c82f55015bc685d21f25393bc0b96a1f9066faaa55d4ff700000000000000000000000028c1908f8af53340b5b2414721a40af7862c5e5afa09fdb7726f7164ef2031b63678dd1d9b46c6276a0f7ebcd2eb637580444320000000000000000000000000000000000000000000000000000000000000383c7a045e8b4eba83f1828cf238e2a1df5953497984f6f85533b239a6ffdceaef4c00000000000000000000000000000000000000000000000000000035ea628716f66be3274640e8c6e119915ba4e5c35286b762ac4cc953947f240c0cbd315d62000000000000000000000000000000000000000000000000000000000000383c700ac49dbeb225fb64775662b34fde5703ca1be10d08cfd26c4ffd7352ab58fc000000000000000000000000000000000000000000000000000000000000383c3631645b0ad9d2016669704d42b34ccd0ee037fc059d19abb0ba316caea8d57c000000000000000000000000000000000000000000000000000000000000000178ead8bb607e5b1ce85ea22070208b3e607a21820515ee5551f8caf1e89208180000000000000000000000000000000000000000000000000000035ae28f3384f3f760c0a811faaf40d41dd57e44e5de437dfd8c88abbb6e720d801043a7bce70000000000000000000000000000000000000000000000000000000000000001fb1b578bb65229c585aad09b2dacfc2cbd0cf818f5191a935b76d964c0252446000000000000000000000000000000000000000000000000000000000000383ca07b3b474538b2aa4d7ba8f35f8172c6d7fd3f36d85c686a2dea6f07f9695561000000000000000000000000000000000000000000000000000000008a02952fda02b9dafbfdf677ce9c3ae29cfe0ee0255319db90da6ae9062407da851ea0910000000000000000000000000000000000000000000000000000035ae15f67e0e98ed3efaa8fbcc6ce4cec2aa0333d4c9e2eb2294587c1dad96deeff9d800cec0000000000000000000000000000000000000000000000000000035ae15f67e06b31959cf77a38fb2f32293e4ef999cf2f3a2dfcef11f8b3e733efded1d9804a000000000000000000000000000000000000000000000000000000000000383cc688711fc0063ab0b0b354558d495b2872f707b3cc77770f949ff28f16e196c4000000000000000000000000000000000000000000000000000000008a061af32fce53d2ed05ae6c93f6609696b9110552701ca48d0af15146442d11e0f08d5700000000000000000000000000000000000000000000007423491c5aa4a881016da9126e31bbc4d2b8d71968efc219c372c28ab5c8d501f3ac96f420f6d78efb000000000000000000000000000000000000000000000000000000000000383cbae3dd70bc82a2ecec583970cc0af678e5961f9ec3fbd11f263539263edb2807000000000000000000000000000000000000000000000000000000000290cb03c667fa7f8c471f96615acaeae2c1dbcbff7ac37946f198ab010c75c40c1a36190000000000000000000000006ac625d107ceee595a35c464ed4c113cdbf20fede103eca9ee6ed87e24519f6722db2d0ce8fa7b995d30d2c2c5151a83f12ca3fd0000000000000000000000000000000000000000000000000000035ae27c9ab3fb081bb525c9c66877c9461cd0317b3e0ae7494e69a21cd83f0b6f5c483a84500000000000000000000000000000000000000000000000000000000283188669146c97aaab58459120487370ff4961138d852783f7d8a7a46cbcf005e064f2e700000000000000000000000000000000000000000000000000000035ea6287166956094754d6e421dae05ce6cf31c06600af75ba8337e74337b8b976eaecf847000000000000000000000000000000000000000000000074234e107f0108680813980fc2eac42418188c5687f5cc1e5bcf0ead80cae9e3a5d573d6cc2928d70800000000000000000000000000000000000000000000000000000000000000010010d44d3c8c7db2ef26a554d9aac519ac32f96ea1c17eeca8fcc5a4c5de8e210000000000000000000000000000000000000000000000000000035ae27c9ab3528f7e932cf1b5dac72ac6dc4067626ec848e8112f2b6fac0be0b77ed5e6e1e200000000000000000000000028a48ed0fffed9c574f35ea87ae50ef50cbe18b3435c2e53eae09f13265045b7b6220f3e310c7f025f02520db68c7fade2a0b802000000000000000000000000000000000000000000000000000000000290cb03a903f52d9b77df3d67471ae48c4846c9d25e8b97cd01d05e54efac9dd7335cb0000000000000000000000000000000000000000000000000000000000000383c1328dabbbd8db77f42fa541437e9bd11a7e7adf7a00a224ef1694ac64b7233c0000000000000000000000000000000000000000000000074234a7a33f70108d254962eaeeb85132e75ded7014b12a469deb3eeddf6067fc1eb69657c81c68bc600000000000000000000000000000000000000000000000000000000000000011c4b284244d50c12ac7617fb10f178b20cb112e54ba2598b4be40cf1202779a2000000000000000000000000000000000000000000000000000000000000006c4d7241644c801884f92bb9e3710b7f939a80845c7646bf95fbb64d3edb3b66b3000000000000000000000000a82749bcb138d6c0ae8e096e26c63ef42e74aef8b74de169571690d2cc90c666a1b89483ebfcdcd04f1af53a731b358200875b1a000000000000000000000000000000000000000000000000000000008a02952f7452372bcf78ca1b3440a6d97a7034a630d01e609e86c4fa605d125850dc4864000000000000000000000000000000000000000000000074234a7a33f70108d29168feeafcff9494f3b1cbb1a8ec8132d4c6d2d8373d1f5e9d376e33715c5cea0000000000000000000000000000000000000000000000000000ed935bbbe49acf4362fbe525d2657a21a61d85ff292cf5a2f6377467546af770c03005ec701100000000000000000000000000000000000000000000000000142fbfb79d2000e14e6a2beb6d6d07232ab12875d19eb9c2a5d5470ddc4e305925d203b246fe4b000000000000000000000000000000000000000000000000001476b081e800005f4a8dbf39f8b8d868041c8b75bda68ca51be057ece3cfb51c01c2d6ef2ef9250000000000000000000000000000000000000000000000000449ab4dc788000082a84780b4115e37ab86330a79a539e790da6ff8a6a5fe772cb47945abcf7bfc000000000000000000000000000000000000000000000000008f3ed38d580000d277388966326d8597752e47678aaf1d7d08e060c526adeca99d6f8dac1df2180000000000000000000000000000000000000000000000000008dac8663f6300ebed5cfb3eaea4e5c2516abec2b05d1e84b0e43f9efa1c97b5088656d4fac7f30000000000000000000000000000000000000000000000000731ba0dab90000033a858b6016f3327d8a2c78c10731712fe2a7d2cd2272fdeafefd173f2eb07f900000000000000000000000000000000000000000000000006646ee6ed377000943bf09f3a3027407e1be6a435ed90ed0a24d4acaf296e9fecaa79a7f7d623a70000000000000000000000000000000000000000000000000731ba0dab9000005a18065086a11de6a3fc65ddbf55a096a5dd884e4c5e65174833bc1dbdf6411600000000000000000000000000000000000000000000000006646ee6ed37700032b6346140eeafa17a38dbd1e82032f3a49e2135e0c48d2c73246b4f469118c60000000000000000000000000000000000000000000000000265e8af39300000b29ee8ea349b9298d9679000141a2c6ea2edec33e21c50b99c0c49640120573a000000000000000000000000000000000000000000000000001476b081e800003afa1dcd1e0b897312b05b3182004d9fb439da940bfd93871b6e167870d40c4f0000000000000000000000000000000000000000000000000066517289880000f24b6f9b8cd4aa4260ce8216513f41a41a6ddb3a785c3d59e17153da29e0b26f0000000000000000000000000000000000000000000000000031495668e1a08078203473274e6d079068ec03088b6994204a6f2c28aaf10e192394980b605f9e000000000000000000000000000000000000000000000000001476b081e80000377029ac0f40bc3b1fb8417c3b1913749f5c1f58029acbc87446e9aeba35a7f3000000000000000000000000000000000000000000000000001476b081e800003c5c66ffd2f5128c82c7f7ff3cc0d6a3f49f19c328c5f8c5b21c41fbd5701db40000000000000000000000000000000000000000000000000479f69c6ac0000003fe90a39af0b7f5090fd7418eebc3b568e7c1f8badaa8e0da026aaae0c1b23800000000000000000000000000000000000000000000000005728a99f65ca7007837d59fec13acb5a73d786a5f5087c6a449d0a34e678add10ffbdc4a35ffd5200000000000000000000000000000000000000000000000005728a99f65ca7009c8d3599ff77c190dd0f59ed2962f67e104463451daacc56ea5a3d50ab33d6c200000000000000000000000000000000000000000000000000e1c6c67f3680002047452c9bc170aab4073d31fd58aafabded2cdcaabcb99a7564d56962e8ea890000000000000000000000000000000000000000000000000449ab4dc7880000182734d5d350064423409f67be643cd08466afd6cf174820734e03f5caf2ad6c00000000000000000000000000000000000000000000000000044280bc34a200a93d4cf2f8f0ddc95882b7d198d61f03d4e70c5cbbc1d2040b7ff4549688049b00000000000000000000000000000000000000000000000000312edcdc2c5100a541f02f506acb32ed4b9074a05395406046a83585aff3567afaac02757b6ae500000000000000000000000000000000000000000000000007fe5cf2bea00000e7b141148e5bcd950e1a9cc0545034bf21a962b8432cb83026bfab4ee3e585a1000000000000000000000000000000000000000000000000001476b081e800007b62333ce03a624fcaac16d1210083d663ff4b27f476bf47cdb91580f941ea7b00000000000000000000000000000000000000000000000000142fbfb79d20006990bcdf5c403ac8af74286be8f9ba4bb1540da89e658dcc1c90689a6cde4fb40000000000000000000000000000000000000000000000011494299bc3a00000f0871a4bc721ed54fa123eaf0ec06b03d4d1f7f06c83dde6e544b5ab39e40a5c00000000000000000000000000000000000000000000000029f767fa68c80000e4e1bb0616cee12764f6d1b66a4a7c511e88619cc61ffc3aa0532607ff826b52000000000000000000000000000000000000000000000000048333c2dbc83080daeb764c4084fc16dff9e9daf2effdf303810613b4fb88eef33bf7db01eea89f000000000000000000000000000000000000000000000000006a4d9d45324200e2341fe2c4e83fd3f4baf6d20168fd2a515e643cb0ce6b5a34b796c78ebd62ee00000000000000000000000000000000000000000000000003470244ce280000ed46c467b5d42fec63cf77408f111729f160c582d80c12f7d2e343f69653c1e700000000000000000000000000000000000000000000000028c473a2cc300000846f3b8c38b8656c5c9dd17e75e800d8d2bce928d63358d0309d789f6fc724840000000000000000000000000000000000000000000000000265e8af39300000e85a72b3c98d16256b46fbdd6c2b38dffa7e2e65204dadb19d4e7c3ae580c4f20000000000000000000000000000000000000000000000000019945ca2620000e07b55ae6fa7ac8a7f1479fdcafdd658847307de69fa931edc08ffc3026d68b20000000000000000000000000000000000000000000000000479f69c6ac00000823863af36c5b192269ff2ea09de9c84a64228226222337440732a6f7c0948700000000000000000000000000000000000000000000000000066517289880000d0c6e07f96489aad02aa67d09b63225ac0a45804e52c3a5a65d0c771a65d9a6600000000000000000000000000000000000000000000000096eb55be0f000000a4237428331a440d2d2bc6b8157d43133c63c82423e1c637ecbd2672238abf6000000000000000000000000000000000000000000000000029f767fa68c800009600cfffdae22bd61f13511f6a6f025720d350b6da5d7b500c93829af3193233000000000000000000000000000000000000000000000000001476b081e800007b6b6b008272524289c98babc54251d67cfca6e47cdcec4cf5abc7356fc71e1200000000000000000000000000000000000000000000000007fe5cf2bea000009a606210db5a3aec4efb20472f3d94397705300b4a5de03d7cadd6f0e654610500000000000000000000000000000000000000000000000003716da573a3c5006b651e57ce215f28d11d41d94c5b2615389b991f5a0dbd4b6ac7e5b183b29e240000000000000000000000000000000000000000000000000ffcb9e57d40000004838a665bd8e93f060926a6f3dcbf4c09dd3d67c7d413264613c1b2f0fa761100000000000000000000000000000000000000000000000010ab850928330000a40eccac501f866cb12531573f6443bb00e2ef8e2254b22153ae77ee2c42f0a6000000000000000000000000000000000000000000000000001476b081e800004ac7dcf01022b60ce4561921f6e4ee89c3fd22a65cc8811b666be8fa853f6691000000000000000000000000000000000000000000000000001476b081e80000895b9525e6c5572f2db651167c2648e8445055ddceb8a52d63f1f8b854831653000000000000000000000000000000000000000000000000006a4d9d45324200d6f9272f823d460bf5b9155a61e59bf93eb7eaa3a779bd9e8d8f4dfc612bd48000000000000000000000000000000000000000000000000000cca2e5131000004fe5fedd65c9adecaeb35a6fe8beed34fd5611944b444193196dfb8e19f1532400000000000000000000000000000000000000000000000003716da573a3c500d610b76d137f82b07231cc32f3b3b546c7bbff3ef87cc85c6c8a0f8bd97dae00000000000000000000000000000000000000000000000000000a3b5840f40000893bf48adb1c25d46e6702fcc1c37cd0f7d91e6ebf3acbc14dee3d4d769a0e9300000000000000000000000000000000000000000000000003470244ce280000382cda9a5a521c7b3d4da194c3d21e2231866866192b8ac5de76c49a4af7e6d900000000000000000000000000000000000000000000000000044280bc34a2008a0eff893c6295616f3929ad1436ad95275964690d20de4f3ef422d8fdbdf84f000000000000000000000000000000000000000000000000008f3ed38d5800006c1a65030553cb64bcf15ec4a427d28edd208cb18ff1b48800bbcf17beb6e32400000000000000000000000000000000000000000000000000e1c6c67f36800022b86b0674647d5fbd6cda793ed6271f029423dff7a53bc6505690b3304a24ef00000000000000000000000000000000000000000000000028c473a2cc3000002d66c9884c3742512e59ef4a94b10c7e3b945929cfce46f1842f4d22376e2dc30000000000000000000000000000000000000000000000000008dac8663f63009832334c45f37d42d77c3ee43b69a51ef3fd784fefe7bec752bf38eada8b7742000000000000000000000000000000000000000000000000000a3b5840f40000ab4f36254d622ebae64d8115f77c2b5c186d1dd52a872799fa463e602ffc486900000000000000000000000000000000000000000000000002ea11e32ad500001c35181f375d81b83d2a584e6145ad8f8599d0a15d85f0408bf3f7b7bcd4309a00000000000000000000000000000000000000000000000096eb55be0f000000bb4173746ba713b30b708edd5a767093e58ba7552e35fb43562eeae5814a668700000000000000000000000000000000000000000000000000312edcdc2c5100ef6a01e04793478e5126665710382ea7d71dd5293cad59463b2f57b8b3817eaf00000000000000000000000000000000000000000000000010ab850928330000edc977314640762057dcd9fcec1f985221a1d09ea8b26066ad8f03bc6049b5ca0000000000000000000000000000000000000000000000011494299bc3a00000571ad3df0993c393824406d6206e1e1e2016164f4e260b493cf3b94eebcd85810000000000000000000000000000000000000000000000000031495668e1a080b192b4354f71c264720b5922994fb620790efc3613ec8ee769b8711351e0e9ae00000000000000000000000000000000000000000000000000cca2e51310000092ff94fd20220ec44975163aef565f9639fc951296a66b5571f3b8d5e2e9d739000000000000000000000000000000000000000000000000048333c2dbc830801fe3316e2f828e3a2731d75bb786a10cfb57b2ac6f1b6c4453fcf4094a9b1e5400000000000000000000000000000000000000000000000002ea11e32ad50000ea12a8a476441d437758dd76042c83c9812551378f1e332687bdbda4bff8b73f0000000000000000000000000000000000000000000000000ffcb9e57d4000001894503da320552e38151748fa7e092e2a20bcfb865d22b96f766a35c1537d370000000000000000000000000000000000000000000000000019945ca2620000cc63dd7ff2c9dba450953d981bac9b211204aadad5ed2a095da35a099ddda812000000020000000064363dfbcc7d0e5411dc82f9302e8ed2453d908bbc8670f38bbef1adad6f4a7c3933f57ce6f4655272b20da9f57acbb0760bd80fbcbe82b5000000000000000064356eb0f5912370c56c12ab5a074bfb4bc09f65ce20a78a1675c41371fd82beb25cdbfb09d1768cee0607aa9dffd7432fc81f962c5e1f380000000000000000000000000000000000000000000000000000000000000001897011b2ec9ee7d7ccab48b833d89e8f69fcefb2ce84092445de06e8a620653b00000000000000000000000000000000000000000000000000000000000000013542e7ea54ebbb98bec3c50987f3b59c88d05bca29c8be88870a141662757fe8000000020000000064363dfbbbc0e91ab31d766c649f4a958d70cbc6cac718781a8a0b8d4d73354bf2f1abf110590a06ed6fa81e549455ba4d04c149cce539d8000000000000000000000000000000000000000000000000000000000000000150f88c7890afaf00d847789882225e5375549b744218183ccee10cf3a55eb522000000000000000000000000000000000000000000000000000000000000014ce846dc707bfd4b3ca500e64a6f2a28cc3b16854d9b21e2eb39e16275914c566d00000000000000000000000047377e35ebf039fda09655a528e78de3d918c54ed7192783d73f1c4155e7a9ea3c727cfb57bfec0d1ba07f1520bf02bda65160ee0000000000000000000000000000000000000000000000000000000000a7d8c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bea4000004c400000000003cab3f000000000000000000000000000000000000000000000000000000000000000c0000000000752f90000000000000000000000000000000000000000000000000000000000000000f0000000000003567000000000000000000000000000000000000000000000000000000000000bac80000000000825f3600000000000000000000000000000000000000000000000000000000000000020000000000375275000000000000000000000000000000000000000000000000000000000000000c0000000000824ca2000000000000000000000000000000000000000000000000000000000000000d0000000000226cda000000000000000000000000000000000000000000000000000000000000000d000000000082641a00000000000000000000000000000000000000000000000000000000000000030000000000825cd2000000000000000000000000000000000000000000000000000000000000000500000000008248220000000000000000000000000000000000000000000000000000000000000008000000000000501500000000000000000000000000000000000000000000000000000000000000bf000000000022fecf000000000000000000000000000000000000000000000000000000000000000700000000008255ad0000000000000000000000000000000000000000000000000000000000000006000000000082584b00000000000000000000000000000000000000000000000000000000000000100000000000034014000000000000000000000000000000000000000000000000000000000000001200000000008211df0000000000000000000000000000000000000000000000000000000000000021000000000052983a0000000000000000000000000000000000000000000000000000000000000020000000000081dbb1000000000000000000000000000000000000000000000000000000000000000c000000000082641c0000000000000000000000000000000000000000000000000000000000000003000000000024e9c8000000000000000000000000000000000000000000000000000000000000001c000000000081dbb2000000000000000000000000000000000000000000000000000000000000000a000000000082584d000000000000000000000000000000000000000000000000000000000000000200000000003e25bb000000000000000000000000000000000000000000000000000000000000001300000000005c5c890000000000000000000000000000000000000000000000000000000000000030000000000058fc3100000000000000000000000000000000000000000000000000000000000000100000000000004125000000000000000000000000000000000000000000000000000000000000000700000000001b75530000000000000000000000000000000000000000000000000000000000000053000000000035940f0000000000000000000000000000000000000000000000000000000000000044000000000019d516000000000000000000000000000000000000000000000000000000000000001f000000000025f1f000000000000000000000000000000000000000000000000000000000000000250000000000825a88000000000000000000000000000000000000000000000000000000000000000e000000000026ea620000000000000000000000000000000000000000000000000000000000000036000000000081bdc0000000000000000000000000000000000000000000000000000000000000000300000000000b098c000000000000000000000000000000000000000000000000000000000000001400000000002e4e1f000000000000000000000000000000000000000000000000000000000000000a000000000043bf150000000000000000000000000000000000000000000000000000000000000006000000000060d74a000000000000000000000000000000000000000000000000000000000000001a00000000004bfdd300000000000000000000000000000000000000000000000000000000000000120000000000822ec200000000000000000000000000000000000000000000000000000000000000070000000000715d4f000000000000000000000000000000000000000000000000000000000000000f0000000000639380000000000000000000000000000000000000000000000000000000000000000d0000000000025e6b000000000000000000000000000000000000000000000000000000000000000f00000000007b55d300000000000000000000000000000000000000000000000000000000000000070000000000028ea0000000000000000000000000000000000000000000000000000000000000006e000000000006b1cc000000000000000000000000000000000000000000000000000000000000003f000000000014436a000000000000000000000000000000000000000000000000000000000000002400000000005e9f5400000000000000000000000000000000000000000000000000000000000000100000000000756bc40000000000000000000000000000000000000000000000000000000000000008000000000066183c000000000000000000000000000000000000000000000000000000000000001b00000000004e8701000000000000000000000000000000000000000000000000000000000000000a00000000006d41ea000000000000000000000000000000000000000000000000000000000000001900000000007d217500000000000000000000000000000000000000000000000000000000000000100000000000824ca7000000000000000000000000000000000000000000000000000000000000000d00000000002944bf0000000000000000000000000000000000000000000000000000000000000016000000000023114b000000000000000000000000000000000000000000000000000000000000000900000000002e485d000000000000000000000000000000000000000000000000000000000000000a0000000000230362000000000000000000000000000000000000000000000000000000000000000800000000004e769300000000000000000000000000000000000000000000000000000000000000080000000000213e9f000000000000000000000000000000000000000000000000000000000000001f000000000079a5660000000000000000000000000000000000000000000000000000000000000006000000000081e3de000000000000000000000000000000000000000000000000000000000000000f00000000002313b5000000000000000000000000000000000000000000000000000000000000000300000000000e6229000000000000000000000000000000000000000000000000000000000000002b0000000000501592000000000000000000000000000000000000000000000000000000000000000d000000000012d5df00000000000000000000000000000000000000000000000000000000000000150000000000145df70000000000000000000000000000000000000000000000000000000000000016000000000064ec090000000000000000000000000000000000000000000000000000000000000007000000000081b162000000000000000000000000000000000000000000000000000000000000000600000000008233bf0000000000000000000000000000000000000000000000000000000000000009000000000025724e000000000000000000000000000000000000000000000000000000000000000600000000003e824d00000000000000000000000000000000000000000000000000000000000000160000000000825cda0000000000000000000000000000000000000000000000000000000000000004000000000008f4a5000000000000000000000000000000000000000000000000000000000000003a000000000032ddbb00000000000000000000000000000000000000000000000000000000000000070000000000825853000000000000000000000000000000000000000000000000000000000000001300000000006340d600000000000000000000000000000000000000000000000000000000000000110000000000823ada0000000000000000000000000000000000000000000000000000000000000006000000000062c15b000000000000000000000000000000000000000000000000000000000000006b0000000000232c35000000000000000000000000000000000000000000000000000000000000000a000000000082641f000000000000000000000000000000000000000000000000000000000000000600000000007a08de000000000000000000000000000000000000000000000000000000000000000c0000000000124c20000000000000000000000000000000000000000000000000000000000000002a000000000082642000000000000000000000000000000000000000000000000000000000000000020000000000826421000000000000000000000000000000000000000000000000000000000000000200000000008264220000000000000000000000000000000000000000000000000000000000000006000000000057f03a000000000000000000000000000000000000000000000000000000000000001200000000005ae7d200000000000000000000000000000000000000000000000000000000000000030000000000077b09000000000000000000000000000000000000000000000000000000000000004f000000000011dbb00000000000000000000000000000000000000000000000000000000000000036000000000002bc0300000000000000000000000000000000000000000000000000000000000000cb000000000026ffe7000000000000000000000000000000000000000000000000000000000000001a0000000000574f070000000000000000000000000000000000000000000000000000000000000020000000000082458c0000000000000000000000000000000000000000000000000000000000000005000000000080b128000000000000000000000000000000000000000000000000000000000000000b0000000000825cdd00000000000000000000000000000000000000000000000000000000000000090000000000536799000000000000000000000000000000000000000000000000000000000000003f0000000000296721000000000000000000000000000000000000000000000000000000000000000e00000000005bc3280000000000000000000000000000000000000000000000000000000000000004000000000082642300000000000000000000000000000000000000000000000000000000000000040000000000825cde000000000000000000000000000000000000000000000000000000000000000f00000000007fb65d00000000000000000000000000000000000000000000000000000000000000130000000000301cb4000000000000000000000000000000000000000000000000000000000000000700000000007f980a000000000000000000000000000000000000000000000000000000000000001700000000005dc4e6000000000000000000000000000000000000000000000000000000000000000a00000000007b5805000000000000000000000000000000000000000000000000000000000000000700000000002d913a0000000000000000000000000000000000000000000000000000000000000011000000000009542200000000000000000000000000000001000000000000000000000000000000280000000000815fa0000000000000000000000000000000000000000000000000000000000000005d00000000001268ea00000000000000000000000000000000000000000000000000000000000000070000000000826192000000000000000000000000000000000000000000000000000000000000000500000000000163cf000000000000000000000000000000000000000000000000000000000000003c00000000006b3814000000000000000000000000000000000000000000000000000000000000000400000000001f4ede000000000000000000000000000000000000000000000000000000000000001900000000004bad69000000000000000000000000000000000000000000000000000000000000004b0000000000774216000000000000000000000000000000000000000000000000000000000000002600000000000043ae0000000000000000000000000000000000000000000000000000000000000022000000000000c6e0000000000000000000000000000000000000000000000000000000000000004400000000000a4683000000000000000000000000000000000000000000000000000000000000000b0000000000001fa30000000000000000000000000000000000000000000000000000000000026e6d00000000008207be000000000000000000000000000000000000000000000000000000000000000500000000007cb86e00000000000000000000000000000000000000000000000000000000000000040000000000825ce000000000000000000000000000000000000000000000000000000000000000030000000000826195000000000000000000000000000000000000000000000000000000000000000900000000004a0c4e000000000000000000000000000000000000000000000000000000000000000a00000000002255dc0000000000000000000000000000000000000000000000000000000000000013000000000006964d00000000000000000000000000000000000000000000000000000000000000ea00000000001ff13900000000000000000000000000000000000000000000000000000000000000170000000000529d40000000000000000000000000000000000000000000000000000000000000000a00000000007a78f2000000000000000000000000000000000000000000000000000000000000000f000000000012d5e800000000000000000000000000000000000000000000000000000000000000130000000000826197000000000000000000000000000000000000000000000000000000000000000500000000002702b600000000000000000000000000000000000000000000000000000000000000120000000000021d8a000000000000000000000000000000000000000000000000000000000000005a000000000032163f000000000000000000000000000000000000000000000000000000000000001f000000000014464500000000000000000000000000000000000000000000000000000000000000180000000000010084000000000000000000000000000000000000000000000000000000000000003800000000005634d5000000000000000000000000000000000000000000000000000000000000000d00000000007a07870000000000000000000000000000000000000000000000000000000000000007000000000076e2b70000000000000000000000000000000000000000000000000000000000000004000000000082514f00000000000000000000000000000000000000000000000000000000000000110000000000126a47000000000000000000000000000000000000000000000000000000000000000600000000002c3ca6000000000000000000000000000000000000000000000000000000000000003500000000005d4e95000000000000000000000000000000000000000000000000000000000000003b000000000082585b000000000000000000000000000000000000000000000000000000000000000800000000005e7cff0000000000000000000000000000000000000000000000000000000000000007000000000000502a00000000000000000000000000000000000000000000000000000000000000ba000000000052d2e5000000000000000000000000000000000000000000000000000000000000000d00000000001087e40000000000000000000000000000000000000000000000000000000000000051000000000076d3e7000000000000000000000000000000000000000000000000000000000000000c0000000000826198000000000000000000000000000000000000000000000000000000000000000400000000005c89a60000000000000000000000000000000000000000000000000000000000000010000000000067d9a0000000000000000000000000000000000000000000000000000000000000002a00000000004cf32e000000000000000000000000000000000000000000000000000000000000000400000000004230fb00000000000000000000000000000000000000000000000000000000000000280000000000824316000000000000000000000000000000000000000000000000000000000000001c00000000005f856f000000000000000000000000000000030000000000000000000000000000059f00000000003512c6000000000000000000000000000000000000000000000000000000000000000f000000000082619a0000000000000000000000000000000000000000000000000000000000000003000000000082619b00000000000000000000000000000000000000000000000000000000000000060000000000824cb1000000000000000000000000000000000000000000000000000000000000000c00000000005de9fe000000000000000000000000000000000000000000000000000000000000000a000000000029e881000000000000000000000000000000000000000000000000000000000000001700000000008253b200000000000000000000000000000000000000000000000000000000000000050000000000824f03000000000000000000000000000000000000000000000000000000000000000e00000000003b2bbf000000000000000000000000000000000000000000000000000000000000003200000000006395b90000000000000000000000000000000000000000000000000000000000000039000000000022908e000000000000000000000000000000000000000000000000000000000000000800000000004b08f6000000000000000000000000000000000000000000000000000000000000000a0000000000190376000000000000000000000000000000000000000000000000000000000000000a0000000000099812000000000000000000000000000000000000000000000000000000000000004b00000000000351f5000000000000000000000000000000000000000000000000000000000000001f00000000006d0d32000000000000000000000000000000000000000000000000000000000000000500000000007dc80200000000000000000000000000000000000000000000000000000000000000050000000000108c760000000000000000000000000000000000000000000000000000000000000020000000000082482d00000000000000000000000000000000000000000000000000000000000000070000000000001fa4000000000000000000000000000000000000000000000000000000000002751200000000000c68b80000000000000000000000000000000000000000000000000000000000000030000000000082585e000000000000000000000000000000000000000000000000000000000000000b00000000002aaece00000000000000000000000000000000000000000000000000000000000000160000000000131549000000000000000000000000000000000000000000000000000000000000000d0000000000019a0f00000000000000000000000000000000000000000000000000000000000000330000000000825a9d00000000000000000000000000000000000000000000000000000000000000060000000000825f430000000000000000000000000000000000000000000000000000000000000003000000000048a952000000000000000000000000000000000000000000000000000000000000001600000000007e18e200000000000000000000000000000000000000000000000000000000000000160000000000822c6a000000000000000000000000000000000000000000000000000000000000000a0000000000126a4f0000000000000000000000000000000000000000000000000000000000000006000000000082619c000000000000000000000000000000000000000000000000000000000000000400000000002e4b5000000000000000000000000000000000000000000000000000000000000000200000000000822a3d0000000000000000000000000000000000000000000000000000000000000009000000000081bb7c000000000000000000000000000000000000000000000000000000000000000a000000000082215e000000000000000000000000000000000000000000000000000000000000000400000000000c3fcb0000000000000000000000000000000000000000000000000000000000000067000000000081e1ce000000000000000000000000000000000000000000000000000000000000000f0000000000824f08000000000000000000000000000000000000000000000000000000000000000500000000007b66070000000000000000000000000000000000000000000000000000000000000009000000000047c716000000000000000000000000000000000000000000000000000000000000001a000000000000252700000000000000000000000000000000000000000000000000000000000058fe000000000081e412000000000000000000000000000000000000000000000000000000000000001000000000008240ae000000000000000000000000000000000000000000000000000000000000000f0000000000126a50000000000000000000000000000000000000000000000000000000000000000600000000006b1cd0000000000000000000000000000000000000000000000000000000000000000d000000000075695b0000000000000000000000000000000000000000000000000000000000000022000000000011dde60000000000000000000000000000000000000000000000000000000000000008000000000003052b000000000000000000000000000000000000000000000000000000000000002100000000007ce2bc000000000000000000000000000000000000000000000000000000000000000400000000001a540c000000000000000000000000000000000000000000000000000000000000000d00000000002cc4bf000000000000000000000000000000000000000000000000000000000000001600000000002f029d0000000000000000000000000000000000000000000000000000000000000011000000000008bfae000000000000000000000000000000000000000000000000000000000000008e000000000000d0cf000000000000000000000000000000000000000000000000000000000000004b00000000007a078b000000000000000000000000000000000000000000000000000000000000000700000000007e2822000000000000000000000000000000000000000000000000000000000000000f00000000005779bc000000000000000000000000000000000000000000000000000000000000001900000000002f9b44000000000000000000000000000000000000000000000000000000000000000800000000002db242000000000000000000000000000000000000000000000000000000000000004d000000000003f44c000000000000000000000000000000000000000000000000000000000000002300000000005de2b4000000000000000000000000000000000000000000000000000000000000000f00000000008261a0000000000000000000000000000000000000000000000000000000000000000800000000004b27a800000000000000000000000000000000000000000000000000000000000000210000000000006f740000000000000000000000000000000000000000000000000000000000000055000000000075f4ce0000000000000000000000000000000000000000000000000000000000000007000000000043bb5300000000000000000000000000000000000000000000000000000000000002280000000000820a5f000000000000000000000000000000000000000000000000000000000000000700000000004e3f9c00000000000000000000000000000000000000000000000000000000000000090000000000825ce600000000000000000000000000000000000000000000000000000000000000090000000000575d75000000000000000000000000000000000000000000000000000000000000000c000000000028acc4000000000000000000000000000000000000000000000000000000000000003500000000008253b40000000000000000000000000000000000000000000000000000000000000013000000000071857c0000000000000000000000000000000000000000000000000000000000000004000000000037d7e7000000000000000000000000000000000000000000000000000000000000000600000000007b30a50000000000000000000000000000000000000000000000000000000000000002000000000039edae000000000000000000000000000000000000000000000000000000000000000500000000005bfaea000000000000000000000000000000000000000000000000000000000000000700000000002aaed300000000000000000000000000000000000000000000000000000000000000180000000000513a09000000000000000000000000000000000000000000000000000000000000000b00000000007b55e20000000000000000000000000000000000000000000000000000000000000007000000000082515a00000000000000000000000000000000000000000000000000000000000000130000000000825aa4000000000000000000000000000000000000000000000000000000000000000d0000000000824cb4000000000000000000000000000000000000000000000000000000000000000d000000000081e41f000000000000000000000000000000000000000000000000000000000000000f0000000000251142000000000000000000000000000000000000000000000000000000000000003600000000000793e10000000000000000000000000000000000000000000000000000000000004a0c00000000008261a300000000000000000000000000000000000000000000000000000000000000040000000000059d2c00000000000000000000000000000000000000000000000000000000000000090000000000825ce700000000000000000000000000000000000000000000000000000000000000070000000000821ba3000000000000000000000000000000000000000000000000000000000000000900000000006dae180000000000000000000000000000000000000000000000000000000000000021000000000000038d0000000000000000000000000000000000000000000000000000000000005296000000000052f5bc000000000000000000000000000000000000000000000000000000000000001000000000000d932d000000000000000000000000000000000000000000000000000000000000001900000000008261a40000000000000000000000000000000000000000000000000000000000000005000000000001315200000000000000000000000000000000000000000000000000000000000000230000000000210d5e000000000000000000000000000000000000000000000000000000000000000200000000008255c6000000000000000000000000000000000000000000000000000000000000000a00000000002dcaf8000000000000000000000000000000000000000000000000000000000000000300000000008255c7000000000000000000000000000000000000000000000000000000000000001200000000008261a50000000000000000000000000000000000000000000000000000000000000006000000000045ef66000000000000000000000000000000000000000000000000000000000000000a00000000003df8b2000000000000000000000000000000000000000000000000000000000000000c00000000007f7a72000000000000000000000000000000000000000000000000000000000000001900000000007a078f0000000000000000000000000000000000000000000000000000000000000007000000000014e56b000000000000000000000000000000000000000000000000000000000000002000000000001e99580000000000000000000000000000000000000000000000000000000000000021000000000055b5eb000000000000000000000000000000000000000000000000000000000000000300000000006927b000000000000000000000000000000000000000000000000000000000000000040000000000821202000000000000000000000000000000000000000000000000000000000000000300000000000412a800000000000000000000000000000000000000000000000000000000000000440000000000824cb6000000000000000000000000000000000000000000000000000000000000000d00000000000b06c90000000000000000000000000000000000000000000000000000000000000014000000000043775e000000000000000000000000000000000000000000000000000000000000000d0000000000825f4d000000000000000000000000000000000000000000000000000000000000000500000000001df736000000000000000000000000000000000000000000000000000000000000002800000000002ca8b5000000000000000000000000000000000000000000000000000000000000001000000000000a774c0000000000000000000000000000000000000000000000000000000000000034000000000000002f000000000000000000000000000000000000000000000dd5c05263e62cd67458000000000020dfe90000000000000000000000000000000000000000000000000289fef3a8e5c9a1000000000075244400000000000000000000000000000000000000000000000000261710b55d180a00000000000026a60000000000000000000000000000000000000000000000000c4973000968ba9200000000007e2d34000000000000000000000000000000000000000000000000001b7fc42d9f37ae000000000010fa71000000000000000000000000000000000000000000000000003f2e11b22ff1a50000000000374dc300000000000000000000000000000000000000000000000000521e5d257ca3e00000000000824329000000000000000000000000000000000000000000000000004095d45c5a584b000000000022658c0000000000000000000000000000000000000000000000000048b89f4fb1932400000000008261a70000000000000000000000000000000000000000000000000299dfbba42fe8620000000000825aaa0000000000000000000000000000000000000000000000000146e8a1b746183c000000000082459e0000000000000000000000000000000000000000000000000003c7d6491a6ae40000000000004848000000000000000000000000000000000000000000000000000bbf291a18cbf2000000000022ff070000000000000000000000000000000000000000000000000732c087bcebb47b00000000007d94880000000000000000000000000000000000000000000000000054af43f880efa4000000000081fb1800000000000000000000000000000000000000000000000000791dbe8698d60d0000000000032d5000000000000000000000000000000000000000000000000000de81390662505600000000005cb57e000000000000000000000000000000000000000000000000018b591a84c813d8000000000052939c000000000000000000000000000000000000000000000000006ed65bfb18c8f500000000008264260000000000000000000000000000000000000000000000000001138837d67057000000000081d20c00000000000000000000000000000000000000000000000006f5abd5f3a124740000000000323a900000000000000000000000000000000000000000000000000299307caa12730000000000008261aa000000000000000000000000000000000000000000000000044fa71ecf38709c000000000024bf26000000000000000000000000000000000000000000000000006f77cb3a947e35000000000081d20d0000000000000000000000000000000000000000000000000023f574499af807000000000060578f000000000000000000000000000000000000000000000000005c0e5447ade21700000000001a112f000000000000000000000000000000000000000000000000004c23f55466404a00000000005c4c3a00000000000000000000000000000000000000000000000000f8c73e6d5ec6b8000000000058e4aa000000000000000000000000000000000000000000000000001c8acb6935f7ce0000000000042cc3000000000000000000000000000000000000000000000000005c5030c84a678500000000008225340000000000000000000000000000000000000000000000000061ace89a58a2d00000000000003f000000000000000000000000000000000000000000000000000005d7c6cea0399200000000001acb6b0000000000000000000000000000000000000000000000000584ee826687c2bc0000000000358e2d00000000000000000000000000000000000000000000000003549610044d96a5000000000019d27900000000000000000000000000000000000000000000000001304c0e5e090f050000000000175b4a00000000000000000000000000000000000000000000000000f5451f3c2ccb32000000000025efb40000000000000000000000000000000000000000000000000125783ba897c365000000000081ecec00000000000000000000000000000000000000000000000000bb277d2bbd07bb000000000013880600000000000000000000000000000000000000000000000001ae58857a28e385000000000081b1750000000000000000000000000000000000000000000000000012dfeca48afd3e000000000003e9b400000000000000000000000000000000000000000000001d4139fcd0d9be67b000000000000b047600000000000000000000000000000000000000000000000003c28752fa83cef70000000000826427000000000000000000000000000000000000000000000000001cfac37692aa1600000000002e4b6c00000000000000000000000000000000000000000000000000f3ba0b4493ef8d0000000000436f8c0000000000000000000000000000000000000000000000000022d23716759080000000000060d5f50000000000000000000000000000000000000000000000000024d71c5db951f100000000004bc66b0000000000000000000000000000000000000000000000000020716415d775590000000000822c7f000000000000000000000000000000000000000000000000057292e43a9f373d0000000000714a85000000000000000000000000000000000000000000000000001f1a4490c239a7000000000068ace20000000000000000000000000000000000000000000000000079f6f87ec6383f0000000000638ef3000000000000000000000000000000000000000000000000009d8b70b32714310000000000025c730000000000000000000000000000000000000000000000000115d1b73b05749800000000007aee54000000000000000000000000000000000000000000000000001db56b86a99d80000000000061799c0000000000000000000000000000000000000000000000000ef884545c8090f40000000000002062000000000000000000000000000000000000000000000003f943784f5bc96775000000000006af6300000000000000000000000000000000000000000000000002d55ce881b73a0400000000000a0edc0000000000000000000000000000000000000000000000000001282fd6e01dca00000000005cdd4100000000000000000000000000000000000000000000000000981b0f869634310000000000753989000000000000000000000000000000000000000000000000034b48c3073476ae00000000000b94f3000000000000000000000000000000000000000000000000001337b6ddad4aaf00000000004e83210000000000000000000000000000000000000000000000000123f7cb374984eb00000000006ca7d10000000000000000000000000000000000000000000000000af71f870d7a1fc300000000007ced6e00000000000000000000000000000000000000000000000000f8284167fb5a88000000000082432c0000000000000000000000000000000000000000000000000040a714e5e67c430000000000139edb00000000000000000000000000000000000000000000000000438e0aa9b5fe6d0000000000230f090000000000000000000000000000000000000000000000000687effda6131f1f00000000002df4a4000000000000000000000000000000000000000000000000005bd3280b16224d000000000023038e00000000000000000000000000000000000000000000000006bd3150f73314ed00000000004e60540000000000000000000000000000000000000000000000000307eafbd78df55f0000000000212bec00000000000000000000000000000000000000000000000000470409151844f6000000000050911b000000000000000000000000000000000000000000000000006c6a8c03ce467500000000006c1ce5000000000000000000000000000000000000000000000000002aa3d1ca3788f6000000000081defe000000000000000000000000000000000000000000000000003709e49ff3606000000000001519f1000000000000000000000000000000000000000000000000000a0f45aa708ca9000000000000255600000000000000000000000000000000000000000000001e54b773954a7adf5e00000000000e5564000000000000000000000000000000000000000000000000000e324a4001b99c0000000000500b57000000000000000000000000000000000000000000000000019cf12461da4d20000000000012b68e000000000000000000000000000000000000000000000000001ea21508d318b6000000000009b5a1000000000000000000000000000000000000000000000000003f3e3da2a0c9c60000000000630f1f0000000000000000000000000000000000000000000000000040280f4027db54000000000082642a0000000000000000000000000000000000000000000000000001138837d67057000000000081a9870000000000000000000000000000000000000000000000000016c5533eccfd2b0000000000822ee600000000000000000000000000000000000000000000000000191a33e7b75e5a00000000002567be00000000000000000000000000000000000000000000000000e204e8fc787b98000000000000214d000000000000000000000000000000000000000000000292a6dafe2ec4c484a300000000004ecda800000000000000000000000000000000000000000000000001adc09ff8938cae00000000003e54720000000000000000000000000000000000000000000000000009dd8a44ee02c600000000007d92370000000000000000000000000000000000000000000000000021038f788d20f6000000000008ba1f00000000000000000000000000000000000000000000000003dce2989577495000000000002d33d600000000000000000000000000000000000000000000000000239e0ff1773cb900000000008253cd000000000000000000000000000000000000000000000000067ff4dfa61d416c0000000000825cee000000000000000000000000000000000000000000000000017b9fe8ac20a5d7000000000082642b00000000000000000000000000000000000000000000000000ce34db63283a8800000000006339bb0000000000000000000000000000000000000000000000000221e0a8fe20ee33000000000080d221000000000000000000000000000000000000000000000000007e6265f5102c1c000000000062bf270000000000000000000000000000000000000000000000000563aefd37e2c4d40000000000007a1c0000000000000000000000000000000000000000000000120728e35fe44a9a26000000000023278d0000000000000000000000000000000000000000000000000004e6fffe7be2a300000000008255d300000000000000000000000000000000000000000000000000416bc9ed4c6d0b00000000007a057d0000000000000000000000000000000000000000000000000179f6eceb00bd2400000000001247a00000000000000000000000000000000000000000000000000016870a9b7796960000000000825ab400000000000000000000000000000000000000000000000000031f3d897e3e270000000000825ab60000000000000000000000000000000000000000000000000015dac9ae88ec500000000000821baf0000000000000000000000000000000000000000000000001c711df07561c7c4000000000082642e00000000000000000000000000000000000000000000000005779b273fe53c32000000000057eb83000000000000000000000000000000000000000000000000000054b0244cf3000000000000136c4b0000000000000000000000000000000000000000000000000bc7bd93fd1c6920000000000002111600000000000000000000000000000000000000000000000001cb45f3630910ae00000000001067e60000000000000000000000000000000000000000000000000025e722d888177e000000000002b8020000000000000000000000000000000000000000000000000eea192d5688ed4c0000000000210682000000000000000000000000000000000000000000000000001e69a1fd66405a0000000000574cfc000000000000000000000000000000000000000000000000001d01ee00793dd900000000007e68e60000000000000000000000000000000000000000000000000019e688d9801f2700000000007b6f85000000000000000000000000000000000000000000000000000523e0b2ef0cd4000000000082587a000000000000000000000000000000000000000000000000082ff988238ed6e5000000000053655e000000000000000000000000000000000000000000000000019d0cb159707c45000000000028bbfb0000000000000000000000000000000000000000000000000045acf85aa5abf80000000000459eaf000000000000000000000000000000000000000000000000000a3ba277ef03c700000000008261b400000000000000000000000000000000000000000000000000873d231eed1fcc000000000082587b0000000000000000000000000000000000000000000000000193c7025a914c010000000000046bc90000000000000000000000000000000000000000000000001b5e60a8f9be4cbc00000000007fb67a00000000000000000000000000000000000000000000000000053acfae3cef4b000000000002f28f00000000000000000000000000000000000000000000000000c632c8f0ce175b0000000000300f94000000000000000000000000000000000000000000000000000b5696c2665e9400000000007f884e00000000000000000000000000000000000000000000000000072fedb062e38000000000005d2503000000000000000000000000000000000000000000000000003bb5cf507d1ae700000000006913260000000000000000000000000000000000000000000000000012599c692b2fc000000000007aee7c000000000000000000000000000000000000000000000000001cc2e505e39a80000000000066c3e400000000000000000000000000000000000000000000000001ddbe4470b36820000000000010c4200000000000000000000000000000000000000000000000000039ac370e5dcd12000000000008f004000000000000000000000000000000000000000000000000003deca4c3db5229000000000082642f0000000000000000000000000000000000000000000000000001138837d670570000000000814f6c0000000000000000000000000000000000000000000000000086d6fadcd618790000000000125ba000000000000000000000000000000000000000000000000000518214f781843900000000000d24ef000000000000000000000000000000000000000000000000006b9f395e2cba350000000000824cc600000000000000000000000000000000000000000000000000346cc05becdede0000000000014c26000000000000000000000000000000000000000000000000003a77d1dbac4bd70000000000421d650000000000000000000000000000000000000000000000000018918507df067600000000001ee1bd000000000000000000000000000000000000000000000000001b443f2d03310000000000004b73e6000000000000000000000000000000000000000000000000000a6a2a277891b10000000000825cf30000000000000000000000000000000000000000000000004d27098c9af7f3c30000000000773e96000000000000000000000000000000000000000000000000002113428add9b8000000000000035c600000000000000000000000000000000000000000000000000155b6c409ded88000000000000c1960000000000000000000000000000000000000000000000000018c07c83ac24d5000000000002130c000000000000000000000000000000000000000000000000046f3bf1a5d7709f000000000008734f0000000000000000000000000000000000000000000000000005853c4a2073040000000000001fa50000000000000000000000000000000000000000000000047eb310d1ea4fae1400000000007b581e00000000000000000000000000000000000000000000000000558ae99f3ebe5f00000000007cb882000000000000000000000000000000000000000000000000001116854a4f7534000000000082433900000000000000000000000000000000000000000000000000190c8402fdc868000000000081f60300000000000000000000000000000000000000000000000000411e256a53f1370000000000498efe000000000000000000000000000000000000000000000000016ebcd546b147d40000000000028ab60000000000000000000000000000000000000000000000000028580e5ef1c93000000000000691ad0000000000000000000000000000000000000000000000000c9a2aec3641a8cd000000000081bde600000000000000000000000000000000000000000000000000ab20308653559000000000001ff167000000000000000000000000000000000000000000000000008fe92af19ffa8100000000000b215d000000000000000000000000000000000000000000000000004a773d8479c87c00000000004d4cf7000000000000000000000000000000000000000000000000003d5680e74baf8800000000007a6e1e000000000000000000000000000000000000000000000000004fa7a6c2dcb5c3000000000005b42d000000000000000000000000000000000000000000000000004333d8ebd1872100000000007d842e0000000000000000000000000000000000000000000000000005c6354f021954000000000013620d000000000000000000000000000000000000000000000000000b43deacff99890000000000021bfb00000000000000000000000000000000000000000000000002152a30b128a7b600000000008264310000000000000000000000000000000000000000000000000001138837d67057000000000031148300000000000000000000000000000000000000000000000000088589c07b390000000000008264320000000000000000000000000000000000000000000000000010c2faba43f98500000000001440fc000000000000000000000000000000000000000000000000020f6a8c0227ec9c000000000000f86d0000000000000000000000000000000000000000000000000001c82ee58a83350000000000563117000000000000000000000000000000000000000000000000004c092a00ec20860000000000285a98000000000000000000000000000000000000000000000000008702d0d129080400000000006b0abf0000000000000000000000000000000000000000000000000019fa67cb80061a000000000001e66200000000000000000000000000000000000000000000000000b113f3712701cb0000000000824ab1000000000000000000000000000000000000000000000000001d67c7c85b02680000000000125dcc0000000000000000000000000000000000000000000000000053bfd8dcf5159b0000000000002a3b000000000000000000000000000000000000000000000009aa621e5ca3114ea000000000002b42bf0000000000000000000000000000000000000000000000000054c8bb8a9b268600000000005d43ef000000000000000000000000000000000000000000000000017bc4b5ba09ef2f00000000008245ae00000000000000000000000000000000000000000000000000235552d025f5f100000000005e7b13000000000000000000000000000000000000000000000000000f43a2e1a353000000000000004f7e00000000000000000000000000000000000000000000000002109e20ed74c87f000000000052cb8000000000000000000000000000000000000000000000000001fffb7323b9a12300000000000313d9000000000000000000000000000000000000000000000000002b73f694d86e40000000000076c9be0000000000000000000000000000000000000000000000000002fd36a8b152280000000000825f5c00000000000000000000000000000000000000000000000000667691e20fc60f00000000005c70610000000000000000000000000000000000000000000000000071d331e35986c0000000000067c57b000000000000000000000000000000000000000000000000002cb264839f558000000000004ce6bd0000000000000000000000000000000000000000000000000002b3d23e3597550000000000422cf00000000000000000000000000000000000000000000000000017bcc54cc9c6fc0000000000823c230000000000000000000000000000000000000000000000000048bf4c3dfbbb5500000000005f3a33000000000000000000000000000000000000000000000000017e46d23503f83d00000000003510aa0000000000000000000000000000000000000000000000000014692d4340025d00000000007f6b2000000000000000000000000000000000000000000000000000056b6c9bffc57a00000000008255e4000000000000000000000000000000000000000000000000000e23e115c8c1ae000000000082433b000000000000000000000000000000000000000000000000002006318e1e4ecb00000000005d72de0000000000000000000000000000000000000000000000000029af78df0fad6d00000000002693ed00000000000000000000000000000000000000000000000000134d551c950e25000000000082643600000000000000000000000000000000000000000000000000adda50d4fb766d0000000000824f2100000000000000000000000000000000000000000000000000a95293759ad9660000000000824ab40000000000000000000000000000000000000000000000000075600edbeba87d000000000035f8c000000000000000000000000000000000000000000000000001273a0f1ee9fdb100000000006371980000000000000000000000000000000000000000000000000a1770ad54af71990000000000225e66000000000000000000000000000000000000000000000000002acf5a995db05600000000004af5ce000000000000000000000000000000000000000000000000004430b2cb531b7500000000001903a9000000000000000000000000000000000000000000000000002dc9edfbd9dc27000000000009670b00000000000000000000000000000000000000000000000000c281098d4f522300000000001fd624000000000000000000000000000000000000000000000000009d27622bf7b3f5000000000001f3c900000000000000000000000000000000000000000000000000629f9f8d079f5e00000000006951b8000000000000000000000000000000000000000000000000000cb77b0c197ee000000000008225460000000000000000000000000000000000000000000000000b1c1c14fc61bd3400000000007a66d100000000000000000000000000000000000000000000000002b4a966adc03f400000000000108825000000000000000000000000000000000000000000000000021d021f2115f687000000000073ce0f000000000000000000000000000000000000000000000000003f64a688db435b0000000000256a470000000000000000000000000000000000000000000000000182933c3c676d480000000000001e0b00000000000000000000000000000000000000000000000a685df5f30e5927060000000000823c2400000000000000000000000000000000000000000000000005d3d306a027307000000000000c65fe0000000000000000000000000000000000000000000000000075cd24502eb33c00000000008255e5000000000000000000000000000000000000000000000000515e336ed9a7f81100000000008253dc000000000000000000000000000000000000000000000000014061de709aa4e30000000000024182000000000000000000000000000000000000000000000000001ac683d1b6fd5200000000001312e400000000000000000000000000000000000000000000000000565e1d3dee59fe00000000007b4531000000000000000000000000000000000000000000000000000c2c32a512fd860000000000825cf6000000000000000000000000000000000000000000000000006309dc5ce017800000000000010cd8000000000000000000000000000000000000000000000000017863ff18a298ef00000000008258890000000000000000000000000000000000000000000000000004f257f856e9b40000000000825172000000000000000000000000000000000000000000000000000813ab87a8b08200000000004894230000000000000000000000000000000000000000000000000258ecded62853650000000000550ca900000000000000000000000000000000000000000000000000181d32ae40c03a000000000082254900000000000000000000000000000000000000000000000000610c7998c2608e0000000000125dd30000000000000000000000000000000000000000000000000053bfa73a39b9d30000000000825f5d0000000000000000000000000000000000000000000000000055341d8ab9f3a400000000002ea0c200000000000000000000000000000000000000000000000000be3ad056017d3d00000000002e42f6000000000000000000000000000000000000000000000000000317a809b48d7a000000000081f431000000000000000000000000000000000000000000000000000390686ab8109a000000000081b93200000000000000000000000000000000000000000000000000004a6b99a9d4000000000000826437000000000000000000000000000000000000000000000000005f224902d20816000000000081d962000000000000000000000000000000000000000000000000004af4f9c403bc6e00000000000c3af9000000000000000000000000000000000000000000000000005578d4cc1cae800000000000183dc10000000000000000000000000000000000000000000000000304530312b05406000000000081dbd90000000000000000000000000000000000000000000000000037d0c95703fede0000000000757521000000000000000000000000000000000000000000000000008fecc9520ffbb900000000007b650f000000000000000000000000000000000000000000000000001f76d5522f570b000000000047bfbc0000000000000000000000000000000000000000000000000069877390ecf67d00000000000020f3000000000000000000000000000000000000000000000000340f6b0c3245e36a000000000081e1e90000000000000000000000000000000000000000000000000036eab25e70ac7500000000007ed7230000000000000000000000000000000000000000000000000022d975e1dcacb40000000000125bb40000000000000000000000000000000000000000000000000053b4af91cf3a19000000000066f7d1000000000000000000000000000000000000000000000000000a93b439220c74000000000073855f00000000000000000000000000000000000000000000000000219d46cfe945de000000000000003e0000000000000000000000000000000000000000000000000f3d416b9d2e2494000000000011d72b0000000000000000000000000000000000000000000000000022b2dad0c1f2530000000000003b100000000000000000000000000000000000000000000000000057ec8a61c22b6d00000000007cd091000000000000000000000000000000000000000000000000001fc4423aabfe9100000000001a4c90000000000000000000000000000000000000000000000000005c146c6bc916e000000000000fce7b000000000000000000000000000000000000000000000000003c05e8eb81666a00000000002229b6000000000000000000000000000000000000000000000000005a04dd2cb33502000000000082643900000000000000000000000000000000000000000000000007990d524f4e179c00000000002260da0000000000000000000000000000000000000000000000000114985a03cf4123000000000008bfdc0000000000000000000000000000000000000000000000000018ca5f7178a631000000000000b05200000000000000000000000000000000000000000000000007b79dc46af399c900000000006af30f000000000000000000000000000000000000000000000000001647c55315477500000000007dd10b000000000000000000000000000000000000000000000000013b37832b75672e000000000000406500000000000000000000000000000000000000000000035f798ec2aeec63af9b00000000002e3414000000000000000000000000000000000000000000000000001208de1721fad600000000002f5da3000000000000000000000000000000000000000000000000037efc2485adf03200000000002da6c1000000000000000000000000000000000000000000000000002b22ca23131e6c00000000000389d3000000000000000000000000000000000000000000000000005fa4121b9d0ed50000000000566b02000000000000000000000000000000000000000000000000000895298e141834000000000081ed0b000000000000000000000000000000000000000000000000006343aabfae04f4000000000017591700000000000000000000000000000000000000000000000000fadb997100343200000000004a586700000000000000000000000000000000000000000000000063d8acc60a6a4b8500000000000065a5000000000000000000000000000000000000000000000000068f12d1d0bf14db000000000075ccb7000000000000000000000000000000000000000000000000002dc066a2a68a00000000000043b7900000000000000000000000000000000000000000000000000ddff10432bbb68f00000000007b651300000000000000000000000000000000000000000000000000144ff5f08f98d0000000000082643b00000000000000000000000000000000000000000000000011580100e80b600500000000004e399000000000000000000000000000000000000000000000000000071d289fd389360000000000825894000000000000000000000000000000000000000000000000002f0b9ed4ce38e5000000000057578f000000000000000000000000000000000000000000000000002cf66f1644a9b1000000000023a478000000000000000000000000000000000000000000000000001c200bf825a54f0000000000824cd8000000000000000000000000000000000000000000000000014e57b53c7d0e6700000000006478dd000000000000000000000000000000000000000000000000000af9e5bd55ea47000000000037cc5c000000000000000000000000000000000000000000000000000af5a69cde00b000000000000077fc000000000000000000000000000000000000000000000000d642957badd8107e000000000072ffa40000000000000000000000000000000000000000000000000008804c7ff869c2000000000036f0bc000000000000000000000000000000000000000000000000013b4254f67e525a000000000081ef880000000000000000000000000000000000000000000000000f3ebd28d901443c0000000000824f2d000000000000000000000000000000000000000000000000000b140fd6862e0c00000000005be372000000000000000000000000000000000000000000000000000df350c7416f4700000000002a6fb60000000000000000000000000000000000000000000000000018a0abd7d0d8aa0000000000513a370000000000000000000000000000000000000000000000000008c3b79171d88400000000007aeedc000000000000000000000000000000000000000000000000001be12e91ad81000000000000824f2f00000000000000000000000000000000000000000000000050740119fd81fbdb000000000082643f0000000000000000000000000000000000000000000000000011c44531ec3ae300000000002c82fc00000000000000000000000000000000000000000000000003b4aa0d75c2483600000000008258970000000000000000000000000000000000000000000000000134a073947d03e800000000008243440000000000000000000000000000000000000000000000000040a719bab25bc3000000000081dbe2000000000000000000000000000000000000000000000000003645e31904b2e50000000000116d6c00000000000000000000000000000000000000000000000001a1af8cddebb3d9000000000001e42e000000000000000000000000000000000000000000000000004a6eaa4d7b249b0000000000076ff800000000000000000000000000000000000000000000000003754e4be0f649b100000000001903b900000000000000000000000000000000000000000000000000366c04f943940000000000008253e20000000000000000000000000000000000000000000000000119cbf69df653e3000000000005931400000000000000000000000000000000000000000000000000174a99f50c029200000000008004910000000000000000000000000000000000000000000000000279958544b845ef000000000082025f000000000000000000000000000000000000000000000000002b0da27beab7f100000000006d9e420000000000000000000000000000000000000000000000000200ac03dc5fe5d3000000000000015e00000000000000000000000000000000000000000000000001eabb31f25e1b8800000000004e22f6000000000000000000000000000000000000000000000000004533b9958358a500000000000ce49d00000000000000000000000000000000000000000000000001ea40aa2bdd8334000000000021869a00000000000000000000000000000000000000000000000000150c8a37cc09330000000000824cdd000000000000000000000000000000000000000000000000003f471dac4d89e6000000000000275500000000000000000000000000000000000000000000000000277ba121873ddb0000000000195883000000000000000000000000000000000000000000000000009126371343ab24000000000082364900000000000000000000000000000000000000000000000006ac78944579a663000000000000543e000000000000000000000000000000000000000000000000005eababb37ef2150000000000824cde00000000000000000000000000000000000000000000000000b967d59aad888800000000008233fe000000000000000000000000000000000000000000000000001fa5ae1c8e230e000000000045df5f0000000000000000000000000000000000000000000000000044d2aa6072f946000000000076b1760000000000000000000000000000000000000000000000000bbdf09aefd7e1b100000000003dd2f1000000000000000000000000000000000000000000000000003651061a412e1b00000000007f761300000000000000000000000000000000000000000000000000761b18de587b5b00000000006b0ad500000000000000000000000000000000000000000000000000193205c12fe1ac000000000014d50b0000000000000000000000000000000000000000000000000a8d9a8f8438ff9e000000000017a7e70000000000000000000000000000000000000000000000000b1349c781c81eee0000000000559bb300000000000000000000000000000000000000000000000000386f052f025b8000000000006925e000000000000000000000000000000000000000000000000000745c9085fe1ad00000000000682971000000000000000000000000000000000000000000000000239afa2090a8e424000000000000780b000000000000000000000000000000000000000000000000051b102cb446b3df0000000000824348000000000000000000000000000000000000000000000000004095d5dfc8794b00000000000b04b600000000000000000000000000000000000000000000000003c1a104409e9a0f00000000006e16360000000000000000000000000000000000000000000000000022e5dd381b2b00000000000043757a000000000000000000000000000000000000000000000000016f826212592cf30000000000821f0c00000000000000000000000000000000000000000000000010e07b07ce11544f00000000001de69700000000000000000000000000000000000000000000000000196109e91e089c000000000011c066000000000000000000000000000000000000000000000000001a104f9d97e72200000000000909a00000000000000000000000000000000000000000000000000063dd33620d770f00000000000000240000000000000000000000000000383c00000000000000000000000064363dfb000000000005383f000000000000000000000000000000000000000000000000000000000000532a000000000003e2320000383c00000000000000000000000000c097ce7bc90715b34b9f1000000000000000000003e2350000383c00000000000000000000000000c097ce7bc90715b34b9f1000000000000000000003e2380000383c00000000000000000000000000c097ce7bc90715b34b9f1000000000000000000000e5b30000000000000000000000000000000000000000000000022eb9a0853267ec39000000000000e5b4000000000000000000000000000000000000000003de3e7570899859a58eacf1000000000000e5b50000000000000000000000000000000000000000000000000000000064363dfb000000000000e807000000000000000000000000000000000000000000289041ae9c3515732282a4000000000000e80800000000000000000000000000000000000048ba1c953d3c97a283061346333e000000000000e80900000000000000000000000000000000000000000000000000000f78bfebf54e00000000001735e964363e27000000000000000000000000000000000888904ac863400064363dfb0000000000007a5a00000000000000000000000000000000000000000000000000000000000136bd00000000008258d900000000000000000000000000000000000000000000000000000000000000050000000000824f9a0000000000000000000000000000000000000000000000000000000000000002000000000000215000000000000000000000000000000000000000000001209d154b77c34c4e2b93000000000003dfee000000000000000000000000000000000000000000000000000000000000383c000000000003dfef0000000000000000000000000000000000000000000000000de0eef7f7e47c9b000000000005388900000000000000000000000000000000000000000000000000000041d298132e000000000026383200000000000000000000000000000000000000000000000000000000025dd50700000000000535ff00000000000000000000000000000000000000000000000000125f48c7b703ea00000000003bcdd4000000000000000000000000000000000000000000000000000000000000000000000000003bcdd50000000000000000000000000000000000000000000000000de0eef7f7e47c9b00000000001733cb64363e27000000000000000000000000000000000834b83797b0400064363dfb0000000000079494000000000000000000000000000000000000000000000000000000000000005a00000000005e14ad00000000000000000000000000000000000000000000000000000013765feaf000000000005e14ae00000000000000000000000000000000000000000000000000000012f0ebdc250000000000172dbe64363e27000000000000000000000000000000653af6f13fed31000064363dfb000000000062ca5b00000000000000000000000000000000000000000000000013773666d4fb1db1000000000062ca5c000000000000000000000000000000000000000000000000000000009c7110c7000000000003dff9000000000000000000000000000000000000000000000000000000000000383c000000000003ea55000000000000000000000000000000000000000000000000000002743c1772b300000000007cc1f000000000000000000000000000000000000000000000000000000016b29a31bb00000000007cc1f10000000000000000000000000000000000000000000000000000603096836ed0000000000082623a000000000000000000000000000000000000000000000000000000000000002600000000008264a1000000000000000000000000000000000000000000000000000000000000000000000000008264a20000000000000000000000000000000000000000000000000000000000000000000000000082623b0000000000000000000000000000000000000000000000000000000000000049000000000077b37700000000000000000000000000000000000000000000015fed4499039083eb7e00000000008264a300000000000000000000000000000000000000000000000000000000000000000000000000825d520000000000000000000000000000000000000000000000000000000000000012000000000052ea9100000000000000000000000000000000000000000000a294a1a0cd1d6cbbc6a400000000007f2298000000000000000000000000000000000000000000000002074e822eda11d75900000000008264a40000000000000000000000000000000000000000000000000000000000000049000000000082544900000000000000000000000000000000000000000000000000000000000000120000000000172a5464363e2700000000000000000000000000000657a4ca3b1e6e16000064363dfb00000000001c22cb000000000000000000000000000000000000000000009cb049ac684587be9d1d00000000001c27cdfffffffffffffffffffffffffffffffffffffffffffffd80174ad2257a89a48400000000001c2507000000000000000000000000000000000000000000000000000000000000000000000000002cc587000000000000000000000000000000000000000000000000000000000000000200000000008264d9000000000000000000000000000000000000000000000000000000000000000100000000001fb5930000000000000000000000000000000000000000000000000000001386342bbb000000000023237900000000000000000000000000000000000000000000005867ca083cff01300000000000005502ae0000000000000000000000000000000000000000000000000000000154ad472400000000005502af0000000000000000000000000000000000000000000000000e26142a88784e3600000000005502b00000000000000000000000000000000000000000000000000000000064363dfb00000000005506dc000000000000000000000000000000000000000000000000000946f331a9cbe500000000005506dd000000000000000000000000000000000000000000006237eab346d4f7879dda0000000000001f3e00000000000000000000000000000000000000000000000000004194a5f3be680000000000084ea0000000000000000000000000000000000000000000000000000000000000000000000000000d5c8d0000000000000000000000000000000000000000000000000000000000000000000000000001674d000000000000000000000000000000000000000000000000000000000000000000000000004dda400000000000000000000000000000000000000000000000000000000000a7d8de0000000000825b7d00000000000000000000000000000000000000000000000000000000000000000000000000213fc500000000000000000000000000000000000000000000000000000000008e4694000000000052a08200000000000000000000000000000000000000000000000000000000047672cc00000000008264e10000000000000000000000000000000000000000000000000000000000000007000000000019e5b200000000000000000000000000000000000000000000000000000000033a9e4f000000000081d6a4000000000000000000000000000000000000000000000000000000000000003800000000007f7b470000000000000000000000000000000000000000000000000000000000b8b0550000000000824152000000000000000000000000000000000000000000000000000000000000cd01000000000075544d00000000000000000000000000000000000000000000000000000001df4143bd00000000001447330000000000000000000000000000000000000000000000000000000000a390b600000000007a10c5000000000000000000000000000000000000000000000000000000000427e5350000000000577a7b00000000000000000000000000000000000000000000000000000000002b468e0000000000145f010000000000000000000000000000000000000000000000000000000003407333000000000048a9fc000000000000000000000000000000000000000000000000000000000645898800000000007a7df5000000000000000000000000000000000000000000000000000000000791cd63000000000046083400000000000000000000000000000000000000000000000000000778cfb1e4a3000000000082601e000000000000000000000000000000000000000000000000000000000e60633d0000000000235d2b0000000000000000000000000000000000000000000000000000000000000025000000000000219f0000000000000000000000000000000000000000000000000000042013959852000000000082626d000000000000000000000000000000000000000000000000000000000daa267000000000004b058b000000000000000000000000000000000000000000000000000000028c5c43f30000000000059e1f000000000000000000000000000000000000000000000000000000000053cc0200000000000050c300000000000000000000000000000000000000000000000000000000005111ea00000000007516eb0000000000000000000000000000000000000000204fce5e3e25026103d6f12800000000001a5804000000000000000000000000000000000000000000000000000000000000003500000000008254740000000000000000000000000000000000000000000000000000000000e4e1c00000000000190450000000000000000000000000000000000000000000000000000000000000002d00000000005bfba600000000000000000000000000000000000000000000000000000000009cfade0000000000826270000000000000000000000000000000000000000000000000000000000102dde800000000002c9f4c000000000000000000000000000000000000000000000000000000001d22cb480000000000825b8a00000000000000000000000000000000000000000000000000000002700c5d8e0000000000826273000000000000000000000000000000000000000000000000000000000000000000000000005dcf0b0000000000000000000000000000000000000000000000000000000000000058000000000082627400000000000000000000000000000000000000000000000000000000009d818b00000000005d4f57000000000000000000000000000000000000000000000000000000000000003e000000000047b96700000000000000000000000000000000000000000000000000000000011b307d0000000000136576000000000000000000000000000000000000000000000000000000d7fb590c1c000000000008f5ff000000000000000000000000000000000000000000000000000000000000000000000000002aafcc0000000000000000000000000000000000000000000000000000000000447fad000000000081b2360000000000000000000000000000000000000000000000000000000000000004000000000042319e00000000000000000000000000000000000000000000000000000000d1c7a2310000000000825b900000000000000000000000000000000000000000000000000000000023894d9600000000000021d100000000000000000000000000000000000000000000000000000006d2dc20dc0000000000825d98000000000000000000000000000000000000000000000000000000000000003f00000000008264ee00000000000000000000000000000000000000000000000000000000000000000000000000442786000000000000000000000000000000000000000000000000000000000000005e00000000002605e10000000000000000000000000000000000000000000000000000000000000009000000000081d83b0000000000000000000000000000000000000000000000000000000000000038000000000082627a0000000000000000000000000000000000000000000000000003f28cb5d1c82b00000000000c69cc000000000000000000000000000000000000000000000000000000001498f6b7000000000043ab570000000000000000000000000000000000000000000000000000000000101b8a000000000082627d0000000000000000000000000000000000000000000000000000000000000000000000000007797f00000000000000000000000000000000000000000000000000000009f925d01100000000000b0a9b000000000000000000000000000000000000000000000000000000000003e1c700000000007be23d000000000000000000000000000000000000000000000000000000001fe15f6200000000003b2ce5000000000000000000000000000000000000000000000000000000000000cd01000000000081dd590000000000000000000000000000000000000000000000000000000000000029000000000082627f000000000000000000000000000000000000000000000000000000000e009fa70000000000825b97000000000000000000000000000000000000000000000000000000003e6dd13700000000001d1dc000000000000000000000000000000000000000000000000000000000001f0e93000000000026a1cd0000000000000000000000000000000000000000000000000000000010bb833d00000000000b0d02000000000000000000000000000000000000000000000000000000000004f5d6000000000035f71d0000000000000000000000000000000000000000000000000000005fa42c94d00000000000536b1400000000000000000000000000000000000000000000000000000000000000490000000000162489000000000000000000000000000000000000000000000000000000006d6ac542000000000043a93c000000000000000000000000000000000000000000000000000000000000078800000000008264f2000000000000000000000000000000000000000000000000000000001738dd2900000000004d86a50000000000000000000000000000000000000000000000000000020a6ca9dd0000000000008264f4000000000000000000000000000000000000000000000000000000000e009fa700000000000999480000000000000000000000000000000000000000000000000000000001f6d5db00000000003e27040000000000000000000000000000000000000000000000000000000000e28e63000000000054bb4d00000000000000000000000000000000000000000000000000000001c139bbc400000000008264f50000000000000000000000000000000000000000000000000000000000706dea000000000080b23f0000000000000000000000000000000000000000000000000000000004d6299c00000000008264f6000000000000000000000000000000000000000000000000000000003a2bbd2800000000008234a000000000000000000000000000000000000000000000000000000000006df6a6000000000024ea9f00000000000000000000000000000000000000000000000000000000000000510000000000824b68000000000000000000000000000000000000000000000000000000000234e0810000000000633e2f00000000000000000000000000000000000000000000000000000000001f4a2a000000000044619200000000000000000000000000000000000000000000000000000000007194600000000000077c0800000000000000000000000000000000000000000000000000000002261d97690000000000760088000000000000000000000000000000000000000000000000000000000055bee300000000000083300000000000000000000000000000000000000000000000000000000145e9d49400000000007a09870000000000000000000000000000000000000000000000000000000000000000000000000081ebd000000000000000000000000000000000000000000000000000000002288dcc2500000000007e309c000000000000000000000000000000000000000000000000000000000000000000000000003074360000000000000000000000000000000000000000000000000000000006428e1e0000000000825b9f000000000000000000000000000000000000000000000000000000003e6dd13700000000008264fc0000000000000000000000000000000000000000000000000000000000000000000000000082602f00000000000000000000000000000000000000000000000000000000000000160000000000822b1500000000000000000000000000000000000000000000000000000000000c4da5000000000082628a000000000000000000000000000000000000000000000000000000000000000000000000001ea48b000000000000000000000000000000000000000000000000000000000000001a00000000005dc5e4000000000000000000000000000000000000000000000000000000000005eb01000000000082628b00000000000000000000000000000000000000000000000000000000038d7eb20000000000532384ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000008264fe0000000000000000000000000000000000000000000000000000000001a7207100000000004a0d620000000000000000000000000000000000000000000000000000000000000000000000000001d3c600000000000000000000000000000000000000000000000000000000000000000000000000359ade000000000000000000000000000000000000000000000000000000000000002500000000008264ff000000000000000000000000000000000000000000000000000000001d258c40000000000030718d0000000000000000000000000000000000000000000000000000000006428e1e00000000006b38f40000000000000000000000000000000000000000000000000000000000445b490000000000826500000000000000000000000000000000000000000000000000000000000000002d0000000000301df20000000000000000000000000000000000000000000000000000000000a822db00000000000040a600000000000000000000000000000000000000000000000000001c3106fdc9d20000000000826501000000000000000000000000000000000000000000000000000000001738dd2900000000003df9cc0000000000000000000000000000000000000000000000000000000000a2c94d000000000011e11600000000000000000000000000000000000000000000000000000000000dfc4b00000000007e292d00000000000000000000000000000000000000000000000000000000023663a600000000001d1ae000000000000000000000000000000000000000000000000000000000001f131f0000000000529e2000000000000000000000000000000000000000000000000000000000000000470000000000824b7100000000000000000000000000000000000000000000000000000000008de44200000000007a07f70000000000000000000000000000000000000000000000000000000000c6b9b800000000003e8399000000000000000000000000000000000000000000000000000000000048fae300000000006d42e000000000000000000000000000000000000000000000000000000000177e1666000000000082134e000000000000000000000000000000000000000000000000000000000000000000000000007ce38800000000000000000000000000000000000000000000000000000000002189e20000000000820b8c0000000000000000000000000000000000000000000000000000000006314ee0000000000081e7b00000000000000000000000000000000000000000000000000000000000000029000000000008c0f9000000000000000000000000000000000000000000000000000000000000004c00000000005e19980000000000000000000000000000000000000000000000000000000004da63ee00000000007f9fa30000000000000000000000000000000000000000000000000000000001312d0000000000008260390000000000000000000000000000000000000000000000000000000023d21fbe00000000001d1dd600000000000000000000000000000000000000000000000000000000001f0e5a00000000000d941c0000000000000000000000000000000000000000000000000000000000c6faf3000000000037d8e70000000000000000000000000000000000000000000000000000000005f5378d0000000000025f94000000000000000000000000000000000000000000000000000000000117b5b4000000000071862d0000000000000000000000000000000000000000000000000000000001682e880000000000575e7300000000000000000000000000000000000000000000000000000000048e13bc0000000000825db0000000000000000000000000000000000000000000000000000000000238f6af00000000007cb92100000000000000000000000000000000000000000000000000000000001627cb000000000082629400000000000000000000000000000000000000000000000000000000000994f500000000008265030000000000000000000000000000000000000000000000000000000000000000000000000064ed3b000000000000000000000000000000000000000000000000000000000000003a000000000012566300000000000000000000000000000000000000000000000000000000035502650000000000822fb500000000000000000000000000000000000000000000000000000000013400990000000000371cba000000000000000000000000000000000000000000000000000000000000000000000000008254940000000000000000000000000000000000000000000000000000000000000000000000000082650400000000000000000000000000000000000000000000000000000000086486fe000000000082650500000000000000000000000000000000000000000000000000000000000000000000000000661941000000000000000000000000000000000000000000000000000000000000dee20000000000821ca4000000000000000000000000000000000000000000000000000000000098ba7e000000000082650600000000000000000000000000000000000000000000000000000000000000070000000000825bae00000000000000000000000000000000000000000000000000000000000c8a8100000000008259810000000000000000000000000000000000000000000000000000000001a533f20000000000211d84000000000000000000000000000000000000000000000000000000000004f5d600000000000049f000000000000000000000000000000000000000000000000000000001804fff2b000000000026060a0000000000000000000000000000000000000000000000000000000037876de800000000001abe4d000000000000000000000000000000000000000000000000000000000d0554ac000000000059676a000000000000000000000000000000000000000000000000000000000000005e00000000000536b2000000000000000000000000000000000000000000000000000000aeff910b1200000000000e68b2000000000000000000000000000000000000000000000000000000000007f0ed00000000004bb0720000000000000000000000000000000000000000000000000000000002fe02fe000000000082492c000000000000000000000000000000000000000000000000000000000000000000000000002db31b000000000000000000000000000000000000000000000000000000000000002f00000000007a08020000000000000000000000000000000000000000000000000000000000a6c22f000000000033544e000000000000000000000000000000000000000000000000000000000000001a0000000000368fb50000000000000000000000000000000000000000000000000000000003c15c1a00000000005502ec0000000000000000000000000000000000000000000000000000000154ad4724000000000082650a000000000000000000000000000000000000000000000000000000000000000000000000002a6e170000000000000000000000000000000000000000000000000000000010c2a6250000000000251260000000000000000000000000000000000000000000000000000000000000000000000000008262a4000000000000000000000000000000000000000000000000000000000010a9ac00000000005635c40000000000000000000000000000000000000000000000000000000002a3443200000000005bc423000000000000000000000000000000000000000000000000000000000026285500000000004427c0000000000000000000000000000000000000000000000000000000000000005e000000000081dd730000000000000000000000000000000000000000000000000000000037de06ca000000000082650b000000000000000000000000000000000000000000000000000000000000000000000000007e2e470000000000000000000000000000000000000000000000000000000000000000000000000082650c000000000000000000000000000000000000000000000000000000000daa267000000000000024ee0000000000000000000000000000000000000000000000000000030366ae227100000000008045e900000000000000000000000000000000000000000000000000000000075873af0000000000824b8100000000000000000000000000000000000000000000000000000000061501b1000000000006906a0000000000000000000000000000000000000000000000000000000000ee103e0000000000824933000000000000000000000000000000000000000000000000000000000000000000000000006bc9c5000000000000000000000000000000000000000000000000000000000000003a000000000082598c00000000000000000000000000000000000000000000000000000000000994f5000000000019507200000000000000000000000000000000000000000000000000000012d91cf57f00000000000415b60000000000000000000000000000000000000000000000000000000000000000000000000082501f0000000000000000000000000000000000000000000000000000000003151b3000000000007a08080000000000000000000000000000000000000000000000000000000000ac87f500000000000413dd0000000000000000000000000000000000000000000000000000000000000000000000000082598e000000000000000000000000000000000000000000000000000000000000001600000000001b3d4a0000000000000000000000000000000000000000000000000000006c954a38c0000000000012d74d00000000000000000000000000000000000000000000000000000000154dc9a100000000001d1afe00000000000000000000000000000000000000000000000000000000001f11390000000000211d95000000000000000000000000000000000000000000000000000000000003e1c700000000001365c864363dfb00000000001ad778f53cc6f64bdc000000000000000000d7fb590c1c0000000000138c09000000000000000000000002b06a18a2968b9798d28d0621496a676cc00ee49a0000000000138c0a00000000000000000000000000000000000000a5b904cf3f50a9fb8bfc5d0ace000000000080f093000000000000000000000000000000000000000000000000000006b09aece2dc000000000053449a00000000000000000000000000000000000000000000000df0b2473deda3b73c000000000080ee7e00000000000000000000000000000000000000000000000df0b2473deda3b73c000000000080ee7f000000000000000000000000000000000000000000000000000037287bb9c68c000000000081337d0000000000000000000000000000000000000000000000000000000007b0091f0000000000649e990000000000000000000000000000000000000000000000000000000007b0091f00000000002ff2aa000000000000000000000000000000000000000000000000000006b09aece2dc00000000001a6671000000000000000000000000000000000000000000000000000037287bb9c68c000000000022f40a000000000000000000000000000000000000000000024b36903bc7ee818787c800000000001e7c870000000000000000000000000000000000000000001af4ff4ebb7dd4abe11b6800000000001eb1db0000000000000000000000000000000000000000000026f683bc4df2b3a66c6000000000008262c100000000000000000000000000000000000000000000000000290334f34980000000000000513d9d00000000000000000000000000000000000000000000000000000000000000000000000000246ee0000000000000000000000000000000000000000000004219a208b499fa2648fd00000000001eb46a00000000000000000000000000000000000000000000b5057d581bca740396d000000000001eb46cffffffffffffffffffffffffffffffffffffffffffffe8c09ee6402ad072fb54000000000076ade6000000000000000000000000000000000000000000000000f56c779bb61e6308000000000039fd31000000000000000000000000000000000000000000000000007857b6b89d8e42000000000060da5e000000000000000000000000000000000000000000000000000000000000000000000000000039e6000000000000000000000000000000000000000000000000000000000001dab500000000000039e8000000000000000000000000000000000000000000000000000000000001dab50000000000826525000000000000000000000000000000000000000000000000000000000000000000000000008257200000000000000000000000000000000000000000000000000000000000000001000000000032fd87000000000000000000000000000000000000000000000000000000000000000000000000008259ad0000000000000000000000000000000000000000000000000000000000000002000000000081aae50000000000000000000000001e144b9b431926eeeab6146c1382e2ca672dd67c000000000082653700000000000000000000000000000000000000000000000000000000000000020000000000002156000000000000000000000000000000000000000000000292a6dafe2ec4c484a3000000000003420a000000000000000000000000000000000000000000000000000000000000000000000000004608840000000000000000000000000000000000000000000000eed99f2838b2a9e17700000000001c238a00000000000000000000000000000000000000000000000cadd86dac27eb7001000000000054a6d400000000000000000000000000000000000000000000002df6a64a0ea7cc512b00000000000021a3000000000000000000000000000000000000000000000083d36cefce65cd6ced000000000013664a00000000000000000000000000000000000000000000001ad778f53cc6f64bdc00000000007973270000000000000000000000000000000000000000000000000000000000000000000000000082505700000000000000000000000000000000000000000000000000206cdaa9cdeb8000000000000023f7000000000000000000000000000000000000000000000000ddb00a376882239b000000000000e6ba0000000000000000000000000000000000000000000000022eb9a0853267ec3900000000007b31cf000000000000000000000000000000000000000000000000001e112e791ff29e0000000000547fa700000000000000000000000000000000000000000000000037892834cac8416d0000000000009e8e0000000000000000000000000000000000000000000000001732cae65919879100000000002dd059000000000000000000000000000000000000000000000000000000000000000000000000005dc88d00000000000000000000000000000000000000000000000000000000000000410000000000246f1900000000000000000000000000000000000000000000000367d349178c49ce93000000000000e8fa0000000000000000000000000000000000000000000000001c24fd7fcd79e7b000000000005cb6d90000000000000000000000000000000000000000000000000000000000000000000000000000215700000000000000000000000000000000000000000000002dbae41b21f2577d71000000000054bbaf000000000000000000000000000000000000000000000000d6b2ad78f665c3250000000000826310000000000000000000000000000000000000000000000000000000000000001900000000000024f1000000000000000000000000000000000000000000000000b009dfbe1f0c873500000000005503380000000000000000000000000000000000000000000000000e26142a88784e3600000000000024f20000000000000000000000000000000000000000000000604f67cbf343ab63ac0000000000825e43000000000000000000000000000000000000000000000000000000000000000000000000005a974b000000000000000000000000000000000000000000000000000000000ba6e08100000000005a974c000000000000000000000000000000000000000000000053cc526f7f6716988400000000000040fe00000000000000000000000000000000000000000000035f798ec2aeec63af9b00000000005e15ae00000000000000000000000000000000000000000000000000000013765feaf000000000000040ff000000000000000000000000000000000000000000000355dd849816815d2d71000000000063423900000000000000000000000000000000000000000000023c99e13804769c63b600000000005e15af000000000000000000000000000000000000000000000000000000138ef125f800000000002fc8fb0000000000000000000000000000000000000000000035e392f6087438029d6000000000004f7bdf000000000000000000000000000000000000000000000000000000000c35dbfa000000000000410000000000000000000000000000000000000000000000000000001ac6a7fb1bd300000000000b4f8500000000000000000000000000000000000000000000000220a56828f21d790b000000000062cb65000000000000000000000000000000000000000000000000000000009c7110c7000000000052ebc3000000000000000000000000000000000000000000009cffea1947d748dcd08b00000000005e15b000000000000000000000000000000000000000000000000000000012f0ebdc2500000000000b4f8600000000000000000000000000000000000000000000000c676161174c6d80ba00000000007cc2b60000000000000000000000000000000000000000000000000000603096836ed000000000007cc2b70000000000000000000000000000000000000000000000000000603096836ed000000000002fc8fc000000000000000000000000000000000000000000006f97038be93aa59b1f8a000000000052ebc4000000000000000000000000000000000000000000000000000000e5d172c476000000000054c33d0000000000000000000000000000000000000000000000bf8a850202f20ab59600000000002fc8fd000000000000000000000000000000000000000000000000000000231bee6107000000000030075f000000000000000000000000000000000000000000000004ad2e6702482371f0000000000063423a00000000000000000000000000000000000000000000000000000002744013e400000000005a9752000000000000000000000000000000000000000000000000000000000ba6e081000000000052ebc500000000000000000000000000000000000000000000a294a1a0cd1d6cbbc6a4000000000000410100000000000000000000000000000000000000000000000000001c3106fdc9d200000000000b4f8700000000000000000000000000000000000000000000000c581a2a219240431f00000000005a9753000000000000000000000000000000000000000000000053cc526f7f6716988400000000007cc2b800000000000000000000000000000000000000000000000000000016b29a31bb00000000004f7be000000000000000000000000000000000000000000000000008cced662252a75400000000003007600000000000000000000000000000000000000000000039a582640956d5559ac8000000000062cb6600000000000000000000000000000000000000000000000013773666d4fb1db10000000000300766000000000000000000000000000000000000000000000004ad2e6702482371f000000000003007670000000000000000000000000000000000000000000039a582640956d5559ac8000000000052ebc600000000000000000000000000000000000000000000b009f78c3c4382452aba000000000052ebc7000000000000000000000000000000000000000000009cffea1947d748dcd08b000000000052ebc8000000000000000000000000000000000000000000000000000000e5d172c476000000000052ebc9000000000000000000000000000000000000000000016e034eba5aa2c5adea13000000000053452d000000000000000000000000000000000000000000000051195470f56c4f02ee00000000001eb50f00000000000000000000000000000000000000000000b5057d581bca740388ee00000000001eb510000000000000000000000000000000000000000000002b924b6031dc0396887c00000000001eb5110000000000000000000000000000000000000000000037254fbabec0354f8b8f0000000000826548000000000000000000000000000000000000000000000000000000000000000000000000001eb7e2000000000000000000000000000000000000000000000beaa356ee1ffed588ab00000000005f100c00000000000000000000000000000000000000000000000410d586a20a4c0000000000000023185700000000000000000000000000000000000000000000495aa07cca1caa86026300000000002332300000000000000000000000000000000000000000000017a3718b4be7af5ea21b000000000082654a0000000000000000000000000000000000000000000000000000000000000000000000000082654b0000000000000000000000000000000000000000000000000000000000000000000000000082654c0000000000000000000000000000000000000000000000000000000000000000000000000082654d000000000000000000000000000000000000000000000000000000000000000000000000002332310000000000000000000000000000000000000000000008460157275de3c77cc800000000007643f30000000000000000000000000000000000000000000000000000000000000000000000000082654e0000000000000000000000000000000000000000000000000000000000000000000000000082654f00000000000000000000000000000000000000000000000000000000000000000000000000826557000000000000000000000000000000000000000000000000000000000000000c00000000000b4f8a00000000000000000000000000000000000000000000000c676161174c6d80ba0000000000826558000000000000000000000000000000000000000000000000000000000000000c00000000007fa90d000000000000000000000000000000000000000000000258000000000000022f0000000000817966000000020000000064363dfbbd857ed6015781d666fcf6f0e4fc1847ca301213000000000000410400000000000000000000000000000000000000000000000008f6cb239ded15ad000000000000410500000000000000000000000000000000000000000000000000001ac6a7fb1bd30000000000004106000000000000000000000000000000000000000000000355dd849816815d2d710000000000004107000000000000000000000000000000000000000000000000097349a827a312e1000000000082655a0000000000000000000000000000000000000000000000000000000000000000000000000082655c0000000000000000000000000000000000000000000000000000000000000000000000000019e9430000000000000000000000000000000000000000000000000000000000000000000000000013b4e6000000000000000000000000000000000000000000000000000001daff0384bc000000000023030e000000000000000000000000000000000000000000000000000000000000000000000000001aa07d000000000000000000000000000000000000000000000000000000000000000000000000000771f5000000000000000000000000000000000000000000000000000000000000000000000000001a672800000000000000000000000000000000000000000000000000087e5db4d062bd0000000000231319000000000000000000000000000000000000000000000000000000000000000000000000006b2276000000000000000000000000000000000000000000000000000001b8e3a84faf0000000000823a0200000000000000000000000000000000000000000000000000000000000000000000000000177ab600000000000000000000000000000000000000000000000000001605fc4ce38300000000002307950000000000000000000000000000000000000000000000000000000000000000000000000054a70a00000000000000000000000000000000000000000000002df6a64a0ea7cc512b000000000054a70b00000000000000000000000000000000000000000009fbf38c74a42b70e765e2000000000054a70c0000000000000000000000000000000000000000000000000000000064363dfb000000000054ba210000000000000000000000000000000000000000014c50447167d420e19b2176000000000054ba2200000000000000000000000000000000000000432a18b7079e386d59b9649bae00000000001b3e710000000000000000000000000000000000000000000000000000006c954a38c000000000001cb83900000000000000000000000000000000000000000000447ce3dffd6b1c4cdf8900000000001cb83a000000000000000000000000000000000000000000000038481c6443b4c0ad9b00000000007840100000000000000000000000000000000000000000000000000000000000000000000000000054e670000000000000000000000000000000000000000000000000000000000000000000000000008213b80000000000000000000000000000000000000000000000000000000000000000000000000054c3730000000000000000000000000000000000000000000000bf8a850202f20ab59600000000005503610000000000000000000000000000000000000000000000000000000000000000000000000054a71100000000000000000000000000000000000000000009fbf38c74a42b70e765e200000000006342590000000000000000000000000000000000000000000000000000000000000000000000000054e42d000000000000000000000000000000000000000000000000000000000000000000000000006b30e40000000000000000000000000000000000000000000000000000000000000000000000000055b787000000000000000000000000000000000000000000000000000000000000000000000000006d3f120000000000000000000000000000000000000000000000000000000000000000000000000054bc44000000000000000000000000000000000000000000002c6f71127755853922e600000000006a329e000000000000000000000000000000000000000000000000000000000014c98e00000000004ce5e000000000000f424000000000f12d17ae00000000000000000000020a6ca9dd000000000000553f7e000000000000000000000000000000000000000000002c6bf44fa0e3d2ecc23a0000000000553f80000000000000000000000000000000000000000000000000d6a742f5de3bdfb400000000000b4fa900000000000000000000000000000000000000000000000220a56828f21d790b00000000000b4faa00000000000000000000000000000000000000000000000c581a2a219240431f000000000047dc2b00000000000000000000000000000000000000000000000000000000000007d9000000000082657a000000000000000000000000000000000000000000000000000d7df30cc7848f000000000082657b0000000000000000000000000000000000000000000000000000000fe9ef6e4100000000005e15f600000000000000000000000000000000000000000000000452a8f765c9f728fb00000000008125020000000000000000000000008aaaf6e6167825829ab29f260f246afe742fb2430000000000812503000000000000000000000000000000000000000000000000011c37937e080000000000000000266a00000000000000000000000000000000000000000000001e5493eca2dab9df5e0000000000826583d82ca3b18d89bb6022e1547d6e4bfd9489b2a9c994579bdaac61c72c30c4a6e0000000000082658bacde630a7fa322a76c2490a548e3bc1fa710b50e1bdf455fd3b1fb6d770cce10000000000082658d73686d696e742e7a6b00000000000000000000000000000000000000000000120000000000077aa7000000000000000000000000000000000000000000006f38d83306d38b1ba80000000000002fc94600000000000000000000000000000000000000000000000000bf80c88a05ab2e00000000002fc947000000000000000000000000000000000000000000000000000000231bee610700000000002fc9480000000000000000000000000000000000000000000035e392f6087438029d6000000000002fc94900000000000000000000000000000000000000000000000002b7f3e97ba4f8ba00000000002ff3600000000000000000000000000000000000000000000000000007dbd9e789125200000000006909e400000000000000000000000000000000000000000000021a71b8e3b5cbe7dd8000000000004d77c000000000000000000000000000000000000000000000000002a2f8f1255067f400000000004d77c100000000000000000000000000000000000000000000000002a2f8f1255067f400000000004d77c200000000000000000000000000000000000000000000000000000000000006d8000000000054bc5c0000000000000000000000000000000000000000000000000000000064363dfb0000000000553fa300000000000000000000000000000000000000000000000000000000000006a1000000000054bc5e0000000000000000000000000000000000000000000000000000000064363dfb00000000005541f6000000000000000000000000000000000000000000047600ddf32e866e941e9700000000008265a70000000000000000000000000000000000000000000000000000000000000000000000000054bc5f0000000000000000000000000000000000000000000000000000000064363dfb00000000008265ac000000000000000000000000000000000000000000000000000000000000000200000000008265ad000000000000000000000000000000000000000000000000000000000000000000000000002305470000000000000000000000000000000000000000000153cf34e2d2fcd1f6026300000000001ebad60000000000000000000000000000000000000000000000000000000064363dfb0000000000231896000000000000000000000000000000000000000000004b6d262b1c9e479fcac1000000000022ab7d0000000000000000000000000000000000000000000000000000000000000cfc0000000000231d710000000000000000000000000000000000000000000000000000000064363dfb00000000002342b2000000000000000000000000000000000000057450909be535381bbd41ecfa4d000000000000216f00000000000000000000000000000000000000000001209d154b77c34c4e2b93000000000000217000000000000000000000000000000000000000000000002dbae41b21f2577d7100000000000021710000000000000000000000000000000000000000000000000000000064363dfb00000000000021d400000000000000000000000000000000000000145b677d2349437baa516ea9f800000000000021d500000000000000000000000000000000000000000329445fb9a36c2f6dcfd3c100000000000024f4000000000000000000000000000000000000000000000000000fcc14c4ca760b000000000000e708000000000000000000000000000000000000000003de3e7570899859a58eacf1000000000007960e000000000000000000000000000000000000000000000000000000000225510000000000004608fb00000000000000000000000000000000000000000000000002a3ecd5bc592a3500000000004608fe00000000000000000000000000000000000000000000000000000778cfb1e4a300000000004608ff0000000000000000000000000000000000000000000000eed99f2838b2a9e17700000000004609000000000000000000000000000000000000000000000000000000000064363dfb000000000054801e0000000000000000000000000000000000000000000000002e954dc08c97ef30000000000054801f000000000000000000000000000000000000000005caef3c482c1172a902ec5b00000000004d77de00000000000000000000000000000000000000000000000002a2f8f1255067f4000000000082272100000000000000000000000000000000000000000000000000000000000000000000000000822be3000000000000000000000000000000000000000000000000000000000000000000000000008265c50000000000000000000000000000000000000000005be8b1658c6b810cb0d95200000000007cc9fb0000000000000000000000000000000043b55eb3910fa136fa77720066370d1800000000007cc3320000000000000000000000000000000000000000000000000000603096836ed000000000007ccbe5fffffffffffffffffffffffffffffffffffffffffffffffffffa2057e53d011700000000007cc334000000000000000000000000000000000000000000000000002321d435e354bb00000000000024f50000000000000000000000000000000000000000000000000106dabc0aff69c200000000000024fa64363dfb0000000000604f67cbf343ab63ac0000000000000000030366ae227100000000000026750000000000000000000000032b2479deaf1a557ca4d19f9e4330657016335a93000000000000267600000000000000000000000000000000000000bfd1222b23e5abf163f6d3acaa00000000000024fb0000000000000000000000000000000000012235bbc56b6a41077b83752b6c5600000000001460340000000000000000000000000000000000000000000000000000000000000000000000000017b32c00000000000000000000000000000000000000000000000000019e0e9265555f000000000025263f0000000000000000000000000000000000000000000000000000000000000000000000000081ec57000000000000000000000000000000000000000000000000000000000000000000000000006342ac0000000000000000000000000000000000000000000000000000009b2b3ebfb200000000006342ad00000000000000000000000000000000000000000000023c99e13804769c63b600000000006342ae00000000000000000000000000000000000000000000000000000002744013e400000000006342af00000000000000000000000000000000000000000000000000257c7bbc983ce90000000000649f5b000000000000000000000000000000000000000000000000000000001c6f864c00000000006e321b000000000000000000000000000000000000000000000002b2dd16ff127b8ab400000000008265ce000000000000000000000000000000000000000000000000000000000000000000000000005df095000000000000000000000000000000000000000000000000000000000000000400000000002fc958000000000000000000000000000000000000000000006f97038be93aa59b1f8a00000000000021ab00000000000000000000000000000000000000000000000001751e95ff44ff7000000000000021b2000000000000000000000000000000000000000000000000000004201395985200000000000021b3000000000000000000000000000000000000000000000083d36cefce65cd6ced00000000000021b40000000000000000000000000000000000000000000000000000000064363dfb00000000000021da0000000000000000000000000000000000000000000000004ccba03dfe89db6200000000000021db000000000000000000000000000000000000000009bbc288832710c24ef15d2900000000000021dc0000000000000000000000000000000000000000000000000000035ae28f6f060000000000002408000000000000000000000000000000000000000000000074234f6ae41eada22400000000000260880000000000000000000000000000000000000000000000000000000000000002000000000002608f0000000000000000000000000000000000000000000000000000035ae28f6f060000000000002fbd000000000000000000000000000000000000000000000074234f6ae41eada224000000000002609000000000000000000000000000000000000000000000000000000000000000000000000000002fc30000000000000000000000000000000000000000000000000000035ae28f6f060000000000026091000000000000000000000000000000000000000000000074234f6ae41eada2240000000000002fc90000000000000000000000000000000000000000000000000000000000002943000000000073ada70000000000000000000000000000000000000000000031a375ee981463164f7000000000008265ed0000000000000000000000000000000000000000000000000a01038c9240920000000000008263bb000000000000000000000000000000000000000000000000024d57875290d000000000000081de9f0000000000000000000000000000000000000000000000013ab635af2363c000000000000081dea10000000000000000000000000000000000000000000000013ab635af2363c00000000000007733d30000000000000000000000000000000000000000000000a028340e28f0abed100000000000825eda0000000000000000000000000000000000000000000000002df81d6691789fb2000000000082556b000000000000000000000000000000000000000000000000056dec66b09257e40000000000825c780000000000000000000000000000000000000000000000003328b944c40000000000000000788b650000000000000000000000000000000000000000000000000cc94f7daf07b00000000000008263c000000000000000000000000000000000000000000000000011b9cc6d07f07b00000000000081b36d00000000000000000000000000000000000000000000000000da896b90658000000000000078eeb0000000000000000000000000000000000000000000000000003b1ee6bdb5100000000000008265f2000000000000000000000000000000000000000000000000285a032d3e9d8a00000000000078eeb1000000000000000000000000000000000000000000000000003b1ee6bdb51000000000000082556e000000000000000000000000000000000000000000000000056dec66b09257e40000000000825ee200000000000000000000000000000000000000000000000fe7c9cdba96bc4000000000000082405b0000000000000000000000000000000000000000000000003dc9bf42bd78c000000000000077ad47000000000000000000000000000000000000000000000003b98532106d9874eb0000000000824549000000000000000000000000000000000000000000000000015b1abd3afce1800000000000821b69000000000000000000000000000000000000000000000007bd76d18d4c83270000000000008265f500000000000000000000000000000000000000000000000000989959c11095800000000000825ee90000000000000000000000000000000000000000000000006e590313a497e000000000000081deaa00000000000000000000000000000000000000000000000118dc2ae7ab8b200000000000008265f90000000000000000000000000000000000000000000000010d6dea21e754f00000000000008265fb0000000000000000000000000000000000000000000000000a01038c9240920000000000007733eb0000000000000000000000000000000000000000000000a028340e28f0abed100000000000826601000000000000000000000000000000000000000000000000285a032d3e9d8a00000000000081deb500000000000000000000000000000000000000000000000118dc2ae7ab8b20000000000000825c96000000000000000000000000000000000000000000000001f3939d1e4eda10000000000000825ef600000000000000000000000000000000000000000000000004c091e8a1042000000000000082406c0000000000000000000000000000000000000000000000003dc9bf42bd78c00000000000007fb935000000000000000000000000000000000000000000000000017e4dcd9eea31000000000000825ca10000000000000000000000000000000000000000000000003328b944c4000000000000000082660700000000000000000000000000000000000000000000000000989959c11095800000000000826608000000000000000000000000000000000000000000000000021faf62444e350000000000007b485b0000000000000000000000000000000000000000000000017127a36ab18391340000000000825f040000000000000000000000000000000000000000000000000484f0bb39fdc000000000000081b38b00000000000000000000000000000000000000000000000000da896b906580000000000000825f050000000000000000000000000000000000000000000000002df81d6691789fb200000000008263e6000000000000000000000000000000000000000000000000024d57875290d00000000000007a0fd400000000000000000000000000000000000000000000000581293e53128c7000000000000082536f0000000000000000000000000000000000000000000000002bd9d5d32f9feb0000000000008253700000000000000000000000000000000000000000000000002bd9d5d32f9feb0000000000007fb93d000000000000000000000000000000000000000000000000017e4dcd9eea31000000000000825f0900000000000000000000000000000000000000000000000004c091e8a10420000000000000821b77000000000000000000000000000000000000000000000007bd76d18d4c83270000000000007c163e0000000000000000000000000000000000000000000000011c03ac0da5ed24000000000000825f0d0000000000000000000000000000000000000000000000006e590313a497e00000000000007a0fe000000000000000000000000000000000000000000000000581293e53128c700000000000007de4e100000000000000000000000000000000000000000000000012fe36476ac49d6a000000000081d6f00000000000000000000000000000000000000000000000009a3bfa8f91c98000000000000073ada90000000000000000000000000000000000000000000031a375ee981463164f7000000000007a3f22000000000000000000000000000000000000000000000000bf709da72e6fb00000000000007b485f0000000000000000000000000000000000000000000000017127a36ab183913400000000007de4e500000000000000000000000000000000000000000000000012fe36476ac49d6a0000000000825f1b0000000000000000000000000000000000000000000000000484f0bb39fdc000000000000082384800000000000000000000000000000000000000000000000008a7885b80e510000000000000825f1c00000000000000000000000000000000000000000000000fe7c9cdba96bc4000000000000082384e00000000000000000000000000000000000000000000000008a7885b80e51000000000000082661d0000000000000000000000000000000000000000000000003dfd0c84a94a0180000000000082661e0000000000000000000000000000000000000000000000003dfd0c84a94a018000000000007c16740000000000000000000000000000000000000000000000011c03ac0da5ed240000000000008266220000000000000000000000000000000000000000000000010d6dea21e754f000000000000082456d000000000000000000000000000000000000000000000000015b1abd3afce1800000000000825cc0000000000000000000000000000000000000000000000001f3939d1e4eda1000000000000082640400000000000000000000000000000000000000000000000011b9cc6d07f07b0000000000007a3f36000000000000000000000000000000000000000000000000bf709da72e6fb0000000000000788ba00000000000000000000000000000000000000000000000000cc94f7daf07b0000000000000826627000000000000000000000000000000000000000000000000021faf62444e3500000000000081d6f60000000000000000000000000000000000000000000000009a3bfa8f91c98000000000000077ad97000000000000000000000000000000000000000000000003b98532106d9874eb00000000004f7cab000000000000000000000000000000000000000000000000000000000c35dbfa00000000004f7cac00000000000000000000000000000000000000000000000008cced662252a754000000000055401100000000000000000000000000000000000000000000000000000001c139b38400000000005540120000000000000000000000000000000000000000000000003789272cfac7ebeb00000000007ef0ce0000000000000000000000000000000000000000000001bc00000000000001ad00000000007efc1a000000000000000000000000000000000000000000000000000000000000000800000000001c23fe00000000000000000000000000000000000000000000029b8c5a73dceec8dc9500000000001c23ff64363dfb00000000000cadd86dac27eb7001000000009cb049ac684587be9d1d00000000001c27130000000000000000000000000000000002e68fd71261410edf4c4bd43f2fc85300000000001c271400000000000000000000000000008fb3c4899df802cc6a71d2850c21394567d300000000001c24000000000000000000000000000007c2ab0dbcfd70322c01f28d3b620e911a4d1d00000000003a6c06000000000000000000000000000000000000000000000000000000000000027b000000000039fe2600000000000000000000000000000000000000000000014c08624d700b68ccf700000000001c29a20000000000000000000000000000000000000000000000047b409a74d8d04d9c00000000006e1ac60000000000000000000000000000000000000000000000030000000000000002000000000082457700000000000000000000000000000000000000000000000000000000000000000000000000825f30000000000000000000000000000000000000000000000000000000000000000000000000006e7139000000020000000064363dfb0e8e857d9874c31dc1236a8cf97ae66e2549726b00000000007851c1000000020000000064363dfbd820e2750ae3d163882d8a18bde16c0665a2a43e00000000003a012500000000000000000000000000000000000000000000a650854ecfc08cec427000000000003a01260000000000000000000000000000000000000000000000028904b30b599b541200000000003a6c0d000000000000000000000000000000000000000000000005cac75b5eea3da72800000000003a6c0e00000000000000000000000000000000000000000000034431ec79a94feb751500000000003b16010000000000000000000000000000000000000000000000e346d1c5a8f23f3fc500000000003b19ed00000000000000000000000000000000000000000000000002c8dbf0e3270d1c000000000060dcae00000000000000000000000000000000000000000000000000012297c2e81665000000000060dcaf00000000000000000000000000000000000000000000003d212dfbd575591c4e000000000039c1de0000000000000000000000000000000000000000000000000000000064363dfb00000000003a015e0000000000000000000000000000000000000000000000000000834d504bfee4000000000039feb900000000000000000000000000000000000000000000014c08624d700b68ccf7000000000039c6b20000000000000000000000000000000000000000000000000000000064363dfb00000000003a06ee00000000000000000000000000000000000000000000000030fa89443898b14a000000000039feba000000000000000000000000000000000000000000000000007857b6b89d8e4200000000001b4443000000000000000000000000000000000000000000000000000000000000014c00000000004d88070000000000000000000000000000000000000000000000000000020a6ca9dd00000000000024713f64363dfb00000000000367d349178c49ce93000000004219a208b499fa2648fd00000000002793ab0000000000000000000000000000000000f839e12d33b59818ef2c75ad6cb62600000000002793ac00000000000000000000000000015b276619b7e44b88581c3b3ec8c73105dbdd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aac0000001f00000000000000000000000000000000000000000000800b0000000000000000000000000000000000000000000000000000000064363dfb0c799eec0c8269e6f66433183bf6c37f7e2234fad4e8619a9372c537e1919cc9000100000000000000000000000000000000000000008001c03b33a8add9c7d31e3233f60e0c693b42d934fb0d3f52bddab5333ea0e279240000000000000000000000000000000000000000000000000000000000000001000100010000000000000000000000000000000000008001f7f4833dc97c132294428efeec422636ce1c239bce5bf02e636880857dcd3e7e0000000000000000000000000000000000000000000000000000000000000001000100020000000000000000000000000000000000008001975be6534935da63cb520e30c8a9674feb305536e7cbae0736e1c5dc31145c47000000000000000000000000000000000000000000000000000000000000000100010003000000000000000000000000000000000000800159f59282ad1c7590cb1526beffcda45a315accdbdcdb0a5b7bde54b03ae7fb75000000000000000000000000000000000000000000000000000000000000000100010004000000000000000000000000000000000000800171546ea868c52cba8983fe98c452f2f4048163ebc93f62fdb24bfedc4ed986a600000000000000000000000000000000000000000000000000000000000000010001004a0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800af872dd3e6a02ebeda4ba3deafc051cd84f7589d62ebd8e7fbcf7c73ea51c9dca0001007c00000000000000000000000000000000000080012963987791446a9a1058ac351feb16420deac2b985d28e115eca5f10dce666b400000000000000000000000000000000000000000000000000000000000000010001007d00000000000000000000000000000000000080015cd3a005f0904bca3af40f994d5de14e58d2315bb5422bca81c1e742857a510500000000000000000000000000000000000000000000000000000000000000010001007e0000000000000000000000000000000000008001fba597fd840795242426cb836d79b47b73bfa4a0aeeed075ca8b5a6e0640080800000000000000000000000000000000000000000000000000000000000000010001007f00000000000000000000000000000000000080017c6e5a48c6fc660047c525a4604536863abccddf9ef782a2caefaf8a539f4eef0000000000000000000000000000000000000000000000000000000000000001000100af0000000000000000000000000000000000008001e00c0902f17bebd8dcb0f957c663c2ebed77e035e56eeef005120598a37408df0000000000000000000000000000000000000000000000000000000000000001000100b00000000000000000000000000000000000008001c8fab4d4a01713e89a1e1f88ccd60656025137cf1bb270d9a94a1f13c7bd40e00000000000000000000000000000000000000000000000000000000000000001000100b100000000000000000000000000000000000080011eddcd8a2b51a7cae7f21f7aeda4415a7eccf7b927f4a5faaad03a67317fa3ff0000000000000000000000000000000000000000000000000000000000000001000100b200000000000000000000000000000000000080014f624f9bef0b037e57c770f7d6f52bbab01dc8963c42ddb9a0df431c2b7ddc080000000000000000000000000000000000000000000000000000000000000001000100b300000000000000000000000000000000000080016dc40a41bc043fea35c416748c077c040b8d06c32e2b526915d2c9b6631fe8b80000000000000000000000000000000000000000000000000000000000000001000100e400000000000000000000000000000000000080019239609296398f27dcf3a37832dfd9e1ae6fd027a7295c28e706b094dd3c2d260000000000000000000000000000000000000000000000000000000000000001000100e50000000000000000000000000000000000008001f77444a11c97a6ef1f5b30e03bf54987fc3130dc434183caf5ba83433adfa4910000000000000000000000000000000000000000000000000000000000000001000101380000000000000000000000000000000000008001770985e53debc8d564ca5b526f481d70a6923f54d101f8536d39052ea6a73f52000000000000000000000000000000000000000000000000000000000000000100010139000000000000000000000000000000000000800154b2ad76d78ddb6e0eda879d19e5f6d8ef664b079279ff4d5a7ccfaa237da4b300000000000000000000000000000000000000000000000000000000000000010001013a00000000000000000000000000000000000080015c038eac451eb63f8228043052e2da8f6b179cc1037853ea383dcef9f783e18d00000000000000000000000000000000000000000000000000000000000000010001016200000000000000000000000000000000000080011059b4af132470b41a8cbbe00bf8cec579af3d2b92e3eb53f3f40c0170534e0f0000000000000000000000000000000000000000000000000000000000000001000101630000000000000000000000000000000000008001039b3db807b4064349c2eeae9505c8feabb6cd6df246de52fcc5224daca8dc5b00000000000000000000000000000000000000000000000000000000000000010001016400000000000000000000000000000000000080016ecc8fe04ac2ec406e6cc4dda464e527314faf6b6820bfa23b1d0890187cdffb00000000000000000000000000000000000000000000000000000000000000010001017c0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800aafa525a5601ad6b13b4af46ee182408bdf274fff952906d8e96384295da873f8000101a7000000000000000000000000000000000000800800000000000000000000000011f943b2c77b743ab90f4a0ae7d5a4e7fca3e102c0529a669e67a5b046aa1953a8cb653709c50fd578d44458697057bd9afcab7f000101ae00000000000000000000000000000000000080010069271e837be755eb1acd27f8bda5f7e70ce9a7f3282f08bbd83466ba9905630000000000000000000000000000000000000000000000000000000000000001000101af0000000000000000000000000000000000008001f4cce52bae043ef682e0205cca5506f68691acaaa2a1ca9eb1377ad7e58870040000000000000000000000000000000000000000000000000000000000000001000101b00000000000000000000000000000000000008001869fc245dcc1222f3de063ef076585c13e7b7da9e1aa603649e0c67f12d9d3640000000000000000000000000000000000000000000000000000000000000001000101b10000000000000000000000000000000000008001ac5ef41f6c56d8fe802391ebf021fa8b4c3eff8e8f1465ecf8f6fa77f7f4c3640000000000000000000000000000000000000000000000000000000000000001000101e900000000000000000000000000000000000080014cd602db8143a019049a222b0f72d9c0174891ee29f52c82b71059d613ca131e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000386c0960f908cd937b3f1ede7c1aeefe72d26de8437582712400000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000000000000000000386c0960f9e167792774202aa62eece5e445327f35cec4572200000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000000000000000000000004c11a2ccc14afdbcabcc441b61ac0b036e30722c7d763f3cc2a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000c4b2010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -250,7 +250,7 @@ export const mainnetBlockHydrated = { nonce: '0x7349', publicKey: '0x97ade2e1fe48c2c35194fbb64becbe062f0db4efb96dfd12e578d35a034b8d98', signature: '0x55ac6721ff4947496e861c50990600dd8c0d108d848c6cd84c0c0745a4f09f58', - to: 'Z3db52ce065f728011ac6732222270b3f2360d919', + to: 'Q3db52ce065f728011ac6732222270b3f2360d919', transactionIndex: '0xc', type: '0x2', value: '0x0', @@ -259,14 +259,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z133d3eaae97b599d7d7d3538b81c0b393bd00620', + from: 'Q133d3eaae97b599d7d7d3538b81c0b393bd00620', gas: '0x5208', hash: '0x7aa9ab138d57ba3ca97edde17570ec90bad03e5c0e2e39ef6f2d57b06906e947', input: '0x', nonce: '0xed', publicKey: '0x86b3a704ae340159752e67577fe3ddada1e797fc1b73108377f42ef6f33d3406', signature: '0x6cc32eba9bb9d489399e4c91a9d08225462de2235e12652b1f9474fe67e479d9', - to: 'Zcbd6832ebc203e49e2b771897067fce3c58575ac', + to: 'Qcbd6832ebc203e49e2b771897067fce3c58575ac', transactionIndex: '0xd', type: '0x2', value: '0xebba65a5bc3344', @@ -276,7 +276,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z2b6ad3b0a4ad782a553fe9ae179219f877bd0c47', + from: 'Q2b6ad3b0a4ad782a553fe9ae179219f877bd0c47', gas: '0x5208', hash: '0x0aa9988e0a851495beb7ea8d0f48e30042167dd98d932cf32535ea60c7c39e2b', input: '0x', @@ -285,7 +285,7 @@ export const mainnetBlockHydrated = { nonce: '0x26', publicKey: '0xc517daac09fdfa297b8ba5c19a6edf0c6c84321134384505f3cddc759eb11e18', signature: '0x441ba8e95813878382988533fbd81f8e3bec9425d7c721679306e74aac434517', - to: 'Zf34b40c1e9fd13f3aef7e31b69926b2ae97cc5f0', + to: 'Qf34b40c1e9fd13f3aef7e31b69926b2ae97cc5f0', transactionIndex: '0xe', type: '0x2', value: '0x2302bf1686f0de2', @@ -294,14 +294,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc2978441f46a76c60e0cd59e986498b75a40572d', + from: 'Qc2978441f46a76c60e0cd59e986498b75a40572d', gas: '0x1fe9b', hash: '0x1752d428626dd31ea7546beb62e2c5d6a27ef9f37e14954a8e6d2e4e290b8d92', input: '0x0ce28dc4', nonce: '0x3437', publicKey: '0x230800eb5628222c1b97d09d1cb91e26e2e4e003cea1b1061d3f35d0e340f770', signature: '0x250c820942d9a1138a731a5de121921ca1d2a328e64bd35c42531b02f2836790', - to: 'Z52a494dbf47107cc0c624ee10703abecaf586776', + to: 'Q52a494dbf47107cc0c624ee10703abecaf586776', transactionIndex: '0xf', type: '0x2', value: '0x58d15e176280000', @@ -311,7 +311,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zec30d02f10353f8efc9601371f56e808751f396f', + from: 'Qec30d02f10353f8efc9601371f56e808751f396f', gas: '0x186a0', hash: '0xdaa6805bdf1f554cfc744fe22a6661642c87141467b7f14edd0f946c9cb0f8ce', input: '0xa9059cbb000000000000000000000000735d8715bc1b4a404f19236fed05744ab6da094200000000000000000000000000000000000000000000000000000000e6fb16b1', @@ -320,7 +320,7 @@ export const mainnetBlockHydrated = { nonce: '0x873bb', publicKey: '0x81f54732c008f3fd03812f57a6deb5822533e3b5e9b50b97574d84c3e31a40e0', signature: '0x25ac62ba0d877945882f4430861effec04ce0e69903b04fd38124c881c395d2e', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x10', type: '0x2', value: '0x0', @@ -330,7 +330,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf16e9b0d03470827a95cdfd0cb8a8a3b46969b91', + from: 'Qf16e9b0d03470827a95cdfd0cb8a8a3b46969b91', gas: '0x186a0', hash: '0x3fd6e1a5c50cf84d53f9b6809db62d919121259b0de6869a8ee3ff9622c75806', input: '0xa9059cbb0000000000000000000000008c897cfe223374d2ba76cf9562283647efa842e100000000000000000000000000000000000000000000079e4e62fe1916184000', @@ -339,7 +339,7 @@ export const mainnetBlockHydrated = { nonce: '0x1ae4ee', publicKey: '0xdb8d01754137e016371d9b69b1516509ac98eea529e2b027d853be60fe3fb0b4', signature: '0x7818762d95b751f04d905e25843191891c8047d7bd3ad3a3d11366aac70cda1c', - to: 'Z4a527d8fc13c5203ab24ba0944f4cb14658d1db6', + to: 'Q4a527d8fc13c5203ab24ba0944f4cb14658d1db6', transactionIndex: '0x11', type: '0x2', value: '0x0', @@ -349,7 +349,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcbec560dae217b1d6303f23e25e547ce008d10bd', + from: 'Qcbec560dae217b1d6303f23e25e547ce008d10bd', gas: '0x2aee5', hash: '0x608372f0608f5466eeb44c5b28408a80af6e1feb410bfe57fa5f6c6e267bec3d', input: '0xe2bbb15800000000000000000000000000000000000000000000000000354a6ba7a180000619a3f4a80e465251b5ab251d36993b9b2d074b539fb1041a69f9cccb3f20ef', @@ -358,7 +358,7 @@ export const mainnetBlockHydrated = { nonce: '0x271', publicKey: '0xe04214b243d0671e37a53582b0eab23c8b313f6391805053a8ec1bc5d3494c3a', signature: '0x76174f10b93f6cb35ad6d51e2931b0eb3841353ae17ad0583b4a78ea2a4428e4', - to: 'Zae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', + to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x12', type: '0x2', value: '0x36e7825f3e4e4c', @@ -368,7 +368,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z46e0ebb66c75743ea7cf223830b6d01d26c9d2e5', + from: 'Q46e0ebb66c75743ea7cf223830b6d01d26c9d2e5', gas: '0x2aee5', hash: '0x9295f62e92616619793b77a3b7577b2b6617a3cd21dd13f87164689c444d64f5', input: '0xe2bbb15800000000000000000000000000000000000000000000000000038d7ea4c680000441f477690a582f4f52b0380bc84e65830e76fcd3bdf8079bb13c8bc3abd6c6', @@ -377,7 +377,7 @@ export const mainnetBlockHydrated = { nonce: '0x42', publicKey: '0xd19f281c9210eff7c37c0bfbbf22837cb6fd997e8aa3544d9ef310abf139f4ba', signature: '0x260e9f08a252f6333a8a6ab4bc604a56864c7baf0262270e4d1e90f851a4fc06', - to: 'Zae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', + to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x13', type: '0x2', value: '0x51fc9fd45496f', @@ -387,7 +387,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z8d456f39cca30dfd46f9be8e2fb38d396a3bb986', + from: 'Q8d456f39cca30dfd46f9be8e2fb38d396a3bb986', gas: '0x2c08e', hash: '0x11b54c9e279fcbb97484fbf4a27860f9c13768ca21f11e4df82041b0ca33df8f', input: '0xa1fba2c7', @@ -396,7 +396,7 @@ export const mainnetBlockHydrated = { nonce: '0x8', publicKey: '0x5f9624fb030af3719a6e80a5ec7acfe618c5c69cc339e1ee6981deb160beb577', signature: '0x024061ab760e7608b5354782d67bddae9efa30b4a9046380db24c53734cf33da', - to: 'Z1785982cb0386d9862ec1968e0152656d44d14de', + to: 'Q1785982cb0386d9862ec1968e0152656d44d14de', transactionIndex: '0x14', type: '0x2', value: '0x5543df729c0000', @@ -406,7 +406,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zfb53f899904110fdc3235531b0cf86676064db0d', + from: 'Qfb53f899904110fdc3235531b0cf86676064db0d', gas: '0x2aed3', hash: '0x2c8a744c0124abfe06295471c805dd0cfbb6a42675cf56d54c1ba851fa8dc3a2', input: '0xe2bbb158000000000000000000000000000000000000000000000000006d6c6fd3150000017158a89a490a43c8482e8d04d68d0c796de7d1309f32e0a086646979119e0f', @@ -415,7 +415,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xf1c2dcc6602bda7edeb16a34321c9eacc2d8501a4ffcd9cce95e143ce41f3ca3', signature: '0x4729ae054e94b1460aeea560cf6809203d61aeb2f6ef64c052eea07e4b0a421b', - to: 'Zae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', + to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x15', type: '0x2', value: '0x6f09868ab1ce4c', @@ -425,7 +425,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z345dc49ee5636a43395687a898bc0c3c9ee5ff0b', + from: 'Q345dc49ee5636a43395687a898bc0c3c9ee5ff0b', gas: '0x2a234', hash: '0x90cb790f159d0a8fb4de0bf9c53d95ce48748251da20e254591c8a29960ddd23', input: '0x7ba0e2e7000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000416097a47543c8d60cd5bf5cafe3ee94e07ed04747405d965d1ff864c6aef2fd177a6ee6b9f8286d9f37bdd0eb63d4b2cfef30f253fa850ffc4b062a4d13c216b91b00000000000000000000000000000000000000000000000000000000000000', @@ -434,7 +434,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0xb3360d4cd6c110385f6e6416239ddfd53ba09a49425090d899b6fa286f062a17', signature: '0x038ed6befae17a39a04d0da0c11541a8ae3e34a81d5e0218c2cd59f2fc106db5', - to: 'Z85c4209f7965d36742291f9222bd2cdb104df75c', + to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x16', type: '0x2', value: '0x0', @@ -444,7 +444,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za077f842d93c51b7b951c2f9935d33251d7fd774', + from: 'Qa077f842d93c51b7b951c2f9935d33251d7fd774', gas: '0x2a234', hash: '0xc94887918fa6e72ecb1e92297b4e6d8bd157dda8be8e71d21015bef1c5da2758', input: '0x7ba0e2e700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041cdc740e94dc367f680e9f3206f8981512af64d2abbcd486762c803a993b49f3b7d2358851f6acbd6fb2035ea06f026cd707cd66483b32dae34d34599d8d601ac1b00000000000000000000000000000000000000000000000000000000000000', @@ -453,7 +453,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x8776838f6f0b5880ad1f47d293a59784fdfc1da6a213afaa394dc39c819f66ca', signature: '0x5e06ead719af63b45434941b53a7235820e6392652968f704f47f7ac88a54da3', - to: 'Z85c4209f7965d36742291f9222bd2cdb104df75c', + to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x17', type: '0x2', value: '0x0', @@ -463,7 +463,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z22d3a981255bd90994b8acbe3d92a0a7a32f5120', + from: 'Q22d3a981255bd90994b8acbe3d92a0a7a32f5120', gas: '0x2a234', hash: '0x7c9a5723528a8c953a6d89d5a3e11d939bb22073763cfaa9b67f23bc643754b5', input: '0x7ba0e2e700000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041faad3bab3c95fe38e7dbc756151801f249731190c6a2b5a8d8d2625e0f3abc684d85d460d453db0b9faa5a3186c17394495e4d51e59faa3f4a43de038ed32ac21b00000000000000000000000000000000000000000000000000000000000000', @@ -472,7 +472,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x77576eb7635253c0111415988d87d125cccc034e3e0a5537d45f542dc6d9fb17', signature: '0x51a3782c39cfd538278762b099ae388da8e4563110cafb577e14387e7bb5bf8a', - to: 'Z85c4209f7965d36742291f9222bd2cdb104df75c', + to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x18', type: '0x2', value: '0x0', @@ -482,7 +482,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc956aee2bdf34512a2f770d1d38e63f1f40710ee', + from: 'Qc956aee2bdf34512a2f770d1d38e63f1f40710ee', gas: '0x2a25c', hash: '0x75d304122e20c4e61e1be6f10e8a2bfd7172a3d2f44f123ce439e2697adc37c3', input: '0x7ba0e2e70000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004188f77ebc61cf68343a92f7c4b74709787bf867ad808c8c7c1c3b0b30a25d50e23e6685adcdbf01ba9e0796ec8c4764f2afe3dd3f2cc34d3106a3cba7371132921c00000000000000000000000000000000000000000000000000000000000000', @@ -491,7 +491,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x77cbab6be06d2c0d7e7e281e6b74bf86d54b1e6eb0d25164e34f74ffc4b13491', signature: '0x76ddd4fe48f97b00c8222b87d281531a8602657c5fa47b1b1e3beb0a68f76db0', - to: 'Z85c4209f7965d36742291f9222bd2cdb104df75c', + to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x19', type: '0x2', value: '0x0', @@ -501,7 +501,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9a41a21ee7ea7337dd60d05f39ae3bd5d265dbe2', + from: 'Q9a41a21ee7ea7337dd60d05f39ae3bd5d265dbe2', gas: '0x31165', hash: '0x5b0805bcb55a457729c0e23541205aace38077d5d0ec38f8c4981b6ac10ad444', input: '0xf0300d60', @@ -510,7 +510,7 @@ export const mainnetBlockHydrated = { nonce: '0x1ce', publicKey: '0xdee01e58066f39f49053a1caec721704b27d4455cb7f66051567babff2eb0207', signature: '0x5d57933f7f188c8bc3df76c4eddfed42952b24852cb5e99cc46c021d032635d6', - to: 'Z5e9dc0b770db326612bb31605bb928ad125c95b3', + to: 'Q5e9dc0b770db326612bb31605bb928ad125c95b3', transactionIndex: '0x1a', type: '0x2', value: '0x0', @@ -520,7 +520,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb253c877efad2a87b18fba1687d41456141891a5', + from: 'Qb253c877efad2a87b18fba1687d41456141891a5', gas: '0x2a244', hash: '0x87a851cef867e8b76c0f00049bccf3eb95f41a4e0ed5f2656d3f029ec321aefd', input: '0x7ba0e2e7000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000413b8f759048704a4af30717de9e4ad5fa72c6412d7689d2bb73b40c01bcc020301a36256724ee3be2d7ccee88bcbc25e2388ed2d01383bea4397c94a44b00cdc51c00000000000000000000000000000000000000000000000000000000000000', @@ -529,7 +529,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0xef7fa2775201d5e1f5101efde47666dbfc1263000898b2ccb39302b5f57b0cf5', signature: '0x0c36ff2062572a18a4ac9452b0530737d655c4cb0a688c5219a8f2b40a94ef1e', - to: 'Z85c4209f7965d36742291f9222bd2cdb104df75c', + to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x1b', type: '0x2', value: '0x0', @@ -539,7 +539,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z7050b357db12b47c03380d5786950214677cb4a0', + from: 'Q7050b357db12b47c03380d5786950214677cb4a0', gas: '0x2aee5', hash: '0xc4fb4a90055b52891b9ee9ea13e59bfa08fedd2521212a2538a54ac15948694c', input: '0xe2bbb158000000000000000000000000000000000000000000000000010a741a462780000100c4bce2633a97e0e5325143024b3070c458d89194d53a6fcc18d780a36b22', @@ -548,7 +548,7 @@ export const mainnetBlockHydrated = { nonce: '0x3', publicKey: '0x27e5b0cdb7348293f5deacfb04ae58a846bf98f175a10eb24739e972012365e5', signature: '0x3226f6635c7c552345d376494cdfb148e5a055f4ecb0cc478de88ff8786ea6d8', - to: 'Zae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', + to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x1c', type: '0x2', value: '0x10c1130fdc44e50', @@ -558,7 +558,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z48231a84eb1d70ac7cc33aa8cb6069332ce56ec9', + from: 'Q48231a84eb1d70ac7cc33aa8cb6069332ce56ec9', gas: '0x2aee5', hash: '0x9a6210559642f06ad096806f546af798f6b9d1a69f246f830a23ba96df23c70e', input: '0xe2bbb15800000000000000000000000000000000000000000000000000677d94a64ea0000250cd770ed0fb0328249c83c6ca6b96041eaa60f240fb3f1c0ccb54a7287169', @@ -567,7 +567,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x04702957442572f72da0ae712be49cc269bb8f2974b340a7df77394d4ca8e853', signature: '0x20cee42bc08f88c23a9a1ebe77475786f1f3459a3d14a783caa38e4484066d39', - to: 'Zae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', + to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x1d', type: '0x2', value: '0x691aab5deb6e4c', @@ -577,7 +577,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z4184bc5e5444f250767e8d33a49817a9b4fb0df3', + from: 'Q4184bc5e5444f250767e8d33a49817a9b4fb0df3', gas: '0x2a234', hash: '0xc36c5f21974222581b9626833fe32d99e1953be7a84f8de99289799b6c28cfdc', input: '0x7ba0e2e7000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000410b166aab505f074b7a0719c22c6e910af13c500c439dadf57e05b7d02197f1526e851f81f4e0788cb80b9486810f59d741d836f8bac1752e4eb4d65c401c8ec21b00000000000000000000000000000000000000000000000000000000000000', @@ -586,7 +586,7 @@ export const mainnetBlockHydrated = { nonce: '0x4a', publicKey: '0x2ce125ff66ac8118b1f129c2588ab2ea350a8c63c5b66fdfdc95a0910f92ab1c', signature: '0x317975d171208e5d462074dd336c22f95b81cce40e9689f9f4df9249327335bb', - to: 'Z85c4209f7965d36742291f9222bd2cdb104df75c', + to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x1e', type: '0x2', value: '0x0', @@ -596,7 +596,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z151b381058f91cf871e7ea1ee83c45326f61e96d', + from: 'Q151b381058f91cf871e7ea1ee83c45326f61e96d', gas: '0x5208', hash: '0x5555125fe67d3a36555050d41b8ca19ff036d6a338add7c285eef925100b7d49', input: '0x', @@ -605,7 +605,7 @@ export const mainnetBlockHydrated = { nonce: '0x74102', publicKey: '0xc4935d7c1a6ea5a50d1c66a75518c30b60646f6bfd1891aef7d58f0fab97353a', signature: '0x03a60cb1ceb8d9a92e170cbf290c99a9b97492b471f33f92e0cdcf7299e9f33f', - to: 'Z29d0b29472432459eeb43003876bc3124334cdc5', + to: 'Q29d0b29472432459eeb43003876bc3124334cdc5', transactionIndex: '0x1f', type: '0x2', value: '0x3e6aaf5ee5cc000', @@ -615,7 +615,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z59e0cda5922efba00a57794faf09bf6252d64126', + from: 'Q59e0cda5922efba00a57794faf09bf6252d64126', gas: '0x1d4c0', hash: '0xc9b0ffd52b2d3179cab61f22302eed123144dca2367455f0b26cbd57a54d6d6f', input: '0xa9059cbb0000000000000000000000006767526a362ec6c6b1df185478e4f01506b73ff300000000000000000000000000000000000000000000000007caa2b492b20000', @@ -624,7 +624,7 @@ export const mainnetBlockHydrated = { nonce: '0x6c27', publicKey: '0x58746264bcce9d42ce4d35a4677aa1adddc9996e9be421dbaa99f3d2a20aa391', signature: '0x334e4d5cea9d1860d914e7796cf68f97677c87772b3885e0f93f7a4379abafdd', - to: 'Z0bc529c00c6401aef6d220be8c6ea1667f6ad93e', + to: 'Q0bc529c00c6401aef6d220be8c6ea1667f6ad93e', transactionIndex: '0x20', type: '0x2', value: '0x0', @@ -634,7 +634,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z867bfa133d64fad734c89f886d2a169b6504ab2b', + from: 'Q867bfa133d64fad734c89f886d2a169b6504ab2b', gas: '0xc350', hash: '0xb47865548d28112a9b37e3909fe2310918a4a70054b2e10f0a25b81ad2bfd695', input: '0x', @@ -643,7 +643,7 @@ export const mainnetBlockHydrated = { nonce: '0x1227b', publicKey: '0x59b0898abc04ad8077c95c705e2df2ae6824b40685159f03107f68188ea5361c', signature: '0x4a1e52473086dc9cb96768bdd8b02cc153aa6b0bdd9f08e12c047c176b800ae8', - to: 'Z99383ffe2031379e1e829e106e29a785c9f7f498', + to: 'Q99383ffe2031379e1e829e106e29a785c9f7f498', transactionIndex: '0x21', type: '0x2', value: '0x22ddf7aac722000', @@ -653,7 +653,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z5ab96bd81c33a620dba024c797a78b02b3964849', + from: 'Q5ab96bd81c33a620dba024c797a78b02b3964849', gas: '0x5208', hash: '0xeba0d7487248cc40f7a9784f20c879cc358231ac73cb56900629b11a2de6ef23', input: '0x', @@ -662,7 +662,7 @@ export const mainnetBlockHydrated = { nonce: '0xa', publicKey: '0x41643f403bbe3262d39ee6c1449d33d96bdd1227f2d6967ab193a53f1f0bfc48', signature: '0x31ae8fa9994acb3d17ce5ac4028f139999a674732a0cd9e095d6dea890d0c550', - to: 'Z1164c6c18b6de4831305050f5b32e2807e2bfc32', + to: 'Q1164c6c18b6de4831305050f5b32e2807e2bfc32', transactionIndex: '0x22', type: '0x2', value: '0x263bee6bf38e8', @@ -672,7 +672,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc5a93444cc4da6efb9e6fc6e5d3cb55a53b52396', + from: 'Qc5a93444cc4da6efb9e6fc6e5d3cb55a53b52396', gas: '0x5208', hash: '0x77fab2e3ef8460a5259e7107cf0cbc1a1e31678d112aaf248b2108159b4416a3', input: '0x', @@ -681,7 +681,7 @@ export const mainnetBlockHydrated = { nonce: '0x13403f', publicKey: '0x673b786b4a389f7fb0df5862ab0703e3685ca0081d321b8ac8b8c2ecbf7ee412', signature: '0x6be2172fda36ea57d7c77dcc46de306545d4f3abf96e7db6e24a3c9e44427974', - to: 'Zc8898aba27d521c47055ed2c493cbfd6b95a31d4', + to: 'Qc8898aba27d521c47055ed2c493cbfd6b95a31d4', transactionIndex: '0x23', type: '0x2', value: '0x11e7da71ab0000', @@ -691,7 +691,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z28c6c06298d514db089934071355e5743bf21d60', + from: 'Q28c6c06298d514db089934071355e5743bf21d60', gas: '0x32918', hash: '0x216b046ab639e61930add4323bf64b76d91db121963350632ed82f26bb6de7e6', input: '0xa9059cbb0000000000000000000000007f263315e03eeef6c03ee385b15695bdf87cbeb1000000000000000000000000000000000000000000000012f5e3653d5caf6000', @@ -700,7 +700,7 @@ export const mainnetBlockHydrated = { nonce: '0x62108f', publicKey: '0x93f820e51bbd9cee9f3f1b94fe8f7676d4346fe9eacd549a2d07e434ab807cb6', signature: '0x030da66baf90a7e72379224c0863eb3b4e31cc94b0d86177b91950d644c8f406', - to: 'Zc18360217d8f7ab5e7c516566761ea12ce7f9d72', + to: 'Qc18360217d8f7ab5e7c516566761ea12ce7f9d72', transactionIndex: '0x24', type: '0x2', value: '0x0', @@ -710,7 +710,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z56eddb7aa87536c09ccc2793473599fd21a8b17f', + from: 'Q56eddb7aa87536c09ccc2793473599fd21a8b17f', gas: '0x32918', hash: '0xd39d9a75f852bcb051393709ddb894ee043b7ea18bc21ce4ebd5a3560142b60c', input: '0x', @@ -719,7 +719,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01c', publicKey: '0xee36304a0224b72a556eb71ff13d8cc1d3bdf6d864c6ee0ab0e9b832d556185f', signature: '0x50e293db57ca81487fc0f896665b4e9d5802a15c24fa0dce5803e1e663a84c10', - to: 'Z69f1918cf0661b1b8dce3aa2137e4659d8493e79', + to: 'Q69f1918cf0661b1b8dce3aa2137e4659d8493e79', transactionIndex: '0x25', type: '0x2', value: '0x70f9ee77db8000', @@ -729,7 +729,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z575cc48e711d8faacf051502a757b90c11f8547d', + from: 'Q575cc48e711d8faacf051502a757b90c11f8547d', gas: '0x30d40', hash: '0xb7f3dbb72b2f8fe579b81a3ec11a56008b09d90f2a5267180fd8f966a1b76cce', input: '0x23b872dd000000000000000000000000a2afeae98f8ad0d8c30be323ca461754380fce49000000000000000000000000d1cd4e06e6034c31bd9392013a55d954e6fdcb740000000000000000000000000000000000000000000000000000000024bb178a', @@ -738,7 +738,7 @@ export const mainnetBlockHydrated = { nonce: '0x90b', publicKey: '0x0a45e7222c8203898f7f894dfa7ade58603a8d7d4332697d37ac69a7a027cd75', signature: '0x06ff5b1b6e1fce12a9ff1f52acaa153fcf89d4fb6ee4e6afcbbc146630707c40', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x26', type: '0x2', value: '0x0', @@ -748,7 +748,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zd1ff134d20fc3a224bd9bc0877bb24a23784dd56', + from: 'Qd1ff134d20fc3a224bd9bc0877bb24a23784dd56', gas: '0x5208', hash: '0x2bb7f5e1d071f0dc7040fc1ae745274a456e25610cfcfcd38e9cb3205f227222', input: '0x', @@ -757,7 +757,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0x4b287ee6e4333f64742044706f5c8c00e6e60d7501682c1314cb5211b8c8bf4e', signature: '0x37f5eaba2b575d587d019257d29b5bc097705571aa6280526a9007c2ae8aece1', - to: 'Z8412abafccf6f5756684f14e0aabd23834af7789', + to: 'Q8412abafccf6f5756684f14e0aabd23834af7789', transactionIndex: '0x27', type: '0x2', value: '0x1301c7dd343156', @@ -767,7 +767,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf89d7b9c864f589bbf53a82105107622b35eaa40', + from: 'Qf89d7b9c864f589bbf53a82105107622b35eaa40', gas: '0x15f90', hash: '0x6c53f5e35d76bfaab1d1eaa75b553da7bed8fe046f90961441474c6852b0469f', input: '0xa9059cbb0000000000000000000000000cca85946f37dfb7d7af154155c1eff595479e530000000000000000000000000000000000000000000000dad417aeaff88fc000', @@ -776,7 +776,7 @@ export const mainnetBlockHydrated = { nonce: '0xb2615', publicKey: '0x6faa89b9d6e984f3df4d9c1fefd468f54099081ae3aa06de5fc80a9251ccdb55', signature: '0x293017e31f66be92bdfd04c3302a0c2ed173751ceec4fd14b9c4ef64656f8c62', - to: 'Z6de037ef9ad2725eb40118bb1702ebb27e4aeb24', + to: 'Q6de037ef9ad2725eb40118bb1702ebb27e4aeb24', transactionIndex: '0x28', type: '0x2', value: '0x0', @@ -786,7 +786,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z28c6c06298d514db089934071355e5743bf21d60', + from: 'Q28c6c06298d514db089934071355e5743bf21d60', gas: '0x32918', hash: '0x346d0ad3d6a351797184f880b08b913dd095d12f36ade9e75eb7cba6980dbf34', input: '0x', @@ -795,7 +795,7 @@ export const mainnetBlockHydrated = { nonce: '0x621090', publicKey: '0x883dbc540ae0a26dabcc4463651a74b8d2782a590e0bf0de731df0572429b928', signature: '0x207fd537c0809bbc87d42cf79f08f7f73795c7ae21ef01c79479485519a415fa', - to: 'Zfed930b2dbbc52996b2e107f1396d82256f41c41', + to: 'Qfed930b2dbbc52996b2e107f1396d82256f41c41', transactionIndex: '0x29', type: '0x2', value: '0xe26ea512c27000', @@ -805,7 +805,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z56eddb7aa87536c09ccc2793473599fd21a8b17f', + from: 'Q56eddb7aa87536c09ccc2793473599fd21a8b17f', gas: '0x32918', hash: '0x209624ade75ef69c5b0b1c8d85ebb1be2a084380f3eff7fb15fafc6d607da908', input: '0xa9059cbb0000000000000000000000000f380d4a0afb298faa4cf6d1d16534470140480f00000000000000000000000000000000000000000000000000000004a817c800', @@ -814,7 +814,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01d', publicKey: '0x78a34604e863d7e6467d40f21d161d99794bcf9424b95d5bc6f942c6d2e7d5f4', signature: '0x3d4a493c0aba95406299f7afbf026ca87e9c21fd9d864d16884ee777979c54c5', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x2a', type: '0x2', value: '0x0', @@ -824,7 +824,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + from: 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', gas: '0x32918', hash: '0xc76320b5a1943478674adc1c81ec441e0798525ff8c5aba49a13e0feccfbb6b3', input: '0xa9059cbb0000000000000000000000008fef490d614fce8b93bd6f28835dd35a8b3229a900000000000000000000000000000000000000000000000000000e789541059e', @@ -833,7 +833,7 @@ export const mainnetBlockHydrated = { nonce: '0x599696', publicKey: '0x7cbc768027ad0dee1b9d3d31f2d2d9f95c116c24ec80efc69fda640fcac35705', signature: '0x6d0cf162a13339f2caf1a4f323671a88684ddd29d7a8fb554e45abb00599fea4', - to: 'Zb64ef51c888972c908cfacf59b47c1afbc0ab8ac', + to: 'Qb64ef51c888972c908cfacf59b47c1afbc0ab8ac', transactionIndex: '0x2b', type: '0x2', value: '0x0', @@ -843,7 +843,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z4976a4a02f38326660d17bf34b431dc6e2eb2327', + from: 'Q4976a4a02f38326660d17bf34b431dc6e2eb2327', gas: '0x32918', hash: '0x79474757728de960eb4e7da5bd14cd3bbaa342a1f15a0e02920020bc17293e98', input: '0x', @@ -852,7 +852,7 @@ export const mainnetBlockHydrated = { nonce: '0x264d0a', publicKey: '0x27451446f19d4db1ec9a7523ba550878049af134e6e91bb4cfc706bab8ac9df0', signature: '0x2924823e0512b4ac49c5eb479231ad53d15459f4a78309d7c669bab355e27086', - to: 'Z8bb27f2b2240f2ee95648a216bda95e7d7ad59a9', + to: 'Q8bb27f2b2240f2ee95648a216bda95e7d7ad59a9', transactionIndex: '0x2c', type: '0x2', value: '0xd6f06df0e94000', @@ -862,7 +862,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3ab28ecedea6cdb6feed398e93ae8c7b316b1182', + from: 'Q3ab28ecedea6cdb6feed398e93ae8c7b316b1182', gas: '0x2934c', hash: '0xcbd72caf3b24a675faac5188b7bc15768c2bdd4e6a2a8c60ce79f1875b36b4e8', input: '0xa9059cbb00000000000000000000000019697dfab84c1982138419a3be21eaaa7c05c1c700000000000000000000000000000000000000000000000527c712237ba60000', @@ -871,7 +871,7 @@ export const mainnetBlockHydrated = { nonce: '0x59e4f', publicKey: '0x58e964390fae81b120e526d35bdafca451d00d77f72cabcadaa63b2141ec3eb0', signature: '0x2fdc669bc14bc9903b59ac152858f082f534624a501f2f0009dd0a956918be0d', - to: 'Zba11d00c5f74255f56a5e366f4f77f5a186d7f55', + to: 'Qba11d00c5f74255f56a5e366f4f77f5a186d7f55', transactionIndex: '0x2d', type: '0x2', value: '0x0', @@ -881,7 +881,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z21a31ee1afc51d94c2efccaa2092ad1028285549', + from: 'Q21a31ee1afc51d94c2efccaa2092ad1028285549', gas: '0x32918', hash: '0x2350e1d8dbaaef1c51429dd50f319f7ae0c60681b17e925abe7f6b79b85bdf6c', input: '0xa9059cbb0000000000000000000000008263a4b989d756babaf651a9cbf171231466666600000000000000000000000000000000000000000000000000000000b2d05e00', @@ -890,7 +890,7 @@ export const mainnetBlockHydrated = { nonce: '0x5e0f0e', publicKey: '0x3a36d0faf9eb3c59ca4e7bbed74a3491b5fd2d05c17c34fa02d84cee2071c7b2', signature: '0x64bdeda9880342582fab87c9b05e98823fa49bb8dfbd772dc2a246fc863b7bc6', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x2e', type: '0x2', value: '0x0', @@ -900,7 +900,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + from: 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', gas: '0x32918', hash: '0x76c881e0add6fbe11dfc4396ff8f373f2bb1cc27db929b95a21cd64b7dc41e11', input: '0x', @@ -909,7 +909,7 @@ export const mainnetBlockHydrated = { nonce: '0x599697', publicKey: '0x6e69d854012faf58c3ade90b0953359b8d8f3f7619960e9fc6a745be6afad0cc', signature: '0x74473994719dd6c24c8d850b1dabcd7a8a993217c16d542ed7f4a1ec34a8906e', - to: 'Z655da9d1fdba5d7cbe0738f71022918ad75144f8', + to: 'Q655da9d1fdba5d7cbe0738f71022918ad75144f8', transactionIndex: '0x2f', type: '0x2', value: '0x859d63b3453e6000', @@ -919,7 +919,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zbd310c947981b291a1abb439ab0713f6a6018f35', + from: 'Qbd310c947981b291a1abb439ab0713f6a6018f35', gas: '0xfbac', hash: '0x3ec134ed1e10df2b1b78311fcd38325b2da8e5da5ecfb60573909450a04693e4', input: '0x095ea7b3000000000000000000000000e66b31678d6c16e9ebf358268a790b763c133750ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', @@ -928,7 +928,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xafbb17abe38e32f14f34cfa09f93876fddfe80b07f2bc54b27cf5ff6093e3bf2', signature: '0x553821eca4f13c424737eac999b1a7997295252802abe049884554766202fc68', - to: 'Za0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', + to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x30', type: '0x2', value: '0x0', @@ -938,7 +938,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zbd310c947981b291a1abb439ab0713f6a6018f35', + from: 'Qbd310c947981b291a1abb439ab0713f6a6018f35', gas: '0x460af', hash: '0x8587b3eb001a4d9c367b44d3c66d864bd086f7def58681fa568c25c1632197fe', input: '0x5cf5402600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000bcd3d800000000000000000000000002b591e99afe9f32eaa6214f7b7629768c40eeb3900000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000001286af479b20000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000bcd3d800000000000000000000000000000000000000000000000000000003e2b71f0900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000bb82b591e99afe9f32eaa6214f7b7629768c40eeb39000000000000000000000000000000000000000000869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000000000000000006acdf8f63164363ecf000000000000000000000000000000000000000000000000', @@ -947,7 +947,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0x5da32c14819244d81966203f8ece7d4330dfc90d43237b769679b89e308ef01d', signature: '0x0bb911307432a6dd7acc0155a43f398a66865e941202c8f37fa31f87a7be5748', - to: 'Ze66b31678d6c16e9ebf358268a790b763c133750', + to: 'Qe66b31678d6c16e9ebf358268a790b763c133750', transactionIndex: '0x31', type: '0x2', value: '0x0', @@ -957,7 +957,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcbf04eac5a3443941ce6a41ff38d7e238406f0e4', + from: 'Qcbf04eac5a3443941ce6a41ff38d7e238406f0e4', gas: '0x186a0', hash: '0x4e52482e36a15ab65b1ee34d20f93b54cd1873e1b596c874364c59125dd23b62', input: '0xa9059cbb0000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7b0000000000000000000000000000000000000000000000258a3df7f069706400', @@ -966,7 +966,7 @@ export const mainnetBlockHydrated = { nonce: '0x1260', publicKey: '0x526cda6518d213796112450510e637aab66ca0e7cf37e17ba16c95b05e799bb6', signature: '0x24e98f8aae7e8393654d1c5d6ca56d07776bba3985d930fc13753729a8b53fff', - to: 'Z0b38210ea11411557c13457d4da7dc6ea731b88a', + to: 'Q0b38210ea11411557c13457d4da7dc6ea731b88a', transactionIndex: '0x32', type: '0x2', value: '0x0', @@ -976,7 +976,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z89e51fa8ca5d66cd220baed62ed01e8951aa7c40', + from: 'Q89e51fa8ca5d66cd220baed62ed01e8951aa7c40', gas: '0x7a120', hash: '0x5512e2f3ae0e44b1993cbfcea2f91fbc8e6cf2ef6bc73b606f19db051935c30b', input: '0xa9059cbb00000000000000000000000016c9d209a906bbf06bd29c233c7f45b76e42a5180000000000000000000000000000000000000000000000000000000002dbf090', @@ -985,7 +985,7 @@ export const mainnetBlockHydrated = { nonce: '0x16cd82', publicKey: '0x60a123cc67d102617f60161435641e16dcaea9dde4c80fc1a1c4b3324f8c57f2', signature: '0x4dfb246eebc7ca04821a922fca1177f453462a2ae8803e33e87285fbd5f8eb9d', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x33', type: '0x2', value: '0x0', @@ -995,7 +995,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3ab28ecedea6cdb6feed398e93ae8c7b316b1182', + from: 'Q3ab28ecedea6cdb6feed398e93ae8c7b316b1182', gas: '0x107a5', hash: '0x47effec3066af633b7b8e31eb958720b3c26101a660b68294cfd5d1da9df660e', input: '0xa9059cbb00000000000000000000000019697dfab84c1982138419a3be21eaaa7c05c1c700000000000000000000000000000000000000000000009c8315610cda546000', @@ -1004,7 +1004,7 @@ export const mainnetBlockHydrated = { nonce: '0x59e50', publicKey: '0xed0cc2008fa60ceef899c73967869cabfe3ca8aaaa9abf6c94fa0c7f211fd82b', signature: '0x6644f22c84aedc9f50595a80c99641db7ed63487cef46bc98324f214b1ac1088', - to: 'Z3593d125a4f7849a1b059e64f4517a86dd60c95d', + to: 'Q3593d125a4f7849a1b059e64f4517a86dd60c95d', transactionIndex: '0x34', type: '0x2', value: '0x0', @@ -1014,7 +1014,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z56eddb7aa87536c09ccc2793473599fd21a8b17f', + from: 'Q56eddb7aa87536c09ccc2793473599fd21a8b17f', gas: '0x32918', hash: '0xd6356b5d6aba735dad22a19dc1c6f1e90dc5b9cae6981e3242b551da32a56420', input: '0x', @@ -1023,7 +1023,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01e', publicKey: '0xf9f8024c8a5a8d315e8a0ccf510e8547d62c69b9636919f377ee842232859567', signature: '0x5390ff89bea1d8b8266a335008feec1c358b4bd1becf0dffde1786ccdc31201a', - to: 'Zf229c5f132d805bc540347f4f09cae4beb1ce2fc', + to: 'Qf229c5f132d805bc540347f4f09cae4beb1ce2fc', transactionIndex: '0x35', type: '0x2', value: '0x44913f6c2a40000', @@ -1033,7 +1033,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z21a31ee1afc51d94c2efccaa2092ad1028285549', + from: 'Q21a31ee1afc51d94c2efccaa2092ad1028285549', gas: '0x32918', hash: '0xd2ae45072ed92e1c0f0dc9770700e2aea61c564c3cf9966043fcb4ff503e6bc5', input: '0x', @@ -1042,7 +1042,7 @@ export const mainnetBlockHydrated = { nonce: '0x5e0f0f', publicKey: '0x7ef2595e0b05eb9a2780638182a91cf79fa9a4176f9664c429812813729fca60', signature: '0x46cb312550a3e0f046798aff756ab0ac2517a1e44272e2928351d0ecc2192359', - to: 'Zd5e7c8051bb55471e65c77735246037b88887794', + to: 'Qd5e7c8051bb55471e65c77735246037b88887794', transactionIndex: '0x36', type: '0x2', value: '0x7357ed86abd800', @@ -1052,7 +1052,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z4976a4a02f38326660d17bf34b431dc6e2eb2327', + from: 'Q4976a4a02f38326660d17bf34b431dc6e2eb2327', gas: '0x32918', hash: '0x3a9d565f5193dbfd7bdae074e6405d6cd0d6334a99b23d4780afdf70730ea265', input: '0x', @@ -1061,7 +1061,7 @@ export const mainnetBlockHydrated = { nonce: '0x264d0b', publicKey: '0x014efa044805a0b57331d02fdc260ed97eddd05a65671ca559349f0740c02f5d', signature: '0x5acb03bf01c45c1d54cc92048c16cfb0c1502e37977351dfeffab81516b3d530', - to: 'Z7959c8788c426988cb5dc3d7d164458af8ffc1d6', + to: 'Q7959c8788c426988cb5dc3d7d164458af8ffc1d6', transactionIndex: '0x37', type: '0x2', value: '0x109e2955efd8000', @@ -1071,7 +1071,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9696f59e4d72e237be84ffd425dcad154bf96976', + from: 'Q9696f59e4d72e237be84ffd425dcad154bf96976', gas: '0x32918', hash: '0xe3a4f72856bfda9647b3699182bd386445ac649dcc8b1ce16e00ffcfbf4ab7ed', input: '0x', @@ -1080,7 +1080,7 @@ export const mainnetBlockHydrated = { nonce: '0x41987b', publicKey: '0x26586b1e9ee91d0d5a1a67c115e3ef25af632bd04f669dabd629cc2ff73b7bad', signature: '0x5a5f39c4da031bff3bc027f717750ca4aee70a2fcba228fd3cf89a15eb1208e0', - to: 'Ze0b27a0f1bae4128dd35cd1cd9591e2c9e25c14e', + to: 'Qe0b27a0f1bae4128dd35cd1cd9591e2c9e25c14e', transactionIndex: '0x38', type: '0x2', value: '0x124d2084a70f6800', @@ -1090,7 +1090,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3dce71f75f239acf6d96e21185b171113997cb94', + from: 'Q3dce71f75f239acf6d96e21185b171113997cb94', gas: '0xc350', hash: '0xd8640e034189ad0e1c19c56cc4283d58a6fb953eb4b07490f1908de722939c36', input: '0x095ea7b30000000000000000000000003018018c44338b9728d02be12d632c6691e020d1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', @@ -1099,7 +1099,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x06a9fade08677d36f80060a150829cf89b6a5d93a6bd49125ed445c06e8a2070', signature: '0x71caad84e2b4ad5abf4f0e7819a0c75b78d82cec724bc00f9871c6cff20cc1ee', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x39', type: '0x2', value: '0x0', @@ -1109,7 +1109,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf51cd688b8744b1bfd2fba70d050de85ec4fb9fb', + from: 'Qf51cd688b8744b1bfd2fba70d050de85ec4fb9fb', gas: '0x33450', hash: '0x52afd7942b5e6b188b162fbef65fea001d87904a218a1863cd55e35c38152d32', input: '0x', @@ -1118,7 +1118,7 @@ export const mainnetBlockHydrated = { nonce: '0x1106f', publicKey: '0x71ed70b9d1c74ae1ad4feb6b4df85667ffdb140cd33598a671ce6132b4705023', signature: '0x522d3672a3ccd0d19a9219b07cfa50330016c40eb6747a3b0d01d429de6b9162', - to: 'Z53d583a2e9d318f770355a502730e074a77704a5', + to: 'Q53d583a2e9d318f770355a502730e074a77704a5', transactionIndex: '0x3a', type: '0x2', value: '0x1aa535d3d0c0000', @@ -1128,7 +1128,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf51cd688b8744b1bfd2fba70d050de85ec4fb9fb', + from: 'Qf51cd688b8744b1bfd2fba70d050de85ec4fb9fb', gas: '0x33450', hash: '0xb261c0e8b9db2323039cd792af63941d6891e59f9a47fb920a1cfa70188284a3', input: '0x', @@ -1137,7 +1137,7 @@ export const mainnetBlockHydrated = { nonce: '0x11070', publicKey: '0x79abe4e602462702a701e8e8dafb766b49e1d0b5090f7d07067e8712d0fc1d79', signature: '0x68fae44682a2c1eb0f4c61013f26716b3146e0874b46ca5f3956c882d577c3a0', - to: 'Z6a53202a46f1d598bb3e1bd75e76325be9e85a62', + to: 'Q6a53202a46f1d598bb3e1bd75e76325be9e85a62', transactionIndex: '0x3b', type: '0x2', value: '0xd2c6806d3c0000', @@ -1147,7 +1147,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf60c2ea62edbfe808163751dd0d8693dcb30019c', + from: 'Qf60c2ea62edbfe808163751dd0d8693dcb30019c', gas: '0x32918', hash: '0x545a0dafc33502a9e74440ffe4aaeb896a6c2248c1d5e02b2a211936f97fe375', input: '0xa9059cbb000000000000000000000000e64fe3abefb9ef257a5468e3af3ce839d2801ad2000000000000000000000000000000000000000000000000000000001af6d8e8', @@ -1156,7 +1156,7 @@ export const mainnetBlockHydrated = { nonce: '0x19015b', publicKey: '0xdccc9185a0dabffd612a8e3e7965e7e3e1827ea11375eeca23fa17f0e313f092', signature: '0x242f817d6ac64b27ce324d57167990b12050ce197d875b7a77407dfaee1fe34a', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x3c', type: '0x2', value: '0x0', @@ -1166,7 +1166,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zdfd5293d8e347dfe59e90efd55b2956a1343963d', + from: 'Qdfd5293d8e347dfe59e90efd55b2956a1343963d', gas: '0x32918', hash: '0x5e48f0c28319b84d3ea08d316b91dc23d6ddcff46c4064760d2f83d848ede467', input: '0xa9059cbb000000000000000000000000df90abe5ed346a74977b5d92ac6a264e25a9c51f0000000000000000000000000000000000000000000000008ae2b2e0ac12e000', @@ -1175,7 +1175,7 @@ export const mainnetBlockHydrated = { nonce: '0x599698', publicKey: '0xd42ab7d5efa8e62fc0aeb51c5f9b674f936d282c31f601fe51bc4cb00d958f59', signature: '0x04b83091ca937fc4f64b29c36406d4fed6b47f6c247ca86b5c0b4b3eec3110bd', - to: 'Z0bc529c00c6401aef6d220be8c6ea1667f6ad93e', + to: 'Q0bc529c00c6401aef6d220be8c6ea1667f6ad93e', transactionIndex: '0x3d', type: '0x2', value: '0x0', @@ -1185,7 +1185,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z56eddb7aa87536c09ccc2793473599fd21a8b17f', + from: 'Q56eddb7aa87536c09ccc2793473599fd21a8b17f', gas: '0x32918', hash: '0x848514cee29d37999e27991e25c2cd58edc0486fdbcd2bf673a14d0e37bc3d12', input: '0x', @@ -1194,7 +1194,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01f', publicKey: '0xc30f5f8b8d05b1a5c3b74669ff383d2588fa86c0f35d5066e2815b144a61199d', signature: '0x16b0c495b6cf1d01675d907a480460a57e715da42365140dba84cd035629a213', - to: 'Za294cca691e4c83b1fc0c8d63d9a3eef0a196de1', + to: 'Qa294cca691e4c83b1fc0c8d63d9a3eef0a196de1', transactionIndex: '0x3e', type: '0x2', value: '0x31e0da46bd4a88000', @@ -1204,7 +1204,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z28c6c06298d514db089934071355e5743bf21d60', + from: 'Q28c6c06298d514db089934071355e5743bf21d60', gas: '0x32918', hash: '0x5c1464d4fd1ef55d3fc1c1e9338917273b1d2280fd06fe04afa607557ab9c9d9', input: '0xa9059cbb0000000000000000000000003aff86656a65f3d81b3e0b4c4f8d4199f3b3fbde0000000000000000000000000000000000000000000003825cc1b4837cd61c00', @@ -1213,7 +1213,7 @@ export const mainnetBlockHydrated = { nonce: '0x621091', publicKey: '0x3d047d1e1b05d563adc9206ffa9c210d01018ec50bf674c50783a6428347bc9b', signature: '0x3063c3dc89bba20743758230f5015d30926c7da5ecaa150bd969d8fc80d1981c', - to: 'Z0f5d2fb29fb7d3cfee444a200298f468908cc942', + to: 'Q0f5d2fb29fb7d3cfee444a200298f468908cc942', transactionIndex: '0x3f', type: '0x2', value: '0x0', @@ -1222,14 +1222,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9d98180089adfe81f4a6c76e6b978284bd2bb3f5', + from: 'Q9d98180089adfe81f4a6c76e6b978284bd2bb3f5', gas: '0x5208', hash: '0x461702cf4d7d04f70337251a6ce8aa386f96a55214eae9e71697ad2e3d686acf', input: '0x', nonce: '0xbb', publicKey: '0xdc70f934495c5a38a3e2418e0d075223094a899dea70cf95f10f1c5facbb772b', signature: '0x063b2d0f20585b959447460b5daa22c5bd0696c074ded4d31d4078b0dcae653a', - to: 'Z6d1ea4bd89865bbd8c675261585ae566dcda9d53', + to: 'Q6d1ea4bd89865bbd8c675261585ae566dcda9d53', transactionIndex: '0x40', type: '0x2', value: '0x2386f26fc10000', @@ -1239,7 +1239,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z8f339591b959e8fe2e6127124812613e482f84ab', + from: 'Q8f339591b959e8fe2e6127124812613e482f84ab', gas: '0x73f68', hash: '0x4d0b6bd0b7dc8b332fc7f80c3c5774c467080976fa2460d85a9c032a3e230d94', input: '0xeb6724190000000000000000000000008f339591b959e8fe2e6127124812613e482f84ab000000000000000000000000000000000000000000000000002aa1efb94dffff00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000b54a3000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001000000000000000000000000008f339591b959e8fe2e6127124812613e482f84ab00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -1248,7 +1248,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xd96426125d5a851dccec746787824af395da54613e62f1a5d53ce45754c2d00a', signature: '0x7a089b28b3426eb5624136e3fb7c7336eabf8d3a7b4f10f11cd1d3c86bea8967', - to: 'Z32400084c286cf3e17e7b677ea9583e60a000324', + to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x41', type: '0x2', value: '0x2c732b36ea6937', @@ -1257,14 +1257,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z670bb2fa1231550fccaec308e6ed03b98d2f90fa', + from: 'Q670bb2fa1231550fccaec308e6ed03b98d2f90fa', gas: '0x3f13b', hash: '0x06ad8cefc9d677ea422fedbbc23fe323f830070fbc93ee394abf986453026dc5', input: '0xac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000084fc6f78650000000000000000000000000000000000000000000000000000000000076d3e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c00000000000000000000000000000000000000000000000002b2c9dcaace8ec1000000000000000000000000670bb2fa1231550fccaec308e6ed03b98d2f90fa000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064df2ab5bb00000000000000000000000080f0c1c49891dcfdd40b6e0f960f84e6042bcb6f0000000000000000000000000000000000000000000000009be96c72185d79e7000000000000000000000000670bb2fa1231550fccaec308e6ed03b98d2f90fa00000000000000000000000000000000000000000000000000000000', nonce: '0x12b', publicKey: '0x6364548a5358fd5fd6a6d7693261455e859e9e6e12bc1571d67e894992c31836', signature: '0x377afabdffa95ce2f6b7738a9663500e128046be8f7ff08cf53e1a7fa54f9f13', - to: 'Zc36442b4a4522e871399cd717abdd847ab11fe88', + to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x42', type: '0x2', value: '0x0', @@ -1274,7 +1274,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za50c14352cce7a143afa38555fdc7354dd78c379', + from: 'Qa50c14352cce7a143afa38555fdc7354dd78c379', gas: '0x24a50', hash: '0xd77ad6002fc4ccec33de15972123777c0e036cf8f2ce5e1a4d858dd99b11cbd3', input: '0xeb672419000000000000000000000000a50c14352cce7a143afa38555fdc7354dd78c379000000000000000000000000000000000000000000000000006ab07fb082640000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000b54a300000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000a50c14352cce7a143afa38555fdc7354dd78c37900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -1283,7 +1283,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xd3a28cbf01498f92e51523725981c11a34f07b11ac6a7ef89de5ce17e4b868d5', signature: '0x779ba46af5a72f75f32fda1d33f9f7bd8330e75dada67021deb98b72785820f8', - to: 'Z32400084c286cf3e17e7b677ea9583e60a000324', + to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x43', type: '0x2', value: '0x6c81bb2e1ecd38', @@ -1293,7 +1293,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf4c0d5993b8c5ebc8857e631b1fa659c8c665421', + from: 'Qf4c0d5993b8c5ebc8857e631b1fa659c8c665421', gas: '0x24a41', hash: '0x3c829847832f898dd18a8674e81eba1e7179912397f48a53e31b6d98ad79026d', input: '0xeb672419000000000000000000000000f4c0d5993b8c5ebc8857e631b1fa659c8c66542100000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000b54a300000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f4c0d5993b8c5ebc8857e631b1fa659c8c66542100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -1302,7 +1302,7 @@ export const mainnetBlockHydrated = { nonce: '0x8', publicKey: '0x958ac379821e137003d336592f95d3d095e2fc38b02de6284bd4a3958fbe0f84', signature: '0x1c654cd5b76f2e9ab14e2f1b13d7c9b80a05176667e13ed741b77bb6605d445c', - to: 'Z32400084c286cf3e17e7b677ea9583e60a000324', + to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x44', type: '0x2', value: '0xb373f7ac616938', @@ -1312,7 +1312,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3651317060a0005dac1084a6f71a7285de1b6886', + from: 'Q3651317060a0005dac1084a6f71a7285de1b6886', gas: '0x15f90', hash: '0xd90e21f60f14d0d6734a06a08ea72718c0da1dde84d927578f8bc3817eec2cfa', input: '0xa9059cbb00000000000000000000000049a2fcfcf2b2025c667732ef0435f548aa6cd9dd000000000000000000000000000000000000000000000000000000001a6f45e0', @@ -1321,7 +1321,7 @@ export const mainnetBlockHydrated = { nonce: '0x3', publicKey: '0x5bfb19d897e19784d61a740277f615f275a80e32252d643860ade726d304feee', signature: '0x6d43017d363606b8a2cdf87f79c4becc33358b9cb8da6cc472470bfce3cee39d', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x45', type: '0x2', value: '0x0', @@ -1331,7 +1331,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za09bd3fb7924fbad29ce3f9d7bc6cadc7bf050a6', + from: 'Qa09bd3fb7924fbad29ce3f9d7bc6cadc7bf050a6', gas: '0x5208', hash: '0x6d6269d0e0c72d8683f741cfb76b0d5e9f2dad7fe0a31cd84a655a5f48e2a3fa', input: '0x', @@ -1340,7 +1340,7 @@ export const mainnetBlockHydrated = { nonce: '0x18', publicKey: '0x73c8c63f06b84cc19a11072e7a94b969625a0d11057268cba1cb7c464b3ca61b', signature: '0x6e8f89b8254a2ca4af5b97fd25d331c6aaf334872dc7b3af13982ebaeedd9576', - to: 'Zbe8d2aea314be080df55bc01d79e98259bec836e', + to: 'Qbe8d2aea314be080df55bc01d79e98259bec836e', transactionIndex: '0x46', type: '0x2', value: '0x38d7ea4c68000', @@ -1350,7 +1350,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z5565b5362ff9f468ba2f144f38b87187c9a010a8', + from: 'Q5565b5362ff9f468ba2f144f38b87187c9a010a8', gas: '0xb4aa0', hash: '0x16405e445187de6e1282740494fc6af3a25cdfdea2de89014ace9a91f68ba6c3', input: '0xc9807539000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000480010100010100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000004efab6bc6b8f34ca595ba160e7d99ac0000e9ac06050f0312090211100a06080b01040d070e0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001300000000000000000000000000000000000000000000000000000010622b851b000000000000000000000000000000000000000000000000000000106260fc80000000000000000000000000000000000000000000000000000000106260fc800000000000000000000000000000000000000000000000000000001063b0ae000000000000000000000000000000000000000000000000000000001064c356800000000000000000000000000000000000000000000000000000001064c356800000000000000000000000000000000000000000000000000000001064c356800000000000000000000000000000000000000000000000000000001064c3568000000000000000000000000000000000000000000000000000000010657dcce0000000000000000000000000000000000000000000000000000000106640cec0000000000000000000000000000000000000000000000000000000106650110000000000000000000000000000000000000000000000000000000010665011000000000000000000000000000000000000000000000000000000001066f7e9c0000000000000000000000000000000000000000000000000000000106762b980000000000000000000000000000000000000000000000000000000106762b980000000000000000000000000000000000000000000000000000000106762b980000000000000000000000000000000000000000000000000000000106884a440000000000000000000000000000000000000000000000000000000106daa1aa8000000000000000000000000000000000000000000000000000000106e379dff000000000000000000000000000000000000000000000000000000000000000716291fd074f7de8fa92346545486f1dd995174dbe082996a7f0070b390de1e3e8b6a944decd2a3e9667049ce16489bf299b9f557e25dbaea206ff5cbc6223bf44133d275dbeab4b6ac419d309e6ef432249fb601dddef3250e2c399ce70ae4a98b470c2a9f473fd67b1e1f82767e021cbb31bcbb012b52b2b20248d1aecf6e458159922125614956f06004f4a7c48093748141d402146613d8621bb0dc8be128195e7ea4bc57cd50acbd2580433388724587941ac374bdbe1e39965dec28d47bd9253b0d64a175286d2e124985256ef7d3e18491f8ac2f92812f50c1afd48ccb00000000000000000000000000000000000000000000000000000000000000076a5840595a11b5bca0e9a0f3c3229401d9ad633639697002c528561a48496951557690ceb40c387dda55305b362f70116883c67528075d3e21f63118a6b911340ef0f068c83ffaeae51608c7469ce6bf3669b7332929dd526f206adddfcc151d0eaa18655434b9a1c6945bd6a6fdd073b2d74ca04aac93a9920fc20532c5a7a1630071172c65a953750d254e632cc43bf16ee417cd4f79b332c97a25c0726a7d732239bf5df083d299d2312ecc7539f6e8d634faa6f80989ce2627766b58974823a1bbeccfcf0ae22dbebadc6cccd896888c42badaf2bd2cb764556de10bce50', @@ -1359,7 +1359,7 @@ export const mainnetBlockHydrated = { nonce: '0x11bc2', publicKey: '0x471c79d7bcb68cfe81aca71eaca7fc70a90dfcb9ca8669687266add051625b44', signature: '0x4e284dab507e32122c3fbc9f46801f3790af234597bc420f063e1f4f3e76bb83', - to: 'Z908edc7e1974ecab1ca7164424bc4cac287d83ad', + to: 'Q908edc7e1974ecab1ca7164424bc4cac287d83ad', transactionIndex: '0x47', type: '0x2', value: '0x0', @@ -1369,7 +1369,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z79672062c5a45e3808d6b784129cf3ecf59d4224', + from: 'Q79672062c5a45e3808d6b784129cf3ecf59d4224', gas: '0x1e848', hash: '0xe622306295b723bf0da62a8946e0c624a3375096669cd379bc437ba3a0e2b6b1', input: '0xa9059cbb0000000000000000000000008a900d289a028cd59cae6cebacfd932c60978df3000000000000000000000000000000000000000000000000000000000bebc200', @@ -1378,7 +1378,7 @@ export const mainnetBlockHydrated = { nonce: '0x20779', publicKey: '0x8cf782f3d4aa7d417fcd9b0c9347b4f7539db2cff70b07ccd35974cc1e1c0acb', signature: '0x56d09c40b55fcdd1d62fa826aca514daa096571286ac77dcf05f00734dde69f8', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x48', type: '0x2', value: '0x0', @@ -1388,7 +1388,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zd007058e9b58e74c33c6bf6fbcd38baab813cbb6', + from: 'Qd007058e9b58e74c33c6bf6fbcd38baab813cbb6', gas: '0x3002c', hash: '0x804e7b2c8b74700c58f930f56e09e49a037b9dc454245ed87e469af5d73d7db6', input: '0xac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000c4219f5d170000000000000000000000000000000000000000000000000000000000076e40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004aae0a5d29921ff595000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004aae0a5d29921ff59500000000000000000000000000000000000000000000000000000000643645c700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a00000000000000000000000000000000000000000000000000000000', @@ -1397,7 +1397,7 @@ export const mainnetBlockHydrated = { nonce: '0x102b', publicKey: '0x7527fd3053f801b20b55ae53a479a4fa15ce6fc6fe85f8f651995f65921d2c0a', signature: '0x7cfbe3d717d5e8db13d0a72c30e6716a81ae3f79dd209b9fda4a10c38f43a0fd', - to: 'Zc36442b4a4522e871399cd717abdd847ab11fe88', + to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x49', type: '0x2', value: '0x4aae0a5d29921ff595', @@ -1407,7 +1407,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb1bb676c7d99e64e8aa95a7a2a22b962596e041f', + from: 'Qb1bb676c7d99e64e8aa95a7a2a22b962596e041f', gas: '0x272a4', hash: '0x9944ff3b953f8a03d29719d2f1921d2f7ad23f28435aabc7a1cc16633c4c3efc', input: '0x1249c58b', @@ -1416,7 +1416,7 @@ export const mainnetBlockHydrated = { nonce: '0x12', publicKey: '0xe8c011f8dffc52c797faa8deac946b39ffca8bf3ab44126a40bb506f1cf02386', signature: '0x5313b99bfba1bad60fe829b008341fbd8269cea4d4fb5843ac7f4b1d130088f6', - to: 'Z5f5cf9f5eb0e1dbb2b9ec771e015575d2e80eb6e', + to: 'Q5f5cf9f5eb0e1dbb2b9ec771e015575d2e80eb6e', transactionIndex: '0x4a', type: '0x2', value: '0x2c68af0bb140000', @@ -1426,7 +1426,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zeb5730d84f55206cdb742379c22c7c6abfc88ae9', + from: 'Qeb5730d84f55206cdb742379c22c7c6abfc88ae9', gas: '0xcaf8', hash: '0xb6b4ef98d38a6a05809d1bf3f54ad65ce4c5b5ed5ae5bb77efc9448b46809735', input: '0xa9059cbb000000000000000000000000a0d139723d6b9ddd967055e9af10734faf6daca600000000000000000000000000000000000000000000130ee8e7179044400000', @@ -1435,7 +1435,7 @@ export const mainnetBlockHydrated = { nonce: '0x4', publicKey: '0xb73372f12b0891276107875cbf41880a5d908b33cfa4e7951f193de4876c16b5', signature: '0x058df26ec5a80b5b8796524849e637c97bb08e9168f5f86b68eafad64b1b4f5d', - to: 'Za1f7c9c6d19e2d0bf20729cb0bf03338a90bed9b', + to: 'Qa1f7c9c6d19e2d0bf20729cb0bf03338a90bed9b', transactionIndex: '0x4b', type: '0x2', value: '0x0', @@ -1445,7 +1445,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z80c67432656d59144ceff962e8faf8926599bcf8', + from: 'Q80c67432656d59144ceff962e8faf8926599bcf8', gas: '0x186a0', hash: '0x93b1efe0e8e99c39e0196bd596d4558863ffa78edc8c3b7a223a6a12a7b39ad4', input: '0x', @@ -1454,7 +1454,7 @@ export const mainnetBlockHydrated = { nonce: '0x41192', publicKey: '0xbf67e3864f000307e7af8acbbfc7961a3fd0b6b1372eb29d42de824a161068b8', signature: '0x018ddbd9adc27937567010cb339711b2730e534f81e34744e989489246c3a01a', - to: 'Z585e94276ead330002fa0c51f3952be45404e1e8', + to: 'Q585e94276ead330002fa0c51f3952be45404e1e8', transactionIndex: '0x4c', type: '0x2', value: '0x1342a7adc76503d', @@ -1464,7 +1464,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcfc0f98f30742b6d880f90155d4ebb885e55ab33', + from: 'Qcfc0f98f30742b6d880f90155d4ebb885e55ab33', gas: '0x5208', hash: '0xa7665ef46de3416737bb9768e48908a625d89395dfe14e47f863da8fea76db6f', input: '0x', @@ -1473,7 +1473,7 @@ export const mainnetBlockHydrated = { nonce: '0x42473', publicKey: '0x759cf933d5eaa4ae2424d1b0a3f738e6426f46aae34fbfb728fcc5d44bad86d4', signature: '0x48ba7d2d59c11b2924f4c5cec339a13f2e488a30167db2d5f5e0e66c9dcd4f45', - to: 'Z88c5f536d1514800dfd328d1e8dc2d8f3b4d60e4', + to: 'Q88c5f536d1514800dfd328d1e8dc2d8f3b4d60e4', transactionIndex: '0x4d', type: '0x2', value: '0x320ec7c4e2a000', @@ -1483,7 +1483,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Ze4edb277e41dc89ab076a1f049f4a3efa700bce8', + from: 'Qe4edb277e41dc89ab076a1f049f4a3efa700bce8', gas: '0x186a0', hash: '0x28d9b81fe5974728f846e2c752a43dae559687dfa4aa5732c184e25e65dde89f', input: '0x', @@ -1492,7 +1492,7 @@ export const mainnetBlockHydrated = { nonce: '0x10a8f', publicKey: '0xe52632ff849af71f4d046b96682c9dbb1ce0991c424db42d45b013275f8ae538', signature: '0x09bbb3a4b6135e7b48116ebfaeb37c92fbfadf5a5ba590e11e4cc96095110326', - to: 'Z72cd4e3777e0df0a53a991f55fe816329d9f7c21', + to: 'Q72cd4e3777e0df0a53a991f55fe816329d9f7c21', transactionIndex: '0x4e', type: '0x2', value: '0x12312e6a272a00c', @@ -1502,7 +1502,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z80c67432656d59144ceff962e8faf8926599bcf8', + from: 'Q80c67432656d59144ceff962e8faf8926599bcf8', gas: '0x186a0', hash: '0x2ed95ae311604dda2a370282bd6f3449cc1a4f2756f118f1aeb1d60c98c90ebc', input: '0x', @@ -1511,7 +1511,7 @@ export const mainnetBlockHydrated = { nonce: '0x41193', publicKey: '0x41f1b4ea4b9948a5bdd2e92f0f51922c450c6fa334d9fce39d27207799d1c2dc', signature: '0x2f09fd651476778e7eb470b5c1b1f5987690b09c4140b95b601b0f89d37cfe95', - to: 'Z5eca6ce07dc82e150f23a988d2f6b29631ae2dbc', + to: 'Q5eca6ce07dc82e150f23a988d2f6b29631ae2dbc', transactionIndex: '0x4f', type: '0x2', value: '0xd889b3bb0f602d', @@ -1521,7 +1521,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z4c9af439b1a6761b8e549d8d226a468a6b2803a8', + from: 'Q4c9af439b1a6761b8e549d8d226a468a6b2803a8', gas: '0x5208', hash: '0x04bff1f526355878a5a79105a6fa4a4947ec23a6267afb8a2e7c7ce40fa2eda7', input: '0x', @@ -1530,7 +1530,7 @@ export const mainnetBlockHydrated = { nonce: '0x33c48', publicKey: '0x56198513035d28dd33b6f52996425678e19068c5aa465426b217e317ed060ccd', signature: '0x34774b646c8d2767ceb4ae3eed4d1c4a7ffabb76a3abd516500dbd3ad92574a1', - to: 'Z6bc39906da272535c3cda74aada15366c44badd0', + to: 'Q6bc39906da272535c3cda74aada15366c44badd0', transactionIndex: '0x50', type: '0x2', value: '0x57979784eff000', @@ -1540,7 +1540,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z17fb84a661d2f5f353d257a6fafc3d38b97da83a', + from: 'Q17fb84a661d2f5f353d257a6fafc3d38b97da83a', gas: '0x4878a', hash: '0x78e4f8d6d388ebaf4a1b43f3232b97a5f25655ab2e18b2c8cf509940f0a57a62', input: '0xf2d12b12000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000017fb84a661d2f5f353d257a6fafc3d38b97da83a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000fe080f9d773f7bc4d00cfdbc84408712536927c9000000000000000000000000000000e7ec00e7b300774b00001314b8610022b80000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000064363b9c0000000000000000000000000000000000000000000000000000000064436a9d000000000000000000000000000000000000000000000000000000000000000072db8c0b000000000000000000000000000000000000000055796030a90137f00000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b71d8b8e3d000000000000000000000000000000000000000000000000000001b71d8b8e3d000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000be9371326f91345777b04394448c23e2bfeaa8265c704b53dbf792236eed1b294a4576c12e61685bf06bbc766717138bf1e7edd500000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000fe080f9d773f7bc4d00cfdbc84408712536927c90000000000000000000000000000000000000000000000000000000000000040b3f1402e9455208c9664fd784ffc4995d08c39bad48c8994574c55031a432c553546f016378f00b18a2af71bb14547baf60b6531e2b3846f66de01b61d5e1eec000000000000000000000000000000000000000000000000000000000000007e0017fb84a661d2f5f353d257a6fafc3d38b97da83a0000000064363fa714b3694381555bc394cc0dfba14401a2e6e2a103af5e6ecd7d47f1cbb4242256807c5b993754489be391ffac8291f413f2270fca507c36a485e77c30a6cbc1c1000000000000000000000000000000000000000000000000000000000000011dd2000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000017fb84a661d2f5f353d257a6fafc3d38b97da83a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000064363b9c0000000000000000000000000000000000000000000000000000000064436a9d0000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000faf73bc19aab78a80000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000be9371326f91345777b04394448c23e2bfeaa8260000000000000000000000000000000000000000000000000000000000011dd20000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000925f2e84bf000000000000000000000000000000000000000000000000000000925f2e84bf000000000000000000000000000017fb84a661d2f5f353d257a6fafc3d38b97da83a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011dd200000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000011173ab0545f5b0f66005dc939c112d62517cd3c7af924ea3de2acdfb153ac7d79ac6498b24ed19f9d7e28267807f9745320c104d38388de01d723f540a41f0599f667ee66f59f02f291e822b78cc5afdcbe5fe0ae9837edfb5fb7b05aa4741d8279f6165f5fbe78cfc64738fc31c2b07d67d6e62984a87b8bd9cd5b54cd1e19d8ad2097c33b2f3b9ddb8d17ae1a4c46db08358602cefcec18e9ee88f4442f88a4bf122b8e37844f6a89a4f1c65a23c56a5755227f515e72deb64a600fdc4b059174aad4416d2a179bc57f8b84ba9ed2667a2befd75280091d8a861b0d3aca6119c8c0c1588ffa4f9a4caefc9532dc7aa31f711da2b112fe6b5a7bf29101df6fb34cfddda642fe5466fe08397bca3da9de8238622cce70b493e9f9d382b677c0bf65fb1c7f600e101b72c1eb4de0dc9e78c11c5b93b730fc37160b79d6e4a680f3faaea664643ed4cda9c0b98b402920642aaf8c3f43f50660cbf24f4830f1914a952b4ef4945010d54e4648b15b9c60b61fbb9c369b0a88e0dacce742f413424e86f655bd8a1adbbe325db62c241e236560b22bdee51b0c4891d9b98f892facef3d02a4de31bb51dc0c2d6566babfd3b6a24bb45f453a7d44ca41200fe6ad2fa6e29bccd4586238fcfe090bf77dfcd81c40788ad6a3b2bf6850917f5652f6d667fdcca82aaf7113b1cf7e93b45bfe3c42643711581ebf8cb4de854d92cb17fae64184487b4716217f80905633831ca5c512c3286ecceb89a409168ddb344c3a32000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000360c6ebe', @@ -1549,7 +1549,7 @@ export const mainnetBlockHydrated = { nonce: '0x290', publicKey: '0x0ffb80eb321c5882261b75971226c4ea3280e4e7f13b699ac3655b1a918ceb92', signature: '0x12b0f3cdf17d32f848d129e17af8a6fb1ed15fbdd089bccb9c119b4ddbc16c56', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x51', type: '0x2', value: '0x0', @@ -1559,7 +1559,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb976d01275b809333e3efd76d1d31fe9264466d0', + from: 'Qb976d01275b809333e3efd76d1d31fe9264466d0', gas: '0xb4aa0', hash: '0x39fc3a2f506b038e3b502727345edcf6c42127bd97c906bf5cd69c1d5e9ceec4', input: '0xc9807539000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000400010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002800000000000000000000000caafb4c342b69dadd6d791c56ba7d1b000000be8010f010c0b030009070a02050e04060d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000019b1f4200000000000000000000000000000000000000000000000000000000019b452800000000000000000000000000000000000000000000000000000000019b52d400000000000000000000000000000000000000000000000000000000019b5c4300000000000000000000000000000000000000000000000000000000019b5c4f00000000000000000000000000000000000000000000000000000000019b5ec200000000000000000000000000000000000000000000000000000000019b5ec200000000000000000000000000000000000000000000000000000000019b608000000000000000000000000000000000000000000000000000000000019b608000000000000000000000000000000000000000000000000000000000019b697700000000000000000000000000000000000000000000000000000000019b70aa00000000000000000000000000000000000000000000000000000000019b879000000000000000000000000000000000000000000000000000000000019b9b9500000000000000000000000000000000000000000000000000000000019be57700000000000000000000000000000000000000000000000000000000019c035c00000000000000000000000000000000000000000000000000000000019c394000000000000000000000000000000000000000000000000000000000000000066e66d4d238abf2a84f5fc465a2e41735d21c720bc516264bcb846d423ed9efeaad22d072207791393fbd6ce8ed4a4365e8b24f93f4141483c4bb929cf68488ec49cac06d656d22b921a569e39b94de94ec68fdaca2274ffcc97cfc60a11f012702cb49c28a4d286875512b500bc4ae3bc2ded30381fb4bb050457302292c7f0f60b5a478972e9a36e306fba6a8464f4c4c1e1ab47dc59601df9caecbb82d544f692563216de85072ae876992de6b9fa1ad8c40e7104e51375a50350a673d44530000000000000000000000000000000000000000000000000000000000000006618235e5c012f1fd7489d13b278a66b678a3ac29a196bd40681ee39ed3dfa7111b6255c44008a68b2aa5e2ed7b7e6129989edbb66017570b23e1ba6f3fb6625d44996832badcc32a6b4057181b1e171f84c05d5d7469b557b870980d32807d930a1549998782d5637e4ae74f6d371b8324f7abb1590a12ca961454fd26945f8735cbd4b5a079631be754fce2cc0f24da5a0cbc010ee0f98a4ef46b39045df0d00db817ce3c076fcbc70e3d85e9c4bea1eb5a33dea5b19dad02ca8d2e102e1902', @@ -1568,7 +1568,7 @@ export const mainnetBlockHydrated = { nonce: '0x1b09f', publicKey: '0x7e01f3f231b2d8a9fb7e56043e21e8896ce19fbeb33517d407427d87631e7655', signature: '0x16f1192dd60fd55c7f917ba2a9fd6e7241f9330e795d08a4a38881145f3107a4', - to: 'Z98e3f1be8e0609ac8a7681f23e15b696f8e8204d', + to: 'Q98e3f1be8e0609ac8a7681f23e15b696f8e8204d', transactionIndex: '0x52', type: '0x2', value: '0x0', @@ -1578,7 +1578,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcfc0f98f30742b6d880f90155d4ebb885e55ab33', + from: 'Qcfc0f98f30742b6d880f90155d4ebb885e55ab33', gas: '0x5208', hash: '0x9c850596d23bfc226f4177a827d27cbfd13373ab3c6c8f083de69da4d4aba82a', input: '0x', @@ -1587,7 +1587,7 @@ export const mainnetBlockHydrated = { nonce: '0x42474', publicKey: '0x915fabc6157bd8cd9a68c1014f8b732ba10e45933c47132b6d8d2ed13ca7a3f2', signature: '0x4f83e6070627d7255faf3ff9bd831a78f7704b2155263edfeec7008eff435ba9', - to: 'Zedcb80a23f36923377ca239aecb6e582ef6362c7', + to: 'Qedcb80a23f36923377ca239aecb6e582ef6362c7', transactionIndex: '0x53', type: '0x2', value: '0x21afacba393a400', @@ -1597,7 +1597,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Ze4edb277e41dc89ab076a1f049f4a3efa700bce8', + from: 'Qe4edb277e41dc89ab076a1f049f4a3efa700bce8', gas: '0x186a0', hash: '0x30f4c85342e02c43297d2720b034d8b724f38281d34a7c2dfb84328317da549b', input: '0x', @@ -1606,7 +1606,7 @@ export const mainnetBlockHydrated = { nonce: '0x10a90', publicKey: '0x0eb75546ed9b0a261b663e095c7f93f10bdc8900a2cf9fb0a1cb4afb0e40a966', signature: '0x76961fa9c1f5c5054339c79950581cc8b32c5fe15e9730ac2af740cddc9b2d98', - to: 'Zd44f54bd8cacb0bbf5f568be436f3ebb5204022e', + to: 'Qd44f54bd8cacb0bbf5f568be436f3ebb5204022e', transactionIndex: '0x54', type: '0x2', value: '0x11ba60e96de00d', @@ -1616,7 +1616,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z11f813a59d746eb051f1249e17c01ed4ecb7637a', + from: 'Q11f813a59d746eb051f1249e17c01ed4ecb7637a', gas: '0x1e7ff', hash: '0xbc83390bc39958798cb3066bf330a5611945aa5ca5112a55b92d6c689554ad60', input: '0x5c11d7950000000000000000000000000000000000000000000000fae266e7ce1bd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005f3dcfa04bd883e89de8970424a77504fc9e4a390000000000000000000000000000000000000000000000000000000064363f7b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000675bbc7514013e2073db7a919f6e4cbef576de37000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', @@ -1625,7 +1625,7 @@ export const mainnetBlockHydrated = { nonce: '0x186', publicKey: '0x300c8ab86d498fa6ca5368659b988ca063d6795c0708ebd6797c7932d10671ef', signature: '0x4cf593213a0c878c0ee7faad552d0c5916162a5a2d2a64c335b75f6194ca9403', - to: 'Z7a250d5630b4cf539739df2c5dacb4c659f2488d', + to: 'Q7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0x55', type: '0x2', value: '0x0', @@ -1635,7 +1635,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z30a465f4dd49105cc535e6607b4e47d124c3ed1f', + from: 'Q30a465f4dd49105cc535e6607b4e47d124c3ed1f', gas: '0x1afee', hash: '0xf0a99df33c3ab18658dd8625fd41cf41dc83dc44f19688f3cf17f04514a0d4cb', input: '0x44bc937b000000000000000000000000f65c1595b64e73dcb551bd7eedcb43eb2c769be200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006436426400000000000000000000000000000000000000000000000000000000000000413d3a424e422e424e423a626e6231356d6e366d766a3364636c6c6b6c3268776c3676633439797565756c3661656d6573733432713a323037393138323a74653a3000000000000000000000000000000000000000000000000000000000000000', @@ -1644,7 +1644,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xa453f3a177d595a27298500aa7e77787bc20907c9b00f30826c998ee7c1dff85', signature: '0x7369e5b46c440dfad01acefe6f26c5b708b19210b52d31af4be4d73b262b1d3f', - to: 'Zd37bbe5744d730a1d98d8dc97c42f0ca46ad7146', + to: 'Qd37bbe5744d730a1d98d8dc97c42f0ca46ad7146', transactionIndex: '0x56', type: '0x2', value: '0x0', @@ -1654,7 +1654,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcfc0f98f30742b6d880f90155d4ebb885e55ab33', + from: 'Qcfc0f98f30742b6d880f90155d4ebb885e55ab33', gas: '0x1d4c0', hash: '0x080d36e7596e73af440400f2542d2b93c0b3cf3af6cfe400ac3fd469d958b338', input: '0xa9059cbb000000000000000000000000cdcedde8f0690fa8da7cdacdbcce7c8550bdce390000000000000000000000000000000000000000000000000000000006bb7af0', @@ -1663,7 +1663,7 @@ export const mainnetBlockHydrated = { nonce: '0x42475', publicKey: '0xfd42464897da80d7e801c323400d9fd9023320a8b3d4f0567793443d8348f4ab', signature: '0x40e14c1cc01cb5170ab3f0a1add8b2b2d65b7da65e29480d3c87df1ee67c3d77', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x57', type: '0x2', value: '0x0', @@ -1673,7 +1673,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zddeb598fe902a13cc523aaff5240e9988edce170', + from: 'Qddeb598fe902a13cc523aaff5240e9988edce170', gas: '0xb4aa0', hash: '0xc27d72675970b34668bea3e241a10e3f8e963a9bbae7b69f1cf27dc6aecbcbe5', input: '0xc98075390000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000004000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000008b1e35ccde892fe56c722420bdc588160000e9c401020106050e0c08070a0903000f040b0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000878155e000000000000000000000000000000000000000000000000000000000878cc79000000000000000000000000000000000000000000000000000000000878cc790000000000000000000000000000000000000000000000000000000008795e140000000000000000000000000000000000000000000000000000000008795e1400000000000000000000000000000000000000000000000000000000087ae02300000000000000000000000000000000000000000000000000000000087ae02300000000000000000000000000000000000000000000000000000000087bce3d00000000000000000000000000000000000000000000000000000000087e54f100000000000000000000000000000000000000000000000000000000088009a000000000000000000000000000000000000000000000000000000000088009a000000000000000000000000000000000000000000000000000000000088215d80000000000000000000000000000000000000000000000000000000008828818000000000000000000000000000000000000000000000000000000000882bfc4000000000000000000000000000000000000000000000000000000000884a230000000000000000000000000000000000000000000000000000000000888fde4000000000000000000000000000000000000000000000000000000000000000697b49b869116d98c339ccec078201a086eeff8a1079a0ad8cf549e03e5116eae935d24b28b7999659595eaaadf4cff5e3196f5682ac22ca1ddcebb39026b69d9865d7c0f6553fa9c551b03d4f8a641755ea3347ca4c6a65162759d51df61c821223e39ebde460b257af0d8ada9bacba166054fb28dd7c0111e708ba749e8a808fc8da138d00e279ae2779606d364348d5c46ba6f37d5e8521ccfce6d940c24273990bd131c37ce33e29b82bb5551c7efd38aac7dfdf8d08090b76566ae18bcf000000000000000000000000000000000000000000000000000000000000000063d03f6364fd18561ca03cef54f44484f61bb3b620f99adfddef40d6565ffe5be7bf8aaec763d43f79fcbe7319c620ba4a407a7e49c9b7ec6093e60b5bf1a772d62999830f88b3d844988b09e5228487fde2ee2b3fd12abf54e7cbbf97221b74830e567ff8d676921f7275bd9a446e16287c1a82fabaa1b4272f35915eb03bd432a3647b9125bf089a81c231c97bdbee706fa68e43173cc9fa3e6a39b8ba825573d107a84d20a0db4e61fa881aba7c527cd83fd37b3de86dbaf6cfafd69de400b', @@ -1682,7 +1682,7 @@ export const mainnetBlockHydrated = { nonce: '0xe555', publicKey: '0xeb2632aa69af6c352644493291a00b9ed63fc8eb439b138bf9dd298bc5ff2545', signature: '0x405b026b89862bc6b824067d2c6a6e1ae354ab735d1dc3b47c159d6449fd3a22', - to: 'Z34b41725cf934866a4b89d65395f15af2cb9ae89', + to: 'Q34b41725cf934866a4b89d65395f15af2cb9ae89', transactionIndex: '0x58', type: '0x2', value: '0x0', @@ -1691,14 +1691,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za4e5961b58dbe487639929643dcb1dc3848daf5e', + from: 'Qa4e5961b58dbe487639929643dcb1dc3848daf5e', gas: '0x55f0', hash: '0xf062f350fcb7ceb7eda9cb8265e9a5922249ceddcb1a40b67ba1af43bb5c8597', input: '0x', nonce: '0xc89e2', publicKey: '0x49b22ad44cbe9b0775944b6153021b501f2bb5a4aacf9a10ee8da7df87ccdfcb', signature: '0x0dee73e0614bdfdb0e5d2e6b30d4d2f53a96be5f1421bb9d903e814989790ed6', - to: 'Z2c3113d1a6433d6c88ae92888346cf7f23fcb171', + to: 'Q2c3113d1a6433d6c88ae92888346cf7f23fcb171', transactionIndex: '0x59', type: '0x2', value: '0x9ff516e65e000', @@ -1707,14 +1707,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z48c04ed5691981c42154c6167398f95e8f38a7ff', + from: 'Q48c04ed5691981c42154c6167398f95e8f38a7ff', gas: '0x2bf20', hash: '0x76a287becd9daa920e1d26b9ee1843d03ce6df36b5434076738b90c323ba3a82', input: '0xa9059cbb0000000000000000000000002c20b005df1d28e09d35b2d2b683779faa3e06cf0000000000000000000000000000000000000000000000000000000005fb7191', nonce: '0x97e97', publicKey: '0x316288aa6f36438a65c22bd08bfcc8a6ac6f038e17f5b704b0ef00d770fbe83f', signature: '0x2263c2789374197fde54cd758502ca6b2b58de839d0be37a3ef2537b415329d2', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5a', type: '0x2', value: '0x0', @@ -1724,7 +1724,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z876543cc6549d633de96b62a51f79160a904273d', + from: 'Q876543cc6549d633de96b62a51f79160a904273d', gas: '0x18b33', hash: '0x51bfb597e154b9df1dfab45885c8219dd3ba99c0fa80631acba6b635471f74a5', input: '0x6a761202000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000004c15ed742031843d43d4495ad4285bf6323efa3c000000000000000000000000000000000000000000000000000000000744a820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000876543cc6549d633de96b62a51f79160a904273d000000000000000000000000000000000000000000000000000000000000000001569d1270ca49270c51a5a43fe149d858171ac371537a8b5dc3a97116fe33c0ba7dc8d9bda9230591b7f10e2bdbe37c00771c631ed5fd3dcffd8d501e9f5fcc1a1f000000000000000000000000000000000000000000000000000000000000', @@ -1733,7 +1733,7 @@ export const mainnetBlockHydrated = { nonce: '0x7', publicKey: '0xf3d9a7ab2185b2d61daa3e9b5aa4536817f94f496509a849ea882fb716c58f87', signature: '0x6633d928531f98b3f501f137a52bf139918608181de3957efc41238b60b6fdb6', - to: 'Zec5f4829854d1f0478b5b7a1c6f7dc50c4545fc0', + to: 'Qec5f4829854d1f0478b5b7a1c6f7dc50c4545fc0', transactionIndex: '0x5b', type: '0x2', value: '0x0', @@ -1742,14 +1742,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z490ac3d62b3e71621687724ad894b2f15eee1167', + from: 'Q490ac3d62b3e71621687724ad894b2f15eee1167', gas: '0xda8f', hash: '0x0d7b43abc4b92337b064b74f7e2ff87c337cf0a5690a54dac34f2edf555d0733', input: '0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', nonce: '0x2ee', publicKey: '0x932266958a75019c8b5b922453b1a17acd707cc942d51fc9f569aeb256f44b82', signature: '0x2378e8c4aa7059f894ff3dc7ac65108d6649c75d347ac99de96997486a931bcd', - to: 'Zee8253a7c009fad5fe047af648d29586c24d56d3', + to: 'Qee8253a7c009fad5fe047af648d29586c24d56d3', transactionIndex: '0x5c', type: '0x2', value: '0x0', @@ -1758,14 +1758,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z8cd94a71532f1f361f79a715f862c3ac621a9ceb', + from: 'Q8cd94a71532f1f361f79a715f862c3ac621a9ceb', gas: '0x10231', hash: '0x6d9cf19ee0ca152ae9c5634caae877ab6011a70ee330225d9546589d74b3e087', input: '0xa9059cbb000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1000000000000000000000000000000000000000000000000000000001bb75640', nonce: '0x0', publicKey: '0x2e518bb0c931b43e236d7c56ed2526fd9b0842a8add6ece75acc76380237a762', signature: '0x2b411dd4544bd94c7dce7f65c4dc0eef761568f12cb56a9da80a847545d6ac55', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5d', type: '0x2', value: '0x0', @@ -1774,14 +1774,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zd29a9fd180fb8da993576959bc9965962d7112b8', + from: 'Qd29a9fd180fb8da993576959bc9965962d7112b8', gas: '0x10231', hash: '0x1fef29d91355611b129ff67f970f6d1da96104df0310bd3b72237367723757d8', input: '0xa9059cbb000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1000000000000000000000000000000000000000000000000000000019b45a500', nonce: '0x29', publicKey: '0x486be4009aab14d1968cc4f6ea0f60bf2e60333737051ec4c16be637ad9f92be', signature: '0x3fdaee939cae609f0d789d54d5bf5ab5edbfbf927a83bd4e5f5376b9898cb594', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5e', type: '0x2', value: '0x0', @@ -1790,14 +1790,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zbdac639e17f40fe595a6f683fb031d5d14e454e2', + from: 'Qbdac639e17f40fe595a6f683fb031d5d14e454e2', gas: '0x10225', hash: '0xa1ad417520e8fc7d9c8d480e98b929487614daac0c8864879182dfad732054ef', input: '0xa9059cbb000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1000000000000000000000000000000000000000000000000000000003b9aca00', nonce: '0x0', publicKey: '0x50e569b6a8052f1a7f8c142dcb5e9a6f0b0a9bc008020551cb095c413b8cd0d1', signature: '0x5e8e22aea92826c27fc90b46d5f104b95ec52613d3352efa56af8023eed21cd0', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5f', type: '0x2', value: '0x0', @@ -1807,7 +1807,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf87acd73088f39c8fcaa77a036d9bdf3671cf0db', + from: 'Qf87acd73088f39c8fcaa77a036d9bdf3671cf0db', gas: '0x2be83', hash: '0x7fcdfa9acd5255dafc8ddff55a2d8f06c93476eed34b511b7f504fc3eb0a4fa1', input: '0xe449022e0000000000000000000000000000000000000000000001b1ae4d6e2ef500000000000000000000000000000000000000000000000000000000000000e4235bd900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000371a0985d104c706cafa26ffb990f55ba55bf6c5e26b9977', @@ -1816,7 +1816,7 @@ export const mainnetBlockHydrated = { nonce: '0x20a8', publicKey: '0x28ba948112aa8cee0b471ca955055a4825f6f563ea34d36a9da0e6e146a2c433', signature: '0x03b1bb8df287aab578a3dd40f302faeb043ac5e5c2f34b22ab9e0d27e73b11b1', - to: 'Z1111111254eeb25477b68fb85ed929f73a960582', + to: 'Q1111111254eeb25477b68fb85ed929f73a960582', transactionIndex: '0x60', type: '0x2', value: '0x0', @@ -1826,7 +1826,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z03aec61b209f8017a6a8aa974dce8252c69296ca', + from: 'Q03aec61b209f8017a6a8aa974dce8252c69296ca', gas: '0x13615', hash: '0x69297bc8fafd076c18fa178358ebf0782730e1efe1c5d0dc057c4a42c7d13bc7', input: '0xa9059cbb000000000000000000000000343821d3226c9f2f9a988c3d95c98c8c93cb75090000000000000000000000000000000000000000000000000000000005f5e100', @@ -1835,7 +1835,7 @@ export const mainnetBlockHydrated = { nonce: '0x6', publicKey: '0xd9d01006b01c45425b865e62f65c7c8cddc2816681ccbb29a08ec5287b49ea43', signature: '0x7127820875586008d07fafecdbd55103e102d921d203c095e9992efd51cef753', - to: 'Za0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', + to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x61', type: '0x2', value: '0x0', @@ -1845,7 +1845,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z57e65e1099ff2e2f1878ba820deb2a59377ac79c', + from: 'Q57e65e1099ff2e2f1878ba820deb2a59377ac79c', gas: '0x2bff5', hash: '0x885dedc7616cefc16490d6dbec79b7ccc7dd1615367d2c4101084d60f2fdbea1', input: '0xfb0f3ee10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d975d41e5000000000000000000000000000593afcc8ba197e8c1ff17cfd2f1a94e8119e79c0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c0000000000000000000000000079f725f5c91384615270135d113efc7adcd8ee390000000000000000000000000000000000000000000000000000000000000776000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064362d6800000000000000000000000000000000000000000000000000000000645dba680000000000000000000000000000000000000000000000000000000000000000360c6ebe000000000000000000000000000000000000000037b453c98f8a79a90000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000001fd5129130000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000633b5706d50a116101ac05ae95e2183168bb41cdfa3ded99a4e155291e6d6674462e6131fb77cd79a066548742049e828bc322115be1d9e5449d717febef7985ff00000073f8473e961ce955c014453147c9b5f24f0199ad5210ca60aab99b5b0f1394770000000000000000000000000000000000000000000000000000000000', @@ -1854,7 +1854,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0xb58385ce65a6a3cb5669f5f1ab1f6f2256ecfa7518ec314ec41eb98bc0837e60', signature: '0x29ea698c40672c0dbd004d705439542f22791af7a1c1e37dcbe83b56b9e7c9be', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x62', type: '0x2', value: '0x4f94ae6af8000', @@ -1864,7 +1864,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z231d3839825cbfa5887d5539fb297539627d74c8', + from: 'Q231d3839825cbfa5887d5539fb297539627d74c8', gas: '0x5208', hash: '0x03a87bf75fb7637fff63350513f286fdf23a5c0c5a561122f1e768c76ec6ea2b', input: '0x', @@ -1873,7 +1873,7 @@ export const mainnetBlockHydrated = { nonce: '0x13', publicKey: '0xb43ba165e5311936a02abdd5ce68b320deaa86957455f2b81493e7814266ea34', signature: '0x4e607d1700fec1e31441aa8b1f5c6b0df6604dea4e2008503bece4fc892f82ba', - to: 'Z599f79493f478a8899c9e0b9ce986030e40b8192', + to: 'Q599f79493f478a8899c9e0b9ce986030e40b8192', transactionIndex: '0x63', type: '0x2', value: '0x2c68af0bb140000', @@ -1883,7 +1883,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcc175d966ea179dddf2cd2d2a79973da5ce387f1', + from: 'Qcc175d966ea179dddf2cd2d2a79973da5ce387f1', gas: '0x15f90', hash: '0xf76389acc92906f1290f3a854aa7bdff09ee6b7194a6cdbe3867b3b2f7b16fc3', input: '0x2d2da806000000000000000000000000cc175d966ea179dddf2cd2d2a79973da5ce387f1', @@ -1892,7 +1892,7 @@ export const mainnetBlockHydrated = { nonce: '0x14', publicKey: '0xc529468d6f5ac6d3a93472c2342c571a7e173217fb2545fbe84d9698965b87dd', signature: '0x4f2bbee0e0b09d3030df61f434611ca2c7c6fcbd3a2172a0f787a1e3bee3bb40', - to: 'Zabea9132b05a70803a4e85094fd0e1800777fbef', + to: 'Qabea9132b05a70803a4e85094fd0e1800777fbef', transactionIndex: '0x64', type: '0x2', value: '0x1b9ac619e7a000', @@ -1902,7 +1902,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z66aa29c0d03bf1577c69748faac2c74b2b7b5176', + from: 'Q66aa29c0d03bf1577c69748faac2c74b2b7b5176', gas: '0x5208', hash: '0xa7cecd23fab592aa7f3aa37045b16a35c73b2bcfa51d9d5a7a7d15424b78e4af', input: '0x', @@ -1911,7 +1911,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0x7a738a0fd33a5d35321d30e38e983c559b4959da75b4047b6a24a7b39aad42a3', signature: '0x133773f7173e767f09f91abbc05c0189ea2b4523f4a0be0ba0cb608fa1bb2ecc', - to: 'Z98bc423fbfd9935ab439c70eaa2f503d193b8827', + to: 'Q98bc423fbfd9935ab439c70eaa2f503d193b8827', transactionIndex: '0x65', type: '0x2', value: '0x18b5d979b5acc8', @@ -1921,7 +1921,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z8264e9e0f4cbcbbbb3f8ecaec0a625b590ae790e', + from: 'Q8264e9e0f4cbcbbbb3f8ecaec0a625b590ae790e', gas: '0x9ac1', hash: '0x0fb59a5f28f25c78c39c72e0232934bd6b8646064ddd4d66e8c8b5695fa8184b', input: '0x2e1a7d4d000000000000000000000000000000000000000000000000016345785d8a0000', @@ -1930,7 +1930,7 @@ export const mainnetBlockHydrated = { nonce: '0x2311', publicKey: '0x4d9cd6af35da7055ec9f7666a8775974617c78416497d26b607a4e00e6e24df0', signature: '0x0473e36c9a23e1f51baf6e937153de71c26c04be9d2d3086941ad041afb53160', - to: 'Zc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + to: 'Qc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', transactionIndex: '0x66', type: '0x2', value: '0x0', @@ -1940,7 +1940,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zba973782ea45705bbf3d9146d1d0c7085ea67d09', + from: 'Qba973782ea45705bbf3d9146d1d0c7085ea67d09', gas: '0x3e51d', hash: '0x2343a15826c2683c027de01886924efeef1418ca43eef7f1e386e1e691cc14a4', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645d300000000000000000000000000000000000000000000000000000000000000010800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000195350072d49c51359cebc00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000308516e6daac88d719af5a6d7ea2a82d8c8e7356', @@ -1949,7 +1949,7 @@ export const mainnetBlockHydrated = { nonce: '0x78', publicKey: '0xffe855a41faa47c558849944f960e16ec0b51b50d7232588df35649a53d3c8d2', signature: '0x780adf86a100a512bcb52d4d5b7942a0c2ffca51f888f606b0ff57da3182af65', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x67', type: '0x2', value: '0x0', @@ -1959,7 +1959,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z7b229afc19d062e215426cd6ccddae15eec72bd2', + from: 'Q7b229afc19d062e215426cd6ccddae15eec72bd2', gas: '0x20fc6', hash: '0xe69e2160e90c6ef7f1a72c8bf4bdaf8e04fd679990acbacf1e9d9942eb2e21e3', input: '0xeb6724190000000000000000000000007b229afc19d062e215426cd6ccddae15eec72bd20000000000000000000000000000000000000000000000000226abadc42f800000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000ab5b4000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000001000000000000000000000000007b229afc19d062e215426cd6ccddae15eec72bd200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -1968,7 +1968,7 @@ export const mainnetBlockHydrated = { nonce: '0x14', publicKey: '0x5913f6ba1e292387d9edbd31c42cea5781ef507a54f5f0ff9b24d9e51324ae1b', signature: '0x0062fb9c767a87c8bc796bf3d813d8a078f6a4a1c34edb566910d0c5b853d16a', - to: 'Z32400084c286cf3e17e7b677ea9583e60a000324', + to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x68', type: '0x2', value: '0x2284df9f711176c', @@ -1977,14 +1977,14 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00873b5fa9dc2a7336bd7d9d9ec187235d75f65c', + from: 'Q00873b5fa9dc2a7336bd7d9d9ec187235d75f65c', gas: '0x5208', hash: '0x0853356e276a49527201727e5e994403d7071fd8c20c4fe3513be09eb26422da', input: '0x', nonce: '0x4f', publicKey: '0x6e20c681c7547f14baa4b1d4433abdaaa06f8df72dd0266e81f0d5748e71f7cf', signature: '0x4a388342be339075192c0f59bd1cde4e18adf73cf794fc74fd04c00b7d465eef', - to: 'Z974caa59e49682cda0ad2bbe82983419a2ecc400', + to: 'Q974caa59e49682cda0ad2bbe82983419a2ecc400', transactionIndex: '0x69', type: '0x2', value: '0xb2c858de4655390', @@ -1994,7 +1994,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00bdb5699745f5b860228c8f939abf1b9ae374ed', + from: 'Q00bdb5699745f5b860228c8f939abf1b9ae374ed', gas: '0x27a42', hash: '0x5c9d87e4015d92c11f2153f8133f8709294a3aedcf446523b48d8ca9f90cf999', input: '0xfb90b3200000000000000000000000001522900b6dafac587d499a862861c0869be6e428000000000000000000000000000000000000000000000000000000000005f930', @@ -2003,7 +2003,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada3', publicKey: '0x41d5426a523b9e1045201a5145cd78109077cc1fc2f9d5882f6b58d5f691a3b1', signature: '0x2a79396d96f9c362f0dd287b9fdfd6f39367a8964b3b96895a3f9737b1f67b80', - to: 'Zffa397285ce46fb78c588a9e993286aac68c37cd', + to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6a', type: '0x2', value: '0x0', @@ -2013,7 +2013,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00bdb5699745f5b860228c8f939abf1b9ae374ed', + from: 'Q00bdb5699745f5b860228c8f939abf1b9ae374ed', gas: '0x27a42', hash: '0x410a2d3073786f43ba1c0dcd5715031940b1eac224ddfbc09a2533b98e1961ce', input: '0xfb90b3200000000000000000000000001522900b6dafac587d499a862861c0869be6e428000000000000000000000000000000000000000000000000000000000005f931', @@ -2022,7 +2022,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada4', publicKey: '0x13cbb4f6a61b5bdcb4950e324769b71a02eb937594c8aa09769b27f0d88594e9', signature: '0x261f42e105031f0b934b7253f3886c1e89e698443f33244429195ee5a7f07746', - to: 'Zffa397285ce46fb78c588a9e993286aac68c37cd', + to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6b', type: '0x2', value: '0x0', @@ -2032,7 +2032,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00bdb5699745f5b860228c8f939abf1b9ae374ed', + from: 'Q00bdb5699745f5b860228c8f939abf1b9ae374ed', gas: '0x27a42', hash: '0xd074a2e071d48cd543a4c2f78cbb494a5f5b7e205d2f9f16b749d3e79fc744c1', input: '0xfb90b3200000000000000000000000001522900b6dafac587d499a862861c0869be6e428000000000000000000000000000000000000000000000000000000000005f932', @@ -2041,7 +2041,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada5', publicKey: '0x052804f66111beebc748bcd7926ebe9d4b6a9d0a793656213b15c33415eb4112', signature: '0x6e27a106d4b2d72152ceb54be11b71538539fc8c58101722bc91da558d8d8858', - to: 'Zffa397285ce46fb78c588a9e993286aac68c37cd', + to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6c', type: '0x2', value: '0x0', @@ -2051,7 +2051,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00bdb5699745f5b860228c8f939abf1b9ae374ed', + from: 'Q00bdb5699745f5b860228c8f939abf1b9ae374ed', gas: '0x27a42', hash: '0xfc7ae9cd5806dcc1bd8521581ce0187472dd6d2551e512e7a5d99e31692ce753', input: '0xfb90b3200000000000000000000000001522900b6dafac587d499a862861c0869be6e428000000000000000000000000000000000000000000000000000000000005f933', @@ -2060,7 +2060,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada6', publicKey: '0x1162bd0ef817cd7729fa1bf0ebef928242f0a63ddf13de691cb9d930c250107c', signature: '0x4486854997407eab272e2af97e6a7515ea40f5ff7d21710b413c6526c5052bd6', - to: 'Zffa397285ce46fb78c588a9e993286aac68c37cd', + to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6d', type: '0x2', value: '0x0', @@ -2070,7 +2070,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00bdb5699745f5b860228c8f939abf1b9ae374ed', + from: 'Q00bdb5699745f5b860228c8f939abf1b9ae374ed', gas: '0x27a42', hash: '0x90910adfad4d375b9f1fe068c38cfb61fa27f8f3fffd5449a056410db031af0e', input: '0xfb90b3200000000000000000000000001522900b6dafac587d499a862861c0869be6e428000000000000000000000000000000000000000000000000000000000005f934', @@ -2079,7 +2079,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada7', publicKey: '0x4fe0a6957957717c5ad46c067e30a0902e445cb77f908a033dbd79b98b9888d6', signature: '0x392ce598e7c79cb36da56f19ec951194cc1d8941c53664dbabf14c9e3fa5d11e', - to: 'Zffa397285ce46fb78c588a9e993286aac68c37cd', + to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6e', type: '0x2', value: '0x0', @@ -2089,7 +2089,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z00bdb5699745f5b860228c8f939abf1b9ae374ed', + from: 'Q00bdb5699745f5b860228c8f939abf1b9ae374ed', gas: '0x27a42', hash: '0xd4b42ed78389a43e47061ee844c2b68ed631da72ceea389363a9bab05cc8e5e8', input: '0xfb90b3200000000000000000000000001522900b6dafac587d499a862861c0869be6e428000000000000000000000000000000000000000000000000000000000005f935', @@ -2098,7 +2098,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada8', publicKey: '0x650a4b34cdcd4631c7829a32a134a4c4fddda05d6ce3740febc8b65181fcaf0a', signature: '0x5704562d0e2b28f1513637b6162897b6f9b0b7b5127642970fd053f761d178d7', - to: 'Zffa397285ce46fb78c588a9e993286aac68c37cd', + to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6f', type: '0x2', value: '0x0', @@ -2108,7 +2108,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z41aa3c59e2d0023765c972ef25067de147095e90', + from: 'Q41aa3c59e2d0023765c972ef25067de147095e90', gas: '0x2aef7', hash: '0x504e3f22373700cb294db5b5b5402f45d8c4a02d7e996e52b51a0502a6b7cc87', input: '0xe2bbb15800000000000000000000000000000000000000000000000001bc16d674ec800007f17690441d1ee627275ba60f1909e51840326e8b087a917a030ef1a58df575', @@ -2117,7 +2117,7 @@ export const mainnetBlockHydrated = { nonce: '0x3', publicKey: '0x15bc32bb35846cd316ea4b2ef352cbde5c4db3e90118a155f7d6d9d56ac42047', signature: '0x332c8e70d2d73246da61880965b6a8e18e2a49029d5c9f44d70a757a40632347', - to: 'Zae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', + to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x70', type: '0x2', value: '0x1bdb3ed2c894e50', @@ -2127,7 +2127,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Ze370cf76e4aa132b2709a842f6db1978e13493da', + from: 'Qe370cf76e4aa132b2709a842f6db1978e13493da', gas: '0xc612', hash: '0x96b93b9a250a2c76261558470c0242115dc1ebda5e1a5206489ee033fb31284a', input: '0xa9059cbb000000000000000000000000bfa08b5ca8ca1acb8a118725759d0bd6c8039f75000000000000000000000000000000000000000000000000000000000bebc200', @@ -2136,7 +2136,7 @@ export const mainnetBlockHydrated = { nonce: '0xc', publicKey: '0x4f09c205bc80daf565372757b4dea13e8f38b49f6d61f59e59dc244e2237e9f3', signature: '0x09856fc5ff01fe8b4f8771d78e7d3793db60b112cbb01fa113dced14f6d8d587', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x71', type: '0x2', value: '0x0', @@ -2146,7 +2146,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z1990bbc7bf55ca3836910bb8064af5aea1aa3990', + from: 'Q1990bbc7bf55ca3836910bb8064af5aea1aa3990', gas: '0x12496', hash: '0x0d16cbef0f3df967f3dd0a10606785c4d7ae9bb6cc4ae8018402a5a839a1f497', input: '0xfd9f1e100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000001990bbc7bf55ca3836910bb8064af5aea1aa3990000000000000000000000000000000e7ec00e7b300774b00001314b8610022b80000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000064363ea600000000000000000000000000000000000000000000000000000000643f791d0000000000000000000000000000000000000000000000000000000000000000360c6ebe00000000000000000000000000000000000000002d7e65655d5e24100000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096fd865af440000000000000000000000000000000000000000000000000000096fd865af44000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000f7d1f4f8a7818ca3d92b1ca01b8051520b054d578e88c852463068f49131297f1cae4402df7b3d67c920a72a48897a5a4a347c03000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000001990bbc7bf55ca3836910bb8064af5aea1aa39900000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c6568f12e8000000000000000000000000000000000000000000000000000003c6568f12e80000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000360c6ebe', @@ -2155,7 +2155,7 @@ export const mainnetBlockHydrated = { nonce: '0x17c', publicKey: '0xef833814a5f922ffb7809d56150f90cfc1ce6d151c7620447ff9e8670b10193e', signature: '0x236c8b6eedb771851d6d7de5a93f6ecf039250754e169f1caee2a45687b253d9', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x72', type: '0x2', value: '0x0', @@ -2165,7 +2165,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z91cfe6dbb2b98ce6fb549cb3334a90dd3a69e584', + from: 'Q91cfe6dbb2b98ce6fb549cb3334a90dd3a69e584', gas: '0x14f43', hash: '0xf80ba14af91cdf4a398fc6d7ab439f721af496428eb789749cb2da23eaf31052', input: '0xa9059cbb00000000000000000000000008f918c66d54f4c51f9a76cb9a956faab2d49abe000000000000000000000000000000000000000000000000487ef0daa63d5ba1', @@ -2174,7 +2174,7 @@ export const mainnetBlockHydrated = { nonce: '0x3e', publicKey: '0x6b04df15be2426dca5090d73052f6eb01d4b495d869ebff7da8f85298cb5868c', signature: '0x2f25a9a6120c3b912ccad0d7ce8eedda62ef4e7bc82fc5557a06f74ed1c27582', - to: 'Z1f9840a85d5af5bf1d1762f925bdaddc4201f984', + to: 'Q1f9840a85d5af5bf1d1762f925bdaddc4201f984', transactionIndex: '0x73', type: '0x2', value: '0x0', @@ -2184,7 +2184,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc7d255accc1b4dc16c2856ac4c5193bfe29801f6', + from: 'Qc7d255accc1b4dc16c2856ac4c5193bfe29801f6', gas: '0x5208', hash: '0xb8c7acb46336a721893b6171ce9ae326e8b861913ee8502560798dc03a4b428a', input: '0x', @@ -2193,7 +2193,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xc09606be9f624ec8f63206c830e3f769e7af2bb6084f63961a786996e408d252', signature: '0x1953afb0eb09319d8aca73c6afc537db8965a79a8751e398c2627ccf70e79737', - to: 'Z7ab9889cf7f17ab6303d2992c874bc583f125a2e', + to: 'Q7ab9889cf7f17ab6303d2992c874bc583f125a2e', transactionIndex: '0x74', type: '0x2', value: '0x1c288e25fbbf52d', @@ -2203,7 +2203,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z06bda28316d3681cc513d3fb6820b6837e838be2', + from: 'Q06bda28316d3681cc513d3fb6820b6837e838be2', gas: '0xed72', hash: '0x585f52cc267bc31ed76456e10e26462e8ba898419cc8b9d59f6f76c5869e4b41', input: '0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001', @@ -2212,7 +2212,7 @@ export const mainnetBlockHydrated = { nonce: '0x29f', publicKey: '0xc6422e0c8c19d97517db3a0e4e791ea556c8fc1a1eaa5fe4548b06df398d8cad', signature: '0x1da6feebf8207e3c861173dd64f96e636ca0681383fae3953ef5bd9885b3e9ec', - to: 'Zd44078705456c4f4517a659953f5296e5328f8b8', + to: 'Qd44078705456c4f4517a659953f5296e5328f8b8', transactionIndex: '0x75', type: '0x2', value: '0x0', @@ -2222,7 +2222,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z067872abb9a5ebb9435bedc994d5e276b82c2e00', + from: 'Q067872abb9a5ebb9435bedc994d5e276b82c2e00', gas: '0x81a8', hash: '0x07158ecabeaa23e23a2b4af3bf54be3f29da81f282cd031358c66addaff2e8d5', input: '0xd0e30db0', @@ -2231,7 +2231,7 @@ export const mainnetBlockHydrated = { nonce: '0x6a8', publicKey: '0x560aa95ec05030c84f9edb33ffa6a64f14e95c7edf902b9762c8393e424ee8d4', signature: '0x4fdf9270b586f36d185097e54832e318f1f1e2dbdec3a5b70b678c6c98374387', - to: 'Z0000000000a39bb272e79075ade125fd351887ac', + to: 'Q0000000000a39bb272e79075ade125fd351887ac', transactionIndex: '0x76', type: '0x2', value: '0x1aa535d3d0c0000', @@ -2241,7 +2241,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf464720e933a4818e332005f65e85ca38198ed0e', + from: 'Qf464720e933a4818e332005f65e85ca38198ed0e', gas: '0xeb04', hash: '0xbe213bb3cf09088600a8a4d6dcaa6e43e22c730a2b79686b99cb2dd23c89b0ac', input: '0x095ea7b30000000000000000000000001e0049783f008a0085193e00003d00cd54003c71000000000000000000000000000000000000000000000000001ff973cafa8000', @@ -2250,7 +2250,7 @@ export const mainnetBlockHydrated = { nonce: '0x39', publicKey: '0xd41571e5da0691205d0ac01a2752e6ebd93adb2ab3ee49fc8eca982a5a59eb34', signature: '0x1ef672723869b506f46d903606f702b642a499958642962e358cc3633488dde5', - to: 'Zc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + to: 'Qc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', transactionIndex: '0x77', type: '0x2', value: '0x0', @@ -2260,7 +2260,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z2d7fdca2a80343dc46ad0129856e8b82ead945cb', + from: 'Q2d7fdca2a80343dc46ad0129856e8b82ead945cb', gas: '0xd7aa', hash: '0x16c47e6331c4356d92def58627a88982ba34e0fdc5d38a0967a79faa2ba59c28', input: '0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000000', @@ -2269,7 +2269,7 @@ export const mainnetBlockHydrated = { nonce: '0xe44', publicKey: '0xf65542a721d9f35f30d90288e4e416fed7c107a802adc0d626d732937e3beb42', signature: '0x0cbb23391c0657b540dd143d84d54430d05accf1391a192dce9d4971b165becd', - to: 'Z2969fed452f73ea8a87ca427e27b13a40fc390ee', + to: 'Q2969fed452f73ea8a87ca427e27b13a40fc390ee', transactionIndex: '0x78', type: '0x2', value: '0x0', @@ -2279,7 +2279,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z5c8e20a9b79c9e25597994fb868b98f92097de33', + from: 'Q5c8e20a9b79c9e25597994fb868b98f92097de33', gas: '0x38673', hash: '0xa7eb4f13bd122d16890db32cc95498c41c899d90db6ded546595635be8afd65f', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000064363f6700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000214e8348c4f0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000002b6d6556409d58500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1e029ae5743fd4a324132a0be6eeebc81060f55', @@ -2288,7 +2288,7 @@ export const mainnetBlockHydrated = { nonce: '0x39', publicKey: '0x6ebc6fa0e15b11f8b528105d10e0a5036d80a65b5492ad55c15682e096bfb62c', signature: '0x742cc33888a16df24ed65b2e6c29df694a2ada7e217b2f350ba01598ac641430', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x79', type: '0x2', value: '0x214e8348c4f0000', @@ -2298,7 +2298,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zcb280c6b371d3f872d791e5bee09dc4a0670892b', + from: 'Qcb280c6b371d3f872d791e5bee09dc4a0670892b', gas: '0x1fe9b', hash: '0x0f306416f5f9ba69fcc20348dce199ad14402c5d0956c34d1d68535b7b456a6f', input: '0x0ce28dc4', @@ -2307,7 +2307,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0xaa5a9f7a4e46e240de1a97541c078bdec6c38d01385a12c7417a43a9535879ab', signature: '0x0f9668132ff0306a7713e6d6caa3f37d2b24208cb1574d72707e3cc7d0786531', - to: 'Z52a494dbf47107cc0c624ee10703abecaf586776', + to: 'Q52a494dbf47107cc0c624ee10703abecaf586776', transactionIndex: '0x7a', type: '0x2', value: '0x1dc104a3fe70000', @@ -2317,7 +2317,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zec2a9a192929ed1f280f7fd8935b881e3a649dc0', + from: 'Qec2a9a192929ed1f280f7fd8935b881e3a649dc0', gas: '0x5208', hash: '0xc8ca24a0da8b3403305b9cadb26dadcf547d8f23487b5ad1f8d63269786ff46e', input: '0x', @@ -2326,7 +2326,7 @@ export const mainnetBlockHydrated = { nonce: '0xb80', publicKey: '0xf6675a6518006fec1f26f7b84c188c7d59d8f41f9c289cf7805733be3c36078a', signature: '0x5996c346dfa0606e2a9982990428f1da60bb5af13cb3ff213530061533fd6f84', - to: 'Z32b30adef7c9dcb888d97f7b743db457e67f2142', + to: 'Q32b30adef7c9dcb888d97f7b743db457e67f2142', transactionIndex: '0x7b', type: '0x2', value: '0xb1310c5a2c30000', @@ -2336,7 +2336,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf14cbf8d2c9913169ece7d9b38ed562cc3601065', + from: 'Qf14cbf8d2c9913169ece7d9b38ed562cc3601065', gas: '0x12c78', hash: '0xef8be164d94c0eb5f2bdee4e23897d7992cf6eed26ea29543070ee2798f7469e', input: '0xa9059cbb0000000000000000000000006c4d1d6d66ded59850bc86b3421501e51cf02e3000000000000000000000000000000000000000000000021e19e0c9bab2400000', @@ -2345,7 +2345,7 @@ export const mainnetBlockHydrated = { nonce: '0x33', publicKey: '0x25181587b27718980f719f401a5f6013cd6925827d16c2ad44be78edd2235590', signature: '0x601f289cfde285f95add07c1c6248a3257f08683ed100d58cb2816edc5619e91', - to: 'Z090185f2135308bad17527004364ebcc2d37e5f6', + to: 'Q090185f2135308bad17527004364ebcc2d37e5f6', transactionIndex: '0x7c', type: '0x2', value: '0x0', @@ -2355,7 +2355,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zeaced7279d1afb93ec00a7990a45a8a1b2996ddb', + from: 'Qeaced7279d1afb93ec00a7990a45a8a1b2996ddb', gas: '0x267f4', hash: '0x3fbd6a8181c0fbfb48689db9bc12e4615ca4afc49607a06c8899c5eace3c087c', input: '0x4488c7cd000000000000000000000000000000000000000000000000000000000000038c0000000000000000000000000000000000000000000000000000000000000002', @@ -2364,7 +2364,7 @@ export const mainnetBlockHydrated = { nonce: '0x8', publicKey: '0x8b5040ac315a9c89b115670c17f8535b9598e5bc87342a7f5c3071aa637c793d', signature: '0x77d5b8dfcb4f235dd14f1cee059c49e7d8218c7190782a969912c68172f1ab25', - to: 'Z4623900e6d0495cca743665dce8fd815b0433e5b', + to: 'Q4623900e6d0495cca743665dce8fd815b0433e5b', transactionIndex: '0x7d', type: '0x2', value: '0x0', @@ -2374,7 +2374,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z250e1215ee94b57caa6dc759bd8d09572e953e1a', + from: 'Q250e1215ee94b57caa6dc759bd8d09572e953e1a', gas: '0xf01f', hash: '0x446b5bd934e67d7c6549077efee4b02f439fd2e1115914173ed449f223b45aee', input: '0xf90a82c800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000011da', @@ -2383,7 +2383,7 @@ export const mainnetBlockHydrated = { nonce: '0xfb', publicKey: '0xe679055f660c0595492297288a7e9503f489383c7a74849d849a125b153fc770', signature: '0x4aafb347706a36f9be7196c27531f8c43b2d07c0a51af60da89532a33f37e22e', - to: 'Z39ee2c7b3cb80254225884ca001f57118c8f21b6', + to: 'Q39ee2c7b3cb80254225884ca001f57118c8f21b6', transactionIndex: '0x7e', type: '0x2', value: '0x0', @@ -2393,7 +2393,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb9ba3f911fe7f16413da6d9b8e4726f7ad31bd77', + from: 'Qb9ba3f911fe7f16413da6d9b8e4726f7ad31bd77', gas: '0x17fc6', hash: '0xe65b6bec825c8ce3df9456cdd55390cbc09fc5f86c20e19455d67968339ac0e8', input: '0x441a3e7003b89c46295889c5aadce5b73ae8551f3dbf83530ce27c345d6fe94fc43f337e016807a4e2986bc9d4c2c6a2fff6b2c6f351989c0f7a6d2164377848aac7c5d5', @@ -2402,7 +2402,7 @@ export const mainnetBlockHydrated = { nonce: '0x1a', publicKey: '0xf347daef28fd1489cf97fb24456ac33928ff5138d8f607957d0001e341d37f33', signature: '0x3a14d4de05e89b99eb732b60ba9aa187bd71898ac7e941ed370efbb8e49b2021', - to: 'Z5fdcca53617f4d2b9134b29090c87d01058e27e9', + to: 'Q5fdcca53617f4d2b9134b29090c87d01058e27e9', transactionIndex: '0x7f', type: '0x2', value: '0x0', @@ -2412,7 +2412,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z6587d861b7cea89e0e78ae4897a1a757bb40cee5', + from: 'Q6587d861b7cea89e0e78ae4897a1a757bb40cee5', gas: '0x517cf', hash: '0x9aa4c2aebcb87337eaafd0768324e964af29fe34948a73c3f65205578874faa6', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000064363f2b00000000000000000000000000000000000000000000000000000000000000010800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000043c33c19375648000000000000000000000000000000000000000000000000000000000000006510e0700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000138c2f1123cf3f82e4596d097c118eac6684940b000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7', @@ -2421,7 +2421,7 @@ export const mainnetBlockHydrated = { nonce: '0x64', publicKey: '0xbfe992343bd6b9596ab42bc31ee97e82f4bf9c80c63c67ca0cc96b708c3cd032', signature: '0x4bc0740e037b12397c1611036fbff0c71179edc73db0f9089d6f8e886b1214ca', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x80', type: '0x2', value: '0x0', @@ -2431,7 +2431,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zfa756425b596a6f602460320c1447902457be9cb', + from: 'Qfa756425b596a6f602460320c1447902457be9cb', gas: '0x3b699', hash: '0xef8f8c6d22ee2165d735ed573e867e701dda02189a7ab991b788ccaaa132f8d0', input: '0x5f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000017616972737761704c696768743346656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000007aeadc0000000000000000000000000000000000000000000000000000000064363f85000000000000000000000000b3c839dbde6b96d37c56ee4f9dad3390d49310aa0000000000000000000000007d1afa7b718fb893db30a3abc0cfc608aacfebb0000000000000000000000000000000000000000000000001d750cac918e850000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004686be3d4b5000000000000000000000000000000000000000000000000000000000000000001cbcd6a8d79453d9080adad1120abd9f94ba6fb23ce2828e5a434247ad8679971918bded729941b84e7090a75edd53f3d553aebd05d4a193f306b4ac1ce369103200000000000000000000000000000000000000000000000000008726a236b000000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f19150000000000000000000000000000000000000000000000000000000000000000d4', @@ -2440,7 +2440,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xbd79bee27f16a4031e0e63d950fdce905c6252022690654106987e87b7307dde', signature: '0x13a1b7292f7bd63906e40c7545fc3dece31bba4423b475e5c113109e1996a532', - to: 'Z881d40237659c251811cec9c364ef91dc08d300c', + to: 'Q881d40237659c251811cec9c364ef91dc08d300c', transactionIndex: '0x81', type: '0x2', value: '0x470de4df820000', @@ -2450,7 +2450,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z65a8f07bd9a8598e1b5b6c0a88f4779dbc077675', + from: 'Q65a8f07bd9a8598e1b5b6c0a88f4779dbc077675', gas: '0x249b3', hash: '0x260725511b21a06d2232db5c7f6f88ea5bbdacccec4b78569a818927a80d839b', input: '0x0b86a4c10000000000000000000000000335a7610d817aeca1bebbefbd392ecc2ed587b8000000000000000000000000000000000000000000001159db99924a0b63247a00000000000000000000000000000000000000000000000003d335486200732c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000004de473465ca7f47e82033303e5d0aa0f49700e960eae', @@ -2459,7 +2459,7 @@ export const mainnetBlockHydrated = { nonce: '0x133f0', publicKey: '0x7ab0c2b5c6dc410da3f42d236a3d94c7da6c12c182465c26fa0c17b430e6c956', signature: '0x6618d10da00ede136502805d6375a2596085183a79fe6e508024d9cf3d2c3550', - to: 'Zdef171fe48cf0115b1d80b88dc8eab59176fee57', + to: 'Qdef171fe48cf0115b1d80b88dc8eab59176fee57', transactionIndex: '0x82', type: '0x2', value: '0x0', @@ -2469,7 +2469,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z0d29bc8f8e5ca0bf78727f83ab9b577414abed0d', + from: 'Q0d29bc8f8e5ca0bf78727f83ab9b577414abed0d', gas: '0x5208', hash: '0xd8b7c50d281e37dc01810fbd1c3cf314d707d175feb50f1c94e5cd07722a8e6c', input: '0x', @@ -2478,7 +2478,7 @@ export const mainnetBlockHydrated = { nonce: '0x6', publicKey: '0xd4c34b8c853fc0ec5a5e6684de1b416439162be033d48b3d01abd294005b6c9f', signature: '0x6fbb55f270eb517a4eddc48c57f912188b7d95ec7803df7f943486022a5cfea7', - to: 'Zab22705c4adae6503edfc3077b2884ea1761b7db', + to: 'Qab22705c4adae6503edfc3077b2884ea1761b7db', transactionIndex: '0x83', type: '0x2', value: '0x20c0169a35ac5ef', @@ -2488,7 +2488,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z7d8859caf443181d2bb13ac2dfea8b44cb663166', + from: 'Q7d8859caf443181d2bb13ac2dfea8b44cb663166', gas: '0x183ac', hash: '0xa78b1dbfda5a5cc59a760c03e3e38064db95dfcb7f6b8d5d5810ecd31f445335', input: '0xa9059cbb000000000000000000000000bb34867d3e8129223fd1c5369099b1c89302185c00000000000000000000000000000000000000000000000000000000a2308de3', @@ -2497,7 +2497,7 @@ export const mainnetBlockHydrated = { nonce: '0x7b', publicKey: '0x171001f29b776d199fbba9586b240043d587102d654a8b9e9e5f06131dd89a60', signature: '0x152d296ccb9c487edb05e4276c2796414c5a8929c7f127a3d08d09fb3e8219e6', - to: 'Za0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', + to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x84', type: '0x2', value: '0x0', @@ -2507,7 +2507,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z22d2df0ce76a61aeb1a8a75582220d67da14226a', + from: 'Q22d2df0ce76a61aeb1a8a75582220d67da14226a', gas: '0x16843', hash: '0x5470c161462213629f4d2b7402fdfda71a6fd3721d6bd5d699dcb9bc24c50d21', input: '0x439370b1', @@ -2516,7 +2516,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x12e091f6e84b915b7c343453731b4ac8a8225aab24f57fae2e37b0fdc9eb7625', signature: '0x3f14a8cf96eaafc238eaff987ee29e462b790d83ff7aeeb65c0635d82f94f8ca', - to: 'Zc4448b71118c9071bcb9734a0eac55d18a153949', + to: 'Qc4448b71118c9071bcb9734a0eac55d18a153949', transactionIndex: '0x85', type: '0x2', value: '0x38d7ea4c680000', @@ -2526,7 +2526,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z6b1a08b839e9e0b17654cb136cf6bc256da482d8', + from: 'Q6b1a08b839e9e0b17654cb136cf6bc256da482d8', gas: '0x3a02f', hash: '0x0943c536186591acb818e8ace6fcfd4af0df06b8853c30ddf185f78ae54ccbef', input: '0x5ae401dc000000000000000000000000000000000000000000000000000000006436437b00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e404e45aaf000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000001f40000000000000000000000006b1a08b839e9e0b17654cb136cf6bc256da482d80000000000000000000000000000000000000000000000000035c63d009cfebd0000000000000000000000000000000000000000000000000000000001acaebe000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -2535,7 +2535,7 @@ export const mainnetBlockHydrated = { nonce: '0x6', publicKey: '0xe28a0a218e0699a8c592d5468c915ec4088659ce637c0969533bd8a32f00deca', signature: '0x401ef72021a21de34b623e75fb01293d335e6f0ebf4389eba6b1a38076e74d9a', - to: 'Z13f4ea83d0bd40e75c8222255bc855a974568dd4', + to: 'Q13f4ea83d0bd40e75c8222255bc855a974568dd4', transactionIndex: '0x86', type: '0x2', value: '0x35c63d009cfebd', @@ -2545,7 +2545,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z296fa974a8a4e3d749a4d4e3b9ccca7bbcad423c', + from: 'Q296fa974a8a4e3d749a4d4e3b9ccca7bbcad423c', gas: '0x4d4b0', hash: '0x66fd0cb4264aa2e61fa2e4abc224f9682d09092865e1025974a4bde51ad906d8', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645d300000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000044c5662810cd9d000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000044c5662810cd9d0000000000000000000000000000000000000000003a9ee6b1a463c311449d4300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f0bef9840e4f7166e52c7af2d72ec566bbf39bdb', @@ -2554,7 +2554,7 @@ export const mainnetBlockHydrated = { nonce: '0x6f', publicKey: '0xfa9298dfdecc4b63821071e864c0cca273ff63f0d8ad3bcdfd03dc9883d7d905', signature: '0x0d234fb1b27f627e25edded27bacff2946b348c29e5c89f268a405765a7ff65f', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x87', type: '0x2', value: '0x44c5662810cd9d', @@ -2564,7 +2564,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za4026608c63744182f8b07de8379fd689e2826f9', + from: 'Qa4026608c63744182f8b07de8379fd689e2826f9', gas: '0xfe52', hash: '0x13e1fddea8ffcfb5847041614af2e1502a7be4f0507645fa5216ed8b661e6c23', input: '0x42842e0e000000000000000000000000a4026608c63744182f8b07de8379fd689e2826f90000000000000000000000007adb81180ac5a676a2030520d5a5fc3e81421003000000000000000000000000000000000000000000000000000000000003fcec', @@ -2573,7 +2573,7 @@ export const mainnetBlockHydrated = { nonce: '0x94', publicKey: '0x089406d0133a909552145bb4b3b9088117aa3fc80fba3d91e760a649c2529a3d', signature: '0x5ba6c1e240821b42d1faa648e9324421a51053e5c06659a2a727d196f6ec9b8e', - to: 'Ze42cad6fc883877a76a26a16ed92444ab177e306', + to: 'Qe42cad6fc883877a76a26a16ed92444ab177e306', transactionIndex: '0x88', type: '0x2', value: '0x0', @@ -2583,7 +2583,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z4c949d612269b654e7e18990752cb3b1d3878113', + from: 'Q4c949d612269b654e7e18990752cb3b1d3878113', gas: '0x5208', hash: '0xdf214d4148f2ac955b0c1097b2c633b5dfae2751a965cd9260b12874ae12bfd9', input: '0x', @@ -2592,7 +2592,7 @@ export const mainnetBlockHydrated = { nonce: '0x12', publicKey: '0xe844d08332e69f6dd257146dee8d95648c43056b5163ac81eca2f5773b9c3852', signature: '0x04dd4396702a1dc05e74ca5e5cd39b506d991d0f5dced3fc3bc3c0d5080325d7', - to: 'Z3c19a291b31f92ef45b847a89fe5d21acfacc632', + to: 'Q3c19a291b31f92ef45b847a89fe5d21acfacc632', transactionIndex: '0x89', type: '0x2', value: '0x853a0d2313c0000', @@ -2602,7 +2602,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z7fbb9dfa7bda66a9f2ef19ee8392fbde244cca0b', + from: 'Q7fbb9dfa7bda66a9f2ef19ee8392fbde244cca0b', gas: '0x18100', hash: '0x9e0b6d88702128b00efba753c85fdedf93c4c91e242f8610e539571bca485932', input: '0xa9059cbb00000000000000000000000035369b9f5643d3fde9e392c7e2e2ce263664024400000000000000000000000000000000000000000000006c6b935b8bbd400000', @@ -2611,7 +2611,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0xf472e0c5841a33dd6b12f27e3a0280f41beb8807d57b21166d4cf4049a8e523b', signature: '0x6c9ffdb00da3b3afae3b7a197eec25eb71ef0fec9a77b2b21ba1e5e537fb5326', - to: 'Zd1420af453fd7bf940573431d416cace7ff8280c', + to: 'Qd1420af453fd7bf940573431d416cace7ff8280c', transactionIndex: '0x8a', type: '0x2', value: '0x0', @@ -2621,7 +2621,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z08be4c9c14aa9a39cd07bb4310559b3ae503ff1e', + from: 'Q08be4c9c14aa9a39cd07bb4310559b3ae503ff1e', gas: '0x3cfc1', hash: '0xffc4ee5481e35cf09f5675a05593f8bcd1fbe3c0bfd742ba64655bfbfe5cdc59', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645df00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000000001ae5f29d27e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dde90a7dd65f0eee5cb61cfb973d735208308bad', @@ -2630,7 +2630,7 @@ export const mainnetBlockHydrated = { nonce: '0x45e', publicKey: '0xf48152acd401687a6273974d723be29405c3ad5001f0330f2967d87e88685120', signature: '0x70d0ecf89b9d2b8351e6ccd728034add7a9ffdbe1ffa70a20862e1c30a2941ac', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x8b', type: '0x2', value: '0xb1a2bc2ec50000', @@ -2640,7 +2640,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z22d44bb13a8935af45a9d85be518be256a2f5ec7', + from: 'Q22d44bb13a8935af45a9d85be518be256a2f5ec7', gas: '0x5208', hash: '0x8628c214d87f83b8b6325d648383d3a34a9abc54d7be64606b9e9393c5bb2c87', input: '0x', @@ -2649,7 +2649,7 @@ export const mainnetBlockHydrated = { nonce: '0xc8', publicKey: '0x39287564d388296ef932ad463ef6be1d3cd70e421c3db343f2622f814e848eba', signature: '0x6b0e433c0f0577aca309ddcc2144d28da94a9033fa3fa10846195dc3a602afa3', - to: 'Z22769f975be0632bccc29392a66bcdd353246f74', + to: 'Q22769f975be0632bccc29392a66bcdd353246f74', transactionIndex: '0x8c', type: '0x2', value: '0x30d98d59a960000', @@ -2659,7 +2659,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z941dcc59efdae9570c7618fddb351c657d0643c3', + from: 'Q941dcc59efdae9570c7618fddb351c657d0643c3', gas: '0x27111', hash: '0x57840573da6aee90a1df7c054e694cea1bdbbcc0ce5504a4c47296bf93b75301', input: '0x9ff054df00000000000000000000000000000000000000000000000000000000000001c1', @@ -2668,7 +2668,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xc6d1fe1d09c919751d1938a970e92553bd0ce6fdbc5a257607b22fcddf2792f5', signature: '0x16f43b2fbf8d7a5e555d56707e3b8cd91b7a4fa29d046da608c07ebd5f437f40', - to: 'Z06450dee7fd2fb8e39061434babcfc05599a6fb8', + to: 'Q06450dee7fd2fb8e39061434babcfc05599a6fb8', transactionIndex: '0x8d', type: '0x2', value: '0x0', @@ -2678,7 +2678,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3d9aa2631c4c10654bbfe03208a572dbf0b40b7a', + from: 'Q3d9aa2631c4c10654bbfe03208a572dbf0b40b7a', gas: '0x5208', hash: '0x7495e9e0cf9f848a202fc3e051bce519b26967c4933ea9f4a3744d75964124b3', input: '0x', @@ -2687,7 +2687,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xd2d2622af6f8847b9d4cae57e2432e51186f916ad83fca7e596b862c1d3b779a', signature: '0x5c1a52734132e091d26f17eb9f28d2379b2b19b67b0d0f763e269374acb852fe', - to: 'Zc5b1f58cea87704cc87510320d8390964b6fe88c', + to: 'Qc5b1f58cea87704cc87510320d8390964b6fe88c', transactionIndex: '0x8e', type: '0x2', value: '0x1caf12ad1c106c0', @@ -2697,7 +2697,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9ceab4d15f394e3074239fe6f761dfaed566422b', + from: 'Q9ceab4d15f394e3074239fe6f761dfaed566422b', gas: '0x7016', hash: '0xff7d2273873f7b16e131755ed47ed8de55e540a4bb8d47449d84127ddd3a8bb5', input: '0xe56461ad00000000000000000000000000000000000000000000000000000000000000890000000000000000000000009ceab4d15f394e3074239fe6f761dfaed566422b', @@ -2706,7 +2706,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0x307eb7a3dc0fcdcea16fe4cf43e3be64ae57ee1700b95712d065a771bf5b135a', signature: '0x134b00a67f5d7188ed38752373ce88f4e81226b2fbd514cca6c418d94e8e46df', - to: 'Zb584d4be1a5470ca1a8778e9b86c81e165204599', + to: 'Qb584d4be1a5470ca1a8778e9b86c81e165204599', transactionIndex: '0x8f', type: '0x2', value: '0xeebe0b40e8000', @@ -2716,7 +2716,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z399b15d63ee62bf2f07a14069d3256bd656a1f90', + from: 'Q399b15d63ee62bf2f07a14069d3256bd656a1f90', gas: '0x3ee36', hash: '0x2dd3225299367625b920766f718ecd62d0d66738ece52fd44c4adb0f8f794c75', input: '0x5ae401dc00000000000000000000000000000000000000000000000000000000643645af00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e4472b43f3000000000000000000000000000000000000000000000000017fb16d83be00000000000000000000000000000000000000000000000000000000206f9e7348ad0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000399b15d63ee62bf2f07a14069d3256bd656a1f900000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000da4dd9586d27202a338843dd6b9824d26700678300000000000000000000000000000000000000000000000000000000', @@ -2725,7 +2725,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0x156cb4ab98cba596713e343fd3ab2f8a90203f8cd7d316bd375d111895f92ae1', signature: '0x2117eff2c33ae5e1103367254bb32efb37abeec4cf598dfddd663c1cb0c2fd32', - to: 'Z68b3465833fb72a70ecdf485e0e4c7bd8665fc45', + to: 'Q68b3465833fb72a70ecdf485e0e4c7bd8665fc45', transactionIndex: '0x90', type: '0x2', value: '0x17fb16d83be0000', @@ -2735,7 +2735,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zfa4535d38843f78788edb2188485663db5a1c273', + from: 'Qfa4535d38843f78788edb2188485663db5a1c273', gas: '0x42273', hash: '0xd600a0365ebc112528c0464dd4562de2a74eb692004be7a08b60a821c8dddd19', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645d30000000000000000000000000000000000000000000000000000000000000002080c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000003913517ebd3c0c650000000000000000000000000000000000000000000000000000000c49b43985820d5200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000308516e6daac88d719af5a6d7ea2a82d8c8e7356000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000c49b43985820d52', @@ -2744,7 +2744,7 @@ export const mainnetBlockHydrated = { nonce: '0xa2', publicKey: '0xd1d608c88b68bd71672371bdfe112966a15d6244cceed691388e836a0e6c5259', signature: '0x2e6d9e638035e9e493f0edbd874205e1d1d4c4d7a8d0d826e98e7e1dc92b5c83', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x91', type: '0x2', value: '0x0', @@ -2754,7 +2754,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z61098ee5109aa530c2fd73c059465ebf813fbdd4', + from: 'Q61098ee5109aa530c2fd73c059465ebf813fbdd4', gas: '0x31418', hash: '0xdb05f67a2e1f965826ca9aae165d96ec1883129ba84718da14f7c35a6e1e342d', input: '0x6933e79a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f000000000000000000000000000000000000000000000000000000000000003c516d525976506b32726935417836734b4577734144466362316377365a4e53704d376965627654444337713757672f6d657461646174612e6a736f6e00000000', @@ -2763,7 +2763,7 @@ export const mainnetBlockHydrated = { nonce: '0x6a', publicKey: '0x128e7fe55747469b4be913e4706a22b206f994208b64aabc39d3825606c00555', signature: '0x185f45cb1c7c6d16f30ffaabd347b5b2cfe7c2c0f17f4e48b3e9a6654a132ce6', - to: 'Z2791b93591de3fad825e41bd593c53481f407f82', + to: 'Q2791b93591de3fad825e41bd593c53481f407f82', transactionIndex: '0x92', type: '0x2', value: '0x0', @@ -2773,7 +2773,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zade95db92eb86329b08f1c67bee2636fe922f9aa', + from: 'Qade95db92eb86329b08f1c67bee2636fe922f9aa', gas: '0x5208', hash: '0x50734d83880b3f249d60c15226df34c22e222faa5079c3d7ed7665dddc906ece', input: '0x', @@ -2782,7 +2782,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0x69d4b620c6a3d91efadbc9b3e3d8be839e226d0636eca2b3b472a07404d22630', signature: '0x1dd6083f4de1ab299ea3afb89aca0fbe749bf4654f0b1595caf2dd36ee49cb8f', - to: 'Z9d281056b1591889c481b48c9ada12afbaedb758', + to: 'Q9d281056b1591889c481b48c9ada12afbaedb758', transactionIndex: '0x93', type: '0x2', value: '0x449c9dce3988000', @@ -2792,7 +2792,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9ffb5f8a0f2c4ae6538e531bb1e5ae44847a3c40', + from: 'Q9ffb5f8a0f2c4ae6538e531bb1e5ae44847a3c40', gas: '0x396cf', hash: '0x6173d906ffd35d3b326a3e750b6d663d2955fdc6deeab20e409af5385cf8e4c8', input: '0xfb0f3ee10000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005e18405b53e50000000000000000000000000000968a15596c0f760a3813b79fa85d442a35760a95000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000769272677fab02575e84945f03eca517acc544cc00000000000000000000000000000000000000000000000000000000000017c40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000643639070000000000000000000000000000000000000000000000000000000064378a870000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000ef0b1e2cff64c8340000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000027f7d0bdb9200000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000353cc731f590000000000000000000000000000cf398a1ed09a38613d2c76366e9a4b2cf21eb03f000000000000000000000000000000000000000000000000000000000000004006ea7ad410c362854f8903280b5650fb214f8ccc0cc9dfbd0ddd4f1cd7b0251fd239906faaec755675273f21b5389ea77b09d432257ae26b006898e2cfffcc511f6e66746e657264732e61691f', @@ -2801,7 +2801,7 @@ export const mainnetBlockHydrated = { nonce: '0x3a', publicKey: '0xe14680f20870065765c3c1e48dba3ff8fefb013b84a98a9eb0bfd11e8b535d45', signature: '0x5ac7f29ac66342e710db290258958d7f9dabfc475cf71e2ec01a92cf91e0b47d', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x94', type: '0x2', value: '0x63eb89da4ed00000', @@ -2811,7 +2811,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zab234769c7b777736fe0296190e9b6f69dcf6ddc', + from: 'Qab234769c7b777736fe0296190e9b6f69dcf6ddc', gas: '0x5208', hash: '0x00c1a4dc51c377b6bb00af16bb30526543f727c11a6370741191979c471d1ffc', input: '0x', @@ -2820,7 +2820,7 @@ export const mainnetBlockHydrated = { nonce: '0x4e1', publicKey: '0xc83c53992ea82dc9ca2b48702930f9e296fcf84c6cddc12dd36f5cb36f771143', signature: '0x52e4d4b69c01b5a39874c92c78ccddbd47afc5b8b72cc6053c88b6ac1985b555', - to: 'Z5b235e2844eab73c073a54f6928b7f8358e51e32', + to: 'Q5b235e2844eab73c073a54f6928b7f8358e51e32', transactionIndex: '0x95', type: '0x2', value: '0xbfbd6dd6872000', @@ -2830,7 +2830,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z5c91a8f7147e6ab2765e6cae4a283c0055e2ee8d', + from: 'Q5c91a8f7147e6ab2765e6cae4a283c0055e2ee8d', gas: '0x5208', hash: '0x8c7518bea80f39a803930123b6782845ce8f8d99a782163aadfa924cbb28ee91', input: '0x', @@ -2839,7 +2839,7 @@ export const mainnetBlockHydrated = { nonce: '0x7', publicKey: '0x3f518ed2dbd15a13948873b15a61e35a685a2819d330c17a6c896fb577887f92', signature: '0x209ab4820a10c06cfc24ae4dc64fe98106eece4bf69c5ef0c26ee6524f1b88d8', - to: 'Z036b16b5067a1c0c6923c9526bf76fb125619a9d', + to: 'Q036b16b5067a1c0c6923c9526bf76fb125619a9d', transactionIndex: '0x96', type: '0x2', value: '0x214e8348c4f0000', @@ -2849,7 +2849,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z609946cccb57a391dc7cce2cff8cbe8a29343d0a', + from: 'Q609946cccb57a391dc7cce2cff8cbe8a29343d0a', gas: '0x52c11', hash: '0x4ceca9cf5bff5da1d3d1837fb77f1f576767b8a9d6d4062de0eee706b7773d6a', input: '0x8af033fb000000000000000000000000555b6ee8fab3dfdbcca9121721c435fd4c7a1fd10000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000006400000000000000000000000002d886570a0da04885bfd6eb48ed8b8ff01a0eb7e000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000609946cccb57a391dc7cce2cff8cbe8a29343d0a000000000000000000000000000000000000000000000000000006406d04bd1c000000000000000000000000000000000000000000000000007f6ed61eb47df2000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000064364371000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000010000000000000000000000003beeab9d5624e487045e01d12332975204a04a8a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000006406d04bd1c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040d07961740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000003beeab9d5624e487045e01d12332975204a04a8a0000000000000000000000002d886570a0da04885bfd6eb48ed8b8ff01a0eb7e000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000555b6ee8fab3dfdbcca9121721c435fd4c7a1fd100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f87b22536f75726365223a226b7962657273776170222c22416d6f756e74496e555344223a2236332e3337383736343437373833333236222c22416d6f756e744f7574555344223a2237312e3232333835333933393134343833222c22526566657272616c223a22222c22466c616773223a332c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a22625a6658774a7632434643422f5767677736704c39536c6f776e6c305368684c34725a416e346b784a2f2f39385935584c6f34354f585a72424b387746423076786673356b576f753374334b76322f6c7a734952352f3039445a3566696132567169743970632b644c324f6e663052766948716949636f5a5172707a6a64414538747171586967743761543354723045584b465855373078466559427157426e6144536d436774636a696b566a666f452f6376314a686234716b4f6e626338307530744b4258487279525a3576412b4133373656614f70776c5531315a665275773567734b3963626171735a61487831674f596b52547658786337524c4939326b73324c386175787631756943574a5653574b44446254335059594d4c6c623046492f66396e5a694638345048376f706c48512f69686875724d4879444531774868383430665845422f6b4347674a4451592f7771673d3d227d7d0000000000000000', @@ -2858,7 +2858,7 @@ export const mainnetBlockHydrated = { nonce: '0x32', publicKey: '0xfb775bca5c6dc8f9920b24e4108bb822cd272a68e46c22ca9599d234a309e572', signature: '0x6a9a15cac84e1b5f1cc71130261b746317ef68066b46806e783324ada7583854', - to: 'Z6131b5fae19ea4f9d964eac0408e4408b66337b5', + to: 'Q6131b5fae19ea4f9d964eac0408e4408b66337b5', transactionIndex: '0x97', type: '0x2', value: '0x0', @@ -2868,7 +2868,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z92265f4c85619ec8b70bb179ff1f86c56e54d348', + from: 'Q92265f4c85619ec8b70bb179ff1f86c56e54d348', gas: '0x36a70', hash: '0x03f236728362e5cfc12a712b822a3ab1d79e0eb0268ea771dac94c17750283f1', input: '0x00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017d074e88292000000000000000000000000000ed7c461fb6569c1e462d9da7f3ac2e99285f268d000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000002969fed452f73ea8a87ca427e27b13a40fc390ee0000000000000000000000000000000000000000000000000000000000001175000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064363c4c000000000000000000000000000000000000000000000000000000006436400c0000000000000000000000000000000000000000000000000000000000000000360c6ebe000000000000000000000000000000000000000098a48709306da1660000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000009c51c4521e0000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040551bdcf4ed7c88982d6e5142da8d2cdd76cb0176504a2db01df6faaceb0880c6ca1b733e4434382965114c4aa595080f087f132036a1bd56c40e32493640a5f900000000360c6ebe', @@ -2877,7 +2877,7 @@ export const mainnetBlockHydrated = { nonce: '0xda', publicKey: '0x7755f3a5db7f2d6c3bbfca52413d7231f949b00cad3ca483f570d7da82d2b58a', signature: '0x7f7853211ea73c04bdd968bab6856533ad10b6aef7c972796ed816ec817f3f44', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x98', type: '0x2', value: '0x186cc6acd4b0000', @@ -2887,7 +2887,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z224030f891006c76ef26b3a768d7792e8c89a960', + from: 'Q224030f891006c76ef26b3a768d7792e8c89a960', gas: '0xfdfe', hash: '0x57574acd1a26c9e233f2ba2c5a7c8b81f6dc05ac9b80b1f87a586937322df147', input: '0xa9059cbb000000000000000000000000f31ea0f0704545c68e9faa02e8d27d59990d40970000000000000000000000000000000000000000000000000000000000000000', @@ -2896,7 +2896,7 @@ export const mainnetBlockHydrated = { nonce: '0x7', publicKey: '0xdd2f51f56265814170f0f1829001633009f61a04a79158242ba614804a60f925', signature: '0x24e18bddb2120817f0a86f22a729a249ad74f88f846c86dd616e9c57d1f7c3f6', - to: 'Za0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', + to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x99', type: '0x2', value: '0x0', @@ -2906,7 +2906,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zd6bbc0a9dd616c806e05e281955982f2f561bf3b', + from: 'Qd6bbc0a9dd616c806e05e281955982f2f561bf3b', gas: '0x120b7', hash: '0x2f51883b48c322148fc624e8c4c974f4ffe960cc65bdd9bed9085c899eed8926', input: '0xf242432a000000000000000000000000d6bbc0a9dd616c806e05e281955982f2f561bf3b000000000000000000000000a52687331bf9548f01409cbd819176cb79e9e1e20000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000360c6ebe', @@ -2915,7 +2915,7 @@ export const mainnetBlockHydrated = { nonce: '0x204', publicKey: '0xce97b3a6b4fb2bda791367c6566290d8ee38a5d39625ec5260cfb21eb3dbe73f', signature: '0x2f50aeaced4b502f667f2ca74d6e929a0b4be6350f4090a4364d58c8281a0514', - to: 'Z4faab2f1851b58c26028ab7ba2873ff3c7b52d4c', + to: 'Q4faab2f1851b58c26028ab7ba2873ff3c7b52d4c', transactionIndex: '0x9a', type: '0x2', value: '0x0', @@ -2925,7 +2925,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z98784a6f846289821f3cd18fc053be007b3a3a82', + from: 'Q98784a6f846289821f3cd18fc053be007b3a3a82', gas: '0x2b75b', hash: '0xa335d36a424727d3d6a533abd8c1d55c1647272140e20590852266f66bb21055', input: '0x000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ad425897c0000000000000000000000000001faeffe0ef6020ce181e6ff14f3824cc114020cd000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000dcb1cdfe2b5f592e7bdc2696b7a68c6e866c4cc200000000000000000000000000000000000000000000000000000000000009fb000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064361c2b00000000000000000000000000000000000000000000000000000000645da92b0000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000675eb253775aa98d0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000886c98b760000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000001b48eb57e000000000000000000000000000531a0dd30906366fa738acc2d48e790de54bd33e000000000000000000000000000000000000000000000000000000000000004022815c7a06981c9c774bab95b640d57b0f7e7501cdaf5c0e579c52d79385b8dd7221abb8312af27d27e6951cb7cd5177ee7eee435c77398d532f1db2f6acf0d400000000360c6ebe', @@ -2934,7 +2934,7 @@ export const mainnetBlockHydrated = { nonce: '0xbb', publicKey: '0x49c82cf38ce3a5299818ea25b4e6ecddaf08763b39dc9c280625ee6ef154321c', signature: '0x0de8fb753fbdffec681cc6803a71f93783a6a1a8f2189870e70db2e6cfe30559', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x9b', type: '0x2', value: '0x1550f7dca70000', @@ -2944,7 +2944,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z77964f036e1b7bf6d06e0948146f10653891b4ca', + from: 'Q77964f036e1b7bf6d06e0948146f10653891b4ca', gas: '0x42c19', hash: '0xab5f09775f84c67c0105a2a0708a0d8e0944f6104357944074efc7e0933fbcf3', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645c700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000dbd2fc137a30000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000dbd2fc137a3000000000000000000000000000000000000000000000000035be3ef062482df432200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000054b8d105aa09342fad6b352d41a0bad3e1a9aa9d', @@ -2953,7 +2953,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x4e8f50c8c6a483fb296f7c10525d1ae2ccf45cd1156cc6c4a04931fbf89adfc3', signature: '0x4ad31852b9fc33f8cdd02ac393de63af02542aba2dbf1cc80c5d410c26594356', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x9c', type: '0x2', value: '0xdbd2fc137a30000', @@ -2963,7 +2963,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z05c250120ce07ba6fe361b39ac344148435c25ca', + from: 'Q05c250120ce07ba6fe361b39ac344148435c25ca', gas: '0x286ea', hash: '0xfc344b84da81960aa983cbeed2a393d9b1fa7aabb0d844e6f82a5f6c94a3c086', input: '0x357a150b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000003d3f39a68d44300000000000000000000000000000000000000000000000000000000643669090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c250120ce07ba6fe361b39ac344148435c25ca0000000000000000000000000000000000000000000000000000000000000000614b494a645ca1534a5d114f720c85e71c2931a1b0be75fc36875b9bc272c4172042345e6d1af8c10e6a2ba3e9a842015bc766d23af0abfcad29d4394e1b0c54000000000000000000000000000000000000000000000000000000000000001b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000133ac9b351b069cf4fbac6240ae74b9a000000000000000000000000c92b2d2dfd0083aaa38ff07d543e2b3a937edcd400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000645dcb24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c0d9ebc70c37844d0f729f054bdad42e09782252866dbf15f847bb31818da7a317128963519528264e89d394d6bd813ecf9ef501e92c5f3c547618a50768bb436d000000000000000000000000000000000000000000000000000000000000001b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000d71b0fe0a28e00000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000ed5af388653567af2f388e6224dc7c4b3241c544000000000000000000000000000000000000000000000000000000000000090300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d71b0fe0a28e000078d1f73e7e9d57b89b236154f0d04434bb5c8e241111656c94dd04f9b3721b35000000000000000000000000f849de01b080adc3a814fabe1e2087475cf2e3540000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -2972,7 +2972,7 @@ export const mainnetBlockHydrated = { nonce: '0x39e', publicKey: '0xe77bef1808fb6fe5657d92b672e75390856cab77a4e3bb6fc8e5651d262f077e', signature: '0x303f114a56069f8248e68b97a1f567f06c8329658413e66d6a1eca8f331fae29', - to: 'Z74312363e45dcaba76c59ec49a7aa8a65a67eed3', + to: 'Q74312363e45dcaba76c59ec49a7aa8a65a67eed3', transactionIndex: '0x9d', type: '0x2', value: '0xd71b0fe0a28e0000', @@ -2980,13 +2980,13 @@ export const mainnetBlockHydrated = { { accessList: [ { - address: 'Zca37a2f2d84867dcaa7f6ef07dc06ae3e7fc06a4', + address: 'Qca37a2f2d84867dcaa7f6ef07dc06ae3e7fc06a4', storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000000', ], }, { - address: 'Z498c00e1ccc2afff80f6cc6144eaeb95c46cc3b5', + address: 'Q498c00e1ccc2afff80f6cc6144eaeb95c46cc3b5', storageKeys: [ '0x0000000000000000000000000000000000000000000000000000000000000008', ], @@ -2995,7 +2995,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z1cac7a07e8cb87b73d94747028845638d55d3fde', + from: 'Q1cac7a07e8cb87b73d94747028845638d55d3fde', gas: '0x29b6c', hash: '0xe64be15aecd91f995ace79f4019a9527a8abe979a3468b35600da437a1478c70', input: '0x8119c065001300010000000000000000000000000000000000000040fdaee81f16de231d5f18ea482ad5cc6bc65803817c99f477043dce850001000100000000000f1b30ca37a2f2d84867dcaa7f6ef07dc06ae3e7fc06a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20100040000000000000f3688498c00e1ccc2afff80f6cc6144eaeb95c46cc3b50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -3004,7 +3004,7 @@ export const mainnetBlockHydrated = { nonce: '0x221f', publicKey: '0xf8b669d3e358375cf0dd8d88497bdf4769b2ce9897468657d91a96b884bdec63', signature: '0x36236400a44bf6bd812afefa5deaf53450bd3597e57932c019a7e831ac05e224', - to: 'Zd6fca65266adac7a35d679ad53dd3aea1f94b95f', + to: 'Qd6fca65266adac7a35d679ad53dd3aea1f94b95f', transactionIndex: '0x9e', type: '0x2', value: '0x0', @@ -3014,7 +3014,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zd17fb9fb5a0f3f4f3e6e921ba6029bd267e32bab', + from: 'Qd17fb9fb5a0f3f4f3e6e921ba6029bd267e32bab', gas: '0x748c9', hash: '0x004a9a2ab277e27f7004aa54b28981e62cdc495d3186fb06e158e8424cf5967c', input: '0x883164560000000000000000000000005f18ea482ad5cc6bc65803817c99f477043dce85000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000002710fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea6b0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebee800000000000000000000000000000000000000000000021e19e0c9bab23ffff6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021e19e0c9bab23ffff60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d17fb9fb5a0f3f4f3e6e921ba6029bd267e32bab00000000000000000000000000000000000000000000000000000000643645df', @@ -3023,7 +3023,7 @@ export const mainnetBlockHydrated = { nonce: '0x48', publicKey: '0x43e933dbf91ec15bc5918ae2859f34eea3377a27c6c9ae4b03fe54e7d8e68970', signature: '0x57de9c8cefd00fabf794f6902d9b3fa572e4ef7d89bb963476893cd2a0fb475b', - to: 'Zc36442b4a4522e871399cd717abdd847ab11fe88', + to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x9f', type: '0x2', value: '0x0', @@ -3033,7 +3033,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z4e2d8c65ab9fa2c793c32dceacb83e97f3736de1', + from: 'Q4e2d8c65ab9fa2c793c32dceacb83e97f3736de1', gas: '0x5208', hash: '0x684e32bbc27f76e759dc9f785c98be14d26f6e1010ef75cc025c70945f530fce', input: '0x', @@ -3042,7 +3042,7 @@ export const mainnetBlockHydrated = { nonce: '0x1d', publicKey: '0x77f429777d123871ff3684cd1270b395776660622b5418337126c8b25e252e6b', signature: '0x313052affd142ecc6d29050bea16d93f419c6f03f42a2bf36d05c770b43bab4b', - to: 'Za456dbd1bedee6467ef103fc58b079b0f790335d', + to: 'Qa456dbd1bedee6467ef103fc58b079b0f790335d', transactionIndex: '0xa0', type: '0x2', value: '0x4e0ee6386378e9', @@ -3052,7 +3052,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z91cfe6dbb2b98ce6fb549cb3334a90dd3a69e584', + from: 'Q91cfe6dbb2b98ce6fb549cb3334a90dd3a69e584', gas: '0x14079', hash: '0xddc2aba98e71ea83790e0d5cbab037f6e70bf5a58d9790364cab6f4d852ae897', input: '0xa9059cbb00000000000000000000000008f918c66d54f4c51f9a76cb9a956faab2d49abe000000000000000000000000000000000000000000000009cc9419a32267574d', @@ -3061,7 +3061,7 @@ export const mainnetBlockHydrated = { nonce: '0x3f', publicKey: '0x744a97f9d54ffe6b867fb382b4f0aa3424b65d7681d6c21d9e5357686a5c18f3', signature: '0x44a8ee67be7916293e2e9aa0c739741026bb4d3f8a4b902258548e99b2b14f21', - to: 'Zf063fe1ab7a291c5d06a86e14730b00bf24cb589', + to: 'Qf063fe1ab7a291c5d06a86e14730b00bf24cb589', transactionIndex: '0xa1', type: '0x2', value: '0x0', @@ -3071,7 +3071,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc50ab42130bc706b7d191451a7ef34ad3eec2a16', + from: 'Qc50ab42130bc706b7d191451a7ef34ad3eec2a16', gas: '0x5208', hash: '0x2fe22d7a6493b92654f01e5ded1cb917c5c2924a38e663128046a7952a2c93ec', input: '0x', @@ -3080,7 +3080,7 @@ export const mainnetBlockHydrated = { nonce: '0x19b5', publicKey: '0x83d760f376a400bb79c0f72c49d735ded55eaf3052823d309f46b823001d12fd', signature: '0x58744ee0289fafd6b66b7284defc673650cd37b56802b96a6ed786140fa504a2', - to: 'Z8fe4243374d944921e7e2409763b558e217c7467', + to: 'Q8fe4243374d944921e7e2409763b558e217c7467', transactionIndex: '0xa2', type: '0x2', value: '0x1587a89f94ac2000', @@ -3090,7 +3090,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zede7a7548c40cfed7d4449ace8a5803bc0ca15be', + from: 'Qede7a7548c40cfed7d4449ace8a5803bc0ca15be', gas: '0x5208', hash: '0x7fcbb7a587ba7d0165a58b5e6e3020988dd4920b318ba340080b1ad762998f0e', input: '0x', @@ -3099,7 +3099,7 @@ export const mainnetBlockHydrated = { nonce: '0xa1d', publicKey: '0x9861b090ae2e89e38637a8bad32fe050497210a735651e5289796cb5366f1c15', signature: '0x014545f75104bc56668f7a4ad21417ea7c75f4b38b3592b7701d232177fe231e', - to: 'Z73d7385bdd6493e88e348b3b6c0b02bcb77779a4', + to: 'Q73d7385bdd6493e88e348b3b6c0b02bcb77779a4', transactionIndex: '0xa3', type: '0x2', value: '0x7b3c18f3a578000', @@ -3109,7 +3109,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Za99d4976eddb861137802bfd210550fb054ad62f', + from: 'Qa99d4976eddb861137802bfd210550fb054ad62f', gas: '0x1526e', hash: '0x86b6bcf0ceb9b60090994f3dd76788cef71d348ca69fffdab38754815b73e85c', input: '0xb88d4fde000000000000000000000000a99d4976eddb861137802bfd210550fb054ad62f0000000000000000000000009e027ca9b35b1dad472200c27660545246953c4c0000000000000000000000000000000000000000000000000000000000013abe00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000360c6ebe', @@ -3118,7 +3118,7 @@ export const mainnetBlockHydrated = { nonce: '0xdb', publicKey: '0x69a986ebcab6f5c0f19b849353b3de5e576c866e72577d1ed8a92f3358e4b6a8', signature: '0x70d0b38161ae8f4098b59b26d6f3fd613cef0fea5c8b08b33d5cff5fa00de22a', - to: 'Z5b1085136a811e55b2bb2ca1ea456ba82126a376', + to: 'Q5b1085136a811e55b2bb2ca1ea456ba82126a376', transactionIndex: '0xa4', type: '0x2', value: '0x0', @@ -3128,7 +3128,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z78a3e8804f97618b5aa5b35f5a0caccc8c91adb0', + from: 'Q78a3e8804f97618b5aa5b35f5a0caccc8c91adb0', gas: '0x49d40', hash: '0x8eadb42b3a03ff3e8523f5830f6c95a3264fb9276317ddbc3e8cc97fc189db1d', input: '0x6ab49a5b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000004b2000000000000000000000000000000000000000000000000000000000000071700000000000000000000000000000000000000000000000000000000000007330000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000090c0000000000000000000000000000000000000000000000000000000000000fc10000000000000000000000000000000000000000000000000000000000000fd90000000000000000000000000000000000000000000000000000000000000fd80000000000000000000000000000000000000000000000000000000000000fd70000000000000000000000000000000000000000000000000000000000000fcf0000000000000000000000000000000000000000000000000000000000000fcc0000000000000000000000000000000000000000000000000000000000000fc70000000000000000000000000000000000000000000000000000000000000fda0000000000000000000000000000000000000000000000000000000000000ff20000000000000000000000000000000000000000000000000000000000001165000000000000000000000000000000000000000000000000000000000000123700000000000000000000000000000000000000000000000000000000000012da00000000000000000000000000000000000000000000000000000000000012db00000000000000000000000000000000000000000000000000000000000013ce00000000000000000000000000000000000000000000000000000000000012dc', @@ -3137,7 +3137,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x42b676d851eee42c7402532a95e6bd3c19cb6f97f5372110cfa2caa965d8723b', signature: '0x7106db6691b9bd61e380e5f9b9931e54f94355aa4a93314e1875ecc4059ce445', - to: 'Z06f841244907a2c886f1e292ca19bd0c3e20fe4c', + to: 'Q06f841244907a2c886f1e292ca19bd0c3e20fe4c', transactionIndex: '0xa5', type: '0x2', value: '0x0', @@ -3147,7 +3147,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z038e2f8244de9561e81eb4504062372aba7b3c4a', + from: 'Q038e2f8244de9561e81eb4504062372aba7b3c4a', gas: '0x5c176', hash: '0x022ac2d203c97313448c6439f25af381448c5fb250067c96abad48c52ea63b25', input: '0x893419ca00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000038e2f8244de9561e81eb4504062372aba7b3c4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000064372cc400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020aa443a4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000008dd05800000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -3156,7 +3156,7 @@ export const mainnetBlockHydrated = { nonce: '0x11', publicKey: '0xe913c42b7e398941841f07b7c89b4016000b164e8794f71d66e6caac0493ef4f', signature: '0x7433145cbf40a5b8c40e79c1ec6b78761ca2fa8e00f8c1d288afad0cac8bb795', - to: 'Za9cc6d2b54cade299c5a86d959eeb8efc80df773', + to: 'Qa9cc6d2b54cade299c5a86d959eeb8efc80df773', transactionIndex: '0xa6', type: '0x2', value: '0x11c37937e08000', @@ -3166,7 +3166,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc39434996553087bc8dd76c55a5ef6b4caaa43da', + from: 'Qc39434996553087bc8dd76c55a5ef6b4caaa43da', gas: '0x122a9', hash: '0xe71bed152a7e265fcdc08eb8f6f5217141c1660c79e0a2315801b48a17de9443', input: '0xf242432a000000000000000000000000c39434996553087bc8dd76c55a5ef6b4caaa43da00000000000000000000000036ecf53bf3a9023122e8f6d94217cf4f2e32fae02218e854019d3ac7989333470e8cf7bda8b930f30000000000046a0000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000360c6ebe', @@ -3175,7 +3175,7 @@ export const mainnetBlockHydrated = { nonce: '0x1d', publicKey: '0xbec77779f6740f8b0cc2b3bf3541136da1011d8e6c9823110696501aa6b4ac65', signature: '0x5796326ce663e67c69f9d1da51c610c25e4c28fb254344342333c7402386f268', - to: 'Z495f947276749ce646f68ac8c248420045cb7b5e', + to: 'Q495f947276749ce646f68ac8c248420045cb7b5e', transactionIndex: '0xa7', type: '0x2', value: '0x0', @@ -3185,7 +3185,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z284861646298b1424f22543adf3cac028ac7af31', + from: 'Q284861646298b1424f22543adf3cac028ac7af31', gas: '0x37317', hash: '0xbe2db43eb64a29a1305510cee016accf743960735aed99bb4aeb831956531f5b', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645df00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000027f7d0bdb92000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000027f7d0bdb920000000000000000000000000000000000000000000000000b93d99b22a768d419a300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006aa40d02115090d40dc33c7c5f3cf05112fa4f83', @@ -3194,7 +3194,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0x17eeaea751accb34ab696825afed4cf5852c84836306c73b89cbc4dcec7f2e6d', signature: '0x040b0bcba55c653c094ed116f2fd453770843b3cdbc6ed861f3a09084cc5149b', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xa8', type: '0x2', value: '0x27f7d0bdb920000', @@ -3204,7 +3204,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z8bd2830aeed8c79ba6bfae868f005618b470429c', + from: 'Q8bd2830aeed8c79ba6bfae868f005618b470429c', gas: '0x1ab29', hash: '0x80f00d868b70689d383cdab459c9c68f606de18d4d5a4fc25258870e42aa65ae', input: '0xdeace8f500000000000000000000000000000000000000000000000000000000000000890000000000000000000000008bd2830aeed8c79ba6bfae868f005618b470429c000000000000000000000000000000000000000000000000000000001e19b040000000000000000000000000000000000000000000000000000000001deff18300000000000000000000000000000000000000000000000000000000643f7965000000000000000000000000a6a688f107851131f0e1dce493ebbebfaf99203e0000000000000000000000000000000000000000000000000000000000000000', @@ -3213,7 +3213,7 @@ export const mainnetBlockHydrated = { nonce: '0x15', publicKey: '0xdbe15946cfad124c7f3dc5d895e874ccd4431168738359cc4346f0b97ee7fb32', signature: '0x1ca6cd3b3433aa8051c582e77fc199c7db72cc5e82380d4eabc5b9afb90c9c70', - to: 'Z3666f603cc164936c1b87e207f36beba4ac5f18a', + to: 'Q3666f603cc164936c1b87e207f36beba4ac5f18a', transactionIndex: '0xa9', type: '0x2', value: '0x0', @@ -3223,7 +3223,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z631a717b14ae7de2305b5a3d6051984ffac61707', + from: 'Q631a717b14ae7de2305b5a3d6051984ffac61707', gas: '0x2542c', hash: '0x2a69d29b4302deff2515e87041b722bb229603429ea4d31fe81c878efed67f81', input: '0xb1a1a8820000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000', @@ -3232,7 +3232,7 @@ export const mainnetBlockHydrated = { nonce: '0x7e', publicKey: '0xa992964c4535a1200cfba38f056d0700fadd5c5e0a8e5b0789a260fd3c669aa2', signature: '0x618b195d75a3d2a791d0e4b75040408edd888eab7c165e92ab22fb20a9ad0b59', - to: 'Z99c9fc46f92e8a1c0dec1b1747d010903e884be1', + to: 'Q99c9fc46f92e8a1c0dec1b1747d010903e884be1', transactionIndex: '0xaa', type: '0x2', value: '0x6a94d74f430000', @@ -3242,7 +3242,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zeeaa1e883c352edb52e583f341a7f1067f0bc8b5', + from: 'Qeeaa1e883c352edb52e583f341a7f1067f0bc8b5', gas: '0x29476', hash: '0x6323bd97a58dab264aaeea1aa12ece39b5eef1a1488e65f813609e1c47fdc66f', input: '0xa9059cbb000000000000000000000000d2954377b6b13aae5bbcb88c8523ca648c5ad91f0000000000000000000000000000000000000000000000008ac7230489e80000', @@ -3251,7 +3251,7 @@ export const mainnetBlockHydrated = { nonce: '0x74', publicKey: '0xe09dc226594df121c0d40a9652e941282a521edb26ed138e3def76954a990141', signature: '0x2f7c710c8d3e3dbf9915a1607e223cb0ba78f27be41f89261f7e3b2d1885b089', - to: 'Zba11d00c5f74255f56a5e366f4f77f5a186d7f55', + to: 'Qba11d00c5f74255f56a5e366f4f77f5a186d7f55', transactionIndex: '0xab', type: '0x2', value: '0x0', @@ -3261,7 +3261,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zab954aca1a699b10db15bc027a17c9c57aace3f3', + from: 'Qab954aca1a699b10db15bc027a17c9c57aace3f3', gas: '0xb1b1d', hash: '0x9ff09456b9098544e68e8e27cd3f1445d8606fdfcdebfa74d24d1bc87a9c2462', input: '0xac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000224e962172a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b175474e89094c44da98b954eedeac495271d0f0000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000007aad0aad8063df7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f869584cd00000000000000000000000010000000000000000000000000000000000000110000000000000000000000000000000000000000000000ddb71cddca64363df5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000224e962172a0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000007aad0aad8063df78000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000007aad0aad8063df7800000000000000000000000000000000000000000000000000000000007fc58f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48869584cd00000000000000000000000010000000000000000000000000000000000000110000000000000000000000000000000000000000000000d4a6ce8f8b64363e52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000224e962172a000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fc58f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000128d9627aa4000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000007fc58f000000000000000000000000000000000000000000000000000f1aeace3dbdf300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee869584cd000000000000000000000000100000000000000000000000000000000000001100000000000000000000000000000000000000000000003ef84ccf4964363ed600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', @@ -3270,7 +3270,7 @@ export const mainnetBlockHydrated = { nonce: '0x4ea', publicKey: '0x068326fe3e2ef5f98b8661ac64adc95a38ae966bdeaf3b29f00a82d9ea6d9557', signature: '0x1f6b5b58f58cb4aa7c2491ec73fbbac5bd357d8fd41cb1602f602c9f60083114', - to: 'Z5724b5bc7f54a52f4014e5f496ae380f89c881a1', + to: 'Q5724b5bc7f54a52f4014e5f496ae380f89c881a1', transactionIndex: '0xac', type: '0x2', value: '0x11c37937e08000', @@ -3280,7 +3280,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9f0bc974937f37d61ddf909d4124e9631a6986ea', + from: 'Q9f0bc974937f37d61ddf909d4124e9631a6986ea', gas: '0x2b496', hash: '0x8d7f6f64c5cbdb533b579647746392c50db5fd0247981c7b430f4fe206bad302', input: '0x6933e79a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f000000000000000000000000000000000000000000000000000000000000003c516d553678534c61556655616e5768554e32325236794459754245657861657278664b7266355844594c4e6371362f6d657461646174612e6a736f6e00000000', @@ -3289,7 +3289,7 @@ export const mainnetBlockHydrated = { nonce: '0x3b', publicKey: '0x7c1fec91a460221ac132cbe6f3cc850734e3e825f4391fe25313d2447c3a9724', signature: '0x3c1881ef1d6d43dafa41cc91572fe3f4526ff1f19007e85e98d4c6df2c16147a', - to: 'Z626eb7f29d179e0e1e9deb97b3e5938a646616c9', + to: 'Q626eb7f29d179e0e1e9deb97b3e5938a646616c9', transactionIndex: '0xad', type: '0x2', value: '0x0', @@ -3299,7 +3299,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zce3f52a81d998f37692ac85e6aa26029a3faf24d', + from: 'Qce3f52a81d998f37692ac85e6aa26029a3faf24d', gas: '0x161b3', hash: '0xb94ff102a30dcdcf8c2b1385246a2f205f4a7937b58182b7df04e38dc4fba63a', input: '0xb88d4fde000000000000000000000000ce3f52a81d998f37692ac85e6aa26029a3faf24d00000000000000000000000095d8bdb4a91f446d4ff00f95d42dd0f1f146a2c8000000000000000000000000000000000000000000000000000000000000010900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000360c6ebe', @@ -3308,7 +3308,7 @@ export const mainnetBlockHydrated = { nonce: '0x2cf', publicKey: '0x64fb24029162079701a1163f1957f15aa7bc1160f13450c19d4f7ef69441441b', signature: '0x4856e9bb26f1c490a9866ed11ee160ea127d80861662b5555aff436ecf889180', - to: 'Z92c93fafc20fe882a448f86e594d9667259c42c8', + to: 'Q92c93fafc20fe882a448f86e594d9667259c42c8', transactionIndex: '0xae', type: '0x2', value: '0x0', @@ -3318,7 +3318,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z58aea486186fb1c6f93d38b9a7916750bd59c1ac', + from: 'Q58aea486186fb1c6f93d38b9a7916750bd59c1ac', gas: '0x32529', hash: '0x61ca13084a53b8edfc2beb3d1f967fdfca93359043a5da9c3678889b012ad0f3', input: '0x21938f7500000000000000000000000000000000000000000000000000a1609b560d93cc00000000000000000000000000000000000000000000000001e7a5fb25a0b80400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000058aea486186fb1c6f93d38b9a7916750bd59c1ac000000000000000000000000000000000000000000000000000000000000000200000000000000000000000083a48a032a0de0d84e3c01882148364e41f57934000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000010000000000000000000000001a75f7db182ce7fca969f029e1ef573f7aee9cb5', @@ -3327,7 +3327,7 @@ export const mainnetBlockHydrated = { nonce: '0x15b', publicKey: '0x90a309abfe52ff76a25c3ab1fc5d38c53eaf9c4f3ef9728c9a88a168dacf365b', signature: '0x3b1af0c97a0f88c6c4800b29549eff3b757b6145074726ad4c20f29efd2b7ff3', - to: 'Z8967ba97f39334c9e6f8e34b8a3d7556306af568', + to: 'Q8967ba97f39334c9e6f8e34b8a3d7556306af568', transactionIndex: '0xaf', type: '0x2', value: '0x0', @@ -3337,7 +3337,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z2c6fb912d9658100b8686bca700ae855f8e5f2bb', + from: 'Q2c6fb912d9658100b8686bca700ae855f8e5f2bb', gas: '0x5208', hash: '0x76a199229278cdd8e6dd40093b64e7664626618e7c36fd623ab630786b6dfac5', input: '0x', @@ -3346,7 +3346,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xbcf5af6296d751ce07bae4d289e54c3c9bdbe0629de6d170bce00f546a24cdbe', signature: '0x7a18cc73b88f984a846a03026e0ba64acf3a0e6d892065cc01a51ccab4a5c76b', - to: 'Z86b050c27d689ba91917377de4a39310e79c2b74', + to: 'Q86b050c27d689ba91917377de4a39310e79c2b74', transactionIndex: '0xb0', type: '0x2', value: '0x1d1f2a3bd7d7020', @@ -3356,7 +3356,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9d5efcee1119e47f53a216a6b9289e0e7fb6a2a0', + from: 'Q9d5efcee1119e47f53a216a6b9289e0e7fb6a2a0', gas: '0x71af', hash: '0x74d69e566e8bd62900e891081905009a1c2ed074165d15c0e0a096b63b1b49a7', input: '0x095ea7b300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc450000000000000000000000000000000000000000000000000000000000000000', @@ -3365,7 +3365,7 @@ export const mainnetBlockHydrated = { nonce: '0x4', publicKey: '0x2b8aa171ca6a259fa65f52c397cc13c5a9fbd2b295402251139ae33a3a28fd24', signature: '0x3bdf546fa3d5a7c07869a23c90539137322d30cd1ac6614d8566386629b4afa7', - to: 'Zcfcffe432a48db53f59c301422d2edd77b2a88d7', + to: 'Qcfcffe432a48db53f59c301422d2edd77b2a88d7', transactionIndex: '0xb1', type: '0x2', value: '0x0', @@ -3375,7 +3375,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z79fd0a95523b4287b5717d02e256c3861f68f9d7', + from: 'Q79fd0a95523b4287b5717d02e256c3861f68f9d7', gas: '0x38690', hash: '0x14036d43579058171105216738457b35167820a7effb8d9386c65e20d236eb77', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000064363f7f00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000019adace86241a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000019adace86241a00000000000000000000000000000000000000000000000000021ad6b9519056cb00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1e029ae5743fd4a324132a0be6eeebc81060f55', @@ -3384,7 +3384,7 @@ export const mainnetBlockHydrated = { nonce: '0x28', publicKey: '0xd4238279c5197a8e85d0bf2f68f7b73fcd25002e5d8b692dc6a7b53521bdf075', signature: '0x7ed6c80b5bbda6257d52f9b74989880865942dcd324f30f8defc231b1ee5cc2c', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xb2', type: '0x2', value: '0x19adace86241a00', @@ -3394,7 +3394,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9680f3957510cf85751a096c2194520c36a4a003', + from: 'Q9680f3957510cf85751a096c2194520c36a4a003', gas: '0x3f787', hash: '0x25c1684f6966caff802e85749b550d9be2934820d5c91c6f62487287675a629e', input: '0x9b6528e2000000000000000000000000e23cedadbba887bf6bbb6f161ff9281f6c39b5eb', @@ -3403,7 +3403,7 @@ export const mainnetBlockHydrated = { nonce: '0x530', publicKey: '0xaf5eac6b32b9d2d8c4b0273bffa0f32b180c4beed468f92379d56ad407d58138', signature: '0x620e4931e4c0cd991109e04f223ee4f3fbcf5630fc4945d418dfe9ed3a9561a1', - to: 'Z9c4c49c3c3bd7ab49d91576d0103a25514cad1d6', + to: 'Q9c4c49c3c3bd7ab49d91576d0103a25514cad1d6', transactionIndex: '0xb3', type: '0x2', value: '0x0', @@ -3413,7 +3413,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zadb7c1e5cdb6e92d816b4a86f25f9da5baea95d9', + from: 'Qadb7c1e5cdb6e92d816b4a86f25f9da5baea95d9', gas: '0x5208', hash: '0x9c00826fd016714e191a685e31c918e5f9151d807d1b5b955a3ea514ffcd19de', input: '0x', @@ -3422,7 +3422,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0x7fc9b2ff15c31daa91ea1875de068e4e12a7a7e86a4ad0f281c3f3b2c3c8f2c5', signature: '0x1650b4c74cd44f7e317837bc36c7b3652312adf404835f60053ed18bddd70af5', - to: 'Zabf7d7b1a434b684541aea4d6bf2e65b57b1aadf', + to: 'Qabf7d7b1a434b684541aea4d6bf2e65b57b1aadf', transactionIndex: '0xb4', type: '0x2', value: '0xe35fa931a0000', @@ -3432,7 +3432,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z75a50269c66e6ba81c5062fc84ef199e86a317dc', + from: 'Q75a50269c66e6ba81c5062fc84ef199e86a317dc', gas: '0x2d10d', hash: '0xe04b3af4d15e1edcae6e981f5f1d9d75af4f7cd06f12c73ee42e51c00ef14364', input: '0xbaa2abde0000000000000000000000009992ec3cf6a55b00978cddf2b27bc6882d88d1ec000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000df31a0928400000000000000000000000000000000000000000000002f38c2775b77862166000000000000000000000000000000000000000000000000000000000b03b76400000000000000000000000075a50269c66e6ba81c5062fc84ef199e86a317dc00000000000000000000000000000000000000000000000000000000643645f0', @@ -3441,7 +3441,7 @@ export const mainnetBlockHydrated = { nonce: '0x50', publicKey: '0x9bf9c27d293970699ecccca63a6e691fe6be4095e348bd7c06df516a609471be', signature: '0x09113c049db4b93fd9129b188fe3980727b1f16ff32353e2dea5ac40b63d3ffa', - to: 'Z9a5132e149c547f254c73226da7f770d43d9ea44', + to: 'Q9a5132e149c547f254c73226da7f770d43d9ea44', transactionIndex: '0xb5', type: '0x2', value: '0x0', @@ -3451,7 +3451,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb84688d617ce18b7f8865b6417cd771d0d42e509', + from: 'Qb84688d617ce18b7f8865b6417cd771d0d42e509', gas: '0x27c06', hash: '0x0357d246c9ddd57f05170a038ddb04c4c2554371a5cd1e1d7bdda50b6080939f', input: '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000643645d300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000046ebe6d0000000000000000000000000000000000000000000000000000001702dca3b100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000bb82b591e99afe9f32eaa6214f7b7629768c40eeb39000000000000000000000000000000000000000000', @@ -3460,7 +3460,7 @@ export const mainnetBlockHydrated = { nonce: '0xd', publicKey: '0xe7393a07e07f04a9b43a841014852cd12ebc1079a4290276e67b7c01bd38a4b1', signature: '0x2e74e7c66a3f46e2ce31018771b811d16c1544fb3df6664588420111ee36fcad', - to: 'Zef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', + to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xb6', type: '0x2', value: '0x0', @@ -3470,7 +3470,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z5405161f081f773c4bf97a2f086d358ebc643b3e', + from: 'Q5405161f081f773c4bf97a2f086d358ebc643b3e', gas: '0xbec5', hash: '0x002ec16d799ba0c7c3251ba82a68151016066f4c49ea22c6441711184aff4799', input: '0x095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000000000000000001661ace0', @@ -3479,7 +3479,7 @@ export const mainnetBlockHydrated = { nonce: '0x19', publicKey: '0x51e49b423093e8f7d580d349423b5a6ff02b8677999d96c60a106b9f155cd571', signature: '0x7556ea05a4035a9863f0758c2a9ded646edaf9a76e2a7810dc7b276421288ee9', - to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0xb7', type: '0x2', value: '0x0', @@ -3489,7 +3489,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc44fd102415ff62769a4e37c70dea27033a5291f', + from: 'Qc44fd102415ff62769a4e37c70dea27033a5291f', gas: '0x493e0', hash: '0x2393a72f9b086878d13a8dae1e44607cb9033fd94d4777ea907dc457db3dbc44', input: '0xe8eda9df000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000005d20728484000000000000000000000000c44fd102415ff62769a4e37c70dea27033a5291f0000000000000000000000000000000000000000000000000000000000000000', @@ -3498,7 +3498,7 @@ export const mainnetBlockHydrated = { nonce: '0x579', publicKey: '0xe9eeed92f4dd20c08048f7a1ab85d4a998cfe54fbc4f8b1ecf3d152a4ec87648', signature: '0x3e9e7796691c23617522a914b7d00375fe239d7e006a107906bd576c1eb0feb6', - to: 'Z7d2768de32b0b80b7a3454c06bdac94a69ddc7a9', + to: 'Q7d2768de32b0b80b7a3454c06bdac94a69ddc7a9', transactionIndex: '0xb8', type: '0x2', value: '0x0', @@ -3508,7 +3508,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zf3b9b75178f29d551a9c7fa4ef53840871ea662d', + from: 'Qf3b9b75178f29d551a9c7fa4ef53840871ea662d', gas: '0x6210d', hash: '0x870c8c1508aecd4147d0f9e6cd1a84227b743ed2589d013e18d481674ca8f42e', input: '0xf2d12b1200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000ae00000000000000000000000000000000000000000000000000000000000000da0000000000000000000000000f3b9b75178f29d551a9c7fa4ef53840871ea662d00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000058000000000000000000000000042c8eaf9e2469423637f3e4a96c42774cb7b8cdb000000000000000000000000000000e7ec00e7b300774b00001314b8610022b8000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000006434db7300000000000000000000000000000000000000000000000000000000643e15d60000000000000000000000000000000000000000000000000000000000000000360c6ebe00000000000000000000000000000000000000009d6d9ce40da95cd60000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000161513f82e9a0000000000000000000000000000000000000000000000000000161513f82e9a000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000006609e542e0626bc3fc2110f0ead172030fbe97abf7dbbb663c28d9c3594629d993b73cf35c403e1bc89beeeb37d1ea21c9e538860000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000500000000000000000000000042c8eaf9e2469423637f3e4a96c42774cb7b8cdb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d53b3012a4000000000000000000000000000000000000000000000000000008d53b3012a4000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d53b3012a4000000000000000000000000000000000000000000000000000008d53b3012a400000000000000000000000000c71df678a0026861d1975ebd7478e73f3845a2ce0000000000000000000000000000000000000000000000000000000000000040674d4e33d5ff9fb69a7bac2986d02709192a5209920599cfce618fdd85c8c0122af5d7f5dc9529f9036dddbda213e1d32869a9df89490709b6cdb16ffaa58a33000000000000000000000000000000000000000000000000000000000000007e00f3b9b75178f29d551a9c7fa4ef53840871ea662d0000000064364012ab2e3169b84b421a4c96a4fde49759e07d37688b9cc9775d0cfbfe0e6929ac7f4f3e5bb465fdf4361e02d3fa2c9abd3085fedc49b3abf2db542976ef26b4f2b800000000000000000000000000000000000000000000000000000000000000281b000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000f3b9b75178f29d551a9c7fa4ef53840871ea662d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006434db7300000000000000000000000000000000000000000000000000000000643e15d60000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000c899523fcdd7c7670000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000006609e542e0626bc3fc2110f0ead172030fbe97ab000000000000000000000000000000000000000000000000000000000000281b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043215b6d5a78000000000000000000000000000000000000000000000000000043215b6d5a7800000000000000000000000000f3b9b75178f29d551a9c7fa4ef53840871ea662d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000281b00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000e554fc02a54272a5f7b40a973422fefebe357092b947802df3e5be9bd190c7e7f6386478b4538994ede9ab9e3a4b208fd15fbb1b64954ab09d34db832383b5b518507d4ee55d74fc16c96194955e4a39ed0480a373163df26f37a6eafcf74217d642f78b8908d37fd99f0ea6910481dada63087f2c494967287d24b8ae7fbd87c47006333c80d092cc6bddb77c298cb7df8d43bcc41470a27a05567b54d449ab6c31650f73c091e5fce34389fa80ef01351e4f27dacf4b30a2d7ccf5c342ccfc8e20d80f8f1d4532156017c00282a0666cc64098f56729cb5bfd065461a742598bf25d4121c849fee257393892c1c7c400c617ab8550bfcab713abc57b52ff9dccca07dd79dc95adef44e1ec131b1d71201253936d696c7d232ac0a5d78b8085d43a0b88bc4601eb528e73a14d7937f5159d6994f986723702be764f6cb3d3d5e48424dbd6d4a1ce490f9ebbdf1aac5530975f1a6644e535534d77094ef1c2bd1f73116f2689900115b4b2b14c8cdf812ea29856e0b743b4c5f5e8660344212b065e2bdb776f0631ef5f923db94d2c5bdc6121b772e277388d7963a860e0f5c8b06622a17818abc8df6876e8d1a71b814b4117825427187b1ca5ea39953c65fcf00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000360c6ebe', @@ -3517,7 +3517,7 @@ export const mainnetBlockHydrated = { nonce: '0x4b8', publicKey: '0x78a596b319d9980c3397d80f55a2fcc69453cc762174334eae561ed558364894', signature: '0x39f35a020f30acf5b2911165f8fcbaf9504cdf11013715316e8a7041e450a17a', - to: 'Z00000000000001ad428e4906ae43d8f9852d0dd6', + to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0xb9', type: '0x2', value: '0x0', @@ -3527,7 +3527,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z96a00d569fddcd6570f39365592d0115d27765df', + from: 'Q96a00d569fddcd6570f39365592d0115d27765df', gas: '0x22ef8', hash: '0x91af138e974e7f4c84f22362bc8f7247ec806baaa7d6cbc68a67e9689955e78b', input: '0x3eca9c0a000000000000000000000000000000000000000064363f4b00000000001ce41c0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b3c839dbde6b96d37c56ee4f9dad3390d49310aa00000000000000000000000096a00d569fddcd6570f39365592d0115d27765df0000000000000000000000000000000000000000000000000fee30738cbaa00000000000000000000000000000000000000000000000000000022f56d8897000000000000000000000000000000000000000000000000000000000000000012050000000000000000000000000000000000000000000000000022e6e03e4600000000000000000000000000000000000000000000000000000000000000000451c0b7518dd48654f03558b9cac8608e0e481d961570e4da2d7878b2b6d2efd41fc75e9648bbf16ac155f2ab2f1a41c1c2f2d3b3cc2958638134b3553bdbe45d73264363ed3000000000000000000000000000000000000000000000000000000e26b9977', @@ -3536,7 +3536,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x6c57bedc3293558c09a4ba971650c9e9c334d9d30afd1af7f8b3afda4b774bda', signature: '0x4c73428de95a5847aa1d9cee18d65ce3c87c65d118460901240058fe0e531036', - to: 'Z1111111254eeb25477b68fb85ed929f73a960582', + to: 'Q1111111254eeb25477b68fb85ed929f73a960582', transactionIndex: '0xba', type: '0x2', value: '0x22e6e03e46000', @@ -3546,7 +3546,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z6541fc8b4d1fd2961241a982b40d8ae0fbd7433c', + from: 'Q6541fc8b4d1fd2961241a982b40d8ae0fbd7433c', gas: '0x27105', hash: '0xf37b9efe2a4130127072a2f6a3ae5c7311e48bf3022a1433b7dba6423bf977d3', input: '0x9ff054df0000000000000000000000000000000000000000000000000000000000000077', @@ -3555,7 +3555,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x60734366ba975b8870db2c22d943cc0cca3e255f4a28833794549e2146be2561', signature: '0x18ac390f8fee9fa30c6ec211b36a3a4196008e52cbe862eecf4de33f3f244ef1', - to: 'Z06450dee7fd2fb8e39061434babcfc05599a6fb8', + to: 'Q06450dee7fd2fb8e39061434babcfc05599a6fb8', transactionIndex: '0xbb', type: '0x2', value: '0x0', @@ -3565,7 +3565,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z6abfc4629e609a1482878346c338f6e2007531af', + from: 'Q6abfc4629e609a1482878346c338f6e2007531af', gas: '0x16843', hash: '0x241263ac0c3c04d623485fb5d4e7a2af103a7db5eabfe0b2d2afe0506585e509', input: '0x439370b1', @@ -3574,7 +3574,7 @@ export const mainnetBlockHydrated = { nonce: '0x35', publicKey: '0x18a1cae998156ebab7452e1a352a6ddf9c89c25c13c7cf329a37e7ed92b5c6e4', signature: '0x1dc0a408aa000e858bebbf484c3ac1bc3cf31791d5d9fa03bb9e3c48c84aaa28', - to: 'Zc4448b71118c9071bcb9734a0eac55d18a153949', + to: 'Qc4448b71118c9071bcb9734a0eac55d18a153949', transactionIndex: '0xbc', type: '0x2', value: '0x354a6ba7a18000', @@ -3584,7 +3584,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z3843845731be3cadaf77307cbbfd92323fefbcab', + from: 'Q3843845731be3cadaf77307cbbfd92323fefbcab', gas: '0x506df', hash: '0x8df5d0fcd95081999a6c417f8be98633d1bc3d0f6fcb6795eeb600ca9e676f8f', input: '0x9a1fc3a7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000103daab0000000000000000000000003843845731be3cadaf77307cbbfd92323fefbcab00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000b92d5d043faf7cecf7e2ee6aaed232000000000000000000000000aa462106da447c0440a4be29614c19387a59a331000000000000000000000000000000000000000000000000000000000000200500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000a39bb272e79075ade125fd351887ac000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000000063f67f2b0000000000000000000000000000000000000000000000000000000064364cc400000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000dd874e7cc83b21cbb9da54913c9cc83200000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001b14b1c63748e26c2eb32d7376053a63dc0affa64038b3dfb1c9e3f339f64eceb327eddca1a30b3c3cc88ab5255a43016de7eab3dc701b8df6f67b56f9e8a2ec7b00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000001b8b296b0b8f9cf8ee244f391c2fea09f79fc0229a7ff61ec4cb6d90f653da259d77dfc2c29be714db8babc1e85b8e44093f4cba1b6f83ebf61723b9b57491e8ee00000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000103daab000000000000000000000000286a2103ddf789b5414c684a055bce98847f776e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b92d5d043faf7cecf7e2ee6aaed232000000000000000000000000aa462106da447c0440a4be29614c19387a59a331000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000a39bb272e79075ade125fd351887ac000000000000000000000000000000000000000000000000006a94d74f4300000000000000000000000000000000000000000000000000000000000063f67f2a0000000000000000000000000000000000000000000000000000000065d7b2a900000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000de35910b8089671968b0bc3481af2ec500000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001bb4e687d7e252aebe5636542f4848a9476529df218d37174c7c497445ad4d78005825ee792de917c3f69ce0dbaf175f2f06eb095d9c0ca30030f13dbc92fd778500000000000000000000000000000000000000000000000000000000000000050ce7b713dd7348ae4628b782afe05c072f8d0c06949cd25476af96f50c17a41cb7411e43d03b61a3035f12cbe47f27c99e2e379322d8786828b6b66ab45df0babb5da7165a28ad190feb007f60c85072381fd4de3f0d85c23797283b76daee40c1d0ede1bb1ac1243bbe201ffaa94f693e95c32ee01cd0befcd4e931cd9170b053cd365a69daf6b52e6526d164641a34833a08afa3486ca113446ee07f99049c', @@ -3593,7 +3593,7 @@ export const mainnetBlockHydrated = { nonce: '0xe3', publicKey: '0x2a379538c84ab1c570861f806c4d18a8d99a00c0787aa4ddf9194389008af4d7', signature: '0x6810427871577c34d495eb563158587559e2380811740130c1342c3d44845b35', - to: 'Z000000000000ad05ccc4f10045630fb830b95127', + to: 'Q000000000000ad05ccc4f10045630fb830b95127', transactionIndex: '0xbd', type: '0x2', value: '0x0', @@ -3603,7 +3603,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z9ee50074bb69897e77ebadceac4c03e3ec5898b8', + from: 'Q9ee50074bb69897e77ebadceac4c03e3ec5898b8', gas: '0xb71c', hash: '0x4176e756b40466a7126aef4fa046a728ad62f51266a2a3b4a92b15366ac688b1', input: '0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001', @@ -3612,7 +3612,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xd5502ed0648a8a7a02cae26729c382602009560990d904686de10e00e45c4250', signature: '0x70587220f358a55dbc4529f918ebfc7f823fc4dce3f09b0d1d4a7144f9497b48', - to: 'Zf2665d9fb3a0ad17a7454da077bec9cc159f644a', + to: 'Qf2665d9fb3a0ad17a7454da077bec9cc159f644a', transactionIndex: '0xbe', type: '0x2', value: '0x0', @@ -3622,7 +3622,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zc1b634853cb333d3ad8663715b08f41a3aec47cc', + from: 'Qc1b634853cb333d3ad8663715b08f41a3aec47cc', gas: '0x1ca4cc', hash: '0xbd6b5651c5c324e8c2ebe6e89c633bf3b33ca9bcd2c5d730608d3fecd11bf031', input: '0x8f111f3c000000000000000000000000000000000000000000000000000000000002359900000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000b9181000000000000000000000000e64a54e2533fd126c2e452c5fab544d80e2e4eb500000000000000000000000000000000000000000000000000000000036b620c00000000000000000000000000000000000000000000000000000000036b630a0000000000000000000000000000000000000000000000000000000000018085005baf09c588447d08d0081d3ee73d8073fbcf89ee9090a144b4544bb5a48284a494c2ffff996afda2312c10f0889c99cddc9826856fb4844259eb06a1d0b09767819da33d94f760dd240fcfa1e4eeaeae2a9922281b12a9484fc832274a9c10abbbeabe079028400120a84537680980e8d180f6520338736224b4d21ec64d01a86acf125ddd13a3339655280794350933226c9e857a532a801b9ad51b9ae0ec3914f4032ff7839b41db1fb477f3f797f73b4a98cc8f2f7feefcee57d2d9af143ebf170ac6fccf594c2bdc25213e45444af35bad159559cc3e37c2b91cdb4654e42c0aa1cad4a8ac66dc9fe7b41cd139a0e174bbe260626cf8c432e3a0316098edea1e24100806f4cba0a3150a796e8c2a6f418a884140fe33148da8be9cf33bf5fd3031290cc9f0492b1cde126ee34485d22fa25b468648cc03448d202e5405268182c6b96a5686c080c69b643cbfb1d4955d43f825ca9e7d49196fff1df5e1d794160e1c06f7dea35680942e6a0e2e9e871955bee513603ad3bee235afe569c95c9ed5288b23a9a4d9b1d77d127c28e4058c1555de0213930b7901c500d77da0681cf39b1caac9b46b975a7b3ff14aa5f7c4bccd6b6e5622b688eef202d1dc85539042e186044c51606ac9d4a9a37e080ca40c146e79c2fd89ad9a1aa69670dd65ed652e5e786ea6e86f2b7412b59714f80260acf93f1d0f81b42b1b32de1d8a4239124bbf39bfe2fd732fa83da0e316d52b107b71098c2ec3cf34e6fc47709e9c3751209d2b8ebd3809281bea2c9ded610e44b3aa366dd6fe162d64eaa2ba9d90ee38c292307daf578e8703b22e85e42b48f95b183ce4501e51a427f48db41c5bbcd1f68fa7b5ad69da6839977ce166abc05740718fcb3ab4b63fb96d2535d5a1c0899fa53d3a7b9dee5310aa15ce3c2cf0bd97ec1c477a05e9e10f1898ff2573d01bc9646c8d9a1d68f39cd217e27bce13ea2c3d227ac03404651c7147f78d08e96d88b43db129ff8a539b03468d329abb5077026455035c68a2700aaaf323fc9d59486bb5e046e002537c8960d41e3a031cef7dc20005996a60f5c907212e4e4d6fafdfb7a5cf82d2e52b6169d36598e84a5493a24c6812fcf140ee00aadebd96a496786fcb67a803341401d0655a77ce35b49f4dd165c5ba82b97f986f9f7d8a6b3e0ea1e01c71ff02f99105689baaaadd4f371df0f2ffeb2c8ce59f498a7849a672e0c17ed1f8b3f4c5f7b58f41cd2df4f93a4a543306f6f110148d819698838b6470fef39be3dc0569afd179089eeb5420ad6044778c8734dee991998fdde7d874d88fcd07c94e665eb3858d2c8dd511f1e4b20f713d9340e63f86c7daadfbf80a83f3d6c3424b53cace4a9a1fc9ea42053b2a5fb7636605c9be326a1a97a7f09d558f062bc601e79d1314d2ca07d8a6ebf28fc9e9bf52600bd18a02c216829aa5b33eb0ed7685012ccf52c68f27e6096a3e7926c36ca6fa6ecaaafc4219d3c2d2e49f5f4d3c6261401f38e881ea405fa01ad1e8ed9018787a3450f4f782a61cfc50be9d237a22d51da64d0ed528abb41eca8d8c881e98135af660f0f15773fa179acecb1ae55b7b7c3022a15aeaf077e120a663b06d6f1b0ce11f2a441288bff267deecefd4c830803aaf211549643f95aee67b6c09feea5a1aeaf6bb9100b2240ce9549087dba5eaddd0c53cbac7976877b578d38a13032e0b38e265d8b334905309319ee3a4308ce8bb7ca311d8a62eef076d8f0cc8edbc43dd2ad6321b06364c026475388cdd45c4c5d31e1ae299e6af872fe807c8d41f23c744e009701f812470b89002dafa49384aed94fb5a6d98ac10196628eacaaef759937507881a45988520f5161da10f5acef5e589fd49189f37e6f734076daab59b552a65a5b0a87a4dd7469cca43fd3fa342dbf541c72fca7bda617bdf62be853c9ced26e06c9bcc85a5a13876884c0e567437aecce5c2cc02aa38c7dfdf562f3bdb14b71185bfb4b295f87da387464f83be3c2e0517d067b86ba517f4d91d1aadfeb3012e713be77a697011197354732bb907a2f8ec561893de419a80dcf83736849f1a14110d568c053aae8a7c987edb5862a876d5fcd19ba32aee96e5642609aebc836fdcba3247e4025073a4288bfc1f50984303e6df6a4ba273ca0e56bec77d8d330e647b03cb4e13f740a34130201008040281c5a19017b05054790b620cece3212806f660be870e7f253ba7f04a2821afdafcbc7a669ca548821591d9aa9023018cb385a4facff5b07b2c7404c65fb5e5231fc91250262953e02917373dd1161bd831990259ec27d514a41b21e4094ebad0a5f4c8581413fda435ba5ba477e57f76a4b144ea713fab622802e093664ed61f6423e627cc498170d25d5744ecdc38fb8f666c69718cbdd87dd0012686cbe6f6cb79d5f95c43fde4c148c47c14e03e9a1bcb3aea11e6da76192c818ff86877d0e73fd1e89aa90f09d3a017f89603cc71efb92b10ae7a5359e90732bd53a38d4e844774c7c83d0b6b80301fa716afbed3765af3d05c6cc68887f0fda809375d33b794c808f6350452a2b54f73fb2085428761e56b104e65f39f86565b616c446555dad9d1fdf3fd0b7b9288c204c9d41de26b0a80c0af668388ba1651262b09bb6c325eda7bb78bad941facdb44a9798ed6823be730674f7d9a699935e1fc17efc391e449190a46b54bf151367304e1bf662ab65cb73a5647eb220032b4e48fc2b840aae15d1d781264ea50ef5f7b73dfc726fe9d2236574156f829f8d41a0df05ce717c90f09fe87d7c8ad183c7fb7fc5b508904cf285cd3322ddaf3e75601019560b1e4aa43f01a2831b7cf991384097e9078eab83bf76121fe4d9332594e33650849b0a03f650ddfa3b48193cfb60a54803e499416b25d97144e571b99a94b6bf6cfc9b6fac66270446527b27484d15a9d14486e1265080c84bef20f30c39776b8de86cbd80a9cd1c1a9c436ef61218ed51b922b0cb4e96800d8b3b278deac8393ffb0de72257e992e6dcb5f92c7b0d34a6f716c85eeb47a9cf5c034e7ab9880447dba697d779beb317ce4d8051979733046a268055a5d6546fecd5886380d671f94285d02da072de52758b18946b5199768859850b4927bc4914507113bb9b34846973bd9643b864701acf9e072c5e6df6d8faf359aca2da7b594015a61b3d177fa27a1ada4110d0c635be0ecc74837de5b68e881cb7412fa9f436b56a7c9e49f4fb56545c4f13b9df28846fe34c9fc6ba400e63e00e64a469fe0be2271d2c82299202c0d5353c323b1c86d5689ba688a5181448b8b7a3ed3dad87a142cd8e43e23837a9e3a8e35af81c4ec7979a771ce09484d38471628bf00da874f6a8805ba695573b0c26697a654a7ba9c0c6dc6104d4ac148064ce228fe2495f11b175c00bfb7993b9922eaf4ff02198e54a65e921fde7b669c4dfbdefbb6a8d1c60fd3577cbedd50c8737b54794b14f83e06dedb50e23ba6134d45bc99a345f1d1c51164bf8a61f5c5f2fd11db16cf3adc36a25be6cbd7a1d9b39042eb266140436060baa834c6848ed7fb47436cdde2bdf5a0a8a6b5211bbdc04ff70371daaf6905aa40789e42cdd078d3a1982df7079d80717efc1fb8d5803fd55d7c08b25c48a7fafc3d1081c443368f837d45e4d7885f1eb287d01a22e23d50bca64933ff364d53aa1ac848dca3fe6abee21e0bfd590ca60389875dedd5a6b4d08cadd6120539923c3d22ab38bbe0896caabeba77cf2485a1a78f1e4874e393f298ec5a074c93fa4fb2278ed82df38b13858a25efad677d531aed01a95de5ec1b00f77e68956fe344c7ca3992ce222cf1dc89bf51aacb2ca15008c5f85b151c5ac54730c1df26f9a3bc7859167f73d01c172480d3752a9c70e4a3d5fbb5fee829e4b1ed032ad3014a963500a36aa6430ceca9046b594733de38296993168d8318541ef668821155343fa4bc2818700fda4708ca8311ca83e15d370a62f904351d0cddf71c83162966cab5a49ff0c255ade9d7564fd07fb482113d90b1a87620e67c2039b9068023dc14018458147876321c64b8c8b0926123c34946888c30093a901f1ed281e0a48aa108a089eacb63e759baad028f8c549fb2726b15e2ad8669c6be3055d9b4314a517b0820c05ef47139df64ab3f5f769dc1ad1bc8e607ad77f7588ada3b0ce82eb9fa8b2926d9648b198f50aff6fe021fab65ba94bac02f495901fbf876f9067ffb75960fbcf97f9ba4f2041c86ac0321abb3838d84424ff879063ad35c0cc79d7854095d3949433b3647118501a8f914bb66a679b8b24e0b21f18d176f384f7bb525971401329435bccae921d9532565c87bf1f22d340802da072de5af7eb592f2e9d874527ad5c9d6dcf813bfc0a4229d0ce17877b2b05b28fd5abe06744ae96a8f0c6224f8f6f55ffa7e1494a9494530c67cbf119de0cc1dc921dc91e363fa4221cf9e51e52de0f2f12f4db05e8739bef4df7e5acee58c9f93543d40b95bbd69f8a5261250428dbefdffab1b113104068829cd2f92c6eb68299de65a29bbfdedffb5ee66c1d57b3d9a6f1846e8971d12039c3ee81c1ed2b197544f5bcf1c8891567efb5fe76ed24c9076ba1dd79d63c67a41201008c477ac56e873533484903a4632a30e144dd03d94232c6feece2e19cb0fd734fdeae49c627afbc54b25a25ba606b6b8cfa3b4012518592ba393daf08f7db4983ab2e7e2e1d2e75c90b52aaad84842f03d67318bfc7d42e7fab1cd7292195df3e6eae7ff4d4de465df6f2d1ccb1d9cda532784135c81701f4c6b46be5423c1fae7be795926cec5b97f39caf708817482fc2e5350257a3e3a980bfa02668bd2c77ccebcc2a5c0409393245766f916dbea26c08f77ce5ad355950caba91cd13da6d4bc94e124a2c2625614f6dc16f315aa988c7b3bd4822753f1c03caecbbd3ac768f7e00b6253aa8ca6f95ba145ffda782cdc4e66ce6f8efece5aafe312cc24fccf71f84129ad1f6b06da5a6bc3273ef07fbf2744a1bbbb9848fe648adbbc6a7e4d763dd3de7c19bdd0d00f94a8eed8d6cb39fba5569e6fe48b3b007b1b913449a1990fee0e54e94ced070a67decd5b61c198f2b097a8d9c5df83f69d5682f3127a8ecc155110dd1f6f3346265cce67b7a727a3cd54b51d954fb4d3ca7ec5c6a8569175326d60531d4c3fbbead23795267bf6ce4c237f2ba44d7e761f62888cde11eb13a431ed87b7dc96015992a4eb44a400e60f014ab6b37e39dcae8917d7c58ddeb66afc6544f0b4eca1e9a6e78076bda9d0f77b8924540909941c63ef8b4ee662d7c2f96f3da4cf738422e5bf4e40225f7dd7b76c0662e4a79e5a454bfacc7166ae42606a2aab89486d856b740d6636182af63a80bc1bcc0292d630a793961e7047128535f3a47707cb0a9f3f8fee86052d3207ac31d051c6f0b50073435fc0ecd1906be4c07d870ee75ff3bafe3f419fefed3a2fcd305f7d780ab239e1af3c3a570f1dc40afa512b5ba12aadfb947c33176e26243e4e33f572651220498ef2acb5cebf91bea66ba4976169a03e2bfc8f719b94b55445ff17dc5ac61ee04eb40420175d62049bc7cc2d1957640d594eb698e79967abef7cf1e51bd614f0cbf67cd379cbbad6f342ed7793376a39b59f5e9d1d9bb1fdec8a02a13e0d1096cb7574f698cabffe4a37e8afd6e71b761f8216783ce24c0b097c73ff333714012cddacbce6b9cf32712bcee83c36fdc797494a574360e03c43447c689228d50503663c75416ab79e859dc6624c541d669a8d40ce11064cf8982085fd843c488f1c0402814020982228e405262faabc258a852006dedb50229b390800870648e4182777a3b37a2d4e99d4a5b7389ee123c14e2b3745f4c0d034eafcdf0759d5c0a64f9c66098b4252eca3d935dd3d96cde74b5c9b1b4bdcf409b1d5d7773281c35ace9f98f35f26dd34cd62036b30766cefb519e987496d5f66526e7c90fc1592e638f241a67ee6bfe439d85dfe3f3e883e1b01c2e2283ecd3d941a3a28ce557a1b3eb1840840e00cb90e0a6810594cf665e885824bec381df1e99fa3e8d78871cb061afcabe0bb3b64bbdf0ce2b4f5f8ecfb1119188fb280878081204f5f06ffbe6ab716b2142cf89d31b563b28d1cae6d936dfe774df0a5146a29452dd2df859b2c85fcf03633162deecafbdb6ae0226be1e4367ff1e3c01dcafe314fb30d0f5e6c42ab1e91e35626b752720ffac49a4f816bd9dcd5f303df6e65fd84200a11b54ad3cdaab1abb968289ed7437f4ae0667db5779425caef81b6258c30c464f7d7fd040fc4733bf1af0c35e5d091969ccc802f1bb7a872f40e2db5ab2aec86531a35593077e51f718714ee633a1ca5648ec2a7bb81bc2aba431b0f2fc5c9cd8d07edd0a00b7b2cdda4751e27e398cd687c109f94e8feddb7d6d320146e8d76d0dc6b085f143212dd178a0f6b1367f44eac0fa6d4e107deb3d7dc025c1aa4e5b4ba98bf794bab6d659b979ce4c24c2e414829c12cd38b209a97aec6d1cf4fbb18bb86ada68ab2b1431180fb7fa7e28a5123833f2e0b32c930254b4b02ecd11f5f9e331a8abefb5bf1147c03b4178addf94f6eefe6d7510c2d085eeed5167240b49fd57e5f26e9f24faf3972f6c06983604020100804825985bec02c46a3b7c3c4c0d3a381a21badd473f043f976ea95c9da50e73a18c2b246d02fd41692f9646af9ffcd4a28e90571a20d68cd08ff1527ed7de5e832c6feddc8e014799fbf1982435641aee0b3da0f3951ac23cbb197014e619d2483514c8dcbbf7f4d6838c5790b8c45d71fba1c859c255ed065bf3e890779b99521d00532740a43790f3ea24e8ccc303536d24047f4f38c2b5d92dfed69ad46ed5017173ea7eac34080ba5c47dff0a2c47f67c65a2fffafe68ad6a8c3adb76f250eef82b97df6f2141a0e7f87f757b928c84a8c70e10c28463e2e05148d70b291737b32b2dafac92584a7a312dbc17243c0a4f94c3a22c680f9aa7c080c70fcfd728123ba7bf2b894ead4cf2d543c8cdd83c5ed3184cf87277b1ebee6bd0e185f3036d398bd66e204ab7eb6e8dbdcaf9bcf7fd33d5866adb20dbfabd7e2ef380447fb1b3557742471b61823273ee79eb0dce3e74a174594ba1652aad759035c3b67306743e6eed059c42558e3ab542664386f36972fcbcf4d84b46f35396298cf67bb7848dae85535b50df2b910d60911af87597964da0778eeb872b1cae111347bcb13daf01859b214ec5a724acdb00ea36f34a60a2dd90c935f3bc920f20e93b105e6f4bf7e9d64c391494aac526e435d1560dcaa480de184bf98fd8c0a8c719ca5f426849c6b7de8f75f4fc67a42cb7f5294919af23ea78fc5f163626e9a830d08aaa637ee4b97904516f74a821467c0f50cc25a470bd6c21e912335809b213df7f21192d708832d09a3d9a80bbfa027dde8b77bf925b616f4def794fe1ea84aab4e3544009e24d483d973d2428605f6aa01c7fc6be2f8fd4a7c7df855a55e338c87b17de500c713967e41ee3576f312ebb7c6b6a6527fb97fb03f245b92e62aa27b27932bd0e11aff65c9fe14e48b11906b18ccad7bc0b7db3cbe8e6863ac806a317168b3c1ba95b1e7106983ac60e9c2ef60fa1dd8af3f2ffe3395c5650d3c7ff89678ca32db2cce408dfb408d03c518e589dfda376ae551661d366ee378fddd7d51cd66def89f3f1e11db9e1e647edd0a004188d9699d5e285caf0e80facecfa69b991292cda6bb8689ac963a290be1155f983a0bca05ccc7f67a4257a49e4863ecb24f9ccb2ea77ab085de31496101438ffce35d5385f4840a49e8fba0157543a8569bd5465d83d03566dad2401167e5b1230e116ceddb709d16b6d30ee13a208412cf04721ea5efc89950bceb6fd3f430c1cc865f388b5f0aeda52feeea4b9330676f93826d3b12c2510f31007d2ca74d9cdfffacb5a17921bc5a5e475998e9ef724e889e567d012aa0016b6b7e7df4ff5dba52f9f5e72407924e15b85573e5351210792eeb6aeee0ed816ba8e8cb367318ee8330c7183ab083626cb56f41d1d8f81b39dfa86e6e63fa677fd3a5dec797973e52a72e8b49c443be622d9b788d779f60e2cc339d5035f77fa10f834a82ea5429fa36514c4f36ccc96a5aae2e398f204b6c59ce93f4ff34060e4892708e4b154360e060770fe4f097f4c6c0fc07b520010a1724108f7ce41677585231330927e1a20e302d728567fdfaf4f7a26ab3dedcb0381653bba8c700ac35f5eba07d152c3fac085b20416075994e9d3ea7cfa41c993de8bee5c3b4ffe07c2ee0f95b35fe02734468a05268e9438b82eb862abc8785d65751ce8da1daff70864da7cae9f8494d7aa6dc255cfe4bbf5abea7d2e3723ac4f886eac45e23b45ac99fb605ef286c4976eadad05eb1ae36bf14ea19ef61a23b19bfe5a343e7dd430302981d72fe4b8c70c295440c171d51b55c759a10fabca5a44d24d1193169ebc3a1c296523dd811f31d4ae88106458a95dcb4a2fdd935a9157e31a6dad8e284bf9331972f78533bb66f0f8d327b287e3f45a2bbdab33d976db191142c2a9a5f0b511e554ac403ae1fb7792afdea83562bed0be46d435a215faa64116b8ab9acc2a9182084269ccc7cc772366bd5df8d8998f9f26dabb8d84a7ccf56eae2d49fa1f33507f6694ea0b588c0a098d3900e7733fe778343394434ca7ff25f13184168b6ade4df9c8ca93444e59ef5951abbac59fb4a5f3692a01ee002e84dc162d4c26c93b95304bf145061caebdf7c461412303beb45aad1e5da953183b9f00f761c7b87b012126bbad9747dc094feb046bc9ca81aa344a19c7087c9e08f279e2ca2170cfb11f41e346ea8b41b3eba71836dd3a2e258d5fa42b1462cc40119cc4e45a273c5aa30633af1cb0f4b7fd0fb8ed6d1d030eb9ddcd38ada7c178500b89b9dd69f9b02154b9b66d5cd2eb246ca6413c3835f2a8ac2a45655d0d775f9e04a75a71ddf61daef9f72ee8e4ee829c77caa3af97ec85b0a21c9a51c6e6272c29ff6015930db0335d37f15b96f09d8aa6c41299654144935f09e8abfd2f5f716ede97e1b2b4f5c6ee1ab2596911a3c228f9ee152b7cc31ee7274753d7bebba97adfc5840786e2ab32a9c6ee935a9ee2506de6aebf7c7863706fe975c3609356bae4a47eed6053361c7f32085d784e45694358d3be953bcfb3c12e7e7f5c8db4fd103a129fd86f1cf907042585ea0c99ce1353580ec23c1e84ccfe82f13956b132c1265fcd948f16e1aa216969f6e08984258f3e35845c6e294709095c1d42a8ebf87b46262080c64e09b2961906866fa2cb89c9ae41648669b561a420bcf301dcd0e2ebe697f0d0560c88fe65b7f6b6170eb53721e1e7ec3ed680edc7fc45e9709046fb74c9c766c88bdd14fbafa9b6bb57987f65d11bb71f0177072483d0f4f65cef0ba6b919538e16f37944102d4a25091360a195a8b25df2eff5a53662ffcb7deac87129f1f4e2304c5f192f2beb27e198359eccbd42d6bff8b4a43682269947ff1bb9846bee80fa61635c0c8a01a92bbe478c2b388cfff92adbc7c66f089f050518a50bef40de59d79b2f56225783f4dbabaad66b72d32888de67431782e8a4b0e9a9b31007ac03663a697f42c04a5ed4080bb35c9a44fb638ea821a1ffb09b5839dd14b438f35368d7a44056ad08eac091b6d85539017a16f021097e19ba0d11b8b07908223a97e59ddb44eb0b62ce18777163179af9b3db3b9c162b41bbef926027119fe31624d1a3c0c22591e8a00aea2b97c3ace9da9a3878a84aaf351ceef682ae3e2c25a70630f45cb559f76b400620f59a7904e0f4ff736bda4ee0276e5d1e54738f4cd3126182b95c853f81fdf7bc005a519d6efc6f898810cc9dfed66b579d80d714a60a2d4bc171f1c93b89337b23becb14c3dec5dcd7ac82e0224abc831ecc2fb8e55b7646d2b5d57f1cd213698ac2dd3fb93b37b983f6928dfc905ad5ef8bc5804472c6f31f261424e5a975de0d31513db108e51fc3bef7af8dfc3c24ace6213a33b44aa078c547b75a9701affae7f0c21a6cdab682923173e9f4a84601ea9962130b0e1cb21cf4017d543625733f5bdcb6a28c03cb250e254ab66bb77365d9a93b911084b889ec7ea4ea983f98e18e37dbf65d93f26b2101684f7e313177aec2bd90975b71fa8014a7e84ad4178ecfd776817c2853066e52818e1a5376d79559300aed5361545915777a711c0e715d10a238be80dea1edf0a0dd26cc978ff6972a21d382d7573c9d59a42df29808c9c32453e10638e7cce84f8145f604e86c3a34bf43078d2fcd83591ec8a74ad07ea0282018140c54404c2431fe3267511800a04f428b18f09ce85e09f9b28bb548318baf0608d1c5f2157a34ace1af3ad1edd5514a9dff18683dbc10d3580019b7a390bf16ef1abf6717c47e336c9ec719680969eef2cebeb8c64acdec2795240a0209d69b07266fb3ec1c42a3617099c05ae0432e460fc74e320f6f7bf9c1e44d87c2c01e93212a65f8eb7150bdf574b92da20aa7f8c920bbf4cf10def3668cb583888fee040fdb19f43a81ede81d60eee1ebe566c965e568e7c5bd4133542d225e495fa96fe8639ca0fb024876f9665866eed677a4da934fe5bca3c06785c4952676430282137d392bd7433c75ddf5cb82670f8b2de09576cb71d4762bd954dd0e77ae7a74db3108735e4c334599632d3d1abcad5f8d5f64dbbf8091831a4d0a8e70ae4c69e7a08e5512faf1c43f3bd3b93a802425da88b9dab3aee6a260e1dee475a44eac8ffa1cc011eacdf274b6312137b8c241ac7de46111fa6e03e43ab54a4fa5592b65fb23c0a70043bfcffe8150d6b4b1011e3cf9b038a164504e5c08880fe67313d20db45bf6b7b0a2070567493ea4724c38020206466691032b3c41018b88bbe1d1320fb8a52e0956148f5f2376c6fbfc0a38b0355f6221e8f11c2331e057013edfc7a087069def45db4ee104a247475fef8e86cdc2bc5623217ceab96790281402050349ee2906cec2cc82b1c57f7bb7ed216be59ebb2da960b662c4a107c9c14ad048a2475f1760b48b1e55ceaa200a514913f719d342b437d86560f0433338e5e4f02ed117ab55c57fb7ac1d7ab31198a9910a1dfd1205fe8b357342c6f430ce6e1575034ebc4500e1559d092f8c272d04bfe080d3d558c1f2b1c016c02fc505335dc434e1fbda83b141b8f22b8638ac66ef2a2e21e5915ef18101eafd6ba7791313a6da991b21900d205e35f7c2d2b4e8d50ad2bb992edf27fa0130407ec26fdd066c79468047124b8afec81429e3baee2e568b33d3f04aa925a84bf81e6b4a1176a7da729194eb65bc28bc6de7f99433a5a91f2f90417d0a7b92a012d533db3dbbf7841f9b10758b5f05fa485666a4e3ca6e9eb57fe28e10eb5b5a3e92ff3bda07f72760b00f3b473f7661a65525b5a28a5a513e79885f7693e828fdaf2e8556f25cf3bbc074c012ae542e663670eb60da4beb4dab835774e8f1ffac9ffb26ee9ef3b9a3e538fb61deecc2dd188249c7dd0972f2e2e732f70034addcc5ca57648607e5d5be8d07fdff9d396f7ddd18283bfcb1c731008689b8ae9230a9a3605ffc3ff1a839431b76744bea7365e5d13d230183d638fd703253774efce6958fee7e50e4db64e757facae567ed2ffe7c76235ef9570fa0697806a751ae11e71a2588803d27d11e53cf73651554b112eaa59ff2db1fbd360e10dc75570fe18518af649ff063051d2fbc624eb2b77c605109e8a162af5cde09512c496c4f19e3254f0c598ec7c78503ba054d1e4808170bfb2cdac51c39f9625aa9bd094adb50477cf2f3773f790313ca0b3187289519246a7d2e0d8681fd1bfc33e9a98a40cff4adfb0245621b0fbae60ddf3f5cc71c4757c214da0c78a684c7d6a49fff7373e133bec26aa96a0ebe010cf413f7efe5f0d18be2b772b69794922d96c6fdf2e7d4ca87cf40812ff5f2ef81c95629fa74dd959c875f86997e86a69a07d34ded8c316d751546a2bbaca8ee20457809e9e658849de7f738816bfa4ed86f46fbab012cd4af68952c6f8e209cd6b819bf35a95b2bd6ee745188ef983a9dac6c87f574bcb4d72051a896e63e59188b7f1bbc0424aefb472fb170dade866ecd0c8fc17e3359b0798c4baed6b4b6e8be286fdf91635afdafcd6778ec92f27e9421a5fa62f9566b432b9bf43296491d623b59df55a7f917b1bf90ff08e0fd889c72d8d5484697b27af5743453b338cc4f24322ed7d8da85342576117ae623c9e0591be00734ee9f3b596eb0da40a09aada7deebd65089bbf353b1a0bfa8761b373d72016e13036436000dde8fb4114a575a12f3a7e5ab5729e9a77ddbdbfb7e927ec26c2969e2f7c219b8046775174e4e45f20e12189e0a4d8c445dc60915a844828d38c747d5b09feeaa80711130403028140201068150a795e8c2a6f8982df8e8841b8598a8846be25ce49cb2de84ab5e4ffc7decf717789e5010c061856c583eb4eb090b591ff97449fda671ad5c6e29ec016d926da6ac563f954ab91059dd1897178997b5f21c029d5059d16ab69d216a33885905528b957d325d452ba099a61027775218ba1ab552104d017080e4d55fe779098881caafcc60101fef8328b3dd4524f8d4805bf6ca9e37898d4b0f28908500fb89ce50772aef488343cf859b2b3ea2bd21fe4fc98e43fd532189ab790933be27d342201979b10ed9c509f03c89262b149d12baa2b11ebc4d00bc5749c64a68d1fdf129eb1838de762c49f854f9712fa31a9bc443eff6d1dd120536cff619016a502223268d9ec43f0e215aff3a34af8f8550ad0acff443b5287f5764eafad1e6a3abf4f44a3824fa722a6b099f9f24ee1a7f5474fc507faec190dcbdb98bcda951ede22cbff4303bff47154769bf4421f45fbbe2ac7e31461f6b546fca0bc5bff3f6bd199ed50e42e354b4e6c63cb85d803432b668d9a4b84a692e9ee2f2d807f48545ee93848fabe9b88268ca7126b06fdf74c1cf8ed50457f864ba56c46027efab8900855c2343d1401e0f5fee3baea6afdfe03ed81e3b0e2a872b447e1564c8d21d10ef239f3d76d5b2b20e135463cdeba79f81351c775ef73dad1d6534e7e49937660bc411251014a91154c47165bcc4a1f79257f05aa9421f137c1a4ed7bf89b6ec868ea01ce1b01f5f356c8485b1d4daf8d4a09809ab6683aeb13f9f89d302f78598557928189e5eab3cce9438a240ceaebbb7e14abc010405f60709aad7f0725d2a8c8d195d645b58d1421afb292a20ae903be2431fa7bc6c3a83aaa47b365f440cae17ee9370b007599d7348ea8396abdb44a092a131a7b5bd11eb42c8d5a00e6a3209bb85be756a81ab26d573b6658f5813b5ad80fc94ed12e58e124b37569d9347f39b40a64810ab3833f4457f0a5e8d4cae7fea3d3ae60f425a164b55e8450340bd43572ee68fe98d60921f02750fa44ca811b903f384140e521e8c241409063a83772b70b3a8252fe211bf773b7cc8357757a735b7004747345ca537d805aadd34a40a5fbda29c919e05de09da5cb52691893aab83652fecc8c10d377d11b059b50388a6b2066f12e069373a25c78e07739df722948393582f5bea1caed07d62d6be3ea3098f64b229c200459037ffc528908be8c621fb4e2022a784d1a4ee75725911f0dbeba113821a097b51c40b3dad1101e537c8f48b3025470d67f8755b50b07d88a7e56a6fc28df788bb2c86f7597e158934289a239c2ee5e03959bce802a1f6e0c3f741b42dc2aa48db47ea38922a62e71aed088bce9b4a94f4f8a91b4607bd20c38631faafbeb092f3a2910851a61a46a259b1e303f2fb3f0dc3ea8672bb063ce2256da756c010e269e4cecd98883096a61a27eedbfedadeedd0941a7f8e3f5e23701366c5ae9050a336106d8ba9f6bdc5ed78ddf213f1eb486cf1c3e73880abae858c9b5cb4445f9859cf0657ef9a46f3f39809fe8fd570d5bd5c8d0212230d49eb65da8ad95235d840b2cc58fff192ea13c478466979740a152918e91eca08cae5d1d4524deafd1d075bf33e403b1830c69c06287faa8df5756da265cd79a622d20d6b9b7457fa8ee628c7d2566c4d9d4c88fc5bd727454448490c102fa5fdf1cbb1c1ef4218af19f3db6f631a25f7e805b17c83ae3f42dde1cd2801eb00c1b2e750ac80255ec1604780a4523104cf30327e980f1623f096758dd53ca6255afc7aeca672cff9748e490e1f92268934215b33504ac322a483c0c818132526d8193ef76f2e0dc6fab14ae653df137fa36f19f0e3f665dd52b6e8a0f2e8110fbdfeace6db9fb602f388aed9423d7d9cc0d74ee2c62a2e9a35751cd2d8384f353ef84429e5ba3ca5bd82bef5a44a13dcfa92e132a13141c5b42ca87e5337f40e191c8d77f758db95037daa782a5cef18d4f1ff72431dfdf3f87839065b3c55b0da0b3a534606d45e9d2e726f22b7cfc1aa63cc43946397ab8953193a1da9aa07dd003f603c18040201008d42aa75e6894857121a56b903d0efb3eda40eb32373d218ec7b5a9719a0591534886c040bb1526e0b459e41f7f2b650d25944e537d2131bd2c5d223ebb112e3f75068501b24833ac31a6be2066fc5636da76bbe064c7a6a66058498b9c83854e21338391a327d0bb0c7ff323472e3fe1dded735ee4c4c5fdb7805fffe9fe8175e4785e1b883b45f0f6b1b7b17467b3f57100595dba7f4f71f11d547a638f02fdf3e72e1c540df9e0d66e65d4781bf7ff795ddac5309c28adfa3c543b8a83d9205ddca083dfe5832f44db1108bd7f0e31dff9ab47e5430e258076af8df35c0169189859d1eee6e97e122e973dd0bf2028e4057a1355dea079708044f91e116df76f28a764dbed7e8b70ba3f21764d0ff1d3571b28e7d9cf881e68acb9be2e232192299af412aefaa4895f95426484da17a9f44263a05dda4e3b33bbc2cc4c5ba0b102e5b0fa47d8ee6eb68a6ed60e7abc72b6b632816e96ae8ed620ab3a4c9484ec1c40829de3bc4826f03f7bde078b6d67521e586240f4cb5f5d5df9dd8eb267d5d3ad9aaa5389f84d76dbeda30c8e10c831940371c0aa1569ea131bbf24211aeddbb3fdcfd2e7acb6fff84ea6e35905f2475076a34fc85596c21b0db964a95ed6906a15a3a28eb99243d02424069db78122b1bfeef8ab5e31bf9e3ff568647300bb0ef322456be649799cb90120a82481b3038d6801b26a3263b2eab3f29a3492a0f2b7e6d31e324ca20b5edbeb9704670c3606ca4614aaba690c68c8121313134be7ba55c7bf33bddb6c8bf149280f7670dff6d42966be83acc536a33827825a72ab90dbef46dce3ef8982cc714aeb1b04433f23bc65befe6411c463774f03c247cbf50afcab9b2dee12ceb033edb378e91cd472eea6825c2446748a3a5a3b7b6094538d8bb1933e0eb42ca6ef88f0c91c63d1283b5839490382ee5ca8151a3f9f096e62566e1f098951ca22bacb5de53d8776eb934f8dbf61e20d95d393c802660e8d5f0a891a6803d0d665e6785f5299f840adf73fa4013f8f0ce196d3d14156eb6df8c4e2dd9c4e3ce077828b17c62c9833ceffb161604de5d63b70c875cce11f02035bbf2e25ed969de3ee8d7a63d3103ce1bfb3917cdfae92f0e61c207435d970530768730d6d3e011a94778a222b39f29a5629f717cb5dad5aec4ab8bdc10cc3b92920100804023dd608db6641404b6c22a2ab74b59e83c5f3814a2a19d2831017074567d95aef07f2d0d7e91bc54d95905a385ae93672a4e5ed5c86b16896f7f2d41e73403a9e427e580750ccb2c2b8c5a555911d9e0e8bc8adf9669991440fda345fee33a5fd22ab525b83d0dce3903f6e730aa80457921e91c10edbdc3caeb16f5859c52af0757afa4273aee626f6efdb779f3c8fa75f72be08788a453c202b291a8a00506dffeafad565e6ca53157acbfd2c8a0afbf28d5f1db3c84c73ef69d03447bb10401aaf7a31d9ef4486eefd593b1c3b4fea3b8c2c31a4b377e3596baaa609c92e3d7aeb37cbc9734ee8797d6ae2cd72e8ea9cf2c8477730bc3d53d9dbe7e6548d49b70e550b73f4eeeb29c02ca555cae918b8bb7b1ccac51e715591790a25ad53d3db190ed69a4f07151bd6e94e7fbc32010a798e29fc2b11cca4dd8a023038e6b9909bf6bb6f0acd9c7a00298240d250046040f56c2c1378478bc64002bfab3dca8c97269a50e945fb44c429e4c3ee51f11b30a46b2047c1e8548b473cb8d8352c25dfa25b337b6974c4236129ac540e7f45038140201008620c85bc40f4a2ca5bc822621090ff0c45132e8273f0e6055a3ad482be7184b43a86b166539e49afd5c683f3cb2fa2f1d37bc027b1579b8d201008644b707723f249704bb2d6995132cdcd8cddc52c7ee39f59a3fbc30f34852a339cb5e0ae8a399005188bab0c367cb6a57f0800441c4a3bbe8ca4dc453c3fbd4d2ac07cb3a6928e8b875127b0be78ee82250d8b8f168c890a2a8ec89d441927a34b1e2f5d2f982ff57aa85cfa13f2fd855408347844638270ce1b94f92a0934fb204122007691e4dff019c7b54ff77f7f7b74157a7cc7a1bcf51ab1405d0da22b06368f590176ec9f6d813dce0f53c5c20421b5a465bd89ba5a8ba3dc17a78d24f01a13eec23de080b07ff516e873631464a7e5d4408d8bfc25472f6c48f5bbcb754cc1edbb234aad0c78e41a4f33a25bc6e064d9242a8c60cc96efe02f6f598f2c1652bed82da55a444b72cec49e383e6b6b38b455cb748254f4f446b5bbfea5d6142003427d38747e12f79189dcd236457a39e9faa50a1cf5777b7e16cd5449abb98dfda12b3ba090e796bc3f3febd82c082fa44d4974b5178b8a8a8a2a35b95c3637c917f050d573be9bd2ee7061e8d9a9b16ae19df97a2c40ff1bbf3b0f5b35fa7b52aa121922eb4ca5f3044d29eb0abff6334ad02c35226440bd7d9baf6647d167fc02fe8b2efc6f9b43b05c0f9828039307c659350aca1a8370b354c7b7c524760e39ee43c6a1ef3a26ab09e7aba17adfebabd31dbf1c7296f244511a563d729efb1aeefa7b56e41f907b93eeea35610afe94021417f2da0bddf1a695cf70b4377a7db2b6f3f2c62a4c0ed4aae162336b080cd4e868fff073b43758cff19ef1156f65636b4a8004e30411e3f6cf6b4f9bb540016c54361a7ee6249aeee2587d75c07744705ae33d5abd6308f3549e28f425d6ac07ec0382be80dda3a8aec2e48b8d8e16c839cd920a42ba3c673dbeba262738c00d818dc3b589e8014377c4280b0c68f048c4b324ac063ca4bda62acebc7273f8cd1934fe2a631894358166a32c81ac56d9f089a3b9f04c2a7972a9c65d4467c17882a2da297c13bfec90e3dd6fa73f4437a87d56b3b0e6f40fbc5b9effa7e8d138169bbe511fbba9ae36ca7708b0ece353b48386c1c3579c56fc2a24401766825820b5cdf64b2c1accc55713443f0df9051a4c1d942d6677eb54432c709703eba12b5efffcd31eaf9b495511bad48faddda348d2af2e29606aeb956006309210a68dedb9d2bc97b9f2d8d8c597a8c6055e73eac3a8bcc3ebbbc220fcf4c3df34a70a6bddf40ea24c3186b3f9d179e4bf4ed7c5cad620b505756245247010f15344120ed92a213ec7da8e700a87b660c4fc8479cbca4780b398359da434de4b21b7e2af478b730718a6dd5b45ecbe5ac5179a0c597f34b3e662aebdec2ddda1300dd66278bfdbe5f680cd3c7f651114f29c5fff488a28abce8194f5fe5584f91184cc7c074266be0121335f839099af40c8cce72064e69f2064e63d1032f3ee5004209fed941bcb77a78af9caa88801be2df33bd1d2f4f634cf5abd4083d16025b307d83e2a3e675450cc892a05e0deab43318d6fd7a2f8b1ca126cd734928390bd3836fa897111024cacb5c715e445e4887e827ff9ead080a43968f1b42d9cff3d07316a3389aa49c8b28ad7df3ddaef48d0d882db727f18695dd609f351e0fd8362ebbcf7863c392132daf8e42365d683d54ef41fc3c3706ac0691177cca96fac19e16eb2dfd1e04e01d17e2e7bc6685812b186a8900d1733874a494a69bf3bd7898535cd4f55a9f6023d107e1c9b8ed58f1255ad1603b73d32f41df388c64f11cb6143ea185c0168c14429f2b873ad6a50530427e1886e1ba45eb834902595c24ddc97cb9c2842d8f0e5a5474508f9f514c864f411b443c8252dc825c128e34360e008a5ea2f4aa84af9484a33d9d58e0a86209961aa1d758baa959b9c7f32064e07404ff115214d7137b8fbbb5cb8c3522aba6d82ea9b2d762ef21ce40fa416bb7db8796e84871930947b1c02ac4e8e61e04687dc719aa47a580195a6f2897479042ce34391d67313d5aa370c3aa6ebfef9df76a1c9e4afbc2d100457193588e05d7ecc4fe855b7a2281423077c4967dee948fa12542f537b0beb811e4ab778cbe50680d38e410566f978902fbbc274321e9d7f3ca6ee7baef2c9e85895b3cba57571389f0928130a794e8d2a6f813dfa30e0eea88b516f5c6e4258d32da3b78bfce2c531d361f16b9dc44963093c8a31c1520686c0406cd0e20161dae6924d4479224b47a755bf89a9c0c75ad96837b920a747c325087047ea7d8e74382b3a3d44205c4794c237fd92fd8b5d8a3f9296931aa4f7df6fb8074615040302b132190a798ebf3d4911671539e0b2e27299fee432cde532cde6324d271253f05004a08c259d384a877cdbfbae2aa95c19e621f6922f9532a0fc1b730c7618c3fc7e1b087874f0e9f8849c4324bd2db1e577a3ed4c1fc3774e4606a7a17cf71511f2ae06028140a0a89af21cf371ef364a6d5addd45e17c738591edddcd1bd4840e319afab359a271768dabe23b44412ce3ee8fb59fec6272bf3ea4f2511c87fbabec73e5d72ef2a30088838b99223a7f5d618b6ae6503ccd29c70f185e44aa885f3d697d7df8abf1aa29e45f40fa1235f5a540e6e46f79b4a7067222abb6519242cc40cd8f89d4c39c490ed94e6c5fc8b54fd32dfee94d064f94fbe70113d6019812b7cc113080fed676bcee31cc1507cc9317e2b730d7e5c6beb5fbe1ffff23076ca7c589659a643ffa61e7e302783acb6d8f0c9669ae0f23b5037235062a74f5c58e00291c5c444040ed98ed823a3db82b0af75e9d21ddf6f9f0edc3f793589e9466aabb586e4b422875bcf5f826831c52479e85077df57d6a9e306d0c0fa3cab4cea669e6f18ed4df22c758005fdef6f64fdecbb0e96a6cffd2c783f399c893efeadc1c0671bf5d022ccf91bd57b2e0e4901e7c1f82d65be7c8305ccbb1c150b58ec98015611f0b729d9efe6ca32fd8325a7f10451be6b1b65793d3050de6c3d1590052aa12c3010910d9ff8ec474f2a1864300ac84881f9df41e700eac929e540a0998c0a06612e05c0c03a5d8a73d4ee82aaad6ece2b0c3f06a9a004b3f86dcdcc5988b50e7e985b4dd0025d039827fe81c25004103ad5493fe58cd13f869fe5cf3fb9cf6a5114b4d59057c02ba6f4f741dde2d910e00e0d0a5ab3aadab08d2094061f98c26344063fe039d43a7e48aabfa69c256df7c03da5874e752e7e5f9945418ef4bebce51066bd7a9040ec37a5571b6153016d2e7e716633a15b6782885f9ebfcd5f467eb6f6cbaf0d5ef00f13c197961ff8d5826fa673a1b1414cdcdde60ad94a27734200f598b7ae85f2dff4969527ea2b1acdd478cdbdcf2be672ab11e3ec553ec4419b0c7aa038d01728461445492c4407f904147d72389423b76f770b23dd51543f1afad2f63764716e98f26b440f4cf97484afe0d143da314981dcc27509332c5c7047eccf11b1cb0f82f023ecf457f9790428edb28f6f11a866e06011413050387804c86781a2a002236d38b8a78557370fc367ec980cb669a608e3a2ae2f6344f20237ae07824349a2d683edad3fb927e293a49bfcaa1e24b65579d49a874736ae0ada47bd430c20aec42fb725e7e8fe4148d2ec8e8d556177b1f938fbdb4188b4658096e67abbe32673be45febd1a675cb1dda912a56c7f63af379166288371c68bcef1a6b3d6138619f7bbf7ab46a754326b467c0faf91dcb7704f85b4c8f1d70c7a5fbb581f3008c4577ca87588036c5bd75a3d8ce4ee71dc33dc45c8d5662cc672f94c1b856f8220fee984cc96d408acfb8f075f6986f41bc5b9a511d5d1c6ef619626fff22badd9ecedcd8d363c7adc7709f411492bea03f35a4a6fff1eede409377f66f4393437e1a27f1730d641e77f04edc8f9fa94a4d1b77f6142d0e57043e563b2d65ecb0cce340e4844469d58027e7ae063fb67ca6449a86a638d4149677d4645a88406cc976d3a4dcf4b15402667fabebaef349d2dcfa4f16751104b13f693d4149267fae779c14ca863c488755c5e6906d8ad45f81bed9cae924212ec592a465775e83b5a59916b8ec0e57f72df60f71f800dd6e925690cd76660c7c21ca46c8a6ec89d8f74c26dfba58e03802730537e74e28c5f93ad071441775b226108c5517f8925dec033b17d727380532e98f7f21730c70910765b4c080272446a8fcc7ee2dd4d1d8af86c23604bb0358a2b3a73963112df63472d5c0ee117d4f825e7a27d3aef76fc844c833ad4f248eb14b19632290fcc610061d18793842697fed35ec875be91189333f66efb3e24eb78d5784b22814048744360e03f35f3e8b5bf0d6260614979d74f86881a56ec5992f529e1c6c26a815f88b625004b382473dd126d718fbb39fa8856a44e0ad516ee997194b7ebb75a915b1657440f326af56976bfa36b4514ac872fde43314057edc68ed7b0e7ebed8a4ff7bccedcaf1471b44301612f54e167c87f0941dc99f51966a04079a3388d963f9f5029e7a22f163522aeeeb7ee7e0ae03efa36cadebde0903f8e7a020ce72d074d063cd460e64e4c90817361ddb5fd838a658109fd3ff01f5da64e0298d6b0948b9896bb0b1796f25d8626e48cca3a08e7dbdaf8f2fb8f9f3ae1655d2f8aceff0c575706819184b30f9f8983380041905db56fc979f78010b3e11c8da7f565113f52eb93c062ce3e0c9aa4a95326604d945f385958cea72cdfcf6e2d6da79aa4a444aec9eef53579a8b6d4f76ce44c98b3b749d1ac7fd461e6a1acd3aacb161a123ff78a19b0267482278fb884aa13b1e89ddd09eaf98b01aac3ce4638edbe160fff3ae2f82a4c8911c4050dad893d356e8eea4d96d9f4b0cdd63313447b1c92ebcf1cd4c71f5b8676bee2e0d9885fae23683506d4297208b6188655f8a8000c10dbc81459e9ef97c4c455538456639f5b5b36ffcaa2629ef620dff87bfb93c10550f4137fe5853182ab4592a38093c3fbb2a6126a1cdf41af73ac80abbd2982710d3e242c0914f2028b3f2956c5e8f16f2d75e4480e8a254fdd501259d3e8d16ea1d122751fc276dc68026422e9a60f874df640cb43205a461f52d71ba93676a2d60cbfd4329acd2742a7788d56401668ac5da70850bba63e91e020d46c128fe81ef651a90ad3c5245d19de2903748c9a642c16396cf4e41614d8478f4f5f4babd5f77a9b0aeb1522ccb774607ee66f8158439b21df4116d6a19a25c138028daf14fc1bd66bc03368fc4812f4460812b26be857196cf8a4b9ea12d2fd0296e9c4ba0f1212a089ad423cf6fb04576a1176a34b44bbca54652b89c8f97e973e8619507103a230e0bf87dac6febff653c73e901fbd907083a9bcdd7dbdac6da984a8ec1cbd6cad1cbd6ca842f13fd6156f75b10e58a8e6067ba946701be18d679beb44fb5f16cb643bcb68d367b29420966283c6a6fdcf633b7e04b149c6a0bf947d21bdeef43b9f6f4df8fbf078ccc7a92bdba090e7a66892a8bad389a8e898f34fcb3fb2315f3c9273976e6f876907018584dc30a25be6a8afc50064c5c350046063663b1b10b35430e1a36fbe46318cfbe9c5717ece566840abd4c05e40533f13f0d547774dd5d36f40704f002e9ae0ccf8c9924f5946250c2dd01eb2dc8977660d611f4e846158c8db790da042d68d69f97c7cd1c7477af0ffb03b8b118e336734b113cefbe2ddc09f243fcc8f2974f7657166f1af0a107c6abbb031c94f6bc698aced781f781eb91c0dc0e0faee0218ed8767be81df8c59764d89447cf006870ce8fcbc494210fa475c308bb31e3e7a205c20181008040281da6fa9c4eb61080c602df86bb676b8c7f4b2ff90f3b7cc1c22d86793e0fda1fd69c3d547d356820a1910fa4dff3751a9d3d2541a55f988e1204db3217c93718223230ce61fc49c811fcd30d52036999b12545eee67948dfeb25a82cbb506ded58ce55a171b4fc0c5cbba6af97f16523f81421300e76c9160f9ac7fe1e5a918b98fd492a872dfc736e0ef52855af52fa16dd4f24dcef3d1b59e3da6fcda5e27fa9c93ab56ff13d2a9c266bfb21bc587af7faa40fd67f11c5e9321f3de7c832ef57c1546f517a51731556e0758aeb6f48a5b10220adf8571d8f3741956fd342277036086cf162734178e133e711afbbe138a07e5a988dd343aa229e39b25dedb774e682b70b27f29cf331f7787488683225614c786876c2c21710b8c33bddf7c817a362a41c2c4712623a86a48c2d9077d059437ce36af0839525063c72e34ec4b43922c0c4c0f395492fc2f3c66577e30779207984e9a3c8b7c0b4bd46cee9f662cb47c88dc963d3f8f8679834588bd18fbc1f40be6eca9cf372d371add6eea667f2ddb1426ed50f1ffd8a36e3af998c2f2ff3e9d4895cbfd313300640213242583247a86cb9f29e3f3e392cdfb7efb1c74b8afdcf705df492787b4d0b248fa5602e1bf678a898c030dc8d4863dbc19066fa44445fee4c388bfac9acafe2fbcbd26ee81f97df1a92f30ad51b420f9e3b86d49c39c6f991d3e3ed4db1b096f5bdc9f0c842d28e5223af9eb0019da0b869e28010abdd1f7a1f259b472aea6761fc80ba668b63dbeb6e402cdf60f15c97f5d00b1aef4cefb9456a1f412ee46d48785e384e761079b91f4988df97bcecf704f2d43f927f3716a282a2c1b89f9811aad94c1d5109eb4dad520d5c1f1c5a3596e86a6b424bfbe9c6d47415993edc49ce941a740ec08fd936610785db1a869372c944e933afdded73fff89388803521a9fe71b573c72a709753f8e5fefcd109ad13cbb66361aeb3ddc56617469da0152adcf17e892526d6f1999c4681f4cfcabd81e73867d5728fb191ad849d37e859f4cd6d316c56ef8bbc35860801ddd90c3935fc4e107fde0417c8183c620fcb1ed7e4bc6f47fcbbb5694dd5f8014491c6a1d22cba3e41f2f2ec4fadac5149d9ee6ae081dc2dd8efac22041536ec64837f1eb7ed7df5ecd9b5d640b95d9495a4cb03e4b9ae7fc8dcd8d7617dcc1917957f44f7bfc14f08cba9721fc2571c5b50367ca92608b0c13534f6ca1ea849282b284fc7f39c47fac775eda2cc5bf0dd7a51a30545e67080ca0390409397c75cbb1c1ee21e1d9f4e4bd5b6db7448b19cc5ce1ec417504447101f7ef1a6026dcff47c040b4269f8cd6a76c27b4f819c1b3bd42af5dd25b49a33431772ce585e6e37eacfdf49f666bf87ae16a4be50fce63087180f01d3e841e3be72bfaed93a2ff029270f6414b7e2edb334cc57cb1f68babb24ad5be0bbcd9c41db3c020415f45e7b5466fcfb21580761ba1a895fbb9b6dc5438deecffb90c9bf8b7051e5a1feaeafc8615c3c8e8497e7381b5a02f60b528eedb1899e4a288681565891c87363903ee37af2ab4f987d88393c98138db7fb29ce5047a62d464e986949a42ca15f79527bda6406b497e3c28106a2c39f6844d87da7dccfe37339a3bb9f330c24690e0ed8e32e2b4ef2aeff1eb0bbed4ad22cdbb29aa7e6123656a06fa3739ae55b64e2d79c1ce0ff8be17201036f3266fba340b17c6292454792d3bce6f9ca9f0ae7d7a9fe9365f7621a3574c8c608b128f7faf14dffb64676cfce3b8c3aa07e5e367435e3972890a7a91ab80002870e31af7c77b3160785aa20341609f557bf2532c24d18efe267ab03a86b2c7a46a6515e7bce7d2d096378236413e9ee0b1cfa1c99e982b8d0dd8774b68614438d524818825767cabb80f97de7c440b17af0402a9bf8756921c0130eca732722df652a32242c15c01bcdf92cffe0cd0fb6085bfe3fdae94eab78a061cedbe26b49cfc1c8122fc4fdd72a869ba2266d4fb4adebaaccbed96f853fef6b007fd7f8e3607bca7dd24e7641ae91e3b81198c706e4c7f9e916d2d24fab3a721382392940f4b154311002c359f1ef8df775ef05784ae2bcf540042d4f9afaaad2d71a479d6e4cb4d4d1a40786e869b1a7999a012f4ec3046d043f885e0eee3dfe3fd022db6f6c29fa0413dc3ab99ac000d64db2c2822ae8f5b4d0ebf9deb4cdea992b445d7a54cd6464ce6a9e13e651661df0a8ffc4937e9af9a92cd938fddcf474922b18cb06db1cc727907338f6ade09cd7236d280d458ea86e45633e2fee16b119ec1b3fef1347dba1bb95082818567744da18d2557c0ac42a72db40128a0e9b7314eef6d0d73a0ac51971037b8b411305bcf5f72e6d68a40a92454190ccaa2fe48a7db61ad54fd2043f5bc942d2c82edc8c2bfadb36883cc52352682ff9d388803e2f8fdc658f0a45a42227af39c17d8ac935749a2fc70d65f48cabcc5c4c4ccca000fc1d3b93d1a8e011949f6b81fdcde144c471c9cf080d6a58475cfbaa42d8daf33c91e5b94ccf27ba5bcecae56feddeec4b20bbcb23fe7002d565c908121ce63dbafc8ff32c16cd85a8480fcebdeb5e3819d86400f945596408f67f8b59929fc96321eb60d2830974ae054a8fe71944495a03bd0e7f23587c283577e3149c4d0fda481dc7822931d25cf27e48745a962dee9bbf24f792761ceff7df580cfcf79df48ba76fb2761c98bd455be10e1498d7f8f24d187e3421513613bc5ff612e1bf552a675ce74c58433432ab82ef7fad66d3518122c1a180807a56a359f69d04a3809fe0e681f3ec5422c80e9734c42e65246eb8bf997f0fa7fde637d45de220ae7bc34f1c7c89adae83c1fe09ece714bffcae674d232704bdb4e5cbde6f75a598e8f1eb7008703238b3b4fc0d5e15ea19017b8c7be04830af86fe511d19cbf027218ed7ff595d4ea63d673b334c52baf86bd140950c4e370b093a7c1d8f5c0c55cffa89a3f0f50520f960f01450152dc4dc1c1ee67bc229f0ec2fb5fd04b0092049794947020901f829648011b8082047cfdc080692556a0b9c16c52acf5f95280cfc92236271c994595d1c92f1634cff99b840d9f5826ccc819d3be46c7e6a64f209c55bcd69fa3ff73fe76e36d336d0ef95e7379598d761f64b0ce5cd74fc20937f153e9c779b12b4a880e29534499c11fc5830759582b53414dd821aa23f0124ee0d718f404bf5e104e4fd45a025978f7518720ad11a7520f91e91430cd9072aaa143503808be0f91c643a5b3e1cfc0025fe792649273ae99b980ab11c10fde87c2244143e0529c6f23bd0022e1c42ebc4b99bc6f873c335ec92cff94d6970cb77573c6e69f40402aaeb00016d46dfd5e9022135df8f64e46dc61d1af89e33f8fb3f5311b5041457d9169edc88c63a81a8c1f11e6a3553b3be60317363811d62afc2983360786da3b05f680f6e1536f88035aac1144ac247ff5aee583b61ead6f258b477ef14a1f259ffc8604ade46809b2004c0cebf31caf458c24fc980e675fe0564e3ddbcdc7b2c386dd7f3f05c9ff2794ea5dc4cd11b4185c5a950dbe4114e4f32a721a29e666891aa7030bcae94abac3fbd7ff9908e3d8e296d7f51241665ac67415145c3dd46720d7bed7a621e5e173a6c7ba8dabc480f84f5eff4b57ce7817afdd152d44610209536113312777bac2036f1eb79fbe65b3c76e13235766df8589db9946f4c7efab72fa6149880330c0bcf7790e317d15a3fd071b57f7bb756b77b2ab9de74f64de040912d373878f554015af71e1ccacfca418ba4b9cdaf199354da24796179ee599c5cf9cd15ac5f0b1c3a4516d523a9c2a2f7953ada18302efccb6bd227b49e271afeca149a0b73dad2d7c0230b2f80c140134cf040fe1a98d70eeb3e8e67b7dfe51cb26dc29f3895ed2dee3817981bdc68586397b9b94a997488abee032a91cb3a4e3a4ff1a74f956e76470423769798c5d3292e0c6a3f268b22403d8e6ad09726f7b477860f3567d62fad3fe6ffb7b0e6a70197e969d630caf0592780fec5cf571b1bbc99a8f93fe562f4b785de950c28bd5c2b7695101c11656e29cbe51b50a959b78aa5d523a24a1ec83f682a107b911c942916358ba7cd612367e2797f6186e12fba94111611b109296b6bb50011c87d466c40f5d563e2c1fae0378f4c325f6223dc5ec268f4a8c333dbce0ba8e0ce5c503bf8be34998b655bbc524d25575730f2b62afdafeff8fd74f4caeefbbda278c7af3d544045f46617c52432c40f5a7cb41131e411ef2c77617ae4184d8323b30bbe8e79d684a7abe48f9ef1fd2004c7c46fb719c75fd3c3d7bf2d0ad4af2e11f88f2df1ef5ca03643955a70d946fb0cbd3c90fd93e7c2b76fbb3c1a5580216837c68e3041244fca13e013cb4441276ad7282f29fcc2394985885e2752950d29151abfc1d9d4855c711944aa6e3c86dd334684f0139608bf1e3e270f8f35c4f40b6af32e5443bd14cbb6f1455db2a9ff49f3b7971fcd3344d830f0b69c368d27bbc8dca2e2763bc338ac30b8c2f7ab7a668721db4f07cce5413f647c1670bb60832b429fe628e7436770a78bbe374de99e47252312fda2cf7dcff87b8ca3b2d709b3920adcbdab99f881c3aafc285a01d4f70cf65d0f4cbceed505533bf77f72c43ca81ffcac3fbb77567b89fe61f71af360e1b03a4fe2ea484f05c8b57f84ac3ac05a546b7bbfa64ef2b8a755d00daca0a735543107a0d61d303f03daffe2e3a1def0f0f84c98610588b6ce7c68955ebb1277ce5ff521c6578c6d583810f3bbd1b811e16aa1af97a69228a6f250ba200efb876d1d74bdca564a64b62e4037cf553058d49f47717fb031279c8267faac23dc6aff61d77cd8eae0331b975879b6faac69c3f735b62227f72cffcf2d0024805e75a025dfaa2882de1d03ff591e58d962fc766b95ccb9fa1f2fa71edfe9b250facfb20b0c63208ff12875ecca82fe09c60dd08d40336f94f4fcd482c9facf5756c60c59d22ba4fbe9fbbf45244b6ac45bfbe5b84b8826504f79ef65e45cc0bf3c5ccaf312d2bce39b3b78d7348f593f00c142767c8421596ce809d459e098a804cf2024c42823b2147fde7ed9791bb4f9686af632e89ab83711582b6b83b0e908ae93c1e3309e3f5a85780e39b5dcf61e9b479d89e615fa39f0b3e56702039fcf691f89814acda5f90621cc4069de93029c98c7f06b82075a96717bd36eb75f23243a9c6a56b471f6a4c55ef8afccc1af83477e642a1bb546b40bb7eda9eb8d4a9777eaef6294bf8bc09fa69e436206b3f115949b1c4f02c2c601e3b744cc664c47f7c518fbb465922e4825af1f3277928ff1e84f2b40cdc7782830579aca91cc599f5ed046579cbc01d0cf3ad683df7828fcf7671f3bd4a1537a01e9418867c9f1a9005e9837c2a64097d70b126341c98ec492a9f429b38f5123d155813d801096b0d1209093270a0439004eddf367a6ef4b0b2cf2b6f2e32bd4383cbb16a7e2f70d288a11bc48faf13c6a1c310689063ac02c572a08213d0310ade35e225a56b85550d6a719f10173448721d82ac1a8253e6b960a74f2c1188627de05b80dfeee19a74b5d581d67f2edcc390e831eff3ed3861eb5b22ccae42cda1f3db22b06a0d2ca4e1f966b31159c714d6b02624c0398a0d4b1171c7fbccb72dc692549dfa261301ebcd0331c7453887400f075b3710a060531d260e3774938431fc052850920823b2dd5e8de105d31e4d02d69fb10d8b9b7b30ba58984e1e729fcc0dd9032c26c75c82e72b0a3e44c9d5ea38f04c0fd075e8933672bb5a11b2006deb9b7823629fa3e0d8ff7693f40939f2f8342ec116ccd050fec0b90fbe5cbb1407029a4ea7f79cbea15a42a9f8632fe1f9d2c74a9be75419b73aa70c5f0b2328cd4428dfbda7ab9ea06fdb059112f6db0f41e174028f293055a7a0d7a10e52b50bbe8dfc5e8c290e8359201d9c0048fe39d55db6c668830d9fc4b981c4c1a19e1b48738050b3ef27a9a77dbe545cce483bfe93694ff68bb0eec09fd5829ac05131633f2de18a6a987db9d16f0b0e19067f82c261e5fdfea92de1657b1866f848c9577ec36f7ef0f3ff5dc01f4311408dbfe45586a593f16ffe6f040a7a3905dc98424f315a94f7764eba0d21c88a4200c36b77d65a6debb58bbfe4f87caf7637ddc4cfc0bdf490bfd1ad5fe40d739fb5bbbd40d06737708e7957112f30724c663671be764598bf9c987f4c3f93d13219e38cc6830dffbb3d314c6ddcfdae4f961eeccf2bb9318b058194567a4a39090b7d0b7f48e8e40c5fa704dda42d01e8cfb3937ca91330b18496d602fea3cb57a64a06a1740ffb77ba9200ea4242fbea9f15505dd04abca7c1de4387cad38908bb2861453e3857fc630973a0a45377386edc010b442c0a306b9c14acdffaebaf6f24742b85366d338b78bf44b4a8c02ec7fc57f857e7ca8f3460bf8d5fe46c7f913d876865aa9730ead4416c17cbcd754b7ef0ba32d82de1adf2d754b3931602a7660b1591533aed4b533b8f1cabc5bccb2c0f9779c55385e1319643a15a28c7d30f7614dc3722134c2f30bbc5e419bd863e77331d347c30a653cc68f5bd71505857ed9ba57bdcf2e3c8d4292c803ffbf4051d3e58552e522aa39ccba2f0cbaab7a64036f4ea8bc785dff6721d520facee809579b0ea44807950eaade5441d74cf6f223d66a3c8684dc4fc2289c354b84c8ae8819e881c0b7f802c74d9e890f2476f1081b20adf3c23bb38da394ada587af8d87a81142295d52fc3e2dcef7cf4f9fc77c151fa8b6fd9ca2f0577b5463742a61a92407e84b459531be0f1113c04696a743a0cd80c5dd09bb137e1e39ec31b70503c6ae75c3ddb37a3fe462740ca7fd2f2e0b98334a7731b9ee62102b8b6b15934dce64f7f44ba8f57c48f5899afda2ebf9a59e71f4cac33e8232a7d71d71af5f9ad99d10d7bef79fcc5d6a29943f51059f1b0ac05fa2c66679faaa80a5aca27bee65e4216281c1942095c189a793fd1964fd8544dc1af36838e0c6df900864bc46d36188c83bbc79e9eefa1bbdafa58ba5a7a3bb35a7939dad8db12474311403364e487c520ba2df2d12d41dd53cb4c045ebb9eab3ee65689e30db9a7fd376a40359d56aa7516af0aa2b5388b608fb153dce96f118df961ca712a54dcf649142f0a0aee41deae47e2dea2c006e000ad7b19e7ba9a2d61d2c30c4aa29b049fc2d5b88e12323eebe633531ec6b553ac2c678ea189c017b4ce65f8fc952a118da85e66d81d963784935b408a2508fd94fcf5291662012eedbdfe8afb3ef44e12bda797aaecaed7e1aaed5b89c61be7c31c7279e99fa7800a667589b87178799c8a1fcd13081b13c3b44503f3c2677bf60757899c54032e5cfc6203f07943d07a9871aeb7d912c61e33e31791b2804aa2fd2324952b28b8f8b8ac7d69c142a0d9d10e5cd9d4527db9fa76f1cb6b5a72f3636830f59900d9d6df6fe8be435bb8f66bd74618dbe49f46062508624e44ec49758d259eba3f9e2175fafcfda76d1f7fa365ec0d4fdc0e60f18daae8defd8f2aea667ceff97f746ba4ad4331b5e670663f1f62b7e6429168020b5620905ce16998b45d7a30f0a425087c141695afc1976e1f2e5a30257cf267582d2b0ce20fe5b3f81c5521b464515fb57be0feb49fa7a438e0da5d858f992a7da14398df1c85bd7fa34bf2146b868352d3f3682978dfbc0f50cfe13ccafcb617aa2be16a7761f179e285c4368b301a9ee9f84d3d471ce16ab807d137816f03080f61d09b2ce07c53064b98f4308b0625100f3193c2c8721dfbc7b89cc051c44260b9073e0bdeaeec1b3a4612cceb6c64dd8aefcb27142b520651c8899ad89c71dce055d4f7f26a4863c932c55bef7f3845d8d1b9179b373f5908717a581b96e1bbe13699017c5a29158803849f3973bb043c6ebfe90ad62bf18f7f6ad0f3be20771f73587e5430adea6db1a43f8157434f9b833e6bf347b0b853e9865ffec826fb413409cadaf9c84b7895194c55087c29801416b0bb3efb94d2f61c6d0d3004a3942975d4a95138c2116c16bc9e047c048afacfa685882fe8f7c7a9cafd6ac0a95679bda787d3776744ce2979bc94ea9eb5f94dc609d03e68c93f7c87defb50bb216d33672c44c324d2947888e4da56207d233275f3323007f403b03361058ceb16f259a7148ca05812dbaa0ac3c0330d995f7725e789e4af7063e4c2107fe81718bca8f216f8b6f1f5b89e4e7dcddff4e83d7c11e7168293018813f35138746bc01e5211790e1cbb98d2fd3d3a1882a9f740e8bac4504f146e5dce50d3882004fe347a085d38c0addd6228026884fdd1e29a8bf799caf053728feed793651ba6ded4d238b7bbbcd1f3e79f83d900ca640f7975c23cf552fe1d1393e52a1c01c80358458ef0837f4b483a697c60ab0e5f0edffb3b372c0ff58894ba9b56954b9dc1d28b228aa81fd29a334996b699d29e98ca2f5a073a732e7c1df9382937d6d77d7f70efaa20770fa25c8f2048467d72469be7e7b4d3560c3e8468ea125558b4a812d0e1f3bfa339d59e2d428299909f64d663a09b8f639cb36ea19c08d561309fbf3475666e9d46b0a0a2fa319e1dc26b0c5d9635163bbb271ac73006faa3def74f65c46607c3c8df834a04571cd39126e786559726dbbde25befde6a2e53c4a796a657e9cb26e808b0d370bf6eaf973e759cba0749c7550b9cdc74502c693d3034b4d6dcfa1f183dc2dddf36808469e13016465af8d2b04b598dd3da4df005e265f7e0c989943039af67922c9c67316d2341699f1a9e4560aed8d9f1e83e4a31b0168f89f01898d33662fb7af24660f9a5c3ca3684a1db8cd97500bcc2d7fb59c08f4ff81ebc68492ab124c48c720b3fcdd99eb830311f885a302974bde190761d616f9894a15a645fe30a0a107a0671b978ef7e8d20fa22ccd6e1dcd85f229518f9e7736afc746ba26c3a194e0f92e53006d987d9bb0f0e466e9a49786f4dab9b299eb0a5d36e65c8e2c7f20260847744d8a5fa64b088c1c10736e6fd0f20a944bbeeaf3e9481c50228c58c2e5bb83104fb7e91ae89bd661b8f73df40c7a8493d612f7fe2792609a19b20f664e709d7adb12437361b1242fbfd4d69009e62010ce01330edd4c65c937023042cc7924aff62b35d76adb7d917ecef635fe33c34de03549295b686d88513aa1979d3440c3248cc48baad56996843508308a3a18c7009e262731b40c6b470bf712c114b52daed1e9809e39bdb89623dbf1496d209657acb1a06c5c6bb35b819094afbd4f12cbc2ea7dea8aec1d18ae67225ab452bb1708b696f98491c5e4f734be59b0c15e14277588c37156ca1de28cb84d24a833155190a71100bf4e73e7cd59bbecb74d2abc8612fb52ceebe0706a5cc34650fbd6b5dc719e69601729aaa06fe4472f9a1ffe16abe3095e45962738f08189693f4be085c94fb416bc461173755d5e46d0f9a0579d57a58577dc991fcb7722a50ad86c534f1713ce4833f7b4a3a0db27c1afa363b8208a6b15a13dbeaf22e98ca81f4bfc92e1a490e96350ff2326bf3ee2bfd80bd6b5d18cf90c104cccd7c0441ccfa01ba14a91423bba4674ddbe5248d203c333680123b9996d76d29c6fe29eaf6e3e827a92f425c6acad6ea12d87fd07cc6294f2b76a4589cdc8c04a57d1a78162ce01dcdf63fe22885d8d54b53e03110ebe7a9378b8d020b7c4d289fdb14b70c5d7e147c6f2102934776c5ec380f9c9db87aefd23b4961d07cd6818d92a2e977c2f2f782ff37cf747c3546bb76c30d121fcab4faa26a59808fbdb66ee6497266517291709babd9b5a92401f6d72e10915b90d067062c82ad1ee8e6542e94970efc2ec5a170a11602033071169bb216cbd08f0bdd8b1c09a1a64f9e79ffa4339028028908be8c621f3ec5421c00fc375a71d9505cd2f6c697314a32244f09eae1aa4d7aeb14b03e1ada2936a00050a2046d056541480f66d00c412fd5352f579b4ff9614be3c552bfb402689709e1a2371b40c5b47c8feac4d0df4d4b24df6e689c3d744472397f2e14047231cf52f6c7874261b1dd8c04a57d9a781686a8174d3e74f768852376176a60ee7c10258d36266f18621eae676c0b0c15754ae3c53e5c21f9f49ef224e158a8c1b3ea7b3fbf19e28069cbbad79ba4f2a148e8c8d0a39e5959ed3f8cbe93391f5a394ace9dcc1f45b0fc4e205a8f2e5cfff5e73c2fc5eaa1f1c05e1ca49211f22fba848c9dbfdefe7f40550fae059f01cc1bf405e6291abd1ded263ff39643f7e79578e867fd755e09500f4c0c2c420ed9a1e2bdd74d6b192c606044ca75933aad7d19edcaaf64d171662c779a4415088aa3be30f22c710391d3811e8c7effd140625388a05b1f75db17b236d9feaaf3b2af88e28203450bac9b78b5d2ddb68455ed87362247f936e82f030d88d5fbb0955b065961c34a7e316da081edf8750498e302c4610d22f96199c9fa3a93b4aab4255b3e2945e747d61604b665bccef460b30647cff764a001fe46afda605ef68ba1c483b56e99346a631c0aa51ed214ae7feb21240bcac52de28da246908c2778c68be8020d5964f7ccceec56fb5b3315d60777958b6efe2b45b86c3ea48daf05a9bf0b497102bb2aa628b9cc08df877f01b27ca0be374536051e92d33b7f0cfa3fcfe511f14078ea7c748d54eff84e175e7dca4c98e4f0a7a106d7f96785a4338f7fb9466ff1c6d5c11cd017300bed53ca6c08ba1e7306ccfb84e9305664788ef10e7bfb8af935f582ed23bac73cd36938646b6037f4ddadbc1556ffe841d629823902db6fdc4598dbd09f85e14a864b25502ebd4989f9ae1d4012594abaa9336db229b03b18d6c057b3a6db4d390b9957136b03782e0c6ca3e76af8d01708b6d3c40c8314a585839cee2069e7ec8ff30d1393d7e0fa8f171b8ee60287b8af1d31e812a01e7079f0af25c9230c0e785acece442bdde52469a7531a54c7e63b78d3f8cf78017cc27a3e07a63d15f044275239f834a5a302b27e9f4edd4a4e17d95492603f2cd98d4e35e44e3a7b13d8c7b778b0d3fe9fc24be99cd0103d1086c70a789595151c44040bc068c9afac74c3eb52eef429b730a730126b4f5585156e9f84f5e73f3151c78fdde6d30ec092e6f9e10d714f73e076d6199bcd82b3f80582bd452366b72c676054bf26744625b8affaa46ae7f0997fb00c33232587b87e84421b4b5bda776a2982847e39dac3d6e5231ee6fa3fdfe36e7f0f586686ba4fc5719afd4461b2333708b62ed2fe9feac53d7f586d8793c7d0c8c1eef0bfb7fc58ca8550b65aed45f4c7dafaf12b60c8de09e70f57329344ce2e6c68f746dc1734a01a6f4956117491e831f0f802ad9818020333bae53f0e5464f5b54885f278faefbf1c0f609b0ef9b0480116df6a662e335a00b782cfeb4df87cce1cb135a4e2558745c330b5b4e6a1a3be9fe462c83a5bf17e6b31ec65cc8625c49a266de3e97afdcd697cc1986c837e04a80756a607363a8bf9289ce62905d5dbdddad9d6e7e7ead0b8aa5f360a96ecd47fa0b4d2da356c620bd92989cf3a6c76236459b4f7ea46e5bb61d30ee611c5f6febd05b01e577c419b14c43db0e7090cb45cb90fd789428f48b86be842557f12ca21c8a6cd9d187f92ebe9b99144fa23dc1f40b77aea80236c50fda990c1d5e49b366b0b036459ec189dc19ac8bdd01a2cb8dc17ca66f9a4a72a7a972d0381e2d3cee38f123ebb6becc9b45d3232676d498f81e3bdffd65ca1de076a3f2a30961a8622009cb5fa09b50ab7cb0b9465b8dda8cda42085c116c831e47375f187a306fe9529e07c7758d8166f7fcbfc25e3c8e42d2aa9bb9ba4d2e16b563edfa9a56d619bcc6770c5ac36808e69a56f7534c5248dfec7139a116f85b890239ecd5137b184e7cc5fb77ddc52db60b819094afbb4e968106e75de18a5c23651998a2aedd44e18c654c32c4ddab875bfaf282564e80aeea5b1b9acd397ffedc6ac0f47d348388908d4d3f37bdf626f60b6bd3b8f0e100dd0e7fdd7f113c9dfe3fe4bf3aba89f80e68b9709003c996fb1869c89f1ee9a820c870351f6e55b9df1bb394a4e21bc26c38284125b73ad4ce7fbc858d017305a147940ccf0ee7b5d34464e614e15b6769fe75e19ec4a7433fbc81e3e8baae09fe488ee72b06fcbd830631d21c719409ddc684245344bbc25a0171a8c193452e50edfa02f5270eb489fc8308ac9b8aa9f12defa5f5361e8ce7e361dab37468b707110b5c8c79a447b175cf3ff4b2a942bdf78738ec0d0fc920627ce445c0896a963931f7f02bf98bf8e0bbc23e13bbf3d26c97ecdf0d1fdeb72c9a9492c678e027cd402383466aef2878e6904828a2af546c704ab423d18d43988e617c7c3d387873ab85509cecd873832964756bc93ccecfe0bea5884d47874a8abd2197c1283a4f1ff87acca1e4817c8efaa967d65a8bec9edc0faa5564ced12894031996da971d6fb7a3578a53c3c119c1eae509ac5db65848f0353b572c8a7698c60e9cf1315000bf4dbd1e92b00e7cf199b5b505a1694871a7946e5936c30270033f461215049792e8ca885570c3b27457e97ede330493c9bc851cfb6c2e53f104bafdbca73c1704e80cbb941f7f75e051117fae7ec60146f31a8a551ab01dfea5998fdc1bd5cf755528198e9abcfc47f635e404dcdb3cf035f7ff0d41b2fe1c1f7a464bfe4cce561b2ca28de078d07f907757d0f5ce4cdb318d293251b42c08581115af5260c8f1838b51c3ef01f4ebfcc8a207ca0f4709ca9389eb0f87b94abea643fe70668f7b1fe60ebdbdc8432a8cfc1d22a11cc6206e0c86362280268abaef61c9bfae5733ab67ff9923c99dac96e6e353d6682398f9e57626df03f08a0f03ff58991bb12975a8efe25d015fb1f06d196c840a9f47a53ef018b5d1fe5375c1a8a7a0c4aed40af8280f355132c603e61304138c8aef7cefec4a4ca1e071354d645df95a0a0922883c12cb88ea77458170c6460e8fede5b93bcc116ea5710dbeaba1834d530c6c4cfa2bcdaf3c1512a0342309329e29701359726c23bd90b3e8118a79aa4d3dc300b865820d48d91dec27f1a7545e9eb0cafb0342a5dc84ad5427889429a02c29a231bf25f9e30000a79f69902230c84cbfb37674c447e141832997eb598ab4fdaf04311c073e245288bf3b30c878e2722e9ccdf9d069649fff0fbaf7bc2894e913c8b134e00fd1fb41b223edd3aa573a3b6fae6449e7edb68946574991484a760bfcbc413ef1ed8d4def99f890014f202e58e2a6f613b9216296afb7386237ea58ae881999a6100d4050f94f905194da24681ba1ed11a6eca65e2ff0f7ac3fe6d8536b646bb4714ffafd0bf83cdb118478d6d8e8f89512e42c8bf911c82c0b32000fe7468d95156d58bca19045207016f5df3702077614e46f765d9b05ed719e12bdbcbc00317acdc63bc5e98bb0b24b8ce546d94e6c2543d6afae7c4adc3bd73beb24694ce596148dea59ef5cab3d0d0b411a1a00e7020d51cfcdf1b04f15b8b09a840be1a8511f41fdceb5247316a381784dffdfb7508c21c508a97fcac1b78c7bfdebc3a40b03d18e8ce60a5ac570d5f73b5fba8de4ad69d160354438342b4ce1d7f37105a5320b0af8856dbdb5a678a9e05c805869f61592146ebca2828e439ac934a83c63316c5ba2c1beae74bf86e94cba0597d697ae561fcd62f6f2c730f70c3dcfbc79ee5b17688f3291f5dc4865efff1aecafe1ef801f84f12168815e1301aaca887be0cfdae734c0c7d8b2aad5517b9ed106cea9437877d21aa0a0d6d35fc9969ced001538529c67182eea1b04df5a14010d48108140f95b619ef038114d1a98d652b2d278118ef612885528c0ff267acfacf3f0a4a5b0d6922170e4500095a8fe982b843d3e47ffa93047c700a4c8ff71295dc3e604ae4ff0a25d1e0b7003cd51767468427036550337caa0be2eca18c0d3bfe343f64232d6e89217e5bb41ec8290806c413de4121cfd7d98216499e5772de60a3bc88ee187da1fd48a4f3604404ffaf214f1cfc844df43450f79566da708c150d4063003544539ca4791f8a0024c2aafe0271ef1cfbd4b1697ba489357d0268d935a3a661acd5f5c1978fadb300ce4881b9d0bfafa9abe113b9e2aedc6df881072e7f7bd7fd44c45ffa82167826412010080402bf4daa13bc2b4d740f6fabe7df1f5a86e8dae0c22175c043cc02b682899f459341a5c0ec855fbd034d0c9d07a0e352c5500410c6f0ca64636251b177a01994bfd980e192696e1defdd5ab46a40d2b03ffe710a087fa51bb1e8271724fffd725196a982c6fb5be791f7a077cff69fea40c7cb7e05fc97db2924923c66899eb7ce38f9cf8de44389f9e6d4ac6ef327755b8e78be3aa7ce9a4e386392b4a1aa14c0a8920f4437b9451f82124488584dfd988e62b757de393852d9c96dca3ae0c32d3bca99e07da1232e8298f78e785769dad731656a041bb1011e8a007652afb584bfb4f439797cb64f4a1017758ad1074d54183d7a8f79efc9c7d5ec022c7351cd57c45e9e8781baa1bdb9b5c9840e1f1feb9286787fd657ac2b2d37bd550989c8c23b82ab5a77cf6b113f6a2667d4e35f3c012680b5fe7cab937a20d03fba7f731e4e12fb04b6488fa606fe7789d1211c3d4a2fb802551aca7ed60838fa995d2e5376218e7a8cbb926fe4b54d84ae1b4379d43cc65767fecf62586884dd3e21dd3a3f94ba7f56cd68222a65e9c49f3c88a1284793f47f2a2f5539c53c5cd32f33a952663d6a52bd1dc27ad548d6b70448aebe2e3e8ed60e968e6e7cc339f9ba7ad87ab1d906583b58baa18aa108a0682568673245e22dec7f09c12cdbec05e31359e913f246d417af1307b0e2b410e095c08fbcd1d6996fbc3134fc302019b45120e8fc3df94ca43e9bbda20adb747477ec42c0f2cb6d57c4840f97adab218eca9f17abb3d7e72cdb4ffdcff15c784f62cdda8224c4ca6051bcc9d6510a9eafd4960331e87a5b33def1ff3177e00e9a87487cd9b20ca0f71caed70c5fa531956df49981b787ea53b3129bc704acba6243e5370dccd1fd1e78483ee2a361435fa0e8510a0377c1fd160ceb8a39adc8cbaca26c4656b1d42bc1a2577ab905173645cb6cbd00bc327fbcfa512e9ed03752059178ab970f0bcf4bfe232e10181c0c07038583c0222280e0995421dd1f5da9bb6e8eda1e847b320a4a8d2d051929b5f0d92a5da9e3e15f08db54c59661a107049fa531c732fbb5b92b6adf1797e4642ed5f251c4b9ab60e0868d8a74f435c6332b28953d924f39682d2685c6778dc06926748e3106ce9e2c2610a386665e47158fa54e5931eeee70f7a29a5975b3ea535368158990dc4f07fe4e7943eece7afc96e8d334bcfb3a9a67d9121c35e78d5689f368da863e2875a54a0c6fdf355f35070281407c85d7d4f296f7c6734670f2a15e86f55c7eef8a57163dd86931504af43a5d788d8cf4101cbfa74bd67d32eb5d8668e1949b714015049f53b7666a62517f4921e2fc355ed3ab35fdf594a85970efbd5ffc3aaaac33603a5f304379b751a3a569bb8f241da6e1191a10968d7f7d730bafd91566ba6c3df8a2f5f7cff9265385edcaa51af2479d0444a27788afbfbcfeb588b81a2b10d1d79ca13bc51e671542463ae77943070c67a9f4d9f0a70e77a881e249aa1dde87bf1f908bf39497e63c56693b55e24672217b97bd40361ff4cba17c0d79062927b639a33652ede55a6cf1d89fe63d830636e5eb30df13e221c24d90d5c3bb1e884d7d9ec626642870ce56095a4c7339609b044e1b3d508d06ba2fd40abd854d8ff16135e0ce2fb8d7133531edca78b7282d32d483ceb62aebffb61d0511920a7f969e71b210d48d65d2d2c599052d57fd548a77e9beea14733c32af5468b3c7a974565ef224b2e1134f0159ed866251a22569b8180203b672703f15b99af0bf49c6d38cf038d090389bbdef9f8cd1f5e7b3609a7f6a3d07b41bb910bb2afcfa117ec87f2c17c148f611d7d7551e472edac96ef794444c0c74878092d485449a304cd34360a0ab783b26139abaf08ca874218fc9496a396ff72c4bea44ea8d137f048359dd0ed8fcc56178e8d2b40e147c6654014b9ed986db0ed91f3ee4c7398313131efda97ba0233d055e8cbeedd190239657a91ef0507f1e8988b76a7ec78c48ebfcde310fdfcd484b8d548610f0f879a4d7683bd48dc959b8b860cd821b80f48cf2a50babf4b90f1e2452114ddef0e6d89761d028b717ed5e17fd37f73fdbe27427005b07f3a93e17c754a83699cfbfb43856d6ca5623de681f1cbe9199cf598f9cfe3be5bff44721d9cf60d69eb618076060cb726e11a5d9815e267b5557cc7f1ea370ee9423a8940d51eaa5ba6bcf7bd40d30aa602b7857e1548f17730b236992ff08fd5cd4d1d111db49fd7f84f2e918ff8639af45d77c6e982a7f7d2122c24f595f30480c817908cb65881487c0a58c10d8c89c65fbcc50674d9fa37e0d2206ef4c0a313d57c52fe8a25fa7c7f500fe7257c3be4238df89d139cbe218b79d38378d632a9dbaaaeefe01e2380a7944716f274dfe64c01323956b54585f36d1282df4110ebe5a78a5bd5581b465c0d532e04cfab9fbbe325a04431500fe8f7da4eee2521c9e8734ff44dbf75661ff1cf3c7f81c5d2ada9014036d8dbc009b5f166ccd1fc9c81f94d4ff3907bee73e9b621dc351fe329a69940ce745107f32cc92186c526e30c79e1f1f595625922ac9246480bceb667e93e7c9164df62ab87dbefef9c641811ef915f0b8fc42e9b7f551107697eba4b33343f70f13f68f5bd17756b4dd9e99c7dfba8d93b6adc1ab3ca011a0c92325e8ea0b8706e25bd571641b77b079997eb6abf7c8773ee4cfe798087d2e72e6eef4f24669b856bec48c75397b47d0c56048e4d4136f85f90560049df7a47025bc2d076b1bf659b2308d7f9ff39535f5ba5c4dfba2c664f1fd18f68b08421e6bc09b7ed95176b2722532d924e8db6df2e73c20f29fb53ea2c4ac70d94675ecf37b629408ff6a880318be6ad045f4420d6902f5566620ed9e685a01a3f76c26de9a5d9dc7e27fb165009e9e394fb31ea759b651917e90a36d8bf014dbba30c9d50132bc8806ac5c368dd8a8a30a8af789fd32759cf097489df2962877a2422758f1f4bcc0a7b0a1de97046f20dada0bda0471e0b4c69ba1a71d6b4f04f0d95b1a9bfbc2f0894850d0dcb79db5ddb25567c54243728e9f7f107010652ef5b7274cf817c764bbc2f5d84d9300ec3953c1afcd89d0179cb1e3a09b865f3dbd2af6097fc80bb9231326ca859a51570adfdbb6bf38ca6c24e2b2d1ad50b26376cd182a152a118ea654b8f67d8c6b029b94d225fdf42df55f25f1b543aea6ea32ae1ddc25129701efc20d4d7bd166f8a52ffa52b4a1ff8fda7964acd70be7d6ba6fe06e2465bc1c7a202393f357dbc6ad7b754fab37c861a7c74c13a5e66aea5ab2c541b9edc30aabcc37455fa49c7d897acd153395df56cb4e8cae114b7cfdb941563c0c4500d31d979546723b956ab88bf907cf8b7e6409e8e3081fa52f23dab23a2f469c5900af5ec874126b7cc72f424d01daa71a8dad5d66de80f286e479c4c5da92eedcbc09f3eeb9f99ab66481192c875d30c75158c23fad81b714ee3adccb5b065bd673655b1fc80f06075b0f41a3e3da1a0e99d6914affc26d1ef6a1d54febea74b71debc2f034030615b4e8ac322d25cfe839cdff1054abb4082bc70d97d388d549e82c323c37ef6162bc930ca2205f868713febec705fb225c9d8d0c49efe9a49f215e5240f1e2e21442f98a7f1e3818e42728a937489cd2843de9007ea6f8d897c6178bbdd6448daeed9d164bd878089dbd02653000c3a089d5051ed7485267a43eade7dfde3479db764537622c85fa09b5a81e8eb61ec84c82d784a8d7ef6c31919d71ce2fb6a84eaf8d952338ae1078abf308f36fb333597a92824f062e955e83196b36580ac880ca61c9483859f449ba885672e58f7d5ab1f1d0e09266d394fe2c7d71698a9a7d75390385d363653da817a132e48c9e803196cd8480ecd73128fc0cb2402bf6aa350937a88e31e160c3df680e172a299d872280576e522f537ada7fa64ddfae25865379499264f262e1ee7b68d339878c36bc25007d45137c132b1f98deb66a691754c5495d2bd2f5af2813eac1d92cbb2ad4457f7ba00f27c3c40bf99ab7e873d9d6e7e6b95f537ce96a946c0c4aa1548a8475bc25e2c80653ec08e5cdec97878b87d20a22a2edd8a7da5e7c3b771160d5fe51daaabead4dd41138af009ca6db304458f11f67e767146eff6b6419adbe7768df5878481e5f7eddd7bad38079205de338ee592ef6eb3a70c2dfbe41d7635449df12f57f9173bff1ee3491d8057bb492754235dcf2a70fc76277c9cfddd7d6f05d89b139712d480466d0319c98d90567f559eb446f8ea19141d04c06a04a8550898f40cba312461797cfa48b0455951c4462fbbaf08f69ca68b05efe920b115807c243f6d2392f94764eb378d1fe17f7ff48f369e5e20e2529146f1c2f43db96b166bbdf53121505dfc32942932f1feeb8149a25863347ba4f849eed6b925c9d0a68830d9fd89230be8a07ee81be41d113d6decce80612176cd51bc8420e39b299cb1b7bece855edcbbc29cf9643c4aec3b05f3949c96ee93e586bb90e8201ece67ef739a1166d4cd86acb958ef38f2f95185d4e86eb7c046458058548974e502e6f5a4e482aeefa95845c3e1f15ee7f79e1788b8923104687fe7536189173ef8dac7cbe7a9250f6e133bb431cb05f6e2c4b6fd4417e50f92b033d3ac427c2820239cd51d97c633da1dafc20a614e0f95c4b83146132c7aaf5a544315e0f7ebf09d9e42c47abb06ec036b15744f0819998c1b9c8c6ebbe20ebbd01e6608149ed3e47bb3975c0832b38f86b5782fb7441f074ecb297557c8de115afec27c11ea4135b77511b600dd64043298082725dc20a6bfb5432f0a05b09d3393c492b5f25243c3b12e2b5702e9806b4243dd025280264480a8c9b10c7a82bf6fded8f7fbc5307e82f06e21b58fb0df6b1b825375018daf7215153d41f5390d378798a95c50f1ab788670d09d581c612436a14e6b74e6b3d99ecd655727e9b6dc6dbdb3b6fe06c744d8cbd76a87fba52b8fd9953a1761d698b0fba4080ee1c2d10c682fd1814d50b46397502b23aa7f249f28bfa6df21e40d7105feba49b0d96ddd552a8fd00dda314f1921a48c1062735117f868587a6426af549b2a0eb8f0c575d66f682ea5f1bd27b06f3a859e8421b47f45b30580069430d5e560f81001f43194f473b0e4d2d25654b1f01dbef93a0a83d4813452181e6cc210367e9b18e70e6d241bba83d701b659ccb830ca1cef9babb127ef880be81ae31e81e0a3e075df188b36273edc91030c6600d9cc522c809ef50ac015d2905c88f40f7a0d0063ac7e0633c05a9e0302c788fab62080c7052854a57be4ff997c7fc8f7dac26c2f81cac92aca59090cbead8d1e2843cf10d50793d3c041f22f05094745bc6f493f67fe09691c0672494b33ba2bfe8ec9550b1b209fa5c0f2d5d586f6404ab03584bf9b0e8fc91fce803f3595d77f8dc4ea6802fe4b473a7f042c3ba79eb1bbb513ab211c639e20080be2d355a49f8f25cc4cabdc672a1aff8cb65a3a120ba0fb0ea4a83530fe3c1a2121cd4b2d8e15b01ee85db3476cfeafb045e19d7f193e2218f7d16a8a4f27d22e8e1a40bff8c88dc9afdbe4c36c05d514da38679a2f13620116222284df621ed3d288a1fa36badc7c49e3b26f0b95b923d32a5b4e193780c9c8a38cd1b4c2dd1884c18197f69b5fc84a313bd9c70f47b061ef8230ff0cb6c1a2cf67bbc8f63f57946c708b8714b220099a0586e1d857006c1d3457d45730ebc13a9a20ee5087982e8f546e898ff0029bc51f82aa08b280b030fde41f301ab08ab4b6a62cab8a2c947633e29dde2cbc2bf959e887ad870dbd936a08eb40144efa0e0e69096774368fd5d40ca63585e5e79b0161018cb2c4f82ce956ca5223df15f1c986930fe94edbf8c1ad601dc4349d72929efd259915419ffba977aff67275e1385f3e9edfa44ed0e545984c1be7a37f93f03dea0893a62c4f35ff81e72c49d7dac34c56f799bbe6eb25bda2af4a8ccf819a37b8cf8e2cb80bcfae31fa8825b52bb3b2dceee28e97f57d39a3f221f7acd0f84b6a6ef2396451c09a7df007ffc6e057304867d7913d393f386dcd0457635ea50e384679b5e09fb7a4d9cd41e481b08060402814020302ff405cc190d23101acb9671b5088a01635547e460ae33c06f9f6101b7fa58d272c82fd2b40fc25d11dd63fa6ac383201008442e5ec53762e21b1049140f781acf87086cf8c4deff347cf8009d8765c3418b03418b0be93193b1946f690cd3ee199f71417bf826aa41d2294ef6a22af8967bc0b1e24f6e901b880a0f304d4c1e9f9d7921abeacb6119c37f45a27abf9af1b927c4356b982ec1a4b2ec13da7062eb403dfd13eec5dc5e438a963b274134cd17beaa3645cfc760cfec9c453f2a7744fb1ec27ff523447e1e5a5c4e64f161ac5e1ba4eef9bd9faf49015d122fb1c2444dbfd4bdbe06fe1d014285d7448befc6c5e8969e0d0922ac20bd38297f3edb68c367fd9f140afcc3418011346890581bde1d8a00e63fc1486c49d79c65637a7a44de5cb793cd702848849f0951735f38be0cabab00ee5c56fa39721ea193bea26276ff26c8ee505aa5522ddd275a1694718d26778a7b60fd40d017584f70726938ac0b3feabb1e54b00800d5e0c24a2dffdc6bc3e37e233cf24e236da2fe5a5e5c95028902b70e3c2572c063317f6b0991fe08321e128cf4a704030b82fc0141da40904f083f0e894b190ffa7beef1100f4d0a727ff6affd749c16bf11fbf016889cd3875edb9c0e4a9b4e6e2811abf93a51f4a9e79274e845e780117f0cdaf4f93e3db2b47e86363e85f8be08d662341e719026caf3cae05c007da3c77a684141cb1283db63457cd0e91481b57019cc5645ac5c14ebf63744635a001ec4ded2cdc6d2c5cec7c1d6cacbdddfcd3ec035c0cd1144801bda8df70827b027e37d0f49554c58e5e92b4b93cf5f080857099fcb74343b8f492b476b717bb906de9944922015fce5f8467f31f24ec3153233d11e07642ac16ed4711f2395ea5d88e7fd1b8a565d8425a62698a0ef8f903ac19240c7cb2fef81bca2cc77c34b8a6f30967911f4d9f299785afd0ccbd761fa831adc6ee064c29e02f46485ff112c03e4ff17f83bf6160fb1e945684ef2dad0731f3eef39ffac12b4b2d8b54968b958ec0197a8e74f90a01a9c35d27bc7bb315b993e50791359012c4bca7540b32d706c46cffef31b005f866dc2a8eb8af12561c504b51a607068c044ecc30bd30ca5f26ace5248a9d159d52a1693289ed8604725a9d7c68363cbb146a0364d7c726f8582af7b7c98525777e010a8db465ee571dc78206314e84ab72af5b90c566dede7e59f9d90f9a50596424b59fa63c3dd6ff45e40b1c1916e86f94fd2116b6a31f982c137fb57298fc51970790e62bcd705a83445ff962227e8caf07b736a6cd3d2f829b1790b36d22548bc578b87330eebca4cb0213712d31cb8d9d128729b68e7e84dde4516f041677807a82a4b7f11bc6092ea492bdea435771a3ee3437b8930a15e9263f52b60a2b7eff1481f124f6092aea1a40184fb6cb923717969495d6ba9d8a54d18f527e07b53dd184ecb9d430935b4b4d585ed4fab2aa6690c518d4644f05a2fe563112f4311c0e02d0947bcc370cf333790476437e414fc2396e2b1466e4e7715d3916ad861163042be8fbef567c7fa8c4770303d5437771ba9ba8c1958c39d2ae9897d5c9ae3d8831de78286789b3a64500318a0afce084cb329cd14ee3724ae119376d2fd6e06cf4cb68029c989d8ba9763420ff8209189dc469678c8fc6890fac75d372e928333c8852029178048b4a8524421862b57a090e7ef4d97a5f890769e7380a1f23ab7c97ca7da7391f3df3f2fec6b4cd6a3ecd7cb172d891a134a4fd96a540d92d8f57afffa7b11411e11ebfb3f7a5092996305f793d80b878d3d80eb8d1cab7d16811fa68cfefc402cd26ebc4e945074ce99b2bfb81285a3c2ba9f8f81e6c983a0993360a89a262129187de8448fe881d20c3b94d4e8418b040228231bf41121324a051bc208a2e0e9289acd67633a6b1b38c1632d5aca62c3275b0aca68fb23c12485cacd1b1a22caffd9b726fe6a1b0c678d1cc1f6ab09eeefcda0c38fac69b4753435fd5b1c82475f7dd3fa5d1949835d92b4db04a6bd2f58a80edd1209150ef28b04b480c5b40b066146f82b729df6cb05d4f1498f8b12b7d6b16b660e37237e58a68c1ff8187564f74b5384277e448e622ca8122acfe4dc97a4e3909b7c7abd84c14d8784485d40e9919f25439b19377691f91429b3fa705074bec58f2dba6570c2e176208ab21d8cec90aafe03d7df5a5c5da31cbe539771d620a447b8255b7b5b4d942d8e0fdcdc0408ce194f8a3a9e693d60a8d496c92448fc4d069f6a0ba34fec000bd67fba0dc479e6bdab9a9336b4f2b0eb06102c041d44d49e0fcb8d157f1baedf7bc76303eb1531311401a8c3edc09efd578cf8d4c89ec63322e9f1ec7cab2c20b37f4d12a147018b43c70918d3c6a0595bc1dfb704ca7f446547a9fe339ec3d6e48bb8c528fd3598e3c419c84f074917fa82a4198dde8e994ed09e18f018e64abb7b0d453ce932cac949b038987846c43a31345e24d0789090892ee80c17ede454ff39f3bab4c8349608158f8df37404acef09c82d460ac23ab0e083f3164706047b62fceda3fdac091c67016bf2aa4d9eaaad931ecd1427e138183c080e7dbc5f73d9fa97bd9944a32216bb0e9c46e10ec6a46065ef096061f096c428e86a8390a23a7d30245c0984a51afaf6d6455776e5df1fb39f3323801def35cef4681a1675ddb079f8c428e7379b1cadc633f9cbcdba06629387b643c01ab17701ec6e5a493e5010de0fb2a8b53d6cf8cc14275220bb359785a6ed8a0b28d72051914ac57760312f8c1c1dd1eca817c70e5c3719a074e101daff7f65b902d5cfd4395de11aaabe81912a512fccef312ec519a4194229b99dba744ea77cf1115248a03d098ef0050e8fa2070e0bf20287068e46244cebb9e806d2350884f7c4c000495cba9760fcccfdab8a8824986512127f40ff3b7e5100e6b702a9534b10fe09d7383dbb16b7f9aa0ce2a05a2271f33c45e84d458030202510ce87ac4e6ff1bd30401818de14f884d552dc88f6ee175898e7a21c5ce612f45d89a13cdf707d24cd939c01e51c318d676b60ef4eab81f868aac871a4d9e11f7f6a6d2e73d5adf558191ec3a391ea2375db9f402b785207af2478550204fb30c13c923bf823d629c687a71797a1c64bea9e52a16431f77b3038434fad8c64c614485393a33db4f0c92b8ecf0639f36c7c54abd193bbb1e65ea7bf5f77d7fceb03da0f811f9463b85d69cbba2cd3f9588ac74cb042fd3f1182900edeee9f523bf09578b2b7fe0dd8e55dfd9e6b1cf2fc92d3f0a897e6d53cc1f5684e462ccc221af54076e2e9dc3e848e6e1a33df342c6940dced1ba4de5d980f533c2440dcc69d015cfef7a19eb7728c74deb578ce30e55cb5ed62aca2b94472a5315a0f0135c96bec0391b503199bf80e9aff63497febef5ce055eb777e7476f8b4b344ca751f3374666e125a043f1fa1bbc73e73047677b547438b9eb78eeccb7ee70357e634e57869eac20f6a20c6944fc254fc4e0d2906937b359e493ab3bfa3ba8bd808719a69cb35dc20a79d97e6f695c41db84bc13c92eefa9ffb9b941e8c3dc7009be4d3dd5a9c3c5796021e5790124b8fd92ea1caca7e4ee2421bbac4b792c7c22387f06486ad149a812f015d14230c08b48d40c765f203fa44ab912c73b2259eea58be3755c5c2046f626bcabfda8bfc03b61aa4465201bf0abd6aa2737cb816f9f30d71340b51b4d6dffe16ad228d3ccdb38692092bb5a8048747f2571764a2aeefa662a58372904aa35460abd4f583b49d9250ec39a3abbd7e3cc48343d2757feab5f480a18d1c7fbbf5682573d5fefd1a9d059b83e7a765c7d799835361bfcc8cf593d1b79f0e3bb7265183d6c5fec84db9e6d8ffa35e483a906471080c9086ffce73c33d9afe20b659d89f3feb1df4e840de5f68a7c99f6587097e705b0674c2db838d0795a51ee1991d1e4679fc938c5de8a0e31ff67d4247b5d99a9f1e7b202e9d5fdb24507542feb11f923f970a2d6fa59e723028bc66bac21199ba7984566e172c6745f0b3a91b001176dad715217ac5a3bbbb5fc42f59bd5fb84f39481b4455a6ce1888b419c13fc9a5c2e7d058743c77aae1caadb71d8a005843066904f055e9fb38d2f48a9bf8d27546d8fff18e89be315c657dd088270d00320efb220f04ab26035e17d897f2fa29c74534c174db792abc2562db8dd93c4cc86abca80e72e60c50c81508396f9b8a3f41e145a373ac6e2d8643b2ddbb761087886e19db7f02bd417430d8e87623d940af191f2fb7315b69ee392e4a073fc50d2975fdf3afb1a87d9b39897cfba1b5241db1667b6a57764b3355950e40831b06a9af4a502ed195d884c28aeb66a49da6dc7e915e26c934319259d467f4c0b20639beb53c9781ddfdbed931feb15ba88b1b53b4f845b3fd770e135db8029e497a23b8cfbe64faff62cbf0b0769fb778c56c331705f508815c6362550c4500ec24b7f50f9f49e796f358c02b01b64e9187e6ca162d381604e6e398aee24477807b10ca4e8cf8435c195f68d06367319edfe7ee8d4545a1d9d1a629e9bf260786e45b77804a72f9cf05cae139706bed9fe0f2b7bc6ccfee3c3e986af6c277895f6f91055006f5db00faeabc9255f90ade4fffdfde291d9f2ca842be6230ee677eab503df1ca6fd3eec76248f3dcd990aae0fb458b38c89e3976abe8ac881ef09856df60feb4d341ff4ad5f1bbc18b63506df160c60abf3266b7838b2b396881751b21d96af836244fbed06df8f49070b9bfd2a78b674aae3d5394c5fc5606872f5047ad06d3db24c8594ab1f488e0bf953ffec2a2e2aa180203d604019757c28285138323776b1d481cb97419bbde595ff0c81e944c1cfe27ea011ca35a3291a90f037f7f6322e426157bfe93127c9f9a7835b20c5ad1b772832c087ba59fae5b28a834911882c127ef06c6a67a60f74ba5067c7190bed682f7d093219dbedc622611303f529dbe85c2c132466bc37e064834bdfacc12f1cd72c6a2a8ec193bdc704269946d5c0f44c34c387f0690936067455e37f237fda508ac62bb80a7d0b641490486a8c069e80a0bc8f7ff001afb0fb26574d77d7e633829e83658ecdf86dbd26d9d15cfc7a29a9189871dd8658852f52cc5fe218dc202c5512a512b2566008f41e7befc0612368ee2f8dad3574704cc345425c1ab78df0dd96ec60dd351b73cc269b7e1dad8110bb1c0fbcca261572fe74f9f1dc60966be340c95d61add024859093c546fe71b16761440d6c2fc5f8b2148ead0395f52df537d65d8599602e11b9fa960ec50e139029c3304acce63d91284793e14ca2f185f31c561ea0ee7b23752565fa55138d2661734dab729c567a554969cff9900c26868f1f0dbc2e1fb2f94398df39b474dfe6b84c887a1420bf5717d9f3f51126cd09f51930db90a6b0c3c4262c42f3ec1683cecbf3976a25948440f048196b287a32feb2ff1aa1e7360558424b637d6a53137960924cb3d69117683e6953a7158c9b0c32680d2f6b0b769f69a92bda8b047efd04fe47636c3cf1138d805f76bf0677d485823050e2ed3ae2b5a2f4bca57293fb55d01ebda3b9f467af93f0ada743a00f991a05f4bf9581414d4161bfe0c64f9a70a314b7e8d741df5d55f410cf4b65f041caf3109c354efea02adc5b9b34d06dcd716ba2601116816a3416d816b2894b857bc866dc6822fe2db53234088f229edcfe323e74ffe436000a5b5309810992a4b8ea7f2f6f8666548507cbf5516e97c9d7d2043534ed2640810fef8440cb7ad96a691798a4edfd6c92822963280cb3d6e3be9e4da6e909e6a07028158092d2aca5035cf949b779c97292967ffd6f35de13b18b76513396137adce10dffd5a3fbe36ecbce981d2e81cdf13a31b8cb8a6f54418d8207a6cd606f71f37dbb7ae8be0e0f0c739f19572bf114073cb0c9d8a75b7ae1eb1b9a02b768198bfae73d23481247100aa7458041889104616ea9301bf71cb06728b8a0bb169156f51fb0d81f19e32e802edae2c579a11116a5f0b3529d67881210fef05dfc904d9855063680829fd511bbeaca7aab592487c47a9d3ee8c8f254793811e328377518fda49b762bc519ba21ec770128f88264bcc842dfb2e3ecb49e657664750380a26828adbc1fb893a3f1a5599047d523de9d238e2c9df927a20f837854a5695579f7715af8387e805d6aa3b644e44063104feeb7faaee5d511d83a242befa729dfd878fab4ad1e7e2c92fbd59b51770652471ddbd7a05c440a862a078dd5ae2e37a9485aca3ed5f15c1ee692f569cb20b0bf31eb28fe345f91e700e08fa024e8fbac989796eed3276d5424eac4bc7e8ece067364a46211ba5b2173e916bcc339c8586d332ea2bd2a4801bc249d07e333da2680e34fc3ee115dd2b33e49811c98f22e75f58e14dd489d579601893da6071398f6bc444d062c729e26da91f0b4c8f8215bec1727a1bc3ba661316955e0beeec0b3fa058c9d93c7aa6fff58ad8ae2479c57fdbc713ef89dcf62dd370b55dd75dedaaf499528adecf1d6319c58086aa2125c1dc1af2cb0bb6ed0a729369345dcbaeb16ebe6929446632d641aeba07f2d80a59d53f8558c3c19df957fc2dd3213120d35c87901f785b41837c475cc5ab7c6cd535d5462d8fd3a415cf7892869866104ee518e964fda0570c8101865845de4fc7b09fadb349b11b70b796d7d373d32628a2ed849462aead79f51801af6a167ab9c3e377bbcd01948037799b3f92045351df94792cbc96ad87fd53bc7b9e59b6064a4ea87becce34297502e98a8a5317552bb8b1f12c5b0b5d7c0b20cb00f323f76b06c37f86cb1993131ae6800d0186ce13c3822a88288870995ec35393cfdc7df94fac9e1b46deb01be27f471dad0eb43ab17fddeae6362e273ea9c4e24bb3faedba97a07595071091ba61fab1935327dff897464d22aa314638ad1513287e42e4f903193e97cfee817c02415f2039f0ede709a60f78f96470e6d9213104aa5d9e32eed0e42f99044f5c7c28f037f739e5534d75cb39a0ef2f28355c8075d4110d9c5c6b3090fa5b48e2dc46a0a3d784f0f98e73e1f268a77694cb9449633b37733bd21b5885a8e3284d2bbc75685e59002804e7f2a3335457e8cc9add058aa6c34b8c55d4c0535868649ad5ccb127130cf6c0c866ff651b57d5b35b45d3d85f10bab67b724fa06a73433a19b192ac2189b15eff987dd3fb4651c78689f9029cf1e672dfc183542d53c35441f38e2ad6020b6f6a08b45f3eca7f990e6dc4671a886ffd3049fab2539a58e3f8bd98e661c3ff17fc90c0de92c93ea0ea6e334b1f51142d7f3b80047adf45fc79c6f7e9127688b6b976822aa8e1e11778de9c13e14255d77c0e8e2d24411e36246e3b5d14663db0767de5b9bdc8451e7abd13e209f02038fa61593170de81a3a022c32e072051c55004b07fbdf9fa31b302ab44202b92f317bea76cab2a9afc6f742ae53c49133397e61820f0c9c4bb3f025a1172a94ba64f2720273910e567ec35b2f725ede8bfcce0ea22d84ef3f3630b1a1ce1a32420908d26f1bd52ff17174ca35acebc2e984567dbeb76ec846d8cd535a6a28b383a420bb097acca455f1c00a9a96744de4e676da5ef254c7a542c1428b77e72ebdccf0c02eba37c9c58955b3db0f0b21c26d870384b238c0a5f0f2888c702308d969b7b8f2bd2d3713087c292a4594f44faef08df07cc4e38e16214a1fc92384fd3211427dd549fbdb5f2e8d9c48d98923cb2b9e5cd2479fc7f6a851df9019481479ae998837fe28e620b7fe56bdbae47e2e93d80a3363875d061a6272719c86b5369dd286dd9be5abb8ef29b2967f7f7417c38ab172bd920dd2d7ebb3aaaa51fd43d821119b32be9120bfa96a0a3141c0aad36f626f111a3f6c412e1927e2c3ea486e99ba930cae251b87b604d274e7a13b295e7e1fdb856d59fd4467de160e99db6f65e4c35dcddf177da01c03310ed1289d945b3b4f658d8a5eff0c8b7f1d8542c3fc695adf7224377e4127b600841030e70c51865d226ea72457b6846e0a3b0b07c858eef21bd6a0853c2f12682d6b5f1dc672f65948eac9d4e079120dffd01f7a7fd3c763fb7fdf65c8e7dd20de9eb6bfd55bbe32b9a0755cf1fdfbd65744af4c25c36af0cc09cead37cf439d3b216bac2b0371567bced755a072563ed215c00cffadb4f69f5849eeb82eb2cde59ec6e0ae6e36e7293fd0f634e10d7f60cf1dd48c77c077e5a545042a521cdbc68fb3031bdfe2f24e16c83a6e253080d5d76d20186fd5cefdff7dc80609dff0e9d70a8f5a2520b215f49a7b9af0179d1fac07ff2696c2e5ad85e1b4b2256acbb5f8665cee664f04dc4f43f51841ce780cd831e2f1a2638ae43d6fb35be91accdfa96a6514e2749db77da3e885a8425c4223540f8513ddd01fe8a6264bedc4c39724cf7c2dc611044691a0c03824584c2c3b10da090afbfd729c6f28222d4771767a33c899222340345e8cc68d000111f105c6028a48297a3cc2bfaa0e6a7dbe2b00dd1cbb563a7e2fb17e48b26a785cae6895095198c73366a38d8d67d4b40a8222c55786135fce694a831aa7a1a48673ff9afc9a091340fa532a9e0b709af5374e981da66088a909bf917e0f019fd5bd8dc42588606de15267af25ece7823133b4b9e52a0b1d6898c63ef8494874bbec424080402e1cbbcb6ca7dad1761a7419b7c4476435f27dc86114171d585b1ada1b5d156f481c8ab13b011bf877ff5350d2e4912fc92f8b06b66658fc7005fc5a775d006dafcad41f6407695d1cbc190c28f6a2697fa63b081311df20fc268530d3590331cf9e682d3eaf845bde32fa6bc988042f1b7b92745199a56ad4c1f1e8a5d75058d240649c4422c4094f8fddb9151ae9376bc350d830bed31262125fed8d71bd5600e81df21e1e98b8000492658ec53555cc56fa6437d5363aef1d124d81f1e898ab826c9e3ad9e76b9e097429e01af719b31a95b73100b9cd5688d45742224bf22b11d63bde3db738e2022c0c36fa24da450b8e033534f04b0e869cdfe8e6f1ada75a5629fb4974f791665729cca974b57d61d21a164f0052e7d745e24fbdfb83f6c9cfb1b5023f0dffd1ae03083323ae57445bb681f357480db391027a94a2a81b3a0ef2f8c14fd71bba4f0b3ad09f3814559b14c958e11bb00e1afab0d8696b4cc9c4f96a672510f9c9639001b5fd95785c6afd3dfcf7dea755e9ae9744e012b7f900699f16764712c32a6fa1e38cc9b17f58aa6e57497a33bfd3c2f534d3864f1e5f4e2f4475c29e5aed4b5b08806adc002e6c65780b6410750e5376d5908c353385604b477ab6a8e0a8b9337ae50b99ea7e67f3666f95bab1d6a03dc1ab435f0b9a5a9b63c02bbc60eb19ac8cfb757cd2c7de9afb882c5a22a37792ef0edc744cdb2dbb697f2b7736c9cc9d8ca6007e7e311defce4caa4f8116a1f5e5bd8f15fdf5508c77266137038dbfcd3698509e4615fff14e87774bb7a759081da75c59b8f479a508b9457a312863065c38173cdc893c2de4de32e7546f1d71411b707f52f8caa30f3231bd9d36fc6231ffb71ee1bd13b0958724a35efe48824a18da7b0449d34dc21c6832c434c33830bf813d0fc8d2347ac120e50d065f0832a8622807b95bfb73277461adfc2b3954560742a52fac534fe8efcbd30a6891212a6093c0514f54398f2d011ccdc78199d457532496a0e8fa6d368317497f2be3f56cebf2f92b93052af645a5a2c4e9cf44e14ce43277e3b67fba06356636d5908c3be46a16122d8e4b72200d03668268591754b86860902665e319ecc03c82483b2849a5d74f045939f47c8008c3cdf5a801d0e74949684fc1a70c85ff5fe1fd38c1d0ee15d3aa1cffe0f6ee837393e51d41e18cfba6a947f311f772e098abe9642df02e96afd9ec4695f65276b99ef3ea3bb2e2e4c788ba7ca9d8d908423b417c8af2473ee34de1c9fdae3bba079be622eec7523eaf7a9d894fa76883ff86d8258055014c7dc431bc671b08dff6afd8951bdf74c49cc6fcb9ca6661e044f24925b29237c2b9fcd8481bfadf3d23953deefb32b3a8f156ea05f183d680f14a4ad32a92855bd40766fc783916e049589ecda872d0ba2b5aaaad3909e95703eacfbc7d6fc44b705b985b3a65346ec4e7703295ada62c3272dbe5a35180a1a5e2e88c8ebb8a862080c9c8a9ec2b1a932dea9b44ec0350c90da987e4d84c7c80c177235cf4597901578004ca1170fa2f4f983cd7561a275c7f6cd651a29fd19a27f1013ab40183b4c8c07f0b71a7f7e448fbeb4e9bd5098c347539f4b828be3d40d8abe695753c262f851b599d54ae03d21247dfdb976bd2254264ad69ed3ffd2adbecf13d508aed21789445fe942bdd5aec3a9152798e218c0fb0ceea2fe916d913c4285f3708b49a3c1e87d3af23a46b53cfaaf19565a87bb072a6a544c077f55c4e2ddee107582d62acc94512941576ad061037d86a638ccafa1c483abbd4985e971fc523f2f44e04e7e13c6127535072ddaa0a7b523bcd688362aa50b10da6732041e04de0281d3b51ef29126c008492f9d7a927057d7d6c3a7e0aecc06ca5ed9493b4690b0123b74684d46c28dffa06ab4341742506f5df1a6066d755ba6a3c244e9a1f714ff6fd25ebd7fa1f59070b4e3890adcbd3adb25d3cfa9cf853df48c16e44544002e6a33f45b4364af4b7a4117cfdf5d23806f15c717ce3dda328d86827fa7ff94d25c11fc6c951943f7cc33fd5565e4053b00989f64921a3795ae7362be62391d5cb5e4efb7e4eede6c07e85d2dd8a9043dc847c180bb734050c8737a54794b14c420220601b9a26f2e1e699f5b93150eae35355ba5791f2720fb500be46d514494ffef782f9022b866b23c14010ccb32adf41ef30b7ff60423c6ac960a2ff0fb2f0d729e675692f531767e0f7702586f876946beab666607bf8e38277b0e09e54408cf8931ca6cc5be959df08638f7803b1b602522f638c478b69c27eb572ed6f1d46b8328add7f7d3078533eb4e6ee88b2567c7ebe1e7f2972d9bdf43126932089dd6fc1d1f0b1f95d774bfa7ce63e221da5db21df1dc5e142276a754ab97035a7ae644a48446da4b8010180513e491bf0be8684b19784df7a12a3a927853ca6e4bca85b4635301531f606282b6a81c158a9138a0e7ae39f540ddcd7dc5aa9935be4ab13dd912055b1fdeda75d69db7a7fbce9b0080b309743cc079fbf5bdb494e9125dae7f452c09b1d95447cfc7914e9e7deae1aafb1e14ffb3c5afd1df5e1007f43b38086b058feec79709ba2bfab09299db38ac48735d695828d8a2b3d7f8c0005e9f8b68e79a2bb8407de1c8d2fcdd2223efc604538bfb249fec26ac8d506992f36722f0f0ba10618d85379ee07e6c28f1ac0b022b7efdbff9cf8ac9de3e0ffd37ebff2669169885fd7c330820f5f7d08c0530c0bf92399ec9856ffcbfe679270c05e1c5b31279312645fc8bae4c5acce8262909e091f34c046b4356fe722705edbb8015cbcda88bb4568958b4c189fcd3fe4df627b99aca3680a3e728c8d626386d796209490b7454487f6703e1edc5944178832130737dbbe136427fe7e12d7c60044355f258e6b79372fd1acd13d02d4935c444964b7185388805089d9808f88e14aa2fd43c43dbce11d00ed1c99e08fb57b7ebd5e0d5d2bffde805ac8bc16cbe8415833830979ecada038d38076b5829c24c6416569464e823887bc0443c2857310fd7f8753739cf02cdd4648da85e46a700b9afbd0c286ed972318dedf88fff7bf5dad02008681b34957fd7f3de22689fce2822e7df8d6b56c228de596c6a4b6e4edf2778d760e16ee2071889be2ba4a63000cf9f267998348a31a9ca6c586d03880e98e26eb19842b6addcc8a9a39d5757f0c7cbfdbf7e096b37af529bbee18c467f1dfb3e901e6b24796045b3eb1d5df0f6cea60330bd235090eddd9749e6d165c609750b20d95ef8347dff64c78780f3a77f1c9bbe07aa0e82018140201008ec0785bc803da3ca5ba2e0772262106e9622a271543873f84e5ddad3951ed18eeea91e1c40e6b51e69240176a56dfb6d7faf3a95f6f595491f88ba32c499f4d6df8123334b8b9ccaa376d35b4860b53291b396c76ce7b31115e41a10a612162f9e55f13e5d13d5a2ebd98333687dc230e8b1f2af360aa59a6e6dfa1e4cb2a52d966765a9210e400f36127121332adfb358f0f00972d0de92a60994b878215c635fe4b42f0b7a00d4fb4e8df2b4d06b9f09230c593fa45c605db2c88aadba636e57506f2d036054c81965b682f0dce93256c1738ea1e7f5aed27148f899d3139e779809e19fc5a008cef1226803afed0e8aab031551a95d21810165b2df4a94950eef1f3f160df827b18ecbffab232ba9fca8e0e87343dfe7341372754a7eccb429f2df8257762e309c8b8d0927f24f84252203b864c13600d3c3d59c3d214d3fb736f30edbb063b51a5271846c91d1d30155c74a72ed0f571048cd8222a19a30a807f036ab0a8d59b6a54b06bb9131cdd7817adfc96c3a72a9716a843c005826775df8e5d0fab7f8ead095dde10336aed8b7bdaa5dfba4a490ce1ea123574f20fcceeaf5ddb48208754c90db8b7c885d7ad4dbedcbafdf18d6b85b0582f4aa353d68362018100804028140b950c8736654790b634c2ee40514035cf781a291dbae72083c905ee9450db82256537c372c6aec223db5aa23ca1dd142104120d0521de021303070dabafde917cdcbd3d15a47b184e0d3c6b7d96b42e4ffcd46b86d87193bc2fe0066f5e0d5f77177c2fba7bbbd3f84ab81857efe75d235efaec2b48b8d259391a1e24f6f5d02db8d589749db1c72307ca31b6af97f2ccd213ffa1308bf606b2efa60638e21a5240c1c3d74aa210ed04e80d1278144ceed29925f3c92128b182a25a3311efdfbf4f651ee90e17279017073ff6e4f7ef426bc9988de7172fea3ccb92d5ffb3361da4641992a4bfb5138998e2e47db774d4231ad8b66a05822756d265034627c44ce9ee30eeddf758aaade15888829971f29afa8e8f9dd4650972c31bc2a5ca46e399fdf41e694fc108cd81bc4f069dbf806bafa26b898271cf9448d6f1955915e8c0d17bf5291ab00564575dc5301dbedb2dfd6b440610c4ce7ca64096d25585a796d826aaaeaf90c5cecdf067001b2e5094e5ba15842d2035d885f00590611b735a10cf63b86cbcb3b135a2480ec19866a3f73538c637f5002563e2f4ee9bf01df3f01f51a443f0ea0dc05ff877d4aa3dd6ba4c1491f70c30f205e2f59290221ba73f49a0ae8b22701b8f72f267effc90d759dde69fea211c9ffc1c262d4a8c46eb82f0d0ea452a8d1cf9ddf36800790d193701a55c91292fee90d10c7a3457403e35089a3159e0047a8197319371d618cd1b6a2f652438b4563a6a10b6cfdec9d03639696f427f033f1c63d6a5e763c18439f8e60e3a4bd9b068df4ae2001741255744f30a273b85a0d7d871dd9d5a9ac441a1097cffdbb0d60cbb27668f3fe2379eefe517e1d25cd7a2f4d7914345e965a28e16c001f20b3e1e1344b9e25242dd4bf7797415405fd288303f2e0f23de38416d50d2e83a1dac3e661d4bd0aa4e47de095f8cf5b4178ebe8788bacd868b75c4dfd4d494768290c4bef12571617342031daa26a141a32b88f44a02b8305f0d8c65273337fdb70e6ebe1f4de66a92d6727058b0a36e2ded0772b0affa54fbbe68c1547d4b78882f39093e482d382621f123e7923aacad72cf1eae56f954204f58410964e8749d988d07566cd4adca04e16338e8766429579543bc33240ccfa8ff0a6ad2ab544339a686164e0375218c727a30a9deb0d18b5f0f1d916a4319bda00014076b6c369c73b4b48da67804508b6a6e8e14b734b9d3421bdc007eb2d3c05e2debabb7138394e83adf55567c260ad60e8f4926fc592c88ec5fe8c1e8a245e63d1e571196760e8dba42e36838d08dc8d306018fd9e6c3a4a97d1579150ed7c64fb6251e8f97618090494aa7f96a777b11f60a2afb1e52cab19bfe7ec8e8feed1c2e56304f109ca89c3060801b27a124eab2a5942d23e43743808de67e61f6b3b3f1314ad0ebf931d0802e3b58e4471d286f7bd318297a0a16b3ccdaf5b12e52523fbc9ae87bad2693ca2a86a82ee5792a5f2def5a0a358394ccb2f5c729234b041b994e46f930ae2c8135810963e05acce2f2dd7c6ff3ef646ceeef3f37c4a783ffdab4d7978c3cea548e571936b395f66e5bab1f5eee1364004907946719a7fd412921e1aa50b96c4a11c2b85d7e1fad2c361ed79b90b4327d9dde397d7f0f9262e4c7c7275192925edd36510e44f743d612ce0f92ee43134465b09364cea2be8cec94582d848dc0f617e4456820074db4aefef26342655cd444dcf5103cd3a701762b4136a23aaa7997fdc85a971900bc1c983604c237627957db4a8e0722717c1d14989e76008efd8e2330b1c648884245e43deb5a81edea727a2f4516c3d0ebb44572c42c699c9cf761d8cfc6d00aad56910e568f2ef44cd2e3cd6fb69e17a5ebe6d6f200ee9b15a5eb93b895450cbc0779560d41790cb1df3d5113f108645acb745a448d6d5ff63e9312390aee6345ae0c50620c67f05b9f941b0278272cd6f1714df1a8f3c9da4dcee45db423e0719b1fdf0570fea83e17034e8674ff95f5b68d6db174bb2a9c2102fcf4b372c06733cdc3f420f3d638a6c99a3454af101622d51a7987f7ee6ada3faaca3bf12647e950f7e9afe0d9387ff2cd3fc3f15d710b9f02657bcc0eb0f4b9db647fe99bb02e4df9cc6c313fd574c05817ae04ecd928f6ec17c144ef9e480e361e965e9ed6fe9f1df5a830339747a1277183c32d6908c83740e33b28ad875eeef9213a20b53de04faef44854afaa8cd920f918c828eb5cc3e62fcf19325f3259b8f1f263512d1b5bc2e247847918ad115011ad18fcc86149bfd1de0d152368b980adbd5cd99eb05ba365c105b196e9202332c1ea3365bf74db04302f1748f4fa515125699455d8005b17ad60889b59b4a502d2b507dea824110f82dbec5e2ff958165176a6b321fde41540a1aee1514e21996446f451d1303446e9532d7ffade4be00cae15d7b21a839111b358bfd0c84f471875b7f535b3c0beb702ec9298e38c707c13d5fd9000940b6b7c469db4b4b48fa679c3eea59c27d15543c569ba394298a41ac131e63a4affe57953c5913217e1610c6ae80a1b244f83d49cb5d5512cbca3ec18327fcf807eb4408c9502cb0fed74f055bbde11bce7f667e28838a23f63ccdd4d8eb7a92a6ca783c02e2ed2210d49c316f6e2e7fba553fdab6dbde409a6504750a399d739c06712467986a65d00648615a539680f843d0f2e1bb4961fd16af92d2efc3b244b9586a02f027ede709a6d09575460253ff15b74b91c4ec0c5b22398df6e2ec6f7804359383f73c0a5c06b32485732bdf07f6ce965c7e124af4c58a3f491a3e1571eccaaacf998522261cd99ab501ee8936f34d35d50d65a5838c574724e99453a52fcb1c3d89ad346c84821515a83d10eea61028af300d176c9aa19a030f24138e525d2ad1c6c05629a5ac3c641d64ae941c851ea6a7e8732922f8328a6df82416e28086dbb33ae70eaffd38117ca38f8b7e63dd110fe5819cb5c97498255d2234ff73803d2ade910fa19ba9736391228417f9155e08d7803600af0935eca6a54329d80b01dd6eaf00e7d90fb26ce71158b472f21beef032e592ec667b8e1fbb2f245489568a7313044eeaac9c062dc0541e236298ff88c5f92f52b025c2cc33f9bded8dd190649b37caee3d091d1045aa0be8fa5a0c34a0df0e4529ff2b425df56d3eb5edfb3750157df3228c55d53ba713e2d892bb290eed2f78165aa1bdc4b05adf9e6f834592fadda1edb66b3aef02b6ef3589d2a923249f54b72c88cc40ef183040eb301fb4bdf3299de4d11778e650f84cbe3531a0183fcfd93958881ff45fa107c20e820181402010681866446e23606a4e0bd32200e76d891661661e74222cb1ddaa4d9eb985435017263dcb4b3f7d8e42523634a96416d09f4ccaf20dc6c1dea104e503ebbcc92ede1df78f2a9b41f27bad164ff53bdaa5321a68eae845df274b185b00f6fe4ca76fc473ee82d593f063f79c4d8192f33530b9c3a91af13322d70372dde0eb5f5f480e2771be2ecf42dba761114db5adca6f9ea8f40037dae9574774f9f86fe4f1aff0025918572673ad102258c0b5359d8fbca4d1f583b0293f24e0aa2fd1361b5b799a17b3bce1db54902388a907a2a54971a0a9ebfcc83b346cdb89b870611327a15bec19f2dbe3a76b8df04102dae7a93abc1f436343531e9d2ff28f3e684a2ae2c92ae86bd8e6667a58dfb15fefe75e615e074aa3ae947b40afb793f87c3d6e71bf42ad9c25e6c682bee3a37f25e6b3caefbd0b4dab0f4f1e71685ea11ab9d10c548b2cd3133933c5f44c8fe83e89de08b8002d6a6ed9fe5f7bbff037997db0e5e33fe8ebec2cc81a31b05ec4fb5c8c3b293dd0f97ed4756e52e93c4e114018f6173843f18c1922d743f2f51ee3f5741ae023789dcc6c80b604a1350c715dfcec49d7884db9f5a5cbed1d0e5ba8815f7c0c88a9bdd07bae7c022fe8b33b47571122ecfaef6f149e616f8805ec393f497f461112576c952a33cace8dd95633034c12c6460acc0fab27b94643013436d986cb2471b616e725784edd4f50c9b0e73fea9e122197945879461765aeb30bb15aab7b982d5656278b855860e61d892bbc048ba45ee7a2c8e68e6e8a8d4f9c482d48b8025e42bbfe58987f021040ccc4fe5eeaefc3c6fcc533b2d924a8dbc12b924de84657ed24eeece98b2d2278f344e7c4e40ad6ef87f796117d7aaba1716c45cdcc29e61642f4ce89f0104d4d3df635a5c3020be6c1b0959700ed978fc302573fb1f048305f1423f877f493be032e9367dbd596d7b6829ad379389120b91000951bbb6c62ab4d17349c5a7a0ef02b0bef65a1a8d909dea38255fc04b323b9dd9d02eac0bc3028b20c7299f59633eb0ef2c7c75ea53c04066014212e02f25f5dbfc1752989b9423df4cde2046bfb9c9b252ef2bd4c59aa5d0177ee27bfb87fadcb2d6a6cd979ccb5d81a94553c290861aca8207d55a90ac56f3db0c520181068c99b6a42a2d130c2dfbde520a46c3efee1d3b212a15a4dc683dd7d8f43d980f643fde160d947473adf7333a8860840f800e5e091f33f2acb358fea8bd86ac701d1b57b4fde8e3e8fdadfb958de3f85801c7458ac8afb8225189ee68283768196a2311700f3f127832d356087672af6b1983fe03ab8aa7234ccd72c04ccdb93180b326015282d972f1d0c56c5a4d868a9565f2ee2df3572f44b5d8a8fdbfdf4efc277dfed46699df694079f0a1729611d9fc8dfb449d5bb7bcf34f81ef377753607b4c8cbb2a3f95558f5e4b60c6f11c0d6ff0ff0e795c22fec28867c7d903970123431c0472095f3212821c940a862ea4e331800afe90602d30d1cbdd5f9002f30f673ec079e292914a41efc3f7cb76a64b92f16cce096e924bbbfbf8f13ef633102708fc33a635317b72ca85f8545869db56ed0fa5b28e2dc86ff2457fe5ffe4cda13cf910b6c2fd3cc225ff4da1aff7c6b45000cfffb6d7d7398e03223401998448a5b1ef0772fd5256ec84a097114ea7aa8b8e8dce6ccc25b3c27cc82e8ce7b64e5f3ed857305e4bafaf1e0b7112a6d6d0e6d9dd87fad9ff270910b30216b72bb165e8e0a2b11dd31e31b3320304826b92862c8237fcae7682dd45c14de58b2e1d3ae80a10153338213aa7e30c6c521cf92158a7b9b30a5f81ceb8ff3f88244406614895da6ff8f674c8a7f43f5cb85d417d6a5a57fe32091137381ab5d7dfe76ae7b15385983f03941b84dc6f807d81e43d4a03d2e67b1958888f160669b2af8eb0cfe018141d358855499816c2662d894d7256a075a66d0405aa31ae924b6d85e2632f21220fa7d5d2e2d2ab59d1a74db26addb5016a1deec00c6e8b3e96956b545633223ec817dbd44cf048bee69371d3962ce1c94dbedaa172f1c9930a8df667f68c929bd43cbf07e1163bf5b04b67352583f9d91fb2dd93670b5c81b53a8b7fef472d119ae4360a0211d03352a9bde7ca212b91fbfb46c8657f6cb9e21e3113e7a7e868fb31c0d3ba0bcbbb0a4e7abaab0f987eb15ecb3e39aa29a9a264c9aa110d76ce84b75a9138d55209ad017886a4f3061611df45875b32d27dc58821181539d78ea8a83235b1f1a5d9ff43fdba771c9bac014cdca5662900060454e40279ef833bf2df096db3ceb34801744c895a5114f3ce50f85802459d8dc07e7119402c32991dae6e217597979fd332b5e8a257b83743534a8191b2d44a42b90f85e2b685dda74c27224e36e0a2a9509e46a4e2b7fed1b7f4b44502721fdb020ffc4ac0db1a2458b54f659b9e11a8cca8f565021e2096633c6670bd540d6fa2f3f0021e1b2234a573ae6db775d4d497a87500ba6af573f3eb8aedafe3b6821cea1a7a012b273f3aaba3e28c23048a3a9c62cf4ea11cc309b95c9005b08d6c205b028c8dd64540ad6ce78b7182e3a8855a9ddc138fb799c6730bd458d3770ee1706b12420c5f73fe6e7d39546d8e924adfb5e5ad7738fca9b756fefaf394c5948e57ef4fca93007c2d7af4ed7c1eb7e7c93c4dcd2abf129ae35579b93395abfe9fd95473b81f0ba1cd3afc4ea792c282dd3ee5e2d0217218c3802c89f45588dec1b5c478616343d9c0ee68f07ae9028e989ae527e3e37e4ccc0b0bf0d9190d4fd8f7a03f13eb72716f246f3155352d492c8c51c06a04b037bb69562eb9520fcb338eb06b9f8a5237c84d63aa6da3128b5ad56edd902ecf8c5b222687d0efddc11c7b7e95c758dc43373ecf71afffd4602f704db9378ccd140fe8388f4966171e26d96b1926f0afe54b21581f74b5dbee56591044298089580d962ec8abcda14e08ad4c4598ec515d59eb59270cc076ae88193687611dcf2813d31305c762391ee81d14ff1a1d357f3396cdfb0f97ee8109a01d5a94558ceb495da6c8fd8f050029a82414d7c280509d410073096af43fd348650f6190517ea94fc64859fa5bac9c621b93f414175438329dc80864465afe273c3bfe096155f32f7b1af9771fc58393ef32386a3a7e912855dbce0dd847330110d4244d79666c855fb6cf4311ed76a32836a62ca7d691e0ae1a5f25859f9ca957ff848287e2e3812e072201946d7230953b0b4758c5eacc8d661a903b253dadb12efeb7a5362f645dfc8bebaff8dbed58cf0b8584bb24e48a6680e3e029b6763036400198f029f712a2c22a9ff86dbc5f7f1caad24f1cf986dcd6f12fba854008f7be22f5ca4bffd921007d04e3ac1f7ba221a2a48ca4047e973cef6c4f34f5609077bc441ef364f92266300866511c1dd043d3edc315d78f7beebccf3ffdaf7e4effc4317e207a3a9be6eca98be95d5fa9e4d51bf2f9fa05b05516aa579f80fd9e087a62894bab9bfc691c915eb30eed44fb0cb9ec878b6819bb029fa2b44fd5c2de83af6328dbefeeaba827afcd92d7c627cf44fc1202bfc45a03fca21f73a0011b5f2407a796c77c2c86ae710acfe4a40ffc90d96368f9c96a29ec973752cf99baf01271dc7dc62f8e2e49cf0174e73edd4a74bbf4b055c9a921558422f1b0bb6bfbc07e30db4780c449dca1f776b5ccafd2afc215195c218b27c365ae10173b7c0e42fd44c1fd16e6ccfaa00c809e747f83c688a5ec7812315427d04735ce7c855653bf159dbd7782c901f5ec00db872f68c189f0467af96cc44f0500480ccd352ede87b187c70b13ca506718dbe958f49cf2b94beb94dc4b98d2ab8ce0198e5bea288712e09c6d6ac175bf02905afbb62d04d59fecba06862b609ea43510693a04979d5c0ef62f55bac2ecf0bb39b6e4ba46d85510f4c943fd72059157071a4ea24cacbe5b28f88e0cb28b6413329be54708db576c6d18137f6eac4b8833710bd2d6e80379cb14d92c11e69a375fc0dc81cd2f490887345411bc229b1343ed7760d486a146a05e7bb55fbe0d00df8c9f5c087b5a44af8360b52a072035908e764d3cb59e07f42aaf27f08c555fd9d1af1fa669e7972813e3263f53f9944175f4344b68ea1a3bb9ee70fc0ef51336f2efe68e11d3970c2a8972b5aca8be24c4b8f34f623c8cc6f53e10ac37d48b85e28e405ae231c2d859bf984171b3d5165cefeedd0fed6e0e46d993d02613497c40d7dabd947440f9c82a4ae6db3801aef45db83983b3732e49b0732e28ec5fe9e7b63e5d0f50f28b480c4ae2541450ace3a90cf280a8c05ba128ed63a46b036bc1b1186621dd7210722c3088a45edc1f45324c490db780f2c5d37c742d1f0f6fe318771746a25a1b631b11409a98154b85ab34d0bdf6b19b93b94419c55abe4d0021ad83dc88fa41c3850181c39fd9fa2ca79e016378acb8d99a716158d9861f4be4b217f048b43ec72f9b862922a55bcd9bdb0289959326df8c4f287c0806124368c367e8cb1ba6aee8b4a49c3456343f1c9b6666264c7278802d52f6c1a4092cb788f854e6573c55299f63f7bbab4e5a6c752b468a504bbf767cfe7b5abca27d899883f7361bf5dfe02dbfb04b5d4790ab81e32b9ef074d80d5117d621ce261db032b5bef82fd289cc439155c6b0d6a4164cdf183bfe306624c0d90121fd7a7f9e2264980d72a0c43cf1d206225b2a9e0821f870d776116075a585a5c0047fd6cb00d08ccd7249184e473aebfae82b64b73d1718b7611471dfde05e1ac6349047f63e5ef6b0a404ed23fb171d6c08fa9135bac5804c65576c040d45001878ea3cecebf13435d9ea2e5f3b0ef3ed3a62a93dc3bf7a2d0dc9feaf6735c50094cad9a36e26b02dbadddbfc168910c6bff2b16d30710f9afe12a73464853fbd139e39c7880837f0104193b522d6f16fb3020f301f8583b706d27c416fad547d38a774c7a943d6514a57e6990a9a8af54061c5e9ed030444e04ffb751cf2be45fddbe6ef7a4963e51923581dba758b7f3eb4c0507c8fc6d40253eb38fa7c07080dbcd6c220db6794fa4abca245668f3124e89e877c170e873da81e81041fe6bca6bcdabcec028d4c53962ae9d7a74a320c063a323cd3187109b40fb7ca34e319135720053dd8665893aa2153a64b2cf747a6a7d00b3c46010b47821b3fdf6013ff7e8e14648776fc5e150b20f30b3513e461b9cb580bb123db14b67f7d6c110e0e28c8d3e79645e0ab1bab0424fe6a132fe8287b15e4771852ee2b5567e90d4f7c08bf4d9009f047a11f8ca4f480c7413020100884c7854121cf4171bdf3fbb3eae95f7c258a4648f6c8c190f4e701615afdc6fe9c0c557d67d8e96e4d5a8c6ff9d2cf360e02c5ec386bc90d81017a6ee85bd593b041e69b8cc89b0426d2a6f68d4d59f5494e5b6a479ff6037c12104aad71e55a2531f6a9252e5f8dd36d2a7898e559ecef9da83ba257ff11c4565cf893ee320322df658ca7eb1cefb0261c38f29fe9d00f956a0aa3efdab1baffa610d1e7b7ff59a3a0b83fce01d24812eedf1b96379d40431140300f61cbf2afdfdb44f9ee3e931a620dd8489e6262bf7abf2826e3b6311f1753027c63f0239fb6318413dc4abec2d13e53a29390d856f255a7d9f52d7e5cf2d10c4541213d30f787936ba08be87da8c0cf90a29a7499b80281aa314c1d716eee87c040386c76d9cc57fac4c8519e92a8e4e129f558eb0339bf38691adaf105230b9b76c022c9867b3eb5cbdb7cb1ce4fba158f162e499cf41fd8946c056bfa80b07138e3904df623a49a05c5e8c7682d34391a9ef28545f34e26a4e52de807d1f50f64966865c40c085d4a62080cf45d1999187ec9cf9440b494e53f80084129a7f677e7fa8614e0fd14f68ff5e601bf6c465b8adb3111b6fb41f70e15e5489dd2ee51395656864eb5924ab3db9f4ee44d8fdfba5110abf26ce1a037fe9d4dfd790296c9d09c3b073dda9240d8cf992d7d550c810169899145ebcea68def10a5a52645a9c56a7185df2cf305fc63cdc1a1f7bd925f015fd14593e67d3e265b9a4bd8ad7631ba5384de9b32bc85f7eb005fb68f0fbe3b84ecb80b673d0c18bd1c4e96730b423fecc0623c32af6526949a969dc993260323af5edd41dd6411f97742809342f2f559121f27e6542aa5f6e3917fe72036f524f1ceebe7192c549b882abb6e3f10f4d92b1a96b7657023bbf4228b4d24f4f82dd5955b173d8c48840edf868c2f01b1f3a752da04684482dd2fcb113857e358835263a5406e5f4f60b1edbb50f48d6f7ea44cd4eded13a9711ec0c3d3c752ca5dfa52b9804caadf26f1da421b3d0bfa50ffabd79427023268f0e988ad91da40538b2a58040cea6709d10639d9fb93c442536beb5b8dfb736608ee0f55f39fa5ef92147d0fef96d4853340e0351e03a689d2f2717e1491f2ee4f7a4951bfe8c915db1f1718b90504f0e3703d30bbcd08059b95d1150eeb49fbc1febf987c06021f8585e59b00f1e454cced53c29d49438bc5cf25f1ddd2f2ff9b6a9ba455a2ad9800ee4ffb798c7a9615e02a3640d9ef65fe635c5fb724be89dea02df6cd5a30658eadbb219b22148044c92dcbc7c8e5df578a321fdb70fce2905146ef078422d6ea3704bf90173f4333c3a629dc004dbe0dcd1f8d6bc7b77bf268bf704230b82887ebb5c24f408931e815b5f904e188e7ffabb348e6c8c49bc64f3e082316d57691eb5a8e108ddd20838b80ddf53fc7c9378968f5cc9f8881e6ef122af7aced3cc7e4724c69ce8ac3b9114b3d60bc395fcbc6580a1e0dd38b19679c2007bb995802813669476c405f3e089746ddf1c52d37a2bb9c93be44c55a3db2ba3275b80aecc6dd1397a9bcd9a294f8aef7d133143ad56dfa248bfc93e7e7ce2162e574e4aa7ca1109a44321f24c4786de5f0318b6ed5b76a3827f7c622295b743a1a82a108c0275b9afbac4db4bb329cda90607100d53e01f140f9738545916f5995c0df351fc0970805603145f8ac9fefd3bf2316c87cd9df29489bd4959d9298fc29b24c6ab5071c02820181371060a7943d2dca3e07ff1f8859ceed5262fb8cff9ff2e94460f6de803b04275211caa10f6e2ce67b96655ccf7cc439d318c35c04495af8dbafd638edd2e9599a9913c25ec0ecca2028879458afb04ed58cbacba4ac4b56aef7a141aca8c893205a6096a68329ced26dd22c30f4277dcf870e8bb407dbee8b1755a4f632f4e4edb5c82cffe51eb7ec6e1a9d9ac71cb03300fc242e65678a2f6ed197a2727faa39fe8b8525471c96914908521d17b368ecd13018e0c9b7d900b9a66c20c598712ade6c09490b73500658560ac70c466283cbc341131a96f51213868ed7ad5ba2b099d05b1abfde38344cd0e69fda901014175d6e000cf7a70e88f256f43f6d5ef2d623f438b005a6c50a1d1097c7261b6302f63ff3e71382d62857759a50155b936a3768af69aeb8c8ad6ca89a8f37af94742917a895e306f67ef7310dd1f81b777e1274e1404832ce9b351174fc4c2a628ebfebdf2679238d2234348f4d754940b0b07667aa68fd5d80ca6b787fad274613daa272fe3ac1a7a2cd88735e00394a8b56f61b1be48fe80b6c06041ea55c6de274ebf10239eeb5ebfe287b6cc15e03cc076497c4a552382b45fb64efa1b58cf9e886b4d8e865c4e8a1c589959fa9275cf83b7e518505aabde78799c1e8d2be84e3471fb8d8ced5782e10633003a494d6f1d6ff24df8e78e30d67bb5c24f64c7dc08ae905a1f94fdcf80819583873a527f4d92de2beb9d308e442393271bb037f982935a4e82a84b973bc50e7027fa0c62bdea4a459a8a1472ae3e2c7b31b0ec19a329a281732e49a59a644ebf1ce15bd380164ed997dc64f16fc1b707c0c0714ae423458efbb051f5ca2c1aada9efa1db4a0115413d362be2d6adc1e28e99d3b608385c78b06ebbbe8fd33a536451ae16976e32d2a4f36566429410335b4da12699ec33e47fc73d5f9937f7f16c437e0282d94c1b1fce6d2670e16110c03854580c03730889fa58e1f7f3f083f7e32d60fdd8f9fe3da70f1739afdebb8bf284ef0b05b9f1c72fba4b7ac4d0994203a7940b00ff843d8d4fff800c35c42d76b7eb9caf034f5c484dc893952bdb41360d840b97c12898af0ff5e6683d38a437b54109925d4c3fbb69db95b89cd07fe7dc738f3d5fee803248536fa9d60ae11b732a4a832f1285ca4f18dfc7ea722c9faf79cf2708a8637acffe9bbbab9e8c64d679f2ca7616b4ba9566c53002398c32f798412040281f0653e1c8f21ead8752ce794c15063978ca293d0ebf8047cc0f065b67ee33183a14e948df13566e86604761a28f58cc7dbdfcbd9a0dbee7dfd89e8af24bf5dbfb399a9b75c7013a036043ee772ed22d61bf8fc83ac95c0beb8d6571d3af0656af88b0f7ec5d239817365dfd3b7f982feef914a7bdeeefe3a8ecd5d36f9c805e2c3d1391856e24ac3cd85f2452b57d2c76a51ff5d76b6c60de43bd513bfa26725a093bb1fc57500bc30e69194954c6ed05876c0613cb024a42b4599c01b2e6bec979c9daabb8c570fc4140403028140a08133550d4f014635bba69a924d19604a1b2c8ef6f4e12bed148f43e2203a5de2d40556ce1da3a993ebcd1b0203927edb8f44c2145dd59dfb9c7c8271ee89ac66ffb84760b87fd1613dfbf5dbb400dab0050d82312b169984903a3776c7e156b5ab59ea05c74f7c46d244c5ba435f853f66a6d4a1821a228038e29933d21a6d3ebd6336b2f3c41162ee68cc214497d78b484674ef163ab973807066c77325ade7e945fea21ed9cfd59e92a92bf853cb22f94ec790e0c9982831989e826d513593cecb7f479ec3dc8fef44cae389acd63f1e607f38c0e6d167f977d8bbf0d058cc7e1436adb7022e3eeb9611aad3bd8952f4d13f0682b8694b95beb065c349d4429ed7926c6e7c7b203a20181008040281c0dc50c80b982daabc4528220601f9cf503426cc738e7758134ee6587117e147dd603cdc12b168fd8b21d1ab6ea6cc73f6b883622509fa682cb78a148b177bdb35e08468d77e059ba145706dcfa63bb9afc1b44b020a517d1d0d3a24c4b624be295ec1563760555c690eb84685c176a9d6a8f9ffc4cdcce7b2806993cbef394a2a878d7b7b436040a7438c5ed16b478be0ed773069a35aeaa2c1fb670b050e84bb61b2aff0794ff5004dd96879dd546ecb205c05bfdcd9132dd1ff20136088a6b88f88f509d32129130ebfc55eb20c6cb57be2e697e997ce2870e7323e66effec49c2936699a9f7fc0e6a529dda956f4769f91e5522537b0ccfd19b2ea438dcb009c410bad64a9bd1041a1065b64712a43dcb04ecc893f1dad147c577df9def750bc09bc2e5f337feaa8e3000cac28b50dc92bc3820971908c971a4f3161d6c7515fb8778f957568b3f188e123009bd5ef9259f2de8b67a19ce2b4c7417de6d763fb197d07e4e346cc93613f70d3b1d90bea55e86310131d40bfb07a9e8ce24b1f8d104a8c624d8f07ad0009fcec2f46ea59959bbced333fa5cfebe4d7edf9008d894da500028ced1155ddbb683335e567ff04d7d1986f4f1e300bfd39a374113fa1a6195cb0fc7c4c2394fa09c111852e587db63a3f6408ba35552682c760860a1b7f695b42115687c6a665072ca8e3372c81ea3b9468fd2d14716ec34ff995166f2e2c7b70824872fe85b8ed944ced898dd2e0e0e02b910db8b785e4436001da64ba51ee4bdcdfb9b61a1943cb13f057e50a22aaf61dfe83d81131e50d1808580c29da9b0da91a31ccb71671a67ee78cdfed9bd3f841f5d16f2a95973d1099c119ea59d4f09fc76256cdaf65850d6f4ec75e2d8b1db3a6750c62bf8c5a1298cc23b16f84779d3f1848ee976f98ab955907b440a7260be315789ccff96386a2d94a1b3eb12fcedf3c5d788ab1a0c119be335bc6721ceff382d114e010cd23c87887ff2a931df621de8da66b6f6f4a1ab284fe9ecbfaff9b9fd36d7528365b205ad9233409adab75d222bb437a7733c1207fbdb9c717f9fff6db57a1fc22e7399a6880039ba05bc151a70a574baa688d0f8a2de6d1b0e33a1a86ddee1f0036c57e7a636f12dd0d5f185adddd98fb2c5aec349b6c4ef25bf6ef8f5c174633b23777026d8be193197346644acd0b9496380277d716222c046cd8f92d7f2082ce0e73cbc5bc998ab2c49f749d7a0c54d2a73b6ea4ab453f7b74f327b268ec91c7cc8f10e5dd788561b8fdab0d48fa628b8094021dbe324d79a6a5d8d93dd9a73bf79726b17c234e87662e0e6176a783a0cfc95831f0de8612d178c71639dc9f64f263db5d3c1dafcd70f3e3a6d2668c99a922caf726b8ac40201068793e4c32c61f6189cd91143c1f659c92c2f781f4a3e7b4fd4b8c04fd5e7ce47e7a7dc59cba09c534809b77b75b795feb0d27d8e5f879cabe783e5013b15ebe87ee33b6ed00a48775bebb19047dae478a817d3c04454f9e3ae836eae37018070443bc621854b29ac47cb9c3175f13f34e02868b24f66fd46dc7bfd26c32fe0e05d0bc3f632798ee3c9e30d06c9b704b8cda2d6f86be157e15ae6fa5155fce528f7ac345044640dadfb849ce49a48fbd17d93f62e2687cd2b88b3d4c2180a2884d329178be599175df566b246240be6a0a6ae42a272666f341aafe18cfcfd8bfbadefca2cd724ee03594c0cecefabe6943ba3e0ec41cef4256b39974ac2fc71355d97b142d54b70b0bbeba3317ecb3ee0bd83de21916faccab2d12a88622ad64157221052a852681c356073dfe54ff2f76f5b87a313c9f77da6156e9e6473df258883db7bdb3c524e2ea576e510052b09b5b1c73f7651911ff5003cce0578a0c2df0b7a6fc7f2ec45bf0edcbaccd33de046cc48db290386f1614e39949c0d795d0eb4c79d6d031571601a66bc757c337f45d07789015505e9f65e4a9fe9e2ed8f608ef4b14a58cfc6f84acdf8f97aef3af7a59c541ed4ec780b783f4caf4c6c8d23099306f4c3c35dd43c24de681a984be057e7de1b839ffb363dbd0cc8f26ac2aeedb01b7aac8725f5a33c6c5271327bcb1c32bf1570c2251a1fd332bea869943fc7c3613258995f6158fd20400cdfc7d388ea51064ac0bebfe822b0ae5e722babdb3a5d034f96172ff699da1b807e6007910ef6b42dcf4d7080beff7853e75850a45a5bdc5271fc8656c49bcae367b1b37e9378c6f78feb40ff7c968585452d8d8382dbbf94b3a8df7bac6301f5afea221acf2e6fe74dfc7ffa58668c9d83fdabd27fb5b67183c028a5984e9d113f6278b4d411640d430042eb55155eba89a2abd916a796ea5f2abac8aa401a4b2f560c7a3f30247f0963600552736d9efb4fcfd18761d20331ba210e1a445e0a1ffd4c1bb58f01a1b80bdf9240155945d69f83f5fc76940583aee0ccdc7c0777192e82d51c2f2ae95bec25ac34989b91eb436a6b6dbc91caf5e9ebd1e21d47e0dd07e25cb436040e96e60a1bef327fe5e8bd8e154e9175f99f6a260fccd64ffa501b53e6d6a4329c0acd79374558c4d02742d2054c0237215f41945352c273987b062ce243c1412d003c9b803a73814c902e4796e64080ca4af337abb17a3a37ed1af86fd53f8259d9bca169226e82a806008fdc75cb5d208e02fa468cb81686d5a9e8fc4590804e263d716ba12f98df7e82e576f09859e5a4f28763735d372f7b03c901b7a76222548fa12fa5746fcbee1cb682776ebfc9de97a0bea27218967734938dba04579fd2243a770107e4f49f7d1e59131142ce9e1141d5675e15c2b7ae40e73765d0488a253c306e5bc22c9be9234126c88a17fa2e9befa434e2d6e59220b0da1c73b1276ca3f08e2c38ea13df44576580812aae61ddc93f07b2fdf4dbd14616fe8fe9a66f45d6ab676e2bc87fcee69080c7878ffc450cba23266f80561d4fb041e7479449bd53afa229c007979e84a393e0790fc3f2117d978f350d0ff458c423c9151c4fbfeb5107cfa1df53b6a59c7a41d530f4c1908062442c92b6389d47cab97df1f0abe7f6796c2264e7c7a79eaa647c8a4cf164c2dad40b4fe168a38b7e1e7b37e41de87be60e4b39338624bc0b790c78429c1b45833de72e34b032eec4cd1077e009f8ea195ba9abef417d66c7ec7f3d48dc437e7f8c3acf5cddf79291f8eed8d5ab8e2f90eaee0648b3e7597391aa030e53f3e7e77cc94c1a3e2ec68156b7e989d1c0ef9833f7d05ea7e05fccfa7ad528d26844f5f19977e3062cd5422dbbe69c8440c54b8c4f2fabd4e009c794ff16c9ec815f5263f38e453f3767e791ecdc6cf91bdd5f6741e143b1057c4bec38386804ed5f104fbecb5288c2efcf67c9fdf661c3c9fa4fc34aef055bfb51b660a0e45e88838a46dd3005a7f1710e53d8bad1edc18f612c3d1a7d404bdd9460a59cc5d43d59cf1797f5bff84b309c5035405f2470cee6e4b3c51f516d0b5547e842b8f214508135c2bd90dfbe8c5868ce251ebe258ae8ad062ba25df4093f26016d3b9b2ac5cbad4721b1073f475767cf692d8c978fc57fce6c3592b947fc34dbb48d8d7fa4fb13de7da8572152f99472f0e7dcd87364ea735a34f11eb021ab7bf075c4d9d4f25fb99c0eb0c85415f90a2d8cd0e63cd1cad513ea2f72bf5c9c481a85737ad5d1f02a2af8430415c04f24c09992b6bff7234e15391de9a69c8b43572b477c401da868fbb551cf0c33845010aab7abf6cc322fdb6d882b2a100337e316b9553415360b4b5f7fd1dd0e7052f091b10346dbf499889b052f74847900a55b6ca8b74927ec9cfbf459bed818906c180402050b952ff25c8e14ee88585536d350c93548782cc3cd632a538138060bb207ea55681b1a91ed8592b3df51c639b8f23b7c03bcc1231fac1a3e9775015431180b4a240bcc7c349ca976b4d5bb9b1b55fbc04b1dfb81779e078d57c7fd52345c800e2ecd2de0c6996c6f173dadfded88635a63a7757d9b60dc4eabfa3696ec2cadce271ffa190e79732f6152a01b069b29c9c68f805898deb6da23b0632feef59b0cea7bcd022f816223cdff2c30118700c8c3d0d25e0aef7961514bda71df67ffb7d811af56fa872ec9aaa1d2eb2ee2f80c03deb59ca6ddfe78a50f873ba70541f4b84f501bbd47e6f5451eaf1fbf88fd2aa61298057954ef4b77a37cfca713093e2936c8d811aff5de415cdd10e50eaacd842b851b3a5f793568f195106ccfc9f46809b70f8eca8e8eb03fec9a17cce7657ed09b940e978815cf31b872aabe7502f670f58e8b997e0b4ead8c967b14f4702cabb789654a277a8a3e48cd3b41e3d258aadf7da78a36c16c5a1e118712c59d686019699d0dcf010f1d0b4989aa5dd63c645d3eb4a30cb368b9ef81f8a14df451f38f00a14e4a714b653d7557024c8ea04acd9fd0eaf50a5fb170e0981e511ca26a031803a98ab81b06fa51d8e84cec0d26dc008f08d56198a0145996bfbf99f2ebe8e627dd2ccaa6e9a4f18948033abd5a3eaedc04c64f3c03b47400d395253b98424e26d342201eb3a2104f57718f5180b7180b7eba78fde2e7f251e22895efe1f219e2bcefb12155b47c49b8e17076249d75780a3fbc23c2973a0ba1e41b4d757ffd3b8b85f12435258bf09956d32441781d125548243d3ef1c018f8d82acdca0af9fca4a6db8cd1c9fcc75226ca8a6ac3ddce99ea81540aff0c42833026797dacf2a405ee1a3fc127712cec41ef3f73fe8a2fc4afa0932a8a9f6415f846cc2fa901f0930abf13f01f4e7f2c8971a622223d9b95e755b1895665f93bf6031e6c904715fa93eab6037221766250fe6bb0d5074f30ad21f0ea77e729690b4cf041d0c9a58a3f963fc34bc41c1f1f4f303be102ded24857f903a90b33571df8eec8299868a1e5bfda18cc7976136742b3039d8b096a6951c032a882bbd801f64e5f6f5dbfaff5d1fbf14538b7b62d3ca963daca193b53d47effbc2066030829957ac4578267a81796a721cced64b968fab4cce4798f53c25db121931ebd8384c0eed5aa1878d8269aa10f58b34010ec2ef311a4ca7a7ae40949cd9fc0abc9f7b7560540ee5f7540ae5df8fb4bf216811070e4f90a72dce046b220df986d7dbcbca80ff64c3000d8a6b0bdc2a0b55513348bc185108ce67b71a96548ed845f51dd36bf6184d114226c7776d837da28bf84a0fc1ff5178780be2eb7b82a701634a3a420fb4074e9ae0c7bdc943b503982080e06f003aa1feb45fc7e14069cc15c27687dda67f8741baaec7521d16da24f93b8d346022e5386a1aebe20a08a1b6e5c3e199ff043fa1cfcb5132592eaa406f7abec8c9b2c43a9d1f288b67d003337be18e9cec8c156015e139c9ff27043cdd444e5ae0944510c33bd9a85660e65429e967bea5dead88f26b5f9af2fa842f1ce241833bbf1ea42323be6146efef5d06b984f1106e01f46e8f4e021c4311404377426cb1d9c5aac8ef7dba235f6367ce863f961dcffa55019ffc5496869fb900343fbffa52afdf985d1c526765e1df48d04b336e76cfc6be76419137114fd3de412010089590eec417475b35acb2850f797ee2408b2854d82f83c7fdfd85a108378555116958df2a9e2a172d44621d4b0d7d6583205cc05270b38049243ad66cd4551c8906177d1a8b3da5719f17be3ae6b66dd95dce332bcddb215982cdc5a507cd51cd1e257ffc65df49698a16537444e9586dbead81d523385cc9bc5f2233925120b4f52d1dd232666632b78c8490dfbc4bf962b7cee93176ac124dd99cf554bea19df23cffa0aabaa9607a168108a80d7a195a1a1269834fbc3feac19ae82befce0bd58f110eb671b9c580c5a7cb1e6483938c7b79406633f8bb2e0854c0e69e7863a884c3a8f8fe3e570b8cd6f5dd4451cdbc14c7bdd276ddc2c11ef83188efc52734966ece0043c5f4e46cbc37f868267fc7b409b8fd8a7919b3f8c5cbd8e2e9ad8abe3fa6b6c917edd6d243fe5dba30eb595ef14e83aa78fa318d40986b136b17dfafc9df7e73d40b4eed566df789c4b597945c11f1ec562ca83dc4dbd5cc9dc968fd2d14716ec3cb58000344add5f9bb512a818f86cb62e977f3b2855cc9975e1c89740b025f3bb69a7f8100df9ee26b41bbdf155b5915063aa31a4383f9c9a6d1fa2521912d82ef5f11e1bbc0b590610394cfa72095ac71aa7c6d09b10b53f58e28839432328901c6c360c267e465c7488493e3fd35737d39e836da3c06e84562c14e43658d5f6e106e95ab68bce5005ddf4e44e243633c821a62816f51a8667eac37dadcd5df9d6e3c309a5d4da450fe999d94f008589ab3410016809f6eacecbe73dafcc77f27f67c3fd0bfed32b1ff432f1f130dbb668c7bfcc14a5c590c853c1774474fca31ab81f9b6cb883058559c6caf3b1766f907c958188a2875357b4175cb27dc1d694493d7ffd368575380631affd7646f3415d3de03fd0fc0087b992ceb22b1822dbd50dee11ceeb44ddbc643f7addaa17d6f3a92b058d0199d03e986be40dab1c7bbf78b43becfe67f4d17a45aa6d670d6d1b4fe2f89dba3741d6a8aaaa5ea444ba2495b2746d4f4dc2063da6ee3a3f5ab6b06e4d8b94375ad21c45a03139dbfa35ed089eccfea9e19518f4faac325e916de23fb752396c7705275670e685079a702afcde8337740d5fa9ffd4af0b2a824c9ad77efd2a0ebd26d3155e6929f1bcbf2f2093d5a21fbab67409f53a3b09b02f1c00c376b9d13ce3ef6fe99347f1172f5ed36ce33438e0a9b8c36a21caa75656bd3c7818768313f9dff49d1880af4abc72f691cba086171bed418f973f629d8f84b6e0fa44fc660314bd607c09afabd14d9afc67dd8a1e95b936e7fdbfdc0208aeecb68786799eca1ed670cc91ea4ea2efa8bdd4dc33cdcc512fe4689d63a001aabf1fabaec8c6b3281014efd4d7a6b253238e0696e0e32340884b30d9a434ea9b96edbbb864f9de8562a46fea062bff27f650781bb6ee1b99dee28bb90971bc07298dfe63ccca79be0bfcf07e9751111ea4f6c676600810474bc2b843129fcedc744cd1ac4421c90e92651f3e0c412eba3f2723dec3bf4dfc6d853ef4fea550116ff02852a7e1236c06a42939bfefbb7b5ff77932652d8f0a8fb7a4bd428e745f327b94b9d1ee1725b70913a1ba00268e4393847b66309490bccf4752b3d61393ba9db49f752658045125fc95cc4df701bd46f35a16191e1c861e844fa2cedea355cfb1add71be2462eae166fda21a81fc32021134537d9fff6b52c3365c1005c73657b41e8eff09c5384bdb1acf025ebd80e01dd24184a43f343ab2e0a5eb08159f1d78bf096d926a5745cb0cdf9e8a9b0e70e7b70d50033468089c8392b084a47de699899e456cd9311a786d3e4ab1b17cedcae131b09359e767968d436c33983d57df1c330ddde4b33e635cfda5d8ba169eb836574225f1f830b5931f1dedc67049628d5716fd98ee571edd2dc57b49641d8c2ef73314e265f0d4ba065888d01356d29fde7cc20a803ac71ebc5d6cce0d71a9600cb5821d6f501dbeac828db5505e6b5e765af48d1575331e09d3034f5e31f6314ba5d010b6cf42b27252e84f468900af2e40dbf0b137c402c4121a3bcb05bd069e1bb98fa5e3350f6ecfcb282cffa872106cf4253ece3d3f034ea2ad86dfd46ddf2d50a3fb82c0db9cdb28b7b2a4af7979301a69235fc5b9574bb2e76ce581c3f2c0818f8d82ad6850b81e34dbe662990fc0d6b201a649a77b82224c09fb00c79346bff5a2def3b94a4c603ea881090555e0d21811eb153e463d907fe93cea13307ceaf1af87d5eb7ab99a90fd30ff843c6efd235cc0e05b3e3e00a5fbf21ec5361d552ff088ccc0c626537ab260fea705f1e03fa0972ffb80b89f4c58b4c9bafa5ccaa7fffad46a54e28e83844ff84cfd3bb39b6cf5716358e13020005b22ac34d8ba0c08fc0a0fe173a5df693ff251a9f7d5b28c1efa51f326bc52f65069be3beaad4c8f954dd0e77ab4b0d72ca46d014511f585d25959b9e6fe17a19743dc8a12be4f0c7df2bfc68f057df1905fb79a729c6d7ff918b5f6b7ff37f60c011aff4a1505cf0c4247439dd9dae1efff011954f31f84255f31fb237ee94bfa8ec73ccd54b5399c7d940ce16ac8bb0c2e5fa0125c70eaac2e5bb193f585e1e8f9ce629d4acc4857569c299bacbfa2063c7e571fe5dd2174f8af92fb0112b2c52a66b4cf7b538f9428c660766ed33870cbf0ae30f1f2fe14586360020feb5e1d43a7dbfd0762b836c665d832538cdd52a49ae3c2ac53334e2476bc8519ff95d097caaefb78524813015132fe2633e6142186cde640daeb64bdd9a62a64278e572876ca46606f488e07c0eb11b5308439e38424633ce14290b36213ca6baf324637ddf7ac1eb55936aa7b30eb7756828d0e5455dd2e1cc2c03e735317677ea6159a13cdef813534f7497768f685934d9ceaee647a9f1bddb44557740079abd23a0f446d18f02bfa80a0fd8a89a10840ef41ad90c957f5eb8899c9aa2f062144185a54a541fad9525c86492c9913640bf810757ca540e5c7182578bcb682ef7ffc1c6d3a8ea624c52622a1f8e1ec77fb13c166190bf872861fdeb0d620ebe841bfb022ddaa5fc0115eb07d42b8156aa9fe4e739c30027429091ed2b2753bb4fe2e40f9b7c3bea852852323fba40fe5a3f8d8c0980b3534af605b7166db5bab93a5b36900ba76295135527fa74f52e3a4ef67c3fab741d8c17343455652dd5487a71d469810ca101e4b2c1ea00baae174d012fbffc8e95ff24a1849e957c0d2118a18ad1bacb602d1fa5b28e2dc869ff263fc2b3c1e792e21c152f8e9b1719eab2fef07e2e3b399e341db09f99d62d43e02c09f918ce8deae3a6429a8b5ac8978cf16164fc371b4c95367733deb68a056f2a3121eda997ef6c74743e58d0533c1de817ed572b4c046b135165eaf4a4026621eb9d400817ae06214ff4456788cdd15315c348e8d280b46097d1d4f9f3c1dfb727d6eeabe640739487891021bde9d61ef13ee32e8d4b7a2acd250f2c2e4f0c81a11153bcc9c9622c0493c4f8a6fab4b288347b715466313b249c810e79a24140b0da64f82ff7b66fd72cd45e09a0c6ec7aa3d938496a4160171d7f09590940e775be58afe902b1b09a353d91b346993a0bb10e4ba156213a8150b95f24d40fb28055df016f21ce9ca978af3a78d821f8f45f06a400a8bac6de4ee32af68d88850d002b28d22801d8a004971090403b9465b436262280228e4582375ed739d78481e2e9a1126f9f57552911476018faa496cf18b3374c005608e273b142cc94ca26d53c9fc3c3044f3eddb7cf0066739fdad9f3298d48bf30bb9f476ea6928750529388751813a2bc8bd2470c8fadb0ae63243591950ee557a329730086e834fd02634caa392240c9d98c5fc52075e85d04888c25a42e4e3cc99602d0613e135a2ef6978affa7965effb4b224a7eee46ac501a5dad53fd540858b71a6bda1f08875ba3370510398e55c8d9e21393484d87db3fa105af298159633e5eda36797ac0bd8c38c059e0c74223bfd8f9ff7aa3730c93cdf0c5bdcea27efc25f3f7a3e69adb9705eea3c5b6e1234a40329996f397ce6eb0f8887f82ec87ad4946e4d6e1af8f3c651d98074b811a4103b9e385a49877081a2021a20b0eda8f92428b7f312a4d051d44ace59b82a3644adb0f328493b42bb66123288e38c053c619806415ca607129602afd90bd059fcc4759ac754fc1b75dbcc0212c622834c26dd4036ba2dfa14dd6376c21ff87179ff286202a998cf9398d541307020d6176ff7d60c46fb84d05b3470edb25002652c8ea0710b193074a3e215ffbe175b7b90cb6e020a6beb5ca293c55b81d26ef619d801d4ff082c387e8a7c9497fe6bbecd4068e89edbf5f99f51470c05941f3516ab4427b89235ab4f84e0220f577212a8fe4bc19423dc45a5ad51d72782b07d6514d25f4dc3cbffced0655b6331a3f3305d84c438d2bbfa8eef51d98c40e46c71597aebfc33e6a2f307d7a9a3f6beaec5ce453ef87429ebba3ca5b4c93fdbf7786bcae33a7c7b4a3c57ec3cc154a15f2f16a0997adb0ecf9188748a0e60580ba65b4ab6b61a826a9cbe867dd96e3a108603dc4be60796961d196b0f6cec6cd0e6b25d7475737ac728f2897b35c56677016704433558e04fd6fc272ecdd16f5cc589cbc4b3acbe3feab72ea2f1cdbb2667d0be61a437983f93809d0f2f7363ff34ca8fd8f002cbb0d1536126f54894676b41736c83764b2ebf32009651b347b3ef57c80fe2fa62e91e070b7cee7fe1a5f82971f9fa9528cf1714fc5244058db2880e41e12c7a2d7f3ba9e57810127dcc3e110de4a93e99dad758ae1bfecaf86bff335e85cc31f7dc5d6459bed7ddd99fc6d496c57ce2e126e2ca98922d3e8d0d3112ead7301fe6455fc840093699d0608d126ed9ea38fd4106363cc7593d2a6ec8a3bd458719fec8bfd1f60b3a4dfa2bf450cf0f6c47b51f0c931358859f59ee03b702d39505d6e84b199f152d1b23d988fb1a612fc236fc2b15d152e348541957e3d1d57f306c556b3f27da969218898ffb11338736441f3440e22ba8cd7f62255075f6b13b44e804eee6b902219a91ac1f11ca5eaf0ff194dbcd812f5e0c06d41bc5e796676979d11d60a5a576b36c945b7ef248a08df84ba4e31b0e2017dc917582196d01fe1a0a07c799d0da32f8606a2f7a0985821e646c26fa56bc513b9d076466038fd1d69cfb1c8631917fe4759776690f19fb4676fee2d211ee5a96acb8d027f4050ccd080965704f05ee77a8d2d9b3a66619c1ad8bc35e07404577dffb6a09ee401d06181144bf3f6705f21ee365052ef0364937845c537b52772b0e351dee28ff01e588a507f466024876d91d0b6c90c6715689b1cfc3a9e90de94d8ee8a2a134fec33effc4f06b1000678263b18d9fae469bf3c8539bc49f0fed06ad32013b7d8ab6d182bae5f018ba103c23ba86e3821f7f5eaa197b2eff5e13518aabb2a8cf7bf4ad85ec72ef099983f230ff2370f72fbd8284853ede783764dd76a28e9d81a382d4745f1380d41dbd9ff4f1fa00c413dceeed920e46eb27ee0a3fca7ce08d8ee5b185bb764b09a4fcb628a0cfe0998eeacd9c98118cfac48a66d1c8016997d1943dd13d1f90b58fb4f90e31bff21a684f48910ba393943d1d30def38f9ea23e7c4cd7e1efb4500e399e8e70c351cea0464381695b4bbe1fa0b5017569ac2cd500f6b5367815d9216edb0302a97d3511cec072248084bcc55280a2baee93c13fd9f74a4230c9cac2dab28c1fd6296b20727d1aed93c40d62ec1edeacd3b53fa98482b36a205233ab15d063dcc95492a9c854e37c3b9b40766fb32e97870dcac8882385fa24c0ae335286747bb83453a22e6ea6d594d91ff5c629e3a087622a23b46654dcbd23fc121508faa9025dc293087a8905ad99797c5c9435754e75e7e12d019a40e96a10820a881ae55638884a5c7b9837aab4f99a12cb4dc4679c5278e9c4dd150f9ffbb2b805b269adde2c3984a7831144511aa19d42dfa6d669271e8c9fab464034ff68a0c4c9d059bd42c0727bf670276e62bd27a934ca586d479a742c9820642c2af23ac70c2daec3ac8654d1380bcf0f2180c93cbad01bb64757fdee43f0604067319a8b06c75b5d8ce9e363bb012bc7d6e3ad62ae07e34cdb8871e0feba4b8e3cf5b608b19515b088cf24a205eca5dc27d9a5376410c568eb7a8a05098c1b484f07cee4e7d2d6c1408c3ecbe2899ffa00cf7a3976dc440a6fc9320952843118055e6ebeea9f452584cf5bbcb2f148d348c0518f5bf9469ab40af560cb9e19f3380261aac9331d34bfea64fb229376dba9599f858ea917efabdb3eefcb93f3ba1a7075934dd69f1cea1aebafee2ab8581953735893bbf38f8062a639504fbf16cfc6a100b45f0580cd82e1b9995d9f5ce09ec6279fb2dfc74c9b23b7c1a4232929f8fadc32943706bfee13a50904cc26344edfe56a4b6fb589ce5f5641334242f48ab93eb4cb619a8d112ac93bcb3dee06f167d8166d4c1e5e94ba6768960085618fbd10dea20579278c3a47da16c392dca4fdba2643e80edc8b06f19cd1c9d9bbd266b55aeafdbcb077ddd197be69fb9dc9abab2ca5e78fd647e0b7dbe8e46d76cbc8e0dfc2e0005ec51a889ae050f7fdafd033ae6afabf7fbeb6c5ab4aaf71180a8e974d50611c197516cc347e5e3801c83d7d47fa885fafedd38d326415a99b963e03f0d18b79fa4094451c806d5924bedf389250c7567762495dda015634a3e98f31f72485e1c2059ce2bc6f26f49f98be13a3acb86abaaf238d9346de0e0f41170ed12760a9c8c2e85159e83c4a2060110d019923f3e592f7da8b88d63ae21388ed93ff3b9d644f7fb157bf734a2d96dc4a38ca0b999d5f43b5efadb317dd757c8b5c7e802a1f6327b6fdc77ae4f120b5752095e90e05c1ced7c6d5d40b347005980be83130548352cc4aa638570e8ee854c508708ce4699c614c8990268e8e6c817ec4fe319898591d450e7af2dc55f018844780b6bd81e7518b44e786c451c238952c51018f83fe25b91181dda13039e78618691a68685ff71a56fb53746e2a43262b41baa03e0763a72c746ad44a50a7e26d77a3386e86769e887df4d9ac8a66c087f75e61945c851dd5afccd718aba0d77ff0f05ed258527f7891923d9f9f70d540cec1e95d79bbe4344a0a9934e05a0d594cdcb837e1a2f4f23efd4153ad40cde69294c09fa350fa1e308cd817db9438c9c76f6cbd9ef9fbc57174bf049b8990c8f6dea8e7fb5dffbf4f910ee9df2e10e86c0c060fc55a5b787f92a4ed28d5de1589a95f3dcf0ed4206f1ac108d51c590ec4c34c04e8ea6b4997e83ff8583d9359dced43d5745c1019f329eb3be4429dcd78e33350a06dc03d97b46e6bf2364f9fb1e2a08dccf9ad0b7ad186bf46cb96e13944f15e91dbb8716cd2c8cb70b8e75d9dc60222f1852fe23f2b7adf4424a7c88e2c1afda46eff705d614381ead694ddac63e229899a237c0d2e9a73263c050110d8744ea4e14243254a0a945c3f27d4da7b81586e29e6e1e9cce5844f5fa4254f47d2348c881bd94ff79ddae25b3fe45e754b5e71c5c698fb1108426016eddb8b8f109ef6be25db604cc96e94fbfc371dd8bb19b0616ee8e77b354ac2f752288ee981e07e093021de1c805ebffba5fc05a51e52d449d456f315ebe604e0ddcbdc02c65a449bff254d0c26787a9b0e7cd5b34e309475711e451771d7f4719c9e0506435f6ef90f2eb311b0462644ef831c3cbdf6ec6ec8a605ab37864cb5230c0dbf5521169c22d24dcabaae1516b6da1157975f84dfbed3e54e9fc61dfd7f64f0f0c6abb0d946b998f1346d63a9f6188d31cc267ec93661ad94fbf6383aef5fccb4b61f0d8fc1a96f3e82109651b3ec6421c00eef85c6d853ca5dc3fe57b7b3b02a1ea235ac92e681416fd4b9182dd4ee7f01f70f53f7626c3503a1e2736f14d2ff411f81cf961579a31a16d9bff2abf74033243d010b797e6d7e36824ea419eee89eb6c4a98c0b8e5a94a2f2d2349026f7ea26aefe44660f1065ce8cdfa54c003e788c304d285c5c4503e12e44058abf8b7986d9b73f41ed5fa5f15cbb948fcf799775a38c2d5505a142c80e4ebe7959c0d0a4eb1eb53168141de58aa0a1f4eab01daa40f371123f82e5f06f0bba6af4b9a31177c4948308ade5013803e6ae01f071eb88d7dabbad1d49770dd3182eac0fced24f95b042028b44b759bfee56958fd1faaa8d1f9d5bb05adbad5dde9e156ed4aa99a0814d103813fabc691b7943538d4a044bb974f02f160c8e766d62994821864ecd0d5e9f901697083b527c8330a09ff8464f7e7085c5062fe66ee065a7f17e0de8f46a04940e1d23ee1f28e090f716b1144a7b0044b9b22393f3b5fde27c4874403043e1e491881d5775f0ba406dcd3b246ba39dffb6dd8fe62e6bd9e4a5d4ab8604c9344e1d1c64804c0b2b94ac2b624cebb278e834f1413748bfa28a3608299756921976203d2a2e500685418461b7d17663255ee6b3ea12db5395d257b50e060ecb5a97be17b9df1d045c1807b9a9e861c0ee988f4a84ae65ae644e3ef03a849d5f740a877f393a17fe1299401b3f958f794f0ca53fe95f5d96f90ba1b8c631df096a49ae716045f02780c32f91223284d80af8af351c81a7f8d0dd671cc20dbaa33db5be6e2ed5d1ddbfaa700f89335144613a6b8f506cc4761e1ad30fd3facb854129ea7748fb4da7e32e19ecaa6768f49dd9a58c0e1fc525f4304feb49f475544931b960739556aff75d0b4e440161e12a2e0504cfc1744cfd735dce76c9b3a031087d193810e85576c6e3fa9fbd5cfaaca7c551fa8bf17e805f2412d49cd6e98dd59a0cef50904445a737409ada3590406e6ee21649334f884dee8f98ac7d78fb1a955f86651b76f522cf6bbc73a76a78c2438e0161f8d52cb31c6abe79698ad7a1f500862f9dcdf8e4c8cf75df25459ef3c1f2343a3ab1901bc46d22c654effbe99d083f402820181402010088917fa82c4198dde3ea773ed8a01cffdcd36206bad8e4dda12daa31611a72648a11490c228189db50dc49ac250d425581fa2ff263bd0fdf32d604843f7816197738c4244b53cfafbd9b620a2e885c286515fa8362f2ba321dc0c4874ec74709bca3b18f60c7cb2dd009c4599b35ef6b8aecffffc7da741e78f5403f805f433697e398d4b551a9b26d464ffdab4621b84e387173daa39738f95cd81029c8ed1d749b06f3bf826ccd70a2605af88693d1ff3a375a98e3f33e0120a74c880e0a06ff1562b8946d79a1925b3f40ee1b25edf9496b0a97723f6974f33965fa701c94d0e7d63aaf78ff052c5cfd7446e228389d451a3d0d10c6de4ed0e4be1b9b68808e0abe580ea5107c1a067e77def74dfb1d011fcccaf6fb53119df76d31f9d3f478644444444444444e401fc67b5db9e5b00dfe05df6619f12c9ea4f2a68d8610a2c3d57af9229eaff042a3bcb7c65bd19bc810b3ac80efc51308601422de680777248ece6e09985c5f76b4d9c5da2920c2d43a0bb31b8aedc14e9ffcde2060373f3db2c33d62fed5fda7ca273db21743245c86640952052a25deffef508974b8ffa70c3b0874bf88323b7de41d4f77ade3ee10a74e0a6d949b2b3c2b2243fbb6c7fa5779454354c30ec872fa51b1c8efa2b6dd06d6e44444484815e9f33b0c62fb006143db03a2fb09ae0e84fc716f66d5d1de4f6732d0cd00de994302e905863cd08aa565683067d6615ff8eaf9ec2beada704a2efa56056c1f8377cfa3f6849c4df84fcba1741212e0f2ad72f7dda0f4b725efbbc4aa46c7e0a0968ebbac78ef9015d2bcdb01d357513bd2695ae4611e2fb9d9e2cef8edac38b387e1074e97f2cd06b1ab567839c2f412c5f5497530ed53b1e63940d63c961766fa34cc8da7148ddd7b387aa70c6468531950148a15a2b024e4d10472913b13ae108863c713c76c330f778cc1a52a0656c1f90ddce4b738b14089e257ec71821c447e173d152849dace8ce669660078a03c0129e40ebd031dba8436637cce7837a6fa9f7d719e6bd34b5853a7a6e5439cf16e19810bee06dabfc05506694935dbdb475cc87467d6d13df5bcddd41fc1461f5b4e40482358119e052f7a187dbb656d0425b5712348b8e6861d48cedf9d6fedc6023775d0a3cfc1f46de63853b219d461f6ea7d771ffa1b1ef28d95f59000292aef9decbc5b79f56fc5daa230f9732a4d6928f5c7a76aae390f8c587db6cd536cecf556fb26a7ac43c2cac5239ad420e741a5089ec646199d9cb48308455e5e0df68dfba87c040f8c78f892b9524e5e21d0c2ecfcd3f6be3667f16f92f8c4b30f394d8c9b5eb5f002bdd668263277c06b193d2fd72138d0efd934d3fd7a8fc0cf2e1ccaf1f9cf2553dc85aa5f2adff3403c6ee9e817584004dff84d69ac61f67d823c4b8eafe408eb06b8db75780d3c104371b0a6734696984898d38f32f1f051a18b76665a96f7d58b041da320abc9706b10006ba9683478b24ec1f185293fd3918714b6c39e858f4a3b7b9b3f0e4b2835ffd0500aa1726faa59af4ca9b486b0afc7e6cd04635976d03397b48c5eb75c95d88823f6f1dec0714f202fb5a22a804343fda8a1d36e6476d4cd8745eb427e5f7ad92920cd7c61af5e512daf182e3ffc99d130f333bfebe20439f6e63808a074ce1f7502e272c2dff656f4c8350cba8453e9696faadc70250303ee9659976c7ceb7e26cfe0346847d65a75dd448d3801de311c6946200e87b8e1832e7818d4db19ea022d63c9481c92a7be146b04aa373df84237cb9fbc47aaebe7fadcf8ec96e89353a6f42f050890be2e24bd4244311801d8a8a06fdedd7242959e9bf1f35bfc23c3a0deb136766bf8e769351c8f3a03f018e51a837355f6d511e7fa185fe8a899e16fe021dc15cc70f78a79731a567c9e8438a73f7f13d0b441613213f1053c4d59a760fbf75b18d597397ea082517cb703ee034b8ebcc491bf88b6207d043c9a6d31c93e7c608c0321dd4f9a282ff7c05147f86906ee32cf9498e8dcfe2f381f186bec0b847798ac7205f6250bc136082a68defac881e18a894758f392af05513437a5940faced4e0be2de08cc07a145c5e3fd8ceedaf2ae7c4dea7f894d473da3f6cf66affca11f893dca6cb1a93dc09c40cf5a0428ee82eedcc7b6723864f07be05e276e4ce7b458e0ee83b842628fbf78f840249be6b157c7592a581e9b2bb59ac7970d5682a7d262fa609e47813e1d9349dffb7ac10fee3640821748a7594874054db789f681b8f048a2707f7f02c74735cf7e1490c3aa7302ea4c09ef06ea4e3af1ed325b501f9ea5c9ba731717cbe255e3418d3f30876041300141b7ab3fe22ff5101b391b1f51377b091d61da40d47407828b920b480d6c8d583651bc5ff0c301ea12f18b7d1e8ed74390ff5832498adbba81831c1d4747e92b0894d98d2a76c21a62f69ddf41f878fecf088886315f4fa1e835ecf63644e17660e372a98616233033df03f6d9d41ab3c995331508ce811b0b9204d6104820a2f4882b969ffb7b6f2bc803981625b4b2b940f7a67f7a68da4902f3656c6cb331a5d02e79d0351e219f92e09c180937f854f8dd87d50b816d6eafc56d9cd7fe7eea21d5617c4ca0339d8f8275f12c0b39d07cdb9c6e5b29ebefaaca0bfb9422bf277cb13ed5c9c11c719bb1a7b723d5063e5899e58ddcadf5187fc83cbe389f5089fba13cde43e9f9c27d8ddae36ff00f81e34616a96640d2d960e3ef11e0cde4624f8e185d3dc7dbc8ba2e5eca0ca0b0b3c8ccbf7591bcde4ef2080dfb6b596c5be1b9010d7f5f27badaa732846c2e42f00756e36671e377c5b0aa6be2df585111caf7010298de7038b88937f715851c95f01567a78aa0474e754535144ef0503d285a0aeacc91e1fed77084ed711dce06b21f0c1adf632ea4c4014c97d6b9c4bc5e7f1a33eb894c40eca2be8a2e6e187e549131191f4ffff1e12acf302d604f6607fbeb96e067eb1e6019809c9bedaca6add0192fb051fef1620325b36732c80b8f62a6294f90922b2f3fdc5f6e7bb6fee8cac4f6775102aaba857530eacaf3fc0d4475b4bb3e567a426658d986d431e6bd6245051631c657b712fc58f8db6570e549f343f3d0ee431663b24e39bdcd787afb1f7c2f9231e2dfc633491642474d500e26b76a224d533f129ce0f7f18a3c06ecd24297b94e7f442ffe2ad9e1e5d4e8903ae1b736f70f17b356f8a9f9fdfd4e372d672466f66c1cc3f58e595d66d1afaa380e9bc1c680ae146ac150cc1da85441dd4a4c44db5dcc024ada337e74d6b209f0f78b7d288f6eed6b6a449f7969eac99ba8419a73a29cca649b2ffce2c6e594eee0e84b4ef8de049d92adf7efed94275d39a4fed543f994fe15cc77c6cfa0bf49dcf09e8aa4b3b23932bcfa19550e87a3799ce6ed1f963194675e62f5773b14436c8221f11710c3e6f64ec17640c8a1e649417644470b4efd7939c975302fbfffc7ce81f045d356a20e1f2492ec6f897817b7505825961af15013df796206cbf3202e1171518992934997cfa2c896b4029725e0216cca3e900bb0a41c8a1c8c1ca910890a0a8c04800a03ffbd217c47727783d474ac16b2e26b2afe7afe5f82a74af3dd1277e06c37d4be47889820037c0eb7f367a079fff30c76729a0e3e70159e00b96fd2e7efb4f4e55535518435196eb83b776ad2e8d018fdf462f005c80b20c9a57cba768c8eef877f430377c0a8baa3d81e1229f3c98fb31bae4c188e7a21c09198b898aaba3cdcc3346ff5c3af57dab863edf67eb1025b88fc1d4344dba3410d1c8a3a828d5d135cd6953ce2b057d1dd86e1ec27a8194ece19de6c32c8ba697e02c94d03b0f8c0ca18be254e6d3158c2f130134dfc57105dd54f050c31e4be3b2ff4316a07bf85364b984d42739109fdb2713c5aab52864d433fa86a3f522e19b7716f48b0d544c4cc2b7179210075d5777e0555e2e8240f6ae5eb6aeee3eb6d20e968e6e8a3604766e2e8e565e965e817ab65ede8eee6e60776b77371f2f4b6b1f491b1b2f5b6f6f9d2f7ae7c1d5daddcdced1cbd5d2c7d1ddcd1bc7c1cac5ddda59cdd7d5912380d39283cbc6aad3d6165fc0ff7282cfa0e8590ad8dcb81c8b40a57dd55e80f1ba1592742dc8080abbdf5c19d8287e78f7d52ab6058e5dc37ac0c11874828b12c1206ca9e0714463c3270ee0fa9fb7aecda34a8e39baa7bf472320f09ecdf95b15b9b006c23b2fcded2b89baa1fadb9908e4980b6ec65a8445b2d0c5c240ef3fb2e002f48c4a021e56322f90732eff624b32c989e35c93e5f8e2ec379bddc0c6255bd14da58073c75f7fbf1fc16d95011692de47f48fe7352accccfea335058309f42a2d1c5f935e7f549d84e3cca8268237c268270657e8a61fdef1d63e2f56864680f9619d03a3656c9b0e5905efd6f551636491040b2ce888b0b5f906b45f3e76ff5398b715f673c295d2c8c9a98ac86293eb3a0369890009cdb77bac00d6dd8363c0a5787db2ec9e16493b2030b7d162c22f0cdbb06399f901a100aee4677415c3561d13365030934c95af759766b42e4626d823e70254937fa6f9c5ac2da9b1e52620fe7f6077530041f9b43a35c726182ec4070a4daae515967729e1745e03316294f58ea61729edad7840112d05d7711ac543551fd40d183e1fa6b0dbe18949fca4eca1a9fd26c611b30187fe526ddb9fd623a2ef10b3ef51345a1a9adca4ada6f736487ec087ad717797572d74c656169ea33cac6e0848159e57949d4a3697aef3a0fda21313958fd112898d47121611ceddfe2ff6083b2fb721f5fd895c851916dd6c87c4b35a1cf04ff29f6dc0b93642274e90048f6eb607e9eb05dd5718ec6cdb1b0f0e719f2d93d56d39a877ac6681ff856ea5293dd8a82daa9ca90f86f24d63e7ddb15454dde3d9b4a672a9e27193eb79b8ad1d3bdca1440e8f64013a1fdc98359629dbdfabe41fdfc9889fe59a6659d600d33844ad452a51ce41e2d6fbe7c64ec9af28c6fffa2ea9bdd3e0e05d7ec6211e5af89737a1e5bc51951203a8dec3454dd9cb01a7eb9cdaeefccb2e0d912973c313af6de3a4baa8bcb9e392c7d6e33c872280bf79d4aebee2260704073f7fdd869a7bda301a6668dedacce7ddf951eee0799400745a710c90bf229780fbcf02a9f4a8d9426ed6ef91d67e95c6a2b8ba157175cce42abc5e30b3fbb5a29a09440b2aa38dcf0219dcfdd8eadf22cfd58b17d596bd6ea2bf596dd6ca141791ca4278b1bba77e8f22f9192331605761ff3679c8fbb5ebe1c4ffe660a15fb14166a621fdc4bac2d9dc1dead97e5de1f8e3699e5e4362fda7cbd270817ed66a84bffcb429c5db105eba505fbdd366a83108c08ad5a18b1c7f4fbebbc1067daf4bc6bedf5cd324536aef5059d5b15d093ef1cf0fa311003ec38fd26272ce0545643bee7de6a5c66f90409865b46ee1da83344458e2b6fef7719ead9e3de44fe86deaa6abf1cc215a2e7fd89d1396ebd79f0bbbdda97824c12fa3f5e8d48b05686847e397c46cb1630c211f05fae562565bcb133a750f23fec028e5a3ef98bce3f5599603e3ca4faa9b9d45840bd1fab4f74b8b5c5d7035a98f7f6f0bf4dd2440a10fd957851613b45f3e26c237ff7f71fee507173e59a106b1845bb522b6b9215929bc4ba36c64bdfcb38d06806509b955399354a8981efedfc07383b27581a9f5322e65510ffa0ee81dd617df1ef831ff2d8714d5742448ddc121969a042a144714bcc64dfe5b68104d3622dfcdaf184bc9fcc62d85aa3eb014a0dfc2998652335b993e1cd13233adcd13a9bf87a61ac0c0893f424904b7f26ca966420b679590a453ee4b7626456dfa3371d188faaffb5a40a1c58324909d7b199f14a53b38d367f9472237d978b5d8994abc28013544a884cce0740a3750934bc85e0c7e1eed8922511ed664dd90c135787f61c04f20791a973ffe8ade596988b034abbcdb5d3d148b208de28f50888ee5f438d1d0cf12696c30806562d8e891f6a4f9d3e6a62a97729a6cddec777ba2e41730ce953c5ecc79f81f5642fe9d608e2742b969a2deaf6dbdbe364800c7cd39cd2b83406dbe929ac4f9ee4fe0649d824ae78b13d6ab018bba01af04f98c7306a6a433a58f62aea8b611019088e81d680fa7c7b050f8c18adacee37fedffc1e61a77c25d226a64879818020324fa677b8b29d1af0fa116b2c3c63cb59a691e26ffd6597efef9c70b11a03816005891aa72a2ba2bb93272031a18f95de614b8e17ecdf384ff292b0875cd9fcb3a452538f85e5ed56fe65bc2218b89989b837986f82fab16c5af941527eabce7325c179f4bd3098af27ed9a40f5feeedca43f3d4f0c1ac91f185544864c7e43ad6638244005444ec2477e7b9dfbfc97357186f0ade1501276916cd8a241d188a94450bc9f8806c73917ee3f9e4b229a7dc2c2fc1d9be5ead9b010de736aa00db9a2abad48b760f3408ecb8b0abc2e90bb81360c38d9e5c4cdcb7dc4953d4cf180152e470bea2f108edd2d86dad6f2bafd2b09a442639f2351a988daec2f9468f530aff5979040d8ef084cd1de1730b1c20194af50bc1cbfafa847ce70e7614b5d77ea07669ae1075404e5a3d9ce240e0bfe30f382275e8100b606050ba070ff21c9d94a519c2fe289cb099b56718caebc8af797b5b1df70f25f827a0f06b54627f2276e2ee9f30a59ed6040173074d3a7b10a788d6c45d9e38e55c3c78bd6e1018e309f64e8a12abbae0e6d4f5772657f29bb85bde9ce8f07f6d06fe5b02ece78fe506adbf0b88f26d787d3bd7b0b5e7eda9ccacc2ff37bf972d36f28dcdddd40f4aa2b5f10ce8db036e9325e36e05e50a0616cb1c197b74b6ee78cad195e860e788d7b97e98455b4df83b085f82a06457b320158eebf926a85b26d42589b18015af450aeed3b6189dbaacd2ab4f8b92d9a16a6f41c09cd5e61f67c3c9f15a1b4042e514313dec191ec9d79e718d6125bcd1afa7b064d3ccebf3961b49580dfa500fc4b5371f9b6c6a5648fe0bcea1d8fc9813b092f89fff4f0ae6b2d38ad10bdf29aec88d63145eed59672680500310e21d675789407ae3e6d860cbf1e3a7cc8811e398739ca535952c47f27a04bd355f8151a2d48ed0043ca27d9bac2e05c7014ef95fb207880d24e4be450bea998af14af977251b760c2e30d90eb89767e51da91d80ddce7a3e8541bd7fc46840eb1a2d8a4551c2b0b0d832329df122f1d8bd395508fc614e0ab66efbf0371a596ce2f7ca1ffadb1c69af9696ecbc4d25fcb5a10f9dc58e5183b202c4cb4721732fd9e65f1f23fd6aa69aa4d255003547ecf0baa5c6aa6538698ccef2bd5b81d4f340f58210653984dc083955f497a86df598f73c49b8fa71fed24ae5c1cb7dd27cca3f0ffa3f07fd0c76d82d75aef1c14c33bcb31973633d99ca956badfe51ad1f250f38a1266038d5a9ac2c956e26117bf78b47f4126adcc725e0407fec7dc341281a23bf35a3baa49ffa86449807c94f85097fbab05f8ae2079ee62413957a735959469cc0f4e9ce96237e1300199597ab374ffb71d444b69359c9c36cd427ba0fbfe3e01bb85ff363a5a0f0ad1e78437cf06e7404be1b789145c734da157367029c89e3d264bf2622d43b5fcc7f7b1d2a2fd6463461bd47145e08dfb372fc338e683d71955bd9af649487cdae9fe3bb9f973d73a6ee77a52bb159a785f2ad9d3e914283df4a59a786583bd19299af14268be1827eaad37fb3a42b7b37b2072078d11e7a59c4071cf2aa2afc0e41c7c7161354181558e9912edf283ddf0033b2676e7e64e121b27c30bc74a53c6d18c60118e0e64cfeaef17d6327d88721affa78fae866e84867a06f85ea954be05c2310a00224bb52fe8221628e24fdb0c96c177f08ceb104e3912379ed68e1a713637faffbb1ffa2b704f14add2c18f643ed396a8a9339859f7006c62f0545c268e22b283db502c2395785dbd758eebc7d6fb9a5e7d7e8ed1246fc7f8efc32ee1550288b903775ce2315583d4efe5c29f812637f6a03a070b9db071c35a61ac439fcea7c343d6aa573b97315534ac7c138b49a239e5d205755e02f4249a05f467df289c1eef7cf48a60a78de42d8b36f4d7dfbdc80751a82aa3d68d6c06aa2398748740406ec3b8426b0aac0eff73c7a13374fcdb78b232adfb7e63ad71b34b2b0288ef4955a42f8176a1c1e4fc01cfe270fd130ec9dc6f6467336c3dbd240c6a28ae8f42d10767fb14f91f824590171120b8cae1817a30dafbc53d4a36e522b0da9cedd696dc687926373ee8a260d6968af017ad282dfbf25b61d7dab220d53714c4e741c9a61a470ed0e609a7ff4841123b8ef81d9036f5afc73a02e2460bc15d88efe444392018f24e93712f80af642eb5743b9b4db1812c7fe7c932327cbbf219b83448e1a7e0130b6770fe294b82f9b9ed8fde7d32f4c1cf3c808ddebc658db0d32c0e30b01c64204700efce1b969db5f831b3c4fd0f8065f2e4feb91d845ffeff299e3b3b2e4082804b08a9c105657e3a85da14cbf7d374119689af2249fd4acdc9de11acf479425e504cf04df5220e9549d18f70d59fb8fca8fb933bac708923897210fae76d41b0566f7cb9073c86953605396ddad89a6dd1b886b88bbfe10ae63452aaff1a98a643ae4421cd9694dfc074c1c34e677f61c02b4619ac4846fa890e93727e0573c8e70ea36579cf5e5867080904c696665d6df5231a0e6f07b4ae4d62ff53f9b5b99067d4ed6bdfffa13f9fb1ef90f175e1882c72d361e7c570bc961d1c853b75344f91f1def907dbbb8a654d12d16df6a8b0e3ca0a3107336d1b9ef5769f851878a088d0b3b07f0b1f20536ae33504b141605d3f6c7f1e28fe41acb87ea0a0092b28423fc577ff43252ee59d036e63c050c8a2d89ebaec3ba83f4e452c7c735ccc45aec6eda96ef1f7277880526520daae9211d7e3db6fec8f1cff4213d3fef0ac2b6b35f3b36db03a59ab675000842cf44d647014bb707a42d6723d1d3c8b73e829a9d0415ca26501f965d968999f882bc4e8172e05d88ea9b4732661366089f8ea5b0206263fcc1499c1dd0d96a054651e0b10bcd5553e933fbcbeef6e52caf12bea27caaaa9129ac96f4918d3d614995ffa0f27de2a7293461cb45899f5539aea39af6dda26cc3b5474b0dd761edfb4ec860a7006c4cf7686d8b5778bf261e2c35312707cbaecf396ef8fc24bbdc5b3723589734645266286f361f772c09f597e5ccf86ea4ccab746fc58bcda9b0f558285e26d7beebdcf171b1a42824e16c83a6fc86f2242dfcf624bcd58f8c1c790e8afbc7d96511b74ec20d47889a30a63d2e3c0044801bfbe900b7f6b7f4bc9d43e2b260f1e7184375e49c3f4b81b61aa050e4627c741c6de80b8e7a1474f6aaf3e23e4571c949addae890e7100a37630d5b3e66d9ec8d1412958ee8c13e21f908cc2fd6855fbee39ff5ac0c831792daa559e004e0117515a201cab1da286c1b1496782f46a7af821021d77329a8cfb9758a5681eff92a8697adb5a4a59fad1eb79c8a96ad87e58cd1810a40829a1584ac2305c98f405d60d629d86405906dc0d229b0b6180021a8d591da039730b7cc6063041b9f19610b4908b9d2a030107c0c05af47c8d6b1cc7323763f6e8bdba2ac3431bfd8b5e205efc3a1eaa0bbf6d02702bf46c49d7bbfb8ddf8f57d1fa940ecaf950d0c01e44f88a05357a23be0348609b20f20030b5bc641eb0809994e808ed5a805fcf91cc2f87c827a1dae8df67f46a67331985b48be200b6c9b208569a6d30162e2b6e39b43c6d6ce51dbd2cfd66b41044d6658a6aa3dffc4623d4820a87d957e6da4ec32485a72b402ddf5354bf9d60cbd7e89ee3bea828fd9a480eec224cd67f387e9bdc839dbf6e5fc1aea86debb0c46291cd185b81787d87f1dd838627d72a92e8704f11fa8012ac31297996d565b5c91f6105efa061d2308595d423e83ee4b1ac31abf98df8b27905d6a56a3fc40ed1f61b375223b20032d7fe89a8403c8fa6487e1dddfa324a177372e2e993edb8761f421cd5ba8c711ab6f3d96ee5a0f7d09850622d3ea7026745e2b35be835864845e958aaf718b349ce788b060e94948c0b21c056b25b518d57b760e3b0e64100ee12020597a1ea72c18faf26242f4af761a8c98d3450d1345e0ea8a67120f50d0a3c7fc4cabbc6a32c3b35cb2c90690be25eed391e821b4bb0b1d2ab277906a98b59672ff5db00c59fccf14695c37da1d0dca4c9c423299665799cdf4e0f530d887e03fca8685cdf4d68f89d7e5fc3784479670cf57c6ffd76ef5c3c53f084a2e60f651f79ac835e13c30947130f69fea20903e902f2c8866b1a5b49f0d4571fcbe27ae4a367b8553848958880068b578b1d1106fbe3abd50fe583d71086c28c8b142ada0de99ade6428c1f5ebf006c48261b68f71a97107785f211984c73d02a92ef431d3d680ddc9c8d113e4d7ac22b97bde591397e70d443692565284f04a79c0d75693bdd133dc794b2d15c52c39df1a5a973999946bfdb61479fd12fa4d46c41cca4f029ea0df9913e29ffbcce4052d1874b9f985f451094dc880979cc9c8311ea34baf57500ad81e7dfc33be4d7c404712fe3f6dd3d0a8223b2074abfaad6fb597e1e76a98663bebad61a7d68f144d7fe0111d2f5ecd845c4df1cc6611a61ad840372a98fa4675db4a07fe5dd15a934fcdb8880fc50af9e472c87f12ba6cc8a657ac7fcfbef420e4dee7f928f2b4317837b6c7d3db0fc6fa6e618ef697d43395b01cf0a9fb164f5e2a11241f2859eff1698ded3d194506cba489986f9c18117755b89d8395c0d06c50fde7619142972a54e5d08557e7dd58a70de1936d2341e1f95f7959f102b2907c9d73f11544a26e12a330a7e5180282a12f152f107fd6fdcc391173deaa6d0ba42a397663607b1740f8d15ce5c4172c13897bd80d1570122e2653c9423c61c5b56faa1277acf0513bfff12687b96ed70f5aef911dde5998ebad544025dafe33043f1b6be098baac331edc7f754d613a91f3336e28154436060a8e1e29cb5ae9ae8155f5ae5a9e203fb5873e8ef5725642b48ce6682ad8c6d3040093b7f4a29c1506b3b8b5eb9170a4bc9c590d96eff48df20844bd3f1f4677089cf0c46170a7981d1882a6f61cf849833d7f4a16fde881e48864f2273904dd24805554060dfcc63bb7bd8baa95bdb5aba653e4c88c30bd038202b9400f83896a0946310727fe27460776c8b653e4c39a0b1fe88db6a6499ff029f0e910005414277fd46937fa3bd5664759ec60d4a4e28f014d2639a657e74d13b56872200ead8c1fda03fbe62577471de185e2ac21e33ee8265d38ae75e2c6197323c795b808d4116c283e2963059284d4f17b2bca27dc49a6178c8afa0edd950a6af9d5451e5b991f3b712962a84fcd591e6cbfe9953f25abe1e15c797b9de3404ea815607eedd2fb3e1e1cda92bd23bcf88ff5679c76ddaaac24a8e8fa6a1bbdc99e2dc6f06b2da1868d656a6afd0b144a7b304342aa2f43a183849b37f5cde43011760f09f6990171064160489cc9dfd9f0d3105818f6a3e1500f81eaa40f1ab790196eeed382f83b74c76fadc9154b584d2e59fb821b32d5120fc96b9f1049a5bb4de0cdcb1f41ecc91d9ac53d57f379f0b4e6b5336a03c1b3eb115439d3b35fb1e2459a35de1b4c70f45d31972cce7ecba36c1ad95f15dd57f37e085d92e15adcd19bccf1e309a4faa5cd5e3e8600d49accad275f0c67c91457fe99e3271a7951ac3015a5abc6a3da7a29af42229ae66c35d2f0ac5fff3d2e9c0f5e713435583784218cfeacb1392c8f5e270bbd3093c2601887562e803a2ec1906276986af642b25cf583a3ffa412b7790de09384dd586856c5aef1d04382d89b95d9f180a0e4dbc9882e192df9296c2ff597f241ff6d32d728a8922cc42daefbcda458142ac8b451c5ad19f8e8031ec171ce3450186a09ceebeb2c4c73659fa9cea099aa45fe828036e148567bce48147f2c003378c42e5734b340cfc318fbacd3a1f2c7e32b46e08a7c2ee78edd887e2f174622bcc0d724740ada3f88900e4ff7cd9fb34f592070dd12fa434e343b931869172f3d9be6c34598047e539e305947d6348164afefa58dec77447162282b7cb44fe9f9d7e9b8e9041b9e6311b308e82827be0e5f67f3c5f519ccc33feb336276cbcd119b0996ffc4f61cf7cfd7436bd286eb59f28f9ab71d592b52bf135e2476714baf24799c1a9915566025f99ed52bc3db8a222906c97bfd4cb84f45186747214354400a1e5158c524a0379ea394ce8c5c5b90927c4969d95ddf322643af0097846ce8a006311854deb2686f399d273498c81280ecb573babf8439bcd842eb308db94b319045b26c54e25bb30d22a5e80e3786ffbc365387ad956c71aa91210540af3560eaf22a84906917e2e0f53cc7f35087a5d32b85ffcb97330629a05b97ffdf9bb8f9009939503a03eda09794e2f97ef9b759546468de890d0ff34a9cacdc3e765fb9bb4c26faab10726d05b0c5bd47988580db1c063b6c1fdc2eb9f7652c84a482dfca574eadd573d1eb5d9c58b14a11155a34f7d80d88e11b37dfff5c2a408ec9af1a9a5387741bc96a03e18f9b70d9da062d2aabbb1974f0b190169c66acc420275c1c8afc6f74bb9f5db9f4efbdafa3f8caf8234bad576f2356f2ee0fbe6829c7b579016a09d6421bde4eb9efc1a77771d9a829c691c20ab4d9f1d4b9dadc089317143da05ef95a51c385780d25f68341db0bf3b60c27716ca9f338a08e6a13caba0f9cbb4eb2cd8900623ffc6a1931a782b3788574460c33925ce60165c656c035f1b6395d8dfa5f8fbaf490412baf04c0556c301f08b48934f0a0249ce6667d40c5b5a93b79ffe3894739e5788060ae02e9c62006177f2d08bc437bc902101871f7e1fbc3362c2a7b9fa5e8e70d7ad6da75ffcb77aa021873ef5bf50c8f35d54798bdd716c8bc468833935ad7a5311dd31640b7c4e1dd2c24b01266508d88b8921309092b530e569af351b90796354f8ece27461f125af2d107f835a79a4421f39920d30671329fde8bae27cfba04edcf976a4f573579ab2cfea91eedaeb6b93656b4d9e04826c194f709ccf9306ad0b0839a8ec0b59c38de3901b947286966704e5bfb014210e38a489a907ed740b259cc3f02fa5caf7206cf5adb194e739caa060685081db780b72e864359add2294e10a433fbd408140445fae2f3fba8bacb0a824a4c881077bd174777fa93c9d212b2b8272fe994963f68fd4eb9ad689b1d796a85eb45d2fad6165623bdfc67f5aaa3fdbcb689df47c1a99fb68eb11803a9f54150798f7e563d4ff44ee620c4da4b75ff9de55a916f8c4fe043fdd384286b0e2cb5b0fe81c529c6d7d17cca63ed2d5ac425841011fec65d35a9f811c925ed568a4b87e44c180bb434050c8b3939527e7b82d4800e1876b140a5fe13df3c0351f071a6ce25f9578a87764b487037f201001dc8871c7eda2a1ec7401fa8eea01d8a37ffb6cb985e2eb675cd4137961f7e10d0025b7761753a6b7b09107d7cf90acba3f3321b3ec3f5ece9dfbadda32520f5129ebd26bf1bbe999d60b1e970d7c78cc8ad3dbb1b57a6185e04e3b172db57b5f3e636d2c1a65e46716401d3d0fb61a1ecbe6b5dc6f766bc793dff4bdbda792ff4870c0bb34dbed67663fbf690df12c2f6eeb3f5cc2e8a678ef2d8885bc97ee36ddac6d5a298a47fa0ecebfb57f32da7758b1bbe90ffc2e8ad301eb7400e8089bb37ec681f057bb9fcbaae997cf444513cc0c557de3f93f8808be8cc2680d3d7b57dc4bb384447f5390bca2f9650a97e3a5f8f98f8d0328a4973abfdbc2fd130434a42b2b51963ccd43c9595658d26b546efcfb039dd53c86dc2e33849efcc9a5a0dec0b40cd8683e2afa96861d6f05be6c3be6b6e5b6233e3fe5e4d93c771a201a930aaa0312ada187de5ecb2be57a4c0466c37474afbc9643fd283d5e72387c94a699ebb8d437c41df0ce15f8c50be2f42f7e821bb04283d001eafbd2db330a1be55f38f6cd2acffe41b9a1f9b82f7c82a1b7188c9e46521eedebf8375b6d06f538b541123f17aaeb8f50bfc08345128ee8b18f8bdfe3c4baee8ec6ad27b34457347f1cc3cf18a74e1be5b7d6e43f48fed9c3b476002c926e8d6eae9dc73134f05f0f6edba4ce0f049802e99b87be2a0c88e3e8785374b78382772656c2429fa02bc0d052794a55562e62ed6c92418d4004e4cbec627fee21ba5f47d9e4d0a128d4784e07c355c731eff1f1fc679435bf288f7b9d9572a8c0275740f455e770e2a8dce7a535a169a8ee6893ac6fd991376c4129cda701c538f8bfffadb89984cb9c9fdf36409fa61e90a3cb381d69b684a5051609a003f4802a039a171d62e692b8e1364cbed88446f3ddeac008ae7abd0e0898d47f51522fabf6d1f5f816774fd0edfda4e0a97d8d302ef3edeb70b65a7b43523f51552664c5e9ade4acc4f0e101792400fc047744d719812b89b5752466403d5d5ecbc1ad119fb4d6d2ab9c6eaa7c9343b1bb1999977bb43fff920a1be3c88388bac6bca2d280f6e502ecab1c1113f822df3786913603d030e8b11f7a50c905bfccc9ffa5b8ab4b9a2bb39ab7d5ab6c295744fa62b761de3a5647efad02906ba9fe249a63167855ae8fa4e407cf097142e952a19f0eb3d1871ebc304cbe40bdb169597a667d217b6944d512eafef7ef5127d916c6cf564947fe7fe6d5d5852b523e2f20d1bacb399dce30749dd211a4a86e1bfb954b41d563e2669e3e26a3bfd6cc6348e8a2720034670a39dc42ca7c1732e66ecb8a4a8868589ab5de8ef967db29dcba120861e15507ae0d11fa61216e737ad7060d3d4f94de3c86b41e51022387fcda1beed919a3afa98a2f1b22c081cebcca73ac7d911fcddf555485d57f0fdd9f017a5a951e4d5e15dccaa4f9a5bd44afe6b7f654ca9163b80cdebd8cbd8c4db109b86f9f039b9178f8953a93c9ff85ad7e02c3efb3f934b8868b61c1c628aada27cf526adaf7ff79a6c1f40311753821f19242c19bff21d093f0e1acc444412b72859a57e382e9d7e6ab7ccd9c8a188dd20ff526a675fcb75e52e50f34b388af3b2cc6c734f4e4e327e74215fbc936917555ff539f0aa061d04b5cd45b0c1fdd7edcaa7fe968e21e40631fba500ce6ef35f4dbdd7ac6d1dddefda2c40d70ff3fbd8a3417eefbb1e4c78f781b2bf5f1d17e4cbde1ff4b3a2b942fb23168b967c69e7a53d35251c8d4f199c05dadbda230094f3035f6b98faef35874be9cf614c79a67dd9c05d4f9a48658806eaca7453671c82ec2a549f0b7e82d663dc8bcc0794e7a288ef558b282105b00a0cdc81a28379f327c5375dde440588ef7f727b1b79dc73b3cbca6deedb6537123e0e768b1bb9999971d78abcffc9529d3e6ee2868a7e2740e1dce7215fdc6d084936e7a87154ee83044a0ce6ff297ca556ecbb107304b200fde5352b1dd1f696dc9f0d06f6ae8694c92c170db8803cc969dd50848cb42e954bf1d4233d04fde35dec4e96d2edcfaa3741a8c7e143ff3194079a02f508e68f47606abdf237ca5fe4bedb183c688a8b31112978733f17a202b8c557bb44c8459666272d0e12068c917a1dcd7172728224ece84bc2a657d3c522b5369ac2c6d886b696bb03e0b650a51657472d9047fb4aacbeaff7fbe27dc864f2c0b86daae9bdb993c15a75f5c0d51a78ec57726e8bc2d9fe2b6079bb2860807d4a37719f227e9c21aff664d36db2794ea4b229c76511d97552d7607ee76393adcf7f6bcf500d181b0c66204383bda2e3ff9fdf54a01afb13eec11fa1c85501554315f5a366c84ea74c45f55a5d38aa1d4b856fc13b3bb5d4406f6c15bd8a5935a5598d7e10d6f88fd001a9c49cfd845b36be1becdcb82ec638f87d978dacbc0c39d59f035fdff7c7eafc345fa3ef2f329e5c3157b6113d40397c93237afd9798434aa2f2a3f8d2840378efbfffa3ec3305fd06e237cfa817dcb05ea9b9b7bf1f91958f972e8737370abeb0bf21af01a26f563e9a2068308aee3c3e25004f0bb390456719094798c0b8ef01269c1a943847d4de04795fad586f103916e123910ae3541935b382dacaca89acc47487715a28e2489c54fc64462e32163c08e7f5320aa36c0783f07947a459ca963b484a57f5619add07e5af9bf978711144e54457dbf34cd25ac67e85cd2a44dabda32422381a16b6e2d809c29c0f5a04d1cd6cca37597a48f235a7609a120b601c1675d358d37200e33dbebf0c24ea3fc8e115f2bd0bb52ff1a83735f0e102f9b750999291352c08563ae8e63de6e3ae8c03dab479de02718d705cb1ad0f440b01e2b61b3db86c04095527c5d7114131b413a4892c02e29d01f8f34c19c80cb4f85ecfa903bfc3d8708a97cb6cf5b4271d6b49c76cb2caa3e23de512503a44e8d5e5a777a0604e42ef145db711fb18d36bc23cc953f2aa06951edd57f4c10640c22fb5a09553c0702f3b044c443be014067bd9257cab31744c0b033e1af46eae7d642949c2a24d0c3287409ba318c4a5052a3583a7a001b181dac98d6bffd06e4c994a56b413d366cde2830ae155eba06f4a95f3f90d5f06a9567cf6878cae1dc46de5972e19cfc9cf64aac68a21ca1921ffca6ba6a9b2a1dbdd0789d99b3e7ed66cc879d7ac5fccc4d95cc999198e1c63cf9534986ededb1da5a7c61a41a5e190f03fe9ac6578071ee5c34d963b01b1312ac6b6b6cdd81ee995df3bc9a398599902151bcb686dd03e9f210d8d1b2224a4a2c8cecffd23d29fc60cefb17e720b7eae6336264dcfcb269648c0326f5c3881e888c51743505fa0d65c092fa661ada370eb7cc90e5b8df0c06256c9f474e982986b290f40ec4f01726c2e9757deb3eba05ff9fbeb57c8209f9d15bafe700d25ac795e1527f6346e3eee1568b843acfe28a9ff879f57fe6e0211ba836b8499bf8c2859fa718a784a78a17520fc9aa71c4337d46cbc43d2b13e74d16cc7432ace31e44e137bbdf869f531bc8470fc20fe71cb53cc109e1c5be9e141c077ee379976914ca177aa6d1d420f3ae7fd250c62858de4ff99904c124852dfe824fda28d88246c9b5d804c686680a60e8be637931a8cb7a80e190bbf82647fa72b620f5eef2308d17bdff31448739092d1522e9acaa748a261df7b8122c7ae4243348b1edebc510ba8187b86f120cb08efdefcf6e843229cf1802d1accb8642fe6abed2bdfbb3bbb88b5e9c83efbb2467fabb7113bc57721e9eadb0248d7b4a5e3be9ad78ff62761a5ecd3ef36ca56d26b800471a23ce7e72f9621a3185c6b3153cd7b55ab8fb2c76b05b6048ed9ca4cab355d7d90d23d0c7e55bcf3e59602e73c007cfd65350a7f64c14bd70f0eb26d434b6dc83e7b1f1653970dc13b548565868ebeee4a50cff0dbfeeff8e256af6bdcbbb8d12b3082e4203e9666bb0ca98870898e90be762259d41c305028edc198d4678256b52e26f36d38305073eb5f8f36375fb883a5a2df03e49313c82723d280e6fc339c965bce31b276c1068863b965d9b489ba8709ab28be73de39d2ee67491611e303cbf78763f7fbbe487b44f12b376dc9845c481c8be42d5f248ad3d160ff908b100064c9f413b2aebd154bd1cec175ff257bef3d7aa9d853f82b8361419c9a135e2e400cb7f1f79a6f1be4fb667539901334b41fa9f33458bbfc92d2ca982783814493de19ea4a49e89523b50da6d70a60dc702365e800922eaf49565af03b7fb3bb9c57589ca8071765f98b994f2b80de5419ad018570a17182accad6aa3e92adca725562d390dd95f3df0db89c2c4422c80c7b21a4abd380319ff8d3498ebd597a0778385d94e7db75ef7aa1d74d0e3600770815c09417c5ad812a398c006d7f868a8103f47250391f76380d413ac8af320bc771673c02eb492bf95ef3bff18314d063cb6fcdb0ed209a8d36c0dbbea713a582b6ab7346cd4de21fa6f5df55cccc4a218b7b080d6a2f36253e276e398b83bc818a318c39b0cfecd393b3064c4bb0acf546015172f64ea5eaad1587a8444e7f19c74bc2aa4eb9e4226c8b6f9cc7b0054a8dc731c104d55b1231b534a91a7a3db90b86cb1abae88de9287a9e3710e0dea93759a55ed81158197506c27ce622b10a0d290cc26a586fb7cba878558c35969b6ad3266ab5232227ea7498c71bbe3de823a911b753011d0340204fab2baef0fe5af98d0e78b0ef401d600fbc4ecbc7f03b8a861487e5de919a821024812f22be9b89b477a784a9aaa88b18caebe80d9fa7e37a9963e1b80f8d3e7290da085e9833d5674b3c3beb91f87ca7d18b0b0b24de551e131fb336b4e85838d9df5045ed06777c19c9010519c0bfe98ef38c97fe61d5992f56fb830beb085acdde67faaea5a5f5099006e6f28f1be26e2504b0140bb4dd55f6e94b1ea4c1cac5048ce908552cdb5d906fbcff62c1f1bebfd15e3b74264ceab0b34889335d4649271859f03e64f6151f976ac648ad7b21a53ba4d244f462b92a726cea74dc67256bc11838f726141309df6eb9424c601befb37f5fd7503779ebcd85d8f363929c3477ddfc4cdbe74c69e1e588ed637f601a128e8f5ad3144b35b186b71776d5244bc28414a4b94ba6a6434fc34b04737783df002b1e8db64cb4b5ef28b35fca240ac16bae391c33fa73b2813f0e002167aa952d91882556ed04acf7800ddb648a7afe2e04a224751fcf17c7d5382eda97f0a176d7bd9d774223176cd95e2bdee4d701de6d885a088cbd1458aa0c9da09f7937fff78980ab1d15a4f29f8da263bcdfd277cf6e9483ba2654fd1eb37a4d35d487b3f055b2d523874a0647e912b897f88eb1aa15a90797612f77cf5aebe5030095207e0a9e6392be3324d0ced3b187269517f6dfb041e7bc704406f4d7e07e45f7f7a74c5afd96a5afdd2ff6d2ea2923fcba4a9861041e61d902ef82ac20839b2c6656113b5e45f78010d8396e29f4d1870e7bae02df15f3b642fe4b9a8a5d28c5d7980f65b3e7f38f20f833f45800bc2207f6340ecd58514c6f78fa6d929ea32cb6cbf944818a6fca8af3c9670cf6e8f619082b202d764a6f1f4ee3f56539b8eadcba2fd3aaa2925adfcf9941ae5c3f1e58806a528df0da4d32da4700ec3afe13516e859cf2ec2ffe4f803436a0e0f25c815a15fcda7e13ba3f127a4c2b9407594101a80199bd17f3e71b183417a6c599dfc8f7447485aad6d7fb69a9e08b69b19356e6e0f341e0403028140a064cf11705b8c7e7494c30efbebd304b1058a2d7552c98dc54caff54e5a00bf447b108febe9dd1caadd544e7a1413be06b70be93cb9d2ba48d39909b745b4d9c9213cc8d20cdbe0a15bda517f47480f1642699de2fcdd98180203601f1759de68fc388f9fb4ff4e726e353e0c7fd026669d8f714a569d6a0cde7600aa19015f14459251e6b62e89dc3ee5b1d943c9eb7e43088a528b8a8f84c9dea1124adcfe5822331d248c2ec44c4be0530366f3ee623db4deb201f7fb08e4b4ece7e5141ddae9164a3887e157cfa327586f7ad377b2baa31b65aecaf2b3cf7b55cec8ed129369c29787ece43286024470f94c96573f62f5cb7cb649bf7e061fd1ac9dafe97259e738517f3f9f6d7d724d64fa40c878170e5ff82d4de2000c30eebd9c8612f40794b82ad9b3eb86b9b36eb3299ea35b7ad6daa309e55fa59a03cca3b9bd7a5fe79815aeb9c9cee1afdf19071fe337d36126743df4d61d40f66bcaca1728e4f9d123b525b59771689facc2420923f64aeda7686acad7ad807efe59b0e93fbdd75db1c02755755233826126c091757f87f9c5f43a0e434fb0ff97df1ec76c15ea754a982f228ab3fbb3223f507ed273bbdcf295536ce14a5926f021fe921540cc29948adf2846c9a42030244f0f028140a0fed7007015e9ec7b2e1f5833f6a77190dae9401d0b9cdc50048039f019de2db874342604d8ab79096ddf5221de9f5ce9cce42ded606e63541e06a423711d44c5d6107cbd1cbb4e04d5cc1cc3b5531e5358e9719dcd7b2ec366c77be0034130201008043adeb3c9b66046f67e2d9dfb4c0dde4fbdcfaf52bd55fb2b7868b4084b6b24e09c959cf4c553986d10c06cfcc2dbd84b262ec5ae673cc64384aa36abda69bc8e9115df37525458bcf19b3152b3fd95f6bd7fc49632917387d5d77642a351a2903e74a0fe27d67044ed4003228bf73542a630a03aac8bc6d7eff2dbe6ae1c6e64b50e9dc28958d1b387693e60e082ad70e86d9a3151b3e3555baf9437fffbbfff612779e8e6ffda2390beba9484fd08fe871df4add0d789467d71b20d08a5cec2e6367c7930916da70149cd1a2aee23af2e793ebff95e7dcd6eeb80fc878b6665066cf71e077f539e9367ce98a6b4af39d4dc4773cc5772e1126a2ca88926bc1a74439415a3edbd08d0595f20779cbd9eec5ec49824cbcf6c6b054650cbe4101878b454ba97e4c9bbfeaf8a7fb924683a477aebd235e7e9591ebbe95f374ea2520108877d4287fb81d8e29704ab78546ff3efcc4d6b476f6ae78710aaa6694bcfb74c027580e9c0a44257d4b8be7ea9fbbdff112c12a458c1a29ad54659bc48fa7fcdde8fb4f01bd93eb1d88c2671eaacfd2f6b507dc4f21c23d66c4d12061f010821c41fc01a437c5085158a42badb175ca7fd1bd20c335fcccbca29ec9e46aa8e75e436ca18a9d9199085f241c5829421bac1735f03ed2f14a1896f6ad9399b78054c3e6ac12d3469fd9a0c80e1a8395519f173767a9b559568f13f904b3676826221d96ae458c4af12ba2358f82e0cd51d4362ccbc7af917a0d840b1a4e409cffda6b72eb023db9123a132735a247d13bab075d727502205f07bc989c2ab3460ee73fea493955961580de1465df822692fd976a45a699aa7582ffe6db12bb087642016283ddcabf333b934d0a9edbcc535b31b67b60c0ef0a8f36cfa556985b3d409f9069073f8dbf287c153e29725b709ba7989aaeb33a7e929313ab5b1e5852efa1d5e88fa6ed3c279d68b5a98cb222588d72fc5dbb5e9e4a1fafe851d8aeb51e226462ef853bd12d030e8e53129c61ab6c7b9faa37969f58bd9bd1ee9c1bcf8d63ee7f65d8d387ab1249b5cf2db1260b54a32951e7c8e61fdb79a61ba365efee7c337d7c94e589c859f01e9f6ee03f63d10af036782c5a2f5ee826ed3143e29dffd87a2e78764b3c056c761da96d04f4e8e143a21cd1f07083a03485b3ebb3c1d805692b67ae2db936ae5b785dafc6fc1c2c7cceef79b15332be0fab6be63e6e3753133cf167b422254432ca06c334b6b3c52405d0593326b1534a98c9dd3ab7b3026e94c7b7a70a6fe7d770e08a57312fdbadf25a92f29be8f2eacacc2100bef396cbdb66a449bdfa3758b50002f863602be69248dc24b2f3ecdf185a5dd568fc8408a01e2a024502ca11808240a9ad70189e471afff91f8eed75ad3f33580a0e2df95c85cbafd16998b49cc2956ee1c2c2a7766c6e5d2fb6f09e01dec5248b5c1891effa2b4e1b5bf6587f18a74ca9d1a8b2cce9e137e96fb9376c23613896631ccf307040c5de7dddda051d07d3d9d6a456904e5f3690f8c0c54a28a1cc6c650b8be42e3dfe95c8f104c3b3b3481a160bea32409fda416e10f4c82d139d50e2376e37af39e5e8bbaf403aca35406f554310406043e1895f71ae2f860e624027eeca629b4c6c5deb6c1d1592e9065d652e451440221946be35c863759a1914467b576cb2b3298273fd4d6e6126c6cad2798ab5c88c4049344b9b9f938756eccfe3c60886e30e9f2adf28cf98156e9e3781901ff5ffb917d4be20f5b823e925086414b7952b16064cf972ece7a4529efc70f245c79057d04d2fd5ff19f073cb71eea8b1f00f01c73e322097640e9e5aeb6dcda9eed0deca703714489aa85c84526b5ac363cf8651153788c6a00037312bbfde73e7d1d6d9d7348c287063f1d6ffcff302b4b7fdd6ee4a0f99a36400b849b7913caa26f66ed47ecca4ffcfd1ad48d7fefe52f3eec59d5afa0d10aa17581d903da626f38c85e0d794d7dd7ad380ff7fc4a02b23a65c6a8aeeeff55e435bc734938b5b2b09fd5e21900123d2e1d99de3cfc1f5b8b5bf3c14fb34e7cdc34e43c8f636d856b9e031fc32710d4f79956ff8fbd4bfa6ea6fea1b28e99078cb020584497821f4588bb094ebca943f565a58086414b79fdeb20065453b385d10695c1822d29ac381fa5f836d91ac1acaad4fc108443720041d52a8cb038497724b8248fbdc2202e05efab74ff8043921a9eca6211e63e3eccd8db637fe85c4900f080d0cca12c87f7a134a1c443d575c3cad9fca9a2d822e1c9dbb00b208db318047c5cd13c3656e898b4027c166eabb36b5c00d5d550a1f8b26694102acdf41b0a513ef0be1e201822699908bce7577bc2e9d8f0a70e68e5ec1b7b1d65f2707d7ccf19defbb2b61d5680a2d349193bb5ef9c00cd2768c78779f95d0d4307c56208c99133fca2025f9a642016104167032aa0eb3ffcb2fe7d75faa31bd9f7a65956baff07bbc8e3ea7426c4951e50bc149e12e2ddc2d74611e123be5c31ee9aaf6c78124ebfba6cf943ec09e27980f241f3719f127468a4769af67d31f7e35fc84f2b17b55857fa5ca0475935f0374e3e48231b4938c3a0e77b4234d3fd880ca26b73b451e988a72d845b3f44cff6cc54fcf8415871e25df351470c0810b4ba59ae9ad66c06fdac3a35c361c33ce8d6533c3eb426e1e297114bb2f3ec41417bbc313bc0e15d552423ecba8cf9f54fce339f6fbd4d99d416158f0371d09b3380fe35f543730335c1dcc87da6e3630c309fbbeb26b4598db2c0c037763b019afcd02e2b2ef7c4fe3309f197b8582ef1f813d9c7a4ca62c3276d530dd2f5c913d00d1779996deaba75df5440f733f95362a82bc2c5621e0b11c07d509747a54e8ebb69c0082ed3d0e7df68c1ccdf614b0f81987184ac078e7b6320c010ef339595b5ac01fd2ead6e79b0f6b304adc1407bc8c19854a84deac383269560a279b004f7f644fe3a775003bb37aa3c2a247eaef099f6ba22c7e9d4847f31ffbe79c45188fdfaf5d6c12cd2e7b2c7c4436b75475272730ff761e682152a68be1cbac7ea539dec33c239abdfa094b07376f9bf399b56488558a24aa0496ccf1fe3bafcefbaf0bf3d11d5f14b28bc98c7094356fa076cd43a7b42dab112d0fec1279f4d030a7f53b90b4871fc5fde66763b180a7ae889d0d40dfd3e4c2bd83cd9fe7dae4d84f7ae9f9366c6678f72c206cb36486382eda7cada5409d6af6f5df6eacb66d44d9941226c8e4f453b5162f9e88a500b03e5f6234b6c41f990396cb887c87e9e9e097f791b636221027014fe476f70c25657f439e5eea84c14cb09013bed6cd10292641c88e6fe8b1c07084f04a59e517d0bf0b623529d73c3dae9c6a70f8615c43b1ee76730a9e086ed86e7b0f8f2c804c72132fc6f97a7be8506d6e482e9cf7167af499b6ffce707687b50322f6dbe634a0d7199a96b10c431cb90f6f38474ba8756828081eba89e8f12fae34c7fc970aea8f1927b3163eaf191ee6d34d2a719c9086b3649005ee5e9e9ff8e18f065e90ce9b2873da90dd5cf66e307c32616fba7f72ad994f21ee8f449019bb92f395f0b9cfd32db77f74b82f1f1af29bcdd329f5888e824514e443a63482d0994d55c29538fc1e16812ab48adcfc7597ceb3241a1f8a433f7639050e767e60708c6658d6df48df2f237e4bd03135d090dea06aef3702a946ded2245c8c3bb85247621a3cbc975ee00c501616523859f2c2ed6294186f5aff20db41136d84f6a013271ee753bc2ae2b1d734d8e7a0bd342a1b5bfec3da6249eac25c91cd79df1960ad874a9f6bd2ab0aa1c34be2eb37c04340c5aca7b551126d6cf877daaf34e6cd2c3cc145a3d31d036f8bb9b635d8eae725fac1408686c80cbd7229c415abe0fdf1402c45813a19082ea0fdd8ac4f529463e91184498b1a7dcd2b45cdfe2dc51a6e30ddb0d5f035f209ba3728a19bb53e199b6f80c474e4c06010297f125813ada869e9366985d765913c687bcfdd43dbd167318915b7a138f84475ea7657fab6f7175004e2771fa86c3dae36f7fafe6c6a6af6768ab96bc9ad356d3dc0f843e457ab8f7506f655afedf4f46a18e4d4eb7dad70a3e0bf5737ed9e781be7fbbc0f28cd0d1ff85c82780444b7953960881292c8987f898edbb63c918f3e6dc4718b511fd49dcd076917ca9809f8030c58c873c28d751a17f5f9f9efba32d40e950e26a90db31b918c78d425c6d06360910f9519b05059733f90c82052327ca7adbeef777c08562fd76080c2c4c7f02c01588bc3347685a0cc2dcd39bacd088720847b7d42e2c2779c69b3de0ae75ce86b6ab9338c0db43fe318f37b1b80683b11cfc552d8beba5e037f6737c77262863f98866bd5a37cfd1d56bc218ce73fb868c8d95fba5097bffd29f78813707e97ea3f3b2ebf90460a3b7910879e6fcd082d14753fe97f4c753d44684c7edc9f7cfb26acd204e000f5d11558210b6f12b19ceb256e45e318ec3d1975cb530c1c192959347c501ebdc3a5b6df9e300d47f33adad639be80c1fa50ab0488ff077dd4dab5ef139e1675596930a37cc44d9f3d93840c3a035f4e475bae2ff51d0cd424c3b783e89d6415a79ae71e0bfad7abfa758c3b0a05dcc00502574bef59a0b4409bc584fdc5d2cc89b9863725c180de6ddff51f16c386a13c316875628af861c8ffc9a5aa4ff09615b51d85ac26fc70923fd6437361531cdc28fd948d341a57280e5d6a7844a2903f8656724243277bc11055f73410b722c1097a70bae8f4a6d0b0f1823358737a27bffc548fdd085e289bd2ae03f5d048a1d42be4380fd5660a219753ff66bd5cc6715608b12394b5fbb4d3f3e6d9225942a262288ef1d21cb4d52fcda0cfdd8a9bedf634cd41cd9710e037100d510621a7b73817aee8b4b1386f9da760f4c1c26fc279445ec9a95254f5fb64980e9f375809737aa5da6cc2c9b34cdb262a6f7c2794e8079ef12e2117341326103780c3cfd7120c0b9a9e3d5de47ce70573d4ddd51c38d65fd1ad199a480a93aa1d9ce28c7e6a65f70806a1d5904c89c88a95471946f647caefb9cc47d59a1f98aef91ede4c437c5edf7080ee3442f2702b6510a2ec51e85eb4fbd4dc7065355cad8fa88a9bc0aac31dc4e1133f55358cc4e18bb84803822832abafc81c417a76c6b9bf3b46d00bdb9f6b322823cddeedfefbcfa45cfd62157b4a9a4643113dfddead9d14bff6769e53614f2bc9e8c8e401cc1d77f0bce9c60aeee3b21ae5e57ba96616548e4beab5c399c55af636252d2985559b74a120406741ed0854b501ca84527887bdd8df3a80e021ed53f7bf5a0b382cd5fcc32a86400db649a2df942754b4cad97826130f1897f3f9360f74056835be3caa9ffd4373746291f351f278dc654f1cc0fab2bd913ac56896cda3e5ea80d193afae4b73b9ca45324bf990224a10cc3a76125164865d368ce45ffaa1dc4483814dd5ff12b0927f29869657dfbeb3d8d66be267b2a00b370cbeacaf99e0bcfc734d956c034f74afed08dc92357fa892bf8f1a458b8a307ec0f82018140a04940f998f9d85ae562370dff3c6b965e2ddd795682fc7271dd16c9ffa0995073f71fb1b6c06860dbd11375b702faa3db2ec40d926508df90153873bedcc18790ff9d966aee698ca78b450d71409f408a52f4da91319aaa4ecab0480b738486788a1e4b474ced27099a25d4b2054081cdb4206e48d851006e5736b1b3de76583fd80d3e3f55cf87ae38e30965f1528ff386429edd9f4e260cb713eec93ea756ab64f1676985b031e347e46b5e34d9b5e4896c448c9ae716ebbb007b5dd4f0b1a41df902ece44c95d2d4a77454a91ec74ad942bfe201c4a6604d2d3c4068fd2bfb400de1b0418f35012bed004c3343a487114d71763fcff7692e2a998e56edc47bc489c04255d06c82ae4e4115edbf11871e6e66b41e1c8e84fe301f2f94b84b528b5b3cf7ac954c8d93b1aa12d28053fb20929ee9134ba41d95d5925ef97782ef3ce42e186443e79da2ddb86c5b06f6989c726bf3b06b8c401d34cd0bde6ace771d7c98304efc3e14c1c5dfa08f7280a2303785fab441834038c3a0971cf97b6bdad064bf455172067d670ec32c1feced9188973566faac1e9594b7e978e90d04fe391b33f414f88d626cf073185b7af07f43390281d3fdbe3280a2a7bc78d202bfc88166c06b7619390c21476ab698e6fa7f3b38f6d719bdd24fcf0f4992b76fbc12fb45bcfda1b87db97a3e8397331984781d5760498e99eb4d5ce00a6efb55c03daa15faad221c99a1c313e077e889104712fbbf3e59deb9ecd015184c947600c7f0a0a99cd4f303c2d90f7e8d2974f516a67c7ce077fd3a93aa87cd12ce8cbb9b8080d1b9eec2b74a56d16b71d0daefce5fd6f7f8a24944200868183ec5412c0017feb2e70742ce42667abed4a64497f942f9f51f6d38ed027f11623743d970022096c71f326ce46f4cd9a1b63be0894ec78bff179fd197bcce9abb27d8c7a03634245e66b112b0eb0b29a0b41a6f1518c224928bd31fc8952f31e09571b76fdbf73d098e690917e03c320b0d450077d5c2ae43674fdef30c555a3c3e7317daec5e2f3f3fc56aa10721d435c1877201b2d612a28478c4e5ccbb8c3e925559c3e31f472d877c08b15ad583e7db2bb45bdd7ea076a4b0450ab940c0a2499887905ea1fbc4acf84073f8d814bf34463733a9fc0d90142e49170b8d842bab75fc828ed5aaf338643f1b34142f782ecb312132be60a32503eee3f6e75dda7d48132ef0f998ff0fdf0f6375630c2f6d35c3f87dab585a82b67a109c172b5b9c78524b0d7100f1974390198f17813493ee17a668f2bd9d87f6ebe187c8eb021aefb71e84afdc4088db7e73870b557f09fee956fbfc5552d8b9e777756775117b7c6832dba16903ccd8dbe4e4f658fe4b9ca3dfa297b70ceb8305fc2b88a11153da7856c79b9a1b3faeb4b0f958c8970029e1fae9b1d0efc908f543b47f77f0361a83636190f6217b28e7e88293abd89670c59d6703cc80322b065f66c858c4a8ff07ba8f789bcec333311385d175f70f165ad4b2a43bd1568828090bfc94b4d7a34dfe7a4ffe4fd1313b411153e7e7387a6783c8d3c6ade3691fd8ffd40c22f5afc826015144d7f8ba1284cc94edc80ea4845a96a7ad6e2d1c20f9dda1391e0f28e042b7ab4335a12f5055f41397a6f5297d727fee668de88139c9f53990e7132863b8693fb8a648c6f433ee0f69b8aecfbfebce1dce07ca6b0fe6feaa2144f83a524d78bc1f3423a01218e5d8b640b278c2ff1003a0288afb95367cd9b0491c5fa6ac6dd4563abeb3c1c87e577620f82bea51c90ae3a3248eddd6c158c287976671cdfbcdec511cd8033b6c215c82962329a0613c05816cf824de403dac7700c994e30ddd93deb8c4454c45266ddfe6c66be26273baf8f9e91d1b23fb4d73a73ddc11e4cd95d7c4e518d04dd4e8dfde95737c23a4ae1faf3261f24483f32fcdad0c84992244bed2b533e881df591f8232618ad0bbcd58e728396a9d2edf3cec83d03827b857f2b5ced3708986a88848e14e602641b6f0b02375d04310a068f6706e28427c4923e91388d1a54aa709d85a8f123008fc3ec14297aa332c8d49c4dd218ba353b0b3f23866343106313104065c2e53a01d01bd9679efc4b3fedd25d50254bab897d729d2926fe53f5d0c6201005e5d48a28f58af1286ba196e5472632aa6fa2b632d4f39d9f0e42a9e5a374c13dcb1970db0006aed6ef85ad39b452cf5ff1733e3ed8a3d635498d0c1c35a776bb8f0d0e390218ec122c74598b3388805fc8131c0683a82f6d3ccf18f84ef7c28afe1032ea3afebc5fcedb37f6bbe7dd20404fe2dec6d63c01cf489fc68ce4ce1ff645bf4d4134c93c0889a5b941d1b2f73858a9f58a7546242f936c78e6e554c3f21eed0dc6044c56e5b322ee1e009c74607e8a34f5286849f1de04d1a73feb5e58e5bdc78bbf397e5184500d13e97220f784757d477c3fdddec007611b601564025a588af24162d62a9ff8e2ed21a1c1572015778f137ac409188ada9292c4f15bd210e085e106fb232ccfa7668bedd1b26acdae922694b63b59b9ee8fae3331193be7e18a0dd7a06031d74fcfff37a61f2b8a95492aab046128b9d374689a896ba7463e4fa2ad5f45ba69de3e56bdb115a7de2e21c8e1bad7f7edb6f3defbd9817174a9ef19b1edc0ccb1824421c7064899061dafae72e7b90d9dc7df8329a3b38d1e32e1c11535c3f960479fb0b1b40b6d51a16b4cc3cd75da5ae65bd44693be44fdb4264c8332f4ca50c2bf9c98febef075231939f6f47286c63297d806401bd84e8c082d905d0368be3747c0787d04a7284f33351bf4e50efeb0af9df3a7bc9644daae24c41b28a35e84c4d1e47fc12807a727d970418a8fc7435ca7fef69aaffcd61ad63b9b3a8b79b3ddff22745bde9df2c2187def47daf3fd0e74b0b8b249daa96b3ce717655f3036db49ed766ea912ea576b77d893fa211396efa3c09db980921a5ae3410bde51a0eeeab2f0f1190ae6c12dcbcfedebe8f5a1f577f872c58c789acce6094f6287aee012eced56f290a184f959d1b0309bbf84321626e3fea514849840d61ff89d19690f5c034bb297ec00575c95cb031f22329a4c9b325ac2a2bbd78b028f74989436995415de5899a6bb86c524affa83501bc866a9e5c3c13b6d8f09dc1da995a47503df260f08bbd6530659f76ddbf985572219f2f7f817c4a47292fc37ac613dc6be2dcbcd354e747fcaad52ccdd79b28736daeada18a31a1e31be61682455e17f1b7b410f440920c504e7741295fa7229cdac3a7edee60d7444bfd09b142e770d9a31eab9a546b7a4e3ef03c6e14b00ed22694d3d8e487c0fc94e1fcf6e4c7d1689aa97b8f5c18516a6c2ab73c1500af487973c29bbc29cf69ab5a42d224df616939743731aa07c11f2ff24726c5b35ecb675da261b8e51fdc7ed5a61b0203f9ddfcca376992edc89bdfa654797a2283709c428de4b29ed2f6b130fdfb715f00fc8211023296c6fa7ac7659516ffe08df679c5e5663386b73d99f39fca56548a3d30df4fe9b87c0877c2febe886949e609d179f627e74a124bae7d8c3eccc3f047f7796dfa8b358fac855f9f89dcfe777dfb8ac9c9c7ca2c2466f739e45e5d774d0fbf4f758f0c4b21a26341cd9aafcb3f305b9c126dd5f1d71ca09e20c79d9f60d85b86f2fb5f9f7df6ed1d3ce6f3810bcf85f89593d42a4217a10aded7e249a96e9b4b2f80a05247fc906a077527960342c4103d7256a508bb62706da321eb9afa5657526d4c1a70f3b5ef522a8b4b94c6d0e3a53015e313150571888539ebaf04b866d47056a921a2fedb1bfe7e74bf15afc5dc03feaef50f71d6cd6fa57f8e7f6e4640e42f44e23e9f010396f76089b7954f03d30a244a8e64dd20263fc23b5789280d77a4d84f209d43167e81411792139721d3e731eb1204814c2500b090ae44d408124de21a0e844f7160825f5642b403d5ead4bc7ba1a12210dcdd0016c4fab396885648459d1ad81f5c61dad58598a689abbb29b6320eda8cc9af86c9aea1dc66e07701f7d70d556aa794d3375f07a7c9b0e6160bf9dcad4dbe452fd5c77f1c30451b13117c19c5307cda1de2808657be9e099800484c0caa90c4ffdd5e796a82b8ecc0725e1dd148436ee745274067ab43253c4766898d9baad19a3f5b91c947eb09012e7562c026ce3c91ac7d9a99303b8166517355cae51838291689d45ca128df534df9fdb39486b5d8213df5c7e98ac01a570b19d6ef15de3cb295ee0f730d0415c402ddb74b9f620d121b7a37d9b1aacc2914c57f1a221e8ce1e711c694089869a88a02943fcc5d3f29859a118696fc61285610dd148479bb816375cdadf2ad79b13afa268f8621d0652f30d8b711f90fbb8683275057b1c25e8490f21e937a062115571a68c7054ea686e401b9350552d4c357e9dd7badd90a75c509abcb88cf80422a694409502ff84007e4fa31eadd04c6032990c372c0d357d03193b8e3b0cd020eaafbb1f61a592bbce3982c0e45001333ea2fa5364908a26d0a840926ddeb0aed4332623b21d53a44922d696f9db780b136e68b1d2bcb880fe365b4c0224c2607f64a512ff637bc21b2266e01d5dfa43d9070afd46cd1f6d909af14bfdcd05abdd2514481b5507f68bf43df4217ca5bc36918a14860ca083725fcb5015096ca0066f05977f8f99d047645d958067ba089a48e55dc3a59f351d3a22ff0d2014a0efe6cd2b3b98f3cccdd281e8bead9ebf4849ca5cf53da5cb824c422b74aa8d462df51c0ef0c4c5c1289a6fc048a7a4cfc298e2f3364a08ff55b6340cfa30b96c46f7b873ea416ffef0293e691a43f8d259ef9ca45a3e10f3c7d1aaf1e701e0e2f87dbf2c89aa3fd7a88cdbba8a49a1845189394213080e3097198235b290e66258b31fba2cde16fe2e315986687e4cf8ccbe34ebf5208b0e73edfc56a0b94902755c8b76f8ea55632484cf9a760ac8f12f2b7bd35c5fb0eced468e6937888fc47198225cde8b31b0605f44c5a4d13bc5f6a04dba739345c32ecc1d60492137fb97905416981824ef0be9120b9dac82a07f86adb5b796741ef3ee383fd4b2373b551e733b8a97511a5dddf6a30f49716ec519a31bb1d9adde385810380e74eec64edd9935441f2eeee25c9b21a21cf88fb1166c58e28dab161bb8e73d1032902055d4e40dcc00b7c3fa6f90b843bd8aca7c9509343d3e1ea98a1ed2d2f9483cf46e2dc2dd10f67a9848f0413d4fd3509f16ff5901e49c1e3b5afda3a085f904eb790c2390cbf12629c13691a8fcb0b83fd93f9e00dc23332cb56465356398f55c4cc817a7966061cc0fb27782f4f7b5e0cf95d847e13a810893f444eaeee7bf8d0c4548cf5974e648c82011f95536e673e1e08738a5f7864ad5049e20d9f871739e1385cbc0a39c2cefd770c5fa810eb22288d142cbd666eb58c91a4f0d17e5237d1cfb7ef98368e08b143ef2a4dcefae5aafc62705db867bd6c2d3a72629f8b557448313ef70ace941f6a5052cb0f1a98e6f7299e1477658f11b27aae7881b41fccb6261a8ff573c4264c3819f833851d9d21ad18e4a0ca547e444b2dbffdb9b34c652c17a7bbfe19f52971a1f26f1bbcbbdacb3e3f93e982b6d2435aa51b544fb54846b0f94528009fb86ed03c76a3cf4ce11edaf56e00dee657a7e39fdab4ff776073e45a5e69ed87860db001f2cb16a7dfb796b0b4cf9a4508117aa5f21d4bb99b44a1d6529d889a7848dbf43eaa05e9380d11d63caefb2faf8aa1abcd7c54614f0b3056b1067e95c223af3ff48cc8f2ac3f3b695ac314f999dbf0b5ed90f92b69fa7f932ab4406497356bbe10f9cf19f29f0103c062391cce3ae39bd4e4468d0f0f51cc50d6bfbeae39cda0f7b53387818def3b639bb40f5eaee7473224fb97b4ea823f0d1fb89545fc566d0971a8c09ef10f58b3d23a5aa6f1fc0b10b15ea77ccec2e924237d404e4591dfff34f874c79f7c560b8ab162a88f9351be3cb6bc1f140a6f05e435b63018c313742c00777e5f67c1b7834a3060181180c3727568cab78674d0f5295a372549860b6e7546e7541d8cbcd21b15fcd14b7f8e2974a2c7986bac495d4c22f530ff7f2df6382f386feba40e8e2b4222babb7edefb419d375cc3488e8d2da65f2d167fb530bd7ce101fe6eef85d96bb11a4906a0b54ebcac37b6e5b3fa3873b893899c7b358f8278fbd73ccf584bc09dabbf9ba6eaf62c0317acc25b8cf66b2567775078556bb6fb57d19bd587d90e7f1f813eaab86ac6562127130c5ca8626afa3698bbb13a04068ccf12db43d0f24a16a9071ccb4d4e90f78d788b3fbfd851454ed8f1963da36f01644671d12b43ff0cfef292b082e1cb94df89b5dc786338267eb3e7a308959f6f6d506dd2e1c5c9ad2de2efef26fddf084e6560039dc2c75cc37323cec4f08a563884dd12b5538df21d406e16edf596997d4641fdb0aefe3b182f4643489e94df04baf8a3dd9db7d0c2a707293dd681faf09ce3b756a2039f1641aa1b82ff09cd575d8227eaf86fedb67a5e699865ae6c462272b895b06b3e93bf6e9620358fefa14098db75f9ba80ca0bb9b1b2842ad9eab528d1f22dc5a3ae06706850eb4560bcac15ca5dd9956ae0e04fefa323b8a49f5216a4ff9b791a908406d7662aa6b18fe80611024ad927ce94835ac2d2a25c4aff2a30b152121db7a954aea4e0da92745a0cec28a585a03a3b7449ccfe7b37449f5d19f9f1ebc13b471c3ddc2f56e8983f56aa2cf9555abefe94b64886e200b8f0282c9ed0aec3765ed285d2feae0d82332ed8b598358702a578737e92153ac0488cef17c78f0ae614ed7698b2efc32e878f98520e54acaa1a87b924c69399a6d800c7f60594ce759ce968b784a5877994c49c923185fb701df5785c36679f64d3f01d5dea09dbe3d3d0d09c0b37905ca112d61095efbb3ab0dde7b0b1ff23d72380dcda3b81581d75b679216b9ee91c0f19a41c84d0072f3a9cb4fbe281072b98d7cfe71a84f9081800ccd46bc92ae18fade501912999e1e5e874ae1fe6ba3661237e42a6f334ed3d67526c054626109b05c5e8361b2434f93142a5aa59838b7c37069a94c1ae6fe8f1e5a09ade82e2c4f37b2802a878b0e394385b90d2e561fc6cabd8d5be8c764db51a484a1a83199d50fa3d66bbf4a7c2c46ac5ba9c20e222464252fec492e4564a51e4d13d3111078ab2cdb1765c3aab0ff074da063801459d89336a4e4bd821900da8068fcc7dc3dedbf1af12b47bd566b0bf0baeefc11dd6039324e858de8d93f8f4ff99ef2edb5fcef8c79489e623dab20e40438f4636b768e961207b2add43a04880d709b5ce2b82fa2fbc77da9deff22003944d80637624bd92153423e9e649237ebd82ef20a4caebc1f9aee56896bc1c86ad9edbd9a263fc0fb1100b38f79066abab4eeffda053f383bedeb00c0b261a3f5a241bbee55767da94ddfa00e8222938dc1e6d1f35560a4ba2d2dc82ce534646ff9e60689377a330ee71548dc56fee7c33c0c84da33f5e56b49e0f1e674320ed8be2a7393433f4f874453b2764783e76013197f9df39a5b115d135eda522520a3f53a08385287e05b2b55be9b1507f07480f7681b04e71fe6e4c0c818118ff0d4461655f50b95b8ecf1dbc056f4bdf58a3af884bf63ec514780dd6261910a7bad82c03c722fee3be84c2cb4c50a576ab99f236294ea5cecd7f2af1f22313b777a29e8b523b509c3538e3c4b180dd3b021344d606f57bb55f85f130748d8cb8197045089501a8448d520db06346d5f7bac4458dd29688e83e6cad441664028c26c71f30ab3a73f62a33470e69edfdf97bba0970a30c78e1ed6e7ec1576584622c29b4b429677d3ff0baeb57dc62e3e22163eee981bb3bfce47ca69ec67dd0deffa141d2083178e38c21dc12668fb66428c6011e4638303779ae9ea8987e866ccc255879eab3d3dfa4110efb8b6eb893f515e693157ff597f2cf3880b2a75d48684cff0cca51d95e64f61bd03a4e81f28a1f6e5672b65621eb618d973f75066384b3f622ca791d359134cfaf261ddb2301d261f1a80d4e7f0256b70b927f75e362977b5a93b2709f1bbcedd658265bbc978d39bca5dec9ea312f7b1575c612135be988dd8501dacc8423eaa8f305df41492ad9772f8ca0d1b353785a048006d1f3db78865edaaca386d1fcd16f8b4adfabbda312ac700e3aba2fa5139f8277e5951bb3536a9391b63959d36609a9210238f1ec70933ddeebc0454deb55e42146c839a862e0f13d903997ac221c6ec9d207d028b7ecfbfd8558ca3543924598ac683d8c0d4ecf8a591922965df0e6aecd3461e61ef5ce56f7cac6ab5ea9bc40e53e3b96d6a06b792bf198faf2ecf49c2d3f9437428d935544ad24f2da081833cd5c08f7acb985255cf94ddb13fb6cdd5b04bcfe9f12d71d4169a3b2ac34ee412704c18040201008047d86be401f6063eeba6e25cb134bce3d971f89bdb0612bf9df1fd50de5aa01c3ac7f10e371359e76abe8b41e684c370a7b830b0c32d005327437b899af22be17768d09a595c1864f650e6b1aeaeb089abe6cf038620e2406eb3070ba8f80701a634d03fefd22326237048751ab88fd4f4f39ab88fdbf55bc4726bb7e123dc62899ce64b563cfbfc1391c3e91478ca531f2726984059a47b0171b201d3a3f8e2de6677651c00f819db7fcd924dfd0faf4f75ed2d6bf8030346d31075deb1d6a5d83176f77f2e4b7045f2000d5e1c68fdbdaa7568bf700ead07a93e06611578c71c561a8e9c37f1c96c9017478e50eb72cf2ffc599a631cef6f2999c6d168a8f42ee4a61ffd1e9f44d04e15cd9398e7b39e05d5d4e111a1c8bd190bfd8163675ba53bd4aeac162fff95373f6f5bf1add9029ea2e7851b25e7e92fb4c716a0f7fbbb252d4fb822bde02cb733a56742ecbe19082d87f52b2d4a40bb73400766b758ea01dde8ed6736ce84e40cb1bf7a9761118cdc1771f780de6fb072d87bdbc62033c02394080d3c1024b58da67c72204ab93fcbc11a0d1994421d992c44c487888e36a0d4a36799c06ab6b38c0e9bbd262a8c456ab9458a8575bb624a284359c67d20e9edbd1888558609fe2fa826262d2188fbc9a970867033ff1ab5df3675e576d4a33849192495636406b10bc1b853e6b4fee6e790a952fd36b0cbdb78552e82de73134423710f13ec3addf36c00b287a779cd1c75bc2d23e7b3a1c240f79fd357e4cb2fe925ba71b6212c45a8b6426737fe2d73679d4931f1174623643f567ee8b8f99df12c33f9e9e9711b9bdc7d9ad2837e2200e10f5be658bd70e8ae73509d02faefdf0226378fcc6c87c07f9ac814425fef44d1b086e5c61e56bb2a93fb14dfda97f6a1752198e85f1bbfc573296b96ae9fe4de5890aebe9364172f831a054b78cf0f204c4e4825b7106c5142a69525cbfcee56134ac30d36b9d5e6f41c710a3133add7da8ee06a20e33e05b37b7f703c8e32abebe25b9520c17fc977a0f9c4bed58486893f361dd57736fdda3350892ebc15c781ec106f88039b384d159264b585ae8401944419272191c00c6e533fc092d8a586686a1929dc666529ff1362b64324fa3c40d2bd1edc370430db140da016ca5e6871b6eb8b04b532a5dd2ddb271fd9d4ce438a0f62443fafbaec914a032dcb31ad4c7d35e7af966dc36dc2642b7fc3bb4540ec4a2d81fd0731e0d2522501c5e448bdead6be730b897bf70b6bbff1c835aaa8ad535eae8fe4f8ee7e730db897e1251411c8049f38f9c163b70b18b4962fa065e389f70b7c5c27461a426778014f3e738de04a0f38d061fbe904237f8cb7f2b77cee4232b34ed9cfdfa771fa3f174a6dd8ad3efc66d77a8e7a7d41514731fc69801ad60f70ac1211ba5395206b8b95bcecc45b5a0fea0f7ef30a1e1e6ff8dc8d08d8877827265597e8a2973ac14ba99893bef16c377ca5bd7b84c283cb11913f0e9e1af4aa4d4c3fd0eca30afc244ee66b860b312f1bb0050dd5e989ba3bd39dfb4b1bfd97264d187e1700f2129888c75699bde7f44d9f3c3dc6e4801172cefedc9de2f839ef085d501d1cce65beec1a3ce8d8c05a485fea453253c30e384f347b4eb30a0989869cf19e722fc91bfcabf398e8542e1b3e9229223b063415ec04c01db3947b1bbb99a973b69e28c45f0369727200ceb965cba6c1ce8ada10fe89dff51a3c974631b30fcc50e0322f81be0648c563d984b4bd027aacba5bb83ffb272ddff5e3d69de07336a7fcdf7a1a74d66914f6a3159cc94e8f082334ddefccb5751e703c83b23f251ad03b2ef123fe0ca6caede35d81d452a368f8d1e57102f090a2ee9ff37c8aa41fb0cfa626cc600e56ee665c7cbaf18a160ac16fb77bdde224e7ac7d1e25742a2695437ab5b8ab6f5b8bac71740c3a035f474c5157b4e8675c40647a3a38af7a151247c09c182af925de1d5aae4ba840ffb0ab0e43512ff481e48bc7a9ed601f5b7f774701927f975c240c99d326debe97e6f74d44f99d6e760b87ef182648132bdd02ff17a1c359c396814bd13e6769f35fd8aa37b794f01192dc5919d53902e5fae9c322ecc62de760ab44522d8d197bdccabc3710148f3c7ff5d403d0f2dfef114cecc7faaea0da1e56be1f3f66f1f922617ccabdaafb9adb314a746ab8035a02f60952a15bf9e8474afaa114e917e6889fe4c2b5021152d7a3d7d1dc599db32d4c98a9d815888057e4f5ca1bfc348e9523e9531a51983f5ea2202ddcbc3c95382030d675d76dd7a00734749b0ec1921f7c978a56dfec5c1a83d23ada78bd558b3017d607c6e5d4319dc433ad304eea90f07ef3428fed5bd5d9ceef35ac2ecd191c31393e60e0f439fe3b5a69a272ae2a42d0d7309ea998bac7f9519faa2f4b329823b39bc30cbcc9cce89398338b0440d7a3293012cdd6279da38c3a9fde2213767ec0eb1c0a52c7a456d6c09abe71569b4fc973fc17c9241625bd5113898f11b8faf20e66f80c9f89b241e57614a5c2c1cd58ca6112a4a9a7390c5620b32474d70820afc74d63b2633d1f278891bcb81b8804df81a3bc84fea2ddd5bbcc60162fe97fe93210ce97f22f16fa772c7d845e78aedf87ea0689b7a6b02dee066e2356cf7e8e78b8dcfe06e70dc299c298256dc7de819dd67c0292e4e1d6c0e4be871184d2f87f52ca0cc6957f4f0f9e7c5d9fe42817637a95c2335985f3fe43fe8c6d102cbd808b5632d62be5f6bb79e267fdd10a4227504da6d844f3f306f597b561f4d4e556b5977594e4b5d3e3b55430e2e015ed304d16efad9241d8ce03a1e134360e0f32f07570641d1478872645ed33496c03cf7875aba11e6c2f2ef099592a3141820acb66f826a1d9b79bd4237aff67d53fb5f4b143cbdce7fe5d6638d73317160007eecf933a03461a0748de477b75773e088c31e62ada896a8d429e0d3eed7f4a3d4b2b7c9c674b6c57ca6fc3f820f0e8abf858c8804ca39f3acab31913a42bd776b0f9688697b3942a7ab7a00591999b7903941a9e791af025e0c1b28e6ed995c529e64587525a4a8852ecbcd986b8694bb8f008f55f6feae543b5395ccf8326a132ab6c29c95db2f65443d32ffa33357e581761fc72a5f80641f21d48b9e6b5644641ab35f608aa2cb08a68bdc2cacd1dd6bf6edc8ef6d9bc677f39069b9d6955d145410efb105a20a469a8ee0326ccd9a4cf0585935f5477527ff3a2903340c7aec93e28e8a8350e5fea3a80bc7bfc772dfcd55631771752bd82962360c4bde52ad5eff0381943b43b438e0d3e1a3dbd89d613598aeb03e431b4196635c485ba0df8e41620f62e30307362008c8935c9c9eea5ac2d243274af099ed5b0607f2e3fa07dd615d554582a1b26887f33e4ea2bb3db012fef1d06fd9a1fd91b38b1ae280271b5b1b2253fb14dd4b469e4e4c8c09fef0bd93cca149430d8d7606512f15072038d7d4eb057ceeae12dd73e7201838746b476b316bd990b76760d868b38e3e02b379b345cfdb215e453d4691a42f38806c04d6d2b587343e4b1bae0ec63b43dde9536b99fc869b0c533040ae41ff5b05cbf5da2dcb868d143601d2d798a6623814f3f3cb43404ce956fe0347ccd853ee3502ea8d95fcddafb7393c99745e7d87cf5185e10a71fde39262023f3e1d3a167c6a8241d90c04fce2628da31e891b72df211b4ba77a44ffea674367e30e4d37f17c747b360a37e1b6e9362004c80f659c7e2e5bc2d24267ca8085f2b52073a9a3701bf2a5724263a13b0e61a86c869ebaf8ebd35d29798f5b8afe914d00140e9324462c2057778fad8a1d9ed637f1758d0edb71a7e6a544178efdd81e6f307a5e7404790ae0383b291d69a66dfbcd7dc68cd7cd243954b290cb081f1e6acac029ac9af5f9a1073e5beff3a0c4d5a0e5d2ec0e7142c171999c1f039721a20786c09fc2a37253ea29e96b3c742540b993f56e4d800a25e1050babeb2f1a7a75421b38af5684b81aa12b7c6a2b524f85d2b0d8bfa67f4f61786b2afa443508f2376e02749254fd808c1e3d09f412226f64c9bc509fa55461e4791843c6ca255de47446301fd0dd91b1d8154f5eaf3f570fc98b5a8cbb8694d81233615078676338f85c6d10d213adbc6ae18c31ce3ed038202da7bcb28005df86c58f673230040610bfddf914489dd8389aa92338c29e5f87cf45bf61186ffc95711b686faba1c806bc817d92a13c9788abe7cf73d2a842e4fa447211f41cc3aa0d30b96f743b3a6d04add8ddbccdc7fd4ba36eab1b669754eacbcf91eed95a7637175b26571e329c73d63aeeb9a299419384330cdae4177ffca44ad1a7ac0a37da67c6d2428f46972052bf84c6d54e7e13b62ac1ff2904c0daa8e49eeaa2a0b4b9abc60ed67babfca64b71902da845a10a37b942b9f09c043bf694fb58dee1aa588803e89f0a18f68a8b6c872f3ae88c856bd1bdf94867ad075e281ae42e6ebc5782ed0155b90b1a7b3a14f7119dc022947295ccb387d6b91f518870c6a32e2335af684ce225442cc7d0853ad05b81c941a20b2e1ef0e2da45a9b74e1aeefba397d4b83346d01b7da7466343c378b23b53266f701285b805f0c4372deb35734a9c79b17d9c17abfc05ffe5e05ac3b099a690a0e2a5f04c0556f23b7c9ebbce383bfbe10e63f205956283a5d7e38fb384542d9bc33e158753485313e0ae0d530cb0d5d3f336b98585f1eb393754a4e7fd760ea383a15f3ca79d93aa2fae940af4747a369a6471759c92f2d1a357b99e27dfd2f690b598c35676c44ccca6ba7419e09aaa890bfd747b65fdd38174fa8f0e8004cac6ce0a50a85012f64e13a0e5c2ac0b531d74ada1b52008af4238f5784ff46860ba1c5747918a3826c7d81b23135f06d9ced8fc293fd73ec3b6709af7c5c0f2277e5f95c0683fc2f2bc18cc0211fa669ebce1175c04802c5893fff96b262af1df1f739d4cc5c6bd90f7418a573842e5e62a5cc2fc925c588fdc082d4b37a373afeefa8331e02d96533bc3a514b9cec3957109f868c21f7fcabfc780edb68c237d7c71009675c10e69536ecbef4f51655a8fc30716e087f3f66e43d395ed5a1c2639cacf7531e5d1901555be405e6f221cc320be6a4ec4eba67a2036152a6fd49d1e5de0da441e1f0717e3efaa18a10bd0a766c62c362e6c4c0147047a35475724081a3e9f21e34dc68b8c27190f32ee64dcc8b8927121e34cc6898c23190732f63161371401f43b45d268b44cd6c7fb39321bf5a55e11ffbea7c87b2b8f4784fbeda82d83eb5bca8572b52097d22d736ec8428bd5d473daf513bd9beb070f65d24990912c079eb88b133620fc9609c843428c1e185ac3d2c24dca80723b3197b984feb80d3e5e9fd028f76384183a86e1cdf3af1e15d7d4d5130fcfdf2551cd8d9ac3d8fb8fee632c7a78f73f7609ce90c0592c0f672765ef563733c49b35de4e4c39f28180b56ce6e3e7bb10f7ca0b3283d9b82413427006a7ee05abec860d2c8be84bf80063a4e6f449c7deef855be83c6f9aebbffb340c8b1278f9e3740777d00bf59191e65c9273b53fc219503280eb64828974efb2ce53a33535fe3136b6b02725066a9a2342b789bc1632ae806354b2dcf5a5ae9e1045695433730482ad62dcc7582053fcad3a2cede277829d88279116d64068cbaa49699b3d11a941a1218990df28f2d0b72f492f4497dd95d0efd1d8b7f2d928cbce109b9c79f165eff7c67aff2be2f4ebc75c0086d5eeff1d3f7126a7ab045b67dbf325a1f1d297ea61206cb559e73fcdbf82ff280150efd26097416952fb5f14fee3e2ed776ce97f3d9a2876cd59f372bf7d1e187346b90d9cc8452b457edc430ea1fa997eb5cd19cc049a6bf896739b036818f4d8cbafb9f44d832beb7b405f6c2401a955d401427ac9d71fb45bd32ad9f6bc228207100087c0ee66a4513c01753f7bd7faf7791e7cde51c02d3b753fe1f5c84658559a19cb61751aab23411f0e355c875b62850b05555b03d015c5205b64a482979fb1badaeb3d076d2471f6a3655c30a1cdd1382f5d5e6424480c1dc4500948419f7f6210080f289f22cb7e8a39602ba8c91dcfc10902ca8c43a4850fead5c10e5628005171f319b69ca23011eb4eedd8842f77a3c3a8e277431d309d28351e0ca82709dc901f4928583ccee55e311401680afef7b683ad8fe6645df19d354e8255941a6439e361a7c2f9efa92fea2cae0ad8a0e638ff50925bd3b9bbf5d2bb99eb80813557cfb3b6c4d9d727d12d6605495ce898def69e4dd0e7fa52609c70d1c82c79bf9f151f05447f1cd823242bbf7b88fa1bab27bf335b1c3a99f3af3dd6b02a99bf85780e928528743c30866955fc3a3f014952c1d39b2e1d8c6f3abba24b9b0789f7fa7db9ae3141732a970495dc119b51df31974529f71df85d96f5a568101c98d85a6da38d2525e7febdfe44b75eccd01942cec89f73d5e0882222f8328a61d04a886ffc0e303716c5b1e2376269183eb5ff2d650717d29888fb262a11e3763a9c9c01d70703089b9a0d72ef59bf96580cbefcb4b091b5e9cf346a8cbf79cab14dadb23df0325755b8b4d711f0e309ee9f330f87343992e5955dc5fb0d7647f5e8cfd9c9eaecf76ee578850d371ba1bfa505c18dccdf8074ba0b59d4ebad9444df1e08dd2c233e65358994d5e0dbe34fb76f20bea43187f5ae6a716501419fef8f1c30ae7f4594057f8be021976ad8e59b1efbfadbe61baa86b2ca8fc04d053f252c85c71a0b1140484b9344d08482458b7f5a40c5a8fc61fba7cea71e32f96179cbbe853ebd440f007134ddacc88cc58ed0b7fa926e3f2e06d9ba94cb12e7fee79fce0a6670f3c8099550dcfbca0e8ce591b3d71eeb238951e48f990e530ea9239c81eb611599a1e0690073eb51a827da9acfc674b6c46451b77f014a07dfe0d984134dbd56cf5743bd1c5925fc6ec11f2bff4861167ff557b3a0de542c36cf13a9c0028eb99ae6bfbd953a31ca73c3bd9f82e69fb006195ebe8c6c3fae0802b6003e543f15e565e0382de8f3bb912dd0cbd2c454b42d6435886258d031e7c7e5fc7ee361665f10a4b3b8a470943fa3ca73ee6e40b3ac4f43590fdd04b44a0ae297a18476591e4fb873b867c5baf42007d6aefb345aa418d96b023c200a0afe7d87c8cfbb7d446ef1ff0f5a755afed95dff3de7f321af0fa0624b80a8fafc55da06f392144e2e7f0f656ce1f760272d1802eeb77a5c4b725058991f1e6443085dc60cfffa0121e4eb3e7afec976626e83eb195cbe350472990bfaf7e05ee9d023383f865ad81ed8e56b1ab638179c8557430fc37777a529bb55239856d9086a26a2391c81b8efc82e6295c1296c0f52e7a55c804a47c193d18ecf4799ddff7c1800d2d62f1d14e9fb8d2bfbe266b64ec879ae17cae72defe0462cc401e9f33e7c25d0ca3096f0413fa210c1467b06b75f6798d9bce1d42b4935dd0000b8baef2dabfdd238b58fddc4feafa2fe4fe2651a8f027eeb75ca3554f099e6379cb81b06d48b50ea04722a1ca7d3e216b07b45a0b3fc3a49048aafb40c70bdb5e4198c2a82cb6f71131aaeaff5104377e658363431b22a720011483de20528f0cfaf2cb59be4f5999350627d558a73fb72e037a964ec91abcd392268934eff7b30e91bc69a19a0a6349721d17cbd39968c381134127934dd2e89fe3b2954a2733b3b3e94feb0320a06dc1db64f7104363872af5e5731d1130494181100490f4210f9160b87c0d697871a05843f14e7e77bb54b30e65c3a1d08b8eacdaa806afcee0c7a6104f5a7dd3106a35e74fafa56079ff7c63a61a49b8a37a61ab5881ec44af7c9c5896c03a280fc3ac6e937b2252c3d2ca024aae39729fc09d7918dc765d5a503160297f09a9bf2b9a7ddd07cc83bb21127c2e4c5f95f908e37e691bcae9667f00821e6349b6e72c86e4b99277bc5e02b5822fdfeb591d873d0fb3cf3534b4a63466a7cd421342b06d0bf2d4c874015489fe523321fcc192aeb11dd0911b57995c3ff1dfb349e5726c3bb2743488e3f5483372c324afe709dd94add32cfc16a36117f736f7e752dac8e6333a60d09ff42b30ea4631414a944dcb48eb7a702d13205b69cfe592f0d8760403855572a7f14110e16bf4872556a454ae52e9ff0afeca764e9f9f43dd79e7558c0affe2cdaca59152eed87a60ef3ebf102c5eec03420cb216b13e465b955ecbbdad8636d40ecb80df49437cea7c82d61e9e1274a905e8990c160225cc7791e97d3fb8958086c5715039ccfcf6443a36fa9fd99145329fae575b4365691f1eb85c437541e01ccb64e692b94a4381794b828317377b43ca05cf989cc0fb0849123662d6612cc433348febc617409409efece5d30e8150d82290a0d493e5ee86dd7fd3b2c0c94edb7535c042a89bb7b10438244b001f118b7412eefe374a9df1276a04491b2b0d4ff952336c476ebc0fa4bf3a80c303e11b6190c3787cb3bbb131ac6d71a15431706f36dbd5aba324a27a1c7f6affcb0e9c90cd912517f6fdf07531490747db4c84df4ca3e89a311e36677c8a8b9c5af46096d1420a5025a76a0668febd654e53f87f87b26ba554432c4d8458b49fb4bdb1fbfa6f3ecdbeb1297d27e02fb95192b632ba770718fecd061f941c4420490c8b71464f6a965b366d3ad81623433d4777ce921837e6f3bc63fdb9f632dc91bc0bcfe26b2fca0eda6838d8570d9a9148e9170f712c07ec5966fc90c79611d218257811b2be8ac4534a1f19c8a44f26611dd53ad867d90e6ccd765ba4e914800f5d09d3df6e746d75c52d9db92a87b08aa92c35354b9e4e4e683f9bb4d3cb0650372dd2626909ce8b7cbbbfb9f981037d9c36bc5951478ade77288439ef9f632329254992c2fff491ef3e3c2cf1fd72081ac3501f95c83bdd0237e8b7fb8542cef5f275a586cffdc2eaf3c719b67d179e2d84fc78ab9e9648b0be1217925bf2e8bceb24940615169610d5507e233552c0e76aa0aa92456227b761b6c21f404a028e0cc7f92c458278013c361b06df77516cb97b2f8661fce6b663aa1e881d70d2f8ff549c19ccd8e7bd890fab9d3dc1e8107ce654859b48733e1b60dfdb2584c1d4fe5eeff015caeef0415c7cf4dedf921529fb1a2869e7ee2c999e4051482c950ff90b19ffa435871ac2c99a296208ca6a84c255724520071ba6e838f535bdadacc335c10ac8bc640230837c683ab7c17291b0f32cca5cf97c533429beddf16cb3080728b6505c3fc34ecdf2514ed70f24032389eff537e563f05ff765e3010d2f4b9a5260a43b615e6c3a575684e5cdd85aa18798f3c0c49a58470cd536a0708f37a557b98bcc90aa8ad399d9242b8f85fa13a9b100e5dc3d6a4f39cc80838efde004121cfcb51e52d8c31860eeca018db92812de717a1ea7b6c768c53fabec30f5623d7538c6c944dd33686413cd52c862280ef8cbd5c8490375af32b6ad661ad352647d5ae23ab07e7c34a499abe82af730680446619542fa93960d2f8792468b17c592f92d5b615f370aaec132ec5fb8298770f9c100806f47758c7cff34b0bd65136b6a6aafaa7ee908b1effa50ffe1de9f4cff0bf2018738fe25ac4d69424591be4eb9037b0dd854822808e613412f4360046ec1026a30e7110856995ddf19d459b36c375731a2bb1ab02b53620f1fa17c8b9588ccecb5ac3d2c22dca002ad308c85cb0286e83f0532734a8cc510a43e741b78125a53874b3956094561197565a45a87687f2a3428cebe7f31a44b862fba39ff83f5a7893edb51ffe59fb33a4b5e5578d93ff052851221edbca3eff4c5da7137d767d4788199b7a8d84edd7c14e067b87a9ad9f90e555e11e97ff2ec3256ee7a8af44165482cd7a60f5d4beb9da82f078eaebef12908c2c703730fd5cd997bf7f3df434d16af7de5b69a3e43bdaaf57b2ee93a354481ce7d636c4a19c5b8f09101b100dbcb4bd1bfe383c1d4795650a54b83430982c5da9da88ab284acdb65e8257064c4e08ae18af3cbce7687dc8a20c0dcc4f948b765f7cd7f4d9a89a7a62cb9d92e8222d165830dd4ecb3a06e87bf9149b1336547ed0a161aab1ccaff97af9d241e5bc944befe501d5144ff75d83b1f0ad00718e6e960363521b8dae8221d40c27539227d3b0e02acd794f917d4bde3c79a207d51a04030281402010722ef40539331abdbd1db0b72a06ac6cdc96638b8a4ce3648bb63e0844045641706b0fe4b61ec6aef69042e615e84941fc1b23ba84438b0a23f1ff09cfe989110cc31292d26e58692210ff51c3cce8876f3d81de3394ac536488a2fd0e0c61dd63a4c7893fffabed20231edbe8b63ec394af6a6a117feb2310ba3e951304522373d249f2bf6b124114c01c3101e4a6b8e5c70f6b83be3c4a768bdc6e652780e7d18f93e9ac1b571e6ce9e8f7c6cf9d36ec7c8c20396303ba77e1df53390c5b40bbef33dcfd606587ca94cb8ede7bc8dde4e156df69dbfcd066c6e7bfb6794f66809e5e32a446b5ec1ef1b2b816a1a1d263ec2e53440a85e57e9f2c62f096040d3fa2799efcbfa704e7bc803381e6fb08dfc62e389c6bb9d1244121a7fc5593bc50bb235f73051458320b033775e0384e5b74ff7d5740e4682282043e28bedecf42bee627a708ebf887712f63d23890ede63fc5f0f97ca20949fbdb5f925f5453a59fad104303e54b1702b0daba99ff010cd7846d6f2f4cf62ef99db39f5a49790d8d2752550b26b8e9ecbf7d4b25b7930748917039f2f53b07e3867410c8cc9b1a3c1dbae27954880dad405529215c0e9240452113d184c914be0e43cea1f18a54a4c01d640f9fe2579101e96b8ef552fc36f0b9f24489f4a8ea934655ed797bb46429c40c9c51fad3d7c187dc99f7b130eb17a0ba3d57f5a6bb0de4d8cbf552abf06a4e39b0a55d3b003463948e7fd475113000c92f1c43caa499051cf6457d4fb863c7fe692b5ce44914e8369a296165c71d62001eec97cc67292024067e278a7ce8eff142ec51540316108bc439d4a6b442a105acd688e0213d5208fcfcfab47bce4ebb1bae374ae6e0b55b053f9b3aa49e35740dd085da128d93db6dc4eaf6242df27c34f710c1b4c2b5e8aa7d9f70f68c1a380266621fc0eebcc06e52f4c0ae425e6017c1d13e249e4538ba14a163351b2410f2814e017a1d12d010e1f30d83351de404091a6a50f34411f8925c61c2558ffcbfcea7b04721581e74bc5fdaa499d9bc4f9fe215b73e39e7d4d997e4ddcbb24e9ffe0ada1a6fb2e066a539d526d6acecfa4b8a1c0f83e01f12a5370f77636cb8d20a326419ec889ec6d630abf81cfcb6ec55fc61c605089f79551a9420ef50b3185f84a3b0dc4b1ea5e4842eb85088fcc73f7924ed24515d7c79010b954a99b49e131e3214d3da5bc66c01d97efdda76ab030ba296176e2580688d38ab9ea87fe0fa9fb7d6f6ef853d04ecd4e80243f631e5f6fef554ac3cec5be2971663b63ac67eea43fc19f72085cfbc6c14c4c27aa32aaa07fa87f0c68c459f0b292f7beb60d41fb784a67a594d7ff01dbdefeae1f1af42c9148f59d794a95df70a0a405dba77fa52be1f6bd5a7d095c615293196794e766cf1a7a0c7f9e6638266d902ced133b6e65bd503b339f4b78f9900fe45f8cc7060a6f9af01af5278ef7ace33342e4f15a25c746b48c1a9c3492ff113ce85a750596ab0047ca44d9daa34e84c81733525ae2b30be79c0e3f1096bd9f4ffa8ff3a78708f5e1c2c5381d1ee00061a529d62515ac702f8f5a2cebc35b668c2ba179405f543ec0c8dd1668d8d20b6005552b2499f5568b0e45e53c62ffbceb60c1dac99ac74577d38433cc25ba7b9c20ba05937573c5fc2a7afa259b460799a7e9ee0fd02291f3d64f6eb35b87cbdcb8c61e0efac06363e79b7d55597b2d658781362826d704d9bb67ea8ee3ae385c6b9b699ceca849d2e7b073fdb0884c91389d206880ac234b59a088d669976b3a22b627990f07a37df5fe3be141758937f5a7a5fef818cad67fc341da5121bf2b7189fc82473fca641b95f16eddac7e0e3426bb741171dd03f75c8fa3127213b04601cbc90fa9ffd714f24faf1f0c8b22b6ae7a64c3cd0802c8d208b1ef9bbe1521edefd01520867f370dad73464ee425b38cf3cce6518c28edbdb58dfc247a3e40144fd2085c67ccbdba414d92c8ff3ef3c267691baca3f1c0d1b49e21786be55e62f9c006a19774bcfd9e7302872e14ffb506a91f5b14622ab5872f6854fa5f6e36f6b81e6b279859f22ccdc1d8081d0fe8f9b6337f3a093f9d9cf704d63a0e697cc21dae9c6fe6470ebb5c8d2542b606089d3d2392976e9f281b72fb9dfd80061736b4db2765af9db8afa21f1d598e4a734c37f294c1257fe44fd0c812b7c41afa25e428af3270135c6de0adec1d7f5c59f3417bee3074322edf00137fa0add5e9705804bfce0933c8aeec353153431a277fdad74c9e644e06ff2e8b4a4ef1697215f3cbe5c79f8cfc0140f073d06f737e1e16463344d87aa16ee6bfa56bcf9880676443b9ce1fbc54a1f0b2624ebd07836b6d4bf6c24026f560d07e597bf1b016fdbf4f7c712388c4eb0ee49b2865e69e42624257b25d880fa176cae00ba9ade5f1e71b9389fb3af7cd6e95a2244f34807aa62dec689f7b77a605bf4d9c78418415f207a518819d7a7ea111af08b47f0cfebf1ae08363e0c14a01ef049d51d054da9d0bfce042013aea303100549d3ee3d6688883a66830b4ec2fe8dc88b2266d2fd2c113339c5e829178c21f9f6771da1a8eb44f7605567945ecf94ce0f53eb2cbf9af40e1dd39d5b88a11fc1ce72ce8d78ea36ae87054e47a12da2a5550d0c8b5bac163f997db517712db65d7a627a4e4258de2fd84fd5cbd0652293e39506005b8eb2eb198765ae85f68ce74f313790934a82c000ea22236618d33b32ade827e5bbc535cf1bf23a92b01c1484c992520e8e94efa600a1ec427e8438ffbaf8dca17005d6897bcdfc4f1e99d5d89a14ae697276868348aa6cd12f7c2f35c401728f561426cec2ee10e5955922bea73d2a6d17e7e13f49b43bb52926b1df5566004111940f9f48efd0a52081ecd85ed5b6bab6c6573c340db1f3b8a2a093e35342f1938e451dfbee10015061db3fe2337e4ff5337c9cdd690adca69ab927a37837e3116e28ea210f81b3042451f90fddafb90f4e74980c77903fa2cd9bda8d79634d3fed511ae8752a990c068b73ddb0794f4c522f45a907e835659caf415bc0beff0a90403bc84316205383deaa0729d9432625e3c7ff525170cfdfdcf530c82ee266d2bb0cd4be7ae5992b3b8cdbb0acc6139a3a687a0843170fcf2534d3db4241218ac5adb8261bef86c964c1566751ed9784b845f823cac250385fa6b78d7bbc7aba25d9b43aef03503cd9780e7675b5c0585ee78f4e74a753c4508b453c4136a7d7b02a3f95f27705597c1ebb2765733bd89645fed8f38d5318bf66aa3e647167a52b8e625659ade410e255b547df3784fbdc441c6147ab0fde58578cc85ad12997282c75ca29daf8dba3f01cd509f5b079d0a9a03ecad59344a14de6475fa3fff3abb163924c95af6397e86b086341f2332b977b284e03ad1304abf8ff9c13d0da6ee0eee169888ba2d017823cef9fbe28e2b510e63e35c3e7043157ffedd6be0db2b6054027a40aa05fad49dc244bf40e792bb588ecba2d52dd809580dcdb970669546b343905c8f540dc36ce59e0c787bc80bfe7976f58c4a48c4d28a0fd365ab52a54125d2ceb4f6ee093b28b2e3556339432e22c136d9f2f50a13b34a4ac33a336b8bbff9421e3eb04c59accd63ed9d6041b7b2f603e05611ab77457413f43f62e6f103c1a53c51018f043b318a6c83995f024e9c9eec18973b97e6b3fa43f66fd99888bfc3f1b43610a409d3ac9b278429b51b67f3a3ac0be32ad4bed4db234fcdcaea93ab8d8a033d42a2e4d5c2584b5e56097fd3746263a09b21d6f4360e0eb635e9bd310c65727d376de37bed27d96182e8bb533c68323dca690856bb24940c70eeb970d272eee8aff8e777bc0eccaf3cc7d5905eb8ab865bd66caa464bb790f321c080604028140a09f81a26934cd427629f0ebe0a14910f4aa8d01860c0b614253171ab749f342908e351f12e2a2b7df2c4ca1bb83586069e08a11ed2d3a662556dfb6a215bd97a981521a4f5f2a8a32284746f8cc1e17087cc62e433ab7e3408cf2907848cd6c4d57a228fa4ae54059c0f573a00e70f2fef6eb403d8356581445aba549619618320ede04925e456d8f01c9697bd2526783b64ad2243534f14cf213249d1f3b7722b5fa03c878f7d2d9ff2f4c17264342a24d6e0cd436c9e95e4c01f8af8c7e3cd3e4dbc8a6e639e9235b0d4a2bf585bb589deda24663b4689a54dce422f0bc3f0247347afb4f29403897f7ec4760b3157e0cf98319a0845b80126681d18a11eea038e100d0349640a18f03bbf702bb1d451171ebf927422e5aaa4bec412b24be0dfdbf56c710e8d6b3d0679681a1072a4b23ee6607b45ac8ad673250dea7421df7846e1547fc2eb80c5b033a1ffcb543a95fcaee0e3fff9d372147f9618c6952fd4ef9d1cd370343724e4b117fbc1ed8172dbb58f7797a828c89141ba77bbbe064a97f9bc8c9328b464cebba622ce32d71124050e67aaf8b55fb7313c2df87412043d1971f059d48f0047ea4cb095670c913a5d7ea08b2667a03727088b40c5b0ef2f8fa56116f25004970d5132bc12f3f4265c1511521d8390a7d6149f973c3c439bf19ba940307011971da04eefa89c36b3b946878fef50c79be759522405fdd3b5900cd7c2f4d68dbed256da9eae1f703dcfcabed83fca55eb44eb0f13c6c5c49041daa7267d697ba7ef34fd6c545ceb3063aaa3fa07f2a23d8256c3e7a3ec94fff9a18cc8108efb74d41dfd0c6ccc31a7ddc1c30ce86df0667eb979995b63b0e70bc647a8d53b668a1e3589c9442a364404424f5a5500bcf96ddf0b5c8c42b593601ca82429ed34e4d5f4cb414c5391753a6320b6f58d91ec1984ff00322973ced6baf11e5fe5ca5bc8a718f729ede01e664f628d8c7fd3c1afb25bb0192fa213050f8c26209662c2f07cbb19f968b7cff4d9be5f25c7377c193f397a1dc4a154508e0b193a1e26aeb79528651c3b99a191f085e76bc90853719beec52108cce45eae981b106c18008f1bbb1e03294aca6a01e2c47f32f6fc39d37f97742448e0cb16ebe61d739883dcd1562b21a141fc9352aa0eedfab58253d422b01965e0cb5159134520be6bdb1c920138fc09dfe6491b0d08f0d1491a7ffa4e804544280c0921d45eb46c1fc4b26e178827b6f1564b226ff6294c9a57021d7a2deb8192f02a99c7bfac14a223a484fba77af463944cfd04eb750c2390caf7627305091f04d8514fdc5b7abfdc08c4b051825c0820bb9694910252ab6dd7cace8b300c466870724029f354ba5ad196d1ff77f5188b57e5fd211c5ee7f4e5401bfbfe147c180bbdb40d0e733b67cc1281221a9291e70bb9d7e6fbe1838d395e1f7ed4c96136a70f0bc798434596630dac9f0100758e8f84f89b9cdcdb736796406a144e60ebb9acc4fab7cf132fdb1d837f505830f305ac020cb23e8b8a4b0e77c2b7d678b1996bc991ed5417c01b95536ea90e2cdf6c0fff8dfb08d096c3a6201eae6eb2055a3339b0c5db5b337334378af3c072c8dbab3881c7c6164789191ffb38249e371e1e9a7779be4b88eeda3bac47f968d9e99b202661e3c06530491758009192e8d5f10d141d07467ea207633d9907b05d653cd2995940c2acdf5409e8b05eadb1935d448b3a52ca4100fc342423d0ea39e6221164064961a4e9f482c359e133709121bcc3a525e0d95dd9de2686786ef50a1ff5909d02ebd424642fe46ff70da45ef329c09932728d1799dfc42f4fd5b25539a1519187ee2d6678015eeb1787673b58b241dfb4547be982e5fd2cf1d74c769fa33383fb23e3b768d4abfbe23ec34f049f9855f95f3866832bfc9bd0f5ac27616556e5099a7f3895a92d663714c1b4623b000ec8e933b80aef0ff5e97b4e25150df0daa31994a2ef3efdf207dbe41b104e1a92e1bcf81f95ed190ebfa7cd90d0bcd92361b90da54313de1924379fb5c583d21517a0178eb669cc7ecaceb3663f9b9f5d35973bd77cee945b368a41c45eb9faa92286a4c9cb7d806f94b2c51ff9ef42d2bcd5a144dc3d209b97482f6c8017d265e86c000f19385cd8d294ecf36c9a2164f340d6d46e20cdc218fba449559dd82cdab9414405d399937b551bb4d5fe23524b533475ac4b6ac6732431e34fbf9fee419cd8fb1bb0394cae31950b7664140653d2941dad8f02f63eca1dfedc505a569ecca54ed4d0d7faef6c993e7bc72271b2d1ad733ae84f084099951a23c36002712bace587fcfc3e95f4ea87cb069a9e3f41372c68aaa90a04cac6dbabae4d003a1ecf859514718e92ed2e2660ea85a0a26c95e0eef6f4d98d53318b382cf3f2a2a93824b0da782c83acb0edf2775ab0ba46f0849ec9871dd8c00bbcb9923dea3fb5fcc833e4237f23f7fdaa76fe84d6a67d788bdec4e3f58a0b3c9967fa53f0b0570877d3e4a8f6c249a60fcca9e7c3d4670fd05a477dee1601738e9894ec29f1d8650d4ba86a6d23ba5d5edb3e5b1355c0d6d6459a6a8334ca2beda4994a5d8f74df30e4cc850d0139f0afa5e3eebfe1b6a9ddf57e1b847fda10d34ef536b441793a82b4bb726a779012f13645ef31300ec714597f37f7bed326fd1bdaed6c0d044ecc4b671bd553cc26263c533fd3f7d07ae5cf55520f0b7985053372725d85c1ea2f9beca7d1c855b6378fd671ab4954b78e317bf0396fd08474d946ada01c909ea9d64d27cb424fcfffde779c9e30d1f408a65799a63aedac92588b984c24a75c13d001dda57b7839a5425e24de3bd8922a3d6daa9bbd14965ec767faf7fefa712f1e83d907d100c0804028140a06c28e4393daabce5b7a782fe8ecd011f1d5abd16e235256571414e9162a9f387f61f3f27d65b8c0face3213050b9b5fb460332e7b5fa70eb5591e28852f1209f45f88df82249bd6812b488210db8b7f06f10f233e0d1ca536c92a53f776dbb7810d99c927174fca997eec465094121647d4bdce31093e472263b5316d19d503f5fa3da7cc8c1ca2cbbfe561447f01721459cd40481fbcf56aca93a040686418c39a3c3068995ab0cc156fd957f728a4512f5e4e4e63486a31774cad403012422d977ec998c1aaf50be6af724d6aa2a18f1afe26ef0fd5a593ca76bf2fdab8868f357ae28849fcd28a8e658e7dc71926c2f599ccbe0e472ff4702023ffa659d09ff8d6dc5c3fee8c4dbd3bcdc4d2c3bdb6a547fc68ada1d3ef50787835c52fe673878db2e87bf2b320abee17e7a42f4b65540bf7b49fae70a907f3bcdbf1738c0f764e8376b8af5c8e29fd2c491e8eee976387ae1bf09ae1fe97e59f11c0feb4689e4ce0693c0d047cdd1c14c5490fa8931b6f8f74a859ab53251023da72ca23b86e0fe7fea0d4b006ffc8ef964ff6e61080c901f9c4b932d75d4cb952b7a5c9b39f5d62905eef4a54cd3a490f2f1947dd7b0038233fd6c39e3fe0d5724fd79f2af354c888e83b2e9729648a5146d3a5a592059fc5201b12b11816cd58220510d1c2cb5f85004801f77ac522a53daad58152094537eaa14b812162dbaadf3654c71dc1ec7818d0c107c3f90faa3e2f85216c3534a1ad9d9a7c17021e83d3f0d1cfc0dbccfd0afad8757d9318a1f627f2afc8c2961fcf277305a8614ffc98834af2916ad707a725dc470a57de6ee65a6823ecdecf9217175080c48a639155a1a952e3d16528d5bd1edd198c556db067f9d3b540c433b8b754d97034246833bfcbc2a9cd2c838f824e677bae15fde55910b30fc0ee59fffba762c8f24ac95727ff3b15d7f0e0f8550c4786fa4cba5970a4cabac54e9a86dc12afbd6ee3ec1f1f6e4fa20097d18810b35f1d0a4501e5a8a210e4f61a1d3364155f8e73154cc2de037d6e4a365146a062a11e09461f683966601a691166955181e0dc5a747705abbf669784e56a7ad889460b807ad99cf04b103fa82d8128dde2ef3547938a428f737d7d72aa28c1f3582398c275e11c1a04ac4c30b8a6717a3c1ea6304e4330d41a090956faeff5c78e9177889cf005ee8059e1f1c0d83bb72bb8dfe0ffc7beb41278b5e55c5f8db7ead0ee1cbd458e2dc72a94419b307ba37022d8322fcdfcc35e5d0e35e73968e3faa8b31067d6d0c90b1435c2358d53146c03fe44ff40b1ccb0bd834c3fbbe233ec7004a82bb70ab433b13ca1e4d19ff1d93a88534932a16c30c4d0b845360e9a69ede0ecffb850c8b25ed92c8302b2b5806989659fdb8381958841f12ece12d8975ac0eb1e0fd8cd17b36c889fc95755a0312199efaa6eb08a0f3749afa36e3bf95fe2a74554a93ddd52325834195188d1e0f70c641b729678d9a6d0a01368bc15a16ba03b97ffdda75db37593cbf27d788b3eda82550cfda2b7990d5eb796f7b6a7a79c9a89617dfa54f37dc368397c7aed9a9daf38a4a55ca3f737b0fd15eed995d2cbb40dd79256f2722b473bce549fc9b541a2f39eff6dd7df5e602e45e8f36f827f7d1c444b47bd5067d467c0ffc70432cc402bf71b1682851fbf9142c251dff0fd99574e9b30ec586a738dbc6e019cda9289000e6dfbedcd5c23ffe58ab1838bd87f727cb691bd134ad24608b7fa17d7f4e62e6807b2dc506647de002b93c8dd3a56a4b585ae84219e09403e73217c50ab741178a131a4ec5d31f4397a4bd2cdc0f43cc1a8efaae81a344a3d42c23f19da8cf1b75d3d7e9d7d3dcb32d7e28b3018bdd40782c8538aa3bdfdf1f978bb9f64a00d68c06b32e023b4be4fb86e6a2fbeb5b61cf6f506ff9d177916fcffd1fb7bff7166c38a6f9d5858bdf968e3aee7cea464fab7c3df2089a71d5f2e711e4fe1ebf0819e421594bff1c2f812ad20353fc5f82fdff011a3ef8f1d2a9f7b3d32f716a08bfbfff58f401e3e47618edb4cf554f095b0fd8185bb73f7322d686d7fd75d22e157795500724bf14c17cad2afc639b6a2b78470d2b55ed41d1f98295eb85848a5bf341df03247ca1452d4e65bc66d7d4184979bb0869801eb1e52c8d293c942fc807e0d82498b4ab974d28fb8e27c874d96d65c7c2ebd1837a06820181402010a8297058377efa374f03b78a353d5aa27825820199206b304e48839c3c365af8b4965a6783cca6db457d41cd43d8764d05a05af51f9f688e9cbca50dd62be01573675127e1c863add0faa49fff5625336135e336d8362007c8f7489cbe4d5ac2d23fd7847a78d6a9ed47d3ee87f951ba74ee1ef91f8fa1e768cb552c4ed64e63b297d9f42c183ae38abf56fc534e5e1350b43301c5fa450117824ac99f22cefe8afb23853f79257ed8c31426ff084533bf8ce6d25fb8314b652dbf2f05308e7ba2baad5c4870c6c4c0c953f846413e17ae797ad7b58971f069ecff392e195747d084be20a806677747383269ad9e2cfd32e14fee53fe9ccb69b9b10f33b7eed071762125f8babf19f585820b4702570ffd0c19183210326012a0a2d47d9079277342e698cc1199433207647e90d927b3476697cc0e996d325b6436c96c905927b3466695cc0a9965324b6416c97c27b340669ecc1c9959323364a6c94c9199243341669ccc18995132236486c90c91f94662b0289fcac97c25f3854c1919804c2999cf644ac8149329225348e653206bd1a2fed034cff4f2b7d37d7982e1d1c7f587388e628e97820573dc43be9fe37bea6743003b1b15a387df4c2341ee173cd278bd32ed80bb43d39e3a230fd60b12749d794c99d060a80f30adb92daa0dcaa7d26240eafd1b82e0e545767d638b0d7ca7c2c4d27849145f3a0aa061d0ba5bd491f9dcdff20e87c056e24ca8b8d87be47934f5611f5c66c47749c77f3b2c9208588a1b0ff3b73c68afdfe6e9ad374dfefa4fc5fdffbfb085be91bcf5b7e69f2e5e3db01ba77bd3905015b4389e36d9a9bc3fde09b5d0869e2f332c43ebdc318c3f43714b6c821f7376dfdb9b88d7e1177240c5e18a8951c5da9ab12cceca09d836ec519cb27638ae1918444da552a88df2802b30ff1c44179a10e66b708525d2372343e355c6dee4e374c39d3425c41ff697f37f80b3ff221e0481f015fccebc6a1b3e534db440dfcb27f9090ff4a20fd1b9fe1ce5b96da58be4c2a063fdd8f19b7434f132b6fca17f55ef0fa8c5782c8e2c6059cd28484ebb40f514630c956f12f28197cd078dafa64ac7485a15f20a7d81fc8d0c78221c89889ba2bcff1b427c30f66a9af4ec1266525b53d0bff1ca8704ca1113aadf4d117a3b1375d8f29cf90f1bc6c2aff7303ef986339644d28de49b832bf99908eb72c3b3231600e44f53a009a7efa17481b5b77e19cff7f4a7b7e9ce9582842908d19f0d6f89e032e9e01cae00c366c41fd52c2aca1215d940938df68af8d9f5a6e1fc544e0ea543ce07decccf78780f90709485f5bcbdeab30ee5e9b8fa2c56972ccc274b86528af61de26724676305dc578ae06a41c02daf34d85296b179afc1da1817ff3de9c993f14e88e77e4d02b09a08f9db1b16a856ce59252c69dcf10e826591639bca7bedd4ceb6bf16357f7f9467e18e5ed2b24cb31c24d3c8d2fa8b9bf6c44104004334fe479853a8953f24ddc33f4c4d05d5ca9282c60eae307d3c8cb02bed9b01603fc0f2151d37a4f907e66dc50ae31389d2a426f2e48b75cc8d27d5724e98e984e4d77023a781d9d25eac49566b0e7420380df86761dfce520a26f72ea7ce9f7615b2f86703c4dd91180eace16f90baf2feb3be9987383aba974fbd88f7e2dbaa944d051bd36edeb42c9e013a96422dc8cf8c1ec776dd80f00f0a8f9e747541be0ad0bf8fd7b264045f82eb1e68a8c157864021cf0163725a309cc1cec27a1de6f0dd0b08728e95601b4edefdd9955da224a482522780c1362794af351f40f98633daf840811f1496c33d184cdb0f32106d6582b5a4e1a61fbe7ef4128626d1801372c73d51d587ec2d32529bd79aa16ee75916ecbe1bd6ff2ce63e8fa6755f3d98d329ea034d0bd6cbc80559ca7e80661cae9759a373051302aa545b26cefdd9a11a554e5f26c236c340e62f32ede73c9bbf7bda755051cdee8e25bbc536a678d6946f189bf17c2122fab100aa34750c7efa7815ce0585db5fa22398c62b2174b69d3074c441789bc729991f80f7ed7a7a5d306aad7125969f5ccaff30863debacb9b627a46a343b4d5cb2f69c9707febb1c7c9b597af419558bc4909c9c1fdb8ed646f480632a7ad6331fc14414772397450755cd96fb7b58486b7ef5af341b3ef1ed35d5d6ecea20d5f2ff862315dcb3524ec6f9e50fb65b796e11fbe4f4de8704091d187088062c65f91d6234bc3871f9cd77d785d52ca01ac06ebb7f9971d2061b46620cd6ce93e14b7c61e3f684dbb65ffd916314c81c7962ccb24f7d90691de95ccf0a750e784a55ee5f2df1edc0f0337f46d91f3af3bed9fc23b3a7774d0768183e0dab71c0c6e41e2cab4db9dfe687058d22a6cbdfb84f3798fe75be44c3f0158a4e472a6100efe8988d8160da29112f8f9604cac59aeef45a1c2a74803b72d4d9b295f371bb07b3050403028140b75e6d401e500a8471a670d8129616ba3d275306e1c730a1ccf57dc06d84619a092dfcdea185a1b339d048fde68a77273b184bf3c520426c1dce2a10e54f4b9e3f31ad7d0747eff333e89f9c3e436720b10da93934de26ce2aacb738e340202502d3ddbf067bd712271f5bfe63c179b9cee72f606f22f96f46123fa06f29b0793a9ae25eb0011bfa34e4b5206ffe726f91e01d809ffe4d386fa41f512dc5a78b63287e665806400ae47001527bda304a332c5beafd49718e0145ccc6281a53289a12ebfbfb1da321aa810fd794078f805fca13f90da8fb9d89f69ae3316003e0442b3a673b8afb5ee04e190b0ceb11aa3330e4a201ad07a4ca22b8a015ce52cb5a944c2bee54fffd73658e362afe2b570d0b5fca7b1e03a7a73c38cd155160c1d3ff7a50fa578af69b8ce8813df1ea1db45345ba535f7fa2b8b055cb710e11673d215d31b80cbc9a4ae22b0de915ad76502dd35055f638ef70c674095a8f43642de0c82aa60affd9c5e19c14f5a64203819623d44d260462b503de57e8ca31f9f93502c39dee256760bbf1c0f85f78375d5440d76fdb7dc280461fa690f308eb7a66c44e5a7f4c31faefb12e84a5f2271a39a56bccb6678d60ca808e1546d23ad089f80318c78bb23700b0aad0c0a34b6bfa8a0530b04106b1d964977cd5e2380b9b8aa61b86cd65b7c6b021fffbaf6684de54cc6300306ee33c03ffbaeaa925eb9cf03b632c0a305f540a5af73412508a77b733b450e64ad80ee80bec6b8d84823b04a2e8990d2b73d81f1165854272f17126471f62b303aa638fee806ace94f81ed0ca4005176f9fb9527f701bfa343fa1a99047a8c19884b2106e70e951e5a245bf61d0e7a691d093c4faa0cd37a3c7e0a75571be52755f0998c2574a4bcb805f43cdc6859fcf5945ca4bc39d57c61beb9461b89061bd4aef6401da9da39e47c13dfaf4e0928c0a450df5126bb0a113cc5febfedafdfa161d1f370b3712888e8ced8c965e410ec0053af9ddfd597cc43fff9f113ce8ee9d1aee3a73894b7fe062bc6e0a3a667bec8143bb6e63038a80b2b20367567958c2d2410fe61e06a208d37df8c25e18e1ae877fe3510d03f9663784a1ea1085674c7639d630288a8ec9def20f48b2afdc470d7180c88f9c5de6fae36509d34a8b29e306ab9226ecc2c5ed55ebaaa01183236a4a47807121b27ced96a9d4fe0b486eccfe843d94b9ddfd932147c40d56d7c5c57757557879dc57cbcc41326bf977577ad7ad070aa153e74ad62b71534c0a1ab1ec48f13f22e4b367357ea3861ccaaa58ed4ba4f0871668cdd6f62e8121446dc739f2b745b5812eb60380cab544de5d928be481f8eb1353108437d290c981257cf60f1ae4a548baf187a18e0d6586b0bccf02498328278ffa5b380c0351c94675876b8f2cbec2d52aca7836fa7b35e4dab6be8e9dc0c3ea864b1ec6fbc6434f6193f53d938fd2aa1e1b1154b8d44036007db20ac54775137ccdd35fd53c37a558af54891be12bbe7755c6c6e37365b6f07146c4cf5f9657ddafac734e494ddecb4419bafaf3d87022e48fb90d69c05cb7bd4fc0ad82dcd6c126109203dca576b59f52e7058d15c6c1ffc8b3adf61d175306cb8148feaeb0cb6801000000000000000000000000000000000000000000000000000000', @@ -3631,7 +3631,7 @@ export const mainnetBlockHydrated = { nonce: '0x16d54', publicKey: '0x2526349ebcb7239ed6f66843a7368519723cc3316abd509c7cef841783f81ab2', signature: '0x0c7d6950bdd3fcf6045dfb4455b93930587822ebdda88377f3df852e0c8736a1', - to: 'Z1c479675ad559dc151f6ec7ed3fbf8cee79582b6', + to: 'Q1c479675ad559dc151f6ec7ed3fbf8cee79582b6', transactionIndex: '0xbf', type: '0x2', value: '0x0', @@ -3641,7 +3641,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z6887246668a3b87f54deb3b94ba47a6f63f32985', + from: 'Q6887246668a3b87f54deb3b94ba47a6f63f32985', gas: '0xcc579', hash: '0x0f48823439c41ab6b36752bb865cc156d1f56d9e5284eb0c9d0b0177f298f79f', input: '0xd0f8934400055279680000d20000060000000000000000000000000000000000002d0000000064363eb8000103da790000160000000064363eb8000103da7b00003f0000000064363ec7000103da7b0000180000000064363ec7000103da7c0000380000000064363ed6000103da7c789cecfd0558964bf3388e3f0fdddd252022208da4743788744a97840a28d22d29ca4387378a8a84084897484bb748838020ddedff7af1785e3d2f701f8f9ef7f39edff73fd7e585f7b33bbbb3353b3b3b330b812c6c7ff2c326e5f1c353f1f6837ef684012d5cc30eb2a43d37694db45c990ecf62d5d47b7917fb4b6f5f52859c0e36ef75714853345010f0968bc616f5d795e553614f53420943ea5a1b3eccf3335b82e063c0acb121f5c36c5d87d3ce9de7ab967d1b346224638799748d6dad5e08f97962f202fee64b3748d956dc4c5f25ded88913b683a468d0d80b48cf38498cc420f5296801948f518709568910779d15441967b11d1b989a580f6d759d4d2d0a0d261123a821d0ee1d68c7553f6c71513f78fe5b3036c499f87af2ab18e667439297afbe2d351d8cb81d04e5b4e20f1e882d819a2915d3da7c4b224347f22b3174f8ee6e3c6d5ce307e584049178a420adb23f3d190a820e9a01fa93f481152f0a9281e067ebe403f8b04389943b18baaed93f93ae8fa8c67726b5ae42aed47d944dd9a6cbaa212c0ce00ed75e6a0468e842f1abe644b6696e0b6220aef6905a18618fd758dfd634178640d177a028e47ed832f87ee8333b30df2ce60fc25c5682da958a43a2b186373354d775bc8bd3201909c1dfd61cb832268e419faebd4f2dc023354cc613788f64ea2f751204026db84c4ceddddfa1f51904c07bc3f220de56b9e5d95698c521f7ce4211eb5363daac416fbe9017e98eac1acfd22301b38a4bab1db3af3f20f4ba15698a89da84349fe1c0b27f619a9f4cc003f34b6c85409e6f3fe3f3c3418cf44d128589ff671de2dec592cf1193cabefd8d5228fc52bb6676ea6b1a7ae3f2266e8a844132a193da8a4b695946fe1202e105ac794be1daf3b0b435ace5ec9bd7ce1177535fd50f2a233379a597939ce20dcf0870d44935cea9bebf5d2f45fa2a15763fa6be79e4eaa4bd63a1f459e2c330150c7508c476dbda17faf26841a23c71820541decf73e7dcdb0e23aa58160b726a16728e7fe5ed1f2bb647cb0b54e5e30d1a60a138d55440ca1bb7f22448c2af74a4e4e2d1e5bc4551bc39592d0ed0a699cda463ed847239455ab96cbe6333291cbb5591aa7fdde20082d076f30a3604e2b06de707ffe8c65175d04000f6f451bee6f57b39616d8e33f790aeb3514cddf74008c22dbd3a6b374ee3cd070ced5af83373c21fdceb9b22761c32cbf4519ec00eb71ba9a9567e119b3cc360007816f9d08c5013a13e71159e26bb57e9b87d518ecf17219ccec0ce0f7e48c2f8d1d158e8ffab3adf0f73302f7d17c572821d8bc4bb7eeea972186f896b88908f198ba7cd34ea1a9d22f0f68e428af06775bb0dd282044f9b33b2c4e844bc4058d6b96dd9f2802d199dbb6edd6d58f4e76bdb112f73dd850f1ae046f27230750724ac1da53e6fda6e2cf9bebcca55c42f0943f5e5a061978d4f86e64d87bdb3780f81646ca74b1c750d9cdcf29f9d389f3e62c32552c0055e4809717c36c5e18eb4c9fce2043ae1261af85cd0294521bc807a176b0d19f99b4bba6e186d97053cb216d4fd1304874423891ebf7cc858af8d0d883e82d6531a25f8500ebfb274603437eb1a3cdcd491016230bc1f16b6a4b567403054763014fdb0c9748f762ed4596798cfcc83a9e710c1eac62a0d6b00fb62a181f34b62ef12f40fe7d8dcc098a8c5b71f8c0e1adb7b0c1fe28ab53bcadf230d68e4358bc49e8a0d5544491d205b8c10bc2edb18ed75d9a3009eb90043273a8c3dad78724fbd18e7fdb2d6846ba5ec07f828394d91b55778ab46a6c5e3d5eca9ebe7f177670b30821df90110fa5e9f9e8c0e820eb97a7a329a37083e02483afccfd50f05691f58f5d08b3b500ec0ce88260b98342b0ea25f9ac614e8225ed716de24f15c103f9081d56fd5c269017e51cb10355c1ef373ca8f92e227523cf1c84877a1bedd2f7a3c7d4807726f6b005cf4e88a0ad666872f34b52fb8a5f593a47a92bc94607a635da7aecc5e13f9ae0920b21721750aee5ac7e81532c7dab3c18b30a5478adcd24115d24c47dedaed3407cca7913e686601cdc96f532bb0653d26aae3e1af2697c23525df8e10c1cf1de206e8e617af20cc2aad633d1a56ee9792984ff3a299e6565fd2e389107ee01b452e03d40dbfe872254a88e0df7d6eb16bf9a9b4c6437e2ab4eace47d6540525016efe4980e64c89db2a527d24f2f961d7cead7ab70f13fa575fa13d31e9f089fd1431344000e8f20bb1855d5434bc871080d4916a78e69949ef4be0a96f03ea7d74c317ed5746bd7f03904efd06e00876e070016f4903693d631201f2270d2952d6db7a88f1677b87c2d2488af3de5c38e03c2b0584bff02674e38c90eca33df7f85e2ce1b06a60df759dd4cc25f1647f7b77bee768805f89f368f36bf719151e39459dac94e461e7e9cccb573b990994ecc487f51dfc00f706b77aab4546ce46e574cf54a1f7b1e18f77cba0915c930d46fcfd36d56b8d8063d7ccd9ddfddac5f09889d019339d14149c013363e530ba3e21129c372db93020591435ee7d757f2543e492ac889cf68e978ee539cded9c1ef1b70e38b792c4090031572734e43a0ead5707c5e6ca81dcf0f3a21406098a99ea2667cf09a76862d001e59126525dd4d96d7625be37db3b149e47bc40c19cb47ba8b89f4f4eb81b3ca209c838f00cddc866bceb2d44b1725dc744de719dabf0ee7309d4ee3ca2cae859cd0c409d206f2339ca2035de43e3159cd4aed412c1cd4ea1684a26f57483e857ab4f2d806798cdb725663377b6a2d966222a4d360f44d6f36782c4136e5de110b6ca72c707169a6b7663fd463edf1fa608ceab68b1741c3cef64bd21fd79191bcd246f8b621518be295a4176474e830dd2da849bf3388aa4d61dfd6c344ef1bd745d22864fce9180ae8199e77398dd9bb91be7270b9c76776dea88e365ca02ab8294e7424cb8bb1a81a8574687b8bcf14914d9e5f645dcba8bee04968d51d0a4fbea36061d94f5aace80b9c863e71ebadef946a3f74fce505d3c2065fea4c7a760dc4c2be36aff80de65f607e60fe2fb1dc47eea12c4ee1dc40ea85f422eb4e43f18321c04f255d23cfa8bf32fc1f677d913e79842ff2d98a21cfda3fe433ac251a1df6481fcb1b4ff602b0cdfa21c5501776cbedf8a81fb57b9bf1546edfd1d2e350407e2fd7b3b20df26fc46ce0e42dd7622ec652fdc2cdf8291d2eab4cfa1bdd8c3d5188ebe0bdba6c0f0aa5a36f94463a2f59b9756fbbce119d1179ead98d6a612316ce82a6d9ccd5ffa6ebf408de1428a3511ee85c368b82b9b0adb2b7f15170bb6a1404eca80c43c7975ade7a137645b1bf6e80ef323a5aeb07195820d7f059d8033f0432bbee3c0284d2d615144970673532c9edc2413a240f934ca1db4b1bdb5adf00262f98b5127578db090baeaab36b33d0053ba995d74a1669827d862a163398fc01f9a7a7b621c7859cfb96144457e8959c8779deac375db57afb1b10dfc5b73aac5b4c98b9defa81483b50aecac022606d082e4802aa29c5ec0f6004c57fd50ede2475c69bb2b16fe267e9c82d1123879e380b2d822fe9860ef98a4595001dd416dc866d6ea3564a5acc1d1c202a757cc3ed2a04d730049076b1ac1b71fc7cdba133111cc447a224ddfed40054e18b6d98a0523ba34a208954bebca10c6b0f84bb4bc36d961da0dc3cfaf87a837cff9fee762ff23fc71e9fe115e7df983820fb1389674871f16d94e9e2bbf2f001020386ed99d94797be0d8953e0e5828d3bbba8fe04a0fef973ce95e1f31267e98849b671d105f863a1db82e4e7ce1a7e7c54992d7dfd2cc13014c3e440449071500f9802b3af05e599f1d2b2c3a036de69f8597328bd520dbdd2aa6be316a2c749f668806800e21288a359cb74aa49b87268db5d6f54b49a760e9de24f6c33115c49b789f0a81646d67f80e4a1d1d8082d5fff4c9f98a8854bfba7d2c23769c9a048bf7d91680349ef00432e1682bbcf8af3b62879303baa678eaad3d63026c95704b4f2f611be3185406db256ff98663ca50f5ed601d02448e6f37a72f3fdd0adefafcb82b5809b75c8632d5fce232acaeeeb5fcb55af25e085cf70e5c87e397e39ab13b8cc42a32e1ddd28ba003ec725becdbb1baf33845a5417037c3e9a6a821257066714f67a3403a11847b42c7befdf2777b7899952d8bd13258218461e03122adab633448f9ffc700059beb27b3a9dfbaf15b583c067e86ba5b50e66767b5e7de0b18d5be43b3cc6768a976dff244972f4e2dbdb69eaa8ee3f296f2b9d5cf940f8140c4e20edd88f55572c42f885c7d27e6b0dbde9b36366f55efa459f002638a78a1bfdd2615aa2697d0c1dadda22658df08c5559cd83e584400aa5434da17609b580ee42015f001674307fd6e98e43e6b7c7e36993d653028db58b052734f8ce2dc4a50ebf324615a40587af8d2856c4fec87cac9c34cb2726a1f28435bb69635b84221fe82e367d81c20d09b3b5047f2a3598d44e60d437be8ab88f84c45ebce159b100c4b0ebff41ba3eb41704cfdd1ef145d4aa0082fd8374fee75687d959ae9c9935a204b31c8ef71583948a312befdd0bf5c1da7b5ac201ca0138daaa8bea87da95bb2f847d2ff028c8165e003289e329dcf6dde621c5f24594a88126c587d5dd1567f6dc81bcd3156c4f115441c5041d4f2716e7741047a58a5b369eaa4d10bcec822eac61d88bf88dca552443d73a4a5ba72a4a5ea483c494b856af82cffdb7a8fdbd0c0b49fbc801b76c450e2547900c7353f2f32d2f0771f46f3716a85f25503aff0b11922a1840132678d3b2dd4a0e70cd7103de50865b591f346f29ebb9b340ef3a224ccd9c61c7cbdb1e0fd053716f675d89474d50a739d8542012e0b68eb98e43e07fdf8480d67e8a76274ac19ae3780e01380e1f302581e38b3162c244fee842af97571104713c59d4b7efe14355cf23aba4e8f6ec84580a934623f7c4e6867a06fc1bca87767baaa82ebf64eb48df455a0bbf15ae99dd75fdbcbf72bdadba8922a3ecb69ed2e4c03443bc8e9058eb18729282d8c09c6fbea4876ad3b9faa65fc577bc1f079814d1655bc1484b734a109a2ca718a6549b5d02e2fc765ea31d3c778f4f763bbee029a9fe8f9d726e8deba84ab7cd4bab0dad441983f92f6968ac28f60ee5da12c5df0d7f6f2ff8af632bbed5eccb953bf5999de13cde221d3aefa2132fb9c72668d5a9ce3c1c8bb67bb60ed05c3e705184d550284ec023ad9b25b6fb092a02479acaef5477d8087081a31984b7e58780b601cb84cf6f56f977e92533ecb52d426fd7cfcfd5afc83b23b0ada566f6982ef661dad3de80faebdc032538270e21ea9852b714bf41988552ec37a3aa73504d9c7898317184b7eecd6c9334aa169e027971d24ad432c76a972e5c93e15ff45377f57461d4c8087c777d2e433a336feb9d0bb09efda97fa8a59278b361a0c1157e262f9a3929dbe884814977e579fc35ea26440b492f0915f2e31cb250c84844d45681f2322693d2079caaef556ce6986c6ec9c90c9b05fa3b2dc69e46230dd1ee3038466c8c57d5ae03dc628a31734b9dd443a1b5e15b1120b8eb2380c91752a2d400115d79277460e84f89dd22fa6dab17525aecdddf0a47921cfab59ca921be5fb010782b6b683b67cd4b77ee84d4eb0507ebbd1483b8d0b6c71e933fd12c3daad980fb083302ac898dc6caa4ad0fccd1d84cc402604981e13041d0a26cd83c9b960004600c8f115820692fed7e9434b775bbcf2032aa3bf0660f481100076d90905d98ce1c1c6f7bb74916715c09a1be9a309d1e90aac42ea4db50f673141f0c1c69742cc252a66b7366f168abced9d4d307fc310d2f3a4ca2d3fec216d024151e0388f030f42b49a7c42c7c29d6e8669fbabc1191b4be31cfc8dfa77aeb63d73eeed980729ff8706d031d084d5ae24924f0f87c5b5198f04e65520f7fcc4ccbf647e80aeafef64f863ce77482762a2a5585767ac9f6ec2a03ed40452ff5f3f827c81efe8ffa1fefd02600ab2eff81b58ff1cc74e41ca07691f981ae07b638ae3f6ca9fab1fdc1ae357c29597e1158e9c6e6e8f8bee3a34c5b9350574dd30f936fd87f9030e33207147dd5e8cdb4649ca5cc6d5dc414149474653f6f69fa608ec1e0e0e4451070736bfe140d2c1f6a793d7e79f2bff6701ac7c90f50586fe63fceb732c9a31a040912a7b314dc4e0c315e18a41fd4610fc9301ed41d56b3e0926905cbf947fcd57cab80cf961ec3311e044313a79cdad4db9df03c1ff21fe05d63f60ebef18006bdf77f4f9e6c8497a84204f564457606aaea989a98994e67e9b7edcfae6054623157c6485495fb96debcb4e92d1de6a40f3e35869d9bed1a09b3612f520dc14b0baf4b0c94c76441223df846e1ca937fb70cfc663c2eee388525288ad957c41fd17c5a0f76f8ac14858a0f2e8322c2d567162d33c6380351c714127b8f96f540ca2db7a12b1fbc8d7ca31043ae95d840a635fecfe59c5d5df0cffeb8a41cb120c26d3a8fd6057d63726e7326ed0da32bb5b9a1a71b0d124c2bff9f042ab83f5d9cf940f8140c47c9ae3b3cd941eaef5bc501c69f0becf9a97295294d6412f934effa9927a4ebffcb632a5ff806a5030f2d8350b125be3b3cfd307d9ad5d246dc5b6e6e396053ed3538054c0071ca04f40cea50a6a18784cb759e393a7debd438138f95ca761257acff4cea80e0b606aae9a8565653abb30f96e90b60563657cc9a1f7aae5f201201d88c0749fe2fd57b580c0af500b742f4d273957f45539ea954875a77a8aedbd6e4164bfb0e87e9ee1129159586508083e01183e1fc043841dde5687da1aa9b6c8ae26d7b35dded438ee6a06e7d38bc7fc1c25e6fa1d8050fe323ef9dcde5854e119e6896d571b1631ff34bafa6b673587d82ef3e7f97f3e32c6c2fa72d09ebd01539a4bb91f6612fc84b9c7fa6dbdda0d373731e62eef62494932614710624f9cbcf0f9f7748b9a6d76f90075c4e480b9c82ce518e88670a7727c31e275341c3f59a9e75d08ef856aab21ea0089c98c87b4e5482260e4fe6272287ac439ab9da1022be2ed93d24a76b941f88aaf8373e9570cce6e15f32e757c148d8239a65fc1dcd273daf105179c7331b7b025a6b81059c6c18ee80460f87c00752bc36367a44ed7cfde5c1bb11e229a1b64b3db9a650a616ff547d84dd898e701cb0ff6f5f556d3f74239f59c9b7ddec9f826a9346c962ddad389bfcae6190e423cd2d9901ce96c0a6660232d18a835059bb3aceb2462e77acd422c26d5e28ed1d91c3784a7b684cab4990f7892bcecfeeaa36502796a9db18cc755a55e266b8a33c333963becb604d15287fd804e518adbe777be17fcf39a3e798fca0ea90de735715fdc3f98c09a4f2ac594e887405977a017fca097bfec08c8a9d4b0744a3a791202e9b09bca7a62d0ad92d775b7d2f7bd8b6b85f0d275bfad5f94109eaed54528371e9f36c76dd7acd29a21ffd49b3f6442f5f697aaac6fa768d53059a3784242ee907a6fca065ad6a6eac1878d3cb645f58c3bfd0601996efdb464a4fcda5339b519efbd0d5e007f779b6ee066e5a306cf49ccf4def3dbc57bc94c7468d46182ed23c538236e3c802b5322145f9f7d2f2d7dcf48d0de7d470f4e3f5e3009353eac1fab7fddab72e08b492a1cdd970d740b07e648af74eb6143a97345435fc81c7b1264a2ae6ac5db5ff9fa000b1ff02091be5fa0b5fbf144ffc8627db072445fad7a071d331d46d59de7339c07af0a0019ca5c03dbb83b1f09724afc732344cc433568e3864c6ea3ac3250a69e417dfd0c0209de0e423caa8ba5fe350c76aec4cc241786e56cdaeaa26ec68e6d734b16d13bed296c5fe08446e38876d5447d8cd3ede40332fb1185b485bbfc1f2137965f3d1b47b9aec8d4cf925736fa22e04c4732ea9987004a488084c3680046fdc3043f3ec38c687a2ce7b0cda77e4a28b5ef14c936242620700a3b70b2c447f37a61161679cbdcace0d6763c2a0bf1a433a7d67c98c65d44ef12e8071b17bcef04595fece1811cdd34833dd9fdb72dc5757367e05fd09e38487fea9c0f6a74fe0f0728881e1114c4befdf8a1feff4a01483a2ff0ec29d638ef41931c712983eaf04ec7016741c1f910af1994653712a9aaa10e2a80c6566bed43994a70ea85ea29aec26a9b21f190ec4033d7b5b17cb8b6cab9294b08b46b07da6efcc5d58275f058578bc0738135a2cf8b8ef1b4e036d0c654e4dc777febacc633b72582daa213550a42b3ddcf35f9c794037f813eb0e2413d2d7eb64e3e807fa9b816d99388fd8ac75dd21462e1290193f6617ba5612fb8fcc4311995223b806163a3412f995d209b6f72bc06ce6192d0a36c9a4b88ae7d7b70665baeddfff6979d1eab4bfd57ecf4870fe6b71d51976a998a43baeb6e0f75fabe1799bcf10ebf00fb95a1c0434e8224b0fe90c028ff78fe7aa9515a6fc1d6331ecddc475cfb0bcd15461d888a6485a8113a0ff980bec72c89b73eab529f6f68a24344c45c6fbd4b769e21a07ee9d1e6a121174c5e1ed04756368d6fe76b0a7de5f5beed01bd93b5a09db288e4cdfe560dc587bd0b19a11048e6f6735f38b9239e18defe3377a3a735c58d4266990f407e1862e0937adfd349c4e4cc1305da7bca07d03025fed28e0ba2667e01d3d83c005e90e0eb8b9f4c64d117899fc6308c6a37c80597ee3185c3a9b0b437baa3e8201c098dc85f84c636d84942e34459aef69f9e33c70136c7142f60d8c86548e0b4acf1a826634b26911f7d8bf590925a29003f243b7981873ebb15a03d57a6516bab18a397bca3bfdfcb187bfb011e6a4ec15ac3b595388438bdfe9123210aeb175c3a9f462ab18686172fa0f736f7aee82bf9279202f891576f4ea52c5c63d456a861b05e732950ac7a898c025cd993f3a71712f8d851eb7fa6b8feadf07d63e3e07b8321fbaacf70fc84d804de1fd10aff37d30ad1f372e4039e6d6735cede7a326d3f48d4782985ecc6044ce3fdec5556bbd4828033aa1fd82080c88bc58d0564b42214aed8b3314e0bb876de0456c51c1ead8e938a070a13188310c8dbed46b8a34980f824f258bb33ef62b3a03caa7d90613e951fa22c777eb78b9bbfcba8bc21414db1962d3d68356a8381105258c007200d6d2f0a1138ce17368a389211ade9c63db5a31918156208fbe4fd763dc3d801b87a19c95ca04110a91f9d6783585d22c2807b21b13f0ba77798e55d16afee79c9a38e57f841ff99191991c55714411af05bb1ebba6ac581086dcc03a7b50569a8999917403326aad561440be561bfd4d0b8be07bb46389a64dd32b6dd84e89b61dc3a800bb02d0a083f401e7506184b280aadfb91f30f2f31c711acabd27b3fd0d6840f5dfe7a0a12fc15bc5102f671d8140d673103161be9e5e92f2f192076e9511591eab530ded08bb5734a20f80460f8bcc007433ccf988fa967f0e79e5814dbfb0a3fbcaa4b95a3f5ae1c853829813fd92305907a4abce0e39f84763553de8f0385d1097bec6d440edefabdce8535a0112f4aeceb5ea0f1cf3892b3b2ec5b0ca606c51708395b380cf059345199c26e9c8f444f7f91363a9fffb10420bcaf1d8dcf16f7ea1d0346bc84d5c32b45dae7c23012d4c9b1011be11c5fc728087cfb0e7c8b1f3699de5183c5a11b27b81cc19bfd0997a3efa41d47b268c73b709159a191f9d75322a6f2707850fc4ec5c6334569dd3f7fa197b928702df3ce75757a7201ac2c6d27b6fca03ea6d88857d6c1f96360e920f4815d05387dfb759c61f097148503884d32399175c32578a1439917ba50b3cc98d173259210871f6ef3cf5fdffc8dd73b50598ae1a2add37220499980e8c930347f31517f8039f3d35291a4b5fb4fc707bd1e02238060239c6477c9d799b07b0fad0caa43dbf4a05c1d1f0ce924e0038a64c6f6b71defaefa188945aad9d554ad53c1e1b20e2fb56acad9d6f304b2c8025c3ca93c06ce5eecab527587946fd4702c6a486a6bc2b6c20e5fe46abfcfc48f8620a8ec2028fa6193e91fad688d9bbd27ade83fe344f8732b9a785c5669d6108f3588de17adc9e576e6c0334a4614e9115477e3142e82abc5ac2f2f5583a583d007367adf295f4e59d187ff98158de8f9138a04f0154de349e5797a1962937fbdfe3f010893a7964fe32729797a013fbfa22b5f9023c192e1859e32940aebae5ad6cc88ca2980217d03276a82d052b6e19f99119dfff6b7ca62d5d26edad159b11b5ec3fee6677b3d9fb2197f9bfe23572f08b44954ce03b267befd8d1780397022864fdcdd5cd9101ca678adc0d3e4fe4c9fd718e92e908041a8c484870d08236990ead318ae25e4a760badfe1d244b1ef281c3fb04450a9dd96cf5831ab3f3a81a17f511df695c30443cde1b4da0b566f6cc56f4cbc9a568d4a25433ce6a480617c31f37508554ecdc450826ec7d93294f7813560a6b47c4064f07555ab87814151a595d7f62ed77b771725f461e04f25167273d056b952a803c6d08e4a7b1a2631be095f32ca61c66d978edb24b0e50082db1c0ace83174925bf0a709aff0481950fc8b849715fc9369bdb2a38a3c64e7e9015b5c7066723c439c8c792db76f7d11976409cb6d19f4bdc1cea071147d34bec758ab52a63e53ec092f57ff912d7d8b587e16b7bb5fe19a6b413025c936d4ae83b5d93c9f7a8926ef4f195ab5e7239781bf87a31874acfca47197028d209bb212fdbe463a3da2f7a4da23611e5058ba35f6e147be0449386edd985afedd5fe275ccbf002a5f245751e320491e5726e3700bab9d94fb7a5d3ea5e2bbca7a3f3fab8d743df016864020879b80c8eeb8e0c5d15a416cd9fee7aafbd6d3428404fcac04043176a8340c377a0213ed35f548e4fcfc392f0a2a222111949733834d6c9d789b0bb2d6c1cbc4ba074ebc416ef4e23166e77f924c604e512b61837dc253e29c6c157f8ce92e389a03a25a13ed2d37d744cf139fa6c27827675b7d390cd78c40840caff6ee303b3843ace9309a47c082f7009be53f96cfd83dd74e84dc62806347b2d5f542c1d26fa555c6ac2be518cc7910011d1eb47b64b532156072e156b4fb8b761ac2edeafdaea92aa82313cefa235b4ff7e6032f81507a6ef6cbffeca8149d13eb824ed0a2b1bc902d9455a1c1a2b9ef503f5cf13821f0fed09223ebeca05c0d241e8fb350726349568883d378baf73c6e4d81b51a587569b6d63fe0595f9c37f8b7805666f0a96fe57815f439bf3dcdca8eccb933240fd4a2ef19f3badcbe1765f776cff3dd41d015f928aefc9862b50bff52e3957b0327e5ebcb21f2ca2362c41b4284b8b2e454f74d42cad17b90b867412f0025897521a32669a4b1248ef23a568cac8360ebbad56fb78e44a0488b04c90575b0312d5be236f98de1846d55e2280a503d1b7449a994a17bb3e290faee6ea7f0c533f52c7d1fecdca7008eb0a2d1f10c975b561ffc6b29536614d4f0f7cabec05ec0bc3af9437fd9faa3c7e6cff7ed40ed011962bc6e6155ef09e1167675555dd0cc6ba93a9b8f3226fefae79b9e4dc80f2efdcc7f07f82fbd06a3fd6e65481f3d9a3cab978c79da78d1d7ecff396701a7d2815abd061802013583a087dbf8afbc4fc7f81fb205187ba15eaea9c640d0cca7d2050ae71fc82538d51e10cb20bff2a797f0698d73ef89e9c0abd88632e031aede0a7b98f751ee67d58129700ea4d98b7a35078f8a4b3013d18d249c0075c3a409433727b6f7026c16b3be735c6e55b439729c9e5283250a6a879e0f4465d01c90946464b27b25a0a4af8e04e441c94a4104aa303a9e2f5a02580f122bd2bf277968d55d4ff6d97e70cdbcd1b54c896031406995230a31a513c9f34b6bfda1bff1df85fb76cb40ec92766cf1b9a93a442e81a6d615fa931bfb21a1e6125b06d5fae7ac1c0d2e34ec1cf940f8140c438759934e3a983f5490786e6af5058dcf558ecaabca780103564f470204b922a4fe6e5f6f2033a7a96807c62792ce4ac686a65ece54334a4784d850b4db28a1aea60968dbc008719960491ecdd5b9cd975ddd7741daac4c5736dca309e668bf5c6959b3ea06005ae653624bf1668afb0b6e91e272015f6a66fc0970d10293b3c97bb2c9b6a7b7ef7bf60e9178e4c4973e5722b2fc0d42564287ed6f135fd3b63da37827e45a24c352e83ecf10f5b0b3bb9559afbf9012a2328f76b5b3525eb6222ad8a8e006b5f29335c6c14c5bcaa50abf2e004ca3c085cd40e5ce4177b25e4cfcf8ebd5d0c823252c3f5d52596c0d13dacc201bb6504898ff9631ac07a211b72d10481c4d09558a9ead2b133f5e6c9574e43464d8f7639353d892f1ca47a1097889f66c23f0b60a646c71d347fe49e84e047fbfc8fc007b846f073f6614d8538dd8d19a9901c79b05a397279311eb6b68aadc0c4d1eb3101a833f88e2365e2959aabdc126ce5a59fe0ec5a5a122e6979149013942f57c7420681aaed4055be6c0c48a9f1b05749ca5650a7498e6634afb54ced9ca69be146a141ad4454ebab5289c51f70095ac1a4a9ef26a5ba279caa5a9ca4ddd07df6ba49467abb61cc854f20f8271f5c9ae70f57c94f61cb6f67b6c3b122418a871080d1c407e4db2920571bb314d52f08d8e6128cf4d350277359df6557136dcb2e7b3b96bb0be045293fb1a14e17dbaba60ebc9468b63de6cc5f816d48760b82f6ec5d4a2cb3d7d7eb6ca17f86a94f89685de273315b236ffef0e6c4f437321464d75c1039da880524cbb3c27dac2b01868cf2ac6645490f3e6b8db55bfc9f71a8b09ef17cde4acfd8783cddbf4fc3660f4160de4160d43c9a4408c604b0028d858da16d23f1b6a5333cec4f987022349eaa7b97c0d77247692a82900bb6e64e552598f188f482e0c381f9e982e183a4838945203ced7bf3c6e37cc4bf4dffd128b96606cd1920f47fc7bf8e1bc753cbe791ca03291fecee5cac29e5ed0ad7cd0ab5b45b659030b16ce5e9c574f882e1f94f15d22f81a5c714cd3c738dc5d0216118e66322435beaa6ed7b2f6d1d20c5946baaf7ef0ea3ad12bc00133b4e07b03d0984bfb33c1a0749075bee60aa32b0fd45fcf83963f61e07925461803c8c315f6f6cbc1fd5df04c14c8540cc7edc119417b0528aa3087a782ed8a6269868b1ed3057fe8e510a5777ab88ce9bd2473e699794004a9bab24e5fe9f2d5684df86cf7cc4ea7d32ddf81cba123e7966d50f3b5caac7ff2b7b14fe15ecd185cdee8914fc6c14ea80a1e864f34088f238bf73bcfccb255b71772b431c691b107c02307c5ea05adf36d005ee9c86c29589aaeb172e2277ddeca6924ac0887e1a9fc4bc1944420ae83a70563cb281f64956bdbb8619ef7bb589974cc9e70261bbfac6470eb3e754255f2f1374fe19713934df876f49852008125ca343ce5448b4ba7d48ca1228c2d1b4505352e07ab18308909af82cb84dab75c6d053cb8d1c219278353f57b920d43606fbe193958296c08b47aa2e2e3fcc32c07794eecfc6029b9eaceb9e6d69877772f22ae27ac222fde8b52bff096da09328d578cf9229748b0f10ef79dee3a896247aee8d3d51e8bd82718b2441615fc38292a7be85519a1a49b400cacaf0ed838cc0b56151fba414c5bab22d2bf48b07b95cd138d261d899680c6f8f8e106e5fe25c5c7f09732d0fede5942c0f490a3baf9ac0a2c5a39ace75d3bb58f27346df936f290814bd428628c0e25c838b7a1faf6b62a0a77ae57485aa4ccb061f70463f793920209d82b59a33b70b61eb6c4481654ec4e2448207b98bf9cdb2d9db004aa2c8640d464f232c56c4cdb1ae955547c36b5c749a97658d658551866242ff885884df4388fc4925a2f5309f9991935625be1699bfd741a4514273cea9f6de2873fbe27c00c7c1c785ed00b9ed62698feb6f201b0b5c055e1e1b1261e9a3d3bb7bddb5e8aa00995a8a60512e1eee5c1f6bfa6c8aef396659baf67c1ab4ebfce2c3010351591610b8073b70f77e3befac771f7bde0944d5abe28a0df973c79dbf7c883b2edd038126487a388d2bf03a69709773b43c4d68d2a9e1ace0354fb7578057e303dbfaff9f3feefc689fff11788118be2651946111aa122c172a4ce2a54bc44eb12ac64835d43938fc6f2f9663b702fccd7a0b0ca9ce06929b5dfbb2fd76a10eabee688cb3db1e3ab43532dcee9f038f5690e29715843a040b7360585d79dce8851d151ad3e54c3de04cd53870cc0a22f2144f6dc85418e3357b44cb94a5b5b1e92c890b462c1f50a66242b49e0ea42b25d20c0e3eb1b7bf51132eccc2206f29c36197902d53150cd0ad7524dee4c9976bdefe24b018aa12aca768d2c91f63389e4958fa98ba3d05070299df9ef3c3ead2fd15fb863cfd7c4b1f64694308eeee5b29265cbe3cf7fb129dcb21510398089564b4926f41f009c0f0791f92a8703ecd037cf43f49a03eb187b954c5c694f5d178f5ed73dd6ac98de9ea03b097af48d832d2506555a493d6693a0de4f4908638cf6438e43d21c5e0c079c30281846e07fbc2557e3946c05f85b9ca1b73875b49e9a8c086285f329dbba0274b90ed9db6f5eca49586395698ffccec5f1c8c175882edf9e60ae2cc2c228cd78e0d74935b5a6d2b2d61d4453b2347213f4ed92700f48dda575c85145f4b51007111624c0698a6615b197aa16f6ab5c2eebc7632cd86c0bdd881cbf4a5733a2287dd5c1f46943e60ff51f89e7976638b3ab3e095b2e94d444fef123849d64d87b66fc920e1aa3435e3916afed724380a0c04f7fddae5dba6d97798fb1c552796c4ac4f73238c634aca0ba4f7c182ef809d2aa841e4bcefe82bd449ec36c1c36cc094154d0c41b97b1719112c3608289cc426c82229f347cc7fcac91d1a74738a1d2cf8c0cf8298377d37150adcebcb1db12a489d322facec26a76be20d68d9c9691779f46e1929d3079acb4418e605e232bca083db55d2cdad1e64e8514474f6ae44b5a7d9d3ca068bffc80bdc71dc747113a58ed5a38893819fad855f255cb99d3a7d4d1921abed3a3f5afe2c70c375c191b42cd44214a3ca2a74427a4ac14db35b7d27db0767d20e43b38420e0ab94a9f72bb8054507825795214c8f6851902c31f33dcadaeecd4ee4ed4273ed61efa847abf26b20f80460f87c00177a98013169d1cbd8a66e1616fcdd8dcb940f50fb3d082ec1ab91854a9d679900e00438f99a11773f9c39ccec550be148caf473f3a16dc7655da55ee40876f1fa5dc922f28fe08e001a5387d246b10d4d645379085b5952381a29d3250a53f1b10ddfd59788a4286f01f70ff79f3272228ab76a192190dfc1c9225f2adf37b825d08fdd3619f6c841fc01041e7f071ee78b8b12f2857dd84227c9d8fdc5b199dd944f894a45c497ef69361306213fc3bcf80e8094c0a521cd687de7ca087605f14327c1dfaa0181d3b99260e377218f120a85f4d3ef26e2081b85dc48e5ea31e18f6ffa5981ef3b810bab2b136bffa9dc3e66a6c9656d14ff6a6c197129107c30818e6ec920f324e7e23fdb4760d74c60fa12b03ef88eb38385a5faf561a1a0a7baa5f301708fe1f9a3c5cc791deac5ccc6a35a6cedca096b7cddb3d7f6a35089fcad3b42015e4fe2b35a420dcdc1f47448b205cff9f0291e48265d8b3d545510b1d6875fcf8720e7ed20e7f8c2151cad0bdc7c6f182e2e2e9eba0bf69dfc1533aec5e7ec62f4439df1de25c8b2ee706adf55be6c2ddf92022327b6272e597a207c7da6384fe60e4863c162187e3798c7c996dfa6832d4830fa62916ec5df9db8c4aae2e4d5d615cbe633faccacef04c2c8c93ef44d2c9dc204e17339e1741ae640c408b018813feb2382187a7292120491170234cde8cb7efd09f9e4c8e888a810787208803cf5fab83011705b10b83208dc35089442829d8f329f7ae88a38eae7a88ba10c54816f344b51874fa311a57f400f4247974f86f1edaf7f612efd107c3e08365deadcb75135bb2b67104da9661a177e0e04e587e2611d37572fd3a772be2fc41bd42fd94fa8a5075a68742f9edd693a9645208059859e02f08fc4b122749e1b8afd487b7eb4bfcd04fb8441caffdbad42e14e1c1128195dd339990d9e45d3ea29c8fe19ce18a97b894ce78112ca7e2b0a51eab164c4e3aa13831ecbcd1158c93cc00cc621272e0de85b08340202158140544e26f75f40f0488df088dc73cc159fef5fb7bea53751a036ffd0d227277a66f3d8d9443db79215113c87362e8c0d6f2aafb2ca0da7e648776c3f4b7abc81ffce80076c34ac56bcf7dbac78ac2222fd97b9d95318abd0a8c102ea9fceaa701f7fe7fc0136dbeea3aff6623f19233840b2709032f6edc9740fed3ab9fbe01e28295cc470913feabe809a33bbbc489d2db3bde7006c0a0f79465c67c5e39af333a3fddaf8b82df184cca76f15ed8bee287c8044ee045a276de1dc67b1094add476a0113af62f36f0770d81d2e0ed3cf5561a4000a3886fb6995be8376d7c8d5d7ed51ab531880e171a38a92c307b24196d7bb2dbf3c256af8579f120d992dedfa6c8410f82aa410f1004e1a40ead43dd5d9e8bffd94e85fa00fac78d000173f5b272f508a312b3362ad05e0a53d469b09bac031142a35a1d9a05c144a1ad264be25990a3854644cabe23b8cb0cb2b3013ec72efaf29e1e314c6b698dfd12a0e7ea7ad58f8f500aaff4f082fcf077c644f8ccfee5b8f3346cd5f67ee531df4e622a354c28bba80acfd56472c2aa716a080d59aab5a4d539958bdd9bd63e4d5eb6aa1de66b2187205c9b355fc6aa5462204817507e1822f14ffcbedc1a1e0b14732ef12f8da3f9ec5c0ee757f540e176c8d0333283d55b4136ce6bbf1edf739e9ecf3892f927b2c62e6453398a2a7d008dbc1c21bffd27bf18db61d28c5b96827572f3e8aaca57de86d6e03b07b6bb0f211224dd198bffd059fb772289976bed2c56e05b1c9849ff691abe9776dfcd563f46762989e964865d1022a62fc2a7890d67c08c1271476eccadda903dc3e856474fcd537a1be425a2604e1542f5b2a8b96ef44c0bfa1ff7fca23961760eb7b231a6ab12547fc44167d694c3352352199a9ca19bde3dec05566c00dde10e086cc1baa7240ca35148887f4b033560b1e5d88c5bfe757196e3d38178df266e6b7177bebbf5c3f44b4c35048710b219561cb93eabad83b62faa849e40187defe787275a1bc004e3aafb575caa11f4fd6de9b6bd86e2fb67a9d9409227197a11d96f8791269d38055757964ce755456bf585573151967600259b696694083af1ebe19913b1ac5e9ffd8e417ed45f9742abdaf2642b2c58d01cc5e3eb71b9ffec74393fdaf9bfc36a5b336c94fd619f594d82ff2bf7764419c1a41e9bddfdc9ccba2269424ca6b5190f633e5432010b1c8bbf41b9637b66c1babe6a17bd5f762da6a286fa16e079876200f11ae868b8f8a3f93afb614dd1eb9818f4641e331ff46d42f3284ef62ab669c6b3bfd59dd976be05aee211984e55101692bfcb82bd8b91b3060e1216941131d1346eb476e23426e2929000d6dfa16c303f4f5b51185a876bc4d69ff078fb6daf72165f5374dcfd64f634d42a09c3b5036822f4b88b413b6eebd16c6639751cb6e50eb9f977d47ce6119632ee8ec833a41da0e4871ad3a66ef774c9f29a1472d478cc564690b05c3ff9a5a552245ca7d109ac1743e206ee21026f6dbe216dcec6216dc521725793824f9d939244cd9c54ca5c4cd4df8243938b9a4b824cda5a53878c4f84eeab4e7974566f1e41d1ae1bd1de349a8c85f055050395cc7edfe3c40ccdac1a4765801a00d356f294895453ddc75376997dcafaa26e9fe98eecf80e0fa6ca1d057ad83e5c82003e14bd04de4e30c32908eb9f4e461a2276634297b5aaf33f7917af50c71551a1129b867b5912095ab79da451b5bddb040aaebe9a5d88ace872de28d8192d72e9b50ea5f080798d0382953bb1aedce583e467c710b1634e37eb0bac98d458fb7ae3a32c2664170442bd2df1c2f0aaaf78c9017e8fbeccc8430f4541ac6b9cb1f5041c891dd015b2dabda51d65d247a5e006dbb0d9ccd3c08d8e5e7dde7d593d975685fdb0ab7ba919deab0535f5cdb24a230e56ef3f50a42f45748bc414f070bb563eedf1f9f6e742de17cdd33cde37433fede2555acac62b5077748c1a47902307c5ec03db3e5d267bd068abeb6ab74ae968dd1b3eb33c46dcf9d87345999372e4b89b7020654789d24b25d699dcfa7345b2c466ec3751ce21d6422f0abbdf9b8e95d21b20a416bdf416bf1c326333a6a301eeee513fcc2d0cc1051605420147f77a6a38d7d51c1c71b947a7518f3e175551f599728f1d30340c07744bed7c5214dd14041c05b2e1a5bd45f57964f853d4d09250ca96b6df830cfcf6c09b3c686d40fb3751d4e3b779eaf5af66dd088918c1d66d235b6b57a21e4e709e623f5dd7616ff2e54ac34dff3ddd2545da8c643b59ea728c92091e050c1ec2940d251c054ff604f3efce4cbe260570f602f1a40ae6c5f06d4f2de790e20631fdad261554237286aa10d561e18092137970a5f316a19cde3fef69e3690f3e961f4dc6651f02d74c1e76b94ae1537491372de151b5d313f30be6cfde923ef8f3fbc0d8112ec4071bd018269e3491c02aa8ed0b9766f8b44cb105bc9e73d2aa45b770e059c253d0d91d5019cb99a3621824e55ca2ba4124b58071730f15e4f5e184c239be613c013ff64ef0ebc74707a416b6a38782da5a35b1fdd59bb7ae062ffb9e6b714f9386a1dfab678ebc053563fd31525c6f88789e9b646f4330d196f22a9a349d816441ab07dcb36285801b8fa4f7ec22be34b53c30275b467051f38b8dc858d52893b9b22f5631c006d4b40c5a4466a5529036422e06d48d9f585f7f7d7a2b85559a6b048e1b66645946c65817787d27baa885349c57808b475c9e1fe75db660d360d29571ce744514a7cdbbc00ccc5db166ad63a13d49a7442e596c094e365e19265c03c2393c3ebb5091e4def8f772012e90e12117509121edc0e1216d48f8871e6b8d768e18e84baaffe7e383810d1af8f501ffdfb1dc3fb3795b3e8d78fdf9e9efe237c7bc580f30dee7f3e3dfd7bd10c907fabb3e17e7b7a5af4987c4755237c797afadb16fc3b2b0e0407c7fb5b2cea3f0abd3b88f0db8930c20bc9d843a2af639cbdb4d02e7f805528c084557ff4e9e9e318ca77198ee388204afd39ac93890bd31b9ffa34efa1d7a9725ddc83ca7f6d189ee0f5561e23951e355a63434dc9b9bf9d3808645b1bd6caca43dbe3d730146074636a6e77a8f756d6ed573ff32ef695d6be3aceebb4db3b7ff55d6cb02baf9f7d175b13e4d40fdf01eab172fad6f3bffb6ef67737643fb4bf2bf327e7c7dc373cf1b573b067b3419b06b675197cf9434600b139967007d0e69c3c687358ff1ab572d871456cfb03efce3415ab715c5c30e6735c804b36766c2e1278fab49c833cc18c3e782f79230174d47e6c218366f84f386ac09f0030f9030cc05e2c82f20298ef3b0239e5272a0938b5068be611ddb37be208f35135700814c7422e23c26800640b7c2b9a85a6759ebab6e2f318845d0e5223992b398ee34ef877ecc86d625a8e543247115f7dd550602bfdc45efcd66bdbaace67aa7765de32090033d841f0e19e69f5de106f5e60328e79e0f5b3bbae3897af95279270dcbc8cf8cc97c33d633f942546ee392d5c0220dbf608ae0cf902f11c32b2655d54fd5dffcf1751485e1822b430dd65b3cd9a708640afec4055bf3adb351deb6c7717b53d11df3f4694ebc7bdedde98d4ddef2fa551abddb88e3f1642cbd2fa7c830704ffc4a1466dbbbee6537527eec4f4ea0fb0015b35d0d8546034f102bcf68fd71766df4f73d6ab8c859a61cb12ae09140e970be139110477d3e56dae02c670a32981981d9e15ca0f42999092e6f4d34b5063d657ddd2433b97f9289823be789f717e318c82c0fd5f7a9f7d00c1ff47799f816958ff82f7591908fddfb5ef2f789fd580940fea7d26c95227f5d1f90e81d8de47e3275b9a634592686e150cc67d3ccc12142ff56c8ce96f7f4e5576885bc076cf334b21cc1119c8b970dde19afb79a47326b96a8587e2601ab0d3e1e7bccfb0a6f34e12efaf0b7e524187f225518294ffb3de673ac7cf99e3bdcfa0ebc7de69a317abd6ddd0917bbadcc07a4ddeec0c1d42c27d8f97cdbf25f3015e338c3abb9c8a7b0c87407ae4b9e6f312167aab99834f39da9eae3fd7177f5a05dc9843b4bda7b412581d512b883be5b25ad3be4cdb6a816b795ec5df0b25c228e8abd246ec57286d0e9422de701c84276fde1a78afb22bad593a2ca95a6bc692e13546c63614e37106049f000c9f17f07fa3fce17ef16e18672fdea6bb145b21f992a46de5a16d587767b3bbee988e09804825f029435777ed1d5127aae04ee7468c0fdd27ab446f19297437a75ad3c3c1afed15ff15ed1db7a35077c4a45530a135b6812bdfec3e288fab7dc69193f0de16ae0689be002c222dc1f55c05aacf67b39e8fbfbff712f75da370927615ca4d7aa5a8e0aa73e6e60464597c40f646dd7e3fae574a5fd8132afbfcf625c10c7703ce2140a95f24b5f3bd9c3a0b200710f0b43efd5442222bc3b7d04e399b12b2485bc4d0ecbff43903ff23ab9adf918b87cfc2df1c6949c68511991790525063a333a265d3a2f6d1bbe0ea906bf1d97c1d55f5ca0331528ce537c16b2100b796cb9dee034b22eb0c0268a1e9fbce5eeee597d17e0eb18ced28fd5106fbd647c4a2f9b1d4bff6837b51f967a3b43f9fc7db2ca65e3fe87b296f1eabddec392929b0741ab18bbe500a3e00c3e333ad6e6d3f7cc0169c67ac9007db93bab094b767e2c887caea18b0adb203006354921a696281382e5daa01e2cbf873be623e95ca112db8960bddc36b3ae77bbff8a360934afc829964a1d4d5592559ef3ee38a51b2fbac2abfb7f4caf6b4825712138ac87dfd8ce08915b0990486cffb10405de117223d2cf219b28dc6455ed4116827ecbeb3d385c1b2c9afe744550aa058b921675f6eef6f23f43da3f90cdd22e920fc435e47f8d875854fbafaa9ad461028cb0e94c997aaed48b220a2c6814120915810644cef48a24848d7cbc8422f0c1c55efe25a138f5e9b7f4bbbd05ee3124ca5cdcee398db71e37b1cb73b0e171542e8da8477b8415d0961be60af352f413771752d4215820a211c190fb07373ce5cafaed8097caf4c71edb6599f28040542e0e7be428c1f3732b3e175e0c2e269876a2db04574427ff20195f507fe23237794d752e4ea7257efe42c9ace57d91acfb1ad5fbc9902ddbcb60a088e06d007cb37db7b4c2c6caa97042aa137c4ddbc6fec9392a0eef1f889098ef857fb0f837fc2f4e00394b2cd7374f010df0b85d214eb142d7d0a8ff7d13f7f1315d72e8b76ae58d64200c0a4ce446814c97a366029dba18a7947bb31af2ab74539065142fda1e3e8799794a39b0aa1233e1376f3cff2193c8e91c20da794cd366b8947cea9dd33b20ecaa7c6c3a414e5a9e0038c600f514a2e38f63ac05b613e7cd3efb9067d045b41b3e956bb4d3c20d0c4450c30d3cbb05251c058935315518a55b7d4f90f8bbd1fa065100e1155915bf47e8087c0e7efc0bf84f3c3efa3f6c3cabc0863b49c294bced0c2cde262ce0952e8f1dc49e4a30e82ca1b21da24f595c04b2e8e3e6b3dbd83c14415d0c31f98286101927eaaf61b297fe2f4e033d0c58e6f3f8feb8ed3ab870713d540444d50510fc49801f41d2c900138fdbd5ca4fe756990f2a98514b0cf7c6abb3c2660d9b666ffb1f2289cb4198f702a7c9d0df67dd2a06c107c82585fe4d2041426c7a827cd7517912c44544a3b0f4170bec3ff0b0620dfe1cfceb43d1e197a1227e35dbaaf93d897308ce2f14b1f11e0030a5f087cbc407dfb55dc6eec064ebac1d4427659e3a7ca91d11d66d8a5fe1eff40809ac8872b53489dfeaaf6a7e59164b16523da98715326ee8101778b46f257622a5fec24cd7eb393bcf2a376926e4abaa49b996d2c23d4fd2384ca44ac3bf9cd6044ff57ed24ff027d60c583da49fe6c9d7c404eb7392135121f83bc606e622336a3070b26baa5b9e052655bfa4de8540dc52c8036fbda4d622d5ae0c299d1c8b0a19633f39c67e4e22749d00d8b1d62946603d68ef68d2325906fbbc29fdd376a0cb20b55f1e6b562aed80e042abfbb2550ee547b1a9df0cfdba8798172e1ba79d4a0730fc208e3bccd9e594bbea45a789dfed2065e10e56690edfa462f4095b05e4465121445bd17797d62ccd4ed1aaaa3787a1286717d1a3dd2c7488c775f0f0f92ff0ca7c2a4201473b889f444ddddc6f7186d6924706cac2cf63888dd6725cae00b241f3a0304b7506ec6545f6a9c273acfcc5b43207f87ca38d43a0765313b0a728fdda873120269d97eeb8b547bb4e4b00aa4619217aca3ee60e6244b4b245cd7f4ca9c6eb6decbf12e360b58d62d38de04628f5973c087b405e7e499481589605909e18128684929ab9fe2f6c00bf0745cc6b14eb14345ae77c452f3530bb49b923547617d77b902239c49097dd40aa04623080dce8b474772173e4028810a2dbab4db3da133dc5b32e941f07539f08040b177a018beabd4bfbf92a992497ee94a79e7797ece377468eca4ecc90fd3a8bd8b9f8e33be2a86278440210ce771767a611867f14dcda533e3d4b865af0e4d380f661f7b528742cea39dc7394ef83c6e52134021e8c5e7718e93498f138191cc46350ee78b51a08f6c70e0b5085e7fe911e49b55089def0cc3505bd9425b4da6d5a3b8e9e6667c2cf314852b0aacf7580201f103ed47db28e3180b9f6a7ddd3be8228a9026d2b0e337647cd3ea862d58b783bf8dc287a217f1bf16858f2eeb8cfcb0bd9621328fedad3802aff31164e74f55e1de781fab726aba4cd40148f5ffcf87a5f8d13eff23f002ea08e79d973fcf0da7af5505fb4923a6934fb8a3140985d61646f42e733b466d0304f6d66aad5451566bda552db3c3076506ba22fb4be614d9bb0d577518a868c2beac538c2f1b3de57398c0d91d09120294b95a3a5c9bad22570c5873ec13efe2f47ff1f5f314043da75103a5903d352ee31f61fd3ed3a3f958f15e4324e77ea2c5b187e32d7b3f6b671bcc0794bd0aa894f5edbf4ba555dab8a7d6b4534ab8bb4042b8998830b2e46d7735b40130b9f2b044a2196594b1943cc7af3b3be9a3701db22e515d8069517414052be7e6d12689fac5644d0c769cfef0984df2c8cf65314ffd56e1bd62c301c62d8118c41323015f64d37a2c3360d8ca0bbc7b84ca14a9eee6c40ad9d2a2cf552f7d563bee9e6c427a50edd7469de73b1f07908ebde98f8f0da0224b1f86246bb4ecc1b5733d7cca81e09bcc18af7eaff853c1976b1dc4d3af7508b28d71310685d57ffc5a077e8a434644ca0aa5322db3abd4d2c91f87d1b90804ff44e19e208b77050de176c989e9f7aba7474bb9ef81944f0046131f20c8e0e2569f3c12477f49f9da07ca9b920c258ba5ee3a38f9f6aeeb1ee82e360e80c0ae890c477bb5bd2179407e6cef9b8c575e027e3a3ad0a63a8218c54eaebb32475773085fafe6da66e65b13357795e1b993e79283bb1f2b3058b4076171ef46914120debcc0fbe7d94af6f39b4dabf5d40ffdcbfd560478ef96e06de70edabfcde7acb9b8f218e0781103b0458796a438ed1110d98d5af1ebb6a4eaa44ec747e814e391873e55ffaabc30fc6798f2c9aebdf72fb731c6be8d69496eded514f334da832600f3c0b3b2cb75233e7aaf0db8f184868ce6e5f2f228d94e1efd64deab616a557a1cd9302497edb794bb7125d8df86ce4da7fc5b42e7be9afdd072d15b9a0f48d7b23b2ba6bb6cb9eee2513eb8dbd3f5e44ca1ae4382f3801c8f59b4b0992b39c0b328a10793a4a8ad9ab147666f7d3e55ee1186ef7a4dd5c208817a4dc5bcc5170225d98112fab2f27d799a930902cbdde4c818b670ae6d09676b1acca35816e8f58ff22eceb936236320be1345eb1d7a3183f0ea48e3c1eb549927b16677d59817e0e34837bd64e313984624a979cf49a074d847a46b553f5646364468a9bbd7bf133d105874486ec6233c0741e8e16c3c8eed1d27e9a0d1f4a8491c271d7142a110cea378e810c8bff21c27f7f002d3894458280cf7554d186e654df3b369e2db301ddebeb059f3b2b3fa4a72d5fa5d40dc365058d9de5ec75abf8fe173c36b78f807cb8f2b1e1a67ceb8f04ae6d6d1cc412059db19be83d2473d13ac2efa67c3ad61e6153111f598254a9b6ebca17b53fa2205f371fe49234c4c41f4ca22d8a19e1c9889d7a65459ed5a0198ef5dbe2b368afeccf485cddbab29ecd67054aff1afcb750067b3831a15fbfd2882ca43e8de3169a7ede0e54fe55ae4f56478f55fc87c36d4f4db93faf09dc3bf3fa9efb749a7f0cec504373c66e0698f0aeae867827cac639ed47f5dab603d4005e439e87dcc59a80e095b64203bf9cd3d241ebadb3ef7fac8e6d4df6d3b6425e1f46e0df349be4ffbe04144a125e9704d2f5b91537bfb4ac089f890a17496b853628922ca28eed2879f126b0f1a7473c1f2022f306056923153636656d8ce2e9b88d7fee92a11565316d49efe45ca1ea0cdfbb21fb04397306eda5fb8a86bec3dbee94177b9597b6ad9db764328c5c5d6d3af2209fd2b5f32fa67dc56794b754687143d6143874621e622f258cfb7c8fab86b3f32d2bcc51dcfddb2b30a5cfb44b338e9dcde4012ec609dc4a0ee9fb2fd840809cd721661f010eb0a0a05ed97a871eabf458d6b383e6adcb96e235b12823f279e833c6dfe63e239a589abe7cafa657ee227baee6993a23b9b93c11ea7623fda613c3d9de1ff1f241b04ff87fbfc0fc007e85e0fc3201196fe5c7ebd7d03c3b7274216553dc4682d4c8683073ba12fd29b1620c25a1df0868b5a8c8a2dc88fc776bb23ff187b079f642033d52676614cbfbe1982dabe83dae2874d76f56815a679ee9c60f78efa67ecdebf13ee7ed8ee9da5fe35584468b088cf20f47da7b936a8a3789bcf4b6c8ccc58c07af1d39b5bcc3c1a34a7a3a3fca4dd3b32989106481492bfdbee1d6cc51dd9bda3df8d5a39ff8c5294bc9a772864ddcac95a4ab2844a519f2598b5241f819ce3e557bbf7971b9433913157764706af2a8beb0b8cd319489b9e6b64b4307913bccbe9b938f717ecde21f9dbb9dec0fd84b39710ed64e5b3b87b91b61b0a47e52af788f9ae52aa526d99bc26e531c6043aeff32b0d6ee1a7bedc33c1d5d2bd559bfb60872645833060979f4106569438085c7845d9607d36a060ff9942df356c32712c090dcf029301758cc757e34487d25581bdbafb3895651f3a8305eeb74b1670479d1d5b13edbec44bda2e868f0134bdd106e09b3d782a29e2d2fc171ca9d37b1eb1843cc787de9cb851f9923bb6e5a2546aa2f7bfe1079a87e8b683789bba04d16907f13ad40f2b2fea1bb374d1effff7bb59fa77269fffe64838df67f7867c6f92eefd6ff689f0db7fbfcd72bc59faefc0f087ef93ccd2bf609f66964e0dc1f9639ca82f8aeedfcbd841b0d84e3cdea2f407cdd2e7d75739655f8a56df7f53fc4160dbf279889d4d1ca86137480612966d6d18b107cfe0c47932a541a677ec4abe26112534fd913f63f90de9c8a8eafd54f3cfb5fc66a907a30084f96e0f1c2b0bfe0f587e7fb7e7ffd80e57b593b2b593f87f6ef97de925c4fe2f5a7e1fb782bea490b0fc172dbf4117f25f58e9470d00859fb5fb0695c8f980847013f8ad42d23b56e902a2ebae728274412264e1def9b309f050219120c52c40be626498286d59a87545caf2a618a72a2272d375f9dce236422da1f383a9ec185fec21a047f61068c503c7db43a0bced3ff880effadfb18700f34604bb6638191f692344340fc4cb0457f2bbd7c9fe3f680f01e24d708a3d0432d9c1ff8fbdb78eab6a5d1e87f7a6bb1ba40405e9dc1b1024a5a4a453ba3b0569101409e986058834228874a89420a1a08494a0221d922af27e84e37d8fe70aeb7ad07bcef9feeefca11fd6b3679e59cf7a62669e0959102dedab3f84d4350f1ce82cb5ff509bd5bef7a029bfc8234452c536257b14b03871a2c2e867e1899ba7b9dc44aea278b785f895b44d1c5d4ce20ff83ff0db5f810f0a70a070a572fd6a15e13d6168318c893c00e28e84658e79873baa1491bc7afc52ba0d80d03aaf5c1cf21cdda950ca2e56b7f6bcd725b812c59ba8f5fe38ab1b16390faabf1a430c7fca6d74feba6d04ca03c7bb91729fd3aeae8e1b5d54e178cf4b332f78933d2b20d8d803049f080c1f06b47d2ce65363ea515e9c9b48365171c6c5edb6557b4bd1db8e7a292fac775799101095af10bf5ee775e5b47955fff01dfff94048709cd75e55a4cae9da04b4e2cf2a10843b3b08c5fefb6f8b80131ff73de7b150ea88bcebf8fe901a04d15af3861410ae0f5f258a13f896ef8e565d4df98599562165ed2ca891b657fb5d98115dfacad1de9c96224fa4bb6b77b57b5a7746196c95820528fc90a20306ea46a318e4de1068faa7f113296f650516a97cf20ffdf16fc37834dcbafb33f9fb0ea01899383bb8b8fc697c5c6b373b47336776b3cb269646f61666fff6833eeccf8be3258dcbd7b9e74fd60e37bcd4db263ab515e8997bd656c8090ee8c5b5eb87b5169c67228b60371ce461dd286b79e5fdc83ea2b98456ebf9a50fa50027c76baedd88d712179134284c55461f9f64074862297604fa893debabf247bcbeae50a39fb1427ba202e96ba7f4c6e2c2ad6e07ea2920aecb95f610113b16757fb4ea4062f96403824f04860f0386a7b1a98658ee6f212ff62c3eb52021357b9bd4b2cdebf3d006be18481cecab087041f50c5f1277c56cc0219e12bc1773d258885f89f5934a5929b128907a25964010e27610a203defce64fe0fe77f327e00e93ea5b3e179b9aeb7f1a87520cee7e612ae2e85ce9490947af81c47e4e90eeff9f3758fef098ff01e0c02e6e46fd0ba84154dcdc20fff4cd8ef57b33e570d61a44ea1ba7270a64eb23e6009a8c0aaa11a9de53d2e102d7463ab3f19ddd9f9fd9c47adc822f13b0ac5dee6cffaf02ce467f8b02ce6035968e59c3e96715704efcbf50c01904c0cbc7073b205bdd38ead617e1d329a77bbf86bb7d80df1f71d43bb4151a5c586d6d079aaaebd8059cf71a7acf51050d0b93dfaaeaaf4b29d46e177d72a8d70418c080f1049b9ad01826bf0a5e6eccc4394e844b917c02b6d519978b5caa4dcfefc2de02e63988b948ecf9ef158d43e6de77e257d074649258c6b22d8f2a3ee92218e0a6f8d78a36fe5bac68b02a62c7ac52f6b35674d27f71458329507f5ac1225bb2805e2112a2f87eeba9b9e4590fbd8888738747803552ebf92cc61e116602759b78e178446156817a3fed813fdab37f8f9f5763edb773783b1a51abbfe3d3c3f933cac9ce908d391c1ff25356747df6f59147a72a1565153295289e0a870dbfd63909867418c0013a0b929eeb8d619704d2f88591b88b8cebf1303ba596622f6eb423a65f3a0dab016463fafaf92910260cd2cf104666e34112053fe63ba67fb8195f99a99a8333d405813edb81f6e21ff8fcb1bffcae737f0863c823d182aaeff8f62fb1df87a5505d7d1d1a95df5d912c6953f93895158467909bf09febdbff27f803230feadb7fdc3e6180035638b7b697c42410e16d4e90281c2c64e4cf1028eaca1daede41934ed954005c78a4dab8279ccf26e55919ecc3bebab2c744a782a75cbace05bf654a70f9523504a17807a100fd20e966585edca376550445b1215e739726adba284b8ba74b105cff1a04496b77826f26ecf77ef7a746e95f003a5cff7000bd8695c4d6e2f8261e99d44e62305b8e10d69e604ad508cd978c97309001ebe4180c7ee3d9ef7ef57c83c1cc65b86dddc6a618b194fec3061eb05c08a09dc3012419f101740eb7934fcc3d6ff6b517de651473e5a8aa69b641968c86719dc227024e87c4a7e172dc7d82a1b64b194b30694cf9aad64e6399c44886485cff3995cfee81373cdedfd51bfe951cc71616896edb7d3d029b5d7762efe5f7ad59472123af79e21dd93e370a9201e47fdaeb8f8ef91f010eac95c3241f48cdb944c6c0d7438af899515157b5dbece0b72391d1673969b0730105e1ec02111a23bfc95e3481e4b94d6581b295ad76175f0749ea16246cf250eb7ddf54f203dfd4970387f9a64ed5dd05c9c00802d4265d306081fd7eb1cd1b8917db7ece62563b94988a4adc5e0ef29765c2df78af56d55d7700f4f9a5dc9fa24a0c06896f72148fb1aa3c6c343d59ff022348b5c4dac2886b23f65f82b9c9df423007cb7b7fccbcfa3f4b304ffebfa06a63781a1586e15b1ea68b0aa86b4a2bfb5de53adc607632c0c765eac83b57a961d3ea3fcbde7f00c81cf49e879bc4212743d61c8e4cda0ef92982f9fbb0351c8b94f63b5c4a0ed41a19a5f6aac2fd4726fa390a6000e75a6a69ee7c7266ebb9425657e47b142110e6c730cba9a2b7bdd343bd86d427018c66ea886146d20aad13dc544f1a9fbcd76ed4dcc97f5038147d33f0d6b5cebb6f2010db6d6be8d7c003049811e20652f25c598aa6dab5754e1a35137feb6be89a590c8b1dafd2fc6180668e74002a859fab532e2379ff234ac26d847c243548f78adfe3c5228d526a3400499b8a0627f45ddcee5e53f91cbca5bd2071fba3fa5e412347ab9b8cb77e27ef5f9ca71de582bc8a1fb248c3ce53f6f1b31aadb9f31e8b067f76f0ff3bf0f7cfd3de46b6b31c6160187deae6d2200adacd7bdcd62e3a7e4fb8b3a8b0ea6ed848aa815f261f0d62780e439fdfbf2608823d9e85cef75cb3121cd972722e4d2a49a92528a589322bd0593a435c5876b94cad743af49d90113aa06f9b874b0cebf67448d22335d9dd05cfd38ee65c4b2bfafaba9f97fbc6798abaedced4b8be9575dd886004cfbecfcd588639004df8481c47fd2dd2dc0b6e37e2c3dc4a1fee098b27cad389ee266a6f49316e701dc444418f8e8982aaa105c9912a4efe784cd48ceabc79cf2c6b6ced3abb4cb01a6d5ea557209895f8f0f25b17274ca445af1f5a0d12aac296e5efbbf411843e11184f30a07991c22ed75dc7edae7166cc5e0911fa07bb971c4b13c99d55095d78498e8e26c0e5a8a292f14a51938fcdda54e3f89bb9d9352e9df22905c8a3e9ea3e5194cb025fafd78c7fc6f51aa1b4e0342b9d4ffb5913a4dd41dc68f7cf0bf8b192320bb6fd7b7e369bfca960093888c0f061c0ca20065b9ec5fc0c037174d8f0bb07025d8f676b19954b27abd3d0d8c33b336a003a95990a08f6f5bde79b08814caaf7d9589e13ba49e25f6bbd7eed247cdd305cf2dbf48cee3439b6e75406fbdb06effb4edfe3d340171fdc0c45c9eb7892917fde1f06e8cad8b768f3267cbe778d4ce4f374933cbd4e94ed89b84fbe8957cad046cc78a080358f285b5a13dcf35495738c01b7b883f16a9c36db64bbe9786da86ecfdb288e6f7662a39b71218a132b71b7122f4c6d9a150eb347202f6a5feffa853bf1b99c33269fc93f24bf87eab015c2f9891a6d6e9e06a1ff17c3df7e272ef4b9244c24bf5ca21fc1dcf5f8fd226d5bdccea0343bd4b0eb0cfd38e2ed7aa5c6e3d0ffb213d35e3b3922bd24d85dce3a661649814c9bc4f6e0c5bc7c8ec5a31e0786fe018c47981c4ffb6da29fbd4dee9c18d3e5e723b0a29b9b15b1751ac4c3a84070551d66a502e9000e04f7af726027e3784d69b43e78a7142318516f6cf670fc1cbc6750b9497ecf300b501c4066beae23fb60a282bdd1a60e251b9f74b045dfb0b33ccc689e31345457040275de813a1c14a942a1f08fc3c80cbc809ca7a4e9a56a1d8665c11594ef3cb11e62c77963b5cbbd068a54cab979c4a0a393c978371dda0a6535bd4d9072b71fe49dbef15179d8db9f76bb6b83bee723ab2f92c61bac20b512aa1f69ff1300165f008103d27679365c4d9bfa8c74235abb25629a7e414d133b61c44deb4be351d41c5cd701ebddf1e461eb193a7a8ae8312742b913a36d06e8b39553cc4ade986e7ce72b8621484a3b48178270294cf7776a7597e7876985af7fb95648fa4a4622eedd980906de52615ce24d3fdf6039c9ab6242d94d24cab6e1b01bbc2d730a60ed20fc816900df14013e422b4cf9c76885c8be7fd6bc0aae1562dc1e7abe75a49705d1ba0d5810cc71001a7972f5083b1946fe9525d55f7f01db584a8912978e287c9ba9564467cde2d18ca8ac3c18d2efe05006d1f17709af71c57d23ee0d9094bf7db41bb7594d327266a8d96d89dbd9f89ba3f747eabdd2577abc0da2ecfbc6530c0e54ac388e647f767f80857e4d3e1e783aef83457d2fc655023695a8c8559b9fec062865c7219645579fb55ff3ba6c799d37de83410b8b12c2bbf8f8731ed567e44fe70e8413a7df8413efffb670127c2553859da398d9e2ba7c18d3700e32bda723588dd5bf18feeec28955d849adb911c14b2d431816154c4f1e786ff962ca5567d5daae67a9e1b9779e28b03c0efd2fc289e70e914587fb732499e1cf752961e2e5e8a5dda8b16fd7d556e0db0e8f510632a8c4b19353bdc553853f2e0709265cd0b8f86c0376ab7204fb03559e3dc36b982fb89af826ff3cd34c06d750c26d1dfb9da470d74fb6ba1f8966aa4ab38cd31e8b32273403a7ace488c4d294ea824a2cdb94e1f0fbcae867cbf09d76fb142b6542f3bad3d2ff653d35fb5b584f3b94b2c467b9adbc45e880780759dd9049ce707985c5c9b3c981da92cfd6ddce82b583f0f7b3aca7a9ff9873f2cf8380ba863681945dd5111eb7af36b771378fa201adbf86f5533d8aff00b49fc9168fa03f455e5eb60242e2f8e7249c65fd0527dedd96915398174856ed36941ff6fd6909190e7857e22c5624b2da479bf7297a1024afa396073c9659af8c7665bcd0e668e9810c70989f7d27da2459816cf2ee8c3edb4eedba852ffae656c54b7177fa7ba8b9e25bff5ad1e67f8b15fda189f5036d722c9dbc197650e5dc7201fdab45773cc6040f5c89373cc86caf4cc1da41f8fb592b3aed7f2b1a0281d08dba5aa88a3d3e8286783aa5fbf62fe16e1f90560bd007bc0e6da67b955f723942e8681ac75fd1f161c3773e5720245ede33d3adae722e44ea343bd438090630e053cd331a76bc9ba2a97b6ec6c332509d4e5b62e4e43c2ab66cf3216891d85922c02dc321d82c1e76279691ecfe25df5503998c33f906934b9e243ebe77da29b3cc0eb2901afed92ca4feca90c1181f8c5edbcb5eb67e542511f09e127d10a6ffab5948ff047f60e4413d958edb271cb05c603ccde26e70436f53549f07776acb8fa3104b6494bcfdf104f946e216a506a0251147717b339a64b6d4b0b7d86dfb235ff07936e7a9a40e3bd4332ed12ffa0abe9a924dfe196501b84e20db9d2e17beb8221fd7f32c7120b3ffe4de658adeb18eba5b0a827c85ad290087efd28747ca5bf216a2f9dc88bacf1caa923767d6d20c83463355b56202ae681fe84f0807fa53a84a5c77d2b894cd49e1c04849f2792a067125802d9428143d32ccdef997e84fb7daa98685a32d22a557b25f9d9e22b2d41029021b95bf188ea13ffd368cbf875f61dce5664ef1f2ed8ebc9c81c5f139d7bf669da519f30e7154498ec8597a07cb33dab6c7a1ff457f0a6b7c8f703f588a11f55aa8cfe3a79f6b3d9f525b3719bca04109f454e198d6c373f7f02fd7961e532a3c713b9ce0de1ce7c615c9c267865e2b2455e1f4379f4a818a61704086c9349dee34c070a186d341cd7409f5169482268dee755fbd647e5548807d38009d44e80d25dbe2bc87c7bf8596bbbe53892e11ad4fc4de087ff6fe839acee78c7f495b167f0b69ab7ff96d9a5bc38b2647dd1aa9fe2c5fb18fcd4f90395996bc4f3309919886378681b583f0f7b3a4adf4ff495bfff33ef90d88ce2ece73df516aedadf0741b22c33aed3dae809406867418c0817c4cced5f270e21cf3332f59c2b9dc3f842013e26d7e140edbb60ce812aa26a3047835b021e6b8e22677a7bbc93f65f3e45fe529e7d33bd16ada25b1d1d9efc3aaf6af156df9b758d172a7169ebc802c6f08235ceb943a830f2ff78e9678ba12163b8c8dd448412fd909d60ec2dfcf5ad119ffc5150d36a58ee3340cd6358efa72d3cc51bf60d114af3d9a863a5811bce30146eb91e73a8bb1fefad1048ebfa275684613735bc2a39b78c4b1951a9e5ed6bccb1509867418c000cdda114a8f6e0bf77c7ec1bb5a0a995e3c05cd12679c4a0d9d8b7436d95348ae019c3ef9e7c884177d57953b70101fcb56d2873abfa811111c48dbd4796218646c702079daff55967b5ba57c8ef2992c3c71262a18717b990a570e1b4806b7bf1afefe96fbca4b5c39e984f402967a9ed6a70daba970e3c9acb122ea249d0202ac0957d08f1b1d29c6be42a48baea9c094b3c52dbb141e1e889728b3c733f3ce40d7bb77e8514ad034c9e5ba4a82b2d69286e8eee76f3078960ad80c4e663e7737b573dcb822a12a2d0566b98703845eef5b958d36e771f8ceb6055e90996c21a3131c49988795d9c5301ac6561b01674d6ff33a94652ad213990e5ca982893ed7d3e57b8fdd556797fc9258dfe54d17047a7107aa84fe9b8357f2771dbc42697407aed823a7feb87f972f7f4a2e2aa642c767b52a0f61dc06b4d07455b0773a5c92a1e6be7739f18835438d85cdc24906421e4204c6130cd04b11ad0a95607da74ff4ea8347dfc78dabfc78860f96d86aaad5a32cb0b950af037266c1f0b17096dec8ad7982f2916445468624b39066197e81b4bb3a92ac3607a54130f6fd9dfa527f55e93a64755f00067c2ed0dfeedd89742e709e88b9bfcb8438c033756fd7bb38fdd21db6891755d9f180738f286a8b7137b387b052be23d3c51977f1bc498d4df451819910b727c6450fbe1a104c7f8201c18ec610bff2de0499e1d06deee19c20aba0627391824f0bf6f71ed76c2d44c42b80d468418080e1c38153f43776d361fa84c218eb0f2af0214451d32ed9a48199f4ce21ae01819f87c501a91b1df6e32b3c241cb45617f3d4a1bb2fba60e119caddd9fedee48e2a4a64195f4ba148fd0c830999d4ed7eb58e8dcfad8457cfc0bbcf351662cb639dae8c650f8f27d844a49b04cbb34504860f07425dbcacc222c3879bbd068376a333a49a155cab8b05ceca42bdedbc0b9584df008c2e92dcd4fcb99751aeba4619bfce85c7dfe56be97b7fe3eac7d78a30d2f7b6ef20a87776508b837029acf65fd85b99f110411455f2970ba2f451f960c55f8e595c0644e840f9c621fd084134f3bf28881eaf1d8ff548dd6febccbb2b87b7225d9ad3ca38d28f19994f0d24c20de3dcd1edc78587c547b522f3d3dd3e1afff882e80d01bb899b76ea2c1c49f9338312635addd8313f10d589f88d18a7bc24bb1c3c3a924a0d7525e9193d253e20d30d16240192cd0f74fa189ef7d4bc74c999df5dcbd88d5393879347495380ef0762aec006080da41dac00fcaf0eb63b66b56d503df18772551eb3dcddb79053dc1225ac05e6fdfae7c5f003f8867fc7106376bb9a9b705d3c36cf2e02b238bf4ad902107cb06b941faa56fe27d622d8fb7dc3df772b64fd0ec0d62f0c30533bb1155814f20e96ecf37966d86dc1ec2eefbb22b4a6acd949a134177ab776006bf23d6ae2f49b6b231a45f3daf7ea937a67216dbc372e7bab2e4c7fea183f4ffd2fd391f5cf301d7de3ffff674c476025588f59e2f5e7988e2057f921e6e671bcb8cdb4ad6f6bcc2c8285b327a0e53dd4f7ffaf998e20bd34da721d47fd8045cf0c24de40fda716c8fc37c068e73baa99c522a0fc6802c73fb169aedd4c36261a10a8189e6e7394bc6aac4be772030ce93080018f583e2006299a5af737b29fbcfdf293c079d17cabd8f3ada54101d0f4c9ad8668006d16eec84c9679eda3afa138da385a9a8de90a6ffbc206fa2bdc538b838a659fbfea1ce7ff19f13eababeac53d77bd3a12023267b9ca1613539d5d652c6d3004df422fcdd6cfdb53007c8c962eafebfa1d898dbc9def5c6619d8c0bfada83747ddd23350215e41aac1b91ff9ad7010f98dd91b17eec0b4b69ad3e1871b7b23e1991bedb01b75c7f0771460125ff1acf622f949986936fd9962cd8d4d3749fcc3de026a2275593feccbc7d11ff2e9c2f03cabc391364fdac0d04482caada81c379a1584681ad8b8888ab503e8f20723d3ccebde7a22f1c43a5bbd59a21e41f8f2a79af8539bfafc1c69a798f121f8ac3bf8cc0765bfbc88cfc4c1ccd2fc3bda1d1a67c4cbb8dee1e24aa9330cb1fad7e0b5c4223de605195b90a87e64b0a87f3000b964029344a0202113082059131040f84700e91f01a47fb0e4c38820fd2382f48f08d23f1248ff4820fd2381498284aa9ef6ae9666ae5697d994cd9c1dd9dcb9d8b94150fe87ff3ffcffcbf83c3f827fccfd0f6cff02dd7fc0f60f90fec1f67f1490fe5140fa4705e91faca40f3a48ffe820fd6380ed7fc19e26f8df24a8d72e439d9d8bba5e66d5722e4a2a4881f3aa087ff2f7eb31ffff00d2c7af847fe35ff9a6736ea95c68f1f54f11a6c372a3f7e407aa23ff49fc7faf2cf63f89ff8788591ccce13322925b033a4adab7849b3ed32afc93f827cc8c7bbdf20a8f8ac83487ae2b9ff8918256e5f03f897f5d9b79cf59edc28766a94b869fb1d1ae9ebfb11df24fe21f553e8afc53f48bf2791522111a325b60acda5ffc9fc43fba685981ad01658ee0120f45663c66f9edb58f8cff24fe7180f4c47b680a57639916e4b7e77b339e643b9cf827f1cf95659606e01af9868cbaeb9ac6dd99c1d049a3f827f19ff4a4de99aad980298b314ed80a3155a0d19a6ef6efcc7fb15ce6376e4f2c42f7da829a5a4fa62244732dbdbffb8c483ae230a79b4d7aa7c784743583878785fc7a3005ace7d67effe07bfc1f36ee7756cb9cd019ac0eaf76fb1f385ac200e2d917cc55178b2e53c858165f62c48825e1fe744e27ad58d383b7e1fab9823b5d80c1a926f3d1e59eac4b9a72a2ac673646146374ae9cb3b2e059c952c959f2b9781602b1dc3647d9f76d18f388cbe9a0a1614c7afe514d7a580738c75597b73a46e71f4c20db7a0306687bdc7fed81e4be45d89ec1ed99b1cd9424cd5251bdc4e56b58be8c1fdae2c20848d32fe0cd3f87bd55747a38c687fe31cbd5ea06fd1c23ce4b8570ebea01dc1302fb66249403872b56846314b73e12c228f33961c033bb9112c2c5a567725c01137a9b1aa16e1be225bc748402a616776fe32c30de05ec6f54ec84df15564653bc8fcb219796f8a803b7b38e50fa094eeaf835c2c17779fbcc4aee338be95416e7597fe339b7647d585af869e514364d7ee57c1e17ff6ac938c7b286df773ed6b339499b1e14587c77e09a616e32aacde8e8913142509fcba230a0f72145c45294cddd3a22589a8615a2773814ea2bc5353451f1316fb35ce5e51ac057f596074b2b1893e83afc84e20a04a76dd1b0e2dcfb0c33b919b6c59c9e04ba7d079583a2ecbd3cffa9834adabb308da7b49c10236d91ad1254394a2748dce1a595bf08f73e09fa30202aa25b51ab1e35d58231f4faf5d053b4b90d38dc5883167811ba568edd21fa5d00072b1bd16e5d426d95815ccfb9a153461b8a1e185637988693b508fd263939632090ceed8e7d5e8390f2fdbf9bdbd4bfda34b49c1a2ca7e9d156795dbf6f66d1e65443daadb7f3952c34bb94c8d9fac14e1c420fe00065c5d9400bd2eb1908a196ac2445066aeaa776ef4811001eded68ab06003d362e002a6144fa568dababfd2d08a017ed0733d0a01c4803e769d05822b185cd5419dfb03bf5fe53b30e0d27f3af09615e7b5783e3ae7e174af5f9d7cddde1062f60934900c0ed42c1b2ade7c73f38e44374f3d917c841893c8d094f5bc21ed1d2cb3fbf62f61f1802c4b6cb58273a124838b3ad9541d0b53711f3a8dbea5a9de4d2e94cb0d76f10f2090a2ed824028fb3eb7c30171237890b4067dd431ac853623a34fb1838f21d859df9b2604b1b1379199c9ef70a9af53ae93e0f69b5b1f5a8890c8d58c77f872083f1cc0cc444ba3230e8dd63e43817f3de3836727477837a7596b97681c79613ac67b7e4020d6fca57070c9dc8b114dc94cbebb53c91fdd6e66eeb1fa17e1c42e5e51be217650411d11e94757602f5f6ff1fa5a8fabbaa1e9f3136ac86f6e4c9f3edab3555893160630cc3b25203b4799c75bf1a0f85c97c09e969076b86770859e3baab6fdf2b8e138204f29e839e06e88cdb58291c0989daa369990b2a2fa9aa9ed4173e6f394a8fcbc0376a1650746727cc7ff742e5cb5ad7cd4d598c14ec72c682a97b5c37f7609ffdd51dc62a1639c840318cd495458a6f3973fe5e561abd7c557f89f7ab047de523953e55f696068549f0058b05c7661d32deb1ec475c2454f4f8d324aee83f66f5dcef77c599749001b10d99fb798fb3321a2f75779b441d846146040da4bb55eedacfa06bdd36d66e54fd2f1a473a6f25f8b79c3919996fcb3375fa900ec97ab1c0d4b3edfc070df996994a3f89813b5da9bdad2635bea389afdb2f341c4d7db16e97f467931283744f8d48ba4a567aa92332f04bd8576426ea2847db0a148e5f308405fd591044c56334a4517505b1dbd6fbebfb056e5aacde6421c8a769e22fb254d443e97eec131891a4448d0f72b8fc91bb3a42430e0791c3756d3f5ac7a6913d1e00fbb8e750bc4be9721fe74cfce5e20a06b68dd84014289f40201d40a2dcaaf021f741b3b0e27cd105b5194260db1193e3d45f600dff4205535ee4161f8bdbcbf5baa6a4216375cf856c4a51a35c70d9eabacd2d79be5b48f42265557f73bb25d49ef2248f7ffcfa7aafed131ff23c080a48f40de93ca0f6f5c65da48dfb5e24bac69e8744e302306929c0cb0ccc832b103b8cff2153cccf421b590a4f343471ee97f169bcbe36de462eda96ef974d56cd0617f09053cfec51ebb2452f07218504dafd4a8cd9bb490556934a93a8d24d294b494942d3bda691a5a7cbe86eff37dc01620dbb974f36490f7345e919e979a29493e1a0c97d5d1f55ef23b16cc76e382834004e85f95df7059a6a555b59bef83636d490a0c19db9f0816970bfa8dfe52f8bb0722f817be68f3d7273defa3624c6e82511c56b8baa28ebbd016a2a78a8c5fb33a8ce723701cfa1008448c8a54ba734ce97c91a45ef07d31555d43ae6dc1f3ba3a05adee443db6c1d18d0df4d10f5dc8cec6b5bd48deeb29290e7220eeb922e2fee2448d7496a056de06391d58082c0c183aebd77636a69af3b59b6ff199d0f60a15ae661fc05065b8daf2bdd0ba53b806c09461fae6b354d54d9b53a73967a3ef602abc5c1bb2202a4d378cb48ebfc1a75ef1f5d496f927f8a1c3007915195a96402f2fb1be2731646704477224edd91cd861ad7016dec7b27e73f4c0090f37882f51284ffc867db10ad96d2653cb9b8f642ae3d5dc722ac2cbee9a891cd48d31fc937563f6644d78e27db89797bdc3252b046e92d3157734800dcad1cd3f371bc39fe00f8c3c683686e3f609039c152ff6142e08a4a5b57af5d53b140a1060e4a586f804d24df487d366f047140058bc5cd979efd83f14898ee72f694c6020fa0e06566a54f0abdaf45e972781a04220f6dbb6416830c1afb96e5f97b1ab926864a9cbc06c44b870641ebabac49f0a454d8969a52e83f8c3009532093df244fd92097b83ae74710cd7cbd6599644a9c64da822b138847453b9000be9fbeb1b22f792a2b34e4fb9cc2c585f671f6fb9dbf7606b59843d37a2e3243204eab003b50d8272f9065107fb075d90178d0b2c667d2dc2637956abf1c2a868a2814ba1f2bab67f0d14e9feddfb8f7effbac49465549eeb2ab62705645ea4970a84a43ea982817d833fd90eb5fd64904fd686005696e04830e53f77ec540b70e0913b7312f5724c5d7ba1325bc42b6ddac7271494f1bde033af521c9df4a2afd1025718cc07c87b6c73337adced7b486687bba767c832836d5f53693975a62f7ec8ffcd28f5aba5edf9717738d0376df65e1bc2d45054c451225882e1de34aab7e49de401cd6397a52bb831e509b0ddc53b7197022f96312bfc0cfd9d00131569a34136b119d747f9343c416344f11068e90eb4281041657f9b41c6458dbb689c6cb44545c568da5a480f63bd5bf321a356c4bf062ae9ce95019650d590e05d1e9f83a12c9a49b279421e11b26f50831457e3f0bc09eae855a1f010ca6386fd431838e1e63c3073011e366e5323381b2fccd89ccd88df889f0d2660ccc70de3e3e38173ff7b25dcff1cc444c4900b71c28ca3ddfa93cc4d8d197dc84b2f6f3c86c2b6724bcaafa066d9f9c98f5531dcf58bdf24985b94099dbdd178d581d727c7b65b60b362f9a662ca562cf829c81681265fe62b4e607ce1f4aa0acee32c07f4e16b1e3ecce2afd1f85655961c9601ced7c4d67b35f3bc39e1657e3dd979d76aa091fd51eefcd04f76f9643c59be1b5f4f41d99fa1bb863156b3d26d50739e55d37addfb5849567296cf134968ce2993861b29f6e6c5232ac1ed03d1b56773eb9c2be91b44cba788b69b46b1046e24b6d2584f9bb56b5561d2599627c2818bb72ff293f125a3bb63b4dc5fde4988ecb85bd615a91612f8a0afbec36ce31103c085946f5384b2920a10cb8d3ecfd52a291158b737875bd54e0df92f77bfddb284a0beda411d0f2433da9fa0af5f35c7f9e70062ad33518d7205591295c5bef85b61f764a035a81e4f1089a27ecf1d98e9ff7b6e7c202f0ca6e9fc90a3fcbf034ac5170288d8906d80faea39e58e2c2a6561c4b814cbdb8ffc35c7c48c7c86a02d75f99a4a14e2fc231771d401b70b1fb55a65128b95661942dbf8955fe7f7ce5b683e95bae1d50d81a66c5366d93a098a2471763df9c47dfd1de3e4e97399571536f0a56ee75ce50dbf6b6afccabaeba5ba4368fa3337a5cb08585ee7232c96d9b7a8063bea56d3b0e549a008a1f7718d3f21da3f627329658d735ee52a2a28085be3df8179ba184c2f3c8ebbcd4f80ac6d7e26f485c20db373752fa58df21333e72ff61450ea8b2bed92e45b5a4090ee51bc754de68de9b27d98d0440f8bbee3cb92040f3539734b6da2a2888c2334849261876c442faf8f94a79c9eaf35760cab14f19955429e6edab9dd930b9b9b541094119eb77a6fa9f95ca59fde0a2db1a0aa68af0a51637e5c54667fe6a4d1509e5b3214f06c900c308d96dbccce1ad6bf8612aae08cd6238c43d746272e1ae31a3e07417b7f75b5da9395693381c3e5c395d653dbd398d838f9956b582a121988fd7720b9a71f7df2d8cdc820622c88a8d579510e0ce69927a3d754623a285cdab1e71b9d8060a084fb28b05f8d507bec3165e62db86c41f4368c0326ab8bb0423e9346887bc251d96f4cfaf620b1bbc5e640ac5868201cc35d8e596351e17dc7f5c1331772fa422098eb0630e58170e5a19bd26f4db2a22ac8afc40f6131ddf0d7221ae3bd980c7fcecf284da18399e7010f8fb3c12c16a9af512b8cb852ebdaa997e257e8c6e599058362592ebe7226ed50e62b48ba9d94dc9310352b752f7a9dfc2317ce8586fb43a378fea7ce5d3f85aa9a14d85ac94ce3c82ccc841a553ce038e75bd395f2184fbc6118098aed2c4e987b51aa6ccdfb3e85b05600a5e01d537f2adddca2b556e8a7362dda7785fa22a5ea7342e9a63ca392d7af57b7c93e44559856de28ef35ea651a362fbf1102c5d53016134d94eca53af134c06db3d3e7020af5f25ecd3acaa3c72f9a9f775d63b9c25e9ee171562bb2b1fa5d8b08da2ccda5cc9df357c49b5f3c6beea6597db4f5e023042f8f8d9cbbb313c7d94c0ecdcb32fe266fadc1e391c6f0cb82a718d82ebbc97dbc892c09bf42c50c30bf16fe58956e70fd74fce04e1e9e380a69c77aae8399afb51d94a0a6b76bd135593e459b746875cc8b4e6b9e21f113594aae07fec0960bdbd83d6eaba0f2400a36460ed4e1fa9b8defa7551f3b67ddfe702b03ebd3ebb89ec5d95a748829bfc8e0fe52a3d8ee3ef9b028faa407a7076623106104d11b03922464de6f2e75a927c09bebf61d958853928da0cadc9a32104408140245802043d29110a26a6505f97cbbdfca3c2774bb25d543556379226b0eff8d71251f7d6e7fa85f12cd4d3befcfb19b64fe4a27de654093e7fa51169be9fb4f628a0421bf8f2efbb231099bd0ecef24e46f5681bdbdbded2fcff88d29f753a490932edb7ed90550bfc64d7d65f977ffbff82391afcfdf36d33ec85235aff2ccef709c3443e0d7ec080fac66d32af87cd532e116a23c12f1c2d8333bd957f9abe3b1eef3f3cd02248bef5c24bd09d49f3dbf4e19d3a3490a814058039ee2ece79c46c520c4f98d39564fa6acfdfc3028ef72acbf3087fc35e8e510e65803faeeefef75a8e87567be3e6ff3146d149d7ce2f721abb82c72fa4305ba7a56e208f5c3c4224261058921fbb77b46b214b1f80463ab0d01d2dd94a6846e5b995a8c0476e66afea1e77977317abebc7428c193fd449b4865c3db5f47ceffcec3fd0140f4a478f585390208044279d4c885528691ec13a949a4fefa3cc21bdd8920324cda744673fc253783c860b22629ca1d41cb226b37e98c5c86bd60eb570df7393103bc972e8d4fdd1e213fed86885d69a41b77cb6c4368004db9f24b9f9b3c7e195f9443925845eadf98a31c3bd5b92fd5e4de1adf979ebe7c56f4ef316792fda4e88f44be3e571372baf530c655e15c6f801c6bf7edad665c266129bfa0429716eaf4e552447980518537f19cd20447d465343e71d79cbbf36d4b1237de25f549bdabb4c9fafc6f42f16fcc7df7f8faee673d0a60802b8e40fe9dc4d017eeed76a9e3069308b7190749bb7dc49639ce206a5d35c260022cc8edd87893db479325e8efa93faa85cf358e8c3eed6ab3f6a1c72f29beb5fbe2b7337e0cf587cff8efb9a7fdbe5da9a0be0fa777c1ac43e2446616a922a7995b7c14c8fbfcb7ce78d59e6c0207267d7d9b0d2d6b2ee75e31212dd522e38a0b941f6424ec7b364d6f21597a0a345c6e5bb876e616199f71b91a0d364c792f4f790c7a6fc36b5bbc20158a2088fd9ce3765ae9181f3462c8c3fdf3898e135b6552c10ee7faab1d3223b01a64dd4495ae69ad3b0afa4b3919bf31e5363bf5e221b1dbd3e526a99dcbceef120a58214872ca8af7ac994217dd654fd9052fec468f876bc62d1979916b20f59f7bdcc7c2705165a799e69d50ee62ff1b942a7559cb7cbafacdc2bc0777cf1a72efc592b1724051a4ca34640c6baeada848b27904f4f73fcbaa133899d9b4306ac9103608c4d5e61b950d593c799fd83a5febabed5e14629bdcb15d1c351ff6fac5fb2cdbc753255c10b4f7844fad741c17356faa3d2cbc762a1ea7ee63e55501821ab10b49be6b9dd24212acfc8849cdc3b4456b1a2f1af434f52457e2c8995aa31266fb1bae08b77b8e5241301ae41bbd6fefb1d7ad5312d3a8217b9f70f7333f798b41dcf3044115a47f4d7a59b388d4a078d1968a8adcc58c5de15adf35b6f681c07caea7653dae5cfe53a2c6504ce9f4feac5b508fddbc0e17a42ccb94bb38b1f7eba814671c91709bc442fde62a5c537716bcb18d13d2cebdfdacde29b8469912a051a000d30f926cb2a0445db28260a530cf72659c9d2ba2df149224296334508d6a665eeeeceab5a9cd8f67904c0e3f2d6dfc9ca6260b994188deb7a99b4a270cd7554e37df7b63ccb6d251d5e4290d047bdcc4536a435afdf36bde22a5cd25276eaf69db415337f3e83920f0e4a710960dd1b32edca1b76ea65a5f31725ca6625f2690a5d0157e87703aeba2ab4f4cdc730b28ce46b7c39521d505dd1eb7b214aa41f5244a794e7b8559319613d4321e66d131d1124324f37c5c4f0563d377a2676eb93b5261293af9166b5855899f86087f4ac986e0364bc73c36cddc2a0d5fb6a948881c7eb8dea8a8cd835ebbaab42c6b4f9132b060b763fc21aec44abb74ec3472a02661fd0aa17721656423cbc08984b07c63d655085e8db7ddbca2921235e1278f95a0ad8f76c6ab4efc33627405cb5a842fbd48fa16cef750533db2e163c780cb2633a051a83daf7a764bb94cca526a59f3217bea134d28c11c4aff4e55168978e4a56c24dc1a0dab263e28056bcd4891b24354dfdb06ed7445823b667cad0fdf7f6ce7288f7d6ebce21bcc70df025720e693ff9eb9d8c2ab07d01f3ee3cdff78c67760611285d526cb339acfa9e545ad447e1036c079d4d73387f50138b7c0b8946d7fee5c3e23dfb589d8535a50ff932255d19342928242795943313370d757296a5ff66ffa61739a7d2e94af51fdb6df22d0fb5d3a28442b13bebf8d104320907d95f190930a817e44f620f3883a6bc5d7e7a2c2c2dc75da213c019c348ea3596864850b73fdb2e591fc37466a7007ee279dd79f168c26785805a9eec70ce3457880a819de9bedae91204dd5e6dca0b759bc7fd984e26ff79bb16cfbd4d7c300c537f637efeca9d62fcce1402010922398fb86c8d7e7bd689c7a11bc7cd2449b48615531388c75ebf8f1f6929c78d14a440132d518562dc4e311ecb53ee524177df6e40ddfbdcfe5a272c52e29e7792542a0e64b6fb1afb0628efa1d1802101cf7be3287d9ef2779f06caaf40b73f8100884f428e67e4fe4ebf3b3ac1c8fa35fdb0ad5594cd847e1295b2507d32cc223ae734b1a51ace2791862c32f990ec76e55f904042e2a230e7b1b16f218bdefe99dc1575360d32631489df842079bbb7d6e9f2ea2e2d3afcc61b309901ff4d53706fded7cc73c8ab9df13f9fabcecd5d9e953d8d7e49148dbee3dbd38a0cb41984c7135e6224709c4f256fdf444c3ca739f85dc2bc2d99f4d6ec5ae3fd466dcdd8d9c0892a7dd11a1097ef9545941eee06ccafd7ad1a2b4b7b77790321d7a2be7b7676aff895cf90d91afcfe1808c3e3e6f8f412adbc3b31cef8be4b41478a9b9cdbde8f1b2cb946c77b4b3035980d34fc3d3a133380c76ceda367bd83e1cb1d2de0d704d0d6b564bac8e32ca7b285fb3c898fd13b2aac0804e5cd8b895e05a18760c2ddb5a54c6f3a7141ec40f4e7a7f4a1acce8bb4baf3305883994b8d35a48de37bd743623a47df8ed650d06bd10147e676594828fd7e92e91fe2b46dbe66f91de2ff4f6cbfb5a09d1d1afde7678d670370fbce57775498e1252c629aebe18e345be05d60ec2dfcf4aef07fc63b2aa1c0bc0b3aa60ed5a4f1f4d83fcb8d5258f06e89beb473563ed59ed801038768cf699d6a8ea65e38e21abf267c2f56a0ae1e9e5b04430a4c3000e389eb2b4f13422bbe31731debc65ffdea05e22279c5c6d2d5c549a9c6c1a36c108786ca8a3b2cc3d9e785dd68bf7a46e2a2d98f51e69f7438513536f4f75a5564ba8ed7b38a1fc620f27f4fc787738a02b55a34b9b18e4a6d01bc0aba226eb2e825c3f7e67c289cae93cc6ec9d8a9bcc003c32c722024d8e940152c29b5bbeb5a5279b6cb9155ab4e00e7323c3a30e43fdbadb9aff8cdd96821712f46c98b7943967355754422428a584973fe744a507b96a324deba3453d107c22307c18f0e00c677e05370faa943c9597c254bbc7b4ceec849f3e89269509c4627294fd3c20142c342ea40759a0ce7fa7efe2f6c879034592ac9db8aaf98e2781cf87cfdde910248e1d24d6205c0adbfd1796b51c396cb76df9e5bb2d91abfdae42e443aedd88f44d8fe111a50fe7356ac724955b4cd90afd26293846137c68c0da41f8035b5903bfffeb88dd36eb1f931e1901fff0ac054cbb5d06e2280187b4fe07c528482dd2e8f18eea5d8cdcedb839c68f02a481e9aa23cabcd151f9242bfefa326ccc163375e9859af8c53cac7742e5077c7752e120a68c6f409e163a4bed3fd466c5222c8f4b2375cde38bfef04578bc8728b262b7f239aa90284409e10556667ff799a43b691a10dfb4a87b0d64dff30d030718a07be9da8bfec4e267866df1e6cafe112a17911be89c749324f1936aca5361797b80dc9c13023e4bd784ac9cad478b3f85eeebfe358d0576472c97eb99db6c1f5363beee90163f638754232f89e59b71b9e63d949142b44307d5c859288e1ccd9daa64653febe7a60d72924388c0f0e1c0f5dab6d224811d590f2eca1291562b41bce5eda147cd444bb1eea8d4f91309a7016bdee24221452e1cf63a4f8a96fc672bf251780461c10a4293ccb5f7d3432eed42204edb0e01bb073e61eb6fe21cd2897ae550c6d21cdd6d9e1af54648845a8a5086224998b6d64120c158e7c389e0c0e3dbe49267c4529fac1b14dd7a6491049949af2968b2f58c6eca88dfd1f1d0b603ac85ab52c778dcce905e887c1e517a3ae844217de97aaf80ba1c56aa2b224146f4fe8929b27f623e7e1247c37df721af3abcb96d23f05319bd4b9a1cb962dd774ecc1b002b97864ef12477640106e98790815aea96a1c3060e8919cd63b37cfa1c0c2859c669971adef436755d6ad456ba7521119f00e0b442cb7816542ed4825e310bf87514ea38ceaebcb4612c36c4e78b68875ccaf190b2a85458192962526f717d0d8116ef400b840fbcad0b4ec6b18baf119df733f57b1bba9bc2f2be76ec838bab997f0d545221b29afec88f0915fa46306ae34a9dbc7a325cdb427778dd2cf3f66e91a7f391ce5aa8462f657e84fe77e05067fadf00ec9a5dccbb8505666e1534197c5fac13bf2cce6abae3d3137a5c796aad1bda9cf178615009ff293fa63ed5993eb8d74000a9e6f44ccb397d60672dbd7f1a3e9c10cbb0057e0dce1bccbc4d6b92bc774ae5b4aea9d7505a96a922a9dcbb7bbbf7cd553379b26a2500aec489b05483a54460ed4965c3edd60a1dd8d34421f72ada213a5e08e2e49b73ff1d278be4b75df570e0d2831cdef0d3580db8141df6564d59d21aac97ee912d9ebcb180ac146f66a5b30ab0f55ab55e8ee9cbb8dd807e7537e54a806580832fe5464a8eb44274e8951412fddf5cf9edc1220ff60a5f7ce32829aa8c386b3f43b61c4c166330afbef74a4ff7c9d1899ba883fde1004caf69237d46464c68928ed0e496b0fb1ea400cd621472dee7d985e5d7ad2c6c00ef52f0acbd7cb675a68096d9cd1d31f1eb4fa0530ea8f8fed55b6eab889d55b37f7179ec27f7eca5a6ab6ea7325d5bbac8d432a5ef20b13d0bf6a1fe5af8bbbb8f5a85c9ae5c72a7a621d5b661caf7e3c345616bf07b9f2b2f7bfe61ab37cb29e6c5274ec7a1ff65c708af3335702dca116421ba4065ad6b7b47422884a633e864c8354a7b89b3091d66eec4b7ced3d9909c72343953653df9c9e482f5e9fa0b2734ea35f3831d6c9680d3e03b46b1c380c9f0c329364cdd0bfcb7b0d91f5866b7b439d85f5219a86478284672c20bc0cafce06463744d30c63a134d1b96b2bd51b5935d07cd360d794d6d30d8a9900fc1e4d8c1fca222d8ed9ff8b8513587a808183fac227ccf33f3486c446c51b04a4a60959240f803d9e3c1127580dd82a183dd9281952d463c5eff60b5bda160f8aadb2ac00bab89b3cd7e1e0e9e5bf332eb09a97b641ed04f9c52edbb518d751efd9a3c52fe0700946d9c98b999a0fa61fca5a1a2b89ee02b06fdf3268c1dcce6c60faf7fe0f65d9afbed773f548052755bc51f70c25492edac839a546a8fdabe482bbf8a4db5d7f442dec1f52a25fde87c6e0d3720c5f6da09d9afc08e28b9a81f63ceebd1830906424891fbfbe5f96647143dba6dff6fe007ba4715df413d475b832a84b0830a83066187b2d4eccff8fd7f44ffa50c89fe7ee3c6fbe67293e8c08e0c3d78fedbcf8fea52f4cba440dad743f6393d480afb87d4b0487f9c397f74411385201c50daef8cf6db658a84f72dc56f48d142f0fe98e8f4009b16ef37fd6807857507aaff5d3febed60404e601465a0f9659bbce39d9bbb5661270555c272fb7cb5f59384c2914f756c7dfc26b54db0df73945184fbaf172fce47aa75fa99a19bbeacf9b11f7c0faac12437300fe8e3267a3d76fbb6561ca90fffcba9d3140a2fcf0c712a041a47d6d00dde7c054cd0b51057453e53677d9c48203b7d0659b0fe2d9a17c6e4c7f75b1195a472bcb1478ccdba7fbcdb82e6f670dcf72c1daf80b236ee8d4bd49442acc281ebd4af9d6cee35e3e2ea0777df7920a64559ede6a5540d36ec60830af6d2f420bf40c406e9617bf8bbbae92b40516c8970f2ecf34949d3d04a86dd96b0cde2355b5485e29713f72b5defb1069c077d35304d01ecd5bed1de7fec146cdac9d8da49dd818e1cf2d9661b162f31dc228954125a57843087270bd1c3ac4bc2b5dac70a9cc2d4bae6026b7e2cabf277deedb7acbc27a821f6df65dde1878f75f0630b8c67b06399e87bfb0608ceefe1972ff0dfffb13d76d85e9a7003db68be57e2cda0fdd095672d4b1cf4f71252332fdccae07169665c1c3398079db7e07b29559e646116c7bd44d7129b2edbfe2962a2f3f673b06b67c957ba17996f52aa0a571f77591fef7a084cfe010350eee000d9962a51a7ba416cafeffda4b13d3933eaec33a102eef6e2eac50ffbaee24fbe01986cc669e972a1b5b00da7f76bccf95ded1f4ab0edb4f5ac7530e5a99686c4deeeebd868071691d0f4c374eca9babb3f902afefb0003c81c0774f03cf24e3ac40e9d4926642846b761dc7e7a55cd5653d34dde3650231d603cbd1260d349f554ffdd3d123186acb571be54421ca9675b3b15739e971c5d388f172d65f75012abfca4caf55d47159204ca781849532158f5e1ff6ab4d49fe00f8c3c68b4d471fb8401c40121ca43cee376907c8d79bc53294456c45595af7c522ea7964acd1215a61702a6e3fa0e7c8de970663fb6cf8f58dc895a13423d1aeda36ccd0c4c781b9fccff2b505fee6718697ba202e96ba7f4c6e2c2ad6e07ea2920aecb95f610113b16757fb4ea4062f96403361e60f8702023b38523e33915caa6e83bd14e6e52c45ede732a865b35f3f99cd00bcf0943e08083f36e624806c294cb66b42c7a82caf2930a1ac2455d95ad08bbbefeba6b1898df585e9a68e3c82c6fa60c2d9786eee2d6dbe05e4ed459c0abaafd859617d24decedcca7218a338e7145b812b36770aebcf9c5a53b8e0b7f77cb8b7f612249dbc7aefa0c347fcc7371b10427442eaac78a8b3b0c3c3775eea59d74cedf380e7d080422368a234195697d4a4fe04ef2c74c9394ed08bdfba46745dc1b1962d483992b9813e590aeb9290f9ff74ceca6c4e623a514ceb5e432158bc60916daa5adb84e7cd61cdcf2f2b9cd8b04af6cbd5c4522ec6ae673a4888ae2f3aa7745b9c5376fce7cfe1ceec305782ab20e5ac7ada31924d6da3c907bf4ccd63590b96b18485936b1a77d81d718034170d841b00d42389710849bcc1984143b19775e56bbe4fc5bd1f3d5d11bc6bd6b08b7cc9ed3bff7af4140f2b4e8f7056108ec8b835906c0560498ecf1cd4d9ae5aaffa71e4b7ecbc89bc12b7c9c19cc4d18b4f1bf6f072b160146ff0f4d35ac31479aea5842556f838dcfe1f4a16d4d174d8e181eb07630fa1008620a0adf5104a06790d72030a04ae0d33948e5638f9e2e1d47e614aa206b13ec133e73c4f34a6b3ecc8d1b58f58009765aeced223944237effda47bc5ca7cb19d1572b0058185662abdeabb96996fd8b27c41f4cd6d0584a8912978e287c9ba9564467cde2d18ca8acfc512f8a66702b070e7c9a1a56afba88e3dd691a13f43981fa91b8b492eebb429d0da6b51cd1d49d1653002ebf4c779757c448b2d633c788ccb4779090455e9bd388ea7c09c1fd0a675bb5af179196ff8c803e1fc189c2084fb62e920eeb909a47546f696d99453efa2faf337baba3ccad016380cbd30f172f688ade252f3078b9177e076e725ba75efa25a510e9cb87c0fca81fece0a28dfbb78b3682bff2a2ed3babf370fadf81635fb4b99da269b56cbcfb8cfa2345d0a7b11abd4b7ebe89c44f93d5ef2feac2ede619da55499d9b7a5b2c6dc9f402735287f0b7228374335da71f22b8b6c3f17a4e4b9a80977f540d36e029dd24407347552258832d07a39b40a3d49b4bd95fb68f2e8cb7e8c60117e2fd2f9cbf26e733275cb12e757576bcf4f14796fcc591bd9566937b909833c11088d5b68545105ec7641032c43f2efe4581eec26e521e227b5ffbb0f29e3d6efe8b44ff6061b21a023810c4e3814c7a2ff03e45ecc5629c11daa7a5b9baacb1a2ce6723dee8506766fa4200316eafb4ab684ce75d11d516ab1e19bff988e88134217a46770452542aaf58ad7e904f0c41ee17fb585da1925e81038f3344ddfa9f198f3ac9ce5f95e3c22478554ada4c9b1da10c4c6a59965204cc02f8a95cf45526bb351b7779cb161503cee72c0e9e469dd519e1db68a91e6729397370abf7527a7f265f57138dfbce7412f7af962c404efba6405a3f312265536e427748798b6513e52dc2069284e0433845a06ff0137072c48da004309e8cdf1a253b87a5da4fd81bb269771a2e538cac53e0b35513cc6fca6d81a80a601448935f0ec6d2e395e3b50af0687e9dbdd68b34271f83837989a49489c6ab0c827a7907d52d20f4a090e7b992b8f1d5a269564445f5f03155cd68d3b35a59824ff04291ebf26fabef75d7a0a289a99b95fd9e1730e1e887ea56fdd6cd515f09c2d606b67ec08eea635e328069684860fc815d82809da5dfb4ff9070fa9f8c2f040256170b843fb06a1b6016b86f07184c54faf1ba6860a21e68367fb06a27478b9ae0f31704c0faffe1503402757b2b170f23470dd09a0a3f677d8289a2dfe0bf8911f7c25898659b5e5ca2219b24f6460e213605c1075b3fe2df9d53d0f5efe5a984404c7f6ae53dc82faef205f91a647204808d0f98b5196cfe81d1ff21550a6cfdff19e53c243ef89b391c02114252721c692eeac0e8887741be0f438b5d3c04d56474537ac7945f64100ee88d0e7fe895a2641031dfcd7bca2a543d0df00dd65c7c74615b610ca57624c50ae01b7932617b45558eda2353d6e88c23ea037c942669e52ee937569c91341c38b85fcd58f2ff0c6f6ce33cbc166bc70d8581bbfcf75af87d49169929997bd869d70772aa6d4a36ebdf011a0ce7d7d95150f74406ced93cf6f741bf6c9de95ae8f8326e8d84037139a95c05028ddc81de0824b5094a4af00f2299368cfb5eca57ff1a28c33aa9f9a1ce7d5fc0832fee9016c4d9c261e20555a30c905271df4ec21cfcad4e91f28f490482fe7ea991f2752f47cb8f9c44a6fce7c841e87fb3c8c1b610e556676dd9db2bedecb672a6340c4829d13e6520a9c6be08f14e37d3b885b5a42013b1519c1dfe2dd1be57c6fc7b1f48a30eed318b554a2bf20062711cfe45825790eb4fd4e5cbc1af047b7eeea752edbe72f3210d2c3228dbab1002b1d9b60aa464db97fd88abf2e3da05274ee407fb61872950913e7b5611429deb51ea1fbc5b0988c00102521235d956d3298ff413fa5df69c1ca83de48f9e8db29ac12699b21f7b0b5400ceabdb33aba27619852a2d77cb12eaaedd1ce4d6376a254ea6b9dd5e3da653088340a376a0e1811402c142299d902f73e04f7ffff23e83435a905f3db706e8ea5f1ee9b80df9e3f7bf707f6519675ef99cbfd91d0a7b3bfd01a3c4fee1a3904df925c0c26cfe0bdf5f3415a1d974a7bc544942d76ff121cda7c9ae8c74299a30c4f75cf6f8dc75433400ced38c9376e7188b823b66ad3b1e91a6549c1e620a08b5f0b44ebad3e5a02a74ff20a7eabe41647f397e37a72ae23ba74ad166c85f9053955d5fe60161fb8dbac74f308097ce27e959e2042c8f424679107a64496794885b60c149fff89caa3f3a663f191f020790b4c234ad338702baa12e7b2730f8b4a968d88c9bdccecf2a5e68cbc79f59bc0f6819232a6b06754fe4882896204ce9ac89cdd3c5d02990b3e690c1de3fc09bbbf5ad9fa9f77fdbcfb4206eb0cfd56a3d0d5ec2554c2772f281e0a3e5230aa1ff1de0ef7edb615143ad2a85bd194cbca218c77a4f5bcc95fb2c2aa695322b3bb1f2d90b3ca22e52d4c7a10f8140c498086daa8df4df3ea6bf1033e8fab0b7c8a137f979e6c333b511ef9c32f4a1d165027aa419aa1c752141540c7734af519b8ecbb9e8da641306d1a2f70ed224ec688119cc60c0d00da18bd76fdfc1c77de443d413a87e72fbd5fc885dc564c13ce300bc3e6b581e806b75aae50560c9ebf6ef72a765a7d9d8069eb21a7dd3c2cd26a1deb2e650bfb96f301338306f46f6c6a191e3df873486af4cabe9e0ee88e9a1a7515efd7c50ff020ea04be86553bdcc92be818d7d12f3fcfdf9f8488bb10f1378ab1622b1c1ccda1e5e809d17b6d3d6e7d7553ec1342d17238a247d144ea261d984c5e4aec251599b497421e86b3be8cb07897e31e5eae3be57fb3ac46729061277bf063dd8cc41184ca33aa64504f4f204cc220206c7adbb8c01d27e5cfe7e3580f107b241805e7e81d57f05fbbedfb497777d8ce8e8547ca3ffb0080d4b6e7840db3f9102041fecfb52d1ee358d4da1b3486bdf7ff5ae52dbdfe0ec4531a9a1b134710f2c11e647a8c5afc448b6a5444d6829663426745fd69cd89a588bfd981ee34fa062619e2f25f71e2cbfe837e30726ccfd89f73b12106fafb680fc04f811fefe4425fce3f207f2fd90c1baf8c6a9e64fd863fec298fe7f87be1b9744aeaf4ebd28b39804ba5ea22bda8bcd78ffbefd87e70f1e2be0626ba4626be568a2a5e6a6a06ea5e46cce2bc3a5fe1f73042ad682593cfffce5f201a081b41fe372fca700187d90fd13b4ecff0ff9ac9e8eaecf5a1b3f6fb4782d072b39af4032255fcc1504ff50c63e98366bdc9dca0713c08eeb20fe0dffc10e73c27189f63b21b4a2c31f0b1e4517badd3af242fd3fb0287e239f808d0fd8fafb0e80bddf37fc612b639e888c7c4f4df738fd44cd6d4905c109826fa20dbfb7bee1c08c7f25234d0131dd4b57bffc0f0b2e371d1ece9ea0288b5f702fa0b3503ad92208d07a7ed25c47ef43c3dbb0647bf16a6cea56ebebb326c4c5315177c2ae36a2b0214020b6dbd6885ff3875fc2bee04a25111187d4c0b3dccac12926a1ee71e21a54e42d8fa9c0f35bfe30003ff2255ae3b04e9d67afd06ee7409ebf255fbc6906a66687c23a217af624f7208089cb85cca6a968b9e65f927711cb445c0efff556198a4694b23739feb635b5c357e3e5859f61bcbc838b949f299edf2d67696d9df8dcf0c1c517d1ca1b897c7d82a76ebfe7a618f90c824f04860f074c160cb2e2976ace2a7120095f7d238f10a5a6ede4b2b16e625ee4eec4c55e5308b83ea4f10e7e03a18e986de2c9bd427afa14c9d979fe840c2c84ecb567042a1d8a10a8c20e542e10c1675faa2652dd89bb73a7eae47dd1ca1e6a5a44fb3c799990699a9671ffead75e33bd95bf674e2dbd61af41ba4143608737b231f0ad0847a607582941b0e96e7a7545a7f2b0464e863b9aade50687e52cb65b619d828ea0fb432465a424a541cb817d1fe0c0dbe71c3c21d1722f9838a12a2132224d69368b964d2cedb7a47cb73a669aa23a003e1d6dbc73d9c9a9ed4b4cf26375c26ffd50f426c70453c5873a69b91813a41e7ef56fb1fa19f3871071d46795c7fad4455c8f146f775697976c1aa11933f595b277cf226aa6cf801d1f4460f87040b6ccd57a2c6abdc034b09b211b3f4ff4063ab28d72a88a63ef595802177e651d00e7c2f5a3d55131b77fe67846758a3ee6b50df0a25ad05e5bdaea043016cf2f0141b8b083202bb53f7b282549e3881c3b7cd92a19bcf8dbb0a75fe87b27b21acfe1fad7405f974bd90afe9eb71f2df4f71f9ca6604624b0fb2330fae820ed60da1658ff5820ed6039457040dac1a46130db323e483b011c18d357275d2792dcc69c282eec4bdd71cc9bcfa7c95fe9219c71d2cbed9b515900b87547ebc9d518d893252e1903d8b352d3020f92650730e508af6813df2d45f4f8bafd2afc13960f0c7822b8249118f0faf2e287ad8b0d52f444a87c91bb28b609e65d5335cf88eafab30092ff4f97f3cf1c69db64c2a9c0733e7efb79afe78b363e591758ac7a4c6ed551f1f0094719188b7e32e68b4056a948354ce19adfe4c3badc3fbc2a38ab8b27ddb07945d1fd2f6da98c125232653b1959d6197cc33766f5e2ca523c7128c7a5f442eccd61029e9e85cc3974fef29c65a7bf2a9dfbad53c712f694a73964ad0c29f264004293b40ce60b340ecf3afd31eca2d4baf84ddf0f062a4eadd9f5e4fea58335ac374a746f719dbeb66c41b5d5bad97e7f6bdb1678dcbef9ad22d7b67c9ee796653587635f2e96da303d708309200000ffffbf4b7011', @@ -3650,7 +3650,7 @@ export const mainnetBlockHydrated = { nonce: '0xb02cd', publicKey: '0x0113be49a7e3226dbdba535e64da2d61aa66921904bcb5c88138ded11819f160', signature: '0x02f8b000478f11787977257fee2c20085a16c7b8f460d7cbdee5bb58c372d491', - to: 'Z5e4e65926ba27467555eb562121fac00d24e9dd2', + to: 'Q5e4e65926ba27467555eb562121fac00d24e9dd2', transactionIndex: '0xc0', type: '0x2', value: '0x0', @@ -3660,7 +3660,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Ze1a9ac6a6fc957d2cb2633af61c451e3366c9ffa', + from: 'Qe1a9ac6a6fc957d2cb2633af61c451e3366c9ffa', gas: '0x5208', hash: '0x12d7dbfb0bee81eb327e32170b201fbc8445ce3d780f446b50cc10b2c6a08ed2', input: '0x', @@ -3669,7 +3669,7 @@ export const mainnetBlockHydrated = { nonce: '0x13', publicKey: '0x891c8e4fb5416707bffdb3796101e4bab549d6d809bc8107dd3c64ab161d6ac5', signature: '0x739b527d8da18e099b86fb623f6a1c8436a2139c2ec8a49cde40f1cd35c70659', - to: 'Z8b70497d9ef243a66111d43f567aeda3ebbe608b', + to: 'Q8b70497d9ef243a66111d43f567aeda3ebbe608b', transactionIndex: '0xc1', type: '0x2', value: '0x20925741e3d00', @@ -3679,7 +3679,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Z082c948908b571ed87be70f6ec2363b8da4fd3a9', + from: 'Q082c948908b571ed87be70f6ec2363b8da4fd3a9', gas: '0x76094', hash: '0xc6f78588f68038b676f7a0ca3324f2c6b24618bf43b5c6e68704262e3fceba4a', input: '0xfec53fc50000000000000000000000000000000000000000000000000000010ec833ae000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000db40e4269400d90142a2e5593b21b56a17fce57d690840a068530b08ac1fc53f0121c6db7bf8c081274b66467d9cd15335921f79bfcf67d4e25bb29571be71de4611e599d961c469f06e10bb1315a348df4b0cde7e1378e9378a8ab08b325816ff2ae0a693ded4304d333a0108aba908b94e4faa3ebb211f3be184f42247b099b1ae2aabbdd0bb1c1b9d79903935f4231667e4cda6ef1925667ddd45cecf693603d1804a2eca24c9340e579cd789042313e240d08fbb24745b7726c54247e1ed8e8e3ce759d01cf6d8a56fd5f0b9ac88c56767c92bf6c72d42cc6f03262b6a6e63690f73aadd76d215896895cb137552f0f1905cba732c22514921d0c3cd9027f66d309109d4f1c5e5eb8d51cc79c2261cdf49ba240c6cdd67fe5d91862c7ed25fb5902cd5e6c0366fc658042b60d554949d176b89a1633e33d9ea7bf857e7cd3f68516df72ac60398183e2756a5823ca91427e542cf897e54a6304a98e1146974e3153342d9c8c304f91e13aa8918576e0869296fd570b36120f990c2185fc04a5ac2bfaf676a9e23eb3617d17e60e034f123e71e7782dd34bdb84ab8f230481', @@ -3688,7 +3688,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0x8c2590402601bfb04153ffc112a7b649d9a2e810fcb287acbed5fff1853d5a9e', signature: '0x2d4aee8e065ff06be42d1020b95bc35d21249c6b66b149ec15824f41eb3d54e6', - to: 'Z1fe0fba03dcfa2bb97ba9047a5c523115fea9c8b', + to: 'Q1fe0fba03dcfa2bb97ba9047a5c523115fea9c8b', transactionIndex: '0xc2', type: '0x2', value: '0x0', @@ -3698,7 +3698,7 @@ export const mainnetBlockHydrated = { blockHash: '0x2850e4a813762b2de589fa5268eacb92572defaf9520608deb129699e504cab2', blockNumber: '0x103dab0', chainId: '0x1', - from: 'Zb121e5aeb374e80081d0cc180e50d3877401c249', + from: 'Qb121e5aeb374e80081d0cc180e50d3877401c249', gas: '0xc91a', hash: '0xfaeaf9b4a6c5fcac8005239112a27f9c059e7aeb436f31f192a80c1691c29f29', input: '0xa9059cbb000000000000000000000000890741ba72b148b70b4bafc631e27f75a8295406000000000000000000000000000000000000000000000002b5e3af16b1880000', @@ -3707,7 +3707,7 @@ export const mainnetBlockHydrated = { nonce: '0x876', publicKey: '0xe7a96ca63eab2a40e2a1c137bf0b2bf2133fd9fd07c5e05fbb0af11cb9ef28d0', signature: '0x128151f2fb774ee942a67b98b352e8b52bf07065bc07809220c115c313ffeddb', - to: 'Z01659335fc8ad471c7079f6f04e7532c7d001d43', + to: 'Q01659335fc8ad471c7079f6f04e7532c7d001d43', transactionIndex: '0xc3', type: '0x2', value: '0x0', diff --git a/packages/web3/test/e2e/get_accounts.test.ts b/packages/web3/test/e2e/get_accounts.test.ts index 791bfc33..0b0da9e6 100644 --- a/packages/web3/test/e2e/get_accounts.test.ts +++ b/packages/web3/test/e2e/get_accounts.test.ts @@ -32,7 +32,7 @@ describe(`${getSystemTestBackend()} tests - getAccounts`, () => { }); it('should get the accounts for the connected node', async () => { - const result = await web3.zond.getAccounts(); + const result = await web3.qrl.getAccounts(); expect(result).toBeInstanceOf(Array); }); }); diff --git a/packages/web3/test/e2e/get_balance.test.ts b/packages/web3/test/e2e/get_balance.test.ts index d89afb00..f982a98b 100644 --- a/packages/web3/test/e2e/get_balance.test.ts +++ b/packages/web3/test/e2e/get_balance.test.ts @@ -64,7 +64,7 @@ describe(`${getSystemTestBackend()} tests - getBalance`, () => { format: [FMT_NUMBER.BIGINT, FMT_NUMBER.HEX, FMT_NUMBER.STR], }), )('getBalance', async ({ block, format }) => { - const result = await web3.zond.getBalance(getE2ETestAccountAddress(), blockData[block], { + const result = await web3.qrl.getBalance(getE2ETestAccountAddress(), blockData[block], { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3/test/e2e/get_block.test.ts b/packages/web3/test/e2e/get_block.test.ts index 9ee5b95b..3a047705 100644 --- a/packages/web3/test/e2e/get_block.test.ts +++ b/packages/web3/test/e2e/get_block.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { validator } from '@theqrl/web3-validator'; -import { blockSchema } from '@theqrl/web3-zond'; +import { blockSchema } from '@theqrl/web3-qrl'; import { Block, Transaction } from '@theqrl/web3-types'; import { format as formatter } from '@theqrl/web3-utils'; @@ -60,7 +60,7 @@ describe(`${getSystemTestBackend()} tests - getBlock`, () => { }), )('getBlock', async ({ hydrated, block, format }) => { const result = { - ...(await web3.zond.getBlock(blockData[block], hydrated, { + ...(await web3.qrl.getBlock(blockData[block], hydrated, { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, })), @@ -79,7 +79,7 @@ describe(`${getSystemTestBackend()} tests - getBlock`, () => { }); if (blockData[block] === 'pending') { - result.miner = 'Z0000000000000000000000000000000000000000'; + result.miner = 'Q0000000000000000000000000000000000000000'; } if (block === 'blockHash' || block === 'blockNumber') { diff --git a/packages/web3/test/e2e/get_block_number.test.ts b/packages/web3/test/e2e/get_block_number.test.ts index 0783f258..8f6a5597 100644 --- a/packages/web3/test/e2e/get_block_number.test.ts +++ b/packages/web3/test/e2e/get_block_number.test.ts @@ -41,7 +41,7 @@ describe(`${getSystemTestBackend()} tests - getBlockNumber`, () => { format: Object.values(FMT_NUMBER), }), )('getBlockNumber', async ({ format }) => { - const result = await web3.zond.getBlockNumber({ + const result = await web3.qrl.getBlockNumber({ number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3/test/e2e/get_block_transaction_count.test.ts b/packages/web3/test/e2e/get_block_transaction_count.test.ts index 69754fc1..1e4b519b 100644 --- a/packages/web3/test/e2e/get_block_transaction_count.test.ts +++ b/packages/web3/test/e2e/get_block_transaction_count.test.ts @@ -64,7 +64,7 @@ describe(`${getSystemTestBackend()} tests - getBlockTransactionCount`, () => { format: Object.values(FMT_NUMBER), }), )('getBlockTransactionCount', async ({ block, format }) => { - const result = await web3.zond.getBlockTransactionCount(blockData[block], { + const result = await web3.qrl.getBlockTransactionCount(blockData[block], { number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3/test/e2e/get_chain_id.test.ts b/packages/web3/test/e2e/get_chain_id.test.ts index 7bb40249..bce4f62c 100644 --- a/packages/web3/test/e2e/get_chain_id.test.ts +++ b/packages/web3/test/e2e/get_chain_id.test.ts @@ -43,7 +43,7 @@ describe(`${getSystemTestBackend()} tests - getChainId`, () => { format: Object.values(FMT_NUMBER), }), )('getChainId', async ({ format }) => { - const result = await web3.zond.getChainId({ + const result = await web3.qrl.getChainId({ number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3/test/e2e/get_fee_history.test.ts b/packages/web3/test/e2e/get_fee_history.test.ts index 19c6a44c..03e2712e 100644 --- a/packages/web3/test/e2e/get_fee_history.test.ts +++ b/packages/web3/test/e2e/get_fee_history.test.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { feeHistorySchema } from '@theqrl/web3-zond'; +import { feeHistorySchema } from '@theqrl/web3-qrl'; import Web3, { FMT_BYTES, FMT_NUMBER, Numbers } from '../../src'; import { getSystemE2ETestProvider } from './e2e_utils'; @@ -69,7 +69,7 @@ describe(`${getSystemTestBackend()} tests - estimateGas`, () => { format: Object.values(FMT_NUMBER), }), )('getFeeHistory', async ({ blockCount, newestBlock, rewardPercentiles, format }) => { - const result = await web3.zond.getFeeHistory( + const result = await web3.qrl.getFeeHistory( blockCount, blockData[newestBlock], rewardPercentiles, diff --git a/packages/web3/test/e2e/get_gas_price.test.ts b/packages/web3/test/e2e/get_gas_price.test.ts index 1c0ef84e..af9e7d2b 100644 --- a/packages/web3/test/e2e/get_gas_price.test.ts +++ b/packages/web3/test/e2e/get_gas_price.test.ts @@ -41,7 +41,7 @@ describe(`${getSystemTestBackend()} tests - getGasPrice`, () => { format: Object.values(FMT_NUMBER), }), )('getGasPrice', async ({ format }) => { - const result = await web3.zond.getGasPrice({ + const result = await web3.qrl.getGasPrice({ number: format as FMT_NUMBER, bytes: FMT_BYTES.HEX, }); diff --git a/packages/web3/test/e2e/get_id.test.ts b/packages/web3/test/e2e/get_id.test.ts index cba51b9e..ca3ef08d 100644 --- a/packages/web3/test/e2e/get_id.test.ts +++ b/packages/web3/test/e2e/get_id.test.ts @@ -34,7 +34,7 @@ describe(`${getSystemTestBackend()} tests - getId`, () => { }); it('should get the network id for the connected node', async () => { - const result = await web3.zond.net.getId(); + const result = await web3.qrl.net.getId(); expect(result).toBe(expectedChainId); }); }); diff --git a/packages/web3/test/e2e/get_peer_count.test.ts b/packages/web3/test/e2e/get_peer_count.test.ts index f215df4a..cf459a58 100644 --- a/packages/web3/test/e2e/get_peer_count.test.ts +++ b/packages/web3/test/e2e/get_peer_count.test.ts @@ -32,7 +32,7 @@ describe(`${getSystemTestBackend()} tests - getPeerCount`, () => { }); it('should get the peer count for the connected node', async () => { - const result = await web3.zond.net.getPeerCount(); + const result = await web3.qrl.net.getPeerCount(); expect(typeof result).toBe('bigint'); }); }); diff --git a/packages/web3/test/e2e/get_proof.test.ts b/packages/web3/test/e2e/get_proof.test.ts index c9d111a8..a7007354 100644 --- a/packages/web3/test/e2e/get_proof.test.ts +++ b/packages/web3/test/e2e/get_proof.test.ts @@ -62,8 +62,8 @@ describe(`${getSystemTestBackend()} tests - getProof`, () => { ], }), )('getProof', async ({ block }) => { - const result = await web3.zond.getProof( - 'Z0000000000000000000000000000000000000000', + const result = await web3.qrl.getProof( + 'Q0000000000000000000000000000000000000000', [], blockData[block], ); diff --git a/packages/web3/test/e2e/get_protocol_version.test.ts b/packages/web3/test/e2e/get_protocol_version.test.ts index 37cee81f..a51bf649 100644 --- a/packages/web3/test/e2e/get_protocol_version.test.ts +++ b/packages/web3/test/e2e/get_protocol_version.test.ts @@ -34,7 +34,7 @@ describe(`${getSystemTestBackend()} tests - getProtocolVersion`, () => { }); it('should get the protocol version for the connected node', async () => { - const result = await web3.zond.getProtocolVersion(); + const result = await web3.qrl.getProtocolVersion(); expect(isHexStrict(result)).toBeTruthy(); }); }); diff --git a/packages/web3/test/e2e/get_transaction_count.test.ts b/packages/web3/test/e2e/get_transaction_count.test.ts index 38dd96ee..5688f6b8 100644 --- a/packages/web3/test/e2e/get_transaction_count.test.ts +++ b/packages/web3/test/e2e/get_transaction_count.test.ts @@ -57,7 +57,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionCount`, () => { ], }), )('getTransactionCount', async ({ block }) => { - const result = await web3.zond.getTransactionCount( + const result = await web3.qrl.getTransactionCount( getE2ETestAccountAddress(), blockData[block], ); diff --git a/packages/web3/test/e2e/get_transaction_from_block.test.ts b/packages/web3/test/e2e/get_transaction_from_block.test.ts index 33c2dc98..1a5e048d 100644 --- a/packages/web3/test/e2e/get_transaction_from_block.test.ts +++ b/packages/web3/test/e2e/get_transaction_from_block.test.ts @@ -65,7 +65,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionFromBlock`, () => { transactionIndex: ['0x1', '1', 1, BigInt(1)], }), )('getTransactionFromBlock', async ({ block, transactionIndex }) => { - const result = await web3.zond.getTransactionFromBlock(blockData[block], transactionIndex); + const result = await web3.qrl.getTransactionFromBlock(blockData[block], transactionIndex); if (blockData[block] === 'earliest') { // eslint-disable-next-line no-null/no-null diff --git a/packages/web3/test/e2e/is_listening.test.ts b/packages/web3/test/e2e/is_listening.test.ts index c3261e86..4a1f9a61 100644 --- a/packages/web3/test/e2e/is_listening.test.ts +++ b/packages/web3/test/e2e/is_listening.test.ts @@ -32,7 +32,7 @@ describe(`${getSystemTestBackend()} tests - isListening`, () => { }); it('should get the listening status for the connected node', async () => { - const result = await web3.zond.net.isListening(); + const result = await web3.qrl.net.isListening(); expect(typeof result).toBe('boolean'); }); }); diff --git a/packages/web3/test/e2e/is_syncing.test.ts b/packages/web3/test/e2e/is_syncing.test.ts index 21db0391..0ec3df11 100644 --- a/packages/web3/test/e2e/is_syncing.test.ts +++ b/packages/web3/test/e2e/is_syncing.test.ts @@ -32,7 +32,7 @@ describe(`${getSystemTestBackend()} tests - isSyncing`, () => { }); it('should get the syncing status for the connected node', async () => { - const result = await web3.zond.isSyncing(); + const result = await web3.qrl.isSyncing(); expect(typeof result).toBe('boolean'); }); }); diff --git a/packages/web3/test/e2e/mainnet/call.test.ts b/packages/web3/test/e2e/mainnet/call.test.ts index eebfc682..a71cd657 100644 --- a/packages/web3/test/e2e/mainnet/call.test.ts +++ b/packages/web3/test/e2e/mainnet/call.test.ts @@ -43,7 +43,7 @@ describe(`${getSystemTestBackend()} tests - call`, () => { format: Object.values(FMT_BYTES), }), )('should call retrieve method from deployed contract', async ({ format }) => { - const result = await web3.zond.call( + const result = await web3.qrl.call( { to: getE2ETestContractAddress(), input: '0x18160ddd', diff --git a/packages/web3/test/e2e/mainnet/get_code.test.ts b/packages/web3/test/e2e/mainnet/get_code.test.ts index 03c87507..4fd4beb4 100644 --- a/packages/web3/test/e2e/mainnet/get_code.test.ts +++ b/packages/web3/test/e2e/mainnet/get_code.test.ts @@ -62,7 +62,7 @@ describe(`${getSystemTestBackend()} tests - getCode`, () => { format: Object.values(FMT_BYTES), }), )('should getCode for deployed contract', async ({ block, format }) => { - const result = await web3.zond.getCode(getE2ETestContractAddress(), blockData[block], { + const result = await web3.qrl.getCode(getE2ETestContractAddress(), blockData[block], { number: FMT_NUMBER.HEX, bytes: format as FMT_BYTES, }); diff --git a/packages/web3/test/e2e/mainnet/get_past_logs.test.ts b/packages/web3/test/e2e/mainnet/get_past_logs.test.ts index da89bd14..1e7857b0 100644 --- a/packages/web3/test/e2e/mainnet/get_past_logs.test.ts +++ b/packages/web3/test/e2e/mainnet/get_past_logs.test.ts @@ -63,7 +63,7 @@ describe(`${getSystemTestBackend()} tests - getPastLogs`, () => { }), )('should getPastLogs for deployed contract', async ({ byteFormat, numberFormat }) => { const result = ( - await web3.zond.getPastLogs( + await web3.qrl.getPastLogs( { fromBlock: '0x103dc29', toBlock: '0x103dc30', diff --git a/packages/web3/test/e2e/mainnet/get_storage_at.test.ts b/packages/web3/test/e2e/mainnet/get_storage_at.test.ts index c84f6a89..d042f34d 100644 --- a/packages/web3/test/e2e/mainnet/get_storage_at.test.ts +++ b/packages/web3/test/e2e/mainnet/get_storage_at.test.ts @@ -60,7 +60,7 @@ describe(`${getSystemTestBackend()} tests - getStorageAt`, () => { ], }), )('getStorageAt', async ({ storageSlot, block }) => { - const result = await web3.zond.getStorageAt( + const result = await web3.qrl.getStorageAt( getE2ETestContractAddress(), storageSlot, mainnetBlockData[block], diff --git a/packages/web3/test/e2e/mainnet/get_transaction.test.ts b/packages/web3/test/e2e/mainnet/get_transaction.test.ts index 21b97f78..3bafc323 100644 --- a/packages/web3/test/e2e/mainnet/get_transaction.test.ts +++ b/packages/web3/test/e2e/mainnet/get_transaction.test.ts @@ -57,7 +57,7 @@ describe(`${getSystemTestBackend()} tests - getTransaction`, () => { ], }), )('getTransaction', async ({ transactionHash }) => { - const result = await web3.zond.getTransaction(transactionHash); + const result = await web3.qrl.getTransaction(transactionHash); expect(result).toMatchObject({ hash: '0x9a968248400868beb931ed96ee37517275794ff44e8d968c29f0f3430a504594', @@ -65,7 +65,7 @@ describe(`${getSystemTestBackend()} tests - getTransaction`, () => { blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), transactionIndex: BigInt(91), - from: 'Zd67da12dc33d9730d9341bbfa4f0b67d0688b28b', + from: 'Qd67da12dc33d9730d9341bbfa4f0b67d0688b28b', maxPriorityFeePerGas: BigInt(100000000), maxFeePerGas: BigInt(26848942133), gas: BigInt(300858), diff --git a/packages/web3/test/e2e/mainnet/get_transaction_receipt.test.ts b/packages/web3/test/e2e/mainnet/get_transaction_receipt.test.ts index 842583b6..d3114cf4 100644 --- a/packages/web3/test/e2e/mainnet/get_transaction_receipt.test.ts +++ b/packages/web3/test/e2e/mainnet/get_transaction_receipt.test.ts @@ -57,19 +57,19 @@ describe(`${getSystemTestBackend()} tests - getTransactionReceipt`, () => { ], }), )('getTransactionReceipt', async ({ transactionHash }) => { - const result = await web3.zond.getTransactionReceipt(transactionHash); + const result = await web3.qrl.getTransactionReceipt(transactionHash); expect(result).toMatchObject({ blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), - // contractAddress: 'Zedfd52255571b4a9a9d4445989e39f5c14ff0447', + // contractAddress: 'Qedfd52255571b4a9a9d4445989e39f5c14ff0447', cumulativeGasUsed: BigInt(9010200), effectiveGasPrice: BigInt(19330338402), - from: 'Zd67da12dc33d9730d9341bbfa4f0b67d0688b28b', + from: 'Qd67da12dc33d9730d9341bbfa4f0b67d0688b28b', gasUsed: BigInt(245737), logs: [ { - address: 'Z2260fac5e5542a773aa44fbcfedf7c193bc2c599', + address: 'Q2260fac5e5542a773aa44fbcfedf7c193bc2c599', blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), data: '0x0000000000000000000000000000000000000000000000000000000000668442', @@ -101,7 +101,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionReceipt`, () => { transactionIndex: BigInt(91), }, { - address: 'Z5de8ab7e27f6e7a1fff3e5b337584aa43961beef', + address: 'Q5de8ab7e27f6e7a1fff3e5b337584aa43961beef', blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), data: '0x00000000000000000000000000000000000000003fff92b9d57d1d7fca09d7dc', @@ -117,7 +117,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionReceipt`, () => { transactionIndex: BigInt(91), }, { - address: 'Z5de8ab7e27f6e7a1fff3e5b337584aa43961beef', + address: 'Q5de8ab7e27f6e7a1fff3e5b337584aa43961beef', blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), data: '0x000000000000000000000000000000000000000000006d462a82e28035f62824', @@ -133,7 +133,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionReceipt`, () => { transactionIndex: BigInt(91), }, { - address: 'Za6e265667e1e18c28f2b5dc529f775c5f0d56d4a', + address: 'Qa6e265667e1e18c28f2b5dc529f775c5f0d56d4a', blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), data: '0x000000000000000000000000000000000000000000000001a055690d9db80000', @@ -149,7 +149,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionReceipt`, () => { transactionIndex: BigInt(91), }, { - address: 'Z69a592d2129415a4a1d1b1e309c17051b7f28d57', + address: 'Q69a592d2129415a4a1d1b1e309c17051b7f28d57', blockHash: '0xabc81c29235c7962f5a0420644761627bdc064a560c7d1842cdf9517f7d7984e', blockNumber: BigInt(17030310), data: '0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a055690d9db8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', diff --git a/packages/web3/test/e2e/web3_extend.test.ts b/packages/web3/test/e2e/web3_extend.test.ts index 21d72e0a..77ef626a 100644 --- a/packages/web3/test/e2e/web3_extend.test.ts +++ b/packages/web3/test/e2e/web3_extend.test.ts @@ -38,7 +38,7 @@ describe(`${getSystemTestBackend()} tests - Web3 extend`, () => { methods: [ { name: 'getL2BlockInfo', - call: 'zond_blockNumber', + call: 'qrl_blockNumber', }, ], }); diff --git a/packages/web3/test/esm_black_box/package.json b/packages/web3/test/esm_black_box/package.json index c24e84ca..51145ba8 100644 --- a/packages/web3/test/esm_black_box/package.json +++ b/packages/web3/test/esm_black_box/package.json @@ -15,8 +15,8 @@ "devDependencies": { "jest": "^28.1.3", "ts-jest": "^28.0.7", - "@theqrl/web3-zond": "^0.1.0", - "@theqrl/web3-zond-contract": "^0.1.0", + "@theqrl/web3-qrl": "^0.1.0", + "@theqrl/web3-qrl-contract": "^0.1.0", "@theqrl/web3-validator": "^0.1.0" } } diff --git a/packages/web3/test/esm_black_box/test/batchRequest.test.ts b/packages/web3/test/esm_black_box/test/batchRequest.test.ts index 3a4fb787..af9c1962 100644 --- a/packages/web3/test/esm_black_box/test/batchRequest.test.ts +++ b/packages/web3/test/esm_black_box/test/batchRequest.test.ts @@ -37,13 +37,13 @@ describe('ESM - Black Box Unit Tests - web3.BatchRequest', () => { it('should make a batch request', async () => { const request1 = { id: 42, - method: 'zond_getBalance', - params: ['Z4242000000000000000000000000000000000000', 'latest'], + method: 'qrl_getBalance', + params: ['Q4242000000000000000000000000000000000000', 'latest'], }; const request2 = { id: 24, - method: 'zond_getBalance', - params: ['Z2424000000000000000000000000000000000000', 'latest'], + method: 'qrl_getBalance', + params: ['Q2424000000000000000000000000000000000000', 'latest'], }; const batch = new web3.BatchRequest(); diff --git a/packages/web3/test/cjs_black_box/test/web3-zond-accounts/create.test.ts b/packages/web3/test/esm_black_box/test/web3-qrl-accounts/create.test.ts similarity index 91% rename from packages/web3/test/cjs_black_box/test/web3-zond-accounts/create.test.ts rename to packages/web3/test/esm_black_box/test/web3-qrl-accounts/create.test.ts index 6dfd975f..4da313cb 100644 --- a/packages/web3/test/cjs_black_box/test/web3-zond-accounts/create.test.ts +++ b/packages/web3/test/esm_black_box/test/web3-qrl-accounts/create.test.ts @@ -27,7 +27,7 @@ import { jest.setTimeout(15000); -// TODO Consider adding this to web3.zond.accounts package +// TODO Consider adding this to web3.qrl.accounts package const accountSchema = { type: 'object', required: ['address', 'seed'], @@ -39,7 +39,7 @@ const accountSchema = { }, }; -describe('Black Box Unit Tests - web3.zond.accounts.create', () => { +describe('Black Box Unit Tests - web3.qrl.accounts.create', () => { let web3: Web3; beforeAll(() => { @@ -51,7 +51,7 @@ describe('Black Box Unit Tests - web3.zond.accounts.create', () => { }); it('should create an account', () => { - const response = web3.zond.accounts.create(); + const response = web3.qrl.accounts.create(); expect(response).toBeDefined(); expect(response.signTransaction).toBeDefined(); expect(response.sign).toBeDefined(); diff --git a/packages/web3/test/esm_black_box/test/web3-zond-accounts/hashMessage.test.ts b/packages/web3/test/esm_black_box/test/web3-qrl-accounts/hashMessage.test.ts similarity index 90% rename from packages/web3/test/esm_black_box/test/web3-zond-accounts/hashMessage.test.ts rename to packages/web3/test/esm_black_box/test/web3-qrl-accounts/hashMessage.test.ts index 80d6837d..b9c2cfb9 100644 --- a/packages/web3/test/esm_black_box/test/web3-zond-accounts/hashMessage.test.ts +++ b/packages/web3/test/esm_black_box/test/web3-qrl-accounts/hashMessage.test.ts @@ -26,7 +26,7 @@ import { jest.setTimeout(15000); -describe('ESM - Black Box Unit Tests - web3.zond.accounts.hashMessage', () => { +describe('ESM - Black Box Unit Tests - web3.qrl.accounts.hashMessage', () => { let web3: Web3; beforeAll(() => { @@ -38,7 +38,7 @@ describe('ESM - Black Box Unit Tests - web3.zond.accounts.hashMessage', () => { }); it('should hash provided message', () => { - expect(web3.zond.accounts.hashMessage('Hello World')).toBe( + expect(web3.qrl.accounts.hashMessage('Hello World')).toBe( '0xa1de988600a42c4b4ab089b619297c17d53cffae5d5120d82d8a92d0bb3b78f2', ); }); diff --git a/packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts b/packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts similarity index 79% rename from packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts rename to packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts index c5718e39..8da414e0 100644 --- a/packages/web3/test/esm_black_box/test/web3-zond-contract/zrc20.test.ts +++ b/packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ /* eslint-disable import/no-relative-packages */ import Web3 from '@theqrl/web3'; -import Contract from '@theqrl/web3-zond-contract'; +import Contract from '@theqrl/web3-qrl-contract'; import { closeOpenConnection, @@ -26,13 +26,13 @@ import { getSystemTestProvider, createNewAccount, } from '../../../shared_fixtures/system_tests_utils'; -import { ZRC20TokenAbi, ZRC20TokenBytecode } from '../../../shared_fixtures/contracts/ZRC20Token'; +import { SQRCTF1TokenAbi, SQRCTF1TokenBytecode } from '../../../shared_fixtures/contracts/SQRCTF1Token'; -describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond.Contract', () => { - describe('Gzond - ZRC20', () => { +describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.qrl.Contract', () => { + describe('Gzond - SQRCTF1', () => { let account; let web3: Web3; - let deployedContract: Contract; + let deployedContract: Contract; beforeAll(async () => { account = await createNewAccount({ @@ -40,9 +40,9 @@ describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond }); web3 = new Web3(getSystemTestProvider()); - deployedContract = await new web3.zond.Contract(ZRC20TokenAbi) + deployedContract = await new web3.qrl.Contract(SQRCTF1TokenAbi) .deploy({ - data: ZRC20TokenBytecode, + data: SQRCTF1TokenBytecode, arguments: ['420'], }) .send({ from: account.address, gas: '10000000' }); @@ -53,8 +53,8 @@ describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.zond }); it('should get deployed contract info', async () => { - const contract = new web3.zond.Contract( - ZRC20TokenAbi, + const contract = new web3.qrl.Contract( + SQRCTF1TokenAbi, deployedContract.options.address, ); diff --git a/packages/web3/test/esm_black_box/test/web3-zond/getBlock.test.ts b/packages/web3/test/esm_black_box/test/web3-qrl/getBlock.test.ts similarity index 86% rename from packages/web3/test/esm_black_box/test/web3-zond/getBlock.test.ts rename to packages/web3/test/esm_black_box/test/web3-qrl/getBlock.test.ts index 68d55593..53e1472f 100644 --- a/packages/web3/test/esm_black_box/test/web3-zond/getBlock.test.ts +++ b/packages/web3/test/esm_black_box/test/web3-qrl/getBlock.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import Web3 from '@theqrl/web3'; import { validator } from '@theqrl/web3-validator'; -import { blockSchema } from '@theqrl/web3-zond'; +import { blockSchema } from '@theqrl/web3-qrl'; import { closeOpenConnection, getSystemTestProvider, @@ -24,7 +24,7 @@ import { // eslint-disable-next-line import/no-relative-packages } from '../../../shared_fixtures/system_tests_utils'; -describe('ESM - Black Box Unit Tests - web3.zond.getBlock', () => { +describe('ESM - Black Box Unit Tests - web3.qrl.getBlock', () => { let web3: Web3; beforeAll(() => { @@ -36,13 +36,13 @@ describe('ESM - Black Box Unit Tests - web3.zond.getBlock', () => { }); it('should get the latest block and validate it against blockSchema', async () => { - const response = await web3.zond.getBlock('latest'); + const response = await web3.qrl.getBlock('latest'); expect(response).toBeDefined(); expect(validator.validateJSONSchema(blockSchema, response)).toBeUndefined(); }); it('should get the latest block and validate it against blockSchema - hydrated = true', async () => { - const response = await web3.zond.getBlock('latest', true); + const response = await web3.qrl.getBlock('latest', true); expect(response).toBeDefined(); expect(validator.validateJSONSchema(blockSchema, response)).toBeUndefined(); }); diff --git a/packages/web3/test/esm_black_box/test/web3-zond/getTransaction.test.ts b/packages/web3/test/esm_black_box/test/web3-qrl/getTransaction.test.ts similarity index 90% rename from packages/web3/test/esm_black_box/test/web3-zond/getTransaction.test.ts rename to packages/web3/test/esm_black_box/test/web3-qrl/getTransaction.test.ts index f87046a2..762207f7 100644 --- a/packages/web3/test/esm_black_box/test/web3-zond/getTransaction.test.ts +++ b/packages/web3/test/esm_black_box/test/web3-qrl/getTransaction.test.ts @@ -22,7 +22,7 @@ import { // eslint-disable-next-line import/no-relative-packages } from '../../../shared_fixtures/system_tests_utils'; -describe('ESM - Black Box Unit Tests - web3.zond.getTransaction', () => { +describe('ESM - Black Box Unit Tests - web3.qrl.getTransaction', () => { let web3: Web3; beforeAll(() => { @@ -41,7 +41,7 @@ describe('ESM - Black Box Unit Tests - web3.zond.getTransaction', () => { // blockHash: '0x8ad298dbdf859f953b97cc27218e7f7f2af4237817a8dbd1d987891520286612', // blockNumber: BigInt(15230806), // chainId: BigInt(1), - // from: 'Z4c9af439b1a6761b8e549d8d226a468a6b2803a8', + // from: 'Q4c9af439b1a6761b8e549d8d226a468a6b2803a8', // gas: BigInt(120000), // gasPrice: BigInt(9022588986), // hash: '0x133048bfcf6c0f7f8d1f5681df9607802894667acb46f4a3ba8ba187421dfc2b', @@ -52,14 +52,14 @@ describe('ESM - Black Box Unit Tests - web3.zond.getTransaction', () => { // nonce: BigInt(83553), // r: '0x1240db6f5b2245729b8593ff43230795e3c4c1005776dd6841de68da926096e9', // s: '0x48678639e5b752a69dcc62b4ef9417b3f65e4d4c75ec99df8457b02b339799de', - // to: 'Zdac17f958d2ee523a2206206994597c13d831ec7', + // to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', // transactionIndex: BigInt(190), // type: BigInt(2), // v: BigInt(1), // value: BigInt(0), // }; - // const response = await web3.zond.getTransaction( + // const response = await web3.qrl.getTransaction( // '0x133048bfcf6c0f7f8d1f5681df9607802894667acb46f4a3ba8ba187421dfc2b', // ); // // eslint-disable-next-line jest/no-standalone-expect diff --git a/packages/web3/test/fixtures/transactions copy.json b/packages/web3/test/fixtures/transactions copy.json index 11956b3a..f011ab24 100644 --- a/packages/web3/test/fixtures/transactions copy.json +++ b/packages/web3/test/fixtures/transactions copy.json @@ -2,7 +2,7 @@ { "name": "random-2", "transaction": { - "to": "ZD0F118AFa9C2c9cc50F10d94cCC1cbDda2758b36", + "to": "QD0F118AFa9C2c9cc50F10d94cCC1cbDda2758b36", "nonce": 15, "gasLimit": "0x331bce0f90", "maxFeePerGas": "0x58e8d1dda1", @@ -11,7 +11,7 @@ "value": "0x91e32e2f5a", "accessList": [ { - "address": "Z032f5546f1B932555cB43e2b16C844d118078430", + "address": "Q032f5546f1B932555cB43e2b16C844d118078430", "storageKeys": [] } ], @@ -28,7 +28,7 @@ { "name": "random-3", "transaction": { - "to": "Z8Bee13B1D7E29953a7484A3aE8e344D86b4Ad2C5", + "to": "Q8Bee13B1D7E29953a7484A3aE8e344D86b4Ad2C5", "nonce": 530, "gasLimit": "0xccb4", "maxFeePerGas": "0x57f3c57a41", @@ -49,7 +49,7 @@ { "name": "random-5", "transaction": { - "to": "Z4d1060d970674619005137921969b4bfe3EeA6B8", + "to": "Q4d1060d970674619005137921969b4bfe3EeA6B8", "nonce": 577, "gasLimit": "0xbe431918", "maxFeePerGas": "0x6bb02a65c7", @@ -58,7 +58,7 @@ "value": "0x95927b2d76", "accessList": [ { - "address": "Z8A632C23BF807681570c3fb6632Ce99FD98BdB23", + "address": "Q8A632C23BF807681570c3fb6632Ce99FD98BdB23", "storageKeys": [ "0x1c3124f271ea52d9e881bdd52c63020fb7c08a1b96263030415e4bc8146db25c", "0x2b6d4aa754fa44f0e86e6fa0a936048674ffc4fef24c5a2b317c740630901919", @@ -67,7 +67,7 @@ ] }, { - "address": "Z2D78B31bA09E8a2888d655e3d000FE95c63789c4", + "address": "Q2D78B31bA09E8a2888d655e3d000FE95c63789c4", "storageKeys": [ "0x1c3124f271ea52d9e881bdd52c63020fb7c08a1b96263030415e4bc8146db25c", "0x2b6d4aa754fa44f0e86e6fa0a936048674ffc4fef24c5a2b317c740630901919", @@ -76,7 +76,7 @@ ] }, { - "address": "Z3199b3433EE7f3eDcAE901cbce64C4E81125F7da", + "address": "Q3199b3433EE7f3eDcAE901cbce64C4E81125F7da", "storageKeys": [ "0x1c3124f271ea52d9e881bdd52c63020fb7c08a1b96263030415e4bc8146db25c", "0x2b6d4aa754fa44f0e86e6fa0a936048674ffc4fef24c5a2b317c740630901919", @@ -85,7 +85,7 @@ ] }, { - "address": "Zb8d669949683a728f76919fe2CC9896216E00A81", + "address": "Qb8d669949683a728f76919fe2CC9896216E00A81", "storageKeys": [ "0x1c3124f271ea52d9e881bdd52c63020fb7c08a1b96263030415e4bc8146db25c", "0x2b6d4aa754fa44f0e86e6fa0a936048674ffc4fef24c5a2b317c740630901919", @@ -107,7 +107,7 @@ { "name": "random-6", "transaction": { - "to": "Z47F8627a7925083e80e0d94dBB979ce2c44A2c74", + "to": "Q47F8627a7925083e80e0d94dBB979ce2c44A2c74", "nonce": 432, "gasLimit": "0xa1fca9f195", "maxFeePerGas": "0x98501809f1", @@ -128,7 +128,7 @@ { "name": "random-7", "transaction": { - "to": "ZD6E75AAf5C27963b31DD4Ad638e4C1d07b2Cc010", + "to": "QD6E75AAf5C27963b31DD4Ad638e4C1d07b2Cc010", "nonce": 667, "gasLimit": "0x95ead5c7", "maxFeePerGas": "0x2e54dcae", @@ -137,28 +137,28 @@ "value": "0x632af6c3", "accessList": [ { - "address": "ZD0a4e08ACDA2A8B3AE50Db94DB3246C4a2F34b60", + "address": "QD0a4e08ACDA2A8B3AE50Db94DB3246C4a2F34b60", "storageKeys": [ "0xe85938a8c29ab7b82264cc2e0822673fe17637364d6b384eb49f89e1adf61a11", "0x2c10ec7831da9a49dbf10818882d783f6511dda96c06b8ad2999aeb9f9f82d0b" ] }, { - "address": "Z3e4eE3DE26502A40C8dc33886c1bB7e079916194", + "address": "Q3e4eE3DE26502A40C8dc33886c1bB7e079916194", "storageKeys": [ "0xe85938a8c29ab7b82264cc2e0822673fe17637364d6b384eb49f89e1adf61a11", "0x2c10ec7831da9a49dbf10818882d783f6511dda96c06b8ad2999aeb9f9f82d0b" ] }, { - "address": "Ze54E80bd490910C719D5F11602a97FaE4D5C0F11", + "address": "Qe54E80bd490910C719D5F11602a97FaE4D5C0F11", "storageKeys": [ "0xe85938a8c29ab7b82264cc2e0822673fe17637364d6b384eb49f89e1adf61a11", "0x2c10ec7831da9a49dbf10818882d783f6511dda96c06b8ad2999aeb9f9f82d0b" ] }, { - "address": "Z6D1fd21ed3E7D4DE1F58361cB78De7a882dEcC79", + "address": "Q6D1fd21ed3E7D4DE1F58361cB78De7a882dEcC79", "storageKeys": [ "0xe85938a8c29ab7b82264cc2e0822673fe17637364d6b384eb49f89e1adf61a11", "0x2c10ec7831da9a49dbf10818882d783f6511dda96c06b8ad2999aeb9f9f82d0b" @@ -178,7 +178,7 @@ { "name": "random-9", "transaction": { - "to": "Z671a63481F6AdF6E231296c3ec838D21919b5Ec0", + "to": "Q671a63481F6AdF6E231296c3ec838D21919b5Ec0", "nonce": 776, "gasLimit": "0x905469", "maxFeePerGas": "0x64b085b92ba07f", @@ -199,7 +199,7 @@ { "name": "random-10", "transaction": { - "to": "Ze80B2a2b7a84c886319faB83dF55E63C7539D2E7", + "to": "Qe80B2a2b7a84c886319faB83dF55E63C7539D2E7", "nonce": 11, "gasLimit": "0x66745b0460", "maxFeePerGas": "0x9bc10525", @@ -208,7 +208,7 @@ "value": "0x452f964f", "accessList": [ { - "address": "Z9C1010eBD297f0af2110e4Be1356a99e088B70b0", + "address": "Q9C1010eBD297f0af2110e4Be1356a99e088B70b0", "storageKeys": [ "0x8f4489956d5c84285dd2337de059733fd7caff5e3bc562d2e19f4c8416f7adcd", "0xecacb47c7f3b429a188ae196d5f6905999bdd4909022d3d5b3566399ef44b513" @@ -228,7 +228,7 @@ { "name": "random-12", "transaction": { - "to": "Z4F18B878B82C8931c4A6d67FC28b857AaFf6D764", + "to": "Q4F18B878B82C8931c4A6d67FC28b857AaFf6D764", "nonce": 547, "gasLimit": "0xfa26c05691", "maxFeePerGas": "0x6bf86f84", @@ -237,21 +237,21 @@ "value": "0x64660ccd", "accessList": [ { - "address": "Z275677ef49D8315ed641fe3b6519C4dC3f099112", + "address": "Q275677ef49D8315ed641fe3b6519C4dC3f099112", "storageKeys": [ "0x819da32335b67b104a5c786c41f2811e1167a1245b4998eb9297d0b777db457b", "0xb76e298e9f4a7cb7e30809076edbb99bcbc310ec27d7a563cbc24cddd0a2ae6d" ] }, { - "address": "Za02363D8A2921bF57F7Dc48B42Ccc04548554E81", + "address": "Qa02363D8A2921bF57F7Dc48B42Ccc04548554E81", "storageKeys": [ "0x819da32335b67b104a5c786c41f2811e1167a1245b4998eb9297d0b777db457b", "0xb76e298e9f4a7cb7e30809076edbb99bcbc310ec27d7a563cbc24cddd0a2ae6d" ] }, { - "address": "Z8D6796be448CEFf2333157dEE56C74AF0aFb0BD5", + "address": "Q8D6796be448CEFf2333157dEE56C74AF0aFb0BD5", "storageKeys": [ "0x819da32335b67b104a5c786c41f2811e1167a1245b4998eb9297d0b777db457b", "0xb76e298e9f4a7cb7e30809076edbb99bcbc310ec27d7a563cbc24cddd0a2ae6d" @@ -271,7 +271,7 @@ { "name": "random-14", "transaction": { - "to": "Zd4Ed79414A9F8bF363E9CAaa5A74380716F7dBE0", + "to": "Qd4Ed79414A9F8bF363E9CAaa5A74380716F7dBE0", "nonce": 355, "gasLimit": "0xc3393abf8e", "maxFeePerGas": "0xc4550ba0e2", @@ -280,15 +280,15 @@ "value": "0x5590f0f87b", "accessList": [ { - "address": "Z3acE6cc41a8DF5B6518B24e6ecd490c13aCfC677", + "address": "Q3acE6cc41a8DF5B6518B24e6ecd490c13aCfC677", "storageKeys": [] }, { - "address": "Z65F3540A4A7aa93d074A77313622786513f0199d", + "address": "Q65F3540A4A7aa93d074A77313622786513f0199d", "storageKeys": [] }, { - "address": "Z0dad5e012C02f680FB256bf6b0e0d9999c8c74A0", + "address": "Q0dad5e012C02f680FB256bf6b0e0d9999c8c74A0", "storageKeys": [] } ], @@ -305,7 +305,7 @@ { "name": "random-15", "transaction": { - "to": "Z2C4Ad0E9a08DD6fE31Ba497fd4a893A0C1fc6B34", + "to": "Q2C4Ad0E9a08DD6fE31Ba497fd4a893A0C1fc6B34", "nonce": 252, "gasLimit": "0x50ef8434", "maxFeePerGas": "0x280244cd52ab", @@ -314,7 +314,7 @@ "value": "0x6f9f", "accessList": [ { - "address": "Z3266CE0AB053240CE5d95993d420c6b9a1dA1fDC", + "address": "Q3266CE0AB053240CE5d95993d420c6b9a1dA1fDC", "storageKeys": [ "0xa0568d48a6cc9e0c92080dec2155382a276181f25c746da97f8199f3a8464211", "0x80b165a49183e897da692ca460c5c88a0597e5e4ad7b43471bac25bfd9a780e0", @@ -323,7 +323,7 @@ ] }, { - "address": "Zf199b9f871065E2E18291CdeC3BF7C1eD32FBa0a", + "address": "Qf199b9f871065E2E18291CdeC3BF7C1eD32FBa0a", "storageKeys": [ "0xa0568d48a6cc9e0c92080dec2155382a276181f25c746da97f8199f3a8464211", "0x80b165a49183e897da692ca460c5c88a0597e5e4ad7b43471bac25bfd9a780e0", @@ -345,7 +345,7 @@ { "name": "random-16", "transaction": { - "to": "Zb26832F9Eebe1bb94cb67D5C6bABF358d15f834E", + "to": "Qb26832F9Eebe1bb94cb67D5C6bABF358d15f834E", "nonce": 306, "gasLimit": "0xfb38", "maxFeePerGas": "0xf631d7b0a81f", @@ -354,7 +354,7 @@ "value": "0xb3", "accessList": [ { - "address": "Z820A408021ed575Bd94e89AF5672C9C4FaAA93AD", + "address": "Q820A408021ed575Bd94e89AF5672C9C4FaAA93AD", "storageKeys": [] } ], @@ -371,7 +371,7 @@ { "name": "random-17", "transaction": { - "to": "Z7b9830530eFD81a5BB21Ed03A1E20ac977c13003", + "to": "Q7b9830530eFD81a5BB21Ed03A1E20ac977c13003", "nonce": 103, "gasLimit": "0xa193e9", "maxFeePerGas": "0x9288e311910556", @@ -380,7 +380,7 @@ "value": "0xf9eff8", "accessList": [ { - "address": "Z469ED43B08A100e13e84b7746fA7206d3A11a5F7", + "address": "Q469ED43B08A100e13e84b7746fA7206d3A11a5F7", "storageKeys": [ "0x434cab87455b41c8023691c4e836ec1e1d90fd639e1207274b07574059394950", "0x56498d76fcc165010f94437317015d8a9a939ab1fd21216c5fcfed335f5d6ad5", @@ -388,7 +388,7 @@ ] }, { - "address": "Z588C330B029E06B820Dfb1d3a5b774EdcF6a9FEE", + "address": "Q588C330B029E06B820Dfb1d3a5b774EdcF6a9FEE", "storageKeys": [ "0x434cab87455b41c8023691c4e836ec1e1d90fd639e1207274b07574059394950", "0x56498d76fcc165010f94437317015d8a9a939ab1fd21216c5fcfed335f5d6ad5", @@ -396,7 +396,7 @@ ] }, { - "address": "Zd7Bb918eB068B37E44b12A19402F5112dE656566", + "address": "Qd7Bb918eB068B37E44b12A19402F5112dE656566", "storageKeys": [ "0x434cab87455b41c8023691c4e836ec1e1d90fd639e1207274b07574059394950", "0x56498d76fcc165010f94437317015d8a9a939ab1fd21216c5fcfed335f5d6ad5", @@ -404,7 +404,7 @@ ] }, { - "address": "Z29EFB653e6b98eA36995EC81968b0EAC36678A60", + "address": "Q29EFB653e6b98eA36995EC81968b0EAC36678A60", "storageKeys": [ "0x434cab87455b41c8023691c4e836ec1e1d90fd639e1207274b07574059394950", "0x56498d76fcc165010f94437317015d8a9a939ab1fd21216c5fcfed335f5d6ad5", @@ -425,7 +425,7 @@ { "name": "random-18", "transaction": { - "to": "Z0bbe326563703D26cB074Ef29Ed04404Ab1Fd0cC", + "to": "Q0bbe326563703D26cB074Ef29Ed04404Ab1Fd0cC", "nonce": 503, "gasLimit": "0xa5cdc1", "maxFeePerGas": "0x52b5f1114c1a", @@ -434,7 +434,7 @@ "value": "0x8a1d", "accessList": [ { - "address": "Z47421DbF48444B1c15748fFB721AC9b341c35347", + "address": "Q47421DbF48444B1c15748fFB721AC9b341c35347", "storageKeys": [ "0x1e4e2be542b128bf053d245b5efe9be008785740189d3b5b2324a395630c3279", "0xed8dbc976b685b16dc203291d38dd688d247ae09d2fea99189d5171ddcd7c90e", @@ -455,7 +455,7 @@ { "name": "random-19", "transaction": { - "to": "Z6D9186AD35Ba39086D341c03B212a22dAd55A70c", + "to": "Q6D9186AD35Ba39086D341c03B212a22dAd55A70c", "nonce": 47, "gasLimit": "0x8e2d", "maxFeePerGas": "0x8f001cace664", @@ -464,19 +464,19 @@ "value": "0x4028", "accessList": [ { - "address": "Z27CBC99f4161665Fc37a013015B0B99A959f6fcb", + "address": "Q27CBC99f4161665Fc37a013015B0B99A959f6fcb", "storageKeys": [] }, { - "address": "Z296e9Be34584A14761c7b4cE82E99d4394A5f109", + "address": "Q296e9Be34584A14761c7b4cE82E99d4394A5f109", "storageKeys": [] }, { - "address": "ZeD1C55cDE477E627081Ac4D17376f4Bf9A2dc51E", + "address": "QeD1C55cDE477E627081Ac4D17376f4Bf9A2dc51E", "storageKeys": [] }, { - "address": "Z7a46971171Aa87E7Ef026C381053940714f4Ad91", + "address": "Q7a46971171Aa87E7Ef026C381053940714f4Ad91", "storageKeys": [] } ], @@ -493,7 +493,7 @@ { "name": "random-20", "transaction": { - "to": "Z60fC630156D46bF9b1BF5B7d251C6CbE64702BF3", + "to": "Q60fC630156D46bF9b1BF5B7d251C6CbE64702BF3", "nonce": 812, "gasLimit": "0xe010b5", "maxFeePerGas": "0xc2214fa5", @@ -502,19 +502,19 @@ "value": "0x6e7b", "accessList": [ { - "address": "Z36aAaa454aAB9A9409b890C32E9304C42EC8b05A", + "address": "Q36aAaa454aAB9A9409b890C32E9304C42EC8b05A", "storageKeys": [] }, { - "address": "Z7F7Ac0f60Be35f1e8F7c70A7AA5d596bC7648745", + "address": "Q7F7Ac0f60Be35f1e8F7c70A7AA5d596bC7648745", "storageKeys": [] }, { - "address": "Zf9Fb9Bb09b08C0Fa137E76615BBd50B5cc63BCc4", + "address": "Qf9Fb9Bb09b08C0Fa137E76615BBd50B5cc63BCc4", "storageKeys": [] }, { - "address": "Z69C6c93f57A0C11a765F2B9076a9575c4b015d03", + "address": "Q69C6c93f57A0C11a765F2B9076a9575c4b015d03", "storageKeys": [] } ], @@ -531,7 +531,7 @@ { "name": "random-22", "transaction": { - "to": "Z3EeaD538405af1E9715eF7Ef27e9Ecd9FD85966d", + "to": "Q3EeaD538405af1E9715eF7Ef27e9Ecd9FD85966d", "nonce": 524, "gasLimit": "0xf78a2b", "maxFeePerGas": "0x933edd83", @@ -540,19 +540,19 @@ "value": "0x3028b71dff", "accessList": [ { - "address": "ZfbFcb3B14f834e21f104979F550EA5C6f9917bf3", + "address": "QfbFcb3B14f834e21f104979F550EA5C6f9917bf3", "storageKeys": [ "0x133608308a4992cd937928afb6f8048fb448b7504bcce324addceda39d36f209" ] }, { - "address": "ZdA6219fFFE19545Fb89fB47A28A68E7bB978Ae4b", + "address": "QdA6219fFFE19545Fb89fB47A28A68E7bB978Ae4b", "storageKeys": [ "0x133608308a4992cd937928afb6f8048fb448b7504bcce324addceda39d36f209" ] }, { - "address": "Z5B4bBA3F79A3fcF5fcBEeAFc38571D72f039660D", + "address": "Q5B4bBA3F79A3fcF5fcBEeAFc38571D72f039660D", "storageKeys": [ "0x133608308a4992cd937928afb6f8048fb448b7504bcce324addceda39d36f209" ] @@ -571,7 +571,7 @@ { "name": "random-23", "transaction": { - "to": "Z250b57d24dEd36525C873c672D0766e136D56820", + "to": "Q250b57d24dEd36525C873c672D0766e136D56820", "nonce": 287, "gasLimit": "0x56263e1c", "maxFeePerGas": "0xb998f63a", @@ -592,7 +592,7 @@ { "name": "random-24", "transaction": { - "to": "Z598EebD2F9A25472fD69820f0CCA768875cBbeEc", + "to": "Q598EebD2F9A25472fD69820f0CCA768875cBbeEc", "nonce": 392, "gasLimit": "0xea0d56", "maxFeePerGas": "0xc1f6d69235", @@ -613,7 +613,7 @@ { "name": "random-25", "transaction": { - "to": "ZCF3Aae72e10af9157ca91a07aacB76FF5F4E714b", + "to": "QCF3Aae72e10af9157ca91a07aacB76FF5F4E714b", "nonce": 941, "gasLimit": "0x4e2767a5", "maxFeePerGas": "0x917fe51b9396d7", @@ -622,7 +622,7 @@ "value": "0x40a3c72c", "accessList": [ { - "address": "Z5382A3B7AE58E3b83ed04B361Dd24e858604e086", + "address": "Q5382A3B7AE58E3b83ed04B361Dd24e858604e086", "storageKeys": [ "0xf9f0fff83c5992655ea60b4ee4d87962402cf1e24ad838b2dff3ce1ceb5cf89d" ] @@ -641,7 +641,7 @@ { "name": "random-26", "transaction": { - "to": "Z758Bc398A6a885CFdbd6Fc38454aEfe6028B368d", + "to": "Q758Bc398A6a885CFdbd6Fc38454aEfe6028B368d", "nonce": 283, "gasLimit": "0x7ad47983", "maxFeePerGas": "0xf91a5fd1939a01", @@ -650,7 +650,7 @@ "value": "0x30f7bbbe", "accessList": [ { - "address": "Z7Aa04EF339c6F02a32c1293268EFf86EE908BBeE", + "address": "Q7Aa04EF339c6F02a32c1293268EFf86EE908BBeE", "storageKeys": [ "0x8b41f3a1712b04779027244978e3c14e6b779bff43a49fc7a99200a588fac19a", "0x77ee4b58a944e970a8222af116a065fd9ed3023f0f8f0ec4f4db6596474efc17", @@ -659,7 +659,7 @@ ] }, { - "address": "Z5F66D25CFEcB5CC61Ddb2f3b74766C6B42fbD4dd", + "address": "Q5F66D25CFEcB5CC61Ddb2f3b74766C6B42fbD4dd", "storageKeys": [ "0x8b41f3a1712b04779027244978e3c14e6b779bff43a49fc7a99200a588fac19a", "0x77ee4b58a944e970a8222af116a065fd9ed3023f0f8f0ec4f4db6596474efc17", @@ -668,7 +668,7 @@ ] }, { - "address": "Z4056252dA35B2f81Ac719EE07a88f3883EbcDAd9", + "address": "Q4056252dA35B2f81Ac719EE07a88f3883EbcDAd9", "storageKeys": [ "0x8b41f3a1712b04779027244978e3c14e6b779bff43a49fc7a99200a588fac19a", "0x77ee4b58a944e970a8222af116a065fd9ed3023f0f8f0ec4f4db6596474efc17", @@ -677,7 +677,7 @@ ] }, { - "address": "Z068887646de0cCff30cA7133e47ECa5AA01F9Ac6", + "address": "Q068887646de0cCff30cA7133e47ECa5AA01F9Ac6", "storageKeys": [ "0x8b41f3a1712b04779027244978e3c14e6b779bff43a49fc7a99200a588fac19a", "0x77ee4b58a944e970a8222af116a065fd9ed3023f0f8f0ec4f4db6596474efc17", @@ -699,7 +699,7 @@ { "name": "random-27", "transaction": { - "to": "Z4eD78781224E8D9546c3003b83A25337ce362738", + "to": "Q4eD78781224E8D9546c3003b83A25337ce362738", "nonce": 501, "gasLimit": "0xe9e61f7d6e", "maxFeePerGas": "0x343e21df97", @@ -720,7 +720,7 @@ { "name": "random-29", "transaction": { - "to": "Z39EF92dBF568890EC4e3c297849DaeFBcdfD5b62", + "to": "Q39EF92dBF568890EC4e3c297849DaeFBcdfD5b62", "nonce": 655, "gasLimit": "0x7f42bd93", "maxFeePerGas": "0xd608ba4fb5c7", @@ -729,7 +729,7 @@ "value": "0x6ddff0", "accessList": [ { - "address": "Z736704601aDEe519B7bB78a863Aa4dbe8404c28d", + "address": "Q736704601aDEe519B7bB78a863Aa4dbe8404c28d", "storageKeys": [ "0x0cb5823fe4963551b7448da2cb255c54cb952b1d29aa906d0db8a0369b07acc0", "0xa747cdaee63c094c448b58b76e9b7555459bf28fe41e33d8e485334b3955dee3", @@ -737,7 +737,7 @@ ] }, { - "address": "Z6d998366ed8753D04e8657365cE8C51a835D523B", + "address": "Q6d998366ed8753D04e8657365cE8C51a835D523B", "storageKeys": [ "0x0cb5823fe4963551b7448da2cb255c54cb952b1d29aa906d0db8a0369b07acc0", "0xa747cdaee63c094c448b58b76e9b7555459bf28fe41e33d8e485334b3955dee3", @@ -745,7 +745,7 @@ ] }, { - "address": "Z738fa560278f8094220Bff4aA29372c6660187f7", + "address": "Q738fa560278f8094220Bff4aA29372c6660187f7", "storageKeys": [ "0x0cb5823fe4963551b7448da2cb255c54cb952b1d29aa906d0db8a0369b07acc0", "0xa747cdaee63c094c448b58b76e9b7555459bf28fe41e33d8e485334b3955dee3", @@ -753,7 +753,7 @@ ] }, { - "address": "Z6A8433E54C68febECE19B8F73A09137358680EC7", + "address": "Q6A8433E54C68febECE19B8F73A09137358680EC7", "storageKeys": [ "0x0cb5823fe4963551b7448da2cb255c54cb952b1d29aa906d0db8a0369b07acc0", "0xa747cdaee63c094c448b58b76e9b7555459bf28fe41e33d8e485334b3955dee3", @@ -774,7 +774,7 @@ { "name": "random-30", "transaction": { - "to": "ZD81feE96A6c49D66C3e949Cd679792e10bf9A7c3", + "to": "QD81feE96A6c49D66C3e949Cd679792e10bf9A7c3", "nonce": 237, "gasLimit": "0x0e4296f22b", "maxFeePerGas": "0x64b320ccf8845e", @@ -783,19 +783,19 @@ "value": "0x02", "accessList": [ { - "address": "Z8EFDe420199EaEf765D5E17902088f022F45b497", + "address": "Q8EFDe420199EaEf765D5E17902088f022F45b497", "storageKeys": [ "0x3150715b5ad9a1e19f9e5d7acb57041c056751bf3517085406225bc939a1a6a0" ] }, { - "address": "Zda1cEB33c33Ea5d07374973b279c80c734917381", + "address": "Qda1cEB33c33Ea5d07374973b279c80c734917381", "storageKeys": [ "0x3150715b5ad9a1e19f9e5d7acb57041c056751bf3517085406225bc939a1a6a0" ] }, { - "address": "Z18665e49f685c3b280c48cF8A18b16fD7C704338", + "address": "Q18665e49f685c3b280c48cF8A18b16fD7C704338", "storageKeys": [ "0x3150715b5ad9a1e19f9e5d7acb57041c056751bf3517085406225bc939a1a6a0" ] @@ -814,7 +814,7 @@ { "name": "random-31", "transaction": { - "to": "Z1Cf101d4301Ac8FF0178FC31684b57E9Da7C4b4b", + "to": "Q1Cf101d4301Ac8FF0178FC31684b57E9Da7C4b4b", "nonce": 940, "gasLimit": "0x4e35a394", "maxFeePerGas": "0xc8acf4154649", @@ -835,7 +835,7 @@ { "name": "random-32", "transaction": { - "to": "Z1A8A6D0172522dD3D6a3314Fa10CeD54CaB044e4", + "to": "Q1A8A6D0172522dD3D6a3314Fa10CeD54CaB044e4", "nonce": 545, "gasLimit": "0x9061a1", "maxFeePerGas": "0xc0325b06337a", @@ -844,7 +844,7 @@ "value": "0xdead4d57", "accessList": [ { - "address": "Z1a0D647D3edeB04c6250716EDeA6EC1E65814397", + "address": "Q1a0D647D3edeB04c6250716EDeA6EC1E65814397", "storageKeys": [ "0x5c4c743f9e849af25a6bcbde357f3147fe050a8243b24324599b07443a44409a", "0xe0ae5f4e9cfb53ea5657c6f71a9f6d180ef603b14915939bb5cc4641fd491758", @@ -853,7 +853,7 @@ ] }, { - "address": "Z2e1c0387Ea755faF64D810BF994a5Dc0a6782bB3", + "address": "Q2e1c0387Ea755faF64D810BF994a5Dc0a6782bB3", "storageKeys": [ "0x5c4c743f9e849af25a6bcbde357f3147fe050a8243b24324599b07443a44409a", "0xe0ae5f4e9cfb53ea5657c6f71a9f6d180ef603b14915939bb5cc4641fd491758", @@ -862,7 +862,7 @@ ] }, { - "address": "Z3D3699852f4E73fd6C3A68A2255c2Dc62f165937", + "address": "Q3D3699852f4E73fd6C3A68A2255c2Dc62f165937", "storageKeys": [ "0x5c4c743f9e849af25a6bcbde357f3147fe050a8243b24324599b07443a44409a", "0xe0ae5f4e9cfb53ea5657c6f71a9f6d180ef603b14915939bb5cc4641fd491758", @@ -871,7 +871,7 @@ ] }, { - "address": "Z16eA1932E71e76Dc1C3A7B58fffCC2427dE9E4eB", + "address": "Q16eA1932E71e76Dc1C3A7B58fffCC2427dE9E4eB", "storageKeys": [ "0x5c4c743f9e849af25a6bcbde357f3147fe050a8243b24324599b07443a44409a", "0xe0ae5f4e9cfb53ea5657c6f71a9f6d180ef603b14915939bb5cc4641fd491758", @@ -893,7 +893,7 @@ { "name": "random-35", "transaction": { - "to": "ZC1C06f6eb9ae61550a85218E64CDEced5b2D925c", + "to": "QC1C06f6eb9ae61550a85218E64CDEced5b2D925c", "nonce": 955, "gasLimit": "0x9e15f1", "maxFeePerGas": "0xbdfd807b67", @@ -902,25 +902,25 @@ "value": "0x44da7f0bf5", "accessList": [ { - "address": "ZB3062Cc649929f0661f023168871C712710E3E2b", + "address": "QB3062Cc649929f0661f023168871C712710E3E2b", "storageKeys": [ "0x323397d458a568e0b5677f5b037db50782531e27d65f066c6b45dfa30efc1f7c" ] }, { - "address": "Zcfb86cEa245Bfa0313Ee0bD52bb541AfAd49e1cA", + "address": "Qcfb86cEa245Bfa0313Ee0bD52bb541AfAd49e1cA", "storageKeys": [ "0x323397d458a568e0b5677f5b037db50782531e27d65f066c6b45dfa30efc1f7c" ] }, { - "address": "ZF855839b588f5C71AF66f23f55acf048975b059f", + "address": "QF855839b588f5C71AF66f23f55acf048975b059f", "storageKeys": [ "0x323397d458a568e0b5677f5b037db50782531e27d65f066c6b45dfa30efc1f7c" ] }, { - "address": "Z4A7B3DbC879Af23AF6bc942194d4a4Cc7ab64705", + "address": "Q4A7B3DbC879Af23AF6bc942194d4a4Cc7ab64705", "storageKeys": [ "0x323397d458a568e0b5677f5b037db50782531e27d65f066c6b45dfa30efc1f7c" ] @@ -939,7 +939,7 @@ { "name": "random-36", "transaction": { - "to": "Z211b8c009161BF91E56e56fD187cAACEBF627F0f", + "to": "Q211b8c009161BF91E56e56fD187cAACEBF627F0f", "nonce": 892, "gasLimit": "0x733167f072", "maxFeePerGas": "0x0d6c8dfe0662c2", @@ -948,25 +948,25 @@ "value": "0x8efbe0", "accessList": [ { - "address": "Z79B07Ad3d83848A872fEce3b3d46E7dB4C2B77d3", + "address": "Q79B07Ad3d83848A872fEce3b3d46E7dB4C2B77d3", "storageKeys": [ "0x838f6bd62528490e9f3541d2e204060d97e7b8712d44f94bfb3544d58d6c0285" ] }, { - "address": "ZF860E29327ade4d046e2E86e4b87355Dc82f424c", + "address": "QF860E29327ade4d046e2E86e4b87355Dc82f424c", "storageKeys": [ "0x838f6bd62528490e9f3541d2e204060d97e7b8712d44f94bfb3544d58d6c0285" ] }, { - "address": "Z6Be9715ED3f7b01749F5A2caD60DDee6f5a84d61", + "address": "Q6Be9715ED3f7b01749F5A2caD60DDee6f5a84d61", "storageKeys": [ "0x838f6bd62528490e9f3541d2e204060d97e7b8712d44f94bfb3544d58d6c0285" ] }, { - "address": "Z7C6865F9dbfbdA8FE60C8695fBcb025073e83A7d", + "address": "Q7C6865F9dbfbdA8FE60C8695fBcb025073e83A7d", "storageKeys": [ "0x838f6bd62528490e9f3541d2e204060d97e7b8712d44f94bfb3544d58d6c0285" ] @@ -985,7 +985,7 @@ { "name": "random-37", "transaction": { - "to": "Z56f6318c36A9907b3F2d9f5f7f58B0c4ad07b037", + "to": "Q56f6318c36A9907b3F2d9f5f7f58B0c4ad07b037", "nonce": 879, "gasLimit": "0x40d29e1243", "maxFeePerGas": "0xd1b6316897", @@ -1006,7 +1006,7 @@ { "name": "random-38", "transaction": { - "to": "Z4BBA4f66b87A2529E70E52BcdD8b94A913E2767F", + "to": "Q4BBA4f66b87A2529E70E52BcdD8b94A913E2767F", "nonce": 192, "gasLimit": "0xaccf9abbcc", "maxFeePerGas": "0x91eb68de49c85c", @@ -1015,7 +1015,7 @@ "value": "0x837185bce5", "accessList": [ { - "address": "Z3A72660413E06d13511ead0eD048Bb7C536238f9", + "address": "Q3A72660413E06d13511ead0eD048Bb7C536238f9", "storageKeys": [ "0x2b0ae05eea3e40b74365927909af95849ea0e6482d4979aa97b6de40184c5a96", "0x4560e6afe698397a9a11b3a85c45a3f2a6929fa2120c0710256df5b8617b56ab", @@ -1037,7 +1037,7 @@ { "name": "random-39", "transaction": { - "to": "Z275E9AC566C97647fD5216b229ce2Cb8128bF948", + "to": "Q275E9AC566C97647fD5216b229ce2Cb8128bF948", "nonce": 139, "gasLimit": "0xabdb21e8", "maxFeePerGas": "0x497e4daed53d", @@ -1046,7 +1046,7 @@ "value": "0xda320b2a", "accessList": [ { - "address": "Z366AF0fb6B459916877728cb9a5c87A7d6535aa7", + "address": "Q366AF0fb6B459916877728cb9a5c87A7d6535aa7", "storageKeys": [ "0x10f4aad66f745c48095fb1992a3c978cac33fbf371667044df4188f43d12dc0a", "0xa250b183fce60762c98a54246dd7b9bb956bd6341da3e3b8b72dc336b24a1bbf", @@ -1055,7 +1055,7 @@ ] }, { - "address": "ZD9D3ab2DC5218e176Ae93Ce71C9adA512c042668", + "address": "QD9D3ab2DC5218e176Ae93Ce71C9adA512c042668", "storageKeys": [ "0x10f4aad66f745c48095fb1992a3c978cac33fbf371667044df4188f43d12dc0a", "0xa250b183fce60762c98a54246dd7b9bb956bd6341da3e3b8b72dc336b24a1bbf", @@ -1064,7 +1064,7 @@ ] }, { - "address": "Z6a5f00E589a5F8c57e42987F7b143d35522d72eC", + "address": "Q6a5f00E589a5F8c57e42987F7b143d35522d72eC", "storageKeys": [ "0x10f4aad66f745c48095fb1992a3c978cac33fbf371667044df4188f43d12dc0a", "0xa250b183fce60762c98a54246dd7b9bb956bd6341da3e3b8b72dc336b24a1bbf", @@ -1086,7 +1086,7 @@ { "name": "random-40", "transaction": { - "to": "Z4cfC498D0352AfF969b9961A3E595cf1e5c06d40", + "to": "Q4cfC498D0352AfF969b9961A3E595cf1e5c06d40", "nonce": 943, "gasLimit": "0x17b0021c20", "maxFeePerGas": "0x1295d39b889d", @@ -1095,15 +1095,15 @@ "value": "0x95bc", "accessList": [ { - "address": "Zee94f0bFfE39C63B53c94d0a9fCBc1384C7de72D", + "address": "Qee94f0bFfE39C63B53c94d0a9fCBc1384C7de72D", "storageKeys": [] }, { - "address": "Z69EDF19eed3FEFf59D5Ff3D202299B0a2f7Cfd47", + "address": "Q69EDF19eed3FEFf59D5Ff3D202299B0a2f7Cfd47", "storageKeys": [] }, { - "address": "Z1953C708C84Ff2c8eF15e3Bd7838F8537eeB5592", + "address": "Q1953C708C84Ff2c8eF15e3Bd7838F8537eeB5592", "storageKeys": [] } ], @@ -1120,7 +1120,7 @@ { "name": "random-41", "transaction": { - "to": "ZbEEb2C2d9c5Fd84B19Dc8406f3e7cB3b383d98a4", + "to": "QbEEb2C2d9c5Fd84B19Dc8406f3e7cB3b383d98a4", "nonce": 555, "gasLimit": "0x6cfaad", "maxFeePerGas": "0x3c7d01215a", @@ -1129,19 +1129,19 @@ "value": "0xdc6f8f5d", "accessList": [ { - "address": "ZC454EEb7ee4BdFdCE3BFf554800152182EF7C097", + "address": "QC454EEb7ee4BdFdCE3BFf554800152182EF7C097", "storageKeys": [ "0x4b2b8301b1edbcc86612a691376d7ac3ced7229835b3516e1c75b47e8c6c9e67" ] }, { - "address": "Ze155ba1797cc067cF6cdD6e5018cd62ebE9977F3", + "address": "Qe155ba1797cc067cF6cdD6e5018cd62ebE9977F3", "storageKeys": [ "0x4b2b8301b1edbcc86612a691376d7ac3ced7229835b3516e1c75b47e8c6c9e67" ] }, { - "address": "ZA8C0F3ac9f2e3C11e6E8765E94306c3a97104Fb2", + "address": "QA8C0F3ac9f2e3C11e6E8765E94306c3a97104Fb2", "storageKeys": [ "0x4b2b8301b1edbcc86612a691376d7ac3ced7229835b3516e1c75b47e8c6c9e67" ] @@ -1160,7 +1160,7 @@ { "name": "random-42", "transaction": { - "to": "Z99D259fA0C36DeA65ec8fDE1D3C7081BeA430DF1", + "to": "Q99D259fA0C36DeA65ec8fDE1D3C7081BeA430DF1", "nonce": 677, "gasLimit": "0xeb0b358297", "maxFeePerGas": "0xf32df1dc4b", @@ -1169,19 +1169,19 @@ "value": "0xf5fe", "accessList": [ { - "address": "Z3d8F00870C1739B6E5f72d0109F2064fB32e6C22", + "address": "Q3d8F00870C1739B6E5f72d0109F2064fB32e6C22", "storageKeys": [ "0xee2d6635a495847dedc266f2a7c2e5567b52e52be5d343699d241b2b53540a70" ] }, { - "address": "Z911aC905fB319EF0CeE5A43a0CA1FB3d6077a402", + "address": "Q911aC905fB319EF0CeE5A43a0CA1FB3d6077a402", "storageKeys": [ "0xee2d6635a495847dedc266f2a7c2e5567b52e52be5d343699d241b2b53540a70" ] }, { - "address": "Z783877cEFF53159419b8DB718d43b33fe40f8418", + "address": "Q783877cEFF53159419b8DB718d43b33fe40f8418", "storageKeys": [ "0xee2d6635a495847dedc266f2a7c2e5567b52e52be5d343699d241b2b53540a70" ] @@ -1200,7 +1200,7 @@ { "name": "random-45", "transaction": { - "to": "Z65E04b5881b4c6fB2285Cf279851a2159956b06A", + "to": "Q65E04b5881b4c6fB2285Cf279851a2159956b06A", "nonce": 234, "gasLimit": "0x1fe5d1", "maxFeePerGas": "0x12855148", @@ -1209,7 +1209,7 @@ "value": "0xa171", "accessList": [ { - "address": "Z022A0e71D11AAb373afabfe9BeFd44681E9371Ef", + "address": "Q022A0e71D11AAb373afabfe9BeFd44681E9371Ef", "storageKeys": [ "0x59f7bf413b8e4fe25c1c744f85d99604ca804e2244bd4dab2ce6f5887da8e1d4", "0x4ff150224b771fa7fcfdd80522c67e2315e1a2fd352991e254a0d65a793057f9", @@ -1230,7 +1230,7 @@ { "name": "random-46", "transaction": { - "to": "Z0cf2069a11a3B48173897Db9134CAfCAda3B8354", + "to": "Q0cf2069a11a3B48173897Db9134CAfCAda3B8354", "nonce": 465, "gasLimit": "0xebd9", "maxFeePerGas": "0x2ab05f48", @@ -1239,7 +1239,7 @@ "value": "0x2af005ea", "accessList": [ { - "address": "Z434d7Ca3CA8C2Fba48E8dDFCCf1d30eF7B12aE51", + "address": "Q434d7Ca3CA8C2Fba48E8dDFCCf1d30eF7B12aE51", "storageKeys": [ "0x8b9a6cf730d48a2bbc521bcf10327bfecf3263e82fc76fafb04048946693ee54", "0x37806f0dbb413600b101c313d365edd55f6065ba8c27f63bd5baf5c6fdfaca20", @@ -1248,7 +1248,7 @@ ] }, { - "address": "Z55AADff2F7735D40FFbC4ffa3dC344A0A50408Fd", + "address": "Q55AADff2F7735D40FFbC4ffa3dC344A0A50408Fd", "storageKeys": [ "0x8b9a6cf730d48a2bbc521bcf10327bfecf3263e82fc76fafb04048946693ee54", "0x37806f0dbb413600b101c313d365edd55f6065ba8c27f63bd5baf5c6fdfaca20", @@ -1270,7 +1270,7 @@ { "name": "random-47", "transaction": { - "to": "Z3aA0502f1644DD08cE5B717E08F3eec80232527d", + "to": "Q3aA0502f1644DD08cE5B717E08F3eec80232527d", "nonce": 313, "gasLimit": "0x8da2bcbf", "maxFeePerGas": "0xd9587c1f", @@ -1279,15 +1279,15 @@ "value": "0xc101", "accessList": [ { - "address": "Z69ab4C6cf7a0098464D6Fd4CC4dAb8916aC0221f", + "address": "Q69ab4C6cf7a0098464D6Fd4CC4dAb8916aC0221f", "storageKeys": [] }, { - "address": "Z3ee8Ea47479755ffbfdDaD11241aDFE1c3d9fF84", + "address": "Q3ee8Ea47479755ffbfdDaD11241aDFE1c3d9fF84", "storageKeys": [] }, { - "address": "Z87A28064A49b65e77955dd25cBD4a6874161C9c9", + "address": "Q87A28064A49b65e77955dd25cBD4a6874161C9c9", "storageKeys": [] } ], @@ -1304,7 +1304,7 @@ { "name": "random-51", "transaction": { - "to": "Z4e69f72240ac6Aaf17136AC50eaa0537386559A5", + "to": "Q4e69f72240ac6Aaf17136AC50eaa0537386559A5", "nonce": 325, "gasLimit": "0xea85", "maxFeePerGas": "0x3fa7d3a2be", @@ -1313,25 +1313,25 @@ "value": "0x66", "accessList": [ { - "address": "ZD222671eAD9dfc329d5D8c026eaE8Cd365055A85", + "address": "QD222671eAD9dfc329d5D8c026eaE8Cd365055A85", "storageKeys": [ "0xee0f927beda950cfbd87cd0595d90eff86a4bf9be7f5aa686d98e2c790748cc6" ] }, { - "address": "Z62E4aA34CF93eC006c48bA16d99C6A572425637E", + "address": "Q62E4aA34CF93eC006c48bA16d99C6A572425637E", "storageKeys": [ "0xee0f927beda950cfbd87cd0595d90eff86a4bf9be7f5aa686d98e2c790748cc6" ] }, { - "address": "Z732A9Ea0DC31cF2777fA3591e4d92E44B68f531f", + "address": "Q732A9Ea0DC31cF2777fA3591e4d92E44B68f531f", "storageKeys": [ "0xee0f927beda950cfbd87cd0595d90eff86a4bf9be7f5aa686d98e2c790748cc6" ] }, { - "address": "Ze304770850F193Bb64Fd886BbB4490a31d7aB87a", + "address": "Qe304770850F193Bb64Fd886BbB4490a31d7aB87a", "storageKeys": [ "0xee0f927beda950cfbd87cd0595d90eff86a4bf9be7f5aa686d98e2c790748cc6" ] @@ -1350,7 +1350,7 @@ { "name": "random-52", "transaction": { - "to": "Z3e00e0B5C5CcFA5c38527D655b6172dd8bBd2Ea4", + "to": "Q3e00e0B5C5CcFA5c38527D655b6172dd8bBd2Ea4", "nonce": 202, "gasLimit": "0xcda9bd8a", "maxFeePerGas": "0xa7dce37f49df12", @@ -1359,7 +1359,7 @@ "value": "0x57534b", "accessList": [ { - "address": "Z9F06365D9DC6532A44a10142967a1646Cf90444A", + "address": "Q9F06365D9DC6532A44a10142967a1646Cf90444A", "storageKeys": [] } ], @@ -1376,7 +1376,7 @@ { "name": "random-53", "transaction": { - "to": "Z3b3B6D650025ABf5599bf26ADABCEDF4A63CDb34", + "to": "Q3b3B6D650025ABf5599bf26ADABCEDF4A63CDb34", "nonce": 922, "gasLimit": "0x1a3b0c", "maxFeePerGas": "0xd3fd4bca49", @@ -1385,19 +1385,19 @@ "value": "0xb4f60d69ef", "accessList": [ { - "address": "Z1B6918B4DAAB3915815357dD5AF7bE83dcAd25a5", + "address": "Q1B6918B4DAAB3915815357dD5AF7bE83dcAd25a5", "storageKeys": [] }, { - "address": "ZF6dCa07C60494bdBcb3B463baF59d14dbce5C797", + "address": "QF6dCa07C60494bdBcb3B463baF59d14dbce5C797", "storageKeys": [] }, { - "address": "ZcfA40043C444874077612568938d89404251Bb43", + "address": "QcfA40043C444874077612568938d89404251Bb43", "storageKeys": [] }, { - "address": "Z5364966cd61C60B5eB2Fef17A1CdD14f962E6f7d", + "address": "Q5364966cd61C60B5eB2Fef17A1CdD14f962E6f7d", "storageKeys": [] } ], @@ -1414,7 +1414,7 @@ { "name": "random-54", "transaction": { - "to": "Z627b9201a0BeDE5524ac0Ff8f95af471f2cBA572", + "to": "Q627b9201a0BeDE5524ac0Ff8f95af471f2cBA572", "nonce": 235, "gasLimit": "0x5b9169", "maxFeePerGas": "0xb9cd0e540d8d79", @@ -1423,7 +1423,7 @@ "value": "0x6aa38d50", "accessList": [ { - "address": "Ze8F9ac8eEd79272F2865E5Fad50B407dba179200", + "address": "Qe8F9ac8eEd79272F2865E5Fad50B407dba179200", "storageKeys": [ "0x147ad1e04dc4a163ed1ab1e06cc767561b953956bfbea7da6801191105959acf", "0x3899cbf0de63ad1a2a4e59b2b89c9f07c9050dac577c70427948960a7f8eda38", @@ -1432,7 +1432,7 @@ ] }, { - "address": "Zc87c5Cf7175827146469C29e281258f5eA4Fb13A", + "address": "Qc87c5Cf7175827146469C29e281258f5eA4Fb13A", "storageKeys": [ "0x147ad1e04dc4a163ed1ab1e06cc767561b953956bfbea7da6801191105959acf", "0x3899cbf0de63ad1a2a4e59b2b89c9f07c9050dac577c70427948960a7f8eda38", @@ -1454,7 +1454,7 @@ { "name": "random-55", "transaction": { - "to": "Z16956bB9eb69550DE37fC267501e14A5515D6dFA", + "to": "Q16956bB9eb69550DE37fC267501e14A5515D6dFA", "nonce": 983, "gasLimit": "0x9d1947", "maxFeePerGas": "0xb72fb36f12", @@ -1463,28 +1463,28 @@ "value": "0xde694d", "accessList": [ { - "address": "Zf31afb826f3BfD3071FaA91340129D449a0c889a", + "address": "Qf31afb826f3BfD3071FaA91340129D449a0c889a", "storageKeys": [ "0x46e816297a43ce7d94b8c6bdb6cca1159fd7b6242778aa1964c438a31f0e78cb", "0x2939d4452e9498a49b3765a9a401a5ac36223086ae576012c6ca8311a9c24389" ] }, { - "address": "Ze3431Bd6A55eaf5E6e3EfFB8c9Da31422fd58A31", + "address": "Qe3431Bd6A55eaf5E6e3EfFB8c9Da31422fd58A31", "storageKeys": [ "0x46e816297a43ce7d94b8c6bdb6cca1159fd7b6242778aa1964c438a31f0e78cb", "0x2939d4452e9498a49b3765a9a401a5ac36223086ae576012c6ca8311a9c24389" ] }, { - "address": "ZaE9f344D1207d4499BacF56edE4Ef4b85D17aAB4", + "address": "QaE9f344D1207d4499BacF56edE4Ef4b85D17aAB4", "storageKeys": [ "0x46e816297a43ce7d94b8c6bdb6cca1159fd7b6242778aa1964c438a31f0e78cb", "0x2939d4452e9498a49b3765a9a401a5ac36223086ae576012c6ca8311a9c24389" ] }, { - "address": "ZF4Ada8bC0115258EAF149196f358e374FECB6f7d", + "address": "QF4Ada8bC0115258EAF149196f358e374FECB6f7d", "storageKeys": [ "0x46e816297a43ce7d94b8c6bdb6cca1159fd7b6242778aa1964c438a31f0e78cb", "0x2939d4452e9498a49b3765a9a401a5ac36223086ae576012c6ca8311a9c24389" @@ -1504,7 +1504,7 @@ { "name": "random-57", "transaction": { - "to": "Z8D587B077f84921E7B45A2Fc1209c3580be37956", + "to": "Q8D587B077f84921E7B45A2Fc1209c3580be37956", "nonce": 389, "gasLimit": "0x3590c0", "maxFeePerGas": "0x71fa92e5e1cc", @@ -1513,7 +1513,7 @@ "value": "0x90fa", "accessList": [ { - "address": "Zbc779883FF90455a2E6008776951485719472bE6", + "address": "Qbc779883FF90455a2E6008776951485719472bE6", "storageKeys": [ "0x2bc39a03b5f8bf3405e1df4450634b4a33cd60dc1d00fd79173c97d5fdebacaa", "0x6fd0e4c4e3dcb01d49d0d0b5169fd3f8f46bae2676d80f6d7ed7eebfe927e808", @@ -1534,7 +1534,7 @@ { "name": "random-58", "transaction": { - "to": "Z75d29838Cea84FCa64D51c6Ec1a8569EB7DC50Ab", + "to": "Q75d29838Cea84FCa64D51c6Ec1a8569EB7DC50Ab", "nonce": 429, "gasLimit": "0xfdf81cbd", "maxFeePerGas": "0x624be7e9ac40fc", @@ -1555,7 +1555,7 @@ { "name": "random-59", "transaction": { - "to": "Z760dB83f7B207A736F8588A22106af54F936524e", + "to": "Q760dB83f7B207A736F8588A22106af54F936524e", "nonce": 852, "gasLimit": "0x9fbf", "maxFeePerGas": "0x04b726a269", @@ -1576,7 +1576,7 @@ { "name": "random-62", "transaction": { - "to": "Zdc1Fde9eaDDb50Aff5a565E490D14CBB29464a04", + "to": "Qdc1Fde9eaDDb50Aff5a565E490D14CBB29464a04", "nonce": 257, "gasLimit": "0xc569764d7a", "maxFeePerGas": "0x9819e85255", @@ -1585,7 +1585,7 @@ "value": "0x1e049e3c71", "accessList": [ { - "address": "Z61885BBb4861f6C13c7dBd00a6a3D5eA3A36914F", + "address": "Q61885BBb4861f6C13c7dBd00a6a3D5eA3A36914F", "storageKeys": [ "0xf3d63d0b40060713983bb1ca15151c0920f3b1c6cc3505fbb69f72c212d52a7d", "0xa827cf299e1063d0f5481a10aba398911b6be26e46725a5a9b2f66813850cb24", @@ -1593,7 +1593,7 @@ ] }, { - "address": "ZE2a1D257A226DE30d8371f648D5b9673629CD457", + "address": "QE2a1D257A226DE30d8371f648D5b9673629CD457", "storageKeys": [ "0xf3d63d0b40060713983bb1ca15151c0920f3b1c6cc3505fbb69f72c212d52a7d", "0xa827cf299e1063d0f5481a10aba398911b6be26e46725a5a9b2f66813850cb24", @@ -1601,7 +1601,7 @@ ] }, { - "address": "Z3F272680b8FFd6DE85Bf93b0C5E9C22d708c2D71", + "address": "Q3F272680b8FFd6DE85Bf93b0C5E9C22d708c2D71", "storageKeys": [ "0xf3d63d0b40060713983bb1ca15151c0920f3b1c6cc3505fbb69f72c212d52a7d", "0xa827cf299e1063d0f5481a10aba398911b6be26e46725a5a9b2f66813850cb24", @@ -1622,7 +1622,7 @@ { "name": "random-63", "transaction": { - "to": "ZB85AE10711562BCB3974dfB1EaE1beda3Bc67dBd", + "to": "QB85AE10711562BCB3974dfB1EaE1beda3Bc67dBd", "nonce": 512, "gasLimit": "0x678622c5", "maxFeePerGas": "0xfa139367d1ea", @@ -1631,19 +1631,19 @@ "value": "0x94eacf62ef", "accessList": [ { - "address": "Z59A9aa6004324B4C1E5Ca16b31E5062d65d69f02", + "address": "Q59A9aa6004324B4C1E5Ca16b31E5062d65d69f02", "storageKeys": [] }, { - "address": "Z59Cb2199dB7c40F512dcADe23d726F6Bc4300247", + "address": "Q59Cb2199dB7c40F512dcADe23d726F6Bc4300247", "storageKeys": [] }, { - "address": "Z1e14CE82C1FcEcB1D3786a7657Da422Dd7B1b475", + "address": "Q1e14CE82C1FcEcB1D3786a7657Da422Dd7B1b475", "storageKeys": [] }, { - "address": "ZFD9e6D34C58d53ad14A216700677D4452EBAfd36", + "address": "QFD9e6D34C58d53ad14A216700677D4452EBAfd36", "storageKeys": [] } ], @@ -1660,7 +1660,7 @@ { "name": "random-64", "transaction": { - "to": "Z5539b0d27740010A98894024d7bc891BA7831c89", + "to": "Q5539b0d27740010A98894024d7bc891BA7831c89", "nonce": 202, "gasLimit": "0xce08", "maxFeePerGas": "0xb6def202b0f4", @@ -1669,7 +1669,7 @@ "value": "0x1a", "accessList": [ { - "address": "Zfe6cb2C3e37532B4Ef13e79C233Ca64C7fFfCFD2", + "address": "Qfe6cb2C3e37532B4Ef13e79C233Ca64C7fFfCFD2", "storageKeys": [ "0x3f7287d0cdd0cfadcc6d18290da205685c27be85e3d12daef93a1806094cb4da", "0x3c776b188d069ebea086ee553dd81252288e85dd97888241729f1fd7bc325afb", @@ -1678,7 +1678,7 @@ ] }, { - "address": "Z832f5283Be3D816CF155e453F9841bDE8e7F7B4c", + "address": "Q832f5283Be3D816CF155e453F9841bDE8e7F7B4c", "storageKeys": [ "0x3f7287d0cdd0cfadcc6d18290da205685c27be85e3d12daef93a1806094cb4da", "0x3c776b188d069ebea086ee553dd81252288e85dd97888241729f1fd7bc325afb", @@ -1700,7 +1700,7 @@ { "name": "random-65", "transaction": { - "to": "Z68c3a6aDe6160bB4d252B0ea8d223dA0951a2063", + "to": "Q68c3a6aDe6160bB4d252B0ea8d223dA0951a2063", "nonce": 472, "gasLimit": "0x5def6e", "maxFeePerGas": "0xfe5088f3cad2", @@ -1709,25 +1709,25 @@ "value": "0x1673", "accessList": [ { - "address": "Z4D979db5bEE701133889ea708339B375fb56831b", + "address": "Q4D979db5bEE701133889ea708339B375fb56831b", "storageKeys": [ "0x182e6573d2e5f00a759cc4140e2d37298eb6dfeb8f41a0ff205c437012c2e564" ] }, { - "address": "Z5C9617f35247456fbcAF1aB61B432B5e729010e8", + "address": "Q5C9617f35247456fbcAF1aB61B432B5e729010e8", "storageKeys": [ "0x182e6573d2e5f00a759cc4140e2d37298eb6dfeb8f41a0ff205c437012c2e564" ] }, { - "address": "Z310eb4f10aEfd6269e5385375572494a24ECB360", + "address": "Q310eb4f10aEfd6269e5385375572494a24ECB360", "storageKeys": [ "0x182e6573d2e5f00a759cc4140e2d37298eb6dfeb8f41a0ff205c437012c2e564" ] }, { - "address": "ZDeCbfbaA3737177d2a7C7Dc27f14A79491973946", + "address": "QDeCbfbaA3737177d2a7C7Dc27f14A79491973946", "storageKeys": [ "0x182e6573d2e5f00a759cc4140e2d37298eb6dfeb8f41a0ff205c437012c2e564" ] @@ -1746,7 +1746,7 @@ { "name": "random-67", "transaction": { - "to": "Z89A700BB31E28153A4904E7Ae0A99f74dDc126e0", + "to": "Q89A700BB31E28153A4904E7Ae0A99f74dDc126e0", "nonce": 930, "gasLimit": "0x429e45d2", "maxFeePerGas": "0xb01f2238", @@ -1755,7 +1755,7 @@ "value": "0x94855320", "accessList": [ { - "address": "Z79C87d509790ba8A99E257dEe7B1C09a84913a27", + "address": "Q79C87d509790ba8A99E257dEe7B1C09a84913a27", "storageKeys": [ "0xe738c0dadcf9238c561501f1c7135483bf477f7052c596fac359ffbaae6b471f", "0x5689e65d939dd50612ad80b0229a9698f7a067613292c883720b994cb924573f", @@ -1763,7 +1763,7 @@ ] }, { - "address": "Za7613fCdD57d826382B56A2d673523b17A9dB066", + "address": "Qa7613fCdD57d826382B56A2d673523b17A9dB066", "storageKeys": [ "0xe738c0dadcf9238c561501f1c7135483bf477f7052c596fac359ffbaae6b471f", "0x5689e65d939dd50612ad80b0229a9698f7a067613292c883720b994cb924573f", @@ -1771,7 +1771,7 @@ ] }, { - "address": "Z8869d6A468767d70E03E9C4a02382700D5Cdd48F", + "address": "Q8869d6A468767d70E03E9C4a02382700D5Cdd48F", "storageKeys": [ "0xe738c0dadcf9238c561501f1c7135483bf477f7052c596fac359ffbaae6b471f", "0x5689e65d939dd50612ad80b0229a9698f7a067613292c883720b994cb924573f", @@ -1779,7 +1779,7 @@ ] }, { - "address": "Z6679ED71c578838654D6BEB1569e8116E9Ec15F8", + "address": "Q6679ED71c578838654D6BEB1569e8116E9Ec15F8", "storageKeys": [ "0xe738c0dadcf9238c561501f1c7135483bf477f7052c596fac359ffbaae6b471f", "0x5689e65d939dd50612ad80b0229a9698f7a067613292c883720b994cb924573f", @@ -1800,7 +1800,7 @@ { "name": "random-68", "transaction": { - "to": "Z9524ce938E047293438C52e03b324352D34593C0", + "to": "Q9524ce938E047293438C52e03b324352D34593C0", "nonce": 280, "gasLimit": "0xb4939d7e", "maxFeePerGas": "0x824e95a56e47", @@ -1821,7 +1821,7 @@ { "name": "random-69", "transaction": { - "to": "ZDB6B9cee3B75D2f57Ab542C5C2b54A1f138F622A", + "to": "QDB6B9cee3B75D2f57Ab542C5C2b54A1f138F622A", "nonce": 157, "gasLimit": "0xca819420", "maxFeePerGas": "0x32247e55", @@ -1830,7 +1830,7 @@ "value": "0xde5f1bf5", "accessList": [ { - "address": "Z42d315226060386Ed14fB1a1E31022eB9c7c8291", + "address": "Qs42d315226060386Ed14fB1a1E31022eB9c7c8291", "storageKeys": [ "0x2c57a1f776da58e57e209e7bb6f234813ed04147c8e1ba4dc24e1fbd1f405fe3", "0xeb3a68ea63c796c5afca5b52e14d41456ce1c41c3d581d10c26cb759d4a47f54", @@ -1838,7 +1838,7 @@ ] }, { - "address": "ZEdEb4505Fd64BC9d450F802127d74cc9a6823d57", + "address": "QEdEb4505Fd64BC9d450F802127d74cc9a6823d57", "storageKeys": [ "0x2c57a1f776da58e57e209e7bb6f234813ed04147c8e1ba4dc24e1fbd1f405fe3", "0xeb3a68ea63c796c5afca5b52e14d41456ce1c41c3d581d10c26cb759d4a47f54", @@ -1846,7 +1846,7 @@ ] }, { - "address": "ZB3D4489b9Ab879e8Ec8AcCC76fA5434399Dca4Cc", + "address": "QB3D4489b9Ab879e8Ec8AcCC76fA5434399Dca4Cc", "storageKeys": [ "0x2c57a1f776da58e57e209e7bb6f234813ed04147c8e1ba4dc24e1fbd1f405fe3", "0xeb3a68ea63c796c5afca5b52e14d41456ce1c41c3d581d10c26cb759d4a47f54", @@ -1867,7 +1867,7 @@ { "name": "random-74", "transaction": { - "to": "ZcEB734369e4A893a10E1dB8aF36Ac91487260de2", + "to": "QcEB734369e4A893a10E1dB8aF36Ac91487260de2", "nonce": 223, "gasLimit": "0x2c88b8c9c2", "maxFeePerGas": "0xa8b0d55066a5a1", @@ -1876,7 +1876,7 @@ "value": "0x6cf16f303b", "accessList": [ { - "address": "Ze43aEc2BB451dc4C289eb890dd242d5Bc5f6d0cC", + "address": "Qe43aEc2BB451dc4C289eb890dd242d5Bc5f6d0cC", "storageKeys": [ "0xe6597d2ea26a458922c08275eb23909ccfca4daf11662e5dd0b8ba95f1c666da", "0x449afb4fa7c7a806ebced6ce2968e6e635e80a318e4a1371e8938a417feb93b2", @@ -1898,7 +1898,7 @@ { "name": "random-76", "transaction": { - "to": "Za2F1A45d981cD8Cd8D71f6200BdeA3FaC6d9eee5", + "to": "Qa2F1A45d981cD8Cd8D71f6200BdeA3FaC6d9eee5", "nonce": 213, "gasLimit": "0x982ed799a4", "maxFeePerGas": "0x80db6bcb", @@ -1907,19 +1907,19 @@ "value": "0xd557be586d", "accessList": [ { - "address": "Z3F28a17091824b3c3DAb8e15ec297dAf2313C675", + "address": "Q3F28a17091824b3c3DAb8e15ec297dAf2313C675", "storageKeys": [] }, { - "address": "Z5B3E40E58F96C9B1797888866a0D9Fd11E4155f8", + "address": "Q5B3E40E58F96C9B1797888866a0D9Fd11E4155f8", "storageKeys": [] }, { - "address": "Z6A404ABD58f6653062AEE230181c369Ccc30145C", + "address": "Q6A404ABD58f6653062AEE230181c369Ccc30145C", "storageKeys": [] }, { - "address": "Ze00b333798298F4ec75a934ca1F97129F72E15e0", + "address": "Qe00b333798298F4ec75a934ca1F97129F72E15e0", "storageKeys": [] } ], @@ -1936,7 +1936,7 @@ { "name": "random-77", "transaction": { - "to": "Z9Ef34f85EFC31a77A1C73F86AE9bc4D4B98900E0", + "to": "Q9Ef34f85EFC31a77A1C73F86AE9bc4D4B98900E0", "nonce": 68, "gasLimit": "0x161d3f33", "maxFeePerGas": "0x4fc300c826", @@ -1945,7 +1945,7 @@ "value": "0xd34e0b79", "accessList": [ { - "address": "Z22A46e974d6A904697713925B1A6d2F7F9eC9057", + "address": "Q22A46e974d6A904697713925B1A6d2F7F9eC9057", "storageKeys": [ "0x7f5a61220a34e055900fcc6bea011d74662a83b0e7c59c739e273e0543352abe", "0xcfac541c820be3ae3096e8fbb6fd65d5bfd12d5e6056e043711e7c767afbaf82", @@ -1954,7 +1954,7 @@ ] }, { - "address": "Z949F0877867dbdaC6C520C7ce67a0366BB17DB72", + "address": "Q949F0877867dbdaC6C520C7ce67a0366BB17DB72", "storageKeys": [ "0x7f5a61220a34e055900fcc6bea011d74662a83b0e7c59c739e273e0543352abe", "0xcfac541c820be3ae3096e8fbb6fd65d5bfd12d5e6056e043711e7c767afbaf82", @@ -1963,7 +1963,7 @@ ] }, { - "address": "Z05f68290940DA75DaF7052d1F95Af0423e9D034A", + "address": "Q05f68290940DA75DaF7052d1F95Af0423e9D034A", "storageKeys": [ "0x7f5a61220a34e055900fcc6bea011d74662a83b0e7c59c739e273e0543352abe", "0xcfac541c820be3ae3096e8fbb6fd65d5bfd12d5e6056e043711e7c767afbaf82", @@ -1972,7 +1972,7 @@ ] }, { - "address": "Zc344b1f4960786E2dDf5aDd3c6cc9bb7A6c621D7", + "address": "Qc344b1f4960786E2dDf5aDd3c6cc9bb7A6c621D7", "storageKeys": [ "0x7f5a61220a34e055900fcc6bea011d74662a83b0e7c59c739e273e0543352abe", "0xcfac541c820be3ae3096e8fbb6fd65d5bfd12d5e6056e043711e7c767afbaf82", @@ -1994,7 +1994,7 @@ { "name": "random-78", "transaction": { - "to": "Z935889a09Ce334DeB51E7Ff46C648259d6eEF9Dd", + "to": "Q935889a09Ce334DeB51E7Ff46C648259d6eEF9Dd", "nonce": 41, "gasLimit": "0x9ee497b3", "maxFeePerGas": "0x8868c7a10ab2", @@ -2003,7 +2003,7 @@ "value": "0x2189", "accessList": [ { - "address": "ZAd986854513eEb4817BBfA4d13C6b9022F1EE4d3", + "address": "QAd986854513eEb4817BBfA4d13C6b9022F1EE4d3", "storageKeys": [ "0x1e603e4c79a4f3ec3f3117dc294b46a36297214095a50f193489bb428ebf6b72", "0x2e40b5c1958f337422e80e7b684ee29234c863f46f358f4f00886ad29d965e03", @@ -2011,7 +2011,7 @@ ] }, { - "address": "Z553bD39AE42E47C31344B918eCA2f6165d8C3c76", + "address": "Q553bD39AE42E47C31344B918eCA2f6165d8C3c76", "storageKeys": [ "0x1e603e4c79a4f3ec3f3117dc294b46a36297214095a50f193489bb428ebf6b72", "0x2e40b5c1958f337422e80e7b684ee29234c863f46f358f4f00886ad29d965e03", @@ -2032,7 +2032,7 @@ { "name": "random-79", "transaction": { - "to": "Za157CcBcf04529C709c339ec45949C50bfc820a2", + "to": "Qa157CcBcf04529C709c339ec45949C50bfc820a2", "nonce": 89, "gasLimit": "0x7f95cf4d", "maxFeePerGas": "0x6f52dfd7", @@ -2041,7 +2041,7 @@ "value": "0x4f", "accessList": [ { - "address": "Z94f6079d381EAe96318Cbf4651aFb2092299eC7C", + "address": "Q94f6079d381EAe96318Cbf4651aFb2092299eC7C", "storageKeys": [ "0x81452d24074125978a7c7161dd90da510a700714562a8e29d7bf559f25962328", "0x71e65c9a55f4aa781b99afe9ce65b85e20b467cbdec997e623d75addf63aa18f", @@ -2049,7 +2049,7 @@ ] }, { - "address": "Z7d6dAfbCC17E0c840F3a2949a6f1d224d4643603", + "address": "Q7d6dAfbCC17E0c840F3a2949a6f1d224d4643603", "storageKeys": [ "0x81452d24074125978a7c7161dd90da510a700714562a8e29d7bf559f25962328", "0x71e65c9a55f4aa781b99afe9ce65b85e20b467cbdec997e623d75addf63aa18f", @@ -2057,7 +2057,7 @@ ] }, { - "address": "ZdA6C839aD214B9d42C4eC4BD9be37123d71a3C27", + "address": "QdA6C839aD214B9d42C4eC4BD9be37123d71a3C27", "storageKeys": [ "0x81452d24074125978a7c7161dd90da510a700714562a8e29d7bf559f25962328", "0x71e65c9a55f4aa781b99afe9ce65b85e20b467cbdec997e623d75addf63aa18f", @@ -2065,7 +2065,7 @@ ] }, { - "address": "Z8ecE6d0241992F7a6DCdD60d67A5733d0D3910C8", + "address": "Q8ecE6d0241992F7a6DCdD60d67A5733d0D3910C8", "storageKeys": [ "0x81452d24074125978a7c7161dd90da510a700714562a8e29d7bf559f25962328", "0x71e65c9a55f4aa781b99afe9ce65b85e20b467cbdec997e623d75addf63aa18f", @@ -2086,7 +2086,7 @@ { "name": "random-80", "transaction": { - "to": "ZccD6EC986CB3c323dd9767dE263F40532360916e", + "to": "QccD6EC986CB3c323dd9767dE263F40532360916e", "nonce": 310, "gasLimit": "0xbdc97afa88", "maxFeePerGas": "0x72d1185cc524", @@ -2095,25 +2095,25 @@ "value": "0x5ebd", "accessList": [ { - "address": "Z6565C18218E3d5C30FB8C3eD8AA5368B9270D1E5", + "address": "Q6565C18218E3d5C30FB8C3eD8AA5368B9270D1E5", "storageKeys": [ "0x8af68e30d0b55cd77e2a766ab742aacb53609d2f836b328fcba74f2010c21219" ] }, { - "address": "Z0F96dAe8c01C9524BD6620ab109A076A8790556d", + "address": "Q0F96dAe8c01C9524BD6620ab109A076A8790556d", "storageKeys": [ "0x8af68e30d0b55cd77e2a766ab742aacb53609d2f836b328fcba74f2010c21219" ] }, { - "address": "Z3fc38b5896DFA30e7035DED8458dFefc553b79C6", + "address": "Q3fc38b5896DFA30e7035DED8458dFefc553b79C6", "storageKeys": [ "0x8af68e30d0b55cd77e2a766ab742aacb53609d2f836b328fcba74f2010c21219" ] }, { - "address": "Z2786E0D96D6A5AaaE1772d15a38cfbB320274286", + "address": "Q2786E0D96D6A5AaaE1772d15a38cfbB320274286", "storageKeys": [ "0x8af68e30d0b55cd77e2a766ab742aacb53609d2f836b328fcba74f2010c21219" ] @@ -2132,7 +2132,7 @@ { "name": "random-83", "transaction": { - "to": "ZdEA0bD7fb350AF2bAF9E1878C127D2Ab62367C57", + "to": "QdEA0bD7fb350AF2bAF9E1878C127D2Ab62367C57", "nonce": 715, "gasLimit": "0xb4efc87514", "maxFeePerGas": "0x1f7d3bf5b9", @@ -2141,13 +2141,13 @@ "value": "0x293b625665", "accessList": [ { - "address": "Z451964d8207FB75278caC13fb991bB4DFf4c6dDe", + "address": "Q451964d8207FB75278caC13fb991bB4DFf4c6dDe", "storageKeys": [ "0xfee7c5273eff291e2f99cea4de43e53fca9177478563526d0765abe7705b1808" ] }, { - "address": "Z00456d5236A93FD20edC2081B46C087d9Fa6a413", + "address": "Q00456d5236A93FD20edC2081B46C087d9Fa6a413", "storageKeys": [ "0xfee7c5273eff291e2f99cea4de43e53fca9177478563526d0765abe7705b1808" ] @@ -2166,7 +2166,7 @@ { "name": "random-85", "transaction": { - "to": "Z738e00821d153Dcec376712b6ADD16fc47F338aE", + "to": "Q738e00821d153Dcec376712b6ADD16fc47F338aE", "nonce": 13, "gasLimit": "0xa738", "maxFeePerGas": "0x3f509676", @@ -2175,7 +2175,7 @@ "value": "0x8f", "accessList": [ { - "address": "Z4efD2cC4d144c522A33221C79d2154af3C43976e", + "address": "Q4efD2cC4d144c522A33221C79d2154af3C43976e", "storageKeys": [] } ], @@ -2192,7 +2192,7 @@ { "name": "random-86", "transaction": { - "to": "Zf5a539AaB57701a95d60e29F6743ffb6B85B3c10", + "to": "Qf5a539AaB57701a95d60e29F6743ffb6B85B3c10", "nonce": 370, "gasLimit": "0x45de63", "maxFeePerGas": "0x3a7ee3f1a271", @@ -2201,7 +2201,7 @@ "value": "0x80c31f", "accessList": [ { - "address": "Z7686321bB0cA6Be92Dd3141B8Fa55E763720cf41", + "address": "Q7686321bB0cA6Be92Dd3141B8Fa55E763720cf41", "storageKeys": [ "0xba3c3083c0d3ed74b0db8ec526727ffdc6e32a84bafe2b709c861d35f39cbd3c" ] @@ -2220,7 +2220,7 @@ { "name": "random-87", "transaction": { - "to": "Z438d2b3609CC8abE7b995bF1cf049583e8E6f593", + "to": "Q438d2b3609CC8abE7b995bF1cf049583e8E6f593", "nonce": 568, "gasLimit": "0xdd7404edd9", "maxFeePerGas": "0x440ae26b", @@ -2229,7 +2229,7 @@ "value": "0xb494d92d76", "accessList": [ { - "address": "Za79B83cd6f7271Df23726BF834747F26064eF2e6", + "address": "Qa79B83cd6f7271Df23726BF834747F26064eF2e6", "storageKeys": [] } ], @@ -2246,7 +2246,7 @@ { "name": "random-89", "transaction": { - "to": "Ze9245ea707d23326d211e9A21481F16CBc1577d5", + "to": "Qe9245ea707d23326d211e9A21481F16CBc1577d5", "nonce": 655, "gasLimit": "0xc95753e036", "maxFeePerGas": "0xd4d682c966ad", @@ -2255,7 +2255,7 @@ "value": "0x784b51db", "accessList": [ { - "address": "Z0D7379d9879dF8545034E0F3a04c9a8B5685c470", + "address": "Q0D7379d9879dF8545034E0F3a04c9a8B5685c470", "storageKeys": [ "0x9fbd0c94635f66de2183db6259f79af345603071ebd06f5275530690f2dd967a", "0x1dbc647cb094104688cc800c04a9f4ce356606469f7aaf0889a4ccd084925ccd", @@ -2263,7 +2263,7 @@ ] }, { - "address": "Z07c936c01804b467d098543215BE81115dE41555", + "address": "Q07c936c01804b467d098543215BE81115dE41555", "storageKeys": [ "0x9fbd0c94635f66de2183db6259f79af345603071ebd06f5275530690f2dd967a", "0x1dbc647cb094104688cc800c04a9f4ce356606469f7aaf0889a4ccd084925ccd", @@ -2284,7 +2284,7 @@ { "name": "random-92", "transaction": { - "to": "Z9843b8294222B557E29E6c5cC5f5Df02614c0d26", + "to": "Q9843b8294222B557E29E6c5cC5f5Df02614c0d26", "nonce": 146, "gasLimit": "0xbfb56a65", "maxFeePerGas": "0x985d56a8", @@ -2293,7 +2293,7 @@ "value": "0x72c6a7", "accessList": [ { - "address": "Za62597d755fbf70449378EE68a20c5A9868b638d", + "address": "Qa62597d755fbf70449378EE68a20c5A9868b638d", "storageKeys": [ "0xeecff36ca4a793303bfeb2f7666d3015f472177f92799c87fff30d28ad6e90ec", "0xf1036466716147ac2615ed333a1a592cf8784c6692de2d848e6aba67379e98f2", @@ -2302,7 +2302,7 @@ ] }, { - "address": "Za7Ba97561236A12Ae145CeB37e68e9B70032Ac24", + "address": "Qa7Ba97561236A12Ae145CeB37e68e9B70032Ac24", "storageKeys": [ "0xeecff36ca4a793303bfeb2f7666d3015f472177f92799c87fff30d28ad6e90ec", "0xf1036466716147ac2615ed333a1a592cf8784c6692de2d848e6aba67379e98f2", @@ -2311,7 +2311,7 @@ ] }, { - "address": "Z9E5cbFb2431afB1CE946dF03f001091261612DE5", + "address": "Q9E5cbFb2431afB1CE946dF03f001091261612DE5", "storageKeys": [ "0xeecff36ca4a793303bfeb2f7666d3015f472177f92799c87fff30d28ad6e90ec", "0xf1036466716147ac2615ed333a1a592cf8784c6692de2d848e6aba67379e98f2", @@ -2320,7 +2320,7 @@ ] }, { - "address": "Zee14B71526DEF4c5e602d7ae747dd9a6875C7714", + "address": "Qee14B71526DEF4c5e602d7ae747dd9a6875C7714", "storageKeys": [ "0xeecff36ca4a793303bfeb2f7666d3015f472177f92799c87fff30d28ad6e90ec", "0xf1036466716147ac2615ed333a1a592cf8784c6692de2d848e6aba67379e98f2", @@ -2342,7 +2342,7 @@ { "name": "random-95", "transaction": { - "to": "Z7FCf2593fb964D4bAeA7ffE87B3f412100DAC621", + "to": "Q7FCf2593fb964D4bAeA7ffE87B3f412100DAC621", "nonce": 423, "gasLimit": "0xf7cf0c5075", "maxFeePerGas": "0xa9ff5ad499bb", @@ -2363,7 +2363,7 @@ { "name": "random-99", "transaction": { - "to": "Z9f71e4c7FD19c4D5b29e886c54304468aC1d2F7c", + "to": "Q9f71e4c7FD19c4D5b29e886c54304468aC1d2F7c", "nonce": 441, "gasLimit": "0xe18b", "maxFeePerGas": "0x83b12a8e1860", @@ -2372,7 +2372,7 @@ "value": "0xdec4c4c466", "accessList": [ { - "address": "Zb3E549AeB64c243D88782e927d6764E8dEBD78A4", + "address": "Qb3E549AeB64c243D88782e927d6764E8dEBD78A4", "storageKeys": [ "0x4891561ee7a491b1762774c7ed021932602719f6897461f4f631759e8e737700", "0x697afd06f621b7f4a36588735cd00df8e4ffacbbe4b650bea69ce4e831b10fa0", @@ -2380,7 +2380,7 @@ ] }, { - "address": "Z86562A635B72301Ad01B3AE2800254e67c6f0b11", + "address": "Q86562A635B72301Ad01B3AE2800254e67c6f0b11", "storageKeys": [ "0x4891561ee7a491b1762774c7ed021932602719f6897461f4f631759e8e737700", "0x697afd06f621b7f4a36588735cd00df8e4ffacbbe4b650bea69ce4e831b10fa0", @@ -2388,7 +2388,7 @@ ] }, { - "address": "Z11Dc99a2F61C8e4391f3F23658E81ae4Aa4C1aCD", + "address": "Q11Dc99a2F61C8e4391f3F23658E81ae4Aa4C1aCD", "storageKeys": [ "0x4891561ee7a491b1762774c7ed021932602719f6897461f4f631759e8e737700", "0x697afd06f621b7f4a36588735cd00df8e4ffacbbe4b650bea69ce4e831b10fa0", @@ -2409,7 +2409,7 @@ { "name": "random-101", "transaction": { - "to": "Z266Cc277694E42AeD00e176912b316d8a91aD200", + "to": "Q266Cc277694E42AeD00e176912b316d8a91aD200", "nonce": 38, "gasLimit": "0xabd316d639", "maxFeePerGas": "0x9c8c9e7256", @@ -2418,19 +2418,19 @@ "value": "0x8420", "accessList": [ { - "address": "Z0Ab340b68F32b8d15469BB5A8cDDeB0167cD8430", + "address": "Q0Ab340b68F32b8d15469BB5A8cDDeB0167cD8430", "storageKeys": [] }, { - "address": "Z2a4e426eb67e11405ab05AAC13b295828323E287", + "address": "Q2a4e426eb67e11405ab05AAC13b295828323E287", "storageKeys": [] }, { - "address": "Zc95DF22A50869d5dd7cEf85456f8009EB577a667", + "address": "Qc95DF22A50869d5dd7cEf85456f8009EB577a667", "storageKeys": [] }, { - "address": "ZFEc8439a686E117fC007519326C10D2E9E55D870", + "address": "QFEc8439a686E117fC007519326C10D2E9E55D870", "storageKeys": [] } ], @@ -2447,7 +2447,7 @@ { "name": "random-103", "transaction": { - "to": "Z32838632F7848fBa09DcCbBbfc4dD0d0fc1a21ae", + "to": "Q32838632F7848fBa09DcCbBbfc4dD0d0fc1a21ae", "nonce": 334, "gasLimit": "0xb6aa8d247a", "maxFeePerGas": "0x9bfd9f5335", @@ -2468,7 +2468,7 @@ { "name": "random-108", "transaction": { - "to": "Zabe72878a51e28AbaFcAa14ac99bDB97B2e4D170", + "to": "Qabe72878a51e28AbaFcAa14ac99bDB97B2e4D170", "nonce": 480, "gasLimit": "0x891f", "maxFeePerGas": "0x1f96cabb630b77", @@ -2477,7 +2477,7 @@ "value": "0xfb", "accessList": [ { - "address": "ZB93b1cFDd998346a406f9C5631eeA082f8DDe274", + "address": "QB93b1cFDd998346a406f9C5631eeA082f8DDe274", "storageKeys": [ "0x08af322c4e39cff34a1319599a15d75f12aef677e43bdaa89783ee4572178e3b", "0xf2a74ec9c790bad178bb9bd5ff86e47b56b27505902cc94b3d6329a1ed9f3e8f", @@ -2498,7 +2498,7 @@ { "name": "random-109", "transaction": { - "to": "Z6d5Ae1C06aFDAD46BBB50f3ad16E7747388dCa09", + "to": "Q6d5Ae1C06aFDAD46BBB50f3ad16E7747388dCa09", "nonce": 385, "gasLimit": "0x3c8b1604", "maxFeePerGas": "0xd01e3d18", @@ -2507,7 +2507,7 @@ "value": "0xc4efe6de17", "accessList": [ { - "address": "Z40190a254747d0c0157B7510dcc9568AB212e0b7", + "address": "Q40190a254747d0c0157B7510dcc9568AB212e0b7", "storageKeys": [ "0x73eb550e5587bcf8737d49f18648d069dbeb0a88bd48c4806a0bd22d07fe7ee7", "0xf03096ae61f1904e98da0af5b3624ecb8b9758006fd1e1f04431d5d9d1f3e8de", @@ -2516,7 +2516,7 @@ ] }, { - "address": "Z515B29FEfF4Aba799B1a26b4Ef10884A7B44df8D", + "address": "Q515B29FEfF4Aba799B1a26b4Ef10884A7B44df8D", "storageKeys": [ "0x73eb550e5587bcf8737d49f18648d069dbeb0a88bd48c4806a0bd22d07fe7ee7", "0xf03096ae61f1904e98da0af5b3624ecb8b9758006fd1e1f04431d5d9d1f3e8de", @@ -2538,7 +2538,7 @@ { "name": "random-110", "transaction": { - "to": "ZCDfF444EB48A465c6021e011BAfAd0310066ac09", + "to": "QCDfF444EB48A465c6021e011BAfAd0310066ac09", "nonce": 672, "gasLimit": "0x90fbe11597", "maxFeePerGas": "0x10ca0474270fb7", @@ -2547,19 +2547,19 @@ "value": "0x9df1f1bf", "accessList": [ { - "address": "Z7E414511c1f33E767Cf826b6E1028DE7aDFeD4FC", + "address": "Q7E414511c1f33E767Cf826b6E1028DE7aDFeD4FC", "storageKeys": [] }, { - "address": "Zd0d08305D67aBbDD3B2fd4f51cbE3fc0fB19429C", + "address": "Qd0d08305D67aBbDD3B2fd4f51cbE3fc0fB19429C", "storageKeys": [] }, { - "address": "Z078117171875de96a1F41B79C9aF58bEC8B31385", + "address": "Q078117171875de96a1F41B79C9aF58bEC8B31385", "storageKeys": [] }, { - "address": "ZeCf4c6F1418A351adD6fabFeABfA2014583520E4", + "address": "QeCf4c6F1418A351adD6fabFeABfA2014583520E4", "storageKeys": [] } ], @@ -2576,7 +2576,7 @@ { "name": "random-111", "transaction": { - "to": "Z617965D6808bd4BaD380e3eCa6A0fa4B22c6Ee1b", + "to": "Q617965D6808bd4BaD380e3eCa6A0fa4B22c6Ee1b", "nonce": 313, "gasLimit": "0x15e86701", "maxFeePerGas": "0xeb80b568c33885", @@ -2597,7 +2597,7 @@ { "name": "random-112", "transaction": { - "to": "Z1E5Bddb820F1AA68115E620695ec590344e54665", + "to": "Q1E5Bddb820F1AA68115E620695ec590344e54665", "nonce": 131, "gasLimit": "0x35856c60", "maxFeePerGas": "0xa9d43adae7", @@ -2618,7 +2618,7 @@ { "name": "random-114", "transaction": { - "to": "ZC1803F91d08af3Fd5D7534F11c6f29476eF6c730", + "to": "QC1803F91d08af3Fd5D7534F11c6f29476eF6c730", "nonce": 179, "gasLimit": "0x5cdb7e40", "maxFeePerGas": "0xd9b05ef7", @@ -2627,7 +2627,7 @@ "value": "0x9dd6d4", "accessList": [ { - "address": "Z9e3903c19B7D37766AE856D49D18d3d9012D313a", + "address": "Q9e3903c19B7D37766AE856D49D18d3d9012D313a", "storageKeys": [ "0x338f2e2f812a703007e9b0efd6b563e140f758ee6339392fbd707f0e31c2d906" ] @@ -2646,7 +2646,7 @@ { "name": "random-115", "transaction": { - "to": "ZF4E39EE71c0047c70e39802a5C647e1C3D19F6fe", + "to": "QF4E39EE71c0047c70e39802a5C647e1C3D19F6fe", "nonce": 675, "gasLimit": "0x2364a952", "maxFeePerGas": "0x69bfa185da", @@ -2667,7 +2667,7 @@ { "name": "random-116", "transaction": { - "to": "Zc51adFA4d4ce845349870b816fFA1153a0D0D74A", + "to": "Qc51adFA4d4ce845349870b816fFA1153a0D0D74A", "nonce": 311, "gasLimit": "0x3a536acba8", "maxFeePerGas": "0xa8185361b4", @@ -2676,25 +2676,25 @@ "value": "0xc17b", "accessList": [ { - "address": "Z7666B14Ff056f859623D70b9C3d3590Df445CD2a", + "address": "Q7666B14Ff056f859623D70b9C3d3590Df445CD2a", "storageKeys": [ "0xd46d42eefa6aa7583582ad890407c9a7db193b4a23423edabd2ca74f7bff562e" ] }, { - "address": "Z809FF3fd39d14633Ed606Db74AA08d1dA2D00B53", + "address": "Q809FF3fd39d14633Ed606Db74AA08d1dA2D00B53", "storageKeys": [ "0xd46d42eefa6aa7583582ad890407c9a7db193b4a23423edabd2ca74f7bff562e" ] }, { - "address": "Z5738481C5D2E74F9C0CB268De05d11dc06945110", + "address": "Q5738481C5D2E74F9C0CB268De05d11dc06945110", "storageKeys": [ "0xd46d42eefa6aa7583582ad890407c9a7db193b4a23423edabd2ca74f7bff562e" ] }, { - "address": "ZDC2331d4D36e6625c582a213F159Fd3785E81A1a", + "address": "QDC2331d4D36e6625c582a213F159Fd3785E81A1a", "storageKeys": [ "0xd46d42eefa6aa7583582ad890407c9a7db193b4a23423edabd2ca74f7bff562e" ] @@ -2713,7 +2713,7 @@ { "name": "random-118", "transaction": { - "to": "Z281B936F3d59e957c3EA922E37a95c73332e5b96", + "to": "Q281B936F3d59e957c3EA922E37a95c73332e5b96", "nonce": 600, "gasLimit": "0xf1794e37ae", "maxFeePerGas": "0x2d25e687116261", @@ -2722,7 +2722,7 @@ "value": "0x8b", "accessList": [ { - "address": "Z760D8945682bf8c342ede429A9f25ab89C72e13a", + "address": "Q760D8945682bf8c342ede429A9f25ab89C72e13a", "storageKeys": [ "0x6d9b97b43e7aed946139aecc1c7b84a373fdaee6c1e13ff563a28fb7c2765582", "0x7968665c76c6c5bede5966f35feb84c225c636d193fd8a5426ca88b11ec1471d", @@ -2730,7 +2730,7 @@ ] }, { - "address": "Z75f5D5E7fA1F1c543E039f87ea335A7Ae83aaFD9", + "address": "Q75f5D5E7fA1F1c543E039f87ea335A7Ae83aaFD9", "storageKeys": [ "0x6d9b97b43e7aed946139aecc1c7b84a373fdaee6c1e13ff563a28fb7c2765582", "0x7968665c76c6c5bede5966f35feb84c225c636d193fd8a5426ca88b11ec1471d", @@ -2751,7 +2751,7 @@ { "name": "random-119", "transaction": { - "to": "Z8B84e80340de4a3955151ff288F23D13c832B4C0", + "to": "Q8B84e80340de4a3955151ff288F23D13c832B4C0", "nonce": 227, "gasLimit": "0xd55f", "maxFeePerGas": "0x3cd477caa236a9", @@ -2760,7 +2760,7 @@ "value": "0xe4b74643f6", "accessList": [ { - "address": "Za9dD79F179cB4b7F2daED039bA84cb965d2cd1F0", + "address": "Qa9dD79F179cB4b7F2daED039bA84cb965d2cd1F0", "storageKeys": [ "0x97da5aa3419b1d5830e2bc5ddfa29e585ffec28eba8cdd8454e8a263553157bd", "0xca7dde1812980486a5d9f4369c0217f370dcbd5580c2d5e29455d1f4579a265f", @@ -2769,7 +2769,7 @@ ] }, { - "address": "Z2dFC27050a7a53F0CB9Cf2ca5d6A1DA625365190", + "address": "Q2dFC27050a7a53F0CB9Cf2ca5d6A1DA625365190", "storageKeys": [ "0x97da5aa3419b1d5830e2bc5ddfa29e585ffec28eba8cdd8454e8a263553157bd", "0xca7dde1812980486a5d9f4369c0217f370dcbd5580c2d5e29455d1f4579a265f", @@ -2791,7 +2791,7 @@ { "name": "random-121", "transaction": { - "to": "Z6c4C6E45F345188ccC31DD88902F3011A8b6B70C", + "to": "Q6c4C6E45F345188ccC31DD88902F3011A8b6B70C", "nonce": 4, "gasLimit": "0xd283b1aa91", "maxFeePerGas": "0x29df1081", @@ -2800,28 +2800,28 @@ "value": "0xf1", "accessList": [ { - "address": "Z9555dd9b86149C029e09EbAEea77b2fC0E747660", + "address": "Q9555dd9b86149C029e09EbAEea77b2fC0E747660", "storageKeys": [ "0x76a6cfa747fd225ff39be058e74a7ded9af856100b560c7134a71db1072188c8", "0x34cce4732a6cd97a50f061077c007ac06af2c53d2397db1655418f361a5bfceb" ] }, { - "address": "Z6A53d3c2edEF29BAc6083b24B52606AdfdBb87a1", + "address": "Q6A53d3c2edEF29BAc6083b24B52606AdfdBb87a1", "storageKeys": [ "0x76a6cfa747fd225ff39be058e74a7ded9af856100b560c7134a71db1072188c8", "0x34cce4732a6cd97a50f061077c007ac06af2c53d2397db1655418f361a5bfceb" ] }, { - "address": "Z0A3EF36c5c01aaCe09Be3eF3E664a5e961F9147E", + "address": "Q0A3EF36c5c01aaCe09Be3eF3E664a5e961F9147E", "storageKeys": [ "0x76a6cfa747fd225ff39be058e74a7ded9af856100b560c7134a71db1072188c8", "0x34cce4732a6cd97a50f061077c007ac06af2c53d2397db1655418f361a5bfceb" ] }, { - "address": "ZeA37493E3834073CC4f030a17D9e0b752994b21D", + "address": "QeA37493E3834073CC4f030a17D9e0b752994b21D", "storageKeys": [ "0x76a6cfa747fd225ff39be058e74a7ded9af856100b560c7134a71db1072188c8", "0x34cce4732a6cd97a50f061077c007ac06af2c53d2397db1655418f361a5bfceb" @@ -2841,7 +2841,7 @@ { "name": "random-122", "transaction": { - "to": "ZA73a0e91A0D9399Ef30b3B187e39aB2A28CBC5A2", + "to": "QA73a0e91A0D9399Ef30b3B187e39aB2A28CBC5A2", "nonce": 416, "gasLimit": "0x8114", "maxFeePerGas": "0xc2522180dd0a", @@ -2862,7 +2862,7 @@ { "name": "random-123", "transaction": { - "to": "Z9A1dE66d73edd6bf4dA00706FC62009eA2887a82", + "to": "Q9A1dE66d73edd6bf4dA00706FC62009eA2887a82", "nonce": 630, "gasLimit": "0x0be3df34", "maxFeePerGas": "0xd65073437d2d5c", @@ -2871,7 +2871,7 @@ "value": "0x036154a5", "accessList": [ { - "address": "Z12e2Eb6DCb47C31ae6C2B0af06eE8eeDcd60BC19", + "address": "Q12e2Eb6DCb47C31ae6C2B0af06eE8eeDcd60BC19", "storageKeys": [ "0x0d28f683a8b540bae49488db6a5facbb94daca4bf5a6b585a6641ade2a60b25f", "0x6f5a8e8104b542b54214764e66af6fb9e64197fbfffeb79e710b1786fad0adcd", @@ -2879,7 +2879,7 @@ ] }, { - "address": "Z7F1D0e802b100708c45e0b5563c863454788C896", + "address": "Q7F1D0e802b100708c45e0b5563c863454788C896", "storageKeys": [ "0x0d28f683a8b540bae49488db6a5facbb94daca4bf5a6b585a6641ade2a60b25f", "0x6f5a8e8104b542b54214764e66af6fb9e64197fbfffeb79e710b1786fad0adcd", @@ -2887,7 +2887,7 @@ ] }, { - "address": "Z53EFc66D1A86FA1eCA0b0076e7f00ab97135029C", + "address": "Q53EFc66D1A86FA1eCA0b0076e7f00ab97135029C", "storageKeys": [ "0x0d28f683a8b540bae49488db6a5facbb94daca4bf5a6b585a6641ade2a60b25f", "0x6f5a8e8104b542b54214764e66af6fb9e64197fbfffeb79e710b1786fad0adcd", @@ -2895,7 +2895,7 @@ ] }, { - "address": "Z212Fa5665990D424e21a1E6201FdD22cdE697B5d", + "address": "Q212Fa5665990D424e21a1E6201FdD22cdE697B5d", "storageKeys": [ "0x0d28f683a8b540bae49488db6a5facbb94daca4bf5a6b585a6641ade2a60b25f", "0x6f5a8e8104b542b54214764e66af6fb9e64197fbfffeb79e710b1786fad0adcd", @@ -2916,7 +2916,7 @@ { "name": "random-126", "transaction": { - "to": "Z6D1474B69F191290ee87b7241509865DBfD65028", + "to": "Q6D1474B69F191290ee87b7241509865DBfD65028", "nonce": 999, "gasLimit": "0x41f3afcb82", "maxFeePerGas": "0x5d34697dc6", @@ -2925,7 +2925,7 @@ "value": "0x25", "accessList": [ { - "address": "Z97103eAD47f549Ccc2c01a98071ADaF61dF7b54f", + "address": "Q97103eAD47f549Ccc2c01a98071ADaF61dF7b54f", "storageKeys": [ "0x20dadcf9996b63587cb52c1c1c757ca7e8e302bb125a1f76f3a6d46e00d2c478", "0xc7277aca05b03c06ae3649e4c75b94c2c532f0f1889c0ee7d477f6df2fe3cbc0", @@ -2934,7 +2934,7 @@ ] }, { - "address": "Z6d483D9c7072203369522074C55383C4Bceb24d3", + "address": "Q6d483D9c7072203369522074C55383C4Bceb24d3", "storageKeys": [ "0x20dadcf9996b63587cb52c1c1c757ca7e8e302bb125a1f76f3a6d46e00d2c478", "0xc7277aca05b03c06ae3649e4c75b94c2c532f0f1889c0ee7d477f6df2fe3cbc0", @@ -2956,7 +2956,7 @@ { "name": "random-127", "transaction": { - "to": "Z62cd925478862D00220C8B25825E8F88c234D33e", + "to": "Q62cd925478862D00220C8B25825E8F88c234D33e", "nonce": 9, "gasLimit": "0x4aa2ba", "maxFeePerGas": "0xcb4b125c81402b", @@ -2965,7 +2965,7 @@ "value": "0x6acf13702d", "accessList": [ { - "address": "Z92e6912e4f3BDAe4E15c968065966fC4c6Ed0Ac6", + "address": "Q92e6912e4f3BDAe4E15c968065966fC4c6Ed0Ac6", "storageKeys": [ "0xaf16d981a974e26ca941fdd7a8fe8bfed7614a3a7ce12d949025684e32ab78ab", "0x621caa0c219b81e0367f33c3face28f7ca0f98f42a3aad3f532de0a9f45f1a48", @@ -2973,7 +2973,7 @@ ] }, { - "address": "ZDB44867f5318a94AF0a679178A61d20d3257294d", + "address": "QDB44867f5318a94AF0a679178A61d20d3257294d", "storageKeys": [ "0xaf16d981a974e26ca941fdd7a8fe8bfed7614a3a7ce12d949025684e32ab78ab", "0x621caa0c219b81e0367f33c3face28f7ca0f98f42a3aad3f532de0a9f45f1a48", @@ -2981,7 +2981,7 @@ ] }, { - "address": "Z8a17f9B4CE04AbAab4a50174C4CCd4EE01922261", + "address": "Q8a17f9B4CE04AbAab4a50174C4CCd4EE01922261", "storageKeys": [ "0xaf16d981a974e26ca941fdd7a8fe8bfed7614a3a7ce12d949025684e32ab78ab", "0x621caa0c219b81e0367f33c3face28f7ca0f98f42a3aad3f532de0a9f45f1a48", @@ -2989,7 +2989,7 @@ ] }, { - "address": "Z9339B8c51E00c3B6d9ee93B4514eC4090F08cdE2", + "address": "Q9339B8c51E00c3B6d9ee93B4514eC4090F08cdE2", "storageKeys": [ "0xaf16d981a974e26ca941fdd7a8fe8bfed7614a3a7ce12d949025684e32ab78ab", "0x621caa0c219b81e0367f33c3face28f7ca0f98f42a3aad3f532de0a9f45f1a48", @@ -3010,7 +3010,7 @@ { "name": "masked-1110110001", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3028,7 +3028,7 @@ { "name": "masked-1110111001", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3047,7 +3047,7 @@ { "name": "masked-1110110101", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3066,7 +3066,7 @@ { "name": "masked-1110111101", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3086,14 +3086,14 @@ { "name": "masked-1110110011", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", "maxPriorityFeePerGas": "0x180c3ca0", "accessList": [ { - "address": "Zd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", + "address": "Qd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", "storageKeys": [ "0x490abded7314f322ca7f5be6de4f88932795db0a5efaa9f341bbc92b0c7550a0", "0x9fad3dc0d449aba9f76ca580b484b8c887df8d6a4db1f657e6d3d93c7cef6018", @@ -3114,7 +3114,7 @@ { "name": "masked-1110111011", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3122,7 +3122,7 @@ "data": "0x14a75dcfbe3b2ad41355d1768c038967219cf7189782e8dd20d61d4724136c705fe64ad7f34ba7ebc7bca0b325804461d4dd4d091cb40aa83431efad17159d8995b2392891ec41129a8fa2fa9cd1552ac1fcf86f55391c9500acce27a972ed381df53aaffa8de478f5d905cc37a26a3632a7d3416facaa93aba359d895500b78", "accessList": [ { - "address": "Zd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", + "address": "Qd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", "storageKeys": [ "0x490abded7314f322ca7f5be6de4f88932795db0a5efaa9f341bbc92b0c7550a0", "0x9fad3dc0d449aba9f76ca580b484b8c887df8d6a4db1f657e6d3d93c7cef6018", @@ -3143,7 +3143,7 @@ { "name": "masked-1110110111", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3151,7 +3151,7 @@ "value": "0xe53c2b", "accessList": [ { - "address": "Zd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", + "address": "Qd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", "storageKeys": [ "0x490abded7314f322ca7f5be6de4f88932795db0a5efaa9f341bbc92b0c7550a0", "0x9fad3dc0d449aba9f76ca580b484b8c887df8d6a4db1f657e6d3d93c7cef6018", @@ -3172,7 +3172,7 @@ { "name": "masked-1110111111", "transaction": { - "to": "Z8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", + "to": "Q8f3e9c1Bd65EB267d19B176A73217524DC21A5ca", "nonce": 951, "gasLimit": "0x67b8bf", "maxFeePerGas": "0xacd3ccc06a", @@ -3181,7 +3181,7 @@ "value": "0xe53c2b", "accessList": [ { - "address": "Zd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", + "address": "Qd25d95a6D3bbD713a24d5130536Bb29d1969f1CD", "storageKeys": [ "0x490abded7314f322ca7f5be6de4f88932795db0a5efaa9f341bbc92b0c7550a0", "0x9fad3dc0d449aba9f76ca580b484b8c887df8d6a4db1f657e6d3d93c7cef6018", diff --git a/packages/web3/test/fixtures/transactions.json b/packages/web3/test/fixtures/transactions.json index e5ba6d8d..68a7a8ea 100644 --- a/packages/web3/test/fixtures/transactions.json +++ b/packages/web3/test/fixtures/transactions.json @@ -2,7 +2,7 @@ { "name": "random-2", "transaction": { - "to": "ZD0F118AFa9C2c9cc50F10d94cCC1cbDda2758b36", + "to": "QD0F118AFa9C2c9cc50F10d94cCC1cbDda2758b36", "nonce": 15, "gasLimit": "0x331bce0f90", "maxFeePerGas": "0x58e8d1dda1", @@ -11,7 +11,7 @@ "value": "0x91e32e2f5a", "accessList": [ { - "address": "Z032f5546f1B932555cB43e2b16C844d118078430", + "address": "Q032f5546f1B932555cB43e2b16C844d118078430", "storageKeys": [] } ], diff --git a/packages/web3/test/integration/external-providers/helper.ts b/packages/web3/test/integration/external-providers/helper.ts index a20b882d..eef37cba 100644 --- a/packages/web3/test/integration/external-providers/helper.ts +++ b/packages/web3/test/integration/external-providers/helper.ts @@ -19,29 +19,29 @@ import { SupportedProviders } from '@theqrl/web3-types'; import Web3 from '../../../src/index'; /** - * Performs basic RPC calls (like `zond_accounts`, `zond_blockNumber` and `zond_sendTransaction`) + * Performs basic RPC calls (like `qrl_accounts`, `qrl_blockNumber` and `qrl_sendTransaction`) * @param provider - an instance of a compatible provider */ export async function performBasicRpcCalls(provider: SupportedProviders) { const web3 = new Web3(provider); - const accounts = await web3.zond.getAccounts(); + const accounts = await web3.qrl.getAccounts(); expect(accounts).toBeDefined(); expect(accounts.length).toBeGreaterThan(0); // get the last block number - const blockNumber0 = await web3.zond.getBlockNumber(); + const blockNumber0 = await web3.qrl.getBlockNumber(); expect(typeof blockNumber0).toBe('bigint'); // send a transaction - const tx = await web3.zond.sendTransaction({ + const tx = await web3.qrl.sendTransaction({ to: accounts[1], from: accounts[0], value: '1', }); expect(tx.status).toBe(BigInt(1)); - const blockNumber1 = await web3.zond.getBlockNumber(); + const blockNumber1 = await web3.qrl.getBlockNumber(); expect(typeof blockNumber1).toBe('bigint'); // After sending a transaction, the blocknumber is supposed to be greater than or equal the block number before sending the transaction diff --git a/packages/web3/test/integration/handle_revert.test.ts b/packages/web3/test/integration/handle_revert.test.ts index 8db0d526..e987c2f2 100644 --- a/packages/web3/test/integration/handle_revert.test.ts +++ b/packages/web3/test/integration/handle_revert.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { TransactionRevertInstructionError } from '@theqrl/web3-errors'; -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; import WebSocketProvider from '@theqrl/web3-providers-ws'; import Web3 from '../../src/index'; import { BasicAbi, BasicBytecode } from '../shared_fixtures/build/Basic'; @@ -29,7 +29,7 @@ import { Error.stackTraceLimit = Infinity; -describe('zond', () => { +describe('qrl', () => { let web3: Web3; let accounts: string[] = []; let clientUrl: string; @@ -57,7 +57,7 @@ describe('zond', () => { } if (isWs) { - contract = new web3.zond.Contract(BasicAbi, undefined, { + contract = new web3.qrl.Contract(BasicAbi, undefined, { provider: new WebSocketProvider( clientUrl, {}, @@ -65,7 +65,7 @@ describe('zond', () => { ), }); } else { - contract = new web3.zond.Contract(BasicAbi, undefined, { + contract = new web3.qrl.Contract(BasicAbi, undefined, { provider: clientUrl, }); } @@ -85,7 +85,7 @@ describe('zond', () => { }); describe('handleRevert', () => { - // todo enable when figure out what happening in zond_call (doesn't throw error) + // todo enable when figure out what happening in qrl_call (doesn't throw error) // eslint-disable-next-line jest/expect-expect it('should get revert reason', async () => { contract.handleRevert = true; @@ -96,10 +96,10 @@ describe('zond', () => { ); }); - it('should get revert reason for zond tx', async () => { - web3.zond.handleRevert = true; + it('should get revert reason for qrl tx', async () => { + web3.qrl.handleRevert = true; await expect( - web3.zond.sendTransaction({ + web3.qrl.sendTransaction({ from: accounts[0], gas: '0x3d0900', maxFeePerGas: '0x3B9ACBF4', @@ -120,9 +120,9 @@ describe('zond', () => { }); it('should execute transaction', async () => { - web3.zond.handleRevert = true; + web3.qrl.handleRevert = true; await expect( - web3.zond.sendTransaction({ + web3.qrl.sendTransaction({ from: accounts[0], to: accounts[1], gas: '0x76c0', diff --git a/packages/web3/test/integration/ipc.test.ts b/packages/web3/test/integration/ipc.test.ts index 8edc5f42..abc21d82 100644 --- a/packages/web3/test/integration/ipc.test.ts +++ b/packages/web3/test/integration/ipc.test.ts @@ -23,10 +23,10 @@ import { closeOpenConnection, waitForSocketConnect, } from '../shared_fixtures/system_tests_utils'; -import Web3, { ZondExecutionAPI, SupportedProviders } from '../../src/index'; +import Web3, { QRLExecutionAPI, SupportedProviders } from '../../src/index'; describe('Web3 instance', () => { - let provider: SupportedProviders | string; + let provider: SupportedProviders | string; let web3: Web3; beforeAll(() => { diff --git a/packages/web3/test/integration/sync.test.ts b/packages/web3/test/integration/sync.test.ts index 83f25dbc..322e27ef 100644 --- a/packages/web3/test/integration/sync.test.ts +++ b/packages/web3/test/integration/sync.test.ts @@ -25,16 +25,16 @@ import { isWs, } from '../shared_fixtures/system_tests_utils'; -const addPeer = async (web3: Web3, eNode: string) => { +const addPeer = async (web3: Web3, qNode: string) => { return web3.requestManager.send({ method: 'admin_addPeer', - params: [eNode], + params: [qNode], }); }; -const removePeer = async (web3: Web3, eNode: string) => { +const removePeer = async (web3: Web3, qNode: string) => { return web3.requestManager.send({ method: 'admin_removePeer', - params: [eNode], + params: [qNode], }); }; const nodeInfo = async (web3: Web3) => { @@ -66,7 +66,7 @@ describe.skip('Sync nodes test', () => { describe('Start/end syncing', () => { it('should emit start syncing and end syncing events', async () => { - const subs = await web3Node2.zond.subscribe('syncing'); + const subs = await web3Node2.qrl.subscribe('syncing'); const dataPromise = new Promise(resolve => { subs.on('data', resolve); }); @@ -75,7 +75,7 @@ describe.skip('Sync nodes test', () => { }); // await minerStart(web3Node1, 0); const node1Info = await nodeInfo(web3Node1); - await addPeer(web3Node2, node1Info.enode); + await addPeer(web3Node2, node1Info.qnode); // await minerStart(web3Node1, 1); expect(await syncStartPromise).toBe(true); @@ -84,7 +84,7 @@ describe.skip('Sync nodes test', () => { subs.on('changed', resolve); }); expect(await syncEndPromise).toBe(false); - await removePeer(web3Node2, node1Info.enode); + await removePeer(web3Node2, node1Info.qnode); }); }); }); diff --git a/packages/web3/test/integration/web3.abi.test.ts b/packages/web3/test/integration/web3.abi.test.ts index 39c0793a..2e7e30c8 100644 --- a/packages/web3/test/integration/web3.abi.test.ts +++ b/packages/web3/test/integration/web3.abi.test.ts @@ -41,7 +41,7 @@ describe('web3.abi', () => { it('hash correctly', () => { const validData = validEncodeParametersData[0]; - const encodedParameters = web3.zond.abi.encodeParameters( + const encodedParameters = web3.qrl.abi.encodeParameters( validData.input[0], validData.input[1], ); diff --git a/packages/web3/test/integration/web3.accounts.test.ts b/packages/web3/test/integration/web3.accounts.test.ts index 178415dd..96143841 100644 --- a/packages/web3/test/integration/web3.accounts.test.ts +++ b/packages/web3/test/integration/web3.accounts.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import { getSystemTestProvider, createNewAccount, @@ -26,7 +26,7 @@ import { import Web3, { SupportedProviders } from '../../src/index'; const hexRegx = /0[xX][0-9a-fA-F]+/; -const addressRegx = /Z[0-9a-fA-F]{40}/; +const addressRegx = /Q[0-9a-fA-F]{40}/; describe('web3.accounts', () => { let clientUrl: string | SupportedProviders; @@ -48,7 +48,7 @@ describe('web3.accounts', () => { describe('create', () => { it('should create account', () => { - const account: Web3Account = web3.zond.accounts.create(); + const account: Web3Account = web3.qrl.accounts.create(); expect(account).toEqual( expect.objectContaining({ @@ -60,23 +60,23 @@ describe('web3.accounts', () => { describe('signTransaction', () => { it('should be able to sign the transaction from created account', async () => { - const account: Web3Account = web3.zond.accounts.create(); + const account: Web3Account = web3.qrl.accounts.create(); const tx = { from: account.address, to: tempAccount, - value: web3.utils.toPlanck('0.00001', 'zond'), + value: web3.utils.toPlanck('0.00001', 'quanta'), gas: '0x5218', data: '0x1', maxFeePerGas: '0x19475bd7f8', maxPriorityFeePerGas: '0x5eae5feec', }; - // Fund this account with some zond + // Fund this account with some quanta await expect( - web3.zond.sendTransaction({ + web3.qrl.sendTransaction({ from: tempAccount, to: account.address, - value: web3.utils.toPlanck('2', 'zond'), + value: web3.utils.toPlanck('2', 'quanta'), }), ).resolves.toBeDefined(); @@ -97,19 +97,19 @@ describe('web3.accounts', () => { // The signed transaction is accepted by the node await expect( - web3.zond.sendSignedTransaction(signedTx.rawTransaction), + web3.qrl.sendSignedTransaction(signedTx.rawTransaction), ).resolves.toEqual( expect.objectContaining({ transactionHash: signedTx.transactionHash }), ); }); it('should throw error if gas is to low', async () => { - const account: Web3Account = web3.zond.accounts.create(); + const account: Web3Account = web3.qrl.accounts.create(); const tx = { from: account.address, to: tempAccount, - value: web3.utils.toPlanck('0.1', 'zond'), + value: web3.utils.toPlanck('0.1', 'quanta'), gas: '0x1', data: '0x1', maxFeePerGas: '0x19475bd7f8', @@ -122,12 +122,12 @@ describe('web3.accounts', () => { // TODO This test should fail, but it's not. Need to debug further to figure out why. // eslint-disable-next-line jest/no-disabled-tests it.skip('should throw error if signed by private key not associated with "from" field', async () => { - const account: Web3Account = web3.zond.accounts.create(); + const account: Web3Account = web3.qrl.accounts.create(); const tx = { from: tempAccount, to: account.address, - value: web3.utils.toPlanck('0.1', 'zond'), + value: web3.utils.toPlanck('0.1', 'quanta'), gas: '0x1', data: '0x1', }; @@ -139,29 +139,29 @@ describe('web3.accounts', () => { describe('signTransaction', () => { it('should be able to sign the transaction from created account', async () => { - const account: Web3Account = web3.zond.accounts.create(); + const account: Web3Account = web3.qrl.accounts.create(); const tx = { from: account.address, to: tempAccount, - value: web3.utils.toPlanck('0.1', 'zond'), + value: web3.utils.toPlanck('0.1', 'quanta'), gas: '0x5218', data: '0x1', maxFeePerGas: '0x19475bd7f8', maxPriorityFeePerGas: '0x5eae5feec', }; - // Fund this account with some zond + // Fund this account with some quanta await expect( - web3.zond.sendTransaction({ + web3.qrl.sendTransaction({ from: tempAccount, to: account.address, - value: web3.utils.toPlanck('0.5', 'zond'), + value: web3.utils.toPlanck('0.5', 'quanta'), }), ).resolves.toBeDefined(); // Sign the tx from that account - const signedTx = await web3.zond.accounts.signTransaction(tx, account.seed); + const signedTx = await web3.qrl.accounts.signTransaction(tx, account.seed); expect(signedTx).toEqual( expect.objectContaining({ @@ -173,25 +173,25 @@ describe('web3.accounts', () => { ); // The signed transaction is accepted by the node - await expect(web3.zond.sendSignedTransaction(signedTx.rawTransaction)).resolves.toEqual( + await expect(web3.qrl.sendSignedTransaction(signedTx.rawTransaction)).resolves.toEqual( expect.objectContaining({ transactionHash: signedTx.transactionHash }), ); }); it('should throw error if gas is to low', async () => { - const account: Web3Account = web3.zond.accounts.create(); + const account: Web3Account = web3.qrl.accounts.create(); const tx = { from: account.address, to: tempAccount, - value: web3.utils.toPlanck('0.1', 'zond'), + value: web3.utils.toPlanck('0.1', 'quanta'), gas: '0x1', data: '0x1', maxFeePerGas: '0x19475bd7f8', maxPriorityFeePerGas: '0x5eae5feec', }; - await expect(web3.zond.accounts.signTransaction(tx, account.seed)).rejects.toThrow( + await expect(web3.qrl.accounts.signTransaction(tx, account.seed)).rejects.toThrow( 'gasLimit is too low.', ); }); @@ -200,7 +200,7 @@ describe('web3.accounts', () => { describe('seedToAccount', () => { it('should create account from seed', async () => { const acc = await createNewAccount(); - const createdAccount: Web3Account = web3.zond.accounts.seedToAccount(acc.seed); + const createdAccount: Web3Account = web3.qrl.accounts.seedToAccount(acc.seed); expect(acc.address.toLowerCase()).toBe(createdAccount.address.toLowerCase()); }); }); diff --git a/packages/web3/test/integration/web3.zond.transaction.test.ts b/packages/web3/test/integration/web3.qrl.transaction.test.ts similarity index 86% rename from packages/web3/test/integration/web3.zond.transaction.test.ts rename to packages/web3/test/integration/web3.qrl.transaction.test.ts index 37a3e6ba..a5b83065 100644 --- a/packages/web3/test/integration/web3.zond.transaction.test.ts +++ b/packages/web3/test/integration/web3.qrl.transaction.test.ts @@ -16,7 +16,7 @@ along with web3.js. If not, see . */ import * as httpProvider from '@theqrl/web3-providers-http'; -import { Web3Account } from '@theqrl/web3-zond-accounts'; +import { Web3Account } from '@theqrl/web3-qrl-accounts'; import Web3, { DEFAULT_RETURN_FORMAT, Transaction } from '../../src'; // TODO(youtrack/theqrl/web3.js/8) import testsData from '../fixtures/transactions.json'; @@ -27,13 +27,13 @@ describe('signTransaction', () => { let blockNum = 1; it.each(testsData)( - 'Integration test of transaction %s with Web3, Web3.Zond, Web3.Accounts and Provider should pass', + 'Integration test of transaction %s with Web3, Web3.QRL, Web3.Accounts and Provider should pass', async txObj => { const web3: Web3 = new Web3('http://127.0.0.1:8080'); - const account: Web3Account = web3.zond.accounts.seedToAccount(txObj.seed); + const account: Web3Account = web3.qrl.accounts.seedToAccount(txObj.seed); - web3.zond.wallet?.add(txObj.seed); + web3.qrl.wallet?.add(txObj.seed); const normalTx: Transaction = { ...txObj.transaction, @@ -53,16 +53,16 @@ describe('signTransaction', () => { response.result = '1'; break; - case 'zond_chainId': + case 'qrl_chainId': response.result = '0x1'; break; - case 'zond_blockNumber': + case 'qrl_blockNumber': blockNum += 10; response.result = `0x${blockNum.toString(16)}`; break; - case 'zond_getTransactionReceipt': + case 'qrl_getTransactionReceipt': response.result = { blockHash: '0xa957d47df264a31badc3ae823e10ac1d444b098d9b73d204c40426e57f47e8c3', @@ -82,7 +82,7 @@ describe('signTransaction', () => { }; break; - case 'zond_sendRawTransaction': + case 'qrl_sendRawTransaction': expect(payload.params[0]).toBe(txObj.signedLondon); // validate transaction for London HF // if (txObj.transaction.maxPriorityFeePerGas !== undefined) { @@ -106,7 +106,7 @@ describe('signTransaction', () => { }, ); - const res = await web3.zond.sendTransaction(normalTx, DEFAULT_RETURN_FORMAT, { + const res = await web3.qrl.sendTransaction(normalTx, DEFAULT_RETURN_FORMAT, { ignoreGasPricing: true, checkRevertBeforeSending: false, }); diff --git a/packages/web3/test/integration/web3.setProvider.test.ts b/packages/web3/test/integration/web3.setProvider.test.ts index 9f6a61f3..065774f6 100644 --- a/packages/web3/test/integration/web3.setProvider.test.ts +++ b/packages/web3/test/integration/web3.setProvider.test.ts @@ -45,16 +45,16 @@ describeIf(isWs || isHttp)('web3.contract.setProvider', () => { }); test('create few contracts and check providers', () => { - const c1 = new web3.zond.Contract([]); - const c2 = new web3.zond.Contract([]); + const c1 = new web3.qrl.Contract([]); + const c2 = new web3.qrl.Contract([]); expect(c1.provider).toBe(web3.provider); expect(c2.provider).toBe(web3.provider); }); test('create few contracts and check providers. set different provider', () => { - const c1 = new web3.zond.Contract([]); - const c2 = new web3.zond.Contract([]); + const c1 = new web3.qrl.Contract([]); + const c2 = new web3.qrl.Contract([]); expect(c1.provider).toBe(web3.provider); expect(c2.provider).toBe(web3.provider); @@ -66,8 +66,8 @@ describeIf(isWs || isHttp)('web3.contract.setProvider', () => { }); test('create few contracts, set different provider to contract and check other contract', () => { - const c1 = new web3.zond.Contract([]); - const c2 = new web3.zond.Contract([]); + const c1 = new web3.qrl.Contract([]); + const c2 = new web3.qrl.Contract([]); expect(c1.provider).toBe(web3.provider); expect(c2.provider).toBe(web3.provider); diff --git a/packages/web3/test/integration/web3.test.ts b/packages/web3/test/integration/web3.test.ts index a650b73d..2e470146 100644 --- a/packages/web3/test/integration/web3.test.ts +++ b/packages/web3/test/integration/web3.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import Contract from '@theqrl/web3-zond-contract'; +import Contract from '@theqrl/web3-qrl-contract'; import HttpProvider from '@theqrl/web3-providers-http'; import { IpcProvider } from '@theqrl/web3-providers-ipc'; import WebSocketProvider from '@theqrl/web3-providers-ws'; @@ -85,40 +85,40 @@ describe('Web3 instance', () => { it('check disconnect function', async () => { const web3Instance = new Web3(provider); - await web3Instance.zond.getBlockNumber(); + await web3Instance.qrl.getBlockNumber(); expect(typeof web3Instance.provider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.provider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.provider?.disconnect).toBe('function'); expect(typeof web3Instance.currentProvider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.currentProvider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.currentProvider?.disconnect).toBe('function'); if (isSocket) { web3Instance.currentProvider?.disconnect(); } }); itIf(isWs)('check disconnect function for WebSocket provider', async () => { const web3Instance = new Web3(new WebSocketProvider(providerUrl)); - await web3Instance.zond.getBlockNumber(); + await web3Instance.qrl.getBlockNumber(); expect(typeof web3Instance.provider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.provider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.provider?.disconnect).toBe('function'); expect(typeof web3Instance.currentProvider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.currentProvider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.currentProvider?.disconnect).toBe('function'); web3Instance.currentProvider?.disconnect(); }); itIf(isIpc)('check disconnect function for ipc provider', async () => { const web3Instance = new Web3(new IpcProvider(providerUrl)); - await web3Instance.zond.getBlockNumber(); + await web3Instance.qrl.getBlockNumber(); expect(typeof web3Instance.provider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.provider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.provider?.disconnect).toBe('function'); expect(typeof web3Instance.currentProvider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.currentProvider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.currentProvider?.disconnect).toBe('function'); web3Instance.currentProvider?.disconnect(); }); itIf(isHttp)('check disconnect function for http provider', async () => { const web3Instance = new Web3(new HttpProvider(providerUrl)); - await web3Instance.zond.getBlockNumber(); + await web3Instance.qrl.getBlockNumber(); expect(typeof web3Instance.provider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.provider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.provider?.disconnect).toBe('function'); expect(typeof web3Instance.currentProvider?.disconnect).toBe('function'); - expect(typeof web3Instance.zond.currentProvider?.disconnect).toBe('function'); + expect(typeof web3Instance.qrl.currentProvider?.disconnect).toBe('function'); }); it('should be able use "utils" without provider', () => { @@ -131,7 +131,7 @@ describe('Web3 instance', () => { web3 = new Web3(); const validData = validEncodeParametersData[0]; - const encodedParameters = web3.zond.abi.encodeParameters( + const encodedParameters = web3.qrl.abi.encodeParameters( validData.input[0], validData.input[1], ); @@ -141,7 +141,7 @@ describe('Web3 instance', () => { it('should throw error when we make a request when provider not available', async () => { web3 = new Web3(); - await expect(web3.zond.getChainId()).rejects.toThrow('Provider not available'); + await expect(web3.qrl.getChainId()).rejects.toThrow('Provider not available'); }); describeIf(isHttp)('Create Web3 class instance with http string providers', () => { @@ -168,7 +168,7 @@ describe('Web3 instance', () => { if (isWs) { await waitForOpenConnection(web3, 0); } - const response = await web3.zond.getBalance(accounts[0]); + const response = await web3.qrl.getBalance(accounts[0]); expect(response).toEqual(expect.any(BigInt)); }); @@ -194,7 +194,7 @@ describe('Web3 instance', () => { web3.setProvider(getSystemTestProvider()); - await expect(web3.zond.getChainId()).resolves.toBeDefined(); + await expect(web3.qrl.getChainId()).resolves.toBeDefined(); }); it('should set the provider with `.provider=` of empty initialized object', async () => { @@ -202,23 +202,23 @@ describe('Web3 instance', () => { web3.provider = getSystemTestProvider(); - await expect(web3.zond.getChainId()).resolves.toBeDefined(); + await expect(web3.qrl.getChainId()).resolves.toBeDefined(); }); it('should unset the provider with `.setProvider`', async () => { web3 = new Web3(getSystemTestProvider()); - await expect(web3.zond.getChainId()).resolves.toBeDefined(); + await expect(web3.qrl.getChainId()).resolves.toBeDefined(); web3.setProvider(undefined); - await expect(web3.zond.getChainId()).rejects.toThrow('Provider not available'); + await expect(web3.qrl.getChainId()).rejects.toThrow('Provider not available'); }); it('should unset the provider with `.provider=`', async () => { web3 = new Web3(getSystemTestProvider()); - await expect(web3.zond.getChainId()).resolves.toBeDefined(); + await expect(web3.qrl.getChainId()).resolves.toBeDefined(); web3.provider = undefined; - await expect(web3.zond.getChainId()).rejects.toThrow('Provider not available'); + await expect(web3.qrl.getChainId()).rejects.toThrow('Provider not available'); }); it('providers', () => { @@ -250,7 +250,7 @@ describe('Web3 instance', () => { describe('Module instantiations', () => { it('should create contract', () => { - const basicContract = new web3.zond.Contract(BasicAbi); + const basicContract = new web3.qrl.Contract(BasicAbi); expect(basicContract).toBeInstanceOf(Contract); }); }); @@ -262,12 +262,12 @@ describe('Web3 instance', () => { beforeEach(() => { request1 = { id: 10, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [accounts[0], 'latest'], }; request2 = { id: 11, - method: 'zond_getBalance', + method: 'qrl_getBalance', params: [accounts[1], 'latest'], }; }); @@ -327,7 +327,7 @@ describe('Web3 instance', () => { it('should update defaults on contract instance', () => { const hardfork = 'berlin'; - contract = new web3.zond.Contract(GreeterAbi, undefined, { + contract = new web3.qrl.Contract(GreeterAbi, undefined, { provider: getSystemTestProvider(), syncWithContext: true, }); @@ -340,7 +340,7 @@ describe('Web3 instance', () => { it('should update defaults on deployed contract instance', async () => { const hardfork = 'berlin'; - contract = new web3.zond.Contract(GreeterAbi, undefined, { + contract = new web3.qrl.Contract(GreeterAbi, undefined, { provider: getSystemTestProvider(), syncWithContext: true, }); diff --git a/tools/web3-plugin-example/src/ZRC20Token.ts b/packages/web3/test/shared_fixtures/contracts/SQRCTF1Token.ts similarity index 99% rename from tools/web3-plugin-example/src/ZRC20Token.ts rename to packages/web3/test/shared_fixtures/contracts/SQRCTF1Token.ts index b07e6647..d8eca96e 100644 --- a/tools/web3-plugin-example/src/ZRC20Token.ts +++ b/packages/web3/test/shared_fixtures/contracts/SQRCTF1Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ZRC20TokenAbi = [ +export const SQRCTF1TokenAbi = [ { inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], stateMutability: 'nonpayable', @@ -117,5 +117,5 @@ export const ZRC20TokenAbi = [ type: 'function', }, ] as const; -export const ZRC20TokenBytecode = +export const SQRCTF1TokenBytecode = '0x60806040523480156200001157600080fd5b50604051620017a8380380620017a8833981810160405281019062000037919062000362565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb92919062000272565b508060049080519060200190620000d492919062000272565b505050620000e93382620000f060201b60201c565b5062000535565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015990620003f5565b60405180910390fd5b62000176600083836200026860201b60201c565b80600260008282546200018a919062000446565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001e1919062000446565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002489190620004b4565b60405180910390a362000264600083836200026d60201b60201c565b5050565b505050565b505050565b828054620002809062000500565b90600052602060002090601f016020900481019282620002a45760008555620002f0565b82601f10620002bf57805160ff1916838001178555620002f0565b82800160010185558215620002f0579182015b82811115620002ef578251825591602001919060010190620002d2565b5b509050620002ff919062000303565b5090565b5b808211156200031e57600081600090555060010162000304565b5090565b600080fd5b6000819050919050565b6200033c8162000327565b81146200034857600080fd5b50565b6000815190506200035c8162000331565b92915050565b6000602082840312156200037b576200037a62000322565b5b60006200038b848285016200034b565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620003dd601f8362000394565b9150620003ea82620003a5565b602082019050919050565b600060208201905081810360008301526200041081620003ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004538262000327565b9150620004608362000327565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000498576200049762000417565b5b828201905092915050565b620004ae8162000327565b82525050565b6000602082019050620004cb6000830184620004a3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200051957607f821691505b6020821081036200052f576200052e620004d1565b5b50919050565b61126380620005456000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b1e565b60405180910390f35b6100e660048036038101906100e19190610bd9565b610308565b6040516100f39190610c34565b60405180910390f35b61010461032b565b6040516101119190610c5e565b60405180910390f35b610134600480360381019061012f9190610c79565b610335565b6040516101419190610c34565b60405180910390f35b610152610364565b60405161015f9190610ce8565b60405180910390f35b610182600480360381019061017d9190610bd9565b61036d565b60405161018f9190610c34565b60405180910390f35b6101b260048036038101906101ad9190610d03565b6103a4565b6040516101bf9190610c5e565b60405180910390f35b6101d06103ec565b6040516101dd9190610b1e565b60405180910390f35b61020060048036038101906101fb9190610bd9565b61047e565b60405161020d9190610c34565b60405180910390f35b610230600480360381019061022b9190610bd9565b6104f5565b60405161023d9190610c34565b60405180910390f35b610260600480360381019061025b9190610d30565b610518565b60405161026d9190610c5e565b60405180910390f35b60606003805461028590610d9f565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9f565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610dff565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d9f565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d9f565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610ec7565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610feb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c5e565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611057565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d19061117b565b60405180910390fd5b6108e5838383610a7b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109629061120d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fe9190610dff565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a629190610c5e565b60405180910390a3610a75848484610a80565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610abf578082015181840152602081019050610aa4565b83811115610ace576000848401525b50505050565b6000601f19601f8301169050919050565b6000610af082610a85565b610afa8185610a90565b9350610b0a818560208601610aa1565b610b1381610ad4565b840191505092915050565b60006020820190508181036000830152610b388184610ae5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b7082610b45565b9050919050565b610b8081610b65565b8114610b8b57600080fd5b50565b600081359050610b9d81610b77565b92915050565b6000819050919050565b610bb681610ba3565b8114610bc157600080fd5b50565b600081359050610bd381610bad565b92915050565b60008060408385031215610bf057610bef610b40565b5b6000610bfe85828601610b8e565b9250506020610c0f85828601610bc4565b9150509250929050565b60008115159050919050565b610c2e81610c19565b82525050565b6000602082019050610c496000830184610c25565b92915050565b610c5881610ba3565b82525050565b6000602082019050610c736000830184610c4f565b92915050565b600080600060608486031215610c9257610c91610b40565b5b6000610ca086828701610b8e565b9350506020610cb186828701610b8e565b9250506040610cc286828701610bc4565b9150509250925092565b600060ff82169050919050565b610ce281610ccc565b82525050565b6000602082019050610cfd6000830184610cd9565b92915050565b600060208284031215610d1957610d18610b40565b5b6000610d2784828501610b8e565b91505092915050565b60008060408385031215610d4757610d46610b40565b5b6000610d5585828601610b8e565b9250506020610d6685828601610b8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db757607f821691505b602082108103610dca57610dc9610d70565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0a82610ba3565b9150610e1583610ba3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e4a57610e49610dd0565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610eb1602583610a90565b9150610ebc82610e55565b604082019050919050565b60006020820190508181036000830152610ee081610ea4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f43602483610a90565b9150610f4e82610ee7565b604082019050919050565b60006020820190508181036000830152610f7281610f36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fd5602283610a90565b9150610fe082610f79565b604082019050919050565b6000602082019050818103600083015261100481610fc8565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611041601d83610a90565b915061104c8261100b565b602082019050919050565b6000602082019050818103600083015261107081611034565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110d3602583610a90565b91506110de82611077565b604082019050919050565b60006020820190508181036000830152611102816110c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611165602383610a90565b915061117082611109565b604082019050919050565b6000602082019050818103600083015261119481611158565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111f7602683610a90565b91506112028261119b565b604082019050919050565b60006020820190508181036000830152611226816111ea565b905091905056fea264697066735822122039c50588d39e359807efa398bd1b3aff1b082ef738dddcfa8475048e11f9024e64736f6c634300080d0033'; diff --git a/packages/web3/test/shared_fixtures/contracts/ZRC721Token.ts b/packages/web3/test/shared_fixtures/contracts/SQRCTN1Token.ts similarity index 99% rename from packages/web3/test/shared_fixtures/contracts/ZRC721Token.ts rename to packages/web3/test/shared_fixtures/contracts/SQRCTN1Token.ts index e5891dbe..ebf5c347 100644 --- a/packages/web3/test/shared_fixtures/contracts/ZRC721Token.ts +++ b/packages/web3/test/shared_fixtures/contracts/SQRCTN1Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ERC721TokenAbi = [ +export const SQRCTN1TokenAbi = [ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, { anonymous: false, @@ -170,5 +170,5 @@ export const ERC721TokenAbi = [ type: 'function', }, ] as const; -export const ERC721TokenBytecode = +export const SQRCTN1TokenBytecode = '0x60806040523480156200001157600080fd5b506040518060400160405280600881526020017f47616d654974656d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f49544d0000000000000000000000000000000000000000000000000000000000815250816000908051906020019062000096929190620000b8565b508060019080519060200190620000af929190620000b8565b505050620001cc565b828054620000c69062000197565b90600052602060002090601f016020900481019282620000ea576000855562000136565b82601f106200010557805160ff191683800117855562000136565b8280016001018555821562000136579182015b828111156200013557825182559160200191906001019062000118565b5b50905062000145919062000149565b5090565b5b80821115620001645760008160009055506001016200014a565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001b057607f821691505b602082108103620001c657620001c562000168565b5b50919050565b612bb680620001dc6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063b88d4fde11610066578063b88d4fde1461025b578063c87b56dd14610277578063cf378343146102a7578063e985e9c5146102d7576100ea565b806370a08231146101f157806395d89b4114610221578063a22cb4651461023f576100ea565b8063095ea7b3116100c8578063095ea7b31461016d57806323b872dd1461018957806342842e0e146101a55780636352211e146101c1576100ea565b806301ffc9a7146100ef57806306fdde031461011f578063081812fc1461013d575b600080fd5b6101096004803603810190610104919061191a565b610307565b6040516101169190611962565b60405180910390f35b6101276103e9565b6040516101349190611a16565b60405180910390f35b61015760048036038101906101529190611a6e565b61047b565b6040516101649190611adc565b60405180910390f35b61018760048036038101906101829190611b23565b610500565b005b6101a3600480360381019061019e9190611b63565b610617565b005b6101bf60048036038101906101ba9190611b63565b610677565b005b6101db60048036038101906101d69190611a6e565b610697565b6040516101e89190611adc565b60405180910390f35b61020b60048036038101906102069190611bb6565b610748565b6040516102189190611bf2565b60405180910390f35b6102296107ff565b6040516102369190611a16565b60405180910390f35b61025960048036038101906102549190611c39565b610891565b005b61027560048036038101906102709190611dae565b6108a7565b005b610291600480360381019061028c9190611a6e565b610909565b60405161029e9190611a16565b60405180910390f35b6102c160048036038101906102bc9190611ed2565b610a5a565b6040516102ce9190611bf2565b60405180910390f35b6102f160048036038101906102ec9190611f2e565b610a91565b6040516102fe9190611962565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103d257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103e257506103e182610b25565b5b9050919050565b6060600080546103f890611f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461042490611f9d565b80156104715780601f1061044657610100808354040283529160200191610471565b820191906000526020600020905b81548152906001019060200180831161045457829003601f168201915b5050505050905090565b600061048682610b8f565b6104c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bc90612040565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061050b82610697565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361057b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610572906120d2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661059a610bfb565b73ffffffffffffffffffffffffffffffffffffffff1614806105c957506105c8816105c3610bfb565b610a91565b5b610608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ff90612164565b60405180910390fd5b6106128383610c03565b505050565b610628610622610bfb565b82610cbc565b610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e906121f6565b60405180910390fd5b610672838383610d9a565b505050565b610692838383604051806020016040528060008152506108a7565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073690612288565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af9061231a565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461080e90611f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461083a90611f9d565b80156108875780601f1061085c57610100808354040283529160200191610887565b820191906000526020600020905b81548152906001019060200180831161086a57829003601f168201915b5050505050905090565b6108a361089c610bfb565b8383611000565b5050565b6108b86108b2610bfb565b83610cbc565b6108f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ee906121f6565b60405180910390fd5b6109038484848461116c565b50505050565b606061091482610b8f565b610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094a906123ac565b60405180910390fd5b600060066000848152602001908152602001600020805461097390611f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461099f90611f9d565b80156109ec5780601f106109c1576101008083540402835291602001916109ec565b820191906000526020600020905b8154815290600101906020018083116109cf57829003601f168201915b5050505050905060006109fd6111c8565b90506000815103610a12578192505050610a55565b600082511115610a47578082604051602001610a2f929190612408565b60405160208183030381529060405292505050610a55565b610a50846111df565b925050505b919050565b600080610a676007611286565b9050610a738482611294565b610a7d818461146d565b610a8760076114e1565b8091505092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610c7683610697565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610cc782610b8f565b610d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfd9061249e565b60405180910390fd5b6000610d1183610697565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610d535750610d528185610a91565b5b80610d9157508373ffffffffffffffffffffffffffffffffffffffff16610d798461047b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610dba82610697565b73ffffffffffffffffffffffffffffffffffffffff1614610e10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0790612530565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e76906125c2565b60405180910390fd5b610e8a8383836114f7565b610e95600082610c03565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ee59190612611565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f3c9190612645565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610ffb8383836114fc565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361106e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611065906126e7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161115f9190611962565b60405180910390a3505050565b611177848484610d9a565b61118384848484611501565b6111c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b990612779565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606111ea82610b8f565b611229576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112209061280b565b60405180910390fd5b60006112336111c8565b90506000815111611253576040518060200160405280600081525061127e565b8061125d84611688565b60405160200161126e929190612408565b6040516020818303038152906040525b915050919050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa90612877565b60405180910390fd5b61130c81610b8f565b1561134c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611343906128e3565b60405180910390fd5b611358600083836114f7565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a89190612645565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611469600083836114fc565b5050565b61147682610b8f565b6114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90612975565b60405180910390fd5b806006600084815260200190815260200160002090805190602001906114dc92919061180b565b505050565b6001816000016000828254019250508190555050565b505050565b505050565b60006115228473ffffffffffffffffffffffffffffffffffffffff166117e8565b1561167b578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261154b610bfb565b8786866040518563ffffffff1660e01b815260040161156d94939291906129ea565b6020604051808303816000875af19250505080156115a957506040513d601f19601f820116820180604052508101906115a69190612a4b565b60015b61162b573d80600081146115d9576040519150601f19603f3d011682016040523d82523d6000602084013e6115de565b606091505b506000815103611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161a90612779565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611680565b600190505b949350505050565b6060600082036116cf576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506117e3565b600082905060005b600082146117015780806116ea90612a78565b915050600a826116fa9190612aef565b91506116d7565b60008167ffffffffffffffff81111561171d5761171c611c83565b5b6040519080825280601f01601f19166020018201604052801561174f5781602001600182028036833780820191505090505b5090505b600085146117dc576001826117689190612611565b9150600a856117779190612b20565b60306117839190612645565b60f81b81838151811061179957611798612b51565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856117d59190612aef565b9450611753565b8093505050505b919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461181790611f9d565b90600052602060002090601f0160209004810192826118395760008555611880565b82601f1061185257805160ff1916838001178555611880565b82800160010185558215611880579182015b8281111561187f578251825591602001919060010190611864565b5b50905061188d9190611891565b5090565b5b808211156118aa576000816000905550600101611892565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6118f7816118c2565b811461190257600080fd5b50565b600081359050611914816118ee565b92915050565b6000602082840312156119305761192f6118b8565b5b600061193e84828501611905565b91505092915050565b60008115159050919050565b61195c81611947565b82525050565b60006020820190506119776000830184611953565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119b757808201518184015260208101905061199c565b838111156119c6576000848401525b50505050565b6000601f19601f8301169050919050565b60006119e88261197d565b6119f28185611988565b9350611a02818560208601611999565b611a0b816119cc565b840191505092915050565b60006020820190508181036000830152611a3081846119dd565b905092915050565b6000819050919050565b611a4b81611a38565b8114611a5657600080fd5b50565b600081359050611a6881611a42565b92915050565b600060208284031215611a8457611a836118b8565b5b6000611a9284828501611a59565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ac682611a9b565b9050919050565b611ad681611abb565b82525050565b6000602082019050611af16000830184611acd565b92915050565b611b0081611abb565b8114611b0b57600080fd5b50565b600081359050611b1d81611af7565b92915050565b60008060408385031215611b3a57611b396118b8565b5b6000611b4885828601611b0e565b9250506020611b5985828601611a59565b9150509250929050565b600080600060608486031215611b7c57611b7b6118b8565b5b6000611b8a86828701611b0e565b9350506020611b9b86828701611b0e565b9250506040611bac86828701611a59565b9150509250925092565b600060208284031215611bcc57611bcb6118b8565b5b6000611bda84828501611b0e565b91505092915050565b611bec81611a38565b82525050565b6000602082019050611c076000830184611be3565b92915050565b611c1681611947565b8114611c2157600080fd5b50565b600081359050611c3381611c0d565b92915050565b60008060408385031215611c5057611c4f6118b8565b5b6000611c5e85828601611b0e565b9250506020611c6f85828601611c24565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611cbb826119cc565b810181811067ffffffffffffffff82111715611cda57611cd9611c83565b5b80604052505050565b6000611ced6118ae565b9050611cf98282611cb2565b919050565b600067ffffffffffffffff821115611d1957611d18611c83565b5b611d22826119cc565b9050602081019050919050565b82818337600083830152505050565b6000611d51611d4c84611cfe565b611ce3565b905082815260208101848484011115611d6d57611d6c611c7e565b5b611d78848285611d2f565b509392505050565b600082601f830112611d9557611d94611c79565b5b8135611da5848260208601611d3e565b91505092915050565b60008060008060808587031215611dc857611dc76118b8565b5b6000611dd687828801611b0e565b9450506020611de787828801611b0e565b9350506040611df887828801611a59565b925050606085013567ffffffffffffffff811115611e1957611e186118bd565b5b611e2587828801611d80565b91505092959194509250565b600067ffffffffffffffff821115611e4c57611e4b611c83565b5b611e55826119cc565b9050602081019050919050565b6000611e75611e7084611e31565b611ce3565b905082815260208101848484011115611e9157611e90611c7e565b5b611e9c848285611d2f565b509392505050565b600082601f830112611eb957611eb8611c79565b5b8135611ec9848260208601611e62565b91505092915050565b60008060408385031215611ee957611ee86118b8565b5b6000611ef785828601611b0e565b925050602083013567ffffffffffffffff811115611f1857611f176118bd565b5b611f2485828601611ea4565b9150509250929050565b60008060408385031215611f4557611f446118b8565b5b6000611f5385828601611b0e565b9250506020611f6485828601611b0e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fb557607f821691505b602082108103611fc857611fc7611f6e565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061202a602c83611988565b915061203582611fce565b604082019050919050565b600060208201905081810360008301526120598161201d565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006120bc602183611988565b91506120c782612060565b604082019050919050565b600060208201905081810360008301526120eb816120af565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061214e603883611988565b9150612159826120f2565b604082019050919050565b6000602082019050818103600083015261217d81612141565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006121e0603183611988565b91506121eb82612184565b604082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000612272602983611988565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000612304602a83611988565b915061230f826122a8565b604082019050919050565b60006020820190508181036000830152612333816122f7565b9050919050565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b6000612396603183611988565b91506123a18261233a565b604082019050919050565b600060208201905081810360008301526123c581612389565b9050919050565b600081905092915050565b60006123e28261197d565b6123ec81856123cc565b93506123fc818560208601611999565b80840191505092915050565b600061241482856123d7565b915061242082846123d7565b91508190509392505050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000612488602c83611988565b91506124938261242c565b604082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061251a602583611988565b9150612525826124be565b604082019050919050565b600060208201905081810360008301526125498161250d565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006125ac602483611988565b91506125b782612550565b604082019050919050565b600060208201905081810360008301526125db8161259f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061261c82611a38565b915061262783611a38565b92508282101561263a576126396125e2565b5b828203905092915050565b600061265082611a38565b915061265b83611a38565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126905761268f6125e2565b5b828201905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006126d1601983611988565b91506126dc8261269b565b602082019050919050565b60006020820190508181036000830152612700816126c4565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000612763603283611988565b915061276e82612707565b604082019050919050565b6000602082019050818103600083015261279281612756565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006127f5602f83611988565b915061280082612799565b604082019050919050565b60006020820190508181036000830152612824816127e8565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000612861602083611988565b915061286c8261282b565b602082019050919050565b6000602082019050818103600083015261289081612854565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006128cd601c83611988565b91506128d882612897565b602082019050919050565b600060208201905081810360008301526128fc816128c0565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b600061295f602e83611988565b915061296a82612903565b604082019050919050565b6000602082019050818103600083015261298e81612952565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006129bc82612995565b6129c681856129a0565b93506129d6818560208601611999565b6129df816119cc565b840191505092915050565b60006080820190506129ff6000830187611acd565b612a0c6020830186611acd565b612a196040830185611be3565b8181036060830152612a2b81846129b1565b905095945050505050565b600081519050612a45816118ee565b92915050565b600060208284031215612a6157612a606118b8565b5b6000612a6f84828501612a36565b91505092915050565b6000612a8382611a38565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ab557612ab46125e2565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612afa82611a38565b9150612b0583611a38565b925082612b1557612b14612ac0565b5b828204905092915050565b6000612b2b82611a38565b9150612b3683611a38565b925082612b4657612b45612ac0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212201d5bf152bd3c08a2f94fc5923da9ecbb5197e3afa514c296a8686031f251632764736f6c634300080d0033'; diff --git a/packages/web3/test/shared_fixtures/data.ts b/packages/web3/test/shared_fixtures/data.ts index d86db514..647f9217 100644 --- a/packages/web3/test/shared_fixtures/data.ts +++ b/packages/web3/test/shared_fixtures/data.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { encodeParameters } from '@theqrl/web3-zond-abi'; +import { encodeParameters } from '@theqrl/web3-qrl-abi'; export const validEncodeParametersData: { input: Parameters; diff --git a/packages/web3/test/unit/accounts.test.ts b/packages/web3/test/unit/accounts.test.ts index 5578b871..3369b80b 100644 --- a/packages/web3/test/unit/accounts.test.ts +++ b/packages/web3/test/unit/accounts.test.ts @@ -15,26 +15,26 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import * as zond from '@theqrl/web3-zond'; -import * as zondAccounts from '@theqrl/web3-zond-accounts'; -import { SignTransactionResult, Web3Account } from '@theqrl/web3-zond-accounts'; -import { Web3ZondInterface } from '../../src/types'; +import * as qrl from '@theqrl/web3-qrl'; +import * as qrlAccounts from '@theqrl/web3-qrl-accounts'; +import { SignTransactionResult, Web3Account } from '@theqrl/web3-qrl-accounts'; +import { Web3QRLInterface } from '../../src/types'; import { Web3 } from '../../src'; -jest.mock('@theqrl/web3-zond-accounts'); -jest.mock('@theqrl/web3-zond'); +jest.mock('@theqrl/web3-qrl-accounts'); +jest.mock('@theqrl/web3-qrl'); -describe('test new Web3().zond.accounts', () => { - let accounts: Web3ZondInterface['accounts']; +describe('test new Web3().qrl.accounts', () => { + let accounts: Web3QRLInterface['accounts']; beforeAll(() => { const web3 = new Web3(); - accounts = web3.zond.accounts; + accounts = web3.qrl.accounts; }); beforeEach(() => { - jest.spyOn(zond, 'prepareTransactionForSigning').mockReturnValue({} as Promise); - jest.spyOn(zondAccounts, 'signTransaction').mockReturnValue( + jest.spyOn(qrl, 'prepareTransactionForSigning').mockReturnValue({} as Promise); + jest.spyOn(qrlAccounts, 'signTransaction').mockReturnValue( undefined as unknown as Promise, ); }); @@ -45,52 +45,52 @@ describe('test new Web3().zond.accounts', () => { it('`signTransaction` should call the original `prepareTransactionForSigning` and `signTransaction`', async () => { await accounts.signTransaction({}, ''); - expect(zond.prepareTransactionForSigning).toHaveBeenCalledTimes(1); - expect(zondAccounts.signTransaction).toHaveBeenCalledTimes(1); + expect(qrl.prepareTransactionForSigning).toHaveBeenCalledTimes(1); + expect(qrlAccounts.signTransaction).toHaveBeenCalledTimes(1); }); it('`seedToAccount` should call the original `seedToAccount` and add `signTransaction`', async () => { - jest.spyOn(zondAccounts, 'seedToAccount').mockReturnValue({ + jest.spyOn(qrlAccounts, 'seedToAccount').mockReturnValue({ seed: '', } as unknown as Web3Account); const account = accounts.seedToAccount(''); - expect(zondAccounts.seedToAccount).toHaveBeenCalledTimes(1); + expect(qrlAccounts.seedToAccount).toHaveBeenCalledTimes(1); await account.signTransaction({}); - expect(zond.prepareTransactionForSigning).toHaveBeenCalledTimes(1); - expect(zondAccounts.signTransaction).toHaveBeenCalledTimes(1); + expect(qrl.prepareTransactionForSigning).toHaveBeenCalledTimes(1); + expect(qrlAccounts.signTransaction).toHaveBeenCalledTimes(1); }); it('`decrypt` should call the original `decrypt` and add `signTransaction`', async () => { - jest.spyOn(zondAccounts, 'decrypt').mockReturnValue({ + jest.spyOn(qrlAccounts, 'decrypt').mockReturnValue({ privateKey: '', } as unknown as Promise); await accounts.decrypt('', '', { nonStrict: false }); - expect(zondAccounts.decrypt).toHaveBeenCalledWith('', '', false); + expect(qrlAccounts.decrypt).toHaveBeenCalledWith('', '', false); const account = await accounts.decrypt('', ''); - expect(zondAccounts.decrypt).toHaveBeenCalledWith('', '', true); + expect(qrlAccounts.decrypt).toHaveBeenCalledWith('', '', true); await account.signTransaction({}); - expect(zond.prepareTransactionForSigning).toHaveBeenCalledTimes(1); - expect(zondAccounts.signTransaction).toHaveBeenCalledTimes(1); + expect(qrl.prepareTransactionForSigning).toHaveBeenCalledTimes(1); + expect(qrlAccounts.signTransaction).toHaveBeenCalledTimes(1); }); it('`create` should call the original `create` and add `signTransaction`', async () => { - jest.spyOn(zondAccounts, 'create').mockReturnValue({ + jest.spyOn(qrlAccounts, 'create').mockReturnValue({ seed: '', } as unknown as Web3Account); const account = accounts.create(); - expect(zondAccounts.create).toHaveBeenCalledTimes(1); + expect(qrlAccounts.create).toHaveBeenCalledTimes(1); await account.signTransaction({}); - expect(zond.prepareTransactionForSigning).toHaveBeenCalledTimes(1); - expect(zondAccounts.signTransaction).toHaveBeenCalledTimes(1); + expect(qrl.prepareTransactionForSigning).toHaveBeenCalledTimes(1); + expect(qrlAccounts.signTransaction).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/web3/test/unit/index.test.ts b/packages/web3/test/unit/index.test.ts index 22af33cf..ad3ac164 100644 --- a/packages/web3/test/unit/index.test.ts +++ b/packages/web3/test/unit/index.test.ts @@ -15,35 +15,35 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Web3Zond } from '@theqrl/web3-zond'; +import { Web3QRL } from '@theqrl/web3-qrl'; -import * as abi from '@theqrl/web3-zond-abi'; -import * as accounts from '@theqrl/web3-zond-accounts'; -import * as contract from '@theqrl/web3-zond-contract'; -import * as zns from '@theqrl/web3-zond-ens'; -import * as iban from '@theqrl/web3-zond-iban'; +import * as abi from '@theqrl/web3-qrl-abi'; +import * as accounts from '@theqrl/web3-qrl-accounts'; +import * as contract from '@theqrl/web3-qrl-contract'; +import * as qrns from '@theqrl/web3-qrl-qrns'; +import * as iban from '@theqrl/web3-qrl-iban'; import * as http from '@theqrl/web3-providers-http'; import * as ws from '@theqrl/web3-providers-ws'; -import Web3Default, { Web3, providers, zond } from '../../src/index'; +import Web3Default, { Web3, providers, qrl } from '../../src/index'; describe('exports of web3 package', () => { - describe('zond exports', () => { + describe('qrl exports', () => { it('`Web3` is the default exported class', () => { expect(Web3).toEqual(Web3Default); }); - it('`Web3Zond` is available under `zond`', () => { - expect(zond.Web3Zond).toEqual(Web3Zond); + it('`Web3QRL` is available under `qrl`', () => { + expect(qrl.Web3QRL).toEqual(Web3QRL); }); - it('zond sub-namespaces are available under `zond`', () => { - expect(zond.abi).toEqual(abi); - expect(zond.accounts).toEqual(accounts); - expect(zond.contract).toEqual(contract); - expect(zond.zns).toEqual(zns); - expect(zond.iban).toEqual(iban); + it('qrl sub-namespaces are available under `qrl`', () => { + expect(qrl.abi).toEqual(abi); + expect(qrl.accounts).toEqual(accounts); + expect(qrl.contract).toEqual(contract); + expect(qrl.qrns).toEqual(qrns); + expect(qrl.iban).toEqual(iban); }); }); diff --git a/packages/web3/test/unit/web3-custom-subscriptions.test.ts b/packages/web3/test/unit/web3-custom-subscriptions.test.ts index 218a9095..d54197b4 100644 --- a/packages/web3/test/unit/web3-custom-subscriptions.test.ts +++ b/packages/web3/test/unit/web3-custom-subscriptions.test.ts @@ -60,7 +60,7 @@ describe('Web3 Custom Subscriptions', () => { /[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}/i, ), jsonrpc: '2.0', - method: 'zond_subscribe', + method: 'qrl_subscribe', params: ['someCustomSubscription', args], }); resolve(true); diff --git a/packages/web3/test/unit/web3.extend.test.ts b/packages/web3/test/unit/web3.extend.test.ts index 89413f29..fb5a8e3a 100644 --- a/packages/web3/test/unit/web3.extend.test.ts +++ b/packages/web3/test/unit/web3.extend.test.ts @@ -44,27 +44,27 @@ describe('Web3 extend tests', () => { methods: [ { name: 'getBalance', - call: 'zond_getBalance', + call: 'qrl_getBalance', }, { name: 'getL2Balance', - call: 'zond_getBalance', + call: 'qrl_getBalance', }, ], }); - await web3.myModule.getBalance('Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); + await web3.myModule.getBalance('Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', - params: ['Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], + method: 'qrl_getBalance', + params: ['Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], }); - await web3.myModule.getL2Balance('Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); + await web3.myModule.getL2Balance('Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', - params: ['Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], + method: 'qrl_getBalance', + params: ['Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], }); }); @@ -78,27 +78,27 @@ describe('Web3 extend tests', () => { methods: [ { name: 'getBalance', - call: 'zond_getBalance', + call: 'qrl_getBalance', }, { name: 'getL2Balance', - call: 'zond_getBalance', + call: 'qrl_getBalance', }, ], }); - await web3.getBalance('Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); + await web3.getBalance('Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', - params: ['Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], + method: 'qrl_getBalance', + params: ['Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], }); - await web3.getL2Balance('Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); + await web3.getL2Balance('Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_getBalance', - params: ['Z5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], + method: 'qrl_getBalance', + params: ['Q5b43746580AAF00A69019fA59D9ed7d9c85dDd70', 'latest'], }); }); }); diff --git a/packages/web3/test/unit/web3.test.ts b/packages/web3/test/unit/web3.test.ts index 303ee6f5..08a2e839 100644 --- a/packages/web3/test/unit/web3.test.ts +++ b/packages/web3/test/unit/web3.test.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import { Contract } from '@theqrl/web3-zond-contract'; +import { Contract } from '@theqrl/web3-qrl-contract'; import { ContractInitOptions } from '@theqrl/web3-types'; import { Web3 } from '../../src/web3'; @@ -32,10 +32,10 @@ describe('Web3 object', () => { httpProviderOptions: undefined, }); }); - describe('creating a Contract object with the constructor at Web3 -> zond.Contract', () => { - const Web3Contract = new Web3().zond.Contract; + describe('creating a Contract object with the constructor at Web3 -> qrl.Contract', () => { + const Web3Contract = new Web3().qrl.Contract; const abi = [{ name: 'any', type: 'function' }]; - const address = 'Z0000000000000000000000000000000000000000'; + const address = 'Q0000000000000000000000000000000000000000'; const options = { gas: '100' }; it('should work when `address`=`undefined` and `options`=`undefined`', () => { diff --git a/scripts/accounts.json b/scripts/accounts.json index 46764045..cdc788df 100644 --- a/scripts/accounts.json +++ b/scripts/accounts.json @@ -1,42 +1,42 @@ [ { - "address": "Z2086ea3853acf31bdeaa7d46f34360e8996d95c5", + "address": "Q2086ea3853acf31bdeaa7d46f34360e8996d95c5", "seed": "0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88" }, { - "address": "Z208680cc1efbd4f95fdf88bfcd4bd99efae790b5", + "address": "Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5", "seed": "0xa295161c026d3556d15bf1dee00e7ccec8404d59a0f8b16cb4e37d7f5f0eb4be351edd4ca6b9d56ae0fa97eba3b19648" }, { - "address": "Z20d11a90537052ea38350402a4fa4fc3824c170b", + "address": "Q20d11a90537052ea38350402a4fa4fc3824c170b", "seed": "0x261d25203791c93946b056ed0fddc92f53b7a29bd5bd37794a11aa352e5fd55a00e42785863712655e337af68ff43e0c" }, { - "address": "Z201c6c39b78bba5454c8e78c9a13148d501097b4", + "address": "Q201c6c39b78bba5454c8e78c9a13148d501097b4", "seed": "0x17c6e19004c073d3d35409ad3bf87fe4ac0127d497c8c919a7c731daaf41531b5966de544170c2d044a1e6f9b7db1099" }, { - "address": "Z209b1f8a197619d29018a9b5e915780c885fde9b", + "address": "Q209b1f8a197619d29018a9b5e915780c885fde9b", "seed": "0xa538dfd24b039c59e0a326418c975efe5b3820ee555f81f37291bfd8f222927a59bc7ef96d395929fa5d62987418d2e7" }, { - "address": "Z20583d7d1511f8f7eb011fdc53666e0aa94bf554", + "address": "Q20583d7d1511f8f7eb011fdc53666e0aa94bf554", "seed": "0x5cc5ffb2472aaee8663358b66e07e40056190ac108c2425433ec5f048c7f52429bb50165e8c60a1d647396ef820bd3d9" }, { - "address": "Z204caedb9ea074424df0305d7e5dda7d8594d4c1", + "address": "Q204caedb9ea074424df0305d7e5dda7d8594d4c1", "seed": "0xd474cc1c406c627bfd40b5c88cb979389f87cd3b5d04d68d7f50f5a743a80ae48feae7d42b709ba5c2b1a6740f415ffb" }, { - "address": "Z20747da480a37c6698c61b045947192ae2cd1f63", + "address": "Q20747da480a37c6698c61b045947192ae2cd1f63", "seed": "0x38289405461212b3949c190c6f00ca297229ee8b1202a5abe2f9b8ff43ead1a05182bee1a5453166b14f3ea4d84c6f19" }, { - "address": "Z20e95124c8cf6414db2357e106fade7a8ac72ec7", + "address": "Q20e95124c8cf6414db2357e106fade7a8ac72ec7", "seed": "0x4258b9bea3855467503ae19e37592cb1241534d7bb90f4dc4f2655c447ba382b41941fd1cf00038ea3aa59f20eb27897" }, { - "address": "Z20080fecf20684e664724db93e5d525b8d38c2ce", + "address": "Q20080fecf20684e664724db93e5d525b8d38c2ce", "seed": "0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa" } ] diff --git a/scripts/compile_contracts.js b/scripts/compile_contracts.js index 02c403e0..679a3155 100755 --- a/scripts/compile_contracts.js +++ b/scripts/compile_contracts.js @@ -71,7 +71,7 @@ function findImports(path) { const compileInput = { ...input, language: 'Hyperion', - settings: { outputSelection: { '*': { '*': ['abi', 'zvm.bytecode.object'] } } }, + settings: { outputSelection: { '*': { '*': ['abi', 'qrvm.bytecode.object'] } } }, }; const compileResult = JSON.parse( @@ -102,7 +102,7 @@ function findImports(path) { const contractTsInterface = `export const ${contractName}Abi = ${JSON.stringify( contractBuild['abi'], )} as const; \n export const ${contractName}Bytecode = '0x${ - contractBuild['zvm']['bytecode']['object'] + contractBuild['qrvm']['bytecode']['object'] }';`; writeFileSync( diff --git a/scripts/consensus/config.yml b/scripts/consensus/config.yml index eed13484..82af54cb 100644 --- a/scripts/consensus/config.yml +++ b/scripts/consensus/config.yml @@ -7,9 +7,9 @@ GENESIS_FORK_VERSION: 0x20000089 # Time parameters SECONDS_PER_SLOT: 2 SLOTS_PER_EPOCH: 6 -ETH1_FOLLOW_DISTANCE: 8 -EPOCHS_PER_ETH1_VOTING_PERIOD: 2 -SECONDS_PER_ETH1_BLOCK: 2 +EXECUTION_FOLLOW_DISTANCE: 8 +EPOCHS_PER_EXECUTION_VOTING_PERIOD: 2 +SECONDS_PER_EXECUTION_BLOCK: 2 # Deposit contract -DEPOSIT_CONTRACT_ADDRESS: Z4242424242424242424242424242424242424242 \ No newline at end of file +DEPOSIT_CONTRACT_ADDRESS: Q4242424242424242424242424242424242424242 \ No newline at end of file diff --git a/scripts/execution/genesis.json b/scripts/execution/genesis.json index 90d78d9d..474418bd 100644 --- a/scripts/execution/genesis.json +++ b/scripts/execution/genesis.json @@ -6,101 +6,101 @@ "extraData": "0x426574614e65742c205a6f6e642c20584d53532c2044696c69746869756d2121", "gasLimit": "0x1c9c380", "alloc": { - "Z14dc79964da2c08b23698b3d3cc7ca32193d9955": { + "Q14dc79964da2c08b23698b3d3cc7ca32193d9955": { "balance": "0x21e19e0c9bab2400000" }, - "Z15d34aaf54267db7d7c367839aaf71a00a2c6a65": { + "Q15d34aaf54267db7d7c367839aaf71a00a2c6a65": { "balance": "0x21e19e0c9bab2400000" }, - "Z1cbd3b2770909d4e10f157cabc84c7264073c9ec": { + "Q1cbd3b2770909d4e10f157cabc84c7264073c9ec": { "balance": "0x21e19e0c9bab2400000" }, - "Z2086ea3853acf31bdeaa7d46f34360e8996d95c5": { + "Q2086ea3853acf31bdeaa7d46f34360e8996d95c5": { "balance": "0x43c33c1937564800000000000000" }, - "Z208680cc1efbd4f95fdf88bfcd4bd99efae790b5": { + "Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5": { "balance": "0x43c33c1937564800000000000000" }, - "Z20d11a90537052ea38350402a4fa4fc3824c170b": { + "Q20d11a90537052ea38350402a4fa4fc3824c170b": { "balance": "0x43c33c1937564800000000000000" }, - "Z201c6c39b78bba5454c8e78c9a13148d501097b4": { + "Q201c6c39b78bba5454c8e78c9a13148d501097b4": { "balance": "0x43c33c1937564800000000000000" }, - "Z20583d7d1511f8f7eb011fdc53666e0aa94bf554": { + "Q20583d7d1511f8f7eb011fdc53666e0aa94bf554": { "balance": "0x43c33c1937564800000000000000" }, - "Z204caedb9ea074424df0305d7e5dda7d8594d4c1": { + "Q204caedb9ea074424df0305d7e5dda7d8594d4c1": { "balance": "0x43c33c1937564800000000000000" }, - "Z20747da480a37c6698c61b045947192ae2cd1f63": { + "Q20747da480a37c6698c61b045947192ae2cd1f63": { "balance": "0x43c33c1937564800000000000000" }, - "Z20e95124c8cf6414db2357e106fade7a8ac72ec7": { + "Q20e95124c8cf6414db2357e106fade7a8ac72ec7": { "balance": "0x43c33c1937564800000000000000" }, - "Z20080fecf20684e664724db93e5d525b8d38c2ce": { + "Q20080fecf20684e664724db93e5d525b8d38c2ce": { "balance": "0x43c33c1937564800000000000000" }, - "Z209b1f8a197619d29018a9b5e915780c885fde9b": { + "Q209b1f8a197619d29018a9b5e915780c885fde9b": { "balance": "0x43c33c1937564800000000000000" }, - "Z23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": { + "Q23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": { "balance": "0x21e19e0c9bab2400000" }, - "Z2546bcd3c84621e976d8185a91a922ae77ecec30": { + "Q2546bcd3c84621e976d8185a91a922ae77ecec30": { "balance": "0x21e19e0c9bab2400000" }, - "Z3c44cdddb6a900fa2b585dd299e03d12fa4293bc": { + "Q3c44cdddb6a900fa2b585dd299e03d12fa4293bc": { "balance": "0x21e19e0c9bab2400000" }, - "Z4242424242424242424242424242424242424242": { + "Q4242424242424242424242424242424242424242": { "code": "0x60806040526004361061003e575f3560e01c806301ffc9a714610042578063228951181461007e578063621fd1301461009a578063c5f2892f146100c4575b5f80fd5b34801561004d575f80fd5b5061006860048036038101906100639190610b67565b6100ee565b6040516100759190610bac565b60405180910390f35b61009860048036038101906100939190610c59565b6101bf565b005b3480156100a5575f80fd5b506100ae6105fb565b6040516100bb9190610da7565b60405180910390f35b3480156100cf575f80fd5b506100d861060d565b6040516100e59190610dd6565b60405180910390f35b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101b857507f85640907000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b610a208787905014610206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fd90610e6f565b60405180910390fd5b6020858590501461024c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024390610efd565b60405180910390fd5b6111f38383905014610293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028a90610f8b565b60405180910390fd5b670de0b6b3a76400003410156102de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d590611019565b60405180910390fd5b5f633b9aca00346102ef919061106d565b1461032f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103269061110d565b60405180910390fd5b5f633b9aca00346103409190611158565b905067ffffffffffffffff801681111561038f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610386906111f8565b60405180910390fd5b5f610399826107dd565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6103ce6020546107dd565b6040516103e2989796959493929190611250565b60405180910390a15f60018a8a8a8a868b8b60405161040797969594939291906112ca565b602060405180830381855afa158015610422573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906104459190611343565b9050838114610489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048090611404565b60405180910390fd5b6001602060026104999190611551565b6104a3919061159b565b602054106104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd9061163e565b60405180910390fd5b600160205f8282546104f8919061165c565b925050819055505f60205490505f5b60208110156105de5760018083160361053d57825f826020811061052e5761052d61168f565b5b018190555050505050506105f2565b60025f82602081106105525761055161168f565b5b0154846040516020016105669291906116dc565b6040516020818303038152906040526040516105829190611741565b602060405180830381855afa15801561059d573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105c09190611343565b92506002826105cf9190611158565b91508080600101915050610507565b505f6105ed576105ec611757565b5b505050505b50505050505050565b60606106086020546107dd565b905090565b5f805f60205490505f5b6020811015610757576001808316036106b45760025f826020811061063f5761063e61168f565b5b0154846040516020016106539291906116dc565b60405160208183030381529060405260405161066f9190611741565b602060405180830381855afa15801561068a573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106ad9190611343565b925061073b565b600283602183602081106106cb576106ca61168f565b5b01546040516020016106de9291906116dc565b6040516020818303038152906040526040516106fa9190611741565b602060405180830381855afa158015610715573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107389190611343565b92505b6002826107489190611158565b91508080600101915050610617565b506002826107666020546107dd565b5f60401b60405160200161077c939291906117cf565b6040516020818303038152906040526040516107989190611741565b602060405180830381855afa1580156107b3573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107d69190611343565b9250505090565b6060600867ffffffffffffffff8111156107fa576107f9611807565b5b6040519080825280601f01601f19166020018201604052801561082c5781602001600182028036833780820191505090505b5090505f8260c01b90508060076008811061084a5761084961168f565b5b1a60f81b825f815181106108615761086061168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806006600881106108a3576108a261168f565b5b1a60f81b826001815181106108bb576108ba61168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806005600881106108fd576108fc61168f565b5b1a60f81b826002815181106109155761091461168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806004600881106109575761095661168f565b5b1a60f81b8260038151811061096f5761096e61168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806003600881106109b1576109b061168f565b5b1a60f81b826004815181106109c9576109c861168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600260088110610a0b57610a0a61168f565b5b1a60f81b82600581518110610a2357610a2261168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600160088110610a6557610a6461168f565b5b1a60f81b82600681518110610a7d57610a7c61168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350805f60088110610abe57610abd61168f565b5b1a60f81b82600781518110610ad657610ad561168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535050919050565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610b4681610b12565b8114610b50575f80fd5b50565b5f81359050610b6181610b3d565b92915050565b5f60208284031215610b7c57610b7b610b0a565b5b5f610b8984828501610b53565b91505092915050565b5f8115159050919050565b610ba681610b92565b82525050565b5f602082019050610bbf5f830184610b9d565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610be657610be5610bc5565b5b8235905067ffffffffffffffff811115610c0357610c02610bc9565b5b602083019150836001820283011115610c1f57610c1e610bcd565b5b9250929050565b5f819050919050565b610c3881610c26565b8114610c42575f80fd5b50565b5f81359050610c5381610c2f565b92915050565b5f805f805f805f6080888a031215610c7457610c73610b0a565b5b5f88013567ffffffffffffffff811115610c9157610c90610b0e565b5b610c9d8a828b01610bd1565b9750975050602088013567ffffffffffffffff811115610cc057610cbf610b0e565b5b610ccc8a828b01610bd1565b9550955050604088013567ffffffffffffffff811115610cef57610cee610b0e565b5b610cfb8a828b01610bd1565b93509350506060610d0e8a828b01610c45565b91505092959891949750929550565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d54578082015181840152602081019050610d39565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d7982610d1d565b610d838185610d27565b9350610d93818560208601610d37565b610d9c81610d5f565b840191505092915050565b5f6020820190508181035f830152610dbf8184610d6f565b905092915050565b610dd081610c26565b82525050565b5f602082019050610de95f830184610dc7565b92915050565b5f82825260208201905092915050565b7f4465706f736974436f6e74726163743a20696e76616c6964207075626b6579205f8201527f6c656e6774680000000000000000000000000000000000000000000000000000602082015250565b5f610e59602683610def565b9150610e6482610dff565b604082019050919050565b5f6020820190508181035f830152610e8681610e4d565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c696420776974686472615f8201527f77616c5f63726564656e7469616c73206c656e67746800000000000000000000602082015250565b5f610ee7603683610def565b9150610ef282610e8d565b604082019050919050565b5f6020820190508181035f830152610f1481610edb565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c6964207369676e6174755f8201527f7265206c656e6774680000000000000000000000000000000000000000000000602082015250565b5f610f75602983610def565b9150610f8082610f1b565b604082019050919050565b5f6020820190508181035f830152610fa281610f69565b9050919050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206c6f770000000000000000000000000000000000000000000000000000602082015250565b5f611003602683610def565b915061100e82610fa9565b604082019050919050565b5f6020820190508181035f83015261103081610ff7565b9050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61107782611037565b915061108283611037565b92508261109257611091611040565b5b828206905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c7565206e5f8201527f6f74206d756c7469706c65206f66206777656900000000000000000000000000602082015250565b5f6110f7603383610def565b91506111028261109d565b604082019050919050565b5f6020820190508181035f830152611124816110eb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61116282611037565b915061116d83611037565b92508261117d5761117c611040565b5b828204905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206869676800000000000000000000000000000000000000000000000000602082015250565b5f6111e2602783610def565b91506111ed82611188565b604082019050919050565b5f6020820190508181035f83015261120f816111d6565b9050919050565b828183375f83830152505050565b5f61122f8385610d27565b935061123c838584611216565b61124583610d5f565b840190509392505050565b5f60a0820190508181035f830152611269818a8c611224565b9050818103602083015261127e81888a611224565b905081810360408301526112928187610d6f565b905081810360608301526112a7818587611224565b905081810360808301526112bb8184610d6f565b90509998505050505050505050565b5f6080820190508181035f8301526112e381898b611224565b905081810360208301526112f8818789611224565b9050818103604083015261130c8186610d6f565b90508181036060830152611321818486611224565b905098975050505050505050565b5f8151905061133d81610c2f565b92915050565b5f6020828403121561135857611357610b0a565b5b5f6113658482850161132f565b91505092915050565b7f4465706f736974436f6e74726163743a207265636f6e737472756374656420445f8201527f65706f7369744461746120646f6573206e6f74206d6174636820737570706c6960208201527f6564206465706f7369745f646174615f726f6f74000000000000000000000000604082015250565b5f6113ee605483610def565b91506113f98261136e565b606082019050919050565b5f6020820190508181035f83015261141b816113e2565b9050919050565b5f8160011c9050919050565b5f808291508390505b6001851115611477578086048111156114535761145261112b565b5b60018516156114625780820291505b808102905061147085611422565b9450611437565b94509492505050565b5f8261148f576001905061154a565b8161149c575f905061154a565b81600181146114b257600281146114bc576114eb565b600191505061154a565b60ff8411156114ce576114cd61112b565b5b8360020a9150848211156114e5576114e461112b565b5b5061154a565b5060208310610133831016604e8410600b84101617156115205782820a90508381111561151b5761151a61112b565b5b61154a565b61152d848484600161142e565b925090508184048111156115445761154361112b565b5b81810290505b9392505050565b5f61155b82611037565b915061156683611037565b92506115937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611480565b905092915050565b5f6115a582611037565b91506115b083611037565b92508282039050818111156115c8576115c761112b565b5b92915050565b7f4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c5f8201527f6c00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611628602183610def565b9150611633826115ce565b604082019050919050565b5f6020820190508181035f8301526116558161161c565b9050919050565b5f61166682611037565b915061167183611037565b92508282019050808211156116895761168861112b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b6116d66116d182610c26565b6116bc565b82525050565b5f6116e782856116c5565b6020820191506116f782846116c5565b6020820191508190509392505050565b5f81905092915050565b5f61171b82610d1d565b6117258185611707565b9350611735818560208601610d37565b80840191505092915050565b5f61174c8284611711565b915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082169050919050565b5f819050919050565b6117c96117c482611784565b6117af565b82525050565b5f6117da82866116c5565b6020820191506117ea8285611711565b91506117f682846117b8565b601882019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffdfea2646970667358221220d50b8bcc63f95cdb172aa13e9a5ec51dc2f1ab189547eb65ddc4d2f80b175dec64736f6c637828302e382e32332d646576656c6f702e323032332e31312e382b636f6d6d69742e37393163303532310059", "balance": "0x0" }, - "Z5678e9e827b3be0e3d4b910126a64a697a148267": { + "Q5678e9e827b3be0e3d4b910126a64a697a148267": { "balance": "0x43c33c1937564800000" }, - "Z70997970c51812dc3a010c7d01b50e0d17dc79c8": { + "Q70997970c51812dc3a010c7d01b50e0d17dc79c8": { "balance": "0x21e19e0c9bab2400000" }, - "Z71be63f3384f5fb98995898a86b02fb2426c5788": { + "Q71be63f3384f5fb98995898a86b02fb2426c5788": { "balance": "0x21e19e0c9bab2400000" }, - "Z8626f6940e2eb28930efb4cef49b2d1f2c9c1199": { + "Q8626f6940e2eb28930efb4cef49b2d1f2c9c1199": { "balance": "0x21e19e0c9bab2400000" }, - "Z90f79bf6eb2c4f870365e785982e1f101e93b906": { + "Q90f79bf6eb2c4f870365e785982e1f101e93b906": { "balance": "0x21e19e0c9bab2400000" }, - "Z976ea74026e726554db657fa54763abd0c3a0aa9": { + "Q976ea74026e726554db657fa54763abd0c3a0aa9": { "balance": "0x21e19e0c9bab2400000" }, - "Z9965507d1a55bcc2695c58ba16fb37d819b0a4dc": { + "Q9965507d1a55bcc2695c58ba16fb37d819b0a4dc": { "balance": "0x21e19e0c9bab2400000" }, - "Za0ee7a142d267c1f36714e4a8f75612f20a79720": { + "Qa0ee7a142d267c1f36714e4a8f75612f20a79720": { "balance": "0x21e19e0c9bab2400000" }, - "Zbcd4042de499d14e55001ccbb24a551f3b954096": { + "Qbcd4042de499d14e55001ccbb24a551f3b954096": { "balance": "0x21e19e0c9bab2400000" }, - "Zbda5747bfd65f08deb54cb465eb87d40e51b197e": { + "Qbda5747bfd65f08deb54cb465eb87d40e51b197e": { "balance": "0x21e19e0c9bab2400000" }, - "Zcd3b766ccdd6ae721141f452c550ca635964ce71": { + "Qcd3b766ccdd6ae721141f452c550ca635964ce71": { "balance": "0x21e19e0c9bab2400000" }, - "Zdd2fd4581271e230360230f9337d5c0430bf44c0": { + "Qdd2fd4581271e230360230f9337d5c0430bf44c0": { "balance": "0x21e19e0c9bab2400000" }, - "Zdf3e18d64bc6a983f673ab319ccae4f1a57c7097": { + "Qdf3e18d64bc6a983f673ab319ccae4f1a57c7097": { "balance": "0x21e19e0c9bab2400000" }, - "Zf39fd6e51aad88f6f4ce6ab8827279cfffb92266": { + "Qf39fd6e51aad88f6f4ce6ab8827279cfffb92266": { "balance": "0x21e19e0c9bab2400000" }, - "Zfabb0ac9d68b0b445fb7357272ff202c5651694a": { + "Qfabb0ac9d68b0b445fb7357272ff202c5651694a": { "balance": "0x21e19e0c9bab2400000" } }, diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Z2086ea3853acf31bdeaa7d46f34360e8996d95c5 b/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Z2086ea3853acf31bdeaa7d46f34360e8996d95c5 rename to scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 index f07dc596..8e239894 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Z2086ea3853acf31bdeaa7d46f34360e8996d95c5 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 @@ -1 +1 @@ -{"address":"Z2086ea3853acf31bdeaa7d46f34360e8996d95c5","crypto":{"cipher":"aes-256-gcm","ciphertext":"f670ab3fdf520fc2bb6f8763d4908be28d539008bf3c5257ee48478d68c381624f64f392a55f6f181aaa8ac297de89d026e97c5cbfe9495729b748eb17e56ffa","cipherparams":{"iv":"7248e797bc55e10c375bedc5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"078ff6e25275808d20a15d264ffb895dff39268d36375a2d5ba08453f2272212","t":8}},"id":"4a7b3f47-121a-419a-a727-b28e6b723cf2","version":1} \ No newline at end of file +{"address":"Q2086ea3853acf31bdeaa7d46f34360e8996d95c5","crypto":{"cipher":"aes-256-gcm","ciphertext":"f670ab3fdf520fc2bb6f8763d4908be28d539008bf3c5257ee48478d68c381624f64f392a55f6f181aaa8ac297de89d026e97c5cbfe9495729b748eb17e56ffa","cipherparams":{"iv":"7248e797bc55e10c375bedc5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"078ff6e25275808d20a15d264ffb895dff39268d36375a2d5ba08453f2272212","t":8}},"id":"4a7b3f47-121a-419a-a727-b28e6b723cf2","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Z208680cc1efbd4f95fdf88bfcd4bd99efae790b5 b/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Z208680cc1efbd4f95fdf88bfcd4bd99efae790b5 rename to scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 index ee559d98..547236d6 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Z208680cc1efbd4f95fdf88bfcd4bd99efae790b5 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 @@ -1 +1 @@ -{"address":"Z208680cc1efbd4f95fdf88bfcd4bd99efae790b5","crypto":{"cipher":"aes-256-gcm","ciphertext":"8ee04d450b4b28aeafa4c30497e2177fa8dbe0bb6e2dd832c2568fd3f95ba27aa1b170ab76ce0cf37a69009745ee7ea905d6696f6719e70bd7ff0331830a5f1b","cipherparams":{"iv":"b6566c8e32f68963f2d67cd5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"8ba26742e3970750b227d406fe7c294938dd18a24fd7fd901a96a2a2a191fcf2","t":8}},"id":"dd66c70b-cfae-446f-9d94-a2f36b9146e4","version":1} \ No newline at end of file +{"address":"Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5","crypto":{"cipher":"aes-256-gcm","ciphertext":"8ee04d450b4b28aeafa4c30497e2177fa8dbe0bb6e2dd832c2568fd3f95ba27aa1b170ab76ce0cf37a69009745ee7ea905d6696f6719e70bd7ff0331830a5f1b","cipherparams":{"iv":"b6566c8e32f68963f2d67cd5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"8ba26742e3970750b227d406fe7c294938dd18a24fd7fd901a96a2a2a191fcf2","t":8}},"id":"dd66c70b-cfae-446f-9d94-a2f36b9146e4","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Z20d11a90537052ea38350402a4fa4fc3824c170b b/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Z20d11a90537052ea38350402a4fa4fc3824c170b rename to scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b index a1136703..c1866b8d 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Z20d11a90537052ea38350402a4fa4fc3824c170b +++ b/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b @@ -1 +1 @@ -{"address":"Z20d11a90537052ea38350402a4fa4fc3824c170b","crypto":{"cipher":"aes-256-gcm","ciphertext":"33394d5beabf8a849e434b80a9ba8957cf97818ba7b8f14cad8cb274b1da250db53ed7581feaa4a9f2540577d5191f6178c6e22da4d7bf83fca5aa0c27634e80","cipherparams":{"iv":"4abf9fd06a1f447213ef6cdf"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"2bdf5f1f10d5ec21f6fb35b8b654938eae5eebfaf370e3bd7b42b90b7c0703df","t":8}},"id":"c5045209-b074-4163-9b37-b3156a9c7e80","version":1} \ No newline at end of file +{"address":"Q20d11a90537052ea38350402a4fa4fc3824c170b","crypto":{"cipher":"aes-256-gcm","ciphertext":"33394d5beabf8a849e434b80a9ba8957cf97818ba7b8f14cad8cb274b1da250db53ed7581feaa4a9f2540577d5191f6178c6e22da4d7bf83fca5aa0c27634e80","cipherparams":{"iv":"4abf9fd06a1f447213ef6cdf"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"2bdf5f1f10d5ec21f6fb35b8b654938eae5eebfaf370e3bd7b42b90b7c0703df","t":8}},"id":"c5045209-b074-4163-9b37-b3156a9c7e80","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Z201c6c39b78bba5454c8e78c9a13148d501097b4 b/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Z201c6c39b78bba5454c8e78c9a13148d501097b4 rename to scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 index cf9907d0..59193077 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Z201c6c39b78bba5454c8e78c9a13148d501097b4 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 @@ -1 +1 @@ -{"address":"Z201c6c39b78bba5454c8e78c9a13148d501097b4","crypto":{"cipher":"aes-256-gcm","ciphertext":"a1050126a9c3983efe8183ba42c3f7da680b65ca675d07ce71afbff8443112595b06eb8f7ef071a86f7746b6e0d054488d7129f781183900229da97bd40ac753","cipherparams":{"iv":"615579941594eba4492e45a5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"f41465e9ef64b158ea7340083b0c34fcdec5728a94372a8cc2162916586a0b2d","t":8}},"id":"bddb55d4-440d-4fbd-baa4-53616b64e0f4","version":1} \ No newline at end of file +{"address":"Q201c6c39b78bba5454c8e78c9a13148d501097b4","crypto":{"cipher":"aes-256-gcm","ciphertext":"a1050126a9c3983efe8183ba42c3f7da680b65ca675d07ce71afbff8443112595b06eb8f7ef071a86f7746b6e0d054488d7129f781183900229da97bd40ac753","cipherparams":{"iv":"615579941594eba4492e45a5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"f41465e9ef64b158ea7340083b0c34fcdec5728a94372a8cc2162916586a0b2d","t":8}},"id":"bddb55d4-440d-4fbd-baa4-53616b64e0f4","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Z209b1f8a197619d29018a9b5e915780c885fde9b b/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Z209b1f8a197619d29018a9b5e915780c885fde9b rename to scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b index ccb5f518..4438ca97 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Z209b1f8a197619d29018a9b5e915780c885fde9b +++ b/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b @@ -1 +1 @@ -{"address":"Z209b1f8a197619d29018a9b5e915780c885fde9b","crypto":{"cipher":"aes-256-gcm","ciphertext":"089fa3fffbc4c3e6e972be426ae8f1405adba32a787aac127867c2e01b3a882bedf87e44adb426aee757b0bf06ede39c8f8d27c8ee694a1f222bbad4bf107b03","cipherparams":{"iv":"47e8614a75ea354e6043cee1"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"9d8efba285813a684ed45cc86395a707056141f716c412d78faaa1206f44ed4c","t":8}},"id":"5f2e86df-4097-4d6b-8fdf-a409569c8104","version":1} \ No newline at end of file +{"address":"Q209b1f8a197619d29018a9b5e915780c885fde9b","crypto":{"cipher":"aes-256-gcm","ciphertext":"089fa3fffbc4c3e6e972be426ae8f1405adba32a787aac127867c2e01b3a882bedf87e44adb426aee757b0bf06ede39c8f8d27c8ee694a1f222bbad4bf107b03","cipherparams":{"iv":"47e8614a75ea354e6043cee1"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"9d8efba285813a684ed45cc86395a707056141f716c412d78faaa1206f44ed4c","t":8}},"id":"5f2e86df-4097-4d6b-8fdf-a409569c8104","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Z20583d7d1511f8f7eb011fdc53666e0aa94bf554 b/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Z20583d7d1511f8f7eb011fdc53666e0aa94bf554 rename to scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 index bd4e04c0..a4d6cf87 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Z20583d7d1511f8f7eb011fdc53666e0aa94bf554 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 @@ -1 +1 @@ -{"address":"Z20583d7d1511f8f7eb011fdc53666e0aa94bf554","crypto":{"cipher":"aes-256-gcm","ciphertext":"8ce6b53815d066c59e2192cca19eebee48f701b101d190fdc2aa19e0451fe17c51a5378a3362584c87212b92e775df2f91043d9dc099b64daf34c5444be451c1","cipherparams":{"iv":"4501afb02eb1c1c8371e54d6"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7bd69ac857742cc754e68e95d7fa18df909359a8ca63756a8a6a2e3bfc2f882e","t":8}},"id":"73cb6f19-3f8d-427a-9ccf-7d486681238d","version":1} \ No newline at end of file +{"address":"Q20583d7d1511f8f7eb011fdc53666e0aa94bf554","crypto":{"cipher":"aes-256-gcm","ciphertext":"8ce6b53815d066c59e2192cca19eebee48f701b101d190fdc2aa19e0451fe17c51a5378a3362584c87212b92e775df2f91043d9dc099b64daf34c5444be451c1","cipherparams":{"iv":"4501afb02eb1c1c8371e54d6"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7bd69ac857742cc754e68e95d7fa18df909359a8ca63756a8a6a2e3bfc2f882e","t":8}},"id":"73cb6f19-3f8d-427a-9ccf-7d486681238d","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Z204caedb9ea074424df0305d7e5dda7d8594d4c1 b/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Z204caedb9ea074424df0305d7e5dda7d8594d4c1 rename to scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 index 33efbfdf..2b508f99 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Z204caedb9ea074424df0305d7e5dda7d8594d4c1 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 @@ -1 +1 @@ -{"address":"Z204caedb9ea074424df0305d7e5dda7d8594d4c1","crypto":{"cipher":"aes-256-gcm","ciphertext":"7fce48f64875bac00203ffd7eb6db7390ccc1ac8f44a562054cced97e43e9d4367d1e2760c85e8517831b9495c84a7e4e5c4a116645cc77fd2ec4fa69a1afddb","cipherparams":{"iv":"ad67e7b6b6b045683cddb999"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7b536bc15040e3044d8c22cc60cc65fc718aefd987fc2a21c1a677dcf66f496e","t":8}},"id":"93853996-e28b-404a-bd8b-1d584af6e421","version":1} \ No newline at end of file +{"address":"Q204caedb9ea074424df0305d7e5dda7d8594d4c1","crypto":{"cipher":"aes-256-gcm","ciphertext":"7fce48f64875bac00203ffd7eb6db7390ccc1ac8f44a562054cced97e43e9d4367d1e2760c85e8517831b9495c84a7e4e5c4a116645cc77fd2ec4fa69a1afddb","cipherparams":{"iv":"ad67e7b6b6b045683cddb999"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7b536bc15040e3044d8c22cc60cc65fc718aefd987fc2a21c1a677dcf66f496e","t":8}},"id":"93853996-e28b-404a-bd8b-1d584af6e421","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Z20747da480a37c6698c61b045947192ae2cd1f63 b/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Z20747da480a37c6698c61b045947192ae2cd1f63 rename to scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 index 09f60a43..a8112117 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Z20747da480a37c6698c61b045947192ae2cd1f63 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 @@ -1 +1 @@ -{"address":"Z20747da480a37c6698c61b045947192ae2cd1f63","crypto":{"cipher":"aes-256-gcm","ciphertext":"f1d61b3fc5f7fe4f102d533795499a57bbc5913c9fb4d01ed7adab82e49c7b39c44812ac4bc68110fd7909c0abbe4877bd2365af8494d4578f614d4b8283bbdc","cipherparams":{"iv":"792036b5f8f56e8c48b3f013"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"06f2a462ad33493f2f6affe088ce30a30dfcfcc90d344437ec410e675d0b1807","t":8}},"id":"b6bb4dcf-6f53-4c45-885c-2434d6492f3c","version":1} \ No newline at end of file +{"address":"Q20747da480a37c6698c61b045947192ae2cd1f63","crypto":{"cipher":"aes-256-gcm","ciphertext":"f1d61b3fc5f7fe4f102d533795499a57bbc5913c9fb4d01ed7adab82e49c7b39c44812ac4bc68110fd7909c0abbe4877bd2365af8494d4578f614d4b8283bbdc","cipherparams":{"iv":"792036b5f8f56e8c48b3f013"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"06f2a462ad33493f2f6affe088ce30a30dfcfcc90d344437ec410e675d0b1807","t":8}},"id":"b6bb4dcf-6f53-4c45-885c-2434d6492f3c","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Z20e95124c8cf6414db2357e106fade7a8ac72ec7 b/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Z20e95124c8cf6414db2357e106fade7a8ac72ec7 rename to scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 index 3aee8df3..c58f202d 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Z20e95124c8cf6414db2357e106fade7a8ac72ec7 +++ b/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 @@ -1 +1 @@ -{"address":"Z20e95124c8cf6414db2357e106fade7a8ac72ec7","crypto":{"cipher":"aes-256-gcm","ciphertext":"bffd548bc36893cf9699686f0faa340d0d9246f89a2ac19f516bbfeb2387f3a16317163ce91fea76ae78c546c3236fdb378581bc8f9ad8bf2967df19cf254992","cipherparams":{"iv":"a0006e117fefb6ecc3d57941"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"96cf7a6d37e4b387172dc08bc86a9b90ae99aedc205d4b60d1c513cb36a8810d","t":8}},"id":"5b14c773-4b14-4f81-8ce3-02435b85f27c","version":1} \ No newline at end of file +{"address":"Q20e95124c8cf6414db2357e106fade7a8ac72ec7","crypto":{"cipher":"aes-256-gcm","ciphertext":"bffd548bc36893cf9699686f0faa340d0d9246f89a2ac19f516bbfeb2387f3a16317163ce91fea76ae78c546c3236fdb378581bc8f9ad8bf2967df19cf254992","cipherparams":{"iv":"a0006e117fefb6ecc3d57941"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"96cf7a6d37e4b387172dc08bc86a9b90ae99aedc205d4b60d1c513cb36a8810d","t":8}},"id":"5b14c773-4b14-4f81-8ce3-02435b85f27c","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Z20080fecf20684e664724db93e5d525b8d38c2ce b/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce similarity index 86% rename from scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Z20080fecf20684e664724db93e5d525b8d38c2ce rename to scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce index bbde96b5..6628e8ae 100644 --- a/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Z20080fecf20684e664724db93e5d525b8d38c2ce +++ b/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce @@ -1 +1 @@ -{"address":"Z20080fecf20684e664724db93e5d525b8d38c2ce","crypto":{"cipher":"aes-256-gcm","ciphertext":"3c2776c576fc6aa9332edb47f93e27969b15d329c64e46740d43559a8b71146e3200cda84c812a8e9c28a37d3577870255dc5dd11c64ddd8f3b34f490baa75b3","cipherparams":{"iv":"d52483c34c603af84fabb1fb"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"d7960351492f955d1285e2c01b31e73ac7f0d737827d5fcdb805f305e61df09b","t":8}},"id":"53ccd6db-f2a7-4421-9932-57f89ea997df","version":1} \ No newline at end of file +{"address":"Q20080fecf20684e664724db93e5d525b8d38c2ce","crypto":{"cipher":"aes-256-gcm","ciphertext":"3c2776c576fc6aa9332edb47f93e27969b15d329c64e46740d43559a8b71146e3200cda84c812a8e9c28a37d3577870255dc5dd11c64ddd8f3b34f490baa75b3","cipherparams":{"iv":"d52483c34c603af84fabb1fb"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"d7960351492f955d1285e2c01b31e73ac7f0d737827d5fcdb805f305e61df09b","t":8}},"id":"53ccd6db-f2a7-4421-9932-57f89ea997df","version":1} \ No newline at end of file diff --git a/scripts/gzond_binary.sh b/scripts/gzond_binary.sh index 13656286..1c0d3087 100755 --- a/scripts/gzond_binary.sh +++ b/scripts/gzond_binary.sh @@ -59,12 +59,12 @@ start() { download if [ -z "${ORIGARGS[1]}" ]; then echo "Starting gzond..." - echo "gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,zond,admin,debug,txpool,net --ws.api web3,zond,admin,debug,miner,txpool,net --dev " - ${TMP_FOLDER}/gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,zond,admin,debug,txpool,net --ws.api web3,zond,admin,debug,miner,txpool,net --dev + echo "gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev " + ${TMP_FOLDER}/gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev else echo "Starting gzond..." - echo "gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,zond,admin,debug,txpool,net --ws.api web3,zond,admin,debug,miner,txpool,net --dev &>/dev/null &" - ${TMP_FOLDER}/gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,zond,admin,debug,txpool,net --ws.api web3,zond,admin,debug,miner,txpool,net --dev &>/dev/null & + echo "gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev &>/dev/null &" + ${TMP_FOLDER}/gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev &>/dev/null & echo "Waiting for gzond..." npx wait-port -t 10000 "$WEB3_SYSTEM_TEST_PORT" fi @@ -75,8 +75,8 @@ startSync() { ${TMP_FOLDER}/gzond --datadir ./tmp/data1 init ./scripts/genesis.json ${TMP_FOLDER}/gzond --datadir ./tmp/data2 init ./scripts/genesis.json - ${TMP_FOLDER}/gzond --datadir ./tmp/data1 --ipcpath $IPC_PATH_1 --nodiscover --networkid 1234 --ws --ws.addr 0.0.0.0 --ws.port 18545 --http --http.addr 0.0.0.0 --http.port 18545 --http.api web3,zond,admin,debug,txpool,net --ws.api web3,zond,admin,debug,miner,txpool,net &>/dev/null & - ${TMP_FOLDER}/gzond --datadir ./tmp/data2 --ipcpath $IPC_PATH_2 --nodiscover --networkid 1234 --port 30304 --authrpc.port 8552 --ws --ws.addr 0.0.0.0 --ws.port 28545 --http --http.addr 0.0.0.0 --http.port 28545 --http.api web3,zond,admin,debug,txpool,net --ws.api web3,zond,admin,debug,miner,txpool,net &>/dev/null & + ${TMP_FOLDER}/gzond --datadir ./tmp/data1 --ipcpath $IPC_PATH_1 --nodiscover --networkid 1234 --ws --ws.addr 0.0.0.0 --ws.port 18545 --http --http.addr 0.0.0.0 --http.port 18545 --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net &>/dev/null & + ${TMP_FOLDER}/gzond --datadir ./tmp/data2 --ipcpath $IPC_PATH_2 --nodiscover --networkid 1234 --port 30304 --authrpc.port 8552 --ws --ws.addr 0.0.0.0 --ws.port 28545 --http --http.addr 0.0.0.0 --http.port 28545 --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net &>/dev/null & npx wait-port -t 10000 18545 npx wait-port -t 10000 28545 diff --git a/scripts/pos.sh b/scripts/pos.sh index ac8641e3..8e47e44d 100755 --- a/scripts/pos.sh +++ b/scripts/pos.sh @@ -89,8 +89,8 @@ start() { --keystore $TMP_FOLDER/execution/keystore \ --unlock "0,1,2,3,4,5,6,7,8,9" \ --password $TMP_FOLDER/execution/password.txt \ - --http.api web3,zond,admin,debug,txpool,net \ - --ws.api web3,zond,admin,debug,miner,txpool,net \ + --http.api web3,qrl,admin,debug,txpool,net \ + --ws.api web3,qrl,admin,debug,miner,txpool,net \ --syncmode=full >> ${TMP_FOLDER}/logs/gzond.log 2>&1 & echo "Waiting for gzond..." @@ -109,7 +109,7 @@ start() { --accept-terms-of-use \ --jwt-secret=${TMP_FOLDER}/data/gzond/jwtsecret \ --contract-deployment-block=0 \ - --suggested-fee-recipient=Z123463a4b065722e99115d6c222f267d9cabb524 \ + --suggested-fee-recipient=Q123463a4b065722e99115d6c222f267d9cabb524 \ --enable-debug-rpc-endpoints >> ${TMP_FOLDER}/logs/beacon.log 2>&1 & echo "Waiting for validator..." diff --git a/scripts/system_tests_utils.ts b/scripts/system_tests_utils.ts index 9f8a6fc4..b96e2717 100644 --- a/scripts/system_tests_utils.ts +++ b/scripts/system_tests_utils.ts @@ -23,16 +23,16 @@ import { decrypt, seedToAccount, signTransaction, -} from '@theqrl/web3-zond-accounts'; +} from '@theqrl/web3-qrl-accounts'; // eslint-disable-next-line import/no-extraneous-dependencies -import { prepareTransactionForSigning, Web3Zond } from '@theqrl/web3-zond'; +import { prepareTransactionForSigning, Web3QRL } from '@theqrl/web3-qrl'; // eslint-disable-next-line import/no-extraneous-dependencies import { Web3Context } from '@theqrl/web3-core'; // eslint-disable-next-line import/no-extraneous-dependencies import { - ZondExecutionAPI, + QRLExecutionAPI, Bytes, Web3BaseProvider, Transaction, @@ -42,16 +42,16 @@ import { ProviderRpcError, JsonRpcSubscriptionResult, JsonRpcNotification, - ZOND_DATA_FORMAT, + QRL_DATA_FORMAT, SupportedProviders, Web3APISpec, - Web3ZondExecutionAPI, + Web3QRLExecutionAPI, } from '@theqrl/web3-types'; // eslint-disable-next-line import/no-extraneous-dependencies import Web3 from '@theqrl/web3'; // eslint-disable-next-line import/no-extraneous-dependencies -import { NonPayableMethodObject } from '@theqrl/web3-zond-contract'; +import { NonPayableMethodObject } from '@theqrl/web3-qrl-contract'; // eslint-disable-next-line import/no-extraneous-dependencies import HttpProvider from '@theqrl/web3-providers-http'; // eslint-disable-next-line import/no-extraneous-dependencies @@ -73,7 +73,7 @@ export const DEFAULT_SYSTEM_ENGINE = 'node'; export const getSystemTestProviderUrl = (): string => getEnvVar('WEB3_SYSTEM_TEST_PROVIDER') ?? DEFAULT_SYSTEM_PROVIDER; -export const getSystemTestProvider = (): +export const getSystemTestProvider = (): | string | SupportedProviders => { const url = getSystemTestProviderUrl(); @@ -172,11 +172,11 @@ export const closeOpenConnection = async (web3Context: Web3Context) => { } }; -export const createAccountProvider = (context: Web3Context) => { +export const createAccountProvider = (context: Web3Context) => { const signTransactionWithContext = async (transaction: Transaction, seed: Bytes) => { const tx = await prepareTransactionForSigning(transaction, context); - const seedBytes = format({ format: 'bytes' }, seed, ZOND_DATA_FORMAT); + const seedBytes = format({ format: 'bytes' }, seed, QRL_DATA_FORMAT); return signTransaction(tx, seedBytes); }; @@ -223,9 +223,9 @@ export const createAccountProvider = (context: Web3Context) => }; export const refillAccount = async (from: string, to: string, value: string | number) => { - const web3Zond = new Web3Zond(DEFAULT_SYSTEM_PROVIDER); + const web3QRL = new Web3QRL(DEFAULT_SYSTEM_PROVIDER); - await web3Zond.sendTransaction({ + await web3QRL.sendTransaction({ from, to, value, @@ -242,14 +242,14 @@ export const createNewAccount = async (config?: { const clientUrl = DEFAULT_SYSTEM_PROVIDER; if (config?.refill) { - const web3Zond = new Web3Zond(clientUrl); + const web3QRL = new Web3QRL(clientUrl); if (!mainAcc) { - [mainAcc] = await web3Zond.getAccounts(); + [mainAcc] = await web3QRL.getAccounts(); } await refillAccount(mainAcc, acc.address, '10000000000000000000'); } - return { address: `Z${acc.address.slice(1).toLowerCase()}`, seed: acc.seed }; + return { address: `Q${acc.address.slice(1).toLowerCase()}`, seed: acc.seed }; }; let tempAccountList: { address: string; seed: string }[] = []; const walletsOnWorker = 20; @@ -303,8 +303,8 @@ export const getSystemTestAccounts = async (): Promise => export const signTxAndSendEIP1559 = async (provider: unknown, tx: Transaction, seed: string) => { const web3 = new Web3(provider as Web3BaseProvider); - const acc = web3.zond.accounts.seedToAccount(seed); - web3.zond.wallet?.add(seed); + const acc = web3.qrl.accounts.seedToAccount(seed); + web3.qrl.wallet?.add(seed); const txObj = { ...tx, @@ -313,7 +313,7 @@ export const signTxAndSendEIP1559 = async (provider: unknown, tx: Transaction, s from: acc.address, }; - return web3.zond.sendTransaction(txObj, undefined, { checkRevertBeforeSending: false }); + return web3.qrl.sendTransaction(txObj, undefined, { checkRevertBeforeSending: false }); }; export const signAndSendContractMethodEIP1559 = async ( @@ -332,7 +332,7 @@ export const signAndSendContractMethodEIP1559 = async ( ); export const createLocalAccount = async (web3: Web3) => { - const account = web3.zond.accounts.create(); + const account = web3.qrl.accounts.create(); await refillAccount( ( await createTempAccount() @@ -340,7 +340,7 @@ export const createLocalAccount = async (web3: Web3) => { account.address, '100000000000000000000', ); - web3.zond.accounts.wallet.add(account); + web3.qrl.accounts.wallet.add(account); return account; }; /* eslint-disable @typescript-eslint/no-unsafe-call */ @@ -401,7 +401,7 @@ export const sendFewSampleTxs = async (cnt = 1) => { for (let i = 0; i < cnt; i += 1) { res.push( // eslint-disable-next-line no-await-in-loop - await web3.zond.sendTransaction({ + await web3.qrl.sendTransaction({ to: toAcc.address, value: '0x1', from: fromAcc.address, diff --git a/templates/.eslintignore.tmpl b/templates/.eslintignore.tmpl index ffb881be..9995056d 100644 --- a/templates/.eslintignore.tmpl +++ b/templates/.eslintignore.tmpl @@ -5,5 +5,5 @@ jest.config.js cypress cypress.config.js src/common/chains/** -src/common/eips/** +src/common/qips/** src/common/hardforks/** \ No newline at end of file diff --git a/templates/.secrets.json.tmpl b/templates/.secrets.json.tmpl index ea186760..dfa2efe7 100644 --- a/templates/.secrets.json.tmpl +++ b/templates/.secrets.json.tmpl @@ -3,20 +3,20 @@ "HTTP": "", "WS": "", "ACCOUNT": { - "address": "Za127C5E6a7E3600Ac34A9a9928E52521677e7211", + "address": "Qa127C5E6a7E3600Ac34A9a9928E52521677e7211", "seed": "" }, "ALLOWED_SEND_TRANSACTION": false, - "DEPLOYED_TEST_CONTRACT_ADDRESS": "Zedfd52255571b4a9a9d4445989e39f5c14ff0447" + "DEPLOYED_TEST_CONTRACT_ADDRESS": "Qedfd52255571b4a9a9d4445989e39f5c14ff0447" }, "MAINNET": { "HTTP": "", "WS": "", "ACCOUNT": { - "address": "Z98AF911164f9d4E0f5983ed114949c3Bfe3ADc9d", + "address": "Q98AF911164f9d4E0f5983ed114949c3Bfe3ADc9d", "seed": "" }, "ALLOWED_SEND_TRANSACTION": false, - "DEPLOYED_TEST_CONTRACT_ADDRESS": "Zdac17f958d2ee523a2206206994597c13d831ec7" + "DEPLOYED_TEST_CONTRACT_ADDRESS": "Qdac17f958d2ee523a2206206994597c13d831ec7" } } \ No newline at end of file diff --git a/tools/eslint-config-base-web3/package.json b/tools/eslint-config-base-web3/package.json index b5ede7b7..40269ff4 100644 --- a/tools/eslint-config-base-web3/package.json +++ b/tools/eslint-config-base-web3/package.json @@ -10,7 +10,7 @@ "license": "LGPL-3.0", "keywords": [ "eslint", - "zond", + "qrl", "web3", "web3js", "web3.js", diff --git a/tools/web3-plugin-example/package.json b/tools/web3-plugin-example/package.json index d474acc8..edd47b61 100644 --- a/tools/web3-plugin-example/package.json +++ b/tools/web3-plugin-example/package.json @@ -13,7 +13,7 @@ "author": "The QRL Contributors", "license": "LGPL-3.0", "keywords": [ - "Zond", + "QRL", "JavaScript", "API" ], @@ -41,8 +41,8 @@ "@theqrl/web3-core": "^0.3.3", "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", - "@theqrl/web3-zond-abi": "^0.3.3", - "@theqrl/web3-zond-contract": "^0.3.3", + "@theqrl/web3-qrl-abi": "^0.3.3", + "@theqrl/web3-qrl-contract": "^0.3.3", "@types/jest": "^28.1.6", "@typescript-eslint/eslint-plugin": "^5.30.7", "@typescript-eslint/parser": "^5.30.7", @@ -59,8 +59,8 @@ "@theqrl/web3-core": "^0.1.0", "@theqrl/web3-types": "^0.1.0", "@theqrl/web3-utils": "^0.1.0", - "@theqrl/web3-zond-abi": "^0.1.0", - "@theqrl/web3-zond-contract": "^0.1.0" + "@theqrl/web3-qrl-abi": "^0.1.0", + "@theqrl/web3-qrl-contract": "^0.1.0" }, "gitHead": "d4f3246946fec86d908a215b27568aa8faea88d7" } diff --git a/packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts b/tools/web3-plugin-example/src/SQRCTF1Token.ts similarity index 99% rename from packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts rename to tools/web3-plugin-example/src/SQRCTF1Token.ts index b07e6647..d8eca96e 100644 --- a/packages/web3/test/shared_fixtures/contracts/ZRC20Token.ts +++ b/tools/web3-plugin-example/src/SQRCTF1Token.ts @@ -14,7 +14,7 @@ GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export const ZRC20TokenAbi = [ +export const SQRCTF1TokenAbi = [ { inputs: [{ internalType: 'uint256', name: 'initialSupply', type: 'uint256' }], stateMutability: 'nonpayable', @@ -117,5 +117,5 @@ export const ZRC20TokenAbi = [ type: 'function', }, ] as const; -export const ZRC20TokenBytecode = +export const SQRCTF1TokenBytecode = '0x60806040523480156200001157600080fd5b50604051620017a8380380620017a8833981810160405281019062000037919062000362565b6040518060400160405280600481526020017f476f6c64000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474c4400000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb92919062000272565b508060049080519060200190620000d492919062000272565b505050620000e93382620000f060201b60201c565b5062000535565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200015990620003f5565b60405180910390fd5b62000176600083836200026860201b60201c565b80600260008282546200018a919062000446565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001e1919062000446565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002489190620004b4565b60405180910390a362000264600083836200026d60201b60201c565b5050565b505050565b505050565b828054620002809062000500565b90600052602060002090601f016020900481019282620002a45760008555620002f0565b82601f10620002bf57805160ff1916838001178555620002f0565b82800160010185558215620002f0579182015b82811115620002ef578251825591602001919060010190620002d2565b5b509050620002ff919062000303565b5090565b5b808211156200031e57600081600090555060010162000304565b5090565b600080fd5b6000819050919050565b6200033c8162000327565b81146200034857600080fd5b50565b6000815190506200035c8162000331565b92915050565b6000602082840312156200037b576200037a62000322565b5b60006200038b848285016200034b565b91505092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620003dd601f8362000394565b9150620003ea82620003a5565b602082019050919050565b600060208201905081810360008301526200041081620003ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004538262000327565b9150620004608362000327565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000498576200049762000417565b5b828201905092915050565b620004ae8162000327565b82525050565b6000602082019050620004cb6000830184620004a3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200051957607f821691505b6020821081036200052f576200052e620004d1565b5b50919050565b61126380620005456000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b1e565b60405180910390f35b6100e660048036038101906100e19190610bd9565b610308565b6040516100f39190610c34565b60405180910390f35b61010461032b565b6040516101119190610c5e565b60405180910390f35b610134600480360381019061012f9190610c79565b610335565b6040516101419190610c34565b60405180910390f35b610152610364565b60405161015f9190610ce8565b60405180910390f35b610182600480360381019061017d9190610bd9565b61036d565b60405161018f9190610c34565b60405180910390f35b6101b260048036038101906101ad9190610d03565b6103a4565b6040516101bf9190610c5e565b60405180910390f35b6101d06103ec565b6040516101dd9190610b1e565b60405180910390f35b61020060048036038101906101fb9190610bd9565b61047e565b60405161020d9190610c34565b60405180910390f35b610230600480360381019061022b9190610bd9565b6104f5565b60405161023d9190610c34565b60405180910390f35b610260600480360381019061025b9190610d30565b610518565b60405161026d9190610c5e565b60405180910390f35b60606003805461028590610d9f565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d9f565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610dff565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d9f565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d9f565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610ec7565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610feb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c5e565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611057565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110e9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d19061117b565b60405180910390fd5b6108e5838383610a7b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109629061120d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109fe9190610dff565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a629190610c5e565b60405180910390a3610a75848484610a80565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610abf578082015181840152602081019050610aa4565b83811115610ace576000848401525b50505050565b6000601f19601f8301169050919050565b6000610af082610a85565b610afa8185610a90565b9350610b0a818560208601610aa1565b610b1381610ad4565b840191505092915050565b60006020820190508181036000830152610b388184610ae5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b7082610b45565b9050919050565b610b8081610b65565b8114610b8b57600080fd5b50565b600081359050610b9d81610b77565b92915050565b6000819050919050565b610bb681610ba3565b8114610bc157600080fd5b50565b600081359050610bd381610bad565b92915050565b60008060408385031215610bf057610bef610b40565b5b6000610bfe85828601610b8e565b9250506020610c0f85828601610bc4565b9150509250929050565b60008115159050919050565b610c2e81610c19565b82525050565b6000602082019050610c496000830184610c25565b92915050565b610c5881610ba3565b82525050565b6000602082019050610c736000830184610c4f565b92915050565b600080600060608486031215610c9257610c91610b40565b5b6000610ca086828701610b8e565b9350506020610cb186828701610b8e565b9250506040610cc286828701610bc4565b9150509250925092565b600060ff82169050919050565b610ce281610ccc565b82525050565b6000602082019050610cfd6000830184610cd9565b92915050565b600060208284031215610d1957610d18610b40565b5b6000610d2784828501610b8e565b91505092915050565b60008060408385031215610d4757610d46610b40565b5b6000610d5585828601610b8e565b9250506020610d6685828601610b8e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610db757607f821691505b602082108103610dca57610dc9610d70565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e0a82610ba3565b9150610e1583610ba3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610e4a57610e49610dd0565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610eb1602583610a90565b9150610ebc82610e55565b604082019050919050565b60006020820190508181036000830152610ee081610ea4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f43602483610a90565b9150610f4e82610ee7565b604082019050919050565b60006020820190508181036000830152610f7281610f36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fd5602283610a90565b9150610fe082610f79565b604082019050919050565b6000602082019050818103600083015261100481610fc8565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611041601d83610a90565b915061104c8261100b565b602082019050919050565b6000602082019050818103600083015261107081611034565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006110d3602583610a90565b91506110de82611077565b604082019050919050565b60006020820190508181036000830152611102816110c6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611165602383610a90565b915061117082611109565b604082019050919050565b6000602082019050818103600083015261119481611158565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111f7602683610a90565b91506112028261119b565b604082019050919050565b60006020820190508181036000830152611226816111ea565b905091905056fea264697066735822122039c50588d39e359807efa398bd1b3aff1b082ef738dddcfa8475048e11f9024e64736f6c634300080d0033'; diff --git a/tools/web3-plugin-example/src/contract_method_wrappers.ts b/tools/web3-plugin-example/src/contract_method_wrappers.ts index d9f0b8a1..a7244e4d 100644 --- a/tools/web3-plugin-example/src/contract_method_wrappers.ts +++ b/tools/web3-plugin-example/src/contract_method_wrappers.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { Web3PluginBase } from '@theqrl/web3-core'; -import Contract from '@theqrl/web3-zond-contract'; +import Contract from '@theqrl/web3-qrl-contract'; import { Address, ContractAbi, @@ -25,7 +25,7 @@ import { } from '@theqrl/web3-types'; import { format, numberToHex } from '@theqrl/web3-utils'; // eslint-disable-next-line require-extensions/require-extensions -import { ZRC20TokenAbi } from './ZRC20Token'; +import { SQRCTF1TokenAbi } from './SQRCTF1Token'; // eslint-disable-next-line require-extensions/require-extensions import { Web3Context } from './reexported_web3_context'; @@ -34,7 +34,7 @@ export class ContractMethodWrappersPlugin extends Web3PluginBase { // This should be private, but it's public so _contract.requestManager.send can // be mocked in contract_method_wrappers.test.ts - public readonly _contract: Contract; + public readonly _contract: Contract; public constructor(abi: ContractAbi, address: Address) { super(); diff --git a/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts b/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts index 48baac05..6947062b 100644 --- a/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts +++ b/tools/web3-plugin-example/test/unit/contract_method_wrappers.test.ts @@ -18,7 +18,7 @@ import Web3 from '@theqrl/web3'; import { DEFAULT_RETURN_FORMAT } from '@theqrl/web3-types'; import { ContractMethodWrappersPlugin } from '../../src/contract_method_wrappers'; -import { ZRC20TokenAbi } from '../../src/ZRC20Token'; +import { SQRCTF1TokenAbi } from '../../src/SQRCTF1Token'; declare module '../web3_export_helper' { interface Web3 { @@ -31,17 +31,17 @@ describe('ContractMethodWrappersPlugin', () => { const web3 = new Web3('http://127.0.0.1:8545'); web3.registerPlugin( new ContractMethodWrappersPlugin( - ZRC20TokenAbi, - 'ZdAC17F958D2ee523a2206206994597C13D831ec7', + SQRCTF1TokenAbi, + 'QdAC17F958D2ee523a2206206994597C13D831ec7', ), ); expect(web3.contractMethodWrappersPlugin).toBeDefined(); }); describe('methods', () => { - const contractAddress = 'ZdAC17F958D2ee523a2206206994597C13D831ec7'; - const sender = 'Z8da5e39ec14b57fb9bcd9aa2b4500e909119795d'; - const recipient = 'Z4f641def1e7845caab95ac717c80416082430d0d'; + const contractAddress = 'QdAC17F958D2ee523a2206206994597C13D831ec7'; + const sender = 'Q8da5e39ec14b57fb9bcd9aa2b4500e909119795d'; + const recipient = 'Q4f641def1e7845caab95ac717c80416082430d0d'; const amount = BigInt(42); const expectedSenderBalance = '0x0000000000000000000000000000000000000000000000000000000000000280'; @@ -53,7 +53,7 @@ describe('ContractMethodWrappersPlugin', () => { beforeAll(() => { web3 = new Web3('http://127.0.0.1:8545'); - web3.registerPlugin(new ContractMethodWrappersPlugin(ZRC20TokenAbi, contractAddress)); + web3.registerPlugin(new ContractMethodWrappersPlugin(SQRCTF1TokenAbi, contractAddress)); }); beforeEach(() => { @@ -69,11 +69,11 @@ describe('ContractMethodWrappersPlugin', () => { DEFAULT_RETURN_FORMAT, ); expect(requestManagerSendSpy).toHaveBeenCalledWith({ - method: 'zond_call', + method: 'qrl_call', params: [ expect.objectContaining({ input: '0x70a082310000000000000000000000008da5e39ec14b57fb9bcd9aa2b4500e909119795d', - to: 'ZdAC17F958D2ee523a2206206994597C13D831ec7', + to: 'QdAC17F958D2ee523a2206206994597C13D831ec7', }), 'latest', ], @@ -103,9 +103,9 @@ describe('ContractMethodWrappersPlugin', () => { recipient, amount, ); - // The first call will be to `zond_getBlockByNumber` and the second is to `zond_blockNumber`. And the third one will be to `zond_sendTransaction`: + // The first call will be to `qrl_getBlockByNumber` and the second is to `qrl_blockNumber`. And the third one will be to `qrl_sendTransaction`: expect(requestManagerSendSpy).toHaveBeenNthCalledWith(3, { - method: 'zond_sendTransaction', + method: 'qrl_sendTransaction', params: [ expect.objectContaining({ input: '0xa9059cbb0000000000000000000000004f641def1e7845caab95ac717c80416082430d0d000000000000000000000000000000000000000000000000000000000000002a', diff --git a/yarn.lock b/yarn.lock index 2751cc8a..1020b197 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1850,6 +1850,9 @@ semver "^5.5.0" tmp "0.0.33" +"@theqrl/qrl-contracts@file:../qrl-contracts": + version "0.1.0" + "@theqrl/wallet.js@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@theqrl/wallet.js/-/wallet.js-0.1.1.tgz#4a400d6aa8e886a2953ddbf6f43de1cee1f6d82b" @@ -1859,9 +1862,6 @@ randombytes "^2.1.0" sha3 "^2.1.4" -"@theqrl/zond-contracts@file:../zond-contracts": - version "0.1.0" - "@tootallnate/once@2": version "2.0.0" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" @@ -9527,6 +9527,12 @@ q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== +"qrl-cryptography@file:../js-qrl-cryptography": + version "0.1.0" + dependencies: + "@noble/curves" "1.0.0" + "@noble/hashes" "1.6.1" + qs@6.10.3: version "6.10.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" @@ -11804,9 +11810,3 @@ zod@^3.21.4: version "3.21.4" resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== - -"zond-cryptography@file:../js-zond-cryptography": - version "0.1.0" - dependencies: - "@noble/curves" "1.0.0" - "@noble/hashes" "1.6.1" From dfb8375a3c784ac3a0e509c21b191202a0a080e0 Mon Sep 17 00:00:00 2001 From: Ricardo Geraldes <144315960+rgeraldes24@users.noreply.github.com> Date: Tue, 2 Sep 2025 06:35:46 +0100 Subject: [PATCH 5/8] Update denominations (#11) --- docs/docs/guides/basics/qrl.md | 2 +- docs/docs/guides/web3_providers_guide/examples.md | 2 +- packages/web3-qrl-contract/src/contract.ts | 2 +- .../test/integration/contract_methods.test.ts | 4 ++-- packages/web3-qrl/src/web3_qrl.ts | 4 ++-- .../test/unit/default_transaction_builder.test.ts | 12 ++++++------ packages/web3-utils/src/converters.ts | 11 +++++------ packages/web3-utils/test/fixtures/converters.ts | 12 ++++++------ 8 files changed, 24 insertions(+), 25 deletions(-) diff --git a/docs/docs/guides/basics/qrl.md b/docs/docs/guides/basics/qrl.md index c0e05779..fc671830 100644 --- a/docs/docs/guides/basics/qrl.md +++ b/docs/docs/guides/basics/qrl.md @@ -301,7 +301,7 @@ async function sendSigned() { to: toAddress, value: value, gas: 21000, - maxFeePerGas: web3.utils.toPlanck('10', 'gplanck'), + maxFeePerGas: web3.utils.toPlanck('10', 'shor'), maxPriorityFeePerGas: 30000000, nonce: await web3.qrl.getTransactionCount(fromAddress), }; diff --git a/docs/docs/guides/web3_providers_guide/examples.md b/docs/docs/guides/web3_providers_guide/examples.md index e8dcfa4e..f31e2f3a 100644 --- a/docs/docs/guides/web3_providers_guide/examples.md +++ b/docs/docs/guides/web3_providers_guide/examples.md @@ -501,7 +501,7 @@ Follow these steps to connect to the QRL network with MetaMask and web3.js, incl ).textContent += `\n Transaction hash: ${transactionReceipt.transactionHash}`; document.getElementById( 'log', - ).textContent += `\n Gas Used: ${transactionReceipt.gasUsed} gplanck`; + ).textContent += `\n Gas Used: ${transactionReceipt.gasUsed} shor`; } catch (error) { console.log('error', error); document.getElementById('log').textContent = diff --git a/packages/web3-qrl-contract/src/contract.ts b/packages/web3-qrl-contract/src/contract.ts index cc8c6eef..b23c9589 100644 --- a/packages/web3-qrl-contract/src/contract.ts +++ b/packages/web3-qrl-contract/src/contract.ts @@ -260,7 +260,7 @@ export class Contract * ```ts title="Example" * var myContract = new web3.qrl.Contract([...], 'Qde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe', { * from: 'Q1234567890123456789012345678901234567891', // default from address - * maxFeePerGas: '20000000000' // default max fee per gas in planck, 20 gplanck in this case + * maxFeePerGas: '20000000000' // default max fee per gas in planck, 20 shor in this case * }); * ``` * diff --git a/packages/web3-qrl-contract/test/integration/contract_methods.test.ts b/packages/web3-qrl-contract/test/integration/contract_methods.test.ts index 611c9b5c..97f5d3fd 100644 --- a/packages/web3-qrl-contract/test/integration/contract_methods.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_methods.test.ts @@ -115,8 +115,8 @@ describe('contract', () => { .setValues(1, 'string value', true) .send({ ...sendOptionsLocal, - maxFeePerGas: '0x59682F00', // 1.5 Gplanck - maxPriorityFeePerGas: '0x1DCD6500', // .5 Gplanck + maxFeePerGas: '0x59682F00', // 1.5 shor + maxPriorityFeePerGas: '0x1DCD6500', // .5 shor type: '0x2', }); diff --git a/packages/web3-qrl/src/web3_qrl.ts b/packages/web3-qrl/src/web3_qrl.ts index 4ad8364f..19e0f13e 100644 --- a/packages/web3-qrl/src/web3_qrl.ts +++ b/packages/web3-qrl/src/web3_qrl.ts @@ -185,7 +185,7 @@ export class Web3QRL extends Web3Context { * maxFeePerGas: 40000000000n, * maxPriorityFeePerGas: 20000000000n, @@ -195,7 +195,7 @@ export class Web3QRL extends Web3Context { const block = await this.getBlock<{ number: FMT_NUMBER.BIGINT; bytes: FMT_BYTES.HEX }>( undefined, diff --git a/packages/web3-qrl/test/unit/default_transaction_builder.test.ts b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts index fa675ec3..c93f261a 100644 --- a/packages/web3-qrl/test/unit/default_transaction_builder.test.ts +++ b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts @@ -525,7 +525,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 shor, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -539,7 +539,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 shor, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -553,7 +553,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(expectedMaxPriorityFeePerGas); // 2.5 shor, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -575,7 +575,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 shor, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -596,7 +596,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 shor, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); @@ -617,7 +617,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 Gplanck, hardcoded in defaultTransactionBuilder; + expect(result.maxPriorityFeePerGas).toBe(web3Context.defaultMaxPriorityFeePerGas); // 2.5 shor, hardcoded in defaultTransactionBuilder; expect(result.maxFeePerGas).toBe(expectedMaxFeePerGas); }); }); diff --git a/packages/web3-utils/src/converters.ts b/packages/web3-utils/src/converters.ts index bf5f6b1f..78804a09 100644 --- a/packages/web3-utils/src/converters.ts +++ b/packages/web3-utils/src/converters.ts @@ -48,14 +48,13 @@ export const qrlUnitMap = { Kplanck: expo10(3), mplanck: expo10(6), Mplanck: expo10(6), - gplanck: expo10(9), - Gplanck: expo10(9), + shor: expo10(9), nano: expo10(9), - tplanck: expo10(12), - Tplanck: expo10(12), + kshor: expo10(12), + Kshor: expo10(12), micro: expo10(12), - pplanck: expo10(15), - Pplanck: expo10(15), + mshor: expo10(15), + Mshor: expo10(15), milli: expo10(15), quanta: expo10(18), kquanta: expo10(21), diff --git a/packages/web3-utils/test/fixtures/converters.ts b/packages/web3-utils/test/fixtures/converters.ts index 34dad7a3..b1055195 100644 --- a/packages/web3-utils/test/fixtures/converters.ts +++ b/packages/web3-utils/test/fixtures/converters.ts @@ -260,7 +260,7 @@ const conversionBaseData: [[Numbers, QRLUnits], string][] = [ [['1000', 'planck'], '1000'], [['1', 'kplanck'], '0.001'], [['1', 'mplanck'], '0.000001'], - [['1', 'gplanck'], '0.000000001'], + [['1', 'shor'], '0.000000001'], [['1', 'micro'], '0.000000000001'], [['1', 'milli'], '0.000000000000001'], [['1', 'quanta'], '0.000000000000000001'], @@ -271,7 +271,7 @@ const conversionBaseData: [[Numbers, QRLUnits], string][] = [ [['900000000000000000000000000001', 'tquanta'], '0.900000000000000000000000000001'], [['1000', 'kplanck'], '1'], [['1000000', 'mplanck'], '1'], - [['1000000000', 'gplanck'], '1'], + [['1000000000', 'shor'], '1'], [['1000000000000', 'micro'], '1'], [['1000000000000000', 'milli'], '1'], [['1000000000000000000', 'quanta'], '1'], @@ -280,11 +280,11 @@ const conversionBaseData: [[Numbers, QRLUnits], string][] = [ [['1000000000000000000000000000', 'gquanta'], '1'], [['1000000000000000000000000000000', 'tquanta'], '1'], [['1000000000000000000000000000000', 'tquanta'], '1'], - [['12345678', 'gplanck'], '0.012345678'], - [['76912345678', 'gplanck'], '76.912345678'], - [['134439381738', 'gplanck'], '134.439381738'], + [['12345678', 'shor'], '0.012345678'], + [['76912345678', 'shor'], '76.912345678'], + [['134439381738', 'shor'], '134.439381738'], [['178373938391829348', 'quanta'], '0.178373938391829348'], - [['879123456788877661', 'gplanck'], '879123456.788877661'], + [['879123456788877661', 'shor'], '879123456.788877661'], [['879123456788877661', 'tquanta'], '0.000000000000879123456788877661'], ]; From fef9f0a3768e881dd676c5f1da812084a6bfdf2d Mon Sep 17 00:00:00 2001 From: Ricardo Geraldes <144315960+rgeraldes24@users.noreply.github.com> Date: Tue, 25 Nov 2025 11:20:54 +0400 Subject: [PATCH 6/8] Replace Dilithium 5 with ML-DSA-87 + adopt the new wallet seed standard (#12) * Import @theqrl/mldsa87 and new version of @theqrl/wallet.js * Add descriptor field * Fix tests part 1 * Fix tests part 2 * Fix tests part 3 * Fix tests part 4 * Fix tests part 5 * Fix tests part 6 * Fix tests part 7 * Fix tests part 8 * Fix tests part 9 * Fix tests part 10 * Review sig hash code * Fix tests part 11 * packages/web3/test/e2e/mainnet/get_transaction.test.ts: revert changes * test/unit/tx/base.test.ts: review file * Refactor ML-DSA-87 wallet * Review files * Use wallet verify * Review files * Review files * Review files * Review files * Review files * Review files * Review version * packages/web3-qrl-accounts/src/tx/baseTransaction.ts: review file * Review files * Review files * packages/web3-qrl-accounts/test/unit/jest.config.js: review file * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review files * Review packages/web3-qrl-accounts/src/account.ts --- .../basics/sign_and_send_tx/local_wallet.md | 4 +- .../web3-errors/src/errors/account_errors.ts | 2 +- packages/web3-qrl-accounts/index.d.ts | 2 +- packages/web3-qrl-accounts/package.json | 4 +- packages/web3-qrl-accounts/src/account.ts | 75 +++---- packages/web3-qrl-accounts/src/tx/address.ts | 14 +- .../src/tx/baseTransaction.ts | 52 +++-- .../web3-qrl-accounts/src/tx/constants.ts | 2 +- .../src/tx/eip1559Transaction.ts | 27 ++- packages/web3-qrl-accounts/src/tx/types.ts | 11 +- .../test/fixtures/account.ts | 147 ++++++------- .../test/fixtures/json/eip1559.json | 40 ++-- .../test/fixtures/json/eip1559txs.json | 14 +- .../test/integration/account.test.ts | 18 +- .../test/unit/account.test.ts | 19 +- .../test/unit/tx/base.test.ts | 18 +- .../test/unit/tx/eip1559.test.ts | 20 +- .../test/unit/tx/inputValue.test.ts | 4 +- .../test/unit/tx/transactionFactory.test.ts | 2 +- .../test/unit/tx/typedTxsAndEIP2930.test.ts | 5 +- .../web3-qrl-accounts/test/unit/tx/types.ts | 1 + packages/web3-qrl/package.json | 2 +- packages/web3-qrl/src/schemas.ts | 6 + .../web3-qrl/src/utils/transaction_builder.ts | 22 +- packages/web3-qrl/src/web3_qrl.ts | 26 ++- .../test/fixtures/format_transaction.ts | 6 + .../prepare_transaction_for_signing.ts | 148 +++++++------ .../validate_transaction_for_signing.ts | 27 +++ .../web3_qrl_methods_with_parameters.ts | 1 + packages/web3-qrl/test/integration/helper.ts | 1 + .../web3_qrl/sign_transaction.test.ts | 2 + .../unit/default_transaction_builder.test.ts | 6 +- .../prepare_transaction_for_signing.test.ts | 12 +- .../unit/rpc_method_wrappers/fixtures/call.ts | 1 + .../fixtures/estimate_gas.ts | 1 + .../rpc_method_wrappers/fixtures/get_block.ts | 1 + .../fixtures/get_pending_transactions.ts | 1 + .../fixtures/get_transaction.ts | 1 + .../fixtures/get_transaction_from_block.ts | 1 + .../fixtures/send_signed_transaction.ts | 2 +- .../fixtures/send_transaction.ts | 4 +- .../fixtures/sign_transaction.ts | 9 +- .../utils/getTransactionFromOrToAttr.test.ts | 2 +- .../web3-types/src/apis/qrl_execution_api.ts | 1 + packages/web3-types/src/qrl_types.ts | 1 + .../web3-validator/test/unit/load.test.ts | 2 +- packages/web3/test/e2e/fixtures/mainnet.ts | 1 + .../e2e/fixtures/mainnet_block_hydrated.ts | 196 ++++++++++++++++++ .../e2e/get_transaction_from_block.test.ts | 1 + packages/web3/test/fixtures/transactions.json | 4 +- .../test/integration/handle_revert.test.ts | 1 + scripts/accounts.json | 40 ++-- .../accounts/all-accounts.keystore.json | 8 +- .../deposit_data-1751540683.json | 1 - .../deposit_data-1763367182.json | 1 + .../keystore-m_12381_238_0_0-1763367092.json | 1 + ...keystore-m_12381_238_0_0_0-1751540595.json | 1 - .../keystore-m_12381_238_10_0-1763367108.json | 1 + ...eystore-m_12381_238_10_0_0-1751540609.json | 1 - .../keystore-m_12381_238_11_0-1763367109.json | 1 + ...eystore-m_12381_238_11_0_0-1751540610.json | 1 - .../keystore-m_12381_238_12_0-1763367111.json | 1 + ...eystore-m_12381_238_12_0_0-1751540612.json | 1 - .../keystore-m_12381_238_13_0-1763367112.json | 1 + ...eystore-m_12381_238_13_0_0-1751540613.json | 1 - .../keystore-m_12381_238_14_0-1763367113.json | 1 + ...eystore-m_12381_238_14_0_0-1751540614.json | 1 - .../keystore-m_12381_238_15_0-1763367115.json | 1 + ...eystore-m_12381_238_15_0_0-1751540616.json | 1 - .../keystore-m_12381_238_16_0-1763367116.json | 1 + ...eystore-m_12381_238_16_0_0-1751540617.json | 1 - .../keystore-m_12381_238_17_0-1763367118.json | 1 + ...eystore-m_12381_238_17_0_0-1751540619.json | 1 - .../keystore-m_12381_238_18_0-1763367119.json | 1 + ...eystore-m_12381_238_18_0_0-1751540620.json | 1 - .../keystore-m_12381_238_19_0-1763367120.json | 1 + ...eystore-m_12381_238_19_0_0-1751540621.json | 1 - .../keystore-m_12381_238_1_0-1763367093.json | 1 + ...keystore-m_12381_238_1_0_0-1751540597.json | 1 - .../keystore-m_12381_238_20_0-1763367122.json | 1 + ...eystore-m_12381_238_20_0_0-1751540623.json | 1 - .../keystore-m_12381_238_21_0-1763367123.json | 1 + ...eystore-m_12381_238_21_0_0-1751540624.json | 1 - .../keystore-m_12381_238_22_0-1763367125.json | 1 + ...eystore-m_12381_238_22_0_0-1751540626.json | 1 - .../keystore-m_12381_238_23_0-1763367126.json | 1 + ...eystore-m_12381_238_23_0_0-1751540627.json | 1 - .../keystore-m_12381_238_24_0-1763367127.json | 1 + ...eystore-m_12381_238_24_0_0-1751540628.json | 1 - .../keystore-m_12381_238_25_0-1763367129.json | 1 + ...eystore-m_12381_238_25_0_0-1751540630.json | 1 - .../keystore-m_12381_238_26_0-1763367130.json | 1 + ...eystore-m_12381_238_26_0_0-1751540631.json | 1 - .../keystore-m_12381_238_27_0-1763367132.json | 1 + ...eystore-m_12381_238_27_0_0-1751540633.json | 1 - .../keystore-m_12381_238_28_0-1763367133.json | 1 + ...eystore-m_12381_238_28_0_0-1751540634.json | 1 - .../keystore-m_12381_238_29_0-1763367134.json | 1 + ...eystore-m_12381_238_29_0_0-1751540635.json | 1 - .../keystore-m_12381_238_2_0-1763367095.json | 1 + ...keystore-m_12381_238_2_0_0-1751540598.json | 1 - .../keystore-m_12381_238_30_0-1763367136.json | 1 + ...eystore-m_12381_238_30_0_0-1751540637.json | 1 - .../keystore-m_12381_238_31_0-1763367137.json | 1 + ...eystore-m_12381_238_31_0_0-1751540638.json | 1 - .../keystore-m_12381_238_32_0-1763367138.json | 1 + ...eystore-m_12381_238_32_0_0-1751540639.json | 1 - .../keystore-m_12381_238_33_0-1763367140.json | 1 + ...eystore-m_12381_238_33_0_0-1751540641.json | 1 - .../keystore-m_12381_238_34_0-1763367141.json | 1 + ...eystore-m_12381_238_34_0_0-1751540642.json | 1 - .../keystore-m_12381_238_35_0-1763367143.json | 1 + ...eystore-m_12381_238_35_0_0-1751540644.json | 1 - .../keystore-m_12381_238_36_0-1763367144.json | 1 + ...eystore-m_12381_238_36_0_0-1751540645.json | 1 - .../keystore-m_12381_238_37_0-1763367145.json | 1 + ...eystore-m_12381_238_37_0_0-1751540646.json | 1 - .../keystore-m_12381_238_38_0-1763367147.json | 1 + ...eystore-m_12381_238_38_0_0-1751540648.json | 1 - .../keystore-m_12381_238_39_0-1763367148.json | 1 + ...eystore-m_12381_238_39_0_0-1751540649.json | 1 - .../keystore-m_12381_238_3_0-1763367096.json | 1 + ...keystore-m_12381_238_3_0_0-1751540599.json | 1 - .../keystore-m_12381_238_40_0-1763367150.json | 1 + ...eystore-m_12381_238_40_0_0-1751540651.json | 1 - .../keystore-m_12381_238_41_0-1763367151.json | 1 + ...eystore-m_12381_238_41_0_0-1751540652.json | 1 - .../keystore-m_12381_238_42_0-1763367152.json | 1 + ...eystore-m_12381_238_42_0_0-1751540653.json | 1 - .../keystore-m_12381_238_43_0-1763367154.json | 1 + ...eystore-m_12381_238_43_0_0-1751540655.json | 1 - .../keystore-m_12381_238_44_0-1763367155.json | 1 + ...eystore-m_12381_238_44_0_0-1751540656.json | 1 - .../keystore-m_12381_238_45_0-1763367157.json | 1 + ...eystore-m_12381_238_45_0_0-1751540658.json | 1 - .../keystore-m_12381_238_46_0-1763367158.json | 1 + ...eystore-m_12381_238_46_0_0-1751540659.json | 1 - .../keystore-m_12381_238_47_0-1763367159.json | 1 + ...eystore-m_12381_238_47_0_0-1751540660.json | 1 - .../keystore-m_12381_238_48_0-1763367161.json | 1 + ...eystore-m_12381_238_48_0_0-1751540662.json | 1 - .../keystore-m_12381_238_49_0-1763367162.json | 1 + ...eystore-m_12381_238_49_0_0-1751540663.json | 1 - .../keystore-m_12381_238_4_0-1763367098.json | 1 + ...keystore-m_12381_238_4_0_0-1751540601.json | 1 - .../keystore-m_12381_238_50_0-1763367163.json | 1 + ...eystore-m_12381_238_50_0_0-1751540664.json | 1 - .../keystore-m_12381_238_51_0-1763367165.json | 1 + ...eystore-m_12381_238_51_0_0-1751540666.json | 1 - .../keystore-m_12381_238_52_0-1763367166.json | 1 + ...eystore-m_12381_238_52_0_0-1751540667.json | 1 - .../keystore-m_12381_238_53_0-1763367168.json | 1 + ...eystore-m_12381_238_53_0_0-1751540669.json | 1 - .../keystore-m_12381_238_54_0-1763367169.json | 1 + ...eystore-m_12381_238_54_0_0-1751540670.json | 1 - .../keystore-m_12381_238_55_0-1763367170.json | 1 + ...eystore-m_12381_238_55_0_0-1751540671.json | 1 - .../keystore-m_12381_238_56_0-1763367172.json | 1 + ...eystore-m_12381_238_56_0_0-1751540673.json | 1 - .../keystore-m_12381_238_57_0-1763367173.json | 1 + ...eystore-m_12381_238_57_0_0-1751540674.json | 1 - .../keystore-m_12381_238_58_0-1763367175.json | 1 + ...eystore-m_12381_238_58_0_0-1751540676.json | 1 - .../keystore-m_12381_238_59_0-1763367176.json | 1 + ...eystore-m_12381_238_59_0_0-1751540677.json | 1 - .../keystore-m_12381_238_5_0-1763367099.json | 1 + ...keystore-m_12381_238_5_0_0-1751540602.json | 1 - .../keystore-m_12381_238_60_0-1763367177.json | 1 + ...eystore-m_12381_238_60_0_0-1751540678.json | 1 - .../keystore-m_12381_238_61_0-1763367179.json | 1 + ...eystore-m_12381_238_61_0_0-1751540680.json | 1 - .../keystore-m_12381_238_62_0-1763367180.json | 1 + ...eystore-m_12381_238_62_0_0-1751540681.json | 1 - .../keystore-m_12381_238_63_0-1763367182.json | 1 + ...eystore-m_12381_238_63_0_0-1751540682.json | 1 - .../keystore-m_12381_238_6_0-1763367100.json | 1 + ...keystore-m_12381_238_6_0_0-1751540603.json | 1 - .../keystore-m_12381_238_7_0-1763367102.json | 1 + ...keystore-m_12381_238_7_0_0-1751540605.json | 1 - .../keystore-m_12381_238_8_0-1763367104.json | 1 + ...keystore-m_12381_238_8_0_0-1751540606.json | 1 - .../keystore-m_12381_238_9_0-1763367106.json | 1 + ...keystore-m_12381_238_9_0_0-1751540608.json | 1 - scripts/execution/genesis.json | 22 +- ...-Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 | 1 - ...-Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 | 1 - ...-Q20d11a90537052ea38350402a4fa4fc3824c170b | 1 - ...-Q201c6c39b78bba5454c8e78c9a13148d501097b4 | 1 - ...-Q209b1f8a197619d29018a9b5e915780c885fde9b | 1 - ...-Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 | 1 - ...-Q204caedb9ea074424df0305d7e5dda7d8594d4c1 | 1 - ...-Q20747da480a37c6698c61b045947192ae2cd1f63 | 1 - ...-Q20e95124c8cf6414db2357e106fade7a8ac72ec7 | 1 - ...-Q20080fecf20684e664724db93e5d525b8d38c2ce | 1 - ...-Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 | 1 + ...-Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 | 1 + ...-Q73308de47979b11dbd527534db61118010264612 | 1 + ...-Q7e93e63a4efe335543278c450914ddd021367956 | 1 + ...-Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 | 1 + ...-Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 | 1 + ...-Q32b364a797bc307149e9caaf0eed125a99c148a8 | 1 + ...-Q5880b045f70db5a8452007f8a7fdc21a4c114f1c | 1 + ...-Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd | 1 + ...-Q50847b98252a1ac43adb267c4d396189e5954ade | 1 + scripts/execution/password.txt | 10 - scripts/pos.sh | 2 +- yarn.lock | 42 ++-- 207 files changed, 735 insertions(+), 509 deletions(-) delete mode 100644 scripts/consensus/validator_keys/deposit_data-1751540683.json create mode 100644 scripts/consensus/validator_keys/deposit_data-1763367182.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_0_0_0-1751540595.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_10_0_0-1751540609.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_11_0_0-1751540610.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_12_0_0-1751540612.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_13_0_0-1751540613.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_14_0_0-1751540614.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_15_0_0-1751540616.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_16_0_0-1751540617.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_17_0_0-1751540619.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_18_0_0-1751540620.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_19_0_0-1751540621.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_1_0_0-1751540597.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_20_0_0-1751540623.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_21_0_0-1751540624.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_22_0_0-1751540626.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_23_0_0-1751540627.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_24_0_0-1751540628.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_25_0_0-1751540630.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_26_0_0-1751540631.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_27_0_0-1751540633.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_28_0_0-1751540634.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_29_0_0-1751540635.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_2_0_0-1751540598.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_30_0_0-1751540637.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_31_0_0-1751540638.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_32_0_0-1751540639.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_33_0_0-1751540641.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_34_0_0-1751540642.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_35_0_0-1751540644.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_36_0_0-1751540645.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_37_0_0-1751540646.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_38_0_0-1751540648.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_39_0_0-1751540649.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_3_0_0-1751540599.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_40_0_0-1751540651.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_41_0_0-1751540652.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_42_0_0-1751540653.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_43_0_0-1751540655.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_44_0_0-1751540656.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_45_0_0-1751540658.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_46_0_0-1751540659.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_47_0_0-1751540660.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_48_0_0-1751540662.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_49_0_0-1751540663.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_4_0_0-1751540601.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_50_0_0-1751540664.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_51_0_0-1751540666.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_52_0_0-1751540667.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_53_0_0-1751540669.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_54_0_0-1751540670.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_55_0_0-1751540671.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_56_0_0-1751540673.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_57_0_0-1751540674.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_58_0_0-1751540676.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_59_0_0-1751540677.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_5_0_0-1751540602.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_60_0_0-1751540678.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_61_0_0-1751540680.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_62_0_0-1751540681.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_63_0_0-1751540682.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_6_0_0-1751540603.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_7_0_0-1751540605.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_8_0_0-1751540606.json create mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_9_0_0-1751540608.json delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 delete mode 100644 scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c create mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd create mode 100644 scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade diff --git a/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md b/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md index 7df4655f..6b6e6d57 100644 --- a/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md +++ b/docs/docs/guides/basics/sign_and_send_tx/local_wallet.md @@ -15,7 +15,7 @@ import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // Second step: add an account to wallet -const seedString = '0x1f953dc9b6437fb94fcafa5dabe3faa0c34315b954dd66f41bf53273339c6d26'; +const seedString = '0x0100001f953dc9b6437fb94fcafa5dabe3faa0c34315b954dd66f41bf53273339c6d26'; const account = web3.qrl.accounts.wallet.add(seedString).get(0); // Make sure the account has enough quanta on balance to send the transaction @@ -49,7 +49,7 @@ import Web3 from '@theqrl/web3'; const web3 = new Web3(/* PROVIDER*/); // Second step: add an account to wallet -const seedString = '0x1f953dc9b6437fb94fcafa5dabe3faa0c34315b954dd66f41bf53273339c6d26'; +const seedString = '0x0100001f953dc9b6437fb94fcafa5dabe3faa0c34315b954dd66f41bf53273339c6d26'; const account = web3.qrl.accounts.wallet.add(seedString).get(0); // Make sure the account has enough quanta on balance to send the transaction diff --git a/packages/web3-errors/src/errors/account_errors.ts b/packages/web3-errors/src/errors/account_errors.ts index 47b8bf66..ee0288d6 100644 --- a/packages/web3-errors/src/errors/account_errors.ts +++ b/packages/web3-errors/src/errors/account_errors.ts @@ -40,7 +40,7 @@ export class PublicKeyLengthError extends BaseWeb3Error { export class SeedLengthError extends BaseWeb3Error { public code = ERR_SEED_LENGTH; public constructor() { - super(`Seed must be 48 bytes.`); + super(`Seed must be 51 bytes.`); } } diff --git a/packages/web3-qrl-accounts/index.d.ts b/packages/web3-qrl-accounts/index.d.ts index ce27d454..8f27013d 100644 --- a/packages/web3-qrl-accounts/index.d.ts +++ b/packages/web3-qrl-accounts/index.d.ts @@ -15,4 +15,4 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ declare module '@theqrl/wallet.js'; -declare module '@theqrl/dilithium5'; +declare module '@theqrl/mldsa87'; diff --git a/packages/web3-qrl-accounts/package.json b/packages/web3-qrl-accounts/package.json index 0ca39a85..a8ad09be 100644 --- a/packages/web3-qrl-accounts/package.json +++ b/packages/web3-qrl-accounts/package.json @@ -62,8 +62,8 @@ }, "dependencies": { "@ethereumjs/rlp": "^4.0.1", - "@theqrl/dilithium5": "^0.0.9", - "@theqrl/wallet.js": "^0.1.0", + "@theqrl/mldsa87": "file:../../../qrypto.js/packages/mldsa87", + "@theqrl/wallet.js": "file:../../../wallet.js", "@theqrl/web3-errors": "^0.3.3", "@theqrl/web3-types": "^0.3.3", "@theqrl/web3-utils": "^0.3.3", diff --git a/packages/web3-qrl-accounts/src/account.ts b/packages/web3-qrl-accounts/src/account.ts index 1674db0a..b5b1ee0f 100644 --- a/packages/web3-qrl-accounts/src/account.ts +++ b/packages/web3-qrl-accounts/src/account.ts @@ -51,14 +51,13 @@ import { toChecksumAddress, uint8ArrayConcat, utf8ToHex, - hexToAddress, uuidV4, } from '@theqrl/web3-utils'; import { isHexStrict, isNullish, isString, validator } from '@theqrl/web3-validator'; import { keyStoreSchema } from './schemas.js'; -import { CryptoPublicKeyBytes } from '@theqrl/dilithium5'; -import { Dilithium, getDilithiumAddressFromPK } from '@theqrl/wallet.js'; +import { CryptoPublicKeyBytes } from '@theqrl/mldsa87'; +import { newWalletFromExtendedSeed, Seed, newMLDSA87Descriptor, ExtendedSeed } from '@theqrl/wallet.js'; import { TransactionFactory } from './tx/transactionFactory.js'; import type { SignTransactionResult, TypedTransaction, Web3Account, SignResult } from './types.js'; @@ -130,11 +129,9 @@ export const hashMessage = (message: string): string => { * ``` */ export const sign = (data: string, seed: Bytes): SignResult => { - const seedUint8Array = parseAndValidateSeed(seed); - const buf = Buffer.from(seedUint8Array); - const acc = new Dilithium(buf); + const wallet = newWalletFromExtendedSeed(seed); const hash = hashMessage(data); - const signature = acc.sign(hash.substring(2)); + const signature = wallet.sign(hash.substring(2)); return { message: data, @@ -181,7 +178,7 @@ export const signTransaction = async ( // eslint-disable-next-line @typescript-eslint/require-await ): Promise => { const signedTx = transaction.sign(hexToBytes(seed)); - if (isNullish(signedTx.signature) || isNullish(signedTx.publicKey)) + if (isNullish(signedTx.signature) || isNullish(signedTx.publicKey) || isNullish(signedTx.descriptor)) throw new TransactionSigningError('Signer Error'); const validationErrors = signedTx.validate(true); @@ -198,7 +195,7 @@ export const signTransaction = async ( const txHash = sha3Raw(rawTx); // using keccak in web3-utils.sha3Raw instead of SHA3 (NIST Standard) as both are different return { - messageHash: bytesToHex(signedTx.getMessageToSign(true)), + messageHash: bytesToHex(signedTx.getMessageToSign(signedTx.descriptor, true)), signature: bytesToHex(signedTx.signature), rawTransaction: rawTx, transactionHash: bytesToHex(txHash), @@ -223,24 +220,6 @@ export const recoverTransaction = (rawTransaction: HexString): Address => { return toChecksumAddress(tx.getSenderAddress().toString()); }; -/** - * Get the dilithium5 Address from a public key - * - * @param publicKey - String or Uint8Array of 4864 bytes - * @returns The Dilithium5 address - * @example - * ```ts - * publicKeyToAddress("0xbe6383dad004f233317e46ddb46ad31b16064d14447a95cc1d8c8d4bc61c3728") - * > "QEB014f8c8B418Db6b45774c326A0E64C78914dC0" - * ``` - */ -export const publicKeyToAddress = (publicKey: Bytes): string => { - const publicKeyUint8Array = parseAndValidatePublicKey(publicKey); - const address = getDilithiumAddressFromPK(publicKeyUint8Array); - - return toChecksumAddress(hexToAddress(bytesToHex(address))); -}; - /** * encrypt a private key seed with a password, returns a V1 JSON Keystore * @@ -255,7 +234,7 @@ export const publicKeyToAddress = (publicKey: Bytes): string => { * Encrypt using argon2id options * ```ts * encrypt( - * '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', + * '0xcea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2', * '123', * { * m: 8192, @@ -267,7 +246,7 @@ export const publicKeyToAddress = (publicKey: Bytes): string => { * { * version: 1, * id: '1b1dd3e2-ee6f-49c6-8a9b-a4722046582e', - * address: 'Q2086ea3853acf31bdeaa7d46f34360e8996d95c5', + * address: 'Qcfec0cbee560cbd6ed89580204af71448f1fb8c5', * crypto: { * ciphertext: '02383d4ea331fdf518651aa638d77f36de002f6b2cb340712c2957b68f927234a9c87f776e40b61227aca366bd4b7056046dfdddee29df22290939a1e96f5be5', * cipherparams: { iv: 'bfb43120ae00e9de110f8325' }, @@ -374,7 +353,7 @@ export const parseAndValidateSeed = (data: Bytes, ignoreLength?: boolean): Uint8 let seedUint8Array: Uint8Array; // To avoid the case of 1 character less in a hex string which is prefixed with '0' by using 'bytesToUint8Array' - if (!ignoreLength && typeof data === 'string' && isHexStrict(data) && data.length !== 98) { + if (!ignoreLength && typeof data === 'string' && isHexStrict(data) && data.length !== 104) { throw new SeedLengthError(); } @@ -384,7 +363,7 @@ export const parseAndValidateSeed = (data: Bytes, ignoreLength?: boolean): Uint8 throw new InvalidSeedError(); } - if (!ignoreLength && seedUint8Array.byteLength !== 48) { + if (!ignoreLength && seedUint8Array.byteLength !== 51) { throw new SeedLengthError(); } @@ -402,25 +381,23 @@ export const parseAndValidateSeed = (data: Bytes, ignoreLength?: boolean): Uint8 * Use {@link Web3.qrl.accounts.signTransaction} instead. * * ```ts - * seedToAccount("0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88"); + * seedToAccount("0x010000cea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2"); * > * { - * address: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', - * seed: '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', + * address: 'QcfEC0CbEe560cbD6ED89580204AF71448F1fb8c5', + * seed: '0x010000cea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2', * signTransaction: [Function: signTransaction], * sign: [Function: sign], * encrypt: [Function: encrypt] * } * ``` */ -export const seedToAccount = (seed: Bytes, ignoreLength?: boolean): Web3Account => { - const seedUint8Array = parseAndValidateSeed(seed, ignoreLength); - const buf = Buffer.from(seedUint8Array); - const acc = new Dilithium(buf); +export const seedToAccount = (seed: Bytes): Web3Account => { + const acc = newWalletFromExtendedSeed(seed); return { - address: publicKeyToAddress(acc.getPK()), - seed: acc.getHexSeed(), + address: toChecksumAddress(acc.getAddressStr()), + seed: bytesToHex(acc.getExtendedSeed().toBytes()), // eslint-disable-next-line @typescript-eslint/no-unused-vars signTransaction: (_tx: Transaction) => { throw new TransactionSigningError('Do not have network access to sign the transaction'); @@ -428,7 +405,7 @@ export const seedToAccount = (seed: Bytes, ignoreLength?: boolean): Web3Account sign: (data: Record | string) => sign(typeof data === 'string' ? data : JSON.stringify(data), seed), encrypt: async (password: string, options?: Record) => - encrypt(seedUint8Array, password, options), + encrypt(acc.getExtendedSeed().toBytes(), password, options), }; }; @@ -441,8 +418,8 @@ export const seedToAccount = (seed: Bytes, ignoreLength?: boolean): Web3Account * ```ts * web3.qrl.accounts.create(); * { - * address: 'QbD504f977021b5E5DdccD8741A368b147B3B38bB', - * seed: '0x964ced1c69ad27a311c432fdc0d8211e987595f7eb34ab405a5f16bdc9563ec5', + * address: 'QcfEC0CbEe560cbD6ED89580204AF71448F1fb8c5', + * seed: '0x010000cea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2', * signTransaction: [Function: signTransaction], * sign: [Function: sign], * encrypt: [AsyncFunction: encrypt] @@ -450,8 +427,10 @@ export const seedToAccount = (seed: Bytes, ignoreLength?: boolean): Web3Account * ``` */ export const create = (): Web3Account => { - const seed = randomBytes(48); - return seedToAccount(seed); + const descriptor = newMLDSA87Descriptor(); + const seed = Seed.from(randomBytes(48)); + const extendedSeed = ExtendedSeed.newExtendedSeed(descriptor, seed); + return seedToAccount(extendedSeed.toBytes()); }; /** @@ -467,7 +446,7 @@ export const create = (): Web3Account => { * decrypt({ * version: 1, * id: '1b1dd3e2-ee6f-49c6-8a9b-a4722046582e', - * address: 'Q2086ea3853acf31bdeaa7d46f34360e8996d95c5', + * address: 'Qcfec0cbee560cbd6ed89580204af71448f1fb8c5', * crypto: { * ciphertext: '02383d4ea331fdf518651aa638d77f36de002f6b2cb340712c2957b68f927234a9c87f776e40b61227aca366bd4b7056046dfdddee29df22290939a1e96f5be5', * cipherparams: { iv: 'bfb43120ae00e9de110f8325' }, @@ -484,8 +463,8 @@ export const create = (): Web3Account => { * }, '123').then((res) => console.log(util.inspect(res, { depth: null }))); * > * { - * address: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', - * seed: '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', + * address: 'QcfEC0CbEe560cbD6ED89580204AF71448F1fb8c5', + * seed: '0x010000cea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2', * signTransaction: [Function: signTransaction], * sign: [Function: sign], * encrypt: [Function: encrypt] diff --git a/packages/web3-qrl-accounts/src/tx/address.ts b/packages/web3-qrl-accounts/src/tx/address.ts index 57c1866f..4f93a8ec 100644 --- a/packages/web3-qrl-accounts/src/tx/address.ts +++ b/packages/web3-qrl-accounts/src/tx/address.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { bytesToHex, hexToAddress, uint8ArrayEquals } from '@theqrl/web3-utils'; -import { getDilithiumAddressFromPK } from '@theqrl/wallet.js'; -import { CryptoPublicKeyBytes } from '@theqrl/dilithium5'; +import { getAddressFromPKAndDescriptor, Descriptor } from '@theqrl/wallet.js'; +import { CryptoPublicKeyBytes } from '@theqrl/mldsa87'; import { assertIsUint8Array, zeros } from '../common/utils.js'; export class Address { @@ -66,17 +66,19 @@ export class Address { /** * Returns the qrl address of a given public key. - * Accepts "Dilithium5 public keys". - * @param pubKey The Dilithium5 public key + * Accepts "public keys". + * @param pubKey The public key */ - public static publicToAddress(_pubKey: Uint8Array): Uint8Array { + public static publicKeyAndDescriptorToAddress(_pubKey: Uint8Array, _descriptor: Uint8Array): Uint8Array { const pubKey = _pubKey; assertIsUint8Array(pubKey); + const descBytes = _descriptor; + assertIsUint8Array(descBytes); if (pubKey.length !== CryptoPublicKeyBytes) { throw new Error(`Expected pubKey to be of length ${CryptoPublicKeyBytes}`); } - return getDilithiumAddressFromPK(pubKey); + return getAddressFromPKAndDescriptor(pubKey, Descriptor.from(descBytes)); } } diff --git a/packages/web3-qrl-accounts/src/tx/baseTransaction.ts b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts index 8adf98a9..4d32836d 100644 --- a/packages/web3-qrl-accounts/src/tx/baseTransaction.ts +++ b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts @@ -17,8 +17,7 @@ along with web3.js. If not, see . import { Numbers } from '@theqrl/web3-types'; import { bytesToHex, toHex } from '@theqrl/web3-utils'; -import { cryptoSignVerify } from '@theqrl/dilithium5'; -import { Dilithium } from '@theqrl/wallet.js'; +import { newWalletFromExtendedSeed, MLDSA87, Descriptor, WalletType } from '@theqrl/wallet.js'; import { isAddressString } from '@theqrl/web3-validator'; import { MAX_INTEGER, MAX_UINT64, SEED_BYTES } from './constants.js'; import { Chain, Common, Hardfork, toUint8Array, uint8ArrayToBigInt } from '../common/index.js'; @@ -55,8 +54,9 @@ export abstract class BaseTransaction { public readonly value: bigint; public readonly data: Uint8Array; - public readonly signature?: Uint8Array; public readonly publicKey?: Uint8Array; + public readonly signature?: Uint8Array; + public readonly descriptor?: Uint8Array; public readonly common!: Common; @@ -86,7 +86,7 @@ export abstract class BaseTransaction { protected DEFAULT_HARDFORK: string | Hardfork = Hardfork.Shanghai; public constructor(txData: FeeMarketEIP1559TxData, opts: TxOptions) { - const { nonce, gasLimit, to, value, data, signature, publicKey, type } = txData; + const { nonce, gasLimit, to, value, data, publicKey, signature, descriptor, type } = txData; this._type = Number(uint8ArrayToBigInt(toUint8Array(type))); this.txOptions = opts; @@ -108,6 +108,7 @@ export abstract class BaseTransaction { const signatureB = toUint8Array(signature === '' ? '0x' : signature); const publicKeyB = toUint8Array(publicKey === '' ? '0x' : publicKey); + const descriptorB = toUint8Array(descriptor === '' ? '0x' : descriptor); this.nonce = uint8ArrayToBigInt(toUint8Array(nonce === '' ? '0x' : nonce)); this.gasLimit = uint8ArrayToBigInt(toUint8Array(gasLimit === '' ? '0x' : gasLimit)); @@ -117,7 +118,8 @@ export abstract class BaseTransaction { this.signature = signatureB.length > 0 ? signatureB : undefined; this.publicKey = publicKeyB.length > 0 ? publicKeyB : undefined; - + this.descriptor = descriptorB.length > 0 ? descriptorB : undefined; + this._validateCannotExceedMaxInteger({ value: this.value }); // gzond limits gasLimit to 2^64-1 @@ -234,16 +236,16 @@ export abstract class BaseTransaction { // // Note: do not use code docs here since VS Studio is then not able to detect the // comments from the inherited methods - public abstract getMessageToSign(hashMessage: false): Uint8Array | Uint8Array[]; - public abstract getMessageToSign(hashMessage?: true): Uint8Array; + public abstract getMessageToSign(descriptor: Uint8Array, hashMessage: false): Uint8Array | Uint8Array[]; + public abstract getMessageToSign(descriptor: Uint8Array, hashMessage?: true): Uint8Array; public abstract hash(): Uint8Array; public abstract getMessageToVerifySignature(): Uint8Array; public isSigned(): boolean { - const { signature, publicKey } = this; - if (signature === undefined || publicKey === undefined) { + const { publicKey, signature, descriptor } = this; + if (signature === undefined || publicKey === undefined || descriptor === undefined) { return false; } return true; @@ -254,13 +256,16 @@ export abstract class BaseTransaction { */ public verifySignature(): boolean { const msgHash = this.getMessageToVerifySignature(); - const { publicKey, signature } = this; - const sigBuf = Buffer.from(signature!); - const pubKeyBuf = Buffer.from(publicKey!); - const msgHashBuf = Buffer.from(msgHash); - + const { publicKey, signature, descriptor } = this; + try { - return cryptoSignVerify(sigBuf, msgHashBuf, pubKeyBuf); + const desc = Descriptor.from(descriptor!); + switch (desc.type()) { + case WalletType.ML_DSA_87: + return MLDSA87.verify(signature!, msgHash, publicKey!); + default: + return false; + } } catch (e: any) { return false; } @@ -270,8 +275,8 @@ export abstract class BaseTransaction { * Returns the sender's address */ public getSenderAddress(): Address { - const { publicKey } = this; - return new Address(Address.publicToAddress(publicKey!)); + const { publicKey, descriptor } = this; + return new Address(Address.publicKeyAndDescriptorToAddress(publicKey!, descriptor!)); } /** @@ -294,11 +299,11 @@ export abstract class BaseTransaction { throw new Error(msg); } - const msgHash = this.getMessageToSign(true); - const buf = Buffer.from(seed); - const acc = new Dilithium(buf); - const signature = acc.sign(msgHash); - const tx = this._processSignatureAndPublicKey(signature, acc.getPK()); + const wallet = newWalletFromExtendedSeed(seed); + const descBytes = wallet.getDescriptor().toBytes(); + const msgHash = this.getMessageToSign(descBytes, true); + const signature = wallet.sign(msgHash); + const tx = this._processSignaturePublicKeyAndDescriptor(signature, wallet.getPK(), descBytes); return tx; } @@ -309,9 +314,10 @@ export abstract class BaseTransaction { public abstract toJSON(): JsonTx; // Accept the signature and public key values from the `sign` method, and convert this into a TransactionObject - protected abstract _processSignatureAndPublicKey( + protected abstract _processSignaturePublicKeyAndDescriptor( signature: Uint8Array, publicKey: Uint8Array, + descriptor: Uint8Array, ): TransactionObject; /** diff --git a/packages/web3-qrl-accounts/src/tx/constants.ts b/packages/web3-qrl-accounts/src/tx/constants.ts index 48f4b8d6..6069d496 100644 --- a/packages/web3-qrl-accounts/src/tx/constants.ts +++ b/packages/web3-qrl-accounts/src/tx/constants.ts @@ -27,4 +27,4 @@ export const MAX_INTEGER = BigInt( '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', ); -export const SEED_BYTES = 48; +export const SEED_BYTES = 51; diff --git a/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts index 4f0da257..e91712eb 100644 --- a/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts +++ b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts @@ -73,7 +73,7 @@ export class FeeMarketEIP1559Transaction extends BaseTransaction. import { InvalidKdfError, - InvalidPublicKeyError, - PublicKeyLengthError, InvalidPasswordError, IVLengthError, InvalidSeedError, @@ -29,41 +27,16 @@ import { hexToBytes } from '@theqrl/web3-utils'; import { FeeMarketEIP1559TxData } from '../../src/tx/types'; import { sign, signTransaction, encrypt} from '../../src/account'; -export const validPublicKeyToAddressData: [string, string][] = [ - [ - '0xd64a1cc77db0e77b70ee2cd5bbca52b06dde43423e03d8fb9f76e9698d15111a6b6042e9e2757edff6ddf54ea4c9656c6d6354ad538f308a2be1e67f4d39feb7765e31f048cc3403dd967fcdd405f3ef4817bb7bc70691d7129f2e4a10a7fd6b050ce306f77083c48f97b984e5f8232cc17473b55adf92a1fa2a31b0fbde0dba752530a7a4626b863f6deebb05695ad788df09ee49da26771ff5278445384dbc74b487486741077a58fa6881814f0cb99a502d4d384cb9b78b0bca4a681a6de448ddd25b6833b744a80bd9632b4dea700e00f9483a7e272691a8d77e4786dd311b41ec9933534e1b1cf1a402cbfefce230eb76bc5061be6d2902a18e35002743359a81b4dcb9da657af0bb1429bc757e6d2e5791299b07e8e5d65168c76d0e8b8a723466ab86a2f3ed53ccda578c60317052a5bb0d25caaabd4dde849dafecb4cd97e9213f4c8a4a2c317fae51d7d3371062d8381c925c686fced1213c8d930f6cf249e1a5a2d7ec160df0d82c2c7422b3fb258fca2a8db0ed4218137167cfaf37b7d8cfa3573b5e23f3694f21d41a1da987db1fbbcb579987e1928150f478987c8e7aad4833f2ea692014b5902153c95ab438e12d0b4d2f1436971f476fbd85947189dc0d6d37d91e76389aa52068fa3c501357aedcfbbf7a776e5950654034f8368a3df5e426713f6eeb7ae4e2d3467853dbb19e0d850e61eeac4dd7a5c010b6748872734a3cbee90e2bbf8e876682a1d9ee174e858a59ea081439c711e64c05ae3640b661038e251c33f0b7acff793061c87e843aa8389c0dad50d3ce5c217f9c2b37450378c3642c31cff85a7231df6dd5970c7fb26e8016afb29b355331fde585f0daed5e3c36f8fa3250fd18831d770342ac0272dc59e95ad03902917afe3dabd73cff58f02d60f29cc60074999d1ff152fcd8be139eee3aab59a512dc3a7d50cf534229420d96c38cb4b7c7e8bd806b5abe8c7bd12e427bc74039798e7b6fbcb4f4ecd851015a1a8962b15e83d4d8a4794307581d8736130a15c522de42dbf0bc331ab52443b17f222f7f534630e9d20a0aced9876b1911b6f808143a1e1265393568df45e0a02ea53ab24039faf4cf176f19a110322fb71afbd945572fe367c77d0c1dbfec85a8731a2e39bd41eb9e44bf0dfdc1ee1f564d06ad7c1adbf196ef31f2bd0247c674bdf3b416121aa49079cc69b9643829d7ae05a7213d31b8c9d334b441ebfb96cae49791130676e83bad0af57d5ec22d4e3e2c2a0977ed0560567a5c852a4916a39a15fb43a35c38680f9d88d5268327b211c4af40e93a6a121c9907ef9ef5d3d545cbbe504070c0acceacfa6df8e0b444573ecb2229fe850f6b44869065f2fccaf838af7b20cc8093aceced65b10a665fbd4a8ea513229642269e9cb9f5a7428d1c4aec329ef28e55ab3b0fe2658318b8681eae65f201dd387a32c4713bf8f1982ea91c0240f466c772ce5d203bfbb51e335ec3fd807ad7bb93691328721d970b7dfbf1c93550670da8e87fe27c9b8954916e8681095452b0dabbabacdc0a427586855d46618f164fce04f9fc57d40a1326d3fa968bd28f069a03ee558dd4cc063c8b77ca2d3f35dec70b0a12ad54be9e9871c43a3850707a4188166860c337e6026338e6ca6d3e4467a57c67e6ed64de11e377ebbbb581ccbe8d636a763797508d2848a13db3246c5232783905007d0c8529e6224d7a7985c59f12b8ba1e7c6d489da4e7d66ef9b0e4d9c1d040699107d6fa957defecb7243e3fada84ab90880070e2c4e7b5fe26fc630a70ebe89f418c14616e36c4a2902e3fdc8a2597c73ccbbf39d9a530bde406ccddbaac26af94125b0d9daeacfc160056e9e935e31277130bf5ad379e41fc25c62a96000cd50eda3b3f7857e4e6e481a923046e40e889313fa96948535196fe96e346513a9527475a9dedf1664b65e8cc8fef9af8bee1e7cc404710515f7ffb2361b40eebc317972766a79e86d0c29f042d153d877961f5459228e486d06a6b05c0eae71e8f14433db14528e10cd069e9dd3f10fa0d0ba8240ade03aedd0b25f7c80a54dae007f0c7b60d3fed7e1a2e055e6e5b16ff10bbf853f9d774951d1d0c40b724e26b4922a28f3acae60427e173dedcd359e2af2b9e08360996788fab227597043777e6d9eff5918ce99ada8b117f2395d500bbfcb0c528fb0ec0c90e5eddf28b56a4b6397ba0ae0ed20c67ccd78fce12c90f5465f68c820cb5342c1613b46c60fe329df2a9c338df3cf53cb6e17f8b25a798062bf2af6750aa877c0477b4796679dbb7e276f87c6df6341085cf7e98d2d3135561ec62795b39e47a16440ebdd98258662ef59a3e8cb2c2e09b660eabb55417ec810102c2378547f2a48736c1504e5efe2560ea4f5720865f8634541868acca16ae7904c563031a5c1de2c07a3118a3bb01f3c32c53aeda2cee111afce49c663bcc80a26d93ff3daa24a12678483fc6012e8b03bb92c7581da64249fc9d9c04cda20579ba24286fa21b21e7bbecc0e6222446532a00d581729db8cacdbca0b19f18e04600fd24c450737e16456fdefd37ba35c98f2cb6b1b3c4d329359b1e877cc8673d65fb7c1fa63ef6313ca7f51af60283a935d63403f7ca39818065d5dac105e81a95590c15f1991c397b980515d70bcd307dc7f9d2915f6e02db06927fd87274a0243ffaed29443e470b77d3bd7d0c55eb7af0674e8ab2b7136f45df1483bdc70380c0c0afa49033bd242020a126feb019cd819b6bc51a77eca7b1682066e73fe2db3eb01bfee0fe425ec0e03e1de4ff836657240f5890bf747f8301be29fe69280fd6403cabfd6ef4b97333cc351c606da702bef947b03c631178f48be47bc55ad42b9eacb81becd0b5d5bb5bff131b83df3a1ef2ec17383e263ac7c7ee6707a09ca1afb663d10c0376bcd7022eab9b25b01bdd584435711d0c28b2a8012ecd2b6f76469471799ff4a9940d2a1c19cb1730420c3ae806aef91249ec5a4b685adafbe4b58f5a4ac805c9013bcb9b937f616df6e9028e3a8a1148df3d665efac36c998976bdd1742abcbd583051102e5aad527335a62f6f3847115937475e7ba3643dd41c3b9fb021f9a4e57c8880f317d59ba3ddc0c95cfdfcd87eace88b03cb935ce35b4e4f8a7fcbb3c548f057d78a830379794f4328469e7be857607a5ea6f21090a4d7aab7243dd6e4f731f9db911216bda4a7b2b6a671c11617df3c2a772d0e91b8232f01f89a3a25cefb39ff50140e6fdaa8b4015a150841231fee3943b3c853da72f1fcf068682afee972f586d4a3a2ff06fbb9b19cd3ef7be2f8f735cdf500c36e41f67740b4e03459073c5f80db6488b25c24263f5d0b57ebb798bd0ae7d720103c7169e7500b95cb63ec5cff2ec6d0bd0ba5f69b3635e124f6bde5332a873eb515c8e57a99ca154e66582394122175361e9ef908356429ea2a3c6c85c1dd351b3b6d957905636ed9472eacc78d2a80ee7b01af018551fa3b26a5305d1d0b39869c903cb6e8317d5f027959bf57cd8b79033e5e7921e4f1da4e1ba09f4149caf93286e1f03efaed4d9bdec4050e488b088830d974543ab21cf0bf7fce1012802fb0b7e2a2ea85137064238bdd7399e28360bdac3b16d608f3a43a67b66469313925cadabe31ff5f9726d8cd850324b', - 'Q208b13bde416DF6e4Dd37E0C38Eaf0A8E05a9780', - ], - [ - '0x7ebe91aa142f5bc260e1c737bccc46890c193e72b8310670a972d5c2ce647bd146d6584ce8804d52f1f412e56ee653e13beb63c8505e885c4b260d0762dbc5d8b151e86e94212eee8f98d02a69ea5618f17596a0f93f38751da6197fb68dfa848bc66896ca44281b5a5958c418033a43b8606938f77d8847374096c14aec283072f93d78096dd234b37d925c3aea97be95f83d96d4c183c738ad40e1ef82514dd54306f6fd200cee43ace14a8fd80e72088189ec4f2bbeb067607c8f2b1b7fd77ac474713cc428beaebc5ab7bd0c2825bc2d8d77903bd966204b4f87bc7df9eeb3eafebfe2f288ef7a743e4257de5837563c703f2c6b84e0ac7a66f92ba8fd08c2de9f5c81a108e60330a070ead18a35e39b109981b95ce7f3328666c10572a36a96ea342b27979191b3967f32038bf13942388b4d40d8ffc4fd919214811970567c8dde120807272af74165d6e43c966ac6d547c10c1f73db2c7835bae289667efbde24ad5510b5ff31755d4b71da9085ae44a644e1660f49a75b9e5e1ef7ca1aa608214eadd2c00e606937230a14d979b4fb65e7faa593004f478e3134861d93e7d3871dc1294ef28e1e4550fc87f0ff28db457716365a4f4b34787cecaaebd848cd30f902e7df85a11668baab39b8b4616418987fd734c90082b2d8fcc274412c171095c32466fdb5c4c8f729a4f71cb1862dabe89e9e52a2e065f87ef3d45ee4eefc0505921e1a987c05f5681f23bd3d4a571a186c29339bef27aca21ade90a3997afe12c50afdde466403956ce90deccb40d508c0675a68297d4b9ac9657454d4a4069a1b4e9d6d96e805555af1d46317428450417094582d65cd5da7a25457b926e87b18c09f3a11a2d544bffd0e6e1ee5ca6f8a05a53a3610c104ac4ddf62eba69cd52c970d252ed33d3ef76e9ccee18a10ad3134efd9da82a6537698a624f3ee66750bb8e9b0fdbdfac907399de563c5bda1275e7c1c35d34e066306cdf9529558b41107094dc718e5c33f89a28cbbb5ce438ca0e11a85a0ec35af8aa9c5a5094bc881ef4c86520703a83373f3a57927a129d3e88f3b55e7f90aa6d879aa657d6dc3e6c6ce648835029db4abfd675ac5209e6b5d18c9eb7ebc4a6c4c2bac7fb630bb3d88c585e91be9fa5f35dbbbb8f3cc6213f71aec195f31288a4e1b0a3911cc9c42877551bd39fb2623c9ad0cc705835dd97c1a28a04ece1d8e85449b2db68825c092cfb07d602c48b2459286b8f666ff66ffc54c9ee71ae231d0295bcdfab83c1ae9038e22f2fcdd189e5cab5880f56e2a726db4ba2c87ad8a1a44a6892ad99c3d007d5e380f4eba4369cfc8587de11fec82fcff3c91b57f05e62e6850b099436e40c642334958525d55170079e9662bbf70eb7e7e922a88e06621281e14b23869c0ae0df1526205531462993859d996ce573521c172df5e93ce4d5611f87cc67218705fd561073e792b74b8789b4c85b1c0a0dad909790ac1d1ab71abb90718956129f7f32e3f4db3f1ed43c569d65c465b70a89f39a4433eb5a5626819fbae5cf09d4d5c885584521e7a3511af52ca3d72804e56b9b4492529fa155c908eee332d90dd6d4b3c0e5c17872ba6cfb69573ef76661f16b9cbd10f8d03998a0f61cf467ad130391ef596b9cf5a78443aa8acb27c732fe605d5866b1679137cf9d7e2fa7ea1f7ab3e2b0c571ab91dd1dda7fa398e781f2c81fcf535e4e9a0341d3308b27db2413e3cfb0bac86ecfb9bbf123cac1e196ca478df0c14f5de41722f691281275c07d9955b2673047271816a8a1f17108db9784e71323c146d7b0dd21e450d7f66440cc45359e143cc3d87bd577e75e207583113d536bd1283b2db583c45e3d88b2303044e89a758490633043b1f88f1367189640986ef9b8687acb9996f1441cdf6553dabc104ae591efad4e02292ac0ee9652d769b0cb10255707bef0c6635b0d5cb2456520fe4cf65775f58250be8149468b87038d7a4098f74568cb1f8ed2dbb05aaa274cfb3dc517027eeca7e8ec08fe5e55e3ea814526ea59f0aa3e748acc8d1a5cb3f1f9141c3314539580edd9329bc6ef2b29526a236dc9a0b6d31c6acb4d6ffa9bad65e9d1eabac897a45f02adaaf387e9046b44ad30686b6fb004681c2979c2c483d3171bfee21ae01553251ebc955a635b2ec1e3404d82f0b40ebf6f57d96afecdc8801eabf0399c59a94d2c68bd31168681179be10b467a6f7d6bbdc9c7dce2badb07d08131c1e544cb718f19488179f27f8e36136adde46fb0cd4c95470bdcf2bd1ce1e9605667bf9a88868d65a5a3afbb6a033a2a2aebf049542a59bdc249ddac8491b514f4f0597d0e65b03f63c1e4655bbb67afd39c829cadbfbbc2bc30c07df35d6b2c33af7db49d1881ed77fbaad8fa193b274a2f4549c4b51e7c6bdda41e28b97e32486323cd3adac1b3d30360e11f79ee123024d2ce771f3559a4c74f2f53402c2a1744e8c801576374c3632fb73e027229237a2eb6a17dd73ac91bbb38436f5bd95e12205bb651f0151a5b6a78f09c1427cee8ec4300e35e60eae2a8462ca56f8eb8142a45f56baf2efb33fdeea5781c87324813583a32bcbe525a5ddce6e6c6b00f0a89dc46f9fe852ce8f4613cfb425ef51362d43e545ebf702fa94bdd667e012f99fd2ac21141e975b841a22a0c99897e5df5429b84ce543591fe4e23f6e073dbf2fcba2e1c15f8a248403069ef890950eda72ec02af5fcc4e792e6d270748a564cae949da0cea0dfdac21ac1dd05130e14c245c1ecc7170a896dc17cb2b2714fe490e628b3c405d164455a11a4bc30493696243449ddfddfa54f2d8627c829e5e11530f4d899586e5a27ea6d4b58ab883c03738540098475dc5d5129a2dfd223e55ed19ce6051cd3135e065ecc40e094ae2450534270d43922ad5a8a906f1d15e3f2ae5bea7955d9038729597169a59bec55906a2df631b06438eb878f2ca73d0dfa031ce73e7f2d16b28edfdf6fbe0083428c34afc50b9d6cc22d4014c69c7ead61f7046ab760e6f0b25dd8f5131a2d8fe6c0ba7165e6f369df539c91ccb769d745163052018a2754d0dd3c90817cb763858ceba519804c82dcf17c238d89991e6ac4d7f04dbb187e2b4200c3c95c8e8061647e22b2aab38a0cf0e8fcc1461b7cedf92f28bd2ff671eab90307e5602f918d6c46f676e63fec80a5f2e418f77aa2bead7e25c908be21723488b35e29faee3d64d9ca72b2aeddefa982cb64a09677a68b4c4d43c296bcbdaa6f1406014665e89d25e875621ec9f1b044b29f1294d2ec231154113bd3032d29a67bf0645e0f6568dc45c5e175c2477f9b058d132fc98d8a7caf0532a7d9e4595e50a1916f37320efbff98b0dedcdd53df9ceff014ccf47db85ac4f3e574681d9f6192db134a7c2e5242ff63231c171bc0a71473d531615f33da5dc3b89332ed2fd0f07ab47bad5291f6bac530bf3fe4c9612e73e04c94d793efa04d2f4f17df281a7297b5b33b03c4ce3f9ab546e866f35c6421a70da4d12f604066aa4faa2f788c72762e689b8080413460899967d20b9af92cbb1cd8561858a7009116d904863e6cb483ebd08ae18e6930e17f89995ebd34818f42ba6048adb19f9e0082b7680ec209a6f6da8d6df1ad735bee0b5a078f0b16bd54964bfdc7dbaaa0fc570', - 'Q20e0934142C8d04EdF630855729132f19C8A846f', - ], - [ - '0xdb403f989f30a2fa65f24bef8c53bbae67abcb559b44097098bb505e7b2363609756a85409681d71eb628631fa5df5681a029a8aaf781bc698926f0583942331bf453f047ddc23bc55550f40d7c35b6ee2853a61d509e0c46e0a01b85780c75f28aabb4e555cde8bd4afa04cdeb4a3494ae0f31eb040eaa9322bb6376b91e4062c538e75e206bc92123914c54f130eda1f934edbe201f7a046fe6c6c9d01e5ce5dc64a77ecbaaccb739a0c9fe372a03d9e1b84e646c58367f3f7e151f378e54a5f3469b02ee833c07b6551ffe8005d2ac81e5efc61e0184df5579b9ddd1ffbd8f8ee838d8550f26b476d6f58e2b53feacd67d6d60b0d9044eed39a1295b8980b817396a474375b366efbca7e5f019454f78c007d00c7bc1db2759a7a3a012f1e3753da3b9508913556fe4fca413beaf54cb8f9e9b0f1f0319582bd402017de09ef62394092f487b8707f934e882260f0e24607cee55c5b30410abd4c4b452b32362696d726b056afc797f7e4b81ee72ebf92d679c319970cb87bd11f5b4b808ad899497111f4d0aabb4307d85269f6ad2af26af250731c50e053a68d83ef2ea5f3eb56c395ce04e06281e559785305a3b589a54e7b7988b87632a5c46987ac3c60289dc88f56fd6fd8e1e1589ad55e863baf8dbe2049b5164566bae9a8d469222cf0bb868e2b1f2523a48586a0d5707a8dabd0e60ca4579a1d143f31b4bd803d0f12b3927e1f79c46200f7f0265d26c7e1329b7adb6baffde4b7655f36f88e81a502517b078ddac4f03bf8c48508382e4bcf23ffc3f1654b35b4d07d27d6d9eafb9eff06c8df46bf91e4eef4dc9c9149144cea1c1744fcf8f4d7295210e1c5eac8c5527f02917d9cdbb0b0579d6c1fa8ab6a1bcad2f47b52b2ad7a1116b080f4cfcb5c4ec36d35a6d8d84095541a3397751e58abc9be9aa19af8a49ce7621900be402afcc33f21dddadf2cf20ed5e557b143325cac9b376387f24220d438c2bfc505ea502220544848b734108d010422fbb4832c69609da9f3fc315a4d500ac93d297afe8a71d1a837f6844327f7dfd9ef893c29dd30e394cbd2d1469ddba0ea255f8d3a11c5d5dd09a839b4e68b9c37b29a0a05263e897eff3dfd5595e16f0f0965b72ed0ab107bea58766f6b182e37d93799d8fefd3dd960d46e074ce19fa55b09522b025d7fef70ac91a66337d59feeda32913d7156133f227424fe20710dab11fc935ac5ce97c30eb530f8b1cd1f1f8d062f192cc2e42dcc8025651c4eb2cd026b99b145eaee498ab5186ad59cf337a772c448d05e6cf8d05f49631818eb7010b71ae5aa0dd773f870ba40b6436dd10cc550d9f5cb0c8357240789aae69b3a79dbb8c25508e4623d2346e1b3e5150279c6191e2a36db492f8ef0a1fa50faa8ce6bde2cdc892d9f7a515713ed31e02472aa0447366be58945ab7468c91c05958bc5e31cce33d3d9a339fd15ffc2e39e8ebea1eaf8370c6b4d6b6e0f8d20046ff7fe26752745a82735350f2b9b7b4d05f5c18d5bc0bec3e22010943c9a262d658fd83bd61daa2abdc7dac89f670acc8b1182ba04ab912959e50c8c8ec6a2da12d8b1506809d4ed86798abf0c1be6567e046c5bfd574df076533a87d1a7d3f3574941fad13aaa0e8232f8040b5a37d39d1abc9b7332c00b934ccd9d8b52f5767cee93fb58bfc3b19004a7217602e288add3001af9e590553015264683b614d3c9dccb5f54ede9a491250cb6e51c9eb3b983abb971f4c523fbfa746bf6306aa4cb3774b596e58a030407d47afb92a431ffdca4c33a3c0176beb6d57907ec6cc9a79134d44d7937619e37dad065a625ea987d60e64847e185edb350562f8ca70e6e52ffe81a87dec3accb883c5fd73a0a50dbbedc5b2b4e5e05bb3b18348389ff71c90469bca76bd4b433e4227528010d045e025c38435551129a20dae68b12bfdf278e2a1a068cc2a5b84da4cb2324c57e08e5655785b7d5b82af62ffeaf3a6e68f9e6036009905936a832637cbee9417ef9be6b17ac0f08bdcd13900bf4e84a9cd3a546352a96ad0c3686fb43e65d294944f2cfc50eedac3db99e27c1dfe9b6769c2f0baf01cf46b3c913c0ec4b93ff6999eaca89e57ef0b7c58664175e8c9005540125a15f8a59fc608a5afacb18dd885982ff004123ab380a23ca410c0998b48b69f0db251768d8bbfb9f876a6dac47f0143ca78420c9af93dae7000b050d1e9fc22064e94852aefe345482880cc0f658027aefcefeb63f046346941692cb5fe67b5dbfde98f95b81540ba3973976e861db8c607d221d52d581e3f1dd6a252a8b36858e72fdb4b34a7cec076de8cfa95331b4d6cac895046135f850796eee5ada6ec2890e45fdf730023b76c5fb7f710455fc334077791f24e94be1da2fc153ebfb0f057746dd3e171273839a2b511dc2b0ee65350d7a4f11d85cfedbeeb2a085f22787216ec031a1786d49eb012c8feb2586aa41b2354804823b5a8ee62072e16f85b20b1d289aaa70fb42973b288321dd8d4aa3266c0e2114d05ddf3c8ec042c9cf4597b1ce13e1ab105a52298658e3ca42c68fe23ccb4efc82f7493d4688583f37841d1d308552c3898fec8c063a9156f7a3d89fddd44049a7add58f769baf8e6b602dff6599a08382f859ee1ecee9834bf2276cd30688cfd2a719d5f1a6708ca9a4f1d9da8cebfb98e05afc0a0179795596c0d070923fa25473ea07f9b36059689b9ea2f220f60f47a08ad9b4b53594dcd57d48c580423d2e7981ea662d70f9565a4530cb781120e22e4c6e9ae94596b3a565980204b5429c3e744d4080d7af8a2c6517288b7dc82620c9284d243b7f9db81ddf2aa0a2fefd69fff3b60cac64e13cb324ba3bbc229a03fbadc336e65f591f976c46502ed89d8c55f33fde8fa55ba79ffdab06a3df8aba7c0b0a834400cac7e6bf090d4d9a4a07f61c99bfd415143aff2f572766ba5e7344375da086bbefc55da251f0ac36983ad18c43eea02b4dc3428af89589d2dbcd5bb1ffd2bcc6cd2f9d428b8320743844f181fecd3f62475c7aa2456163ca0e9b5e82ec35d73b414de5e62b3006f3e522eb81ba09359bdbd2ddca77fafa19c03f15749d29716da39b7dd8f2beb4a2d51205e9c56bcc03dd896609459fcbf21206405766004d6f8fe3b557b886e385e4ee1121c8cff72895a878ab2902cc9f1f40fee422af71aedf198ee68113b6392f9fcff751201746b0ce4219bbd9e3e21f93a5e00780df5977363aa6b122dc993e6d08062f2b1735146922ee0814c2014db90f7c756409542bcc8651a49da5fbb4a9a016ca034af5f263e201e4b2e2f9113c2711d522f50ad271fa8b7f6f78a5a989b7f966dd76899875e4ee821c552602921ea599d05266a6be7ad816a98e8a52497626f4cff399b7d292d34a646169b65a36bde064118b9406ffdbae67b7a79532a3f8dd06507fa80fdaee931e0dc2007bd6e665a36d07253104af170296ad73544b9d2807fe6a942f90dd700afcc3b89644bea570f7b5acad62de55aa2da41e1508ed2fdc122532d04f20bee1716afe3bca76674a431fe73f7d29c56eb1e84b864155f27abbe9e8f4d856f55898c7d909f0d46c3335f5afeea3cdb91b488acfe7f8b1ebf56741105f70162d4dd73807e7e3f2db7ee243b1fea17dd209cc19b896e4eedb', - 'Q20eB07072ce4C33851b2b397468ea46BDF57f45d', - ], - [ - '0xce1a0f0c5ac286b95605d6814fe6fc62bb15b1b24a10bfe6302404577a54ecbbb73ddc730dc78cbfc3e56aeede7f71af054c024a2f29bba9753ad6db0fb7985780ae4cf8bc6b2df1ba0e36b52d29f451a84b2338e45415e32c3bdbebf5323a8e3ca907c6fed49b0ef51f0e56b6d6793625e879a554046931688a99253ae9ff0a2c923aff9879f1ffacdad57b786b00eead006464cc0c0bc77b4ec66f1c4b5d033922e816db7a5672938a66adac90098e4d606cddf5862a0b13fa04ceae099dac247a923c9d64eaea3ecfbbe672934cb84df386f45c5c532ffb2cd2d5e26a04404b1dfbf0dd8c8ff086e0608e554a9d2f47f58b2ee830e0fdb599af8060205aeb06656d6de047824a910d1f5a4f8e664937d0df3cdc29dd03666888692307400d1066bd418b9655086756fc387b6c360fe4ca6594e53a648864a2eae22e0df153f28b6f5b060d96c5c731a411cc8093131180793505ddbf43da5efc7def6f202dbdf75e32114e1e703cbc1d1c370a253f25ed4c96ecc5600738a95c35a233c70c50b38a59d3f2f988997a4174a20dcca6cfbfed10ec5e47fb1cd0db9450400a703f3a67dd0bd506f8de3d69503e5d8cbd3713f82eda75a8bc5477ee701847a43ecf4c080cf713e36a7ad263241b94a51693d60849486cdad625868563f4047b6aa584c75a21ce679d8d2346a6aee29ee405a69ece9fe60ce8afb7c02fe6fa378a337de03ec7cb64a518364707c04821e3f31ec2c77670015d920c3ac5da6523908ba578e7d667caf4a75328087f324e6182e2b0f9b018ff8b6beeb294186c91520f0987c5abc19c50c877ab3fe27a1c36f05376f3e50c4256fd87c4e5daff831aa912a9aafadac3271c512aac76d19aea4797aa3482f798c3db6106ae775fdfcf64a165daf7f62555a9b7311c938ce9075ab7d1722651826bd3b685177592ab207fc68a28ce9279fbc3e156300cda089967c1ff94c895ca084a59a2f7d5a4df5015ef80b4ac337a3360f3102cd604a7b1afa82974174becef1a95fca7177b02179306c6744cc4c3c90469d180ac08f810d7f25bef61b86dc3f27fa422dbb4e5f8c2f5e54938f20b42a2f72c4a2253e8939d3858e73ac7ad5ad52aec2de982f30dc7ab7f759cdd13ea6b56a9849267328bddba386f3585c78a330bc6110270891c8163d06f7f194d45100573452dd11eaf563e40242f686041b20254d0481d086b7801cd7c4e216cc8e3fd07efe326902dbcb892ac3547191b2d927e78b6cbfc9a1c540ae6161241a751d74ad3deb297b119abc44599a0baca10b54b26913457c029061e24f0b53948dc89616da4d57b955fe675e3baf19c9bbf7ac6ab57815eddccfb2f2034c06b568cea0be0e968b5524e8bf2727da84a194b581e16811b40285b0ba832240dffcb78a8cebdbe26aaa037228a37fc54748d1a380d9132b54ff0171e88ae9fb6ccf87688955b7eae75eaf79f5a9bea2dac274215af93f09b4cea375a9ee2d350e1e4f936e433d9009ce5c03b666ccbb0477d68d083f59b472490f6ae68f045209b4d7c9c464ec3438a91e5fc7425e79c566271cc6933b225991a0472e3615741240d2fe31b134a398ef5351d68aa6bb185785293f0470caac8e66b7e4a9dbd7c40b6a4dc4095fd27b7218a9bc1d36247fa8ff4cc0760955b51d31353a917a716cbcfe48983d32b1e27de0e88660e3d874d567ae8f02c0666090d94dfaf47bfeaf50fd7f2025b573d2cfa9f8a0945ce046cc4855fe2c3c38d756d3ed753c02cc1be174c21ff14e6468651726b07e8ca435a5946ed3479c1496b6dea8bc27047f62f4ccfcc72fb564f4306548f47165c6ee6f14e450c191d050d21a36db97018a23b9785bace0ff68f53af2ddf463913bdbfcdbf6b0134841867177459fa33a2da7c171f79bf8c091181fe440ae92b1a13251d98914874b64bb335cd317f376309cb62f1d21d6e758f61f66b8a69853d71073e8e379846fd007b2c0ccfecd73df4aa49dbd265c0ab3c4f410dac37453fd2b0f84f84924cca4072c23908b17b93aab1a43f5ae8eefa0be486af53fe729116e20e6b0bc2398f58ebcbd323452b60d8d6bd1514e5d6bd6ea151028dd4615f55506a4c83b88fabd1e55bf4af953a22685de2fb9cb2473b76d6088105862a740a07b69ee549b1c5ee35bc45aa7cc8f218e0e8ec93b4c8a70c1240f2bf54c55fa0bc2f73dfdba5f24b8eb45bcbb34f4eca1acd80e272aff2c6163c0c7c3442aa8ccfa60946f5bc37483660de9cf42cb8521d95284e491dddc7235ae3e5501951a8118216d4c1e1ea5f069fe08273c590861d8ab2631a545df7a8bd3600ed93a9fec458350c166620bb1746bb85066429821bb5c6693f4b65dca46abdc8ba1e3e0c303c1eff1815691150c8271d6eca99d3333ef79a1ac20abd518cafc9a366e4bdf93f7c9887fa37733f0da895fc9e6254bb52e854d3da6d19e15a2dc6afa27cb81eb168ada4221319aa7704543475f2c3f047dd376a7f3a44b8e7193d0a7a9be5cc0b39c958662adc9d817dce646c557c1ba2f3d5efc696c25589af52ac875804062924451aef04e94475057fde3525cec8b5c2028fc90c3293793c11e73e790b82db568a725bad33aac6957ea4c5bb5251be415653fe4832d39e14f704c43302ad8a80dd523ff7a99d575a80d5b9dbd81144d695eea6144318a83976ba1b73c439368b8e896f9a1381d8ef7549d5581f8310562a0ee3244540ef7a0a381fd48261ed0d5d51c91e69bd610c5c7563c781cdacf05bfd8d651e7236db50d4febea3107987ef6c136ee5cd571254f1b320d6e5c3777be0ce0264f83817c649ccf206ab10b907728cc4878bf3ee2233f297d54a924006e4fb8432996c31399a2b12f565e784c6833e99c0f3b307df756f9cecac6ff66ed37b7b5962cc2030f4403d3b8a995de1191912cbf9fc1183f6f9d6eb7df786234af0ffc6f24446af7b5b0cee501f5e8b7b7e686a6f72b59cb96044a6d41ac5f7961fc8d00c060c59b9c027e52cab4641597293a9290efc53faedddd437014a8ef5c4986e722e8eeae2367ecf5fb5b1e968894978f4e21115ed62ee91da468e1997fe3028e34d0810bf393b43618b4224f01915c55f4d02e42631f6b41358e6746b76576926cfdd2159abb960d522c6392b6c53f889e4530d12c09ff7bb4532819976341474c591db070fa39fce96212c140c8c71628054acea47085b224becd9d8be7efc683c991f6d3b05b300b3ec890fd065984390b2992cbf495099862009afe9d2c561dcd10bc784892a8ce6d761be6de9f17a4ea69ed4e398c549c4632256d4b34c1e9ccaa3a956dccba3a888351363d0089eb5015e4cbce8c4cc6cf60c7be3cff9aaf4763cd3bacf43bd966225053fd54c0d98af70b5b0aa6654834858988a02ee863f9679fb5bd25fa548fca87ad2fa36a6d57761d0b2985a51b4e9e4f6264438a0d606d224e8bce4ea6c6aaa5b0e77e92b62edf66711f4bf153afb7c5247cfe1f648e8d4f602f589200fbe9a40ceb5c82261d23b8fb87e9308b162aff3395861e0fa47b097bb6e29f6dc5789825d4cadc3b09d2e53007abf0a4fa1ceb0e504e4580f4d355ae23a508451e94b33e3377899659fbb8be420ecc29930f197befa8547d6f92ca88985816c1fc2eaf4aca9dd51a3', - 'Q20C6955e256842369460e4aC5516Fd5c9CfC2Cf3', - ], -]; - -export const invalidPublicKeyToAddressData: [any, PublicKeyLengthError | InvalidPublicKeyError][] = - [ - ['', new InvalidPublicKeyError()], - [new Uint8Array([]), new PublicKeyLengthError()], - ]; - export const validSeedtoAccountData: [any, any][] = [ [ { address: - '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', + '0x010000034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', ignoreLength: false, }, { - address: 'Q2054f0f00cB9925477DCd3Cd506dBb3d37742026', - seed: '0x034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', + address: 'Qa467D314bbb1e36687ffC9B277d3E163787E5964', + seed: '0x010000034da61fe50c659a3285549dc395571e2bf6891c462c041e3c6b9061fc73eb3687d03f940e5e65d582019ef10ce1327f', sign, signTransaction, encrypt, @@ -72,11 +45,11 @@ export const validSeedtoAccountData: [any, any][] = [ [ { address: - '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', + '0x0100007fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', }, { - address: 'Q20618F56c422D34b190B9B49a636a3429B927A91', - seed: '0x7fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', + address: 'Q50D1766d3113D213131a20d97CcC89190Ef68ea3', + seed: '0x0100007fc43a2ccb557f900d4ca924c187b4438a7f8185b8edbfbabdd26b87f125594495268f55ceac9c9eb23efaab76b0d4c5', sign, signTransaction, encrypt, @@ -85,12 +58,12 @@ export const validSeedtoAccountData: [any, any][] = [ [ { address: - '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', // ignoreLength parameter set true + '0x010000c902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', // ignoreLength parameter set true ignoreLength: true, }, { - address: 'Q2046B4F923f908201Ab8Ddd86330b3228720D589', - seed: '0xc902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', + address: 'Q68ED7f1481bb2cDa83a0a0D55F1f54c3a6EAeF4e', + seed: '0x010000c902ea9bbf1dd51aaa2ee9bed126aba921f6a6afac9cf09a21f3d915b057bace6787a894a71d1d103992aca0a6a4250c', sign, signTransaction, encrypt, @@ -103,40 +76,40 @@ export const signatureRecoverData: [string, any][] = [ 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', { address: 'Q20Ab9b8384f91B69839FDC0b16856eAeb508d551', - seed: '0x77eda0d9c08a5a7134c79973c8fa16a1191f21c29a85f4d913b8d1289d0d1c3944d63d11d7e1c35a51925216de64e052', + seed: '0x01000077eda0d9c08a5a7134c79973c8fa16a1191f21c29a85f4d913b8d1289d0d1c3944d63d11d7e1c35a51925216de64e052', data: 'Some long text with integers 1233 and special characters and unicode \u1234 as well.', signature: - '0xdbbd812bdb43972e4b53851aaf80058fbff7b2badc6c4b4066553dc306fb5e33a7df7949c27652bd4ccd8d652f1ac1465f7d66bb7a1cd9d36c8c5797ae36674259fe436b128c3cf45c78dce17ce4b32a068e9d296b4ee2902384bcbe14f9f4a3138238d9841ec9c4b43ce8417e60cc23481ac2907aaddacb0c12d674c6a5c88de0ed0ef7f5572075c74bf57bb89c1defd09ecab92d5e4ccca404f14a714dea4e0d326a5957bad7d7c4d528f446230612082e6c6949cf551d85642b53df553d75695e30ada5c8613430497d4b3c0219c934e8faa51cd314ea5704313bbe927cdf2bfcefbc39c3dd86df132188a4c8ae731370dc9239603a838de5303c76ce970459b73d977f08cd08bac408f0faaab6af734918c6ed64faa77d2c1268bbac42dd089afac94ddb597eed82bbb84498ceea13c8aee3d09cd54a4b943981e7a5c17651fadae43b3ae57e36214961585d35aeaf1571f02e5239fa27a75bc057bbf2f206a15854759ed1d9f2cc6c0136b582e5986311c0c11cd0d8c4f2ada58b4d1a390ab6be1e5870b07780ffa3fd4b10e4e46d58a44fbfce1ae199c69e3bcd105ea1006ad1f644b2bed85e516a50385e5662cd33b17c2ff05ef54f3cc4b0b15343f2794d86e668e6975ac80ef68f3da89df2f5ad9b5c516c6a0e7b9a65b6f42e20642c4f2633f233d5da0b9cf994dff93ab9d82e6e37c60fce3458d5a300ce1c9233ce26f1a9bba94c029ef0c200990302f52c3d5798ee94bd7f382758603cece73f782e7db49df1064c101178759dbc3c690b6482970ab08550fc3a9e74125f1af9008f35f02c541d8d8a937882f00b3fdc650179b0c21c54b8974a770a68f833bfde16d674bf89564cee1b8054102025e05f9416d81f26cae846ae9d937d7c75050d41ee9ac79cd8f92b3df2cee8e07e15c8fac0a33e399e4cb84d6663ee213cd9e7807782f816fadbe62b1fef8129cd31c78682762b139f9712203197965f32290fccdd29ba780f50c5fc7e55986f566b541d3c393e3350bb53d60ee0c1c991aed9a8097ec6be70dadba33ce60beea886cb7daf9132b0cbb8d424a622608d9c5424ae4da35598ecf5a90707dc5b902f24ca41f1cc6e0de2d2246f4cc223987239505c47abaa41bffa8a069fa3c62c3ed0fce8853a366a59465c1eb82f0d3d991855107b6f97a9e34e0455ee813439e5783c471237ff736c3c1b2f34fd7df6ac957d2b6868183609ef3e57cdc90a2872c05151304f727186eca8bf4fdb35e73de68cab3d63c2747ea5e62d8bf55269fa481c939c9fb4c724ed3c08e25069fedc473838eac7679250ce8ee2536ed0b5f562ac3496d1eafaeb6995614ad2aea97810fa0f1112f6167aeb5b586618a11c55641cdff7b3fcab701165dbc74cda9e491f64ce21817e716d94c6f6846290e3c2d40ea05e056d54df237cbe3958d05456070aa29ced24de43910449f59ccf8b4eb4eb396c938cc71b8ef5d2018c2704ebaae850d3b72cc13fb1acc5b6a07527ecbc642b771006f198056f19fb7670ad86d049257f81d6d422694489ce02764b8698560ec14a10815383f3f1066af382305513beee5887d64091f1788a082939057457a9cd687d0a6a59b85b1e38d10627d17a60fd742b963bf2ed3d94c59796b782ca6b1e9ea903801fd069f517e1f8ecca272eab6c722b4a75ae5550b60287fe3f3697045671fa3431c189ebc7373384e26e0538ab4b36a958f6d082a368161a55c7f5ada0786ec5d3630c1b2eef4b98d571e9cdd91918e7e13020e34a0cdc22e6f6ef836dc48813dd2405b030b76fb83ef98182610ebad9cc26258c02eeb37a224bc294b41fec8d72850487d2f4a3e5b63d38ba56a3e28237ff5b83c9b79c5d0901165be0ee71216535ce0e2dc4ac2330653cc6e50b7af6c7957262067c9124b16009b5c9343a3245cce40dd472e1be5a4073322bd195daed7955e28c079d8f1267de1ae074dd507398df42248e8dbe00f9d8f125ca3f56a8cdc946d3ff283d3b0b9af25f358e64f94097d37983ee615aa7c8220abdf726e414d8f56a9e68419265789e38cb73185ad4d1f837efdb6ca599ce3b1b86714d2a2628080bf4e392ef6c245102251b8c4cbecaee7e4b483c9f3eebac593b343bca1200ad596bdf1390c0c36a362d5fe46a7a27bb0682232e97e9fb542263a66a65e10383b8254a8cb496ce8ec6c47f3c183083875bfb169eaed8f24de16f783b78db9d0b1b2a025025ff3fd5742d38481a57f177729d92e12732e7c3bdb8205e1414b249a0338f91a8c9468b911f33355e772c79db0ec65712edea6f4fe52cc798ffe718ed38142fa238e9e7250cc01482a76cc432f4a61fdc520bdc023141381a37bc982f74c2d0354b5e019d622648c079942d80d712511b8df9fcabf100ade7d4522099c8fa61352f8f5e70edb3d6c55b36f7c7704d541716326663fb6eaf0322a1743db3c56578c31aedc51d68f82d8cb77b66c9e9ce03154289894fb11ea36ec22ee1de9e5876fecdd3aebeb262f88e9c9f9384fc86dbf0eae309385ea231c98b7e04c3d9ae41438b147e46343277b21baa79bc1bd87314066528be6802ee4cad41d50a88169d6c09473990a6659711705526d6f544c271b5ab169d47fc4ae294be6dadd3409145ccf8266c032cd98337702d5d7d44dd305c53fb03d23682118603e99d9c289fd23fbfd443c4783c7556618f6795a2a210f595070087adf472a1c2843e8b6fca38880a90ee4a622746c860a85998b498bf7b0a44f74cb3967287b45225eeba66af4dd108a16277ee21d6509e70a1a3cd461307e3d9099b358047b2f5ab7171e9b0c4514614013fe35510ca8c664c363e0a004b880fbee385a079e43919149d0678b8639e991b11629424ee412ed1807d7407a391313e9349f454df66b96f7f4d208835ab3d8d9ad8190afc0754fbf5f8bdbb42b41e95eeb651728438f66723391294b345c256f5855b0c4b37b5dec77ebf9f0a6d16e795023d6bce19610e21ed888b78037c1293604fb788f3a7a14cc625f3d97eaf369c61b0affa6d17978ef1744a95d0553602e5c0232bff85b8c3ead49b0f22009661c8d9486de77f570c648e31c4d488c9625753a6abc884aab250d1c25b4dd01b31817440160a948cd4c48cfb4bf47f6c401d1c02a956286fd00d15f1c6d81798be778d8034f6fcea11b214d821aec35c6fd9ab0f9eb24093412fd452960c11bbf0130790aa96421f6d58a12d103b2e533be16d555bd6efb09eb0459fb192890cfdf14c9342c0388ccea15a57454f6f8d61fbe1a03601bca97c513b387a97177d18acd015975f0d7bfd876315fc550ddfb46ad89b7c53c73517fbafbdf0626b720a1e6a95dd8f0e377c2ed6dd89abae6dd52f6a4f9a8b0a2962d31db14dab338014bb5b0cda29fd31461a454e5a068984642efb943d45f57fca10222c86ef786a4014d5fc129af9708935d7a731c39f705309e4bfc333df72aad4c1fc0277bf7248f64d73a659e16b3ba265d859f999e77b10eb3ba9375b213a059ba1874494761ebe793925a4796378246174861a7411dc9e7204522cbdb851aebd56f17c6f6548a80e839e6f02a48e4253401a614e9ad316d01f6567fb8ac57a97d035208f6b5b6c001451be465d606db493b750893053414035069417271ea8ade58b34b67e151430c06ba20dadd3c5a3087fe6cbb0c36af487acdad85fe41ce3d5fc897c82a98db286b3b5192572466b5c1d1950b5215c6e56d01832b1dd25f444ef3d99d020ec1f7e34001cfcddd24e52d55aa1c21455bc158b60cefcd20e0801505af56aa8221aa1a83ac7dd188cc0458d76cde43aea36013519d8139194bca779280d8670f718826bc7a19e9a9d737185a5d1781d9345fc23de2b21a894be02e29d3712ae96f40febb21a1f502b52ab143dafae61dacca6c2bf9447e97352006807b1fbfc5624f188ac117a17a256387c01a2cded9d073ff5cab04a4169a168c595ce50af4fb6758dd166dfdffdcd8bec0149c5650ad68504e0459300f03e4296b2224355f59bf51e31a92d0102b8e36394bda5d825592af21bceb7b756a2de13fd15ac723f5d12d4409911c78b867af8d8c93bfe3b95c818d6c62b3045eb7fdb94df061798e315be5b18a0ccc4700b72083843a4098c3e3b279f6b1066f315546c36dec5c9d41f7a68683feed2a8d942f65c27cef3c03c3ad6fe18995433374b64226d4834c9ccc34373e9e4e9700b931a26a51fb7349135921160a982c4556db0845dd7b4db53ef80a3467156fc7968c24186149934281d498e3a06284ded4ac5d7ba692ecc5a2929287d3758401cc928cb12fb3c17f54d67dc5523008d414713adf571538f54703cd3d094e966f00b144e65868835a9a0016ec39c64bc3fa9f27d808a5c42d4bf2e201c20209518fd914094fa200cfbd106b119dfffe1ab8c21cee2359637b2cf4c48f622a5c0160fe4fd835c4b4b0b22b545f5700914671914fdaf1ab6951445944f569d78722f1f40b147a9b407a61656b9afd2ce72d460a17c46b9d26db86129591c2fa18ad699ea7c280d14d74985f18635d968cd433ef7788ef79f52fb518d70c7183657e8a44d86c675cd1befc4bab1a2293d23b584c9f5ee612c474e2acdbf17b5f28fcfa9991399bde5545422b168117ca7a8850199d3a225c467dac9179a270ad76436ea9a46585df8fd05830f4c4c2f5bad2ce87d4884491753b205097e4f6161749132ebf56cbbafafbb7008a8d8713007ffeb8f0f0f1ae4f12743365c01ad2f9b18226e5b29369677698a8036398776086eb492db51b60510294d0bf1016f90aee9b0b2e4d1f5c7b6604a3bf2ad5a53e6e3929b5d6618d795e335176a8de638f78ab7b91322e4088d52dde886ae2979508c4d0118585cfce2ce6a078fbd592c3b519044a45bb49fe80f5d7deb1da0f2c14762f32007a4b4ced81ce24d1377225e14e64829f6300df994c03b4c0741ab33482b8add3f225034a03f0fb7eb65a411488a9b42eb0dd214848238768817c9114b90b1edbd552a7841e0b835aa2b3ab7bab2f819bd9303d826f11e119cb3535cb78b0b517d954783ce2cd39027dc3fec1955e67cf3a67e756108e7cce31e020c0369cd72813eed21c92b796b75006d5a3dfaa0340b94ed8e128a64d2594835794ec28da3caacdb0dca481ab2a6c819f4fd0cf0144909d872855180e2aebcd9fe0e8c5686d9f53a0039fb6aaddbd36dd9b888ddc543f6fb5fff17b94c7b0a9f43ac8840089ff25604259bfcdec9663a1ac0c30c81b9906b8fc4b0452e78d47805c7cc47837a5b55db3b8a05d11c94fdd7d10d6d2b07c1a3330293e3e4ae1e68b7bfdaf1feb5ff5799e6954be28b3fd93e0cd6940062fab4321ada8def1136ac1936e67f347d32d53e977a39bcff90650810cb83ca27d1448d900f2f12e1230292fee7fc2527ec42b4f75404f593278f5bc5b2eb1952877d73b5f8ecd0eaa2ca49596366872cb95074f727e3054a643a58e6918ed6bdadaaa122c7a2f0c531ab81e02ec10d936a96f0467f8397be28338c3a4f985dbdc583ac91d43333944d29f2a1e5cda79fbab2f181376aecd210c7bbdcd4bd51df5010d00ffa48534ea28e170f2c510ba37150d9ba7ce0b03d0955dc1ed554baa04eac7de48b3f086df66875451dce93bcf282565407efd542b4cf340320e2012f4ef74f1daafa4313d128b396357ce5018986c05e7b2212d6a857af9e99fc1a2c1a37e2d6bdb5607e837d1afb8534f5627f16b093d09da12daab057e1cf38dc196650a79e02e9f8170ef9446a2a5cd05cd8d8a404a169a0b9b3b3ace06c59473eaf3cd8fa28df1c55f8214504f5595f22f6862ed1de42047e3e7454c2e46abf3b7e83d1c2f3d3a93819bfda60cba693714418f03c8ed6bfe09d5924e568979d8a61369ef8fb626ffbc0e0bf8012bedfbef31dec48dd395197fb3fbca250d16a7ce43a817e2912376e2414325451d283d64ec29bd2cfadb7955b6d60ad03a9b78ff8b95c4540f39eb02371de5e9f55234fe036951e8e48d28811717122d0832d1af310c00d694c2ebd87e94e5a268c26adb052e895faf7791da701f0430d212754c36750736c6b9ffb14b769ded5c3f1e2ed380ca65661214a97b5b6dbf5f1fceec10fdcc48b9a4a1c04bb66977a94df03f782024f979cefa64034982b4b15d888d53cbfe9755a7b51d18393f51f328288c6a5327a1fdb86741b3e21057a719162b0ed3b3365f9ff411407f239b422d278e462d094e66f304d1bfdf09b3826424906495e61e9199623afe9391b391ab5419107e6c16e37294fd0bb3552a3b020132d858135018b89670dd6ede726207e5883c6c27c4147b5518ba00a8d140693fe97f44d0c95fb98f1efd34b515a7a81c1d4dee1e8fc0d1a6daebfc1f7ff096d99b0b8d8df005f6466bcd7e87d83a9abbfff0d378c93a3a8a9aab0c9d1d9f71534375e607c86ee0000000000000000000000000000000b131a212527343c', + '0x2b72ad2442729ded99ac42b067007dcdc9ed8bdf427c007968b784389b6e2fc5f0a0aba785c4cec91d9e6c4ccc99e0d04665eba236f2bcab0b1924572287c5743c78ffd5b4031de3c0fddbdf20ce89039a82cd75f50bee9084c2eaa9359bbd06125f788249b070d9f97380503bb61f6570c40a94b806818940e351e38679f50f0592a4712e7c5240cf761be5dbbf6a530d965e61df766cfd7e678fe63b2dd99b0a872ac98726ecc9693613a1868c5afb30d42725ff41ce95b5b0e7bbbcbe7121069bb22ffe5e1816344a729d2367842430aa672cbf21692dc1a1af0f4cf2f259074deed4291d4f16f2f268ca72efa81996629c85a85820d02acf86e35bfed41a859631cceca8addf1557cc72ea9d114eb55b3f14390da328382892818e3e7d7c098001fc99bf4e807d9c9117de6a2aab782fb4c3aab0007198dc2909fa958d9e54a84dcf97680852668649eecf0e0b276322cfad7d58b6b0db0dd58409c4db003305ea9fb3c6eea56125a24b49b9863656e5e7bf1ee4ce254107a9400cad115ec069dabac51401b5346f746aa95b2bb87b4accde32423dd851b2ab7f05734258728fe24a0a59f3044da3009f66f8be11eeaa1f89ebe48d36df0d51ac6c7945255894aa4c16f5204a503b77beef1792200df05625edaa40935b259f63ff9208d06249f67741f0d0e104492aec236d11a85414fc8651dee4900f8a71d3111c1e948120d21ba1ebaf3575042af8514ec16609b25c2806398aba6f1d7a878ed2d32dda6d6259103dba755c799e69307442f3d167fa030b85d14af158fc730209a434b56611a526db303ea03ae44ebbcb59609f1659c29f75716503afec643a9936c40ffcb199eef61bb7cbdd9faf46acc2283d47c1cc40b3aa4bf19d78489f2e29894f4bcab17833edafa19a747e96754dbacfc2a2bc18c6b7752d1799dc7daf8862a86a2e127fda0cd896be06ed666a6840494e3c77b0fcd38e43bd3516dc7766a574552e79bb0cd59b0f8bf473192b8857180a4b94004a2515b5f38dd190ca5c2df073dabab5bdaa5d0ca607a5655d68966898b93f7f9a99b399f5db31241c512e52112e47292fbdd05865d190bd98107c4fa61d79735387b346c5bb301bcf859c821d251f5de5602604f9f72ed1a83a37e7538d0b78e3dd3035824ae9b641eca9f51b0c133fb97b39e7814068db4cd736d731895f97fff6130147cca863056b9ac67f576e6866b41de1f210f4389b759fbfe59f1c5f6551e93c09cc29a42767701ad2dd67cb68aefe611827fbf59386fbe3d51e1e835f223a329d15009a9e3642c26b58d1f460cb04ec43e41a2a5d5e7e625c4975b1d575e14426ec7391974d1b32cd36be0d7fac4d874d040682ff53334c297b5b1c219bbaab26fbd88b319c9b9475e09f885711c591474ef6de7a9aa45673bf6dac210b72f7b7bb002a0ce63b31ad4045676c94b5b97b841535e16cc8927e22a30b0f7f9bda2ae69f2dc50fe788771e5326434517a632fb8bde91c3edf3e4f587ad892c9a0a454c0ba7e73d6df3d384d8205870944262bf1f0c3eae9c145ae1afaa1a0c86fd2e1a85c75304097ba3c8c653b37784bc448318e4a1e0b4f7f87400747b9a6186d5518846c321ef526d2f22fe8b65b9e4f95fc7e47a6bef7e17f9adcac51f2f3b819e25cf4e808360b38c74d62d58bd90970083c306ddfdc6b6c1323591947230a3a4393821ce88d8fabed1576d289fb1d9d15ea108d5e0e29286bc6d2b9a443736a55c0a51fafd4e651913dfa82e28ba5ee82091a0bc637b887f21e0cd90fe8fa5900a61c0e9d4771a193b5c4a96efa879746e99c4a8c8503eb999bb8da2c6ef793c8f43e3dfaf3cb3b4a1d8c791def5d7c3248f162cc153a7dcc8279111dd8fd6566fd350dd56649b7bf25a1c83823b1a052b24419dc1cabfdd44e7108810797cdb33210c69b8f01ab09e840e40e57edec46d92d1d7fe50a2ed25f36bd905c093a136c98bf63575bab4bde72ba30aa333c7feac15c554c07522b132c5ba15913a52372cd92b798ebdf108647f612cc0fd10a1358140e13a1100fb3b4aef1b4d3827d72f7644d6690bdbbf87eed79c32fd9c08a1e3534dceeaa5d15a7d7e342df1b19cef4b399d3e7f62412b368986a4a97923ba54af403af33528f58ecc6425c4f27d5a3e56a68da136af5ca507ee1786f93be4d05e9321b100b53f98ec8605943eea29d2deded1e6f6de7be23ef1a0da7f91d2ecf931550ee47f0e8e3ad651947c5758593beacd324d1a5323313c1e0c1664e58470c7fdcfda845e1b0e3429e05e29076846f8cc9e911bc0b05e80efa5a5bccefb3b96e734b75f931b171a3d46469b3dd2b0ebc52de364bc4592d6aad626eab9f40c4805708927ccb4c44bd20e168af0b32d57c626204763364a2d220ed334dfd6861f3c6ea85f6822c74ee923a4cdda54c105e8ffea359ad59e5133b77e8de53a9a74b7c4994e25a756fdd8d757156e3c199bfc819e1c4ddc9a8e680a5cf19c178757b08059f74cb8add5ad60aab58bf429818e9d9f781e101fa14f1be4a5d444407c81a781b695abe318fa48fdf1e503e3dac63df96272089af7f6444e986afc77a3ed98988f4721ffa79b1d1787a22253d597abbff2f6f273bf2ef1dd931a6b77b7bcaa166f66d01f18dd531d433793b29025acb8930ac3b33c049ec39308ac3261dece8a90de4d711447794b840a8f51a259f73323f1927e96428cd0ba8a9159716243359abcc885cf3c059757ed9dd23f7bd660139a66b6028ae6076be234ca9992c7417e8ea361c50194943f8e35f24650c1c58edc5cd45e44e31bf702a24cb0cde4cc95cc4786abd97ed050a48acb6719012a90deddd9934b80ed407b4eae317ce456e1b443259d163b5fb70122a1e3c133debad7f7426fcab32dcf8ede1727eb9ffa434df102b224bcf98e24cde45023e5b7705a1a717b5acac50ac3f95f2ea64245a0b759f1fa75abd10fd2376b539468c143d52df4c47aa0c5d50fd4f849c0e5f83cc037e666994635e22b641015f8847fc635f3f005c2d5cd488673bc8176f0b92eda018803b17661b276c624944042b443af98b38b0b3627769892dcc69fc3894abdfedd41c4c75ccb302c02966b4771b461fc2e27d54c83bd3dbaaf5451e5cf21d478972d9afd487bcb908eb4948852c799c14002bc8d6d393a79f7c2fcb7bf33fddd61c11256fcfb95f67ce87229d6ddfd3101aef28f41cd636a136757a7ad31a501200399b49e526735599da278b0e3960e6f9ed8431798620f0315452f572b975dbc8e8f0ef8e26029e16a480912864117333c8758b7b7ffb836e7381c2fe7ff7d557eb46c54a7d26a50315191bfae6b5fe44546b0c35e2f2451b0868d6c7ee7e95b67dca750aaf0b6ff3743498cb2abb6d25d927d719edb6e6c0282a465f643b722acb8555c2cb913cca2de726242db6d46ce196b7dfd15ffd9880abf579e62ee9dee784e123ba7e8138fce40407702a980afc7afd88678342580e79691ee0523daae3a689f3c714a0a090d659fcc8b24c5df25a0d3d8b6dec218a3e4e778d086297c6f355093ba9f759bcaa4be5498c3aca402a666e46d1d943bc7373ac097a66d3990fc7e807030c7ed51f04bae1780dc58fa6d5e4d22f7efa1951e8dab4cb58e4fc08792df9c0a627087c6a44a90fc815335912fdb3e75b9a3eae20107beb8cbc7446763213576db3dd51143b69d70e6f1f2670c07db956c252eb8cb598cb334c38ed20a16604a1aed9747be645de091862fb20372457ed3468cabb607d79314be02ed185b41df777cc72c1276a58d55c756c3af43f7d0fced4365408c94d4047c7c8345f6175af1ddb3c8a0645c9e237695f75d08cb8a38230932a26e040edfe05ed2a5cfff89d14a017199a521cced5f2fa120d7a68406dc6c4d3e012c837d5f375d216223389724e30f011386a4d926dd6468e8f589a82760eb5de307dc80c0777ffe2afa36667ef86db2772f7cd6d9a9430467a2c854b129cac055173a3e5a1118dfcf59455d050836bdda6dfd91c20c6eb5066d27f1a588ed22316492f7eb9a566dccda1989d8bd2d413b9982d4676c60acf061e81332337d19e0049ef2334254a5a815f8d7cc8cddc89db0c50b47f9f48216e1b8291bfd3f557ce9ad9ea757afa54b295ca8bb60dc6b852a01cc24ddf3eee0f3d6eea4932cc5fcda8ba63efb68871ad4f833155210a064071f4c5c5f5eae40a4a868c1efaa30af139183e719c1e24915b2ccde9e4ea3f93f2248998b3c8bccee51eced4a6d0ea060b8a8ae3499acfc53ad88afc9075d72619badc35d5cc1bfdc6d00e70b1fcf95fff85fec3d107ed026e60fd0327b1dcb857ea66f5895701b639fd168487adebf96c3c5056b55f5bf29aa48fc22850b2dac9a7336d775d8ae8af4078b9c11189e65c0362a8afcb1dddd29db0bccb6e880f5765ace52987ec7f5d909a7886cf284a6e2741df1a21014a3236b655390a73f8636afb0c158b0208ddc101e8ea6b9bcaea65581cc132ec292a8f1d5be82d7a137b84b3ec31b06ad45a2892faeff393913874282e0adb78749bcf2f09149aafc8d095deea08be29ec9b6e64a972c73cec096bdd58cfd17260b5d8216d4840a6e6b33dd4f538e2d8e65ad1d3b977fb061dfcbccb2a47d8dc90499366fcc9a517ebc37eb87615d5a7f49489cc4408eab587772a901a9d54b8a33213ae5abb57b06ea8a6ccfecfb9ec5eea7ae14c7fa673453d6b8342900e57af2df380a60b9ba9737d510d13ab46573f0e9753212d0d2318851c9bf8e8ffe9ece3ceb4e57853781a2a7864ea551a02e363419f9e63b00d5c872604b8fdbd8b137da1951d674b684cba56b33b822a2f82787faa162fa488309db83abe22e82b5ef7c8e40d91b54db2aa127b2563d34809a7d15e7c87492bee51ff6565edd5f23185d2d2da784ace6f52918a268e8198a38fd08da46c65407852d5f7157fac8e502a8cac9975b4ff7060fc0686149b428d5f80e83f07e4f381db9fbf0006dbde2a8b956185cf520a96fd0879ee7a69e6ec7d03d8abf7576989b30f79f5b11d500ff992414019390487dcaf07bdd6b76be41770a3a2033b18f3de004df7c33ed4b3a9bd3e8b144b44ebacbc4acdf05d13e37aeae05586d736613ac677e00110610b84f06f83b9ae5055c68bfe934bcea008ca55c54dbb8f921093f9a204e8180c3898e506cc0f6dc3765c98cf67d7ccc90bd6885687e2f8f1d1f96c0d199b461b6c6a9d62c46b63effa6e2658212af02b1b15e2c45233118cd3b5c68ef78109a101a64b2d7f03c609a1e4b14e67a6381359a1c9e81272054cd07ec45a4f43530fc6c210744627989248aaf41c9b2ce7bf1028d7d7e47e25da312d925c44e79905fda0d8fde7c5404eca3f171ab88e87bc21a65f6b479d558cc8a3706b043b93a6151fa1df93be907f3cb9086b38efac0200c4e01faadf6f8ff7a40fffb4203095693b62ed0a43e28c07f1efcffbab723e8558c56c35175c750199b794d9d7ca7a6a8e86b4bf0645b04a80112164cfe9bc50004d425eddacbc7170670daae3d0367138963c06cca39045f7bbf4f4716cf1cefb4ea3e8c979cf945c81ee9b602197fa294623904ab6c0c23121d45c9b41e02fb5ba664ec23055b0554f9f05b66f6a10af62c9e3e424a9cfb56e5f69a0162135076379259fa9e1c9699d31bd7343c80feef842bd6e84f1e37550ac6f2a0afd516eb7ffc1f70f02138f6396b75ef50df32f8fa8686d2873c183e2987996d6ea744facd052d2133d5cbb2380d828075fe3c10593efa24d1dc914b2a7d97cac1969b262d2c3a75307ac4eeaa4c4852a81fb8bd561f0e9134aab65c967ab5fdb7f0dea6eeb740ebd07a5c661371dc987053098183a8506db53cae7339f32688333b5617d080bb37ee9462951ab6299231214d9342cc4372375bf74db8daf2d5629b52057b091d36f7d767db0e3e752af8a9757f5882d0a3adda52592a644858f800db605ffcfa2c39da19b3745639c0385b561e4fa9f601c2aaf47e0c8a21f01e6ed6dc0c109769993636d11b47ea82b53abcccf7f38b94a29ca9a91b96b02bfb237510c7176c7bda60b3a18f0a1d7f110df5d3b83ea6c9fa32e49bcc179a7eaeb27ba930d34f9833878c73c9c449ff978c538b2c91b95aa95d7d91e740802504f755599a828f498a622bfe57bb86e3628197be9bc81245a7edf3a34d25991419770995ab07cc93e0b84bc3d8c9c9adfe9f880674eddf54c26ab7d73f29792ddee150847a37507698cb2fc43791942faf10a6810bb261eb4088cdea1e0cd0637927802a7f984321a368a7020d4c8911d0ba768d2cd3087a74e117e6721499057ca97001368394cb8fc70d8e28e85984910a2be107c6606b216a7b08d367e8f3b3f638547e5fa46ab1e871e6bee12786044f0233a1c23e5493b3f0131469767b80929b013d66679da3d7fc454ac0d9eff5598097da02202428373c6f7e8993b2b6e427396b999bacdfe0638081a4e1000000000000000000000000000000000000050d151b1f2c3439', }, ], [ 'Some data', { address: 'Q205f2Cd3c4B65a999Fabb5496D78c896d141B018', - seed: '0xef3a996efd6133a749a1cb9a15e7679adf68d240d9eaba3349e679969068e5f83ed6f1f7506eeb0d87e2d94f8ebcd914', + seed: '0x010000ef3a996efd6133a749a1cb9a15e7679adf68d240d9eaba3349e679969068e5f83ed6f1f7506eeb0d87e2d94f8ebcd914', data: 'Some data', signature: - '0x4a073fa43a191dfa4e9df04fe4a8ace3f87fa300fa12e24a1b75a04354bbe72bd3ed73fd9d6d4925a2e466bf2164f63da3a30074a801deb2abfb0dc4a67e1e9afff17d0fce39f63601ea9a804e3bbc0f5739508149e4b3b4ca21af040adeaeea62954089fdaef60167b60409a7cbe322ce87aa59c282bef9ddd920f9ee24ce70796cf2abb6e632fc0fe91b937be5d9f45245838f19e8bfaac1f180a943f3c055b534b0477845dbb3b1e4bf6c9aa66d8002cf62558e4873f1bcfce3d0b3c18b8c67fa6b24bfee293f6a85b0c2bdb50a1e6f62eff1d226bfbf95ee122c77325581efc241dd0e2a0839420f1162a265de4c4b084d357c51bd5abbdeaad4397681934095d7fc5361b0387f51cff4ac3323c6e433d8315c43838f5e8a874ffd3291f15616a5ac7c55ae54082b8247ef164b397a2beb822a5e4a00b80628f5b870ead9ad075afe19a61b1e4b656055299f7bf749060a1a1d84ddd262ae74189bace793c70888364c9ce1018e988b86fb3ddfe8417a2332263afdc945bb2e71f4f0bdedc604f828e3ffd848b61719b2511cf5494e74f98fdde48eed6e9e2b6bf177b36458b978024ad2c6a1e80d55115418d9a87941d061abf6e388e0d78aca3ae93b4e2d8c35346dab0fefab48f770bebe6e1f984a19aac7a303c048b679e3745f5a3a58670dc3b3e49b10434238a589dde687cecc1a130ecfc65b05717119373b95c1675c0216c63219ff1b3ab054b32a2ab839e25bf4cac1e6e208d59f097e28688a7092d17f3c0ee966af43ac740a9bf12a903850838a2a7e2093b97337782e86f1a0d35fa360058a6c46862c98f85df3f8221885378e355625258b45fe08a19a3c4d2492ac201086e6ece0c634f4a856caada6edf0879b72b89bfb49b49bab4b910b78650f885d0416d05c5174f9e6f9b42957512fc3348d2b8040443dc6e840a8cf1dd6e45bf20e13efc829a8ca967b122205f6a23f2741451a480ddc69abe91a8d9d0716a54810c242af998dd5a1ec2d5075db76b25867a267b9de41c11df3d4db76f09d1175b59127e304d2743554fc574698a71a5c245fc57c33ec927dd211f424e644af4298bc21bcc3026dc84153caba85434adc3c5eff4b8caaa8ae2fb506c689b290d1d1b435cc263e493f5138205b39527bf1d5899263dc3217964a0ce145c84a981c5e6f4899a43d65fbc37ea26bdefb79d9e6baa322851bdc9b88c8083d8d9699fc1a3bf80fdafa3b3f29e7713acb32a9993b57b11327df29af68aa76a8e4f89d3924ad58c9ccd801d715f83694551d77a5033c995415b33d256cec6a62160c92599a9f183a19cc58ce557bb8f259428aa2ab287d111aeeddfa036f2a47bde557ad43a1a4063220231541786d943137a6aaee88f5198ba9e2a42cfc0eed2fb48562f13752b7120139b50f42bcb8ab7f3491694abe15bea4b84474984b0742ac89b78799662f079bc9c56e5bb839e2494ce97df0992d7f9d0485120e0a0dbd5f487847b93d2b174d521c9ed0e37d61950db537d4f2270d20e825d4f882ee45a00b07fb40bf91b467c8a5baa7dd4ba433940ce049dddd58a71d62233bccb31c3f0027d13b349f9ecaa4cda4e58f6f9a913621d80d3d339875cad44306ad64c316b68728b539410d22614661f652889422ca64781e7bedf33a0930e69233c99c6e92d5185c6c7d089a13b038873984ae279e74206b268cea7704222bb4843255e977a3c375b0549687563a0e822f7c790796420c5297ff0f4bfc9fbbda97365c649f36852be9d231f58ae9ba80db3b87dc4b85900346c6b1d75079ac9b32d012a3ec8cc8e7d31c122a991d43d2795df6f44353e15bd17f08ad07ddd06b7a18f2ba643dca97b7228ab302f0b50230b66e1eb8afcabdfd88e95431b7e4d2b95a92655e089c54cdb26a0558db1e0b597383d431613e1282ff600c56805f3b32497c7390102fc59491639d98f62a9bc5b2701feb88c0e21e9a3506dc95dcc11d090fe3fb28b9adcb26ee2339b9eaa150e204b41f979e51f3d20da764c43a372f4ad020c27da8d516d7e5a360b340aaae992797fb74af4d1983b64cb9e2c22aafa0e295027088d75aa954f45b737c7a3a1eb300a104797a5dd42458731babf40314cfa4c0fbba10466e213ae97000f8af34160303c18733bc8b11c2a69a06a1cf5c45ce2e0a04848a7e4e995ae5f920ae090534a42282ec0ca94f44f841a7fbad9a5d1cc1d75613602d1c166ff6af7d5c79708f7c06cc078236f99f2d461c73fdf5c2f7f366665973d2711fe8c539d00885ee22dfff47b6431df15ead051cf7cb78d1dc08a6f53ce001b119cefb48fbf853333a65876323a8c2ed7f30cbd2d1a69c43c565b701f64e1e8cfd4cbfbc95b3d9461ee6e23e3e5d742287d655d81d0e658599404ee769547fd8ef7e9afe33f297d048e5ee6d6cefa063f67ce46c11f0fe41c3aa1412ae4f8f95a0933f314b60e94343f060e72c122aeb6c9a372842e17a46a59deb37a9066e6ead1a9e7527b25f45b8a144528b854bba4f89c57f399c87f85d93d677183430ec8efe6fe765ee70237c0afe5e4b90b368ad1b918841d0762d33a24bb41c8e5d5807ace97754274d08fead5f085d96d7252e773c74d059cdc8e208c85be231e36899ab20cd1c879a5af35fa7b47f73be1a1b5a8e804cb3af6fdb22a66e32b1e92e58cc6150815ceffb29f8631772e44a14d356349b3ff706443c2c3eec7f42cf94ac82edfea06bfa6aa3915085119d23b13c0e5c7967a7373a4dfd87210b04486788c579cf17f68c44ba3b2d41223baf823331c32fa8ac7b3ccc5ac31b5770b93144dda5c186dc5429820ffc0263e4e11372e3dc28384f2334487d35ac0a0b6940d1192937ab919e658f88d888745e7628cedc7b733809b7ec806b3d02c64d7a99862d41ed56e80b52e48c3818afb8d24439808a50a4c0a4350fe1ef07436190c12e6f892835b06018b0c6b997864e432b53536ebb35f783ac556d1f0fc4b356f960cd35482c67d9ec44a42dad35b5d734c87af8ab88200254282885e9a8bdbac5699bc6e8cc28ce416cc7ed85e1f96b3a5a29e005b250ac4a4647865d13435b680670cbc96772d625d0ad7d1ff4f9ebed5386dc78fdb367c9ef868cfe9a2f8c400c955e6c8249e6a4d54878c27af35c049eaa486ce3cbe60759d43f6cdb89ff93a67e1668b423f00cf528e3797b6910f8f3196798e923290f090953f3a04cf4627d74970cb62bb9e94446586052317c5a1b9d00fe6316ad477116ad24bec19b379cd5d652a20c4d903e38d4db33ccb79be6e07dd6dd7d25fa92961e155e642462d9b2ba41d3a04f69127f14569b7010a40804f2b0ef3e3dbc23184d97a5b3a5a6a9caa2f5cabda9293e9262c9a94033d53bf623fad6f8a45c72f913a5416c96d0558f12dafe8221a075d38db630749b69a7628cf72338c47e0268fb3f24766a777b8df8f92b9794549df3067bd2a452d34eb55ad91b50089f1318569deee45d9b1b0570153626ce8b14739e99d0e10a914191d74310dd4a4714ee2219a0f292b4fcd1decc7a51fd542ba4e37be86980ffe0b69bb4fd26c5eb4d82c9e9207ab083b06c36546ccff6785bdaed2e4b7372db02f833b8707987cfa4fa8fcea4e66e77be9f56e604e5efd1f95a3f79df8c9fc8fbd71228101770f3f262d7a2ce7ae07ae9df77f4d7e4b712b0c5dd0acaf13cbe33723ba1fb60caa53f14ad7c175c32a928af24118c9d7b38921970b9c55c4b99a3d75ddad15c5779ee57c05b7b1b747224c6e948dbec45a9c5745e106d8bba5ab80f9209a31f3cc8d194f9165ee7249dcdf282922d0bdee1eb787400c4458c152e35c5d0df749d430dfd1accfb1af91e444795a4de21be3a27a1b5f952f4b121d519cb682ce9b8d333468e820b548e55f1ae7445c73ed12286dc059774912124d2010f0706b002e3de3cd35425cb9f008a102ac86d349bfb02b0a790696193d944b94220d580b573dbd39530994f78c24ca99687b158f93b1b6549a56ccb7dd7dc340a2ddb21b045e33210a609884a88a87fa9125ed8bab6fb439b708374330e0231349d5d0fe2040c965facaa6ba0320fc064103da50dc443966ce98213a37adc4c56fd6bd5c1af5c4fcfa47921c16890cf29f44a4773f429da77eacfe5b9659ae3362deb33abbabf73b931a5b7716f4025c6b7996dd1f1aa9cb9610078466afa392c022e397f0c2232665145017178b7e188fd2a788e8d7e95bead0c1b6ca893ebc6a1714d79761b5983890dc7c84aa24a9c1882e90e9aab9d03a2e2a425ad9fcde3052e1d8647d600a13d0a0642b321c8dec857fcd7b72863bc46af88f62dc7b1a965c13d1321e80089186b3fe2406ef5a85e3ac3cdc738b14377e6acd7908c7ab91ca24a3896173512bf5d1faeee979ae11834f51576a007895293437143013c43eb38ac8ea7b0461f7765cbed2b1f186fcc29d5bcfa561dc43b8104a009b491033aff3bbae4a9946a5526da751e9e4675ce456f9066a18d39d1cf5a28d1295cf7ddb2d3bd75cb76b8cae004145a0bdb4cdf9d9a3352f163abb25a9f17d19aecd14e72c6021529cbbcc76e1603955f08fcc861873515d65b76cbcda0aec17df22a8e626f0e4fb1c4e992279bb43575bfd3f9568f5cd08905a187ce6db1bd1f84c8ef51ff01fac8c9f6f8b6521f805a4e3a73be440f21f75479dd19571a6d5e652b2e6e91e747dd25c7fda39435c7372cc02fc382c0021362dec107d8bba9e30692dca80b74e42c0a4004c9bc26929af713d9520e3b83a22388100bf039ffbd5ac38fa91c481889fd0c41b76029f0123aa64c9e7a411247b0ab43516873eb9e1a1139954b1f87e15c023a0dc7173e32792dc8f5852e72837177ba3f7cc6cdfa9fd78fad65ea08d77b77ff3b959db4cff3067b63ff72334d5c213e7f5e5ba996393566fd0f9416e0a848bd8fa87532b51ec8187308c68bf925a836c7122b106bfa4498f308905b27794dab8985ea61e75d5d91a45f30aa303611ef4e501b8238e89fc412c5f51071551efd65417e488f49a8d901ccc10f9887ede417143bdeeed8ad1df40b37b04a92392b0f729b72bf48c88996c225c1822464108a8c997c1ddf2c5c7c8a23de2b343a7ce747608f721e6edf70505d2c9d481a597b32105886cb7bbb1b4062d3189a0bb44a16b47862874252b1062d0e8405b262b2f80232d1a267846d62ce1304d4ed88185b8d67293e092f06f528bc48a1bcf65c506fde8dd147e1fca73ef2a37b3c5eeecb582d1ab7d3ddebe8a5f981482111a9f25f795c2624479c1f4212b13b81415cc25cd9489990a6478f1103dfbf65f878cc9a7c359de3445bc0b3dd232c7115561cba30c29f00379c8f4c996bfd37ea9705f3a30018388968c7e6860d511010fa5030535cd072e37e2e65b073280278702a37ab0a728b6fe306aaa3189f44caf24530cb415694d80eaf085918ad84c8ac4dd93a9084bdef253a385a5089bb5320920c96b21d760bca35b513fbebae549929f43191fbd04170b652cbb432f7fa986d0ca48f2bea087528a8744fc151e50db5b8bde5e07cd6649b99c816b106fd4ac59bf22a79c41c2978abe52d73201ac73fde6a8970b4f8c46f73f34d486523a490442481d8e7ce0b4259ec34df68aedfeb1da930b41f042c12a25aa03f2670c03aa1e95758f63d4f6ff3d40138fe4a195bc1030b857506a73e4beb1a477178d876be302ab05849d22578814c0c2dd478234373649391c77514e08caece17b23b6b31377a8108c3180846b3d5cad20990af2158151dc6932083b789912007ab90d6131ef7c6ca0482e732f0a09f97d40e58d5118c7ffc417b8da47b3aa93452448199cc13f97628d68d4e82544a666e52e7c13b7a5416367969915186a53d8babf483c877349028ab6422ae78081cd7ccd7b1e45a5078f3244b05406b0a51a84fcbb168bcaf586bea6026162c000f24448e03e73dbcd7d46f9e2621a39ec336a887f903b10aae33f1917a0b127f2463ece34edd9fdb921cb5090fbc542203a875d86b3524122738a2973550d0fd0eac9cd56a4447097d62550fe0fa8cdcacf7bc5c45744dc50ea495bc4e7f5868207a31d960d825d5a75d52974262d7aad5120fb8b29fd1567205a85aa535e22cc24d0cbbb0f9c8660626e0f987ae8b52e639ce2157a3c468f22aa4ba6c2cfce9eb9e7cab0c173257e2eac2055915d74009c68445ef32c9a69257daaaf9980482261121c9bba39b7164a01cec1ae9825d5e6a2cb65313ace3c119e26cac2801465d61153ca025c6b785122554affae62109ef774ceee8472b20104d61e888adae84fcc6b68f2f4e81195f64f1769ff5d45f9392c0b900f727de408b53b49841ff7d840dee9b6857fd8b6bc9082f5c6074919ba4f4fe20267690d6dcdee907102a3885c10667b1bf1a5f939fafd8d959759fa9abe502172c40c9cadb4e666f70818398b5b6dce3f00000000000000000000000000000000a12181c2329303c', + '0xa82c9a9de7b4b6f858dbc5921d45d8aaf2bc30fc2066876327cf637571f5bb898a2daee6634f1d570ef5b232e16085578e6612ffaa877f28c287d638df0e68a1939b256cb36de83cb020c485f48fec775499c986ffbb4c1ee211a2b85ef7f85d8e863da8480a8ae019263ae981f8c95c788d80ce6fa60d0aa3f4cd142a1ac6d3cc4bcf73ed33c725640ba2c2d18735596aa935359a78b2dcb7625a074bba2fe08ea19f9075f3a29cbef1cd5654553a83c2c29a009add4105d2cc436cacd3950e88f4c0e8279c8ca3c2eb341cc0c3c803983a24dda8d54d7a42f0c44e6dfc6c630e53f90f62639d5fab5f1f91c00f9e5aa8a3a4f2b7599965fe7f90b716c8214f160667b96a28dd8051663c2874a7a32f86dce3fffc3af1e50ac8e26ff2e330d6fadc58a774d684926efca99680bc359cbd56b0e30139e3d08284933fe55e0fba208f8e9b77800a78149aa21cb25e1b0170c20d8cdd5cebd343582f2f32add8c98acceff9edba6b984c651ae0adcd497f14a67a99381396fbbf359427b1546283c304a8970b088f9c50b07f7c0afe9c7c49214189f6ed9d89b8d12fa716b1c2e7edb35906a62394dbcf8c0d14707c43a587a8b75e8cfb2aec8482babac4e5401a9cae6057164be68579f7a338b3363bfe68072f421a3445a474a62b42d660735de201f6de11d3f2db70d1460176403b1e744537f88b0e6ae860986b5a80ca82a7e2738441a87c82c3f70737f8608634bcb1af113feb9def4be63d08068243c74d623492c31cf15c0acbf2b0e1eea2d6e2d98e1902ea416285201128a36ea95bf43f6646d69abb87319108421df5ec6662fa753118845d7acd4a72b6e11951309fe56c42ea387124b29f317176c568993969557088c9aed5a2d107e8a5f991bb0ebf18ed7d30a94701ab904338eeaa397b006293b7e9bd7fa5c2a097571dfe8bd18777bf9c8864bf270ee796b8d1738d7a5d8d11fcc5d4b4e388cb6d6ccb0d59ffc46f9865502a719ca8a9b9537f185cb5458aa995078c559842dc1e3340d3b27fcdc3745b06fff6ae61f32ebdc3e1c5010086cd2db2067ae81f614159e50a2dd1bc691fd7da22e297502e62ad1eb75bd57629ad1165db32b2633676cd0513492207f53bd763a24b60b2ce960781236c36bcbced7e06187e528dc717ea8b84d38ef86c4497e7024dc87324ba57c859fdbb148571113cd38f9c567840a036c68ccb3301cd29c18ec393b2753b593978f3572288c827a62404c17372a2aa7c1bc8c27f2e5c41f74bb958298c643b782a16bd09fc9ee05bb28488a50dd2834a5c2e0de4ba81839985e40db11cfd3436f3d511c01ecf5133d97da969014cd6d3cdbf56d218b127a501f44481dfa9fda514ca8c13f3bcf03e22472555ebf06f3d09cf49242c705b11819daa7c1d41effde9883276fec8d96eb0c89aab22daa1f56fa9dbbef398e302aacfc9126fdbd9f6b8b443d1fe975349cee57a43bf36b14e89881e1667d28ee1de85ea26c4d8ffa8a7ebdcd24d141dc17ebd31d5036ad7f19b5aa8cf7a9d1fcb41f9952bf2fe7ab41b5d0d952b0e267acd56ea6eabc6e8108448f7200079b78cd44f2cac4e1839bcf95f5a9289ed2cc532978f47559679dbaa750f1648393569ec0adfae5ed827afcebc79d955449b33d961b69faefd095f03cea356d63b6b761f4f6dc0ae43d9eef50f677bd0a3ec33de88c2732ebc6c4263f054b40e791a42a66c57c1baea3bec087573f3e890534737a9f370b84b52fd62d59267eaac2b0eae3c521abdf8b653521d499f472c8b3925a5f274ce58c6fe290e7c4a3b77ff41267199eea0b6e9f4d9d669d5da90d7bb758f8443747dafc2c96bad50f459f58c1029d0a1d1b73ec7de2f94c816862644b3e89f9b4a9196d7dc9711c1a111cd0e62ec2353086bd96f50a3514e9b9ba7ab6f95ef38783019b0491eb2260ffb4a717dfe2721200a968214f25262f938fb6ace80162ef1c3b525ad4449dcb68f80a5683bbeb71d2808fadc0089936c6fec99d4b78229d5eb13f86228c9ead1a4461a173a19f608bb0b1d068a96534f8f8851a2e9818190d9f9a26aa72b5e6cf72259303de5a65c2a3c3acbe553dca0cf63612ed59c49072da265f9614faba0ba853e1767a18f0477db4421d2efe84be8043c2bd62f1d15eaa18f41eca8e8fe839a8032424a72961a2dbbf8ed10665fac60576f195e7d5e24ed6726c64131238f121758ee210988584dad0a9eb154d4dcd257f83f9e45d19d14965f7b4ef99f9bfb312f38f37dcc0909bcea56f7e7996e03232d65552f925fb2647156293800aacde29d83aac548c494bdaac59f6a3241930ffeac87d5f1d8bcc2c3dde7701779c3f1f168a5aa8fb8854edabc279cba3b332d4c66569439811b1f256ea95dadba5e354a4ce2adcdaf2cfe959a2c050f4bc0926dcd56037e702f82f7ffec593cb80dc8574d68d75c92d4bff6d77025a4ea3df94f3971afefed918e63abf46e059a9409c3f2d7e6753a675908514eabdf47c7f5ef418c14c52f3acc6af01954b92f1d0a9e37c90c86a4496865ec5b606c8d9c71adfab08c701b7b2aabeb07772c8b3931afff23c021fe0178f084f48e373fbec175a7cd04096877585b87220c6444718d20b6689e60d8092db66c8d3dbd6aa940644ac2249921ecc2f3da9641bc474ab6360fffdff872925332512aa5ea551372e3692c23deba5942f1455a5a8ba99ed1c841b08435d9505da74e62f111b56a96f055fb1abf540e4575b6c20c8d2876a5a5fefe5bee48f08cb18dc95edb23b8f58871d91ba941a23428a5c9b924c6142d0b3fab9fcceb2cde66750b3a75580b556c90d609ff251e4bf4b2564b83e9150f448f6df13f36c4c7216d249b3f4f706edd3bd216df73f7d6a6cf5077ffe5ed86ca6d8f52df00c8a0c43e7bf2dc4626fcf192c929b108c4804819b4b0029defeee27f40383e7336a356af31a8512d20ddcf05f31d7b025a35a1f6324499876706cd130e2c5017563c843b6a3d77a5a9d64fb18e70ae4bfe7313d95a8be8bc31e7b2a4a2ddc782279aa8adaa318f4a4200b4b88d6111e2618f3e134e9e1bead32d3ecb204a009f927aef46d2d4d246b71baa352d7a2913b81be261a93bb24ebfa012b7355e178c90226094d9d3142e518e7f3111b8d0b62061a99d35e177b107b70fa653ba5ca15fdc76294a46459901ca5accb4b067180c20e007912b722dcc987ac4731e2dfb5397d11cfd907945452efa78361230cf80b4a985cd598a251c9215a2781401c9482e839a401ece8cdfa3cb4702955ca9848c494c22ce4f3c06175818bc4c4f056885ffb384b063e4cb6b68176bce454a200a279a8e217ae94850bc704c92f3f41efaf6bd709f87ced76243bc4596ab3cbd709923ddcbd23a6e14189ae7ac95ae7ada1705837c768d2d484eda9a63556cc6d38bfe7adb9d155c06e4e1fd2216c2ee25715190e20731a20ce495aa1c5169efc04cc657bb95d2489471e28edc58829502e07f02e269418f4fcd7c6e77fcab1511eb44ff3a59423ac97334493006caa6da58ef63e54a595bcdfb0fa27e2133a9b54e765e5b84240170d1d9bed51975ba421d1dd44791a33affec369d187c1c33cb6777d717de491f612d4bdf3513ad2b992e1c2d5361c9c4b0242b6608250eba94b83725303b801650f2f91dc917b68412b4f0acc637b4beefa40f5e2dafc0db96f98dbe7d964acc11992b7db43e82fed462d839d6c75f59ff9c5e8dbccbb2c822be59c8acd53fb324c3c7f16fc3b2b134b85924c93ddddb205dcb9f1fc815a367aca7b6df28e6c354454babce0413e79597355a8abd93047599ed88d6285cd7491ac5d4fecbeff0002ccb1b50d7f9d6c2b7a2ea7ed16033913ff4c7c388f75ab1d979830fc375ff6e4b28e9a6a640a10bf0e898f09999b169f7f7dd31a523bb303221bf7fc4162915cd0f1d30c6529c6ed3a3a40b8bc0282253f9504941d5fc95bd35c245e6dc7ee05d0bd47c2ad7446e9db645926a6f2beb1985b92c787ffccc924180bc46a3f554bd83da54580ae656a9c2692e3abbad7b3a420dac4ab8a78ebfd59e00ff8f10824f13bb3be00be1c1be9c606cdb50f9c8f6ffd51290fe0cde5ce33c768ba26776c12c4b5d437d360626ff054a8b68de32ecd5cb107f3a20ff077ccf9eccfd23672123f4bc052ff8fd590b5317286c381620e88436688f88d1f59bc3780ec0b31a22b9817156ef635e5b191bfd3ced36dfe2586a35f918f4c7776cb03d400bb2ce49833783efdceedcfadfa69f77fb25745aa8cb4dcaf9bdc64a8a8a7ffc4aa54f7a9c60728512252d291523141ee1036c0590704b8c5b00e6304567b6847fdbde5defeb0c877a1c505f61837dde1b50116fc2fbfc01ac708bae582c5fafe40e88a72ffa2ee17d9ba3f29a95aa71517a42eeaddbcb846b01708b7de43c62369c8b12194a47cf8c3f0ed3a1a1a30f3fe29500d34d24fc742b1ccc930a4c32e495b2eb68bd4a4f8539d6d29a2e42b1277333b7f13848ec27790baf78896ba953f7c15497a0476215a731a9daa4458da57ad6b0e7afc85d72e61e1f2bd1f31e965b5b46dcbd1d1e1d3553646ef13ae11f15fe0a73612a2f20943eb67a9239297d6726099257e1a9063fcfe314c4ee02aa9639b2931839a539cf4fdbba5e2ebc687b0b40818bb8b2ed9446d9930fe1cddb0cc85a29e2559ad04da6d49fb6fead85536d85ffbc29cd8ece15962b05e078e060cdc9997cf2de126e96cebfb668e375ae5da311f16301703642e93318a23f4deccb3982c3a6bdbc40e867221968d05fea586332f8beee5a6ea4637522e6d97e136e31a388c6304ba6485f02f365ee48827e0b3e8a7a98020abd55bce5c96f202a1ff7594465a80a0e36ea0b0571d558cd74ce4a3945824d74b0504c9405af59e8f65f616c71fc90debc6b19665d42ca06487b755fcd3672e4eb10e6a10f11b4d1769e43680604327e1b3377203f3801a45541619b061f44d4e068a3a7b68d1a2d5a5659dc71e18895881b02144e1d63df9c30a0e73034ff7ee26c900bbd755c28134caa8074707e0d5a7ddc77b5fdc150566a4024631f709abd60cb1cdedc70a48c5dea9329f94f8bb9d147be3d7f9a1e6827c3d20ed4de085126d6d309a7b0ce0d9eb702463661aad40a3c87eba01620df646aef512de42dae7eeeee094eb4504591a83f5b25c1604d789c6b2e3ee7ceaf7b7ec633fb41983382a24d170a85dbe8185bfa1680d64d18855708d1ba02c3babdbabe9e6d5c120e0b400abceff44166caf4ab0af9b46990299be986982915011357c6dd41fb405cd42d7819521b07eb2f29d2c75d089c229da6068f4a8fd9c18f74c2b13dcaeb0892cea50d8d0134f62cffc36e98857c978f08f5f6f50ec99b3c642cd2e90ce4f4974417af6d2500a42545fbdd964d20888d9011a5c09841274eeeef2e3b0e7a59655b2ccaa4d5058b115a8b071fc7df9a26bc4e4888a795a5015fbed620d49732c52b35501d0f998d2fd78272ff78fa38bc5f7ba8b5a8e9e8cddd3c8b93c18be31e1030a7814fc31dde83d9e8777a31edfb81fcb09b27b50e959a9a809992ea9566936f5479521a394e45e686da2dd9fa881eb2ca5f66526d0dfb60edcbb57476925f500ad5125e90a416d2754fbf23ac22ff8216252b0399b0bbb2e708453cd7918dfe1e848982b62b45aa65931892c33170e6afd85b0cbadc4faa7d209df1f56ddf35a250236cc43a419560024dbb40bf44c860492a7b8317bfef0b623e21b6cc66faff153119ab368f583613bcb6586c80064ecdfd5dd7a1552972d1f9bd9cd2bb135116580dc6fe1b0e986b0de3e5e89db6e105dc81a55a67c47caccf534e2eca11f0992738e24fece1076e88ebb51270798d7ccac72c63683e459db54bc4f70ca588a596aa87fafdd77ee26d1f2d091643d39026e46d7d86b7df70a56897e9b7228372bfaba28cb3b7d6a1c452a74e1684dc35d177b7a3097f79f467b7ad0d12e9bef26b7f1fa4e3d1eb1458b10f192fb8070ad422b810c706f54d5927858586639352766c189bf3ec14d3379d6dbe23edd1389bdb708b5b415e6ecc1c559778cc0b0f548e08e03413fdf429ee613c7060f38aa0e3eddd8eea675d23613110a8d1c3d7843440e93bb9bddde89854bb5fdf16f83547f73a91baed32aed93a4c8ba1b158c4a3106f7b4e809ec2f50773e136fa603e6e5b540e8e3c791b8dbc6554697fe6c97cb8af5aa9fb7a4a7ae1112aa74980bf116dd9a62be00003e0b6029a72b2645b3194d4420d2e967880e9fb024886a7b0834717bc6b1ecb6899f49a0b47ce70e0ff9415b283a35174a5d8d534b513006b218e5d3a366832bbab77f1d9972b55f6858b1af13cb94b619535bf055c6a323b51759a57cebad93fe545a93e9e7b0b383078ee97e6e7d76a743fd5a4ee6ca6ef2d788c9da8dfe4e908282c325183afcb0f3135495e7c81a8b6cb0f52787f839caab403090b1a494d5d61aeb7bbe3e7f414162d4054c0c2d6f5050f3f51598ae20000000000000000030b131d25333c43', }, ], [ 'Some data!%$$%&@*', { address: 'Q20fE39238877509b60DF7e2958bdBc6f88398F1a', - seed: '0x6ca868b6b469e210b079f6742d2e149b6db46f4ed416c11f5d9636e1bd7f35f14d5b5daa84f0a69e54052bcff1897ba2', + seed: '0x0100006ca868b6b469e210b079f6742d2e149b6db46f4ed416c11f5d9636e1bd7f35f14d5b5daa84f0a69e54052bcff1897ba2', data: 'Some data!%$$%&@*', signature: - '0x3ae41db8f5361a6bb6da1367413648e87d060f5b766e7313c2b20fe8b1aae6b028ea7a327386758cab331e38a3a8ebeab2b7b9c3d17ab098a048c11187b75f25c9c7681f6e53e173f45c17738a5bcce23604e148e46ad1040d1e8afdc3a42dc539d33ba98ee9d4df0adacfc08bfddd546d624fe0a399492218429887e3cfc73a1b472e3d8cf8c770e23bab919fc246f1485072ff22a152127f9789a0459211076b261409393d0c9aa0d935953f5c7cae3a711445c216c44ea1f7b2e3207ccb7813f594d71f26ae9c1675dfe75880e62deb54b8fd64149455a6a5019e5ea04ce5863792615b84abe8c978d1230b131e73b83329f714db930e04f6620ddc7d3211a05c04cd04722798c9e011901c099d34a96b38149a78f21200552d7075d56cf3429898daee44a13191fdb9cb1043cb41cd13940150d72bc2cf1f7db4323a63789c298984ba28ff354e9f1de8abcc82b4af84cb0a299b75f56b137cd3b6e5c6966b837373c50e9da81cb26fd18725579570b8b1e7510838b6a93356d785d336c82e24d47c0e8ad6d777497b0d8dca8238e62a99b2d6b1fd3775109037934b877771f6fa00d76617cd430c1e961290991ccaa3bce8baec77d9c987ab3292a514d21af5631263ea7fcd50a8c2ece9ba26541ab40c9c2c31eabf4d73ae73541985010e46f785001733da6eedde7e6c3f512330014cb9f67f30d4edee4f08338cef7a329877d3abbcb38f36e44f0c88baf517819ac9027d8cf0493c27183dffc05ab58f7299bcd460c393df9fb2f27d9a36552963de70ab176e12f5dac4f58af7b04b354c2049473cf5a67c6a15ece09f1f99e452f01cebf48982e2411c7d5bdae6f6cbf0dd19f4d1df86631624b4a1012f1bd1ee3fa71d80ef8dc2ebcfb9c3d5e4ab431cfc2a6739163c5c3530fad5cc299c763cf3bdc5b9e86fc277d6519cd5ddc34f495a32ba7b6cd4409fb26854de17531d0a05d02fded9ad1541fecf6e1b23bf2a91e283f43e4f4818901116e7a8400945f6bca28480a58f4aa193e3129e1418e594de7a6267d0430ba0848465b4a191cde35efb367c3b08bf4d2d0b428bf973988ffda357c515181f3251dd4eda96b198b7a888e5be515a4ee6a55ca5dbe0e40deb7bf75b15df308135c1dc5c3432ddd141ea79746b68690b79d0e623030e1552e98242f443baec376f7524fec3b97c241e12cf8fdcc05af35aeb970b41e6cf31d1e618627ac30e1960ad5eb1798d11c0e5c628ac5c1a46d58e6d1290615b7d084412e2420d5f72f590499fb296a518e1894e4e99ee2731fb83891908dbffa49c0591e370a7fcde49e5cb7338c60d764455dd92f481ec6734f7f010d95e22aed3dc63dc81461ecb2e124893f1fdd9b40649100443c2b99aa828a3baf687be03e889811dbdd6d18240379eee75530de6576c154f4b354f0cd295a9af27a8319d88b280a6dc46eb74370c2642bd67f275d7d2e0f68ed69f6358f812995eab1e109566c4e1f5883819f5f68973572852ab397ded832ba9651a67ff16e913b4c92d0b2df78c5eee40277e9e1d0ea5b8fae08f380c9094352ea8e852b46f5f2f7de065b395f4591aa1dabf36a17745a89c5929744d394e2c0339b0bb07c1f1c2c7e358c55673f1384bd733d707648086a48bdb5e6921ab9ed9eda4faf3c739b1548d7064b9bc409a2d0c9d9292110fc498c9b2a5079e22f4b4cdf64c252ccb211d2b635415ebc06220ac91e5cef69c99bcf5459e04c8ddd477d00df4b1da50ee1a460b6c25de81b71e54dd9b5b13667aa1d92ab042ac847da956deec90da7c65f5cb0d5b9469bc8fb72a85170a28d70f5109c342ea9cbe86c576845aa31e997e4b21be3a8999e3ab59b361c73dca43ed06ce8d097eeecda87a8faf816bf9e0e6ffc8c86bb12607ac2606389d8ea92db611561b079406ca34150334bd6dbebe52d6a1b045f98dfdea008af1a3aba1951cad750c783a15237e7d388aa76301b25daef1fe13994e53c5d6957994b7604b9e00d72c93d3dd57fb0c34f1fc0d7d2e01e34aed521c439bc0fbe2301b4f60277f0e69c6c086318e18b8dcbe628c3e81305460cf87f110788528e01e03b80becfdb6e7c54f6529ccb5da6fba8fdf4b84d3f9db3afff819d7ea04c0e99b9e9fb1dccd64c81fc508a9af54999e8972a9621c5c5ae704df79001dbefb4d1b3a2df860dddf57eab4b94cd85c6c6bb934a89cf5246793ac2f3a727b6b418b4940edad9c0223a046d72987f6c08b061a3076b40fda04ee07d93d4f8fb16242f69e65659552a43db90b941dbf8cf037ad5e420914b12b1059e35c78025398ea9ef6f144fe71b84c8f46865f595b1419184e5fec3a7ded761e93fc846980a656ad42ebd503d71019374e875d60df8319fce422fc458d1869164aef6c6be98f7e400607916904a7e2b24c912ce189a36d2a2aca3474fc90db823f9a7b54d6e6a6558c54e62489666b067a53b7b280e80ab06ed721b3975ddafeb6457563ba31549506602281c3b5a418b311ef2b830da1d5602c5f6dc65998a7fc54bfea07f91968ac23fa556a01cb2dfdf45f5513f6729bea6a1984f6ea869aa98f3dc315faf5f35e0f06a219adc772efa1009b59bc142e15b89261e91a6706ad83c4c794110d5393ceb60460a1faf4b53c89202b479ce707189df5f97ed85657ec55ac3705d1827ff39a3927edb7f48067bf5e61699427c3255d38b92b17f47946fc744c6e5f8d793a49352219c34943a9d0303277b8d336df3e3534ce28a071bfb735bdfae5b12a624ddd92c882cd5e799e61262e9ad0a3d5fcbea237ab2c5edada34e7d9ed9ec3e38dd84069eb1ac8f370c821f721e2ed55608d3566192a1c11bf3a75e27b073a914e14f3b8e1a93908d39d6aba8ab87c181e0c2c7cb94a6b2191b6009fa533b5349b96f6f1de0de804185a26f26835448013982b9232abb7e350f1911331de9e562741f4d9b56099e42cbeefc683d576e683f5f86267a28676293a8bfb91a39cecd00d4820e91498b241ac8d88e899fc56c52aaf1aab024160d5d80ae67dfa485cd24971e555bee9ef0e39fc04b8eb2ef67f4ba15b36c6de0cb9c24489f9c0f18fa8a842336fcbe54cc09b84a6c7177153a783c15e7dc684c6a96ef5a9827b613dc757f0093f2a63e18625f382b6808cd8b642c37f61f75d475ebfd05faf49e2970cbc4f663b772f40200a4ca1591fca358019fdd0c766be133a1cb2a1667898b973fea8e2e2849ca5465dfb92e3bba0d96b6063dae4bfb50c5c3b84601408dfe6a176d429d6a0363016911c023277dd28bfddf79644a27c527c61d8557800ee8dc4ec89493fc544872d12d842f96cc4fd5537b7b8cbe5a85d1ea97efcf98b0bebfdd49538f2463afbbd46c3444c72faef6d6344613aa4862c012f927796d138036da6f78921aecc184bdb7136938fe1e5682c8ee2957c56cbfd934550c43793179b662beab389bdf945351d1b6db05591e2e13f2b3c232c3ec074d395bb24c667933e8be24c2e49375fa8ade02f0e3413e352d25fc981fe82c2633566c1fdf6ca61ca45f2744f1e98f14b53d93b27d832f7feee32894fe403ca22f8b4ca87e6ee4ca9966b13a51faa59e489d380b831a5806f6e1219a498b032bee61f0af732e254928c798255c41bcdf64cf1ef668e6396eb830a4c5b42f190ba2b2377a8754b3b37572ce7a42d8c09757d366c8494b61b317e0abb1ef2c0b2d6bb7181efa981f6a5959de38c15def522a1584d6f6a90d351641ee933878b8c72bf7e96d15102a0aacd3cfa1e2bdfeb9e0d33b1e781a9c39ca7070b0370fbec61d7b80f46b65590813feaca8f83f0ec9b8fd5dfa1c257266d4e06645e1f0c5225e80d659e4eec1cf652573552a339e5aa9e1a0f6d8a5b277a4b07ac6bb192ce1334825164fdb74a1a30b1466815c4a32fbfb7bd740f2b00945e4ad6c94476204312de87caab20934f0cd601045d5902d8558d1084133100a9fea3400ded12f7b9b6d39e68d2853e58c862232b6d4fc721fc1640671f9c990ccdb37437514f0b7c361dfdf186b2d3cd58da2b6a4f32f66210e2cf0d568d8cfb79e5cb6255b828a9d0e8d8b316f9681330e22964a5fb2097ab47073caf41816eaf3ab0373ea7c0b0777d17e505e545adcd4cee8ef0afa485ffe02e2350f1b2057d3637a50f662f0fe1db37a44ddc14fb89e98e9388b331f9c65dc5f0054868e7ed6da1c5a24a909302a635246578a1583fa07d9b30daaedd4d85496cc3bbd0a30b92783bad911d41d6b6f6684d80298981c2ff2c529abedef0a46acc7df7549063902d29e5fc2248525c808bf4af929aceab2d505e85c4b0ec5317c6df377dbdc6dfda4fae4f82a161f7caadf32f3aa49e6fb58b53fb2a7bc45a07c23215f7da877d09d0e57a4a1f3664513bfdc08d050597cab614a001889110fb1cce9bbc1b07b5547cc73c23bb40200cb500df2ea01cac7632e6586ee0411f474aea524f1e13996a2a47616e7670ceb53fc942dac891d61cbd02df0dbaf6fc927e6a5ba106782b989e8b37123cec848f3e2219b598a9f084dea2041bb087fd06c1f160aea3dba594e95ae9adf6f4ba53b5dd14d6b14bc8f789f9a87d7d2f716ac0b41fb7ef0b3431400a03e1ac60a9d6dba2435fa3be5d4aeef9caf896b59f9072a3fdf9f48cb550c9d2e60ce7d9e6535ddce0825eba3360eed31574c523ba2dd12e12b7fd7fef4b8113521ef3e028e2c9c9c22479f69f951ee773378b59826f7afb60fb953157bfbc193b8ac4e25c3d4d89652776ecd5e3f66573e4a1d843d46e83e947f73c2dec63a0d8893d34c7ac3847a8eddf1e75d7e3f6d6a7fe30e02317725201af6b3114043c42a73a6613f25ddd3a1e3952d98c6744928535cceec2d48e223bc8e4c9cf9c1f1653ebc0356c33d3460a4ced0d2cb7c5818e8a0cd391897c1d4a14bb318024ff092a1591c0f500149f57808fdf7439856b7869ffc47ca6dc20531f1cbf6a3ad8c6687ce28a3733d680c66a75426271dd64f84e5c1886c87f32e1878d92df10b72f428546b4be34a2a550ee65abbe706eba2554c9cc5d37aa3e43df919bcd91aa5fdebd0f37297612afbe2cf90bd0238a6ed578b67c91322996f1a614f7a237fecdad80a02938017f639ec7faf79d399da9f4434bc8560a15fd465600627fb09ed276d06a1f24e49d9467be0ca2aff6252b80b84b41ac7c6de1f24888696915355603965d894cdaffe91fbd9a50186bd35285dcca977b4cb34ce1b2095cb52618ad42a68b2febb6434d2eca0b51f089268debdc41e925f08f6fdc7622678903c5cf93ad1f8eb790a1e572bcc82d9622ea3c66b6717ba2dca169ecc5b73a364b9ce714f313349cb621187d09c254be875b32a915249abfa7f14140103d84d923e848898a54161495d47f2d3d6aa8a59400adc79903f75a0141f2ec78b30b1d01ae2c18c7458a7e19daf44c0fb5153ef297e0c28fa05fa48b9fd93ce00ff7baadc3d49cfd8b2fc676f5519801d0c8bb9637ffddf4621aecbd22348d8b25aa973d68e81f776925961f92fa116f1610872999c8f982f2f4c2a1737a997094ce0edc92e66dc23ae17c4d9a075a2a895a36fe92e36abb211ec49e364dc05e25a8c6068b57b58eefac308f05c4f95c686241974e3182019b73652949e01c7aa12b1005986d67f9b3e4caaa4a3d9be61ad758e0f6bf128c3fdfd75dd70dd85b40a6200f3915dfabee762582f9764ec11311dc03394177440df3860f402b688f56c474f38ca675199583d6f7900ce3eb0181bd83db4fcd1888ee2c8cba0e2bdb6da0401c4b87cbe40f95f4d1f9154b3397d638a2fe5095071dc85a7b1044eab3950bcba13dfb4b183f32fbbd77df9a5684a363a7b86b049c4abf6b93ccf1397bbf9ef78ceb5139ff42343bab5fcea5264c5a4d8dd83c5d5bfca37ed0656ce3f0e476d1f2943e0b1be4b7d22a570a14ec9c54df11b757889dde5b3ea162b12c259f18b49c428d821928390a61ae70a4216077c8ca2aabd48e2f80e7a2999bfce4bf503fbee1aea784f9829715339152ece6fcb2af65aea460c50d3ac45519a8127e7b269bdc6df1f8daeca21ab391b321a171a023c2a12c5b62b72b7d511bb95ced25071f0dd82eb3863ff509d362fd2508930fb150cf86a24061f58f0bd0e7fdcb1be1e5fd8dab58225413ee7c2a653392887cc71163e662b798add4825ff457adc64d1bbdea7fd2fea4b1dca5593720a7f01fc233d47ee85647480a74786925880ddda0996bc39ace4564019c4482eefe01ceaa120e2f7b22b0a4b386da32dfc7b98e577423ee33d98413cc5bbd5d57e5152211dbc3612a2b972321e63aa7a2ff56bac1417a98821aaa419c2bf8cb916fb1388148c85ae7ac1ca1cf0a194fe174e2225a06268595b6bcbec1f6fc9aeffb295c85868da6b0b4e9f2fbfd0b162133353f768bb7d0f8173f01355b83a4ced200232e46517f8d000000000000000000000000000000000000000000020c0f1b26282f36', + '0xd8c848edfa5991785e55bba9930ab67a1ac0a67fa38f47f2fe08812e40f4e2ff85945fecf3fbac6176b01b6a7c9ad63df8596f98954784f777c4e4a5616bcf47871cad486565d1b668bafc3dd9099bacb839656b53e3859bb5d95eb08694ac8c96e5c2f3ee5d5948e28e08fd958b4db709d7c79fd3712f19e24b42b05001f9172f4f913cab7b179212e532e18b07fb69d41238629487026987d686f25fac40a90f364c339f5e7d6f5db8d1b84dcac173a590b2ed102afbc9617a4e00862257d576e4806f7b8b73236992cb095dc0d485381a76579bdc489d125ebb65638f68899d7e02b63f4734dcee89a08d7b4cda51d51d562442baa4d0686db6b284e521062ad927988e2e1ed0c0bf4b2c77c4623b6a016f1bd6ec6b4ac13ac46a96b6d173f8957450fc4228f38f6ab5acb20c28cf5ca91e4b83a8f0f626bc25f8f19b87c6e41d03a4d62911610e38734cfd02c9803c9a33aeb2a3071fdcac7c12c7216dd5c0bd4fe8f3ab551d717f0b8c4cff26bbae70db224fdeb5c497222ccad0bb4e5c5a1b48ba46be03ee4604d216583844bc321a05e2b2e26c5238fcc8f427a0f42d4adea10882d9e3eb0ee7bc62a8b73675467c5ee4fdbfd857db42e2e09cfdd00bb98ada4f75cdb90ae48a245d64aaae02fa781d01157b4dd6a737f3940f3759f2b232cd0ebdbf5f4386310ea60c39cbad1e584654127fd7d7bfcd122f09d45198dfea743932856345cc50ded79126f6d2cb846a3d6dfeb38c62d6256619bb6e61ed1cb83eda6b47dae9729a2fe44c7f9786b3ce265e579e8fdd84734cb0b4893fca9ee372868724aa817433d59bb5c79a8d3c5497a8c6607c08c9787ec9d212edb986e6f4dbc9841e9cb281e3eb9b6b2b1207838ca2f32777cd23b97e573853dba3d461c662505da46e2cda9d29c2a9f49ffbf6fdbd0ce66d1c1e6395d7b33567106a66cce312a70f0b9bc499203040faf97354507e69334af5138b5af381c0e64288ff47fa01e518df1a0c9c41fe715f1a681add88665832aff8a9b89d7d1a233324d873b71884871901002d028e9105329a5bffec64104d6dca76b3120429ae0ed74af563a1f8fc801dd7f39932e56bbc6309e8082d35497fe7664acd9ade5572b32ea30d427e2bb2724c537d379ac8816b30a55139e78696b9656b6f261d0e4942ec47106386e0c0e01fc51bf33950d9c6db10826c4f75d61a53dc4dc3df91339978371186b65b7c51d0d7ebbbf51f00b4451fd7d8967ac1128b53681d7c896b3381d7d27838942693862bd7e4c54c35b1fc149c325411cf314acdc9704541c40a360cb8272195d8cc9cb6f4d0fbf5853d93f4e92a6c52ee41bff7de799bc6a58b3e1fb6c3ff43ed856ea22fb5d10bf5f7bd466ba45ebec21ea8be2aa7bc67fccca28d78db24241395a8b9aca4aee86cd05d423e5262a6dc64806782667f5926b3c71ab42c51b51be2a0a95b7005100ed4c17a1ab600b3135e7cfcfa210aff2a91491626f049493e04d1902ad199fa91c1139d4e93cf78f45a1ac0087074458e1a1797d6092667ee7ccb6d015062df1f90b04a9542984fd24c7f03eebc7ef8152ab395e43cf8cd91c847c8cb912b3d4031da413d70c9b59f077c0038337d49557065a9e945c9a250ff19e88298477ad7ceb137acbb22c7fab032fe9dc3b3c7f00aaa69c64ec45d48c19f9be0f93b933eb8e09603d3b52714e44c63d91f3109991cd37789afd2bd79e2045f50defccf5aabe11ced5041008a81bb7dbfbbf9ac26b471b607cab52e51b5241365fe0d9d5f25e43da9b6bdff8be889d1c324167855aed642d3f28c3e5f0507c2b591b24a18c575fdf4e42ff1c8b9d98eb3f217c01a9dae5d47fd64ed262463ba5dfc4d30af5f5b5abfa89d8108fc76d478917f73d9c4c1e84e07d478405302c80dc058fa80940b2373fb4c6aef659c2e5fdad2e26644877945f783e611ba5228ce4b31b5411ef84067e1903dfb711c3bb243dda8526cca24f34a89cefc76a523a64679fd18fb4110c011803d7345a393ce19150d73330881f2e65e41bbf73d6a20d4dc66660c884ca98b75c6862a03e73c1b2e8bc072f2a488a21c1cf9cffe78ba7037395d1c6d2829079177fb04de0217dd45c07853c3d0615a4220e93395ad82043c23dd35081229a6721f8bcf5901d0ef2ea7fe0afae54d5d3e98bd8148ae992c51b8991e7f8c7c185ba7550a33daedeb9125544b530cf63d3be703687054d2315ecf8ac64b2bc8cf3d0f76bb0481e24b94bd54949056e7acc4f9949475bdbe2e039df25d456c10e7f1246c8fdc1f354242c18917b69df53f866d956a43708cfeced60b15dcacf6e28ab429b31daff17b8773f97c9909e9aa8cc0605fd2958672ec2b905bdd0fa3b8128fc7ba0e330d21bfc1e084dc5ae2a78b3b2ac49543c8a8572e5e5eaf13c0af86f994beb353b834ec87891891e44137c17d3492d0db01edd806a6a839202aa152d1acd257583950975a8b936edcaf8922cdb8ec9f67bebbc38d59c5c8f7e190f96b41fcee1ea2a5dc7f8f3338746b87e05e2b2f267a162de8b32d532981ace4fd3966b74cf33c6d87d414575e8a1ff881fffd07216c8009ebf51972465c5ec9d805803398f171b89c58f75c0eb17bb2ed7cbc78cd9f3d8c9ca84573a68543c8d8f0c68dd3dad9abaa1f01da592f359c70876956403f41e4929faa3eaacef36bc6e7b48f0e7a302e712bc5ff651a792da204d7f586ab5a6439e9573a15f4fd91bd24fda4039b0473f8399ae68a47a775cff54760c637d456bb63109152026b7ca750808a706e91ca599c734789602211080140e02251d8ddae86b981c6e36591ebb4fa168a80519513ece26afb5c2f86de6f0221698a53ceda3e86fc006e6667f1df2a999fe67a2d122abb10c8b6dee1e9cebd72771dd7c8288a6c0bab7632a4e77aeb4fe7d8f73e04ee1e0ed6f9c780e33d505f4ef88aa5f1855ead902827e990d7bf679550304177e8c8854f7eac3f64516978fde2d2082b844fc9fa3161090a4eeff6ec78851345315870ae3d4a4107c7268f51ec7730c7ef3eec846bf60a1114b4c1b518ebdccc0bf49f09bbfe43daa31e270daf075ef3b59c81cbdf7c03dcc697479810a2c462611b5e4fb6a3afa67e1ae97cea1f9b8615a06001b47624fa1319eede8df4909abba110cf038bab0ea64e910f0f11b9089ad0d1b67528d9b3949d1a09b441713ae8d3df33e9f4157f76c53d9483b791c2549105635fb47b2b67b324a7c9890896fbacbd58281b4aa3dab62b91bcfb5aa1f31c3b30520f4a786c4fad24a773a4d7b2636daa6f46322f4ed2fdc57332d2deac544c4ca232bbd70680c03fbd5013ff8112bf808fa5fd5724d4ac6efed8a21ba06c6e7ed71ef940984d622de55c1c0c3a325f3f3561412e9c3b7da47dcc38a35e2829214c35c195e9c4c9d62cd21b7ed47d2cd6378a90e52490a92d34eadb4c6a5b513b58ed68cbd066a3563a35f502f89ddb043be44c598fd0394413653cb5ff9431d797515d052b83ffb9c137e9885176c50f95c1ed85e0524cfaa69b19b997ddf5cce8aab54e54db7332fe2197dc7d85875d950c0bbc55af2f45a56d5853329af363168391a6d76f7739442c44aba46cbd21598cbb7f5cbc83baaa2336004908106f9d9d964625d25d16c91084be0b01548b482a80b562ff8c6b535fcdf3093d3b19c3d9a808cda0c635af4a72ace694065208a87d0f6d3798b5c1f1262086c8efda3c0d433b19875b7ebae27172cd27faa66e2aa16bca78d6447ab49d3bd8e01ac4dc047b4381eca6af0775fbcaa428aded7da76db89fc1f13d5e67393bef5810f5f0bd3c6d15c9b1e68f5b6d688304aed7b64d0d90afddfd3cfdf31abf3729b4a6b839f257183ee0cfd7a105d787262f2236eae1320810eef65ce34c3bd09feb0853b30226bed3db87ed8a47caebc64832fd2f7368a48ede251a3024f125a76a6cfac2fec2e49a481029224f45efdb6a0b810c8b619fbb06d07c2ac32d2f09ec81ebdc27ae66246ae18c57aefb2f970e200d6c425ff8f29ef59111cceb5b7abe1938ac6776a2bd76a041d31ce876ed1dfdd6121a187b043bd081d2dea53c9cde9bcd36ee2fa0d457f770e72fbd34ba728e1ad23f60478e3454ce7866b4a449d1d4a4ccd63d1c59bc3cf85e81e9f8ec020b5f861f52b6925fc67e414728b7fe85c8c9a09c97ae8a83ba26f2ecddff83e78c0d43ed13050590fc5cb59b0dd870c8d5cfa3be90506705234cc9f4d029390445ec4cadacb4ed15232ff8f8b4a536fc5e20e1b0b497d5180830447f672377dfcd0c681c5207c158839cad63295a07374f0300baec38b129cc11279e0b308e76dea91718b6a67c8646438f4b23552892c1107228d6ca419a8d3a7533a5399b571e525e5ae9e2bc10a71805ab8cf4e800715339e205b1bb9a8b1bfbd5af958a31db6090ed67ae0b4ee51f3e5d29c206fee55fbe148b265de3f5dfad0a0814572c10b5384d2c81eef9a85bc4f349a53bf0c3226d554078a1f0188c9c5db23e93ed21409b5b6143b8d2faa2fa0999272fa081fdb1a5b517bca5ed3fed9d59ebfc41205038aac9cf0e619a2ae5c2e8dbfc187af14e13ee87fb9ed7f58f284cfa80844b00796273b8fca63b60a0ddeb8e215574649fdeda0688726e6d46fd1ce959029ac9d4f43654452e8eb3c6c296a952e4a8fff2ca2670bc3d3f0f687c508e1dd3b5d20540dbff56ee3b411fca453c77c02f247b405b7473ac2e01c4cc308db64c192a7c69e80799bf953cce3a508c6d7b9e73fc107ea5ab39eeb3cb563399e3e84ea88e8036a05a13051983d2cb7100c74523fa35929cee922fe31d6bb7dc378b24f65c4ccf6f0086cce8748451fadfe774e8088fe823af7103caa1fd66c9abc219451e53d578a78dc9b3d4c3a7378ed7a7a2effbd48b401d03899e3f17d3d76a352209b206c6dc7c6d11097d3d8c702bcb0d9531a2acd78a91dbfbac13a8d8f8848a04429ebfd27da852d805f5ae7e115125c853babab08b9c8f71f447341d762ac98a7b2a88040b049e0a538e3f076c13b9810448a21b6060d01ad09faad73a70ad04c4e97efd3594fc51a528080167cc24a7b034d733d253bd115c3f43fac7b91fb28c1bf85baf509c18387f60738df6f53db8dfcd793b7655bbcf4a6117d8ff81e8b05fb32c9dbba79355d9b77fdd5dd679472d11bcfc7e3076cd574f2ff9538928bbb5d84090d20fb9df887286f220a776409435fb73e0977a0a45d4c7867be38f5d8094b3aa6eb035555c263c06cf20c156503c9b4f9a2db51e3681a66b06571f2af4a02e5f1f0489e43ed1724e430569ad33d4019deaa58c475c1bffafa137b1576bc22e3f6b4bc77f4b3bccf3c07999b756e21e0f029cc9b9bacb8df690f431eea1f49c256010a7ffaafe0ad707154c2eb32f8c048e34179deb55daf7daf60e7a12a09de8198594747c341e5df591e880279f7a7911874a7078df1f1561ec8f8f05b31d4c98b87d590478546fb4f78c5f1334afc2e8648fd82a2f210545542d4c08577a6b7c94896a8b81a1969a225c9b348579f71bf4e9f70340fc31277a8edb4de9da49f02cf8110cf475c5fcfcd512719585ba24903f8fe378ef86bd1e613b32442ba26a40bcce81d7e4da2d24688bc2569ea7f4fe975da3c3c6988b7a3dbb99332a366960faaa7895859c1ba77293b7f223987398db3566a5aefe61c49fbf17df7499812b79c81057311d49dc3d0763e6c64bdf8178d6cbff9be513601e2e5d715904e44960acc0ef9d8301ac513d3ed0eee98cf6bc038b95cee102f9eba6c91cbfbcd7bba7fc2e397b415e233b95e93409fb84fd30a14423627ff5de82c329a4871ac34ede29589070e38d2bd4b6d36703342ff16522b99f0e142dd7f3a76acd3a67fe822999b3f490268f5f39d3567b211ce94cbf8de75563297249818cce8e21b09400024f55d03e6084e5c955a65ef57bbf5a2756eb1a2167e22352a93d9511a0867b327739c1a3915537dbdf49b0ea05d903d34811fe51f11ed409306ba62645c0b345b1645ee746e42d406df72f660d3761e50183689d332e7fb3de2b4718fe8be18be48c068de51a06c8d235c3c3b4a33c569a2e3244c193436bf24588e46b960269b14b7f8f7350de02094d91e46db8ba39a2653e115ae712847e6ec9b9c0f4887c31c2dac77054478c58214e13ebd4d93cd82b2e1f44dd62db8375de6a725b29f942e8eefe2a3027a11f275e48388a3960116efe72314d165ae5a63741dad14e12b9a3554ec4090d43a9e2283404d80f0c55c6a9d0c16dc788a817dad4c874be3b0372e93d70f30392c37872522e1917fce705acc442b20c5abe17296d6602755e598f6af04b425abb085c09d9ab469400fc42b1f4a6a3c044707dc7f0e8960761d70a497a7501640badd6cdbfa87ddf94e187a343486984b9de223951636f75a00b6d7f929f13415ea4bf2b474b4c656972a8dff9163e4f5875ae253252777ab2cacdea11346ad60000000000000000000000000000000000000000000000060d121721273034', }, ], [ '102', { address: 'Q20f3531Ff6BdBbED17F5DB48d1129f5395011b79', - seed: '0x7815f4ef272b06985c8089e2c28ff8076fdfa9feed8cefdcecbfbee3d0b52cbddc59fdb1226b95292464567b9fca978e', + seed: '0x0100007815f4ef272b06985c8089e2c28ff8076fdfa9feed8cefdcecbfbee3d0b52cbddc59fdb1226b95292464567b9fca978e', data: '102', signature: - '0x66688fddbb49fb1c9de541b7bbf8815b96f36a6ef711411c026cb339ed3c96194e2dbba95b4e43ef5a049729621268953173f557ef42bb5154d4f06baac3ada396a6c584f2c9ffc36bde6d8ac4493d2c0a494fc9c572d803cdd2970948a870afc1ea1cf231c2b2cbf2022fcd4118df96aca6b25118030ec164685b164bd6ca181f80caef4e28cc5cf15c65398d42a441c8ecaf842fc85ea534a83a00cd959c998226c82b7ca853f67a6652fe13938af544040e0a6c0d8ff2f56a87d87f86dad805e579e1b9e370eacb301b4c86538322a468be1c747e9ae5a20d68dfc4166d378fc5cc32ed103dfbbba0a8e9c766fa70517d5373d83848a0c62a35ba2b082aae2b4075ca48b847d2dca2c27d28597182f74df5c4c5e3c15dd7f023603e4fb7074f3fd1d4bd840fb4ed671dddbbd48e7c72480cb502ecfb67482a6b5b59caf50e613891dd3db3f585070860d05dd000fa69e3051d90d04f4b55fe9de7d1d2b71943838513bb4c4e721af3bb4695789eac42b5b0ec42d02b5bbb0e2906ce93e403c09ee762024a711c92051d9b36f6a1c858e998489e83944f787bd1c9b748058a06ce88e15419b8724471a52903a75982635feaf3b6df7fb706449db3b6573ce1855f62e74f109da71a956689ca84f3461200fa9f13793a94df7331ac8258d59a17dbbc3181c9efb0202fcbe3f3e39f59a28535df505eb091828b0b398285d0b218ebc152068634c7af42c6dff92436a8b5852a3645077918be3e9061918ac6b492b9e28c669636a446cebf62b35d85a3096a8b88a1317f8192977435d70afbe084a6e5fbdf8dac2c95b0cff80d4062b449a22c551c2e7134f57e7c0163725c25beb47c5a80aff88b902d8ade248ae6b25620d8eb2b4d47fc8e592454e52002c72bf2cbb64103db07d6adf47a6cb91b69b4ebe126985685419eb51728f6aaa707a5c6e1a3d5f747e1162da2c7908a55bd859b59f795908e2f524553578930bb232a2ef2eb0b65e4ae84b7101838c041a31e8efd424a03fc95de8a29d779d6da6c1218388e1d94f8b12e11359624c5bf40e2e7c0a911a3aae4fba00018b09a0877d51f79098012db7264f10df23b5744fb71c5a69a2cf6b32bfe38ee8a321e5ae95f3cd3e5771b9095abc490635531a83ab353c6892f56d2f5e63d1d4c2fc33e6b40551efa2929365501dbf894ffcbf9f044bd0d6be17dfab60131c37849cd0cc76be904893d9e56942a36c2357ef72588e005568042af5f1babdccda625417bb628a2afa8a4a1f8ca40a4b8fa82a9e0d963af5588e2d25b794cf20a4b18669e37b18ed54a3574672e0ddbf27b033f5a7103565d33fed1395b65c056c3d376cb4676cbcbdb47778bea57a92ea8853df4a0e651a6de4f86e49349588a95de61bffe428591dbb2040a9d98a69bc2151ba6253a2b5c9e1d25fbba704a92aa315174e798da389de8ac6a4b4ec11292e65332e76cc5bfa94859649ce0c10f4dced9ae2d129b13e14c9b2ac3f5da9f78331560016d8c14b2f6c4585af55737f6700ba98475d2add8d3ecfbeac74382b4d9cfe5b8bc7bbd6d265ef17ba4df21944e05bd8833aab2592be42661a0fa9df63282be6ea8f84dd356a00652751a24eb36aa67d042d512e729f7824b84e6a6b2a2dddff1eb4ab7c5cc3799e8c271b37ae60be43b8c49af99862d534d36f5776df4ce0c9ecb48bf1155dd3327a4c944137a55e9bed458a9866bad912188a0afb0f6eb87eed203cdae72048f637e81978fd41b6a591bb3e9e2d7c68b1600fbc62284e93d6b5c2d2188db039a0577288c49449827ec7b6fd1a7f67eb1e3905b56843b0da22153bf78eb514982576b7d024a66532a1dea4cab02db0d2501567b06e27a2341f6d296ff285c2323d96e465789afd08956eac8b3988f2597255347002269e955af2ab4884e05cfe98c590018a81a4a076b803a577ff5cda717eb05799156cfd09a02fea28a64ac2beb715b612e10fc40b115bf5115c4541db11eda325d68e6c93697c67c4d848214f3cd299f5997b5847ccc3f77e9c96aa612e9e04d4603bd35c8890d524e791ac52b18544a8921483d032a3d6391eaed701f910fa392714307f29594ee895529e88bccc35fd0c1ab67349cf388781c69227f6a08079ae76c98ec008269b281090b8e124f05bbcaf0e06e3952593958a88c59169a108edd7797d14a9f50edc739828225e6019b205830fb6bc9f3d5992cddc08ec08e9473bc028579a985f0aecc4d53bc2710df31f351fe54280962923f96124fc6ccaf31e58ad6694907cc82bc9bc8e31cc4db05547b8916e34629ea1a49aacd6c4efc41e1e923d91d66346bd6ad89ea01315b49e0d08a9ac7137294a20f96f6736f6fe310d580f90c55a6349d31188e7adc7da761e6e43567b8116227e8342404f4b875fa706557733b38a6021e931c5241bd7c6abb4330d7799e0031bbb831890dd660eb5dd5d465c93ad4024f7aaaa0f7d92ba622a1198d33ddc4e7bc23419e2cd19eea57aef5601d07b16da1bd77cf64df8ba02ba322de5540cf40b51677680bc678d1c9ebf9067d666a0c032580c0dcef69fa819fe19a93a23ded75bfd9eac34bcebcf79e59d3430352df7420b54f039f5f60a58f2e12d60a8ed41081f95ff6dedb552301d753d17b5761843766d440d1ed09e5ef42df6c452604a568e174b4467207a92dd74c7749bd90a9b7c040cfcc87e030f8c9196f28c48488f24ff91dbf173bdecc6ea5c0c586e35a4e693ed537701fb8c720c88c0089f2550bd251599e82d9ea86658bd7e259652f8063e20b6d8ab9eb3d3283ddeafe3a9033d6c35e525c9023c1f4e5dac4343904b130a3b2c3c0d60f4a035e63c86d2c6231968198e994f68d339a5fbc11c0730dc8900c12bf98de8a9cdd71ebc4cfbdf4920c5f40ab48cbc67cf8e9f1540b67d0d50f6b1e78bf8a2bb02ce70db985a881df8fe633f3aa1de41eeeeb0e304e591d49da9abb98d71e14b0212745ad407079365da791d91701744d6120eaa0927ec2d7407dcdef2b83344c8a22905863045bc72b2056ec00e7becdc6e3d571ce2f0a9c40cc1b0211694c94947ec08aa1475e7d6c5cd9c1390357a376b043ba952df8730130ab5e3dd94768df1a015aa1a5dc1d2c027ef1499fd01f3fbc75245360cdfd2eb84658f1ebea0de4a26830e36416f9ccc04bf12ab5513f3664a282de8c377d358a38bdecdfc66719d4b8c57db7892a297eb0cf5710af2e6c865def832e182a8397fb072cf059b4a764700a775c1dcff5103b197bdf05b5dd989c2f0b74770b3c5591027ae2887fb897778a6ff0770f2c839bcdc5bb4e22c32c4dd17cc55f59ff41be6306932a201abd6e8043a606d4b0f88efcd5d8d466a6227af22fd1162463052fd145bf19464f7285acf36b2df0deec006d59d210dca48b974c4834fd8e3bb4c6ef02b7d6a544ed59576d0884952f42b7821e026deadbe8ea94b45d7c46db7bfbe73328adb6441cdfc7e213877cba2fd1f6ca9dbc10d57975b97af42f6277906ef7e09f656686fe573d3bd219239521bbf69e7078b0474d13363b046234f012dbd4ba43ce0a5d41db64f9446103155dd8e7640ff4593128f6ef14c10dfec0112bdce42428686f7cebb30610a10448b9e42ec952470aae12f239065a55e5a32b6f9fc00cc1f0a22e6ec443f586404fc8524c5a09da269fdaedb0696e74e7fe12b7d38e91cf2ada7f906c1fee2df6774a0a30990a80d9468a02d97f22b38019cd3d71a91a07e5a00bbe886d1ea9b8a69669a1c7fdef309bbd87264ff2645bd54a85b49a417da5905271b4d8963e8679b0660cc23b1526462a56d178af655d257b7257b0004d2f271db29cd11060eb30c1cf025d2226d3fec2fff02d0e032de63229042380a8478a6817e3af34b263edad9965e32ac305da44e2865d7fad010acb01df9682c556fbc647a15301b14957e62e178a2e85bc46e17230e8b3b33e219a8c326119c8670037813dd654d6262a64279d0186a027a221de6d9a3827b63b9c5019b2d26293bbaf60c6d67f0fa19bbbba8542ce47d3a00fc6770bdb1e4e4e7ac755b1bf2260c806b186e070cfbac7b441d9ff94ce8889aac6cf6c03ac87be0e817eba4cb193234d1f47f72cec1ce54e83eee8cce9a74ccdfac6ea32e902dea8b875a4e6fe34cb3642d220040ae95c119f2030138b67335a77d996e4c54a8f41c8ef1b07fc7fd86bb59c98e6434d9e2db72dab43cf5e845924d04f75ae47590f7f5c5cc0a1b02dd1f2c5df230ce019e1cdbde4507d2bedaa9bc6678ab246295df82dd8d433f20e99a1b8a8bbafc1888f01f715d829e2648a34d43d87893d5dd9d5d551d41abc1b3bafc2116b1fbe34de5a67fd18a9fb0766e56a524538052ed23893b6c14e7f38872992ff7639e4b0f480d801cf37e0b733ca58e37f5fce5070e6329419c53e833b5efbb6b24eb6f3b3e5aed8923778abfafad3a6da35c883729ce847dc67f24b41ad256b4037f096092cac70de29df0f956dd7583213d30095705df623277538b20983a1aab7c3b5c33b5746ec653546fe1b9d275d434e7d6abd257d0aa4815816f3dd07bf14723fcabb032919324e3c095f03fd68c5e0c998e635aab3a062a025c057b60ffa79bd36b9231e71c839e8a75feeb460d31484e1da86a6194e294bbdd3200ba893f17fd01172fe8f7881c1bbb3afb0ae632e1c0fdfa2fcab5251c20ff1aa772a5eb58005a9a0cd0412c345b9e8d7815498103a2cf6624ca62af2b828681480d78ccfd1563f3f65195bca5a6c30074d8d46ae5da633b8839bbe6042402f2470358ae8067d9d2d309bcd213807ede4cc3653cd0dec242bc9313866e79dbc73c12fe62a8271f68c8b5f0b784c792543ac6f7850a827cf62305ef9784dd667d19173fcaa7f8ede91d2357cac232121f436a8e051650faa5a111d6d68efaa93079cb0d5ccc5a476f5535070661005c172a75523c825906a8e71a0d39755793ae74c7cdcf927ccd58892fd53d86dd442e3e5c155cfbd7cc94299d06fc393c5efc0fbe9ba44f63b8cddd44dd71970dde2467d1fcdc963c05407b4645b1c93f7ee4fb8e932c0af1921b170eaff0b20647877de22500de43c90a41b1f1c5fb7ebced4f5d88103590ecd3a7bc6c2f30a3bc2455b8e764e18cc8661cf435f7eb9b05a9e7e7cabe3d89a2b7f6173a9aa79832b793449acc470072e631ac3447a923146fe5ec109c162acac36498283f80a95eb2ac3031ae93ed220d33f40e0996068da49ceb51d672c1596abda6d6d3841ca5d166e226b7e8784904887a961111516edc27df8c604b79897a2e4f024bd0c29b751d101fe0ac65ee193955bb4c6d348df3270ccc0866431ca1f4abc57443458061ee9e2c183537a4155ffa498e78463a7ade294fbba6dee1a4e86eeda90570b3a9499f1e543de124b77a934e21b9aade4869c7a024666693ef4a5a6ff11a1c2af88db01515855f54f5e0160ee79ddd3d7f8ddc00e91c5cda757a8f5846ad7ff892fde48e8d2015d791680693052d8f3b1f9dd86104ff580c61ef24edc4ee00b61c149e67c3bdfcccd5197c767a4835957c5cae969d7818d281b3bd48d0e297a2c815bf9016132210a13c4e702a2be2ffb21e5bfc3f64d7d96a532df41a9d1b82370675d2b38046e789a8b4b55ee9a8fe9d08b3c39c8b5e27e732fd55083b479d496db172d4cccd4e406861aa791fab67b73ed77320f9b712348b33d5331267f697b5da39e1d36560b5c46199c4503de4f1e78b11f1ec6191d7645ca761e86c38c9fef888baac32f746abfaa11f1578c4382c11c21186b7bead8acdeaf268d019c26c9653a8b79c925c2a2f18033839b2776445f4ab7b556792ddd1a31991a46027a5536c03c79e19642805010926c905056030941e42a0af292d32203412dc30d3f898dcc4c1449f4fea1e4764cde647b4159a6fc890cdcbb6c12705a9e9d7dcb656558182e9e47e9ace0d2082cdfa438c8f5dd9622349c57625023f99f88adf644c74c2e9d428af79f7e2b2386557b063ea7981eef90fdfbbb06768862018cdb53d478beee3c11c51fcf547666cc1632029b1fec1154efc04e31c3d0958c204fa6770533bb4d082e7b41321914bff4bc5275eae648439c4641211a68de90e5bad7213609e143712ce5b190428a17c0bb9604ed2bb5b2abe984eb60c10b1512689fd2f1e2da053a76d19d29b4c66b8f132b5c98a2ad4b423a0b1a9c9585a501994a568b6c43b3a2ef4588365802e3b07147a483a306518e6242c07825f4be7805442297db7f16c91007c0a4a669ccb73077c54907aefe442d7e7f3d7ba4161d5206ba0b3747986f466e24982416d51920f6aa5b1db97559dbcfaa688aef47f4d2d396f33b54231344c1607f1982101e30318485b7ccd3ec0e3575a5a8b7e0f95181d5e7ed08242a5058b0d439414754747585b4d7df3337607791a5c5c9f5fa4682b7cd181e545b66c40000000000000000000000000000000a12171e2832363c', + '0xfd04e193958a544ba6e639059a4a367b9b8eab6b9e9654dc999cac6fbd920b37e5578a6ec764cf5ccc4cc62b3002267802b30dc433d211d03bfb44cb26a0205634e66b10251b1948351632b10ea182b34a6e24c88cec408adafa556a83489e39a5253ef54ea1565f38b6054782dcff08643f3bc0249fe58cfb5deda755e8ee944af0f6e83d8faa9cd604bc3df964dd77dd455945365978c23627e4e32ea4ed5b957af271b9043695268f4a1299b55c15251c0715c685a682ee5ad51ba06216f151ec5367116d302d79837642bb15d87b9ca5814cbe4f4f180b432116ab089dab64f81698abe8b54cb033caaf10eedcdf4a3ae40614106c80151ce2fb07a460fa66e8df946a5d384802294bde8b41f7826cfb662622083774a8661d15627bbf92f3f6bbdd3006124cd6163dbd31081fd94442a95d11ba62d5e77e70c19cecaead47449388c2e88f55efe5be7998804031d9c66e78eff4ca8bdbaa6e0e5dca2c23c4b0383de3c8f91bb99331af8139c8f39c41eb2ffa7faca9da7450e6a688ab7b901510ea78fc66639cdd26dfaea0ff7b76eb3ebdd9bff6c1dff69b6ca67967265312ebe4d8f4d05799bb2a878a9cdba8f832362dd8a0021796129e1631d1df5d029a5c28382d96262dc7680a3624b8d1353abd41b79748a9ce46d34e8c28e357f8e082c734847d3f0e34c76878482e208d6097195b59bded86b4267c92a0bfc43854ab6be3d7828ec99f75ccf468ca94a45ae064f47bb3b7074572f82a8c5dec4e7aa31417ee5adab91b80038fc6268c1eda5822d71e7a21d2a58c4775de6edd23168b5567cd07c71f3f70a3d9caabf5fe29eed3225a8d3290944297532c99a4bb8de2ac23ea9c34a7d0891dc7d8930e3b904388915a4875e80b17c62e865647404e2f690cc9db5808a8fa081f959ed77da11d7ce73ee3d80adc1358a1f8d30439afb125b500029bfb7da1cfd1786d8b4bf51683249d828562c1f32c01cb2d7e38f8018e31de6c24f39b9f0dda8ec8c28420ac12b8d245731e1057c18b9cbdd2b17ecec19bbd9b2c47e8c6f53d754d7ea6dc9915209a2e926c7099e53b813c9fc8d9254bb36e2ef98893f371ffc0d1894bf440bf74319a42e07fe9f34e68f91d4e436e4027cc40bd89dc892a6821b4c91a767382dc9c595e3ccaa063bdfab8062d4933cbc28b05377d4289e63ff42b93e77a1d266b73f9aa3425ff21dd87c2947ff6d33beca1a20702b0576766e5674975329d949aeef04705ac38f436e38d6ab1894315fd0905070f08bfbe9580299dfbc46e7466a0461883360b63aaa70354dc7d39e671ea315b17eb98fde6bd4608eed49e99c4c51dde4090d261ffc217b1b9c894aeed0759fc84a4c716fd7428f020260707aa1ecf6f796f877b161e3daaf40406b5f435b8815023167b25843adfe63b95836314490cc8a4c4cb864c98a178ee32e9c09ffd6734fc58467c720f13e1b44c14153d5273dfbce77c5ab0c38d5f827f5b4b95b3075bfdee0f223d71af7b3351df77a80c82caf9f4bca3b1cbde4003137be4731b5c5446acc8f0fde5ff85ec88f747756879a8a16da04349e812218293d0a76c6293740fc712c5af159c6cf292e522aae97a67bec04057339994fa68cacf85c247aa8b5c752e79be54f6b067bec8133ca4b7a4d111fbdcfeb91956d4dcc06dd054d5e208118e210fe5550171a7eedded4574c40e92d4fe4cbb6216a09550e44ad3c8ba2af04a2a90272201c50380caad8947deaaafaa21332d22baecb199195c3c8af7670a9363e8fdaed342c768972ce2d4824101c13b5b0d5cc31488671d43d23f88565268476173c5635b7d8ad581a24639d308017c44d4e68fb6cdf89b30974dd4a7f39bc1ff3839b211dab6942dc9d6ea37c36d07ab8f3759b918d99f8cfcc63032fa253436db5ad54405c7100a70aff6271beea5481cd568b4e541221d189db3b1d87c40bb025f05fd6f277b93a381a1712bb8f965898453f9741bb1d5a9c23ec1709bdd485871a72eb9885181c3dd382f2fc366ccd97b6d8a67de206f6bbd56f5650b4e812f58a161d61c037153fb658332b984d71c5516b3fa12a60501579e7f81028cf92f184873147a9eb50350032edbba7f1d8669e4db7de89b2c2158425253b19e1644ab9851ae8aaffce34c2d9e5cbcee64d82fb8f87d144270ecae9dfc783f7c7b979c2eb19975fe072a83ee3f96ef2b6e78abacddbb718470b96e3f64e2bf25f4bdda660a9c95690210f4c22776aafea60d5380b31e13e4ab63ec2c66beef1e098faf30ff22479db606fbb9ee9c329357681135211649ac657c56f57aa6e3a35c7457f58d2f3fbc832693c0ed14abb22255ae40f683f57aaf0649972b42be64a0e2e094412a7c57e68b6b24e8f613d8863cf06f4beaa37e291585340509f5f8db92a01af61326e519201c11c97e325509488143b34f99fb21ba7f6cee8b9d3d9dddab20f717b41d7b1fde47156d6f86fa139289e30094710a604dbeabe63b714ea9beef707e6357707220656a5a55ee813b5696dc4485299da9ce945e738b178ba723b807bf73b8c68283138bbe052219b41b49e41fcccc43e177afa2c50eef689db420497fe63ba871aca70ec5d70abcb03006877b5babf2ee1b5141b0a9a32db4b49375804d735856c1277be26f2b4a04eb1b1594c0df4cbdbf336bb6a22ff2195ee33e782521c20062691b008c3be87e8a69400a58b685811c77911647c697271392639f56f9d2c2865448d234b352234e9236cbbbb2f23af7342dc42e42f89a0f08cb1732bce89b2ffcf589ad637314705c367e3b54db27d0838c55f73fd09239bdab58506054764e6f87ed00b478c7cdbab32646cfc444db8f00378e7553b89c303749d251dfb45babb08b30a642beec42f2b2485ebb38d4337a3bdfe30d36e6a49a4d6b07278209ab75ae6525b682366cf13dcd15269782d4561f51ea00d406b8db41653b328b1843321a4234c62fe6c1dc1bd05d1a54271cd70f1e0d6c5ff8ab1e3fe6d1599909c402318ead418c931a00bb835b931d702a9532650068ad8b9410d0fe6857297e7b9ae305f78db9300065cb07c718e5ce3fc09d131994778e2c740a7d2f33d0528d45f66a41ace939211d376a79e3124ccb1292b4c9c72cfe471b01263e6432304509844792112475cf5f04856ea5cf1d4c8901ad962baf77eab623bb2767cb44ef16d46c1aa9751f92bd5990b7dc49d506597d5244eaf19f92209ed7bcd3aab8c0986684dfde4939da835351aab9bff749ef553c0cc80115f1f347ebc64a49ad48c425d10c702a7ce8c98c0ef2b696d62dee9a2ca57f33b29c1abe54b1f420139b21036f8d4b4785d6fbfaeca3352bee9c52582018a76d860492c5077927503481e3ce7dc51958c291a75f8acbf13a8a86fe57a1308a3fb9b0e7b85fe8fea3d3b1097aa39bb38339ec8661af024fd04c7f72258a52f518ffe0e61d903d3eea303d1229b6332e8f64a23abd5ec1d90f5bb0d4e2ba49e45549d50a73ffce71726485e82cb792700e856c6281eff92c1cb858a6bc588975e97b9cab386b7ee6d9fa080b9e15549535f7cb82ea59864c719dd85c26b3951ff2282af92c9bed65dcfcbcdafe8eec18930b6d343981bc476da283ac63b12e9afbf78b553cd78014ec5b8d5e0bf7c31ba54b3e0bb727cfbb379ca8f2e45e5dbfc652ff98c71b9ad13d8fe351cc1c177a4788d326435ad4bce9e5b411fcd0d197ddd131c0182633e80c543189b3dfed5a712e4fda0a5de334d63aeca68ae6b2e30d11b2f5d35c71b1506b01b820ea8261bbaa832eee77c67524719fb45a40c1bf341412ab30d21b4eaf4f01abae19fe06c6ea8a1c6318d7fd3a67c77d4f2ca039c64f2445388cf172964884cb6636bc8add40cd63a5f1657ce4f6a494fd4b571b4c33d8489d126365a4a77eb25e4493d15947112175505b0a1126716e9385edc16b0ccd31b00fa773dfe6e016db49ab93ebf8d3b5b0ea8c8d07bbdc6d0112b321ce04d557f82af76479f6973b39bee5ef943bd91cd18cc15c25fca3ac426654ac13c7852acc9321f78b7a9facddc1747a1fbd05960546e9f8d79f2178670f851001105dca54c5b3583bceaa731d4bafd2935a65d7d395e901680ea72027ad0cd2622dc92add186c6f96d94a79001259f9780363185b042ec95161e4cf139ec6765c3c1ee9f5f285c2b54034baa295bab66e0e48cb946a1ab14c9bb960b6120f4a92a9b474a13f67afd5d7516d0bcc275c11eee71da4d46ef0bf7bf7e93d7816e3289b3b6c5f227c7c776e9608b362fdfc7a2e0bc6ecbafee6fd71ecc08c15a717743540ff23a83106206e3196dc20a2fe53eac15e35a3eadeec9e5a5a2ac9c4d470817eea9e18f6ac8a39ac125698bf5294b39805414d7bdc93d13f985605e78cffaa7585968043137995ea65e5cc7e35750f3254056efb4cb7306072642a5dc153c1619a1a7d7a3abbd5dc8c914f8121f8a618a5c77be5f91a0b3cccf9a158110e24e23a174296b5d90fea250ab1b1b85bd22a266b63fddc6d3036f35413c4979e30edea1dec903db05eec485da428df24a06eff2a0380500952a177dccf42a1fd536d09e353382dc4e64db39da5da7d11810b9177f62a7644e036cda919344fabf199ecab55ac9a5d516419d4d6d05443c5d564a39f0147a0fcf5cbda1030d61f321f9fb08c27794487d9c06d625e03b82951a781dcf179a007e7c22e57a0dc7515fdd9164b2beefdb479b545e90d7517283bbd90f623c8587965936017e42218305138132e25ea36e2143e21ad7affa0a361ef7c44403b3e26eb8bcd4a4bdcfa97d048283f399d8ac4871c2e1b1cd9f1d2aed3111f535c15383a9edbdff7d47409b88e8edcb8ed460dfa647e924d48c5ca7ae7b55c1b66e5ab6555a0fca8cfbada1b752f4a25f965542bf248efea76940dc0cf6f45d92232c2f9fdf11c57a7083002c02e6bfb77a9fc2efa6f423ebc41ad207a7d265ac4dec8f4eab16cc8b7e5ded54a08b95257418a6ed8f04dbbb5aff66ff25324ed0fd7a650e0af71982653a385e80c93a991797921c89e86259c6541224dd46073f70b57af0ef9d553e8da14e277d069747a8a2873e3731cec12725203399904d656f20e727c1537fe19126583bbd3f890040faf17834bd3fa265a98426329579db9df1820059e2b0cc65b73527565cd83d5c896b20d93014bbdb93c63fc58fea92b60e29fa9549866c31d4659de4199c40c142dff370cdeb89760ce5b5e8ac25dbfa0b8995156d8a2fcccacc9575641b3bd4d5619f525431705ea0344b39597e6880ae0e27fa55cdc32cced7d32e5384bda96d650b788bb394ad318afb05ce109a1f49329c4b5c87191f8e081bdf19c8f4d9f02b144032ede8c8f8e3b0f67058471df1648238500dbfe95f426d61624b14b574711f13a82e1102c6221fbc6a74972d2537bcd39e2acfed98888e169de6d533c8daf9fb49df6e314f8947b5f3530a809ce067d33ac06e1d3bfc17167f665fa1f2dfd8b7f26b3a5ab26516f518d399caaa3b3316159b2f2ee57af9ac7b947de2cd4b5efa9a654c70d6b6f0aea099863e3a16ba05dd9d24b206c5679cc3d992c5b56769f49e706f0266b4a32dae2da311018910428ce4d42b878762496c399cb1f595c9255f981afc84e8f79b0220b3e921af307dded1c35ba35754b5d4784b530cb777849dbf0a15814962e7d0fb1a09482df248b0eb750d0280552393eda49a39faf3250f7907623f88e068bd2d0f1ef44e583cbb873a7f8bff924ddd2ae8462d9126eee1b81fce970058b252fa0c5bd846a41d1a05517e60d102a2daf9458ed1093c996755a647ca117867711474a1c3ec9a1576bbd6ff623ea46fe10e4842843c407ae55298c772116d9bd84e493c0daa39463c6281d7dfe94a2877861b815fcd7012a9e42e2ef232c9a97dc9acf232122b94256a2a456122c1ad8e058b395854db9be78e37c4a9ed7ff26c9e2d60e6460a424b4492a0b6eb827a432778f9851e19848d729c7ee9ce6de1dce2e3b05cbb3282f76d6f6a207b33b2d184df05e523cb94b64fd6efc642e153703c658ba6c2f3aa33bcdf6f7ee54a0178560507884e59ffe04f8edd13f370bd74e65214042571f66871cf90b996065dec87e372d29cb82e739f5185f5c404aec0e8bdb48190fab22425b7d3adde959b6517a56dc7862f80c59e65a13d5f7f61a424129f9235b5b219b9aaf202280c25ff26254cf7aa041254a81bcbc619627125213acf903d57e09606f9ef1eb859427b49e8bf67388eacb2aa1b04b47985ddf7b1972df7d5b2380439b00dd81a49e8a1701ca9eda672b69614e11a453162b104a516caa68481b5171a884288fd193469f852749eafbc554612a82dd0148241638a4c9e7d58d5596e9f1f0de311b9670dfd40d7ae087a2fcfedce4d7f7064697babfcddc09454877878cb9dbe0ebf600021a293c4754666b7fafdbe212202c33424f5092adb4c5e6e91832818d98bc0405405f91e0434f666f91aaaeb6c9e30d0e5fb9ced9fb000007121f2c32384249', }, ], ]; @@ -158,44 +131,44 @@ export const transactionsTestData: [FeeMarketEIP1559TxData][] = [ ], ]; -export const invalidSeedtoAccountData: [any, SeedLengthError | InvalidSeedError][] = [ - ['', new InvalidSeedError()], - [new Uint8Array([]), new SeedLengthError()], +export const invalidSeedtoAccountData: [any, Error][] = [ + ['', new Error('ExtendedSeed: expected 51 bytes, got 0')], + [new Uint8Array([]), new Error('ExtendedSeed: expected 51 bytes, got 0')], ]; export const validEncryptData: [[any, string | Uint8Array, CipherOptions], KeyStore][] = [ // Test taken from https://github.com/theQRL/go-zond/tree/main/accounts/keystore/testdata/v1_test_vector.json [ [ - '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', + '0x0100005dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', '1234567890', { - t: 1, - m: 65536, + t: 8, + m: 4096, p: 1, - iv: hexToBytes('0x4c2275c4a14a5e984bfaec2b'), + iv: hexToBytes('0xf59185068e4cbe729dd0000c'), salt: hexToBytes( - '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + '6140afd0defbcc3fe45d2166969adf5fb45479da880c6cc10d4510b5dfa9908b', ), }, ], { version: 1, - address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + address: 'Q5f279a4668d52e544a5fdf0c6212236c693e7b76', crypto: { - ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + ciphertext: 'c42ac873cf649cf61970f0ec1b382d25495a77ed4865f1366cfa10b2560514b0b618ea6e2c83c1473baf619897c9495b8e97e4c16e0cc5c92c00d2c3f3940d2e40a460', + cipherparams: { iv: 'f59185068e4cbe729dd0000c' }, cipher: 'aes-256-gcm', kdf: 'argon2id', kdfparams: { - m: 65536, - t: 1, + m: 4096, + t: 8, p: 1, dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + salt: '6140afd0defbcc3fe45d2166969adf5fb45479da880c6cc10d4510b5dfa9908b', }, }, - id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', + id: 'e59590d4-3ef3-4a8d-829e-790b83bbf4da7', }, ], ]; @@ -211,12 +184,12 @@ export const invalidEncryptData: [ ), ][] = [ [ - ['0x67f476289210e3bef3c1c75e4de993ff0a00663df00def84e73aa7411eac18a', '123', {}], + ['0x01000067f476289210e3bef3c1c75e4de993ff0a00663df00def84e73aa7411eac18a', '123', {}], new SeedLengthError(), ], [ [ - '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', + '0x01000032c89a84a46859934c42dec330511fd3642e98f00575e74a44c486c8d112dbf19d7129cd61d3e6bd72c4f2f66e5556f3', '123', { iv: 'bfb43120ae00e9de110f8325', @@ -232,13 +205,13 @@ export const invalidEncryptData: [ ], [ // no password provided - ['0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', undefined, {}], + ['0x01000032c89a84a46859934c42dec330511fd3642e98f00575e74a44c486c8d112dbf19d7129cd61d3e6bd72c4f2f66e5556f3', undefined, {}], new InvalidPasswordError(), ], [ // iv length is not 12 bytes [ - '0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88', + '0x010000cea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2', '123', { m: 8192, @@ -257,18 +230,18 @@ export const invalidKeyStore: [[any, string]][] = [ { // invalid kdf version: 1, - address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + address: 'Q5f279a4668d52e544a5fdf0c6212236c693e7b76', crypto: { ciphertext: 'f833f12f6cb57f6961fb34bbf4ff5019c9fd70e1ab98bf0f1ba164f1b4bc773e853f973b708a4ec1b5e1148de96437ac5fc75da87c6b7293628e9d45b4bc2ab7', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + cipherparams: { iv: 'f59185068e4cbe729dd0000c' }, cipher: 'aes-256-gcm', kdf: 'hkdf', kdfparams: { - m: 262144, + m: 4096, t: 8, p: 1, dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + salt: '6140afd0defbcc3fe45d2166969adf5fb45479da880c6cc10d4510b5dfa9908b', }, }, }, @@ -280,18 +253,18 @@ export const invalidKeyStore: [[any, string]][] = [ export const validDecryptData: [[string, string, CipherOptions, string]][] = [ [ [ - '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', + '0x0100005dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', '1234567890', { - t: 1, - m: 65536, + t: 8, + m: 4096, p: 1, - iv: hexToBytes('0x4c2275c4a14a5e984bfaec2b'), + iv: hexToBytes('0xf59185068e4cbe729dd0000c'), salt: hexToBytes( - '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + '6140afd0defbcc3fe45d2166969adf5fb45479da880c6cc10d4510b5dfa9908b', ), }, - '0x5dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', + '0x0100005dfdcad4f721fe41d1bdf632de24ba60ba7cfab9c9a79287fa007b6a0dec8200b1fa35d2575bb15bd44d59b8d878828b', ], ], ]; @@ -302,21 +275,21 @@ export const invalidDecryptData: [[any, string], InvalidKdfError | string][] = [ { // invalid kdf version: 1, - address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + address: 'Q5f279a4668d52e544a5fdf0c6212236c693e7b76', crypto: { - ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + ciphertext: 'c42ac873cf649cf61970f0ec1b382d25495a77ed4865f1366cfa10b2560514b0b618ea6e2c83c1473baf619897c9495b8e97e4c16e0cc5c92c00d2c3f3940d2e40a460', + cipherparams: { iv: 'f59185068e4cbe729dd0000c' }, cipher: 'aes-256-gcm', kdf: 'hkdf', kdfparams: { - m: 65536, - t: 1, + m: 4096, + t: 8, p: 1, dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + salt: '6140afd0defbcc3fe45d2166969adf5fb45479da880c6cc10d4510b5dfa9908b', }, }, - id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', + id: 'e59590d4-3ef3-4a8d-829e-790b83bbf4da7', }, '1234567890', ], @@ -327,21 +300,21 @@ export const invalidDecryptData: [[any, string], InvalidKdfError | string][] = [ { // wrong password version: 1, - address: 'Q2068da65aa0167e1d55fd692786cf87117fcf3fc', + address: 'Q5f279a4668d52e544a5fdf0c6212236c693e7b76', crypto: { - ciphertext: 'bde2b4e9fd51a73917bab6ec31b25f1cdd9c908eeb0d81bd6cf70217175abcb583734fd9524ec12b5491df8f7cbd9425e4a8bfde730a42b56074a2dd4b5b05f9', - cipherparams: { iv: '4c2275c4a14a5e984bfaec2b' }, + ciphertext: 'c42ac873cf649cf61970f0ec1b382d25495a77ed4865f1366cfa10b2560514b0b618ea6e2c83c1473baf619897c9495b8e97e4c16e0cc5c92c00d2c3f3940d2e40a460', + cipherparams: { iv: 'f59185068e4cbe729dd0000c' }, cipher: 'aes-256-gcm', kdf: 'argon2id', kdfparams: { - m: 65536, - t: 1, + m: 4096, + t: 8, p: 1, dklen: 32, - salt: '2c2f566f38f5b79634d17267d95a0914ed47a44fe91f9cbb0b8765ebaa0b7ddd', + salt: '6140afd0defbcc3fe45d2166969adf5fb45479da880c6cc10d4510b5dfa9908b', }, }, - id: '1d82a61f-2bba-4ebc-a283-56d49d877eb7', + id: 'e59590d4-3ef3-4a8d-829e-790b83bbf4da7', }, '12', ], diff --git a/packages/web3-qrl-accounts/test/fixtures/json/eip1559.json b/packages/web3-qrl-accounts/test/fixtures/json/eip1559.json index 656208a9..4f22e0bd 100644 --- a/packages/web3-qrl-accounts/test/fixtures/json/eip1559.json +++ b/packages/web3-qrl-accounts/test/fixtures/json/eip1559.json @@ -6,8 +6,8 @@ "maxPriorityFeePerGas": 75853, "maxFeePerGas": 121212, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4802f91c44048203338301284d8301d97c828ae094000000000000000000000000000000000000aaaa8402933bc980c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f31e402bc3ca44e1e7e812865158f22a0e70f9790c6740afb514511bf908ee9e51deab654abb7f3a044934aaa0dc3d09c369dd6a1df0fb2c049130228dc82c4665f7fb026d516d4da5c7e08a601ce81f451e23283804e7c0960acddc202b6a52c4452015d64f3e480a0cfaadb7c5946318226ea172573c4a2ba16ed08c1bb91a77d3cf666895d90af09f37cbe322ef8a5ea647820cbfa04073bdd73522e9f4578c44a13e695f961c91e7b40f75c837c9cc9d5035bbdeb7a07518f8fe28583ae5d24a2e2167ee14f1e6ba9a7e59386b5639a550d918bae1f611504024b61deadd076680a315a5b63dd354b5cb462e9a045abff82077ec6c80e8f6842577565f3e10791cc324982aee8493d1cf8054f24e1d73e02604326593c4f210fad2cbe4f93993348af27c62a17b9ad1bfc92bdaeffa55d03187c37f95a0c92ed1ca77d8fb3d60abd6d6fb40545e634a0cca26134b262967b5af1285ecbd5fbe40bd33a15fa09b99bffcd7cea10c9d74ae401e2ba42fa1d3472dd5a7c772da3a7e8b49fe544569bd48a4f0d0194ce9738f3a4f3b349b997b5821e236fabf1739f1266893ff275ad1cfb090f216784d79200fdb10b3bfac7d92106135ba34e4bb00ee6252b90beb45e442eba2f9b8f5f073f9566ed11fd3afbc1b0d30248cbdbba2759ddcb2598914144b4c24ce3ff7c45135e7b251e4663123da99612813e920a209f2420f2f3ca56dcff7abce627f848acf70fb91ff4f792ab33f171c3fd2303cad7736186b805de5fb376739bff9d91d468d6306a623ef9b5360d3af8d55a11b9c984ce91a158e82108d0f174913ed567ef288c2b5dbe65f8c14f3a4386045814e0d432b17b13ee35408a2f934b76124fa0224d2e7fe0c3ed17f658c7503334b01aedf6fa24b3058fa8103aa247f5263098be603ee1f286b6df3f166a9fc27f8f5fb2f8acc464a3648e58a5345f949dfbb9a77615fce9738ceebfbaadff08d80e908a7d390a2f05745eedd67bfcf1dfc646337ff9db80753492800c9a0b6b22afcb4e4359b4aac9d8d19c2862a9f9430e5c75840ae2c9391c95336abd24b0f7fe12418c65969e7f6feea1da6e95acc73216e69d6fd0ed9595811150c25235fabaaccbc2d64dd63ddfbb8239b8481082b49ed28dad8ca3073365dc9159259ee178b4a192a0ec1e2621a9ebc710b20c4d176f00031dd807cab36be29ff5b7785d0ca066156cd5e9a4e4f14d3d073689a3ea6f9db3a7e51b30968f0f6cb949f8a689b3a4f3617c13519fc478b52ce134617361b327bde825cb4f6df785324cdb238b526538875761dddd2f45055cce869942c8f9117724035611c3cd3caa61f3960cd0d1292d26145fdf90ad85252a58af0ae4541748cbf13b99d0017bd5f34787d117d7a7a40278f43b5a1ac021bb7c415ea4fa7033e4d2b0d3ee6ce26d9642ebbe910d5ff7639b70e377f133ca43ca0069b2f996d27f694f935c9239cd2d74d1023e820a453d25ee0dd37c50d98dac08184b1749ecc877a8b3e83ac50d395d631874a5b51a9e7520929636583a3a8c3b8ea0c7a81424f834970c369348b26179f0c5663de1e62df1de5bf464318adaced1a6151bc73ce7c7885b0a3210ed1056d300083ae8030ff3ef8f653284b7080231cdc1c9e90fbc864f06460bb54de044930118d01e285f9a297c6ea3080241ee86b29c46e53392f149aa7d06d3133cf0995733f3f1c0cd5fe38858d9742ebd73b8d9eaf333b6440e9444c0a1618041c087863b4c222382e4551464b7166a3738cfb73015782a2ce3547efadece0f864db371a807fbaa7378047685a2c32def9c3a60147fb1bb536301edc0bce29fd06871f3125da6f14157457d6984d22e1d80e788bbe957c061f8cf46c1286f064447b597e7b0e63d16461bccbd08d5f306ec1ede2f66988b1de22700f2d0e9d324b612709ed7c9065920bfd179d83d444dcd27c370e75e0bcbc902b8873b3ddc66a35e42d1f2201441b73c68dfd211e52cdf249f76a3a8bc8224e0ac2d9c3eee48f29576900573f6e07fd728045443263612fb4eeea90847de0577b1a035ff52b9a25563f797dd0d58013c349d9735a6afd2bf5c7804a5e9827c41d56765abc198d96315e4afc442404a6af16f6c6bc4f27010710b75470d8960090476f96db76f361ba929b5c518321bdb1bf84375603774e663da29afd9e133fea0f5828494ea1cd59e8bf9ed5cfa5cb6d9b010eaed3e3f39029e3a4dd489941aa297c4b56aab66536cbec4abe3cedbfa82da3afc633f59e1b77680e123e0723966ae420afe2ed5c7ea15a86e3ab1b5168ee93637e965325e23bf07babf2821ae3f30799e5cf5d0572ce69860591c9e3d3d27c8f922e22b64f054827ecee8a30bf855098cc09a648d80117c4e8581692801286c22f2d4da0a7ec9769ddf530861a6673cd3b9bd6117bb2c71fee31c4713a73208639c646a98575cafbcc3cdc42746c32ef7aa24374a004f867b29cdc384c106ccd6a7f2fdcda7fdefa7df338092230b4a8ea6418e912b5609deddc3d602ab077c73273699e2cdf690b1b032a358b31a093aabb6fb93112decfd8c804e0ff2ad6c08ba6d33f8ef11dcda054a4a11f5d34d2378c8afe2aecd4a1719580fad793e2c31a4986b1e44c0bf7f838ccaaefc3ffc01ef0607ce532aca3f0aefc2bf545e1bfddd86fdc3e5569c974b978b434e2de9fdf820a4b547759ff80b36417bc5d69a52d195f9138ad6cfbbb06f992dede9e6d78ec3b9a3b2eacbcd45cfa3ea9da25d21cf55184e8bb6c7b4dbea7e2d3ded4fffbd4738da7367743c6ebd023498edc558f5143815094c6f6d2118ccf9b9827da40d8b27a1f6bc1ae43f5853458828bda54e58014de4a0cb3709d171370aee1a0c619567a0dc9103b92125666b37d2b45b4b9b0f25c15a6360841aa31804b756e617f3403c92d5507876e1c14aa70fa517fcae97b6018d934c9026c9799fed157417dd6f30527444967e10c47b39c1327643fab2c029804f23c1b051f41d8ccdf3c3acfd569750bc78e0396d3a694a7410a9703302bbd1c58e3507de5d56357b1590f563b2bb0bbf7048caa3fc7c89ea501d929d23c40776744f2fdd97ffc388e3fbe5640aee6972d8ec830408ac6703cdade9e329944dde141ba394f89786367a5af8a994702a2585bae24c23b8e772a42afa92b4d8ce1b7aa372b562baaf63977b34449f7ba4dd1b906a58e73045fcf5160adc09dcd360818694da9974dbb6adfc0f7784c1d31b6bb2bbbd914cc311981355f870fc1d90804da3bdba640f8c70878fc21844a4ce6e2b714598adfe415d67d7ee95983d8fbf28574390c5a2ef99076a428a62e4fbeb1218b09d3978416970be19347597c8d1c8b43bf9bd6f0f67e6fd9e935399e36b33e34717b9130802de354a38f3d4b7459a82c1d729fd52747ae8785534d24d3e5d870bcd004bdc8978d06e2c0c0e4135cc6dce11330ca0bc407c4acf5e1a2ecd033a485fab5db4fda5d51710da72a49240dd58fd725c6f856b0ee2bc07f8cc473c29376ce08ad9c1171d09bb072d432a5e0d15a9f695c95f2c7d2cfde9b3933e00a115fe6f3e446ef5cdd5ee75bf2c89e40a1bba154af228127385855f20916e9e3d47567b11d28b2a17140dfc7c014e70052e280f6f4f841aaf81d66a3c7740c3834daff8f65860ecef9debb7452a366ea77c42742eb9bc3cb88bd67a722794b3e85b501bd26ed9c2ff502b5b76a8368116fa98c67d2d9b74ea65bebe773342b87b2da8508a31bbc76d8c5a9c58b1ab93ced437c3a3570aded7fcd85eddb1d6d46080cf76c6fe719a67ad2585ef4f7f2b533350117b07cfc22c0b2b0f557b991d256e0b56844b8ca12dcbdeae2c27a8c0a0cc0e95fb4721e3df4a0ddd3429614a9d3aa023c78ae7c38c6c553072656ca4ecbc95c9785d6693973c8bb304caebc981b803923de0467d16714e5fd1b001999ef61f3919a3e0890ea6ca187b8ae906f9b57f33b6b21353cd9a370795db6812de5cb8a791a8963f32cbafa55f7dc681e345ff9c6c5675145e4b256fe657566a3e5f2d4eb0ba2c2adc407a0e2963fbdc6b8a880842b1d96932ec5f20ebe947f59e78d0f8aea5457df67db3162b464e37620d8cc04eddb68d020d019dcff85318e4ec4c025fd98e30933cf9ebfb9190a3f26e48e2e170bebe49900a763f3de7cd965556956e2a666c7c3d711bac457eb323287a033215f7161c5258b49f207d3c888521ca23a6b0c62cbba5d149916dfb0c5b81aba26f5e5cd21d574211d375020ba1b8c82abaf243db3c5d570aee4f4f455ba3efafc554bb8c263023dd741864a06542336239cd26a230c09280fc780fa8a0daa120b3a36e804c37cc5e927ce798246912f5bbe2ac9cdcad6d4a287ab875bef8e296f1c2c455511f2f440aa90a7868b4de594926a83b62cbeb338ae0b3f8e01d9bf17055d9c9c054dd4a73be3dc111810653c71b84a5c9bd7bce98e6e533aa40343396c9ba6b81e0b91781573ae9326213bc7e24064af7b9cd75f57a694cc111925c049d8f5e973e61a3600f6211a7144841cf13a9177b88f5ec41ef7b2c5cd7e06f1ceb494c4147283f629b8f31462b9d5c19c22fb652555c3bc3f500adb5117ab7b8918117b2a7c137e7325cd9aac85ac98d55cb55429fd61c0bd8ea858c1361dd269d2d461173b4e24ce02bb8d30521fe9f407d9bc17cb37418f7c9e4443298b92891a1d5fcea1361dfffb8db2aa181c8f007bd0163fd52b75b23bb66d99697b87eb27288cbc337372850f5458e364ab6646f94e17322ddd8d353c658fb4d5d29d84fb55acd736524c2bbd0edb0a6846e64aa7d77c6008614275b4435b38a3fc83eda59ee92a2d1e86059055eee97a6d5729b2a6bcf226c89597a370ee1c9f69bbd36cb5f36571f24d2742232f17a9d43524b5bdd7e17230e8efccfea3444216eb8870041798472c783a37c1fceb2f5be779ced9e328011476bbc9521557141512585ff09179c36829fdd9f11353faa2678522414304d857db8270ef918c901052ce190a3741d48536258c435275e4ed472275725569802fbeed0fe23c101a55d4a56d7d848584308415a06e6193f281390f95b4ac94249797a15ab2cf965ededf499a2dcc03705e50abeb21c288c505b4a7016e213818fb1d4b8c202f6cf84789956a5759c43a796838f2c2d720de65a11ed7d59cfb3342478db314084e57344a22020abc19cbf65d7c96bdb51a491acd2b92daeeaf20965ee7cad5166d4a20305f9fd439189d8a58c52dc34bd88e510fb810024963907d4fbde5343b978f3704d4f220b63e08b42599b2d535dfbc61f1b5705266fcc5e3eee37d4adbe6ac8332244c5cf52044e3ad63c38b9f6638fe06bacaa0178a3d5a553a6d49a561f21377690f1d14a00dafba76a9f154e7e27833c36261cfdce2cfee34e138fe346198fdd8fe6bcc6c5d34b88e77105757789ee27b7044aa8e05799e1241247cc744a31d556f854537e9af81df5ee9ef1c830b27e37d94b58b57f157866445b7aa324fee7916711e5227a9b6f7b14d3c39a60145bd4641f37aca4ee2b7bf9ddfd0b085cf4c42378090aa870e45d05b5dfbfe15ae6d6f07a7350a7c24bf4f90c66b616ef28f368b06a4dc1d12a4eaac07324a72235a6d6ae9dc48c1c80ae18c76d1364ad2a9d2ae4572a82ba2ef8aba40cc356a3fbd3054a7bf07fef0cd5b1db775c48bb5ec94e246b75b477bf28aafdaeb74c606e3e8b76e546ed7ec882d203078a3b982064d8ffd6bddd2225dd27ca7e5e9cd62d832a82fd61427845b5b8fbae90bff21886a526758d83de838234f93e603148bfad389c1bfaaca7b75ee6586b0c9147bdcafc8320388a24f9fc43b467d4d868710bc639888cb2a8d6b433333a3dc6a31464272e1aa0fc04491ff89ee5be994111c8781a706d80171b4ecbb86cef31403641d2071ffb8f297c814a63390cc4ec32f702913a7c08d92c1001441e3149aa4562fe663387cebd9d1ea71af1f5c14dbfb1733c2b1027381e56eb7e3d3768d1c6a2f29d53362947952c3a8598f67def0de814af7387ac6e558d30ba793f41c4008b3b9008337cf0f504a90041b884d4cd73695e98a622adb0175cda0bda6208026902113d11776eefef5c01f941fd4ae6ce6128e77882870a702c86530ba29c6df95183855cd5978b89a68fcf35bf075c98400b46eb419a098f4898e2738cc929cca9836f3140eb1e1dace42ee9c0ed46c93315375a581fbdda4ba065d1a5994bd99a124c08e3514c12ca411f18c3d4cdd2afed764bf330c5fe8f7da73117956c9f29ea6771f80cfea4658ca422b47bec6a7ea0a06d209cc8a8aeb4c81c68e6ed6aa1bcdda3453207e32efcb974589aff889543087c384d618d70135485f607b89b0b3ff838eb3c40b283f4487ddee094a5e8dd3f4555c6f7789f1f301091a33364d58dc18236686b0c8030f5a7e9196cdd8e7f400000000000000000000000000000000000a0e151b222a303a" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6c02f91c68048203338301284d8301d97c828ae094000000000000000000000000000000000000aaaa8402933bc980c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213a72c80462ac2c4bb906a251e1614023a06691d8b92881746f571ea1c9d95903ef5b0ca21dca31468b72beca3d9c706ad1907b28425530a31ab984d46046346eb1fc5bf8853799942a7a4cc3d9843a9bb9d226f1affc433a2de5f3e16b86d4b193d62d849e6e1e3784351533dbb19ef0051c0b86d0426edc39a08877efa250a165d43a9fe97749b3372c779cef0145ac7ce4c60d89df9724d2685124371f871dc4ec510c1f27642da4f00a47b26791e79fa3cb910605bc51b1d5e86e11e02030178ec2e30929cf11925081f3930ceae996f9a711f8111a6d0634762efbebd6dce173c1d22be60ee0a37a886a76583eb3f568bd333f30b7424190d5ea4be0344c112b61e8ecfbc34aeb6a481e94d45ab1940e8d9eb17e23fd0941e62d6017c1012801d115cd950a22a0a334fd9738234bfd71c7119fc839db4e592bc10de4d30fb26fdeb39341c8142ccdcdb74e784a57f6b1d61e58ab632b19f3d2cc9d3943d1d6984bf6879ea9bd8f6e7cc224b7063ba2774a5b93bf7963cfcabedafa3974f6e9bd297b133286b294c1323acbf4f209cbb39d7f06db1d2dbd2585b9bf2af2f3aae262372008233664589abd83bc6bb3246317eec920cc712ea0c82bfcc01b052345a772872d1fcb98b9f9f140d673c1c85cef61bbacb9ea82b8987d562a8cbe0efe8414959bd6408796ba01e1fe1a416e158cb459786a9afd507def75dfc62f24e3e85228261e34b0bf81cbff0b3a478425b78568f3d6c6709cf8042e4e429bc4a3710be57892236459d934083b69a9abeaa9295cd7c9b49c4ba27ce401aa9f1ea2837d36430ca1be3a3ce14d3a72cfde0da427944dbdf613a98e1b3b08dcfd9d97d09d437491071025d96ce7a5bc08336a1096485460f6699b5c3d4873d021830d1d8ed9217eb46b3dde18f2687cc66733641abce006d255a2574d70a3196b40ba3618558624e96e59b6a3dd4a926783ab8588c86a773bcb4f77b85fd3319bef42c34dc32159683b4dd0a02c0f4bd47e136a81db8d3ebaf1accf8a9dcc3a00810d309414b2f193d560776fdb85cc1d512f92668fa361fcad15b282a5c8e893f8c1ed5c71d743938cee8a01e83bad8af29a327d18b0518c29dab6f490a7ac040e7232f13c1334fb145211b3ce99ee7dc8aae4e414ec47049ecd663cd1c5dd93833fcf01ba77bbbb8b7c1436a10d3a60e3da8b0cb42af9b3e89f15a966f4b4f5e112660ff4a844fe54797fb509b4d38f4ed41ca234a591bbee6a99b7752fc5577ad04375f6c790b7a3bc473763b6221d189db2c206cc04325d475e406d0f69f3c88f8b944db6143ce2fda2168f98fc14a025163ba68750b1545c84570eb21f636eef5138759d7777201028fa4141766ae2399127ea067e3a577b071ad3ae6d2952a513e6ad3f63fbe528475542814fe2ea34eecd7d8a872ed9009a5d343f880c80bda9a39a39017b0955945335a45f6ad6da2d6e36d574148b0266ac78b76cf685cd6d0a3beb7a13374324729b053ac33059ad856f066799d46dc7911b552219ee189d7120269eece6b609bf4742d5681dffec38a1b0a3f9e31f721ced3d430177d2c481c5cd75d6e882ec88d42ab59b628875f1dab2393e9ca5aa1bd186f0e7e5f7fbca1e8f67f5135790dc3b912c9370e30748dafbb6cfda197b6622def66f84a8a79d807f847a7867849578702406f004639510bea8db3f9f02436fb13b96dc6b16cb69012422a7464f27b96a7425d006c4c954f9a285315de10f84a7146c4aef5906c8b48c547c1e694766412ea2436477f992e45f5046b04faf2c6719160a3c4fadc36cb6b6785de9d44fb02aa1ca770794932fa2ebccd5acdf4f3e8c99691a10a525a4b52ace4b71ad2366bfbcb9a4dd72af3172cbaa457dd2a627697a50eb9af17ffa6fc344f86318a2896e050f84e4db5fbeed7bf3953c3998463cd7afe25874271bf0037cc6be4f4c4ffe3f9ac39d2e32232fda1387674ad39dafeee02c75cf075fb0da8f6e72eec88b6ee6184a94d5253c0f3e5357d3a483bca6a595f594bdbdb0b89119d4948d5ef17d02678d7d82c11c83bb1207981bcaef0b283a1b113e2efbe16820851c9a2de3d88a39e1298232d3873107a14a7c7e19eb62268f85f9405d87b4cd85a5df027fb3b3ae2512c1810c261c56a45187dc392cef7bd1e9a77041c23f2e4415d3e5d11ea5831d1875d332d4e52168148050c25c11b68290cab2d2a3ba9cd58a9fe403c0566c3c51ec484272dd4631fc7a505e821353427ab308df0150220300415be117607e150cae1de82fb93ef0d8a863046b7f9f93ae0bd1dcd10e97448217c24ad3b25317fadc20e96a0e92d25e87f249e30ce3df74610146a222c97545c06ef47e15b433abdbf03b4bffb8abd5305b46cc3cb7c153bbc3b3349cbfcb6cc3f1e17ac8aea39f68d3631c9e12564d654985193f79c30acee258173a6d3dd56f64048aac29701ae3660424c760535c7da7943431f7ca0d0d17a1778e51a7e0fb059f11427e020a6b4554c8bd95c22663c9ca556f09583813402c561a3ab3cd6843cb71d2189466914a024be42cf721ebb30b31ca63bc712e24455870a664cedb5a74741d650940bc5adeca88048aede3faf9b871ae324065eb9cdede84c7b6356f9708f24d51d21f4eed6f25cb093a1a28a611143f80554663b98b012f34b9a140357343225fa5e997765cf53f203e86ea55ed4fbb00e1063d541ea1d6ef1d8cd8e912d731025840eb80f0e50b0a5b533871d6790d6448c0a7c7fd8e454483ed0b3aa931790f4a2bbd9ce6da506bc01f8c5404c2acb5cab5979d206bb2d51c5a590b381a3bd2d9e14b0afd6b490664ce5164552988a96d051b7dbce38ec8d0ee39212c3135eb8dba3bfd7848ca7460db61df1432e2c58bf4adef67dd8e31c1950402c7501bd36abad9680ceea97db91a3e7c2ce96557419482a88c3d0286ebead0cff186182b69a19b9896e11eb29143e9e1b8a94f6f174e7bf976030c1f659fc54ac06bbb230ca33bc176c25bf114d95a2267d3d3a0975f7d8097c73a412d3a1614b2d8df907464aacf76e3596b4db50d330766fb2f53b249d922ebcb582309072c125859ec5dbcfe6d06ca85a045906c867c07aa27554a900c1ef253ab7577ccba56dfdc058ee923cafacdb243e68eda9d482e9056f84ddf510f3882e5af9f8404a0df4ba69d4b41d142a393f1dbec9e73e6f3b6fcc4f0c59c122405d8ededee69502c64ee2ba0594dde2d5d151470893fbe7bf651a484425976b92fa19152e41e51af501c716efbacfeac8be1e9a21f378be76287ee5e9176ef7872cc34d566c67c6dc180918c2996b92081915e1a034f29dc1a0e2ec27b83e67bd46f416b9d78874da99615de9b16d8f8df94b4756829502ad0ed8ef36972d519da7ae9b41a9b19d732d76d81a2c7fabffdd517738bb674d4f8fce95225c6e87c87b1319eca554bea4f4268db22f087cff5b6e344b6e51f06acf78471db51158a0132a8da0fb157b08fc963e07cbdd6d5e8f6b7f4f2ec8d57c40c8cb63f28a6a1a4e346749cf8927a5bb8233fc3971566501b9ca78248d225d553788ce2592f99f1f74933d9a0899bf591618f533b3d93676eae047a5e31069fe39ad460c852741f60bd518d245f314e3c2a23ee0611d0dc40d618214c00b1d197e0a490e9c9849bb5243ac9e4845fa7a777cf7c7f0b5a8a9bc34a8323b615568fc5bc4ed3debacc6727dad2fc5b498c438728a042b20d4b27a64df3b959dad45c206a7cb1f2e8906f910524cd122c5fcb5842dca066de486d93ef41f1b77a651a551f824fc017fc951dd253eb22f802853efe9c804803862cb5090da4b9617362e06438bb57523172665100e9214ea669cb6fe31b7f5285645c5eaac9eedc15100f65c0dc23265ad21d7cde8f04560143eeada1a21d377d512f274e28219617a77b4683b9bd99f058022e1c46b2f0a3d685b0ec5e1ed05fa2758f88386b1bcaf89de572648df3e7bb144bfdc4892f526ff3abe1e29ff7461053fc5fca681207a338fe128e9943f601cc0a39a21d11204f75b94a96509968dbee698497f7542f2c0f94cf783dbd6f6a288d27145a46065a1ded549d851aff2198e90398d19db272c3cb3fafe0e7d5025961275adbc6c7f8153d58b25a3dfbcc62dd5b4ae0b24f71f3ebbd09fae55ffc0e45c15be12e5cfe41addf9d2d73d258debed241be7be6e13fb0d6af1b996ec1096c1878a2723f623c5f89c3b95f9955d74a37d23a3b0f28351fa94a6dca95926f2036e9c2dfaddc6e3d072bc7aed30b274553f7443b191fb31b11dbb652942be3611f4f8e8ff6b0e3e821e4cdb95e3cdce4d11a6eb769bd3a439dde2c2f06fd8f30ff153e9763ddcbfcfda76fd0ab84c2ddf4e1eb27998ae0611851c7b9664759e6839673d4519e3d50ca65c8331a727d5332bbb3a0c31ff399e5c974c602cc2855cf59bb5c8dad81cc5b3f47339df9a37ef0c87e25d7ecc9d08cfba35136442e0a686664d627b3f56958796439aefa2812933bc8c7f2b5f0c3dee3f699e100d959e086e2ba51f9fdfd7b07b18796606f09cc505e1c92e0e5b6381bbe4c112c43f35e5a8583ae388ef38f824c1e49c1ef75ce610365777276522b09592d5b2f8fe4e4683e0f96853ee6b6c1291c2b984560d608ffd83bceef18c4a3172a13a98b7864e3b528d0c632a2ab0336b52636cb6ac6cb9e9cdda3a799bc88b07f6251cfecc14871951229978179bd6daa5721ceefb943e339008dee7362ab985318afe8d5ec5c1dfda9215837705dd29a337bda21397c0f7f7953606c4912583080ff215953935deb911c7639f1c7b3f3e0bf0d5bd9c921561d1ba51e47ea9b59971f243d400a572d56a0ac7f2ea826062d29d54067d62fd090bfe7a732b5eb8a7df4fbb5d61586db86f0bb2fc45540556b19dbf5f2c45323aa87652b5f47b15820d832392d2ef1ae965c14fa77333eb99ba863332e40904d6c573fad4beb1ec8ec25d8daf614cabe127015675c231fcde49f2e854fe326abd12071cf3f7a4b4ec83a36e0bbb621feada966d89dcd506ef91196d9f62cdeb132c1cfea1b3c6f95b07e3037c75bfe8bbe3d6f41e5177248e0260b38e03bc9106bfa60ef9c2e31c49bffd1dcd90f5c2d8369d819eec4348631f4c95296deb42ce24e41f076d2a725ed72528f746855104bcb0a30f23ae23d20ca5fc0b1c0c77cffc770e5c93df832eb7514f5481feffec4cf0e3006184de1913291b6425bf3c63e3222435eca7aa24933d3b55d7e01cac6db3b954c6c9a372a43ac98944ab6548cc44813d2dd9ade740dc9244cc37dc25b48a3e6266e128e92a9e8d53d404d8a2f388c4d0f8899c0b94dd0df3b988d5847570f3d671ef508295c8e089d801ea21bd6c0a775460e3d8cbce0633cb30ccebc787a97c1f26e1ce9fb73349fb3e474aeefae4a255cf36a8efca02f0fafa8e0eee3f3ed9b78b3309d2d6a1bf8c4034fa845a19ac7e86ed199495359b72f54053d38370829fef41faef2cb812e974ca6869db0c93dc62e884fceaf8ee837ea01dddc8a8f149fc6a8b2e0338d533968e4ebd89b75a0cb7a5fac2fa0e16c3343c97931187b3b4c8e1133daec009ec3e65772260c64affca973b640ab5060cb4fdc983b105f14928740ed6ec95e7825a70e4191896394eedfe486aa9c77a29d355eb8802d0856b7c4b9f230a8eeed605e43f72fcbdf7192052861a552c2cf1d8533039a84f9fc77afdb9d2c88b38184d40d6d50ed9e7823da53763235b4c2669237c7857be5e71dd170a4e0ef341de66dda9ac79df8c4aa8aee3e00bc5644586a40e415e8fb86e69e4905739e3d7b9540c82739be25be458df9296479fca33d75bbb9b4fbf7a7d7e64fd90bef65e9f32f40b6e5e37db1e410782b19de579599e769d469ab6a4dc0d6a8e2a4842196fee2fd1203444e7e2fb4fb5eaebd6b84803febad33ec48a7db89670c6df982c52f16241c0a36420c0eda485921db74d8ba4ae091e1cb9d33f170cc1687bc544e2cd605ed72a05697e7fe7d0383745875365f970ba58e403ca806d2091378da9fe32c21c49cd60647a1978eadffe79e000e02da7030e0008801777f3e060b448d89a4678de9dc048531a83de01c3ccd77c9371005a3e8cfa82cde828f4b5fb89ce49006d80fb492cfc7301419d6285819a4ac369787ee81ae52bd4de2136ecfa6902a53218c4b37b51bd4e07c3ecfe92073fbe7d8771a17b3bf779773c322a20c40ec9e8e055b0974bdc91262c6bf0a3f32d9f36617623d6b61b563bb0da1417d1384af2a1c1b31929732a93f15166de9faf49a2045f20c754a9419c1ddcc1584a900c404166ded19e22160da71595f44d026594feaa2ffba2a4637ac1e20fb9a5197df7736cc5ca7131ab554f4634ae6e1e361985803a9252b9f2fe521553b75421539c28323e49637f949a19364b4d537785c2d80b8c95aeb8f71e3d4c579bcdd0d8fb33466569a305363b721d3181dfe1fb909eab000000000000000000000000000000000000000000000000000811172025292f3283010000" }, { "nonce": 353, @@ -16,8 +16,8 @@ "maxPriorityFeePerGas": 38850, "maxFeePerGas": 136295, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4702f91c43048201618297c283021467827f5194000000000000000000000000000000000000aaaa8403b08b3380c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f370a530f88574fe49fb0e8979548f0452e68e6bf6c7d397793b24b59f87613dbfd838397aeef62ed3afa2b6e6a0cf990b6c550a6226d279a60d2b71b2bf3835db14cac660a97b9da52cf76217522e26f4a4e982f3dcec44c2502b27bd70a4e9360f15e7c745de77d75c31c1deb6083ec1b06b108e9e7fe7f06335c5cbae7f39746cd3315a2bbaff3a89818dbf82925520672703cae50ca652b99c20abe216fda3dc7355fbe3290a8aab8ddea9e09f1db68087ade5954fe849e3452411cd8e7b7f5ed6328b69bf4a60ff70b33338c1d1adba6e1fd2ecb47c8e0fd2443124647370a4c384d1d1ffcaf81f7ce57e734528ccfb8370e295acc6f8bda855882ac1eb7ce600465804be853f22708a0d562d1a5aa1f9b116da4b878b9d31ae6a3600d380d234fd20ff9a25cf86c9809c3d9b01ca45b502f3f9257e995d02679b1adeccb7273d330133eaa12015081365f0cd42ba0dfbeb21b49a97d1bd7726113aabcf9b0aa12bf214d89d14f55328ed06d4961579ad3b92174fb9e026494ec7d9c4543fd0af5a68506428051deddb7952f9faadd21bf28cb4feaf7056f1324a9b30865f035ebd89ec201fc3a412733b580499acf751eb8c70bef8cd59e4568bbea85633ec21790d150a4112c38d8080b362233d2b34cd4ce910e83915e3820e3a67a63542ca37cf69681ccedb7d143a92101ff92a504689c40d4e16b78ed46c36602985243e8aa1d57e3bd2ab828ec97b47a5260d9b5312f89b2cc202cf0ca23838cb560faa92b5404f11abc5a9c62827ffd3b12ebb77e074b4628ad63ce6e313dda3936ac9c26f7eadec03a6b00052018a7ce5a8713ef2fb8a9c612e46f40d42c924327cedd0d633e06d9573ced43a99101293e55f432ad6c6013b976b56482f6eb5ab7bd601124dae1141c5c7463424d0ef4df329c58f476b157527e70e4707d93da48c83b4ae0cd14c4b6737b6d88351eecbff6b0bbb58b5f30a8f1cf1f27a8a08e16d565b3a7ff5f08e52a97e0d3729c9e5e50cc844d40c0f52a7c40222db1f55e37cd66c79698337098cd5062f99502ba5e84df0c231b613cf250c40ab32e531b31514955c2c1151ba7ea1b30e6a4c2d9f46ac751b2e2dcfea3a3b37c664cb5d6e18b5dd0c8ea262a80ad66d53ec14638f8b5cba4706f70801da0a143393e40a8ef49767af44d4923b299c44faebef35e0b262c44f62aed49744340ea122469e067c0768a3e62f5c28fbd2b5b1d5c2f08fa7a000c6033a5b1a875862c16b1629160d92b13c691c7f01db56ca9f521ad13e82aa7c2f278377f42b58e9d6035095b76bd9afb0301bdbdff88e8e49aaba6bdacc9affff75278e463c323ab9309bbc61f8080d9ecc9382fe2ac6a17e09208f973bf46c740f543fac2ac12ea0bc5f2dbec026497da357bbb046751baf0a7e4a6ce586b980cc9efefb1c87d97db6444c2cc9faafcb5d061a71da1b154582f3664d0f93d9afdc77725900dd89d29dd6ed4571e1cb131ad3be5ffde3224cee6ee862bab6d2e5b208a94f0957ddafc3ba531b1554b92dfb03c204a0bf200e1c719473a0a1535501fdcff817b03499c35f75251d88fc5f2c214cd55b99f3e3ebd4d130b3e9e653306dd0cc89f5c12d932aff7ccbb42b0321d591b30eadeeb41630537a26737fd68fe05b80832d9f9351b37894ceba26210c54d55c173980eaba7d15495b440a14597c6e80151614d75895b7040edff5365277d3b1eab1bc778c1d981f9d3bd3e398014d34395dab0c1a1d8ce96cb217545a7d5ea4f5ddf48a02351e4680250026c199d5a059dc499ce56179ea3c3b5d674d2f3c294d4327ac9d686bba578b0c921b1576b4bf6f921074f1b0a202a1d4d07eb5c5bfaa2d387ef43d53b17f2fe969aada5082268527394895f514cb5716dabbbbb685dd73bc3624e08339e7c6deff52b9b3b23ff494e08c9e4f9adb8f6491bb8954d78b8156182718d7540be10473724b7ecfb599259bff8ccd0a2b1e5e75ee3f0b2bbac0cc6d2426b69f1a75253bb666d2e64fdefff8066e39874a3e7f5c095a773055c6b69ee086d1591f9c779d7f451297bf79de7246f6bf001c30c7081193a97a6fb0e544712db22d16f7db8d0142f9b9ff4593bd1ed95e88ee455473dabfe97d0cc3cc8067426e4ba2e0421b64dcfc7705dec27579e4bee63156c1321f72ce132289bc088cdbdebbf6a60fb85face1ddae70fe378b0bd2d48e5213f222e3ef6d5eca5536fbdcf0836fde048a975408120f7b8916a0709598c35a127d67f594210a0c8a6c11924dacb12dd60c6f5c2cfce46d20a4d88d77f6dd04954c7f92f6d0e91fbaf5baa22ea8864d009323f14d4b223856c81ac63618e2302ae2304ef7aab1b055313c762b3313256faf39fef46695cd5ffcc9f1ce1759c6a8be5862c711d27b1b5e08af8764109f3e6f26c977249529b74214e2e2bc581ce8029ddb7366567fd5018a3bb2f08ca9698748a58a97b89d405bb32011e083c4eba7d697e721a65504cdc2b85cdfe7262402687cb87ef65f926b35cb326a42bfab6ca0cdf5eae762eca5937197fe342e14b8dada1a0caade5bed7c6379482444adf0e330b1b87b600e75c2f00acd7c501bf4192f1efbefe6bfb7e29949af12e018afed825362fcdc9230bc321057e5348820dcda30e6cddff37b9a74feb6795ac36d86781fb3b537674992990b48be990f5b3a07392f34dbfdc8a807a63e83838444c5a671b810e582f619dc29d5b3d247735eeffd259721407b35994e6d96fbcd09fa754b1fb549a5b0eb1ec17c7d77e6b6a571a8ebd0997a8ffcd8383f70ab55c353992a3bd0f627722009aa338187f8f0f7c781c7d21d0175b0bec018e327074e2e0297d30627b2b081d0b75bd607247401f33200a820f214454c1218ad13a8d9fe1b23baa6e3edc9cb6ecc4ee5ccbd8038695ae6a8307597445951dcab7d9d3bc0843c85efbf15298873d956e0c2fb4b57ba53c4abfbf577f8c68d0cd133963dd4f8a70151e0afa9e8f7693eb8ae51837f63598ca221c29084441f7f85a6de073f05428cb9902f5f825660dfd3df94716e488db0de0d479e65344b3875c8c8524954d10afab391fb0cb65eb804fec6e9eef3a11f5a57e5eb77a3ccfc5087c818e1746bdbd302f44e6f9c704d501d95470013c3ead5b261e6623d9afd0a1af160c64c44d1ef5541c08a735807550ae8afff6cead6b27fc7dd4023721b04cd40bd617e89fb5644e4c0d56c24aa2bb888d8715500e4b800916e55c557d5c4e3a491da960e261c990ec4ebf1ff6b93c446c2e0f37d32da0a08a02888852bb53f8d31a2d47b260b60a2c3aa4ffcc31a067172bce3b9675be9d68c23b7300de8886ad593afd725540298c663100bef50fb21b71ffb993720f4b9ec28788ee70bb9d859710104ba899396df4a8521873bf3f16b53f251715c6a43e8381162537cd8271e3e0c9ab8005ceb8b8aa50d53de6fe7fc67bb80dbf1f1a550f4637725f52d8687fc1a85c7ca87e6eacaaa834df14ab2e0e3d4859329584fc03cf170567c93f05079b361eebfe862362c97ef1052f421c03768f9980e77a2124f1c7e1e85c38d879d9c9db518a25bb58612ddece1a87735b1e966652d4c4291b1eb520651f7eba36d9551cb7a4976dfb2d85c3f36f0e85d7e7074ecc48f793d7305d28b15c7e05b446723266d81d07a4e501c01f64d6413c1d90be95e87b185c80df9ad95e4bb0519eec9ed642e3eca067486289d673f0dbc48ea98640c7e0d9879766275f0f50e7db309ce56730edef2c2e8c3510a21068610e4be437bbcfd0bf62725330885f76344f85f6be07636ae7f463cbc99e7900520548df8727bae92167d5140eeaed329e411e2f1f18cbf52797909613b2141ae7bc8351f94efbc776fe58324b6088ae8277ca146c8d77768973b5acdf3184baa8795b4d7e0569c78bf965b4d4f45de00abbbeafeab5316be9c9f40bfd5779eb2c2545984d688096980c27bd64c9ec6e8d94b3039fab343c60badbba7746f4b497a17edd964bd61f3ae4d63d3f37b2c0af9889f3b2517531d529c80b9c9df37c8df110e651d1f0b587f26fb81690fbbe74b322638d843e71c818eee1eb6fa735cc75017d4dcefe00f73f91ebeb3d4f66988dab16cabc9524ae7c779580e20a8612f4e8eb585c5dfab9345cffdbfb51af32133a187cfd2f3c2655610ffc059f6e0c799cf7bf73dd5990367c8197b0fc0d6b881807dd0a1867f2960f2f6b600a05d3fa324352a406350e70bd9872bcb363df9f03245c2f58af28554e2684bb201c62110a7728f2e7a944619c66cf953e39a8826cfb37ee9565a3ae0b23247a0c8671797b9c795f255bcb9a2bf291e938e23c712907da77e8cae545685f0dacb140b8574a2528572f3cf980a7a2234f856915d281f750fbac09cd13bc2dea19a89b7f8ad6df039d04b8e8ec431eacd28abbb5a424daebc59324b174bed3f4161b69563366e43c867ac4415a3fa3790869aa2fa2a08d4b31db5270694fd1ecc4d3383ab46ea584ed98f8d6a85c4f993bd2735e92bf62ff00f83337adb9d03ee877298810db9a7dedf94d5bd39c01598ee03ac3a8993bd2ec51ea2c3f406b498d6fc05ea1eea6a6d35084f6238ab5005059f51ea0a8fb269b918b40a826c12cdbb0fc61895b33f2a1d27ddf12eb3be160879dffd38f3509c6ed5ac1ce1a7c7871b5077bb660f550fd70eaa4c6bc0f402551d811cde76f35a739b3aad6e81fecf817aa07ffb52a36faccc9b95ceac1f2c483a16267d0182a7b711e88a192c8f98c163d2f629fa2fb2f1edaf9635a6414d3a6f1c606b702c8656c4411189864b18029ac0862d1a95e0cfbff8927d58a20839830aaa97d29d3008a1128ccb91ba458ddd26538f9f6cb7f192136591c5dd6e85ec1a876e8582a362dd69e786a934869327f51c4279f5c670dbf85256073b8d3499fbd69e3ef16db5fa1c5fcc325198b1985af028bb6f4501c6fa7198baa634df26cc639ba46c3d908ab547dd98676a6f968fbfc3522aa1e5700a1616cd73a2644fa33767aab9d2d76ab6a794d81dfba6781c5043433a72624a8ae67d82faabd5fd0c309c5b4054de592eebd73e63cc9dfe888eff396e59e6b3b9e82c9b891b10b6d11f7ab56a79ce69cf567e6d60495523e00d93597ce02e7929cdc993ea7a3fb64a9e1a96022c7ed17be36f21e186c314fe489526b1fe462252fad8c0d5b95c1aed3673bf4db8c5fedf4a682f7d374bbbf145b4f8523809de99072ebf184208a759bc9b944fb670056a76e625395f04b324782ff353f0bc7beae46a6778626825d2289fc591626b06877666e8626f4d7073fdd2eb26718b637e90441672fba959ed52589dfe01b04045b96448657ec18f35f10790e90ba67d0a865992ab29838d6482a5f9ac10ee39637679ad6de429b5629071878a2b13b9b045dff60b4e4148873fc579819b0695a99f0f429899eda984775e0e57bca7c5f5e4b7e42cb48f71db9cf6326bca50ac63c962eca24141e3c02d8fa38afec2efd5124a74090cdaf35970c02f57469c1d54fbc114a5efb06bb625daf7942fb774d698f6bae2d84c27c054c02dd39baaa3c9e6491ea3b08c89b30b0652ef0c09e41ee28f5504eb79ee8f9996eff6055577af7cdcce6f34d44ffa503022eb22811fbfbdfa696ffe4660c25c682decaf7715c113377599d830bc0df5290beefb90fea66c24e236c29f458416bcf8e1a09d7b1b49e700299394bb76873a19da78109102544c8cbf7fb469673f154939be8a4daa0f17ac791137d11637ad062bb1ae2a8ac50e01cd280db9d981a918f9517c20faafd4577dc9e5c7355ebe233661fc33dba7f288b48b63463ba9a6d4e78fd6a320d5303911bfd41c1e6581913101abc7f7f3c3f3ffef830799a59c6cbf3defa293b55cd80ec23feed26c91bc4836c717227ce2017850c0f313fce8b6a975902f86667c3f3455788ee96e90afb1676ac62b639a34af33b7b4e81367fdeab5d107a62aebb7dfd280567fca1a3916525172f648849b3a84fa8bf90f3f98db25edb580b0ccf89bca26f9dd5e186401dd8aa02f6869c698f416dc9b3df61efd46c90994e73cd5a239f2dd1885d7454aa1133a10c073ab9664e1d6a874efa4282df95844884779c74129fdef27f9e05dfdaab9c3d557244d06da082600392f69aa2eaacbb26f15b08f03bd4cb1eb4e3b7342d3f97eaab2ea69c4678cb95514186033fbfe3c4a7b49c4ed4bf926da3ede05d0070c0eafbb3cec83ad50023fef39ca0a4b2962a46dddbb0d48eee4d7273116d9b766a6fd53a19ea1db61b8374de6e9ab71d43e4416ecd5ee639f6347278605921e4a4e3a51961b563af32c2d8d7f4335944fc33f611fe992697d8f7492e0c5ec0a825bf314182d353ab2ebfc153597c7d5013d575b78a1d1f4052780ae0839a9cc1c4f1a354b87a5b6b8bc060d0f84a9c3dd000000000000000000000000000000000000000000000000000000000000070c14181c1e262d" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6b02f91c67048201618297c283021467827f5194000000000000000000000000000000000000aaaa8403b08b3380c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213a47d7c03f2efeed963ff6dba03d083ffa1c57ea1e49fa9309ce64f35508e367c2549a818b848793076242a5fe3aff7af8b2b8d236800951241ae6f56f72a0fd762b2128fb1218b1dd80e03651f6b8feb916d312d78d29a10bfc339d9088778c1e84f126ea1cb5d9f4dcce520e72f2dca3836bdc49220c8a533a45c77d5422a55aa75a28b189c4012df026a57d4127db9424e3f7c0a04015aa4a1722da667eba7970fe542ad7cbed8371498e666aef94de15862cd5e3255f588fda97fb7eac2ee6f0fc9fae4aaa924dd64f05397956704bfe349476bbeca69ef40e8888852e47dc48d69850139eeace6f338895b459ac1fdb7c28ba98f8cc367141292e0fa63aa66cbb3a2a2d28e2c52c85302fc281985c647c9014ade726077c01c1d70305cfcfdc994b57ea0b3b6a5c5858bbe993bce7fc884aa80c55855ca75b34cc3c864874f8cfc30c7b649186f8a5ae6e9891a7038b051743644c708c36fe151749fb8d2f7126486234c8a06e4f233d94bf760d805ef3a597c803bfcad13b91f9186a765f2af5a3fe7049259e660218826b66cc59c8a58063ef7cbad34e29dc7c65d5cf06a8c946ae410926df4d70ec9fe8665ddd17c5ac03dae76e16705fce05a3284770c39d42554b5cf286570e255612abc684c2270bfc2adf445695c0367e11180d61c3ec924fc25648549aa7d9d1b9af28b8b15b018035f0eac5cd4ad1163d99d77e6a59d443821c45a91900b260e14f6626bcf3cd1886da8a34c54403a937ab0a77a5e720542c72476fd337a266fdb1b08f3a3bd0f21a245cf059b8edb918b8e32b63b0a569106fe5e4ea94c15fa17f0c0688bf19053ef0a39b6cdca54e8663b7ef11663f533171d771751b9057630991cb21dca773314153ceadc7fbe52e9e50762bd37c088f898904d1581faa35ccf3bbdcfe166e0c23d7a3780bdfa49b888832dd253dc3f0b9ab221e30b739dc656f4e93c40447fe3f1899baa30086d4c2e088ce7d82846a782c7921de736ec2374bef360f213b665e725dab2512c62c047e358a5d2b63014b81bf6d5b8a6e6ced71b613dc5c6dfbd7341ccfb61b38cfed804e0cf3f2e1f6b9184f95992134713ddb24f06184fcecd73d684a7ddd18c8cea66458b681013abd130323b5b16ca9212d5fadceb914eef09e875b36af192550d54ad7e931acb7aa35343e45d8522bd830179d217e0d96cc38c619c213df63741eaf8ade73570daadcb34718bb37f1f54f4f34aab1771e51b6a458e97d7d7b40509e9cefd21440d93082013c5c41b5309075f875144a0814b052004a24c5adbdd0b1ab96e74e1e096e13502c71055b6d11a1aa9554ec22cb8e658fe05a4b88a489ab9cdeb312148ee123b5b1a1562981b330e8752b762abb653949d36bd77a680c008bbe84b1a981709a36df268638e4e0f03a214f1ce417868e5be79d455c425cba41c086a0822e1c2ec9023b5065cf46aa229f68d18175ffb411cad2b724b86c17e3f70f77af7cf5820994f76a82187185003b5749742a718e4c497949bf4b8d8819e53bdd90b8eddd4c147b56754ee973d438b2e31dc9e99fa4629ffa6d75ece2052514c4221d24749a69202909543d70f74927a5944d52d0558318b824093a33dd45bb2104a09ad99dcdce699f37007e265e630eccab0b6b53260c7af2f85e0e0ee6329a31f80277a921f88f8fb6ca1c747a9d7a5466eff892ade69a419446534c1bf984757c909d870e7d5067734de485c5b1c0287211462528c49c1bee64a10eb374c7a429f223794d7e977ff872be79d2fbbb39f83c431ca8d15a183bd85369191abe19ec70901696fda3a7ef397ea9f821fd45047edf023a8de62463acbdda56afbbf0d05e15a55b9d701f5013185e1bfe7ff01088573f51347513179a816b8fc82f439b04ac7d1f09131cf27170122e7176e08deddcece1b0cfca8f104b240867887500996a8442f18c0e1a12b2ec9285b171097e8c17c992ee4ad8d460c83f00d7489f16da2b0f418b60443e08b675c5f8d2fc51447416ff87284335b8d336ce4726e92973b0cba9e7d3892fffd3f79016bd1d1c543c8f6ce4344853b33b2cb573c1a2664cf1f12b7a75d5d037df86d46d1f43734f715eaa8f06c9cff87d217c445185a3c1c98a4568544f86452f43e89515fef4a9fb91789049bc91ee4d182c95a2d443def275e74838ade05eb6243415cda64616ca02d2e78798331fa32e0526ae14ac7f826be85c70053709fa38cc0c7f9fdcf6f9ecbaf01229a58b54fde278b2bf651802cc7ff1ced0418e4731ce9afaea2716dbe6225160423efa3c98dbae10a646c122a347efed1a566508b52536b1a9b2e8bd7d19d3c9a4c60f67c5b2cf4124fc4bc91298885f80ec2d02cd9af35a961be252e2f2c1ce21188472f9cafbe1668a7810ab5617d8662769a48908e7e94652fdfcfcff0bbccfbdaa4ea71656f1490f32f763771f7a5ae3d638ef07221edba477c1ebd3cd75b7316554e9b5a2aa50ec0471f0ef3929f1193aeae30d84a39a8243b42f902d5d1f03252554752663c48286b32be679efbbf8f4fa7e71cfe7e253b6e9de9ae33ca3071a193f3203c03add9a12f7355fddc6d5abdbdb3cd85384835712a0f0a7d19e6be86ae6760139821cecac1592470ab52438257f890e1b6155c35733b3be233483ff6cbd8f27e555308b0afac3ba25beb1960c7e138b5fdaa0d766d766692fad47d932227ba4780730f85096cfdac0565a53079495ae5d2bc1f1e1410088aa691c556130f6c999594a19880f5b29d0e7dedcda86c4137f79a35da62b90db06f96fc25af8a204104d35ca35659e29bd552d58ecc4e1bb60e717807656eb42b5711420fb5e5e3e6e33f83748d94a7d2b72fb325750ef6c5322e7605ab3bca4496b45340f732abed7e1836f2a9b157e9a841ce2938e4d74748d342858b1d75e23260338bd16780255ed3bfb3d2bba97df985935c679609ffd57fce0eb780361bbab9fa60cc2f49748c0755efde1d6e57e3722cb33c65f14a927d5e39ca0d053486a2159a81bfb68ec4225382dd1d84188058b07d57573327fc186a1d9b7addd6103ed8ff8f33158f3924160fd4d50c285a5682e36f1bbe11ca728dac54ae5912a9241667b62e461392ce89766c7ee5c5b0337815843e18dae325c5b73c3ab221a86244c6646ac9263bb763d4d4cd55d53cb1b4a66f922e63c97e5b456651ae6938ee4b5ff58c6a53c8827b2c359862b58de51202bdaefc6ab5bd6336bab4e42813dbb5946c2b22823d993ac5df0bd8c390d600dbf4e88b8949ff23b0876c1dc0658ff563407675705ea3f9e88f121fa6da084ff0d838dcc491f0ca3226c8ce83292302894fcdbedcb4254bba739941de3f737c7166694ab7cebd97701d4b0be89c7fd6fa5e9bddfaf64ff2c5fc02fc03fba6b7afdc73a9398e2e3faa0cfc6e2198ab10d283f7d50c9ab48a30c333a6cec99f8ef8d8053a839e7809e2e17c919b63901a8900da4370f81ad7546745325c656b5b18c405180a740ac4ec4f5407ab1672346dc5b74a6e5f41ec899487cd37a3fb02148c28cbf2d58a6c56aef941ddf833593c9ddb1fcdf43923600168f9abfc78060e5ef9eaaf4a0e2431d6bc9098c54d83d0dc5e3d0358e0fc8bb2b95b391652394ca30ae98e50c32b9a571f18e0a8a2e4cc79621b5e68554685af58443cbde7992ded54ce6eeff2e1fbdd6721dd586ba6e86c2f2cc133f42456f3290b432274fcaa1356c443be0debcfbaea4ecb3879ff16cec18110c522f07d243488160e57594e2f868fb4230d48fe8fedb2d24b6338e1622a5af34495af556be933705cadcb40a4964b39ce611db9703e80102959924301faf44c3061cb44192ed07939c592f8e3d8bc12398f5b10fdd522b5eb28780fed52b4d233d9612d0262adbf634b6241a05c6deea97b5fae3145b58387119a8bcb7c10c72cafe284d51021bac894e7336282262af2c222f6a2648fb1f9180ec988f2a838b1f785e4f47dbe002c006bdf8e79fee24f96880339f2215b325056e281b58de41bafba1df364021954800efd5f3dbefa4755f0b09aa921069301933f990cc6707010c6516f18bee9e9a4453489e03e13c5afeec78cd4f247e85d4c7e423830b0f29db5a99f44d98b376a124de9ea20c18d46889ced641290bb5d6a6ca5cfa21084770118ccda9f89d3b4ac8da328f7432c4d033b10514b31697d9540a6aee40f63b1cf9d86bef94fb64641d6479a0cac7f88be4b654ff560cbae278c946f22992efc561a438b54bf1923c446f41b877de1c32c459e19182bc049ecbea7356293515cc31767a57cb734cb6670dfc6b0c04c41ab8c4de28dc9a245946d5ed52935fef2119100c9b4277ade529ba6eaab2dfc74905ea832b801f801e2534eeeae34d68b61d4a2131ef9da13e24c8d6b0c5dfd2b262955fbc607f3fe9476a7a6ea9ac2ced2047c99280d732ba0531b15b21c8e09b21b997c315022d9462fff5e26564ebd2156e3568126012fd0902c3d7dd96a2243ad82e697dd7ba69808ffe73924adf346adc5aca3fd86e0068aa3b29ac86f0d2385e8d88639db3eb163da909124048029f255e4d433bda0f3d458fe63b2349510a62a2e480e279aa47cb52aebc15d7b6e8e8743468402d738d29fb722ef8082f10502601ef8dc2e7f843394dbbb96e15c19c7ba61eda61fd4b6e5db059d8fd8695e051580b5f36921db61a8b8d2bbe285964ba097afb2146d09e0064d179a4d7f952510e0189ed9ad51c5dfa0424a5619a3316d9c082df0dc04d59e8342566e86294f12e5a4b4e02ecbce669ac69285c1bfe1d39d59488b2e1bdefb5c38fdc5458dd03877c6b225cb22c94e0f7e45a3546b78747e7cca453b925012f5e70071e803b532b9d0cb7eea52a6223c1f556dbe53c0568bf95d7b8ee5f6bc301f4b4d95f2657c0c12e7db84987ac4540e72d87a447556227bc3f9501e4b0e15748f0d07853bbfd1f44e6f496cf0857054c069b36cae4bec54399ce0bc5fb637a2218fe3f72dc273a1cbd2a53dbef9269e3e3c63b50ec92e5ce43445d232ebb78abed4e258d07d228f3b24b50d71fbc8e8192847ce707862e0d8f6017c4b280ded16259001817fddd71e35ae8ea7267737b4daca506c11c14d17367783aed3f3f03eca3a419a64c9a3424d3a9f436969549175d88e43f4602c87cd0c182388b91b065897775fde6a343002b3d600f02bb745da8ca736fcdb4989f428859663476aed506d4b025fc77d5aaf6e906694c0a99715a79fddfc52f15029557ab554eb411eae956e8335796a000c55be31804cfa5b7a787ddad61e9546a8f4204b317baa6d330eb1702829a3ff2e3ef9bb108241396963110dcd2d2888abf2aa64f0945d6ae16aa77f0fe7a94e41de584e430c86ccb8584371ba844851c7df120caf485d80ec1b4c5f06b081d66b05bdf58fb51de20d410cb2ff54045bf5874c89965955ddf994ac4d348c00fa6edc95db8ee7c6a1fa3e37cb8da0c524f0784017b59d66e78ffff9d2630c62f42eb21e8963966f154aaee8bcb6401e95f278a371abe918152e2e9b4be4dddb1cdfc98402c8978d5c79cdd4308a667a9964f5fdadd995b4bcbc18567aa137ce271493531a5eb710f2cf103a2eeaf9b9f863a20ed41bdb4bda42d2b85dfe6ae06e77e1d0cd2597ef185f9185c9e88b9c14bf8a220320119aa8fb7e8e663675d5582d2e5fbe4ed9861b7d24e1a3cea68e5231c9ec0b8c83a2d181c24ce7af7fe308c8cd203fb31a5d873e0fb2a4ec1dc5a118626d041d1a31410bd1a8c71eec7cdf8d72c02e68f63774a170d97984e9ef065a513db9e8c8826dfbebb48c734ffedeff685eb6392ea14bbd49629f103d26aba72c88a36775fcb5410aafc66f03c4f2a197ab963c2474950ee932bfe65ef4a6fea53ec42d3242a2a3157f5279f4c2332c785b88d431b93e17ce35e05f9fc310ce0fe9e80634211cf77da8d5d21f394f4d185e6b4c52441d32e10f935263b0118ffa428c04826438ecc20a0fdce7a2028d46f73579cb195a91f02b2aaaf096db0cc70fa2a1c66ce03b5c1e8b71d2fcbecf9bee5531b29ef710cf021e86545f1e71aa34cbe549bcc12bd522fbb8bb62f7a1aa4182d325bbe44c630702de8ffd8e900a5770bcb9c392c13d10e7eb1e756e193174ff37dac393b0c2b6c8f3d80c4a997032d47a698066cf999c92756c0d627916d97fc1e29b4ba0bfd14a46faf4d16577c8cea27b99527ab53a1d3fc91e278e4d3031902b94339dcdf8bbc948f579fadf3d35b56e4958b86920ace6e1903e51cdae821a37addd14044d567c49735b4dda39cb57c76cdb91d9b66f105648885496b083c9d4cfe9b347fd32bd00bfbbb451b79e9267d5b043ad3203de31c8e9fe3d2961289192af42c0d2b2c557e5b932aeeb499f5bac0e82cb9b1f7729304844950a3c789dbaf0ea1854619eb70c3c668a90d8de799cc209102a6a7f23262a375c6398a2d4ef1b287a8bd7f7000000000000000000000000000000000000000000000000000000000000000006070c13161b252b83010000" }, { "nonce": 985, @@ -26,8 +26,8 @@ "maxPriorityFeePerGas": 66377, "maxFeePerGas": 136097, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4902f91c45048203d983010349830213a183010bbd94000000000000000000000000000000000000aaaa8401f0657180c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f36f55262c289abd3df22a8cc8b1bf8b672475f799d01b6c250932279aeac0eac23acf86194fe5503895dcca80a43c0dbd174414b241b85983f9831b11490bde3a06b4eef1d7e1fba68ae12261330ec0c40fb6f124fd9d754f09bff1181aa0019a5abf7638cb6342513fd5f74d109fa828b1ea663f1472226e4bac8d5bc349547db8ed027d02ec030d53b5c1470dd3c94d3012d8e0abccd8cf916193624d7655691e150ba27ab7894ecb67f58cab7cfd4798ece2fa2f202ba5f55e04e7bf819c9fda95ef25a910247add60d3f371370a9016e972941e1c0352b8fc0c37386b15b3587f104e2de1289d637e883c2fa1be6dba5ea48a31c8c9cbd0627e622458c8eb4a39e9b88a2b0a97a8ac57c2a89e30c440dfe9bfd30e81518ffa5dd4fdb09490379d46c46f9d0dfa324b892988a5ad25f256e5b7e1a49efc02e34a4b16d69c0e796c8552efa2b4e70e9a9aa0dca66f2a635696dc281d7d388c2b361e321aebf175052b425d2928e955a777b40ca602db96e894c2a8c32b10c421f3ca35b7c6cf66502b9df8253b26fdf51d13d56aef552aef954ff8a843581d0b3be8f2ee9ddc2336921c18fdbe205b7d59caea4612194fee2aa4b915ae1a19001f038c434f4fe3965ed9b6d4f32f143cb477d252035d6cc768bc204f2e07a16089ea603ebc2a568e89de9c574e89e222a8f7a718d4209382f9824ccdb872f891560edb7e8e1abd71213a5c589a69e42fe9e234e6a5a0600686efc3a916d57c75a5bf932e9f19c26e2256d4dcaee036ab885fec9e03b99fdeb6b63fa91cc29e1bb8ba47c9bd85bf553d1a5767816983436ef2e0e763b79c16103e8133770048001c9d5ce581605aa12e9759769cb6522cfe270cdb9a3894d893d5ce5b02f10d2743c2852d70678ae5837b62dd0b4f3a7c1b16510782f195e46767a13f666d60049711bb80fba407c950baeacbb25697a53f3583b6dd43bee58e9cc542ca2afce49fabee99e4d6fcaf0034b26053e03fed78ae1e6113cbb5257300b3a5ff0597765e03ab6fc96961b18bcc44530673e998d257a401a45033da6b5861cf06f16785f4b855b2e663bbfcff752dac281421d1bd80ce597fd7bde69363983177430509497d73b2ef06d7dc25f7ecf50db9f8984883508a46027abaebd2b8025174cab0408cd24afcc59ec160ac22224e70c391b075d119a9b309b0f43b195fd14e9bfeac44310eb80fab2b8854c73584a55a093c1e68a17a018a9dc3723f3bb331ed2fed124f90087b743cd42e50ca5d41710b414ee6e7c79fea2740449f117b7123c25ac5db5ffbfa8fb88c5680a21aa739172b2c030ec55be796ae2176b74dcf0df41dcb8c510b336f88b1ffcdd9c5edf4a9280bcc047864d750457aff3eb80cf252d5822a34ea20ad1570fbe86e5a1c7c03c120d503cc62784fc15dc21dba0e4c8e13f1b8ba3f3a486459a69950e72439323aefb84854050beffb46f2909768d9e420cf8f3d10a09f2e47dda14be1c749daa584b114452ead0882382e8d3f42aa34f76dd079e768d630ee6ae77a1da4b3374184e2a264be3c2b8f040cd9547d867042b10ade19d6c157b859b2eec005a5828cc3929a2b4c8e2ab881822bbc5e92a629975a82022a3508c0b3e30134380c810fa2ee58c7afe5047c26e3f48f2620bf88844d3696e926f4a889c91f95ba523533e0d4e2b8725e06df80837473403a56da3861f9d2a83d5934776e5e6fadcf86ca3822f09feee60277df90e575b28cbcfc6faeaa053500812b64267435a45e500fc6577c65d5fc60dbe9f67a4c5ed5f4e9afb401ef9a579d63c6f3a8005f7483a0a49885b5fb2e3243b3b5492b7050eeb661e55d9b73cfb4be6ea5b912037e60e0ee647922fc6a4cd779be6bf311531045ac29eceef4f1f0da2ad1a3df1d4dd1bd11614b9d36407ba6585a79b2e6a9ecc2cabc49d50cde3ae5469088e8ed4c18a3c80451cd98d65457a2e75d27ed24936934dd0162516dcdd83099700083184c80850625f28cd934f7665ad1d2b5d3f7cf783aa30297056f74182d06e6cba83095a13ca31e1e39934fe0b78d68ef7b29480b304541fddfdb805700cf688831a05b9c725c0641cbe898f219b0ad985083df109065c92576a4db0863f526b830a1b637fad9ccb5a281153f5c6cd79ce924f7d60ddd8b24bd3b5d8033a27d4c0244ae0f51820133318d1f20c74d4cf6e3706b707effdca86ae3f5c9e16bb4a7f974bc8d1016ccd28591dbaaed1ce4ca72c7328f5cd3c76770ff68bd52e83af101b337ebb9986d809a5d096d94bfa74b5f5f1f75222656baf814612f9f3a10b5842e64dd93d7c23b9e587dbb02911a17309e00f505446067c20d7e6520e0b195032d366ccda99bd186721acd33c0e9e744c162005b512837330af1a4b167b0a97e3d18253c55f99b5d68ed0295fc8b3027d361bcc0653baa4c2aa206fc51793038e484c2c06d5ac18196c7a5f537402bef5793418ecf202fdc2ff603d5484f9507d900d9733c209787ce65d359f5c9ce882cb51f23a412c16556b3a6a9704c132158180eb93e9a6d339b99ad9fc73dedcf695aa1c07401d7b29862b258bb7df8bc7901f6bebd327ab23a972a14a94635e2f95d3cd082755c5619f5b86ba409054c32405346a119eeca838c8903c4562732cf6457320ac7155d025cf9f5d31f1d8a7810cf2958c2f6d837e69b368b38d002584bfe7ef78dd5ddadcb883aabffc697b18a2aee90c680ca1549cbbced7cba3bae03c3593f3eef95af2dbe4bd879a36d5832aad0ea8424d42353e73955d26bbd0887d1eacb17ba85af57f1c13d3bbda9a8a072d2fd8da93101e76f67ca154ffa80715e1f2151352ef1dc0b77f4ac6a257382efbe46399a098ea40cecdd21f11ceaee3baca7955b6109df0733658d01a9244b7b6ce39542ed2fc6fb274f8b29df13903b10be91983f6daee286d855cc75ab5e06c0c2ea71be56beca6b99026cf748cfe57562095a1e4545e52e6a55bf176e6b5f149179695edcb36219a4a7748872e0f9aeb096691925b5319c030bb757fcd00143b3346ad6180d62ab0385049975afcb284f71793dcec75bd438bea5ad107ca0162a7d116f7299cdbbf330d5f79608c7206e87a181d0af3ec47163e38a21617ebb850398c8a6beecdbd47b35718a8ac9207b660c4488569e3c5368b63a160c16fc1caa7c8474815305c8718bc73eb9f0aaa3a137dbd1e79fe29eaccb3505cc6f9736c640ce52f4b65d8d82c6562774e9ae53522ef98637c8f6febdccef6cf63d9a626d3e2502716af35696b48ef997298a5722ef7779ba97b377be34a2030e16cee6bd36bc18d0dff876121d4d25897d4735f4e5d5d956a65f6bd4e2089d4665d82de0498a8f0eb7421b81832017e827c1a48a8c49bd0cf5e1d296f1be4976a4b4bac101022fab2c0b023bdd9896254e4ce67d8f9854a432e7332001d87c585b634d98268046bf9ffa9b897086cb792d7e4d569b6fdb5d900671fe66d0036743f424537a325e63e2756f178cfa13500d60a57787702341e9b18c6c1bfbd9eff186e6aff13734527829fb933b5ef724ef8348064d08e30cc1627e41367877ad88693c1f90edbc0b771a6b8d6da57e812f9db7f63ea5d440f21c3b953fd16142a0cc50bd664e220dce1378dd2cbaa3f5a55745ea0ad63b65195058f7093729ab5a64b95cb046c119675bdb337b080eae6a54146087adb08a5ea4a62b02d6f95d0c64de0be8a2524c278b6238554f81a8daf334abeb31e039da921c0ab3518bf384997a123d558d8c540b66a2159f1fdc54ccb5081497b078009fcfd7304f67c09d414fe68e1b7797fd3e810ec6cc62f8958b65dfb344313f1a6fda6769bba16e450be277eedf9cb716c5f0e2afa05dc0bbc2583e71f7e07767b77f2170ae236794ca801ea9f4ae7b62463696e0f09c60b2d6bc2e18e513610e2e11bced82408e4b188567751aef2c6bed97eaa42b4f7421cb13ad9d6717de614c7b5d5ec52fece40b706ad6cc2b8a12cf464b08524170274bce3444ec400e5481accffe77d57d28c7290b071e873332a8f649067a19e6546b26ae91a786a368cbb1aa3617f2760c893eb753222f6b5bc4c15b06f7d0e35c7304c5582b9e2980534d04c681efabf641aeb979b42f7aa980ae021f393035da5f71d127dec1c5cf59999dfdc1100a52b0f36e680bbc13e84247c0661163f876eec050ca78bb9f9a931dec8ccf17562c4f31e9e2bdf055e77f80885c896f69b15855748e77c8a0d1b326fc063fb3894cf8387b1b7304b53fec5620c34180d0aeff6f50a2e87de49c8de44867a7eb903219ef99bc0692bf8ce073cd9af7154463442ba87353da22481271169eaacbf091fc4a2a8ee5ec6abbd2051898bf2603ca621daee683443a0d17a68b91b8ae889bc303231c24c0e182297370583ae12835a335d5a4a5621bc9b49651768c19e029373737e77219cbc5a195fe4a054df5af506a87e1f2c8b6963389c7e0b399efb22bbc21ab59fe60d46cc71fb557a7be33f7466ef74305015c67979d1e27876ea054b5f58f10dc6e1b954e5f1c376da7b8dc0a21d77a56f5f3b898783de66eb1ba68f2e81d84c0095050f39b80a090824766ba1fffbd717a6f3b316a6d5d4ef3e3855a130198a8f6aec3aa059aff46911ffb9affea7851f3d89afb6f131d7931835fa02bac26ec37b37b2b8489f43acafe45cb779e570d544b4e8e9e1e9c5da6df7e87e9262b58ffdf85ede26f28487f26779d07cf9dad2e982103a430db7ae975e66c9a08298df4be05ebc536fda0cd40462131f6a94792d81d534450ddfcd6b2555af103510c3d0d01c03b66796c89a051a7c59ace1a22ef2032d891600184d927b37935d48cec718600e8fbdd15fd0bf743add5f6501f3a1a64bdf364755a4189f1aa3c882b5d17446d1b69ab356024dd6392126deb9737bb6443a6dc5f2688ce49db7de7ee4c91cb1831f69c0678b60f8dc7aa0c610f51694b81de166ac6c09a69dcec1def48f5c9652f327f308a8093776e21917fef6387924d5442192ce25be27628429aab7c5ccf8f2bad9974537448c00792d9f5fc708957bb93cadd541971badf141191e58eca1c4982119b1c6b1fb84b76f050d05147b99f600bdff6730d3ede65eb9f2f3dc5122f624427f2cc0e228df17d80c06ad1ee1913d5a408c6ac3b37808d70d697d6728e60aab51efe8de7bb60a6444fec52be8c20c030a670da0635d7c42cfa2c4bc8e791925662c457a83fb1238f83555e9709e21cba529cd309fade5a4561d92d0d01f271c091bdffb74dcdadf2381e20f6f6980c6a0fde839d0b40e6f30030a04e4e185b487f886c000e560bf9e022205fafbd57b1c4a7fe07cc1855026324788f57d9a7fe7b8e3110ebdadf5cb6d47a91949297e9c736f289f6d8d9fb514fe2d14a180e2dab4f92ed42a220da0c53acd26206aa08a75706697748a31efae233d2427cee5af445b7eeb39a98d48a4dd4ae5c7efa6131ca3f3d163c01473e981d70338fe461c6ac02013d810d62eeb816b7069b128d1ebdf28b1ecef383c753d51717cda4632dff105762489115542af8580cf9e1c4a1aed8c97a4e1fb4426785687fe201cd4b98e8fba0496c753ef41a465e4b0b3640be7946e73e81bde4f983cc1bddf00c83a03cbdb1078c8bc35765aee8c1ad0f0c2c3cc3b5faab22b02be726b30163afa2cb14e91264467a2825022c28eea1ec3dc6fa52e4b5a18b549a08252cc213207d3bc7414bbcc8a666310d371fdf293847a243acffa95e84b84b8345e8e4f0e8c927c233c0822666b22ec7ccd0cb63131c13a628fc0ccffad55e0aaf1b40ad2b77c7c24c3548197cb723d517e2db6cf0a2a8ed363c7ebaa406162ec3b8909164ce37600ca38d9bc2397d920b6b12cd2e77cb38f68dae24a94479e7be32c5ccc0b92f3d152269158cd1c026991a33d1e35ce0702eb416e592c28cb9244e599c5616bbef26bfe6b5f9284e3fff989be28a5dc562a602e7d3ec45062ee9664182f9b66e088e70118d98f716a92351f49bcf0e3ebcb7efd0bdc9079ad1542426d95c71f0ed13295980e10fe993c93d4c1a96d20557055ee86a9fe66fe2c7bde85727b25114e6198a5a1696a5d21556a901be2c708e3bba02b3613311709b8ce69e57942432735b7fb61ba3aa1209b8aaf0e227bab4473954d66e5b2a5322f8ca6aa7754d5f2097b9af6bd29eecbca3c810e99709836cd6a0fcd305723bdd3d8abd1e7a6544a96c449e4789def08770b6fe5bf6217b5f2651fe1d0e04749ed7440562db860879f0a65313b523613adb49462972aff95c323fcffeeb3668b9763cb73627f282349524447fc16033a0dfba78fc170e6ec398366cab084f270996e53ea44cbe96336d4e5eccd3e6021b38536b79bcd10307253a5785122138939cc1cfea0a3e4e75b7dff71c3ef2f81e22233d6e0f12466b81969cb2b3d2eef40000000000000000000000000000000000000000050d131b22262b37" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6d02f91c69048203d983010349830213a183010bbd94000000000000000000000000000000000000aaaa8401f0657180c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213c854c66c4f4e88d000f3a84de6fdfa5fda30ab90fae209bd9cd6f9d04369d3c767d70b2d10de26a74358f94b7ceccfffef9838713f5bc4e052c75920c6c61dea229b2f69476f322060efda74fa61e01b162f0cba3f148664ead45d709ec5c052899ebc4a69182c9c7da173a9d6fa08eef830d537f1512707a89667b1dda02aba70482f9ae586506a96fab33a3c25be4cd8ca084cbe401485d9854cf8b26829fff6540a9620a38107cbb3490bb7d5d393c3ff5b75331dfac23ad42c9627c02c45b0e61b2d1850cae285f0fa94402137b3f9f84990da623471c381c577fea920da7ed323584c0bac132dbb53e31d4275d57e9bc0361da7322d3d8a698d48447bbc7a26ab7e010a8b5400181ed4ecd2915a2914261fbe82abc8961fd26f1158cc6c3365593496ace11949574cec596f9e8e864b3d8448059c34965ea0b3cf05fae9237822c8a209b1ea922b5a3728ec4f80c99dd2783303e3d6353ffba72e36737eb59b49e4f137855b2c35a08848eb9e396d02b8b6c67126d498303b52a122a84e4cc810cee4075e0e3c43af24936c7ad07fa5f36cdf58ce61040ff5dbfa5933202ae1e23e77bbed983d36d632f90dca3a5f498fb73b4923f3c13cf43a549f42e09247afde536ef491e2c46ab187a622d50119e18330d8d52b28ecd4b550186dbdf1b4168f184552495086c5be5a8b9f2096029cf17501e6964ed11c7d6e896ce26fd59ebb64733a07de9ff1b8980e8451fe62d66f3c080477db2b983be60eb336c5bdc273510c7a7c99726565ea7321a4b602a9f329a49f4003e25b04b494e3e58460726971d082f23f3446fd3c51066af14a6176012fcf8fe81e48ce10ab0adcbdfc9ca2d3d3410755730667d4f78624784c7f5d47f9f4ab16cb471cc7e02148246a2618cc9246e5d5eae913fad60a9becda56c840e6ae097276943196d5cfa20d2361af1550e470816535b033bb122362ea57848f4766555598c68a5714d18dc2c65c0f4866083a875809824a897a441f33e4c2dae3bbb00cc347c973773cea8d64ee88c6ea483a1248b392d0899946862ff4cf517d1d69f40402504626ba631cee1c6df30ec5e1802701599a54b7f30f1f715432a30aa35399a40b6fd2de5407a9182e3b9f29108b1545a7c1f3bd34e97237c8ad3fbce6373ae847f3af35e88db6f084c9f84cf42469239eac23ce57c8241358e8195a0f314adf3e63d909127c013040a12adbd76377fd15a3959cb5a518695a22a739f06f0fc338e641f7ff428247023bb230aae795f340651ae50e666d94e52eba05370ffd8a68dbd3598fbd445b0621e5df5f3fd8fdec95a5cce4125ccd7040981116242f80200aa491b59f0c98dedd3ba0be0d3f72d14480e5ceaceb51bf8d1e37afc15de4d8852fb68df773b1c383694edd29847652d03830bb83d709a7f8c7347ff1f687e5664966d4f906cbd83e9538411031079acdb70d3245ab9d3ae18288c0977677a7e2bbe6424cdd878b095969ce1637a649b30dd79d5310188d184375056a1da4700776e3d47b9f7a2d47fb2b290236b98fd114dea6be245c627d099adaf44b1057bd6fcb2bd68d542af941aa4aadaee387d31d32b353e7e51d8411a86ec1955dc325c3ed9c07492748b2faa725c1ad31c80ee70058ad9d172e0b328b019efbe8c51575dc09cf224e14698e40cde223f05bb203393da45d8fd82ef0f9ccafd8f08b4e6d579b8c4eeb058267e896476b6545bcb67b8ea7f7beb098ae03d65003eb9add639f44f6ce5eb206902ed2aabeda5767b63a40adfb8fc91ecf4e6f5f3d8632e053b12701cac6581e5ad2fdef9d393b26feab40e26a8710262a7d6e0812f598cd4945447576b01a459255476d90c157a44e24f5eb060a8774507682e9cfaa6d3a77b548af98c9a30bcfa0ab70ffb623630a46519199ef63163f2018b26a67ef746622f04c763d5b6b5fa96836ae68face54e4e9a68473c3d6d9d82d91d5f5a59708dc946a187454390982787fa707206175f51ffe37c845ee1c36bc5653c9816780ff1f475b9f90ed5a3a804a0a9a4c6dd3c1c6d7b9bf087ebb783b17d74813159e9fc0e766ef20162d1189441d236392634f96b9e48930dac8783ff242879f974cc0df1e389335ee22a2ba4ed8f1fdd75e129d36fcbe49a7244ffa906f94f00e19fab9a553fdbdd8b060e130b481a0949faee4e1557463f58927f890506bfd7a723c9055499cd1c1e55ec15cd882bdd2f8d5ef556f4267470a46b3721a519e2f5f1b5cda0ebb45820e76794901fbcf031797f8ea84d6af1ba9d406ab2b7ade29fea326ffccdfcf4b25da1742a97986f9cef41063412e26a624079606a87c5f0e6388c8ee063c4dea1cbd4a35d27a9a8ac269a14c5805770fbbe1092714be850de29b78bcb7f624b0cd5c5623c13453bb699f3afd97da83f2c021c8620ba9dda304ba1075b388c507d8b5520073e974b8f09c839b8fb3c1ee35ef2175c828dd2170ebbfa764982b922a0df681185eb0efce8328d2ca87c87c02bb4a3331a80522034ea536e48561eac8cc4aa54bf42e8441fef912d12baa0cf50dbda210fd29c58e1ba74f64312c130ac739ebff9b06c98ce586457b90f0b209b76d7c567ba221c1d9842bc99ca05bace058556ba2d14fde9b24ef77976239bc59ca8a200dd4e18df4d4f457ca3053beaf0304df0a2ab1e859277a1c9e6a57becd12fbdd3c9f49dec1d07228832960214270904012ba3fb290f75444b174825d72fda08d3acdcfa69f0c517492562f02b7590da5ad042a4372af9920aa7f18af527a14ec7c958748f144f29c30ef787f3043098181edf4732e8bb87fb76079acc4d7b78de4f6028d67b60909c25bc7ee07f5aa59cefaf7bcad10a20c8e3f10b3f972780908c742a1790e87fd39d441911dccd359bc9f6e5291dda35a679694e5e2f97323ee04328ad66673ecf009fc9d9fc2a6df3a45ecc7a16a41cb1a9a0a43f1d8977ffd27042d8c7fcad91c7c9de513f618ac34aa9451482a22a3fc17daab1ab9f5995ad5ab3d5930b31a349e70f9a1b692690f221b5ac491950b500563a948c632157d2cc569a11d2ef57f1e303a1b495b061a60e0701c2e62b8c883eb130e539a1e7bf7e10978bf599bfc9efdc54d63b6d2ab9a4bfd4ec1e34ee36e11aea15646a61cd9c04dbce181063181a3a2afdb7a42e8fa726a8998add63b58ea8f4e41dfdc60699c9f2d85b979ab7893ccee4f2c26fa352ccc30dab7073db6bdc62a40617a94c4850aaa45f852456d8c23087d99c52d9012185a8331c6427c0fe6e6b57e00f3bc6ff613c61e61e374a8b10f1869f051fa5fcf526d6b2e1511ca4f502c75c3299888b9280c9b8e8cfeb52c39d4d26c4ca17b82721b1b6395803be72670b438e58b4712bdf4e12359791c3094eb9ed3728b13063658c04e9c2ac93f39e897c8c65c2963b50b20ddd82fdcd5380caa914ab4b7e5dc3eca78b3b2c0fc1e47b82cae38ed4fca333a42938efce966a36ca8747445946b39d3f02d9f4e4e938d1ca4a0f6993bd0b9f12ce7134f5acdb92f054fe7e0d96958d342b53ce9a0034bf23b4c53b3435b50902b4f3dd9dc284f919928b7b0149e782afdca9b57f05fbde7cfe620167fa18b8d6c7ead29660dce1cb2f3779e553c04f31077b561cafca8206c87807ee006c18a2d6692bdd0422820d3f0164a0b82ae8d438aa903a3ddcf7d743584a92471eeadb112169b03cd5257dd917c73ca8ca35d064be154f5eeae0d8ddb3ffc6db50a5183bb1b4183edc48c19925b7873a32640b7fc9399f3a71f42848f9ac251ae3a09845d1302112eba6875754582faa6ed688ecb6554818279d1299d68ec3e04f96627dc3c85f9d8dc046ade7ee828d6e4d77f74ed4c88bdeb0296728f427ed1899f890f3967ff3d9650cf78e398fe3f42e348b1b2bdb1c71a8bdf1b1ac44cd0e39d22db5d5bbc5bdb665e9422f975c16ccc253a24cabc5409a3914855a1d66d4f179e944f4f8558434fa674166ba79db100fdfa487fcc7b960eec44ae71abd952bcd4268abd8e0ff34d79ad178fac24a1a74ec6addb3b0dab7ff9e6c8ab674bfd005b0b9acb39c98d3db41c0e07dd54c72292c12b64f605ae125f83aebc1d9fa0d8adbf20385baad81f6406d6916e8899e545b42241aca3630b5501af1ff2a13b1ccbf8266723dd1970418e073d5fc6b6a491057cff8a9a1bb2a8b7aee65f727224e988ab0d6f83cfa4ec7505ca9565b7736cdd492a9749f9ed514cac14af289907f4b5ed04796ea55c38b405f4385506cc9d0c6eb453a060a60dea4e7da290cf2c6124ed26869bf9ee580bc56b29a9f56d749fca73f3ce42c2ff5e7c2028f578b6b65ca1e01b0dad20fd6340f85aea04a33d053d01a0d54ac6fea183f9d98d01cba941f5bed16f4085d3fd283799db0c21fe0d1de80d3ad001812d117b6a37a0908af5088562567626f149ec25b0be639700676fea6186d13050d4bbeeaa9dce07cc38184f4dfd2f39d5ae668510521352a7b06cf40ec06db80d5912039eaae9accf6d39309730d8c1dfec1a58b3c1052d3ab9d8b0ad4d6e1aa3ff5ba29826a3b6a5f6dd74d3ac2bca3003145d95c498b16b6df56c9371fd4aa1f0fcd6e535c85cad53ab18086648e849573aa55bf870830f1bfaaf24791c790a9a877ccc5724abe1b902b2eb809dfe6c291f2c7af3eaf84c165230049e552ee8910e2c6b8e92733ad47345d3917f07d002f3e9db490b1ccb081550e0a76c3377b10867d697b3b67dea3b6806f7bd9844d70fdbdd0af620a3c7be3809c07419786c07387d65fb5a13cc47f829b24de81ecc3c0df2000f2bd0ed95bb7d9b8cae2b8aac1ca82eb06d49796716d8564986d965e763b6cdc6890d291938f7d8b8d8d60a06be4d880e7931da2906e419884137e2c489d231a791b8766475c3aa6331f3f09302f547cfb69aa66175a122d6b82b72fd0b1faff482221821b4fd3e19357bc6e78a965b02bc1b2c21496597f1ec4b0091c4bfd6cd9b245c19b4d433cb38e5f28f3b0bf273523128ac579ffe5cda44097f32c23b74927756c1b3169723ffb8d2ac9fa77f7825063fe9c62643e6da212d58b691f639d9c25abff9ab48b862d206e65a7c26dd46acaff7ca0e632e6cc9de6e56bd994bd72ce1d81390416fcefd7d628477dc1f7249ce51bd45dd3961a2a5903a7ea977ce54c8744a0400061d49a80a976c2e351ef6f018ae0fab01193c4fd44893171dc63b7dcc67735309eaad6ff7034712d871accb4ebeb841bf6900bb7eca3328cd072d96c2fbcc12fc7b82874ac9445f77d7a3353a8fed5ca4e2690a950a1998dbc05f9db42b96fc27ef07391295a77cabcf47c4444a9deaca1ed1249bd4c5b30b342ea49c8d4d0129228bc36bb8862646a0a629bed8495fa5cdc957eeeccdbd6430cd3c507b08a27067e1a9808eb54bfbd0146af67ccf937c49660e94fcdd6a8817697e7407d447b9963b3c4ce0c2eb3ffa4598c22506b382af4c47ef8b3b8ad258faaa3c95be673261570e6de3bf4029d50c9a8074ff79d2b20ab9e2162a44f61c0cd0f79afd2c85e1acd175bdf8b52e1ce0fca04da7d2679fe9d95d1708f00e567cf5babee35f99bf60861531e33d20c69d598c237ece3d51091f54757511bec1c0105419d572f569318d37c7e6f1e37c606e9fe72309a91d74ed78c6b2ee8ed048a5591de4df5d2325df386538ad022725286da6e0bba51e387d10368cd6249ab776ddd15ed0e40a20ca465730c2c094f58b8e114a814be5f668917c5c72f2a4bc92cf9a80e6903676c624a7b9f4c7e12682298591de5679633d91caf5d59d32d99c58a2478f56022dcd5e5c329a9be2a88c74b4a94cc092322c24b42f0d132b67cd21508a1894fb16340982e4599ba755e5df9c6b9fa932559d05d4dd10134d06a3d7a938156c7e11013117539a9222096fdf33e3a0f4c1f51b0bf98b115772f197fa0fd3c57d79b600a78159e602deda2f98f00a5ce9d0b261f54525a704bcacfa9df5466c911f4f4a3975289af201d685fa77c064e3b57439567459716a6ca8d58cf6cff88396162117f0dc8fea3b412ed62dc972cb7d6f5411f04d8b4f4b29d01201f81d5f704b63e13da3c0d2804b241dcbe0da22494b8cd685741fd73f5e7d28f53a243e3439533a4586bf9f57147734c7c9450152dc75e9d6de9b2683d3d767ae9646b2407f0c3eec645f3210a9703f7b163bec55f7b310d73015e8ec863d1af7fbda802b828ce8b68f90e1dbf1ac3e4780bbee7a267274bc6b5fcca33fb3c49827487a98905adf75375174b5c3f8d7a64d6d14617cfc0c715fd53dbe57992daf3b62c237ed68eb02ce9ecca89d774b96de9a0ebff1e9120e8fc08d1e11bc2a1252a36020d455acba925d79e57547f4837e0d9a866572ee09cc9065a5c71b892d31eafe47b2f030f2c8eb7c020d46526ab30323243553a7b5f02d50acb7bbd8142b575b737c8bfc287789a40a2634507a868d903b3e4d5876f1fa424a7a8bb8e100000000000000000000000000000000000000000000060e141c20282f3583010000" }, { "nonce": 623, @@ -36,8 +36,8 @@ "maxPriorityFeePerGas": 74140, "maxFeePerGas": 81173, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4802f91c440482026f8301219c83013d1582e17d94000000000000000000000000000000000000aaaa84014a598780c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f389085fa58011caedbf477cec0dde4f48dba516c75eaa699c11914cf32ed10da864138533635a67e4ec4b09fa8d68c13d8406b61aa8de995926dcce96276202010f5b9814e55f8239b9fbb5db686d8e2b182a6008c4013e2abbc13daa757622c87a6a438eec4adede24fc010fbb0fe1c6f2b6524494c60096c85bfaaa2d626edc8f810bbc46a67ab8e401fd90b51ea0d67ad0f0789b5cea998c1c7b89af8db6255a29752633c7dd30e32c29b64c0aa7ff088eb9857edc31a79d0a189ec2d7074bd1931739b6607ff9eaf676724c51712fd3f55311fed92ad0e34df44dc3397e61fc725bee343d2cb73659ee6a25001eda75125e50f7015d932bb0fa03c3ebb217ba67d2fd9534d37f807e4bf910b038ff9ee9dad8f3b4abccf085816e6205be0054907322fa4577a4bc4f210570b1b9148b43f74acfbb0f6e222428de5c55d6e2c50b98c34435a81f68ed3bd126f0fc3fc5116a0fc471d27ca229e956b6ff18ebe9b4c91a0a5428d499dd8c6ad0cb856949e0bbd8427b60a9f6910af9957a0d037b0a2307a799f43b32a7797cb06a6f5156d8d7b62c0562ef6dad2e95e2d58a1a30ff31863dfae96fb20462cf4b2203bccdb8e6fc55fae2f442a13772d8ca5c91bd4d6e454595b257824ee61378ccf8280976961c128d39942ea3ee9a06bc5888bdf29a242ed4ef97ea030b9bf630b2286f9c77dd2619652086b2c6d8faed92900d2ee5a4b49b3b4100a827699f6fb3c31ad97aebbb21599f4cf235ee1835d57fe9451d495390d7ff76f17c1f3a408925f1bf536430408cdbab29956bcd4d00118510865dbe35a7170df4c3f71f61b3c759f0fe03d67c21374ab442f16161ac21f4a212f31a4f69ff9628228a3ae3f4f189e3bced753a2a521f1b23c14904ebbc6a8df8bfb3425dd46698383c856fb040e0b9e58069699aa98631020751621fe5ea8058b27394f25873213db3742e246bf9de2a80bc3652644a1e4e7f1c301ad972a3df9f46a43e11751f9e6d89a5bf874f489a5a777bea7f6f87b1ded3f8ea3b7a0adf16d2c5b0b19290c4e028b56c8e3ef78c3345cd4d125cfc36b5ceec6b894321fdac094344f0a8907833f99ff7ceb2de10052a9a9bcbdee92dda96574674cf5880310225cdd23944c7da96084c1150a1eaef5a1ccb609c0e7e378127d6c5ac5f5a5f9d21c664770ab6a172f7abad5a024faf567614dce5f2e4e369293065b95de9c847bf1e9784fcff8e93af466a1a8e49abac8115d1cafcf78f6123137d657c062b500a8bf1c44f4047466ce95a55f92e207019e687cb60c91e1cdbef8130a0818db3eb59adef3e950a1dd1ffceacce3c3fac005b04a152ba27b5582aeb3b2ae3a1fc790bdc8fb754c52eeadd39d6980ee16876d431f7d864e0f6a526c8225c50ff440bd560ca5fe06bd38a5cfc127b654aa4ce97acab67d69fa852bb52e644b40767b6256bf5fb54698e0fc2cfd5b5296fb6fe50a15a2ea1298440559186886df7918be0d49cbeb580e0644ae72ec28801a6e0136ac8488600eebe53638cd0f50cb94cd6447f0a06cabb4fed96eda6add82f5d90b6ff1b1215bda7a18ce512efaa8259ea5a40e766602202ea7696a3b44f794374f7e7445ccdb35f0fa35a91e73d53f979c8261c434141aeeee21d1b23a4df15db58ef47fdf7dd493c8cc9c9b6eb31ca0afa52a4b6bfa08551562c4c12e4edf74f6f88982a86b4a1ab1b7b5bc9e0569a58051fc3134929ed8acaa8862766e9c57babedee0a092f9272cecac9f0bc5484ce48e38e7ca03e2cb272051d45bdcd4276847b649baff4d8d3a10d04bfc8f1c54329896db75998afaf07a4fa9b2191f000d4897a76b52eb860bac2b25b21515a3bcdeed9719fc868bc8e47d8f6e658ec6945ff7ac0ede7a6f79de1f0814d4ab752585cf86945edf8946f9df8829e136005d0750928cb7f2c9e201297569e0998204b1fa4a153081a6a7342c05b1b7f0b88ce9218b62e2451b22ec17a7c330070245c1e1519752b47aeaca22ff24427b525ee9b4eca5a08a49a6eca22699bb3d43f5266decb9985dee040a485830709a171f620917fdd2e7fe1f5e5bee0430d3a480fa7745493a506d1e3637b11744626fcdc690e52c077ed2fb40de755019943ab4607a01e403de777046e30de5730ec9accb3dd62ed888c400a5c1e040a0d7232e9640db327da1e88d482c55fbf241e83ccee14fc51465b5f6e23206033299222b3f5fcb6992ca5f4506d710ba8deb051627f6b8e54c5ddb28b3f1d28673f58c36b57bee171339fd949306d1e0e74504d2ff966cae07b2fa3dbdf7758d14aa7e1f5483af18e1aa3649abb1c015eccb9a7f4bb84000ad319a6348611b4aa1ee683a8f051b0118eaedf3ae967f9fcae1be3385a062e6f73cb65a22da0f1f2e7119974c12f5c6a2aa5d79ef8582d70d8b1c36dbbd2d03ab958f7ab219c4a3556fec7aeab9a26c56e7a0876de4809bceb43da949a7700ef4b6911fc3800f78ce93d34ac938caa48b946deaca33f57af49cb0a7f9b717e705c3aa30c92e8a3c8888b2a799d2b7825ca521f065a75f1d4df95b6da85c538a4208e0ba7c6809df543f09c6e197b3f41ebe286c714a3a9d96642d149d53234e085044f153c404f2fe95cca01fe802d78852f5694bc4e62c39cd745c085e33209295844527bba5c5a04a3b1f0539b3512d6596d21e57412eef9e7c3624366a49cca2eab0cef5971a57079bdee46f8315c117a6b2a1586de54c27edd29c9092a37e68cfa0b9301e8bc024c8d8179b2abe0cd80ace0113b231def14dc9353721cbe328db23a7a9ea189c57f117fb62ebd9ece7982b0fc9107b70240d46432b70d429cd1e56e6be8faa28ee392506a5b68e702ce946f1351039b39e53c6fe5194d3d4edb6c430cf353db073fc76be339c8dfc07439d550da81c4ea01413ffd64ee2272081880ec124d89e30887e6c2f227057acaee2dbe0e4b5666b770c3eabfdc1f22ab37df8bd8a0a8cf919075782fe159020285142365bb3eb320ac807036a62e508f0190b02e06382cbd7ee5794e159682ce0b2594597b3f31d2652816b728628a56b5bd660d98af99e816632fd81a866b9cf874b4b32096c2a417ebda7670d3b90abad137605fca5064e7a64f9d0e23f611b1868774a2c391529edb149906522977133a9c0b5b181aab76a03ccc1cfda7853bf0a4756d51b6e85a605e57e5420dcf35a8297a8c14c32d7e6e49886dbfb5513eb7a06e255ae9c39c022c24a441993acce31f39467e4d37241a1c228b66611160c33e4db7a94891536a60180e6cfb04fd0d2525ec207c10026f474c0bac29b54b667afcd7bfb50f4fefcafd1bd6e10f8678ec223b7cef75ea6f472bce3ffde2f996b106a26a87caae61edfe9c5b87ecede86c81a4e6d4fc27c92b7fc58f25ddfbe569705fbcda0295e5690728962fc95297c93ad53b052ab636397187946fb88bfa4470a689f89327a9dfd295aa711608a87834a281ff4bac7f3416c25f49ccbbc4867b1d5db9926c30c9f4e1a412a38f0e68717e1ca6b80e7bbff28c2a67739d1267f69623dc8caabd571e0c54ef91c02355353b5b2d4f82196c3ba377c056781740560f9e50b0fc1c4a76b69f301f9d2552cb7c464c218a1c135c0ebc2796ee47e00c054c0d4bc0a723fdb6715d65129fc5aa19f696cd6d1dee8ba9f149e3902d65effe47df633721e4cfd4d4c8414a22013993a2db666a3d212cf5b8350666ebe3d92fefe90cb270b7b31949dda6506a590a6df466ee4ca8154b7acae9b07cfd5d3dcd9c093bf2d70ddf57c8201527c2499dedbc029b5e408a81923d069f5d7a04a0d9535acb0b0c74e024ee5c39e58ef9ed3ffab125d728a0eaf6b027a1ad11aa4cfaccef5c53573a90dbe837bf3ae0a24431ff3da8cbbc3299a8be040ba18163846851d6a50200233bbfc1ffe838331f0e62a842c17255ae399e00c0a811d6aa51268cf7cedd261a88cfda36b8a5bd04508c89815ae9e4c418657db1654b67328d14b099d48bd0989bffd512470f7aedd8c58946319a0f77d46754ba9d57da27732facb8beb0840b47dfceb1ac53aec85eda558c5651e8ed05fc0e9bd5d30d6f15104e07eaf3b53487b012ca651512d2f401cc990de6258da8f603580d00be75c38aea270aeaff59ec63ee4fbfb1f80b62ca97fe6d7b744f806804f13577a8c2c07638073066982d7cccca30abba1072f8db33eb810881c23c3914fdf092e94ce28318c0e4e4078ee508657db4b6d4fc764e8fa3cef48bfd488d214ef0e76b6a24ffd42974400ff161e1de09264493a2533a802b83dc6b09a8732a01912e9ae1f8205e2ce63c587c57b668ec941969527d1ad829ce056417a7b73f6b1a65f6a1041fa120569d6c6a744250ca9e7c92052971be608e38a51be6d5f83bb706f49668295463baaeec5e0d17f788057e0ffc8a1c2ecaee422fcaabaeee6f00ac2a983e4c3035b9842cf04c94506ee8c4e328e94f8c5ac60694c82addf0617721ad5a4120f066cd833765f8fde78234d6dffef86343527c4ebaac4968e3ae33de73876b87d444cd123a662929055e30b44b04f3704f0fe0d80a15f9144ad894360b88386424c436f1a94a2ff810b6c8cd49c359491294777dbb67f57f885f3bb83fd97b4823762d1067daab778188b39b9610d0e30ae40e9c9e4f4193772f7d60c8e25c3214c5b9980dbf0fa529d6bd75bc42dd6ed1e4688dcd0101258b5a1f931a62829094afb804e4785b4a88b7c83d1ae057b5fea1b3240c51afd52761d72fbcad6a9d9a5d062e900f4492c576f0479f36282ae475f3386b843afd562078a740eb4e5ff32ef8ca6e8730e3ad4e3f0b592ba9eec8697523ef619d5cd140e42bb9691edfbdd174ad2100e59fea0c1ffe6884825d83a8f1690aaeecc77b12a1b38469b950b08c7c75c15b71362cbe7cabadf8281f9c6ede9aa26d45d3237c93fb9598a3a07ac0f90e76f03acf7c4a00c2901cdd23d17103b648513cc16a57cf461dc002ac704211376c979242b07a359452e84affd27b4f344e103a7addfd823a95a30572c47b0c4a84e4c81e5ebadb8d57835b2ee9a280e7f1b4738f228b7d6390316dc89f8675f856a2944d53780ae20744b86d45044da7c85e2b59e13898d3b256e79d4a54c85de2a436914c986bd632ddb8ae1e2d4b9881f396ead9e6a330ec9c2ac5810f07893477f17a1c487eb4d99d35699c8e1993fcc15a1df8107aafdd8af7e9fceedf673bdf1af7215387991c5be3d5e9a477003abe62f1ef96ee5bfc5d7cc05646ae6a391066bd4e4b48f2d711c33c9f9ba3f4e79df2c63d41c58c86c0098b47ab9e14753804196886ff49ac733f48a62fd45d95b55291f6aaf4f7d5219d04581c92e564060fe2d8ffff4c1297f4836e7ea11a1310e30edb63257a76f0ae55a55d56e16d0f1450db73d19cdf1d942257cc1705f009c7a3eb12cd96516c6cfc652d2dd28c5584a2d12492fc88f3cbd859d6d471bb51bf663d5e762a827ac06b4bf8ad4de4349ce1c479219b644a0365320c74962a2e67080f64269b72f159bb0bc6256cf180b2e31660fa4b47fd31641b29e99cfda1c772178036790baa3aac9436a538bdd4f83b173a130a47225967c097ef3e60076cd24dbea18c4bb5ae836c7d4ec71ac4f46baffe20247a196b144f344a7008f10df945515ced9efdeb343a2edbb530eaca7cd130386979db74921fba883bc0b1d8fe78ba687f137b7102a4b8138d0c5fde6692864eb7ad1392c3e2f4da261c18747f0dea03f9a651897a31b310f504998b820c6e245268a2f47bd5c355eaf74cbef77d02bd07a1cfcca458cf3c0057d6a001fb6047d78dc9cc746fb850992a49ee892446c59cce6fbaeec69bd9c7bec4b4f34aa67cfed049951fd95472f5a0f726bcc90a24157613597f475ec437c6aadf8199418baa5b2c84abb274e1d4fa235aef468a86fc8b5c948aecdd636c02ada9644400d131f55bf14ef6cd5108b8ae5044047afb7d5319157d4a9abeeb59feee4c98601d9ec5846c83d14562b1d2da0fcbcce19edf7d36ad7d71bd1814dfcb170ceef4dbfe5f9499cf3f12f2ee50db86831b2efa7ec54e46ff9df015fbee88b6d450ceedd377849be4d7690750165944286b27f403dc6a0e875968e681c5a89044f26db655977b0c4ae430f469b1cab979f8b2869283d8344711801978045d61f65a9d3604901b22bf672f38e7e324dfd3734c5bfbcee876e5b2f844057ed6981d0cdeeff8dd5ca86b048c5d8969b1d819bc6cecfc902a9dad6bf8766ac8afb46778fa452e036adef92ee2887e6e691354711e3aa6fea4e6d83e1228c5302a67caa61d38d17a36468cacd8c00bdc447c16689d58ee5a9e619724f5b930ab35bdc611824d4f5457748591b0b9dde2e816324297aeb1bdbfc9f519223249506792bac3fb2d577f98444756a5f75358696da9c3f70223393e777a8fa6c7dbebed26328ec0f90000000000000000000000000009131d21262d393e" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6c02f91c680482026f8301219c83013d1582e17d94000000000000000000000000000000000000aaaa84014a598780c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b912133a751e82b0167f36f54e7bbd0bfcfd5ac2926ac52c7d2e698d3b213d105f10d7a108ddc98ef7472e2bb127b1564fbde4ddc924c09840a1c8e7962602d5848a88a1c84b082e67b6ad024ff6e32ba7d858a29d7db984948ed57e18a70ab406f4ef2a5f0d92a05905f27f2c842a6b9cb6bf95891dea559edee6ced5b7bea80ab952979dc438706746455aab4274831ad765337cd81ffa9c7ec0952aad623d18d89563b08363892765011d0ef5f9e35b5b3cb9fb6f37f95cd7fe2674ebcd963c6b14ad9adb99dbe4277f95282c660ef0ad47622e46d1847f486ce948f123bf39cd4b5e4bbce823d5857a542db7d5a0a1a9fa57e066381537195224a884c352bec5b92abaf81098ed66b5e3ba1f3b22454eca8c5c43b81b3057b6f8630986a6419115fba83953c9c8535a1f3feadd4e59c79dbb5ed87a66882360c95ebe91fa0f11d2417fe8427c4f41288662cee398428da6c0f1f276019bab173ebd513f4ea442758f455366b6e2b85fa20511fd41ce2bda44ca8aa57c7a57d6bbe8d9a2c9a5656d918971f96bbc7f1955d390e1a50eb40d9143844d9879c4b3576311d5d06a0cd9683ebbc7e04c50e89d8341b0215c8a9f4bf5bc6b1ddb2fb0dc548350d5370323165462a45192bf584fe0aff0f6c174d9e8368178ce17c2e673c9aedaa2e0016d2b6c10c461ecadf78653a89446cc575a1d05f2f18c21ba173571322579dd33d8a07b905e0fcf1d5b457f727929d52b8648288d9372c1f7a6a720adb536b2b852d9292dbb752e5586954b17db1e14aa6421a8392654c4225faf01222f159539612de009f6b95000106b86f1525921f0afe5e0254c128c601aaf935ae087d09d2cc668692c24682aa5f38d42cf2a445ec0ded13c7d9abc7c3d6eb97bda982e7047c72ed624c4e555d6bf0d95aa344c909e41d853ab174ef3b3d2f752317a8188cf1e72e5f81af45dc3fc18b0c9304901bdec910c13c87265069dc5ceb01cbeec897bd947de9efe0747a46e593696f95c32987a0c94617b6dcb49f2adeff06e0336dc639366ab8c9dcaca91d3dc057bdbbcae777d00ea628b0392821bf40fea42f8c06fcee12a1048d1eea4664c12348bf066ba83ceb258186b8275a7b2613838a0014e6da4ae43fa67f846a409a7acfbb96cc533dc5d8155298494e37d947e4fee6d2539be7ac6554bbdeac8e18d4e8c86756a3db4a5f13a219e6c8ee43c09bb77b9dd62a0912bd783bc38904c710fe5229069aba62d998ea13c9f845c0a2351e2a012ee8981e7615b6f55540bc957783dc0a2090d3771e347e5e63b026f200c2cdbe19370a9db6b7950fed7827da66019fa347e3081c77b6220b47a789c8129647f0809dd75584c76816478314aef4b0071ade1b987c5b405f205df69d58ff42779fe0ae70678c4bcfbdfd34f12460fc1cef093eaddda0f928fbd4c0f3cb05e60f24526e562e2048cfc76548533d09559f9b547f6532dfec6ee35aada96d4853a4db15e65931228adf6a173a850004e6b015547867c3198c373d54163073c12bc2acab207043c7ee70254a8dbee64485b2c4ae873fd51d602b3ae51de20afea80a109d91d5688536ac9f05c57b410cc1ee559f219b9f66173d245fb2f10d27f9bf3f7075068f3c4c48472636ee7d6e8a5d8e59c6b6313bc3a418801aba0cf370ba56e194752eb93f0b30b0936174c87cdab25a9d8b7b2801a87806568b1ef53eb3ceb28b4c6dcc8ea1b628f903aeb298204cd82f90435618fe8b6d8ff93e94eb2d98532cd5a0a47102d7aa68a74fedc7bbb041c8b4800a888eadb268a4da482de0abcadcf35b3d3837833c58ea449497238bf749c7b46f74f1d19d453461ccda62577d4b8261b24a88e33f6d759a8732c300293058cf7844bf9b07b1c4834ed0f507da762159bdd1df4beb946c5c0a88f9a2fe9117ca8b25d459a5ecabef492e39e1ecca4fc85ef1e63d91bb1af3f0c2feecaad6e2b2dfc56ce472c52cf3a226e56b7e4643e45f3cab01ec045b969fa0c7e1d46d7b48593edf4c03c096f98aa421a2749a5425c208ab57c1b5657cedb5700b56e438bcdf91d60805472eec301cc0c8c3f145d7c714d87b053e881798404beff1711593204077292589730e79713d7d6acc2db69f9b1dba107193a576dbadba06a3793879ccbf6f437ac440013298ce37785f5ab8abaeb3b3dd1a79b55f9efbac487536fc871c409340d2a2b82e79131f2e29062faa1b1b856d1bc1f16704f95d2004eb7e8c5e0e0c644c931a5454c5e8caeb8ad0e12c0fcebdc4cd6b1f61de62676011afd285be5e47e9582132d78a2a2339b0bc5f8e250393e5cdf56653510aea6e02145ebdf3e5fe7c957a850845437b7cb432db978e75b25b858fdf4db9752f552380f51d9fbcb7c71f3277871389999641364165b3b7b5030df8094cdde517d0ac1c7e8c2cfd49608c082b611bf73cfc4e491a39938b00bd501a9f206e54a7c47f23b49350548db8ebe259d06c62644a34fc89b8f6e8fb89f462489a225b67245670e07f88c584c780be5271b921feb18a7b021f224d10a0eaa222d10281cfe87973f45a9c5828b2a1bad0e5925406c408a2dbb176c73029e0950e128c77eb66e53031e5beb0fd866bf64d0958673f97b328d64e932f76663ba5179c6cadf7da1c834ff5f850a08b7b45de321f9cbaaec2ed3e920e5b23d0a02efbefb589dfa7edb597155d18f4da955a6b56a835e5d0f66d96af72e66b235e51a0ceabfdca59f3714c637eee13bec109c111fe0f29dda3adee9fd0a78a4b336fad3f03239bb8868ad6f266d43abebeab22d55d1bc3c93f1176acabd6668222147af03909e2e7488d84dc5f5096d9e454fea69a1ba983147f395115ed52539c1938e16871633a0fd5dff737acecda24b8b13ac8c8151e7361e9def2883566851b40d335d9aeaaa05e21dfead92351608b8d35ce9155483251ec0f704f9fafe40648426d710f0a046313172d06cd7691d30665ab3a75883f7a82551fab096f697f7c04cb7a2cf0f0e8b4e23815036dc1f7633a229e614065ccc597f148aa189f0a40032fc93bde9cfcf120d2720d71ad9d6e7c6de7aea34411f66c6417501859fd566caaf5ad22c4ffb64aac1386c424bd188c5b47d965425899e332cd5f57f947a289d4b5b8b57642fa517314d50d0dc4cada94c0abd2bfff2bf3953d201382ad2d67f585e3ee0cb737945a6b2797c4e34f5563bedcfe7ef763e74d3db6b62b071e541275bb2b962f415a70fe273317c27a3e28fe0ded0b36392c57410714479f56a0d0cbb727e82d5de1cb8c2e4dc4e189f6b97b8a1d89e2496c72e531bd4c0a8b6ce4f3dd3474209a020883108811d7dca6d363beef2c11b4bc4e11258267399696d9a81ddb448963f2356dfae69f2e109552737d43a961d1903cab4c32ed20faef1677dbd311d8d0b5d25d329ea69d55b88215214424b97b757f67d3f942cfb103c559225a9b494ea0ada2892b8a1c6a63c8807898c7cb445e877976699d5e3af7b09ae4ecca7d50cea5fdb7b22026f5c20638945d37f4bdea37c126db144cfc276722e39deef863d43d84f7e26cc8dbda3ad660e2f9d1597ad30b2d0a9d049d97e3770daba0fc395e500680b63aeccb4d211d116736b2887e7a569aef21ab00b591bfdb49f72ecf37febc2f18f1f0a035522a3e6a670dafd40391fc3d146a5a7e59a7a890b7eada66d56681ee33515f4d6f49176ce04210cee06b4fcef711b13da9558bc3749f90b2011eafc99be7db05e986eeaee9e820a8bfd03cf2c6e7ea7028a768e605570a412ab80f5bb41762f1acf897d95760fa14f7abd325d46b87ba6059c90976f9979146a58f1aa99d2fa5cabc6f509e93ad799d12ee6b9176133fe21d9bda232c91e8ccef62c601a40e81be691d009d6a8b5d3ea4d0a01f4b05dbe201c8de878df935efecf44a3a58fd68a2f04cb9bb355485255433d563a7519850d1001b39eb702447c1202361c766638fa2485edc4a84fa61435f27952e2d95725fed687b87f14bb96f560ae38ace5df70030f04d3821244b096e95d985e54ab4cf33fb597ee16e3cda6e58c35ecbcffd414f382a2947b19f6e7c03b77a92b1aeccd7129be15df9fc551b795d34db0b63c1a7bee30db58448d4575ee5a50486309d9680eee3b4112c2e5506943d744267579b844fdcff0c4d23bb8c1b83a7e336adb8692466cf87836e9595f97743d85dc53cf67b460eaaa987098df7ca5e7eb1040f89add222ecc2bd27fd4fdcb11ca7ea686d08bbaf75c5fd3e8924778d41dcf64eace4cb0a6cf9069aa771443e513a545402286b27d7863b9b14afa819209b4a0c52e34956bca7dfd0a11852554abb9965c9819096cea598fdb1f4daed831b807bee458d58c36bbd5c032d99fa4f2634ad8d5477eda7b6a641197a25788102f6dae60fb0a107fcd90f8990f153dfac34b2a6bb047b55fab74bda2ea68f64589f7cee390606939812b3cdc2b3c58bb09426dc22a939918270376550c0da68671c64f2f7c3b853ef36fdf7d9f52d46316a536283dd5fd9f43cacb58833886da2ef29c732f331fcb160453b40b2eb8344ec9b5deea05d70d5e293bd94856d22860796b0452c5bf4449e1519708346f9a9b7dd6f2067194f8de7c5db03cd5ee7b09f6c881a1fb0023bd4ee5c473928ba39aab1d1ade4b8828897d1de7c75a09956039c0078b0c3a92cdaec08adf780f14060a1d68ad2a95694d1b90b54604ad4bc13fd6c2a467e62886948b044f50f14cd6ecbae9008970f01f50a8e3288b214a0bfb6afe91ba91c8688e16aa5e1425aea4ae0b7ec3084b4e2fc535edbcd00fe6b293e15324614c6536ba8f513675d45ddcdc272067a24fd4ff4c667071b4ff4b591eab3fa397c44235168fea2fe0620ee5553cdf7f8291f4e7f94fd1ef94ee87a93d73bd2821ff0540556bc21d65f555883ed82f972390a00b87a25266bde4512a00c40a84d22b425f71bfd0e982fa7c13000efc59539055cc8883cbca6e56729f10179371c7b5db5fe1d356fdd74b2153eb7db0b1b8caa135488e85bb594fad18fbb2d3cb352be7f54d15fd7de91a1e85c6f1f003cee3e5e765d2a3a1d74f0d5c1c6448bd77d239adb06f88a1278fc60c2b32c120dc7cb644fea5795d4b378e6fde0954b7f9e3751ef9126ffaee7021182ecd410eecb8ce95457b11d34fdc1b48cecf1474faa3a0bed18dc5c0fbd2098913ef2d94dad48f620ce114e5897f17f6ba031480523b71b792c5a29b91d88221cfb1cb5493ffcf3f94cf27ac1d7360c178d52a9f43b8d174c058f6158856695d52a25c8ce06cd27a681b2fe73ace6072b7924632215d78c8900922454f951e4f884dcdc376916130ae25d480185cd2225cc186ffcffe4f8e2e3814c53f63af55fa8f166ed304197968c12408724935b3b2cd243f43e76ac143edaff7eb21aa394b89ea6d3a5267ed33b93b3c68ced3ea0d2869ddf6b2066b83448410101607fa252850c3cadda90c562382dd2fb747e2d776e307065a2da1836ba39f4f7e49b8ec88be2eb5a7b9dd25f232bbacb6afe941b3ae9d888c55ee118abe3aebe353d1d2553d55315b4f6038b56744e466d416cead0ef3aa2db62f922f412a00a3f24feb3f2119e21f5da605694aeadcf71d32560549e2d31a340f075671b24b687f1f929f99f80db0539da32fb1f66b3e16f803c6d50eb6bf46125374e28be199dedfae4a66788f8f53709f045ec14f6a685872894c00ce6901ad7e0d33cc447551c9cca83e9119d32fb39e5114b5c4b434f987f46f5a9187555684435599e38dcbe1b19d91d67e6c391805b9229c0a4bfcd3316e58831cbea67608d89568649153060d48df3624b3984f7e62b269a517a2f273a61ed30f8a32b6d390b78c65abb9167f391a7e1daab448dfc1b1f3909d8a1d1506baace995a4eb7ec8932ec3bb0e903be6ac3c1b4fb8a60d25f686f865e463b7b0db5d4e117306f60174beade0ab9c5f8c746dbc73dd5b02f192a713f74a93598bbd59ff5607f83b68906493dab089057d0981af7d4a2179eb995ce4807c2f8ebc21e96614f356537786bb5ef965436faf9e76bbead0b88e5761fce492fd22045cd04fe7f150dc4f1736e85542058762450e12bde7ca099edff3712f6408d84afdf2a7270152c7b15c98cef6cde78e229e4dabeaf54481088ea3a4bde2053a01a74452e7dc392eba832ffd1d9d08e9ab0de9950e0c778efb7327d4564a003b8bb1ed64bc75f2e6e043f9f2defe8c6faedf61e196f78f96fcde43a5c37bf36bedaf08baa5e25546b49dfa0a29131d966a508cd059bcf70e74a2b735884a0490d1a1cc527feffb30d16350af776d029d168f7171b32016592c3d630eb8729a3fb9aa3def542f5c98710934859cacda4944d499f9d3e295cd27b4251639174108298e19919c0ee809b9f3b3d1ac686b77add1e30c1c31576a8fbacedaff233f5d7f8d9bb8dd345a7479809bacc3c6e8fd2231407e81929cc2082a53676b73a8acb1b4ef23536071d3d6fe1f373fc1f500000000000000000000050f17222a353c4183010000" }, { "nonce": 972, @@ -46,8 +46,8 @@ "maxPriorityFeePerGas": 42798, "maxFeePerGas": 103466, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4702f91c43048203cc82a72e8301942a82fee694000000000000000000000000000000000000aaaa8405a2ec3780c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f3626a00ed5b85c01c1ecaf59fadbd5f67e2b2ca4b6cf71eb131e198d4910dd7f9864777ff38303cf0edcffd7360f3239da539f3c00bec25e82cc981aec7a66232c0801e5376b1d56fad6180e4c1cc71d8482cfa0f2cd21a2f5fcded0222c74f40069e86b400e35900df1b1d4777ae42d79f05d636cc5f4aea6aabc82650911633f81f3039f9490e3f8fb0600370e7e429be5e38440afd318e3f527857516c732af4b63dcb89e285411c4b91ad3b0441c8da9ef691c304292025e0333133f638c581ab79cf4e423b47982dbe397ba26dd2ec7ea01487a0fd1035d88c25da52fc95695d859fc5ca257c97e174107487ae9765bc4e7d1bae40fa924ad6d6b50bbfe99b1aa928f1db1fa43e6224d82360336dc4dba5ed83198557b5a2c6c7c0cd24085bf24656e27f40fcf8cd2048f6e6ef0716b93b92d79bcd6302bf3aab36bb41f80afe792f0cb49ffe27bde269a8132d4e7c687e9fe5817c6acb0f5d9ec1872147464ae274449c83174a274a612a50d9940bf62f8b908318a57699df0c30d411c9d09175339be07a905b76644de9b34068364f7de250729055b0425c5e61a727991c6596d3457845e589ca59742e59b29b9e51e50796950e31192ed5f3782ad175f4a4c8a1c2d95965a0fc91f89931c980880aa84fba6d341cfdbace46735a6d7b5b53c9f1fc24855be63670bc48266d4acda27f10ddf18bfc2b9fb2f4d1d57b958fd2266df602d9ba8b28e0db3b3638799aec903fc8c7785fcbfbc0c2a1c4248ecd0ff9700d596ab8ee89e14016671d0d75a7d1f216c82c727e01726821d030d53eecbb68b3aab6cf7fc3c818982464ea14deb34fa8b2fe5dd2e3e412a8a7c60f630cee37e6b4d655efbee0841588c12120d8d558ce2dd9da93d2fbedb154875c123dc93add9b6071abf02c4e5d15535aa9c23ce2f02e32bbf73a425616d308bac64e9730a6e1dd91598e68248b647aec71b090c031518e64ffba1fc072f9e543abe9a56e66bdbd392894e5010c7454561d40cc2fac75869c6e73bfb921ee54b6c3f45426533ef89954ea6a36190920aa4ff6ed7a84c850d8853d3b9494ef46217e1c5e6fb5f8fd0b4e68d940acd032e98f53166ed5e9a84263a0627da0a042122822b7d70e2819bfef3fb0046c8d30e3ffc5a4a917575565aafc795e8f3b881d781e419259d5bb1e8d270ab3329bc21d5527b71b87b238df9ae9300d0f4b734ebe6931dfa80b983a365b67bee45bcebcf960a10ac04d8dd65b4ec7f4676931f41a6cd305d2ab86e5fb0ee8a6ff08dc72c36ebdc5729205ab358ac57ccfc95d1ce49cc07c15cdf3bfabdb0b5745881fa8a8432ca6e4ab1746fe14f385b87e9e263ed5816bc5069c252250343742934ab6bc8bb9b2e23d61e0d86b0b35169004a823e293d00aa9bde8fe748ef2b73e39a705b6747883c354dff1629de102aafad5db7f75b4df3e460826cb7364250e1264f3eace2b76a2d1a7db7aaee5d80e3acc40815dc944f133c537de3b8a1d4e7a6f9d26fbb4fac25a0d1f3258a9fc205e8f264a4a15467eb777e8ba16d14eccc2800de314c056a686254a70831a7e89eb889ccd8c38cdd90cfe691d4ec460ef3cd764754f9caa7e90312bedfd1d7d0e1ecd02ca9590003bf66ebbd0338aad9af56115caab09de72e0d0ff9e129bb4b162c6913a031277229b0a1ecff4f383d2da966faca5c334a966de9e60f3ceb96b909a1fc97fdbeb9cddb9ed837a996c882ab4672afe225de30736deb43fd518855c0a14f439e53a0292e4d3965fdf4f3562f9eb38af5e42a18396d58ca75b4fba94e2ba6fa03328b3b093a88e045d4c4f42e5dd4e5f51fd7d5574bd575fff16f11e8af98d48b3badfefc3108cf25bce5d547baa1fe48e61498157f63c72c235565a2e4e58f1c48dcc7f48ddbf083cc4955633249ce39a752d6f87514e6c79dac735b452928a328619e790ec0fa6b1a644c541c4ab2cb8067c7c5e957cf9ab97d600288406b741f8311741192c492e881fca8550516effdd91ca5ba6b319ca4909c85e43f83d4ab0748e4eede8bbb1cdbf7f9c392714354a35f3329f9c5036812a59da6f6067130caba18634fc82990a552596332674f4995393d6e2693c79773fa64380024cb578dba1af2e815f5c5a5888e263e8c720dfedac4c7c52242c60d97882fc2f0400759de9f7d5716f5da56dfb110f9c26403737e77b4a1bcb33f227aa01a94a00cd748aa3257044deb85404d3787617db5e893ed81ffd7e5f201377e23ca4b8b88a47b73753b0b54d2d41ef673825e5a24ca7641a2979c2a04cbd48b71f620b80bb628a611bde2160d567e626f98ac2dc9a935521c42006a0e2dec2d788d324e732042c7acc5e618f5a3ac33b47e39cf1821c16326cccaf7061436572a5f91ddd0041bdc8e4cb9f7f30458e648882a368e08ebc757b5d5c7c48ee025687398773748595b164f875e7bb305b07ad796c88e7d2cbd3d9a9377bb7fb0e07396ec65a7f7de2d4b64faaa4b192ea0effb0e7989b66cc234f35efe0a6ac83047f36cf0f20e4759c7da68b6bc3798a2b8c9a93a489dd9cf0c2e0b13649bce638ade69c51af2e67cefe993fd42c0bb9d38e6dbc108b778979970c8ef880a47ce3810bb5e2d67a6e3724b5617d84ea3e9f993633a75cdadfe05e4268e0e895cb2b0df8fb927ecf5420d7eeb046c1e92d187ff20bc3f9376d754c01199973c48e62a3ecf8191a764f0153f5c57f297757f326335e9fcab37b00532058ff0d3a3073614a29f487dabad52b66addf6aa655c3a6174dcdc0d9f5ca477515fef97b08605ad25c6bc24b9a63965e84d597d85b39452009b5f8ed6f357f64bc6bf49afc11d527960821037552b990819a3f46a3a24fe521ef0014a214f6b793b4ff12d29609290023fbbe5b5054e2b5910b74d1d14505a502ee04a71e205b9df17a86210a5e379891a1a260736fab7402b3e45030d986f76e4275c017dfd70caed528a4262362d5c4fbe99361bfb5b47cb32c78e1e23625af71c52a515adf37d43a55320cd22f675686baa36bee304667ccf1f480ddf0a36f542ed6e94d5eb65b88dfba15fd809f20ca4f310398996cf75dbee419eb098fec75ae44e610396e771ce6f755b5a8cfc3639de208424d0521d3e3d7d212d563fdcdcceea592ad53f85373686c3da6b949b57baa18e712cd945dabeb0f3b1dd1a0ab11fda0aad995d1210f8868e456399ddeef632e98453caa51214a07e468874b13b6eccd9832c9adf24a486903af0f3a70923de792622f50af7f6677e2c80106a5765e3c329e152e1d15f98908637bdfd38cb2e96c743b87e7497f7b69c8727fb202d61bc9bccd85cf1f3e3c3ed9c56e8f9763e51ee63a12608f61345a7c0ba53e9a5de7c6d75d6f86e7b10301af74cacc4d3796e1e98fb3175c010630d06640a70cad431a9abb3d9126c3accb90e7d2a50b3f8629aa83a0432e2b8c646c5a1d488f8f814094de73f226f66e064484bf4f7c1733beb87cc6a54039d6d391a787030526157e99b262d2b234e3285d7b9cd2580e9fce6082fd659cc2e90232480a63ba1038ac73cc0b52b1df811efb2cad318a2c9fc69bd090da5dc1f4cc2ada3d48703ac43d861bc50ab2ea9d8f63d8a164d7506c8c7dbe947e3fa4a9dffada7f3dc80af25b877673a1ec4aa72c238bd146a473592a3cd34a2097be62113977bde0db4e7d593800c8e31d146f2603539434d08e241082eecdb8709fa63710a9b45651d0525ab3df180de75f19eff426251f7e92dc6260ec8ea223f3e721bfa8c43aeeb2a7efd605a949e77a024aab20d9962b1a213d81569ff0ef65ad25d7c2d61a1786ef09b01c931c72a4693abe9bb88505ce879c9c213032a3c2f05decaa6bfb59b2f3303302239e933feb2e18097e08e5e592fbd659832be83bf268ba6b01029ecd5acdaba20be089e610d3824242cd0bf2712bc3fec808264f8a50fa1498ea83b460aea04cd516509b53aa501678cdee5f87a34b4e1d0bf3da15f93b39f9180440536b0319c6a277d911421dcc06ebf7a83c6c48219fc5693b610bf48578fd95caa34d03dcd72bd11884cbf4095f79cd204dd8d3282e52790dcd0171ba0523ddf1addc3f855870f5973623f3a14c607bdaa27f2aca824148a7aa03dc27b3434ca86f8c7a56529973985fd1ad980bcda4132584313dd5a768f17a4fee94b15d94f885406c2873a43413dabdec48505cfa5d859b7ee9a72df4ddf5f996e1bc7056ca5e66af09c359ad021dea2763597ec9a7a75396d8881c515314e49637ff55d45821bd5d86ab2348bb7868a1eace63808321f11dcf16d61291e7143836e10b9c753ef0154475cb79c3a836eb5e318e9dfc1dc73efa7f7ba3b4b3617ef7f60dfe0f2145f415688417a654480269d6aa41e07decd52f8a38111d8913a02f8d74de7ceab85de8e751dfeb2d936aca10bbdf8194167fcda9b72602e91bdac75105eb170557753e242664997a2c08afe330f332ec4edc4c0b15f27fe148391f317f4a45f51854ad22b9b645ffc3de0c569362f3ba7a27d8d9b8d910a2b0ad09a62b1a1c741c7de85eaf2a9494e611adc27b21188d032390415fde53e9f9c1fbf141e9db0e59f16b531ef524d63b0a627f563eaf0145b07d5097efbf93deb8463fda79e06a129ee89cf19018efd7e1240e62708b6e1ecb69b264698beccedbbd634148ae825d74356267dd2edc077d0cc41f668008708ed36dfc2d190f5ba3f94bb0190cb3b8606ffafa7ef18008baa7f2f4d13a2a7350451adeb03445a9636d0ec708edb058beda2f561d7ad492f91b04350eb9795dedc3c30c7484674053874a505f7ba2106e9ac0213b065118ceb6eef4657b90022c138558978b144c76271e52c99b0dbe7fb5b5245372ddfe538cffa7cd1885f27e40d7065f2080b89aa630d8d11e926d87237fe954f46ba77fc443936b3f0b3ba0f31196ab4b80b0d74eaafcc3e04fcc9825cf594892e5e3c26be421da4d7bc5b851d8e0140341e56969e3fc4fb2e4e05e82bf57ee02fa8ee6553897cf9d9a1be67bd2ed39285ba452145b61624c8ceb6dbaf61a94a8aa2c028daa7ee807a20c2d932b2a86d0b9b7ed7e3ef13b69b9d9819f82ec5d2ec4d7bef26085134f98f47bd0d90b8bd17db5a12883aee126968d790f7ffd5f671fd189700e207307158328e5adc656a268f7b31df163f4864c23a295eb07b473a4fd19696fd14b2f19957860fb5f049b99884c4569a28aa8fec978875d15b5e04fcb9cc6154f431a66a5c10c4b1eff0fbc883793cc5447e9b0cb81061d017cf5566ba04c85c20489e69eea7d8c7578f8716765773fd7a45c50dec6bda2cb84a04d4a63d7570d6aa32c5d1c04d7108bd728db39c25d50b523185069d050de2d4a8d13d3663df2b1bb8c97822780d84aba359bf467eef726c3747df57f5bd5f973746e0610c0613321b549583abbf32acf6d9b2457304507fbfd71f4956acb56a20e298ba4651b38c4d788599de8de12de614e80656153445ab3f3849f44d36442318a9f17c194001e638a34e19338ead9081b48da6891ea0b9f755d79efd7485e7230ce0f992cded308b1c5cc802cb1dd2b2b87c765f7423e7660a8f62639181ed50549b1f9644de58e872e28fc83f658256b386e5d4cf7eb55fbfb255169af5658eb058b4056e07b271dad73b75328a1ad9f043147035ee81b4606bb8b54bdb42f7d577fba2c80a413aaede218b948b69cdb45f987872417a07ed41ff59a7fced9a41cb140dbfa2fa3838669d636f96ab0ff861388999483a148643792dce4f57dd3ffd443cfc5ec3764267b14ff9c39956202a1f11aa3b832f02675a01b219e774c99e17f263430488107d5170be5ec9218ad696a79802c20ff068abbf065a54e61270ca9c1003b787cabdf10d8f7f4ff698aa11ecf3c2902d61bebb604c8bb10a1c7591c75ad4e74f4e0966ee92cc297b3a7f8bc24d7d9e2c642c3c94c7257f9578595367b8a533f3799a7f9af5cfa9240b3a6de8b2e6660ce695f185dd13ee1fcc8902cddc350412027a681928252f30ca5cde6205eaccd65e3fb33724b49597b64971536c887004baa9cb7ec229b7a789cd235284afba8d5c025aa7019d78fc2b1625a35113fc974ea5850edad91e573f9fdb64397c5bf16c71a35a9c6936a9ac9b2f5fffd2ddc3bc5b6edf90fe7a175152f72ea24a0dd08a91034cf02cba40c746117fda813637498f317794c5f29fcfe3c9908b145eda95fa762cfc396ac6493cb4ea6b86905cfdad29da7bf5cc395172e5feac461c64238b7a0e95218fec1f117a238d6907176957fecb47d882549c25b48f0e916e4ed5866623780f71dd2fa25d9b0fff1beda64248a6d7073c7ae6109796c002ea1d686c5bf74d6e2193c405e69ceeafa44808586bfdc132c6589909ec4c5f2212248697f8babf30f15173680a0b4d0e02f6a9c9da8cedce3f70b11727fa3b0bff90d1765a0bb000000000000000000000000000000060c151d262f373c" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6b02f91c67048203cc82a72e8301942a82fee694000000000000000000000000000000000000aaaa8405a2ec3780c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213c0f4154a44b7730eae7e8518bd695e0d83536a8bbbbcbbdd8814e13a085d576db60f7ac35fd9f1fc7144a66d747c5d92a08fd07ce706c878604e3f654b54e42ce146d4148d2134f0e5f159fe281ab46f6354fecbbf7cbfa49f083fa42a33dcb9d97cd03e75cc781a5da40f296b811abb29a59266d8d208815d7b2d844e5c9c15c207aee9e93a9f41a39c36a98b9900031de86c603bea4345cc9802cc9f0487274f6bcd1e5801f89a024eae0ac170608c40904054993f0877ee7b59902505e21bb9a72108097c497f744e99f273f8316c905c53614ef9c9cc5d3fb388620446cc8ce5077c3e5b8c026642be76cd2e70a3fb7d722563a675fbea23aed89609f980010c9d171b90f6ccd7ff8272e69b78c775b3256b18db33d8e26d12a88b6def68d40ab49781a28319f1127f9c3be2dc120ee61e8a988ee0b59419d5057b18f58783eb4e0135a585f2650822f3f97e27130210ae40db67379beadc2c479fb1c5960e2c51a682c4066cacaa732dc28487728a5bf9b295d44a9bd18287a6ca2d3c12f9d3ea3039ced166a7cb186095d3d7bb8dbf8d1317ffe2d32fcb5fa5e2e700f24b54cad191b70995e502ef13d6acc6fc35e36c20ce5f83467260564f2ae8fa08d3b49fe2780ffbb373c7c55d172cc098fbaab6279900566e2278fe965fd237380bc60a61044d671b30bc972adec4f60e5d143064b051095225e3f2c8ff45593fe4d6ab6491801ded5e39073c2706581a0b1e49dcf5faca2c7c164a627430c9b0ca69dee2c4a3790db90bf3b2a5b1e4d1a92302299124505c205d94a36205a876fc97aeab0b96386b613d457dd39ab2e660bcdd93bdce986c45da09ad72595a7485911dfcb2db85e5c815771a829a8267ead50df76c34397542ea87beddb43855000ea99fd554380b80b22f4a6308a9b1fd51f194cf1f131520d71094e0bec472b890c79ea66b137a09481e66f43fc510ed1cbe383c613e53fa5e6d3eb9dd27e8d5121ac72eeb53281cfd4ee11adc27b6bc78a6fb0e5f07fa10f610680b7a262b3302d72b671187822ba0a8650d1057bd98b58ac139df26dd1c7a511628fae1deed183aaeb72660ee85a58c55ecf791f9d316c81b6d1b2a1709de16eb818e57c816b01bf9a53126f2abd0a26413dbc837904b3d7d5f686666fe06cce1cb0b4c914b821876adf03980cb34b172ba7c06c47829e4d7adf66605cc99cb4713aa98ce7512960aa304a4f562769eaeab5433e666a988beb52e4920e00bcc89765042a2ed9d720577d9eab8c3602648364c67f5dc0e45b283ae40ea39f856c6777b81d8f2fe9edc9b8962d5b9767ca72c9244bc9dbeb7d2c91dea3414ef1abd472d2b2472610f1a9f190cc49e1cb0a882b17337574d3a90f220a27f361f127af165d173358ec9b17b4fd4320cd1b0a1cc83d8fb95cbfc9e7a898d0c1389507df3512fa1981f680b7fc680a81ae419f0b98b576fada72f12af139b102e548f1fad74935cf43cd588329f6fc8143b39d8ae2f1b1221040370f2532e52104b183207331d797507d0c6d5c6c956d5dd825b9710e17390eff6dee9ba30bc261c917a8a51efeaa9371be868f0d414477766262fa59e12f5b6d1331dedd0efaa8ab9cdbc7cdeda2b24a8bb570d706ae2d13b14470b06de89726fcfc635e62958a5a265792533c3cf787a05179ec8b27a84cbcfbddf419f75c81d0c1f388c90701536cca95803238a96a21b2427a24dc361e0cee0ee453a414e9747b2608e1f8234724b7b6320242299f6a14ac8427583b6f71662127d497e7657e76bad5e5a75fcee72973a78e846c79756c6d2a1c1e8e88e32c368f7d128ade13f2b2e02516d8ee5c396071657bd2f5a8f4cb0bf2176ec614099ab1ef5aa63126cc267af299af822dc32cedf8b9ee43164c0702f25bdb695805d691cac6acf9e7f1ac50c7edf92450fadfda0d61ce9e3cb4837634ff7841539bd2ee93a51841eee03e54d0561f47d67ed411bcad0b4b4130d539d744debf4a3b0ea31da3a4412e606887295e45aedfa25b388fdbae036418b8e089192200da5133b149b247b8fe469addfc3c1a7e8845044c35d2662973b1f48b87a2f172a2e1962743630e51e8c3428ffa54e267ad0b25be266847d8422af00528149797b98b0b96fc99a55ba758f0e0d339d893cbbd63805a41ffe278cfae6e017305213f29e40fa2fb1826c121761f1103e30879e730e70ee486b770a24e138bc5653d627b0db868c246239850e519ad0440ee84abc7b6fbb89bfe860633acc18f3700ee5bf3ea48fc863bb685175105fbe4c13e937e592391b59675dcb0c7455c4d867d80954f7bde22d2fb6dd22cfdd7665a7e92afa06356dabb5ccf4e54391094d7249e9114e57fb91d3c17b888fa897f67a815b0a26c27c0997a99cdf0752b64d4513b6c80ac949046d53b2b12f7f2439ecfa486348ab1908563958275e24259b3a8e2866ee3c1c94240367c61b25fc30dacf58b346782dc5faecbb439baf24b696d599e9b02f4384d109a4cc2ddb425f2dd3828e2b7a9c76b8bb993fef0459c2348704a31c270b4bc4d3f2b131cf00e7324d77a70c002da1264d188dc1ecc7759ddf8367b2dc7adcf14510b9b8d8e10a0dbce424311d45dba341583bef6a952176eaed2fca1b801075cae4b1f00aef6947c46ce620a5631419a2d2a55bfc31556b2205db3b55853dc5caef5b7d91e87544fef8a66376a8d444464ede861c2e46a2984d5430e0c23818d957b27a52b8d786049c93fead25fee8de80df53a5bccc1e61670bc8159b708aaf0af0a90bacbd92955aad1a5477ab9d44d49699c8a586ed40ce9ff80a9047fcd02d6f51832110e2cc4b8bdb610c4f012bacf6064dd4f93374d1c0ef9bdd0b0b75d2daaf0fc7d3740ee345188560ae38b27fa9696b3db68c8b651a4dc6022aca744db647bc3940434c2cddbfe1428c481c1cf26e0eae639919da0dcf128d8c7f3060aa97cc04ef38dd1d50e949dd0a8a6c3197d28f590bdce4eac8b801fce5e9036b2f86a4c49e5b1776feadb43310cbfbfee2afbfd130f8223b6354b9109ae2c87308dfcbd25f293027d41c3f60cd1511fb95c768baa81df0a773daa32e7b88b2c5887b8d55831709b2ae5307c8239c6548d41476d6814e2cc5d2c1ebdfdb2626f8eed4ed2fb7997047dfc75fbddaa2e132f8de5249542d8c69e0218d97a0e8e2e426a686a309d4c786a6adcbb0200ccf0e9ced6278481ec1828ccdb10e8f32023e94859d666babf2056a5fc85d8a062163b1f320dc1e3a3e819bcdb3ce63b26ccff20fa70459cdd518e43a4d4f67b716625e1b4d0550cc915cf2f55bd71a4df1ab83c1950b545ed4271ee96f3e0a837a500907a923201ec503ad6aeb6fa5f3117b0a9b49d0b7a67471d1e1ec1bd1ce83a15d5d1274fd89f2147ff174a8566445c1a89cc89365bceb48a81abdfa9389cf65db1cd1ae3f92f4e61f285af93fe1d8800b0807e74746099e5697746b742c660a07fd41a191334be12039a7633c1418d67f5aab41cf1ced3d0931e4b220c3f24abd8508e14c03f60ea28b80f2c264e72e8c950583ff1774be478f6dc8238b3275f716af1daefbb4b7f8145ba5b6c68a26fedb56e9469f656aeff0fbd96fe45d12bd04112b14f93e803c58ed1a5a4893a2df6b3f39df332d5e86a5750d416ef53374dca2e8c6aae699b01e09f6951ca2a223c7dea8952cc544c07a01ff13ebde1d9e8cb2f5356f1682d80ce4892945b0cc8d6e0d69f7fe93c3aa6c28b2685ea6a919fda07f2d92b480e6437c3fc37cca589ef4383deca38c08831b915a2b7f7ee166c7f172969da5e88771caae1c31578275121f70b8b97c9df373e9c78f8cde81f3b77be21467c3c8e5380af39e244baa68d21be074ce1c8c4683a60ebb23a0016256c6a41b605ad6662ce3a626e91fbc4c284544f52839c04beb33a40dc0b92c6866dcc0c10e42ea41b0c224ebbcb86c7a2983bd529b4cb0674a88506209e8da7fe872b4d3d6eaec6292419c0208d2e1d08c504f184ced7f2711b4b18dbff9675fedbb644a7d29414eac51bbd6e7470b77a7bf051e0a0657b342427bf4a9feef817ffe9cebb30c1992f3272296b6f57828cbd3b272c34d9d53bcd886e19e91fc6849102466a72486ff54e6c70814836751147114d64179afd477f5f1cef94de3bbab1c270db7da9edf529c3df42a16836268224b6390c22fb4f050a78eb4c11e47a1b5003e2fa356138f875772bf0eb88f58a954706ab1f54734ad768d809388930661c69bfe47940e356f8a2a74904979b95c959148189bd97e2c331c64bea04aa3564253dc8a00e4e1d3b823df4864e45456af66385177b7987e279d9ac28cfe2811a352389d803c8bf7cdf876e4a598fd0b32684f8ec0bbd8b574e22320d0b90db7aaffc7465efd4b169d4f99e7d62583c929352ecc13dda9e91551bb689784852b0552c5348c6d40e997bbee03e7633ef6bd0a2c4b1985ec5a61fb9b6db89e6e9064c21816e45a5561d10c4d91b6de60ca96567a2485adc79c8c1abf534793cb56147390f5b324c94e7c3405a7b16859993f4c39d0c63ac1173b9b9cdff291da6613147416171de6fd16521eb49452e3cb0302bc8303edddf1563eac21c5267e039766b75fce8b7cf841b15bc3b0d3df2a8248c00fd7ca4f35bffb0640b625f478db891f72c9489956fd22ef843f0d090d04d9611a78f6789d8df10925f960441bc82e746c50e0ea1b93b71f9d11d3b3b7c70f23bfdd5124e40999b7e9c155e73db861e87f598d8fa43855eaa61292c59a947f158f3ca86668f7d3657fe7d0030124ba3643dbd2eb0c6216e901ac4df416a73a0d6daa3f6f0f7989431eec2ffdcd069ad947d0107c388263a96f1637b85d3d3eac6ae179d4a828932a35932814102229e98157087731a999efac1f3d5548e6c67f7a4eab9e92d873a66e2d6c0f016758023eace2aca9c66c00d8b101f3a90343434a42eb80e758aa816600eb1ba682ab60ecbce22cb17c6afa0096a67be2034a8100b81446ee84f96f7d42509a6109abadf85b61a89524a32e4d79414513d277f589f3386b00e81f09e1aa76751189f6225ab58c681207171eadcb2aa1c70c89e2daceb7227255938767f5e8e7da6ff479c9390775b1e63032db4f99a38bd1ad0967b46dcf09c7415bb8a4160ea716933dd40e7b9550d9f6a53d2280af2de9c2c5f8d9972350736795c3df47c8b742dc06a88a65a9dca8ae3d6735a1303395a463b3355dfde42bc22c25c0a5023cebb638938ba55de6a31dde75eac957e08999336b021d20a59fc418e2da2fa2c184abe281bbf7e38ad9e2a41f30371aed3264db4759cde04eeb146cec436cf123c3a1fdf048206dfe8fcee89eb76369b751fa29f2a916e38e482a92b26602eaa0ab4b7310adb1b87b11f377297068f2c56452ebecd567228d425180b55a03531fe093782ffad5c9da8c24da00308fac27b721e7a3e50925e8751bd1d88d5f7216b1146ad915420fe17743be3774a9141e41d50f32f67bb2845c6e3e7bcfa1202ad82ae4156531ca19636abba8cce791b3e38e0b6efe070595e2a3eaa01d3ea7b10fe8d87f9b67485f425f3523fe1cb68d784146c76be64d7d280c5578cbe2469ecedfb5782a65549577f28d18db437c9da5acbae18504bfe6aa4a323575614f179803544c04cc1c6e13c8cb16128216df98e8b63dd29ba11325f3875d51a6018e8ca4eb041654547ea2fd0bbf7ce2b7e2a4f6dd47a53930e7b2c607ac777522a152343b0feb7cc75ae214297ed0eddc483a77447aa0a3336fb6952eb6a60be44667814127521080f91f3df27fe40bf97c2f6656edf0f14fb015c7c1bc9402e3af8b6ec685ea74c94108e952d3987b7be027ed61db5f54172f17b8fc2e820c000e6de9d5d94de04d63d742e1dfdb8f7d98ddd770634d8e3fa45455ff7edf1d3e7e8e6a304dc97fadf04b40f064b8003d5f572ab4f8d4431bf44e7518297df83ae2891c2a7c5d2feee1da152f9979de36ec32319a40ec56bac543ef58d8cfb7b9d022c056bc7c3c61dcbe593a43b85276e9eef85e773a64a1a6dbd67297855c285eaa13c5d71f4bd93d4c18749c41b872967976006f259fea38bc378f1f66739b57715ed7f0018c5bf0ac6cbddba7659871b460e3cdd1c12079991be2ac4f7e7083f5adcc5aec70e07874546970952e6726f046894aad9086d696730b2be0c96a27b95b01c422c5b865eb47ae01ce7a27e0375fcf319b41bca04f05b0d337277f76be0f8f399f2133398c72500f3456dad1a50578eb59b9fe8f5f9a6d038709bfd2014cd90d22b83502d6ede82256d56465aefcd3019e08cdb2598747ef47a53e61479ecb29fbebc71cdef155b6ea93a8ee8599e4a87b3f0e885ae8730d53d90e027b514ccfd51a378c725d5fdc6c48970ad72ea5e5474aa2072c5367ef0c124e6b7d89cdf6151e617983868f97cde0e3ee070e25282b405071eef600255f6495a8adb9e12429636d72272c36536ba4a8eaee4e63a4000000000000000000000000000000040c18222b30393c83010000" }, { "nonce": 588, @@ -56,8 +56,8 @@ "maxPriorityFeePerGas": 87890, "maxFeePerGas": 130273, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4802f91c440482024c830157528301fce182919a94000000000000000000000000000000000000aaaa8405ec1b9f80c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f36203d797ba0623d4c18ef335223568d3cde022df2670f327722268441712645b31149bf219abfe96e88670c20367f9958e8469c5f4f828b9dfd2bc8959d752e6d6df3151a35692a3a536e646b6844ff3a09566c5094047c57cb51a22df467410c79b85c6abd6075a2196689e5de785a84747c7da91d9294a0df8bb95cddaf97d6415f42c60cc54d9ff4ea900f0713e45386e6739297b87f00fff37f844eda791a88b785374f28af0e18f0e40edd36daf28372a7dcdd4bd223af296a7d373358555fedbec8315ea332d49618da6f4e4920bb581d1d31090cba84d41b8189583170aba6679e303340d1d09b19a3e013ab2d1beb93a9d2b2e6a4852ad54216d1388eabd99294aa787221d20e54c586e73d51e466bc6de7c4ac2a337bbb2456d1547bda73ecec70d8d0a5e0b2aae132711551a4547705ff5fb74415cfa307086a41f9c80aa9302f8faf6bb7b390b9535bf0d447cbed7b2813059ea773730ed5b5d7dde603dddd30eec74cdfb5f833c5ed1a9d2ea9ede90c3d450ba9dcf8f4852bd393cc2d1b4856864474ec34f67758dec60cf05d325475bf21de9aa5585fc4f8735df17cf9ff97ad8adb04355a2a67d09282b225e045f9cd168624b3fadccdbee0cf17e8029fda3140b22adbf9a96b6f117f40323492e10b82647adab4f8cf820dd46c48f978643dbc3d0419ccb4bb4041ff59b94e9f45fa27aae3b308dc344e11420974d8e90f53b2f90d7248d533558f26a15b7c2c66767a531faebe78f663347cde462c4732f881c44faf3d8cd3ea85a7f471f6ff9a7cf26ef4c1acf9f25b5f78c875005af429071518538e9d85a046c367c43624fce26606eba7658c2a7f54df2e0c5af01e2b005457bc71289864769318508e8597b33d8279ae36d0c9337d814adf03c158111f342fb7fd56b59ac25d7c8f35977e4c21e6c1f51359cdc9556c26fefd705e6a7d29e3eacb27c2cdbf7abc43e6f4a2e2bb2069e32f2b991c39279e757c4da7460bc72881bf572b065e30aee9e15f2262dadcb890a2aedeb50b5f2233ebf88ef0b95d2261018bb267079c8f03b7f2eaa1014a1eeff39974e77944a88068a5bbbbda0d7683336f8c9feb9f57d6afe73a36fb0511b1239a4da567024dcf0a37c212e5bc6a3953aaee76921f857791044ef95f8e4113a155c0bbddced1d2328df166fb4d6b44080093d6e7cffc0a62d17fc4a6b09089d1a7da90b316ae7c716d28d2f9298678132b42a1fce5f0871f9d8b02d86ae5b76640aa4737afd7ad5d45c0ed6a96f130813b7d51261b1f8030605edaa1258d0df2d20edfb4130e76c13273170da0c81d0c722b2f336e3bbc9101494ece58773f328bb1c8b9688be47fcf1c207835e8f2fe5225df5e56bde9acbc36134091972f33d33866e148ce59d986d4d6c5bf39601b0c687be47e450ee4f9397f211beaa0f5e837b776fad5b7e80bd9639f6d482cbfd6fd7f86e58c967154f2512bbf776fcdec5bbf9df1fa9587f2bafb277187fc7eb2a2578e38ceede9046928bd33ec72d046325f1ebbfac9dc00636fd017b6ec6a4e0516b222ce511e2eec18f00510f3da055345f671403044e6cdad3575ba071bc6e8f73b2ed5d4cb5226988027604ec5f9b784041744636cec5ab009d460622a4b6fe83a06508b5d1341d46c2300859069273d0c9197032426684e5e1555fffc384e1513c44a043409ccf46cdd037f0acf22310e3919fa215527c3c885978a489296b2e6419b452fb8ce2df53834e362771ca8c60846cfd2c28e021c03182c526b4d4ffc9e77db3176bb56f78e572ebbde5659d1f646a2dfd630fa637c412ee8eb5150492b998084b1e1bef37e61b5bc91e45a0c92c331330f586980ca97bbd4165809195b36155cfe0375c1e245b8cfb0d0c5a0d2858072ec13991278c0983348b71df4e8998431d4022ef112ba775bd55c84db9eeb28726ce6fc484eb52012dcad90f8fe5caaed3cd709c6ab7d6bd52feef2f3e0aaa5d50e1c4b02e227ca4db6731491f14ab7ef808a69b7e3cdb6853904a3aac9cea3f962a97d1eb0b0837b10abaef2b6bb4eb7efcadd7ba4b8b931799d2e767a845b379b7f4e79e77c69886955c06effcf11f97266c5772a313e04fa3f3934476135fb9208d19c4bb87bdb79324803352b432740ddf9443dbaeb542769ec92a27117daa35f4ab3d6e85944f8d7dd411ad31fee8cb0b7f15bc67f0e752bc2ecd28f14fe18076a26b442590819eb3918458ee4bc7cdefd9e37f3b1b26e4a7a79d33ed113c8881a5cd69df82dcd699eb321e9482811199d33c936427e352a1619246e645ef94ea79618e26d843ba9e8f48a0653b43d29a03ab231623eb559d733fc0826b544220c8a46665edd5c2c24b8f6d79ba512773fea8d397ec39e3a003746b9c515e58a463ea3587ede2f36d203392355c1c39b0932945e1111e48c9cb39879a81eccffbdf32f3bec52ceecff9281e521d309a5fff71c9bfd66fe33c3c94dfa67aa32b42548d7987b6b30c9a24041a19a32fc3b31611712caec6e062c164e0fa1905e6ebaab7ef06cea8737c952a7850f7c3a4852a7e3cf320918e1222dbdc34c1080da3b7e4ec5886e5474d9347a37d701a38e1736e14feb51957ae36afd49dbde2c5124073a9f59cc177c8ed7dfe3c71416b862a8481865896c99eb03a68cf597823cf5a63de31849a66c4ec9c629a9b87dd28e747df8905c2ebb083f782346f06ff5613799fb95122dfde046aab65b553dc7f3e8da9fa9795e76e8c117344eac257ec2e557ff6534dd5869255af47d41f08e18c5825976b897303512a2f95d04d7a4ff96bd81281c1c0f96e7054f6ca485343b3c594bfc37777a3223276837cacb4b373f5b2e419e0d603db049c06dd2525c768463c236f6655110c310f5cb8777eaac56fb59cd43cb31d53d5655704208e0acfd85cf1b22a517484f4bf8f258b7050eb69b4aa498ed05aa12fa77f5eeb2a46656bfe843fe5324c33a4943cf88a63da5419787073eea5bcd60baa70aa20af89b46bdd308eadfad1a8ab239d8db76581a84bd1d632b2909a1cfa82716901dfe154e623fc51fdddb641506a42675edd22d89193b648fdfc800e6fcd51cae3bff3f9bfd003ceeba492864374d694e5366dfe95c03cb798aa6d70cb128f73ec437754684cdf15799f1b61d97918126acbc9e9ab662009b1f32e28915871c51bc3252044d396a1dbdd66744e1114add9748c9466427864c5f6618eb2cf920fb8fe21a4ac835f47063723f856292a23395ab6e791c0190cde48eedf23b6dcbaec2756100d8d06c499a1a854f2ce77d9ddbc5edc705d4456ec8765da73c3fe685ba4f44e4ce478bcf3a5df0f651299522a4e71ec60376c6e950e7ec644dced9bc66b13b450d45ffcf8e942f5f476a83f10e29aea805a7b117a7ebac315fa698da3ce9ea88824cf2aad389a82ed28ff702fce0da6bdb5a79d7c94f27fbbede8ed26c4a6db5a97f9e336b6ff1d6bfa89bf6f4f1ec80c634c66d5897771f0033aa75fc90533ed60ed477bc656bc4c1bd8d65a0f5fc39d4372b6c526585dc826f2b54e0f74effa1c9e97013384e3780e4403290c732dc2846b067e9aecc2fc5358c25aa67b6217ae7c88d1a6d8c77941261a48f5c8126b9c00f649b1d71b35124e96f9b0517d276b31e512ee0e37fc766a041bdcc6e92c2a7621de88e3cf7b01a023a04d76b5e1e20fe7989121b9c073d6915a2a679e173620198e7930adbf9118a5627db30420ec87ab6117412aefc07b9032fd348ad8e298c5958fcfd4f4ef1e1840b78616110d8416880018a96e4765cb9b6c99bf92ee003020bd0db409ff379516805c196068bddf34d88cef6abf4120ad64c3909c27e412225d6daa7784df9c7bd0f920a71cc0037dea71219107ac82e3fc031a07c0c8f4c6b6853e9d655c71f3cdac9bb0fc84774f150bb108154391581c55511f5afe3890cf0126d4f7cb64f3b02597db4315cce85fcfe42fdfaac18d7da32aed0f070ceb628ea42f290c4e4d2aa6d6485f923a4379efa3d7b9262d83e6d62ac3d748de678f59ecb3aa48fa8aeaf8e4b84a028aa910052c8a6a197ae51953f0a76dbc19530020f4018bc43af5b29e636427478a6507f80761d715df0492eb6a24fd53a2c87c81ed36b0d3241d57bb74171c47f5850823c7951cc7c6d56805fd48b9d4c8deeff92f0ac344b24a1434d66b648974333c8d5d236a4ab3f0dd8b7650774a0c8514efa48115b285f385d7768beda878ad564cc4ac0cbe7e1934caba476318d9f673b99bd8ef5bb6c678592ce59b3b8f7bdf8e2c60169e08689ae83144a2327b629c6ad97f4588feee746f70d28305c9397769e067705dd45b9715f02fc1156e9633aea009febe9698492b0d785055dd26f80cbe2aa9cdf779d77f56cb82dbe74d2acb05a153c43206247fd8b54f1c06bdae138f5ee9e4fdd5cf8a9a8a0943632265bc849402559ed5d4e3c406de8505de80ebaaed0893f4529b6bab329b37d5a21c41fbad93964f7a04154d2c30b6db5d09dd02e51b7fbcb0c0d971e12294eeaf55a1af3681a7deb9ba679c77cfb7d3a4fa1f411f9d1ee37204bc76a319ab58c27c88856591d146dcf638936e88c429dc74f6365820ad794b313a9be903bae13e72abbb26a0461a5c526a039d50aa251f281c9f4c2e5190655f2583af2e2ed869a0309aa447398224a5123b4229c0156a1433c8112545ce504fde1ab13b0e9c1807beebf2158b5e4e4f9cd520ce4f3fdbb1c28a6c2a4a24d22304cd8e82a74116fa77d5c58b605f33d4124374876cc322e8510286745ab744d4efc8b49ee5879fa7a2ff86ff97072fabfcde477068fa8077eaa752b8f283c183808948f65f89eb40b6aa9eda82361871da9585b4f6f384cf97cad670ed2c60c02096b414f336092bd8abba8b64f5217ac3a18abd9914b40d6ed9f5dd94702d2b474687b83bae309eb5006b02b6b521b2f9a936eeae94df3fd76fd6eeb9f08495fba23dceb4969477e056ae538e8850a97055498a15b520429a27e772be631badd0f6acc806f46424c55a3201c858e99f9ca04a6e9fb0a72577ec61475779a8203d975edc55728170c93477368e051b41cecd23e0835252950c4a1adf8de74db4759df4574816ea329a773c68e276005fb330cc2454ad916270a96c632c61a0dd9274ec6ac88d563fe5c9c604466eb5f26643bbc3bc21dee6a8e8923037cb5fd9c8b9a401de7d53b6c8269d8d0abec77fe2585f29c8bac13022dcd4c01f5ba34f6d3024a9e943fdc92b441f6f29e203b761db3e5f22211264371b97f6cc7099e2439db71e26f88ab3e7a0b9dbeb7f99ddaad0a87b9743694931b5946a60ea6ddd7613b0e95e116f2df837be8456f264805dcfbf8818fcac37f821d0f9ad1ea1535fee033bef784215e70b52f73f4ca6a74fde656781b545c1daefcef810de5789bb77e267c45a35c26f0e55b066d83c63dc20d80d5bd3b6c6f2d6f5cc608aaafca221e575b4ec0feafa1ae8dfe23f1155b92258c4c9684df5ba90d70a1b55884a2e33026c4b986aba3f0ba33b7dd04eff8b5f40f561c97f8ed2c4791e22361d63074a2b9f9f84af0b7f8d34fc16a0f7b6afe1c4cf9adadacf3cf0e764dbb0962a2137bf8f2b381b8ad946cec4390d03deae302094086e7d15af275602ed9a128542bba7cd321f50b2d2aaa35ba1cb5e15850116b160fa44b6cb44713da08ec67b16bbab0377aedf846161c4a8d388631076ea888bc28cb5f48696f2d0eb8e0d8b507a29a2030b33584991d92b2d30cb0f364c9d5ebf8212acf74a2b7f6c93bf42576ccf2f627139e9c8a1e4ebd1f353b076913e81df4a5d6ff148e4d0286fd9e1c0799af8e1036dfb2b666c7aac7268cf1f36114f679cbe7b813b183da4a272e803378e986826b31af75609271831eb3eef701cbfb4cdc2752035159500afa0fbea6bca34ea1513919316ede7685484ac84f024f2f27222dc59c7bb650fc0e58e8f161f5cf22e8b6736c1b2297034ef6cff42e0bd5ccaaa9b4fa0e857766e5ecc9a698b192a9c3c4e37abb126e8beb4c210ffeb55fee0ae6b918f4dc5abeaf73db74bb6396dec2a633bfef1e69a0f2c22a68aca02cd9e687abf466f5487540c765c43d9cd1747e27f617876dd9b9c6014a9d1d66e540885ceb25a76272968f5309a770157b8c7685054a6e1655d5080dc3da39c33b09799c1f2e6586328718aae5c407367708168d8aa3de483b538be12b22ba38db49f1bd7babe5304399c6e5fe68203e3b03638f511648bd8da760a111ad0147ad33a6ac875ba264a17275aae2f852341a8524019c7450da38739f76be40bedbbfa7018d5bdea1a9e9fdb5a7e624549089451f357a6bc70a33d1f110fe1d92ce3a9a163e16aae5f060b125f77848bcaddebeff20b3c4573749db5c022838ca2b4d5d8f2f6f81f4a72d2d307294a5c71cbf90f3b40449ca6a8b9c3eefa002442717d9f052657bcee00000000000000000000000c141e232a353b40" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6c02f91c680482024c830157528301fce182919a94000000000000000000000000000000000000aaaa8405ec1b9f80c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b912135f65619a302aa3a954b687b3f6e62b5e06eebbdd52a4061559cd33d9296c7b24793077c990268dc93edbfa02efa92cb30aa6ca3f541c271fb37fe7c1901ec56b8f25969af497f158e86237daf43d390ca9204c74cb706e361f29136aba84f0fbd5f978df54609f18e09d54d24488a71487aa1d89c8c74490df6dbafe45f32b25eaad8adaa319fdf8f624b71ba5e8124f0135c6e461321147469eb97374abdcf56b7107201ba4c0d120720389547039e533abf36ac9c9c074f98fe4b6e31acb888011fe5630c59214f1c46a7c52ef5daa7ca70e51821e376e6fc021a36f3fabf4893fbf128826416c0e43f2d93fa88e03c3c725b4c61f8096e7051c9a3fe3bf3152912f37a6c9a3cb5134163592eae6d9bd128c8509968be6a56d120814c6528ecacd8f7e12bbb470384d24b7b63861026a734510586b35c9fe6a613a94d98848de1b3387fce8be1d5ce91ff1068a08a0a42fefd8ae4de7ceaea7a6dfa1bf00f77a03cf81d9c47fd92cb4f27e2dc588bb0459dc48a6135087e1cc200aeaef061c5066f1e619f68fa6d568a8aecfdda927391b987d6ae0489bbe2e01a8ff010e574724844fb40b658211be091c5afec12360339e18c5a99db7505194e53d52712fc6a6a2f307cd72558799285aad922098aaa88d948a59ad83d86bf6bbe3a6650cd4dc4e5858d23db9ca29ef801f03a6dcdcb4c958ece535880c5e2272f5375450ec5f9143b325a3c69c90bae7acc871cde883f6abae88ee22823c45ae4fc9c35b8c63ee397d35875e6123f7169fc4931286e472eb375575eaaa7478e16e7980562dac47b09acd9f314c6c7711e3332b3eee2f537c8d874eb964e9399fc669a5f229f239bb9644be9ca63d96217c0d9cb89a2679648297bff0f2bc3da92f76aabc36ec9eeed1200ba47d73f08d03824301c815e272a5a403e0718da02a73cc54d8f0c1cde6e59b9f6b059693c106de66e2bdd0956fa5399c92a375f7bf8807f99620386e298f98ef77f5f4d359b92114a5805f77e2462601d0b15ffefc98137d2caeda442dfcef04fa93fb55361b2caec53893a51483df53385fd8e87b3a9db82bbc33cf05b45a52bde5d961e6dc47ca19fd38221094c488186b8bb6fadcf16d584b88324e6530b11974e83492c5c68e07630d07bf635026cd4f3be913601e726093d006d9fb1990f40ee5d2e807125d5a00f190e8f7f1aad741e999d92ee4a6b56d2bdf18be26871f5054d35cbac0d07ca455a89a50b977be6f69108be50be649068422b59d3d6890d5baf3c8d70790de23553803b14e7d3df89501f9b146dfa06c690c515ff59128235c938e9b4d80f771b120cc434e82145c9f421429663ceaa1945191371a5c0e3ac74b553e1ac7cc1db1b0d8eea7befb56146451c19f944d517338f446cf68db452f15be9a0b5b79a38e1141ebae83dfd8a2de09eed151c97b164d748ab3a1ce0a7ebc3e506016395a7975be114018be0f75775ec7efd4cc4626fa72e38a5403c88f0f3065dc35a945d04c68510c9c01b1d5337f164f4f1f4903ea5c30627b3be6de4e3cf2ee0c932c096e7fc330ae95c35213a072a95153ae04b1b38dd74dbaab75c85f9213a92365e736a876c21d80194808b7bf873ead0cd33ed798ab2ec8002490d088a30705ece8e05d8b337a0aaab0cc76eb6083a293d26a715267be8b994e9630f8a76c3bb9f5879716a3be735b3d1bfd296d9cdbd10d0cc227d1447e00f23cb26ad9446ea28b016513cbf8839a226159ecec4a035eea5922a1f97130fa79b62a8f205e45c688f432d15e19a3cdb2b8b2bdebf38645f33d387baf503e6327dd6553834f7021a6907c7b2c833b2a2cbab6883d6b1ced72420acf9681b42176d33dc7baeb0d7b6e1e69c7af08541f2f8fb267c37c1b495173b25edc6333bf6539ef8ad89cf8554b721e84d6f37a7ab88aa42efa69f1fc54c44137c20db25d40a67957ec9f5761c379e16d142886763ba8caf2f2c27482d2c1b8c7d8cf2c4ee2adb97292d26eeec3313eaed74001caa0c6d6d25589abf759aa47aa8fbd7cb4e1b9598d9cbf350b5096e4918492bc093a4b93f73e67e7a1200f572fa4ce0f1b4889c151ddc426ba0f36aa7eb9f9682114919122e80f5ba8bf5af8e66927da6abbd611bb569d0a47d47a07abf16b377fefc34d2c163b8e7a07fd4e9123e59971ee004d7cc9b888697cdcbd0b28799d435b2a169a98c4ee8bfaafb9e800ba3d30fb97f65b139dc072f5b4eb61043f014cb780273702790ccf2908c0e2d0b2985132a7029334d97f6b48dfd6e1a29278e1e40cccc73ef778e3b77110f3d34423ba0ccdf82cfbd1e1e88e38ab4a78af9ff42fb1afe08b9f41be588d3f43a9258591ad1ec55c23004a42afd3cdc0879dda0456580657e42d0b7f25ee4cad3dbd9382f98e587d8d2e2080b3f836a332b4f2c3c031ca8a935d20572f42826aaef34461a8a8308be91e64ac5f2cf53213006352efe0d3ccfa97b1d9ff072a2526e8918de40087a44daec1c6a9e9b2b465a5c01091eb039b04f3cef0c3bcce6423c6800da89778c301e8946ee59e3f634c51d880e69c317df32a4c69b987f629cdb80e348da78dcf54a1f838208804db32f7ad437267b08d4e5830892e2c06896b937f207e51d58e087ae61c2d17a3365d2f43ea7c733f01d161124309939e820359f1cc7bae3401d7c77a0ac49f95308a39fe9fb58a3a65e522eb78a2bb3ce497efa391ec03d78d83636542884e4fd49ecd2d8c61e604413a97e89295347bd94105206ff333e2bff35c140fdc7c05cfb3f3bc8519206f4c4c0dd9cac68746de66c4ca4ca5472dacbfd456bcd96b0f298c849bef6860fc345612f69b33bb6fbfab89070f64cb5d984707370d37ad28d79223ec3be4e5f1d5d6096432d3f71351159eaef9890e00e9ac5c8f8aaec8fef24d58ff7c5636e48d666bbedc1ae7dc54f3682670f13f7d1d791768e29c1071d66630d4d6de6541a1b1bd0962f613cae87e10e593111200937ef1bcd4521df09be05d60a91a4cc8c36640e82d6cee928f459a59d64063fb5411c1b5398af700829d44c7b8e031279d1ef9469d396b748dde56670ad2002f784627ed81175e51439246c4656f1abc5547374d4f8a9e91043a87c241a700cdab544ea01448c95d3b987ef3e29a6d52bfebc8913fbb3a786ecfd017d9d3df4703fa1773f9182162fd30888ade5815ec6166ae6999b00230fa20a725fb3e9a499f36173f34b9e7284a38f7a5dc9a229def33f689cf9874c809d82e91ce36ae4d639408ae5d2d3f286bd93b7877e42027c4811ed1aaeff0ba90986398a5e4699d13a9e22cbfd325791d63597a6152de41476c7cf6f2d04fd009aca97d62aaffb60a452782bc806bb2ec90ee806f425438850cff497789fb48562d7b677153a06af258090e33376445bfeb559ca01a6f0a61af01ae119c540ae6de859099f7e051dbeddc2b744a67b68647f7d493932caa1ecc46b358a600fea789878283e0fe428d7797390108bf8b9d15020495620d557479e2bf616178b4f46f6a01faf75ebd9eb620e395b62180deac8aaa9a7932d7a6f85d1bd68f92f60d392ee4c93ca3a32ac2f27910ec885fbd72e555796caf537210c669871a79e7c0d006933dbd910ca926c3772fa81df74c109128622ca06a14df06f9a7a5fcc2fec5191c5fbb605ce9897f6fee3fbf0a5b3f2745357d3de43d557778f632af862d223626a843877cfe109e13e946a836bfb25e0fb6aaa83c164110a20c865c66f489176b2e939a49979bb6f5cac84ea59a032d0ff84d9aecfb12df8c85b92a53d5b9f78013ce7e7f963590db674f9bd8f9f427f90121a2988780f1ca85b975f1aee9e5273fd2fb875e426c522a0e1985a795e17be1555f22ae9b421c3e7ba34180073076f39f5f9af93571a3bb5241e72f239a44e90531455fd1b8b340a446d90e40f0aeb9c635c49671cf00088fa79fd975f1b383f12e23f634b41d47a34b84d28818b5a85dadffe8aa7086b87ff7430871b94d45a04bc4085003a236187abeef2152938bb22b8c5005267fa443fac8a13f0f6a08e061c8b712608b4176abe550f39b54e6208efdaa4be277db3e94dfee7374c247e53cb6e737252166d4635eca16dc26ef00ceec0fc3028c0dd794bd39b92b737dfceca11a03c6c9196001dc14e733bf9f66676766f80388bc8e353b2c3517762df20a21edfaa9d5b32a0b57160985ffdd58bc1b6dea16d742d0300c328ad81e2ec49492b646e9b8d08faed0e65078087f0cac5b307007efa5b8ecba4329961b487ca383fb4a86c0b65bd2de16b320043cbe84ccf33e19a9af36076f2b12656d5c80cda7696404946d3e20ead6b94c6e5e2a6f070f76783b9cfef1e0b096a95b74b81c5804156ad602880e3e842c5bf9ee46fb6a10c905bdec88b9e4c30659b9a8abe19e04d3fbe652df656bcf52143ac9bd00bfa5e0ada5c1080ee55f348bc564a63b6b36cbe87f5563f02ec2ed2cdfd979c497d2881518f204857c51e8d5fe3bb4376cc269751040c6fe0101c878ef19f8d1566b4838ec963ef2ac4ddfce2039d1c51c8ead2fbb6e14e578a459d1c0e7040918b251d00cff3e7a20c8d58a1015952d881220776f86e99cdfda7b899744714b247bbfc10569cacb70bcdd491dd1a72f7f4480de0950a30fb07b2c23342098f79842e1ff7aeca35596251441ed659c710c55d27096ddb9c3d85fb8d182f1d660e89862c0c468374d6e752487f7450c5485801b7dfa6b237cdfa681eb8ab4e25dd9b7308a7f9b89a0c14e26329df212d9f2b8e0be3a74d42415c95ac22dc0e8c29bfb5982e5beff786f0561ab87c985f626fa8397565078ce8f7952d9c88469b0b6bdef3136ebeda5d28a0d341ef3e3127be42d54e1e331191cfe70364f5f86ba43e25f0c823f5505775b6245e1dcf796ed382e870e3bd7af00d7049e997cd7cfcbef50ee90f295824582a85a9a0f75cad3d7cc91cd66ae454a296a9b6639bcfe6538718df0699888610912778b71ed300e15a44a29882825b488d1ea14cc1319607c9fad61b5bde9ae191786e1c23fd76e0a0fb9bfb072163aa7cf5e9198228f627b3717a865bfb84bb696dd74fe84f3f95f544e8195e8023f130854c4a52aec1cb8d2757a014df89d4fbe34bca0a4e8d9b2b74c3adee365989bee70719b9cef638067580ab23dc8c2f28e2cca9ff29921a7d3c552ebceee117fa0802f7fbb3b3c24f6a6457fe2de3744b539ef5a61c2f6e88c39c4933aa4d9c5329002e9b57cca674b3c85da1a90924daccd034b654befb9c0703925cdf25b6a7997728360c04281c347ecfb5cfe5e4da8c2e0988aced701179e37574e55dbe59a7329234949a0a60b6bfc70f02f9ce76afec63f1c825bc1e4921ce56714111de1620b21b7f46a65f8cb9e93ff18f0bfd9ea4efbdcc5736e90cd10b97e759077fc9848916bd88b26946dac6f27af64b4f40ce248be072f24a82f6bf509542601534cfa11728778207e456ef8750586d686650c58e864cdbe44e6c704441b125494ec85f854184e646a08b79c9230152b736bbcd2c18e55a57065ecacf7ce46abfcdbcd3b02beb36dd2102c762d434aca549cbbd3e74d6500f252fceae8b8dbc9fde170eba60debf730ec750626a2c0606967bc3abe53cf836ad975bf51b7aa161a92a6aa27a60aee0f96d89e7a2076420c19066bcfa04b445b657c067585d44a931f3ffc07806d8ffc47f650a5e073b003e701bd43983a1216eae3ddeba9b50c32da2430d899caabeb9eae840665509ef43b36c37a2991dd32d36e45a77683ad38ced2b4cb79261f916fdc7f90863247f7ad4d9a79ee908459103d95c310e2006f0b267e702fd36d6d3241af6bb1a72f896569237639a57da07f2303fb30ff7bfca6606e705f9e09765ce0c05e7f2ac599f7c59b851ee799adb0856bd5c850334794296e8ad32487655d8267d885350321af2623f1b8cfee5b7c178e2d3e3e379cd6e76c66a41ea0ff6cee001aff0cfe8534c25f42c474b94f3c6b99cb50759274a8c9e10ea9ca0e3231d5db423d600f92a82a33bb0bcd034af558d018481e9c2a6eaf85e8bc13efca7b1d5556e655db0a20e6caeb153632263ca4a841696195b472fb506b315a43f884b7cb263e2d596f3f1811da3244f2bc11a1da09e2b20c559f9d398d93a1bfded3de9bdcbb8098dca6a4c3a4eb8abb718dd49dbab1216cb3baf0d7c5709dd2fcb22c682071f8dcd64e551e40c01d2848a35f99c2329e69534188e04c661dd4a9f98d61ef0e2f8dd7da732fa9df89520309d9ec6258b1f679a3eb25b15c2af69537f9f3b95bf9b463142e31d940f305ec537be44f7126ed33e7e0b8c9a7102298eed314926c078ee075092ba4d33d49256aad17a89091f371e387fd8564292e836a3202064e77030f4a30523fb069ee8ac07c2e597782b61286b9bcf0fe14467e7fa507081ec1c9f3fa1a279ab6e5fa3252bec7cdf7016e7b89265d778e9ca9b5f800000000000000000000000000000000000000000000000000000000050b10171d23272f83010000" }, { "nonce": 900, @@ -66,8 +66,8 @@ "maxPriorityFeePerGas": 8714, "maxFeePerGas": 112705, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4802f91c440482038482220a8301b8418301291594000000000000000000000000000000000000aaaa8401cfe6d180c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f351c0fd45239b2d9235bebb32ace00c6c74f32d9a7b2c68d2262926ac6965da191194feea472c5533a47bd2817b3550f507ced144ccf46308774d76e8f127336c2aa9ec2a6bec3ecccf7af971a4c98e39d309121f0a8d3fbac8ce19005dddac0be12c1746d6c386713c44033f55dfd987fe91117de3341d5ced0f48ffaa1c329df5d9e7a2ac7433ab3d3ed4958a50f5056e62c1a175b470d8f64f120a6f99502fe5c61dc581194ae1de716ccf8a779383cbc933d148fec9e9929d73574a2099ef6fff48c84358f36ec54cb95bdffb63fc30a538ed8a83e6d2e0ed97c0733dde3075c524c96fa44e92a0f6d3742628dc1bf5a4f6b39aa40b7d5e2b1fe187cc4f6dfd1ee26236ae36ffef9d34ad53879e7a2703ec7f2474624b775a2c7201a3af798425c09e88b9712b392a07df51a781a3c6c68e116eccc51eaaa72646406387cf945ec40944a84af09ea43948fe11efc2b5164e0c43ea3e216987e6ca11228a7dd6b394a793d83e59caec6a756fffb4401dd718c09586a1ce980daeb548d383b2795e512ca15c08c286de8df58c36ee1d2bbb53455c1a7bbb62d89ff9dcf5cecb30995feba8c354776f0bc73bed74a08a2c3ebff11eee963930f5081bf10c702bc33df8bb61e3d35752c3c9d6e019d828a5739a0e609d1da9db626d27f65ecc06ad92ebf02172a7add565c86ce9826d2dc2c4a7b3d0da83670adea13ba40bfb071b38f7d22a858eaa69280a75050ee73df9f7702d925911e58e6db04a4db86c2bb0ace5dc0f36654d6c496fa64e636739079d50956fd4022558e1972831ce3dafb6b8de84228e7305f2217c19a5c8f4b00ad7b3a625824e0f9d30039eef39eb5cacf51b542691e154dc32baf932f3a77f8ca550636cc597e57fa3e99a9d5c129dc46c4176a8123b7305b9593f32eb75011f181f0070f0a4c58e8d3c28453b18bf0be9210aa9327f096de2c2394d98b4a8975dfdb693af69118b30c2d197411a26825f3d68d524cd73279fd6011bdb3c79f54726e79ce6185436762dbdb673596f5a721ec9a1e34e876a407000d73b3227bf2e5674d263299c0a067fd41ddd85702243906bffa04a710c8be6614946013bbfc192cbaa89c4d3fad364ef3edceeeecaff9a1dff146f17d10dfb66a51246403c6f5b4504d9afda1349818d014cda5b9677e7965de222c48d6881280877b48259791b117e2ea8e93fbc7fb42974176a796416418661fd3fd22cb70cedbda3a9b4c4baf0af287bd4f225c5ace125a81b921e637a584bd3f6474ddaccd1fa898e0fee2666e964f6d23160573b65559b3b5b23d08bfebd7cdbfefee9dbfb2ce99b9672486433916bd02867573709408b3785f836a83b04c7d76edde83ba116df01a68ace99281b341ca34baba05acf3a14575d0e6019cff340c0800a52f79848f5e75abf2b42d53e49f847df9666e36fc697eaebcaaea0d558303a877a0c7f890bc06568c2c7c19a24b513e14231fc31531684facb1d897988ab87fdd31cecc2d6c0393c158013f9a49569d6da6e18fe438f8ae6c3fb018be25da1b955ef8d8c551e2fa6d75438c9c8d61383c52cd13084a936b19ef5f4efbc1da0cf937bcd68b924087d703d5b0f66063f6e65ddd23ae24039158b783807869427f7b7618d4c3703fe40a9b82882d80731705ae222a47315fe7be8f1bf5623ec069510f08f3994154b0b77ed1108feee548d19e83e39edf8e4710c231e61a21402342f78b686b030f87f4dd617512c50f22abae49beaefb8076d350cc615f4e1fe2b5391825f5e6093ffc010f329b93d6b39329535fd30cd60a95bb398fe8b42e380ced928056f92be1514afb8bff538884c7c68c9e868560b2c81ad1f7687aedef47dd2261283c90d90d594198c5e73d3c7758537f03de24dd4187442b5dc08ba1dd192ce3d11a5b2bd80aef9d45e6e8d370d2e5f7facac6ff6a01db9dca1cbba4634e433079ee08002248ae9e117c1ba83811d9f6f953265f84b52f88534cdaa5683a1896c87ac1e312d3ca9be1ef731389b3714545413b31bf400e85beef7681b3f7fa549819721fc342fe5d48951e2d7e1068118cedaba5f74585ad2e51725bf70f918eabe576a0c645f4567a266ec3d07649b637f33bf685702c76818f90ad867dc5cf91d854a7e540ffbaaa1bd17b22d3202cf319159a35b1bb6021708a7855b36b66aecdde8fa1ee193851bb350f2fd450dff0391cd2f8edce7e2327417432e3c0329d683c0df06f4fe59337399d6fa20835c793caa90c9d013dd4f1577589c012949b7af88c5943762f8f18252028e2d882c26f6ec4a687afc321d4f8b935d095ffb20ccd635537e67ac57d30a7ecf39d83f92f6de8ddfb8d233075fd788f3f70b700694a9b4f8741066e679623a0b01b688d62f5768f94fac14f6a6a41a0a1ce096bebf7a94b3140b752e0dfed1f92f857882c67e8276721a818fb3f78649ce64acf42530d996c2e5d118c90047993cd6ad0acea12434587a6175ecdcc9ca99284e2e4e7017a9b2b073e30e882684893bcd350dd2c53885b0dbf188d1551843c0eb7f9bde51b2780ba6469d0d0d082dcc6ea516fcdc48866bbeddcd74d9561a298d51020d8ca9cac2d2f62e4c51aef9d7265fd6098e09e92f7739363898780c0ae310ffd0cf8e5a61e648570a881a2d52a9b811888f9aff9d4ee3b32504d76dc2f0c6a0f17587d94bd80a644d59385681a63288654975b4a678ea7864d5b7e6914896a7d4e4cc0291cfccb5119844111f5a3a6a13b0bb4eeecbad66c5a53c424eaa5c3f4b1b36dc552cade08c0a337f8d213a693ccfae76866fdef6fcbfff50b97c492381562aca77ae98a7e837121e3531ec0c3bae693ac9131a2440fe80495e58c90d16cb76299e23510c966cab6681572b8a9258e8f5e2e18eb40586ca23068b396420897beb5af1f11084eb1ba7de277f55fe7be2400bb734d2ed3784c1661784cff4c9a8fcafb27849470c2d2f959e55877286d8b2bf3d90870f3f8b18fe700f10ecdc32fe5129e56c19e723a39ea9f18b75fc166b684f59d0d101c755dde353a2527d8bace4f10b0978fcbedcf8a8fe49c5d961a6c20fdab4926262a4aec12408c5b188cc9de19411c15cf2578c88b868433e57391341cb44db065e2f20e70d46ed8d1ed8c848b6285312494cfe726632e9acffde94d4c9867c43d61618f7b33d1c0378a1395ee6e7831da1d9b38c8fcc95555d838f301404859b083cf00eebfcd5b4d02b09ec8d037d02a6f74b1b3d86ea539f7c08c888f4560fcba1db36e706116069009037afb5969da00f816527dfcc9691012362fa873bed7d74f9d7a1d238feecfce2eccbc63b22f6e28d659d2766c6e25ed1ea1cb170a0fb3fb19d0749be1368caf621fe8a2d5d8783effeb71a9fa8bd6b70a625c2ea6eabc330ebb9faf2107936c7bf82c916fb925040ec885b399dfb4bbef7bf4649b9844357a508008591077c1a5aea7ed42cd962c6dc995bcdf34a6abf5727f115dd0dbdfb62617b182ebe63d0e49b664333dc7ff3f5e490dd391b45964168208e33941292d5fef99d9a5e15c7a756a218b83d28b746a2c9ddb8b24a33b9c4fef6747854515b35d1ab0172b80626fad2b6d78a86c5804b6df7d86a2a1276194e92f33b65a3d55da9fb0358740c2cd24b83dd0be973cb73426b841941603aac8d9bf565bc200ebd5c3dab81a990c1bd6c1921dc4ca92043d0ce81a686aafb9e2a06a34c2048fd8c47b5361cf10542912c8b54c670154c493e7423c8b5a9f9ec04cdd362df54cf13fc5d2b6d0f01705f4861749f048685226a92ef58d25fa8ded6792a1cb9edd2b69a99ac7da39c2cd720561dfd4a551fe5662a22bf16fd09ea26964a6d5fd6c1b51452ab99804374c6359cc857e5c0b22962f29b25fa83dbb69e95994a8e8a8717445657a8f41593859abdfb8ee8d358cbd0b9a2bf56bb376384d3e447f9efaad688742586d4fb027b97a57cbfc6db44de1a441caaaea92bfc6f6380d31125bc7051abbd17667593be1fa5fe438b6c29928b039fbb3a6235b2f5a9d9b56e25d42549bc2331066537e9262029d78c19946a252fb79a4d8dbb3f907f6d9799f06bc88d866b962d2db546813933ebe2d35e01ecc771f77253810f553725b3a17eff75bf85fd40741692a6200adc0233120486409c611db74c072d22fb4321ac8c030d23c5ef45289b58e35aa63d0f36b57bc47d3ce628b6dedf5cda9199b81b0e9601477fb562bf4293e7fd0b5ac4853c4ad9ce47d5a761c7a91bb71d1e898a27127dc5d17ad0e1f60b74244376f1c8d073670bc50cd02e1f746a8a826b6bd56de61635b16ea2e1db38e172c2716a392659b20f627d779017102ae8dea4e20e80538ceb63315c3c270c62108ed9ab38fae3a0733f0a480186b28c91a400bf7c553fdc9407f1f51fc08ceecfa3b2306fa31a72f75ff56e23997ddcf2930809f4737377d1c5da8528f216fdf28ddd279bf0ec64ad0f819d1e13194e68baf4f421ce48eec5773a65f6da1ef221fe5adf9a391d21ba38e6dfa9c94c713fc8e092ff590f1b83b5cdbc4443b9c77fbc856ef305174fd84fdf3aa8fdd841b5ff75b70c160a39ea2f817439b25bfb7a4b78c3ce4b484673f88c944cb9da1c9635f29480c7490f8417a055c6e19b5d32299a802726feadb2f02b8fbbc1a5300e1e813e0efd01a7619393023ee77e74122f7aba187b2d39f82eaf63a30bbcaa75ea223caee9b0682640d549f3b1f5ebdf2ed8abbcafbf42b2d4aee6dc6e2318d567d2a84177be6673e1b176220b1bba332e2ccb050bab684ae1de274c1750dd281ff8d2a4f398330ad5c265270693c2dba1b6e29486abda0aeccabcc3fa813691c5ed4e49db982bc9df1dbc4b99d4460c882b30c02a8eef1ef13f378b75970eda5786fcf025636af5bd7ca2a0cfc4ad5f26e287d840b1989d3e9fa197e3e31e643b575c388ea474a5ad16011fdc50c322f64db35fca37a9f5d1f2083970b39a6d1c4f21acc9a300cb176da23b39d415aec72256521a2cb5ea03eaa178c226e593dfa891abc2fe33e2770867477de1cf3738968965d8c554c28b9e66a87f816200c022446860e97500f022426650fb23551b3d7b6292235db665dbdfe2a5533f2fb03e84272a20fd1388278bf80b582e2e6652c2c8f1d1dd987cf5cc574eabda8df7daec21cc519d3c731e1293eeec6129515f47d5b63a98a723c07bd463b654a17aea4a76ca7cf4d561876545f5036dee9503a4a7c5cedaeb469d6dd69ed6b7f08ff3a8f5de9c20c747e12829c575700b9552400d755bf3c16d77b6ce443ecd27a97b330e8017411879790a01ae342d31fdc0cdeb796f5edd5b4ed73c3820d3889bc5ddfe23f7628434eb22d89a0a48afa802ed3203db384b601502fc28fbcd3add127371e2eb0987e54f6ae761cb6417a836d1fcd837944e6593da4d043392b92860d3aa956f391fb3b134078555f4e7b2e47eeac2c1098baf2cf4346fe5d26a7da2b34f6470b182ac617b10f67a8c156e08b7ce60a388e9a74620ffe645e556054ea8bd73f7569396941cd925403bcb1d3f197e373b0d2b8c32e1cef0bf892e2fa6f0ec54ad62d05978b6a62b806a36be76542786cc748136eca8e2bca3e91fef9cfc437ffaae0f64e4b179eee024556b9c1a6a413c8d7c3117f320c225f73ec2740d147f2104cc2dd42ea1695a0b691e325ed1dfb017b94d58df8a82abe85d4c4139bbcb62a4903a364e0ddbda772744956de0f92f61f44eaefc98e6e9b5154aeea17bb0586af25b1ef183ec2125dbf8a56b79668920d8dcb27045882ae99a8c5b05e854e6ba59f3d213bde8f56e0b51bd941e97dd0edf2b936122449c35edb301abb7df7acdf34ecbee604b8f967d1ee09fad9a9667dc52b9a87c9a75861b21d2a5de419724159742b86d42a6f145e33367795746472c98d577b5550475e9b8bc99ac6aa5a69d2b462a3597085cb8ec851ba0d8d89b81afcbe750b1519bbd10c41e4c621493c8fab5e0bb5b425f210c816ccaf19005814c6d01f854578bdbb57cd445c3ea9bc47ce287893288de1f921ec5d131c064b20061f4ea53f972c3f5dae734678a5b73ee5f156c3898add8d2cb2607b28bf9a17caa98ae10749034795505e0dc33f00114d483a073e715eb71ffd0f4f2af99e7f789ac51c2be529999b519c928827bed3d6f5cc9819d1fb730e13305b4429e965225dae99ef7b63f481fb311b7c7ff0d20774281aeff2eb8ea34e58577df3ea25aba65650d9e59b17a338097ce054653e99606c522d2b6fad2865ece28800c4145bc10d8e60f5b3cbead04638e2c44bc7af68bd751ba645c1e0e1f696110b07cc340cf99a820df4f5ef12c6c00339d3c4ad19d8ea5da66ee7377a58a4de0331c3e484f5c6f757a829cb7be162c5e8295a7ae1c2036525f606376788caae7f55d7997cad7242b378eb0cf21274a4d8a9495a3c1c4ea103a71b0b3bbbedd3960fa000000000000000000000c1320252b363e41" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6c02f91c680482038482220a8301b8418301291594000000000000000000000000000000000000aaaa8401cfe6d180c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b912136ac5ec7db71086b278195fd9b91a2294def171c6201a7c9c0a731d6255cf8a4025156ec7500b1147a60728eb986396c868d540b0174bfca23754cf84321cd2d12de4f1e9835eaa83824cb509f7b36950c02551010b5a08c59f326d0172a1529bdc15f49894d73e4417990bffc76dbeac83689ef74bdad88001c75156ad49ac80c103b920af025acf72ae1e8d208c4bcecf437b175cbbeb05bfa0c086b3b23f5c91194922b0f95e396c1c5a10bb3d2bd0387ffa9988b882f40b175ae34db1a45fc364a3703f8f981b586026ea0d7b6e30e1baba6e614db5126617f47f8b15c618ba6edb5a6630938c57cb40f65c0601ac771b3d3cdad1f9237c6a94315fb1daf967312d492b1d7030c08ac1996160d7fbc5fa9160501c2c475e9d946862b94996e1c3b47ee2e122488812ac7da36c644da67dd068b8ca07ebf310382729675114773362af587510c189983e25ecd9bb67e4322a2c58fd87697fbb29e7c270de33492bc027e5988ca78ba4e01cdfc5b3549ad53f71da26d7866c37e6c840414a3c836c179b966895d24b97de2df7f07ba4a0638184f5de55d1fcdcecb8eef1a968c1d14174f6d77cba9bdda3ca0d9ed22d5f8a83603f5d2747ca58f44c130138866f20f97e6adf9c48b68b3288179dd380ead33a0f6bf98d24ed1671ccb56328b3c84c8412c26227dd26edead65f2ebc785914dddee9c099e5812b17b31700b85f386f93a696b833f36f145451218009f8eb66c931e0ecb7f75202e4ba53b3da4693daf127a54b9814d7c66687ab080e51c61d58db5f58a5fc028ff26fff8f925633d476663245045af27d7dba0309485e4c056ac422db0de9a6d80286df56a903be04cae9684b5d0a5fc45ada76fcb65ab66be24cd4bf96ead75aaa88bb0c20b01840118c848cc760e690ae56f86e86d0677475c17fe932777ae7329c068532048b8608e68a4b4fae0cb55d61ab397d1bca8363782af587c80b3dafdcb77e57b569f96275ec37a6750fb561583b7db8b64261b26563f0aa7b7a0a040157c16d6b938ae8b2a82352a2f2bf81a6edfb05d10345bd5d540606dc1a37a342d092367fa92ac09954189e3570729c7853955d15591d6c2bc58e1cb924be93d86520e3a9263080095999b1dbf60848039dd9bb2caeb8fac557ff7efb866053e48ed13bb02b162373ff6d2a8d5d6aa63063fc1ff40d50ccf759a65eb4b8cf82e1470f506569ac1c8eb92ba448495df8262418733c24a3af5a9e208f70b1ad707c17b7841219b03f924af004d3e5736d06bef012c5a7bcf116b7091eab609b30fb02b4b380bd2009538e137fc0368f82e07bb25e849cddb2b7e56aab7de6284ea9d7e3598df97046413abe421e9412f69fabb35f0d472ab9af1d613a45f04849b61526c3d542e636057da2f908e54deec7bc185799f65bde5c8ccad6c12132918e37e14051fc2dbab27c44ba5b5449e0950e2c1e55ac706301328b3b149c593bb82e31fb72a9cc6d9f8ce37681b1eb90f20b50f2876ba30823c261cb4b9acf4c2352a93dc2b574d61fd73185b95d881f712768f57b499c2d12ecfd6a151e8884c93324bef9046e6a9ea52065e58ae25b37c7609b0d6f0fe941e45bcd395b9fe3488df0ce20332181641069054f766cb958209fdea1efc3b6452b3fcb66930700a378210660bfe599329223167ca4e5f075230edc148d2016788df847fe7a0bef97267e3d292d7715da711336e52146415ed87c4197d169269d5e3cd5c315a91db15cc9b9971df2f147dc0dac40ca702923df419f8016f74fbce5df1fec0386bc9c345fd29c5cbf573da8f4490927f2236bb859283b58a70dfa9735ef25019200c02cf99237e69ec5bebe1bd2873f6f9c90bdbeadb025aa1486d42cc033a07374a7e6a6685c4652ca51c3d867195cad6e1be5e10a83cc243697cbfe7a53314d45d7254223669db393c9f57eea90d8fe79e518b45c4941f0a3252e9d75368f4998302b699178cf17b7cded635a692f6e557b57523f41471c2e24b95ab0238acded7def2a57c4324b2c15caccfa752e83bbc75636e20956a24a9045894e3fbe0d44ffba3c0bb4dfaa8aaa1c5c2b46fd62b6eda0e904016b7ff6c3442cc4e1d2ad2c4757e244b4f1e9f6dc69b053930253cc1f6f369daa0ea0358f39180ea76ef904887bb693639e1b47eb3105527fb2378f04e5a5a1d2abaa04354a1ca01c3da877f6e6d1b77fbc35fb96730c4bac91a4c1f3d2217e4db7c91bbe109ad8fb4f542cd19f7608fc1ffb445f5e1481b7ed2864b54bcb4b5dbf79e896754380b4dfcaf4314f708cfa3719f546a9a8ec37e58a95b2354c61033f24facb2e7d83751cda94ad16d75f6b8a96a52e56ed8ecae1ce6c65f313c24eb799f19287ab07b88f8c2e7c67f428c690ba3756ff7a7c3f37d2006a09c99d5e2ff4fe73cc0e3145a221e75e1012a0ef67e03b964a3b8a5f3ac916252788671e5ca36a15c060c140cb50c6cc4674816aca3e357163bcb3cf52da873291559e2ce298d4759ebf099eab0363fbb5fa1ba25683f76ffba6c829cfedf1670203879ce80fe0145ace20d84927b47bd0e04b1ade97886c4708a1f360e4b06af5067a3a1ed9601a496ffea9907541b76165f876f264dbb084a0d18e914366778992d1f3e8a86e2f3ec5c8585eac08958f5d8217a5f0ef0cea6b1869f131705eed34e6531e0425d34f6918f4775745e42ab959e541c2aaf2bd49c26f1d0925cf99ad058d8ec536e9dddc02c5374fadb33d4ef2c098d64e96f307db3757c38ce373db8ce2f6eecdf70554d631a449d2a2e1fedbba197ca061b9cb017a7862b4049a74d308f43362160f06a25220485f6331c2330f416b577336ae4d3d71b0adfb2fec3f895f9946ee0ba79c9c895aa8257ca1b73aa5018b59a67bd2971979dc3545fb47c683473f3bd41784e6c7118ffc589d86fff37de2e3399535c2ff9f46368c0dc641a22130ce95a46daaaac67721195e6129779ee01c439b50d74e3512c3e68572568761c43557fccf4143031a9270797b379858ecd39859b9d72b57b5c0cfddf66d71274956fff09674daac57ea118a30e6d0d64915754c9ce22135bb762d33bf277ec15c3e46603b18318f511dd47aa4ff3b8c57979ae9c5932f3b12e5b6558500d7ceba8c04a63e67224c196c07511020d0e4dd7e00374826467b9782fd524896db1011d1497cd72731c0e87ee7386b24b3399e2cec18dc4f006603d732a2af8b36abcb2cdfbae6685120e8b836d7789feb2406073f9c975611c43c1f99d30eb7258814038dabe04ac1cc2c8063212fad7013f2c67ba54a8ef0c5cf38c64003229db3999b2f1a0eddd57e051df8d8e937c745e386ae639ebaa3d1135b33fc6b9bdbe10be95574483faca0688068cc87a3061e73fb7abb5e2e602e452495635999eead93de88e1f6b85102130f62cdf401028fdd5d81c0d6143a3e45beed9112ce6deb9fb273d09caae3dfaed58fb45405ebd88717ccd842554a9b9149d91d952de9af50a8f624c19628e20def638c6a102a51522166cce02836f425062b2bfdd780f4d0bced25371bd1c2401a997e6e7123f4b3bd4ddd0cff95ac0f005f51fee4f325dc69ce1ec326ddd514d61b878501dc3516363586f600e91042aa8791c193c3d311af9e7fe83e21afc8edb26af9e6364a0a7f8ef002fa13340117aa1cbfdf29dd6ab668444ddb7e97c6256292037d1bd08c9ba0af2f7e5dbff247aa15011305f39af8dcc1620fbdfa3fff9cea652fca031131f0c4a8979b3828300f37a638a74ae2b1a50b4e6b1268c9414152d99d1613c4b9c0d2078b092874c616cc76309002eb40587cd9f0a82e164f9c3474dd8d3784f94bb5df93d843a8b4507f9c8e5d664c92bb6e4cb5e568ff0eb57df9d1d0bff3f1a6bb27fbe4e51539c96a6ffa05a34760947ac6958ec8207aa0399111491bcbf474e87d99caee10f0a0be286da8fc4ea65402a6aebb7efe8806a4f92b8cc4887a95799b1e53ea2e55ad2608114dc467c347064e797f35fed894c27bc045138579220eda5be66def7c9927b6753845da79863dc485b4d2e1cbf0659125c83e344dfa81d373e23795148c2d6e7fd6cbde44f88f3f7079d7787d4c0cdc8154f2d36b4f7a01147c9db1614bf02bc898a767c61915cd6405f3123c9f6e41e78844beccf76ce0ac93b3190d5a236bb48cf769c8050e4f3588306f15bc02c8440c05ba629d212b93eb625d324fa64417155a94f937156fea5eb14935b73823193ec97129c815b4308e1002d5d977a05d7d169b62aea21b2a8c72ec2d2e6dd229ec388c23f2293b803f110b75fe20efafdbd3d9c16cccc1c73d17725f9e192ae431f48d1bc8229b59f3ab04412ae38f08b54249edd8241a26f597b81101fddfc8c62837f3778d3434cf134c015c2446960f1d7ca7fcc291e4dc45c1b4d6778366ca881ab69df3d805331c449622c9124f43570852bd4f70f5764f9d13eae659fc20386a3d13cfb7e3e0559814be53c049bab0e0a2e71bcd116f773b1bfb12c770ebc2d68e99bc61466a6aa923aba777a8321b01e6ef6986592f4cfe42ff8bbddf09335c6c3650b89ded936a014c9fa30f9fee189f9f90d4ed5993325293d18f18d6d7faf9edb711201006cd4ff39bee4216cacfd9a484205ad5d331a40e209484da8629cb9f1f888a356be11b2d85095df7f6b7c9a1a0b9c17b049269d63845366e1056e2c3e1375b6a04040987db12e343c43699cba4df7f9688dc0ec93f381c919ccbf2866c99f43c4351d34a85a411bc15a3250b65716c2790672d35835c78c402901da68d645893f21be258139346a7084547705caa9029013b406ef1d80092c8f10a235b99226d871609baefe0d51c12e6a2e0aa9faa85f084d14d829d4c8aac3537e3ab3ce304cbfa1f9737e9c5981a3b3a25d07d74c8526ede0956be142ec85f855e5960ac3888197d95b9554d762acc3b19002494fa9db30146560f9ac21cf215a455f3279bb6a8e4a7de7d455034f9120fc2a37874f3aa7ee7c6bcec98ab3dc02c8e0027fdd2246cdb65db20521768ad09e6deeffb31c5565efa9ffcd68b3e74ecd32fbbe9ca5b0bd6f06af423234a54654159b8ea5487f654a277b976232a9b7f0ae359d584cfc497da69707fcf9670ce559bcaa0b78ade63a878b9617ee92b1dea5a9ae5d4bffc4ab9657e2ff650d74ef4c04f48cdb8f1fafc3c6ae9d2c230bcfcb8b6b86d66e420c6aeecf08aceb639752dda2dc784c22f3ae0953e7796b1fa1d3e5b191809f4a1e3739a7a70149ec2e6375fd66112170c3cdfc2e5f8af59d2ba971e5caeede9dcba41351596e16f6e9037bc984569879c3ce972df2de4d624546864a99a28bb1d5e9466bcb9472468006fec6e8adf5e936e1e913181dedae01ec0aa32ff68585e9356bf09fabf77c40b6f79a3c5a41ca0953b9dc3aa8c59f0ad169f934f37360fb804273678a17884c93c12ba9c5a4b99f562d606018365d685bad272b45863abb9a0e6511f8382b00fd849ae0ced5573c6b893a4dad9fa8129c4044dedc1829c40553d93c47d1309617cc25c73b85a23ce72ce02042cd110fbcccd5984e90521281bb94490e901a02187454cbbf9f0dd4f136430aa08e92ab73611bc39bc43eac551ee308c576819814aa444eb2e81f1aa5e92828d275a3ef2f3928f259fadfdba4ca1b4623125561dee9bd762380bb98202604cca56d833696996bf5860f67a09abf5cd11d3cd022ec5a5ba448d222cae8527e439e232fd1936e1ac06da6e3b11656a86ce985c6e5ff5ad1748f713bd4f9120219a7c058fd3231e53631a7960a6d2d8e271ea4a7c58af2b98c1bb62dbe9bcce5faf1298a314c02192defbda2b80e3b3fb42be2075ead5c1a6be6a271f1f2fe8ba8fdbaa87461829e5602fd85b11e27a983fc9d8a26991919e44c9f8c50d62f08245c4fac2cd719da3e30faec5376bc8ec4d224f02bc1fa07358d343207333a76602dda329d81d40e6be0110547d007a585f0ad67d81e92965d14267e637b1f6fe056ba0ea5892ff6c5e4a9cc468b0c2fd23baff930037431a91ee4aed42705ddc0567b776a0eb55ad4936b76d61538b9acb0d104cb09fdf0897eb9c765df670774667456b6b3df6cbb1627bcdf2366a92dcf150fee3974de3eb0f3e70c0f7b127474902dcd2c8c57f44f433654e4300a8dc7897f4183c3dcedf726463c08236ee8260fbda5bbd10c6c6f9f3395a5e082d08d98634ec20b20de15d8a52279d92e2aaa6fdda19b549823743cdf4133695eccf430d1ba363466b14ba0d41a3db4dfbe05035a29b9607a9fad864be965a4809e0ad65cfd466323296cd8e76301b957aba6181e0a737b250e9858d71535770c2671d9f00988f703ca78c589601361f746bc8e9e5abdf6e855f6d3736f616dc4d2868b2168b820deff301c11ec430e906204e5b86d0fe4b738495afc6cfd5dcfd8fcde6eb02111853a4adb8d4e3fbff282ba6cbdde11d1e628a9fee0b3b647ca7aac2ed43456d6e6f84b5d3e3ee0000000000000000000000000007111520262c343e83010000" }, { "nonce": 709, @@ -76,8 +76,8 @@ "maxPriorityFeePerGas": 86252, "maxFeePerGas": 94636, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4702f91c43048202c5830150ec830171ac826eaf94000000000000000000000000000000000000aaaa8362d8db80c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f32a860e3ef684b354b98585e5bbff5ccc4dee8b2e576325a4ee1e3571b7f0f9956f6441c10f6b2f90865b9162cf026c5abb65611111e330370008204873d7b1c701770f64f3a2bd8c063c8dae1dbaa93121ba3f831305fa1dffce7e089b8a900c1470825cdafb401950d6f0d8e2fc6ff7cd56b3f3025339b32ce3ebb19ae066277d261f783b9d810ed23acce45486914bfd5f88a17c6c9ded8cf5efac467466097f5fc9a7499d47bc9423c96d16a8f4a736ae565cda622f72f76e498657e83f619c355b7152f9b54746b8e7879e322566d54da3a03e0ca0f8c5f44fdc91b467590dd8bce5c5899ebbaad86ae3893e19aa2924a44f505b8f7df0c4a9d7ec59a2e6daa0d33acd3e1e9076f8531290425ff0af19b58c5bf8614ee567de68b2e8acff3493269f12a49998edd73a8de88b3c90e36248c250a24c047ddc35f0aef665225551d3fd4942569ec6aec74ffb8e1bfc546ef80e52ed938434c5c31c58eef71377a1da3714f368ad84ffd4193f59642aeb6f0a6a1c36471ffd38e27b4c7da33dbe30a5f3f25aac5b7b3e30ad6099fa7784ecda783f1fd75aff409d7b5e84a91a2bed3d0812b3e054411e0ee9fa8a1260ff29e79b52c8c796602481a6b40f8ceaac1e2570be95a2f9a3babe5e0f042df1f97e1cdaeed4682645ca03d3dbe5ef4f7364f52a556db86b1d9e700b72d92a0a7c5dd4ef57a4c45fd3fa4b92a192da710ccf926ee856a3c6030f02dd7adfac1071396b7a7ab7cdf4ff22e4e044bd9269328980ac4e6149a0f549cd8d22c3971639a337d1eda621520dbe399cd49f53572377b3f4371e28cf78904fcefb44a1a70ef1818cc30f81f94fb38c926bcd75cd0d5e5f6171f152734eefb7f935a98f9f0a052bbcd67d787d5de205a52c4eac0dfe2a515ae8d42be9c01af42abc15fd66d3852852ac474e85903d42e289e2ffb046c18a121a8470c398d71cf40bbe50c38fb67a1bb7f2619fe5cb49995e01909964a2f86c926859e6f5743f03c1dc01b9db8fbff7c52b432f451c46ccb842a9e2ac419e662069359b8ac9f0fd1da48c2a7bd5e6b49b19b6a8cbb7844fdde0dab7031a5c2d630c10326dcd0c4a2d283dce7d69f88f6177d5b22b9fe28ec6947a614338a92cc240ff1d28c74a6a46f864aeb6e0a29811dbf4e884d5e06d2de8a351be59ecff4fa416509d212317e94a9f143ff1be20eaf1d7da37e4fccbb93b06d477bd4d08550f27a868289909930b16d544daf26b8b7e0e5d6df4e45fc3a70f280eb8d80d016c608d20b2633c446fa2a7a4cdd50e3b9400321f549a4576a1f37d82057f13b2ea92a0e2d15f1d3d07aa4d45def8aa772457823becb902c37754da9fee7121bb4349852da1e93f64f6ef4fe4133b2c4340630d3a983b62711503826a0efbaebc683ac999b2650f72194ba2ac47c243cd3dd5b45face1fdef95c0b5f464b3692c7b8fe5754a7eef2d1148ee81019018392e27605c0d02a3b32afb16dadff1c8204c66efe285be27c7f4a1a6df8e5c6c21c44111b1896a59325a3afe047b57019007136d88e1e0a6ab4c476b463d715a08802bc94900a31ea1ad05c702a10b81ff93cfef894dd688f09957bc1a6aec7ee5c46e264a1293dbe3d76d87b234f33aec0385c3f2cc470a9cc9ef3d222537d3141e1ae54b551d8262881491f525db00d1249615fc056d1d1ee9a5dbb1bf9fe71ae4a6eda8a3e7472c3419af2d52144aa072ae61d2346ddf4cd11b05d89022e7753a08d7275167ea2a4afe0f187e3dd9ee76a002c61126894b63784c01be419e585d0a72653ec2737475cce2c1a02e11c5b88e405aac023c768c08a92c571e622789e8fd9e1029171419c6f8695bc37cbd6911689e3057fc46659462234760c121a9278f64746387aeb799b3d72d875a2cccd890e1fe7b9e4a67b01fad7ebe5c30646651b218613545cf4335c351210d6e86592fa6df5b691ba989e9019f12488f8067e50f79a8b832854ce2b1e11170f07b66c319485af0ca95eaaed22d52c01dc20fa43843e944cca67564da74931b0674ce0b278729dff6044beacdd88f8b9a09304185186739d18e2cdc4978ea50addc98be92e6a4a80848e7d5ddf78fe9a403246a6f92325d7789131124e7a43113ed6d9dc8c2c52d74b2e17aacccf3d42bf6f50c305345592be0f2872d1d5afc6f47f1ac07e19fa4fa7335d11515b5246540e8b992fa04a70683fc179231f641d6437703239d7ca29db9e8bef9a1624a4b6564dae5d0e8f3c0ec19c6f0090b9cb7ef1442356cc37e076d05433fe0ebc11ed22aae6a3885bcde0a4ef78e979cdabfd0e8f07abcced9fb04c4acb1d511f9a067f010313f5a43aabf230889073f8bdbd85bdf068b8ca7a36790449a7488a8302c4bba94433e4acf17a8196c49e3cb1eb97523cb2134e04197ff1e3ea569b865bb757555b76bde94b013c37356c8acb7ffb54b6c05dd56a9249551c2f6c7426b8762bda7fab12ff1ce1383a0b76d2a0bff96ea351a022934647ab38e9372f242a4f27d5e46ce87849cb40d2055492f35a3774e3781aa80d2e6f1bae348f1f4f98c09d8e18f67c25ad16f5dc72b0ca2631d61151a480702dce28bfa71f79f76a7fd72b0d477d15b9faa7c128f1ed03b51881540572eb281637dbd86b74af9720b1855062bc58f41b41137394253c300bb23756f734e4da4d9f9b2465a8b4d8bbce586c2376611b7cff2427bc9c92cd3ae1eea5355e6e27721298aa6964f060d412f2d34d15e6e097e8c47703b2662dfb76e24e4037167b927d0995f9b881f44087f5e31bc908c133b445848f7e88d47d687006b36fd16a897849672061587781388e5e79574a9af39d18a8b87b02f0c573eca081d5ea7cd87acb082fea1ee7c7aa402b62de14494f0c5f105dadf42a826e1c7c38bfe9afab5b0962faf2d00adfeec7d47366c9113812088c2838a6472cbe2dcac21ebc7c6b43a5bc4687128db20498eef748b566beafdfd741856465f132546d539846bd3dd367ed082845fc6d1eb861c7bf04fa003b9ac4daa2a72015ea099ef950617915afa94f1737eda92d13f03e96adfd772ef6e58e3ce76dba81f51ba816427379420855fc9c9151a11114629238498fa620c640ba3165587e914892f5da739fa4b45be87f7f6ede8fb421e0969cb735c0485d8a13cdc3babb4025c3565923188d150f5dd7ee4ce4da02ac6591760b88ee3bb5c16b591e2e4806c451c4568a038610bb8e8eb4a93551ea6f7d6b656ce2dd24a755ef3be6398fecc376f8464c56923944669d73f4bf7186f9f01a552e004478b9344cd2aabe7a7151fbf0ae8bf09d40decccd38ce0019818f8741f0a4d679e49483cc486075373f5864f38ca0df221cce14b7e525792cdacbef9a51be06de9d0c033240c220ac54ab0e993289825984e793f65497e7ad086e56cbdf1b59b1d9fc687fa1b2f8c785e39de01c5217d1a947c3bdc622a798a68285b9873addc35ac0ba5171527de195db3dff4c20af09c695fd1fe00fd5b37c6f9a339964f50e6800118beb42593b6dcec61ff56b5e4a84af8f8ce27a9e19395de4557cb89be3a7eab50edee9cf15604e1b1f74d9e79676f85d80b265edf8da382dae880fa3e64d0d559eeb302c76c953e5bf845765eecb44f697bea0f66eb64f3b0993a11b1bfc8abe711994be26459a04f932f79219c859059900611c086c2ddbd2fb2599a480385a35f39dfffe81e4398eb46cd09f4653f0917753fabc1840e37622c67bb89aa2c342f51fae9e26c47a5c50c443e090ff0ee5a72f5ddc895ad94194c8c49aabb50688b595c0d81b7598d5665e19f68e63916fe8315c7fdf3b3df5d2d21d0e4c90f1205968617fffea2653349d70e96ad48d9d807daa9d214c7d173241e0c1195a3dd096fdf1275fc4a6e8f40286266116bed20ff1da3309e963ffb5ee90b3d004f98ff7d6612f620f8571dc49290370e06359742979e7dbc1fb8f419110e36244fccf45d2b14700f19877539608482bdacb6df7af7d1443ab99116100e69f584f860a2b9239dd1515255a288a07b9c5fec86a8a8834bfa299709e6b37077ac09ad5612c6325d3c4e4c6bf8776cee7c9f782e3a2622a47550f7f89aad2a32c00778a843f1db5d7ebe22bf400a10591d82ec7097b7f9c4669a8a7eeeba73427af3e85b041729e8bbb88250df117c0a11c84c55faf1474600fc64c2a63a56f7bde71358f7a288d37e9c80f518e95e347f79d850dad86daf2370c01b948f9ef0b2a00507815560452b9e5d2c700e53a6424ae06d6d704c51725083cca9e731f1fdec0e05740bb35c2b3c3686aa3b64c653404d58886c66dd6f64124ad7485236fedc8ffafa0543bd93b8278f2af806c3d89a857e17aeeec2f51be518afe3564f7ba9dfd3eebc1aca157d7d8edc2d146e1b4d0c521cdce15dd9362925c76285cdd622ab6ed4c119c0d15f9e0f5c3ed4061308de22e3f2dbe5d39c54908ebbe91b8b062a914fc52463a6eadf991064e5c2de792c064260918ccff6b68c3cbba2ae8df563a75de89a27ae9d2e880d453dd04e19504af3e78c7396905cf59adaf2f5785a24a9bdb18fb340b249e566e286f5c4a8c98801fac90bc83364c30c430a58c8515fc40e5ea36512301845498fa6e331bb0f4d61ef5accedafce61918606e9693dc0da65fce43c924b556cfa6aa0ff6baef5b58b2859332bea3ca0b5a94d99a86467e88f36be317b9e9677bc17b022d35ad5ea14138f173ddf70f3561a496ef63cc48d22a685768b4f4a0ac68a219865f2f3aed705c86a9803e4a68bf1efa3e3fdd6a7b5d780e0e30ddc07c4e07a405db8068df48e658e13c27deece7b067438ecb6543d0fd78d3c440e63c3833f6aa8fbf0e540a51ac18b641bec0d88d9cb012977094240a17aafb1e107c8fd0ed1b0dd9d818ce643e27662b94dcc0eacdc8dd466c01ecd0b99e3680b7c244f029b598af34971b581bc37d5cc809737febb208c028ce120ab4147e523c8077becd60cc2e3cb7d6ff0e5255be60e7689b96a52234cf5af0a3ce6d645790358466cd4a79fa865042b05aa7be89b462535f0fc5eddacd5782470c84dbee84303a349606b1bc6a1eb9a1a103a537180583e8cbd09cc2c4a88150bf281c9bbf78d5db3a9fe8afe1f51b73d5482b8784910d0332b0e3bd04396fb24c9377b7877831b2aa265c8fab4208669cf91bde2ab7e3afeef4126ebd055e3d4dfd9c3711bb195836ad72376fe42654c90b53c524ddd4993f6e1478bd4490d0d31793f5d275c47466a7b91962b10fe1dcbcaddd06f6cae50ac866669501780e3de1f18200cc6b56cfd718fcd573667e2e483c60368f13b0cd3ed0be08e278ae7da3f3d5adf3f7a4f51da1c9f6fb317fad4550b5a2696a10b4b7c0f1a6ae751fb55a8866ed7f2b62fbe34ac24890eb1102db4daaface0681adfe66bdd922545df28866329bec52c8ba50a0f7124a6ebad62acc2e43cf174d328371ae50b875ecafffe23dad431205e0eecb5c369faad2b37de1e66175718bcb75b43a727906e72fc904f910b018fd519949380ccc42e43111a863da3e10afcbd135c7af84b410c17766f952a6a74858bd2d8238d4ebd71045bdc103dd8754ca519d2de40af212e616ddc2a66ba6e7db85efd6e4dbc3259b543246d5019c70eff9309d6bfda5d7c4c6ec4a1bd623416eb3c6261f920fcdbc47534738944f2a476722f0360fe0f36c0b438976ab27672099b5fd54bfba93d9039bc69d044f8d04ab17c696d3a1112154942a3817fb452824fb047c582b8fec47a6808928bb39be957c24642102d2f4907a7fd8be5fa984ac218536e66665f76332d93584f9be3f4b9fce3a167b8d362b4801376562035cad57c39a65b5a3ac5f0b156799c22aafbe8b9f2a322053d9c2b8fa40deba2bac1ebedb0cfb6938a6a72da6f59ff4851a2b9872418cf83fda097e0bef9f2db0a3e892d56ff2299d76c40502f1d3c8f560d35a4f501023c9d6b474bcda2b969ebf0e0d671d0131d4a0c2caeb29c2b5d8572f64825cca24333342d2f99b3b7672db98382c766d33599cf73934e86b0b1eea2dc35ab7b22d6e6616c833aebae92d3e22c8658b419853bbdd26303cdf79d57b5b5bf30a721581d43310360f84dd07249d30c1c5279503622a4e6a8191440a42e7461ad24df026f484774084e272ea1178e73011314545cb5a2163b2c07ae229dec889a9f97697918b4dd040959bdf7ea6d9e2d174f895402eafe125fe7da7ba163a892cff76cdaee275e68b7a36046e397024c3b80c93ce61594984092dc9b87e7fbd8407ceae3a31e8a37162415b98dc7b1c3c9193041807ce5c386dd12c63fc8f7c77da742bb3c559afdb9a83787abce67aee09346589b79f414f12ecede192149b9de362140717294c9cdd8274d5d70889ecbdc080f101a244445637aa7cddae83842617a90bed8f7383c7a0360b5b1cacddc061f2e6d80859bc9cddf00000000000000000000000000000000000008101d25282b2f39" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6b02f91c67048202c5830150ec830171ac826eaf94000000000000000000000000000000000000aaaa8362d8db80c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213a5ee69abbfc70ee4c595773123b72cd114382a532871f22195ccc2a5883976b6cbdfdb58a196f6164661676c716dfd856c3e8f1f7b01997ee5f85574207366ec53085d4291fc002abb623b6921cc3c0978c325aa50ec0fda42cc11651f94a3cfe67c8ab743ba92abaeae326d671a502ee2eb90f93ee5a8f24f03a28b7d9f1b159babd7c6ff198f15f8417790230b6cc226dd2c884e6d7e7c98e5b98dfc3ebd1a190b2177911a84e6d5a914697de521ecccb0549d9aee1c03474858e64f987fe1fb74b83c8ee068b8da67c36a0e3fe0e3a583480d3cb10c483d4afd510868a1521c4457c64729be6c3211746038d4825fa501938b120dc1ece2412820906e93ca62647825992bc03049320be4dd05fe9a10e352a82576df97cf9fa341aac5ae21ab03d2044f76e74546f082be9d4d8e7f40a644f78793818ba16bec2297895b3e06f9fbed2a238f880712524239bb0266f9fc8af5256ed5cff8e3f8c55997bc4b1a92a9f489b772381513bf2b5ebcab74744fcba3e639980e17c75a491253fd76088291178c1662c9cf48d43a0e2a75f70a8f80c6d352c890770a47c424b7213e766df31211127e41904cab16db4406578f4c7d46d02bc35b80413d9c6c709ff4c99e366769979d342f19309b3dc83290e572a3004c3d89aac463795bebd46ccef6d3ca42c10b8dbe57a21c6ab80ba581034f562a8024e37ab5a61cf39be5a29e8d872f721a50121b6ed906a51378859588308ed0f9bd359c3d56e5c9b9c3742f3b50ac5d5239067e5711f92301145a2634d2b03421d14b9f6d8e593f7e435f819cd3f4a445e253bde509971c0841e926e1dd3eb4f6c6d463189d0d13690f56471b53ee6ae18cf5478ae7db934768742fbf4b29e194f3d58c96c63acc0670ae5bf78013e3a70b5821941906c1965f59efc92a2b33b1b38cebaeb17406ffbaa58b4948b31bd4ee8a712e82489b73a0dfc38b7ccfa8ea057822630827077f0012d5b6ff5b1de56c9f604d108624a069ca1d0fbbf7928e356af2d3c173a00b52cdd35d7702fb9c94cadfa6d7a6d87b56b31d3b59d84a100ccf14f1332e842cae870ffd541711ad99a339173799591e0589ae6aab1ec4a2a9055872c5dd2808bff88be0c2531bf7b473f03f8c71207025335539f0d62c3d81e3e049886026dda8f13eb327a18013ff4e797ac5088f42a9e571a503697f3ae503c5d8c48ce65f767418121fcacfc8e29cfa355244a98c5eba62685b482476e9c29c6d221dabac878cf022be442965d5657e895fb1e15ea6335b1b61325d2022199a1dd23d8401b3057450c48da1eb20476843e4fc9e3fa69b5b40eafbfd4b01f510acb383030dcfdf1a76f36804cd97db3dddd94e7971fdc93c355d10fd595287fdd5caf26fccd1172b651ad4215ebf3a3f130e417e3907f2f9cac5f74162aa30fa944e8bcc11cdc8ed9f24e928976bae669f5c2925b2f4a3c195676a457d5ff0b62eb66083dbed2e0e1ff53af89620d8d4db9a8619c398874ca7e0dd5d4478be4a9fe68f98b0a117cec3a91d385a20205e8c7c354651f1bdb0764b5719c4c7a8cdba170935b1aad4986910dcb5c7f8e87649a1dfd6846f455bd56f01ace607436e8fbb1eabe9c210ff16bd5c94d3f0dece81d719ac2ccc9b04c915535765c57b18577d72198729e9b71f258f2c74abc41f74284da572f4abda6805ddb315d119154d281898685b815396035ed7deed0d0ef136157fcf41e3467f7d85f5e9904210d2c36c1ed1f7cb7a4234e27ca10d019381bc31b7ec98e0a836c8284765d09106898e2ff452ca56ba1cd9b57385e40f5bfa729205d772ef4c24e384bcf91c09f313ca6fe18968c0a7359ed9b240aaa154059d8dec412a2eea4bd21302c931eeb0f6a52bc34755441b0987982ed0909a1654bdb1c2cfd970a98ef6a3fe2aea94d786bd15e3aeb0f434c8b1cf2f5345a169e98a56e9013e2b3db5eb4b188e1f94481a4aa047ab8448e9381f2c098ece045df5acee864cd6b1308ff649183c1ca10a49d2e20204881577e26561c71f7cb624cec19dc27579deb4a9f3f8d01108fd93967e6d6327021b89657b4846842c077510e3167e462ef98de2e7bfb0d800735f2971973f4e007d0a98c96acae92ac6c9e14c21ad8c4e4849621d4882a253cfeb096c58ca1ddd6b4fd4b62916e3ca3e70ed41bfa608d774bcb7f33d3b86549e3a12ca657ac23cc5495c3336f0f02b489e3bfb239e405cb763312ad84c1af3f05e57bdb5b561b059d55f47e3eaab3a3688c648ad68b17e6618d04da112997ca2ec5c55294b9ed0a9143bff90f3d0a35386e105000216fd7afd2fda283c36ec8941bb70c0b7da8f37f43420f4584f72f6f3f3074b7077b0a5f873f2dc56c719acd708289010a46261ae359b901a4571fe62a1a1b9d96790087b16175cebc24d36c4c8a2c866b9f2611185feccea8d3694ffaa138bcf063b8d23bcafc3ad411f14e067d6639a7ca18c81cbdc3797958d99ad9a406bc491969e33fd8db57750166eba90087e64ddb5a4071a10123c6a3b1863d691b740658a974b5411fa009dd45acaa3374dd9389a5b627cfee4efb359c823415593b93f15a3f436f0f10e69d4417715dc38376c5885606e2ae21cfb74cbc0105af284cf46ec517dd12da19878b31e318fa6ceec4267d232097772e717e5d78ed5b49d187c67567bef36af1e30092e441494b00dd9f67c3dfaea89c7471fe003d14e7710c45f19be7ee6da64d8218c58d36273cccf26579377dcc4a0a11ae4267e64fc65163163b336c7847f3a3288348bee41697b64d7eb2b816e0b2417ed6116545689170dee3c4a299ebb2df89fa03cffe728c63e4014a6892ab42ccc693e164e102aa8c84d68e0bcfef2cf18276a4b3c3f0eae1efa0f7487d8ff977f240cb8114fe921941cd65754bf7e5c56f673fa4bc4a6ca8ccfe79b5edb0a60cb50c647663b97fa3d235bf00dff5ec0130a12fb8bb208b5d023616164cda237380e423d22d036e4186778a4fdbed1ebee981ffc5a16821ebd6b185135d33dc9f2910ae2ce3202d44a88e4276256061cc424cd98d1bfa70d16757cd323d8591d74f6cccb74ee836e1ce646fbd3a1cfd9b94fd11ff197b6cf0d22e6a4bb41f72496651df6093bcbf51b00c509a9fd43903afed4b58c2d23e758079cddf30565b3c98179c0a2b276aa375c75db68658ebcb22c74eaa73c5cacb3479fad3dc53fab1e3ba279aee57b378adc5fdcee04c33cf0d3a3c7c67cf9ec40cbe882ed2093f8a142f5e87c2f5e27b56f9f8da6ba8c886d77f99779e55aeed872cdb79b03848bd20c295fe0c8091c165776d8029667c6da708131cbd0bb463a1d6d31d75a613aa5fe6fc3a3cf16f45b57758f4856484e738bbec2526a577e13d051b531e184cc6a8ad8196b3af09e6af8725725af14812b4c7c8f6846ae60ea4b2daf76890a6e82c8506091d7b8a7ae9740c2643d8f15f873a375ceb5284c22dae5db46cec96807bfca0dbd9d670640aef2ce417ea6c21210b6f06d7cd872f25e404c07b8525f70a292056bfa157d9ba194347b16a3efa1bbbd52dc479076c918de54b51f2b6b99785fe4ee4f7ba9457e900cb8edfd97a69c2b3a35bc5c369560ae0c3978b5f62a6ccda83ec3f06f9487295e57fc30aa73d53f124b77d3b53c2ca9a9b3ee54c25e23f408aa7157c4b0fe765d93d73da7a0b563e3d2552049d49e62867ab40a86d03156ea4bd7a24ef36fd1d7f3a61b56d0702240da9bd4d1df4bce2c7d75a471d6bb14d9e24641fe7b7972028cf43b5ca0661b4dfeb73a636efa4dfeb3c7684bed291f1b5820508b7f5c3728286877e3eaa7edb319fffd0e133351b7bf1cebb0b0f3938bafd23eeb3017f4e039b604ad0e9bbfad9973b2b9cc3417e111cdfe75a703647ac1f6f578610e546d20ba738ab2f504616cb0dc2b9cb4b31312cf1185ecee65272ad8e0b62fd449f85a57a9a02575a2e30d2003aa7cfa18a643f9f2674e2bfcc44853ad0b464774d62be9539a206768a02b101ef4cd8263e30c7adabf4ea8d6ac67dd8fab151738e1cfd1ab52be52dee01c01692fa7d0baf2cc58c51408f9346656286f1c91749986550a18e628e9bb635a12c1ff8cd4d682fdd11308ead5cfa718a24df4015586d42523e765953bcb77f503c07549c402785fe7e61a2c2efe83bc80497855eb9aa7d8411fb09ae43ac29a7cee3c7a5884afc0e65bcb76afd13cf631c5684e6544606458d7c4b7159ad27b6fd90f5fab6823642e7ca607eba67e593512deda02273154a433a3af17a0b18b45dd1b41c5104a3b065bdef0c76fedf5d5aabe5ce34ccdcaaf12a342f83fcb25b6e185d9a676f33a96b4a370e58dc6ba1a12f84a321a953df3949da0eafdd41c441621415125acc9f262e3bdc7af05f192ca1d55341d0c0298abc4c9690b1b8d66de7f50b16da06838bc58c9f375db4d91dfe626161e95b37c226b3c2ff79b8f8137706eb59eda501509c89bad6ec9d34e1dca9c20d65288bb4c67d33df2db42d169b4e683ad32184513c581143f7249939ff703e78c2bb1343dc620c6aadcac93745019bea8596ec8356efc47b4072d15feaac8169a3388e6076d8e050da2fc798b444b24c46940ad36a0be21bd784050791b983dfc0aee81c8ba3729f6a473c62389c83d6f7aff2d9490b2989df00e950dc5212eb5732bafb1075db3903d7165e83dd58055b24ea54c70313963359c702529ac247fdcffc29cf7aa215be4caab7cecea80061475b63c6c006c043a2eb53f77385c3fcdb37f59f93120b4a3136cf3adc7e11b421c3a6d611e7426ee817378782a183b5e0ee9f293875f86964abaebee313f127983949e23b8f901882a70220592bc02a2297ce586b45adf410eb1395871460c758a2895c104920f4ccfeadb9fbd82892f5a08f53c3133e4b4dcbd4ecf9c54ac93ace36db47686d050e742f9aecd8eb6e8708c3e5a388bdef41739f5713d385cbaa1b0a296af46c57faa788eb68621cb78499622e804e76beda977156c8ccc02e79197951147a53e75844597ca003134c4ce276b0705657ad929cc9745106fb6baddf66114c12c87fe122baafb9296fda4dbb832a12f4db431d718647884baacb562ac743be8e0c98733ae74172796d7fbb11adbd3f05113d205e5958fdb486603774a2cf9a3e7d61fee7d3baacabdeab8e2866a82ad41f9763287ebbf26123a6cc9c18a824e7481615ad06afd6cf0b36df65815953cf336856eb8cff42ea5dd8b6474c4cde51c56cd05c7c693997b107cbf9225114e7a6e61ca55d1160b8f4d49bf989f402eeef39ff74acc1974ec2a3e37d98eb3ed6471dd2a51b764a5fdd0d2687a6f43f0a574e1f6f3683c013de72405b9480d6f814f3b740bf0c981193485dc35684646f002352980ca183b1480e25feaf707caa9bc27e144b91ace3a4d57ec6a4af0e57fcaab276d8c62585a49c9187943ef81b8682ff217ea57c56e2f31eb1c5998b829c7d7823044f7c17880700a4f165c1f466a5a02aa1e994c3c1e063e36f806f73e84b69394ed06c45793a262bfe1a82b55d8a6aafd2e689ac4d6845bcec506134828030b297f46716b958fd95f2a40065f60af7e053c2fb9186c29f5f237d4a285d5bac59a08fd2c21266396918b2398af5e75abd02352c285dfb725640fe15445cb77dc70949a0387ea3d47d88615cc6208df8613c7e20c2e2c05aa7c90e9ca673983c84e15b8460db2254970175ece44cc1d8ed2bddb75808efb496ae8505011e35eade4752b780e2eae8bab95c955a32a982a32e578e49f6844c15d508c20078f06374c5565f1d2fb6151f699d478d99acd2f74ee682ca4cb7005db8f8f88cb58ee9a37d681b4838577bff25b34d244f84ab8c18634b340bd67abb8a2c774226f60a983d39186fef55d06db36bf9a9959784a545457e1233393755d2c40ba48b07f3595042ee3f70c2b23758b6f7e6bebd8289e459378501c7269fb73e90ed61f18707a160ac223942fac7c833367a66a0f95937852108adb0669c43eac0de4dec2bd5a899bd973a7bdf7f289456a37a4f756543985b168abf8b14242b7d4c6461e21db6489873ab3d51d2904ff2d1314f6348c227de1c01b1e61fdd78a279e9ebf6f8a5ffdb2f9e678b9494adc29ea749224384f3cf5e9dae0a501b4469e630e4140803013c65a01fca38f100385cdd0728e772327941eae223abd474050204d3276c3324f2d3a68f70de2edf3c591a79fed256d9f40c16bcec40fbe19a166ae0e263294f90e1f5724741a608aa1da0519a16344e0c6b3777699b8e39f79e1f8bc9086ff4427c1f4f607f9b7f3e29cb5b353cf2ab92138468c11a3b079e379b8fd6b58805c5ddb06b6d11d141cde146bf824f2bb7121c20b2f00673119dec274e1a3906843b369bfb2b72603f0d6a77c09f9a12047ddfe1533738ff604676de3e705070e12647da0a5c1e5f23250999ea2b9c4ec0e296c89ddec06646970bee6203a40002e9cbbfd0000000000000000000000000000000000000000000000000000050a151d23292c3183010000" }, { "nonce": 939, @@ -86,8 +86,8 @@ "maxPriorityFeePerGas": 45216, "maxFeePerGas": 91648, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4602f91c42048203ab82b0a08301660082aff794000000000000000000000000000000000000aaaa832a76b980c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f340b0924de85693fe92e69fd8d56ccac03943a4f11c70b3ae910c20937b61396cd8c864a86bebc07372a540b6f4b8d3cbe6d9d4b6b9bd3b37d1ddecac61663f8d48f4c5eac6e3999475f5f3671c9a26895aae1267084e2bcd368535992ee906430a7f5cd5b7209da714c378bcbb9b512b61887c823e675e8fe987b7b59e369b440fe46ea54458fe74907ebfef0f3abe3404071c17679f51665143aab03f949014cf4d9dbf8652bed20f97fa48054382718cb0ab187ae5f11d46782e93587b0902d11aa8046477fc4dbdb8c2b09057eee6293c068bcbdf07b1ac82a837b6829096abf303bda8413a4007904fbf18bac678686de145ec6e2ae326bfc1dcf3c91d48c3dde3cd67a0e06cd7c664c987e0254f1606d583d43aa7a8c8b7e27267b703f5185788ab4c5a3f06e4d28e3f4ad00ac0cebd6bd485156f7bd9046ae3cb46633119c395cf344049767f4852e9d8bac2f41c147c78756d400630bdb2f101727ccdb96b593d0ef88c1b5715517c527eaf5672b6c71b369f7eaff7ed64ae8b27585861bdcfdda4bf9eefe263b7261fb05ca8569aeef90a42313b862fcc30910404509508207cdbe202ed3c223aba2ee96e3d75ca09d676b79914cf80ee64e58cf08f83afc841b3b44eadc56a3fecf8b7b8a3687e9eba3bf07620be6368b317949a6c8edf1d6ca2241b3f8a511ea470398489f485d655c4cfab172c5e8bcc191090ac3b00b271f895d5ec8658ec3663839c97548aed689a81feeab7b03aef3f3c69ac3c87da9165273f9d9e9cf755ad34b95ac066dd7dd76e571a12436920c41816fdf7964cbb98a499626a1efa2eec9cfe20122b84fc0528b5e775d1b37ea5e4506554a2663f1fc76b31ef284c5618a16be51d280f84ca377cf7a479a28007d747e147171b31c6a7097ee77927868110191919459a5b28fff313d778fe6b42c9dd398dc9979af2fa438c584844882c691fb735caffb6b97bb422731525b9c8acbf1c0fa742aaa43fd7b1336d7dfe7d1d58f8bd16564d1bfb2f4dff85b0141d03ba98c03ca6094aad3dcf9d327bfa44075ea0317217261473b23262312b8951e3b9d079664037adcdc50fb446c698f78d88524761e019eafe2d82b1333ab45472dea75b5cf1da9f22dd98f6efe9095c636f6be427e1b0a021681c9aaee376cee9618db9b0a5f3f6cb6fbcffb0e22dcda7f4bd85b7f34059fb28dca9aae2d78c6a74d62d1663090f8f98c58a212a504959dc012027871623697cb62750d767ebb52dba6b1cab7cefee4676b3de083af12b948adcb9ed69eb41a7b9d690d6a8b8734f3907553053f3b539ab0c95075ce76746f0c4a6312eb3ec035e61e139b782332e3dec3555a29bf3135dae9615d61ec3d0c9154e48b7e4cf5af43ace046cff98079b22a2e528eb36fd1f6792834b2d7e4df693e1071ee639018bffc73bc276d9ccb0dc3e9fd1d8f36dae1478fe03d23b518dcff11312f5ca4029c8739f91852272403a17a1ff96d2cf5e19423c29e23de0fa7cefb79590dbb842dc41a9003791445937302328d82ccf74d36f52275816e8b5b152be8e4b935575d80f6c2d27e79186dab1bc30554a3a7722fbb3a4d4929397c687a938b1e2dc7445adbe358d4f218cdfe809fdc48dbe03a181b2878a9724b121011cda7073ba6c7c1ca0ea89316af8d9d98be6f7de01bec145e13d597eb3c1619e1640b0e9e1c5a5ad25378faec053be41591611f291159f0bac5d8202bd6422db1e44b132e584e20ec2519e16763b2557f865479bdeb3599ffabb188aa89decba662152d2997409681f69e1bf922541e7a1f7af9c0ab93eb014f9a029d14942588890368cbc71750d14bb3b05234d4f68fc1fc2cf7e1783e97ad9baa1ec1887226ae050f03b61cb66acd029e8d236b985754ed7c8e5b85dd41ae0a63be20f5e31d6e22337206a34d3be4dacd58eddf7642c8f8e414ce16d373effc795d86f1f8f2d7df3d25fedbffb08a3ac065c5e666554923086432db62bc064596609dfbba27ece15b5906ee56b5ae6cff1a23a876c79cfc661b81f17540a5865a54e23dfb973307d108287a8ff91582e31f37d91816e97644dc69bf9096402464c9981180986dedbbefab8575c6a47c6c9f6ad49e977f60cec17dbdf5813e011d11c119c31621a57877ef1c6c2fa8f7e4589f1792917a2a6e1a19fc0ca62c166605f61fdb1d789d85933ce402c2ca74e1699b7eccb0fbe4486be9f8e4b9ccf85ca5e4c1773941df8de66c62482892ead422be0aa35c6e8ea07635693e07a7a47073ab68caaa892646cb9aa81fe050e5a310a71bded9437fb95f0df035abe066e77c7804113dc363c1c06acd0e07ae0d5c74e042fcdbe52861ce60d7ff00247a91e32e827b2d809e8d4d250f4eb60520a59bcccaedba1243859988607c8c18c1d946c0fd3bb93afd85ba209d002e84aa4f32ec22a664a61f5b8928f593a19faed8421ebf16d2e67003df4baf1f873fe17e37647ac19c0cb166734214c40b1de55ec72292963466c01277d5d8ac30a9d91ab211001818ae1be363b4e3ddd6b7a456c545d5dca6f1f840b0f57681ead99e0c2bb65fea5fc876a77da5ebdb3927d63d53b04f074d5c25efe078bf146c1e923efaef9be45ce46252bb77af8ac1432d811917d2b530de59180f1eb2bf14f8998def32afd35a184000ac10bd4c356ee199a430243520ba1d45d8c48f986ffcdd6ffa6a245bfab06f663e8b9a13931b9e5dee0950037c5ee026d592814ed0a3d9376ffb8f7ce368a4bcd11de938944fee1cf8d3dbb133e7403f634d6783c9a3b78f8602f690e30c4792469fe36e6d1e40c08d1dbb0654c2c4350fb5f0337a803f40a0f5ca2ab0ea26f076e703882ba676e4552152427bb5b3b2119faa457ca38302b2bded65b0b76bc39dca9ab9dba05d6d59618f14532020666a657317c8d631648a381c545fe60efbcb5c9f62bf7c257b6c26e2b48ff31deed9dc36653a282299406c27a8af5db21091cf21aa362196a93face23f1442ee100304397841a52bd5202d49bc33b1723ac28e702b67ddd4569ebe1e46429646d8ea42449ccb9fd2caaea520379e6ff6d0e62776a71047792ed829423a496340987f5d0d956132836232090812c1558ccfc7e9277c1540e4d20bb1001de87eb7a77c6fa5611c783c87dd2df6a56d987ffc1bc0b986d9e3ca77a6eaf4958a38b251265975987f21aad974b8763e46e6f8722f641696a61b41723f5e018b7b968a11cbce2d72d5680bc524d3dfbbdba3ad1f91f0f521b6371d4ad0b2f2a4f28f91d0a39c31b83e67e7398afa406ef0ff610962a64b1273dd0f4e6a9c79db9cd4a5e73ee82a8d6ca454d66d66cecdaf0dc1686d0b0a593ca66de3e45f87961c8ada010683e5ef3f4fee3db253e0af4dda1f6a11de415589e92e49aa5c4b4db34906cb690dfd8e1202d7feb67e6b7ccf34de885d3f074fa55184f4f448c9ce60078e23ec58530714ad2c672eb2e003d41eb21dcb6d92b85925e04322c80391b65a4216d163b32dcf8cda511917df359e1e8ea5f535178aa9f9b50e623df872553ad3546f3b9b5b26b4359563c04e83a0e29e34a048f4930f00576cdb9428a05501b601b91f204b38767ce2f43b009a2da3a0cbe9b2d15a505f82a92984292c9806c28fda04b99777779edc8b3a69c85ddd0f7080876268f38619b5e92808fb23214bf53fea9f6e1f4ea834886110ef0fd9a8bd71aaa9ac4fbf1e1fc27ed7c80b5598f98f81e54a38148dd45bd953af2b577090ce8ef686b066766ffa581baeb29e6e07ed14ed870a26ea7a7605b34b5b97ac02333b38b1a49ee23db5111eb72228dfd6659ae29983ffc24e33d28c6f5764368fa1783aa585412d6f9e3f3373deb6892cbb7e856c69ac2efcb9a8d87d0fcda68b9de86fc22b326e9252b6b2be92cb8b960c4f8257480594a168d0e31bf16546d31f5d8624e4a0d207f397a34472361696afe2d4aa6c13161b3dd65a60108fa887a689405b17e00a018d89919fa9c88546fde9f0b87e4a5322d04c6ddc9446f67d6d256e371a5b74ec2af18438c2977a330e0eb7314715c72502ffeb84de241075f96308850a164d07cd65b8dbba52bbc6d46f6c4b461efa9eb03322b5ac2ef922524efe2303f63a777a7fdfdb369065efa44272a54690fd53a0f951e6b430b79f337883bc4a4f119cdc1908d369fa20968ceefe99d334e7fcaddac06547c385cf079dd2cc81d132f8a9f706fc6fad5003e6ebe12cb8f2d10f284e5cb3e1e73f585b7aeb190d2c57ea907a03b60e54717de56b902ef9d9080ab064366ddea997c4ae2899142f755a2256b02ab793779737e48993362e55024b1e24c69b907aaca6524acc637c8ba3f83d993d60e16746122f50f2a33f82be5ee25f4e4e491af8712ac1d91852369ad28fb213b9aba270f9bde27efc17773a8e826ac7aa2b240683390e7179eba27796fe13e36f3d12008d458a045d91d87ee14ab5988312889429010a51483bdace49eb88f4aeedb0edf95d3381f7c082c53bac947357e72a468c280ded0487235f3cb0cb91a478667285f5bb21f08082d10b76e871296edb4d9f878afc6a38871058a9cecec5f2317a7d83703803eb32db6fc2e892657e9bbf173021c477e53328e2cd0234b531b8d554be430b9dc550a8cd6b44318e013f912e5648a031a4f9027d353b6fabd6b7ef029f049834af0afbdbc361bd707142f152e4712a6a9584f5d7b96df2b219d85d1f9ead1f82dae22816b912436d9a13a06aa49ae3c2177c56be4effd925bc61da981022e57521bc090224234effff07216c59582c4686b2f9cb0732e72b5659d61ecf448a1707be09e052a709134673b3a21e471ecc22fe1cf98430edbcb94eb6e43665f1bcb63c6ea7740da8340834e2b64052f036a0c683d5603fc64129d7b6b43e81cf660b91ee2956f0355e5e7eff70bc5f2fb688be469c868dcb6b57ca568a51f7ae259f092d5763b2750357468e53dee4ed2dcce62f23f94df44c9f3e9339d1f487e07bc205ae968c38db7173126370391bbf89d151e9284428f7fe1b5f8d3a7492b3dd80c58ac7cd94f34634513282080df65d148759e8df11d6111349d1640431f2d32d2d9fbe0ce57ffa4e749b369121f8dabcacd467b9c94912ae783970dce7dbbc46b7cd9097cb50156b9e79d6f46ec3a7c072fa0cb983e9c08ac3f564f652368be7c83d776b0733da66f2b7fae1027dc570ae9552715f2d0bbfbb6a3edec73c1b211c6cbfb170f565446aea3dd760e1f9238cf9b9df88b87c0d8e5904482fd12e13e65ad9e3fdc8157b971c6e414f6ab18b3cd3d3ebb407ffc6e299cdb6d8989db94de8cfac3a1e68db6d658eac4b951b434cfb043fe36d8f6ecbe48943722bd15af68c5a7f47c3b54fef728bea49622f6f2710f5ccbbeab47ef6edaca885ae4d9143507652b61f1fc0b0d249b27fab9ed392ffa29a267a0d88f80454eab5de9146854e47d602bef8b3a167ccce22c457014a4a10b0a1038fd470f63622658307a76d0096b215983be5a574362ae26c3fcff2c5762dfa4441617b7e736cf014ecbe8655658eb49ab01aa8e83d5bfe173b5b2969ed3a08898722b709e4805cda8db060ce9c129e7a9614dc8cd57ffede7429696d99f3463122b56a947055fc66e86c7713d75c4a34583050269d60d92ddd8c14a40041cf4d2b83cacc22137bcc740185171dc0146fea16c1efa79f47ded9e254610a4a6abfb9a743e0d96ae2f7abc62c08bf31bfce3c6f3ba71d6217883ae77b99999ee38c30e7332eb79eafa45d7f6b27aa2f68ce4469c23dd3857aa6e6c3dcb6b5467c70965f247215d2598ad5eb90326c4256d754e7d0257bdf55b35bff26e41fbf545e7040ba6ace60bf97f498171c3ef534305cd3d7b412eb7244dfc56ad29362689f54ebdbfcdbaa47ca7cd5edbc05820f38b4d3b344382a141316c57dbad18c6e8c206bdd3d661dcf8ee286f81056361fd7f02ebddb93a7e6fbbc0357e26ad3c22b4d68b82523adc6351fb596c4ecea9597db4cba097e80cfb3993c753e77efeb29402ecd6c77bb6328fe32a60eaf5ad73162570238357726c1d4412253755212c885d283f24d2302cbe8c1163668ca6202f0829612e8c1dae4dc0b76c0e1d08f0c38781a848e8662079133ada796ac5ee24f105ae931baed243de9faa5a559cc039b79d4514ee2d54020e81c2ada48e9e6ff993a2b48636f58692bfc02fe43546ba6711afd60a580a393db2daefd4e52f493a4abcdb4631068fe71abf60880b5aa312f6242b0aea8cad87bd1253de785499298a9300b5807d1e28e7b6dc22f06a83ad52ec0adecdfaf3bbcc409dfd59dfa9ec065092c82c3c17d97b4451fd4bbd465ad9f54971dd15292967118226f6101143adb1bbe626585984c2f3f4f70416394149d2f74c54662b4a59687d0e1f366870c6d9dadbee0f343d6062adb9d3d5d7fd080e3f6184898cad00000000000000000000000000000000070f16191e28333b" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6a02f91c66048203ab82b0a08301660082aff794000000000000000000000000000000000000aaaa832a76b980c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213b3948ad2d98dcc8fcd1b52188efc67a2c072624998c93fde4d26b7bde6895159d3cd39440a1ae24ca1bb950ce7752ba5721745486818ed0f6d674f6ae103c59ac35e083337fcaf1d6611b00e4b2dbc7778afe75735eb5ca533be28b990a75776b674cf608b32470bed906e550a956ea9551cbb89485afd6d7150751345e99e0e2c70288ad44632ce02d917bd258a4261d11da34dcd88da0b4530ec59c9afbdc90bbbdf743de35c7be21085072cf5289ad2689883ba8ab628026ec046b2e8c209b170e32338338dc7b9b948859d7a1ef09151315e17ea31af951b7234ea392880209d08fcd2d687818a932c7f7d8353cc23f14a91045b304d1181f3322631a3aa7d6241c6937e47b3e25f44f1f38dda88c4f2b517751949b3daff3fb58108ba3e09c1229352ae8a208442ded740ecf00ff95d42de6fa48e6a4023c9dadbe390a61ae630123d6a5b0b4bb4598a7c26f317ccb2a57b94bf5098b40dd52b39e1383816f6b36902c6e0bfd2cbbc1a60ee4496361751dd447bbe79175a0354066267d340b55ecade9ae88d14ecd8739a3ca26345e6d2978333917b0a48fc3747af30e13e5abc3fb96308642885c56915d60de9e7dca5e6cdd5b64048c29261b976f8e005ba0c111d30a1fd5bb013f7c09e2e4cff98fb223e56274630fab2eb609674f554c4203560359c55df8b9dd744babe4846f34daa1a5afcebc3d4e0e20a0ea8d6cefb7907fd2caf92acbdd3a716b32e5b3c402045720e954699425e902e4a5c7f1f0b9f95dab8857c09980bb62175f92ba91c7630dbed1e34ec9a890170214fd9a2d4c62add8e94b5b4926207f06d1ba8bbebcfe49bde67d8f3787766547fcc9f0d8456030d06ca7c2821e440473362f6102e1d7a57c753992b158eaf9baf96d9b7f39fdd5894895b1e3a844a25ceef35cc22d453d879160f80d2c6a98ac78e8a1943c44f4f2fbd116cc555898720db8b9812b7f37e8cf3713140ba0ac611f65917040aa3b29fda4f4fbc1a8f3e2fd9ce57b97c6f031f4d55862430e8946ea20d2e9f831978fd81c4de9f2ac6f80150b1cf37c8ce4b43af932d21609a042144eaf482ad54cf6958e7a14fbb11f7add20338514535e1c1db097819511ae0e07e02f7201efe488cc560a637f4afce0afdb864913bd2e14a9e01e3a8a7e2f158afa48ed2975113b65b745985abcd61a7a077f1988401bceabb78cba9dc24b17f658d570f99cc279be82016679923a953e26537e06188e594fb8e1e9a896851bcad55c34f8063351508e113097d104a1c1e797a31fd9dd986666a4755f421a0a1c9c42b72bbd1e37ae4bc1a58d7a0b8c2c2d8b862291e0a53e11b509f97fb667b1bc29d17b7f4c82a60675c7f5f55cdeae6fe8d82a50d4844e9e4c0d4436c729a60483e6caae4d2d9dc3d13923d3237ca64ae54272dabcaf594b08d0ff1416227c785e00ec9fe590e5318b96eca51b17d164aa303981de338904bb44a4a9d4a2bc7195c9655604581b027bcc0b1ad9827543698c8919091a522ecea13ff99a644e217840943c42c33027dec7f727d4cbdb4d0e38a5e11de7a300fe1dfbdc308a86c36ced99611fa4995e45b358ff7504ec1bb289aeee8d70cb87bd0d2f0c8af6b5ad9cfcc5f5d7e53f455f8b07b1f438d9d58e3af4d723f9b4c59f5a27b06fb6a282b9a71b6b6642de970c82dedaf87b53953ec8ca14450a6a28ce0a1dfe4e1375f24e97d74b4d3ca257384708739d3b8dc5d3286a353519f28a53de0809397e05996bf03dd3218c5d21f233a72eaf3eb4dc3ded30da26ed3a50e81ada91401d5f14ddff494943721170e13ce8d259fb24edffe9c5ae454e4c1fe359a822a0a7f4eb7248ee471fc3653ad5c88e639d3cc87fe6a2294cac4efc89857d00cd45aaee3f4306fec79af8b5bf9d178c9837360c21cdb3cdbf0238ac6c6f5efb128a6b8513961268e3a22acd2b6b920f0b039f8b2f19122ff2bcb0d013cd174e434074d73dfdd97c68c940648e9da4c234e30ae38fc966b03f90170957e529947a79b3ab5e05022ba8fb6efbd227b3036eaa2d7319d4e987a02aa52eae9049fccfff9bd1b287ffd12b75a7cafe27da707a97dd96f8203e08c939dbb49ddc91ce698199d0eddfd0ce1e700e65e54afa348983c368677d85ee1ed66b886839883ed3e44080040bf290dc503b10e3e21eaed3a721b60e0ae73e85ed3dc13b0bf2bddfad44eb392bb44a04c7b9d50a6d2d47f3e174a1accb36c6c8c2ba48ab082449127c4a01fa38972c8b9054aa479e75a807a7be9c4a8435ee2b5c1421057ed014d2f8dd6c5e21d452a9aaa6e3d23157543b7471676912d6cdc30486fb08793d9963a85b8546763a83719a24dc40ef1fb3ee102ee79a078fed54eca2ba9b659cdbe1cfb7633b326c525fd6e19dc1ba8a675743fbbf41b288b71f310fa1fe5ca2ec23a907c86a98f606a257d8cc86172007114089f97ed411b558395fa0c1b10856e1743977f189defbe44264b94d6675d2dc168c910089073560235ec9e66c11d0fd8a37bdf8cab2fec3451ea539f04d048e4f5464fb5ddc07c88e4f0bcc2e8c8ecff95ee952b22ac944c474d41dabc9385cef8ed98fec116ac819877687da9dc48d9307fedfa007974ee16fd29d45564cd374f2ba1f45d81dc1557850b53bf5913d6b004b091a4d444705eb197f8129d6d3ce2829065a45de206108f1587e3e93cfbea63e7e1d8c22409dd9db7f3288276df8694d9d88be5c49f064a5aee98e35980ac3a8b397f9db71decce034f4a4a460b465dd0fecafd98f4c16ddc543f9452d350f34be1e9dfc08a43e26ae56407ffc65013fd29af0a7077be7e723c5146de290c8f47552ac432e717a98454fe7e3376b34cf09d103337b7b0f7e9d00ce2bacca54bb0acb42c348950582b385f2aba6452e65b188869e812986c842542ec531074ce21b6ee51317b39036bb025a08206abd76d160177874282c0c630c735ab791d222af163a38552dcb3f9a709d974d19d9f8a1a5a2dcc27bd989fcddbd46a4fe1e8c2bff82b51eb21b7a245fa6243358d5fe8c78068319e99ef3d7c4d2969292eb18894cd62eae041adc296fd5f6a4de0747faca371a26193f15863d4adf3ac5d261539916dd8ca0800677dd437fe7e9540814c5ed90e5d11540a9e29a777f64fc026c61a57bdde891c36eee2ae312e00798458289f4664ef273e23aca479b149c9aa992190eb52cf43043cd5006fea4f92c56d0b26058c853269cf3d352ac0d4db1d3f4d43614c89f13a38f9c970f8216fd98235e45e1333fd6756bd4a4c171b79af4546da6f0d1d035ee72652789d5ff649fb8dbde09f9f7875a8bf3a548ffef583dabaae7c427035840fc73d6b3ef50df613eec99a3e3749afc4d1a1d4e8990d3df40744e696778b748e67774ab5aaa7a504e0e7b6251312e2009559fc2b198dd364e46a8288b20bffdebde2b277b684ba847ab055b189069293fa6fb916fe26e9f1edf84ae5b777b9881bd308f4ef95a43c83d9a0f1c2acf249bcefc211ed9b162f1be5340605dac7baf40c78f85c28eefdc2e7bf09f7241d753e0c3964d691875b87f9dc6d62de8f9ab0e862acd348d7d36b1d3360aacd25311f11ae7502f351efbd9b3f2932bcd2791026c5a40ad96f17b1c9de4d3afd3dadb832d36d91eb0e882b8e4fe8b562f2e1e0eadd5a0cbc78a7eef1fa4480df8cc44c95eb50f602df875098314b5c46d39419e3486c2612340f202359d6e195e6483fcaa20ca28af84a84875aebbd140a741c7dddc56e0a893ce210419b52fa01d46d137fd016236324cad79bd00277986601023173551c226ab3e2de786e4a115639c3ce7a797cfa5602966910ac246862f9b042225771947a843dfe4e38aef4d47ed22d355b74786e386474c0edb35d2c7d9c97ce30e6cc429c81433943246f703dfdab49a4bfa3ffdf981253e76c3a5a07484e142fbd8ff20e2bcdb03b7a343c7e6f23eeb670e9067a0112e3a75054478213d85bd2c4296c09ca8cf5634fd1b94d41952ad2456c4689936a7b79c255e9dd181cf2ce1e28f7b9b1b993837f4a89640d81b37f1b835f706d19d7b4b8a590003d18eb45f02f377f6d49ad3753bab70ee73f36984830a9d05eeb4f53b8d08de3650fb358e4819df90122f92969019527563862649fc78a5669a3b23b311dd5b149ff6f65186cdb8d88a132e478df0085e12de032405ccacba88ae0508fe3bce77c39949db08a5a55e9b78157484715942b4112c9d4346fa33f57e247cf9f99b4684ae565d7708c3053eb83d9892e1511b3d8623b05521b31207db2f8739db851c60f03317df983fa1c8a7f3c35e9715c17fcaa409b500c2800d447dc410c3e5407e8f9bc939e6c7957a93cf29b1889aa94de16faeb2d80d3e86e0d9d759bac8360e80cf4714c4f2368bba750466de2127f325b47c8128275226eb114112961bfefdffc296662ab4e1eb32e8b54a6ac55fb7d92bd990e9200808cd0fe2f3a38dc73c78b4957104a3f5e663473513efc614bb142a0e7b7603805f494b6f390b17674e86fc650a6ba27bee012459501491678be2cba123aebc0c82e6e17ecf5c6c0b8bd2c11d5d9ff8ccfe1bb76bfd924feb9e8ac149ce55d6f6121e85aca6c280d143d055c3725602bc80110901ec6cfa668270d25f6e961c0578e8ec2b4f8df5db1a3716c2f081c55a12525d1e07dc5bc2a749af3f2dd9765ce04420474ad13e73806d8d5a5a9d0ab48718e8aab13724bf07905b3b140808e93be07ab00636e75540faa1168ff40c01b4a12de51a3fe6c4dc6b27e916fef80e7230539a488b77874def124020b4a9cddf931e3e98a0ecfe89588be30242be81842da93ae8caec71c8c909e96fd81531457e50ba7039a853df0ccf7fb4565f888ac8063c2910f9af493a1535e01900203e789387aeee495d9da77b13699ee16823955d1d80147f5bd9abd882dd6506778f583cd5de34bc140924983054f702717eaa9f89aa2720e79965beddacbab54b668486daac09d809a1f351fe3f619da1bd971d88a6de2eb9b0682a1f999dcb491319121921bb68ad962afcd6e600232779660416a50bc47ea6966e3db9da71ac886cb1e8cb3e0c9fa565966a1b4a7adc6cd75a9b4bcd4a1c9b6c32e015a8ae8efb17cac92c7538c0a5c76837f2220a2c2251d6ec4e0a7d9e90bbb6becf6aa70bf32b3436970e3c3f31f45f851f52d5a88bda2c53f876cc83101f5372437a5da6d520bd0e5084dc88f7871df8473f625e18ef403c45b37ca62c8c52dcc0b40c94ce887e81b8c12aec5a2ccd71b53e0fc5052f5caf6a66a88a4749295ac11a6576604fc70aed5bba4ef3e5ab156d28426f56be5c92fb9f22a23b8008851d464d0b67265e4348fcce1ef73f0c01ca860f0b9f393e1138a547017261a8f2a9bc94bc9f2d77fc36f0f192e3c0b35ca34e312ff388ef8b644c22596f214a68a0c7518bd08bd0779128cae1f6099229e6c10d84ebc8d6483a64bac9268e2965efdedf2be541d2fd6821c1049428a27691b13c47c4ec0fc00786899954991185b8a73aab873cd9eac1c1aa02d88b71db367764dee94bb91bef2be234f902b01a68949f3d9e97229d8484added5aa14580ccbe67ef59466c78dc9dace476a05913fd73e932ec0737647b1395faa0a4d847579d098e88f21172ff18d56a69993dbe9f2f2af1a81ef40468dfcc49ca85544956c6e0ebfdded93dc48392e6f65c8e62a16de3d070af1da43a199bda461fd3ecac2246211dda80af2e232a6c9973075e545f7b84f5a0667a72639e6d3ea1c569db14d3b24b0a5ba69d9fe2f21e38588de1b21c2dfdc7530b1784f0a0b2817d5fb0e5937bf97f8329b2084f6ed6745c9bcc6c3c07cb58d9c687155ad257f13c41aff7c0b3ddfeca73099e8828566a51e3b8962f843a09d53fdbd2669918072dec1c1f1edc234c2d64d9073452ab7b7873e0875b90e648c5c9f1e04e16109c745117a01388c4395fc1d6f165ae99037ced218859300399b881122d6a65a66b7a4dee9f53242f326edca27e4fab4570344c11d5b54890751350861803ce831989331249e6ce8934d4b10051cb61edeb7988b8467dd3d19b1d1d9dfd8b1a6ed28220378babf15a82d0566a5672b40fcb9c039062ec755b5085b1500abda849d261778e911f45b313eb389a0cc74daf6e7c0a52eaee454f8e036243198288ed935a30b7404a21de51619824f6ae6d61ec4e4fc6c389c56f6c52c16ea8eeb85a65654074ed4c3ffa52fc868eb505acab76bc1d639ac1bad6b037fc9ed23a42b0ded65a6b4586f897afb31e3972129a79879c6100730da966028ea6fbcd68ae10abe5f7a266f68e9896a8d43ddd4c425024b70f08a5f236e404893ab07320e5e425238a4d95f9c694c8b662d24b84e5637c840de9b277b8de7a2ce926d6ce1508f884d64e1e1847506578e305677d86be5ee61b232d5787b2b7bcef8fa0baccfd1986184753559ccfd505545f90a1b9becbf2000000000000000000000000000000000000000000000000000000000000060b0d161b1d242d83010000" }, { "nonce": 119, @@ -96,7 +96,7 @@ "maxPriorityFeePerGas": 24721, "maxFeePerGas": 107729, "to": "Q000000000000000000000000000000000000aaaa", - "seed": "0x43425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", - "signedTransactionRLP": "0xb91c4502f91c4104778260918301a4d182f38594000000000000000000000000000000000000aaaa8403e6c7f380c0b90a201de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240eb911f3999b0361bd22fbf469783c3209c96bdd607ebe73c8c764a5d6f1dbc2715532b1dcb9065a1fc6f52576645e459e3937ccd229bcfd64e6c5fe38f6fee80672df432d2fd8519ba4e5e42db3a83bc2648290e15bd7da4108dfb8721104c77507b33b2de8c205c0ee8bb3a7cfd2026ccc0165ab5310d3cf0db14444c152e6ca3ddc5025e16cd3676625b83dfe576dd0ff736d35fdaf639a919790ab28791c5ddb15cdf4c1e22b00f4337f7bb7807ebd348a11ffa5cf904870f4914b5a63efd52de98e36af94671e5fccacdaa83cccbf923de4d3f350c8d7e7c4c9aace867e7711c2be18dda3b4acd4c043a48c991be7aaee8f6309173a72a96fd43ad0444794364d6aa56fef68f802a47de1263af714f87c90840b581cd3c76c1340a99b4f6c9b42cfd2b59c3c6a52c4bc212f29a6dafb601678435553e0026ad969d992cc17dad3360bc5f5539010e325b0dfb25989abc84c9f5a4c5600b314e23fdc1e1fb2804fdc7d4c290c1fc74833b185a96e580ad1b818bbd1424c9d977c0487257f28ebaae495daa526699ea7e1b4e8186a7c80c7e17843b27b49f298a6662138483f0cebbc114f36f070966563d9c69fe97a2e7fa7fe35912355dbf69e0df3c613b439d6ac8145f77a93b5d8342f554045d558bb88fe43b93896eb28b981fe4e31b8c885aa4a4efc3a21433967e36286d8d6a651cd0b574c4b0d1c2be684da0b1333fa241a6d76d2f0bd86863ce8702988baf81c216af359443fb844e6cb9de1282800a950b3af67b621105f400fce8dabddaa3552e4dc0b04fdb0bf50fea7ba2964cf1c88c4f939f0979c15adb71e49e84c7fc7f52c601ce8cb5ea655dfe0040760c8514e21a81711143c2eb66efc50396e1462e7e0184af093c530652d6c04f2a3bced8c0c4e36b84db582ac461462a4fd54574bf34c156a6442e0f5099cfaa69edc4885c0caea2afb303071cdbabdbe3a28681de67abce6f45dfeff0ef66e323be880fd8fa7c634daf1a11fdeca23e9a03f6610791a7b2276325d47f2a95b9c94ae6acf26562b1c9b5ae5e4c07a21548f479e0db61af6cefba171616a5a1452009be4d3e73a3ad0781cbd010990f17af2c125cc8b31f50c9dd8c8e2b7672dd171904e005c8e8ef55055a718a37e1938f2abed1e0ba8d211133113ed9916ea17b210970031fe05e42e85b8d4fcf3311f8c687c110bb7d7d91a29343fefddba912f03bf0549ca27ef591cff440f95765d474af6da62e821ac7147f3761d7f26e990187875b8b095bcb27b09a97a6ee0cdbdd24a977a175cfb8a1c3cc4717c9e544fc6129426da54c64de09943d20aeac2bf73c44d5b20c0f0c3c848539b2af32b561855da934d6e991ee309bd0e343f6732eb0c01b41f92eacb885516797c58ca6bb2e4ae50c5f6ffaea0f98c30b5cbca2f3fdb34d05e9f7245a8543df1a094972151c1ab60e928fd4a15ed19d59bf1a8bc8aaea5e0fbc4fa1e848696d9bce08e597731bcdd39122c730799e0cacd912805df3d07de2d9e55469cf8e73be55ab26e49b3566794153f1dba003879bed58fb5092e894d5fdff69faf1fb02ef3bf2d0544fb821f9d7063aca08dad5fd2e36665a311ab8232e4ad0e60c873bec9e03efb21b5188e46a5b82d38c57ff1926b1520c16fb89c9108fbaa3ce32c42e4a78acf010848c39f01e2048b8fe0b71447d4f7a952f9760be363143fdd45da929459a7542775b0a63602293721ffd7753d9f73e2cc9d8ae0b0afd637f543b1e097dc430aeb7f7b8c9aee994185c0bccb2e3fa8a53e6110ee1bba9b2520353a35e64ae58d7ea199c849341eb3d077553574e66789f014ed2736d450164680bbad8369e03b5f90059e4b5e2057e708b8114bfd40f791f0903987a807f00be701874b5498384f53c377322fbe98e4efca5cb8a99bd11e0c931b5562fd416f630666c62b86cb3699c0bc6d9f1de382c6e46bca1c508e22fdbcbb2beb70c9aed8926c2385c4dc6b654fa4364ddd930e4366c2f6aea54553a2f0798431f974162bac9d1e91712c1acbc6407beab9d6ddfbf97d3c114817f19b956618a573c3a561750cb81ef1d4e776c831a94f4bd6fbb645bf01c6f36e2f0c4aa812f193a7bd2829d756cfd793d1cb47761596a4d0255dd7c8d32752b1c87055093c620346a5445b1d6e7be785aa3b88bc02c626e0c4f9d56d397b2aacd08f72d14ed9b2444b924381d25df086106eb2056181211cd0a3346104cbd806a38087a8c228053d33dcc83e8938ab27bf681f293f5a6a02816d35e50e251c8f6684093062bee877b89c7a902cad984be546fd91b97e4bc391623a43c3bd0316ea0a342a91add5223edb298946122e6c361c4e190b8677a766a24d1cb2ee1b83702557d22ad372ca3c0ae95a1af5039b08c9b3df06e5029083d8d33c90094025162293d48155bfd8b5faecedc60505f943fc1b51470eda0fc8dc0f0e537745a4a40c9f4046447b4692deb4d9ccd056641698cc26acf4781116ca927b37a0b57572a49566cbd610bc03710a8501cb23532b18ecc3e0a39835b2e9e8ba76f7a7b82744142023a20e9bcb7dc51a1ffedfe98acc0854f77758d3fd03f0d54ef0ec8094632f2740d5b659ae0efc87c5206b0e616ba0f228b41f7b4a5e1fde4a2437150f11681cac2614b10ef92eb86fdc445465bf535cf3b570a382290808da3e5c45dc09f9b8b4be2ed0773ca9061c2e3d8c3e5493091f123908eb609c38d4e501a6a7e60e57d8ded0b387278da50753e9c036a4d2db4be30b319143ca00782a274031a016bc6a19ca8ac02ac3ad1e1eaf3e2bd5767499111cfad82b3393762cec23ede4f2e85c305c767f0225a87802eab2d7e3a6e4d486d1e0ec3ef63c16a5a72da94a4ea4bf9d17834f3b3b5050c828a6abeea82881fc7aa4cc7bf6ecfdeda47511a10e8bc52b71666770d4235800e99d41e36a38fb33bcc4a3bbedb3f3979583b9dc923361c518db6cef078410491f95ec594aae88b9a332efb28e97672092f457f963df249d3b42bfa67d4fbb249eb2c5b0b8ee7eaa20014bf1118f106a87bdd7fb11cb4d7695567f3a685799950fcc9a77e78e6d5267855820a0035c64739a53ea6656e1f96ee9a6029eb47e80faaaf5398437d3e07ac8111aec35ecf16ccccb591f858af6ebc113aa7e292eeef0538c5a5e5257eef83295c859368e0572d054c5a046a7c408c3693e05a7cee00bda13d3c8eecef7b40cc803e11b818f2b038e095e3b8e49f698614775402a25cf877b8313af36c372183dfa6e6db21e37f1c85a96a27c99728fe8627c00db8a00a4238ca53cbb729572598012e3e773fea53cc5526cee3163e2b1a4be8c3567162bb1a1d9c34f7ae7dcbd0d3f3b64371199dccc35a431a9a9120720d313e5dfc6e3dd5c01b568291720c4f5b53da80efbd106ab379011a8b910ed8d054a0ccab41a0ba679330888c36e5808bda580268ad11c420c4c76700389ff271bd331ea86230f9ca01cd336c3660808dd03980520b8c706b6783d86a29172e531262c86d1e639d671bfe161c62cb83232c9b543fe42ec9b70ea3f66c335247f44358b664bf6b98497b124638eea4200303338b40f62aa10e3429bf5dfdb10ccb01922d17629a68639d85482cd3f7f3363b7168e8341df98d3684695d0b2b9011e0e99324890034fe9c6f34d0b4c0877ef2b3c0dea4087e436aa31ebc6cb4c56c4bc0a275de2ec6f3938e163a42a68016116c6c81d96654947ba5aaea9f9e8a451b6addc0bf307b0cd72242cb5829c285759d086cef6ed8d5f5da076bdda0e18c9f0f5170470086fdc6308f2afc5e192cb795651ec673c11b75330cc7554a05c4eae0546600788b52162f866057a950c005f42aec242805f0b11dd1949ba96c1b1aa4d65cc00ca7bfe48bc1b79a58e980b55b7df794bd3b1bf80276327d3c8ab4a3256c0b92d0d489f576ca89122e235e301f36bdd704ad2455f6ed1832d78eb0eab055952b07389d50f65412fae85a94e042310d10d52b704840f3de603bd8477857d26be7532043e3c3b3e272f283fb85b3ada96bd537b108626ce7757b95cfc0f255aa61e6ece37cb8084bc9e4932df0003ea7bc82f4a7b9d55261b7e6740c912383d5424ab4cbb8e4c2a89ad61583766460eea2b95650c9403f286b0735a4abe7ec9535fad3cc0a7ff557e0e8006f0a5ad2891a2cd42554262797b71f2115d145493a93fccf832d6b98b4573b06e7dd0e39552dd4070bdf91161c83290e91f79c05de155645cac4407d339b69610332963eac4bd36cb47f1c440354302e16b5523a9f02c9700647ca2a38b7290e5088ebbf0779c91f780e0eeb3129c363b73da29e96b7e4a9aec8c6ab885045396b9ca7f8c92d412f9748be09347ec3da355c1c34a616169ad8fd6b949c1ae3587da6d6f1cbd5811118737db1627a264110356c404ddd4c6dad4672ec23571c0d2dd2aeb87fffcf5125bd997dc7072c78717c20935b0e3a6eaa84eba60df9b38f001fca266279812bcce764753f4c6bcb9118ec0924cf0bc282862d5b00261039b426e7721daada9a3cfed5bebb7f4417f30fdb433cf2c2f19bbecb0be7f85c66a642392f0ebb5e66e424730bef47be2a29e00268e80d36e88a5f4933a3931ac6877048d21203baef5e29d38148263c8b9168c97f2401ba09a7ae1e3a0ecd9c68d0d51606e2a71a86d0cb7178f7957840c6a4ab6db989c3ac7fb819c272f168c307f8cc78e66cef6b66fc58457d59a7b4824d85ac9b8556955603e5120d3c808122940378e85faae31493298c90eb6b70009e9bc43c5655b85e89429248b251b3d135a7527dd3b47fe927e19c41aaac9134c219357b277d00c465ae6b4b2232ead87aa18ab8acfa82f737b6ed959c8798d99bd10b1ccbf6b3d79278d70bdc72a06ab01d022a8d0f9520cad330d84508ae75b6c1ee4dd3429e41e1297c219aaa6cf26f4b6853643ccc6d4b34fd7bca0be8df3f4fa39680f7ae2a88da89eeb803dc4b237d8cb0de7e6c7d58b6ebbb915a6d7bf7b2c9f49c9b7832e0256758fa17bbcce2ec9eac7d88feafb4633a6af59b9a8881b8f7c85b43f7e3dd6fa25385da6a3bfaeb8afc5ae0e429a2f68d663fd7f5e02a239f0efcb4221cd3fbecdcf8ad1f0ae3984de8390fdaff8d42db0495c8a6fcf9a354072df1ffb2882e6926fb02f1d046684011a8e957a45fedcaae1f22f171f829b24cec5cf344f948691ece49cb352c111836b1799676802a4601ca8253d6eda16142befa25674b0ce1e6d441ede6875c6bc00783218b3defe754e899db2f44478407ce5d2bf7a4443745907ba3cfe1568326fe5419fb50a3ba57dc116e96a54ef763a1af163233b009f6b727192c94b9d519af5be5f869b4aa0ec83fff1c5b4ce9f6a647bd1a8a7bd7dc9b7e1274f74e98fde72d2db71b666cd23963668a54896b098ed8b4e64fc09f69d7328b439069188ed852f34f375e761e1453721bf7cc98cb687be17a9c3a9316e1af876d7101dc93c3ecfd748a43a39aa5c07e781cca59b7423df8a43780fa8dd214d8dd769220fef06a0efa36f05d7baa2e88e0841b10a5c7fbf5024cd642345e3ad77265a3ac569684940441a1603eb0d8d244bf26da341447b06d7b21ea8fd84886f59954e06d54eba638777c507235e68f1f9854c8ac5e9659b1dab5d4cb56eb6372faf44d4ed7adaa5a70819dd8a471319e9700edf28b95478c26d7d3a8bd211568466807a637658e83423b8fe29d196458d993668e195750588be5563c83d42047f3e60aa6ceaaa02370f104693256e26275f86ac84bf55055eeb1c80a2673ace2c352b2242ff59b386a7f66899726e5fed155ccfcc86c86761715a446346dee59395de48373b2debe7895fc565dac73af52330efefa466bc5ac9181a1963fb57cbfa83df3e3ee54fb51330f1e648afda7ec80b41d04a72c6d70945e66e63eb164c23b5f2d044eb81cc6d54bcf90f47d0a0a63dc1523d77898679b5db8955670496d9dd6a056eebce0157e8e62e81c9f25554e16d4625cb3d779f254c14dec656c11e6a2897dc48dacc999d2efea178f2ee867487b3558b5bc5b16cca3c0121076dd81d22183b8e21b3599f434c2f9e3560a52261a0ccdb139f253c6f4439512d7eabfb28270ca721bbe9ccf6034fcca31c7f2719d90bf2ba0b2dc3195bcc578ecb6246b8b3c9005241cedbb48237dea567e263bd5307524d8293fc4495a4d69cb5fda91117f7f51a3281ffad32eed14f61d2e1516bf581d91d7d7579661aca5c48108f4053852c11d01fda7fdd3a065f861858e48b2e321cd35c4e260d1913ede000ae26a59a3284988eedcaf1570daed71be8130b3438b6882cb4ab22ba353e0af8b9667c996618d1a19cda284b4754f143111c5e16282673779c424d5253b5c40e0f2536698da3a9cfe4111475b7db090b4c4e6cf41b354e929dc5cd0927646b767886898da7d601114f546f868f9ce0f10000000000000000000000000000000000030913181e25303a" + "seed": "0x01000043425e20ad82f0611295b1a8e583f10b45c41fd51837e5df4f2a745a4f4c5014eb7ebae166903c8c99597f7ce47cb9e4", + "signedTransactionRLP": "0xb91c6902f91c6504778260918301a4d182f38594000000000000000000000000000000000000aaaa8403e6c7f380c0b90a2071a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49b91213d79249c49ee06d301ae7c1be3e24e31734684deaa64d4c2594524d67f67f70c00a669e2f0851b0504094316806c4a1aa5cea5137aa15ec1fe8fdcf09a462cc17574aa637ad8539b2f1ae610ddf0413393d0c99ed1520c961dc37317f5deb71b3f8b33fa0f387c5280d9c47669e3940f7411b9ae8c2fa4df2baf1acdc3342c7b609f0eb434eb2c45f2fc53ccd87aa8abb95608e424ec3c6a5a72dd7475f0b3927730beb2eac366e783ea3e36c43143dadd24629064a1ae17c007faf9cf19b288f0fce084d1996ed8c6cddb86a440078b2976c6579b5b34caecb0019fa768b9129c63007229fa7d6bc51ae70903479aa2b4bb98c33073554d306301051d67ef665f90771e1a395774d133b6fe7a035129077f347a89ed4f3b007db257a4c4617569baef291183f63c9d573985240174b828f8f89ad718402d630addd9441e88b4fa741f7893d9fc78a7955e38d76fb2a36499c76407a0d05ed331b7cd1baa24e48ff1f5ccaa1084758f4d85534c401ff3ea6c6a49c60dc60ec2823bbd91cdae262a483d6be32b2ad302be08aefe6a784330b88492b38655943f8f22cd821c40da3d06343c3da2e312e20e782dffd158b0cc5365959f3b8ce37fb8eec499dca46a4d0fa29037147703f306e694a07312e32ed964db3dc1ffb5e1724bdda3b852b60b569000799a8781dc0e67321dece492f2712d7aea2ab086ac11ff9b774efbb6f822cfc4831b0d62d12b9baab7a6c7b133bd3908dfb1fe060dacdc673698287ecc700edf73a17d5d3f0d9ca3db4d1b6b7e533d54d74189782f3d1e234e25bcfe635b850bf1f2e6240b62820f29bd630792d70cc2baf0f7d01b0737d2ce61d21bbea159c45995637074b786d69e430fbda0ce4c8378aff4d2d3e42f9bb85defbd322ce0fb959ffcd5f4960ac0d462576f6dabd55144f848e00ed427e1ef32c9ad63c6db3bbbfb18fc149503f7ddbc2d6921c2f38327227a14c2c981ca4fb56c9a24ffa4655a452099e7defd57f93ea7c84a6c7f279b4d6bd0fe3adcc30cc6fbdba0fcc882177aea72fe424bf6b4644d940d068fde987db33b3ddc449cabc7fa57f669bf42a6839cd809e0efde431ef5eb5061edadeb3df77e14214f4688ca622bcca81d8f553ee22b1490ac6a0a047b54d3c6c3ca4dacf3938e11f0690aa53bef05ffefbddc7368dfaf519f5d5a8fe7169071a08aa8cb487d24d1ce420fe7040811c74bf7fefe1b38393e24560503dbe478029e2794090564d16dc9bbc45399ca7b5ed806cb3290b72d3226ec8438f3ccc118e4c8372d2fb9ea19e9dbd4e3bf5e62efd833a8cc9c37b4d974262dda4ee95c52ae5ea2e8ddc8c6b3bf9eefb24897ddc62ea41c499bfb7d6c9190a84f47d491d41cf13e24d91bf2490dffd57812834c87b817dc20b21c04cde9998ade3b2e453fafecae759a5e0502a7813faddde7a86b3693a0505c426b7ca3c56b2efa20f6ac686934cfa803447b5c1c8eb7849dbee47b0e700deb62892574d3a5b5c4a384f627cb305d480b8842e8f09e8ff8d17c75239c191de2307eb306f607f053618331d4b9a9b9f0910e8d1ce545d563bd16eb18d78f26584917258f0b7960003fa1179d0e31f9206dacef6b3b06142a7e552f7898663d551bb33683efab674a4dd627ccc7c83d9b8d8af539a11af388eb5022e21e22e7e9b487ed1c9900c835a2f37c221043a021ed3943b48f3eda90fee378a8debf512e23920b26dfcf90f73383c05abee9c2ca99f1d1ae0d84d6491af3818f42c81e381b2b5646d42a48ce2abb57f61debd1a0129e2690c41896cc007d780b42e90f0dcc0de2673f5d2db810fd86bf8bc89b973febb63a3e5c99271ae9f239e7be2e03ba77d931175a21f247490de6fb03066dc6eb51a10d1bb6240aeb1af2ef38d4bcb81337c1615cbdff89d7e7b5b19b466fae62f9155931931b17112dba34fe6b8efad1d7b381fc8d13b70d2aa99bd8fa29793c0117df3e459aba965506a2a1b4c549b99c832f74d1088ab3f152e7c43afb57c2ad57f06109189378aacabd5f7eb11be3a87651b089b911e13ce6fc0fdb871be3eb4d88122c9ddfe1423e18da963cd9412e696ee339b52671048f2fa5a3e8bc213cc693597c706ee9fbabb14910ae47b42193e2b93891c2f4a91eb61cb74848b0cbb8d0875314ea143099f972605cf0856edd8092757927590f218758cad84d89e3af229078567e03d007176ab3f2d7dceef909ef127935510ff7c17dacf3ac0cd508bc9b2f996f0c83f7fae6b77424be2afd27866c97d939d65b594848374578735cbdf256c8e5e3e929691ddc791db4c6aa14ec6d4a6ffaab94e3bf5544188b8543f98ec61f32cbb6a221ed95743285c77aac59cc4fc1b08b5f02c0b2af32c8247fc11e1315b1076630de44fc3a5a911ac7ac8bf91f0323f62bbc9d68b86a604ca7a574b2960b5104d3f4a24b584ed4c1025fae2ee57c1f98bfc3dfbac68e81e7c640e3996cb492de72a7e2e81fc359c32df453b1ddb944a0c06b5cbd026d8bc4f9d8cf3647e3926522d2e02520760ca26a632876998da25e18cf00a35147b856392343e5d7967c4b126faf6424aa12e8c9fce4e5cf3d51411125f4b1b71e59cd239915eb98516962e234a058d9c81ad60ddca376d7b3dc8c63f23ff1d0eba052835338a7d90d577de2c7666224a6608d91b661899559a7d8cf422b20a17e655dfa255d5dc7e5c8ae6f7b580d12982f036230465adf92b60d3c9fad671311a3e6f4412fead6fc8dcdcdb9ef69ed1b7117b48c890744425d0740e08ca6dad3555f4845a99b39cd9e15b168c17b27de0353e5d3821673a21fa7adb1b9a6d7dd8e9fa5d7bb173e2bde772eaf1814b8bec6d3c41a0832689d47ec97a87ece1787e96a543b94aca595eb083d3ded68c172d155d3ee0d0c94e54c0027867d21e4d504ea9923f202bbb547043e1d3c60286c1e823788fd39cccbe815a331d12e7c22ae001cf40dfd3b9ab0bf3566d6926130a4a2e172b37a96e3dc5729c1f8a4a94a58c27271384af0b4fd7188dd492329b8c5fae7d7d84ad99443be2741cd40ccaacb1fe5c998be285ba193eca50e7c30795be86bff71ec3b12ac93899e3f6c24ad904012f0ff32c0d5c24126f2230689362e8be1f6a0131ec5158ab46f7e6d59c3c9480170ad73f6ceb2b3774d4cad369301ea4ea9f2d2cc23e345bfa105358da686b9dcf3fc4e0a66be59b838e741b057c47d83c4d4a4001cf9b4ab8482e82faa47cc015c33d059445374543df7e77f2f1c3b2a536d0a44d049f3de21d8bb2b3c7777c4697e545241f36cea7307637c20fb59cc3dac7fc738411e4bf41ec08846e6874689c68843e36def2bc3e10e3136956602cf6570729551bdfe3a90d6f8865d68a4fc5425a174bfc870650677d7d95dc37663bde594175accadbab44e04cb32b43a1edb14e7bb624f2d890f429245821be27794b3229f83d776d7e5175dadff936adbec77a9f1183e8b7cdd1505e6a5e0b3f9f1e9d85a1ff43aa4c32ed88158513311052d16e3d28e3cb2e3639a117a23378ddce587cd3ea2b670a94b37ba609b2b01afa4fa4906b68b9369d5c705b5217699e296a2e4a8b2d0d62dc88103860a7553411d7576319b9a62490b6759b6ee1d55f26012d85fa341e036462eac61fee81f0b81e0e94c9329cc3dd91b2731b5ecaefeb9caecdf3205f22c9dad780778ae66c2e404c0f23556d9efda6339471c69b1e15f32712997c5f7455d5d031f6a23187a51daa65b79340e0909fe5e1005a1172262662d65c62603846e3d28822a6d5010dbbee772fda7b0cc3fcc005a3da8ce73cd00f502160f2dd50ec8a5d52d6694db708921348b32768e5f6b3090bc834d0dc092243bb857f8488d5702b43c16a5ca09ec8d0dc885ec90900895a13069c0cb103f77467c2629a36254d5840bb99815381e1ace734c258a69ed19640d57dd5df2ddda01b28b9c6525cacdafcafefa94778eeaa8419b2a9d7fa906b23fec89fe90e9aea23cddc4d619a7e29e52a5fe51e493d7f88b208d681dbae71a33a851521bf215860a120f5cdf5513c69b056e4abd0f80aa0e59b153ca5126d803e9a9655930b65e1561098e98d9e158b6a7510888279f3b26f99efd3b7eeadfacec9e6f94d1b2e7676b08656ce8f9cf3b7009f9442462cef3f60eff8d365c8934eafa79d48b7480abe97124889d2842f811eead001124fc8de9441bea3ad3bc1e27f77644db6603974ce515455b1d8d3409c8e303e9c35f79a27e09e12980f1c20266b059cbb513302a4da81dfd300e56807588cc94c7a52a1978f2bfa59ee58be9bf4cb6e291cb3b0c9e6bb245c6e08860b8bf87db845e544b8fc428cec5166aa683ff4346574c1c28629e5ee441bf0eeac0eefb4ed6c0aaeb6fd3674096e4cc2a6a16f1c0236800c32fbf32a7d2dff5a62e08e28c9207a8c5cdbfbd8e10fd737726731d274ef95c0460785b56246ff4e94eee71b672c596f6f15e69c7b4f492be4bf477819c7febe9de3e12b51e4da807764aa2e6175c65f562415180e486880b635907370e0a3e35747788a27b0fafe2753dcd490a307f5654719a892ccda56a41c648cdcb66d0c838dc536d7830a620c275970457d6f4e04ae4ed32d7667c7afa4a8eb385c88194bdbdd3fdeb201bb0f3fa1b5b82354342e9761a4a97c36da147eded32b877185c4b6bc341c8ac9f48b6f1b70f97d738a685ebc4cfd12a5670903f1809188a807092fd7899dc2d15e4ff3311daff0d9928dcaec6a56594f0f2ef1acb9ca70e9d5cfc5ffb556c760c58a9c2001915bfac274cee50aec56c2ca05a1c145743ac4afc4eb231efd4d58a21c0f5171d1b63f64fe8473406f33e9dfb9e9c15d233415a38cac4eed47fdc8b55d154af8f8549177c56e8357d998b803a37e2531506e11900d0b9350ac0b12bd1eaf3f437789eaa7f03d067f2f54f00af2bb87a200f6b74e5bcaaccf2c366fb44306a189e2a1b39d52f11ce0032fe93e2d40bd23d103061506e0921fa2305e87ebc329cfe8675619069a34a763035012ae998a049a8055f8e4e427e91dc4770ade3cd063cae995fae72f778922527a93f66b8c814b77ed25ea2057dfbd620ca97e071e46f09bbf831d9f3e9909ff6bbeb797bbdead2a2f3d9533d5a6636e7de8861478a1e820af4e66200ae920322ca1f2e299b3f86095ea32d1cdb8829c393f1777c92309d323db0a4a5f3efadad5b08d3bc7f6a0bd5f93fe5faf25276ac9e3fc527368b69f1cefaf1429a23b6e64fd291d6b4e2d5c262d99f5dad6c32eca9cab441215b0d0d146ded8bca43eb01e9023b63cc9701995429b5c555f7dba493bcb6e629818dbbd867f8c96a28e66af098c8599701cc198b1577d569277975fe522f190c4c9c8c38dbd067e0f6d00dafb7ccbebc27a250ceb4e0c9764eee517203bc7ff0b0b2d79cc4941fa8b964513144b3238c01025a84a2b8ffeb32e88d4e5fa559853f336533f71db103df94ae548e8b36a0816599df7bbe204ae9795981afbaa7c295dc641fe1b0d98d3cb0b45f473cc929ccf61fa05c9948439d112984cee1edde486db16a0d66af0dc619c03121c086f75df100842dcdbad8b694c543e09be3226c1f3f6bd334ee76a83ef880f9c7d2b9b254202359475e33d923557202188284655a608265cf8e48f38acbd0056f9fe3dd3efb424cc0ec3e421419696475603f3194f8cf756a4cf9fc418e12885bd52e0f87786193000672d243f01e9d5543295f933ecc0ad7390bc1bafc4b1a016bbdeb7f29bfbad3fca69288f3d588b7500f4f7e8bb874fc24618128baabb86974a3ccb4ac4f4411f80a1535be0d372d5f30e8a9d1445d81cb9252312cc934bb2f88e5df34d190c0ee9b808fe3af9fc9d3a8f22ee157396d4e7029f2d9e7dcf24d99da38219e37c28c042ac76eddd30349090dcc6f23fcd0306a6adb67dd2765e4abe7facbecde6c4a7b62f31098c356c77de54de294dd0fbbda8889a15814a23771ec40e0180b16e2edb219a96fa6656d4ec0bfc07c8761e91cee45d48a91118d610dacb545159afb71675b91e47af141bc37d3a868129598a97a766bc8a5c42256f3066292f501c91adf9348efe7d86ea6a2030bfd6325790b02b449f94417299ecdc480ebb6ca96b720a5512bf7001ecdc46899a2bf04f5890b8ef3d34d7f8966c6268c1d6dbf745f0fe4bee1b6875550e6a6a9d36354a3f06aa83c4f66ad016e250bbff973583cf678ff9d342e155209ee9bb5b856aa50a6231204fe45ba5647075c0e44cb0d9135d3a875d62a30e16b2fa99cae3e7d24a88ef7f54fe326de3d7741522dbcbc73afd932b66bce7c62827f8c16fa22a25551f76c81343e07c48ad275eaf1d8ae7617e2e8e2111895cb5bf5d7f93037f70c435a72bd4b5d4c3dfbe75b5adbf5726236be16c16c5b35e5dd37ef827363e55697eacc8de3a466d92a5a91192a4dbed313f5c71a3d5d9016770a4aed5dc2d41555e606d86c1d4e205298fac041545778f94b6e700000000000000000000000000000000000000090f141b222c303883010000" } ] diff --git a/packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json b/packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json index bd7c9fd0..38d99fc6 100644 --- a/packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json +++ b/packages/web3-qrl-accounts/test/fixtures/json/eip1559txs.json @@ -1,7 +1,7 @@ [ { - "seed": "4c3f1b0ce35b22ae3d02d9b6f8584e993638d538990606cf31200159eb23c99ff836a13b55cf93867488d21a1cf009ad", - "sendersAddress": "Q201bec2fd7f2384f1f1312d18f0f9d218de77336", + "seed": "0100004c3f1b0ce35b22ae3d02d9b6f8584e993638d538990606cf31200159eb23c99ff836a13b55cf93867488d21a1cf009ad", + "sendersAddress": "Qee0ebc25e1da1cb1f665f72cfa7ae3ad19bfe709", "type": "message", "raw": [ "0x01", @@ -21,8 +21,9 @@ ] ] ], - "0x94ef47878aea6c24a6aac5d43465cc361bbaf8bc8c9eba9abccda48977767f5604b8150337fd5ca7cf90bf8f63fca0e6fc0728a3071e5ccae2766a15679d2a57ddc95f6f51ff8bb831aaa937271eb80d599566ae1e73173aad708f68330bbd9c6555c0f9366763011f7aa4edebab101f99a4007c8ae1123a13e7c7cc19e2e7699b549bb770d3753bea49ec9e31104bae89fc38abe75e1f140267a2f492409d25f188aec4783afd2c8140f6a8c6850077536cb2760c65779d165b6f03f9b149210d8160f58803d31171be717baf887aa612c02f806bd9e3332ddc21c0e6e912d053d4d49c13d2de8a75266e6157610175d4897e58886aae12bf7b949e20351d80a4a994e7c70c9ba76a2472818343609061ffa393f6f270dc8b4aa806d5616e55e936f26cccd3e1006bf185196ae5457d224fca6555068bfb64a228e8b44b4221e85d2f1137224992f41a78301ff768527e953e50424a45d21e8877a16a915629f45aba1aca08769c561260d4d58bcf36af98c26e6b81365b91720f3155c1f9383d8c7ab295aabe6c9799f625d29da42bd4002fbd337ceaf991573678f6384da18541c4e3a3c9472620c19129bb41e2b5e71884b98a8ac319a0ec2be11948f4c02b0b824a2347e00945ec89f45f431dfb3605d8228ce69136867570bd0149f4fe2b53f19d1458e7d6f9688af7c5ec3021fbe61cb331a5a44c9f5e9a4a1192d5eeddf98f47e1c8379bf000ae6886cc3eb5442fa8586652550876a4ef31dd941eac082e9fb1ff26db706159ec7be0a5051b408fc955c55335db1f46c6e87113aabb03960f2f4fc986e4e583021b6b69e7c68b0d1093429630cf7f4a7e895ad45a41363c53d0ddce0804a8858092bc7a069852fff02773e0abd6c7cc7d3d34c0bebfb34e1c5e95ddb184c4a0fc77ed09fca96dc472ba0391214c489890ea410085d4c6ecc69f3facf0b1587372752a421641597563fedc9fc64452d7a7a0db9560ec1c8564a3180a5e623b65e1dd494f967556bde56f9bf58cf5e07a050258e4a90cc2700831a4113391877c65ebaadea8710e23ca9f7afb8c5bd90edf38211b32874b65bef5455159c1a1d17ac3da17819f8adcb254a62d7f4c362cc470f75fddaf6f6624f3a56b0187c4e21295534a832a0f2720c411d0685751fff095078d18bc854856f7e1abe14eb76e9e45fd1eca282804784d9c27fd15ab00bb6dbfd864c401f759d0f2da8ad8640b81066038b72c6cf26605f8388cdd67aeca21dda79d6dd01bc3d3ff5ee29f5e016ea681ba581940d0130685d42e9635c6ca27e1eb9fbf08f44879f4f479eefbde7b65476fbe379f771b0f116a2e6e5f65416b72f2c49452c40b2f108ab86ac7dbb8e252ed32946e5be280b512734c96db9511b21eeec3d0caeac51f8ca315ad7dd62efd1113e03932856d5eef73035a0ae24fef22a2c8aa1db28bc87702c34b2d2d722ddf0ad9d2eb4a6c16b85a7e22c49d115c676afeef8f66ec95ec805e4c1423df5dc2eeece55f107005e15b3ded7c5ff7b7d6fd8530049ede7b776bee594fc18e29a4ae177419bfcb2a0185f51ab35c389baf9b37742192e1c36c2ba7d5c46f683dfa8ca8103a824033c68d844d0ed55e560b96b8421162f57e2daaef5853bfe476903fcb42196e78ae2afe3d5da230de9628e2d268dfc50290b2a8ddae0ade58e2919e0f9be4b538220b885e20b28741cce7c6072aa27cf076197d8e046072045f4a4e20058e7ff428419ce7629b7f76dc0568d99586fc4095107b02228d4f2e9978abe68ef302747a67805d0158b88e94bdb73f1c6e1ca8918b311b0a5d101130e142d2085778d1546532c842f2673cb7a3774eb6d23fa901883aaa682aa7ed0195c3f899f6b485e09715a3791ac9102c177b37465344523fef3e9479ce39d358db0106b5b4cfe26415c5ebc2d00ab36af1171ca33f2c95ff16b63f91e10de4405aec7d6368afc20643616bf30505507f7af84a6f70a36c9f6644bf22bb141f88f15c01f99fbb0344b6db03c042cb8e80e6e38717c3e749cae3782b3d3529cbcfd68a04ade376a7f334ea471d21ebbc62035a57cced3f74a1612edb492a13aacc93d51348249451616f01bbd0e89f46fa53acc5490c7164ef8b2ac0a236b9da37f696db7d2e2dd51243966d2deeae418f2edc6f38fabe746ec5bc832db5af6856266c140e78ce15c2699778910c8e002290b52a68bd14c3be294154c7f448be0160d4adc856b307aa4d3a3ec82af0d25d951d25dc2027ed7861c9ef7d0228179a9fd38ba45f8721d6ce3dd42dce8f58f917d3555c04151cae3e0fc761291c632c0f13e618958cda614f7650efd18e1ffed06bc171530b5bde901becb2b021db47e541679bbb55f7337e1d205e1031eb2ef9a332e84bcbd9b5e27682159c86d3031ab01d741fedf1b05a4e1bc82da108855c8d833abb99821c8be81df68818e2aa094a3cde6f3d5e1bd8b2e86daba12aa2b572ffc81c65c3e498432edb00f1fe6fb04ec92a96b2c206a36a5623f8710c06cc20fdc661230f8b441ce4ebfa45a2890a4a43f2dbd498a9ef9d1f4e748ec81bca42a27aa8acd72406ca303050a32aa644f60e1c58a036ca2b0f0ca69092f6d08a40ee97ff700931b87039bdff71043a75b1578b33d98b391ae0dccbd46f5428cc80016412cbce9532b70454ab801c77072249412a2d49e8f608ab7480b1a9416714c825bd07a96641b865daeda71a5bf6b9e28bbf4a9042e79a6d6dd0c1d99dd3cabf4d580b6bc22999acbfb6f25a33e622104c13aa173e2191eb70dd0db82ae47d1ddbbdb24d3d4403bcaa64bcde88c86ce5bd535694b24f117e729abb3582e2166658f969a206b44aa37837c6efd7f094443c65f43b95826aa97ab1d3dc9aa3e56b31b1d2fe5e2eb44d2b5ccb1039118ac3917148fe4dffdc81daac74007ce71dd5e779be416de62b271bc4379e0a24c6c42e8e8c0213dee8588752d54b12b4da7be2e7a75c6b3e8ad9a92a4768d0611bc91ddd4aebda0cfb84226280ce6f621b5a83016b51bc9de2fe0413ce43ff967cf3680c9e1c359316ab207d93382df330b6a1fff25f01506952465fbdc1d36aeb0124b593b29619b712867c63c7e872d65d18b8834c505ff23688bda7b9d4e4969d6b69aae0b5ff14a152191c5f94a061aa3a7db71bc4ad9ce217a931a92b35e6faec8e00800f96b0efe6d42d1edf25573f12da245539f8fba9ab270cf738d585a144d9098e5d529f3e8662903de413ca9174b9bc6da0a70be23cce8b1dd7b0a1db109605f20d3ba5d72d4361e63cdbfe58ba1e19c0cbb0ab65090c8dc30265ac76a191707804756107d14e1ec41b6b8765286f99960fb601394bb1db089bd5ea19f3b98666e003affb6e9477a42f1c836efdb2355ce392849a777a6c4ac9e1eeb7bad57faa0f25eec2adf2d2d3b20e5ad1ce82ffdd9264e90a37a269f24841742479ccfadb38664c503191da287b16ca59d06b0ebb09e658cc0090665d8ca90b917c4a089b9474b9d76ba7d9deeb96f9a82ed10365d756da05f23bc9f81222b09e5d4b490977052f0bdd3afacd28b2f6730b3a6784eff8653fc8dcca5d17f7c34b05a30cf939ca10c52b714a5ab51b77b523917963a9f3374c7004b81588e06103615fb793dc267e8e3677d8fed75cb371", - "0xec8a3ad1630b82a6a15686e79666d7a24a7f8c692acbba3f62456c49d7d1c3e473e94f8b4cb9360e995122c48841d17eef79bc6e8eeeb40d643941c07aa850dbbf1342b9549c48271cfbfd48cb67568e6220ebdd6ab43624c11a5176ac75ebce1ce9481cb368fc7b1066640482bf4e33f336bf386f238973f10b5b8a08a1ce5babb0f5060236dafcdbfb80cb91b4e34fd338f1c6751e47e47e8ad94f5daa4825cadab08c0cac808666697cb01deabc718dcd84703cb4045552c1d2cab176b19dc377810db8f21e331030860a831e385b199f66787fe589052c1a9353dc3350ad65e86f16ba79e5694da51c9fa4c882c9411e2a95f6011fb7dbd86bbb9d60f9d81ba38954d53f4cd81fe24909de070fcefed7edd55cb7e41249d605674003bf9f73a9d228b0c3881df78987720cbfc6aac68f64ab7df7069a4b2076088ff4d8f7806f99e269d32707a437a79775af93ec37a995ec4e25722b217b12d9c7bb49a2ff957e02bd94b4ccd8d3f9b855825d6f08354f95233c55c855a7e7b53fbada7380dea39cecca6695629c6949c4fe95e7e3bc29714bdd638de966adf2015fe9e6e5bb80b457d17ad9b8a7395bcbdb5b06e809017646a9e911521d22b9b42775e5bb5f2035f5df0224db461ce4f4896331e2568e8c960a076f3679682fb2b10b3ed50ede3f0bcf1cc8b1c50c802690d97ec15a130a36a41209ba9a5332476812427552ba99a52192e92b87a66abcaf6d8e456156f3f87d2d3a0b4498b30d155a8e2f4d50180988c74fb3dce018797c584fc8f55f89c723255ff4dc277cf3fc6afe45b3a372eb8948248aee7270f9d081ed231d5c4559ce24bcfc0efde8ea708adc8eea99628a718575b6369bfcdddbe02de626bb6fc8bb5ed4e643c0579fcfc78722b690631827cbc229fdf09c3f3af6ee72908756e5bb01b1ee1b31e96f16d5531ae06fbf7ed703e4e852af82d3164b23b42a8377c60a7ef66cc9f2e8733ab27068665c71745276dfd0e4e9e4a71f108806f2b39e790c7a19099bb4065961362fcb4ffbaaf9af64a527366542f19f4d8dd45c0da879123d9b23d73ccad5979398364f75a629c35aba791a708630175470ff5f3bcf340502c3b1745bec52dcaa2d063be76a598838fd0bb49ce80b084aec62030c7f53b02ac8c7b8dc07a7548f4bb9732d83c37fc0c70f7d7f9002a5a522ef4f5f8f98ae43c3b5da4db846964b40ae6034651c05e38e9836a9d72ec4a75cef2a5dca38401203cd7fe60fb1138ceb9b09bbb36483f3f1366953b484889126f74ca37389cc0639c368f8228de1fc70e8adbf1de146fcfc78e9989cff60efa9cd32d7e05be5c57eda2006e32c7019dcf3df8bd9b0935c34a2030e46d498fb89d098ed9639bb84f39ef0deb2e2c3a333150bff2a0abc0065cd1d717a18e2acee9da902ed7fd1b370f0617643638aaac8267fbefd3bf3cc3835a3ce4d9bddde7c01d28ba106e75a2c084995280ba95e1ba2a483392fbfa2c5094ed93398b7b0d1df00449f91baea21a0fd9010f738838480930dbdfe41ef70acd8d04e9dde5e6ebdd440646b8af1f76fee5cfb1a27fc0250dd553623b03aceac99a3b65e336888c975ad552fc5d9adb49047dc793ee20f1224da07e9f3a85cf43d1205c7b974810e9c0cb4cbc7ca930d9e2aa9b162156e3db57c80d1933931240a407fd710b8267c7f72f202b766318fb0679aa4e863aaac111b8d556963e60a3deb595599e85cbbfb9ad7f483d052d311cac389f1a67fa982f8c08cf94f547ace0d0123275e32bf5e8d304d1386d1d46c73891b88c4ea09f240e939e1f8d9b8aa64d0e18da9a235843463984d5c37fcc6c633b2f887c652d7b2589de2934ca3b3edbc706ef4c14688dfc762eacb27dfa7feb4f6d03c41c3f6eb7aadcec862d0bd03d61e087e336893b81d8d57e206faf36d487378bb866bb5fdf7e5659e69d93351c7c97c162d698ca5de5f7d287853b6672d14e5f49793cee9367a5a910db12c4c098e08e7e4233e4598e36c4907946753925e79d61db0a9a361dc1195b726294c603fd9b7798ca98f34655949e24dd8ad33d2bc512e38f7c26f248a7959548f844fe7c3ecc367381c529e77efe43ba23b59e6cda14ce27ece81e2d1e2fe2c55f2f29dadaee24dc2b2e638e1cad38fae7819e63e5275502f0f0a3825465d65cc017e873235ef4a871d8a0235f833adb6346d79c59f29c5e939e8cc2050eb9c64498654ef1e6ca975eeea8658eae664c26c5e9d667a29b7c36098c20701e2fe4ca0b922d6664e92c8ff7be49a75414c980d3545f915153006d60e092a2dd2b5e023508a256479d8f596ea57ae7e3548d6771a1b8298aa46df9ca7f49243281772aecbc79702c701dc85eb3b0813e0007551c5612f8351eaaec691079fa21363b8c07c8ae7a6301f65984936eef6f628b1157404184a6eadc87cec3bd34c498c7d9eb4355b79285bfd54a31b9e8f2cae2bd033cf8c4c4d4fd7cd3bd47c6bcd990152aec280a2a5617adfe2c67e6cfad40bd09d21675c9bb00e3bffa1efc2cbf9dcccedc5e0e7693ad6e04e5ab2330b8a432d79d6dac75badcce73129ca2cbe07074f4290622b165231b9fe2fa0ca028bf964b1e4dbd66e62d97b475c167145b302e7bd11c93884cdb76b2fb2ba0069492c9973aab5ce80a6152d3c14b9ba4e07af5201ebfeeaff572c2abd4a2158e31e8ef22132fa57f908318fb7ad52c7689f1a88e5c8cefdd460cd8fc2709dba564a3089a77513ac2e0500a6800d4f3b2245a230d90ed10218f08edacac2df43a1b62e8bcf343378dc1b14d6dc70f2e0ee848c263ddf52c52d14126c27379c1215b9b7555785767529d12e2e737eb346b3eef46150f7d7075e0ad16933b24c6ed6b12812b2878917062524bb0ba9a04797bcee675df0bb8062ffca21a6ed58c0fabd14b30f408714edd978199514ef267328ea96fc599e106ae3957b23f80d21bdf763c0e994c9d26ae2a3a98a7405098a151e51415f2d4d1ed87bf43fe7b6b6a632418fa1e996c237fca547773d847bf6f63800331c1bd77d9a0adb4f930dc1917e1f9f9163fbb086a91a5d7493899bed1658f6476808c393cde0d024d476840c28f8a40c5b8d179c2afb60c9f540e68c0cb6d9d0c383e6676fc0628242ac53c1be40a9bd5fd85366ca7af3e8ec5f087e0628a90378acaf16d0aee85e96e18447db68451336bfed0729ca71ff90e089740b87fabe5f702d3e37ac43fab6074d540c455f69251b0751d918cb4c40256fecbdff7c281b8e567762d2655c9e9f57ed5c59ab81744ef07598e70403a2561703f7274158540c0af52e4428213114803bba9e180dd7bb0ae2d20aac927af0d209ae331449261d5f72374ed37977daaed33860cf7bef036377274f86a8394b721773a6c9aa3ab895dd13188d75137cd25640ccf34af8d4a0e022a0aa992c96bf4642ee23def8178bd5f7376c7ae50fda9f9f13a86430d90af27fa0899c369112152cfed5e78b843f7e0864fd7e7edcc50ed36c5d9195109148ea9771a61651a187c059946a457fea2fa0dec08596a8c6dd85f4695fecc593c96c9480552eee4e4b3b7855b7d8b4ce079e783c024c224f2c15703a7cc77ef22d796a559b740184f963d234250f279c3bd77be36e5d1783d06c6ce45a29ac6e174ed4c761270938383cbba38df3e68f637f49b3a7b955600303fe8f2d3e4d3e7409af56d55f1229672a5b643fded07918cf3a7c3071f1f152627cdd366581328451c0aa7c202fc1106efb38d179c8bcde0f0716af45471bd09ad73d5902691605b3219ac223b7596714a81746032e30d0152a16f48516220937d3b6d1981553cdb9e8efcc70351da541d65505862e929140188e6058706f0950fb32f015935fcc67f859145a215fea9ca345a729bee8d96ae156f35283473306665ced9f8cb5cb926c6751f5f02f5d0f6ffcbd2de5dc0ebaf85d5c46ad9bca54305aa5e7e5848f2208889a5e0a187a0677b0bebf7a3326324a90de601c1ec0a99bfc75a397d56c0f535448450a798cdd45b931d1151605de65a2ae751cd34924c66891f84a200c56a4c0f9a3ff9a8766198dc0be298868770bbee13ec6d46dc6d6fecf63196848a5e3bb2f6991dc1be3d6fa85245710e8efb17b3ffe5848ff90a874fc69ddbc6f18c4c037a019216aafd8e35512d3d01d262baf840cf940c8f41c78be04299383b89461d26dda3a6862027edeafd9f50fa6fe0dfd3b8fa5f535b985cf6a3d0bc0f44b2f77e66ef583ab6ffb97170b30331e01e183a77ce65bcd6fc3cc7961f475a4f8e425a0068e9f9393abe6d3f178b3dd2d63353089e3b1315459619d18d9ebecc203b502207b56f570e539cab8e8755316d050f9890d34c3e60e1ee618e07b62fae542d687d74b20f7eaa395831276b279f9487effa05514670d08beb7365fd3fd1b090b6838d4650618e2a450fe6cb54ac34b1824b4314ec34b9a961eb6f264086f35b23602b077bbe5a5bb20cfd74583ef27323f2be31f8967d096e70e68dc8a6331cd07c4566f3871d7003a3738892e1831c10803efaf4e70eb534062369731109795421bd017ac1daf088e051cdc0255cc6fbca99c84ecabe92ad150d759555cb92aed8d1e7963384c0b6fc869518545e007626f94577ab0807a974040d3009c7b0ccdbf9f6c88d371af0ec7226be236bdf5db306b65456dbc599a9b5ecaeae707f0f31717e866b1e1f0ffbc225d6d9352ddf9454677fd38b833e111fa3f14cf9a795a5904d84ab8ff4c3c4b9aeecf3a46ab744a0462e1f8d1f994d230486c07211a13b632e7ea08883076850863bd89114fd1f883a036edd06a23e3772c02863c1dae722f522d42bcab9a3613eae46a2bb4bb93d72937d4702fb072e65566875f26192a2578b5b917d367f271b02e411342a5a9d68ecd72aaef0ff685e24919a3c1b6d00be9f29d46633dfaa58cd2968989f0162ec2d64458a3c76b0bb6d989eca1bdc30c37e825e0329108046eb8c18e66ee83aaaf12d0c13fef9583df3beb1d15d3e29b4a8720c984420b1e05d1ad5adfb07b720fa9c69c847bc038be8a8f1cbbd5a853a8259a72e3f06d0d195e77af858e7a7e8c594496b009a6899bf2161230072f58483e9a88fc10db1261716049114e3a00baa184aba4400d6ea34c709303579ca7bc6f83275609e27d2cd98babe1e37cf11bedd5e5df6be2e585898d9058cf22ee3bb44673b783d1e72849342935a4e6eca9759044e1f87d7be7dc1fea50cfed8cf6232f7a47132ee8fdc39b85e99f7da8d65a2ec82598a19ec4f598af3937a0fed0a6ba53cbe6bbd7538dd06868500e31262a9cee3cab333df177c30c698941c695bbf1c506604e1cabb8c9f1bf9df09f0a0cb7432a8c029f37b6e025918236ee495c7f6c32d52716e87c977451713125f58425b00657ddbdd94d3bf98cfb5ef0c469160745dc88c8d5296de9be6488a49ad7b2afaf76dc7bb7f7ca4ca1a1433ca77405ce2e2e6c934beb868f02a505d1750720801ad76d91d59810fce76760d4b747204d891673aa0d5c08df0a042cec89d0c00666e3cfe77650d138d2cf35cd3af012539248c98d1c0842952c209781cadafdec3b3c394ec8ff1a777c11a3727175a279a536da1489397d4af5f26d8184234797933da301454553f31b78ae001922324f23034cdd62954482f4a723fc82b614eeceff97fa00dab2a9e9c354c5a9369c1537a4747872e59e8805f0b738885c0ead943ab6fabcacba150db1ad68e767b8a62ef94c9909f872e7b3cac8b4ad970e14284f3e5dbbde9e541d943c1f421bcca18e9463d3766582deab592f7e003e82ef10f407f58b241a98c0c824251af48dbb874aceaf4f44d88a86f15c71eaaa8b8ea0e6821ab968be91da29802c9909aa554d781c072ad3109e6e8f124d77d2b12adb685c663b8725a82581a0be33a4ee1abbbf72b30d6ca950ba51ed4b3e813be7891dd5d775649124b0e3f76471461c451ecd643ceeb3d2162cbdd70be1676fbbb16f874bad11ca57b330f4d508b9511fac45bf16a4ea6d7bafd6cca9388746ff46ff3d73133f3102e57cbfed7929a8f75cbb91151c4ab6521727213ab383fadeb3065c28adbdbbc4d926f45baed69d212004b34c03cebc6bdda3b92490047218997447498be655e25b5786ab7a18c35d2f761e0e3a1fddb73aaa32e2985258747aa7af7bb4e8454df1a0cc864f9e36a62e9a9fe3ebe98b3109a4d201c3c98bb42166423f84f0cdfb8af74bc77b81e47d5b5b5c12c0bfa307fd9ab0c13bd3b38d25e0425441fb22bdc4a75d8eb4b72c836d2b5e9264ae9f20d9708ffedfdb81a2379510432657ff855a147610d4f08e06ce30d928e094c07d907f14ada32fdc4f3cb2bc7f0c0d24748eb0d015455972808287b8c9dae4e70c1a2e61678aafe2f5274d5867376a6fbabfef00133839a5e9f42b3e46636f7da6b01360b30000000000000000000000000000000000000007131c20262d3538" + "0xf4cb73614efb10dabc67cab12a5ae183a93ddaaf774891a9137f566755d9412a361fdb7e5046cda9b180b4557b6c84c3883258c52f6832db35a401117fb3515e7283057b87de85261c76a898b134be9f6c0ff17366d963d5c50f1b0eef24fd2d671b92b0bec7fd0d65d58dff648c3cf0c2313136d790543b7f868e43b9cb5e454ca6f4a7e329fa80a74be81b6e18018d1973910913cef60e6a4d7e2df2a4c3e7442cc063f0148fab183e5bfd11f94312b20281bc0d1bba1df4a3389a8a4a212c7e36bdddd1be148ab8a4fe37dccba27f2f1c3e7c824de433047fdcb5d48937441600f05ba956f51edd0b574e293f69aca5f21d9a7ec32e7e4356ce2053bfaf1ff546af7eb2747844222fcb3c10467ef3b80dc94e7444ba4acf958026bfd3471d03981ca1a78d2971fd8a1e23faa8ad7f4ca8f1e0e4bf07a1f1a1a4e2cbf350d313a7ca15a0f7ed7ed45c7a64c24762e44d27bcc810966aac625c656ea2c8d4ba4cef2011663580e855821ac02e1e6e68baa00bca80f271baaeac84889202245da53eff8a702afccaabe3f68f86b84e41d796baa80113b58d1bcba85b8299fc597f0af8265570d767e9d37dedb50f6ee0288acaa1a65ac5465eb856ff728b94fb81ce60d82921e6cb0a688e4f3d142e0ebd8f0943dc0ec52dfa9e2c4cf58e098e13cb5a8d94fa9a625fa47f96182372506081abdcd3d238442463407b334c1874d76df8b6cc0c44fad19875b4d8c8346fb231dda6330435525b0296d0a2bf180e9edb9c0855bcc1ed882c05b3c9db0474a0093a7f2c054d016f11cc4f07a244eb1acb63e2678a9e646a95941c34d40ad510e5797c637520b85450e20bf3dad0c099f594b877e910e6567e00abd4c2b008a153a5d11f6e069976dc84c9bef824908b92910d2785cb4cd231c540f512371e7df71fd9a8d2fae8fd9a63759ac5dc0a1d209a5e5b4b15f5bc9c3c80318f21cbb0678bb0558ace4f690f7516239f59f4d59f4e24c59a141118ae1eaf54eaecd2e019137a1792d958d01dde49ffd6be7775d64f81abf8f3ecec17745b06d1f43749e89612ee487f0e6af166ba86555fb93a0f49093c1daacc87da42276001350449090027ec4e461a4102739be5a91af4518855ffcc25c874446d2c7bb77ba1e88ff415984384716018c13becb05122d2cea001ec86b6e8ec0b5e62adafb6e2659ca145c552cc707673b7ec6733a55dfea96ccf43f1cfd11bf7b1668258232b0b465d23a3e05d93bd4b74afbaecb5796a0bdc1581054b4c7a227c3fe53908432c6945b12d7b0c9e1f83942b3818c6bfbbab698d9a5158f4749787913943147699c93d008edb302a9770b65a3373f4e0c7763a3e752913611f8a9aa2942b9cacf535ed309769e911cff6858ed1bae01ba7c8fb6af02c2d1e41d2880ab263d40e03b220794a0f34b0cd34689f7a68a7182965797ab86279c51c83f12d818aef5ca9988a1b472e2c17a6292ca60dc3dd8439c46d46afae231d272fee5c3d3d962eabd536f657c6e29fccbfc90411f3e5ef90f503a894f37455db3631275769803bbdc188ac3a257fb8fa07792490c978978dc28f6a0b3e6f79e825215f0dc684b4c071900ef8202947db802b8f4fb3af185281e201f9ce93c4fa830e0ea1112e61604d4afe774f716df5eb29d81c60dead319b9bb0561f37ce462704e18cae8f98ced51dc955ccf0001b16bae93b9412a044ad273055ef52c50b260e4e90dbc0dec3123114adb61a64a2c41e296fcd6abb149b1dac4f2d47d77ff9d10aba2e657b1f4a6a17819b7c685d3a1e8c0ae8a0ee62a2f856736455d13236baed5413e362fb82faf6f4cccac24e2f0fe0e6e83ae56581c8c2fe7c94057ffab1c76218054c325af8a7cf792260a41d2b7b4e738366ef618b0a354899141937739929a641202db42b5aff31cf22822134e06a3937ef91eec55a19f918228da0ecf6ded3290f8907619f0e043afb1ae14e597036d5a95fa9dd2b4398b099fd9d16065e6ddc08768471ee33497e8ce745157a1e655cb3925f3debc436f0370632e27b64afdd1136e78ebed9a3392a30652a8a0459d69e60043cf18a8135930560616515d0743044c4e968f366ca831c5e6063b5408f46ade9140f344b03ed1c897a5525dbc32465aab7025796b9536051ef976c9864c3f54d6663a0b31638921dd052b8d02b297401650b765b0cb2406989c0a1d2f34b9102c42c0a4767134e1c2b0be323b109fe86f1e963e3ee45b671a2668cc814d5aa39bc5e6aa7c843045d3b92b578c3da964e765494cd8b4c32b026bba0768820300ab6d1107945b75f54d425f0324327821a70df9eec11a94d8ab565a9ad2c44f2032d86f6680530dc25ce4474684bee0c46fddd0b05c95a78d0c0427fc836badc8bf2279b4538230dba46ab78bf1ccce70a99aab4c268ad3eec5943519177990f1d5deafa06e5e19dc45e1fc674ebf14be652cf88ae61190cd588717a46f374aa010dcb736c52bd03a7b5b153dcd77bd3fabf3ff314978e6dcc72aa68f89b787d0fc21f967255364d34cbc1abf0941d904284c98b4c2546d105304506c7a8d532c4f0b16f6d1eae57814fd2693b90a17f15d8f16d2b50e51ec046f01a017428fcd0fe8088f17e6d77ce1fbc54170144eae4d6b9ee66915c4e820640e012b2c8c67ab27984b7be739c21381f3a8e7061ca8859e90f3d3b9401f3d107de45866908db429e0bcf3eafc62ee5d16e5b00a2f5b0f0a9f07b6252455eca3e0384eb164ab83700c109db40831363d8f39b81f6260c6eb16a5fbd68d9adbede07a1a8bbb96a5028b532d52bb200eae4c9f7ac7fa4056979484d1eec950f5dfedd01e6b84502e2a47fa18437933b575194e9f8d75e850941e6a36d7efe837951d35c810f8e72e449f1153d7d5b5f4dbb1bf72de4dfecd4ed404774f5be4b5b527526916f7140a13da4bfe9fa8921aec23ab88c0c9dc9eca234f61c3d2dcd99e738ba9a7a9d70e0ab02d5bb6b87085db110079624d8322458de2954322d28a4912f171d4ed3b8e01042d24a52fbcef41e5ae7eb5c3c04d4f204733549ba0501ec31e6f0cde266be0209ff33fc2c5cac5d2d78a31a917fe1ba7c964c0e692cfe67e485eddc22277d80dbcf0236d8a01e6f7ff3c2b74bc14bd9b44cd0a69f8c8c4cf17b784c41ef04dd1721420ac2c001c3d8ecd226ef1bdcf2077c9bbe21550da863d2bec5ec274c673cdda79943ecea96f7cd4e535c891d478ed704be88f30fa996e0e63d0f77295a0a7cf7e2e3e900a56d65156e31a3a3e3b91f146014288c0f676d8a3e707a73eb603130287570f9975ed592e9747140d2c71917929de797ecdac94750e831adf47009dc6ae80acb9b460ad098a318252a739ee0f4ff242f761fb1a14db4ccc904d291686c4997879a10e77a310a36643d8257f2816e791ffb4a5adbec1fc734d377a5a0611c857e7d62527d3b2a5be37adb309c44bba1edead572f446b3b6fbf5166de083ba2b0911e6ab93a9f141061ab36050c8e5c5e014312a2885441fd7f0eecc0f84e45934cfecccba557265e93798a320baace40b7eafb258fd9e9a5d84c3491e0a14821aed12ae7eb6c1794fc321beb5be568cad4de4c3392fdca36d58bafd0b2ca853745b251f33d9c49b3f32f15536cfd1255b29bccdf732a7", + "0x56a4ace16cacd36e715a2a124cdd180a6a93aa3426f709d5f17ca7585b20ace8813c70a8219704332a4afed44ba9316df4e85d8164c98445386dc17f07cc95db37368fbafd59434c651497cc84cb4a83e1ac50558889438447d3b12f55947d039c9d81f782a531f28cf295671a5df4b076de1c4e0041186d9bd8fd19bba9a1f3718943fd80190e13fbd5d2e24c4a8f59323d42581254ba60137c4cfd6ae45d55c1db7ffd2359ffa3020515c0a799dd56469d321fe1fdbef297015138805f5562cb85b3772ca0cd8e2a52a24a7a2e7ee3eed422d66af5c0dddb5c417e9ab4409dc53c08f25fc8c187fb19d204db17f896497090c90ffdd5e38881e1179d04a6cb24d1a533ac6d4307ab5a834b97b7865f5fc244290aa670bc77cef71bd40f266c023d4f72a27800ce67feadf7dbdd25a80cfa1a4a8faa2e5ac0a2e9422170e9b58bfc8143745b11904df190e3daf75fe76b412ba6514b06afce37cbfe00378b4baecdb59c4e0b3b42df86bc92681f1c7fd193a7370c1be9fd228ae3fb4bf66eaf0c5847d92d9e17b8fa4c98562718f5cebe44919a19d1e7d54d85259a220003df3d38f5ff30d47049791116df11bb0bbb0d761429b1bc8f45102fa2a4d5641eb2ec0326f4db92e5f4bb51a2623bbd0c1f36dd7b81ccb0e4074a89e1c8cd5b22d41e60694ed7d9e51aaaafd739df664961aba179355e0b934c40ce51d0a247622ed79e39f5edb127e5d942466ab78f24871029c52d11a809b3648e8f80e342889d51bd98dc90be2f8c22145ad8b41075a9e823da31c88c7e0819dafc6c7c10ee47101f48bf58f51bc6e93f596be21ddc83c25ada7c6e36a4b550c47abc5691f45a78d3f2d37208a03bd3ff56133e519533c2b7a428421fd6299d8f47494acd9660100846abdeb74d956cfaf6606716cad0b23dd34105165783f3b4bb0a57636801007ebf83d14ab94ba95822d6843c088c5a9d0de3cf3f474f14d5b1e3043d05236fa4083f622a959e6d15a5be4d614cc9c9e2f9a7c2c1cec9f3aec90164f9ff821c3b3ee86c273196fbec36ea242476d5103c895af12abffeba7acfaae08bcf7a7c137d55a6f8373cad42141919481c0f10fa662610f9192c5eed7c3f60e3c92f1761273c84889909fb7b3d254546ecdaa0f677f2ff5cb33d310ebf70e84929bf06bdce5b6135c744852fc96e49e2e04a6e2a3ca1521da2c640242b78f2c0b3acb1fa33d61de761c73fda8169eafb983dbff2c0adb0964f14443c4c908172aad52dbd15a3e5c7ef1e5944549e46860642f427e44a221a871c8c58aec89924806b16c5209c0afdfba2b4b48f332a9713b27ebcf99f382068d4734c04f2df56b642bc9eb786c9a8c708df6cfd0180e9daba168fb08894cfe2985bc2b1675218639df4e036fcc181d0582f60b0299c5277eaacfdd482bddc2d60ff93349a4cb5a9ba32b3d16edecb2ccc86dd3b1eb04ea0d83963c2c389441e9f103053ecc5bd241b8a4bae7151f0e3e088bdd8efeed41f5c40127932cded6c7e33c79a3ca133722c040a25fb3de94e6d77e0a0f8c748850b688d448d83445984538d69e5db2cf034250a36176ab93ef0ba4787f9e7f07f338ddb8e730190bdc885504886996fd11a28aada6961b7951c7db15eb9626c31b7cd6622cb58c00ba08d96b9f3a0f4d4a4501edbf7ed0ddfad70f3ed388a9b599172ff5e5a2e450068845b765eff346ea4fb900b8abeb7c0a10f10749e33b25ef9157a02c2cfe84797f5ff98373d18e283a9a978da6454bea9e3467f685a128900ae9a0a30cb34f17ad54e6a7e68e90d1b25faf5219c3bb715760136c99243fdfd4d4c7622f9054378b72cc0b9da50dc051798e0bd51e32ab13e757f0de362e267539fae378485f9b45ab9dc1886be9370ad57d02ede793a76fa5d89af5994ff8d94506f2846fa935b25de2d7b99ba72adbdcf5c2d4e26b7e962efd24dccb677f5efddc46ef76de66c1c5e76cb5270d1f37ad7774c9386fcefe525d3a2dc29bd7dce9c082b0f954c613e0dc3683e1749320bd8f3a738b781538de3f9eb4e7aa7740df08e89b0ab5eebea7d93c002b25d2210d2363a513c9c17cb0d02a646a0f40fe3676ed5680015f32554fd151b3f251d411f0de147fe09495171d5960aa424df4bf69c2d86f6be021c0157c5e52ffe6ed1b1d16b493f24f54e67caa33adb0259727ecc6c8342968fb2ad08ee95de890621b3d21e23011c2a53b4b302aeaa41f38482f064ce669b571ba6b45183532c8d8d21ead8c91927d9e027ce6ee0c0b3d4e20fab75a92827c3245ba8c5c26d04002c6088084d7e8f638c7aef5aa5e7c59b3c56bb7d47f2dc9841e89b284780781b92908e4c97229af9a4c48bb8d585b2b1a764d65849e4359f81a54caefa61af98e5b0ece0d5b2f3845e04899f1674ce3daf2d5a7ea6d194f3f5ae59a4511335fce0c33e6039d50df252d99da12da4f69c415d2621b48ad760a501026e01043552a3859f3348dab84fc098f5d970000ab9dee0393069c7ea2d8e90d622698236d5613022e708ad3b160caf2e2847bd9236ecee9913975d7f1f145693cff3e0f0697acce612de8c1f3c4112f0f194b4abd11449373353ab1c05d911de5c7fe072aca85520b07f4f4017abdf9b99de8d272a1783a61cae53494ce59be5e75eeb08b36f755928ac9036420a7bad791f1cf2d544d95e6b9591bc54cefbdbcc286b66fc2468a1819af30c8f945a05e458d1bb24f6d6f5bc0528fce6ae52b7b2f34a24c28cca063454b98e15cefa289fbe72b82187c011fd7dae66e1ad7d889a1bc7f544607a55566e3bff25c914e8cd3deba19f745dcac0aa20d8494127d7da3db8ca4b64ec631f5d92bfad71d726eb4d0e828f2186978f85e97539713c4a93bac740554d0aee78806f9c397e213f0a06da122d3d438e760574e8e7fb7c220cc5fe80588a103c8fc50170bc6622a834939f01cd337229d7cf1a5bf4ad02d5de7f700a618e8e3017173b53b4c9fcd14d23887dfcc50e4bc4237e63a55b83e368f60b9f452061bc73ab9db8ee7f134ca4884a540bc4d566c21a8b33ee8a91ed78ca81475ac858d07e887e295025fb10ce253752b95412384a1c826e8755fc539f8a8ea695a35e38e0563163da681ad3426fa1b22782b4b1c8bff44674640a0e64124874b7ec34ed22955e324ad361bda397f79a5ac60713e48d5c58a59a5213d7e36ec6b4f4e69ba4b8f0636dac389f3ff3c0d62d37b29d183b4845e8cf15593fa909b9d9c058896d13a7750d3f555263e9828cc52982d4461e44a83bab0927d2181e7e91bae5641fbe217280de81750a74760d3143e38810ca3f44cb0545d1ba4bed87a70967c60b95b15eaa8fca0684d07d657aa80c39ba6822d08633ddc9bca8c482ed4fb67673bd45135dd2731e7fd645dd5d9cf6ba6aef345cae99eb44343de9c640eda23b95f2f40b0d17062faf0ca0c308a2eab1649be6c95119e56cf37142e11d32bf9f2acb41937be67d69bde8f728affdbea2788974e9aee36cba28dfdac41dad046262f041d6efe514031363921ff1031a46943396b65a4350b370dc7665e876f4fa0217b07d58c92cc5e890abe927df8ebff755f7ce9436cb89ff29fe4f109b7c18aa6da9549618d837fe4307633648e0b0d249c7c8fb359abd9bac992fb61b878140d9e2b34b8057059a529acd234a035a510475f990c8c920a20ce592073d9108717885c4e0d35736f033e6c61823219e7b8520921b90d9a42189ba1d4b3884d841a6c69a777e109793eec3ffcc4a162207f7bf9b083386eace75f5d597cc0ee2133d4bcad8dd1c41602a3bf3c6a5108d9ed3c32549611b3fac78be7d1f005a1feed50a7e0b5251e4e22329492c08c19ad8fb2474e5479fc5c37093e01c4736958524c181441218776ac8c4fe550000f975347f26a74e914d6890793df0f1f79af49e089aa840591d1295f3ab275ce26232331b67e1b84681c8849c63b48ebb22b62c8a5974e788f2829c08250d24afa22a631beedfac31b5686ca8224bd951c761b0724ace19f71a6b7491f3aa3c7fcc750c855303b24e46ad15706e79b7c6c894f19290ed264267eded3d14e386877c9c7bde6009c143a3ab17a209bc22de03a17315f12f20c1710b0a5d1a83812786973a7da2a6cf4712042e2afb93a20371582678a6aad363525954aa7b1b5c334e6442bc0792aee97adf89143d55c27ed9ad71867dc5aec2eb2735fc5e8851de135850b6ffe65f059a2f43c77fe22f67e1b07fd11dab6c052cf822f26529767d26ac5683b0f3875ffc5d4893e3cb8136bfbd636b6016e1219af39bff5321498d0fa030ffc548c150068dbae7ae6937e236494ce4aa4d197e75964d913c0b100fb3a6cea1c680f593b3cae0dde58c12f10513a106f90bf8a30426f400fb92ec113b94e62af4e5c178482ba264dad5225067fefbda91ccc4c75dbccc6ebaf5b1ec670602e5695ecdd848054a261275093c89376de32b0267125539b08cc3a86322ea1ea3515746e31b07d3f49de0ad8645de80e22e2f2883163e6cdab0b26d63fabe7e8c3123f3d365469ba1e6766ea092de1860f023f08d2c3046ecd57c427815c7ef0f1ba023f30a3aed0f41fd3be68cbb9345e9f10ce18ee93350218742df3352fa57efbb3277ec9e7f23f41f77a0fa44d1f30b7b9f393411c903801b65d605a40456742d3dbc327209f1a32157dc1839c3edb3a56c9eb27c0e64156d41848886547bdaf386798c5afb7dc1812ae00dffb67d499dfbeac8acb5c37091c905ab2f8840e0a6e5ac1cf9ec297732ef7a010f2767827faf0be24edee0c375082437eba0934c6afcfc4edb6950624e04c7d44f50153bc3eed64ae2060cd077999112b50e38342daa07ad4177b6e6d38277f3e875d7fb4b54a8113dc6c7f98b261e48ce61bee0301c63412d0afa4f8d000e9ebc811a382762dcf0d59d3382432ade20586d78d523d5b9747c3887c8184415fa52f659688754b2bca1b1d380d67d033da341f5c7b24744878369c20f91bff8716882e5cd27a76bca35a9b6f11284c3de032a20acd56cab3273ba7842481c3451589e976287d40c5a1062a83baeeacc7c6e363b6068052ba9654b66ece16192d58eeb6c45517ebe1044e94eedece7f76db18ba06c29aac6cc3ab3b3733315591e1f2fa32c24631761e075772a6f3d644f81347a47326543dfd537ddc693576457a6b0eb9b1ca4975cc8d1f467f2417e0f09bae79997b61df3bf45467f3e0e477e8a8f8a30829d9587094af235607c18d14e49463e4c49a2b3d7f9c1522831abe941a5827f84db9c928e48925e997d259af27b9e2e9652a09c959807ef887c92b34d58bdbb5c9c07630c6f78d8ccd97dac4dd7e8b2569880abb186b18094df90248103d3a21b09001e2bd95f3ce9f8dddd619a17677fb5a41d1fbff634c318085acedf08bec60d7df374d2612ebb422711a9b9c941614306dc0c99d4ce0326f165212c4b99614cd64bf2e838a1db5d2c84a8bcacc8cf21611fee5f5f3ac664e86af21c0a49c9d8263d89142f8df4845e39903b21c447d787083ac04c89717ccd8044286722a96f2b0158e2260642e6f69f40d1777577a743ab9512108893404c55f0f1c79dc6e472772a7590b95b43bf2ffd4d8eaef3d3025a803977864d3bfdd72079bd0220d75250d016770304ead80d546bdb96c317441955cd698dfdd9cf3ca12ed5ffc969e5e6c7b0719411926772a10e2262d0fbb13bc5f475b133dda1cd398984393ce010bdfbcc9d9b067e153a0a5a52fcfdf7ccd7e19692b5b3b34b6520eacceaf9a5db1f335f3763ec88c52896a82afd49e42720d4a148267e3c6f0f004e87511530efaaf1babdc6ca30a83177c67d2ece9a128c5d6da83f884dd6875bb2da33a185b470d3cc83f6f10574e406e9a0a235c48c0c346d7032b7ba17d4462c6413dd180449f12002b4c6bccfb50177790b970fbbb904481e3e7d2295406e4872682169798866fcbfcd08aba73d5377f0176213d58f5a6cb497f6669ed4a3a8ead28574367c4824e9864265a1bfa0fb67c8e95666a5c5888c16c89566cb86eabf1223217d9e023b9f2ddf35ef076370237c6168c43e845637a08e7611cdce03c47c7428ec17b28483c3c76592de4cc420f5cfa40b971f9ecdb778e6b0112d6b86c77dcbfe96ea93be8122ac2c26938dca3bb9122e6fa7de7a9cccf7c72fa0153571702a7d6b7fe8566244b6114ae80ef3d5c4a0363c9bb3baed7843ae6a4c5e707ba9037de1197d43ccfa8ec90892aac96125a35df0a02d0d61e552c70f6fba2286a7edbe3753f85cf305e12c652ea1ec9795914af9d95286d65d7a2342fa3494d96893fa796fd87135084d1321d59864b783ffc0d41f4b81faa8f93641d076569fda28f3a6489a110fe0530acc04d14cfb484ba6cf953bcb07aed30819404146a1abcbf112384dd9e903070b2185a6b6bfd00a0d515e60c6d4f41f278aa5acd4d6e6e9ecff2b344d60798aaec4e9fa25359396b8e3ec328089b7c50000000000000000000000090e171f2a343b40", + "0x010000" ], "data": { "data": "0x1a8451e600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", @@ -32,8 +33,9 @@ "nonce": "0x", "to": "Qcccccccccccccccccccccccccccccccccccccccc", "value": "0x0186a0", - "publicKey": "0x94ef47878aea6c24a6aac5d43465cc361bbaf8bc8c9eba9abccda48977767f5604b8150337fd5ca7cf90bf8f63fca0e6fc0728a3071e5ccae2766a15679d2a57ddc95f6f51ff8bb831aaa937271eb80d599566ae1e73173aad708f68330bbd9c6555c0f9366763011f7aa4edebab101f99a4007c8ae1123a13e7c7cc19e2e7699b549bb770d3753bea49ec9e31104bae89fc38abe75e1f140267a2f492409d25f188aec4783afd2c8140f6a8c6850077536cb2760c65779d165b6f03f9b149210d8160f58803d31171be717baf887aa612c02f806bd9e3332ddc21c0e6e912d053d4d49c13d2de8a75266e6157610175d4897e58886aae12bf7b949e20351d80a4a994e7c70c9ba76a2472818343609061ffa393f6f270dc8b4aa806d5616e55e936f26cccd3e1006bf185196ae5457d224fca6555068bfb64a228e8b44b4221e85d2f1137224992f41a78301ff768527e953e50424a45d21e8877a16a915629f45aba1aca08769c561260d4d58bcf36af98c26e6b81365b91720f3155c1f9383d8c7ab295aabe6c9799f625d29da42bd4002fbd337ceaf991573678f6384da18541c4e3a3c9472620c19129bb41e2b5e71884b98a8ac319a0ec2be11948f4c02b0b824a2347e00945ec89f45f431dfb3605d8228ce69136867570bd0149f4fe2b53f19d1458e7d6f9688af7c5ec3021fbe61cb331a5a44c9f5e9a4a1192d5eeddf98f47e1c8379bf000ae6886cc3eb5442fa8586652550876a4ef31dd941eac082e9fb1ff26db706159ec7be0a5051b408fc955c55335db1f46c6e87113aabb03960f2f4fc986e4e583021b6b69e7c68b0d1093429630cf7f4a7e895ad45a41363c53d0ddce0804a8858092bc7a069852fff02773e0abd6c7cc7d3d34c0bebfb34e1c5e95ddb184c4a0fc77ed09fca96dc472ba0391214c489890ea410085d4c6ecc69f3facf0b1587372752a421641597563fedc9fc64452d7a7a0db9560ec1c8564a3180a5e623b65e1dd494f967556bde56f9bf58cf5e07a050258e4a90cc2700831a4113391877c65ebaadea8710e23ca9f7afb8c5bd90edf38211b32874b65bef5455159c1a1d17ac3da17819f8adcb254a62d7f4c362cc470f75fddaf6f6624f3a56b0187c4e21295534a832a0f2720c411d0685751fff095078d18bc854856f7e1abe14eb76e9e45fd1eca282804784d9c27fd15ab00bb6dbfd864c401f759d0f2da8ad8640b81066038b72c6cf26605f8388cdd67aeca21dda79d6dd01bc3d3ff5ee29f5e016ea681ba581940d0130685d42e9635c6ca27e1eb9fbf08f44879f4f479eefbde7b65476fbe379f771b0f116a2e6e5f65416b72f2c49452c40b2f108ab86ac7dbb8e252ed32946e5be280b512734c96db9511b21eeec3d0caeac51f8ca315ad7dd62efd1113e03932856d5eef73035a0ae24fef22a2c8aa1db28bc87702c34b2d2d722ddf0ad9d2eb4a6c16b85a7e22c49d115c676afeef8f66ec95ec805e4c1423df5dc2eeece55f107005e15b3ded7c5ff7b7d6fd8530049ede7b776bee594fc18e29a4ae177419bfcb2a0185f51ab35c389baf9b37742192e1c36c2ba7d5c46f683dfa8ca8103a824033c68d844d0ed55e560b96b8421162f57e2daaef5853bfe476903fcb42196e78ae2afe3d5da230de9628e2d268dfc50290b2a8ddae0ade58e2919e0f9be4b538220b885e20b28741cce7c6072aa27cf076197d8e046072045f4a4e20058e7ff428419ce7629b7f76dc0568d99586fc4095107b02228d4f2e9978abe68ef302747a67805d0158b88e94bdb73f1c6e1ca8918b311b0a5d101130e142d2085778d1546532c842f2673cb7a3774eb6d23fa901883aaa682aa7ed0195c3f899f6b485e09715a3791ac9102c177b37465344523fef3e9479ce39d358db0106b5b4cfe26415c5ebc2d00ab36af1171ca33f2c95ff16b63f91e10de4405aec7d6368afc20643616bf30505507f7af84a6f70a36c9f6644bf22bb141f88f15c01f99fbb0344b6db03c042cb8e80e6e38717c3e749cae3782b3d3529cbcfd68a04ade376a7f334ea471d21ebbc62035a57cced3f74a1612edb492a13aacc93d51348249451616f01bbd0e89f46fa53acc5490c7164ef8b2ac0a236b9da37f696db7d2e2dd51243966d2deeae418f2edc6f38fabe746ec5bc832db5af6856266c140e78ce15c2699778910c8e002290b52a68bd14c3be294154c7f448be0160d4adc856b307aa4d3a3ec82af0d25d951d25dc2027ed7861c9ef7d0228179a9fd38ba45f8721d6ce3dd42dce8f58f917d3555c04151cae3e0fc761291c632c0f13e618958cda614f7650efd18e1ffed06bc171530b5bde901becb2b021db47e541679bbb55f7337e1d205e1031eb2ef9a332e84bcbd9b5e27682159c86d3031ab01d741fedf1b05a4e1bc82da108855c8d833abb99821c8be81df68818e2aa094a3cde6f3d5e1bd8b2e86daba12aa2b572ffc81c65c3e498432edb00f1fe6fb04ec92a96b2c206a36a5623f8710c06cc20fdc661230f8b441ce4ebfa45a2890a4a43f2dbd498a9ef9d1f4e748ec81bca42a27aa8acd72406ca303050a32aa644f60e1c58a036ca2b0f0ca69092f6d08a40ee97ff700931b87039bdff71043a75b1578b33d98b391ae0dccbd46f5428cc80016412cbce9532b70454ab801c77072249412a2d49e8f608ab7480b1a9416714c825bd07a96641b865daeda71a5bf6b9e28bbf4a9042e79a6d6dd0c1d99dd3cabf4d580b6bc22999acbfb6f25a33e622104c13aa173e2191eb70dd0db82ae47d1ddbbdb24d3d4403bcaa64bcde88c86ce5bd535694b24f117e729abb3582e2166658f969a206b44aa37837c6efd7f094443c65f43b95826aa97ab1d3dc9aa3e56b31b1d2fe5e2eb44d2b5ccb1039118ac3917148fe4dffdc81daac74007ce71dd5e779be416de62b271bc4379e0a24c6c42e8e8c0213dee8588752d54b12b4da7be2e7a75c6b3e8ad9a92a4768d0611bc91ddd4aebda0cfb84226280ce6f621b5a83016b51bc9de2fe0413ce43ff967cf3680c9e1c359316ab207d93382df330b6a1fff25f01506952465fbdc1d36aeb0124b593b29619b712867c63c7e872d65d18b8834c505ff23688bda7b9d4e4969d6b69aae0b5ff14a152191c5f94a061aa3a7db71bc4ad9ce217a931a92b35e6faec8e00800f96b0efe6d42d1edf25573f12da245539f8fba9ab270cf738d585a144d9098e5d529f3e8662903de413ca9174b9bc6da0a70be23cce8b1dd7b0a1db109605f20d3ba5d72d4361e63cdbfe58ba1e19c0cbb0ab65090c8dc30265ac76a191707804756107d14e1ec41b6b8765286f99960fb601394bb1db089bd5ea19f3b98666e003affb6e9477a42f1c836efdb2355ce392849a777a6c4ac9e1eeb7bad57faa0f25eec2adf2d2d3b20e5ad1ce82ffdd9264e90a37a269f24841742479ccfadb38664c503191da287b16ca59d06b0ebb09e658cc0090665d8ca90b917c4a089b9474b9d76ba7d9deeb96f9a82ed10365d756da05f23bc9f81222b09e5d4b490977052f0bdd3afacd28b2f6730b3a6784eff8653fc8dcca5d17f7c34b05a30cf939ca10c52b714a5ab51b77b523917963a9f3374c7004b81588e06103615fb793dc267e8e3677d8fed75cb371", - "signature": "0xec8a3ad1630b82a6a15686e79666d7a24a7f8c692acbba3f62456c49d7d1c3e473e94f8b4cb9360e995122c48841d17eef79bc6e8eeeb40d643941c07aa850dbbf1342b9549c48271cfbfd48cb67568e6220ebdd6ab43624c11a5176ac75ebce1ce9481cb368fc7b1066640482bf4e33f336bf386f238973f10b5b8a08a1ce5babb0f5060236dafcdbfb80cb91b4e34fd338f1c6751e47e47e8ad94f5daa4825cadab08c0cac808666697cb01deabc718dcd84703cb4045552c1d2cab176b19dc377810db8f21e331030860a831e385b199f66787fe589052c1a9353dc3350ad65e86f16ba79e5694da51c9fa4c882c9411e2a95f6011fb7dbd86bbb9d60f9d81ba38954d53f4cd81fe24909de070fcefed7edd55cb7e41249d605674003bf9f73a9d228b0c3881df78987720cbfc6aac68f64ab7df7069a4b2076088ff4d8f7806f99e269d32707a437a79775af93ec37a995ec4e25722b217b12d9c7bb49a2ff957e02bd94b4ccd8d3f9b855825d6f08354f95233c55c855a7e7b53fbada7380dea39cecca6695629c6949c4fe95e7e3bc29714bdd638de966adf2015fe9e6e5bb80b457d17ad9b8a7395bcbdb5b06e809017646a9e911521d22b9b42775e5bb5f2035f5df0224db461ce4f4896331e2568e8c960a076f3679682fb2b10b3ed50ede3f0bcf1cc8b1c50c802690d97ec15a130a36a41209ba9a5332476812427552ba99a52192e92b87a66abcaf6d8e456156f3f87d2d3a0b4498b30d155a8e2f4d50180988c74fb3dce018797c584fc8f55f89c723255ff4dc277cf3fc6afe45b3a372eb8948248aee7270f9d081ed231d5c4559ce24bcfc0efde8ea708adc8eea99628a718575b6369bfcdddbe02de626bb6fc8bb5ed4e643c0579fcfc78722b690631827cbc229fdf09c3f3af6ee72908756e5bb01b1ee1b31e96f16d5531ae06fbf7ed703e4e852af82d3164b23b42a8377c60a7ef66cc9f2e8733ab27068665c71745276dfd0e4e9e4a71f108806f2b39e790c7a19099bb4065961362fcb4ffbaaf9af64a527366542f19f4d8dd45c0da879123d9b23d73ccad5979398364f75a629c35aba791a708630175470ff5f3bcf340502c3b1745bec52dcaa2d063be76a598838fd0bb49ce80b084aec62030c7f53b02ac8c7b8dc07a7548f4bb9732d83c37fc0c70f7d7f9002a5a522ef4f5f8f98ae43c3b5da4db846964b40ae6034651c05e38e9836a9d72ec4a75cef2a5dca38401203cd7fe60fb1138ceb9b09bbb36483f3f1366953b484889126f74ca37389cc0639c368f8228de1fc70e8adbf1de146fcfc78e9989cff60efa9cd32d7e05be5c57eda2006e32c7019dcf3df8bd9b0935c34a2030e46d498fb89d098ed9639bb84f39ef0deb2e2c3a333150bff2a0abc0065cd1d717a18e2acee9da902ed7fd1b370f0617643638aaac8267fbefd3bf3cc3835a3ce4d9bddde7c01d28ba106e75a2c084995280ba95e1ba2a483392fbfa2c5094ed93398b7b0d1df00449f91baea21a0fd9010f738838480930dbdfe41ef70acd8d04e9dde5e6ebdd440646b8af1f76fee5cfb1a27fc0250dd553623b03aceac99a3b65e336888c975ad552fc5d9adb49047dc793ee20f1224da07e9f3a85cf43d1205c7b974810e9c0cb4cbc7ca930d9e2aa9b162156e3db57c80d1933931240a407fd710b8267c7f72f202b766318fb0679aa4e863aaac111b8d556963e60a3deb595599e85cbbfb9ad7f483d052d311cac389f1a67fa982f8c08cf94f547ace0d0123275e32bf5e8d304d1386d1d46c73891b88c4ea09f240e939e1f8d9b8aa64d0e18da9a235843463984d5c37fcc6c633b2f887c652d7b2589de2934ca3b3edbc706ef4c14688dfc762eacb27dfa7feb4f6d03c41c3f6eb7aadcec862d0bd03d61e087e336893b81d8d57e206faf36d487378bb866bb5fdf7e5659e69d93351c7c97c162d698ca5de5f7d287853b6672d14e5f49793cee9367a5a910db12c4c098e08e7e4233e4598e36c4907946753925e79d61db0a9a361dc1195b726294c603fd9b7798ca98f34655949e24dd8ad33d2bc512e38f7c26f248a7959548f844fe7c3ecc367381c529e77efe43ba23b59e6cda14ce27ece81e2d1e2fe2c55f2f29dadaee24dc2b2e638e1cad38fae7819e63e5275502f0f0a3825465d65cc017e873235ef4a871d8a0235f833adb6346d79c59f29c5e939e8cc2050eb9c64498654ef1e6ca975eeea8658eae664c26c5e9d667a29b7c36098c20701e2fe4ca0b922d6664e92c8ff7be49a75414c980d3545f915153006d60e092a2dd2b5e023508a256479d8f596ea57ae7e3548d6771a1b8298aa46df9ca7f49243281772aecbc79702c701dc85eb3b0813e0007551c5612f8351eaaec691079fa21363b8c07c8ae7a6301f65984936eef6f628b1157404184a6eadc87cec3bd34c498c7d9eb4355b79285bfd54a31b9e8f2cae2bd033cf8c4c4d4fd7cd3bd47c6bcd990152aec280a2a5617adfe2c67e6cfad40bd09d21675c9bb00e3bffa1efc2cbf9dcccedc5e0e7693ad6e04e5ab2330b8a432d79d6dac75badcce73129ca2cbe07074f4290622b165231b9fe2fa0ca028bf964b1e4dbd66e62d97b475c167145b302e7bd11c93884cdb76b2fb2ba0069492c9973aab5ce80a6152d3c14b9ba4e07af5201ebfeeaff572c2abd4a2158e31e8ef22132fa57f908318fb7ad52c7689f1a88e5c8cefdd460cd8fc2709dba564a3089a77513ac2e0500a6800d4f3b2245a230d90ed10218f08edacac2df43a1b62e8bcf343378dc1b14d6dc70f2e0ee848c263ddf52c52d14126c27379c1215b9b7555785767529d12e2e737eb346b3eef46150f7d7075e0ad16933b24c6ed6b12812b2878917062524bb0ba9a04797bcee675df0bb8062ffca21a6ed58c0fabd14b30f408714edd978199514ef267328ea96fc599e106ae3957b23f80d21bdf763c0e994c9d26ae2a3a98a7405098a151e51415f2d4d1ed87bf43fe7b6b6a632418fa1e996c237fca547773d847bf6f63800331c1bd77d9a0adb4f930dc1917e1f9f9163fbb086a91a5d7493899bed1658f6476808c393cde0d024d476840c28f8a40c5b8d179c2afb60c9f540e68c0cb6d9d0c383e6676fc0628242ac53c1be40a9bd5fd85366ca7af3e8ec5f087e0628a90378acaf16d0aee85e96e18447db68451336bfed0729ca71ff90e089740b87fabe5f702d3e37ac43fab6074d540c455f69251b0751d918cb4c40256fecbdff7c281b8e567762d2655c9e9f57ed5c59ab81744ef07598e70403a2561703f7274158540c0af52e4428213114803bba9e180dd7bb0ae2d20aac927af0d209ae331449261d5f72374ed37977daaed33860cf7bef036377274f86a8394b721773a6c9aa3ab895dd13188d75137cd25640ccf34af8d4a0e022a0aa992c96bf4642ee23def8178bd5f7376c7ae50fda9f9f13a86430d90af27fa0899c369112152cfed5e78b843f7e0864fd7e7edcc50ed36c5d9195109148ea9771a61651a187c059946a457fea2fa0dec08596a8c6dd85f4695fecc593c96c9480552eee4e4b3b7855b7d8b4ce079e783c024c224f2c15703a7cc77ef22d796a559b740184f963d234250f279c3bd77be36e5d1783d06c6ce45a29ac6e174ed4c761270938383cbba38df3e68f637f49b3a7b955600303fe8f2d3e4d3e7409af56d55f1229672a5b643fded07918cf3a7c3071f1f152627cdd366581328451c0aa7c202fc1106efb38d179c8bcde0f0716af45471bd09ad73d5902691605b3219ac223b7596714a81746032e30d0152a16f48516220937d3b6d1981553cdb9e8efcc70351da541d65505862e929140188e6058706f0950fb32f015935fcc67f859145a215fea9ca345a729bee8d96ae156f35283473306665ced9f8cb5cb926c6751f5f02f5d0f6ffcbd2de5dc0ebaf85d5c46ad9bca54305aa5e7e5848f2208889a5e0a187a0677b0bebf7a3326324a90de601c1ec0a99bfc75a397d56c0f535448450a798cdd45b931d1151605de65a2ae751cd34924c66891f84a200c56a4c0f9a3ff9a8766198dc0be298868770bbee13ec6d46dc6d6fecf63196848a5e3bb2f6991dc1be3d6fa85245710e8efb17b3ffe5848ff90a874fc69ddbc6f18c4c037a019216aafd8e35512d3d01d262baf840cf940c8f41c78be04299383b89461d26dda3a6862027edeafd9f50fa6fe0dfd3b8fa5f535b985cf6a3d0bc0f44b2f77e66ef583ab6ffb97170b30331e01e183a77ce65bcd6fc3cc7961f475a4f8e425a0068e9f9393abe6d3f178b3dd2d63353089e3b1315459619d18d9ebecc203b502207b56f570e539cab8e8755316d050f9890d34c3e60e1ee618e07b62fae542d687d74b20f7eaa395831276b279f9487effa05514670d08beb7365fd3fd1b090b6838d4650618e2a450fe6cb54ac34b1824b4314ec34b9a961eb6f264086f35b23602b077bbe5a5bb20cfd74583ef27323f2be31f8967d096e70e68dc8a6331cd07c4566f3871d7003a3738892e1831c10803efaf4e70eb534062369731109795421bd017ac1daf088e051cdc0255cc6fbca99c84ecabe92ad150d759555cb92aed8d1e7963384c0b6fc869518545e007626f94577ab0807a974040d3009c7b0ccdbf9f6c88d371af0ec7226be236bdf5db306b65456dbc599a9b5ecaeae707f0f31717e866b1e1f0ffbc225d6d9352ddf9454677fd38b833e111fa3f14cf9a795a5904d84ab8ff4c3c4b9aeecf3a46ab744a0462e1f8d1f994d230486c07211a13b632e7ea08883076850863bd89114fd1f883a036edd06a23e3772c02863c1dae722f522d42bcab9a3613eae46a2bb4bb93d72937d4702fb072e65566875f26192a2578b5b917d367f271b02e411342a5a9d68ecd72aaef0ff685e24919a3c1b6d00be9f29d46633dfaa58cd2968989f0162ec2d64458a3c76b0bb6d989eca1bdc30c37e825e0329108046eb8c18e66ee83aaaf12d0c13fef9583df3beb1d15d3e29b4a8720c984420b1e05d1ad5adfb07b720fa9c69c847bc038be8a8f1cbbd5a853a8259a72e3f06d0d195e77af858e7a7e8c594496b009a6899bf2161230072f58483e9a88fc10db1261716049114e3a00baa184aba4400d6ea34c709303579ca7bc6f83275609e27d2cd98babe1e37cf11bedd5e5df6be2e585898d9058cf22ee3bb44673b783d1e72849342935a4e6eca9759044e1f87d7be7dc1fea50cfed8cf6232f7a47132ee8fdc39b85e99f7da8d65a2ec82598a19ec4f598af3937a0fed0a6ba53cbe6bbd7538dd06868500e31262a9cee3cab333df177c30c698941c695bbf1c506604e1cabb8c9f1bf9df09f0a0cb7432a8c029f37b6e025918236ee495c7f6c32d52716e87c977451713125f58425b00657ddbdd94d3bf98cfb5ef0c469160745dc88c8d5296de9be6488a49ad7b2afaf76dc7bb7f7ca4ca1a1433ca77405ce2e2e6c934beb868f02a505d1750720801ad76d91d59810fce76760d4b747204d891673aa0d5c08df0a042cec89d0c00666e3cfe77650d138d2cf35cd3af012539248c98d1c0842952c209781cadafdec3b3c394ec8ff1a777c11a3727175a279a536da1489397d4af5f26d8184234797933da301454553f31b78ae001922324f23034cdd62954482f4a723fc82b614eeceff97fa00dab2a9e9c354c5a9369c1537a4747872e59e8805f0b738885c0ead943ab6fabcacba150db1ad68e767b8a62ef94c9909f872e7b3cac8b4ad970e14284f3e5dbbde9e541d943c1f421bcca18e9463d3766582deab592f7e003e82ef10f407f58b241a98c0c824251af48dbb874aceaf4f44d88a86f15c71eaaa8b8ea0e6821ab968be91da29802c9909aa554d781c072ad3109e6e8f124d77d2b12adb685c663b8725a82581a0be33a4ee1abbbf72b30d6ca950ba51ed4b3e813be7891dd5d775649124b0e3f76471461c451ecd643ceeb3d2162cbdd70be1676fbbb16f874bad11ca57b330f4d508b9511fac45bf16a4ea6d7bafd6cca9388746ff46ff3d73133f3102e57cbfed7929a8f75cbb91151c4ab6521727213ab383fadeb3065c28adbdbbc4d926f45baed69d212004b34c03cebc6bdda3b92490047218997447498be655e25b5786ab7a18c35d2f761e0e3a1fddb73aaa32e2985258747aa7af7bb4e8454df1a0cc864f9e36a62e9a9fe3ebe98b3109a4d201c3c98bb42166423f84f0cdfb8af74bc77b81e47d5b5b5c12c0bfa307fd9ab0c13bd3b38d25e0425441fb22bdc4a75d8eb4b72c836d2b5e9264ae9f20d9708ffedfdb81a2379510432657ff855a147610d4f08e06ce30d928e094c07d907f14ada32fdc4f3cb2bc7f0c0d24748eb0d015455972808287b8c9dae4e70c1a2e61678aafe2f5274d5867376a6fbabfef00133839a5e9f42b3e46636f7da6b01360b30000000000000000000000000000000000000007131c20262d3538", + "publicKey": "0xf4cb73614efb10dabc67cab12a5ae183a93ddaaf774891a9137f566755d9412a361fdb7e5046cda9b180b4557b6c84c3883258c52f6832db35a401117fb3515e7283057b87de85261c76a898b134be9f6c0ff17366d963d5c50f1b0eef24fd2d671b92b0bec7fd0d65d58dff648c3cf0c2313136d790543b7f868e43b9cb5e454ca6f4a7e329fa80a74be81b6e18018d1973910913cef60e6a4d7e2df2a4c3e7442cc063f0148fab183e5bfd11f94312b20281bc0d1bba1df4a3389a8a4a212c7e36bdddd1be148ab8a4fe37dccba27f2f1c3e7c824de433047fdcb5d48937441600f05ba956f51edd0b574e293f69aca5f21d9a7ec32e7e4356ce2053bfaf1ff546af7eb2747844222fcb3c10467ef3b80dc94e7444ba4acf958026bfd3471d03981ca1a78d2971fd8a1e23faa8ad7f4ca8f1e0e4bf07a1f1a1a4e2cbf350d313a7ca15a0f7ed7ed45c7a64c24762e44d27bcc810966aac625c656ea2c8d4ba4cef2011663580e855821ac02e1e6e68baa00bca80f271baaeac84889202245da53eff8a702afccaabe3f68f86b84e41d796baa80113b58d1bcba85b8299fc597f0af8265570d767e9d37dedb50f6ee0288acaa1a65ac5465eb856ff728b94fb81ce60d82921e6cb0a688e4f3d142e0ebd8f0943dc0ec52dfa9e2c4cf58e098e13cb5a8d94fa9a625fa47f96182372506081abdcd3d238442463407b334c1874d76df8b6cc0c44fad19875b4d8c8346fb231dda6330435525b0296d0a2bf180e9edb9c0855bcc1ed882c05b3c9db0474a0093a7f2c054d016f11cc4f07a244eb1acb63e2678a9e646a95941c34d40ad510e5797c637520b85450e20bf3dad0c099f594b877e910e6567e00abd4c2b008a153a5d11f6e069976dc84c9bef824908b92910d2785cb4cd231c540f512371e7df71fd9a8d2fae8fd9a63759ac5dc0a1d209a5e5b4b15f5bc9c3c80318f21cbb0678bb0558ace4f690f7516239f59f4d59f4e24c59a141118ae1eaf54eaecd2e019137a1792d958d01dde49ffd6be7775d64f81abf8f3ecec17745b06d1f43749e89612ee487f0e6af166ba86555fb93a0f49093c1daacc87da42276001350449090027ec4e461a4102739be5a91af4518855ffcc25c874446d2c7bb77ba1e88ff415984384716018c13becb05122d2cea001ec86b6e8ec0b5e62adafb6e2659ca145c552cc707673b7ec6733a55dfea96ccf43f1cfd11bf7b1668258232b0b465d23a3e05d93bd4b74afbaecb5796a0bdc1581054b4c7a227c3fe53908432c6945b12d7b0c9e1f83942b3818c6bfbbab698d9a5158f4749787913943147699c93d008edb302a9770b65a3373f4e0c7763a3e752913611f8a9aa2942b9cacf535ed309769e911cff6858ed1bae01ba7c8fb6af02c2d1e41d2880ab263d40e03b220794a0f34b0cd34689f7a68a7182965797ab86279c51c83f12d818aef5ca9988a1b472e2c17a6292ca60dc3dd8439c46d46afae231d272fee5c3d3d962eabd536f657c6e29fccbfc90411f3e5ef90f503a894f37455db3631275769803bbdc188ac3a257fb8fa07792490c978978dc28f6a0b3e6f79e825215f0dc684b4c071900ef8202947db802b8f4fb3af185281e201f9ce93c4fa830e0ea1112e61604d4afe774f716df5eb29d81c60dead319b9bb0561f37ce462704e18cae8f98ced51dc955ccf0001b16bae93b9412a044ad273055ef52c50b260e4e90dbc0dec3123114adb61a64a2c41e296fcd6abb149b1dac4f2d47d77ff9d10aba2e657b1f4a6a17819b7c685d3a1e8c0ae8a0ee62a2f856736455d13236baed5413e362fb82faf6f4cccac24e2f0fe0e6e83ae56581c8c2fe7c94057ffab1c76218054c325af8a7cf792260a41d2b7b4e738366ef618b0a354899141937739929a641202db42b5aff31cf22822134e06a3937ef91eec55a19f918228da0ecf6ded3290f8907619f0e043afb1ae14e597036d5a95fa9dd2b4398b099fd9d16065e6ddc08768471ee33497e8ce745157a1e655cb3925f3debc436f0370632e27b64afdd1136e78ebed9a3392a30652a8a0459d69e60043cf18a8135930560616515d0743044c4e968f366ca831c5e6063b5408f46ade9140f344b03ed1c897a5525dbc32465aab7025796b9536051ef976c9864c3f54d6663a0b31638921dd052b8d02b297401650b765b0cb2406989c0a1d2f34b9102c42c0a4767134e1c2b0be323b109fe86f1e963e3ee45b671a2668cc814d5aa39bc5e6aa7c843045d3b92b578c3da964e765494cd8b4c32b026bba0768820300ab6d1107945b75f54d425f0324327821a70df9eec11a94d8ab565a9ad2c44f2032d86f6680530dc25ce4474684bee0c46fddd0b05c95a78d0c0427fc836badc8bf2279b4538230dba46ab78bf1ccce70a99aab4c268ad3eec5943519177990f1d5deafa06e5e19dc45e1fc674ebf14be652cf88ae61190cd588717a46f374aa010dcb736c52bd03a7b5b153dcd77bd3fabf3ff314978e6dcc72aa68f89b787d0fc21f967255364d34cbc1abf0941d904284c98b4c2546d105304506c7a8d532c4f0b16f6d1eae57814fd2693b90a17f15d8f16d2b50e51ec046f01a017428fcd0fe8088f17e6d77ce1fbc54170144eae4d6b9ee66915c4e820640e012b2c8c67ab27984b7be739c21381f3a8e7061ca8859e90f3d3b9401f3d107de45866908db429e0bcf3eafc62ee5d16e5b00a2f5b0f0a9f07b6252455eca3e0384eb164ab83700c109db40831363d8f39b81f6260c6eb16a5fbd68d9adbede07a1a8bbb96a5028b532d52bb200eae4c9f7ac7fa4056979484d1eec950f5dfedd01e6b84502e2a47fa18437933b575194e9f8d75e850941e6a36d7efe837951d35c810f8e72e449f1153d7d5b5f4dbb1bf72de4dfecd4ed404774f5be4b5b527526916f7140a13da4bfe9fa8921aec23ab88c0c9dc9eca234f61c3d2dcd99e738ba9a7a9d70e0ab02d5bb6b87085db110079624d8322458de2954322d28a4912f171d4ed3b8e01042d24a52fbcef41e5ae7eb5c3c04d4f204733549ba0501ec31e6f0cde266be0209ff33fc2c5cac5d2d78a31a917fe1ba7c964c0e692cfe67e485eddc22277d80dbcf0236d8a01e6f7ff3c2b74bc14bd9b44cd0a69f8c8c4cf17b784c41ef04dd1721420ac2c001c3d8ecd226ef1bdcf2077c9bbe21550da863d2bec5ec274c673cdda79943ecea96f7cd4e535c891d478ed704be88f30fa996e0e63d0f77295a0a7cf7e2e3e900a56d65156e31a3a3e3b91f146014288c0f676d8a3e707a73eb603130287570f9975ed592e9747140d2c71917929de797ecdac94750e831adf47009dc6ae80acb9b460ad098a318252a739ee0f4ff242f761fb1a14db4ccc904d291686c4997879a10e77a310a36643d8257f2816e791ffb4a5adbec1fc734d377a5a0611c857e7d62527d3b2a5be37adb309c44bba1edead572f446b3b6fbf5166de083ba2b0911e6ab93a9f141061ab36050c8e5c5e014312a2885441fd7f0eecc0f84e45934cfecccba557265e93798a320baace40b7eafb258fd9e9a5d84c3491e0a14821aed12ae7eb6c1794fc321beb5be568cad4de4c3392fdca36d58bafd0b2ca853745b251f33d9c49b3f32f15536cfd1255b29bccdf732a7", + "signature": "0x56a4ace16cacd36e715a2a124cdd180a6a93aa3426f709d5f17ca7585b20ace8813c70a8219704332a4afed44ba9316df4e85d8164c98445386dc17f07cc95db37368fbafd59434c651497cc84cb4a83e1ac50558889438447d3b12f55947d039c9d81f782a531f28cf295671a5df4b076de1c4e0041186d9bd8fd19bba9a1f3718943fd80190e13fbd5d2e24c4a8f59323d42581254ba60137c4cfd6ae45d55c1db7ffd2359ffa3020515c0a799dd56469d321fe1fdbef297015138805f5562cb85b3772ca0cd8e2a52a24a7a2e7ee3eed422d66af5c0dddb5c417e9ab4409dc53c08f25fc8c187fb19d204db17f896497090c90ffdd5e38881e1179d04a6cb24d1a533ac6d4307ab5a834b97b7865f5fc244290aa670bc77cef71bd40f266c023d4f72a27800ce67feadf7dbdd25a80cfa1a4a8faa2e5ac0a2e9422170e9b58bfc8143745b11904df190e3daf75fe76b412ba6514b06afce37cbfe00378b4baecdb59c4e0b3b42df86bc92681f1c7fd193a7370c1be9fd228ae3fb4bf66eaf0c5847d92d9e17b8fa4c98562718f5cebe44919a19d1e7d54d85259a220003df3d38f5ff30d47049791116df11bb0bbb0d761429b1bc8f45102fa2a4d5641eb2ec0326f4db92e5f4bb51a2623bbd0c1f36dd7b81ccb0e4074a89e1c8cd5b22d41e60694ed7d9e51aaaafd739df664961aba179355e0b934c40ce51d0a247622ed79e39f5edb127e5d942466ab78f24871029c52d11a809b3648e8f80e342889d51bd98dc90be2f8c22145ad8b41075a9e823da31c88c7e0819dafc6c7c10ee47101f48bf58f51bc6e93f596be21ddc83c25ada7c6e36a4b550c47abc5691f45a78d3f2d37208a03bd3ff56133e519533c2b7a428421fd6299d8f47494acd9660100846abdeb74d956cfaf6606716cad0b23dd34105165783f3b4bb0a57636801007ebf83d14ab94ba95822d6843c088c5a9d0de3cf3f474f14d5b1e3043d05236fa4083f622a959e6d15a5be4d614cc9c9e2f9a7c2c1cec9f3aec90164f9ff821c3b3ee86c273196fbec36ea242476d5103c895af12abffeba7acfaae08bcf7a7c137d55a6f8373cad42141919481c0f10fa662610f9192c5eed7c3f60e3c92f1761273c84889909fb7b3d254546ecdaa0f677f2ff5cb33d310ebf70e84929bf06bdce5b6135c744852fc96e49e2e04a6e2a3ca1521da2c640242b78f2c0b3acb1fa33d61de761c73fda8169eafb983dbff2c0adb0964f14443c4c908172aad52dbd15a3e5c7ef1e5944549e46860642f427e44a221a871c8c58aec89924806b16c5209c0afdfba2b4b48f332a9713b27ebcf99f382068d4734c04f2df56b642bc9eb786c9a8c708df6cfd0180e9daba168fb08894cfe2985bc2b1675218639df4e036fcc181d0582f60b0299c5277eaacfdd482bddc2d60ff93349a4cb5a9ba32b3d16edecb2ccc86dd3b1eb04ea0d83963c2c389441e9f103053ecc5bd241b8a4bae7151f0e3e088bdd8efeed41f5c40127932cded6c7e33c79a3ca133722c040a25fb3de94e6d77e0a0f8c748850b688d448d83445984538d69e5db2cf034250a36176ab93ef0ba4787f9e7f07f338ddb8e730190bdc885504886996fd11a28aada6961b7951c7db15eb9626c31b7cd6622cb58c00ba08d96b9f3a0f4d4a4501edbf7ed0ddfad70f3ed388a9b599172ff5e5a2e450068845b765eff346ea4fb900b8abeb7c0a10f10749e33b25ef9157a02c2cfe84797f5ff98373d18e283a9a978da6454bea9e3467f685a128900ae9a0a30cb34f17ad54e6a7e68e90d1b25faf5219c3bb715760136c99243fdfd4d4c7622f9054378b72cc0b9da50dc051798e0bd51e32ab13e757f0de362e267539fae378485f9b45ab9dc1886be9370ad57d02ede793a76fa5d89af5994ff8d94506f2846fa935b25de2d7b99ba72adbdcf5c2d4e26b7e962efd24dccb677f5efddc46ef76de66c1c5e76cb5270d1f37ad7774c9386fcefe525d3a2dc29bd7dce9c082b0f954c613e0dc3683e1749320bd8f3a738b781538de3f9eb4e7aa7740df08e89b0ab5eebea7d93c002b25d2210d2363a513c9c17cb0d02a646a0f40fe3676ed5680015f32554fd151b3f251d411f0de147fe09495171d5960aa424df4bf69c2d86f6be021c0157c5e52ffe6ed1b1d16b493f24f54e67caa33adb0259727ecc6c8342968fb2ad08ee95de890621b3d21e23011c2a53b4b302aeaa41f38482f064ce669b571ba6b45183532c8d8d21ead8c91927d9e027ce6ee0c0b3d4e20fab75a92827c3245ba8c5c26d04002c6088084d7e8f638c7aef5aa5e7c59b3c56bb7d47f2dc9841e89b284780781b92908e4c97229af9a4c48bb8d585b2b1a764d65849e4359f81a54caefa61af98e5b0ece0d5b2f3845e04899f1674ce3daf2d5a7ea6d194f3f5ae59a4511335fce0c33e6039d50df252d99da12da4f69c415d2621b48ad760a501026e01043552a3859f3348dab84fc098f5d970000ab9dee0393069c7ea2d8e90d622698236d5613022e708ad3b160caf2e2847bd9236ecee9913975d7f1f145693cff3e0f0697acce612de8c1f3c4112f0f194b4abd11449373353ab1c05d911de5c7fe072aca85520b07f4f4017abdf9b99de8d272a1783a61cae53494ce59be5e75eeb08b36f755928ac9036420a7bad791f1cf2d544d95e6b9591bc54cefbdbcc286b66fc2468a1819af30c8f945a05e458d1bb24f6d6f5bc0528fce6ae52b7b2f34a24c28cca063454b98e15cefa289fbe72b82187c011fd7dae66e1ad7d889a1bc7f544607a55566e3bff25c914e8cd3deba19f745dcac0aa20d8494127d7da3db8ca4b64ec631f5d92bfad71d726eb4d0e828f2186978f85e97539713c4a93bac740554d0aee78806f9c397e213f0a06da122d3d438e760574e8e7fb7c220cc5fe80588a103c8fc50170bc6622a834939f01cd337229d7cf1a5bf4ad02d5de7f700a618e8e3017173b53b4c9fcd14d23887dfcc50e4bc4237e63a55b83e368f60b9f452061bc73ab9db8ee7f134ca4884a540bc4d566c21a8b33ee8a91ed78ca81475ac858d07e887e295025fb10ce253752b95412384a1c826e8755fc539f8a8ea695a35e38e0563163da681ad3426fa1b22782b4b1c8bff44674640a0e64124874b7ec34ed22955e324ad361bda397f79a5ac60713e48d5c58a59a5213d7e36ec6b4f4e69ba4b8f0636dac389f3ff3c0d62d37b29d183b4845e8cf15593fa909b9d9c058896d13a7750d3f555263e9828cc52982d4461e44a83bab0927d2181e7e91bae5641fbe217280de81750a74760d3143e38810ca3f44cb0545d1ba4bed87a70967c60b95b15eaa8fca0684d07d657aa80c39ba6822d08633ddc9bca8c482ed4fb67673bd45135dd2731e7fd645dd5d9cf6ba6aef345cae99eb44343de9c640eda23b95f2f40b0d17062faf0ca0c308a2eab1649be6c95119e56cf37142e11d32bf9f2acb41937be67d69bde8f728affdbea2788974e9aee36cba28dfdac41dad046262f041d6efe514031363921ff1031a46943396b65a4350b370dc7665e876f4fa0217b07d58c92cc5e890abe927df8ebff755f7ce9436cb89ff29fe4f109b7c18aa6da9549618d837fe4307633648e0b0d249c7c8fb359abd9bac992fb61b878140d9e2b34b8057059a529acd234a035a510475f990c8c920a20ce592073d9108717885c4e0d35736f033e6c61823219e7b8520921b90d9a42189ba1d4b3884d841a6c69a777e109793eec3ffcc4a162207f7bf9b083386eace75f5d597cc0ee2133d4bcad8dd1c41602a3bf3c6a5108d9ed3c32549611b3fac78be7d1f005a1feed50a7e0b5251e4e22329492c08c19ad8fb2474e5479fc5c37093e01c4736958524c181441218776ac8c4fe550000f975347f26a74e914d6890793df0f1f79af49e089aa840591d1295f3ab275ce26232331b67e1b84681c8849c63b48ebb22b62c8a5974e788f2829c08250d24afa22a631beedfac31b5686ca8224bd951c761b0724ace19f71a6b7491f3aa3c7fcc750c855303b24e46ad15706e79b7c6c894f19290ed264267eded3d14e386877c9c7bde6009c143a3ab17a209bc22de03a17315f12f20c1710b0a5d1a83812786973a7da2a6cf4712042e2afb93a20371582678a6aad363525954aa7b1b5c334e6442bc0792aee97adf89143d55c27ed9ad71867dc5aec2eb2735fc5e8851de135850b6ffe65f059a2f43c77fe22f67e1b07fd11dab6c052cf822f26529767d26ac5683b0f3875ffc5d4893e3cb8136bfbd636b6016e1219af39bff5321498d0fa030ffc548c150068dbae7ae6937e236494ce4aa4d197e75964d913c0b100fb3a6cea1c680f593b3cae0dde58c12f10513a106f90bf8a30426f400fb92ec113b94e62af4e5c178482ba264dad5225067fefbda91ccc4c75dbccc6ebaf5b1ec670602e5695ecdd848054a261275093c89376de32b0267125539b08cc3a86322ea1ea3515746e31b07d3f49de0ad8645de80e22e2f2883163e6cdab0b26d63fabe7e8c3123f3d365469ba1e6766ea092de1860f023f08d2c3046ecd57c427815c7ef0f1ba023f30a3aed0f41fd3be68cbb9345e9f10ce18ee93350218742df3352fa57efbb3277ec9e7f23f41f77a0fa44d1f30b7b9f393411c903801b65d605a40456742d3dbc327209f1a32157dc1839c3edb3a56c9eb27c0e64156d41848886547bdaf386798c5afb7dc1812ae00dffb67d499dfbeac8acb5c37091c905ab2f8840e0a6e5ac1cf9ec297732ef7a010f2767827faf0be24edee0c375082437eba0934c6afcfc4edb6950624e04c7d44f50153bc3eed64ae2060cd077999112b50e38342daa07ad4177b6e6d38277f3e875d7fb4b54a8113dc6c7f98b261e48ce61bee0301c63412d0afa4f8d000e9ebc811a382762dcf0d59d3382432ade20586d78d523d5b9747c3887c8184415fa52f659688754b2bca1b1d380d67d033da341f5c7b24744878369c20f91bff8716882e5cd27a76bca35a9b6f11284c3de032a20acd56cab3273ba7842481c3451589e976287d40c5a1062a83baeeacc7c6e363b6068052ba9654b66ece16192d58eeb6c45517ebe1044e94eedece7f76db18ba06c29aac6cc3ab3b3733315591e1f2fa32c24631761e075772a6f3d644f81347a47326543dfd537ddc693576457a6b0eb9b1ca4975cc8d1f467f2417e0f09bae79997b61df3bf45467f3e0e477e8a8f8a30829d9587094af235607c18d14e49463e4c49a2b3d7f9c1522831abe941a5827f84db9c928e48925e997d259af27b9e2e9652a09c959807ef887c92b34d58bdbb5c9c07630c6f78d8ccd97dac4dd7e8b2569880abb186b18094df90248103d3a21b09001e2bd95f3ce9f8dddd619a17677fb5a41d1fbff634c318085acedf08bec60d7df374d2612ebb422711a9b9c941614306dc0c99d4ce0326f165212c4b99614cd64bf2e838a1db5d2c84a8bcacc8cf21611fee5f5f3ac664e86af21c0a49c9d8263d89142f8df4845e39903b21c447d787083ac04c89717ccd8044286722a96f2b0158e2260642e6f69f40d1777577a743ab9512108893404c55f0f1c79dc6e472772a7590b95b43bf2ffd4d8eaef3d3025a803977864d3bfdd72079bd0220d75250d016770304ead80d546bdb96c317441955cd698dfdd9cf3ca12ed5ffc969e5e6c7b0719411926772a10e2262d0fbb13bc5f475b133dda1cd398984393ce010bdfbcc9d9b067e153a0a5a52fcfdf7ccd7e19692b5b3b34b6520eacceaf9a5db1f335f3763ec88c52896a82afd49e42720d4a148267e3c6f0f004e87511530efaaf1babdc6ca30a83177c67d2ece9a128c5d6da83f884dd6875bb2da33a185b470d3cc83f6f10574e406e9a0a235c48c0c346d7032b7ba17d4462c6413dd180449f12002b4c6bccfb50177790b970fbbb904481e3e7d2295406e4872682169798866fcbfcd08aba73d5377f0176213d58f5a6cb497f6669ed4a3a8ead28574367c4824e9864265a1bfa0fb67c8e95666a5c5888c16c89566cb86eabf1223217d9e023b9f2ddf35ef076370237c6168c43e845637a08e7611cdce03c47c7428ec17b28483c3c76592de4cc420f5cfa40b971f9ecdb778e6b0112d6b86c77dcbfe96ea93be8122ac2c26938dca3bb9122e6fa7de7a9cccf7c72fa0153571702a7d6b7fe8566244b6114ae80ef3d5c4a0363c9bb3baed7843ae6a4c5e707ba9037de1197d43ccfa8ec90892aac96125a35df0a02d0d61e552c70f6fba2286a7edbe3753f85cf305e12c652ea1ec9795914af9d95286d65d7a2342fa3494d96893fa796fd87135084d1321d59864b783ffc0d41f4b81faa8f93641d076569fda28f3a6489a110fe0530acc04d14cfb484ba6cf953bcb07aed30819404146a1abcbf112384dd9e903070b2185a6b6bfd00a0d515e60c6d4f41f278aa5acd4d6e6e9ecff2b344d60798aaec4e9fa25359396b8e3ec328089b7c50000000000000000000000090e171f2a343b40", + "descriptor": "0x010000", "chainId": "0x01", "accessList": [ { diff --git a/packages/web3-qrl-accounts/test/integration/account.test.ts b/packages/web3-qrl-accounts/test/integration/account.test.ts index 4cf69cb9..35d01810 100644 --- a/packages/web3-qrl-accounts/test/integration/account.test.ts +++ b/packages/web3-qrl-accounts/test/integration/account.test.ts @@ -23,7 +23,6 @@ import { encrypt, hashMessage, seedToAccount, - publicKeyToAddress, recoverTransaction, sign, signTransaction, @@ -34,14 +33,12 @@ import { invalidEncryptData, invalidKeyStore, invalidSeedtoAccountData, - invalidPublicKeyToAddressData, signatureRecoverData, transactionsTestData, validDecryptData, validEncryptData, validHashMessageData, validSeedtoAccountData, - validPublicKeyToAddressData, } from '../fixtures/account'; describe('accounts', () => { @@ -58,24 +55,11 @@ describe('accounts', () => { }); }); }); - describe('publicKeyToAddress', () => { - describe('valid cases', () => { - it.each(validPublicKeyToAddressData)('%s', (input, output) => { - expect(publicKeyToAddress(input)).toEqual(output); - }); - }); - - describe('invalid cases', () => { - it.each(invalidPublicKeyToAddressData)('%s', (input, output) => { - expect(() => publicKeyToAddress(input)).toThrow(output); - }); - }); - }); describe('seedToAccount', () => { describe('valid cases', () => { it.each(validSeedtoAccountData)('%s', (input, output) => { - expect(JSON.stringify(seedToAccount(input.address, input.ignoreLength))).toEqual( + expect(JSON.stringify(seedToAccount(input.address))).toEqual( JSON.stringify(output), ); }); diff --git a/packages/web3-qrl-accounts/test/unit/account.test.ts b/packages/web3-qrl-accounts/test/unit/account.test.ts index d1794635..4b60c006 100644 --- a/packages/web3-qrl-accounts/test/unit/account.test.ts +++ b/packages/web3-qrl-accounts/test/unit/account.test.ts @@ -23,7 +23,6 @@ import { encrypt, hashMessage, seedToAccount, - publicKeyToAddress, recoverTransaction, sign, signTransaction, @@ -33,14 +32,12 @@ import { invalidEncryptData, invalidKeyStore, invalidSeedtoAccountData, - invalidPublicKeyToAddressData, signatureRecoverData, transactionsTestData, validDecryptData, validEncryptData, validHashMessageData, validSeedtoAccountData, - validPublicKeyToAddressData, } from '../fixtures/account'; import { TransactionFactory } from '../../src/tx/transactionFactory'; import { TxData } from '../../src/tx/types'; @@ -60,24 +57,10 @@ describe('accounts', () => { }); }); - describe('publicKeyToAddress', () => { - describe('valid cases', () => { - it.each(validPublicKeyToAddressData)('%s', (input, output) => { - expect(publicKeyToAddress(input)).toEqual(output); - }); - }); - - describe('invalid cases', () => { - it.each(invalidPublicKeyToAddressData)('%s', (input, output) => { - expect(() => publicKeyToAddress(input)).toThrow(output); - }); - }); - }); - describe('seedToAccount', () => { describe('valid cases', () => { it.each(validSeedtoAccountData)('%s', (input, output) => { - expect(JSON.stringify(seedToAccount(input.address, input.ignoreLength))).toEqual( + expect(JSON.stringify(seedToAccount(input.address))).toEqual( JSON.stringify(output), ); }); diff --git a/packages/web3-qrl-accounts/test/unit/tx/base.test.ts b/packages/web3-qrl-accounts/test/unit/tx/base.test.ts index dc94b4bd..bbb03c90 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/base.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/base.test.ts @@ -15,8 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ import { bytesToUint8Array, hexToBytes, uint8ArrayEquals } from '@theqrl/web3-utils'; -import { Dilithium } from '@theqrl/wallet.js'; -import { HexString } from '@theqrl/web3-types'; +import { newWalletFromExtendedSeed } from '@theqrl/wallet.js'; import { FeeMarketEIP1559Transaction } from '../../../src'; import { Chain, Common, Hardfork, toUint8Array, uint8ArrayToBigInt } from '../../../src/common'; import { MAX_INTEGER, MAX_UINT64 } from '../../../src/tx/constants'; @@ -24,12 +23,6 @@ import { MAX_INTEGER, MAX_UINT64 } from '../../../src/tx/constants'; import type { BaseTransaction } from '../../../src/tx/baseTransaction'; import eip1559Fixtures from '../../fixtures/json/eip1559txs.json'; -const seedToPublic = function (seed: HexString): Uint8Array { - const _seed = hexToBytes(seed); - const buf = Buffer.from(_seed); - const d = new Dilithium(buf); - return d.getPK(); -}; const common = new Common({ chain: 1, hardfork: Hardfork.Shanghai, @@ -168,12 +161,13 @@ describe('[BaseTransaction]', () => { ...tx, publicKey: undefined, signature: undefined, + descriptor: undefined, }), ), ]; for (const tx of txs) { expect(tx.isSigned()).toEqual( - tx.publicKey !== undefined && tx.signature !== undefined, + tx.publicKey !== undefined && tx.signature !== undefined && tx.descriptor !== undefined, ); } } @@ -202,7 +196,9 @@ describe('[BaseTransaction]', () => { const signedTx = tx.sign(hexToBytes(seed)); const txPubKey = signedTx.getSenderPublicKey(); - const pubKeyFromSeed = seedToPublic(seed); + const wallet = newWalletFromExtendedSeed(seed); + const pubKeyFromSeed = wallet.getPK(); + expect(uint8ArrayEquals(txPubKey, pubKeyFromSeed)).toBe(true); } } @@ -233,9 +229,11 @@ describe('[BaseTransaction]', () => { data: '', publicKey: '', signature: '', + descriptor: '', }); expect(tx.publicKey).toBeUndefined(); expect(tx.signature).toBeUndefined(); + expect(tx.descriptor).toBeUndefined(); expect(tx.to).toBeUndefined(); expect(tx.value).toBe(uint8ArrayToBigInt(uInt8ArrayZero)); expect(tx.data).toEqual(uInt8ArrayZero); diff --git a/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts index a74a0e98..2b380764 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts @@ -21,6 +21,7 @@ import { Chain, Common, Hardfork } from '../../../src/common'; import { FeeMarketEIP1559Transaction } from '../../../src'; import testdata from '../../fixtures/json/eip1559.json'; +import { newMLDSA87Descriptor } from '@theqrl/wallet.js'; const common = new Common({ chain: 1, @@ -45,6 +46,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { 'value', 'publicKey', 'signature', + 'descriptor', ]; const cases = [ 10.1, @@ -121,7 +123,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { let txn = FeeMarketEIP1559Transaction.fromTxData(data, { common }); let signed = txn.sign(seed); const expectedHash = hexToBytes( - '0xf1e0e9a7693c947198221b333aef12e950e07d406d489b02acb94f085f34efed', + '0x3ebb3ddca319928727dae2ada78d1f6ce078ea17fdba92e728257ab7eadde8e8', ); expect(signed.hash()).toEqual(expectedHash); txn = FeeMarketEIP1559Transaction.fromTxData(data, { common, freeze: false }); @@ -171,14 +173,14 @@ describe('[FeeMarketEIP1559Transaction]', () => { { common }, ); const expectedHash = hexToBytes( - '0xfa81814f7dd57bad435657a05eabdba2815f41e3f15ddd6139027e7db56b0dea', + '0x0b23ffbd208965302cabc5422c0cdf5314b931609ba18bb97d713afec7c12e20', ); - expect(unsignedTx.getMessageToSign(true)).toEqual(expectedHash); - + const desc = newMLDSA87Descriptor(); + expect(unsignedTx.getMessageToSign(desc.toBytes(), true)).toEqual(expectedHash); const expectedSerialization = hexToBytes( - '0x02f85904808080809401010101010101010101010101010101010101018083010200f838f7940101010101010101010101010101010101010101e1a00101010101010101010101010101010101010101010101010101010101010101', + '0x02f85d04808080809401010101010101010101010101010101010101018083010200f838f7940101010101010101010101010101010101010101e1a0010101010101010101010101010101010101010101010101010101010101010183010000', ); - expect(unsignedTx.getMessageToSign(false)).toEqual(expectedSerialization); + expect(unsignedTx.getMessageToSign(desc.toBytes(), false)).toEqual(expectedSerialization); }); it('toJSON()', () => { @@ -200,9 +202,11 @@ describe('[FeeMarketEIP1559Transaction]', () => { data: '0x', accessList: [], publicKey: - '0x1de9c19823cb94b05ce8a3aa5377e8332c9b2223d6e42d8cb9818c3fed182c667c401160d9e2024e6651382851e120e1fbff1d7d15a4596f626e61af263fd753ee3f80ca801682d7189b2c64bf3acb1d676033e49b432fdff76af56beab1b1e09a8269b4c2865aa9f603e6f53706b849ff1eb4219469fef70eca55d2786ff26373ba730ecd7eedeb77e3a8eee780da5393312446da09883f1db34e4b8e695b3f38b8b2c642f4d067194b2b7b4eb87250a29bcc49140dd41da57e9193531c0d0630cbe8830ed8a3f4ae6b527e6ecdd04b27f808823a5d8e564b6b9164f63f9553d0afdd8a8724c93ee8c4d6f700a7e069f4471411ae0aafffc312f94b1f3dda9eafba18d2551db4689cda39c6170448f8107edf97c13cb1b65cff5817aa62658fce4e4b5b15ac633558b803f73c9f3628faf7129bc4a4fa80b42b2ca162f8c2e37054dcce634aee3a411db807740939f381e40996ed7c2f683e20ea421fd535d046658d55843749b547d1f3ce9bbe51ba10a30279261bc4d988fad5c53774a2fb06718507e7b3f20bc0f6f030c07276e3bf45caae9a30af29f7397c1722c12051ea2f941a90783e38acfbba892ad63637dc113c0b354253e32ec71ade86d4f0890661ab1506e544576df4f3ef32ff0a15182ce7a178c6dbc1c5a536c6d6e61f1c7f860cd0fca797c929681329b15162933bcc7eb28e57f4a2e7e195399bc917e764218a74f99f7bd5180284d9e5f2fd5651158748d289befac922edefafe47c8352b9f9ed9a6b7639f5c1fbf31423dce815156696f0d3c582fad4af0a3711775ba93cffe3d8dc0149a2ae217c55a46452dd3dde99a1f718185b03833c1ed8deed4ab1d6ad20479229b37b687a991030962682d1ba1f430c2f494dec8a68c482e0c9181655d6eae7ef50f691319485f4ce08ebdbb87551c82122934061024b7619a96f849f484fae363ffb81e655112b7ebaf95d29311e917d9ce3fa0cbe73b8b982df394d43af1b0ac8ad6bab5583cf993d0101fcf1b34682f89d21efa189c8309f1a4d625edda4ae53583de2cd3b38e0e266ed313ff5fea263469ed9e9bc18c859dc97f6398554a7e84b6e7d4e980246a1107eb993a7d84a17d06055c3ddabf62d75fd917b888bf7a8bf232dc0960eeabebb6a87956f6905fe5cc87a964cadc71ae60f8a44264603559a2ca765c6a736a2ee413dfb00a4158823bf8bed5c3af1eb88367b1586d9695349c2ef61f227db765ad473172a835058dd03109c6fd2a3f22da9eb52cb3fd2d5bd4fb40dd4f6a743ca7b20b80937f828f726aac0f90981ac94b18ef2ad5c90d994d386d477deb4ee23091b6c87e26818e6ac634333bce48930a6fa091acd4c82048c5425c83f5d5682f76e20daa2fa0dd6e69af57b3731d1bfb89e6fd39790ce3300e331349c9925c05b335d813f933b9393622582e80ef2f0027133860191fda6ad963de03b6298cfcacf775e58f1099b68408a93835739a96696f36c3dd495c276f8a2f3f8ef972ccbff82a4ea46ec12b2f87571b0b213215548b914d055ba98e30ac9bc6ffb31ca8c4ae7219a69608479b96c7c0a600034d49589a63ac1740eef6994f2354fa7ace3223a7003b99288f397ab6a2497db78b4ee14d5716be55ff9ec291408e9e756c08092e2d8f5f2d994f0bf75d4afbf5b8a9c217df6982b64933c786dbb21d9a9ce4c5532572213922f750ccd9c8e5e08d578a2144240757adbc1bf53581f1ebd54dafe48a9f7102f1d87ae8a346cd4621392c589f73bc94ba1a027eaac7da1e29435398de3a354235839010bfb9fc711be2c84693f550b148913f3a9de1ded6ad41b0eeda1c8ea8eb5839a06fed3e36b7e8a220a5d5e7efacbba56a585c2664483ea68c95e42803e131240ac27499252b7dc5b06fa71b91662690979c5d8ea0ede78a801d6cde3b29aba83c3fb5fabbeaec63871ba4cc5772bcd7f97c78b16170e13f49dbe116300548c668dcb61d798dc834ff6693799e6ffe6f3b32f4f2b71349e301768e2397f904f045384eee863120bcc1686637dfe7152a2afaa1dabce08c8f16f8fd011e87268eff9e16f1bbe07f0bff3e23355d3c94767e8e43bc35bd632ce5fa1f6f983d4b2c1ff9bb04805395b006098e29c0d03facd9dd77d594fbace0ed5212e76425fed9dc96ad4191f6ffea72cd299d0369e1e7534b7585a9a35f430d86b00ded922a9cd2db891b7c203a01355dc78676390bf41598e0ef9be9ff9218f28e417061461d910fef22c3499002299c4fcef26e8352f5ccd036c91b8784205cb3f3c2e0aecff18d89faa59b4fb0cf4ad453be3736d2596bd739013fa8c75bf1e848865952c300be4d0a80f5dcb80d3cfd1f3f3c83a123d3aa471b17c7ce1c7ea50abbe5fe397187ff52438af55b5b64cd8f9a3d021c443d8ccc55befb1c513ae8afab0d5b1bb4154a09b50cc0a4605162cde421fd6e3003cab82cc8ec3ab7ed5d98ed7222d83e00cb61d3257c6503ad52f214f1e5a756ee9d4d4fddfc09d73b0a1378b437456a7bc42d9d43f916ccc61ff126a50841484f0f9addb261f38ac75d7dfcb0435fc4a6092e85d6ac4fae064e95870b0efd4269681099c2bb743773cfc61fd082ceb27c95468193dc1773b31906e638c9928c2d0a57a77e0d4ad0e77e703cc099be8a5390dffe6c4449c72036247db0a76a6899d6046eab2ee121e5d65540ede74eb76cc4bb2438edde71b126ec6be88a54f9981060dd8508b0f635938916f7bf3cba7a104c59b816f3c5256a11e1704c03461d0e9e22133b907dbf1edcc796c2daaaa07c42a01deacf8072a4b76cf060d386b0e0f30546811d03df36238c28c568b900777309c8d2c0e5c711c12820e96626dd88debc6e80c8e0627aef80acdbfac556abb17b91a4372aaf6eda4ce114ffb9fa1d81aadb88099dcb1ad953aeabb48611716aae98c8fbfbfe30d6cfa3e15a409f5d754bf1c2602e2f467cf32133a53929df8d34112871c66da00c7931fef9351275206acb60b6848db36360af2643b7cc793df85fad6c3b4201bb7b2ff8327ae8efaf928a2ba6c36eefd912f015f494a34656bee438f9a9ead1128e03e9b8a6fba651a0e0f0e6f043cb78f76ff2ed08e9796317948f5ce6b4c4fb48c5f5f6a79f2c576f0228be0da8b468f449deb3cc0a9319e02c2bf802eebce51d1019ebfdd7045fdb8a74e108edec98610e6ff95db9af4be713cf78d1a8f11baf81d7cf02e7aca5ad389acdf474490d86abb23acb44c319b2531d2d97024ad5454425ac803c40f19b382bc8e0ff277788e178b055e0a5908fe212efc62a8f86354e3c1a0a653123743b9b7fd7115bf16e4c12b233ff8122513d8bc09ec3a561dc130a901cf7d7ecc43188494bbed9813114f0ea79e7817be2471f437d395cf23710d40573f328490ae37454587173817b7ce18627b40a662dba0bbb9858971a505a0786a98526e49faf0d7aec553a3b74abf28d3c92106ac3361845d49a4a668d743e202ed690171a66575897531e65b453f2b016fc26e94412d07dc5bec7b72d5f2187893f297add3a34daa3a074c40af5f8f8a32d0e3e501e77ae14800c5a96202790e9ca6264d9d31bf4d251ed8c76f42c2efbc8628614fa41942081e281878a1c81b2d80c3e6677fd6e5f9bc016395e6247466240e', + '0x71a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49', signature: - '0x1e402bc3ca44e1e7e812865158f22a0e70f9790c6740afb514511bf908ee9e51deab654abb7f3a044934aaa0dc3d09c369dd6a1df0fb2c049130228dc82c4665f7fb026d516d4da5c7e08a601ce81f451e23283804e7c0960acddc202b6a52c4452015d64f3e480a0cfaadb7c5946318226ea172573c4a2ba16ed08c1bb91a77d3cf666895d90af09f37cbe322ef8a5ea647820cbfa04073bdd73522e9f4578c44a13e695f961c91e7b40f75c837c9cc9d5035bbdeb7a07518f8fe28583ae5d24a2e2167ee14f1e6ba9a7e59386b5639a550d918bae1f611504024b61deadd076680a315a5b63dd354b5cb462e9a045abff82077ec6c80e8f6842577565f3e10791cc324982aee8493d1cf8054f24e1d73e02604326593c4f210fad2cbe4f93993348af27c62a17b9ad1bfc92bdaeffa55d03187c37f95a0c92ed1ca77d8fb3d60abd6d6fb40545e634a0cca26134b262967b5af1285ecbd5fbe40bd33a15fa09b99bffcd7cea10c9d74ae401e2ba42fa1d3472dd5a7c772da3a7e8b49fe544569bd48a4f0d0194ce9738f3a4f3b349b997b5821e236fabf1739f1266893ff275ad1cfb090f216784d79200fdb10b3bfac7d92106135ba34e4bb00ee6252b90beb45e442eba2f9b8f5f073f9566ed11fd3afbc1b0d30248cbdbba2759ddcb2598914144b4c24ce3ff7c45135e7b251e4663123da99612813e920a209f2420f2f3ca56dcff7abce627f848acf70fb91ff4f792ab33f171c3fd2303cad7736186b805de5fb376739bff9d91d468d6306a623ef9b5360d3af8d55a11b9c984ce91a158e82108d0f174913ed567ef288c2b5dbe65f8c14f3a4386045814e0d432b17b13ee35408a2f934b76124fa0224d2e7fe0c3ed17f658c7503334b01aedf6fa24b3058fa8103aa247f5263098be603ee1f286b6df3f166a9fc27f8f5fb2f8acc464a3648e58a5345f949dfbb9a77615fce9738ceebfbaadff08d80e908a7d390a2f05745eedd67bfcf1dfc646337ff9db80753492800c9a0b6b22afcb4e4359b4aac9d8d19c2862a9f9430e5c75840ae2c9391c95336abd24b0f7fe12418c65969e7f6feea1da6e95acc73216e69d6fd0ed9595811150c25235fabaaccbc2d64dd63ddfbb8239b8481082b49ed28dad8ca3073365dc9159259ee178b4a192a0ec1e2621a9ebc710b20c4d176f00031dd807cab36be29ff5b7785d0ca066156cd5e9a4e4f14d3d073689a3ea6f9db3a7e51b30968f0f6cb949f8a689b3a4f3617c13519fc478b52ce134617361b327bde825cb4f6df785324cdb238b526538875761dddd2f45055cce869942c8f9117724035611c3cd3caa61f3960cd0d1292d26145fdf90ad85252a58af0ae4541748cbf13b99d0017bd5f34787d117d7a7a40278f43b5a1ac021bb7c415ea4fa7033e4d2b0d3ee6ce26d9642ebbe910d5ff7639b70e377f133ca43ca0069b2f996d27f694f935c9239cd2d74d1023e820a453d25ee0dd37c50d98dac08184b1749ecc877a8b3e83ac50d395d631874a5b51a9e7520929636583a3a8c3b8ea0c7a81424f834970c369348b26179f0c5663de1e62df1de5bf464318adaced1a6151bc73ce7c7885b0a3210ed1056d300083ae8030ff3ef8f653284b7080231cdc1c9e90fbc864f06460bb54de044930118d01e285f9a297c6ea3080241ee86b29c46e53392f149aa7d06d3133cf0995733f3f1c0cd5fe38858d9742ebd73b8d9eaf333b6440e9444c0a1618041c087863b4c222382e4551464b7166a3738cfb73015782a2ce3547efadece0f864db371a807fbaa7378047685a2c32def9c3a60147fb1bb536301edc0bce29fd06871f3125da6f14157457d6984d22e1d80e788bbe957c061f8cf46c1286f064447b597e7b0e63d16461bccbd08d5f306ec1ede2f66988b1de22700f2d0e9d324b612709ed7c9065920bfd179d83d444dcd27c370e75e0bcbc902b8873b3ddc66a35e42d1f2201441b73c68dfd211e52cdf249f76a3a8bc8224e0ac2d9c3eee48f29576900573f6e07fd728045443263612fb4eeea90847de0577b1a035ff52b9a25563f797dd0d58013c349d9735a6afd2bf5c7804a5e9827c41d56765abc198d96315e4afc442404a6af16f6c6bc4f27010710b75470d8960090476f96db76f361ba929b5c518321bdb1bf84375603774e663da29afd9e133fea0f5828494ea1cd59e8bf9ed5cfa5cb6d9b010eaed3e3f39029e3a4dd489941aa297c4b56aab66536cbec4abe3cedbfa82da3afc633f59e1b77680e123e0723966ae420afe2ed5c7ea15a86e3ab1b5168ee93637e965325e23bf07babf2821ae3f30799e5cf5d0572ce69860591c9e3d3d27c8f922e22b64f054827ecee8a30bf855098cc09a648d80117c4e8581692801286c22f2d4da0a7ec9769ddf530861a6673cd3b9bd6117bb2c71fee31c4713a73208639c646a98575cafbcc3cdc42746c32ef7aa24374a004f867b29cdc384c106ccd6a7f2fdcda7fdefa7df338092230b4a8ea6418e912b5609deddc3d602ab077c73273699e2cdf690b1b032a358b31a093aabb6fb93112decfd8c804e0ff2ad6c08ba6d33f8ef11dcda054a4a11f5d34d2378c8afe2aecd4a1719580fad793e2c31a4986b1e44c0bf7f838ccaaefc3ffc01ef0607ce532aca3f0aefc2bf545e1bfddd86fdc3e5569c974b978b434e2de9fdf820a4b547759ff80b36417bc5d69a52d195f9138ad6cfbbb06f992dede9e6d78ec3b9a3b2eacbcd45cfa3ea9da25d21cf55184e8bb6c7b4dbea7e2d3ded4fffbd4738da7367743c6ebd023498edc558f5143815094c6f6d2118ccf9b9827da40d8b27a1f6bc1ae43f5853458828bda54e58014de4a0cb3709d171370aee1a0c619567a0dc9103b92125666b37d2b45b4b9b0f25c15a6360841aa31804b756e617f3403c92d5507876e1c14aa70fa517fcae97b6018d934c9026c9799fed157417dd6f30527444967e10c47b39c1327643fab2c029804f23c1b051f41d8ccdf3c3acfd569750bc78e0396d3a694a7410a9703302bbd1c58e3507de5d56357b1590f563b2bb0bbf7048caa3fc7c89ea501d929d23c40776744f2fdd97ffc388e3fbe5640aee6972d8ec830408ac6703cdade9e329944dde141ba394f89786367a5af8a994702a2585bae24c23b8e772a42afa92b4d8ce1b7aa372b562baaf63977b34449f7ba4dd1b906a58e73045fcf5160adc09dcd360818694da9974dbb6adfc0f7784c1d31b6bb2bbbd914cc311981355f870fc1d90804da3bdba640f8c70878fc21844a4ce6e2b714598adfe415d67d7ee95983d8fbf28574390c5a2ef99076a428a62e4fbeb1218b09d3978416970be19347597c8d1c8b43bf9bd6f0f67e6fd9e935399e36b33e34717b9130802de354a38f3d4b7459a82c1d729fd52747ae8785534d24d3e5d870bcd004bdc8978d06e2c0c0e4135cc6dce11330ca0bc407c4acf5e1a2ecd033a485fab5db4fda5d51710da72a49240dd58fd725c6f856b0ee2bc07f8cc473c29376ce08ad9c1171d09bb072d432a5e0d15a9f695c95f2c7d2cfde9b3933e00a115fe6f3e446ef5cdd5ee75bf2c89e40a1bba154af228127385855f20916e9e3d47567b11d28b2a17140dfc7c014e70052e280f6f4f841aaf81d66a3c7740c3834daff8f65860ecef9debb7452a366ea77c42742eb9bc3cb88bd67a722794b3e85b501bd26ed9c2ff502b5b76a8368116fa98c67d2d9b74ea65bebe773342b87b2da8508a31bbc76d8c5a9c58b1ab93ced437c3a3570aded7fcd85eddb1d6d46080cf76c6fe719a67ad2585ef4f7f2b533350117b07cfc22c0b2b0f557b991d256e0b56844b8ca12dcbdeae2c27a8c0a0cc0e95fb4721e3df4a0ddd3429614a9d3aa023c78ae7c38c6c553072656ca4ecbc95c9785d6693973c8bb304caebc981b803923de0467d16714e5fd1b001999ef61f3919a3e0890ea6ca187b8ae906f9b57f33b6b21353cd9a370795db6812de5cb8a791a8963f32cbafa55f7dc681e345ff9c6c5675145e4b256fe657566a3e5f2d4eb0ba2c2adc407a0e2963fbdc6b8a880842b1d96932ec5f20ebe947f59e78d0f8aea5457df67db3162b464e37620d8cc04eddb68d020d019dcff85318e4ec4c025fd98e30933cf9ebfb9190a3f26e48e2e170bebe49900a763f3de7cd965556956e2a666c7c3d711bac457eb323287a033215f7161c5258b49f207d3c888521ca23a6b0c62cbba5d149916dfb0c5b81aba26f5e5cd21d574211d375020ba1b8c82abaf243db3c5d570aee4f4f455ba3efafc554bb8c263023dd741864a06542336239cd26a230c09280fc780fa8a0daa120b3a36e804c37cc5e927ce798246912f5bbe2ac9cdcad6d4a287ab875bef8e296f1c2c455511f2f440aa90a7868b4de594926a83b62cbeb338ae0b3f8e01d9bf17055d9c9c054dd4a73be3dc111810653c71b84a5c9bd7bce98e6e533aa40343396c9ba6b81e0b91781573ae9326213bc7e24064af7b9cd75f57a694cc111925c049d8f5e973e61a3600f6211a7144841cf13a9177b88f5ec41ef7b2c5cd7e06f1ceb494c4147283f629b8f31462b9d5c19c22fb652555c3bc3f500adb5117ab7b8918117b2a7c137e7325cd9aac85ac98d55cb55429fd61c0bd8ea858c1361dd269d2d461173b4e24ce02bb8d30521fe9f407d9bc17cb37418f7c9e4443298b92891a1d5fcea1361dfffb8db2aa181c8f007bd0163fd52b75b23bb66d99697b87eb27288cbc337372850f5458e364ab6646f94e17322ddd8d353c658fb4d5d29d84fb55acd736524c2bbd0edb0a6846e64aa7d77c6008614275b4435b38a3fc83eda59ee92a2d1e86059055eee97a6d5729b2a6bcf226c89597a370ee1c9f69bbd36cb5f36571f24d2742232f17a9d43524b5bdd7e17230e8efccfea3444216eb8870041798472c783a37c1fceb2f5be779ced9e328011476bbc9521557141512585ff09179c36829fdd9f11353faa2678522414304d857db8270ef918c901052ce190a3741d48536258c435275e4ed472275725569802fbeed0fe23c101a55d4a56d7d848584308415a06e6193f281390f95b4ac94249797a15ab2cf965ededf499a2dcc03705e50abeb21c288c505b4a7016e213818fb1d4b8c202f6cf84789956a5759c43a796838f2c2d720de65a11ed7d59cfb3342478db314084e57344a22020abc19cbf65d7c96bdb51a491acd2b92daeeaf20965ee7cad5166d4a20305f9fd439189d8a58c52dc34bd88e510fb810024963907d4fbde5343b978f3704d4f220b63e08b42599b2d535dfbc61f1b5705266fcc5e3eee37d4adbe6ac8332244c5cf52044e3ad63c38b9f6638fe06bacaa0178a3d5a553a6d49a561f21377690f1d14a00dafba76a9f154e7e27833c36261cfdce2cfee34e138fe346198fdd8fe6bcc6c5d34b88e77105757789ee27b7044aa8e05799e1241247cc744a31d556f854537e9af81df5ee9ef1c830b27e37d94b58b57f157866445b7aa324fee7916711e5227a9b6f7b14d3c39a60145bd4641f37aca4ee2b7bf9ddfd0b085cf4c42378090aa870e45d05b5dfbfe15ae6d6f07a7350a7c24bf4f90c66b616ef28f368b06a4dc1d12a4eaac07324a72235a6d6ae9dc48c1c80ae18c76d1364ad2a9d2ae4572a82ba2ef8aba40cc356a3fbd3054a7bf07fef0cd5b1db775c48bb5ec94e246b75b477bf28aafdaeb74c606e3e8b76e546ed7ec882d203078a3b982064d8ffd6bddd2225dd27ca7e5e9cd62d832a82fd61427845b5b8fbae90bff21886a526758d83de838234f93e603148bfad389c1bfaaca7b75ee6586b0c9147bdcafc8320388a24f9fc43b467d4d868710bc639888cb2a8d6b433333a3dc6a31464272e1aa0fc04491ff89ee5be994111c8781a706d80171b4ecbb86cef31403641d2071ffb8f297c814a63390cc4ec32f702913a7c08d92c1001441e3149aa4562fe663387cebd9d1ea71af1f5c14dbfb1733c2b1027381e56eb7e3d3768d1c6a2f29d53362947952c3a8598f67def0de814af7387ac6e558d30ba793f41c4008b3b9008337cf0f504a90041b884d4cd73695e98a622adb0175cda0bda6208026902113d11776eefef5c01f941fd4ae6ce6128e77882870a702c86530ba29c6df95183855cd5978b89a68fcf35bf075c98400b46eb419a098f4898e2738cc929cca9836f3140eb1e1dace42ee9c0ed46c93315375a581fbdda4ba065d1a5994bd99a124c08e3514c12ca411f18c3d4cdd2afed764bf330c5fe8f7da73117956c9f29ea6771f80cfea4658ca422b47bec6a7ea0a06d209cc8a8aeb4c81c68e6ed6aa1bcdda3453207e32efcb974589aff889543087c384d618d70135485f607b89b0b3ff838eb3c40b283f4487ddee094a5e8dd3f4555c6f7789f1f301091a33364d58dc18236686b0c8030f5a7e9196cdd8e7f400000000000000000000000000000000000a0e151b222a303a', + '0xa72c80462ac2c4bb906a251e1614023a06691d8b92881746f571ea1c9d95903ef5b0ca21dca31468b72beca3d9c706ad1907b28425530a31ab984d46046346eb1fc5bf8853799942a7a4cc3d9843a9bb9d226f1affc433a2de5f3e16b86d4b193d62d849e6e1e3784351533dbb19ef0051c0b86d0426edc39a08877efa250a165d43a9fe97749b3372c779cef0145ac7ce4c60d89df9724d2685124371f871dc4ec510c1f27642da4f00a47b26791e79fa3cb910605bc51b1d5e86e11e02030178ec2e30929cf11925081f3930ceae996f9a711f8111a6d0634762efbebd6dce173c1d22be60ee0a37a886a76583eb3f568bd333f30b7424190d5ea4be0344c112b61e8ecfbc34aeb6a481e94d45ab1940e8d9eb17e23fd0941e62d6017c1012801d115cd950a22a0a334fd9738234bfd71c7119fc839db4e592bc10de4d30fb26fdeb39341c8142ccdcdb74e784a57f6b1d61e58ab632b19f3d2cc9d3943d1d6984bf6879ea9bd8f6e7cc224b7063ba2774a5b93bf7963cfcabedafa3974f6e9bd297b133286b294c1323acbf4f209cbb39d7f06db1d2dbd2585b9bf2af2f3aae262372008233664589abd83bc6bb3246317eec920cc712ea0c82bfcc01b052345a772872d1fcb98b9f9f140d673c1c85cef61bbacb9ea82b8987d562a8cbe0efe8414959bd6408796ba01e1fe1a416e158cb459786a9afd507def75dfc62f24e3e85228261e34b0bf81cbff0b3a478425b78568f3d6c6709cf8042e4e429bc4a3710be57892236459d934083b69a9abeaa9295cd7c9b49c4ba27ce401aa9f1ea2837d36430ca1be3a3ce14d3a72cfde0da427944dbdf613a98e1b3b08dcfd9d97d09d437491071025d96ce7a5bc08336a1096485460f6699b5c3d4873d021830d1d8ed9217eb46b3dde18f2687cc66733641abce006d255a2574d70a3196b40ba3618558624e96e59b6a3dd4a926783ab8588c86a773bcb4f77b85fd3319bef42c34dc32159683b4dd0a02c0f4bd47e136a81db8d3ebaf1accf8a9dcc3a00810d309414b2f193d560776fdb85cc1d512f92668fa361fcad15b282a5c8e893f8c1ed5c71d743938cee8a01e83bad8af29a327d18b0518c29dab6f490a7ac040e7232f13c1334fb145211b3ce99ee7dc8aae4e414ec47049ecd663cd1c5dd93833fcf01ba77bbbb8b7c1436a10d3a60e3da8b0cb42af9b3e89f15a966f4b4f5e112660ff4a844fe54797fb509b4d38f4ed41ca234a591bbee6a99b7752fc5577ad04375f6c790b7a3bc473763b6221d189db2c206cc04325d475e406d0f69f3c88f8b944db6143ce2fda2168f98fc14a025163ba68750b1545c84570eb21f636eef5138759d7777201028fa4141766ae2399127ea067e3a577b071ad3ae6d2952a513e6ad3f63fbe528475542814fe2ea34eecd7d8a872ed9009a5d343f880c80bda9a39a39017b0955945335a45f6ad6da2d6e36d574148b0266ac78b76cf685cd6d0a3beb7a13374324729b053ac33059ad856f066799d46dc7911b552219ee189d7120269eece6b609bf4742d5681dffec38a1b0a3f9e31f721ced3d430177d2c481c5cd75d6e882ec88d42ab59b628875f1dab2393e9ca5aa1bd186f0e7e5f7fbca1e8f67f5135790dc3b912c9370e30748dafbb6cfda197b6622def66f84a8a79d807f847a7867849578702406f004639510bea8db3f9f02436fb13b96dc6b16cb69012422a7464f27b96a7425d006c4c954f9a285315de10f84a7146c4aef5906c8b48c547c1e694766412ea2436477f992e45f5046b04faf2c6719160a3c4fadc36cb6b6785de9d44fb02aa1ca770794932fa2ebccd5acdf4f3e8c99691a10a525a4b52ace4b71ad2366bfbcb9a4dd72af3172cbaa457dd2a627697a50eb9af17ffa6fc344f86318a2896e050f84e4db5fbeed7bf3953c3998463cd7afe25874271bf0037cc6be4f4c4ffe3f9ac39d2e32232fda1387674ad39dafeee02c75cf075fb0da8f6e72eec88b6ee6184a94d5253c0f3e5357d3a483bca6a595f594bdbdb0b89119d4948d5ef17d02678d7d82c11c83bb1207981bcaef0b283a1b113e2efbe16820851c9a2de3d88a39e1298232d3873107a14a7c7e19eb62268f85f9405d87b4cd85a5df027fb3b3ae2512c1810c261c56a45187dc392cef7bd1e9a77041c23f2e4415d3e5d11ea5831d1875d332d4e52168148050c25c11b68290cab2d2a3ba9cd58a9fe403c0566c3c51ec484272dd4631fc7a505e821353427ab308df0150220300415be117607e150cae1de82fb93ef0d8a863046b7f9f93ae0bd1dcd10e97448217c24ad3b25317fadc20e96a0e92d25e87f249e30ce3df74610146a222c97545c06ef47e15b433abdbf03b4bffb8abd5305b46cc3cb7c153bbc3b3349cbfcb6cc3f1e17ac8aea39f68d3631c9e12564d654985193f79c30acee258173a6d3dd56f64048aac29701ae3660424c760535c7da7943431f7ca0d0d17a1778e51a7e0fb059f11427e020a6b4554c8bd95c22663c9ca556f09583813402c561a3ab3cd6843cb71d2189466914a024be42cf721ebb30b31ca63bc712e24455870a664cedb5a74741d650940bc5adeca88048aede3faf9b871ae324065eb9cdede84c7b6356f9708f24d51d21f4eed6f25cb093a1a28a611143f80554663b98b012f34b9a140357343225fa5e997765cf53f203e86ea55ed4fbb00e1063d541ea1d6ef1d8cd8e912d731025840eb80f0e50b0a5b533871d6790d6448c0a7c7fd8e454483ed0b3aa931790f4a2bbd9ce6da506bc01f8c5404c2acb5cab5979d206bb2d51c5a590b381a3bd2d9e14b0afd6b490664ce5164552988a96d051b7dbce38ec8d0ee39212c3135eb8dba3bfd7848ca7460db61df1432e2c58bf4adef67dd8e31c1950402c7501bd36abad9680ceea97db91a3e7c2ce96557419482a88c3d0286ebead0cff186182b69a19b9896e11eb29143e9e1b8a94f6f174e7bf976030c1f659fc54ac06bbb230ca33bc176c25bf114d95a2267d3d3a0975f7d8097c73a412d3a1614b2d8df907464aacf76e3596b4db50d330766fb2f53b249d922ebcb582309072c125859ec5dbcfe6d06ca85a045906c867c07aa27554a900c1ef253ab7577ccba56dfdc058ee923cafacdb243e68eda9d482e9056f84ddf510f3882e5af9f8404a0df4ba69d4b41d142a393f1dbec9e73e6f3b6fcc4f0c59c122405d8ededee69502c64ee2ba0594dde2d5d151470893fbe7bf651a484425976b92fa19152e41e51af501c716efbacfeac8be1e9a21f378be76287ee5e9176ef7872cc34d566c67c6dc180918c2996b92081915e1a034f29dc1a0e2ec27b83e67bd46f416b9d78874da99615de9b16d8f8df94b4756829502ad0ed8ef36972d519da7ae9b41a9b19d732d76d81a2c7fabffdd517738bb674d4f8fce95225c6e87c87b1319eca554bea4f4268db22f087cff5b6e344b6e51f06acf78471db51158a0132a8da0fb157b08fc963e07cbdd6d5e8f6b7f4f2ec8d57c40c8cb63f28a6a1a4e346749cf8927a5bb8233fc3971566501b9ca78248d225d553788ce2592f99f1f74933d9a0899bf591618f533b3d93676eae047a5e31069fe39ad460c852741f60bd518d245f314e3c2a23ee0611d0dc40d618214c00b1d197e0a490e9c9849bb5243ac9e4845fa7a777cf7c7f0b5a8a9bc34a8323b615568fc5bc4ed3debacc6727dad2fc5b498c438728a042b20d4b27a64df3b959dad45c206a7cb1f2e8906f910524cd122c5fcb5842dca066de486d93ef41f1b77a651a551f824fc017fc951dd253eb22f802853efe9c804803862cb5090da4b9617362e06438bb57523172665100e9214ea669cb6fe31b7f5285645c5eaac9eedc15100f65c0dc23265ad21d7cde8f04560143eeada1a21d377d512f274e28219617a77b4683b9bd99f058022e1c46b2f0a3d685b0ec5e1ed05fa2758f88386b1bcaf89de572648df3e7bb144bfdc4892f526ff3abe1e29ff7461053fc5fca681207a338fe128e9943f601cc0a39a21d11204f75b94a96509968dbee698497f7542f2c0f94cf783dbd6f6a288d27145a46065a1ded549d851aff2198e90398d19db272c3cb3fafe0e7d5025961275adbc6c7f8153d58b25a3dfbcc62dd5b4ae0b24f71f3ebbd09fae55ffc0e45c15be12e5cfe41addf9d2d73d258debed241be7be6e13fb0d6af1b996ec1096c1878a2723f623c5f89c3b95f9955d74a37d23a3b0f28351fa94a6dca95926f2036e9c2dfaddc6e3d072bc7aed30b274553f7443b191fb31b11dbb652942be3611f4f8e8ff6b0e3e821e4cdb95e3cdce4d11a6eb769bd3a439dde2c2f06fd8f30ff153e9763ddcbfcfda76fd0ab84c2ddf4e1eb27998ae0611851c7b9664759e6839673d4519e3d50ca65c8331a727d5332bbb3a0c31ff399e5c974c602cc2855cf59bb5c8dad81cc5b3f47339df9a37ef0c87e25d7ecc9d08cfba35136442e0a686664d627b3f56958796439aefa2812933bc8c7f2b5f0c3dee3f699e100d959e086e2ba51f9fdfd7b07b18796606f09cc505e1c92e0e5b6381bbe4c112c43f35e5a8583ae388ef38f824c1e49c1ef75ce610365777276522b09592d5b2f8fe4e4683e0f96853ee6b6c1291c2b984560d608ffd83bceef18c4a3172a13a98b7864e3b528d0c632a2ab0336b52636cb6ac6cb9e9cdda3a799bc88b07f6251cfecc14871951229978179bd6daa5721ceefb943e339008dee7362ab985318afe8d5ec5c1dfda9215837705dd29a337bda21397c0f7f7953606c4912583080ff215953935deb911c7639f1c7b3f3e0bf0d5bd9c921561d1ba51e47ea9b59971f243d400a572d56a0ac7f2ea826062d29d54067d62fd090bfe7a732b5eb8a7df4fbb5d61586db86f0bb2fc45540556b19dbf5f2c45323aa87652b5f47b15820d832392d2ef1ae965c14fa77333eb99ba863332e40904d6c573fad4beb1ec8ec25d8daf614cabe127015675c231fcde49f2e854fe326abd12071cf3f7a4b4ec83a36e0bbb621feada966d89dcd506ef91196d9f62cdeb132c1cfea1b3c6f95b07e3037c75bfe8bbe3d6f41e5177248e0260b38e03bc9106bfa60ef9c2e31c49bffd1dcd90f5c2d8369d819eec4348631f4c95296deb42ce24e41f076d2a725ed72528f746855104bcb0a30f23ae23d20ca5fc0b1c0c77cffc770e5c93df832eb7514f5481feffec4cf0e3006184de1913291b6425bf3c63e3222435eca7aa24933d3b55d7e01cac6db3b954c6c9a372a43ac98944ab6548cc44813d2dd9ade740dc9244cc37dc25b48a3e6266e128e92a9e8d53d404d8a2f388c4d0f8899c0b94dd0df3b988d5847570f3d671ef508295c8e089d801ea21bd6c0a775460e3d8cbce0633cb30ccebc787a97c1f26e1ce9fb73349fb3e474aeefae4a255cf36a8efca02f0fafa8e0eee3f3ed9b78b3309d2d6a1bf8c4034fa845a19ac7e86ed199495359b72f54053d38370829fef41faef2cb812e974ca6869db0c93dc62e884fceaf8ee837ea01dddc8a8f149fc6a8b2e0338d533968e4ebd89b75a0cb7a5fac2fa0e16c3343c97931187b3b4c8e1133daec009ec3e65772260c64affca973b640ab5060cb4fdc983b105f14928740ed6ec95e7825a70e4191896394eedfe486aa9c77a29d355eb8802d0856b7c4b9f230a8eeed605e43f72fcbdf7192052861a552c2cf1d8533039a84f9fc77afdb9d2c88b38184d40d6d50ed9e7823da53763235b4c2669237c7857be5e71dd170a4e0ef341de66dda9ac79df8c4aa8aee3e00bc5644586a40e415e8fb86e69e4905739e3d7b9540c82739be25be458df9296479fca33d75bbb9b4fbf7a7d7e64fd90bef65e9f32f40b6e5e37db1e410782b19de579599e769d469ab6a4dc0d6a8e2a4842196fee2fd1203444e7e2fb4fb5eaebd6b84803febad33ec48a7db89670c6df982c52f16241c0a36420c0eda485921db74d8ba4ae091e1cb9d33f170cc1687bc544e2cd605ed72a05697e7fe7d0383745875365f970ba58e403ca806d2091378da9fe32c21c49cd60647a1978eadffe79e000e02da7030e0008801777f3e060b448d89a4678de9dc048531a83de01c3ccd77c9371005a3e8cfa82cde828f4b5fb89ce49006d80fb492cfc7301419d6285819a4ac369787ee81ae52bd4de2136ecfa6902a53218c4b37b51bd4e07c3ecfe92073fbe7d8771a17b3bf779773c322a20c40ec9e8e055b0974bdc91262c6bf0a3f32d9f36617623d6b61b563bb0da1417d1384af2a1c1b31929732a93f15166de9faf49a2045f20c754a9419c1ddcc1584a900c404166ded19e22160da71595f44d026594feaa2ffba2a4637ac1e20fb9a5197df7736cc5ca7131ab554f4634ae6e1e361985803a9252b9f2fe521553b75421539c28323e49637f949a19364b4d537785c2d80b8c95aeb8f71e3d4c579bcdd0d8fb33466569a305363b721d3181dfe1fb909eab000000000000000000000000000000000000000000000000000811172025292f32', + descriptor: + '0x010000', }; expect(json).toEqual(expectedJSON); }); diff --git a/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts index 209f200d..07f2b74a 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts @@ -154,7 +154,7 @@ test('[Invalid Array Input values]', () => { for (const txType of txTypes) { let tx = TransactionFactory.fromTxData({ type: txType }); if (signed) { - tx = tx.sign(hexToBytes('42'.repeat(48))); + tx = tx.sign(hexToBytes('010000' + '42'.repeat(48))); } const rawValues = tx.raw(); for (let x = 0; x < rawValues.length; x += 1) { @@ -218,7 +218,7 @@ test('[Invalid Access Lists]', () => { tx = TransactionFactory.fromTxData({ type: txType }); if (signed) { // eslint-disable-next-line @typescript-eslint/no-unsafe-call - tx = tx.sign(hexToBytes('42'.repeat(48))); + tx = tx.sign(hexToBytes('010000' + '42'.repeat(48))); } } // eslint-disable-next-line @typescript-eslint/no-unsafe-call diff --git a/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts b/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts index c3a1dc38..cc932b1b 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts @@ -25,7 +25,7 @@ const common = new Common({ }); const seed = hexToBytes( - 'd00fd401dc076020ab57f52becab30305bbfc5b3bd7334287c06cdb500c860c54e54b5bd2c5c137d601ef6e8a9e9fac8', + '010000d00fd401dc076020ab57f52becab30305bbfc5b3bd7334287c06cdb500c860c54e54b5bd2c5c137d601ef6e8a9e9fac8', ); const unsignedEIP1559Tx = FeeMarketEIP1559Transaction.fromTxData( diff --git a/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts index 2dd103d2..b604ea65 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts @@ -27,9 +27,9 @@ import { Chain, Common, Hardfork /* , uint8ArrayToBigInt */ } from '../../../src import type { AccessList } from '../../../src'; const seed = hexToBytes( - '0xec3077d539c7b333e596b9e6c0b5f5952d26469ab9a60d1fd54c329ef9959593850a2daf60369e434a7c55939f99e149', + '0x010000ec3077d539c7b333e596b9e6c0b5f5952d26469ab9a60d1fd54c329ef9959593850a2daf60369e434a7c55939f99e149', ); -const address = addressToBytes('Q20982e08c8b5b4d007e4f6c4a637033ce90aa352'); +const address = addressToBytes('Qe4d1cd51c8b113a12d6355e1bd39cce8998dabb0'); const common = new Common({ chain: Chain.Mainnet, @@ -94,6 +94,7 @@ describe('[FeeMarketEIP1559Transaction] -> EIP-2930 Compatibility', () => { 'value', 'publicKey', 'signature', + 'descriptor', ]; const cases = [ 10.1, diff --git a/packages/web3-qrl-accounts/test/unit/tx/types.ts b/packages/web3-qrl-accounts/test/unit/tx/types.ts index b04b0bdc..ac92217f 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/types.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/types.ts @@ -30,6 +30,7 @@ export interface TxData { publicKey: string; signature: string; + descriptor: string; } export type ForksData = { diff --git a/packages/web3-qrl/package.json b/packages/web3-qrl/package.json index e47d0253..3ffe538e 100644 --- a/packages/web3-qrl/package.json +++ b/packages/web3-qrl/package.json @@ -64,7 +64,7 @@ "typescript": "^4.7.4" }, "dependencies": { - "@theqrl/wallet.js": "^0.1.0", + "@theqrl/wallet.js": "file:../../../wallet.js", "@theqrl/web3-core": "^0.3.3", "@theqrl/web3-errors": "^0.3.3", "@theqrl/web3-net": "^0.3.3", diff --git a/packages/web3-qrl/src/schemas.ts b/packages/web3-qrl/src/schemas.ts index 1fb6e74b..4c79353e 100644 --- a/packages/web3-qrl/src/schemas.ts +++ b/packages/web3-qrl/src/schemas.ts @@ -141,6 +141,9 @@ export const transactionSchema = { signature: { format: 'bytes', }, + descriptor: { + format: 'bytes', + }, }, }; @@ -205,6 +208,9 @@ export const transactionInfoSchema = { signature: { format: 'bytes', }, + descriptor: { + format: 'bytes', + }, }, }; diff --git a/packages/web3-qrl/src/utils/transaction_builder.ts b/packages/web3-qrl/src/utils/transaction_builder.ts index 7473733f..1efbbd72 100644 --- a/packages/web3-qrl/src/utils/transaction_builder.ts +++ b/packages/web3-qrl/src/utils/transaction_builder.ts @@ -34,7 +34,6 @@ import { QRL_DATA_FORMAT, } from '@theqrl/web3-types'; import { Web3Context } from '@theqrl/web3-core'; -import { publicKeyToAddress } from '@theqrl/web3-qrl-accounts'; import { getId } from '@theqrl/web3-net'; import { isNullish, isNumber, isAddressString } from '@theqrl/web3-validator'; import { @@ -44,8 +43,7 @@ import { TransactionDataAndInputError, UnableToPopulateNonceError, } from '@theqrl/web3-errors'; -import { bytesToHex, format, hexToBytes } from '@theqrl/web3-utils'; -import { Dilithium } from '@theqrl/wallet.js'; +import { bytesToHex, format, toChecksumAddress } from '@theqrl/web3-utils'; import { NUMBER_DATA_FORMAT } from '../constants.js'; // eslint-disable-next-line import/no-cycle import { getChainId, getTransactionCount, estimateGas } from '../rpc_method_wrappers.js'; @@ -54,6 +52,7 @@ import { transactionSchema } from '../schemas.js'; import { InternalTransaction } from '../types.js'; // eslint-disable-next-line import/no-cycle import { getTransactionGasPricing } from './get_transaction_gas_pricing.js'; +import { newWalletFromExtendedSeed } from '@theqrl/wallet.js'; export const getTransactionFromOrToAttr = ( attr: 'from' | 'to', @@ -63,7 +62,7 @@ export const getTransactionFromOrToAttr = ( | TransactionWithFromLocalWalletIndex | TransactionWithToLocalWalletIndex | TransactionWithFromAndToLocalWalletIndex, - publicKey?: HexString | Uint8Array, + seed?: HexString | Uint8Array, ): Address | undefined => { if (transaction !== undefined && attr in transaction && transaction[attr] !== undefined) { if (typeof transaction[attr] === 'string' && isAddressString(transaction[attr] as string)) { @@ -90,7 +89,10 @@ export const getTransactionFromOrToAttr = ( } } if (attr === 'from') { - if (!isNullish(publicKey)) return publicKeyToAddress(publicKey); + if (!isNullish(seed)) { + const wallet = newWalletFromExtendedSeed(seed); + return toChecksumAddress(wallet.getAddressStr()); + } if (!isNullish(web3Context.defaultAccount)) return web3Context.defaultAccount; } @@ -139,20 +141,16 @@ export async function defaultTransactionBuilder(option ) as InternalTransaction; if (isNullish(populatedTransaction.from)) { - let publicKey; + let seed; if (!isNullish(options.seed)) { - const _seed = - typeof options.seed === 'string' ? hexToBytes(options.seed) : options.seed; - const buf = Buffer.from(_seed); - const d = new Dilithium(buf); - publicKey = d.getPK(); + seed = options.seed; } populatedTransaction.from = getTransactionFromOrToAttr( 'from', options.web3Context, undefined, - publicKey, + seed, ); } diff --git a/packages/web3-qrl/src/web3_qrl.ts b/packages/web3-qrl/src/web3_qrl.ts index 19e0f13e..0f1b1986 100644 --- a/packages/web3-qrl/src/web3_qrl.ts +++ b/packages/web3-qrl/src/web3_qrl.ts @@ -470,7 +470,8 @@ export class Web3QRL extends Web3Context { diff --git a/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts index be06e87d..ba398dc3 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts @@ -69,6 +69,7 @@ describe('Web3QRL.signTransaction', () => { expect(response.raw).toMatch(/0[xX][0-9a-fA-F]+/); expect(response.tx.publicKey).toMatch(/0[xX][0-9a-fA-F]{64}/); expect(response.tx.signature).toMatch(/0[xX][0-9a-fA-F]{64}/); + expect(response.tx.descriptor).toMatch(/0[xX][0-9a-fA-F]{6}/); }); it('should sign a contract deployment', async () => { @@ -103,5 +104,6 @@ describe('Web3QRL.signTransaction', () => { expect(response.raw).toMatch(/0[xX][0-9a-fA-F]+/); expect(response.tx.publicKey).toMatch(/0[xX][0-9a-fA-F]{64}/); expect(response.tx.signature).toMatch(/0[xX][0-9a-fA-F]{64}/); + expect(response.tx.descriptor).toMatch(/0[xX][0-9a-fA-F]{6}/); }); }); diff --git a/packages/web3-qrl/test/unit/default_transaction_builder.test.ts b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts index c93f261a..186bd461 100644 --- a/packages/web3-qrl/test/unit/default_transaction_builder.test.ts +++ b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts @@ -41,7 +41,7 @@ jest.mock('@theqrl/web3-net', () => ({ })); describe('defaultTransactionBuilder', () => { - const expectedFrom = 'Q206E7Ec6854337F059BF6b637ac7cECd2F3D1933'; + const expectedFrom = 'Q6e66597715136a50f44a01EcC6F15e6F611c1347'; const expectedNonce = '0x42'; const expectedGas = BigInt(21000); const expectedGasLimit = expectedGas; @@ -120,7 +120,7 @@ describe('defaultTransactionBuilder', () => { transaction: input, web3Context, // VALID_QRL_BASE_TYPES.HexString, - // '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa', + // '0x32c89a84a46859934c42dec330511fd3642e98f00575e74a44c486c8d112dbf19d7129cd61d3e6bd72c4f2f66e5556f3', // overrideFunction, fillGasPrice: true, }); @@ -137,7 +137,7 @@ describe('defaultTransactionBuilder', () => { const result = await defaultTransactionBuilder({ transaction: input, web3Context, - seed: '0x71e121bdd81cdae8da5a9733bb6c1cd5a43feb8a2cc754a4aeb797cbc2054626e77c05ddad0182ef962233ca6c5906c6', + seed: '0x01000071e121bdd81cdae8da5a9733bb6c1cd5a43feb8a2cc754a4aeb797cbc2054626e77c05ddad0182ef962233ca6c5906c6', fillGasPrice: true, }); expect(result.from).toBe(expectedFrom); diff --git a/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts b/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts index aa9ec8f2..7ef1d0f8 100644 --- a/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts +++ b/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts @@ -34,7 +34,7 @@ describe('prepareTransactionForSigning', () => { describe('should return an web3-utils/tx instance with expected properties', () => { it.each(validTransactions)( - 'mockBlock: %s\nexpectedTransaction: %s\nexpectedSeed: %s\nexpectedAddress: %s\nexpectedRlpEncodedTransaction: %s\nexpectedTransactionHash: %s\nexpectedMessageToSign: %s\nexpectedPublicKey: %s\nexpectedSignature: %s', + 'mockBlock: %s\nexpectedTransaction: %s\nexpectedSeed: %s\nexpectedAddress: %s\nexpectedRlpEncodedTransaction: %s\nexpectedTransactionHash: %s\nexpectedMessageToSign: %s\nexpectedPublicKey: %s\nexpectedSignature: %s\nexpectedDescriptor: %s', async ( mockBlock, expectedTransaction, @@ -45,6 +45,7 @@ describe('prepareTransactionForSigning', () => { expectedMessageToSign, expectedPublicKey, expectedSignature, + expectedDescriptor, ) => { // (i.e. requestManager, blockNumber, hydrated params), but that doesn't matter for the test jest.spyOn(qrlRpcMethods, 'estimateGas').mockImplementation( @@ -80,18 +81,23 @@ describe('prepareTransactionForSigning', () => { expect(transactionHash).toBe(expectedTransactionHash); // should be able to obtain expectedMessageToSign - const messageToSign = bytesToHex(signedTransaction.getMessageToSign()); + const desc = signedTransaction.descriptor !== undefined ? signedTransaction.descriptor : Uint8Array.from([]); + const messageToSign = bytesToHex(signedTransaction.getMessageToSign(desc)); expect(messageToSign).toBe(expectedMessageToSign); - // should have expected public key and signature + // should have expected public key, signature and descriptor const publicKey = !isNullish(signedTransaction.publicKey) ? bytesToHex(signedTransaction.publicKey) : ''; const signature = !isNullish(signedTransaction.signature) ? bytesToHex(signedTransaction.signature) : ''; + const descriptor = !isNullish(signedTransaction.descriptor) + ? bytesToHex(signedTransaction.descriptor) + : ''; expect(publicKey).toBe(expectedPublicKey); expect(signature).toBe(expectedSignature); + expect(descriptor).toBe(expectedDescriptor); }, ); }); diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts index 5c16226e..cd8bc80a 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts @@ -36,6 +36,7 @@ const transaction: TransactionCall = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + descriptor: '0x010000', }; /** diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts index 49ceb154..b4f39352 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts @@ -36,6 +36,7 @@ const transaction: Transaction = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + descriptor: '0x010000', }; /** diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts index f3beb4d0..6630e1c0 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts @@ -57,6 +57,7 @@ const hydratedTransaction: TransactionInfo = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + descriptor: '0x010000', type: '0x2', }; export const mockRpcResponseHydrated: Block = { diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts index 1443968d..6152ea63 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts @@ -35,6 +35,7 @@ const transaction: Transaction = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + descriptor: '0x010000', }; export const mockRpcResponse: Transaction[] = [transaction, transaction, transaction]; diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts index 7c5cec09..42a45010 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts @@ -34,6 +34,7 @@ export const mockRpcResponse: TransactionInfo = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + descriptor: '0x010000', to: 'Q7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0xc8', type: '0x2', diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts index a85024ea..021e81e0 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts @@ -36,6 +36,7 @@ export const mockRpcResponse: Transaction = { '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', + descriptor: '0x010000', }; /** diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts index 7526a953..a0992535 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts @@ -43,7 +43,7 @@ export const expectedTransactionReceipt: TransactionReceipt = { * - signedTransaction */ const signedTransaction = - '0x02f91c3a820539800202825208942099d76d9a34cdd2694c4dc703930a6fbbc1d4020180c0b90a20da218daf9d5457bee0e2381250f7ad3159e8a243fbf90e02c2802e1722cee954758875aa00c57adda2736030ea7fd293367c202298d7125f4ca8bd83d0ee8e8805f4a9f2d3915d507a581d59a80491575ed69ed994a6650ecf8902cb056a6d5f8b59a46905ab1c58094c2a5a388de306486dbc23bf268ffa272e010182e8e9e23c07f55a866e59195333a353aeddf3cd51c22f955c21977d3ee9e4ee6557f30edb5d2517c04f834f6825a7a162323cb8b679cb5d2089190aa3e3c486b4b9895987b47e1b475ccc4f25969bc95ac24d2fb3cfcda7330ff9f949ac06a2b7a7293ee8463dc38a9c55d4bb5d8f4904836c29764931b0c3f4d1257871b132b08ae249fb40b61bb75360298f15345d4868b7aa4f06c485b703f6db84d2d5e1e70412928d6c6454a2a019540c518243e18e17404dfd781a576a34e0f297bc4fa69532e717cb9cadc1feafe4c6a99e31cde842dc05fd19d8c7131d530e9ab22b1c621e9d4a2ffd444376f0e0847c0523f56f345669fe88bb28492ed23dc822f83be85eb035695eceb08fb24fab3fb6cd54ee5972d68664af9d3bb4213da1ee11e95070eb45d033777eccf9efe54f2f23bdd0fd64cd0b4bd311d941f108fa13166505944de90e25fe50d4d4be8118d316994b53bacb96c92a4f4048e10fb01d7a8e89d7d0ba37f58ba37e1c399fd1d5c2fd0ba1d30231432a0592d0e06b0a18f0decaa3ef39e88c6d70b42bcc80e28f633c99a89e411d300ff78c7bc93f910906bc9d9202f4ce3b9a1c37432b4df23e053297f81b965ca0b1f447e323a2e66c9ffb75ab1c8daa2a9b239bd87bed1990f4dbf9747005950aa73b6a74da306342a63dfb67d5042f16814f08bd3fda8b572e501ce0a03111f93c0c1d3655634435f1ffc3fc000bf133c926bc336304eea648a7a1c7ebdd65fa593d5c11990878b385499a394584702fe309073aa15420e0d0980165ae7213dae40890babb2bbd3f7abf648c9dc74feba7c0ec8f0525bf5744744b9f5b28f6ac7f234e4f425f4bbafb69714abd911dd0514fd53039c13f72b1074f6c5a229f9172628747079193592bf74ac9049c2aed7823e9522ffeffb7d84887808a5e0814407ebbf514301fb015a3f0fa0c79d3fea883901f3bfc493569a239156f29364a1b43aeb4c3dc6a975ba517e1a6e8ca66b60e4de5326d2d65d95783b050546c73edc37175bf2dac38109c4cc6711c4f6ce4b7af5313e1967161841c11cbbd4f998d5d6b6b1135c9c75616ec88393300c199a2d602f6b048302258c6bf8960434ba6d3d6108a9d8fe17569c1454aedaa7b383975f3ecf1565df1e007744b9474111756a9b4471475dac9e55bb5eb1df67329aa077c14bb8aebac457ad06744e6b67238e1416e14a1c8c84d7981bb42b41562b10b9ba86809f47d19bb2c6a8a9f88559a9a73fecc7f95d781501095fd0f7493ecb020b35b613e2c91db655a9c85ae893e4da69e1ad833fb40c285f09992dbb6b18f154b198af34e3088928102e618722412934ff0bff977d9195d3eb520f8edb7cb08ffc9eeb0f60d02d8272652e456fdd28392acb41ce12fadc83c70dd742abd2015805f2b3713995d1d99050f08f9f88366cf5870b827dadc5bd20fdeacd672df857330be4e1b96838a0d8e97859fd7127d355e51ff9a5e43697b3cedaa1d62dd3aabe28fef97eae5cfec98399bc66f7a34616f95dcebf7eb6563a9115c13c46a80d564e669af08ce600ba0fec9f15a9422b1da6c3995cbff0212626c118ddf77721d84c938200bc9618e7234e3137053eb16620942e9632684e73163f0daad57327999e800c226a09c7083581e3b647cbd61e42a986ecb52f8e64e4d3efdb3fb942ebf2d1638a5c567115e6d33436e2f515e15b903e727d22c1945c968fd1ba1d87093e7768b75cd6033f2826580e85bd7c96477a62b1956a8f7aaba88d7ae095812acc9b9c33a477f3f920e49c7443bba90561b7804f6fe2bba598103507c61365bc11aea34f9f84c0e3a902eb6df4c292aead67699a63c1f5a4b87beb14b2e45537841902764b459b90ba378aadfdcd125deb953413fec2e3e1e3b4f6e435ae84cc7951b996a03db7e49cd1ddeda2041c99eff5dc9c85ffa383852ba9f9dde80cfe8c0353a6faa24a5ae307b8bd863c14f6a9b5b75daf8534118131b3b32b8239f51f6d5123ced24e9bd251d208ca40fa97f9e47fa79f25ede38280a5206c10281a8d4a8459fb0fe9dece2cc61f1ced84e7b5744e59312e32de10c82be7f81264d3a775a04913ce7bb1f28c25037f4b3b2ad5790b3667c9e309234cd161c36f7a71a0145ff0a7c9c1b9bed601b4971696c1979ac3ae2418a842e50c33ed45fddd0e319e48f72583cb90a4b08a57983f63918352cbc6f0a6d345c845f0f2cfbebc25cef454dfcdde04966e63e37d0b2060a12bdedfe3758c5f38a3c7250271ce9dded0e2c37304bbf668add831f76902d42041b9e7a2d77e9e912980be070a0dd84f3523055a86d84b7d92282974ec8f411e26aa88286b6a1314ea9a0b3d3ab100947770238d6a714d0e2ac9a1b7b3cff7e54c33d8bf7a40972418dc7fb205d7c29a8ad0a269eb9f0874e1ae2d37485e9fac92bce8c267d2feaa63f1fe186ae0cd25b626246b2db984941fa6eeb2b2ab14a56aaf15da2458b591b4862173a917a404725b9fee25539b948b2e2c9c5f2a251e9f88cd301715aa221e710228a0e1c691e0ea91414d7ddc6cbe76b572dd904b8107e4472e5e0d694ec8e4cf29c79ca83206c9a8fcb8e77a1157b4f7c9a68ab41520b5e2c0c9af6d11109c259ab5dc8d1f87bc83ebeb4a8845519833e42883ad7b16752b2ffbdc53ececca688b97b431a33d4223dcc32be985ea66f255ae44df027713ae10120e3bcc2eac966d974cc6e69449e959d7eb783855f975d36a8a5d5889db3137b338cabba16284d87965493bb07cc5639bb017499d5a59049a65fd5a0a58568c8c93677491b45b3099dd3ab9527dcb9455d42e7c22278dd800187a8fa016ad0ae3a5737f5ac6fbec043576cf5298150daba87066fb20ee074dfbfb330f4d9321834b35b43e9448997b254e78e1f2c5a4d757e4dc5bfee53dedcc863c539273d7135b063b724bc0edf153fd1f2828866801673c068442b38bcf45ea3bc006b84aaef5e8cc1de1d00e10484b3a59546c4b729595bde6a7facb5e1f6a041dd52307ec9ca2d1ca891eca2e2f0803ddac1698d6cc07d4ee381c06e9d232676c1acfa03287000c44afdf6c1613fa3ae499acd852f8a43dee5f2f790ab6b56a3010d6f35b6d0d3d185540f21593b8d8e75c4938192706ae087555ebc1e48882f1ee46af8256964d7fd4fb9bb6ffa60f79036b17e46d7f210c25fb1690a748dcf33ae74b1f44290fe1a46b87333def13630cc17e7e1290593775b043f817e603675dd16ceb159b4ee6d43799c2ae23984465e0942a64e30da1271d5e6194585d3ecdfe2302d4cae4ca388a516184e333f0d87103ab6585a955be8c7708c338fe1775b04486721b008cf99fd1f6d1a0d1027d975b21086fd42d4037f7979eac9e22108432401aff3443c5aec62e5a7c44bcda3d0ccc0e1b56c611f69b84500d2649f852190eedd1eb9a121d476dd26f81c6a52859c1de36066e8ce44a9f2edf94717b0fe445caddbb911f3d68cef1033afcbb73dbd19c0648e7bf246d465195c784dc0ae03f6e3d1e944fdba977b0e1914a5a4d2fb57448d6ee139bbd915f68c0fa4bb3e1b98b135527c3f529d29ad8e1caa47b41359e744be0fa06b89a8067495665d59dd699f0d7a2e67aec1312c57a97a493b922c9a166d19b1d29f85b629292c415666e6cd64252279e3bcdb0b57e8e1df6ff0a49c5aeb57ec196cfc1012b078887e0ce37a0377d19231afa49ca91b6344c780b080e8cc520bb76739460f13fc642e560d751c3e26e7c7b27213a97d90a0abde0beb9e602fa38dd0f42eb4a3eccf98c8e39bbeb9f774ccd5a1df516263bc6ff0fbaa6bfbf3f8909dbbecfbf7654ae030e8483570b3dc73d06b9831f6ebcaf24d46e67be1e41f6b9e3d3bd3a31a6016f0b242227b7c9ee334d70ab95ee744e49a17943a87bfb3546d7e50ed7be64d2d2ccec170a9089c1bc14bbde8c1c3057980f1f13abf9423fc07c207038cbe6ac166977d0d1450056405db4d69c8f61bbc4541c89899e4c9a3630a0d59040abdc5870be466625ade2a685eade09a5c3f67ceada586787c0a04a5e7e10a5102a5de874a3089559accc84605a7a955053c3a94cb0f499e125aef4c2602e0ee3fa3e5c9b9dcba82318897dd8ff8e69be163ed443486911c5abaa699adbe757a3cdc9e80e5930e034fd68f20d6a90e2425652bed8bc3519a4e4fb8206bcf47cb96f635e246c74e23546057c2582de0237481cfe2d6a89f1d393d7facf1ab9cf0fe63599d0b279faefa89fd439fc86bef471f13c2d5fe057125b6d0fd5b9e81de5451efd4a61bdf4e910f60d3c750f846f3151ec57f83eee0fc21a3676d77ad92188ce97f2cccfffb3edc4c958244707d42326254eda2cbfbd235d912eaaea036bc2e9c9fcd75797060ef3750b9851ced53ce8015df6e637bc24610d73da7ef1e0f61573abe75e543fa009d3939fa2deb773afe93e000f54a1cc8f930e4325498be02e08812ba5704004c28926ce98e9dfff49bfd9c3d92b49da7ec88466c2edc6f8619ec133aeca8b4e6bf4a88659af341b6b4be50f7e42c9bfba869424dece70da14920482da54448302991726408514a566a07ae71b9393b14f4460d135b3cca1ce1752da71602c286df0a94fec7fc6660594ff942dc3440df214b570986be6cdbdd6bc6fb51888a65b7ca074f229e81ee1bd41aa082b76b0613140e897712513447508e503b268db1305305887bf730f38e6569bdca46da37b54d4d29ec7144d272791a66783020c5d6a0b8c09940a1af4574e3aff11bc5ea50f4357b1e56566bcc04d7918bc65f71f82d2860e74371bb351812f913d603103813961a54191670a7f6665ecf0cbe43aadd51b18ccd4e54d991ef507dbda7975c28ba8b49c26c6d3983af577f2858b9303e36130f05b1e684c2121b2059d5a9b1d03dcdb4f23eecd633bbd1bbe2bae0addaf8dcdafc432f61ba68f24b63cadd4b45456340c8e7b63815c3ec95cdae1fd9668003557f1e3d723cbf67a5df046d84b5c4e23936e26bffeac7817a65cc997a3c342f3ad7794a820864673ff5e17260495975d8e1737d75f4d73de241eaa19c9cee8faf062762d9f12507226076031216a17d690a19e2829268b665c94b4ba5f6a4217dc11657285a741cb204e6a12b7233fa590ab0819b90a6f466db9f712e2138562cd83b4a70321f5385fd6b631a8207c4a0250cefa794e93ed74b1bd7444d94043c83b8a4e0894e6828fbfa09db73fcc27338c72066019ff49e4b66ed61b73fa25499e4448f931b46b567be00510c05919b65f32edcca42a4963a5d6a8883d36bd5ed0a9c4ed006e43df655b7e03ca988d8efb25ad9b15036e4a630a12b73c45d0755029f55bb4cdce452db1e3de061a222e125fb1a6510504d001b04851bceb666a16a420b03dce73f523d70a481332898637d5644f77635101c29a254dc5c4696f950de4fa03bda4dc7e09656d3727f90ff0b153b87b39e2b255b762f17f7d34eb32e05247849782553791b90ddb6c1740b04d1fe762c6d4a240ee2c53db968e44bf0c0c0e7547fa25a09810f487384de1aa161b1614559aea94147e95f25f27a0796e3649fd878677e5cad8d1f8a75e0ac969c77c85ad3742fb9fc1e5ec494cacda639ff4ccdb32fb19ba79f096a64ca92a7d0c59213f6021fe11eadef52d5b1b28bf3d552de5917eef3aec3485db0e195610c3c250ce01890361ef26c284b6aebab8c34e01d3d4941d3cad656f69061bc80bfb36d4f0884839e7b4a524ecaac9e07c6ee110922488c220aef9087bab9aa7388bf277475c425ebe13784ca04862c90349e906c8e9cbfca2f870df27f93d245f03c76baaaabe232f38f656a31f9a84ebd10a59fda08e5f6a34de59daeab8f188072613eb0f274bc3b40c0deeff11c39bd538fb47c4e77270cb947d2bacadb19a2e6123c3f86af191496d7a45f144c11199c43b02124b6a34df291ba964516e238af6376cd44e32b0fcc4dc6d36a716dacf35b4a4dece7e4d04941b66aa30331331768028fd8cfe9cbb461f00f58ecd8ee83a62ecb8803557b7374177c37f8792e9927101328b60635d25972114ce6e1cab4d1e7a817165f20e14307c1b0d6d5a4297eff1f74c743086be8b91108f5d9e98398094e7361378b85f70f7fbca85484601282115d9586672abd4cfcba622b955484329389959a279c5f1bba35f2040d523b2357537bdf2d63a1c7681a59a9926b223e0ff077908f59939725f95d566051e66f92358962108344828755207bc936cb2625463c02d622f3793f90731785ea29902fad28be9290770fa80a67159e759ef488c9f7b9709be7da784e4aea83bf69b293b431968e5d7bffb474d67d6659b672dc205895292d29e7dcde90cc885901b91cbf3910fc2ef18bf5ca686924517c9fc7772ff9f73081a7bc1cf0f28da072910f13d0935b3f9e345441b92250c110805994f2a018245a6a5a7d48580b6cf9706520eed411b09487d003f6fd00de793b8a5758634606bee4f796b37fa360393993892af3e44d595cf658bb2dfc1b9fc5f3acb3670d3c1449963778b11fef3cf088380dd16a4969939c25dccae65a2523f80e3f5e7a841b0b5281d8fcfb4d4aabbfc8a44a8905610c6a74b2ba10eff96197de2afc0a3efb70dd2e15696974a2807a0441e5d68d04b15533c023a5f22eb7d5859fb174d6e6a8aa0fcfbb5a0bd21bfc9da49cb92a848e42b3b743f812ca04e5d0eddbc20d96de12b40edccf57bb273f7dd82c746980592a659b6ce26a67b90b74ca4b34a48c24a57b5bcabfce1effc4f6ae53454debe4577abc518d2d26cc3437a3685ec9d7f15390c23e4425c8a6b93e14ae57e1f2486dcafbe92d68df48e7ed10d9eb9127e3d7db8430fd49d0721ab67723170fa19902c499fa194bfb6700874c93d29abe20cc34168ce7948e4105698cc6049799da6799029b8bb299616ce014dc647ac3e587adba630c8609a07c357954e163bb276663a93a944bd1f357aa97d756e6f4dbac8b42b4004b7206e155c50ea9fd112630dc2df19388bb90fc84f30af63035ce17ef485d28900ba509d8ae38878161a841e146863818281e03f829a830c09c36ef4a3adbc4477ce98b05cd36c894d17dbd7d4cea0600ac24fb318c462e2df03750e41a8b96fe9e3bfc7a3da276121d2818736b3e756194238eed57a05414838e5cd757f2f46f34f851af8bef1e206137e797e5bf6398e1c4849a015c8d5d123412c16e37d3d8d73ae52469a4d78fd2302c9943d745eb4ef65cac6abbb3d7e7a874ee047b5d77b0993744645a06a3b391d47b9fe21ea108bfe32e5271a35a59d4e727fa5f3034ffbc96e4bd9f1f93cb63c507758122cbb6a4d7ad313bd2cbfa47d3bc0747c1c2236f08e204b9bdb80999a1da8ccc88f82c93aea607e09dd97a93e248bf152d24c708cdde6ede7ef41b6c8c9e81de4cbebad6376b6b2fe34b84143e88b1cd0d3a701360dfdc2dc78658723758122f3cb4ba40c3dcf3fb2574c421c6f998b441fa4b7e2ffcb842a4b7767697b4833470d12dc10369641cf3629de17d7242924ec7394e1accfefec89f9ad32060d5028c679484a9bf3ee6141228e7dff1941e33df98e79a33aede81f0941570b08ab35378201024b8e519719b088a3a9cf6f77d934d7afd9f69988f9f39213d31a23262896b2e2dddbfb05e48de5df2b7c99bec90c2d1262a5e7594014977ad35a201258373176f29e9ef8f282388680c621c5a31c1c992d4f2c0ba3757a0eab337fd7aa35ad21cb59ae7b5a0abffcb37678deedc06044f30429b7067d82bae66fedfe3f395fe7bc5dbcd5a7d042f8ed839ab8e344fdc6fac60e0aac62ed7cbf221c430eff956ac84780ef6038b31feb7ed04d8585b4d0a7b9fc553dfe02a5820b2e49be98019dfccebb85888a60dded38d323631cfffc70830e82cde0e805bc2d670a0ceb40ffd0f55471f1c66cb35d46d9903deb0a0e72fbb6dbd93e0ebb4749bc10c2aa5bd1f3358f7c71623ec60152cb4c5b0209c68c048d7ad8110ab2f7d22c5485dbdac13da3d4f2e5f5afdffba4f3d720ec15cec041426f29ca98b860675bd95113bbae022c052a6ee8ffd19c2b422a02d871e9a459a95d45e68cbfb034ec051a1efe4db5f943377c56449685d60bbb5d78088a01aac02a306ce54fa92824a3848fee511f4e1de0f8b67d7fd11824cc6f54cd5bd01b7c928c706ddec2c0c360e68d73a003ffae49044b736967afd8e08c9de21ab51969fbd619f8c722d26bd3669ca4c7ed6f67b481924f65ddb5037a63eac9d0db83c0d1000bc731c9c7ba4b58065c258b1a0aeecf6e3da8f8559e79206dc1d2c868e09b5a8fe4ed8bd99069d232d049bbc36c699832df5a85aa9ba5841f8d4bd2d9f9794f1b5ada397b820f78cf98fbddb199de6cf803e9b23d7706d0f07d89b6eab09114c8a98adc7c789a713cb3093ba67448d856d7d82b4d59ff2bd370a502ab1df01defb62e68b80c0e422a7221f19e56812f5cfd2c3c988407db73eea71386467b5301412eb80c6296d3c3ecb391e9d77eace5d918c835a1782deddd0b6045176beb319a097d84c8e45e8e85d0009d6674b92e60f928a57e45888efa0b80766348a5ea67518444756d857418e6513effdb5daa30ba44a8422fc4b2c23b2eeec512e68828c6f0b394b77c732a6cd8fbc1f41c78f055ec669b583dac718b5f8c933ce15ac0e993445b0dfcd145ec10066b945d05cdb9af1138b5086073c85ec129dbb672e11cbf1531c6c31c56d85d0a15db435e5249ad2e45d50e2975144d4fdded73a7a42849d4279ede9e9ae99766df5493c2a7e3d6c69dea9cf5b0431d3bf2a808ee25cc27a35bd95a92ef274863e0f4e83d08a8153b0044dbaff7ccdaea4aaa789b7d8a7e18b27725d78cb46f40ecdbe76ac647658802f492daed9cfe577c16a258df36cf40cfac43bf85413a1f093a3328269c727c76d1ec3d696414231047651f681b8e7eeb1abaf5774d9f54c1d0c8a025e0b51e70fae8ea4a4c7bbd76e6a50a4657cce13e7935b725ffdede8c2a64cfdd1f1c788e9d72a7db73b2d6cc887b7103eb209db9ea23f7d609087ce2400e9515edf2beaee79a699bfa8bf2455d421549de2bb2ea67365733157d0f8992913bbc7c5584a1975ce695d026b93ca757c860b06bbf2d006f0f86731babf15a154768bd859a76e94f96c2b337aed28052e53ef708ac94f8eef60722beb31f36b57419284462292906d4d699cad1d478dbc99abfb294c0126f8d3e9f0fff5d7231f95de1123c2e16d392f82559d814a7ef2e6f83385464d01a689a2e0e9ffe499fe6fcf06dbcf28002d1a309504529ea2c02f82c7037c7998c0edef2c8fe77e95bc0cecef4439b43136f727d51beecfe2f04b67e54a3c00f4a5d90bc43e4d807d22b3162594c3c9e31ab03cd1b7becd1277256e66a72c473c24bd2e21e3f4d67a1dd1b85a8c9b055d8874388ee62701ff840fd802e464b960d1d03945573ee26d930c47c133aefc8d556a4e3ef033cf09e6ed6b3cd8e2cd7c23d10b0a73607114e5825cea6328b96d4116b7f0ba24659a091342c397bd50e4fc8e4fbb737deeaae3bebebd1a5a0275692e32502897a576c6b5b2912d77b5e251d750c5aa8c468d91fefaa364dea2f85f87dbc0888a8ae3395debe46686d1ae1efb682ed936edab038bd11a41d4805b574b5dcb2a33d2a9416de4e183a527ebeeaf7bafb7863501c02a6050c3d0ae6cde35b1d4623c674253b980292f6094bb80216e6a44a364832f24cdbbef1a03ff9cf7aca8de622497aac82e928c017d59f78f9f271b68ca7553ac2b3a45a0ef483ad0ec731fedcf8ec045850fe544dfc083be5b5573c5b0e28fe6ac2800c82ada1a55888f3fdcc96318393e66849fa0033468b5c2d2f4284f859bd5df1c215253d6ddec020f1e2b2d42b0b3b4e5171c252e3a43456a9cd0e3e913162c4b73a2b1c4fe3a629ce100000000000000000000000000070e141b25313a3e'; + '0x02f91c5e820539800202825208942099d76d9a34cdd2694c4dc703930a6fbbc1d4020180c0b90a20f4cb73614efb10dabc67cab12a5ae183a93ddaaf774891a9137f566755d9412a361fdb7e5046cda9b180b4557b6c84c3883258c52f6832db35a401117fb3515e7283057b87de85261c76a898b134be9f6c0ff17366d963d5c50f1b0eef24fd2d671b92b0bec7fd0d65d58dff648c3cf0c2313136d790543b7f868e43b9cb5e454ca6f4a7e329fa80a74be81b6e18018d1973910913cef60e6a4d7e2df2a4c3e7442cc063f0148fab183e5bfd11f94312b20281bc0d1bba1df4a3389a8a4a212c7e36bdddd1be148ab8a4fe37dccba27f2f1c3e7c824de433047fdcb5d48937441600f05ba956f51edd0b574e293f69aca5f21d9a7ec32e7e4356ce2053bfaf1ff546af7eb2747844222fcb3c10467ef3b80dc94e7444ba4acf958026bfd3471d03981ca1a78d2971fd8a1e23faa8ad7f4ca8f1e0e4bf07a1f1a1a4e2cbf350d313a7ca15a0f7ed7ed45c7a64c24762e44d27bcc810966aac625c656ea2c8d4ba4cef2011663580e855821ac02e1e6e68baa00bca80f271baaeac84889202245da53eff8a702afccaabe3f68f86b84e41d796baa80113b58d1bcba85b8299fc597f0af8265570d767e9d37dedb50f6ee0288acaa1a65ac5465eb856ff728b94fb81ce60d82921e6cb0a688e4f3d142e0ebd8f0943dc0ec52dfa9e2c4cf58e098e13cb5a8d94fa9a625fa47f96182372506081abdcd3d238442463407b334c1874d76df8b6cc0c44fad19875b4d8c8346fb231dda6330435525b0296d0a2bf180e9edb9c0855bcc1ed882c05b3c9db0474a0093a7f2c054d016f11cc4f07a244eb1acb63e2678a9e646a95941c34d40ad510e5797c637520b85450e20bf3dad0c099f594b877e910e6567e00abd4c2b008a153a5d11f6e069976dc84c9bef824908b92910d2785cb4cd231c540f512371e7df71fd9a8d2fae8fd9a63759ac5dc0a1d209a5e5b4b15f5bc9c3c80318f21cbb0678bb0558ace4f690f7516239f59f4d59f4e24c59a141118ae1eaf54eaecd2e019137a1792d958d01dde49ffd6be7775d64f81abf8f3ecec17745b06d1f43749e89612ee487f0e6af166ba86555fb93a0f49093c1daacc87da42276001350449090027ec4e461a4102739be5a91af4518855ffcc25c874446d2c7bb77ba1e88ff415984384716018c13becb05122d2cea001ec86b6e8ec0b5e62adafb6e2659ca145c552cc707673b7ec6733a55dfea96ccf43f1cfd11bf7b1668258232b0b465d23a3e05d93bd4b74afbaecb5796a0bdc1581054b4c7a227c3fe53908432c6945b12d7b0c9e1f83942b3818c6bfbbab698d9a5158f4749787913943147699c93d008edb302a9770b65a3373f4e0c7763a3e752913611f8a9aa2942b9cacf535ed309769e911cff6858ed1bae01ba7c8fb6af02c2d1e41d2880ab263d40e03b220794a0f34b0cd34689f7a68a7182965797ab86279c51c83f12d818aef5ca9988a1b472e2c17a6292ca60dc3dd8439c46d46afae231d272fee5c3d3d962eabd536f657c6e29fccbfc90411f3e5ef90f503a894f37455db3631275769803bbdc188ac3a257fb8fa07792490c978978dc28f6a0b3e6f79e825215f0dc684b4c071900ef8202947db802b8f4fb3af185281e201f9ce93c4fa830e0ea1112e61604d4afe774f716df5eb29d81c60dead319b9bb0561f37ce462704e18cae8f98ced51dc955ccf0001b16bae93b9412a044ad273055ef52c50b260e4e90dbc0dec3123114adb61a64a2c41e296fcd6abb149b1dac4f2d47d77ff9d10aba2e657b1f4a6a17819b7c685d3a1e8c0ae8a0ee62a2f856736455d13236baed5413e362fb82faf6f4cccac24e2f0fe0e6e83ae56581c8c2fe7c94057ffab1c76218054c325af8a7cf792260a41d2b7b4e738366ef618b0a354899141937739929a641202db42b5aff31cf22822134e06a3937ef91eec55a19f918228da0ecf6ded3290f8907619f0e043afb1ae14e597036d5a95fa9dd2b4398b099fd9d16065e6ddc08768471ee33497e8ce745157a1e655cb3925f3debc436f0370632e27b64afdd1136e78ebed9a3392a30652a8a0459d69e60043cf18a8135930560616515d0743044c4e968f366ca831c5e6063b5408f46ade9140f344b03ed1c897a5525dbc32465aab7025796b9536051ef976c9864c3f54d6663a0b31638921dd052b8d02b297401650b765b0cb2406989c0a1d2f34b9102c42c0a4767134e1c2b0be323b109fe86f1e963e3ee45b671a2668cc814d5aa39bc5e6aa7c843045d3b92b578c3da964e765494cd8b4c32b026bba0768820300ab6d1107945b75f54d425f0324327821a70df9eec11a94d8ab565a9ad2c44f2032d86f6680530dc25ce4474684bee0c46fddd0b05c95a78d0c0427fc836badc8bf2279b4538230dba46ab78bf1ccce70a99aab4c268ad3eec5943519177990f1d5deafa06e5e19dc45e1fc674ebf14be652cf88ae61190cd588717a46f374aa010dcb736c52bd03a7b5b153dcd77bd3fabf3ff314978e6dcc72aa68f89b787d0fc21f967255364d34cbc1abf0941d904284c98b4c2546d105304506c7a8d532c4f0b16f6d1eae57814fd2693b90a17f15d8f16d2b50e51ec046f01a017428fcd0fe8088f17e6d77ce1fbc54170144eae4d6b9ee66915c4e820640e012b2c8c67ab27984b7be739c21381f3a8e7061ca8859e90f3d3b9401f3d107de45866908db429e0bcf3eafc62ee5d16e5b00a2f5b0f0a9f07b6252455eca3e0384eb164ab83700c109db40831363d8f39b81f6260c6eb16a5fbd68d9adbede07a1a8bbb96a5028b532d52bb200eae4c9f7ac7fa4056979484d1eec950f5dfedd01e6b84502e2a47fa18437933b575194e9f8d75e850941e6a36d7efe837951d35c810f8e72e449f1153d7d5b5f4dbb1bf72de4dfecd4ed404774f5be4b5b527526916f7140a13da4bfe9fa8921aec23ab88c0c9dc9eca234f61c3d2dcd99e738ba9a7a9d70e0ab02d5bb6b87085db110079624d8322458de2954322d28a4912f171d4ed3b8e01042d24a52fbcef41e5ae7eb5c3c04d4f204733549ba0501ec31e6f0cde266be0209ff33fc2c5cac5d2d78a31a917fe1ba7c964c0e692cfe67e485eddc22277d80dbcf0236d8a01e6f7ff3c2b74bc14bd9b44cd0a69f8c8c4cf17b784c41ef04dd1721420ac2c001c3d8ecd226ef1bdcf2077c9bbe21550da863d2bec5ec274c673cdda79943ecea96f7cd4e535c891d478ed704be88f30fa996e0e63d0f77295a0a7cf7e2e3e900a56d65156e31a3a3e3b91f146014288c0f676d8a3e707a73eb603130287570f9975ed592e9747140d2c71917929de797ecdac94750e831adf47009dc6ae80acb9b460ad098a318252a739ee0f4ff242f761fb1a14db4ccc904d291686c4997879a10e77a310a36643d8257f2816e791ffb4a5adbec1fc734d377a5a0611c857e7d62527d3b2a5be37adb309c44bba1edead572f446b3b6fbf5166de083ba2b0911e6ab93a9f141061ab36050c8e5c5e014312a2885441fd7f0eecc0f84e45934cfecccba557265e93798a320baace40b7eafb258fd9e9a5d84c3491e0a14821aed12ae7eb6c1794fc321beb5be568cad4de4c3392fdca36d58bafd0b2ca853745b251f33d9c49b3f32f15536cfd1255b29bccdf732a7b91213654803528f12e67dc069e3cfe69c81832eef3646be3aff145e01f227be27ca391b4a2593d561acee26a1da6298a21f3339f97e33be51146d25374348e037f9895cb81922cf04f1e1b59938c8144eeba0ae009029e16122804487876a492f617e2be983739188e8b47527c673d9d984a01fd0eb9035adc9aa6fbe75aaf2e265a3e599149b878428848352e2be24e0ffa30b7cd231629c2a64d20c2b8ff6a9ea8e1557417e92fef110b283269b698a8285652567bdbb06b62d4bb55ecf69fcf54cfc4043e357ad0cf7198990a9c06509af88ac5a590d6a1fa3639571ba3553fa773c080629bd6afd73318c0c62004adfe153b2da7dd4993829dcd1146671e63e04428cd19e5a6589a152100d94468a5ae678f6aa5c919c84b4087f403db4b0ed7f03b4aed42b57dcd26cbb4fea6e36458d0ca9aa6082f73ccb823fa25c307639de305d2c1a1dcce9a1ad2d650139411257561b1df6b8307e7273aa585ff04fd70d8dea394069a3f7e8e1c28fd93441f1a1a7c545f10d3795a804a8f4e22a34da826dcd96859094bcfa6afe04cb3762a6c9a4963cab639b9fbcc904a69c613228322051d7c68a0f3ab1365642e8ab2c8da3ab92af4116136e820b3a410e5edca85b137eb66230a3b9e630d48a57d6b5fab4a788bc71534ef642ac5b4d0f193d3567b2974734331bf8736badb681d28b6172d8185cdc0785aa6bf8a219981e32ab450e2dbd107307b7bc6518befbf427d0447249fb62eb7ad6c9ac5e6377cfa323482c58e3a1df66761641b3647f5f20c23485214038720235ed76e57512836bfcc6da7826cd8d1f82c952c11d7b06297807a5e2257c4a830df6572f8fee59f63726263a4cbfc171a9b653983fb1c14ac1bdeaf7a1a1f2cc82fad417caa1f2da5a5bd2405d997501fc52f1e117949aca485b58e827aa7e8543e37caafddc38d168c30dbbc86864aa2d1ed7e07f92e5d534cc9261cb9fa90a43f241d06d95ec327f28d2ff53dce192c1e215118add22e8e68aa92ed1e73a1d76831afedcf4398a90da1ec4f71ac07d5677eef1101f98e09618a1e915d50380ea0a30c6fd341f39c75bb668be71a4f92f9d1912e8d6871f053a320fd4f3a2b6a477403a9371ccfd4ad4498a06299fe85c411c0b068bc0d4c9b13065d94200c3edbf58a4d7a5e907a3fb18f9a5711cbee4f9005f3b8d8d952d482f7b4e25e05621e366f8146dde6c7d313a0238ab74bab8aec3ebc4e0c0e2149109024cd39260d7c25a87099903615c91dcc534b2e269cd45d7d2f278363aef94cea4108169f63be7442fd3fb6fc05e95e8c174d689ecad4a03b7023fffe1695c496affc717e19dfeaf6748faa04bccb96c58ecbf472d17d75829c43781a7962ddcc15eb0e6dc3b21bcc67aa9232d899e33f9295ccf822117eab4ef64f7ad4b9b3eaae623dbbf4bb7b2baf06988d4c3551fea0ff260e2c1ac9e29d1c500a5f7556bea0ba6c47a68dcef7aae4b53b67ff8339fa0d5ff18bda0dddcb02e728601218a20770a0a89d7c85ec609feec9a0357d317e5571cb9419d105a2bdcbad9ac559af3f00260a0a28ada7217a23f5630d285bbd7a60cb6873963032f8bf2772646896135729b55bd1c2ed761e231ce2f36f275cfb3fc678c762fc2062131b2121db70a8e1852be583d6d28aa831eb12c6284a25717ec8f945a9995e9aa858b36bd3e794bba8259964a8a533b102f10ced4827aff837f0ddbc749076ff858323ad3db52489d7410c601de02cebda68b3b38785f03bf9eb1775686a41416ea5edd54c9b71f14f2d9698a5955a3f50cadc001c43578b7b97ea3ff6f7c4e14edd52f0ea8741cec66a52a4b597efe6ff44c4e6a1daefcddc20bb41d67629226fca433e70bf8eace6dcca957fa55b3053407b1d3caf2f308e0c3382ef9a5733cf79f4a8b3569555846b43e5ff1c8e3647326fddcc7318b2f6c7b3aa225be1203fcd03d31ce5abbc26873c094d4b74cf136fe91cb52e3e4d1a2759c5694e86652bece260a95937d68826d4ea1ccfacd7a54b22e0da4417d6dcf3e4c7a1bec381e6587a35f3f0efaee07d6ac8bc8b6de2c3dc9c1316901da597fa1ac9f97e5c9bc51b2199fb751490e8539b0e414aedbb6e6d487d798dda4fed857e9594a905bf4dea1889284727d80ede826defc63b7f6052818fb79bf79908a89fb723b06b80d208b646289ed7917a1be06294ec1f28dd7516d173c41cd3f44b56dae24148391f6af29de1146fa5f3654e493fa4c0b7e28bd2f150087d366503c07715e874cfed8cfd7547d0b34818364457193129aa9cac6afb5e79f5baef1a8e09933d3bf77bef0087d5ee72b88a47a2706b6577084c7d6f70e7505d1a272a8a3e9e9c4ccb102b64e5aad1ff0f4046771aeb08041e090ad68d87ae481405d82545b38ffa2afe23ed649695fb80ec475f8fa778d1181e75dbb98e32d667e9cfe18e42c4eaf1458ab5d06f5210bb5967650bd797e0a8f9d2dd87b3ae4d19a40c420df8ed04675563a1fbbf64ea5b7a72e871d23926e45525e9bd08cd55ed58f84c16c52fcfb7fea5c17fb830fda9b1851fb0c0856c2f4a028a773c4f4f554843e9045f851dc77abd6aff01c1f0e8c0cc33ad6abfda245fd749eaa31e9dd2b2e412db34bb8ff838cf9d9bfc661fbb9c26da3e09e4ac9b070f85b1a800daf69afb43350aeb4275b3fbdecc43041edeee08804006733f89277a36ae324610884b56e35d50d7750508f8b4a952d7a62ed1b89f302e4806ceac3dca4ccb6789ee49d19693a7902848c6a46269e461e8b3f3b5665d8db1b2a6329c636b5c29c81c12ebaed47e2e3da2b8c93c0b1ea81636b62ce3f0b0c2770e68dfd9a435cc9b81a6aa968d850a5c1784562980458ba340d1e46321898ee3ca39aac588317d5bc7ac46007edb33f6a5d2fec681254f9979b9b0ceb85882437ceda143d7543bf3057b430a5c21f892f4d2e3146ff90d0e90f22b106b055f43ffc56fd1b18b92efa13126444b39d8a9221270aac0a3b15f873e3f1942cfcab1d287a33e101be659001981672cc6079433b511184f1633cac77675b34aa8bd33ffda387f6d452833a0ce614f3eed71a305dff5571cbf5cd8086b85eb492ee9bb6691ec1c00fa5cf9b408ffb21396537bc020dd218809b4407ff7c33752ebfbfcea26555e6f1c4ffca05ad4827a530b711c454465ee32f7dd2796020eae4dc93d9a8fe423de2bd90bedb1b0d258b04625af895784b61ca5b594c92720764a29bc798c63f27345135cdf531eca347c5addc7136de02c538775b1e5a712f43610ec0e00fbf29105a7048887a8bb8e09b25ea574924cd247ae87cf53c09f62d96ea50b2b23ae01e3c7f76195e96e371dcce823a47a54b9910b9083643ebea478f9512f1be257899d7191aeb28aae0efbafee59bd311cb97e64aa76cbc55c017d96d7b4ee440fc998ade5d7a03676c5cb3d41cca879dc282ea07cc532269d5f3b50c3eafd0cf53c6a5b11bb3890622885dd6ce7c5c3b7bc79b2c27378a0f559f7d936f2bfe0eee222e8d933f872115f7cabdfccf98cf5fc8dd4eca63f9c47aeafa5f36c255bf6681f981caf24bbc8f672c5299ddd056fb38d4c29d4eb68e318dd1c1e655f318d96f41c75b71dac46c0858d125bc77e50463fa1a5172ae9110a54af834159a5df4d7012c1b654054ff4e8f8a1fcd6768541c4137662b27709fc81295c78ae04146ed33a603b840c0faf5e93572fcf494d952e29dfe3fc4a7feea0106045743523634f705821d36558e10df9f0e333cf9923774c612acb1864b8ca5bac12f6bd24c457bc8c5876637e329e08d7dd1735cb870162a5c99e5984f0ccf8d1d7db4f6c201d36d89d64b9886cd1c0728ab9466bd611339281ca726add0fd523c1bcc41ef60c87773257125aa6deb57f41edd96cde93057fb824ace87a99f3e6519cd29951141833425dcfbd263bf8b57cb685f4f5279fcc02728f939a4a8af2afee64903380680fb53b3314d83b1f1ad46ec2f60c571476ed8a6a39616b807ed76c1af044b64d74a32719003361e92d7cc0a12d7e5560c04588650e5aa003ecd6c92dc2a7c6a39e1a83d345b228f308f598367de89842b7ceeb3533e12ee5f0e7cf64eeeb945fa8198e7498502611deb827a0d3e0d7937a65e3d7035cb23543d8f82f78eaf2b98f885ed63c0cdea30ed65ec7c0d5494b63f98bad2f8e5d1f35c74ad9b68206ca1104414c2a46e2a43ba5d6029fe48cbf681579ce9058a988b2f5b12deaf572298fe2f679f6e0106385f5b3bb30ae250278a9a97077cf2e34d3ac1ed9086003160fb34910cb7beb1545fe26b9426c7d01d3aa88f5eeeed3009146014f0e5b6731e897eb86805ef31dcf47085fedb4cdab279e4d3ed19cdebe2a65fcba64cc50400966917ac50bb8f2008aa648621f1a18fc4193c079b0dfbd898303b15a1ef61bfc9526734c47ccef44c25916fe212a6f5f10988d1d1085677bf0d833c53fd951d81678e40eb65fb109a202b53a050f4ba4766b06cff384e8dc1b78afc6605f9d5fe6ac5153a364480787b16a8b4e56f8752db632ef3eaace76139ab2d0d3b4f6074fcbf09843f61f6b7a0e09a1b472559015191c869590daba3aa4c9ea75a4d94ac1a7e614d8577da239e54d3a00a051c43654fe551c17dabedd248e0ba1753ca2939070691a401d08c1ea3dd7bd49711ff7192ca040e89cc2b9bbd0f8e8d97b4b38323419114b0a3614f19e4acebd6e2b05018016fd6791c7acb4290e5eec82a7a2156243891481527efe0c4df95d038b91753a72e9ae5e9e484049068eb1d711df92dd6378479ccb6ef1cbfc6ffcd2a0f87465c4e4218485f0dbc8bf643389548ecfcd11425eb854e87f0adc857bd2eefe17919417950a01704752e9fd46bd8524c60c54bab9fbb15fd4a225daab38a3ab9fb3c9c482fda8cabf0089f1e7d8a37d58f3de691fd737686c26fcc794dea7cf34c5ff29301b363653c8e32531ea11992e76dd7df9d2063e0dcb2b3c501527e31352b1ffb502cc9b9a68c27fc23c56d3523b796e95c0f7814d454e10bdb4c55c0e6ce9621d8db2285506bc300356bd6d06764f508a2a95a72fab27440f3a3d7df24150fc282dc896f9d343543e52646f48b6acc08bf216f8ac5aa92472d182ce21fe412725d36526cb480b3034648c5f77ab29cfe9f5adee04cfe9ad57c47565ce10aa23d54c913018b712695bda2b813062544625365808e578ea599f4d12d4b4787e2145d4f3ead4b259ad66370d198d6c759a9b07562503a35fc953e633a087e5365ca579248f1dea973ea10ef043fd5577ba516b8bf1aa5e09ea8f95d500479a0f6216237a8b651683929a5cb70dce3528f3e0b3919f7a66e0ccadd2a2d9b3f04a07d1560394d36edd2f7c5b0f048ded1db86f68e48720804fc8f052ec5e131fb55a2c8105604d0adcf8f2b34538d0a98e461346a4a0457e605ca989c6cf0d08b50b2e6e28f4af6fe92d344093a9cd63628677d216dc6ba7811ad30098628e77aba749ab00968dde35edcf01578a7567acef1d6b6687b59d2ca3949736ac7a78a19ffc275ac7bc9757ecd983759b4fa7a9ed0df8430595d56444c5c2ed7ed78fd5d37c6bdb1fe6b92f66f5c03d55b87d615b51b23452792d6f0e8eac8ba1af31b37d926b375de99b2207002c1083681ff21feb6c016e61a64ab9c0c1437bad2b4f5b88d98b9d557ce8a57d7ccd3b9459601c095758cb9f5183c5be5357192a6932fe2b493ef97735ae508146bbbd470341191fbcdc5c935901ea2e9c24607247240c387fd0b2e9e3549ce3e69b78c66e6ed79d3c01621f2bfc481c20751e0edc7bf684f14c688b7deb3c96f0cefd958ff7829690c56821f8c8bf8d65a0af6e9b81153680c3908135e7c117210e82b3b3f65015b08dde6326b0572e002c9ede90a28432b5bb04cb4f58db465581329edcba8a52c0395dfb288e38236ba6554189ebe14e1b3a19b14ef7782768c3c13102e59fdd4c965b7887de0f0b5b6e990f94dc9046c3a069e1eb2097a2d7ecfe8cee95c30f9b37aff19769c0308303dfbbb04067f6c35e36fec29e478c80b9ed5a3f6177330f47c870dd61384afa39105b10fb2083307cd01b3bfdc7d75453c25a1e2983634f482e27542863adbf15b6309eb16e32a2d18a7a1b407363e7c68385fe571bbd4280daeaa6a2bdfee09bdf476dbfe3d8d6f02159d239f81964ea90681e04c01246edaa65b97090d4f114059ae6bb358b2adc1ecdc116480dc80fe2de6f9494459f6f75d6a5771a2194f992f1d25eea405c0de028df8b72366263f1516c0f6111154c4e04db1de412ca542af42c3636d62fc99fb20067dd9ce3ba45e9c1e395e6ddeb3ed36570b1a8e14ff5cceb97510b6699f35cb67ed91bbaf507f2258b04cee01cef656919ffb4cd188aa7096d16758cea697a8a52f89101e2144a3b24e6a748badea152135464b5876a32772bfcfd830334050575972a6ff10317f86c5f701212627ad052c2f8199ad000000000000000000000000000000000000000000000000060c141922282d3383010000'; export const testData: [string, Bytes][] = [ ['signedTransaction = HexString', signedTransaction], ['signedTransaction = Uint8Array', hexToBytes(signedTransaction)], diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts index 0e35c73f..98558e40 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_transaction.ts @@ -25,7 +25,7 @@ export const expectedTransactionReceipt: TransactionReceipt = { transactionIndex: '0x41', blockHash: '0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2', blockNumber: '0x5daf3b', - from: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + from: 'QcfEC0CbEe560cbD6ED89580204AF71448F1fb8c5', to: 'Qf02c1c8e6114b1dbe8937a39260b5b0a374432bb', cumulativeGasUsed: '0x33bc', // 13244 effectiveGasPrice: '0x13a21bc946', // 84324108614 @@ -39,7 +39,7 @@ export const expectedTransactionReceipt: TransactionReceipt = { }; const inputTransaction = { - from: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + from: 'QcfEC0CbEe560cbD6ED89580204AF71448F1fb8c5', gas: '0xc350', input: '0x68656c6c6f21', nonce: '0x15', diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts index a555aef0..9d03a611 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts @@ -25,7 +25,7 @@ import { import { decodeSignedTransaction } from '../../../../src/utils/decode_signed_transaction'; const rawType0x2Transaction: Transaction = { - from: 'Q2086EA3853Acf31bDEaa7D46F34360e8996D95C5', + from: 'QcfEC0CbEe560cbD6ED89580204AF71448F1fb8c5', type: '0x2', nonce: '0x0', maxFeePerGas: '0x3b9aca01', @@ -51,13 +51,14 @@ const rawType0x2Transaction: Transaction = { const signedType0x2Transaction: Transaction = { ...rawType0x2Transaction, publicKey: - '0xda218daf9d5457bee0e2381250f7ad3159e8a243fbf90e02c2802e1722cee954758875aa00c57adda2736030ea7fd293367c202298d7125f4ca8bd83d0ee8e8805f4a9f2d3915d507a581d59a80491575ed69ed994a6650ecf8902cb056a6d5f8b59a46905ab1c58094c2a5a388de306486dbc23bf268ffa272e010182e8e9e23c07f55a866e59195333a353aeddf3cd51c22f955c21977d3ee9e4ee6557f30edb5d2517c04f834f6825a7a162323cb8b679cb5d2089190aa3e3c486b4b9895987b47e1b475ccc4f25969bc95ac24d2fb3cfcda7330ff9f949ac06a2b7a7293ee8463dc38a9c55d4bb5d8f4904836c29764931b0c3f4d1257871b132b08ae249fb40b61bb75360298f15345d4868b7aa4f06c485b703f6db84d2d5e1e70412928d6c6454a2a019540c518243e18e17404dfd781a576a34e0f297bc4fa69532e717cb9cadc1feafe4c6a99e31cde842dc05fd19d8c7131d530e9ab22b1c621e9d4a2ffd444376f0e0847c0523f56f345669fe88bb28492ed23dc822f83be85eb035695eceb08fb24fab3fb6cd54ee5972d68664af9d3bb4213da1ee11e95070eb45d033777eccf9efe54f2f23bdd0fd64cd0b4bd311d941f108fa13166505944de90e25fe50d4d4be8118d316994b53bacb96c92a4f4048e10fb01d7a8e89d7d0ba37f58ba37e1c399fd1d5c2fd0ba1d30231432a0592d0e06b0a18f0decaa3ef39e88c6d70b42bcc80e28f633c99a89e411d300ff78c7bc93f910906bc9d9202f4ce3b9a1c37432b4df23e053297f81b965ca0b1f447e323a2e66c9ffb75ab1c8daa2a9b239bd87bed1990f4dbf9747005950aa73b6a74da306342a63dfb67d5042f16814f08bd3fda8b572e501ce0a03111f93c0c1d3655634435f1ffc3fc000bf133c926bc336304eea648a7a1c7ebdd65fa593d5c11990878b385499a394584702fe309073aa15420e0d0980165ae7213dae40890babb2bbd3f7abf648c9dc74feba7c0ec8f0525bf5744744b9f5b28f6ac7f234e4f425f4bbafb69714abd911dd0514fd53039c13f72b1074f6c5a229f9172628747079193592bf74ac9049c2aed7823e9522ffeffb7d84887808a5e0814407ebbf514301fb015a3f0fa0c79d3fea883901f3bfc493569a239156f29364a1b43aeb4c3dc6a975ba517e1a6e8ca66b60e4de5326d2d65d95783b050546c73edc37175bf2dac38109c4cc6711c4f6ce4b7af5313e1967161841c11cbbd4f998d5d6b6b1135c9c75616ec88393300c199a2d602f6b048302258c6bf8960434ba6d3d6108a9d8fe17569c1454aedaa7b383975f3ecf1565df1e007744b9474111756a9b4471475dac9e55bb5eb1df67329aa077c14bb8aebac457ad06744e6b67238e1416e14a1c8c84d7981bb42b41562b10b9ba86809f47d19bb2c6a8a9f88559a9a73fecc7f95d781501095fd0f7493ecb020b35b613e2c91db655a9c85ae893e4da69e1ad833fb40c285f09992dbb6b18f154b198af34e3088928102e618722412934ff0bff977d9195d3eb520f8edb7cb08ffc9eeb0f60d02d8272652e456fdd28392acb41ce12fadc83c70dd742abd2015805f2b3713995d1d99050f08f9f88366cf5870b827dadc5bd20fdeacd672df857330be4e1b96838a0d8e97859fd7127d355e51ff9a5e43697b3cedaa1d62dd3aabe28fef97eae5cfec98399bc66f7a34616f95dcebf7eb6563a9115c13c46a80d564e669af08ce600ba0fec9f15a9422b1da6c3995cbff0212626c118ddf77721d84c938200bc9618e7234e3137053eb16620942e9632684e73163f0daad57327999e800c226a09c7083581e3b647cbd61e42a986ecb52f8e64e4d3efdb3fb942ebf2d1638a5c567115e6d33436e2f515e15b903e727d22c1945c968fd1ba1d87093e7768b75cd6033f2826580e85bd7c96477a62b1956a8f7aaba88d7ae095812acc9b9c33a477f3f920e49c7443bba90561b7804f6fe2bba598103507c61365bc11aea34f9f84c0e3a902eb6df4c292aead67699a63c1f5a4b87beb14b2e45537841902764b459b90ba378aadfdcd125deb953413fec2e3e1e3b4f6e435ae84cc7951b996a03db7e49cd1ddeda2041c99eff5dc9c85ffa383852ba9f9dde80cfe8c0353a6faa24a5ae307b8bd863c14f6a9b5b75daf8534118131b3b32b8239f51f6d5123ced24e9bd251d208ca40fa97f9e47fa79f25ede38280a5206c10281a8d4a8459fb0fe9dece2cc61f1ced84e7b5744e59312e32de10c82be7f81264d3a775a04913ce7bb1f28c25037f4b3b2ad5790b3667c9e309234cd161c36f7a71a0145ff0a7c9c1b9bed601b4971696c1979ac3ae2418a842e50c33ed45fddd0e319e48f72583cb90a4b08a57983f63918352cbc6f0a6d345c845f0f2cfbebc25cef454dfcdde04966e63e37d0b2060a12bdedfe3758c5f38a3c7250271ce9dded0e2c37304bbf668add831f76902d42041b9e7a2d77e9e912980be070a0dd84f3523055a86d84b7d92282974ec8f411e26aa88286b6a1314ea9a0b3d3ab100947770238d6a714d0e2ac9a1b7b3cff7e54c33d8bf7a40972418dc7fb205d7c29a8ad0a269eb9f0874e1ae2d37485e9fac92bce8c267d2feaa63f1fe186ae0cd25b626246b2db984941fa6eeb2b2ab14a56aaf15da2458b591b4862173a917a404725b9fee25539b948b2e2c9c5f2a251e9f88cd301715aa221e710228a0e1c691e0ea91414d7ddc6cbe76b572dd904b8107e4472e5e0d694ec8e4cf29c79ca83206c9a8fcb8e77a1157b4f7c9a68ab41520b5e2c0c9af6d11109c259ab5dc8d1f87bc83ebeb4a8845519833e42883ad7b16752b2ffbdc53ececca688b97b431a33d4223dcc32be985ea66f255ae44df027713ae10120e3bcc2eac966d974cc6e69449e959d7eb783855f975d36a8a5d5889db3137b338cabba16284d87965493bb07cc5639bb017499d5a59049a65fd5a0a58568c8c93677491b45b3099dd3ab9527dcb9455d42e7c22278dd800187a8fa016ad0ae3a5737f5ac6fbec043576cf5298150daba87066fb20ee074dfbfb330f4d9321834b35b43e9448997b254e78e1f2c5a4d757e4dc5bfee53dedcc863c539273d7135b063b724bc0edf153fd1f2828866801673c068442b38bcf45ea3bc006b84aaef5e8cc1de1d00e10484b3a59546c4b729595bde6a7facb5e1f6a041dd52307ec9ca2d1ca891eca2e2f0803ddac1698d6cc07d4ee381c06e9d232676c1acfa03287000c44afdf6c1613fa3ae499acd852f8a43dee5f2f790ab6b56a3010d6f35b6d0d3d185540f21593b8d8e75c4938192706ae087555ebc1e48882f1ee46af8256964d7fd4fb9bb6ffa60f79036b17e46d7f210c25fb1690a748dcf33ae74b1f44290fe1a46b87333def13630cc17e7e1290593775b043f817e603675dd16ceb159b4ee6d43799c2ae23984465e0942a64e30da1271d5e6194585d3ecdfe2302d4cae4ca388a516184e333f0d87103ab6585a955be8c7708c338fe1775b04486721b008cf99fd1f6d1a0d1027d975b21086fd42d4037f7979eac9e22108432401aff3443c5aec62e5a7c44bcda3d0ccc0e1b56c611f69b84500d2649f852190eedd1eb9a121d476dd26f81c6a52859c1de36066e8ce44a9f2edf94717b0fe445caddb', + '0x4a0ca7140398fd048682e1b9f6df935aad881fa739e8edf166b786b20adce239c80c5988042c6aa0ab451395112111c2cfc98ab181588fec866ea22d5ae1d0e19f36e387ebbd6e6779f37dc81c1bf3a576dd6dd46dbb5a16106cf3013ed832560782b09886c7c6898f12788d7f4bf8703b57f4e782fe0f9faa92c8d669afd937c20c5d331586f6145ab1d15c617197abe4f0ba365a35d08c434794dd44ac62f84d772eded0c8a5c7c507c59acb9a7f204a661ee68816398018af802232d668de0d6d09cdd1c1237938b04470ff6a2e881e317e3bf0a83c1b340a3f4d9f3ce47af0621db9344656a4f5266d49fc6c3c2361505b0b38afe0da6f0694cbb0ec418d1ec41f12926b19bfcfae3cc83ddaccdca045fceb26919997a2fa2d86a3f93f5528bea251bfbfcd49617d7ca9db9225b3e3aa8894e4f4915db6ea040e9a7b517fb41bfff3825a9019f7c970ad9d280de1d3cb95e5d0c7488fd251d16ac8aafe410f84e87d5a5bef29a5ed237de73eb0dea82d4f74b36af7330e791e0edaff18eca7d0a550834c3395666aabd3f7ed313bdadd918f126c379eaf29f9dfcef3c9adbc1e6818a132e65683dae2ea596492fba87cc9876566f4b5d38e6b6e3aa7fc75d3c6870cfd4b3e6fcdc0bd6c87d9e3ef50e93786c5ed12ea1611bc5ef8ade809093a3ee37c8d536b4a209c9b7e9972e58a9e42a499cb2360feb5adad7e585897b619e9ded5b09febda02855bf986ad6246adb9e6bb48d16a50cafbaa4b0d4c3c8931277feb6ac475006289deb3c83bb546ac1176fa651c272faee492e5bd80418d7aefcd8c6a870998f2dd1099b5f6d3564e77c1094196022cb32b79ec45af13f30105b7bd9f48bcba80ecf73c35ba141d0d9c901697cba47f7c417c60b4df5aa0697409aeb729a8050518eb4081597852da86f833f991382cc33f0684323918fd2c262034ccea4e43a7f4537cc98c83f5b6c4733932200a2e5feb58f5c38d36f1ac5fc341f92b6a4055e5e69f37a53cb9922826eece4992295eb5c754092ff1dc22493ea34c9e3215ddd6f0a84cf9d5782f346a9e76ddf7b0f7875851b57431c54974ada9934726c09617578359928cc947c2aad847489ca70a3cc05ab1a982c8640bafd57f42613afa9725762a9d870b702aafe486dfe644053a07cb0ba4d20dfa49041886f050236e91b790f6f54a10f905d63a2bcd44d9ffc6b801a94fb853626d400e203e63e2d2cb14d0f8f921021a3cd117721dcfc22c2493c31cacab65fa8f5f992f4b8fa3e9e162e8bd860b4590d63ec52696268c70e4f3cdc478b408b74baa7b4af4557480c889603424e2942f2cd4e8b790771151d14980ee55cf25fcbb566a5c44cfcea9abc8f036831e67cd8132d89735b12a34e57fef6baa3b06317d50963ef29b463eccf15d980c896f2aa9a1d238fb684b6792fe2001c08fc0a436eb8588a56684b0257576a3210376a751a7795cbf29561e551b407259239be91e7d3f8c4adb1ec858478807ec1160d744bead021363dfda79cbc8223194e35a31958e1250363cd5ff952ed0db61191723576986368ec94473179ba3c231763851b1ab1fa8c8361b4996b6aeb0bc5fdb08159587c8bc13720cb8219d4827495bb5f87c71e3f2fdcbf09a6096ebc67959a6af856abd0d49d633410a9bf3033b364a5af76f96372bd4e91c9c933c0cf90fd925c5e3d52fe0cac075a43fa097ca317b92ed08632cc7acc7adf8c8c594274f9f7a2a65e4b899c4c6c4ceb421355e73882654895725b563d0f08cf498aa76b6ee4fc85cda819e6897d284e64221cec1ea7227b38b8e34cc1c767f745e3dc46d4774f28ab26679f58e6335441d616c329f0a5036ca1d2143cdc23dcfd30b9e8046bce1301cbde379035553681f23bd4fee6bf7a903a24fa9c6526daf0ff9ce7d1d09a8a2c0aaf083a93e366deacea3023d2668dcdb8c48c93a39109863842fb4f494b0c8deafd80da16fcf2bc681e4f3f9604e23aea6fdfde8001658a1e50d4dbccb03d92012c246ff01960b50b2cbd3c5035b59987d1d8a908e26d199eade1e55088aef26f84293fcf0d13111777410c3bd06c16419e953ed512e619b3a0790519bb6ad2260f991c1e3d7a8540c07b5176547e4935e0bb9d432dbf1804af44028e3249809e6789348927e8cf2594a3da4f4e6951e9c1d5fddfe3937698d0403d4ff5ae3309c930850c1d7e2dae197bc910c4ce124a18c19c78c45c797a877e7c6a677fb221798a25797f271f1eb422aa97643a468a69fcdfcde9e9c6ae3d0fed8a7a51dc2b250cdc47cbff38330ef71b51a38a80d046bd22d7b129b20d89acc8965555c40d5ade09714bc32e712c43f2d258346d3b2900e3f08d1153da81b3318cb8d6d33f057073063648480ee270e2d7dcffad63ae21380f897700098aee55e75d9320a9c3fce10335578975b9d15336868ac3dee7e03f49f54a3f7085d578fd1a2f6b8dc9fef10776ec8f50a614c0f8c38a08681f49dcb47edb496c3e3d83fdcf18108ad03cfefb0a7834397bf20052acacd78caf2b081b482ee83d5c72107e8136d63fc7bb80a916d3ad38f0b6259cf8f21d8dcb8289003dbf501fe814ee7da3164151dd5237c90a5bcbb157b04f7b7d9b493b4d83938bc647f3a0c9f0efaab6c5dc0da89a6b05efb59526e27efcc5c5098de85ca3feb4358af4ecd96de45acc58a3e953a5186cbb44d4c2284cbf5a9776ad539246ac8ccfd648be1638d412116c70224d85395fd5e81359f2055fe44fb26c518e5af7a64ef7462e5bd753cecde2e04dc5608a9e9ae1a6dffd3084e3dd277c3ecffb813cee81f89658f950c65c7389310b8a71327a24f35d20fb37a0384484db42eb5a9fc687fed74c5b366f3c92b42f3884ea7296df697fa33bf6640d625a5403da69856fa551d19874d4e58b15a52ef8016692318bf859f3db36a6bfca805110d0d517f80cc72d04b2d604a7be69a8ace0e4cbeaebe7bfb8c302acddf636dcb75feac74baa4a9c1c2f986053ac063beb7fb69be72e1abacb47681f463b5ad6bbc196077fa8dc7715e849ce0f7cf345aaf6d82a45827b7e817d62c014aebd5f7ec0fa6f0eb5287f90997af91df7b9fe6d6250913d2d8ad2e3d6e7519806bfceb4ef5165857c3d2fe001ac5ee43076b29c483663e93e98cf8fb5b0c7eabb8faf9e3d397c8473b7a38974ff0254f57935f121327e68afb0cb41e019e0f3890235b8e14af27b540a60151fcc5d8ffe9787a035108d95ff65ecc028536ec8edabea794f7ded04ef32d5c78187faf763a83ea33494ff77cba4a9e8af5838404d018fb5764a04ec51bea872664928dbf5c39b7b77a38f44d48869f2a5256ca5e3ef774cf2ff12b057baeac50f731b63d5cf28e662c3af34bbd4aee3d3c66758fc169f45afc309673db0ec6b7a376e12aacd1f0478961102f7a14cef96aff747ea4195ab1df8650307ecc665e7586953e1ba4789486bd8da38d467c1bb4530e890f05ca596db22c4b5709bf15676906e16292c46e19ccc55da6e4ae82da55e4f8f047a49fe0412e1b7b8ff317f18fa90d4d0a3c8f02e6f37f680961407a451fa61cdecbc9991a85bdae76535eb2f598e4eb27f7c1f00187688f12b30d5de9aa8dd7c39110396f811fedced0acf696c57c33ac70c274a0b7db730a23', signature: - '0x0935c5706443302711732ba9885ca7bb6159c5dfb605c342c630bce9c4df9cba359818f330e3593c627a2020bc762b8dee97106effaca61b569a7f12b5b8c2f9a38ce92927ce3ecdad3c3521443347ea9f63c9fe448709002047f28671758100e5c94e4df05362b16138752bd5990604885ecc8eaa2d2466ebf538115370c72b5985c9f13ec04f762e3625fd433248a7f6efee01be7c22f1bfaa0f459396ad0255cc34d0b3e1e4c1a7b556ec9bf017e83bee29965f2fcf90e92c38fd99ec60fd4afa9eada645eb2bb7cb53b7e67211e8555a5fff6fe93257c975bc13a39681542eb5be699554f3b0ecb8b9e3d8adf0bfc5631355aaaa191dd45c26d0821cd71031a12338684a00a3dcf0cf1142a5185a73b8810cec81b521fed4452a76911a3e8cc06c5774d17cc45da74d6d40d0a17319970bc8920be220e1adf898eed27a5f2180b9df60164c9633dbdf748edc44bae0c117ee8650edd05158baeb9ffec06a413ab9ca6f484e7e68052a2f8721ec35f6c5dae005004dd4de715b142c1251fbc3810483b2dfdded14d98f7eeaf26a0f49673c6391610e413a58a6a49fa507e2fd5272e726a859d9b5ef7a3437e3af4c5001e7031ead37a048e32ae1cccaf1cace132722a26b4e7f88842a53e64c61a87d27c8070ad2757bc0db0338b774e54531aeb98e153e41dba39843c8d061fe487a38c6d5af11e8e699177bacff2458bb66eb5848c087de205589d99c63c011070e23696dc764b681625b54dc925b8d9b16246d8daaa910cc0ebd022b360e222f3a0c1ace07450e91de9dea8e3b6830370b1e21244ae71acaabf78571c202e59e6ad357afd8e7ddc9d1d9431f4efe4b75e8efd9a0805d91cb8b12f90d3e6e9c578c0932286438e49b4dedc3ea0a135c7cdbb3f383086bdec0328108c98c9eadade7a6b7132cfc2294c11c5caa2cb711f89ba9ced9cd4c8b89bfc1980bbe1d56385b4950fe00a2d48026de9f7a6a150f8a4e87b133ed70f894aca75960c0852abd8879051d0eabd1d9261a4dc785d8195a74819c4d9398fb4d2d9deb17bc8b63ee84100dacdaba9915a9305700fec4feae4452c53ab3868934ed02a629f79e96173d3d406b3d212e4caded40b9be7b5f377765a6e7db5c550641555251ac2ac0af8bf3b47fe5491bfe0119f7aea37f5131cbdd1d5e41c4fb3c77a720265e69c269587430fa4b5081dffe263a5fd45614258897fd454f2d15534337bcabe5538769015c2c135f3ddd27a67037d869b62ae57614f0dfec276ff9306e006a8933f303b587254609ced54432cafe59b7dd221fb84054ac080b710b2b476a2ce33130f03a817d2cead4fa151b083946ad680fe7d116f65581aefcfd8e3fbbd5657657a85230cff1e3e2f80381054d54c96e82a902bcfbcb60cf20d838f8fba4b74b482f8535554ab050715d008eaac85dab3c4919606a7f948f2e67f9ba41d023ec9c57d559fd1cfe56e6ea0e99c235c86010312c9d63d719ce73478c7a3b19b3fa0f7a5271771364f71a31875f56cc2bb567cbf874563891563d787a2033b3bfc7071cbb8b2ad7629446a132a23871486bad2bc1c7bf0ca4b217ede496907f71f0cc67318a533e259a5b5e6e6ad1e4b80ad62480103d525c9a9cf37e5408566eb8ef89ee2be6843397efd0959fd7cb0407b3700b2e0bf5cddf38d7d12f2a30637519babc7d2e22292ea868f2338dcc3bf63f4977439cd0984fec14de470ff940930be9614ae27d4a9c7d7e6430591e72997c3590a42538d5624eab37bf0f4bb84a66393b1f0f23bf0ac9fd439ede4eb58d4dc2aac5dc45865fc05493bc97d7df1d72cd6d0f56c90af76c9053432719cd8ace5838bd4d4592835aa4fc6466cfe43e60715cd8357a213449e1485ea058514e1ff539271a5434babf5d2f53d2ef82e2549a5e7ca68d6659e1b959e17cab4718ffa27119a3bc5238693d38c7fd1c4d3a66ddc643fb265ebd5f4b42457a64c7e20df6213285239a4aa1299708b304916cf3e3638c8dd3462add791d93c066e335beff662e43a899fee8bfa3902a94b0b8ee4c417935841dcb45207db1270ae584bfba4a1377e317cf6c868715b23877479c68b21c24e2e12bc9537aabd3093e5186f8a78acc393404a42b8a7e54e9fc7ad472e10d34cdb90ca8f94ed9484d37f517b465895643be2d26bb8130e553e7b55c66847671149567c34810b3c5f7f583eaeff39fca2c82ae5694d109b5bd5b9f24309df592d9bcac06e0818ad42de3b86cf52751244bf53e5e3dc2d47277ed6c0219d1dc3ed861462abc1df2759cc457e04971cc4aabef5a8798bd0b3805933fa73b15f437bd01f054d432dcc5f89a1a59efddedb8c78265d1765c3d538f1cca56611347a7a76d5fc1b28b48c2785008606a3b774461fbfd14204ca4d3a2b687424ade21489abecae340b10f0cc4e8a691f399a7a78cc573dc5a2e580845c8ea907f0c0a2145910e5c2eb9edf9230a94337572678cce9b33f48cafe61e494fe44c9ca24bc8c5b4a7f1cbce8a220f4b8d97156bc1cf91a43c1d71dde2dc621b77a3d94138d35b4d67f78e9c1c27127f4e8333039642f814398c21712eb0f3b27ea594fe81d8cc796bd4f8bdc1dabd916bef09bcf0bdf9034595d412675a4ace420f5105fa9ca1ecab8995bfb833d4d80f54bed43571aa411d8ba70f14cf361c549bf84e6d72a1a62e7272963221134620f87742804cb6868109aab31bba8f4520192e75ad39cb20375b2cac0e007662db7b0257c9f933aecc199b989eec8c716759458407f84b3e1dd0014db44309a46df72c996ef053090290e77c774722d0e52a8118256884bc0e782aab637c8312058cb3b85ad01186540e6d69b2d1586b523ec282fcb88a35928268c2003f87cb58b58bffbef4f636483bb06ad58fabefb958cf1bd4bec44d14be31c31aaa7cffa839161fc9be6e1a04f38ce2314ff5b3e039e6d6a3b4fb51ff0a30cce255048d467e27baf6cc2df950c0d629c9b352584d313291b38e5963e575f85bb1c00daf21b9dba8740bb842153a467e87f43983a8cf2691e9de3a52a6e13487faf8665ec639a60cb688426aad216d3f5b9feb89813a28979219ba6066842145b6775ed827023728685df857d190eac57d1acef555c9b1e30054364b730617a90c8582e5e6f66bfa245b0c53705530c6faa4011a0d5b94d15c65555437862ad6919f0182e038080fb3cfaa0224e40bb69403f8095bd744ec178f2855fa08f3e94e7dce2b64a4383da62809a8537efc0dbad167127eb170e69dabe6c142ea8a65aceca2a01c5e3f816d54e77cf08203d24752f7e99de231d08c3cf5f8481d7a94ce1ebc54f5121825a700eff0bb3577a604a0251bec7019a08918427bfd9e376cfa7b47d69fb888339bbca64b0b231f64d373b9137a1b1fe8115eb85447a6f3791e1f60f397128b60fb5a81fa713b712a6fc8e48dedf81c362c462749f77d2244ff8bf4d20fe40dffec34606e8e1faf9d1f67bf1990351564a4fc613bb1cf1f871e03dfe9a099c812aa349edc0fb581282ace5867d7ee1207cdaa261219cad381b446a6051422aace3eedcce741338b593b9c192ea3997886e88a0e38f5d346723cc0e94466f49d128f9d40d2f470551f3105ca0dfbea39db3748f6b6cee706a1e17783e228c3f0daa4b3e3f72ebe1923dc94f18a66119905ecb0f53fa15cbf305004a94d70ce5df8dedd76d071036e9bc99e76a345009cf5424cdbd7a877831408bfc4d6a3321e33bb0ac2fd81bc405bff83f7fc4b8e558af231d88fdde4ae4402c8b743964cd8d543378f6212ae6dd68b2e8efcb62d4a7d7cccf85eafcebfca7a1d06b0b7fa618f8ecd7c07cbe40183244aaeba1c37520d464f9d96dc392f3f7cbb806f12c2d867b94324d35854d7fca5454cabf5de6fc7225ac4965ca176f9fc8f1d62fc1b27a4768bd9d6a2bf7d10982a01d9e953d9ccb3b0f20e79a9963b365fe4fc7a70d9b88b223e889bdd3dc17a3dc8d195feb4f39cb59f590e464c8efcaa445a4d5ebc5501fd0e91040b639ce3b4b2574a3eabaa60cef9334b1a384da9930849f36e01b8c8dbdabde85c3b02eb6b209fbd57028432a17fbd3ef987d38ab4157f02a5578bee71ed0a28c58447dfb9f6f15647831c20dcb82499c3f1484b5f4b1bf0bb94b57b5483e1565020f134e15312dcfdbfa1c6af51b6d9f486d39977a96a53f028c2cc0bb8078ee21059dd44d455aeb51daf1579abe4c35e6f1251df752d26a42dee8c20d710b173b32c3990866d1683063cef6cd8ed1512e109207d421cdb7d7db8c9fa2797d6be3ee057b3207c86846db11cff0a29e07d23fe6a4eeae3943798a76acedb3d38797f6f094ee1ad6203a3353fb120811c3d18170a774b7809f311d404e861fc07a0c0fedd8c6f4529d401086b948d1f373c60883b23c0eb202a9f98e61b501b91bcdb9a20d18e62c060e21d192ec0924164a9d7bca22a6668ac07fb11500cd009cf80eb0ce8576470099123686ac16ad32184f124aeb8a6202fa58aa2b9adb0664307044ec969b4d2dc90102f6ac9757963b0da6bffbf5aaf7928006653ad9a8ea285948d00971ae4067efa7b37990ca1416cdbd689e950a5d3d61ed7c990915cdd97b8d273223df3ec242e6f5b48222f35059f301b28b876d114ad5dc26caa9964a509c9d4d82e966ea94ee9c2d5694304e37187dcdb58c3ccc4eee8e786b33f37c08204d5feee88a96127710bfbe00d63fb17b397210b11c508a5138d9a7d4f75ddaf882261ff1b02f05975e2757c70bdde9208ceaca0ef1ed4c7ecf2b3a2be1c1e11ab984f2dcc580dfbf03207032c10f682a19398b47d88940292f1a5bf780d6f8567f1169130742ad5cac9c42d546d6581b5df8ebd7d607ce465e6eeb9b12fd09a520d604a2ef348c2fbe7bb1f81551d67433b1d19438682ed0d46caf8fbe0d8ec10d85ca71a3095eb76d34461c8eb5a90d39f3c97b1f619bea1663befcaaecc97a9a08d4b335242319ded480d826dd35894f64c49cda13102d9aa126aeda4365accbc7bc6aca9a723537991273f41c09ecf009908b4f18de6729f6d16ff598a20bdd46dfb62ac08ee67ed91dfb8d992a14382293129d9971c6b9ebbb378c87ae9704fb976943e02abd29a7febc86e00488677d575d501bc3e8485c4b1d80a343e1aca737da8d9fdf589255a51fbe93efb84c43b76934675d63ee93e1234e299101b7b99b88f152340dd07fba2d97abae648173b2a58546159bb59e83561df55559bc6008255aeadaf56efd7035ec0dfe1bf45483224712b4c0328d78faa365694df862d75bedbf18d9737171351d1e7a19e8f3cf7a1e05357a728e711e7771d159e7712457af1a6b678f00758811a8f8507fb2dfe4253abbddb89553793d29a41cf2b64a5e824b78afffddcbf81342fa0877e0c88b9a97323e1102803ca2541bd28fb790b0821597d8661bd4fe524b7ecdada89a30cbaef2cba546145d6ea4b985aef676d13cdad1d13cd8d086c26cf60dcd8d33b21a4e7a8c5e9a1abaa5938282288f05fcd6143f3ad0c22b6c68bda5bf1df2ee6ca00dbddad99f5013125da578299fcd0ea8b040b2a0f854331355ed1e00489fbdf862a81aea97b1a417df3aa530f7843d66516eb997b1ec517eba23f80eb38c4cb7ad5e488081431425fcfc272584f3f24e29ee2023ae1c197c3d6f77d2ce54b5da9d4fb13e8aad9915d17afd2deb55bc6adcbcd717fba516ef6d79494c8e0efc4a85baa7a97891706e700f400d9d880707111f081f1af6d2ab9e3f375ac60ae923f9a1d92037b143b5d4bf238af35930b876f47afd3202a2279a8fcdef568fd192da1b8504ca9daea018c0c221acc76ddda58a0e373d0e63817ec36d026421b74b87bb5b159d9013879083a298e5385c3120e3b853816416c359d0e65050adc3b70627b084ad7149ab461db9e8335e602b903fbeccc2c12234f2b67a4d30fd2b7a19fc335b24c76f0e52e75539dfa2f7c4f00f8afbc442fa84cc2c830c0e935ba294c1392c874a369f75505093346170727a1fdbc7dedaa07df03d75d5ce5dfdd9acbf82c29c20d3151b7b99b47e9d085df2d14514df579739a6d25b825322108ed2da49e7c55f29f56ac490b6e1c6f8bd20fa9d979211d69523da1f1ed38b8208c622e755d6dc839b2816c3c377e5e3b8a4519cdded01995fc42464acfcd6823712884804629af7530a02a46798c8d28e0fd8cb05c8da263c576a881d1f7159301158b5093e30557e2d4496e35ff8dccb26d8fa29adc24456846acb017cc99e28eec9f47bc406c0963e3310d19f51f9b402ca86ec763ae7d5f96ed3d3cc281c4ab0fec7b0f7cca1e3b0f68fe144c37fef2537413c7963309b35ddb8837072d5a84161d2e4a5e9993aaf70eaaf00023434f97bcc0cdd1f5091547ace2ef0e2c31a0b4dd76829dadaeb4d9eef354658be6f30000000000000000000000000000000000000000000000000000000005080b151b212a2f', + '0x4ab6f25ef80ba48058c2d61227fe5d23e361da025f55a132220efdbc7f4da66b8a1ec0ad32b24814d5a6994787e196f9e67aa8a39f2842283760c11e22824ab4d1c76862f7626270068f43df66c4185a967a7e3567482eb786d56710c22b72fe4621d24eb6bcfabda8a6277a4a93edf7e854e29f09ec64671bc2e5dd3ce6fcf365a96a76d510f4866ff6bb6f8499d1fa05bfb4a4ed4589bfa7441d48c87f3873002ec1b567f78ac00c551f658c7e9387d3e4335a448dca31f436e74f48d8c094b7892ac727e50fe2fbee08ab3f35800bebbd5a08948204f42b501026385e47413d7ffbf340872f5745aa710c83eda706e06e2e2f6acdf76ca29555824551461f142c2818612cc7c0db8aa0fcf367943f462511487fcb7f0ac1f3f32fa0a1fd0081204efe0afec37cc7688ae3b42ef393b44e2a6d525019e7044be5581caa746b3b52645ea5f8c51e1283f7b96643ee2e555e64be25e61b977912b41f35f220754d75921b8825fdacd28113ace0f92fc16e8b1832a49a31fddfb27e86cb13796b4d93969a2a01e37ef145d7562b46373a40187b92f5bdc4000580092eeb95ba42f3bc8c173f24bacc11da78bc4a41aef9ed4f15c335b42d2d567df3205bde029bdb1f2aa4f9fd6f957e117bc11367180a1146a72215c4375141c2eeb23d94347c60ecfe2d020875f7f16713d5700e1b0a06828ed02188de568232df5c2cfe3de06f1ebcc18bf73b1e697558935ca815e33dcb016c0569e89958b785fdfba785076166ebb4a7fdedb38113e07e0fd78ebf530b373e852794d2c75c7036987dd67a353afc82b981d636fa4af4846671be5e9592cf96968696e410332c00655c6a7b0cb8b963987eaab5f362c4c02407eb7e5ea87c168ffe10e09850e58be664f1baa9cab53d4bd505d6d5601275ca11ac8ca556540a08a92cc6d3fba1074c4ee25b12222dbef35cbb02dfcf62bfa9023a863da55c9a3dd5496127332435877293dd3a5e261fdbb86e7d06a51e01299d4a1cc059d0e230f3c6741e81de2445293e2e8dce38c9733764ddf42d1d02c1ce0e680ce4679ab0724fc7ea826d424dfe3ebcd4f51e69ff77188050414638e079e9c244c23ddcd18eac809083c2d9856d4272ddf9228e4a283f3b504c7284838f2b11f66e48faf8f08740d4adfbc8dc06e1255db5b0383960b20c3c609772e53680dd447c5d5c12c8b2a2dae8c963f0356ded9650b35ade53cbc3daf7bfc5cf8d1a00dce0a1b8105aa8fd596f50ada58aec7de03b42c15d47e9663056b0704203fb06917729281780a6242528a6f49197cf5381c3991fe116490d77c622d7e62272094f04cf9148ded57af716d87e5a1fcc276f0253abd21d1e1366d45c6a5a05617374b7a6dfb524c66d1a4539d0c8a483d8ed6708dd491b475eed89c46d6f7d2fb547363923e95fc545c0f4031227d4666615c9a2c9352f78167017bc7d644b0032175fb98b6ab4f0ea498cb74508f68ecc05d5ff18f5b30d178db0a7b3f8fdb1997266f72cc889b159c202a719a68ad69e16f413e777b5e660683cbf3d6f7cb1582e14e2a0e61943c68abf2a0d51708718a3dea9f0152930df8bac86855f210b5502b49940f672f32685bf0cb0690be09a2366f64c37aa4295d8cd7bc12f01e6664634dba8e5ec15e773ff8577c7580b9e8689c8dbf0e9d34e7b7048bcfd1e1198b18f408aa8ec76084cbc493bac11924193aa06f2c24ac1ebd44ae5973ef3f5c9a074df1a01172590db513d8ebc763c26cb70aeb7bbc6a8ded27d2cb62b44a719a7166bbb2219d894c512138a62618810c7c350e9c60532c08041512b74c585a5f927288f95287d83e21339dc6fb09c23a19f6978b90597f96d63b3fdf0f35c5b875eb6271a7d0b2b14479a078db2df4557ee8c026c199f0d2fd3de9732a8a94b954b7aad12dbe5039cad36d6dc1957d8f046f7075810a40829f40903eafb2c4631ec27703e1a5fbaafc8b04a52006ee70737e2bce9ac283031dcfd29f595cf81716ab6b77a95f92ba421e0eb1a5748f9033c26203e9f1e4c1bca6aef7d93a5c4ae8819aa4ad4b2319f485289e40f845500392faab0bcab3498fec02401070760edc9a081c06e0df5d66e700c66a0f87d1710591d6e4f8b87b7231a4ceeb7afd19ef315bc8944beb24a07e9a6a30c92309368053c5e12473162a59f2a2e11125b60367bf8c3be631cd5ef5e5f8c0cebdf777fa067664f3d90268b2dbeec6ba991c1311a89910a63c2eaa3b3dd2ace7a75f3d0ece76ddb4323173d66ace92afca183f0b1ae5e390df4f229fd61886269a7fa40db4ac3c20019e9104599ddff2b898ec94bd6775e13877361c597f8f5b172d39e738cb88956e6a3317c0446da4048d9c9faea8c406918ea35d4ebf5109ee5d94e0ab836ab45c1ce0386ec6abca692153108e36bc0b807a57ea3d2e9fb9172f4b88ad3102dee2ef106e75930b62c7e7277d2d40dd9a2038fe1c1a22a2e63e2fdb5524d300259ef4c89c8bc3328661403d0b83add0e985f2710faaa45f045187a9cd58d6637b361cdc13759f6a1999dfc0688ccac2e93403c331cf3a41390b23e2a1764858fd66035615bfc56fe441a714f601c3113b4f10084ea91590f31298d88bb127fd6d881342a7c4b73b46ac92c75ce820fbf9b6cbbf2d1a6d1b78fe3a77153e8b8c57332ffe77f696d08498422e5f24cf1fb50635906f9772c2ab96c31bfc7485ebdf384c3f9c81135c561aef62891980410a9cfd67c64476fa00b3c5f97ea8aa019c8a588907c3e56a52ba15a3ca9bf62b6201f64eb099991d32da6f3105b13426e6042f1eb9e322ea3cd7b44b2a7a5aa0bfd11470569eccd05263dfedc19c6446668d11811a41c1ce786a9f67468de65e7d5c3cdcfd4d87e9e4e1167142471155eaea5a13acc1107783d46e6a07ce300529d5bdc0b994a9f1fd64b05cd444e2ae6c46d13a621800eb5aed85bb7417c8120038f4a464c056beccc15edc19794c5637851a5ca2e3839e61b96ab7bdda4b753b45f80e0c7617da2c93c94654cc4ce493179725dacd4b36d6b1fdea2fc36666c9a613efde6393a0124e7ce2a46682006e9e412deebf95857fa1268eee47db8020cfc396b1312bebef7fbd91f3068578132823172d3106262932189c414657d91223be54c38f904da140e8e7698e97c638bc3da3ac2c509806e0aa8988b6f67a4c21129afc0ef81a12fd7167e62a8d099cc5b53d1f0f178d6ace34e332d946e2381a3b83a7acd728dab5f9289794d97330e3f268db3a7f1d1dc3a64f76abe28a90af02b4a937307aae47437efef47203077c09102ddf61e5b70d79cb863d3c7e15a4037a27ad558964b67a53152b207a0a653f18f2a57b6393b5d205acee98c3237540c81ce7c0c0302093ae4eaf9d732cfaaa249a33c0ce9adbb21ab254a8e0c84b455b59dd79e586a7005a33d250229a5905e5fd095628a723f26e25ca355e6cea5bd886f15d51bc9d57284657ff29553ee12fa5c7c7e9f583cfe773fb7e0d8be81126d11b49d86f3a684e6474688ecfec1c63568f78aed1ede646844d975904d5ea1afc5b1534b1a79bf0fe09868c08feeae4be403f072138cb04553d5d33bca5069760f400e1d346f6c38cef5c76972ab79263f29263f6eb488941bc19d16d04b59a45eca76075e4e192350691a08016334072b220c4f773122aa938194ef102ecac003e3c722d6c97cd902bfa2fc230aa1b91324e08edbb832eeaafe52d190f65c7f35a3fbbc6324322ade3c77f95bbe5d10eefc3e93288c7d197f6208e0fe32a7c32183d5cc6a5b48104ffee13e08965bbe3566a4d467e0f8f5e2ea7901bf50d3d8462adc9420f1a90da4697f5cfbc266a08a1d5062336308fdbc995c3b149787be2a47133de2402a1bb1033f476428a7a18142e9b9db719305f28f623f8b2d14d3136242d430ac16d1d9540f8fc5ed088b6d7d3af598299f24cfbcee4787a7b947d8d8f6abdc5bedbf8368dd276a9957834187ce902ea842e14b909f919d4436e4ffef7e0542de98b64d466a2c74b388b065d596dd77728bffbd701f82f5fe4da0fd519f36eb12065732872ebe24be1286a6e49268b42e412439df4f40cac39f3ffa54548cb1262320268714b0873adcd571eeb75a3cb6fecc5a1efb711aaab8576e74be9af05cfaaff71bb4c0bd680398534c43d5ccb9af62cca045fa3652e947b257dd0ca7ce67ab6250e1e072504e6fa07888d928384c30a4c87fdfff91a65a010c5beafd7cb5048694373fcbe1afe8021fe40800e979f990ace6d6cf4b84d256cc023e31c73833e39bda5d0e62288ab1024302176de0f72b95e73ba74b3381b1e2560a3f493ed5875a9cb760df5eb977eed4adc1c050b5d287fae59f71082d51a1a668bbd60907e7f7c32bee87893c24d998bf4cbc9a8d26483b47844494f6b53f706da267b6b29d65caee12a65a8aa79487272e8ae9a5ff98b7ec7f3fcac1cadf035b4b51b4a304bad8f1268b73c948fcd51717fe7acc5e51da03b8080ee16ef283f88592bd089957f603462ada645ef981a168c07ac746d93bd3c84516997b1882d95f576e53dac258f32ed0a30d78c51a6c8e91ad5a95577b3900333bf0df802d5d9d1a254ff4c465dc520d0fa9c1230b97718c927f745c2a62599577070b158b2d00bfe611e67c66659484168f75ae434ec4bf623480637724d65a1bc6b90b5d35de244528d908f1a9c2ad25382369385624428c151ec63463195b99d671fd411fd2a551a26c88f943e45d1f02c73bc63bc05cbaa9c7fe7105f2527ade0c59fa23449d38c8078ff06090053916c4ab1676ad5a6e7534a33a2a0b1cb6865b9aae44780286bbcad6ad9b4d482b2ec19953c9bf56dc1f8f80d418362274c802391d8a1c54796c6790ef5e19cafed7a620abef18d63ef11e876c5c1706f5908963da6df8dae608eb465aeb7ae1f07fb6dd4295168a9dae96f59a535ca17475972ec4815726bc3afee58ffd5444be1b61f96f1423446dea23ea2f030a3516799d703fbd056c418eefaf10cb1cac18313a2fac22ce81cb2a160d691e600e0698a8af49cd27e2d6d4bac34a64cb9e9a1f3e52b64e9535f52fdc74b2c6e582ec61f1f1b7ff57e0584ba6b260dad03d2a6bd5dee24797455b04ad60d8834943eacb2a4c9595d88478c57bdd62a64a01ebe89dcfd133b480058229186ebfd0c741baf3ba5a732f805f2fdb8bdfd4c42f4ec0b504b1a7f687b592d69556619b632ecd3c4034b8db6fee9d4e39602f055048f727615c157dd91a8eaf09cede634ed3805a491fd92360855f65d365e1671deebb83409304c8ca56fe04a179f05ce86866a098cfde962961bb94df31a0935864e34c164abc64e150de42c9e1921c9cf8653243afc51d3a8994f3c35cb38078ab86986d68b31317544e3c0f38ec7dcf35e9f3bc1ae2b6e0f317f75f86e1ac263458500760fa857f499ea08bcfb692210929672f58155030db610837c38e45362796aff35cdab241704e1ff9ec2cc7ae04f9454fdc01fce49720d68c564f68d93fc019776b555430d46b9492eb01fa45facd6d140ce34e3ea75d2ffa5f420b81cb3039927943223c51ccebf919a94990918b5abd030e4be6a43d4ebe8dbd04d4c93357744273fe7ba0e637d987edfbd81ea9dca08435115b620eccd91f16c9ae970f13d7b14f5d20adcf75b414f7934acbdc1849ff8ebfdea9081d398d06edb9e624ee9ae4d2d514432431f76a77d9a84a6004f624f10347e4daa76d3d9a30217ae5c9d6f1eea22727779c6ebf97ae9f6b1dd1d5b9979322d5d2a71f87fac9f9ec4f6ef0b9cfa482db18bb442204da7b92291fbf161dd0402da358a67b4f93b647c24ac4dd2a7bb07171eebbae5a4a7f97fe5a9e14b152e78acf13abecd2204f7446d69f3d1f4b87eaf6c26fb0ea2041e00ea3d410c721ed5c3182bc2ccd881e00e254065a961cb7dcadd08e2fbc6dd092fe886ff9b0690f1f7fdc7527f4dbd897d680bebaf75043727b19a489304450d162ccb772a82415bd8469aead10a7d100e8170f6d4c2cfe82e173f79a78530f0a4237edefba5d385cc412c93cc55069a417d9b75ca591b80174bccbb32d2206b15eadbe79a8879749908d5ad70648de947655ac9a4e4c1d52236e92dd162c53bd060dd546aaed958c6ea96e040b28a03b379d69b02cf8ed6157561ca76169bb605b421617f88d4540abdce8aecf22725035c1b694dc9d73640a978504b8380f8ec3ad955ec6880a6441d1db8b8c6572b1e70a4d8b69c21fa4e06ebb9d74431e1ba952cafc4fbe7665184d2d50877e580b4ee90769d20379634ddf2f840283f577e318166d9c97e9ae662437cb3bcb218bcb3b5bf61f1c24857e62b30e14a6aef237feace9dfbfcef5ecbbbed2f111928a0a7e95b9df4fd3a19fc6ce6904e9c33b4b5ba83b2d0c0b4a84d9e510151634686bc2c3f31745535499b5e0fb1f58699da0ccf2f5fafc6d7d9192455f6b9db9d100062054757c91a2c1db0423344f889bf1f400000000000000000000000000000000040d151f2329333b', + descriptor: '0x010000', }; const type0x2SignedTransactionInfo = { - raw: '0x02f91cb18205398080843b9aca018252089400000000000000000000000000000000000000000180f872f85994de0b295669a9fd93d5f28d9ec85e40f4cb697baef842a00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000007d694bb9bc244d798123fde783fcc1c72d3bb8c189413c0b90a20da218daf9d5457bee0e2381250f7ad3159e8a243fbf90e02c2802e1722cee954758875aa00c57adda2736030ea7fd293367c202298d7125f4ca8bd83d0ee8e8805f4a9f2d3915d507a581d59a80491575ed69ed994a6650ecf8902cb056a6d5f8b59a46905ab1c58094c2a5a388de306486dbc23bf268ffa272e010182e8e9e23c07f55a866e59195333a353aeddf3cd51c22f955c21977d3ee9e4ee6557f30edb5d2517c04f834f6825a7a162323cb8b679cb5d2089190aa3e3c486b4b9895987b47e1b475ccc4f25969bc95ac24d2fb3cfcda7330ff9f949ac06a2b7a7293ee8463dc38a9c55d4bb5d8f4904836c29764931b0c3f4d1257871b132b08ae249fb40b61bb75360298f15345d4868b7aa4f06c485b703f6db84d2d5e1e70412928d6c6454a2a019540c518243e18e17404dfd781a576a34e0f297bc4fa69532e717cb9cadc1feafe4c6a99e31cde842dc05fd19d8c7131d530e9ab22b1c621e9d4a2ffd444376f0e0847c0523f56f345669fe88bb28492ed23dc822f83be85eb035695eceb08fb24fab3fb6cd54ee5972d68664af9d3bb4213da1ee11e95070eb45d033777eccf9efe54f2f23bdd0fd64cd0b4bd311d941f108fa13166505944de90e25fe50d4d4be8118d316994b53bacb96c92a4f4048e10fb01d7a8e89d7d0ba37f58ba37e1c399fd1d5c2fd0ba1d30231432a0592d0e06b0a18f0decaa3ef39e88c6d70b42bcc80e28f633c99a89e411d300ff78c7bc93f910906bc9d9202f4ce3b9a1c37432b4df23e053297f81b965ca0b1f447e323a2e66c9ffb75ab1c8daa2a9b239bd87bed1990f4dbf9747005950aa73b6a74da306342a63dfb67d5042f16814f08bd3fda8b572e501ce0a03111f93c0c1d3655634435f1ffc3fc000bf133c926bc336304eea648a7a1c7ebdd65fa593d5c11990878b385499a394584702fe309073aa15420e0d0980165ae7213dae40890babb2bbd3f7abf648c9dc74feba7c0ec8f0525bf5744744b9f5b28f6ac7f234e4f425f4bbafb69714abd911dd0514fd53039c13f72b1074f6c5a229f9172628747079193592bf74ac9049c2aed7823e9522ffeffb7d84887808a5e0814407ebbf514301fb015a3f0fa0c79d3fea883901f3bfc493569a239156f29364a1b43aeb4c3dc6a975ba517e1a6e8ca66b60e4de5326d2d65d95783b050546c73edc37175bf2dac38109c4cc6711c4f6ce4b7af5313e1967161841c11cbbd4f998d5d6b6b1135c9c75616ec88393300c199a2d602f6b048302258c6bf8960434ba6d3d6108a9d8fe17569c1454aedaa7b383975f3ecf1565df1e007744b9474111756a9b4471475dac9e55bb5eb1df67329aa077c14bb8aebac457ad06744e6b67238e1416e14a1c8c84d7981bb42b41562b10b9ba86809f47d19bb2c6a8a9f88559a9a73fecc7f95d781501095fd0f7493ecb020b35b613e2c91db655a9c85ae893e4da69e1ad833fb40c285f09992dbb6b18f154b198af34e3088928102e618722412934ff0bff977d9195d3eb520f8edb7cb08ffc9eeb0f60d02d8272652e456fdd28392acb41ce12fadc83c70dd742abd2015805f2b3713995d1d99050f08f9f88366cf5870b827dadc5bd20fdeacd672df857330be4e1b96838a0d8e97859fd7127d355e51ff9a5e43697b3cedaa1d62dd3aabe28fef97eae5cfec98399bc66f7a34616f95dcebf7eb6563a9115c13c46a80d564e669af08ce600ba0fec9f15a9422b1da6c3995cbff0212626c118ddf77721d84c938200bc9618e7234e3137053eb16620942e9632684e73163f0daad57327999e800c226a09c7083581e3b647cbd61e42a986ecb52f8e64e4d3efdb3fb942ebf2d1638a5c567115e6d33436e2f515e15b903e727d22c1945c968fd1ba1d87093e7768b75cd6033f2826580e85bd7c96477a62b1956a8f7aaba88d7ae095812acc9b9c33a477f3f920e49c7443bba90561b7804f6fe2bba598103507c61365bc11aea34f9f84c0e3a902eb6df4c292aead67699a63c1f5a4b87beb14b2e45537841902764b459b90ba378aadfdcd125deb953413fec2e3e1e3b4f6e435ae84cc7951b996a03db7e49cd1ddeda2041c99eff5dc9c85ffa383852ba9f9dde80cfe8c0353a6faa24a5ae307b8bd863c14f6a9b5b75daf8534118131b3b32b8239f51f6d5123ced24e9bd251d208ca40fa97f9e47fa79f25ede38280a5206c10281a8d4a8459fb0fe9dece2cc61f1ced84e7b5744e59312e32de10c82be7f81264d3a775a04913ce7bb1f28c25037f4b3b2ad5790b3667c9e309234cd161c36f7a71a0145ff0a7c9c1b9bed601b4971696c1979ac3ae2418a842e50c33ed45fddd0e319e48f72583cb90a4b08a57983f63918352cbc6f0a6d345c845f0f2cfbebc25cef454dfcdde04966e63e37d0b2060a12bdedfe3758c5f38a3c7250271ce9dded0e2c37304bbf668add831f76902d42041b9e7a2d77e9e912980be070a0dd84f3523055a86d84b7d92282974ec8f411e26aa88286b6a1314ea9a0b3d3ab100947770238d6a714d0e2ac9a1b7b3cff7e54c33d8bf7a40972418dc7fb205d7c29a8ad0a269eb9f0874e1ae2d37485e9fac92bce8c267d2feaa63f1fe186ae0cd25b626246b2db984941fa6eeb2b2ab14a56aaf15da2458b591b4862173a917a404725b9fee25539b948b2e2c9c5f2a251e9f88cd301715aa221e710228a0e1c691e0ea91414d7ddc6cbe76b572dd904b8107e4472e5e0d694ec8e4cf29c79ca83206c9a8fcb8e77a1157b4f7c9a68ab41520b5e2c0c9af6d11109c259ab5dc8d1f87bc83ebeb4a8845519833e42883ad7b16752b2ffbdc53ececca688b97b431a33d4223dcc32be985ea66f255ae44df027713ae10120e3bcc2eac966d974cc6e69449e959d7eb783855f975d36a8a5d5889db3137b338cabba16284d87965493bb07cc5639bb017499d5a59049a65fd5a0a58568c8c93677491b45b3099dd3ab9527dcb9455d42e7c22278dd800187a8fa016ad0ae3a5737f5ac6fbec043576cf5298150daba87066fb20ee074dfbfb330f4d9321834b35b43e9448997b254e78e1f2c5a4d757e4dc5bfee53dedcc863c539273d7135b063b724bc0edf153fd1f2828866801673c068442b38bcf45ea3bc006b84aaef5e8cc1de1d00e10484b3a59546c4b729595bde6a7facb5e1f6a041dd52307ec9ca2d1ca891eca2e2f0803ddac1698d6cc07d4ee381c06e9d232676c1acfa03287000c44afdf6c1613fa3ae499acd852f8a43dee5f2f790ab6b56a3010d6f35b6d0d3d185540f21593b8d8e75c4938192706ae087555ebc1e48882f1ee46af8256964d7fd4fb9bb6ffa60f79036b17e46d7f210c25fb1690a748dcf33ae74b1f44290fe1a46b87333def13630cc17e7e1290593775b043f817e603675dd16ceb159b4ee6d43799c2ae23984465e0942a64e30da1271d5e6194585d3ecdfe2302d4cae4ca388a516184e333f0d87103ab6585a955be8c7708c338fe1775b04486721b008cf99fd1f6d1a0d1027d975b21086fd42d4037f7979eac9e22108432401aff3443c5aec62e5a7c44bcda3d0ccc0e1b56c611f69b84500d2649f852190eedd1eb9a121d476dd26f81c6a52859c1de36066e8ce44a9f2edf94717b0fe445caddbb911f30935c5706443302711732ba9885ca7bb6159c5dfb605c342c630bce9c4df9cba359818f330e3593c627a2020bc762b8dee97106effaca61b569a7f12b5b8c2f9a38ce92927ce3ecdad3c3521443347ea9f63c9fe448709002047f28671758100e5c94e4df05362b16138752bd5990604885ecc8eaa2d2466ebf538115370c72b5985c9f13ec04f762e3625fd433248a7f6efee01be7c22f1bfaa0f459396ad0255cc34d0b3e1e4c1a7b556ec9bf017e83bee29965f2fcf90e92c38fd99ec60fd4afa9eada645eb2bb7cb53b7e67211e8555a5fff6fe93257c975bc13a39681542eb5be699554f3b0ecb8b9e3d8adf0bfc5631355aaaa191dd45c26d0821cd71031a12338684a00a3dcf0cf1142a5185a73b8810cec81b521fed4452a76911a3e8cc06c5774d17cc45da74d6d40d0a17319970bc8920be220e1adf898eed27a5f2180b9df60164c9633dbdf748edc44bae0c117ee8650edd05158baeb9ffec06a413ab9ca6f484e7e68052a2f8721ec35f6c5dae005004dd4de715b142c1251fbc3810483b2dfdded14d98f7eeaf26a0f49673c6391610e413a58a6a49fa507e2fd5272e726a859d9b5ef7a3437e3af4c5001e7031ead37a048e32ae1cccaf1cace132722a26b4e7f88842a53e64c61a87d27c8070ad2757bc0db0338b774e54531aeb98e153e41dba39843c8d061fe487a38c6d5af11e8e699177bacff2458bb66eb5848c087de205589d99c63c011070e23696dc764b681625b54dc925b8d9b16246d8daaa910cc0ebd022b360e222f3a0c1ace07450e91de9dea8e3b6830370b1e21244ae71acaabf78571c202e59e6ad357afd8e7ddc9d1d9431f4efe4b75e8efd9a0805d91cb8b12f90d3e6e9c578c0932286438e49b4dedc3ea0a135c7cdbb3f383086bdec0328108c98c9eadade7a6b7132cfc2294c11c5caa2cb711f89ba9ced9cd4c8b89bfc1980bbe1d56385b4950fe00a2d48026de9f7a6a150f8a4e87b133ed70f894aca75960c0852abd8879051d0eabd1d9261a4dc785d8195a74819c4d9398fb4d2d9deb17bc8b63ee84100dacdaba9915a9305700fec4feae4452c53ab3868934ed02a629f79e96173d3d406b3d212e4caded40b9be7b5f377765a6e7db5c550641555251ac2ac0af8bf3b47fe5491bfe0119f7aea37f5131cbdd1d5e41c4fb3c77a720265e69c269587430fa4b5081dffe263a5fd45614258897fd454f2d15534337bcabe5538769015c2c135f3ddd27a67037d869b62ae57614f0dfec276ff9306e006a8933f303b587254609ced54432cafe59b7dd221fb84054ac080b710b2b476a2ce33130f03a817d2cead4fa151b083946ad680fe7d116f65581aefcfd8e3fbbd5657657a85230cff1e3e2f80381054d54c96e82a902bcfbcb60cf20d838f8fba4b74b482f8535554ab050715d008eaac85dab3c4919606a7f948f2e67f9ba41d023ec9c57d559fd1cfe56e6ea0e99c235c86010312c9d63d719ce73478c7a3b19b3fa0f7a5271771364f71a31875f56cc2bb567cbf874563891563d787a2033b3bfc7071cbb8b2ad7629446a132a23871486bad2bc1c7bf0ca4b217ede496907f71f0cc67318a533e259a5b5e6e6ad1e4b80ad62480103d525c9a9cf37e5408566eb8ef89ee2be6843397efd0959fd7cb0407b3700b2e0bf5cddf38d7d12f2a30637519babc7d2e22292ea868f2338dcc3bf63f4977439cd0984fec14de470ff940930be9614ae27d4a9c7d7e6430591e72997c3590a42538d5624eab37bf0f4bb84a66393b1f0f23bf0ac9fd439ede4eb58d4dc2aac5dc45865fc05493bc97d7df1d72cd6d0f56c90af76c9053432719cd8ace5838bd4d4592835aa4fc6466cfe43e60715cd8357a213449e1485ea058514e1ff539271a5434babf5d2f53d2ef82e2549a5e7ca68d6659e1b959e17cab4718ffa27119a3bc5238693d38c7fd1c4d3a66ddc643fb265ebd5f4b42457a64c7e20df6213285239a4aa1299708b304916cf3e3638c8dd3462add791d93c066e335beff662e43a899fee8bfa3902a94b0b8ee4c417935841dcb45207db1270ae584bfba4a1377e317cf6c868715b23877479c68b21c24e2e12bc9537aabd3093e5186f8a78acc393404a42b8a7e54e9fc7ad472e10d34cdb90ca8f94ed9484d37f517b465895643be2d26bb8130e553e7b55c66847671149567c34810b3c5f7f583eaeff39fca2c82ae5694d109b5bd5b9f24309df592d9bcac06e0818ad42de3b86cf52751244bf53e5e3dc2d47277ed6c0219d1dc3ed861462abc1df2759cc457e04971cc4aabef5a8798bd0b3805933fa73b15f437bd01f054d432dcc5f89a1a59efddedb8c78265d1765c3d538f1cca56611347a7a76d5fc1b28b48c2785008606a3b774461fbfd14204ca4d3a2b687424ade21489abecae340b10f0cc4e8a691f399a7a78cc573dc5a2e580845c8ea907f0c0a2145910e5c2eb9edf9230a94337572678cce9b33f48cafe61e494fe44c9ca24bc8c5b4a7f1cbce8a220f4b8d97156bc1cf91a43c1d71dde2dc621b77a3d94138d35b4d67f78e9c1c27127f4e8333039642f814398c21712eb0f3b27ea594fe81d8cc796bd4f8bdc1dabd916bef09bcf0bdf9034595d412675a4ace420f5105fa9ca1ecab8995bfb833d4d80f54bed43571aa411d8ba70f14cf361c549bf84e6d72a1a62e7272963221134620f87742804cb6868109aab31bba8f4520192e75ad39cb20375b2cac0e007662db7b0257c9f933aecc199b989eec8c716759458407f84b3e1dd0014db44309a46df72c996ef053090290e77c774722d0e52a8118256884bc0e782aab637c8312058cb3b85ad01186540e6d69b2d1586b523ec282fcb88a35928268c2003f87cb58b58bffbef4f636483bb06ad58fabefb958cf1bd4bec44d14be31c31aaa7cffa839161fc9be6e1a04f38ce2314ff5b3e039e6d6a3b4fb51ff0a30cce255048d467e27baf6cc2df950c0d629c9b352584d313291b38e5963e575f85bb1c00daf21b9dba8740bb842153a467e87f43983a8cf2691e9de3a52a6e13487faf8665ec639a60cb688426aad216d3f5b9feb89813a28979219ba6066842145b6775ed827023728685df857d190eac57d1acef555c9b1e30054364b730617a90c8582e5e6f66bfa245b0c53705530c6faa4011a0d5b94d15c65555437862ad6919f0182e038080fb3cfaa0224e40bb69403f8095bd744ec178f2855fa08f3e94e7dce2b64a4383da62809a8537efc0dbad167127eb170e69dabe6c142ea8a65aceca2a01c5e3f816d54e77cf08203d24752f7e99de231d08c3cf5f8481d7a94ce1ebc54f5121825a700eff0bb3577a604a0251bec7019a08918427bfd9e376cfa7b47d69fb888339bbca64b0b231f64d373b9137a1b1fe8115eb85447a6f3791e1f60f397128b60fb5a81fa713b712a6fc8e48dedf81c362c462749f77d2244ff8bf4d20fe40dffec34606e8e1faf9d1f67bf1990351564a4fc613bb1cf1f871e03dfe9a099c812aa349edc0fb581282ace5867d7ee1207cdaa261219cad381b446a6051422aace3eedcce741338b593b9c192ea3997886e88a0e38f5d346723cc0e94466f49d128f9d40d2f470551f3105ca0dfbea39db3748f6b6cee706a1e17783e228c3f0daa4b3e3f72ebe1923dc94f18a66119905ecb0f53fa15cbf305004a94d70ce5df8dedd76d071036e9bc99e76a345009cf5424cdbd7a877831408bfc4d6a3321e33bb0ac2fd81bc405bff83f7fc4b8e558af231d88fdde4ae4402c8b743964cd8d543378f6212ae6dd68b2e8efcb62d4a7d7cccf85eafcebfca7a1d06b0b7fa618f8ecd7c07cbe40183244aaeba1c37520d464f9d96dc392f3f7cbb806f12c2d867b94324d35854d7fca5454cabf5de6fc7225ac4965ca176f9fc8f1d62fc1b27a4768bd9d6a2bf7d10982a01d9e953d9ccb3b0f20e79a9963b365fe4fc7a70d9b88b223e889bdd3dc17a3dc8d195feb4f39cb59f590e464c8efcaa445a4d5ebc5501fd0e91040b639ce3b4b2574a3eabaa60cef9334b1a384da9930849f36e01b8c8dbdabde85c3b02eb6b209fbd57028432a17fbd3ef987d38ab4157f02a5578bee71ed0a28c58447dfb9f6f15647831c20dcb82499c3f1484b5f4b1bf0bb94b57b5483e1565020f134e15312dcfdbfa1c6af51b6d9f486d39977a96a53f028c2cc0bb8078ee21059dd44d455aeb51daf1579abe4c35e6f1251df752d26a42dee8c20d710b173b32c3990866d1683063cef6cd8ed1512e109207d421cdb7d7db8c9fa2797d6be3ee057b3207c86846db11cff0a29e07d23fe6a4eeae3943798a76acedb3d38797f6f094ee1ad6203a3353fb120811c3d18170a774b7809f311d404e861fc07a0c0fedd8c6f4529d401086b948d1f373c60883b23c0eb202a9f98e61b501b91bcdb9a20d18e62c060e21d192ec0924164a9d7bca22a6668ac07fb11500cd009cf80eb0ce8576470099123686ac16ad32184f124aeb8a6202fa58aa2b9adb0664307044ec969b4d2dc90102f6ac9757963b0da6bffbf5aaf7928006653ad9a8ea285948d00971ae4067efa7b37990ca1416cdbd689e950a5d3d61ed7c990915cdd97b8d273223df3ec242e6f5b48222f35059f301b28b876d114ad5dc26caa9964a509c9d4d82e966ea94ee9c2d5694304e37187dcdb58c3ccc4eee8e786b33f37c08204d5feee88a96127710bfbe00d63fb17b397210b11c508a5138d9a7d4f75ddaf882261ff1b02f05975e2757c70bdde9208ceaca0ef1ed4c7ecf2b3a2be1c1e11ab984f2dcc580dfbf03207032c10f682a19398b47d88940292f1a5bf780d6f8567f1169130742ad5cac9c42d546d6581b5df8ebd7d607ce465e6eeb9b12fd09a520d604a2ef348c2fbe7bb1f81551d67433b1d19438682ed0d46caf8fbe0d8ec10d85ca71a3095eb76d34461c8eb5a90d39f3c97b1f619bea1663befcaaecc97a9a08d4b335242319ded480d826dd35894f64c49cda13102d9aa126aeda4365accbc7bc6aca9a723537991273f41c09ecf009908b4f18de6729f6d16ff598a20bdd46dfb62ac08ee67ed91dfb8d992a14382293129d9971c6b9ebbb378c87ae9704fb976943e02abd29a7febc86e00488677d575d501bc3e8485c4b1d80a343e1aca737da8d9fdf589255a51fbe93efb84c43b76934675d63ee93e1234e299101b7b99b88f152340dd07fba2d97abae648173b2a58546159bb59e83561df55559bc6008255aeadaf56efd7035ec0dfe1bf45483224712b4c0328d78faa365694df862d75bedbf18d9737171351d1e7a19e8f3cf7a1e05357a728e711e7771d159e7712457af1a6b678f00758811a8f8507fb2dfe4253abbddb89553793d29a41cf2b64a5e824b78afffddcbf81342fa0877e0c88b9a97323e1102803ca2541bd28fb790b0821597d8661bd4fe524b7ecdada89a30cbaef2cba546145d6ea4b985aef676d13cdad1d13cd8d086c26cf60dcd8d33b21a4e7a8c5e9a1abaa5938282288f05fcd6143f3ad0c22b6c68bda5bf1df2ee6ca00dbddad99f5013125da578299fcd0ea8b040b2a0f854331355ed1e00489fbdf862a81aea97b1a417df3aa530f7843d66516eb997b1ec517eba23f80eb38c4cb7ad5e488081431425fcfc272584f3f24e29ee2023ae1c197c3d6f77d2ce54b5da9d4fb13e8aad9915d17afd2deb55bc6adcbcd717fba516ef6d79494c8e0efc4a85baa7a97891706e700f400d9d880707111f081f1af6d2ab9e3f375ac60ae923f9a1d92037b143b5d4bf238af35930b876f47afd3202a2279a8fcdef568fd192da1b8504ca9daea018c0c221acc76ddda58a0e373d0e63817ec36d026421b74b87bb5b159d9013879083a298e5385c3120e3b853816416c359d0e65050adc3b70627b084ad7149ab461db9e8335e602b903fbeccc2c12234f2b67a4d30fd2b7a19fc335b24c76f0e52e75539dfa2f7c4f00f8afbc442fa84cc2c830c0e935ba294c1392c874a369f75505093346170727a1fdbc7dedaa07df03d75d5ce5dfdd9acbf82c29c20d3151b7b99b47e9d085df2d14514df579739a6d25b825322108ed2da49e7c55f29f56ac490b6e1c6f8bd20fa9d979211d69523da1f1ed38b8208c622e755d6dc839b2816c3c377e5e3b8a4519cdded01995fc42464acfcd6823712884804629af7530a02a46798c8d28e0fd8cb05c8da263c576a881d1f7159301158b5093e30557e2d4496e35ff8dccb26d8fa29adc24456846acb017cc99e28eec9f47bc406c0963e3310d19f51f9b402ca86ec763ae7d5f96ed3d3cc281c4ab0fec7b0f7cca1e3b0f68fe144c37fef2537413c7963309b35ddb8837072d5a84161d2e4a5e9993aaf70eaaf00023434f97bcc0cdd1f5091547ace2ef0e2c31a0b4dd76829dadaeb4d9eef354658be6f30000000000000000000000000000000000000000000000000000000005080b151b212a2f', + raw: '02f91cbc018080843b9aca018252089400000000000000000000000000000000000000000180f85bf859940000000000000000000000000000000000000000f842a00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000007b90a204a0ca7140398fd048682e1b9f6df935aad881fa739e8edf166b786b20adce239c80c5988042c6aa0ab451395112111c2cfc98ab181588fec866ea22d5ae1d0e19f36e387ebbd6e6779f37dc81c1bf3a576dd6dd46dbb5a16106cf3013ed832560782b09886c7c6898f12788d7f4bf8703b57f4e782fe0f9faa92c8d669afd937c20c5d331586f6145ab1d15c617197abe4f0ba365a35d08c434794dd44ac62f84d772eded0c8a5c7c507c59acb9a7f204a661ee68816398018af802232d668de0d6d09cdd1c1237938b04470ff6a2e881e317e3bf0a83c1b340a3f4d9f3ce47af0621db9344656a4f5266d49fc6c3c2361505b0b38afe0da6f0694cbb0ec418d1ec41f12926b19bfcfae3cc83ddaccdca045fceb26919997a2fa2d86a3f93f5528bea251bfbfcd49617d7ca9db9225b3e3aa8894e4f4915db6ea040e9a7b517fb41bfff3825a9019f7c970ad9d280de1d3cb95e5d0c7488fd251d16ac8aafe410f84e87d5a5bef29a5ed237de73eb0dea82d4f74b36af7330e791e0edaff18eca7d0a550834c3395666aabd3f7ed313bdadd918f126c379eaf29f9dfcef3c9adbc1e6818a132e65683dae2ea596492fba87cc9876566f4b5d38e6b6e3aa7fc75d3c6870cfd4b3e6fcdc0bd6c87d9e3ef50e93786c5ed12ea1611bc5ef8ade809093a3ee37c8d536b4a209c9b7e9972e58a9e42a499cb2360feb5adad7e585897b619e9ded5b09febda02855bf986ad6246adb9e6bb48d16a50cafbaa4b0d4c3c8931277feb6ac475006289deb3c83bb546ac1176fa651c272faee492e5bd80418d7aefcd8c6a870998f2dd1099b5f6d3564e77c1094196022cb32b79ec45af13f30105b7bd9f48bcba80ecf73c35ba141d0d9c901697cba47f7c417c60b4df5aa0697409aeb729a8050518eb4081597852da86f833f991382cc33f0684323918fd2c262034ccea4e43a7f4537cc98c83f5b6c4733932200a2e5feb58f5c38d36f1ac5fc341f92b6a4055e5e69f37a53cb9922826eece4992295eb5c754092ff1dc22493ea34c9e3215ddd6f0a84cf9d5782f346a9e76ddf7b0f7875851b57431c54974ada9934726c09617578359928cc947c2aad847489ca70a3cc05ab1a982c8640bafd57f42613afa9725762a9d870b702aafe486dfe644053a07cb0ba4d20dfa49041886f050236e91b790f6f54a10f905d63a2bcd44d9ffc6b801a94fb853626d400e203e63e2d2cb14d0f8f921021a3cd117721dcfc22c2493c31cacab65fa8f5f992f4b8fa3e9e162e8bd860b4590d63ec52696268c70e4f3cdc478b408b74baa7b4af4557480c889603424e2942f2cd4e8b790771151d14980ee55cf25fcbb566a5c44cfcea9abc8f036831e67cd8132d89735b12a34e57fef6baa3b06317d50963ef29b463eccf15d980c896f2aa9a1d238fb684b6792fe2001c08fc0a436eb8588a56684b0257576a3210376a751a7795cbf29561e551b407259239be91e7d3f8c4adb1ec858478807ec1160d744bead021363dfda79cbc8223194e35a31958e1250363cd5ff952ed0db61191723576986368ec94473179ba3c231763851b1ab1fa8c8361b4996b6aeb0bc5fdb08159587c8bc13720cb8219d4827495bb5f87c71e3f2fdcbf09a6096ebc67959a6af856abd0d49d633410a9bf3033b364a5af76f96372bd4e91c9c933c0cf90fd925c5e3d52fe0cac075a43fa097ca317b92ed08632cc7acc7adf8c8c594274f9f7a2a65e4b899c4c6c4ceb421355e73882654895725b563d0f08cf498aa76b6ee4fc85cda819e6897d284e64221cec1ea7227b38b8e34cc1c767f745e3dc46d4774f28ab26679f58e6335441d616c329f0a5036ca1d2143cdc23dcfd30b9e8046bce1301cbde379035553681f23bd4fee6bf7a903a24fa9c6526daf0ff9ce7d1d09a8a2c0aaf083a93e366deacea3023d2668dcdb8c48c93a39109863842fb4f494b0c8deafd80da16fcf2bc681e4f3f9604e23aea6fdfde8001658a1e50d4dbccb03d92012c246ff01960b50b2cbd3c5035b59987d1d8a908e26d199eade1e55088aef26f84293fcf0d13111777410c3bd06c16419e953ed512e619b3a0790519bb6ad2260f991c1e3d7a8540c07b5176547e4935e0bb9d432dbf1804af44028e3249809e6789348927e8cf2594a3da4f4e6951e9c1d5fddfe3937698d0403d4ff5ae3309c930850c1d7e2dae197bc910c4ce124a18c19c78c45c797a877e7c6a677fb221798a25797f271f1eb422aa97643a468a69fcdfcde9e9c6ae3d0fed8a7a51dc2b250cdc47cbff38330ef71b51a38a80d046bd22d7b129b20d89acc8965555c40d5ade09714bc32e712c43f2d258346d3b2900e3f08d1153da81b3318cb8d6d33f057073063648480ee270e2d7dcffad63ae21380f897700098aee55e75d9320a9c3fce10335578975b9d15336868ac3dee7e03f49f54a3f7085d578fd1a2f6b8dc9fef10776ec8f50a614c0f8c38a08681f49dcb47edb496c3e3d83fdcf18108ad03cfefb0a7834397bf20052acacd78caf2b081b482ee83d5c72107e8136d63fc7bb80a916d3ad38f0b6259cf8f21d8dcb8289003dbf501fe814ee7da3164151dd5237c90a5bcbb157b04f7b7d9b493b4d83938bc647f3a0c9f0efaab6c5dc0da89a6b05efb59526e27efcc5c5098de85ca3feb4358af4ecd96de45acc58a3e953a5186cbb44d4c2284cbf5a9776ad539246ac8ccfd648be1638d412116c70224d85395fd5e81359f2055fe44fb26c518e5af7a64ef7462e5bd753cecde2e04dc5608a9e9ae1a6dffd3084e3dd277c3ecffb813cee81f89658f950c65c7389310b8a71327a24f35d20fb37a0384484db42eb5a9fc687fed74c5b366f3c92b42f3884ea7296df697fa33bf6640d625a5403da69856fa551d19874d4e58b15a52ef8016692318bf859f3db36a6bfca805110d0d517f80cc72d04b2d604a7be69a8ace0e4cbeaebe7bfb8c302acddf636dcb75feac74baa4a9c1c2f986053ac063beb7fb69be72e1abacb47681f463b5ad6bbc196077fa8dc7715e849ce0f7cf345aaf6d82a45827b7e817d62c014aebd5f7ec0fa6f0eb5287f90997af91df7b9fe6d6250913d2d8ad2e3d6e7519806bfceb4ef5165857c3d2fe001ac5ee43076b29c483663e93e98cf8fb5b0c7eabb8faf9e3d397c8473b7a38974ff0254f57935f121327e68afb0cb41e019e0f3890235b8e14af27b540a60151fcc5d8ffe9787a035108d95ff65ecc028536ec8edabea794f7ded04ef32d5c78187faf763a83ea33494ff77cba4a9e8af5838404d018fb5764a04ec51bea872664928dbf5c39b7b77a38f44d48869f2a5256ca5e3ef774cf2ff12b057baeac50f731b63d5cf28e662c3af34bbd4aee3d3c66758fc169f45afc309673db0ec6b7a376e12aacd1f0478961102f7a14cef96aff747ea4195ab1df8650307ecc665e7586953e1ba4789486bd8da38d467c1bb4530e890f05ca596db22c4b5709bf15676906e16292c46e19ccc55da6e4ae82da55e4f8f047a49fe0412e1b7b8ff317f18fa90d4d0a3c8f02e6f37f680961407a451fa61cdecbc9991a85bdae76535eb2f598e4eb27f7c1f00187688f12b30d5de9aa8dd7c39110396f811fedced0acf696c57c33ac70c274a0b7db730a23b912134ab6f25ef80ba48058c2d61227fe5d23e361da025f55a132220efdbc7f4da66b8a1ec0ad32b24814d5a6994787e196f9e67aa8a39f2842283760c11e22824ab4d1c76862f7626270068f43df66c4185a967a7e3567482eb786d56710c22b72fe4621d24eb6bcfabda8a6277a4a93edf7e854e29f09ec64671bc2e5dd3ce6fcf365a96a76d510f4866ff6bb6f8499d1fa05bfb4a4ed4589bfa7441d48c87f3873002ec1b567f78ac00c551f658c7e9387d3e4335a448dca31f436e74f48d8c094b7892ac727e50fe2fbee08ab3f35800bebbd5a08948204f42b501026385e47413d7ffbf340872f5745aa710c83eda706e06e2e2f6acdf76ca29555824551461f142c2818612cc7c0db8aa0fcf367943f462511487fcb7f0ac1f3f32fa0a1fd0081204efe0afec37cc7688ae3b42ef393b44e2a6d525019e7044be5581caa746b3b52645ea5f8c51e1283f7b96643ee2e555e64be25e61b977912b41f35f220754d75921b8825fdacd28113ace0f92fc16e8b1832a49a31fddfb27e86cb13796b4d93969a2a01e37ef145d7562b46373a40187b92f5bdc4000580092eeb95ba42f3bc8c173f24bacc11da78bc4a41aef9ed4f15c335b42d2d567df3205bde029bdb1f2aa4f9fd6f957e117bc11367180a1146a72215c4375141c2eeb23d94347c60ecfe2d020875f7f16713d5700e1b0a06828ed02188de568232df5c2cfe3de06f1ebcc18bf73b1e697558935ca815e33dcb016c0569e89958b785fdfba785076166ebb4a7fdedb38113e07e0fd78ebf530b373e852794d2c75c7036987dd67a353afc82b981d636fa4af4846671be5e9592cf96968696e410332c00655c6a7b0cb8b963987eaab5f362c4c02407eb7e5ea87c168ffe10e09850e58be664f1baa9cab53d4bd505d6d5601275ca11ac8ca556540a08a92cc6d3fba1074c4ee25b12222dbef35cbb02dfcf62bfa9023a863da55c9a3dd5496127332435877293dd3a5e261fdbb86e7d06a51e01299d4a1cc059d0e230f3c6741e81de2445293e2e8dce38c9733764ddf42d1d02c1ce0e680ce4679ab0724fc7ea826d424dfe3ebcd4f51e69ff77188050414638e079e9c244c23ddcd18eac809083c2d9856d4272ddf9228e4a283f3b504c7284838f2b11f66e48faf8f08740d4adfbc8dc06e1255db5b0383960b20c3c609772e53680dd447c5d5c12c8b2a2dae8c963f0356ded9650b35ade53cbc3daf7bfc5cf8d1a00dce0a1b8105aa8fd596f50ada58aec7de03b42c15d47e9663056b0704203fb06917729281780a6242528a6f49197cf5381c3991fe116490d77c622d7e62272094f04cf9148ded57af716d87e5a1fcc276f0253abd21d1e1366d45c6a5a05617374b7a6dfb524c66d1a4539d0c8a483d8ed6708dd491b475eed89c46d6f7d2fb547363923e95fc545c0f4031227d4666615c9a2c9352f78167017bc7d644b0032175fb98b6ab4f0ea498cb74508f68ecc05d5ff18f5b30d178db0a7b3f8fdb1997266f72cc889b159c202a719a68ad69e16f413e777b5e660683cbf3d6f7cb1582e14e2a0e61943c68abf2a0d51708718a3dea9f0152930df8bac86855f210b5502b49940f672f32685bf0cb0690be09a2366f64c37aa4295d8cd7bc12f01e6664634dba8e5ec15e773ff8577c7580b9e8689c8dbf0e9d34e7b7048bcfd1e1198b18f408aa8ec76084cbc493bac11924193aa06f2c24ac1ebd44ae5973ef3f5c9a074df1a01172590db513d8ebc763c26cb70aeb7bbc6a8ded27d2cb62b44a719a7166bbb2219d894c512138a62618810c7c350e9c60532c08041512b74c585a5f927288f95287d83e21339dc6fb09c23a19f6978b90597f96d63b3fdf0f35c5b875eb6271a7d0b2b14479a078db2df4557ee8c026c199f0d2fd3de9732a8a94b954b7aad12dbe5039cad36d6dc1957d8f046f7075810a40829f40903eafb2c4631ec27703e1a5fbaafc8b04a52006ee70737e2bce9ac283031dcfd29f595cf81716ab6b77a95f92ba421e0eb1a5748f9033c26203e9f1e4c1bca6aef7d93a5c4ae8819aa4ad4b2319f485289e40f845500392faab0bcab3498fec02401070760edc9a081c06e0df5d66e700c66a0f87d1710591d6e4f8b87b7231a4ceeb7afd19ef315bc8944beb24a07e9a6a30c92309368053c5e12473162a59f2a2e11125b60367bf8c3be631cd5ef5e5f8c0cebdf777fa067664f3d90268b2dbeec6ba991c1311a89910a63c2eaa3b3dd2ace7a75f3d0ece76ddb4323173d66ace92afca183f0b1ae5e390df4f229fd61886269a7fa40db4ac3c20019e9104599ddff2b898ec94bd6775e13877361c597f8f5b172d39e738cb88956e6a3317c0446da4048d9c9faea8c406918ea35d4ebf5109ee5d94e0ab836ab45c1ce0386ec6abca692153108e36bc0b807a57ea3d2e9fb9172f4b88ad3102dee2ef106e75930b62c7e7277d2d40dd9a2038fe1c1a22a2e63e2fdb5524d300259ef4c89c8bc3328661403d0b83add0e985f2710faaa45f045187a9cd58d6637b361cdc13759f6a1999dfc0688ccac2e93403c331cf3a41390b23e2a1764858fd66035615bfc56fe441a714f601c3113b4f10084ea91590f31298d88bb127fd6d881342a7c4b73b46ac92c75ce820fbf9b6cbbf2d1a6d1b78fe3a77153e8b8c57332ffe77f696d08498422e5f24cf1fb50635906f9772c2ab96c31bfc7485ebdf384c3f9c81135c561aef62891980410a9cfd67c64476fa00b3c5f97ea8aa019c8a588907c3e56a52ba15a3ca9bf62b6201f64eb099991d32da6f3105b13426e6042f1eb9e322ea3cd7b44b2a7a5aa0bfd11470569eccd05263dfedc19c6446668d11811a41c1ce786a9f67468de65e7d5c3cdcfd4d87e9e4e1167142471155eaea5a13acc1107783d46e6a07ce300529d5bdc0b994a9f1fd64b05cd444e2ae6c46d13a621800eb5aed85bb7417c8120038f4a464c056beccc15edc19794c5637851a5ca2e3839e61b96ab7bdda4b753b45f80e0c7617da2c93c94654cc4ce493179725dacd4b36d6b1fdea2fc36666c9a613efde6393a0124e7ce2a46682006e9e412deebf95857fa1268eee47db8020cfc396b1312bebef7fbd91f3068578132823172d3106262932189c414657d91223be54c38f904da140e8e7698e97c638bc3da3ac2c509806e0aa8988b6f67a4c21129afc0ef81a12fd7167e62a8d099cc5b53d1f0f178d6ace34e332d946e2381a3b83a7acd728dab5f9289794d97330e3f268db3a7f1d1dc3a64f76abe28a90af02b4a937307aae47437efef47203077c09102ddf61e5b70d79cb863d3c7e15a4037a27ad558964b67a53152b207a0a653f18f2a57b6393b5d205acee98c3237540c81ce7c0c0302093ae4eaf9d732cfaaa249a33c0ce9adbb21ab254a8e0c84b455b59dd79e586a7005a33d250229a5905e5fd095628a723f26e25ca355e6cea5bd886f15d51bc9d57284657ff29553ee12fa5c7c7e9f583cfe773fb7e0d8be81126d11b49d86f3a684e6474688ecfec1c63568f78aed1ede646844d975904d5ea1afc5b1534b1a79bf0fe09868c08feeae4be403f072138cb04553d5d33bca5069760f400e1d346f6c38cef5c76972ab79263f29263f6eb488941bc19d16d04b59a45eca76075e4e192350691a08016334072b220c4f773122aa938194ef102ecac003e3c722d6c97cd902bfa2fc230aa1b91324e08edbb832eeaafe52d190f65c7f35a3fbbc6324322ade3c77f95bbe5d10eefc3e93288c7d197f6208e0fe32a7c32183d5cc6a5b48104ffee13e08965bbe3566a4d467e0f8f5e2ea7901bf50d3d8462adc9420f1a90da4697f5cfbc266a08a1d5062336308fdbc995c3b149787be2a47133de2402a1bb1033f476428a7a18142e9b9db719305f28f623f8b2d14d3136242d430ac16d1d9540f8fc5ed088b6d7d3af598299f24cfbcee4787a7b947d8d8f6abdc5bedbf8368dd276a9957834187ce902ea842e14b909f919d4436e4ffef7e0542de98b64d466a2c74b388b065d596dd77728bffbd701f82f5fe4da0fd519f36eb12065732872ebe24be1286a6e49268b42e412439df4f40cac39f3ffa54548cb1262320268714b0873adcd571eeb75a3cb6fecc5a1efb711aaab8576e74be9af05cfaaff71bb4c0bd680398534c43d5ccb9af62cca045fa3652e947b257dd0ca7ce67ab6250e1e072504e6fa07888d928384c30a4c87fdfff91a65a010c5beafd7cb5048694373fcbe1afe8021fe40800e979f990ace6d6cf4b84d256cc023e31c73833e39bda5d0e62288ab1024302176de0f72b95e73ba74b3381b1e2560a3f493ed5875a9cb760df5eb977eed4adc1c050b5d287fae59f71082d51a1a668bbd60907e7f7c32bee87893c24d998bf4cbc9a8d26483b47844494f6b53f706da267b6b29d65caee12a65a8aa79487272e8ae9a5ff98b7ec7f3fcac1cadf035b4b51b4a304bad8f1268b73c948fcd51717fe7acc5e51da03b8080ee16ef283f88592bd089957f603462ada645ef981a168c07ac746d93bd3c84516997b1882d95f576e53dac258f32ed0a30d78c51a6c8e91ad5a95577b3900333bf0df802d5d9d1a254ff4c465dc520d0fa9c1230b97718c927f745c2a62599577070b158b2d00bfe611e67c66659484168f75ae434ec4bf623480637724d65a1bc6b90b5d35de244528d908f1a9c2ad25382369385624428c151ec63463195b99d671fd411fd2a551a26c88f943e45d1f02c73bc63bc05cbaa9c7fe7105f2527ade0c59fa23449d38c8078ff06090053916c4ab1676ad5a6e7534a33a2a0b1cb6865b9aae44780286bbcad6ad9b4d482b2ec19953c9bf56dc1f8f80d418362274c802391d8a1c54796c6790ef5e19cafed7a620abef18d63ef11e876c5c1706f5908963da6df8dae608eb465aeb7ae1f07fb6dd4295168a9dae96f59a535ca17475972ec4815726bc3afee58ffd5444be1b61f96f1423446dea23ea2f030a3516799d703fbd056c418eefaf10cb1cac18313a2fac22ce81cb2a160d691e600e0698a8af49cd27e2d6d4bac34a64cb9e9a1f3e52b64e9535f52fdc74b2c6e582ec61f1f1b7ff57e0584ba6b260dad03d2a6bd5dee24797455b04ad60d8834943eacb2a4c9595d88478c57bdd62a64a01ebe89dcfd133b480058229186ebfd0c741baf3ba5a732f805f2fdb8bdfd4c42f4ec0b504b1a7f687b592d69556619b632ecd3c4034b8db6fee9d4e39602f055048f727615c157dd91a8eaf09cede634ed3805a491fd92360855f65d365e1671deebb83409304c8ca56fe04a179f05ce86866a098cfde962961bb94df31a0935864e34c164abc64e150de42c9e1921c9cf8653243afc51d3a8994f3c35cb38078ab86986d68b31317544e3c0f38ec7dcf35e9f3bc1ae2b6e0f317f75f86e1ac263458500760fa857f499ea08bcfb692210929672f58155030db610837c38e45362796aff35cdab241704e1ff9ec2cc7ae04f9454fdc01fce49720d68c564f68d93fc019776b555430d46b9492eb01fa45facd6d140ce34e3ea75d2ffa5f420b81cb3039927943223c51ccebf919a94990918b5abd030e4be6a43d4ebe8dbd04d4c93357744273fe7ba0e637d987edfbd81ea9dca08435115b620eccd91f16c9ae970f13d7b14f5d20adcf75b414f7934acbdc1849ff8ebfdea9081d398d06edb9e624ee9ae4d2d514432431f76a77d9a84a6004f624f10347e4daa76d3d9a30217ae5c9d6f1eea22727779c6ebf97ae9f6b1dd1d5b9979322d5d2a71f87fac9f9ec4f6ef0b9cfa482db18bb442204da7b92291fbf161dd0402da358a67b4f93b647c24ac4dd2a7bb07171eebbae5a4a7f97fe5a9e14b152e78acf13abecd2204f7446d69f3d1f4b87eaf6c26fb0ea2041e00ea3d410c721ed5c3182bc2ccd881e00e254065a961cb7dcadd08e2fbc6dd092fe886ff9b0690f1f7fdc7527f4dbd897d680bebaf75043727b19a489304450d162ccb772a82415bd8469aead10a7d100e8170f6d4c2cfe82e173f79a78530f0a4237edefba5d385cc412c93cc55069a417d9b75ca591b80174bccbb32d2206b15eadbe79a8879749908d5ad70648de947655ac9a4e4c1d52236e92dd162c53bd060dd546aaed958c6ea96e040b28a03b379d69b02cf8ed6157561ca76169bb605b421617f88d4540abdce8aecf22725035c1b694dc9d73640a978504b8380f8ec3ad955ec6880a6441d1db8b8c6572b1e70a4d8b69c21fa4e06ebb9d74431e1ba952cafc4fbe7665184d2d50877e580b4ee90769d20379634ddf2f840283f577e318166d9c97e9ae662437cb3bcb218bcb3b5bf61f1c24857e62b30e14a6aef237feace9dfbfcef5ecbbbed2f111928a0a7e95b9df4fd3a19fc6ce6904e9c33b4b5ba83b2d0c0b4a84d9e510151634686bc2c3f31745535499b5e0fb1f58699da0ccf2f5fafc6d7d9192455f6b9db9d100062054757c91a2c1db0423344f889bf1f400000000000000000000000000000000040d151f2329333b83010000', tx: signedType0x2Transaction as TransactionSignedAPI, }; diff --git a/packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts b/packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts index 48c90522..4cf6419f 100644 --- a/packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts +++ b/packages/web3-qrl/test/unit/utils/getTransactionFromOrToAttr.test.ts @@ -50,7 +50,7 @@ describe('getTransactionFromOrToAttr', () => { it.each(invalidGetTransactionFromOrToAttrDataForWallet)( '$title with wallet', ({ input, output }) => { - const seed = '0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa'; + const seed = '0x01000032c89a84a46859934c42dec330511fd3642e98f00575e74a44c486c8d112dbf19d7129cd61d3e6bd72c4f2f66e5556f3'; // setup wallet const web3QRL = new Web3QRL('http://localhost:8545'); diff --git a/packages/web3-types/src/apis/qrl_execution_api.ts b/packages/web3-types/src/apis/qrl_execution_api.ts index f94e1541..c58b29c1 100644 --- a/packages/web3-types/src/apis/qrl_execution_api.ts +++ b/packages/web3-types/src/apis/qrl_execution_api.ts @@ -71,6 +71,7 @@ export interface Transaction1559UnsignedAPI extends BaseTransactionAPI { export interface Transaction1559SignedAPI extends Transaction1559UnsignedAPI { readonly publicKey: HexStringBytes; readonly signature: HexStringBytes; + readonly descriptor: HexStringBytes; } // https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L144 diff --git a/packages/web3-types/src/qrl_types.ts b/packages/web3-types/src/qrl_types.ts index 94a9fc16..0df43d28 100644 --- a/packages/web3-types/src/qrl_types.ts +++ b/packages/web3-types/src/qrl_types.ts @@ -303,6 +303,7 @@ interface TransactionBase { gasLimit?: Numbers; publicKey?: Bytes; signature?: Bytes; + descriptor?: Bytes; } export interface Transaction extends TransactionBase { diff --git a/packages/web3-validator/test/unit/load.test.ts b/packages/web3-validator/test/unit/load.test.ts index 6b27b36d..f9ebfff6 100644 --- a/packages/web3-validator/test/unit/load.test.ts +++ b/packages/web3-validator/test/unit/load.test.ts @@ -126,7 +126,7 @@ describe('instance of validator', () => { validator.validateJSONSchema(hugeSchema1000, hugeData1000 as object); t = Number(new Date()) - t1; }).not.toThrow(); - expect(t).toBeLessThan(25000); + expect(t).toBeLessThan(30000); expect(t).toBeGreaterThan(0); }); diff --git a/packages/web3/test/e2e/fixtures/mainnet.ts b/packages/web3/test/e2e/fixtures/mainnet.ts index 83ea7516..a6d97d12 100644 --- a/packages/web3/test/e2e/fixtures/mainnet.ts +++ b/packages/web3/test/e2e/fixtures/mainnet.ts @@ -287,6 +287,7 @@ export const mainnetTransactionFromBlock = { nonce: BigInt(6346), publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', + descriptor: '0x010000', to: 'Q3f1b0278a9ee595635b61817630cc19de792f506', transactionIndex: BigInt(1), type: BigInt(2), diff --git a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts index a874c06a..f9fb68e7 100644 --- a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts +++ b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts @@ -43,6 +43,7 @@ export const mainnetBlockHydrated = { nonce: '0xf8', publicKey: '0xf511d0f14c7ad3fbd118136e006dd7327ffd0614cb415e41bf2dddea1c733251', signature: '0x1174d5a1e42be8c4ca43acbad607a33d4fa39dca036dd7c7a981f3fceb465c77', + descriptor: '0x010000', to: 'Qd04e772bc0d591fbd288f2e2a86afa3d3cb647f8', transactionIndex: '0x0', type: '0x2', @@ -62,6 +63,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ca', publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', + descriptor: '0x010000', to: 'Q3f1b0278a9ee595635b61817630cc19de792f506', transactionIndex: '0x1', type: '0x2', @@ -81,6 +83,7 @@ export const mainnetBlockHydrated = { nonce: '0x2a', publicKey: '0x66d297d50616d83c4f46b2ecb07bfe58785ddc1f412565c1fa19175841f314e3', signature: '0x42d0bbf71e2de38a839d0016c5e2fd9a387621c8fd511d83f554aef09c94a3af', + descriptor: '0x010000', to: 'Q15d4c048f83bd7e37d49ea4c83a07267ec4203da', transactionIndex: '0x2', type: '0x2', @@ -97,6 +100,7 @@ export const mainnetBlockHydrated = { nonce: '0x1e5511', publicKey: '0x209ef9dbdeaf6807ab08d3191c00af17727ea4ae22ed8fc127a55cfb287b0672', signature: '0x51551c439baf3cab9a8b93cd1502e3a40a9b4cdef927fbd274d40d0dfcdc9329', + descriptor: '0x010000', to: 'Q7a408b5230d123574eb8c057904e4f364b980770', transactionIndex: '0x3', type: '0x2', @@ -113,6 +117,7 @@ export const mainnetBlockHydrated = { nonce: '0x1e5512', publicKey: '0x4f68a9a02c74f6ac4059d3dda87db886050847822b1a3fde4fcde65c175a8f38', signature: '0x3ce0ec0d5a776d84f835a6eed0f2cdf59356ffe6d014af9b283ac84e2c5ad362', + descriptor: '0x010000', to: 'Q40fc4596608b20c97244922060dcfd2de7fdf9ea', transactionIndex: '0x4', type: '0x2', @@ -129,6 +134,7 @@ export const mainnetBlockHydrated = { nonce: '0x1e5513', publicKey: '0x644543ff07aa6aa3197b93f8a6f333860c1f6a51889113c9b984c4cfe53ddd84', signature: '0x6cb061b61f1bb84e5435927a904884b0196b43c93a872822e1abd35caf38ec1a', + descriptor: '0x010000', to: 'Q0d2895a34520624ad6171476d62837b5e285d8f1', transactionIndex: '0x5', type: '0x2', @@ -145,6 +151,7 @@ export const mainnetBlockHydrated = { nonce: '0x2e3e5', publicKey: '0x4b06ba58fc3f9dc92be0055c55cddad9205e16c7d29bb6dede6787559e858b2e', signature: '0x2b4b4f8ad723577860d89b6311573260e450a74461b1324b727097cb1ea3f0f6', + descriptor: '0x010000', to: 'Q15d4c048f83bd7e37d49ea4c83a07267ec4203da', transactionIndex: '0x6', type: '0x2', @@ -161,6 +168,7 @@ export const mainnetBlockHydrated = { nonce: '0x2cb4', publicKey: '0xfeced6d2b4be2108e88d961423c3ddbade22425464538f63c047829bf1d8c2a5', signature: '0x7ee24854c7c79582649d25c66bc1b462c57ecb73925d94881b081577ffa04920', + descriptor: '0x010000', to: 'Q795dbf627484f8248d3d6c09c309825c1563e873', transactionIndex: '0x7', type: '0x2', @@ -180,6 +188,7 @@ export const mainnetBlockHydrated = { nonce: '0xa669f', publicKey: '0xa89f7f812e3b621a89a218f2c22da423d87dc0c2eac90505799a1b63fcea6337', signature: '0x449f43dfc141d298f61728c3f160c536ef741d4295453fc19fb22588faca1965', + descriptor: '0x010000', to: 'Q5ebe4a90a99d8d02204552079572ff962ce554ba', transactionIndex: '0x8', type: '0x2', @@ -199,6 +208,7 @@ export const mainnetBlockHydrated = { nonce: '0x389', publicKey: '0x201f89c979366c6789dc138b8d36047fc0ebd78956ddd1fcff547d982ce74af8', signature: '0x4b469d49d4dcdb1f8f91c8f75713a77851c020d7d19e6e9a9859896a277ffb23', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x9', type: '0x2', @@ -215,6 +225,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0xc2886750f2308b50265de5c28daf2d7d05087103d8879a63064e454031fa7f9a', signature: '0x3026bc52e581f4ba9233eaca623d7ab55463466fa5cfcab568e6e86b153c0b72', + descriptor: '0x010000', to: 'Qa28c1a1330d7634c9bc5a04cb2a3b64cb866f19e', transactionIndex: '0xa', type: '0x2', @@ -231,6 +242,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x965cd3cc650e1592528d8acdf957f1c588c327513a1ae1380c996d3e129099c7', signature: '0x263967109771cb590a72b9383d8822183b452114e8fee7800184857b15b979b0', + descriptor: '0x010000', to: 'Q6dfc34609a05bc22319fa4cce1d1e2929548c0d7', transactionIndex: '0xb', type: '0x2', @@ -250,6 +262,7 @@ export const mainnetBlockHydrated = { nonce: '0x7349', publicKey: '0x97ade2e1fe48c2c35194fbb64becbe062f0db4efb96dfd12e578d35a034b8d98', signature: '0x55ac6721ff4947496e861c50990600dd8c0d108d848c6cd84c0c0745a4f09f58', + descriptor: '0x010000', to: 'Q3db52ce065f728011ac6732222270b3f2360d919', transactionIndex: '0xc', type: '0x2', @@ -266,6 +279,7 @@ export const mainnetBlockHydrated = { nonce: '0xed', publicKey: '0x86b3a704ae340159752e67577fe3ddada1e797fc1b73108377f42ef6f33d3406', signature: '0x6cc32eba9bb9d489399e4c91a9d08225462de2235e12652b1f9474fe67e479d9', + descriptor: '0x010000', to: 'Qcbd6832ebc203e49e2b771897067fce3c58575ac', transactionIndex: '0xd', type: '0x2', @@ -285,6 +299,7 @@ export const mainnetBlockHydrated = { nonce: '0x26', publicKey: '0xc517daac09fdfa297b8ba5c19a6edf0c6c84321134384505f3cddc759eb11e18', signature: '0x441ba8e95813878382988533fbd81f8e3bec9425d7c721679306e74aac434517', + descriptor: '0x010000', to: 'Qf34b40c1e9fd13f3aef7e31b69926b2ae97cc5f0', transactionIndex: '0xe', type: '0x2', @@ -301,6 +316,7 @@ export const mainnetBlockHydrated = { nonce: '0x3437', publicKey: '0x230800eb5628222c1b97d09d1cb91e26e2e4e003cea1b1061d3f35d0e340f770', signature: '0x250c820942d9a1138a731a5de121921ca1d2a328e64bd35c42531b02f2836790', + descriptor: '0x010000', to: 'Q52a494dbf47107cc0c624ee10703abecaf586776', transactionIndex: '0xf', type: '0x2', @@ -320,6 +336,7 @@ export const mainnetBlockHydrated = { nonce: '0x873bb', publicKey: '0x81f54732c008f3fd03812f57a6deb5822533e3b5e9b50b97574d84c3e31a40e0', signature: '0x25ac62ba0d877945882f4430861effec04ce0e69903b04fd38124c881c395d2e', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x10', type: '0x2', @@ -339,6 +356,7 @@ export const mainnetBlockHydrated = { nonce: '0x1ae4ee', publicKey: '0xdb8d01754137e016371d9b69b1516509ac98eea529e2b027d853be60fe3fb0b4', signature: '0x7818762d95b751f04d905e25843191891c8047d7bd3ad3a3d11366aac70cda1c', + descriptor: '0x010000', to: 'Q4a527d8fc13c5203ab24ba0944f4cb14658d1db6', transactionIndex: '0x11', type: '0x2', @@ -358,6 +376,7 @@ export const mainnetBlockHydrated = { nonce: '0x271', publicKey: '0xe04214b243d0671e37a53582b0eab23c8b313f6391805053a8ec1bc5d3494c3a', signature: '0x76174f10b93f6cb35ad6d51e2931b0eb3841353ae17ad0583b4a78ea2a4428e4', + descriptor: '0x010000', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x12', type: '0x2', @@ -377,6 +396,7 @@ export const mainnetBlockHydrated = { nonce: '0x42', publicKey: '0xd19f281c9210eff7c37c0bfbbf22837cb6fd997e8aa3544d9ef310abf139f4ba', signature: '0x260e9f08a252f6333a8a6ab4bc604a56864c7baf0262270e4d1e90f851a4fc06', + descriptor: '0x010000', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x13', type: '0x2', @@ -396,6 +416,7 @@ export const mainnetBlockHydrated = { nonce: '0x8', publicKey: '0x5f9624fb030af3719a6e80a5ec7acfe618c5c69cc339e1ee6981deb160beb577', signature: '0x024061ab760e7608b5354782d67bddae9efa30b4a9046380db24c53734cf33da', + descriptor: '0x010000', to: 'Q1785982cb0386d9862ec1968e0152656d44d14de', transactionIndex: '0x14', type: '0x2', @@ -415,6 +436,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xf1c2dcc6602bda7edeb16a34321c9eacc2d8501a4ffcd9cce95e143ce41f3ca3', signature: '0x4729ae054e94b1460aeea560cf6809203d61aeb2f6ef64c052eea07e4b0a421b', + descriptor: '0x010000', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x15', type: '0x2', @@ -434,6 +456,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0xb3360d4cd6c110385f6e6416239ddfd53ba09a49425090d899b6fa286f062a17', signature: '0x038ed6befae17a39a04d0da0c11541a8ae3e34a81d5e0218c2cd59f2fc106db5', + descriptor: '0x010000', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x16', type: '0x2', @@ -453,6 +476,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x8776838f6f0b5880ad1f47d293a59784fdfc1da6a213afaa394dc39c819f66ca', signature: '0x5e06ead719af63b45434941b53a7235820e6392652968f704f47f7ac88a54da3', + descriptor: '0x010000', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x17', type: '0x2', @@ -472,6 +496,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x77576eb7635253c0111415988d87d125cccc034e3e0a5537d45f542dc6d9fb17', signature: '0x51a3782c39cfd538278762b099ae388da8e4563110cafb577e14387e7bb5bf8a', + descriptor: '0x010000', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x18', type: '0x2', @@ -491,6 +516,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x77cbab6be06d2c0d7e7e281e6b74bf86d54b1e6eb0d25164e34f74ffc4b13491', signature: '0x76ddd4fe48f97b00c8222b87d281531a8602657c5fa47b1b1e3beb0a68f76db0', + descriptor: '0x010000', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x19', type: '0x2', @@ -510,6 +536,7 @@ export const mainnetBlockHydrated = { nonce: '0x1ce', publicKey: '0xdee01e58066f39f49053a1caec721704b27d4455cb7f66051567babff2eb0207', signature: '0x5d57933f7f188c8bc3df76c4eddfed42952b24852cb5e99cc46c021d032635d6', + descriptor: '0x010000', to: 'Q5e9dc0b770db326612bb31605bb928ad125c95b3', transactionIndex: '0x1a', type: '0x2', @@ -529,6 +556,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0xef7fa2775201d5e1f5101efde47666dbfc1263000898b2ccb39302b5f57b0cf5', signature: '0x0c36ff2062572a18a4ac9452b0530737d655c4cb0a688c5219a8f2b40a94ef1e', + descriptor: '0x010000', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x1b', type: '0x2', @@ -548,6 +576,7 @@ export const mainnetBlockHydrated = { nonce: '0x3', publicKey: '0x27e5b0cdb7348293f5deacfb04ae58a846bf98f175a10eb24739e972012365e5', signature: '0x3226f6635c7c552345d376494cdfb148e5a055f4ecb0cc478de88ff8786ea6d8', + descriptor: '0x010000', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x1c', type: '0x2', @@ -567,6 +596,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x04702957442572f72da0ae712be49cc269bb8f2974b340a7df77394d4ca8e853', signature: '0x20cee42bc08f88c23a9a1ebe77475786f1f3459a3d14a783caa38e4484066d39', + descriptor: '0x010000', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x1d', type: '0x2', @@ -586,6 +616,7 @@ export const mainnetBlockHydrated = { nonce: '0x4a', publicKey: '0x2ce125ff66ac8118b1f129c2588ab2ea350a8c63c5b66fdfdc95a0910f92ab1c', signature: '0x317975d171208e5d462074dd336c22f95b81cce40e9689f9f4df9249327335bb', + descriptor: '0x010000', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x1e', type: '0x2', @@ -605,6 +636,7 @@ export const mainnetBlockHydrated = { nonce: '0x74102', publicKey: '0xc4935d7c1a6ea5a50d1c66a75518c30b60646f6bfd1891aef7d58f0fab97353a', signature: '0x03a60cb1ceb8d9a92e170cbf290c99a9b97492b471f33f92e0cdcf7299e9f33f', + descriptor: '0x010000', to: 'Q29d0b29472432459eeb43003876bc3124334cdc5', transactionIndex: '0x1f', type: '0x2', @@ -624,6 +656,7 @@ export const mainnetBlockHydrated = { nonce: '0x6c27', publicKey: '0x58746264bcce9d42ce4d35a4677aa1adddc9996e9be421dbaa99f3d2a20aa391', signature: '0x334e4d5cea9d1860d914e7796cf68f97677c87772b3885e0f93f7a4379abafdd', + descriptor: '0x010000', to: 'Q0bc529c00c6401aef6d220be8c6ea1667f6ad93e', transactionIndex: '0x20', type: '0x2', @@ -643,6 +676,7 @@ export const mainnetBlockHydrated = { nonce: '0x1227b', publicKey: '0x59b0898abc04ad8077c95c705e2df2ae6824b40685159f03107f68188ea5361c', signature: '0x4a1e52473086dc9cb96768bdd8b02cc153aa6b0bdd9f08e12c047c176b800ae8', + descriptor: '0x010000', to: 'Q99383ffe2031379e1e829e106e29a785c9f7f498', transactionIndex: '0x21', type: '0x2', @@ -662,6 +696,7 @@ export const mainnetBlockHydrated = { nonce: '0xa', publicKey: '0x41643f403bbe3262d39ee6c1449d33d96bdd1227f2d6967ab193a53f1f0bfc48', signature: '0x31ae8fa9994acb3d17ce5ac4028f139999a674732a0cd9e095d6dea890d0c550', + descriptor: '0x010000', to: 'Q1164c6c18b6de4831305050f5b32e2807e2bfc32', transactionIndex: '0x22', type: '0x2', @@ -681,6 +716,7 @@ export const mainnetBlockHydrated = { nonce: '0x13403f', publicKey: '0x673b786b4a389f7fb0df5862ab0703e3685ca0081d321b8ac8b8c2ecbf7ee412', signature: '0x6be2172fda36ea57d7c77dcc46de306545d4f3abf96e7db6e24a3c9e44427974', + descriptor: '0x010000', to: 'Qc8898aba27d521c47055ed2c493cbfd6b95a31d4', transactionIndex: '0x23', type: '0x2', @@ -700,6 +736,7 @@ export const mainnetBlockHydrated = { nonce: '0x62108f', publicKey: '0x93f820e51bbd9cee9f3f1b94fe8f7676d4346fe9eacd549a2d07e434ab807cb6', signature: '0x030da66baf90a7e72379224c0863eb3b4e31cc94b0d86177b91950d644c8f406', + descriptor: '0x010000', to: 'Qc18360217d8f7ab5e7c516566761ea12ce7f9d72', transactionIndex: '0x24', type: '0x2', @@ -719,6 +756,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01c', publicKey: '0xee36304a0224b72a556eb71ff13d8cc1d3bdf6d864c6ee0ab0e9b832d556185f', signature: '0x50e293db57ca81487fc0f896665b4e9d5802a15c24fa0dce5803e1e663a84c10', + descriptor: '0x010000', to: 'Q69f1918cf0661b1b8dce3aa2137e4659d8493e79', transactionIndex: '0x25', type: '0x2', @@ -738,6 +776,7 @@ export const mainnetBlockHydrated = { nonce: '0x90b', publicKey: '0x0a45e7222c8203898f7f894dfa7ade58603a8d7d4332697d37ac69a7a027cd75', signature: '0x06ff5b1b6e1fce12a9ff1f52acaa153fcf89d4fb6ee4e6afcbbc146630707c40', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x26', type: '0x2', @@ -757,6 +796,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0x4b287ee6e4333f64742044706f5c8c00e6e60d7501682c1314cb5211b8c8bf4e', signature: '0x37f5eaba2b575d587d019257d29b5bc097705571aa6280526a9007c2ae8aece1', + descriptor: '0x010000', to: 'Q8412abafccf6f5756684f14e0aabd23834af7789', transactionIndex: '0x27', type: '0x2', @@ -776,6 +816,7 @@ export const mainnetBlockHydrated = { nonce: '0xb2615', publicKey: '0x6faa89b9d6e984f3df4d9c1fefd468f54099081ae3aa06de5fc80a9251ccdb55', signature: '0x293017e31f66be92bdfd04c3302a0c2ed173751ceec4fd14b9c4ef64656f8c62', + descriptor: '0x010000', to: 'Q6de037ef9ad2725eb40118bb1702ebb27e4aeb24', transactionIndex: '0x28', type: '0x2', @@ -795,6 +836,7 @@ export const mainnetBlockHydrated = { nonce: '0x621090', publicKey: '0x883dbc540ae0a26dabcc4463651a74b8d2782a590e0bf0de731df0572429b928', signature: '0x207fd537c0809bbc87d42cf79f08f7f73795c7ae21ef01c79479485519a415fa', + descriptor: '0x010000', to: 'Qfed930b2dbbc52996b2e107f1396d82256f41c41', transactionIndex: '0x29', type: '0x2', @@ -814,6 +856,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01d', publicKey: '0x78a34604e863d7e6467d40f21d161d99794bcf9424b95d5bc6f942c6d2e7d5f4', signature: '0x3d4a493c0aba95406299f7afbf026ca87e9c21fd9d864d16884ee777979c54c5', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x2a', type: '0x2', @@ -833,6 +876,7 @@ export const mainnetBlockHydrated = { nonce: '0x599696', publicKey: '0x7cbc768027ad0dee1b9d3d31f2d2d9f95c116c24ec80efc69fda640fcac35705', signature: '0x6d0cf162a13339f2caf1a4f323671a88684ddd29d7a8fb554e45abb00599fea4', + descriptor: '0x010000', to: 'Qb64ef51c888972c908cfacf59b47c1afbc0ab8ac', transactionIndex: '0x2b', type: '0x2', @@ -852,6 +896,7 @@ export const mainnetBlockHydrated = { nonce: '0x264d0a', publicKey: '0x27451446f19d4db1ec9a7523ba550878049af134e6e91bb4cfc706bab8ac9df0', signature: '0x2924823e0512b4ac49c5eb479231ad53d15459f4a78309d7c669bab355e27086', + descriptor: '0x010000', to: 'Q8bb27f2b2240f2ee95648a216bda95e7d7ad59a9', transactionIndex: '0x2c', type: '0x2', @@ -871,6 +916,7 @@ export const mainnetBlockHydrated = { nonce: '0x59e4f', publicKey: '0x58e964390fae81b120e526d35bdafca451d00d77f72cabcadaa63b2141ec3eb0', signature: '0x2fdc669bc14bc9903b59ac152858f082f534624a501f2f0009dd0a956918be0d', + descriptor: '0x010000', to: 'Qba11d00c5f74255f56a5e366f4f77f5a186d7f55', transactionIndex: '0x2d', type: '0x2', @@ -890,6 +936,7 @@ export const mainnetBlockHydrated = { nonce: '0x5e0f0e', publicKey: '0x3a36d0faf9eb3c59ca4e7bbed74a3491b5fd2d05c17c34fa02d84cee2071c7b2', signature: '0x64bdeda9880342582fab87c9b05e98823fa49bb8dfbd772dc2a246fc863b7bc6', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x2e', type: '0x2', @@ -909,6 +956,7 @@ export const mainnetBlockHydrated = { nonce: '0x599697', publicKey: '0x6e69d854012faf58c3ade90b0953359b8d8f3f7619960e9fc6a745be6afad0cc', signature: '0x74473994719dd6c24c8d850b1dabcd7a8a993217c16d542ed7f4a1ec34a8906e', + descriptor: '0x010000', to: 'Q655da9d1fdba5d7cbe0738f71022918ad75144f8', transactionIndex: '0x2f', type: '0x2', @@ -928,6 +976,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xafbb17abe38e32f14f34cfa09f93876fddfe80b07f2bc54b27cf5ff6093e3bf2', signature: '0x553821eca4f13c424737eac999b1a7997295252802abe049884554766202fc68', + descriptor: '0x010000', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x30', type: '0x2', @@ -947,6 +996,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0x5da32c14819244d81966203f8ece7d4330dfc90d43237b769679b89e308ef01d', signature: '0x0bb911307432a6dd7acc0155a43f398a66865e941202c8f37fa31f87a7be5748', + descriptor: '0x010000', to: 'Qe66b31678d6c16e9ebf358268a790b763c133750', transactionIndex: '0x31', type: '0x2', @@ -966,6 +1016,7 @@ export const mainnetBlockHydrated = { nonce: '0x1260', publicKey: '0x526cda6518d213796112450510e637aab66ca0e7cf37e17ba16c95b05e799bb6', signature: '0x24e98f8aae7e8393654d1c5d6ca56d07776bba3985d930fc13753729a8b53fff', + descriptor: '0x010000', to: 'Q0b38210ea11411557c13457d4da7dc6ea731b88a', transactionIndex: '0x32', type: '0x2', @@ -985,6 +1036,7 @@ export const mainnetBlockHydrated = { nonce: '0x16cd82', publicKey: '0x60a123cc67d102617f60161435641e16dcaea9dde4c80fc1a1c4b3324f8c57f2', signature: '0x4dfb246eebc7ca04821a922fca1177f453462a2ae8803e33e87285fbd5f8eb9d', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x33', type: '0x2', @@ -1004,6 +1056,7 @@ export const mainnetBlockHydrated = { nonce: '0x59e50', publicKey: '0xed0cc2008fa60ceef899c73967869cabfe3ca8aaaa9abf6c94fa0c7f211fd82b', signature: '0x6644f22c84aedc9f50595a80c99641db7ed63487cef46bc98324f214b1ac1088', + descriptor: '0x010000', to: 'Q3593d125a4f7849a1b059e64f4517a86dd60c95d', transactionIndex: '0x34', type: '0x2', @@ -1023,6 +1076,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01e', publicKey: '0xf9f8024c8a5a8d315e8a0ccf510e8547d62c69b9636919f377ee842232859567', signature: '0x5390ff89bea1d8b8266a335008feec1c358b4bd1becf0dffde1786ccdc31201a', + descriptor: '0x010000', to: 'Qf229c5f132d805bc540347f4f09cae4beb1ce2fc', transactionIndex: '0x35', type: '0x2', @@ -1042,6 +1096,7 @@ export const mainnetBlockHydrated = { nonce: '0x5e0f0f', publicKey: '0x7ef2595e0b05eb9a2780638182a91cf79fa9a4176f9664c429812813729fca60', signature: '0x46cb312550a3e0f046798aff756ab0ac2517a1e44272e2928351d0ecc2192359', + descriptor: '0x010000', to: 'Qd5e7c8051bb55471e65c77735246037b88887794', transactionIndex: '0x36', type: '0x2', @@ -1061,6 +1116,7 @@ export const mainnetBlockHydrated = { nonce: '0x264d0b', publicKey: '0x014efa044805a0b57331d02fdc260ed97eddd05a65671ca559349f0740c02f5d', signature: '0x5acb03bf01c45c1d54cc92048c16cfb0c1502e37977351dfeffab81516b3d530', + descriptor: '0x010000', to: 'Q7959c8788c426988cb5dc3d7d164458af8ffc1d6', transactionIndex: '0x37', type: '0x2', @@ -1080,6 +1136,7 @@ export const mainnetBlockHydrated = { nonce: '0x41987b', publicKey: '0x26586b1e9ee91d0d5a1a67c115e3ef25af632bd04f669dabd629cc2ff73b7bad', signature: '0x5a5f39c4da031bff3bc027f717750ca4aee70a2fcba228fd3cf89a15eb1208e0', + descriptor: '0x010000', to: 'Qe0b27a0f1bae4128dd35cd1cd9591e2c9e25c14e', transactionIndex: '0x38', type: '0x2', @@ -1099,6 +1156,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x06a9fade08677d36f80060a150829cf89b6a5d93a6bd49125ed445c06e8a2070', signature: '0x71caad84e2b4ad5abf4f0e7819a0c75b78d82cec724bc00f9871c6cff20cc1ee', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x39', type: '0x2', @@ -1118,6 +1176,7 @@ export const mainnetBlockHydrated = { nonce: '0x1106f', publicKey: '0x71ed70b9d1c74ae1ad4feb6b4df85667ffdb140cd33598a671ce6132b4705023', signature: '0x522d3672a3ccd0d19a9219b07cfa50330016c40eb6747a3b0d01d429de6b9162', + descriptor: '0x010000', to: 'Q53d583a2e9d318f770355a502730e074a77704a5', transactionIndex: '0x3a', type: '0x2', @@ -1137,6 +1196,7 @@ export const mainnetBlockHydrated = { nonce: '0x11070', publicKey: '0x79abe4e602462702a701e8e8dafb766b49e1d0b5090f7d07067e8712d0fc1d79', signature: '0x68fae44682a2c1eb0f4c61013f26716b3146e0874b46ca5f3956c882d577c3a0', + descriptor: '0x010000', to: 'Q6a53202a46f1d598bb3e1bd75e76325be9e85a62', transactionIndex: '0x3b', type: '0x2', @@ -1156,6 +1216,7 @@ export const mainnetBlockHydrated = { nonce: '0x19015b', publicKey: '0xdccc9185a0dabffd612a8e3e7965e7e3e1827ea11375eeca23fa17f0e313f092', signature: '0x242f817d6ac64b27ce324d57167990b12050ce197d875b7a77407dfaee1fe34a', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x3c', type: '0x2', @@ -1175,6 +1236,7 @@ export const mainnetBlockHydrated = { nonce: '0x599698', publicKey: '0xd42ab7d5efa8e62fc0aeb51c5f9b674f936d282c31f601fe51bc4cb00d958f59', signature: '0x04b83091ca937fc4f64b29c36406d4fed6b47f6c247ca86b5c0b4b3eec3110bd', + descriptor: '0x010000', to: 'Q0bc529c00c6401aef6d220be8c6ea1667f6ad93e', transactionIndex: '0x3d', type: '0x2', @@ -1194,6 +1256,7 @@ export const mainnetBlockHydrated = { nonce: '0x46e01f', publicKey: '0xc30f5f8b8d05b1a5c3b74669ff383d2588fa86c0f35d5066e2815b144a61199d', signature: '0x16b0c495b6cf1d01675d907a480460a57e715da42365140dba84cd035629a213', + descriptor: '0x010000', to: 'Qa294cca691e4c83b1fc0c8d63d9a3eef0a196de1', transactionIndex: '0x3e', type: '0x2', @@ -1213,6 +1276,7 @@ export const mainnetBlockHydrated = { nonce: '0x621091', publicKey: '0x3d047d1e1b05d563adc9206ffa9c210d01018ec50bf674c50783a6428347bc9b', signature: '0x3063c3dc89bba20743758230f5015d30926c7da5ecaa150bd969d8fc80d1981c', + descriptor: '0x010000', to: 'Q0f5d2fb29fb7d3cfee444a200298f468908cc942', transactionIndex: '0x3f', type: '0x2', @@ -1229,6 +1293,7 @@ export const mainnetBlockHydrated = { nonce: '0xbb', publicKey: '0xdc70f934495c5a38a3e2418e0d075223094a899dea70cf95f10f1c5facbb772b', signature: '0x063b2d0f20585b959447460b5daa22c5bd0696c074ded4d31d4078b0dcae653a', + descriptor: '0x010000', to: 'Q6d1ea4bd89865bbd8c675261585ae566dcda9d53', transactionIndex: '0x40', type: '0x2', @@ -1248,6 +1313,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xd96426125d5a851dccec746787824af395da54613e62f1a5d53ce45754c2d00a', signature: '0x7a089b28b3426eb5624136e3fb7c7336eabf8d3a7b4f10f11cd1d3c86bea8967', + descriptor: '0x010000', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x41', type: '0x2', @@ -1264,6 +1330,7 @@ export const mainnetBlockHydrated = { nonce: '0x12b', publicKey: '0x6364548a5358fd5fd6a6d7693261455e859e9e6e12bc1571d67e894992c31836', signature: '0x377afabdffa95ce2f6b7738a9663500e128046be8f7ff08cf53e1a7fa54f9f13', + descriptor: '0x010000', to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x42', type: '0x2', @@ -1283,6 +1350,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xd3a28cbf01498f92e51523725981c11a34f07b11ac6a7ef89de5ce17e4b868d5', signature: '0x779ba46af5a72f75f32fda1d33f9f7bd8330e75dada67021deb98b72785820f8', + descriptor: '0x010000', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x43', type: '0x2', @@ -1302,6 +1370,7 @@ export const mainnetBlockHydrated = { nonce: '0x8', publicKey: '0x958ac379821e137003d336592f95d3d095e2fc38b02de6284bd4a3958fbe0f84', signature: '0x1c654cd5b76f2e9ab14e2f1b13d7c9b80a05176667e13ed741b77bb6605d445c', + descriptor: '0x010000', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x44', type: '0x2', @@ -1321,6 +1390,7 @@ export const mainnetBlockHydrated = { nonce: '0x3', publicKey: '0x5bfb19d897e19784d61a740277f615f275a80e32252d643860ade726d304feee', signature: '0x6d43017d363606b8a2cdf87f79c4becc33358b9cb8da6cc472470bfce3cee39d', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x45', type: '0x2', @@ -1340,6 +1410,7 @@ export const mainnetBlockHydrated = { nonce: '0x18', publicKey: '0x73c8c63f06b84cc19a11072e7a94b969625a0d11057268cba1cb7c464b3ca61b', signature: '0x6e8f89b8254a2ca4af5b97fd25d331c6aaf334872dc7b3af13982ebaeedd9576', + descriptor: '0x010000', to: 'Qbe8d2aea314be080df55bc01d79e98259bec836e', transactionIndex: '0x46', type: '0x2', @@ -1359,6 +1430,7 @@ export const mainnetBlockHydrated = { nonce: '0x11bc2', publicKey: '0x471c79d7bcb68cfe81aca71eaca7fc70a90dfcb9ca8669687266add051625b44', signature: '0x4e284dab507e32122c3fbc9f46801f3790af234597bc420f063e1f4f3e76bb83', + descriptor: '0x010000', to: 'Q908edc7e1974ecab1ca7164424bc4cac287d83ad', transactionIndex: '0x47', type: '0x2', @@ -1378,6 +1450,7 @@ export const mainnetBlockHydrated = { nonce: '0x20779', publicKey: '0x8cf782f3d4aa7d417fcd9b0c9347b4f7539db2cff70b07ccd35974cc1e1c0acb', signature: '0x56d09c40b55fcdd1d62fa826aca514daa096571286ac77dcf05f00734dde69f8', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x48', type: '0x2', @@ -1397,6 +1470,7 @@ export const mainnetBlockHydrated = { nonce: '0x102b', publicKey: '0x7527fd3053f801b20b55ae53a479a4fa15ce6fc6fe85f8f651995f65921d2c0a', signature: '0x7cfbe3d717d5e8db13d0a72c30e6716a81ae3f79dd209b9fda4a10c38f43a0fd', + descriptor: '0x010000', to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x49', type: '0x2', @@ -1416,6 +1490,7 @@ export const mainnetBlockHydrated = { nonce: '0x12', publicKey: '0xe8c011f8dffc52c797faa8deac946b39ffca8bf3ab44126a40bb506f1cf02386', signature: '0x5313b99bfba1bad60fe829b008341fbd8269cea4d4fb5843ac7f4b1d130088f6', + descriptor: '0x010000', to: 'Q5f5cf9f5eb0e1dbb2b9ec771e015575d2e80eb6e', transactionIndex: '0x4a', type: '0x2', @@ -1435,6 +1510,7 @@ export const mainnetBlockHydrated = { nonce: '0x4', publicKey: '0xb73372f12b0891276107875cbf41880a5d908b33cfa4e7951f193de4876c16b5', signature: '0x058df26ec5a80b5b8796524849e637c97bb08e9168f5f86b68eafad64b1b4f5d', + descriptor: '0x010000', to: 'Qa1f7c9c6d19e2d0bf20729cb0bf03338a90bed9b', transactionIndex: '0x4b', type: '0x2', @@ -1454,6 +1530,7 @@ export const mainnetBlockHydrated = { nonce: '0x41192', publicKey: '0xbf67e3864f000307e7af8acbbfc7961a3fd0b6b1372eb29d42de824a161068b8', signature: '0x018ddbd9adc27937567010cb339711b2730e534f81e34744e989489246c3a01a', + descriptor: '0x010000', to: 'Q585e94276ead330002fa0c51f3952be45404e1e8', transactionIndex: '0x4c', type: '0x2', @@ -1473,6 +1550,7 @@ export const mainnetBlockHydrated = { nonce: '0x42473', publicKey: '0x759cf933d5eaa4ae2424d1b0a3f738e6426f46aae34fbfb728fcc5d44bad86d4', signature: '0x48ba7d2d59c11b2924f4c5cec339a13f2e488a30167db2d5f5e0e66c9dcd4f45', + descriptor: '0x010000', to: 'Q88c5f536d1514800dfd328d1e8dc2d8f3b4d60e4', transactionIndex: '0x4d', type: '0x2', @@ -1492,6 +1570,7 @@ export const mainnetBlockHydrated = { nonce: '0x10a8f', publicKey: '0xe52632ff849af71f4d046b96682c9dbb1ce0991c424db42d45b013275f8ae538', signature: '0x09bbb3a4b6135e7b48116ebfaeb37c92fbfadf5a5ba590e11e4cc96095110326', + descriptor: '0x010000', to: 'Q72cd4e3777e0df0a53a991f55fe816329d9f7c21', transactionIndex: '0x4e', type: '0x2', @@ -1511,6 +1590,7 @@ export const mainnetBlockHydrated = { nonce: '0x41193', publicKey: '0x41f1b4ea4b9948a5bdd2e92f0f51922c450c6fa334d9fce39d27207799d1c2dc', signature: '0x2f09fd651476778e7eb470b5c1b1f5987690b09c4140b95b601b0f89d37cfe95', + descriptor: '0x010000', to: 'Q5eca6ce07dc82e150f23a988d2f6b29631ae2dbc', transactionIndex: '0x4f', type: '0x2', @@ -1530,6 +1610,7 @@ export const mainnetBlockHydrated = { nonce: '0x33c48', publicKey: '0x56198513035d28dd33b6f52996425678e19068c5aa465426b217e317ed060ccd', signature: '0x34774b646c8d2767ceb4ae3eed4d1c4a7ffabb76a3abd516500dbd3ad92574a1', + descriptor: '0x010000', to: 'Q6bc39906da272535c3cda74aada15366c44badd0', transactionIndex: '0x50', type: '0x2', @@ -1549,6 +1630,7 @@ export const mainnetBlockHydrated = { nonce: '0x290', publicKey: '0x0ffb80eb321c5882261b75971226c4ea3280e4e7f13b699ac3655b1a918ceb92', signature: '0x12b0f3cdf17d32f848d129e17af8a6fb1ed15fbdd089bccb9c119b4ddbc16c56', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x51', type: '0x2', @@ -1568,6 +1650,7 @@ export const mainnetBlockHydrated = { nonce: '0x1b09f', publicKey: '0x7e01f3f231b2d8a9fb7e56043e21e8896ce19fbeb33517d407427d87631e7655', signature: '0x16f1192dd60fd55c7f917ba2a9fd6e7241f9330e795d08a4a38881145f3107a4', + descriptor: '0x010000', to: 'Q98e3f1be8e0609ac8a7681f23e15b696f8e8204d', transactionIndex: '0x52', type: '0x2', @@ -1587,6 +1670,7 @@ export const mainnetBlockHydrated = { nonce: '0x42474', publicKey: '0x915fabc6157bd8cd9a68c1014f8b732ba10e45933c47132b6d8d2ed13ca7a3f2', signature: '0x4f83e6070627d7255faf3ff9bd831a78f7704b2155263edfeec7008eff435ba9', + descriptor: '0x010000', to: 'Qedcb80a23f36923377ca239aecb6e582ef6362c7', transactionIndex: '0x53', type: '0x2', @@ -1606,6 +1690,7 @@ export const mainnetBlockHydrated = { nonce: '0x10a90', publicKey: '0x0eb75546ed9b0a261b663e095c7f93f10bdc8900a2cf9fb0a1cb4afb0e40a966', signature: '0x76961fa9c1f5c5054339c79950581cc8b32c5fe15e9730ac2af740cddc9b2d98', + descriptor: '0x010000', to: 'Qd44f54bd8cacb0bbf5f568be436f3ebb5204022e', transactionIndex: '0x54', type: '0x2', @@ -1625,6 +1710,7 @@ export const mainnetBlockHydrated = { nonce: '0x186', publicKey: '0x300c8ab86d498fa6ca5368659b988ca063d6795c0708ebd6797c7932d10671ef', signature: '0x4cf593213a0c878c0ee7faad552d0c5916162a5a2d2a64c335b75f6194ca9403', + descriptor: '0x010000', to: 'Q7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0x55', type: '0x2', @@ -1644,6 +1730,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xa453f3a177d595a27298500aa7e77787bc20907c9b00f30826c998ee7c1dff85', signature: '0x7369e5b46c440dfad01acefe6f26c5b708b19210b52d31af4be4d73b262b1d3f', + descriptor: '0x010000', to: 'Qd37bbe5744d730a1d98d8dc97c42f0ca46ad7146', transactionIndex: '0x56', type: '0x2', @@ -1663,6 +1750,7 @@ export const mainnetBlockHydrated = { nonce: '0x42475', publicKey: '0xfd42464897da80d7e801c323400d9fd9023320a8b3d4f0567793443d8348f4ab', signature: '0x40e14c1cc01cb5170ab3f0a1add8b2b2d65b7da65e29480d3c87df1ee67c3d77', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x57', type: '0x2', @@ -1682,6 +1770,7 @@ export const mainnetBlockHydrated = { nonce: '0xe555', publicKey: '0xeb2632aa69af6c352644493291a00b9ed63fc8eb439b138bf9dd298bc5ff2545', signature: '0x405b026b89862bc6b824067d2c6a6e1ae354ab735d1dc3b47c159d6449fd3a22', + descriptor: '0x010000', to: 'Q34b41725cf934866a4b89d65395f15af2cb9ae89', transactionIndex: '0x58', type: '0x2', @@ -1698,6 +1787,7 @@ export const mainnetBlockHydrated = { nonce: '0xc89e2', publicKey: '0x49b22ad44cbe9b0775944b6153021b501f2bb5a4aacf9a10ee8da7df87ccdfcb', signature: '0x0dee73e0614bdfdb0e5d2e6b30d4d2f53a96be5f1421bb9d903e814989790ed6', + descriptor: '0x010000', to: 'Q2c3113d1a6433d6c88ae92888346cf7f23fcb171', transactionIndex: '0x59', type: '0x2', @@ -1714,6 +1804,7 @@ export const mainnetBlockHydrated = { nonce: '0x97e97', publicKey: '0x316288aa6f36438a65c22bd08bfcc8a6ac6f038e17f5b704b0ef00d770fbe83f', signature: '0x2263c2789374197fde54cd758502ca6b2b58de839d0be37a3ef2537b415329d2', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5a', type: '0x2', @@ -1733,6 +1824,7 @@ export const mainnetBlockHydrated = { nonce: '0x7', publicKey: '0xf3d9a7ab2185b2d61daa3e9b5aa4536817f94f496509a849ea882fb716c58f87', signature: '0x6633d928531f98b3f501f137a52bf139918608181de3957efc41238b60b6fdb6', + descriptor: '0x010000', to: 'Qec5f4829854d1f0478b5b7a1c6f7dc50c4545fc0', transactionIndex: '0x5b', type: '0x2', @@ -1749,6 +1841,7 @@ export const mainnetBlockHydrated = { nonce: '0x2ee', publicKey: '0x932266958a75019c8b5b922453b1a17acd707cc942d51fc9f569aeb256f44b82', signature: '0x2378e8c4aa7059f894ff3dc7ac65108d6649c75d347ac99de96997486a931bcd', + descriptor: '0x010000', to: 'Qee8253a7c009fad5fe047af648d29586c24d56d3', transactionIndex: '0x5c', type: '0x2', @@ -1765,6 +1858,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x2e518bb0c931b43e236d7c56ed2526fd9b0842a8add6ece75acc76380237a762', signature: '0x2b411dd4544bd94c7dce7f65c4dc0eef761568f12cb56a9da80a847545d6ac55', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5d', type: '0x2', @@ -1781,6 +1875,7 @@ export const mainnetBlockHydrated = { nonce: '0x29', publicKey: '0x486be4009aab14d1968cc4f6ea0f60bf2e60333737051ec4c16be637ad9f92be', signature: '0x3fdaee939cae609f0d789d54d5bf5ab5edbfbf927a83bd4e5f5376b9898cb594', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5e', type: '0x2', @@ -1797,6 +1892,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x50e569b6a8052f1a7f8c142dcb5e9a6f0b0a9bc008020551cb095c413b8cd0d1', signature: '0x5e8e22aea92826c27fc90b46d5f104b95ec52613d3352efa56af8023eed21cd0', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5f', type: '0x2', @@ -1816,6 +1912,7 @@ export const mainnetBlockHydrated = { nonce: '0x20a8', publicKey: '0x28ba948112aa8cee0b471ca955055a4825f6f563ea34d36a9da0e6e146a2c433', signature: '0x03b1bb8df287aab578a3dd40f302faeb043ac5e5c2f34b22ab9e0d27e73b11b1', + descriptor: '0x010000', to: 'Q1111111254eeb25477b68fb85ed929f73a960582', transactionIndex: '0x60', type: '0x2', @@ -1835,6 +1932,7 @@ export const mainnetBlockHydrated = { nonce: '0x6', publicKey: '0xd9d01006b01c45425b865e62f65c7c8cddc2816681ccbb29a08ec5287b49ea43', signature: '0x7127820875586008d07fafecdbd55103e102d921d203c095e9992efd51cef753', + descriptor: '0x010000', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x61', type: '0x2', @@ -1854,6 +1952,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0xb58385ce65a6a3cb5669f5f1ab1f6f2256ecfa7518ec314ec41eb98bc0837e60', signature: '0x29ea698c40672c0dbd004d705439542f22791af7a1c1e37dcbe83b56b9e7c9be', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x62', type: '0x2', @@ -1873,6 +1972,7 @@ export const mainnetBlockHydrated = { nonce: '0x13', publicKey: '0xb43ba165e5311936a02abdd5ce68b320deaa86957455f2b81493e7814266ea34', signature: '0x4e607d1700fec1e31441aa8b1f5c6b0df6604dea4e2008503bece4fc892f82ba', + descriptor: '0x010000', to: 'Q599f79493f478a8899c9e0b9ce986030e40b8192', transactionIndex: '0x63', type: '0x2', @@ -1892,6 +1992,7 @@ export const mainnetBlockHydrated = { nonce: '0x14', publicKey: '0xc529468d6f5ac6d3a93472c2342c571a7e173217fb2545fbe84d9698965b87dd', signature: '0x4f2bbee0e0b09d3030df61f434611ca2c7c6fcbd3a2172a0f787a1e3bee3bb40', + descriptor: '0x010000', to: 'Qabea9132b05a70803a4e85094fd0e1800777fbef', transactionIndex: '0x64', type: '0x2', @@ -1911,6 +2012,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0x7a738a0fd33a5d35321d30e38e983c559b4959da75b4047b6a24a7b39aad42a3', signature: '0x133773f7173e767f09f91abbc05c0189ea2b4523f4a0be0ba0cb608fa1bb2ecc', + descriptor: '0x010000', to: 'Q98bc423fbfd9935ab439c70eaa2f503d193b8827', transactionIndex: '0x65', type: '0x2', @@ -1930,6 +2032,7 @@ export const mainnetBlockHydrated = { nonce: '0x2311', publicKey: '0x4d9cd6af35da7055ec9f7666a8775974617c78416497d26b607a4e00e6e24df0', signature: '0x0473e36c9a23e1f51baf6e937153de71c26c04be9d2d3086941ad041afb53160', + descriptor: '0x010000', to: 'Qc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', transactionIndex: '0x66', type: '0x2', @@ -1949,6 +2052,7 @@ export const mainnetBlockHydrated = { nonce: '0x78', publicKey: '0xffe855a41faa47c558849944f960e16ec0b51b50d7232588df35649a53d3c8d2', signature: '0x780adf86a100a512bcb52d4d5b7942a0c2ffca51f888f606b0ff57da3182af65', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x67', type: '0x2', @@ -1968,6 +2072,7 @@ export const mainnetBlockHydrated = { nonce: '0x14', publicKey: '0x5913f6ba1e292387d9edbd31c42cea5781ef507a54f5f0ff9b24d9e51324ae1b', signature: '0x0062fb9c767a87c8bc796bf3d813d8a078f6a4a1c34edb566910d0c5b853d16a', + descriptor: '0x010000', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x68', type: '0x2', @@ -1984,6 +2089,7 @@ export const mainnetBlockHydrated = { nonce: '0x4f', publicKey: '0x6e20c681c7547f14baa4b1d4433abdaaa06f8df72dd0266e81f0d5748e71f7cf', signature: '0x4a388342be339075192c0f59bd1cde4e18adf73cf794fc74fd04c00b7d465eef', + descriptor: '0x010000', to: 'Q974caa59e49682cda0ad2bbe82983419a2ecc400', transactionIndex: '0x69', type: '0x2', @@ -2003,6 +2109,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada3', publicKey: '0x41d5426a523b9e1045201a5145cd78109077cc1fc2f9d5882f6b58d5f691a3b1', signature: '0x2a79396d96f9c362f0dd287b9fdfd6f39367a8964b3b96895a3f9737b1f67b80', + descriptor: '0x010000', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6a', type: '0x2', @@ -2022,6 +2129,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada4', publicKey: '0x13cbb4f6a61b5bdcb4950e324769b71a02eb937594c8aa09769b27f0d88594e9', signature: '0x261f42e105031f0b934b7253f3886c1e89e698443f33244429195ee5a7f07746', + descriptor: '0x010000', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6b', type: '0x2', @@ -2041,6 +2149,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada5', publicKey: '0x052804f66111beebc748bcd7926ebe9d4b6a9d0a793656213b15c33415eb4112', signature: '0x6e27a106d4b2d72152ceb54be11b71538539fc8c58101722bc91da558d8d8858', + descriptor: '0x010000', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6c', type: '0x2', @@ -2060,6 +2169,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada6', publicKey: '0x1162bd0ef817cd7729fa1bf0ebef928242f0a63ddf13de691cb9d930c250107c', signature: '0x4486854997407eab272e2af97e6a7515ea40f5ff7d21710b413c6526c5052bd6', + descriptor: '0x010000', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6d', type: '0x2', @@ -2079,6 +2189,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada7', publicKey: '0x4fe0a6957957717c5ad46c067e30a0902e445cb77f908a033dbd79b98b9888d6', signature: '0x392ce598e7c79cb36da56f19ec951194cc1d8941c53664dbabf14c9e3fa5d11e', + descriptor: '0x010000', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6e', type: '0x2', @@ -2098,6 +2209,7 @@ export const mainnetBlockHydrated = { nonce: '0x18ada8', publicKey: '0x650a4b34cdcd4631c7829a32a134a4c4fddda05d6ce3740febc8b65181fcaf0a', signature: '0x5704562d0e2b28f1513637b6162897b6f9b0b7b5127642970fd053f761d178d7', + descriptor: '0x010000', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6f', type: '0x2', @@ -2117,6 +2229,7 @@ export const mainnetBlockHydrated = { nonce: '0x3', publicKey: '0x15bc32bb35846cd316ea4b2ef352cbde5c4db3e90118a155f7d6d9d56ac42047', signature: '0x332c8e70d2d73246da61880965b6a8e18e2a49029d5c9f44d70a757a40632347', + descriptor: '0x010000', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x70', type: '0x2', @@ -2136,6 +2249,7 @@ export const mainnetBlockHydrated = { nonce: '0xc', publicKey: '0x4f09c205bc80daf565372757b4dea13e8f38b49f6d61f59e59dc244e2237e9f3', signature: '0x09856fc5ff01fe8b4f8771d78e7d3793db60b112cbb01fa113dced14f6d8d587', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x71', type: '0x2', @@ -2155,6 +2269,7 @@ export const mainnetBlockHydrated = { nonce: '0x17c', publicKey: '0xef833814a5f922ffb7809d56150f90cfc1ce6d151c7620447ff9e8670b10193e', signature: '0x236c8b6eedb771851d6d7de5a93f6ecf039250754e169f1caee2a45687b253d9', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x72', type: '0x2', @@ -2174,6 +2289,7 @@ export const mainnetBlockHydrated = { nonce: '0x3e', publicKey: '0x6b04df15be2426dca5090d73052f6eb01d4b495d869ebff7da8f85298cb5868c', signature: '0x2f25a9a6120c3b912ccad0d7ce8eedda62ef4e7bc82fc5557a06f74ed1c27582', + descriptor: '0x010000', to: 'Q1f9840a85d5af5bf1d1762f925bdaddc4201f984', transactionIndex: '0x73', type: '0x2', @@ -2193,6 +2309,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xc09606be9f624ec8f63206c830e3f769e7af2bb6084f63961a786996e408d252', signature: '0x1953afb0eb09319d8aca73c6afc537db8965a79a8751e398c2627ccf70e79737', + descriptor: '0x010000', to: 'Q7ab9889cf7f17ab6303d2992c874bc583f125a2e', transactionIndex: '0x74', type: '0x2', @@ -2212,6 +2329,7 @@ export const mainnetBlockHydrated = { nonce: '0x29f', publicKey: '0xc6422e0c8c19d97517db3a0e4e791ea556c8fc1a1eaa5fe4548b06df398d8cad', signature: '0x1da6feebf8207e3c861173dd64f96e636ca0681383fae3953ef5bd9885b3e9ec', + descriptor: '0x010000', to: 'Qd44078705456c4f4517a659953f5296e5328f8b8', transactionIndex: '0x75', type: '0x2', @@ -2231,6 +2349,7 @@ export const mainnetBlockHydrated = { nonce: '0x6a8', publicKey: '0x560aa95ec05030c84f9edb33ffa6a64f14e95c7edf902b9762c8393e424ee8d4', signature: '0x4fdf9270b586f36d185097e54832e318f1f1e2dbdec3a5b70b678c6c98374387', + descriptor: '0x010000', to: 'Q0000000000a39bb272e79075ade125fd351887ac', transactionIndex: '0x76', type: '0x2', @@ -2250,6 +2369,7 @@ export const mainnetBlockHydrated = { nonce: '0x39', publicKey: '0xd41571e5da0691205d0ac01a2752e6ebd93adb2ab3ee49fc8eca982a5a59eb34', signature: '0x1ef672723869b506f46d903606f702b642a499958642962e358cc3633488dde5', + descriptor: '0x010000', to: 'Qc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', transactionIndex: '0x77', type: '0x2', @@ -2269,6 +2389,7 @@ export const mainnetBlockHydrated = { nonce: '0xe44', publicKey: '0xf65542a721d9f35f30d90288e4e416fed7c107a802adc0d626d732937e3beb42', signature: '0x0cbb23391c0657b540dd143d84d54430d05accf1391a192dce9d4971b165becd', + descriptor: '0x010000', to: 'Q2969fed452f73ea8a87ca427e27b13a40fc390ee', transactionIndex: '0x78', type: '0x2', @@ -2288,6 +2409,7 @@ export const mainnetBlockHydrated = { nonce: '0x39', publicKey: '0x6ebc6fa0e15b11f8b528105d10e0a5036d80a65b5492ad55c15682e096bfb62c', signature: '0x742cc33888a16df24ed65b2e6c29df694a2ada7e217b2f350ba01598ac641430', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x79', type: '0x2', @@ -2307,6 +2429,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0xaa5a9f7a4e46e240de1a97541c078bdec6c38d01385a12c7417a43a9535879ab', signature: '0x0f9668132ff0306a7713e6d6caa3f37d2b24208cb1574d72707e3cc7d0786531', + descriptor: '0x010000', to: 'Q52a494dbf47107cc0c624ee10703abecaf586776', transactionIndex: '0x7a', type: '0x2', @@ -2326,6 +2449,7 @@ export const mainnetBlockHydrated = { nonce: '0xb80', publicKey: '0xf6675a6518006fec1f26f7b84c188c7d59d8f41f9c289cf7805733be3c36078a', signature: '0x5996c346dfa0606e2a9982990428f1da60bb5af13cb3ff213530061533fd6f84', + descriptor: '0x010000', to: 'Q32b30adef7c9dcb888d97f7b743db457e67f2142', transactionIndex: '0x7b', type: '0x2', @@ -2345,6 +2469,7 @@ export const mainnetBlockHydrated = { nonce: '0x33', publicKey: '0x25181587b27718980f719f401a5f6013cd6925827d16c2ad44be78edd2235590', signature: '0x601f289cfde285f95add07c1c6248a3257f08683ed100d58cb2816edc5619e91', + descriptor: '0x010000', to: 'Q090185f2135308bad17527004364ebcc2d37e5f6', transactionIndex: '0x7c', type: '0x2', @@ -2364,6 +2489,7 @@ export const mainnetBlockHydrated = { nonce: '0x8', publicKey: '0x8b5040ac315a9c89b115670c17f8535b9598e5bc87342a7f5c3071aa637c793d', signature: '0x77d5b8dfcb4f235dd14f1cee059c49e7d8218c7190782a969912c68172f1ab25', + descriptor: '0x010000', to: 'Q4623900e6d0495cca743665dce8fd815b0433e5b', transactionIndex: '0x7d', type: '0x2', @@ -2383,6 +2509,7 @@ export const mainnetBlockHydrated = { nonce: '0xfb', publicKey: '0xe679055f660c0595492297288a7e9503f489383c7a74849d849a125b153fc770', signature: '0x4aafb347706a36f9be7196c27531f8c43b2d07c0a51af60da89532a33f37e22e', + descriptor: '0x010000', to: 'Q39ee2c7b3cb80254225884ca001f57118c8f21b6', transactionIndex: '0x7e', type: '0x2', @@ -2402,6 +2529,7 @@ export const mainnetBlockHydrated = { nonce: '0x1a', publicKey: '0xf347daef28fd1489cf97fb24456ac33928ff5138d8f607957d0001e341d37f33', signature: '0x3a14d4de05e89b99eb732b60ba9aa187bd71898ac7e941ed370efbb8e49b2021', + descriptor: '0x010000', to: 'Q5fdcca53617f4d2b9134b29090c87d01058e27e9', transactionIndex: '0x7f', type: '0x2', @@ -2421,6 +2549,7 @@ export const mainnetBlockHydrated = { nonce: '0x64', publicKey: '0xbfe992343bd6b9596ab42bc31ee97e82f4bf9c80c63c67ca0cc96b708c3cd032', signature: '0x4bc0740e037b12397c1611036fbff0c71179edc73db0f9089d6f8e886b1214ca', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x80', type: '0x2', @@ -2440,6 +2569,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xbd79bee27f16a4031e0e63d950fdce905c6252022690654106987e87b7307dde', signature: '0x13a1b7292f7bd63906e40c7545fc3dece31bba4423b475e5c113109e1996a532', + descriptor: '0x010000', to: 'Q881d40237659c251811cec9c364ef91dc08d300c', transactionIndex: '0x81', type: '0x2', @@ -2459,6 +2589,7 @@ export const mainnetBlockHydrated = { nonce: '0x133f0', publicKey: '0x7ab0c2b5c6dc410da3f42d236a3d94c7da6c12c182465c26fa0c17b430e6c956', signature: '0x6618d10da00ede136502805d6375a2596085183a79fe6e508024d9cf3d2c3550', + descriptor: '0x010000', to: 'Qdef171fe48cf0115b1d80b88dc8eab59176fee57', transactionIndex: '0x82', type: '0x2', @@ -2478,6 +2609,7 @@ export const mainnetBlockHydrated = { nonce: '0x6', publicKey: '0xd4c34b8c853fc0ec5a5e6684de1b416439162be033d48b3d01abd294005b6c9f', signature: '0x6fbb55f270eb517a4eddc48c57f912188b7d95ec7803df7f943486022a5cfea7', + descriptor: '0x010000', to: 'Qab22705c4adae6503edfc3077b2884ea1761b7db', transactionIndex: '0x83', type: '0x2', @@ -2497,6 +2629,7 @@ export const mainnetBlockHydrated = { nonce: '0x7b', publicKey: '0x171001f29b776d199fbba9586b240043d587102d654a8b9e9e5f06131dd89a60', signature: '0x152d296ccb9c487edb05e4276c2796414c5a8929c7f127a3d08d09fb3e8219e6', + descriptor: '0x010000', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x84', type: '0x2', @@ -2516,6 +2649,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x12e091f6e84b915b7c343453731b4ac8a8225aab24f57fae2e37b0fdc9eb7625', signature: '0x3f14a8cf96eaafc238eaff987ee29e462b790d83ff7aeeb65c0635d82f94f8ca', + descriptor: '0x010000', to: 'Qc4448b71118c9071bcb9734a0eac55d18a153949', transactionIndex: '0x85', type: '0x2', @@ -2535,6 +2669,7 @@ export const mainnetBlockHydrated = { nonce: '0x6', publicKey: '0xe28a0a218e0699a8c592d5468c915ec4088659ce637c0969533bd8a32f00deca', signature: '0x401ef72021a21de34b623e75fb01293d335e6f0ebf4389eba6b1a38076e74d9a', + descriptor: '0x010000', to: 'Q13f4ea83d0bd40e75c8222255bc855a974568dd4', transactionIndex: '0x86', type: '0x2', @@ -2554,6 +2689,7 @@ export const mainnetBlockHydrated = { nonce: '0x6f', publicKey: '0xfa9298dfdecc4b63821071e864c0cca273ff63f0d8ad3bcdfd03dc9883d7d905', signature: '0x0d234fb1b27f627e25edded27bacff2946b348c29e5c89f268a405765a7ff65f', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x87', type: '0x2', @@ -2573,6 +2709,7 @@ export const mainnetBlockHydrated = { nonce: '0x94', publicKey: '0x089406d0133a909552145bb4b3b9088117aa3fc80fba3d91e760a649c2529a3d', signature: '0x5ba6c1e240821b42d1faa648e9324421a51053e5c06659a2a727d196f6ec9b8e', + descriptor: '0x010000', to: 'Qe42cad6fc883877a76a26a16ed92444ab177e306', transactionIndex: '0x88', type: '0x2', @@ -2592,6 +2729,7 @@ export const mainnetBlockHydrated = { nonce: '0x12', publicKey: '0xe844d08332e69f6dd257146dee8d95648c43056b5163ac81eca2f5773b9c3852', signature: '0x04dd4396702a1dc05e74ca5e5cd39b506d991d0f5dced3fc3bc3c0d5080325d7', + descriptor: '0x010000', to: 'Q3c19a291b31f92ef45b847a89fe5d21acfacc632', transactionIndex: '0x89', type: '0x2', @@ -2611,6 +2749,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0xf472e0c5841a33dd6b12f27e3a0280f41beb8807d57b21166d4cf4049a8e523b', signature: '0x6c9ffdb00da3b3afae3b7a197eec25eb71ef0fec9a77b2b21ba1e5e537fb5326', + descriptor: '0x010000', to: 'Qd1420af453fd7bf940573431d416cace7ff8280c', transactionIndex: '0x8a', type: '0x2', @@ -2630,6 +2769,7 @@ export const mainnetBlockHydrated = { nonce: '0x45e', publicKey: '0xf48152acd401687a6273974d723be29405c3ad5001f0330f2967d87e88685120', signature: '0x70d0ecf89b9d2b8351e6ccd728034add7a9ffdbe1ffa70a20862e1c30a2941ac', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x8b', type: '0x2', @@ -2649,6 +2789,7 @@ export const mainnetBlockHydrated = { nonce: '0xc8', publicKey: '0x39287564d388296ef932ad463ef6be1d3cd70e421c3db343f2622f814e848eba', signature: '0x6b0e433c0f0577aca309ddcc2144d28da94a9033fa3fa10846195dc3a602afa3', + descriptor: '0x010000', to: 'Q22769f975be0632bccc29392a66bcdd353246f74', transactionIndex: '0x8c', type: '0x2', @@ -2668,6 +2809,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0xc6d1fe1d09c919751d1938a970e92553bd0ce6fdbc5a257607b22fcddf2792f5', signature: '0x16f43b2fbf8d7a5e555d56707e3b8cd91b7a4fa29d046da608c07ebd5f437f40', + descriptor: '0x010000', to: 'Q06450dee7fd2fb8e39061434babcfc05599a6fb8', transactionIndex: '0x8d', type: '0x2', @@ -2687,6 +2829,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xd2d2622af6f8847b9d4cae57e2432e51186f916ad83fca7e596b862c1d3b779a', signature: '0x5c1a52734132e091d26f17eb9f28d2379b2b19b67b0d0f763e269374acb852fe', + descriptor: '0x010000', to: 'Qc5b1f58cea87704cc87510320d8390964b6fe88c', transactionIndex: '0x8e', type: '0x2', @@ -2706,6 +2849,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0x307eb7a3dc0fcdcea16fe4cf43e3be64ae57ee1700b95712d065a771bf5b135a', signature: '0x134b00a67f5d7188ed38752373ce88f4e81226b2fbd514cca6c418d94e8e46df', + descriptor: '0x010000', to: 'Qb584d4be1a5470ca1a8778e9b86c81e165204599', transactionIndex: '0x8f', type: '0x2', @@ -2725,6 +2869,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0x156cb4ab98cba596713e343fd3ab2f8a90203f8cd7d316bd375d111895f92ae1', signature: '0x2117eff2c33ae5e1103367254bb32efb37abeec4cf598dfddd663c1cb0c2fd32', + descriptor: '0x010000', to: 'Q68b3465833fb72a70ecdf485e0e4c7bd8665fc45', transactionIndex: '0x90', type: '0x2', @@ -2744,6 +2889,7 @@ export const mainnetBlockHydrated = { nonce: '0xa2', publicKey: '0xd1d608c88b68bd71672371bdfe112966a15d6244cceed691388e836a0e6c5259', signature: '0x2e6d9e638035e9e493f0edbd874205e1d1d4c4d7a8d0d826e98e7e1dc92b5c83', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x91', type: '0x2', @@ -2763,6 +2909,7 @@ export const mainnetBlockHydrated = { nonce: '0x6a', publicKey: '0x128e7fe55747469b4be913e4706a22b206f994208b64aabc39d3825606c00555', signature: '0x185f45cb1c7c6d16f30ffaabd347b5b2cfe7c2c0f17f4e48b3e9a6654a132ce6', + descriptor: '0x010000', to: 'Q2791b93591de3fad825e41bd593c53481f407f82', transactionIndex: '0x92', type: '0x2', @@ -2782,6 +2929,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0x69d4b620c6a3d91efadbc9b3e3d8be839e226d0636eca2b3b472a07404d22630', signature: '0x1dd6083f4de1ab299ea3afb89aca0fbe749bf4654f0b1595caf2dd36ee49cb8f', + descriptor: '0x010000', to: 'Q9d281056b1591889c481b48c9ada12afbaedb758', transactionIndex: '0x93', type: '0x2', @@ -2801,6 +2949,7 @@ export const mainnetBlockHydrated = { nonce: '0x3a', publicKey: '0xe14680f20870065765c3c1e48dba3ff8fefb013b84a98a9eb0bfd11e8b535d45', signature: '0x5ac7f29ac66342e710db290258958d7f9dabfc475cf71e2ec01a92cf91e0b47d', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x94', type: '0x2', @@ -2820,6 +2969,7 @@ export const mainnetBlockHydrated = { nonce: '0x4e1', publicKey: '0xc83c53992ea82dc9ca2b48702930f9e296fcf84c6cddc12dd36f5cb36f771143', signature: '0x52e4d4b69c01b5a39874c92c78ccddbd47afc5b8b72cc6053c88b6ac1985b555', + descriptor: '0x010000', to: 'Q5b235e2844eab73c073a54f6928b7f8358e51e32', transactionIndex: '0x95', type: '0x2', @@ -2839,6 +2989,7 @@ export const mainnetBlockHydrated = { nonce: '0x7', publicKey: '0x3f518ed2dbd15a13948873b15a61e35a685a2819d330c17a6c896fb577887f92', signature: '0x209ab4820a10c06cfc24ae4dc64fe98106eece4bf69c5ef0c26ee6524f1b88d8', + descriptor: '0x010000', to: 'Q036b16b5067a1c0c6923c9526bf76fb125619a9d', transactionIndex: '0x96', type: '0x2', @@ -2858,6 +3009,7 @@ export const mainnetBlockHydrated = { nonce: '0x32', publicKey: '0xfb775bca5c6dc8f9920b24e4108bb822cd272a68e46c22ca9599d234a309e572', signature: '0x6a9a15cac84e1b5f1cc71130261b746317ef68066b46806e783324ada7583854', + descriptor: '0x010000', to: 'Q6131b5fae19ea4f9d964eac0408e4408b66337b5', transactionIndex: '0x97', type: '0x2', @@ -2877,6 +3029,7 @@ export const mainnetBlockHydrated = { nonce: '0xda', publicKey: '0x7755f3a5db7f2d6c3bbfca52413d7231f949b00cad3ca483f570d7da82d2b58a', signature: '0x7f7853211ea73c04bdd968bab6856533ad10b6aef7c972796ed816ec817f3f44', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x98', type: '0x2', @@ -2896,6 +3049,7 @@ export const mainnetBlockHydrated = { nonce: '0x7', publicKey: '0xdd2f51f56265814170f0f1829001633009f61a04a79158242ba614804a60f925', signature: '0x24e18bddb2120817f0a86f22a729a249ad74f88f846c86dd616e9c57d1f7c3f6', + descriptor: '0x010000', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x99', type: '0x2', @@ -2915,6 +3069,7 @@ export const mainnetBlockHydrated = { nonce: '0x204', publicKey: '0xce97b3a6b4fb2bda791367c6566290d8ee38a5d39625ec5260cfb21eb3dbe73f', signature: '0x2f50aeaced4b502f667f2ca74d6e929a0b4be6350f4090a4364d58c8281a0514', + descriptor: '0x010000', to: 'Q4faab2f1851b58c26028ab7ba2873ff3c7b52d4c', transactionIndex: '0x9a', type: '0x2', @@ -2934,6 +3089,7 @@ export const mainnetBlockHydrated = { nonce: '0xbb', publicKey: '0x49c82cf38ce3a5299818ea25b4e6ecddaf08763b39dc9c280625ee6ef154321c', signature: '0x0de8fb753fbdffec681cc6803a71f93783a6a1a8f2189870e70db2e6cfe30559', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x9b', type: '0x2', @@ -2953,6 +3109,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x4e8f50c8c6a483fb296f7c10525d1ae2ccf45cd1156cc6c4a04931fbf89adfc3', signature: '0x4ad31852b9fc33f8cdd02ac393de63af02542aba2dbf1cc80c5d410c26594356', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x9c', type: '0x2', @@ -2972,6 +3129,7 @@ export const mainnetBlockHydrated = { nonce: '0x39e', publicKey: '0xe77bef1808fb6fe5657d92b672e75390856cab77a4e3bb6fc8e5651d262f077e', signature: '0x303f114a56069f8248e68b97a1f567f06c8329658413e66d6a1eca8f331fae29', + descriptor: '0x010000', to: 'Q74312363e45dcaba76c59ec49a7aa8a65a67eed3', transactionIndex: '0x9d', type: '0x2', @@ -3004,6 +3162,7 @@ export const mainnetBlockHydrated = { nonce: '0x221f', publicKey: '0xf8b669d3e358375cf0dd8d88497bdf4769b2ce9897468657d91a96b884bdec63', signature: '0x36236400a44bf6bd812afefa5deaf53450bd3597e57932c019a7e831ac05e224', + descriptor: '0x010000', to: 'Qd6fca65266adac7a35d679ad53dd3aea1f94b95f', transactionIndex: '0x9e', type: '0x2', @@ -3023,6 +3182,7 @@ export const mainnetBlockHydrated = { nonce: '0x48', publicKey: '0x43e933dbf91ec15bc5918ae2859f34eea3377a27c6c9ae4b03fe54e7d8e68970', signature: '0x57de9c8cefd00fabf794f6902d9b3fa572e4ef7d89bb963476893cd2a0fb475b', + descriptor: '0x010000', to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x9f', type: '0x2', @@ -3042,6 +3202,7 @@ export const mainnetBlockHydrated = { nonce: '0x1d', publicKey: '0x77f429777d123871ff3684cd1270b395776660622b5418337126c8b25e252e6b', signature: '0x313052affd142ecc6d29050bea16d93f419c6f03f42a2bf36d05c770b43bab4b', + descriptor: '0x010000', to: 'Qa456dbd1bedee6467ef103fc58b079b0f790335d', transactionIndex: '0xa0', type: '0x2', @@ -3061,6 +3222,7 @@ export const mainnetBlockHydrated = { nonce: '0x3f', publicKey: '0x744a97f9d54ffe6b867fb382b4f0aa3424b65d7681d6c21d9e5357686a5c18f3', signature: '0x44a8ee67be7916293e2e9aa0c739741026bb4d3f8a4b902258548e99b2b14f21', + descriptor: '0x010000', to: 'Qf063fe1ab7a291c5d06a86e14730b00bf24cb589', transactionIndex: '0xa1', type: '0x2', @@ -3080,6 +3242,7 @@ export const mainnetBlockHydrated = { nonce: '0x19b5', publicKey: '0x83d760f376a400bb79c0f72c49d735ded55eaf3052823d309f46b823001d12fd', signature: '0x58744ee0289fafd6b66b7284defc673650cd37b56802b96a6ed786140fa504a2', + descriptor: '0x010000', to: 'Q8fe4243374d944921e7e2409763b558e217c7467', transactionIndex: '0xa2', type: '0x2', @@ -3099,6 +3262,7 @@ export const mainnetBlockHydrated = { nonce: '0xa1d', publicKey: '0x9861b090ae2e89e38637a8bad32fe050497210a735651e5289796cb5366f1c15', signature: '0x014545f75104bc56668f7a4ad21417ea7c75f4b38b3592b7701d232177fe231e', + descriptor: '0x010000', to: 'Q73d7385bdd6493e88e348b3b6c0b02bcb77779a4', transactionIndex: '0xa3', type: '0x2', @@ -3118,6 +3282,7 @@ export const mainnetBlockHydrated = { nonce: '0xdb', publicKey: '0x69a986ebcab6f5c0f19b849353b3de5e576c866e72577d1ed8a92f3358e4b6a8', signature: '0x70d0b38161ae8f4098b59b26d6f3fd613cef0fea5c8b08b33d5cff5fa00de22a', + descriptor: '0x010000', to: 'Q5b1085136a811e55b2bb2ca1ea456ba82126a376', transactionIndex: '0xa4', type: '0x2', @@ -3137,6 +3302,7 @@ export const mainnetBlockHydrated = { nonce: '0x5', publicKey: '0x42b676d851eee42c7402532a95e6bd3c19cb6f97f5372110cfa2caa965d8723b', signature: '0x7106db6691b9bd61e380e5f9b9931e54f94355aa4a93314e1875ecc4059ce445', + descriptor: '0x010000', to: 'Q06f841244907a2c886f1e292ca19bd0c3e20fe4c', transactionIndex: '0xa5', type: '0x2', @@ -3156,6 +3322,7 @@ export const mainnetBlockHydrated = { nonce: '0x11', publicKey: '0xe913c42b7e398941841f07b7c89b4016000b164e8794f71d66e6caac0493ef4f', signature: '0x7433145cbf40a5b8c40e79c1ec6b78761ca2fa8e00f8c1d288afad0cac8bb795', + descriptor: '0x010000', to: 'Qa9cc6d2b54cade299c5a86d959eeb8efc80df773', transactionIndex: '0xa6', type: '0x2', @@ -3175,6 +3342,7 @@ export const mainnetBlockHydrated = { nonce: '0x1d', publicKey: '0xbec77779f6740f8b0cc2b3bf3541136da1011d8e6c9823110696501aa6b4ac65', signature: '0x5796326ce663e67c69f9d1da51c610c25e4c28fb254344342333c7402386f268', + descriptor: '0x010000', to: 'Q495f947276749ce646f68ac8c248420045cb7b5e', transactionIndex: '0xa7', type: '0x2', @@ -3194,6 +3362,7 @@ export const mainnetBlockHydrated = { nonce: '0xb', publicKey: '0x17eeaea751accb34ab696825afed4cf5852c84836306c73b89cbc4dcec7f2e6d', signature: '0x040b0bcba55c653c094ed116f2fd453770843b3cdbc6ed861f3a09084cc5149b', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xa8', type: '0x2', @@ -3213,6 +3382,7 @@ export const mainnetBlockHydrated = { nonce: '0x15', publicKey: '0xdbe15946cfad124c7f3dc5d895e874ccd4431168738359cc4346f0b97ee7fb32', signature: '0x1ca6cd3b3433aa8051c582e77fc199c7db72cc5e82380d4eabc5b9afb90c9c70', + descriptor: '0x010000', to: 'Q3666f603cc164936c1b87e207f36beba4ac5f18a', transactionIndex: '0xa9', type: '0x2', @@ -3232,6 +3402,7 @@ export const mainnetBlockHydrated = { nonce: '0x7e', publicKey: '0xa992964c4535a1200cfba38f056d0700fadd5c5e0a8e5b0789a260fd3c669aa2', signature: '0x618b195d75a3d2a791d0e4b75040408edd888eab7c165e92ab22fb20a9ad0b59', + descriptor: '0x010000', to: 'Q99c9fc46f92e8a1c0dec1b1747d010903e884be1', transactionIndex: '0xaa', type: '0x2', @@ -3251,6 +3422,7 @@ export const mainnetBlockHydrated = { nonce: '0x74', publicKey: '0xe09dc226594df121c0d40a9652e941282a521edb26ed138e3def76954a990141', signature: '0x2f7c710c8d3e3dbf9915a1607e223cb0ba78f27be41f89261f7e3b2d1885b089', + descriptor: '0x010000', to: 'Qba11d00c5f74255f56a5e366f4f77f5a186d7f55', transactionIndex: '0xab', type: '0x2', @@ -3270,6 +3442,7 @@ export const mainnetBlockHydrated = { nonce: '0x4ea', publicKey: '0x068326fe3e2ef5f98b8661ac64adc95a38ae966bdeaf3b29f00a82d9ea6d9557', signature: '0x1f6b5b58f58cb4aa7c2491ec73fbbac5bd357d8fd41cb1602f602c9f60083114', + descriptor: '0x010000', to: 'Q5724b5bc7f54a52f4014e5f496ae380f89c881a1', transactionIndex: '0xac', type: '0x2', @@ -3289,6 +3462,7 @@ export const mainnetBlockHydrated = { nonce: '0x3b', publicKey: '0x7c1fec91a460221ac132cbe6f3cc850734e3e825f4391fe25313d2447c3a9724', signature: '0x3c1881ef1d6d43dafa41cc91572fe3f4526ff1f19007e85e98d4c6df2c16147a', + descriptor: '0x010000', to: 'Q626eb7f29d179e0e1e9deb97b3e5938a646616c9', transactionIndex: '0xad', type: '0x2', @@ -3308,6 +3482,7 @@ export const mainnetBlockHydrated = { nonce: '0x2cf', publicKey: '0x64fb24029162079701a1163f1957f15aa7bc1160f13450c19d4f7ef69441441b', signature: '0x4856e9bb26f1c490a9866ed11ee160ea127d80861662b5555aff436ecf889180', + descriptor: '0x010000', to: 'Q92c93fafc20fe882a448f86e594d9667259c42c8', transactionIndex: '0xae', type: '0x2', @@ -3327,6 +3502,7 @@ export const mainnetBlockHydrated = { nonce: '0x15b', publicKey: '0x90a309abfe52ff76a25c3ab1fc5d38c53eaf9c4f3ef9728c9a88a168dacf365b', signature: '0x3b1af0c97a0f88c6c4800b29549eff3b757b6145074726ad4c20f29efd2b7ff3', + descriptor: '0x010000', to: 'Q8967ba97f39334c9e6f8e34b8a3d7556306af568', transactionIndex: '0xaf', type: '0x2', @@ -3346,6 +3522,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xbcf5af6296d751ce07bae4d289e54c3c9bdbe0629de6d170bce00f546a24cdbe', signature: '0x7a18cc73b88f984a846a03026e0ba64acf3a0e6d892065cc01a51ccab4a5c76b', + descriptor: '0x010000', to: 'Q86b050c27d689ba91917377de4a39310e79c2b74', transactionIndex: '0xb0', type: '0x2', @@ -3365,6 +3542,7 @@ export const mainnetBlockHydrated = { nonce: '0x4', publicKey: '0x2b8aa171ca6a259fa65f52c397cc13c5a9fbd2b295402251139ae33a3a28fd24', signature: '0x3bdf546fa3d5a7c07869a23c90539137322d30cd1ac6614d8566386629b4afa7', + descriptor: '0x010000', to: 'Qcfcffe432a48db53f59c301422d2edd77b2a88d7', transactionIndex: '0xb1', type: '0x2', @@ -3384,6 +3562,7 @@ export const mainnetBlockHydrated = { nonce: '0x28', publicKey: '0xd4238279c5197a8e85d0bf2f68f7b73fcd25002e5d8b692dc6a7b53521bdf075', signature: '0x7ed6c80b5bbda6257d52f9b74989880865942dcd324f30f8defc231b1ee5cc2c', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xb2', type: '0x2', @@ -3403,6 +3582,7 @@ export const mainnetBlockHydrated = { nonce: '0x530', publicKey: '0xaf5eac6b32b9d2d8c4b0273bffa0f32b180c4beed468f92379d56ad407d58138', signature: '0x620e4931e4c0cd991109e04f223ee4f3fbcf5630fc4945d418dfe9ed3a9561a1', + descriptor: '0x010000', to: 'Q9c4c49c3c3bd7ab49d91576d0103a25514cad1d6', transactionIndex: '0xb3', type: '0x2', @@ -3422,6 +3602,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0x7fc9b2ff15c31daa91ea1875de068e4e12a7a7e86a4ad0f281c3f3b2c3c8f2c5', signature: '0x1650b4c74cd44f7e317837bc36c7b3652312adf404835f60053ed18bddd70af5', + descriptor: '0x010000', to: 'Qabf7d7b1a434b684541aea4d6bf2e65b57b1aadf', transactionIndex: '0xb4', type: '0x2', @@ -3441,6 +3622,7 @@ export const mainnetBlockHydrated = { nonce: '0x50', publicKey: '0x9bf9c27d293970699ecccca63a6e691fe6be4095e348bd7c06df516a609471be', signature: '0x09113c049db4b93fd9129b188fe3980727b1f16ff32353e2dea5ac40b63d3ffa', + descriptor: '0x010000', to: 'Q9a5132e149c547f254c73226da7f770d43d9ea44', transactionIndex: '0xb5', type: '0x2', @@ -3460,6 +3642,7 @@ export const mainnetBlockHydrated = { nonce: '0xd', publicKey: '0xe7393a07e07f04a9b43a841014852cd12ebc1079a4290276e67b7c01bd38a4b1', signature: '0x2e74e7c66a3f46e2ce31018771b811d16c1544fb3df6664588420111ee36fcad', + descriptor: '0x010000', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xb6', type: '0x2', @@ -3479,6 +3662,7 @@ export const mainnetBlockHydrated = { nonce: '0x19', publicKey: '0x51e49b423093e8f7d580d349423b5a6ff02b8677999d96c60a106b9f155cd571', signature: '0x7556ea05a4035a9863f0758c2a9ded646edaf9a76e2a7810dc7b276421288ee9', + descriptor: '0x010000', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0xb7', type: '0x2', @@ -3498,6 +3682,7 @@ export const mainnetBlockHydrated = { nonce: '0x579', publicKey: '0xe9eeed92f4dd20c08048f7a1ab85d4a998cfe54fbc4f8b1ecf3d152a4ec87648', signature: '0x3e9e7796691c23617522a914b7d00375fe239d7e006a107906bd576c1eb0feb6', + descriptor: '0x010000', to: 'Q7d2768de32b0b80b7a3454c06bdac94a69ddc7a9', transactionIndex: '0xb8', type: '0x2', @@ -3517,6 +3702,7 @@ export const mainnetBlockHydrated = { nonce: '0x4b8', publicKey: '0x78a596b319d9980c3397d80f55a2fcc69453cc762174334eae561ed558364894', signature: '0x39f35a020f30acf5b2911165f8fcbaf9504cdf11013715316e8a7041e450a17a', + descriptor: '0x010000', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0xb9', type: '0x2', @@ -3536,6 +3722,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x6c57bedc3293558c09a4ba971650c9e9c334d9d30afd1af7f8b3afda4b774bda', signature: '0x4c73428de95a5847aa1d9cee18d65ce3c87c65d118460901240058fe0e531036', + descriptor: '0x010000', to: 'Q1111111254eeb25477b68fb85ed929f73a960582', transactionIndex: '0xba', type: '0x2', @@ -3555,6 +3742,7 @@ export const mainnetBlockHydrated = { nonce: '0x0', publicKey: '0x60734366ba975b8870db2c22d943cc0cca3e255f4a28833794549e2146be2561', signature: '0x18ac390f8fee9fa30c6ec211b36a3a4196008e52cbe862eecf4de33f3f244ef1', + descriptor: '0x010000', to: 'Q06450dee7fd2fb8e39061434babcfc05599a6fb8', transactionIndex: '0xbb', type: '0x2', @@ -3574,6 +3762,7 @@ export const mainnetBlockHydrated = { nonce: '0x35', publicKey: '0x18a1cae998156ebab7452e1a352a6ddf9c89c25c13c7cf329a37e7ed92b5c6e4', signature: '0x1dc0a408aa000e858bebbf484c3ac1bc3cf31791d5d9fa03bb9e3c48c84aaa28', + descriptor: '0x010000', to: 'Qc4448b71118c9071bcb9734a0eac55d18a153949', transactionIndex: '0xbc', type: '0x2', @@ -3593,6 +3782,7 @@ export const mainnetBlockHydrated = { nonce: '0xe3', publicKey: '0x2a379538c84ab1c570861f806c4d18a8d99a00c0787aa4ddf9194389008af4d7', signature: '0x6810427871577c34d495eb563158587559e2380811740130c1342c3d44845b35', + descriptor: '0x010000', to: 'Q000000000000ad05ccc4f10045630fb830b95127', transactionIndex: '0xbd', type: '0x2', @@ -3612,6 +3802,7 @@ export const mainnetBlockHydrated = { nonce: '0x2', publicKey: '0xd5502ed0648a8a7a02cae26729c382602009560990d904686de10e00e45c4250', signature: '0x70587220f358a55dbc4529f918ebfc7f823fc4dce3f09b0d1d4a7144f9497b48', + descriptor: '0x010000', to: 'Qf2665d9fb3a0ad17a7454da077bec9cc159f644a', transactionIndex: '0xbe', type: '0x2', @@ -3631,6 +3822,7 @@ export const mainnetBlockHydrated = { nonce: '0x16d54', publicKey: '0x2526349ebcb7239ed6f66843a7368519723cc3316abd509c7cef841783f81ab2', signature: '0x0c7d6950bdd3fcf6045dfb4455b93930587822ebdda88377f3df852e0c8736a1', + descriptor: '0x010000', to: 'Q1c479675ad559dc151f6ec7ed3fbf8cee79582b6', transactionIndex: '0xbf', type: '0x2', @@ -3650,6 +3842,7 @@ export const mainnetBlockHydrated = { nonce: '0xb02cd', publicKey: '0x0113be49a7e3226dbdba535e64da2d61aa66921904bcb5c88138ded11819f160', signature: '0x02f8b000478f11787977257fee2c20085a16c7b8f460d7cbdee5bb58c372d491', + descriptor: '0x010000', to: 'Q5e4e65926ba27467555eb562121fac00d24e9dd2', transactionIndex: '0xc0', type: '0x2', @@ -3669,6 +3862,7 @@ export const mainnetBlockHydrated = { nonce: '0x13', publicKey: '0x891c8e4fb5416707bffdb3796101e4bab549d6d809bc8107dd3c64ab161d6ac5', signature: '0x739b527d8da18e099b86fb623f6a1c8436a2139c2ec8a49cde40f1cd35c70659', + descriptor: '0x010000', to: 'Q8b70497d9ef243a66111d43f567aeda3ebbe608b', transactionIndex: '0xc1', type: '0x2', @@ -3688,6 +3882,7 @@ export const mainnetBlockHydrated = { nonce: '0x1', publicKey: '0x8c2590402601bfb04153ffc112a7b649d9a2e810fcb287acbed5fff1853d5a9e', signature: '0x2d4aee8e065ff06be42d1020b95bc35d21249c6b66b149ec15824f41eb3d54e6', + descriptor: '0x010000', to: 'Q1fe0fba03dcfa2bb97ba9047a5c523115fea9c8b', transactionIndex: '0xc2', type: '0x2', @@ -3707,6 +3902,7 @@ export const mainnetBlockHydrated = { nonce: '0x876', publicKey: '0xe7a96ca63eab2a40e2a1c137bf0b2bf2133fd9fd07c5e05fbb0af11cb9ef28d0', signature: '0x128151f2fb774ee942a67b98b352e8b52bf07065bc07809220c115c313ffeddb', + descriptor: '0x010000', to: 'Q01659335fc8ad471c7079f6f04e7532c7d001d43', transactionIndex: '0xc3', type: '0x2', diff --git a/packages/web3/test/e2e/get_transaction_from_block.test.ts b/packages/web3/test/e2e/get_transaction_from_block.test.ts index 1a5e048d..0e3dbf7b 100644 --- a/packages/web3/test/e2e/get_transaction_from_block.test.ts +++ b/packages/web3/test/e2e/get_transaction_from_block.test.ts @@ -92,6 +92,7 @@ describe(`${getSystemTestBackend()} tests - getTransactionFromBlock`, () => { type: expect.any(BigInt), publicKey: expect.any(String), signature: expect.any(String), + descriptor: expect.any(String), to: null, value: '0x0', }); diff --git a/packages/web3/test/fixtures/transactions.json b/packages/web3/test/fixtures/transactions.json index 68a7a8ea..315a71d7 100644 --- a/packages/web3/test/fixtures/transactions.json +++ b/packages/web3/test/fixtures/transactions.json @@ -17,7 +17,7 @@ ], "chainId": "0xac9f74e3" }, - "seed": "0xd754de5c11c9e78bfec4591ecd608871fade842f10840846bed1684745f06140cfa6078715b7cbc1c3d6dfce427d5f76", - "signedLondon": "0x02f91c6e84ac9f74e30f8391bcff8558e8d1dda185331bce0f9094d0f118afa9c2c9cc50f10d94ccc1cbdda2758b368591e32e2f5a8be0d1a7227d34c2ca72e3c0d7d694032f5546f1b932555cb43e2b16c844d118078430c0b90a2037edef1e80b9013c6360dbda67cac1b599b66ca32244effe5919828ba6e3c3c50bafb17928753fd1185f0aa637836f002649433ae4607ea7755b7b78e67742c3dd99c6939de7b9ca13867a85fb8c56dadb18f54c9ca598375bb4bbc784d0d99267983ade06c2cdccb4d1df1d000ec8a017a3bb47b3494d6d87f6b40815d52413197e218320a11bdc90c69171c25482b26bba96593a33b7c5c486e7dca0019d4c99d93c630abc3a7a18ed19869cd8a103716a449aba16a574e8c7f5a22d1991eecb9a2af00085763b25c9e3b562b320da221068307f5c8dab5d4d88dbe780f23ad60e63950f77c544d7a621f7c869dfbc791044182260939c5f2dfaa13c0c5d678cf0b1eeceafcc1463cff0cd326821104b0e8b4f8e2424f9527a6f006ebaaeef0a14c47ac4807adb80f9462d47a45291ac97b00b320aa8c4f022436e6a02f73ede2c7daa1e9574b5e5d3c172a3f14de472858538a7a76a27f2f85d5259995754b6b33d1e77dab2ec8dbed5f328d2954be70f072760819aafe91fa5e986f3c6e458241a289526f6157a6aa51cf1785102285204cedcfa16577b5733e471c751e9dde583873cd894b0dbfae3d92a87c5420d18f8578400ade56787a34f7e176dada6ed7c5888fc03fb8f980764f713344d96a38ece2625509faa7aea879c29ea700de60e2008d134af85fd9564a2061d31722b68829b915889d8d9828df39c1c9a0d834bd77bcf8f1b6624220b6eb45acc3dba7efd564c6969897bf34619e1978dfbe6676f7917dc309c44a122d6b2dc82528d94c1a0ce96e516d62c4e68d8335e3b5ee6786f2c241449f56df890f191ac1d343c63544f3c6044c7b04f314e126f8f37aedf340d764c3058b4d1ad934c61605adce0d42c58bae95991e41e7cf65e344e60538ecdab3e64634ae3144f160e44b6ae139ccd29a203bec5c08ed979514fef908ccecdfaf51b796650c99beae73d0c576939bd7845cc33104ad9ab1d7f0c89a49345f926f3568a5ad4035c84cfcbc3d0ca09824c7dec4f7373b7dc47328b612d84ac078689862e4ab15edc265fe8e2e985ed26ce6266a9676f599823b88d0c12c31d9a7114c4ec88560cf895ca4b9dc704f2ec9657317e075ecdba115b2af399434496f001e07d54af03c5285c6214563ddb8c2f6705d51ed7b164a9809ccded4ae2ecf4089150ff8020e2bf998d6e0e4ddd36d05b1dc721ce8f06f873de1434569cc79ede7df11e971bcb36e839f55fbccc41e3809cfc699fc61a47ac59f63a9481dc968519736e6d847017766996fb25bf1a0bfc7655b80a859f493299aefc7f38e6e4c52fb8eb82574fc8f1a6dcd8b967fb9212650bf628ce0b7ea1aa8db1322e7b0e3e5fe1c34a39bb9e0a670cbcc8750f1ac387f45078dc084a7e7fc7b4b1a38acd3baf3952d6c15d5181b9e4166355c2673c5bfa38efb19e5acdcacc1e356ee8ed69727d93290a3f2a2df30d27e08b2c52e922473bf09f930fdc8885218bd21acf010747ffd8ff3363b9edd65ea539f35bd62c6c87856dd1b97fd2c26dff15a1e827a55ebd3752c121f4db2fb83a54131bd569fd291bbdb58f7373e360806cd9041538946344be20d8b1f9bb33ed81dfc00aa94d12b2304626cbbf13884d552e4c0adfccec5e331e1e1a839ecb82a163201a7f628034e8f065e845183a3481580318e5c596c738b7e7ff4a4b0d8c5a52745cfb452d69548b5e38fb794f733311020540fc85c9c70f7639538dcfcbee564cb1b8b36912793cd494704d5bf54ef356e5f7cfc7c07e0c7f584ead09a132074c82f6c54d8bb430277e2872652a91e87bc092ff2243c914d6a311a57c21c29c28df352f32cf92fd5a3dd1170401ec27ad2771e97c01e66077afb8b9b101c43741ae5327a722e54e0bfde6bad3d4d61b7e906fe35b576fd6ed4358e16f0a31b273dea9686c6952617f1f57298f4bef29ae233dcd527f3206d6d24d0758bdd01a5a620b854e341230ee9a57fbbb0cab4c6dc79cd7a75e0e0b9cd303f500cbcb87b3d34c77fa2e8757b47f05e251f72356820aa3c87a2bea69bd66f333a55c723708369879dd65448a1d19369d8f0d1d74323ab842feca4b8ad0c6286545868daa4db41d44f45ce780c5b10dc06e4df894f35f14f572e176e96a6879eb39d5153e0ac614662b6ee60708fa61caf609763ae6b9a120f480c8ebba3f71365c65d1020e8b4e5e74fe72f51d808d26255e76feae17bf3a24c22b2d263d893b2f056105ecf943fbfbd538bdfba6f72bb40f23d5af2cf0cb2516e7ca68b721b61143f229000f9db098746ca1daae690f3a0cd40634a37ce91207742ccd0f671bb9c64ddf52dc6c860215eb0f4f74e2ec950fd70d04c7b081ec97ecfd5762bcf17a06eb41bf3c70e5b97f8a5d8c25c434591681537f5aee15da1805a4a3395dce3845c060c898a4e1131a1a882c33760f8a766398149759db9334da85314862c5f3428afc916b7f3d5a9281126da2880459b07c6c131b2d3476801e02163846d86920694faacfc6c9e90795f45e28aeac68ea0b209b44e6cfacbd2be5e6676da947e3a5534b5555417ec8b6eff1225af5c6546ccf2c2d4ab2a3c65937232680af21ccabf7e5cec2afcf07a0668566dc36b00c178ebb499065769712b8f45774f59a55602c5df5f0cdd1334dd48477ee6821be220df8f66510e5aa35720a778af68f69d27d26f7a6d24929efa6e6b6890855ea1293296b01f0b61eaadc3c27b89b6ff32e98410611f39d5597b8ebd3f8a8ad56913cd5d2db89ad04f7919aa9e127b232a339b079bb15a186c8a92036e09aa95255a73dbae41c68235001f3465c669e92fb6e77e627be4ade5169c80871d595462a89ce0990aee6361580adbf2695ec061c3b400232fa27bed0efed3c550f721e3527a7f1c75d051faf0973cfecdadd5e9e3d6cef68a415fffa5b22c1d266996ad051a61cc3add83de66519b1abbfd8ae3905b7d917039790dcf1936ea338b49ebe201edce185c4a0ba1927936c7f1e7358af3e5de6b130f6d8206a3f04f8f73d6055ad0ef3e8199c23746be015734cb75f3565af4d8ddb9465e7a0460afe41217c0bc787279b0180d69df76e62780b202911f9f46846c4ea9cddbfeabd9b8f3632105d4a6c92d51d02f7a2aad696f947efa47649451e79606378f7244145e15165104b601f89b9102683f7668639215e5e5beedb526643c56211ce34f5e0c24f430874c83c9dbbba435c9b4705cadfb1fe5313abe8a64ee5506e74322c5a1d174593729846256b8cde38c7416954e039bf1b141d67d658208f1f856d605ad2094b2df635bbbda23cbaa4d0728c159ee4c3a851d41d9b7ed935efd5a26688e50bad6fce8e39143b3e574980e84c5faa9a4ad6d5aa0aef93e33aca604fa24458ccbee84842025816534f79b6ee840b081f06e5bc86043e53fdbfe99970dc51adf3a3ee80ae8a35644947ae44f06d0a587787c95b68c113b4f7e298b8c4532721e14c4310023b78d92fe0a7a9bcfec15a83c1e3008c26f877cdabc2469a2597be56511064a2d1cf482792cf64a7c5dea75a2f97dae760d7ef1e6a312b3aa51b7a63825d18a7da51842e5afb4cb6c0d43ba0a27260bba4e3c8452846ce23fba74ef4ab2cc33c2ac81f950bfc67a9a76d39dabbd4b5af80c9212933993d05b911f3a3211f1fa5ef906f062d9c7454f5f0973b610231d4def9ef6614d637a0f7043bffeca650fd96367a616c7b97a0c2d7ed1994449786710421e4ac38d5969e404e928eccc371fc2a23396e8640a322a9ab9484d8212667c8c530dc97ef5bf6813fbb3254cebb8360b06a8a3c3eaad27b049ca2d0198f8b013abe7a7a597cb669264d9ebcd15199927920502949eae82876fa7e0577fcd9f651ff3dcbd59d1b6e75e45ab54d9a10fb54562240f700d9d809279d7f137e2c29bdecdc4714cc5d8e02e489b3c7b53fcdaa2a3c69378617112caaadf445367fe7ef537883e0aec099026388a2093dbaadb103ac12edcfc76c90644f0049565f9de1cae1fcfa193cf43e3347b7c59656193c44d87ab0c36ffea22696c900a4d5003f57a04f01b26851ae0a8197c16a348f72120fcc2895eaa29647602e089d9a08a01fc25e790f19d1e5df21d9e34474ca3f8333c0cb68e9d433f2bf7054239a4d07e74ee2ff740152d3349be5ffa5c2699963428647fdb58d7fbb88bd6b5c58321dc9a000b60f32d085df34138f46311630a8e6393dc96e564d8fafcf2506e6332ead658d68bbaadd1e1ba6a32e63d735eab4d489d936a46c369445c1b4b682dac35feee9b85b13db3c90fc36e1c58ae5d4e99317f6dacf67fb838e23b6ac24c41571f694a0a293be335a6c799ccdd1d297986bbf74139bd413d8dffb7f0c85e292b3bf46da54de8bef33e77b3ff7e6411fcbe21382fb02a818998d2d3ed102f09fd1fb51d66968ea0307723e979c1543f497e2126f6e0d38df71e070cc81c3abfb23c5ab5d536fb63f6eb456da7be22a59971bbd00af33c56f126a7e2f9b6441827b61e66241c1e542f2fb42a24bfdb1be3107cbbadc850446642a7ac57f077d30c78538601cecdd011247759fb8e1c787e6e90b8306053d38caf7c2564a3acc7156c47e9639584188949fc43b12131f49291513bbd97f508ac0bf7c2a92da755fa2d12bf76528dd82eb1c6bde8770e0d5f20d3cacd55638ce01c3657b13f44e876c1fe3ac75b7dad73cbd6fb0883b8616205f71f03cd24364b3bc7a3b14476a0de568461fc5a28a9f2c86f87edf2a772ec054c563b70c857761a771c1d968cda1e5eae4f6924b621ebb7a0f9d52dd7bf1f17b5fcef3673de62aec1b424fbf7a5dd782fdebd044d53fa17c74a40efd55de21ca25a8b91f4df65838439718a230483079006d4ac11f55cae584c7d5efeed156e242857aaacc7d8f55e74733a720cff85ac970c514a617f9ca215406cf078542cdcc93ddc10cac5f07577ea262b52fce965eeaa2b45cbcd7e8635cc991d400b8d118acc7bb8bf35872b3da07ed66b7a1a05105a9dd7b8e710ab0d51ea035e556dd8639c02ea151dac565c21d4423cfbe5e07d95193f2d64e8c3fef8b11aa58cf4e32e6bf1bee68e6879af947106525a6db1d038939200e42d727cad428c49e71cae7d29f5b37b4fba385dac9344674bf8a4d7a9fb8ca43e7cbe5e2b7b9716cb12bdfb0fc78fa9e3a98f2eb14859239efb756dfbbab2805ca407099bfbc4d90c24300bb672156c515d21d1e2d028d44df09d76fb24ec68016a51c065c2a4166ed193609ed622c2dd331e6e8583a780bbaaddd698243aab110bd1c9ce04f731c78307fe38a0389a8e033f54e15aefea4779772b05e1f37bd96400c2be403e8d7ef790433c62911ede2f3a47222406f1a2ccb664b6bbdd4ce83593c90ffbe0f5cd3545a560b96978ebc3633fbd5c50b4c8afba007e2cdb5667d93e051f28d575357b3c42620fc473c6554d2f1fa97150a153864255a9ed12f4c7ac87b82a09319dfe28c7660607795a0fce6dcb888671866fa8c07e668c31ea49ddc34aff14e43b9cb4659572df7277e548d6102024940cdecceb4f1de414ec6b8e8acdea615c3149068170213df8e92bf17f81a6ab51953feb2ad836f7b164c33aadf4ea18042ffc2ed69c4cc8a7056ecfde938107f80bb19beaef7eb1d4c3cd36a3867a34bb69baa0fdad06873f896bac5b7a419ef65494756df617cdd7e69b72c6b6090ae03887d1731cf4e741dcbc420258c4378f4b3190d3dfa61da9ee3a740a6da38b084bfd4de450c37346e3309098c5f048f35c2065c0b441c2afe10579b19942eccfc8debc187710e937fa3c8c3140f573fec3a8453958d9b0015b37c9490853f954b4e74a25fd9b4459a2aadc9ef9542b1c747af9637b017e30bbb8506ff4110d3b5a9bc7f959dd85931668fca3933126615b6500b7297bd4c7b3fe1ceed8d5f2b58c80df955642092ccc167cd134ea7adc274c0cde00970b5126b3e184e4745a669ae2ebbd46c4f90c9de185adf73b3a8bca9b62e4790c7b85709df04930e493bcf24479df340af00a2684bb01f3b054820842a21ccd9c78af5a1e851a61ec465fe6a5a9e8b9757bd561858830d74562ef0a8598af42f079913e511e133b586198467e20f258b187293fa82a3c30b9cf82e6015b19b36c5860d59195115af4abf9af204c0200ef4082ca3e616e1a8df65cb273e87bf06f0bcb36486eea9f764e1062f474898d021d7c2edfde1f8f9fbfe2f10fb9e2bf775d3d0f1a87d61c636014c3fd6a827a45aa44a9eadecb7a164eef0748bcd6e31ec75d34ead0f7e8db051e6aebe02e08f9e55ee12029efd6b0acb986c4c7cec69c9e596f1f1ac52fb986b2d35451bf10154a1d04b874cb528e3a2280a53bd8b5f91c85d3bb2f97b6ffbc50e41669cd9228b28d4f69d0888de9e99544826a9893eb73a1d0b74498b3418b6ce5583e48a5732177ec748846bc5a0eda0b5c9c9c3020e1ada5d5f69375d9ade4543399f62df0217a4bc890165a21f81533ed7802e1c9376dc93fd6308937bf16681eec5293f1cb832c22af0943a7e7f4e9e514cd14b32cc482e9eca1e36690e433f21f703b6786b4160023d2ecc041b2d8f5e7ca4e3069bf72733623d7e22387f7cee16f5ce2a647f203740bb916c1679583be305ca0094e5267ebcf25e8104a9006f8fbd7a6b40573e7f1cb7e860d93a69a98fea4d342e87efba8bd88112681f46ceb605a2a06bde40addd84cc9693cefd6525242d32f92f130f736146b30eecb919f31bbdb805b52f9f00d14df3cf6ae228c50ed06bcc266218f6c77a072a1f152da34a1c03c386c549a8d39b8d7542c36075b37bfdeaa9889ad679549840de185a8789efa88388cc3d4c0e6dcacca1028d06c31cd3e937ef237c97bf61181edf0937bb3c6bf025eff3b801434c046dc720e2aaa00e99d39e8fe8a985f9172141e89c90d781ec42f9e8edb20f73d14d85623da119ff60a7ff4ca835e03645af3c2633134840378b7511fe14a8953f9c7831dc2796b7c3e43b38ad9e591eccc6850f9fec454117406bc5d81d94c6429c224d69ad815dcbb564dd78e5ef88aafff5d44b06cbdc9c26f56d9b62a96c4805ccbe51eb3f609445dd28f8211cbd599ead99a0d0b9aef21c0e52942ba03fa0d942a59245e964ccaa66ad3861d12d0292d9a3659c2db63ce274d10ae4fc82c5f3916f15e21c24d7fde09b9f5a2cf0daa9afd8c954f27c007c25b1065f86e8dd701b0c3b2ef31c6de3a4c41c7f2a1f4023fc0549dcfe0189808a7fe7df6f3df99d7c9ee2b230215a037ea69a4a68beaaa8aec6aca013ad9108b5f5bf5b63836aa2e440bba676325a85a231e76130ad076c7e3450981def3c670fe0641772e9880efcf68f6c038642c28136cef33461605bb69cce1d8bdeca521568fab14beb466cede962afd6125f96686ad5d7adfc482015976b0cd49079593612020325b5e1f09bd7d77efa0ff24fe6e5dd308a8fd4e50ddc242fc89348532aa87df1f4efe50f2fd8f6ef1677144da3e635ff1e491034d97741cf73ffbfdc933899ae9a5ed747f6897588ab3b90cb0786afe6eba08aac71d3eec78f293b984035ebbc315291ca49ce2c53c50452de2ae53b2296353ad625a1b1f9241f164d1ad6e1474396de8898eef766c846fb4e3b55c8c566dacbdc921960dc91923527acdf2e8d58a1a9f3b959cc5a8c7e211a28307894a046eb13f5086948a54afe6b3c2917b2bd7d606be3f2b64f3a1c141136aba99f5da676f32ffdae0f5be9a09293a9425b238f309a3c67085f4b19721ce473597e244e1f0b562e8332ff3988246993bf7208602395389cec13494b41fbf759f0324d40757446ad6ad944983969d5b15f7445d9e7992870225038b5e9c1e06417cf4251ff76c2a459fedfea7b2112859f7e0a3be6bd8949792a4b7610c651f6c0ad5b45269211d261b5175b277932b648c871f1e25d34efcc8c0ca45bc3d40f411f8b348564a75552327cb9a9505c4ac95650e41c9a68a412c0ee19d13a1ca794417e228f8df98c2888a9820adb6dc78f415adbf72d841cb54f9d3916aeab14375c292cca1e9f3f45c94c9a7cb3ce09a9eac23d95c634d8425a9e17e69c803f1b1d68450a2ab090dd1c5963f060ca17b27807a57aaef5949f699bd19880dfa17829b836deed7f3f1dce8fc59f573ad2d5b673adf6cffbdf21e21dad60792328783518e4f0106275f8542316a57d9e5c37fbc63dea56ed6262f7773b890bc075b27b6388c6e9e1730d47785834846b941db65a7b8b3c2be696609510ff2d02060fd3147c00ac29dc679060f5a5d6c8a47e0c9e100e55aef593372a23dd7700f33fb385e1492175b82d94c8f3089af2b545c36438ecf51070888db06e9c4d776ed283891659a7e513855ee9027fa0eb4617d5e514b898c1998cf792bc4408b8dd21ac47d76dcdf39e151d0825f579eff2a77726e6723dc9a6986279d73409ef566451c2535a804b6e760aa5344dce2391e1283cccc24cbe0ef363462422818a7821da28c3c1c67a5ccce593d7f7d7c37807999a0558387c8c2a98868197919995c638bbf9b7669d00f41f58c61f4a1d891289f8bb3db0861e8b32c3f0cb30d581fb5dbdfa4d56bdcdd4c50ea8521f75a856c9827e03376c90569333a5403f593eb252e8a2b42f820511f4a9502254837624d88db20e75c7ca1eeeab4040468c13f937df14693316595bf2603e5458185323008ae9cd6a0fa85c15a00ba495b5634b87939f95c8ef7f37c53b70724446c47409b687aa499b8ce04a20f874dc7934cc3b596430d48527436d8d32573d9590dc9d9d88d4dabe70fc5f4cc8048525bc87b20021a488b32e9d514d88d61151d459827198367280040e83a0002111a3a21b2991575b6b7868d8cb3e3310385d1615764dea88c283136c2c8e1ce8e21f54d7a58e62f5e7491b5b53bcd8fb992535ce7650cbfc408204004b4ef881bfac0626a7b358da33ca95652630ad30ef6cb7ba45844a56da6af7fba509eec0b980b2b453d08afec1d8ee51d604cbc2b02957fcc78bfbfcc882beb395ed16683791248a87f4bf6ab7886a696a73121063766cff0640191f426553ed005c8a721ce965dacd91fad27abdcb27823191e61c39589bf3022f5e24615058d938ad9a26999da7196d6a400a466f0fa0c93c023013cf174a00dddd99cda64e542c4b9c9686849d465eded5bf8adc0f68ad53504632999b41f61b60ac1dc9f5c0638c086c7b0fc42c6c47cb899e0ea65cd59d7ec7c4ca0fc0af30349477348324787123048b1663c5e8fa9a3171b91ee301e4b03b8f715371c1062cff3a27e653984e2724bc1ed95f34c8ea2a82134a391fc17f0db0721d634e0696e1363d71fe40106907a08a26dd5d359ed345c95eb4889da1d521a17695d73e99539a2cee02d3e562755ec12cebbc58932c749d075b29bbf10d61885c44e7c5c132b906f8d9861a18e78d2751089353264863ffca7202b27c34e8869d40db54a976e73cd35507f6207e1cb43a6137ac96d613220937d2fcf40a2f6288864aacb95be71f6d50c8ecd100d35fb4832a5b00aa6017d570cc5bdf4a1e83b23707451d23c16f93b9d73a1976268ea8ab39a00ea328bb1f3bc87b5468ffaf5a1853d73e197d6de7943faa173a1bc0abdb4487fd9a6b26b7166ff55a7a9dc212c21279a6215544da9c67f6d98a753fd039e353999af97d4c2feb583306ec264446a46f0817531beb38fcbab99cec32eed9ee3d41deb157b4f624dd71bdb4c8882ef961cb7c3c0fd38b322770208f02953f03eac6449b6481b9e424715688315c89ab550c7d5dbadfde39fc483c4ca8619c81fc04fc1dc75481575c6020af4b6214b8c418c54aa9a50784b3aa1ce7ef54e447c0b59e5795a20f40a90a470946ed02197c8214e2a1e30777f0552bc938abe6f31c0c6865fe845f90fe87d7718eed503b995f1a3d0111a25d4fa49b346d13e0f22856194bd36347ec0d57179279cf012af8f590550f5a9e6fccc4a342fd1bf111eb81ac25e928ca65ed58af90d6a5b8b21e064681887add8ad7732a194aa2c6cbdff6031e253f536979828897c910197997b6cacf0709171d242fa9b1c7ef16587d8a94a0afd2d3d8e91b697fc1c3cfe4f0aecf070c17252e3955ce0000000000000000000000071219232e363840" + "seed": "0x010000d754de5c11c9e78bfec4591ecd608871fade842f10840846bed1684745f06140cfa6078715b7cbc1c3d6dfce427d5f76", + "signedLondon": "0x02f91c9284ac9f74e30f8391bcff8558e8d1dda185331bce0f9094d0f118afa9c2c9cc50f10d94ccc1cbdda2758b368591e32e2f5a8be0d1a7227d34c2ca72e3c0d7d694032f5546f1b932555cb43e2b16c844d118078430c0b90a2029d07e55b9f3406a5c4976c0c8f52573fa5ed981b7e1ba0e1c2673467f1872a1ddc1faaec591a710fc962c51cba11f08eaaf4aa88b333555b6dac00d90e16a8ebb7957142a9c2495a1173ff2a3808efacf7abb4085c78ea2a9849e0d4da4935a90f4b4feb7a7f2d135a666096478a738843d5f46e39da979d7a1f338f502187499da25557a2499f028310af783db3fc70bce07d72803851b2a44bdf36c80a5b0efe8f49eadc718d1ee23308a3f83c04d15ac0a3a371dc55c8893c22a097bf7443a8da44a725ae7a8122d7b4052859e54cf6512c4232e7f75d7c79b356da3a2d12fef3845be108d12e99e823aec6811df179a6e6185fa3195757dd0c4c58d3a1ee46f0b0c529ccf2eb72d21db67c412c93cd02172a35baba250f0f143a942549afbaf970b0a698893dc395659ef17d760c2756d3d227138ad27f76c6b665f985569156c3b2c67fd34c4e0b873f2f183306abfcd3d89e3d28d6bed0cee3d10c2375d8a03a9bfaf72bdcbbc790289cb71f306d9b0f4562e7bb641fc4e03e8086360875504189001c5c5a40c5ae9e725bc626ab43b3338a02fae50b64113fb57dc01412e8ef622d84ce303b268114b79cf6ba079e72c05d90fb19015b191949281b81c0760a785d707e715afd6f4902dc35a01fe61823603efdb1813b7ea9fd68fb6e1c171f9295700c19b876f9b8b27866664e05490807781633750034688f76643ffa730990be9fa008c02687b0f192c7e5d867d7419f22029d88cb2ce6ede8bb38fa010c1e9917e9cc9cb4d7fa3cfc124ba57d1fef63c6f0f1881e4d879b5c76464b5cd8b5b14eab85b1d2d7af3ad6e5b716e8d3e26e3c4fe8dcee621a2887f5434803ab04dfb8c8a2a0b22a04988addc75371f39c75c7ba03eb38e77ad3d6ca1a157fed0195864fdf655d79de74bcacd0dead0306deb6385293d8ad8e850558edf3ad91a896e9ef680159b28ab8d589fd0adb981cb4c7568756493b0c1546e7939bcbd1371ad63e56cdbf7fa15c7fc227f74f67a8b98be152db7ef23c716df0e62237cbd7635b9f106d94143c0e1e95933ee795ec60563f9ef66bce60e5ecd3d82fc75e35c24ff9bbc2ae75e6445b7acbeea55110bb16e76a390643bdc53e867a4673d8e73bc15ee64c632c4d69266f7fa0759ea082afa26f3404f7dee4833cb9a7c28b2cc882bcc6b4a8a3e0c7d8e9e2ae29f529603a471ae5fbc180a7a997afd787e7eaf2e1852e5d2b6b62bf683c08aff8551f873f8d34a2dd393b15919769210c386825a450a2746d369685546ea23601391a14b2f42d60d31da5052718d933b1978f52f8fcb015e11f3dbbfafe54b1d8f8ee09ddce8488f9f83d1a54350b0fc47d91efc86dd27e664b0587a9cae1ef50b346d0e67a23b11eb1860fde7dc574da89f02b29c485e3a270a47ceeca99248b407b5f70d34a51bf6fd7e34bb710ed0a8d0ca23cea3d7de6930b10de18161d94b21f70d5243360c09c61c07da1dc6f5e90ff854f6dd8bfee8e78cdd5e40ea897309ffb4b6bed08d0d3ea03daa50812de115f18aa281826cea7e69311e84adeb41e519f95a42f9bb8f75f832c77ba68cb5fd7105b8852ebbc5a00e69b64e2d6ad379168a587151a3f9a60f4187e7410b0ddfc18411d20e246c8a49cd2ead8ccfe36c7d3aa60456c0965f62c88fd49d69ea180b0d8e72ed5c5a45c735e152ae36a4a226c1e989d1c417a9ef37bb09ca068dc7e78c5b14c27646de055de14dc9fa5e6df9b0e6cea99f1092f2af6f0edb9c0a1e77fb10051bc6b465c78cc05bab345a0b82a6bb1401506ca551d9f6e0a5f4ab9f5c1920d98763f54c758801685fc1e2b1ab0b5c6b2c4311bf2f3cec42636af5d13ec911cb84e5a83a7e8b5baacfc43535f51734665a0bfa68140e40ec0f2cc8e56242689b59d0631feb035d203e653ef6ccd73bd3ca22daaa480dd52947aea706595c2b17b98ccdab914c5580f65be25e43e4bf00dec5d44a373f9e8214b63c9d820fb49ae30737ab2dd4a141deb18612362312907a0fa519bf2ed7543952cbf9737230119098610f94d51eb1b9e155a111672b6c88786407aa53532ae9c0d112175404f16dbbf6a5b24188ffdd5fdfacefbdf4b4369039379d69a02c87eafd228e96c27b5884231a59d1ffc458e7d02678a10fd1c95004801abd7a9d5e258642e7578cf835d176616779178058c0f0d74986667bd926c532b0aa4c543a2ff64a4ea1bc2ee8a126010e3bdcbde79a569362b93a656b8b368a9ef5bf014c63e2da45df18892ff47d7833b82dc98fcc5d8da0c4282d6e8a33498ffc2ed576cddc3f4a765db43b0662164a88240e8b20b4bd3d87ac10178d16a5f56537f3428a0488f74bebc88bce565829f97ec639469dba806bd99701f78aeef7d21aa2267c88909a8c1a725b8a69c6260754d2b20207d8f6dc10afb4aaccfa4975663e635303ed2935d943f4fa23df86fd87b7d86db8d419359511c4a1325b99dddd6b87037045f9752d15cc07414b5f2ad17aa54f8ee1b7ce276efdd05d62e775d347ab1dd6c066d927850001bc17c8e48e1ee2f0786c8489ecb8da7133f2b2d5a33898a355802d906a94dfb71176a5881a00dac33821703b3f7e15c2b4637eff14d51adffe4de73a9d3f73f62a3f6bd286065cf6b5db461eb9ae04f0864bc9f256b3546179fc43e18dc8213e9be41bc1d2b7cd9155f46aef1c4fff85bf2f939486c7a3d2cfe2ab242a91d5185e96bc2e6f830f86ee4cc0f9d60a51ccc2a4ec73f4ad7eb071346f980f9927cb79ead0275351dcc4739346ed7001e3e7018645b77ffaa571e338b28f0c3718bead9aecbfcace7dfb4cb79ee0667a51f90a31a16db43f1b29f1e245fcb02188cb083b35a438ec44a754a4816bced7f773322b72eeebe6ad53876f421d8ead321b9bff04c7700e3f8e7a9c135152a7619ee9019778e85d358937d2737cfb60173381041d27e630968d83d8e42afffe51402f03a1db13e1f74b75c9397fa4a3f047f27e6ce35ce86c27ff0b24543f938fc757490e4a998e4dfec7ea3a7338f83d98f1d33e79d6ea8f9277f209eca6d8be115a3cf09f766076e0e873cef914796a880dc524f7eab7bb6b58bc399b88a75ba13e500397c59bd396cbe3f111693e88b19d2eabc1049deb5d0fac3cf2db7a991005d9e6b6f3818b403ff11d88def13a33b64835635c3e8584169f922c1bac049223c893cf454c666e39b985a44cb684c68dd38a194e9bcd50fdf2827ad4fdfc2789b2c8498c84ec879a85256dcd5bf9fcc939b8f706196a3529d69e21a37c37dff04bdd5efdcd991c7101a26d86ff98fb3dfbebbd0f39cd472158fdacad2811d7aec79dcbf0e2802d9764c96b279d45733a2f963a9a683b19ef34aedaa5fe5a2590849f08e50e9d1f488bdc834e200073d4326868c8b8c323490fb840367e2116d8006ac4902767e9093771ab11a188d6d438a7072d352e21cea41a1e11e1c7e7554edb781c94d904221ad376f48881843401b6c8c654d134cff32a532dd2168dbad64dbf051e59ade52b75ded01533122cb450eeeffe2bad1b5cd62ffcde7cd120ecb3bf4e331173bab02b13ece5bbe93f53ad52a1108151291225ec5ee940c7acf6ff69c5060fc5a98cb70f6c1258ea20c2f6732fe65db966d50ab691be1c266732beaccc81b91213aa648992f58fb78008f14def9e317b8a14c9d252d8d30171ad168b6f66d9ad5afc4097878f411850fd346cf9f8f28071dcc10b2adaaac135aaa25ff50e39348a641eb57a9def267343fe4c898fe106d3ddc99a85234d6bcb08f0977ca32f91ceb9532ad2f89116dcd2625b6dafbcf6fb965da495b4358b5b3aecbfdfbbd62cea4cb186a62d9358b393581048452c0cf9868566afdd12953d61d11037df3b9a185bf56e73efed511b1d3b3a7f681d6e6589a9ee6b6f15789cb88a773ec78612883866c02e9dfd553fcaaa2e07b48fe84976bf440658b9c34260703c685623ae181fbde79d3a0d021e983035ca65088e5a53eb78cbb09036b0bf350c070676e0efd93744cb07a42e6dd23c7001c61886e8de89e40d2c187e6db1a6ffa6a9fc7d99c1fc7b09da7105983924f089f1697000ccfbcd30ab59590ba0309247912fee4ccf42d0bd818fdcace6b0fafe369e47332b3c1ad2e0998a8f44c841d6e26f7f02bfeb88d4f0c397673a8b6c3e185ed6b7a2e7dfdc407bd5c1be24c465296c9c925172063c482fd0052a5525c6f1827c93d0c62fc0aa47187eec97553c786db1801ce6b98201c164c27d43cb5429915d88dac771deb7df0bab8161ba6b0072a7f5a382ac9f14fa42504cad8945c9d22c2b76ddbab03b5e830fe55d3ab050d5120559dd274267ca2a60884946167a032c6d5edc0b937b9b1e74b251e6004bcecf699ffa24cb8f7d7642ccb5d6cc74a476f3d3d6c99fc23e30d24bb0a54f4afdacc2739ad160dd68891bf97b6ef19537f01216dbf820c85af44e2e653317167f83a2feb5d7dedf7b6abd6b429a80166dc4bc7d8f77d6bc6691e39f3545e549fbc125ec7e005c7868d8994da1c5918ee19e9b1ecbe61169c9c97f6e81f71b92b48a504380037b2fa78987cadb709b6698742a8260eae548572293e71a3c1a0a82fd9ee434d5e82020a68843fc7c6a554be47485b9c2eb8bd6cd62989859ab5d7296b749436287e5f3812dc1cad6e471db9b05184cf44b2c466d8c53f86e5bef6360000632c80fb8b90c69d94e12990cf8a2564faffbbff4c75ba609eb457f58fc79d6a7837ac428fdbdc3c6621742aeb975c5aeaf53f2968a7a2c85abecb474b98ae62b1dc0bda69a200cd8cf158725fbe8eebfdf7107184dbb0ec7094e86e25bc9add5e68551254183d95f6a17355a5fb0b454637c4060629ca3ef62cf148f3e4345c5190e288c04e0ab3e0a821876b75188788ea4551469e6a6109661721c08721494a8f81126495357d354f96fe0d82c040b6618a279afee680fd4802a6adac8b0c16085869fe36d9f39169393bc445a1941175347c4279e4835cdaa5e8a5d8d8e147261490f157f790b9cfe4cf05ed96e50f206cf7a81d9477a522c343fe819e2d140053c6a2299180ea5942defaa54e052743cfad6cd87880cf141726d62f549f29755f6a0f8db389471090874417c69929b0b352ecf81d828d6c59f1572f83d15ecda7fe49f27576c1e9172947ca0a30a50be98195d4f717620f018ea8bf6323db72ac016f8eef0ece45cb9bc7f61173c96fe887ad80de99cd422e9aae799c57e62b15d629377dba3310437715689368e478d337108ceb084ab95a9f23d833e7ac7ddb0541a2c669d67b80ecfd6f171eddd81b78505d7e6d127673d2bbc4c9b48ea740da62dc44a00c5a300685ad762f4904efbdeba2bb819bf2cc4ddaa9ecad9fbbb5b5c45d1ada4470da6a797fb89d38902b07a87740563227ef1882b97755000c241228927554a2cd15cb2e2c044daf70e6ada655b9e2111c23420d3bf8a819cc5845f15f310549293d7684493fd219b17b05e2ec3077ab7f6585df97da6ad8bbd7c382280cce19423802dd5823792fe2203e4fcdccafef720b0b718b8ca23b7c177dace0288565a7b26be87f5f8a0938bfa2467ff4bf9aadf20fce0c9ca6cdfaf911fc4d022a630311a05e98675f11d18c7d88beb1221e61aa4df98f8431c8fe166d112de44c4f1b4f6680b870e0e261dea10e382dc82a99c11be9725fed036299939672836d9f9d6db4dcba5f65630b054d41c39f1e615552786076f70a6177cfad57d6992aeb70cd89d19cefdba8a41281a11a42b240a201732c1d9dc75c6cb3c95a37b669d66cb75374d2aa54835f0f1652f74dca171b909005e497d34af094bbc550cc99d8724a7ba3e6c5bd8c740a1b8f9acff8687f23db8f8091dac279132df6f5c4930a9dc595df34a5a6fd3796fa16986d0fdb31985464645a49ce875292037bc349da237b00c496b9a228a53a08b76870f8c5c27b45dd2762c0f20c075e45dfa40c94dee2971a72dbc2aebf9caafef9aceac51efcde2029fc7d65c4e34864ab9244e97990d2f3d334d0bb2813c8238b9fb44c4c3841df32cb2edfdfdca3113437269bc5227a352ce33cd0484d39cbb62941cd2fdd31b7c7b2a362b64342a6bd4ff2d5d6b14fb7265748bfd9271a7f9c84aacc71cf1d1977cbc04fc2838f04a46f6480b703cbf92a662ae5c648fb604b18c0c0aa60b660d300a86d70b2e61eb4496c77624349113b18656c39b5502157c8f40fa65f81c03d60fb81b57197a711dbc60aa459bfc1b74bac82d762794338b98af65a3aaf1c00eddf8a4c51713298a4195938c6407f0e377e56a0a7745dc048ee85736e9f27976ffda5c6fb1ce1182e9d1aa4da879c8e95df95dab7d4eb6ed9c01bcfa375ce864550cd589ea5588f60cc4fa45c7a5d004e1a48f1b4a923cf0c717a64a8a4da2235fb8f66af301cd618d5f598802465a30669959a53920aa400b71baeacae6fa713d389f4edcc1d6fdd744d04b96d778e3d4d5e2af9c70e14ecaa00b3e102620714d74a37da8966ddd93f59bbfb058eea31de03b5dc58fa325e68edd40bbaac0e5f6ee4ac6ca9d7acd3d5b86fffaf0ec9925a2bc5c23d682f5b792dfd628f5e4022c5630fb1e7b4f2b6078cbe6e4facf0ae09cd5680218b1447f2c777b3ca9941cb8ac1e4daa47e079830833375e3f2a9e8a4432b3e76a11ab9a1996fcf1175d1ded272e1920c5ca7fbe129e249dbc423ca7a41a91a144397ccbacb5c2887302316efb93ae23082c103621f276a171f4319d9f1f17133391d715553a01fe8e258caa36faa7e033392496eee20554bad51b7542a5516f998a3a46aa631f232e9c0393df609171a7c8a55b17972517eeaa9067c27897cbd2d316b6099d03b0203deaaac0182d26ffa86ce85bfa2be5b27124f7eb1332d7c3e7fd50ca0bbd61fa7e98361d70143ee9980e3ddbb977fbb58ae892ec15a77fad2f3ebda96a0c89137c9a4fc34a32efe0daf5f44fce448b554eb2dcf5b21e08f13d1e542baa6c77118f994747f9f5eca79f3744ccc0560119753b09809acef730fb82827bc9dc857940718f63f1e209e8246bc549966c1cd25abf7aeec82a2ed0eba9e5a2ccaebf181425f96e228521cf89b914e1a110d8e44ef81824a790ca1e84ff98ab36b9e98d70627f0bb090cf85126c5454ade0d012e6bc61a14ef00104e79cb541225aa7b9c8dd473b1021b89a9121f5200d98af4e8f1328ea8ae8faebb906c3087df6b0af10e439eae2d3e3639cb4c5bb2d321446750162b7c182a920153a01fc2b784dde64fd17f3d74f199fd0c9ebcb139570d4b873ad01c11034264463a5e7306a773275c353a53700a73b7b35eafac84fa07a8e6986811e8e2fad581c6b58ac0736ca9ac447c520d91aab2c4814c285c703d97fd4ea6ab265efe004814d577834b5bce9f56a032d60566f322844cc5285644c2fa1e2de707b323c6717cb8dd7d6babd692634bdf9352ceda9629e020759bbcf5250fe5357039d81d6b8f954b910c30367ef78c197e136a8177e28386d5aec1262362a7ca3cb2e335942cde2e4f30ee415d9490c373db369dc2a062f8a8e7f6cba39b09990db79d6e1626a350a9863954b04a4d68001e513e19109cfeef064cf5a650751cdd1f43a875b57e1d0405a77a3e7601470f84d0d9d52d6ca3066dd850672722416d30e44e9307527a25a76f7c11aad3e9085b509d22986cecd83ee0342994dc6812653a719372ea7bc8b19fa24606c69356aa07bdea1e50699ada659e767f30a1024e8a847d6cd76a3c0037cf5d2904a0407d355c930513e66720ec2236935a4f8b748e72221318f880a76b78d67c624d14d30f698db26633cd16aae0757d9686a9bb1d78568e56a11240672ca96bb1346c43740b015b0eb9c572f2b0174a8354b8469185465d48c1da0f1f2bf0b1bafab150e0a90d37536319fab657eb8290fa230eb383697a576b6cab69e0def27b5b152794cd0a7635fdafa89bd6026db43d179fbce11ea039656e67f84a2a3609ac2b2f0aba72041e006ca22f5bb08900a7dfce879d22e14603af7c141e87ce1f6827dfccc937d51a32faee9daa811655a682ba799c0ad1e253a3bf718e038bf5e637b64333345dee15e9ef3ea3cc2ba7a22acf8dd03152cf604ef0a18ccd04c4ecd5872bfbf5cf5e4a628513fb2755de23158b7b3eacb4a1149b9f7227ce63c60ed70022abbc4e4160c5360bb0c2f3afe62a0b385fef35f8f9b50a1797ecc129555204c7440b76fbcd2a3474bf72e294f9a55360b482ee4745ebe36e784f2b075cd2a14b486b3ca6e952a32751314dc499b78d08546c04c0e63df165031f39ab6cf9c515355be0365bec1203cbe3ffc8456fd0ad8fa6b6fc3b4944f1adc686ad141072ea45b2d87ce4e1af3850089977717d6e51b51dd0a533f39f9ea16ea2f97c07c7e2d614b2df480ce59ec37b62d764c04e89e5172ff340f0504d78b441e33c3bd76415ee48f6c74885f3134ebcc278b503b8dd0e1140e29bb505d19069d402051f03449f968f71dac4b4ac2f0f1584ab3bf08366e8458eb7ebaffd61c00bff20add62e5ce781edfb08bac5d087615d4bb5eb8e424fe5beb48425c98d5008219fad1bfeb9f723a416d8b6c611306991ec4a00af582df9b75ff0d0c7e049fc01c72f98bb3614f01c9fd4939461498abc4347d560d79efec471d3ff488809de810277b16ef5d29d6964a49ed67b9ce097e69d3a35b34e6fb176564b5290a167ed209f489297950855bb7e61158697bda0e358ee5f30ad87f79e09dc8d27131dd3cc57148ac7866892e70d3d0b76f2cd3429e63be71b509fc5900df0bea02f4e9b63b872717167eef483e3ab6ac6da01547e3edb429d060dd0fa9a4be362bfb5552504ce7a8bdced172a2725516a6984ece59fc6f4b55b063b1cc87c0c3f3ef2b92a0aa413ae4348d818ef0024a8d303879aab544cb58705ed7a4f3e9fdb31a332230f0a52e2a3f9bd2d668d700b6dcf744265cd229b11245d658d86f2684d0af8d877154c80a4783b1b41e1d20fae69bf5f988a12c26dd7a5b1060c2464c1f0600f5de093f46c79d6416e7036a31af0fb5a2f924cf6337a41e854196641151052a2e57e42c77fec9038c24f9591ac8529b2b187f9bc6bc10d9f87c8ebcd3122cb22ae7e6073793369e0cb4fe0a403e513b625d94250e664801bfb049adf269edcef72a31993e8e36993c988a2383c7ee6f997b0b1eb9f0152dcf2afe0ba27ef389d841440ea4f09ba782f9e3c4c2ad3c5ee65e7e5411df3cc7369f720238b63df06de66fb7cf8624db1d351c1b429637d1bad3ea7ab5f9c2600598c8bd2e9a7167d96cd04b0723cccc52d3867df9eabaf60d639498a6c16c1b61214c0137c4865ca9a0fe0d85d0d56e1d441f28c92ed4246d0b969a49272e5acc41b9e936e7d4abae90e5e3e2a5b4c4e163f54c19541eaf3d5ee6559a03381cec85c038b9f643109f07a280163102b3ded5eb84bdbb28cac36a9b29b9931d7871ddedf65373e386985d430e73024c86af466a253e296dfdc2ce42dad4c7d70b8796b33b8e5bda47da43446422a4725a18aa300dce93c1f2de3c54398c8cc6a208f135266fed9e1651298ede90977659fdd4a4ff216df64f2812c4d126f2d7c3cd05917f429d31ea61fb4a93acc48e45a3b832f0747eb35dec6fa8f05458bd76f611957434e021624b8e4c9ab7188b2028d7ccbe7ba9cd9e56792ddbeaa87cd9c7ee8c5b00f9097f71e2b9100b3438f2addee74f47787e2699a115dda17335c3f26cf20841e9e9dae9e4a3a68eea4885d0f4d3d47046a96f2e666b1c1eaecd4441d6fb59caba05913aae6c7876e37a6bfbbf689e1ef185c632725569b8281278a42b89d1cd436b3d8c8ad029bc2421aa7aab899b72b8199055206bd1c28a61a9fbf9c43125aabdf1c7b89ee2c2e08d28c4fda14805c87b7c0e6cac75f7693e12bd15b13733be53619ce6c7c8af15055faff4b8810e44de504666d45c81863c5c406a31c4cde0f24042958b9f9b61f1b8b1cb5ffe273b34eafc363a085c3d99872591aed135adc849343926aa70bdafc75a28338448d501fc50a8301627abdb26599038031cd10d21294b517ac8d7da5a5c7687f3054179848eb1ced0243242939fb0c1f51f24434699afc5cad2d41020272c6a6ca1b3be2e48708586bd000000000000000000000000000000000000000003090e161e28313783010000" } ] diff --git a/packages/web3/test/integration/handle_revert.test.ts b/packages/web3/test/integration/handle_revert.test.ts index e987c2f2..ffc466ee 100644 --- a/packages/web3/test/integration/handle_revert.test.ts +++ b/packages/web3/test/integration/handle_revert.test.ts @@ -111,6 +111,7 @@ describe('qrl', () => { type: '0x2', publicKey: '0x1ba80b16306d1de8ff809c00f67c305e8636326096aba282828d331aa2ec30a1', signature: '0x39f77e0b68d5524826e4385ad4e1f01e748f32c177840184ae65d9592fdfe5c', + descriptor: '0x010000', }), ).rejects.toThrow( new TransactionRevertInstructionError( diff --git a/scripts/accounts.json b/scripts/accounts.json index cdc788df..d1ac6de2 100644 --- a/scripts/accounts.json +++ b/scripts/accounts.json @@ -1,42 +1,42 @@ [ { - "address": "Q2086ea3853acf31bdeaa7d46f34360e8996d95c5", - "seed": "0xdb4078ef7b6631dc329034cc20a969ccd470579b68c2c34897ac733dd72f8fb4fe5dad790336672c108189940eb7ed88" + "address": "Qcfec0cbee560cbd6ed89580204af71448f1fb8c5", + "seed": "0x010000cea755979937e2dc6137c0e51ba0d1eb2a44920cefffb1a860cf194ea7d23d694045fd2c8a72ec5aecf1e7e5bb591ff2" }, { - "address": "Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5", - "seed": "0xa295161c026d3556d15bf1dee00e7ccec8404d59a0f8b16cb4e37d7f5f0eb4be351edd4ca6b9d56ae0fa97eba3b19648" + "address": "Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87", + "seed": "0x010000123274534b2b75f6d266dc13c7b616874529f7f2f1735b4d1a8f06fa41e40893fbf952afed6b20582c5a3d67a782a07b" }, { - "address": "Q20d11a90537052ea38350402a4fa4fc3824c170b", - "seed": "0x261d25203791c93946b056ed0fddc92f53b7a29bd5bd37794a11aa352e5fd55a00e42785863712655e337af68ff43e0c" + "address": "Q73308de47979b11dbd527534db61118010264612", + "seed": "0x010000d21b004a982cec84eae73236f09870bb8c6df673e008c32130b0e006de70eaec0872d28f2585718ab14afb017ee8f301" }, { - "address": "Q201c6c39b78bba5454c8e78c9a13148d501097b4", - "seed": "0x17c6e19004c073d3d35409ad3bf87fe4ac0127d497c8c919a7c731daaf41531b5966de544170c2d044a1e6f9b7db1099" + "address": "Q7e93e63a4efe335543278c450914ddd021367956", + "seed": "0x0100006da8bdebbb62b400bf2786fec897013a884b46a035cc622c85eb87aaf5c038614fb7283182cd97eb293f310e895ae3f9" }, { - "address": "Q209b1f8a197619d29018a9b5e915780c885fde9b", - "seed": "0xa538dfd24b039c59e0a326418c975efe5b3820ee555f81f37291bfd8f222927a59bc7ef96d395929fa5d62987418d2e7" + "address": "Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5", + "seed": "0x01000054a1057e6d71f3d5e8896adec120fa4980a4a019cd08851011695bb13776d512f39b38edb1aad94a53ef26bae158075d" }, { - "address": "Q20583d7d1511f8f7eb011fdc53666e0aa94bf554", - "seed": "0x5cc5ffb2472aaee8663358b66e07e40056190ac108c2425433ec5f048c7f52429bb50165e8c60a1d647396ef820bd3d9" + "address": "Qfc9ed32c051759c88dc5e673940b72fc2f1eb480", + "seed": "0x0100008bb05b8480a01052304418f318d4a16470fa5c084e4c185c6afe32047f585be2fca6ffa7e0a5d7c7ccc94242ef41cba9" }, { - "address": "Q204caedb9ea074424df0305d7e5dda7d8594d4c1", - "seed": "0xd474cc1c406c627bfd40b5c88cb979389f87cd3b5d04d68d7f50f5a743a80ae48feae7d42b709ba5c2b1a6740f415ffb" + "address": "Q32b364a797bc307149e9caaf0eed125a99c148a8", + "seed": "0x01000070f430c39a7058a663e19cdac06f2844e92a4122f1bb53799cdd993b06953d32aa67996319cf6c6659b3a6cfcb68a1a2" }, { - "address": "Q20747da480a37c6698c61b045947192ae2cd1f63", - "seed": "0x38289405461212b3949c190c6f00ca297229ee8b1202a5abe2f9b8ff43ead1a05182bee1a5453166b14f3ea4d84c6f19" + "address": "Q5880b045f70db5a8452007f8a7fdc21a4c114f1c", + "seed": "0x010000f48576f54497cf39202dc58bea4ab02d6600c90e2d967ef3a27f2a04524073315c091c95456b9f642317d09eeb5610df" }, { - "address": "Q20e95124c8cf6414db2357e106fade7a8ac72ec7", - "seed": "0x4258b9bea3855467503ae19e37592cb1241534d7bb90f4dc4f2655c447ba382b41941fd1cf00038ea3aa59f20eb27897" + "address": "Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd", + "seed": "0x01000046d5982ce35d0510c8d8fe673af61f62cbcc46d252bf7acbe4103095f882ffe5e173b18e2a1531d8ff636158f19f76dc" }, { - "address": "Q20080fecf20684e664724db93e5d525b8d38c2ce", - "seed": "0xe6768fa565489b1a11a8541782f7ece4cd791ac92dd6dee0c8c897bafae7dc0e5e43769916b6e2d285ad4919fb1dc7aa" + "address": "Q50847b98252a1ac43adb267c4d396189e5954ade", + "seed": "0x01000032c89a84a46859934c42dec330511fd3642e98f00575e74a44c486c8d112dbf19d7129cd61d3e6bd72c4f2f66e5556f3" } ] diff --git a/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json b/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json index 2ccc5389..22d90f70 100644 --- a/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json +++ b/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json @@ -2,9 +2,9 @@ "crypto": { "cipher": { "function": "aes-256-gcm", - "message": "a761324ed42e82a1be8f7e54325d915ba42fca5f04f94030d804ec6f4faa4c9a9c1584e3a12b05e197af70824c4943ffe70c542b40ef1bfaab945ba05d9d0bdf70967f8a79c457c59661c1959bfb6750519f5977d340c19f98d58341f4596aa7510cd2894871210b581d78375b0cc532fff5afd1ba03a6586f564b35ce233566f5e73b50060e65fc096b0e064e41b0ab7dd02af3b59fbd70f6411b4ebcc27161a839b8813b2968bbbe8bcf23f0bf488d459913ba7a6d9e13683903bef7496b947ee3ccae0c6b2fda08d8e9174d977863926e6d2f8bc9f2620f29aa19156aafbd13a99b7e6a108488127d6b436648ec32510b8ea5641058493a91349788b8210ab04663f23733cddb8b5caced9e667ad69ff5663fb3b4eecf351c5cc10cf30a7b01868d45a6fe4155948927b060ce839cb77c4a2c14438a11d75b0e9d81d75d3239f3a196a09071a1cce77d75129c3b2ba1cc3048688a3e39749961f9cb849d408f71ed4cf03b871acad507f9d51d84fb825c2b307f835e36964bbfe6c78f2171be853bc4fa98bb21eeb5e9f91a787eb3725c87d0ca95ad17b867bac44aa33358a6a559f535cc017e43cb2cfe3aa7b0ff2fdec9125a829507621d356030518d09e8d7500e7a3e89631b7470c6b1243162e350614f876a98968ed32825326fff4801a57a01bd61ac2de26cd92d116e14745a5b6d2ad7b7fc034ff08efe8ea148d3d643992e6c9d13e04528e38ee8981b3a6d0f416e9b6fc2c4b7df3f167e79c9cf81a2761d723af5e9f17c9b86722983337d53cf0205d9397a2043590a292d6ef3a7dbe151030f18b312d9fad7c929b53e68f2a7fcbb8c3640c6fe2e6c36a5154c97d124786138baeec2745983ec0f0a2b45c87c015b03bfc03a3c57371cd25b24c28893c2d03948a89a30d23675c47b6d70f3a01261bac3df3ddca5f110a89635abb9c74188c90ebc7f9a3bd4636b72a699f271f1fc87c9b84a4ec32f16dbff1afaca219736900d8c215cf6bf28ae8205fc9ee71d137f4e9c90e6142c661de66685d4703d5907a4eb6364c98395090e50d865a34f1747947cc995b95180df110a3cf6c035dd66ab96e6fe9bf4ff1b4e16a3fc82d269d3eb3e7254a831813f7778e91e90abc2180d3c7813781004adc690ce1ab17796bfafc2d3ea0430cc99ce5dd08d40f9dc57a9901774f3cd938eac1392c7532c61abc944cb2d2f432d2694745276d7f70a175130bdec5f70be1b00b0f7fbcc493d2d10abc3029ad9cf9812b5f6a6a1c3869ffa037613b4db7c5453c5f2de0a66a29d1c88caddad9cd7afe7ad2b6f190c01a68d7f71ab12aec5bccb466324f925afe00450140cf8c0b5314953bd30eae4a936024dc9b141804a2ed10727f9bf748ee246c53c62607353ad2bbc2f066889c9b6cfeefb6ff0b62babb937b942082197354e2173fe96503255a78ffe2d716c5a8596e88fbb3e9984e4314b156baa49ee7f162e02c0fb3d72e68fe2304a08adae54e0803e565a4c3837d50131e3f90fef8a47d457cef0b8744fe289a3dd1f4ab7dd6cf7f2796722c0e8cd158b17fd81fc4ecd5e7cce261eca4d6441601953afbb47edbdcb789425fda04bc3e2f8b83d86e1fd63e1b89587b3abfa70aff6495dc2728c30bf15adc3cc3010abf952c542a6240c989e9a0fd5f2b5eec5a7878451445984b10a2d6b46f0695cf0dd909f6bb1b2534ae815652e9265e2049ac862d4110a63aa8b75fd13d1359df5405f4a00b01d1c593d91b559b04d6216f910b8f08f4bbea8605bff0ebcba278d0af0047ef472526306ee34111efb90c2380c4de677ddd922a2ac53334473ab073cb4415fee3fc603284d1dd99f6bbb7fc25bb8c39736819b987be7e174474b59b7457d5630dd0e0e24633a3a57b01ed019d33928f7db9ad08535c89f2fd093a0aebeb60834e37c65897745e5d9a32e07ffaa56a96b4afb89aae8181f82e375430d038efe6c9215bddc4d6d1d177b7c61f644b36d2ef887a5323a773fc99eee2119b58163ea8c1c2d90c05dcab741a28834584d87e78d6b84f3d957ccae431c6b8f2d759c3562ecaebaea219017c0313846a35426214699b18cfb23508c9c255c7d961c91b3a2e30c98b7870bf956e478dac0c95cbad0fa5ef3a9634e293b56453091b18b51efcb5e5f1e39e4c07eb4b97086cd8f0d9ad6b085a2ca206cc39625dbe2376bb3755d9cb76f06b37a317920c503773abc31c294b65105837a4984df0df9269388cd89180257f6a779132fe36f63ef26a1f88b3afa0f8ab511c31f752f4e5428f010fd5e47f3110f9c3126cd579cce1bbfd1ea7fc850c2b05eb5bb56d8d6b03306818f62e6696d5799b09e8e60a1239712bc7a90af12422ffc10a0f83f2b95c607c0b059e2508d0f7d5cfb7becb5a5880fe7cc1f88d360ec918d9b9e87bf202803b9a68c1f563539c097b8c341396b951e4ddfac5dd7e5f956803a5a88579d5c8e4c82df324b1a4435945b7d05d8c3f2d26fd96a8f980d5e0ee341939560ba29f2654eccf05360604e6974e1b5adb3eeaa311509e596a889d0bfa5e59bc85f9b49efd8dc617b0307d8ef3976b9a3751b2b1cc35b2eea028f955b8327d1a7e791cdf07b45d6cb8e0947afa1990feaf1f9226a1161cb56b22e5f87e77d04ff2bc8843ce426a9ccf5b67d8ac24650fbcbe7813aa8fbf540e778f1958c26ecf31ecf04dbb2e819649c8a9aa5a81b9d87fdc67a027431040bc28097c03a213182cb7f8f2b009f0ef20b5122268cdfabb0d74cef005a7f2d95e69c44312a19cb6c0b8cbfc179fc7929e5022dcf37aa4d724d469e4b5850a7b873295c4b2634d1834d228f08d448bb45f6e3b25fabc8b951097b629d747a31c3e6c34f291aa140e27cc105eedfdc723ccf80675dc564de206c37e5ccb88b452bf55821d11e3ace1fb73540b22a8043e92eb938b7cf7214af9431b2ba1e83636d8257086c97e47deb8ba2024828b9f45ef941d4cf882589e5c89cfb3f932ac8c1258f19e410af7fe2c66ea99fbe999be5ff81dc43c05c1938986db5005ba86b506551c0de0e514809d6dd70af4305ad3b4a893f3eeb6f03f4000b0d5bbcbdce92e09961deeebddcc54acf001fb9fa9206a0c559dd75e04f91c22667fa97ef343925e4942b865fe1f1bc919a94e5034e899da591c810341b7c66b65668717cd5001ce7e5618ae50a6bdc3c83e2c858438c4cba4011c5e89f02c0624740a2c742d2b25b9815d70875e79ae3c694af28224c8240b9d00b811aac5b37901645e88c708de92c7320757ec108c83db5ce8887f14ae375cd13db0993346e1d9cfb7f4ac29edc10f1f4ae93284ef917ff77243dd681fc525ad85d844344936353ea87a97dcea778536be8e57bdf812da2dbf29e5c072f1e7f8baa1ff24fc404a2eacce4fd2ae413ec57f815bc6ae61aeb272172110e25dce2c0e7d658b27ea7fd8911350f4319c3b2c5eb5574614915ff7ece52af1dfd2ec1c37ec8889db23738904dda2623bd158a228fe7b6dae03c204c4824dcac7cb9258be6ed0e388399af1553c1d9278f8b007c4c76aca95b1b9dc9619214eb38ac14cc12c345f4f30d7ec6dd645010c327d3b8d8d17cdf659b13426be29cb4c13866844b65a051e2ff4b67bc1a0675974c83138536774c3f6f3e69ff91cc54b0629bf758da8f652f84c535568bfbbf6f3d239af987fac548b88e42971b980ffa818648b2fd24fb0e3a72e893d2dcc14ef6df725dbc4eafc6b385244aa41d81d90b0e1ee84535772e1c6dc69f16e224a76a88f213806e3eaaf2f83632d9230a30d436ac22fd3dddf89871b384e1d20b6d26f6f2d8fb1a462991f8e60dc150a4178b0c20e02254a666f35dc5f5a21b6d25f401cb6a20c934b93d4893dd0f5444c1bea3c2cabc069a5b139dcc3ac02f7d8fe0cc33358a835c2e3818f5ec6815c4c0ed85957799f42d33f4a696e158d1237b9eadf5b5b875a37e0beb4d6ef8e45c294e53f41c4b40923ae71bb379064972c1334b5c9ff9acd8e25425492dd35ca0f689157344a2534c300dcca5f8aadb8976f85823799b57a982e8b15172a5807ee7596ebfca92a28098edec872e56ba626bff7e5fd2df7aa6a682b57a92675bc51c0a101ea929055abc443dccd233ea1cc04b7c6ef8ac1592f4c828c8b71d8e1a34ed8dbb8d31e6e82c7bb128d78cb5cfc5cd6b38658275d45977adc2299584525931a00f65a6d3d9c4df8578054944c2ed0fcaadffc00a27c255797280f85382aa58a2aea992e471e075f9be282d9442bc5bab0b3c42a16c478ffd4f5021aa744ecf2a5ba1265c97906863a5b0e5d0e0f216bc40290981f904e6f5268a714b18355d29067c3cd8f9e80db8e7d7c690effa24b1c97a9c1aae0a46f894fb756a7cd0de81c333319374c162289994991c8cab2372fef3853e69f7e1dba38790397f9153267ec571609dda742a5aba1f80ed855684777e11aafa88ab21d829da725482ae4006a1ac400b5f6c23ebe1f291791716891357ff842062ddfbc6c514f6a833af5f4779fb8755f819b1251ebc1689998c1b8b32d96299fe21de9e0a8267dfb3bb49ffc5f28048033c3b08112c7dec3594eb1d29fd5546c8ac2b876828c5212cddbfbfe6ad3ea1d6f4549164ddd686f031166ee35bda5e340ae68b3cb177cde27fff0ecab226e56cdec0844ceb09d8e24d23e17c9e527029066d50e9ac785f485cf28b7d1b9beb72c44a807a935112a3715596cd2e39b1c3d1950503e98afe671b2d209ca5cb63cb7bb10c947f043c09b3238b417bc40834510b6e3a15493a673a91200bf7b0f30da3e59efc37e17875058d4c6bc6ae5bf39e1b0b3b6c3ae07ac38dbf7f3ba0a4f489cc7a72541839e102ca6a9454e409d91c8c6de10219c3165b82eec2764374e19c2ed5a8f9ba3d13a789c34304f84e5487fcd354c2850dd4bcbf30ededf0e0e0058067d5eeda8c0584c28c2bb261ad865309ed85777c98fd682fd47cec18bf51cd012644dc191151ff064f7b6c57b85f1e32662aa84a6f485e869de87dba8f1c3b7ead7acfc80e9a1d7e7c323f69ba96a1fa46d50941a1ed6c6602fcc60e3c42f005b714bca61a84a806107b4c80ed5f6992a6b82a02595cec83277d40ceb4165387ee06fb2c41b684b156135a6b684f0f891d57aee98625936faf8849c3cfacbc4b063bced2435105d573cf161da6a8f5d937b2e53d640f4cc304d98ee519abf73e29dfb8e79204f8ea7033280fa55b9569bb2284f73eb94cc13a9fe9e36f0ba43f51a27581f866854e79d356cd90b0e2558a59cc572ce3b56add1b4635226b2e9dfaf2fd8db655faa7b142d79602cdd7f9b07e9b8d2df3d1328ee7ddb6e6e06ffe8de8e62cfddbfe5501fba8bee74eb2fbaa01f5bc9cbc0b4845561e1777bc167a959e3ef6bc2227893a279f017fc44b7aed3921dbbef75b35f65d914d4152d6e8a7b0f456606af0308f2faaa35def55dafcd8c401cd261c6531ba1258a45c9aad963791a0cc112cc3552b1f5e4687480b00a7fde6833d7847fd9abd55306387888811d67ffe4965fee05622f4406ccd65cc7830e6581c11f6790993e3f894a57851c48b0e05cd95e1adb4ec270a7e1d3cf50ff1e8e273e2431a66cbe5041b3b7080bef15076509efccfe7fa32cf5b061e3870f9fa3d7a12f99fea427325ceedff8f820a3314c541c9155221a3d9d328aeadd06f47ed8f29a08e07241d7b7bc66c77bfd037a9becad90288fe22537f75705a5ff5659fa7c7b0dd4d86d903e0dc4d20c19bd26c86db09df502b4c04d495c9e904c93d07d9e84cdb689cb02eb259308a1f9c50ad7bff87f14a470f747467ffe5094ee6a694b2637d6a55bba07df274ca626e60428791ac64f93513ac461adbc69167dcfa24b5a0cdb6fca12aa4320db9ad719e71c79c636be0efe498b9a95894573946e13707ab97085e413a66a1e3364cdf5a8aa6f9b8c61cba3fb6ec9343808693100c243f9e0caa684fc462c2bc07ce333c41cc074064c0bfc937d659fae17ad99d64190392e400b2ce554de079f8387f11a66c5810df706d29ee1b98b1011c4586a88472499e5545a5f7de4aa5c7c1708fef880f57f08ad5c60919fb6a560d9fa7e2f41bf9330f0936cf8860705faeccb5a45ef525c3061cdf97f848217a27865ee4d8c78ad9f25eaceeae492ba1888e445ba83fb62c21b33925b6431bcc10dcaead6ff3702eb80e9b037cf62b0a96f67861855afe758be36fde305315b5ec00174544c1c4450d6f6fa076c9bd766ed427112ac6340141c4a8d60861579173da434ff6fc2bb4e3da0c5147abb99d38a3a0c52d9ba05bf1e03dd8dce9bce822042aaaf6851cbb894e90abccd261b505fa128c138896df026f6df9aff82203bbb9b34ffe7f797acab83f15ea53d362f46b96a0487b3898403d6255a370a1282d73b6c2d9b943566adb2b7caa8c4210beec32fb4f82d55eabecba87e05822b12b2fd5199d24c25b1c2b8f22ff46c98c381b8ca77fe07ed41c6c2918c35efbbd105e822d5bd663446cd7284186487c6e36cd4eb41a9769e27a48861c6a89844da7537b9bf35dce79c9e06be4536ff4564c7388eb6c029e0eb9960b966f07a01bcbe161694183666d62a9266e444e9f321726744cb1d623ed9791e6d2107b4b2491a99b6eeea6447f528e8b265e5e2c16966362d2d01c6ff99920da614ec523b855c02c3d3abd2e9706731fb1816d6da99a9a32d9f1e0bf95c1e19d1f071093f870e2c53fae31ff80682ed2b1861c90ea89605005f757328c1c82d2e83eee6a79011ec0f7ade734797bd8f1532cf678eec1f3496ea4e1ed5f405a4f1eea3ec054788acdfb488e64363b9ff92d5e48a54bef749e33d72222d48b65c2081b97e6067da9dc6132c0cbb8cb6ede81926026e850dc3e1c9eb015e6ed32351146eb2c87b46f63aa81adc886ba631b846ba6e0d5f5cef16508c52f50272aca6129be58ccb1c24a4cd876a27c82cf29f5259f86f5a440b7b7d9bb5c188d85564a6a414bd8e180eca44ba7228b9f3431b01f7082e7cc918ece46647aaa84e85f5fc72f80d0c9c7b1bc8cf499d0201f6b984d5ca148c4b4c2546df9a97ce4248b991b4cfc58c6ce310612be4547e58083a59aaa140cb37cda2b66454966acbc0fa55a8d4e18f2aa596c9f5ca82de6b066492e10426e967feb67087d00b63bb87cc727e06878a1875d9c53626271e9fead5d759972b71e7dede0029e2c40043a59868f748eded3b4380556de25f03fcff679aae8d588a6c3c9cb6dd36629255835b1b4f77fd762b1049a55c73f1b7e3886fa2e60fb327dcaa11ca3ba42dc69570f94a86146282a434b346f58283bf818d4255d62bef20c74408e1ee6131872550341b506d61771b88dabbb0afbb7ff997081586676ff0ed4bbeb5f34dd89cfc1ccf15f279c5dfe2a44624554f30e5a47706a962b193312a98fa2b52b55e30d56cbba1705bbe3a0579acbd0d5673454ea3af963c69c659a6c7cdca3a935428f8dff5984ca0d5a4aa6694b3d7f96a704c4de1b0973f93602ac815ed6ff2ef6e606cf7ee509d42082d97cacdf5bab501555948411c2085d7d558ef67757870142cfb7677a15082afffa5296081a935abea8f33414da979e601135f71233f0ca0af22ca891d1b3ee40ff7114a68ad2d0b2fd50eed9c135429d7a74ccbc4f66ef27acfa3dcfb353e7eb5f83bece335d0771dd912cea4ddec009aad964bd773298fd76b5795629da9fe638efa201072e6ff92c72f7d014ac1bd212debe164476358c799f54d451165e61475e56170fc46101e207863eb26554bb5ca4eccb95fc3b26637cacbccfc2c6c039f1e5d7047d109f3ff2f93a2d223692a2537c14616c174a01f370eadc287dfaf3dba545736c15ff0707845ca52eeeb7dbf1247efe5151204aab5ab80105f027262302ac9aee37d2fedd8bbe2a925b9fff45600ff269838becbeaef168aaf7a9c4b3f7a9a955d1873798803f9c13ecea2f3add3ac4a8322480dd599f9f206c8496730aaa0a6a7759e2378bdb697541d93c2df68f0bdd820335c32b2ced05524122166baa32808db2899b1cbdcdad3a29fd69398286ec2ba6140d5afe57c5ed03bc9a132e8edc9b5bddbd6520e377a814f8aafa881d4b594033b03bfe20886e4e01fd14219044a7ec382b22a5bfaabb40ab3143b099f42a16e210e7e5dad7e701c3555c6a1a6f837189289e222b6ccba0d866620aeeea69793ef69c05a316205f3de400b67a42f0e0c8b55289a717f0bc149850e970c3c9642af455ab06969b692daf2faf64b8f8fdaf926194ab16da43327ab8a26a86ca2dc9a2570f089a88ef292dd61a483541344733e4faa6d243698446718ca8c9336ff9c493890bca2c86f469dfb1df7d4164ee861243b9f491fd6eb4be240cb1179eca59cfaf02b84dba89b1bfdf27b138f02fea9c61b8fbb2e44541efcb5f1cedea9f945caac7593d98257f8b4b8a43e07e0618846aa9edc047c6a61e212d5a5360e5ec7f637d065c1d288c7882758d73be60a506caac743dac2c428dd77d9edfd9cbd78d4fa71a737b004b7714b1bab709618ca021157b46d5da2dcee0d2d894e9505b6a846aa8a16c2bb3175f136c3bb9075af335393b24caa85e98f618737100fdebfdae99de3395efae715df3e949b6b6e03958530e62aaa554dd963c962b6b05c53b99df17db97d53844a14aae0d18a9735fec05d968fbe33aae1fcb6bada78b9f62b3915668a6a0af57896fee70558b062bec5cb580b0315e3a4bd3289d0fcad6206e06e7d69b4f7305fa460fdb3b6f7c623eb31e4e840387ba682a9f5e195e5496992f01c274b1a86c5ceca1b53b86d3c5d1f6a70f5227ed0e5f8e21afc6f1307d82ccaef9c271172178134945c15b15d18a1b74536f86a1b20f5c5934db9be730b72fadc3da6cf73bff9dd581e48f2c4b60d240f11f75a355fc050b0b699c58512420e972ee8eff363a4710264e31390254d31b8951c9193485c04982e592686866e7bca637ce811cd2475527df1b4febd4feea34b4abca1d6052a32fedf2e2284801972043844a6ce381f76eab58c6b6343e17688a61c2eb4fe102e570e04dc76f2778369e84667e2be67cd728afd95f60e51b9bb8cc51ac6dae9b3c907c530635a400f80680e9588bf292d046108da3e2d503ce80cf5a10a8dd7f9f23b239b405c020ceae712f03d1f6622f0dba6f73fd84581d75dbb8af524f5eef1ef53063cef60d4630e88eb919398f0196c063bbfadaec786b972828ef5a038236ee280ca239ad18f5bbe0c6a7d671824539ff467f43529eb74410805fb16e7c50a73f0887cd9701a344051f0446665bd09cea573035b2be17db0f90dd871f8e3e3ccb0964702ca42ac766369c7d0e14884e5e23bf398f32e7324f2702c58eeeb72123fe2cbbb98607b357701c0184dda3773d132f00ee0772cb2c1d7b8a6b19b9d26bc1119fb84fdda4d8c85e3a670fc78097bea76512c775462d7e6c8250e7c9ae6d0fef708b3806a64e81d1d3518f62eb30e59bb818f02c28ab816ebbd528cbe7796109b1b95abf7aabef585957f6ce3b15436617caaddf0683cf9ee2cad8f6775ad3de86051b34eee586e10591a5cb1d568dde3fd0f88833e7287d79bba92b8940cf976ab89dab6ab59a7a15283bc73b64446fcb51cfd79315259021f8403f632904ccad3ffcd3e51d2f57ae6b430c94ae1ce1b4eee0148250b9416d59e4efcf35a6f3884ebbb8931a94739eb6eccfa68a3449215f8bfe5c7088effd2f70644a2bdec8f3e76db67e115195cdf667850eea5171554a126c1488de4da7603625072f7808f9c1e5a3f885756b9746667c9dd6e92ff67d6c3535582d57eb12404fadd0c2847561c9927a522d887a092be713d12f5f0ced312e9dcc2e92cbb0728c3cfc18fcdce5ab08e6127c873a08c90e5cb3d791115d7d82423ffa085f150999baa840cfdf0e8b2632cfe07795e4d910715a98639c992b3aaff6c78797c742efac2773647ea43984674c1de507241b4db64a0ad815016f7ca612bc1aa070b33713697f0e0fe509bf178035c94d60a1353b7b221597678c9eba8729d96f2b3227410fde1450461a46c914f9fd6c03ad353ef8e63577ec6078df836982da3f5157dec42bdb867507c71baa4888458bb9cc78957b7c43131056c5fe4158bc89a28f9ef57f5b4fea490337edb38fb8a0c22f0f6296d5a8106c48a6295e9c1d3391583c6d9efe615e7b71b24e06748c6ace7a32eb44630cee8fe8b9e260be3c76e670b15f42a1327eac123eb50e2e1a96d71e43f2a7bf9d61ea6f57868e215a6bb3629fed8af2601cb3c83b261e0841996b32659c0722b27e1c6c0741c68e430f4ead41476ef9af469931b82a3578f430724c9f1febce981b93700e5365b8cea86d0976bd36e38ec37afecdafac674f5ec68c121e12c7ec986de9455a4ac50122175b2a0aa8abc8c683e9aa692448b8f4d6cdbed325bb3f872876e8368a87ff505281bc7a8afafa48f2219623f8278f480ffc6747562acc3491da2e317d1758fe7b41b1782cbc3a03922df6ea481bc250a566e337a7c8fb884640048f5e63752226c2025b7d100947c787ea7ab2150db35faf2b981f37e23d433bd59c38558bdf794b2246ce3638b796951d8c98e1fc09d7b7d26417fd4aed5b62f8a8fc0da22109797e947934993e3260e13eb7292978d5c76bd8ee43e9017ab08c5b7850816d005e788cd64bf8a580b8a8faae4de5afc77c7a7f75a4c68b1c87ba6494e3ed512f2cad37e92213fc5ed3d8a6c8f0b2516278f99808ef3f6c4b934b7971d6870efb15fa83430c2ec14a155c0f3d1eb5435c7d4053a060839101003d93a8e4906a96464e401b20a6c0818cc18fb1532d52e2fba4e6b0cbdc1d883bca29d8be29905644ec9585ec4ff489106294e731f435ad566de1d4504b831452cc36ab2b14fa2737526038b732f0721a1a47d50fa9730e831d41b83581b017d5f7e37d8ece6b3b9a596d0e564dcc5f1dd2a1203f11f3ce1df561fecf911496d9cd3fb5130347f738315757cefbf2252d3f8688aec180a66e31b46d50805f44dc2567ccfe767935e1ed3e5c283c6b23d862965c5f51e04dbc98322af2295ed1997edff809ed91f30425334c23c2f5c9a02669a97ee7c87abc12da75894a0bcb76eac4198acbab14b245ee45dc53339bc171cdbbdaa281a4fbe71cf6ef4d961125494da3b86a848543ade6bab95bb4e3f0aa2caea6788d867be8669199552c4c2dc3567486ca6572c654ed14c6dd976297b0f30e70f3d0aaaa9426b82b71478f8c314d44e637be7128033867194d4ab22e00c1dc9a3c702c659f0635690983c3583e3f848e5fc682e2afb10ea54b03ab7a62f724b2edc6872f3efca153db499538b982b4ba47f05fda9c33e1352991f59a4bae3add5d4011341bfad61faa7ec17d91abaf0c75da1a1fe85f31273db0b8971c1aebc7f652714a46daea7cc7d70be2c5ef938581dafaa26d8050bfe7844f54d1e1ad7c719e9a71473161e085879c0736d0dd53e86417f52602b8b60ecc1b3d7cb06ee938f6813678e3725bcdc3fa6e39e702cff936d13a8241736ccf077f8c25fdb851aa72271266b23f3502f25244e15572659927131d1e416349d77020b22c57c945e36857d9cd285c378135150b26a45a945eaef5fb5a0bf6dbc74251b1b684460c1e1da1fbd6fb1648242d779768bef43f15ff05532edd1cb6f6a384e2336c9e68b5b16e56dde3611f357bca694a3fc1472634d91591e5f2664eb125111a88be75c0755d9cafca8e16d656826082afb541a12a0ae0b69e306c4fc98d05418f80f44f07f71350c5fe32855649072798711931c3cbff54c3acb36082bd80cabeb967c99ab48ae397f4a9893ebaae9af01c2735b394cb063f332bce4211d594eae9fe689c03fe479b1a7c83f317acc15d72d6d0cac8d70df4c221b3378b75404ba74fe7a14a814950526028169544c537a10193cc4b0dfae69025b50f5243d81bb0227e1ab593e6e20f2987f8f22a6ba52ed08153aae37291af073708ef4a83e0224854045511726951370eb37a2154a1c95c38cdf20d190ba9bfd3eff1687e62858048a9547e8f61fef7cc5a9b1724c21a5d214d7f2c3037746a478f4eb7da2b6ed71a2a64319c091e434653d84218ed4d53e92a82ac918f0218ecd3fe35f9c149690a143c07428f0bcd7000f03b95cc9cada564fb865e0d57df50017bbfd67035c7535e0d31acba583b820ecd8737f08093fa65116782218b2074391e3eafacd9124a5623d01265ad64547f598ff35c85eb235e4d073b37955a7ba053a1c3e83e45a6d00563cb2c9df8ace01f565fc53171b6cee5e942e8ed4148a87f70613353c6f7c4f61d3665f64e231ddb986a02a594d9b9572d35eed6eaa00ed5039f81fd711553e647d9af16b435c04178bae1b0b0f31696fbd6fdb3a7e8a5067e1b4e090178fa9ac1c1e8131cdafa3b105758ece6cc501067b10211efcdf0dc1cb7fecda175aa32270120b17f2b2a48597584e3cace8b79545044522eb532054a0e09a94c5110827ed52e7e5b3ecad1a49ac79720ac1997cdf5bd0cedbb7ec34d28b99175dff1f180162b73a8eaa9e1aac12b5917484463ba5d2cbd2608033d8dedb89b1a6d6729206d5293e7bf47b14547ebc38e1c6541050b8228d498c6372672ae9977661b6d7a826061d31db181ed8a7f4e8a2c5c0fa7cb093e926aa5ec941a68ab6ab1aeecdaedf4373335460cf6a6f829345cdc6ab7d443acb78a9e4afcb30bb08651394898b21a9913bae0d820496e2cdfe1e109d32c198ef73031cc753ed1564f68508660468ea0717fd8ae02e96720c596b352a8ca1b648ca663895ffa1358465f38ee8789b455419f03fd90d26db8edf6770929aa979ee6bdcf0db2ea512f47ee8be7e57b1aaf60df6cfb61a5ede28ca69a013d9b0ea921b8835aaeb3bb3dea8a9cc467bf0262e84b46be96dee7595621bf41a130f58ce3309281213a323e1dfe1ceb5d34f577ba5b0550dfdc128d48a9bc433cc19f633870d3e74651794eb4cde1af435af9871108a58796cdafdc25e3ebbbd4a9aa6fecf61add842e68fbe433f79dd8b4f98822b8d76784999ac947c1b95b56e73288008b360a07637b5a4581bc9b06757d6936006df6d09b89b4e1c1bac4af8670a13b8689e8f3ea8d82b8b5eab742dea13b5f8bf5c80ca1e460e7f4c980e230bf4e4694fd640b6ee06ccbbb7742ec3c679e0fb7ef1325df221fef1b76b2dc6afa5a8bbc4109b66b844e2f08400144af25c34574358e9a5ce7819daa86e8e8399d36159032dc9711f81dbb7ca380e9069adf06b8e789fd5688d6b3ff38b6ba4443f603616dbc79cf26ecb5d2d9a0d0d02868c6c2ab5db1da0a48acdc9cd444a87d05cc2d074865c408e84c29a413de17b5e45f2bd1bbea284df4af23f341cb984113b255a85411d26b5cf2d968e786eafc89b270c6d287fccb56280c5371bb8974e77dd8048b7b3fe279a8de18b1592eabeead7ddf523d0d303e47f93fafce220b9e96f000b4ebb269655b6cb65b8ffe3f37923c8500034cb7d770bc3b01fb35d2331117f09c8925874068bc405e49f5dcf6723306d35a3ff5442ad3977af25e88fd1773eb54f6bcc5fa350c3707bc6415dc581156a1a38480cf36a007127fe992b5666c3bee014af52643089de2b81b078f1ae99d3c0bed3561d67ede7242e20be7160daf60d5b2e8dd64376d2f22a648d51ed86fa2c499675c4adc3376d79ff490d4abb9081f27db0060d8bb10bf0925a7db6ec3b8522cccda2b46f4f46c3482d580d73574525ca75d1431db4f02b2333adcc1e78c20ae1fed44f107eb234c4d8abf8f2cd4f11a827e60bd53178c4871c04efe2033016f1ed2b124dffb5bedf7f3e50b406e46fe0003ea4bffbbadbf8b8171c9d70dd022317559468f73813352f5557ed669bd962d10dc71680939c6d1ec208226769feb0f9f387f1368bf9e98aabbc16935da27cd80e6c8fa6b7bf4de4c6d5788550150ad20ee7959a57751fce07e707c01a40b4d0d4fae460d5f2e1b4e8eab7742a4d7be9ea30076d233bc8cd17390872d6fe2bc8d228d89c890982baf86fe1363e112f2e52e5c6d6cbc577120db719fb45a37569b750ea272f4637715dabfb154638976e48528574284223f3988472112479157d5aa39821679987fc71b7271a58dc7d253bfa8226ad6d2e238fce635d16559479dfdbe6d39a2c8129a78a0b49d77734796b0a01ea26a50ac3e9865aaee3c58df5f7ff962ba867e9c4dbccc92d9a02ad98f70c49b9d1f078a91caf1afefbfabc612fc329326a9c589231efa64d13f4383249e6abd87d1a6306c0bc78c60569a8dd0755849c9a9f0ee710bf0033f1013415cc01898c1902533836d4b0c85aa17e0b1f16ad4c58f4561c66c0f7aeaa43301ff57366497c84b8429af59af2374363e5890d297e923f5cdda9bc329bfb58fac510bb5bd4b00f83cc2d0d8514664b86e07f54d7475a8bf21a389905bd465e1ee44cbdc6fb13e75ac775f0e3209d4b28943fbd97f0ab9f436ce3f827f6a4f96ea98d6c6f299d9626d5d0de5a4b59d471707d69b322fcb833fb890b792940e741106e3285950ea895d1cd5bdbf7d68f1ef20710d69f1f92220b4557f9d82cc55552992569195746cfb6996849ac33a20a9006d635e5087c3de8b70f54e0072e67d217a4e2327c3d9e54da15b3badc530852e40b2a6bb039865229d08d67cb2e83978f882d5418f4d447daa3c8f64f105c72280ffbbbeedde104f97fec4d642a1a029c977be2cd16367db10e0fd3ac20bb6fb1961bc52db3550325cac7d42fbdbf0c268f9a4920b55ea0ccfb934efaddf3b10a1b37b09ce3b7105f3d1afab7d81ddd1ccb70b63cd98b231c9c7c406fcd82a8a3c29571a1af2de5a9e32536f6c781e8e214d73c727af9e0cd8217f0b917a870f34c1afeb309c594784a690c81383ba7e6cf07717adc59ec2d4b6258f2cb84718d1f64944dbadec7c90271deec1d88f7622fecf73d3274a66e5269e48f136f6c5bf40c302df0c2fc41cc08c9bdc264322eaa63b7e2ff36571215ab107ffc2c1e0c0f21d0476903fb5979902f0f27eee5e56a91dfa842fdb41bb8099bd8376b74fc458c3ca6b114046e59705bdcaf46db9b2ba649c49518533de5ddf2eaab31562c399087ce770bbc216742193ea7c348101914a0a5bd4e28ea0a3508c1ded55320b1df46737cb304768eb62ba0f8447f57b8af53be29569dd6b03812ccecea5450b01cde781370c8c30f9036e72301705ecd18d4d923bffdb8ec0b88a3405cc59cec9089cbedfcf01e33ea7cb7e8c4fe1ef04ac633348d81d3ceaf279d006d9e1ed1e6d7fda5b2a30cf965b01ffff306e75ad51057bf1c8dfb8746dd5a8eafef41f7a3dd0d2945a08a6258dabf76eeff22486b05ecc767dd14c67aeadb08b44f7e63a2a0b2903f57c05e7bbe5cdc5aa22eac4e32a103f4b78b6e2d4869865f6a1fd64e6d0e2afe1c81b58b0c87aca746009ad248a340329b2dcc77ef75f894fdafef236c06720cae4dd085525e51ffe20a8693d54f608035af4ff2a851463aecb5c2b12cfd0a579657e1f05361b49f9d247aad5a6018a4e8dd83ea2913e748c134d479e54b976397d9fdd93c72a84898280b31fb7889284e55101f1e775e60b1b2e7a39f8c837b646133034cb2008d88c73c611df286727accf9075e48065d131a749be7e28655a50bdd399c6eaa7e13cc588c8bc921b948e4c652e17dcd9cdd08ad70c448aa26b4cdf9e42fb127bae57ee61a37fec65d5e96d4da712271cc4e816736215f44b2659f3a4a2ff18e1b5e59dbd9c0291d3cf093cd3a4f5de1d5abb929e0656d3bc9a0d122a4464bf32dc2df89f8763c2a0fd77b8a8505aff573d9c26d1616f4e1c8a6e78826e93d23ab4d333923e3ed86296b26762a22365f4696a02b92f24d31133445e49b62dafe49cea0a271f9110186ade6bd6c2cf617c8eb103c899723f169bccb2c535d5ef677d2d4003dc231915845205c5e75a1bb11f9ac1c3311105c7ba51a5c8f4498ed8ed192ac9132a69c547656cccee5ba197b72be87814d0ffc5d0b7242da9d64bc77ef502a2f46b7a617717bd4e1b1271612b135b471fe43192a91a023dd74b4ad7aedd6b2f0f8a62657d881f6a73c8c890f801ba80d0e195b67283386e371455a58133d47778343b004600934ef118bc8547f4c1440bdace7b708a2224ecdfbd3cda451fb23eb4ad4141f67c6b00cfafeb4fb7b517bb1e64a59046bc1a431ce3a94b972a032efcb6ec225d0540e4b566269669f61b19a86deaca5c826a2a606823ef196c4a401f1bc4a1f84858f5070ab88305173754748c9749b43ce1950a7f56715f0cb075ffd5458601a863eb789116a99fdb355408def2b4fd5c57f439fb097b1b4866b0c3b08e0222cce8d9e7d7d915b2b5dcd417844954b9a3cbf207a37ecc2bb0eb929a159b4f04243805a3b2981db331b12640b7dc8a7afc7ec028679651fe06c03e86b192f3822dd99b1d1abb57f2ae857db533f4437adb9f495696f2f7b31bbc8e1d7c7b49851e15def1a155ca41cf829cb9d180a0f0f76090f83820fda700959dd274439eaaa88fe5afec23c059612f446cd69483d8bede50bd7d116ec2425678a30b4b2c154a8207aeeb9b743128de75f1c3960a5948d0dab8745dce46e51101decc5d3003e11bd259d1b8c3b71536ca984c39774582ab5887b7929811f98a464a4e7206d2500d9fca4e630d18768c987d29fe71fec6f4c54ccc68f91fefdb947b79fb681a23571845782c6a849b5c669e63fea10f9cb8e184a8454b6667394c66a50f02dde027921bf9fe77e52002bebaf7fd55771ffedcd6068d641c8ada96e9c88c1bafa8394b83a4cad856d9ab800de4c219a6d3ebbbd2f485607aa12d79373e6c85403b18c5be9910d42c11647a82a390e47019583369554054fcd7e2286a1f3188df1795634d4af48a76661dc09e2f8963289da46faa842e55068d36e650b91853ad1fd5bc442c2322d4547f2bb5ed8b8e3996f948a78d85ebfe8f7192ee772a0fa7a80395f27535ab4a6231cb9b13cfdb9caec387c5dae4bf9ebb5869f98cfc6dae8d476279f27f89ae2937eab9747d1571934a0c3cfa84377ab690a7befb157c67fa86c11450cc55b1f8416ca4803c97dcc9f19be1e4d8e9da00e8e123824e6288eb6d5a4bc8aab2e864db2a99bdfe4eaf8d25fdbc79ca74816c4c5b12562b18366e74c6c63ece53cd3368fc7fec1480dabf612c15c174a1581a4f27aa5825eb8506b9bee9cf664825a9691cd7479e469e587c1e93a692884c539ec48657358249393aeb0cf9e355c42b4932d9e43d424df17dc2ce284a402ecbc93c42ad7f18387f312087a6c884bb89d5d31709cf5d181d3d24b255319f3d70c2aa33908c0ca98c38076320b647e9f7a9a11a8041c329e1336cc966dc7c260ece245efcce7d3b551e0ff46a6095364fe5ce0beea53b318f352257ca7519f70be09baacb9fdb23a8250993e645af5a8cc6bf0054782678d186f4738343441b535f952731b1c37fc82cd811ce8684972376074b88d849cfe024525bcfa536a9fa4b179cf2df9e243888eec8d17b61f102c98f38bab15d441149111a072379a4e4b3f15d6b802eeb9060a986de66eaeb7f7e2983a384c69957d8c2fc36997053ebeb2c4a14631d1c93627ed4264167e046aa66c9c1533a07f021af6b14b68b5fd9a471e68b68b2706eda5db7719ef5e002640b71965d8f6c8471ec3ac12ef19169fe9e46d2407f06436d12d1a476f20a1ccc1f1ce4d610ba5649fafa6a5befcfeed420e4d47534b506601809e173cf5aba64d971ccab21ab3e5af58717dc4138a7e5c668e9dd96bdf4c9d8569aeba8d59472165771d73527d1076f192126928b6c956df7592869676d1678b68757249cbcc6aaadcf998432822ee63ac05126920c92fb6df80ee35b0a8fdf8348ad37e7ff79a044a669a1999f97828bb27df96016f837c03983fca9e335ce1baf0b9d280e4e8c8f3014dc78b3ccb2fa1059fc25f728ba4433b42f70c35371b4859e09982a4d12123f8fbec519e64d8b60c689c11738d595167d670755eac2fe45971bcff65d0c16cfaf8edbb0ce0d14b8f8b5768fbad104f3891bafc5ae2425ec7046e418fbe612662c21d2ab585346e8f5381fde6a120933f87eaa9b18e60709c2540ea2f7f647c85414e4ca18635ba15c9190366cd0d2d415326681d9ab5f52bc553f5e56aa88cc75a0ffb86c581e0435a5c5eb040a762f738fe9c45b95a4c1c20ae2f44069536bd56f2a185c9a8efd57d72815d523e2b4bbd9877f3800483ad96b5fb53e978d935425735eb76b05180ab5ad674870f20763d4079108231f7a5e83646371802d7ec2e5545c901f22d65864c9c9b25c7e5326349936dfd5545ecc89278e3221fc5610ca8ad483a8d761a922f85e1b1776e59bbdc4032acd99c001d63930b103738523a5427f230d62402c14cf5a72945e15dfcd022cc998f0e1cdcef485f49dd21fd54bbae331d94dc377dd74d772bd8b30b40e2dfddd49136ed2b0986b71b79135d56938ebf630f19596f1b38e8fdf2c20e0d527c0065476eb4280842196bbfe091b65f981a42f3a6beb5d6832e21bb2f27646c59b7051d1beabc28b2c7129ecaeacca967342d615acd2b340e0830a9b669cc14057294a1c386a0bbbc2e66d3b5d42b890b396c684a015f9f595a0ea928a9b67854a78bbd50cc5f1a46715f454997ddbb0401cffff5cae61386dcf23e22d018b2acaed5a652376be93ae1a77a15004cd6c79d6219c9f968b6c64e368e947a116d7370bd895a96410ba5b52cc1143b943807b75b67a7bff74bc3e3354434f75813f5eba49370100d2408af5dccd9fd70e6657b7f44bd1311bf205782b21c85822feecbf7c062f0427f657b5133fa0d8cd5687439bd440dcdd4b356441cbe812c45dc7eca6aeea76dfd2f7a09b2fa01d5514e183f78ea4b16dcc58e307ebfe0ab2302b12279551ad34f1e171e223c1b6db22af2345f8e14287fa90232e4bddfa83e92631dc92721abc36b19f45bc17b275e969e284dc3ddcab715ab02056e1fa94d61f186964862b5eba6abfcab609f472e9d619a7db377d24857ced57f78e51a0bbf3652e5a4839988ddf10993622bd523d96abcc82f5c3ecab4b449b58beac6b449a864300bf2ef9f5defc2ecd869c02be86de60a9615a4d4d490531ccb716df6382ba199b086a7755c2c5301e81287c2f48887e130eeb177a84355a04eec6199eb9d34264cd3443e8e8b63ffa9e29ad309c55db8f7290b27b9815e17a3d713e68102a70b435b7a556cc3aa65ca0419762df87b4a663e0212e03044157c3ae7b750829c24efb8786bb481335306da70f9445825a578594ed1d659b6b5fd78e11dc13cafd6c5a33e6877f1d494107bfe1720a3b6e8b4db4cab9b351eeeb9a04612dba2961254be3e434eba65df5e4699672866ba4e375abcb28e8dbc1a0062d8c02ab1e60ab484fcf79762eae5fe1486b0b4bc265deb6a664a171c32a0bb4e971c2f01627c5b7b24a3f7bb3e012995b2e91a34b0ea1c3001653c3aefe7c584fe98b52d81dc1af8dd59f695b753733cca0c7c4931b1b0a63f3c88bb2c9b0e3f76a3c05401320ebe9125b6f77e4b10e9b82044c4d907ff14d581819f972c6af17ee3075c2251c7518da56467d6f731531f419f25040901112ce6e36ee1af7aba4e25467ee546c0344a1fb0023a356b28c78ba24cddd2cd3b192ac31cfc0a15aedf2f09f3065f76b0516ace35eebb44ce530c5195f70e4b0b223752c3dc29f5ca0e456e776a488986e51d65813317838a7c34bb444fc9506093699b353a2103b8fae90624162d89c8565e4ade6f7b8be4b88a1c328f44527e74e35e8374b4b52d4f0b0d943a75b16582c5fb4d65921830d88d20e8b3ac01110795b434ad880ea69c64a455c42fcb26477ffd3ff156ca02547e4d8cdcc9b5bc209d2a10ff7d9153a7068fa4d981337b1096ef23b439a5e0baa34420225faea60a6dde0ab12c0b45c1aa9c6162c7fad90d91ca665c57e873cd9fd15c641b5083b839735154fb216b89035eae5fcdf8656307da151a9a146c0ce307b58b9eb4744f4eb30b62541a7ab63ed4530e22cc43b332388bdd5a5ae4322078feba52ef6208b8f357ea2a48a1b3ed7bf9da189065251f3835022ea3917e0a3b23cd4f97daaae09ace37cfbf0624b7ecbd55184a3ad7439cac0fe529d83f4b5b64f6ae081eb5ee19ad92e4299b545fb3eedcd6982dbea2267e0149534189eba063fed2728e4993cb196f911b8d9ec1959611d866772a248e207b42228b10bc5c5076fe41c271d45bf6e524585fa63de71ce0c5a975f070f3bf3fd4bd39c8e65270eff49ba2993cc94b817adb522c50fee9bb45b4f99ae8f4b3fbaf125214f823c9974b90b037a7314a531a3f63db2eb23a558213dff1f103d589cf9fc47cbf7b5c7c7b467318ab96935a3882ad9d171d7a9b61b9b126aa60457db90e88236dafa1b2b63a1934d72938d1acdc8afca840a8650dde06fa5d6d79abb57ac97af101476a012846f315693f2c57cf43374c25d114002b16291042486ff01bc1e7b40d3d3b85e36853e0a58bc260edc4a7bfd3b22b1ea2a5e87eaf30bfe63b552620b0d6a27905c42d41de4d84a7e49065738609a558a886c66e765ad247e21ea7ecdcce680d07e90aa8c2ae4f2dfaf0e1557bdd1916c665f03c092ec2c8e4dfd1ae257ecc75b6e5224b9a31a9fa9a3cee378978e761cad382c3ffa0dcc359013e3b17dabbfb6d81679187043fc6b024bad2cccb436e3daa7a206e563679221a195dca1987911fa1b0f025f573e3148c5ec10f1eb4eb94ff0e8880e404f2ea9b858547fb6488a9084753d8abf6ac7e17f469cab3ed19a1115048c349eafba7ed2a5c2441d185619118015dc08121fc07e11c74ab9cbe1c1a064f36b58378557d29a5a58f2e0a5182fda0be02fbd6c20f943d566624b9a263849182ce01a7e6a26e460ff993d323b08d7ef82983d7807bfd0f6668d3b136487480b9a465c1d43aeed4049c91dae3979c43534b30a4a705556fb790cca44151cdc08349b69a258a8df328dec84bcc1a669925768c11707293c8825d383534d47344509e84424d3dd6bc911f2a541f717932fc92d5fb5163a40a6f0e3e159336b8497aa90e36bf7a614187a904ccf919643af7927ba5da6f56e12aa4686c987bce610f34ba16ae40e14b2f766b0b72c7fb0c6f3edf5b63a2df59db776324ae3ea4cb34b40c8eab84ee2e8988a5a41fd42fd84b5d164bed2c527beb90a0e26dbdba538ddf525a6fa822495801cc0ee5a2efd17a9e8969151a9ed2815729a6a76654662af118b5cdfde29b7afaa5f37cdb18294a733e4aac14d867ee09d40141e3de9fee6a8d58fdbd895d77afa4775dbaa9e81135b3b49682e5f0c957cf32b7312f51fbe915b82fb2f9ff6cdb2d35aa508ea242bd79d6d645c16fe1d6d3fc8c85f53969502f9525d56320ffde8ebf15237a74fd83362674e71e81d4137f64060010dc113cac3113b73ddd9dc400d90d441dbc11b43b14606a5977eda8d6b57fa0627fea5d4bc14681068ae32449f08c63bf8469fed0adf88f5992f34fb009e23575fd4807bbb425b4d6d6ee884deba51b11d3474638833a93e7e802c3a89e4250a0d8ca9c94b705e757dbc66b2cf945dc958707adfe78259a90d5dc919d7e8cba4a33bca5d8707a60c573b8f6c9683648b5a2b29e13b9be1eff7fba9ca2bfa7f956b18ef83e6a6d6d97b32fafefd24fdd6727654c6b904246670cab25d37634cfdf60cffbcd9335acac728c5da15f150e864f9c91860f75fcf549933a625f8291280e61953515b102bfe920e0255853411910637eee7ea74be3daf69729807c0531a1d1f33d14a04e977e20b645f408bc05217edbf39c353891bef7a6d6a6938fe9481a7d26c89a085fe5ec5e055225a96bb565e17fa5956d1859b6fc65999736faa1e5e55bbf16c7ad09d4c9ada3d49d6c044937fa52b90e85a5e2de3a3242f66da9a7a892cea894b87c9d92a96b30d749622b523c7bfedc14c733743c18b1dd392bf05ab88d010be612220572e4dd53b6ca47324965df33e17b9d86ec3cb8ba6a937d2ce4656df9b9347915e098870feea5c45535ef5a74434559c7b9ca0a1e114aeac18611eff098bc298c77fb4937d85754828daa191dc1a2a7df726fddf761ddd72f710ee91373c342a97b0bb53da2c969d89fa419b964f75810602b6279f2e5a2700436dfadf44410a60e31010bb524d9ae7ab293bc03c9268d052b61d26fca5e83d08128e07f8f90f91b831960a8de79651ea7c9086a230efa5e45dc020f40df37aa44206b3047b828088a151a077bf7e45476bb6dea5f36280379574bc6b2c26c8d3bd672a7b14b658edae83e7c3570ff55eb2fb6f6d9b4d64679f6dc64c91bcb05ee35e82ea81e812385fab593256e701ff08d4104bf0490360dae43882868d93d2c41b957eda30fb10e070bcc906b809a34f8b040dfe4a4fede128facce29a1be974073906d875fc4e664c6788da9665a12d2a733a8face3e608f395049fbc0cb4490a0f39e8fabef113d31a7cf12d1c5201715ad4598865d77ecaafe12ec52fd6287e8cd80a1e78788ece33c5ffc32d69806ba0a4b1101676bad879542fe07fc6f5e05db7588667eb58557d5bf0a1b2374febe0845a1d6a8db3af1ea9bf99240b737229d3d18e6dcdc00a053ae482c3c1d997b856c401892bc2166ba968597ff37c455c89bb92ddc193a264b6c30a4d67a640ef7feef1d073ef55a5655f0c6e1026898ca6b1038b79afad017d7d22009331ade3467c96b30ee1ffd51ce82596fac62b84c9b9bb8fbb1ec4f9f4a61d68b2d452b2dcc4c02e6c1bed5c66ba44186cb31fb7b4e526bd91fc710b9077823a73d7366b39ef33b183ff11ab8d103e03c79ac44ed87334e565024846bbc35c4953d730c0b9449302593c819dcbaf13f7bc527092dd333cf5a4f240d4cb9842ba373cf589c7b82c640dbd006eec017c29475f232e5277479bfb1da06badd628932944ca19a36ad18fdcd8dba3e032a89dda43fd6bec2f8eabab608480fb866c8999c4d72a188cacc5941f569b7311b03882f87b797e56a6265c44d1408f89544f182b78a9c15fb768d42b393373e13d1317698866f5b109718a075f6cdb117cdf8b10413420a9eb9e8ac979e2b56f752391520731235320d5814af59f5bcef6799f5c80254404574f07ba03aeb0b8fcb7b4f41935e94b086604123fa920802482ce899adb87247376d2879b8a117f55fb60fb3c6b4ad7b9bfc6814fb0ec16cffe6d80813524754582f562798446a9bda708e90fc6adb0dbb0dc7b7fd9332229f96e608d71ab87e634f5a4120f1ce86a465925fef2a093c6b191c642af7585b8fbc3ce73648812c6929c0c972d18bbfe08931343e61f0fc66e31a68223431f6a0e05dfd4ec583388492242e69d1bf27b863934766dea35f3793670970e762f3e64469442f3e251717b12237c8b0e72aa4a874073a39e6a0acc60288b1af401273a9ab4e3521cce68324946b27f7d3d06f88bfb3b6fe8ec6860f15c3002def1cfaa43f684c329354564e2e5bbf8884522881c936a70e04f84683a3b2cec06c5df2eb2d924b792fa8fa2d284d3ff68016a0500bc2ca8d419b3826e9efa2d23c1193acbae7ec2ea7c48ebe7a50cbfa40f4d2c7466b6b79432722defbad3924add9d0cf57e472aff9790dbd6b3aa0e544d48d5c374c034a7ca4a04eca10727c753035091ad1e3dd75ede6bb8c7b7215e01eec78f0576e2a92eb9267229bd303e28972fb68c578f1da454a3a1c3d9e976642307e18f3ac74535658aa864671e383272c15bb7198751d91b09fe7341349caf75bb63d847a8bc3aad19d6d6a5abd7a143cd8e59221234c9688e17cba306dc7cb43f8e4cbb7c724d470c1052e6b6ea74a56fc3cd6ec4e294a809bb0968ae54675bc97018df4166dbff45afe33580b6b109a418cf676a5532b058f7b8e6bfae9c1918cf5ffcaefbc9fceca789efa794346122538ef6a3938169be1962ae536bb5225d45a88f2cca6dbae4a278ede97be608e4d1c6b1d7b6b846b5b8f537d84fd28b3a2cf4a9b2940bae7667c15462fcc574155cd35d0627894b7fc219f66e9d1c5a31fe57f1cbd3848a3fb25a5e79385cea992915e40196f77fad2439266c10088e6d1a82a231922d2f296db1a2b3e7f2f981687a86b5febb710d3e582443f6dad88227a1d59e3c6288495f5bf991e487153273aa3a6c45708a6145e0abbaaffaaa80042d4cc63ea2da43b8e88a8b4af0f4d44d6e37a06d1fb864f42b99a904f7aaded345820f05366853e656ef66d70fba79648390efffd49eba945d5bd4e21791eaa391096fdecac200c47b54c9edd25eeacd5e4c2eeb9969d2b2c86890b6640ff7ce9afdc766763dfb8bcd1c9a175f969651ee78c5cd3680b583b0846ad1b3486d4a2f421324f10fa44d62eb16c5e5c6fbe193b58fcaab68267354d76cd1ed9ab117b712da844074e5252503fafeab9de6a79fc1709035fd21ff83af2be1c9b65ace5e734e25148142403f2ef593458189cba762812400531edcb3e91ca196db5df1eac0bc2dfbb148d268d2f0da7ef82b49feb16da2ab9257f19917a1e6efc41178bf22bdf1b625032b8569d5488367079d19412958c58d90616055581342cc3803af1b65c9ea8d95e8c576f1a68454394f2cfb9ee72edbe6d48151251cf768e467cd74eaee3551d00125894c2f3f4edcff9cb47c6163367b739f5c2fce144c5f58db9b55ee153e904383f21b8c6898d37ee0e458b27d2509da57ef625144558a8b09e105787e7233768e212fce7e74fbbfab30750b082e466cf97827535eb5e1ff74ba823105c5323f32d8fd27e6ed1149994a705053fe2ea226e134f864a621c0a3deead71cc055afa79c5eca798bc8c6c88a0dad3ab6d144c0da6131b9e9d556a267680db9435a91a8f4562ddfebe359c2ff09627f68b89704d5e44060d42266af20c09e41e1b17ee96081aa5942b49e7bc1779b0a32b6a8bf8f7d18c3c072ef9e9604dfdb529e79e324bfe68fe207c8cbcb61ba68adbf1e902e8c4e43491a6a038f779318520701939fc4f08534d1bdace65dd6ecb55fba5da54ba0d2bae38e28114c69dcf93f1093f9416e6ae987a38f2599b574c09936a6c00291284e1e990a061644f510a212e44e6261c6197291ca8aedb7a9d75e3996c3bb08dc62bbc6f536f24502cffd803c35c9ac2117c9c39a755ba7e34b6ed99485d223bfa9e3a9d030bf2a56f8d1f3104e1037b6918953e73514bae85399608b55acb0b0f676f24ed1b2fad12fa423634f456eafbdf243422fdea07fe2c0116aa5e2062e691cde00063dbad602248ec28d15eafaeedc4021a05747419f3ddb2e53e317b23c1de579262395c8056260e7809927375636f9c016983a73633ed06700fa4065c32dcb86c5573c7fe28c0ceaa656a4253d9d42ce2a82139ed1985c4d805d0de6caf4c0ec03410203650ff579983de5102f9bd64915a221b9be5057ad8bab73ef03994795f461658dc78a8696faa67280f7dc877212bc188fd10a56e2192281b998761f75a54b104382d97ac29d35dd2af47c81414894a481493ca837f6283afb7de6686c55a725ea7af762ca64533168bf32c17912e743603ff5d59c5681820788f968dd5d2a22f621b629a749448dc5a270e61bf93e0d7d16e5f6c1a784b8076cce385e1209db65ad8acdf03f72f9171863ab0b369bea0aebef887c76d13e45ab4d815ce5473c8c09e4d1f25d23613dea12758299397cde31e5d067b89de28f738a2f0282c16a56c096a13c2f6b06fbf4e465078e03345a6d3b10fa84c43a8ea9179137a958c344a3b3059a47ffd566eeb310c6c8119b24f18c09932844e32a24090a58ff662618df74f59a43ed496073ec8337ae8ca498ee32e322125103b634726928dfb218582842c991f22ef0ae83bb9cf196ce07da6fe02ff7a6bec63f53fa2a85443fee9f882f455b2f4b5ee4ff580071098061727ff78cd4ac79e5a151097f1bb09619bb09a3cbb7b4890b39c07433ab1ebc118106a604a6d9c6c510bf43cf6f3f55141a3e4d0118cfaee9d513955a488001d86c525fe0efcef6a16d54e0e23d345f2a6dac353b803f9994dda6417981073e445622cbc2fcd491d6d6a61bfbf5d2bca71556d375b8be133d6c3b154ea41fa15b3bfcce6f0a8642c1fb80c424d78f2cca6a3b479e822ab299da8b948a1b91af066648542adafcf6d9d601cdfb967b5a74444e0c32312d79f84ff4f0a71623c457b1fa9d6ea8bf099043ec391a9e9cf0d5fe54d2056ffb179a59feccdf70c848dcf8aa273dcdb03ccd8cd6bb4855260c387af0e6ba92af8447600d1f3421f3c115513ed25ae32039373ab5f1072414b3e3a92f82dc2330526fc2c8ed12f0f7ef4654448d323d4de45851f169ee03bb442a91ae36196c5f2a8b7b957e2ddd4bb0e5654fa18d41d381a5a8988d42675ccbf3a4df2a4b94477e936a26ade150e775fa5f56a298eb12f3ae5ed14d21e4f82c685ba8b13cdff5c698a5087cf4443185f39881beddcf7207c1fe3d389b75cd3c3c9b99176f5fe09b3f2611699c0e25ae579caf17c97cd9a0f840eae2bb908566cce799e972db29b16cd59c549a45ad30d65b160f55d2faf76b82bc8f6c67403e00dd0aa4c3c078a530e28c6254cd9dd641f8917928bf911b75cb047b6727025e675e4b5ae71ce60b137fcaf23cc51493b7116b7cb7199660043c59d8bcbbe3ac8271b3053beb90f536d9404de6daa50d5ed746bbe77631e4a2e6df999b201ee56381178a4f75dd0e7d4516c4837e52992b78d7dc34a7095185354c70b6fa535d48d2516ced10b1e3afbe61a3928e92abc141b04a5e1cb2f924278e5a6b4ac0b7a1ab71e68f3de31de7d250087546a7ecb5d328417903db6d2cd3880fade2bef74aa897e75eb70874c27ada97a3c5ffd4f93a8fe2c7a0c4d8d04fbd4ac81df330aaf972156a44ca084473437b8483e62d1587d1b013c34043304c3d99b90a83254d010027692b6ef0a45d77b684543964a9512e5a71ed8fb093ff83ac85721a4ef407d3fec720889ad0a9a93845f207d74efc6cdbdf6b4b53b7cd35692ed504e922b81b7fc9352f18b9cf5a0720e63de0856f69b4f78bc7a06093e76855ab83794c5d44b5e4c858d678fa4c3a21e2b62a61d0d21157b287cfaefae507024b0928f46d6312674a395e16d9de7173ab12833e71695f46dde5f35dc094c31939708de16752c6b46af3380873cc0ed91b2ec607c98c0b58d70813c29561c44513a43a9cb2d3d426baff110cd620fba65178f8ab7996fe046c8ef23eb045be365abaa0105eddd6c148d94c70321eb71beee735f7821b61571f52816d9a1da7b33737b6bcc0b2504fd40a63b1c09b341959c586b7de7a0c6a14a74cac2be808b2d45592a4d4a674d67138fc573f21bec7e26850559e7846454ccf40a5c61ca5780f8ee4bcac14506f0b265761b9eabe5541e561ed4d4c37567b410e64932a84485917f2b8567ac2483d8c361c68bdb01706912e1e67a39d558acd2b260ffb480c629eb8ee10347dae7be9a03d1fd728b5a700e1f5bb6d492e7c30b00e2664ed48f8ca202b632d164313b1e3bef0aa4ded10d6d9bab71620d4f0ff2d7e1962da8f57da4eb0625dff140cdb017a05403bf1cd726a565bad7db31e1346de7c941ef4d7d1bfa844b4e6e31eb829db6439812fe100aeacea8c54fb5ecf171b446164089ddfe49dfd6d40b6e1d9ae143264245a2099dfa928b592d43f3e40d100f35c84aace811b18d5f3bc98bda8d11f58e01060e13781d34a9202f91f817b3e042d1e04ec76f4e3e7b6f4feb428efe58da96427343d5c01b65591e099dc61662ea07b800ac41e028fb8b704e42e5ddfb564bfc9e354cb716ce3a28a3b11f14c7d350479cbb27d323d68a60542b4263271bcf7f46b20f83c3c08b76d00422750d4f4533fe7f127372a86388e9333bcd6c2879335cdba43728a4dbbf09db904b9e64c916e79d5000daae9d3427df34bb2f2d3ef3f6e52da4293b9012e986e26b6e16f4bcdc04390022f271cc773b8100fa15bac1ef23a20c4787eb91b23117ffdecef064e9374b563c02cc71494fac25a7eda0857b372bb9d8afe4d789a1d4430066d5c9f5c4dffa722c96e1517e9e52479b06536d7828297a4b04ac3a9188d81ce14e8d38c2d0f3510fb5ecc17485e407b9d0540dbd7c458b7b6dc107b58be856ccc01bfa63ed284072e5468cfb9c6c998e647874072cdfa9859db2b2bdbd0dec29dccf684db605ccce21bc683376cc7f312bb3594dfb44d6d79cc1f2bfb039aa8cf7140dfaf2c80ad6d8f92f45b58536b8c790144c9f43abcd8cc117816785e6cf13daffdf3d313d307cc11f4bf899c1c37ced7b417978ffd6ad942d62ae5eaecb9b47043a84d446c27bd576cc4c144246aa12805b4b220d0b0c488c9058291bba926a0f764458d4abaffd150e9604d8e75cc2a9bdc333f19f7b8aa764716c4bda49f01ecb59ce917605d74f61b3eb642736f0d46b5f7b1272f2e2b4674078b76d84d670549077cad46bce1c5bf4433208dd3c5aa4260cac3af35731574946eff2af9a9159a86eef007e4a0e3ab6bd960973c093c0312b7293e7791ec251e5c3ee5eef22f1116e4dc996548c3e2f0936ce6ba3163ad48e5b99053e445f57847a6210ff6259f1c5fb5d1c6d0dccab59711803779213fd6531cbf7eef2b44f32d13f8b2025b1fe3ceaaaa14fe459ce90b8a90d0cfb4e6bf0ffe3a408ca9a44ed15c26cf3b29ec23c496fe20871c33bfe9a322d003ac4f20ae97aa406c91e185ee8fc2543c1193e55aa0c796c3f67e44dcaf7ea58c4230cc0d60abe4b2b11dfe9379deea57f4483d5b2e1bc42e3bc5953abb3de52da8b200f703ef31a6dff5f52c595688c2a364fd7d8297c0d3b217d196dd8aab4db22a06b802d450fed46ca2f185832a334fa5deebece47bae56212f809ea2fbf2d4e98c0d937a99837f9d506335be3404aa6f1323a388cce8801b8b39d1d5ffc5c6f257680b60c077d6bfa1d09789d7a0c1a44f15afb874d916d22a020d0f0a49f1e12d74217234575e83c53ad601249dd1d08323cf96c2b77d239fb23072e02ff41dd4b8922f2d02d05a216ee95bf60b06248f2c8acfab518dbe738058cc36a94ff6dba350b7a2c2e46558c937ea9fb876f699f4b84ab458c31cf7aea781d5d9cad781ef1fd226f839cb658b84d932236e7844824bf99ef1499b9a72653593fd397e0ad7e6925358541af76217aff86f99ae435ceac4ed9b48f8d7b6df18a6c22e8522553f96dafb96239db8afae0cc4e0d7e9bd3ae4725e7a9cd416df32dbb0cd3a9447739148ab8aa4862eb1318d30d5d5f3148feec357858a5a960c140ea8edfaaa5300bc42ba61d7eb3aa5b512cbd98722a7720db90df571f64c2eb5884535d406a5d07944dac443d47d2b0430f72953ba1f759fce56a168480e915370587ff303303d7ad4706bfabedce8a9c1382a00c89a25c96439cee0e08f6a6e757806269d60618a91c49bf2ee9eda6db3a40a88c92de0fe7d75f6cf8f54859df8916e98d0ce72ec45397bbf9dd50d3b3e8e41822660439222e9609bef832622b70af51593649a0867800679a9ee192f5486ee84f2c1ddfc113e1f23be586847250946c94a7b21134c9a4cbbaf873379d09d113bbd60f6b24a7386814a5fb6e8f370ce491ec8d75a6f29a26f567fc97fe2d011d2da7e6390243fd3f49d672599875cbdb008e4690700d04e0d6876ff9b61a4c5c0d4886d4f3beeb028e876702d089c01f29aac16a7b884604f2aa0cebe57e970485c860564cb7bc0bedc9d04af67a825f71d700a7594e7636c9025d41129419fced3d357578d8017f7b12899fa9ccf7f887f5fe48293a565dfc8c22f49d74d9740af9f243e5b7817486a28f6ba3652f6d3fdde83ebfd35d3bd0d5c0bd3f4f154858f2cfec6d7b220df82faa0dd6d8e34e610212a1008ed31a3fc7eac0238d5aa277950c13287ec7ac0e925d50d00a2de3b9af448e7e535d42ab42a6c8bf5d48013d76243688912798f40d9987d6c9a12440488cfc05f14d1e062b3c8a096ffd408fc86a77436243ab1b2a0ede57ad9ac2971322fefab4a571e6a8ebf864ae76887b1394e13776a2022e01aa4161a459bb24fecfe837cce54eaab0c3d0605703e73e03c7361fc49f97bfe507c955f33ba757cb9f796c3516ff7276b83b627ee8f2b36dccabf990885d3aab9aa63049f977f910e0833b1caca37bce540fb71cbe5684e67d89e2d6fbccc28c015a04f875c5dc1cfecd970db29898748f51967514f3714f9cdd890edb18cc8ac5b428a4c0e7f927e9c86919e4ff626315a4f15968310c23af9b2cb1f96a5d4219d7a8910fe6879b9ddcaf37727ff8d4976c6d7e9d5bb6f2080752b61d674fcab3d0109640374df137717182e082c2a1466305c098a7bc3b9e35d0eae5f7510a216d21258b0c211d7b7b4da5643ff72de6bd3ea49bf266fa6139bd25f12d73dd418d45e213d6d5f7e429dd6fc075c16b5479f3903d12f62ac22af9db6e672c47fd7f019f7f1d21ae9130ff9ffc8f5bf12ef4d83f4a5cff8921ba28bb593f59d96197e039636211f8d8a1e1c9314d085996326a137c6443fa945e3d842a4bba07d99f7c8970b909887e41c08ea49dc16cf4fb4fe2e682b83011f158be030ced8c02f4cbdfb3d8a75adf5f873fb39391989adf058b9ef7e2bfb08b639d490a06655bb44de3e444e88e63f5104dbfb5b05860a0cf092d4b058dbb7d83c735ae26ca31cfc7b537fbae34b0b55f5107b0d6d857cc294b746a5f606a76281de55bbf6676b0756d7e015634ee56f2f9c8536106d03d4a91c38dc390ce2ed51d03910e0a992481114c97ef1a5d2435930028659066186f278c5a02f2e7dc63724fbb1ee9a716c1e7434cd2649aa672b2056b67c0186f635c50caa1fdd493219f4fb4a10c2b4d9a13e3b6e31421c11ecbbd315bdd1b05d2b7b9fbc2922b307687e7089d94d0f08a0d9b8b562c9d88e09950521fca2fc262f97ff8ce01cc0abc34802b1c9c543b9737e982928349b6b60739ba150c2532c089ffbb81c7c8f0e8a123574d0ece4dbf3ed83d48830cd2bb3a507678e4dbbe8e8e9364f10dec7bb4b64bab3b6ad766876958085c42f3d33afc7428af9e528243f6efccc08395b42e59de228649d6a5908c6af88ad2f421b98555c0ffb3b70ca14a85b9732b579e442ff347bcceb90295f26ff2bff1c5def998eaa804fdec767219e27735fb31e9f81fb9f3fed83d401314019b8bbb804619885f2b0e654ee18f1dcd3483a15c294044b0a1b3f10f3e32d47cefb632c823e1d461ada2fb456407035d06f90d0370a1d8551b8f7c5e44bef4be91814a2be439d7c0ebf60a1c3476f96ac5519ee1d393f574552ea0fbbc950ff7bd6bfc85512ff485c9164d81aecd222b44da711156a2d5168fc724483ef87b3d69733846771a909b7bedc773b061cf6652b51b3a0ba8fc3c1ea7ff74423e989701fc477f0248755bdfcf628543e0081485164e930078e23838ac3739143de9cb7814e53cc78a31eaef2d3e22ae5cbce483cd86f5d2de3b883fd95c1bca4f6867aef8f54dc9107b6eded3e7474463a3ceef0ba85c2483bfbe51bf0536cc6511cb2c3cbbba2de344c5f9eb5f20a43953e51e3dc203ec7a32ae0555ec96d07edac1de5084f911b0e23a5a51bcad736aa79d32e868bdc528c98dfe2daa5d5c35654192448ae1e18bd07b700817a00f9a36b082eebfdaa9cde0ddf0b9a6e4ed53af567a0c07136929793b8fdf931822d94584c7fa9ccedc1e3259f5adebcef2114352ed19cd39724febf117bea205e15c3b3f2c97c7fa9bad8b706af73ee7c2abee408e34d74d1ddbbde33c7fb5cbd25402a2e7bd47d2a54ea06c5e066a86028a4bf85a0f248edca445290ce24e1c2f2e5f1fa2dc1927597c665da7226eef4f48076c8d93db19b30f950c4b84c210634aba46a1cae1145ea76d1444f869007a4e52d5a71331441340c59346be827b655414f16bf17689e7030f55faae8f5179e3a70841969254a6288d1cec9ec405f5fc69a52ae92acd3fe28ab6f5a498ca5438202c1d5930a57c505ccdf60d10ca26a83c9d9934d3de2d8e68977847164f7b5b6f627dd9beb1bc8a22365d5047ee5fa0d27c7e35975604a3aa4a6b3c4f4ef37ba96685c811763f808c0eed0bff286313c8f94a60a896c80bcd46530f327437341f49665591293a8dafdc789d2083c63b9f8d5ab22ed7b7db3178de8ab4a09f5bfc2411647aeea80e21b79c3fd1e1c185116817a84e43e0db1dcfdc6eca9b3305ceb2e1a763d85ac5c0d21c5ae771b2887ab3442e3b9b601bf2cfb0d4ff3c109159b92ff0b6eae66d1a3b3949c5af5b9b4c31c797b2cfac164e5b020d2d4656a29cb1713eeb69ad100d09f3b7201e96c6aa4e4a90ef4638acea8015ff313ddc3a4e609325c163a2d54ef98a8a87f8a5aa5d61cea72e6acbbd378888f4eb20d602bf773750ee2d3b5d35e457961ccc7fcd01207b2e366f2e83d43dee0ae71173027fb4f45903f7d83001f1aed0e490a38c352d3a5353461b89eb95723abfdf2391e85ad06cb597a7cb944dd27dd09b7b17528174d8f73d84853423e7ca7eb6d24273791774506d4a6b86016a2331bb9e557fab640849cf367947ee5ade812043319d6da2a20bbee9885c3fa9202b8391f4ecbf364648913ccb77accfb3f3e12605a0e59030cd9859707c43a7ae813d9f2df9ab0c97cfacb8b3e224553eb0277bb51c6bd7a355f5ad2b56d7a967abde9f4c2a9867082c3814325578962ed0b7f5f3e57d5db72d3ff754d854dfe039fa5c7c236e1fd1058831614fbcaf0612c624516a751c4d9a5cbc5170aca3d8e9ca5af6115d29eff8f669a5272de8b257c26d07e7b8b4f166dedcdfe4a1210b4288b762916df16593c733634524ce7e39f6671ef31c82f56e201a48114817e3082381801ba8240a9a6b3f9f6d6754c5c240cf2579d12d3afd8e340f57ab71ae74ae9ebf1c62132d505644421636736cb3f79b90f80fb11be2901928fc3867ceb776876c55e3214455a13bbac5be693952a2842fffe79bf30ec36d2948f5297e8a46f813bf1a13d5daaffbd33578aa4ae4b4c90a3b2332c6ea635a2ef9074b8ee129181ee8b744e09271a5cb0521cafa6079f5a6686e81237b7b3f91ed43629a58235d76a9178b9b7728436b44f5d2955e113435f870e4b6d42bb20eca107bb38037d7e0a73b8f2ee99c5eea1ae316f93c5321cf10befc0f449c9df67881f869019cc546e57b79ce04fc59405fda3aaa716254afd13a1a3a76f8c2288d2b496b91a94ec7dc8536b48555e1894513a104f645d258fced90289363dd2b75daf71f35849e68b750caccb6019173554d451bbc4975c14604fb9e24dfb5249038f29eea7ae5c1a5f575ac8e57f47153f1af43fe032112c57d58a9247ee00f1a81bd4184b9c047cada5cd4d283bb35901f24d398787da24cc340f4e53d31d50b7cc3ed844d7ca12fce7b9af18a77bd14fee8065b8e35d28e9b63e1cecc515bb5dc075e210d59a1ad4b4aabb12835d81110c643974195baa8927756d4b684e2b8e29fa1c8875df9ba448c39d678e8409a4a1224238bc49778c2494c19dca8c0b18dfc7fdcd5863ee2c1871248da3e1f521b38ee1a09e3b26467dd2fd44f3391400b14a85accf00b93daaecc4c62ed88e1751b0a53021370a06821be12fa89826c9fd0e56b598d7d2e8feca2ad9b3fa8c2b15380c5cb7bca50220b9b8baf0f45fe94143d3bc8d8f7d1a2d033dfe8b71b5801001105d1663cd08f96d5d1bfb01a5e89c671f884f3509897ae0d5f4fd799f7bb79d5bcea36aa80143f709ec1f149d9ffcf869b5f2d7288863ae0920700a1be1f8778200c6725321ca32085dab43e778aabd539bbeb91236b4e00b49b9c9f1134df643d14f141140ff3488c236855795ea4533747a01e7d099c55ef9d00f521362c4cda5d670ca14a5a5f372822f12b42642f47f294f7a1f339f087cf173d18ec1f19e5a8d7f1ca2cd1b991d415fc73c714404ed94ce64f2a74dad5604e00c1a3130208e9438933fb950cb23bf73efffd327d51f744640e57847fe081311c334d1fa9aa83024608b805f043acbbc1737643f0e34329310f123acb95e7af5234f2a278e2c0428dd56b56e13687b7b53d38aca89fb5bc8bdba5f49c758c88256521d8428191258ef9abeb327088aaa3f02678003fb593601451945560bde905e670f0dbde908ce5def99cfaf3012da9d3054a50ade87536c2aa633980b9684c8447aec1bb4ca01b31f08b2d26f5685407f9493b4f9081b5ec32a342c5b3b768d813a9650118f8057d2520c2b6d91cb30f7cf7d65c2b0f968bb25b1b98c6a645f9e1fc647c6a782347e2c704130f25c8e53b23afba158c72b7331e0d07801b8c645a351d7e3ed5991c21aa4ec50ca8c4f539e00ac5b61601eb654bbdd3a967eea4f375bc3d9157e5f6d4f77bcbf4b455672daa697b450d9a33c6868d7a105ac2a3e3904a20bd95105592e520d073872b116d6ed5937e4f1beeee623b7e69609533946db30bda6373d30ed355d3bd7861c779dfb295728a7bb536752ab5cac98b46457f98ac08fd6a563db251ecc0821bd3a59ed0adab95db6a9416110ee9dc7f9bf002c5fe0ab5bea64a55580e874998ff4c6f94c92ff3f21e7ca729b95e90027b39c448c4625539567a9b3ace90494f1bd81d7b2ff5ec563bff76cc4034c581e7741dcd425b0a373f7835f715a439d2de1369ec1b4d96761611577c518f8e3ed0af5c7efd07b814f1f9ace8aef6c91e32ef1d8514aa2472c503b2acb55c8e6929f1951cb0c21898b532fc2d437a16f3ef2bb6df1f5a2c0c8b1b0f7a258045055f0dbf53bc4f5aa524d3ff829f25e816b950a57676814f86ae279994775c54d90ecb6657723853fda532d3f32c623c547b95f5fdd78d3c92c10855a7672b8a31b58b3bc7cc344ce35f8056b2da353edc3733154f94bacc6f69c38402904bc8d9658f7e8519831fc75853534cb787ce8515194bcfcea28fbb33ffae27f7c99a12b2d455e4055884e76cdc5d014f0c913b4a2e64585fbdf5919d39ac766ea62e8d249037c8e4571d519b4d3530a07017b8a3c4b90ac1331e4668cf52bc5b1df800274ca04844fcabffdebea19778f9d0b0d5777abf535f1c7597cec4fe5709f2dcfa92fbbde3554be64d4177af4266877364cd0dc866560290e92618eb39075c5e96444b60d6f340e964a28cbb6150c68e486be85b3195d659723ab512adbda72c74d5e7c8ec845b3eb6c96b6545a29c2edc85fec384ec39a309f020faad78de12f621edc1f525960d504d484f5cfdb152fd91c18df1ad38f4b037207142d314ea55d9e9bca97462a3fd6ba7c5dfa0b54ccc57669fcbd87536f322995804953739d99eb7072a3e8de5699bc02111be3baeadeec9346cde234d517e45623c7f7942c82215fdfa1abace3fb9fce581aa79d774f2bfc14e978a5f536ef355fc351263716b660880105b278ad74a0f573871cc5c7142bfee6c589f7130877e9392d7e908f90091f9460542b68fdcd79ae8eee128afd612b71fdb0f16dcf77e0422aecbc527860e7d0901cd4df434dcd0f6d467c7557e6e36f89756e205a0d27ccb85085066a792d8dba4de29f6b4517156fc63e16292b4ed6d13925aee3f51447534063036218f9957c898fc06eab722c7291502f54c299645dcf0cfcb4b51a6ffd35e4f00cdc0170b90e242f54e2f2248b76b89e88d0276cad1acf9b292bfeaa8d8578a06272796f41ae55b4b754454d2409dcdcabd46e706f29d3c45d5675cfb3b4779832d1da01e9a71470bf16b016995b051b67ee53cbfa4133c922986b26f7af2c81ba9b4c821df139470d43c90b709255af99273116fa6fc64521c8d354d1398cdaf4a75efc309441dd544dcdf220cbd65062ef062d955177fa9afacf4d7d0e6b88e1ace81cd3325db5ab147b6b9c0a3c560bb060bd1c75f5913415eb192e361df46d091b0b2dfdca250847f11f7a67a89ba89fa679b3a3a7746f48f1104dd9b72a5af8427840c623dfaee70bd040283e8325b53b007ee573fee023ed274a117724123bf8dd63d2bd1f4f9b741e074c787a484a534f5d949e1c83f1321a4d0585933143332a57a88c04a72e5a155c630fcde941476654994c8a1e57e48ba015b99e69efcb65229eab3c39f6fc42e4c22073f3c5d513f903a2f936a7398bb60583cb231ea3aad05ed17b7cd3565766fe8c83e4cc627ed48a0e6ffa6a499e1fa967da99e3002da07e8aa4ad3f37e6c9b2671c501dee0ee0b9bb08aa6ace27c51b30489169d0fdcd7d116551c9caf39fddc5f0bbee4e357c2e46034c27793aefd710cb63723c1d76b1ac82ed61723480d3adbceee15fbbfecee6400e599fdef9b8a931a821f7c89fab53fa37836b0402368d4c7401c7d8e80044cd1de3e1b3d5cf6555527e759b53ab1b82b63443c7b139d73bbecf5d58105ae9b73a96f95c42c99c16a3cb019a9eb192129a8aa51111abfb181f3ba458164725f44c394d01b946934659255a68971a6b8066b7170f904bda816b87c81de27e4f605f66da4b49cd810dc1d7896d4dca10891d478b2d589f0ffe3e3f8519a095d839e5c2db23cf3c7db3266478a3cb61c2737f136874b7cc677cdace0cae16ce96d73a9fd77d6fde3fff6a3b5180296152a0cc49281b6b6d229db241631f8552903176ca509e9b5d739328f2518c59d9282132881410e8cde4b7554812fdcbaa08c435fae15fc37392639884b9222342038e19bb1bc6f6df9a0814c874498a263b08957cf73ff079936e7090d2b560b9f3463344455664d086bdc6757d5c8bd3c48e5b52ebce3cb40d272bc19254e02b2a5026cda56d94ca312126ade29595b5024f96a70d04e9b4e9e1354177c85c36ba71a3d4d8aca52abbfd985b74e95a3a3f90a010a21a43cf0c9f50d1cd7129692d908c49ab7d7a940537163af53622666269f80fffda57f69758d16603eea4ac5238da1201397ee4ccb90b302c319e85ea28761a33ccc73e57b1c04a9b08c7fcce09d0bad9f8ed998d0e54e6839391cb65fb520279f36e70d36148b12c04f9638625055af77954bd63c31410aa6c92f22a2d29896179f834bb69630ec33654a2b34866fb23ed3cfa4a58c7476c8333cf3421f0ed549fa6b71d268c85814b31c256beaf77c5d497adce59109398a0d81560f358d50fc04c660baeacc4adcdb0e0ef3d7447480b62c6d0b4ae8e5af219826d220c0aa80b038892174d3b5e26b5293d5f1be87ec7d589dcbf458f91e884677e40f8a94adf34a0c88805640b39b9980ec1b6518fca598a955ad7a188ef08be3d0a9240543d780f6f4408f3c9f58b42186ede76439060ccfb138ee530a3b1a5c6edd66152e9b41512c48d3ea9ba1895df681ef5546e0bc8681a9a7937dd9dda8a1ba0f2b77ffc6713cf0b18a9be55e8c30214e05d48c9b7c4a1dda752bd8528500302c541c3a5e7eb8dc1e450c2d8f05b2382c52d539f005857aef9dc6f893859cccee77df0d7daca849c8769c0fd56c149ea216466f9d39843cba3ace27f3bd850ad134681c583830b7a5fbddfb1fba5c195983c0642b849aeeb0c1f4eaa9a625ac608dcaf17dc856820642c28e25214389bb8534c851ee3c0bd6b3efbffd2a969afa68e231c3cba21c803a8f65892b87b91333d11a899a4ba0ea06ffd8d691625c78b4a0e967e6f396c0d88bd3290ff5e8f9b110ec3d49097d304b2bd3b8fe7e49323158359813437a35fbb25252f4f05570d78a3b5c656d57c78c16b5f23a8ef0c24d7e2256f03e350df12505c1a4ba9df679f69180592f16bab4e54d225407ebdd3370a88bd721c18f06e69e53893e15a12fe8e78a45d91d4ae429066f34b9f507f9d72765cef143716a62692748f9d3b133529c9e25b4d1d306a2a6d1eb507fe83c1230dd8feac8c26ca3df2869be80bf1e46e88223f7bbe7fefc6eaa7ff1021dff5b6ac6eb3fa3bffcce583151ef3cd257e804750cc68cf8c8ec722576208f4f72c0cca1070ce526441087314f1a4767c17d86889b3aea572987553affa1351f93401d03e3a2330818f37c2ca5adec2e8a9d06453504d0f3516b2f0c098c505cbe3d13fefe132924ce51faf7743b3c7460631f566f9a086c30b7bb5ffe0d2dc8eac667f26afc26ac2b7a8983e7f353e248aa17b3ab023eb77b8810f5b666cb2f3edea4e8da39571e3dd68cda1c680f04fdea8a522d5eb1e60be10f399bd7232462d84a9d2eb43ba538c129f82999fc8a65dc38f1046fe8307148d36dbd3908767b64a087b047483c4d20aa379473950a71440421a83a22b5ded225817d193e3d738f7ac9db1ce5e8f86358bd01381e2821df1d0929cbb0e005a3a2322d2d7b28cb370437d7b95bd1d3d3f88d689237229a9b3e620610f3c758130d6fc86f39b76b28ba4caf9422ad0cca1357a1c825141c6dac59604e3096fb95e334cfe01bc7e72a73a32ecd4c23a78d2e861681700299a0424c7ebe098d78386aedb034907fb7409473e576147783adc42a28c40811ec3d7bc2608a729b6def857053177494fa25a0f491e8a8a0679c74d0f30580cba28162773d6014fd3af54e7b81eff8c36944d4266d1c7c02290c65f750ab90245bdba079fe648f41c4b1ac5f93c9024957f312422210b9ac56e9369c8c21ab8fee909e468e6ccbb3417727b7eccb832da2111c0d4d22fce5ce3d14a202cde9b62ad16e0f249bfa2774836e4f35d2d44a1629779a62fdc3bb11534f63454ef4f35dfe2a803e3d19efd410ae5c95ee3d633616058641890ab32b4151c906a5b1ef784081a0a8fe910cee77a3fa5d8769900d2ad8ae7500bd61c293fd1e7e7d2afc3931e3a5ee8484a39724cbcc6bd6fac211afb24b41b80f4b6cc01b1df21b4741754d728ce3918a21a4f79ae8f69e0f434a138939709e2720445e62dc02991542f4b788bfdc65f83b227d3680a531de9c6b2522abda4e68217f322e88ab68b63be3b3ad752ac37d7f1b87293ab9fd25ae0fe6d80f70c966c61cb63cc2f1ffdd00420186848818749e62b713d3f0fcc363ec2bc3f16e28028c0aa77557b2911548e4f04652778b80e59e13383947f5a3cd5bcdd96513a1e4e3cb0a5c052cd77613cd666cb7aff0903ec5ab10d4f6166cdad4119cbf65a857aa6b679b99ab9c7fcadbda146b50f729acc7c117db0458928fe9aabf75683ba2205062accb9acf1f63a6abebb348d234f25b1b4285e11ad307dd03793a225d89c316dc97e7d72053f5a73acd4079b08c8a0055a2768d01284fcaccaace584b513e0683a93a85fb3b2d1929c4b37c261d8c8290413c6ab6503621424dde1df6596f81184192d6238b5a462c62a28a2cbae871e633c202988c1d98c8f0dff0b3843efd9360f8db51f5bc2370a4bf030b793995770cade67eb210f289b7b4f8754d15df8fab598c825b8ca10bcdc02854be50330fbc8534a4e3a967c67706adf69dbe08e3e61aeaadb794010bf1e0fd4a2c64f30e8c21e0f712e0886bf7c645a136389cc77e012f44344c2b63b4b53f0ea4853da23499a32acb201c2604fd3c1957ef56aab1a22ece4d1d4a4d73bb86a96f8816f71b9b520290ca8dffd23c3d864056cfbd6f5a31dc67fdc147f4433222e346db4dbb26e0b755d782801990ed7bbdd07c8fa673372d3e16b8f830e7c8ddd8b5f52f8fcccf5a16159ccacd0bd2d3abdfce7f7d0c62c1d3216fb6d83a4eccfdcf704354299e93c0cda5654dbc6e551f6198a4ae65bb02240bba56c69704953b521afb1a2f6de647a4ec08d2852d92641aab458603810ec4848aa05085029c836cdca16ccbf962040e1b572934a7ec8a4be6ae7974bb45852c7782da9e9b602250b51ecf5ac4d2c2233ab42067e1494c685c9c5e3a743ada100ef76ba4e6a85a32384810cd03bb75dbae74872e1a27ae06a086ee3f2e6b01691b48b7e4b538276c68e59ad7201462cef17d18eab5fdf0738018c9f1c574519dd49ee68edc9c07875445abb5f2df03eb2009a6629272d9ebc86e442a5dba0a56320e52e33ef61de4c06a424539318e7fccd42e2957adfce0489163403c9fe345e36365a2bb12882b0e0422200419bfd40c6d6b9fe44693df0ea0e607913f23c8a6ad0dd3e37cbc2ef428d7262c4d851919d827973486ab2aaea75ccd057d046d7259c62205a17e5259ed8964410b275b37b9162c3e9084a787670fe7cabfe10c4e6f78bae50e79d30ad8bad29559dfffd39b7ffce357a1e01667bbe8ff3ebfc67483243dac2d4985fcf870e77abf7b7711b4199547088ebc67011da3077ca9ed1cc029dc6df42e47cc17567cd81e230100ff305e3281ac0dd74c2c0e215fa71be3cbbe88ee0c3aaff34cc94e21582cd6b6240191638622eb63578c38710dbe17963f82b753dffc1acda52c9b5f48f9b25556cda45d8cc5f3cbc771c66275448b7c629a4e2c57828b6eb5b270fbba962085cf540580e7193a7788371b8e6e9a31bc8125b6a9e75e4ec668da0f83baa6a3d2cb577eac2eba780919b40cd1d2e6078783cba57fc277433e988571cb58566c6542b9def0cd55b056ee6e14cd3d70041270bc9d6801eb37744a7e43934ae16d590ec3d7d78243a95d27c3c028851f81621aae3b8e4853487cdb0474c20bdb3a52048370b5089f695de2caf7b7ed0b0c91db88900ab8f76ab2df526e0a2ad3285fb7b4f1cc3090c1aaaac3abc6684be978cc8a89eb25b908b7fb771730c1a91b5f2f3905a631705964cfcd00728be9489cb226f7304c989af61ef7cf074e740f3f13a2b87a368380237d84b750b4d38682d3c194c4538c8da760777a7dce8e69fac37b099211e1dddb9908b7a9e0e9ebc5b36cc7cb45728bbd8a5c567b9eb48def1c3cda3aab4fc2fac9bcf61a4b54728c00f1215df9f3057dd7eea111583d02ce172e4f9b37c5ce6c0222ba8badb6de2ceead1aa3e6d8186d165d2d12d3030f1b243fe4b8c2aa5a86d81fed45b29ac64cf3d4e9b4383427a76a2d6368dee4cb28a2abd03784d491db3cbde5f9fafb131660f1b02200bfbb2cd37e7f9a9e9d4be8efe357d3d9a826044ee60cecd20acd76686b5d04599ac6ab880e326c3ed8da6cfd364a4f077147fd4c177bed0e7f64c842bc8b7017a568d301855c5fc11c009219a601b109a8425becd55954c2c2efffc5a502b2c6e57326627a383db2ee147d09ca28c333d411420774df8e19be6cc66178a874e732b03600acc08620e60d7a823b7dfa8e7537e7bb0a4a913c458612ad846855835fe3ddd9fe2a838ed71c559133e3f1ab11305f362e7b40f373d53437a57c13ef1e3540daf4bb5fafb87b8acdaad782cb378b203741830760316d065580053c6bb810950ac50da184cc18b72bee919800ff61b72e9f892720d2009760e9920dcf77b388821838e67464700bccae09039102f94eff20d411dcfd54e6f490488a2f8b31c6e9a89f87dba4c1fc83945d5f964a9b67970651ba64439e2195ddd472288d35d1e70408f3823b9bd78fdc9234bc5dd883933733c08743a40da1becdb86d4796bb2793b2a96cae89c49ec7b6f02508bc22f6eeffae2a61ca8dfe62b59d2dbeed1940b1d65aecbc4ae8d8965a3da6591edb2ea8fc911f660568ff7e3e245b6f87d80cda41ce67bfc007aa22559f58720f246721df8c81d4282219661087c1bc9bde04a68b5502d52e1d87fc3ea1171e8feefe15de31244546e2ce40f7605ba84fbbf1830c23aab8ccbd5d4d70c6cff6bfd9409fd67e1446a853c5719b40d4091dff183394fb12b83bcaec7bd870f7748eefbe07dc7136f863ad28958be658bc0e81e50198fe7c7cea19cf71bbe2bcc32ea73dbe9c8a86f719e9c75af984a77d4b52e231393e04edcbee88e5def9b3de72f501ad90520e5db6c0c66b7819d0427549f30195ae87ffbf77212429b4e93efb8aa86bd6b2e838bd1d105cb60bb8427fcdb176ae7ccd8042ebb826f21c5942d722fb12dbb72f92c88645f31a67cff67ceaeb11d924af47de2fdda673cef9b9834d58e38d87f8797e2ec3d518d65705abb9748b31bb9df66efe2de7a1d59da26ea8daf700bacf731f8f37a0f42f7ba5da77a5443fb3a6e0db63bf099d967f25ce455826721e97ebf19921b9ed94e79d7f832ac7ef7ec466ccc3ad5c5ac7ea255647fa7902505683032b0c2835bdd8adb8f8db31c47628745644da76dfba8a35bcce0e02ea3284028c2b870a4e98855d5cd244e1eeebadb7c55cec6ee0a10b9449c6f5cea82977db04776e1d1dfb434e1ad4084601bf7f917ad8767bb428866a70fc5e007147ad9e8acd21795973ad32912adb78479e79a027dc9f192525a26a7c233f836426d7b6e57ec3102ac4fff45eff7c78d041df05d25798b89c14dfb7dc1a932fb527fd58749fd52877ded93b35d105b5efec8f2ac46ab83b88faef056d3eaabdae1d87dc4b16334bdc0b9e28e3f1601bb5cbe650ceefc86315ab6622b911c0a8cc7d2f8cf4f00227927f1b08883aa67f8676a3b93e8fcfed011edaf7f3316333dd65a02856d54e8bfa826dbedd632c1bfdff1f6fce8054bdcdc4bf8ec81fb6c383d94b4e078f29358150e2bdff799b785208fb10dc09992459f1a05e402792f5f0f3562a94f1a4badbc6e39751c0d035f267f87042e134465aa41208a094374918906760fca5006f6cfd6691aada98fc9e35c3d9864748696b88918e3f66b0ba1fe7df563b3b11e6ef9205ee546b33cca344b2b16736f35cbc62c2d6e13c9dd54c872b8c6e2e1ca6ff6aa10e6c7796ffeb555c44661ea987f8bfe730e29f4e86e0d906838d72e582856c0892ec6dc4cf5e5ad69def489a21df3c8d07370315ec8d15ba2432846ba5f3757d6b9d8c43b25040fe208fbe746c40c39f758da74142d8f6ec925dbe8c0148fa3ede116441b5a3d421c4c34424d8f14e29418c3847900357443d344be8808bd439edaa16238208ddfaebbb7fd5fcf8df238c51a9db98585faf961269806b02b844cb3d514d6a974d738c0ec67e79a367c5797cdae8813950dd4d4a672e9fbc6531de14598de024c0d50a38e8f8249264cea7215f14b01f8920d50a4aff431664dc54a7d0e7dc30c4ab06c9f6ea6fd03291bb7c3e848e169c80a6cd7fb794eb40af2df09d30e32ca3ae2a094d84e68a18025f880f8192ee9cdc31e09c7b2a21ffd0428eb019dae31f5dc68d4daaea5c08cf332fa5a6689abbb7f7f4477d7e113f9bc28e1f8a371b8aaa698c18e37464e3f892e21702da197586f1eb9e3cabd968baf06a7c1a4bc239b807337d18f0acbcab22c2e62678c982e209a0a00b6e999ba23db4af7bc2092d167c4b9d106ebd8a77a9dc2bc2fa6ed64bdee116d48123d8a44a24f64da6efc100cb8cf4068e5c3172ff5b7c548a50a43fdc8fd9b14f8eb4badb3eee7c786663d4505c9522386065cd08e4b387f389b43ae175534b3dc9294f910398ce1b79e96adb3d6c51a50fe731e0fedf508e950c308e133bbfda5638068c6875312af9659295edb474702ddd501814d78b0f76f9e030c38c12d81a546b5bd33ac967279c0516cb260e598d60fc8c700170d095eb36c8bf21398f4b795c65a7bad36c65d6ca8941e1c9f681c0e739781b5bcfb474d3b7966fe4c93c5f6aa1d827db269156e8ae6d59ed0d204cb01279fcdb8ed03cada0a8b42ce5a4a51289f48b2241e74cc8a12441b69315a2f0c73311f7a82a6b834c20f8cdf4c4df21f5d3bb8bfccd66f5f9dc7f1cfd1ade0915242c7151fbbc70eedb00838046cfeb1524209c2352f17cde5cbd370709575c4b08fb09ede8b3593d4dbcf0bc22fdaef3a41ab0caf4ad70fddbb95135b4c6d0145ad5592634fcd3b31054788caaaed26bd6b01c0f075bcf49ba2cb083589a10e7a212b59aaae6c0b043b324acf5956da171535074f9e10bccc9f581f8f74a1f3b223c91b14cb5e8cc07d4bf4cceae860817f02e8c12532823e1497e9db32d924829807b950e9177ecab7737319005ada1bb12b420f0d823f25be1619708fbf1b196d502854b9aa6359fe0ef258ee7217f98e84807d8d7a4d9c88446e03d5893f2d6fc2d562d8a0f36a596a23a99196084ab794dec156868344f2a501393cd277b5e1d44bfc4c58538320228c3c37816e21f21ebda769c2bfdee47779c8bb9f20d661947402772ac5a2cae13797928af11f3d2b26fb32235f83a9d18c1ff32814141776de189b0b4f62c0409f6f13dbaf27294a42592e1c93ae44a063e1530a5572af7f199c1e6ac22b6ee1b64d04f8f3670cef95e3479588df7f8b30998ae6162e9cc44255e120693c4e084bcc5ccc03eca9b2cd61642cfd432ff05387c4b65e9781be9c9131a84df9ffe8afa8636803bd175987b84ebc45d68f17e2df26fd327a16415fb594e3b82dc96b984c19b2ae975116d42a4de4973bcea21fe1dba13749f674a91e19cf4edee68a27854b148e47483ea8edf4a961353060e24cd7d00fdb37cb0b0e6789295d67d800ca2f096adb9cf677737347cda7203aa24a569e034ffb7b57ed7830dc56c1658c8a30223b93a9bfea6f8d2970001b68cbf4f9e7a29c899abdbf382217c9d139379e4120395a3cb59d2307267def592081443c7670ade1bd3c324459b774c74d781c836194d3dc329f12d0e538a0230b374544c8c7035e01c14dc72b721450d42f036b4c89c77b8812c09987e37e0fa5d3e34a5b0de8e2789a25d77b3f3122867332afdf3328a7e9fc0ef6d0d34da0d5159699f35368d1df592d0509a2475fdeb99238079376896fa55e11ff72649f157fbbd615909a5cd8c89936c51f056a2fd3abd6dad511e56760a4501d2dde191cdad6ade2f97df2a977c1bf06049141e613e634eb460bb37945e86a5ed9fb0e45add19c1a20834764064ad32b6345dc5cf889da2429ae5a8396d29a897ca88fef854f09c96db9b8850fb49b8dc1f356e319306c72bb62c7537201ec549829103105ec05e24224fe9211a9ca8adf0ec8647f09da22fc7acb47338678319aa501c3bcd2b9f0675b436e404c5d7a5233d38af3b4ba5890e02903f44bda6bba5550ecccbb979b81f0b163d88d803c45657e57f080624f361afca6caa6cb9989b39064b6aac0b70ea20ac813b9d3079021d690a7fc9a3d9056a506375d293855edf6e6e7d59d2a35b86d7bac4ace1275de5f4d8e78d4970424b62c4d547998907f2c701eeb0e0dcbb2020be9c61b9dbfccc6d1947645b7803f9f65fb7055bc0e48d0b1974d83f77ec8db1f68f6b6cf4ce059ce270ffea585bc450943df33c1387113979aef6ad8a18aa6bf94e28e6fe3726d9676dddbcec3cfc78fb895bbbb41be15cc9864a3843177b7d66e80942c85b114230486b3f38233caea05248220e09aa568531fd0830785b7104a8971b09db1a960bc0b3b4fcedd8398a0898e22db8c0669c71c17ae3a45e9afdd316cac028d248095451bb7235c80fff3557628cd5fa5db73dde932504993b5135e3b585a4e160ec56efd7d221919dfb456d82911b147373322aab341f64b270fd63d6f45cc482d4022ed953aa25f757fa49fc3e58a3d64ba734f850cc9bfa06fa6f4380a858d5a3270a93f836c6f568511d4e1b009ba4eee287ead16fdb5123774f149280e38e5c917c020d60a072290107ed96a161d23abced39e69366ffe7596626728af1479b58845cae783db8f7d05a803121194a6fda57c12ec99c8d0b9e6d08d4080c8fb3dbcaf80cc635008ac1febd1ec434d98e9c6c88824a24086d815d60db361b9b4046c75fa27a931f40a3c120ab04d48577515207e949435a58485049f7416d4ae94cb41b23b7ee6f43c501a7c3bf35d492924fd3d12173b6299b4f6d9557d228465031e7725dae9ad56a31911376ff47f1b1e6015d0858f421c0f7e3a651c2a7734409abc0909fd6ad828843f9da65d5c519e659b2c45abed576bf753df4eea6b6471e02dc1e80eae1b5908d14e8f0553f7b326df0a4aa3fe10e0d3232b944874c6591d421e4aea6b495a9302cd28a41005c90b7fb9fb7e1eb1154334a916c5671821b29210f6be0e199adf5affe5ed49a0a4610bc6965a4dc0c9a9ddd02a8d838fb06775b73c4e4d600b9f8b9f4bd7c8414d96e14a75bc207a049522f1a427bdf52dbb7eb8c70a2ff1666d8b4e6c216350d68a210b8621d3a8ae6bf3983281833e3668144c3062e4275e8ee0aabf9c9d9358c6c9f8ea9d504bfd6d6cb30ce8b3f59aa8341df8e0db79faf4cb5de646b1c09b7957469cf12003abaf98c133b8f5cf3c75f85c2b1872b2009f26fbf97b4881f5baf6743841ec00b02b85f7b716dafb45264b748e6121f36749867f62298a0b97f4a90988ee127caa98598c56491de2f8cf0f384c05a0ed94292e38a48e140700100d46fbdc2af4aab3173b3988187e701ebd522670703c8e248f756462d1e01e2ce3b74ea37b4657bb78b70e5ad9eb785fa057f62377eb0e5565abb9649050f9fc5b353313f87ae71c78ddd97c9cc38923aa602d2ab67d54bd9baaa9e82ecb70ee146e322895202b5cdecdefac04a32e9fa6a8ad8d642c50228464fb864221152e41b094306c7153c10f4ffe4c98148ad328bf5739911258b9716ae1dd2257101bc524ab7f2759cdac22ee35222d76300b4579dc1045e441a87d971e787caa543dc3857cb3ad11d1b7baec4cdf5677cf63c31a00a93d8eefe7a7a0d5ff0214a3b96021f090e98621bbceb640334bfcc44eb2a9c90bff4e08ce2dd3d02578620bc9485a46b091241ca2cd9786b6bfba95fa14499c3360d658959913907ce6b383ae39067ffeb67b7130f5992cc1cc6f43af3f346128f8561bd17a599d60a03dd1d9bd15b9087176cd073f8d58eb5226dba4797fb2b7603084813293a45c8b6c4aa783af445bd6e73fad9e43e37c6221e5f5fdbebfde2dd0716b3d1a7ed9ca84e5037f0d526b0b39b72217db5a21023560b89cac306cb92128ce037ee61053266f09f34f8e2333901615b7d93f5fd6f3e1502e9fd0051bf41daebac71b1dad76936090eb6d37fbaff07204ec0b318bc70162d687bb0d25050e35b78ff21d16c02815dc10ec7d09b3c542c79d6b33c6f98d99e6a635471dd9f3a48cd39c2f57a741fc3c217e7f2ec87967a3bee221d04212905bd546e032b8776be31ad81c7674d5127571dad594bde3844e1e1ccd9c986cf31963fb90d61c51b064b49d79b0444e7610f7e267a123593e62c00bd8cd0daac5148199805c78cdfb2e27eb144543eb420adbad39368586f49253712b087df9b94b9965e3b1cd51f3fc130aab518b53247bbac5e101f79fee2bea62a16912dc03ed9d09460f4a0c07f06180cf1a7375d17bdd4c390a161ac186f315d06599cc1711562bdde8d4b965c3c7ca04222460d61c07ca2b0ae8ab16fb468d879f50bb891717369b50a2766bbcc8e1f3182bc2c2096a024f1e08e7706abc968d8f7bb11a915160ff73c5dba6b5a7852a416e096aab9554b5aff3c3db08b0da89109d4e9cf194a093e48d7fdab1edaf6882d13a62b96394068e8e35528b1fdc19e52c362e41a85494abe3a47f1c1e53d28970b5decc4c244480ada376045dfa1abc8ea95d208b5c09362c7f9dfc7ebc7bae14525e73b8bffc7fa14c6428cef30dcf0a603ff5cd323fb910721bb198a5ca2a5624eecebfa9a02a2345e768d338a00a44132aa0b63e3aea942464422db667bf44971114c2f81cb1232139d11131e9565af5306ad156c86e0959778f148f6b85722a460068407c465665839d97baa56b6d9a1b558b7f1a013bd28e5b3fe26a71202852f683892b4ff817d690e7acd42177954e737b9fc2ae626b2481b4665b0adde519da365a0fcfc252ee8f9b2d8c8dc7707b129eb4a1cdf078b7b3a62d52294cf3794411cf3e62393bc3e582262a332a381d608920006b853247d42eb52ea557421424ed4570a81bb497bca00a72c83ff619d1607e507a2f2568635b3faf873f7b31286a06fcbb92fd958de844064829e5b9922982b0e5ba7018a145b9abcada5d2d49d32f32a3d4591cf1a6fc0797ad4b2546c1b5612a11b74eeeb84a710c13f360bef0a9aab0ac5d3443f668798940dccdc6bf45dba8c6315d56a5fdbbab01fca87d5c012c1ce80fcabab84dfed5f0f986ac96812276de19a8d4e5090791a9b81adb4fc906d3dc1040709447c638a146e178f6a6083877e1670407bb484cfcb21b3d5bf11cfde9af86b1f8246888805d2c3fd885f1530e0d39bf7ecdf7b3026af210c3d49b2d6a1295c3d26013ba72b69862f2b14da372c79d3e818e695e36dde448d3ceb877e4407c6eff4b83d96035918038481474af0ff716980b8effe560cf941006a8aaed39ab37d1004291acb60450bba5d3afd4b3008353563b1ec8f9af712131684aaa99fb630c67211dc991552c50cc79a51e4fe875b5a960d6a0367c1ecc74386b0efb40637df3171750a40346be6bb184e1d78664ff41f3be297254b8c5e89ae489a102aa7c3a845c9d1fcc8d156cfeb35b9bb492e8eb6f70e560d645712c7f1fb48a8c8df54313222e5c2f58014d8290c0581b667aef3d9d4d7baf5961fd41682a2d538b5bfee207a2dac21a7f19801ed2c4f8bfc25f19018eb53bf29a24141bc24192774fe11885d2a4baedd9c8cb8e2ad71a3a5a568858f929030146794fe3f6749ffc0cb56f551a9fcfc39b47bbe2d842b5529f253d0fb13e5ebbe1af9b055cfdd56317e4f9ab85a7e82972af36c184e8aecb80a6e759ed719b83c70055c9734dac89697e5f913bc366d53ca1b3ec4cb7b4aee519fd624912c3371f255afa001844352d4bb93e6e5081495049e13647d68eda05d9e3adac0c1aa114c88cb14e10e0a46506cbd3d8a0781a22461eec58f9a75602d179fac0a9af4cdccbfbef3d9e888e920c5692e6b4f0d0d05c5e5d0dcd3f395ab94a5930925bfa49a206093a7f7d514073cab0debb57f04e072be344ba4e9f1006687b325795a5a58575f152d94de23775f518bbe7589cf271315017572306f0676312edc92a76f60af13a4cbcef155834beb1992f37a621f4846cc470c4ace68880fe3a9b7cac0528f3ede7f9a8bc141a3b81ea7d61f407bf18b9af772d6fe25d1e95f7be93c042dfc8921eab21684583acae0a70dd4bd033c44d9b196c29dafd60e4a9dca36c65a4ef3c946e7ca1bec7f69fd30e5fa7f0f508f2c6f52e14f54a6e4579268cc605aadfaf9aba06a55a48bf7cf963b7d0cf01a1a9069d0eee83e76451de84b4a4e3dba0e787c5ce1ba406d5b70fe8a44556d0248e7b3d0bed23bea52c2c295c75e51a4d40dcd8d410768af9816db739939db0176328a80add76f4e89cf95f4877f325420cae0433da9c99387c352fbb4587731a4363fc1469df3163921ba68a902583677e7a88e9f3f7a42bd9bdbb9bc0da8f7e550f22c8f7a04c0daf4ffd1bb3008921be80e2927c7bf649753539cd273d6256deeea996c584599832086131249fc5f22c53c517029e1b583cc53341870a486f9a9e9a849a53213b62844b41ff600796b5f36c5c4a8d87eb33a931e477d3203822a8a67685aaaadc90c6fb5060fea364422efedcadb91f2ae9c6fa1b09886842c954ef9a7672462b71538e24824003e09257b7be70dc15455422bc5765dc4f4e4a14243055254b85a057ee983068494c871e439c94a0ac441fc2e1efec3147a4c2d1391b071b47398738f85ce2df8797bfa8f108e50685ad07b4c404b9c08eb7453a525c034eeb85a1781402ffc3405b207b01a18c038d8957dea9c2660d0128664b2379abc37531189cf30f68a4a03097c64dab8dde55cade70e42b0d71d96952edb5ec6f8c3e395fb667c2a9477419654f1ab550113e4978b70d92e2e313820a26ec0f19d751de10f24419c85aae5927a1121a3d2eaac1352114ddf19883cd750d8e4a29b74cd956c0c407100e8d8761fd929ef10f7bd231d3b5f8f9da228a76c967416a38b8f35297ec0cb30898b1980bad97136e09a6359a4646ef59fdb8e180c433d7d7d9f2ec8d39487c2c1e244b1932487dfedf8e8d57989ca8c327e1d6b98c901a51830f25f9a50b63c03fec4118a785b40af46850cd92ab15cceb1cdaf720b320aa5604905e896a32a6825c5b44f04f1b10fd63a1b52f63d1fc3f43efc2068d6b11f01c87aa93935ec6662c0d196ed5503beb127b0370c2ba235c1e2d0d77b2a1b9bf28fb1c71561b45df192079f0aae649ac9d2fadf2422c3b9bd82610468d2b1a34c68fc7250e515862bd3244cf96d8faf7eeb697154ff681f1151d45a4e0dc8b0f0ea9926274e8d22c850dbda576e0d1b6ea56e22649c919df4151c4ac4bfaa9320a7bf8a1609da28bd73ed69b0466dc543ad6a2f274f44c0e7fde3669fb5e399089341b0611391933cfe24e215d946917be625afa62f38291db380654fe574b6b9520cfe0f23f19fe73d94d7617aa8c3a05b2eb983132f45cb69ab17de0dd7dfc003717998c312854bbb7a1e2e68c35e0257a762558c357b3dd3756ced757f0ebcf54f918cf8035d6aabcff64339f6614e51edb3b09ff90adf68c9cbb650fce9f6287c074e71abb887b34aa272dd22cd9d85e7842808feee9aee2a6d1a77c53ac6909ad63f40880b70e046bfa4e83f87d1eb6dc478ad069f79fe7f2e2d9541bf44fd2e6ec41dd105ad61052fc2a46feb39c87c35855e3c3300bff140fe8d90de1dedc9636a25d835aaac34a13391fa5299e6bb983e6f48741b9aee7ca1a8f2b4e52c2fbe348d563f3aedc005287e97b947a0c4d1af25a0892ab636b4a38d9bf6cb54dd81d41a9d76e71123cbcd86476f72e3efe609b6a584ad935c8245b8cfd372054d876663a12f5f9bfa75c25da53bd1716a7f3afd16c52d894488df9a53f9929d1c43808821c17f3d1266dc38a23c90c73e967ff61e0bfe61e21f4e9a8bd6d03d82539e79a878f1cf97c8f0d756582f27964cdd79dbb9660c601c7bbcb59ac9777951978a80ec209b563607dbdf9cdb5001734580b3a4c98cff9750d065b40d2064fc10837c581832370615ea5c284101483e2c1e30ed3735f4c0f8da21cb50ace24c0f6927b1b046a7e5350e50d15d0133bb1440b2bd44835be1323a38f0e902222363f11ad523dfb4f599859bd05efd7c088bf8b834d3f5d206f22f0cb05bdc6edfa137381ac30984f40e277f2a4d8b5bee14b0e73e3fd575b746f57b7b70615eb2d265a69812fc6e0da2e9cb21d56dca33f6f1b3b4b4d4f19b53f9b067186b1b226c2220e3acfa9f66ff39cad788a09f2471256273fed70ec53affb8e559cbfd59adcaa45dd4a3150ac505e3b5bf2e9edc8f8acf9970672b7aa8d503a8d0f680b088e7c2d5d37421147b93aa75d5270abc52ae59b03c644516415b4c81af99fb11fc7f6d4473ca2b71bc345f64386d659cd07084b2d6021d2da18c4331d65eaa55fcecc9a2199cc6bf3188a3eaf5d64713f53c120a7be46efd4907bad82514c8b1bef00dd7ba8b9b16a29070bca473b9b48ce9fa3f12837c589029c95111ce84ce9be78b96135f0f532136535bf78cad0d4a099221d6d8de138999ba636ddd420f6aeac897a781064ba1509b56bd668f5bc24370b12ed7c1048b9fe05bbfbefb0aa5a2bb47b9b6ad17fcd34faac5becb1b29c079d7f3a7425ca3664774f897b3e5cc875db776befc5587cbcbe0c147271f931edee8e68030b8bfdfaed4d9c30b61d3dbc7aa899226d6f8a0220fbd72b563e8ed7402f16bf04ecf75d58106c31823bdfe4085274beb7a1e9115c446f86869c169a520c7cdb8a850330ed6feaa2d3ba5bc71b126873d9efef381dc65dc8ea7c4675c607a828d5a13e6583030fff73e464841ea53f75e2a8c50ffdccb9cf9db31f101c7e913a69075d22f5712ad57da12070f7cdb2c4f9bc2c918f0f672d32f244fe219d0bef4e53a852401d7d3486c3e34eceb81b46a0490cad20919b90c276777e25689c8c424a4d23f999f7f93e97ab1dceed72492e80a9ce0459860821ebb070d711dc7d12faa1e51b280639ed6ecbc86dae4f09e99b69a65b747f76ee862cf01e34a141f2be0430be14d3664f3ad903740577b7212faa62e1d63eb2f14f71ad7a233007a5c9b8833c715e2666f90ba3344b18d3c054eca9e218f32f9a31120b64acbdc8bba584b9e79ad85aa6aa084e94bf65e9ab008f179426c3eff938c493bfd4612362a241b55463151aaafc15d7f0fc09be4104720481c232331aa0256a0919d2950c0d050643f35116bc75c48c1ed6e15d9aa838c81f875682e792b431c184192cbdbb1306c16bd90f4bd1055d589b80273a5e109b6144e6272a76f6292e0338557adff64435d0217c719c4a70399f14c94a31b9072c73a654c8b406ccbc58e920681664e9edd77f5596b562f49b316eb98996d81d138f29fb2e12e2088da05a0fa455050c2adefe26097b45c7e6d73cd39d696a91fbb9d0f21662ebbde3a703f477983b75b294984dd3acc3eb5e2cce2a7a5a9ff516284cfea54a6f71abf62c62bbbfca897fe4092605d89e88f6e5753558cded3327663d8253be3a762bb642ae76d4a23f15630027f04b5a064f0a0bb414ee6ea6a5c3fbcd29ecd77f9239c08a8c3fce418b537f73769eb9c22bf06edec217ac1adc4b2ab12a4163c60616aa12fb78e73db0f2bbeb4b3614035110310438764b6bbc4b040efde47259da3dc9a711be66f247caadb1bb548eaa4e358a485f62e2d032cd67d0b88a3423be61ebfd064e39bc4e406c4d942294cf373aef8ad4dd2d560a8d42a788eeb4446cb3b48d922755f2ec8319a229a0af2bda3227570dfc4d4da4891532e76314e16e98b244f6fb95fd5ef4832973bcc82d895ad3886fc4c85de78ce88c7dd0b126ee6b80cfc0d33608cda50211a14f97cc0d3a2a1baad944fd3890b4b41c3c47f0257cc01ebe01e3626b3f604b00d0070a9a00e51ed889489056c83aa05ceaa3f6471aefdd0144595c0104f3ed433bb00de8f35106fc133888b51486afbfec58e7197844abd33a2be3b9ae4a922966f787852d3beef9e8923f30ec9522ac3034955e38c2ffe6133da6393b576dce7c4b1ce2e4cd8278a05239e3f2e3e1f0d018919278d49922d6873c705b8dfbd49e07dd6d2519adb622fe7db1c7216cdc666745c39d60231b044f3aa9bb612f178e909a5a03c94d60dd211c55cf9187be5da7d67e1517c04aa0dd33bdcce2165f05ef19a15ff5ec5aca4bd59b7ba74f48363f2ba3669a1736a41aae2111d94ac54d0e9b9480d5d51e62c6e8c3f22893db35ea1508e968275e814bb78eb5755b64d7a7fe9fa96f5c81c2744e17fa8968001d9d4ad4172996e097f7cd66f75f798858af4040d8019fcbb51bc8eabbf4c36ad3f78f4a6ce6bd6a0fdcad5477cefae778f328f731a73de40cb5899d11922923c2f7831dcac72e57889299356f81b9fba5d1a43eb9e7f2b76fef918f596bbbde83a31887b87b2edb14a6b5770f79c0e5d3006e2604bf517a0e7fc5c3eb39d84d37e8f810bdc244ef7424db97e899928dd6398530385dd0e2d50ea5d8770e2c2c568bf218fdb6ed41dd279c5638bd57e936954221e60c57e6dc1a21fbdee3baf24ea8acda35edaaf1dc77b600b4d3882c50449ff11ea1d7af744ae0f4d52b8e38d7e7a712536d00256d1c7ed5c212b9231ab21c543b0cc2a83a0dc0294b52f1e02489583a93b97295aaeba1f7999802ed15829a3e6273ab4dfbad16dc874fd7ce3fddd92e85da44714a6ad2df8db95c12a9bbc96eccd522a39fb5f1f86272848c7dd6b7baa27269c383232ebd18391bead29cb86c810d93ecf90a34f4793c1482ccc86035d4c9898eeefc67a9729fc5d1a51b2478e878fa91866e8bb774fd36dd5767caf6383b79ee2606a8edd18e47684d31dd7c67f46ceebb573e18b7ad5a163c59ae39c25b55d16d9355c2831d40b4822cf9a0a50c78ec75ffb3685ac9042926e56ba503e34d3b3c5588a3f85ea3339b789064d7de8cfa6b42403a4f8d48aaf0bb97421a7fb0e805d9254e297f60070cec40d3298424b103323dd02448258f20e01502b8710b37031a34dda48e213b8da6b31cefe21472fe50708ed1f3ae6645901fc51ae03718e574049bae916a90de914f764e1f22ea2952258b52474e811917c0638d38a54ee7b4a1181fc8d5764153314b918eee3d083273053ea960acff44863b352827a93a4867397d4acb37505efcc18142b070a22a66ab71c1430158743e7e22cda3940dc958b84612b971300dae5e5903f8d96e43a5fd9681d565584a29f7bcf8076f69e82eb972ba4081f057558d942cf0cac188450ba7de1ee60ef45c38c31dab869bfad66df9092fea5fcc0a0e14d92eef754c52c060bba0ae214cf32737725bea20cff9dd0412334e6b2dd86561fd5994cfc1a524de40a6f8d91cf2e893de65a1b04734f7909063a12ea55cb1fab8b6ad08560832eebf3d00e9708263ad18f23f5c7a9d0e4ffd126228fd14ee35f4abc83d6955ea89222a715f606b5b3a2f8e383cad1ab7fa4b1359d21c5bae780f7c91e665ae7ae56e637c2ba9b4efd69ba0a7506943ba4cf6d9098948e5dc258942bce2bfcdf8e1513ae46288ea1d072f35d9af00ed31b264ac5ba71e52b97eed84137168a7f4e4569b4d2486daf78ce39d6fe4aae022e706a85c3445b5c9ec23d486099c7255b8b6671436c0548f515f9d84b356bba27004fbb2712959da71772655a867325174e43d248a989499fc591d9d54e901cb6e52349f1decc2ea41c3baa37d260f7937d8384a9ebf85d6c2df53901d8f9d276257948158c41b8550dec2c0a32ae853c41e36837216b756d72ed1e56ac448a0cf1b2cf5698459b7a3e526ffd7e88b825fa4dde6c9363d4080f18530d5f47e4624a2a55571e478e4290d25f072ca65252498748cda9b1aa9989dfcd59c61b9fbcd3622ac867766de21cc5722110dc2065b03b0134b0432637958cb9e0707b3f500fee4cf1fae7f6ad7775fcf3ed6820e1c844f2c6f3ddbd9c91715de83a83a3fee66d7b1145174d51801f60613fd5796011d0e7cada6f4a09f5c7a8dd1b00ef10969f94072180087e66309f14716ad12e5a908cb02be416ee6ccbdb04b8c58646aa4e6e40c0775bdd8af4153868a8e5debd093bb99bb85b9bbb22923b9c92ef6c515a03cc1f94dea789d133c32edda1ba372caae4fc99e672be96c2a871bf4b8914c7b8e8ee2754d81167c8c5ce59a56b1138048e980fe53e551723c29d59d0f900a275c3afe15bf4580a6a7a8a2a163848f94230a6de2abb35b4599125131108d04564dc1124f33f62bf7882bd9f6043403893ff22f1879ac7eeba0ea1ea0587ab9804f6418f2cbcd264639d7f59a2dfbc3d16c41e69b3fcb1d24c4d2d49657428dc03de5704e24fe338b469590d540fbc80b10359226e55aa303e06c90974c4e0128215dba6a0548308dfd5d5b82d178687dc249e7e089663552c24a42b1f6385484b7b36b303803e3c9023a4197fbcf5411067550d47479366bb1004016a8cf7f83ee5225586934c3f2db73f77059cc90a3f67ba7d7d4d48c524c8d972271cf50754451c0570c3b3ae12da19c237913ef89c916fc371feb66a80775f9d201f3da0dc75364731720103a8ba7d8432e5f2485a5140c5696ebb28a2d7443ac2a1cc35f7fe633f2dafc22e54715fbb0045108163a1564491f8f7c0ac3d0bb89ef30a375f69cd2879cc2ec981c3381246ee69a59151982e620982432c7578e909214bf6f0d16f7929feb218ef7459a6483dd352f67af6959eea09a32c36ffa2150c2b472a6200fdae85fd265a9eb8f1bf8d44e80853cc53ff094aebe4a9988ac4527d8672ef1a44d597e3fc24c5189d2cd293ce24590f4985861149aca62b629cbbcdcb8a76a2217125c6bd00df2b19825a44ec4de80ed0dd4293d6ca4afc7ab1d090ccb78d3696a8a675c822f6d318acdb692aaeb9f3c1249dc642670b44058fdacbbd663e41689aba3435053b0ce027d731dce5b483f01daba3a438bde7f2b019f68204467980f0b3a78f4981638d69a12958d59afb16bc9426a4f90b313fd5b5c48b656c57706b2d4c376e4fd968554050278f7d6f8ec036b292e8df245bc93261c15686c22f14d983740e2b0513f41fd64ec45003dd094750e8017bf595485f3290eaae74ab3cf482a433b5774d2d621ff51d2940d53a1c7642967320a06085de025ae0aba1325026a87fd92919d570dcee718485ca849bcb1698b3bb9acc3fa735aa3aaef21e000f96153ff3d09b2cd8a445c2e6ebace72a318646b7a9f35fe8142c5df96aa53c4709c6a651dca047b549e3e82198803a3188586bdb50ac978a02c6b219dabf5d5300f0f9f6bc04b858146f4a3a4170cd50235608c86aa78f2e0e1a3e56cd4bfc5227eb663225003ef1cbde8ff56c56f031f8af106d02adf07d73bf13613f4376a07a315855007b53087924857ef6682270d6b4688225988d409c3f4e11d8dc6361e766a2b9f938256c1eb45be9d0551d84fcd60a80ed6d1f89ebc9e7c6bc8cdf4e314f9df6a8c689323c41873c783c4b6ece9de2e48829569c3516d2e8499f0318e543f73e716c68ba55e85997b9ddc204f7eb73a2b015753fdf8535b510b06a6ce99dd67db28568206413d80ad25e9749138a944e24a5c5d302e438086f166e9e2ef62ece6523fd609751605263761db47c150590c0170812122096cc35e17981f63155e57b536de3cea7900afd4feca5a994cb08f97fa5a0b3b921a087089c652c946c7d4c493f5243b0f32bafc14ff134ea651e32f83133e4f94c02d761a1bc62c86f6597c38941afdd750f41f43cc90fda932f548b1eb6c1799cc5fa6200c3e65b5314b4553574d847848d2db72242ff33871631bca0be648606cd82617e353035b7c7d3026b2907171bd90b2d6cfbf1d80d007338e099e67179d64210d15f605ef8c21982947924d473d90c76dbbe35752e7c0d1854c5c21ed645c6b03bddad599de4ae651afd4f1c06734a59b50361e928654ee8a9b2f074f9d66aa7e4e900e135ebab7cb4153e0f73269cf4ca7034f2031157ef13bf93c860cdf27c73cdf9f696106a5ad9fb24b4a3942fd7fa6dd469712443f5b410e5ac39fc2c0de07e40f01aef09e3b0f987bd9819bfed33403581e44ed749493f8f3e8e29e099afc0a4db93ef3fbbf99b40b0fcbaea2085b987c655f10a13a622f353563e883d8c47da23e0fca2cb2ec1ef1ff22b663575b76244b28c98c086355cda6d488e07ef60f4ee0062049034cbb08460244b4ded1a0fe13e3d960002ff5183d9bd4f1e54e23ef84d46461a5f0fe6506b865b4d14dc7f9336e60d296efbd74d10dd055b8dc6445d1dc1a174ec08e3ee69e998856dfc9a3e7c857ceb39304c4d6b9db4960b68ce8b00d8bac4e1536ce353af3f44bbc8aba70a8b4487a07fade19fe57682219b9f6c638c602e7df4fd464bcb974c3de60a974d7415c0e7361ccf894485dd9058e41d48b9e0b8fc0e0c6a7bce8070d07531fa6dd122ef9abb8eb02d5e68051364698b8dee8551498ecb52c02a33593a048a9cc9897319f5a238d8934f103c3ae13f72abfc1ffa116425edd9e6106c94b8e9725ace5573897caec4d1596c805570ea9de541209e094771c5177d55d48ea6e7abb43dd95f9e48c94cbde73163414a26b838763b554783d29baa64f657f8b84e9e254115647e31de816b4afef21a146b8db100d35f096f5342dab575fb30019153496f5a6b20f9cca10675dc8b5ead21dd1e96af48c2a56c55b5450dc45ea2422689f4b3073d12e82cd4eb661cc46946a4f14596f7a0563a087b652e0a32532ba596fc111f2342bed364a316d870b71ea0e42e6cf843db6a02f425adc2220c03dd21905fade616d54ab6f50cbc06be08ad393074fd4daffae7b1e220cd32f261e0646f843205a43c220cfe4b11cb17a54125e9fdc9f50ffc7e6fc3cf1e9a14fe6a4e49952bb72a31b3bb0679951ff416735093257b8ce02b202494421b09eca868c1d9fa008a8c7a49d6703fa1cafb9342e1c58380fda6fda3dbf7bd1bf505901846357c2b62874252488a72c63a305ec361d5fdc81f0b87e1800965e43c6838b2c0bdefb51b03432cb3938614dd494f8730d375d7419879e8e96d9bb86cc541c15ed229ba81dd560ba424ded96a3d3954cb2c015564246c41cc4305a83a397ee3665c07e45fe83f6519cc61edfddc5e1d5a40c62bdd5ddf4b18ba63a0a69c38a88139f54972d3b49d427dded29fe63f51f68ad90062214512bcc8e52dcfdfedbe1c6e40bdf5f322f64c2edd091165e63f003dbfeb6e472659de34890f7d3120ed350ea0cd78afbf4b5a6aa5afec491355948d56eca5638b9d2ff160ad9ec86c0124d92457ffa185869b2196f66d006d8643a319136166950433e76b469d1038e19e797d2df48a00ec4fd6fe75135058c1f6301146563cf977570c54547d728349af303f6fc27b818876de5ccca0050badf40f9b1a5977d3da5ea7c028a4958743236a32a844c399d32f677c89f84e5638ba5af28cd9be55d6fc014a060ba5f5127ff15db76ce88a61c095ea5d30efe6af676a35c605b909a58fa766a37508fb6d78f6ed86002cfde389d04e85ff001afe2aeef3cd86b6880865ea0e9582818f4e06ca142fc64a6b0abea757e44547e35c02fad013412c8991b9f7f6ec212e43265a418d42645112dfeed0dc6db53223084f15aefee89dd5eeb55d2c602327a896a3cbfca8ef940c3b02b28c5c2b93defa7202a80407399f882fd6a4f7bac80548591a192f5cbd097baaf0ed74f4b202788e00b92ab7edcca7dbc35601c6f9a11fe7c4d6c0a6b2bc6cb8f2d61e054b8fb91a86c88f4ffc55ccf340a2a797803068873fc1ea1bb33b99210b7e327e8872a8b65f2ae43ae2792997b0d00e547f718ea6faba5610b79116b9ed42cf0fcbfb77c2517e0967b35e1a59c2180d5a73661379cbf148ea5082948817cdb93b6b425b09bbcc564905b9d1edd660bc8dc778540ead3a1c00db2b91c728a33b8c82c31b210618b9440d42e3721b5dc51f39652b6e212ca6f5595cf787f65cc9239b4d70c8617b7a17b9bf3ac0df6f170df322fc8b66f06915811e0d30bb5ae656bfb810d08db331514149116150f8a6574cad1accdf0f66ee136f18b587c8aa51baace0ecfbf17870dad4128146a1e07d3966c94cca013628464ffe5ae7fc2b737deb4a4778b603ac4f4aac36b8c794508838fe4bc8ddd84e1d3fdf486a275a649457efcfcdc979485b0b6b29092457975124bf318bfb9c7f6c0d1bf544f864698eb0de90425c3a74a77cfb729a25e9a96c1d4b038879f501cc0b61418205b64a182047c3b336c4a89f4881c26b09910d9440cd9728e999368ee909fb632e43ceb5d6faf47cb78da4dc66138d0b54be9f6b82bdf9655950ff624dbd72265185c142b17e5588adf30f1c6d548de7afaafe824f9271b860044eb900c40a73c8aae199c7a919070d1f42a565729239b65a58be948b1edfd7970bfabc4ffd38999135b97c279c6727ed7203ddbf943e30aa7573f73e9559b0c17694c80ffbbeebbd3210a0ff7de3f7bca9029ccba10c982b66ae0fd668bfc8bfe37ec1cf635c55dec8702314cc165d7aa802a78524786d33ec893a27cfa1eae5554fb1357413427f0eb876587744d369daf34a2e8fea505231c1034bbcf04cc0a1aea61e811bc17897e0da25cf277f3a1ddd567f7b9a15187ea13579109b8e2cf3ed35f874bc0ad352786db62cf2f2a616c1e2c493170343c08306e4ae30b480cf6a02bb07689c0c1cdf41b6129f1f6e6f10e28a8c4a92cebe76038d81952d25710406601f577781e452e6e01922652a7511fa094ec80d0c740062bf8ca475bdaa51552cb2b124cf7981014fb26ff093e811f0a7858aa06f076d9f89ccb45f342164ac28be4b32ea7d56aae4d80d6c69939a40af0aa153d7bb5ffb2a2dd048c08dc03321ac59d909e8174ac965d98b8da1d41488c66d7f185c41629ccb0395e7430ef694266b1d24fdcc07448e0f68f3dbf3eabb04ee8d9096b252a13fe1cd3802d7ab855bcec721b464c8f5925589d28fe1567b5d2873a722eb0de49d34f247c8807e89bff5927c7faabbcd32289c83961228fb098d524baaa94101d3b7c6ac916e21b8767bf69209c3e16998ca377f7a7b1dcf3c03e3778ef467e6561c1c18cbfe7fa10a313d28fad4696942ffba08687ae6fe89b358cad7ffed9c313cc67a541043c4bbb609977f339e48f8d1f8cde562f661901bd39854b8af33852c3713f9d1ee0588350b4600ea97da663307a9fa25ea526e1f47d581f4cb13f4fd6170a39ff7d1b411816e6f5f37cc8c14a13dfcc4d774e1d85cb0a7a989edb907c75f87aaf9a9018796f6a27f29511d3da047b35a503a8b6978714f7884182f780520c4b66c20e549f347bd91eef78b6ec6937958fd7e57e03bbd3d171f461440d8549e514fba85da2e4787d950ab66c2c95262d0a21182ba3dfdb3e9a875e04b3ad6a5e69be0b528d0cd514c50a1108a2f359e3f0a761937f7112ff87b1798e5f7d8bd7ba0bdb7c53418128b2b3e5af05649c49c7f08828c31bcf41b06e052e10b1f6b454169cff59efb1b02def067fae0b134b7bd5544110e984fd66c8b27ab2fc49050623cc17e452c705e4d4d17d131e749bf94c42644c16a3dc96abef16c7331a79a45b64401d60bc03e72af9d8ae2df9c31702fd45daec9087a1e7a2c1dae7d33c916e616f573392af199a4127230f54cdf85b57d7de1a20aa438854f3b415b352edc71abfc34d5086b3e01a36fa0f88d3de52a9045670f9964aeee62c6aa2fcf50bc46638e32195be36c97f2ff4a11a69b04fe5966e88872cd34f373b2f7c16f88989a338329e46099c860210a165e2bf7defefbfc894c87a07a2bc0c637e1832a6d9c16c4e36c947315ae2c7e8e503bdd188a6eaf31ba1be0727859ff5ac9db1e54af20face100e5400788b851a66c0677487222b8b5a8ba69bfd28a7d69c417799b1551ad6a7fd606befdd1fb41e5ee0f9429129aeb3d10205f2a74d71706723f618448167a4e8b483ca437f884a9653d6391b2b02b0d046753bf80624c93fd4dc6f605670a26620ada4ec23a3295cf821b135313a0bfac07f8bf9699b74949393b97ee56e2e99ce2a48cca91eabf5b99817a36d5bf7a897bb814ff2684ab3e7d0cb8cd4d6186856b6079bd0864133609b17b6d21eb577c45c8c2691a40a12caa8e724c25f2ad2183c6b3eeb1c65e4c3480278295da762057e5d9a166f1d9e2a294ac8ae27491028ba59cef126af06790c13116d51ada673c1648d30a272a13d6b764d3ce2891376cf4f83ae5b316ca436b284199689ce41a2f12e8dcb113ac4450e6d6016c8e691571aa07220c346de1338fa4649be48d7ddd4d090333a7c7e08652c988adfe34695beea8e1724c90934fbd074149fe85264411661c99dcbbe863f2f80e2e0b7464a5019b84b09013cf65d6fe09bd472b5233fcc2f20ec5319a5e7365c5c6b6e4b9f6169de03cb734b746bed6b1cdc765f77a0cb2b6cac4d5ec7e38cd69bfe5849fc62e8f08383f867efa0b4f844928e6170bdf4b975481a95a8d180299baef027e83f9098c20de22e099e02107bb5e4692ccd3f00d62538c82717bb286093392a16111dda8b003c3bdb428ea7a4eee935ca6e2ea6e9dcdb764b044b66acbaa8901a9718150e699f4957a51def78847d75a5651bd663fb5bd4df879a8bb6497f1ab08c6e7007b3c260db1ea5d9f75e15a29e82a4d97a3e0962b2c5c1d4b55dfaceced2ed3d0692fb30fdc4a689a01025c35fd59561b47eb66133fd6799d2454ca194b0a96fb0b29ae9fcd990366b201edd8581b17a3bea1eef6acd1c23bb934fe06098a851882c0410dd1dcd18ff3fe03963bf040e67060af8f0ea77c4abc83f26c799abf4de736e571cdbacc1f2e1ad47d4f590990daf476f652cda1fb9e704e040ecf4d40edc215f0961663fad12a56b1edb67327efe3d6ff9939ee55572eabc2d16068fa513986a9f23dfa66b633fe2c572eb2c8c223496faeeba0aa384e712fd1d5e5c1a0b6a4260ec8b6cb3604af79b146f769d92852bd80f6776bfd9512d8e974d4a6e34ee519396ee2b7d1104deaf4bedee9d71ccf2ef5f9aad0926ab79aae858b615118cb14b590e6fa95c1f1031ef00df230e3486e1e38d41b1d42fa1ab9394c83eba1f088591c887c613534c3e6245a2435f0aa17fd70ea37f0e2a53640740fc02a3214641e8d9fd88447dcc9efb51c1fe99c97079a808072d1ec133f6ef92a2a02ad3570400c09d489d866104811427ead57bbeb69fc126666506d1192507540c39e4d08602e8f1053ee63fb7381b128627df721b5bf121f4e7b10b5545eed1673f553c125e619090fe9ef11cfb12d21b3381f51f5f7f283d3f06c9c30c42b8a3262504abc31cece4a2ab8e43f6092dcb1fe43898d9bed21425a0c05c4f8278b4bc572e909805d6230f7dff01b4dfe0ad487117ebcc2e9d7cbca78f0d1a736373952a4cc41943cd013323e2265dcd85a4a18c1c78e15010f0b02ddfc65ec262aeaa0b85d7675865def8a2b749aeb98e469372dc8688a9487be74ba8d95a3d4c24d4c21da64837728129f975c50971b0a1b647b9c039fe8287b9d1d248521ca1eaefbf6ec4d53f857e8b2230a1d9fd988df3648da8a7c9f1b129cfd1332130f93f9e711130c5d506d3494d74605a0482df4878cefdd0c5801751efcd80542a3c003ee2c5a617a2dff9b7a1f4dc3f2e01578e575d72e616d510684ed051a9fd50709e082981eeeda8b5b03479cb86b595e9fd1fe1c162ff376f56bf245db168bf0bf18210d63c56ab56ffab8d5d421cd2d7526dacf6625c782fe1f5e21c57b1baaa7268cc24c020b8f8b8ad0fb27f0a76d3ad20d4fb395e2234b72dbf46f92a892af07e5f152967380f72c611d55ef3bfeca916236c3b260327381025ec8d14255f7b4d225e2740ab64ca26f882a3832cd0a14c177fbf85db70e90fc4f576c846fc49687ee6c95d2480780255e59f494e4e6b7816330e70d6f465eaed13363e639ebbe88191a0f611060872b30e3f902975495f8ec9c9c6e69b9a0cf8738e40b3a87aa8591d530d0d1334359c98dddd14d007b79d7077d78274b5911c9821b1161de09b23b45b64aceae976f508bb8f0a910b3b76e5c6585af4f39cfb8e0c6aba1b42fb04f1912de6b26d9b77ba38c48a3d96277858f8986c9c7fdc3a4a89049f84a12364f1a1ef55211d3bf3ca836b18bac017720aa22500ed65d6bddde5bf57c59ae8040ed37b107375d997ea1fee95d20fff030a200f926683a18ae6889cac52ed0cdf8eef3c966d16c7cba23cb5651c83750589efd4141f19bde758d156f78169dc9f92d86005e5b0063fc79a4d2a6e7e5a5ed10321503e33ec0209447f7fca5f910e8dbd6ed1e8a17472b6a9ae54606547a83f2fd280f64705fc44da113b9d014f1ba76cb0fe25195079a307829dcaf4557e611638319990c54af0c9268deaefb62c9d9c8bb6785837b5542c900df816739d48ff001359c480bddc77d2f1b1ab42cc3efeb039b2b12fe45ed6703f050f0a9338f54d627d43784030ee220962ae837bc85572577a144b1d3dc0a9e52f57949a0787339b4a76fa2c432f21ab2048322284f53183fafc2c0e6766149eec0ebf1cba97de9798c0a4ed8a6ad709b981908de3b8740ed911ebc6b05fbd2b91753cba8d73e4aa681a596aba5944de0ae104696e4b3c01c5292c7243cb7949aafc350a9b2dabc094b3085ff673b41c9c3029a3b97442c04fb32f6ab111202e47805cfddf0e16eca9716bef0b388fc4d51213a17b2ade501905018308b519e98715cf9e6bf7391151ef39e6a4e803f378fdbceae2d3e58c1bfc40d0c8df23c73eddb0b1b868eacb419f4c4f362a51ced3054cb946489e75daa74b7a4cf9d0f0632b1a5454722d5b5ea10b20401946e2d96ae072cb5b1072d0c9f8ddd7c60c7969e6b2ca0732d47aef36c05ed21901d57c76f755eedcb25c234ea1808467992320b808311ade65faa00de98d20558f79aa1dc27ba0027431d10f43d554b83814534e29a40015cc3a559253dd012232c930b363613e0e838445ff5b8c70193f3ffe20cf7dd70975420c488b5ae179a8b30e974205e65156b9344cac30320f8bc5dbc13eb0491d3c17eb533d3f09d9da70d3b9c2b108644c362ef58b2011b08876cf53c37f2f68d26cbc01b6020f6b51dfd49ac7e0545c233d6055d9d635d810b110ee93ca2fab5c63cde8b41606899e010c3ea208b87977dd5c87196d5c9f853caea7873ecba4326c489c4e948a5ebd5e6621db59642343fc1101b62ae0a13f9de19e33500f06c8d80261b69fd6d82eef79072bde12478274ebfdbc9a61485dc610a88e1b9ec3aa64f3aa3f3177cd8c94becd32a11cf3da98c8b1d0d1a4589555058cda4de4e3ed8a3f395615d97b3d7a0d0f77abbbc7cf151e75e3a923ae40fe3e371491a7646ce623ede79a255e3588cf5ac49e4dbb930f78a142b9ee8cb9e634c3399c8fa5d18632f57062c10e32745aa4edc602a93adfb931d81211e506b2f494b9605a86346eabdfd3dad7d0910b5c25f5b9f34b34dd806f3d77356450ae83464e597310788b86540ef3066ef140dbed4b15633627c88b4ddd931abd73741ce84a96b775fdae945a8ecd12c4792b8d1daafa8bf4aac80c333b9940c8f7018d36e84502a20a392c5ec26bcd532a00a13210956b8cc83a47759f9bf66f51cd99c34f4e608e1e2ac4c51baa26eb506af7cf8381c808caa8cd4fbe2e4ff7653494ad568c1fee3de02a85d04b944e570dcfe24154e55cab7e9924ca652039f80d00115bde9967f0abc7fc51658b65b9c7e72ec5d1b79db4c7c6477fe8b2a9ba4b1445f647de1f6995d099a64a75b6109e5e85f98ad338d2c51f02e30197b93463bb2720a1a3d37809e57278765133c65c17b5ac5b7e8e90d2ee99d3265d75c344f2e4ea965e746b870f4789d2feb87ab7996d5576eb1c40dc506b5430344ba7d5ad0984fda1193068cf7b6510ec02a93acc16334bfd285e8508830d3f441e55ad9a01dc0137d06b5949f3c58f429de972fcfacac3ab8ace2fd427da2338209a767907f4de07ca1f618647094ec77d36506884285c986a960b25c864e40f520adda94a00ade581d3ede148142c21faf28aa1a6bc5670d22bc698c65fa697becd7f57fd4cf92cefc63d0e64009a53e90c377bd9fe85d22b345ca76cb2f85031195b82e9643225b15839a9614cdc74ab8891981c52ad3bf2b0d02b42b91cf4d3b69bf8c7f4f5aea751df9ccf37cf6a822d16e1f4790c4abf0ce51d4117094982625f57ce21086f5aceb73bf35fbf3d923fdcdaab38d9c7305d42717ddef5dbb7255340a143e427c6bd2f5ff48c370ab51cde2f7f2b06863cf5cac5b2e68773e6f22e0664e8a2cd378f8dcd852e38f4bbd9f478ef1502d63971a6fa2d0aee34188dc8ce9e13e68549fbd305239ee63a9a90f59d48e5c030e42dee05a9d94d6af95ce4c703ae09b7601970a354f374a259cf62d8a0269eca9e913baf70b4c0ed78468ef86cf5bf717c5892f76d8c4fd5ae49d26ae491df352077fa3111d7e367bc843d0f4934df041423928e79c91c22f7f109c46d479da3f403a35e15fa9fd551078dd092c488a36be198835044da57c65f4448077990a71e55d45f7e173118cdc3ef5493b74b588715568a1752a0cec5dc36eea7f05fe4a0a7b28fb020ac90fd786b005ffdfe9d083ba98cfc29c70ea7e9bb20663a2cf8b9afa35c4e5193da3c1c36b04978e0c8896e27a973d07bab60fbf2568b9ab66fc00173c176c8d9fa9b5003aaf04c8b680b608427187e2fcf0ec2c23dc74003c7703c9c7458b1ccca75ffe08595efac6fc70141a9c99d0dd868997f9174d3f1a09b0a6e3a46c2494eeca81a356162d8981c74ad6a7c99cafd4004f4a728daae4da05ce3f320ad8c43c3011fd8a21db5849798dece6ebe2ddbb74f3646daa121dee7aa577f89a683adc9fed8894c5c293e6e831ba366e14f7e0b3963eced6c48b31fe54d5e5fdd542af0e810a1bf807a18e41a147c98728a893beb47feedf175bccabc4842a94feb9798b8c7a75356cde3ad65182376d4cf0b614d65d20db170e5fc68e8ad89e9d974836ea6bc1929a954d0d107ccfe70d503afd484643ae6070a8d90c558a46f58cb95d0f2ab4bcc37bfa5389a8803d99dee9320613b48e369bc64a2b28bd57bf2818298620ca9d3ea55d2f77efc2098384c47ed452927d6c9d12a50c4628f0dc91f2a91c6288a5a9ffeb60c126ed0b31a293e6a970f0f2e567a792dfe0924ca8a58b15401a01ec57458d8e50d14832d872d241fca93bc71f15c29f61abbf1be612b858a6c4dc783044d32b39086d5394614f0a3ed5a2aea64a705bed7f1e37f4e90b3d29038425d05fd627a922db20b766d22dba80668e630dfbde7e81f596675988663c5dfb7b49cb0e582d924113785fdfa74508062196402f9f31fcc44b0899191772156d1716cf1828ff4e073b37c2a188bd1503af155ea1d1329848a72c56ad330be3e64f4e49ab1b554f0af4936507e9f72bb20236f3c0a957a65307db217e75f0cf6a39f3bb192d3644cac0d4f5ea84d4bc54e4817f9f7ac67ad48b949a46d3e95b3626c46db7703be15902877b59440ea9d7c585c8e1b2a0a6113f7bb401a053ee612a0a6de9f0e4c9e06e5a93e2ac7285209e684e9ecee7f7f3c3da5b71823b838fb167e68d5c237be741aec0e38c0d07a58eac3824f688751995a63841d20a07ee5961d062a0ccf6e4742e13fb07fb7c587d3c9fe3f40e09fa44c8959179deb1fdae2f26df87cad91d2581199994e2e0b0b7d352a9a94708b8bdf3c74d6e276d2963ba871e2e4be5dcdc6f322bd5073a39c3af193198a66655b72032613d1fa8c9a8d6b1b09e079f8c8cdc162ac9082883532e294817a9ab955e78d707bd407042d465f161d461f592ca07b01ed0cdd7ba5ecc3b3a608a732487338681891c31fd06c308fde8fa548064503da26cd22ec076cea68d36d521678e4fe4efc7ae90a64d6eed7e10cc3059a47af1ffbc804fb2f072ea16277918fae9a137c54487717bd7676632837dde7cbb22abf83f2d1013aa62ed31341ef12ff32fbb163383034a4a8630a6583bf4de33bbe04b7e7eda13991221d3e4f8a36af732c8bd9202222a397efdca6f904267429d216f97d0922e4306f7bc7b4436f3de3f860f219680bea9ef5db595585f45e5c9f2474a5d762b0af5d6d6a36c334aff8238cf3434df10e2393f88d3f26cb4d288db878ebbe41680a7312562940d32f277b1425e452eda0c7a89c108f5e67e4d75c325a0ffed56328c1387fd4fbe2c94e50cd6d87f9b04eb5486fb6b59c1891eaeaba3324ad82ade60b05555dbc228b9871ca0d851a366b9ba312e3f259c5e3445266394f7c6d375a6bd9220588e41119eadfd97fadb6a5196d725d902d964550db8e69226b87c667677d0a5c1e8ca908cecefece6f9e393d6ea65453ccd84072a1033402f38897c860771a36cbfdeee4167354e7473c0264b7d18865197af0dda80a4b04f291734bd2df1c81456721bc2ba0933d52da53c1f1f3077096027b6ad2938a4b611fb45438ce1d2ecab0c0d6532a3b5acc7ae74d4221eca8dd4ddab5ccaf54a1bcdd1f1d4f495d0951c4a37bbcfc8bf86160abb8cf8db3284c1c0839f9455c0f8fe9661acdf8a35cf7b8ec825776d64d1cd05eb57b99b0e3a8ffd0f0d2dc6846895d7d9fad79c400b12b93316a0fe421299e7511b2d2922b47c574a065f46b4566094e2a1239d59d134890b615d88a07d491a754c6f7c988f95c9c79a97d4948786aa263c80991d1d693d089358e0afb664b7af96e9cd2f9521aedd697668d748e63fda76541d8f2a330e3aaf7a208c9701e3e166bf6fe925a0497622d4a8a9cadd3c42fc798a4143b11b65449b746d2840ae3647e2864e5b2604056ab72838adc30d29c5d20af9c869cd00978caf2867997e96071aab37eedd104a4349fd1b0159cccf9afa93f180741c1e140ecdc10a25eeb93f4a9eeb3b4bb1555f4f3184abec76de7d24ce3ceb2fb0429a9a8de1f3638b606fbec15b10b0139112f623b37c976c575cd67015e71c8a574d30b62bb1e0b4708477215a7a6c927944680fcb6a4f041599daab65aa876009dc3c944499abcc1f47e686e5c194c93b0fb7cd97a983c7d32ef653e323a525e2096b5fd3d8e5af7fadd9a07b287199b844ac8ef24d146aeb22743fe49289474aaa68c3468d01d56974e812e00ddadccbd3112f9565bb9951cb08b0bcc9b948ec7090d682b751ae69fd64f4981c01ad76f962c51a0446bd20390e990f540b72b2290cac7e65456f6dca399dd087e01a0858d04938591c26aa89f2503629b59e044d927cb756cc4dac5587a7d434fce5df0248299cceeae3a32e7b7426e717f5c6dadb9d27ee42411bb403a1f515c42a5bf1c6fc9a2a552e4dfed23179c103efdbae905ba90c4d8d823d7dddab41a09d745c89322e96132766a749ef240d3881bf7721a355127a0874df88d21674f93423f58a2b89aeb0be34ed5ad84c79519264046be898debf9c1b089805b764ba6bd691d11b15b120597dfa3a2db2a681a194c1f3b51d0105c8719845270d0edb3eff5caaca1638329040d5f3fcb87f523d556f86ed27302ad1a90dc517bd2d333dcdbafbf7c28ddea7452a893030db4f5c385f58cd973bd79bd4b58671d9dfd49aae99bd355035fda4c2f46a4eda75c615931a9d7f4d99d7da570449e43fc8ea97ef7c7320403726b17925dd21bce7433db4399a89be41f1e7a3e6ece263754e0fe63aa60a139fd1403d60a9524c1638d5e2dd24c48fd18fccd790806aa04b58f047a391a76505d8d85e540aab6d8b57e3032a150e55930227c84709b3504e0bfee1e3e6211800991c007d3696edca2ec1fb63194b7a2bb0c0c5f0f62ae52395538f720f264f0a5353ade8fd248d16d99ec50a47b91cb7a7a234fd1ae423489b9346150ee4868b0e87a60adb5fe7c6d667ad7b2653c6b5a3115a4662da5e63e47f8ee0555a378591eff52e859269c9f648ab5dfd64f2cd4d4cdcf540be62291535eba19abb1257bb0f8940033f4a9371f4b4d01227db3e74bed7958859dae5ad24c8c28c391c973c2202d226fc2a1c63852ca527f6f51ba8232a52352984378d947321bacc82d4286fd90589e3477d8609896937f8209d96ce1baaaa73c360c631198ea8a62d016a61c266a2f2acaf760f31ad4b687324c72f58b0cad250a788e3765305a54dca84b416dcbf04bfb5389678ed13ab73a86b1cccd5cd2e549b0b4c024754e1172945f459a298143a5039bd8357d173f92011e48ecac8a4354cdac8729ef08e0d1e7c33773f8184cc0a70ce6fa7d45dd9991550d2e36a106fec493e1ec5aa627bd44d8f31003be7522858625d66dfbb8e766694ae91b2d0fca7f3830c3c47bab650811ef67807663129985b21ad501a5222d5985d3e2dd25cb97ea86ecc3dd3a44a6916449c45835b428909f5c27c83660b452b3850f2f7d2c89f35f50141859fdf1a1c6497087e940b5ac793cd3113a41836f62905f0eabc733cc234c976228f3fc7347f0ae47eebc69a0144303a4115ef3e218039ac0d45455fd4bc4985accda68ccfc23996639568e2855ffa6d80d15227d17e7d956fef961dd3d173eaeec84e2f5a3001ef426d1ed9e44cfde5a34ec1ea5b97bfe49adfb1d8c3b67d6d563046d21bf7c7e2860396fce4c11bf24ddd776f4956444fe70f8d0e3da9484a7f118abf1378ddb08bda221dfffb474238fae6a8e3e2cd50f9e4c09c536ce6a64f0e9e0dafc5c9b47dd893a4b29b2b4f01cc76d5dbdf11b627bf71c6421539065970c84beafb6f108dfae32fc4a41ec427e4226011e8f808785dbbc805b8baff218a1746ebbec111b93e088ac7541da36366eae40f5a73f65b6e0cbae99ff81ecf9fc66e58c7cd5fc5d41af7ab7c69068f41a87273147110fb5e1020d1e58f39b583b1ba5639b385b55e36e7d137c6acc4e2677b4f6bbb3ab4f174867aa394ed5390d644a23936d8d9627ac3a7b0b6ba7e1305cee4d3f2476c723f6344cc7c74fa15923f0f2bdcba76d407be3f970faa8c51eb366943ba7a6a8d1478da8d96806479756779e03347a5d148cd3cb45c37d52805f0a964d3691e893db70f1425cc3d73bf50f4f2c9badce816e95bd048d7b0103e153bcca827e08534785ba02c0a8fdb1c578f9b07c73e3dfc3d047c019c9d73c6c59fe24c3f7e703112b7c0e5d69e9d4167bf11c67f0e7b9e5f27af5f93aa60ba7be0551be221a3676aa5ba5e7bdb0c0288fd67b6870774e0468506d565914b6730c3179de1bb0896e2323d3f78f86fc20a317c1626b16858d4811827bb31ab0a3884afd54fb9f0cdee2053db2fee62aefdda9174c4ecf9ba0c41e3ab7420c19f0b4cd5a3f087fd3d8e7b22fb082fda895a5292363aac10bb9b7c9a4ef009b8736299a6919bdb4cd9671e4791d1106ea77243cf820b62ef59bbcc8d6b3e77178b2a2d4a6d27a1cec694b038a32a53a314ac479823f54ca94a96c45b70255bdd56e59bdb1772b6e04e4ba5326c985dae9771c64f70240a5d9425d4412956922b32cb87e913aadceef81d1a365101de5736c8f6fea15a99e210c5a0ac0938a522af7866e172c2eebdf7bb0d55acada26dad3da6b8ae5c2c6f945d26f19a6dba4c439ad5a5e070f4d4ebdb88887346a873147c73a8b567555080182b20019f16aeecd16542cb0a61c5c9a1826e4c91bdedb98930d878f32e739fac7943dc69ec86985e5dafbc4d30e22b1e8a4519877fee73bc7394783264da3554c83cc2ac3815371c24a9685af69c921960d473b67809be917aaf3229f5f8b216f1b00a921dc1c44b3053199fe28789eef0e009f66859a0c57bae35942ff04d075d3aaa0cfb4a9b02518f8daf2e75c4d2c16b952567b36f05f7a728cf05081ea303e69b94583b7e97c7b555d0cbd537f4981f1dc7e141160dde9f2e8a9b230b24670a47de1a64501e0fa50ca91888fabb306e5091fd7c9315ae87db481090881de990305f87e0d0f0222a11e4c9350bf1ac8566988a1e48016bd2ef548c6ceaaa05e6cf2c615222553c733e42059d9c0f494ff384e9aea9ee2913e8736de629f5eff19774ead25988261b277bce22ed2b76323cdb8e95f6bee97a340e4d5a6646d9adda7c2fd75a7c3a36678bf52b267c7db052ce154ed020b20d5b799cac10e2c17698b0e04b86326691228cfb42faa2c89563b652a9f7b62cc4c6a6a5faefac20e83657099c566d49f8de69bba5b3d4cf3ada5e07bd0f6f6bd47076d121b45b2723d3ec06a25c613608a22445bc7254d70f01f65a37713ffa8cbf2f4fc4fd1a90a7be42caf8d7fcff017caf3a73b64de2eed4709193c4d6629a1309973a1a00797b071193202fe90099bfa65cb9b4567a1b8afe1d13182a8f49660e567f545a8bf6778568d913fc77540d15bc4da88bc6f8d198893140a8d3b69e08174f8bf7a71ea47e969464464539c71e908ecd8a2f1fdc7cf3b205e4e384abfd079972eaff511f7f3f70a43ee9f2902c808481602e91f920192b2c745be7612fa1d1e7d5f0957a96a8ba2fdadb21b81b9eb8f3675e9a39680676b90c88033deaf4b1d22cb060dabbc75bda5b111cb4f9a7e97128d4643739bb83215c8c6217ceb4c2085dc88d024bc86cb431b548e892e6e587b2cadf19ade556145ec5a144ac43993a810b51d5d0790d9116e1a7a80cf3bd4c7d7b6018eec5cf644b97ed27a21ab1584d13b2d97578e231e61a93f37126c31ae40b44f96b363c6dfdbd0962f1230b470a35373b6a4ede37e1706b90dc12de1f6a7c73e853e4fcb89b03347bcaccb94ec2c9294446e814d2d7f67450b6dc196d01446f68fda358e16c4b14f69742fffac4bb407bf533110ba997763c175b1f1b9f2effce783cacd52c81b7268f8b94223b23fda147c0de62c250018718d99ee0f4595142e8cba783f77d7ed2a31a76f721be89f30f0452e0e99280ac00abfc9f3afe3e56d16d5631b9bc4a554fb716c96b54e48f617d857c973e20b06287709039e00f56c48cbe60c3fd21a6f74b84ae6317da6d915981e12fc2dd7c214d7c003d102c3b327b63df5ca595b993165eb3f43bdaf167d726ad7d4ad00daa5b83ea815c45f23eb332c26e58607587dd1b1ed8960fd2de011f0cfa40aa47d6cd63650a1ae0ea9c57f20014e8d64b251a92c4f744d36e8348e40d7c5bd4a6a1f0036bad53d5bf15171bc0ca847e555ac33143e5feaf12ee08893563b1ce008cf7bad3448f32fdf45bfd67e6155c22a5bd09f266e10824c37a85792c0a203c0aab715183151b43511827a6f03a3d5ef1e651872739339bc84e4fbf06fa5ba742b3fcb9101236beefdc4e3af5e096cc8a40f9aaa22c2847da62f3cf8a6f16a1070238a9da4d4511e48df6901cd1cc0b135cb19bdeab38ba0eaac0139074a66253cdf6a78d98c7bd32f775ea45e5f779a9f61d10d09f74fb88eb307b0d7f982ece941b2462b0bb847c8a44d81d2843304104680457a8deeb16a905b57c18e58f7868fc44880f10890640ce32a662e200cb2ac2702fcd9921f4173a58b77ba3e14582701609f73caa565157fb0c76081fc9f7ae710e2c09143082052873eb45c9a58fb2e835bfd7a1e52ed05c10fe54df5ae55746c45600667f7bcfcdd5105939177e2c721ef4db48ad74ee964ad32427ce7397386a5667f12b6a6b3db73ba18e83757b2acecd19588abd72dcba78d731a10b8e00eb7ccd33a9928350e5ca93c1130914b9ea50c8ffddd1b3d52ce947dfa6da17eec18c4d4a7170ceb835974c82c06fdb280c8c8d968a70203567c8c1cb8c0931c6e56fe736eebff75e5ed357714e30b15ee5954cea0f20e60fad1b9b00d75fe7086e2e731f4810f067a06482a1cf0b6633b024da8d1495ad0c85c21fd9e4f357506cafef79bd4229d6678fb525929e21809fbd153b3da2ee143f2982d8ac2ef60edaed864206366a12250394812980a515698be11754abf13c37a3bb0b1be648d03957b89132e7ccbd3c696352085a3613d9721d974ce3cb9ff7b0955d16b313320418ad0a941b3312b1ce6e9e5a22b6b142f6528722315e0a0da7f11e90a6b5c6c517060887659fe67053cb63415a4c9284cd7e5c57156c6baa8342ec54b7843508ca81b73985f15cc17885fde7e1da5d12542e8954d406a9326f5aa8625afac6425a167cda66ba1870776d8ba86668eaf9c2b4393d43af67f769f10c49381d8694d886a996374bd973381e22fb5eb8ce08e0f41af1c2de8bef4627608519d9d6d7fd5345ac01a618baa9b5b23de35f08de2885e99bbe77bc098aa4d356d243d01e53e9a1f112fb70cdd50bf872b4af307f8b4af2e5982f09c627325acd671ebde823641c9a7853cd7a66d82244193cc92995f57cf7cccaec6c1b93f85f0f873d66de7d23fef5b88249ddad405f35823212964308db7c388280127eab2365b20ceacb58f9c73d00d27d5500eb0849f44f73b6e759d245b08b81d6d69b95439cd65e6e886fe2e2aa319705da877bb107dba5c5002a5725ed94b42425f407cd2f4360e341ee6f0cb9546c2c9ba59c7e6f7509c648d3f5812df990b3f8ffef535f39981206ba494fef69af0cc860f5a38d6be20e80f9b7ea6049981c8a7c0500a6b755abe450050c856a9b115808af39574838386c57d272655b2071532a7fac4e57561174fdfbbe820e1c41fa4e6f26e8b54b12e90ffd65e1dbd21bbf232ab0ce3e2b59ad40f29751731c1f3fa16411a1c5dbfd3dce417c63349d5cf98c88d701fc4e006a5ac176963400549e1d2dd1a085f1bd64b66e1d79739d686808c08a08ce7b02d3f6dc914c512125934668cdbe12236e3e26f9a4b8593696b9bd86b412641a0c208bfcc7cac08cc19f4551f83ff0ca141a864acecebdcf7d4807ea02a20c53591795a66a3dedfe7efadfc7ba9cda977d5193bd8740575105060e72693063c3f6a89ef5b78ca324b3684ea45d92c65116ffc78d1461f5f2d788fa13690a939964273b5e6fb7ff8bc750840c3c46e1f83063ef79ad4c75946a3178e365608315e72e3586446e8cb9a61a466ebd9e09e812b3aae7f9f3aaebf230c1ff34b10bed3f0bb0293ca82bd5c82578d3a486f9c432f3f9263d3a4c382b4fd1a5ac4b17948f5a7d10aaec66b247ae381a732572aeafb3d43adfd3058e4e5cf3f27f3587719750b5bf91fa37f9258befe45521b1826fc645ab7602029652bdc989f083b46cc97f91869329285354f8145ac0333422a7907cc39ee49bb84a82149b9d41392308185d62d980f6b1044125ceca48c30b4e29898f7555211013bd7543833f3fc285ba494546a9c7fefc6253e77a47037f1279321eeabec48d5ddd20648406d8dc8aa7cea8e42701ac7a719472cbd68f88b021aa51793633ca9162b4c9e43fb6f35c636a02c7ea5fbd9a9b0937ce9c02583ee3016156c0a017dadac2e7870e1caf90fb05b5695c3d51fe4c540c0810d20d99749cf6d159b4a45d9d186ad00e07d19fee405dcde55acb3a712936136538a11a33e75c118138b4faaaa5c507699ba24e1fb982fe96c88683494d8aa751f85dedacbc3f535fa3606db329c34ebcb1cc8d6f465cd1f949cc1da958b10365b39aaac39789285b00d918cb9c97d9036f202e5cd0d0c2a89dc0f30f0b8219a0771001fdbf0cddcaae053a36917775f4997518f1fe16fa5b240b758b0b9cbe0f61078c3c952492bbf4b4424b805dde9b68b8459add95c9d82f60d51c18e5c83434a8bf0697fa1fae8c8894e8e0907978b3d19b759dfac80df664bc7e62ce234333e7a533e9fb7cc7c694a3b6bb54d6da17e9e68df54a97b05e49a49792fb7a5d142c33cc766a416807f63f9233a1f6936c36d52c9fa726062a5296f33411a8a2559ef847359466a2848ca57ea375c71333d83aeddc5c83f386fa812ed6f6573cf70e024457fbdf8e7ced6be08816314d8e7fa967e33002c4a6d43b703a1a960c232c57348c6c37d626ba325d4ac9348dd040c028091c84580910e195cd691c061a69dc095ed4f381c412de855295dd7b8281a43d23b8b50991cb4b683695049b24ea18b622d90a784e9eb8311d06b960d10dca577330aa94235b4f98326d66cafba769625bd2d275f4d87ef6e0ab7f2f4e454c3dbc09efcf890e3f754c8af5bc6ba87fd1527eefa32a314bc993202a93e5ed97a84664b84733f24d023b1919e6785cba5c196e680d11ead94824e0c125353e42de542d6772113ae460fbc7a58110bfc424d9b68a428fd07ae863f9a8f301849e836ef3f4ef36ad90ad7e2ee67999b18ea53c15c20ce36315885b15faf514dbcd92089f91cf6d27fe72c60f0f7245a4b3df76f724a003a29a9d4564de4e23d4f3c44a7a04438f78330f12ae682aa95aed092332d8d187495b4bbffb0143609e2caba4436d6c5119d704ff3c3dcbdc4e60fa94bb054e0ca18b5d8dfc944f6af0395839d1e93e423c3bb31f050f14ece4fcd35dcce7d024f55450070a64443e055cd110d9fccff15c3f4bac42580b4739f48c888d4d649b9587c874f8a0e2b167c26006c359edd1ea389589872cf99ee28ea867d37b3b29d186fe4a1a8103a2b3ddca649f8316693655790f8fc75ff90a27f03d9798e2e0d55e4c7d2ab888abf5127431b76da61ab9e8f46d9bfbd16275ba5f3eb5f4e8c6f86b834784e412ab3c0e5a5d70f5da228b9057cf1be3bc7950a7898161466099dbf9bf503e6d585e03a48dccc456407dbfecd42279a0e054b9fb353c4b8bcedd464e68a4fce779b49de1d956bb2f76c11886b827cccc1f6219daf6d51c0cbce7711011c8c305c3678899d301569bd3d7d8cd1a5258eddd25b649edf911f27740764a5f233587b80b481f5111c8ed8f94256d6c23e7f6e955a69496a09690e71751b60205f93a8a7bd7e677e31ea45de1bb43143977ea0acd7302f43646bab724473898f1af96bfbfe088146aac535bd3fe0822a83e3a90ceac9bf2d04d9747ed4052412fc6bfaba11f42a676e08042afebad390f0ecd33db93c8e6ab02f0011043e054d633e7636257a988ff1c83d04fe60c91eba2730e72261d8f1002ac597e08790c422ddf87eb904aa33267237872abfd59404b784a0a69c8ebfefd05acdbe5d05690a057d6827fa3402c575aca9ea9421f19f9ec05e354d487a48850409132f0fda4be667bd5ce3a8910334a4a902ce980b8e02e310907e83cfa1a646dea13bcfdfaa1b706d72b5405df7381615709f05f5567b394e6426e1040273cc451159e6d9ae18f3af3d6c36caf13bdd061f3349b12c923d3d086abac8b756c8af69c0c846e356719e9ce442481299997caa98a4d1b028888b97915b5a2c6b315fe67883e18cac6ec96811f0669fa1f5cc74b6319625f5340e1499a7280d734e47361f91f2e49ede5ad188dfd7e20e82ff82ab701c348676e418c3f746c76bb0d0abbd7082dee21df79e159a39987469b568a57af1202ae1d9361700722df221e7c2671483a21a7875aa716ade6c2d543e32276d6ed88f7b42628160e36048eb37718ceb9fa5dbfac15d9feced94910806e48bcb776bee4093434067f78df189cce583be471f47cc553e28b924287c05fedbd59e6ba78366d09d24e11142b10f95f27d60b7299cee062c9b8197d68c7e0847e12a344c6a6e9b168ed6704b4dc5f117d467644530d70bdae2787bcce1c5a926018cf5f9bac0eac3a9002b9fdb233f10271e6741ca1d66022754da28cba98553c41e36fd1dca2566e4e5ff5f9825ea103e2876493da233f064796e8d5a4bcc0086a0d97202a8e0c7de50b2962ca8307326e26f69bcadde47ae653857d68f90db3a9afadec7056328568974d11c99dc2e90b18f487f8e4c21e54d328bcf55e58f134c83c0cd756412efb4ff5708f5674c5c949a50d6ce5cbba725101ba198f4dddd0a79830f7858559bf8346774d120283de60dff026c1cd348e8ea64db51ace98e5ad6d0e8da04ebea967002ed07f1f6e6469ad7c8659c5b9abc27af6ce173df55cb95dd72937064eed789735a5b67c0802598e34708502534d5723ece98412481d7782f8dc98155c19aa9986670baf715f8c8ce00ccb496f7de5d3664bd877a09f6bbd0fcc79f320ef12aa50e7eaae0021c6cc9507773fc6d0ebfacb7f7927f8e107eecc3602128a6ca9995e195af33acd97cc62444afec005b8962807e1867cb080fbdaf9ec45b15cc8839e71d690efc50919544b1a8dd861c55e6f8eb3788d585a579de2409e68248ff23621063c730747a07071f9b36d964507c3cb34f116de542ba3b5977d65a939036a8378c878313abaa210ddd255b0ccd143434e3b77a980c1e4250c6552b9aaf1c7677bd5906ffcd150d8043cdc46d600722723acb3b29f81adb06c581ada4c445b01257efc6b7287f458062178f3dfe7c7f6093df4db6eedc8d6176bb8de8f88fbce72eec95df3e90c31651c20bd34398dc9296b0926afe7cf22f74515345913f8f78d20a114fc0dbe7f1e2221930f1d0c4f4f0e952f2f75feb5931192a66b4a83e0c4a3459810f7bc595dc4997e64faf8d67dca0a5008546a910e53ec98d41e71112e5605ad09ee4286304dee7f0ec630ed9b128e57d2ab12dea41794b2d3aa2723b7b1aef2bc69349d539f7039ef1950501e2ad5ccf4174759d743f2c17e7d02e765491ab3a85fe496834ca1b590b15bf201745d5e3d851af6f0306787d406a8e9868dfb6623b93a85d1bb4fbfcf47b23f93d5c6627656f498b395ad96664761ee783029c3c5fd5e875f7cf6aa1c00318aaa75f9b90e8961bbfabba4c686552b249a920ce07f13074b2623f47634ce7d1e644bf659fc1e4378258aa00e5301ed37d2ab368921446d7a1f6d01ca7713e3d7d35db5e05e9466d4b59e0fc806e7f3d22dd7317ebf4be46d37ad20e797bdbc8b10c4d67bb3ae6c3451508f670c0b05d29b60395059f96ba99b2450c06c8cbdb1a342d7051f175c8a96647e406861d865767b84c447cb7c46eb3e1de44e95a1ab5ab78af993e920a184a7acefd147f5679d50878f382b40b85004931a5d7842a1c9615c3ec989d6f479c2b6f1c67017bdd6714fd99b66d387f0774504f87344b7545abd0b0e83291987d03bb42fc901856a7ed5047cae4bfd749dfcc7cf77ef6720bc4b99fa9aab41873a8b3fb5a1f05c36a7f33ff9f434bb95e96e5d07b08c157577307b0967b83b810e3495674541ff0b66751f4751620dac137694098f5d6922c33a4157f126c21496d8a116cce85b329b2c802cf1df5c349babcb09b09a76ef23f053c0b97cdcdf3b5ffd1eddd6775c60a408c3e9bb6952c364b47a0bb3089d38a36c29b01be6a6c6a82b6445e7b8f9c78355a6395fc4496ce069df7030949a614c7a7a2165c0b8e80096b1542d6590fceba98f809be21ff7b01578d70257be0b0455996d00c5e5855917d308674a3310581264eeb4477adee50b4c2c5e4021c0245d6968a94ee8c9079a1d682c4db876907b21250256d532b08d5f06cca4fa80fadf893836743340eb103249ba5bf6f5ab26c84ec229d1dd63f03a4f791ffa390d952a6d74d0f8d629928f16bcc2d9888775e7c7a254a9b831d316c8d4b9160327a9847c7225aa970a3af94f13939b45d7a0be4ad9b2eaf578c16d8fd3b95596db65e2d1dea1b8ebba7944337a8f0dc9068577ba10df4c23dd6539865dfc9372abe0acb8c4c681fceb1f8b181b5cb7f1cc82bbd6fed2a3dcf0440e38f2f571230d4dd2add7f5700e1c437caaf870774e4df2ae246609eac06742180af835ac6ee274833040a77aa557d5ee5dfd7286eafd0c0573ec702ba167c6f7db9566eb5252b58fb8fe05491c624eaa1bdf1f394c614584557eb744cbe9dad2cc51bd9edf661406bf80e2c47f4952b97365b3c24626fb8e548cd6609c514fd8f9f48cd9bbe936e944ad0697c124a0c5f5d2982bfc9a303d69a70d3cbeae6e93fab98758cf89b45b08a65ab68f3683bce1c82d44a2b5a54aa8b59c934c61818b96f03bdbe8c77c2589e8d1b6f45dad1c33d4f0e096f094d08ab5772b5fec5331355f733615c9720bb68e6aa41d79dbbe65468eeb970244fd5015315fd3e9dbf64df3afd68a25aae9c3152fcce333ba6e3519f8a15235a6a4301d1876b31a306271a3c11081466f6ad983537e9376d9a8f489b224d49ccf1cdbe98ca0bd5fa7bb45d789b7f04f69acd7d198f72d7976104503e275e650ed3d7fa33db55f6de95fecfb94da5cfba11208fb4326d636f7363e91ae318465f0513a360f5b710b1787f553b03520f5fd9d22793c804c6c81922e977d3df8940f41940d37967e7ead64074153ccc5bf70a30230dfcec0da7d486706c0a922a47d641d5d7ad21acfce3f7f2243ec156db4763432267eb564f7c98182574c32df7dd37c71f728359046d4b491a840c9a2b3305deed96a84f4195bf7277506fa884b988b21344256dc943f2a021e507ba370b622973459cb2bc9d7c4e890d324e5e77991b552ec5240667711d1743fe32aa5325fbc92b80b4259ed1a1a437ec6d7a81bf83c1fae6c554f662f4601f2225cc9efc011a822ca5b502fc23313dede19c8c8c7ecf14228f1b8e2dae9d05fc3c2501bcb59d3e6f504f9f0c3b714dd6d042ff5646cefc3491801a2723b4fe90675912a0419d3f4148a728d0f1cbea969c3ba9a1a34cda87481a2dce2c9808325e7fa70d845f985e64ee0f541e77bbb4a1cbd2454c0d01a34e0572477a12c2eef72b76ca1a0fd3303c13902bb670126ac0c974294ebc1ab864e8c2e1e2c22429d29363f984160a0c253d5d6ce98f457b3b8b2f73685ad6aef8a95f501a8a14f68ac097d97ec728d981e83d2cc3cdeabd612e8d65038ef749411d42104f98e1596338bf99ab522117d725e48527bbf58ebcf6a341faa179fdac24e182ee259604d436bcd92d9a1064bfed1104995010852f6876d83b6424baaaf9d6ea1f8e4bb7bc14f2827209ab67cdce32de563a2f8e4937193d8a680d0415b459763d0d4c821557fbfa0f5f12d47c85c4a4bd2fce6ab95fde738b3cd9e66eba40f0a852d61fe5457f57d9df0efb5df8dffef5b46081b05f395067108df8d35c04b2347d424c7dedb4547b17c1a30fe65000b3a36e34722e754740aca2e450b05bfeb986418afbd28607dea70abe483c5bc6f012015c80ffd98da71377775494f3231c4df36164c516de1c7704d1945ab3e3e3d87f7e12c5be072002b8ccf187ab5971c9a82d5d6b3c3d2b74fd7e5d285dcef8d95526567d07372d4b3c19a402875e729f30c667db583fdec05baae047508b6e43acb8ef95406c5875b341b6ed7e7d935de511180daa19b6d2e1f4c08ee21a21a4db0a15fd510737b59149d43f6a991c4423d72d7238b11477e72b73ddec7f8e92364cbdc2ce2b0dc881295cb377baa2eae4b37476511e21e720a7b99c38dd9b685ca38f8ddc68b3603cb37d5043cacc538e8cb0571f5ba3228437042c03d5b39d2945e764e55e2bbb8f1a801bd60dc9270b2e2c2e8211356001c3064f91ea5194dc673071137aa24f52322990362e79c0c1b1f1886babb6afecc1e3f4a4be8b4b0645a806ed014f2acd45fb33a28b1a207a01dcc42b0f74968c92c8c4dd13588efcd47487d26d506a06c823530905ece8beaadb6899b821a5e207c265cd80bac849e0dd50110dc46c0f3e09caf50012b022a85096d872ff9112e4203a16ad494581d1fff0810b9b3de51fb9efceab9234dd66995f02894df9c1d232f06a3e85b9db4700463d3f79e78dc8367c6a4d7527bc94390fea54b509c0bd705eded1bd22e389f491fcc7f2e3f29f890effe021b84364863169fbc9819c9c0a08e0249bf1c44813a10997dbde2850c8a01ec475910f3b5a663fbc8a9f0cdf2d28e3371f893e39bab36e1eb96e869618857a65075e2cc8a1a1756f955504ed33dca06388b37e2d35357bfcc65d1d3513eb0ed8e8a8e6917dd44e61be14b161e0d0c425e432b4e4976dff8eb2732bba7672a8126144d33b2c7d4404250d183fdb3c922c6929e1cd7d8bd0776d68cc83a8afd2cf6f3f460b8be3d91221a9f131b146d3b5413df793f22f0d98f259ff78e855a160a480dd179524cc7eab4f1b91ef4a4adba28874585bafd14d3a47a2311667991fb596c9e7ea0a048582cc07e9cff77e46bca5a2ecfe06ad93e883b58a003e7828fff903e1ccab5637a9ed849c8f858f8b5d688443aed3ef2f530b3dc68c99001616cad20de73789f14d3d607c584b058da8f3470cccf71e040ddc318a259f5e97048ff998f22d83a17c0e95b1a39f2e3df10e101eafa14cb26ab0b2c0bfa6a29b1d33cba6eeb07932a192e5574f7f8c8af773eddd3f7d211ec586eb5657e44e397a400681f2039ae8075668122366118a09d094bff53c52f5526cdc2d09ef586ed63cadb3bb85e0c0702f119888156dbd8f81dc8cae7c36e36489f37536a42d2a5d5459b40ab31a81cb9fc7d3e3d28c09e39c2eff99c5cc1a0fa657d51c9736f909b1b0fe97305ad976bc8c3ab8706217de769516cb5262b19af5f6f8f11b1968b5b1d69f808cd8f76d3dbbe8f67dc747e804fddd5f89443e88e00d918adf9ca1d835327a7bf1a0de35d186c33e8a25589a2fd94f3578f7eaddb12366a1ebf49a35de0927270d73f511229853d42314ac03aebe06fbd8aeb267be06400cc86846c4a1e30c8e98c062a4537df4a427be28e25dde42acc4c1e9008faa3af46f85a1afe4a297f37e4d57269c65288a7829a9a9ab029cf2a87ecbb6e3c98234141b0338ea0a173edb2c3b77adc937c4776fc1ccb6ac607c096907dab3c3f6f21fc41ed10e0f99c2eb7f2f1529f3a9101df6d3a5e365a9069e9115997466de24538da4461bde72c7da1a66b3e097041fcc6fa48544d84cb96e819e256e63846c432771d2ae6b2afd05f8aa869a45381a0fef410176d6a27402a26a704d143a3c0be9909591882d01b824db88aba8509fe7f30c5399dab2608cf5e5382b4d19f5139722445a1aeb35ad3145f7d7ec2eb46ca1951158900ecedcb8575ba03c7aaef6569a6443ce1d95dc1fb723fa91c29c6d61197db4bf039b010fccb2347170b20574187e1aec4a50ed0f59a092259f1396f202afc56a0fea31e964c1c646c02f2bcc10573a16f7fefd5715a3ac17ca4791bf01995a0a5754754016d8d244b8c29183ad4580d04619c6d938d076c807f2cf66a4a37784c7578108ec451d1629234be83f4fadb3b06da2ced10102ccc89a4fdc8b13cff3b40a091ccae94c7e6f4f4ea3637813cdff8cab5f7d9409c09b429ec4215311bb06832f4efa2b99ef89f0a4298ff88066154df5a58a9e1e00cc3108b86a1493a2a57230238ee8b24a0e9614b43af4513fe226e92b3927f9b07c9771af40a0bd098cfc80a8472f0970e138cb33133788429ed338f0b3bca6d636dd72b03f12c0a1f5b23ac764db72317400b1364606ddf3165080b45a27b65576f62dfbd3125db6ec4eb5f23357374ad39c367935fc7a502c7e4f0e7098241fb4a702ed24bdc2aed635d9bc7ee652a32459bb5308224a04024393c047c706f714579ecfa562e5592c8e6c1559ed7652bba6792f382787f789a24b98f1730efe2c8fafccd5c5e4d48ea2fe8de132270b92d236379285c78e9e71ba5b32584f34230132970ded982d5dba84f32135d1457391fc9f430752bd7669bbae9801206ffe022730f704f58033172bddd06d69af4d4e5470669844b6335e1446bfe65b60cf8f1c7db35b15711c4c8cdccba321f6be59dbdeb5f48bde1f0f3a62af6185bc4f89164fe3ecdca1207d295bd17fe3b8e901375fbd40df1d6361eebc2a6e7150448e5a2f2a00a33bea73c3f29d1e9f0fa9d9c264619897fe858aa4adefa1fbb0ec28cf939e1b251aa703c93c863975935218f3e744c2552e519d8fc2b36cbe6ab3cef8aed762f1feb0d596ff23a0ec5864cdd6af4077bf7cae6e04185a46f18d43b4a951cb59a3661b84faa622e4f6c081523aa5770b676c15b9267284ac92f4f6c3de794600f850b87b219ccf12eb793eebe96c52e0a56ea1105ae40906f6143f362cff786fc664165d9cf0df7543c1b58425b59a3cdebf9e2f6a33cb1b9e87cf89b854fa2ae846e3ed01a130351960613c6427f8cf971426607ae84671916519094ffd46fa7808e026e405e91645539f7a56187fb7beb6ae5c16ff2f1719082c3690a02fe16ce4fb449880de4f28729c57e8b16b8dbd9da16f62b80a8e9d25ea5ee6ff16b0fbbf65ca906d3dee23fc0b6cee4c6a76c505ab5ecd87fe9e697f673b7e4067398e24eda900df82b20354dc923529d0f720891b897456132c8c366b1b6d09fc47bba973ef83e6e22ad70487e1676bfa09cf851987e705e5ef84b2ec24bc48b0ce65ec7586eb33b8d2a9bd53364de89160cce038d6550cd3c9a1b66fd02fc74fff765ccd3ff3790415d4ee0d5f79ea8dbadf5c0cbe94f7a5efd1867100a54ee869f17b72389a4f30ebb82c162c66d00b182ebd09c27b8c9c3ef22a9481c6588f6ff661c8b6272bd37935b0553dd8e19996fe4cc9b510d85c7185539bd6c7786f2e00049f0d0dd2bfec521cd07383c5338742b0e1c6ccea1658393e745710fdada2e242b340443fddbfda8d94141c763719c43c13765d6b475c3d93da4fdd7f60ac8532f4aa4f86fee03cd2bfed1dfb7269d88d9fb55b34b6925913a90c0e54d708b5017f73d77a1c1726010f0f4ca193675d292b33e9843090bafac487b72ecf70ce7bcc92978f9e87556f6afea92f896582b6e0365ec5d7c36bf8709b420d290b5843e53b5dd6374b953416a31f1708e0f71a89c23040124cf22d1e8bca769a2e26afd030bbc4e82f9711052655c020410e04b6ac928074f31405ea4e9ba866fb42ed61467b35bcf7f47163f93b776cd864318e9e5415d98a90348d53ca48e63c6b03c3f8dbd3eb38adfebe8ee502c43ce802844120244ac1bb089c05e43da6ba5884ca79b50d12160fab2869bbf2a4a1fe1105cd651e7fe749466f9dd16780b7ea86359b62b3a293d8fd2022fbe7e474c1647138c5de90949f497a31d4976f59b927e80576a37948b157d7540a40434285b878c0b2d7bbcac65a35edb32bddd7f544c77720a16ffa1984454321e6bc38e144c79860a1bd7bec0edd828c4e2fb42aace5fae895c7c046a6841d71efbe3531598ff69dd1de6095e35bcaceed44a109536565809cb8982513b5ee005ee9ee3854def9fc860f9fd93bd0228406c0fcf66ff3b951fc8c907cb2305f5ac6f7bf66f5ec9d3164d74d5f1a71824a0b6889da1054986d3f35e4e8d0e42f1d77ec33e0bd00b1dec1ca374dab61a1a5c45e01cf50d7639554c23f10ec250bce028d35463105f939991b112913261afbb072088b453e87a7f52e2ab959737b73e54d125bff8954a24acfd74441dad3ae19084fd47a4363b63a7148c8eada6383098afb9aeebd94dc5d226da037f70270a2a38375d7ac809d123a9ae0ecd70e0d4c94dc798fbf5dc8cde212d24bff1555e047beb01f06c07bc34f26747d7e3d254824c728930176acdea96cd6cb8d8d4598901e3f1a12d37fb0732f9658b663571e88f0d81876bb01f2a205e957ee53ff51abfeb3ecfa5d008a7ffac02862606ba18e73b0732eb6aa12f55c00d6a46dea96a37cf47c36e63e797ffe8731b552291844e945f38bc4bd9e34927d90cea1aa313779ff0dddcc40a5e080e1ce4f1b9fa191cb94c6a609c54901a149931c652dc2b3f5b81d9daab2a7e318ada4e9d89951b0fa4e6768de8860f889276e00ef1cacaf2c642049cab929f360eee4dc37f3f15b8e8566c0b6309563e9ed5fcc6fe4aaf69baaf99bd5787c4cd6bfd678d33222c535cb0dc80b1573f3ef60fe042e9c48b40a95a95d7c792940978cf643a1af381b14e0f96670a7bc45c951221bfe03be4f9f55d2f798f4bb46926106b8c0e330726a841a0c5af2d75d50a0abf716667a17950226a94384f0145aaf7b8e431b7ef87c65ba38154e1319ff399a44d96fe633eecf1a36c880b68f85a9654250de3543def1f563725a4b1983366e77f899ea06f3dd9cc1bed9ad9925e86b2a7ad630c4d449b2fb0ec85f7403b03e51bffaa30bffcc988395338e99a063dc54f4a54f8e12831db277be15a86c068ac760cbeb232dfcd180840e81169934dbc810a7f2d998443708ed751355330e848bc7fa3b3ee21fffe5fa6f59d26115bd0fd578ea927ac6b3d27d203180d76c790a4c796e458f5b2f7610ec101e138f68893b75df8929b8218aa6b36a41749f965081b72db272bd580ae92d8101e763c0014a3a89f12c4b4bbe9dc74825be68aae3e765307f5943d0e582aff129571aacad2ac8091aa20ae673d08e31d4e9650d4aed4619d859b725f921101986d0ff1817f48b706905c941e52cc44e17af57bf9900ae7dd3c439106e3099f0920b4485eed178dce2118181d52779fb1d83e34fca2deb20c3631ded5d182c55d4e396bac6fefe0af9655fe0d43d4840e8f5cdfb857b51369fba6da46c525ffda13d70815b55055a89c2f88bf72fe40954a4063f585f24f1ec65b438d3685b8cfea6cfd46e59baacb47b5b92647c64e727fa451462a272d023aa8b1290e60a9b950319f82e55c6ae6c692c472e655166d8e22eef61e09f8e75669648b71dfb64a62817a76d044c023c990a7c53c67d1ca695e5716970bdafc7befa7908499176716f0bb845d437101e81b8ac4214dc4e0eee71401e14d2e7af96b6de2ee9e63f9be1294b9a3af1ff0d54d1e668057803606da237eaf8fa98361c808c9daafb7cd30f7857d8ad869e58ff00bd7e3894f4971cdfb92680605921b029ee4665e3b3867828c1049fe39ac56d1a84de992210597e756fc4345213544fa52aff70771fdd1ec9491ea61487150f677ef61859b189acfac63f4d02885f91cb156a86e8bafe8f097ce39f18160252e987ab8780b0ab3e0a897fc7b5bf109d30b9818f0885038c9926b5c072f6469aa64f140c2e6b43220cb1c8b94fc53c8fe440726788fcf5e927911d0a99d4e0505368dbcc8b315ca7746f67e33029ba66ab93dbe2ade000a6c913d1c5ff4b81059983f121f49ae1e47d932cf547054fea4545db6b1070d98a8c8a302e1181db17948b1bff21f6ad080fe4f0b04c2a4ff3992fc857522a33286a50556a4df0ccd521c0bdfea15985df54a0dc832900d1bae70a14002b51bebd97ce17a8a483d230a8206140dc081b51658554f25ed30e8f9c95a01acb5e8af9e709a0223183096a52fc489161df415cc5ed2a3a78d8b677d24d8b08dc0718ad11f4f8d2f8512dda8e977e13d05a143171ca43457bed2fc3d028cbc5c40a962c14480214b4a1e7fde815f73633cefb02bf2a4332452629bcb0996780d92e25957cc857058c842e87781d812e7f4e16fbe016f2ac77438521b2c7194c70b9d5b83ed10a0b828a67b58caa963c44348d39649b9b0a15f3fc10baa21f2ce11cf374dfbef73c5a421670504ace17a99898ae5c576704d1c77b484654c471f42bc3ffff69c0fb60603b63b3444d449b854d32360998c6aecbaa50e2051b8515c3445d9618efb09f9a20b32fd943233da8e270bfb5ba6ce89ac8f5ea4fa59f0103e024c26e0b2edc2095f70f8b55e64a1e830c7f135c672e986d021f394efcd955bb1b5f2bdc58d0fe31f7c6819588b15c52a586822fea70b2758900526508ae77d6d3b92aa47a68b88153cb52fb7bfb6b54794200a2d7a50e4cc7ec84e29d6ac5141586d6eedd0cf0579c0ff5c2126c800c7f59655072e0a6fcb08a26334e8187d24016f86bfc6b1e5a82067da384bb136ddfbce054ddea3c9713ce4a46dd3a4bd89128890f705717eec9ad1d646d2226e8c486661801588d2d3e98a49e780570b4677ffc35c178702b397db49000b56d0a9274c3895a820cb14e5579a8b40db76ac98a8d092559c18c5d7c2e77561e90129d8ac09a9cb0d641394f688043adda20a806c62efd5dca7f675e118f865851c13a5888aebc8e08ac732fdbae968841383cda77f40b62a6c89ba9df56d4e67794e673d25f41391ee22465dcdb692e610cec90129c02ae7163efa7d8680c28e6766ce393e827f72ea0df88703b3adecea10d067429df86cf692ead83782b40ad170790619c89526270b3f6648bcfb794d96de71278f60f0770e409ef68ff94e290dac1783c9c249a1bfa4bcd170da9fb1c5aabcb2ea198ceae43290287e8eeb944f150e4e85a5c3ca234f384ed9530938b1a36742a475c1fe2ed00c30ffe3b70c572fd7e3c3469fecbbbfc74321af914c6d172e237bb47f1af55ecd1a32be1b15a0ffac0e513a6fb4e9316bc45e7a48a8655cb4153dbeeaaa5b23001906cb53349c49e9e1cf9638ead32a1a18c752aad82bcd10ac77ee8bba43357470875bc752821f3f0e690449abf0bef5cf94d71155bda0501d3a5d59b4e479d7d02c82b3c96b74e98e6fb5890f62e3b9eae6574600ab10c9efabcbf22d7c2c2484b0213742900df2f4650ab1a76146b1da1ed6e8895c1d7c50176e492822deb1f267b53a6aee91195e99928479f875605e3601e17baa97ca7b4c89eac7cc7f14d6dd2b70bcca5f16f16ab2d346c0a3282943b5e9ed6f8787c47c5d6770e4583a227695f380cd83a2fa022f5dfe3d2916169b99ca2239cb8f579f1bcb952c29ec7a90eb5fd441b0fd895f1b7ebd22526d406d95879b2d82f6592ae0622e3a790abd7dd760f0633d0bf1e02c27e15c9efa6fbb10577ccfb63db89e3b933eb6e7592422ee33a75e4be2c744ddfd176c31eaa37b0da023a36732eef0b373ba8106f98f070fe79a5f74b226dc2daa12d574b04b3be092d3926aac8e4a98e09df9ddbab82eef7189398c00b95d360b54338e5ccd7130c1e7687abd575611ef8cfcb251247e503fdb91463f574c38ace333f5c873f314e6b334d32703f1a49c8c262b2e3f0fd3cfe4e90ca2958348735248e423eb96e3ec1f1b84764760ec40fecde7dda0e1727ae0906ac60d55aa7731c0625fcba10fe1b041eac2d90ccfb62d534329f6724d5c67b8b067b4162f9392f949dbb0862196e4f7c15a02f1b070167608967cde03d987280034f70b40b7ef0421abf05f615ba1b9a4f66b6afe01302e2959c5bb0680d698234d67e535029648d298fcec2960f1679fed536dfb9facba506bf88579a12d2c0f715d96fc4a4524197c9e9a45da0db6e86d4ea2ea3c15bb2ada59f81596aa62794f5c3136615f05a662401460629ff2dc043f77bb6d32b45f147cf5e62f121d12c951561c060cf9e7e57e3bdbd018da973241918e2c451cd357859305c0ead4078ebe539197faeecc8178f01c580caa1c001e63dc0992a0e9086117a08e67b0e0304df0585bdbf2b17f777b8d60f53febbac56446f039df2aff3877dc8baa9ecd0402de7a5217006ba87d0d0c89e01ac0daf6cab55dcdf84f9c94e1d2419f8b35b9cc3f870fb756bcbc26e81a8c2f9b4b2ead622b3109a616a88ede2cfe934c43c2f9c56f72f401f0964e3ecf30c03fe047834021e69831b1ba24b28a07606a5d9f62f593eee9035ca13376546d520ad3c2b73679849c0e399d68c61a275e3e1fcc833b0469a7bbfb535a9744d4421886c2d7b98b7b76085addad74816b9509714afbe8bfe29a5df2da968663e0647d77afb70650ff1ed31c2f05ae18cdd3f340e6941b333feaa235f109632cac5de9231f210970d4b5be8d557127870f9d3a5a4818afd901e0ef40cbdba8d1a4b75be074493a298485a958dcc62cc360f84090b25abd89583d15d6150f5e1aeb360003935604c1640b82e62ad7e714e73264d803179a6049e76ad92a691f6abc86a676201eb2f95ad5357f84500ecec3d3335100200cbdff23f2523b971e36bb5d63016ce3dc3dd0b1f9ad0ff91ff5666b4e33a3db14aba3ebd760456d2881f494e7e502503d38584b442c789897e88d37b5a73415494c5f60e83f0e3903d244aa8c8712b88fbaa43f48880a45ff1a686b244c9f2c11bf936a2240cdc11ed4cb09b8ce01a20cf077ef612138a56c6a371aacaa56604b3823df8173bb7b2145051f8a4c3fa0404790ede5e03ed9a050fb362c8ecdec321d97e5aed4de8d25540b37c49eb9da9dfc953d9a10aecb8b46e227743a53ebf79c8cb20839665825cb10c3e8f2aae4ce757b884890b9f008bf4333e18ec18cd864aa6f62bb911d012d2a998aca262f863a7731ce93d7e2bf767c9e484e2d5f97e5122366426e5cea1e327faed2b20473c75f0989038c19c10846134370af9695448bf52cceffff4fa38105ba38c1fd78ad0181a6255ae46a9b78e582ea8ccc7bd4e027562e9dee1ddc38313d501b940ea3b1b778354bdec98f7ccf27862d89b847a737457c57997f0492c787b267f3b6c06728cda4972d450ced38c71f6c728dcb6e26e2acd3a805b0b1c2f1136208bc24c982747ce00ed28e721d0900377d097e89d4a2e98effe5fa8b4f0cb6f840cc05c46931009d29dd8869a3c68106a68d825fe431f0c14633dd97d2bf8e6e3cf522ad4aa6dfa197d2850be493d5bfc0b014c4a5cd673ec5cdae9f0ee31a67cfe6b7b890f291d7df379173adde58aafd6149d7a2ed587d32f25aeb48afadc5dd7099f96d232cf38af62ce5bc381d2228f690146809feab7a75f0afa76cb2f26576b123806cbb47bf05012e7756c75a9fb5ae3021e0e149fcbba8720cf16d021aa461b780fb864f4565f2f76f94108e6307761566577a3ec7209679dba202510aee15ee79a4ff28150f2e21fea4fed7ebfcc4893083945629bc23bae17a195a79c8027edeb4311916951d8f2b387bd4557e5e92722abfafabdd73e5b248797c55f65aa77b6d7f96fa5bc277d27fde498e396519e9b28e70d8cc1c6d5ffd7cd5c1fdef2d428d2cd99e0ce4070faba8b0062983935f43cf015cbca38a07629d676c4b3e05d17f1ecbfa9facbdfaea6c1ad8651e960ff42af52596241edd8f2f48dda74d733b59af3079b928937d1d214ebc4dcbea32cd49e1bd67a7cf796595ffdbbec592cb75d28f9f49f8223956db4c5f7eb08883fb97d4edf8f068e282e94f490aabb2e1ea8c5b892af737a9373a684a4c7386bab283e5dd1cd5ece0af47bec5a40acdfcf5c58381e724e16ff36c73216d4bab5e9812e855304bb66bbe8c1f62a452bc8983d4bdaea680f9531c5bec77703cac01f98c7defd8b44edca6ba29822c48ba6dd40c0e02e948469fd31b626aecfb16c69ed369890aec15fc3f13fc5eea4eb35a3c8b81c71161438dd15b650e2fb3089cf5d82bbc63d9f25b93ee87ab52155527f061481bad12909353caf4da9ed442127e37177368807eff10b84e3f626c3603ddb2cb7469f746fee6e35d1ec8da46b3dfcc392270dbef2ba86ff5b98c9abd454191569bc1d13387989c4ce9cfdff461fad8fbf0ab745e8208986aa8fe1bb101a1f42bfc8d3b82794f5fd2abed8eefa112c3dd16d28f7ec411e172b7d166a7fd96f695a25423c837090f6102a70414be6e181c029f40340607bf62436bbdaf688b27169c4dcf1f8093f47b56939cc6ea7e9dc58cc163887e0d97a01ccbad7d7bd4d812d002069deed2313c3fd37ed0e74e3709b63620c8949483ce0e319e7eea2c55960825d092a6381faa320139a98b87db349aa9fd982cf9a2125deb65e9ec0ef5147c153f1d6dc8d848396e6eb3ff1d38487f04728fd649a063454cc2bdac44f031f1b317bdf9c3e5af8f279b787aaf142d26e271bfe70fff537d18156422bb6b20f27b84ac08f37d34c6fc4b93b0647bfdc3490cd82f5781eaecbbf2a9cc9daf7daf27e0a30a87219172a4e921b79f4d7108eabf32beb1229f10fe7ecd4892d1fd3f5f16d8a03d28d778cae92eb6188b28af12bcfea930ebdb073f575f2e9ad52b5135963f300042f103bb223bfe205d3485b4a63dfbccde9d9bdb6c154ceeb89c1ea90061046f4b82ab38c2bc4c14560a3ec31daf843a05b31402e91ac1382ec6e76e803cd2113aea5ba31fe77ccef74fbdd9b46cf7d69efd4c183571cb7afcfe5838a4b97724438c90a29b470af984f080c2225def293f513497e2d9b7930d1306fbf90c80af77539552116f166a6f0b48a8a1189c73cad68ef36068a153903cc5b86d34ddadb396b0161e15a2c50a22bc2559acc3208517fa46e6afebc2245bbdb9599b9b8b84e8a8c50d0ad23569f2b6d76d949ae575f1fbb687db4f15353cc077a9900dfbd259283701227ca21a8de06eb8633f83c934fa6bd5dd4965a96fbf48254a317f02c1271694b1944d1d3fa8c769b2974a1e89fe7b5a666e6e9a3a33e3bda8d808f855a6408cf2e6282ebe2b5f03e6b485184a972291b1460d949afaeaf3d23e46fc37291fd7e6f6c06bac55a5e0797152552fed61a1584ab752bfd60b684a1550b9282655850acd30e1335a37f16200ec3357d246cda2a4a94f13ac9f07cb3f11d2844a11be0b539280c83ebff89c0834028fb33780710d23ed7c86be980d84448e99c8cd12261bbffe3c61e75e0aa8ad6e561b213610deb923761bfc5b176247c5ff293ad33713b080e94cdd9d851756863330cfe7d3c49c7826ec032bfecd304863de209e342a2cbdb0208ea35357354b41d5ff31af3c8588405fac199b4594797079275986eb37e2351d6c6458b5991fea29994e86c4d122dae60b0353d5034792d1294dcaf62177322af9caff6a847deb4a75ab2b34378a82822c1a1539477f3dfc6b98a550fd24eaa5a5a34c3c5412096090ed58bb55a1a90072b357d44348d7341bf35eee8cfdf86f0450e64e2d47b1357d6d2979f5de0dc3abd530cba84024447939679c4a6394614fa1ada3d2806543727c2e978fe611544379bd3436f32fcdd6e564533add84f50f1becdeb0def429a7b4d3c2c8619e9c1b23f7c43b7e9ed80bf106c93eb107f16b8de9eebe575f2a6110e93ed8d76f96aa57e0bf4e5472a80d31721a79f349c982180298ff6878959b583a9afb325971c7bdc45f97b698a8834f353e6dbf0f2adde970eb65962e5f07fc291cf665c2dbbeadc43082479d66fb88c11df46016f3eb71dfba7e2c3b7a5658e08e64c6dd1fa085a7b1a266f02bf96e08df6fc2e3848cd6751a5118c033a8e69bb7860fedce52470d5f75d8a73859642ae35ed2ce618cd0a31bdbb70d03082bbe754e8b0258f5efe31740546f8a5a6cec56ba50500362d89d07f88443e9f056e3812f95b8edfddeff69a3e4fe2ecabe103a5c37ae68388d42ace9fb47edfde4096e7a73f27fcd1ce5d70a01fcf15c0dce0e0a9f769933db8b4510f1af76e6d949c82149e647c5e593ef6c1dd00856c388b0b43069bcba87c962b0e204edcf8ed802d18521ba51265f0af1e7600973d8455ed75964fb56c1e82ff780e72bf8fec57f15bea2ffab41cb6fe0c872ca9d46652b3f7bea29d9ef51029e08e9ca008767ce097c831b96aa5b117b015920de3324d35916c03dbdbb506028e3e5f34ca0ad2d7cad3faa7bc04af83340b7c95b5454751123841b64a1e4001607c9965bd558c712bd002b336b618077d27a085bd2498948943f61796b386fc7642ab07a44bd8f5b1965314d123733b7d4443f3c2c1d4f15af1bdd60cd0fe735475cfbd9f5a703f402e38ab8c8ec1cfe40d471ac5875784ba876567c97f9dc51e74570558e4f90e32165c262e1f5f56487b73a830756d08ddfc1f7bafce955f644e4fd83d260b550d96df04a249ca97ec5a39f98d4613906c12c86e52798cae1746e42387c47f17945d0fbe4043b09b7953712f2ac01a534d33f709d18f6f3a6ba1bd8fd999f030844d6c6c046380b3e2e1e4bbf94d3474346983d169bc4afd4c5f525558c32f64401b7a0f0a5c7aa69785b8c7d3b260e3e1d0742f86bd95973a30bc530171952b5a7e4fccae915f74686654ffb14a2afd7dffac8f50a66c9e7d65c8f9e63c98db774ab882a413bf086f3e311a3c966b0efe171f90e18cd589ea1957407b079fd054eb915362eb01cfbdf958f23ff85b29f50a29083593bb5ccc0bdd1c7228eeeba39c529a7f2709b30c4999002c2e385db87dcf166ffa96c26f22c9ea4ec2953cc028ccfe0ead288ea954aea9f61b77d881433d86cba277c958e1c5c66d65e15480cb46e5d8de50afe5156bffaf79e9aca66146e171cf4d9092937c73a20bf83f1709858ea9f1efa6b26d2f7c479acac453b893d527f7b4965b7ce2612cf8d85e7dde3bb68639614a9cdcbeacb26bdcd85ed2407db87cb66a3a9bb42c9c23ba3c550d3cc71b44e219b59d800f2795678a6231eabcd19ea003f5cf25c6c65e2ec71367df8219d303b5bce6da6f7b87e13977fea0e1992013ceea4a5076c0e07651ca1164e188b853b40e47dc829372140408d1e0105f04e2d46bce7e13f69256f9ab0811b56037c8e47164bd7766290cab5a0b102848a315ea1d95e31c615d67f1d11003413ee0c56eb6a8f458aaa61fbd28bf760564d12512ef02070658f5cfb237cbcb4447efd2d33ee3b1609cf2b474ea42a3a30580544e585cdebdc0bced927359e38a0347948d173234ef2ae46acf5c99e61c7d91260df8ddb7b72cb59dfb4af44e020e469b6f4e6f47d0ce48aa6e6d45870dd88497c89c1ef9a30289fc9b4ba8d7deea1dd0c6c2a4b8d2eee22f63ea565fb663566a1ff53542fa7bee68df77f1dd780d3297e624c11264404aebd914fa9a4948c4cc4ce34f62817e2a5d09bdcfdbdaeb05e3743c4d58dd919b456cd61249e9725f1a475fe164f127d13a361234ca1a7fa5c91a3de19bd99d07972f72b914bed59cc7d79e1fe9c7db63fac2342636abe5e395d2a898dabada0b4d7cc1673fb7502b55be1255593d39360dbc2a7db3c15bb391efdbcdcf6ec42ab1a462edb1f728c4093e3d913cc9b310b91515fd6e10d070eb2b106d41581f4a80fdf8dd78772c3130b04a562242e3d31e230f1d308835f15b42e5f95b20669ccc8e330a869451769d2ca802d5ae4f5aeb89fb49abaf20b3ab9863792fe586eb575729ccbcf90a5f2d13be721e72b49c4254e9f3ea92722b5edff0801d82e7cb18aa4919ede10199bec243270485612a0a857d13c5ea7108e7a6b1a367a828c0b11583a22ae4eb7201e7bd66259427b633fa92f409817a30321ecb68bec6fe16ee0d6baed5e1513d480c552b15ae068b569087cfded07dfffe477290c2348a7fddbb07f73c6f27065ed78be9d57e492aecff0582c3919cedc7b68f3d6168bb21a062c59b4f39fb00564a469dac305205a1c271f62e78cdc9ea26f70d8c8a7c8d2c5946feda5247250ec6465522fbf82275b3c674d5c5cfc2039ee20dc68b9922798bf7e263302d98c5eefaa16170223969507cc799b2f16e9896c4178a0d8fe7de19cb53a7d4280eb952c4551bb9c09613b76ba78b2e1c82953ccb0a0840bd9df1480926c3e8e8836cb19bc4c48c29c434baa73c1e2994c40df78d7eb3a85b6a3eef26f3bdfd6a180f5ec7277f9ef1be9bd5da7bb46fb96685d37eef4f2c972460e14b0ec323b3bc8906813aa278c8be655b3d9bb2397a4bd7898019a44ee7db7724fc3a8fa835b375ecdd858e1c172dfc9a9b9c637495b7c9413baa024cb81734ea9ac5f190d18f597e7d7af329c4d00e91518ba3a74e3fca255626d72ecb1416c921827b39a97658956593f3a108c7d583b43f5f8bf75a48b967de9ae2490c5f42b703c53cd338efa982f4c259270943effccce344431e7efacefee6c25f8334597f390ec349581c0ea370d351919fb04c8635ccb550767c6d54aae152a22b3d3c628213198b54a5190eaca6e694660755f980e6fa4cb41b5a35f7e248ad05f04ec66ce7c8c3a105aea6fbdf7f912eb27c3d02ccf8984c5442dcdf581c7acbcdaf6e888e2a21a381dd41fe09296f6d8b5cc9335822175679efe533d2c350dd00affa91b0d6e4a9495294b0f94286e3440c8e5abf0d0af80cb5774adf97b435103c138140d4cb7f38b133bb8c50580a5795c9d6859dce76e4f4a3e581d977da432984ad409c133d76a1149ecc86481b65b3ad134aeaa39770529ef260e3b6e9892b757c796ac9e516428a2f24916a86a80316b76f791b715a8ae8e45a869e751f5e06d48e6da9589a351b3e5c915de4ceabdfe275ddcbc816047ddfc0cd5c64fb662513cc843289e969b152d3223bfa238d47934b7717819cfb83b96e639401697368f2dd55b6bba4eb7a49dddf2dbcf86629ed8d093bd35ff572acaae0c94ec07136f79fa41c1a16ab8c3c64153dad540ce979e9eefb0cac6cdc92d1e00a52dda59e2022b48434d2a6b983c563a6c847fcc2a737948a2dec5c22fe2ed4141f1ce31c6096c8801b81f7f73acaed783d99d92e55e3f4aba5f472002c70b9f1de02cc32ec74df38dd33d44e6ff269e95af88891b41cf9bb48a49a22401a392bc9f946ce81edbefbb1cc684b882b4b519cc21567a9dd510f49ee44ee0864df53ea1d31b66393eec055a22c425a6f4a341797c2e06957a2269dc8b508708e2c2e0d9a6316a3f563dc3a68b14ace0f2a9f00e02b75ec030c66bb5f026583538d1b66b30da12e7d92ce45a14d130b5f58c5b5bfbfecaa5507d8e38a6386a87897ab9189997318a15105a8ec825ed7abf371934b0157634d6567b086252fbb092e20ffc318a9c8b4d82bcade7c7514ea732e5d7e6202a3afa4c19ad61c7e4de4e138988a38498057460e53a5da90513af9b56e1738fb7ec7e987bbcbc6db816b3d8a82ff68d1281d065e767414b767940d4ed7b14b712b0b232ae481a2df881c325a4fc936716e951f6f06c74a1b8aa8a6f9c682a1a4c9ffb527f4a4f35adc354635b44cb675da04b67b6d3bb4c9d87c7248a38821a1082a79ade218ea043c6b30fafc7e66ba5ee14baf7ae8f77f0f2405b05263307853501285b453325cb4f895a8b6940c0c94e770552091f3738e059fcbd0e44ac19f6646ff5780492fcccf7fe09bbfe93466891f814c710ba94425400a13d846add21ba06497b37a8d5dec2388c7525436538ce5d76dcbca332208fcaa21dd697ff3f7eec16c39b4228581c1a5a4b2b4ea5e36c5d70bd1afb284df8e45856dfdfa150cf635a5417ea9c2584e639cef8827cd78993619829de36f15726bd60bb4d5c432c7cafbf0299045acc3714f7b8c9e869f0722575b5d35b0f4b5aaeaf02b58dde668d06fb1e574bfee8e41ea662e7a6ecc0759c9a281998957c298e09000a73ee68c36ade6793173bb5c2f8bda7d8eefb3149408892e1c434f72a8542b016cd94bb0f912c575a6000a4b0bdc2ba29e40b30c6cfc932dae8c9e70033e1c9773ff38ddec8326a690dcc9780d383622832e8f80b0bbfc4ceba936ba93f616a3ad0f2171abc03d912f9ad1928777ffe1adf87e2db4d2ec25195fe4942cb9f5342d3039167d7e92a1a28add580f68a83dce60c32c068c6b0d57dc2bd974816b956baf6217c186121aba6224c4bd68ba9fd827985cd950ffaba4556319e8b3b31090773d033ce5fe602862c3149f6a0125da82afaa170de16b22a31b1c3a4584766728b256e9e608a515de047b1ed490b6e10cae59b5a1d907e634741100b0f13675af392a2d73ff83dc51e40cc7627c285789240692d0cc4e3de5ebfd9f4fd16db76485058baf533345c5cc6c78febc3dccdf0642ba5e74af3fae045bf04d49a68dd6e1e59b01375c2b341b4ee53258821f7b6dc7093884e18c3d32d9edfbbde556ace63cdfa49b86633ac2c150d89287c861589a250139849388c67979cdbb2054b1dd41b87a2ae4d05fc5e20d0c199dec78d48c38a81edcd63318ab3000688360e1e35adafe2be56a0b89be3b06f8571cf75d23336f6f38719730a9360ae9c402d3ae2bc0ad048d22c4ce12e7bd0ddec1ffc26ba948cc79069e4d36c2712db4478ff3862b2476ae7627cd40eb0176e0ef8afddfb8e9ed20df3c86aca983857618150daef2ce61cc31260427fc08067df12917b428a6d99205c9c0ea6bb8210b23082b9ab688d449fd1ec51d1d8ae27092f5f2df80ecf3b004d19e7af58c0439ab6a1b7ae931e723cb8b3e9edf6a2259f74b64eb1bad68bf92086b03e720999f069b0d9afe688b4fb6de4a6fc26593d3941e9a3ae83f07cfcf1c4461986b97debd5dac5a642fc8d472985d485d4b99bb7b894a869fc41ffdf97cd9f10487e5d130b76f44ddfbc9d4b0bc9fe3d06e7cdcaa558f70442a97e817e5372ebf2b577b37951801381fcc0d9d7561dcfaaaba42d590c9b9ffa4dc3b3b670a36cdecdf32997d00c279015d70819a49a86e7b979f8ec00982762eaf67eb2629a72ca5767119f7d00bf37880b1ba2935180c2b20c4a008df6adaaec5fd68b425592d4fefdf19ec4084db7d30a3442063cd225e60f9d7aeb10e000730eaf4435e9048c3870dd467f5e1f6437d8b37ad573bc2a7c4dcaaf7165694f96127f21a244f697259cd39f56611495395b35cb607aafe269817b33bfb3eb5d879d657db606a6ed9d7ed6fdd27910f75ed8d3b261a04edddb2658502be5f6f28a02e7ea150a6b0d20aed913d040164f0ebd73edeb655deda8ea4e5123c3216b6638b3f94a7d5108af2991122c180f270605c6beaccaa2063e587738c2020e7e2e3f212e7f2aa5c076179d1b562d12ebcb1f5388dfa6f9b08b34296a39634765a300b27d4b1eb4f86215090eaa8fda5803ce1ccbdf56cb6a5fb2f53fa25d332abc0d0def08d759d9f42e78b56043fa054802566a5badbc5f5d2090740fccf85671a22b2b0cb5657dc1d94b4f20fd95616beba465541196423e0f4c54e94ceddb6d820905289807a9d410d974319dd035deab6eab1f6d9928fec3ae1345ec2b929ab3b4aa77b145c1c6c989dd4a9c1ebc536bace90f0f71e94a6da6636823d934439013043973a9edd3c915cf21153cb80a55e0d4aab29efa04a9ca3011d2dd85620cd4ae55d4f311cf0755d146ff01956277618f2cda5a1f6d306c6c739b92a53d7b7b01490e6439ed881eb18d5204b73bed41f3cb5df3198fd5b0a2cad75b9c10766b59b97f5d376c77c42f07f529ad9741b8c38b3850ff6e31433bbe9ae921c4f9c3bbfcb0ef01d9beccd8933fc8f76fef6fd0dbaa8c354a772bda7fc9ac4b14e74b6b3cab0af30b9bdaee839f3e1080151774be4451be6f0d15c49fdfa390db3be6f4b1a6162afd0b7e92399a95b49bf8ccd415b2ea05704e81465e7e7096c82171f3eac3e7b47c070354b1fafd3e1258e3a3112b0fb224e097513df1a97ac17602ea45b20d6e39c0dbd18371907de3b34bf353582228a5fb523b7d3120a87b63e2ebf8e4ee0940083b2e7fa15a99de7cee10f80ed74490effc025a058761c0f19dc2ee97e2d868a325e16538776712e4b2c785c12aa88b8d76e77bb41d9517524ee3c33fc72471b7f78376db0ecc10d0ae2c4fd48fd8da5ece36359432a83c4bede61ed8a0d1b11e1191293a9023c20d01493a2611abbc44a9471318171eaa8f539234ed030f9e3476a755fd8a2a4175395f6608fc9755d72c802ad9e674ad665fdad4e708b18fd2c182728faa0a79e87427ee29de53cd58d2cc8d0de1ceec90c7800be9f7a0d8c4c997e1af9f8612d73bf96651336abc67b17f951f5cb1325cbac71192aa6c43d79d845555b6593569cf9b5767616c5769852b0c53b8eba72beef037263c2d59f4c6ee0549f0a75c4b734462406f2f14a56b029cb3cb5934ddbc5361b35ee91b83a12183dc98483750d953d3f6fe0a041590b4607a63082785e824f6b1a4831b440e36d626e91382d0d78a833eda5817293782ee920dd780624df850406cadb93d11f5703e48fbd25a1dc568081616cdd6808eb5c8b72619e6fcf18eec2e47c32eea957c5a928d5d9afc16ca02416e12e8bb6415bc79b931b029d5518ee65d8d1e88fece4e5f587f6ac4b0e4c818e48744f06dd675c11ae43c19dd798e836c4b3acd22500054006efd3348ceda30e1643ba7cc2604b3eec6292c24554f3329f5a1b0b78d9fb4b772b353f14aa36dfc9cdd78a35f382fc3eb745ac6a60bb0b462e3b874af2a22a8a360dd7805e3d9b9f69d80020aac6a19ad688267ac8d872ffb969fc7c54489c610284bdcf1acfd1756fe140f7bad4741e4304cda169929b99c1f7da60b8f8198348436397fa9a8b1aed53979bd05818bedabbb68eb418c53774a8198fa2142da5c8c2802996263981934829e0eced3fbf4ec21bba5c8a68b5d1073ec2a5c51e030585dfa34d0e645cadd109cdbbddaa485aeff3e538fc13da0832c072a41867ad57dc6b5993a355370c4bb66cd3a88d8d6da4ad4c580742b76c5dc33ca724e389813847ffd9863d96ee075d3e1becc2135b4e76708cddb1d8783fb92825942efe9011ff5d3a79627c9929248051807d48732870b4086018ecffe2402f103c841e45fd46d4c3bd81cfc8f572a1bceeed775eaa6db118cf2f69222d28557ab7352b4306b8b66a8ff387c9c064d6978e38d24373d230fb4dbf3f5ec52835e3160aa43450d07781be0f2060dabbcfd1c61381db7b90f0dcb89e1ee65c8a97e6661a8ceb718dc1022c11d1626bb763af5f027464587ddf8085a29731a100b4f86e360f0ac39c8c0bbbb6a9abc12db3b729fd018f93625b5b13980750365b5fcf267598d077e39e6aac7e4b5bf7ab2a4bbc24bff44517dbfa1f6b171d22959878dbc3fac40449e43edde2617f266325aa5e3225e329bee9d4bcd04847433ae4377385574264a38c5296ad2a9b70c32315438871d6aa38eb1d53f4c40030e7ee49beb36259e56f94d49212d1c830f7114f0b9acb7d06e667c3a941dc95eda2dd5b0f365ad2ab9cedac6c9689c611be436deab8ab424d6fb3902bf9616622416018087a29861cba13c55c05f359c762c3814d46daef59eef5b55e41dcfe2aefc06ad3fb1f54db2f17e50def358e55d535bf07cfba93998a04d17a8b4f44cefa9fefdc29de042d24c71df09a3c9b915dbf0b72f7c0f53e4713e11dbc083be4efc8f5ebae8f368e540102df0aca62788f34c3553dae1b8f4e7cd16965347060a05f38d7f332dd6246c7c402c111a12b15f3ed1069b720ad446b9396f2dbc1193adf91ad2040c08ebed77e0a91af231ab1ae7ffedeed2471d375f6ba6cdc4c4d70a40477480e9a7a3db84723308ab5d35c478eb5dc6fbd93c224a1cf80c5c9df399bc3a643afc523743532a43845d38bd59e296630fb4523b229f696d2362c15055865e12d07ef9f51a1f7197b17716823ac881ddb597837b5d1a5cd6d62952451b2dc2d148fdfa0d2963c22adbdfb5f63540a5a3d526f6c4967255950d13784b26303cdbe65641381aaf8f35d15fef6d118ca044a782c1e149653aa2b0579bb300d7822ccf25b74a54dca25ff9e9240b2192ff863f2817c8c59980fbc3c9dfb9d66281e9897d2769882a32c7c6be91dd7825f0a3c45f330c53cd7043587f5a4708f837e762d24678afff4ab59f96cb485403998036c58a27870a567cbea4b28ddf721214bbc0ab570fd7310ebe6c0abb12fe0c04994d2593a72c451cf3cf423a7c94e00baa511871d94d70099606044a29c070bf398a4510e88a57941b6ac836bd97a7241153d5b8603d16764edddab6e33b9d182f0b64779fb1892b41e68a5bbeb880cf27ac578dd0efb56861545ea617d45f2ec6c565706e39cb6b5fa9f87433523b931d5a55a46075cd23b3d9c8e0d2071fd3a98b724b7e69a09ec1844d9e8c8e7227692477cd6ece6a06757dc05b6e16c6e82764e9ac8a0fd741ba8aba0b78110a5ff5daf5d6bdd9658e0636c3d7d04049242918560b4eaad99d018470d22f72bacd78555e06f000b8c6029344cd08b4889fd9901dcf4419239588f1859c4057d8737e1d78ef01c0a5698b2bdc58907578213f381a25032595a0fbf65e83222e765c63e3f5d7949ec156da87d8b8983fb99711fa6ec7850e85e596313f676b2c9a54428cd788fa52c2b5eda9511ffe6b1bf2b0a3a3612fd56286ee10ff2888f57174b79223ed7cfb6fec2a826008f95b17efe83a49a693a60b2855e043427aad72bdb243bf87e999ef35c7586d2475832b6573ca6c42efa0752b2957b01a6a825328f75d725b17167a9f9bc168a3a0e0f45830858bbb52e7b710b27b749994a3b55726f7ce63f04715dbfabe17919221e075bbfa8fe1a53852ec815926f203dc8aab228d59f68f00e98900084ba50cc10262a7ccdcdb6e4e9441b01d28c4445b143dcbe2bccb4243a4885d45f55dce7a043d95864a90868c6fbbc94c60c894e100a4ad07aeb92144e98b463c4300b99a7a0713d174f45e366ba8f486734e4a5c9079276cfcfab6a58bb457b6aa3f36af426600e348998f5593d78a0725c96ed25ba70bd2781907241e93a82b3fe6f3934a7aab556171237a519d4ce608c75820d50a8c40ec2ea16b890ca3f29c57bbb8a30005fcef65ae03c4d3449f3ed86180e4d13c418431cf173187aaf081711b4b4514e710e392cb6aafc0215e2e589c6ebc2d7997a78d9970ae494f93908fd375879bb66c2f79b4effd075edc46e88636048639d6d1f06fbb021b1309eb8d80fd3cc9526c335b86973060e1418a4b18d7a08464c369359c670eb5724b0d4e1e6648dcb9f9ea473272f367f64ead75e51ec51f16ff77f10f2193764d4dbee005d92005230b79c35778a1d2632a71d503a2bfc92c802364709585e58da31deb5a132ce2de791d7bdd2b5ee2212cad4cebdd1727e1341d76bf2909edf571d1211c709d544488b0cc28e2912844297245cf5b974f690b74b878a3d23e911781a1a7fae5ead87d7d2b19bacea67333b7ea585363dab0dacf21e336c37d933121129333ee857ffe75b5664cd0690b53a2bc3b4c7466b36604016e53bb12b9ffabd1b5f91d336dcf7a0a0196ee41edb74204c267293c58b6f534072ff657866fca300168ec67deb89289ef72c6d2f574046e3261c27d743ca283d0bea56a9cd48d9e8de81cd48942fa405885ff5b0508f74941fc6f2f0c50f53739664cfccb688b1d719463015069c56c76c2b0e8c8b0c2d7cbcb164bae247954e931c55d6c78891bb8a51a0402caba5a0892393d53fcc555419302ee85a1042452e91c1bad3a1c4f09eaf523e37670dbeaed4454cc360108f1a0344ed0410ebe86e8d2a144cadd14f1f07623834e44cc65ea3ee65fb407af97fa12e6f77ef937ef1d989f6397ad1e08cea7e769c7843d8ba08468907a2f78d3c43248575da5255f76a8576d5e7bb0ec112f6f73918898a95d4f48c1175eceab24d1c60df3598c1d8618b8aa3af1fad1f60f75984c59f24d613f75e6e42896c3cf929cc84825292c01d00e540185fe7032762d509fc81b3cf16b04fce09a74067f9b3265e2e3f9a648b70df7a1a766a6c8775cf07c7844400027ee949a747d9473ca51cc6a76e06bccf36e9e153fdbedc84e503741109649c73674a34d20f4f6a8d49dc6e97540366c791bfada423b57bfcc9587aa7f32d462237577d2cf24835f3315903a6100eb4b8c2228820f29a46b48d5e430fcc30ba9936fb6ee43c354648828290d7e89a4b9d73ebc68e4fb097011b8426ea5249a80c2dafbab911367fdf41ea5f90d4bb83495badec758432d0dbc26781e9514a1e698a2076fce74247793f855fe5833fcba54dbf59ac30cfd24e984a8363b75a3129d663b221a0c6e12b9a88b6934e4a78719ff3547302af3522ca95767f9523b8d36107a6b281903dc827e99d6dff5d7950126e2287732cb378fca1d5923e888455e4a03c11cc2c78e3ec1828f05b0acd482321935382abb442ff653d484fd579af04c58160605085793bb90d86e80445302302bfc2269a17ba8a494b3530baedee0e80ef7aa63d2534ab3e3abe8c2506ae5efaf0eead5f056c9f4f1cc1b66e382fd60f7df133bd94e6c33098e3be41ca739288909d07f1b821990f86e3ccfc7294baed50721b66a79cd94ca41d9c34cf9654525aa4f4837da4dfc7c19ee82b0847de3d8bfc6dd664a464257fc8512f1d540f85e567d284967fbb66e3e3473d860475dde9f0806d3bbc7cdf28c7575861ed85fb4d02e5dae55412e66fcc6850218c3c931ade83438e4a6b9ba633f3b478a0f0a8d403e1154d09ae2b7e450e049235120e2e111d3c77282302acb8b4587afb8fb9c73cb7ccaf783dfbfb60730e5b2fbe7f9a04d4071fd916d6c81ecacbe29ba73f470e523028d5ea67df4a45207c735915199517c7798a9bee2d544a1ae2d3e1587ea2dc91ff4002b54d37a616b33b56a88bfd0b9ae318e9d6e558a83f3a53d402bbad4a429b8378ea9d5a073ea9e68956297d75b48e511515981c8063aeecbb204637cd19a09d234f72522a18d3cd8f1cd7a1f1e6f483e16d1ab23fd9754c1f19d3f047d1e6ddbd48a8a2ec371b19a545342161fa5933d3beb23e3e28a3767a2ff901435199386e3b9251937e0a0cc3e7678da9e9a0ddbc94556727f146252da2734dead417090b6f501ee47b30e6af6e9037a2a4f6660949fb3fd8bfdfbdbfe9d2eed84a4bb689fb533f5e8012f42cd5b3596f3702f24ef2ae41e474100c64d75ebbdd098b7831fbe7b27ae5b9afda61b00feeec1088f92ac7926e9856cdbb1d77486a63504ff6da91388494da8faf21ea81d20f71b8520c11eefb9a94dead05eb0b5c9b91b2687990b9f6f37628cae27cc6fc2ff7d3f4db4a5385d56c210226bfa385248a33dab72e16418300654abadb9bccb3493c4552e07666848bb8c47104a9b0dca54ba2d73247aeb90d33d54ccc3404868259b39c9012a0c120407e0094653b39bccc67699beb26756c4310261ab7652fc737fffeea9e0df10cb9e1e6b33e7b48585df0d2c08a53cca250ef9529a58a639050e47acd9ec0d0dca00d06ce51a55118abd13b1baf17ded4f00e0b151cae22aa9272a0c0e41007a2416694a296d7d30b5eb008ba523a4273afd562a2302dfdd7e712a22437992f74091aa6e667ffe4cf3d077a96a6acc92ca3d8605c46af6bf26bc96783f5fe3c2237e8acdfc2839efea3308f9fe83f2536fc45e2afa87ef76ac50c27819d45fd0401bf15a515340ad506ef23f9c2ebab7927fef353a46d2183e0e0a4ac01206c78f8772cc68ec74e1916b3212455f929751505c280571678611515f31d96f4d0bd780299f48a25a95abefd601b18c86ca57d9031fc8d910c7045185d9c4a05ab92d674476aeb4de523408abf6f36f084c4f0f066422784e635ecfe27abcb1ebcc5e29faa29bbc9f3b7c294a842fc3b59d7821944ad2a729f834ef2bdcda82247dc35a58c724b46fd009042dee0d70ad5c0fdef95c08042fa2a38701018ffac1e3ce050b1cf0b56f0389816db97ee0c4596df806c7aa45d7bb3d1b98d327d8f62ef6353956e607f814a988d3685339133fcaaa727741a22730437623a6f699558de7219c7973b01ca0a444c73e7570324a0ad896214fed972c661ecd98877344733ae29c3f32dce09990a6ca1dda464d5f7cb21e5764a64ed1b50004055c49fbb4be01a4de9a81e383a45a766e63b8fcaa97aa1225918b38e98fd1efc90d7e87ef7f76bfa79b7de4c9b20c553b06ad0dc90decec80c05f7e11b0b6ef6db5d8b3a1ee70e471bba60ca7299cbd7c7239a38743ec800149fe4f95ae2f757188f6f6e05977a5a23308c76452cacf4835695b6ade993625f193c089cd011d11592957d0984b10ed4c64772cb951dba77330a451ff510bf9f35ef42ad9d67f03b47efdf7bb5df25fad7d459c68b50ac393a7b41ae181370ed5eb6c2060f47dd3183f2dded01f41163aa8b2f0eb539b5fa01d4c7fac584fe8878656d72b450692e87fd9c64e48b73431f29e634b10ee44ed1ed7fe9b2d9994c0170c4245c727ad25c0508d0d35571102fb016d71f3580a6e48184a05c88a6b890feec4ac83321a43bf376e75a11defa24ca60ea754675540a35ec5aa2833cb965f310827347d959aff35f505da4e37871f541cd184422c6b33168e885f43dbb9bf899a41b59c0fb6ba87bf56a9ec2eaa211ca86eda19becae36c0d04d7166679703d03766951197110dd4d590111743372acd8342b069e13e35792ba984f2250166c5f847c700fb5465bc81a85b51ce74ac9be7f9931a28e75a995747a6e22328733b97cacd60b2f45e2d10b29b2857a94eb14cc88c0633d974daa163cb75463328d1757aeb76d39f4b26b0b6e4b5c4ccdccd95019390603d958118fa640143c59a7a9ffb42ec2c6046380a9c2ee94b66cfc44715292eec6bc7599c136847b127696cc8ffcd953f821f7244e22eea99b9a109ec1f1ee2bd3eb01c3bf755386559044ca09e776f74bcd44438fd435f9b2180f3838de59897c7c2d65776c55255febb60e63aed7b5b44e397f4d6b01f89739d36557b36752087455f911ff01b1a220fb8acf54d2d1670197675231ce4b99135a0b0b06678a16e41dc5756da15a07d36bd780476ec18e8053e7914bf101b9c03f3758679b2cb6eef6499b030dcd4b7238c085a18a92d1516078f0d8becdc9b8d67f5c80b69dddbcf23c39a8a92f278c411fe94786f50c3aac32876340701ff10538967289d8c307b108dc59581bdd159f06f84240c753d999395318442465c31b5a83feaf0a82290e362b3a1f7507580602a7b2d7672d852d76892438a9bf419f45e0f95c6d9ab02ebdcf3e55a52f6556eae1ed1ce19ad9731743bb301083b9f5ba9dd8670c850f825608e6ad92c335df628392bf5c36b325d34211f5418041121070b48a115b03cec9589314c2b8914ba3c405df89ae155bece706b834fe0158d5251f8cf1c06c7e68375eecd801044c633726557521e613c3c0989607a8193da1e533d4eb65ec76bbb9d85f258045ea7f7fb313e068dd79d1f0b70c084ed90c19bc90b19d1ab837a18520321b065d6f2fd9439a1163826889b9485734c3753877ec8bee0db163cc08e16813317eae24b720e663e741e872db4e2462da5ee39709601d02dff1f50eff6b27c2d9f822ca26e8a2aef7d1a67a23b532c0125ba9281dd279b38dcdde45f314e370183a0441db725f8e68e67ea316839a50b4925d4195b590f765dabb9a87c43c2849db6fcaadd3e861ac7469761351f9ecb0b5ee45d5d48eb30e265559778ce8807a375e3bcde1e77a04361df1ae49d84ef5d1afc433693fe7b3cd480568b744d87b8a6b3cd58b26ef09b4ec75d78770bc73d3b1d29060aa9649fb4d9157353b105ca3a5fc6c6d35a324fdf32fd3c61c89a706a550a9693fcdbb1c967078188cdc13f8843544efc753dcba979d8e204d59663795b2b8a1de77d47127846459453fafb5b9ede299330872c12f9d2bf1a61c4685b0f6adc9642215bdba3cc853d65a98297c38e5596c90e09698c8733d43ac7b7a94c7cfa96f084fbbf7cd809e1107d3348301edbb1a3cd905ad9509ac92706120e256374df5ed3a4b026ee15656b1fe30c7d7bdfad27d5cd849d812eb7f5c39f00eebba3ea9af7504a7197977f30ff8bf7051e4fe020e9126cc57765ceaa5634d1a002292dd27be7c2c0d1a7c4afcd5c81161330a73b67c5827539bda335f32655146de8ee8c8ede367581d2c80b1c997a84aea3a911b2b9ac52c8a7f76c8cae69e6709b110341ecbbfe5d4dd23d4025c913107b80ef413c1922b87af43fdd8823b6aad5802979234faf2298d9ddbc9ccd1a9e222e3c5a186d796f0371c35178c46260f168ab4e9419561cf27f0b97f38aaf13fd31ba534359e68fdaab388b37d38e80f57de27e7bcc41e96c860a5c67a1cdffb0803d46cd438874c2e19f9a12e7b566b90b03767a614b7fba8e173fbbc6122e13c9e69c75760b71825563a904f0673283246eef84385e51be6ae0635b2f6b940db02b1cc8fba800b811000b8ce40d0f82be46015102f2e7b45439d985aeee35c0a42b32ad80f819f956f2418c27a8bc4a16f8b777dcf7f7314832c2b2813efb00e1679c4933ba3003ead10d6cb2a1272f5150ba275148deb63934d8e26e28be09722e633587389f4507e1e8937cf256c8efdd6edfb8225df682b22296295bb97774b8dacac0abe98ee1cd45a25c9290444a8b3bcaeb4525cf5c1d15269bb94c6016a0139e26cf15b25e9932ef6a0d4d89b426f3ec3a2859356ec0373d699b6de014300e8830794aef7ff8dccab8fe9805d665cc390aba0fd1bb37c8898a59500b830fae4ac2056a3f019ade82232c04b13fb32262e98e835329bde7832366d942825911d99ff9aa15cbf507094cfc31d0cdab3daba556dd9aba18c6d31f765cad7d3fab92abf87e06f66dda5d62253071d8579eebb49fad0c9436087cbb279c03ae39954197af68024545ef3e39a112fadb24950a24b651c93f87218ee4d54cb046187d21ab33c37e058b4aee9998c098f31050182f6b83179217b43273457a7a779c796e8f59de082a3dd98b4353bc1de8977513c9ad81a6dd3ef9ec71bba1d52405caaae8de4986052a6e09798065d264a4ed112fe2257ce5d86cb2cf1c796e5261b8d7d80adcbbef298b4db4fc876f08efc319048107e5725296c92295bd72090d892f9e1fe2b653ac8c29a4860d429708fb7831355257059da2935b422593e22b527f0ec810ed5460def29b7b583b3c0a9f3714d584631b7ac8b8ba8c141b74229170289d5594145c4682697a9572a62004045014a16edbe89b6003ba4fcdd166954ca078c60ed56826ef675f593ac436fe33fa068abe5fbbb44a64e61e9020bc52b4799a862b1eca681901aefe033b9948c3cb76f6f325969bcb4aecf3d44441704592c577bb0f92796d2bcb3b4b0f861ee13cfa2e719daa5295793f2c7f4aaf7580cdcf22ac55cbd9d9634f3ee63e544bc5c442843a26ca8d070723bf5ea9369ea9d2263ca7408e68b9d45568884cb8542f38dfbb4db38c5fddc58dfa856f3cd967427474a207315f0dd787c2ab24ba30bfbcc295737fcfe726bc5846ba14ea03634980970595d3e3a2a91f0c473a1a99a0446b00114b98cdbfb66b6723273e694cdad1110c4b442a2eec18061a50581953add82698f97f50ea0b55cf5ce543cfe4c5c16041852d73518942040664f6438f0cebe5a945d24180405bd807732da93fa9da45bd9f5f4e7d8d521ebb130ac47fb12e73c5c6a502de95185db11c0e946e247f5f9e3d4e8f34344f8eecf6154379c564da4f13405173b3400f022498c5a121fbc388f3c279d5e6c7e52b0ef1215801f680975f2c0a56f46cca51df6076bdc5ee49d9f546efb0d883f98961c9f6e72f56d47d5cf7987e05fd6df87290d32414609dbec4eaf406916459adf652da79173b787928bc292d4605e654044b20bd2eb65af469b05952b583fdc89c211f92ca99ab158f9e6d8c6fce22d9242927d41e90bcb7e6cb4d473a558a6ab0c1733f095ba27dc9aaba7d1d621e24cc7ba2a80fdc118eae5bd98b444cd6973a0f664f3be57a6954dde20701567ee8a8def5f04d2dc46ce3ef3a4d66019df53f0d03c9c6614b1f33fe23d9cd467239ae1d162ff1b8dd8c6064f9aaa2169ba4ddeebcddf33b7ecda516ba76cbb585853eb6270f2cca5c4d2b31ab2b37cdf87f40afcefedd96286a9e4b87902fe704cf475f0384f4d24f71409c5ff068f9a76cc81207198ddc1b6bbbee3766f1ea096c3c90f6b9c28b66c0eb119b318c1845e33c20e887d976cdf0d63109d979729b84078c7397dc0e6a2cc250b242b4e88cbda17d768b19c96827d25c03c05f6cacb96dea2e9bde075c866e3939d0f9d97115b8b8b30f3b48d0827749108d9ffbccd6611a30ea2f4e6191d84d009617c35fc4f301358c1b7281ec1aad3f6e28a92d01300616fe0f8b4493e2bc1012c004b695ef7ccb608c15ca34b9aa1d25fa9e2afe665b914e456f30d4fb83f6ef195498a140dd7d423660e31002a86ae61c5e0692dbd59dfd4bc7632246062decf5f0d1d8c4bd36429ae3591b0c2b262ca12c8d72d112ceca9df615b831853fd19e1327e8a7c83d3b9a4046e8b3db1c239fd16c0da969cfb99aa4ab31ed362c147dbff5f713be8945d0ee48b1e82d75a603494eb1426c46336ee701124b2cde17b1b3df565e0ae4c4cda944f940e271b390caa71c88d8350d3d832d3b536b6b6930977cd42c124a868a6b9f900bae168d726bf41d578d707ad372eabdea8fbdc7d098807ec8ab222dac3f0850fb0d14ed633eea1aae319c7af505d7625488df2c8d6facfa8e90105a0d3c8929da0a4a3567bd41f050c15f42366f15adf564562e7eca11a5c0987c7cbeef07416566d411d22de644c43ac9d754f7a765469d7f6b72e897166bede2cfd42638e5c63653cc0f3f4737aa4693e92bda52bddd31ee4e4daf90763491e578bc004401599718c5092acdb2ddb8ed0b4bcd240a51bd9ea80cb699ed38296ed93f75ce3cb7fbf592eb2d8d066ea94029b2f8c5c79843d1fe6402f0e39ea5c44da2ec8974c25b488ecc06a0f4e0fff28fbcedc4296e24d9f270c2d369df9c3e6caa28fdcf2ce369b7ac0d2396422b9f8968766ca300f9596648fe63084619d2ade66201aaccb168d6dec8ccee379ed9b5610c85899415120bdebafdf855cba2b1f39a2fb4cc410825f1d55c21d9920cf395874b66924d685dae591776200d0143d68e7a78bec70ec09b26e34623e95e1b07cdf3ee58b6d11bcce14e590d18ce72d6421438cba43c13bad8878186926b233c74fbc544d5b71fa6f60392de87da5993ed82bc6c43a6cd189438f4d78d1e5e4d4144b8501ea315abb95b9e24cf78201fcb8bfc73f1f3c6b2fed2d123a4fb70bd02f0b02d1c9f9231affb3eac948abb295aa614356099597b4b8af9a3ee6955e8e6c55e8bbc2e488530a56f8c4a5a1c3e363759f0666aa18fcfb7915b933463b3132eebcc3a74cb3103eb7a4110c8d84e1eb1476eeea26eff08a6171c9f652ddd60dc61d2e29f72a7bddf3fc92b0d219dcf2646c5251c32f172de071b47aad3e1137cbdccb3e3314fe0b25dcf96df68a93c49cc2a2be1cbbed6d5af3fd1d9da2d42efec97001ac72e7c54d92b4ea37244b82500ab11d1b9f4b207774f21fdbe6cce219ed1b5593203b0ff4ef3eed0cde4ea167cacf185e59c6e058de0ab46773e74fc4c32d7fbc54def1ef31cb63302be8b3e1d8676769130924b0e8895c5da1ae90cd171ac09071e4c13409310aec1956b9182f71c06006ed1ed61f81d87f4e3db7934f676cd5304f631be0ed4635b916ac21c5988157596f708ce8220299a8ef9d4e0a0738a16410205929d726ff26774f1e41d8c0ec0633e54f2b0e10ccdcb7854e119da5d7bce347e0cdf70f5102b5b3f9663a86768a50d48e5adb301ebf71f783a7f93a6088e5ef5c33eaea2b3dc115fb7f43f92b0a13d86e1cedfb0499018dc138b9765c2f52581bc4fd12a5539048eca508876fa079ad95b3e859681e9dc07e5c28d696b0a38f6e9dafc5b9cf012d9d525b9c6a9471c6152425141b92007f44524cc4cdbc67246844ed36940e8e462fa5f1e1feb2acaeb7c3b21d4296dc7411a3140fd15e9571e4354452e58dbbc267483a82e62e5b019a70d1cb4170516e33affffa386b650cd15f12f5244c8d5c3f4e9fea540c061915b696149c32cfa7a1b976c45204f7f8951bf12f315923cbbd5cd8a1ade5c9718b947c657f6cd6ba812c9084b102f7c214804cc7d95a79e2b5d580fb9c7a39b1226b5ac8a5b6d7a96429ed23812b955f55bdd6a1cd825e6f57d017e35b8ef21e2d310fa0ad1a0a896dd73392f103e26faada31e7c031102adb01331802cc0ac5436583eb5ed49433d646c338b5a9df50808b9085e2bb41eb3523e4dd6386d78cf72db8a2f7cc202fc530476ba77f2bb807a542d0d686d86fcb9cccebb490ade2f916e4de451b86442e1fa3693a9793f51fdc8d5f1d9c0046ac2aff30966310e498aebf8d93ca83d59cb900e3f9295a97a3cd8a5eb0020c1664b8bf3d2f427b632361c16ffc2abc04adde4b460b44a9ec7daf90abe4709a044cceadb7f4baa2ccd8c4ad71cbeb5e8b0eeb6f1367def553020b8c7b14454095baa231891df54dfa138dcc21a918e8e93d3705666e61139fee15cdf9019e7dba15a93b238752ea0d616c6c0d3989d8ece058b2e54378e2cf78e0ca7728b51071b42acce7921b5c83f8706db8f45ceb50bd879d8ff34e5c7ec43633b7dda8285f011c8ab816a3fb87cb39b685eaa361f592058b259b75b5c2a24e99a331807932ea1d27534bb84d90fd801eb01338f332e969a365027ef03c8f17059c193d4c3e30c2f1edfbf6ed9ebcb642462745cf102bd19d7f0c686b106b0fdf6e5bfdf9dd429e841d07632d30a95eb5a66fce78551d4bbb465cfac649e1d8a2cf6405cc4ed0ca7dcc61a78d88c431b8e900b751f6dead6bb8534c4f410c754646ff1208adcd4b1f7fd95ac9c460521e2d58dafcfa8404f6b58762d350a64d37717dcb6de82e36a2f037c8de9a5c3d55da6150f4ad7c7be22ff10abc8814103b7d3d3fc4c2b4a06f78e2ba04c7a11773abf9ff0b78efadac6adb3ab921cd2fdae347de6541839b916b48c2d370868f315df71e1da87f976e5e80aa0322f6522c4cd210038768aa275301ba575d413ef15ffb00242b7560ce6402ba8c6b84a909fedae69ffd0c5836ac13a2f22c2ae1680a7f8f370e3aa71eca9274655121c870ded63abcc35ba94b6c1a67cfc6431b27d4538068e1fd9ef5e65ddc14e79a85566e16f59114f76cb75b2598627c79d0a26c69e2051a5349497cdeb04140598f1a3065830bc46c7843d11d30d8e0987479fd393c75b2f0e620c50efadc96dde998257c50703d2ca5c6e940976c8a1536f1b5ba142861ce3f5829e10c0d5b546d49892305ac015d5d19e07667b9dfbdf9ff02862bef331a81ad48ab6dd497211c2d9bf203b10c6667c1f471f98f1fefdb549443ead0f6a6ee9acab429134952923fd78f24aa6de879a7d67a7bafd0be40267c6ba4b4cd71ab031cc2ad3e4901f74afa002fa3ff71051ceaecd7ac6918d54a7fbcccaa006f85bd4f5d3d6d91903806ffbc1570ab95b65a8fca259d69dbb2cab6c1c64c890ac092774f59fb8f22106c781ef7c65f13718a58490a0f4a5c83b71802afb2bd4e50961dab103bf245f1d59fec0c71be315f8e2fb5cf34f26bab2fda2669df727e48f311d8478b34852d9e1bcf83bc817e52596824175eba26c65dfe283c3af7d0544e3dceb9433f65fd2246dda44a536ea8ba6fe0a484e29d8d376be9cece748f71515675ba69d7e54d3621ab8e72c518a216d77fae49f68c1324260303ea78c49b12a6f005256433bad2d863541238fba6f021054fcaca338f57ad89c1b792837a5df8abc416ef1ff6fcac78173c65492108be395026880c15b78c689dd4330baac5348bebd16f905fcdfaaed2c2ff38af080ab181219b5081ad79b2a1938349c4eb58b36a2aef5bac240bac9380e1d86a760993dfdec8d7c3a59baf83a9b93dde6292727c53d7f89accbc26ba7fb440d30bf965fab4334f4b402d36db7bc696794870e04f687e695c6e19e4383362da29e1213232ca2e118ff8295c488a3a55c017680f826f4b119b32c3301a283d0584d6f3fcf892932bcc2c221c914c737c2d3e8edbf5dd0cf0d25416275f075c9176210f6ef12ab4594fb34d3e47993a43e968c71f731266dd863841e17d1b1d9c65e003adc005d07d680b41e7e73dd92f65e400bf043cd89c1220cc37ba47b2511200614bba28ba5bae61b2307df17c1c017eeee151ebb7830aa9896b0962022378ff687ea7b56c9522a6b1e96b8651be69e7654b9fbce16fcca0607ed25c849fc545da7856b8c37c9d9ee8fcba48169c585fed901ee9f62c46e33a0b9e05b07e2a45d5d1c5c1bee68c9e4c637596bcd4e97ab65b00665d64364016fd6e459c2c55eb5f67a9a1dacc7f67d363e7004e5fe95166688107cf3273fed51ee48462af28e714c3dd68771c91ef43d0c34e6b75125b051c7665245805e3a8e7c56fbcc0bcb6d099026297b0637acc98cafa0ecf7905cee2d85d98b227ce29b3538f1aab09696c7c64a6d3ccc37c4c9961ad4a11cd024ad7da531735baba896535e513f7a04981c73c2036c10ba4b82a6f21c836045bb1e72210059a76d4bb43289dcf9b789ac52774695203ee7e1680d679d98188a9fed62fe871f8c77d9fb83561185de6a7b32cd33ee9a0b580da43d257fb846efa2c5c4cbd9c9a0dde55204c4c00506484b55019a65be2a9b18d52a03715d913127ddd303733a9097b067575218f735f49282bd786f0239d46d41bfea3bd008b635c02c77786f5252b2b4fd78db82f4c92e5716e3b446f5363a2804581da5a21b9a0bfb7ae077ba8a87bf8b48a15513e7349785b12f96dbfb68a777ed9c83108e356f5cc95604da67dc5315f982fd11f8daf3959c6428d744f01aa23634c59e9f4b04aaf7ba5734b1a1007e2b6d3ccad7deecd7ee5ab660d49f8e1ae0667b59269fc3c402233ff200f3606991dcb5876a74e826d4f90cc3ef2058807bc25f50bfd14029b44d46d2318b711970227a56200ca6a573937ecf42e85256b4f37ea2d24df85beb46327e9073ec0fea1069a4a7cf25d01966ef45ddf2fc3e8eab370eb5994e542095492d61be5f1d9f7da051bc08469f6e3fe3e1ac3e83d02650f118afdfc803a089cf13afd03fc1d9bf0962e136a5c633b1189355afb16bb1cedb2661baf47851f7671b4af4d5c1158a205f06e2b977f94e7f1662be9a7bb91ce5d19e28b6add028697629100d03087ac07044010f36bab946c63c40506811699095d2ad3b8d5f311f593536d4ba5d8221bbb4b7d17d31fce04edae9ea45e7235254ed28bd2ccbbd0b58ed1c6770ccd11d3f85eb7b93c932a6f0235b26507a53b5efb9ebce7ba4c62d346fe9401dfb1741c8087f0cb4e852be17a495c5ecdfef70d65e1ef1b9f698a0b39fa0a8ca52edd9867e1528548fd905450e504597eb9cf9d6c36c6f2963f9464c07e778e1708064b2bbbf0726cb3a4c5d825688d3433ce5ce00035af8e94f33bf0a80a51f15aa6f3f30c69feef9c53d7aca985d9b14702f178badc625b494511ba8e155e8e400f59621a42c1c294226c58cfe60ec1e3f069e950c19eac7f4ba183f6dd92ae8a71741dcf9122ee9d5309a3ae3613559ca20f929b8048dcd90367f6f45f8bee0682ed7b04be573a7609df7ed8d208d049d434c1d6f507bdb1b47351e63f7b47fb106e488a7d103b3e7278de8bb4fbb9d11aae5b3af3c5e2db342aa6f46047cea6f3ca69502b340d63f0edf6dcbcde51446479c051dc2e750f4403ad74152afb95c5773d6400f3cd965bc3af0bd0be75fe4056a5a898d438607742d21c0a2a2f5cadf934083338e3a629e716758ef3f9068291f4d61ffe9dc8e5d5e1182209e404997503128d755ac4b0c7fe5f311a11002f5afcad8fd600e4697177088c4804d3e4f22ac728e7ec4c1107754710a56ef82fc9a478798565880c41d4a6949c6afff16d322bd7b344c5e93b660290828b4f8f6dd043894df8a8f5ebf88e391028918842cf7b77ee82c492531dc158ebca7d75bd4b27231d618e83dec1d4a0d568a58c6eceb37c66e0933040b5f583960825e65c4df5644d4075aa2cf02caafcba180afa211d26a61e001b879b6b57a5b33faad67851ba858722840ad7044077905d6c856c34cda8ac38f4c0bd8ba06ed792062c0de47760be98bf54836af02335fff35cbb88f8fda3d132b90d5c157ac58fc661cc0805257aab9ec39102d69bbbe7ffe74e704fca7dcac5ff3cbb7bccbf879bae69328014f6ecd261db428281a9b197bfc90bb74ce166db891409f110acfc35c32e49fdd101e9cae5941b7c71bffdd7583c370e155c206e43e3833ee9fd67cf212deb2786fc44a5d216ebd9861129a4c08db322e32e494a2d045da5c0ab2b1a0b16e65296dc4f2b33e551eaf261a7ecb514e900fec511609ad2f5689532cd325b187cd4d9b1e8a8fb353bf97486ea668d3c66d29bc0d4f02a2463e9f9d5ab40af54b9e9abeeb787c36f6b17fa451cc1faf27229e082491a97b465a77b45929033fae4e8ba47671c31583d2edebc2ccc69864e12e3b1cbcf8ca5c12065add1df9bb55f173c047f6e72f377b5c732d4e78ac5f3eec602cb18e3ff77da03b16eb4e92c9831e268088653f37d424e9fbeaadeca576bcaa51ea409856ab962ac3fccbff4add73d0849c7d1dcf0deab82f5c2d0719fc5162149577c3ca5f44cafdec5b6b7612d5c536089c7bc4a9d64af15f859d84ed1b95c2cba0f5b8a9234d517032c1ae523422087d4f1c76dbed4c35c81d6a9132b804f2cd8249933d17e72e722bd55fb6bee592e9e93d49bff1386382b483c8013bd84fb521fa43ded881e2bd9ee740153ea406327e433b1ff13d149901e21b84455c6cce7ea4bcbfa01a1e1bf7deb8f218f26a08756584a6fb7ce11c347e1201ba3c5e2bae300a2f8e22142a9f7a9002444318ea744fe6bf70c553a45e2c9d9834f76905c79749db984dc3445ed90fc55fa50a531a1922ba46fa9996a02e3ad6c067a9a9d40f72e42bc50a2921cd0991f4ee393cd59cc00cca34afaf2e49df4360b327d1d5466614e162efa01b412d4360230cb417c009fa0871be7b48c4d385b3cf983269eb3adaf0ace7855460f0045c2ed3f4047acc42d10c10765594baa668b197e488398608f7de31046bcb4e4d045c54c1a41ae628cd34038b2c5c00c6c87ab59428d31643f397956295a3734263f460634c0621dd7a85e38280b86a4b331e856b9000d7f5fa19adca7a7fc14d48411821f3fa3330e08483e23396fac7016a689bed20b377f53576e8c5be72ebacbd27c11dce2aa250bdd8bed196508d8362106ea3ab5ab93841cbf9774d3c7d9283dbc6eac77c0f67f606c3287d1a19cb780f96be464b6bf353b1ff793ca0b90ae154441f7e960a114883a39063bf4e45f8eba703740f2c005e29fc10b70d87d5d0f8cbbd7b9b2bc04e510b3312057c4836f54b44881135abd786da534692208d95d745097a360ac795a78c6130365f78758b3d60827ae89d116fe4e7f10e88f6da0bf513f504e4062eb00de352516551a8cc11231664d6c4b1ad6c86077ec35a35a0f7be6dc5f93ee91dd15855a4a5a9ac3e2322c25bae355e0ea9a498f7c1d84a8c456a5a2b04ac59bbd36a55db161a69211b8519c2008dfba6994c0a93f3eceb0fbaa53a5d729bd9ae3b91aaf08ee4a827437cf9f83d0cb0a7affd3c655a5fe32d5aec489c3b1a0dd02d02aee2cc305eefcfedf79b949bbbdcd5d6d44f42441d6cf3e4dc4d3a790b35ddfebd335d1669e1fc9de6672a4b13567c9ba0f3e8156d425fa4ced8b072bc7a4708c5e8f38c4e48257761b9de4794708eecb9af1b7637012259e22f472ca873491db0073163453d967881a9ddb7b95bfb7d19cb0bccf70dcfec924fd0a8a24743a749228c531b6d39a7c635cb126bbe240643279774869d2b1b341d6cb80a5e39adc37d5b07b6fb7557bf6d48000ac300a56f7101afa59f3255bd679cf965343b23047458db11286c470d74590856a776cf6881d1ee7ef27f51446e061ca37fd9f873610c4f4777952e12b936db0d88f7d92e67fc11ea82806659c760ec5d3accf146ba273836403f0b476ac6c5cfcdca16e0bd490e85e1016ec31839eb072f83c5bc7c95a6f938962a6566eb680d2987803267002c2150c407664055c16db4a9931fb2608128bdcc8b55b4ef662753b67e5b0f3917b7d0f9a116f749b26c53ada84601393bac20545e03e644221000d674d7a40e71617bd07949a7f6705e691bbf9341185485fcbe64e3c405689f7b46753a08a5dc8d518cb920792fff6316c7517e789f329012fde2aa50f6f090ef1946f8c7d84754c9130a39f547251c9166c3b6309be378e5946ede53c1df5d2e5b06566fe68ef58f95ae05040698bea9f356f6a1d6a2b1d9eeea9d7ba724841c920fcfe5e87ef83d7661457cb6dd20d2522cc1a7e02302fc6ee2879d9c5d2828ffa52ff30adf3b2688c59df27cadcce7ffe1ecc6624696eac8f99cca1f8891a31a8762f99b106f2ef2dec717e716de74ebe3b0ff7fdec4217789ee6d8bafe3d4b95ee1fda52bc7e615c0f97f48425b9ecc9b9399f3d10a6b22480dc18ebeed76daf4b8a1d3f32472362b0c449383d7abff3404a53af8b013fa083f6a391e87295651300120acd76b70695e0e73f52afe93969f5068f8b0ea829ca1300d0f7f06623f60b269f499b638fb0163e371dfd631f978e3f6eb32614d5be57e93fe3c9431bc1ffa0463ffe2b4112a8cb77fe3966b462ee177dfe8bcfc69fcf840ec89f48e1be6a9b0352faa8c192d9623490b69198bf16f1f1442403257680705b8538c3b6843000ac9129f9bbc2f5a55519c3c8b7e528c267eabee3a58e73685ae2c41df9293774c1e6473f186deacd9a2711ed37366f1b6c28daf9095c6906c6afe1ab44e32167a5edd50b105205ad39c0b9868b87202b6c5244b510a4977db14a9256ac35f11dc1b067c4c7863b4af2d9b03fabe67b5a4b57756292008c3a4c705fb3a02e6f3a8b5d2ee463a4bdb598787f42091622d2d58c8dfe8be425ca88d62e91793a13a69526489d07880309eeb4a2d5af3a9e11d4edeafda8a6daa5ccb5cb76156f63225a7a559fabb330ec66db6d08a66ccff9980cd189701702beab743488570e24c4362b20ab7272ffbf58e0b89b067e8dfcc4c0b8c4130001ec3d50763b05e2ac36a027383e37988635d395f973608ff18a2f60ae7d6acae971e74a85f3e4aa2dcf87bf3cb0e2fcf2c59d156cfe6ada6615aba06e26407d46bbad03330d72b8fcd43d989d3b5ccb8731eb896a3ad088fe51202c46d0e724815f446ae7730e840da59d411d501231908e27a429daad0b1e2c9d855807f543b3440be8dfbee07cbeaddba1ed77d066924ce34827f7a6bff960b230e8aa6a7ff477784cbeaf060b536b8ee8de80c4c53383ddbb49037ccb2511d41c3f76f1bcd06ca86bb8628768c44695095ca2a31cc1e8b62208e9201e1c1beeb2111f26ce28b05ecaf52c55a93686131558ef041e5ac3227b59e27c0d03698bc8cf21bd2238269e4279d5d94d2f502761d4cfaf09af408428b028cd0293309f7e2445c1446c234999398b3ed1297530041eb86c8583299b3303c8210711468cf0735f849a4852836e96b6518f78ace8ed55857e6c7659fcd16b76caff369f69f96e2697855062d2975804a6db44716cd626cbedab4d3c1600674aaca094a29569eb306dc2c86c1edbf3e38f4bc1011fcd819d46f4ca5de6a420c60eda4c8a6f1936dcb894907c69071897af57bd12c1873e985267eb9e8965e614c969901eba5b590898df7b41e3746e9784d40dac8ac67d97c870d855fd107528b9c00b30f3e064133d6b13d9a000e394a99cc7723c147c3f81bc9d95158e78a77c073c8d6f82382c15fe600c03487866c52a14bcd0396021eb24c557b064f7c05e9b8c87860defc563a7ffaec2bf10c990508003c72b0778603c55a545ca82e4e1b1796401ebf536f6085e3aa377538468d56a7477c17e6267d59b525c487b4232a11c6e69008313eee5077f2b99fe2c315f313f82468ff56c35301b8f164ff335e636e13a122a43e2ebe0791b010bc92b0198a1ea8b97e25e4cd6b8298d6fd8bf4703c0132760f05c52c736b6c11ccb8f9c10ab25872ec3c1502502d9b544a966e7cfa597fcdd00e7cf63370e5f7e859766b275c39e25621e506915e5422ce684e1f58692fecca2fe8a524413bbec4360da0399a50a05a5c4d26700481277e159b1ba29b8dab2b7f273773e81d6c4cb698cafa2026692981891dde7b0b6ff998177aca251862fc9983f834cb7b28969d245bb7bedf60ffadf8847add0c7018095ab63117880880515dd96167821822b1aafb78dd403b2643e0e12d8460659a37f02a306f6a42789bbcc3f7ffcdb3a2c675e5248d43763f150262c684eaff7851993c9cc7ab37e896e6f948d9b6de34173b9f37d9c5060b7870ec00cc67b97e74e3467ee185af213aa6af04ec1a32bbecc606b1d2bde10de6a94701af8201edc02a50a96a85e94f7def6c0596b330b9f7d5e62a91785000f0053009af0b1601cde4c5b3eb1dce60493766a536999f83604ef937232ce02f0e68b2d16b8efccd89c3be8a50c1bbd2560ee8f41b0926a67778b13f9893c9bf3c71cf4479e825125f92976e3fdc074447ac45b36495ad14bd847324d08d70d0b9f0d9e463b29804ab64320afdf38c05a3fb958c019a01e96819a5ca43282d76a0feadd91a65236c661d684d736384f48b64e4abb24b437b2027a8bdd18f25dd27fa881512dde0a6e6854839f911ef50bba6428e606b4dd4ba297cae34d0d476417421c90a177fa66569d6a64c80803cc4fd1441924468f67cce4c88909400acc3f0206709edfa46fa233af473706344d8e831bd92e8f460d9de5830688640d0eaede4375b92c7c8da40aa76f54abec5fb05ab98b627aa76bb6780ae578359ff02bc1c2a447718648b904b4bff89e666620729d0549838c03c57e1bef23bea5d7a6ff69dad8dcbd54964d080cfad37b8815f25c42effb59afbd4a7002afbac4fd2e635b026589f8911fb3d877055851af4acbac825ed856b3da69d2e2ebdf0a01d5a9d3ddf0de9b43fc7246c11fe23ed4f87e8b29a9b8266ef98241e46a1ab8f15d45ff3b51e9d835b4f1cd74f0c45da9005d3464f54b4459b3ff5982c052bf757864fb54ca0dccdb7efe9c8d3424f9c99adb44c14056d36b0c2d7c8e755291a33f7437652f4ded7384df4b6a422c7d0e0fad13d4a3864f394ebdc178764e95a5890cc10ff2015d141878dd7eea4a30095e705f151a32a90a5601af09f23e03a85454877dd5d31f81942e5692d8941b6b919c10fcf6825868bb06b9b60ad4dfb2a09b825deba5f3840b159d1ada9ef652aa39745fc2483b89ef25791a21e1d3affb9ae86e92a8c3bfa90515dfe332b3400c52bd8fc29da0aeba640cf1884956e77d1afa82f4fb50b2395e7a2be577156dbc87a665f85bfd3d384eda0de3bebe19c2dd11189099dbb3643ca3efa7cb3cf84a6e2f595b76463b2fd4d4733ecd6e78db2f5532cae010b0f1af538b731d46d27989397280ec10b2a55a21e647fb7c0334be6be342bb3b060a04d6d46f91e805de9a6a98c5788e78df2798776e7a74c384dedab67315e934f2955308fc7b864c82a5b9081e3916ec4d95f4ed2cd6c3bc69d29870acfb6a3cf7b4b7792d9bbe5c5b5988c377e77b26ec453785957decd9778a1bb632d3f0287f2076021403f73714ef590590fd6e637a5d9ae1413f216405eafa809903fb1e17ea69edfd0548c1769aca67475171474847589cf0b3bb118da3007fb559e6e31e0d3c302cc38e2659e0304a8ffa269519868bc3a8f8610597b1ef74d7cc4f561aab46f525ea964eaffc7878f429f46ffdaf1b00c5965bef917a5e2dd3ef01df1e719dc58dfe682f21f32227d67bf6470a9b5492f15dc926e3bfedef824aef93f6e2a76e37595c179190caba8c4874066cd3bae890cbdd43bd8468cd21c88f07ff15dda0c56ecb2216499c035fbd7d98268a4c547b43a255b3fbfa52782519eece83efed3d28b3d98560eeedf8f65bb2f7cdd3bb80e6c4f0bf706b3ee8aac4e0f258f250f1f5976be35e0698bceebc2362a8061deadf3b843a1197d47d5c9a4a0793b01177e6b8f6a5ffabf3f8d25c76a8b9c70707900508a5e28e00dd3f8e57e18d3bf12db7937646334a01c196e199529a0537d62fb6aeac4f3048c68b913831915927e75aea464b76c3abed658dd863f8540666ed4a725fc8692cba121a0056e48088ba700828d7cae6cc6d222ca584ea39ebd36c29fbdd2f387f2076e6d609e357fbb6182a1ae6aedda4b6c6364af1a5b6460d3de9a2fe7c2401f3d8f24a7af86073da45f3996716ce2a069d4452a05f0f16bf33de6525d28f465ad5d308a5311edc63fe3751d1e07d4544f618535f4d90f0198469e0ea63ac38abf509ead2836595d090abb59e6383c023aae876b401ffc4f5a32279db3bed6d1ad7bd5db9978645b7148c7cc119d8e1a60c956a87b4aa5b58d320de59b3bfec98a27a51297bee4d8092817bfc6b5621b74827484a229bef37483cb642958947b376dd2d9e8b471e7d67c2e18c847de26d3afa5ada9423a2391abfa5b1844b0c6d6cdd5ef1e6e951b898c39ad05e2dd410852992da2ab6c46ac106bab2712ee88245c0c972d19d1b635077ce7fe0f5a403d3e268619aee6e34ec6e3a002191f4ea6dd76a7f5e3e223ee26b91ed83691a60c40d5102dd2449ebe9760200fc76f8c74389d55fc73fb1b1abe8f574eea63e5c2d0b45ddf8b898f3e53a06f96d432672171343596e01ce8b5047bb04a384059fefd049723d4e63305183a60b0cf93265972d63a8e71e790f3a589791368ae5dac50b9a90b4c3c9f3ae14f84a3073b1a66a0602c25de5b37ba8540d20a326323933720b0f839ad6ade5519b7f829292ca5051031a58c9ee702508f96a6801e6f5b9fff98b9bf1028c78e09cbcf0c989940093db8f41bffd1fb9b00d923702262b144b7125412ce276f3f306782b6e851a107e5dd91826c31d7652e11448818b0394edf46a40ed75605f3381516565ba8407347141f45a0bdd93ea4504ead2d92d17cf2162bf5b2672219f35e9483768185e18efa404cb748af9c948632d974f898cbf8ff57bf3b45139cd052ac90894df7deb23dc7c5eb667ac3872db452812d50b2c9e0aa718c36d5beff98e165b76bfe47deb1f54515166ee2261994c0e1e404ddb86ecb1a3711935b971815f662d7336746e062c53c3ef4edddb5b9d00f69de5fb3d938081189cf1ddd6db15ad1abc9266edf38de353baf8e789fdfe62152924999d179499de9f5308c806920a3aa9de7cfcb45b0b190eafe858436383e6fd154ed77879c8a28843de89e51fe46e2ebee2689517915a33c6789e20357a34fd232d26750996d203b8a0649c172339b1df76faa4830c8f9790088dd7b536bebdeb7b40eb0375048ab1ce9f980e13ad80a8119355615d0705e81d710a1879892bb471ab5c3f3d73924360b9d45f76733b0b9ac1e8ff728ae89ec03a21ee11d1d09a335d0b76c0324d7197b75c140c5f98a31d2434943d97fe53c86454706de898fb951c68f57734aff7976bf1bfc68718d4a3bbccfac11e7aafa65a457375d75656c815ebf28ced5ae367efe6355c371c8ff133b5624559d39d5c24758fee6240c089bfdf219e0fe207009e32c7baf9911e964fe913ab428e119a1824a224dee98ed1424699febc9bbba9f30a61947b1861e30b903453a0708ef2c9d965512ba676f04dc3860e6eea0120318fa5502073cdd9c8b38385687c928e7af1d4dfc803ce108f835f565f99504d7fdbb4d172f6b36400cfea3fd4f604f84da7da635a8346352fe57385ec922d8f636abe374157b13a0fd2f9cf6ad1d4b5bc91051f0bceeeb036b7c8ad35911c36c4001ef86771ee9bade4455b76ae9c47276cca232b4e919633621f29c24ab4118ef14176166b9967cde4376b03798d3a09bd6a21372c541a4518fa20eb822270783aa2814612b0fcf17190836b1cc681dea16baa0f9b67ff26cc20b4364fa13b962b4fcd2d5e723929434d37f9c11948a234da3614912e6f92469b41f59d526d8a3f5bc25267684c2772dce37179ecf91d747308970a716212dd9015a83d368b05056792d381f8da31a57274ff2167a976b3bb02d74d123505f7330870608b071e80ae904af66dcaecce4f52030e8fbd62e4c37471b16730e9a6b4651edca11c0e8bc2197afb6e43cfa72ab3c6ba39b04be24a4ca4d0acc01f34c167a2d56478bdf3a0462596c4ecccfd92ee7d52190970d3faa7181ddd9e783e3bd5544066cdbf602960d8b2d520be847a0197fc506175e3e53f024c76bbc0753f05e129bb413657fcb65e96b3e5152051734d7cc7b97d33d441ec9fa2d0cf561d1b033a4373213cd24bd7f6e3f8ed03426502efdd14e5887386c2521bd97a2ca30c759c661bc507b96e5f67a4106ead4c060a3ca31b7fad2785733b2cc627e5de789213193032fbbb925900d5bb4c700342de429661819f64164cf06f64c1207b17f1591bac01795f481a353d90ac7ee772abc88effa52b6e12b0aade1409d52428013389331819394807f1f258d1d58b518385a48593d02f6ca11177dc49251b290dacace4a9e41a02cc23ca8d95162dfa866dbf40b29947ee001500d474fefa134c135ea7c17a7a9c2d1dc9bb00f7307e5528124e19f0b3ce87a08313002178f5cef8fd6125b81579b1a6ff1b096349de081c239bf1c1d308906cd140a14a20b8395f8dcd771577b8b146d5febc66c309c5c6057aa2bdde12d60f4191ccaf01b87a86f4fef9e0a2239a6587e3345a1c6f1f911c470462d0f5dca605572db9ce4fdf19b050b73389055a56a10b02e9d3c313cb8cd80198f34bd35a4b807e89edc7c236977f9da52fd4ce938aa774123262cf91e40c0d22b9fb0bf2e4af60d7a71e62f3f5c25e80c71d4c1ba1ea1aa299d9b75dbf8a792c6de0fb6fcbe19e2625529a12c1b74d91ddee1ea7470cba5a0b0b56aad1834d685e151bca87184ab6a0f957610f22d52869b95b6a1d8364814ac2f0fbfed949fb9ad67f991ca988020d0039930b8602bcf2515a57350825a9a879d110dc88e8f95f594d9ae5769152f1c35a9efdf8cab38c56e933a048616d55c35b324bd7ad3701b3aaf48d12d5f09e2e07a41c3a5a7ec9e35ae3aa65a4f2b6f5a693ec1c9bf4304143417383eafc548946727ea85b2db2ec293eadd583c45eab96a38b387dc1a6cf80b621b7f1e46dd0dc26c6fbc391d8ab555fab8bc45b90a5de5ad91b9e4c24f290bd4f5cbb2a315ccb129c773383024d5ed59e53039c1680d3cc9ac8070b0bdddc3b175b3ce460b73ba3da84c8df3842948c0403fdc82ba04e91580b50b09b1986356994e5d406e611b12a5cef7154208d484fe44240d3f7fa343c1ddd49ee7ab05107bc85a85753b8add5a3f2e5744cefa3d9aa686f63714566e73d94ed33a9c730f962ec44469cecb251c88e0f27a8f51626c66937e6397b739c1e825ab776788953d8392069c6fb89f07545268bf26f74e5838c0a51ae0baba6a6eb50ab3cf3bf8e669b4c8e0c1a202d6ca880c4759fae7b42f7c3c69197712b0a9e70e6e74bc22d05cff5e6d224bb6b8a51be98dc2f9bb7a85d0323f5e64a0cdcb411715cf78a2a272adfe7f64806bba4b535dd7ba0fe4696dff7833d83946d0d98cb083c70eb6f90ca74ab868834204ced21bee749aa63eb0c1b76abb11fc2002bfa815e46521eb3cff781f02aa60de6f2b2d41a67ff51428ca727c88eb5645c928dba2063693df984ab4d4c3586c3fddeb0a13d01b4ead23220356d63c51819d1f3b2c1d26b99caf77f95d44781559bacc45773f0c932186e904bafc3dfafff6936ae20ecdbdb6a9bbb8d43cb6bb769ad7428cd9ec355d6cadc6ab5204b62560b052527a6dd0308439c12c6cac9b8dfc9e80010f8454741b65dc190d57f22ce63a7ca3434e69f16ce511dfc5262745a0a369e03835a9a3545902df56f955d488d2b9f36a8fa1d8fe37e6d614f0d9c1de300a440795d93b67417c93b29484bf447efdb0108f671bf2ed1109b4d3e0b94d6bff4ec9021db30b9a191cc9ab38ee22befa04662aff8b8e26ef3001f70191cb74ff6eab3f20e529d353573b71bbbe18bd1b6b594b286f6b283130e7bad22006bf6153eb25fc96b5220f3cb93a66776e185cdcc828fdcaf5d553f63721a8605e1f0596dcc5a709202ee459518ffb87353b1ad53bb94c2851376bdc8cad32d4310b5d39332fcb5a5d4190e92c40ebbda9a15c35f59e2506eb1c7086ca0f65f20e327b5f934337d7b21e0d969193c414062e4f0f79159aa074b63807ad17d31e36f1022fc10f22d71adff5d5e5a2a6fcef9adfa8331ea2c12286704161c23325dba0c14aae90baeeba09827187a861040b2cd5a0054d0d0d58c656f36c05d71c39cf06d201c2fd8ebd81bbb5dfc946fbee16c22216a6be13fa7d15e5a26de102b94cb90181ada96602e2ecfacbb1310c3472b7dfcac1e4556cd2d9c7c058c70c443817552f55c992d064a8218605db8c120cab49db1e9b1e73d36b9804cd0f67b2ca5a3c7b89b472308768cd4059b054841adfcef7b059c7dacdcbb65acf2db793096ea69bd5e6434638c198d109a991af9829678d19005a271e7ea1a4db399b65f4edd8223336e7a2cd19176ef8067839ba55c4c3839998f3a0ae817c337879641921e555edee87ffbfa4310018d0fb884a976bf1de7de650b0615c2b58e10f312a7ec69b550829b2985bb2167a3c86f1c43699664b7aff892d7028c25c7193f59abd51f7b299ee670b0e41fa1973744596cd05f55d4dee5691a4183bde6dca16ffa515c17c23f0f9f2f76db8ce718756d7d22e67e78732aa4f6b49cf1d0a3050d5426a41ca6cfe86bbd1ee8c91ae27794c2a50ac3f729558d1221d236a23b37a182e781ad3963f6ff41d60b401a3e02e7a58515accb9b5d0c0f01923d74bb77dae24e22e0aab6ee08c0dd26fd36fbeb78853510c16c62a1482532d5e9ba2cd5d967952e3e7a55cbff882c2ae5c3488f02e032184b5f7db3fa3d87bff58f888d5f1a441f0ce6b97a5ebc96600442912d9a0313596f30cb4aaaa55e3296c0def172238047b5cdbd70bd07376670c92e8ccb21c733b95203817372b89581d22e1938c0370c78e15a62e4aea86ebb4a37860941d78813ce45d680944c624ac5eb0da7586923a704899256180f962391729c11a0c6b46dd0d2354b8497398c2d89d5bbc6096e89ec5ae4084710d75524a76e9ccb5fdfe9455ae379c30ab1320201da77861091c2b2b325c84fb0a53cc50dea742eebfec41a6487d4c2c0b88d1d49d6b2728f19553d1d081d3316b778873c2c4e89d4e94d799fee5551dc627a6f7a5d7df7097faf7af1f5aa44b1c8b2315d3b17a184cbe5312bc9f12e92183a43ccec6457d691ac492778b75afab716b801ed501b7c41bf33374d749c229d5f97eafb408507a839cc803c910e9ae42c64b49147e2d7796b7998d435125b446af658f8456dfa972d4b9ffc70641b70e9c3f2d0a9ad9a472a60b72358f6bf0f364d13cf76bcbd26945466e18af076f8d36512274e9aa2b2dcbcdc121dccac3e46501a77640bce6cb51996e4a3b63c009d4e24dc304343440f8be819750a3fe7028407b5836ee75307278a59c6c1ad4cbf01666ecbfb8928e44d0043ec371ebecb21590c25f8c5e9454da6999fce98879569e0aa38fc7d265e7e4dbbab909f8508f820df14a8987f0b4951895eed6ae31779a614405eb40a3bc6f1a74742cf063c35bd7062b4498bf48ef1cefa9c1f19b1ef0f4086cbb35ca9101a60f7a7ea876248fd4a97af4927eb80395267d2993b49b2b7b4e627c0c9629ed3d0141c9bd73fcae50b06a630a52a87fac7609a02c27ea9cfc56e6b49f0e22372a52bef7823308181150388aa3adc383ff5035f0dbcc4fcdc18f2d9b47483f0f4495ba2bffaf44b7692b8dda1ae514627750c14c57e7e1db77bb268df25ecfd89befd5cb8fb234e5ef09bfd5e57085ac92abeaaa9a6ea414fdb5d8fb2e2d7c85af7d5f69d5f778fbf1a2c8124e4355f62fb73a493d9565b72142802aa984e601b2895eba8e9a6c9b8b5633a3e1d794e6ab1b1d28d1bd0508789ab2d31a87c43b92fef5e7ea630bbcf2332461ea882241e63eac22166ed60656875d8b83f996ce26a1831782062df5fd44e4452bc38f49145c62ebed666774e442b55d88b359dec8afd61c75325b3e94f0287060449b701f956a5e66dcd36191fe60bbc9a726f5712c9ab6bd606794afe1fb25281238fce795214d6f62f4134657d37f8a6d6f429bdfc35a1c83a79bc6573adc677abba13fa739b799cfcc84ccfb63a44ddc2c2e5d7ee539dd2c8f2e01151ceb1455007397a7d91395ba6892107b5dfa81b2ca99204ae8ce7f4a347211541c4a9255902c8a41ac7bc36b510c66b5576f6e106de7794bac1e5c234f990fca24d16b2e0a2370816d59a9e879bbcc2cd3e8e737b758407bdfadc9eb3d7b1a521cd55615c3214ccb7e269d76ab0393d6b61ddd4c320f9b9569ecef3f664911d61dd7d066caeb3f218f09820f7721ede33931106273e45077a0c8bc929ac38b1b8dbd70ed04f77bdf2b4bae6b7cb0861115dd8e3ffd0f776b763075785c01b13cb75819a8a09cc6f8b9abf9119a8a8f9e2be171a2320f0486568419a7d913cb411c4feb2766246f0ff76318c3ffa73b66b9798e09e513beeb364d0982955c83b47d1c69a0b2566eba727f6eb4d66409e153b92d7aac5aae5e312567c20d7174bf1ccaaa05e120b44e7e8ff9fa16fdc308855b23714f406e2831b004d3f9ddcba192b088e000c5f4ca20890f263bd0cd0eb80162a8174facc15b0a200f1a8d71176f2b8b98be02095c8b1b6fd3834620dcc22345bb734e610c37ead56632851412410d292beca789e7db52932f46a5fd6be3686f4878e986daa86419eb6b8fe9741909991030d83fb9965d8e6477c5261f5e08c02d7780924a9ec984db2e007a1b60b7ecb45f5d96e84cd7cbf65134d0a427c751eb69de1a4011136279849f70c3cdb93903d1fe29b072e506b12a43dd748006e00ec581a4bda655822011ba9878e4329396418caa5f6b936e71ebd9a7332e22cdf2efe42dae20c8ef92b17cbb28258ba9c1371e1ac1670342c560a715fd522b7537f11a9370aeaba7c463a9102fadccaa4604fee92dd470418e4848307808bbc03814e2a1903fac4ee13a70360521f6f3ae13914ecb453417328757ae06813219039bb4a66d5e1966c89c7b46a0a10c3ffc31665dfeb093cf7b1ebc37322674b152714f5aec976c1312d01f1f1a2ff6d01c071b91bfa34b37d3caecac7f66f25ed64a3972404dee68ef0a13e0ac6f033fa2cd7dd13ef197ce1daa06d2211c69cf7dfadfa96eddeb9eafff12b1bb5d74e425078fb90c38c902176e5ecbea23fd430fe05a76ea2cfc1f556b90f19308c695fe93b200cc76b82d8f45a022586de173c07f550c733b6e082473e59ef1b3bd31f027b70d1f01bcd65afb7c1ac18d30c63335b0466afd1eb86a82008e1d8ec3f5a6286c396b1d9693374a9d6549512a78386b9a008fd0f8d7ca2207ae8975a200ffd996e2b91e73f9f5427d080bc8ed40315159647de9039c4bed4603917099a239c64cb1a50c4e1e318f25d06e139e259b1a058bb0da4b073313a77eb5abc65d09c3e8053ecc847e8da70701e79ca670171a8e77ad0a4a3f01d0b3f1978796799599bb604633877dfddf91b1a12fcd2acc7a3b7dbbb6118a8c64395cb6f5b501e37656a2d66b392d94c927d427a7297b100fb1e8148df6f9ffb268264a74f08f7b4ddce21be93d90a09a27db33f5782b3b733af27d7c6b759ae254f7b6720accf2a5ce05183ee31adac3832e7f762315da3d3cd12895e50fba987bf767c1a030541b8d4a4fbf42ea29ffba24b73db32cf8adcc300ed2e44c99ab3cff4d81f4ae99a6b9441994d36491da30944ad7c456f4c80fcbaf2d3f2b7ff78bfab7bfbf7c060ccf5f310f85f4b4fa97af47324608f0b0fae09924bd9f7b5eb110abb107dede6c61afd21713d0d67fe86c351fe23fd087b099265dcab44d441fe2b6f317cce0df452773639cf2844f07839c8665130f9136072af6caadf19365da5fe37bf0bb2c3b69e47ba494e259d0c00a4ddab3aa310a6e7e388690406a1accac5dbe1ba3d16328865b2984831a74606a9e996827e80eb2da12c147fa9bc69a33f4accbeef00aeddbf64ee86726bc29fa09026cfcb9329af30533706aab620074300354144ed83b983e8cf9531a02bd8ad7a0ddc0c8237dfda4498dcb34988684fecc28b7474eb3a7d0f9b94deefa7cf1bdb3f857334477f282e78b355c97069ea38e7b51c5ff1861fb1c8d7244e26ff88136565d2c073f800dc58edc3673fcb29ecddc59f970aec89153e619e6db546c1a552f4338eca17c11b974ad1681f91488edc6d1319cc762058354e3b2d4d9cc1b585b32863ad76c79bf98ae2aad703e641ab82eecd4dea0bfcbadf91d35340ccb7c7dc51073b8d0bd00311a52a7a5b8551047f8311f4f68475ea4154592b7ff6307b52d777b1b1e3ff7dcf29635bd064615826ea33d8b85939b68de494b9c2ec163fdd21add14b39d0ad5b9c0c36478897a2bff254b0583fbad25d82d8e7c8b75c9239f8390ac32b2d24d2013e6e86c35f73703eef4793e17b0e7a7b7c84e69105fcb1df368e4eab507d0b549a19939da7d167ec29c6e1adb160d43d38861e5d0300677ed8b606c4c159d0a3a462b3472667920e86d3fa138b7ebf2a764e1d4ba1bec32d192ddffd8ca7495808a506b8119c720cef6174b7b8ddf377d16483ebbefbed373e56a41a20b7942d112c091f939c5fa98ef7de7bde588d847b89a37aa63fd9a411356fb303aa6197af571b70accf683b0faa97f202b641429f25b0a8414d9807e9e4592a89bbb24072910a1a87315ee4a62bdd8fd8f753f5ffe00cc83e5fe8fce94971df8b173e239a5e7941b71d495ae92cf1042b4eaa2eeece49ea55aedbb26a96a10a6552f9812f999f4523c8d6d07b153446bb0594dd7bf847f7f2322ce94b989d0105097640ed3697a0b91b3e6d8b461d1b791a723c0b82c443e478b7524a6b592d97cf61a8a1bcb93676e60a30188dd2addc401cd98c98cf3530b0b63aa14b62de53da1af2fe41f0be85321e690b1de956fb2f7061bb804eeb2b70c3c7c7e0441f109c71a992101f1cc51ff110c93e172f6353c48b29eec47bf8018f573afa0054b2055901c200b8e29cbb30bfb65b6e6f9c3b4acb07ac101035c2509f5560c814cfa707975f3b97a3fe6a849d65de714b8b43ad76be4d356bd127bf789fabffb59a6967512c48ea029c0ec8b4f4201acc396edea451d68436cc21f9aaeb291c662436268eadf0ce37dcc969cf28a921f37c14fba018a70bf1bb72ae9012a4679a78dea15972eb88ab64bdf57272f759b926199ae850b97cc9a0f860d8741107ed6c3729bae4674f3a7a0cdb16d23be97a9837e98b8cfa219f293e488c6b789121036e1af2e67218c80056caacac6792189f4313abe93662ce059156b14cd2b4f6ce41c70194ac1161b69e7b915f110dd0d88acd12d2c5264869544d76e653b6fd4d8eb58813260f91ec2d0b5534d6b890d7e85e4a5c411cdd2b92fad2ae213aa5d463d458efe14cf7adae65e8bb96ca86503c4c1695e537ad450d7f845e9cbf98a1e2bc15ab2d172592c3013d2e40bdedf866c8411573f3a3010056377a4878397bbadcc90eba4a036475743381fdc1109d6dfefb6a45d6e7dae83222829ad14da1b0fc1e5aa452775f916eb57c079dc79f893d0f25a69f9b7f963e03d7383b0aa73305b309c2a4025a41e0f53f903b4cf57fd0563499da3eb74de5e83dcf15de59d06ffaafdb7f6523d659676b9de3179988a39947c8ed3920d07356fcd9d16b5f53e61830b3bff268b2e18573c04f549ee13f450e548b3907847620c61f41336fa93481f5c7aa346231e635caf1423dd814836697338bd23c23689bd325f136afd6f7948f7782cee8f9db279698ec1d04446a432e3d08f09ab856146f33fd0448271b8d96b8d6d2daea2e39ad5a4604e1f6bed399f5c8cea0e446181b0fd19aa7167af7326d7135ba8aff60c2a1e59dd4ca6805a20afadeca055f4d9fa93d28b9b1c10bd8f1c098c9c01f1d8a35a5e53fa7b534a1a8eb4d04e8be3586755443df39f98b68a11e62b1b752b9f27a000967c6607363c7f3d70d50d28d27d75ff8bbb49427add45bd604b25581f524db7d66bb538c81453a53d7e7ff112bf3f6ade779ba863b7e5ab7f8bc000ddb7108f0844925937a795d9983c519a630f8a122964fbd29083ec1603cb4bf5f4d0ee01f3791910e9199a5b8af1e984cd0a515af03fe371713ab61b716f4be7b9f78614ca623df55b31514e9fafba368c06986f2a23439f076f25e154017caf3c465fef9bd858b4e2b635cc9ab69292820a3c02cda3a4757e71ba890b23b5a9580fcda0a11f5bdef5f36c7012975bcebbe49c1f65cf3c82920cd7e0c1d01e3d5751c25f0c19bea42d042a5f2ff0720854cc4af624867b4da70faffe0f20baf307f8a97166d3c5e390c099655ddd522f61400390fe89dfbcde499f3dc8654015b8b93005feb2923a62c848bfbf06965b2a0116bed0df7d0b019f75ff6a1f0fe52808718bcb67f6f6d569e919e6868b55f8287886c2fa55b59d7ac63e262cdac8fabb7c68ebb4d675019524ebd176e45f897b6a3e65d28b117085e95150c592b63f0664382e745f9380d824eebdb75653597fd0dd64d7112d5940cfbde5d59814fb1765dd925df764abcbe02343419ae62507a73b88c02bb79c62de57ab9da8d4cdd64f3b55417f928a0f279f475bcf1abc1ab2d25810266d12f8ca44d9851f8e4206aff042c5ddd1b4a08da7c5e443ddac4f3d34aa2638bbb3104a09ce63504372c3a16331125677b9443278f95ac08a9d98bf5a4ec4a50891f2a9b480728bff4ab2d9b1886de5c42cd2f3017e4cbc9bad6893d205cb246107613287969fbb684edf667b486358a7fc3fbac82d23204a22dcc2ad2613ff6c31c1a9fa98715404ae5b900a18fd196b7e34898baa32f7bc1cccb45c20474a42822c7f3fd5c8afde85aaf667a4aaf5046d48d5c9357827c6e37151346867aaa7f1f14a834ddb8150602fe9955c799935078186b677a377774f7a9c73ba15ab954355e25f5ffda239ad98d3b3170a64ab25e8bac74ca03f3a1fb70d0c320868fbcc2d5eeec0e3c9e2154d3b9b5b2787d61a9c0ca71e1a9d583243ecfa68262924e0575f8540804d12da4a619ddcea453895b3fcea5dc4cbba40187b27d7141d7d5be327212045a0baca6db8286a357d2c5050bfa73f641474e27166aa3a18e19f91b1a71cac61b344694e1ff1c9f4740e619b80ae1b39160975b4d14584a56f420da6d00a851ff783595982807f05d0b6bbb0ba5edfea94c697078b6f91c768f1e7ca5e10eca8f3387091aba4a9c83977e2e06e8124c050189a9cf4c97a4504758f8321208796e445cbc6a668d36b7aed2f567d756d92ac44e72fc11081d72fee6da3f0b80bbd77e6a513ec79e9c2c2732400e6aecf2e7c2649b48eafb5db45fdecf40cd4a76ae015b363e36a18e5a28a3e6eb49def20bd78336253fe1d2af7c068df9c7f4fce5c8176ab4d9cc1dc8a2181c0328858cd86bce53dbb72a3419dd24a68a9e74eabf185204a87cc895667a57dcb2b2899217b165b771b44fb0a1364931b8ffefde2bc5a1bef8d08b1ab588b86f9303e24b69e1d90d8673d24a4f2bab364ce0e38355ba4ed0c1266d0728abf930ce87b06a0cc61eafe0b2aaa6fdaffaa51ccfc411144c1d15503182f424b8da6676d917621abcdceb2867bbabfd9fcd0740e8804b2fb2a8192ccf89d14e952073c197993300fbd099528ba8e11a02592a24fd9d425ba3ed376f3d0c7306e1ce466b1a66fcf98b93c7e5d88f233449ef2a2d16a951b14e1019a74eeafbf809b0e7bdaf5eade1b540863e21b2d4487ef8a4f70748e80139f21aaf27f64fcd310fa95d8f640f6fb305a01c8896300d774f664fdc6de880acd05e1e950f78389fe0edffa2b0236a32dadaabd48d2b2ea9a7bb70d70aedc88572b33e0693a68e6287ca3854399f965b306f50b8dfac19fbf86111472739c9e2192dce97d6c5bf0524c49920f8210d99e9f8117faa674e7e8792eb7e0fe32d142deff89fdd1988ba9ea1178c3a3236c271d4fb123c5c5a8999bb73ea12c1b44cce4f1b60439c7f843bece63e3332cd658ab4a3dae396a5032c76ad4647ef0adf8ddd5599ebc063e868fcaa29dc1302873eac5136b81fdfef507cf4146e89933c04aa98eab919b5cf95818499228bd94cdef64d66e8b69c422a1732a3ce1334f6a64c8465734ec20168a3c531c5081421cb63a6cb1e7b588b5f543309d35f61c04af2a87c6a6acbd0051f9f8f67cb684b6f42b21396cf70d88057b593fd0e3b346b3606213d2e0b777ce084f4920c16b0a742053f77819c89f4dc27d19b9dca03c909a87b43a3179332c2177dbffe490b2536720ea5979ef04d15911cd8d5f2b340ffd0ab629ae4b8607dbd118bca9d7a76e52e6f5765663fc5557af99d329f9ef0f9bf070fa230c8924cb6fbd80a2aaea2b3e63f9df7392f9a2b88f1693afaa4af764876a6ff44d9f6077ef45e58a9ca3fe47801c7481c7c661f482d092df84f7f81d10d190623e34e784cfc66100f28e32c4589455c259ff348462516da6514beb5a56c24d326acfb12e2e627dd491e84dcae7b2030df677199ea9819ec4eec999d6c88c32ca308a86007079fd90bea83c2f2ed8409cce899b1457bd43374672cd484e74ce263431f34e42788bb8860f92cd7e48919a63cc2fc145da67a65086ebefdb60d5d78b0ea3b24e18e714a39c27780b57a06aa5fdceca5263177c0f3fb0c05c78e5bf2e45f835b2ea3fb4d4ef214226ad61d9e32904a73b4b684994c2a1be8fa8835ddc91d63879928c6ce84547403806c3edadfbd364d6e6f19113619be9fdb5bc5d03da99be7029675f171665a62f5c387bf57a9b067369ebbb3f89c16edc520a56cd4cb0c457b8f96c851ef634f116cea4aae2beebe37384fa71b815236c180769e094d8ee956ac775d3bb7c64fcc760fe92106bfa4b2fd1339d0ffc68f555a42b464a4c6e71d8a952b58b717c289b7be80d13227eed224db014d4d6e5e7e82bd81f6c75f6e48317a056455963c0128ea197c045074bf4b18252fb9a040ca0a98d78fd84ad71b39419e878d8e78add16225965ebc27f9b8f8783e9b5d4a0af9886781aa3582a17ba96a0c26eca8f0eaf383d568cc99c11b842c2bbb18037894e5a124f40c14edd43484d2ebb68b03f9df08e747040c5cbd831ff36fea3ac23208bd0f3e853eb50af6ab5a76ee1b29420d1e6660700b82b0acef9795a15d0094f6a5bfdd69002ae231360c000109d4c28b606b105bb6e74b509e7ad10d9ca250ac0202b874d3a1311390a8c2330866415b013a67e2d2ba520d607f57b5a74e663a3e1ae09b6596864a48dd8407c1262b59cd3f6ead815f859029766630ea76508bedff5b9d75191b0a839e68f2dc526db8af7a49b49e2c2e0eb6ee9ef7e444a34bbd1b9833ba913526759c8b0e66973d39614e5cad8d053be3857e7cc6eed9f9d3856a06714f3b49e482268c06f62d22accf2ac4ae0518b914bb41672220212ef2d2ca5dc30d914e0745087a881b161ec26fe78c026cf4d6c63bfee2a6f026cb7c2783feb92f00bf6a505a0a0baadf267ed01f7626b2997d17bb70ab8eba4b7bf65077a4f9046c481308d7551ed3459b399e63cbe4e447dc4ba02e1e1929146bd4dcb09f59638037117e697d29e57a486409a76bb3cec62c7621f6f33628fd70e5954fec56a3e676a0b57622c91db809d2a7778cc1d853dd172c0e24233cc2291715036808ffa72fa99f9128a2aadc7787ebf2307dbe9d2d1b3b0bac5c602392d584e308068e37e154390871645515a8b28ab75a7d6fc5dc796f5c87faea0564c1cdc563719194d29c7d68dad4435f7b06d678ad609d7cff52c045fd129f0c7d15c7fa1c93a8f2b125ba14776db38f052da3c52585b5a1284242448c4fb5697905d2a82790929290426a11d31e06b7d5225da0de371913efbf68bb3059070c6352fdee4ce80d8b898489e59986ebcae0d6728b727efd12e647708b2c2e9f2aab5f619028f0c7f3df88d37cbac0fa34e804f689ab87d8413425dfbdbe7095862533c7aeaac7cbddd8c52970f7ed43020c968d2b9c687c22cfb5958129101c8f4d53c05fe4cf55b56d1942f81f532389fd24c2caa0bc0d606a2d43daf41cf338ee8af87036320ad1c7683265973c793f52975b0d44cd9ce193a4a1bcfea45ea3812d55b7606d2bba36f6f526b62c70f169d88dccbb189477861f25ff732e6713670d0bc8b4afb7f9c614c42f1d2f97ea71dfb02e3b2bc11a581ed3fdcba205073224345c045805a8db3899510f6a8be9cfbe18b3b14b8c87ba0572589238662596c463552151c480271a7055ed8c06df640044c31118c7caa3dadd02fdf0b2e251c8efb007cf57e855af87d3aaec369666a15a390fb6645c16db6afab5b8d351b971f2a15433c6fba62fc805e8fa38d909e635a620658414cbd4cb18c43d4994577cba249ad28af08f312d0da96bf096a5e40dad88ac32bb41bdae210246b2b0a4fa9d64dc10d304514fc9a7727a8315e9734b008dc73de50d246174f9b34d9b5f445f43749a0b0025f2f25a37cf10065c1da5b004a3c7e6384e31406e05b0a52a7b5012093e6c00242919a1e8da0d4f92e28a0b4b28b4056c7242249d3f17a209f374f99b8eb812a1ac703ff18f521f2ba688559b9ea1c9afe1dc79645a09ab7db725e2bc77cc42417e1e5775263869645a38a7cc11bb202e724cafc32577d13e24acc0d1b98150d41ca4575c38b2486b0f0baef0f3089162a09ae0ad1faa8c690949d3002f6b4aaa9500f9be7458d46f6ca49e63195bc5992acd26287aba67b49d60458f11a5e689cd7bdc6cd9d853e471c9ded193c56942a1d9c40b7565a47c8eae8402bb0fd44d4a68baea5f10546c3b0cbb119d695eda7a1a4f8c5b1ddea8d11755c92ba5bf292624c57b8963f4bd328e0463cb68efb22a8fc13856fe8a0c9ae32adeb84b058e1a048b9a8d59f35be51897e97295dddb6832df2cb0f0221b74bced9651ae9c5f7eff155505a97bf8d52ff18896ed39e67319ac8d3a138b546e7f34b9c4a0adfd1d3fe3bb459f721531cb8f11c03389bfb910f21e44c52c2d2614ec21d8997b33ab95c83a426cdfb392fee680b51ba5bd4a8d8f51d52f6499239e2aad575f78f96035474ec37025aee94add6f401e9df5c15cc92aa7c655593f539557f4c05b286a089e904d0a4ac425198ed834a3802117a39658bb4dc21d862d253d3b15f4d92dfd485dceaa587d7028cd821eab97aad58ad2411d0a96e3adfe58c56ec50a6b8aca75cd396836fdd4db0aaf1e1b7f9b652e1413a0304486d72780912a3956222bad5eb13807e969286fa2d13aa495596e88fb7d85f0ffaedbdc3c183955911cc49867ba94a15003f582424818bb8b5add57051355fc121cf25f125ea06bb1d792737e0292f78adc7bf6375fde6218ef8bf95b951f75b5b177638ce4ec7ce0b0a752507db4f32f9cdc71a95431668c3462be4e52ac3c475ff9a4a7425572ab1e32c27df21302907e2f24e980f96afa5d9f2504a5d554ab49f8ff1f54544b528751e63abbf638b5d83417681248f437a3f872992e36c09145c598f766821f7ff536e2bb338bc38166aa529b9266fd24b34d31a1142c880bf50b97d9a6035b9837ea92feb42dbe9c0031024a91f28367bc1be4a46c86ce62442527f958a3135982b26f0a22bb82f5f1fbb1e767ac266fa34531ca9f81afcb7a1c2562dd29e8cf694b391990e89b17bb3f59b6228b0b70050ba800b32e5cb78dd5e17af823f82a45c978ab768c72e94eceb42f2aaa8d81583be951360f24e57ca51495f96a0f17998d9c7dffb1baf6f9958281f6ce2ee353a456d29aaf6e79339d69023045ca4377bdc2cbc562b53fdcd65e10fb7590da60daf221965037b1a2a6b72f1ff4a75adfb1000951a6c711709d3de0a98c07b94217a6959f6503549f7468c50551e803e724da5e81e0347dc87cd7d6c9438bae60499f4fc5806ac8859f71ae988c38e5ceb57e845329601ef8ce74c59c0945f39efaf9bf9b53da78ef52e41225096e2e5df99faa8d0efc57df83668a1c211779efaca77b2ceccf443ab77935ab110bfdff30a88e0e0d65b7028dfc74f44a8cd3e7454c938432107a419b53d002495841b183a1e036fef2b89745bdc1e116adb209f0858ecd0853f304332fac5db03e8a1ae20b8ed808b87d5561197f83905bda27c0d18fb1c168d091042fa273d3b395aa9041dc9b05b53175c563dd6678dc77c4bd1a000058cbcad58069c764f6fc7a83cd70725868cc9254c0c12a48f3ac9c904a0912ed011a4627c476b15c130e8f94faf71f951af0f3856578a8da5675ebb7d74920b06a6ddc023f09f37394e64f98e05ed05965e3aea8c490f8a42b99aa441bb3a0cde8515b7e5d074b453d0df6520da47360837c2b8089802844120e898d9141e92025988f901c6c8f07e426669955dc4410c8f4ed41160b2aa502a95d695475a350d633a4f719bdcadb86a2a693e122e5c262a198e95f5d29c45d3165c8d21cd3a879f9c6f81d7c16943af09bde81f9a5dbf5d4298e227464d5088d034e08ee29b7d8cfc5af425d9b5722ee05bd0c70a5aa8b99d26a54be7c27ab2e51d5bb20ca967a5cea01dc7b23e480488e0732ff51d8411997f4fa36f112a27205740a4d8f83b3bce913052f6e53e7206f2161bb02a2463230a5925451d7bb4a2477ff5829572963dc1209ca9db70d1299b0dacddc7a0bb2faea5a51ad863981ecdaa282cfe674d2ebf6fe40c3748901a11bc45d9651c1207b51700d3bd4b81279d187035ec3e507083be93ebebc81f159a7ccb6bb0ae12c0d92f95f61448ac676d13f304294cad1586a6cb818be6d3ba26b05b9c82eadbf54ab3de6db105b310386871c373f34e26d03f78fc5c76f0cf9b6d900548886bea1f2b01e9808a55212266d6cd3b4f182fcc1d64fc72e5ffb78fa60a180abe61d73864c73d3523812e160c7095c902ecc22792d17cb250b10bb6ccce92915ef7d27fe5711182ee570e86c9f6c37c91b604b53abdc2cd7297f90007f68885cad57254db9ffcb53e8089aa4ec3593b7f87bfb95da1f5c885609f73c3feb456f5554a75d5780366d2e68e3072388b017110885b9b7363d42c111543d7c8d6a565199ceaa122c1ad42db9d08c2b5cb5560a14878838df83fb486a2a04c11151c0518f2c3779acba29906d8725718ba21136ea6c180f585006c6723b737b4ea9d2ccf2fdf6847b661eec271c356145b2182b226a9ac4eb112bd3081cf6c543eb7040205e36bdad6a1cf97ebe91afec5f676c5354140a0168bd7bc68bde8e911f59a4ba98f4d5075ef4f58ace356c72cc00abc5f601ef9ce21c5ae9185dc7e0d499a4351583e6880ede6acc943835d604fa8939f8455d9265bc14515197741488f84cad074e8728220d6220b6238a738def66a5ca625da946a092530ded09d2ef41acaa813df64a14f7a1a1a1a78cebddae95c19053ca1801318702600f2e5a7366d02c7328878856a3951fd18e15161b102f5f76117341dee29274c8da9734568934909aeb59e3a49eb61944686c9cf79cd75bcd14a6e1b165a46db6ae529307b4e1223fa0c7713a5a0b87f19bf6ce27f64ea0d515e9b2acfdb9a3f513a089bf892e1c05da449e229d2c882b3553d2f5319c4716fea99a68b0837bba8e1ae2d141bf29e420c7f37ce197c2f1e83355780b174cc4c87952684f3befa425463e25447deddf8aeb538e916f75d43809c24e32d9ff4b6849f6caf38982db07c49978ed7725e1b510bee884bc8cc62dc718e4c46a0dbef7246c601b67e13fb77348aef61ca2b159b805c2a23c378a18743042f0b9c734ed50ef0e872bd6c0523c2f9e0714c3845ee360eb9b31ecd77c0dd714b313eff373cacc57277dfd5000283c189368f708bd4ed3133f354a7f4b72bc3c6ffd8feb3a112e75ca0aafefcea71bfc6c28d01ba01d1ba26b128fb71b71f545719b066a139c9455b2489a9746069035fcd5d7c3bac485e173137e5e53da8a9933d69be2faab20077cd3bb701f10601f517ca7abfe4940d8a9d7f71833b0e19f952af0f3301ac4182265ca83aa8596635bfed825996c98cc96780ee348133d8ba18a91c95419ec37097c14d8487b91324a65a8e829a720d17399853a22d96663592fb4e8f78b113f5a71bde7e2a6e5016d22e36214e0773cfc93f5ef8089f903a73d875e0f54d717f4762597a24490e7c7206dd3e84875e867c26ccfddf8dbbf847e3892f7dab69ef72fdd04eeced60a73e22b57602ded915183e94835b287357c123c64d82adb67d842326e32f7d9988f670c67a91c374337710078526876008ad68b78d5b20112243a96995fa6cd7eb59e3aa8349a75f67043f158698718933448176058b9b11f38dcc35b2624795149cca198d698357d5b6df182114de6b09aa4e7aea916221c33f31389e9518eaf103cbf2ded6d56512fa1dafbd72c637848c4b639c49e9d0cd5cf257b5dc3d8a93451d9e12bd971085eb8c4d79d83250b8fbec85fccff0d290de95a97efb41da8d050cdb0567c9c852930ea709598216a20f5991427b161b4ce025acf00b8c4ead39504a0953b103cf127f40c550ab5dddc2dcc99cad64f35e9a18da270377e9da720f3f386e3c9cb7d571664dc902bc381128fcdbb5d7f3fce9ff254077703de8fe48c10d3714d7f74ab020dc5d1e3b7656f75a74c25173ebc35041cfb370b901ba378f4e3ad8d421b7ba6586827b2baaef48bdc14ed0f420cf6dc5746fa981ac08186d7d284a199cff5eea6f2d8d0bb50103bbccdc059bf35b9bbd9098e9ebad1ba59b33158f74290a0dbbc138aa4e2d40d66e8f6bba35cd581eaa33285c7000b7acf83618fd437b049ddba511ba94b5325b6a10db0a41728e63e7fc6f43c8bd106c0c5b9bc496e96148e4fa10e72d3829730c2a1f929833a0f5927a2bcc5b80fd9914bb1e952fc33bef3b276de749dc252c785d5349968fcc838195856053cd717ce9f80007d1b6a1ae29f7c312b7a8fb23b611d3c5fe88750f39341195e64412dc131ac8d1c4e35039197fb99861f1dd9040131a556daa8cdba05222d7ee934bac3610cfab55a34f73836b5fc4a958680813c3e1f71ebd21573b8fb998d14b0d00fb2a4724d55109e436a7e617e8c82536ed97ed386ec647423bd195f6d0bd125c7a4f504a95c2a332cd2d861c68ecc8d6dc9918ab72c5890f601032da56b23ab00ba26162332b387fdb9d971587078660de2bb0375cd7e6a1b3ef6562a02365f03fe89eb5f1d466aca07f52b876f750e2e21a049a912a844d066dc03d86c45d8b5649605b8258e4ff05a3857c983f538af3183fd1db4806b31081b6c06bf03291a70182307525e550efc405a544bc5f11c6c42a44e8a804b10bbb2cf16945ae4ea68b7ced15fa582d02ed2f15be981d324ca33329f6088724abc9d742f94a98a3b0945ca5d9ab118629a814ffb57df527a0937cd5393866a3567d1506ec9be4689836f23fb45e678831f45e0fe6ba4308fe50a367cbd10afd2bda509dae5ef75b1e6f73c040f13ddefd3840c1dd458f542b062b31494f5541863f01174dee5822976d8342a04cfc57bfee700ed61371ce3a77080084f0ae3647448c67eda1c6a066f6e7233afc7fdb3798c868c1e1e2c4b50aa0bd1d22bbef4d39cee441cbd9a024d8d13757b98914c9a545045f9db77c2dcf175c3617572ddf7b62c4fa25eebd160de0c944d28ecd53140297a5017a53899df04623addd6f7698718bdf9984b7e1b86f2d0ef0fae1ee0e8fbdd773a99730859efff04204cf1815ce4e5fabe88cb214b142a8497c46e2b118355e08d70d6b2765e83190ff7ee6883468ad18a91d59d6e9a08add65e3afade43e38a6570ed5dce5d66ba53ec29d9592dfaef2e427b3688e4e8a1f671eb14f072ecfc86849738d0c7ad2d534e77b3837b79f3dcd4367c4d0d17546f85311c7078c616a3a5270aba9979c7b34f59bff2caea50f6fabfb0dafc6c36ec7e118605237455d51fb446a5badb3895d4c7b4ed31d675de686c21eb6bef37d81728c4566918d83cd088c0d914f57e5628ecbb6f3435151dd3817d7969dfabd6ab18ea7b29b03fb5589e3e0f12a705202ae4799fa7ef4a07248c0e1cf2da5bd2f5c9ff0b82a5f319daddd84d6683a118032f5fd53f227fd31cb8299ee8145656ef88665cc24d65acd611c17c3e4117ff04c3a3b7187ac7ea4003ba1dca8b24207d0489c863b0ab895c061b9c2ffd339edaec99d315baa93041dfb4ce0d05b3d30825d349831cf3b5c56476ea6e8eb5856d0aa13c7fa4bdd0c712cea7757cb3cdef84b584ed4cfbe1d2a8f17475e83ff0edefad22199e202fcc1eb30e3b5d31b0df4268e08e6dd376a59101ff27ee05c692449926ee7554537e37059f9fd21db641f5f574a3785a6e30c57720e649ea5a32fae431bc86a40f2394f8e7d348eb16968b65ca143223be28d71bcfb8684a605da0738bcb4e8d28edf2fa600ae1f7cd687042896ac7177899ab1fc6a369bbfca7b0f8e2db8bc836f54df98e06e61dd86fd4ac419af660311b628c10e5444c57755eb8b37ef0fb5fcfb2e8a87c8bdeb2ed1ea307373444bb2ee79c23bcdcaa0fa6bd7fbe1052237676ed1bfc33fac6c6f673c7323118088d996dec4c274c9344f696adb595dc16a5c390f80b193b5ed688c3062722a4498b2153a2a8354bc4f8734bb4295a23bbdda9573895e5928e7ecc726d558c67c30d5ae77c64c6c173f04343c450cb4a70ea64d5c432d96b82f48fd19f40ce256b56d545fddd8c4f68d9b058f4b570c979fe01900ce81c21eaf061c8c7a9197c4637c994a1cf5eebf10455e8520c75655c0207ac51f6ccd4f137e0574760b448947748844a3980a15ac9a5ea41e7b56f94bda6a74fba23a7a4a521298ed797a653668b1e38412e6f7a688411e2ec1023d9879f88dafb60db9911ea7f4b474b5d7aaa9aee0841d8e9715135bf9cba23757337047e60b9d9f61128e1b1e05d29547bc7827858338782ecea22300886624ae87223cb490ce4b8f6ccccbaba44891cd463de32287b304923018af5199c29ba17205dd0f1f911c06771e43bde41529ffd2eefbfd60282adbdb008cac9c1452cfbd76601ebacfe147e1a33868f7de9eec5b8aa20f9c8a65f2bbdc7296f7aee586eba43d419e832849b0cfb010988cf3d648f5a5cfcf95d8bf5d09370d99f6b5f060dff690e1e4334232c8c502f1c82ae0d26f3fea54e5c7f0733e67c70e2bfb4ec98c64857eb7769b2fe1d14ce2506dd0007efef1d861a0b1c9e6906df303c215eb03488dfcf474bd97fdfe63459809a7a7df043f26945c32a268e9310505d87db827716d813ebad4a4acb1613047db17e4c16efb87661ecbfb6b39c13577e6edabf4bb3522d667631379422e9c7301ca1de6c1f2c30606fd46e3bfda14277ed52de63403fdebe79489190cc25d2466758926bd8754fdd30c946fb8b6c8ae1cc100453b9b555489fd39a8af73738025cffd032c1afbf24736f0543531b68cbc4c7b9bb96bd00612685fe593a0205e261dd2e78ef6192d73269751537caf6a1763b8beea4dc2723e2b9872364813d3b189fae02f6b5d25da783fe1690ec015d31359d88f9fd9cd903fc6014b9d2f7936f984db22924d58b08c9b0feee42f9da33773ac91f5edc4a8ebe55183688b10f2ee5ca3aebf03f630f7b9fcecc63d5c5881d266de46d45672c49b7b38007c99f9f5848d5ebeaecb2d7f2656c97b657bf84bf031562272fe31ccf7634a91515e96d04c86363aa900ee5b9e1ca6ec8026c197fde672e31a4e7fa76554d07db9488576055034274d5189fe3cf0b1022b214440158697cc0f0dec3eecf376ebd3ab7da6d4c2e544aafc73fc4c59376bd1f0bd2a3a0abd231c01d0f862609c863d111f61660732554a8015e500177e787c53f4669dac7f594f24ecddf66caf3da037474bc24f034f0724401fffd893d9be1303adbed7f57f7ab40f9c6041f0d276c940601ad90e458e59590f524ea27c17478cbe2e02cc4b96bdc1ddc517801f50a67aed0a68ce347da8f341b1d3942da940494d74f02df717b7ae49635e79d408ea3311648556f59ddbc1f07916b135f6367b2dcb4d59b21b935ac917cc98c502ef34f9db36321b3a2e437d0c9d7c7c4703e53f55537192a5779aea3e2ccd039f5058885013659f0f3fc1c6a149f95d7d2229c19e60670615868161b2f5e13fad127dfca44746d540cc06151319467701eca5d3cd649e368284aa10ad64fcf2c4c2170eb24b9827135b27d548c3be0bee02975f2f4536210a29ff6536b886b81f52ac493b61e35dde9a0503d4fecf2557d7671ee29c0d6457bbc67817bf69bb2cf7f8eb6642df96f58d304fddf5939be3ab8fe8b5740cc19120e0e28c61f1b75eb5043ae94fbd0825cc67af25f7d2d4f052f0f32ef7573ae1e137d9f520e24e3c34961fb96ea8041e5956fef3e46dfa96a4e70db2577ffa39c2137bd0ec5525ee36bca3c1c17ca4a53c3c52cf19184ac4c94bed7275728e1fd5feb2c7a4b39be1467cdfb4030eafd56611a5827300f2fd263cf7ed4e3005e99d2416d7e516fefa2226c8ae651b280ad7810cfc5594d6ceca0ebdd647e1633917a4defdc2177d699239736df575d1e7dbca43593fb1eabbc3c82332c82f511ab52732a19f7ba7c99b091b33665bc9577e00cc060528515843afceeeaf9fff2eaf5e615e415fe8354ffdaf7504e9af77c1a6388d4b099b4a2ea438fd5e5514682f0628376c0f138d66b871b0b521ea6f8c76c135ae5fbb9db7d27637a11207d434d792b6c09577d0a85e766c7fd1457ae2729c0f37c81d51d281ba6d34a5feaee14816c32fc80fe43c8579363e435d746b72975e4be931e9dddab7db28ace6b6d6b4c2269058c939babe34e4b7011431037876b1970ff21e119367b293eb82344292c2d5295755de0cbe0160472886817783accd229d9cc7565df80ffc2afb0d769138cde103f93bb7856361f7702e55c899a4e5cc49c23f680a4d2f129af48e43e68fa652d41fe4d0fb5507356c9cef4a944bd91892b93968c952f23802b5a9b3a9634dc3954af8618141c09b91916731fd4a8f064f0356ab7eee695dce753d82538310b77ff7650d6dc5cdebd841a45a9146ba5be4aaf07ba62d2c2396a91e11ea67f6813a8037806ce7b07f6b2384fa6da4b3e72c554c5191566053c6e5858d840abc012389804a2e6a8378084ba5f0640e08290b5c2031dcd44b98434f303fb7caeedb28b05d9242d83d610b30367765bf0dead87cb2b13485fc8231fadff7dba1ee28b83bfccc588f7561fe7b17f3c0f50b583b6adc788a411f2ba04cd0135b47356172b40eec3c144bf7f66a839a04c760450ec192fa58af536615c13d9c0a3a1f9327ded2823c3114477352255f30b1d1e10acee6b09cf4cabfc8927b8a0ca1262c672b21bf860780846c056677de3aa661bf4d5be9aa5b8edebee95540385811600f0efb7ce949b968c2a221ddd5e5c62f3087be56b2ebc8e4757cba39f5146a11ce6df449bee04e0e2617e463972e50e0dec879687ee269ebfbb9547f4800a0e36c0a5ca07b9abef6f46f500c4e5c235107f97e7302c0c5dd1f580b4371a0c3b880ba9612c6be0526fd73a5558e7732df5b91a70753ea0aa1e4ed5158b6f9246a1a2198eeeb772b59040953257e7f90abf3088a08d82f450f2facb0025103bcbc9e82a6bcdafe3d1f54e0a32993062682a78f86317bb6f5460beb00671e982b0a29db0291bf0f7a284128cfb9e3053ecb938fd2da5fe73174edd83a254b7dd77e38ee4bdf01a96cab3d1ec5c69a37deba5b16a48cadc6aa42f4124bc2a75fa952bebb5eb062f9350257d840bc4241e870ea4f730f2321e23cae1ad92806b48b2c2fab0f230d630aedfa6c2d11d45352b7023dd821e90afd80e5bab351017f12db191ab0f47f8874bbc136bcbd75ee9d0bc3e6ee17881f9469495a2a8e1ccebb0f3eb04bd3276d5b338f0e99344b07ee861ac32726a0fddb14b35326902a273aa81c106487c10357b2b68b118b296d01890aa9c3ecee0585c56589a515894f692f22b53757f82876e49de354146b5ab2808bcf2ec8d5abf80261419b124e9eaf10e7682f1b7f05b0602281c770e25cca199e5ac3ae7a853e95950438fbc484bd85889e92685bc68e0a0d1bb9d6ae31b719637832182141c16bc9be7542b42c7bf426c28ea0311bfa1a4bc01e14ddc5e6434dce35a1c39455a898087bb0637fab3598aef6d063f52c23a20cc8ae358931d9061dc1543dd1b35dc5d3a0a47cc77de4ccb2c7ded2c604ede433c8462a5d029221e7169ba30078d63d1c7817d33cfc7a58ee7aeeb81af04589d6f69e6555b5c9a71d2af66bb5715e79a636ddddb57aa8e92c369240600943266fae89bc236d196d7d0731b61701446f6ea8538b8b280f29d4e74cf5ac0c9e9d89db4ac3bc984aa08df3ad34a372f641e8a3aa1895816cd0bff3e223fef36d588893611d94f4953c10112c45b4e568a4ef4a6ba64de78a4198c986450b44168821f60cd9550714add821ef5ac0f958567541f8364a701da755ce61648ea153678ae3f9dc0eda49b894d1f181957e4b8e9614981adb8c7a9aaef26109f46a99b9d6b6f02a9629be032a194529d881b17945ddbd5c3a84aee8f2b6cf39b7ccce4a08505008684550b9c47ebcb7a5c2c6133488d16705e626206ad8079e0340a4c0e7e4030736703f9a10d87cd548dea8a40e18aaf7dc2dc0699678ca9d2f0ac64ce063f130e2dc7a21d45c54996e396baf622d4c7d49b9b20ccab0fbf01b2fa1881d0c3e3d6ac4fb0ea84033e3cfff9b39d7810e923aac9389dd40dc7f9ac63ca177aeb179c3435499cf3d2ad0a911353fe43e19c982bc0c7a47e8ec95441ab22c7d9ac6ef35c690a3bc29d12c6b6e18ecbe39074cfe3d61d92a3d883a4412d330b4a013f2dd7e7d6adf65b30e09d74753e8c94a3102bb74813ce3a9737808ec5c56b6b0785e131e78f464fc58e4515b147e68c42bf4de247f9eba160f5e772a4906c59b4409adf035131d647c397b88b1da51ab737f53fc9b5b1777a010e9c5e477dae0d8e4bdc86cd3a32266a9ccb19212e2da96743b230ffc691183d953356832da8221a100ef985d5fa3deec239c96122599d0282a36112cb08f1d7a35dfb75b91fce37720b6fa55d93eefb9b6ffdc860212a9df9551df56fccf33753d81227a4f2182b862ab45205a599292ab9ed355274cb76879c3f473af280e20a3c5cb3f4dded5fc1ef91c0f8ab72744b8de42ee229caf83d479416b8e65befd1b97689d9db04014c4aa9a4e4a50b5ab8adf5429653e5b25559beea4ecd39da79067612357058f06dc0df5d419da61fa9f1a18784d68459454a8ed310a995a30afd61e9afc4ca1ade52d5a621b865c5587e96461b8051f378e5687098d3fd1addf9b1fc10feca7eec2ada993dc91cea9f023313ddcad0e623274fdff77c5fe111993d9063b62b4c0ce8036b41cfee4efae04c2667749e64b5bb2f63794d0d08b3580fdb26937c1726c4d9f0e77f58d6d50423f223a864453befa22de5f7adc7baf3e5d2f0559716860aef379839b86d1cdf00c55e1b794342c08af48cd741ef6bb3c2e6aaad1f1de95f923c54a15c2514623b74ac003dadaa61eb5d58878143f1d9f5f747559697edb1ab2db07df17e79bf488ec803a72bc3d1ed99f10feb6d26cf7962f1a2237be7440f5ce143cee18fe94761a918016d3f645c55a96aa1a2924297d14f404093958af8229e56c87558132db637b98ae14e54049160ecd2b9930c23962b8537444e3368b8ebae2b232a7d89c9f043dff27b6f4afc5574acc0cdac99c0d6efa8530a469876d449feefbba2f7652d095a11d565c85b70137f0d6d75bd96e022f2ff2ff6cd7761fb1aca00207999c6c1b166a44e3582d0bb3085316b79b5c60500bfa0e7b08b49940978de1861274fe3645eebb8e46de84d207ba0416bb86d9d1c7eb2f6d3ab95982f7c6cac885bb8a92d6defe848717c72afc522de55dae6603a7b7618f4a76347c8d2f23c98317e2a02eb5da2471bb545c1571dde528247d6a40b2ebc6939337a4c54b93d65f34088b439b675aa033706efeb10dce2cd9df720bda74be1c949ce61f69f8e8c62c144f07a20c70562a660dfb511851ae24cf2f98f8b13cf037f94b1e3ef3075a78853dcef37129cee27ae60ef2cb4bc29987ce6860821ec79e46e1a7aa166f87e3ec2a6b61a5075284f8829809c676ba04c1e8302d6a2ff11c9d0df4a6bd66fcd7fd26d52fdc045b53748bdfb26c9293806bc477b8b43f8967d43d0d54d070adccd38d7621b0826fa0a4e80b3227e7702d3ee5d1c2b0802965a7e56d86b997076ded8cde3d7ac6d61713fd31abc375d1b1ecde38ffb814567f6d946d0521ec58cc8bde89d7bb24bbc979c31a1e90a44a1d55b3d1102d4ceaf2a5361a9490e29f59952f043eaf13e6f8b1ceae3bde4ec5a400e6463ff4c9d8f497c6e80b73c807e5208853a13f910cf84fe0769b9766ff38f393e26c741cb38a89dbb3182ada4c37297cec53c1c9e8be20f79762d8f7c0f81cd0a3aac5a7ee340f2462b9aeb143563909a90fc08084b12b0ed0c6b78c72a98fb96297df1e3f8b262552b3fcbc8e27e8fb5de64ebdff30ba904d252b9d8e27731f3366543ef62ec4b87cbdfe5524deaa98d0588f3b51f4e1efccd657ae05dde06bdc6136b402214496981f28c0b8809e3c17ffaef1e78cdcee896c82b222a423bba94ba677ba0d95fbdfc928c34f573a9965e905e617ceb608c2b48a877eae309c459755391353570c0aaf32a90bd261f6ea31e3173a0b98c1b9906bde1cf7cf86c769e3a8d43ca679b39578b9977f63ae05c47a86e0cb9e83fac47aacd25522a46abada4dcfef6ee311fab7e5d9a25c4087665302f0660ff686d0ae50cbcb6ff75a3bb4425022223adfbb6a34c04e8da447ba3ae04ede94649a6a0ca2b6b24062d8ccbebd0ae50b13d951ccb46128e798632cee2f570428ca91716e98f91a8e42cc865a34e1624192bbfd05a65506f17cf51f66ee51ce0fdbe99ba385caa869d197880a87bcadd55e1850ee2beaab9edcf1d35bcda820e00e8e88ad06718fa5559da023cff0e7b9cc12a14d9318809fcdee4b367c1ba0095ca4e64cf2d7c2c88830975511d7af5dc3283ad9fdcaa2aa484dd6f965c5edc05baa7738bd6e5ef24432c816bac5defaaa301c16f51dd7728350a5f8d5dcbd4ab80982a8f1ebb9e7b89c43a6b0723c74e5f04b9d858eb106aa94907ac61ed69c4e9b1c86f0e2ea96200fee1f95e268e5be2638df16717dbc706b99320f3deaa8d534810191d6d7bf80fef1cab8ea4d7a5bc836af71f938b0da494ca2518a19a4cb93dae8e72c641fc42dd2b7a3b5b702269399824c8867a7b3e598e8e529adaa20d3290225268145268582530df102fa9db92652b62a1bdc464dbd6792fe612d7eb81182b4eef38a5e4b8e079722dba77dd9ce85887754adacc24e4ab3dfcd8efb2ddbc79b5e5ef895f4f315da5616c42de2c39ff9200b1f93776aa572df49ecc24e9225bcb936188e2b6a23d4dd330143076ca9bb35116c3f61543c831c442c1b85be64442a339e6262c3a24c5a06b7581c602cf05c3eeed528ed81a73cd8d5dc3aa46e67b5cc6c806b5ad987266476701a5b6228243a1262e6b3fa5751f4768b65a9a6c3db186a23540ddf69ed92e8d35da1c42368e13097b0b42c97b2d565f4c64155aa673e9e7cd20252ad20eaf5fe5cc5bca98c04b1d1989e33219193519adf8101551759f87c7a35688136b59c346209811fa4305ad335dee0b12768c7d4b4a237cf25a6d5afeca187f8a03c4eabbe43eb98391241cb6144cc546ae97db95b2298e0f0ee0075623183a3a9ac9c842438f860b40cf2e91ea6e495d5594d915eed20a595d439a6d2b272481b16528d9be0af2299c74464c16cebd1134861d3597d2190075aaffb642e849dffc4c3471d1b5163bb363b29af27dd1b80df94062597a6048985cb957670218288ce7d3aec275310c4dedc2b596c708e1f11263e572766ecd8a3a70a9d6608ea998a5684e9d8572c81895024c1a2b1239e960ee8ce18487183c74c06bd81b7c8f2ba68bf2cffbee49f19966ec3f99f2ded07eae3f4303278801304fed01d3c4c9d1d7c1a1607a29446b06df25e2cf413393f0e97f433419f0faa0ae236381e41e3419a867a104846148a2a23c2de15be0851acfc9c0b2549574136f1d49fd354210b9ae5931e43652c4f862c21b3abdf7f7912db1fd5d114f96a649edc1ca8371d7af61a97684ff34214945cf35358d8a84bdf2d01433088a13fc60206da93c2e947662e745bbaaca94cf148a0b1c3c925d1306663230a0ab77cc1b4d7ad2d42bf7cc94c2004e14a3d3a873e52407a2550c7203261af97138db9fb74d6c30367363052147e89646f18718e879e1a2b6c350cc54324e585f6fa6631043e4902033240afc49d1ada54574e72df1eac9e1f36c55ce313a6097884ce0fe2a2fc87ae0e3a413a9a448c00f83790ac6ce1b42a2f10ba5a897608692f63e0baa8b2046170126dc1c2782b05a45351077f7477f46ea3e44ead92d2071924cb4bc1430cc8cf9983d0e1ff3e804a17c154ce71496dd2cde02b46ee82f02ab6777633b915dab658cbe99e07633b0b9cbeb0a1d4d13b5bdfdbbba7624721167b66d536a3b7bdff12dc132da8a2eb97931e17f91d625c57adf318d34a361e916614e56ed33365779b2d4d45b8991f28d3026ff1e8268c932f44c9fb43ffdf52e2ea9a5fb72bd4f7459bd6cb00f43c823ce02f72f1a50b1ce8767f4467dea63cee054ae2eecb0fecf475d8a525090f6bcadfe96cd30ddbf14091ee3eb050208b8aac4b4ea486a3f3f904bdc76fd9f707f74d9c5bb5915f1ec6d7f9dc9ec890fc6addca60b45b17aabba430aec5a6492ec7f58f0f86153935b84ee51937b92a45c472ae42ad13f4e2db698e107c0042a8c014d2d43e48b170f6d4be9de0ed96b93f9a7ff4206893e04053582c9dfc9e47cb3c98a77117a2f65b9c58a0dd37b16df16492c0b203fc484403bdb01f726871a3a4e77481c97492adc5d87c00598335aa3c3bc862b09f821c66f724cd3a12889da588e808fa6e9a5c9720fa088794e99890c5b767c73c8e8b2d88260150015aa49e29836182c9d74440f59c82b5c5c2fd565ec45734c1ac00c51286bf985f30a16f35dde0ebc72f468a79e15fe5650af2faa245599c3939eb2ad5f1adaa5e4a6746e6e63a5a04d7cb66da0dcdc36804d39a284237c43eb8b0b9f9672a481594d3efdbd8f951ebb7ffa1d2603c7a1c4b5c344d6393376337fa40ea64421f88e8b4c8962fdc67e0490c1485f28da8dab1a547db5d5cf9a0c431b4ca3dd4ae910100aa52338d632b2ed5af5dab0bf943457b50a6b19ab4e8a3db2ef21bdd0633a20d3eb25d8fe7a6664f37af1b306fdc31bab724fa75b6371ee821e6f1923d8fdd8ffcc1da061d9a2d4249c3351c12141a953752cff07768572eb7345ac3b99c646b2f5bf6877190c836a9d1879e8660cc82e1ec04da218d1fc246864f7f40751e2a78df6f856f6380f01b37596bbafb5c91fd68b29ed00558f07af2731aa832c42750091127123ee90cc2f4f4d198af2d00c838c3ad320585fef97c9f5b9f0e427e2c161b66c2afc48ff32da0b05c2f9c3c0b93888be030e993681d9ea19edf0dc173d7fc9b06ecf9746193c4ddce3ecbd01f72b271c78b5af9b7a570c5531477c7e32ded9f200973aff80a139bf0c4f1e48bfbd5cea43df0e1439307672868d59110c2a481784644b1aeadd346fc9fa9cd0ed08a5ce0f038f2703acead11b0ad41756f11ad78945d0bf912744c04bdf1054e5e7a7ad4b639a1d3d361eb099831fc86d2bcf7d0798351d1ed1cec8f7ec69c082aa4c45cca37e151bae6a40419f1d4d80d4a1cf88d03bfbcbbdd1bef7d92ae0c1dc63702da6a34f45515951067debe5e0491c19f3cfd998cfa9388562afa102a095bba95879d2bfb12e13970056cdff7f252b42eb1b8e15f3eee2d843f2c4325ebcc2ed6469db996eff8a5a01f56e03c9d0696a3b7e3c58d78058be43b7c37e9b7f34fdbc509b5a2ef8e8d67968094931fd8cac3b9cdf258b93ffd0ed851566df091888b72a049a60bb9ab34d67d44b966b230ea4a4c2ffd85f03083a63807f6fc8bf73f95378c7ad586e5c473dd63053e752b5ff7eb5d31ba98d8c25a4b9a146d4509e40c4460f4d233f7a289b933b9672e66a1b143c46fc7cbfbad8f8b907a2e296813f58f8e880b7fb911062465c82b899ee00576adb0d2e2fdc663b02d4cc0240940bc8f5dab26b6f4005b92dbe803c6656301f2fb6ad456d4218b56ce98fd9c7038b4909649066c7c86f1329546c7301f9c4bc85b459c906ac80fab98d6724d035477944d465cdab418b474021fb7b81645afc8d9d7002545cb040cb48edd62ab5f69390191fcbd024c55cd2c611dee166b5da6bc9460849f83dd741789b17cc25b8b77fa725e753918413804a68c5c31f02e78df325ef0969b71803ec7ae3572a698e1d437a94e037451f4a5aa452c68ac3a12caa196a87c7526d218a1371d06e92a475160009d81a5c077b69c4334ccd27e5923c078178208e708ff921d447832e7f582340bbdaeb6809e1c59a16b4b0f43ee1805a9ec40eb9a6e35b2595086a203cf5e38894a4c7b75a3e4e22b73375a80668ebdcdd2aaaab0f8afcf5bdd34954aaf8e18b7359fa4a1880d988f551e8cc2f7fe43a707eee1aeebb2d0c57df0bdba8a708637debe68bf2e371fa5cda83aa62f2aaf1ea95fbc930059e7fa06287112af01452d67709cc58a0636ffb3bdeeeff2ff04502654d5cf8e60ecef4cd2cd1df7f2f4f152d67f1be31cad557f528110a29e09eac2074a9a4e40323268a75f7413af856f14ba207bb393e0357ede712ab42bbf673ffedb8f4194933abebde057aa4cb20cff0f26d8c7d4ebe24f39105d2a77e4bd86e4b6b625c0ea2fc59a54cdd3911f0dbdd78324df4a9d15171c8b30932ca3065aaaa50a48f529309d181c378ebc971bd0ae81eabb60bc32a5ce64c17c7eedbbca8e41670403d7544f1cae7060017c9d47f16f86a59cca428a3a249dd1831cb3d55d51872f3f72bc4d3e7e9b25ca5593869e1c041bd608bfd3eadf3ce099a0758857529e9a4fa964ec996b563548174dff080e936755e839a90e34886e3ada96c22ccf8e6403855c9339d9c12901a71b20744d18c00ffeee1079031ba4ade5f98aed0a18cfd8b053711fcc3dc7c1daa16165c435bd07416a2bab831f60238e3a6c1a77e1cff79f50c2b3a0c05633bcceaa6c92aa7fd7d16872e612d3f006cb10a606ac513335969acf2016e78dbb7169e7f2e6d03b07abfbdee2649d81305b6806bc199d85aca15bbab366ecf1774bdc4ed89d486d1041a4c61114b03aa49c6b44bf0889eca9b9ed88d8bf549c3203e659b5c464427330d5e1b33c0585ce46aa475fecf48c3d00dcdbb6ff8e2c5e1d8754534999f2e1325797ee29b23079437ec53f4002a85ffee6dd2d8451c3e2fb27d2183f04e232716246c36641bef60945fd025adcca2ccd78094ba2c6b8452522e0334721252107e7538b41fd6e9d4a3fe67aff23003b674b0a0c3b240f72c2684916eefda9fbd800751bef4585cf2bdc2bd4a84d86f41a5605c5e4025468297e46e1ee971bbef5b7164526a728e59d187b1d0f940ae9a7988d35bc2366b81f7a2be1e7d0e98131faf73c49a3cff746f86b256df062b774cbd5a8e915902579dd4c1c135878710258f615c3d230d48448858dd4ebf6a06aae5d440cba81e9a45e1eda6d6a28fac9a8e3e91506cecc920a36e4cd4e7549c2eaf39a6025935bb8d0e42a20eb18c221c1b384bcbda29ee333ac8af9a9c9836e98ce27bc0fc58149ae2647b76bb8199e612912b30060d87fd36ad31ac38288b5d537e298f305a98d048027d35c4a6cde90e825dbf1e41150b6faf45c5f56e7ece35749ae275f29f67a595ea326765d8d3a6a28c242d4f6e4548c6c4715992947b597b6b84e3671d6a36afdd4809fd5de0f719c78744702bcf03f2e77c50e6d31f68cc8dd421c8424197ebc37b23c6bfc69bec0392c5e4858bac122ba6f3dafdfbf2a5d4fb42e3b37e2417a8740f4c7f135161452f3f8a282de0e3888addb030510d924f2969d77a8fe0e9d12a324f53615de6a29808bcef02455ef49deaa8ea12192ec034a748a448551e5604a19d1c16d5ca0efb4f45c1f4a49740b9805e3ea8b71f99434bd40be71db44e3908ce5b925077890692c6de6fef1af2b7905fa2a157ffcc73e02d33ca5808e605699e75eabbd0f92bcfebb9ae91af792932025877b5766710887645d335592c0ff5887522f2038deb7fdf4d30ecc89cb85ccc2b7c6980e94e183d5b02192d7693a64b94281f58e233880e54c6ac1f58726063444931f292fc72a819358aba2cc504cba949634bf0ac8a42f564a34b5920071ad7dc2bd38de448009d11082a17d516bf6fe8ca65299570af5f0f0ac313a5ffeae5a1989b31af06368ad536376f0dcfde39511ed29bcbb2df723bc11d8b33721a96d6290e1ca4cde6eb134e5108db532a8502e8d3a42ea8725a5ea7b7154d3edf42b9fd57ec3f78ac733b6dcc30846b385f2d85732c5c152d3d395217163bb7642e8ff884dab4ef1d53aa8ddd543472b4d0c6c9a30db02e0931919851357fd354ff207187f14a2681e929322973f45b5adcd276fc9c506b85e7b0704d8a95caf344285ca2756cb9a835f87d7487cf247a87350386c0b8342212b1056a4d1be78de5f62b3789c722c56a81120335be70f933aafe10e8c1a62c6f4ff15a5776b28141b26c6ed30c9c3bbdf38daeff084cdf0a7dc0175c22afa9472e0622ef8657a0b4d9b841963e8c5ffb8bebdab50653d4b245cec49d2abfdc6244fd7b2d1c7bbee3037caadeea18021f1eb708100f582b2af9bbee60c36bee498a0af2fb5f2cdba77754216f1c702e287de613ab6861696d2287b17076b176977c8f40948e6052547232cf897a057db667bbe7c521a0dbd0924a65f707dadc95f6fe1d7e37cfee734aed21f4a45eb58f4220aaf59596603fb7f8e265c87e2faf9463116b9d994082c62dc5a9da35deb3e17bdab8a9618d2673da13c559929bc1e3584bcc5c8d18a0dca1ea34ca0e63163867f3a09e27c464f4d46eab76424402888ea661956df85d7fd7ba60f9640bc960fa3057a94347e9d786a5992f0789c609a55aab85d64655f87ff1827e79c220e557a4aa631c4154af2794406644d515495186498df7cfa13bec5abeab50cfcaad220f531861621e161c738e804ab0efa5e20ec08e8f9d6f81db1d4abacc5850f9028641753ccda0cc62f0dad007b19df2ef066bc98b4976e623dda643e2d39a6c497304d99d52028db1c70c9ba7d521cb3cdd7a78544c33d7cd2b0c73bfb47a51d5a611bc0b084bc420af066e0c798da2e69393fb062864c52b3b62b103c1b810054abba86f14b39d43c6768ad5b71a70d2d001231f6e090048db74067250d32341dc727f162520cd6e04b87dc514d86bc2e8b4ea4faec773720f65d98659ce5fb1dc2cfb461d90bd91317c9881757eb5a8beddd0a589f3c066cf6c4f99c38687a66409f34dceb592d2ee9b246ed44257d6b1e8164d0ea8b4a95721d6968fc466bbbd814e65511523774fee90d2bfcad4ed9c088aed8d9624562e0b2f3ac215a0937829c5f8f73ab7fea41d277196101283ca75798db0bc6340b3e0bc26150946bfbe48d363be34491641df169df16a16ba36b1bd0155c9b211addc5760c83098890413b112141f459d6c5a1dc9a849a3dd20bcd75dd61c09284c55c1b4e4e737dba91c08878098aa7e28acf97fa19f22d0006d31bf7b187ea5aaf1230fbdeafd9a34aca598d08b9c6e49365eeccf62e29640fea666ca5cf6cf225cfefbd5758103a59c748753e89762a7622a3d8a459460dbebf034fadc4af8c338f936ecd053e2729e433d44d0832aa81db768e75c239bbe7a32306a6c75af0369154b2c65eb9c305e161214bc2ac9a406e72f18365b802a00690f5f58752af8d84a66eedb854b137122e698b656f35f8752358195541d37b1e21d2dea1629a34115849639a65e5a2ee1e9c6fbedede8ecbfbd13d8fd30b96544e819770b6030528bd79b4205b6ee7127551363e4a8e6d7bd28f00b7b09318bc87641da0dfbd90f67cf4dcf2140605e0b9056db322168c85094b2fba1402595151cc7e4805e217e11ddd75f6f0c7397edf989451553278dbb4f537b6fe9577167891b352c3437ae405733781034fba560c22a932e621862336098d08c4ac4b17f0b9d33e648ffc056fca7eb5d9ebd69d0c73b4009428b4b66ce16df4790ff3bb16eaaff72966c5d0d969a2efc5f87b5f7adc409d48b578dbae03d5ac5bd800cfad711bb286513f3d5dbfea2c4f328f7f39bc230879ab6976648454353c92647c70069a7bca3c8fbd1b61ce64fdb48b462b416b5d9b8efcbd2be8c8fba40e5c48a7f32389318d78b25d99d0f75ce33e3948aadb805f47aff17fdd4c7223c6fe92f77f884a4da7356daa95bc0bd40b1fcb1db40e7a49caf6adbd98de9ba42a4cc11e1447afa2760e74c4f04cdcf0026e7a459d00bf81b9c86c25bd8d8810e55716c47f2280055027f87718f4ef05869366e6a50d042009aa1b13a782a23159dec94b456a488489625d67db06c653a10e983549c0e3db5d48e3e9a9f458d83bc76b6e2a7e607e4a10366111c9843443597048e5f5826851921103ba3aa6451df1245f7643051ff8d113411138a3ea05c28862b51f99ab33dd3868d2d485a9c8cae269590bf5a507daf6a88540d7144ffeffaf714eaf7f0cd1c8fc523896e12ea834256e6390230714b1f171035f07763ade411b437183266e5d419b016bcb5251f650079a368c9dee70d462d272d4b7de8dca8d6b687215b8f4ee468ff80adbf79ed1124bc5646f2b6ee98c5f95c022ae4bf68a6a0c4f2ea1f95bae4bdb0aabdc02f989749e36919e91b7634e1fd7a3509dc8d2fce155bf9b64acb7812215f2adf9472681817b8faca2504a00171617fbeec9a282a8b5296aee88c694bb869c6571be281c7c974fb75284ba7df284e46023b19a35b8ec30a463d32a17675848e57cf090433d4589f88b8c526c78057e8b82687ed3fcf89370419609bbb23403c59d95995ecf62669360fcc1c53c5c83d385b12a000dcc579aa508a30d1dd5211013d8362fb69f1afe1153c8842545168536853084ee8a012b95a86279e3b063d9c1be0605d43fd0fa4b5962bf2f5087a60161e2897acb43094b0a11413ca1d9b88406b713becd0f9ddcc080f2b6acba4f531100d2e481e9407a38692d47cbde8a9e0317eded766633aeb78df8c63df7e4d0147ee0e98730c5b474e281494ccba8b43f231c3ab3803cb8c9588a05bf2433e9debaba59ba7c8b9d0862c7c625be954d0e13ac6b7436336df0fe6d3ab0c0a212af1413a476c6d726bf3c6d21a4c7d28871bfa20886634a8760bbd476a306995e583c3023083d1084193741f61539919c01210f0830ee3806ef353ca7c81e12946d231a88833d46729d98a2dd5c1077564688afd7f9fdaadb37d3bd99005dd53cb862af9aa08d444988c62ab325de1adb248387b0290e4e9a7012b19a4166d8d8cfeff8645c0aeda6885b3926e8432282499bfc24dd0bbaa1239b9a3d53d952683654fdb13420eac258deb7ec7ef8c68e9531c38077cd32cf76fb3d1debc3117323036cf3383d061535b5fb75c8fd706d5238126928650bc13e551a4ee0257500757dfff7cb2f8dd9ebb70402d68b41c801810aac4aa93be13a3dfdff9e8af27693d57c2d68813becacfdb6f9e61e7dd6379b858c44f4b6d17f88fd0cd7c4d2c80eacfb1e1b6882394a19636d4bf625a84ecb6b05e36ae72d0a65687d5aae4883d5b274a7c9af433e23629ddde16d61c1f02b0a3db30b13f39210b1aa95c96c212724c2c29e3228f2b72d175ebf1437349c186224d06f0fe4443d8fdd392509d5262bde7f8f06ae850536685d104679f6e299e70c89b933eba8571d76f55b8fec2bfe2ee0e7defaee3ed245c9e958ee9c711eb9ee78f59a60a6ef59bd24f51e83f0f33f8cf6663f42de30be5df4f4d363c864a8ffec6367393fbfc221a92fd16e51ac8a899bc453f709c215f52e6aa60081937bc5235da7643cc30028d54b2cad27142cfc9f5954dea2ab1e67e55f4deff7ccd4193a098d9a157d66906c8c23f0681db9d6886f17ca39d6efb0f7ae444d508d0e7a8c65dd1d9ba629915e4fee77deb042e63b838eed0e96acf735a3b6fdded461eb81bd0cac755a9c13be7e864d27dd0bb89eedd61454a2e9a4171102fe634ab550487241d1da53e3b673afb283c18e8b67f58471d3abe541109122e822cca6292d08bde5157ed55b8ae2b89fe81c51ea445f8e0f5d1163d2c6fd054b212241e288007d059d0f0b2a658624dddeb1b0e02cb0fe3edb2ef041c577c09c0dc69eecd90758ef88ad28f3900177edb49ee42041724f97f1f82211b86c7bf14af3dbf492e2ee2edcd126a5117d9a8e126c3b798c01ae2a8c0eb7d2720269536e6324365092abceeff71c6befc02e223de84ec0c5fad0827abc28ce3a9c145c561201ebd37ac267626ef5d14e3920fd785db41e67793ae0ff30c9e2623687d0221afb27cd7a6984baed2bdee14a0e547568ce2391069a92e58f80935ce63f664b10b0acb1d2a3560dbf7512ad19ab6b3f4e29c346554b28ae3d462d57f245dd0ca269a29ab68947a80404bbfd0817865de651b1c1257710ce4de514b06b7a9c37157e3187d4963de692ccd5de52f6b244635fdfeaf59819d07a65c8a10e941846b496d61f59e406ea51b7469a02c910c9bec1d16b7730c005a921b6aa557eac699a1517042718aa8192ee03319b8aef6569fe5f0535c171a2b9ae3c4d7314eacd23368481154ad5da063875c4d69b67fd18da746f018b0f1dba9780e05be753dd904cc14207ed82c4b2396b70e5021558879377f5532733f2e175c112cbd7276f68cdf014d6e2d17ee9dc72db91950eb239d83d6b6a93123c32e433c277f6ea9e8e90102449b52e89756b491d607769f7d36ba71cc3581640665d4b1a04b0af2071504ae5d85ecfe312a7c8b9ee353da4b91fefd6bb63912bbc43aba5c52e79b073b6c0f9df095b653cc6dd4a5e2f578ecfe626a97abb8ffd66633e5690e884925260f935c5cf0881fe6e6288c06f68bf27d7ad1f5aa977ed2d985804f073e89eff9e953ab97092d14c69d85433b96bedbd7b25db5fda950d48be34d923777baab190e7052a0a810f053e40f52b7c574940eeb714ac402c5baa2f40ffc3d800b5934badde116da9f7f2f1580eb1fa90fcfe4513dafce73b0c0933cf04c82f394f45cc15d4d5aa01319b6a4ff71d8c7c9eea9da0a72c7ba7f8db93ad52c915f0f4ffb90ecb894a7e0cb20bb4572610d51c32a0d074138b84ce3fc63802a46abe3b14a4315c2e61f45edecceeeb635b44bf3178297a35629873745f6db5721c8069b7548805e838c321bc4c64bebd78c862d7588e7df3357f62268eae60cb6b220858b3366c93366caa2fa7b671e7312a0ed5f1ed3f10e02c43e199303b7ee01b545e29d201bce7edcc557dd73598914d3d79df228a73cacc7b02278d3f9ad2d08e2ba3e8cb1d4cb97332ca480d147673a93b06b47cdd2b2b261afef613df9f00a907086e60b37cff6a0be408675fc36f83455b0ab4682431f225fbdc9173ae8dd746f11d3f7daead91fa682c462219fba1dd300dc1110b302e0a9ed9bea241f7b8bf02410ff8d0f46a39e80ee11c6b93086cd50cd7e3a760d8f3335f29650ffe038881d0211feaf7943bae325db2ac761c1117eccdb9dedb315d1e99ebdec415ef3d4d5f6010faa78b2dcc2849266c69bc42ec40f3696d1bce68006c79af86d0cf504b976d59b2bbb5710a18f29666750558b83d7a9e74fa7022ce219660199f210ea78b2e1363ab96462ea18bf68affeee7242cef1b5c5626b2409ec5eec14fdc4fbee1842ca681683928510a30b6915672d54bbccd349d226222bf8b690ffde2bb01ae43dc7174bad6bad1d2887127ee36f7a48af78e2960c5650e0dbd5f7662ba82cfae957a7d34df8adb3d47de630bb9ad262f01862620323989ff0542611b29448827812a111f867edbaf8cc4a62d5f1f6ee43aef694d45cbe41f442158d5ea72e1b41ee56dd69e40c6db94b6aaac453bec5e91030786f8e52c1437cb768f0dcd892fcff0bdb7036d12479e1db0817232b42e96b0d2913c560a072f47da1b3b381c4af58420f435fbb36b7f0738892935332a349e9881db844a8441ca8fe636c1c6452b1328d121bbaa814541a1f88544f4a4e523fc49f80d08153791fceb81b54d943fe1d810621c4798c23914cc792b70cf0e1f5bff7e476aba2b398bb1fb40ea8d2b6ee2c6c3969af37fb97241a9f8c8781a808adab13c9418566ce84ab0a896c01b28734a319cbf9ff7b11545b7fcf5f222a67a47d0e5ff2b8919a9cb9e1e6720440aec4e1c644e3ba4026df6c39e184208873572c8fc55bf7a45d72d5a41178c030f896b82a6a9406fd0f75d613756e2ac22a8207918b1618d4155e3daff81319bd8530c0888890dba496b2cc6f054578c173b74b8c8040205514d7aedd8f268d9968eb6bad15363b45accf655452a675bf0ab64bc63c8d0c6e8834c78a6779f21865d07446bdbb79f323630afc7b71d898c76cdae71f5f4a54ed3b6983f20d18c9f3d7a73efe973c5812522fb0cee78c48fff9ae722d86529f869572a1db23f01522ab2e7f07c1e8b9040778efc86c0cef24f2a8c19206c841e3f4baf3673c78f17fd530c4b2ffbaf241e5b08bde57fc364cf4e414b4f0b8821b8c3724f92bfd1883d0d5f89a933788fb2425247632927af8ca26a5b4340b29b65f7b58cfde77e60b5415c0602c93493e78c41e46288743d6145d823311c34747ee760bd355ce7f8c94c19dd3315973c49c85950418c525c929f58836b3e5c43fbbf03a3468e42fcb58d3f5ac01028a42368537d6b0dcadbee89e7b8eb6757fc336e39fa43f37ce77f98405aaf93e41d77965ce7236db1846f35c8a5eb8bea54c7e69b82f2811ac9f6e0aa4f3b159e2019501a9459cb947f8d1097664958e17b1fbdf79f7f55ced38057fd7a08eb0b079e27b4e8d0a2e863c4aaa3090085be69aa1a137e5d373c3df1342187bdc72d8ea73d567814ac27461dac0bd6023ffd506bd291394aafd26e5d6917daa4ff983d6b9c6494cd3750fbd6aee3b8ccffe5854b341882f30bb95cc6770332224bc3be512e862e1e97fc5b096182c29d5d4a01ffb2229a51e2417ebb0070f0af402cc27adf7f45f8aedd1089174333ff25986e0c361cbaeee5e69dfb5d2b594c17bd810affec398dd7ef2441e25b09df25e0d3b0f01a57ca50c7586496b08599b2995152fd5f2d3de1a893aca331d232eb8e6791f779f68d3b0a674f69fe92a0cfdc22f0da8d08397939849e9f81bfaf48fb5707b537f55fa2201741057b46560279469f1c40328584635f8b7b9e61a40e3ecc37c018156dd4459ed112488ee3329c1cda1c4d9953a7a2d863ff54a322f24c38c093776ba77c68084c907c192c66c05c324f5aaea2cb6a5f4ec3fb74dbbda48a3415cf4c7e46783f473e782ac2a21a29da29bd25892742716fdbaa1ef51b92e1eb3d9dd8b4561b7e3bb38010cf05f158c334d6e126239ed67a80239559e30bf118c0c2c30434cdee76f0a6f25226317333e5bf6330c2a6d912775960ff46ce5380e33349eae6e51bdc76af6ab67798406452175e95e2d11fc85e3303627b448520403871b46402da7fc3be223c10ea799f4e0242d1c660a0e172be78a991327f130c67af55f3c59e798d66b769298cc8194eb18444984582e8efe04eb9871c9fc8cf19db6da04d8c49e61a660ac09059a47ef68a10da2edf9b39909c323c32e7960f9e8e1ab427e9dd40c06d85602d73cf5b5d1119b82bf099bc90cd04b8bf75b03b23df63f5546d021da6ccbcf58e9b6821878d50ad5ca6bb8538c7ab3b160f2d7cbf55261a37a781c06856c5484ffad298a2b5dc3cc382349e61a050e244f607c77f847497630e741dbb046d1ed0cf8af272d5425c4af0b5a63fcf54b56cfcb211107ee280fb5a9c0807716e86758680a9df983aac150a0da801e045da526b85b781a0555d9a4b69fa97da665617fc6ee09e1d8270b25179d5770fd46c9c904e047949e3feec27d8154aea7deeba88ae0f52635df3a5028aeabad8be50cb19cf6742b0c783721f2771a9faf48e793f66395e9be3b2ca2e402ddc384738f70c3950f1196f794b1db2580a43f8ea3b4e01953691a373c9909851032e435deb231e0e6d86daac7d901d50101fa2dca46f26b6bfe653fb272fff6a76b82358f2408ce578df1dbd26c1de31a3cee0efdc0e6f508aec995dfef78158264a22babd1cbd63afd0c8cebd7a6ee87a1ec6f154067568ec3e53f4f580b918b4b41ccb380127042bc0d3e735fe9a946d9c18bc38ce2de34cfd50999e849d05599d72f4561fe74e27ad697225f52547d441fbcb23bc0078fd7b6048a19bc78ecf190148c094abc5f21b67c051d195d7b191592abb280077dcb55c227c99867616899b8e48a06628849d4a7d71211cbb71bd922f1727333b8e49e8915c161f3c12146fae66fd589dceeeb5dde56057899e7baf43b3f8535e5454cbbba74ec3572bd7b0165fa2a78bcd2091e9f47eeef26f248f4ecd8711e4b9dc9744308ef3436686d5c11961420b46add126f0adb0d6ad38f4a004be4c2be1f2384385ce0576a9022f77f74a9db1a8c573f5474f9f4cc485d40d28725d416d474057987fbe91a12ec8bb03110afe13189084b7fe224fd0e0c87487e76e092b3bb453a6604ae7e91ef31769ccc1722e9b6a6328479635f79daef9696a6cb10c3b8270b04cd55776066eb8b339d4f20686ecaef5f1692eea0b1b75ce012ada835fe3724df2ff06807be45faa06b9e1ce8a160149fdcf4977a62e570ab41d7154d0bb807a5400bf37feb047bd6ad5242f7b3ead7d8f06a1d22843cd57023fe708d18c5ae81f3655fd2b29855e9b88b73e6301279cdba813fe60befefd7c994f6f9c60d7eb5faf0cc9b7496a6ca9a9329313659ac290e8c6383e8f741eeacce046203e12f0c1257eab62d96d6af97528de9573f159ec44f11fbd8a0f57562a5b93e32ab3b9ce48f560a6cfd0c3fd6ab0ad146ae2600f18fd843ae4afc74f2ff3cfaf11e8b4b8c0befde955cc58ecc934735a895940d3902cea8a3900d71d2a0a23eb09ad29cd559563d44e048330d1f80a90a9a8009cdd5c9a6ff76dee655793e5b4d5d7a0ee2f2aa1150e8a248586464e7c6ea6c2070f3330797a480947d84abede4034d0a6ddf2d2896ad72e1f3652dd958b6fbf6f4a987fa5a8c58c40786b6ebe8cf086df35c9bf0d43ec443877ca01690374f459d852a4bf779f7fb1a1f17f83e0df47a6d075e394509d864efb1f16d0cc2e0eb91a568abb0cc8cbf23adf883d75f0794d806c0d0c9d9e9a845460dfab379ab53fa85824ad6be6777e9963702fa5d5cb43b6bf3210902008190bfe149cfe5fe216fb100b1297e4836a3bf7922eb571385ba0f4aee3b507be22d99d33f753cafba0e379fbffa458220ee682a666468bde581a4e2442d0cbd374dc1e3be71a1da9802af7b0a1d86becc688c762fb775971ef8bf24acd351870da0b60d095e34affd6317ea3d0dad66d1c47603400823994a44d0b2ecb36b3b5eaed4a7b0cd2ef0a40e554154c08d75c67ce400b33e52593a5906c6ed8f73def367a0b520e2b004251db5a75c3d1a0d940f5797e957915233e5e8a9a6fe4ae545572f36846f09f1ff8de37021fc985eb2a5dbc52b74a40e1972135c74b28e55e7733254eafdf14863d6213c8d5fb17ce996f45d3873e00a4413689588dcace45048c902ce160a710f4c0b052d2bf1203330883bb315cf9f7b78ae2ebd26fd7401df9d0f7f773e65b19ac82ca80c07fa523807bacd44bbcac842720958ec6a0bd1f731794fa86e7cd9d5bc83e4faf2676da6710f6f9f3eee55708a4fb58e5d58826c266a63e2179995d4928d34c4a557e71624fae84ec3eccf4a7fc7b949f33e8dd32b401b53a68c1fa1e760d5aff657732e490692cf6a12efb2dcf98ee29c097f83667a2b119c2d8dd895ac516f069bd4f760d5a7219df6078232a010867066bf68a54f0f690e67b69d54d1736505fbc2264fa19ed1c5adab92ce74861955d6c1770619509b4fd73559dd107f36d92b8ebb51c89acb86f653ea0b6ee043c781df0774b8d1e9cfad8a6e967df6830eb2f45fcee81962af6622b2dc46bcea98dc2747b49b63bb6f633f7375635cc48a891320cffdd8558ff397758ecd88a00bf04f2a8f0fcded0f414196b20865bd672298ce515eedbba13bf2bb244148675e1a3f6ded2a782af9a1852abe22f3e3cc26086296e15915dab8abd0baa12a73530e479e7e181c0cf772d6abaf11468d935f744addffee78db165d8c3fdef0a9d6038783b270124d325dc32d22f0706d10dfc0eac187bc5a3a1d66d5a8e0e2a3c59a954f9150403359df0e85c23496f41950217d52969b74df9c9f7f4d39b4d88d87c5a676f95896ff90c8b75cf79b318e39469a313c144ba56c0d209d945af936484c36330cc2b8dde2280d78b0a45d2a44295f09a2923a4166f5279ccb4191b0868122828ab5c11bcf8d0ad425cf93e397d431a40450b78fc929d3312186bfba3e173df18eb2c0ba0b8abc721d475224ee3f1f27291a33e7f0aadcfe35b5a6606a0a3d86f546b18a73d2d9279aad62b254746980c6cbaa749067a48ab9f3caed17e2736dfd0c8149abac491f36b1d2b5c16d372644127db3a2b06617242f37847653295b5adef70ed2e5608d525a537dfbdad5c37c1e7003e72e86b46b8ba162df1554715635fa3e392a5f92fd9dcf5f451591bcbd3197c5fac4bfdfaad30c5d420937dbf1de6102654f90e80263d10b7b0c7bb2c7f18b8926faacccf2f3d744a395805a916b3ddabf46d400dd74e37dad36f5a9e4f157b852a24bcfca8e810d9713ed355d357c8646ccd3a69eb93d7ebb719915f21f1535f50b6c0dc52c62467508773232aee2e894372449041d37908001b18f6b3a086071e395afdf6ee1b82661c952bdb46dfe73c56a3fc8cbf24fde98503c387c01c94004ae700998e21adf0076e0e68e34b6a20a8e12d176b5271ec1467881c17a46fb6e6444ed02581e9b430dfa5fb01b6cc797ee51017c980d6b80921686c08c2712bc28e2786f205e5770df8cf4866a237d95f6c40852e2d8b7a51e509599283d48155d60d71c2d345baee902da0ece2f6d42194458d8c75b1647f73de9c4c21f7452920e076c2fe9290380d1119acbf5648c3cad05e8cdbf16d84383f6115f655403ced47c9807438c912c6783993e67eae65ea0d26b2790d422279d67aa397663ed58d65036fad8de4478b401b45bcd215accca0eba874b2af4c9a139f3b341a6d3754427b7dad850d81e792777e9f7feb368b58d5a441a0f660fed87e3fc23b86ef7239196529faf3697b0d1e1af6cbaf6aeaa338e4f76e2f0a92732bcbe82a4e2a5baee103c98e3fd2cd67bba3dc264a37b89d9d638de3be9909163b52f978fafe56e0296531ad4f6460119827bcdaf121cad8270d1fc40e2e6ec8a12b542fec161a931c336f41ff56f588b040a4d564736fcdd4f4cf2a20f2e622f70a767bdef4f7d005125a0b0910144cacb2f9f660dbee2fdb3c367c4bfb2de25d15aab910bc53149e796ba66daf88c35c76ae16e45627e392e5396471b5bf603daf4d21f6db5bddb0110f712dbe972f83482744ab95a839bbe70639eaf80473f8169c4db4e079b9a75c53b33c7fbebe414b38827b65c36ef79e0b06ddf429589a6819a1aa0fa079e38d3a7c4d33cee0cc1eef43d5ab48e46365dc7cb9da173f8bd5735eb709de8ef267359225689a536bd9d63699ad49c53d90e37f56216cb0bf85b8068c8886764e5b7000be2913468d175bae65a9b62edc86ed2b6712176412f87b3cd2d5a973c4a52c0d9c64c173e6df0277e7ac9db29b89220df89ca07e4b743fb9333ef32f2d30f32247d5d632fc13c74aba204583756e111cab9572dba263bfd21418b6121c4dc6b42738c1aa974caacd2d947ed7f40d31b1978afa5a99d23c93ab63e691611cd84b6940ba3175b7b595869425b6fad6beeb8d7f8d6217eb074622b0e778f74f3b6b1b4aea0b51af4346fefbe3418bd54d522863d634eb0b22858fe9b9ffb3f84dbe92dfeb43717f73a35fe64fca22cc1ea14dc2907bb483a7938f2da2059307a395292fb3739d23d1ad3594eef855c3a4a6b8e25b102845c805672e904b24c970b74299d132d38a11601bd17d004815a88414cbdbc064c8a24c0455b5461520e454f186e8072e8437dcfa8aeb08d08192014328f2b24d6842fb72b7bd246ad91ec9b6aa49126747539b8608fe44cb48fa629d76ac86eaa9df102c6be542fed4d9d82d6c89e10c0635fe68441e3d8f441a518c0c42c15ff99fd9dfdd595189b566d2f43230e63f742127724007054da95d000b7dda9113e3c1826c40a9d7086d7622100287539e16228291d8dad7a546a92023cd1a2e44c46d654f69bc73347889a49c536381a177946361c7c017e25aa55d9b36197abb784ad1e962d9c0fcdf833ffbc75e7e3c5880beb6781a7b8dc85f30eb6339bbcefce714a690a9f971c04307cbe4918df2b525968ba477098f0971ab109b170e02f50260d2ac899a0e7e7224a5b0a58f029efddb715a2b3f626b7cd619705c097889b62618f5988d35a528e3bf2d0ad34309d771af5203db62b88b4ffc998af015f87f8b4188566b3afe154b75d2a839e12165a8e1e23b5a8e6c0cc24851202156a47aaadb21ce1ee42f56a6e6734e351b69679e9bb7369e5738889a9933f15b7cc2d3fb9ef3547222536434c78d9c4ee90bcaa7a8782de8d8a669c02910cc656ac2a6226977b18e2a3e1b8d08139d688bc5bca1d5d1047465e71528606d39f773443dc1a945df670188647b09aa885408dc8a2866f23e1908742d0cc62c8477312dff517e623d8d0e09538efd61713bbab7ddba8e15f0932783b7f48d58806447d519388b01293383b436e34d1a95155ddfcfed0e1d3a8aa08b5b20c5f294499df340dab10fc73e66441b6c63ce9b048410c211b743fa4d5c3fb14d7796255bb296c15adabc5fd3fdf202cba11e6e394d3c51033ab88dfcd095b49f608f7e48649c945a580c7ed3af24a39cb2ed702635038ef843dbfe6a85e24f15ae855b346d13248f6b011aaee769424587c2adfb160d873500a2d10d33e0a6642551099520e5619f9e077e597534fba45281169a0222d763e5035651c3070485e44afcf026d4d4d4d3c978b45711e57f7c5f64a331b0daa8745925bd2fbe07083c3f6d21dc70780724abba4cd2bd3f0f75650da4e65c8b0398c1269b665289c79bbb4459fd096c9cb2fb5109283542bc873831c5c0123064c499dedc59d447e6efc0c01676919bd8f7bb4e2fd5c4e9ceee7dd35976c990bf2d2de3631f54aaedf8be086e7f624c6a3feed1ea2b8698f2eecb5c6632d8ffa44dc2b3518562c83f02caca1fb058f54668bd46512fe58da4e34ce4daa79949be7c5b33dc0373d9eca8ecf037c8717a22128bbfdc94a890c52187c981a0e75492082f2aa2b657a61b171224087a7b528f35c11ff8f794aa61e51acf5246ec5523569e313a10cababa434a04e41eb1f292968bfdc73829570ad9356deb409dfc5016c32e22ac6db7c2483f56a1ce8e8720b8e34bb894bb3f1ca313642c4e6eb576e6921a705d15c687a493036cff2bd96b456eda7d89c6e2e0cdf7c0e1e524e968cd64a2f84d23bd959de5ac4b05fc3dce0f020dc4e88570447d7ad9689a3382ef4e536c5886b1b96b8d5c56d4e64810020305bac79f94750c80ae5093eaa1344051dfe4adcf732e5cb42127e9ba940fcc5d6c021bc2e158735aaa0934d81491b59573b30c664454ebfc452c5d51dc5024864cd3c2280ab3041e48fcaa76607977c94c2757e74be70109b688b8a69e8cf0492f294e3f41b428fb7370d3e60c742494e7079bbe9b9fc1e040fb9280fb3b0b07dd4f1ef6dfe5d7bfc0742dca4592d4b3b637d7e2b593a2f5e63e52e645621d69e6a35a952299ccd15a3f8211c701f8d5a1b4ccba86e2542c18dbcdf5b98a244cb5a65ecc8013f359c6524d974ba1032f01a138f1dbe6c2a8d39e776c0ad456006b395116800abbaec6c67fa41d9d1db4d6b5609364566ce818f896afbbb91adadd2a794e289114e4fbae18ce8a375559a4798ad5c4651d7d7fbad57e83558be44d2438cd537861f2c23b07023ebc7d5e816643ce9653c5afb773d3d57624c22a3f692e485f58817915110201b0c76100d5d22048a6b494b9e86d94f0c9b376da345ec3c1a8de45a68b3959d17d8f82a3a05cc8d4a75529fc5827f209c3adf4b0f62c48e917bb82472f1624457661d8025878481345a5ae9c9f0893bc3c7f17f7f9bc9019b60ecd59d063cba2fdedcac1b19de5e00e0bad8d8bd5b579e13f86d9022eb3c6694352b98f2ffd42cabd4c114241e5b3c813086c23655710de36f231cdb7de7ccc8a9d239592e3de8776aaa572386c8fe57e3621c0f9bf940741e269ba01cb6bb6179d85173cde3af06eb7db712d03ee6357307d7f6e019aff73ab7c8fe8197349624d506fdfbe892e0c7af2ad8974582aaa802aa9759111ebaeb7e45c08921fbf3ceb6ffb0e2c5d2d3520eed47b33b91c40fb4ef24580842a5d98c1716e4fb86d9a4a91ed63888df3451838253e0c8323431aad9989708bf9ace9e3fe3a6ec546c1f0020a57238a7580b6907ad6aefa28ee73973bf5c26b6f33c9cc227b1888089351ed8759c7b25ae38fee9c459c2319d08c4f5912b1491ba6e33a7d9c512eaca5a3c8274e5dbd31ab93d4d6bee4c2646d5174efcbbaf91d07bf4d071a6af2ff2795ff271c597597d1c157a562d1aab3f756aac20affff0241ba4c9d62b1b8c4a84880237c854c989f699839ca24b9a3957245e4cdc256ad7d07d93e93a724ae8e3f23628299652d51d62b35ee0632ecf929f3f00fc03f3b22e02410bbba5aec014380be1b6def557d700136db2e5fc7559f3e21ac2c2716a8f7c802272ac12118827aa1d171d74f5759fecb56839e2b358ff86de0dbfe98ba6d38395ee87f358ff55c9de4bfbd31802aa0e9b0d9c204ef3e72babff5a75fc5840e436ccf40779a2f4f2db67f327cf1915421f30d2e00ef207f5c15653fbf5d120e194ef4b98d4d0fab925e5740267437f971505549a00d3524dbaa0dc2a62689832819e2c4a781cdc930d6e95c66f8d3a3ccd75a9c4142e420c08171ecb99982fe00af7b31d1fcd3834c9f6513139a3639b30d5f815ab69536be4ba777f21b69f65cc994f97466f25647388094a1a11f2800b954cf1d14ebe4680536628a95bee53ad054093c3384d09238adf2a27b10df7a9a18aae11b53d849c252883bf453c49bf3412c764f5c4106d5324922775b40b1bda15d36a2c47403ee91b876a5e6beb27848686fa92cd25f7a236c1eb4ff3f738cf87d3002f63bf2e402e6303dca39a0fe121aeb5ebf0499e2823af1c214da1e7230d6c690873114f3456a105edd9be9bf94e7b600cf88574199363017ff201738a73b673cd7e69e912e193fa351236855b6100baa7ba5815bab8d135efb5c9bc023a2a3092b4eaa2262481bea1cb09417518969030030c00a1182fca5794cb0d711b770e28e212b36fcc1e61224b7466a91373d33796d01bae3a69bca76acfdf42222418580403c663e774588cbc8005f5ac05a368a76f15458e933059b19d5417b917bb3f5c2848b4ec6233da0b5e32172f03fe736da69aba0d1550abdbace350a3bf5f214f64062d1d903f9b5310af26f72202ff23cdf902fa17756f16bc4502b0a590692ab0d44bf5197ef2eb6f56c17c6549bc6bb6e90dfb02954e115470f6229e916ac530b83db88bf3c68d6b74409045bbd2223e54eb0364d70be7e5c2f4ac6aa506e017b2c2408be172b44cc084737fa7dfcecbeb2841a48a4dd1176fdbdb62e8b2910851df45f1baf2968dbf25fafbf19c0c626e1fc7bdfe8d8fc27f1eadaf79a1bd2fd418b7abcd427e5ca64b4c8462f643c08820e9f6ef8d2b81892002e9ed926b5f0ffdc66e6216ebf5a2fcfd12f569d7a47be7e2bebc608e03487d070fb89e485b04d02397c7618338fe8560a835e3326bb477d4f95cdd2dcdf34829b750c546b87621e6fdddd11d446384246835f52b30e84efbc0bf1dcd9879ab60401238ad32fe17f77f8a4e85f204f35aa4fb989bc1fdefbd430823f2e2e2e1df4107e06ce4e8496fbad7a45b0a7f5fb473e2da9b2da21837313ddc325db401bcebc0a500c31e8687961c3ed459b5e84c2f33b30b665f0596423edc7ad322baa161dfb3f3e0c99c765a7d1c6a26a06144113bf463419b5f44df52edf5b9aabda068ab6d5d11774535e283877de3e913a2ee6942905e90b9dc051d3d827830a24264e3db170d03b848b9a070cc0071ac817a6e3ce6cd926087a2f56cce2669026d9059783996c464436fd510b4cf3116d21bdcd43a57eb020d56243460fc0fbf266c6c59d66532d6f7721105a4be993dfeee8649adba1b5a94b629fa4cddf8eeefcfbc4e076c4abed455907932506307458f23c074224065bdd74b3b49adb97e11e54ddffcabf63015c9f21cb6dbb0b1c7d1476ee4e00860dcdd6281bb5ee6c56d04774a7fe254c95218bca6ee046e8d6614ae0c8c4cac296bd2fdba4106fdc3d23449d814df81946fa8364ab6c70de92b94324f1f4803c095ba34e046c42ddb26b44805917f179e95ff91d4e7a85bc739aa6faf3d63eb01444db3299f30938ea9d60f7a8b72642318c611ff14dda890b91d7ed95194c6055fd086b7315645a3c0e1288358b1cf2757aaf1a4ff8e9dfb9c10095d58f7610a1e22e46c19bcbb02bed166bdde1a73660ab767d85c21c426d19c67e9ea3f720b6f99326d780d51a5ef395002d9b9df88a4feb1da6c73307e80d0d3f8a90869534371befad387e86f22e43ee894722c9745167830de1bc3c1b54bf589d8a9ef7833c3323522296f350b2086060fc72742b78ff317c90ea7e5108672fc74bdaab94125defbd840c104c66896f512dcdcce35f7ae75be7c4cfa9ade5655fa61beb628f0a1328f6e0c381ae8b82c6d0675da2635457573a601633782e82fe19e6419617441fa2f9ee2b90baa48964c403c9d90a1f0723f8a594297e7d4e7f946971e5deb17251ea8c24ecb73ece5d1565f105712025305c79a5f416a23ccb7e81dc05fa5c2cde02080e9c45e4bc3960df631e711d7e6dc47bcd6a4449e7fd192648123f4b321fa3d4f8a56286613b7b0574476a714d6805cc0791a61c6cb652cf074317f7238ac86aa4e593829d104a45f9693e0c44c4812c8176b049a4fbedaa7f6e0f930c40cfac5c93ffeeb85f95bfbf661e966cde1f05c112ca52390c3f990c34cc982b85bde7d14fe892113da9012f91f738cd16cec609105ca4caba10cb3af2940716381b84b5d506a5e91a17c541955a49dd811ed36c27af090bc02b3bd2845c51558088d6278d545885182b354111f4582824ab6cbe5c70c45ec8a25ae4d0893b7de3315df7f2064bfd7e5db033a6903bf5677953ef0ab57cc06cd49016e7e46a6e1c4bc438eb7f904cbccabc7889ddd71aea04b569656458fbe2fc5d731aff42447aeba4c00e29e3003072c87fddcd7286f35a5c80041512725c7493061e174a026018d7bcf3fff3130ceb14b64d33f1cefa0ab83158adf4e4d304e4e867ad2663e663da6e870f333e13f1b0a1ef8b78e00a80d4de25c82470987d48dbb5dc63dfa8eae6a3663793dba58537f6a6382c0c8887e18bc64630e83c900226dfb455e8d9eae83945654c146317fb8b3db8fbe585065608e33b0ef430d6071d5a4ec1769e2f36eef6c80f0f5bf061a116b0548ca57cecbecc8464bc8ab62018ce461a2052e2bbe5046c00d0cbecf135853f0dbcdc3f7fba2344beb3803995c288979d8a52b9834d0306567987c3f118b31bd66862dc0492c66c55506b049905afe79afd145c0c6d2155a05ad9815acf194d9c5c4bb97bfe85ef71dbc07b40e08effb6c40bf704abbffe832d44ed98147aaf28702b944874dbea5ed746d5b39e79cc168ca47aa58decc8e427645036d3b4d801f9db7cbf3828c3b885867b2b16a3a997a6ffce20e63d73d9ebc7e485aa9b353a9292579bb294d1f23bd62c067b9910a5bfdd6c398f91d63b2eac4d04f132f1bafe733181af7f2a57ad5c0f2cffa31c0c1814a8861450661f459cf02f8ce214efb61c82920f717a89125872f25b4960d3c043d19f8f632af88180026e13c293e49d9b524863101a0ec72d221ec6317fa991267b1b59ea672e538754cf8de52a71768c8d01a1a833394c199840cddf40fcd68de14cd34cd829ef953906de5b2362ddcfd71bf23872ae6171d96895428c13391b06b954ad8b2293909fe90b10658322669550d50b08db0fc3e5fcd0a23f1ae1e66b6a1cfadfb4f7fc46c17cea0d15dc3f018c3a68c22ce5720618836398ccf605ab3a80f8206af8f30afeae9368679973e8d9d380771d71cb03b797ed27d3e9422adb2bbf6fffdcc434c001685ad2fffb5f173d366e19f9002c9f4f432bda1fe14d13a5de608adb77d559584d35ce4560869a5ed5a8b732d12066d14f60db8abce59fc545ebd7116127c9dff14b2971351a07a6da614240f2f739377f8adfeed82866abd85c0962234b656a0e7dd16a846023702ff2f37f1e9fa22b2a8c5a554289c8adf785537431f8f3eb191b87b188d26ee2c3a1911d51e54c769833ed0515a028fe27e48d281bac48e03426e90805818736cbc2c781c662e1097ef00ba49d83719da4bc5b1e5ba230fdb51260514dcd3ffbb10276ce8a5f5e0e71cdb34e3ab9dc5d8dc023bea72e56c1b091f453945fe13f525e8c2052d721eb17e8451c9386293b81f4ae3006ffc035524bf697ac3acd8ffd8cbe59ba4f38ba7ee871d8beee26947456b9365868038f6067dd7e8c5618d73bd1def7214f14039961768610dd33952e6797e472a6188d1a49fdef41eda7989e043fac7a7c345285f8bb0a123b7c720aab19e2237f3688ffacc3ed9a59789202afd1a82032edb16cd1d07b73e90ebd49935939cca0c1363e8dc81b471c79f44fceaa6cee4a32e2c003e3f0bf4bd75fb50e17a3500ca846b9cd2df2b067defb003943b59d044013d9f0071bdfb4c0b861ad5d55eaef2b16eaba4bc189ff533a9b7cbf2658ef94e49966b96b95b0bbf68bfae2be2b90ecf852be73b5763df64bf63bf21ba2e77b74faadab9f4b6eb054ddaf95d8a55595b09e7725df21c61ed2bbadbb239b5e288df2d0ced83b541988b729ee32e8153ead8ca565fb41893c7dee0a4a5e32bae607e0be8ce32861d19df9441427ebabab92f5a121a75832c4dcba929f654c8bb6bf823edeaf8a2757804aabe9e2bec2caafc9f64bb01cf2f886e3b42f896a1b29155d94614c03743ba36e242499db44144fee9e78d0b2f96f6c10eda72c9318c7c7427ce0cf4284c8121937ddf12511839aa5411ab87f767a5f66780125a5aee1a16aea42924bf62abe9da28785c1e4df6f8cebcb4a8d93211fb6ddb8518f6da815ea2ecde71252db32dadab95e8f2d14542142029066342ee6ae1c6adbc402bb1ea75abbae4239d101c3430f8547beb80d6114c6d903393fd0dfd1db1a8c669bd871809be26b577f5f04b60dd5d4738a633a91acc05be043a1c85a51e40a896a980d24032c524d44ac90cb148dc2b6ac87e18efb354fe0861b069ba3b66414617857150639b342e80ccff2b367a9e0cc8e4e3994f4a882234db533df87d4a51e8c32669a38f269dc9e6b324bb342391a2d3c1d6b363e33581f2ae2e050c347f5774c251a267279aeb5ceee0172815070589a591ab105fd0dcad9153e942cd04bda2e2477f43689de6501a6a275b5ed3ee3e6789f43961e3df3309e0051f125a308bf47828243cd90a9e1d2ac556113b9db967c63fe61b2d2bdea8903176de5b33c7e8a2acff1144aefe976c585b0fdfada03539dd96fa68524ecb3f38b7a469444da7f9c0aef96ff3d0a9188c8221d76bb81cf23f77af59fdbed7830fbf793c0fe4b65eaea6e2282398acf4dcee94567fb8f8951cf6c20e99b25940387c71dd3657576496ea5208b82c9d1cd78d69841a2b26918aca443211051154b21014025048f605ee34dc16e06cc2ba230a3763f9d94baa28fceac8271de4754593b181cf69af87b2250c901a508a698739b4745e8b709cba1d111923bc1de701ae47b306d975094e8aebec9edf23e675c09be0615de989925c199a37d785018e61081c32b7f622cd4eec3d3bc6120e8557189481f9017a4263a8e1be7d707a9d8761a158e0a61bc5443f3328257d22a4579a4a04c3a551ae92ceacf9e64a945a07b1c05f8a61f0a8fe4c252a2cd05bc1668a7cff04dbbbbf072218dec41a711c07ec4d866a63f795643c43bf8a51c0bf47833ddd26da291a1edd2c25bfd217bc114512445bdfad7648ac9c1c2983fb69f7610173e9eba4263f0ac9a413c0c43075b9332e35b59a0750d47036d0b4aa88edad2b2ed8a218b87acbd72433e933f948a8d3378e68030667ff1c96fe0add6ab92b5c64accb84eb0fdabbc5f8bb29708735487355bec6e8f8d00f3fa0bf29f7336edde2b4f97842cc086fb36846077890d1c53b7f5116a0d2c53e567248deafade6ba70b372beca0864774c6b83ebb1f706d9c5590b6eea5b9c86e8bfa997f4b6d121d9963be5d76d81d7e24acdddcdd5269f695c7eb0e64539a649bb83226af86a00a855f82a4029451a34b1351f529e430b70422521bebd678fdecf50d8e0f4927cbf52319295715cc7b57fd1d123b243f94e3d53df581a87ef72298fa3d97c033649f30575457eafc921b12a4000b6cc8fbde14995c44fcc5a99c1f4ec495a7fa5091d154b37b0ee44251b25173994d92a933875d55c73c846a422af3286a7e73a1272e3ce88cefedd2522d03f83e01460d5d53f23e3bf11ef34aa12ddd65a9778dea4dda4ff8eb5373237ee5c020204882e01a412481ad38df586ff5831b4fdc67503683029761f62ae2d3e7cc4c88fc211fc3ee4e0deb817f8c6e8cc5b16b0f92923a69bf6a774b7fb0d46f21e38e01e8fe55becbbfb27da319615a06df91a75afd4f87badc6e448204b8a1dcb15c8735529a7a825cbe87fdb829cf78250d598059ecb0f921a677adeace0bbc4d486d4893f2652b4dd75567060a23e6d795c37281d0cd083e5ac0b8585f8149c377ec595f0ce1873a513d5babd3df2f978a1470672523c77ecf6a7b077cb4aa3a30b8571d82c67e9d84c910076b75940750a025e2d92d14179c04e866b5427a953f8fbda51730f321886cd816747a1f5a8e80e3382789dd7a0c3fdbbac4eb0d153ddd42c55ea71317525b71b5ec0936d9c05c8e86e4146bc0a4f9c80cf17435e445bdc1a5fbf0a5353b797a8e17ae35589c60a7bd96545eab01cd2bf0a582cd35179940750b73e7c0e7be573fc0d85e3c37d032c47af1f10134dd26be4382fc135da5196383cde194a6db0b32a4c19bb661de3c53cb697a48b899106fd417bcd90e8bf696d56d62d72eee2ef3ef7d3480444d195075091232df1707eafb6d64fb3e4346e6f3b30d83c90364af0f8aae813c6b9fe7125268bb8708d85269cf2b38e56f403aedec7619deac4f3833cfaeb2c2a82a5b7caaa11e9e5fb04c96cefcf7e687d0fef56e495228cd714b61982893a214746733d2dbce12b1b1d1d6b57a8d42c66431a1884dd3a24e6ea48a28722b57f6e1a4c1fb06b9309b01351be4bc8bcf9d004a2695d6cf15417fbeb136baeb7fa0f68100aae66fd8dc10da5ae9905fcb96bf3d38e4fd3e7704fdf51b7bc217ffb30fcdaaeb895273db31e4293c68010b560a26895728ccb4fa6853cd1046ce87a958384eac940708b98f8a6aaad668742a9b85ed0eaf85b17ec78d3e9a2a030dea7bb826bef6223369d12dbab31b897684d849613af22fa11684d4e2ffeb84675670387ef1f4806c95bc09689f8f1eec3798fa62128e0ad923a822fe2c14048bc2c8fc2d21a6a2f9f5fd5254567e74081b752acad34a213db4ea4c343aa157dc5c62c14ca4e83d591118b9d74d754625a057191f6f54c28e82d4d25052b4b613220c2897c5e7741a6c5950dd3def5eb48274f6b7e3340f803f571c6ea9c9dc5a7bf0369aca004a2266262f2602f8bbb6809aadd52e8e193bbc7ec5613b95b8730b66bcd79f15eb610d98756fb8a136b2abd82d60f0050e993b997e50be904f7c0fc33b12b11903124952500337d851815f8015485b0f511486b3a04a472063466946bebc7d83317aeb93623e9e809f2b03206e52c725d6b0bb7af70689735fbc03268646020face6c0e42e663f952cfbd9aef8845b888a3a6b2e2aafd9642c198b35db5609d045db0295e67ac84960f6cd08065aec0a2c87342c24760f458a21e124a5c6c82423a244197066f0bed1dd8fa51002213927b201bbf6fe8e476b5a6a2c2d2249a59d9c55c1024ef6cde6464393f15e9bb81b6a4a812124c323208be7edaf35f271ec0a7ca9dd5de5f01237532adaf5750c5d224a146bda980508c9493399997e1cea817f565b20c086c7ff6fe5860c057ebf61b28bb6767a563c7ba9cad8d5d12ae5731b969c7bb5781f74c5c54d82c932b1838364b1ec3b8d064edf07ea5dd8b9062934ff8fd74e6c7cb9133392fa8e0d488b367f6e55d0e697e6b9e051eee5c2d5a015b96625d325f2948e08d62030c49e6ff084f15f8232e7b280fc96c168bbe760c6b88a7c136fc55b0024d15b989dc1b250f71d3d874bc3f497cc65687e81f0b64516ec80bb0d52cbab38819d3c242a432781098184ae07d95c2a1d9e2653c3f9bfd70e3f08863f5bade057aaa11ef6790838ca5993bc42b44f1b0f939637ec1115702cf97ea70d0f6b4f97c80a8b14ea966b6886be2d5ea2123079e78f177d25c945fcc46a00c6ceda466a16f64e590174c53fe61c370de7ef437462097c0950275b2bf8ae780f92b5855398e1bbb8dbbc4434576bb615a5eda4bb569f3e44bcc29762bdd029d4c82ce4e5ea95c1441385498ac2c50a40a22cf032e8e53b263b88d0d57f481cfe72be143ab1ab623d116ec9d27a5bbe29f3a83912f864711d2a81265eca980832da247515133b45af19abfb727f0fe721a52c6a40530eb2bf53ac741f017a8d716cca8ad75773f5d27118a3da619df82ad4344427e19b760f2ecb2d5271710337a55da21db747d5634a73d624eb7fb491352da1fd9608ced63834735ab1485fc4d0d610e332a2b443b695f6942dffc058b7deadbce9065c77f841f9ca387d1973ada6496ba49d09a726e8cfcffa38e5657a3ddebb47ca59506a50ead8c821b7b0153381e861c85ece9618a08e262209523d1b305b11a1f134b7f673c36106cc080dfce1f72432eb82bca6b8b2210acd271b701bde55119411d29e9fdf1798b6b79e0ab528a287107dd17663ab21cd5dc64bdcfc28d696eda759a182287949f86e9568c53475f99264807508130d7ac7271bbbdaa1901decaf40425cc7eb89609f0a8de93e5bf0444ad91752f862f7015684751c32603c4395052ea18982f96e01ee434d151894e6f587dedacceb3ca4d02b53befd163271bfd5f4e305724d92330e44f23da618bc0abc52d22aec8ae615938fe539b265729d89b8daa14e20f9ad2fdb6fb570a88ca4e1f66124027a124a37318ed43e620d2203ccd635d925ddc6cccd11f29f4cf6498fbb620f184559905187b5e0f75f8955373fd8fc9991913f771f537f7900d16bbd2f44d25fab0147c4ba3e4003e9afaafe40001ef629fee3187c9ca3ff50ccfb75405e3054c40038110cba0b4fade65157db1e1a96ceaea2ce0a7d02289da4dbf0e6137fc69b2771094fcb0907b3ccd2035c102d0a47cdf7718a541b41a57985d4db5e150b9ed28353cf3706710d380f1c64b38f163082e9cca08c795fa56bcce0cbe8ef6946127e7e6f08385cfeac5d25908775e06c7e5d0496dcf5a5f76f12e42f5e7938fd9b43564ae7e8180f422a4f5ef08db0c67bd226b04bfeca293b3349140f52ac43bf746f8aaed82c69c4569255bea8c61c160ab99ed1442878923924a622ca55add8176bb771bf862d6eb4429f2829d2fa0ccf025bb8328ed1bf93eeda00a81d0c089e742387b4768a9d1c37a021460273b7fab4b9372c67aeaef670d42e52513b64ad91cbf6b3cae50c2baccd493a6abc382009f0b6959c1f31e1e34e626a664822faac627052a9b34aae5db896d6bde9e7746eebb3ad0ee8e113cba59b72a478abdb8c76583aa036f0b401bccddde9849f40d13b3467dea59ae2331b1a0eb00b559049705a674ca7d7ff22d1d29b94d33ca707127fbfd3999fd2018ca681b54a03314835b510d1cf07d117a39eab45bc002902d2f513f5bd47cca07a603e57b97c242634ff5644619b9788a7024ec01b12af08bb020ab04100e5406e244d0c27e9693b6bdb09c810a008167d90db4751f324449f6943a55657440743b4816434b777e6af1a83f5d005ab0025c015c9ed2c8e9f756a73ff3dbedef64505f01856a7ceaaf56ca79883499aa11c4f8e4e9db1f932508b5e6874915ad3e9740a9781c7db2a44cce9540d434bc75f0c59b533b8b6e131953722ba05f49778730d100b453fc22a00836f73e5484f5092409d4d03e2ba6e742955ac84e8d7790c1f22763746b34c8e3b9e29febdae61f2293fbd91ba263c943c9bd5b49b0fa38f25fcf2db07938dbc953ea9a1e681aeeafcbc0ff6e5c612566958914186be1582942e00513e1b7868d78c0912ee6b01d38d8e7c6829d2b4b971b28ab1310813e39eba2a73fdeb643b9ff586217d09ce204574d80410f9a5660455f3bc8eb2155c8f2d6023442a2eaf90c8a27dcf27a672881fce6f42d722e7e505682d2ec0f00aeca43b76bff1d6871b1ab047b642f98b6907418965be7f1504789e4673321c89229513b0128eda7a37a978c1158fca8e7e2a2efeaa135e9f62ec503b5b9fd2d7f4656353664514f5729dcba04caf3ad1fe2730c5fe5d5ae97c4a0ca56e2d173efbb59cc069784ffb80fbc0562c1340a14a86bdd2060e43bd8a34aecef58ee3f76f64fac9895d5f44b109661e88456031d9f95de965e70718c786a0cc0d938cf67df1c89018808596356497a43d4965a104fe74a80794b8f6b2be7a26dce8deb35c8cf5f3523ce2959d1f4c13f6926938fb23c9f05d47686b5b0f19fe8fe0ac05efeab84450aadab401656c41af3070a64f2a4f758079bcddcbc71c0e1ef4eb99f095c324a0b17150a262cb3016f797065cba3cb178a19ff6eb714985824defabc05f7b6fd8670e1de0c69793584965cd511e07be18f198881749567d98f9a2c47d17c7e39bfbb743c72848a3d9dd5f10df612cd42b6016ca846bfea77d0bd05d54a9ccf09a915434724916cc106e6758d155cdb661825ead0720c2658649d280bddd198185a613b652e952e59cd4e2cafc3aadc51c6ac554b3ca5991ba9a87a69506d3ff0311d7141f7266f61977a5b55fd519293f62a8597cedf1554f5ef328a3bef8aea54b04c6f3286fd754b20f5e92749dd21c68a378636f8d9f5d1c9807073479b6592ac8902fa313f498a3cfd746d296218a7b3c9d0ffa557c9b2117d8d33e68bfaf2dceafea394cae859874418e722943e5f734c7838acf5ce8344b84ffd7a748230b7f32465311c5ac7f2c33aeab82c18c040d1c03916efab264094403720d9bc12e0f7fce09fe57fbd118ccab34ff815eeaaef85eddd91b7056badd2008151bf1476f14643e690b198ca6c08c243f27e4fb5d8f5dc22f9c9e9d582689fbe54690514028114440a94e8c6683bb35e9a9dd3c23264864ae316fc94fc9095abec2a494f507f57729ff4ff039d8c9b5380fc50c689b387cfd5f5f44ccca442f223a1154b1c5a679939bd8b0c14d273053e61d8cd2346fc1b57b5f8b2f5143e29b399c1f4cb342434682880e0dcbf206652aa35e143151c75332aeaffa116b6bd13555ce3f7caeee04b15d562dc327160e320018c93568926b9203eef67fa9bd2c12036d1aac91a3974af290bdee227cf9b69b9bca8368279724ce867a64cf35151075ef0b8936d9baae7d06c2cd0f17fb2d240fc3b6028debaa178342cae07d101c1a3f79ddaf4859b61ce4597eb809a39f372615b5f35070f84a4fbcba7dd7513e1b987566da3a65f4244e849ed2ed3b4883fb7833b1fb2829edec550fc8b7ebff37e650c5577f1fb119e9ddd068c2b605e4e381387233d699f8cc6acad9939fd6ae8f0b04dcdc256b02ede00f26de1b82c1a01efc3d4a2860b72025869410a432ec94b50a570efab8a6caa2e35a0dd642fec2156a8a86731e47e90b5ec46ca96a9f6d53053c4e90af22b0643fc3dee68f4a29b29a1f8e56e2c74a30c892515b128f72263540229dd4c493dbacc1aaf35ac947bb802fd13e215bf6d00b4424b7aa68bebb0a28df18fac66cd62c8cb6301f66cc6927bb16af80dce569f1f5a6448cd0a43f999acd83494db18315030e27e0500c3cedc35d9c81ad1457afb88c0188b6f505c4eea656fca88b0d8f764e72b6b2a88f642ace214df84f3e8e4b8e2585ad07ed3d57d5dee5a00472d85900653384feffb1b8cbe4ebf89b658f76ed274a55c02041e09e5f227b4db634d50c296d7981a9f9f4f248d8571501b2c4dd9de142dc3c8103887621180e22de6212e1cb41cf4eb749b8c66e36b7e246d6064f818cc4af0dd8cec13d9152c016c469c9a9d9bf5097fb9f2e1ea158e52268982ea8cab63b7f6e026b27d549af38190f958b1b2fa9449294a2da9f709744cb0ead31201f8a3f4c44f69db6b0f1eb5341f855fa1b7de495db06c946fea25aa4571d1acb08fead6666c15636480bfbdab3a688a505d51d0fa17224d982c50f0817126f51b3bbde31e7a837b0f218798d87cae1bcccb24eaa13e7b3f9857a13144b6315c06a925f89d32591169795f399fa55f937b8f0f2aac0382b07e2aa7af5d46c5bad9a4ea11f95c90824335c89e333b74f64229467f67b8fadcc6b4a011418ab2e16ddc076aca4cc7558c65d873ed2608095cd07170d44a6732c0e525750c6e11930fe124412646d8336b3079983dbbb68a59cf74dacf163cd735f0c009e44a081baadc8f40b9532aef134b28d7bfec5bc6f2796acc2f984f852a01c916519891c10131f264bea1552772d1d0a09f4a55d054fa99ef8a9dae0a7e0f8652352cf45c003fe0911027074fe10ae804df3ca8ee702c0a10871deb472f32bd479260bf76e10d6d46b56298c6c9f31b4c4c13b5a913e1da204912cc56854be3dc64d6a4d55ba0d80cd8031e0fb8464f87026d99bd666700662831e194e05c5b69dfe4ad25dc6765519fc8fa449595711e3b3e737dd7c668edb6f26977f3f697cdcb1be9e04af70e9e9a181381101d6a4e00604d71a59f2fc94e4bc7e68817810f5b150052ea9c70fef33623fd41df271dd4c08aec872c35f6a65cb67940cbfcc86f9fcba6d7bb650969e38ea3a8bff8219460b59f201b311adf1453fcdd5478e5ce045e3247f61b1239a6bab13b93596261a159546f7f31a6d567f764091e0591d20753416f5a402c69bc9e48455e17d488f3dcb493ea305443462400436f815994617a646e61d14540025b1b49b32490db74a25ff4073e68a3be73fe7fca45a7348d1a7ca6034116dc06209f0d25d8d33a9c61464b39358648b5bd4fcf5b1ed14622cff9c60b184fd72acd9e9241aa7aef365d669ec9df8e4e2e27b010a2c1684a98a28a0303633df3ad100d9c2c2c00e678ad80911648c72a96885b86cef8168f915e405b24d8a54fd69d2442d9a506ef6e010abee26512fb6393ffb7f752b5641eb3002e695cd1b085a06faac1ba494f563250369935af0a9c477fae68a3832736d6150779f5b355a3d33d41606b366e7af98da18b908b6fffe00f3f12cb3993535b34f8b3b9c7ec967ab2654ad1b127a238402a03f1f72d97905b99e2da543151e940e75df5df5c6b251c2c836b54a667a8714f9e45b064a33591331f4d413d8b5f8a3794300bc93e7700c96934374ee5385bd9cda0926256486115c27708a39e5b2efe0f685ebce3ac6d5bf0a3efcb8a185240f805738419da789f875a5c750f275e0c67e02dd10eec9bea9180ee5237e3171c5e56eb0df0c65cca64e650bef6c5a527c2789ea626f1e8d98eff20fc3cf6e24023cd17091a8cc26083d04e5e0513a476a69af46482546120b7dc9176b95af07fdfd6946a4f1748227028e0a766526b320099513d21a2eb9b987ae7419e756f9a3d2a0cf711e5df0ccdaaa379136c368ed5ee0b09228ccee5f523d0a248d41bb8086645dd0c005d148b9a23350b2eb2d872ee9c2694838f06d8ae7770e48693dec02522b2646dcbda699621c1b792af710defde9c5a0ee197cd10ab8a3f1269656cee0cc60f3534a580ad010c2bbcebab3b9b14f21ea7c97cfec5941e1082c676046d12d5a92e7fa141331ff3add5ed5e4063052c680fbeb33295c59674dd2429ca5649f5118d383259853ac0355f4d4a6d03c434817c4518d92121d69d94b8727ecd8e5b7d1dba90929b1d16fe24c10c426ab3daabca0c616e1e6dca89d3018ffb83bdcf5e1d1c4e88b3b8c227b18d8035200405df56a89efc9f07c718fc1f77aaa6cab7fd1f627cabb8c567e21877565f5b6d2cd4ac066d319a127ef3c8f363a99df2f1dfc9a672e21b863a88581e2063775e94810b4af5c195188fb4cd4c5e1a0eabc38e2bd2bca8d163c44dd38dac0f1a641733a3ea3cadb858783f2ae58c008a98f09d625367a23073f04f16700a85c1f9705e68b9a9c6f1f2dac67c0e0e4e73342c693ae819fa02e87394284e55defe8324afd8d00d3a51a2627be334f24e626278eb4a19f6771e06cd69d452b6bb701dbe0a116c82620a404f85c9b23710e1392ad32fab3bb938864e4972ae8c8eb5994c082ef50f524f046e174df889306efc4ec7a72ff4a267b57c05e9bf2dbca75daafc7967f1d0fd8c0859aa11e0d65ed7ac84c6c64f5cbc18a96c1b4e88b8b616b016468c4c8cc944e5c56dbea5a4dbb13b46ecf80dc4a9d32537807319c7b7299f1736a74be13f7d6e37d61f37123b0d4b700db49d7c67869248ef4a669eddde26cef1998d9e2dee8fc7090f1cf657a4c39f0c2fe53877b3b063e6c804d067424cad1e0edf651507c196963fef16afb25a16d66ef371f90ad8131aaa6c6bd51d72c50a50df29e8d5fa2966123ab9326112edef072899b1260a50e2a5cd2896276422f1133c11f0d7fb2c1da5dcc9b26955c7fbc07607dca20ce2f900ac1e9fe4b75351d2435416b0275b265ed5f3100e0e5eeff11d78054743d5042e3bfe833c52bb68ad0483c7a2a496a662bc4a37dd96072bb7c5888a843b02eb2f2ea012f171ce351cc74fa3a93bd0b994cf9f6063fc26978fcdf5ef0cc9303df9368578c54a0eec89c39febaa2dd6bacd1c761772436f51fddc33556f3f1494fb653e6259674a25b6fd11b7b5b242709a3c76c033efd1f9ae5a49be39ac834ad42a583a78dd82398fca680c13deaf6b8ddaa37ceee9266801203a98b8d187225f7e19ab83ae0119ce9e4de4c8ee97a6cefcb30985baf8b4692f41d199979f63cde461ee250a5e9229e399dc06175595147002cf4d0da8203893b7692e4bd2a5820ed7f1e842e45f584e02a869de2f56b7d4137a6f932314ca43fa9f39a9522b5cf8d64ea14171cbcc6ac63dff1629b0ffca15b5794568cc7b557923c4a8275bd2631a2755793158299147d5c0fc6a339f2b5a984239713b20f57146fb7ba5bd949cc005ad234ab3803e0bfb682077de5760d7cf4849b9e0412c6710216f62a743b0c7cb642703b366b988437bafe3cf60659c2bf4abec0cf8ba056fe8e493e4c23e51e83d86aedb3af68211afb9928b1e25ee11b0051995ce5798b4aed7421e1a925f770f96f67998a85df328bb077b94a4143c256e9f4b976f7c5c295b5885e2db4e6e6dc019ec85823388e4b6c72c1c9592fe8a38e0275a32ef5723efb9bed67daba921bb715b7595775ec8305817f905ac6a42a4e2b7f4ba3236a84a312aa516c4771f8e95edc897932277ed4eaeaa1188288218339c895d57159b23c8e5d02636602d7aeb0fe60d4599dc2595f2f5be9ea6ed82ebb34c9baffe168848d8afc632ecff87569ceee69b21b3f32e3df0712d9340671c85e699762c4bd6600a0e1ea1cdedb81008f0ab22a853ee0c339e69aec5bbd66933c487b184864c78e439cf7a5e2ad6712d846aa6e5bbffec5142bc997c527588abf9f1ff1746f1023400a265ff444b0cb00a5917e8de912b4f0042f42b0bdf05a4795c62ca0e11909822cb689d7ebb64ef2bc2267cce9e4470ae4b51870f364ab2a92a9a6720b114b0b893072d6fadfedb9e524965f24cabbf15f7cd72b5d71bee9e3024650570a05bf53feb15aa287d9b329810ed189cb071543a5c20792cc9ddef93d55bd5ef9cfa46ca1bb6c0a31ccf445873ef3ef7a8381974396eccfc96703f825dc9228c1bd276f39f3732e6057e4d24d61ef2310d14781eac8223457a95de0c8ae7b234a270b2fca88ff985f9ec1c708e08e4b1a3da0dd0f3cac38eb6062e9369f6e40763031cd424863ccd7b8848b607526c8ca5b092f3b3fc0a1c72e7e6b59fc382295ed708dc16be3acd171ce0b125638a908c564b0ad62caa34a2e62037e61105ef551dfd9eec1580982fc699b39e03c43289529fbab9a0095cfdf1fe791d137e82320eaa084539b43e96beed08e65a379d7c12193111049bd502ca953e1f66442af38be773416e8a40643850dc7bb6d95af2535deea4875c26c2754359c5a53ce91a1e5b50b9a343a604f4f8366de2812894bda13973154fc7ade3e1652f5c0336e0fb9a46fe5171f259f05e32dc1bf1dc6052d2e7e4b01df3d7fb551ef11eb39ac6207fe2f0b862162afa607d88890d4f70bed9c2a7dbe0836c90664fafead95b848715b1ae8d4606eb77cadb11450ed0d51559d2f4bbc0d0acdcd3275180cbfb142941ccff0b51cb5fc442e9eb329ce389df520ce78ae86c658c254ca25faf4e94d77acf0f7a9d5fbb9ab9de9764d9534e2ba155b61be89fc6606c00f3dd1ab9819852337ddd28b3cbaed1ae9f05213e4d870f43e11328e77642dbc7a80dccac430b3b7cbc525b85a27e4c08636af00997750f9883ded5d7e5dcfb94e0424295a68d8293b490879dc830ef4fdf4a62f4646801d816a9a674fe246aa4fbf9d0076c601ced141d7cd29b4bcec907c7999320ec2b5fb02aecb8e6cc2b371f391e5c00b4be14af743c60fc5836df27c0bd70a76595914960a4813f79d5257fea939f6225acfc90351a1179852e02f702a1fbd098ebdca1f9762d8484351ab6df9124add4524e422f43538614856330dd25ec75ce9c0366ffb726ba09783d5f509a454f4b9c3142ea13db117d1513a7d61d7d0fa800e723b5a3dfba62a48b554db65bda3cdc08160f7ba2bb17b626e79656601a5e1ed2924e254d901bf95c4cd0edece9e20f0421663855b5f12e94158557cd16ff765f96d1e71a9eeafbc7a8a7f53d35ab3f56ab1caf8952b57aa36111ab7935637f2f5a0754f79910d1b90bd3c007a6ccc99110849c2c907095f6e273162c1ae9571a1cfa763eeb8bee586a118608c78801d98fbc75c1e9221d1fb4ce13f106c9982bc5fdc3e68a233b661bbd854ff3fd912ed795974b00f1bf092f3e4b99c2c65acd7c0dc9e118fefc44c20fd9109cc01377f7d1dacca970830479547523072d950d0e434a8ca0fbfab14871eb47bc376b8ac81da531cfe557b16acbf03c1f5a8476403695f1d4d0431878c5fa8873ff2cb88c2da6e472bd173bc94085288fa5200cbc6be4b41d63ce33554a814f609eaeef70fca6034be0160fe6c0f74bbf752a82d1d9fc22981fdfb3fdfef89b19df579a8a1ace0549041ae6ed1ba02e1c4c5480bf90fb08ef1665a6f44cf1a743625d175bfeba59924751332538494c0925013469751d7a3bea67577da7106f812af0001fb12d38e90799cad85dfb5ad909b1492a247ceadf24562a21764aecfe9ac9b0680667f06b40cb2095d272eaf3eb5a3ceb7c0e883f245513a06388456e26e32c3149192484be45d7b7b5a44cb204843deeb70d3b6c644c893ea2d196e903114ccd4e8cc2caf3f25513c6235193f07c6228eb10aa3aa436b4b8766eab089bbf8b9558d33965873bce53c9b0adf68e050d2cef5f59ee598b96639cb43ee913462ad340a4e6d8abf647f98a679cfd6369d641592095d6b0e7ebd3e1e5f24cc4752a61c86e06bf21229a9180a7962a7dc72a943316fab1c7f915e3d7d1e3c25b515dbcd1ed0d43eef93596a4bcf344569a5acefa4e930aaf3de1892763e98457ac5441925136e50aecc9d4f1f756442f5f651f2939dee782b61aadd3de2475f10fcb61f2dae61f2a12483f30c229e22ce2f4ef21872d77062eb2021d45d106f435bd28e272f158b39ecee2fbd5e8b3661b42c0371087294e884323987604ed4a0adc06b5e9e4d67130787add12070a8b8ec87bf5d03c91526e7587c3c3b13b3935bc92a9ead186c0317eb7cfea3493e7189f6586f45a710cc8a07eb169d74fad7a1e0c63dd54ac564a8781fd233ad4ea6c1df58b497ab71aea2bf4ddce3c3af61d017bfd7ef32028bad4c8308143881fced1dac9b8994e1a0b096821077959b540c863c971bbde4075ce1c6038095bc9e92920a220c9fb1abfbb5a762f5a7bc1c10f7ce26e806cd8bd810a3874463ca7aca3b3404af6065785b9dffa0b2a92d1f0e43f56da22d57544f3a98b2574a33657cfcd3c0e10535a2cb98c3ef68745c7b740528ba27856f589840cd3a38b77a71ff2a470b724ec37c87bbc42a882901a3782ec9a02562b9017ac7652c36cd2d6cf6a8863e9e8b9895aa5331bbd8f1f3fba5d60ed41233e67e2885a227adc1017479909ad406829a82319d0b0e33f6f865801bab234fc396de4b7c4e6184c7efca5416039f7000c503937a52b5abd4f75f80eb0209b548044d54d336c53aaf01d3bdd4a85af6178544eb476fd8f62fb60851fbf3213ecb7e727e52e489a8456ace92ea2b297c0ef5d5702dc60b3e48f0e70490621ada7f192e716adb5345949147c034b216265945ebc71159ca82ce679068b451e2e043ab945c7312ef2c369c53bc3d9159955704918701c4d8169f1a11f291a6da2431a8e4cd6adfafd3c91f639b91fd7233ab8f856c5d3bbcb513960d3ca0b6ea0e49105b3992a67b95d7e5c2c5fef6f3dcb48b05fd4005efc3735c711ebafa4779b1f73ce542f78c4a40a7fb08b4a46ee9c707bbdb15b8f6b515268d95d8ab291fcd1eecd009286820270d33cc59febcd1b2a1a53f20f24c1ce460eb23c7e950961a166f6cd84d17b5eb15b91d5ca5f720f0514836f6ec5b9f4f0b0eb7acd580740f479e39f30c2a8638b9fd5941fe37b374917f13831718c8f31bc3d9d89fa4601f7d9298508a1bcb20b8e15544927844e1b748bd84747b221e0d5bc4b19aff91b864f47807f5ba483043d9cb3e798811e4d4ea53c528b453f843b4b382a8876c0607c8984443918f70b804197e1fa96da15827e67381b9e12beac90b38749e1bfed6dcd1a032a042446de877f94b9f304e582b8325de1455aab64017c4dc124d8b14aabf733072cfbb320be600a7d2fd4811d746f138cb56b5649e5fc1824fe058c595cb66281b37872f3c453c86f23721723a2218a59e72951be1b0dfd424fa08511ed6a5aa1195bbc13cb810f4565bb1984803410288c1d68e22449514f8701a2b0c562fd3d5a6e925eb321afc92e1769c7c45d4ca0f23040f5f5726a08dd22b4527d2048db1a92083e0660808328e62d8e37ca371871ae78cee8c78cc72c059f8b099a0da58a1725edcc0892666905fd643495355d61cabc5ed71526f4c05ba1c99bd155c1b633b21bfeee76a52427bb04b4b8566d7841b2bf732c5381b834e1619002c7fa5b732f56cb5733c7168fb2dfcf57e50a4ca06ca173b1c6855db9e986d32dcd0f92146bb34479da373b4db8a0cb283bc1dc8fee695230aa8da597a90cd77578e449759cb7ff719265421c91de74ae2d8e21a268d16f7fd0845a79e9814df4fc39e824a1042fefd75040ba6fe1d31a45b5805680c0caad475523673d17ecbc3c17272d824564e5f53d24db017ca876d67ac431c6d41172c9807d31d8d12ec29eb8fccc046eb2dcef88b35132ab7e10947ff900ea16153499407ff7da7a845e9fb54d44a2b52733ede4c8f39c845d0026ae68f296e2e2233340967644429cbee8c25e7fbe4659cb4e24e8e2bd671671e9fb13662c1afbdfad1118804ad6b0a8800a5f5818f10d1042c89045571bc9e5aeb9aee8456979de59d0fc5b335f36223e02eab54e4200538b08a66a585a6a84e8176a14e796fe75302e80c7b601726c77b9cdc399c0c16c59112f6f2a68030737870193519bad38d6c2006b91dbf73e24394d36431400fd352a852423ee25c9ca7d754931cff2efb16391bdbf32ab9a615521a2d3dcc2bc0410568150d29d1d132e3fb5e4f1383f53ce486646207600a6d0b425067c5b6812e7369c693c7f7987fea4f8fecd88e52c376c502c415ee1828049ad604314c8f99b6ead75361b7ef6f7f8964a92040dc41d38fdb6eb94e64417fde39d661d37cb2c3076f69839a0e97767301750751ab8b8c32578847f4ccb1e1d65ff7f85ffa035f85ecf5cfd254290c132a26577e26912c1328523d061a4e2d873354d7de84985fc11f61b6f579e27f1d19064e242f9e793dc4a694c266bebde9e514769af8a5854bb72f2a28c4e307f9fdea176e752e532977de5a9ca43954b7cab213e08801e9065acb46d601b2081daab072c566ca23acb543f2d77576de6c2d250dccf477ba42c6328c85c0dee46598b7306a26095ea58a7d7a974c34d22207e54b058b964b7820475bd95baa49e0c5628ae8407ef495ff3c4279b00657a0ec7231f02dba5005a8d0414bad03d025d2a4fd8143ae6e2520f62c69c1f76efd3abeecd70214d19bb57b66edcd82ac4d682c744ce4506b24eff86ddc13e2f0dd3b1486b98b13d1875c3935de7cf42871ccb8521ffeaeaf88c6d0d2dab5f2730a8f62153c22ba4cbdda7fc1f8840d39f43d59870c421f5804978cad2b15249f788d62be48c1fd93bb440955b81db22dff75f1dc78273ba20c859c2fcb6391cfd85bb97bf803d85080d0a912868a395137168b9712d58c9f6ed9f4d2ece0ef92395bec18da4ed264476a00c73264a02ccf849560af4fa9e5f8db797c8a6583a1dbaf5f27365c00beb901f1f34ae8a3b526cacfc8180a3602a13006bba22a73af911dc950c22e5ad301670022e71a5dbb77ad5e49a06826176f703c54c5a4ccf66bdc04e20ee00b98a9e0bf59b466a50e2eb0edc0252b17b7234a7396523a4317f270a19d77a27f5b78feb8a7b6918a826ab8e04c65eb935cd041f1fb10e3b6b682635c85846f64445edf8a883afc03b0b9dcd9d3b3c5b37ee5788f0665b1aa6ddd6b79fd6479f2d89c70b299f126965e7b04b332d425eb5dbbb9f909560c19f1896e44b883acc785bd23f563ec91f741de1380e52e2f5f6b0ef5d2ed909a5cc9323b393bf82f983d36dbeccfc916706864f3b70cf462c68fc84c8bf3e89357491337cc5a073c2c9ebb5714bb1a99f2b029606ed15fc691744c470520396ed4ab0f9eb13834b6fdee43073ea9769f9028a3db3092da26eacf48ccc6118dc0da7b543a9de4065cf656380ebfd582bf7f79eee569d4bf09ffe9af90bab9b608c00abb596b98ded2d36abda61e0a0cdcf8040de6f3a9c2fff216e192411ef29426359f918de173f5fb64b32387717ea6bf3083784e6f9a8e5a13150a29c813622d3be8a7d84a3301b2435714fcbbc5f48a7bbb72ee3f3e680c2444ee84a9a9c8459d77bca861ba23e1a82185576972e6390add26ab634ee20f57be9f6f23384ab68fb657912c869bb7bb61ea155c39948d251263eb00a86f2f1455a89a902d2dd069690ee6ae8583e950566731429a2d710bbc10c633dca3e7f0e285c26cde3e7a9a8b79f28da69e333e8142be5a1f32f5217d400c3ed8ffd1e6353a58aee3cc9777a119512cf322abc53487946729ab95999e1259929075b8f8e37589d00e80ff3486d436ac6034ffb1d28032997b821fa1af956d1832da809300de98fef3ad561562fac8f0e523ab39f8febe7eddb7c0cb564ac7f5ccb57c26980634ec3aba08398c23f3e1e63f7c29cee90d7e22ab40f68337b3cca8d0efa0c254f0685c4412b8b47714c9c86a7eb244b8412e87f102eab5eae53786b4fec2519b6f941383aa142a3fd2435f264b19e93afb8b2207ada005b3fa1d4f71e61924de1b4cee0e8ecf47c5f0ea8c8bb74d5ca182c1accab56c7d4c0809a9b3c3294ccf30dc885e7509b47d39648542ba9e14c641f2d27c8130e4f72f37a8114cfdc8753c1beb5890de74992a49766dfce6ddd7c07c2c7b39bbe77bed8cfbace9e186a24029a6d7a2ca9b20227bf23bb909a328f0a05b4d533a4e4212333de460d8ac4c0ba579cc53076f9fc0afdeb4a5a8745dcd0e7d9f43e6ff58b0628bef35f8a43a672d648aadaa2c01f4fc70fb31e45ae46c15a5467a66624000a885c1b281384bbf49c782213a1747327790ce5af49959d14cb294cd3395f6569320cadf06e24d11c0ca8acc88fa4aa85983ecdd15b639b1506d84c29a3abbb822b8df09ddd5f3457509f6c178c53e82f84bafa77db57622fc8e754143a579301dbd2d672bb9bd3d88a68155968464e1517bf0003d2916a2ac99c90a61059de5e9d17bb9f3bad52f80eb35b87e6fa6131eae3b696ac8d0f711615a807717d0ed4ecc2afdc544934d57c88beb61582e629dc422f0b48c4f74c4621567bc62f070638b2f8039afec1ae00a3c1e26f32071b836c2926ac97aadb143f4c7aade73c3d19a25c89b646db71f8fafcd9eca8f32958d0b735f0dabb5bd9949a83c9dc89e20014687d4ce346562356738e7676e4c7c2ab2a4f7d8f3fc017c3273b0f1ca0a34d5fd32b7d05ec769f7a6871ea877811f04fe504a69b45596b445c85a21ae39601e628e8d833039a7b94d0bcc9dcb31b7ed1615a67a0652922aaa8bd545e0d98418b8188d9d66ef9808a26943f1c6f31587225dfce79b3e55bbd55b03e59a06fc593c7dd2413d08b958edfbd8b34fa98d00ab4d4fc115b1fdfe9d7dd37d89627c9606aa8ca3e84230f165fc14601dc3f4b0e53c352d3f87ea187f6b2caf6a9b0e52197223dcdca3cc77b231a6ca66332cd27d37935981c256a1f5378341b7d5fc3098058c1deabea6c3617a9876eb48a2ca04442e795e24e3b0ef01f526a6e08d88156716e56fd852c26c9002d48388feaddb85f9a6cecba93357edd9ec313d03e15d9d6c9184910cc71918bc51c826b2dcacf0602e52e738ecad23edfd0c94ac551e98ea9799eb9f9bc337b3127cf3a50f4aac97dc14aadf4a17f5ea446095b7cd821134b5576c2ddfdb602d4161d9e61a515c25e0b177dbf60c5e973103443bdf16d2478f999a7974a5310a5587dee54123f3adfde29398a46e2183ed1591db49f7899dca62a053da5ca3a739cc2cdc4044f924d6c6ddc5be56f4e33283b83406008d124ede0146a4cedcf58b045bf9b5e715c148d84a50ce616177e2f3f6bcbfd4a69ea366a5d0e114fc53bb6d6b34cce4e563dfb8e0b169bc4c3198661cbe418eda49545f9207da160e3de9a94e8df885188bdf8975a74be7dc9331710d74a9d493035e1914c3b891c8282be6febe842d490ab68b1f6e25579d467df53897a26e7db7d3897c9d33c576c029a253e92e8e73dc5b0b874a5a0adbb1b60562edcb4bd0785612f461406d758797c044c9345444bfe4b470a220b71204d040dd3d5c3b852efa3b17737942409b20aa2583e818759308ee8efddca08ce06a5d26282c6c204938c5725106e49a60e8d2d97566e4e45a4dba891e53a9fa81bcd9756c0d11cdf3b9326cf6754be4bfed630aa45522cf2249fce6d5cd80a2b240ec85f7b7bae6ef71bf6cb5a0fd7d46ea86bc232f99f54961d373617a586aac251d84a970e09f1991453682d46abf6b749238236c8bb704e6ba9a2300f35d62d1d82d66194cb55908446655d61214c228d9d41875ae78a70e24dbe07b7a2e1dea6dacdaf62acfad34a7decaedd482a8b327a32dc30097260f2115c9516295bcb7db9c62bde8058465e0413790ee5c8ff7a499412e74efe637f16ea0bceff98db00179113e5ef7d1581e970a5c1235adef59aaadfaaa07c8b24f86c012888aedbc4c7d0fadb27e05514d64ebaaadcbd1e28fab62fb801869db736be2b85f80a4fbbaa8a2efd2d8d5641b2fa3058523189d0782897badadb31d80c8f773c6d79d080c066cbb69c742d7eb13f7e64113ff5cd53bf0fdcf3ae1e6992ae3d72f8fe456ee5b231bc65164dd2e549dd68558f758bfa5453535ddc8bcd933bc1857df49230e25e575cc412e38e3ee7095aca4345f6ac440366bf2f5c24f433daaeef8490f1cd7b807851a9ef7d2e87dcea02114805c44c042fbc4f78b051a4ba71a10a2dbeaf148209dc3386126a42cb550ced7f36a6b3df961bb135e0453e49bb11dc22609160311de97bdcaa7bf48a5801a13ebc9bdf6c9693e550d21210c071f1a0d60946637504307e90f6283ddd47b5555b191dc1af83d3c9375caa5900f5a89123a329aa75d0a2e24c8d98dc3b52a6ca8c0b7d897d6932813b294e72b3183dfd3c4d2146a15bbd01aa5c7a7e6bd0ea3d5c1e5b17ceab10747608cb0b68534a2e8d256e553f468266391f44667765dde1fba71ac465094beec6a1834a6c4eb09f143ee23ffbddd1449095774723bccd8a61e9259a1778ab7a99047524e2e3b542f117054cd25531cd58e40555dd7ac9eec8202e318c5c9886134a5d821922602b15933c4f92de21830368b51b017e21283132c7f00232ab93f36bb6d218133971fd305659890f26ae509129f8514be8f8e29cfbc2c36b09881e54b3ea19e99b3ba5c93f1d1b05e3bef81abc7c4abaee539a147a3c43f8cb1765ed07754ab2225bd46e8f523954d6f4698a20d8da96da4aa7b8b4eb517c7bf36051662fdd19277bee8641b25a2071556a61fc7ac1eab64fc5996faa377d14dde36123d1274607bb0a98cd7b206fec19ff5fa0c0d84ac5b966d6a061a9abea10621ad511935c33a5a1b63e5f9d5c2187b05bd361e80c730a2a089980dc4c238d1f0833594654a52818e6381a578eaa23ecf6c8aac48f37283f51fd7deddecbb98d32f3683f389c9febd92431cd7dce46b1042088a535c203f0d1d09fa1041e1dbf7cc42a845973c9f5bb29a68315c3ee0474c717f4cff49f49c4a59b797aa48fbaa2b70807fd9671bad1d7fe735a139a92ec9c13e88f14c104220c23ab05a8ca925895e2d7f0690e7b2d97e50a39c99963059649308b4582768d570bc2110686ec1c3fb8b9c2f86e0e5f054089e17cca597fe823e4911cd823c066be88d87150f00b5926b3abdb551d20f63d3b0eeebabd3ba51bacbc66d0b76c05cfce97db1ee967f18d2e12d8c73a7fd699e58be02e3822d23b75017d70b32d1b71d5792e61b3fd5cbe68817f70393cf4df06ae0ccfd12080f3f116d66801eb7f70f8ac9c8ecaf39a48746d03d908e869bf144e6bff795cb2624b46d2ea9fbf29585ad1f48e6224af9ee660d66a43903bd41f2e0699a23d049f3616d94e76f15ca7c4b9ef13de5f0de2aa3344f75d7ce0e9a9e24944feae85763755b8af7b0b69b000601fc47bc03caeef943e84426a4563de21ffdda453322c36ee612e460732be8ef4d4060db4da8a09f48f437457644cb4a277c10788fa3e1ae7ebc50084a7cd0059bbecf7dd7a52503d62108c060e9372494ad2f513beda3e0d0716edad7b565de937123132ce4756aef9a6d668db8845edf0fbb767e8e2ad6e0fc56a3dbbe6146e886b4998f31164d15cf510fccff63b9571f585f55b779c60f9313f5ea61f548d514bb7ec3e4ba71e89ff69ae62354a01fdb9d86a004c3fe3dc2542f33e5988299b225ae03abd50050f18084dfb0abf4c26f5d2458580d9e9e6a2b74d8a32a33aee078a2907b00c044c03ccd02b0ea160a59af1e84eb94eac7761e4207ece1613e13f9e55e989f25505c840ec5a16212f57f102c15a4477fa0c2b339c1102600e5fd2839d13987109d30c2cc9c78f3a1cadfe20f50786b3b67e851c1cd2c32904fc429ef5619e28f4928c3d86c54b8512064bed93e671bcf5de681ec05ec23964cb7806bc131e2a6061d058f061dbc0b290d7dead0e16f06b2e02b90134c5a463112b56ece1b0001369579f3d82508179ec9c374189fd64542f854a9fef9f2f7bb7514ccb2cbff9df876488a5fe5403882a5434380e912fb767350a80efbea4a2458f134f396e1cf2ac1bf0f6191cc95dbfb4d99c31fec7656928f2689d44b5270ab37996f1c65c2e9a8104a216f14aa4fa894393d773d2132c33a419903731d1d5dbc4362421631ca8c3f940039f4d248c9ad474061c1db9eabcc59ca57d376b8638bd3961f19cba092bc65e22d39c55899de09c506adf902b3639c152713ad688041d4cb43cb9bb8e83c113fbde852896d34ce2ff45c3ff765c3d27b9602e90f9066b7e1173140a8d5df6746393f9c250281bdd2f850d8360da9c8298075116ba8cc5173849d42ba05e30b0036a153243742e8e1df0d647222f923a03a485e85adf1db6b113dec9bf176489e40dd03e14c4dd04e69d2369458f9abec58b2ad80a3549c480e7a9b3cc2226682270bd2b8c272ffa5c70cb3037d99697f1b4e26dfa60b082ea430fdc342f791cb51b4d6218dcdb40929dcf6d40269df444e567160db5be8938dcb4de59d43fa29a2112025e63f948a7bc987d8fb46cf9a8f0bcc95cdc4802a6ed5fe8863eae717105ca02b51bfdc9960fc0c3f6ed022211efa36e0acf4cadd02f833800f3ebe5d861ac7d3c8f8fe648aff91d51a61337819ea1c48cdd0068e75104eb50528846fd325e72e2667e98e36b0ff7aafb9c95e024128d706fc544af8039fe2fac205a67039b21b7a66650bdb57977efe71403103b504ecb93d069a4397429d08c9e784ed1c380f25b8ff21d39b34bad1fc8c85945b3b34f74187a08b201621317dcf6d63964a1ca51a992ea24660e5c7726c17db5eebde62af8199a15aa359a9fdd3380721bea234f2682e7c79edbd42a3e94e254434205c0ca9889bf8baea685de19690fbefda8d87fd709744bf54a0bc79de8762b0c455f60044a22b0ac71ad828b4f74d498a616f51bce9fb17b99c1eecca623509816286083963bcd930c07b11b522656122e4f12a26cdc640173f6490e46bad444199e983a416546a1e714cf47d904a831fe86d0a93c37975b4ac95c8a1614eea3a072f5b993c0a2520e2a8329e4079cd16f80f14c724501ac218996b7b4dc6cc4955ef439acd5ca0ec50ff3144cd8549c5724ff3a698245d738b08e48760ed728c3134894f7c88bfd6f902c8e2e3522a7a2e951ee47fe423be6d69cedef28639cf327a7855245c37fbc7d5ba789ae878f9342ab19e2e37708b6d646bc8d85c3f0b9382b4d3fd4dc2ed267fce9a52a92ab67718996f12b827f342b64dc3ded226fb6a74088eea1de5a7b881bc6d8fbcead0ce5ef1b5d7a3bec1a4456b3823133bbac9b752e86c04f649854120391d200866b7f2ded0129b589e8439118536a3dcd91ad27b5af5f1118e17baa66803291a79a2cf864a2b2a55d2d19c7b116821a3b73b952dfa9a417dfe1320a91d77adcd4e4fb7b1c5fdac8d59642085d88eaf4d07f9e7dc592e4dce3c0a0b6cb4444267e758a1c15de7fe0e11ba1996e4ac24b6cd759ee099155062283462f689d4e6687b0800261f4cc88e90cf50000e60bae1bef1263959d61f79a24665a8b86bc45aaf5e1f909499f5a057994590de9b001c20ca484e6da5705731738d5cd0aa01b3280f9e6bdaa8fdc66e09fdd1010bdcc07e48d66f8cbaa9f254d7480130362cb6cedb65aea717cf6dc36b4116e8e2f32aec2be18ee366291ec4eb1519f8af66bfe78cd3c4f3c49f1a52d1037af5f2f6f192fdadc3821a6857e5570ba94ebd455e578fab9b8859b5e27c5f4c77329300a2a4ea2237172e8474d35f9574c8887f8a5a0e19875d97c9badc72bdce343b8b4d54578c85dd9047560cdf86399a146b68fa954eee6ccd7cbbfd39404153366f0c194eea20e95f11cccdddbcf52701f4c4a54b69e2d22acd010e7edbb96539e490ae6af63799e754b23e4ddcdd6ac6d7a5464c7be26ad849db14d59acaf940633b3bec2cb7775924c461e3fe5c5ae57ca6fed6ded9ca4fccd3eb97d3fac422c103d45f997aa0692348895ff0a4b0db9a0009215bf035972f49ebe80399aad8592044aef957b6671a6e1a59d2708374a724d384b7141671ec6608ba20333b02127b177848c41bcb6cbaf1915c6fbe5dfddb03cbc3fe23ea4619e28df20ffe8c3800f857444a519a06a62942ef329c4b92de1577fa0ba1d0208ad01801dbeae4eaa207e5fee0eefcd24662ef0bad04d585af0dfc5c37fbea363632c6e46532b32c47dfb1fdf11f6d4dc119c67a079b95efc024dd0a12e965417341d52ecd3b155d73e5ee5e116bd6ec8cc74d2c825aaddf635c6349e7637cb57f1896359dae90746bf190434712539c6aa1d78e75cd0c272097f8bffdf28c4da7ad8c6588d8cf7506417526e65d34c432ee8e5bdb1aa20542eeb8f6df2a605da8108360435d0dd38cc08ded27a3c9c9cb1ba36feb896865c0419fe2bdd5c65f382d5a48381b78af402c18bfc2a167634b268eb1fb2b98bd257b0081f708e2caa81672a586fbff91bbd6a36ab489b33653619995c0f6f1cd622d5c64650e80629647fc59cdd59099bfe17b4fbc551fb0eb6ad0b10333c6bae90104d1632acd46c19b3afddceb54d2fad187d2ac9a07b628e14ebca1f36edd856c736ebd2c82baa90b1761ed3e71ff32093b4af3160a41c3742b6b90247fe3de734ed8c37caf6f4b5d0d1a731697ab34d191f3f71352905300b966c9206314d0d37932dbc9c89521b4d88d9301c1740ae0b5d5f68097954d87c1baaf3a641ed9307ccb673a6f014004ea61f24e8aa902f35bb2026b0f9d786b535fc8164ba496b0e02d72b0aa79bcf2050cf1468d81baadac59271e8c983fc7a8868bb0992ec0eab3085cc40aaf4dfab15624279f2523b4946cdef7b2264811267dc7795e7d97c48669fb017fbea97705a564b26cdc6000550fcdc8e5c7e72f01fc8889ac45f4d59a91d736c99f3ea19e6e9838496874960cb4131c9a5ccb541679da29219d823398287b05eed4b7f2b150b393adf27321698d19ff6cfb10f1be43e0677206a8929d9fd9b61037f86b50052f09e8bef485a710744d85118467dd2942f042216daf5a30988cde3c778442268641a5be3d898ae3a8e6944560ada5fcc2a9295f8ffe50504e2fcbfb4e92266e737704e057d2b964e5a129fed41e8477eb6eb6ada1b1f23e8387261f11b68cd05b09556308a217098f025d2fabfc869539109d89feaa07ab1f9ea3708c56956202f9e2001758584b5e4087a58d320aa9afb9c76bb9e300aae676b3ff019a23e79e81d37ae5631f6f96ea9233afe4100013765eec5f116107ac289b7ebcfeb141504c25237aae6bdee4a066ac99212eec92ade44113dedbb32874ac43f9009dec6e09954f4937b7bbfbc5ae956bb886925e630090b8ae997878036458bcda274a7f1fef39d525bb426e4ef278c6f1bd83bdf753d8ae21586acd76f2ab93c93926031fc8c698a44ad6f26b1cec64063338c14e72b6bb8f5df2a8af1fee0d9745f1a6f9beba26cc4aee22cb9166abf3f499a2ab1d945b77a11e082c83aa0fc5bbe38e78440f7cd6fbce582d89320fc3551910cc479956451fde05e9930201a3354c061d558cdea6ac8fcc04ca93e3252a8a10a81a46a08dd0c30edeb9d3551b37bea8b9e9df7671aba557cc41ecb79b32da2a5f3510212da0a87a5872affa9b8678a47f36347b5af2176177d006d700e3690367cdb4a9db6ddcea93688490b1a138ae7e5016c1d466259516cececbd5663730671ba2ce4227049df9e98e2a6522959a95627662ad03d4ff5e5b23c5c7d6d79fac4ed315b37b3b2cbf5e7c348c49c2b70b268df449d4e1d808d0481b4780c8ca70ffb8b03a80b7984c0e50662a46b66a6342f16971fd6812e330bf19b0db3e2c9bf109cfa36a108be5fc89d8e860fdf846c41c1b0d2a92e16524703e80c19e85ae12df0dec8d653310dff6842486e77d022b51f02baf274f081b9d419fb290a81dcff9818c3d7cc0441090269ca6a66fe4ac6afe4b2e829d47dd92d1689a50a4856073bfde2f90a0aaaf00c40f54582c41e122f964540c8f1827a5fead223157eb5be54d6568df6e057319d8c885966a932af96414701be7ddddcd036bd40a51cc3666864b0f2b95356f259bd8e2d58ffa5796bb0d1b0690c7272b63f4a2b72e6aa1a029838fbce18ec266dc55a448bd94d0ac8224a21e37ab8b5e46a9546068d13b90588e18d683abdf9a47f68aff4f234beaf1e34a14d415b2d1e0987954e715104852f8cf58e5d625b028a8a5844ab3f6f0d895d9af413ad342c1c9884b4c0c19d6de7e21b8207a88fac5d4be1d3b16efe699bbebb3a966ebb0235e1530768946ea537e7e61630c6c7e0ef8e1560a452270f8011d33dd91148bf2179b87e190b7f4a4883d18d38cdd67bc06b39ae3b109bc130210def13c0701274ec2cc3f430d21b74105c68337843f2680766d8eb111cc2a7b2d1e0569c32c04222eed823d51ebed31064d8d19dd0da35519b17e1911ee793c4eeed6ed22756a1bae5175f213f735acbca3b20a20b908f2062a68d4a0dfe0d83ba0675604227dd2f26b229d2b817033b510a7505a08cf77cc7bc971cdb66dce9f9d57434ccb5fec2f860cb08bce3f8fabf221c2db20681ea3a06944c1006ac5e80935f2dbe83fdb1f8c491b7495dc7e05ed0d478f39db0c61d03ef0537e75a388ee9e99499d3cfd8bd11174ec96473d2380d38f16d23bdebf5ec84399b9c08156697cc16b7c6ed3b3d222ad4556acbb58ec742f698f7f64614d26aabdcccf10603ce3941c6daac3f77a5c68852d12f95bbae2775b5b7d57f14f02d2e4ada86b4064fe44bddce3b36dd02cbbfd3fcc85a77e0e029c43f512c5df9b2a7be28864cc0ba6492d92cd600e2570f172f2b439c5ac2e5db3c7d3f8259d5c9c0db1062a939a8320d89530ef90e6221515f78fa21f638167530a0591a9b08148ab522caefe7e7a79b6450f16a6e2b3c361a8ab8a471119baae530853f16aa7a791744aa41ea7ccfae228897bceae57dc8da9fd1f600eaabce4b6ae98177f0e9f5db4e6164efe9f00f02e7da16a1000e3ce2eb21f3da5aa7a766a1c76b2d956342bacc7c15e0bf17e74f668b840caa2aa6619f456828c5e31441974288b2fe353deafee016737152d25ed1410b8b2384789bd257cd13a686d3c0f96f1f3153f262093d193b7314fc8656ed48d57c75707770307d7b7105e6b632489910b73931e90e7dc438c76c409adcd0493f8de82913a4bfd8edcbb14df13e847f40112e8a8666af590f5f0014e99e474475c35d5561eefca8c4bdebd83de15d9a50af34eead9f6354cbfef0addf688d6d47e39efd0e0b92307e686ab824277ced4f5aedd742733af990f90ba2426d7e1c8a54193be3ec8b92dda2d3112af5549ec9cef77bc5fb8e332e675a9fe49691b163f180c737123bd2ce081d488a2a89adb0e17fff46ec89e1f65fd888b4f87af22540fc5658bc23c5c03bedeb2c13781a640feaad12fcf38d9df4d76652baddb9d9824f65e8c265d16f9168e5ae4b4d7229db5b92cd2a29455a9710c18935356cb52a2c4505ff9796a9ed56c9db5355b925ee4091c353f54313db1613206186c3603f79a04bdf9b68ddad9682a9803ef4228fffad407127f7a0f65c305fc9d4a0c2b91fb1ad9c4f8af76120b8d7b45d6daf1f05062bf7883bc58af54f3b6aa2ed38399e84fcc880b6b9b5e3a87a52ecdab0649ca9fe374893b45dc9d0672562ebc35a3f76b4514d2eba830957548b2a2598baf3cfedd2ac8fb0d35fcd96531b19e7ac5cea5e311bae9f6b254f634757d799b7c157c8cd8f1985a7acf3dc7ed83146d11d60e7a2ac3e98c07788c611cbe04e1d0fe05a3a8cdff1eac5f1d003d7ad4602a978d2d9ff53fd65168173fe01d45f0a45fe7b6e6a4a71f5f08a941200ed7ccaa92eb0fcf75dbcd5d915e9ada551dd22bc41414fdaa1136ec6de8dae2828f4010e6c74530f11678e510ae0e93cf62f6365900019d5fc2b8172ad1c3ab7156630eea8d07b57b04ffd7f0f9ef54992531d1549e2956ff447f659478e1455481e7d2c0d348b5fc8a899f6548b15ea3598a2848b26a877da5ee758b596d0569813490b358c34465c71894bcfeeb86bcc10565ce9bb497f88159140d10791ca401ade924de3e268e918ae097daa84608f9e672092e78fd28a0688f0f765c1de221f4da76901b652ff2bc82880b6b5b51644156f075f5870f5994c550428d22c84f1fe3feeb897c27886e4aa233d85ddd01b9df73d2d8d4b9e8f12b976988cb4a7283795debe0e3081610550efdebef5006306c80cbcc546215c1f4b9bec4b36e5c994e1da0ad552ac42225984c9314c66466a2bb16bb56c13408ee3fd8411be4431ff59d84405050f9c7201adb07e7f7d70581d244d36ffb41a0b70f5394a5d9d076571287c227d28cf488218a7b9c77d165c741cb0b5bf4e8d780837321d20e4e620fa5569498f991234334a9176d33d65fdddbd7c764e49027a0ff24bc2f81aacbe90540bf1177caaf716a247fea9508d005ffbbe9866db837af93fdac30eb76a031be3040dfd22ff9d8ab92787372bc0546765349767305f62e25e255e59a2f35fb31316b96894e81c73378e94791f5629ea86d7b3a28311099a035f7e41d2b0c59b72b5cd53682e200c787bb91d909d3408b5ee2b6c92b783e85bfbec80bb4c8379b96f1fa24c4c928e7331b0b5e6b7c579af7782c7d9e16371fb110156fc727da1a839c0089eb5553d0ef438b74ed530941861aea0844e6ab1d42cf8411efc56e9e0f962b831527bb28bbd41715837d25c4d46684db25913cdfb8d925956e9c1b0b8e81ad5891e1ff233c753b43724be77413d0226fd306c1aff4e1e2ce12790002a55ec26ec368ef3df33dbefe94a335f3029868b23ada7f30c5e062b294194ae8d4f4092517ff7d5076cae5f0db21bc4f306b0319a80682bc80d84cfdfcc2d06755407a6cef38dcade797bd05b41f743372779d1bd051b1417de7629a67f8fd64cf51694166d6562f7dba113099e60fb22e9e62ea61708361199d77dc46946c2a1948188664d2f3fec349b2e6cd42bc45bbc04d1aff9f0dacfd7e217a18bf7cc5cff4fa99f9a8e5589b3ea9585728130116dc487545c18b682540e358a70f5c1173f9a8041c96e91c7381b99a9894be8cb1f8b959185d93d1b81c6de0632858c17d402eec0767fb4c78653c291bcf9e032ebd877b02f768901829e34a1b3b6a6cb0eafdd1eb83322e03a4fb576555691f2cdf29311cd0f4116e70489f2acc29f314c08b96564c8e9a1eda8af78b856b32b81ec91794c5b095929c7884f717ce9506a67d2c04c844c147cce8c07ea8808e751cdbb60630307e195075af53eed2d8e74309565acc106e2cb86e5216a46f16dc3c50693d6a3aeb9bee4796814dc91780f7aef3200946c551aa58f76ba2b5824184f2e627fee0bf445609ff705395c228d4b2d0b39f66774fc5491178a1f8590a34b5e8bfea1c70da7bec5724ecf22c1fdb784b7b4acdc7ee66da2071af844d1ec53cba9650b5a081799ad4828b7b4c5338b7eb67e3ba97aa1f14a679232130860b112f4509fdfb0da309417374cd531dc5b269d012665c03e9fe51da7c4bd4d841d7a7b177af7cffbe89d588fd3d3b424e87501888cc272efca71d554866b022ed3b7e4546c18186effdfa0ea1bc7f7283e0cfa3bad247b913febc349ed88077f3d6e81fe33a1aa85ac0fce931e7d1ad92db37ddf37a4e63179495f9e0a81b62a787604a5c5063f134db0d450db49a96036a67bc42672d71e69e97f3537d1c7cfb3f95d83b748ed1beac6af108993a7771e4120faa655dcb69c0dd396ba6bb098e09bb82f157db072d3ee63c571a2bd44f9a7b0f786ca0a34e6c11fedba7d221082ab5f6dc8c6406a3cefd908070194d517b3d155ae86077dc05a21b2d6699da0730083603bdfaa4c8e1cd6fbeff461482ea70d3d28e5c96cb123ea7578f68b7f39e60fed5dc66fb1339de739ea55ca12ff40e7a2ebdd4eb7daf2549f3f99e8b0d294e34dc67385ce22cbd6cfaa4c200f22d58832d598119bb293dcd75750e7627e3dd765f62eb8881322c58d5c9d7f24f10f69393701cc3c0f217a79ec09eb628bcb6228e7f979e267f79fdf56f036cd9e5e65573f7fc9302420562b2da800ec55a33c117f86442c83183984d00a28bf155bb24a854479425880383f62a82484468708a533217e7e56a1898e02d5ecc9c5d70ad9a994fa8be9afc17ddfec7a8c9fe5c4a15d6ef265460e4e809da65d83056ebbc18c7ac392a6ec401260a54652e857d178fcff5c704b4948762ba2ff0ac7243253bd94c49eb311cbf1c57a7d729aab82e380bc2a48aeea2936012f572b7b24b18ff5e9b780b58ca595dd8bb70baadc2110e50c80b2b29e73c99d900b677d48e589d7ba3824ee86513c7afeeeda1a41c1bbbf23bdef5498c578c6f74baa85da03f5189f2d657ce8135f2d78248c47f0aed1ae185b9cd0bd7efe2d0d456184d921fc909e82afd4d3dc1051410c2b47c4674fbbac8ae559389b495e8581e8d62a1bf1c094ad864a33ad39e301f03cfdeab6df6ef86913c03856acf3680f84b67eb5fa4840f30060539fdf5ce63bc9485f6a1e2761391f76eed1667b9bbb7b83cc946df2c2b183c7f9cea03a83028fe60c7da7cbde6de6336ce7e4e2eecf301427816d3710fa3a55008ff0eeffb4013559ccf5d995ae776b6aa40ab1d9ff82054eeb7ca3a0b6c50723817a5aed13306b543485963d5120ac57322255354252a8e3fe8b3171f4767c6d9b182d6c94974c3f06f33ea3da575a456395755986625d12251656ab1a3803f32d6ebf8c5d5cda7d9c5d1d95182aef5aafcdbe9d8b2fd0166c155cdce1ad3d19a0c4f7b80b2cf081ef3a930b86eb08f6269d5cd128ab15ed30f400a34597f994f0c1436ce620c6e72f9581bd6e8972fdf18e0ca493f4fac4e6feee22c09f1f4b100a0b8d3af2986c087940162bbb964f9a7bf4be2fc0d8ab2762567d129aa25e041488da6d28b8c10adb3dd02645226f1a732b4772adf6ab9a3f0da04889dce1c65828f7d000be91e8e9b5f39b24015c416e33ad232286309b6241071fb3bf1126b6bf183d6c8644904fb88d8d07ae8cfd92815db921ac865aec943a8167c4a41a97b4f4ed256ddec8bcb6f3249ae91fbabdc6fcbc23fc43b3c20eca6591b167b251fb2e50536769f22e5fe11c422ace4767df98a9022c619123c42df292cfaaab66780e99d1d8a72eef4fd5591f9550a56fb6963edadb279b489bb8919df4d619f318645dc337ee557009f374ad6af173d2f8ab62fc90bdfc61c4f4f79d16271a9965fab4f30d0f0fae3cb3fe56216352c60b5eb0ce084c94816de12a107031152b8b3dd0950e8c5cc6f95608e42725261c338f53433e092e3e5f9c75615eb1d85d8bd526a87bdb0641dbe9dd34e6cfe920194f958f7d5ecab4e8b5fbf7f23a67e6b15b86c574888895c17615da67fce12337c1b2c645d21c21b59e078d87f69aef71426773f2e01f06904a2c4440b8ecbc7d2846f4ed4c14f7ec3b6075d1aaf12c572a04971f654bc18c8093f5674e17d36b7faa4d71fadcbb8a33f6ea9704857d7db79f6ae2edd1e38a971aac1a07ee4b0179c37c96c8dbc4f137b58c2ef5886498bc52417845b07497ccd0cb43056d3467ddc0fa149b7424d6b5bab320af6a242f49ae2d80502fa9f409a7168b61dbdad80b6d01076a498b7d9c58d270958b8c609d9ba116d75fd54a8f2a1aef24265a6bb691d42d157704ef1d1e017d558530f9bbe87d59d161e4fa82680fa12930098b2034e8a3014162f4e0992acfe40ca022a46a8c0dc8411567942c9f8f0d58cd8fc160275f5e65474e569808344f4a2b2e79ab8781b4f44d8b99f0d9fd14d045cec58cf7103723e70bd85e98814eaca2d1b764c550d81da83e110168d6be573cf5fc5b8d4abb6dbd50386a790fe33435406963d75fad633b156a8fa5f28f7ec35a9290523d3a85f0080a660f81137c6b029ceff704b39413853d287e7db0e62c77a95522ff64d8fd778bf8c20e87cfd460b0a9b27d8e7ee79c277ecdc4c24434048e934bb21e911fe0708ee7d602d1e4c2d83c9cbf56d5f90aebc187ae538985633ac506e88306f3b8b8bdfc73da4cc0e1a956b6bb3a965a4ac4cafdfe7e458a5c5c2c26234e7322710485e1e8034700f3fe45d04675c189bdb40ef72f38f1de24512fb602eb702f8913637100a068192d601030ea2b4419e4c94147e69bc2de6417cbf59c1da2e263941d8dfb37d4d9b7fff130a0c4574bafd37909064cbf3aa15c5c134557286439ae954e196b4a6334086b23b86887e8fc0b363244bf5ebc52f3f0b7e83ca91842c266080fddd50dc98a6835a3e1d9e143b74c63afb11b353c6d66260faf9e6a45cc58e8e3513d5a98b75b487128e9d80cb7af15f10e6c4705257e22fd759ab2576553348368bce511b2ca147307ec91c28813b8b77f4205d5c0f25e1a11023062209697ea114ba46a2434e782dae145b131b03dd57fe662668080a9fb615822405d5d1742f19aaf960e973604064288b7afb7cd18c51128dbf9a7fc242954a6989cb319ec34627b6864b4bc1ab7b9d866b636d0a8ca5b7b2acf94890bd66739f4f0cfe48fccba5b0a48fdef25b1cafbeb02b437f48a03e39a941ec17087ca413b70d99e5ee905b7ee59a0c7bcddc0e68ff6fe7513e2d842f48b4635c4985ac16627f2ffbcf7ba6189bcbffcd5e48695013d238a348c8a5344c58659ed684a76bb50bccba45e5a7907a1ade11f0959ac1283fb865826a1eb31ed8e931843e03e895830ada14c10a39a46b4a364a7f4cb2d67072134e10ad07be849ae4df5a6bc2ac8305f8177be5dfbe23ae32874ffba2722329b46f7d5fdb18429e4596d90a43697e8dcc41c0b5ff099441e2890a23f9a52b03aeae309b845fea05cab72de044ee8a6abb9bf8f4854ffab82ce763a6a78b735a3ecff0c28158ac35a65dfdcd25bb94117db8b3e769b448848e97557a32212440f704b0e9824fd954a5539af1f6c9de4de0bddf9d3500c54d43cd93f4a368438d92942762897b9f1fb410fbf5d615c818bc5f8ed02a8aeaa056bdfb4b839082dcf4b8aeea4134f365c3434c0e6a0bb821bf291c88ae3d8fb6e1bdeac7f5697e34c04090af3f43692701389a1db58b1a005eafa9723ba87c559291a13661f458c27682d08f9e8a58695215342436f52349e81af166c386d7ff51a64114dfa80a03d8da2013d04f7d71282f82a5bbf2cdd1bed4e64ba1fac338d449af2d00fc648c9b6f5376f73bca06556f73beb2ffd7690fc8580f0121590a1c47bc6ecebf02e981e463a2e3a9d02fc57eca1c53d6c3aa58eef4659c9df5bcbbb90571d4f9d8e0d1c7f0748badb85dc1204f30067d4014e00e49bbd45836a2f4289208fab6808988026ffe84d374c54c7c8a8f46b50d4b558b116d1b038e968eae9381eb5febf6d89eaa5a27274623db875f0a9c1e040bc8be1e32b144fead7221abe37873f19788c88da775daa578b79bb514dc925a02efce74c3ae5e04ffb71d59fc47953e194c7fe28df784130a25d35fb3e1db2bb2f91fc0fc0ec5ab9b4133b245a50a690f81ca5af1b1d50c4207988c81037fc5d6f4cd78de12b79b1ca22f5f79b51a9e5610a761e01bb386d41da70c1611bd1831992b229fdf3503e29d86e31eb7d3061c0739b116d870ca602fc08cd6d75567612ea9671177a0bd156b880ffc8f99ed38c2e252261992504b755022604412362b87dd002d00562945b60c33e396e3465db7c24063a07c077154147f3f13785aa283a75d030993b416022a078197a40f0df1eb059a4aa7ca61b7575d52ec1072f0baad71d16738ae72c8dee650999dd04a368dc7aef01cc39f3ec44d92e607c10d1c3c849b6fe2015c74120be88b34cf82922605e5567287494691059f1d11ab5f6c47f03d7c1785b5eabcfdd70a218fc613ab8fefd7e8bf6f86c63f8d0bc829504212ac0b42535111c3c5fe82b65eb88f28ff1527fffa18f07d1c6c84e99c15a879bb541c65ed249b4c333f84536d3902fa07d4bf027e74e8cc9c2eceb01419c770f2e747f83d106cc4edb4ef00a6586f058fd14e2cdf115d618c79a85a2a6450c5c280d43f6073737f733e0c796aedd7c242294d70d5a79743c7332d8b81b1b8d87757802d1bb256258cf5589c5328d0eeaf639840825d4a46e759f31d7a959d72136388f416d9cfdca3560c375faf834c50ca41978860ed2e47819f5a1ae64828f557e4c52d3ee1c2aca9dfa529393b8505cea81a1302cdd1e02bc85d64ead0b83ca4237f222c770b458c480ff3918d32a1ee2442ac17aedf273572c8119e4823b7b2aca94f1bdc1d0c6a1a82e771273d4b3a62da90223065fd88a61247bca9aa77ea98eddce06cd3e0ad56668680d5e7225b230bb29e1def881729c32db5fd978a2aab186394fd4db8d2ec3bfba13ba4563533d24dee58bf7611718074786acc184f1e8ff987b3657b1c0035a0d48c6163043b7b21e63402f7609c45a004ba5af3fce344a2bb1ab03a7da33bb8d29e05d24532ec5f982cfe400fb8b5ff323dab4583d3214b8678cc1f9e222f084af56f78a28d82d9c51a17eb5233b82bb96b67582a3604311f93ae141d292a269b511c84cd04f94a7950a21ffe1a7f89d9b5cb1aad6425ef4a0b7d4c12949a98bee94fd0e26be7c9106493a4cb9bf240d5b04c4adb5bc50379b7788ccf0cd73aab3f22b84f72bb6f2315a8218a5e3503609d2481d89a6adf4bc8aed607459553d4488f3e7006cfba44aea6fb4c1650d3b1870770f500587c5b1c970a05ff51d8ad7b8cac730f8a8bac62dd639e03590d84a7b2ee44ff6086ba7e272df84a0536e5037bde2d70d543412260613ef181aa7656564cf26e483614ec1339e8c71234a6f0e2427153510728bb69cc54a2914467ec184a6fd237c79bc1ed3023349ff8ccbd33f7959ed05ea59dff221b8f771ef7fc24845e56c8c8a737498b953d9496664350a89b59559a2b76ca19797effccb24d030b3db1c8215ea78e8725a0ac7636415e7cba8e5e956540c6f7a5d6115ae57a74c36da5824e540993f19b6428a9da0145398071d686fff53806291f75e7feb1a268f6475707378c09041df6563c4f738ca6f8cf44cd4faefa423815b195f9f8faa8738544c85dea37e2e83cd9621e0ebb431645b150a5542f0bf7ff9c4a1ad335fc4466f3f9a523abee5ba17cabfb8a27545f176a24fe7246d576f3063a81a156f7f166bbf87206a31d87015c09f1b9307cf7488bb134508ef3a118276f7e5f32dcc604ffcc877ae88f6ca009cb459034f5f52f1230793f08fa2ad5d1a6920d059e67636f66e46e591c9527d8a30512586849f123c7b8a616311a9a1ab3f78cba38b90a9d5990b1b31293d2a0c90a84a6b5c5c87e730ebb467ff29975543e4a6f52dc1850055ddcc7a34f9839e1b45f6c8abac05706a38ac5ab90dc2010b9e82f97801197102d749203744a6a91323e82a6011b6dbdca63dbc4583a9fa66e039d1d677a4387e7d7f7a00b92285bbd480a796fc5c72eeb5cd72addcf5f0296844b28784a2a4a7b30bc84facfa24865623b5add33d177961b0b762c0125d7c5fb2bd035a07d52b6684efede2cae5324f3c3f548295586e77e095214d7194a08ebc49cb7f11e65e596978c4969328444b94a5e18b2b5ab044087f21b3dddebdd0182b156eb80955029a6f9512f63581c1fa187fc0e1748d7c305e58c2d484e12903c24e0616b1dbd38b864765a8d8dccc90e92e3c7c9e02922eea7744397d6719c07d58efc22d505ac3396599127587b4d1fb61211beaf231bb316e05e0fd324b4d5ab77640bef33bc1a00638ff29be4f0093d3dae20cb03dffd335be521f5300bf204a7641deec0c29aa3ad8ba943c22ea53edf29efb949864bbabe2b24084f50657dd1371aa7e1f6f6d2abd535715d8b92a40e3460acf7ad723f6e2183e898a3b090129b9e6a3e34e1213eff8f39135b2afa763b14ac4be82ed02c9c4205c0b73190791ff62216209d2fae0cb83a677dc336ba6ebe1695ebbc56001997aad6db23637838dccf2e65d40083ad6749aaa705182361d0762ff5247a156490cfd246857b24cb6a1aeeebce4034678d69fd0f96c50af8669ba066f04c28a791801ebb5a278b14e036d0f7c806a2988fb00e87f3977bad4385fd4fbfb323c6d3f372f5d1ae6bd17f97870978aceac14e9011b4018ad4e2b5f2d9e074a1c49b6f24557424490a3f996c380a242adbd1a407df2dda29fd3e3308694bfcc357adb68664d1d7deba74575c4793f217ac8cfc445f02eaa58f588a153f537d82121b660074abeeb7506056a412dec31f1755844d212ce0fd12334a5fc01af90d3ba949557a9b89a14efe84162dd5af779f6be266e7ab9e47ebb1c703063727a7b6daf89758e30da829e06c5be08dda4ad112cb868f61665d36852d6006c23476257ec8f0c475099942e1f2f8025d3f6e629815d015c7ae52ffa050e13f068cf3946e493faaec18c8f8fffba602a3319ff576c65f854774dad86208f4580279120891646c332543478e9fcfcaae9ac424432bd8c1e08a77a57eae1ee86c4a1fb88ca50cd21c4e793f08b58fee845e2c2afc247f32eed4ba2503583ae511d861a47da2faacd28fcce947257ca3af35ae52b74536bdb8e3ab165191bb266afdfbb9d32fdce72c30dc2a46e8900bd11af102cdf42914b0b4295bdc7a73313262661cd6217ab629fd2f5a4e7bde951b4f5afa16417f50fe279b1b1a55e44c66ec9a5745dfff02f351e0470837109a810f4a8472cfdda342ce6b5911f0e7e83061bbf707e4112b9028a7cf9db8e1af11c6140a13a055d030e74a0156fdf9ccf30908e81d1f848502bc73abfd6933eabd10a91c5cfc060eb7c5d76dfbafc134da9dbdedd6be98e41fc1990aac183c48eb12bdd5034a5b0a8ed2ce042f321b5185208f7594decae755a1d3774fcbb3ea4ed8ad813ba721b1780ba72887e29f586549e69a5b691f2fc4ef2a6add2fd83d3f06cae613b4c6c6f0833dab0b22aa386836d6afa3056db3d3eee62161e7d6d3e56883cef3e2eb2693da9a2ff80e16728f07c3e6d080961ad25d38bdbe945d3cb4b42ee8bfc328a9f90009118be470b3f2a7eb15124def17d1c2f1a48deb9e4755e99ffc0d93e6efa0e4c4ef84b30c94975da5be55a06f1062e07196b03c378852d04a34946dd7a66b584131a53a02c09a033d4ba7d771ca96c28f8dd126ba5820c4902b98cde4e0ac73913f685bab461f44dbbcb0289e8c84a54c6adacc8e522ef1541308e799b3bddb3ea73073390448f5a908cb2abd70e7adfd545beabcde9af3e81976525f4a1582668c144a58b059bc10618c78d90d50e505f9738086fa55800f41bc68f87120434ff1113eb2092a81c21a26e01840e4bc6998177721ba9b02deda8901120f24174c0212a19537732f52abdc9a3f69e969e3819c16c6b8793913677d44b5166d2e85e164fcf1aef940f6834f59774bac2f0e94c8d3056962395bada306d3a6848df1ca5235c2b125e67d79f8e84cc6eff9a4351447a8874442789269e075984399a1a1d6e3972afcf2bb426b7a0e9fd5dc81b230428505843f381d1c7779327c2d86ec4b2d28f36112982dc8cf252817334acdc49752534ee1b7726313301c312e5b529f57d16ae3b8bbf23f92184e4ecbd9cf16694f301c1db6359dc0df18e47a08d6b8b6705a451d338f5d67f0b10de70b20e9f1f15eef5863339dfed0e09dd70062c07994434298577673b1651a1bb941953dc869c730fad89d9fa7ff1095b68b373d971211a2b99f2bd78ba062e2276713846705639770ebf4eff868094df5ea48c3a60323862646cc96350e07ebc54085bd4e6636f91425ed6906abb7e1aae7d053be0b507df9c36c123bdc44b13ba07fe3e7bc1056d2cc3c38314d3d07d399d110f0a2dca9c15e804bbf605e3a4380a9b1f7dcfe6c84d67dd482c6903debbb4ad58593b1b923295f86f131c248bea906852263a2575d4b87d07d0a68b4dbea8ecda421e34525530200e7dd5e32328b0898af1961025d537e8fa7f279b3d76a3d25aabc713b728c16cf1328a74753ab44b2fc801f2bfd3a2964a802e10d505f801250b9b9f0d544837d0febb2fc819ca9460990074b5093cd481d8867c8a63691c30dff4a720b6ad932d40a61785080261062051245a920522cdfe8be69eb60d6b1fef49115f7ec5be79bda31ce7c18f454f37fd4f086a8b9346963018aed6cc8ff3340b221ac66dca8e44935c79f19d7af20b50cb423b63806e73b4f241e8c78de75f7e2d163f043d995f5b0d979f5e3f93f4f2f67033d60510473fc4d26209c49d7015cfc6e58f8566e91d2b164d54bbc48260c254a86ab3d1d6a6287fbfff5085b2006b622d7ec1d83001c6c963139dcea7f27f36050256f0e14840fa574d1a36be803fa89cbe051a8f26629ca34477119d2234cf23a6e5ca7aa82e2893b82f09b6cc9c6347b4f06e71f651589b7977097dfb5e5d7fbc237f021397c1940d540a3c3e7409f1a6de7967a9cad9b9c154ce666f911a7df5d6c689a85bd13d0aca8edf1de080b7ca372ad845407ab7f61fd7b5914ce84aec479db90b2a227c30b47bafb1432ae0b2b7714e347f25b9849cb44568d94bf96a6ef23435453080c2984710643f9cbcfe518aa578ba49c6aa20ba90d567e892f16f85406174d8252e9f3cee946ec4dba563fcabbfc0ca0194366ad707cd0079ccbdaa1d86a7cb8f75cfeaad71a6b68b732423c40552ba263d9f366b3a55a9aee2e11c556263da421bdd0847bc1805088bf4bef5dc76791949b395d6e85b56578299946fcea99e228ee9566957dfb16cf8f9c7d5db089d0489ab7d95585bcca095edbe0c77a64beb3e8a791920254004a81f9e66cfc7edc0549975e3b260b6f20cc96be5b481cfdfac48b30ab7da2c5efb7f6d3da4ea2f742113d9bdb92d3dee075a257bffe2d5ed5992bc6a7426ce857b38f14c430e52e2cfab1e27e6aa4bf665603dd6107cc2c691a4c1941a47095284283bdb8b08356019a168d603055b21f599c36b77ea90bfb58217201040a40773275fe8f943398f6bcac409b5e75ba76f3eef46c238d7d975c9e6478ffd4a4b958320ebae49bd7eccaca4677bfdcf53a53397e42fb78d30f42d0d3272f22db1ec0fa3e75dd2a8aef5fb1a62d1970f0f479e62e7646a3ce3702d70ae704e98f36e7bbbc92a05033afe6b10713ef5ea5edee0895c011f8d3788683733fa1dc79f2b9e80c436b7aa7a4813a60cd2864b32f605378fb28e25be7cba29c7df2f5bcbad3c944ba8f97a531dbe307af63b1ef1d66af5df441eb951a093a102f88ae8406f902267adb23a7ecb55faf618ee539b988184d5e2a767acfab6d7cd636c49ff90fada67351000da8de71461d93182651f760cc47e44bbfd436754f19948b9decd4f6bda4b1c5a209ed62bdbaacfeb27f7a8e40faea2e5d7bd9d37f22736ebd0c9bd85d4487811b96756dbcc4df84f4eefdc6526e374351a36a9539c635b2ce233e8e1171889485c8cb108ff261961189e234da4ce09ef8a50a868f27e47a9dc830848c369442bc49b3ee3eb22204cf21babe222780239dc0034bb3aa81e03cdd147e0f2a99ed67c6710119791ac775a1b77d11caacd7a3ef0cb831afe44c70bd6a908b49f5179bf914ec1aac9d7314a9edf14b84200883dfd931d78b745b14e8c7abaf7795bf3380cd3645770aa750a9c191779bf8f5485e51e2ec2830fdf4a383be545bd236963f1d3bb7995f193c177c27e1176979b88a0581bffc56765295f7916f8a824dd5fca04c748afa1d43c83779b54bf9e6495dadf94864118e1f166b8c6f592d180ce32ee0e10114bbe4cc9e862e203d86c1425f285bf8d68ef77cde8dee9b195cbf477f28b056b39b392de965d4b0eef1ff0828b039cddba07628ee117423a79be8cd01cd861f9b68733b255f5879fc6dd9681c8e935ed40771bfca04a348b4c1e797abf5432727ca66af522ac092dbabc68506abb44250eb9f3da7ab75b314333eeb990ffa94bfdc9c41eef86e604709abfc3a61d70bf8813d4675a174ca3138c250dc3cb7a2f88223e19575e6af720fb31ee8f728712cc4373c7167a1c30901418434ed3af42fe438197dd33ec183558de04ccaea8211d0d8b5bf5dccde9dd72fac956a9d9973dd5c46814f712016b267430257babc3f6475f5f2a315bc6f2e08efd01d5ce5ccdb5f47d46d28f75b5c6a1a391ea844f1410d52334463179150ed6fabb42cded44f6f53e75a9e77453d4d5dad517bd45519b29bb205bdfab4ea8db51e53646b85e8bf20876b850943c391aa92687bcea267a3b3dd80060ad0a8df9cac681e6017bf498ce651af1913aaec40c3cfef671c63f1f1ac6e27c587224a8ebbdc0aedb6e2aa3d426911f10f54a6954bb0b48d2247c55e77275fb2be87d6488e994c00328c3a0e09c3451e35204846b734ab2d4011bb3ab5b3df707f1d87cc38924f637fac94cfc5bf4872b156b510b8d462b36cd7847a5d79a26b03d83e001f53c01edf0f0a9f9665631663d2f49f60c918ba1422d2ae262f8e6ac39eac872da64588782745ea550bd9b3822c7d643d8b32373b3f8b8147acf168cd7be75c0fb36605a74988ab64cffc39e8c1c1e67206815c503e5c9fb226734e922a9c6c00e3ac2ddef393dc6a6419540cc0010678ea0e75782e9d64ad7b2466657ee65a87f888b9fe4f7e0aeb6b2dc93cc3e25369470c29de828575906eadecde4c9b09f393f7ec8d25db4324edeb92b724d501bab907b2c0ef8043c4042ec03faa92d6386ddcc168869c39e1e3bba7c2e92bef8a5da6c5eef9b99ea49eb8fb6ad72851ff58f82795bf69839f53fd20b660c71835df42deb287e4688a7d0044954bdd3e965648371cf207aeb40b2e036fee7ce2353c2c2452002cad071be609c2acca1d44d9e756cbc7c1eb5fb4e2785cd585e00438b04f6c21b55b42457d1ea5c7511e9e9e60ff12e499ac359d71b28e353982adc92d7df3674b98897ccd5d6a20bade1075cac0b72f8db5ef6bb51fd56ef72149ee56d197ca9bff0696ef4d8c3c77c9472f24034538c2d759411a425f8ec2b095ffa9bb222dcfe6736b0e2f0c40b8a5d4a2d9a8b3d0ce45ee0b79b1a2e2c4fd0f7a66219a55350a99b5f4a225a50aa4a5bbba2ad68c24803480397bd0e4ec879164224550aa39514f7e6fd29da58d3d4feb4503fe32657a1dfed76f117daa0c7d8b58a5e09fa0aa2339cdffc1c8c9ca732897c071d9be5d807d91daac114bd1b52114acc503f6ac9aa208d84f013a6d4fc57215c1f8a8e455f4974bbdf8fedb71132feab8ccc88feb1652eeca0ca50e21afe69697017f908f17584a9feb7b268c34ec2d2aefe4c7fa48b052fda36ffe256ccb3765f178f76a4a7f44afec34e986f615eca2a4d03693e0e69be478292aa22c1a6541eaf171e259bd8bc493f2dcefe1fc006f716908e466f2b80bc14aeaab37fb0fc06cb295c016a5a93186c6fd848ad6bdb698e6f2e22976ac1e0bd9b0eb79d0a201aa50da897b45a919ee419907f50f78b704fad6ca3a7b1b90af29119d94a21e5a5ecd9d0885f0c9850b464d95199f64c1975a4ce7262662e4530c6e2200dda64654e51db5feaf933ea6dc0793ea9235036392903aae688cdc5af7cb204bfbc433cfa8d6e9f1b550c18cef32e6075be6082f78b1020d7a6a04734e5d65288bebd51e7569d3f4f8c0ca11af3c7d88d8dbd564683f4e60806ac72b85e4b4c7b0f66cdd16354b06d9858405c130c057aebb5da7aba9cdda5325ce9d420e722e908cac5b87836e83e506ba944ef6591c00b480a9060e999c9a60522caa7181383d230ee93387aaaf6dadd0d80d7178a1ab6b9268954bf5755272729e3ec476962770c7320631a68024c082ee86e8ebfa67f97669b3c704209d76d6e22bc772e996cba9570c8f777035b4a0ed5558dbff3a3d2c8822ae9f5395666f197d2c9836c126b5ef214fa9e2fd89b08972ae748f627a1ce0af2b4df53249893df1c9fbf15da8276a1e1f6b4d8a742472e971e904e74a386fef7a8c1219022d4510885ab93fb48b74f7ea919668792930e52de1c5196a74e798a64b79f1016a943c220f1fd26054cbac3104363ad1529f005cef9f2380b6fcff56a1c169425ad468ef1d8735b72f464aafa62ca67891946664cca9fa5b5bb39e6a120d12ab1bf24bbafb9942e779430ca6003fd69b5fba56e7527fcefebcca846af9ae86138e9e922ce34a4d76f7decc1e2b62bf1db3c007f7caefa7a8df31e9253618b299f37c5fbf8aa56d19603ef1f4d6c55d3cce34cac1a26ac38f5343afc50ae95dbd42c842b8c5511b8d7157e9aa044212d0b4231ea2d33eb5c4c4f7810fe920e8050a57dd9e1dd927124c745d29acd26e56df2b753e17937d6393faf262234a13a091c84af88c5b048123c872493d883dc137b6168d3f491ba9bd31666e71a1a5a9e79af8292658a6d20c9d06bb20a7bf69c333835e02ec95b6cab3b65b924131ef87cb8f18cc180b4bb39442f343a0dbb28d96b59656a9bbfb56fa3b83170ec3d773b2f59c768ce6c0073eb1e7867abf2d5c765b790305901166612b2bc18d61350880a3dcc251437289f8c1bee8e8b8b56d2c0b91ac8c98814878160a3bd75f0437e9c5a2b54815bf13124c4ad6c69ccc0953d79d2d567653a05815b5f3c16403e4e29138dcc084903a7dfcd3044c150a2bd9981cc8897a1fd561c67022fbeccae5315407fcf96dd1a0d482cef7d9528e137b9570f91ba4dd331d286a376f959ac5a98c6ac7a52358d226cded535d5a0b7dc0f57601335049295eeb86f9dec360e451071872139369395526fdb95fd464d48d03968633f823fc15eee445e4bbb2662f14c46731561dd6cdcc39e9e2044b1a9ea4dcbceef737bc1711089caa7cfac36c00cd7a5352e2bb4d5aaaa0ff1c5e43a472583792072eb6b90857f0705d3764151497f5c04cd9c64909310fb796a83f759350505b7a65f25f37fcaf18e47a9e87428511018564597cf3a8f631263a9225b49f794f9c34b7a128634aec59ebf24f8928415158c7f66ff6c1c550dbb96783bddc6c9e86f6fd78cafeacc48951b4a71efee2538cbd3c0ca89d8be0b8dcee2fce12d6f895d873eaab56d8a56b2c62bb333ecc6d679a7652668121df9a138f430c46440bf16980fce93d75fc66613d4af7af8c8edb68f35d5440882fbea315f55a3f81abf039cf750b3f4e3e93d0ffe3fbeff542fe0b2f04d7627c1867d17af0c142ba34a33d4c3f5a23b57e49b09aed8b0aa7e62e2b35adc26944ca29f4f5a7b07468cb97d2c3c584eaa52d91e49b0a8294665a1db2c32c004ab35052366f742d35c65129c7ffb8dfef9fbbfa813542a2bc9418f351d860937818ce1ab8958cb35d9cf2007b24a27c489eecb07613d72b3e18108a70135cf763db86cc4ad99c729e60109b18455d442300447524178c27d90d67b2482c9a01e3bca9b61b9925d4594bbad17cf326e512cc4e7d680cffde087d395e1fabc64720d88f3cf8b19272819b2f688c83692b2d8ca9d3cc485e60e820d7d9ceb4443f574986954fd54d866ad635a425bb3b6f2aee679d8824d4b0540136935f8d4a510b460264157f4f8badc0aecf947b006355625dd4e9dc944d57bd0e1ed8f23866c91b6e99a8dff43a3f167ef5e2579bb3874f2cc5d184e8e4cd47b470cd427581e1c0ec00fa5e8081b9d4a5e97cf42aec5599f3d1eb52d2513a1845ac4368d4738652ba388d2f7917d3108c1d9a9695a3a535c89bd6b9302b5671a7e150b227e39de3e6aab76098d55a712eb0f5e24058939f54c8846e72cb19716b3f3963f1c049e670fa0a9712b99b07ec3569df42a8d648911564d958101fb67254847139d4a27995f1f2fdb4a02ecee10432971cda027dbf11690b9da92251dc5f274da7f3a63e05283f7599c8554d10d1480d965411d63bc6cf63ab442ca9e5e25ed7d3065970900012634d2b62dcd5866bacf04da53f3ebeaed2a7391268e28ebb0bf09272eb53a380a2bd8ba0a643a3a34ed573921c3d67d7b3dc7de4df49070e8259866334999bee3d4306e5d33bc5be4bf751a088497d01374b8559c9670f579680cdf677cd10895349b641f3e293e38b12d0ca6c1a034a97dfde18b50dc9eca049061040d89004a0f80d169cba1782c4175cf06ca90714905d7ee79ea109455bdeb8fe0c9c16f688d6cfd5c3298f5a7d8cb894020a0a81aa3ebbfe18dc1da8a3b5076e49bf918fc8f20b620f5ec85a7e6e204a410a621f4319c6433eae33229b42939b7f61552ea34a7e8ac52451a119f0c8f74a37519341e34d2e7a2e7eae04b43d7b9476796e788a19ddc650b47d6a875b281011a69f802af4958ca5bde54e6fb555fede4f624f2df5e2af98bd2b943edaf1d9bba420feac9ff37d100641be72357b73c6409bcc2247cf77fcf52dde98a6fe523825a5f8ce4089827194717b05cf8d833b8f5470cc4a7898b6b6561a31ea1eb7175a06c656fe2c7a53e67f86a1b592a5b922ae2e92892e73bd5ca57327a15a9b6ae48709677df553ae124547073ee7cafc3001c870a05a6d19c173106700d3079fed6a4170864f25ee321c6567f75ab5f265729295d91fa897cd15ed57e78a56bdd05cffefa794f42c94adb2158410dda5913b45468ac6c165a436917b26575da7e3f64cd37abd2b908cadb4ae44e9907443912b7ea610074b9ad99be2f32b6328bea8d7c7310618096b699ac21834905e7d5cc61f79177e407a19a71e2b6e1dbe30e1047fba67364fdf9e6876439a1bf9d97ef3d0d51916f5d80d98d69859489c7453a6a0bef16346f61ad350efc36d45ffd922d6ffac6e4237780e7775f75fd8893a8c5e19905e3a6b25c4b5049929506be55cec06d79f1ad7bca5f0d5892b7c1541dc880f38daf4894dc9840c30a1444cab9992c8f2f1261087f636478fb1f3ea2280620b14de168ba0b55757e79f31f6507d0cd4490f1634a8529a7c0da12b193a7707fa067db03a9684a298706258a68506c11b44ca36d5165a72aadcdd06b17a161c5c6f71eb977ae8066d3fa13c6a649a6fd1d4192a945dff761b90a3f24160b093d3a284af81ab7fe00bd7b95737fb4e103f8d13f6ba55c3e1aa75aa91c38b6d2603812982d7c7c7607d161e8f77bb093188b36cb7430d491e8d99c8d5e3771dff6312de917f31aaea4237a3787b6b7480deaa63431d84749733e3727ed18c9f21b2188ca8099d050b9228049753269c022ff8a71fbc05ada745c2d94a02b15220b71cea67216cb7c8395f3dbc27f7d0fa67cdf218f799e9edc97c444ffd4e29acb9612e22ba4ccb3dada6311f90c6233e234e1c513c56b3876bf117c0f3bf6b443c76d9b41929d2bac5d19a0a83d2ba1c498f7e0af02d6f6a9d3209f8aec861391de94870e85213950d96c477be43fde91aac6295ecf3dd5f8b7f48467817c046856a5da360c051f35944862fe7181429efa512c8766c1d4a1891ff7b556ef3ca83dd4be302d7ff4deaf2ae1f73d9ab064c30b1600103e32dc756c73e4dfb8c468246dd3ad86bf37b7c9dedb0243275d535f0ba0ef75b5b358e893b3f42744c22762d398b0b10592d9bef01ace309231e38370b6813ac4b093ca34b314965eb4b01585f94e5fc8d3868cbbb594857ffcefdf993a8f5fe1b838794ac9469d28dff7f79b6f353230b2b594cdc4209107d516a66183951b41313c550fb2ae0bacaf2f5d7915a0a46d2c582bab96e215faf7d623364e9c90447c8a60a8ef559784ecc2a20296d9345dec4dc0ee8b9a024d476d56bb760f463d34050eafa1cc58b5acc877ba7a1b68a84ee8f8d8d07dd391db522e246368f47f7663f4ad51e2df10e30f5164585313d958052ca0215b98743e677766ea40144a9b47ffd00f2cf4e278317b37f84a7f2ff086f8d41b7b7a36bfbbea3c14d340eca58e217cf506fb3185ee29127b9b532afa70f8303af2e6233901ee334a70d70f33b43fa4efca97d7b893de6c5a32f711e98074ba773fbafe19609fd2ca502a2dde89e80a2587354f5999c4a59db9e17d5d591d778e002de3abbf9c05d1aaeac479c26da2847e832318d691b7332134518c9304a1d172a970c67ba5b6bf1d6b69e3d06c8b3437eb5e7c602d03cc3b5929c925c6d55b6f0caa2a833bfb02b7110458d19fdc591c5b9833a78cdc0777972bca5d5ccc61a0542c1831bf51e99b7e780cba147aade8d4371aa95064f1be85a3872e68541cbe81dad925fe5c6fe68774c7aab5812194de261bf8af076a76fbf3c6696c56acba9d52c6db406ddf22d6711a9b5df27b1b8b5f72241344866b71fc5a21942191144645514cfa77dd2ffffd930e8b76b23a4716cc03779bbed2ff7f01910205756c382b03711e403c7deb10929d330815350fb7ce4d5257e9f0b3f23de32820a98174cea982efb9a928b764e5beffea465d49ab76aceea515f64f1bd618a6330160dd13395f0a63722bc2f69a39c035c062f4f0bb883930efe533e35d0e61e5db825136102c47ccff9c3373e6934534e115a4ca60385a647a4e8e263cda4be2383b9ae31468bc31979e97ba3eab1c3f0725b3ffb4c0803991ea8cbbf343b91e2feca154f20045a9a25c227b80ab4380f8bc35a045672e14af9e24705e782325ae9ce77af8c9056a0cd22b4f05a8d8e8937480a785b7e52750df6e9c4d1576fa6bfc22e92e7bba983111b374533627a7b2c47eef3805487d70c437e1e1c18b9eae87675c03831590b45f392a8f182a4d90e5f5aa0b8a23ee83422798378cef8cb16480367cda1283ecd8b816eab93ec574b2f8d0edd60effc75faa28c8ca259a5c62751a9e05d67d4a35ae13d469cfc7a7aa7049e15cbf0d2c972321e6628588c7ae655254666f91f9d26b947c88f6ac00c1be7750e3a8e0ec1d9af2f0ca041cf825e6f3970d29a61d8bfa88548a104999d19c1624e5cc14d6adfb8054ec188a73f47993e47ece61bf9535c72aab46d315d950a1c94ed5358f9f330ea59a19445ff6afaec79adf2c8b9dc6307ab35ef238ce223a332216a1aa266b93b828aac2259b89da7b3a12778bb16e1dced857c7919d8ed99bbae0e76c2d1fcc619f23cee03ff3ca1ce6cacefe6ba99719946ddd8a2ecb619c32ddf3398ebe1050b53b2041350f0cc1af42875cce9dba6fb0083ebd4975b62381b5d73afb78d7e792ad83cd8dc7e0986ef4330afb839e19b207243799f6d910b6096f039ec81d489b2cc14d97eee70df724442a5788e9aaac8dd64f9326a370354e8b27fbabe9f7a395538b5fd27ad210f1ef2a45111f81b1f8bbe7b823ad5a68a3f9e3105a026323e2fd38f4072b5f761d19bafb6620362e81cd508bdfb55c5d1557cbfd3cbf9d9cdf9ff97237b37b0a8f3e55f11de9a5e7eefc7fa56806ce8a777a77194e23e0d8b4d93b4a96bb401cb83935903eb6b534a1c2b15219bddd064dfca011a181eb3bdff73facb63a615eb20c69752f3aacbae859bbe98885afe73693fe1aeb219c8fa689240299107dbac7fd26f90ff85a4da8be8c1c185d3015b1999e96cbf1edd626055aa2bd0e433b399a38295bdb5f75dc203733865dee8ea7edc91e47306eeefc32114aae92ea2a7b5f55cebe17e12cfb82e52ad5352e8b2bd1bd03a4885b932845b68039ad4b7d6dbe22786a17329444290cc1ab8797679aa30994d274613b95a4a83e73f2254da1c14e419f1c0061784c45e6408249be661ee15e1fe838d5f15c03d53adfd9980a36768f44e9be0762c3191b459c9bfe5bc36593a812f653e631c17198397befb77fc37cb440bf6328f084f850f74282da0a888c4c1d868bc774f7fbc6b0b674b8420419acfaea242c2888cd29abdadc26d5be9ba172e91c0f4c7213fcf427aed26b79863c3a7f3c66edd5cf86f5b7785b25a85b92370129996b1dc69b8d6cf293cde096e1dc4ec405f86530de2148c731c7d9717307cc0f275d7472cd46c3a058c18b27824ce80670227ea839f18bdd987e40cb00b9a449aee1857f0ff0fe0e2859fd5ad12bcecfae3f8149a9d2e1ca9869697e04b300ca91f7a10af13da7ecc3d533216c24f5c2bebe80f8bc4ff6645a3d0d9df69323125a5ce5dfee225321228f208e65afd55fbebad67ce07cdaecb19d5b55dde844c7cb8539404e6661bc77977e4fc0c8be8a07722e654e4c4eab05fd603937d1677a3845da26c8c13d7cc92078ecc696e32f69f4709ad384818859c831187a2b806ee2237471fe70bf82380dcd1ef9426ad31ec763b7cd68752846c6bef131f18b688c9dcb93fdaf7558917b9fdc5705e519167b4d2a0510cd87931c657fc957ddac146fa970ac34ed6959e1dddf277a92b5c58e9ac77edbf485c912a06aa780648d0bea4482c19cbcdfe9567a93637b5bae8f81a913e21a2f9a1127f28afc35855fafad5abc6e9ec1100054e9d5f6205a926871f3e3d93b19d8b2561580514b704bc618af42611f4dc6076ced9133e1755dc7e48969d1d86526e0037b37c9117062a7dfc840ddab88472c028397a73b8faf74684654e9281068fbe695298daceb97c527a647dc6fd09919de80d9da119fd22e700ff1784dbaf17638e2041d28aa340662e628cfdf0051804390e7df3f56ad6e7e30310eccf481a6719cf8315c120fd92c70266533a68a947bc086665fa2f70ec4bd12964bbab72bc7ca2b8f913fb94233dfec50e1880a39d47bbc881f10d674663b12ae7e0c82fd5aa7c51e3f27cea6d2d224810f2be93c64b88a414146f38ec50af5e5b6e5a22d3147177a9db1d87f4ef8b61432143767764677770fe4f2c8ac8f73c4fc72b47ac31f32ca06da16d851c0c799bad35257236dadc3388a07e5078b39548f32125faf815f8e0ca3cdc1b2436e4b919a2fa7cac0d7c5569774975fb3825d3159c5ae180c2152b56df589f24dba79f54a5c5752e62c58abc5e734f374b803209feff92e7ebc73b0ec4fd3a5e6b6dcf719b69b8164e58aa16d5161c61d78f878c0abd24003f68b83952ee140dcd9579e54d7221addebc46ebc7d7725f909504672362febd816208ce5b60105c27b2429137e8713698e17b4800d37b586e5da4387d25bb22835db982cd8cf9c3289bfaa35a0c24a182e6ba0018e663c5e5c11ca67723217e36bcbd63371c70a6019f979a8828749029b7891082b5a0e895deb43a975d8322849c906b7cfd82738da01f534501d259a7cb841eaa8c1f81a2236230aba4638dce52c6c08f0c963f7495c5de50430c1cdd6e9a7857d4f0eeaed1d859ff040e16ce4048d0a1607b31c6d4564f01d54db57fc018e0d34f246b40a20865cd19d23e9ab916e5e6611341b9fff88339210969659616b162c77bd62dd97eafcdfcca96c70e6b75bf68c0f6f16e9b34802fb2b4fc2167c70fbf252ceb9777a89737f97a8931bb405f9173a55604810c0a3bf69f88cad041ba19cda51c8ebacca6af39782a5b9f483cd10cf23f63eaf81933c8a5875fe301d766acbe6198821c59cfa7de3b170097c16857894b62d6a7a4ae98d3c4b3e85cd95502e9c71edd8c8d14116e7bdf5954b1532668ef35d81a34e308a1b8c5fc684d2ec1a31bc420b624eb3fc572277846254e44d0b1387e4a9529d73370ebdb8ff4839815a8d09d3dfedc6a26cfc6d43759e4623b6cefcd0f16ea8a67878b8520d39b5a9d80730410ffcb7d15c4838feb5088e78a51fd90705301f150a626abdc372159de0fbfb3439d679cd1b6a2afa4bae1edbf91e7bb7cae6b803c194158ceccd5e8741cf2b0547eb5bbf69fc2fb72d57d0e7d7d736ab2c7cdc381a916ec6e4d43cda5165d666a841599de6422b28d6f874635e0b0faa7d7b660376a84798df721f5c702d07f1a33b31add56f4625b59d6c728611affb18f8fb0dede8de7c3b3dcf47e56df39a0d6d095fec3c332115807b66020fd29a6e7e37068bd07603b9c912e434810498902b2da566bb70a669f49081088fc70e9cb8f8953ce6a09fcfb0c4833f02113c81d571479e1b8de0a0c64bb0a2777400222fcf9c5f0c29e432bde5096f51ee283b8ab445cd33a8392145941b06716705481a35323c61a61efbebf70c43b7b82d95b114eaa698c6e110c8e42d0934c57a17d65c59ee0c0c70a95250275810ad37cdaf7cee0866dc88615d69efa5136b53489183da9f03698a0f497bb61c84bbf118e34fd30919aba30e988e88d60849878b56408f9c18cac6b76d946bc5f3b3d47d913b71d42b95da9235a7a0d7de9a6b176e4c8c8aca08b4ca284b6a721842495be49e7998fdfc4c0bf6a70d1bc916903bd583b3270b514d01ee05e5b8ac82639d5d930f06e033688685f34ed2a3a03a54acc4d28ad2907d98501ce68690b8a178945475ceb80d85ef8cb385d98ffee58d494870cc5aa684624a2debb623f646a26924ec18201f886149966c83fce5117231f73e7f07fcadaa28348c4b0633258cf74f93bc7d1206db765028b97710f58fd55a643bb46968d7a69994c7b9d8078174a9026432814d2a83164189d209f69caa8c441470a34f1cb3ea3c1568b07abcf3a2673f338ae5f8fd704067ad8f5664b0e6e9e234512cb1d84cb1e211fe499d55550c324c3d900375813a0b6bb2b19015d529dd2aa99b20be99cd0ae79fb04c18a8fb1bf8feb97a1d3903c08e0b8a68291c8a5694195f207cf8cd0decd7b355bb784d7ea4f6f4b5abf69b4d5255a610a2992477ef96656a617c82cfad512040285b66d4970533192150604ea8effc99c4500b2a67dc0880d37312d45462c8c799ed73b0a8765a8aaea7503bb6d2d3a593dd12ac966875b95c9437b411cfab4bf0c897357fb06da56abf60e7debd8322da01b3afa6f6c755b95ee1e516d925842d78fa76293852ebf44bd0fac1cc062690d2b933915e3db89cdbfda09c81efb853817d18c6dde0fc0ea7423cd08b6546ee948b6a748d0edf76cf91b5f3622063d148b7fadd2dd42db85938f58d355646aa3855a0e83f817cd9f801758ccbb71dd514b6bc04e8421dafcf6dea5286cad6b9f34057e937c88ee6ebb9e37fb891531eab70f4c961d1e526f48df3daaddc64606173523d208daa17ebb2c461f88c3d70914adbff1fd011aa8dde914945778026ef68a692cb1f5a8874411bf405eabf7c8d5d719c17a81b493b0f0b17079c20a9696d4b18a9cbd405ae70ed73a0ad9de01eca33b1d3da3925a9c4183e796e42e32c22530aafa05e889f9b13e268feaf54e9f9a8974b1b59d3c3d7255605a3d969b29d2c16345d6cf10ef4374e172505560cf7d7f2873af954c7afeff7e518b9d79c115f73d2af22793de0ac634bd6cf9499b0d069a6050cde77796581e20be1b852f8e322ac6c73ba3eb2861b87f3b9a7e884d5ba6e6f9dccb6baa41f89382cf3258bc5d73e3671e6b04c16eb252c3508dcd6a4a1663622cecf3f7adf6ba2f2bd353a8bd9d9b29f1a944d60ac9a0479a1af5b3c7b60d6ea393295b181da6429d8712d4c3500d0593e3fd044a3a45b2525179ad2996cc72c881376d49f199236211bbc5e63da17d0b168bcb5973f796ee498e64c41df7fb6bbf007c469b19e53163014a8720d3ce210b9a9a052379b731ceaefc240838ec7144efaf37409cd01d462f184bc307117f1d7a93279a37e505c27460f2ec7cc2e466dddd030ade09a3f1437e90ce028b0139bcf82fef431b32cb92064f59760654e3a3d86a20e283a79fdd1d01e771fb761c7cf9f2139c818b125c74fa2416bc9f50f07fe558aa32b83a2d2b0c134c1aa4796d9482ad477608f6cadb6c92ed5464d849ed75ebc8c575d41ed7f94f569bdaf148cb5f3fb626a0092a694d8b373a0a7d55882ad864fe90c4648178a7e36aafccfb5214afdc70f2a8434ad095d58dea3f62d0f326e792e40c35058f88df5d9dfa0e614388b2a19f30b1f50301649655d9161ffa8625531796ead58a54c33f732db935b181bb142b8c260f236ac0b90ebae325a51d31c824b2c859b334d142ef37620a7ad55f586fdd6b956edaf474c49597b39f1053bcd58c69ca6c14f675fb5327ae3831a5cdc47f4966f04a3d5a27ac49fdf8f5fb9123f92ea9e005888191578a79e45bcdb0c201606433a61c5d90bd2f35b2988a7cd2ecfcde3f7b9f0c5955c5c9bbb5f47e492340dc2c29eb93c878b21f5c677bbba0de2ec8f1a7b21ea67bb64f806853bede0f6d080f72df54a7e79f5228931aa23dfd617d5fd2dd9dd17a2ceedda9fd6ae2ce4e5d4386bdc97c2c26f2bddd0da86828f5af8fde28434f9c4334d322c2ae6516856dd2e576805b859ee5dcef6b378f38bd814c64dd80d4ba4837f4cd057630df23d4805c54b95b3124370ba4a3dd716d572a2adb2bed3e646c9a56d742e91feee350622355e2cd0b57b626fafe9e23e6b34a83939e435ead614db1b0d7cb6d5890fa9d6e4cdc9ba8a2c919286a41eba7c78fc6e513696390f9ad17e93af6758e3ce0ec674a0f8d36c2f5843f10c0181e12c4d97c8f2a1d341384d0e395745a03d6f7e6f58156cb889700c9c57b7ed5fc2dd5ad8f982e0934390a9e0b0c8572654cf9307ed84d446bd3a107c05c62d877c5555dc372c993f348b78a2cd537ac4ad29cdcf4c0b3077dcbc914543f369f8003e30e2ad3b6f2aa8b9f9a570e6c164398330433b449acfeb804e0101d069e765b6a100e90608097b29c32da70d869cb7034f8f139833086fa6ab87cc671ce7a13e394e67dadd623e5313173813ceca5fe00c11dd9cbc08798a9c7e06a85146ac8afa75818254999f7c66a425232ac7c45b81cb3dacc11fd67ef854afe330468295e24c005e0668199ff53c3408cd0910fbb6a24fca0c8c3e9c90800d1d4bdb194f076b7da13cf79f412d1005b7e81270fb62fba557947b91de4994e40fcb2a4c80ce38c8ca1259f7782b9cd75a9c3d949da284a11f0d123bec755925c4888700f731fc6b57165539ff734f70e659510f7bcb7d0b9315eb3a07614fe72d0c7e079c0ad7842039b9a24230c9bab64e3aadba556e182d5581bba1376e3cd86d18fb56b9f74ef063f9ff5d59ed440516548bd705da4c09dc6bd6bb2aaaef4f92e0bc066c2f06b01097b89845054e3aa9959bd758b35fe9c9befad372afb37f0f622f366f9488b1ee9aa4a1598d7302ae76ded90f673d3713a3aff2856eb18d61689e28f4386e01b2ba9ce661280460043cc6610457c7aad70788707a70441ad87587de0be64ddb16b55d3dd56f07efb643d66dde18f40dd35f68fed64fe7fc6c18f9cb78d002a6bb27efcb601acdea15d6ffa2e963678bdc430738389fd51cbb9f130fb172e22afae16fe2d6f770a54c594bb4a51275419ff2328d6b327f8c244d249d173fbe02b24af2c90532a45b5bb0c5763d3c926cad1bfbffed3b4184259f2c6841c391868adc7394d5b7b0404c5a25e4fc8d272d7a0320e4a8f3b9cc037835198af9179d065af6172f962d7db0133d234ec7cb4fad187bced04a370d0a4f466cc218e1e7c39812acabc00e4b8d8a83fe19cb3b9ac6117f782bb13374ae9b3b268b82360e98f5d7c06b45fd173f7b5e1aa23b293953a6e37e68f9549eea5667fb111f11563a1282639a50589ed9d049ba71c21a3d26f3e4e0d48141eb5ec729e203ad677d2708da8cf8f5e720f07a313e5a45de0a461e79f57872325010b701a476d0cd7271910cd4e7df920bd1f3e3f1f8f8d0580d6ddf4c844faf3eb815b2a29e5ef3fd891314fb8ddd8043d216a595b2d33aa81c0efbb0268c74c50394a980f272adb6a59588e0445cb27426c60c43de87aa9ca02f94acccbb5be5d6a4a5132763663e7109ec34e65267f63d8874205c8099eade642612598f6311ac7f2498553002a518f3ebe7f9a60464f2120546ecfd93cf730e2d34ffcab3912c426bd2b4e83e6d893a441444ee906a19a0b9e8eaf4dcae4219b45e7040606fa51f73586a2603713d5a928a03e385e493d3c1c114c6402eeaaf93c9f304d6519fee86a29a32f5ae9659ea0685a438c90d6746bd4afc2332182edbc6f406ef4394c46d369f86beb78ca5d6bcadff0fa477c743793c0dad827e600cdd4259bd695d1ea36174ea3420cf75e46263cdff7a2ba12556e75d15ced0195dbde177560008a6607e477f9921822bee0b4b45446c488edf9cb3b50e41a2c885ecf21bece2e91bedbf601ef3d216e3c15f2f55c7f4ec0808fdea434f23f38171a096cbb1dc3743bd63e2634ee71a95539551a3f0c8f73ac9dcc327d2468da49c94f7f9558818e3ac232930d809aa75d3afb47ac85194281778dbbdb4d31b2081de0e6e582eb9c62cdccb16edbf21771b4c4509b64924dedbbc88294cbf6008b9c8f847893768dd94409cfaad038e99ac1c2b213bd90c1321f0e819d8f0bd7484c1a08244192445c54707dee64f0c443d9c642cfaa16333dee6c1648a510741c15d13e67c64f81ed22c1943e9056cd34a0ea022f2fb7a4414d91048070e146a5ad0540fffb788be74970b5962c0fe665b6c388cebc8e8cb2185b6496ef22b3fb88471da624bd80b807d17f96f58321e2fdced5a88badaeff10468f97c754ee42241c04667b250a64f7953675c85a699dab8ddd1c72191a1dac14d22941110e15d2f11c630fecc06015be8f28ef06b35cf89087ec1d69913092890ca54f87ad3b2ae3810b86bb3859559e7d60e08b95667072b1769843247f51781e8f4f41a0c2d27834927251f4750f03223412198c1ae753398e40e9034136edb40a5ff57b2c80a9ff90ef037f1911470b0b7f785e4b195c0155fe66df6fda26087cf44ba7d038b9080474d85db83a6964678794de3eedbf8d97021906a8a13b36b3b402f40875f21e9240d8e0e561334157ec4379985aa4a847dd939ab18d66038537a6f4dbdbc00caf6981a42fa9f43ff24c102ded61fabc6f2536c0ee6919e7186705130740c94676d6123da854876445163ada06f73cfb707a634e88b29f3d0a326018911b94b72741312560b55a4bad2ff104a9c7f6041bdf86cd48397439af032a2e8a17ad663e3d4626bcc86ee3e51e9ff92c69cce655b258b6e7d457240f2434ee9faeeb5ce18074f4a4fb973164498787f9be3290e336011840fca594e0c700818479e934db73a518e31e53c10e79a7c6a3a79dd48b4179f138d9455b3e684cda914848fd49ccfd928f845b2a2ca18d180a09fe5f12b9334ca65f54878d8ac2d3619c4844aec6fe834bb66e4c9b1440cb6c5f04f3bd1ef7db9d62c3085ae1546364f81308d19c45da87435eff037924b2e5f1b9ee8bb99ec67406617471a48c18562f9fccab8e13a6023e9994a32f5c74b2dd7613521a331747740765f175033cc372c7d9fbc7eb659bb323fd3ba3c3cec77fbe01dfac16af7f309f5e80ea11cfe158c033f39bc480093dc253887a684cfb884ad68a6e9e5bf88398123a190f94ca3e89b0c765f9fab64d5e60809f89e20044476138d56d07daa914ede2b5d952327c1d143810e5bfc4104213fa156b6529b4fca0800781aba1a8b9f01d720c2230b3033429ce4b5dc9ea0ab20d49122f570680ef8ac189f927a334dc5cb20ba08ff95792a297420a87940240a61daf6205ff37e9ce69b8b002c5101b386120e5f663c964665e637a948c1717d2e3530c0ccd1f99d5491cb7585779d26cc93c7288c62e9dcd53605da335465de11ec13ac777228b80d5e91f27e168a17631629d4ecfb978539aa1aa73e7982b54a0ea72de52af0bb89cedd49bc0580244e06237d329fb5178d47d5efff9804b9ccbafe06a3228e8311d40ff733ddc9ce4b98913453197025f7683b7888630d6f22d9246e93cb477a1d43ab19f4933791ebc65f86ec7e2a604cb6b8a77b34708397c6e295a274cdce437d11a6d48a7878ba3498b59ca35743d9acc8a9d2027de3f0656a0561a556fa874937447604630e546ff05b36b44ca8967be17ed7700d6bb92be72d3a2e14450d5968f624b87a4c818406ccc7d5ec1fbf044ef2c5f3d1af7b6638acffe5c8f4d35863ce8ff75d568e68e9bbb684ec7248fb8581cb8786ece16fe27e02e7ddeb478b88ec5b2eb9258c390729d518e96ac07a46c7697247465e119cd2bb05d7f1e56ae30ab4f808efcbc6e2a9376040e96f0924cffcca2db8cdfee971b46b8546ed4146c8183ded50deb5c09cf086aa698478b1d0b2860fd2aa02a1195ebe18d70f6357e5a51e15be88b1aad1f4d5b849993f1a056fb269112bd0497f2e9b9fda414e71d0093dfd71230a53e08681ff23095e0d28fd48d5d8a3c15f32a64da473a8bd1b15850e3bfead66c0b82e42b4848bbdd58fb4b88ee42937e0dfcbf50a7067edfbb974a13b63f8c18cf762209e711abcbb0e7ad305e89b97c42f1f1fbd80876938328eaad3ebb731fecba65faa1c7dabeee4d699f3a5b371ada159a6d3a20771751b14fb0af7d6626dfd3460fe1468f1b372f29fe6641e14690e8433215c9e903b389c4d5d2526bd8c8c850b472d00544f21630ce19dbbfbc33d6d06536ee5c907b2e9388851eaa181134040919c0c606b35b1124c9b9e8296ebd1545a1801b35fe94514edc89445830c5bb84f6a568c5768fae6b6339f68dd18ed02490c38630c073eec9712cf6e6d19dcf064f943b9ed9904f209e4df0e068bc01641f5ed4253f6893f8957dba0c588069c21a3272980ca7d072eae796b183cac89a77bcc9f6fef1917a3b3beede0c001293304da8a9f9c228bfbf4f84fbe9b1c0c8164c89ee186e4f66522d801d005824ca90cc719a43b64a88a3f380c1c32d9220356ec1cb824a2deb3d56e374b6aa8d95366a0723c2e1584588299dff0b781e1cbc43738fbe6d4dc300c4f10f51b2ec0f8e8e7378ff553206f790b9bbbab5c31a334e9db0cb980fc5ff2d4081bce3f23c5c81a5474d11ce139649f779f01a1665e6e6eaef038ce1ccb2ccb7e85fb3abe44f82fe7273fe0872dacd0fd80c9b65970a351fff09b8d76dd5e0c8eb8d9389f20a56ebe7ed3c342a7809d7ccfefc04855674dd487ae9448f40800af6bb8c30e98f3d5ffadffb28266b01e39475cc1dfadf37f8e12605d2bb293d231e58cae49422c26bd6327c55624051f810e5422e8117861a8a7a87beeaaf47bf9516b55949b241a8c053a1e78b192db3c56a0dc8cc1ac76f4621448b878de827da9ce6dc1baf2cb6e923c1e7472bb5d7ddfeb83f2b6a02a5dbc0fa2b96a7c83379375107bdb02da307dc6011d746ddecf47b0b52bb00cd6c75fb78cd707438e0178680e8f118361a80452ef0c36ae14ab2b2a1b211bb1b607a340152eceb56b12275a284dd302398bae6ec5c53daadfe7a6579b8b25ca69fd4733b38973ff49909f59220a715b59cf139f957989412e969afc67a4df0df7410bd18631542f512d6a1c4d8a941540c20a9e6568c36fc1c2c990b874b6e51f05733621a9c6d03992159b533352dad1d1495c257d4d616834c9541e8fa95ca8938200b2b3347cfd78a86bea4797c6c0dc72be513f8c9c852aa3e625427fadaa2fd16335c0a5db2886a9f506a0539ec67aabbfe801e06203e0bb0747b65c3d5ea51b0add4a86b723436821663fa9829fee1ccc70fc2f125781eaf94f40f2ead7e6bbdff78609c9a9605bd4d44d96e604790b3ab82d1a67ab119f303b6b9aece1d71b51a8cea3e5f04b0d28c0868bb7448ee2bc077dcbfc4fbcc94ef6302f3298129dd7b02dbfde93c28536c345ca544b936d4a4907afc03cb062183d303754a718a227b756d06d289543240ca6fb0575f012bdcdcea8190e0cadc717f1f10a18183f3b361ccec3a4a46090f8bbfbb0c1eb1bf7e8be26123285df0773a11dc3a332c552bc0b0d264e1b2e81fe184f70984b8780bec6fd5a19edb9cd9d265acd333678d07bd52e9461a09a08719d4732612b3c384f67e4530ec4a34453a38ab4d47127d11111de19caa8abe6900bd8af654a2b44148f0076416232e90d3f2c6efafa7fda29eb0d0260ba58f62dd96ae0cdf68d0033a816874e4d0c59adc1dc01defe3b908e4eb51098d04cb514c495e3413b94ac2ab7a6b5a8414f5034e757decc8d7925378708bc0c57155e8106572ee8ac086eb99c0d61ae20c9acea2960375746ce788dbed18ac996a61ffa169a9a4958b145aeaebc86c98aa6f86b40e976b6c68e560d45d3f97e0b37f9469d1a85b2a2024f93086388a578986ae08f6aca30354a76a9c83f3730aad71c48980dc8b9cee952a17ed196e5a5e9caf89fb44895a55bb158ce348144f6d3db7d1196f330661fc408eae301cea9ffb4a665c34a403cce8436b62503700fabca94d881fbf28e091a99a09cfb1da2057cc18087658a95d2367a91016b22c4874e64f31fbd9d0edd093142bd8d9c0ccbc562f1374df45afedeadd1c3e449afca30ed3b0045625e9aceaae6cd9e780b7f7eaeb41f513f410678bc47e916a912c413878ae78921c7bf9faf84d89ae8776c50bbaec439d5d83383bb8a58358af7fbf02ce35a2866c034f4416406432c1ecacb3e65310288ffcf51f991b70fd1accd7fa058f9332a03381a0a15173864042b8ad2d381a2199183f054b0e65cd5991839409f370937bee42c8c6a7e0af1c11f2985b5a42796f843b056749a5e6c89d7a73a6352506ded91b802f63e0bdc524b40ec21d5a99926c53131013c52cb0f7223e6e8c683fb9a5350f4971f470b8e9f845e1bcf3560ba70bae1622ec8bcecb60e5aaee4e2066d62953e11d5e7c194851c19c669bae10cef46888fe4598e8964d444407cae6dec0228563aa13275b3e33f6b1f4fb9997caa47dd66420f088ce68c2a5dc561707a121af6ddb99fd5348690d4019fa2f795cbbb0856487b6696d49eb7a4ede7a3ee31b0581000ba4cfce4a555c336bb0d40c48a9e297df49538a8ada13fe920a7df77b58216b4f3174034cc62db49573283900622d03dc17480fa7354b2bbfe88eb90da7c8bef8a0487e49f2091210b6b756f6d5720c0a5dadd975efa5b85a86c9a4a56dc764fc63649431c7c209511699378da0f0609225be749466bf76cbf01f446498d9191d8546fcb88e687165f357cf858faa963b93346fc205f28f97fe067c08911a64c80773afcc76ed2b77da9b53387d8fef4f87adf8f8f93362100c6ad59172cb7ea4df10cf3042a8f9e6210d97815abdfd05c0b53bd334ca1745e9de60aded72e7bf3cf1441b41e6437535e5faecd77ea04276d91edff36ecb457542a3b083ed37906cf88df2e6d9027b620d18f204de51fcad0c5684a11e455bb7d01e1a5102fc7e500d136cd32bbd1ac2939ccddc081e7427aacd661f6b0a8eaef88e95469bbfbecaf2829867ee3cda7bcf66c2cf063b64063b75871e3af563fcff46b5f0c6001f4b9b4f5e650bfefe3962b6176ad281d1bd71c65c2bfcfd8907f68a129b20ec90af789c51ad42edc8c03d5dd8b4f3f91c8e5cf66949e50fee42865c3886ca41acdd9db7defa295a7627859ae544d0762a294ca3ea93e3ba590f73d69a6e66041ca11cdc0d2ca73aa6cfe932d9e039ba78103f97412de38724ac042aa4ed050f08a7bc77bf4b00e26d49cc2cd5e7bc91fd722c44f0b2983417ef0c7106180a3e323a4e47926282c4ab5d7d2ba2a2d3aa5602bbc252be1c4ace1bd83b9b134b4205c958b1eac302d26ef575fc00f4c2386d7a13f6428414082721fe3fa4412d99719b35fafde689325e2e92a9b63b87068b40ec7257d8ce9281711017e74d40b39cf3d63ff93ed77f501c62aabcef44af415f9a271ab29a9100da74a70c760203f2e6f64cf5bd42e84a9ff08bf4a71168aa3edbf627f1d2623e71e735a538b56d920e71a277f61506409de1bf9f2cf2c6f0f7fca179b23d6c555167014015914fd9fd53b9decc6513a2cbb655d5a7daa0c1da73cc100009dc247fd1415a3d0052223e4d46d0ce00682906fb4ac6bea7f0d0eda2dd5a12ce0cc46a8ecd60b27f5b4636d52d04a752dd87401fb23dc4513dfe9ec39151e70eecfee9ba4732039212565ef99b41e55434a43af0142a5f9ae1e651d988a1ce192c76d565a52495a5cc56a9e8f0d118e3679a37bf322712c2f4a2774a539adecc7a0335239b2102d6ab81ba7c4f41cd6ee0d17471a4875510a2c74e1a9498824cc30cfd268f44e072b617d9323d47402b52c00e9206874cb56b68d725c3619af28f042071bbb68c4ab180c582f3367fd9072d4a1326c671b011c1047e537ba55c85d0ed2a2b3854a2d76618314a17db763a403dc5114b5c0fcf9a3902ba433e455908bd60ebe24cfe928e517ee7399625f457b3a990a16a0f08d46658ceee86f568d37357cb556f6506a58c7ae3b958d1f141f25bc15633249419aa6545fbf98ec8a6b4286fbad7a53174762875e79d1ca8c0d8a8016af580a7388b9288a125d91a81e2d3a526c597f6d438e561cc5b17d4428baf8eb1bebd066bc54eb66d36c1269310c7e058e2608ce9dc4c106f51d2006a5981d413d8abc7f6c5d116147632b07a7f14036dc01d6664581bca7eb49cb0aa9b2d78fb0782e73900c36607ce87910e3fa34dd9df4c04da06f09c1417e83105cb8290794028cdd8693509774854fab63786b0aceb08448ffce0fc566506ad0e5a15bbe74434fb1ad1000669c1f6cbc4de1d8a30a0efefc2cbfba70d0e9bb4933f6c5fe1b75209636ccf2c6a6fe287c1e468e82c23aea8e6c62337c01e6724a22861240ed004c1e29e295214b787e57f82a3e577f38432053db6a646df86d2836e635633b505e3779c650317bb758e16d7a08856489d44c795f1225bd69a0cd0d3b969371a39dcf6b3ce64c1ca7f8a0baeabc76ee8b8553762b5f446b476b6f080f03d4dfcec72f57dc1a7b9f079ece32e8902b96210459a974abddf74aac2593cd76a1b1dcac5c86776d1220a1c4619620824197b49cfb6cc2d33d9b306fae6ad28ae99b3522540598a3d8d03a7967c49db5f4887cbcdd1ac16b79475d4103df870400487f560ba9349348d5433a3bbc714e61f4a7c40c051c14bed0368b9557e3d942e001b72bc1191f1044b03500f8e5327ea0c7a90a06a052c8a565b7745d1f82126b6a473fc7b60a28856f89c2594f95334d249482cfa7e6445fcae84b5c668ae1be0b2b9db8b6df774b7b971540d48fece81618dd61cc9fb9e9ea72e1d0862a2fbc06d176c252bc159d4e1bfd958ef77cff60f4c191066c6b62d3818581a38e3b5f1ac86120cbddba9f11d23c471959901345507ce74b49de31e3576f9d97f0ba594be03badc84baaf6c27ca16b1cc37025ca8adacad15bd85559bd3fb3b2fe9828ebf7aa86a1137ea2c9670284d9eaf64c3851e527dababa37518b6c3f11a5c0ccf6d0295bd86d94752ad2e468fd0dc48cbec36e5a72dc5c78fa72665b1ca46b888a9a46cba239699817e8ed9ffbac659bf9d8b5deab491a4c49acec84a94639c070a1d4b9d11282a8f0f0a1022442118cb658189ff7b57cf57313bae767dd7fe66553cf8ac7f3d7c9bb008cab4c5b123b53932bc6775c001cd7e33738a83464d7edf13a6d469bf9316352da9891f9d9bb12c47bd1b786f589034c6984df2b2f969b17a4a3777ec4a3312ee6db0c4ef5e28e11bde084a8587ba97b5a0786ef364baa7d0a5f71734a4bc87862fdd10852ce34d0c306926a738513fc57f21cbd68c59584f8204f82f8724dd135044d16fd780f4fcb1c32f40bb2d0e2b39e01297e6a3a4f814f76f2285fb6553717cc2ec4a7bf4f96a0dc02728b89953cb9985e9072901a920250e111609bcc448c2692b076c473a9616a09c0530ca2d3ff7db5b777a0294a792079f702e859e614cefb72b0b8c1d1b6380c9bcddb8377f713dfd2c03f16ccc1be813f564dcd6c32b7290c98d158abfb5f4ee9e83cdd15aa6e8157b5ee114b8eab63d3ab2a88c2b0435555dca6fe5ccad8744c82881902d1c3ef725665d5598e53306d783c5247078549d88289c31856ea85351b7ff893ff263d37d3a5d31cff0e576db73039b5e182550d9edfc39ba8b740792d632841668edcea451e48bd47ee774b0052238d576008c4af520ece0716ebd369e97ed32a00fd60a765a7523e0fb094f5e3f270acbea014c16fc442cca3c3e9589ede5e358612c63de6cd2c4e9a53953981d38d34015588d03045c8321ecc36e2f1ff7a8393d8a48b8093cac8a4f7a1a1fb946dda3902397476aea3ae1487893668843439453e56721b7370cd96217d68fe52076371606ce5137e6c6d17d23d39d3c3e4522090a6ce4a98d67f340964a5bd4973edd62c089c0f8590a7d579788157d93296c6c3b9bf9081c554612c051c8834943c625dad88529aaa16df80df5f2dd5bbe0a4c6cc85ae6fd4de1edc854320ed7aa3a4324482fbb74782888ad52a1baeb2f11ec2ad67040fff6a622e9d05d48e9ecb87d2c04ab903b6e8824e2df3bf6e58e24bd20fa8f2e60ad92853d49aeac39d6ff82720f5674314a70bcc4ea1bffe491162a4d0427d8ed2ef1a9843e14d71d1c202cf05be23dc8e8d8423e6c0f7414eaf7e6a29e0a086ba6807df0a829c9cbd1c7125bbba31eb930c3532aff3bb66fe2e7866d37903e76cc04d6090ad8d348b56799237c2f760063bb4b013a377841fc98a5d98a830d697005e625faf16df3a29809a4ab3e5b68963155117019b870e71d73b2e3a01f921b2c940ea29480f1b8209263ce19ed9c5aaf3d99e00ccbfe2841896bc3f01449da1440b679307ce663871b9605af7b0dc9485e0bc4a94884edbd8c775233ed9626a8b3649809dc3f0e8cc278e697af7f29f576a82c806c4985a2326c0d6e873b2c9289be9cde72a32c3227bbe791eaa6e16019921aee34f9b01ef981d7761758f255930e443705c895a2cbd3dadfb695bcd595a492e812348b4febdc65c5e81a8f1ccbbd32eb77846e6d911b3990f5c638ca0e7985f9d024c59bee015b6bdc53837895781eed849e212eaafa26b9bc27a826879bd15ba187107458e1b7fc7b64a881e43754f75d9562216da41a5ebd27fb741ffb3d990624b6884eacd7df5aadc844ef0a785521f00c8788c119821dc19ff7c45f0c61d525f01772f34cf393a8e50cbae4b304811c272c0efe046c338aebe0424b32f51fc02aa85fb938953173a2c6e22ee013e8e89547bc941c788368367c86e99a6e3c561bdb5c5dfad58027318e0137c28f397f0334ff6e6282e63cb5f72aaea73e57d75ebfd1f387065350ef290045a21b353b5a29792032306a018f71e593f60a6c67c9f6323f83682682f3125cd2cb73e17de0d17037682c3e7de56eab28ccb5962ebaa3c51694a0079f5f392cdd038b92ce517f01fcddbe4931e7ee0cb31da2cde85dac1d6d89ce290ba2bd98009f9221dc95fc71f37d43b489ebf55b78780fa1d01a9b6bbce1321fc5c6227271b1a24b012228c97d19810995d967a14524451febe735970366055543e7c4f8db46e58c00b3e688364d785438e2abe8cb78d65054e404e566274fad498c38cf70ea3acdd5e8774f5cd5caf7b5ae94a198d52b9fd166ac858cd4b5b691616cf2bdf21177cdd84a966ee386534f1a0db7399498cb195977f9c3b629c8f65c898cc26514107b23fc49994addad20ce9340ad874562ddab75aeb54c4cc53a44b9bde9e6b408eaa59c89d28de44b34281da99b1e9ee4556fe8f2cb5194ca025b3ba4200890e285700b036b66cf6bef200536a9d64d2a8a0a87f7da7aab8299dc9f76c4d291ff18394a0dd7f721bf4199413a89011f41fa2ccafd2689b82f412d6dc19b7d791d0603bdb7e7957ae268eae6f013d283850757a3a3d1de1d15012b6d501a1dc7f98a4d34ee33c3065107f6c604fc9ae7a066338cee926569b9a60e01feaea3c7d534297cb0fd2048f917a0b0342993fa01a560a992068ab840fd77be862ee77ca6d6e88a1e1d868c58d22c2e659f71ec2a1819ae247deb1fc1d62dc40f51349cbb1d606b107046223becc7b06496b85f96173f30bee4594952fcdd590da1c434cae16b960065bf75d8c21b8015fd73be3204ffbe23de1f3d64912c45eec30681b73309e7a6c7def26a3e4867845f37eebdb27147b35d6fff98318a6fec41922f2878927bc9c15cfe6dd003d2687780118977116c2f2c437e5a30071d5cb4c4ed144875a03e84ce341bdba669588baed0d476cd388945f7df6bb7c7a3e05f7feb63500929d814f02bbdd9eb69c2c83b8d1c6677992c0fa178e5b7823a3953d7625077f3e321a351aa55c794bb415e0b498fc14b2048382adf9adbcc2e47ffb2c047864b3dc08c55f5a1bcd0b89d1dc23a44d177a2798508bdc85d6b9094aeb17a3ce56c1cc7a6a11d91b8bab35bd65d85de3a15914105fa4e07162fb812bf196e6c1f37094ac7370365bb3780ffc6bc15ee1c86971bc4061fcbb4d4d6d6ed9845ebecb3356c3da154d4c1ceba865596e50a11df5e7013b0a0562f3ebfc790ebf131a4e4c05f945efb9c7aba5dd1c37a3abeded24ed9d15691c8bab9da24bc9fb98156af2c861c785feae1fecf0e9c6b388904932caed23e61e35b3bdb2b8ee4abe714b2dca7079fd99bc89e62a369f6c088a3001fd2a7ec3170c76c3a858d4c21006bb938e36a53e97190bdb3ad64958d90b89f1f9a7565519875396bd934ee071cbc7060fc72c1dbd2a05a93824c0ce35038ae21d14a8e3f14c7b2610a020ac6ee4d12c8533b74f1de5409ddced095429126c9897b304c2ebbddae9b50f1b38e3a72ff2b1501108f627c7ccca4763a04be06da8c901e20834d41f9772b71d4df8d84474a89d93d62ed70812feeff0d8b489792270ddb06f8aacf942e520cdd5bc4364430add5fcad962766bd7a7b3f05c59bab90065624ed1509b2e92e4e8bae5f7735b373937a4d54e6d55c3feddc5224cbf2d41fbd332cdeea6024ab99812ae1c3087ba6b8026492cfa7221359e52a166dbb3b4738c37e8ad8fa87be90e9a2c428df22c3f54db4b679a94ba1845a28c4e2bc4b4faceaab123b2622dac0237eb45066a837900ea178af3d10ea1948dbe7533b9fd5dbb0830ee4f8f7c2dec2b3fc89bc02e7003f97e02e61db530d32131ebdaaf0d9bd9ad2f5d4ef2c222c677dc27e61d3eb403e81da456c7b3a6a5a32ab7301aeb2e770b735ed7411ff5f9ed3535859263bfe46a08802f40556700048bb87ee509c5fd5a327d232c0200ea3e07231e67645b9145686d316d178b74aa225d740ff611e76992ff209136ef1f0f8f115db91748d3b93306a6c70c31825e101b6b885947bc15b7678a4fd8d52c6688387b8b691e4fcc0ba114f9c8189227f32ad05b7ed98b63efb875c2c50c94524211b8ea000b539bab91f1bcde7e5dc2e3d795591d82322b2f18ec6393a54ec330f584e9a36d4eb4e6bfc38cbdf8c90d71f1660fc2364fac1f92af9222202a93cdde2244a1a234e5f3d68b6a91c808d3de44fe07a62c3882e4b9b475c74155e825c278efbcf54e3698e802aaaa29930a91854301096dd9dc64479775d90aa4f25f5e95bd8604ca178eee5dea3cfc9c66f86647c60225b8c7deb412de7e8fc89a3e1a3c0267fd3040a0f97cb2d7e608e13f5de778f9d6dcc1e47d759013f8652e911937eff10e5ba60e8d703dc95f3e04ad69decadbb2653255cb762edb6d6cc96d6af57def08363dab1f8e46e1f30cb812c9dce582b2947f6e7d6f601f5e1739267088440d8e0c3d5ba012f3e32792d2fe34af6efbbc26b3318d71c4a1e0cad68f68f9cff3ceed5f52aeb68b72d565286adb33c012a9499044a7ca50afc57cb2bdd702d5bd487630d242770eb117663ac17bc6e15b2d30d899d9e590ab65c0340b920897ec01027ea55f554763e78459f34f413e2d90bfbea862a29ed797c0ba89ba44facb798ec82ac430b47cb31511e14c277e629c243b47005123f064c77c5b9ca97b0c0ec369e5a9f722d01e982936172e3b70536aaa9aa292fc9c6958865713e5c143224dead6814e0ce890209e90c02d8cfdddb90575a3fb01556875644f7d0d1f9512a5b0cfea174cbcb95934b5ddb5e8c01daf753087a55e1c9a9ff5bfd6d0381465254ede679675f4ece1a3fd94f251f5b9a3ba44cf12bf3f8e2925e5f158e2d50ff4601324906dc991e1ab04919d7fc8e71ce5058a24916da08385d355bfdb68484c49e89aafbba7f90a93b956c6dd035ecafb4e36b9ebda1a518bb66b4b5effdd80a0d50004f04bab272b9442f3d71a5e0c867f01153da82eaff3ce89c6f3325911adfbacace32d6ae4126c55362ecebf3223d625492a5c737608d68cb0579ca173d5f4e6e288fe92a233749ff74edc95d757597238ed4b71519c802c6b79874908afd7c44f1b1130a7ae0ceef4f169589461b8ae71666a4f03da58e1137c72af2a7b9aee2aa0435fe5eff2b4b8c8eca2f30940631955097d693b77de41e933f04202d682e3d55d0628f5653f9544184529b98f962b5081451d99b99aae03017a69411530b1a942a87612afaa0983a626153fac2ba0c4b36bca89ddde1f61cc0af06f525bbb9756b61400880b06e319435ef50e9657c0c04e6eb8cfe10142b0c0e6bdf652750798b91af811bfb81263601b0cbe5ab2d693c4972e06c63a6d044b83c8b706dcf3d08b6a026c702aabe695d61168857485acc1995d9c2705313d61b3ca7e04add8ad1dbe21f5ed353b993ff4aaf93e3e54db06404de3f4fdc1056a3a2e5a9a5c12272c8d79a22c228e0203e6a3fe7c8c781a4b7c029ffff1141d8b4b3805217faf39ca61d38fa4ad079e992b2be816b1d7fd29cb6305175986ff92d0f9ae4034fbac8f387c1567af6a52bc8878e046a0a385451ae3ed0bf8de4f1cd46901de1927e5b9882bd0bd70f52044a2f0e00e4a0a14149d5b208eb91e5afa376db454d78b4686f1b44393ae7dcd9f6c3e6b009522fcc60c900d28d388e30cf57758b30f9e69e7e0c08bc4b861daec8964362ccd5210b469f82c1dfd570d698293f0268b3fd0735f41f493e37f9f1329db92d996b840d4d6831ace4bd1df1967fee0160b6e2cf89eb4d25b4db1aff762d1eb5fe54029a48e14f39e7b751d27366290173c2fde1e828c8248e8fae67295260a7c34e2ca11f155abed76d005c881a91a5e3fc99df2a1f835c0c5226badbd696df37af08a093030fcd7c3b9ead2464e4040972accf5e5bc79061c7793d9323c93cb4fdc9f2fb88aad9a00a953382cdf74f8a862af5482928ebec27dab888c6e8973acc908f487f945a8f66e7894175fcf0537ed8b951feed09ca6ef1d6cae12f1c0b65482b291309bc0525d6592dd64c5f85fb098d663fad3f69e28e809fd5a0cbab112a1090d9c300c48d910de8c08cde5d79e25d667f0aeaaa305baa6035aff3c752a7fc98f2b4a67401b2ac02dc43e77d1c7f4ff0c0333979c10ce53cfe9c2a6c6f69ed8639754382b6de0f649a24db48c7b8e01b96698586b0f31022707f6d90dcffccda6b8f1becf2495b212c003ea8d493079483fd89257ec3726a7ef1e8f8dd85854c835a89f63025920c416e6e5f7ab1d32c10b0a9f9a5e6eb0b09a04e03b5971a937d57bf59f043e2b5f8eb5ec910cacb9dee637b3c7bd946867647ba07c37ebc1b27caf15521aaf7d46b0c0a633bd072ce012632640f083ca1a9db1bd6d28a953a5ec0aeb7b966d921c6e74a557595bcb2858d7f37f1928b5f9cc85bef1602beae17c09ad01c83adb08f667396521792ffafdbca15b08fe4c79db9ec33392e6e4a8644da223ac97886491c03fe3bdb67431c5ff820dfe5482c87596d6e6361f954a4fc02762b9ad6a2da80341282a81b3a7826183a92840444d648c2b16ac43094c0db08ecb46c4860090e3da89557a658865836c5687c18aa7fc44617e4af0b528c05dc37bf3e2e5262d54f9c0bee2212508107c38f5b8876029131a6dffed0099dd6bc7119bbd937784f3dd74795dfec887af1fbef247e3e214bd8c942d5fb375f06b9678589bf99fd6af8466985dd57e089cd7d6328fe8434a584c6e70e916507c6ed4c403b095e866acdd3f85c542d919612dbe329c037f9ed107e1fe3fb975c2eb04a6bc350c672f8cd775b9d9237fb4a3832b89ecff4924e8b57c9d51e96d5e05ac8071aa6761f1c7d4c94990fbd509a1345fffb2ae2144b9892257863e1483d91afa0c8c843c82e5000f5f32a26ce9c8a06056bf9330c86952b6d942d059847db68353fb6d3e22f1174d6605a7a22f92ce9f517721353782e9502eabef9a5aba9fef76485e1733cfd1f59e807d4576daf11645fc963991bb210d409cdb3a555752342836a4761257855087b28147b648116dcf985151b1c2c68ac869e180de34e7492b93aa94f26e8388e192bf9f794da437e57f3e1f5f9d2015b88f40c79bc63097efe64ec5c4d1d56081aaca3b56d671fbc8d3a97efc16448fb0246bfee9bab03902786f758ae989f7e2cbb104ab3725cb42fe77d3e9f500e4c6601be50f3bb5a6acdb8abd9daad406e43aae2e919c22eb506ba22a0a82cf46200bd391b99efc6f169962beebcf13d206034c8a070d9fa6174478e4cd56005d2e0bfa36bcf19ec60a66cb272531965a9de0c88396a3f542d2e411f08e7e07f6d0c61abbfb042f6e774fb050f3d3d0d311498f9df364d9476367a9f0967b58b4f5cbb46c0556678f105f3a7bdb63fb4f2d7f3cbcc7340ecc4e3bcbc7fc96904b02c4e69a6df458f94bd26a365d48dd22571e9f44f013e30a3b99b0ad782da74099a9ebf7781264167d4c2d5b99975d0161af71b1e663f174021758bee44bb0115513234d6061416ee66ea863e75662a665227bfa3088c53fe60fe1da0c76f30c6a224610d66095e419c4d6b6af0aa87c6e87266d555221f81761dca8c4b55c81ac92843a6d058ac9db4139538c00d5ad077ed938c40c099d8213adda26fc7c3eeb2e2e9d5337a9b883d52a63f2c6ba5ec033870922e8094751fb953c92227e7a8520f5e633ee565e2f1c069d63b94006995fd2fe2317d5de9941d8d9930a59ef5343abcef47610ea7de438812e63da575f8ea498491d95ebe37a039d6d0afa8e6efecd12b6076220de30a7552d672fa2a7fdaee0c9a7ccfc0bc151aa352fe4595e19234ae138feecdcb231d13750d49ab761a34fb540766d5baa3d1db48102d4d93b408a9a4707e71fcb24068ac293b93bb854537b19b315c894dbc5a39ff38aef9cdf560c4e181b13ec645d54f3ce2ba4d7377df892243a4520148678f38ceeec774266f0f2178bdc69248725cc1a14d8979046d3929aeec779ba8a97c40bcb9afbcb015b5f1b2d8e8392af388d56f35c200c5b03283bbd449aefbc1f6659b1809517047d3b32574184f8ac072d3f68db188bec88ba77899dd31468053ef5ad476cbf5ef15bc3371fae20c1d799f8b774983827daf74a5691609135ae40a8bf1e2fb005dd5a2809bb7e89188392bd32add1feb6d96bd9b0e95b90ec7ed923eb5c92fe359c9f96fdb3c359a4429728cb8bc0cd9522062a2f4ceb0dc0b639d92a44112141ff8530a55880c0e076f3bd1e7e4f85e95e0895c17b52df9afbbb5e38e8e14322373a67d59da0d37bd20214ac27861b0e565596a1c96ef184038b1fec14ce6e7d88dcf548cb3341ff70593217b7f281bed9b515ad1b7caf9bcb1684bcb6eda5813b467512a05f2cc9a6e64ba7e2e44cd2843c4b826b92c41f83892fe93046b81331962fe516286f4ca3c12ef615e79e1c9fe995a00b70dfc1a40d27a01acb0c3378546cd03fd8479d5d077f6a60aa2c7b80e0e3a994529a033a838c090670750d3f967a0914202099aea301326f99b4110029f594a80996d9977a3dcea4fbbae1de88a35c4ce247d89fd4bd1c266504c4e967f23b7d2e7d201132dde32da0921922db019be0defddf917ea5a143c23b345457635d95879f5372c4dfba5f21f11341e0877333e5c97230f7ed8686ec0da5e7d01270db49bb972b23780652d499a7c8ca399467e0d5dfdfedd3566c548906598e0c0fa07b9bdad64a89ec4c65af52def902f9f326f4a290c430fd16b5629aa56b3ad18f962d795310ccfab359544c72dba6ceefc8fee45a7854b2d01907d2300a8cbeabc52d91060606b58cc62391888d45d8ae7f5fbd31280c8e08443bc8680d58743c82f91b33d26a21db592b040b4fafda6d6aaab3aa290da98b6bc79c6009dc12985bcd240dfb12e891cfe3436f93d73ffcd4b645a5c30e59e9b8248dba6f9a0e42a1689a944422c01dad8bf37bb81954c956129527a3d7340294b75942822d9a77f62b05e7e420d4f9ea242a555b4f5a2b752e455de494d31d118c42558a794af4299b2a9755501fa25d342265a0fb3fd4b3a968db7fba9895861ec8b3fc203a04d537d2c1e6c76cc33a28e6361d53b243b66c129005074b7b9b821c9da30bf11c86416c2b95a24f9e79e4024fa6df340788fd28ba69655c886ad907cfd7be2bdf244f2c906d44b7dbc9e1a2f85297a6a5a7d5c33414ff8ec61e4a1db2b31139976984cb05552c990ed64b446ac13bea3c7f0e2f66a3e588ccd813c24acc8120b98ba6a2453dc4c3a1a3abf13becae51c676327f74dc2a3357796cbfd29dce1df0a9bf45d5d46ec64fb8d947d6a78b598de8743ef512dd7a1062fb108b5e49393ebc6ca5c16138a639ef1f13fefdcb6f3948902ba5b948cdc9b732d9d985a4dfbc1343f9743995a1af731884b4a6ca27196bb1d1dab1d20314775fe4a6c385967e60e31389e67f50725f1d6e03154ebc8a88e1d412bfafed9fda8dd4941f017b022d9c93b28fbc964c09b6682cedbc4e7f2f284396db3d2638ea0842f08bd19fa24b4840dddf6ca7b4e8847c3cadd32c36fd7bd80087202b98e366ac20c3d8d42af6fdd3f6ec3267f815819751949075a6a02e879661a5f3e232ad4cb2c89788035d5a78b84877f9c609339e5b44f06d57a38736199aafd5601ed0642b30441ebb91af81308f0a9ca368a34b2f42b148ef4e4a7a7820f1db61edb2cc31a96526f9d102af13542c5a98d0afa8936aa8b43dceb9d6008c3bc9d15c91c161fba4dd520987eb6bd6f77d8299c3e557ef995ebaf114ff37096053fc23240a0b9c9d053f55ecb085fe19ee9c3230a27ffed5ecca5924f54d960cd99c04f86b2c01a7625fc6c1dfa42ef578efff26ef8a4b59cf70affd10fde484139b95b23ecce74af01f1c9164fe950dd8c47c3b9de4493fdefececdad8992806fcef735d46bd3a1fc32ba03a0b1c2783ce31e9a117a98e74d0e46c007c707b46e78122567cb54eeede1d1007eae2ea834894122d97f862f63e372272a3ded41a56c183837193d55f8638ec7ddfc4a3b1c10498d1f2239b054e04bc1e0378fba991fcdef3d427d24adedabbe5d13bae881e101cf821b3c3130df3655244c043f7300f7a7d5932af823c8ec612f34c727ebbb6d014ba6c3cbd661a137992d493f9cd04635bca0cb80598d20157d3dfd19e4b2e802c00f8a8d651dd828a2ff4392e87f546d7f2474afddded184132124b0e96956967b98d03807f8076e7c93bff8872eaccccda8078ffe18a583d9dcb735548d6cf0f5bbe50c8daf716f07e5ca415bdd383f566d027b284f8451932121be03ae8db81f681b24b2ac7ed9679ac34dffaf355f3053db42469d76e21696da7a677075054e2be17f5f11ad58b70bc423df820b89ca7fc115dfeb5ce61737af84a89c11e6ce060ee508639d81bc169aed534d8990ff63d42b38d700892a26938cf4e6d2ed6c68a42bed010ce25205995e84adfe52e99688d182fe9d9aa1515bb41cea2dbf5d27b9ddb12fca362f4347be5479fdc4c11e741443879665f74f4f8b33aa24b8a6e8fbb175d7036475d5845ae1355f7caf8172e9ce59d53d1d47c978806f9bfef3f9954636f0c3f38ee9f1bc9e359b1b8f2b5b2f0fdc2ff7f81d489ca38a1610ae669a5fe2763e6073729f4a15d97851cd173fbcf8593887e8e5ca803613fb06878b88388e11ce53548338c338dfb3b12860fd15139dac5c19277f4e6a4c344e677c2bc8b9de910c7ef62cc8215721c8707476155f8b62bc89935655a8ee17a6e2e5023597189e192db5ab42116982d8ca093798952cc9ab80f67ac4036434585a598b5c917156bf3d6ed02f5858382e09755aaefd9582de6718c3c3e785cafdac8ba800a71b7dec413baecbb6977918a12085049921a2626437a18ebd8f105b265acffa0191a539c17be2843b503726cd740e77b08eee020e239cf406e375ebc3ee2a6590109d1cd66566c8291e93d14e8ff2189e6ef87cee6324a5df6851d3a50839266fbe8d0ede7a3f63d7524934299af2e3f4821e12062385ccc146ecca064ba6e5913ca7114fa74c2faab84910c31f8ac94817e7f57532f475b08edc37123125a8dca1bed6f1dabda42a59c2e765e9ec03291a14e05640d643c1974c0bbb460a8b75fc33baae2dfea1dbc6b96e68b3bf71182585d18c7a491a0ad297c231302a52fc3911b5e4c1c68df47bf49c6f41ec1f408824e53affbbf79b1f26c2cd5ed3b5a34652a1e116895d8a30f0825deb4a86ef101565b37c6163a997861afd921e2237478014b1110a0195a3a4e66bf2115e7af2cb203d1dc3414d39ccb7de8537ede19acfb9fe55d4cdabb51db8e6baaef38d314eb675068b389009fd55dc72b93f520968649b43aab727025bc626a611020d7e548d35108e1a0848b6c2a4b5655afd281710e7d532dddfb3874b32ab729b40d47a4d1906c08d9bb88db405ac24e613f6e86412a7ba9f9bd312238e1f18e0acd9b09decfe461d4dee8a9754e8b347c0c9fdf257226dbf8a9d79b68fc1c30acfb84b60d19c80da7e06ab2d7920436a86dfdf0055cd08af1fc85312b044cb464a55ed78c055fdc4095686b4a4bbc759e03ddc1af2a199f97d712cde1ac74c885e3ad923971430a6b8619a34c7823a02e76a13016ad56e34c36b584f9262058080fce0d45201807df3cec8bed2515c4ef18f1e6c3c647b1cfc34a918b8c4e8d539494b24edb1ab3ea600ba74026037d64a9535e31bc90c56c038bd34c2f63347ac674321fbc66b9f50546e3652a6765472d7d582404ac5e2c16bca9270ca1d3e9946b5a0b74cf43076c1c66a1c272587394ae3e43cd37c2caf136307e17243cd3726b551dc257a997239cbf13002b73c777a4bd9f6f6e6dae289cf597033c966a9b1a3bedbc3f5022e2c8cbeb5fa8398db6f8412db77d8c72c321e0161864c77c5e32f7306b63623e7faf0370f08cce777f6d28d7a8020057a065f46cfdd0e7797b52ed249782d73df85e7d418a317a0a3cfa9e0462550912ac9740c0fb96d6c014df75e7682b99d18306b99df76ac13fd564bc44b9bf9f12ee9385278621906d24dbb3d3155512b4bc88accdb934ea16339c9178a918c0ce6ef76eda4745e2c85bf4d956450f875f826e40dd7209048cfdf1f0f638796e34a5886787baa7f81c928e7e536d99ac72207f25e5b123727d72830342d84d75ebaa2c2041bb589f89a9aca455c1b2c5d1a25a9cc58bd5ca8179ff0f93e80b9121b924ce2bfb38448a78a0599907dbe66d9b72fd26948567dff7623afef071ce48160e96d2dff3943e7915e44c25dcf03a99043c1dcfb4504e4aea92a76cd476ca65abf88c449e0ac60ca07e688cf3292467d55abc069aa9acc999c62918ab2c9271b560351bca961a771e9acce4362ed4c6888ea4a34bd5f6e1f185745576e89177395654f7b8c5a802443c9e1a8b5d2440bd27e553bbf5841c94fde1c88e0e8a3c3696a6c731aea7d4bcf843f158f5dd815b95ed16e09173f532163b483b67e0614a307f0d1ac066769363dc6bef22b734b10da7c75e57df5531f9a41fadee4966068c3da240deff183d2aec5b8081bbe7bc15e7560fd69c6d481207e03ba2ecd53f51130caeeac97352807af470fb3eb3843ac4192c3fbcbbb1df04cc80359b510038f9954c0cd28d1d12a23666b3bff8b58e5027e8eb2cfae1782b8e59c10da2e7574ad2bd239696135a5aee47a773f19f486777a32a46d983e13a723692e9292caac1e356a1da0833f21a52f22516fcd61ff68c672d6dd958a8cf771effc5e4b400179dc21f6afc3c1aa99f6b31ebb2761720965af3c77431731f6c459f13dc706d6bf4dec6194f00289d330a4e18c98929245fee93cdb48662c6cdf6ece9698ed437def1aeae41b9f0d02f3700feefcec7d8720427934e1de1e4f8e98d794ab6fddecc36ed398ee267642c2eabf3644307f6d641d4afc65825cc546045f1262981a5e5302be0807dfc06846dbf051c50a6bedae2488a6f46439ebc1024e5b4a26e265d28fca37f3560454eaca678935907c20998027e06eb6bc025f2cc2a961633a9739bc6a6f3d11acf62ab0545b6c8553cc02d711a38ab93363db302016b3b7790194c81b532aa85914070b8e4c844df95fc52ff14ffd1a40102fca52c76d38ddeb83e3de04b37d3c7657241b5160990ae3a6a4b51094804950d5ba72fe4558fc66b75986d338f22d26d8feea02fcb56c4b96bd6994bf04df5d44f358ae4569f34af64bb5b112f7af3332bacff4495a571ce1380397047065b2847b1c66e86f5cd3a0d6e89804130df3da576079cdf55f80d1cce543ceaa739f481e8d6153a6b21c6d5d05e3db9545fb1f355b201163d409011b7a824c64e56d69484dacce7466fbc4bde23861ddfa85decb88ab2795935a62cd1698122ee61ef2fe714437f655333fbdaa96a518cb7a39d7fcfce67feb23e5f35b70b1db0505ecdf318d9091065686415ca60a6488ae2578ff53ce5856476b3df8aed66779c56c92725319d25b7504655ca3acd085005398f7e4b9e1ab2d1b6dbddca3931de00313daa5404f45d3cafb2051b84841276b6eecbc9d34540109594ff135268e2ed5b4d1e9c563d9e20acf56ea62eb652bce9e698bd5af2e59a470be873709e701930506b0af6f0298575685c7438d3030659440f12b45f816d50783d8df6ab62c3d20c0b03c4423145c4f715c3471d3170a2b26f05d1b7572ca068e46486a10a0c2dfbb12e8ef6a2401c454fe1257e3462dce714d665aab57f1681e0575e96a83dd83aa64e5537748c5228ed44e22f205e973a09dc66a690d0958c765a053b7f9a777b93ff86c6a175d639da816cfb3e2cb1586c8f3af696ca40a0ab0aada23061f841f434b28c21bf6307f0eae41e1216a7f023a75033fb1b9f69c9e443b6e7339958f3a15c2447b6a1c1afbca110cf90adcbaff58ebb31419eb81fe2f2a6e3cb1f80842b391d8dbd3a5f85df8ff82a5cf014039caa3a88eee269f81cce50dbf44e5c90d4ee65dbedea34c933d203ad60bbc44c175c7a6a7537f0928fec575fb27f6c6424b03e6cab8311df3eec985827a1144eb4064199254f9e0942d0e4eac8375398a6c02c29b36355f463694be5c1ea32220d072632cee47672cff28280b9bd3209b7d83ce5b27faf5923cca62f5839acf380e92371249d0ab9846d26ee38b13afcf32faeb28e23da4f5e6e6e66fceaf9785feefd8fccdd9ef53237b68553f830a10e715af0cce4fcfbe8c0d2adee8d4665661fff71786a50b5b27c171b768b53589ab08d521cb0119a0822eb3a246222653180aebeb03f1d92577977ee9f43eccebbc1b19a29b4f8aa37e9b4b92905de570e653141c708ca56a5019be1321ae3494e5e701bae6891bf757a570a93be19691a55040e4a9e4b561b85f5a98601dd2b5c94398ca192ef61ca123f5784988caf90ca4c8504f2818268f226b79a6983bc8bece8a69f3ec0b6086a42dc7526f417d4691076e9032d84db56852b806e6c9afc6dc4ffe47ccab003886892a3244205feba2a6881870d49aec5bb13671944424e7ace3862c7f861872c7ba383bb0188e29eb3e7683421879b447468e1053563c5e148ee6457d018b89c2eee1bb5445f38c99cee0e05d68ae0b1922073597b1f1fe67d5a7a2788aff32354f5789b3b73e487d6aa6b2fb1e97b5376cbd17e916069c58e6c65e33a39f10cbc345f57e73228e0ce39f3594fd7ff8aa6f78b6d3515d69d32e297aabc715b6a94a7fd27d0a4a41057a4b91bdeb54c4444af9bbc02acaa1b81789896947401d1ee25673077b5288b7a9940e682f9778fe599f10b760d0ba2b69e4fbd50b5d9be130ddf39d711584d192312a9845eafce0a70b773a7334093fafe544591b2a3c7d3f84331d761f803c1ca6e005f81c6fc1a7dd0b67964a519026f642ea3faf2bc28ad7240d7b1668440a91fba9030188bd21d35ef179883c47e210526f0649a3507e791e96024cde50ba04e7264a8fe72b33f1f2451e0bccabfc2ffa3f78df606e43c6c6c9c860e50c0ebade902d88879db23d6db0696a8b8969e38ac9f2a16a3ebabeb199c9d6464affdeab8cf6e54132d2857ec45afcad2bc185f5848d8c1cb16dfa215d072c55324803dc643253219273a09d9a7486fb2ff19b286a58c5e164d473858cc4832f32f975ab3cd0da2639d4c5c573a1bd347f7cd94b51820dfbc026020ad3e022c3a0f3e9b3e2ff5f58a9f141f44d4133cbdfb8414500a2def8651d59b0e25b62c57e895dd5595c14fea99698b9914c4e00e71abb9533affedcfb9ac5e9e3c34d219b256aa9c72fbe564509238ba7410f4db9c21ffc1eec241f81f4c217cacdbbf6df57823a6328f71c01377457c7746c8accf5033517301732da7c1612efbd73a96f1e824122712fb5691c9f74f820d315955e57b93a547c4a7e01fd238a7966a4f7fbbe25b43821a36c141202e41514220798339e7ebd844ab0c00e76945909e8fc4de9043b199833fff42c164b71a56689fcec18cad6e2487c973ceba86a79414cbd45af12b6b84790fa8c5ca87aaf60f2328dd577a4073e4e2c4e54a2edbb3ecc14948468ba52f48af2be28136564691d0568dbdc3987a94b855be810ef73b050bbe6747ff535ddfdd5ad84597a950e908eceda0af262eb06ad09b2d2ed2ba433336d6c498a17068d8ad7b819857d7342b554facb0aca7a0e0da83e8d234060f67d5f9e4cceb360a2e9b086297588e076dde87de4d93ad35e8b0efe414897c0cef02a2724c01d3229f91d1930730479a22cf57aa68399a36c0784becb65a5c4aa1d4447d31c1bc53980e3aa5a72ca2709c7f1094c0e1818572dbd5740f3cf87c6c056befb6b8b20ff0e8f0f1ea453c316b79f52287cfa204dcd971eb27084f75b29a6bc935ebc03acfdf802991884218cab7dbcb9946b3168c33a0ec54ba2d996e91bc9da210f0910fb6beb6159b3fd1a3b6c831de935ac9f791720669001147518b3f865708b8c62dbdffa56f3aec267b27098e6e8ab0f93fbf3ca6ef83fb69490b0f16866ddcd70538ecfb7b11a5e2d350dde03a19aed5c0a907368b2812b47b9a293c812e152f7154d49075b63aee637e5c020ec3099acc6ee8ec1653edff72adaa9ae2158168779c94ed623810e5b1ee6d64a1c014031b73cf42598ea97c355d58a5b39edba14be061cd825f72eac1da12ab2d8a25f7fab629d0478df677518182723fe8cce366521f929de88491cb35bffe5c1ce15d9970424030f8b9f498459a190a2d99a0d0654e1797bff55887a8ea18f63eaa6c61e73b543df32738f813b13edfd68ccabb928121a63e29cf7cb63b57d8ccb18d91c559426d8fbf40739c76c29e25b2260d8b85bb1271fb9447e6a06d96ec06cfe8a2b38e8cf4ad11b6c55d5509ab560aa6203c554a4c84cd801e7bd9b5523e4cc45ab338e9fbbe30e6bfbf325db361de309abacdda4f4e5026106dab250e1ffdfc35d7a014db8c634a212cdca0862f2d7a695550e067d86cdd3ac956a65d5aaea80e1774c666a248c8d5281ab29218af8619db396a179b981b601deadfde6a9a6ffb90abae08be2cbbc51555cab39e243ac243da7d69772feee5c02f28b35be641f4746317296a76f8d5feb35f088fa66349fcd214005782fe47eabb628aa0b49abf07aa6f2a0042b573d0594b1aa45b1d46840c6420d2e6f9af27d1dcc48bd092384c30ae475611faa48c593b7f6daa670974019120dbed5f6b1996528cba4cc239264a52a717e88a4704edb84d5f3cc5a4361e26a4c4d657a6d1ec60f0951d142ae2c49a6cd05e0eef001562bddb0ee4667b9e4d6a27c47d5970fb2f252dd526efa7c744e57e62fdda99fdffc9e62fbb156679d6d1f186336f5bd44f4a82653bbf55df5d27c3cf5af545e00bf438e6a2fb76f73c2b739088ddfac6d14d50eeddd9e48d4284513de7baeabe3c51f511793e3324e83cab5cc5fbad84b8937d2c56f0fc45d02bfa7484de35d60bcafee34b0464096831ccd225d3857e4c0c5f11073fdca299e5ff96d4793d355e8caec9972406f3c5529b5b1834055121dae6790299c5f7af7f274d21e7e366621056e882a9414c62f2362b1d5e9e6d7c7e796dd36fe8951a088a00ca866e2ac32a26ea2748b12effb25368aac35a25f12abb9c5a96799b8359b1040ddbe8d9b57e548862a8c75131ee5f1bbf64be319f16e5c99c56bed8f0e9415cad45be04378a47eea6d27274a78349eadbb4e1a68ab1d136a11329e96562a9ec7d4a1d569063ad7dad9ea4d6490aec51e7c8e3006448c0a3d330ccd4df2bab493b773658d0c691c472a14ea7a34833ded81e85db52dda2a36c607be57b582a4294e5f92f9d65609641c3e589d9abb81674b564726d49ae73df2731cdc2a6cd72ce1b7d94c26028a0c9bbcdc02369d1054960475cfe4f86f55a90aa26dc06b5f2c387341ebede7c7e5732d0d3ced5faf07228ac7543559f2ee58d490ac6aec7f5d82d01fa5594a16eb05b8e6a55063b7f77742d4693d713741cb2cb25b1d78aa07fe1f1f6cb3535d18ed3ce2b84c4754946203c8feb9d91ebdadf985d7caf9bbf59721b9490e1670deb38faffbe45d9004ae08ef61753a9f7da443f41863b5dc79408f1d932838538efdfa941e937d18d9dc3ffe647e36d272441cbfc7982d0e4c5259bcd81a4116b3aa35ef51ed76d608aaae798a50b8bbbf33d5837d8a09737f36184128b56a5c850ca293a9b837124536e90b0b190283e0fe3f90defd4b6245f05e32706191fe08c5da0d31c13a89ff39a6347288692f0f6fe349075ac936799cb1b1c91ffe4ddea5791728a86fbc61b97cd9103f94f671187e1378f9401928f2d0ff92d3e9598420bbb83c746c23d2877e397b3f27c6bb4ef89528891a8949bd79f44b211264c8b2da5cc83bd9dd4242c3491034e81803466b4ea9ad7be2e8cebec46a061ae761c92d1b2bacf3e171c6579242a1105b4db976acc446fcae5be559bef5a08d766f5768038bc8a5bb73f394e28f3901476c67d4059b5823aba62221e6cd345e019bd86fa95ab3a38385346aceb0bde75f61c18e3923d2c6f78e6743295f3af5e5389fb113ad6def58a989d855894434cf6c870f9a6dfccde552dc740e5efce7a47bda268ea49b4d102d3192700367e42d2da9bff7b85efdcf362dfdfa04f813bf8193de37e9f81895477ee193ffced48bc7553cfd3018e95536ee900211047077732d1e4cf688336794dc963578ac2d48bcf755bd2d324f2e83caafd359fdda0ee9b0ad9189c13d847811b48efd1b69d05cb4c658a84e0b5ab0f802975046dcad4eafe34d303657c8ad192c66581f8d71fcf5c8d92cd4610aef87ce583eb0ce696df09d43d138de6a7cc0a4be74e58920c3c739e630fc731f2f144640c8a0eaa643e838025b3e17ef69dfab820c397323fc0ebdb1daa5765a3cfbdffd5c3677c95fe66f38cc036043f871d95f66a4642b7b7d17919485e0ec0be3a3e7125b7c4d0325a55e0aacb1bd5fc447b35bbe5c8e04112dcb6d586d24a13ec97c5ff5cc1b080277fa0d8608d9c97867262eefbf789f3bb436bacc3b4fa7a76c9ebe47882e2788411f03363d3dac6cde9ab24d770e51ed962a6392249e28740584f6dc71716e268b4c345b8fa48974a1484910ed81ee0ae2c563fbf63b111f30535cde88f5ced5bf0fce03e69a9972d6abdd3c409fcf343398ea24b6553cdec203d41bc9b42b08b26ab9c133da3e9b66dbcf1c5e12af1eb12dc5dbafe1982b6cb6fd53996544500d11b88646159e201abe1f2b3ad78f945cfd6a8cef4c9f34684a2daef42344598dfcba56e6c6ff32935b32e2118d80b66301c12ae2dcc3b7d1f19a1e875bcece8982d2fb1fbfb90d29fd0ee4d85e69c8845e5c5d5b254fd584dbcfbe81106b8d7e2757db4435dbebcb12e831682418a24a24dd6d445455254707721050e5965ea1389cb6ed7cac3af72964cf8307cffe65992b8dbc27beff5b5a8aa24a02a64512f90a91bbca59613237d9b39b4d878c02a8f74198b2fc6640cd0af8b7612c2b6e129894c79fdc1297a59eec3b1846bafb42e3e6780c8bfb9a4dfd35b1d62676c33117c4f86508bbe70ae3f17ad251c2f894de4e6f23414fdc26fd6c260305d0958bcd118c0fdba4a30266c890e1f7b62ab0a9fb0256642ebee38e524ce88c2359973d5c3d30081a1cc6e84a8b2ac76c1248deda3e409734aa85e7d72417583b0313f53752b1c19d282b04c578d6c1fda71000c2c58b9819a3252c563328f9c74c90ae877b79679a5e624e53182edc335daec4c09307202694a0a0928274c5fb601dbdf11281a5ae677457edb5c7a07282767097f12efca1687945c417364dc4b7819e3550ca49c03e35ccea88087b11d01fee242cc85c28f5defd0d77c542705138c9808365f013da8646036dfce5546b8f702b07900a325ca0ab7741d219e39b69953a0dea9932bffe36f7ab5d7d9cd44faeae5981ba73a50f34a9548be7ca7a3e23898be9548fbcd47722c1a2eb2f3f0205ea7024473ed0fd071fa37da56c6ace2d8bc1882cad06c5965987efe9b5e7c1cb9b8ce16646f00eb76d933d7118a40cd059ac7556e3d8a48717845f927cc44ce6c4182b24ff8c7696436616c9543d4f6533fdec91bcce385961c221be7f4cdd57b1378df820b1ad86ab71de11efcf1d51595c5b4899bc62864e943973910758c9ce7f7553b85a3cfebbf15ba1e4730762702d41038fd659f89c03ba168b2a6cc391a9442383b3f38c9b893ad8261150ccace68baa495fad090a12eebb6769096b3b498f482d8c601c68f188f738918c92a2c94f419c812285c45a5f296175d70187909847c33b22879dab55224d71f105abc6ad7c04049de2038cc1877bf1f7d57ea782b8d69276d643ef451ab588e9e97e8d838fe52ff660a2ebac7a95dddc7a4a27ccf368bda7d18be8c4a783d275297dc22653da4a40b489958856ad1480c818260f302b93e0b4b26334f9471d14b33abf141316d98eeba155fbf7ab3c7a44ee3db342a3a31459d2b770dc937160a25336004262383768de693d6014310986a8a9494178b7a23bad1fc0b35645432c3a57dfcdd217bb3adb1a18c89c4a1c0efa747a9e81ad20099e0ae917e036f87b249377118c9995cbe0e64e32e081204e5ef74b400f0c965664ac2a7a3aab234f32ea2e8fcfb7bbfe5c22efd816bc88f7828293f551bb70431d8878f9df1af73fdab77197ba7f3f0229871a9b1dba9fab9a7cada88c931bd5f55a58ab18b157997cfe876b6cacb95ce237a05324d219257f0863ccb17365d23cb2b2f1f9d0749e7053e17d67201b3e7a167f9787466a679e7ac7f3e6be5a4706e921406de55cddde450c83a46d993374f76688897199692c2535ef00d7df135484c38127fd0903c783a90fdc825e64231a29a9ac636e4f6f308d6254bf08fc331e39c6e05ec890e2e38bb144a17ec5a4a699f82e11b96484ed29ae667f177ee23186f9462e3b1116e49320de628ec40263fbd7c79684c5366c1a23bac5d5963e34d70d2a415476879480375828ceaac24d0b4d18914f410ecb8a25dba443d6a98fe7aeb08b2727db9f259258a36bcb71c84bb9c27e29ab6fb2d8da8b9a3d27cc9ccb45bcee323a4bf9de9a269477ad633a8330ae1612806478cdd92bfdac4001823c1fc086b635a3880b57cd22ca137dfa1988309628139c4b691d704e4a0be1a9eb742ee36a24d2f903901be9e8d58803f74748114e1e83154f740f29f049704a7ffba78db9f00661b756cd319c9f2e0ec5493bcf47a676039f32cee337f0025b3243fd6152316566ba4f7e7cfe9f474fc84b9bcc0209ebe2ffb5a42a43127d1fed14dc835e59947642edad183b5e18714c81f26541e282010c39208a7ca95e48058191dfc48dd7f94c0fdcdf7d9a512e43606b412685ca8c0763cadf297243aa6c06aeaf90a03bfc02283f58af06cc7ef66645754485cb4d168060d0a0832866cd0327186cb6fdf46344b067769803be1292159a7f1aba3608e62fdbfc3ab0db61f9f41daed3b8c86b36271e6d5e86faa35900f943288c62101960abf104f0be5370659251579416c7bfc50f540f0fe378c185cecd51830a79351c0ff33411a7b3d1347b78a7d96cbad2cbfce8079e6dce2646e4e8f1f69fbcefb4ed202733d6e980f55a761d4ec648385e0f6c32b88184822ea7be3a49055d5f2f23d83abbb4f789516cc7327cb206c49f6b166951769960a42804c84237da92f012106ef8baebbfa7aab998a08fbd05805df997d3aaa02f4e0082ba1ccb030fa90d6d475d0228a08ca7615a875246f7810316f1c6b43836151ff1f776ed47a4325fa443d12783728edf2f3d8200fd5f6aa8a6d76fea9edf02bbb48764cdec1771623f92ce54818b9bf02c7304500d027fa1bd05257a6898392976914cc58e6763ba4e5ed9465b80314ebeb2b2fcdb68176f482a5afc93a32526ea4be82a11d5c5847193af8100c3b84dda1f4a6c1bbdcb610fca7b4efd613909c114f9886e42d2c03c3b152da86a18348dbb89d829df1dfa8b6d684b9c0bcf8160343ca26a1f3169cb240c6246217611607902ed2d72310716b0d5ec0886a418ad9f7f4df0bc7b2b48b78565f4b8cd323fccef729f319b305128afa5a9346942f8d0656b7204454ff770ff7f8d8dab3fc95abcff3471a6551ef648c62318aca499c5a2aa6ff0d301cd650eb758b85c49d260d6bd21d4df401d7b9238f190400a23bac616d2f4c16868fab9512b592eae64646fad3a74238bebeacb0bf779c256cfdaac128edd269dc005d769e32871a50e68599551f757c8d00c0839d9d5740d57ea86ab751149822d7641b5ca6c3dcfc88e2e2e0a00a39689ea830c1e160952c273095d89a558b9fc8dad8954cdbf51ec6e60ebb3354358a9d10b268700fdd077eccd94e497f7709e6db19ae3a752cedbb8d21ff881054218758249d17d53ca31eec4a12aa955bdc687dab06ebf70b86b7be8fc9a714157718294e0680c3551a99e7fcb6bcedec2c98dcfea99beae732e04a57f3be321e4daaddc23f3b5a29bd4e9c97dbbaeb7a66ae83bf04e582a9039d5c6de07dac00cccd73aafa3c9f3305c9ba89b03415052955d312d60d25e0167dd51f8007725ff0c2a6a34154e173bea14ec13b6cf1ca321622edad203b2f2667c55431c66256214811f359f74bd71751e286c842dbad7f166472d423ac2c9bd13728660650720d810ac4852c828bd17abb68e6c40c6e06adb7b45690e8dc7e2d50c6c3079e75d51a80fec70145a47ccda035da972cdf40c9edcbfa121c22568516a97a7e0dc5df7b51ca3a04da473db0d8888e85a883f7906b44dd662e142733f3f796d63636bec95e481eb6f700cd3f7e41224a3fc87ccb0579257d222fbbd72303123671db2b0089ec9c815231290cd7902acd849d4367423cc8f0c4a8c442172f2033c50664c96de0535425eb5dd59cb939906eabb6c5a40dec2eaa8c3a80217c1c6377009cc618d899526681f3b8323a528781ac12dddd022cd96fb56fd35beda30c94f7eba0eca23c4145492024bd1bd18f93ede82a4739dec8af36fe7b625b2c8952253ede6db73f1782e82b413a2f6a359579953a46fe12d124f9966d5b5347ddc8250c287681828fbdd7d00f90abf2cce11fda7ff8a80c772d461040288f40bee3201b0464d7f58d090154adc04cc574674f5309228184a8afa5479d783af1289ecdec68513743d67f52660263aa1c74ccf48de27b53ef7815293d65fdffa8ddfef8eb6523036e6d1133c6eb60c753ea47f6aec0f42cb707044b19519018a759cdf8ef9f5e8908b6a7bc948dc3b7cf97759455be6450b16b74a463bd5274c0596252fb897dea3c168009cc6a8b4821e7d7625c4cb47829f61e8b40fc6faee44601f2061d2d17117fa6cb245d86aec67ede1c5ec7996d42a6572a36a472897cc379898b1c8747a81b4e6953d1d8f66788ee1ed2a15d25f5497429601e44730f1026c95f6e68382625adc65235d93caacdfdd9fde245d71a0459ca91b7844c0e3735129e9d60269bb45ae3634457c713f6ec1cf5d78c494051470b57818a4d224ac4b166b1b522a6edaa707d2d340039620d0ff9b5992cec9eb2ef762686e54e84cc2940b1a252cde04feef90b0f0c61d9067918ceb47c6a1990318077721cac9c2ba56a52e58af4909e054a3b8fb8bcd629e158edbf4b52a9cdfb3fe0d18496d71106be96eb6f12de67aa244df306ba543144716491dfc25bc28818d10b929f43c6fb416159fafd42ec60c5642f7ffa3117238bca63c41605ea40c632c5133424f857076912bee4485cc26ad7eb1b9ece2f682ea852039a5a00dd3fdcd72155bcd9dc6eeb7a554a0ea4ad3827c3256e843417711c61828e92d429da95c02626b5707cb4604fdff6eac47f341099b37cb76c88a46eaed6a6905b5428b787ea12f67df95f22bd05119034bc4a97e0efaaad5aed7830837a319ffa8ad9cbf2c76571a4719b52919a9429816ac80aaec326c7176e01dcb0c050b7439e3d41e3cbb54b72745945c83036b6c2caf9fcf7ddfeeba6f74ba5dd06a0f58f93aca6eeaade21acfd7ccebc1767ede86db5e15865526abf0c447334d4e82bbf7aa52c6095d78a67d55a01e5cc6b94cdf31160dff0b879d319eca59f899c0bd4d89b32131c35e321713899a4ab90da4e036e5349fb5a6c04feb8096625c6eb1e5eaaa94090cb5d369c9da7bbd2e366b79915df7cb8a3363099b9cf5c74124c1ed2dd48927cce004ecd7966cc0c1b77d35a3b95f515e8f370a72c82e82faeb87e7e433c149fa1794b341660802d809c2952be05197c3e0072309d52cb481e6e1e9f084083657b66af096b86b4079ec133c3e511f8855b1fc2984c26ae1cb356dae17185321a4be704742aafa90bb95a682485392e92ae5c077a3f5be1ac9ab82f565733de730e8a72379bc9759e725858ef182c748b5f0e2c89eba6996ab8cfc381a022584d7e04461c9de7958afd249f09c51c4d0007f4bb2dab364e4efe7ba127dff187305f4ea0ad11eec8fe78c45db2b99235e3ac6a84cb86dca84f02245f0ed48f8c9c88ae3e753e961606e0dfc691955c04614dee6fb616beb1472ab1efec14a9aef5e70de4ed100d707056a11225384d805bfcc3ddc51ef7d231f42f674186112818437b7a98be7a6b18fcceae5539957f7ebb7af0cafdf95ac16658824919194f53674e1629ebc8b3f4b8d7bd5a0c768da22f6e0f7dfd38ac3cae7915e130b10cd04cad7ce8002063bdf686d1160e80da2c4d17764523b35a9ce317b74c243cc23c28b2ecef23dc76ffc65012e29e25d9da4383b8fc245dcd7217aab6512b45cc6fd68d891cb30c588a0f72bbfc87fa0d4972dffe29d23e7f3b798c251e80aa91a1193ce3629b0132f568f94ab5b6e88d919849e9e8d902319b296fbd0909eb1d8259f3d9f777645b7d700c6df1b7e4fff682a9736a0fbffe3e37980c9ba865eb4587b3af086c36e9eaf85dd133812e0bf653c1c18e873fcc5338f51c985a58050d23b54305b86e89bd23ee4eeecb0a19e50f61b55f469de22bf32a5120393e5e9b67f4b91338b616f8eaae1febde29166b3cb65f7a3139139c1f6152028edfe6ca75bf7a536ac0450fd77ff82956b3e57de4e780af792017bcab461cfad9fe509acea7dd9ca8ea937711b301d7c347236b88932b4cfc9ff596997ed7c91506052dc7b3e51785cdd0fd0a388e766030d0324d16eab89636e2811c42302760ffff80af8e4a1dd87cff2678b6013956c3bdc95638ffe082dac9774a1c5e957d2d5a4ae219b2dbe483bcb353150274e5ab7a6bfb2a98d403d05a22a4a0eb98d034358566229b4f632671373d7414c12a993d4a8d040a9cc3168777e6216d478de11c11afd7b51e3ad21fd724f5ecc47eca095e6f7eda89917ce6bd50dd5a62aba3c1cd3dd2e93d9ad6228d18ea9308c285717f44c0263ce346fcd90ab6b3c1baa2229a8102e8f89c375f83753aa0121ac9c2048ac2a9252b05c5ae77c97966c93f9c08f6b64ec2d73de5563120f118eb5c0ce3b8807a7bb95d05fa9b464d58743eca4d4c8b0d493ab06fbf06ba4715c89e66fa3d6c150c1c6ea5391fa348730ed7d146ae0e713eca1b752bff277ceb5e2b59f21839ae9db901093168bbba106b08926cb0cbe66497606937f939df092aa56a9cd9d813a7df6c47a264814d65888b953ed5f4e4ef39dd24a9323ffe9364439d94a95bc47cb59a74d117612eac4843ad7626c31072c0f46805950349f2eeca8e597a2d3e31f9d9f82806f97f5098e6982c4b028b79b0ca18e196281990b389a27f54f23f01ee2563ee7d019ebc2bd98c502e998faeed18567197077063c30d87c47128b42c8007d3485b2defa712d52803dbd7417a89773ebed1cfe37ce3a84ffc03871eb6234ed7619d23289cd62a358613646e1559736469bdebcc96683e44ccb78b1062dc95766c1ba4f1b9bb47d155bd705f7744728370559ce3c12cadfd230cae04da9eabec81158f74f5f707f9e3db1cabc913be644b2a1be4ae9f99667160f38d7773057d73d0f2ecafd32163bb6cda9fd4d1d2924861c0381edd71cc896ef806f9d1d97116fd43cad49388715e10bdd19fee57cddead6f62127191e9b997cf1ae32227e17f16ac863148d73a387c3a0be1a6d2a94283c38e35523a86e02f6122910cfe0ee2966503c8c60edecfa4c1c60ac50b36fa45ec5803ee349f6f8515dbf67a8993a41361bf26a629a093848e2a4fff0a870c925921c0b4487624976a8ab21ee52d642cb9d5059454b9fa2881abfeffd4e6524567399b3ac925fe3bafc4fe555f726723e8ef8e3c46bf4eaffdf69ad814e1b427077744f3181bd8b5dbbd4258543b225d6eea1dfa5a27a0aff956cbcc1808dad8270b5a69caeaf6ae49d2af45ce13beefcbc34d114cdbfc6d54bf7dfabb103c25fa79c4410c13837ba15dd116f6d229cc122e60847b1347f898032b809517c24b8e942fbfa16573c5ac1b45894db311786b0efd2eadcf33675debdc5bf7706101fa4c955febd915e246a295197e860f9deb3404e6f7b8ce4d1cd9be9ba65beff6dbce66dd2f312ba5ead57ec0d0adabc4417f59e3ede803721f2be016431086e79c6410a48e620b080654dccf4c4eb1c86f6f9b717d366de737067f651bf8e9c84f0a383809a73fb1a5338912d8e36308cb6b98e7aee176a58d5bfd4e7ba858c9c41fe5f2a38ff8a91b2de98b75edd83a1925e50e4ef18fef07146618f3765db27ef776343a23bd49b4ecdd0b356d9708497198c822ce4f98776745b0fc83c74a57fa34aba436b6283783d92522524e051645c25d6b5725bc7d4e088dd6e499482f0ded5a9aecea5c24927fad61bd1d54f6217f7c2b99ce5e5556ff7a8af46c8ca30a5e7cb11a6acd2c280b7ed6f872a94865498c6bf18916ca2b5f874b5de6fbd577e22740f2378a44ab4ebaebc06df7a7d69cf6d30403fd6a6c74155b42c006fef586936bea58b6032ee52f968959229ffce7c2a1bd66592eb29c3e36801eaf230190489c8cce24669647bcc496b3db0d75977c4d62a4b3a9636a5e8411ef607d2819cc961870f9fe65e5b8460e927b1fd422c67dd710ee25d618b52c1327bfff4a4aab90e2adfcd816d4294ecbe68915b55fb9d8bc4dc068ab602421872c10b9351f89b9ea3af2bc06004a3ffd4259070b9c20d32252aa9cdd9b8c43ed64b29cecb5844bc7677008ad852b66ece3cf82ffecc52f3e6847d156ae0f551c5f81c4a460eff8740fec7d2f9fe07bd33063592285984dd0a62e22a96db5395953b1b01faa962a0d1627c9b1f0c15da77b7dfebb43365dccbae3dd90fc701f4b75290c12d37d96f4b28d7de7bc6242be8c76945bf9a8f8b18d26bc72fdcc45e65d0e6c25e6957793a7281fd691060e572bb366a73d4fe84a0bb8ae6959299537ee66a39d27a1ae7b5bf0930a73d8d905ced18f0cc3446c7d67ffa145677536273e37e98304fc90bea4581cf1672491e527ddf5db46bd67dbfe6fdd9ac91be70b693c8660263691048d29661f503a761916fe62405c1f63ebd0f5bec447226078717491b4915fd326d77e29d2c4761b1fa1a8938db0e94797e039bd13c09c6fed56881c38e2b119973dca28f1dc7f738916d36dafa2d58c4636de6c50a1b4e70c1deedb195bf2f057d8eae3a5298f2454e8846a67709278d6c05e34af1a7eca725f9465c168f61bd05ec5129641d7153528eedd1608009d75c2d7bd0705bd6b7e6da0a558893d53b468ec285ce358bdb0b9cbaa19271a46a0f5955ad3c9eb196b08276b46f200e07a6921d7c2e36b4d842477b9b316b5de4266223d3e77ff3173889ae4d7cdcc2a905c572dae102f157cad77bb5a2a0ac04b165490f40578f1db2085642ad5ba9109f8679fa2e37ea9fcbab85b123632f82c08e517770405d4a7b27f26d98a411cff086c5f57b9364bc69e99d43262dd565bbd1f01bb15b5d0af104ccf692117a91832b15eb7d224601921f5d6f085a45796b4a5ca3e06ae284b41d7feb14989a43ab5a5a17bbd613b80867107be6a7dee10ffd1bb952e52310478e44a191926c3fff79a3978139b0261a1b6d0a3299379fa88a3cfbf624199ab32e94d705bbe6f67616ca0496a070058e445d56724c6910d5f63e7d458c3853c7ff9a1862e94f49e9ae10c13dfb890d160ae973de653b76b506401e3051a45f4f89212ab62bd4c98afa5a24301239da44728e32861f2aaf0917178426f2e84c34a312feaec34b0748547bdc38a0f19d62ff7c1ef3a6e3bb745dffc416063b1716e9427119381461842215aa3a12a1f50fbc574fa9769311694ca6bd6e9dd26b52d596f4265945ad789e7e5a9e584dabeeb4a7194cb95d447ea975238ff6b2d608ebc9300b701db5bf83057913a540e4e4ce2c292ecde89a2a97658949b00440e8c0dd2e2171bdcd5bbeefc90315a0e946784cffbe0846c38444c42282c07d8d38a8606a6c8f043a00d2de9c3a17cf426d432791cb5da26575bca509d86c5c55a9757011aaacdeb78ecaf1d0ebfcff4b0889ec26d3cd354e000240594a060b9514bbf3ea35e31610913801b87ce4dd1de29f3bd1ea31c8c82704cec5768f72917b05187347c26f0766aa15fea304936444dfde4879606da2c35be1c60ba1c9d1eddb9da40f1eace92defb52fca246bc865c4d261bb0db00b9ab2fc5a95bebe83131a7f6da21e7d5c5a561c83f8c9d7718285bbcb3e45dd640aac40641ca21cb9db7a4d6370136d419aaef1ad0fa9a299911705ecaae02732f0af8f4526c24b5f1039d2c7784a20a18c5bba1838df1bf8b3856b09eea2605b3f4e08861e05b87a5377446d6c6973b3b6f2e6f1e23ae62960e21c51bab86d1847608d0250452d680ab5421bd46e3ede6114f0f3cfa27fe11f54d135132ac1d01613b68a7622c32aa6e7a9938ab6b66e56165f55ab4b08ab971b356d69e2127de97758e6cec42ab536d52140bcbe076c0451c7e1baeb04a4eb8023ba8d5368c9bbd9ba943531a6ae2480a1209d162eabbb867a5c83fc722361069ff0bb84e68b4916c569049e71d71741e654df2342b4f52314e83f14d960c3b535c70ccba6e92b910f0f3bdeace7b934f5a413a8733ded026703639f1fbe3ba682e710dd9f31f2476b40fb802d42683201337e1e2aca44b4130b9b46b969b4a04505a19f73cd02119faa64f58d62fdb9750ce79190e1e943c971e0a0fe37fdc8bbe49aefa49793165ed4a13e77e5eb63776b752ed5b3cd94702f3c36ad24b43f3041a5cfd2d2ea07c07d23a3012b187b59f8e0f7c82b1b8f107f469fc533df8e6671ccc7e7fbb54c1493cab8f9160b8dfc4eab6f48fca8e1d655497762798c24173666453d351ac5472ffb82eb5d50f261f6cd2d116462f6ed046a860f0bb20e7a2ddb8aab0bd5759e385fbb4f4957dece01326f66a03061b17592d89bcd0e4112daa31418a32708a74cb3a0585a90a3c37de1d24a47198ef72b8e0ec44cc23007cdadaa190f93e959d2ac0dfb17a5947f6422cb8e173afb313fe733037c5d067fc264bab04e3017090ea71e5897c60dd54c1527c744de32e225f735c84d7d7237c80f5624394c05a3baa5f875045da88331c824e632ee287156daa675468ce6a4c1022f8508cc5e31daa93dc5a9ebf1d11a020ca239cba90c077bbb411debbfef1b45ca8ca704591dbc25fb01d5fa2c35b3892f5f9f64024918751091260b6c8a8a932466f7960d9f15cd733036fddacbd4ec64d7c69f9bbe948d198e66d8e222f8fce2782fea08e821d88e6f4e05dc7a32ccbf22b6752be8c973deaff54abb0d17df98799f4d0f771321dd0b32a7018f9d5a06a86aef4393e358ac1ac59e7d10508436e0b41e0436842f6f0c2efc1e4a815137265b659492fbb45825cd40679f8f275b02390987b76123fd35c541b3bbbad7a8e376add063aeb0f92b5b5b178c3e272f6e7231ed78a7cc811e99b0487e818cb7ceeb8a0c8c46ab310d7400cc7f0fed278562852eec4b122796b9ede52285c208a71f82af7f9c30de831d90605f662d2d5b7655bb0e21680d6720911d73a34f6e8d43f2929ad62751337bffa67679e19adc787a29218b6afb0d8550a3a11a9ef3292c76a7c19dbcd974025cf1f46d334fa7632c72adfd2d69d207aae66edbc61f120a2b0f24f0a07ed5c105ebdd673bd55eae59fed94f89e9742114e6864db2f31ea600266579e05867dc86b8550e5ed5edd0ea49468cf436ec1e7111a70277adf67ae58df9889343ab7afc2e35e9f539a9b84c86aab254eb2aa455d02ffe85cc7e5ca0e268e52d2841b3de3c419562f278561c9c78841bd7161e2ccc73f14e17b14e00b8f1df3f644356d2837951ccb6234e5db959927c1fc7d28feecc54df0c2d222b1702da15def992d9c058588ce64e612624fc695dec775b581733ff65935ba0770531825df68f127e5b7906aaa120410ff6df316ce75b5f581bde102835aaed3df1eb7fabb6c7a4d638b5890b883f852bb89248578ad8c807499881f635a0b5476612df179cf1b04832bf912368dffbe2867da6f8104b03605e84f34fd7e4b85daa0a150ba7f72d1b9666e8b35f0fb6d1375ffb5ddaa076154552fb3dd31b38330c5b6241b967084242bb5b64c13697778d06968bdf4deb3157440f18de15d11aaed0559125df9d57c818c9aa3a37f4a925c152f5b5a2749a5b689820197c0a8fafcc656e5cc5f7d2b0ba61478bae7c0eb9b6d5cde5e11c0ea8d1d1a4c736bb8bee9b2285241371535fa9f37ed7934f25a40e5bbc47a6b4aacceb7ca736b0bdbd569e11982e8271f4e7a9f49deb977abec0de4912846aae391f6536fdc967ebef2ebfa206f6af596e519134b2d4bd2073c0a198526c365de892d78ad8272574d23e07a6ddcf956b923e2b5292059f1e75c7e9676423cb54aec8ecd533e704f79910f1662a195b1aa6f1239d0fb31e03e785dbfb8937cde0ea755a3e96fc56faacbbf86619f4873776ea0d683f955f618c378dff96d747cdc564eba2926e2757b8d49dcc16a9f9f4df5511320c81f59915aca82437635313817fbd9405ee32cdf1fcac42344c76c08e63c15b827463ac64f03a58baced8df4d97ed525f0b90d4fe732eddf6c65e9b67b4ba6489fd349b0c2e49ee44817a0beda9158780a0748993cabee5bfd0541833dceb1942d21c00032aaee9570cdef26b45b6b064a9799e739d8c3b2fe970b61860273d848066c75ec1825c30ba3ac57a544b10e80bc48b4c1453fe0d4bf68e7cc2fe67d9e69f532892f45e59e913ab007ee4715da8ea35b602502746bfbf4a6a438cc15864aa7e73085051284f46c0627c605bbf4518fa5d2cf915f6b688250cffb35498dede84e62c1562c9a25c1aa11788065d1bf5ac8d68de0300cb6370e738346ebe33dd626dc26bb84a9927b08ef6c1547abc9663d0d54e6e28b82ceefb82b3772dd24b39893227ce1cae2977fde653db6ffe5a1eb5664df9ea9ae3de8959f845fd881393f62c72ddbf907556384838177777df07d6fc6da339873754aadca148959a882b5276bcfbd0e548eafc5c0023e23d89a3f10d753d8d574904dddece9238d22693b992579af44d82eb6196ff68e917a129c211a9d9543c4d3c96360ed192e48982a0d5106b0c9bcc66cee0a94b9bd280bcf2a10f608eda2e7987a057e1a1b33dd75404d6e7f2c770d41fc5b8486daef642cdc83bdf6964f7735c6761d750ce4c754edcca42d37701b4e9d649337c4a1ee4495d2ebc9f205679e24ec8fe3af0273aacd740a59d78b51e2555efe05d748f7c6eeb71a3fe31716f32495a0a7f7f7b7e8a3ccfe91832e4e06bea5e0f4c3f82c7d413b9ed3ff3820a8cc68bafbedc5eefb2a5f76deec89ad4d3f7cee3c110a2fcacc680d00cfd001210575b6cfbe6eec38c69a39b6031d02638e694907d9ff08885df700c29c31ab2ba1b175f8e60cea6abdb694f03c00aa5c2453d0bbc32b4aafa16b24e6de711c00abb6493778399ac4ad4e22ee07935211a9086f0df05b5ff11ca07bcf04c8293a5cf0e93f5eee50dbfd3cc3314a4641460b29eb2df16eebcc86eefbe91c41e4fd82ee0ffcec3b57007f48e8d579601909a0b4281ffb183d7fd8d43c1faf8c5bfd64121c5ab77cd099986ba33f6e801826f49b23a300bc5e080bd7ea55a9600143b872af8ff092fb87af785d4c4afbf91bdd34acb06752a52c25c2f3fc645c70ed74f3eb6bf5a1059d80b80546576b42a3d92dbd674ebcc32e2a0ebb12f2f79cc6a84dfe6046923f9d6991fad26ffa806d0f34e09a4120bb1e25cbc6fe52fd16a20a28b629517bff07e239a9b9f3c372c442b1ad6a55e68cdfcd5686438194d71a3b9abfb5ce26d12f27b18e1981300d805295588bff7697761e8e50c1ba3f2222e161cf229b5bc63a48b690f79536cf7fa0e3a829d5794beca68edfce1fe7853bb5c20eeaca0ad8387d9b3576c97f28621350cfc9bed4cb0ace283edfe123eb3a0580588ac827ac6fb8fedbaad88f9c0576ac65401b80f0208e942561c6b222ffbd46f68e14f5534ab95169b1550cb5d684f519c5c7167d5e8004ae934f6c389cef3e52a9f756b675801c744134d5ce9348a745bb6116d6a776c72208424e32bd9996df222a16c047db3ce8f29641acaa6cd8d806de4bf82ff2e8f078702c73f1897186a1745b24a655b373d3bc5aade262f3487b0950c7e6e1848e1a281e6e91df138bf9938fa309802343fad4b760e8db94ed0b0faf7462f9619026dad8f6da6d0d3566b4f2a76171b6adb7b2d89a36697014a1a5abf266108ba4b0dfb11fa01f2570072950c7fb0699000d0668775038708c83519dacf1ba91ad756a75ba15d0073535c2f2680a213caa0d2414312f86309fd352aaf0b3c414de521121e147d182d4978a02bbbc510ea5963385b15951dc4d42e80a6055f5e755e6f78d17645a76bfb6dbcf9b7f72773af7e92144b1a6c1162c32b0e954fb98922f9f68f53f0d2856dcad4c0415fd2a3e432349adae775ebd183f236e70f9c3e4799abd38b718ee7c9968e702d68d795d1bd42d6e1af4d98963e7d878b442e10fe0da8727d9bfacc9d7ad4a6ebe56a320413f41b108b042849d83fe56d08bea44f16e12654538f89e66a71180120e9338ffccb7d1d80c2f904372d2aa8178177b697384424ed3ee57573010ec65af1f0ac7529ac989f0c975d1f72fe7588abe15d10beb18275f64cae486084a25255d3c5925b04f267c0af168320867a40cbdc9b7d04b5e5bd2d135c17f48612c0c70eecb86591668e86e2307d23d58c7b3ab91411a7d52c6f8c8d766e636cc4e073aaf329b3f78aed63b0c0fc91e4958ed942682e7c8690e8bce5758c7d2152bd2fdcd0be919db6415bfc6e034cf9cbf6f4ca419771e07753e7780e15112374347db6e0bf3010580376fe7076f20b9c281afaa3adca8124ad6aafc8eec44a3da2e3f53f03f52638dcf29b063e64835bc2ca719ac16837fc4ba761b4eb6af648f38a1e68620c92b65641a8e341d6d2350c7a0b3022604100016eb6fe660ce864a621042f8b69a99780d64cc0a2bc17ef5b78d6c36dfc364436b6617c25e87df879d907ec8e9e342253032bd64af541f771af798582c58bc40f62b5d491fb95af5db4dd0b7f23e5ad894c08ea62ae1edce1c979652d457cc2820b98f18cff01dd7c5bf14393a7a1095a20ce0d61f2773291213c650ed5b8891357e84d852a85dd6a78fe70cd02d508e2b6a65e26604c778043d42aa100808b1b4ca9ead4134541e45c9b0adb321ecf164d77f6348969faf79488539c9fdc34306002868c4505efb7ddc532ddaede09b73488f5a370e10258c22ebd2b9aafc1016692276435fa2ea97e504e226a000771755bd854d57f14ed11618754a0bd344ae625cb238f2adc23d5cf3f6331f6ade5148792704423f6c9815fea95b49db3b0c20c9f8debfe28760a8759b17910bdf8f1a0014535aafe0506529314fb66696044c72a4d38469e49b0c2bb51e254efdef2ce8ee5a9e4fb2349e9976c663102dacb6432d6e680004a6a2418573642fe0aca1de93d70fb7be923384f8fe63336cf9d89592ad2fc0488ebc3b366d65c94d010069573c70a555a4525cedff74957455152e5597102967b12f0032d3c387c0e5922cc26794a05c6b6d16ef002cd4096910c1e36e790ea14450b2576f052db8075e797e8965deecd80053f52756a69cf9b25f183a78855d3269cc09d877e91b1ff589478911512fd8a37323a5c94d3ff945975261d0530b863fee9002ee618ca7f878adbf59659483e98636b2c2fcdac3a34e85c8fa79a7f1c072fb97cb5ac3fc21dbf8c888d7bf95ab8aa52aa45b3ae1ef649dd1b44d031d11f425a42db3019f6f39dacbfea850383903a999693bfedf99cca13f2e64459e26c9b5879483441d2310d147585cadf52aee19b22ba6ce7698ceff37a3c3fdcf3e463c0db47a4b2145e968d5554472de9129c8edbb630b91d2c9848883ca89cde2c7131239af13a711d558758618e485ada3cceeac71c9fefdefb4a7aa54f4f21412ad3ee559afa31999a1b5c9fb4ac7bb6b2014ac777e824c61ed52ebd9996cb6678c5e06d7eb8ec3a17dc7fbf3b06c7e106829de97ab48ce85f373aa382293f42635e3e50149c9aec0344768fbdd0eedbfe994ceb93d454ceca9f62ea28cd3eabc5777051e0f8e28eaa8e7d7cebe2175905932f33bca1a62da4c6e1995fceb9de417d95f1374c3dfa66a5be813ab8bc8c037e44cd6818aed85746cdbd8f2596200814afb76a285ca1040cab80ec88ba431d4c51b482cd4626ce4f8234d1589c99b3edb52738d03b4691de4fdc132213f7d284bc9f06ef50566ca5bcd1ffd45f971038078b9b59c4ca34ff41ef9ea4fd88a527e2febe61248d97c75a7817682e36a7bea8f2e99706ae57c83bf12af9688df67573591148a110321ab07483a9310c637e6b90c16efd437b71f684d81c9a918137844e3ba35b6988b39304e98751b91f6fb5821f2784215002134abc653ab6ed97736c86f8adb16835f08add890f0e5df646bbd00370264039934d2555fc4228dd3724eea991de495f322c2934cd347031d52b8c7074c3e46473bec13f7ab6fae77b5c473f65d1b246b9466fffece84e4a9313bcac5d73ca4f7b1f4c0f89242399aa6719ec40c9d530e6299be6d217784fad0e33aa296e639f27e4d3ccc3458594e1e6ba88583bfb347e5d394c5ad9e2cee8bc6d1385a89a3301e012aca5e1f7374007317f97c10560a17cb67c67746ff649f87a638fbb0ab261a4defe2c592b28d35ad12bfc4981bda2b2a43fd0749334ec244a9ff96e551efcbac796cc7cfbffe84d6379b9f7e5d1a28834578f7995fd4d1b4247c998c318cca0ddfdddc47f5b127cba69a3c14f38a10349b3b32a3abf73a8ac5b67babc462fda6b1a90f65ee3c1e37eab2ddabb1c3e1f6cf5f05c51ddd8cf94228e5188d729465d42822d66d6d8c20dc8287a5aa8245c347deff402597716f9c0d48fc220d0cef71d5973f2fab58f3d34c5b12ea8e93c2a62b76e2f826316b27fa4d114b38e3085c0e210599b1c6f21b744be47f65f24d3756f714ebf51de00a1b47bba7fcbfa65392aaf476fa7e954356ecc292b6708045e64d7d44ee7f8cc7bebda712f186e1640fc9ff5a53c25e08c40e245648665fefaec8b1beeeaf76c5b4818fba4cbdf759bf5f13cb216a9d9fa9404a0ae3d503d8b3072c5da2f9433cfc1a418b9164e283dae3370da864328ac6bfb598a116b84c9ed62f38b19cce1caa08d06803cbd4a5c1393df45e46d869ee77478084b3568eb6cbfb9ef4dba0f2a13693c2437c54aeefa7e5d0769aeff520d1971061fdf794f7bb67af6737eb2ee7a58b731b69014a04b39def2aea4b035ad2641a4b1762da95123a862cc7f2a4e31a6b9654862c5a5c3ac396004f4665d40ccec58080126b664668a1997a8c97ea44ec840f5b3d0db8d0bb725c7c4f791c342fb05607c1fcbfd16267770cd9b3bfd539637e33adc4489da352586513637e96bd0b519f89ebe6d46076c90c2d5f566869cb6254b4269f44da1db925f7e3409b07fffe237d18aad65a5d62660152843d7715b007576278aa7766d345c2da2f85254799cdf70b6237592bedcc5dc93518b09a6598407269ee12a2ea6c2dd7def5cec5209abb9158d81c9f9508c96052726798bd8517dceff1c90d67b33b722bc4e23576a86628a3451e6e11b7cbb5bc1471957bbd4d7b948611004c4f2334d2ec1ebb605ec3bec3fa843954f1b45e5b504c426aa984bccae05c611513ae81824283653b496497537febe209511f8fe52f36144ef66d16ab90a881e36a4428cf416b0cfa0afd700c283d5489f0e361ec85334fa27a2e2b967186a99bf4a4565e8b0e511181ff02d2ed01994fa81ff090e477033425e1cc7dd919ec15c1c2963638025897e366dd17c75783c29bdb77f5d97c58f811c3f4df5e5bcba4c14f9b7d0f4c4051d608a82288ea6b4fd6a6facae4bf6a000cd2d0ebbc6e7b2153b2454ca463b686898449fea6dc42c3c03c3c54ca86d134968f6d4d2ae81da1db60837956e50cdb9ad516e8dadcc5c7a8470037ba2766f21bc230b9accc79d53558287ae3494196db3fbfdc4c1dcf9a70e5abc201c06b68bc904f3d2d0e827c2ee7bb7efb9c543fc2b4fdcff030359f013b0dd5a27efbb4edbc0396805e4a91eeb2fac0c673e0aafa29182cc8ba20e07cb2e5dd73ce99cdf19a1c15ea04271f0867f3c3280f0b21d2341879952e2ee78ef8c912c5de2c26735654742b1014e578ae5bfd5f328828544efbc6b224a8a695bc83e96dc5e0eb97c19ab046221bd773af9ecef2f6f30543ad52bc4c8f422cccb1fd7e60553cdb7c444a20527be6862a2b8578dafa315937c14e04d2082598c9ab90b81b041f4a64b7d8bfa80cbefdbbbcbd0d5b2b52a339a55ed3efaa2ffefa93c4f337ee2fa88b0e615e65e1c09055a3cd3c76a823e2651884e2913d3e4717a150dc9247c0f0f296b5b5942c5d9c2d3235853615f461786fb7fe62097371bfd2fce95f6f312b901bfa48991a8d34d94aea6e7b5be2c41b0d346bd0d0a4aebcf59bf7177ad7fcfe30c57890c33fd76934f1189c342cabed9ceb085ca25c115e85198bdf9975fc804918f09475abfb349ea9b20242f50ba121e04fb3f2e05e4f53780b163f27fb85cec6c820f71356ec1d7b1be711de8706e4271f67e6d3a96ef07e6743fc03a4d4ae6ef157165e76cd34641c2336a08ff0f17c4f45d69e18a12971d86410dbf926d295791cd8a21cafb90f11ef7e78057575bf7e10ffaffbf0509c2ec4e77d0f727e8d8281e3bcf4c9ffc51dcfe54eacebafc1299d0b20e4133bf976dfadb519d756a15c1da9a59f2e00b3f0a938ff77b2581cee59f1246e397319d180c630502cb9869929a3b35ae9b88c3db13a9d8a3d474185fa4648f67b148d0ae31ebe3606c88a8c2b3f76d3126ca1846bf7810c36087b7c6c733669a2f8c49345602fb88e4bdd60a73d165f192840c5ee8e16e6c10705ddd5d8c54fc8957c93214d12415e5389212e27f1693e9cd40c499cd88ced30f9f9c8aa848a432f0c2e1645aad25cd46050e9ef5dfb5daf70db639498e7d39339fb7d1f3483e7fc701970dc4665fb17a34841074ddf6befdc0bc6f0a79a53fdcb213c830b6669173804652c2be56f4f505395bd96ae60061a78592a4089c734c7f70b804c7adeecb274b51f3ad1ca4dd8a160d78a4e15bcbd7d3cae00f756967463c4ed50e0063a649908e8f4b2176d18f953077d83155c5bc870a6fd7b463126f6a7749d45b92720cf7824a18990cbee8c747f4ad141077d4a5ace7ac05055abcb11204683a89539fbaa68a5407cc3018a03333df1be9fdfb854c00e47f08c2a3b5ba1ce8f48031974b8314e69c7813f9142c3c11b57fa839dd9b114ed2a20f979bd6c138a12c0c5f1e93b25efdaacbf5ff6abb6727f32f183340c273579017a711593cf92632822ccba57a32e21e1443f37a0b90ea7eaa7c68cae731e4bc69cc28ca9842269a010a958a05dcf22c59fd79f76aef8bf6ef771844e0d909a1b02c29dd196edd75bbfc8eb3af6ac2403b4dfd00937d589293a81a9296bc761d173da53c69c26248a9b32b858f4149db02dea391f6aedc6b6cc38a38d3369bfbe0d10f0a67cc526214879800142fd98a2c829a30a98f5d103587a60d7e7e0c68453bf8b54b74e32e6091672eda0de9179161fa1707dcd93b20bbf582accffa119e6640bc3cd367770b8751b135099c22207be4c90f82c8c2b4512e7e03aadaca5313ee6cc2967033868c4d08681e2c324ef9b81c16d597f66bbb9d692806e9b7d25ebea18083efbe6642170a5c978af23f3d1ed225c75ca7243f425890bf7d4b2a29bbaf3969ff85764b9c3178da4fada110ebb6f3c5f9218ab3bca9f00db4aaa4dc4d683f207eca76eeeab1ead1c7f3463d03f4585a86d391dcdb12fcd1275738bbe47af9f3432b40f096842507fd1c93fe0129caa6d5118537b649b022277210b1d0d47cdb88e7654e4c575068c68660d9505e1ab58f1900bdcdbb63ff26a21fcbaa61e8c81d5f3e39ffe2ba654164851651b17c9258c81d9b4a0432c52d842807e3b959c8dad30f53575c60ca83b577d68d860374ee519aefda7003f169a84bfa7c5b993f49b5de00daa2658f84a4feda5fbf1183ac8c3cbe9cffa4de3ac909802780d98ba08c32c8cad29de2cf9779b47a77c2b14e9eb65ebb07aa8cf1bd710ddf039c744be779183f62a9fcda1e71c99c4a7bdc117503d2b449ec5af8379e85dd0dcc370ca86a297f98fbbd52f592b5bbfe01dffada4c6e338ce10881b1e862d38db77dedf63010d51fede15c7e497205d12bc25d72092eb710f3bbd9a525a427a2a82d792867ea8b74f406629b631df1628d92401dd01fff9f703fa1e54e7708650b7aea691d4543170a8b19b3e153a7559a0fb780241de9673197d8c8f7481e9ddb07e5392b185a129210d901da3c6f26d371d2d2d3602966ec54177559631e12c6f77de195bdf343c6118360952efb00b35ff6fa73352535527e58fc7ba5f7cf7a43fc16aa00e6a0f68d198b68d540a0633ef3d1b9ae63f8e6a481d88ef62778f9ba365e435b9e0384ff620a59d158b4d4d211802c91fa9b84a45a5a36e0661f6266d109f11fc8aaf42a9130af702df4b522423c373540e0818383da5e75a25a0c4f864c8af0b082f99bfcb130d3f95787fb3bbbf07dd169b2d20044ca4910a8d4153e52c0195cc9cf79a26592095b42f7f310adf17f156877ff6057a7a5a75c3a24e1256b3f6287e2b8e35b753f6786feec1e222012036c67c00b9ff433595cc4b93a840b7b3b13c062b4bf7f49eb54c4250ad67588c4587697bbb2ec11ff128c9910a9bd9f5deb49151837ae6f81109d0c2ab4b4ec07d60bb6cb6dcbdebd0a6b0fa453cd0cae26f94c5b9d89bdc470c595ed1aa0eee547ab1fd9f893f5dff049e67c7ad425afc48e83dd232b878e58b979391f1d36ea4cf90d83ebe5b37a6aabd9595e9808016862822415044949e68f303f5413d4958f3de333aab46118680335d46e11290d2060607bad2a7b9a6c02a9d959ac0fea052186638fbd469fca27cec1e767d324c4c3aa39e199688182909a486f5735d6f6d28eb910112ffd9108b7115b752b7334c63440621dd0289606fb92758372910dfbe62e989f544469b0bca2c68ef185a578c5873bb8bb607789aa380e32560daedaa73211ee89f03c3d8f330e8e635ff0131dfb549feab35d2c02546939fcca08b54cfc5ccd42870a59219f156ff21d6f3b9442b9e9dd6a31bc8db5c07fd86a6ee8367fd9f946a6c696510ad43afc34cd70974489ea5455991d03d08deced8b1c693c4a4c683a89c8db44eec4d4cba0c164305b5f31c7f67615a01bbf3d3e24fd462dff0f14626326d74640b3f0b41ef52bd777c179c2ec38ed42df56aaf77619e70aa9d030872b5b76dea43008e1ff12141fc4192ba51ff40a9205f9cec89e0ae00db814f076b42b99cc6446331b46de5fff517d6432583a2a80ebf6d3d6667de60ba4850abadb6994a37358a89325557281b92ed2e0982e1a9005687f7d681950728d64570319a7d1ff615b9598b60d0f48b088714a474794ea1147cbf12a97282f9cb4b96b306f7070deca9f36210c90783457d9041a737b57a6e0a080cfeaef35aad5a146ce9ddc80b54a5f406e52249b8009869157e4138c104c26b39e53dcf63374f638b882bb67179272212a88b986c686760b209e4deda5295e1598fccb53a05ba6ef0b996fad42c04ab44d01c8c05ace38d2b082aa8a01a8e500a2612e5d6cf88b3cf2a2c12807e906bb16b54ae85c45eccf682ba841e820216b4b0d8a1c1b2b1cb0bf2e0c4eb9ed3a71bc9dfbd9cc7dc6f6bdea88f2d843a68c212ddc5b0dd5d47b183f2fd541f89c70a1686e7278291eb74d998f9deb0390216ef26de8bcc4967efb7d072d86c65e73c561304ece93e11d19909508021ad5d08e193927c81d36e7a2479cac091567b5f9c9b37d0686a7bfa265f4078cea5a61943b18e2434e7ffc5ed0edcbc39af6ab4b6eaf35b5b72730e8bfa18d3fd6119e2df22a9a35498316eb579e3adb4a63b82ee786a019b2891121bb88f2bebc0dc5f3359c9022dc51eca968a21f102970e34bb8f8a72a8d3bf6f80119cb981889831c89ef4aced929b99add303e968f3ae9e096ee844a3e238cdd60567e980929cc8ae8cefd157deaf8e3c57d3f09119427524138d52b3424aa91cc0f9ac5c8b957c00efcfb282abfe3cbdf974e2f615e27a3462eb2291adb07453949b548357dc0b7beb0d7d96740c2bb66e027eb20b1c7f618402d7b3e8a9807d42224a4303ca5b3dabf09be7ba9191a72195768da1b98dd52d9aff6ca5f008003889efb8ea50a618a44a29c5d87eb1cd6fbd391eb2eadbe7a6690170d43a288dfd1e7809c70af458a0d6c682ea286c6b2a5cbc22a8ef0806c7d5a4b809b96ae281a2fe60aadb5444de4c88293f062e6b1c175a513f43c2d02f8eb5b064d13456bd092b37f2093f3c7cd863edd3c0e9a4ae901d48eade523598b87f6a8421259792f47679d5a0ab5f19d7ff44df66fcbba1f257738c75822b066e34e784c285adc47b620288c7d57b677b32ca0120a496d5e92d64e42e3e9ba9d19f9b87f25fe42d71de6615efc118f80458f4ee817600c1626c2eaccd89bbe6711d4687cb9c072d4c8440865425bd08b1dd9411eeeefe5ef6528621f83ba91f02f7b50e351666193c2e99420c3966711fce577d6bf4fb92f1b1537a9b8318bd1b31624e1543bbc913da13d2eefcd6cf8d6b3eb85379133ff4aaa02556f08a0284f13b919ea8fcc162edeeceb036a2c23ccbfef4d72a733f9677e83605fbb57a38556de40155aa00eb76986aff4dff1c56e5b5121090e01215802725036c4e9da27de8fc4a9b9ce9f77e19485c0b50e2a1e53b96914f6fa402dbf990eed0d2295d291ee8c718201a08996d63a4817e21dbef7ea839a26a85faafda53d164646591df97c07aff5d68aad012c10107ce7bbe2f110bebf1b6b9c94427eb766726ab996a7e3e1d2a607cf4a72306d73e436755d241298a6c5c79729a083f2700e368b313177effaf983697eb634a1dfa688f97d842208243626cd855e72b1cef6ca0642c2b49a0c846e63cf77695b8a54cad4fc7b9ce5e12949661630f23581428724c95778dcc283ee0d6ccbd82bbead0a07785526c8b76403f59a7ec9c25d99e2a9eb20e0939909a8fb10a3dde7e2bced8f6fc738d4e216cc047fc78edb8c0f4af8ef9741f0768813d67e7e9b9e8051eda3e2d3c90d985eda355035214ed542cb38eb751ea81a65c405a4413e719b735d1475e2d8d88cf484b78d6ba821cef94c007c10432631916196dbedbed79414aaefeb5f8f2d808e06fbe00ff85ee1c5b1ddbaf87e4d94cfb132f94fd055edace465f428bd96281d8a5647e1fdbf6abedf0baa8cb45eba37cdfce5c5dd526b9ef00c389a9d2c85d0bff5ead07bc75a13881629403ef7c29c0f0f4e1aaaaa6e99fae70f374efdfc0a2953ca7b241dc0f45c6eecc44d4557515fd272891ad5b2db4f0f34fc2592bd322a31c13836365ccef3d77b3596cd60c19c81980f5c11a1a21cbeb53208217e762e39aec48326ce7fc5dbf446c862b202e6a820efc00cf9ce48f798aa2f452351b01da95277b5c276b6de499f9cd0a3d89e2bb50c67e407a5b6449cc2c7d87fbc66a1875258cf00fb4bcaf06dea50026dc192442a217881c2cc401471f2d68c1f35fa7fc713f92352d3b9e384a646ce5b370b65d4fa538c48177a7a2de6687716fc746e98c14cf843dea568c32357e2d11152cd3e20c4d9890d63339341c3920c007bcb8165ac87c3dffd8409de5b5eb04a927a7c0d1aecf9657b404c1316c48b3bc232d780f1294a9ba9c1fa9c93b07c94f128a0b56114f8824450576606a9eefbc09a3c3315cebf29001fa5665e672d10e718bed4fa8fdc3a7f422c419b16e53077df8eca21ba58d6e1aa9890540c32aa72d6db68445da70366a93b55236b89b60c4a77fd7df7e7ff8e2b78020f17b88786f13abbd251c45fdb9ec1eccbd22cb33e2e0c2d96112a943636b015df62a7bbd70ca6b6bc1d16c9c52620378b8c68e3ea3c5f10b5882e07c43d3285d5f8729de57ce04998287e84e23bfd115d798f001cd115b7f2cb314b95f6c38d5e36918a5e85b5a3b7457350ffb5aa8cb8b20667a502d3f73f64ab242277e6559557b193424a36e821eea11945aeeeeb78ada258ca5c170534887151dd8d7365e7caeea0d72feca5d0a73ebf1d24f3af895e07cfdf7acb772e748cb92591f63d2e82d5be23de036cdbe1a4b765ef668ced2b3bb733dea47418d746a949948840c2ca73479c6e4fe6c7de94b9546aaf7e6bdf439654d62affe952d6fd6f9910b88580660afab7ca39454a26c4afd0258b383ee89feb9292f10d5302f3f57ede1bde1c4fc3c170544d50aecba75d610b7f0a097dbf6abf3414da5e25e1034617bcf82fd89d36e1870ccc6532e7ebb9f9cf9a633fad0af8fc88fc21ad1df5c8574c2bae91615feef869996460e33332285d99d43d585fdcdda8a2b6bbec1f0692628ae29718f09fba5bce8931e28adc28f263acf22c390b1856620104a64647b38dfe967d6cf3300093195af40ae6f4b36fa050cb5b8fb344e36c284c2678be62c09c7df9dbe710e10cdd04e22df37501e4744aab2267aaf37672af7f39290c6582a980a498d462cb3210432f27917c478c1c79f54da6a0a31d43ed9713ef99e2876929fd7c66e050411c8e78b7a7556879e9ce533aa7391c7e71eba61770fed8328649ff8aadd8540567c1e505ead48a25843076b62d6626b22839054c863e0e237e13a37a04510af0d9565dce94dfd8ac5c6127dddf066dc0e84f8598c58b26e652cc3b03fc38d54cc8cf5511ae9c4f2145189afaeb85ffaf0da16f5760eaab6484482825e808ae986f5e2b19ac800738edaa18d4f64e2a8f13f05f2f8b79ce5744ce1d0a6ff4aaf3c584dcaf13b046b2c9aa4424d0241cf8e0447a01dd221849087989891f25958a475bc637af209adaa008810988cf206c33a5f70f4a03ec17ee43548d211cc2d22d8181f2d25ea2ab72dc5fd80af57f5c766062b4940ed2169456dffaa808d9e21c61ec3453514756f6afa7f8351d9ab4fd36d917a522b07d731e1dc84d72c4132030c5c39947e09ca60a268f1e86b94391525c7b83c4916d1b59b33542ace3a2f1b7e12b4a19eff0b6f8295dc2cfd89598405d397460796df1b70b6316f9c2c570f8948579b278fd12aa695c0adabdd65109281b63c1f10feba5b9883dfa50797398d497cbdb9c19b2f019ef4bf209174901a80e87b8ada1974e91e4d4032e947fb97f3965be96baba5b221ed494394a73e59a72b4a2c2668a5f62a3a82b3776f4355bf5170aab99aba2a75d85c625cac3d9276b289a6cba4c216bda97153362616470b49f31a4acabb360e178e597f695f8fedef846fe480a7300e0dc2143742406c97e754c9b8fb9738160978a5d0dec37e23896e3c5187c9e492a1f968efbf4e895215b4aa3525c9f50b87c86b257f2de67abeeec3dabf646271accc343e596ba187f3a207d5526da157649972ff17a4b9f7938f5a917fa12b1e886a404cc4d85d49933c5e8b8f7a294990a9f512105a43483825c0cb67ec8ca5437fa1f33534fd54ed154a631651edbda4669c4c8344bf1ff3442741cb969509c8a90047457a2d73e06677367c36d5e8f5c837761ffe9423adff767986496509d437f3a99c110d41369f8ca56bc3d499cea543e2d98156b488f95fca4f82c756f2dceefc6c68c8945013b3ea02063f66c79db9f32c2fd6ead4b1cea7676089ef90b24fff990e2c7dcac93e5b79bb2c960bb7811d0d41de4da3bd6f4d84e840da208aa19e029b8bf82392c3abe4a1f9423676cfc4ca5a83fe1dec341154a47da8c7bd7b3a624d3d924a0388f0504f8eabd62d2d3f64378b6d83b34b70813221a4830aae1160aba2a1a8c8e3ce829c5390b9fb2a0b403b2d2b46526298b8e8fdecd1c9e1d94d82fe2b60df1d4e50653b7cfae2c735f363446e9242a1655d30033fdf98f93f558d665e831384c02aafc6cbe0f38f6743c42a92225ac5eac40a3ea77b1d151a18823f68402e64b721fac8639a613596391e719e8226474fe3052de2c95b5182fde4d7da5aeeeba03392ab82cfa92bbbe8d4ca1eefbc666dd07020ce50ede2ff7b2eb4924ea18ccc668c4a0c355287358bf527e7bcbf3a07f433014aaf686abeab8f50314350acfc910a208d979bad9a15bbdc538a32c522809c754a5c423f314f5815e1fed2363d4e898f99d6263e182e261c3bd9dd58d6a601bf65e383d8c0629da11d733ac7b3ed45da30e79c585bd2edeecd875e87aa4a8a5ce53dedc3b26bb373baac8dfac0354e810d54d484f9817c583bf579e9b9b574e1aeb6de65bdb8063b70dbfa133fda0a2d9783b8fcb58f32701f944e6958d2e6b8b5b751450c0018426e40275ff7adee7531f115a66b4da663efe0d984bee459143ade57b0afdc0295c6c8f513bc8667c64f1977b96d570ca7881d78aec3293bad4e1b7fc9cfa2f03f45107d52865b2edfd2d096f07ab11c6661d8370399ded4818626d8e300e3f60010740d8d143a137903112973a4cb05c854e7bbd4067942bc1bdcd642c5488aaefdcbe11d045153311306076f6d868a2530e8e0422e2932fbb4ee13c5a6cbc7f3768af385173fa1ed6359e04e49bc1e20f8d9593c5c98b5cfd67479e58b4c484b76beba21a64061113a9b580369917a940be12c6c17f229b385186651f1250627c322e654ae670d8117f38c365a004bd987a2d231abb3b7b5cfbef862216ab791fb6c71c04e9e50b1522677e2f71cec4f4bd0a29c615d24089902663948fa52c11ecfb4411cf56d46061830e8ffe4ee047d858fe517db618a86a2f28c5035ca899a2032c85a0204cf966d628561c40a853c65807b1f561587a166bf40d8cffcc0c745ee79143e4c63ae564f9b3d544ef3535672f5f50bfaa41d59ebece830ab9be2aaec25e14db24e1efc4f839ae0ac9759f64fff55b5930cd0b37d0317778b910209905674cbc5e435ab299b1d0cce4512ac720003cd8ec168d734dc035fe5953172591400e241652e330fb7ab5c9b665509dc4ed47df9e47e7d9d2d560929b5b2e343f6833208a3932fff3dc6f702d37bc73c4cc979fa4cee66a9047f2c33eb577bf3d94934e42015399c43f7ed972dec8b51c581aa6efc0702392f4064a4ab0e38f3a9cee74bb922dc5dcb0d07a53923f40c5e7b85009a7e1c90b4ac0293cc3453196b0f8f781e5215cd4845608ce27f91763cbbc51ffab51c985f3c4f65c6078294a6e3c7f3b31201280c6973a3b782e0f69d3c7bbbeab957938425f5f76c06c41f2e0059c6f8ed0017f52c434247461bc29113154d6541bd47f4d23d18c9a6f901d2aca9d6a122d4e7cfb79e476e1291fcb03e3486aecbf0261bb6cab281a55af24321bb34016c9d7270ec38ab5b63e960d92cdd438e0ab846319f72577d7934c1124fd94671bd299dd01baec3f2a0ce84b37b027e536e2ebe285d00dfbba4a04c29a516a9e98c4b7ecb0f0d85866bd076445342dcb36f2f5a4877b277c294d9d8ab18c9bf2324507753cdb192197cbe178dda94c7cb6977ca40a3644fdc2d3c8f4f3614d8e940a27fefc850a439fb37b44db1847b7f6a13a4866790cb1bc9b80f12b496212f60ed30d9f57755d9f07f7ded75f8ee4d545cd8f2f5eaa619eaffe2a4e3b3318d4bbc23e02a4f5b052e08942baa8e41975b6aeff937ae419a9c588b643843ff4eba488744bc61b1c97c35eab0e0bb2c337251dbb82583e12cbd2c51db6d0be02323daf521d6ec32de460b01672df845dd91d48f36712b7d6a46af4bcd9dcb2970837383c6b11c043fe08cbea4c91a1dde892197dacd99ff4c276c867c1022b4bdc679a4d1aebdac5bf6dc6302476ed1d4be89446ec4ad2c27a544722dc78e0c1f276d4f04943576112f8b810d265760ed046bd2afaa67abb765f74618ab010c34a22fd8e007f23f085504056df5e1fb12804b96b3460fd010d1ca45b40d326a102a4266bda53d311fcfc6960b74d431491b2b7b9fa1cf5562c82d569aefbdcf2c0627a481d03cdd1bf83b4fe1085715b3661a65f2409a14ac2c92f07356707ddd60ce088b3e5f901d182a3232d1e43cd7ea846428e617c4cbfc0b72d0de1f5477e4e06c87e5f2a22c5aefbdd487d5bd4747d7b445b1ed7abf18d334cc17db2b4f7cce913c6e19db3e8388bd15160ec03806dea3a89775337f611bff08ddb2be577a22acbcaaab9d397bef9c36428664b60efc44aa7447f0333eee6e53d6038f2f5176635ab7da3215d3167d2ac7b40206cd6347ee531cad53d640bffcfcb385ef79a86955430917fcbbdaa040c77d3b171c7b2cb96ebbe1a8487901fc07852ea96f5c6c9db2161a1e045086beb64e399d95cfd53adcb181703651d59ee9d309138cd5b2e2cbe0dc85ebe860b6169db2c48e5bc6bc9ce8f43966911655578a29c174955dad755ed46b848a9feabc1abafbadbba119457063e119c7b872d79ae469be56d799a32ce8346c8ad6e66d6994a8a9d82bd4b845072b615740fdc4829787c191cb32b46a9a0c62ead8f2a7a5c3295215a0b70f4748882acd80123d24523a1e95f1ca6ed81b7427cae662801346a38bca6c886bb80aaec4a0925de0a8d4053aeb6f0ff8c4b524c018f102524403c4b48ab070123bbcfdad65178d830894bfddb9a85fb1b2993d1196b204f73310cad0659c8281a88c3c6e2838c347e7edad2b16c7cfd419b3390dc91667813f21e60ea5a41f7359d21fae3c8f4450177d26f528afa1727a96d8e46c243af2fe32b5306fdfa362bd55753b7de2d82d0f831bf74773c3df4bea23cd3a21d3543376d74238c92c4deaaceb2d75f3448b1a2bbb8a818c0fb0f3a8e418276b3b7f3f8e7ab4b5cb243a2b064ce1874d86541ad2fde5c9e91e75c77cd43453c28ba05571f2dd9b423c45febf69b199c198d06f780f49225a02696790002bbcab8dcfad0f72daf5fd6ebb31de43335d67c1af8e557dbe7d52c55b235a33dfdbda7e21137a6ecfc8481b01b73f26cc7df17908ee7eb4bb908f7292e64e01847c0fc4e9d9cdb112d10afd85d8fd9eba9fa1537fb6bd343dd5d40fdc60cd8e1c3987a87fa0c6bcaf7722bb92d7eff728a66a6ffbff706944bd2fd123fe87dc84eaa57fbf3e122f0f6eba0101ded2b3af0c6bb41506f63265d25f4385d0f3beee53117af812c0e5dbc7b73b96dd35c498f83aef3c22ea77242a1baf1eeff6c035044ef0f07734e4d10e45f02173e651d7ff3e57bef93fd45428fcedf84d1630c9a336d3bc49abc28d30d9ca945d3c4a4240f0a7abdbc4e67fca1dd0c62bbc76a2b979d9ceb003d6723ba3c810cb026abe3dd02d811db685907d0af3468ad3e097de54d5a7c6c45ac3c1e81082b87015437e5a1e8595ea465c69bcd6b9093eb27dcbcf005719d69a1814819fd53922f662b5782dc6fef96de3de2df54da03203e88ed5805342985a363ab26633f299d58140da37dae810207c0b3d1aaafb8124514ab8fdd48ca8a7db99a8b1d15b4763f75084f428294a1cbae16a2300723fcb3b35a82a58d4e453ffae9d770d9d7e6400de764d41236f46c2fb61d9eeafb9037be4d7435e546b08595bfef44872550fb1afbcd580ebb0070d234203cf9adeddde23961e6f05d9e8e51670e2a0b85041e2abae2db2335d040cc813e1c0cc45825557bb41c9f5fd1eaa5177c140bafbda4655531fe30274b4c2b3615cc572476a9f59a89cb24c62b288957bd1c9e8ae02e660b26da0f89fc7b7389751aa56a58a160b9c87cddc8be58b61f122361d3485ce14086454623537378d25674e16307cac67c222ff749a56bf3a55f581229a1acb287b93a5bdabaa0fc1e04a9e0584ca1b7e793fcf1fc383ef18e44db371ccab793e6b5124b415172b005c54a8cdbe6436e3ead35bdbd85cc3905c6f3ef5676d3c4715c08949cc3c3a4acb34e9ec2d4e7731d8e9d6c65ec6dd5624ef44745a5bd19ea73505bfe70a529ab209eb6a5f08ec2fc44b2ab9fd513d65f82d9e22fd8d4c3d2624765df6794fa18f7aa1b350b05bced325403969fd0f0b228627b41dda52670de95427dff82d55ae47a379491f1f20d4ececeb1a4f1656b399e48f5a79dcc9a96fcf8d27aebc269b0fca81b2ce38cae160f427dbd8465f00a7bab9ffd6f81b1dec4051d58fc0c62736b55b923e7f745ce6fe35f5559d718a1ab9d79eb785ba51174d3592c7b5a78447f7d9af9d97b6a6784f770807a280b06c16f373224706f2bac8bb11910b14050be4dc927e1a48a624845ae67e3792c3d7cd1d8503777492f2782bc4ac131c459bb57124b5b8eb5f997e296559d212673bf483b8fb6f4aa545bb346492535290ab5e3b5cefcab3363e84ef5c0678ec626d126dffe70868ed4646b26cf8f759c8484eea7d59562f5705d94f579a990ed98ec9b5efc2d40de15cef62197452a7bfb19bf8585c9e171f68b6bc528454403b7ae8b453a0b66c6a71f51258ac2dc789001b107f0b752779df484f6c0c6ce417360b19e8e3efc5f15a976b7372e285bd70ef705c67c2c68133457676a6f2ca93f5ccd460eb1dc3d69f0f76d052485b8d4c2b1428ac27173c5483282b4b98ec18e0a35750eb6dd3b52c4ea3774c1bb066cfe0b79f8aa0af30e1ee4a89dcb739e7094eadd621d43700e01561466545b96c233b10a2cd88bfabe9ad1c815622d80613a7022a2184b288b9061b963d99d78b5fea9d26dfc289887ecde68615d45b09da45c7e1de249d2af92d7d92f1daac7cb42a3e5a2cf7b5abdcd4fa94f0183d45f265feb41d13a8dfbdf6e9b09001cdfe3628b9521c7fdb079b911f9603431b30ed665308b532dbdd4c6164397dc599ce0715e530d686711dfc91bb3dbab43cb8093e3caea5492bf19e60f60dc0e583ee2abde421cbffc443a3426f6de6ea2f29c8714197c86d42300182212970a15ca41a4afc6bfc085f0bab52fa516060ad1d00b962817a5dbe04cd0419b2f3d6f8ac4df40d542e8138dea616d761d2f56b78ae3a4b0ff7be5d2a42f05f0bcf093dbecd097604e4c2c32a72e46d579900a1e71ded420e40ae87f6a3cc26804dd95f6d8282b77df6436673b114785094ee57201ca31dd6307d30fef840a52137d982d97c25e53defc334fca51f5ee1f39751d29cffd792787ad566ee01de4446d9f93c12fa70523d2e59447a0ce2bce6877efe3c46db0867ac9864b394a9963f94a70e7230eb8d55e25530da594886e4985e8bf945879ba8d75107e5d49617be1293448733844d0ae07ef83895ec0c1559b238eb151b2ca46a507f1a7b61d1ee45ef79578eba059caafa0f6ca02cb950fb801cb86968080115365b38c2814de31eee0acce16a687f879cca5592a27562450823d9299def76ef8b4e8001959dc23ffeddd6b91988a02a2cf1140fbf587b305999e38bdbf18e97093250f299681c0fad85bc9fea1ce9ed2934c840353026f34a43037ed25c505cdfcd56ddb7ce8fcd60c9fdb4f85e117b74ef2f95c0f7de21acca523e4b8424c8d48a0d6037a2e6907e18e9a3c3a6443cbf2aa0a0572138cb77fd4e5b684ba74d5c4cd134c77084a33202b417a35cea9728503af3156f647c9eadb3457372d653850cb264164b173ce5673d6d527d3f2d42d8abb390b8a761289d662165893c7c650fc4985836a11e315e7760f10e909fa6112675eeb4629c7d2624af472b4d99526afed704952e9e72764b33fc801ea65d112720eadbaebb02c8f183f94b96f1dfa087c13bc467869fc1df0bd76a35121980174ac4c6de08c67c4d88aab5196bf1d1f7b97f1c1cf5ba25c5dfacd3c3830bfaf253506cf047a7c2df076bcf1e3d7a67961b08c75c08b63bb8e4f2a77152c7b22ea9f0bee2d7a5dbe7f7a2bc412e905dc267eb74afd960f7e61f2914cdd17882af9b4a49c951cecdacc757bec72b46dbe2c1ddc48d24e7f58ea7f507aac39f2cbf1d51fa84ea08461ffe5298e5c716f08b984dc47d0cd390c5a86ea7bdc243d066538608e788bab73f1bf8f81f25c388624689e2e20689e9775e857e3147f97028189c8908520d0eeef1291a2bd0bd36cc25ee956058a6d7e45a11aa4e687c93afc6b11490fab8c781b0c14e8e8e6cd153057042bc447622e7bd94f243ae28d911a170623615b5eb991c0f6ca28239c713bcadca7afcc856de1f1445906785525df122652497be186c2c2841476ed1699d2f2ff5f3af369fe54047080279ad40b178332eb683c1e888af52b127e0d7f209c93f7a3f3a263880abf02171d959923a904beb32a62644e1867d8458c21dba84e318b342514439c39b767554ce694b7dc628ab264a01c61066bf8e2f57e674fcb8309d43502dfd38365c6f5e1df5f69e7c6bcfe090a618f34a79c92428770aa9cc4f91f1cdac4d8437ec3b8fcdab4c2bab920e80555c3fd470457ed2f8bfce17d6b816cab622ae9f0eef7283c24af9131f56600ac34c8846c9fb86364027ef920be4fb1f3e81d9c166b5ab44df50dcef9f8d9db0cbf083a92111b90d7f3456d09ee9f9c948e35c6939566bf85d99e64baee89144eea17ced9586d3a057f04e4b83cc0d1b6c6edb2571a583ec59320a899566d36f329a0bfa26704599dc43ab2aafa265ab23f298f52a7176831ce2a8b43be819cd22fe8ad9b75fee2b6a224ab261c7a6ad7cf48ea15e986bf83a1fc681407fd83e37dd1f2552a6c389ae0b57832a55ae7ae399c90e64e9cf3bb3fcb258adc90cac1abff46ead6fe420c18ac18ddcff7956f9ab598d06194bb8010d4e65ef996b930ce2b007d83ac9f7f83a9cb57e3be5efd95ed8aa3a914cf8a079b0f36fce0076c5458c353d517f4b8d51a6b9c99b3356977e6c58fc7460361d4c5b96d77af5cf744a57d748384375f60a2d6ace63c53ac5b7b38f2acb247e576f30760ad8c5fd8dba992dc82d37cdcc9dcd61bdc9325954dd4c29f9b7f90c1098ac36d47f3d291da27d0736935e9bc9910883485c254c374b71c1e68e94a41abd74cefb600681199bb44349a4be3c35adb08b136e9421501b1c1ae487ba4052f36393df256af51b27963e8de4aae947a415f43b7ca897023ac3a184de9d066753acd88b54557aaefe2a70a048d5945ba3d5ec5487e7a6e651b17394773d3b4d5d890d3517f512821635163a3382842aff8953cc3dc4163f0ad4051216ecab61b0396b9c27bc1235f72fba4c328391377ae9279151a70dcb16f49a76c7402d6235f45cd7922505628b582f7d72465eda6ba9e849800ad563dc0dc4ac2a6c911591a2398599e93d897088e7ac7a1768d0d437c9c9b5a31e2c71fa69ff39f241aebab72aa21c69b47eabfa0af9b8c0099de2f329ebd60df49ef118cfbcfe0de1784b55a42a6868f57c19dfb208fa243b344dadfd415ee68b3697eb94cd3f883d663c63f76944bd4404cd44ce5bee7f2d5a4874a6dbd884111eb6d825bcf960e94088c33c82c2ded60df14f9f2aa45af6c613a830a8f9ab40d2184cf0488cf083d6a7f26a78dc98101f49c97795a312b958a7340f475735629a1149df76550611b2b89d20eeb324276eac0b96bb302ad8e9d7b6e10bb6ba1f08daccfd3dd2f293f62a12863b1ab3b6b9d18939b09b57057a4edbc94896560cb9d5a4ee32648b64dedec097b0d4e5f88ae13f8a28c6facc91ca72a8f538a92cef77fd14e9fabe972a709b4be4b7d75a1b80265a0ed9c6c48c1a767875061ba98eae490e7fad0876e2a0393320562e612566dafd61b0f85a99356031b45fe503c91e7848af616441a5556faa3dca5337dc5993806a9df5f4d00bef558678c0f359ea7047ab049633dc7eea1f44b138738a6eb7a209d2ed6c5bac4edd018dcefad94137052ddb4671ae443a4c645f708a391e2df93ee7c95e6a73483c6fdc78abb80715a3b1f1b0b4beff984cd878db523c303914614bf6f93857ab4064054c5272977373890d58c90a274d0c71294cc5b578764d3a0f2d3210677311f6b3ce6b691e8657da55c671fdfdbe5e2dbe2f92903aaaccb35cee1158fd1bee55677460c17e4b5e09b166af58c10a59554bf671b7e08433eeaaf25de635d3932542967c6d6696e2ff5aa84d8509a1d62a7bca3c5ff12d804b1a005e8656e95e828c43908295922e67190acff1ba5a6844e24cca7db51e6804f1528f63d445473fb0ff1d9abeea1fb489f03617de3c9d1ddd950d0478b5417e8323d6a3872fb2c850080a3c97e398d622488f481521e984ac39eb363aa72531d847ef690e98df9aa2e1a245fe561deacb445e1f0cd14b547382031ba53698ffca8db5bd2d0fae6ef6a4a824c94f3f532a16284e63512ae612940e29071f92ca961830c8404d9ad401f4f7540ed9dd928f4902e86e01093049d5af958ca45a76ea0aa7af317a47c2c0974846370e1d52dc746e9c807c4aa9b51c91dd612ddddeb7cdd6559d103b4c5ea5b7f3cd2fcb835a1b6d6382c1fb48907e361c2a90fa6d116dc816e82e915c00f835276d6594dec2d1f5ffb074af5b00f6adc1d78eea973b8182e4f52d5aa07c2e6ca1455bb03166de3da9d66130866b4d8248908f8de3d87661c6bf5fc65b6d2261c1753a15844b152b747957a817e15427ebc8deb0a171d5ae0247f43349d3ac6a1b424de2018235347c994d712b5f73a360b9143caca928e8f27e833e98965419cd3f7e1016cfd183a6a7f9d9a4b5de2647ee130d9702810cb4216cf0008fd4ef960c02df85587dca58d7fefc0ad84dbad2926580e94be532c18020417ffb37971a7d51f04b439707bd2358bac155f9f03055c17990104ea0a2942e7607a9c52531e2cd8b9852607eb4aefae940c6d3cff4d30593aa6a85f77f2ca9bd612469ea61bb0ce44ef20e7344af87210e3ec522bb34c7f2d7be0128c6ee56b31b7dede899a31f55ab1db52afef3c899a8ed303707acd12a3a5c5e174f7e0da24a22d88ce80dc0bb9b3281a54df6b9577164b5c4a0a383f4546bf0a480e8ac89be89ec5d46feaf282e80567130eefcbeceea0b0a3b8372036b690f6a9f72b8fe3f298a8b161aabc20acfdcaed464251a39923d39b27343c66fcaceb0e4a3a3d7325bcb2747100c0bcbd876053c41c4125befc436b0ae63748ba941286545a673b78bcc2a2a535a8673be585b966060efe66707239e03dfac2946b825867036854d981c96bdf36eb870d4b5c1c0f9d11fc4cd6e1519a659307257893371dcf177e4e44c89d9ba229944598f5b731863a74df698ada4c6270add3c0b17f0e4690e049c473b8b0406d2847e25a300994e8ef1510671a666bc815389e9421f5e3f59f8eb9700dd46cea6e7f4b6c280457f69ed10549682a6ced2a0f7f9df611e47029722ba1af5f7944fd57824596da7943434aaee9ae7cc615fb93f6b300b7948a1bd9a2969fdf6c4e5215a17494420ab6b8dfc0437fc480f1bebe9e7b4292f9d53375b3d9198c0bde6f22a21295e647446cd0a31ae19c288a30950983a1cc00a358cdc98827f461f979ceef1edd45b71a37764d7c068bc9fec34e3613a4f60761cc772044123b57a3a76f8ffa443f57ee7dc1bf7af975bd734753de6538c80235a9982a462864f6e531b6c3ae13789dbc11892f64212b14401e388551ae91ef96ff0883c19808514321f5d99f13edeb9c3f8b6a0b55344194080001e48b6a5787db9c2ba493e17a1adbe1202e2a78082b5230735ebc88d8af2dac65b8a12a1fa9d8e930728f686f366b15414dd31ac750a757189c7da969379437838dffe608c42d942de36b07d12ac70050ebdf3da5f466a4082b3c41f3bc0bc276935fee5b5a5d282da1b07d5948e5a2896b2de9d0c473fe6f3244f8da3b60cabc9c31f0fd1622c65cdf7869a826ae3280c86130434670ab8d88c6330f642eb292d1b07dd2a7dd5c2ef9b6db9a13b345dcd22cfa303b3ed3d159da4618a369613995ba691f4e94d679ea8361676d521f727ff13071b69bb34d1434b10f84dcce3feff4567a0ef736bf73ad90040f50ddfbfe099d0cca8af98135aba92e15bb4038687ded1c3fa11a4510131141ffae2aafd01b34e8936c1a119c842cd78e3794344dae1e312f821f8c9b6356b6e1d2825ce8f63cd370eae5f412b2fcd3a1239c34616f5aefeddcf9b18ad1b8e6a2892a249e5d0453f3d978c01f26e8008c25984c27ad977e73da2bbc656de7b266ddd8d5b5a4d2e8dd20c40609a740922a6cd8fcac873fb7b57aaaa90eb454823e372da8b219e0463ef4b8a069bcfd88fb84d31180b9c1670be16e6f400392bc67ca810a6fcedbcf61c9fc6bad1246c8f15d60412ded264a8743b2db49ff0fa55f5c665b61343d0e4232c3af01183c6f5cf22bf441085e0670d87f7a8c83a687ec497210efa046fafe54748f3be1dd4987ca12f67134c90669ecba6340a8b6afac88f5cfea5577d996d803e28356a5f1a7245ca12040806b68387aa453438d2dabdf255f224d1fb3524a845296c357df17b2b79a664296f8875039cd694b54bdb5fdd0c3eed2254ac5965b0b859dbdd700f74becc82373e7a036c52a1c995a43104d07a74e7c1f7107a6d6620c4aed848883be828e11631763479d615b9e5cfc352ec8aedf94553de02ca5b4f2675b6cab2373424fa08a6f6e23c48c128952c5ab6cfe26059074e1dda05406a3a123b5ac49e36ac9c1ebf387810474a8a1335abec7f9bf58711702f92e76cbed70ca5634e8629e34ade49bce54633d20077567620450649f03b8a515bc634d90e157448b1fefbf45b8abd7a529cba65df0a61ff59ad733951df1dc5e0b2e1ee79a87cc95a75c169cab1e27b4f093d78a3c3588fd4f40a82c7a8cfc6818ce7d00fdf9cc842e07bd183d3f39b3a0afe25db44a2da7df7af01a4bfacec9832378f80ff48e15b9e1c20d5f4d52bbf3aec8220b812eea24f82c59de09809923b3785c72f32c1f39b73d4425d0d00d89a082287ef0f667051293832c9c1f1b6fef681e35b100a4df5beff5901e0a0542b302d94b9b8e06edaede682cb88f54edf8678046496c234f745db2194893466170785c2d3cc6f4faafb257d4ae925e5c271a5fdc2b3e446d9da0e3949bbc6ad34bb60075538e5a0f48c7c00433f1d7b2ecfbd123d6f0fbd52679f2d5bd000158fa2cd85ade599fc2a60977dd070e8c32aa8a18799ff899a89a80240f64b52c9654c6f35cb50c4eea41b75693aa36acb044a5b6305cd8fef2aec34fe287e22dc679082e8e3616fb65d24f2091a128ba34478b74e9717e0ed739f576cebdc19eb8ab36ed82834339cca2c47a667e1c4c4eb0f0c622bc9fc7c9fa72cccddfb508f3a386d1ba2b930f490cd5a5e4df3c73030e3b18bb62794cf323da80567845abf6439d87fa63272e2d2f780c291067c034938f001de0f771a87565757418df0c2213363c2b749bb67c755cecad0a678e35d0a28199b957cc16a9b1055ac05830893a6b0a37b84a443640d6c91e70250533934c5572170cba8ecd190761c2cfe117c2a43c00f5ace7ee9f5279b0ac06ff8e12983135628d6da759174a1c963d96e37e55642f9276756aa2a19f12190563ab551244eb3a548d5b3d64a4a9ff82ead7c1d5f9bbc5f52a16504efc16e6c32d875f744e709c22fc477a6034f4e36dbedff859b211efe77cc79f7f8f632e4d83fe3e3c3867c962384993886f328048ed5f966eb6ce421e4d4aa9909b32a733a8f63feda850fa0d8aca4b036ac035f402d261e9a41c8b9c98ddc5fcf4eb38a36a58677c712971ea60c8a86101237d5016ed33299fbae2c1043acfb7563b400406a5b4740ec3062834fbbe94150da51d86c453841335635f9c740238fc2ea06fc793c25bdf61ee726ba0db99c1cb80e601d18039ce297a0d3cc1b5f8a5c1b5e5e1a82bf4056bd275e0c29a62e750d39f22d6bc8e7cedae8cf397e2da796b4a9f3268bdd7257cd7096bd14b0c51774c402a6058d289af3597c3dba9e6424e8735d184a5927a4eecebb2e1ed3a73421e50bddc44b710f024d8b02ddad518db33b7ff13b2e98fc64cb340814be94ec8c29105a2ccc09cb9e5003041376d5f94ff35615e66d7750b50d4aab26c3a5ebee652c943b06292f4552e8819fde76f8fb1119b82cf84c523a903ec670785d27a92c74c6b79e2f49c3816b7d5b31ade7f4919d0f7b9a1ddfbfb0ea81f647335bdae9e7994f39357083dd3bf035d92fce8eddf2a1e2773e2a07e9d85afd9022b103982c299b9f4eef19df7491f700939200aaaee2118a56ede869d0c67280396f654ed5e83ff5c40d618c6222d5bfabba4c2e514a0c68474af3cff327a6dd67c664e41d9229e483e1cb2e2b155d03b4cd58dc61827504a406ec6edfd44add2fb9fc0fbfbb543e94255709cd523c27e28360b6ad1b8f39af4780758ee5e619cbce76fdda44d7367993d973f2b57f084550e4789a616fcc889af5a6b4309cfcb2c8c507826953c09e2ceaa015eabed49c6cd503855b19f66b76e24f37408759db603539c72fa2150bc803526ea4331ca1c7850abd2ffd9fa5563aec7ca6a689989961615ab5c9ddb25ab60bea681195611561c8b1ef505b725e4027d9821548f9ec573ab053de158033fbf010b567501db5be32803f4e2c75c2da9006f69705f5f889efd1a6c3dbd2cad1c1523e8390795f348ee1d5e0caaa5154debffff22ca89a42538d4c15da1636420cd3cbe30c48721730cc7a13aa3a0e2ceb1b503ee8482dbda9805313892433723d022eb315876e19d0c4ba4b766f8509faf202cbac09313badf68cc39fb4d257c7684d61ee54bede3b30539bebd3df2d99e50d09f28acfce33b641f9bc8ecf1c7654fae4279572cf5c8590170231c720658a2bb9b3f3e8ff2c3c3e938765c95fca71a471b681da2f097ec10b112a130b597777449ff7e1e6a9c5399ec3efda43065f94b77691c4f0b2416e9e5e988f71be29b2f0143e9a1ddff7c83f095ec6162cea38b8c971bd845e173b65a1ac79ff9e74184bb2679df20c9abc6142b79954cd802a53fb2b0b798425e88b6c8ee95cc5f178679f8ecfd89e8a1004665232712f867b5bec2ddd272704afa8c201ff95994d2d3fce7f2eb1d93cdd16e97d73d44a8d4f4a74118d4fa9bfaa9b40241bc84f5a068cfc692d44b56f7f18ca81c81694ea1ef3c04c68009c31a35815136f1ae87420b0bbcf95de79ddf7b436576e519a15563b8ee1d138a42016c92cc2142129c4a6dc8414578205fa21e26d485dbaf293fe7ba39ff3f45bca969cb81de2aacf4129e408c3f00398a27cedf56ca182f3a4163d557b52cdb0ab1db81b3c4ceb492918bc337661906c4c9f380214d0eee78149a905f745b45b5999b28ec7a3d2855349f61bd8413a3c242a98cd3df48ffbdc2ef6b08b6ecde85ce79b7b32f90b4338142ff91866072411c67b613b05f62b27f6b04c940db78be528e2f83f5c4bdf29d173ffc16fbdff98ffefdaaabb32e6061e401ba1f3f7abe3c9cf4df086e1b7f6fe732ad265667162851166bf3118fe5eea4d9e62e1a6e330ee72f221eee2da112b1f90381b35949963e94347e4f3c839de314f41655303ae22622901ad5ddfca273c148635d0d0e3f25bdc0daf19245cb7c976cf00a72d8d8b9a2cace0573a6e4606f589c878d3628c54080b07f693dad4387f6b2a0b906153536baac94787c69dd1c42a455e78b5f46a65a4181292f50559d46ce865a8313c7f23f45cbcf2beec73c4e678a2ae61705830f6e7b4db70553a30a8cc16d3a721932b43c4c647787194761fa69b30306231cd35b3b481851877b34b187a517cf5090904e3aac8e34db0e458ac49f2a680118a1a3150db8751da5216ac8a50daf2a919536403d60df5115ed8839cbbaa243627bc1e455aaa044ffa02d9984d81ac075f8a822098f3f6363527ace856420cade9c966504295199763123a8f76e93eb6a734b01f425e5d5b04a515994c05fac837a45f2d5312db2e93a4a3aaf79cf31c1e61a88869858e173d0b1d1d9bef76580b32633d0a5f632867a9cce361762022a2298abb16a9d45e5e665eb48e67507a8315129cce5140f5021258264ab6d3d0ed7b81e144713dbcb604639429d2aeab804c038505e5919d02b5b07c164931791bb55992978626c3837a50830c4955208f2c0dbe1b0a4ec14bc3cbc308178f82070418629c788c6b92789d9bfa49760a5ff9ce556a8a266869900dfcdfab46b197f5c583a1e2918ccd8d9226f33df95499ede4a7abed7793ab3578271e5064fc2d76f575f93f72817fc979c7546db9f18ed67245253ff3b90035181c3c488ecfb4494f3341c604289c64717901908b8a15da79a9cdff98a2439f4d2d4316a3c473ced7a0c4ace089838d1b83cbf1d7a84ab99245f562be60bade4f846c66cd5c1fb978e16ddb13a2262cc05f659ec2b04f9bf183d84c8c2d8a42b93fefcf3626b5c14b0ec9140396fbc380f4e7442dd9c4ed1c49f695f66b7c8aeca8901bdc47f9d2d564472085b76dd40b5b324ade53bd8fcdb096243d278e8c70343e3922e3c5ed9f0d80018a28bc3f7573a5267563ec696985b1b7050d41bab6a38e41bc596462739d5273c678afc4c1ebe7aed14d9d62b1ce6f70c088da868b46c95055d86b9aa140f2e7c56f8c39f22a1539cb12b2867a9274522c756e3570681db302242314870fff042a71b75723d954829de1dc569e86c4c757bb75b1c543b5d8cd0c7d1ce751ba3a22bb4759c44bbf738ccd7ee1e0d683281230721c8c945515c4f596e934cf6465baacbba5d5aaf5e0ba4c3fbb3c0395903b28f610a3aa860af66395ca483e6016310200d2fc7093296c1e9caab35a0fb091b6dea5afaa78de17fe9385bce9990648f904734b8b009eafa6984ccae766c106b3dae79e7b76e8b986e8932b19d378037662010b8f5bafc2b6254c441f699e4483c35fd50031c97b8e41633ea0366c48105abecd1e263b3b4d762cfbf9ae6107d89c69521547a722cf7ca7e75c07e53950aa294901186486a57e8122a9996acc24c1b1b74d847490bea2d45c579d8ec1d6207857c88e59544f9f404592d1d936b882d2d4164f15e8724d0b8b45321e925cee1a0b0ae16c41ce28cd6591bae8bbfdcac6e963ec20cd3862570d2199535deeb0835fad2d65f61a5a301060564036c777ed08333a3f1ef885e9bbcd7e9aecefbc4f07c5562893904db2da1c508bc1447bfab8d0fbb9853ccad9628c81f371f4511a8c32cab5fe33bccb551557bc7bf8f900bef747bd22ebb9b0a3c68448917f71fa2bfd131c9802640d7810b5c464901d53996c629f26db52e1f4fed65bdaea8ada428c99e500a34888fc135098dfd8fe11307f05ed6eac108eb149e1b28a5c87eb2c1c134be9cd1c29aa00abafc3f5c6fa78e22f2f1040092732a0cbb7bcb483507f08c53732d6a08196feb0b73f9761801c8e65b93c822e18d1692de0e6c21f0c837e9ade7d27c2a86f13727af014efda2d915e64dd9a3d8989fa38714a18a40523f13bc083810bfe7774005366765c7f11eb7b60c871182860d12bd6ffad58fb01f32a4a9a89c60af8823d87db1134ddf245754b7d3d5298186de14243a82a7eab0a9fa71197996a201f64a1dc501f4be937b01bb0dde35fc2d1f96e62841b21a5963a04cccc68b1018dc3b604203fc39b6e55210ea93ddc50d1203205cbc006cda4cfdfd739f0eec6a2bcd94b39971a6703046cb5268e8fe0ca74510905fffc7aec5c3b1377704a52ba63930d0f138e756f30d9cd4fa97bfa166c5c03fec08e1e36ad50a30b57a454eee764075a138c34198a4e038c8c36b8e3fa6a1b9d05fc928dfa463e0573ec624f44ca8255f447e836b599b8c6ee52c4ba413a9e6b89e7e5db07ba76546d149d2a4e1fddc51768c2ccefe1234290f1e3259364fe68326717cb8c34899d98c82d4e232f48388ec4bead25efeb57f71ec6521358675b65eeaf3f1062a54bcd91893195549bc55cb3359c3bac6b3c6923e8f1da6d189a015c9fbf53596163a0211dd4b3b18f41200473e34f33da2c7f293bef712c327dd5432dbc3678a42e80a8919ccc1ff85f3387c63713271b64d5b500dc9777fce18e5e9aee41c8337a36bddc55456b53bcd346a901710c67feee6f0650ea998a863fc5f266ddd02ff129217602af5521bf04480b0c8cc86548d890dc7bc94ffccafcd1ac96712027c967891841b4e773d454edd2113deddf1959b2754352bb36a4151c6393011fb29aeee3267bac5fdd5f88d97250932629f141fbc8399155a56126f234b4331373cf33ceb6816f6d6a84f08a2dde6722e8d97de6f83fa6b5947c61cce66e45442f30268cc736ade5bcac52ad598a7ac516d5726433cab782a709c41e0472019e00013b26af0285eb66554be3053d9a25b0987ce7864a0f7cf31f4a60b0632d4c8b387829525a5b587da2bc2cfa3109cc0b31586504d2605944b2f5d0ee8920ab07cd2cf75bd3a711ea122c4a1068f6b695b14a85b3c21ed4f981e837cb6e2d667ad5d1c533cf17e1d0f8f402b50942ffb5401f7bab3c3a01f16c6fd19f04efe1ce82bc4b59b5f9a157fcf90364d3404db97f7102fac3916e4b4b7841d9801f4a54292e5dbb27ecf2616574634a2b95f3030f4589a278fa359bd26e108857d690e065e63767abc00f15d7eeb96d7d6eba01ca8f7527055ac2ec6a2fa391faeb58f47fc25887ceff7d1e14ae22521025b6dd6af53edd3f73db690db9c2821d0066da75c6a77083c843302142d5b76e5b2bc5bc2b1c163f1f1faf1e0a4e321b928c724dc137f2f8163ff2d01e1d991cb0cfbced4356bf630550a5d1f63ce26581f801b7c9e394ce326db1d06c54053ab305a7fad96936f60c1635c100b1e3ba564f6b8135a549419bb70132983be6943343ed54636aeaaf9ce26fd6e58ed1a4cf04b7bad4f38fd69776448b5b55aed724e985217d3bd7f09382b9907d6b4007a0e25f7b4a955c3a95c23f96b6c942c9e46d4a8f5ee4c8497f691314c212e3e2ba14ef4f23c2e60434c6d9850274e23cb937030a878f088c1ab6f2cf1fe01b8b4342e4c9853011d20f1eff4be9a6bd650653020cd010cff5e669c7d2ee85ebabb4504a8416254bb90246a20b0fb55499a6bb50233d64e2aa94754a403f9804dfc37d0c0d0e2015089e6e426e5cca0e5fd8f04209fc189c5801da9dc3e08202476df61c32389894061bb6d53c8273abc538299960c94723df0775118465a82eff305416e6dfe140c30221e85dc03998b23081dd65c330939774aa3d53da0f6f77e2f57c23badd413bfe1882947624edb4b84161d71fe568ee305441b15b8d99258ed69ddace6d9008abe90e1bfc22aa7bdd4399768bc052d81f1fe131321a0a414e60fc68dea2f368a7eccf836a63dae9c214bf17d06efd6e7bfa4753481d7091bbabbcc198c746515ddc385f67566c2261b064529043bb10dc3c29bec87fff30484b3c665ac3c6c8a610b5a13da4df867b4511a21daae3d3d21c47753dc854976d6af98f0763f4b201b03ddfe78764f81e2b69d556aa5d43dcb86eac8a240ba33178ccebaff1692d2679e39fb1e1bcbdf184dbf65d507f72daddf83ca07f54a061f783e9c1f84a220a17ff8a5f893a8cdfb05394ec4037c3f554243d5fbaad94cb9722a76b05c6420959fdc856cfc371aaa0f7775acbb3f4d37ee489bb2bc53993a2754583dddd52785a72f9b174497e22d71b299af69696b35620c7e1c17cd504ee65a23ea1f3ce62316cad3d765b304887e41031a6eab0f1caef0198398fa8d461fb32c84a96eaa41613079a5697392d49e8035ed95edd5f1d75e7c4d36c92eddd1c94f7bd732094e655eba78336650e936ead374e05336fa3d9089f45b1e8805a87a75bfe3678b72a4de037612a8bd4f5da907d49e1c80ad1bb48dfc7c27d2afa649f0a2ca3d210cdef2fcc8102f372c3dfcd5a593fb7af6aeaf10722484c2faf6f47341d5c1ed327f690288328da6d3f5ed6fbdb19151f96b64358b80531689f694db552a6c9ff184866f9a52846042e8edb3c4d27a670f1a00d11916fb979e4653fb4cbf9e088b797253413aac738d964212a3795413db5b27bc167c11fbb0cd4c16a16c1e8589d6e364f6334e4bd16065c6dad48bc0ee643dcdbdcd88f1598635ec7d8a7d3e31c85dab7c3515cc2538822ab63d640d5d78bd5541d99db5dc186364030df3ffeb494e317182abcd8284fd2359df75cdbee706ffb308be61166d55d0c5a9636826f480c3505e06eada44cdd7e7703918cde36b810f7b665106d13c1cbf18b8bf016d57b4202d9e2a872f6e1589da9ba232e0a404c7c8f22c7789607ded87045017809fbe40b9f7b7a9836153a2100ea0282705fe8d38854a225edcfff07d6ec3de1f7952d3dce8c2d2893629363d14123c0acc3a9e6065b70e7a63f3e89fde54a1797b27cc8415215a80ae82723a2534d7edfd8be8c0d4602474a5bed64ff1fd2211fc5a63fe6c62367a1cd06b0acc7ddf4ff99b5d1b29a9174ed40f5ab1c3b0371738ac9552df48b5963dac0fa80d3033e70990ce0613ab6373580a3ec86ed870fc257f90cb9969e6b1833669c10be0ca37903c772eb7f9a5f936508c86c23aefd1333055024ffd38ae7ef435319f4a64de48d3474495fed1275b0ba969af4471e3d09e9154e95ff10f11a9c8e05e968f180b60dee5cbbc32678880440663c3193950807d9372a2d30222a9742bc9dcdaef7c599650d2358e445632a5216196fd3e8aab4f3078f217976962d74b2c34ac83d27d133ce443b66df6859c4f1317fcd90c9138f81dc63c32c21dc9fba31f9c55aac037a396cd180c605aaa31f6f919567197a4b2683a170fed8c72f90658f190b68ac830f3f0eabe542aac24e46b234fefc488683b22d02e12c4c6f1f53be0611fdc022c6abc6afa5f5f4bdc9edb7ea97050f96bd0998c7adbb1beace80f6606b8623bbae748544a22620313fdee7979da790227f275465eaefb2aa8ef606693d4deb4e51f1351a19be2b4395235cae3908dd7332fe1613e80ad80457ba3fb4b15eb567ed3307f4209e36a7a0aafce922bb9e43a6c5c258b74dfaa09085a588fa3395ce1b81cf2a04d24df53dc43653a97b6b06aaa1f4833987e16f9ccf1f28aba2cc45e9d4a32967c6eef47d1808619e5271bd7730da9220075353e9fc256c984a56ba2224203c5582cdfd59e6173b67d697d06c23abaa64da5cf732f7bf2fd4ad4e79f82c110f28ff1126003e9d40bbee78c77c986d40069a818485e8bddae35c711a4d38f7a202b31ece9023d5fe5bcc321e2e9fcfe367efb0df93cc04dd3451ca45d3417beb8467c5c80f24e9473e28f60b89913909fa1db20cae2ec3fb7525cbece7a30edf33cf639d958987a8495b2f21718acdb05fa78bd37d058c41437c5d78386a312200bb5243d5789cbaa42b910dfba57bded14ea6e30109fe44525999d7de700c1aacde3030386948c63286481e44ac74d9178e7b43ed8a65ba6a9a3292b30c7ca8421999948609b8ca2d199aaff7c85d83c692ec586805e49a05c73c5bc1d54a515a03ba8fd039ccc0b0d7aaaee3f6db5691f8654d6f4cbbdfe90aa89bab7835c5b6d48a66da2b2b963b3bb175949e41b802c71d1a48d12070b35389e591891a9f7a1a7cce35e2232a4f806e2528b1630c4f1f2bfadbbfd089a31c467c9d15edd72b78802b3566cc5f1e372128e53466d18bdbadaaa67c6af62cab265160df491e3ecac5d73dd290fc32dc261193b1b09a50754abb13b60cd788f35d182da9c0f01d4f6bf053ff51920a0235a6674671114ad8fd0c103d5bf4214575d357d2199e3665399fb1a050ae4d9dd03e7f56cd2bc301547d93bc59e088a7cfd88c087b111b1a2b81638fbfb41da45e63e96c88bb60b9e18f2d09423a0f07793e6ed12314c2b0361d24e4b92eebb4515734b1273caee886bc05b9b3313789c5ff78b2f7761423cb1e4003219190cad2e31ec489fcc2b28c83bdce22a3752b112af203feeb6c4bc1831789e068bad5295fd4e2299afbd099412a84cee036dd7c3529ba9cee7972cb2253c2828896d25468f0d77bb720ed1b4cd49d34e446833dcf41a8b68c1d9d20a4181fdd37f5f9a5d3cfe4937dde9d4a8cbbbb7f8100005d3ec8e3a42152707cdeb91361da50c7d6b2e14f6ff08454e48557909e2c746b974ee774d9fe6d176b04d78c682fde2187d6b0a6f5e59d10d0eed7455891417fd4f35e87d301f0f87ebc3f040835f030062a601876dd7b8e9f7bb8db8448c58d0c1f9e349d37040966235bd08cad1cb6af67c52d161e4ea8298503b3e56034f9628a231751387fd4235f424bbe9c4b0eabbacdb8628111761c2b38e65c6e82517dffa89f7a61517b250eae9e5d2c98e39434c7e16967ec2a1d0bdc6b270485f3091c07a2ca6701bd6cc56d643e2c8bf8e7f2a16d7d55554ceed2197c1b1348b9e8d3694253236682101c9489ec16f0a7c31396d10c348114e6887a7b1a3c3a2072d931279addc318e6bc4cae39408b3879e7a9a38930a028cf356a1dd44e105e3500c7dc6e2e655314f297b2a407081649e2411ed97664dfa19e99ce61e059c926aa4e0e999d5dbabd2e9ecf86c7aecc80fe8a0cf13a23a3fb74c9e736d6dcde100e24833cb3db9a1624dbe8331b124e24cc82a0b2f6b074505eb5f83959430c7d752b4859ebb9fb1fa2d79d23ec4ec0b410f31a37b9824c0ea819c29e1feee2bf0679753ec3e7b4131fdc62967a48bea72d2f69a16f7e335ae6c23c389532b4b9c8f496641ea4beee5faca06f6671c5097c276bd0b622fc9a798d6eeae24a40cdbf17daa316b4382d8dd773d2192b9a115da419a1fb8c7e38659181c9ed688bf7eb931b06a9dcb862bd4ee50fce353d83d6ad75c9e854e365ae5ac110988bc7c9021ed62398288111106c7c5370ad019fbc07a15b0414903b169ca6d4af736410c6c55cbe191bae6326bb4b500c8757f42f0d96e611b6abd821076cf5a3e8d74763fc53e838e95de821f369318a96b9c616c6c772eb437263dfe3e499b5d7969daf6692e4ffd97915249264fea6c1875c35732d03335553e3462f07ddf48af92c2e399c8170dc12c1f6e70232a0d972ffcfc99a54fe1ba9476855a8b2203955de0e6a9268f29608a5de0ffac0b699a57aa1549e8de46773f8f52f31747cc5ed7a47365c0089330458509cbfa606c6ff641bb8ab118f8e06ded39bd0bd701e149d301cfc36e71089d1a2497f354f131623b1849ab38178032ded9a009355e9a899ce79d72742961029e4486c8a9354adb2ff8dcea99f7c9000d447f493f4de31bf61af1754103d6a39d3d5cff08ddab82f7c8335f175f9edcc9e08c818f2931f599bd5cac1d4d93c35791cf1904076f47949290673c35982e79cea0ea9c1173368f51574254a240902543d5f4823bfa08269fb7462536acc5afd74286627b2c92473f955160f7e01b60d4baca048898843773aa1516fadf29c8ef5b993970623fa02a84ed3739e84eba3c7bb44f429f2e2ad7f82701af58cb1b5da923a8c645d3806ee021264ed6c87fa8f03a5a8c0e45bcdb5a09785a954e2206b1fe1bd199cfc89cd553101cec44327228843ce491689523be1ad719bfb469ba7df4649d34fe864f89fea988267a08e82f603ad429380145fd544a458271757a5b7e0ea3c63f752528376488d3d28672d19dea9121e881c8961470f67825963ea218acf16e6d2851175f2a7ad0c11499d09ef47f0a5a280525bf1f1b8b33d07f538a82ecdc0fbbc8a013ae1d9e5ce20a30babdc9824eaad4c34db41fa37d4d84dd249b573940a88502b66f313c81612c92f2fc550ba432b87dca417c16aca5d8c7213fb34394581de5ddb3ea7066417b4083c73a32048bdcf2c1208006e63871df5adabb4767f08d5d4046b3791b9b964c12f9a75634138f63dbb99b33695729e456a60c1483124fb3f2a997a8624ea94f393ecb48f7a6a9e82406662a48cd8cb705d5ad02fe0425433ff20b59e68d58b5459d484b17618bb4a3012327219c5f1cb2fdc79ff26e7fce76216aa2377ffc7fbee67326d5fb70a8bed537580786b345d3a61d025ae29514f8598906fbd39b16e57ef62cd6e35fc25322238b2b7594718dc41757245107698a49d11124a1bdfef4a3916ad45846c6abe4fcd51e533a85dfac1bc603fddaf128a2df9798ad01726c697ff143d50f8b5e9b0104a14fc574d8295d27b85570889ef31c0cf0188c3cd46cadb0ca758780acf3bf1a45b7f993f1f363ecec5426af0904dabd24986d060e2553885c099ef7b32d6ffc1142d02fefefcea5ae8fe099e29e1869fe804d03f39c8b41f9115940a516a664da5bc48ef0c766af9673c8c673fe2b8d08758a97055223fabfefade4b022a7a0c10f1544e587f6f05513c109b9210c0cf02d5c3e1e01e7514979f873321700b029cd376b77cdd9398d6693b4860e4c2bc477d25e8b06c56551e894bbc97dde19722a0d5ca3f851e772d294e5f560966a5e8eeb6e700199c79c6c3a082a9118740c0ed59c9229a79935d516332bda9493e597dd3aee783665814031a690c974aef2f3e2bfefe4ddbc887783ec0628560e3df2fbb93dc62965ff38430f40bf5dfc6aab044579880f41a7a3108c6f008a56286e079414fa084d2aceb011bce5b1ebacf51ba18baede8e05b5158d5857690a0e7dbb6cac3d754da3c8657edaaecaf6d9f2d9c2858b10d81c15840f679ab152df0120f32683a32f7df254705bc67b9d0b221c1f288039198a42bbc661a13760789a74832aa455f6ae2073666b7a45e25bdf3de2861b61fada6e848af961facc3579b72966e80f86f7edfda6742c91ff526011b35e37f7965249463c6f82db415a2dd03b203d1ab8cbb5b60b1d74558940507f8df11b61e293aa9587fbb1f2c7c0c882166a1d7c3c927c78419d0834b45b6acc647496e9a570a3dffbd6d9ddd19514c8125642d288ec66c3d7dd9901958c68d8bb611d713afe3b463981f9336b6e3513eb90cec25292fd1bc4cc291faaae0d38ec1524442af1183d36fa002020764c915141e6ef1db6f786d36364c09be481aea428b208cd4e98ca22daa3536e65766606b53f26328af997d2a6bb3df2f7a01202bcea589120ee8804d25894700c250cc641de6e3bd24949ce72690b1aea17985a05d523061bb1ff77a708b46e88685845f868057d52fb4383853c1b97b18f8df991a5025501e48a884d764b926a6566498e2eab2b65ae49693319af5435318939c59724fcc68a974805a73bec6db9a7c62ac256fed7b74b9ed8717ff11203f1650ddfc4f3b5f24bc79b13a34634a888cda837278f31d3ec6a75b572495aa276c05ccdf313a0647e74ad9350fa10810146bd52631d5382ced8184e1ced4803c69a4c46978dd5c6f56e9163b3759f53e47113dfaace3197552f103d8028b7c8349e526aafff59be1b2a1c314cd92b6ebca56161a2592a0ca80d39fb54124fc82a011235738997e7916a84c6cc1a033d8ae9303aeee21c7fd9bf13b7410818aaf07593903d1a7e82db3283d9e383e8d180bce661df19ec646184a2e79f30e970c2070e5e8bf4ce87241266b8b10fb02453fb36f932f38c8902ba0b99bf8384a4e7ee96d11f85ec4b6d7ed73677257e4ead58df7e4999255b45e5f3777b640d7d845daf9ac704ee91182590998a6bdacf50a5b243431dd34345c9f8d6aebad335abc78645b0426ca1e7aedf1e9b398e53ecc525117348a2659bc476d44ee9cf014d18f31840386f5c130b1c51a4fd34da84d97fe166c33e3f121cfee76c9c33ded3c906c1589d3df920e206e9a26a3a39e4499b546e69b8fb304b3f1585f294e6aea157ecb66811308c94e1187ab1cb5e5ef7fbdf9a517ff5c4a92b8b23a6732ef01d422df8e368dea57d667c5dc6ea7d9a6430e1320ede2982be2708a0bab477c5dec93efce8fb2da9bb16146e3e1dd2d88c6f8d404ceb8fe81a48b0426fd21366cd01615b632e0cd128c360fe62a99429eaea66967dcd6f5dfcdbc4140819e022f3a100f473ba9b1953ed9576c64bdf8c7a276c42e05cd241c58e7ba4f51483ea5a8d4fb43d155a001815039524f7efd318e559049cf88ddec10069aec2ce9b45cb3b52363a8cc7b53f23b016f70695ea0e5d293dfd3c6061def54ef4bcb3b6ef338a368c9dc810c8ff2f49aeb582263b663c22e09482b5184ff54f15d51e170943245a63132f79717cfac6233c7f4e59fde914fcf5c3e09ce8b2495a5426529d8a18ed8c4f963cb0965b2447af73d083c673a230540492cf979c4eb6d5cd0cf428bc0b915bddfdfaa6ccf1376252d15a37806bb21735269040f59fbf1a84a8341910ed596b8e1182352de8df1ea89c02815980a62b390769ac55a5bbe1de5c3043dec008b19973f037c65efa98b70bef902d25dd7556118ef917a1f75ae238506bc81240d949c9fe86a928f7a3b56275b15fa6a97ab669709c282010da0f4f33d32575002321c99552c6895fb2476729ff6485b7bade25127229b64d1cfb809b8456bb164eb1cab772dbe5789d7ab8bdf3a8b25d3e4a0916a322f9582f9753c68742a54037bcd74707a90f99f320567321f8a3a696e56243a87056f584ded4107339fcd28ecc4ab7938b59184200ba2b4eab28e1e96e771832dfdc0de2485a611850396a55ffee7d2ddb382cd5f16fc1346edef1e1392f2b8116df94316ce5681beff0a10e35a53a0afd3d1e55486925fdbcba726e75bafacaf09dcaa8536ebca28e31e69c6ebda35b9ef9a8232f2a7a2b8545c4a3faf1a261010fe4038bf9504aab33f1c4d207af7a48038d10744704a657faec5010bb9184b4fb4b0d7d6b729bb9871cfd942a0fdcc3e4cd4e380fa6664f370afea521ebdd0bb7ca8d50834830dcce3231d1621f752e3481f4b8a873921cc4124542ecece2e27a2cdb94ec1a60a3d0f0b839ce6eefd3d19290e08307beec384fc3a042c8dae30d308b2156645e04db5206439ede6f4e3cfc86002a825c8cda3d828c8602e1243f428cb209328b8c27c5f41fbb1c025207f1997af1d83088a796f7674750899d7fdd3fd50587e2ebee4aa104cdc42f2d16a94bccb752bfd26ca83dcccfa262eedd9b69de6c2062fa0f45258cbddd9f435c4f45633f39e1836bced78e6ab4b3899814d2f44a6bb4be56f90a84e77bb392df4867a73b92f1259074b866fab560ada03c266585d989e42ff14ce3f6020e912be9135ab8d6c72bb6f403c17aabdaee35b2526d0c5ae2ec395c5efad61dd0c1fa45a91af8c52a99c38372bacc54a9dc7865fd12da29b75cb54aa45d4e476d964697d0459e2991820d487f438b0ed338aa47e72fcbc1c24c1932ce96c91cdc0acec6e93b9912094c6c987464e420094ceb83b78d1ef9cb4a9df64a8491fa70c881d9cee898e78955c875506321f51fd5a8a61487dcddb7a277298533c6df5136ac49ac21f93beec2d703e836bc0160c3d9b4a0ecf885fd8e0df3aa3d5651fbb55034be47e8b98528a20586a0d86c852044425b115b7a22c761975aca73a1c1c7cf8cd27b2e8005fd1a1effc461d6ca22ef56aca126b9450d60fe30747a2fce2420cc228c5e0ee19644370dc2586ea34b116aa9ab4afb382f256de722126304e7bb75afae1604379507a83a9f258ebe1c65f0c4b99acb73083bab34b4c699968f0659819521011a14087afcc575ff5547e9a3b7b6d77bcb04e1f2a5243344d842c843015d670dc59636e3cfbe471969065ed47385da250b5696c95ce17e965d9c2ddb7d8a2a89c419945e6ffdc541da6c1e9bc0294b67aea764132078d395104d838f5888bb4dd23906e7504e6ee1d92a4953ee5f2f2fbecf1c0cbf948c86393028de4478f950c325a36ef9a0be48d5496dd1fe637b2bfc00bb3fd27942a6bc458efb9073510f89f22fdc42b72d272df947f9b2442f8f7b8991c0deffd70a5963fc776209328727220e08339a1fb8e6ab6dcfd5979d9f3dfa0cf9d790b70325bd8ec3eb0a208d901fbce679a871bd2ed0e6aa675cad5d34f730cefa15c6082a431b85915baa37235a1de114d30e9767e9835184d39922ed6b05fcd89f3f842356a74d9d3d5006835d3eced74545dca77e2068b82eb041ee25d06b635c2c174b924955cdc0b4e5caf61d4f6a7a6a518cfe4b8ae5effaaa7a4c29837d6e641e1b499e039ccdf11b688fdf431a8c75fbf813e23bf43276dbc46484a374014144b8eb26d968c7ff53d39d0cc77e81f73ef353d5e50c4bcf748eb05ea45652c4f03604093011218c20dbe72b7e9c422359283257298260e9c3de5c6594d92dac1ba1bd07180968bc8f60b52b53522cdd82650fa8c1cb0cb59f5f4ad8e8fb01580c96c638eaab4e2035a5749f7301d91f6cd4fdd437142f489ff17804cffd4dcb2e33f7ac6d77ed8f05acb1dbbefe58a4fc09817a6c15e8d036a186db207e9a46df8b3a5b7d4b239d5a68ca91e97df7d01771d15855f1222414782a24301cc705113a70f26ef09deadc30dc7cd0b13aa03f07730f61ba44164e0da90935985ba5342bae910e880763a70f42e728f4508e75bb25b82613a8212afe0af9c274befd6649faa97a3704dda304d2be6c217c310d41c624ad59d98a72eeef5b670c319a34d98171fa093c03cc0b933b5808f90e8c56cb236510480df7de0fbadeba3b369c3fbe5fca4d95acb26473e852e116df97359f64075df29c4ad1d4537e21135f7979e6d19ed877426a4fda749855e0dba85be6bef67a7eab2f13c71088cdbc3861bb0adeb47ac88fead895b7153465b1d010e4312fd52334a93663c1bd3952d6ab17faaf41387d8855c3d880a1eea6ee7c9722475525deb3d226f5f2423ed830913dfdc0aac058e8851441a48ee47d4e88f1de47571d8f793b535e7c4ac4615b0158d8d87b702844d681323f26744b280c62f85a18c3752a98c0f66cef0d8f667314a85488185a90993921edbea4735e57b42f769b050c89c445c1cf0a6e4347733b103ed008baa66032bbd3e85669d9186f0f85ca82ba3eb17b4ea6f9a07ecbecb6174bc7c2f3d25a2c15b19069a9960e41b84ff07b8dcc0b856b4e6454aacaab9cb74bd8f76703d82866ba3b6c08b76977bfad3f815ce9f6cea2383da26e3b0f9872c04cef4624a3466e33b94a884bc4f65dc32d381c4d80f5ab7f59d02b78bec895797e00b4bd762ad5717f10759eddc33daf56b51d5d4870d32b21da3b6ba81e4fe44a39ebcf0f8a81e23c16abb1611b212e763438b6f4d23d7c9344fc3b94ba4f0ec4b734d45d998243452679cbf106f146e01ea5a50566da1e7b2964267947a43d3b61b7ea7fe5b15e5893d6ae67dc10f3d197599613155ab31a7f024b2ee4a7ccf37e3c7061eb66c03c378dc12185217ad683e5214df5ae3e3b08ef330e314051117fee80c52b81e4ee837b029c31fb839314b4383178b2fba6d0561e60fd609da4669b7ddb248fd52c7bbadeac9312f252c873a05068ee60680835b0ff1aa72fa5bd5e83b11b51447cf4f6b2ac95ac063bc056cec8a8de7e98a4534c342b192fbafaaceb85ad89e687d7011f8a2323b9fad9819f5aaaaa75678ef325367bd8cce23e22c249487fd0e6aa78169d33fbde419aa371bf576820d9bc0fa380533713f0718225e4a1e0101fefe670b73d709af233428b586d805200cee0dea496d6f8c636ecb3093f60600d0973b4e0f63e197427965da4450a2ba6953d0ae2cb7672aca5679e6e3df1d9d5f0aafd6af93a4e459be05a08cae33e517e0008a34c2259781d3627ccacb81ede0ad411138306af1fc634dd3a0f15ba3812e3f15951a318e32ffb6f284616f752bef4f81731daa4194b370f660edd2ad2e4e903ae10992d3de64a56c26ebf14a5c6a6bac115f925ab12b59c790f8bfe705721a171a3fd91c23fc5d55049b85397321fe4d72e7ee87ae671515488caff709006026db20a978cc71aa7e95d5f66dc086f47db4398f6fb12f497b2dc55742124c91f1acf6ae3075affc41e541f3080f396ce0fc59bbfb4282ae937be24b75ef06df7b9560e8f156b6c71e43e80553ef1d5a08f7bb8f3ed6fdd1054e6fe18e5351960f5dfce746bcf01733cb7dbaea69688f32dbe83edf1c8bad5de35b0c06f72586a79e75a3eb0f3e998c7481e161a886b2298125f51ecbe9ffc3b92703e7b9a13a09196a2db56bb4c5e7cd628fbe3901ca8b8f2bb2d314ad7a18fd0730af6678e1f1005c65abea3bc310485a83d9facb2580c239bd6d1cf6c93bd239f4b1965734be9e9f5b8af7a79cd10e131e88319528f81db8470d082fcf553c40cf2761cee06847d6e8398c4811501ddb2e154d222abaf58616647fada97c7d792322ddc0a4ef5a5a3c0a413db9aa81c64c8467e65b1b083b1af95f34be6ec25a836a99c0935d1eac57d8ecfc8b356f8b5bf7011d50e66dd93e89ddedeead61f6d12632ba8a407de6491d923689ccd99f88581cc9a3717a40e09d36402497e07c24023b82fbb279b181ae7be7d2b91e81161837a1f3cad1a6a14f34809f4b6518bc77dd53816c3c42453887fa8958c9004474e6abe6f5fd7ac565b96c12580cfb83adbdfd280a810cee77e058daf2056f91d8891ed79963362e89a97342eb3c45ecfe612f8cd7daa5117708b265191c99ab9c49eeda747db98abfbc643be68e8317ba3d63d9675f5d426cf01e3789277716a9aa4495c127fdeccb30fb221fd96cc237152d7c62483b13b30a060762f128392c9b9833c15b2232c994b20ccbf8f0a9e0277ae83820eac6bb7af4a3868dd2633cdfbbf2b95fe0799b49c4df0c064d7036eb1df05aeeaa1ea380ec9c4528763feecb4a1b4b298ab6a39fc6f1c3cc4b76ff03217f340550196087be96dd7ddbc374641ba96a01887a511e1aa91c38b3ee01e5d7482c01fa7c5bf612e58a8346ca169e3a6200d1000c942c71349f8f10cadb33b4c151225f3255df35724d1f558f20584038c5d6408d0aaa8ec02369aa3f540a6390d118a039d3a63813d5f26d17a14d564105f2d823f44c135ce7ec216a90ec5d3da4d3186a213f49938167f379cefaa09ab5150860f525c30695abc59341c5b289ea3439109dc6d712f30643a9307865e37fc0b8e5d3974ab009bc6ae86394dc40e38da341a00a4dd30db962193a50152804645d7d5c1157b06de1aabfad345216a204be1327ef05d1fcb6ed4562c60099ab75610f4406ca83fd92c2a608ba426e70bc21c36a5c1857855ba59cccd8407424b0e4e23f7abe58d9d0f2dd97e47c453703398e9b79c3a798c9ed4e83a8016880efe9e66bc6db3dbb3558cf13338e9e2d570649b62a057809f3e8f4e146a1e26c5c4f211f844ec7dbf977e8b493583bec9713521d36f72045232424dfd5ed8d528966b9e56d71afbe92059e4f8b7c873d7cd203c3676ba4da620cee90720b5a26dd0c5fa4f67e84a0117d7172af6a3bab7152358f9560365afd4a761353550786518e6fbf89d40ae8d78ed4c6c709f46c45ba90aa639962be3645794c2e72c2446784308e526bc37f240bcd9c45babd63b3370064ac7021c5f99c9026a93fdec207f604916c1fb493805bd97d862d4aec10be4a3259a4d5d3c17fa1aeec6ef32fa25d08e5c35ccfe1254b5bf35a5db2b7e1ff19c112457593b9f0bdd7736eedfd9aedca0a6d280e0771a5c6f2018961ec2e4baec4eb2e6fdac12ee00df6c5f2ec67d98a35dea191df244d06352e4344288956902d1b1426d605aaa441618b909943c5c92a6b04aafac1cbd9fe2f7fd0120ed3af49d1157c7e6708b5635211a7ce23df0c977b06a9efb5c676783e16ad2c72e824f7ef672389263e48b74e637ee199cc1f3d6c3b006f5e0e9416e5d0ca233c177eaa00334f1e071649ab767dbf89cb266e5407a70b0bea239cd5b012cf785d6b19edf69079f12877fb24f340844298268a53357d49c0413d43ca0d12c2ddd8c8060bd02aa40316124b57e979225d446c61966c45f6e1eded4782b5f0a1a7e4f23e3f516f19e6c515d04adf6d9b896363f3376837eac665165e1b0e2157d29413bca6298b7cb38cebc696b313c2fc50077ff1dcdf7257a1623a0ed2598d3201629a28984df3fcc558abc28de7e68e8d5a3c7ae0870e1f7f3758356714416c74b9a1fce92d652e1ed6b75ac821db9cce51a7da2f045f6b1716bacf96bfbd2592beb1e79323092a1ee0db20f028658a52af7fa0144dc29bd16a6145e884eaa22ece8e633582546f2533dc1e3d75cfdfab0cc440e4fbe6f8a0f1e3ba85191eb26fbd3e104d1c82c3f06238b034611d144bb20ed8ab595505585cb1c0813b8748ec03fa75f5b28aef210eda004b8eb4e014ccb9977f834c3c341f5237498140ac3ae010d4cca9a1ac01167f0df10c0a3ce8efaa7a1407fd40a86301c6f42233ab0c65e68c0e657d0754d062f56e153ba48e26c820c52ea0e50a684ac60ec41b5f7f6a39752b9179e390122b3be66e77afd70d79acced51642e2562f183111821406a89f852d3f69525637796e7c8e1d5e886e525933ad7b399ed1a702d9f109ed3416e6015042d62a9dff39abb02328a453360ea6d03e53fef654c96b12002d4fc6684c2faffe1e6171ee994a3adebda4bcb09a6b1e82e293f637bef1102e60bd18c4780c0e01759160490d590b46c8f94650c228439bb1acc1ba4619f8bceef75afc1f8a858f42798dac26aa4c75737f6c55dd4f9a7cda44eb0bffdb0eb171b780e0948dc4e2076bbae7c3eb8bd83c5b1aee418e56336c9857b3119c1a7e90b565fb891387684aaca58be1c785b0feb2f0ab9b99ad98ab904f0e6739070d291f6db36b0a370e7b2d7f5a390ba5cb629267693cbf4909279c06334359cdad8b3eb2ea06f9aa239a0ec0ab0ec415af8d0b4b4e054deb39a4f2ea0d6c8d0e3d90578e90a262aad5bfaa349360c6be1f4a97fc703f19e6de72db89c01d4f34a9b4534b08bbd84b7fec65beaf716d05fc5f31741f3ca2e60cc722107db0de7eb73546f796b0ad325edc0d28d185fb757d83ea33bb36d2a8ada4d0ae6d0ecf0a986a23cc822570932f911db7a54886d551ab96cb7e7e9dc7288a836025351073cc8c6282bbcb7b1cc805657b3c16bb1c38a0d44d59bd319ec4eaead1b1bffb0fa6ff1cf398ea4d9bfcafa50880a4b1d24800a791bd83e72a1af68389f2b51216ac62d0507fdbbcbc49fdb47d46ecfa001cebb1ec6661e36a9c85368516cd2005347424ddcf10c2bd9897ef33684ca8c240dfce9e40a29dd61542777582653df51cd72798d377c5f3afcb00138ee0fb7e354d7d3122513ec6e586261e6ff503778aa50c949cbf4dc69d4bd2a4d9deb9fb39a6d9a345cda207dfad5d2edb9aa6a3afc4f2ab1253e8e3846c18d2d1ae477faaf6931f0261bc87521b10fdb7ff9bb66a2bf289e76176cc7228b5b79a76e7123b21cf095478e51434d4824a2c53cbaa7e1fa5f84880f13184655d64c5f804b938b5fc22286cda251a0c1becfbe4c9f72eee2a2be87dbabcac76a90f0ae329c61c69719b845abe7791edb2065e7cb67fafa578947f7f6aa053d9ac77f55094020c4886be60460d1c3bfe242a016fd2d713c3c1a5afebe71212a3e5c5df26a8c26e3b21aa413a1e64ef8d3807e0bbb3f660d1100e91b91d79ad4668bb9c39b97d89008ab0c774bdf1c8ea5162674e6709cf1958c3fe0677297dcb79482963add67f4d841f1ab1ff8ccc3cad9a67d5b740b654bf79f94ecfdddd1267425a9fe733706fddeadbd2c6d50302028f8d586394197122fd97b649aaec156a9c6a4c66e9b5f1a588a8ba3afad5c036f4942d22103a9552751d4e616718cfcecd1bd93fe588022c64c5e3fc030435f2001a54c5167f154fff4e2787aa17c0e1ee9885f2c642a882c41f8f8f29c8d551e33bbdadf5706353332722475d90efe1fb9a2c8da14462b7c1248840c2a47449d955a923c9a596f06cf2683e6ef50a5fb8d2faaeed5eb5ec759b758b96945d771f1168d3d70a8431dd3dd28c6dd1ed516ae11ec4301e093ca55a0912e271c64be76cedd14102d8725e96571a1f5b7bb4aed39567ea524b386362b7199d6f3a1f5bba8891ad48b8619cc8525d93de5e8d8a64bfcc3d41bfd595d2741d143697995cc1fdd1f1e9312d41db6f68e214140b99486aa5e0448f47d4c81d402e6413fea816b741b9c844203273b0e99ea9ffe3c3be1a690fe2173eb77e7f5c8ca237e09e8112e9da06110f64b2d922559c8a8755487fdaa56c8eb087a1be91ed1d7eea9260bdba9ffeddd81b5c0462733bcb8e2dce887a395c6526e577f51ed915ec98e590db10601905dbbacd7fd1c56988389fcba3bea8e9b03a70263fa54bf914f326f6b8eb8c6114332498e4b33f4284874d7209e3394f46eda64be1ca90fa75600f8b811fa1cd8d9fa3f615483388204af6803e88c95ca62b98033a4d84edc4d7c313223989a128aaac02f422032db705928e390f530bb69cc4901f4d7cc99a58ab526b64ac84df65a3cb91a04c26076e6c36bad26be0ae43ae2f6d4dd58c6c2ee22bafb15856930f341e4e6f01a104990572fd34553efbd34bda037c71d6deda7d3d7637de18ac75eecf86c89c7e12f0625704a60d06efe3d064f06012d342123ea70dc71991a84bc2086f91ffa618331e2974458312092e997ffcaa4c8e3b2f2390b9248eb58283c7d4f0905bb0fbc78832604b50842211d857ebc9c05ebd7a9d1de85b68fd40cc22eca3c3ea561e58a76bc286eac0d39fde02e3b4dbbe1dcaa46a7234be64a65fa2fb24c0ab2fb6cc4b417cfe542f3babb7c59d57036ff7f6017721a5f9d3771dec6564dda232b29a9f02f0cf9bce9bf2abeed08cfb17d1d29aef174e5e2112e49f12bdac91d505f74385243f959814bc856faa0d8be672669374c0ae029c1f01a0d2e7c321386b4595314f5589bf33451f90c633f7950320edaaf5f346bc131af43bdc73beea8521c597e85fd548642e59b097a1b4ed76a2fd4e2675b72c8bad997f7165224d0b5e1d18c053ced8a21c173acf3ec4f07171233c2eac6d783c7c61644bc19419d2f9d1b3b17047fda7015f2113df5a7ed38606d09170fe7c9aaf41218ef766afb4f1d85ce4271b758a15a08bc2725ec62c0a794ecac9d1cb21ec23dfd1cc92f117ec06f3843210057d6113d6e892e6e12a65330b43c801a6d306aaed7dee766e6aca306a07fdd3d4b03303fda7dc400f623baa87bf04ed9c4ac21c401cbe49dca9d9706f60bb5b0d81d819ef8016706c1ba236a38ee796d084139c7c239f57fa386913410426b0c3c7b295263b4f1b64eefc60a7dea5eb74bfab1d5272410f98446c8305fdc77f28f7ecca4453d26487c1589591541d8cc39527ad7eb0ad35d04b9fcb693b40cf4b3f701319fa9cc8cc146685ae7b5503fd4e208c198b831defc3e6f79844e75ef77872743c8e51ab71956eaf59ec6cd79eed44380d8f77bb3d6f6b8dee5233c0996662d0bec53278df6a4ed9546ec2a90c23bec8c08eaf3574aa0c7cca8f43682ab8fcfe357243a3a6c37b270ca2102559fc0e5a05bf0e58eede96ad1d00cbb844e17faf6e643e3ebeb3d40a690afe6c7f6fbb17d6a0e107c90b852f8afb480c85bef3065a222431ed7c299ae8be48fb7eea8567012840c55f76500df630fbcc439fcc06f144a89c65287843bc841d99feff227bb1381edfe071353e2e9d56b3be19d5b85ed0732957d07d48e98fd70c352332ce93ea9aa67a36efd37e5875beca2d0598b85c7ca9757b6ab62ef12b0c3c8a4ec64608eddccafdd231f9a2f81fd97f4d4ba7af06795954893b6d55c011813af55ec9e56c120d5aa386dd6a44d6998cb694e57b3be58423e7026ee35602e1323e05acbc2a0367c45f5a1b3288d25aea707b50052307bcd632e14961c02f9309c6c71d7e4473a30a694639d67d7515427044c290f261bd31ae6a9c5663855c1090d21d1dce9c0d03300c39fb4868ef650803af46b595f6df628310ad82551a2d1338c7b458828854e960ed2d63953e1dd8724cf3ff97692e87e87e6124fd0a59013ed312fe9fb1ed02b10c59b08f02969869094959254f2b90328073d0a0f3b895881dac92e2d8c85f600a45efe999103b6be1ca77084518e7c8107ca248d64def16ff9c851b2ca16e85b75510403a56e7aa4c88f06627fd4a42b744495ad3c73fdb2b608aae18fa1362c2e72dd5807a2ad8c1d6d9d3abc2e239ba23d365a51ce9e62417704cd4da8e3541b1e38327625d5bd3757e44ed05b736f85680cab51913f7663e9ec3acfdbfde6901333c649cf3a5b3a428ced497d78e787bc329e6cb2b590606acdd68c8563b8f5903fdfb7d90d3b4f7d028ac67b8d95c249a342e565f2657cbd8cd300a91e77c066264340714fd5a2f513b8eaa37ffeb81573ab39f15db8d68fd1596fb26fa39d70ff1f36c277f5c4a6bc55f8064d6d7a0fa6918f09c2c781e5f80234dda2368d4fc2f67d3d72800114ce6fda218e9c3b93e966b39c6ada47e8147d681bf948d770a79b4ba36d9aa0c17adafcd349a032a2d50be9ac1a9ea23f12a05fc1035a0512dbc2c22471de12aac26911c42ed676a6b1f10bff500d91e50615c7c81cec57943d28a31a094da3262cc445ba5ea4e8656000e77eae521ce8aaee7f0c6d5a0a0ad0b488c2852412bdfc9d99933441319543e382f8428a6d62e3baf785620b61d8e46d036813cfeef468cc4bbba48033f37aa7a2d1a85248ff250bee3e36faab3dc39e1a18bf599305ec201799be89274a82a3c57638cb5d0712028b490816cc39412f57526969111926ce5fe124691930f3735e366c92150ba24bf00c13d42d60bcf81098c05a2c6360601a99d64d38e12b28cdf8d3c624a95738f8cc1df95d49f257e08e2c64842c1f09adead165bc9410870b1bf75a812d8cd3820222d9fcf58663d9b34e210da715af6e79857a1d7d8f6ad3c38faa2cbf65e2eda7c2bd1d7e20508bb7a1805a61861f28e15169580c74c2d50c9790b406da4e432cf7e50ceab8cf694b747f63cbd4fec5489867918e5018be302572a8cfd826ce97b9e9aba971a123a2925872a52f83371b7e3956d1f9156fed91b85fb9b9fb7a44ae82d30a0804d5f7c594fb7bbd2a0fc24658151edbd8aea16530862d575ef593b1a38d840b031de997b448d836cbc79a8e45b1cafcd82ad3091df9def7895c31862cac25418535120f1ece98e689279d78b902b75c6c8d7c9b152f9d9d20279529fb9b3f67e1fe5743d73daa1d418833aaba34916540fee2b6ab16f7f40558aebbbd91fb98c70e0bd0cffe578f5f0ccc44711bb8e7aefd8af22df5d7ce33a68baa207ad742c7c33aa5ef01173f13c2ac332e730b629d29ed89ead48bb855c2a77bca52adc2babf89202244070ae1facf497776dbb75dac9756ca3d4d6cd06f77e66dea0c478029f59ceace8217b70cd159c7655e908d7e82a3e9f124bee08b628e7bd3149535a580f3a86bc4313a7d3322fbedcdf29ebb80a9c338c1522793779b1dacfd87162e2dab543f4a4e315826c99c7c2d3431e7571d2f34805c97b40ce927ba9d5ff45f1f5d2b800a30b54c2298328824920c919590be48a65999f02a165f77189cf19dbd2eacc079d32b89040c80d7f3036aa0bd94e16541ff6c1369c9008a5d1767f7675140d146c8d41ef272bdae0bc0c229507b1076e84fe3963ff4c9d6db3252a5e7f123031007d547af3f2f42b9eb2631c686f79fe40253cc22ae75b69f54db895a1a4d63c1ebeb29830d29edb055478b00be700148c377a5315cbba99641ac905a953ec1862f805e84fa1ab234d5c9d00467e82f22d614200c2ba1244d0fba9a934a1ea9583a3e24d1f144f0644150e9f47d1446477d34af9b0ae5e5fc729be96820ec2c206ae66a306574cfa545e112cfd4c2b1d8e521e2472e11998c3e4b517c86789ac725af81580daa85307f0fc725f43616e2706b62d612377380c9711666a9c3757960ecdb46a60c64c3c43e74f0947b299c2b72ba57f8e168fd075eea0705760dab870b7462c0eb9ed33bb5103b3b9b5ae004b1fa20831e7d420755366381bccccf5532452f67dbd0199ed320379a793677776f8ce85b69fb9f732d962da35cad3cf3b497a78d545a2312bb07570e418618412bfb5ea86a6e839f3c71ba5d7c4c8005bda7d5968b0c9bbbefb3eb25f0ce4942c807f473762543dbda5d31546e8014218fa39aa2dc3eb182eed0538116739db3b24ce76ae852f17fc1c09232d8da3e0b38de162680750f8243878ed70bb141022a712967f5692c0ac04ab0bc3c583f9e233460ecf48fb804c06a218ef6eb2c7a466595a1630bb8b14145ae882a97442f177ce524a6eed27bed54a4750bb3c3236af80129494f71aab0d34d02afe08bf63d26b2097d31ab422450dfbf29a87606fbedb2f9cd6d97bd6e0553be42f8f43799e870b997536ae6ee0e4976d63efa0212de5e4c24fe293d7aa04409df832a8a16dea9d5d3602799371e55780aa59e57cad542285451114c1f236336928970925b5314528ebe1338574adfd3d5f38af2fc32a9cc9b23112d0f3c72380bc081b45d1a1b036a4ac220dac89cb2c7d6eb9f50044c298d886a9965ecc4c8169e53b2ed8f3e2ff94fae6f6633b4e1fd055b98b38411cff7e223f77799d59b8555c7c1e8b3976b32b09c537f09e6e522121bb661b22dc085434eea5c84eef5e187d80174bc70d97983394614d5615811667667a22e305f8e99d2d6803a55bcb84bfa12f58f51c9c2d5cdf5e241f3ebcdb7d0aebb1260dcc308aa68768035efe0226794b63dbfef465b2cc5ab07acc1f8fcd5009a5febb808544d4f7e4c298e645d5911d59bcff24341441135b68cd2cae0be901c7a0aa2facb594bcb3678dee4bfc458e288208380c4c06d1f97d911d89e73147998285ca3b82107bca51dc4b40bee90fbd7d8ddfa597d0f5c98ac9ea035829b1ca462c2fc2628237412ec69fd69d5f711a0adec451bbb3a491664bb27cfa5e41109b48fbc0134b3fd7fdaf1e346abc376359ad7758b3487127b9c8bc76fa3ed8085234a3b7f9ab6dda0fa1b83ee989927f2b9912e818e572fb7be0792728d14995c3ff4b39c9122cdc8cdff5cf302c2c20a48d309657eae0ad86ad9f8a88828d73f64ce25ca00b74d4272274d9185a37666ce7f12bea8dfcec1334d01a410d560d756b4600027981ab07d333cb3816a9c1025e1eeb0bdc0311e4df9b85518bd732185d6f1c7630de08fa7547aad7882eabd46b552221b772bade70aae9dec417f072b2a3410d7b3c61b3bb60edbe8dc1d67a634a4702d72753ee78cfea12331642d9e50876e34ab4764dbf597ed7ecc973c6e589b67784c504eab9b647a4615a99f7562dd09e9635796f10b5b0baff80e6e5f26c100e8dab37d4c3b21ae37dee9420f134ac308686bae8d91937993c371ae192801418a24438ecab911f3c43c02bdeb3f871af0d0bbedf6e4247cf3f246ed3409a44d721b41eb15c25d4075463f9e4e9c6f7195e00cf012d0a5d1bcda9cd8c9af4c23bd4f08ab9261651a02a508123099c55cb235b79309a3d6751d76459d28f9fdcdb76de322832bbac99f5c1d2c7286d5448fea82fd015d4205d1504f2bceb851fd3ca7d4080ffb7689ff49f2dc4dc6eb7d603027e64e8e9947b5bf4630f3182f739242767c7369154abf7a9926e711012c3c70da4d3af1b97c0b689b34e074b4086e7100ce36b15b5e34d36fd587876e7b3aebed7845b2484df56cdf5cdb98a612e9c2bb13f749be9ba59f9f27afc270b1e817e8ac51222ffbbdcaa42e6b6af951441e3b558a35100e84279dd2a9f12219109beaf3f5a9dc33763f8192b65e7cb86bddab05eefd68cf86b1ef5d3341352dff6dd71277df30588cc17b5f5c162fa916fff0df2373d27cd7d29fbd0fcf9bf1fa8246617adce30cbe5e9c10620215e942adfa4f03dc165a5d96232429b0668e285fb225049f5e5738b84ca5b5c879b4338df00ab339c2c05c5b130596b86c7d8bc5b65572a124e6206f126502beaf6d6855e301681154442627078ff93c87c4ed7fd630e1558230d8552bf1489473eb0c3d53833b8be799b6d698eb876a8e272d91870748153976554e043aedd7517a0b5619a10456f0ec1668c5585c08cfd46ac3f500d261461bd80d16d89ddc6e7d03b0a4ad555fc033940722b0a42cce79bb35a6c124ad941cd623ef0f98b3b78610e7357585606e22e931146ba618584cbeb1dfe45938b7c54ebbfb9113b93c7d74c44fd649f10875535e0f8eee1c402c9e4acf5dbfc38c10866295b1c964a0b740fc285e6b96d1c2a6b3c5d41ccec796d86ab40d507ae269e351a51c4492f7a9a9c66d2a18e4fe4c53ca45e15152f443d6ac41c29f0c3b3c230b448521a50e646e27c3c437920c8a765ae7a9a2884b7367d7532b05de6e8b78f5ce7f5cc4f4bf1b524b732e02083253cf32b7601be7e6a58fc719f749288326119402f70672b9c6256369720ea784cea45f7c86309c14ae05e45b7357c67333ec86c4217986b681a59fe0904f81d078b1bd41d8f87364402063f427615e91ec6942402210f9a4d047dd0b1db26e19e4fab262a3a477a5e1a5c262878e50afbf9f0c71152f9dbea9a42260a8477e3ddd9c84061e8aa1726d4e0c17721c4c48177bc3ceb626b45593a8bbf24149ea40cf4887bbb62af517015722e3a22ebf7ae34bc49ce9d15ad13df95f75dbc4d7d939293f50d57a556ecf06efbdd05a6c29c0b5c491261822b024b40c83cdee89a9f0dbc5144ee32e5b10c30458be2edd63ac03815e0f667c8253013eabfee5e5b65259d3246a15c89d5a3e42f84cf4fb21a84b54c22da85adfa119296feccb94218370701aea171b56322a7f4e7d17e6b17a69988c4b91311ef0bec626d67e52cdce6522e5fafa5c997413ff2046846570852d12acdca17c49ea3b1729c42dc948581abb3208920b74e2358b323aa2f05f44d14d273da0431f93bb871fd7ea95b9054adf9ba0c91125b7822434c076e67b2ee5c1245501fbe359feefabdd2438d390fc14f6c3ae7c4c1859dcac19de319e28eac826bec3830a38f6d5e7560cd965b2ad7872abd81a2c6009a205620f02c203d67b056c7311ee1ffd8810b6995fdedf7fc8cd87c7b9dadb7d569628bffb765af8c4a3691a622830f8e8179908f9a783c9b95e2e49040482c3d2c003f2366c5c5930035b41db996e0cf42485af691369d338b16486e5d99c5a653acaef70945d090c43010b750cd8eaa972f4488ba43b9c435488bc15d15a47d3c95b0f66759a4f95fd4ba84c22730195033e6333fe0a9e6f1b392fcc2039a4771aff5744bce5e6c9d52a490c38fafae0243887da5e645bd8e2141882996fd6783273f360fabf15fa19ed0d745749f75335261ebad7bde51d3ede69ba941e66b7d5a991d38c9d1294f69138bed7612eb103896efecc5e8fc6439b44e3b9d8d3c6b1d9722abc988673aa20a678649edd2931703aa1a80dc560d2016ebfa6178e38904e323044f72e8b380c74b80fc982ebc8cf3f9afd27cfc67e300c2ee24425671f07c5e769dc5113827e99945b9dda8a4e6393026836e4b0c8f6ba4601148492ffcbf4ee296ee710896da77b20c5bb6a0174632630dab121d5165fa1b1cb505999c8413ee2e2adafd690b467aab10f4d5526aa99aaec43fb28a9ebc75cddd20d38774191c3c11d09164c1bac5b34e2bac0e38f9abb573de3bcd4c16eac8be0d1bb3c6a3ba8045a85036b0de3c9e177f72bcb2079868ebc6473b3b4c8571f689633d76dd29d2ca36375a2e19bd13e063aa3d8b812eab459cc7976516bfa5a9ff106e69a574328dcb6d6150f088a3f1664c26cc2e8a7dbb109f195b25747603ffcaa2106ef9ff89a0bb6ea3d97b98c0da42557e4870571d16168b6b79c052fd142a3ece5db8c390fef66a52a9e96873322a43ad559f29eb794ced11129fbd21b8de8d7801d93f3a2a7ea0b1f55ba2a760b187d551bdc2da90a207430f26e71362974707797dcfc68243048f87517de078635c734835a6aabe066d4f03ac9ad36a5c11027a82d13e044502f0b2769748194054a4860fef97caa2bd389aa29281863d642fe069ae188c215d4fbf16198139e85443ceb83145023e62da7cca06b8a0b1eed36aa9a840e9fbd15e766313921b588d42c304eed427037bf2826f43e18e878a6ebdbb1628f39fd6c29cf801b7b3fe1de4c16b24390652e4c504f48e1e5025097f255022b6da846eedb92163f35131bf615a23cd6ef0209e418a9c000f7379db8e696dd0b5eeec5eb5dc1e07e7d53e25ab4ba0150efb9c98ef5d44e17433f54411c76589b42c49b739ed3c8d0a7f5b606a95f7f0740b244bdad281863619eb4dbfbe1fd1c37beaee1fe0675757205ca453ba3b64e881f9aae450a984f18467222f8bf9f44f7256cc820d534a43e249753a70d29dec25a54e4b6dafedf6d251206a61721c42f803908e347e368c4384c99cee195cb0ecda305f599bac6f6c3af6a9a4c25cfdf08c77a879e2fc337ea00ae6318738c2898b172b5f96bc4b5c0bd196980018462315e9d6b46c98a555a9bf99829335bbc3a478a7c1d752acaaf204a256dfe1f46790769da2962aac26b10d6942277b17b357565a4ec40f216997bce5518d3a4fe039c199f8fcda9801232aa59c8df97cf53d62cd20ec1101bb1c4518a7ca341bac06b7ab6c5b2f0ac7b205cef996381426fee22074571d6bf853c3dfa9a31ef940114290310b644047623f4a8f8e466862fd9d32c251601c24e75441a5be04ca0e7491e359ddab35eb38c81d9ab8a28c8a4cf66f0dad9e3c30f92619464b642afd129f67c7d7c3f3ef5cf20c19399dff193a62228a0630f96debe5f55987cc423be6b484bed853d2a69ccafdd714ec2f8032030ed636b22ed3595bc50358e15a0e0cc87d89ca579430a41321e98e414b0ae820571f9d1b597413924d4d91d583360c04fd7c6848e7bf932581236c08a827e54803bad56add415091db22de25a19cdff89d00d72280407b57cdcba930ad81d045f52a9133b7e416c312a46215dc9dde881c8d415301804c5507df605174846297c8a93638e64165c0971eda63986b4b72e617cfe4747eba505a6f05ca501a22f2b8b91022971aadc770785d6d6b0a144f4257b023060d2b796eb2168fb5fd244171e9390fe3808f0fb796ece9ef088d9c535820775a3608d9cd81e38bcd1b9f6a0733ed4ade22a2300d7680dbd2bd27c1e9d27dac487a451e571ff30ed763d294728dd833abbac604c1e2399768519a8ff111dccc97345f9a52d8e596183fc411ce12ac06fd3b6026d185c0d998fd9f8cf5581f41effedc1196ac9e131a8b74e23284478a210b94f84c6ae9f0f5ccfdd6b2a5ed7c532f275b9f39cc22dd87934a6654868953ad3b3649d8c712c7f09a7debdf42f6b110986cdead589b4822d04314c6e4f53c56ad2eda6622ac1e468c1df5de6921ff13a66a6d3554c8b04a16f61e0430458ab7f45e4cee0cbefac119d306d6882f0f86acc4c9c3c072e5ab57a8f7b999aa7cea0656377dd2195a0d588d13a3bb34d5be08046f0ae72a462df1239aea7c1b28743764f9fa2cddd3cc34c6552e29bd01cb099c32105c0c947f176d2cac364d590078a87b17b58274c647316314cf7b922661a258ae01a24863d3d377c70e92f10ace48c2678cfe20c9bccb384310d6dce7df5e6f20a7742a1d925024872cb28f34f67e2d748b25e739ddae1c4a8e0dc0a6ea5bbf7551c90ad07bb4003468aab7bb541960ad2297076ef4ca3f3f088e3b3c66208c80dc975d686f734beafb44ef2f384094ce63de73bd9cd4f06c10a37c213b1652738e1ce9d6104ae53f6d91ece2bf7f17501604a7466f05a3b923a2a11e7ef10d8c0180ec6f441a38a14dd374e02ded58b5afec62145f046e965a97cc7b876cc21974642c17b4a7762de5323f3f1710cfd57ea00d51f87bbe89eae0c33eb9ab9ce16f3e90fa1150081425fa958c782bed4968f508729262937797a15c49db73474322ed03591c858833b3ca86460d3524727482873d775edd049347498f0d2dc509b6de57ec87b4bac789c96564eecdab707e458bb3df0cc4c59f7fa6abb54e3f01f4f8f1e88c43c18b5ac2892db77ea70666ad1a3a69134c2db8139d2d42941b26205cba6e1fe5abcaa66298df5751f8415f799fc71ed5be61535605c760ce3b3bffd0f2f76e6bfe7eb4c19290d40b33fe210eb2f2c9c30c6405919ad669d51cc4d19abf87015286c6f1db561dd61cc215a19c15f4315776cf025c7028bdd292ebff1c651672213092731713238cc610f06b17fe926ad79d5a98039f5ef14be214e0c30c1abc5886a9b8849f9737b85b718d673eb288abb8d13fd20aa3e435e132c09fb4c54bb13f724c3669e109d4430a565e83000a441694dce125a4baa9a47f06d541175168b1b7cf4b28fefb58c92d6bdb22e6009de52f9d23bfcef18401b0563bbaa2ab39f07542e658f6ae160f018c9786c1f3f4d77f9f6aa888bde0cc57ec6e7af07d103e1d7503fa4873d6a852ae3442f09ae63486fbc51d41863a05c728352783de630c03896e4d92c52915bf05722033a112d23832149f71ed0e16ee484cdf29bad3e708a8a108755f2b223ecd6e9059d24c1e6f588074cea8cc80e0bb813a3009aab46f327b39f8bbb30f4e66c532a32d15b39bcc7fdd2f0d6984bc20473a2cf0279890cbec3560b719b35989e732c7c3b2761c5de41706e8baaaceb25a1f30145089293f6cccd2df49da4b70fceef0edd2c0d5815274920651d1a828a01aaff689fe8b03029c550c427ce04fb2555b07c53d14e70affd9788459054a0c258ae8d5bd4a7420db5d995392df775aa75987b012bd7bac61490bacfdec70d99f318a3949827c4c28d005a80e8ab340ca51d13c74b2a0e4403b64d9f0e05fce6084c5f2d74a46732d10b8ebb478b81a421609e871e67e0cbb6d693c25f8f1626a273e78768e972375d3eac5eaf5a2ba07ad3e90c49628132a72c823083c74296a7300ee0c91f5a2fb5ac281bd5bf82636f1d457447b481b3691c1937b058b6cac457abd478f1312c188baca7fdc396032832b86f724edd543e47b6b5f905245d6e377b93cb6bc1de85a2b9955fea41e1981c674a843350228554b5306ab1e412ba7642da489c68f4f1f170540eec6cdb6b2bee0ccab91af56f784185ab0bedcbc1502a5bffaf7879fc91c96277478c86edead4fcbdfebb0d714bb606811b7ed6c6d5f804e1f9ad5357da5255b169da2dc42aa9e0257d71b1de192ebcd0a5fc05865f4386333b64955fde156a291c5d7df7948a7fe1bc13bdac4a339acfeab998e510ececd46d2006844f9aa9575a9c812e1341b0004ed449f6275e1a4a2532f39669c5b95b0cc632b1940707da0ea8", + "message": "b4f1be460ba43885b9239529052bf14d3057009ba6e10836586d39b5d055130433465cbadf338b0dc0c28e6fb35f520a27c6ccb03fea41162b3c952208241e09af719b4295703cd0d4738b7d02a7e45cff9307fc04fb96b727cbbb802fac5c9b9b41791df2b9eaebdbd513e0236747ecdeff2f1ee2ad9920a65eba1bfcfc3daa8551844b7b5c342cdf261e6c9c3f2a6d192b6265506ac5695085588b86bf1833e045c5e9cc217272e922327cc8c5647cbfafbe91b4e659b592d0a2d7ed8e6c81a9a543a6bd014f066e3c10bd1b37669a2e1764bdf2e5f3d851c893c107e4dc328df3bb5a2de6c6e98b978324ff127ab2b5f1f9489edd3c7d0c24ea66dbb2bfcf86eb4d4a8549e3cc69bbd74d87b3e0fd8a56db5ec92e7017b78ac4265c15390e3102f541b224a694af06b663fad3efbb1432804d0a66d98564c23181b3f6c0ea1582f0a78da1dec95d6be9de55229434c45c972c0dd578a25dfb1c4411d3178b428cb6babe515e660b9abd91cc9ffcc550d2f9920e9b1d176d8969fe22a35bc83644550fc0a5af57d94473aba28681982bedcb27f18d266909d73125a021a90e93708632684087ecba6e2969cfb64532dad1f9d1614f0dbbe48b45d6dc62acb3afd2375345bd8d6a6e199f7d37bc2996cdc3879a4860cad19139d4757775d6781d1f4d467b3ad6057a139eef29360dd04cdbd691a014a7dbf7942c0302a74c141eec9e909decba938fd52c0a00ee3fa798fd5f69a6b70576c9475eb3d910b15c3dc542581aa227e1f2428883bab7656a49e2545c3324432279cd01ffe5a8147508fd4b36ba30f2f686c80021b3f630f987eaa21943ec583fe471a416902d7b1727a9afb211a104aa0534ff36fecc093a84263cc82b562ec7d1171b9ed43b28873faae291b0c52d88497b7b13dade51cc0db2b5b1464fb7aca44424b247fcc65f72c266a895b37aab4688205bd02b3c1b286876704fee6269ccc6e3c3ec533e24b2da6b8d5df39f08990d10813cb308c1ac93401751d879729bb73fe6f40ae2c9c01183d703f242583d0937d53d046f245fe54e29ffe92b3114a8691765a99d33f8e9d9c37ee77f256bb3ca2f2b9dd871d1c618ea6f20ab0e19a2c766196f4abca27ce30043f1f17e69598376ef4e29cb51cb49a6569cea3fcbaba8177139a13c1053a09863c3bfd2165306c93ed3d5cbeb205e2bba2c5707237510bc749c626be9814da155d570d8f372dabe6b6d81417bc857801676d13093aa390633896da512c2e00fce612ab431c0f2b03c0e085aed8b88bf490006fbfe7b48805dbcedcda4bda288c9e518589a848fa99f332bb0ff06d293916064b175df1d828f8fb38a8c5884313f1b9f3c1b39c063bd81fd56ae29b5ffadf0279f248177013e2622f541e22a8cbc022dd723260148bae3129ba12d2a5772dcdb3c45e5f55419b3151357b19712ce2eae840b7ac8f20b43c335007e82f355a1254cb80cd29a46ce95d0f70bb3163468ff648f9a098ebb8dc4754208d95c194e5bf745f63a378526c1f7abdfc31b73f2407f4ae6a26738423d892a93072257a584bd263f10216c4f948ec252431b1660fa22e0762b442a0281b7e4826582490bd8413a2e84b8ad49657e45230decf7ed4af3b899d14f94cdd32c9ab890276ef0481d3864170dc78b5d7b8de71e187c825d4eb1c89907826290660dc7bb3662758ad3fb32d07220629e3a808c00ddcdc111aa1a4b8dce929e31075750f0a37a22b86aee11c91dfaa3c3d27b7800e9c85e0ab1bfaaa1d541caf6f1224f260cd7d216bf0edd948418c029e26c01581dca0e8540fe55187f747f5f88e20847709742c6b1df3dba3fe99ff17f7d5063d1210753372afc9ca447308ae398373838e5acd56865b31e42ba8a9c55e2b0f5d4c48fc488485bb25112970b91809f2a91992f678ffc6d45f514b7347cefaf6df152f68c41ea568ce6e44616b3521a2bf10424a387e8f004f71317d253e2496dc1719c0402e9f59ab3bb627e57f1d6679e8179735ae8c2aae28414efa96f2cec6a2ef15c40b9b509bbc8696ee9512afc3badfcc5102a4d6728e9ada3b5d27f59eff9d673eedfb590b57f99a02ede2740844229051158059e601fbdbf62861a0e857bfe02027dc99844c24d5301366bc5c79656acb2e8d3c26691d453ba8e1d4e7e5184b2274ac90eceb53d58b2a781538b139cefa6334616651549702ecd10963c23e234e4e2e81527c501dbe4ba6c38eead6b016997605442b5a43104956abdc208fcc276068388f82fe532d03e3ac6737b0dc860f2fcc369c8ffd49255903df1bf677278180dc2f64eea3e3a95c08861fcd398a375a1da9e6a3977bdee3fafb76039dc1e0d6884b92225f93c88b54a7c4cf633f52c74459623fd8ce297b73be15fcb7405a7733ea2bfa19b39872bcd56b38cfed10843b1645c990753cbaff53d91f633da6d4b3faa8632b471fe1964ba61c3e55911bf4ac8a62c99f7406fa377a56425194d37ec8242c50ea4dee4d609fc191ff129c62d5ae152edeb056a34fec2a42f0afbad3a00165b0197f6e123ea51bbf7811d9a3cbe915eca2d72b172430b4fa2316f2285514d5b500de3c1384a904239ef9619f74e7452f82a4003ec06665c56780e1552b60dbe3e0e04a9ee97ee901a9c32a6fbab09fb48820067be149595d1d04c03b6735075c4742bd58202fd262b59b8f30de7869e95694e6752bf3a0df7c0a629e7c23636c6b8b71f3d458893d82e0ce88a8ebaec9291eced0b537bf37331782bbeee526d0e619537d984c2e16aa11f280857323be13575c426c2da0455323eeec1ddfeb28a4a7216539dec3bc6fa2c9b5649c0873482c239d453e83a9fd706334642ff185d35d05823ec4520d06de5d5e486d9544abe4ebb1e27a6384f5cb45f197992c5dfccbcd91fd4db6745fb88f5a0c8e54116cbce108a301df9c7284b55da4897d0712a9a900b0210ca52da0d09438af9044a70e3ac594ddffbc65180382ce85db470591aceaef3c79fd4f5fdf901be9e38ad190da28225603fcf2af5d3908d7f3a4bb89406435bcf05ad9f8951af29e564bd4ef79ffd9ad931b0a22bb5021b779bf9660626010b686b60c7ae27e22d7077c680477d556099188de44ac91d594267bbd06b60a22eace22cd2b71b56998dd8b4e3c04e30c4b3d5d45dcff1c2ac74203df86291430878044f2cd42c9122f73f4b613004e49a1429c46e79165fa4850a2625886418837f063a98a40cb5e25a01a2c11ea2c617b5306bf6b309cfb5794bd8b61dfc2bd2200512ea436d0e616221c54c83759743b2274d38c54e3dc1ffebac32fa6b61c65dbf0c1a977e0e08f47f96d46754a42cbe6bf15c4f73b46b97301245963369415d57626e4e6411b73d74b484dbb74b02dc57a75c105140a18c3a34ef1636ea7b54b9338042f84675b0d3900f48ca893ff22dbb013f556450f465c1d2bf895d7698d649a2ccc7d99fcecc52115a6c40f1cac3234cd86e80cb427bfa288aa57998e32c01a5edae0fe49f5a159f1d3c0f222a4ab0db5973ee4f8297cb772414784fd3cd08c4fcdc857eba904b1953f888bdb20d866431585bed4e11bc8b2804dff226ad2e359c7e1d790b077197388cd60d57920236618dd1eaf0f4961f643b5b2033cd4a001684dfd0d0f57113820555b6aa666e4b599ab165310fadb36e72d2824712ab0c01836abf96c25fc9a975a811e4ddba50a17dde4b5efaafc0bca1b4a5c3273c60f52be9f5e07cd5871b6585148540f16885f3e0a98da1bd0aa4f01f9ed48d6d2af87972149f0224aa598e6dee40fb00aec299e8200091e2b334667a88753ab721bb2f3894162b6e637c8f5a57485347c185066c91f2bd2aab3604b1ae8b73f6b93a351ba34b2e17db08569f29ae2b4d0e2335c82f0961a04ffb090f03cd466fa404309498c4ae8124fcdd24b3d410c1428f363ef75d8c2cc0702fc5e7c3e6665f25314543f0a6395cb0f902542f8937e62501ea9ae53ccbe9efc2d05ce23001021e9a0484ae566dcc820275eae0dfcaf9c37ea92734be744bb7ee1b3f4c67f08d9caf006db57fb971a1f0c91db29b98b675c67083362ca076d0cf87efd43a81ebd5fbfad7c5c9814d3634f8495230a7210ae55c197191c0a5ea37e17c3ec584ae4305cf352a6a3dafe69016e41fc3eacdc69c28079c0001a43a845c11c9379d4f31893d72d035a2a5d821f39a19302f041db4d0a7ee59bf822bd0dd83ac434ba6e922e39c484173e05d237f52d73925081879b1dcd66ca87c5d4b9bd2d7eafba25d138a07b4a1c4c9db06a8481532ab63b3ab33f5c84f41cad8909f285b7372f916ed3fdc41d92221fcfc0b1a4e7a15bc0b159b13f967fcd88eb6c13956279feadea88956b8a73aadbb7f876a2a7965fa90567eb6eb0b6c445ad8d7ded3a51e113f6dbf320bc0e13d97a36a890bcb30e3d0ce302dec39bd2d23acf56c8bac5f8ae8a6883877f62157dea262823a3fc536f43dc59b5d5a1115768a46829d3b819f997a0c5372701eb21d15543bb7a354faaa55ebd7c0c938c0ab49655e5b0a8412ee823518d1734d7344c08bdbdd3d1512ee44d07b54b98d2497bce5951c3f6f28e86fbf0a468b4664397b31cf5323c6058ec36cbc9801607b3c08455e973688b14fc3cc158f060e4817d0ad3f3ef59d79a1677c7aeb96bea8acad4fd193dbf05983ab89035227b88316494df3fbacaead59d6775fb68ecf97bf33de533aa8e0d95452f2f8bce7b7a238fa70be857b02f9ed8dabc2869ca2b598ee6bfbebbb589d9b844205f2b5f599ff9bac5feb7f01558d779aac823b95206a28fefc28e147e248104af25a865d01089f0fb2353016b8e7cee7de1de1e0052363b480eca8bbc66087b2f60e9edb15e4ec7a47f66fc781593f8b1f8d4eed7d4b8c82a149bf912a2be55a0cef52462fe042df13edaee14ac561e5007769182f7dc1b7777285a4548373b0ea81e5e6f6589aedde929f950ed74ec08ae2eb712722ba676b2d8ffc08b16fc3f4e171902ef77311c5db813fd57b04fef010927daacaa77fd7c7a0ff99b7b3a0105bd46b93048d262336457aea528ac494880e97de0ca9df81d43767336e143dc3a2db81a092d881efef168bf2edf71a3caada248f7a24a9fb96a1fa808ed70594e237ab31932a4f915affc0b451d28742dcbd8908086526c59e44ebb559ffa5d2d96268104a23b6c4252a0c715f97f8c673192d3b6121be38013a817bde6e8c74d89753d34426f8b1570ccc630c37138bb7e98447670ef3fd0d19f72d0b07d0b590d46afdc1b88cde5044593ddb406f14a50f83769e43b944220fd91612f0b7256acef3bcfecb26fba1767ce1d6c624ea74dbdf062d38a68f0f1161bad483264a79350014547b9e5cc29cac0ebf4073c4f06c46078efe202d3fbefab41a2e491fbc7238205baeff46a0e2f2eaa994682dc38a4f8866416e3a73ed6db9995ee5f503ff8e1176b4a964276bc0a92f71548687b617baa1be4e40937e532427b934a08799f4bb8dd25346377b5b124c62832d37c864a53f07993d22074550469d4117b0a2e296d2d2d4f5ccfd046c8bb019905fdd9de24884a112a66d8d5ba9bdb48c42ba2b5173eb7e8eb395aae6b8cda156ec0f0ed57c98c73c1b63c8e070dc3adac38014ae0443c148b773052e909b24c5b1915f9e7a79213bcfb4e0ed426ffce0e49cfe625e43405777b9e168ddb1d7cf2ed9608930eb21bdda0522d6a0aa621f419dce115b176c6e0461fad1f638fbba32fbc97fcff61ee21a469a217a299fa42e95ec8c5d54cae487eb6e360c56d5d87280d57288ee9be3fbdfb2dfbf8632b475549ef734a332b7bb2c314e3140492cf2317827860f486818268492361915105d3314b94b0ddb64c15165ddc6cdb5b1242ff794292797375741e980111df96337d407c34171f7d1a7ffa45fbc59559b225827f105a897c299336cbea1564b8af05036ea271084c64c95ec7bbf08737c514722e0f9dd6b9705c5d32507bcfebe08d4c1065d184c5e3585210eac0fbcaaa73cedf6f2767d8f9229140d7b492ec7fb5a00a2cd529cceb1033360edf3215c88e39aa1807f691d14bd9bbcf4d360fd42c63f24f7de0a099e5fdddd72d9f3a3c775491b439fbb3f5f5a69b141871f1700829749c3f36cde6a60647305410588d28477f679870dd0ab356cf804d39e8038a8f0758fc705a094154cf30c60c8755f3bfb8eadd8a8003ae0151be80b07c3601657e19b5f8379144f9e2ca1d42186158f7c418b1091fecbfa45ff6f661639387b2479154ddbe822b558af7e764a7f008e1ac3929e0504899b29a977b427b373482cf8685081ec970ae41524072d7e3fed6bc54af1c55c36aae3a81fc53597f5800aadda334661820c5500887b503a07b6d03f54cc1af1252137c18d542ac50c4da230af9c81cf85ce8b1ac4924a4a588e1deacf00e88bfa327612e32e16ec9cf405fd6f6efa058cfa4b11acb3d9563186be3ea01ac67064e5698b634cba17b7aa12b520b41a5b4926e9720d75286e0d42e0db96afe8e3878d624c85c958ccc00b7d07ac11041d44798c07bb405ed8d8d88b69e73058276402552dfca8c1df41d965e151df849fddd4a9863c0e3de55080d6c4f66e6f95b8f5e0dd1dde042ccc63ac0c921646eb304e5ab941194fbcefd2ccfb3a8e98eff8d5a62508b31c8dac9f5c79e28c22c2ace8eaf62d2b9109b80667c060eb49a46aad4be79c94683304e2e548041aedfff2ee082fc48daa491449535723cc47fd741a9cd2940a9bd9adafad8cca54351304768be99e345b406e2b8498bd2692176d2babe76409c08659261159ccdc6e0cc2c6182205242b3a61501c6f8d23881a49963c758e3c115b7bbf3f47cb72e0cff42ced9781bae73586b80559b2bca8c1bcb6e484f83c33a5a1459aacd9120fdd260dfa3e4af8615375a245054672b37304ad03551384ddcbd7487051267c19f40f151c1d78477874096f2b5529bbe9773e09952df7fd702389aacd57bffc823e70aa844e67c2dfe663335e0e40f076dcce860f46a4456033f274841437fd47334ef5c3415fac8d447ea23c94c56307d6cf76b96d4d429e6bd58663511537cb51d7fd36462ad3f918e05bb345ceffe7ba4e1ee98f653d689bc3d47c042daa6298d48dc1746a9a8d1869318556a8172dd5e162f5836adabe07aa3e91064ea7af400cbf2ddee01acb54603ead729608baa40195359008b90870b3ed8dcf36f7bf81f120a84fc64b8566c96830d1137b4ea7ecae655e6ab4ec78b976a791b52afdcd7994394a242afdd522a14fd1ef63e8d2ae1873f4a0e4b7afa711f07606d2e2cf81a0c8e4c2fb4e0b9a8d2e797fc1745ba07f5b169f392fd8a80412efe50e83433ba36c2034d9451f8663fd0e87859bcbcd5ca426abf95a26b678be06856d37443e30500f9f1c6f1f33c9b756fb4db2755139d949f8559867e7477e3e479e409247bc1ab5879da9f2c29dace801ffe282a1830ffe46df0c2b4b3979798d73be7bde449bc2e3c092ed7f07b8578d07b38526e83716cae07015d053062394a21aabf0c7abfa3cc5b3b86debc31d5231691eb49c5a9aed10600145e0b693bc05a4caf44c217eee0ad637a2575c641ce62f364886a3c5a28c3522e19da800a90cd42914260a2196329d5f91558d6cd8e47dfbb2a4b177533a9dead95a03bacd15ed4618244b118269ffbcd38562c3e65afdc7207a6e4eba5055e4ed328a648f5301f91b1ebf0f7dd6a4222de3cba56e6f64247c501dbb154c3d3a0e51935a841f69f104fc5449b3df7e4efce78628913abc0a78438554d192012b74faa1f760c32383749bfa96f69a542498f9ef8490275dc1d2859bef6f5d8cb61e12f0e86422a44538b939aae53377a4995f133cb2d86e1ad9ffe70ea675196999e8257c5dc439a975829e3efe3476a246655c1f56932566df583c6d4f412cf094cd68475f6c1552891b7b5ad7ae0b664ec83472b7ebb15a35e5c45e6b1cd274be0226ff228fd48a5cb3bb724dc9a87654fc17f3fc1e5fc42241636a094168f95a642c021972592088a0984d394f90329317786636fbb5d67cd1df51e4e861a34b47d0c840052b659f0ba2db492a364af9548cc19f83b8ecfc8ca7212f33427809211fdfc76fb4d15cc1bada9c226002505ad34333db15cea5dbf20cdfe6fbf29b82c2f31bd54377c4458236c64c6b80ca56c2bfae32cd717e4740e337f9832345d6cdcc9a9043e94b6eaaa1cccfed4881dc8251035d2716016fb1d732f67119ca207aeffe0be7ac1eb42d63d902ca25b176861b44319d47f0b93bf89c139b9b8edcfd572dca3b0a580bf013c5627c58cf89498f9db6fc62ea23a2017b3c6b3b4ea8b9c4ad57dd41f9514450aa4197075ea8079f0ef3066f29a4a124af472166287125ea8d6e5d1e55db0b9b1bd424d26a135d831928a81e1542657b7835103413aa6309121df6cd4db456e0e3de5370be8541c579352d236c19b7a1f18e54872e551e43c5e5a2d51cbcb28f7a145263697b8c729ec54344c78fa95c8e20d4260d47bcd37a7229b0ad83eeaaa0f4baa1dc37b4461cbcb390508e1e7a1bfa742407d7f0421db2589e571e153924e3aa03845f9c955a1242404b83e3ab6693881361c88072bd4fc5c1c2817c943bf319af89d7d94d5575738c2b6d8078b7ac871988e0d51c6097a97d98437e70b4af57d924159b7e80cb82481e1f0786de733545347a4cbb4d7fe780875fd7b4952783141ca4e6c5eeca3c9eba7e76a315efb65abf07cd8fc2ce5066c12f01d7ab1a5b8a0f2a97e3ed4038780c7843366f0025d1152cd4726b3b38444bac127ab7bc1b93f2e44418fa6137e328417defc83e5cab1e7378ec20978501a9ed28222171e55aa7e4bd201ea0b42582d9f842a914725a730a9c8774bc236209dc06bfbaf7e6841e1492967801292a09681fdb877225764af74dbd654652bb5c5548ac31e1521f29c4c01be8a54f8291cad3ed9714c1c636abcd837408762289f1a96432260513393ed4dc3d04cd69924722ebef7b9f7f8388e02141f0a748fab641a2da5c2ad9e80a292ca65662633e9a552e8451b98811c6721d184bf482df346d0d5c4b179b9751ad8b789cad969fb04927af9c240a0a41a4300851f2b07bfdc0ee9faac984fe2c5d34570047c001ada362395bfe43457897532612d0926f6dc7a9e827d2932d6addd15bc1ae102068959caccabf69b76e5eb462ee49abe75a66092c5c05a34c1358db0bd78b7875b01025465c0862882ca8e2ba82c6382e172f453e6bc975bd1b86cd68306821315fdafed2a5e0965f516be01bf084f8dff95f67c992f3b0d3408d9006504bc73b812cc55febb91dfb77a11ad89d21eb896f5986d7553c9c7a703cb76352807231b24fa7cf3528001a4c6e9a5956be84ce7e618ca8e44d13f121ae1bcbc2234a62fb73ceb85d0024eea2d484fb5e5002a263d387d9b0e632195124ac1642fb5359b8590272a792a85dd7c986f99513413adfd5548e301f12c08548f165b72e574818cf3e98c9b6135ff3efb10a6d481cb289f96659dcc2214a7b7b80274fee6e36f28d86012bdd32cdb1214b6e668987ae26ec30e6d91239b3043f0a1698647bcf48c27162ef64731eb9cbd375b6ed4a7922c2973c65aab7c907d37e7023823911d5a7178121bc76657f696416eb756c319a2a7bf9c5856dada0d99a8687195c859763e701d69e4521363272ca642a87c6668752a46d700c8afd7eb2df2396e64142a81cdb3f5d57c524e4f0f22703bbb399009831fedff2ab8b5ce062e0211b3fb612d3d7ff7d9a532e976326e936f813658748073cc56bd34558b4948d5d3bc13e3db46d1cba993e7206ecf3bcc871ae63659b1c801b2f921eb5988889c0e64a80e04b85d841a79082a59ef8a5f7ac630a0bb1a7214a7178880d349e7f8ff4913a69827667fb19f94f92b0b3a92a419826cb1aad138cfdfdcf909327c1afc5221d3870c30652d121f041dffc8c9551f806ac98bed16693c70cefad9946c856fbe59b0761bce77007fdcc8137399c76f2fd43a0da6c15508f40afecc4eab0c90e722fc309a7aea1dfbd62adac222b179c36bd0b48c3e18db72c7f3a96fb836e35b598205cf2bb5723545d01b8ea0bfc31d80b5676362288d7891f441a59530a2437b2b35766b54bbbab9135a2a2f7f857a46bc7fc927b40323d294bd81fe64c02d21f62205838b02caaa687607b1a3818d452ab1756917ec6a16aa3f01f6549709ad2a81e34b5e15aa68b3b2b3d10154e933bdd07c12fe0fad5f2c5b1d1df4adb09acb48d18386badc2baa148013035ac4c481752ae933cff9cbe97ad3ab63f094363da84a2c0fc89445cc2de09216393c90312848ef942d1820ca9f4954158f04693b324889de2837436c51244fa100f4e6b94d607d1811ea0e3d9aa4822bf4b95474814cd7ae3653b8a92301f56e56cdde3108d6c6fcc5817761e4e3e113682e4c0021807b7a15dc64cc64e372f0b71e141e76cf870f1f076630a41afc740ff8def8546dc3a0fcc594446bb79f4dca040b29aefd43eb832fe56bc2294a2041e8bd1da2e339224ef2f339cbe3da40427b95cd9a5e25bce48df31511a1f00582f50f9a2209dc319391f216b3670923555d6fd4595f5187f4f2304dd13b3237a63c484aa0eab814e83075f1bf28e0e57b438477fa980d4d35be10551ac5c4876bbe580187f7f3f50e430519f50aca61f8be7174a3ef28787bfeff1747f71c28e56a914d77172804a360ff1b05114a227b69c07ca95db922d6c88ae976d7153b90423503975824ab5e0b8ff4cb9e64a094417e2ba4d99f3ba02823f5e83c7febd0a5edf1cefc27dd447db914a094015a712f6feeff0462131b1b6ee8fb2a84210f07a88134354cc1d2b04c6a5cb9704d94cff02dd6a33ec3965c27b954bec38f646c39355423e3aeecb764ba20a5c8e2451aaa2059e62e03426c442b181f75efa9c274683bb597a87e851cb4d0a6e8eff52b1bbd6e5bed2d3a4777ecbfa30db0200578afdf2956f80df75d72a9a211bf6167730be19cb287ddc6df40d8e398d773a48238c6c041f9239840c676bfe6d5c95ae97a0c621dcbb4e02c7f648aa3b569752df57a4d0964c140abd33a2097e6421e9c9cfcd277e719722856032aadfefd6e98116043273ba646d6ce00c3095353686ce5e66982b11e1ad05461a720ec28073cf41b19ef9e32a575a52d1b8c6785b9cf0d2cc2fb8456271c7acce3793f60f8a53c783cbecb2f8817fd42a20b001d66ecbb0438bd25a88d52dc56e90fe7dc423cb695aca8259a92fe7b50cc7fd3c6b79f4049e329b3bf4035a7db3c107b475a4e113cbb44dee57d1c9661c228be8c2ac20f229b9d901fcd94d853ea5f4afc64b54f97b1f874d9ae1dcbfad7875936b3fe809f8f4134c288d6d8b0a8c2b31ef558305b3be65b961dd5d1f1e3a91a83bc76bf8235100858d4da74b956f4a4d1c9796743a4f406eec51ba3bde3012d45ff424325e9f093e177eef0de35cbfca75688282978ec9df2202246a225dd996caa712783ce5e0373ab9324f5e0d43f41efb7edc38e97637bfa036883e7b67a255efca070b560f0c18350e62ccc808fc57a0f80c63ab6ec4ca55ce08de4247cbd695ac419564341ad8c4ae66eb439bbd84bbb67a564d1212c38c706210353f53deb7f342a190373bb5f7315ce3584484ee29ae9d5f5a22596f21a93ce5fc560e8319b8881f130d9ce303cbec39fc4334e7cdd62e9a9e69933dfca6b4182eae90b5cc5ed04d531c32999ad68aa2e6c6ba9de4ef0d08db09ff5118823f12997f8ec72ce16c255d78770fb5ff9194d571faf970fa9d60f8804319240b5a6de3ac461f3e36f8e5981e785de971c8a8779ef0bab9df152d51a31115ab1b808a4e93ebe22a90cce76ed628acfed9e11799b933003b7ff0515ec27cc9bb379a9cbbeb6130ac116fbbec806ec5b5ca2a0ebdda1ae41f69dca5c5d46415f150113464dfae3e803153d4bc9b56ab623894da411e4531ec2a58b9ff6cc04bdbc21a84d58e32266d1992610b3d3cd7b9c8545ac1624f9392b50c0d127112a5a50f945180f5a125cf75279b9ff84ce6a4b3de90918a8a4dd98c4facac864eab41b3fae57d30e59b19b8deba95770b9d2f6e848b9893eec787670d2066146b0ffeaff7ef401088d11cd91954f2dfc1f9599c472ef0434a3b2123fcae75a01afc65069ffe69772ceec68736522bcf72c8e5fb4247a2c0dcb0e7b0ef309f0f0803b5b43655aa1c0507c9fe7d105c796a4f594a5fb39304c80847a843f7a8f5dff3e45cdcaaeee9691bd0de6a2ae61a795d78df6172acc89b8e6625d2e6dcc3e5d33c8fca1e9b58c23413513aa1d2631f8447cf2bb41f71c6e229fc64c229b308037f750d1ee1b405d1e889d5bfdf114ab2f10bd38a31feca99145984a470a33645ba7a4b5e69548ecc75d21f7662e742510d24d061799ef297d446261b65e7950a1b664ff695f56e06aeec9b7955dc666e9aa8ee440aeea6e0b2b8f52575ac2b70fcece77830bd44a4cbc86c5e36b973df877821643ef3bbe54f34f85834f6de1f25fc478b2894b50b202cc9b186404a9ef5eb863eb466a7a013d9cbe5593d2a02aa13842e6ff79b9dd26a91ef68ae5b01df0b6f190b5299d778c49f6abd79d7f49f220f68ec811bab730183cb52561be16e107e89bfa1a4c86bc384597faa1846549bc19f921c169fe0aa523c8d378288b996e06cac69de46cd5e9c6d0361ddd7807f417dd08241f44b0edbb483c4da22fbc061dea9e9b3e23bba08f24a89df7f24346663aeaa307ed5c17b897084889a84ea4a6a557ae4bff2736cc59873adbb6c6fc1f0d160507a68e106bcc943703085bd6599f0d0a19ced807466b4dadf03b9964827b38e688cb8840c5ea548c879391001d1adf8232935e53ca3e39c9ae2798138c35413953cad7fe2cb94696ad668edd67eb28b8c0978d2831e3d737eae7cce44145e700202a0a8954a573f3d593d15c37bd125c663fd215c5279a32d822f0dae216d0dcd3d02786251fad25a776e4ccf166b5753703751e372e0c6b1ee0519cf033241bbe480aa89f1dfdf7b47ff07833497c4153d354aa6e4919220091be466111154cfaad76d6dba5a2a25a8881996a1bd5c1c99e355b5c5f426aca446f1c9475217006ea7f8297a4ef62bf7ab167754949c0871561261afcf70ab6cb6b5917d2085c17508c6848bb6ec46b22c1ce5a526e4f1b8f782a8d5e45714612668ad4a1ac1c7dc53d8a47b0958607f17b2a66b74bafbfbe5eba7a070c961994f73f4d1ab392ea6bdd2e3487d28d07ad2554630b2652455c4d3049adead8b4ce9a061a789584c79c43a7a85b0d9c278de69695251bce82440d3bd81e421fd2d6096518ac2657e779159a256d046da243f1fe43a6ca26513ae7d6651548f3e68fe33e4c7a5a93143d0707e5601b687c70a414166bc1bb3bc4b6f954a035cbeb1396315ec634a33940d197f8b73cd2e734aa6369b75cb4d6f5cfbeb06831c9a2e3c9dbf03e89eb3dc4489106fcbafbc8d3799b6e0e74c26f06f0f8d3bccbeda103681c3b4f93599e6693095d4dc3296af1e004be54e3983b36e8d2c885a685f81b3aa2fc4c389ff934700416958810102bb3f2f58d150a104e3b08d4596648727f3077a81dde07268b03b7aebd9ddc32991f82e7b81075cadcf456bd9325db5739c205d8219044795ffda471536e6a7022fa889cc5108d6e67038dd4b8e7dad90d89ba5e2de3c64316aebe13abdb69c00beb1aa0f6bf89c325912c8b98c09d5b5237afb39d98bf3df2de8129a8bfa20aa1cc2397b3d516c7f3e265c8baa096a8f46dea7f584f4390c3791746ec0926b5e08d79d34cac0138bbc1f5c7c89f53b553fa2242c6d6f26837bc3c139b8f9fd6258feee0ccaedcaa546307677d099db5b302f0b447ef25f9b6a3237c05d4081f016178faa1d20ca1d56f84cf66cb18ffb590240ec5ffe03410a380a48e464ba2688d63c998dda93158aefd673ab536aa114f4a80292df2bc4457f87d3743d2db0769efdc0ade54177efe231c79ffbfe59dd7cd44d5113e5af69fd5fad8695b3fb55c91dce340136a803bae7c9af5ac62363dfb9bf5d6ad7bed616a4f885689db5c56e86c397b5051412c1f34611e8ed19d8a295578b722c69db1ded2a0b76559f629f26518a0d7aed60100196ca9b8360c6f6b573fefc01c884ee938a72514a20c79ffb1712887c95c45dfac6b902352665437f1d633e6df8ef4aa4cb1734dbdc74e545cccf460ce0cb483128be08a03360f6fced7152e56cb3c8a9678510327245d52ad51598338c8774d6451b76ca35517e0681f668fb34aa905f4e51f573976713cf539102d697c87039347fc7d42da410f1b36854292afe999049ec5f65b2d4b6700f9d8efeaaf66d53ad7a6b67258fa1788a91d517c5388e7bea7f8c6831f26101e3075c606ffd015702cf7cb19b4e8d861ba01309b91f0b7c8fc449676481782f4627870639278a38732f63edb7790b451b285b1c608c8667bd8b03c550fac0a646b51c68249a8661c851c75a2fafbb15c6b26124b3cf173132c0d0c189c702ac24d8e1790a549c15bed590d9e0d1cd079f961136b9deab42c8086dc9423017c6b03edf6cabf51fe10ae5a9a2ff31098f1a66f8dea9c751660262114a546ebf577e921ece0cca169b7d41cef452bb160cfe1caccaed977db9158c87f6e9775cfd9695465e193629f68f18fd9293830883506774648c3ec6036b5b0f85a081e63956ce694c69cc2c6c946cec606320cfdf7fb47f1bb8d3209d57d37f1cc4bb0892d8cd1ef551a66e3f61ef3e7de13e7030e0e24225bfe696cade8d81af77ac30336b44428c6dcff2a599c05eceda607ec0beb339b328914fd091a339796548a201156ed5c447c5aea3ac38082b8ec968392a8413e7d58c4c0019f108bf482f0a4257d79a2b17ae22bb2ad902728ad3e7bb6339c0c56f3f993e29c30ee5c0099742c87fd4a1a3683c1ba6ffb234277c5260e2fbbafb5b380afc192409bcbd1a989694b54ec5312298dfee7dee79542037ff649b823a84667066b895701ff4d5963a93aec0331becddb9c8e8c99f0cab79e9057ef63e9c45cbfa4a018ede8adf3b644a69b420e277ae5fdf7241d9015033fc661aa7852176785ca92be80fda7200f9add120da70f01c94661e310fc8528a51f47fb4fb425e2f826a8cf396f96a62dbae75b08e4283e3a8d2c9ca2d159b75b16c63af423149aeecf5e102f569470339d38a9bb04996c5339815dfd7f563afa9b8bea56cd348ae04f6f6ca932addd5b81c2621a8c93181144c002d0f5825c048a3c35d9a0437e4df806ffce81d3ea7cc667ae231e8f499e28d0971c86a2e3f512d479f44fe08ea1ce986eeb5db6b275b9d922e1d826023b64a724f0a1a7f85fe4ef6d8029310efd3b94f81aa74792c6fb7b37946810b0b85cc6775d0532db7765a3563bffb3f2225dd6f515ad459662fbf2a3858c9cf6e648a0664d9b21336c9d11d6a3fb19d2122195fe984b8acddaa72091e4a10b2bcb50fd3dcbb218e526ea4c6f1437ed25995ee5e03bb58b97d1d19395e3099ac15ffd411d2aaaa12599dd94d0cfc9accbc2a5999a7ba25efc5a3779a205221b94bf5ee2dbca6388c8d5a8c13c680693cc0e9352005ad5d5e7891be967d8404906b120fc5165e1d1b983282c53a5ab15739d88b584a418aced485876fb9ac298160b19a89761f20dc814789bf658ff67e4d0057d44c050e35be32e6a2d2479da596dd3b0480a53dd6de52a62bf518dc06eec743870008970ae11503099abcac8cafebef9f352dc16dc74c1c38f1290e6d3cf6006c71f6e056a88309440e13520bbe517ad081a5fe3e68645a9c810609f113c5c66a1d9e551ae0b9ef26fbe26082bc2a8b07899fa25e83c4f3b21ec37e8222333266a55c0327a7ce21760126492cb2b4eb59625ca0fdb8fa1ca4005a7dee60d08ac0e2f2c523bda3bdb503f5a8a854b23bb55121d26b648eef8fb5423011544b580a9e11828d0457f77e3aa96dce709066cd75ad372472b7af189a3a80a9e53c06a5d7825f62f615851204aa7b69ba65609b4f29a70535c4609366d6d9f1bd3fcbd0e24ae01611f26209157ce071d1136dcd04dd34d58126a34c9dbd87eda27e3ae7ea02ef6336dc1e7c3f02dc1a37748c7bd4b35a05ec017f59d21c1483ab64fbaf006a49017eec2689563c2e6a67e535d716e9fea790c5336bf6d40bae381430be77c76cdac0fe3199abc5d96fc41a651590534a31d232603d9dc5eb9173aa77dfa829fdf543dd60c598dba4326459314c7a230ac98bb5cc806ac92a6fd67f0510d40158a795dcb73d1076ec7120bbed92c43b9b2d876e2179c05d9cb285672c737cc1f6510e0816d995725ff90ad7d2ab0397c4940eead505d890b7dc1c5979c0eb1e80f4f4138a6539261e6a759c6028de50f33704d292019e822920d89e04a1a900766e19a46cd8bc14f9dc2bea4f4c38900fa3f63884460108ddeae0b890ce2c8d9ad9e52f920d4ffcdcec07fdc05663a9cbcd12e03c8e2a73454135ceede6b77b74bb0e766e42666b3caa7f9f5e6d3d92c96be6e6ebd243f58ee0ae43462dfe089e962411a58a22160c4a6ce2355b2ef3729ac91d80cc7471f41abe3412f91a4bc319896c513eff168cee0990e9c64a9f76645081568186806f50cf90e7abead936e8a0e0a7416e54732108970979c7a21bbe53d7efc0d1793c85ee630ad97fb9e3cfe7aa6b0273159473f89787af79a761e0e4ff301b906921d28f05f807ce406a8cf87381a10984b063ffa60d13b4153ea88776749b2308980c04c58830103db8ab595434121d9a595629bf12f1fe11adb92ec3515ce5332a03b628d998e24dacd6f966d394163a7705c2316778ea1c875ed266ff34b23662350fd24f25b8c51a7155dbe3dc99cf3fb2cef6336fddc4441d48e48f76362aeef2cce14cd9fd54e46def6c96a3e551c87a817a4f55ced8d44db23889a3d89216adf95d36d124e8162c917a8616fe5e8dfc3676092b40b21adfecb5de5de04920a5b14d865b86217e0bc877c5ca6744c572736455eca9787aa739000beec08a60c0f35a4b9aef9e2949c1b7cab8de2da59c8e2f60747a9656004db807a93dd234fb1e1f9703e9e70365eb414596e0e528eb7426d8d41cc65bb7cae926a818918200958089a8357eb0fa7520d29ae4eb16d8043c6fa7605629ed3e099d858a30e4f2d53fc775668bec15076272a4426d95e279b0686258ba28e03591201915d63b17108292a3458eb8aafa3e188a8fde186211bc45185614796ea632c322e1d624606e8e8f1c055947095a6c069c870757fe59ed289b6edef76bb0b468895599e241baf38bb685fbb4f5c831861b0f9eab35d1dc4f7d0ee56f21f8570d3ebdcdd0093ef5ae85fb69d20c8b2446858b6ad93b33bea7f4e8bbf41b37502f871b2a4e6014bf3e64a420730eee717beb049b1e44874c0b47cab7f0ce8d1dbc7935429791be71c95eaeb9fd507103c58bfbe1a2e42420f94ac8a3380cbc0838daeca7298af205423ab1aa9a3436f2fa3d642c42121a4db4c09718669a66ca5bce721401ec7117563b5e897987d63810c3b008316bf6fce699df46013d9dc7534e6f66cfcaab70f562ea922032ad2c003ed607416ce15125d29e5d2822f98165c35708d8e9b94549c8f10a2ddcdfce73cf1fddaafdd66cb29f0dcf4cf1cf388b48797cd0e03e657cbf9e58ea6348d19baeb24097afbe7fe160a82d86a6751752327d1c94440b63440c5cd829e9849eb0b4e6aa585c6e1c583063bb5419ab2b6a4e37fb0d3462a4517a8605db32f7f15ec415d16ef8dc79e275c15db90779b8d64eccca6e432c6890f7df22a8ea8f8c4c69f4ebeb2b0b5c28849e4c852c4cf83ec7808b50bf5652713b93010629e2eb01c9ae4405049086afdebb5de27a689c13556a2b3ebf6daa3e1d104687c7269ae143cf98bcb72a0c0ef0a695f85efdb87b0a10821b3489dc628f140b3d77eacde7ada3f6a5b174d4d9b8bcb96a67d4c814d8eefdfbfd4c9126f0160b43a2d58a99c0e8801caf8d979cf350a5b2ae06f871ad2308379acc5b892ab0ec6fcfb5799c79a9031c5c4149057f8f095f7e4b40ef9157749eee2fc2ee1dcde3994345e2d5d4867e126575bee2be0a81875fe97974dacd0e60347ac7868ac14ab54df91660d515f6c01bec47c8382f90c1678ab21220ec3386aca22373dc779ed84c43f6e03d087d9001763d33de06502614ccfa6042e762f274b4d622af8fb4b662b3147d90ff9a3e68fda71e89913491df6d725f555e2b083d1127f37fa96afacb820991466db1d20d05db55b9d6b784efa2caf62123c768319987e1375bad198c5d0aa3f11435147287f16e9eb384cf65ea3e51e249ee4a1dfd410ff2d2a86198f1a18f9bfcbd82e663ac54195e5a925ea180444a7e796fc3074fa5ab01389111607420048c5dc28fafc1c2c7b38db2cf9e7036fc778825d0e77555a761584907ffde5245775ce81d4560473ee16afb20b30535e857a8cbfba70b30c7bdc8dd8ff594a0a194ec42aede2d590720367c8366b360c724accd1c74de8d2576c774ecd8de84f7f4894966dbb6ef37dc4a12362539731fe4cae99c2e500143e9b48451120288db649789cbf0b2758ef75735d6b8b54b22b8cd87e6b02114b50caed5abf65aade8864781f60243acfdd1ad487040b6a5cc5f76079132d34c33eb2b210223c5722d02d36d5ad1c2272c09eed4eb70e9f1513e337f03431fed402d9f98bab83af6ce3d7f4e08e82b7d00c5f7f0ab5c0f7473c93bf2ab634894b8db36a355b90302b79d41e3271857226cde9873619191a630c58f81616cb897ca4bd1a902f744d42ae3ff8d0edecedce006b60e1e11ffe59d060fabe690348ac0f9874c6161bd61a3b53fbc606d7e86284586f62f70c893710fd77304d8bf181d1b3d0ea29d2d922293fda189e8c573e66896fac18fd519ec357c20dfa64070c957dabdf866abcc22069c56d4d0cfa412ecce9e70e2f9d7618139a7690e7dfd3f90ed2f2657923f67f73e0e986ea88825a9a4a920b6e901a532fac02dc1bb38d31f1fe6ccc6b84a16b90d16a27f8ff0fa580967a1b99fb6ee69ff323405441b77cf34f48c23acd3678cb3ade9cbcfd35051b647a91cdd5a49039ccb4411dbcf53e0fc611c2cebfc39259ef9f54bb43f4bd78f68eabb7370251fd0d4a72e4c4fe01304938a644caea48bd394b686c6d29f2c0e94af5baaa4a599d2a11cd87f3f07d5c4fe65e579c2e8d1dc28f050c4c2661dc27e3da69b0ee4ee3af5ee6cee16f5fea176eacf9cc8d1c0f9165f949e78b9daa8eb5cc32515c1d9f4bfce17c62d36091ef270b71101cbe07d479d48eaadb9cc35a8009e7891d60c6cf86471071fa5632b67e8dab381ffa9b3e83226fb9bbc9efc0f2aea9413be54e343720b8a14b2122eac1de379bcb9e2c44720969b099b228cc4db8d6845dda0a36b4307498e9060f1ffccdee7fe85ed686af44cfda987188e192902ec033bfae1eaecc547df9a9fae757c7c780a93e02496068e24b8f7270a39d480a8527df6ded3c9f4012f6cd201093f3cfe73518324b7ec861c6d9cd973accbefe9973f8b36db1c756b0af4bd2d9c04095fe33b41efc6a7f600506290620eeb53394ccf441fa58ab6df322cf4b35ca7000c8205b6d941789b4009dc164528403008bc6353f6b6509b99f50ea656fbd3ded3613d73526aaaaf122949f24641b68b6123a61e19cbcbe8119f18d66558e2485f79bcb0de4a8c94fa274fd7fe0932533d2222874b40694b6a26236f781aad6c78b9a4d0285c677cd01326c059fb1aa1cf8b6a73a5276e547506ee56e91e8b9639a444fbc37fefd989c75f48f8dd1c1f3a182b5c9329471e252c2d8d304d4fd918910bef8f8240a297b0852f52bdb698cde27967175687582d4e7fb0287c9b1e3f9621123ebe94034325c824b1f53c11905c312297b3169c9dc3ae61259d69b2b1d0c440221eb8301da715e8eb0881e9de4162ffc5a78f181f92af58bc2631cdb81caf71475e740167e197cafdba70b0b91c67533667001f5c97fdfc850dec60f942de9ca926402499f65048311ac810dd14c1e6dfe8c41cc97711605a47cb824c0cd12aa234bb3ccaefbfb7e35d4c4ed6993aad46028486a104138ad0272e7e4baea9200cc0592345ca7e699d7387c7b5d4768d469bf5a4c02bb92788578a7da491e70cafd0f6d2102a045e49ff9ab9baaf6977e18457a0943ea209fe0a03112e7942fe8105236fa3e1fbbf3942a3805d52ddece2487b0774ab60807effc28f82e2dce4a417f8e32de5da6d48b0dd88163c8bafea7ce3b9485e9fd6bcbec23b4ea64177c929578617448d821c6accab57b2e8f4ab942b237bb11b8b49a7d282ab9af0f89dc01f8b892ab5ceafad26f4e9eb218e08844221c59200eebab9e4cbbdbb5352263860c3d44ff6fb37c4965fe75b87a67a33709596c2d5c382ccc56b7cec0de77d64a75aa283ab0c884a1d00927b62391ebc83653530807f0d38b339df5b881265a0a0a4eac7deb9dcfdf34b6cbed0c2799144d3ee3eff29d9f305371b3ac93c1d3c88c1600ada88fd7f5b36653b277221042a0a08db44e6f0f5c9dddffb50d3697184bf159ba304caa9e07563dcaffb12a35b3cbeb0f5c4eb765968ea542f47f6f8d11282c4784342261437f56bf40253c97a78fa3a223914abe6aa9d7526e2daaee8eaca5cf3d07300becaab1250c94e3730e870f25ed102893d69b840f8fcac615d36aa9bb8c2935430037f1f74534c0822540654393c21f8ef0d2556d716990c6880456dbeb4c47daa18af914fe0a4ba7a24aa054d62c7b53453cf5de3e86f11023cdafc578eee36bc133ac5d668ae758f1b6fc0c8fd2b33ccba993ff1ad5f6c33a9a90f4c3b18c0cdfa0838282b93b3cccfe6ede2a040d1be0780486f2c1a1b865c5e76fc66cf09fe960600fb659e7bd3e5cf50e3012d6edb3fd7ad9f4089e4948cc3050575c7967929aab8ef8fb9a12c888552d4db09cfd052e5dc20123c32bba4ee55cd572f1d57099a4103a5823588e76ead892944ade574002afa539cc27bcfaa91bd9a5563366288998b53bd89970f960be7cbf7459fbf22f089b20e600a57501a8bf9c1230bfdd4f7496c85e0f59c9c92854df7d58cb5b07f9938949f98f23ce6614ea043c42e2e119929b2f5665068751bed0ec74c2953cbd20b0576880c9c926f599adf6d5eeaee77435351401c21440d7c517822c7cbfc292ebbaa99f8ea237b23362da07065454074fae55a4f18c74f5c31fd4c1ba9e0f6bcfb58ad6212a639f87892866ab7fc8a0b11c456eb0be807e68c8121c99f28b75dd06252f2a555aa27b5effa0f5ff2e7a2e37f47b56190f44a7527bba99d3a51e15d121900f5fb076f203633551c5460428902d16effff0eeeff46dd5c35956be7aebd8fbc06bcfdbe8ff46a991933055bf090fa270b12142fb25ba3749e67dbcf7a373f56828f52f03c7229227b17d6fbe27837bc3f42c8b005cd3681fc4b19ea59ffde159345c4a28157809e1ec4d387152371f0afec0554dfc529d7cc8c2a6682c305368cff40cab343f5fb54343d8a45cb99ea1a8ee5190e5b5c80539126a3000ffa985f52edbafb731481b329a080f804b6223e471626004084e909c8123bd49bbb7229692e94e78d16aa72503d6590a80cebc69df490106900eda712f607ecfaf6aba9f2d75cdd58b85b6f1265a4ca1b63dbac20df1fd623e792c3e2ac7290979adcb5dff56668d877d8e6782e97f924334bcb6b421ae294f1c0e0e363a3cad62b1eab35f60e3a6648d8dc5662a48cd913474b76d938d7d888babe8acc9900773b66f7968dbe3168eaf475843086faa517ca5a3ceb642399a2de47cbd534fc154ef9d3449ec4d0e2d9ac438268007701dba27972d7599cf2b72d181329925c6337eee1bda4d3161ad5e30f8e65260d12c813bc1f5e6ce5e3791af24a7001651cd49d354ad62e9523111aa83ff2a07daf1b70831b6374fe96acc7f220c8dd792bc474318bb30144872c7be77c7e40f668b37a8d0018b442490ef6b81f2b84eedbff88aa2eecc4fb0c9fc889f2f6ea5f949a04750a04b58b822dd4f29a1a55b125669557c7e5a4a463e08d4894874551d6e810558608ff3a3d2bc5f4f7212f8259831b38e2e5145d80ab274fa792e0b6dcee8f9be708514837de4e89135274ae391d746404aa5530817d86231d123f79300fc17840bcbe13f65d7e1803cb2ee248c406fe369bef4ab54e19a47d9e0ba1adfe8d396705458f0de58bf9fd439e082b80f39b8b02440aad38e76791a122a2b928556ed0f5edfd47db264dcc03021660a4f3afed3ece617f343b8f298a953e14bf0bede5cf51a3a3ae110ca1bc23336feb4050a62d5b5efdfcfde42c08a48673e8720aeee2267559008a2e8ed578aef1eb21cb28cb1627d30908d97d59c9f91baa482d99da9a3be7a61b936698c93e08c1dc763ec6c3dda9577c1af92fb7f4bdeffd13e1177fc5c17eabda715c078dff0e373281ea3313d910ed952e4d36f0f400771242a59a3e81b86b9d22209674a55db12b54985b8c82dce626209f94c7a17cb7b259ec4f88fcb57c4c9e20fefcecaa3f28c37eeaa5446aab848a3e25e2c39f56a3f084ea6d6fa0faa99920c5f488d47d6a3d1fd98507ad68b944f972830241e823df15f05faf79ff3a9476e48271eba62c5e7176d6830dae5be73a939d45469e7db112a067e9949bb829e2010bbdefc70bdf61c191ce0321b4b12abefe03b84ec49e51a15f17e5d66d3a920757e807d5d375031e2432efee9231dbc9e95d72fea1eddf7b275baf9cbc590824858b68d5ceb2b1b558c9f8ef4e82653e2db2af04f95f70842c7803ba95e604d6cc5de7c2cae3efe1af94fbef1081f7750c884942a2fd603e92ed14f15bac1f7619fe4cb9f04774203d2ba76d6583671848fdb69b48e04082e4d1fc6fac8503b5d8e7230bc105e89526b0b794701edd19a88faa021dcaa9f804a957e23ae3ca121ee330addabd4bf2d9355d43ca98a6e650c8fac223007e635e10317726c5017b12e383f8762841227b1b29d893feed4eab513107db030bbf9d6ecfcc7f655162a0dc6d99d6fe604f037f265f780a5047fa1cba1b642e92d88e9bdadd4a113b698484d2a5bdb9d0967594085210787086dbbcbb33bb57b06475766f0b31f2a39757ba1a033b9016578022a0703736a3625381e6b298697e9b9ada90f88bbb62f584879fcd736729cf32fc9127f4a6530908603025c980b45724bca4f904630184299ddea839d2fd8228706a31fc992bd6854d9f1efa7cd0a0f7cbb4cb445d761c0e3de908081f008a2064954833eb04482a4b24aeb21ed5f2fff12635ac2ead141cd2ff9eb2e417621961233c6433647c46e97d3d5c71eb30b5be5fde3710dc7684497f2a2a0c4ce5a15a5a68d2c15a2ba1d5fd88a2f170e24c4abf5be8325c831a70ec8d8d226dae0d2cf8a42ee7b8ea87bc9c9d8af1415ffd3e6a5014743e0488abcc0b6728deba8a0abcc57925b8a813bd4933b4b936e2b9579860e4cc84c99e4c0505ffc16de991dbb0fc7ba29344eed1ff09afced226f6a55b98d7c3a1683a92a8111e522e543e56d98c9491de9b0e2943497eddd0d8593a1c4f70619e05cf4abf882922c1a46764a95c955c185ecdb0c290b4a4083a5ee0e8824e3462c79a2e1eea931ea6eca65ee63c0ac5137086acb8d51e28e0b1f9d1676202fa98bb1d7c91f95a7570d50c8ea448e514df8acdb0dc3b319d806cc5edb9b05751e81a69903ef879fee729361b36ca67c907a9607fc25edfe34d0930e4dea14b657e8a531ff63e3b91272c33f17cca4bc8506b170177894d0a368e5d0da2747d9c6e5e039fecf541e307328ce4fee7b47a890856c53393aa2de1cf16384860c6971a7fca7a3d66204cd08245cbb781c4baac731abf83142795d231c15662bb639bdc7d121e7c98079cd40beabbdcf87c8a6cd2afc8adb402be7a0cbbc35c1b658b3a3e84f09a3e50e5f1e09d7fd378aec2ab770356073bb83000f621576ffc0881e4eba199682c300fc4a5b02b381c6b98fd6533a25c7389b1bc176d7e810227b49d63d8df4192a3a95d23ffabee63e0e0cfbfc26c11795b919ac54f0fadacfbae6a6770f2a90b6aeae64eaa3d3a3b50e7872be1107c0ca747c0cd22455c1c514f9bf6dc72e1ac3c8ab850fd8d0822a759ce9e8ebcd4dbed57526d428f2ada06dde51a4172c4ead491cdef1204057b5874ce1f0e9885d728a33501345e7393e84b2e4a5b1d9faf1ae6b03a22b935c071053eb2eab99e1e3fdaaf19164081c709b8f8e5cfe5932294e057d1e13bdb11e81fc7fc977330b72ee8772db1197c1db923c6a12d3f98672b73af02c34350058ac73bbd5a31fe8c4b93bd444bbe406b9f020014f79bd1403f32ea6358dc19420146a13f2b1a78251f30be8170d5525f38ac223aedf62e4af198f7259b334d87d83fa4d7d9212a0d259723476cb3f728ec6eaa8e77f5d42240b0d4612be345e0efc05f34a3587109148c7973caab9aa69987758e6e4fe665baa3eed691741cc5faed312a8c11c34755cc96100479f3190f0a5f316c0c36d1d3a4524793866319acb2aa3ae60357a842b5f6d0098cbe3986d9598132aacabaf273e3703d5aaa649672dad1d7cdcbdeb9714146bffe4ed9f1270fad832f6c39760b6603025b7e553531b0043e4eed116f2ea8ca71bd8c2c8ff94969d9c625947c658177c078657daf9e1aa56f8d2f6bcef9c1d0a98c57ecc06aca0cbdd0f6bb51439f02644d8933d2b5effeeaf3d004b18977d827efb8e665e262a6886108cf9230215b4ea5f2117ff8a5323e8ded6d760c557dde030351dd0f2364fb4fd92b96ddbc032d12e2fbe26f84f5ba5883e38a49175809c5d8e112fd853f5c88bb6563e5ad203352ba1002af8e3d60518841f7d302e838fa3e677cd6397709f2bbe2e52a09c155df2c883425a7df19ffff1383e3599f4bdaa1b3cea8237cb39c64a3c8f8f9d75d311942f87d5fc5b36b901acee84a646c814de22d3cb5b22ae8a94141a86f0db9102b03275db69418a62ff39b0ab190eebc7a65513c19e81b932d605d0abaec77caa5051839df38dbf880460ba8faf3962a17ef6c1aeccc3da21e07b385ea909e69861f2d665b408c36180bf3906afa2d95bf6a50f2654c5a0db917c997b1f759f5847aacb4b06f82287ed28b81429bec20abdb5fa459cce0c9989563a304a5037075a557d0e6bbfd9efb4edc13b0c4b3f57ff0649ed8283569a4585b157c9f85e88dc255676f1184e3a5ee9c9e43eef22ec4f3704cc36fd03e8a524b0a67c3374757dd064afdef69a3081f0a02704feb96386212279804c35ef70a1083e195fa942aa78be88bd8ff8c93c8365d5749713c0d4a16ef07a3b24d7a6a20b0cde4f0a6a9040d2e4ed2a416021d587c65a3c80e22bd3354b50a3012b01e739f831ff540f4ebf2e59a2bee9e28ca7f2ce4a0dbce4c35583fb765927270301aa0926a81c38226b8ffdabc13e517a1e2474061c2c7eb28351af62f83b86f4b539d14b6483a02b8d8183eccd2a56240853313b045934a4dbf2c674e98d055fa8d1c0e39c7613602c9e8696e999a78366621be3f58c5296b485556c57c475cc10a2da398b4f9304086f82bfd82e4fbff2930ff795643afe0d5bce4e354252a8a3ea2cc2360988c6f0a1174216da2a9d732a19be2855ad532e428e91fae68aaded9f499b59f20d7e6ffb65e3726a6dd5fc0398b90bae9504268a0d2172024261f335c82284b286b45c660d4db203bbef70ec4c3f2da159d64dce49baf25979a61ed8ee4c338a89f48a2bd72432584ee1147fe806721df99215e2b139dda67e3871d7dc5e0cc8cc2883a445fa3f9d1d74cb659658f79575ed052ea07edcb28b6d33648d732a03fdbde7728eb404820ec644653e4c96647d18aea8cb8d98ee5fd828cb4e1f87b860f4053e9d708c7833a1da789e83cc0036cd745cb12dacaa30c071e4cac64c0e5d5ddfb0be16cc1bab143e721a40db5284dbab8d98fce58ba6363a31ac37eda5637a0127f2bcbd200b3bacb64904c013dd21c7d5e7b4d638868095f3aba16dc5d021d6c808d98c8446e0fd81770ae67d83b83774c8128d9ef88828c88f09fabaf96c4a93b48dc8dae1db9b866e1a5a7ca304906a9418de2c134e4d127930de5b3ca3a90eaf9c83d1d1cb96786bbbc6a986a9141746d28c69c2896ffc90c17d307603a73862b8fe45e703c9ca736c3a0b5e38e498a6c8920e3b13ce50f75c655932dd8ad12f50e7e09fa185db462712d513dbda5a61b9753e0a66dc9c9a80f9688a7ba611b8f92873519ee28e6f9e0f685ba3ab7864a6135dc969282abaceed7144e7c06b0f8f6735a7d3f035738c07fed8d3a0a85b00146f1a70ce1548b07ef5ee3e73e6f155437e277f6899f6d270ed1f7c7b2ef7b7a1d01f5df84ae6e1456342e56db7777ed4b5427244b11366c499a07d612c31fdadf655055a8e7c1d3affcebe75b3017f4ba41ab7d45051cccd316c2a8ac2c57ac58a1e6e20562f3b84681cdab832d67b169e99999ccd508efac1a108c696edb347323b7c397c1187f5ca805cdb8fe211fedc2b8c87c45038724cd7fd99bbcb7ee839c4ef0d7b483f260928fd9a3f30e8dabf2702e80d6613d081a61f33dabd8fedd80c084dd80ab7dc7ab3138831c8ccb1add39f5c606fb1a79e252239bb22d021fdb7fe1a65325dc086723787216b52924678a267a332d4da089afff861db7d64458da34eba09e4c12018f5b2aacf6f1d10a17513e6e04160105e7cc6d3aa8e9dfc6ed985a1da1be4b79511eb9f9e7caf522375de57b5ee8c1dfed3a03dec45583e094920da24fd522a07021aae8c61f8dbbdfee68ddbd426b65196d721bf6f8ce5e0a76863f9f08f97d924dd0d113c906a1a4c5a31210e110b528795e3ca9ac91904c9c61e24dac10bc2c5a9e7be434bf245822961077445f899f0f56ca6d9d3cdf99d75cad43f425fadb51fda5db464cea63dc6a8671581dcaf8d23af6fae8876a97603b1ecf94e7c535a943606351bc121d7382daec47038bd4878c216f08202fe71e055f9c82c8e900ac108f4eb33abac0a46ccac35299d902d88371d8bb1a3444cf4ede441cda5f264dae77524c5d0b59e1749b6583e7b870858b4b4791014f5502b536d51ead97b1819d02d691decf09ff1c79608679a1f2b8ccc401cb1fb379f4572d546d5ce55e9487a938eb126feea5e4a0db90872a1ecbbc880c6f42c53bb7b67b1b3a148e0b9fb4beddf0bec0dfab574f406c3772d998bedb4818214d6bc4193375f79ecd2c24a845e7cadbb94ab76450d49acaaf14abffcf838d9b7611b122b6cc56d5c69eb4b30afb18bc03c34289a9f8cc348dedb259f78ef287df5dd072736898bb0dd9e97cbd831e7f7674ad6226206bd99b1d4f9399860e2eed37eed3b78712aa9ea13efb28d326087bafae5148c6fe65e1c264cafa020cec7f20cb5627cfad72557fa6135cbf62159f55447ba591de7eb2c11dec2734c8e2ec4eda6936eda42717135f96639e712f151df97894218595eaa493301b9d185e27b7acaa60a24ab6afe2638c147b2cf2b32f18c6c97474df5de17c3704d318c5627f227c61099465f09848bc63a8b903162e13b7357ef4d421fb375d037b687ae1c4d37bcea23b6a92a1810de0912f49896e7ca6e7f9d26bb7ae91176c6a6dab72018b10877b66a62b782578e7982886cb14c9a6c2079a39908ef8e5d1c949fe253bf16fc87f49265b3e42bc8548a36e9a4b1ee64d382a841f88220436acd1ba16eaf0e72cec9fcf3de180ca7f3806b17815ae2e6a873301bc0008b00c2ec55f6cf866a9d2687b55c483d3eabb3e93e52032179bb22aa6cd912860d73ec753de72be1686df09904a5a1e0346d6a3425323ad9ae43eaa9b42c0b2a9c12ee2704568c0f710a99121cdb466a3c3b67a96f28b3e63c7a6109ffd2c47992612857b21ac6f371bfe579e0e4f3493858571328ade050fec74946ef2ac2a1fc806403cf1fb45aeed8c127a97edc050592b10f3b5b3d4698bddce38df38cf9222390d16d62f30a8a5fd5e2127894fbf0b719786f47b585f8d2f8860e3020f13cb0a85392bd747ea4c9341ab9ee467fe99d99da32d65872272b82ddcee5ac9382b33ea0c1f5e549ac8ae1817461fb5a68c8d5f4287b908b68c75f9b07e4f05aee13c03f2a527afda3c8684149a75aac712fdfeaf3f1a8b87f9a45ba7ac2e017e76a1b9977ebe76467c9b2b254e648d5cff9fde5e8f778d67b68a0eb303aa6745e04b08b9a26570f337ca5cea151bbd6dcff53331869a7ba62c9e0cd368190aea2197a472116e456879237f3ed98c101e97a1f08c6c369991cb3f5159aa83fc43bef30226c9a6a2ce5b4665314e3ebd7fc89f3f0a4d10946b3cf428999d2537183a5ef416a4112876ce7a408e7fca66784663272ad24fa690689526d079ae55dec289655a2efe4a05b845eab9378503ef4c317c6c5ba619650ab97533281eb2e141f83e4fa649c5a096f1929f51e217fbcef226326f4b142d582c6d28b6399db517efcf3d9407720ad364add34fa8d661bec2c50316e39a64c83b9d3b2344056afb9a1f2fe63f25c40c9aa32b814b5ea110d363a13604e364a4c148022b2002c45837ef21db5b8e2472d2caf31c2892e0d3190a1d885380b5cd3b338c11fc8da787e2787169cf33e37151b0dedaac151920763e5794ff482e1bec51adc1bc7ac20c47e15594c63d8a42270b0e2b4948f6b34a317cb53156fcc7b4039153ecf6c02ae27dcd9199108a9a006fcaa1ee6d879066d4acc8b14a6d8131f649fe0a23ffd593ecc146556763a2679ce4d1e0cfbfb3bc3fa758b27383e3883eba6b85ea1dc2c9c3ab58dba5a15873e67108b7f702df77782c4aca745a3b8cc8ddccdc159196a616499e2e12ebdb7305cbccf7f231f9c517d78de797fb8bd3681aebaf159d89ff047b372285502c6bf0fde7f0fdf33ceb4637a115c125314ad35b38e8ef43f7fa46d5c7a6b054c8a2e1664bd103243d6e28389b35d1761b970543c2e59cf0e34b3af3f3f62123371690cd89dd950c2252f2e182f8b38f236585b0a47c46e9e3a408916dade23d4db680ed8889411a88781b85feca9125abd816cb7600a23c32342cc71025982a0f82abe5565b354ac9e85f36baef52fa6d416ac43c5e6ebff070491e062b50e388aa92d22a92d75df72f8d153380d939680e28194177b2d593d03178639a9060ec59b24a8aa2f213b57ddd23df5d0c9f112b546bf588ed549ec27b68f32c8cb3299b625b8fe2be87857343ffc57257188092199c059e3bbf3a7e938799a4eef3bbdd58cf1b98c5a608f0214bcfe4ee6ef10ead3a7a543f92c51a15109496a98fca6adc6f292b17a856ee712b25aece90e0db6aa94f60d91c6d91fa9fac29f3e6a0b6d633fd0f0634e9e0d0504a9395e7ef8523a8322061a21334474329d6d8496bb4395f5c0953b766ea0452da16fca90d91ad649f919afe7940f5e876b69ccf9f819fc15aed49947e0a77ffca76fd05cbf351ff6ff2a5e3cfee81398fa9c111d6e0406a041bea3e211a5485565243e0735fd686780519998b70a5023c95598d70375d35bc5bb3d5118ff5fc8ceaf124f17bc7378c3f7bc97e97ed4982754979417bbd66ba9c24a34c2f6d6f379ab04f8f32e3f67db91ed769e615c6a547500e5546f5edab5a562dbba246639e4d8a2ebf5a11fc19ccec541e62246f8c411e75e654be2218e1b07ed94ad0f6541f5c176f90b398e7c442be630758018b8fbdf23a07b6195d862e32bb95eee497cb2d93acad3043ab477fc59147199b5b17121939335deb9456b38c21dc743e364d4b90df8f0527d9d57f145d1f2fb693035179a9b55333b8275492d2d4ccb6c05bfc6ff04cb400280dea13111eb42f0e823b0c0b8f2dc5292c5cf0cbb5367677607ee827f5584d9d3d9a136d89f67202a8a044b85ddcdea0fddfd7e465364cad297ad58a9280f7e64cc41471ec76d330906a197faf74c50d35dba687eb1161d600ac41908609725c93414e74a6fcec0b89cd67cf4405e682b7587e8a9f337d96fbe376b068532ddf166c51544ad5d959487635274803832ff54166ceafc6eac61b1c0772c5c39e3599cf7b90542b58a0af5bcdf38ded06e40376ef449de25f1de5803051da84fd98c65ae5c4d81e21628d3432fa508959cf88f30280f596c4d3f74538c18053142256834eabe776e33858a618f71a31a02013fc59292320d796c4327eae9fdc0f4913a902ec35f66ad3e0bae7cdaeadd470dd0b223dcd6865c41e0d5591fca705f56f337ff14fc31cd2e0349d1b39ea36da414f7a1b7db39d556b85ddd3d6d88a60144b47118199c1a50e3117dc67ce899ca27613cd2cb7d764ea8b6e260e6b245d22f9fe79b1e374e9b58423b5718b13a97ec5a9e87d138c24b2840b20c2283d0478ff26a7381700eab6b36bbce8e9ab799cc12d697a03769b36b969cee0f36eaa7f54fdd2b65a5a5c482cfeb2cb7150cfe17ffca12145a3361451ed1e3842ede5a21357d19a8bd3ba29a8bfe9e51ce00fcc7a3913b496dfd2a473c9877fbab3e0ee648f171ceb09c3d38540aa57255648552b04669edf1c1c334d25aa7c3426291e7123ac7b7d8e13a2c75276da1f746fc3f69c282f2291332cffac31a0bb9434d761a178cc957fab197d31ae70a527e99e06c5ddac1d65a4f5444ead2768236fcd1d5454243b3e8f23d835491b4945ffffa323bf7ef7203375b2c31c4b71b47de7a944273824d6f7e9fbda5c24b4ba1e224a2c20a0a4a969effa1ab1d1c83838a80ae3337ceb7bf97513b0a7fdad4a8b959321cdeae7fd0dfa2d41256c24a719644d4ddbcab59884f036dcb0c35977788e0f02f96217af7162de98a1a5f6704e2b284cdc5310985980602b323bd90209c0ef76fdd3ff2d1bec4894eee05155a1f98d82ce2c92c7ff088284193fe7580f2c6931ef026281346789f0d030f6618f47583578cf875d6d2a1dbebc0262706b53967c09a89c3c6316b8d34c8856404ea13c104e534d56b9328088582fc656bfa219bbfc5e3eea3e1753a04f6edc89b713056cb7ca9c8176d5b02f7a98695bbb93549907bb4004d9c637c46a25b1b6abb5b5807004d77351b176d72d3f54964517288c5a3d14240947a22593f0934c9f73185d69488af0dc9509a2834deecaa990357644b4e17a856b1c1148659a44b854a5698df7b490d7f1be6c3fe75809e723d504e19984a07e248072f6719ad981a171eb283a62bf6f5be6a10cac944097f57c131b1de69a162cf5d06d27da1fba790fd48cdb1ba5b52cc3c27f282cb7be43ec5a783483c1170bcbfa65026aa25434f9d79409ea03fb0babcc2be3992a90bcdca7a522d6fb2a7d4ec43eaf4d79dca1f67324405fdb6beb7fd2e9e82aae66f5acbf18ab390f25186bdcde5702fa5812fbd98f1a0d96367a8134553e2e099c4e006279fef0564b1dd5bd5f8916fa5de35ed2d0bc58233f813043bd9e63c3b1e2ea395d086a519507cc6c02fe4293899ea5c4a939e215a8d5cd9328c8938de10ce62440bc291e47ddf33decaa0e8400d9fdb5bc40b9f16394281975a51a66a453a53b435cc88f58de7b30450a50e77bb2d20ef0cd7c2a282a05add7fc2aba49ab4e1efa90cfd451d55414680275ac52c93a2e5481f65c6d7c1007aaac3e6439ac2da753de0083f112dbdc29958c11a0612cb5d7c346f629d6fd60c0af9d23511e0134549086070457d1cc1c3f3edc68f87535d516dad36d674cc31a17306217be5fc6d67047af4c2882e9d517f6f0da2283f00c721ef6a5564272abf07c3279f3085704177852d1bc626315d4203a1357b5dcad39c1ed7dc5dcb500f8783fc6bd9a11cba02c2394e70a67301bf5ec6e2063bab83374177042eae0985c565255bd5dab62daa9d06eee34516830a8ae384504eaef4e0ebd2ca19034447376251a68bdaa2d091ffd9708453081c3bc1dab90e858f8a9d65021aa2e9788bf9908df433567ce72be3145c4500435290484a18dbb2945a0425de21b26cd34c8b2f8b529d357c535910e6b4179638712c46fb33ff1a0d1158373b9668ece89c49ff645c1a58bb8fab86fe0e3a77f2405f36e38e676137723b7ba97861198ef474068a98582c44d1854ce33c0fdf2acfa84b2115204391799544db15aa10542f607eb616f5983191a89ed0c508726dcee460ccc2bfbab6d9091ae4c32f1037944b0010f9eced0da417573bdf640cd116651207d75ae7026d48301daeaf1ca95a4e1f977c9b80a1b09f96f060f4e97fa497f0406af3ddf93d4bb618994e1dad19ef360a9989be858ef670c4204308a7314c9d03bb8c074d10e742a5995ecfb1764629babd3bd15de5770a947b7f9aa60998ade8a9b857c1ebfe101e8c76aac2cb3482f107eb9cabfd4a803fe23a1d57192722daac91206c0ba07f9639490bf4e03e5d973fb19ffb544c4f65b9a58880ad36304fba96b0b339cd1c95f6c7e29aacfc62a81ec91a19281c1a40a07ff77e1775c04a6d234eddb2dd4c29fc46985f2499bd011d29574906c5c06bd97372eed13950d64c6bc8573b311d3405f9d4b2ab7068b7dd95766f4be3227dd98081fdc4ee717f7e2af58226c41a5334500247e2c624ceec5f4dae3d9d1a8480b6dd044bd1d9413e500181506a47a5da1314f688af1d26e217bc6cd14254d5305343539906df483a3e992ff053b2f790c298aaa1d9136778e0991ea9819c37896a6b1dcbb2e6a0483012c1987ada5ca3c138d26240c8d0aa104681a46e7e3a905bc334bd09bee3ac358747d36aa26ed094fd098bbfb2bdd6ccc75eabbdde61b25a706c2386879fe3c0c630efa0f1b9e3e86dd199558e8f80f45a2159f1831788b33a0efc608545eb295561aba93429c2407283c48f0b8eeaa229697bbd6c9584da7016d56fa6b21285ec08e970db8d930d394d53bd262c63a5183ddc82a03d97e52b3eee1a8de0fdae5c49eec9657740c6c8f30b9c6dc55f6ef0cc75c1c0c56a1a4ee52ebdd0ce9990c1fc7cb6bdcc1125cbcadf9b50c805b799e50982ae6c9a48b401a631e6b1ae3c0bee474c8cb8f731ff2791672ea94d8cc3f2c575de43c4adb71310d546e011aa4d06253986da6ab1bffa6ea811d08ac3181accc8fd4975fd97365882e8ee52041fff56e8bd09d4df6ed3cea154e5c24424e34878e0e013b150243dcf10b6328b604ee8325d2fcd9e9139503a2e970376a34d2699b43e2ae8aae86129e928e6c79d40bba5e39131d5243919fd96bc0edb4a810c2ebd6996af58e9aa2e9f56affa8e36af315b742b22aee8739c269d1029018432ddb7a003cc37f4e0846f317c822db9dd8e14bf010ecf3806a91724238f0057d0ac9f45538007e2d8d9a9c1cdd71fef504561915d906038fca26f1a019ad77b5e3fc95cdea5e22c54b9405feecdb35b291a1cee87395e4622e605104e025fe2365304f5f80e8b2df97ebd4d9bee61520a3cf265a7efc42e3e4a7bc6e04dcd5f98f95efa6f8fa67490af87216faa418b4982b3682b6dbf745a62b34b53e36e7c078aa562af738c2d2198fe6ba0e4fde2b941d8f0559584357c9011616f57c12a7e67bfe82fce2fa895267e8e2df3f3eab98477c241c6fe7b1826a7d7fef9b9cf966de60f8cb26df22ffa3546a2091078b59f5da3ae948c139b601854365a2e9202c6f4878af040d67fe598f3ee9d068da3816bfd04732377435697b243e2880a3b3e4d1997c4362baf402527ee7dacad27472c554fe7f07de30764e5cdeae55e6f525cf2a21120b759416ee59cb5287056ca5bbd2e1d74b398a791c96c9ffd15c81bda031868b01c2eb8aae2e41768e15f6b3e77d0a8405f8bb6330247f8df7b64288c51e8777c4293ba9e7ced2534809327ecb14d70ae4c6c8457aa1f7572002c939d74f87030cc75e6bb508342e7160d241cd588b32a4e6153a28aeab8f15054bb4c5ffe8fe8091c9bbea5b8fab13623425b4c61e1a312f9c605b19df6eb8711ae8123050c721a4db9236948e65c310a19c585f1dfda8c6f04d5aa831d478ee5a5e11a2ff8f9087233b663b9cf004041e4422f48a0241a384423916167b614fbce50938ea0f4eb3a181b877d5890be8b513d36cb099093e3182f272b92ce98a12d5a075bca9a8067a84a16e432a3405b39c44c2d5146affbaf657ec2ec91f750f0db8c4c8a4a9d6ba96654e26e65a0c25256bc3bcd6b0951c8ed311ef799484f1f6b7f07552e23a4e99e6a1a286080ec6f5ec5ec1030a8d8cd8d72c3b75a78c28fcb415280ffca0a72b5d05807876b0618596446ebb31691aa03b3f6e7caf30d8584a4b4cebef243a7efe0c30785aa6fbe7c5dc983964ea6c610b4959bc98981403e932909109bb68a1d1bc949712630798ebd73a58a590c538611d30b8e1f5206d8553b49dd5a532940818f6eda09f0ee26a4c4804ca04fd735fb9495fa2749c937eec79ea68ed33d13735392396219892d4f294a2130ed60cb69461f4ed613bd584ee73f90e4fc624dd5740938ca3a4d6ca939b107097920eb114fb495d08983dab07e477251931cb2507f4ac4a9044a000f49e650e60b1a9e3255bed2733b1f6cea4d1e388128143cbe1f733aa55d82bc576e0e3a3adcaf2e5b25c84c109de8651ac14f3e33efe0989c79e202881db897bd90b258f7d5d6f4bf5838d1123711e7387e872cf74cf92bfba861c9fae0eba316bd1ccc072130684d1aff099e23a59bface80c9e584d04bfb2206721ef09cfccdb1cdbee5c21a79f3476c9fce2c0dc0411f2de48bab98544644f28ea0d96380625c46ffd170adffca883684a1b6c9e4900383f291dbb02c41c4f78458494100f8aa9a0b4690727ff2b4f459efe287192fa841c54812876d9ae46453a56d77f21dbee8aab52da1b131b85e05ea4f9fe6d0f1827c7b72c6f0e8a78dfa7e4c884f1cf6d7cc8c2df0384350a4350e45d47ff442b2c445bcd941f768c3406ef0974c95d9f7e4f48ce3422d5fd95d56859d5235578e99be0e777444e36ff7f0ce4edb55f0819dcfed7b431f0c793c63f31e98ff0cd2e8c404f1172790c6b02269c7410295b44c1f60d489fed7733314dbc747995c0bf94af91197f22379c2be0305a28b3bb6d524de548fa5dadf5459f8650c6a653944a923af769fe170449ca6f7c3011cca9a45c39f464f42d31a612a749989db4d82e22ed8f1d3959969a3cee622e206f712228216890b0664be1f74e893a6b3f2306fd5cd67158861dc255598861c4a38e4a68bf6f4bbd2553b019ff88ab1e526f5f7955d14a12353c47959911939e8435be49f4729ea7615e92df901eb04999085249cadc3ce05646ab757923d1cb8cacfecc60ee7a3d1648c916a0d2ff852c72443d90172626dbe53bb1f7710aabec4395a245c61409680d71f7fcec312079199d46541540440156d59ec1b401f1e5dd6a0c3fbc07c26bf139c01b4218554bc846e4229f523c5ecab61cfabb5127bd0bc0fdb663e336aad9feb8b5b6f6752a1b1c2e07f2ba2bd91088a222da056a257f8f72aeab25c3c2f0f88fca19cd530d14713e77bd16d3eb77c496e7add27bd5a485f406e4ffaa8da1c672d45d1821074c3d2ec4bbaab37d2ff54c988e2ea372cca4e3217ca65652c83c284cbecc36c1cc12dcbdc9b18f21e8addc7b4588e5cd510f5a9b30abbf76cd1f9662aed52595df4da23e93e4d865638f1f89d417c9ae09ece451e9359912804cd1ff083bbc6fda90201ce52537778938d0b84aa2e7b9b6ec2b54d1998f085bea0c6ed5f48743ff13d8ad258dd0122d34edad2d1075b24a28b2b33feed48f465c13c1f7c9d421c7a0c7ceb45fd5c36c141d8d2ea8d6e046d6d656b3bb73aa311b7c2f88ecff5e0b91ac9efdd86e7848c20d4101b2f424343e9f517c702748c03ffdf47b37c27081f9799776cb16935c3ad52f37f6b0629a1aeac0bfaa329f8dfe007394b9e9e9e65fa5739801e38ca145bfcb55e5cab838da8dc98ddc9231c0a2893e196504c0aa9efc6ed1134910681959d78447c100574c6986f51ad3f68ab71937a6030cabe707b278dee8e50e9ba051f8bbff08200883b1e72842f37bd3b52a2ed7111c104088abcd740521249fd34a3db469980c7d968520c91e74e8cc54568d6528c37c00b7260a7429d3e2acb18b63d072eb8174b3c1654359111b580304ffbc98418f6e852ce8f491df92f6bb5cd7db7a1bab263cc1808c7ce0c6df47c32e4b48e60a196fb4ac40bc3377d8b411c4ddcda3e1de03d6016cf74a67ef58cee8df6528bf078fb845a3a30294b6d7943dcaf6003a97e58ea155cc7353a1492c62dfbbfb443ff857bb7c177b5bee97c7d87c57b4d7120410530a7f2e7232f217c7c31f076def017f0be1dc7023c0169873d03b3bbee43309d65c09ea0189703fe149ee6f50fd0f649c1351d5d0255c2d56ae5b68667a9b55104fec39b574b04f5f06ac6c81c03da3aaf4ad652354d55d6ef6def19bf4c8fba228105f20195e2726084e22e3e19560b2f1ab09a53237f4842ce3bbe10b06a5dfd13287fac9285d949782f0fa5336fd0251f8271bce7197c2d418b88f2faf1edfb806c6d72c1a087fa5fc4dee63d316a972851ceea504e9ac41ffb2cb28c2616f6a4c6b7facca454c984debd8ea433d043622777ee81697510de4568482650b5a16faf280496d07dfad0c84bfaf6134011680db6ddbe972f365610fac938c574dcabb5808371eeb73f6ca3e2caad849cb086acac9868ba78caee02c0bec34f0b9298df46e1506df095fe1e473c05f2288a5e1f6a415cffec64af47676d2db40079f1c44e68ee05c3f1ff3e3ef0905e81dae02f55631619f6d11a727b3b406bc39d51851087fa3e16d0a48f2bc549ccc519e14a001bcb149b6601de106920024f21261885df3cbbc54e007178c074ea48ad14115b4c386197241de0cebfce50c1cd9bc1ab432082213fc781f20ed4d9f9b15f2dffa89e265a2976690acbeffeffd8e11aea4dc93ea9a49012d99aa60abb80682cf7c2fc1443a44c488b7b7ddb2de2a8712f7ef6b748f4b96862a469d31c466134f224e5b8ece0c2ef257450e7f4c712d7d683a20cc1a99a4a77f24bd7fc93df2a07ca35dad7ffa2bc1032a99424b6ab8bd2f7fd26a0a53ce35d5cb4b7cbfe5d8858fe4da820a44aa8bdaf9007cf87feeab98d246c5167e6e4c6063524fff5d2ace52ace0dba9156cade16735904fced861497ac9934314c996541ee5339398c5d2299cb5a1ece55732d5c0e47a58ea4c189e4d7c8158a748e852143f13372e68c642cd4ec31a7661c0b48312019fd07454c43f441921b99f5a6b380ce7743e2569b6839a8968d3fda77a233796e49ac9a9fd4245f255f46560ac168b8de634e9cd7b335f507e235ced980a21d608c7ca61818b756746569b5f4e0f186d2d5a972d882d14dcdb481d56ca2fc7ea35d2a0882eae58f5df62e7acc9f25bc75f790f7c1fd6388f0d6aab34002cd726812eab1015bacaaff39bfeea835d891e3d5b1be729aa41f3fc7026d66469e60b68d11e734aa91a78f97c85509106eb1ba04b72def7d1a3909140e4fef40489470cd2a27cbb37eb2a798f0035606858910fc8778cbd1edc944110edd50fbfcb6acc8e5c866ced8b1671ad41bbbb474c6639a04e697c46eafa754bf82836387076a3d13edc7ccbd106dca5007e197f076ce2d153aa7ad198f882f7f1a90741c524238009f3bfd9583d97abe048f4b36b0d9157e7f1b3b6fc500734a210a18dc20481c910c2f362ba660aeab9133c8617c8898537a32d06dcd74d10d921d34f107186c2ac34ee79b54d927b418ab9d910c7c0660f7db71bef93d5e6d53d24c743542282a099fad8d858c3ae88fe367357efccaa0e5d063a9308e7b035887ccf0d84fb8fa20c10aa4a580261a7786c9e723612f2721c17483e862a81a294832a41a2bac2b0062f0b4213880d04efa37fdd31967fc56c452a4b8a3b8c9468d79b83f4c489fcbf77ec4a52cbe17ea554045fa628a66ca9994c1b920f238646c6a62903f8263457abcd1b46d5a1661feff2e1fbf62471f97f25dec77c354fd49fd05b1c93fcadf0f036fbde3f7976341f804b899d549654bdcf8e6224b110c849ff01cc5681e513144b3ce276d3e04a7af98d6ed80d45d9741dc07e564fd72dcf0e4af61582454ba1608c67fdb8cefe6540570e4e4dbf1a2df627320e8a2b3e1f648646e027dad9b8d30649e8f21196104b8dd87291b2b9b6000e863096c6c6c63572773c7fb04af195c0ea787d592b23125959d10764bd1e85ec7e545ce90abe8fac24f43a6040093a0864d8f784bc462885d583d12f1a4a9f41d803d3d10d359aef6bbb017d3186a2d5e32e4ee53417b6d5a0a114f5a906c092b7cab413d64ead2b1453965869d2e5d6655011f09fefceac0165754ca566200e5fb8335146a91f4ecbb9d1a37d5e986f8b5c188ecdfb17063a92e4ec21eded2a60e838513256cba66cc77e3955967d968f21da47946a626258a4619f7880ecff87e861f10b087b09d6cd6f10e5b410a4295dbf43a7f62db4e49dab458f5f2319cd58c0c89d3b9207edccc1e6f63ea79b2898f35ad182a780eb85855f80b070bdf975a4c2fb1334cd2f79a815ea52fc43097e4229731da698a50bc6ca738b137663491fe72518e113627a1c2f542e5375a5121aa11452f99a7aca5772e24cea210cef81dc980d1575996dfe573d4e13a2078ee49a730b9d3fcb485028db9288356d1687e9f34a52671229348e875413568cbd92a0b6148098ac7305f4b05c2248bcc92100cebd56172d3749da328449add1fa60bd3e4842a696190db113836c06467cd73c913182533590f90434ee14d9875e3e8bba1504ddd8d4336890edc6e8169f8b56ecfc80fdd4a6fa4f80024901ebf08e8b071124cbc26f1fa70901ce98ae669d9e768e921437e0f54ea89f4c0590b737d2901facaa3db9da25fbfd9a6a8c7993bcf7698d3cafcc975eae30c0e04f020ff1c9b6fa6de040455bb9c0b27c9f3db9643e7b68468a772d783b43dc9e4d489c9f18212e60a8d69bb7689574040f29f2a666ccf3fb4ed1cb4a449f12b80175c301f9cdd4304fcc018739cd32d0218f06aa907f4b801d309a865f5052d53acb2a3f861a94997dd40c6bad8a8b576c33485204dcd14199fac3eba7d0a58af12007c7ec56d7a66b8751e0ba4d8bdd937a1075ec856ed82e35dfd91d411142ea381cf463f3ef4d0133204968235043211914f03bbf2c74ad94a07ebbb00314237e1100558a2d2c6b334f803395edbd5cf0574488ec65e5f8bb135cd032b35e6e3027190492be23488ce98d453c96a5dff762a907d324d8a89efb6d5540876b6146d00679154a648264254bef09214ec329f49460c240ee543a167a316e10c95adfc65f98c5c73d61c77dfe20dba02c2763212c18f35fc8bab626751e947c31363be78a15227ccefd567ee6735623c823fd6d06c76d52d411edf5379bf99498eb15a8e1a471442d32e15590d2661b402fc5469f63a282967033894fd905e548de957efdd9a47e3ba726f128a2f2d9f56bfee7c851d5926b8df3dc4059cd68fd7612075c0222a3937c680b77ccfd1076171456b0f817248889b483e579fc648882503eb2c81e7e1142928855b8cb067d2a0977378bd998ff5ac12c946b39f7f1d30ea477e52f4e60ed308f32198c7a1c168ec03656a59c0ab98a69119ca00b6fa8d21c4988976980a776ce99f30a252b03df31b3f40b01f7534f9df38a5b089382f9fa5c740f1dbf31cca8f8153322220509ee717fddf5eef709f17b404a9cd72fc2bf0be3b410e7ca65beb39cb240ab0bd6732b46bae1f5c08beb679763087cde905ba36d96d8d3c2da991028c73756b10a4bb4fa0172729707c58dafe16ac8532a966b2700fa0da21bfe10d772c73f1b1a52eb3edbd3f816127481939bf076916cd6e446caccb6708cda2b617674b37c6c1c089639517f618d38d80549f42d0fb82afc987c4cd90a99749f77853ee9e70e933387b5543c9d1a65a1f185110bbe64ac2b3cf29dff86f7af058e16caf1ee56fda0a7dda037c4b0e54cfb8c4d09921910576f79eb0888acb0cc1947dd26c6752ce7024abffc6798f744f12c1db713b7e3b0fcefb8e6939c761f6d7fd224f9636109d4e21e9d11161106ed7b2bd5f1471b0aedbfda1b6c324db429b4643b1959b9815bfd8403ddaa6830f6849bdc3b3a68a7f74e07b255a2187f3f104655c779003a1c83af4fbb6a2d85e8b1294584bcea4599190847ca1265dadc5ee8281a2891fb1b1c251acaf2e8c7e8e6e4b02443e3167f6cd613abb05af7c94e0901efa041eeffc8cf763a323e4a00c12e3218712d77dc65bb6653f68d6c43dfad1999ba64458c2bcebfe1dac822230acf12c687e58b0861ad6ce5cba41ee2259adf9b5e3f399f98443bcbfc887a8e428cbe375380028f4d8f15918cc8e948851d7e4f268e7e5cdbe9c05b3523d30282a86a861ec1268a9277e29afe084b16adfee75fe053f633063a4f23f878ca05c1c1f37eb13de38a2c358fc9b71092bd7699e47fe39e7907fa5133142f131eaceffec71edc046569604d01f9fdb7f6744d819e0c375409cf31385567c24eec86e13884d1863284602bffa4635b008314253078648025cf9beb7318999255effb8b555a8af7dea2b9b2472cf1ce613f7f00d0348c6d98cd19151cdbf382fe18efe9d6026d1d153f5cc0287004b971d6145ba6ae0b0411a25db997f55e0314fc857da448c624a9a10df9513d655b7b1fcc73187b734fd0a3b5ff67ba33f94f7c5ee00d40338a3b7171a2a16e4c7b2ed4a12cf9679c222bce30687de85b99d22ae6cc54682212f2e5f94bcfc5add22f331019f5405f9c6190f0d11bf9748e15be4837cf45bbb38afe58b57f8eb9d5600af03b1cd8b02647bb0164fefc25e30f1e46ecbaaf67f6a8c415dce15e735324d4eb3e97c39ef566f87c63a83feffd78c52b3f50886d551f14d7fbe7b10ce199f89f430c8722a63e7e9d89241bd39666310f3c7b37f7d97d47ba88aa09ff58f3137aaff2bbf1748749f7146151148195d0d04ffb1feaa580a30a3241dde5a7ccc72d354e1b21b479380c65d88ab2baac405a75c460cd4727239802aaa4a147a7f50799a88c656424e9641ae2be566de191a4ff2ad48cbf17b7293b65ed1b202e0e4d9783071ee1a6a849203b8220bfc821257802065173ce12e2d445b6fe945f4990e173e69c00d5ec7bd2e5547dab863b2340fd2dea665493ab1304d63bbd2346f3649287f8c8377bbfe9075b92182f779c0b6ddf9aeeb12dbf70ca2c5eee5d695d07d0e3d9528265c48effb2cd07f2dd916e263fdc9753a35d3393062baea7176f19736b34e793a11a02288840489a1113a859e4156140e747240b7cd673bf66f1768610dfb7e9a9edb0d9e11ee1e95bfc2b50ce76b1f66b112e762b517d08b3ab754a08b3c7a32e337ba9e1cb6a5a00d235f036579c275f044b54ccab35cbdeeaeee7febea8fcf10009dc1cae26caf4700c2d31c0e36cabc722e39db0e3ba1085adfe1794a80e1a68d85f7ad3a3871b50b7ad852f529ae8cec02aeffba23d8f7aca7777befd2a1fc7019aa541943e6cad3d614770de7aa7c03cd51c21a30d6e5ebc25ada6dd212ca235093093465c9cd1453a6c0bb77afcde641ed62a6f351ce265cba6773765b221d9ae6edf950486112499479e2d3de8bcb562a018fdfd988d5f3df372c020684e0a8d8773ec76e6836791e11ce7f717e9b99ef7f6ee814a8df716b3a7d11eb745bba341513147c5da4c20e34b8d8a0268e6bb255148f9fe0b5331fdae7be00de343eb205e0f4a61a194b1a836244e4efa6e47d52099c923e9c72be0863ae57c0e37c9e45b422a196cceaf458cfb8845f6b533324826ae22a19907df43e6c6f63dcdcbe2a99cb6fec6e4ad53af08c7bdacb92174626ce0d232aaf3c0f33a0ef47d72104ec5440e8c1a154b0f92133b92e275214e5d446fc0e309e64aa4fb810621680e99f8da3b47347b3ab2dd0ccd6b14f08b70689ffa7fbd02f2b866c30b8376c427eb760a4ee5b8fd4c574f7e3606a66d4af822442589654f7bfad23aff7d9ef0c09bedc2e32cec12f58def7b4c74805727eaae0b75cdc1913e129de18a9f2dedf8411a27276672eb20f2e3b4a838132ed09985c6ed209dbf98ffd1370189cb2678fff9002679eb4c814ddb2a465abec2629d1ac64011a27563ee8ebc2ddcaa681f7324b26b2be154ad9d3c892a27d2d39980c7478b59d0d66d08e9846aec66c391d812402a484116e4b528594775632bd0ee2d36c261d47a74da270ee47c27d941fd9471afa7baefbb816b2ac1e5292b8cbbfc61ba4e882b5339891673e8164a62aa9fd21657a93dc992fd0e3d0d985e3dfd10b6d1deef0988a73d8f372bcab56abf1cd79989a8b943f7dce3a773f2f8be2470d33f5052c6e2b32ed5a5299045f443996ac00be9ba97665f75efe17a41f65be1cff9910de4329f866b2a8b7955bab24b0382760c34a2015988de7ed3f02bff5f0bba73459a550b2bd8fa155ff42e1b501c42cf8981f1f1168c3f8835ec56123f48a57365d4c1d5131237fd3ca6d6b4783ea788afe5952f58272cd1332298271b594b0226f50d5074417d30c2bfaf701022331291453df007ba8208d5118664f4372dfadf6831bc09377abe0b0624e936a739a897148091e635d6cf46b4711eb609d0f0b566c69afa21c736a1d1466a93fe2112b1cfc950bf82eeb546fc4ca9597e27c944850977ffa1c2c20cb42902440d2637b3d2df6116ab8f8aa0f83606ad9b47fb0d4e857b2dc1d8b5e175d1a71be55d3b60aab13397745265c2156b939684cfe26b26079b31c32c9dd68a8b1e2424c6673cd6c2136050bdabd945047040ba6497ed9414e3a76192feb726ed60a8620b02549751d50d8cc5b2e22f6b344c04afb20ba4e533bdaf68a8774c7ceb8cd595d4acb58fa0d2947adaf38fac61de1677c3f8c8d40136434ed29e439ad67c0d708490d04fadd786de2040f7fed92d68cd20d3e645710c95e4a0fc6175a850e698a4b2c3d569f683fd2057ce2492f0e729acfbd21fca299ab14ae4f188eeea79aef4fc098886e76a3238f20623d6a2feff16f86adc19079afcf486f4674846fa053ffd2b394fd9a931c3fa24cbf2f7540b089059823d0e02287c671172222016c085893a3501f9ec7632635eaa23ae50ad8f5fc224d1f5320a264f55b198d00cfba33d3fae152e38cdef10b12bbd6142b1f2497c1f94412db8102a9bf689c56419324bb4b8b97185c60206ec5bb093371634f7e1c521ea1f7615c453076260eb920b50c33939bcc9e3a946b8b5f99a0757ceacdacf87aa475e525bf16d93024f8f0eaa4e2a78e1ee6f5626eadff549f1fc92b4ea54728cdb64e267f689c114ae210395d95b32d3563f87ddcf8f81b7ceb09c372a9a2d156e43efa41ff8cd470e27949f405c741ca40795ebaa1214920b09d4a04d5e981c3fb6985ca1ce7ba57f76baa8d244073022e40f0f2ee82af823829bd188ce4d49a8e2477739c33784f70ed973c349ee3cffa78d618fa39e9c4d58cbd22294ebc197f79e4dbe6f5104c66f0afa54fb7ff0f459cccca56cb3faa78e673b779c42a387968921a1b3cb6a703f74bd0f3debbbcd8907d5f149d2dd86646230259cb3161f9aac5b1e88f9164bb7be166c9cdefe5662cd597080e8aa5ff8f6fa2f00bfe8a8a6cfde304c89a14faf284e902bf8141941d12cad71b48af66280e902ccd1dc49e3913906411d002eecb27f8445d843421d10d089ade7d6cd9626d9611512179b38a0a372152f5f2698a479941d2dd020aff89d779e3f138be68a0c9af7021d04e41526fed321fc6853ca6c65fbace409bb69de05b5dbe03d0845171e060b75dbd12caa59beb936f8b12a8d74173f3fe7cf4388a0e957317272bbc875ad7f84692999e9196bc8b0257940a4e51e6e9d25edc8edfdaefdb5205e344971beec79ffb99195bc201a763d53b473ed1c50ec171635b67b94a3d1b1364f1af25cfc5f4ec43720ed77b7d6ce2e0059d6a01fcc1994081115bcc9d4411a7f3ccbf69721b303428acb77bd2410ee9113b200bc50c6343380ea6aeefe378cb53536bec16132c838f870aef9108bc3a6e9922ac5f12e3e72e91c9af4a560e50f895b0eca4474abb5320c56c276557c35b1563bbc2ed46be0e715f8549c2411748f98882da40e45a8fc1cce62ee8076ef3c701211880a887bb1c75f2f931b7f3bbf3952aa7c4925410d0b09763bdfcd37ecf3fc3567db74c0dcb945b1f7f3a7e12692f303aacef8448742fe890c141e9a3dfc3115e39787ff674b675ff9629e698597b216701b15e0d6169dd95293b54a6bacf9b1c53ca3ca6b0a91edf73b24879a2321b2268c833b35e26b8e0df600093352dce3e6df007d574e7eeb8dbcb2bf3aecfba20edd4f92826948322ee1f4015d7c8be1f910eae8823a314d74bd0479e855a750f68956e84192155ad56b6a9fe1ac9ca4e60d2d352cf2cb2e74da43e5bc53e7f7904cbeda7d2dc2bbae6d9d652bd4c108c97e41233472ece6163991589087e446c6de0f58341d79be68e86bba291c9e331818081faca56603c397994f872b95cb075157854af6b0bc5699cd9b4dbe43e68dcef86e5bc00607044bc4ea2aa2b15da34b86c8f14b8ad95464fb9edf912619f6a265fb281096fd9a50367cd0eabe4b319cc04d32bc9b43d5a5cf1b791f1c8126d8ee9c951a53c55cdcdc84f5255ed474b95a19f5bb4c72e3ef5f5ee0786bd77818c6512cb2deaa77ccf672b5407452d8ef85bfcbe321a7f057197682dd0135259f75247c2381052b55a12e77d8878a9c606765bde8fe59b424f429c06b7891414e3c081f0b4a1e743456c886b1e6af638be064f03f6af8388224755ac777b3f0d26ffc02cab59beaf3644e8ae3da67ec3e9a8cf5d415f0e71430a5b3bf24b0337d79b95cef313ba4fb87130e1cb884382e5e4a174d7e3d68161f82deae6d01ce76ff8f77a6afe8047332cb44544520c922b53722717f5ebce75d88a7d0124a0e923fa84878b1bf83d24c7070a64c0258999d6c39fe663b68015fc62aa9ef0dd2fb51c7b751e3c7593b29e4dacaf26582894526c7579e947fdbe3508df2417640ebb24ab0f785702590f745a5a35fc1595e9ff7ac63fa349597fe9cb6e5935b82432d55cfa5876b59ce983f0a818fac9b77f37027b504457b0af559d06afd4273d235897bb37b85cfca588f79cdc20664c8f6ca58e1befbc4aa53b0b0d9b80d6a563d3a24af6d7f89c81a775dedad2e1477caf6b3498b4776ba844f2d1f0201937173adf66ad89ff2445cb9064f641a252a6abacd370aa1d0002a25bcb6b4865d41c8ac88a951e189b370b2b07572e6b428d93906835086ffcf8a106fc11fc1500c2434e93f96c36cd905e1474717ce69d1b3130fefed1d98eaa878d61501a14cc41532a99ee7f9ca648fac33efefcfa05d0d3e974f6f31b8db4ce2f22fb3f03b0cff25fda2f86f89dedff993627904239c78afca8a1a37eb7179e6c671f6319dea5094e93a4658f35905ce6e927396106e385af37eb966ced44a4b2a44f9e0dc8b6e7899449ff172726c3549e16adf2e05f6562230eb95fb4017b961b32f363b23fa1b5e335a01b5972bb6961412d1d6c9a82d0e21bc421ea69b39598ef5ad2af252d343c9a6391bb5577f3dcdea55573f507d0b935a88f831b72a94830951ee48b21260587a935347308eb43d147541be8061209bbcb5697ebdeaee5ef04a4535a1a5393e1b7cabad549e1adb68cceb2bd9b52ebf23d6bc44bb4129d88e7442a1dbda2b1a28e149f2e19d0cc206af8720ad856dfbc23e752a2e4da2510ce0c004a8bf7390e42dff824aedeeddaf3339abd6b38e71d40ab9ce973981d93a5cae376336ae78755426c3dc44896aad18d4c837bd914d0e5029de041d41b6ed7a16b702ffaf564bdcf26f0c46e06551b0ca84d1734ece4ab888adf0e2fcec4505b5e6f44fe4cbeb258dd220deb60b686d0b233c1be8ac39d683adea96a1d75351d683126d4226d0af9e738fed0b7857e3514a4bd6904fc9ddab44def1c91940c45d8fffdc82612230ea6804e529e0f88541542ac257c1c841913212d66a568098c1c7607aec23f0a8a3bde322419b8ce38296255f019e696a3822b8f998239de7396e759e3d7bb62e17812f1b6569856e2347bbb513587d5e1feed30471f96d524e5af6f90e76ee11e9729d5f49c4883a663d17fda0b116f3192d05f59742c7b4c596581c8b3948aec2cb5e55fb9d866eb328c459de0aab9a1774e4fa183d63f2b1c1ef3210d470b8559f486ba969dd60a8d5bec945daff3049fcec8b7cca00b043cb2ef943ce1beaecf21dd6a5bbd7fc445510fa28d3581107e0ac74ad40e6e64b54830322d10b0aff53465d323123407786ef5dda92225612d5ca4ed44774c43d5f05594100053aa9d25e177b3f2a5faad266659981d89c093d611f996b9df1288566305c5a5707f5bff4b3cb49ea94b290aa5fb27238f887ee950db9ddd59de5e3ea5d70fde5a473d8d618e67bdfaf2e59abb0ad5a06425b615663ab80dfe9cde1c847dce997fe2e38c901a59e54f4a339c77fc15d720ae8c03cb4c3091384962686e46c70fd0a4015ba1146764c153b030c9bf7255ab0b9b02a40fcabb10c49f6913e7d6bc5402f820a67108f8b1116ed05699600d81dd858e5321d79a99e04674104f8b22849722deb67cccf9064bf657adf28e0e24e588fda5c5f701aad30d71126913542d5931f2e8bac40f8fe88400f6b1d0dc72a573bdecac0dc2ad37abc78133f814d159e6a42ce12242396ccceb9cdb565c2d7449d0b704d98a0e5355e7c57bb03a930ac472ed1cef8a2f1c292581f3cd2b722c889c6934d9acd46a591c9a209244b88fa386044324404516f017d8a4d3f01b80209a2bdb9a92413765770f5a2f5581973dbcb9db658ec69ad0f191d9f517e4a02e43045245eb564dfe68057e4a94b0b8985da87a969bb370787b1030dfdbe41be5bd4f5e56525402bc9c200d70d9e1e0e703b26bf0b3c522f9f90b81d61dc36669cd3f254150fec5680ef1146972e437ecbcaa8748047939f72778c11630bd5b080a11f5346c14f9731957605f430dba1cb5260fa015284a7ed661358ead91e39f80ed5a3107eacbd29638bafc8ded64db00f45d02befa8339994fe5a66fd18e9a65e5182059c8c972ce8e8146a4da0ff36d3f4cc625f9e0f866bc4d03e7704195c939c1e7f0aade20061644abb09ea5835fe4087bc149b42cac5c6c4e33f109050d7bb629fc59e021fd42b2316206961c5b3e37072bec4337d474747267fec849218a32ac6b51a309f2d24d994878aff271ff892af517def33289a676188f0b696fe50d9b958e3de4e283b11368a87ac6d32251033f0600e3214cd14c5749f67ebe707ff2b09ce75aa9a083e6fe6a8296879b9b1f1f30af8e8809cb27785223ee303987e8f18b2ac9ceb4696c94ef3760e9598e80dd4a1e63d05f0d155340644511e678601fc9def8d035e361c24838d465f4819669a7927e13a7e99b09d209249243beb8400eaaabed80e8d327f9d859972b3f36da96d81840b5af4cbf4d22f2b02056468b97ff4abfe2b439a15d7de2054014fbb4695f4a81f9355401d4924ecf504315b89772b3ea4b5b608f89a7117eae92122618d29829b3e85d860f1e2293df267aa19c544ca57d2352d2f24aeee87ce2935136dd1a4327a0909adb2656bb271362d03caeaeefaf483e0a8c76f4eb10ea3789c1762c1904d7438a769ad6dbfc388cf4e5de8134a1712608ffdfe4b51f4153de11de2a79b6317dc4a5cb161754aef7c4576640f2d8ec0847fc9e593d5c2cb1696dada27a9813f2d3600a87ac8e88428fff19367c7d5e44cf46ce809f02f54f81b0be90e790962df029137e4c49662a861073073b8cb2814cac072a08f55dcba4fecde351835a4db86a7e9d69969493986c5cbad8a3683f9ddbc6d8a45655c950c8a5d114816d04905523dd54cbfffc01f4ce66adbaf2e133906603f3dc2d9dc5075af7ebfd669468cfbdd87aa60561625c7be7f9c4598fc5fce44ba2c17dee97ebf802f368201acc69d5dd092703bfc6feb8dec0280d3c77183ee01948dc02e90b184ca279f3fb32b0664710b5591dc224bfb67071cfe9ab14423d7dac777faacc37641ca5f336bf686bf9e6249487ecaa3a2f5e08c7cd4b212b0393bdef2152f3f90e1461e9c5e618ed039f7b4aacf92fc4eea72bda995d6c2b715c670cc82697e4a0223092ffa6776db384ced79975ba46e540f74444e30bebbfa015e4530a30dfc8675450460a5136f40b7b240a10a0e69c30c9ea3df39083e89d3227d1304b60bbf041b5069bd1cdfab1c1be699086fed6a0e6df2a8c00f0ec4bc954adc8444e4a7a8c95498be2ea249ed361cc6374ea15645490401205c546f7d7db2380154a667d8a2615c7ca55ea9f65b06c4b9b73152e2ee4f42c2ecfa54c17ff538d74c6e308a0757204a063f2aba6263ce05125ba81e607f7f72dfb41dcad58869d4a5baef53b46801f77dd373ce9c003438acef9dd582d5cb1fc2032b475f96a2f52fa3d3d69795c9c3000e4d16cc20396f1b7e7a8dd0d3107201c3c283d652a66e91b34d51e0d67199fea1af7df0a8b9b3c7a5b2fe03b43fb56c2743238b2e7c3161cc4e59d3849114fc8a499d15def485f3de43915a7f7f1869ce528faf0345847c11de20f3e387c7e77984f81f863bed4d16ce91c281113ccf67ccb25cfd23506035295c52a95ecef9779e92dd229261766579db5d00667a317e1015e8c8140e7ceb84c9c22449b765c7189e0cf41c03c582cb45cc45a1436212ea453111409afcdfbc0ec90a60b58faf31df438f56f60e2111d967b943ce378c293650f9c5d150c74777fe166b03363528e06dc692d15da4a1609999558e3f2f5f748362f4dfe6a47b8c6de06b8ca32209bf107f3a0f53bf628eb9db1a9397801157a2d9ed3438a81d8fbdd92f2e7727b5301448b082e1d86c75291b6242b19588a36f1ef70951abd49cb333d0865f3b2c66883ac6d297cdeb5e8e95e6c4f31ccadbaec750e45da00b823b4ccb98870b0c6b44f3ce64616e1722d04ffb53d47ee8b91af0ff767489da9f176d1c33f4919cd6b43a848ff1cd92db4ae2c97ae0fb5fa174995d456acfc1c91aca29cde3d456602c0be48fe11f627c89e6fa20768b16921b6b152f7445aba4bd6c6b7137fd1693c2677a69d8c9847fed1e7b9e30c2442baa53f97e0c3455a90fc67d9c9c8c319112c1e387045b604a5e6faee0f12bbd7f65bd1401bc89c0292f1eebb7f1a8b53460ca8f37c162fa4243613840d8075f1dd32a9879e5a502f96f30c2a7d01a61ffbfd3ba68680d671f182ddb8188f4f3ae340c2cb22c579557ec5c49796728826d9c35c9d5c19c203a08025738daf294f3bce0b833dc28185272f1c7322689cfb180cb00a0bfb974fd32d9ded8d1768644e4a9e5edb807523f075070fc5e0a73b6179c9d69eb8b13bca0d445fad0054914faf2308955b06eb419bd42b4c1990541bdd184c7161d21f51e8337b34143ee8ab1b60423a1c86c5138306a1cae4237290e514f86c1f4d5e078ff96a2ee79a52fd0c52ccb96e35217d22bc62d0f6ed05f3159f7490b850ac072619d249233a12972f2fc14685f0fb4a54b9eca05715fe44fc37b713804e3b1a155af80a6cdd4b12588da1e70a623ffffa21e5b7b41b839bc7ee605b875a6f659a3dd9fcedd267351197a853fce1e3c446d9bc0ca16cc26992b9162f73ad827dbc9514a933faf6b313ff7062448cc0e4ad3d658023eaf24017121980fe7cb801a14f8f67ac5f1066d5e931c7907d13a220ab4d007575712d029ffcf0064714fa3d2d76f940f2cfd88d989e0dc251d2c0caa00093b69dc6d4a74d52c12766b436f1debcd95af386533ae993ce5ea3a86995add2dd7ccd55fe5ecfcbe4b9a6da6577bf6dfecbbadf15102bca267f5d3515f239e79322a3ee061336c157eddad89f98ce6b094d4a9bbc8b7d8ee77ce83b216a46359a232158b778a6107f944742a357ee6b9e624a6129b8cfae6c5e6642f8cd3f391aecbfd6513d2bd4461491ca7b65040aa912ff5fd222aac517e6f576134571168a45ae41fb393c4644111706060a1e2e2ef3d5fa1c262d0f31c6e084ff0f584cb5c5328cd8b97ecde45071e6adf05227a442ad1df33ca04739ff47fcbb258dd8b62d5e690d91e560576d7e9f7ee256582fb76b39bbc1b86c96de4d25d6467eb2a702d0ad2802b43378482eacf19676f957f6e02ec28fb3d5455152324cf1c9404272e1fe9239b42f9d211d44a57504b4a610f01b577240d847ab8c7002184a4ea12f0c204c7bcd8b3a5a4f026315aa1f3d66492f437e6860bd107ce7bc11c090d72dfd19406a0587d0618d5c7545a158f3155bee1c70121c2c682db12728ff655de67b44f2cf982e4d37e6ded3d99524e9865536de345afb5d21c504f10cf8c7d02d98725dadc41c3bd5ba7bfa98370f9cfeac2b8dc7669905f38d83e96e738c6dfdbf64fde3f05f34f0c8c5b89da385aff3e35110ab5c801bd6e91d4fdbf536a0be391ed4689d8f31d7bf24b17a2580661fc047f25b1a82986746ebda3a1037e3b9703acc9e58b40f6a0ed2a646b20c7c248c7d92f0b150721ee23b99f985326b36e1ab3866acd7f7c80e416f9f9e9ffc8e61c67d1074ff6c5166b90f4a95f45479690154c888deaf784baef0eff51ccc9bf2e380984e03f390809cf5cae1ab1e0690692a007ed59ebf8a6e67de428ee38425bd50890d474e6c22fc3a535df0811f16ea080279ebb24f120be9ee006aedc2a1ffa7f0d54eac6bdf7d0e204302e8db1b630374a4b32156b13184f222b559f5f482ce83e416f1cb20ae96d78b6de2ed7778d8ffd2c8c0ecb1337b72bde7ed98b337fba0948c27caf09acd4990afb478ff1dc74dc46039464f985e07ef0e9ee8630eb5d891283a07197c93598134c4c62b0a67b7eab82090ccaf91fd30923f9c462026ae3a8d8b43d470c6383167befd8937eb37aa2ffcbc643a9aa025a276628ad9115c9824dc2c4916703e7e05b86ca2c82716faf66908b6fc0b670e43c70e0cff7a0c1abe45edd1534f2211173a0b27f04741198cb249a6978ab573665253d0ebc3455cb6ed35597739a912b5f7720ea6e038811c941e0d4d8f3eae22f03f73224ef2402c13d20b947471effb5cd055a1c1b10b5385032d546fe87a2999ae43b6fb328cc86b3207f5c94c567de8a385a1695d13c683ee381825a89e8848720bf7964d58ffa69f66a7b04b4258971491c33727f73d516878c2b8249f9d9541fa63d068cb7d169dce0bc1a114f64e32de5232b746407ab8e42649f2b8af20a0491e5d59f8cf2fe7a01cb4a599622080f02130fe077c7e00aba5e503bb3750ba3444f52031040085c4245b687bb466e2113e1d85b44c72dea4c140d1ba02c347564bde8449fc539d1444c4c9eb4ac410254463cd2d49c70aa53a4bb411e938183d25d3c044db60e175370046ca23e25d5bab0bd3ca60bc08c981bbce791a765e8ffee27c7793bb89e0033317e59d0e49bcfb5a75b4624b8b9bcda3e6e02f43739d739e3de9c5754c80ec6f21c2328903988391e18bb4c491116e7aa3c9e00befae65465472cfb8ac4d9cc1d1d301ab204c92607732921e54a6497060093fdac348bd0ae2b0744258438e61f1df7ab72af28cbf20c05964911fa9338db9f8fdc525798eba3f585c08e0abc7a061912734e9b69b71a0824601acd99177ac80c7582f60773568706b65539733b96a73d23094257656d2fa9f3cc2c4a87e6ca1c6b85cb0c2caed9f9ae6d2691a17fa429b429c1bfb652c04cae4ed89b2988b6cc1bbf54471ea9b96c40a2c74fbf5d597d2cbe5416a213692b69fb82c738b21c1be10cdfc2f9ae32a5d99a26f5751e268dddfb51bef8dc80f0b86a300448a49c6e6b9a1abd3334dd5508333ac4736acdcc1838d0959cea0c530cfd58322d8f2298b0dd5009e86e243473486ad75a835d6d42d23f2f4e64aefea08618cfb34870b9991a182cceaee9794997302a4e53aa8bc3e0aface2b99da0ddf3cee8372d660a15e6f99d660820ccfe3cada0c84bd93990e85be35fb6959e9ec18b05b3f6352050946055e84ccb26c9b5dbbc3b87a26531d108e98d98a11927da3829d59564ab8f7f42268c7f3f60480f4f5ccea9fa4f42102360f9b2029958910888ca0a3c55a51699957677c8bd624e9dd740532c3f3cd455b4a8cad323a15e918b831617babefb9d018f00461a7b2165319a7e759e2d9dbea1af4d7b07ef43ec6d365f3cee558310296ca2aae5dee671ab4e4b78f3257adb0a9d9b64c6a39da97f8779754e74399f23094ded47bad765e1472317393256a4b224b37d49ccb5be2c73af3a2526c463570568223561f6b40bf15f701c259535929e4df0123e72e237cedf571e2878e6d41e3550acc58afda78c4cbecbbbaa2259085c1b5b20f1a25f5b2fd79d5b0a61f5ae15ca69efdf8a04cfddef6aa13f3f9a337b9369fbbfcc1b4e53c28bdafa5c5e345f51b0e80e0c3c03c73b6d21de31c9891b313cfa1a5f5bffdb75593b4c03a5328c889a60c3febe0eab2be52fbbd952d21044d65cb92b830641fd6a464d2d435da34a38f07c759207ee1694cee36ba0ede7693d2a65f0f9450a3b2271e877b5cac8f1709efe0d1b1933389b34153266f0ef0546390503a292ef2e9a3b0cae42b8faf95ca41924a89bd4b4a21c58bc152297277360d0833c898f3e17eaaec9377e576c23245dfb393db9021747f59f90399ce325ff590715e9b6b3f9eca89c7f133e8c71da6ac4434ccc6715802ea6619f44afd54fa42500803e92d49ce45994f5055f51eebec6f30c3ca2d7557809706d52b482049b6ff45e250c09460fd233c6f3556982b1b28a50748c979fed8a00c2323a7490a7b3f41b4029eb9c7b5392337e6896c475cbfad7bd9ac8df0d4e7a69dbc28f16ab6b1f00bfe4e8422b497c0abd1cebbe74ff77cc83df719ec13429e0cce8ace294797bc5c3924ff3d8bc701a778b9afe71d47b0f456e7a79dd2e4efb13815728dcc48687c49b9b7bef99355c3b42af6ff6a6f7e73fc5e513ae6ec9905ccbef69a4313c436bb299c3109a4a38601626eb46665be5e04d6ed9eecef42fcef1cb5efb37c66d83d61895cbda547d51135ac4d5967ab792f54d13d3aa14f73bc2b8b4d7cc8e321b0ddff1d357e9b04378ddf8501ede3448e5bbf55f704ecb5143ba73633c92dc8dac04ba917114a8c6fbf075c141de10bbd4ed30f3144a07020867711a0ff88c0fa36a445c10c0c1e308d834dacddf3cc9e7aba0661e844c07b52abf2bd5aeb8a459831c033be4756e6aa015be5ff1d9b999017ec77a42f644a91b22be83241650bc66b4b0388f4b132aeabfcb99a7658a308ee5cc4bf436e040f4835f21bfdc6cbae8c98dbf8353c34a2113555122df1798ac8b50e2e5e89cbf2fcb7a75d137fa4bd853044112dd5ee55269501317975724e319cd805194820a0a6b1cdd4b67a33f9a0f4fa3f95bd57252e71f57c7f7b2ba6b4b35fe877c3d0ce31818604372b1eb0b2a6983e41f440d405adde0a68c926d8b37c609bb5e76f9c25333a63838a739054ce1176ed34f2e4908049a5bababacb7d12aff2c274d68c7aa84b1c67cafb00cc8107dd96b17196391bf5e139aa3700e7274d6c2dd974287da4404b7dd829f6e1fd39b98b739790ef0f1c8b4053c331108d74633f010ef85aa18eb4e0fccc0b16f84926c1bb47175966e563477fb2b64b86bd254a4482c6c89625ab7ec16fbab9fa9df2215e24fefd86e8ee7e71d6261484a08ef4e565ebf23c51d1a9db7de26bd04a50fd568eed80c5bbee069930fadec46ff66a04efb59077d0f2265c4c53b61fdca9ddc1c34019d7c455c690e39201a4244939bb7ac4d349af4dbf94042f6092433e0042bd4118574cfdb997d262334eebff4f5bab22f4e6b82975558cbd56ef53dd41bced66f451b7f2f891764e63cf3de195b2d9f769eef095b8884e6d6bdf3e0cbb48ca4f9a049f89859f94decdb8069e8614a11744dab882225f5e44466b9fae60911fa74e5523a840b3621f3c65a3b2361717aa0b74d14233e7e30572134f13e583ca5c443e1205898b623e3474349fa514613c468c4be7c01bbcd081b035a8a20c8f05429d147bb5c2e3e15367070ac2205dc00a5d559dc29537384e9ca3193284aa6b9676d20df5b3a397f653d2d5f505e0deaee848e2491a3e6f71d253892ff1a8b9c0a4c4c6cb4bb525fa202328207892a19ad07b1be2434334139671c3cac3f5fb705954d48bd918229e71d20b64e8b604a5ce15e6fad15ffdebe5f5f6915fe423ff6fb7682e1bffa6bbbf01074dec651bcf4b40f9f311b81fcb112e9cf8e7d4446293482a43f7405415aa6b707dbaef0afde84d8a299c103fcbdf319c06974ed99f71f7fae5cae6b21a7be200b65f3c083d75ad92a493d9ecddd802452b0d158384a1f296207bfe53ee0ee6817c904a3ef4ca03d9cec604a091bdb4070df31086737f51f2e03479a681604853bcfadd78663e9f0037de854197e39fdd55797280843dc695ec9efcba33e7a0591644b5b5a4cb45fb1a8a12af4bea189b26ba464831f5ad450c1ed78b6d3fde88bb5cc2427cfe7f438681e3af6a0705a5c514809407bf14491a31fb7cec616089c7fc1ce9cecdcd58bd05bca3d96b8b5437288827fffed98c32a875ce7f8da8f2baca1e23f66856bad4a2eacc70d28dc4a6a8d5ba6e0527325b2bc9ae267de7f4ec0fc8b0ca61fd972c6bb19ab7ccef90d9f0b87850e68c1baa9ab32bd88baff3e3b5eab899ad27562aa4742a754707daca84f531dcbd5ce741a4dbf0cfeacb71f1f067be3368af13f787ce5ad71f6439f420c401647bd579610245b40d58c64fa4d6fd211ce18f87add19ea737a5e92a5387eb04ec5e83a376bb7fcc866cccd1119a7d107e5d1b4ea3947a65b7067e4cdc0277dd253bdb2e404cc1d0df9bcdee5b6442545470c1be78f2dbd2494bd02d3d06ffb8600f7f678384323c2ebc3b65a53c448a57bc715b3ece670828ede89255bd9b00cf9edfdff5c8fa6350f88fce8c39fb8731f4784130f18802118ac35d25baf0ebecc6df6362e70f4d134c53c2b3a27ab628ca257004a90d4d08b54f463dfbbddb85d3c898a8bfe1054147bb848c9ff654e7be80959469c9473d4bcfd25e4c6ea8b3a433779f4e1c1dc71380741d37cd0d80a75817b0a1fd24ccc31a3df95f92b6c187e11c529dcd225ad9c8db9f4610cb089d4a27d067f8f72c3a2900431b149d53b7fa05e0c803775b3e5f27b5ae36feafc72709e1c5b7850c9957a5a8d5ee57f0351002e1cb2f3fe493af61e0a4c26d65f4b48bc3d1521ac431e533abbe9457013ea929071c41664555dd2f52e4167146402acaf6907f4af531e92fffc7c2913a57c8f260ce645f970800ceafd6b7eb04f1ad4dfbe244dfdac4ee1167c5681b61de97d01fecdd6564bd22148dfe885d478814f94c12db5965b8b616f00ca0473d91ebf769ed293b446a34ddf9541308e1c68b4e5ed8fcc4325302a7e75b4928fffb312505779237ea311ab5d324448e67524350c130a840d8864a1ef836a59fa23833847e1ba7d4e78244e3f1a3be68e2a3237ebcbd8ba55f72cd8d6289451edcad41f3903b608af3a61be9810134a3368d9e5fd1094a7b3c34300db19b799e50789cd01654221be11c866b9bb2f76cdba021d8e20e79ebedceed8e81810c83a901ca6c142b63c3997f69ece8b4478b6ae2a73b7f1a60257adbeffc7b449541f897d84ce438aa3c6dbaee72d1e1cf4ecfb871a776a98d0702bb6dfbe435191a41855c3e56378e27c2bba02061fa45effe2fdb0c59eb37b6e96833ab2cc86c62413e5a8a77747bc5d235f74bb33bff21f522c4b0cae225347ff13c25ae3552f95eeb28a4bb36a4edddc1c16a4a9e647ac4a2de1269cd3036c6687a2c0a1aa835e81602af8c56dfac24e11dce93f57a0c80ddb21f3d2fb5a1019b454bac8eef6462e5123e6308ef6d2daf87a416c22c3c9debaec5c7bc71dc97a39657f9625a42584b054bbc2ca4e5dc2685583113e2b47187997720dd50e05223115e50b213b2841e55e6c23e21e8996dc2479a426870dae4557335372f091fcce7a0b1373e378fde423011382fe185b4c04546842d69c41cbc8ee3f87a991073397f551c5108157c796c3ccc87b63b0d7b2fe1153cf1be88699226a25af2abe278880f9910f7d92ff6f48c299bbd74c5fba17c15948bf43d4e88637ee21b4d4dde9852243c2cad0b9758d6fcf516b223fbac630a97ab35f05a0bd09a8720aad5dcbb192ae750fec290c04d91e95d03a3664d8070d4a925a467d00abdbf0aaee062d6b7424dfc214d7cc26097e50a86c582f0e2226a4001fa35fb32eed869e83f99aefc169090d44e031127ab5f8fd530ea0995d3f3890bb8a41c5f32c0431752bb9ab840a44851a0bfebfa9b9f6a26bdae4d39cabe7eec91ad2d818d3510d8024a081091cf18f9da62feedbabc73492dfdeb4a9b40e56f2131102ad43d7d3e87dfceb79354e8ad4226ea2eb945a5299d4f7a38e86975a6ca404d94f25a723d8ffc605772ceda70a18c97ae400880c74895a2dfb6a8dc18fee76a022c0cedb28799cd8f58f37a101a2dd8830020a5ca0966da00277364cf82e23ed0a1e4269f5733839042cfd78d783648aa7fdde3d2480d9f3e27c689a62014615c9892686c9f620be18e50091a54641813df5a175e0a13895e4c150a2b3ace3eed084d4edb9fd107a1f6168f7ff093a5b203ac979b072a5304ca2c145911d8b505599c8dbaaad4bb66f2062fb516ade3189883e1b1dd373dba442215c5b0f72653903e701cd9c96dc1a1f9d012c6d11dcd2c273b1198fe912e78b26f0e14b52e013d68fb5e1713f970b66caf3eb5c3a7b3bc92c7a35bb18dd418072242e2f2f3a5854d19dfa3130e932cf6d76ba734dd841d5883da779c2f3be58d9e00a3b78eb47732d5b384a1ba8257704095966de3a563590941abbd632582d64e328cc0a14d07adf34bcf5aaf28be25bc5b772be11d028f354a31f78a089a1284c51d74ad6b1a919142597958aa3fba210ba763a50bf0ccc395171ddc11e9f1422b2d0014954594d1e5757fc99877410ef7708f6b3a6daf861ad422bfec036676dc94d7fbce58d4c26b4da8df25f8cb3e0f908cfb9f29f8f386b92227e1e1c82f143e69c2d9793dcdcb3045496e4d4a660aec05eda247141de58ba00e270435e650985ca725f192957e995c140fa91c56726d0a29bd2ecf46a2769cc84634361c1780e7977992ea08c1d25b805246b77df6933ccd60e45617a30d68d320739dd064b367b435a32ddac53b593cf929675fc0e1d7653125cd4bdb4b987232975cc801a7048bcfdd4131bbe799ce9d38149d49181a716e53a6d9bca74698a17defec2814e67133320c68cfe08d6bed48940b2499984011aea9597dd84489f6a81587762ce41ad17a0ed0224a8749dbc382f4d4d32449dadfe759f3d26a3620f6fb250e7297e2f23334f093a1a7254d5672b06606c119d005cb0c4e93b35f77451109be4c998d2cf49d9534723fc4474bc42521c91868c0a6c9db4c56ebc0d0c90effee99d6722d31e58d90770a41c7f9357983b1a48d08a584482a9291e6efa8b67cc0140dcde606ee7ad5cf8230369b43d2eb4160439ab65a5ab15dc84277024b1b78cb0f74d7c4b6ee56c3c10573fb1f5905ddfaf5e5cb4318d8d0bf020c267bed53b4bfad7fcbcfa43cd1db4ec45524db08b53062f1e0ec9837d9f0dde1a2770ddf1919ee3b60921eeed53d7a21f908777d9981a76aa1e1ad061185cb433aeea42e69e74fcc1194b3d1a73c80ec0c55ab3050425e876958b1fe3f417dc8b3a0418a0915d3a2154a5c724f41a597a8c8e2fc40a9cc901f47d738cee2c260bbfa1ca7fe8d1506c6fdf1ce820232855bd07381064dba4a15d1fc9c43d784282febf61e869a73795598a253b9269c063dedd716e9e14a28d92d358ea1e64c0c4830ec63c74404f50f1dc34c4da3bb4e49f77cb98392c115064c3f6f574aaec2fb3b1fdd47618efd5f59af2552cac808228197e55db68cdd8cb572137210ed53a743e730de26bf5aced6077a7902feff97f8c412bea578c13a72cf16beec02c63d4c227f8e30514ea914b4dc73606f9d42dbb947eae8484c2dff580dc8ad4887c7fd097c6e6c82d937fcf620dd68e687102a070ab3abcb567dfca60d49c74dee948bffe127896b06c80eda81a9b8fad013ded8084678533824236b7961b1cebd11427bda43112d418d2a94a6a6047d4f64a3ea0036a97acd29680bd4918e01df1fe674e34718c107f4453cf1909902713aefe3bb7ae879bba4c1416c43ddccf6614d70b9983760c1a8df2cce60db445f5332d9521426441ab9dff94a4d51f20b7591552e45f90033c582e782b8fae24eb2cb5325f9f4ab139ccc990dc462d71f501cfa4c5cdb3a6b9d6a477b25b5173e8742927d04400ead6b677d2424762ef705bcab70a0497ca01850a8e725dfcdf60dffebad0925baa22ba5e2ec3d5840b01fd5a66b7f57720990259b9de94eebe808cd2b3fe7be626d822346e9d874d486a8c2bffb6453fbe538daf84331eddb0aa87f0bba0ec27e2f0056754df0adedb7e1716f6f21e193576b44e5d2a0fe66aa49f36b1a028c52bef7865dc1c8aeeb4e806492d180de54c7f4e5c486eb05b5821ae743fde5772e687e4e99ff11be09baf3e79de472ecf685dfed96d8289e42e0644bcb3eda5a0d84f8e7826910ed919bbc1212f833bf66a460661cef924ec7fa7ca015f61ca5cc6236bfbee26984bc191e8fa40cbeccad205aae09b817edfb275f76aa6803d2382a29d9cce7e46c3d108b38d8d10eea3bfe6cbe5e6e7f7afcbbbb6d46c05affa0223ea1197d83f60f5274b5586d6dfc8d4fff92b32130af84f07ded2cb61b22c9e4cb211e8165aa16e7081f58af5e9a747d8d7379ee11266f6c41d429bfa3de0ea23ea84faa2928b0a9114e424ea532ea5bae9b2870a81857ed5f1f3adc7c877b205e3df98afdebe0f41b0bd169fa3cf309fbe6a3e2bae3faf575b9c2246694aa7b1c4b4bab4bc3d1310ab7df6566f73af2061ab5fc1a7c41fba6b91c8e671a0869c4fa077acb94ca9e268d0517d95168c5d0bdb32698e07e517623912401ffe97dd18edbeeba80d273ade4e2c81a0dac9db53a0e0adb43f4600c8463d4b0028884c1f8ecc0dba01fef6454837b1e16c4a9ee119561c2c4d8182d1af7788b2572a869cfbc8195712b758f76f5e43cf12c7715d8e2070e728cff7dd9a00927f3b9a268c416101395cea391b5da0574f7fe2d63801e46240d878e5b63cf82e69b89a204b3e408f68c56ade52ad31c35782788d65856d4e92b3a7ea2a7bfc42937fd9df491f9d7c5ee4b392723ba1deb71edad216486b32c0290b1055a9b7b2d702d441c2f60ddae4e5fed7a96a05454a4abb47e6b7dfde87f304e23d201178e1b0d8988300f60c2454c732f5df2065788dea71791744d9833266f7e90b6ed7262f9b562dcd193d4eb73f0ef1f609b4b78d4840a2d3541ffc5d47dc9b3d338487d9c6d63f0e59b4996041da4c62c744983bb2e16241fb6656cbe7aff33479843f3dd3ec31eb8f80794d1bf45b00781adb07384428ec3b0a26874840778c51f65222366a6624bf537bd093c15d1ec85172e4739df6181d51495815b589fae14b5d4bc590e2293381a3220e395dbaa25541ae5ff95260a8428ef77885ce5dc96341391d799aed740be173b8283d0f3678b50529d0b91ec1fef16371c5ba0c57424edac118d26e8ea59af009dd7df46fbc686a96558c727d1ac86d34e6214d59257e10207a457a5d018ad72a2001c4db1df9d4e2ad0275aeeff92e2d6782980b200a8408634aea0eeed1de9004144771e4082141de9997f86292647bd5176eda22b5b82f0838ed05980f27671a46093844373a68f495a8520a545bdeb09f82f0875c073318ae0c393f214e2fd3d58e6179ceeef0f8964e099589d9c6a45e98c3bf1649c4e07a46ef32846d4c29d88d073f0910a29c61802dc45da8d21d35a038cc394e72a6faaa19182853c0cdbb6e9a1cf558fb7cde301847726a4df361d3ce565e6cfb107eed2d68d39d0e9d45a5e80564ff2ae9277409776dc7bf2963e3d27c6b4fee56a896e030af8e83a89b254d5f64bda36eb53a4e01b5677b2d9fd7e1be0e31ef6d993e44d5f2cad607c86bf50f00f3622ee5735860884b0453edb2110ebe561de98703e8f3c1b1e699e7425418da5386069343b737ccc2bf363a6036158be231d1edb9e9673de3b2f0f3fccbe1ae08f85ef40aa32e6a12f7537d05e4acf43afe5760312b2769d380498caab40d20bd76fc21298b46600bddaa26f2733d2b2f972dede99449443757d90dd4b0e4c6fb071ba6bdd9c1262819e70b6ed379310d4e846a79ab428203e88395a5da3af16eebc34ffd0396184a7e030bdb50b6c4bc271a8ae299abc2e333071fd6cf75bb4610dfd15cb4e94c3abd4e7d9c9fcca84ecb7a2fb2899d7fd9d903f9761ff2bf327bb5e8916bae239dc348e854ae5a69071b59bfab1872b96299970308c4eda8998e937e7df0147be175dac1dd7072bb868c0c13a3fd014531111006026629ad01dbeed406b7e14f4e0572b967b2006af4ab22eb04d7477d62ffd8d6eada3a15103ee51ec81942ecc2d3ff90076625f7cafcec62a4940291e559d7057da4973f45324547fa30dfc55b496b71c61ccfa6d17240624606244c15b749050997ff99b7794136940c38fcf49efcb0d14bd5697ba63ccfc440b072fc95f56d5733e8a2f259f45c1afc09551b46722251c55970c15d6f2b5d01fc461ec57ffdbe4b2f1ca0c893ee372b5231fcd61c076ca20d2163e7a3391b6ee7250a75995e63d3f883a53349f6a3fc3df1b655e9600d331bad9bb99f1a5da260001d3994cd9ea6c549a5235bee6f47236f7358ea52afa75d95069451ca0da7451338088524d8625a7908d877b0e26a98caa5c4b0b258708ff8545b8665700098f65b66f2776a6ed99d79e42a774f484fc4a7a32247218efba7d8c9ad2dbfd756e56c643dac055073db6096753626b3c9492fc95f9064fee280293fc918bb123e09ab4f7d533b2d25c9e8186ad74cdccfa600389e6a0ae2133098be92ee7ed88538b12c4a2d139e7fc7bd7859cee09cd35f012420bb89e88bd667be5fbd11a815f46f851549f45a27f002370bddf22f687b88585dfa3be262db4ac5e9831d438d8262ea5aacc3abcb511b7eff5939a686b5dbf75fc428b1d4328aa6530d2a838da6bdca2d866ef4167541597da8ac0003cf92254dc652b31c45a6483617e7649fa5a6d42ffeb47bbba4e3fd588f585ecb3e17f918ac6642c1f5211c0f64863e677f9d663301ee776b60b50ac7f3b95a98455022de21fda562e9d38fdb5a3a8ca5f3583bf149eb09826330fe48d421b13e5ec667ecddff09f5968bc9e4cb428e24405864a642f3163203f971849cc13d0adb4dd3eed87442dfc200d1ef42b13bcbdcd6bc80b29327837deeb91dcb7d048a4cedaa24e240a680e6b58dea111f691d5ed71b15133c53e5b8e5f34c6010130f77f5472880ae639b27335eb8e94672238b0822ce8202ac3088917a17b3aad89448eb6c692e00d74266088aadfe24b70ba6dc856238a6a06403af8a98afefce56c2ace552f5b01b8a1ccbe63a9461b1c321ace3dac1c46963713499bdbc03d234efc513f7f05b2f00ad06f8ed9db84efecd13679c8fd44d4437415c08a117702d9f66fa66d1a95b52bd889101ef2a9f820184d791476ca4af637db19e583df3772b5bc0a2d902c64815e06c0c109a0dbd2cbf3d0159da0d55ca454425beff08b30501a0340ed9502404458cf4545ff4ddd5aeda012ef90f2e3377916471977dfb9d9eb7c34942b6d90ac93e108637c1426acd53262390fff6c63a22e49af866e70d1652ec9482155811592f90e31d421c26804c0984eb5379df7d617a3dd2e9f13bd32b7c174ed653dbcb78eb6a87ec493e23aa15b47b4c2171d2e4d56342d80d97c25e4a9ca02cf9f7a6935f4419438b4bd695e4609fe4cf4a868cd5306685f9eeb5829ef872575e4f6e0a040b2871b90dab2df491350083c047bfe15ca7a70602c30a34f15a5b7fcc637284c0c263cb39a16ebb199e5cb4e6e5842986d4b336295cc4c48942bfe0ef7e1a43a947a84ab79431c80f230b616a3ac1a265b3d821ac19682c2da12799e28cc636bcd447df1ddbbd96561e620d1f9c144e39f8fb9561e37a562ec8cf23ac66ecf2b47a4ddd4efcdcaf11044fcccec4be5f84cd0453be9cd1e4a272b505e770a158ca05b5955a5cdadd7759acb7fe892025e48454b04b2607a81627e70f13d6b5594dad9b33f4a2aef6eba7b7d2151a3c415b1397cca382a4049770ff11dd807207f08380e0aa64a92a979b5318beedcd0aa1fe2f77811373e7756d1517938284d2e4a56aa45f058d1cff398d6326df28d2a694e5102ec1a3430c1ac210c59456f9bd18e9bb68ddcf6e9fdf083155a92d3f673c21c2da781d3b20f763699d2a9af11be9272bb80427cadabe2127362e479d1ba52634cd18c41271b5e9e9293783a7bc238af3a489b05e6f34d46ce5fbd3c9c99892fb2a94e5b5375a4b8e69fbdc916ae502e9f391e9a5591d0031f2b68cc3d9fdd09d0f6082f27ecb3fb7c103100cf2850a5a574aff97877010252b68be64843626f7779c095743a786aa494e15a761b0e5386d9f1b84fbd62635e2173c8df20209c1e1cece59607ded47e8f560f01df807da57f54f3b041c5bde05289480a748155b37de4eaecb1fe933d6de9e38f49ff8af4f8ce3252aa253228ffffc0317efbe4800c5c43cb891588a60a87ec263791b9c9f1f0a08596e62292a99c500797caba2ca8f9eb32e653110921ee514102ae8841ac7dc7727315632cb747f9e2ad84a1fdcd6552e06a06a6b3d750bd5fbdac450a86a0c9b377547897247e91e31d7e59115f029735b677dff19bf5ebc514606fd925e42e0771374955052e5bfb4d0c01abe91ccd735c0bdfe9360274d4afaea28ee9268b6e64b1739ddaf59f122d8b5876571b1bb4cdbe23f0ec96a62a1978c185c271e19952cc4d24a4ca2bd3d2527efddea264fe875553fa443841ffb43b103042331ee414836965a7c58f10d9a1770ec415ce880c071078b1bdee0987bde1aee3d69f095105c78a252ea8a43a0120cf13cb7576115c735d66a5dc80d0e64baeb053a4c2281a9754fd7b56435d47d189c0c9c48fea5adebef149d13b23056df3a0a895ef33fcd5fe2241fb566c0cb2022789af23ba56012c45209f4348e9801d1418a830aff69fa67fd8cd8978d8ea554b2ea413c9949791cc14b3036616279b80f6d778e955f69b79be19d57862a1edb89450f61c1d033ac0ef6c2fe61fe101ab7634de65e2641ee77d669bfaa43cf259b6a2284e84ff8e17c5e64d13ee7d34a7669b6bf110c671eaf3712187ece54bbf8772ffc8229fb0ebfd84b74e9a91e3301d832bcd6d515d0cd0e7a924c8326d9db6dfe0fb70029e43c54bf014a9bbe063f1e88475906d40b10d8964e83e747e818858c805b2bc7c51f3038fa7afd266246ff39601da09c75646ab6d02b665d7be4d8940412e091b23fdc672a09b0b6ed9fdff1081119a2746aebeadc9d133114204b26ff828edc27e4c916fd39a3330f8f2ebd3b5d3c3ae6925541ba8702639007d83f0a289c63903d52ba4951aa6f44f27cbc135a814518a9be3e041a4df81d996bde9664fc9549e66ca39c2eb46424b360f6f2e7f92c9cc4ac0bef7badf4f8fbb83ed416889ee2c06ce2b805ac5fe2c97b8c9b16a57d2334361cbc531b8f935287f4f7fefff9103433f332d17377ed58908f7cf11a7874a47585dec041efc3fcee9cc27aa6d82a7d74f78e878d58e9af99deed9088581c6c9afe5893a65794e9e4809dfa86eaa386f46ff87fac3e6596e2aa76fcbfdbac68478a82b782f394809ddfa2978996ae4951147f2b81c94e73d3a9bcae521c93f7688ebdac9b9f0adc2fdaf835f5ef1ec42194a8b2513569017e3599add8554b17aca3cf45d3a2ef18b85798494b4b5b1f06ba74fab00cbd8c948f64168399ae652a5a37748bfd8b75a198a5270e786348e34e02183168f233f42a2610c47b79bae7914cb72cb3a6f5ab295bcdee1449d97b29890d6bc2ef570b0d1cfe9b7aada273757daa0cdc75b616ea92991a9cbd60e5b3d7f816ebfa37f27a271f33b68936c29bae4973444ec9fad7c3abab726be04d131033e970392592fb60e738b0c62f2585e838acb614d437fc515a7256bfcdbb22e2421270b35fa1e88050e47bcf5d10f8d5a28bcc352eaa9252359fb5d8755d547e98a85da91922780a5e46fb47b2c9bc1e40db964bc73f4d09370f8d94205ff8304739ed13a20178ff63a159fab2a3250521d4532222c9395bd4dbb3ac1e86b8e267f2867267357a8601e7cdfffd93d3252f6d9bf955765cd517c78926e7065d9c7cea5ba33b15b9dc8eb39309ca1ebc4eba44a79853eb2b43f1fcaaa8ba2a1ad23ed1273c25f06e6ed01a38d5ab4d00f152f353f8e84635187f58314a3392c7ed8a6f24087f3197b8f6bcea2709834f9f02a9f915cb0979afc5ebf6bb8a6587054ab63dd9eef8560d6eb329b83ff91cc5fd2fcf34fdaa24b24c5c2da2a2f1b56a1b96b0f7b97f0b44b758b58b5b05b7633c554dd47cb11e91e99940ddb5e1f2932bab959ac04971a7c861da9d8202a09926ca3106f95e0514bf4db48df509b4c044453ef3648b2735f26d09cb3119c338ca269830b27798d3777b27167ec1e60e520839b6d24dee6de3ac8c04fc25194a041e58983c5b29b90bd45fd1b8b110e3b747c7f25449c7327402f90d5c9c609ed31c2ecb81bfd4ee439546eb1337e9eb85f6a516f4949c76d3d946e72eb3c1c351f75b435660eba47400cb4e2e9741528e259f3c291159298550f6b4ae8e2235a11707908ed6517183d8a19daf5fca4673b5053121db323303c97e0eb7fa990f91be6ab940523a8331fc8fd312f4d6094c97f8c30329965cdcfb53cd2953220c4bffac40d671027d6b682cbf436db7234a84868ddde279f591f378d99aebaaa5e2449daf57a6652db09a12b46ddb3e4a8edba405b2e11b8910ba2b580410e00b35e8ca148649d80268a68b3baf4259144cc100627128bad29aac31266663afa159eef0bf055dd152c939cf946be96555dbab160e49b17ef3793cc8cefbc013f7071f5994fa260c3f0ac3476ca5004f773afd5291058cc00326eb9206148cc4773060626fc8245119fe7745a04b9164a3a805c091b7939bd7a0d8edf58ed52183de0a410f63243bb3fafcd6b5b89b0450c866ba7ff66333a4e09c3f35894a2a853f747ce237d1587c0d2255c374062cb9da51372ec023201f0cd3493268a9642604ece5310d826a9dc2b14ed81265ec39148cc4e561af2f9dab02807f3bee6389084b63ce1d04d3651e955cec7d4320dae7af0b8aafacfd88ff9fa09578082c29c182caff8f8f5183f7f4c21665fb2e7ee49a1cc397575d9bd1558164917b4e025b4800464861c0cb34fcc6a0b39dd93930f9044f62206dcb93d8347dd3b4ee06232ec07edb08ee30ecc48ff4d2207245127216a39ead0ed6006e02407f71bce6bb644f0b279669dcba60e314120358ebab44adeb2c34baf4943f07e4d0c9468406b4aaf3b6834e4930ecbe88009271b590894d2c1f1e544f778f5c43d65cdebcf5530cd61ba3801cfea399d183c0469f8709ff4fa3e3e62cf509a5ca4c6a9277c52c9a5ca615d71a226bbb9bbe04e66163e1bd098a498678f648ea9d9275033a94f27250f2c87488864d9cb6b1d54184e7591d651730d838e2d7cbb10148f68860ab5662e25e7fb08bff5d542c8d232b1d8dd7cb7bc9074bb0d7ebcab67eaab86c0b337dbc8bd584f37311cbb67bb678363bfd38f9ea8b5dde29f33efec8057c96df8b988779ec6168b88f3cc4d527ad78bf2f646736b2b24eab021fe48993630d9542c4a5d2c8e49232111261ab2b6b02c8a7c28e7dbf5c467110a5f1e8ffd32a5ad50970713812b4e4eb01b37b35b9a41ab07cce43e38f37f88744aa83d2584954c18eb0345fd80eba69d197c348f74a094d395ce09f9957562f1c0a4624a619a5ce6de76549fa979bb6b580151b99be467d45afeff55f2668c459bdf161cf95d5cf586c36a6dced0e820fa277258715c08b0380b71f238b55afc42e08d42d7c387c56afadbaaf40d23bae5059193f654cf73c7fc60c6dbb798d0c5402f4b2136469a4574a45bf62957f1d556e193b482f869f899653bfbe9757dad1e8e1011b33dab4a430d443afaef0118593d26057ec2fa8fe0a5089708edd409b29a96d4f196a2a5d027e69c94e540069ed56865464baec9c8967b9c16fa6d9e7a26aff5c5332b493285ce2d473c8141ad4bf1aee9a9904f1b970e1c22720829980bdffba75c484e322351943471ca0bb330274ccd9a842f991470041196972179eb2cfdb712037364eb5907368b38b29e46fe7be54ae5885e72bbec52498702ac9f55bd37a8ceae8189c772d50004dde72ba01eee77f92e448e1e7b9bc68dca5b38e8819cb20f00ff080e032834be03524d5192ddbdd0b6e57d60bad0c1a40486fe4e3dfe46afb66eb87ef1c47ae290b4c7544aa67ff688ee7e03844211a779c52098769d33432c737b5f2d25c11b7fd5305c8339660696407b5dceb36c7408071533d211dccaef86238fdb86813022f3e79c829c7290b7c22e2b4b3b5fc27e3c4a9b9ebb3782cdc908830ee00d323e54b171a697bf8680a43b752f8bbc8a1ebb8ce5de29635276719ae7900d8eb7c1a8e1dadf475bdc0882b0e8cc0981bcbbc085188d856ab203a7194af3f4ab77430c0a634d21d0a949382321f82eda2591cde4b49f85dc02520ca770da8de6a1bd601941b165395590fbc3518e0f21e78e6eeff4e79c25d04629311aecbda17cc2f14bfea4a33e09a5dec436d53dcc689de85d3bc1b48a235ee27c335e72c69cdb24c773f008db3ea1a87e88bfa9c0eb8839376f443fd7cdeb86b4b864c857dda7e182a19e5bf57b42cc076347a5b630ae7e97b9d3a50a71261678dc91cd8e565e32f110fd383afe3cc9fb5c52152b4b3d83bb9e572dc4d2f63246526c4b7cb3092032ffb29228c9ac66175f1118618b315a203f3a2106593161cd3789f3bbd5a7e2d9eb6c4c194a3914813a212e423e9d802db5cd0ce0463f086887133a7bc19210c42530f7d12448ff72282bc17bb5695e857c97a5de47335668c573a42bd161fb71ba157091e48b4245b4246cda54948a7676bc373694469fa077551cd11760717664cfba319f00e02028ecb82083a83c03bce7374ead113accf4740b17e51283eafb5283af45df6697d1c3d2821fb30424a3d29c9953ee56187cedf30efa63b7d2f7a26cb768901fe49fbb767ffd6cd569ebb42a83c28d2f555640413be2f625d0d9db89fcc8daa12c48b066d51689c763f450bc785c097c19f1ef5d576964b1062b1e21027b98728aafeb6aea7ed3344255dc114a0f275342010cd31ea745d1d4c02b079ca993190434d8ad3ebecd7fba94cd51167575b8d9fac1cce7fc1679d73433ee971be4e8ca3988e4565a67622d1eece259aa6c36186ec39b9d81003224599d395660b9ee8463ee7171e52bea182edcd163209d28eccfac5422c00fbd9375272b0b8cda6aab3702b43a1ee6798f9459163268895d7d11350a5869c971d565bbc306f8df12fe21912469d0f2c8694f37655949e0f13292461fb6b3331ef61fbb62b21ce73285c65847befecb2b67bf9f1c8d0169d74eeeb43c90400e4e3bf48bc3d8ff098630c7aa9bdd95ecd162da0661c0bd1cffdd951e6278743c69d162890008f9d8154f59ae1e7df57b13e6206347c9bd2b664354a247545c173e865922b68929e00ffec00306502d510ef8c107378cf46221e8832af1e106f2851913576d5131ee3c8e31dbe4dcc14f6ffe05ff9c40a3900eae2977592fe85380c402092a74d6b743a3c6d5c69eeca62c4615fc1573ff0b49a38b47b1f3e533cbf97b5c7a7c3ad78541d1269fe8f9e449e03e8050e73bb73ed84e21d6a5c1df67a04348e6f12c0739e3851844d61c655c74ca490842c02254c17b6c6f67bf2ad42ff9af6e7aaecaea619f95208d0f494e24540c72eb34bf61fd6b82c7247e7bbc50077fdb0ccedfe6a8174b5823c68a50c0fcac377aada059bf261cbd56c1b74311b87b135f34aada65cf2607dbbea106f90dc91789473eb8b40280408993b2f2ebe280190c804809cecd4c533cdc314b6e72c71863153acc32efae1cfa2a08d226811ea81a9bc323a9c2407da7c22c8275bdd98450a90216bc08b24f836572f17892fc08e114c08252bd6c1d73301eea5246fca03c3313e656751f414239fb12fef53ae14a116465d95f887011edcb00d71fc6334691d9db8dba907f8bca9009fe3d7bb18a8cff17491aa94097f1916a9777fc7d79adb8f5f5ef3030e4731fdc491e214207cb4231837388f26642aac3aec192d77e3fee4e07f38086c89b3c2fe0f8fbd044cdb7ea2d0f9df8f5f726ffb2ab11b242606a42750359bf705c7c637f22936c02ebc9aca2b46b2d2e822e3341a6fd8d7a326009f27422e5a0e5e3a45bfa84147896b475beb2aa4f4f0386b3f1b0f941aafc6b47d44255546864f0efb7b0c8419e8fe93b651a5ccb79f28c35307bfd419809da57d2d6eef8504f6f79a30fea25305a0e4199f3c7bf770a968162f9d46ca4efee6dadba993f5b58b037335518c91ca38459b805ab5fc5b6fb137750661753465dd02cdfb8ef1a3e4b2329c179c6caaacbccbfb447c6f791d6a4f3eab3bd1c6b2e63b218201b81ef461e087e6694f248a9a423c3b407a84e30e2d09bf92982c6c5fba220fbcbd1ffcdaf7bc33bbe05e6a81e92393b51676e5a5da381958ac728c9245d456d57c29e0f56ad2634ca6b1c07d7a563754c446631fad420abc76e97cb015bfc643bba138bae8e18e805affb2cddd73cc519b4184e624f383d4081c7a6acbfd2f7af59149b9b7841c1304348ec2408982b2ead31e3d2ee1ccccaeb7657ddf1f809e073c010e428903e14ce2b45332c61cedbfd8b35e8cbd938049af727ac9815dfe3546c93fee4e858519d8f6949588f8ea54a836298d085131ecc27a519559b4c91c6b0425fc0adf6497043c4bb61abae609f5db290fa6e9a660708a82636210c6852ffe6eb6e566bb065ac3d284f53b8ced4816861dc63949edc6ce9a772267cc5697e11d826e4b5d1c329e56e061413ebfffd768048b0448ccea13fb77bea6f000dffc82f48cd27b2df75dd436e00ae2f87a15ad8ab3cdb97264a8b541428b03f9b202d89f04c22d22b6e3d928253698f0668081a7d21e4310c0c6e6f4da0661489ef139d473e360d6c6e9bc5aab3a8ac3f409302dbdecf4239433908eff562e596bf26cf95f51027a52a41693bb2589a1fc0379189e1e4299374b23fa269992efc661bb4cce154ac82a0c055ec6cb3fd2943790934766c64ceca8cfa46b4f4f9c060dac7c95447c66e072da629d87ef1bc983cb618dbe79258e29cd96b1aea521de56dcb83cd8b4ebe9acb3413b5cb5433dc57ca62d244938ab3ec5b49f051a4138759a01a4eeb48b491e2cbef272ce2662bed67f80ff3eafb96551a2de9ba43aa1a8b363941241cb5705650d4dac5c13d6df1de705f0d2845751b6ebfa71d21ecc78387d0fde9e52123148d5c1c5dbdfc84dcb7edfa135a179216cdd14bfd6b290c2b6128ab704a376470fb5f8dc6f000618c4a5d5d15d8c7331678201197ab207088ac9d4d8e3179d611f9bf5e59ea31b99eb7e2cb8ce0dd62a8683f9d050b73ef2e8ea5009186203c6aec285cef94ab281b26d0f3cc84865fd83c5dab0834531159bdb2064c1541a86f2fb8c0f5510f93dfb265b90ac2294075e92487caa4fef97b146a4cc82541e9b83e48ee3465fdc204f0679e50fb02a66c15963956c686d14ad2c14d546a8cfbb71d178692d156195c4cf66273e688257c6d13faa64a26c8f397be600c38c0f2ea8dcafb675a4d0e94595fdad4d80981c94ca70bda11fcac1a0152b67d0b583dee78a5aa98d1004b401ca768438e9af0858191aa754cf68f6230e574d4482fb0fdd4d85a760bac1de2e079a8c66474d9f06e7b84dd351ead2ed3fb1cedd38450b5ef9e5c75a8063536ef5b45e72f0dc5babcecc353e3dba0d6dc86385e49047c89584e499e14f893352500e29b44c230fa6e09b2aafdcc17fa17ffc4d70269e9a6b277e3ab9bfeee7fa76fb368c926ea19d3d16c816635edbb952f928f8a70e203b93e27d851a026f272b1787a02953353cc026d3276bc1d71b373888f4c5c824b9288d57ddd51a18f51c75532ab61ded99b44828f79eec0727214928db822318ccd4439039c0d0289989acc9fd8b423c2147c4e2e1a02dfc0deee539761ec3789932f98757867a5b7f46d22916880b04d8f2de9e2476461d8b82d7097f3beab1aa66556c50aace6cbca8e5111f9e2b652c106a279fbf57c585ecbdae9a3cfe6647fcdca76babcfe38ecc3a11ae315959bfab8f214f74eedfb473759fecec491c71f9ce456689f37bffece6d266f20152eaa09d95730727dce7da7ba4792c55685eb447ad3fc39217f64c454634861a683fb541f0e7c20c1f3d90550fd5bd4e421b8498ec910bbff59c2b29f38378cca26ef53e21da831e53ddffdf90c3ab32da00598628b63dd8b182c9dd6af470175589e6e61024a7f73d35f1f6f36b8e00bf447c5f38186457792cc1ae3cf1ae09c8cb8ad66e9a0a33e3cb9151ac017ea90a4be8b82095a65f90651c1395707f993ff3de540e6f35c50b0b4e6914cc158276ab0589bdde66aba0d1050bacddf53dc947c301bf22d65dbdcf69d7964dd1d7f454b4e9dc0c81bf32eb106911850ceeb9b2dde3d75b001a59b19b516aac80aa0a1f666500fa1777ecacaf71f3975f9a5c6336eb05f644d473b7bd7ed56e107abd3daef2a0138e528601cf3587454b4aa347e00ee66e37205445f481c04a9e1e3aca9eba1a730f2205a970af360433f30a7cd2943c4269c0e8e8975e7787f34a9505effef2dd4cedf57abd8ceca1fd5a0afc965f60f7e4e021cbb011e453c231ef6ad83b63fe6a8f1db017a252d8a06345836bd42a55c48ec3e98ff06ff7f4f4664b00a73175bb5bdec4be5993c78537ee14c8b4053c3bc04aba6f1a381bf7ccbba88b5286f8333348f33f4f9001109f3aa6555309442f9d9e3904795ecd0417beb2c38ea4433776faa51e66580fc360fb102ea3eff28b9d8f934ec39be250f81fe98bad581daeaa74c51127833b1c0670f095720b23ed7ea7b030245af4c41b0d9441a99785c569041dfea9fb5275d3a5863e4a960a0295a07ebf7467502840b5b3f570db177ec21b12407eaaad95a2487b5c0a3348e79b02f9cb72602c283c711997f8ec107abe65d04f2076b50801cffe23f98ebd8892a5baf39248f8d84080a85bd8108cbf6ab86e2ecc284503312a822f45cdeb18540577996c30fda31a0b8ab31917a88182040058cc29e31c4d3e9551582d7325d9f9e259cb5b3fa6cd0536efc8b0394a9f6ab4375e0d65fa86aed84b1ec99a1a4a607220bba3db49d138f32f170b3a5a21d81087a325704c7cc19e634b30b11654a0a2843bcfcfeb8d056001c6b64028b8ac115eddb1bf9d17add542f7875d6eab765c155c8629720518cc66f7ef4cb1665331c51267e15c59ba648862748eaa0c1a3604bdcc2c415a21dd718a51ceb1ce6d2fa3db97fbca03009466455f22a578611cdaa85feb8aac57c1608a71151e0a891f9b4421133744b6e149728a0d2d338c1e3e68383ac68d079cbc088ed280d6a973897d963b1c16fd41adf43c803d8b2adae7c7357296e94d33adbec417f46ee782bfa3fe231e4624a17dcb20bfbbf3c1853a521d686788d3847d2e84ff3c52175d27ed50f0161aa2a51754b200a8bd70fa59503688df04cd8af3e92505c2e0c9292b338806628049e4ef251980c54872aa8f710e5e83661bab720dbbb5cc54dade2b8dc2dcba86c77fe48bf70413916bda19d894cba025f3e80f8ed40ee0c7eef74cb6035f088e0049029a5b4a550acca349e3b4b393664ca92136f3bb6263dd3f1d429a170fbc47f4aaf37102b4927be58d0b989490936b74342c1f38b9bb2b938397ed698cacda3eec29468b555a51d55918081100678d61290647b288599eff9ef88ab6de17769aa6394bb879080e70f478acf8b52fcfae1abd3cda2993903613e28ea8284179236de19a4cc814a61ba1eafd9cbd99be440774717a5ba76dfe430a0c5a25c0bc7e0842e12c502837d7260d2c5d2bb6317478fd91a6df8de934a12d433924408f5a053b37769ad5e6ac4a5bb45677ffc9d0489cd15b014d252769b4cf5a675bf3cabfa4ac8e5390759b5fe73b27420ab5e11a0918e30c6976752ee5d837fe4679ce1b79970fe1b251be8d7717d57d6a7de82fe52dcc45f3b5755bece13f222c9ccdcaee58ed288335e587e4bd1cebeb36db7a089313f3e2af1db20b7838444e3f23ed465503a241b00798fb6dfcbbebe4c798218bce2dea27c6aba93277ed76d4379bfb0d2412b81eec7b73f3c078879f664c91ddc7af1f71f05a2a2f6d5ca86be8c435d319d4f2d36ac41c7b8ae27e6e89e228c7df06fa7e63e8bb1cece980b186ad42d46765dfa492f4d3029eec22080a53841f5d86678b73ffda2423bfdd9eb7028f9877c4b8d7d65af187148695957fa49439ec9aeab3840eb5d89b37f8cdf9d8f4c2a1e4aab491d84f52e30a1210875fcf2c0e7be4066e84f673da9adf243cbd4387e7dd0ac5ce50c7d2ec9f08ba02343176faceb1b1bc6c3d8a6ce936899ad7c484e6c74dca62dca8602dfa5cf3ec67532afdcb28b0ef301a2f9efaae1bbfb6c4992f7d56c14b7c90153d305172284eb98802956939e457f659640367f9a2fb0a4448b8805d610cada32a24639dd480a3ee78d7e6bdbb6f1bb5deac38896dcc5374617efe0a87bbb20dda8d3b35a0f1d56bd0da59f1324ef6093ae184482cc155428c8887ec887c65b2511e15aaef7aa46b0c6e49ed26cc0fa1ab86a6f007ee1762332ecf13c8468c1b97ba9f7090dfcc640cdf1a0e87d993472bb8b2b10371cf04a463dde46fa27421e95733f8e2f77d695525635d57b2867e5e350f29f8c81cca42fc4a809ed1c0ca6603880d0c2c6132cbe6bb1b74006acc8f1f48354220c7d150decb5381b315860ae50ba4a748753fba474d7689aeb1d35d9821d874d7819f539e59829b722bdb7bf982ceb4e812141279694a83cfbc7ae40a5de3bc688becc2ed89312ac0fea36113a5c340a564f15c72b658d8bf2b9d9b3f821866cb62e9fbd80aa3ebf7b7bb098f34dda11b2f5c57ab3b9ac4cde915a2c6ebf47e19c433cbb3894e3dc1d9f5e1312618f2f9306b95a90de8f671fe0277c7e5d2a2bab049741358e91d272b575048955c672594f72ec3ae04adc4069fd44ed9e30600322d60508252cd4a2030c949a5535e61edf96d2204880fb7407ce7feb7b2a4cfd10509fc4782515c7e92d451441eab44afb7124e6005b3a710c912eb584bc956d2cbdc2b8618984b12f55f344802c978cfa9fa986147fc34701db66c1ff2dbd030ae83d5c4d1093d88f80921961ea18c5370419910ee29b3d13a3147c917889ac2adadf93bb0176244a58d6889cc5eca99e77a2e0b2fd3d1f31e0b86d082507cc0026abd657111cf9f1b5854e9ff456b5caa2e0d6f21bc84b974921b48dcbccd532edecdf5edea485adf7daf8bf23b8c8febbc5f4e49f58de7ae8b5f743334f6c82d0d37a18758fc21598f417edc64e1efe74baf1dd6bc5afe908e043c88a93ceb6f073c1825ce4a4eab866cce9b008921e49b268a0c17f01eaa0c69c6ebefd2186adf1d6cf448f1f465dc88e6deb4c82d21107449cd1d7b45fdbe97e12f65b14a813e676a9fd30b0c05e01f62bd9957bd0f639962e3a5ccf6913a963fe330324cf3c8b4a8ce5b2ab0580439d83930dfe3c32925e10d41769b3d65723e64b2721152e4abc841e5e6fcab7c1e861bbed154e3d92b65f37da7f5299eb847619641ccb8f8c2e3be22382c3aa049362430b419335a3cb4557201df24b7f7b9dcebde01f77049fe0b234c19a75d8ec3f9874426057c26de493a8c7e70e2296b3241f1b6ce8be6d624bf18ae3eddf45f131fba94d88e2b1eac49307c6972b097022cc3e7b1403d7386487b021a09aec0c51713971007f650b1d7c956b882b34e0ea9cbfb959a7c98d567022efb02a425e247c7bf833adea87c669544c14435f72ef8753f6fb174ef6e70221312de90799f194d4cccc5929fccabea7f4e643e5d50b2f944f4c124ff78b1787c88a9dc376bbfb51385ff791cd38ae87cea03926604a87eb33793df7f72a357d538607af23ca26d84a2a8f1a333173a3e3cf771ca21093340164081a2f75a1a0c93e851954da9f66aea83909bd847f20216835bfd6d308b8f52ec20d72880da538f73324a7b921a31d67c9c603564208d57f0a6fa121222ec01c969e3e684fdf25a5684000473e14a9f3974c92cab6df6e55243ccbf917b660010e65c6caafbda1fad5b598259abc030ad929284adde1858237f671db95ebb6b29b7dc25d1e506f9bfc14bac1b0ae47a45e29ea79e6f49a3d07ea9e9530c2bc3e2830931fd4365bcc68eef72c41a319b7dc56a9419d982360ba126d16e0f965450bed365dd79ab3d70bc72caf6ad086715e60ddd55704150bd9292b05f9810c6ca8663ab7664d560f75745194e3ea2513f7cb509eef0026c1fc408776e77a6c438c82f9410f545d62257569829b58218b8e49cd65a48608769dbe7f66866bf0507d341a7724fda37f6f2e250982a3278dd9ea4e7292a3e4d84bf01e13dd6593a32b71ca94d24809c9002c9f8344018626bda8ceae6b3683afcc2045ad7d1c3fb4d08e37872a5ae03b0528a7c56daf3c2130482109373a2e27e2319a12b53abf7ce23c5c87053d05889f2f3a65729bfc5b0f20fa0f51d7e0a34529ddd88245c08bf5f6201d368a8ed1486ab1e9984e89a383e80d051fbb85ad7a84c5b2cab7bc0155f210e8f7d4d24800e8fb6e90e2b729c2f9237701fff19f9d33f61b44e828546e47cdeea297e9b7826e968dadf69bd42f45c199aa924fb77f2ea1f03c3fcc2456591682e54bee580a82ea598f46616d0a42e35f7b8af02a5162946b3b2f96515a43961c95756bd7c5f45ccad8bbc81c841ed77741b58c762bf08364017f890a41e509fa31709270cc5078b465047a3ba145fc85ddcdb9837adbd48d5c8a5b7e0741e4ce187edac0df8632d0ea14ad0247cb3820d11e65baa126882718837bf71c70a24635e64c200e32cfb117c5308623d46288bc2dfb9fa96b796a147f6b152837fad5ebb2ca737ac432baa35277cbadb8d7a8e2dbf6a592a7c7134f649f6f176b8c5dd248c4890031f0677f9eeb368c745932a235313a38c9472ef0643739495cdfd72b8c21514bdffa6002c38b7c1f151bd85e1616814f882a697bf9670851fcf787b9318a2b4bc04f7b06f68dbb3d133671f8eb5fe296d085f0435fa131902a0d47674cf31d7aa9362b8ca0eca310cdbf285994b0784f47d0ec9cbfaa9d8518b45547a78a253ebc3151566217608a2f09be085ba465008e4ead37776d6725383026ba574e0f2d0e3e47cfc355ae3e88380cae56cd6555971a5ec2d5725c277d9d8333d3b1acdbcaa6ccc68075cf7e57e87240d0593d4c500a27357e5aa80f3b09ef8abb0dedb74cd1494e427de7f9895603cbdc6bf00204403a336a7a33421978e1708e4017ec76b5b2823b20e39bf80ac10dd2afed1e13c1c28e1bef93d3c50ef510c56b47e5a3e9f3cf3eec36f5d3b25a9b6995892d94690c164991320db28a66a88d73f3ff73cf6f181eacea6a8285628966dc065d0697bc9dcf9b51aaad856c57b66a61fac6f2b78ecde6caba40cb8e15902f75795dc82b9a2e1127bd95e6ab99b68db7e54b5b51c35503d4dad7100dfd6217e08330189fe06b6fd35d699845ca8c3e245f4a9d88f6fbe999e168973141488b34b513b4036c9a0708f13ef9e3553e9aadc45df4b1d30428cad1efc9365d68af02c415a9c157b89e7ada805c5b049aa3e848d915c480625863d9462d564b59a5bee5729e5936422380ac4e93a3302ad1fcbfc44066b5a8feaa249ab8d64eedac05c82db426aa7ffe7885a1174ba0aec57af0e9e2cbb9512ba3169891732dc2672edd789eaf0fd690805c8d833b0a5de62785c08b7cb4e7dfaca24daa04e39e4b5cd5cbd58d2fe1d6172b79366b0607ed8ddb12e262b546392d13f54778ad21fdcd338f93201d1d461975c2fab7ddaa52acd45b1881b781c5e5356a3f23143eaf4fd8c4c4caf7d9a7a55cc6469a7dadcfa03d0a1279aa78cde5a85df62fed9b2554daa41b7ab37509874795dea8d76d6c736ec68a1235ae632235ef3ae717ff94b4372eb1d19768dbdc3b615824c5d5023b243d11d5e3f26df325ebf593fbd5d8b7d4244a08419012865067789bcf93d38bfee77ba440fb06718e76cf7167e9d5491c4966f86c298182029ad0e84acd7b44970209496c5e7217b9c48e0ffa343340f9c73b0e03e086f43ee2fef20d9922e83caff13435a3fa7e0269588effc85556433964171fdf72995c23ce9707c5cc1a297410cbdf68da111a7fd29800189e491797cdd43af6583d97cae1190b330341f7ab95af8e187da8222e2faac3204c8dd8da9eb6a756d9e8d82226301fbd2fad009245c54e259bd66c3ba64479b48b7acf5c3c2dea7ee5c18edb05a85d61a774ec045c088dd2a552dbd86dc6b4722621ceb7ef44bdac9fc3c6b4531f433d06c89c695da747e5563ce3513f9d825f0db7e78359ab2413650f5f76afc6b454c9b207fba293723734eaec2df36041992e9d730c2f923b5044bcab1afa7c0624d16132b3bce5b09ece6204e19c2d6b7cea1494adca53d36fbe4fe40c56525edc169172f9fc42306077d6e211e3e19809a5fcf192e64820474d800d4e5aafac8038f8783719c6e3ccdfcc28c56b91ed921d8fd70c4216f81fa044e9877128ba9a301554996315d4fbc912e6e94191e4b287d9517b704c73c3c4996bdb163cb9e3d512f4502fe820101bcbf0c9bfae1c7725b1b8ccf7c2c15dbfb82285ac1fce009694dd614c482fc24862313a443482c4db6a48f3a010d18022e75ca307d9f79b0331066e40d990491f840131e009ce4340d30dbc19e2cc61031296b2e00e3d9e31d9f2d77991d30beba0fbd7165bf0771e4539f7126f11ba8b357fb89d1f4dc4f60491bd7441feaff6a2166bcbb4768fe1a32680a053f3bb8a4ed4a0d1ba99aff83fd8169e4167e98d235221df09f805977a1ab2f3610dd6f78b9aecb6d188534b4c6d61731dc18e08510e00726fa2f582d1da96fd556b5759bce7d0c99ca98c4a04e3910028026b021b2bb1b2e8eb9cea35c7ce2e409ac889fb3a1d4b4ff2796968b223e3a4e7c3da22fbb81d5d8af294ca68d1ed1685362bd476676534b01f4e35e355fdaef056729f2ed150f1b24137d244e9b01dec84e1318c673dd01fbed518e6c45d11866855ee01bdd8c48af7d1b066f33d97ba2424d6e211d814f47212320102eee311c025764c830682fdffb66321eb24e25d43ea8c28876063d94815e67554ddebd75cdcdd64038c883d5e0c1e4af8f5070c4160674536a9bcbb83eb0ba1acd8a1919b439161bbf73490f6701479b2377703e59aca7519ebcff5921394c5bec50453a4bb233d9089ab279b9f836f0f06d53f93cd564ace24a8644a7d4313044ab1069d18233922d1e97697781e219cb0bced2cd8d62a2901e1a483f9b48cbb2edd74ba2a18be2d492c928f0a521d37e1f25cc6f5401f1a97623707f038e9bba205d4328e8a478dd8e937d0452812d6213679c413ae9a2f849fc3fb3e1b39ea4726e4d3880f962ea88431273cced069b82e1aa4e98a579d4bc7d21747c5601a1f2cfbc652fd0be0dee1b4c8bd19237465e48850aaf1df99e0426781b7f7523a7f5e56666d545fec6b1ebea9335acf4c740d4a15d2abddb1b49ed4e9f47cafdaa40084503c0b08ec705ca99023f554984367b01a82eb4801035f702aab395eebf929b2da2c3074d766b2d475d29d1fd81f7ab7f6f3c4e12a9f97e328c39efe61b3c3c4c7999d84274d296266e36eb3aaec0f80bb32cddbdc616ec7eb6d3ba3f2d14b8963c5f2d70b78a9443734c46125ddd9d575862600285aa30891fc1fc301333a8639c5fc7eda428d526aa895614d2659f09fc7aa788106387bfaeb09a7374357e88ef367e20c7820650f09e90be0b12ee8f0c3278fd0f5c866e4e9bb1b0335fb8f9b4b69fbdc7afbdfe8d9effc3dfce5ebb0dab48496da01211fcef2aa211b03aacb55ffb19c9ef063bb631fdd385185dd2ad4d43c49b438b435c4c675809b4d97f9dee587fff05692abc73a035348f54323f207377e035e0415ed7b6340e28520a914a39406e40483f3482475ff98c195ca0404f84ad4066048a3e60b0e2a4179faed1bf0445dc8f386a78e90c537012d13236dfb192cca587868298009d907baf6d86ec93ac01566ddfa7aee90c0fa3aa7807a010cc85a38c929126c6e5021eb2f32971ce2cb93bdebe3f65a6e3da30b68c49fae13dd136c298f19fa03d8ad301cfaaafdb27458c85b2970672477b53aa9562e5b1cd28f2cc3cb0d48bcd0594f1aaca9ab9e11646c53991c9db171f0c3ef2f6923a8aed912cc3185e13da96beb79565a75f15497319822b88e44d7bfe9260e1b8bc3c2f39cf0ddc1d9c62501432d022a9279305b05f04f8928efa7573ee9a4154b6a5220512dc7a2191041cc1764df1eb4c0400bafb25724c774cbbe40fbe517e080ee477f2d7b120ad65680cdf437fd05564750cafa8f3b37d3a8918f4cf29fe0b2ca44a12fe956f2a40fb0b829e2e93476a3465bc6942ad2cb0e55b6703b5f67b4dd535f035e757f8be01e35a6fe271901dffb5f8294c9188855375cd55a906c0cc6f25d0c66bc8ecdb77a6cd0fc9336480bd0cda03442b17964d8568b9505600e78f2f2f58a235e404c90c7d9ecf786a9bd82aca178dc0efc5b21d1c2a4548a6eb47f8866d7ccc38538e21c8ca80553b6fa511a9660f412ff4352621c032672b48bbe53fb1e2fd1c538667994780cbc15bc04d29633b05360f86e153af95dd3958637826912e9ae05ae659dd858faa927bcf8f5e782116f601316b91e1a149af111f23f149562f66f4545cdb86050904c43b732e19c85d10d82a2359164dca988462068133ee9a93c83cc8d6bd145add77d335dc8cbc1f198a0f8dd37c489a6b83a64be5d9efd13dc756272e28d34fb06e2ee84d48984d5a25fe5793153fb5476d97a4e3788dc6eea7e33a7e9541485d2370cf27a8455c6f92ed3ab4c090fd166ed7c861d59382cba77d343cb8bb23912e3a01a7e6d5c8b6e696230d548d515a3177980820eedbbce27ec0e24add542f8f223c3042bb30a17c6b43acadfea6faf62de338b42935e860347889fc642c9fb5ca1b48fb134dfa8a107c15a4c3aa172946c9f5bf235931e69552223cb6011190d87ba33ac322b1f97d477ea9d6a43a9941c198e4ad2d3d57cf94d0d7f08342c68d9aee22df23e382eb0da99ba3b29a884f656a63c612d1cd75eb8f5285925ef27b74ef4ce3ba3d2e36c4d099e6b6667f6b09318be2424095d5c16a0355296613314652faf2915c15c482bb15634d6c0c6443d4c3523c2c9d377dd4b2c9cea5a353daf221fc3c0563e3d151f2ad6dcc855883278e88bccd49301aebb419ac43145d7d0f34b628bd0194b236813188cd62b65df5eb6e7435728329c28f1a8a5e7941699949057978fea588b497904a97a890c2e990dced24906328b4c2e62b12e74a82e0c7efa66666201d8fdc0e8bae9a0b72f8c9bb59b4d74a7fe551885644ca45e3c2a789ebe0fd67253e72a71c70f3568a78d3046e8caf578da398b262843bd2024eff76bc39c25a0432fe44f78d1c942a1138447e86a263f054fbb665daac13151920e1a86756b864ac26c18a2d373fc64ffd4a1ccde6490b944d659335a93aa19789c47080f713eaa780be95303ebab52eeb2302c1d4b2f90493ad74648d3cd9dd5c693fb1399772736e100671658b8a5f037d8f0a75e9e1bccbb3792702ad08891c5cf8640b7735a46965614870b52992dfff08c14df166fb41a8d66a2b2dfb49d74706bad6e37766a9a34e4982951cffc47a9b205ad3732293390d4ef5e9de01f852b40d9c1927207a24625a335483013baa5ab6e1c6d7e02d58f8084380d68cf0eaa2c56eb3415e941739cca4507a9b4e151b1163ed5d96a3f83789d12bef0df7f5205efc1b3ca024c3c581bba8573eb7a8ae0d284c453f246dd3af6a7ee1cc79c445fed1019facfc4c78750ec23a0ff42578a9bfba518e537dff871b92ea315893209add87f2377d9ec330181fe2e6664d6aca182f506d1fc900a7ab167e5229a73efce63fb2ee29c6f6246a96484bc03a5f7c2318c2c2334d1d330c21cd5c5aaa9821b79f3d2c981cfe1fbbaf33d69a9deae3ae38dad88eb72b505b3fc8dbfbfb25b55a056ca0fe10128c153a3979367da76f041d71e8f107f41dfaea1912958516c2eff5934654c3b1a792e0825aaaed72807d280edde487677dd4e68a85527af4f7cd2b40ce3ad223b2c0330b96f53b6dfdf55873f37a3e5ec74c10cc5ee508fa9414dbfbe292d36a33b03ff24075e8cc5820102627f261388e480b709f0d52accc3fe6b8d8420a66adc29b6753b5804207768d907890ae2af2b66c12d483438568c1b454cd42b0d162f0f95a8405ec5e8810104182441bc95832862fd0c9b92525e1a873232f69e1e7b28c6080dc539e065fe60570c673fe42aa770588e98e58974e36f162ff8092b7a300a29083a3c8aa4d3d13e2102abcbee0fef2e014ae8951ff41f71391709b2b2dd2f7b1f7cb6e1672b86bea196dc9754f1fe857aac84c4264a326ad3d99a59e071ef016688ce28a424e82ddbaf931ff3c095ccac72a26b0240210de8404918344f2bfcc28685fd8d73f19e3e79008a3b8fcd8ca2b034b5a015d627760946a21b3cc0d161e56e8f70e581bc9831b3dfe9399939940f054ed0ed2f280cea002d8283f14b599aa7e44f48ff36e602a2a6502c74a33beecd84ed5f77ebccf785a701b6892a3ce32c9387e23ae24a4b5d8f121e6a20651d48f0e05c0caf19828ec79dc0a75173b8dade750e2661937e8c9b5e54f4441867221a1ed1e94ad1ecf776596984f32bc5ea5ebbf3a7627fa92ce9763dd1e8068e5f985859644146194bcf6a56e4b5df0b4731ec8acd7b660b6efcdf17073a6afde2e1da5250cd0b75c5e1e3ddd2cfba809a2c94c8a6801104c983f137d83394eae05773eee3a308c6dcc9516a9792b977d5d1f6a450a51f5094f6fbae3cecb883fec12ecb181f0a3640d77df323849527328605ed7c4452ca6604417c64add80c33a7dfc7e0f41f78190ec5e2b2cbe7ab10750f1d07726dcd52d1d4887812174d0816f6620e3a70cfe0d0205f815c7ea2df61f3d0304d8a5fa894962a38c6d62b29131bc7ab5c11cfe6546364597ad4245a53f7de236de7240966b96b74990c4ccf8fc74544cba853eaea147677108ab8793809578b24e57cfe33d4f89350fc6e6d42e4eb25341d2ff56b016fbcfea190f6d9b3aabbdf75edec5f6c693731eced3d8c417ce0e5d0d4455cfeefc7b894f0f5d6f01794293db37178126cb1cc7b5741957bea57fa59011db3a862245d9643ac30944936da725b7f8bc6841c248a3fbf601db843c759f6c1b6372cf7244b93888e7b6d76d17e348f7b0bdbf0172446d6dd129ea7948735a94924fd8142b90427287996c5dbf537136124c1d23f5443406447bd0ecd752febd339e6d227e0101ee8972e24b2e6add8ce0d449bcbe7a4dd6e0531906b74f0168350618036b04a82d86cb224799d9d2cf6c0567ba51bd46179e362b505d8830735169a9591f3141724a6ddbd6b6bd74267ba2e8d84d60a60c1e7b83bb79fa2ce0c13659248d2a1ab5a47d6af33602e5dcdaf580401504c6b82ef9c674b50b95a2e5d702b56f1a4cabe01d8e4aa8ac6e1a8d2cb6d7f172bf6f027a41059a1146b0a2e85390aa1bf7b06f3ee1b82fd923c824a3021d97516e8b6ce70cfad3d2a0be5d019db8e3c7309caf302f1d2e95d4c9f108a88b648bd55cd1acc21e3382e676b40e89b8ce675dfba16ffb0641c04d160d98269e8255918166990fbe2510cd24d132ac30748b958acadfc4ddc662d88ae2b25189b003177c4a4bef44c9e6bbbb03bb3fdd0ed5624249aeb038a91a180ba77f2a168799430d1887f4a86a9ccf3a0d58129b45576b305878532e6dff882d0a2ac043eb5ee0940449d25ce36e9bfa5425d1a1fe95c0229c65f14cd5e2e8ce04526b9d8cdf354c497499394d53863cb12d885e5a716a4ab2eb5e0d81cd5544145b16417761ea7802c2710b4ee0fecb3331d8d50613330780aa5beda87b6fa09979157b4de1deec884726f08a45eadf1768694a4a239b65929439abcb1e08fbe6e90e41b9a19d90c15b5a42c2d76a1d36a330680e2afae4cc37f25863474c3d20836b143b6856fca50567f1d9b3def29220cb78691344b2ec72ac46e7b08555bda17fac56c09ed7e4400513b2682a044f46fa6ac478723c5b02a2c13d5b13d5182a188e65ab2ec0662247fdc22317dad9c2ab1edee03db34d549be4d6739ce296d94fcc5cc7a409d9d0bef4fef98a83d9e4d2a073e07fa30c5fb732d411b07ae565c3f9399fa3c90659cf2e2b1ddf191fe6076d1ce42a6b73a39ef50779996de35933fef862133da1c57ee19b376e160ddf3210082dab76aa4b02dddea2144a1cc14d7557662cb6707fc3a859a07db397d122580ebe064e37f2fa3904dece587c53c8b8410a68fee06c578cbf1aeb7461ffedbab009fc93370bff7e5c3163f5e3420d41b44cc1a2c59d130a61645d363ee81afb16735a6cc3042027f27263930cd2a95233ff12789be59d31a1e4c46c80c65b93ee6522454d5ab381be1ef5892b51fdbf30822e632bd5562bea952f85cb07922395e991ca8b3d667ae22ac3f4c378142e3a89ae71f1966d1f4347eb5fb27ceaf176942c3aae36afe8c91836a73d3f0db1beac6d9c773b0b842ed0cf151b972ee4da3d552d802f2c2e2d604e5bb7d17382e7f9947ddfde9ad7cf4e0285c28830f2de0ab3bff9008166e8fdedcbcab205ddb9581353ea2d04acb83c3a800102ed03cb42060c82cab474820470a9241dbce4842a37933fa3f1b40507f12ae8ff50df33955bb821bb8f5574af943736960babcdee72416d0bcdde919c51f1815bdc7a77ece0e1bb0a4a9e8010fc1deca1f2fba2ba3efb9f531f3d6bd4fee83182c0662668ec0b8d151a943fd24ed9d5ae3fe47fe203e2936079be41d0aa1365002e465fc78e134e13d0730ae81e86e3041220f67ca6da64b9d5c9ccf1a4405d721486117d2f7a120315fba7e7f1d6db1a4adbd9f389582a95fbc3886d186a7e068ecad356b04c34e57aa92f0cb1b2f2eaee963f74d192e1a95dfaec62fc593feb1a003bc085fd87dbaaf561adab376747feb655a07f86669636497212953d66a831f6c95a7be739d2ac10a90e4941c08e99a388f78204d1b0d58ba1647fa91427420e2d14b884a56f704f46647f9d030bfe9b67f222ff939f1b5fade7544245786458b7ece59c082f7dcbff562588ac095c093eb048e19b06203730f2d3be69f0d63ee660de283c27415b253983a11004454c3cb32051a2d9a9523d2cf7c768ae8d59c11305ca08ad7d1bcca3d2bb8bb458aecbfddb058ca58ab6dd194a71099f1f879ab25fd6c818801d51f7246f34b198b41a99f6339c87c33c6c41bf433a9faae59e2ed54cf2fccb6b41b30c4251fd0956bc96895ea917ad06b663661aa8424160c74aba84386818b752f54bc95626487452a2d0c8109f0451df9db96437a8d6f01d51e3b08fb975d8572ed5049374c21ca4903854fc3763ae5226f70251079fa146998161fb1a31b9b7c69037347a2bef4e047db27bc61b6613a8da4f88bc11b2bc9b943fb3c02a918e979de18f669df7b76700aa9400458747de4d8e0d9cfc743e32f28226dcfafbdb2df5a296d1c7d32a246bc96c9212c3d68daa01ffbfa1fbd923e3fe4d477e08b62adcb9446ebb6f199d2c22be960b7537e8e6892f1aa2ee7fad3b6ec2212733f26b8d7c973133953678337781da8cc53864c1e91244a8604429ff1e10da4a2d23aa8b4e53a318ceda55d68b579aed4aeab612893c155c2043519e845f1dc643557a018462f791d5967b5fbb172a2a71a372535d29f08867503ff171ef8e06c59e6fe5a6ac0902bffd7847207f26bd7fd2d790445680feed81403b10858e41576efc351993d7f4e129883afef0fb1076c7ac92bb452fa366e7f04f38818c4b3f687f5ffb46ae6f4a5e296a27a8dce747d0e6309d0514201183114abb99444a96e320f931fd1f80a20a60e58c3e43fbf16e6f8f50daded05397277debad4350157bb9cbc73b546e024b94f8ce38e01ee649e9e69c5f8f0a4db2dd2ff3cf2e96dc2e9b4e45f7563524584d1fd6b3e18d398f75cf5a97e158b929412a7267ad61e3d22073e41f4fdb403a4f185f3263e8189b870a1da404f45300e3bf56dc932632eaedd5cae18b7215f25cb233babc4f42d8423ecc1b34094ef17b1224eb83bc6a330b11eeb2ae26a3e37201f9c6f16b794a6f16d8b2efd3c0975496f95a7e1bec6ce73a97b6144e9bd305c8e4a9e861a00ba840dd1ef2c5c3373c9dc4c773614be6f084cae96fc88e465394c6cb3b4c62ff4a1a3f80f4dde02e0cc34836c72d6c5c311738266359c59581bf91c56bac9f78d5bc86cd8d336f071a24ea2cc9559089aee9e936d94692796c2796d0d199d1d38ef0e4988158a19c806b9eccfb090d3239d337d93e2c6d6ea0055fb97cce57cfc9ca210016133b8f54d66561e77d67a29af92fb76399506f40c54038ab9679f64d124ef98fa753560f4e0e856c5ba021b29c2f50bb5bcb93673a017f4de9d12c6a6eb2c39c4c0e11ad7c24e323da31611dd06046dc2fb71334e96433d4bf5eb010b7e0397f11e6f5582c3385a2dc7f9c2758ad88d3fbde8b40ffa9dfc141b2c9ac652a2535550dddb16dc3fd802831a597ae66e384c550b848cb54c1b772591e69cdb8a028b812a23c6ad2e3355b8d668b963b2e583dd413c687621f75c50a79905fb82908f03314fad00a7d75ab48aae1db13fa85ea22d8d6674169bed2e85021432e3d33ce99f4e78cda4a4057b3f8c0646e3e763fcba4674744272b0dd74129f6e2c6dfc39d893402b99cf94c6d436a169cac8c95e4e850c35691cf9682f0e7b8068d8f762715b29308e78af3d906d0293f570d171b51babb12dcf89b5cf2c7ec306a5feb0709ba9c34b851c52414af973a826cf862ae924f6a6868ccc8672ea834c201e7ceff36f712c2fb2f7b19d558c9ac57942b92632f3c7cac19d784bdab4ba49a3cbb56cf1abee575f653bc12b922c83f7a424ae0df567dad591b4041ee51224752eb63517bbe799be4c6d9c4febf3398207d1b78b8b6460f01a364d22a22263c9c3599e8269fdda9501a3ae7c1c8298bb5e51de0d1cccc82647eadb0302611393ed11b41ff79feba91a286982900779d35b9335c0582dfb3cd0de1918ba3ca9fdf8c52deee9e80dc243ead5c6fb83b2ac368393d2c1d5c76be1be387a51ad4b11f955aa1fe800510970b5619c9ce39519c1e119e46addd11515c61d1ad21a4fe07d7566688e8cba8cd6e216e2096bb0718ac58e5231d9c6ae024fc84e7a5a712b1db6692f1e7588efa21bdb71a4290c976a207c171a83ac6a80061a585f315382295e0da0d0e29b29ee8430c81ab2cb18c2730b29100e584405966f950f9d881f5f62d22912e7eb4eaf54b14a8faad242baab22ac6beddc88c9ad7ee3c33f4576e6f04c195e67cc2a88e2a67e3ad2e62ea3c9d9e23dd9d901ee38c0ed93f74906effda4274e7c9958d18dd2f112fb1b64004c818259b6e55103df793d48efc46ee57bd178070880bf6e6f2c52d332258a36a19a18fc908b8e811549721d6184ad85384263aac91dccf816b0495db5b7e85fb013be70e642817d8a683d7bf4b47cffdf701a580467780d78ba4e1f9ba343033d347d06eb27d4d0dc4bd4a2726c35b19eac512b963290df43da30fa04bf097075335039533c8f72ae06490d0b46b22f155b4049e344f2e31c36df45488a702ee557a5d6e4bf242939bd809cfa7f75788917654302ba2c2a4287682be37408d23914a01d651d2d2fe6728b50a3aad68a60f526238a415ca644e5367d59b625e3cb5f04feffda0e2afa87762def121e9eb57e3ff1e975bea0c402eae7061d91258a9a2035bcb825416079f4ceff688ea2724c523076822ea98afe8fba260654dd33b7f8a18fe89dfc929a548f804a94f5fccbeafb20ca527aa0321248b2a2c811b6cae8acd7507c2ef854197b242eb9cf5ad6a9f79d8e4204fa88729c92efd7b78209fa0c951a4c7d821dbc3b556d77186362df293cc0cfa4e3931a7ef55e40be91b8a1afd11416336d968d2ae4b160abede25c23f4bc342437703805e1baabfee4a7ed4a08f98d3ba782ebea10a044dc4a2c1a1924024c8bfb4f1820f9ebc39ccf4f2fda918db5d93f0f9e1a37cec7c19e041042502fec6b043771558a6749df1b8344b797ea0659f71be97e68d399640924c6974fa52a27335e32573260a96fad93a5be6e132e4a1160252f5277f89e12a6214c89a74c7d99b01d954d78f7875669d8313b8d3b1ee76ba344f69836520361949651307732f076b4ae368df5957f4fd2db23be1dde3c0fd54eff675b30e783e825123c09e4ece19ba5c59e6625115cbcdff43192d861187cabbf3802ddee2d42cb32ddea5472499f5e75240fd7511f1e08da30c1ff2d4347689bc527de64f4ccd4164227c9f07439cc545ff516729b67049e99a243229d502d6eef232d4b51dd9636080b611af592e4e584746e1e3e74decb4c21ca460afba472a774d8ca61072f1f9954d880a7d2f850fd1f799c10b7e1131d17788324b2d01538449c24968b82b29ab65c446d43ef5c5bc5ae84d30ee9d02ad8f646de052e55b589ac5a0e609c3b7d85c98df07784d362c3b34888bd4cdd89e170ce0d9170ffda951e3896aaa4b5179f4734b94b3d64be7c2066a2599978ac4bc69717f6d15984b39027c53151e361d090d4fd3b5befdd53533a0eb8665e46944886d3d694be8607c26ef76b653de886e66ce6a55bea09918417a6cf5e6383708f51c4da6ef498e95737355f86be738f0519be008023fb8bb19f86a5ef67f2020d6721724a6c04a4d21b2dc2d69b02d14555e9bbceecaf95348e2fd0b6b460403e6043d8a127c46717d648593761fe1924f8e948fa323cae0b2561513b129cc55367b948a67d913b867696542d0d6b1e4fb3a3c204c1a9dad0421278c8655c20694e378c04a96789b169e95a47b2649ef638594b5a882d099ae9ade69fda1fa528c6b6d7de383eeb4c76f6b52e103bea50d4bac89b2a4f79415160d396b37ebc240da32aba3780b90818c20732c017ac69683a3da32abeb81008b7b0077a79b57ea277e5626b49ea66f59f6a68675f515dc47d2f92749bfabde201e8f054f6ddbbe545b6f26a7b254dba81d7ec67b8ef5457b8045e087766d50ab2df3391f158646757e9c33b31a939801dc7912a971ba1467a4b195033977f37f68c578d5007c4b7804cf14a6c2d8ed33095e2b3a1b42d5372db5892551804d71dbe9dc0f3a0f3834769d5c1817a6d18c046646085e189e2471ac112ebddb5592fd54d6338c9e1e1cfee3a47bada2f22e8e688bd9f557c5cd02005167f84b3f9951b078611956390a79a5128ceec042032a70765ea0cbe7f371858d70b1a83b7215d69f9a628bcfd8613d84dcb94cbecf576af8e09fd95faa0267aa7fe4cc180bc5d5650eb9e79867b06c4048c696a17595099d2b4511944335568a1b1cb484d92a9275de1bb7548ff0456781583816cdfc47bdd5e075a261e99d081c17c7be28130b891adc3a7a6728ba9777348f6df465fe580670189e6f023c2c36ae0c005ac39569bf9a627d4e8f325351204429367a535b535498fef8ebf876ec1e6ccd2b1f0979567b9b8aa6b4c1b9a2b147f4cb971fdb7f81319198b6cc21c8e0435954c138e618a832e0e132d8bf1e921c5dbbe734dd72f723b8c5e3b67ccae554d1fd635b03023b1278bbdb2c1bae59b53d10313d17d098155a342d5a4dda5784880758aecae698c1a911900e033fad23af45f91e4eb8f1e819ee3823be72928665051897d40eaadede39c7124ccfd7ef0b9bdfe302b31ce2d347db2d1ed8f971a7dee9585966396380c5b0608e3fdd5ad156d5fcf1ab4feb7508c3a9ae55d4e28b2cf7e8a2d3b27ad7277aa0be496060fd7806a59db34ede33f7e357d2b9e098950c7cfacae475e152f297fd5aaa0715307955f2e9efddd5aa072400f907b4160e29503549281d48e0ea86c69a583e41bd5b6bed885103af96a234fc5aa265864ea69ee95e38081cf0934f2cfd000e40c45990a875b3157745fe5392b29540023d24c0c357472b85b03c49e264982b50a91e2c4b0078360ef06cb126ecaa76bdff930bf7c19124f03346d3b27399c993b41534d88df4019adc013a3d5e12eb058a7e6899de679890e3c34d8bd0843f8d0fe61ded4ac537806afc0ef9eb7a1361070a3698b62fcc0b67cf650e5b204ca6088045d5a6befdfa77a5d4a8d7c1a6f074a06881cb12619f12f02268120e781284272874378819a2bb931aeaa838627636fe01abb955e4e33d2c531e209f2541fcfe3cce3b2c4b12b6c278213371a582a7d57b315dc4231a2962c981e0e82c0c9bedf05886ccda430aac06915b1a8d1a5643762abfcc986b103d8477de4d32c180fdc0464b549b3068921340a9fe8162a397e12d44ba0dc297bdab570f4031c0b7807f07b759f89b5d8447a54308a0b8f35c57722e8e174e3cd15e211fec8b8421d495e7b650266f4ab70ad6926d288fc0819b124d43413a441970bd5efaf1eed6796313f231c0197a0e39d9b7d446e069460d558e8e2d14029c30ae743c0be5912443200c2b5c14c5d7fe1893cba300a5724abe19a90c8b71b7af82135e3000805e83a431fd1c8319a45d4021197d959ef600fe2edf9cebcc5146e8b5614e9371850ecfcbd002f9e7c4db3d73148ee57b6195113b08c239cbd81cd452cdd394a60e33c9034b656f204cf44ebd8b7ec0cf8eb97d472e641ac04df3aa2927571845e88a0a7ffee377c6dd99ff094e2043c0e11b8a68b2bc04b7d162654309de6d9b8f9a44b94229f038f3ac0cef1c133de3fb9530b70fa724a2e85a593de6c4151a651f956ac412ade6dc8e19aacbf108343f54f262e60e7d2b7991640f268ed1a989489b2ce888bc702f9a2a043c01adc055beea914b0c9fa6c1417f0857868887981927936542eaf2bf8cc2f1add3c5d55af358590e21a9330d2453031b5de2fd43642d4c72d6b5dc3cb430a3f7e34ff416942f455eedec8aabe144c2f2aec495e712080aaab3fb265c2670d796fb2620f6460cbe5ae7f788820b28aecb564e75e0e8c08a0e7e09b975c5cc2254f49182d868f58b8cf87e6d34843a258dcd731134d5211567a2f1bb69ada8f71616b6739247c6f5c3146da931baba680a68dbfb816fbd5a2d8deb550285be24676d291d8dc2035e4dbd686f61a22dd51a9c83ced7b2809a7055cf0461dd032c92d8af686637aefb41c4ef1ec53b520f351dcb56d8be631e12a2fe3d3ce2d0e883995c31b53d22da9334fceb4fe040fa9fee86bdb9104cdf1d129601dc0ef8f50c61a06b5d5c77ecb6f57a8f82356a133dfdef8f9787644811932426e8c6eb3aa4820fdc623101683f3395850ffb590f4a0c7e23817689a54e9d7400e6cb4739e39131c9d858648a335149d8c6c18fc19aa93360cac1d353afa0f94edd67095651750eb0de46fb742ac601a938a26b76be52ee05cfa61bb8214ae31c496e13bc59cd586675806eaf1eb210d6d14098eaa86fc84733c737b0f207217e28bf3be4c549a61f73ca0b9f401126b9855cd2a4398d69ee028c0c7dfbf59cb4aec95f619a034bbef0b03570e2c6342afb3cab53cbd2466fb25892aec0db780f37318f6ba5e07606a92222b7191d199ae2dc9140029ed985548bb1874db1d3de17d9cc58d191d1408c0fef77a549814b2813e7fd2004f047dcafe13db9e5535290a2cfad2569d52ed397758b159dac6038447ada9f1720550279050a0d73124e8f44c98d66f2f98753aa0d1ea4a43abf7303fbdfe24918d15aa51dfc90478f16cb96684ba9b2cd2d44038a2b26dec0991daeaf2ef641dafb591b29f25619a7da0c632d4eb443313e44216f11b0c463ad928cd50f9bc7f70a654723e0cb6591506c38e3d5c92247a32272e71158586b3298d68684cba131c7ee4ebde2e1b86507a02a42aa5441158eff217a2be74b34d4aabe2829b7fb33699d52b834e74a24ef9189a8dc632a602112336f1c0a24fc0cc7d4c233057833c7c1105fb8e4f6c0635ee4cf33974db7e2ae0bbfa3202c0136f9e079cfea58c48041d525750fd40c9d7e05410f0b9e124bb22bca241c2a04133fe5370ac0eaee421007d6f3e4d33781c7c2d36963b4a446ef6ed640d6b03499d6b160ff58b766dc848a001c74ff7495541759862c3f109303e4f013cac94189f555bf3aecf66bee3aa69c951ff329a488472ff6dfd963d86b9024703a5bf25167ef44d8c0cab95ce81e925691364af34ae8d7691026c27c0756a70d0c4c2836decd5fc0ab2759d4b037bb723a2448afc6edb91954325d78611575d2e6aae4a06c1fa003b7c7656a1d77f598d7e5d5db51f203e7faa32349a5ea625f2331e06f6d14eafada29e25d27395f1ae50de3ff943f47fc8c0fbda8fe5bde867045242e65f4ac23f375404047978ebb731a5c09d97da5c128bc135459de51f881a47368b5a97d18578c3fe3ac4c9558a4f370ceaf9cfb52d1c458148a59846d893a2cdc1fcc2ffb851a125f2b6deaef3d63c994e0b6246433d9a7715459d69766bdd0168db267fb7cfb111bde82cb4bdef2d1b0039f84d16165e749ce7483606d19cf73f064413821bccac08b099a1b2f88371191c85c83513e7de7dc95db6ad2735d80d839bc9f17fddb32b0591ff32f76788ce45c838eb8c468a3c05cfd5f50174c58459cd38c9036788a5cda34795c4adeea84615b769aa460001ef800f9c11a05c6b47e49a9f564a30038c1fd3bfef0ce29ebc28ecbb188fcfc9cc6f96e5c8fac3f1be5b1dba9b845f2b3a15ea31b43b5077ca9f0c48824a2a6ac6d4c7337bc9f2d3a08603ba651e5f35bfaa1ab4ca7ef28d4bc5eeee95a95261c519c2e131629e1c7cc2f429bd1c8a0d5bdf93a1783675ed4aa48673de0a23bc4bb6824e76a50d16904a2df4acabacf47fdad260b88fa163c9727d40c42c313406ef9b2976d675d3404ad76a0ae438c160e9eafbe94b48921331360440c827cb4985abf92d5f76efe28ff977e4b300e48aa67920c32f4f9484beeec1f8a9a0908de4d36feac03e0554c59c055a1a16c7a7828bfc1693a92591e8e087d61972eaafad6177779772e1c3f18bb6781a95e249ae1fca0632da35e635e4fd404b75f5bacb742b9571cf57cdd917e9d7a2d3d16d9ad86369aa06389d3b4939f0d4773a8871ea3c9d6183b171d7e7f1211b96faf4b15a64695098640e89901ba0bbc3a5bf71f0e4dc7e2bc004f49005daef8f3580c9533486e45af63af6c76fb7a64db963fae4c32079e6925e8e4cc6ff2c968ce383f160ecce4ce123aaf03eba7073ed461d5c2d3ae33ea0e4cabc44e808d705f82df62808a41d7d5ac9d34ab1ff589803d2a1153b807f80a5e06d929075ce445ce632a43f22db88a65d2a37efbcaf87f9ab5547555e1d81e2a9c72628f8c79171fce83bae4642955495f74cc00d43706bcf67d291893a950c4d766ee93b89d04e862021c36440044a765d6ba9eeac8aa3ec1a56a511b6ca403420bbfb453b634b857dbe6da8dd2ea1fd53b428ab8c950c98ccb9021587b581ca6d4cd73ae7fa74bce83195fac649983fbfbfd6cad1e991f48439a359603d9f1c2de0296d777c58162ab5259a408dfd3772832dedf1c3a46bb82bc1dd0e0bfcdbf2196e6ebd0cadb8da21401bee44cd006a8e8700dad75e977ac813a448ffeace7160fbb07bfca744b9f40f70ed65ab481921def349c1229d25c29a1935be7216f4d52422d354ba7244b23a5ba5e692f1350454fb29d9190707bc078a7cdd294cae0dc254cc50e4fba4e5a07180a4fb05cb5e696fca0f10f92d4739a02ac908ce304463c7676f5edc81d42140717980bd6ea302454a94efaabca733bc8686d82b675751d878a641645fa720e7cc782f881477edfeae41de060466731755ff8fe45b20055347f7d027ce17b46c1504c113be92f6c9053fde7fbd0c4b698e36a49202510a4afc09e5fa81fb330218f05ceade5eea9c6ea45b8f76c3509bc18de840be5fbe4bcaf4d1400753af6ca7ede588790363a5fdd24db85c37e914e989b786dd3f76f6c37ac70fb149c2bfbe0564a95b5a158aad3d4bae4d305a0739c56d535116e271db9f0c677f44e73a3556b232cc14d04b5068ea8190ae9d7ebe865af1a9be472e1d6be72e9371e307a9cadb1a5088f055dba361c21668e834e4dfb5d60441a04234242126062455500c5b21258f6ad265010db07321597051d727f18c5915fdd690c717997cc8ebaa823bce1276bf4f63e96aee3532c101850a64ced4356f8defa4cd88eca2c6ad67eacc55c4dc880cf45d3dbdeb905106eed31be16c74aa1c6a7606fe51a47ba3847d9324e40afa888bfe277e18eb7d6020b880ec2f98be3f43fcab9bdbd169d0eb628e170a7db31bd227c80317c126ceced048cecb650d8ec26deeba5dfd60955911d77032eb763a0e82ed6fd0e21aec6bc9b193f6f818ab5242473ceee742ecd5354fd36e99a88b76bac3b370bdabafa421587b542a2d02f634e34274d0e1ef83c5774005a28697d6876660c23064086242d716ea91bc36e7de8f8fea26ed23909f750330ca31a199fe52fd8de80b1476d677d580bf2ddb2e73d6e12d36d311e0f6c9677569dcdfb5fa1d4ad4d97e2b1f02b12651bb553cf24d88dd202488c0cd3029b457e33347ded67ad0d7daeb792ae1e86c3d726eca491024307668ffa82de0bb272c9306d23e59d19e3b14d50191feed981b8c3628811ee643f93650a49e9645d69245da425f2f51e6839c1fc4cf551caabefa9723035e82bec85280493e83e3762765cc7fabecd2adf30243bab57c6b8c8f44c6c04e9a6d39d17b6a9ec789dd0f734a0f4acf46f7163997e66609b88542d4090376d1aa947d1b9eba3a6801f0ee40e9b972523c7416049a9010be8b4db3bf6ba2acc18d9f12acb5d12b90bff9128eeac2aca9abdae160b310d63d520bc65e92f9d16a745438cac115c5a948434c2172c0bb4e091e9831e806c5684923a3c30f9f67961ce99953c0b9229fd6faa1b272ea4b09c6de82ea7f02ae4f1367d204abe175ff171d5015d6bb222615dd78a6d34e204c7b2c498e3280a9f48558bd9922a303b67259e3d410b5cc2b51b70252337b1e26adaf6f040639f8aebf4a3327d1253f31b313ff074df33f4cbf8455754868739516daf877f936a19bdb032e4e4df686f2668a473f48506d7e695b948990c90c4be0fcb6a6733e84a9bfcf241cb57158bd31bd965484446e790091c61f917e846f421d45936500e367fda2bfd33c2192ab30f4f5b697ea540f065e62a4a84e93a4ff85d5c27809eedad23432f042338ec7aea4d97c130240f893d44c22e21bb4a2885ef140fe5d134cab36a5ca47d9cefafa15cbc6edff5d5dd74624ad0441984d17d76c8168a85cad554bd3b0218bb8e32cc6f1497d227f0efa6e8a34cef1ffdac9a1a4613f8f2b9a6604190d1bd60d837dd56f5ac13677ae30fe95884110fc4a0a9e14fdeec6fcfa364bfe46c84c257db00ce126de025275ed403eb682e40ad3f8e34459658bebaec1d2ef196b86d70bdfda76c8a3fb138c9413ed9bd2df69fee8ca9a10bd4f0c0261967ce4870eff3df6dfa6742c1734df7455aca7b3163c456a584f64e4d7abcdcb80d7f6a33768997a7ba9cfb2cb7893c32f2c8496f7d75bdb577b745b2c1fe9eb62e4f14de6be03c532ee532bfce0c6fe602d3b6e4559aea879dc470b73e8de5162831d3b2036eceb1f3dab358954dbc99f5e85e5ebb5fb335d15a49a50c1b8f028079608e8e06013b3235c31ef98667be58c3c5c7acc9dfdb19c8b45f5ad087c250bfffd7b1972a371545d360ad4a23518b3b48b2b0fb660c64ae03857cb12aa34eba0328de276f5ae2a764af64be019b9d5ee5be2fbaa3cc01dd71c7c772ff38fa151080463b6f46edbdb5be544428f7728e86df6a1d563df594946e01c6576a3744b4404262b8cee17d2b9a2040c3c0c3df183fa54e873afce8fe9f493769dfd34e8089ac1af7b7010deba607753dc44cc3f966f6e43cca8ed101a10e669e20ff328abf39e87ceb645ad74fcb1767558124a4bde999b777d445ff964133078d006ab292dde92df1ea4310b3f482a80b8b20121989438c33d1d39e154cbdc596a48c9f85d5b4bb19d5cded015afb3142a37510815da1ebf9535882adc02f634b6659cc200bdbff157ee221bf69e98d352eb04d2a73dcdabbc876e096f28e163c5e84d2dfb64a6f19c7fa4bedee592388187e01c8e3b35da758713aca84c89c6e3fa5559abbe492fb101af4a19cd93c3753d991c259176aeeb0a06245440b2760afe71e37af0a7a8328c87d64d2d91ff13daf61f101b2894b9bcd47673f6791e496ff55c8f12a37171bc28e21e367311da18534365463f097028448be83377025a2873cc4d7ecf0bdca24c6fa43d14ce8473d089e4b83be13171d72ac7cb768f354e14aaf68a622de8d17309c8a8719c79cb0500d5622d14fb1f203573f0b8974d6e1a854be3c338b6d03204806028d535faada9358657f1526286d3077d765e697aa99af0e3b47793c44bed40e5b103fe6442837edfb485f56163d78624634f2a5746506fd6116530d8795fc568d8a3e782f5f0b7e799dde1956d56d9ed2fff245220021146e49ffee4b8deb40e9b4133e0e79379deeac241279e8e4fd9d9d37b7e428963d773a54652ec0a59e1f2e967ceca53dbffb1c29fe787f91888d1d902c016910418d90a4fceababf5f89eb9ab18f5253a7b0cf15e044ee4e7b6515ee2375ceb7916dbba9fad09bd10d7ce5951c19dcdbf2494f681a3a1577ee88becb6be8ce21513805fd65538aaf75d37b141cdb8f2be70a7bfeedc5805936f0c9f2218f1aaf8653fac2e1df1285d1d77dba96a05cfa03e655b554d684fd2cac93a769eafca5e6578b04cf5429f32c75be305bcb461549d735e0a808112e2575986d922b0a059f39ef0366230980399abd1d5534b46f3eed84706a67a2c7360deee31dc4f69e507eca40fc923ed1580e5fa931b482bc49a381d9bca10ad28de85567f904af5a6f428524ecaabf2d19ee7b9090c04f2824bf7757aab6b2fd2eb71c7abdaffb66b208239d1691d4e41e1f947ec2156883feda0ea0540549833deccb78d9e7537909a31561826462035a4806a9bab523bcdbce1efc0f1e99c4f7a7df9d981e35f477295b30ea8347e15ebe94cc0182bc5438129ff5e499b724cb4da13981ec96a1fd9045a15d7ba6b37050ef6790f312673c6179fb94569c92c3d08997d21397a1d35f95b85de09a21be09c12a6e127e7fa4da804e72da029d36c96df7aa9db8f9bf99bc0ed3987fd6bd419e8d9db1e701dff7d6ff77a306317f6ec91c47b433e3e7ceb48e422cb7d146a762b405bc3c5f9acf27db5224c06026e98e2b06efdcb70effc65868ce3bdd079f308c5e4f26418cade4df799087e344ee5133e9ee824ade1f2c7c185c5b8dcff9cfe4a2504b8a28ed8c078594200b6b9226f22c47811eeca5389ca78f46cd88307f697e59d53e5bfb56f1167e05cab4b0ec417716a41e940e2d748af681b993f1a132f76c78ff8690cad10408481d5ae534b364e4dd3cc2f3b4ee502900687bb4e9c066ec689244b79777cf293229a464da9f132e99ff06c77cd8e6d125e0a458f99da6ca0bcd08043dbd540d0209dab08f1fbb01b9f2a25b5ee68541b976638d45191cd74b9f30084bf1ceb5f0c9008dd3d1edcaa0e2675ce8055b69f31b8778d35786a103514fe375ac17e65b9719a9e612c16628220fe272888d19dfbf5f799b28234f3accedc167f627d62696233f01a928659eaac45eb1a465d68e58545480fd0cee5863b683e7316da02569eb3e33f5509749dedce57520936baaf27d49a4d908657abb4ebcf0879db4aa6f2dd06a9f5846abd5dfca1355c4a62548b8d5be84262815961aaca60723c89cb38c4195c994eeec63f96e642d077e871e25c60fd4c9e3da32a4266a2b40d84411f2271462731753fe9025df39e101f52a67ddf1743e41333303e0eb21bb2602c86643b68d46fc2442803a922bef3b909cc5b911930e995ef2ca594a0b3ad71fd2eba2a8e971fe450314978296b20819fd05f7b0cb35706d649e7e2d5bc9b2a064969f0ab229f73c32c7ba9c949c78a11b52085d2788d984260ee950d0de68a88bbf8fadc84359987b6a2e8d6579c5eae24422ba36d1dbfab366927b117f34ae8fbe576ddf27f3ed5537498a99177da6dcc07ea8a005bedee84eb27182d59eea654483eb2fe68d5fc520f59e4df559194d25c073a5d101fea0b98d235ab3f38777b683389dc172e03806b68e88ea18ca81c76deb9be9de6da13a734d85189aaa11eed3e4c0dc294e0a68c4feccff614be43e939c37f2fc7a23a27ebdf2a3b4241ee7ffabe70e77f193882aacc96e2a452c515d9965ae84fd1c6e3213bda1038588e3e8752aed3d2adac5433339fcb99a7f7de6568720f0561f549af50f7db5e5aeeba18e4643948118c8381031e92d0a7b2f8d056f4d48fb6c95ae385a06ea59c027f3529641f04c84dcb9ce0d73024854b75514a39fe777d9d547d811d2cf11a305f2296f5583f30226a56108c1b768d40bf44b6b2ef36c868c313d8bf19148140c36347fa357172d3e7ee0ec964712de22b83b875e9e601dab9ce779f1acd801b85949dab926989c3f0f39ced771d8202f75a8c08dbc9df63ae23a787ebddac4c315991c0901b34137e8767815c35711a3c9a93f0e9a0ee24138bf4661ea4cbd436683827ca8cc84c4143a4f6a4e5bc9a247cd384bd8171641974ea8455313eb592a288f4a70bd68eada9780225d499956e0a561f0e5a67f79668a30783d7aef52bd9f332ecb7b7b974cc9cb69d10438416e45dd1d56705dcf4d093937e276c5cc27213a07198952763db1f437ab843ac09919fc74cd8ddf3b975520a53961c16c5f33cc95480513c80dc03e02f2c9ea868210678ddab4ebf6ea67ed5f47d55015123f16171aef1bca7fa9faef46aa96f5eb73b55f48877e23cb4ae2c6b840b45d239f51f6e306e682e9157724c7b92ccc79e0c5ed440245c1b6dd1c9f06e161793b8e4f4469ba9906d422ac3a4c5c57234ecde055d08184f48e2ef5e42a96e1c530accb255363195e73fbfd60efaeedf5ed0b2087e27dd6619a8e3fe2407089542c9d74175a585724b6a12f956edd7ee950f3064c57169de737eed8b538b5e0369f7166235dc79468ef007a56060197ed55853486a393357ece0c35e9f6ef3ade813630ed175e4cd4615e0a982d6710ede7af70fb86f6f8e3a48484f5c02d811bc2010bca30482e6e684b852d858553ad322d0a72771821baea7e7327d2123cb999f0a37133e8554deaef8596547f2a68188fd600eada9f6bf41c5ba75858499a6d807484bfdf8cc62029dfa2d66365756b24125a9421127d40b9825854f6bb0a4b163b02b361dd7a6a0966ab7e7b28e6943fc9dd904fcf51e34331569a0be814e09c38d74dad3c7d37ea7dbda49cf83d3c3f9e99ea5419669b6af05b8b613b118a9c818d14a8a816b911c35cf344d91614ec853d9dff4277061818bea7d3e662759e302126c908de3dac3d32e72ad2ae386e35d415af2490066917660b110368d3b215641ab5d1c1624dfb32c43b9b77a5034f413c5064daa72b8ccfc9abbe9d3811f5f4d12c37feaba6e968de86d83bde5dbaf34eac4b8df73e688100385a57f01a91a2b15c57871a1ac5d508f8856dec7bff88e1979ff2b6a0ee3218a52e66e9c5228e98e3878104557bdbc0f4a627e9ac8f0af8b2bb0d177b9e68ffe4ae707731b889953899c2231a1681b7cd13bce6e321df8c52a422866de417f921a6c29f18a25fa7112221a124c21e69fe432f06644c3d685750787b7cf60acbe993f3846ea13d1b2fd1eb012e2f94c977babaa03fde6bef86192a08195b67a66ffed80b1ffab3ba1e1c986c4a330d3f226216a7955a98604a5d999373eb6c0ce7aea8676ebb27f5a64835f4eecc082ce553a05cabee04565e72dec6e15fc27eeb18c19922604451c2ee1bc0862b631e9114d473777ec902cdb0294fbc94f01969d52824bd9b390bb472ad31a4d7b12393c60272ece45efb4981bfb25e1253f9e96a4b214bc02db693672ac64e4a3e0a16288bf5592b3df1211e47f38dd0c2fa5fef75bfaa2ae8706cd08cd488e66b9971ef0c6ef0fb0cdf95ebb24aa44a98a3bc738cea807f5dbf9c2e506b25000ca8da8d71e5d857473dcb9cac887e0e0c776a75c974cb5e194c0992dcfd146fddc6d97f4e67d2e2a44854d2124454e224caa2fa6fba9b4aedcf774de59ee86c42c66ce043aba4df48499da47b04a71d683ebe7664e112cf06efcb9975e56110f5e97abb728fadcdd62d52a0a903ab1248bf1ed450ae739eff63c8835a69d993f9268fca009536f0ed6155e3138ae4eb996d00b2b4e3997dba9c9bdaf1574b28ff2085a7631e9d89d058e7f8c66fc09156fe702b84a713f7fdc3f377e74b1d759dc88969ffc85cbc1e5728183ccc2e4d0f6d015b7b5edd1d3505162402ca7c01acf4d8786a16fd6afce149dcf86bc858403b90e9935e56e159dd61dfafb1abd735889b1f0dbe9347e53e78bab3d7fec9010cb4c2b34defd5d41234aa851e9bbbdeb9fd07197622376d0d8581befc627f7be2cb3c04dc45ed3d7a1f76268a90884cf9e1a4427c6fb6bd1eb74e836cffa4d059da6d2ed308b6dc48b287c5ec3b687f5334edf8b508be8d96a9a3819085beb1d046155513279ee0cac945fa9ab0502cc5891a33162692603caa5305ae2ba77f8e982e2ca8132286534e718759010d021208e4f97fdd66258c74fe121ebec3db6962909fd0196b25b16a71cf4745ea0b834a6b474a7f2087ae06643c6bb63dec79846e9b3e27bc003844cfdf6ef5c5cc99e9b2150fa73b21542ac987af8e702aee2576f2c94121425a8ae0d38948e5db716f8ef57347849fc4b901df30b7a689c28ad96164dc4a4b75ea94a5d250ee3738d5251d61485efb392fb4cf0c77bcc1188a7acf2d9c0b3eae1ab16bcd942491da9204fb579abec0f05440822b268b6d688cf32e12cc7cf2e11b782f0e1b9f12eee32c31abef0be50a21bcf8a5d2dd85e4651ea6bfea1a03dbdaf73c584a3d7c5c5cc52c4fea7a53833bb314269646575eb256a299239a8276dd8fc3ec081c05a0d27f507ae80f9aa0fe9342c5e1491d802375acccea991d6555af404aea5a20b609ebb8dd785868c89ff64de242ab6a5b52f0730e68a09d24848fdb52c88964b0fa253de36bc0dadaa1ebef3ea3805ac88fc9be47746c3b2a70bd92fdaa6b33997218f2978abc81786e2c4a9bce88592884efc356f131f228132e644238bd2f615e50b4b0510abc68c7abadb3fd70443476fc174e647e9ae7811a28911a654e53a0802b12615fa102b081ae5f75df62094477fecbb50780a1d0bdf1287dc7af821d53b8ce7a4d1881bf9a42cb61ebd656a47ec8e33fcd906a659f056b3415784530aa3df52c601be27af0e6fd66628fe7dc05e6e5bac6c9fc24e591e6962eda3287a70df94f556233c78d28235b5387b3b4deb94d8d142f9a913f328a87a8425275cb2fbe8ecad5357e19d9da00c4b19afb69214e1f53302cca3095349b0de368dfcf5bd5960ba50ec15453e6deacede9bfaaf50ad00e028f17e53da54043e709e34cd912287111c7d637917378dac74f81ce85d8262a3486768fbc3350c67ced987f342384564a421a0c15c7679b3f4392609afccc89b031deec1a310892dc99d8634e3c41d0be8db5c8d8f6611358fcb204b34e3e4b9de56fc0a54f2c78343a606c93a8f6e1458dc1bcaa39922e4622788b3f2ba3216902b7a70973504ae719cc47a37e9c8b2e1ce564f8a709286d45b2b47bfd8ec53fedfa28c27fd0f41acb82bce7258b0716745e28b70c521328f15b0ca0dc18eee6ad29e1df7a6ebd8b49b7d46701ac350237b9df9fb0d74c76c1c9f65c3211444aa88f29e4ddd2ef9ac4621505fc939d027c63abef62f7a294b27f02d86c0c7773407ea0adcf9fccdea909bdb3e9bcf928e9f9e7d56d34bea03be59d3832ab1b8ac8c8ea1c213c86da6e2cd7ecd89ec477f863212f42015b7ff3a6d217306b2878d3277f9f0ed5d3ae9fc0696b9bdc6e1fa08b2ef763a5d28a506b0db2a4b6d5b8b79a83c030e207e1f9edef4fc1303fa2db7caac1882ce24b742193cd0a7d36a9617a8ac2543eb6404d903af9a441baf1deaf9a46cf75de595d95aa679801d03939b9a6e8047dc9e898b97c0055e0fe0e9560a3f788f03e42171185818673e38f9bf530fc5d29d656986a0c8dd91547139eef2b666295fd52bbd1ffa752515c383a8adde1cc6466775b4403ab31e05bf1189fbf6579b3a453cca4c5050ef1c60041d856ac86ade1fe5fa5ad7b7852f80612d64ddb046f4176b909d99b8f2ba14f3e4073a399c0b0ec9fbf87d8786376937df03df3e848e84297a6bb83300ab29ccddc63eee6efcd0d41206bc80d7d8353a4933819e782441d26ce128fd06c948a89b299c8b38cef0351958fd2ed88f65c6b1b8892a7cf8caacb292bed6a6bebf6f50a6f190476e02a3d1dca30c8af08f39ee28e9ec8d20ea5d5bd6d1daa20dc946d22e86f4d647c4e59c71c0915709a1bf87c0a2f74f6abd917bd1d3f4688a6d704640e7f3448dbaf8e2eaf119d1419fb28975d5027966738154bf0cad1db39fcd959a558e8ab879df9a762530f7439621ab2dcdd0cc13c2879e1339b0712014d33bf5358db1141485c4ef47b800d75a59006dc2a5dc2356e84b1030643f44b88148d8b982a0e4e746a4e94f29311f8fc6ad9783beed7b5ecdb1680f5fb50a333387eff1508fd67eb05113634a0dac3f04d65c5d0392918b3f87fbe8ce4e959b36b375ec69780f0bca9894413613147be2d430470940cd99ac6b0cb20f52e099ffcd849731d422684dc2321bb86c94ea74c398fbdfa561bb73caf57de992fdd4a1fa3955f77a0a9041785cdc8db7a451cfcbf5bac5216847680b29fc73159ba10a38de5b0de0c539a7a97314a83756af28bfaeaa68ff851f0732391f504c5cacdd54e1f91683d6bf76b2a2bbc2839a12fd17ac085698c53e6f1f039a2c673227b18697383ffadc0f018ff5878fc8b8c2c0dbde9c7aa2ce5b3c716a39a83940a7c0d1fe55632cb1c788a90a502f8010a86cfd0292fefae34ef8dc4d7a138cd93b3eea4e7a2a47119b58a0bc55746d0547307d22f6705cb2fd57d5d7b1b170c84ad2e5eb7587dc695e0c757cf4bf67e303016dee17dd3abc56ed2da3cb292259fe13a14d9c2f83991864dcef06deab5e3d45483ed7c0d603aab3076eeeec444cae7bc11e80a25091b1eefbe0c16a4aeb726b9e70e5f3be12e8975864b1e831c171a280f863a94a9b34653c8756a7bc8fe4640d95d322eeea9d50535d12f93550d9e4d28ac3818bfc78b16f10340b1a37810982072ae15e5cad092877399a0ec08886282c84152d2377452124d101c9fa009bf1f431560e748adb05c01fc205314e94b77880a29402d71c4e9cbd19b000b42aae555c7d4a789eb773c116185a1ba2dc14f067edc82d33adad1409da7bbf70d097c4e0263a95ec14c90e76b43e3145bc332f6404cf8e87e30bbd16ff0a115842140bf40f53af6faa0f7b2a8cbf8f8e3d42729b41a388862806862a9e6dc9e777f7ce258d0831bd808bc01314db84990a717bc8a1113ed385044f3abfd33468df3fa19bd4687f03afa849a203f37c890f3741388d2162d843d944570fec6696fcba0a7114647bc228649b49a43ce79c7cc70c792958720d413a33290b30783d0f5730b89dddcead15a8a701028943024047e7202bfb3167f3fc61419048a98a829cb724ebc7b4350413757831b8080acd470b3db5f3fa32dd7dad3dcb49fffbcde502dec9c6cbc5f19a5803b619f683cf603aee5f7c5189ba9a9b596ec5ace6eaaea65991f1e9fdb3fe8aa8296afbaad77f7972047c859bb08980f96a4b1075af7166292a992e8dff4e4378d2ad4447882060c7fa221a821e3886152250cd03d4a4b582c136617d651734e61980ecd5c5a79a33533190dedd03c831e2fd716b5c33ccd446277fc2f16567315845e62c3ff5cc4b0e8013988496870c0cc5503f077d8ecf520ba00730c78187895e71e203b562c6021aa10247b7019a69a8846af7f87924d18767ecd9735f5d994085695cb2362df94ca28c4c5198f398b5eaae97a60f84d7006a4254af3fd207ae76517e7b30731230bec7b56dd42568380030c3afbc61a253848b1def8bb7dc5190707fa149b7dbe9a26fe3b853fb0cdd472ddf1a9ef5f2897573ecc4ec3481c8d2b01a6167d3137f39914d0e14c33235b6fc7ab0e7da3bc18b8234f605b5434c062989f0a0667481f5c03c0e367c58781166a924d074ca6b219aa5f118bfb8180b4be0e2a41b1882dd061f45ad06ac5b682339e0fdd73993421bce7fa5700b7bd5fb10bd06bddee954df339ffa94461bfdbd69d7f5286547565b49135808928041016e1fe7323e2f619e44dbb411cdac00a581846d0541734cd82c6dc32f919b70e5cbaee4405bd5f1289595e95b708c37cd9623b9ab37b84a975c01cff7ec970c3cddf6e4d11311d8d98d59da6d79d3160f675c8334c32ebcd890721f157eebfa8d0f67fde13905bf9eded2e570011b124e7123d4afacdca95bdfa450e02f3cbe3786f1ab2b26afff3187bf3fda513519ad21a258d855596da4e6f7a0d0b6ae3df32bd40b187b19099e3983479e70a6fd538c205bb860201b7f5691f2ceca414d37992dd87adad86914ec651903164366f7131c795d37dd1ed3afd6647b17c7abfa8d798b43c5dde7f9c3a126ce0662b759f56142c65d4add6340265b5d95b7e57ba4b968039c46877947069fcbcbb5ee2e263f3af3a3a5e8edff2e268ce5f2284c4c13d48f1806cd57f595ae599d56be7ec883b875260713e4ed744ebf905b29e7722120e38602c9893fae14cfc1db4f9a4b7e5ed70be87dcf63f8cb274ea24c2c7027615a040cc383e3444735d82a98218a6deba370898899ee5cfb720981d906aad536438d51003e72da713f0d31845035189dd86cb5b25aeaec868eb9d79c2d2a4189068b569fa4bb0e4f9596c07fac4ef209c584197f6eabefda457c80738d0835e1278d1f9a881d1d09ef3a41ecd29e23edca56e5b18da608c75b3c271c99e78cf5017cdbddcb47c210f6b590d61057fa1298eb58aec4d10da038b10fc223c5f74f7ae74cc9713023ba2b35dd49ff063aabc0662d688f65df5f7bbd76cb6bd04bab5ff0ad5210c04f5f68630be8e68046881c202edd59dc4aa844887c029901b6e2ed9e2f048a026f29ee0677a2902ab26fa4df6f2cd154437bc939eff8a52bf4203086332d1bb4a9f31814ad28447c0bd328e2dcb9a1ed9ed99085d51c113671cabc78ad0be0431e6502d3da28ff631d07fd826e070659968eea0eb2f12c913a85ca1ce1609e7a601c2258d9861ea38f779785cf7b03fe6ff66759d416ff5ab927a6a0733935af04a39f9f4252e7cb9009128f71f04d472b17205c11238d604c843f8aeb0c7b79aa1935edc5433a198c13a67f91f4f55f9e80e4362d10fe24768b955bf23ba07ec2b74c7f9ff7576349ad22de4c233ed5bb83c077fac4ad0c896183121456843d5f4cf305e9353b588b5fb17bc3dd325e388288a40dce0bdd9dfcd5a48d631e5ee408ff1ea18708aba3ff29aa47cb0987e944bdf15cd579ab5c84119b34842e97a2a4ea8d9ec5cd76042bc2e42646e71d621625fd73bddaa5ff2973237299b7b31badab0cffc092327c4234050207efe53ec902745546980d468be453083486c8af612d37ff64d26409790342d5bf078bab146d2db683286ea8353a83b9caa91c7d7f476c3c54237b7d839bee4cde81fbdba9d827c80f3ce593950ac114414e07d956db46b7e11246c0b032b95cd0129bb30d6a0ce9734de8479fade2461b2a97d761edc0a8cfdab7933dfdf0aef9b439cdf6e350feaacd8f32aae8793f8539d833903412ab6531e8c1c82db8457af4ce379f9c2ae3373fdba0f4d2ee5922bd2c442e49bd9107a312bc5d9e1f2be0a5f0aaa88a5b8a0c149530d9015524902d3997651da9c4f97efd145464a521548cb553b908621e462e32bf0b672e80b1fe76755cb56f5ebc8e4b23f1c71bf6e4e9bd58eb75e990c6c91722781d6ca8e098b713380fb0e168c348c1e53b4c490f92a28506fcc139995b8fa9b21573d935eae5b4b3ac9b8355c04b9a0f240a2bd98284e07f0898423a50e8d42620fb85f5136c149442c233441c8521c3641c33d20bc22ad367d91d20fc17648ee65d73c1a39451ae809ca96be9c5aaf2d13333ea8cf64b57514225ae8d6f4df2866f5788d2bdc4772769fee4735a8a79421d6fd948d4076cb5cc5daef99886795521030115234729166b8aae125d4bb4b309de669f26aae10389106754afd8f6bd179e7ab80356c1fa1343d731e170cf188e4db6efd64c4b686ce71766e3cd05c5e8588f958e5061e5c9cebe273f380999a7c06a811ddac3361bb2e374f51bf0ada0e53301a8596bf1907688734df114b223c25dbd864991db766edd9d4e781693bf05cbe85cbe165fdd6bd4f408d48b3f8281c9f033a9b57117f2726aa1d0c2eb6c658453d43ea4e316d6899ad13cf073ff515034a9bcdd282a3c790a24845562dbf1609d8ba46a119c58bf0214ab182a7aa88ad1cf1b95a6b5a36183611aadcdec7be51427f89631e3f58269d9be9f1c470af9deff29ced1c906e9a002556d07a5e445cfa0ef84da9ba3a5c076d83af5a02407f0e63f03bebe91597db85ac7bcee47ea5fef7a6f5d22c95f3e2abdeb499af3e17f6b1c6954633283c08d7c4a1c414564266b0ca74bca1d86e0030f666dd06ac2c64e13afee899bd762348aa2fd10461692479f888ef141146530541ff54186f7b92ef1243619289ea8f620968e92ccf27e7715be836fa384088d1828a739db9b6c11d2f8bc44f60c6b4ed909a58054b7bbdf8b32c86c44e90adde2dac51847639d4bafca462d815f99ecbc61e6b8ad8c8801aea435c536117b894d430516eb289b667d6f071f5781b263717fa1c80627455769d2c35a9bf4f786513b853be09851bffe4fe064061976ac1710dee7f40ede092e09265c1dbf17ae8bdee63f7d33b4337922b4ba74afbd50746de95e504529a295feec273305395eaef80a6d8aac117340dd03eb7fc51780b8afb1fa9f7496d180b46d438263a055fc28c2dc2c57488dfa001cd346ba4f4b06bdb37503e6811a8e17eefcc4ee3db7f557e3f48fd0bb0a700f7cf9d7cf14d4c6fa8c90c17e9a9a711fc54f267f190995f328a70365dd26a4553b18a0808445fdc7e6a73419f520187e842ca8a1acb51d20dfe50093c6ac2d732a13d4d464ab5004414b1313676991825520e1ef58aa34891b928aefa0d39d97b6da1a46341b9cb4546ac5c3eb7015b0ecc2d879e76ccc3ac152f10c2840da490010557e002b97719e3da77685d0ab9914bbbbd52f65f03104607862f70938fc3d9f6661ce281366ae4156dd991fa92e047f2df2f46855ee4acc7f7b1990e6064ef408e92a1961ca27ebd3590227554d6cca66807da9191336ef42c673f4218d532c06fb1d69b73bff2d93cc31da83ea6e2e4f5b90f0265a61ae1033a2577dc9b9a70df82c30dc104bcaa4ee45c47b1ec07a9a7624995872f13bc02f67652992e04d4a5bd84be2237a2253e26e0b2f10b3400c7dc4a69d606cbc66c12ed9c1e79b6faa5f72d27fa647a26469d08c6bafb3ddab7cd5557d839ecf144af88bdb7b461440692b631f149897f53bb2d3d3e7bd26378a156dd43b9325b08965ad9f2bf9d9645cb81dbf9a31afd33660393fb83e07fb9fe95e20cdb46ebaae3c948f6b535993559bfb73ef431692e2a4e1e9e131b9ce24b0c6d74764a02ff37ad2ecaddb4b680fef4046b276eb6d663ae4f434632beaa1974ce0fbdce0e391f67f4b1903ca3ed5026f53c993b0a2a5c3132ea0ce0dd126ce0194c7269b26e1e3053ce8c5dd3a9d542bb98db57fb7df5e08a824f5ca9df2143cae8a01e83231bd6d110e26d2f3af8deb6451a2cace8adb1b26eb915cfb00f118d5144249ff617fb3347d198f039bd27a580d71ecfd64983d732635bfc04e950355bb1a0d73f1b8ee39b582cf247867573a8d907075bb97f3c86b6e12bc6abb85b69091f412c89c157ac6e4bbe11f42b5af0967056990fec776042aefbff52797add3d8339a89102385904367a6485eaf9acf9b6d5707fa8820a4740083c8987db796c8302d87246767c61b76394261c6d8c067ba11d743d1d2bb93d545f51533a630e6d2e279f3fcb99c51f7558072cd7f438294ec20699dbde9dc87905c35c28655b0187ec54aae30ba7530ea71a590f1e1af7d839f8b4a57a4bbf41ebd5e8685bce87edc6d45b6777525d9917f8bf9a3be43a1802dc29ceefb44f8851b175d9e661a7aff6b2b66b16e223f0bc034fd8400f9fa0e7c418e3cb201e900fe76d01da187864b6a111632f453c3931cee386745d54bb78f6cffae8d85177c4a652f3422386eaedd6cfe1066c342b4ed3482849831c7424096b791ad5147e0af9a6440380d2f6b7cdeca51c9b38a8494d15dbf17f39fe42742081983297c0cdc29e3334493dc59887b2b7068077665bfcc9c0ff2a126de95a38233ab147d0206c6d5463ff1589ae1e42453996e527e425b690677fa32e960b9650cf41ce4921fcbac476e0741f52c7d19a1ea8f5386b39f27ebd166eebb8c28fc0a15f6b54dcec33f803d0148d29dee72d71e6537d804b50aa24935bf88f5c0c861f16944797f4c70f027bd87bfc7484e37a1bdd9ca69c5849796f7eb47ce92d1d9f5101da0cb18b285c451dc7addb42021397c322984ce8ba6716c72a98aec5486b49d9a5db889ee8036058f6d8b9286f1ff8b954952bb7f0c2475f0efbf40c4e6df846e47ae31c3bdfb0bc7c8202874722619e45391cef4dc40637770489c70d0381288a58c77c9d89a3370e642496d3dcc8e7948c03c14acca19377dd26aa48e1f5cd4b8440a4127095b9e8b61add2806c33a7b08af082d88ed3a4352e83848dc1ec4f05505844708e3b63db0238f719ef95467efa1ce91a99f4499cfa77ac3cbae87370de28cbbb9c48253adef16288fea427fe1f95cc698b836750855fac6e4136a2dd12dae1353446ba2deecd380859eda86277599bbade5bbdaa476ad34cde440ab904560662fc754d624e8ac1267f23b4eebecc5236f607a971ec7c6f6afacce30adfd221924d7c1fd26628dac0312a167d95158c12a51dd7d9c20cf122c59a57503eaacfb1656e1f3dd03871dcafee8745b2ea507bef26bc1892acd9984ff8871e570bb8c7e25579d973ff6e418b7b1affdec1048391cbe6943a03ffc0e67a5900853d665f71265b703a764479ed8673ea7b3f8bbc4caaee4c9dce69331fee51ac371f7dc77edfbef5cffc6bb4fbbc7b6a8ae3f1052eda3893e028b00a92183fe7a1e53f7cae0ecf374f8e4e41cfeeba9d59e8c9b896b4d8842e5d8275ad5f8d3d49d131e472cd6bda530cbad47ed98d963f3d29a84422fabea67d43706ee051569b8d8fc83c12d64ace42024fd6badb05a1a4b7d26506e053fc5bf72314065a69ef08daecb1e1a98f0e46b36a935ff7182978fcebc95afdb7ce769680df0459edbca15eb8c9f233c4bc059eaa1b1e5eda9c87ba48facedb256d7f3c86cf56bd313a57a22237a9c7bf03eb91c86c589c7ce2261a3dcf75c86602cbfefb4bebd2296468fce0441d78df83c429cd5125a370868e1b2cc680b1c1785781b39685ec32866fb4bb8dd4ab7f1ecee1426e9b00d5e3a9ff49a2b93302d531002cedd8b6772ae47cf069404a83157c6898b2bd4975d178720d384464ad7a3c2faad83de34276dc06fa2e23844cadf43353203f4e078904e526f42e1c096ff5866d79b647c4d021f69218624cebfa111f3e1bfb5cbe0773158398e69aaacc3b1f0a1b23ee1b6c2b1d0b3c8e2aafcb8fa4d821ea43a0eea6cc683a1aae2dd1dae88d32926391e6774d244359749be68af51fa42b11f8d3ce4adfec7b4505c7b6e91871e288e8c2c0e775f28bf4cc24753fce99bef52b51e1231b0b3e502df5a2773bee984c0d332f4def43492ee2dd33d116ccbcaa217549655ff979d183fa4d9447a43b8f2445d899769020c3a743d4bf28c8d59d045648f60acdde055992a9a3887987ccb4ff91a11fa3ef0aba2e5c41e5da3242862b3fe864f7afa277ab3513c27e3d294ae69a2b363078003fa59994ad7afac8cb40c055851612c8ace743d5c60eda40454ddaf543d7273a8beb8dd03947f9939149074da35ad88ad0c5d753c1556ffb77d56860fb048f77266e35fa4b8bb3239f970fe11fced9af4c41973e2b18b2b57abd58a3019b619801b0d943df958e09a1d8d1fff25abcf3b89ce96f8de86eaa9ddad6990c7c2d203540107ed63fdfad9290e4dbeb371da860375f795bbbd3c6f61ab9552a4f40cf1d44445c9c6aa9fe0db9ec02265342384462a347710fb7146865264b6b3e74a53427ec004768df8a512a1460c66b7c48f3bbfb2dc391498b8772f778cd6059f60aefe425f80609b50b72b478f9534b4e6fc30441a4ce24d04ef9c71ec8497a857ab7657c90fc1911718542ab963891f1cefe89ff8ccf9c862741372360c14886b65deeb68f1a8c0cf46f1b9d8a28e57426079b4b756ff113c047568e4a3dc45ddb19d2ee15628b1b0d02ba0e41a936ad6b7db1cc17c7f6b3fca244c22ff54abae6b2e70193a6f3c5a0ec3a9af935d0059c65c3fec023b56a7426bb3155d0d9c9a23b12aa62c69da9aa51acb20183da56c3e3a20033209c2124e003100f7b7101436beb9dbc044a78782b8490f45ba1ab25c6d8453431606888fccb863142ad7ebaa365b46df45216514c003ecdcb57d3ba7f5a4b08cdf47aa4a259448bb0584eff8b91c81704bedff3a63a36e79b0d95a1106d5f26de9b7c29abdbf4cbfc31856af84e25a57c3445e21beab670e4d0b4f8eb2da805eb63f8376326a12c7e5df763d31383eb06252d0e90f025145b9061881e9a0d521c7fe18c7e418f927fd333de3f3bf753825ce0ee603f62d4df8edf0f6258593a56734e0a1ffcc00a09ab9eaeb3837ae8d805c8a3331419c35189e8b14389ac743ccef02ebbf8f2d7ce52facb53fa49ff4079255105cbbb92d69521b99c234950ba2533702b0660ae4d8c09668deecbee605ed24748997a050b503b0f9f9f0b9ad93da0330748b990d634be7e4ba0d29a20b07e0eda4841f39f5744d3ddee8a728a0da550035c90d2c1e6639bcfd7ed4e328439428131318bd2261a4eb5f5ba8e5053da3f6f31217e1d79fad6b70ff60980b261109031438be25a6da595fee86387b832663af00ed805c38f7da98f5a733498f3aeb57fd640f381f3dce295fc0d511c2c145a74d79176675453830797178bef0c2116183e46b60f3593d99e5c36a3cd06aa27ef083a5fad498f5911a2d736e7f107e5e414baf9792ee0d0752bd6da27583fd2fec289de8f4928cd4b9dd91b9ef64f296adb240f31d87a3b419dbf4ca2a471d813dc1382ca0bed60c7f286a97da8e84b48bfd8f64922153385cba8e90edf11f98461728c13e1fc626a5d0482957fdf65e6c1c15c0f9e3ba70284bcb4f32ff183e8f0d006a1a7a0de9ade9a17f244575ddbc9c69f25189ebeb1d63926c8846ad84f3d683662a7295e1568d032a9998c06d30eb310a92b67bf96b7333e763a77644a4eb5f33b612380f20f5f41c3df4590f9cc822bd3cdb61b4d17ffb4056c56af96a7d9e8b724f94110e2a98674cfc582bb8a3924d55d6d96bd14212f3403a136127037347b5975fd35ea78afe38f6694cc6010b4666263880b38120338b979764e0edf4c9e01e48e8c9eae0843c02a329295efced98cac125e3a1ab8c028f1f2f41cf484880c455df38e5e20521ced455f679119df9267762533f745e079d765844be89120d598781a378e53ff8084abdd08de1f8424be713c9d4d83e52970b93f5e73f29f31b1410de89366f09069dc133ad66b10ee08e437a2c1a8902e89755d09d1dc93b8cac3f1527309943cdde8bb23584535639061db03232b1fd4a65d58fc4d0ea57a9afcae70acfb5ebfd4e91b6b6e8cc1045822cf7eca1526f5e9569280ff22d50605fbdc8ebca328d4a47403ab022143ca31a13ca0cf1bdfb2205df879af8fd0c696fc423dc4e3d96088ecb7b11618cb24b1f8af774ea0c9cbf1a1e38e5af94689ca69f55157f16791dd87041860afe91738b02f4984506a278a02ec09e5eca133ae97cc96c755472d84cd7f18d94a11c30d67eecaad18a3287f48cde51b88bed3a3a189ef621af3bcc606389ebe7b2793e25d6d3706fa0cbabd015d92f09d38e0053db5fc5551ef02d6228abd2d0a84e0d387ecd26253b702e09ddc9e75bbb6592ab9191d2d33af47096c07038c993a28bbbf6f931dd58b63fd78ebf66fdc9124108652177fe62ab3b8d0e8b4d9dab667821aa8cf9582f16486baf34f8c2bfd5139826ea884cf8833fb82111be2c5a92c9d43001c567392b20731dd985add7f66c6e53ebab629d7364a514c34d5808db334224771aa7fce649493e792dbcf5b54f9513587392fdd53a7d642f248bb21ee477fb4ec5b8f696d4e302269995f7b0fa651a38c834ddc9f4134359b4bb14b06d317a41bf98442de280e965b4889508a3a8e2f6257c901d0e8a3a776ba0b265657fe87bf8495b69180bfa2c80c27992aecdde6f416202cb30d0490f2c82c5d884a770528a00dfc6fa98bc6bddb7d773da9d3adbaa8e032bc09269584ba22c406610fa87325b58ccd65d9279ccc3ea2e23129439752452fd95a7520e62a082a73ff9163d283a22b34e50dacf77f1eea0fc46d1f1ebc96c35adb1688a769291836f708867e1f0b3b0af13352b6f8aad894e1ef7dc5f8b0145a21851432c947e769fea4433daf5b727e81d4956f1d3a3169e955ac9b27f42c48f087cad853c710ccdd44f2b5ea635c343cff7506352a77da01035d9f9ddd86fd4bc022e78ad0d41cb1d675633a531c5312e82be2ff095f5ce262fb06c5b60a0f0a56ff8c5ef393cb3ca119af464c773db3b3aabe043e82c5ea35ed4e0abc16d2c30bbc2434c981374e5e56494649d3dba0eea9abf6b6e8bc675d124c4ddbeafd2a504c524dd3252f07a863e46a8e3810d0cce50172c5af112bd66a79209c245a15296678f9ffcd516c9bdf2036c6ff019888af1ef8026ac5cc84af36a627005b16cbe793dfa39897ad75c47868d8d05a0e8114c3586fbca27a2b7445e37267287eca60b7efe5d39c9c1d43652344f4e477bc50452e6097a2d67561d720f90d70bad67086b5f97c96f2a7b875924c436f312248069ee1ee6f6b56de478410db8c4e7a421ee09354d949f3be8c255e1a1bd147cbd606aaa86d70c3e675d923666c8b0f9fdfe68508612069507b37531c9499f60631db13d64f4dcf88a0030d0c73831bfcb2f9e6d92b14ad2fc319940b35a5b02ad1b34e9621f28489d51394e7491c1ec3b0a1909947cf191bd39ec31e60efee85383f1505c240a0e5a8f36d854cc20a84115d08963cd14bb90b6d61fcb576f71d718e0cb48f5660f33b4d353b75f01f0f41bc65df6a87132c9f0537824b27848ea11aa911de6b1a558cd98bb73553212a0b4192a78cc8451b0a6d4e1b95d108108309a9945744df610cc527c4f0f65f8401c1decc5c996856c30ccc209bfffc5fa1ff2d3c68575985cda6dd173f772318ee8281e62a002645d3459dc60380a313e25e7b4aa5f441b4dd90f7784b9aeaca3f44c62782f2d00f499495e585a354ed86b81b234668ae8f20112797e2bd946d5f57a94af0ea3885a7a5345fe53958f0694888a6c9a70dcc46e0ee8e2db68d488911a1a230feeb8fe078c675943a38e2a3865a97794df5e244424bb102871dde865da94b47583ec51331e7dd69960a0db273d73dfb26f26c95f48cdc1a78c2a698fa11ab268ae16a87f6cf55ac7aef55ea569b782a7412c7141b7b67e1079021b27a314f0a6b379b86744e07b2659feb22ae6f30deff6360ce565ef63c4811367f6a0928d231da87978e53d875ec7dce8a763558e370f9760f3495923a2e117534590d1f0488d79c6556074f1a1e96f83b69225df5f6c29a743454050ad24a7d6118f32ea01364d551c565fd6710e0abe6132181ab609b0e825f130d2ef9982f080df55d9ec31d60d60113905e09fc1de7221cf711362f12180cbce4991d77e91d26d3fb8b18b2e6dcf5873c48107ccae90d878b47ed5d3f2fe667d820eac0cab32e5812e5a41e3cca18468cc84e0d326b7020582dc0fdcdb55c12f456b791d90d746a1f0065ad54da025d91ac293edbd4fc54d68d529bf599b25701db6dcd06f0888caaa96d361244b6609f90fb1e176b8771ada7b84cc3751ce11ed1332b2861970a19dca8ae2d3c0e27deb1bc2f74d467bcdb40ecd6a6035f8d89bd3088a0829b2bb1160005efce3b43c384098e612930ec67313aff1bb55ada89c5eb6526ec7d94d7bd5dfe42b70749a5c6506fe2ff4e14c2da490451aa9aac1a72cdb6b7af8e39354b996604fe18163f280173ae52d859e2ef3b7d6f34b6b8ccde7c4acc3cc44a5828f99359c5e9541509346b677dec637133eec6001eb4c311dc7ab25f4eae7bbfa93a2a5bbd6cde24fb6f8aa1ba368c0b378b1a1b6b0eefbf1e7b67287d555179fb2c4f47ec1ee90c85911ea10b78c1ee204ea6396277862793c6c33988322f2701d084ec7e1a2efc52727219c989e3d745ea9eebb674a2617d69469dc682f3c5bb388073123f8a3a27d727c19d184d94963fa4ecef712bfd6030e9d5c6bb501a4ce3a3a945fd68ce8f02806ad0d55915df3a993768814a5704794e611da8550907a220a9eb3b0de58a4f9b678e2d2f749c7a6e44b57da797dcfe402d88a65fe8b990f4a110ca6d9eaff0816acc389155738be764f906766cdaf42abbf70ca9ccdc012d7a722cc4edbd55d331ff6d5b5a7260fc1bb3e9b3581ec3712db5bb70dc224cacdc117adef188465afe7b964a565a02a1cf19d8376272fc16d05b21508cc62aaac29683cbd4b742e1397ad59a147e409bc2c55787cbc8f542ff80569b8d737d27b1016fd2d88e2592cf2d931c2112dc83f12bfbedc78f87b185b8b745742ea8f9d5c275199ebde1c2818c401e3e695a98547c1806359b4945ce4f9ffeb7526b629bc66042d3867d21d9158b4c785b39f133c203289d2bb93414d1d8029b39262c122bc9b990c3e5747e335ee22756767c889e8b19e59c29c447a9d752ee7d1d633170bbcc61ff6cb564ee356505ecb146e930fd78a64ac922f6105c93472735d68b78d11194988ecf44ab3d3b3f373b5daf8b02b083a19807ab0314cd22f246030ba34d3c7311fcf99f3e8d20aed9d2a8ac45a0972ad026d9114ad4238b7072b7cad327d489d93f3a07bc00998acea7a1ace8f97118c6f044b1f39831d0065b05bf530487e572dd3e2baef9b7f49663e6758c4f95bcd2d5e45f9cf2c47183afa848e74ed614a7c7ffdd0021bc4dfdb56fb49bdd415db3f65f6837dd93f34bc243f2ea0605c98f9c8014a028ba0d7fb47fecfd8c1abad3136a65d6a309f1550032897fefeef3e215e00df086aed492171fac1390ebef3af5373a9ab5f52973e209c8ae4129816986c9e3ae1f996bad7d179b156a16b41a99c27bf02922fd221120d666d71da6070bc21ce2c421924b1853ce4f256983a3118a169733083651f33460d11d6d7236509c75fd77bdebf6b77646ac9d11c5d167d8d05b0b373a5e692c02e3485f58c871cee144fb38ec4aaa565b35afe8f4dd6ae2adab46a863a7d2072c6f7f94b55d81fe922b96bda7f41e61999f5e4abb8a93381e421ae724fdb9389202975f4ae45d2590d207a17567567b1fb366a589384a4d708c993b189ba46b87e160fc3353f4fe3f2dab153e98cd9988733d7238d695bbc0db355b487cea85a52f2846715eba661bd14f5c1cfdce94d05de7204ea19ec793f817c4f3ff75e40aac61371289c50e4235a5f045a2fc9aaa118be61ee852f6edf3dd085a7fc03ff11a4e3e6226d39e1809044c2d795a6fc9bdc84839bff130ee65b83ffe2877153aa1e9fdb3e1a6d0bc3378933168eb0d897d5078bab03812f9ef92417c6e3fc3f512468f08134f6032e319a57327063176b61f2d406f49ce3024674fb4b15972fa5236fedc88ad5c4755a19f336d4102aa68a3686f56db16cd60066729a080d8003fcd43490a5ad36e7e8c55c721f238f84bc90a1836b2e846dd4aaf8b7fcf3288aecb62239e70c351d394681b253a3ee3804c55a5d1a732d1b2da99cb9b406ce25fd675a801f9e3dad270e29a9df33e627b9ea1bd6375c5d624e91da3b9e327f681da21dd0dc073a95edd98b30f1b5b036604b49f4bd9d7e7d43cc2b516ab4b61c66b67cd8df7004d95d41790d903580f8cb54587024c2646f0ba1c908506fb061f066e6df5594cd49eaea52ae8dd22c0f091a609d56c73923e981a541c48815afa6156a9dd70b652c0a8bf4d1ab890156a0fc17c9183a05e4dc8fa73b1610692861b58d4a12c11e9a300cd73c31c99bb008a9395da9ec9e8a4d468a6532d5c5235290b11e6511cd45e18dd0e8fc64d21a9f54d093c9fdb25be25bed13e7b2d6e572ccf2ffbdcc3161911a3a973a79fd409dcaf08696884b823dd82e039183a4f5debce689ad2e6388aceb728599f3b45e3660171416b151b8204b1c0ef70a596ee1d9825cfdceee273b0ff0f676a659ce132455a175bbc4640a625544dab5b9a818cacdd0e3343f2299feb5b2ea0f3e8b133a1aa3002d1ea200b0623bf5f775adeede98b42e48a10f171338fc34d697d435d5de0cf5c19b0c7ef5907fb66e7f360c61d9ddaf70125c7dd061461d6ef9220be51c6ec1af19eb414337388b31087f24c42fd070342e2baad2923742b6903640bf7c1eac862ace6f2dcc4f6cbd95bc159a9716152a4e3c68f83123c8eed08692f38ce731c4e756aee20059306b2bce5ee0780254982ed652e71d7f0d839a01fdd7aff98e305ce1e7d3fe085ac6a2f2b0294e435539fed2d8532fda1c28a2f6a32ee1a7f0495b93f3a1247f3f88f9b2a5dc19687c63aeb7b371b583ed228dea31071a644ada64bdaf5931658492127aeb122a450780472626d3067f71624e3f479ed03121bfdcc3d9e130c58997b9259837403c88c8c75f1546eb1a2360e889a6c7bea769e08acfbf01553f27c48ffc60f7a2f88099bf7fc56d9a4ba53647b383b45888320b3d2cb4384b842777e326022a13298d31e575259cabea16d46842a66e8ade118d42df85ac6a5ed9afff777d1a0370fc6137d71e3dc077eeb50435120968566dc9bee4d217096074d631588c1dc43b571f59e597cc58d014908eaf8ce519dc9337a1f3830fe615c2a1441d5e195f1476fd29e62172072b7b38c35dc3bc70d314727bf966053f0cb0b38c4170235ce1f4c2f243751967ee66259cd52e5b99ffc45ca41e83e4323064c674efacf30ca6c144b89224341e19393fa86b04659f181326893f8fd7df9354365f4651dc6fdfaf04f743b06f5412fb3519fdf971eee54e972dffe4c189559e579d2a498e94ec5bac6519c5758a19214af8173e748ea92ceccf1fd4bf8e2740b494c56df3acfd9480d6020bcbbd23d03176770d5fd1545113824a4f46f3ebed0d167f7005922dc983449e400b54b2b7049a0362f897e2d38776d3d99a7c90629dc2af4585ce806433fad934c7d119d4e9f4de3f7c62534a46883b49058ff6e265b4480e7f9253f7004ddabdc7e917889ae3265115311fa58ecc3f71c7b4fca4bfbea184e7c1fdb280d7127d12be3a9e05a7d2baccc22100913761fbd4cfd491cb158c8f95d76773552ace1437fe010f2a46614bd7b738b79bab0884f4866355577aa99b5c8e12b93bd0e853e98dcf83a63a7634d3f810ab08163558367370a6f8408bb962e4af51f96ab015c37499e9aa76d9e4832c58f51f801e8dc3cc04f115f5db8804f05fd93e3d2a53df253baa57a5973ea7b20a465af36e9c479da3c5777d202a0683381260cda2ad3b3c45c989de4eb891aee7be20689346570b4bf5600e4e5adc91c3371916c44ff212b913a0921f94f0d64269a730f85e340277e4b383241c5ff17ae241dd96d0d2b557070a04fdb233a8bee710bc3f24e102886eef8d52b7950abf4e6edd1a830917242a5f146e25fae8ea5aa74693f4d80d4bbfa3b226a03a4ca26f532da2d3d592cf98d2f5ec3a6dca0f32bdeccd2a6e36e9930ed7c3ea80b600b3aa08deb61c6bef07f55431309eb8d57274325b17bb545a748411d0f68282eeb743d87fa2884d073de392601b3497aca6a2e8f74f16a04f295631bbcd29f1af0d0cdced585d875735e8ce16264a007471c625b37690942564fb8da7c82471fa6f2592759a07fb655313eee516259f8eb4e0a482d3dc75c6accd36565d7d852e36735b5e166ec5408505449a231982feb0f884315a5862b9e34f565d1c7c19ab2ada61bf29ff8cba671ff30f96501374a409d39db76d36708d088f7163c5eb5dcc7203ae4557f79f0f7e87fbe213d551def4c17776e296e0a8abf2b2e56dd0c7feef9ad83ac237e6b12bbf33652aea92e4dc8e561a3770fc5707c30540dfca62c9b93f4f3ef95e3e62ef7fde3cb4667cb2a36ca4dafe8de485d7cb631b073f95531d3e6a77e8732354f3e54607d1f27a25f862a166e6941658a36ab0c40e8f429193b06c24de1f44be1f0ab70322bd24023b33be1ed093fedd90196bb6428f9c1f395fca1fa0538cf31ced7d764b88a86e907bdb91ff10aec7d909f7d4b1949e1f27cf511c41d52dab0991e24ccb63fdbc2886cee187825a7835f01bae72f955802c6ccff1656ae230fbf29151a4b9a5a2452bbf4bf7762263d5c1e77c4577025e00d3bf45ee4669fc20a6a9244c9181b97abf3f0c1cc2b873e86767f4444d18c6bdbe82c76065e247271c31221a651177b9f3e6ed94284178be095d1fb9e7eff128db33481495104ddb2527969e9100a4fe331cf40f33360a7bdb3bb0a47b9cd16929a0a9988acbcf2615e691bf0d4d765910bb03868d99f8a3e43de501fdebf2c322e086f0ee78abcc7c2c5a61c4c54848283217707c20477d882c79d4e501ef9bc5c97d930fd656afa466a46944b526067f491a4fd06cf90a9e7bd775672a24eea432b4988bc80705ab3074e50a260a7fdf0aefe49d3fcd25e2e8d58ef1dcd41cda98f63942ed3702e123f678d1127972d20b046d4b1c789a0bc1bc6eaac82b01cdf8bffa1cde066a0143cc093d08fc0c3478fd06057248a3425adf76455d76f9328a5af961303c6f24be415f09dc2719765200b5d7cd75b96201f5b777c93054bf1271016168441b8db2563c56f1fcfb831b4fa0930e2a43f7f4ae120e5cab7ba8b07ed5934e174da521d70a59da45336eb476314eeb5d23544bcf8cece4cc50c7bb227dffdbc75b198d16047d62c2a39dbb1441fee0b4fd55f58a43ffc9683c82f074f14e9a45ff3be1a9aa3d99bffaff4fb0d6284fcfc32e0c6355b532170da1a7814df24c4b12841737c7db70ca60704cef74ac9db9e4df7bb1e027d2a1cb9067f7ab76bec2ebf8542554f1de857983a3e6e24f9189e57e58cdb701d7a73207e212dc5177b3d3c52178784f0e1b5712d7bda31ea8143bd10fb07d7686affeeefc9115a1513646c0882d2601ef589874c0c3a38d18c4e99b2870a142ad4c3257da4e5993ed34e044eb49a35197ace3ef723f9daf711345dceef44810f975270648ace5c5f297632510451523b56d3137d728441e21ea0cd0572fd8a0e4a7c24b2a01ea702881879687879bf6b6a775116e9609fa1524eb7552391e8484cade2f13a7e19d1329323b0f8cd90b73e3c5c9b2f13319309542e1ae862fa60ac085ccaefe6ec87a8e3ad518fa99d6f50a0bd8ba82093d0da0b2ee36e0864efaa21567c017664ef27602273cb0522ce308553b3aa311abde46c704b1fdb891c846346b2643836be2a381a16a5ffd006d54a764495fd24f5f6f7a04554d6e837059d7af2a7506c9ca14c9ad863347c3ff3c344c078386a29a33af1811c45ec211e4c1cf80257ebf22dfd0e6d1512780bfbe74fc521af4d924effec25af0528f43cbd83c117ae289fc3d1d9bed35835a93e63eeb2fd5852779315bff0d2ca2e0ca4b5fd64b026054347940703c5641c44968747606f68fbe6d9b77531dd4c1f597d296dfdb317664a075203894d66e200454608994a3645ae5380bf7fcc515d483ebfa0d1286a61a3b4449e1638ffae67b408fc2c6bc27677342c82d3bf96b2eeb8c95e10ebc39f75e26ad82c3cb39402df05a2432dfff4ba9eff2473ed0141b2b85fec49e3923eac38144934cf7424c22bf144c48bbb4473a8388d80fdc1d5e76c8a32aea248c1b4dbeed2576d0112b3815ff90faf917bbaa37364d87424264288a144e2f8fe47c84923bf7976d46a0b75c720a774f703faf73ed58dd19cc2b2daf51da361d4fab29fae0ae3dd287b186f00509d4a3cdfbf0fe9cdfe911d8d19312a3a6da0e875ee2f8c7cebbecff4483c69f7aa70ee231568728018f71e4a17d11f003875fad6ac457a60e986a94395a0c0c29d800ea15b3e51e04684a34c8ed43680f9bbfb7dc0b8ad6ffe1e7a8249a98975d41e475179766f314d8df0f6927496114113b7184f08a09adc6e9e7e371d8db7678dbff4d828c124948665d599c3ec1becd0837f83565de0c5d313c3ceb94c0c73a71fa97739fc7bdf6adc64589f5451acbb71fbb0ed3333a19c2f1d513d82e910df0671ef338ee0746a2ac14a3a7626edd5bf2942b27dda41b8f3a5f805bcbefc88764bc5231b212db67d46797e4c4557b19aeaff375e73f32250d26f745ff70217f4ad6089e7aca70525f8f8aedb6765988d37640fc3c49673a6e3134bf9fe695e6aaae80f2b0eaf6890b891bfa47b77cfcd6194969c9833f43ccc3c980933bf87f3460ee253dbcb2677c52059400f5ddd83b9689d19ef6c3ee9bf0fdf1739fcec6757423ba5879988325e1e539895b3e7134341c700b0e60fc5cc4b671a3255c253ed14ac04f6918ca9bc7ea934e191f5c16ce698c780502b40eec092e1f181c6a8498fa7e255b4e38fec735f733bc05c0181a750f05d457b5e31ac2bfbb6c70b86b48bae6679c9d853dac595a8bb1b48ea6446baa74e8bd19dcbb83f259a6a84533f502532026bb3996198c4f0ee95596e084fa21e1b8d2e8c96502dede442826b1c29fafbac2ee0e30c55aa20025898b58047958f7b37d51fde22ccf32cb05392aea027ed49ff3c5121ecf4552ae6ff87b4a1e462b60830f34aa2dc3e5ef739b44bd4e365d28773a057beaca537a9308f7068f6375edac8647d0eb3399b7026483739b4b373236463bf260bc5368e5dcf0f937b612d16e8b3740713a984324cb251af2ac778cc41e40f564da0792ec430f5f4dccdc0d46613f4dfbd7b6dcecdf734bd3658dd3d2a4c04e8a8faf9c4f0957df0a279efc882329b12abc1cd17981a18b3e7962981054b8ebacde1dfdc384cec65f6339c7de96d6196cc3e557840cb5cb080aaec26f63a1af8826d72741c90eb8c09875653f19b8db3cf161a9be6a043b07030f4fba00c11eed17e43a28d424b37b2a5c1395ed8faa994a4bf42a53c0f2578c6d648478c83f61ddc7b344ae13b5a1b488b3b34b25d7affb9a238779c271542e1f39092d44f1fe4a2a9929169745101af0e6d27e4d57078d8b77169d891da0c3f0420a7902d41766d74194e405af2fa483d44903291d0effc1ed80da745730a4ab4455676c094b3077a087630b27556ac80126ed3c42bdb11807287d5a4039b7d671d4f318cdfaa7928c86cea4d63bf40f5f29211c922077a3514234ec0bbe3a5fe9bfa57e0b91b4a663a37dc910f4822519118efea2441ce64b819065f94391bd5cfc0aab6d973eb88c9bd838e90e7523b48105274b4b7f85aba49904291ae34495e94dc9dd00552f505b25653740e305e7c7e0771789f8505f5c6c66e16334dda47302c58d208b7ea10cc5688464c581e48084b78c25d59795ca67e42e7de41a745138b917961bd6c260c0c82077f37d02dd64c15f47c83a8260f4f80ec44158959fc5a52117acb1255f22d5a9b9475d72ed5520797df170186bb08b2e773e9f657c12699089c9a2742ee7f3a3fcd23a506559235ed52c44b962212a78ce82b7940ea8af408be707b036a0d5d015ef0270e70412b2ac495b1c978c9a90eabc4d21a8028b180afb73b34cf4996cdf387e03e30ed8f9a415b0f2e2c0f27f87b46411976304274a4b7d96c7971f6ee06145a6ba5b62ec609722b04bfdbd60ad4554d68d9972f54f6189b9f29a9eafe5c7f12d09c3b84856ebf6c9869b96c91ef4abc52e260c3daaacb72f3b68584aded8ce4970a30e36824c4441a8e03dfca8d1bfacda2e61be7a382cd8f39f134ed468e7e1a574009205eb8e28c9420ae4f07a219e2a15f16556761a82ad77d3ace9a67d5e6833dd18c224de3c4d981eb3d14b914e4f31e9ba7fcb395facf06814f78b80ff5dc574e69edb6860da508ef2ec83bdcfda64f9eec0004e8623f5b20624f263e99eaf81be8b61312d01b4ccd331064574079081ed9736db803590507b78494941f6a94368876cd0f9772ee0de4d0f990b2e2be2aa77b64c9638a7b81a8a27c9f27c49ac24b4b89524451b518bcc2a3709f91febfa44666824ef1d59f02341c03e1825e9be3af3c9b4dad1a12a6d38e69a2d0246903557e67911473f4e2935de399b057b9a14c8a13b4626f3ed8bc6d3198e16f012718b064d074f980b4ba80b131a56382c1937150304a48bb3333021150e9a071c03b6d95a450ffe284b0f4d70f8982b255ea8bf69aa69132f2d98301c35771df3dc9d3275ecb0d9aea2cecd8ddb93fcaf63b15780ea9a3ffbad6c357349f4b04f8d7775706a399878bfd7bd90b870b430ce33ba844b25a4c1ee51169c61d8bfb3e3b7bbf703a022dd4ff55a138ad15dd540fc75feb9408ed81d998d5cfaba20927d4f843f3c40150d97c3be5159811d4d079abd7e7991ac30c75c49981d8897caf34ee811fe287c5029a9ca616608f1e9a979fe40e0c44513ca440b4c8b73fefc6f31506152f1c128badc1e824d4a8b53356e5b893ea97edd1ad34baf1347d9277cb6ed4e863ca41b3a5fcfdbf3abf461152a4e947c6e710bd9692ecec8a1702c3f1a78c2f268c9428eacaf5d218c7acd24965953d0d4ecdd5b481775622a50c2fa6e60efc2f6736da6a2842d435a043e63529afa02c6082293a20d2249d88d93a5ffa69d241fb72d6c4055c9885e04b7e4966b1a432ec64de9c0ee6838f5d394bc73fb3523bf642fb22bbd8ff48f96596d9e19a633eb4a628209df33bb3b134f90dd0e2f64bff26f9f732c284d3896f426ccac3ad19dc2df7bdbc1fc44a304ab07fd1086799a198f355c6cdd2e9bd673952a5034b14b1f31b271d961c08653b3b2e16bcb4e1cc790eb89e9f92d672b4c24ac60eafc9503ae6b69aca0223a9bd341979e42484a051ae7be6081db50edb12c4c7973e19ac3b0f4ce3769f796af57026c81526b778a6489f9a7ef2fc2d6a812a1c51b727721af694e8144b10e21dc310d36b7bff57ae319a1a5379073301cc3e46c0f2166d523623a4bf63d7f31b692e9bfbe8f2ca4d5e2a2d498c015bbc46d3b34a7d6b0dc04ce204df1a7ee5ddc163f643d087a1c2c410b99a657ea75ce0af79aca9502a4cb3db1e3cb91e8e8ea101fc83b92fe084a634dc70dd1baaa493d4304c02ea8110322ee65d9196dbc8c4af2a86d03b1bc35a4316203e343ffb711a81f3d53038ece4f60a2f351ebebe65e68e983f6b4250b52ca79987111f7c8cc6189708033baba79ec9651350dea18765c6e745352fefac7472e02129591157b568f37c587d82a90c56d0c1658b9065d115b001669e25ac3215ffe9e9474d20438e791607894a68a6b14f485446958d8e3661b4249bfa8b66eb6ecbd7d94e8813a36efb7011baf60aa42e146ae8de4bdac41dec9990baaffe110b50fea08e95743fc07a73f47aeba5d718b383284820105c5ac36fbd7cc02327ea9f921ff9412574164471015cbbb710f5a6a0977c27dd9f7b53a9c5583a1df75a2472e069a79c00863d671a20a2ce1a03b5e8dfac6f74b0d878b353cd473fc0efcccaf937c0422881a2b29a147ee766ff7348b96c122586eb87f1b56b895a7c5e47d88d23f5cca25fe83f9d82fec82d9ec62b2e46c76624d209850ab75471735b3a0421d5be52cc10d26df5b5dfcd8a2542b3802ee80492b5545d1b6eca623c8f3ac3777e801cb4c09f044607a95498d5e4017d8ba4b434be5966550a41a38055d0ca1842b0350464f1c7e26f679b15c956d3b5f7eb818b3e8a9883db56788f0369bcd81bf840636e611e474fa5aacb584be3fe36b2ffcb16baf6044d347ddc1bc1eee15db8e2e10e4d3d3ff866d6a141a259a67b1f37bc30b490e1e71acfb47cc22b2168d106f1fc7aaade59f7d4c9291572d80d0917bee3750d2a6a4d2c60a475820ecf35c9e093c071552cf760d9349a0a6df109b857889ceca8b317d6bf66a3e724a2aa56520ab6c0e85af040e099f922aed7e7cbf64a7bb82b042a7196568b9c1bcfa6731bd760880d3f7989e7fc10eedc5551726d1f211c2063a8e576755cd1b0659c0bace5734ea5e10c01cde4266fa143da680b35265987e4c23a7a5ffc7e090d1931762be288cf91d7d4495869aeab41eb380c83b9a44eed5a4dd005382abaa8974df9920b844f86be63ca4d154627eabcc0d98cc2cfc5483b79cfb2972e649294ef1163e1050c9e6c73f53232861ea23d7b08443aa3eaeddf0f7fcd3a7a9d1f8700c8166a9ec631de52738d87a94a0a59bba1105ff46b936ee8b293a9581c05abb26568cb4e3e5d779aa260eaa05fe9eb5e262bd7789ceccab1170e9948953d3a5dc8625039d7dd766388d0f122a128c7c926b3d9618c8f69bc2e14a8e373070af8494ade8832225cf99187190ff8af629289c90d0c42f06433598d650762fca27fb047b8fdc6c817419199d26a1d8540b364b0df0fb77138892d97eda00d0f8c2f0724f43568091cea336dcb52319944d2cbfaef501f583efb2bb5bc0f57fad46a1e0df834428788b395a8f311ee273fa892f97bc23fdaf50f1b3b62e6d8b5a9eae0d5d7f6c57de170effe7866180f13c37c4cc63c3bc0449ee918d749f47bfa170cdbf201e57abf0eac7d6cffb925cbe36f685e6f8cf4939d81f8da373dfaff41b917ce1db46057abc3c318d42ba9d4edfa731e0dcb7bb8ececef58609a20ca8462a648c237caba559e53a44441218f4f10a32cc34bf09edbb4de4ded99047420fe8a5cc2109c3623433341e457f628a0ace6c5c6d6150a3998cca3412dbf8a2b73fc0b860c15e3212cffd65817ed3d0898556f6fce3adb44978f6a7869b718e7536e046e57f0f2f199af27deae6db9ccd8cac72e06c93e9e84a937eea52b7407087da25c925ea1e12f0b45dfb53a3c59abc7ded82f4ce9ac99be682fe01039ecadcbf6705d0266a6d2b70a7206efc20f5fb3df4239c288c45398646bc91dbf59e7338bff10b89d3b1db8c8d1ca85c4f1c47d4c8b4d8ba0c376607f5079774cca021d0f84bb4508803e9c27a2ef03aee981893772da785098f43fa111d834281478af4dfb5eb34e628f18a4b46c033487b8ff98841e1a0cc58339e7c091a7f35d4cc3cee4a350622763005564272718697ddefe8519d1d7d1047c9b8e696a16d912ecf7b78716d4982853f66a8231399246c193bd13405b01b5c0b76f1653faa64d15a2820a30f258d7cf6a59f2aeb2dea29f16a3bcff093e66811cfdf32ca379ef9bc28236e782d701cf901afe20119103af63b1b25d66ad9df6ca678ab46b2d8e8a4c320ef7fef8602267eb36aecf5d7df65f7f49e8436cd5b640955b6d93f469e88ac4386eaa7221a1394c92f1d116be76422bf3c1a6ccc70bca807ceb01a25365874f428e13bc7d9b111b4e3c65b7e8dd34c319b2079d99c34603bcfc8640fbe7b89ef686fe595d570939588dd9682e14d86e8359a026566ddcad8f2d2ec5c7daa0199097af0f6a0e0e389447fe9d7b13272271756ed5fce29485c83af0547c9fcbdecd720253799b9b468cd5713f2e4b31a7a85acc0365be60b957b0253e7e37f6e9cb6d6dc218c7a0e8375b604a9d86e95ea954444d073b9558c1356a964d8c1ee831742f34fbda6ffe983039c9a36b41a8e7cc7de34182dcab5e61a7b5a4caf8c45ee3bf198edec68331c0aa9de9478b8e4b0e833e962f980d149a140dece4a61eb3604684d799ab1ad24032e62c46857aa721cc575a11d210fed54e6249264a374e35fb3ad0c8a2b6c9a9b4e6e92c3a3215544b2a592e16152487ded2d442df0ad074073b77fe8f073eef1a8aca0cc3fb53fed6712804587ffc7dc127d4d6b06e6603bd82c62eb368aaf808bba8f3eda5ee38b1bae6ea3b00b2c3de551086eaf02950e4f66cdf3efaa913855f5ee02645ac982a6b5c2a36a0418ccb3864be5e7dcd8786fb053146170477b36100530ae61ae742288ddf296145d015c06f5e1608099974e4734cbfb26ddf9c439b10367d67dd1d3411f91031a23194781ebd6b960916ec81e42dd14b057af7df13fcbc69ac1d06ba123c3566e5d166062ae9530fe4653b38fa9dd7ce4eb4df3388b3f5453822f97dc65f5807370d500c108ebbf138abee29848b74cc13937986f801c9270d07034c809b8f344145b6455ea9234674dd6b8010f5e0ef4f7abb8b29c807849b8d5a2e61ee33767190da7fd88d601ba9b777723a92a15d38e573d3164a395ebecacbfeb43e3bc4cddacf6c68d1a584462cfa927f0fab82d73d3250ef031063c615d9cc2ca138b68a41afce8275993918a888bc1cd6cb028d113b0e1d5d01bbce4fefc3c9c435b0a7b70dfca0e4817af5c7f517fead59e63790c847f8fa5154f6c09c0e5d451e5f65aab8d2f053f158a52e899fab8c6bc1e447e8a9c0ed63667a4716f67687e7b09cb1c099e1c7aeb1ec85f879e28bfc3815b7901875e12bb60508731de106b828f5d9f62d373125b3c444a3553d0c57b47d50cdd2214e12284f35b0b0f78d059c5fc98c199c34515fb256e9d0b6160f6cdda57abe48ca4de1bd1449b3923cf8a5f25e17e2f28ee54a4ffe64639007ad1617031aa0709bf76e9ec4eda5e27b1fc8ff75b68bee958c54cfbe225aa20058414f48776b8b12f8a23545112a0f5a163b51866bf2e298e38bbb28ea75c2e161d0a4e85118d54ef4202e2171330ba4e0551003961e45a08bd8d879554e4cc27642891869b74849b63e7d54ba5b5f7fa482e6441d29f0d8f88f438c35017d67dc4f5b97735b4900b361e334e19b6ae34cc051e86d8a5e70e4c18dd8fdb438b53a5707145f526cbf11778efc1f6ea4949a5cd4c17d8e59588009088b28fbd6b30bc0d9b08d85bb6b3da6eee042fdb8eb98287820aa80c001743c102b7a0d9215db2770e6874150fc8d87c72c8778a43febc3efe318cb25403e3a04ce6c2619ac95b8dcb6a80748b267a98b66b7607f1d69f72c871bb2ef3e66e36ad35f51d32f282c11da1a753cb06448e4578cf055227d719b7cc0be0cd3945499d80a933988d0d61006cb4e49bf67cff0e4d18e17c328d38f82140293439527f5769bccf022041e12427fe27df519acdb470eb5e4e184c18af122eb4563292a322af5e56092accd0d2a8fdfe95c87751c73c2bfe46d7663b6ebfba0befe64b9bfb81ff818858b84eaf8167a09210e8856a621688067e8403e52923042c55832e5a585b37962f30b373a73e82338cbe3e44038ffa9e5351b69a046f2ce42c9a977002e52af112a9874f4b034591576658a88b0a3d68b5e7f9b091e4dbfa26f5b0634a18f340918ce9451a85f34c3eaed55ada873e5300e90d9d59ae472606f405b87950ae3c8b2b00afda87852caa57237f55f291e46d7720623c3e17c78684ea35086dc0b5c81a70967857d79b70bcf21dc1141d23e52725af7cac18bc07cff09e6f1218c11b06705adec777ee8120d43fc91aef776d0d92cff6713d3e3130d2ec1b189557b864258b597ff73d4d3a44bc01eb28e3d46716d795221fc1587a4844a4d8fd428abbb8d15ba144a442a64d8052bf5edf4369282c981ab5a2237c7fbddbc4d8c07023556aaa31c9d747fae3dfda20a371d01dc2696b05cb291b89796d6a1a8d16ef17bc7e50014e7e260bc45469b1e1570e08413e4c46f2a7b92fde790f69bb7a3e58c1f9e0c1f4eb637980f2714f097f1746be81e7136a65aed36b9feb182037e9a4ff1a35b01b35e1295956fa8c254dd5d968e8d55aa92069cfb732f17d6df33623e7237c2ca065d77924c2311a631e0a45c05548f95e788401765dd7fe58d2926a0e62f18aabf27b59900f48fd8969a94177a8b73e469eba8203f91e781b8c49955cdb80843ca356e10b1dfed7287c3fdbaa85f16daf3e1ba83c4c1cdf84439bf833b8d8ff82f69414048bee73f0f2cb417859ddb55b3faf535848f3b1fbefce7b9cde3555ff4bbd619b375a97b511367dcdf9a4d83d81901f1d864054bda9128efb210c6081a34a266ee3f232dc3a00295002ff28a85891bbb3aa6ad841b052e7594b46e5b7c25536418497bf18df6eb11d65478f8c8624c9ce5cc756678304c316ff8800a5e607a07e4912ec00922c7174cf2f5b7ef69eb14fbc10793c0e5901be0246a58f689e7b3668aecad6d79ebf467a1a39828db1c57fbde83ece07aeec380e485cb1df3291a90388eed2bedafec89dd7b3000e462a9ecc495fbd1834e34e5e0c9f77b2c28a7a55a140c9495e761ab4c4f983c452443f38ce3efeef5ccf6b2fd4c28f5e5abf6df3113ee7e3cc3467fe5a9d2947fda85fd14d15f9395338c77da08d031f29af3a153a284c182563c763b32a70acc467ba0dcabd61f8fa7c2e798a32189d4614a2432a23d93f0ae7cdb93499813686e1c8b801375eb4892f1b499a916e40c16fdf955edc0baafc93895424482533ecfb8db56162fa8aba4562e0f832528fa713d4dc507f80d58c3fdb117ac72f0d92d90845cb6ac6e14e79f38dcb5558550b4e04ba1d272b37ef49389b65ee46a5f634d637e5e3c6ccec575b1fe5f287aa5faf785da846a4113d6785594d0ad62e3d392abb1075c6a2b8eb85f68ea461964888367639a0f6717feb580bcb86081d7353b90051623464e35359d2cb01d47fe39fd144cdf83e3e5e264c6afe4a2df40191a4cc948a333d57350751a9f50288b337248e3587a56f56f766eb3c32955fa13bdc7b9c16dca13b1b5f17d0240d7b2a30d174a0dc90429c8ba30cd14da70b9f794a95ed8e0e897696ac1c775fc7ead28a9cda3e73200f495acccc157e99565a994e5c58e40494565c84b293531b3ab699732fd423305dc5c4f0184686d2383f7fe4967bfd5d472364ca80a2fe0bd33bca7695dcd6a79ff6928f04b7def45351d068b3944beb6c54f4a4d05e41d391fb724867dd2a7656472acf7fb5c99b67e98c9322e4ac72fdcf552e3530d7c9992311305be03477f9b296fa49dc7efbf0e39c3f989cedf39d551f55fa5ec9c9a45494a958614014fadd7d6f0d175cb6a1917a5040be25fd959338ea357fdc051b6d09760fef695c74adc20ee223fd1ca3cd872b8cd05f0d66393567b323273011d895ccc3a274fce4f707c05b93710ee63dab8ab0749aa279d1a937e9d50fcc6780c08477c71d190c2cc296299485820672726244986fa902c144d312d91a2e772d1875dcf2c6af66d9b4ac6f930fc7e99047a53de50a4608991dd26426b83e7f2c18645addf1a8cef068f21a77f0de996ccfa2fa550b7ab8a1bc126489c5e4522a933645720e8169bca8d18300a7086c437dc9ebcbf5e35de296e7ed566186593c18acb1218c879c70395fcfc206cf4aa8c255ef6272a5c40788a79369724a8086c3a3da6bb5d062c3762319cf624e18063bd332df563fc5c975d3640a94f117c1d30043a42e67a9031ebbe981b3dda6f88c693593742b61ed4ca9ece2297a49d03bba679216dee4543fda8636355496005d3cc10dd5d58796dccd42708fb56bbd6dd944ecc5d47e0273a299dd6c19866554fd9749e820c1e171573da1bf2e2c1f3bd70b2d61f97d07aa68f94f55ed3367054d705d3b6aadcb0f49b5831962ee6dd7d8fec7eca5c100a86366707bb8cc169d2ca9da9649ab23811f0467af7b0d9dbbb8cf7ec93e3416167e1dd4ebb206b5ab93f3423d9de39cd16a6338ca78a57436574c4ae03b7d3b99b2af2315b420f47d5d3753fc2acdc3bb3bdea20a033fc09924ca7bb1ff8d24a2a8d0c389b14e1629f10c95fa5793e04cf0c5ba18cff8ee8be9db0e34ef7454dee1fefa81781c1c2bfd9b473327b3012b2c5c1f7c41294405d4c8d96ca0cca040edab11d1860ab975100f1d96c68e343d40d60228018666dcf29ab4ec625e4fcec0c6b44806f7efc02f273c6e7bc2bee4dc1974169bd79900624cb9b5496458981a531425473e077518d6ae4405c5a516c3d139f4e1c7c55b515078471002f38d888d891a834dbea855f43f7cfb5cd6bcf0d5096113bff76c881dc700c817175cc15d9c56bee73dfca4a445cb0533468bc54909156945a2286376296823cb8d38d7d86cc3ba5f33d2dfa9e5c140dec6c4f8f2aa2b0889346ae72292e593d3cd38daab929043e7b7c96abc0c5a2b582d28726af47c4d486f8792b5eb95766426d41f89fd598189aa2b7301cc8edb69aa70110897666521e39254e0f63840f6c715d113e341bffe99cdd4b2c92beae8aef6e9787cda65d61254b380c9264c0efec3a409e2203b833b7b8cfe741c832c08407609ec66ef7501381f24537b76728ae64208293bf4fbde362692d726fe6d589f924511644185e559bb4df7d49a4050b8c65888f45a8864abc6160961f389cc4a5815f9b5e817405bb50e94b1c0992a3aef39589d8cfb1d2d7e14959d9e1dac289fd3425df6030d84fb31591952cb0aed7512bb7062239706a7193c7d86f55ff2393aef1075e2b4b7b667444e04ccb4b7df582720eef93b6d15026348428fdaa56c399e11b596ab2315d67c4bb639cfad35f4b2520c543f5374187fe82a45cdd00f2c95ebe60ce78d9db5d36d7e3932df4b3b8eaf8002aaddfaabde7a4d5a9f5910b3d48d063bc603ad82998c847fbe09fd26c95152ec6e49f41dc96b30dc2c374a2c5a34940371cc3bb27e9ff3588b653859b7ee32c5bc5db7648a7fb0b005074f20105f37bd753f0afb3110c382047c2dfb8433cfaa3058feae9f45d0cd5e66a32b3b7dbfaf6f2e7c18361c763cd9ac4345f7eb0e572b757cf93e9d6979fdc45b93ad69f9d12660d2e85677a4644b67ca382812ca369edc705870b90eba74255c751dcb29d87b2f1a13ee824c3eef3541cb5a87a8e21292b69a6e44b8a5f375f95486ff896f141742f1a50605fc9a9b9629f24be8325105bc63bec7daaee9b0bf4b516b111628115bd0425081a1a1252453ce6c6f670a02707aa07978d874883adb2c7f20f0d90dbadf5363a8a8a5d62608fc2604243c5357a1275c7d3d38fb2f6311ef1c4f0d0292a69499ea28aa8d3ec3fb3afa13361ca8d7cd67b25d0779158164338d5622a8f37b367e6f987e7654f843cbf4f8c18ca2fc5477755038c2766bf867f12b0bd8c574766d7c1a7b34b892dcdb05bf975ad1fbffec0ae1122d8c2233593d5f76919b13b4209112b85fc57b90dca732e58b6653c29a1967e08095ba1b54b6e3ac2a0ee79340f9962d1d91f88dcd9ec7f64c7f5328bd42092bca1b4ea56aa9ed8093888a0f80d88c4d122a49b3140691eb31a0e6205f2758ff5195c276bff65473598d1454a9b82526cd9bbe6e2c45a32e2a47ed7762df7efc0fe1ce25016f207af5d64a088f098294ee4b693d85db5be0891d99cbd049bcdb1b51f7d138dc1ffe6ec6e697344ff92a5a6ad2c033fc3b94b37b046492a9f16f6c45c51de4b4ee9d487627095a248d92e564ee01ffd6b49a37f6e5116c106ce15136904b60b0b498d50ddb9da1e7cdee3c1462f32cc2af4b42e4237ce597f953439afee194909469e1f9a42b05ccdbea90f520b0fde79802785b4f9577ce79270f454f16f13718a080e2a8316b54fa201bc3f5c8bf44a129d681214ca611abb6f777758ba35b608bebbcc2e9f3897f301c135063ee9a8624cc4725e05a41600d3d7efe8cd0445a1c7ca266a9b3fb48f854d03086e4812d41a169218eba530fef705b0002a9ad36a2f6094fa5b514061182ccf4a5123ab2dbd5244dee1380d7f844a4793979559a3293955b57cfb779cd6af60a76042f627966ea48fd83cdb9a90e5c4dbc6b2a564b14b90ef3594c78126cdccbde9e3f849fbd855dcbb06d3148630f0c8b2cfa33f0014f1692fe296cd25358525599d358e114bf840be53166eec447f22a81b8e6daa59432841faee6b6706752cade467aac277e5c433d32da4400f891809e001c283595eb62ee2953a24d271efe5ac4710b22ee5dece4a52b37328d50a4d9a7c277c0c7fee4efda8d0b8bef8e4db9452ec049b31af3d54cea25ed3c84412ad56371a4e494663923305907915a47ddfb39a4919ba481a3df25c6009ec949face781126582d032dd720873701119bf75875e90e9499b252084296f8ad73ae3216f7794e51c296c4d285df31bb01b14ab511d0ef4a3b63f5df977addc513664442e7e32640396dff03bb2c7838a5b4e66bf2281f116aa0e3ee4d653af88011d66a6dad44feda5bff333eaf6cb793fb44745c4536c9561768f64aff94385349258491e7368870c0670f4cf825d502d85927d2c6ce50d09f20cb68d03949ffd58daa2a6ad2685c5734d738436ea4544d4800ec0dae964b8e1420732bc62c496292fa6e10af65ff3192397b73380a21572bd02fe94dd0ed0a680a51a65f9877347dd2dc479f36b78829988b72e9af7a369319edaf1e778445bce9592456ad9a7d1d993803aab393301abf8f082aa83496876676732594d9209abe2133c7f23f41ab16eb175024ad852fd6a20bf9c19b902d5e9e27e6ad4499b54f3750ce15397ad38b5fd296019c40a4bb0f6d3142be96badc279c16448ac33c9ee595a81abb6f78bc59c345343b38d29624b5651d1cbb144ddf0b61792b7671ab7df8caa622a765b1877b348831d201642ba7dd5d3cc3e5dca2252efc8d49722f729aca2e5188fe6c710c4ae00213b7bb00d501ab31bb155adab91d72dd068da1dd787aa2e1a3380282a3aca415d477a93dd96125882a21a1ae86537cbfd3f28d3e8fcc7c85cd167f7e3e37cc884f53bd269d627100e0a5e94cff404a093ac6afdcfafdef010b214f3f0d4ddc3e9f7cf94eeb23bc05bc25fc5eca4acf81cd2aaa53d35a4c0a46db8dcbc017b0c58205306e59594b899a9e4b401b8d3b4b1eb7ff593f00a4f5bb7d0df837feef505c2f3a19367ff53ca9f03aeff256d62c22fee1d593df8991389b910cdcc350870231dd9c012bb29d6a52a80d123860e437cc33f2dd7f25e5aa1e783b4448d55342b3914f6fe84f0a82258a224081852ae861984a49d823c31422f3ba61273df519bae78c1bc05308f405531835ce355f81523216b9839d3c6e6b14ca603bac95a462763fb4357e487d9d15916fce2acd8c4032fc438b04e307bc17fd51c77d23f8242b8123d24290f35f8f1e25ae834965987fbb37fb66809fb89d39398d731175f9ca870b6ffe50385a53ecf4a5c572c638335fad71533d8fc33406ba97e6b52de3a43948f81bbc72829a668eb96ffcfefd56c2880f1defbe610c816dee74a984a7988d4d4f7df5dbde3b4009836e7c3182edacfbc0f8c4ed246dbbaaccf79df6615e394b8cf056278496c4b9fed26dd35f3ab28daf2b4e30019a23dfc742e5eeca27569758f9f3089c093e2ad8cbe55931e31d2c14b20c65b5be3c011f443f283db9f5f4b9c5ecf6fdcbc50f9df653df25ea0ac7132d1c7d5f9516958ac89e8f762a9ceee60ceb1e2e553b43613230255a84f1c06330a2a9dc17204da29e5958e2da7c6563445d884e083fc7daa60701a4a0f6925bbc4104478b987006b3145a07168c649e8b8d7295ba8bb53d293ee302ba90058aeebb824b1dedd6d511dd86736f18bd8d368019d0da2faa20cc157cd180319833833b3e2b3cca8676b74822a0355cc8f94c97d6c628cf156ac49d872a2f0e321008228d73cf404450ec381a73c3295cf01a0a940b79d24aac2422eef5e816c0256525c568902fe2dd86f7739bcbae9c1d5e8e81e97757882d87d0a0035b4333774eb020348975f88ba849f4ba61d2e61bae0c1ab1b76519ef06e06042fad21d3e1f87406d4824e8181145ddd3bef024b8af3861b3283869dcb2c6cef4141e2da3c7b86cb9a393bd57f0fbb7e90ed2a192736c075a04942c5ea7171063c9a2ca0fb0b05ca42daf4c2cd3524ba28b2798ea072ba80a320b37b2dbdf792f7668664629d01b804221a64eb7818165ad87e09fb8dc662ee4e240768b9c144504b51524a0a0b6dd8769e782f0cd51a8968e13758c90740f125836257c3d9f1eb87164ebc3ffd9c28e685c09a34d9866810f26d519522ac096483ea8e3d09cc1c7e1579a7d2305c3d2dfc7045f02bc3b46b994a79d261b677bd3daa13dfab770f89f3ad4efa19430914c72a614de177fb12dd9b9f841c29ece21e26d6b36d7eb332a9887bcc13b4bfa22182b9944c4e4aff295c4e58064b0a249a05ff5d34ba902e0d88ea1a7e710ca63bc8ebb235392c86f846343b4f2e379687b48a8a4c9c3ab2f6f876744e5fb4cb819b24e25ea6b54cf2c42c5abf2d0e455cb2673b738d2f6435796eb25ee105757a7ce69ddc685d494a52fc555bca959e7de76b093a24d1e734261f959be5d554bf5cb0feb67f2b2b566aabcd339a2f416361b70a295d4b202065b4799a40608b15767e740cb2d873cd625beec63a81782ad0c1fa1fb4b8df83411cb89b1dac7869ea8d0632361bbe22082a6e165020bc2d97a9359c50f44609cfd7dd21e866cc8163ad7d9889a903109076cc5cbcf396e9377ed5a55834d3352c91f1ecbc756126ee5ae2909dbdb26da620d880310337c69a59be029dbc1532ad20860c92ad11fb68e9290a8cc4e5913b57b1d99bbb853e98533fa10e1cbf7571175a7cf3634559523761cc846e845f75c5c8ae7535ffa053f6b7bbb3e1090902b3ac987797fcb4f6d063c3638915ed6576a5961e27eac1d7077134814f0ca5fbd61eb0511a87f270551dbca2248e47e72508b49ce411d1476ea7bd59957f2d8318497b7a538d894f9518b65775e410c8f8b4d01b0de8417837703bf54b9368d6801d5cea310962c8411d92f1e46e01c9599b16e0ba971a787dca6f5f5320ba4982cb191bc8e8927fa6af76606368dcfbdd2618c543548c99e06e07ef538bbf93510fc1bc2035c770177d06b364a0098a4486cb21bfe4ffbe0ad4061ea3baafed39bc642a4c97a9eda8451246ff70b265ba1bb0c25f3b05807afda83363fbd9451ab0b3f2c0081e5c4a6e5428f245e17a68c331af529fd2e8d390efb4e613c5fdc31c90227d76684c1e414496e381ab5ac80f37077541bb75ab67c2979d875e5b17efee5b02ecb1f016c647acb1d8438ea550ec9e7f0ade5117ebb47940f80c6cf077b8fa7c5120ef2a3c593543560b7e8e013a2ba78cb1107f22365f164178241431c75169a9b5f9e90094e855ad0373a9a6781c88bdffd5173ff59e97bd155e8f2ec73559904645f720cc5da1f5ad554eedf5e86c44326f1a9492b1711af859b43b482f1ad57c36c4ca5ed02542d521fb0b6bb127f012b27a9aa6314959ea7bb624c551b951faa66e75e40c9f1ac21d36f0f6dbf34b582632b0e2167269fe1aad33e67b5c583feef5cc130e2df4d863a913c9a54781b135b810716cbc399689d59eacc9aad085700d6d1cef95a620b37acc68cee092e3b69e3695dee3dd260dfe7bb47aab23957cfa718f1f5ae288ef2762dc7c19961138c6629fb463ae9fb42c553e2178a866c7bf76d034b143489adff2b92d8e67c4716c91f23a7e37388952ad395f3542ba4f8db9f993134b5659d8af5007f9f429dafb94a8c705e16d425badff96f10b8012ad30d7331bd830cb4e538e1d21688bdbfb6a83cf2cc719b2bec85a4481058ee26e1317ee056f63b4909a56a10a3265a51307085d73123d92108a4998cb0be98a13edd1c9af8c2d125e4fe54a7e0679556c39ab1cb4dbcddb1afe39a32a11f4239f679c7403a18709afe4f0b47a55786cea9ff3abcb5925dc2d374c8d875703de74e3c4f86a20194b2ac5e8bade75a29e56d07128f975032a07e07f1e9d550b77cb5644572f3a78a2e8e429224f60ae8f8a87bc069b84024843f7d3bfb4054b5079958bb4422bd6a1675e6dceb14e74494b24ab36c56d67318781888f0f2bb7704c201e72295d5748d9fdea5198662038faf468447ace999c4f205d9cf83217ad72bfa962656c166a8cc5e62b5bf536e5328c07f519e674c6618c97140f27c2bc34b34899425cddd716b452a63b8e337b5eef3fcb5bb53aeaae5800869d82e7668d5e3f583a1c6f752f1cd86ad02a13ece4d44525b6ef5ebdf0d0cbe35c9297b172a4ac964137bb40e00947d9e0920c19eea4762535ace87ff793e4f917f5bb667662eb2252e1bfa73eb748c94b00638f07ead1c59c5ba8f04a1eebe86313a1385a016e589edb2395dcaa3ef5a912fe0bc9c4de49387e30d44dfbc48dc178dd6f54a4d570d8d9b574ba8cf3900d71bc38f2bd1e8f0f4986e79175b989800c6b580e3f73afa79aa9ed435cba3c23c41bc63b588a214c431d3e54dd84f164a9665114ce7db3eecd80404b1540e56d62cebbb9b980c485c10528268a5b4e271424ef754453027777e7435c2059015aaf8fb2224d71323283dc05dfffd66ef92b218bb6578819a4ed8c32b912f95afe5541cdf2a0f69093224b3c10d9b75ee96666e80e1b51148ea9ff07fbec917e5345f70cc1b05c5d5e380e242b82c53ae3c5f72e7691b1f9426541c951f4b368c79015ed573500886058a54dd313edf38ce61a0b075eface519eae1eea7757de214787102eefcd0759a9c3d5c88a7871c3c565c0a39f7a7ffb6c59a8cd79c136f236b6a85a3c1c62cf5dd34031668d93e183aed2741c439ba608c69e7d2c51106c9619c23c507253858ada15f122d773825e5c0013e31bd4fdddeb707fcb2d512d2e928d61aff66d19cc85a9032a664ec4ae50d7d1e2c6d4b291020ad784a6871217e3a47cc32dce2c85e8c839d784c085ac2339978b7a25d78b59c5ec32274bb2c1b79187168fbdfc26391227b3a6a31db2648f762fc6a5cc324de694f963032c161e0bc0b3696a9459724fe8c1e8e7bd4fe3fd1be9e50ca9d08fa6ffaab6339c9aeb1c9a70b76bfa4d816e7805ae58c31ef6e25a29e058f7bf504a4c81f952baf15454dd1de8a5c43656c98ab8f25039df1eee3c0da643fca3c59aaf928329d1f81256b4f33e587e225a7107440cdec3b81d1021b82ef448bccbf5a6157d2cfc66d9e28959a0a23ff3818d4109eb2e26fe10ffca9a50728af7227c25d0bfb0f1736c696550fa373f407ca86f427f01ee17823d8f4c9043941021f23787d3abd2848ea0929531e2d7ffb501e02fa17f0580b97e5e7da446533f1691144e1ca7b9112611e11899f377b8f3da1b7b95acb64401ef27d80c56c1ea87f1864c621fcf8d329d60f9348ffb8282232dcf3408abb963df7b0fceac968a2acaabc7de95850176010e2b761e4fe5d6ec3df057984972e64627be20ea12f2cd45af464683bb2d819ba6b04b6c2f988574792a4afc1c344ca1789e45974c33317a1241a0775d14071c144fcacbd88f5bc0ee628b5e9081858ee255b9209944324db74bf14a8ba4c7784793778d29d00d6846e22b838734cb6b71d564fc1072dae31b2fd5e0e85b46a30b39131bdb118ef1430205a22632ea2e63dcc5eaf38369ba42a111661cde0e58c84219882280a174ee8b4edef14436cf83f5630fa312bc47dd7b7374aaef839b6c0a796ca3ace76af5dee81f2d0c1e1151f91efa6ef01219e9952619f47cad13bde140d92f83b157d3cdc83a4647611e32e2cd0ea0e67d233cc5c56cd043950d4d8266b35e40a050831bb4bcffd66e4f768941f3f29fd92e29344b9df8f760044b67af0ef76912209d3ccdf48438d0bd8e656f0a4620fc3b7de3ecf4cc57f9fc3b4a0e422ca2b0c45b9bd2f42efee8fd823cff0ea482eca4a1947e2921454a70c5d986b181b44bd4f6161b636396c8b5438ef3b12efadadba6c4a99b8b774868f266854f0463c0231ed01b650b8366d336e8f5a68b376bb7d778c53c83d0be5e75bd84cf2dbbe26666dba67b089ccbb495b914c83840596f6e5911867469bac576b3de5bdd2c1ac414a138f508642d80ea7c8f87c0b24185db7c73f86cc32ed37ff905fe59064a8d54eee2b74051f8ec76e2bbcd181e54f7d9aab3b6d015d89a1a57e0a18e94bf3fd6201ee6b974f66d6a676461be351109e776f2f4634e4107c8e4d07addc9279d89dc8c56274332c2e6bfa001e16af67f4595d2206257c5b1de4119dca81a624d624d0f06874c010d7ca13ac36766312a4ffad3c97fe5a285cbb7616de8ee8c905d1613cc0f9cb9a62998d9be3ab132b7e66ed93b915acf5976c1c7d4efae5b3889d5fcdddb3cebe2156afa52da97b59c6b77fa79a1596883618c494d80ed4ce0bf2e5b6c4a2a2fd1249606e13b600d26e2d58ea5bbec7f286dda78be2192e462184f81825695ac1c6e89216a599d5c138a83c2df9dce8cc897bbdeb48687c6caea421791d76352eae2418fb746fa3a694a17ce262ccad777bf47c54a1a0cb5041dcaec7e35b4dff31473efc4395bc38d7da4d81303796df655328cbddceb4d17b7844b5bd12046e29657eb060209ca9068ca975acde3727852b7b86e3bfdc6780add6a8d9395f88a9cc027639aacbea79e0df88517475a39c3347986bfc98d20ddb3a7695cfcec07906e801210fd7634fb47a775d0a735cea0719bbd05f8012a7d8804322c518dd89417035f65ae3829245913ed08a2ced4537fb8d39424eb1bb7335e722ad0787fcb15fd019d043293c2d7b766b9201e5da55f69444659e82b2c5e2704c756e145f202b662b5d6dda321bf8d51a08d5a2144060c36efba6ef7f2ee1e24586867c0707078286c56273ba45ce5947b6a1d7abbe9bca1068e002a9227b2aabc150f2c5e3666fcc2644671f5f6009302cd18d8e2c83f3f49d39ae2fb6802a006ba092446f1c10faeba4def1036690ab1cf7b2e7f69e67d843a2c7de19324ede8f83c39a3189066c920db547ad52b500cb1f26d71f320ee53be5b11022842e81e1610026ff9906e9314f48a352136e1ee7c2f418a4878cdac0b893af388165627a9b59accf827f973d6d687bf1ac1139fbbaead85b93ec3ef2a29bedc2e177bfe58bdfc664b566cf3f8a2322b90831fb96f667fc10fee4897612b08abca18953e27d2ba053c57770c3303d5e2726fbdcacf09062d0cdac6482e3310c73c61e2e6564b5c9d3013d5487d79c3c30595e0f470071ce6602d1475325b6feacc715642648c9700804d94ac72810638aaa0c8d2bbaa11892a0876574c33b42a894ddd3c6f9d3b1d6c02bfbd9da7e59f983f41be140f46d54907881f3e01f1651c23217cd98352ece00a11996732506c00b351e77eb5eb95b9a3b909c4d646ac702363746f0d000f0d5899a16d1aa10c96fb31581e8f82e604f3837255a52592d81d5dde1747e9ebce76ccb0b1f313b2159320991a77163acce07e7d06955d5cfabca5b5230b111bb8ce2402e09ad2d8008c25832891558cf63f37aa52af8a0cfc4e71cc34089df2be0ebe68cc9ae0cfb5afb7965f78883e1c10e57fbc2b124ebd422a5939fe1b0b682c293772c0d9e32202c8cd800a3e7f635a69c8b56f443151f97fafda00da22d737d64128bad2a50c02c8af5f3a031f832a69bf5e052e6045b76b374d7e9bd1e4570e224b64a978eb0c3289fb7732189bea45a25084e5426597b9119c502622c7e38e99513e148ce1703c9662262ee89b77a88f8303227d6d5b69fa0d87d5cafe47c0fdbd196c5907150a783e38f2d86fa25a626658f2625d55fcded1aae81af7a5a38f10416a56c3dd50cd1e35aceff34a6197e0c6b59ac25012f22444cee30e4ab6400cef7fd438c2faebffb91aba9813f34b656fd5b2f4022faf87b43f21289b7fe73dd16d0c738264049fd8bec017f89c32dea71091dc082d4b836eb4c27e1cbffaac6d1c09eb42e1aa2a0dd2d4d175fe840023754a3c030ebc2c503938de6917db562cbfc3a4fdf7cfe44ac0a476b6e5fd8526b384cff742f89b0a6014f7fc6c2fd1e1c917fb796406ceccc79e1bc5d096ae683cce47667abed30bbff28d05aa99029ba0bbe92609172ab91c7f01da5ea22cf6cc5a747a25289fb833b9951f7c527b86c52cee0603f91d56663b8d37e94fcde166daa6f25975c5f91644f0a9c0e0376a86d9146c859480703bf2cf87cb75cc89911accbeaa19ca96b6f7902617baad8843673abf88e20ee5eb0710930a626129a64d48e0af70a1b100749bf9e26a49c431f44c4a5d595d6345faadd1711a26f0084316cf8dcf880f045eb0697ece0562352a93e50ee4d5cb25009bfaa717723e695efb64ff7c2cedaed93f5fd08020927843193662c1e66564aa7a7aef5a10d907b941f27d06490f3d24684012e119f97427464824a01c84b893612126ba130d168a5dca615c4f06f05341bd5e30582288567d200cb88201ba1eb629e581fbdf5f8cf4367fa319598f04279bb61a4903efff3edff15139b8a491cb1df03b0bfbdfb13e788d2b882e802e51358cfd9152b93ac7514cdb578ef72d0322e3051b75d99d0d11f3e56fae7dbde38650a53a7d15b363fc79f675280518d439ad21c7d66328041454718a996ddd604c9bafe63d53857ba233b2f434fccff4d74565f46b90df3cc44258c4f132a1cfd4464284441beb197e2297cdb89267a560f0695e9292683ccb24355b117f42754ef1bf178d24ee0019553a8b8df6389f35849e0b7dd9b2ecdaab055af7266c2cc34bf51723dc7cd1332ac80ef6d3a6c4f19ade73327887329a303c48cb0db5a782781d60bc34f1c05658089081728f1484f267e38cd1f1e832320fb4918c8b86eda7ff387018ae13af6ecb8f30bfda4c73f09c2823bae330e486408f9becaf2b02be5948c7e966a8afcb0d9bbf776f6b37aeb2d221b10a95ca204dfbb3961c1e9db7cc0b1fdae39d7eaf96fe26154ae6316a140221d47ab3a4feeb516a15ebf8cf22d8660ba68ef5c92d044f16990a4aca063d2954bbb9f7466338812affd4d4f2495e0d5696bac32d178e6ac4234542a1f293c95e4caf4319e1199e056606530f7714859b2b8fcc3f3239bf6be243c396d5f0fa61850088c0662dc62c625571ec4d94a8daa1c5e0a5b5df94f3fabc85d695704cb2e098c49409cb2da1bc54f5ec6e86abe7d65b01a4ec7a92f6541c455ce2ee640ffd6801763cccaf5d646aaff6e08bbb3822548926da4d17e57ef47c2c3a269a661d32942d6e93f4eae80abd8b5382f722713a20aed3e0d499be520626bf534ff4d77630a0e0cf55fe9b93f8bee97c3ae7aa047e433260f0fc35be9aa07ff6688498124a0790af6f6ea85e33d2edfc0f1c05a3583d15fd88f659ca9e41538f0f06745961a3ed2efb295cea1b10a81853e2ab429a9f7fe7b6925dc09f081ed33a49713d288eabf15398373319aeed8aaeb7803df543b18724910d7f012ca973eb8623948240a4c0393c5bc7401c1f0e762dc6babb0d0997ad318cd93e9063be6353eb000eeb182ebcf7ddfd8701fae2390d994269b50a6f10d6b78416852e3ef092cccadad6a96c6aa2c4bb02f01c58108a6bae8f89852e36735c99d89f6d5b8d9edd19363aa96caf76b281b6dd935c3944b951dfc99c47b8e519e188fbc3c638e09da264be5734cfe951f81efe4cd0302f89111d2c42b7889ec9149e00836d91d5e80889cff321db84d831e6e8528ecd22074508be5956fb3f690a20c5e5f29ccb7b8680e1e4a45a333f02602a9c4a481e3973a85dce3375aca2f236264e14c1bc9efa2cd22ff2580579882fb04aa9b5e17a7f37896939b4b50b1d39ebab42cdfcb7b854e21589d03feb28a86f013a85b6dbee0471fd65e11cfb22f46e39725bd03ab5ab092b64407103f13326b827e3798b9bf5b28038e4fdf438f66ee1124b4fadeca023e8ad7f299be7e3a8b843b29e31593b64b0f1f0db5e5947bb26409164f81213a307e86f8f34188234fb37353f70ce54a6afd2d87329ac2b4fd1746512e6621c5e7d654e9e1719f1939c84ac370dcdaec05258be3b10eb42edea71bc032b4a11b8c779c41a1fc361c5390236b8767eea905057002d94cb66e41817b540143c1a724c8789875252063ada84f292c16e90676fba569147dd819cf62e55df26275eb2d2c0beeab6e580952032edaa55391dbbda26a256d177cb6ea4cf70423d24b8ac87845aef14c48977834de4349bcf045cfb6f9862248a3a99f46ff39f5ab96a712c83b24f91c5a928951a0008dfed87671defba3aee9a1d989ea801aafab02af0536030a7621b6f7745366afdd893c23bc7c00785f7b1503a4edfd6dcb2c2b2015ccfd3e1e9ffd16f5fc5e296185bdb5084b6aac987704aa66fc108aba6404463410435d9a461f7d6d06e8cdbc5d6dfd569ca194f82031a911f63e1d7f7b19ec51e0893674e78ed7b360ac691c442d0604c8613437c99594cc591b754b6a0993a9171e986d6af0a9cc01044138ade0b5dba5f1d6804c6b669ebd5936e27bc750eaf26748897f4c00f12566fafb9c804ab78074fd136a101a378a1d609dd6d21d51df43df8c5ad42a4fa07c1793a9c6a0f30ba385e2a40d4c36f182cc538181026843e407b9beb395a9cd78ff5b0154eaad97b25526c050e8d131dbeb5fd604fd7e159718a2ea081a2c98822edd3c5baa79f775267dd62d10d5620e7712b54ccdcf116d0a0c6c704f1a6e1a0df23fe8510116ab016a86243357d2702402fe3d038b98a63aad06a105bc85594072484800aeed497d5e611ca67dc560af223f9883fce76a013652e6661ef9f61458cb97b2b3ee3a9a096f6719c2dadca842a0bc22373934ec4be64372b3538bab1ecfa3e37b5cd9fec7e6703e2a523fcceec5ae85a2ecc9e406c165e3bcaca43771660963ccc5d090c358a5fba53b878fc580fc875b7339f622f88910389d05a1100ee19348600f8ef4c25a50ece31e805b24b08b65299119e1cd003f297a34323504ea1fa8cd021cca30dd77a8ecb951fa84aeeb89b2388d17bc8e2d3d73b6b30475ea622c417506daf66f15003afdae3bb978f96e5c9b365c4a6d78cb50d985ca2333751f2bebb75f70a65fa78170e46ca0d8413ba5535187468e3a941e25c08c941877b104f67aab288201abdfa3b3599d9c500775f50c02e7234b8a73f9fc619225686498a64a222f766b6253cc1884121ea5dfe6515b7a4a3ec420d0a1dacfaa4eacdd9e9a8e519f976d56f0324d3d9e93cc75ac20d7b2978284327052e2c92806001c3b54db5af8795694a92265ed3ba0c74918d74a2973b1aee612d2fd75d79f9ed46cf74aacd6879072e015e124dbc1d19503d13556d968dfc46a1fcdc162afbd2b55d6533c9776b36d1a127acb02a624681053c5df659af876310a77e991cacc32f01cdc3e2d09aba5a0389ee48332f8da1bb59e8c14517e1dbcfe8a2849a700fe9c8d2a5a13fc7a6bf5c5418af33915d39b0d3cc890194c4af270cfecb803b92222e56cf2bab7d2c34b92ff4dce837995015d04f1a1670dd044acbc34f5c8870b4e17de1fb005dc61653c1fbab0d33fa475ec2f5eb5d44ba8d1a0c8f92350bf97721a9ca0f734e565fdc9c64659879ef72716ebb6612669e1dfb4d72a1ebfe055aaa01a46e932bd0cc9a9eb96d13542efc07f237b5d9306ab0f2874a5ef69c0c9609e916d3ff8a1d9ce48aa388949a5b323a49712062f41b0e25fdd30466e9b729a46c30f1725c084f79de694582d9aeb7ab68c124b4c1ce5e33922f39b88088192af57f1e70e55e3e0e8a6f74aa8deef47bf381f95c1bc1b99861770c9588bf5a5efbda6b7c974aa86a01372a08b8bfd2c63a8adeff08cdda97cc8761d54a8fd0a33401a02feb29c24d4cad5dc5434f52cba90c25eef3bd47141c7f0c32880112d00bcaa0529a1f43894ab052c5fb430f0d6505037d41fe65463b7d4c2a2b3a6f0503f78c7e9b59f4ea5afa19c7ceb2988f83a2bfe37ec5e5dd1cfe04575a120460aa62592165fc0910920df56532857a1295c17f67b74a64d27e51b34c747665be4c226a631a5d4e02f13df0de246beda51eca8e8022acbf7ee51222aa7f08a57df3e2d008eafab3e2164ad5171b15823544a61943f69eac95ae95bbad0ed454e947609cc403e021f1c7272beec54a5cc40626f9dd8de133c732de9c4592764af8501837a5f6ed303b27bcdd8329db0dffaa19b1d11e0957eff24149d742083fe882c57fc7c9f6a68abfe0fdba741fa1f9dcbd25760c3f349bf90d3f94f235925d8a94537194ac26389daada6d7c83053caeb4081a295bc5faa7e0572f450f0ecb1daf716730e4a8a72cee0ca659bf4af6458d493cce64c54fc580d02dddcf7365fdc44683cfb8088925b2366594bea851d874764e4b10a297241b7f0eb51e848a9fa3e963c6f08ac26ef24ef570de871d3d989dc0149f39d3981427e7aeba1cea64a58d208617ba0aa97bcf6c5260cf88d9535e0a4866a40dc1aa766e9a28b8f3ad9fc5455c7373d265e0db070d31865a49e2f2db83dbdfed0e39e282a9addb279e35cc332ee12ef3d5812f67fd1fa905f4d9a9da48bfe428c93ac8f3450803f0ff5b8462de2d2dc1dc95d4009f5c38ebd3d973f55290cd174fd75ac22a03a0adea7354c41f312a12053ed4243efad1acef7728ee0753445c9d664140019cb56732001666e44f1c626043782be2d921bbf6f8f164c9be00c7111f90aaa9ddadfcbcf719de80742ffb44806ba689dcb6a33e7b557b3c7b9340d9f3748a5bb975428fcae5492c52ee86edea236fbdb7887fde8968f0a44f12505a0b016db76994d5c6e2b11a05c8b562b6d2c0403a1b9fe63b213f6c4057ab6a6ba1039152e01820b056d0b3d08d530bfa5e67ab372a3d43d9bdc71925439bb696964e5ab32a10c27d7b69bacbc2f305470770750c88005357a6b0dbb32540e8ef3982283b7f7f6c26ba769e1e4fe67ce1b0ad289e82b3e79a7735a4fd2368f8a432d6defa9265a7e5b128a283e237c11d2fcd56e22e56e295fe3c781704230ee984c66dca0157cf099419423c6535f3ec223765e9d7b1d68b830ec85c0c9ec4e1075622fb56e459fc103e1c6703c3f98125ade2b98c44d53d69edf1023d9f10da8f5aa6e587f4435bdfeedf77f29ce462090c4ae0a29c368b63c78c0c1fd15aab602e40fbff46132a8142b717dad325d0f57f328dcc8682f60b3792a9db6ebecb3621fb2473866f7f85436aaf5dd51a5813e6b405c0adbe79a14a52a3778fe90d7f93a4fb6dec37379d70df2cdc14901e46d888840af842a2d8c557fcb48ee0d861ed3077fd816b13ef97b1dd4953b2cae5962fc031378af6a9bef35e6e70da2592fcb49d8b13c263fc8d38690e40dea578895090f351080c33ed0b4be595316ec9e05cd36cc6fe857cd2eedabeeacaf0d75041d3d83db357876bab1a3dbd213fa2203dc25abf9c6eea5f16bf59d099115807f0ed609d815dcbe4a7ec178f616659cd9026da958e04a3655acb242e6b9e0d9f5e41761ab5dfe792b3508b88a30767250e99d1a121311affff04440e5273c891c2733bfd8e7ac032ee4fb1bda71eab076666c9088647d884fb3f22cb597f1286fddf26f0264131ba3ea07ed18434cb15a8d7741641889f427ea6d89170ac858c8518035c6fe718b257177c06fe09daf7b32b267ddc6572a420c70223d3ff076f962c07250908ff89dd50009c222146dcacdfcce0eb57aae49c78181ad6658378587b5d9ca5c1f3c1bc05b9762e28f2be25794dbd4d90a568b2acbcca60281a301a2c3f398f0c92724119553b689f0387de37e9f39a732f64e0b56730241b685d2bc38e20157ebc0617c2853a8b34cb07ef3c17ca38aa3ab04dff768b6607f20200b9849a0d98c018a53ea3ebdac3bd2ae9e7e75061c0ff326343d433bab6c13d80a5d8d006b9f83ff9beaf19a6f68b11fecfa8e129dab18b92cd7cb084990aa2ad8a4f18d5e44de49189d60f8036d3faf7ba8d00be01934881214b1c38d0f8a4fd95209d2852184db6ca800b645b5a0eda3e9bb7e083ffd889686a576a67f5c0d57bcbd27dbb1e5802e4e14943c802874e10ab23a775eaba2b011d10c09a1c73a1a89b3ff00c6d8c84d246ecd8438a7d17bfa8734dce6b2bfe7c3e2a61d8fa9d645cdd6dc592e519aadf7629722345b840ac14102e93c509fa393d721397ea279d1d7e85fee84ac806dde9668c8fd0e3c0f4e9061b56d6ab8a2399b40dfaa638090194e98f4cc79bb077aae93bb3b17d07ecdd243c1fce065ca659f4a593b7299285f7d1626e0cd6b63a28456bb40084dc995ab0f3fc3eef7d27311d6cfc55ff894c7d72bb150cf4054321367beef45b909317128e73ba83e631bce8657f583e9e2838cb34f6f0e2d963534288235eab23f94d67e126b5525c6a557eab2f94f519bfb03b50d3bb819f031aa0b7b36ebe28a13912b4232e676a581ac23207471de44ba32ce3fd5ae46966e97fc40c9349b481d0da9fc46770faa0b1d4495957432251dc0fe368f6536ad1fcbf60bd0bb2d081021b1fc5a071be5de40eadabb4120fce37dd3a1e82b9e70bdb8910eaf0c01184c4a5e3d741a3f2190c9d6c2bbb6d9c013f03af6e1451c36c60c3284640f6814413d8e0692a48f34d5067bc85bfbcf55a09502765906c37a07a79ffec7c9d7e1adc8998f31123e21be40182f98c1944d6a92d6fb90062001a9984baed9ae60b8f829ca0ab7c2592b3bb545d5fd208084ab99879d90d641090f59cdf7bbe32b4a01600d586c108024ee44667d79dc2556a018cd2b66f3363d465bde2f32f2e4e68fd04f329a2a45516844a29216cafb8918945d5ca81ffff08cb440d193d3ef34590bd3779711282a3247ca5a33d785fbfaa1e3bf040beb18a020683977a9899b9ef89d64929896cc265893f3b408093cd7393155e3104cd4cb8ba98157b722093c7b152fc074ac18f5bb07f5c11a7e1da56438b457a1c9c4c2161efd13cc1c261d0b98964ed0730f8abb88bc4a93a163c7cf6772e7aac6f706fae7898e3b6ffaa26a3815fcc934000ecfd8c9263861c2c399ab44614d9083cf2ef78b1ce23beb9db8356233291af591b02538e6b63cb69851c96ec7362dc65d760447d9aef7782d57d22a1b5ad4f4c7ede74ac6ea21ec54bfecb93ee90e92905b73d882a5877335de71d626931ca47ca8234b92d2b0a40dfc175198332cd4b6191f7cd5db91d183944a2dc444931e2605e7a7daf8fb4844829a9963ce699947255fc03197655d8de44c538c226e1967ab633e8ccf86930a8cfb77ef34d08980151ee228cc4c6d0432af1456c7ee8632aab91cf1c65fc4ca1a2d92162b1c09e9df20d01d09550c8a7c904f12c8608d1d08032904c37b73be9cc6e56b94c2ec412697e2eb2050bdb01be9495c2e74bbce501508058b5838ce762add928323cb1f7a1050776d87fdec9ccdac5a3c5af584cffe546e8c291274d7a82f6602a3dc6e13d3c9c774350af64422de551e3a9ec19d90d70f7375df02e5a1c028ff6f5262299402d4ca34488f69a9d77eef1fe476e4263221034402515938fe383e2c222bd54dc54aeb50c61cbb2f0a60c25cfc39e98cdc24465f8b7764f2131ed42a4f4fdcc4363a5a352d80e1dc1a3e0415af8de6ceae5d5f2c5ab14d296be917e8e59213ad8b4219b6b6c9a3cdb28fce4481835b54f7cace283634d174b3d3d2b5caaed0cdd3271f78c1aefc4697c37a8224352b58345488fff10c471fc13ff8151c41c02e122a40a8278ed85c8f8624b3c45f462ad480c44db4e4affb88ad608dbccde4abe8d560db7d223232d23978af77182e6b6df6ef139ca8f268fd08290baffda039c532d1ac819d58f9a3ad3755f8da371eb99cf7bec1630b9d054f0ae6f2bd290c3cdf549ec17b03904d6361fd92105b71756288ddc349c7be21ea9dc33ea5f3188e40de348ef4ba3b816a0463a27f6a72e720a0f147e654d73936622a6a17f7eed7414f41de80aa35212fc1e56ad5aa4eea530b8f454d9fdf8fccc569dca2a64bd4338efc308a4ef8ed09d8fcaca4b162c7673d30bd9062c8da6b1970aff3f7d5b09fa7e98e86636cb6563de354c46620c0b3487b955dd8c32166e2658fc534f8e1e0371e293eb87432ad6f46e57de24f8ee60054a73daf87372f1944b173ac23636bdde29564c57746f7541122cb64cae7f2c50867d3fcce31207a3b02acb58d922b539bf2307d540e6c7ada6cd629d18f2e330c96edc45339caf20f19bb46d66dbc1deaec7bf1aff72cd6824b005c8943b9e02d13ba91680cdbd13b1c70bef18504891044ad8bec853e1189c3752c7d3f31a7572842fab98206fe4690ae5ee9cb2d2bf18a5ea20ef0efbf00f67880728601f08ae27c49cacee1c1e1f63a8f1751a7578d114ce49e4bc5ffe0b12770bc59b4b6fd411d51daf25e6306cd51dbb3673551928befa766d3a27529dc06d94c36bde69fcca4f749cfe530c9446a7a369252b0649e4d5a2b8021bab6f75bfdf061581cc633314d8bba29a35ddfeba3539d381676e5edff23d155b600b780dcd92395c91a4189cea8c2bbbdb4f3f400254bf0194d0a134036ea6e8b53770cac2226c5dd3ce1a998043a0253515c8a31d417ad6c100b3a4b33a1d09c389e593f86cb0066d74c7fb347bb662c010ca118bd07ba79825d20aceabe8e13cba3aba25b520b54e46d6bc5673be08900fc03c3cf8970a5a15d7f58d5158cfda04601b5d9df131a33da5d375163f90bc39974690cece9068cfdd10d10c05f462e06af961f252d84c4de61a2b8a65414112290baa286ea85165d4f4b5e0857d6f4e42df7112ce99d9438c1a137286efcb2a14ec6b96161b01173edb509aea8d1cff1054f8b3049afc598b331d44709e2a32eb4c0f734c140e24308f46f806a0d42d45e478388a76b9aae120d37fce5602ec1877ad69d984d0d588492de51bd7a6adc6bc6c8010db6a25944844f01ae0fbaf02d712a106be258b63c58bf35da4c6a7c6ddbc0573eb804fe14a18e3923293b303a7d59c61658b5dc36fd60a05a1a1ffde058ffedc56b1c9d3bae62d460b57c4fe06cefbbd4a9ac72d93b2a2aebf931b59c938661d558bff8b842b1e6e3ea50009d3c0f618d7f83a0c1d93241f028d19af9c4ca4abff9caa7cc18432c472f21dad5b5c69131f7e7798d208c74a8d4f9fc4e3e858f5690f06a1afcfc0b6d67565f50c3ca466d2976f672a81782fa5175b07b64741c9248fac52e4b63d00f0fb421225577b9faf336acb9c33a91379dcc9ee199c4fd003300a7d30f9f9c8b1aa3997be2d4421ae726695ae0214db7d5d291a09c245fb24bc3d187706d1b7ddc23372d9e94ad367948d8d52adaf093c94b6773a8248f734140977991cb15302e2eda1f0dca04f2a841f13e8da1afa9cf0e54fb735634bf7b365869b17a722d8a2f06c053b2786cc8c2d8fc9d38a0a6f95b36a9eb7d43e6a1164f5fd7e8b041020edb5bbb181e043923670bf3182a04c08980b15d5aaeee921e1f019a0fdee0459aa2bb7075b369de3b136419a04f11d467ed01e6e7562f7618f8ee5e1a445bf9ed68e8efaa29f765e52342036a41414b6ae1247dacd26340dc4ecb0d65bed3edc56a981fff584c72364c6b294c653ec5990468511f2e1067dfc42a75a745df39fa46c90641e8c85926061810f2cb8812c8267286cfb63a87025e874aa5e2f41497eb7f7da751e2f0d14400c3b1fc3a4387ab267864eed804b5bd6771aa9a598ae28457d9b3346a51182043225d12b769b31a75fef9c97b3a2666a098633aa6d4bd1604ed5938ca3fce94ef5a3f68a1514871fec24d1e16d806dc585cd23f3f4f5aeec776779cf049e2b334d8b5f5c0c1ac23969b6512b2d84be08b4295e772942daf12ef2478d99bddd9ad782797cd8e7eb2ca7c95fd43a0fe01e6e0eb7db5f6b11cd8f09688b890f6cb0cc1ba5014af986f1785fa848ac1e24f41b937a905f8a80288849c10a7146561a83175722c09839a8d29e9275eaf77a70b504c021d7e1d78ef4bb176d18d10f4c6deab204d6f6c305f3fb46d073290dbb9f7c9fe8885fe5057509abb7735652102af45b8572418af05495185ba4a48aa420b0c42a040fea3a6f68da3c868846674c2e5408e975af6f8b59bf057894c94f354f627e336c58b51342aa6eeffa9d2ef94f4fb12698bdfcfb25ffb94e87e11fef28f7039574f8d61ef02cfa6c9383ffb6aa91b791cc61455c6920d014b5ce8ef0f805998b2c3069fe8326b4bfca1dd4c7816752c5a3cbb6e7105f26b6e290c824dca217bf834a8dbee7ce901c9d496c649a36ead18839d7a5a807a77584480ec405890a592d07bc5fa1dcac3537d377779e0017ebc3cd0c52f684346d291b9c4dff13d89cc363baf916a246910054714169ef247152552f58eddec4ce6b3899043538870daaaeac2b5ede123d84e9d0497c94a83eb05c6e623c0b0a7b140e4a8219319dda79783444d88bd9d1b6c60ea9ce0eea847d845f77981f26abb2c4d2827df874188e153ea6748c9ab6230f11c41351683de617507976b4f0ecccd7ae9dd4850b6c64bf99adee1b1b4b123d39eabab62d15dca0fcb092e16d4adcc6382d00690a41b4b42ecd1c86e0a9848bcdae7ce98872f17c9d1b9f1700e5fcb286947462eb76fd9116349d9ed9a80dcfa00ebf562a63ca9fcda46c06a331219ed42594d1eaf8a13fdf8f3356c9577af59cd2fe21e3e925f425d88eee899753ef3f45533c029e4294ba14121faaf6a24a64a69ab9084023410f83b1b27235adc9a6d7c5a2e08b256d57d5225905f4345cd309197029d1b677ae7b29597b8ea456f88c63a1ffd1f96df0323b6b4271e5193705d2da0848c44e7b2a4303d21c0bb19943ab9f79e583cfffe764b580ca062d23912396948be83b80744523c8fa1d0c966fba9fa59488d3a50632d75d72db0bd807bbed1f03338ca62dc82d661addedffaa3ca234585137406f4e0d98337959561ef6fd2f7be2d65392ae005ee2fb777b8d61ae57edceaa6cfae7ad08ef7ba51d8008649eb17bafdbfea490e53b18812401c84a7494ead14447af79fb34ceee2308c7fdabf5080a225def7a4e5823380b5ddd519d633be52abe4e18c9f6fedacebb94cb8a249596f5dc717cf7ea47960033be9b2de5aa34390cddfa745e40b8def740ae34ca784021f2d2125fbcbb2c671bdbe71789d90ce92ba961aee90436a7b5352367c789849808aedfbe4558d23b7c3c734f8a7605719c524b81f4ec55665d9ae7960da89f97ed2a8f1552e35ba8ce4d15b92212799dbeef2d625e2c9fe85b5ed9b077d1a009f2eec67e03a91c1e993421f61f6e670a8bbfedf5413c243ffd2143e9e308f30f432ccc638c66099a81aef6163ad2c54b637e8c7989dddb392f5c40af3db419f431e2b94b84c0183c8f6cea25a3b5c0593963859a6129ff2bb69e435c459cd5fb134385d02fb8a5ce3393be0ee775f35a78275999e8893366f0b93fe2fd8cac37c917b7e0062c848795f0fcaf9eaec5b4c1997e8498ae61f1effedac45411ef4a1da4eb459b9c354a04e3ea42a7955145f05b6ab09620b3c186da99afbd87776b26d95112cc7236241168abf90082ed449d26689c242469f5fccad88018f88e93ae4e87fad5e6585e6a77e43475209c97dfb52f3def2c151a494a3fec3c468889332e961109636779bb1f11a68ff9dd9b65a3eaef82e7750e0cbded7f25e783bee6affeda91631bd12bf1773ad3264bba3bc5c16632bf68dba111dcec6411622215f3f05d785776f8890ca727d70c28904c51e85f000d06d46029d49541325c5585c1daa96912aaa27468df4a2cce1e72ccbe15c38fe7ee9bca0c9367b94cc2b39f51b5c9739b214ff596d54a7ab9dc53be43f0e984d62133fe40abf572aca6aa6f689b651c86d6fc6b24f01fedada92b57a0f5c0e9222e2bab58638ab8ac1d5a7bba9b0a18b8f40bdc5898575642ee4e1158d6012922eec6cf600094a7f0a2a29ff87f05c16b27e02393e3a43051cef9b048fb6bfeb89e5b755cb55d4a86b35921ebe4c1866a99965c76cfab013ccf4af7ba7af91f706253991869be1b970c4d857409133d785be4253824daac3a6d549c6d1fd25ea09a90dc29fb23ed855bdc09402824309193bf82cb43b0653b33a994086a9e20ea643e2eb43ebe765198507e56cec240250436388772bf076b3ac1d32b4f794cda7db35a48c7dcb831428a75d4471d2bf57916feb7b32897acb7357429331d8c307cd25422a848d8184797ff3227a5a25d0b1649dc5eb4181db31c3157d15a2494a266b70758b5ccb13bcff9ef209b1171215b86c85624d2eb2490ae2b9a8f266cc61ab7e286c24b0ef620223cb9ba7df18b42ee23a3f678d21f9a8a691fe97c5caa900162a1ad2300037d58d5d2f6d63604eab267e254a71ff655c3cd2213149c6df071524068e97ee6b836c3303d9b5a1ef5825e6862811169553c76bd7f791b58bd9bfada1a1acb6647f86f9d0a08b3f6de49e200d263c216ddf225eb2bcf9d56a1858415654c65002b72f67c34f403eda77ca1dcaec04911d01e3dde8ce73e64b9ba3f3a1fc5e7edffb26f230ca889fb243ee640d97e62a909ff7f6543a2ce1465c8ab53cdd245b81f0041fb5933b673c49dbdb726ff649c3b366d9eca6640728342776134c81823f4cf4749be254af88b15bc918a18c51dd44a7b03a38124d1f4dfb052af205a25b44373976d4fd18262a27d3290851a268396707b4802e65c2cf22b197ac4686b7ca64532f6abff4d7753005ace2607307523424e8fd2acff4d1aca47c2f6cc3614fb3250bae96fb2306f43421f558336d122e4a91d66bb6879041641223e91862b41abeeb15a2994229a4537ed8868ef654f9d3b3f76d70c254c795a9d444140542ea29433b754164171292f0425bb0de0b3488781c79d183e24316e1a107e5a75f9ab3d999a60c4f9dbaa4a25b5fbe36a3c39498ebb50592e25e858df0ed9a8e39b0c08c68595a2fb823751991cb8accfdf8a51bc3f0a10812574d9a3f50aef85c54170d474d1105620f39a7a4886de10f8d20dc0823bdb9b3b9b9c39a623fa0b191b879c131582c8fe52f1a8c24f1a51fb3b6d11586555fd81e7a7c77281f558451b9c674e028fc8ad9a97cc40960f1f04775b8702b623ed984c3378c614ad17a3a4225094e6e6b1a0ca8272ddfffaea4d0985eca5aa5b95d7e367416521f9ad5ed18dc64dbf030c11ee796e02d6afb89ec2271c65df5ca2c7fa1c68fcacfed1be071e71cf6d7b4c75e6847223eaf3df6c146e5ba51e0ad0c8c5648f124e81b6d6550db21de5fa5495e9714a67bce259a76459506264368960f22cbfae639466bfd01d9d22a69065808a8dc4d158eab16e619ee8d10d8330b759e66ed00d4bd978aa658bf29a64ba7c9cef9be6a1a94e43a4732eb43c4f2edd02b1e7dba4b94faf484522ca9218dffee51c54698e61455d96d5671bb3afdfcdd1be9b7b486c8f0811f4991767a302d7730f9f974ac78c808870c58f3555d5fa7b3956523f47a3b88641cf4e3f5e34df71c0237adf771b2e8b27a8fd7f9773a0da933fdcf3e7ffdcbd874662975d347cf33dd970d997680ac09a1bd1e7cec61deb9b3403840757fe09c8a522acca4c5be53b9c50ed9ccccc93b18cca62f9807d6606b7aecd95bfb8ce1b443ebba7f3523fd7ebfe0d11d73ed80cb80555f567124a3c28834340dde9516541d68ac3b634b85f196977698644474ff2531f4f9d04d1d5dfc4b3c2350c5682b6ce33af7d76eafcc538cb2c20d81a3c0bdfa58d20d7a9b375f6d3ce30be77d8026c2017c86958289a1778e8d11b2ee087ed7ca39da281dcf2ca4a5a79fa75d54c7bb040b46ff28a058d8526f592dd6ad80c595c6dc812bd3dea89bda5794b33a27a84e7267d6c44f1daee8beabf2bd284facd19d658b692d341af6f91266fd72e8d1cfd24f49aaa492a6f24278633257d9f15e9e2c0740c9d4058e08f329c851ee33df079db6690249c1af8afc64c08bf15f5034eaf9598bd6552ca3ea880f98aed1a051733b0a0ecc3365bb125092d80583cdcbdf09ce72758a7d72a1eb3d8a4ec5dd9bfe42442eeb43eb7ee11180b6f6db57d778d965ff44f8b7523e1fff5ab0c34175fc4be578f68bd9b64da2c66dd9dfb94b6f0229056d7709b0a38a0bbb2f7c1e2639e33be3c18dc571a8e634baf8043990ca1a1218e36ad3d17ac9064625e185657a9b15dc8909e5eac7cff92a4f90b93ea701cfa255293be5b4628fda49256be22b5a8150f5706d35356a399da8f76fea72b1ed5d9ef6184826f9bac2210ca6f1321c3f49c9acfdd15b3e9d0eefe8e60072da5280355e3de9da2101730993ea80019bb00780f39e530228e94c24b580c2d49a5d2db66bfbfc550cf41c994d3177c8b7f37bcdcad8bf53c87eb18b4d1ef66514d80b9f7a5ed99e0800ba7848aa4785bdebb065fcbf61f361446e2fefe70d8eca5d2ba3c8ff6bdd0bd8024d20c08404b4223264b2d56b47914d531548b1a5d847675774880f31aa9925de367a33e28888e0537827fb5bda4b64c3992b67fdc451d2616980fca098e31d106390a37d0f2e30241577fdd5ff2b61ab880be6db364154e7d66fe7ece182806b62952791b4ade15d6ce3ee1163fc21e8f507381022b485a6e0a7215f14cceaf29817749ae9583ed7fdd1dae06350b95173912025a14c450f6710639353452e8edcd4a89792010daa45e85fa02bb0816c7607e9320511d8d0388cad9a2e54150e30b9148300ab2df614c7f9e8ef57b69a3d117a724dc3fb3be26ff3d840470d4016cd80d83181ecf2be35d961e76514052b79daa728bfe94861e6758abde95903a6cc3644a713854b10330b23fa9ef092104821a63a8d5e188ac735fcf87e6c26915edc28658d8e1ee1dd6bd1d69ad2a4b809a0753866918e782653fabec8de50d7e5871ad2c3cc6f3a3c8287af10fc78e37733cdee887ad3d11331194a572849e48adb4dab0c1471e72a3c511e42fafe9eb642a18593de2f850199d1543b88631cc086f2a7b70341f8267dce8569fba2688272f841197ca2d869dc318f7b33020695c7760fec718e4cc93857ca00b402d28660f3e10bad7b7d47cc06ad8465ce87dc1639506acd218616ccb4eabf03c3431809f26013d6ddc2403760b3c2116cc71b95c326a2ac922ade4ba23cc5122069c7d5bf9826f264ea2e9f7391e9698bdbe776e6f4b58604897f3fb18afae02083488c062d44275e11ca49beabd63def39997a7244ddf1d5e8281fc8fe3b04db421a5de4645d67c5cda11b77a15be8cac66599fe29a564194e52a571c46aa933a0b2a05189654cd3acb67c43766f0e4e19c6656fb1e32bfc4e7c7afa62aaeda0f71118d2931396ec0b5f8705c618eb34d215dc1a4338ae751acfafd1f0e1f59287578d5a3b7996e65f5103625ae4f4d2baacb56a6ab22dcef8da4d089291acf9be943a56cc98121ccb239d5136548d721a926239149edc4ee4b8614742e69e84505052f29eba353994d6da2594b3fa8d9982660e55c886ec9dafaca994e77853f1b8db0e175fdc27f4a03e27c351bbd26ef5a97054a2adba88c33696db3fca9b18ab7f357b2c9fc6dd37dee11a6a3f9a5d3e87a2f5ff23ee7a7d8df8fa00eb02913e2acdf1f5a3c5d33273d152a6bf1966489255ccc6e802db5dca3c806d431360045942c68930ae6624e846bab7cb7bf0a45efa61a5099f22668db101e6d0e237344f28eb875550594175e605b073dc1f131382e607ffdf508fdded2642ecf128f68fc259d8fb33c93ec47ed6c243131befe845731e2638cb27468378e7b6e9d723401cef83ef4e4a56813577a94b97b3109b0a0d33d79eb5eb29b818e266a4f55b18e37af3a3835bbf6058ed8af2583a8e7c7e4b887cea89faeb2438e8c62e63eb5d607177e2399ac6d1c8fd88d16ab0ec53ce3b8b33fa37c199b745621dc0ca1d53aa34b159e4cec6931f6363289d66e4e52e170a2a522f4faf2cec956fe7ee7c08f18228dd89fe2a06cb04995c6da71a4ed7eb630eb28ed045d4e48d053e89e4a378397de9bb0d323fd23627d5fabeaff371a418f4bdab228df111bfb328619aedd7066d534e53a2e6763d3d9a6f59fd273ad74efd7e0cb2bf1147378c8eda327aa65d54bc2a07ff4607ad0b45d0e3029ac1ed51b5926e0a3ef602fb83f0ae59b8a23d39aed14c3f331add73597e3e5a021bfdb3709161e3654e43b21f530206b1e62f7101c82f5866c778dd4d792dc43c6fb16e949b1d8a8916a51493f5bcacdbdf0164180b6a546bd84f671ec69deecc31d934652a780d044667c72a64e91e0d99601f9df113a339c3cf4a61b00d478d8bec7a928727bf8ef0a4dc0e0f9833d640bfcee3955ddbc2f1e0ae5b441609518c609af3ff94b96e128244c9946667064f4b12c9f5c06c7dcc086db5d13d44c61b588c7fa2534c0325a94efaec61e6624ae800cf4f82b936b8aefeda4d04c1e2fc76aab3a361f9a037a56172ec85041d4118b80c0034bc018a19a1fa562a2862557bd4f939e28816801b080c32c0b54ad920d76c73c7a38d07892b5a6fc6402d3825dcd6f0e918e6ba7865dd0a206e87d38039411df308119524fdb62cffdd01f902e7329dcbbf7c55d47530da8d030fd121af74fb5010e9ff296d4efd194cfe356a0d7c061da876df44c25a34503a78025f132bc36adb3b28fffc20c2075dbe6b8878f3b75ef69735cd6ffcc662023df3b79c611735f1135a6835c5af335e2ca4500e89c99776bcc2b83ad5b37b9a2aec05f5ca3cb42628b6502811008dbbfc489a6a6589567c64e8a075739e0aa5ec2f91724d809555c6875ea624a38afc0395fed64d90317ec5f84fe4c6366b0d25ca6107fbf23cae3e8750f37fd8acc6c23631ed8b875a7f17bb2a42fbd3233f2ad183f6f0d01b6334bd86c7a4f3ef3eed2399c8bd801efa494be5dd5ab96bf4ffc17846959bc0a0c85813ec46c134ed1f65fb07959e5787521b63cb7babd6e21b2000618b9ca1fe67656415c091448d4a3d7ad0ce369735b4716eea4de4fad123545b3f568114572569f3eb1b9d46a989a29641218b79406e45d0f6c366f7cf9f2da2be983500305002e023260b62bb5b957aa0823c9d97074bcd4fe39d5a36963f46b74ecca0b1924d09786e271dc9e10fcb7b3290f0fe1b237bce8422e5cd8706460afbff475a8688cc66ce175921ee32ef9d5e226aa679d299b068251ffe6cc4b5393a64c37122fc428d88eada8032b8b866f2758a5644d95b85911ef36e07896c85b71bb10622e43a807502486bcd0687b7220a85fcc55b52a53149f38f01f857da193277405151bdd78d13eb236a3594122ec4da3fc799143048c139e646189a02f7beb083fcc01845a3dc54bf565a61cbe5a1cca64721239bd3ce0fe4421ff2aade969e0d8e5197503129cc727e74c9aa617e3898e12f62007f945cbc52f0f50a98579cab10deb5ea6511be8082a101c7113e20b86d3954ad36632f5312c72605690d10556ba4ad118f676aaac88bfedfe3f4a5d23fae419f40877464b387c9a04a78a9cd09d445ef7de1bea621741ad42570fd371cd2ea2a9cf13249c6af30f43381081ed651229544584176fdfc5e318ab3c1f68db47cc1e1e0e01f3cedf5f7f6f0cee3cacc4d2c3405dd0df056080f1526fa22902387787a65751b9d81d2d4fa21dea3511d9e311e0221a7ae7f3c32646504fd864512f5f2b4d660c479f3dd8231c2162bb09e3d29a7241e02a353401c80d1b49cdccd190d6e834799ee4eb1ab601c39971a10caf2f7b877d13ad58ef9f6a0add84d670566972a30bcd78987e526ae0265a038ffc1026216368952f04e64cd69a192e68db0d9f599c8551f8e170f4dcbf606aedbcb61fc8367667c2cc225efe698aece5e6064ab4b8e30c0c5e28b2254dcf49777b61f237c0b13610d05020974cf9ba31a6439081b7d126573a8b49658624b27a27313dbab8596e1dfeacd5cc0e26370e22b786b375e2bb4218ef5fb24da0acfd140d3d9a6655425b825eb453efce3b336001e969fa0c745a1cbcfd2abc2a0d6fb6e5d3c3a6d3219ac12e6e2562c7e1267412b18566e913c034940fb1679c9385863cca7108c52d409f49bb86ec0439f4237f0b698855178a611ce91e7a0cf5075fa7927300255167131d1b367baf44851af8f05447d0243e05f7c53f32280acdf4349b5fa1ef6ff3e775a417685b3d7f62ed54fc14293cd9e836015db4a525883b0427b1e7e3928c344e9d6ee058e341df82ceade4cae0c8e52f77dcd70776afbc393b8b612f970bde959dc48c0a7d9ccf68810bbf0f722d206c00c21230c4075af736941761aaec4ee2c8d7c1bbbf74bf124e9de5c8f25a09d85a05656061c0627bf77bad3d43c6e2d907c577f6d15e97f1113e930a4f027ba2c26abd2cc4af4ce1659855048959849c6f96b1f8580637bd05cdfded29c432b965e9548e6ef4cd70515e3c77fc99e607624eb2ef8174538575a80927b396b7d084cbecccddcb22136b7c61e1da0bf3e29b494b9c6cc91833ced5440d8b59c059df3ccd0eb69e69bab346b0ab5f82265f31373e05190c3cbb8fe2b863cdae6613d95b45659239616f3cbb4f9e81eeb0bb47611bad36cd84d1a0cc7ef5139bd080c6a1cabaaa8fdeaf512c93da42c5b5af012aad67e8465e36df592ad274a42c43c19cf34413e35c95e7e4bbc91c15b8cb42f3787e207316cb5bd948c30409d43f4f9a01c0f5b647e0809bbdc03c919632ec643cb18338ce4fbeebb132f464b185255ea7a3a057de0b54b3e0166bb421f560942113e9633c93660150274580a70240ad54f441203b721f21ad4defeb3b82c4e1d70d9e94309a7313a4490fe51d86d53e1f3444e2f2b8c7679248b32eedefb3450ea95fbc78347677aada8c74f1861900ba444d2750ddb9857033ce19149ba9020280688c747c339f2b3e15a5ca5b030bc513edb1f0a020d33dd72050b391328c0ff7ad2cf1eff8249dfee7275593cb4c71f112c3ed2d86d859d857b23663d31f2f2172dccbc107a307743435f4ad1d946b2e458c3057ce4cac1d2b60acd5aaf127c9eb669b632a1ab39ec302b6b331e50163458f5b7e8e229437a4e26a24b0bd9f5bcd26527f0159a06e67f3c02272f3ea299b664583c28973216f463463070058df80c6dc57fef82a98d872800692163d73db35c35856b846135f881c28f1ccf3a5feb5d8f25f34c5da49515f751e86af502ab8cbeae2235ddda5802b6521ea6819ef08089a4593645cb550f4347a90c5ec11205b9289ee3966c87310367fbaa3b8d0cbd5c8605b3c45d3423740de7135b69d78d6ff0514045eb1d3f178ce4b7271052e4f58cd26c0f2d1816bee044f433d9833365b9c7b2f8b65bf3cd88759137c95e45a77e6314a93c161fdcb71da96a20a59bd84562934f1eb820059b941bbfdf201d84899974a3ecd7c5ba9de66f96c4f8fe5931d51f2f724c044db574a045aa016388e06614f17d808e44231bf9c5166eefe6ff8b32349ad456a160d87b23a34b52c4d0d5eef04f1d385e269487630c05d7b9d1296d85e496d8e57b8cefbff08766955cc6d234b1a51265c065c7bf654ec0770e414630d242459f087363a944de69a32fbb740e055d7563873b3422725e49f6cac71f5a75d90c923ae1e2f3e44dae520e98ade8cc81ea3e07695522cebeaa1239851dd9015d1fa58885499e6406e65518b48dafc66682f2a23a4ed398e18bb39587b7af40deadfeee99940e183242f0aa6952c01189de8a755a74cde8e776fde14c14afe3fd278e3b3722e12a13b74a62c929ce2f5ea1f966db6a6acb5b6beb2cf91dfb469f38bc097f6c06db1011fa0f91c27897a69737051dcba4a63efef7dfc5d47ea06035fc1f13f4cbe305180c7e4104b50343428c135e4fa24191636eaa348c4dfeec546ef8f36332b58440e59063fb314a8d48831853916c5fb4d8c518ac751014792a0128f96afa4d0283d72d22e5aa2a201429ff6500c885af1718e99d80ad34e67c65dd8d1da85b07584157d7a29384e01a07b0e0d04baf497c4cbb261ae0ecea0ef71c412719f81f5612fca497986556977e37ac8960e2fcdabe951c70f2b2e5116590ac01360af55fb0df8925a073cc8558ce89c8266fecbeb64c2d10ee30a3347fb2292256e5344dc7fa109486eeec4722d80481d31349c2f21db00c88c0ed4397f7d1285ee924de7cd1f258630016b87ef2c0b7b4a10c32ad4e55f077cfcbeb437c8d02dae9ab85adf7240f8d9c3ed80e7cecf6c62eca3edfb53172e7f33b2264f6c71316d663e5ce88d9b823e80c6974c959e68fad5d7a3cb8700da227bb6d3ccb4d0d9a492a1a267081c104145c60acbdadc2dca02225ab7f8f3486911b9d8df7d9d890507593ed84988038ef6ed36f240be830a8d4a4c00fffb455170f72ca5caf8d5f7ff4f6c5685400cffd12dfea4962c433230fade8d868b6aaec320d8ed512149d94e6f2278023406aea1971774c2b9624b7c5838af9f33d5eadced7a22496657633537e486606f84f35913b16aaf99f98bf4936ea4bf801f74fdae28775625f2090841045fbcc89431a781130bedaf2ca6c5f22f5454b44957d3c8157da5910718b4d8c9bed758ef48d4b7277ecf3dcb67469b1f926efe92498a3c0bb956ffb25bdb54833b4e5bdf5d6750072ace26e8fc3b2c0f67cb2ce59bfbc948581d8af2caa6d28be6de7516a94abf0493a9d29f9c9bd77813bffe51470dc33186763345b9416ea4394da4d42e18857e3f2d004fb00d923d9a5d1831ff160757887158feb3cd8d49e6b55eb231ced816ec900acf0cce459c851f35f75fb08aac3ff00cd44113c6eb3717bb64ad736c30c4d959b9a23eabb8eb69fa941640d9abcf02dca1fa2d3122c214aa30ef2328dc1fdcc1b60f6c1cdf06994f587dfd3bbca0817e3eac85669f4ea213f307923cc104af86547baa5821139fc2c2aec0b1b58f11c50a8d152d569abbd825965f18dbcf43dbce15e98eeb74878521f7b046100cb76d438c899c460a083b83bd421a2d79818c88453f10591100938c0dfc8748f13044eed35af3705edd105fd792c616958e9b411d501a0996b091ae1de383ee3d70a995e9ee38c5e7db7d4bba3cd2313e4d3d8ae625dd7cf9e12dae638f85e8b2da6a7105be0865c3b8a15f9a8202486d01ba216f70f02016df781ae9e19cc0ebbafdd7bc564602a694cf28d1910ca3d56a7916809af034d0e5e29002bf7c2e7afedf6acf42075efcce41465faf8e36a1c9b13413a7d56f9401ebf6ca2c7b7132729b2b56d06966a7171bfb607af4a36754a67a79e99617bd0609645576ab2fa3621121642188c037c83f37cfa93791215d88eba3c627c3edf983721229d6153ed4dfd157e1fefc43a07d1d43213986dcba65f020bf3b5612c114bd500bfe55270fd32e361535f8da51caa66873604defe982aa093a816759b67fe3fa9ec9da03f50ba5226f54f1eebe9b1e7939acd405beab2d672788a233a28dfb4c1c4a047e8799cb1cd5a476bbdd2c3de547a714abd7d8e8723367f52c626cc2d0e98c74f8cbed8a4524cbbdab389347271038c5de33304fcffc8fbfccc2565768cb4e91692296a43a00de227ac1566e6998d8675ff2699ba6aa8a62bb77a70e05e8a79f55f947773e73452d4308c551c8cd87f360228d73e75e9a67950e76ab72ecd75cd1295bfc80ecd4d54399e7b42d0d62f8aad04b57d27a0d3490bd39b1d1a8c8d8b4f792d141820eefaea687757a9483f8a51d22814f9833f3c481e2ee118401cbdf2f46b6f16a280dbfba5f8dcc2af080bf775b7a63770b8249c51ce3ea326cab629dbc148d923dad6c6e8f1d2dea24530e58849824e6b27e22d6e85b7a8b21e90d4a9e3db73347d307b4353fb482384c032251177503edcfbe710e5ac5fda5557ff4165f0026add01575bedae4fa1e46daff5ab23d23f3aa47f747c6aeecb2567335c18b220a17097b8aa9c8d3a27078d90bd9e4057e8d1e4e9235d2df16e36023ebac648381c854f31ac19ca91a24ca53016547cd02aeeb3b22b52fbf42495bf92b624d28c5bd8094c76b9dc456ca5dad9d340a0f8ff3a3e7db1063642e4f0131b4a168c2296c4c1d5ba8fb27225cee4d6cb7a4aa0eb44e4afc7112cefaf35da9035b13ee518bb86a8d4fcff831fe27054ec972632f9453146a94fde6d5c8c46c82ac097a1433b68a74b4f9182d3e7231e10a00e56f54b0da73286840e9e995e9ea514f94904dedbc9fb1f704bc425a29d272ecf0e749d8c2fa85f5430e086542017761ef8b12f1a4b68f61ba371c446b86fb41d4b78e3984df8776286b8fdc1926832c99037c770137635f7c5c19f39cc32a6aab47fd731f13d7fbaf4f251f404671165cd951a6007a7ec582c4ff03c275a3242890729cb6a82bfddf1a61fa9110e6083cbf9fa69a3ddb780320aec0e1d4c8341a337c020c60520a136343f29145fe1fdf798269c83b186537c3434b966a9edd36f48b1795f3e53eb9a1bf784487d346302bd1dc4dd393e3d264b9d4642074b4f9cbf5471cf68b427ba82b01d9e90694375e395bfee5e183c12aed1e4ddd11a1f8f9032f688f9555852b7dffc8083cedb016b943ce2d3ac1f9a2abd2fff928a0fc4f999f7abf5b8c8b474bfeaeea05f8dc6ff83bdf14e2fd1d00970acec1d42aa7c3fec2dffb37f0df73dab1cbc4428b5f75b0dba5c07fd640440f4945f534c6c7f7588dc9dd44399d0d64fbbe0df5e431308486355e09cbdb30aae0038d77bd0edbe93f0715a1563019409f298e2f2518b43f80a6dbe55d163396878d8b14b9975c48e5b20d6ae17f21a85296d2e3da1d4bd57c3a6f9265976e9ca0b3f1dad122c5c84d9c8490a069dd1a8b65f2e8aef210a2eb037b204efdc801ccf75a63bafbcae19467c6f3d7cb560857ce81c30239f1ae00fd35ac69341671e3df217b7a08f70cd6b862f96ef34b3ae3223a29df0ad1d7085830d78bb88dd18e823230e49ad5d7baa748afa09da9909cfba752e352c41d86ce8747dafdf949b05cad249878c4799d631913b36cc81121e108efa5ef8a05c3bc76c21fd75d454f70f23680f6e13af357d09c911e569646670582a95e1261fe6e0d688bf06183cfe02fd45e82fc1f56423da090e6c7b8ac6c0c92da55c49295ed8208289cf7e32de9763b055af50ed07a6bfb420f869b36accf120caa798e059969b007f8cb55bb9c8b854ec3faf6ed479afce7c92f9b5ba87399f1782cd63ee298133c2ad603d8214243749ee207a1343090df875898e250c3de88d2ecd931d9d8dc460a141cb51cfb2cf00e0e4ca2a7ac7f834d8f5e57e87a89b4fe8a8e1cacb7e359b2eac3500c311ab6ceaf57e5df0c2f17b305424bcb9081bc3caabec0750b7f5f66572f1d93a67972b589208d8b593f0bceb62e6313fc9546abd6adafbe79f53149122d8cdc020f1d89f11e81d488626920866a055de772dbfd14bf26766dd460caf22e644a355abfe14b9924748f1deb0acef562e61c69de3fc075aa262fd998076761dc05074597c4e4585e6eba22c193a297c1fb873475ff5cdd79e13e8110b7d9647e6b6eb97d44a6be6cc3ebae3199f58feb6d39a095a400aff0d29b2d875bfbfc83a1072b77e6cf5861bd9f8b0ffe20e00a6c3fca25d199f8ebfa5f1f6c8998e736e9e4a0d7bcff8481c637ac569c0c3ed19c0ed11ec7678db2912b63cadc6f8366034fa632bf27c657809138298a432bbef64c5f928ae55b0fbb32e40de62cdbf63cf96a1663c18667f37e1b4cba3403403d946d14289085e541f799171186092c9e068eddc651b4fa6bfa79ed1058ca4c3fb8a69d6065e795208145eecfd9c519fe4cc08605aa7010449d41e5e2a3f506feafa1a4318cace5a4125692910e99378c6e0c89c4eaca6c668cb85854722ba4ee5165770d5a601fe8d4aa30cab314f845e50c6acffacd1b73f43e70a48540c7c347d6b633c727d9a47f20dfdb057d64dfec3fdf6f3e033025f99b1cb776732e9d5e69d61f2e42b1a8f65a521891037001bc01ac9badd2816179a8a70e834ee35cae6038ee62d69f8f0c6a6fabf9ee3e07e9cb07b0544b89186575a26dc7f4f9edb3e19b870a956956f17e1b843a6c7c8b8e4edf737e4e1b8efc2258a496b3477416e6aeda688ac44cc0b9561bf953660d499dc5ced14c109dae9787094ea013ac092145ecc33291c69f5afcac16aecf145e2781b1dd3124f40848eb8dd3ac5c3d6a5047e33f1e1f873edd0785785782f0ee2829af52fb2245bf7f266c9f6b886971685ac22cebfeefaefacd3bf5d0d16871f7ba540c792756eb0cdb87acacedb733ba8f1f449de1019a5438c6a10be9537685f8b1170ac0a6b87b01e43eba16f2685af18e4778314ebeb0c90707ff064ec43ef3f4343bfa44b1631bac10044d6fa712dc2414f67d4a70eb3da1dc3b7988106dd2330f14df48c73c5824c4bf3cf60e054e1e0dca03c738ae90741ca473537c345f6a07ade3808c06ef9dba4e391b17910182cd91ac3b8443da0d36d105b305a68071ae268656be202c2d3d0185ddbe6f276b166ea122aa0d4ab5d3b77aef4a53f392b7d5bdcc9f67eba7e04189794ddbf8d65988d8398996145b72b90caac8853bed3ee240a475e63e114b5c869c49aa9c59d04b1aaa8429da8e030fadb09ccb0b83581c06984e1bfe673ff2851a508a2b9148355302817a547a7dcb3321e2eb5ba22cfa65f87034d47c806f7d3d97c368ef5e974fddf46ee50361ac885955f51f77efd0313078765228b42d1425ede305a861aea15d3effc87769eed7955be90d181f1b9960ad08e9730ed1ebcce4f24787b7d2fc82b3e1ca37ea48b6ad4815d46cf1728ebd7b1a061bef223a3178e4894d567e247c2e70d547e4c2686b9e9a7401833a6ebbe73e137ee00759da2db7c9243b1e09e776610acf1b2e87d05cd69c5a58a80a377812d9dc2cfbd6ebeac9932e2087f6dd6bdb960764e6dd1acc96e93ed05bbd5a63790655ba4e8d0ca9d934751422f1e5ddc7f13ed8d01ea0cefbb5bf53c83e0a29145722bfe079d0ff2983302f45b79cf84e5c04a59d3228229f132b1a6e7e4ee603d022bfdf779046ae3806b7396b2b2502eb380f2416b5ed4f684f4c948fa886d0ececaa83f5a97c02635209780cdac25c56bbb0847328b84ca62267ec3e6115f01086b51f9b9b1bb1e16f41b89ae98fb8033024b44fc721615d1831923f644136aa854a10e6f37a676cabbbf72a78f6dce300a18cfb3ad342af618cbd3942ebe5b15f1565ee0688487ef27e7f1fa2f187e44b1f86d24d49e407966d7a48ea6a2e5d39ca452b37782aa66744fb214bdf56c401b0c56aba2c475822479e3168138045e0df91ebfc3959e7e968f113728fae4f9ab5c84bb59996dbbc0f9173dcf7089d66992e3472341512df8d6fc0c98da0b16fd129e94097cc0d0fb7658a15b2197e7ba42475c13c2fab8484e4ff235722514458d243e1d24a02afb205e25994806be0f567f2378f6184fcbb9fec48894ab70e7316c7a689f813a83523992e62ea0dcc55c94ce222c78dcf5024a71d88f6ff0d670fb020f7e2af6c39fc03f86ea509250394970df6359c28b3a83c98a2c5ff5821960d693637e60075824a91326643d04856617a2e5b9415927579f0f9f40c3a41424143a9d94b5a276dae18553a8582bb010bf25b7d35ed45e7ef024fe1eeb14cc1cfdb3fb9a9736ab07ef8eaf70f98e0a1e613bdcbe6a3920e5ed4fad0d0df08190cdfec5ea8d758473d1a7a5ee094b5e595ed375cc62e5b43d0867c835a5039df2d322fc6156c03ed9ea992d59fecf0b1207db9049c3b12e8e35fc1e9974afef563c13006d4a2e3bf12aee4945baa4c20973107cdc9ab9c429d7b3b987f4bef73ee2daffdd634854ac1596dfb76c41fea5944719424b32448bad8f40ddec84bc2c43b5fd00c29870bb9b4847ec25d423ca92c7184a222db8e11211d4242ce6723189f6e986493b7cd25c348ea71a0229627f0093cad24c64c72757869625746e89b0e9bb967f91ed85a75cd79ed7bcf3bc35697b10d2805fd78c8df1a700422f3452b74a01eb0a011920871bf68d2c7db8ba785bd3c176db3ce665f8ab0ff86f3da28cbea63df08982929e7d1bca053878d4e71da934964ac53396f7f1df7637f593dfeaff4109b6214ec040efc28178b4d68794e76c992ad9849c05aace867cf1c18ed2c3fca30ede565a931c0ed5407af66a458aee4221384c838d9fd497081eedf0c331c9ec53cc15a548f6bb261c7eb0c6e4461375afd441ff0016724af16152638f7560c361f43943681a3269d3fddf9420166382253344fc146fb2ec479a8743ac699697e804e2d2f339b39294a914e429f012915addeb75fa1278483613a6820d10c55688904f1c0ea5a67f8d224ce57571240cc1b928d413280ce1e4ba0ec951bc5b1e77a53a8713d28ae4df864f24f27c40222d0f0f07d7ec64979eb06de953d20bbad48b1870332a1ffae41fef207d0093c5b056fa45f4966ef408b12a8200fd96434b7c041041e459637ea5ffbc0388b92cc6acdac9cf0df68c6b1912bd462fe2b564f3a666f896608ef1c5a3b0d1af2696dce660027e7bdb614cf981a7c9ee4e675c75e825f3b0004bd0c57aa98015ee05e9dcb645cec0db980d9a3f546caa67fa387369db5bba538dad1a489a4e886d8ee3aaa5528078edeccb13bef29464e17db581c43d2233511023fc30704c5c12ce4fde7c4ffe470e74148f9041b76b9281bbde81dd41470be48b1a25c8f698a2a19e17eac5927aa2fb0419e538fca0a66ea01f9ef0e4e6aaa5a0f828628692d5541d28d5f5536b9b956c43d1ebd1919fd2c02580fce6db73109b36b36bf9bae91e4648726dbc8e1a056185203971a816790c59011f452a627d7c80c73005e0b738bda6cbc6ccabf82d4bbc9be4d9fddcafd1c94784b983556fbe8f7335e5be6921f268e8a01cbc95dabfb440822a69e7d69bc06ef87e1fe655dac6b74e1e0491d1cb999194029060cf1c66cb5b8dba17dae9209518415a859447fb070835d9170a3037228425889efba3c8d7c8b5d29d6e155800fea9a143414c439762cfc8926d6f758cf2117dacd016d2f2d34c43ecdc01f765a66e3493a88b9732cdd3e1ad3de09be015e572d923060d8ee0ff96a9918fda5df152342003737fc83ddd94701280d155d024f3899a4d2bfd5f2296878f195c7bcc2fbaca9f6487b2252c5a2a5e08c536688adaf90b3ac403009c9050d22962a1a283df55f50c66570a252740273f120b0844ef5bd75304856ce82cbfc1d2e33faa5edb5bac8a486c40399724cdf9d19fc9e476d7588364959f5e21658c352210ce38f2e21848ee4da19495457402bb0f919b877640524c765abfd25f4acebd16964c650b583fb5f9a86ad9d2e00df5d8acb8383a6a47212d5485082836375ed3932fa6431a65876abe17b731fde5f8dbd41f314fc7c48d29955cafe60ce91076f354a09d59826f0d97c294236a4beaea6971469d91e3453cce70b4a228fddf0c4254839bf90562e3567f38d164a0497b35a01f699ae4e39143f7e18355cce8c89de794bda947cb55ab5e7f8a4adc944b11b12c928d5a2206e7eb6d26b514e90bce2d81ecaa5cd3ba726f063eae98e05f6a211076097207a51bcfd77a0c8fde9aa697d07bf7e09ea4920874bc65fb2eceb23568cc0657c8c6da913f1f742742de0027a53729e09c198823f520f9609bef74fcb79b78ef5fa5bfb0cf36d4b1c07f67670852d7a30fe291edb63e1d7a8507d424e90231ae07bf43a3c2306dd62ac052571f77d17ef1ce6967b766adb653f8130d656ee8b2acd560b0fbfd591f3c11552ea0958648b38112855e4dbe9c1ab3cbb41e90777f100726af4122c1a808f7e4dc10a8e8573a65b89cf86ffc64ab2411a3245599b3e32b889f740e1c8e515a09d0aebbf656df2760463f089c02b2e6a5e8ed084eda06640edacd862c5cbb6af3d8fcff3be08c8b01cb3b6fbf9994ee652bac41b3a2d02db0fdd3948f7478d7393314bb27693b9b26832a27e504a120c86c427fd137739dde0bffb7249a21c9a5611e8556e1038ca511bafce667c84dc1d8f06dca026f09c8ab9fa883fb68e230872a008c0d9f0995749cdff6a4d5d6f64a33762686013e5e674c0186abd0b8ed15ae155f72990b17a5652e9d8f991c6fa16f085510e58b42ad6d9f15b010a4891a67721a345f9525990bac299151c6106ea8a014076c3ec77aa52208d2ba129893a71fd5c7d1edee9e554980c551ef673909aa652fedf906fe600391539fb8cac5ec88948e66cdc3965dbd73ca7040b668c3c6982a0ce0f5eb1e47487f30fce2c28adb7d2cb08aaab93c65f48efb02854da63b91b48530428705080791448ff4b29dced1c46c060c8ed665625e54acb31d52dde933736a5d224abb33a22c83379f7195e00b66ff133d531b33c2c9d2d57ac1210aa754888d33a123dd8f634a48482512637f891038dbde2aaac90349f08ed487d57465e6b9851e31e32f2c631cf2eb1f8f61f4e133018e471abe6c30a6a075d111839f8501b376ae1f9a354101bcb0397cd866a8c638c597f6a98d67cd36cd87728cf20301f14806f988321f9fdcf68d85045e4b467e3f9e6abae5545253349af96fa80ee78e65562ea9d856638fcef832a2a705f9e104070c92fa6d790fd6430575c4cda543ce1bd444ecc43c4c69555eb9c8e015fad0634ea1a79543064c9643ccda624135f97229579e5548b71b5e86f3bd585fc09554089170d9a2fa6e1a05f86e76e1aaca08f1450ce21cb60e85e5ed177f39b90eb2c19aa6ecdb5706364a6259a3e429baa4a9db94c8fb03e7a7bdff8b30fc8dcf6589f46145d461a0c730b9d171992b24426f3536682d8cd1051f0f27f1528847d849a93103800f3d5426831ded076723dcfa4fb5ac364150d641b371f5ef2b1c405d02eefe67fc4000d5c1134fe6e8c9f6fb34bcea67f394a31ca6683a7668b234123681d0a81c45bd4ae1201422e047c2760dc729bc9c516fbe2df87445f4356fade9cda90e460770163186f033836086a0844c73ea6bf6a3004b9556866fbb9b1878e8ea69d5e92fc04e9527e433415ca366d56cf07ecf918c1ae1f651ca14341e0f4e3bfca5d52136d3a121083632118f0f5be54c4714d54d32300d004cd2ff9e244fab915cda225a224de80de5de3a1454529e4e659d9243903902facf00f6351e7b3fa2e3ef4904faa0b8158aad790b9f22b0c5946dff573b7b30cad1bd68a8e91a1fc481a0344fa79577d26130c78ecbab10b75f7ca86bb47f1ec66f0e8cdfc8bbd6d13de70c3df0b4238728f635823d295a269afdaaf1ff4361930ea875e969a948ce966a6729cb87e7ede9a87f9cd3edf758f367ca1598971ce9fc6d6a048ba3bd0530f1866297c45690289177a8db3e236477157896508ea4fa042446124386813c4531945451aa217bf304d9b98fa6fc517fff95aec386c53ac167c93ff086f272ae60aa356e4796a7fd4687184a18567a3b00654fdefb9d17ba0359ad97ce32c276e72316f1f3a780128e9f6213018bf3f0e0a8debd9932f00430db7f4529ef72d60b047217756ae686a70f5d50dcdcfaa838b612fa551b0591f6c6c3d0ebb2592c6c66a93d464b537bfc61c100df48891f2118ec69bc7683433101196d53678032cbb2731b87e908830f3c18b5cd6cfadc390fc472b9bfeec46903df9ead794c52da762f9ea47591ae897b0134f126b83d2e91cf4bece934d8a32e2020224b7dbd960964455a807cec753346e47817d8ba81a69cd061e4bbe6e87d4c347ee903b1e9483bba09014cf2645ad3c27e4e8bfab34cd2051fde6c7d34fd1b23a7bceb67ad321ef82e691cc15b44f16025618c67fd2c8d4d52db25a9e51180417d3f9d42e88c0409fc7e4a87ca04a87aa0c739cb3b1beac1b01daf0fb3305d7e4c120ebd06580ee5348a27a48c00e5085e1db440b0022df33eedee91d1b59ec254bf27200675e13a55cd4aa3a4fb9def3a69890519d2f599fc820017bf5d5a4962e6c2d3bbe954577841587b908032be869ed0cbdc60b59072d2f239d68ba3e254da15e7c8da2baf4daf099bda7697417bb97ca4fdd1cbd49ec9a39899360b33f76b010220f319f6f9f96d9b0ec0a583b4fc74865c168a6fd835ec3c3fff9ed7965f2525ecad50acf69afc7a90c84433bb665dba6588bb01525a70369dda2f796ffb72e91be2e041c5f660c05bda3618b2e6a669f5bf481ec62597f0c610d5369d3f8c681206d4e54ce3bd229aad2e3ab918db7b8615cceb101614e3733def9f5a81ce92fd4e96c07f87c61cd3ed8a23657f1118b29394623f25092dd043a1142af8882e872ec6b33a8305e40dbb4fbd3908c82fe10b6fd3d9efad8032bffeae8efa5edf80cf18b795cd35f3dfc5fb7167b7681492636ba88ce5c0bc38dca5a8c51035afb3b328a895fb38a51f0856b8ef5c6df8182202a86e2dcd0cc3f56bd5854db4c5fa6bc3540175902be0f3f437a6acf94eb987cc34de482eb2eaa0ac5349d5df1b5bc1a96aec9c4e7b3f0cd50f17ff76adf0181f3d8b64263ba3a5f8719d44f3365a2476de3efa3c6ba83ccaddcf3bb0e7746740a829be7d80211a8810406d9532b290a7b2461a314086ae24e24d0cf18bde9cd1d613808546bb76731d58f23fb01ce7f2a113d0ace61b189df4855834fc98a4f20dd15c8ccbd738fdfe84e76516badb62264d0e3b95aee2ad0afb62e0296f0660bbde9733a4c4ef85467e42c51be91e243eb397a853e28dbca1158555135123e8fdd9df07a2788ee2c44679c321ecf46430556da226ec8de2e824d558e5644e8d6dc2a7dfab8de64caa69f1467a0b8aed96caab493e9683b84e4a547ef151893d66ad6e68ae77294a92297a49c56dacae911420c66ab604cfb41ae07eeb60f343de5ae24251a2dbd025921f6b4513ba77668478a4536c0c5f3bb2e1434d0a4f9d92fc804adc7fe68c8c8f8e347076d8fe31d91ef1dab447b96393b24028b1a9a6cac07e76270e37893d5db0bcab7f1fa1b9fe78257c77deb3aea9348ba3acec07c203b7df33e95c50433d46af5207bcf927dd9c6dc010125c756e585d5d9eae68676b4407eaa5362166c1ead11818c97568af79942e0b5a15455a7972be0b8ae7b22bed73fcf969c86efb115f2bc54455b4048a25fe5d86a8e915bd24f484c688f323495584fb6621383729b10327f3c51f8c46256a66a823b15d1cce5d81dfb60dff1fa7efb5cc52ccf125da7ce223be77d195cfb594360a0cfbca01c2dc3c6124550026bc9e6564800d9b5759ee78b2b3efde7f7b138a6d2f58c14f508b3db67072beb7a0200b667547bc7d48e1a3b5312f7bff40a22a3d41fc144bcfd509fe33b0181e4375539ad51dabffec854b229781620a56fee9a9288aa0a4fce3a11be2505706848008e723fd603b1e8ef22334fa2d8ec2317b39e392ab4444b6425bdc76ba9a63be6bdbbeced81d65a957952f73aefad66deaef1941014e79d767fe1678b74f6078529349ae691d99e4388e986adefde50809791a8e26f378ebe1c87e5d9ff3a99e9860654468eedf4a83faa2afd91f73cf2f86e0e9cb982980663a66a8fa3a3c58d195ebbe8373320d63c150b220c44bb8d30ba82d755c0683e7544efc39b470bab0d63d27362353d5aa4ec8c41a97a8810240745957e31804f03e9d9c4ea7a1d24aff5fbbe51da32f02b0801984da606e29c97c1b43bf583971e68f7e1783379255e72eb5f23aea12b115de2d94f34d51c60be3cde784b245b340349a6546333a3595664b1f9c906309d5f6cb409fc0cf460c8e556b0f4fcbb593b70b8b390c628ad7bb72faab32d459ec6f201344a426110057005f07f77001d1d4691fd404cb006c15be4bdfaf4136182bb88f04f994a4309f0608f65e69dfa1d51a0c89f70df4bdbf929ef57bbf18248519b14ccda42833c73acbdb9eda2638b951d14564a089992748bac4143ddae25bd4600461e14ec152c35fb13b97a2dfb1aff56d7c189e52d2a083e4d3e71cdc907167f7be662b9dbcb9ddda8f7517d3dde8b80b4229b619659c10c76d8fca749a80f6a4c47afc79fde4741ac5e4bb657440c2e428ac3d21f43753c26fc455ebc5644c3298ec87ea01156a8f81cd965eab7d12833b16fffcd6a9e97891ec124821df8db7a5890375db6265e143216d55663ca4c2026539b095ac229d13bff7a57ef296b23a3d09566726188784bf922f40bc2de79539c31ab9e3f11840822b0203d98822e81f9f96f05f774596202813f12e4f9530cca87089ede4fbac69f6d8e556e0aa2ccf3c609c24905431c9b31f163d26a45b79eb1a14c88003129dc688cdf093096737276ee6bc505fde4945e71b589999fcef53a24b897b4e631bfa8ad70e0a00cc1ea8c6a83c734e94821e8b3165e8c9879d4fe2942c8f3127a9cd447a9a290f70823d859c42366bd756f8ccfe5e11a7160d225e3c12862b6d1cbaaf0feafab4eaef22e2031005c9148e2b22d6b153f9d8a4e35eabb603b6a4cf19006ce68779800108c6e7ae23ab7736eed55d89a14023bc49c6d58de774eb0cdcee8185dfae1fd20e0b61ea8070ad92d9b88e36f7e4c5446a8db8239b062b3860e5978183a2c45b2106a21f5924fff876964302447bc01d83c2ba00e9e5da318aa7a7dbb5069683dda660e938e7fab1503dbe983c00c1f35a83468e649ef1d8072f48dea73840a4fd4496c0d23be7389b084b7adbe1f9f17e21d9a01d4d2b697a2344c6c1bec5b50bd81b70a6277a7d1ff74d6620c13d91aee764cd73673c6c61b64122be2345bf48dfecc55d9149a69535ab6d007305a861666c05fa4bb1862b770719de9acc0552fd2c08e524a54108807829ecb3cbc040a0082e9638811ec0cc2827ef5fb13e21b3dc30afa635b9c93bbf2593ef0310510c6de76ac80bff8ef3c1c3540f79dacdfc3c50399b206021213b30e471d55e43acf184ba9efb165c85eee3400c74eb14a5bc647540303384aeba1fd7b019b0c4964ab4c8a38fe7173471964ca3366d15a5d89c89546741b224d274f7aa386f5994478ed7a6537953a1f9166556460e4e337b31021f03e6a20dbf201d89840657063a43ffa2eabdc726e4c797bf451b368affa40a20194ded25b09a3eb88121cc3a6f9b582290054c5107ecf359fcb4567b5e625db95a9f5911fd39da549ef7e1713601b2bf137254637e405aad2b05b25cd57c8204ce851b3d0b65e0a0d35fb6a3eb2e302cd9a414c4f6b37db05fee40bca8cf48dba5dd9dc2edc9342a6ab6ca7ebaacb6bafe4bcedaca2d283d1cfcc870b25e09269665e027e98f549606985c773d799c63c1d0ca1c6cf15af6e58e74d956d7136b94efa54d1fe5b74a98792d397e9ca4e57903a4f2d48a33ba110497581d3a120594234c8f3f32ba316c096915555c9d268e89b773a309aeac9a502eb27dbd2c03dc22876c313f3736944f3d2647639e24c76fc9c185415197ebb7e401178aa6494ee2ac5c42673eb58cd0ad58f4b31de1082d5fafa3763dfda601a3e38f137fbc42c53c7a472e1008ecb5ba6458eab047832ed6d04b4d4206418e956575e9b2371ce3139dfb0857eafcbf01c65bb3ae7d77e72ba88f36e8733e712bedb02baf2d51369cb5db53d779da5578d4499b7a80bc14d85183c43ccf8c5aed9f365502861fd55187eb7d0d68e5200b02e6bea17c612a8f6270dbd744d5219ee0583bcdfad7c76be4e1651631a8accaae34dc33fba928622641404f1d3e910819f97d4f9eeadf33c9d237db4c5136e131f08ac4b6e9fab5dd2c1a0eba18d0af822816f2fa61d50985850a2f4892652e8f4527605e04e392ae29f9acea0ac12e4e5142a202e58cea498b4b28d324510ff64a3c33ff6496c9c928a8e41271885368256af29a210402f628042bfaca643fab7b651a8b36613c3df6b71e3ec65e8dd4c08db0264a5a2134d7954977cf6a0a7db4a9fe2c87e843f5c8e8c3ce1a7ef9948aa4a266b53273a340670a55c8058f2f28e145de6463cd04edf8eb80146e8430dd2cd6fd711ea9c2dc74602893884a18455fde4555b756f68ba44de047141442c38d3e6aef78e816c9d373cebc4f2a0c9151b454727595d6153f0af61a8d37cfc6b5c397caf2820b9a0efe3055335a59fe6efa77925bddc7235360f6c9259ab80ee96695f25ab4e3b91b15dab299ed44e09570cea257be0b7d616130e942a3130a828286d53661a192b878b8fb936821f9e96c0f25eff3436e70392fe4cd018bccb0a1fff1e06cc2fed83ceda317af46898ba471b361bbbf49a980f386581527e4e072b6338e94a63db8bf077526a17107d69174b9ae15b33f7a77141da10b5c5a356eb39ff373edead21157406e2c58204d7e62b29b43522ee3b48c3d38d02ffc8853b2308d0b7ea5e55645e52649d3571ef54633c011651ae7d0272585e5fdb2cad62cdcb2b5eae1f5e18c45b39b7d8a4593b906116692c7e96a67d698bd4cdddf4818581026a3f688ff7b508ce9c068f67f3ca3f96be316e8e41dc5493af0f838bd503c8221a22d4b2c4fd76e52a94acbe956cb705d22190e5a642785b22ba4cdc872f35f2ad98a98b8cf52b9cb2b17d6cce8d662082f9de9be936555d885737c1a8ba1247a1fc2f2af1b266b6ba6e1bdae5449e94dc6570f9ea6bdf936f35fe8c8a129f24da624e88e60d334bc81a47ac65b8bd6081b709ed818f668ba67f90cde2649f0de2ed54dfac1f876a8745f93b0fa4b6dfce8d7adf1c11ddf9a43ac5885d3d4bf50215704d34bcd2448cd72d55ecc0974f374e6baf26a3286df9c48a95954efc9ee9f8703a67d5e3351a4fef724b99e8b547d984c09694e0c21e413fc8377340dce1458bdd1b54bb4d85ecd150ee3015023c9a540dfbd1f2c3fd309084d29d5e56ab1f06909f34645abf60af26f97b1b7ca07b6c3116baed32b1d588bd277390eb4e9ef0bd75ef75ec3a4b4867704cb57be79babdfc96360e012e96e515ef4056adb365749b6cffe73a932f42d4a9b6626d309f886c0429f903b4fb96c97b8367fba6a4c381eed8619f688e706f84fb8546ebec05f00e8eb792757a4dee57d82d53a61b336d7a1bd985a980d11ed076d8fcbaae923a2aa0951db9229a7d6de8fdce882910b9582746a8b70b39595fd3917ebb083565f8512df502a85a63b727650cbe10bc7f602cb786ef2b8d5f420f05c93fc7380cd99ec52985c1c5178b793d2ded6b3ce465862493ecc8db40fd0cce3375a0e4082f3eedc44351d11294b15cec980d3acae11edc3f837aaab9d47be456c7faf6e9316c9dc1fb94d7d14c6b5b442e30885b6801017f8b825a5c20ef8529d090023845ae4cdfa6312235b6ce356a9b57ca02d6a43fa98c2624b088bb72debd1ef2787a1df884a2353350b11cac55afa6b5b59c87d10cd41028f934fb2201a8492f9b4fe0d9ee2b6179ff71c693b40ed80cdf4e7758c827f744a2450d3aec9b4ef867d409df0843c59061f51a044d7cebc504a226a9f0e9c8faef50e702528b88c85f440fa07cca724ae5982a11a23ccece6b97b69f2cdc13e3c9e5aee0f4da525be788bb6814f1ad69e233d041ff4904a57d19445ab56cb2978d946170859e9c18bb6f48a7f621ea2f577b38ea3e0d06d9810ef6522e1087936baaf2968fecf4439705138f83dc6daf9bec2ba9ce9df1a9c4081da49d08a12190a8c40ebf8c0e42bfb7a8d73e8e039966b7668c4142dad0a0be54bf938d2b936495e466851c7fdfe466b0d8169d576dc20eea0326e4bf245c538c2a84789b6a7ec9227c33808131f7aed47661998c274b64793f20505165361aec3b41a63c842bd52bf701bade2f5f92ef446b23f737d926c97cff1fab2fe22c37570cf85993324d99f3d94fd9c71c8ffb461720feabe5159e0590790f5185c05a74187ed4a254158a7f39b3d6bdf0fe385647f787a0a6f3c9bc1164a73535b9184ce8f68549cdd551063b60a79d4207537b474f54d75842d39cc71325422ece7de79560f28847f182c1c3007b0b7b2d62bed415579b1bc918a9caf17f5939d352dac86d043074c7c41ae8e4bf6281707d9ff87923d60bb44cb140eb274f53a7fd6659aaa370a9a11b42d8acb8ec7ac5a6cad87f8a6b2cd58807b1c3c87f5fb6e4f7f8d0262d0dd233388fb3c6c889135f6e47d57fe8dd556b79d814fb156fc2a317170c75a36614fb8e8ccc3e2ca616893a8c8c2d1e2364a4abaf6a01928bfb97f9b774479d8a89cfab027d49cc2c60147da79a44f0e692f0accdffb542b45370ed922ab4b41fa60246c4d46c5b584c25252b9c4a7a0439feb8659a2fde15fcea21772fbb14613c663a0764c018b48063904db80c99df1ca2166f7a70ed7155beb17c1baf607d4cc271afe3dbe671f1d669661d9b3cbfe98d42f3d817b9eb67c435f6a546e533eef0691884603efa3f03f3f59472653b3d9a6aebce628fc03ae6616d04f5a65e4646bb235cd031f116602d6ae2a47995d81993f2c32e839c109ee0a96375291e155ba43d7dd19bca3ae2ad06024bb48a9e6075e97a4a2c85c24bf2d94af9ec3f8ef7fe11e9332aa6fe9a8cc472e11a6637e38cbe5eb4634be6de7f61bd8c144476a36b8671f77d8c6fc52eb719c7d948ea0c740a86786aa3623e28d5ab1a2c79ef904770154d641369ad734999b272f7cc1e9c7d2b9ef7cf8f1978974a151546c525613a4467846c5ce044b719dd8557f5026eecc1e33972ab8dc0f187df089352f9ca43b3da6641453b1f55895ad701d7c0ba9346b2048c0f159bc8dca1c80e6c0ea5039e7fec60a8403e2d596869c8876c8c47e3f15def9660e948e8ec408ca9a06c2842fecb8b66e493a7dd281d9d7d44d747d417cbb667d2dad95e63ab8cab9ea61ffa0297b9f824cf9f91a66efba5917a8d0fdbd693f7ed7c466c28eb26d2f3db3a6d9526c0cc8ed852261357e2e279586dbd8b8851dbbb4dd1bb213ad4f345fec2b7a979892e5ab4450d856a7f10e3befbbe4c852f59ac92f434fdf69c76ad820e750f0eda491ee04f1b3c4307d7c75943610d26409d8c9bcf10c62120785f1303624255b3519ce6c8a0d4afa4565e2ec8925da1b9c3e64020c1c57113c4f5c2f7c2956555d54b734bc81970c27ba89ce72ab1b67ec90fc7a1ada0efdf89ff5f2d2175ad8f8a943406daa0a106ae5fa81283ddfe27dad6cc700d47432ec3ad1456792e6a03655bbddf920e65bfe8b764e648a6fdab952c09a100b828241893ff6bca9b458431e8f5525da1185023fb806a6c61423198c9346c50b78ebcc7e3d34aab7bb5131b5ff53c798682f0be4b1bbd6b68c35599ab65edefbd58ffc07426c4aef0bbded37141a1e710494c088321269d0e6841815d7658f4d68fcdcb18b6024f978916e00d56824307e16ad8512de96139fe38ed6271501436e0beb932a57faaf0569d8cea3527f2a11bbaddfa63503c34d78a2b5848aa68ff599fa9d8a0ff70345dcc6b81b337d90d25057e1a4d7b6be4c31c188be29c9c999240a5934bfb397de32e8276750f0f9efb7b84a026a15e6c108758d7d82ed41550aae766df85b761ace6cd5bb8c5dc47861fe99f3be704bf002b9b5d04043aff48289b9bdc195c06418b2651eed678849e1cb1100151132cdbab584f3d7b2516d1a6250f1f8a8061d589f7f33e8c975398f8c6ce945177c1cf135fb7df38e75dba93bbe0ad8533200023931319ccbfff434107fefc704a2c83d89784d927de6364c2d51364fa5391f2093bcd7bce429cf55a7b45872e23bdfad6b8b8201ea3a52a4c908f8a4678e15324cf9bbd277b3d82ae30661d9ef729e8080eb8b95297d14cda9af5d7038d302b30568d9756abd4bc4e7fa3d26a0157f7932ba89d4edd5c8158aebd336e9334e4bf1b3431c9df89cc64901d4131dc2af7364a6642d404f73e5bb12136503168da9190fcbba675be11ff4ab229cedc34e587fd6938753aa94737a487bb47790825e5e9c3fcf16e7866968bc7e603f599b7791cf2550faf895dacb7810c1466fcb2d71e106e80cc68c98f0ec6c6ffbf34977c39271914a67ade0dd87a82daef55f10bb777587c2a61cb0032310d4f8c9856a2fb2bee72fc9e7407c3506d3d2141459c912bec709c0efb8fb6eea191ae7f27c3532bb2ada0b06c470ce50d4939a299e9cc456543022a6a9f0e2f4ab774326961af0b2ac2dde9ddc1aed22592a6edc1de89904e88b23aca28d6a8131bfefb55526401c46ab4a3d5cb01810f6001de92b8af31f5e2e576fa8cf49dac67cd49ff99ac9ebb1fbcd1830326886d3d210e21047da49051010e8f6ab3c9f50166b85c6d48980b99a2951c55881d577422b05e921acf497011d166821ddfa24bd1106e50d0186d77441c24f2ab19927acb800b83c004aeff7fa0c85163585082ce080cd45d7283d787d5c9fa152bee8c5efbf37373ed39b8835bb7cf5073f9f6d9bd37125fa6a70c1a501e5336fd0ff8fda7990aa7b85962036fe09c60fb88243103cb363cc6c622ce36b5708823291c50085668ff316a63b1ba3b961e045d57d04d4592c94105ba977198c8e8406a94258745f1a5adba272320d79b095bd1d7e3493e745736c529597f30f0ea3a7e157d06d8fe8d45eaee6490a78a3fae8eb68fa535c06ecef311bd7c53001dd123898ed53352effe50d442f3d63884e87effeaf13a3dce60cd7de77307429df8f9dee52088639e1a82e1b930c3dbabf1f540032fb866404aa694fd7f6da6668e573505f80f25d1ff0ee82c4d96aa225bdbb1a7107a600866372e5f70d0bd56b9ca7fbf62e9de9b4a2240cad8620eacdfb3104723cdd9f8fc9c3f43eb0cb51dd7c6ca99a0d5d18947f3c08f4836a7bdfdb09e81b64498074372941c16094a1a84e92c43e5cf179b4996e0789bc151dd247c293d099c48e71ff4e5693990055c887befcd055b401faacaedc65b75df0f0b27d6ee00cd1b270ab1496030a502b7832380be7e090ef1dadaab0eb7840212a27eb957a704c647333a2f8a86477bb008fc7e338d039213caebd400faf15055cc3fcf1930da36de04985e3573e1fc64ac60e38872957f80fa85484aab336b2fc0b6de4bddc8f6031cc3ce052b4f066994143f98699d4457a0ac30d726bdfd351b528109f2597a652356c8583eba5ca81344358cb40d2051134add97acd9c1faa952e2f1cb5b48bebaf8fe52ccf60295435572b14087212110b7d05574b1b4b150febbb3a3a7da386ca207e7d8701d9dfca6da45cb41d559422217321763f9e58e29d3a22872ed0a5042932b815c12de39a86d75927b8d71dd81913a6189701c107684c175d4092e55b9582ed5dad162a5688ef1dfe6629747b8fa47c0aebaca8a9b5708d92ab1352e451aa31e54829396a669581e4b3613658e2953ee133bea2f0ef44dd3a693e6c0a1fe0a9d4a543bd576fa7478d8b678768345d05a159dc8ad3dbc7dab5c33fd6654867ed49fdcf90f13df6857e04999a4a19911107e04d5ea90617404e4d29481e4183ee5bd96f0b78b5181b4dacbe14b75bdbb83490440329fed84be62205cf4bbd1c3845f209294063adddf0843bbfef2ea21088ea1b59a1cb6235c7148b6ef8458e3d4e60b19870f5f7e3ef4b0fbd940cf3b6c80f9ead89cbfa0e90dda576824c03a9b265ef960be49b8ff0ab739187264271f6b44482a885c99a91fd4aba574fdbeaee5e6b5490437ba34baf925c76cffccd8e61dda180f936913dcdce61d1f14b1d35718aea7b2310f4b8c324ff42e709f18b63fb8a2b7d4fe27658e9814d2fea03732ec4a44276613c52b65b214df8f01eba90a30a96019e3e1483c5c5e01b7a98ed19369ecd113f13f97e32ee614ec36994351cad0fd41017daa285aecf7cede94cf5377a685aaaeaac91e6c7b967cba9147cb276c633b7d8538896f397ea343f2d0c8ec0694ba99815d98ff67e22a8c23762f09d9cadbdf9e44be7c9ae0c5d1ce74f581d29a29c560e9292e340996f145c1c906246e7b133996d72e213b525eba1c9859bda26ec31b5d1ea9b58b0b6d07a276904c5dacb4ff0893003efc26357912c7bc1e65c3cf7ab40f2565dd7f6cc56e36466250ad743d5f1b892f95ebcb9d5b83d5e2aa164d16a23224e0fe00c064969484c8b791e1697381a969d978af96ebcc2c7337519fb4adab706a14faf45bc3406a23399cd41fd7958a263ad582ae0ab08a38005cd58ccc03fc8dc6a27cb5c27eb60b1274f56e777f1ddd8ffadd6565e9b31a75a18508d61c6da9839f54c4f1e5f3f4c957262221cd119670ef994a3488c23ceb235cc2769ec9ca3681b4fd5a98bdd293f3c074112327f4c33b0f39aa86e855f6337e23b0a0b2c3fc803c150cb2a666ff967145494c96b4df981db19ef8c19a8ecb81104da3967398599e258e9887d9cb78d21d14ce716d1dc2efae41e4ae8afa5ef87e4a9e96eb2aea5d14d4c04da354d8de87f9ed92ed0414fd09fd1158675aa06d732e799b8f3350e31b8cc0f479d19204e3fb3a94dca985bdcfc856d0cf07e164701afdb4de174cb29ba2621a8d88c7ea65ff84beb2d6a24f7b2d2da810d5fde30394438c825a704d0ab30e3640894697459c849a25089e4ee4109efb2d7ddb94b8107dec1482193e8b263b2f9df187eafdf954040226725024c2e6353ed7271c3077167bf1c2af28f33602b8ffeb9be9af409c05ef911e9ec1a4021ee0545cedb34f1e09892aba28703935f00883325c2a6d0849865a958c9d98fe14a0375ac3ab09e31ef656e29f7cdeb31f4e986b59b2195685669e35ba4ef57f63904b6ebd7e139497278b3047e170515db5d781cc3383c7d58eddb0aa476aa71e6f4a4b08a489adc9c0bba8f3e4429887eaba71ca6ae0301f29e980c230e88de8df46d9e96e5a452b5c4931ea6a1bb528f5dbb05e2b9f6b3e6ba7648dc374ce23dd5041da4a0abd146d7d505220a484a17885246f1aaa6912b3417c34bf8045fe39f42840e5aa97df9a6d862246678d9ae11d89f79046d2002364cf337c0b4be17736b7700e3cc97865d06d335d283739a39cfc7921f6c3ea38a24cda952728f9646dc580cdd9b9ad881e15752f1727ad1a7db38b97f81e8314dc3cfe97cfcf7c3d0317a3ea219315df584bc54a0086ed277e7304379c573ebce838da6789a2e0aab80b837c47f53fe5a6137b2768163cf92743101cc2f63bdc5092f83d430ec7fa136fd3d7513adc85c4976be3a01b700c35202f81b806677d6dad3a7aee5af47436e8b32f40326291d2e234ef075cead5f0dae616bc7470a44f2f1231bbc4821cb3e88ff997c942787d8bdc060aa692d1e185bbd29523a33c68d9b4f59539e1be27e0b074f743a9ca5b1ee863fcab4d26ca55e01a164925f0882f26232b1825a0dbbb6f5bf2f782a5b171e120a55f37170ca1ac6bdbe3042b7da3bb5a857bf1723ad222361b165f85c931d04d655e9f79e79f3fb419ceefc5a671ace9f8d5eaf8d759fc815a8eecb414a67c9bb203a123455782f88a59940b8229524d0418a0a4c352a2d41fad9f83e1e2fdb59b2e9bf54ce5e3b36c3b9f6c8666c890ce7f11a015e4b7f1bc2d9d7ea4f4b7cdd0b7ba8d3371b64d7b4cd6bb103b2b2b82535b926f77664887bb02e32f8ec4dcde8598dd9272cf0915a448e7df6b90f1a58a75095fa2bb2d493923aeb5a849acddc756c39fe7c548704bde16ddbdede0d3328bdd2648443e5434d690877c564d5fbc8c4a496c7df58ee2d9e0e1c8f5be363daa9c014f02736fc2d146ed7f74943c7e67c6f2785b52c598e020a1d73de2d7d2ccec1b4ff438b8c6bfd17d041fa6017c58b5b30e2da755de8f995f9d741fea313e8deefdfacaaebd1300dbd124e8b8f5f89b8a2ed04e4b680b7e41423a91660133ea91c4c2d47af645a155bdbfa14e27bd26bf372d353de0902e1cbcc9c5041a4d912231ef8730edddf9392ddb740ed650e9a734408560959d52994bc33f1c318472321f584d584baa386fa811c461219c685fa9906bb02068ec402871ad6c94e7b5907471733a17913c193b36860f71326a1044372071812b63ce3edfdc3c31b2d0d12bce6a2e061f959fa770a79eb54b4481cdc639a087847d15c848652f6455f4d05a35f775d263fbaf4833048dbf33a29d7757bd0dc07ebfaf1fc8e741ae96f89cf36f6863384a808dcdcf6638d14160a0d4cfc7239d8284df7e25c4856a5e03717c682d4818eed786fa9c00eaa176cd101a566043b1710775f2afab9f345d0aae5d4dd44bfd389c746d6f34d73598dd9a2ad9f480568a4604a0c1d5e06431c1285bdc733b3023ef571b729bc9548d67bb9b19fb8f6268080fffe9e444271b9eba07b5c339ac71fc71f14bdc3c220a8a2558236ec757152eb0ac4546d1251e781f8970d552a6f7cb6d8a91cdeaa84bb0a1cf4eda1dd429a77ca9dab7c850430f2eb65e56de99918286ca221874a7931f781294d8d1914a4b75278f44d72986c6a17b1b0c662c2984465f10b7bcf5b5c85f786fbdc6acd37a40a85ce11a1b3a32e28bcf7a3775fb435c5f8e08bf0def7b31174fb1e0940ef17269c12fe52767c8a294f5cf6c4bb375bd04956fb580c4ba15c8732e7dc8be1ecd6fc7c085dcce878da3f8c39ab345f6f3fe5d7acd4ad31adc1bcb6a85975157cf82ba59156185aba4f23c6ad37ec30f4f9a998b920624427b114c044eea93f0039b324f9d6942b2f950073a15499babacac7509b76bb832d5e81ff4d46169c8302f1baff269238c6fd9d89eddaf66d02bd0789b01da46b63f183ea8f16fc9d4f33f50ac1c236c8e7e4dd647cddee2815d2a8df492943c2ff4dc4537ca7974786b20b3ebf4c73469884e7322a47e88c6513712cc5263d165f96c58fc6943446b8627a7103af168bfda992dddf1db7e1eed1796b955e5b907fb416fc77a3a45ec2215dbb23c3bc723da7fcd73463b7f2b4cfe1ad1a6b627231e1af8392e1d1d690ce04404ed0512683ea283ad066eac5e27094a2f63725f86c11336aeefbbaba6e54ca5a3d0fd5f41cdae333a67b15b07ff6091fbb1601c4ca549ba1ed822f2f3e239f4333beef98f50c78ffeb2fd43984d50414328ec70362200e55f1a8cf46626538f9c6aaa197689c4bd9f733b7d7097dc8ed352e1e5039ba612267d3a72530b436ea34a0333f481498b01ea656376a4304dddbe4b0b27381e6d7d8eb854a07ff187701bb5fa88e08f1cd4810cc5dd49e9d8be81e5e0f373d9aeae7eaf8d1dba69dc9a4133768818d4915a3ede579b2deae0d9823c238eb77bd156e651fee804a5e9039d2ec1206baaf64735d6978dcb723cb7ca661ef8b6af01b14d4c6013468d87d1c63bf52c5dc003a85c565ee9f08e9250b50e4e640e05db1a6e3abdd4930ce9984b2266915095f7d299acf091f787a06b97615cbc2754f83d62e07b474e7a8b6d996387487a2e30b109cf30efaef6775384a617a8215a954bd96fc428677fa89423a671b98ca856e8c543830b3ba2f9f59f2ac1b3d90da11a1cf5b9a99bf306ddcffe0a60eb2a5857ef7c6d5d9ce9a5a90e8ca8bb4747d425e8f69f199591b04d9a60afac5b8ca88f61ac1c0fe0c34e8658ff9dbaa3843eb3f86a3f927ac9096644b3f964555b6952d3c90def1aaa83df5463e7fe24873d0df0cca347730b252efabd2867e2d777dc570ee419d45155e8f86833bcd1c97ddf680e8f2d9ce1671e30242f5fc092c154cc2cb0a976832ec61b4b1285b1108d3545eb0bdbd01a7068246c71d8d86c4573a2e07390f26f471f7e87aa2d8e8c3ea9b9c5ae22b6ef842ac3d564e5a4af730d8ca81cef5058a5132ec8632f63baa70b2f2c73cf18ff747b94a573cf84d7650e0ead8b87be07ecbeca67c96f1869a73a8db28a1fb407cbd71b9bf741492b39198fb304e73ba668aec5a5cbcd7cd7502f5f8b8bc06740d1401dbace5b90e877bf5d258af057e06ef402542beb5494fb1ad99370594db9d822278e04f52a7f388348720731aebbbc091e7395e31f8ca12cef24ea4c09cf91ef35c2c1a4b8305b856d5cf0c1887979684c7c44369a4eb44ef9c4e144c1c93f73f9eb20ed2690a15f1e97e5a8abc4ac4bf723e56ee46418d0c1a4e0c258089afcd82f2f2510a918c802556deadbf46d2395a70793aee1703d92b5d9070f6bbff47423acfcaa92577e173cb3a7fa6cf5eee4be789c0e4559052ee00c9e689cd21231dc012874d164c509d3b77d28b5610a953838d28afecba7aaac18826b766f6b8a99789e5db1424d156e3ab098613683d91b220b427587160f4e15297c3a63a3c8312a492022c79d688543857144048a721a6a994c626196757be398fd66b3238422d61524809036359d2476c7456a25f048382496f831bad546dbc259afd25d36ca524a44b7190b49e26da0ed2535e9b752beb46f44e690f824cd146be92b4472a01f12211b4f851bd3701da2de8ee191042017f7fb87f511007bfc20db095a5a3c3ea8e6c862106c2e418fddfbdcbd9fb7c2c0af08a381061d684724f096767f09d8374ceeb6f26e83c164f4f89c8ea99bc52e33cda3fd06c581353f6f21bd5a1085209bac26ce699fdb1d845e8ec6a7c24c41e3ff103819d4e11a59193daea3455b16a4a1a667fdac528ec9050d82dd08fb4ba941d4cbb30d7cc84f5e35099798a1141b6e4c547c714a17969a1a7179133daa9aede984c6a74c3ff80698e206380d48a9907ffcb6a5058fd8f9f07c8fa435c9463f39db97ffba3c862d34fcfbfe1417d6fcac0b2ece702984cdb5e93f043385c0115da44660e8dfc4aed72212ef206a2fb04bab863d7613ab2f46d8e93890f4bcb7f789b8be13465d239359e9b40e4ba6a88a01f854249f2c12f783e68e6e33014bc21e7529d5238b44ab722108315f652dd2a942f1ba65deae96345ad94b4f453a5c1333cf6f18bc7d5586a19836111f0e1950eccf0112c685987912db8019b9ce7de4c0e178f9de1ab7c0a0b331fbce4d5c78837717480350ea8525b14bd9fb4fad4b64e96f25a38d89bffbc18ee965756f33a33061cf78713f054cb53c00305096a9c26525f560de55ab9cdc41530b803f40fde4dce757d1be09c41fe82a9b019cc01ec6bc6d45f16bcd91f172bd42f0e8d4579bf1561299c215fc87caac80af7ca160dd0949e4efe343748198421372aad1e9d1bf7eb1fe84c7b39525d9f08324145df47fd835f74e24de5f3fe94ab6e34d98722031adfc68735cc36966115919e98ffdf691f25cfd6f8570e33cc3b304c33710d30b98d1ebe7d43798ed41a37348ff918f8f4579df311a608efceb470065e385d360b01e46b841d1ca7ca736308bc596a647d01f7c1a225d1804b1c67b2893a68e00acd8b21908b4361aa5c788fce4fa9c0d0946e09df4545d2c22efcca43c69a392483466120924cd16782137bc09be272627b49b90912bfc01f590f539a5319421cc1376ff79cc1f90ae432b2d486e7e78a9f7354d1a21a0786eb6f715c068d52d98b525a3f7682a9a95333847d781aa23f2c250965bf76024ed85b997cd962dbf4c11141c5990a0321ac082435f395f8180d335a96560c752cb4634ea1018fc53c4af49fc53a4ecc0cdc379814dc5ea9764787aa618e1ec814c285d309498d3618097f3f42593e830450741412f3115532170bc6e2e5a1962036fb9e26a2c6e70904204c7ad93d4963248604dac70422dd27c4baec8f8864fec99d0a434045bf8260671c4f6893eb333d972d908d2956cbbba21310f89a5e044220fced65c409fb64a702c20fc0c11d1ac45c80bdf6512aaba4febc8d37acd4be744092b2ffd2871a17df544b511d9f0a9c052c0c99051f547b81b42f52f18dc9e25d59f752fc01271efc44c18ad1b53d06f700e7b111bb0500de711fb971ef4714cf6953a76a1c9d6802d8dcd14f3c2af53f165f15d096a3eb6642764dd8116d6ebda4db43282e223236b7eee9fdaf60663d2477c625db408f1324cda83af268eedd35f5310f74e27727208fd1217fc1e22bfe9d8443e06ead310b59b6a726a5eb3a73d0a60d305f7eadc3533649f1ecd22ffac22323e57ecdd71b700b3ef9d27597cca71a97faa6e029338d8046a581f4adb2fda597bbb4c7f7bdc35b150631701afc2cba823e30c321f1127832c239fb1f3fe7addd2f8308e1ce35f69591728aefe8f69fad0b053a066dd112cc310e46dc834a5cdc4cbd8e967400585c9e9e93180379027fca419549efb27bb629c377be2a16b75c8bb9c715c3f14923c947e6fc13c93571771d2c37ffbac50606bb9538fd4bebe0cd4c386372ffa703a7537b09ab039459295df9678cc14424be853141b439a46cfc26a7c9f8468b42d562a73f216439eaa66cead9642b36fd69a58c7a187acd29dee7669bd903421360dab56a278d0902f267cd468a4662865f8c5b2f0aba1dbab8dd9664db04fbaea6ba57f2823d9286898a21946ba6f98f30ef82309607d86f95817bb3954f6268effedbaba989f419a1cdba1934d1b1382e962a6c8b6eac2ea230f8100524913ec955d5eac9c223d9c4d549f5f87e2230d8e7fee7587da8c95573c5b6bdd1511ea988fec53079c784dd3a68004c7e49cbe4023a3d5214a22b35f220caebaa30564a9c5c218fcf3543c9913b276eabbd9df2f03ca542b93a027977e25a4cdab3baa6c1a4bc00bd45f47fff91a344d45f06ef0515fd16bad7fd5daf6199b2e89c42c00762e87ebf6e3dad14a1364168edb2e8185971b4358a2a39a0c5b68f97953076d091ade1c3a3d517666814f40803c4dcff5532cf9d61167cd090196547325cb96ec5b9b053d7a95504de6835bb1e8bd429c111b10a5c4b626741281893b94e833bbda781ea8c240f8e77d34622d374301299351a8c696a84637f9ae5a35939f9809d9156d0d30f716e193b38fde4ec8da4cb29610af7a8133a7f6f0a55dfdf240acacd97d75ffb00e9f33a70990f60333cd19c2c61fca9376f97f2c6bba430fc37f0eed358c06a64c58ece2bb8ee98077d76258256c756cc21ebdef9990ec202e5797c1e88ecb59787408a947e0f010a94d0c4be70f912e57ceae440644f509fdbb4c043dea61e2761b8baf644b0b0d39dfea142492c9bfa5dc7c467ec87245901887315ec72b86397890e41dca256d9cb0d28f07955935298955cf0dc65ee0943a699b67bd5003cacc831cfa6ca775259f55c4849f4474371fa7e98f6ecac04400f9415ff85b242a788aaa7ac7666d230c6444385921490fa341ed9ec9a4d968b5bb43b7dc423235dbc44e6116dcedaa58b681908bf4cdd30631e644e90590ba6f35d7db37e1e7bb5936d21accd1cb2b7720ed376783085f5c89cace4016d2c4d5b6d34229b4b46990ed2b48049683c29a03142d896561bcc754d34b501737989a09e21d514433bee8ca7b1e4183014967aed8924dc734f4f791d5e0fe6634d37fb105a989f3f06496188a31cd337fff96c330ded7fc2a17e72e238c2c5dff1239770036726ed89e77d18fcdd4a0716d61d93ff401db012aa9297ce2b3b0df55314dc4da9970b89f84d3fe16ac80634cfa5699febd58245a6893afe9d90344f05130e11bb3bebae248c8f46b70b30fb86b56e8218494ea3a51552b0b6f7fecc63fdd3be497125a73d4e41b09a70de80f49bcd23c4185daa0742b4c4e41c8c93fdf1e0bf85c591ddc82d7957410fbde54bcc85822dc7b8006ec988feee91fd5a9fa0212f8758352f2b3b397228a66ce1f02e539e34767ab8b47b0b6e2f0bd453d5b956c2157055324d54a56be66591153359fc46d7435bd48f6083333934e116d99838cd8a25cd0fa2f40185c69402d43a151c78d36332ee62a5b15aa26907e71183ca9692def20cc641379ae08f5976b1fabbd98ba5abec9dab04b5f64e09f1abf3053e8649d5f364fd8dd2461195077622b62a6e57b803e38812a62e90f5c355b6679c06aeafab2e0ab1cb3c20394e03d1363e7a663eebecd0bd1e0c6dcd649e422b1edc6a2aaaae6475853fb284b77b443d7b299f04e172132adde6a67d9a3ee2edd2bcc544f53e9031564f1effe165f3cf6db18b03bcc087dd771a863a43db286cd0796aa6cdb681352c3bdb8fa7d50b7e89ab6d692b7554bca15394c98712c291a43ad1442bbbad00f247b5610d083943f5ad8f9a122323dae808a492533ac01c425b9b4fa9778917f8d77fde6df8f04a84287cc4b8754cf7ff2b9b1cc201370d96d095c688fd417ee8c4597398cec255a89d7a740a7e8d8ca2ff70e88f952673f64b7b9c91adc3791fc3894b4564ee9861c4951cd46f6fbe8ddefab74c35da5a849de03fefa3f5e0fc740ea01ba85f78b9e09c854369493386fc1581cc20ae925c79af48c4081c7c587170cd3b2e7aecda8b3d48ad41483c28883e81576fc2aaaa7a6ce180b549a1608267b749ad930b2a0dcaaca531ec9e6910147044c2e84b693e9da799e71c55df04d576b23b1ebbe560a73c79164f9eb02e226eda3af70022c281267d5ebb2ae826cd02cfff35f92fa2dae121005fc38c8ab61da0d3e259e299d81454d375d5e7355148155b8d5e54755b9047eff7398994f8817f0223fe7f6945c98cb198c7c098bb4887eb9b060b9da6d0bc62701d3d5cbe25578855b013687be748a7251668aebf42d96cf1b2bca04fad9b282a025d688a8b1f1fc64fbb49c78b68308f8cfc875f334f10d4499139cb5761ebfc95391ade62dac9818acae67f6c51b119013a3883878230c174f303c48ceac237094f65fbd115dfccdbc17130dbe9bfdbb7aba02ff56e02cc933dc2c392884f2facb420f280fbf246b18f9f9a25e291405075dd4579afb73b7c307790931503246c532bd5d0b053727b5c28f39665bbb802140ef46e759dd4f1d4a37a00ab8df66129b3e6657f0033b7b9a1bdd06340820b809fce61702e96132153d29c5717bdc04af8af0e33d749372d9d60ca138e2e9ab71b3d7a0abd71524520e0fc3a8abf777c9a5598cb9cafd22609c4bcb21641c9b9920d3962e1dda980ee9948ce272e31047dc2800b9028cef498ac76ab5958ffe5e0ae115b7c3b2f035d5c46524160df00b99610d5b23cab82134ed2c7dd778a1ed766e7bfeb8fa84b19c9e99107c60da54760a128ae9a72782c4c092a2b3437aa372e29c0d8d0ca85f008d90beb10c3a91b8fcd9493db4d0535253ff449e29a0d2488f66097ebf8499b4e87507faa8bfd7bb4aebe9134e96d7b832fbf82dd68ae50d52598dce82201f19c68ad02c9f8b546dcfc1457378d084e5ee7cea7a1dbed0c540b2a6912a300eea349b4c6b129e215f1fa9cd7f8715bd6a3a81bc5bff432a5dc2e9d549698a7ae913719cd491901fe26def0ca14171576be24084544d522b883e44bc3834c23a50a7eb14ffa2c20190349e42e9ad7db387ad38fc0eadb094263b320143924ea54bec91f8c667d928b8366fdb78273b82be4b2e4ff885a3907a14668bce7ad924b88f40d553a998451b63336580aa692c9554050705765e991454cbf4723faa622d66d4335915c0e3b22ad7f93fdad6deb824aa88d458e2fbfe59f8c3230739dc21655e37df86e5028a70e7b39503ae906e4e561239e3fc1c32b1d23e016b454bf708a76bb27ce96141ccc5a20418f5448f333beb9cc9e95c1c2d6d95636e7f9446a6a2273bd585724de539626e33b43608988b499fd6ede1a3511dc972b9e74d424a7b4ff3cd40a86a4ecfbe9ab73e5ca0c3bc6de100ee5eb3c003579ba6c9ad53595e3bcbd3b20c3d266a6a2584acc38b0d2f7eabd353c159bfe525c52a3f0a423b5646bb95604d3804df1e616f98372ada6a6263fae29382fb477c3b3e9880ead597efc5e7c082343c90c45f2886894354aedff1eeb0fae51ad3ee6b7cbe14c11dc1aefa1b30eca2c08413be68169010f75f33c8a080179d44ca2bad5af4b4f60ddb30b2e356e77a40236a2ff330aafd9340bfa4b69652d760fa02f59eee2001416b4f3044edc2e4d75a27486f1d1ee8b462af1aaade24b2717c04e357d4288704f515166114c7264d209027a222aef75b4e02272627e0b6727d03439c8f4c15c52e4024ab98a31c72679f6be1183fd45c5f4ab81d78025b445f0b2146a9f6459f2f6d05f60f9dc3d6ccb3040b44251a635f175787c80b147781092046ae1e3086f6066ee84d179a4582074dc332ab160788185ba8f675406769f1af9fb20c4f4db2680fd263d343d5c378c9ab83bb6a1a1b10961bbcd2ea81a0d05dc4da19ca5ead249c1981a864bdca9f1fcdcb1af2c71f04303ffddc7ca0615ceeec560501fd7e370db7893c5c070ed9acd429005f206be39c986a8adf6f16a9cc621cde89687b5f56c3662b56ccb76a93e633f11d8147e825b94e50a0e220cd789ce0939a01972cf3dd1119cc0a92f203a53225e97533c626f4fa192dd3bc06e83231d204822bb0ff9ceeb6d3cdd26cf7b3325682b138e975b7a85ac997efbf1cd4d231a64799835833fa00950cc0867b49a7a056d38e64328a493faa24503d81c0e85610b9be656594b371448545d71d58e74317e0165ba512a00101d5930552401886364f18112af7558fd0bc8309ed91dd57583982e879d55f5db8f304a3e348ac06e2b7a5b2ca137ca2c36e93641583ec66a8de3de3e2c5ead4564483acf9f9c4b27f931ccf8b9a41a464075730477ef52f067d46f5f0b76906ccb75246fcfbcc007f9bf55bae37624998c9c0d3ba1f00c4c180afe5f067ff1e70f971728de627e59138a9a4fed3581d3571d3b8f450fdffa4f55191beedf1c31d99f95d8eb9595d1b47980cef6225a2108ebfaf026f065c841d287deda3b5da2332ad2c6d7f6872ce9e291339e9ed869205f788e84f30d59299cdad7a71bfc8e6d099ac71ad82d88efc91633b952ad9e0e82029f80d40c3a0480446f2374abb0a4907723dd89d6da44620aec5ab2e25c5072ec017e0651ceea6bc63c00ce8e2782fa65e1cc256fa9bc5470fe2505cf65296d06e9842963661b520c0bc2e74e44c4a4af2fda566cc6fb87d3f50f1857443cc1471c4acdcc46222c269824bd32ae48470a81ca61b4863a78734dc10407354cb9d5b0e5ccfb5a75d9ee03d9e6027c36fa1c08fb676b1e9c2be5fab0ca1482546de9837a54e56b2858205fa57a9b31f15098f21edc89932e5576b203b416838f8a1916a649c2d88818e81120a9c58a0201d5f8570cec34fa2bd7a4b16996b38c6b995621ec51462843987bc93e801ca103fcc7f4a031dc2f31205f29d03a423ee4820096c9546da42430b7fd3729cc619f4d575a137b701e79804a53139ddf134e42135ecde142b11260e976228c75b22884513a8b937029023d7bf003acd87e41c033e8825e723f95fc6a17036426f494ad34d9e373abc242d6936d010cab31f87fedcd175532122ed6120591c62a5d5168c3dba7c3d1d89db222cccbcfaf4b333a307a978f3b3195f0d6187b288012bcaf9e78e9b02f83f112ecf4793bfb730e253244886242b40063124f99782c99e18051e7fa97b3b85bcac3b36ee78559e9bd0f613706573fd0f974e52ae41271abded63f6cbc5ad9fb1bad4a9257505226afbd3714e4ac6a75fb24c912e2c48c5724123ec056c8df8d91670ac16233e08db6c0b1a50c43e689055d56fa8818bf9587a99f07651db0d870c942dfbebfa6145e5e35545355129b1cc0fba5430bd881e7938612a43431a864634ad267eed33639bd52389cf14d0e17edb21ac90e7c0030caaee39b844640971534021e7995154790e9755a89876409d4239c0b36b1655d510886637fd7397ba3beac5049dc3b743bd4995816ba5a620ffc88664c7bb8c57ec3fc7a6ca33943a90beeba0117a75025d26865fa57d42ad88fb018c14d9d797c34ea25000f18af46a0745b5cf6e3994fcd4625d0cbfda1a814d99a885b37667ccc37043366be339490e6480903de3752e925ad5e2781fce8dfcba530526d61b47255402a0a83f7e5e4f16f5b4665682ec34b9a6fa11fb14e443766b1157da35c992280d06e5714229cd1d714bd3eeb8562e36692a5c59f4d7f2e7cc77d05abb945b8898f605cb9e01b6c9bb435c9315e62093f14de94fd8c9c6460f0446f0d420875f48acf523abd0f3a75109bf5dffddc7700d92b5924ddf8b119a237755bf21c561206d2d1c49c56ee44c923a65e0b41d6e6ad22bc9bcff5f9b8a045cf0235af7909884686ffbabcbddb772df86e835dc0b111054a34fc9a7a8b599aa666f1a3a75d900deb940df2fa735c5b4bf78457d1b09288aa1ecdb4f53123d0117bc6b1ff56aa686547cac704b7c03f8c38a941082f1f3053f69fa316646bf971623143d3b65bdeeddc4259eedc97ec1e48941de82df0d8422c87aa494429d600e7bb8252dd591bf1d9106caa49fcd531d78281932011a86cfbcca8165f2f7d5b82ee3285410b2507958fa3194dee7cef9743906bee85c0d6e980b7941ef13527040efff07c41e812bf920d6f3aeeb062b0914a020543f854b995aa821870a9ba7229c4fcc39999dece7198a0321f049334830101fdb635ad192abc5ddb4cdc7d0f6d11f39b65c2257207dda5a2a598490544961762776d17dd17a7ca99d4893b13d1de6ff515ee9ff3a6f75041382bc3cf841b7f975368dcde2a99c029040fb7b76dda6428b296fc82023b2e9628eb73e7ef937bf9bd34f664c3229f8b28ec6eafaba65895715cc007c1ee1c8f566b1effa4a898441e9e5ffbafffe19e4e2fc721d9aee2f64fddd89c57ab477a52ff65fac4fb57e140eae781c44fe1f5b2f74957d7b83601860313a47262028e38e671c739b249dec91b4f4c73ee9f32f14d965d82c91dd4fc76133a76c86766f48be329896f37d070ef26d51662b0ace45f6206555f8eb24f38f37b5941fb59ad8253006ea27c8fca38e409879b076fe76aba69b1765bf14c88cd9cf3301586f7ab497b61d37f3ef3546c63a97930c49b6b673041bc467144ecef039b3e4c5582ff6314737fd3657f4d7794863e5a13a937ae964fa1284c1675a66af2d8b2a2950a75e46a1af29014567a84061a721c35de378779f3bdf4f5fe38ae5be583025647aa2a0ee00f6d547a1a11746f06dc5053098e0dc8262e256f5ecf62e29ddffe1de3274d815ff29e362ba785abae65249f3bb354b3c5b21c906084c19c2ae28c8eae8c55696c4a00e481fa584b7fc40c0500fa55f082671891437f0f2e79fce09696d5eeb3e914f639c5ad06f1966fd9d041950f7a57ac90b5d2fcf6b6ae20b2faf9855453164ef6fc0c2723b0f75d43b8770c6ec057700852ab0e8eeb4cb5d0903f6c43b61294840b00452fa8acf26fe76e3a0a3503888b53f5845d48c39d8d5a5753db494ebb53b88e81116717df3cf32a553c8a5cd092ae0797cf9feba6fdb86de2c29931a0a5519e95b41b7de792db4ed5c70f017acce008769e6b4f7ebb871460df448154a561b8cce739d017e8e04b27378e1c69c77dd5077b454d464671d756f12eeaababa995a1e9032864a6e4efb6801627b382f1f2747a69e8158aad38dc8c55c066f7e501c6a01b2eeb953aa77bb995526eeb9b1400c900a90e01c2d5fac695a6450d4e304dce783ab436e8487de41a3584af708e1993eb67b6d73f10e2a1fc49b614ec25e290c8cafe475ace939ca99f0312abb287b41222a45d6f33bb7c1611e6858514c2ed56ae29bf01b3e33769a90d386dd3bbfda13afc53f3b3212d07fd6033784b1d0ac71eb700b86a2d61b3ad4d2726b696583cfe44a17c89884a27dfe9745c1b29b8820d309e0fbc4c828a4a562d0d146413fc9e3799d01e445b8aedc2ff684608efdaa4824e667e641003531ad7343112e7c37b706735edffa1c836d14f751730da2a56352022649f7f8979a938599be1cbca868d02cf32c013f8a76dd904118ce7ec68fe61cd0dda0667f7383e1c96c6fa8c958e822055c84c24d3f2cdf7ff24a4e1024af616f1a404b48672a56ddfdb381a2a9bd44c8b41174c221a8bfba9f2917205b48e073041002faa247f73859e575145ee6aa56e52e67375d4d938dd26768fa7f6b29ddc97bcdc960859d6cb6d8101c09e3c741600e2a8ed22310b7456e72650b183dbe9e431766889d31b4691d2d8e25a710d820c1b127c34680ca2381ce050a949fb3304557c6cde7a1f87e8b4e25b4664ce8bfa7c925f79572903d5b875e6e1063a8143b5f4549937991a397dd1c7799555b3a259e2dd0f02f044a205fc7120d7cce7aa8fe5334ea642ca0026ea6d8c738f8a2b7ae708a8f9bc7e3362867c7040afa3bf1b6550bfe8286eaa6e7d4177147455b14c876731448da38d5d75f4cab69ad6bea16c93ab3189757140b70f9ec4683a8bf4dacc7e062029005aadf80aef70f5ef66b181b5616c7312ceec0f1546a764b3cbb9728628b1ec685268e226b2e28c4a44ae916cbc1c322741fb32720951bb44ae9664984f23d7fe3c3d09b8ceb3bb32da99e28d7434b81480aa2d0569b78688674c24b3a56ef72e84055480c9ddd67f9ab6a25f85f66d274814f566b29b22eb93d0820d9f6bdfc41c039bbc111c20cfa4e329e982bab98c522949a286cfc22cfb0dec5ac3ef9eb73cbc75a5d078da667937b0335b2b7a779b1e0180fd6b0dfae50cdd65123c51cc52cc3903cf564228c516f2ce7fe25847e094e7a1627dc2632a9a45576a9c589c7b3d861fce490a3d4a3d56fc4f6f0114c79f3023072229a6f1f55bf187eb94d62a8bf7e80ef05a28e451fc8004abec84fb76a17e382480516856a9651835c5abd6e11b664c8a6448662a64d781eef7a88d262b17149035c115b19245038f02a133bbf198796495c9a62cd68d3f6976570a7105d4764669cd6f9a2d3dfa8ebe1102a4dded0944e5af156fe6526d416763398760d3be3b3a09fcfe9da771d6df341616f5cc2d6ed797fe565cafbbea333c36fe1296ce0e72d9cfd0b2db73601284eb7b995420c16e1428517f11d0ef31f1e95aa6d0b03cf070d365e309fc00bd3e32bb684551613859a5724ab80f2ab8dc0dca6f106da26a42eeab043814e31657997e943d063cdf3e779f2815e45a62029477ea2e9b5f2e59a8bb8edb184079490667eb8b491750011221e4dc5412edeee8023d2de21cdb17f1f7f8a551be3828a9db2fedd2cf61004b0c6b5858bcfecef2396c5ed9da68f150373f58b7145eb40b66f45c6a2d89205b93fc9158a69b98b0dfcfb3686054861485d719d86c3e74bbb7d6b49e547979a2a46a6f9c4bac94ade566156f1cfa71252f82d4ec499af7a7065a2470cd56df5abd3c86254738c3dba979770572c8ab477620fed5f77b99bbcdc838800f0b0b4c85ae5ee50c12c31a3a10349a8e6b5e50a3c02e7ecfc3c77ff1723c7c04aaf05c4bd04d8d68047fca66e922c39d8f5b38a7235ad731a683aabfb9ebc14111cb84d01695c4e0a1ba1bd056b0346a529f6bf0a9e58ba463126c82bf04bc91e731f6a116e794d967432700833e79f1fdb420830543374df705197ced4248b0956ee03fd0d0a8cfd1459f00209cbdcc196c44ba7ca32c5ac5f64401a98f670810d726def7fc11fce27ddd9460ab6cc4d1c13138b334aeb46e0c67aceeea7f3b03dfda770affeb9842b5002f7b270bb9429fc92e75db3f98e3e9039ed21b2448b4925c5cca9c13ba7eaeeba3322e8d97e112a8a42e26389e6f5b1ac1a3853cfbce5c789ef10780fe20b208e644cf41f7d85480635b6186477c50df77557570e900c97c2389c76faa40536648ccfdd6739b5edd6646619f568712b2f1b74fb4d848a947a9b85db62cf0797628264c66ea7af821d726550467b64a062731af42999beae23ab8f10c3216286eaa5c130e4015155fc867879c6590939db808fde127e6209295c9a1d5c9be62b46df3a938890391e941560c61c141716272f644634186ec6f66c0eec95854da33d548f9dc682c2c06d6759dfd21164cda1b92fd38d7c128169597d124227f5f54b25b9f50df68088c42412d8051df759d06b4166079c9895c5f39f95c5361ca7bbfddc4059488e664b20fd4327466867a4af8565aaaddefcfc9236ee7050e7f3ebafa4ed348303c109ee47e8317f51d3ea0ff76caabae662b2a9d91b0c830460b61a1ec6ef35e49bbc4e5ceae354c7ebb3ea1f239c83f869cff6d25528d485ead79e03cab6e882c2d6cf9d6a4c7ddc26670dc50f9fe4e65f3d76ac6af590e59795b33a0f02b0ec8af6fe45db647af7cf557095980da59e3e887d875e23d3af16c7eae55ceac22b8b4e7338ca4d07613e90bdd281063ae8f8754c12dc2c67e4894f9b2c944918d65e96c06b46470877a452a59826f72e8bc4cf5419ca94f2ca3af06a12714762839625ee5c740020d5052d95bd0be2f08f7c9eecaf1ce478685587667a40c48316fe950c7a5bc1e6405c5676f310c699afb03b5fa901ef70f12d9fdbeb5564f871a194cb7a0f0b41aff648d84c85e186d06994497db18e19a33d5a1c39677e3927ffad715602a1d8b3472f68a674a4c74639d38fc2aea6510dd6ad2da9b7faa126bfad7df9ad644f8541cd09fb4894eed715d6cc8879ee2bd1ea1bbed29b111cf0e868ff160ce467055cf798e13d146a1e34174efb982b48c1a15325d93680546fa39d4b15b8cba611e7aa8335d81a15a2948037b54f6a4282899817e338b7e8e214312d500d47122eac12531d6dcb1f59e5e0e3b7bd2a5cea689f5265ea00457c5274c5f9c7d5cbd66181fe86e489d0a2a462c99370d712efd2e44e796334e9231c99676da938c9db6ae32771292bce0207dc85fda6cceafbbcc47a5992d51be5ec1f5fee58a7b9e8730ea6d491c06911573354faa9fe12b8a39bfd63b5a45d074d6f911de88045ade5fe9bd307ccc656ad975860f3258f2b988bffd709eb618a89373c49ef8f2ec0a09505eb953bb803d443e33308f7a318adbbb0e0b920b81d39bf707413b64b053b4991b94bc832d258b386eda30d63882c0d27b90ad226d68b25891fa09514ae6a62815158d83896511dac1fc3ef298a061be4be9de41538aa7875c2c06b88d2fa512a40b9020fcbd4e988796bdfe7bc0fa12c492626c409e8a5c73d53c57973ae7bcbf4bc179ca7d68ce5afef40eaafcb044d5c0d4528fd3dcc1619b25e9ff8a452c9370cc5f6a6740a6f7f7e742809fd9945faca1adcc0cfb36b2547353434822112d12cf5702fdd7dc223674e518a78b43efd81780853a6ef4800058d9c0851ad71e80f849f2566a80c61b4c2f6a11c481726ec343e8a17aee94e40d5500f580cb66d6a8d088a5d81c6050943c041c6432bc50fc4a658a019b90ff8bea85ab1752fd06adc84a644af616a2cbd2cfbbb0bd12c6dbc6b57424d029c61b6f3561e1998ee0e9a54cea484cdb709c09ce6571d0c1366f8926740e26fec64c77efddf0fcd8cf20381642e8f0129fd03c09b2b15db8704f5ea1b1585e22e3e612800ea46d7309faf2ed99af0a247a1d2607b74591a807ae7d06ff21773befc63bf279036bd6fdaff1a8de41b2df312d1af1e326faeda54c3fa8fda1dfd05e5138a47bc6a2243aa2365df6b6972131fae2fa21b4f2ec3107d8cdc74e437d48f0f0605e9fd87f066ceaedbfd2069806e0ee2f784e83a886f3a4cc64e6cfa15f1e2624d72923ac5d2a132629726454255366907ee696dbe7b41b0218903dd024ad6b60144ad7dd38baad9804c8b8858954766817f75d88534c01f373d115b6ea6f609ec2544be483d49e3f947dd3327ea8adbb36b7f81dbf0eb082a21ef815286bfb5af41244609a0d6dc789d5d67688d28f384c19308f42b9d69b1fad64a9941bad2459066f77f95d83216c2cef9954be6c8a71274979bab0df286eb88a8433fc1146b5a0fd27cf81d25c79de5a0d796a32316f6e8c68d4f04b3af74463424f6fe3e9f503aa05166af55dea5e370d0ac8d639c9cf05f133f870a8f368518831fd807529503d2697e26de6475e9afcfd9b50e36b9ffe83617491ee5ab916db6e671d2d0150067e96453aad667a1606cd5127dd0339d12cbfb7a7ed1272a101785550579f3943207bda752a11f88a598baf558dadf4f7c42457c94810a79b628a95166223941d5a3ac5bf25b50078f15ebacdbcdd2149802d674c652f880cc8585488f20b73d9a224d701e037804f4a6c0fa32aad93953a0529e27fe9d95847168332a291f4d67fb6547c5f2543ec79d5e01c069a8aa943c908582d38fd8d5985155d1590ac7dc32df89c1d2d9658f4c440e97b17495b1d68ee000466aa3c9e2ca0be1d4e7086f88158856440e4a9d0b40e30af067e1885197bf7b98bb1c637ed6d966908f4cf9d25cbfd9182ef872a9e29dad448f7fb7a80a5b61cecf2ec1e5dde5ec052724bdf00086d0db7cf5628444ba680d2ceac0b68d03dfda9cbb73c9493d35a49f5fc659037ba0e67ceff508ae243ccf1ee495a69df70e0d722a18495b2ccaf3f83219f04cd2a8e9494cfe17ed2d7bf66298b8e4fc3ade167f6a75eb61b3ed3ac857fbb7a8789b353069047abe85c2c2699b06449d2dce82c3f7184e68a4f7fedf50e84dbf5ecbfcf5fa1c98473b1356395cf2132cf4c046c615ba4682d718067ed1d226cf28c5122ad5fee392903da2414dd4c9fdda47a4877fc9bf8b466a2291aac10a00c6d653e7dbbdc897dea783da999e91e1878f5c9103af85686a0abc835cc5bb8c6dbe2596c7f3b35ddb26a862b7e1151b511ed8cf3fe7bc8e505a14956244265e0825fafdf196e6e4453a48956c1dc7f9e297a007f7129aafb23e5e66883f8f962a81d17c0d799d1b7c59b2917a9a5a52a5a67144a0d44ed3f29f9d873c47a4fa2912c18a06d435d9358406349ebea778f4cf7fa86086b9cb9642c772cf58b9834dafd818ba0e48cce57fcfdf0acf0abcd6f35f4571f7b69620bce994be028f9deb41716b146798d91a37387edba6b71714cc845fdde2fb3193595cd75cde2966e65d5aca46680df03a035195807e2d808e914ca061caa00335d218e5d9bcf7747c77ce184e7e8e3eefd0c0a32dc1dcd725f4db62222fa8c01b3921956f008c89827e9edf9dd96138aab02cfd2aa374c276aba9fcfc07a7b4509ab6efb15363b140d7043d0b44261bd19a017a29f1db154bc9abab76bb3c93af1b1518565503001048633d410a900a3672f324ce6be08324814cbe88f69b25bdb22724f594aa806c77838da8f4aec6c9462c4ea5e1613a8419c5cd4fcc56a78e7e0dee72fb511e61411404949b2b586357df082d2e8c673b32e4ab816a565a219b81bfb8711b781d00a6d47a59934bb78c373ebf74ca2b8545b55f730136fed252edabb441b83f4e3d9c2f7225e098fe7cad83ccd44c040f8ab7d25cf6743e5bc369eb436563a7276d512e53f606a2634d8ba5790dd8acafaf104fe8071a421a2112976a1295a74e683422898b70e4ccf239a8c28d811f829ef280232a9060ba2a88ebf6dfc83b79091d78dcd7879bddaa3022f2e682826ec5562ed23fda3be09e0a11acdb9e3b521d8977941c3d923df0a92a72cc5cd88988980e2ed955f2bd188dd6d62444228be32c6d56e74e87415a2dd6c5eabff131bce396056858c8beee31538df5d2768f8162a27cad84df84c5bdfc2188271b6e6c5da23f7942ad1c9bb5c19de0a5b67882ef429a53efc102daf7f1d3477c3987a4730058d961924c5a6ef032241af4d6a76132b53f579e68debc520356344b4ec7cd5eb4f058ede9847f07f4b10a15a46adf4c1dc13b80f1ba8204a2621a9401e7928941d8fda775f1960b00030e986994e320d95d369d41bf303d4dcbb2bf48621650925969eae0b7f28109ef9de69155ea53f93060472ce1783cbb1d55e3dceea35d40a11132e980b25784f97eba29be4e8d7db049db18ffd75be73fe2073ac7e3520069bd2be1240533655a1d502b19029bdcab0c02a3fbf4a0d7c8af906c4a70f64f483eb5477045169e3f268ec073fe21244ed0d481db0c921eddb0e9689a8abe300b2c73e4256202cd6bfb4b8c8abe966b1ca5cecf1ebd71bd80f59e9c1e79a9fedee27ec88f02b22e4c51a0d8d216293ab65776a4336e1000f0cd5528d88f6e7dc3d494c7cb1618350e934a15b5a91a911730c1f172e6c8215f9963244746f5134d5d4c06729ddd71c3809822a76093622cbe3b6847e4ece8611d330a281b4334570db555b5f2f125ecf711ca96303adcacffa4b4664cd189f3ae66771be88c445b482735d64ce344f429c5f1ba1487a450cd287895dcf6e44e7959aec3e6bcf632fbd0e3543a913a3fc4ade22d116b229963c06472198ac83a36b2123ea4be4204b6896819c1180080276e6a1050bb1009014efb2fd04369b6e5766f14e5a40073e6190492c0cc9b717ab7447d5caabb11c7de663bdeeaff086b9003fa32ac0ab35babe76c4272be39930bd072b51683f94ed888c356f92ee05bd42302c1ab80c68de0f9e0f1551954682e61053e482e1464e3b8d93ac8f605cf11e3be0e7561e2b265af184f0132230584f67e1ce30e61483b7c48ee850fed9d349487131f1a9b930339da1e66bb87044d44f0afd673973c6f61c832196fe23ae68d26b2bf799b250667d47e123f4c9ee4c3e266e469636563939be6092f7ba14118e1531d39faed8dc9f82d0410077fec0ef3b5e1d9e5e19b7196589d28c75e2a33fbbf3fdc6d5387a0be2ce0897aa4e3d208915ebffd72b5433bbfcbf4624d4ca0272e5c8fe6a530a48d7aaec382edb7c5d2d82f9b78a7e64a73f3880c802dd3ed773a1b84b75012113d247dc90dd5db3f31df39b86b265ab779ed09b9e81811fd14eaa2d1d25eaa5eb1052b09820e8364a1d40db57719c53dbeef683064d428ba98b84f6a9dd68656b69c72eef4d2d792f08a2cff0c6eed351f6e6291d30150f11f70f4e60edf60b061b774ba1a3adecd87765e27c3869a1aec4ac69150cb217c16b392d55df901c6a5271e66148bca5943d7f842096a703663a03f7ac773fcc784c84ebfebe9ebbc3e72aab4520ba772703863c3c8bf350e1d38ae6991183a58c0b1d584b4b1e798f602101ede29212c6051766e0fb0fbdec983a9b9069bf75ba5377947f55d6df77f5cf9395e72be23c084031e8177a5471d61e445c95dd38ab76311edf961c8573ac7fd39ef930b8a82c38012409169e3e08b4cc3ea5a33750c4ce1a71c8bc117708ca620c0f7c556cc53bba2915a6218a545a2f246a34ab6180a8ae5dbce6680ac3c1127c2cf218193dfc61650e7409088be5dcb803ae80c10f281771ccf85989a732e79b2ccb9668e2320d44cac1d79ad8ed0f5aaca43272a476e64fad0e63e0f91edc33e1fee57348d9a3a39b46202745860da46bb3d09e6dc66981eb6d453bf32f2de181f7380f851844f7a1810223ec9e6fd58061328d79b949397220a9beba2f73791d128ed23327af8807bea61908690e9857c20a6ab3a9e055ad400bdbc3034176ebb8ccdd37db4cbdafe8de7861a41ee8c58208e363d3dbf37b46bc2f32dfcc37c01fb3ca836bebb4d15488eedc60bad46a2e379a1860303218bcd19a63f048a36a3c8333e740d92cb851196ef38603b514c8509159ebc66af037e299defa6203c4969228e8816770099c2bf482b3d2d31e4d6d7f7c197d000af2f9e096dd3d820dd02f62ecb60b2fe65c1ccaa5215066080e8a5cf411de7c056f086f0623254bd04361c606a2df18cce4151c7de9ff6b05161484eaa27f12b58446b051e0bc4c7d9c5f9f090abaf43ca60f7bd56a328721f82ce13b63631a714acecae65f64d90431ad3fc8113aa98cf693401040f73fdc27fcb1d6867b8d869a671514a8d71e0ac0438040686ea25120a60324c3c910f48d05d68fa06cf781c4dcbbc551022ca2c7ab8b3bdd70e225858f381880d67a9a0e7f9ab99a4f85f85d782cdd2dca105c5477e4cc78a57fa1c6e5f49d3eb43700336c2c23522bf2ac2951036611e7ada01eaba977bfd88ce947f267ecc39acc9f430aab4a3a60b38c201cad2407ef86cf833539c7be990cc15e411223b9e2f89373a4d1cb0ead319f1b9583d9f61ba6df572607e67fbd67b6210551f35769e60fd4964a99cb2b27103785f16fde264429b93bd35bba2917ddb136ba8d3580f6630259518938005ef4f9df5508dc74e07631b6134f552469cc25d80415a4c611aa592342bbeeab30be1eb52b19e92b4fdb2cff5dc9f04a690219bfc6edd2433e72cdc7fb63dc32ff9e5d1fa65f87bb7a5850492089f8bb61ac4420600d83d5313128f9f80f988608a1beb0a20c3432270b6ab7d226430551218ffdfeaa0c7ea6ee587829955d1800bff5499bfc0bd6689fabab72bca3db305380c7395ad509abbb55afa56f2b5aa7c85f4c60aeb66697cc8b4f81b3042f214dda33d5cf67985d9265c1035052049c2cab55fb3c3bd58589d17bf10436f3222bec6316975eaac8baca79a31479da0075abc3c417f1a19093b5e790c763117f6524b14ef94100c677c3877a427478343cccd6e8ccf54a6c9fd5a2a61481439451edb9407bde72d5546adeb63f0a3766f7f161f9f05711fc36e132caef097edc29857f95fe2ec5ce396434ae4d5fd280b48f0c82e20766e97cc8320cf5594cb0834c54238d309354903a6d32bb1da95e911b74495cd88aa039a66ebb6d86f5e39bb05c9d9ca404087bdba03365658791687919a426aae76dc5654e85565fccafa6c0a0647c0d5fd7af35755e55409a0bb4e45b2b04edaafc8686622526e8c5650dc7d321e2e8a84529d6225aaf41dee6e7d6f23ed0ee65f9549688919faa640209394639be572807e0f8dc9eda25602bb7c91800d4cb44a92cb66c3a6a966d51be86a1ef08bbfa0308a92a9ffb6d681ecaee168ac0e56dc39db147cb1340f12deadb9f4458b0758e8b03e66d027fea87f29cfcb5be3754c3e74c6eb378eb96860c1b8a6466ef9675758e97a1836e542126a449fb642f651b2cd8eb72da4eb227075dc095049b7e586b87460b337475cd1df24ad212978905bbdb45405ad7a37bd0314f41835be358e813d2c535f026689435b48339e092f11d82604be749c6fe97a90a117b5e8584b5e0272c9dd7a7ac392ecc8c69924fcee0bc2599ba896859685b7c008d53308cd5ed2436b84cb3f49cf42c109fbc738a277b18f5e5385960abe35b80bdb2bce4ff1b4289ed3d5de0c6fc11eb630623476693ac954f845783759d22a61524ab107d28003b95b35852eba6b80cd94766531df5776ad3bbb032a63d10b850267f708d3165196fd37b813ce0cf05014d09c80c985a2c3fbe3420ffef458ea0e87d86cff57d784910af47bae33cfb95984a066d8a8dbafc4967cd95394ecc454d0a9f24974cf266173690e643a8f2680ce5c48835e23e93f7ed2887d38d14b8f8376858d95af5175b135cf4976246bc3e888dca3b7229e853c891dd19bf7dd236eede66af40d3a33766acd8cc4adb27193144350fd539965707405b27e33d53f4178c0aeccd6f96269159217e0a00f7126ad930ecd0ef08c46a4ac25ebb6f7940b6712282be79aef1ef3c6158062960b37739d00338ad087f8a55df53b62be28ee269bfd79acbdd6de7607d252612d761a0d1142383f0a6cc373c8b05390fd7f7976e03b79d6022e03b0634935b1ca86209f2700324045980d765231581340d7c9ca5bbe2b7e5c370d9710ae2c1d0773f3e26686f1f64856d3925d1e5e6e41c0ada159c777470c7af142e9bdca0b221bdfb2dd34efd65e5aea6cf84cf8282f547ebfc82a66a7042300b519b29b1351a74b242ce45a3eb52e6083178988ee99673ca3ad066590942540509732ba409589e042d8a068c0034861c6a097aa5b4223e65e1d0895db5c444a551ee267a07fdd72bb4c2a3c19712a4864f86dcf8939c09030d294a06dec1bbc11da755fcd38eee05847ef4afb7b5422bd50a0da0d0c15ef3d05ee638cfab3a46389eabcc99c6b71f0443d64c97a185d9c76adea5b6aa5e8fa613b2133a916f53598497f1d6955d9e0bc299c559f43340a51b83c03522e4123e022defd0d55b94f70615c2162259759eda4d83d1c2506aef7767a313e3e921ba682fefde7af198d0b6a519551f2411c48c785c7186be6976ace744d90c0775ee26d96c22e4cdbec41f88d4f58423ef5e27932117dc87dd60c412dc40b803bc810e21196e011d1016bebaaa5f43972957d95601c9b334b974586d7bea55f0a49160ab1e2a5c5535a4182590b4068c702e5701cda20d4e7941bf93806691380d013a4f4ac7718238876b350209da6046c9ea973641340276e609c1056f6fa7972a5da7c82c31e354def10b83d3c2cfb945d198db9d7bbb4ce8a01aaab8903cd1922792a0db38af713455d2e90f3ddec206c6ed430c6d08a2839be52a5a074ca2c8bda7a76d0bc0c4463c73d9db57be0e9109d5f897b785d323df68eb9e16414842211cbe6c13f91312f9c0fe7cce73de96428a696e6dcbaf63ec69747f0d61c68fdcada5d01d8b53a265824a731ac3525011ab357bf276e3b113aa2dceac72c6c71b9211f33cf4bb92547e45e225e9e5f2b2a3fdcdcb6d465bdd715f366ac5cdf87e8db36a3bc7ade5237242d9500173b82cdd65f10675e1dd4853466e059465cfe62b837790ce0ac4de8a169181eaeba1f87e49894d20d49f04e6a44847c9ae363e033e5302742961dd17d7f27de328e2d70cb5a1c0bd4ac40cdc1cb156eb2cf7ec66c66cf2f1a0d2d5db186b2dae16a97f868ee09978f3fc6876fc008043329f55cf216b4cef7e44d1adeff2a1350bda3be4fcdbdaa1ad6a646b87ced8f65268486fdc71c4a00df2e00c6cce4fcc8c91c342d3fa7b3bef0ffcc6aab3f2991c427b0c67982317a98336dd8e548b0ca2fc613b786211ac42047380661e48487a9a7443e87bfcbe6cbb169d0ed9b762865bca42673cf349beef3b53957fff92e09656f23a160ba9fd12410fd338d91733c01998e2caaa21e06660e36ae168843527d11d601f2a283107e8e9b5dde086351fb5f158452f69d2daee3dbb214beddbec5ec6be2d4d5a9a5861da72342dff5a255963976c24e0f51a9ad80792d1e873f9d2d57e8a62d02477612e8d7461a42110f243152dca04491b77740d321995aa4ae047d18c032ff2bca2d8daeb2cb06df2c6f1ab230042423d1a5f7438cc0067200f0dd860d1a709ce9d639cb0ebaf86a4a5bf65eed8d595fd378e93a4cda3245846f1baa14a0e67e1a451a2cd9bb97e54c92172d9cf6c60e170d979596e8113ae991a1b4a25da0ba17f881e0ffaa964f295a894e3eaea1d5e696ab3480dd49069b5082626bd973fb0e87c5adf5383abb7ee2a3a523e248396c67bdf06863198d98f4b9f9edbcc1f382e20174a51e574946a65e6da1f9bfa5a288bd2ed5bd96e47116e9446469a603263bf28c32d54566baf68d5ab292a2e017f03b0b3c13a2224bfc134d0be4f74ebc375c0b2b00157c767db88d90f15654aa31abda160ae40e18b66511e1d6d2705f0fc14d0ec3eb4b52eba6ff0465542fc2249838b03b12ed44d9d847e3079f8fdefca32c2da7c53a3835c3e908ad3b86ec8aeaafa72b7ae83d9de59ea3a012f7f6525651d211d787f27ea94e815346e46b1013f959e326a58b37755c0650bd84e40226e3ce2ce1b68c64bfd4818f47ca9a32e6223de4908931791c2132ae5a29ce8cc003d0966d881f828e423f571f4dded55c805eed8fdfef4cd7c8ac149974a71572559fae82285089bfdf29f6bd8f54e81a41da97d91002c4680648095e7a9555d74f3007169f2bc3b9a406c35113def7cfc198f18de3f8c1b28c9ffaaf2f31259755a93ce1ae7c7ffae16ee6e531e4381ef774e7beedb8e57ce82b445a2c2d22878eecccab92c34057b6242e53d63c785c1e8b4d456a5502ec28e5faf22559a4806a1e8cb8a81e5e49c2d98b81a03505615664477786c7773764c5e10a9d1a71bb169da864cdc3bb0822bffee70839c4ffafdf9e188bad1cb192a9c9832420606bd166a0d6a5e6124806e2c4c5af02cdf9507cb8e567ef363aafd9f15019a9a577315ec3112442e48448e0e4c12cfee33de630691d4f832f1a9edf6077d4e78fdc715fa38bcc4e5a3b2432af6bce47f75cab3e58b477173e05ceeb940c11b5f746c344b026e6586d95f8b113e04c6f0cee4a41ebc5861d93fb28f3cf7c21e61daba0feb3d7bbff0cb7103a6226b9a7c95ed5d0a7f7581e9424123bd9878de4877ada3b96d9d3779a20d8fd457a7655792272bec5f352f030ccca65d8cf44ec711bd966bd18122b63d2e285daf76dd7e7636be196e31e360696bd5b7b81997de17c89c1b63b61c71c22c58702ca988ffa12607a08cf3d2d6b315c4d3d378ea7318909027e2b2635e89f475d35384cd04dfe841a10235fd7160222da345277e7efc541c5455f73299ca1e43e6e36122e04d667c21e380b0d1edeadb076cd49194c5bc515caa835e17a667551efd093da0bda85c9f0ebc4dfad8042c8205e0629d6461ff92d128f0acfd93062f00fa5aa4216ce9c1b8f51313935eead87f9a7254843b8edb23b058830ae194404b36068ed650bde7d298a72c04d7e54fac361c9b3bb5c6a5846927a570f42be777623dcc419e9d049e8010dcb1bb97ccaba29780a7e461aee31c9fe81fe20cd9dceb4e75c011fa82d0fb8ad07dbd8fd6cf520afc2d8ffb365fe44aae25f53b871ae46d5ad660eae7064abc362c7b15bda88ab45d9e49f087287081c19e0cde9e3770b68b3d4924316bba16362655dff5b6e9338ca3a6fb759c1d354d826dd618d2726f54e2dd6bcc39c7f9b2ae7a1918ee319c481c44a061bfdf9d6b667431c94ee16d3ff9b1bd3b5531ac119b7b7ee203153565237ee8d46e22794d30e0fc26dc20d72e4a13ae1fa551f58dedcfe6198220f8695eae1d8156a9b57367eee444feb25f550ca565b1c8db64d4528e409b3261329569d918c0111e752a05b71ac489d0526c1c9583e546a40253e3027ae501e48a60204f05221daf320bac85c690a27d6f1d76d500a01a09d719335cc99452e547d9bcdf11a82fb734c9fc9eece87d614c17f6023793c14531fe3bcbc496b34fe80ebb1d1f896dd788a59fcbdd7755194c82a5023d5695754b04f36355d494cf2e27f7e316c91409db784c83cf202f9ddead2c27fc6e9367cbb968c0d9283343f83e54c97486ef4e731c32bdfe8206708c7a98e84c8222a8225a034b296876d41362a57eb7e989a3af014729e25855fb1be8beea92218a82e406d4b17be6bd50315c1009db5d99ff1de9767ba1ecd598e806eb2c98b80c92b6a577b7b4a79cb1515bc00f0cbfb644c47435e2d41b6416e4a42014cc0d7b04329ef921acb14a4be796bec8045b0351f8bfd1c7ded2e61e5527cfafe3b71aa97a710a582744a8f814f77b14395ee4fb8d6abd705e2f084583788f1b8fa7ae8fe7f5b072fba7890d00b2581e2bd6d4d55a527a8caad2ffe317e86d3ffc75f8c512e31e680c3c3f28663152180fcf888820af73dd632ec350ae6044be30b42887cb03411f65c933fa61f28b464e5e2dd57e732b8909a4e53ff32f48bbdf7691b18047352c4ba7f2684215138c6171318782c73282fe7af686aed14bb2f5c1044cfe5bda8b71777296882741469c7d4d635631e61594b4fadcae1c031570f3dff01126b62cb97a19c6bccbbb3ec7d187c28b8f019c5d22e191ed8091b9c16bc00ebfa74cbac58b4cb81dbc27fe9188f536a01670d1c7dae42c19843cec19c2977fdba0063584e7d439ce8d8ef3afba9f24a8e403b48a6356e2cf4496d9fda75aae71afdc303a0cc53e6d5a22105b0ad2ae233e2fb3d969e2253a97c97a80dc093da6ffd4ff96ab542c0e4be42912ceb305d710af822f578204a1f281ca11ca7395352ebba7f5fa821582832d89e965d39f9695dcf9e840e130629ec95bac1ea336631978a0731d024b4fd6e4fb7c5647c392e67b0e36d99ec08cf93fd2ed566a3c6960aab82d53fef5229fab493c62f501829de332846a6fa8f6ae779588d414a5632ccad244f2eb87a96f46ddfba9400ff81538bd36a808333c6750d2e655eb4755ea96568c8e2674320f4dad28d2303ecc744c29a6835b7e0225a9aba506c09aa6a11a4f94cfe579cc1f2731dd642d318a9a22d870ff09543710858c06292618f301f6dbf39eb8c13ae95433dcfec33f0ba58677089276328c7bccd9b4b148df5f7ce257d1b7c26fc5a5b95fdbdf635321d4d9e78be26683579ce79324d240ad32baa54eb958d755e15f0a061b4542d1f898843fac3fd27df9fd3670c93a5391e4db15557304c9fce1b725eb3e92fa74e27a019b13231f025a2b1840a1f7ca946b302b669e729bdd53462a4488da0875713f5c13b8dbdef673ce440bca5f3369a33505089a79a81170d8214acc1355ca41edeedda60fd4530a2fd584ac7eaea2a81ab641ca184923d04caf4cc656a7d113995867dda013b454a0e58b256fd67296e8d33fae57d3950c12805e4f513f5793d79edbbf1bde1c83c6d7e7278bdafc308d55f7b41d277bb59c75c65888dc1bea9e6b750e8c34a3a3385cf68d0a4075cd2ffd33942e7d01912e8c32932d1eb17c1c7e552be469790da7d0fa255d82d2bec8551b12a5fa10a5d1e97fe4e71e5ca5efb97e8a878868dc42ac553d1460c9a41edb338fbdee806d55d2398e3380688ed773022805c952f2b8c5c7e253572c68b53e81ecb193b083448844bf610e7e501499d9e664970d5db4fb61e67b2d575a99abe148a01fae2f65f132fcc539f994a63593911edff4bccde03af20ab072338895552d246e03539b4cdd694756c66ce688b679b0cf4ba65af1e61e0b1591b8cbfb4bbbd172edb4ec60a9669222c6fc5cdb1eff440465a615783bcf07811ae404909c3d9810b71143c63831683c5efe90be5c3c93bdcd0a75ef2bcd42b11974dee01c3175bac68cb32809511bf04efa48ffb66460d2567f63e3c1cedfbae6768623d982b9f4da7077c999d8afa8fc765b05eaa225373fab957cfe1c873a1fb5dc949cada179cc08ea16e9dcb915c2c3460ce4469691dd4b5e77e7c8f16c3c05f5f742aa4099677e880fea064ce83995de988ee8569612813ad50b77654bf0cf3b693875302f3fffc42deb95375049a9a29068b525956f8c6e228120a953c970f174c48006b42d2738166a688aecda511b195ad8953c646bd83e54fa37303ee3b172a233cc350654b4c746fee00c098de87733fda8a34c0b660c77e609fa7ac8e93826152a49d1cd3f6deafc88f0b9508bbf9d102264f5bd8379c292105dc17c6ed8cfccc5a70e81b014cd3e4e85489be7d55f71139b55355bd95eb92f788c30c9191f21afe303a1b24830b0c6ae6c4b708ff8167c79956bbb516bb9be4361cd072acc0ca43c1d85573039dfb581662ab4522ee9f503303afd391e8934fd0b3244707910da23139d2008dac63a6dd9534dc59b8605637868fc962430a2c8ba0f70472c24d2ef17db6c26c410cb1962639a3c7f949ea41114b55732d6c2e6aecccf1a798eaf40800abe5e3f7fda82d762a50dd5abbd87a377c3521f353c519944c462d581e31a0b0a6043968711593ab01b793a7e3e3669263399bfb030627623883a3ef8099ed3aebe4b0d7d04df3f6bbda0df5f9ab4fe602f6977cd1ee6d8f4316e108985c80651122f3b210353edacc34cda400ba5b7a0aeb6c4ee16dd2316620201e57ff462b4155d0e9ce88f0df78145ae46632dd6af191a486382aa271bcee6647f9df4429c1343e9b4ef6d607a450254fc99b49c6569b6d42024293e54e163d6f497073a1807dbd734aae0b332ca24b018e4ee3c5ea1475a02970775f0cb28033b105f9b1201553284bc908cd3d3fee4ce1fdcede0ebcd6fa946dffaba91fde16faf262a8fa787089198074e28fd64d5cd0d846ebb4d49bdbcd45cfe16bf12085f47222ebdc6ece68501fee02648219203d7b512335614e0ccc82cdbaa20e3d98a30c1642461bba63d898d17247900d758d8637d88872e00bdc6888e6226688b22fc8fb8e370867e6fd1646a84e1f3319bd041a6865fb13880123e82926485649187d894243ab1f177328eec070fd9f2f273eab5b594f9cad5b8a6c57e593721159deed5576a592563e18799b8f7744767836f506cd38a8c37813d30fda7e7d6083c420e9ae6569d3b2685d3efb7a330c1222e94cb0b78f52e877a2e354cae6b5a6e83aa183ff8787ab47902f90816f695555566eb25775912d5b67785909b64d7bb68f25428b58036ecb393bf6d79a55300cce5461b41bc6066bab65bb69e96b1268f1b76dfc0675a04e7e3a25f49f91bccaed9c00011de27a74af8f784ccd374f1849009b5c7a10b56917d962cdec15fcf003750f2881a7165e1907037fa2f0848810fc4fd2169cc169e2595091e98d68a0e4d2bf04a3fd2a1b17b5575b7c6bbc16325487d05b0e2d27ed94edfa31d8912e38ca6934d56f69bb577badd50bea7212d24ebadbb9113b7f67cb5da1d7e6e2546606dea9e042963ca0726b4e236d5a0ee1c6c8ccc2ce5ab9d9552bc9b8ea84424252a87a32717928a53596685ada60b8ec1459e0d849c9c3210557e53b91728ee2d410ea34b1a6c9d5682246652abaa89affa1f0cdefda6c94314e7bcf5128f501312b937ccd0ecc6263b0093a91e5a1af02ee4dcb6eb2cd2f1cac342667cae0f029e3acebe26508bf1aad79eeef209fc741bb098daf2a7c4885875769b657f1ba6e1c503fecdab90e100672197e2896506c681c33380bc3cba9170e5e772a941cb63ad16dc1f7e9716fa6dda0b55808bb7b3e08fb02c4fa2159e35d83da45cb0f24979a877172d331030f212c7bad97d1247f48357f265d1a88ec27a2dfa993b74d23b76824434a8f76e05b113f22205fd867913c1e389b79189294f0a3fc795f0dcefdcd599457bb64737226ee04df8eab0f0a41893c7a0d865e2b0cd9c4a1799d71cc09a05aca6e8ec9999ec3da2cd9252f029060fec46e0cb9c6dc1987f7c40d7c5c08f7c42122dd68089f05486a2f7ef85893002e5b6699a66258d6aab0d633e516cd2262e03d6ae6fe04dbe429f16af4ae3107bb7d171f0568163e98d87248ac5e5b3ad041b1199c1fa925eb1eea1d817cab87e62f2a21f12a29fb074abe285bc568b2ec274198b6084715a49b1bb3d64dbbd9335cfe1cef6c4922b57e031bb9d4e88e779f9941e068dca92376011b042623d3f95592c49e410e0cc8f38ce223fcee29c3ad6a8fd7cd7db8fe04c00e811c3c4c49ee818357871a362b860614b579d6dd29458fb1534f3337da46f7da8281300add439ca6ec256d96ea0e4c331e4bd03dca54aa5b7940a71f2eb9f2c50863e18e87cf8e312f504cd55ce42333a2877ef403c20a7b3ee1223e648a6283304088c25a6be7dc8fdb73f1efa67730eb4b3e6b4012ee2e874dfc592267b4ff44620132b3a0161a2e024f9c176a9419a8b1e662fd2b41520c5060559f17d680f3cfa2ef842781de823ec87d6c75affe37a4d8a800dee773a923e555b1628a822f79673ab614a9400dcd969d8eb5e3f3d49f72741adc8a705994d4e62bd121baee6c6266f7cc0c5ae8251ada2cec0c6a0b8619af2ecb2038081eac4a77c0c8e3a742818a0cfca314ae1c4e62c18d8c84f47aa61c734daa0af268820735222c948ff058847dfb285e0b9850b70094051bf24a145451f4ce609d4338a0805908111d54ed1b33dd4c3cdd3e200b156a7549fde5e37b737b883b5ab05350679c7945b65b262f4b8c2f7cf3c8529c2b38427c8852172fcaed5ae34452af6c75d11378468e39256ef39a5dd9f476763d3fba6ce5e61013645b4d91391ae10b2ad9d3d51bff02fa5f29931d51d9c6ed8501a495bed6d90ee89300b45fbfeec6febc722ba60fdedae840b3eaeefdc0db5149563f4dfd1394f0cd5d46fbe5fe90590ba4c0b7ec11845d5bfa4fe9186d0ce152ce12eb1e5cb8c95964591ae912768bd9a350fbc4f098b3b46e3e8abbed93ae8776ea057f67511d6e72a47d1fdfe38a726da9ca80e169af3507ad9a32d53157042078faad821f27d417f115d1a5a7e372929e52290cbf3520cccc9fa2a52fd41458757ce260a865709a1081699c17b1bed2c2e7cd5d98f157458ee61b152047935ca5965413d4f50adce8e633727daa98575b8dd4a32c2b24e1334e8ad45205f3c0a6e59220fb084cb9d3790566198bb1f87d110c1fbd603d644e96b0237db239347131e7a8fc0bcff615fa71cdb48f5412251bb55dfdd007cda6a34d32e45f69af81c919a69907d79cfeea175a1fb579513208aee2afb7eb84c38e1dc71de7b5f6ba39fc6b020cfca7c4beef797c74ab0b931f396c70c9ab376745642e2cd70ea8d541dd0f1ddde6b33b5827d8ea54677e47746ee8f0d2b304dbc61dfef37a711957b20513a962967c8bea50409c232d0fb4b36debef4a81909dc24cbe9c1c21be6f11a6220f28d764638952ab7eb2b7ddb91dc64ee55f512318a1738e5e4c8475e46204587c8751135a5415cf7255fda5a015de2dd4e1ec1dd36f235b1521ab7a179d0c77e56414d06800349a59f55ce5739ab1120996272f69a06038111079a65690bba594cd78a9ec1924589da79dcca06c7913bb2a9498df66eaf5eed797d25cce24db2f7215b71acc88a9830dc2cb751ee86ff95957157bd2f548ced88afb83c0ba5e58a1198a9b6da7fa4d44fad94324204c9b81e5d0fa419948bf719fe765bf637282619a9856c63713a14f46e555208026911bd7e2cd76d3f2fc3d93bf1f9782de908fb04d20a7e687b48680779b363cfc843defbbaed0353424d906a4de4abbe9700757dbc7d4d1b49f61f9110076194ac53eff7f7a92870d3abb5cc343657c4cf93308dfd558bb16d4c699cb839576bc94877233d938a9d80797ab02169278b26615f840f086ddcee60b517f7b545c5b8db9d4049b71a6eb0171e8cdfb2b13b3ed1821c0ee5a217c1d01b4d8e7dad78f658f99f4fcb3c29149726f0b2d0e808575d0ce63d9eb74aeb661d75a94e0bef9c81752bff0540d91b1aa6dbbfd75311fe61eff9c12553e79b5b62e354f36ef842c6c9828ba548e62e7fef06ccf03f2da150071449028c852c9626be7367549288c4f1e9886c443c69ed82b211c4cdf672d34723ad2f18e72f53188c02b81b16e3452e316ef64e6cd4faf17cd96e15de339de55f2ebee4870573750d4b8053e90524754722bb63b8ee98d18eb93fb5efd27737ba14cd2e4974017dd5c924040d864639de43388271215b708693aac8f9526c70947af6d689dec565b07ff9230bcc23e85c0191ebb601ea8b4540adf61a260acb2ff55b8e37f253711f7d317902f6304fcb587b6fc72c95735c4e696bfda6e24a8c7496862aa0d3b0b94a76c03b911ce3504f66c45b4612346aeb695e3c0dc44fd1e6505f475b8eda0c592ad597587515ec52c9671790e7ba939a25f43d97bf6840a1eca283a5b9a20850279bb1ba4ac66906a8853ae5ef215233e9457f89076ce81d675c5d5a8b9b9bba000d8d0689449015f72dfcf1d0a48c98d7be5383219082d49cec35c9859c674acabd485ad80e7464957136d0bf70bcc665beec55e6434a408a5ce9b23656af1273753e9814c22a808f0565ac1774bf7ba80f42bc961af31b7f810fbd0f6aa242dc3a475f3dd7d01350db05bdab2921170a414825da45c615812c5106794577706666da3a000c328a3c9161d4bee88cef52ab0c1e6d7a2ae7b8b500497f3054af3afa582f94abc3e6996784417a3f794b20d1913337364acd963f5ffa7a83af260a3a97ead383b959315088406eced2a7b2f459168d58c0e64943aa46d273e4fcd0faa60be98cd6947dd6649b71a560a6d4bcb078e55b4955b735a0000f0195274ead35a6e15f442d8e46c8608b031b5a3c806b95383dc51ad99efc960a80240160194346bcd2cbb03ff513094b9fbfb1930eba54c5a944c9c29b662980044f41e82cc680aa1001460b5e53780d5e7464a181dcb1987f46962d24d8ec21802087aa02b8d15da1b2c6580ad99fcee0873c6b97f8e690f0cc59f6a2c5771079fa54bb866f2500116db326183c79e12f178bf1c4839699d84c9730b14abe61cf5f7135c0e59a93e573c9002b44bdff37ca5c088e921496bce38a362d43e7e3a0e00a5a9efff4c68498e0ca5a253f47bf8f5ec346e745704ffe2f9e68375c8e13234ffe40e4b80780761915d9cf13f14ab2e22b6b625f3698212200136a4c534f519552a797d8bbf13ad3b6f9de215071de9ae034d91d1bfe2923fbdd372d5fd6e76ed20d22cea17bd62cdab298b1169a14d9acc8579ace40db5e77f01b4a12355b05e4d3cba8041d52aaaf6749172c223c1ba50e82d299a15f16c64e4721e958de69fa54e42045f5a79476ee5afcb4bf76383eda1d242acadfb5a846619c9c47a89b4f33c5929fa814a0070cd0ebd71252562492124595f62a80baf7d80b5844d672c84664fa24a04416e35513d93daeb10e382caa1056f857329b7bd4336f49b727dc8a87f4548df9ad60c08ba7a5fff758622796e7fe476586bd5193ee1c419ead30053c88c946d29afc80d36dccb02105f77b24ff8bff60d036d1398b99c7b860530503362cdfa301de1c9e5cdb983e867110f81cf6074fe45edf5ad3ff8916bd772b697192af25b37322925f3bb2c590ad44c8687d215c25c7d8340d260c96d4fc65d665f83585e7aa11e516e34c51788bfd26da11c46164aac9f9f3fcc25a99185c593a03515c8993e42ada968235e25cefe63e638f3778e6c40f33ce79daa7d4523e029418e5049bf71e2c5d693448807601e663a219eca05ab217197e5ab8143313b80d52fed9d140b7a0a236d13d7bf80e85f6c404e27a0e00b9fe72a1cfa8f210bb474ebe4f6f1ec54d9f1cb1f772812bebabe9ecdb6c9c775eb90a8197afef66ff8a89f6e7a42d955886e90329f617e0ab3c9203ca81c75f0ae4f3ae6a4423f1efd35a1fe7e16190ecd97499d7bf03a1cf80466627adf2254c666e2331de8d730ff18f2fa8bfb1f33e542d5ae47e69fa006cfca797e5995c8ece5223656d38a1a8dce8bd66ba7274980cb6cf9e3dbcd03955cf919658bea2a8df2ffa5dc9a4af06b642698f667fd0eda05ffe6040bdf9ceba2552cb07bde480dbce9bf407eb671a7018ef27ed0c2e864c9215eab82788a4b207b6051b79399c13e7afe06bb5a663b2141268dccde94e3e77a361606399ebb6038786ac8c23f0bcd6b969cee53f1bda21e567c15f7edb2782f9ab2f8e20009086f4b6427ea98fd5725c969284b9a686bff27679814534d2b9b1c6f150f699e7100942fd6a4592e7998585744cb16d0cc9c492194c36017ac09464896ef1383315045588010f9b6d448b9fbd68a25a31dcbd5fbc0364ebde5ffc9126529c82fb3f169908d0ca3dfa75ad8cf82c6647e591e893a0256e50b19e251c0dec8af6b14ee81c43ac5e98ac071d7b91542a9bfe8eb7fb68bffa7fda1c6e386b7eb3dc067d231ef7f09d5f31034812852fc73ee973819a59afc8158f4794fee5091c03422c2bff11d94db5aad8189de13f5afd86606e1d6bb51ec8e5a93fa229eff8053b5fe67458702095e4dcc5fa0be2d1981c184e16f87b0cddc1618ab068c8edd1356c662d3e38418435a2a3a19120d24761ade50d461152701b4dc9b06e7712a11278e0baa1b2a38615333873512257ed080c2ba6892be9ba168f7c9bb44891b95c2d7f2b20778969e2920b55340b598eca4e7713e7972e5220ebd703ce1edd38db91bbb898230cdfa36fae16926e1db84dceb6ff6d9eb46449f1dd5012fc43685460a680f44fdcef4358fd521b9e3cee78facbeda6f64988b3804d4d145f549780546727a320336ab8848e7eca4210f9d50e46c5ef64fb03e3239f010702273245fd91fabe1e7357db3a0fa82c12f750a9f9e3a9ab63a50ba795ba9b743a236338555843a01b3765666690159436e96ccc725faa07e7dec802d4107442cfaff426a883281b87fee035d57dd080706840cb83cc7720a4a3952cbc8ba592a78a0710512f817e409f5e1c101e8f71cfc5e4600666ca6d813aa92e6a285eff0550e4be7150e276712fbc67cb09dce372db8963300a2146b651becb46f9069df4d3829ca02d737d4f22d23485088437a2bd86b83a7a2145dd9758dadcc4a9fa0d69b778487a0de4c204bf2e19182a0415b5b3e1c34b9f4fefb1bf23e3d70800b078a4ea29a7714111aa8c860227c313309861b814f476587bef1d47803db420f4a818f275702ec8a5eddd2d15ab17ea0ecc1009edc8df5c03d7c4b9ed3173d44607eef2669bf29ab2d6602210a135ed83006e493586b60e589f57dcdcb7d1087c1f3b065fd608ecd7180ec8c95250877b0b788b859d73db66865c2b82121e575b1b22bad4335c944cd6e2535989e0b467a57579f68fe381d3383346fa323fbb71e9b72326e3580806cee8901f11cc0fdf1355480adf5bfa0951bdf159f93ca07d067ae8895e28264c696818c00d34bbe60b572e46b5434372240a485d2e7d026e4eb6423fd7c17b528c6fceab1fd208115a48e52c896716940f5c07014ce60440ec8ff161251864f92336413e514d68ed4c083cbe065319b41a4224c30ea0d6b4da3355bc15d4f4e91e395fcd16a18d25afc197b5583c9e89e21c9c79722f7ae617105a6971b765cd28cd6895e8a315640984f0e9434999c79e8313f785f0f00924f8d30a5ec9ad37cbbda70dab2decb4d844f88f300011c980aaf14a757bb73b302a29162b1c4c1509c4de4e9642ffa2337de48e9197a3b78ff7f88bab92164336d0abe21b1d88195544ffe9f313ddc0e8bca4d6256d7cbf5e84d87c178dddb160f8383561501933707f0fe7d62ea1529ae431b10dcb92d90b5d79ce626bef273d1725956221ab6410508c1569784d52b3741b477b14f7a1dabb1d6dd6e3c0ca074d4aa47978c78c884ac6bf21e9d0437885d8fde7b4125b7ef5f7974e69d074b969ed546196f60167091b326e5511a4711a797a4ce6b3ffea8166274b3ac308b84181ecf41948a299b5bc90972e359b2327e3ddd6c8085c780471b935ffb51910f924d303178dd6c9aa152be8b297851079e5c9fd83268ba65d7c5a35beb3f818cf00aea1cb0a730edb55ee6c1c28d041ed25b956e2aa165fa955ce8e9a2aacf086b5fb56dc66dfce5a8fed5715e43188be42fa404bbfb8c6fa583cd03f8dda319ea10d9d5de6909579e1a0d15c6c4555fe83ab6344e1aba12f5fae91f23e046d192e7a979e811e9f35451b867300993775e5e74ec370aab7e2c30f3f8a9fde4e69d30263bb6e5306cd2c59e0fe5586ce28ac3503cfa71ea24696da613c14290433454c3a6e163b17ed40a525fdd7e05986fc7468447651d09759342640ab37fd096fa5dfe1c7fc4ee214c38c5fce4d959a11f0868daca17554d9f1c904510107d8f42515e5a77660695a0fadc4aa38eef70ce99273d37031790054a2972da1765c2dd826bac34cb37188006513e5c455dfda1a9529f88e123af95829d9bf5fbcd788bd5ad858c280e0e203537decc5674060f4e7ebb92fc88e3a4f424903ea99c00df3685caed1968033fd38ae56fe406b58f9e48f575cfe4fda5f6b4e0971a1c0bcfc10227998666140ef0505b7426372a4da258bb5fb1bcdd0423d2203a859dfcf294fef14e878f7e19f4b5de2304478c4d86e18d5d02646e49f45d7777f057d16498453394aee576a2eac369f4c4a2e77171ebac2d5d50a6f3ecca2743fb340dc5836e7cbb453e63d549e47ecae849e38b98ffd615d1a33ba69c46f4d08648518188d584099ba939bd300ddbeaf2255b4a5f98bec5beaba23632e8ddaf600bf1fe0777cf6eb0ea996ee9e31572416fc1eb528b0ecc8ce9a18d6843b541f0955ff5b16ce9538b8288f7ee8214e459e8428c9480ebd27ec60028fd4b9dfad91535507dab0203c9b48c52ef90eee2bebd46db5176804b7d16a20a24cd76e33a3494338484265653dadc706b0bfdd26a5d328c6d5eef82b318c758c93a2dd82a5cac58e9e41a4daacf513de8e8affdb3a97b413596778ed264cc334314909c199d37827a4bffbc54d09357a70a715eba91962ae715fcaa1400fde67ee307d3b074d28997b0872c624072e52b4926828f7bd91e5a12787f19aa761ffbf0bec02e1adca31f24d817da90e67dd90e1530979c4b5f9b4551980830924e23fa07d38ef9101df27623d57d9122bc9523345e7ba196368e8c474a59e2dc6f9f531ffe4de2d9d88dea5e6008ad4d4f5cdb559a1b1f2ada2e30e89eb2b3cd55a362f0549f2ba8872ba5d653c8834fe700454c3caa79317f1967a0704400ce2c3c5dd8d56bed782e3a964ed7e407158a4d3cb5a3feb95d0fbe1c60992f8f893570ee7300b7a445d0e9d13249eb2dccf0ba122846fc0fd99524ba9c53cff3f3587788e2e2020dbecbbbe8994211c7684408abdff747edc670d11ec74d4ce3f65d4628652b32b9d780394a1cbbed7efaf92efb8196768a9683bb89f1b5aa73e599cc632cf2dffa3b54069490235d70185a66c88ec03a86b21fb178b27ec348ac716855ebe3af844bfb6f4275dc6a6b016951d1e4cf0b5ac064d3f60c4f5bded34a299c76c2475dbec79ab8a78803fef7f515d22ea889d393187d57eb67b80f6a4d640e19f785dc256a76b7734132587501c14e36902c7e194ed908d35f4d22cbca4226402d2837e7bc8a3c3c2f0be9f198fa4a4605c112b94519e1e881bf2ab6fbc0e10c6d1bdd3d43c87880e9ac9005afa23ed8dde0fde76797ee0fc66c571e6589f0bb9b28bdd4e8e140e61981e369aabf7accb90e00902c36676371457bef8f9eaf35d35ca31f4c7001d01d396221ca436354dceac96bfc139877f8392b07d74ba21dfda797bf32b1d14809e364dd87dcf102e2ecd52846244c9d223eb132cac05bb4ff1eba5f1474537681b6e149623c70d11828211a1b222b8f48122349b922057162ca95e7b15d85dd95218c34d04d96f61aaf9efb4fd6977bf8ea9015c709cd49a0ace6bf41f757e7adfdfa8a3ec56475d6f25a09c79676143c5f78b706101fb9c9e9fad208d12f8b07ded4e8b23c431b93fba439ddbbf6f20137debe8280884b7fa718c86796b4dd6da5d583c77a85503488bd592d4b6614da1d91248f009e9adeb7b2eca6e88669fd8ef566be0197afd7c1a3c9af9ecf783ec10aa1ed96034adaac47f342a07009241a7cd643cebeb38a8ea14ec360f47abd3434fa1155ec7aba4571ebc769784f029e729eab8f32dd99a568d951e6947c86484931d59e50dd894b4945281b6c1220b407bebbec64aa90a86a8a702075013a453d622c2df40d8f58ba4f2fca4372cdc093270329d2e04586efd656760f26404f226f3a10901dfebf22a8a4578d210b5034a0885308f8932093e030cbbada5111a40d60470d7eaaadfcfc6e4100945ab2b96d94d0a2e59038ae41bc54a47d84f66859107cf75aad6395dabab2dee5780811eaff878f7f153dce8f3cc555bf47d1dcbc0bc0ad88fcee414a202a6ff17ab8a04056df0850ab0a941de9ffaec8526fe7350cb15c5745c2f002de69babe495d5f7314120ff8ace7092ad98938afe735d4623d7eedf3fb98ae921ff754a01ffce4cbde73b1e05cdc974b1c944227a4e6d66a9e6f8b88fb31ac78dd82475c28ef4b4b758db1835de48a97d19c1738c990d1cf67b843dd65cbb53c54beefcc0e0bf26bff1756004e03189ed464aa67334d93e273b3a9fe01be66e494deccfba0051b123454882b6e47d2dbc1f8d80739c92a54594b352d043474e9a1bb663323d4bc7f2552aed48fde31a728f446e0d69e9846315f72f0500924adbf9626f7ed7b725ce236e00945b4560af1fc4552c4b2474a85b1c3fb16d18b8c104ea8377e214a240a47a6c852569f0b34a98e7c5c40669ae89a2c8e6c00a79cf966ad2b6da8fe612c32bc3ded3a426c292cca8ae478b80ca009ed578cb03fe28361d498c984f3d294b2699719c0ee9afa293097aa64ff85e14f74188494349c551b446b2d5900683a7f2b383304359021a63a5b968b2bddd9b11c6fbbb71c5262f4c5eec6e5456ef1ae71e26ce94c2295f821130d358611f2c17e46deebaf4c37f2f7824909b04faa3b9e5e26beac9fdefd3948704220134d6683f413906bcd6221d3b3c161105d6abc8c630c225a727afc025c856dbc6c49be96bca20b1b54ed4151755d6aaec60c88f58ff9c27a679366b793ac32dd5f572a79073e825cf83b2dc50d240b65450e663d41a6a6523d8cc4b7bd5951c22ed3db59c761ad6f6afeeb638ffda595f82766833558b838612a1c950a3760f9ec8df8f66938e2827433a07c7042cf73e291056cc791d1124aa60f2ad9298655fbd54af68bf486751df3b4d7c9a6b1c0321cac91b7e2198ae6bd65079f06fa870d59ac843ffba0669a44aa4255cae2b05e44f40644fa49aa66e6147cdc04888906fe1a91cf8c7eb19aa2988c98feabdd99ecc65cf06ec5be5cb1ca3d89a95ffb40e30b2b956666c8cc54c15c0a413899c9880b4fae0b73fa1aa611adb1d3bd6d4fd5cf06b385b785b192219744585dfd664cd4be5708a93d85909cbcbbb0964f8991bcda9ac83e65efab4f81c31e764fee5ab852cc0d63a993ae040549ffebba88f66cf4e507d7a2de40426dfc3e0682be1b3e7b6ceaf417faf2a47e48106640bf859789a9d15cec551b2f3eb2cb00e84545cea0bb3d5e228c6fc92545c46a8ff68a7fce7a5b69c4663acda47d7586ece0008a66d20e35ef6d0eb39528a6125a322d68b5f406bd300ba597c7f9177df007eb4e4e32c8bd06e89303c68e0f032c00bd86c7e4e79edd5c86fb07464ae512d20ff6e5ecfeca07550e7355508156b6524a50b6d94a4b121d46b141bbf5957e9d400ee074ff2b079ad40bb5d88d24095e5e5f8ca7584c7b4e892677a3401795e5e0506a96d6ecfeeeddaeb434b5dc7a455da7c964d16986bcff4765985b1e7d4560be515b6ac6ce1495045f6f7ec1343d69f17e6ccd4bf179a56f00c53e974442197a4de72712bbb1d0c5a077750c1d46f76379c965b95f92da2a8c47c187ab92a4db9c5a742a456c806be7874ed2c0a8da9c18d389fc768581e7f5215915a841b793c56e0bbcb51ccf0201852560cc63ebee176befed77303bf01cd369a727a2bd31c13ea36efbb78c6eb4a550fa886230c62dcdcb1842bac62272bd3defe8f2860a6364d382350b5ce56bcee66a59ea8cfbd6edfad1d76694d9454ee152424b30b622866dc89456d0b1f0d2800f57ae5749283de8a9fc56cab0adf51e1e3b6acaa6b62c5e89a79139e73182df1a3a0766876ab998eb44c14eef6fc73aa4a68b3e89164b94fa90b417f5869062a499e3e188845a4df774a90abfd30fc6b3589207fba4afda7dc249ebe5128cf382b64951c5c683edc0c6b02a73acbf88c7e885e45fbf06d067e457f20637b65ba5b334e62d170f20dffded5a9e4b52edddd3ef3467d118a6347126d7b8661b25bc449a5d228aeb647ca5ac3ddc2cb5191f607907f254654ba31d960b9406acf358219953d4f96b67dbdddfd9a3b9f068e55c064716469f28d84d6c8ed8d588e45d9bfca9d2947a9cbad2dafa4da4a799bf5344fa1cef6afccd590f564c4e27e58fd76276531aefb7f067593e29125ae585c0490df6c4d7ad5efbf2d40f872fc8e8bbd8e42d1886ea0e7aba331795cb34689fd67f719254c02122d68e8f12eaa5076ce7af15b91e1175671e49b538979dd26035f74917febcebd9898eb2518556f48ec3f03eb00bbdc5a524a298d812deb0550e1600ac8c211cd0cc063eec8f21efe932b418698f37069f70fc531c9f4fd5780de83c1e68180564280086bb8b2dbce00a08f72bff053fdd6969803c0c94cf14a33ae13c5add6b29919a120525df8d83c7ff309e5ab2147b1368f87d057cc9b25a2315d617ce9c988481e6f9a33640dd154f94cbd13274ccb44af48db73fa4e18c5ed6a4c1c1410e5f7d48fed8c64899817ff22a7bb5b1f73a80941acb3ccd1bb0761dc4620a17f2eac3e636bf839c45093bd98d7a2fc36782d2e27bc02402a41a70b44e2e3926b642e375410d0492c7b5cbd4a04022081bd52fa041670a8a5eaec87f90e456cf1b1ea4d1f6e645d2cf37e28f0154f64da8d36b9c5b843bb2a3a53699d1f338beccfbb4e77f929736f661b3a48f5f6013b32b8ae7ec018094d93ef2d9cadb41c14a701d8f5a1e53a86e89766be3e2ed4e437d5d09c0aab8e6ec1aecffb52314e1c48dfeca7b6644ebebb186585b450ea698e6bfe1305c32876452825e608d37f3d9552da0243d19f5c653beb176a1e0821ab43e5d9fb0cd3d336bbead4a28bb6b7a0881a1b7f79857330fc5b23cbfdabdc5981717163da4c286c0c00369cb76b01aad6b5ff394c017ff7a6fedca52f1bbdfb148c6803edc2fd463903d1539d71cad4a05bc0a252bbfb2ff83c8cc85a7dc3c4f3c36ba1002a368f19955078079a5fc6f36ec6bfb33caf5e90a9869a07fdec98918fefaa8d9210924763d0a01be8b005659920894354797def5fbd0932ec402a00a4f5466a1adab94c5ab85654d6700892e30063a89555d28c63ec89eb7dc24f68229b0cc1b2322c454b6415febb27b58f0db26dcbd16927d1b636077bd4140f7a8caa4d3b3f9fe1ae00c920d4c6b1fac783900c38185a6c7c89c81c7deadfe43ce53634bbdb8af2c7c782b9562ae79977ccbce2c24e282b8694d279361ce2be4c995180dfa0bbf928b8eb9dbc98623027cf466b80eab9daa3a292b58d656dbea7f5a5ae9ce338870b7f4fd96962239843bc999cbb728d81f7058309f4c226d7a9c2f37e0f820eee2bc07efc9f5cc9538e9dc7bbcb162f03fe7c711fee633ccf40f7b0cb5f1d75fd40aba1196d6cf76ab1201dbc15374bb14397df29437fa954adfb72b6fc395324948db006f5835f206eb10e02f817da3d80b8587c358a269424705accc13d2f5354ed9eed449b2ceec6af0b8e46d681ff85b45c4e7d1e284440f69d5b2f6fdb67fbf5a5047a63ab1c57d5c42da4a381bc2e8aa8c533bf00be268634b745688f38c33b16f70c7aa77cdf0dfebe04b7326ea07d342479305f49fcd8606029f591160ef3d6fa643f1dfa759e183e4852793bdfc5f5d028acd36b2834d26b38a054daa7be224d48762c46836cf055a7ee558da1cd3e5b3629b071de9747e2e837aa76632ebc76a29f584f2f13cc8b472cf092e52e04033915ac61e2bc2e1ff8363be834f06b51edecb2df50d6f0f28835dd829c2be62d226ac0e75173abf5dd6da8109695c71589c47d4d05514bea3cb6448ce5f26b16238319a4750bb8419e717e1568875bee8932b67044871b9d16d2ed642575491bdcf71071ff03cbabd4f50a735f3168707f4d55cd3263585d12256f5f5a01610e61e3bb5515b1f4d7eebc6694e3042a522610b7b21c70801389f3a3513e7c47c1a58003ba83a58b5c2aeb5db4d3b532d56011d9404f4d07065f680f2612a6c77e67c657fdca2836c122670ea1fdcbd388d551df4d5b392836223fa5d6139586017d10e5b709283d6b70e7605a0fdf37fb7cc14f0fc4326f5d5ff882ad55bce551252fed6e17b1deb8b02bf6087d33d4d7e2b49750e76593641957eefc29c443f441db787d9d147f03d7770201638d36a931b7a8a1a072e78ec8cc0215e819f8d44a0f1c1f25337f88f5e292c0c4addf6acfc1ceaee6be8cfc802aa5cba5ef1df30d753929c24fd4a89bf383fb0ddf7c726d4377adcad774bef382b810d789a5e42b8ee8f47ea5dc2c868d11e8a5f9934a8d8a9a509622f2c0c17bf89360386e85d66bd4eea460e802defd196cac2ee2c2114eac80a9d65f89a117b11a0b962c8d474b116a8436dbc4d8c070a436b6d2abde115deb48f277be473f446d562c75221f368214466b8c98af9347c7f681eda2920320e5494e6f669a3197a993d4c2a8b751effb70b0208724c4adea28b15292f3835bdaf3cf36e8ef3319d3b78c967b93749fee27cbc65d78558aa37675328fb92100866c0e528cecd34d5b5742b40e12dc50da9f968d14d138970583a70d345b3dfb8670d24908d6c9c6425374fe409126f49ba6ee836c209b8040e748437294d0e9f7e7e2345ac04b3b4065458f2990e77eac4a72af18f24da354bb8a5ff47467ede022c7acc089f75ad246dd518b1232cdea640a9f1592719e2150ed431009461747e48710157a18c54b7057093fb2c4bfa8b7e9e31f28650e928d0fe7512d4dd0edd19ac5968e60b8ca4c1e6faa447598a8336a45399530878a5183593af1121f7177bcacb40048f6fc985c627c7fbfd6d3c9ca77f1383a932ffd1522d2ac32db2b892002d632b4e64927b63284cffb9d0f4a27cb3d4e80e3e9de834084d21de76276c026ab59a72f67f2bfc4993d32b6470e53e60ba90f6d35d40c4976f04420f106fe165248f313f533ff975dedd05f32c0f6d6c851d616cb3911534caacc37db3241ce950c83a28578872f3aef701f04368e03f24b63bd6af7b039414dc385899484a245b0e961dd2a0708bc6f8d62aa38ce3258866efe5b58e692a95b2ae7b7bc3e2f2477d4920cafff3bb0af6aec7dbbbdf6f120250f9db4a12bb3642d0261b4a9c7150563863bd1af5faa3f971194491c79118cd9779c0032ebd172aa2b7c794928edec11a6303de53d3a52086872d7c4553a1a5096137f3442a9eed17cee8062b6d43c40b1770cb8d24c82e000a5f0edbeef316809722f7d7d660648136631398312dc5d6277a12ebe90258cb8cf25811727a43070c3e8cea463909a945585e92c62a2cf61b7e24a9764a33822e971d4bbdcfc877920fdda1c7963d2d649e0df837ce727ba0a8d0ffda54ef965e6e8ffdae8537a5efc5d503d49e43c547e0ae41464d7144716cb85972cea5b969f48d8330ebd7042a119215fd6cb1a2aaba80e9496d2efe3aa71ba73d01366c8bc653d03c08a341880962e540616f8822b4432941803d22247eb2eeb08d24201da2d1cbb4dbef1064b3d358db4d826fc8bcf2e6a0a0b3cc1b8e27a6c5b5c53812d57954f41d749b4ec59f36e57e9a50c001a6fa5d122361bd54c7edf73375d9b1f790f48684d1660c6d0322e9c992b620bece552414c4fc787a56f354b96f53a6c6b5abe94a57f2ae0c3d1ac5bb2ef1b8f568377c431d89e0aec47bdc7263a71525ec22db365241b05c0dde1f171cd26ff1762b04033c846c7eaac8f334e800da056704f287d7e6a9118f0b39b6bfa616c534ebec6659d3ecf1bef0ca3f6d19a39eb531be5951efd0b02336a7f057cb423c08ba484a83bfa45d0ea1d7732a0c9da3274b4a8fa118bedca2b338de054585a5d8b8210cecc0afc8cdd4f244315e1a47932173d611ce59aeb9b460dd80415b2e385896d248b7dec1b669f2e82a51c6debfc5dec71148c646b08c70bad7239921536005ed85494cc2dbe849f2ce3cd27c689c3eb63b9bcdc00522a6f26fe8350e9fb3ca7a6726bfd5cd3e628c6c69de63184c3e47bfe2cc9807b507ff9a57452e776c08bcc697f474c767326d1fba5fe41b77c519b45004835115970c4020d377cc2e6870c25232d6e4d77a32f1b853308522d42ba613ec414ca49416fa1f53571ef71530c45702046a01a05a290351b3123c0180835a1248878e592b1b25f543d3b0d7c6cd03f9e5fb1a5d2cedadf3fa18c869bac559aec685a8cf5aadf2d719fee4ceaf7110894972d2d21dbdaf1f6f2d00f7b907560d8850bd605be9bc5b2bcd9ebfc03498962fb32250d3bbe8b6d4b665807336712019b3b489c4cf690ed46b68b341f540094d818bbf151e3ed8d25047493bf4bbcbef7ea1fe0d269a0b31b4f31e5626f2561e96aa493977c4de7356e712e57f399d64722c564cf2b602930b614e193992835e2fa16effd90fbe317a163859d6ba85cf5b7e7b8f53af3d66ca721ee73afe2e2dceda69184527c660baaf597751e81726c22d958454c24fbe5119d88e3823937d54806708491f7260e27932e00c33a10f45902cd4797c12e517fed506768e689ae1116c952fbe339553f520e56a89e976138630a088cd2a1b1363fb4d11e7521e40b2ef002e24539ec2a03cee1d2f0b724d487eae30be22daa45ede7024e67b6015b5157ef756596d4f21b0e8c049deed76387977cd30ee89280b4364ce209779a9e65b9ba5627af32232ecb98608e7c2927b8ac9e6a4608582d9025cae61a7abfb8c041238e65dcb1553a429d60ab88a1dca9774e68afddca15257971f92de383f5589a83e53a7c4adf0636434f33915bf23e71f88186c89c7a9b6415b0bd8093e4b130b7fe0d68c985bdadcdbd9822284a657caed1913d7aa2548666e6e1c0afebc46dbbf816f99b7623479ab4cdb3fd34bae1e4805792d55574a52ef48ee9d69795d8cb1f05ac928329d79373804e3f299b258fdaf4c1e2104ce54843c938bff3dd939780dd1848074a2ad026733788632e627512eae759dabec42521eff10c307a6041b854c6a4686fb30c00b08dc8109021b91711a6bbb12f17b5245a90678dda882a5170cc0bfa6c437a1f9022bc25ba942926ecaebeea1f89b7a531e00a1c3f26999e6db0ffe53ca97f8ac392450868e59600dba4aa77a6cb17c5d3cf27f5c397618fe4c5973f39324aa717d36c3f0ff776408b275aef288690df04ce8dc3448522864ea7cdc434198ea214b1369540d7cd2e82269c86e89f42aa501934dccca74e8d4d84b99b8c9b20e315747d9c7290f1f62891d149bf4dfc7b78b6ed5e1926fd00220315cd2cc0a9880c984c2e88d42ce288c24b4178982e039fcdeb0d8b2a46d9f1336666c18b6db0290f0e596b8d3486fd508181cb7427267059731c2c349a6337f65b329a546268f4bdcc56efa3c99d61646931454805c7536856dc2bc92299bf27c56f9dfae8eed82deffaf8945c23341e5c7a141f95d5ecd393cce851df039c99a02dd1bb806bccb60cb46f1c12efc66b1efac2e04f0b65b9d245a2c6b5755168edde81625be288cedcd0dccdbc294f0db4cc79cc123fa00b70b79fd61d103e3b94b43008f02177a70f89ab0670435243b873b8bfd75a2f7049088598a4548fbe2d52434455e989016e44de7620428c64a68291874affb3dd138604086d72c8123afbecaabc4d28504aba95de423c9d7a08a0463bfc1332d9a38fe834b2f8018d264704353d144ef6ea157f7dec6dd5cf3937935466a2d8bbfa5a18102565397193a2c96f5a0c2376dd8c5de1c134fae00fe65205abf112b6f01f3b6bf8d2a6b06f5f1b1c05a05cfaa1ee8c838aaa4ea0686e9f51f81b7eeee6fc5ff1dfd3e02733c3d6584e71383d21d1cece8f1713c1df483daf89b5b24dc8ecc51cba31f1534f1a9beb7a9f20f55aa32f23fc6a78255b39c72f8e147beb87e1f18a0cb140dd128d15a65cd89c3422d85ac723eec4e49edf3f65ebdb847bfd7f9037d740d530f4be8711bbdd7487d6b55b25b28d150922d94e0c4aac54cb2685fb62cf2e307069513a6234e5314d06dd8a1290358dfe67735e96924b61e725fed6be23a4db9ede3f9af7b3567bac59048cadb762efebb4ccdb7692f84b40bcc3f910e249f75cc4b914365f134462e7f72aafe83b8ebf3d5cf0e550ca42cafb73434dcb60fa42b853a5d4e316f57df83eaa784bbc8b2e20a082aab67418820ebce6c7d4c7b137d52d8d462a7a1956e2b7f6c517f4b2ded6e61dc98abf70d8a60c86c755369ca4fce303f8f1d99575d3ba5d1823122fe8b019505c39c824cc040181f8cc58de4df152e0b6a9b3e60cb9b17e3b95348fbb7278b9333494456a24337152b11309889b2bf0cc2293462bf95389810ae4caf347e4e498cc904e8bbccd8a341df739ab0d1ea7353458d239bcf56ad0b5e630c97c2e7ab0e9c7add528784c552969529b2b603491c0c209e751faeae15d07d5e999583113035662cdf240b9556d80d2e41ae98279a9af97af44278f08c3ce86de1dd7b3220f90c0b9e920e990228f5d6772c2002ca43439226b05d6cde1c36f2447515a191a433d370376eb9ddff6b10273499c1f9b426f170aff841d44bd58687020fc164f2c0e7e48730a1d4caab5c7ff6ed3685d395ab6b3035f3e80f86fee710cadd42ad2b856e065dcca8e93cd168e0a37850434e7682c15850a7022db5f78cb23c785f8abfa12035d774e9c753a7406236dd9631353acf2a76add439c69fc0f7e83127a1fddc3b35419a8f1d156cbe6a3c61417470bff1094c25ce5a5ee7f0b7b8a8be7b6f18e27f1091ee1fa3b50313eba0a8b0ac10efa4c61b7f9cb0b5b7193a151778a9da65f02256faa01a049e7456fffd12a931d26be6cc9a5b83e7d07e148e9334e9110e2ed713f9bbb3c597f29575d7a426bb8030c99652cbc16901c214cbc1183d145cfafdf9116a8d25b79ecedc94573a0afadc4393e6988ff98a45efd15980b253b2900e471f84859b04d0cafb0c4521834bbdc081b2056f096ae453f50454c7afe91a34fde789516df1f560300ff3e7ac234421d3815fba46f57d7dc7db83b7036e6e88144190377c1c2f1d611b632ef8c95b3616b1b84cedeb3bb61be3721624bc05c5eefd11c62b407f21789cb1d8204e99ed01ce64b7f7a83373de3c6604e796733fbc6122f241f90e2dafd6da32fdfb78ca64f2a003f6375818be8cfccfc8ba3c834b7e64f46cf04be71b7d2d2fbfe234048ef082a65de1b5d694982c19f131092471744f18ce35f9067ec98d92e2de618cedf5f7de25c7de3613ca0f9e8427b9fcfb1323aa1d8799e8f1451a229f03cb201018f732d60d4888faa47bd822db6c871b4b8d812f0ccdaa1485ce8cb37540ed4a94822d31a78ef7ef030d39409d143b304149533abd73b57f87d91ff0e09a8027a850af38d38e72695e8a78c3624a52c6b92eea1b06d5d30a582f0baee87b6f34c5507d75741fc84bd2e15eef1b90b9d9a6cb9c17e8a1811527845ec914b2e9b72b5a13178bf6ddaf40debab45caffcff082542547df5784dd8aea16b3c04c0150c9a93f24dd4f3f8f74cd57cdc9d0dd04913f27fbb932717ccbe6627e0d95b73359ef7c39e4780140ed50546b2ffb0cfd3cec2b02c33afb1b57b16a844bb464517cc1dc606c89deb5919bdd183752fbbf77fc3456c3fc868f9f87b0811cfb5d764ab8a9160c9382b72c1fe098a166bb813ee2e07452f0d07ceb235d9b93b1891b464e459d00121e858648de84f1e4dbc25e40e597858440668f675694999e1b24f9374e78711c89b2d4025d398535f9a9fb264bff29475fbe1c75662cd73b7cdc32a15ba6fd2bba5fe06eb8d2f7c7d792f0fd1895a80e49dbb983132bcc6bf23e1bf34e8bf267c0f426829500c6a8989ef19ea915bfd5a8ab537f6ed163ea368cf88fd3e156ec4b87345e2aa5ce4803397a7abc667193553ad18136c4b8609f4045a2032cdd77d79db53d0fbe9edd28564d2f5932bb60f580aded14b9d9842fe6fca5ca9b8470e70c6aa41cc86206e10501ffae8bd7eef0ef9ccf8fcc6f7a30fcc3c1a1b6f5a3f5d39016021758438763591b813ca69e7d96f8d7e0667d52db6e9921e4f155b66207e43bafcdf579b43f135efdc279bf8b4c1e270a0d643d43112751f5ef1f2c058a096532acde120ed245f96fa1e7fef07a7e86c79fc118354b3039952513bf415a548712651c2c2c4eb2465aaac8e104b158a2ef2d4c5163e5b6ed0625869c3785eb23eba4bf55bb7af5cb1b1b3c1d27f79a8c7167bef2a8630580f4d2df46b0eeb00b2a4ed29007b8952c9b29691692703ab78bc3da74003b86a04d8f1047b7134eee8dd785426abf5e6b468cadceaa57a6cef6c2e61f5543e1a93d606462c7cf128d5b9973d4c5e7f22affaa18ec56e76e190e935b6c0af840eb997f05a95b1f1871c5ff654e110ad3f75a2548cd78697b9e4ea48b484c5ae84327a1f0dda322ee3344f5747d2edb26f657e9f2e168603fe6e6af9e2150224bd7ac71c45bdc904021fd1b6c18fc29f6caaa100eb024185b806839fe61b868ca4420e4511adea9f302d74c413d2580dfe297bd7c178b5ad9d3291bed9413fba4b6ddc129a18bfb9a061c38f061385ceef8009d886111e1cd2e804a3ed0edabc5442923e21e70c394686f6a52043653676c2b63a119ad7731a6940a1cbae4cf586d72ed7263cc43e20d9e8cfdef1ee223edf97b009fd76363f083995f6964a64a2f85e6f470bc60809caa39fcbc89ed57de1190cbb948900f0a602ea7d881982e6dfd23247913feb47973cac2c5a7395ff9601db3f49ef2099320ce93d798c5b6cbe06cc8553257f7dd08f027c277f260cfad1834c43eea21f4ed43896563f14d6a7ad7eca248e03d3fd87226c2ddf88f6c385f1b1c01361393cf0eb2b4a1450d668acbf310bb58e1e9e713ded07d5f72a87fa6b5e7ce4815f4839bf82896eb5430d392568f689ba96f0ea6d0c0b06ae4c86b85cad625b0aaea84cbd6f8155c5f416029356a50ea406b971e0d892c88e126ba16a260a58d674b816eab2bba6eacbb7b80cf5578753aa45ee276100c0c8f9c5f69d023b467956c512a3f6fa15cd93c1bf7d4953679f7460ffa3b4be047d6013834dd70b35b731aed9417bdf9baaf2e0a687bfaeeb6b17295528be743dbb3a322190ac95b01a97c29c149c619e4756cc501f0104ae7eccb236bc11a89807f5bc28f2c9e4dfaf1768a590e7e2981e196ca95acd93ac2a21c0da78bb5fefb3142d4fdc48ded6d4abf99de40b66aede252477203f48868bbb96614b82368e94e508a0605cbf1bd66e9ea76f8b3a1ad0b85ea2f1a904d3d2010ba575800c101bb32222a4b07b113c7915182bb9cce3a5cd335440e7646c900be957b0dbf27e965c8badc3b3694139bbf34125607920ad8307932dc707618239d37092eee3235c35f1e356e3dec6a07e75219a00c135846b1dcbb2bf238fdca67d5f7fe7c8d33ccd0a9c4dcd41035844cdf973b40e6dc83cac39fde9a520874495e6202f5795e21374d471c1af5a0a6d8143d25a407e55c8679fd457229ad09955f3c92b5529c6cf87674a7d6a5a31979786ff5aaff91abf6780d5f237bf44725828afbee2c4bed51a4a9648919d73928d8bd0b3db9eb32a4ba392cedf36bdf1cc9eb2130dda702093e73a125fb92d4aacbeff014d31f99caeffbba409a380a905f3c4a023e879343fde201ec250780af0c281a2add4db1b783a70b60eb47a1354ee76ee9de7ba9502ac9021c42f8ad42f749da432d3e3deef7a24ee81c54335dcc2414c8fb53035070b9f6c9e3990b8973fb055cef97158bb790ff0047ab32506f265f5f04ba1d0ab4c4f6e70757fadf0bc6a8f794e685266140fde19169eb7f57d870ce2a44dae499da83c4bc19e593e4556c3bc2ed69bcca5668aafb8532018ee1c02d81a34ee1b0ddf3745f6f47de7641fc99cf8026756b4f727c66f10a046498a3273f8ff5a0fe4fa07090b05fe266abd71f4744a32f161a06edff850f6c9de3b4cb42157205217b779fe0b6381922153f7a21f7549ba6a5fc885affedc6901c638a80091f4a4db9338235cecc111af7b8d4e88aac017dd1e312c5b6d6afb03258256ca4ba75e64a9be98d8f17ced22e0fac881aa55e64edb60ad14e95971df3318b03dfea4fe1f91dbad48ae3dd54e743404c292a21d40d6eb2b9ebf2a01a467402f8c0eca4fd88fedd675488dff001396f250c4e425165563cf39f70253b43f87c516c4e030ff7bf95d844703b31139d26283b81dd990934a67a5b7c8c32930f943945037d5c5e1418a9bc8b411ffe731a4ab9aad62dad5386127417c3fe11615f9fa1bd836e539f69649027200c5770f9703cd5c84000b49b614e0128023f5e828eb4105f042b572ed4bea97275f9ff65bde1d96972fd3f93834adabede2d96e4efd801670e6b7242e65078c9dcf63f278235e89667519c196505ecaf25604ddc2dc476eecea93ad0cc0c2e0b20872490be155c1a77e55cc3039483b1f7d06bdf89cfec88cdde89c502a4b9128a29e46be4c33ed5b72763b85a67a767714414eb0bb4557a76f92c1121c8bb9d492b11d4bd4512882ccb76f833dc9f388e3bf8857cb5d037fc241be9d247a980c6a602f91fcd4ed1dcaa922945f1e7d40661884f430a78cd919826a9e60c924ec33fefd0dface51b97dccc6c1e12a0d3810d299bfd761d8ee05e49349f0dffa5b00500184273b8cb9d0656a14e51f1ca94126a29de23906390da1e6b7a447233a43eb214c421cf8c0207ecbd3d27aedd93c9072ebfd9fcb08413aaab1f4236a699a43942c188f8a88fa29d7de556896cc476f408400334190f52d23bd1c089bfb5fb75d846ca250d754f77a3d970a916a12d80a488703cb35186a4682b329dc6347bb7eca61b203ed1851dd8d2b1c9eef7ff93fddc10015f8251d8e06212f1f41a3da4f7728585fbb8447e1ade385fcd4e8b61dbd9fe941e04527f3bb75035cd83aa8fa73cd25d29b0876f729316f410d46328651d9722a224f5534ccb4531433fc6fae62b1320f57684443c0314c24e58c2021f3d598ef306183c6ca0629dbb90cc847a77653bcea7284cd242bedf5312990ee9e64c6a6bb1b1b62ce2e4bb70ead2b03080d4953b6d71c178bdedff2d4b041375d777f263a290bab235f957ee520a682f396a1c7bd0e7b93da9f73501704958d7f2223b9b3caa1c4ecf82b3c51d4b083bd152b777e6944ca27acb22c3f6162afb2725380a7e4eb5b22a690318f3125e407f127cceebe850ac02d21a03c212b346881e66d445e958042365b4f23c8b3da014bb10d8675b2c6707cf1919b3aa5ccd8b5ebc332056f5d863a5e4bdf2d0ee90c1483647b8594416e5258f13a9ec7db7612370fe1a8d5bcb41d9a37b45a7a34cf94abb40cd826620dff3c3d139874226bf04a67659af28f209f147cc0f1df643ce552b7f8514f765e50312d6f961bfd376c042e05a64950dfd51323fd4a19068e6b5525cf4026127afa5136e5a62024cac5ae12c843b7e93d1004a63b92fee2d7caddd3feaf889628e6baf0ca74ef110854809229dc5e8c66cbfba8a52fcedb74405d03a9240013bc76f772c6c4791ce51739861003312c2684a89a7b4ca1dd9bd8fd869f24ab08e2b676cec0f9a48fade6502840e28e6dd48d40dc4b4d365b91405e4ee6444d05b59387ce45243ea948f85e0a671776a3a927390db854870fdddea460f0f9dce953a71592bde7d0bade0100fcbe75a5c26698a076e0de7fa97bf9d2243c4648c4f294b06f9bc4437d0cea8ec77af2b64c4172e5e8af03f1648dcd95788f542ba390c29fd6c3865197773392fc1fe64c08a6e47df3a434d966cf174049cbc1bf1f2a1300c4aba44d02b039c805d9a0ff481243a277fe836d61806038e79a62c971b7060d1eacbba917c75558de8506f53d8fe586b677f8dbda4aca59043bf0882c2100589afae1ffb33a2a2494365ead410d020e341c4c1a8725617e676b1dc7a3a46439b0f937c2f1914071897d17065dd702ae947895be6734e1199335659845f5867c5322b97d59ddbb2ba421a19d388a75b9172bcdbe19c0347ef57c6ee7bd6c168173405016cf77f7bda6e3665db69c0133580f9acfc69d8a8e9898a318f99bd53289d9642bf6baf192b7956adac71fe754b5483c48edc2e987ce41832ab0e0009b372cd5050c6e516dc86a4bd618b04f99b278aa014d580be2c7faefb695c9f7d85994e27a7a8a6051dfd572c77c1c8f115f442f35983988d37da0819177bc63a1ab279e3204a25631a357ac35559ddd62431b884ed11f4c5d3241b7ed4c51ef244e95c6e4acd13fb55f65773631e6cfac2c46c4519e339d6981c47fbe8d9dd59a94513b71d2bdff55c04042c0965fcf0019750506dcc8ddc415aa54dfbc58a75e4c01a1ae6697a6f27db2424cdf588985dc6b4a02d4403c289182226e8a3398fe947fbeab9a2de013851d605be0879e7b21f282d56c917035eb5248be7032a2205ae4e3d118a0e42c3f96377bb07a9cdd7a8145838befb2815e52c95f1fa2880b2be3d32d9fbc26e5176dc4acd7ba28501bbbddf9a25a4334fa90a619074287f8570d96fd851e421272134dd078c101cfdb9a27cd20008116126cbf8863e79267c6604473cf1f4e9253ea53960d98c11b77cfab52e44fa338e8465305cc7d3bf3719ea942de860be3780dedeeec07ecae9f937cfd82b2793a232996be0c653b0776456dbd6d52f66d334d4a6a1de467b0fac9b9739591723369e443aeef25fe589e569c627027187fa62bcce6491b8426538cb82ed2802056025a664e48fec27e48c92038d008db51cf77451ef4f5736334c6a9035865e7f8fa3838c87eac530b0330c77f281a8ab13592ceeb1db51d76f58003bf93029dada0f8ce304ee9398ec94d6883e19bf77e40cc62c4bcbc480fcc67a876340d7c326c4b07620751a1e5506a9c0a49d8fa5a9870f6ecc0662403a04252c2db55190570fe2cf9400bd9bab0f6339f06d674bc487b706b34a83ddfe1de0c2e4bf9322ee52bb5bbf08d319dba37c7d0f51f6b9595b631434c98abadda82995859e13983fc12b45c9faa2cc9307400ac77f29328c0e033686de4cb322b8a97c996cc8f4960a917929dc6ac7659e49328f93c5574997e2884e79e8c9296aed692a6060d3ad9f4499ca7622ed913aac3986db659d9068d622805a601cafbbd213d7c983c21244488b045f0f0d9625bbeb58a9c08746da53d1f41f3cc84d514e5d85af729819aba32a03276053892d3d215eec3be011b6fc1d569d34301f7c5e561edb7aa66e138e489df15a9e17f33333f614f4f74666bbcfbc20aedb87c88bd759981a743e773eef1d219b2a0349537aff238e9870c7138eeaf5336880f084ca6c3a2553b2dbbb40f0c58e6ae828c2ac0d611581152391c46cdb7a7229cb0055546ffa61bb45405b6498d8dff26316d15daf20478809038b385138281fb5464c8db83ce6bc8b32383307c5758e05610c626c0fbb5f169375ff49b3f9be85d6dd5843239647392edf7ba633895a913c9d84317aee81dd552288bdeb8b65619b901d83951721ee6a26871ed70726f7f6ac5c2c1b734e3084d1e4451e4c9f74b8eb3f07f8594c33191b800fccf52e3710f130dc399d4183ad45f23a29858eededc57d33eb6aa5d15d8152e38935f9f0cbaaad50e41fb5fb38ff3c1213ec978a1682241a039be8393d76bd1cf3049e70634daaab96570c3904d5d6d484bf0c48e09d77f33c879c038ef656e4e1543e5020493d2cbc5d6a031f4d3c45af01104157a2b7862d254f3965d7792fb52f1c1c7217a71087bd4f029b7e57bc4836c87a2454ae6c3ab41680cb9c151b5df9a594c2e6b7c95d05655d590938d1ec4f032d0ebab7d0ee31f6ed94b6963e0f35d7218b7ff8321cb1340ec05bb0d183be79e675378ac4c3d78e7f5bab3e4ff346502fb1c2c5b6fa1226c05b34ddf6c70c861312df9177899be10716098c6fdc035da3a94467090179bf5e97c75f28b5f313b3dacf65f08b95c107067bf0e2994a3506701d6e8234f5962845245b017b807b8e2f80f965bffa681de6ae695bcc5f3836ecc14d84f27ce4bbb01b75a34420449dff66f44414041aab4e1abca861e23901f8a49dcccdf5988366416f8347a2ac24bd8e570aae96dd40a18b052dd48f858309c96432ec79b803aa2898baac69b8616f124a4d0d287e86011008318eb48b5fe9e4bb30734eb8149cedd93eedababd44008abd59b91d4355819711c60c5fafb211b8fe0c55ca8c3fc771e77cfba391f606582c860badf96db40132358fdf70930505839dee828f248a06222a9fb07a64152a94be0f97243d0238539185cd6c8e120594d0b8ec80da640ca99462e6d890c3b722594c28f8bf1d2734e8a273b9d2d23cc0c77a6a936d2a97c6f95ecd33d1647944beee706eb703bc76d214d4f44fe8c9115d3e54639fba49f50e02c07c15cb298c9490189129b39a33a2675689dc8ea036ff298335f59b2b0cadd0a43dde9dde54416cd9739d7b6e00453e853d105e17275ab6a4a1d15953b0511d893a4f08fd49551610194439cbf3cff6a741611de4ba6dac8bb2b22cc05f3b490929eec61cad12fdad40f11c792f6287bee06ec3ce4846d97583de110a910e157238cf33d7caf080d141338d5510a39043550ef14a0356e0a9d8f94e4e91bb36727218bb6591fa884e621df914a03d512e115084d0e0c4076b1b1b2932ef762ba6721e3e20e077719759c4fdd9b87db9651b621bca7150ba34c7136ca0a36cc79c34008b24f62a0bd5521eca305984c8f94657f8b714f02c98f179f3f3ae7775accf62cebec75a9286bb1cdd756a42b6319fec0dd721bfa0c07df1ba04168c808f76688d16ba730f71e84d42d30cc6215db81a002c7e50944521c38c5fff12c9b8c01fc7fbc5272cf9f844caa9ed94a05f8aa411ee29a6b9a282ffb64e49009cb463a025d2f90108356a501b1a29ec26def294d3e77fa79a64cc223570b2f0297b507b89917dabf5f8af4ca3e1ee71a9720e2277f51103df97285c12318f56d8073b30ee0ad8230f4a3022d6b525845c7898aaa5834a40bf2d607c8803ed1e4ad2adfd19b85485ca3925165079b3610ec6fdf26b53820125264e696ae9588279e1634bdd05ba7aa657ef91e7c887e0c4486b83c32cc443bf4f28a5acf273da82ae072473fa99660f73c208fdc7b28dce22d27b36614307ac9b54a2a8adc769d02642e4371fd03075e740f64a4d722990eb863ec04eedf8188a29d64c74032c532756459730aef5752ec394563aeda41837e31694ab547b257fabd02dfab192eeba1035bec69d6027a773f086e597af6084d4783a4d820d945f3a2198f6244a1f261e8bc67963707f1451fecda1eb5ce6ed8f75f8077ff40084f7345746f689f79bf68c0fc26d9088f0b38945763576aab831df5124d0fad0d6918e2610596f1a1f2fe1a3d24a921795ed717c37cddc042430e530c49ab06993a55b4d1cc69b997570284c77ca90a41c5bc3864808e84805065d012499ad25b9c8b18005a4a96559fc8169dce6ff621755c7bdc41da5fb326d429d414e62a202b2c5cdeb959001bbce81aa6efe0f0bca2175499bc89890009e9dbd2ab9344d87c9725f58d873db0175c413c898fc1f431fdfddf864e7d67c8da5542ce0ff75080721568d1061af841b72c4813aa149ce590ca96f1232881db4479f9051a1b334a314f35f1eef5f6582fc750399a903adc88a0a28eeaa51a343278464c74b8a8f57b9a85f7ebc60af8e73a1e60327976795e05605841fbea932ecb0e2a26e41b6423d109717da0836cc34a7d72e1f09057bc0c74cca1456217c24190e40c782264300817a03a4043615e9414b7264c764445591d4891b448dc7b38ae8c6427baef1946600c02a11dab9745b7194c57c4a6e636d41a21e949a47bdb683032119d6a1ad7ae1bf3554eb1bca2ff1f596acc449b5bdbc7ec81971dc6077c77bb900c855fb7b4d882a68c55352a707c2964ee0a8731626c86284d700876111f62b1fc9c202fc1a25da3a1f045106502b3caabce333f8f4e0d86af7e0945bec3c425ad45341a44cd7881b527a0f3fd73643e302e588eadd929a364e5cabc5336829e807c4403d352c2e358fd4af5e7576ad86d57a58a0d1a2396d6006a096d8d79053b470e843cd083c70bca0c5ec9180745315bbd3fd4752ca85cd6f52ad0c3862b837bb72361b18d8e1b6930aef1c36666ec4fdfa3416e2d435d17d289eab0798faa4e8872b3bc124533f8e71ae37e87efe729823f2ac0c7fe33ba3d2a7fa80252020fda973467a367f2b03c12b85dd5f7ac9049160470a0d9f10d3573ae810ef415369c38544b2c0f4bd6dcdde1058d22dce3013eb0fd6d4bec24280a36f80cca509833b97c380f838d6f5c3a4a10ea032bdac4381ac29f4cb775dddd3a3c5cfa1e3b12a3305f5b42dc5a6e40eb86194c17192ba0d602ecae6934471e5f95e8029ab65d0a74179d55a229a81d852d62e485740566c123f6fdc420ee15837af73a81120370a82566586db329bfaabe6e22b8a6d2b5a64a18549257b8388763450d3175915072d1f18bfa5ef6f2d06886cc3118ee73c2f38d0a4ee162c313068b29e54a9e5e73b9180beff50674c865117403dab7a51630551dbd0b5aeb38d9cc6a9d991c408438542a8bce444311724e23c25c6747f1d2e198b6d4bd207baa8ec8a2b121f509ed261de5e883af337d8a0cb92022ea470000764f82ab0c22919c99d5bcfc3a9a264912e8a1deb9204b072ce901d72ab857cf729fad579c8fe8e85ffc370c1ebbc4b28c819e42114a09abba810b762c22ad07cad938bc36981a86d9721b706bca025171f3a5528de7c080f0c13ff7aec0301f63af6ccf3dd043d57c1624d51a1bd57c588505055c610d62db9d2bf3de179a027c520b4bf24c76a97a3ef2bc4ecb9dfdbba58046e67e7ac9de7b1ea42e934cac452f2b9f0b711188c785f737a585ba7ae16a7520e4da04a8f0d3183fad0af6e4804df300f42c8c6bf1ef52a36f47af02a393fd6e1d2d10b868076d9b99136dee0ca5f96d1a50506620c43b20adf0cbab696f60cb8d9e228ad49234e3ee184eca24e1f2bf8d9bd9e88ce39338b887575386106fea3186de99f13b07b55c3db20a46de0ab658aa1dcac8aa7183b8d741c5ad255ddf04d2729b80bd6c5dacfd83a8d6b36573d012235a055c40f35586d7661e1bed21485915951c04e37c51e4b08b264bbe2d4d45a1942c32aa0d45f53e58f526b479cb0f582d7087a50d64ee38efc4a6a39014a22d76db0336912e4aa86e1022fb0553ef4f99e70ed2bf49ae750bbe25e2dc524e293cff436528a644c7216570bce7a92d525bde5c7c2ca50a6b23973066db4aa0bfe113fc76d86550806fec285bd09870610798ec3c419e8fb646f7e341407671caabae25478a8e10c63d59c82f79adb484c7f4adb92a879a4e7b5c872025548ca6b0427d5c22846befa3d7b8138c77d905d850400747f9288b4d9e7e4501ea7c3bec829a2cece3f96254815b258ef992358223fb741097aca1946433185f2e6d05746d051719eda012119ea78f4a57cc9b63985d0a609ebce5ee0fd08af40cd070c6f9f39dba16b2535ff5902ad313cadf0302231c830f81c8a2603e1e61516cd49af319e6b2b47d4eb0d1aa5de0baecb87119a817993ccff4fa93ae5b2250508a7ec9ac60f136238d6e420841974b8ea12c0fb996aa084528890c45ea9fcbe59cd1551c28b2fbdafb5cf938ba77fbdbec323cb8366a4f604f7d1e52e2e96e2a8f4cae02151aeca903e2586dedf6a1b825983ecc231848902e59cbb38baaa7a4a8b3670c1d08143afe3f3a83594b55cc53484009e09336be8dcd563b1fbac26ce26ddaee57410fdeea7553cd3a5749f70ce1774d114fbab7d11343813b8c0cf112ed0212105da0ef95050104d4c367e41ad9fb23b93e6b5233db75880dd271279c7cebb3abb0ef40ff60b6e81ad2fb8df5da028ff13fa34fef516fbd835907013e567fa1c09a6b9ad3193177f9637632ae31b1fbbae5a2db65849d20985be2ccfb1b2544f73343622fbf49e51adcbb88f5fe5931b7ee475003f2f1dbde12af301521c0a970c148bf6c74ece19797f3d495527aa1a2f8ec9361b76b2437da886f884392024ec589d510f1a035b6bc663453aa1a4837eb81510d58300cd2852104e7753d8d673b9016b0906835893d3da3d3afd399df52770ac9f0e9382056478f06aead048dd8d4b9832d8ae0525462fe324e3a7eb550a9698b81005541c0e49e050683e161a5f67ad9a46c842135ad3a6f787ff094662d4a716162ca1f7dc3f7fa0f7207fde8ee58d1001357c2b8d3ce7d6056773e6f8d6db9ccb4f7644ea0faafd1ff622d2b6f3ee78339c36940b813e1bb3dddcfe4044235e2e2a868fb527ef388573a44af5adf89552cb9a665885eb29c8aceb56aec471c70668ec32cb171c5fb2e89b3553604411c73b4a5c7edb69581e6eb202620b5ae43f305c73af2f86bb996a4212d42db05d593dc988d5107c2e555e3901995d7a9de0c0c6bf72e86f75c0197b0e86783a636072e18252f87a3038a0dd3dd4cc8f3baf018c1b7120b8e43a782c3d5093058babe1230d692709e88e5a962142230c30a2b87a95dc91504f9637e21dd993cff34ac0b23b96a81e7f4dbe23b83be3936ce1ac873c03021f08879d15cabcd3357585b62a9ba23d37576c24adceec8eb9e69d20e9733095541f1243707516a46b5ebb14fa49ccd8d218868880ac153229b62bedacbd1bf4f39def9162ba43df1c496f2428723a74629e39ce9612a0021a15847480f15474156e16adc28bd05f905d567feb0824b95f4d31e84b1a32a08909e8e63ca619e7eb360d3d7ca1df2d4acc3f09e90902bb1334ab11166ab809a4229962e5a37f5dc6a0417af58dd67beda2aaf40b706504ba09a2bfef4132dbadcaeafdbb3e7097b51e77bd06df9674787279594390ee2da7b3f5fb3751795e879a12341a1c13a23d7dc7daa32bfb5459f9b456fa206e7bcc0324f339de3072a7a084a4f4fc334b8dd3a9c28b24a48e824f1bdac62bce9a62e367185e083eedcb063342de563984a0112f6a01be41cc2189438555055e582c280f2fb0bd70305632785b05c8ac32ff98de10aa05380bd22368474cd97722a3c16e182b9b70c4384fa4a6260a4f21213bc6d9c9909600f4bd5667ee02430d0e4c382103a39f78415142b0e315988282cb4f66d396bacaeb4840ec63a20cb2dca84e988ab832bca1c92dff129f0eaab7db26cb1dfe745315032ae6ec58953246e458681ebb8cdb59a156bd23e1176a8b13ad206ca75b4aa18c372f1ed7906098727352740d2cc0cbbc142afe86fbbd5eb957bff367dd43127789bed34556d31e834365f738e1cb846d79170cf992c1e13e8441b73ef7515c3731fb6698545fa668daa8141900ce7d1a9711c11074fd1bab0e5672e3366fe402eb99e3c3385b9c8088714889d67b4bc939156b847aaad104c4cd0630f38c6ecfcf275bb8d34de37164c22dfbb013603dd156d7b7a88ff649a57cabc20b406e3a0effd472a879033851bf3f44b547b18dbc33d6ffc681d18e99196c13f7991739eb3d488f43405e05bda1004ee8043af69ca344c25fa894e5c50f9b8b9f07db2339e068cb3fa02319a2f84d2072a6bdc0f965c2838bfaf45cddb71023f59dc1d9d91d94c6f792287cdf2099dbb1b625ae5bad065c3cc227c97cfd18dac9772fba6dce4c16b96c08944a192ead58dc7290b5e2056c6bbe456ef58f2e9501e0e65bf4d84d5b2b84280b8a08fbe51003f60ccd90b91e67de0e8963f0825bf62355a68edf484e8c7bce700d29fb1027dbd126d15d01e6aeac6e82702d75567c2487a8f7bcdfcffca2899689bd17bee7f1e26abcb2962e642fe39f12149cc8966bba5d8fd3f229e54f22eae7ab4c705f59443201cda78abf23179067689a67aabd8721d9d2749ca4d7aad98cc5fd2036db9813e780c25bbb99343b436d2022946e13e7965e4e1cae8a65521ba545efb4e0560559e4df5fd50293cb58f1875cb9dad7f6d85e2edbd26e5fd313c14f2c18a5d46beef9fbfaaad79300b7a3f80fda3bbb925ce3ad18628816cd190b4356574a10c20f48ed8109e5ae3e0ffb1742ca9aaf367460a755f05181aa9a42130714d8f6584d540eed7a04c2f9d53dc5d46326f559565c433993b5b2f1859706cc26573d38ca76b9a7b9f81d1546afcba3c769a148524877d3602d9a6549a54a0182f49d849f700e63e4896a8a1c5b07e17c0d1784523ae36c23b0ea0e49a132c07f693d1ca1affc61e9dc2de9b03934b50ac246c5c5d86145da196e7770138fcc81dbee04a0e36a5ff14684eaa478a37721480bfd84cf220e7f08bd4a00ad8c886b0727dfa933a344958ca1930f94265064f09fde462757d36cacd967bbcd26d03e0b7c679929438f3ee3ac6549df32f558faebf7e597f7fa3208b41548a751b8a4e47b5ce3ca06a2ee6b7d48063069fc197d833ac6e7264c4edb4e23e4d719297088b6663c1073beb1256fae654a0fdb9a2a81f98ee0aa1607da6b8f2fe94a67f7dfd001aec0fa9e02f00af8662d2f7cdb60861a3dd36334f0c321a20eb0cc10f27289f25a520599013092d3c5e73e226bcb3fdb0f3d36f4bf7a629f021036267cd3194971af7579d6e09c54753fc771a23e3b0918fa72ff60278caefb5653397f8728424a98fafffe30c05b99158ac6677db6e1a0de549c51edb5f05983008ec7b8b6b48794a6abf74c8d98cc090d26f56d16c0b9c3ec65ef0f92b4b3478f704e66ca917360db51dde125044aa662b4204a6cf546f4fd1f1dce3b086f3b4095db98eb547e480c013f5efa0dc98b7d1d07b464d9cee358f72cfdd365c4c0e1fa8ff4c274908ff03930df5f2e774d6d4cc193c8cc6e3d4252cf54bea022245fa744cad46666d72b1535f3e03ee786e36469eec2d5c0765c6bb49a05d49ff1be12c2755c854c3cbede30125ed4c73105abea0f87bedc306b4082510b4bc9c85c72c198b2d0c83bf55eeb03f200283fa5176aafd88a3b9db4a7d30a2d4a7a6a7bccf0bc881a9ad6a3fdf61206f5ac6f394de4cf4f6a1663a2c6938a9574b6a8a852bfff44a09866dec822f3f2b79822814587db3c937b052734975d8646cb4d102f96b28b1f5e9a328c30424f592cdc28f649b01ca0e2abc6a6ee271387ce866cb9e660ac638cea7a12b8c47cf2176e76b22940d9efc778a09a61c79f01d0395c738033cfb2476890c6b6d3257e76e59197ee72dceb1070e2084171d368d5511cbd6c4bc91cf8776cb88716f0659b8190edfd2ed6c15b8871d1fa9c9d890d6e0a0fb660ba39861041d96a19e336a535980e3561b8d0cb7fcc0e1f2c2b6e7635148e188138933f5dfb3afca90e4dfee39cde9ab07124b2885da919e333892b0234fdbf89d6713fa537c4a31139dd99baaf90b73afbf4c1a37b3307c0243f21e751af9308a4be49f54e83f302b8a5afd46fcf237d4160cdc2a4d6c302844ed747cf55df9b207dac75aa15b4fbb22397d9208344c9b0c98ebedd04330d27fc07bc4773270e80b622790ff573e6d2c008c3e5e0d12ce7d05ccafb6efe2b891aeff29f803152d128cb696f5d52131c3b90d66c7578e4ebba1d0c52a89d57f6f4b4f6384e22907327ec1c701028b64768500f6824fe72b64686f5f4ee27fad7df927254e228920a70822788ffe26cbe6e6099c7b5d564f945e2292904b01a0c1e7177661080c169ace7a148494f3dcbcd213146671a0681969ce94d6d7131f243b8ca1ebe4ea7fe287ef32a8468354c9cf02d2f6ad148682aac3ca0c8a52b967f8ae043a1da08ed852cccf5e492af508b767a5df594c0742471ca920759da1a69fbd6981e70fe790097bce4f7469b4a59acafb2c94f3695df90b654974d4e05c59058c938c88606f6175bf2acd19fc05f18ef5ada4500d725603b17bcd0dbb949517eeb20eba9be2986d512e5cd2a8fefc8deb20684f51d66b0ad4132b122e241b2074b94a43c713144ab36eeb7253971323299b8efa5062ce60ed0c9a23f084b4c58cf5ec29b3999bab37d025ec3c0161c1a34fdddffba4d6b6e273fa29d1e101443d3882054ec92d3833a3f22500562244cd945e8240faa0c5600d54314e5663a5202e012b3b9969126faff2b8f47972e22e7e79e90b8e72373b70241ef7fa43dfa4421fd50cf7b013cbbdad5b3497444307c402864809964b5f583ee8470b64e16db6a440cdb49dbe3bce9f09dc77312345898905f49278109ef21eff540c5caaad289bfbb043ef6110eb232d197f45b71449c8ed9b7511800fc5ded893cfd492f53d7ea59e5e7c79ea73dd43dce98bf2d7fd74def0608999690285abd554257d7cad8f12bee3f05ce34b09ada45d18339798fb0b5bb1a32e8b20c586aba3c273781e288f79139b1555ac77e516eb5301d4853c5a67ca08a358b99c65373f975f74d4264c9293002675a25956abbbb1ae270f281120805b6e75b86b587b10614e7c5dc63c5f5f1ab47a27e57aa6a8a7adc45054deb42d33f88d4a27fcb0b0b3eff78bc1429b583fec4219172d0e5e55db2ceda3bf0212e8a3c249f542b7d30d99a4c9e7b62b3332571f95ee8aa325b5512106874bbc22275255b846e4e4592393cd7a4ecb2fe67c4bae7605d5e37fb30a4089bcfd5ebd2bd8554731ceeda0a7119ced634043f830c172ad572e31e6186ba32a04cc300271d66a8b8cf3dfbb15ad6a692b8bb02f94a77c12fb99a0c014ecaf78887fd4799e6a2abbd29f15e81ffa4b2780fd0f72e671055a6c641e2d218743f84fc550cd73cfdf2b3b28f5f946e28d89fe650bcb2b7ab8e5b4c2d7bd12a8c4cf7f29edc341eb2e23ae447b4becd37f6103ae3b7acd1d71875ae6effaa0bca210d99d53146289dddb895bf8975a29e017c42c24012e1af9bf81d2dc112f29ce68248b56dadc47ee109914c04060e4d1f7a12dc0fee513303bf1e9493838ea6db9b584d6a92d46d9acefbace5a78c816709ea1edc409e17520197f1e9ccc9fcb23db80cdae606f91e722565381ea1c60c1d7e69ac7cbfa3da026493bfc0fb5ec26b747f4ce15acdc1ab3d4861e36e2ecccb58e7c3b215c1033f38bcea2566f4a80aedae5ac706e26112d3acb533a4bfd40da98ae27700f843f1dc449b9222067e0d1e27243bcc3091b82652bd91fdec7b6294ca29bb1d3ff1b0d2b8c4614aec05f9bd6ae69e0e992e550aa1af4f995963857db419628e1cf75fa2abcb37eda0337d66cac755ee1ef77bf8aa1d09f301b322a1f7760efc75a0a33ec4b5a845d37558b373acd9f43fa11156d176eec0070c659ac630f7a2a9d656b0d9648dc925fcda227335c10641fb1fe0b306d7e11c49c9c11c7213e07c674b6b7ad478fe4f21db4714709f8dff4640c65ad542f0ddfcc75afa74093469ef6d4f86ee99b4c32427c5d5d91209be9fe079a8f5505b91e1c3f39f3d6b9467b0352f5cd2cc5ce9d7869c3ec839e41d8c18048bfe8f3113df5606c29616a94a41ea6d4ecbac9daa581111b1f2d112a3414b3cc87ad0dc06c00f7f4441ac692972cd65b53fdc795bf1cb0def25c2c49e6fc15b9f6823c74ca995f31cf5363e29f2da745f02089bee6583eb26fa6943bfbd79b6fa109be668bc08b22b88a97dcda8139e9e97f83f6e331eab18a74d894762d77326342dfd497ee0f0e7385de37b1739f81a8d03207b380d10358dd7158f53174334513a851ca40a3e6153468edb22ca9c0f854ee9437c937c4be4af8f0f1c51d8d853c1e390032b51eee357191f633c5fd6d8efc5fd8774e2954ca3bd94e47de1941b35f811434ed0ca04cb30343ceb4700c4656a3050333613d2489a95726b231732ddc6a482fbb3eaf2135ebc26dca1aa3163f47e8fee7571574e53a98dbf0f7a3df1838a2ae1bfe59742092b460d15d56b77b5b853de2c8040085b15ee120652f9d29a7860d57c26a11ba12a05438b44f492cd1ff2523f81d0771e391df7382db4d915e6f5400659d20cf22a0f469ff3350e6b739cac4331c51a9982d5425fb052ce3addda366f34b7f067eb995e5a59c059a3a795d0990a31822918c96f3721402149b5a635431de5b4aefefebdfe20656483b054e497239f00f5120401fc3af015913ed14a30fa1878071a2e076dc9031db0d3369c6cb778da451703c469f70ba91f736da77883b8fa0bbe9f52625da85254fa20084e4fc84bc866eb9c3c1eb27b801b30ee28a03c25b45edbda38de785d799e87024fd16f21b57c0eaed865315466db34da93a378dc93f6a5e11629784953fe51a6b750e86dec90b9f0aca349beb8f11170df7b360d83bb78c4d2829c56e277f813e75d118445c28df2ec071d7dee43be9937d4a3c91def987d7eac9e10c1a78210f3ae0b54d58977b530d13d9fe0de9eae3f8c8059a4957f966478416f7933379667731f1b079e607923f150c614507f2513056bdf6905d990c381563f5de9b18c62a813b1a3b845aa3832ac04477230896ec6dc19827adfffaaef5a30e83db4bab33c4c4235a0d9348abf3b91d0eb7a465c88064547763ce830772d85a15775177a5a07f122cd333fd6eade208483ee7c18efae7379979333245e0d407fe033e3adec02297318e171e7ee3d88199e621f8173197aedf9851f85892c3e697325adca1ccc904bfa88712c4e1925406ee139520b6c8b12d0b87feead00329f9440867e5bca0567e60a7e86119a84c142228bea11ec7fb44155eda731afd590b2862826bc1fc751b0b8045676b9100854b27b8050abb6561ea9a35d87cf94f958bab75cbf5f5e6ee6ce6c560b22c1f26d7f35530631cc7c285e20846a57f9bfe68ccdcab738ae84206de49e1cd46301f7c7951ccca76816cf43df85596b48609096bae57e163d9c9f090c3bfb0ac15576f622694e152e223de4b09c4bd90315e1d2e40ad3b3627a26ee0579e6471aeb6e73d285f967348e6339f48db8c8daa080e868306d2388aef7c5e63b505136ed509349cf349bed6771bbe6aec88750b06f839eb921bbeb686a4ff6e03a8bfe4f8b89e8f1a3da9e4c98b65614cf91bd0aadfd45c1e9ca3ffbe91d3a7464b7748933b3f06ea6a56332e9913cce08173283bc349ed353018468655b1c3cb939788c1607dc7ba4735e9860283240da5a3f5aa02ffea3ba1ec83e274d786343c33a764b70382a30ec22f7a8ac32f345315a05d33bf7ee947f74f6733c008a5b1a75904082979acfd719e39ea8fcd34c8883d26fb8119947794725a3fd19d1d076b4e1fe6e17de2c0f21b5307f2c1fcbc7b30f29e95c1fc266854eb7016206b536cd5ba10a87ee2ab51b5a72e084fe7496c7eb92b892875cca2ac8423c95cd156edb274c052be0d4c4f34b7200d45518d7b4b058508c069f134c6b31c65d8eaaf581dcbdc76f2d794baa54f876fb091bcfc64730f92a3951801202838726836e8421b9b2720463592b32d22e766c3e4e16d390b8c7a44e786349f6cbff4f0c3ad93e2aea0108f37b419c6625a9273ef27050b5fb417da3642ed7bf0e89aff95042c8e533a73827a3e5a9a6182d06c196b70503fdf7f7341ee730d43be78a9be7ddaebe3b4bb2e507639098ec0579d0012e4c00b8615a349e9b959e930e96ad4efe874de32a9c878fc5d44318b89411f4097a6b693a5b32de4cdf9c336cba135322293d05fc8abe6531140040c962af9925207c1c8cbb318fe79c4f51a0bfe485c0c3e3a596a4bdcdf21a9487f6d374a9fdc02d730a8a61fb9e7006dc89c00326d92fe490e17a986821e898268660d83aab32011559df326d50bce408d806843199edca25e3f19625c247c2bada145a988075378ac9d4b1f19907505746db17d40fbea57bb75dcf2595710b7245b75e96be66d9fd1493c4a2cae0b79530b165c4ff5a52f58ef322dbcee9f52a074a2748f542bdbb269638a54a27776383943530712a93b565cfd517d5191a3e838c4e48f89de63ad282cf0eaccdec8258f0b5c1e920e80d389a52e24cb97923a08c18f1c97d72033c220148c588377a8308dea4dbd2ada0b3d37080edb3d151dd16354a6c99013fd7e03a67a235cfcf7f1fde0611b18d4fe65638db7130cef1246022b7845556bd13a72231b754a27883a33ef3767d32e854643e465111b0716eeb816f07f1b028fc158fbd2f85c06d931964669d7e58a3f5b8f36c9f029d3e643aea1423ab295e246d438344351fc6e1b57db38ffdc2b906341301abfa0b83987f1f10a1f959d688a23c6616dce50830801a9b2351deadf70379c027f03c3193cda9eabdda67c487feae3b537580d8423abbc2391583299af109a92d01e2ecb2df3ae30643313d37596cf74dbd3a9213752d26801a800ea2d6a39ba1446194e089ad32c2cafef3e883f78d439c8ea1e2f54191c65ac2e7706d5c46273c2bc12e36ce6ca0fb66afba7245078d17e4f634846aeb743a40704e4ab3d03dc295330727982fc207b63b9edc2930e6044a35b2d377bd1f861240500ac7009948ad29f6947c1c9609aa3055c5ab0890e8be07b5d0b0c6272f25a28e868d167192a0aeffe9a5d6e4504ed12e036b09c3ff76c0361b59c44e19787e2832f7b058aef88ff151f24caebf76ce91503a36e5920112c2b80356a55618f17ed778d0526d0446d6ac707d741bf5955b4eba6f486a89b3879ee2edbd3f8fc072bc95ad33bb0d5043980f920c17884782654d7927d47c9db37ee7c0edafd9ca46b7189d6170c469423f73c24f2a7fdec63ed4235e646b8dc16070d22d255b6ac7dafe77055eb0b79a2002b2d755b75044851da0456617ce0380151fff7c4d712c2af4513bc7e260012e1a34f510436cf596880968c4ba6e4d46cf0e60cffc6f0fd10980230ac7f77e895329d4b017f36e0bc7115b0bbfd38495d9c5573e8d7f1893d500ef0b9332f63f4a2f54b13f4e6929cc755d5c6a7701cd4b9aa4df23b926d2de1bf8256093cbe7597d743ae89ba3d8af4e722ff747a8454e21760dea9d0ee7ad87d133c218a76a7abe8fb5f0447145c257a367c8aff26fead8d551a20ffeca56014d03cc44d06f370631710ce56ce7a756e131acea1e6ff6ef3bf47f610b8adebdc713d884b2203da4ff8cbe898d00d52fb628731c57c630154ed8bf90f5d9c991097b7b6fabd4f6f939a8261cc4c762ad800090f827f444b4afe441852c9ce1e33ca4e5e9c7718f7f9e8f7edace7dd5b6a3803bf1a91b877ff2a2921da3ab3fa5cbb851a8f81e0a2af8504524ec1f941e6a2bf61664dd91a5e3d3833176b2c202e02feb1aa66d2d9bb4c873a95612344b1f792a1678cee28e325e27050de40f06dc46a06214f2059e2522931a3c4e73369cff6016e308b5cac624b59cf066857c9d82f9e106d181b841373a7c78e21632517c007a84449ec418bd7adc0b9ccd119856d06f58a5ab5bef4d5970a04ae57e37187da69414a3fa1b3d185879e98e40132580bf89250c8b3dba5b03a9b2c9b1ec079fa18f5c4b7b6b1b2dd0282e4bae386a019e8006c84dc04c7384eb63fd6381793221faa97de4eb546da165f72925dcf7b13b28e5183c888cc5f5756869d41c9f8cdb7fb574d61e4b18bd2c0786b7eaa5527dec07cc07d332cedd80b63657ebfa39b5753e62a56b9d0b1799b6b6720852d8ec3e27376e038d23781a105d6cba8e80f7a6840842e305da9f6c77bbfb3b09a6d750137bd10a4d394fc2d655fccf6a40f9c0c17e4c9f097406525f730853396199512d2ab233ef80421784617812bd1844861fcd378289bc1c5eaa09311308cd993ecb61c4b6eab64f08f9324f0a591f39196cb32c116bc338507d5415153f3976946c341a314584cecb3f0cb3eaf49d203b893cf51a612dfa066078b680caaa532257eee7e0400cc3e9a5b2f196c92ab2081a0238421f32e42170d5e7c8be5cda14985f327b2e60881674f92db030c71cc060bc6bdf281228f1a9d8153ced2fcee51fbbede8c74a3573ffb8f05ada9af4c67bb377b6615ecd296502d20c547232b450c2c90df9f85c047879348f2581b61284752a60d1aa39009303f6724ca97ee2988aa350890b1b435a73e1fc2b05f7b38473bfe78114eed8accb6480e50892c2c21e2abd1faab329b6effeb8cbf8b31981b2e4488a63dbc28cb97724e28674d8bc10928b1438f043b1cd5f925976f03c3ec1b1fe3790a9ab40f81c8513ee37a294b5a16bbe060b29d75cbdb048b9c64d86c50aee34d0fa2d6f4a8c84a4b032df96e4d354daf61b122902247599165448032ac189b41d213a3fd1fe8083526c6e1e80f52613799d27a78d111fa57b06fe5d11ca75549cacd36d5e42d4f2a3455fc541eee9cb777404dac8c19ee1ce90424ec6d74405d87eb5b34b89801c6f1adc913522960969c5284ddc0dc1c2497b69b940a0435b88a41e069cd5f91f70c72ca63988fbd81a33a12edc8295d08ada0839c6b5a03c5b722b8192e93b1727be86e86c19a0fd2aae695619fae6b36cf7bd6b3da4bc954d236a2a2ee4bdd0f358938ea31dcc2c7928540980f89a20b619834ef4ceb74514065157bc374b0a34e3c5182daca2d7d2388ea6a485c3a0fa85bf0e740bc40e63229a41f7395f2e36257895c9e8f09f52189ab060c064f03a2f78b751d37ec4c7c50d89f46cb349f76bcf91bcd67b4adaffdff009a93a05c7d95122512252f3c55ceea8d89d128a2defd4672960e5fa6929af5bec8640748d1474ef5f5793c653b203e38334995cc86f78ba8e5cf33f22271bb6b602c9c4ae4c9a0d6a722ba606b9f22e175a64def04fe9af9fbe279fcc38f6bbe2775482450adf42d622fca10a75fcbe58e45761f8436959327e9fd77b862ddce9eb4200ed09715352f8c9c4d97b6a3b39a557d48f9060f4542425a6ccdd85b51ac3e4aef7073f3a33200b79863ce8568c5f0bd52e7b48b25e24f0d9c5989833b0dd2b11552ac91b78c971a9fe733b787f4af06059c06b4ebed24f13f1066b99a808e0974ae92f5003678a463424bd4ab9815a70a422f6cd0d7bc8945fc6a9a07da3d7f3858c88d43f3fdfc9133b4d5c4e89983b0164eb5ffc47b19e88bb14f9ee27298d37b4719f8e746b0f47f7662983c07a5f28dcb09d9378642742b7e7692e92b11807ee71cf1e9815222760616ff98f07b6624542d8adbf62608799fb157f194a286d8c90a619664557aa9a68b9a4561130fd8f0e0edbe1659d8fc9d286a76371f78160da56ca57319001232d5ef6a595fc381832726bd34b17137d802fc9febc987ed22a3bb6af5230c08afa01cb4293a8d983fa4fb9ca16a81c84a83a2e0157c5084397299911d251372652f806341729b6494a7351489a96d883805b5d46f794f07e79aa421efb3e570d79f1d46ec3e383492d8a1cbf401a74fe88ec9a023b76bb5165f740a142c7e2b73ad6c884d583a0bf46c6c338d2bc52bc4856c94bbe987ee9436d050fd016763c6b29f13b2a99f506ffb3837c242c971833f436fad43e7bfb8ce61dd6897c64a31b962b2928965993b112b1f1ede589e1c5229873bc50f8913b1d096a94f215be51b8bc75d56651794247906ddfae5fd242bbd609336f72fc112a820c0e47ae340d6082a93f42215b0e872f2926e1b0350392fe006d492450bd936b1f0ed9ae0d038869ef1724e98178121404edc3e90c2633c75f75452cd3a7d818de521b0aa597da2da568a430555adb678623ab11c8dd1444c25d68594aaf9dbf2163d956a6e433bec6faa3c851631da7300d800fb6b88af4d1fd67a694daf450a49c065d406be7a6ec7fff41120459e6165d30bd475cbbffc432976b8a894d8a7ad774e162b0ca8c1d7170bf8c7da9c02737ca27f290e5b3fe8052229027900e745849d62668991ba063ca0916a5aa1a498320cc37bc235c8f8edbf736b44c528d0e13519d78740f73d216a8559066f4033a48568a551130c3a4a7bec52292ebaf109d081be5f08f99993366a98acbd76f7f2638e03ee3d272cd14c404aa099795d3b1e207ed117c52ebb8493b9cab819338f34009db11b2ea0725c7732f6cc1271bb736963b6d8746e04c01f41908786e3e25e87e6f34e78fc3cc37d816fb3868c8cdc225c961a4faf51543bbb090bb7a8bbc922122538b82ac3e5c910f146cf24d597162dc984ed9dfb292efceaa88de3d9a2e31bb06516a5640d3f443b2a34f6e9d20e00afc62969f8f8a106f0900ce0c75a276e18d4ca175bdf7404a7b5d0f68cd8ec8063c36511d1edbed533733d4213a3413fe5270b92407e3962474aa67295eca1a58a87af7055f38977621898e66bf4b445085deeb45f89e0abd7fea217b9102d31fb53af2fca022dc4337da0f48d52568c342135f119eb3c8d215215c6e47f3a9e1c2e85ad0d68ae020f94176024558c3a79dbc558df014c6d0972ebec5d3cd1f306d71303972731d2cf83ac689ada28b82e147ef0967664597c1d9f3420483053503d264bdf3709b685164960082a5309721ff9e32e1fe90150bc261c38e29a5f404765cf7a3f76bdb36c0c19f56ca88ef09df84dda1af777e1575d9a161abb60d2ad89ef007d5329a8726cc8190486fa1a9aa3812ccb1eb45799a421a19402a7f4e862db03de4ac4e5ec62e4deaabdf9d77cb6e7a042bafbf6bc06e80e7492c33f11e3b9ae33f684e4d5aa07f34204a63cd88f6902b2892fb7a298fb02178405b5ded4980a30c016e78a99ded063a2eb9e818e837f972d8a46291b255568bd5df2ae752da95adc6a56ebfe5610294787bb358396da0ca154f3142414807dbdc137df0c0e2d478b5d1f60ee0227f09fec1163e1463b676c02da06925403ff3a3383855ff057a6092a6bc499b379eaa874f8f3878f4743c6ba7d3c36e2a475d77b4d1178b8b70b9bd691af72457b92d4422c21e7849fb860b811858be8aa3b3a2373f55f581199062b9b01efdbf58dc28741d6de4c6f579a00acc20a8232e7bd48c57da0976fada528a3ab78b0c5e10401bd170c62fb31101d4bbda9a15cf23a72a74a25400f3fcd98fab9e7f37497ccce624d6c3ffa3f2a9f6d639d0f8d45302f0291054d570cfa64166dc426f025627c24a68a1a3f5ac8c6c8ba54b6c53c8c5118963a70a934f0c3d4687afaeea1feb881bc70fcc1f3025d79d4e41c0fe0a4b4607270866f3e8515d44011c911317db4542ee1bb198e4b4329d5eff4a081e2da246c07a37b622990aafd4f0c9663b0ae96a0e0408c22cdd2e6e8f419c3bc3c3cb2744dc5911f1d6552a4d8960b51fe68582b526553491d9093dfde3310c4a1cf8311079173dc706dc89f224edd4b734f8cf1554fdd6cc76371f188aa963558f0b30e237d2363d26cdbf4f5d60278241284dc29489c191debb582ddda3d9c99fe08eef7b33ae97e158894243306656d7cabbb20ec02c0c36550591ba604b915e67b0b93014e6677a17f32a7d24620bbe7a469e2ec29e09198944e253465513cecb1e1300c5420533e2fe5fb3894f5243a34fc48e9aeb1b096281bfc9b4cab6db592fd4e8675f87215329165885baf09a8d9f6acee79220ab4628aa29860e5a4cd6e9ab2a92bf6edfe81434036d244acd8196142ffa5073fffe53233ae5bc1bd76da3d275671d1273d4f06d4db3c62483ab47eb08ed2d6268e71f5ebe6615a7fb242301baf877ae198f9b99b4046d97a9c9fb77ed062f2fa028f6df16786291c68d3232c179fadcbb0a2cdff35d1732f2607894c935f387e2af3fa5f125fa38c5018dc1c61da68378af3681654291e8ccace100eb0ad6e6e8e8689c86f3949db686fe1677ee5c7fb9606c337c9d956fb4e4218e177e618d958aad2817d8a29ae947eb3362e6d92657aee9aea459851c2d03f88107ba3a59fac199021ea0f7c5acebf48ab47e8d2e81b39d187de1019578ec83c46932b0aa607db4f24b72ff06ace3d17a121b7c4071569526c2867555b082cfaa247732353f5290f81137de9541fcd892ee935cb94a7d3f42d9d162a7600d86a426e2c4bc633ab7deeb235098565cdc8d65ef78eed3e5706cf7d8b232b039279e71f9afda84927f8cc2e46e673ce97d79ac62c97232cbcdece84b99ae078ebd1dd5316b3dd7c13869cb62e29471b094b549a0a915111524a936405a8e8b621bd072ec9a1fd54a45ae002894598d16a2593318aa9ebd1f8308d8c4247a0ade56ccb383febadfa1e0edc5679d64463ba446dd21870c22f08c9bae0c477c6791a38ef001aca9c77025f3326fae55352e6941ba257f5cd83bf8a70a86d0f77ada6c3206f053de52a68c4142d72f8a43292d22e93365fa9bad1949b685ca2809be599a6a3524df3cae5fd7314c65c69c6a0c0d2d91584c028e831996b17b1cf962dd894554cf88383e6b135c8bbcbc20fb3b38babbcaa0a564d22d72c397a9a12e26dc2bc3a17cf5e7797ab481a1667069c0e5104a24a56fc970ccb6cb4f0d1de2fb7dfd4b9d6137eb5e4de9099cdc71b9e5728b86c7884072cf22b736f2b8b721f27a51add228946416c5abf336ef2277064704b295710cd292689899902faee01b205bafe1ce76ed5ea1f0932a39e4d8d92c4c81d1a0be05e31d1be514be25a23f0a79a46cfd626a1d97219f11844eb85228e489c9fe97d091f32b62a1ea14bc7248e3aba4976f3b5f8a8b2d3b00aae2a2d1a05eb9df2d36f57ecfaf2d5d4761a3a9e2adf0b4d8c0de8dd6f41acf8495724ba1c9ff85046fea0ab5d88af9f7ffb3aea17dd26d53e826ef867de8982706a237f9df4c146581a1ceecc159b127c013672442dee812438b21b10170de487b5df75eb85f713c0848c900ded95028e17a00f92a2976429352bc46cfa1e1f425a3a106f4135363b1fadd2abffa6fea7384b7365e3432c00714b0456542ee835ec6ff67d8fa2b5ff1e81e39fbaa42ad29706c47be0492cd11d99c186615417397054c0b3afe7c9117c0634c2c7c8648f5a0f64c38fe7e019da0e4e28c1679a451820bb5ea074f3611eb127d3d6686c9bbac29a6e7628625e7dd7d7c651f4b79f7a21778f3818ed64da35cd5f726dc8560dbd7d144ae8e9aa9383f1910818f70dae637dcab351560f32c0cf53795af58f2792e53aa88e84a628a29da392a7ad2c968df32f8be3dad4bf60e235e9914bda7620edc62b345fe20f60e4e85ded0639798f04f598290d833710a8c5b4ab571ace8cf6e8d9f61e08bdf677e500774699446b4e3a4313d657316ff7a6dadd519395a0c58e4f4f3094ec2f7032ddf17c2400f115e953d4d92d05a69429c0122b5448b20c58974c4c9eb8a207df10d1c4a3677fa6a2ebf64388432bd977e005ccb7d8dca07badf88dbf8642fffe0be7919a98886248e8b3371a58b039cebf1304af0f9bedc94f23c6cd187f627b7e24e6de8be0f8476465582e3bd0043adb90058b211adf92f8c200fa4c7def946c9565fae58b7db9d028993a921fbfa64ad140a8025824b8a40f008b0ded663d98ffc3a79de70dfb6e87789c0b9bd959513db800cd05de7da04739075d2f74fca4302a2a2343cb2285bf8acb1246d741ce4dcdf5cb357fe6935af57b71f5fd063845a5b506ada5dcce71579b5a19dc2b492618c1905a96abcee461c3e7bf321b1795360f75cc14638af22e5081563b7b7e0b70a6d27e101cf47debe4ec5066bbd9c43e498590fb5a70da15c11d8b529c63954a5d73c6c2f95fbf37d0fbec50805f4bf5c0d71473c00e2220214df1690807d8e409e007f31f91ce1e87fa59a9b488c66f2ce30f6cf8fdac65e7337af1af1d5b4288eb8356818eb408a863f71b967f3ea3f150cbf7f922daa5d5d8ceedc75014316a307dc43e68aad1c910935e5146005ad865dd595f0c8dbb0a22ba7441046e36894722efca9ec960c12f90e6ff0f5986ecd81cab99873226813eb477d3222e1e53d10ab038f9af560c57c9692fdbb837fd91696ca987d769e82f4211b89d8da762369015caed63c1235df34179b5b56b1c998404d7d5fe7500ffb02e2b5fbea7decd1f5d5db5a4896f94ffe9233c9541210ad9dbb98f4ed671f798377a145964f81f19cc767681100a68de8b041c507ec298670eb4667ac3caa6aa65ebcc6b5f070f0884675cef5d8d7a414962192d7188a130af8a9d1be6c1c76295cdc4f6f9123c7c1fde66642bee9ec29f97b5979dd293fc7a592f641c2b7a093bb109e17ba0bc33fc0b96418f53e0452396c316bfa54da66fa8089f51a8dbf591d0dbfd8e3bb43798c08eb13facfe0c49110bb7cb5c712911802a5895b4dece8f87976f0e8b2a41820f7f141f5feb7d361f6cd702fcbf05deb55e0cb677349a18fa23438aa2772b7ade2a866b53086a63b8c1cf6eb99ec38e3740394b024ad2d798cf22e8c7cd57d441d8e3adb0fe334219d9b176411ddf3ce5223022e117aa8378213558ea59e3f29611859c5bcd5c1bcd75306b99fc758d13f4ca97ab7c50cfbbb6b92a3b1ab833506dd42f5a2c8078393c2e91fa5611c7e41bfd120eb82a167356e0c265370fee5c15bac7a692072b0abd273226b6cb4adb6c759d2e7006d84a8ac65c88c68b39c54c0bc4a66f5196137a5cfd697b8db39a45364950f942f176d0ca61c82c3e27265939ffebfd630adacf3e2562731dd27e9a3096479a838722ce03cd3aaa34d587168f36271b21d27e737da168677fdeb2bb259dc6ef327955eab88ae5866e6dac185c852811f0ab320710ab5cd525a059af3c90c6561a77ba6104da744ec78b99f210feaca1e8a6085887e46b3663b4e6f7c3fbab263583e89fe3ef99173c4d05f6cae59be035416416c2c56fcbdc6104ec6a71e5120dbc69d3879faf31debda8d901669f5e27e54c75b2caf0f041844735ea12f8d299ac300a21e86a9516c9364effdf2db4b12090dab913f3c04ab12400b0fa42f83b858fcc3aa2abd4d4f80e5f341e3dc6884d1800c405203c89d862d1714a0764d5fd07519fa0de6f7c963b9c2ff4e84984d5572ec5e9fbdf1d5fe0de2373ef996b71699a5403d48d7ba8cdc8c16bdfbe812aaaf420d0f430b35016d3b2a073837ff3ab6d61cd463267bab41ea958a9f8964a0d687b212ec349ac2a466943f68406fc404edf89e528b12e403079a2d33252a8fffa71738b958e62205906b1b294c44db1b4212d8460860b7cb245d993d7fae1173209452c7acdc46a8930087f1d63a2df18efd9b40b62e20454e4aeff9e987a21bead1e7fb1767ab84624a8941f459f14c20d9a24bd61523aa8a7408c10fcec764d9ea42822894f1faec9f3729766c24d5c4050de296ea7a0f2bcad728a3f2e8a236f4fda01d624a95f0b1bc76d5496516820b943ce842ad3f4ac9d7d8534221cc369e1d0047fe6ca1b26189a7d572134bfb70ba8f5003bb94431bb0cbd772d18b2a6c07923a9553aca044bcbb77686d16dcb7e77d040d622a16ed9fafb48bb5b9bb434fc4843aa281966d0de380667a40e9855b245b56cf810f937c36ad239d2fdb53d2cb662fe906b16a7567fad96737382d9d4e92c1cff726c5d335ea60b04516c8a0df25207a1d2b72487db71ff6aca97be89dad0c8bf77d405daca87713f5ac346ae42a1fbba27df1ed4444211ebc6de87c90f3d78c2a2a9828eae60d470870c483acbcd04048c99f39610f115204dbf4e7445d1b95cd654c8ac7d3baec169a89967a8ba8ab498eea4da3903ed671ab4799079eb19c52cd2991ae2b5a92ed39e1e41119749a8e944cdae0d8159e9006e26889f123976c46dcdc2bbcdb453c2bebfe00eae5831b66f2ffb6306dd485a0c1097d3b5111cdb50847bca3e874a7e868d419840701939f6d628042a7913bdee896630b2ad35d79637b5e8286239d71264ea2b8efebdfb79ee789edc3df46157ed858e797feb9cc7d71b93782eb84377ae48d1025e6a64d310f74c1d37df8a4181cbda760e4b131ecab0f3c5c2e4ca64a2b18bbc660227f35199764d5ecd956f68898c9e05137e75fe16ceba121a419fb99181b283924fadcdc15fff984748f96c60682b27705edf4e9c173d95daabd9c95d29c06f90921aa6810f36663c68ed1244d3d5a984e4d6f0f4eb288d0697f109e47358f57798fedd7179b01bf1c5c1d6b100f1ffa3ab186f10b4cb5bac3ea4fea6e34469011328e2d15b5cb716b2704864618f948244c895d947584608c757d7005d05435451a31b9fad31bf97d53d7ad236315c103c24516c10639d09b9641016f6c9dd629c5499805dd158a6892bba49a75075d89ea74a683220288c07a59a1ad8a03bed14e767d86287d19d9a12a70c99aadacd7b08b9694d652892bf727f3779be03d150b99d00cebcae4bb4f3a130b7dbc4e24b3d1af3a1cd0bfbe8913efe2efba9399288d8fd612634ebbd2e46b7db5c640e595dc062ac408df5575668d1dd053d0967536f67e3d934b552b7105d5b3bbf09cfb30e7a30cd1deb6534d4f47299e85448ccd00535ff9536556890f1d0953a0e2b0e2772c891d21ef69328862561e89c94aaa529e12c94fb504c746c8a8dfa5e477d0307a5739f9a10f641f112bd92a9f5af1d6db4135ec86c432ed3416ad47db2ffc33c0bd7bd9bdb2eacfbf28e3e32bd8926d0f8765f44d9eb22d5b9fb0a244f3fec945ebd016b19e5ab68166da60f94d4a0db1c2236a9fb56eb4d5761666977add315731a22ca60a558e60fe87e87ab8af812a24f8ec006173da98563c59f953c6cee08060b625e51365e2d66593a484e203e1585f83031a1bffdc623ae30100d2d6f966dbafd212a2ec9212c1f412c69711ea5a018424f6dca8c2a9f619d794dca1366b8d42e5b58975eebdf185141157d497d6ef93774f08ccc0c8ef10e32b9537e089d27f1ef2c1759b1c3f758d38c3f41522dae246348529fb6ffe0d588028f5fb0d182df227d22cfa0db10eb9b0c612bc2022bad3248cd99a2771f549be06f2dcf38f43ba3456911cc164be1d06b4bee4251f4dd3be52164cf4ba581168a7f498ff39fcfe7be0b54720aefd26619ffe15d4037271477993155a99d00aae68ccf73e9c489c9e6159740d36d8f95c28e5d0cf69e0a4ee17f579815390661e3c9a279cd90955eabcfe2634eb4f9ccf51d94fec9d64fb1d9bbf416bf7235bad33701567ef06155ac3289e37a0747c5cfd49df80b9dfe04896a502bbad9d596edf8ce8c736835027e2373e2cf55750731ce7c2e2e64f810d2c0446a9fe4e3965daa3387a8016b4a90e5d61c4e0da4d5642510fa149082d7242639dcf0f35aec51ada46941889f8cb8b8eb0cc3e159b490780eb1362f5dee81ea4df4230782b9f626eae5ac3c14dee6d5685e29168ae02116b63f543c647c35e652c698255968d93f69ba2bd9bb2e101a81d74f7e94a8f02a26b3fe8307347665e0f0e19521d49417eef942eeddd2113a9b0b2eca66788dca62382ee3248733b207b0265149d74e7d96de2547f32655c4080b5b24eb0c251d783092d323e83e40f2e0e0b4b1b0f2614be37791563d3230b20ca71ff880117c0b52de428278d74f2214a531c67c9c56f8cf29f66be124612078b88c98a535f7195b9040db15a4a774522d16eb3a1619d2388b72b5b9176af5fa804a4ac68be4ccd182a32f62cc4b1fe7feb75d5109141f7cadaeff3a5339d85c87b0efda8a68741e6ec3ccfaf7dbc0cdfae5fbebba5056703d48a465a17353d0fd6d2e3c96001e071e6f14796a69dae925779bda6d26ba67dffe7a332b62a49d08af52d64c9a2d0ff01a11ecf526badf1953bdbc7741dab99704d403c02523c5424772802e987a0cd0a080a2a9e38bfd069be358f71b9409ccc584625ca08d0bcaf1a2488d3ea528a9fd4301ee059b46a1086b6568ffdf3b7f8776ddbd74ccf893f903d2e8b71dd007d643d115f7cbb1c25df2d6a8c42dac4880b06f0d4999eca561e4240eff7cd3130008698d2e6550a9620f1ca54e10d0fe17e99bd84b4d43f61398c205a89e9fcdc7f1c8604658af5b7c95622fa87328980aa217c97376b674cceb90feb43610f5db3ad15d36189a2fcff14ca1d32ebccf7f2e2073d2b4558587e883c762d09f111615c46cacb31ef7635063c14033f6d83008b92b3f7db4a591daa6552d736a1ae087c61080a6f5e03c743dfff4d973c2bd7e44aeb0f6f1e5bd445b9234e620e550495725a485b996b34a1935f77d6834349415650aa90999deac2eee1d56f2d683f64f51e53ca5b11bbeb770792da1d7986e2b2605e027afe4f4e32ecbaa42bf028cf112752bd14c1d83331cb9916f0e8d8e49899172ac5ea65624738160a738fe4877ee4c6dc81c508fcd8a98d627f0ae39aeb58bf1c039ed415697be0c48076d750ea29058ed932a5806a69c498525a4feb21807087f09dbcefa5c320869b523a44bfc662b1c91c5685bf81ca990b94bf3e55da955930ab9b4750fc206005100fea58c78acaf0ff727e2843aa58991a1fb3bb93ca634e3e023c61e608628c6ad9d4b131cba9354667fb5522a15666660c801eebf0c9f404ec031db2acbda3e21c1e331e57fb1a97852904a56122fcb507f1696196187c1c2da322c0e6e8da030f1c3d09b4c610130bddafdeb10e43abe2859e0b8a13a4647600c5996d889c6be76c010d25489bd42d5ea30ae953d14ed98e5cd4e0b0b68d2a8c981f8a3eb7d8da6b5c3b8a39faa5ace24019c4c99c6e0305970f450a3478fc5963c77d126fd5971bedff2604436fd95d575749470b13c32ad0e6e97adaf4a7cb4f0ad46ff8b0bbc6784c23902a170fcb3bdd0267037761a587d3af68fa7e4f7d9109dc8e88a99bf4fcb3d0a9a3762eb7da050575a03a431f6f90315230205cdfa389a90cf4590a064938ad461a31f6645c08203d36e727b1590d68895f09b955514ef0f83f3b65b653bbb9c588e8114cc5047545448ae946c5ba8ce4a87c228d57fa196f1b1635fe928e9f068c3d3f4162647c2c76feb8fb95f162dcaba4209a9997e506a6af997566ae5991ff5aaee97916bf1594f932abcb2cd35437cdbd59bda7576d88fec5aa8773f8a7f6420a538c3147fdec6b8914248a2cecb692a5aa6398e9a3d524de34878ce18f49ed86d1477b485c83078a432f69a012bbb97e1a87878f80255ecda059e64f5e61443b9b65325f326574780779d98b48402de6909593fe45c3fd0bd753d1041492e9a1c1cca0580f8e5303f6495d1654914b6612e8e3174e4957c61485657e802779ae41b6a7cb157ccc51624c9352dbdbd6ea38e134530c071d58f60d379790ee2487e949d71234bae4227e4ef5debcd0fd0150519220ce463756d90fdcd4627510440f9c6641d59ff60f2f37b9fe6cafb46c4d231e424ede0901e69bee8e7a3ccb8f2ec0914fe61e60cc9680575a1ff121b187504b1f9bedcecdcb0cb79bc9cbba130f6003939ec0a6e2ffc43a3ce8eff424a770b8c2630d9ffc1f046ed2fa6d5f71a90ec907b8529b68b8b5aa127d2585aa11053600f8cd58b8935a80c0fae67b47c3843ee1c8b7c00b1a4952dde3896bb1055e7b4ad03f78767e8479fc255105f46e3e23b4d6107638284ccff92db949f8df4990d69d0c049abdcadedd4054a7a355e79dbe3dd76bac15fcd03f84bc9d03185f27d0a55cd3b04cf8e9ae37ff55f9545a556d1f6e16eed9965e9dd82b1cce87a756ac3451da8f9092b2e3c810e404e80f24206c26d224688078bf6a8e15d7df1f12e4439c914dc8d8823ad9932c8d21d9f6a323fcbad86459432754a74343781eb04e035b64ec427f455e8bb685bd43fe429130f9a81fe6a0a9f5e02a3568395cd3a1559dceff961057026d84aea96a9b63344542ff8cfdef1a82889509722bdd97215177949751a45bb3facd830d75ebad8e7da9d34229898cb905fd8d0da9f1eccb0b1bcd58bc3e503e9eebbf080f68e49a4a7e26fb9c59bc7f1b5abc69072d9d0b15981643dec2955d52735ee1ba677df8c6071fcbf6721c478d9a9ca6f9939911dbaa7b35625c6901c3945c0764fbfd8a0647732a94c438b6c6e79ce1d91eaf06b341868c66524be120146ec0b7fe3637ec66bc02cd2b6ffc554e07ebacf1d6efd189819c4592163a2558df4df8d236b3fef0c248222aabba5a16e5e0376a7843584bb051673a673496f5207665bc3a9e382251bd0fa322eaf4719a3225004e2959e62fcc0adb0e07a6d290b474d4227caef85fd631803d8a0fccaa43ad9dadddbd3f7cb654334d65b970bd80d3b5b3de9dcffb779f7d0540b170a361c6f6b3b3e949ed7fc3687306053a18da3b468337bf7e3c8040ef35c1e703b85be27b4676f9e728c04ebf6b9be32d6214306018d40cda9dfd0d527dcb5390837225babfc84bce252697be5cb2c64eadaeb017431431957e3b4452d566a6226d243a191d523323abd7c0812e87d504593d86d0217f1799ec7145cf31910340a8b213c882c081f00e177e7b0143d331e74a1638bfc8a09fefbd246020d518c05487f920b0e71181e737c15b889a5341ad094474ad65b0157373dc40945e745a896efff0b87980f5b904a368f6e70b252f0fd96bc5c22bacab401ea8974be9c0f56cc7fa13a57d6858db276782e05166483a19b4d7e5e43566f4d2ffbf0cc8652cc10805611bba9d1d0be992fe81ca374c3139d0d0e091f34f6f4aa02630617d314c34a2ce0731dcde0a638c3e931a1fd99872a3d5c82ac42f2a114df970378afe6e34bc902bf448d30c327333acb03bd8513fbb53063758a098fe4e6cfd9b7466380f81424d7653ff865b9f86b576f49569f30a1f2ac180da54f3784b916ad683dc7a322ae91cfabc05ff9e557bdc47f33372c41ab843095271fd0d122231ae35efaf52e9312592cf5b70efff406e2b86645e7b147d669830fc26acf665939630b52cd31fc7814dd2280a8ec95498e29cfc4244001242da150ff20f1c4bf1c307e38c2bfb2b5adbf90d89d3c4f7dba81685f294f1d59514219c92dd911ab1963cc42b5d3d060b3782af4b5f39e87d476bde3dfcb69f619d7f7bc28f7176e81756154020c172f55629a9bf38333f47a10956a8e04b46030cd511b3576b233a074ef92eb1d180232a1adb5e061cb666c7f4e78f3a5da1d36212aafd879ad95f13585631e053ebe2a674774c1986036c37df87d4fc3b34a852c9c63623cb0982ef5f700cab180f1b2f73da875ebc07d4242551107d139029c079518806a10f3f059a1d0af25452929d028f1f11b1c2b4ffba22480f04fde43e46e327dd7f581489a9b5db905a1f10b29039d114e2ce2885ff37b11c8d4ed8209b83c1d30766b1520df811441744323d476120c380dab5b21e3fdc0e355cc17da4abc2768303e1cfe6fe3fe8fa99fdd1cd8c0bd6f8bdc32f8d36760d3b4fbb4b8eccfb0d8282ab92eaa29f8479376abea226b2a9e408b687bc9736004638c130dab02a5727126ab9cb27bdb418bf36ede371328cb053eb5d33f8a8fd3df6f3d954b3516c9426b3ee563fe62701956b9b6bb4acdec2aa0b642106e83eae11f7c7ccd4c3272649fc3ee901b60c0622df2313b2e9fbb386b993b406a40f6c889e6706d387b4cd8055b7ae4e051f954b2465fca60b90672f288f761b0188b5486f612716661ed4e27e80c196ede9d7a21cb4ff50b1e014c9c761a11d19ca2459fb481b8838ea5e584de8031ccbede7d84d83245ca73f36522454e8444c2d4688cdd48347b3295628002f4166d975b79ac5456e04cc908f58a0a873bfde7df2435355db41cc4980c6e89296f0731ea2ccaf6dc36bc35aa15ff910e68ebaf855444326ca98749f54af3befeed97297c748365ff633487b650c26bccd2f1c511410773e06aa8f7e0403c8f38e9825a411d2bae8ad593d08bbe4c16f81b8e97767f41a539cdedbd598c66a159206035ec8b59ef7f251f3106d4a065c34c2fb23e2fe205d49ed52a9b0d3e3aa939178167170e8cddae498d74bd84cb52117ab21bb79437407dd79e0ce77a2dd43b6623e54082e1f2a5a3f6344f503604745d60d507779dbf14e31724168a62e22c4eb121eb8264449a8062d76e367ed349d0163dd98ad305e92e355f52742576a88c4dcd63c52e048e92cd681350601ee6fd68e7833191c2b71843a38df251ec17794392aa080740a14b3b94e8a234bf631428f95c23473c1231e4e0e1649623d0b49b5318a6280028ae4c215b02810aabfe4715f17a6c997123384609fe08d6e3075de63e53225b73a7427af3734c2f67f2c541853f040f7c43b827273c723016481bd031cdd1e371564bdbe728d380b6019a7c1c2209194107b43a038e61ce626f48be4d61889e9d325634e020bf68357a2b72fab845bc50500f21cdeb87fa92c41c3d58f66651165bd44ac3f17c5f5e1b3d7c689141c55dc31548e8999c76af3bade9cd2ef85397eac2d2771c26fa230cdb11bb889c7df8841247cbb1330fc05c888b0247443934cd4bf77ed82ecd572af152daa34757afc8c294bdf2dfd2c6714d5f3e0ac71b4fb21a5eeaba53eb27cb2b1731b6696d91435bddc8c83456692f9fb61e206b0301e0029fc6f0a46515a22005dcc5228a64e0aa5c316a387d9bf2d0af591484684bb2bcc92e289522a023793fe445df6ad34f98cf210be4422b6679b7d789ba67c47877ea3348e397a21007b8b036e79e7ca54aff9d06420965f78e00f808ef9caad3cc464eae6d23ef7bcb7b0625dd046b5543013a200e9454b0d7af4d01aa142eb8682202d2b45d3df4e184b5159ffaa64f19cc3c21046f8673697aff020592f498362f6cbc9529a00c4f2bf6d316a8b19ad7c2c26bfdf51cf5db17f82ee8aba1361427fcadf4ca6f7333cdb85b03562bd24a1856d0aa70556a945552a70e89ca39039038d012c17520e382ade4a92faa15e4907faf6bc2c373bee09118b2b8f3d3d81d97838b76d0dec8f9ea998ebc5962d65eb0e5d0da6174d04ace553f2457e50d8153953f7499c01c1f3e9ec404509f822a6214961a8f36002bf870cd55ae7aab92b5bff4f82ca41392259bb5a5ce99bb813d976c269ccab6bd15be257343bec8cbb7d9c46fa40c63c075ee5eaef359cfc5755a612affcdf9102e57d17b05a4d8871d10819f0de06ebae5bc516a7cf045abee8ff4099491448ff5f635ece6de4292f7efef34279403914ad742fee7481115c77fa651c53e610936b2ba35db176814df45f0f2cf96cede69e15ed697095b872ad00a4d2eaaae2d6fe2d3959cb18e27089ad9482dbd8b07fb27e2adcf2ae4febb48eb00f811f3a49d757a6d53e1bfca2f70487a76fe515919d4ebf90b69842ba4b8e4d5c9a374db5973f928eb678d4b46d76ce715613837fe31e953e0200664c6d9753d798345f2da24058a065135c69812c2417f9ee96228eb37e8124a2c6a473b8a0d592944c748f66d1cbe2b8f8f95a51998a09ed27f102c7996aee35aa65063ac03cbf2c3bca456b87df26ebd25d0598ba608814eeb024828347dcd7fab4c122c1065722f9577f88eb2b3c7c90f12a5b51896c712f5690681b5295a6102b07a5646f0d584314e3605ea2cba4068a1216058555fab16b9cb982b2ba9c256adc186af1bce97583c904bc190409e4386df7df7160316600e8081e09d75176195636cd946e3d1bfb85eb8f4456f693e7a409c4ebaaf3213a228bae3c83459deeca4b3c5b99947c0ff420eef7ca73a9d5f4d4f75da72f7696856253079b882c8d8c87f19888c16961a9b3a7ae0e9d50f42617b52f6db7394ee83648b522cadb39759e087f21b212fb081951b0317d58868b926bf42420d5e730ddc5ede6beb52a0e93458d927d1efd4fb1e2fa9fd604a34fe2aa32d4f5bdfb5dceec347e5f3a9961274ba30abca22e311df700722816c56ae816817a0a0cdf5635319c00bd588f3e2d55658c0d80e45932f26faeb773d278f57bd719b28c8856587fa5e6fb2998944329ab39ca14cc9c3c4131995e3257dc9158b04ffe34e2a4c8fe2ddf3c7d7a689d6279f95557450a6170f23a005235d18b4649c76ad570ba083a30028a45f28c6f398be4788277f04aa6bc085df8ad83c54fdfe2e0e9c41ca159d8821d5984bc3cddf05a75dc2dc30e74c874b55fe720dcff17043c77e8896abf661c5123105cac97f221d26a9dd91135233389798bbd90f4b364e95001aad0b05aa0abe6704f8226696fd7dc9c323f88fe039af2fdabfe2b8bf07f06cc279279f75bcb4c5723f4717e8adf1150618ef6897c7cd5a84739fe0590f706d8939a8f5d25d61a942e332de110c65ea596f6ae6678568441b13a8cf545f71c648d28f7e16ce59c3eccc3302cb4bc7ed776c733af7c573e2921ebbb0b52620feac34d91108bc9324e667fafeb51a8920927bcc8243ed2b35bea11f558a36a541d31d76e47efcf309f5e253309997c89d8e1db85573c6b0131cbb034851facd31b74beb57b836bf04c8c428fda6bcc629d8924185370919a73f9ab8cb50ad2728f9f45ce2ecc32d1168dc7345ee1a0a8379f1e664a6d00061c0586e2d64aae28e7e3fb3370d3a2991701f86daa0088690fba54cd18d64aba7e283600c8b5b20e94f24396174baf44bd02c9eed5139f7cdebfd8cf2594ffb2863ce62b18ace91e9e9014b421c51398289aeec859c0665f3c6dab9733a26dda7f7568fa83ccf5abbbb8e6aed0fb7a8f76e41797f76afbe38032c05e4d42f997665e14935b73f622f47d1a54e616b32d5de1008209ed09b25e0c72255d8f7143bb98a80966d1d4421f8b3ccf31ac5a1d2ae3e93f0d70c6d29e9655a366667d8c9f69858dcfc3f3ffc06ce0f528bf33fb506bb743889d4dd0551cc224708cdf4fcfa96f6e76571e99ec7ad4c6a86bf063754210de38550c4bcf9c38123528f62d6ec24fa527c0b54a9c3e6589dafefb1de197445206eaf991d5ec09309ccaa13bfc12ec3239106e46686db85775949df9f2227e2e249e9301b029bb7dfc9fa388b8b6360b646d508a25ce039122e3008bfc0b9f731de398e880d92c4f042ee86a4d48c68faedee08819264ad626f89784d509c6dc9805743eed2b2b124ecbc6356346ce62f12f8ca96c7eea291d3be511afeee7a3ac60dea9fedc43dcd4e6d58a18e5a03519c2a0077b0505403aea24d36c1db19fb4a7ab05c38f8e59fd9ba1a8a2aacaef59ce342db360e94885c58f446f1df93f22e2bb096c731e3dda944ac3d4869968e0b94aa476f594ce956a298f8d12ba5a020e2c43b79b82cdd0459b8409d05cd1578a5d448641163fccd5dbf2a29222414f029145cfb2e7f2b7233d729307570e7d216efc51f029a46063b2fb903f55c409f4aa9f330b31db60997971cebf4d44cbec841bb5fc1108b39c38d90b93796417b76d31a81ca971fe628462f557ae8be9fcbbc8278d2633b068c52392d7e9beba3a595753ab810bf59aa8cf862ab0f14f8c74de85541d3955c08431574ec954c1484cef52d1673927589d909a12215d4fe6111668e48cf81ac016934a181181baff8384186c257e8289e944af68d003f144a428579f5936f365b1860f1ddabc4905bd01ca71bbf870d0196fb5fcdcc2460ea2344db987d3e0f2683072be90b63e50adf02fc97c7670b4722463ad3f37d0e52c5fa3ebb5152bb72f85b42df294cd8a6a19720422e4b558630d866de53c46658f89bd4dcb88bc5daa58a8c58e375d656243509fa3519b7fc23b8d8b25dd36ccc8cead4e000f65104773e9169b2e02084639ca14f1dce63e99e624510039c0e40e059c80bfbffc17f55b373b321b997f2ab5661877c768d9b4e933440d4adb0ecea15d00c7a4e63db4e4bec6b8bd15dcd71f2d7caf26756d0323d35cc4511b7c303082dfc619e3fc9794a7b8a2588b31178de502433a16ca446124c986b1ebba2c899fc311405b83313fa75433b1a2c1ed45dbee69ab94553aa672a61ba8d866e393d7db4510c271ccfec60a5eee3ef0f12455252f99dddb2693bb136e050eab225f515b00c5e5b3260b064631c817b2295f235de9df0f5ff15f7165554e0914aa3382e90ad4c6acedfbd08552c780d263062d5d48194e3fc3e1d81082c9a6b01e85468a692ad4ccfe6621b26d99c45b8a02aa6f5ef85c64cf8b2b6d077eabbae1f4815248e2737116cae7db8b06200640b65721486d8f1feeb703d366502bc99d146831b38ba9808f0c438b583476a709153c4dc56c1b4bf4414dcbbaf23f814120ee3a9d8fbf5342d8a06697cce7f0c6fc7c6d059c4e2125817985ead94d7c9ab9fcaba182a65ecad51a366861b8bc72e9319aaf891a774cfea33a414fad3ff436719e914e257d5f984eae905c063afa61342797219489bea4c8fe800e6146fd2533897be05ebd9f2d4432c2cb10a6b272f15bb10568461a00f886e1cdc302e5125444c00510171d3dd057694a58d8acea12fd80296b66ddb0d9be488172f3f266b253e4d7125722eff08fc5ec52f1afc3952030bc52a7b5c1128ddb3382117e702725df00c28cadd2d4738be5259e22b182b01eee6f0114a3dde9798bc166e063010c9d9bcb52bb3eb6fc0a8b997fc990ff4603081d92a1ebdee0ae4e50b0e3b422f1b7687260c20e184d2ccf2206a1a24e1bbae492645607ec5192945a88893adbccbaf3372c45f2d267fff282ddbf79adc1f44f7b84dac6c0219be408cb4789d66098cd3f1937533474523745ff4b24b813a32e126e36f233bbe258c1fc4dc1ad31660ee41781d82cc067d57e5a88bf2f60ecd956a52fb948c3e83a1e40a018a79ff101e976d9c193ffb4c80f225dd09f955312b82dc0ddbdad163d73e59c6a4d7e25c6ae8b5ec94a46bb6d6e2cfaba3345a8536e3f44176f79f087ade797928f88743286a69b88fe07551f0de0caf1ed2ba01a614184d23a7226f95125aa691215742bbb61cdd863f86615c1a384e1244303941595ef32ceb87e86d39b369db5a8272fb385a17a8d262d473445834e2fb927095f6859150caee2d5c1fe61790250bf522baea1d5e2757d0c1d302dd47d717549f338db3ac908162b2e7a0438f6693497bc5e48f517684877fd3799164da461bcb552f3f5ccf37055406801decf0a03ebd7aa63b7e7f47223dc2fc669e67f64fec3da1dce1ce6879a97ffc8b6f16bd8e9ced1435b55ddc0bc37d622385fb821adff385369633a64448db444fe1d033b14678f707ebfac28b63b4fd1f0c4147409c9379c375dd0c78f9a0383efd13cfbefe2eb70a8b0afd58a9c9382c7ef7920e76d2b44bb5b3bb436c5c94ecb83070d575448108140136f51445d40270588ca4414bbf2f20463d03f31f1359854f2ba5fa23095ba9ec2bca82b6284e41a9667db222ebea8b7c5e513b18fcd807b65ca4c0c400453bc8d077c228e73b142a35d091a337747f5a8d3873826a1ff0127adf377cad0d912e5a6800f2e3608078c6011f44f049cd4f1f244aa9d509455ce0d2659445fe03d42e5f04085ef00ef3097dae9aa22d4cc19d5a80a1b798fa2752af2d4387d25156debd10428805ffb26f5b7e166724b41bcec628567619bb6765dc01c233a9cc43a41c3a9d0975a5865f7e536e2a6386affc1b23933c3737a3bf86059af6b762d352706da252515127c998d66f5a1cb4360c87c9a72251710f252060296ed8b9158366b8854274bc218fbbbf8e9498a0f70443426e8fef7c404b18d6682d95b7260f0a6c3f3244c69a0168c7b3345e89e3be95b15655f2210865d7cad9b42cca59765c5f8d2ba23b767e13eff88a85e8f7e16058db30077335873d98c699b4d08291df8ac280665444640e87e0e9d54d0cc15f647f2ffef42bd8c98115238308b78c779a11c70f1b4491e86616c11f7c3974ce35cff90a422cae0f4dd79119a05710f2e8655f61cc6eef67bbebf1d2bf424c0d009366a2ac73823abd03b5998e8b68e8442cee071de5ab556164e6422b485b571c69fd7487326153b30eeb366adca528b1c2f316d5f856fa756aee772b50f5dd11a1aa399ea42d597cf663e311809dc88a608cd415b5fc7c877e25e08a5d063953a321ea2ff9bc673a8c95cddae6f893f29b3426089ad186a5b21aaea2956bc6f37402e570aa49e3dab72c2246ea6f54064dc121f1beb52a004b678d1053c4933ba3d4d3159917c79d29c957aa53e6d61135cdc768b6f434abde1858fa1be16e17a10e6cbef4ca5025ccd6314d66584a94cc0e6092a612e471e0a3577b25df904606106bd0abcabac39a1082e78ce2e951d0ab16ea2a6b155221ec66136546e1bf491f8f072bc94cb80c945cd55502346a185b66826f65557554555b7ed9a4b3ecac2477e9edb9f8dfcd10d6774ce10a9c0d1be149a31d248941d280352210a75fc018b71931efc32c8c2c9a609a81ee6d270307bbe57266081690ad693f8530e866d8bd99ca6d3336c12f0dbf70e3167b4e4b337dab3171e905e8a8d37d68a7628a3c70272d45db1546085cb642a7bc56e15f4059fa16445cceb01b1d1d9067ac7b6c00c77e4ed5b1e99f5a2abf0f0779a42b3223da2e6f77614eb8cb53ccdb48778881a29a10a3a5081accb39ccb681b4d0df4a1e34c5c51c681014d2e0edaac0b9a07967ed89a664dd359921a75177b18dc85ae7425025dacca560de0239a6b36f6002836c0be5152da2988b067950b022f427a87961ced212a2f93116c5e85f8738c61715e83ad750f997be5911847d804bc0149efddaa868fad21cf1d410daf9bd61862f2b9dc1408581e88624948df33eac071249e7bac0f95a023c41abccd64d5b237c60b19f68247d7dc1aec55ae8d3e7a484d84894c462d26d642a0a7282fd52c9ca7b5f720a1b0dce0c172e409dfb4be562d388ab200936400a4339a677c1c2f48112e809b1e0b5868900a40312d89a6ad133d299adc0879973ae188277bbfbf96d1591dcda2bd00dc76da6e3a92fa25c39586b38967098ee69e50d0819a26352eee0912b720865d70205c2237cb3ba3b3b8177029ba12345425b74ff33a5ed7f42fdf4738413dd2be441895f4ac5692df66c28be8df9d609f68f0492648c8b994a85f3a53cc04723e2b45877dacf0d6975a684b35aa4867af068423ae6c784cb2a41dda04137e9b9f663d6aac58b725f53a21bbec1c1cea139c507ab5ff0a91a7c280de76f59710a574df22a2054dba8bcac09f2e5afeafa2dafea350a59ee6c9a9c19317eccdd3b095b4b4a099c515741b048f0f30b31c91297785e27c0bbd45cc05256a82b481559354182e0714d5c33c972d04df77b736a480fdd07b1af5b178deedd02723623dd515c77d46eaa02be7bb3c5a80bfc74589d6e4863808d98da29102a0c66c1a7e1d5061d0ddb5c48fc89e38ee85548226f5dfecb81a3598f8bd65235d871be492ab8fe6a26f8857967f8802fc5556df99b472a3b063f249fd4f35a06d8db42eb088917fdaf64431abfc109d22f1df45440f2289a3dd083161e28b01b79d5930dcae43d1a36698f072116eb55bfe9e0d95262f6d3876e8c862b2c585124f4761b1b504b98e2bc50d930a7b99f2ef51943c088b7dc5b4ec364994faec4143fd6605b0c1306ba212728ad26b3beef335ff7dddcb257bfebdc4e95753f6bede552d009a5e82dd8e588cd9458797834d24a495a0056a198b201a340d7e3bc8a97f7b8bf735e843fa9426099a7335e36b4b61f4331ab97c39d6f79ba4bc08d61f1c0e4c706ef47a2513403846cc3694f7ce67175080fae355a99529bedf4e70d44b7d758482a22716a7d10d4d74821b147d231da86d30554ffead93f3d7452db9cd7c8fbe78581537d9fdb4ab5cad2c52630c1c81a695cd9edab9e6a5bf1c2b72afc41ce30af6238c2d09df85cb9bb3b13394bfc6082cf5663bd9b57fee8faf05aced0d11d8f71098bb583c80fee7042887495d0b9ac834686e1a855c3372ce20138a3ab96e18dc890036436487c4240037507a9c7256ebf8f996d810ec05dc4d9ba5fcdea886b6aabe3397d04a71b56d9780337d748cfe78dcfe521c8a367988fd9012dbca13e788b3229fd26b315af52f815e74f2fdc45131a300d0d70364c0be5868b8363cad32da12ab681918c93f3bb8f133db97529dd7eb17ea48aa7469ffd0ac7af38d4f96a0a49d74fb829260b00147b36f50600721af842ff7674f02045104a1ff150e470187e2cac6d180f6aadb1a321059c9b974a62d70dfba352c19b9b7c3c59e14154cb11e7c73af53aeef3f73f26fe511cd1b44faaedaa87021244c61f8d93a44f91c8dcf6ada748f203075501fd8b7a8b92b565f59e9cadfa925f3d8f8f7c22f5a64e2b0a1b12e5077b48cabc8a29410fdac089c26cc1a29726180460a8cb95ba4a2b7f989f243b92f66318fd07fe524c4f76a04394b0a49f4db1d49ddba4216226f84760a149536ce66afed0567978607a9a916060f8ef24b73f03cdb08361420e21d34414a582447660c322e772031028b12a204e22d93d97fe5a75ffd7160d406755e2cc86dbd4a627317c4db4b139cba25061b272d3c1e8108f86f29192d802e30821f233ccf250232df20a2ab4a7579e053227fed7fa4371ddbd4d3f92c02981f3b829999eb28859c7c9990d0ab0076d22fdd00c0a35aaad7b0cc6b83200dfc6f69663f39036cb1dd1fb8373b3392b78446c4833ade18004deb49c8ba64e2822cd3a6246dd7fc58bf230f25e8eb030b7af2f88fc95c393bc635c0f95db475990dcee8e42e7e5b81fad5ac1ed491437842dc76d435d33493742c90c62c9d828bc16853356b0741142675b7a00dc3e439a5f196e1e7c7828f785724862ac341c7eabf64c7f2f05cafd0b1213c6f841feb633f29daef91f72e89247ae0b665fa9bed2290e359400dc93b5664bdc2dcb4672a654a666f73e9de842ef3eda454b7864c09882e6a4a262f08f07fee44c3d705eca5538815be3ee4b12b3db289159ed6945349fd8473bfb988a89aade28eaf3f41467e393616664af9e9c1d46db6ec4425bf8ab4f636c95234e40036b7b5a9e1c56a85fbfb78b588821e80579db1b4e15114ae88baa089dfa857a6dc0e794727f7b3a8571943a298fe156e8a55cf83467478d08be07f97db469f2383c13f53fddccec9f09397d4e9b7cfe7d765e46624b3393110429a21e2f3cf196840da1e0002de860a8213532a0451b246ec939810eca6f5757dafd482216414354ba651c9bb790c5510daf54d8d6052b6347494e09e21ff3d768e2e6b6b82b815d419a0eb2532ab85e882a521cbf640ab1694d59c0c540eca701055eadce4c231ea1a5fc695d8acad24aa1ff4b493ba33057215f76f6530f8fc710f896ef48cd27249fe84d0816c376ca15b5dcd39e8bd65a94b9a005e0aa335210fc582e657e57960f0e919bc0eccd60038e9bf385f2cdf7ad30907d6ce634a4c1053435ec63e75ab975b0cf434e3725201ee6be7f8920fe9b629aef2e60e078487a24142bd9cd959735706ecea096accb768fa02d975ef2992082152aae872cec7e32a06537ecea1c734f86fa1bfd32244c6c6328d111d158e4372fa56d1066f20d09ee8696c3b937568e411338a96c11b92164ed3a1920976884fbec673d126cfa57a9346feac5b11dc7493158129cabf7dcb2f48b23da151033a5e7f2d0d0ef73951ce9c400e7fbc77f29d0c3db5d22d44e8f4fd250ecfe1c9d28218da3c960e6f5dc87e3ce4c168f81e130b4c4621c3567a9b4b30dc31eb1f764c7477715f36cd309111c225a25cb69d7dc81911159eb1fb6dd258060bc7188eaebb0045b32f3be0a5fec83f2fd9783de4e177ac6024df887962407680dbe31c3fcc5a10e015946abafd13f9e5084c676af23a850809a33d1fd9d8412731da7848d9d39f9e2b18975cd0143f2cf741ce5d37083aa984e545198b858851babd038dfae801da403c9196f9dfe834cd2e9e810767dd918a61c4802cc5792499aaf2689ffc4ede2ff5dbe5ca72779fac683f69743c76cf9f6e4dd351237fbbdefbaa55612a2e6be5e3c071f324a5db72925024772860951b2130450401b48407f760ac7aef711cf8f5ee6c1e88e128d6af9c99eaf2a7aafece4d18146019c793d0de30225961db311fafe550a324efadc2f5df9f259f3c17d1dbca7d0a2f8ea82066ceab6ea89bb868db795c701b7a6a17aed1cfc2491fe33034583a58c44800d6c167843a57ea4d8f115406d98573ecea70fdbcad7925e9261068cc9184b0fa79df273db644eb96b4f190fe7186c61461d58d9bef99f25fa6893715e019de60049e365d7b109bd33ca413072e3cfb841d4a360fda426e8baecf537ebc4b557f199bff534661004657f61f5bf3b7b01bb461e802bf956b2de580c6ff4fb2fa5982d6117efdf2aa464dc7682266815c32105506fcba341a8a42f21e237a12444a1b1ee9ea40ceb2d35a9abccda83517290039410c2b067b21b76caf690d4a5a819cd59341038cb991050eb7c094053653fa94d57bfb9b234426386b562915bcfde3b09f06893bc232553b55ff926bebf9233f5729ed6004cf152894432e3a01eb29799d0e7bcd0419a8cdb7ca4327db32f1443337691f0eed9a05d6cc06e4e1677f0ca75514ca53dee5511a3f2259d7e1823aa94788ad0f9a4051cde6687c1f96750ca460c40ea14ff25d8952f1c5c91d5f5fef14af047bd754790fa4f9bed4e8d071a5b461b6e8a1bd63344558b1613f51f14aed400e74d71c67415046d238e3056a9d9377d6c0d5e8d9a56149c03e764e43d012da8350a5be406f78a754edeb9bc3b3a2a1b5097a9a586cd892112144c2baa78ff7923702e0c87eb52f9529cc88f9db75b0f93dfa66afa421f70a4fbc664294847d11bae309d7a6081eb1d5937f754c03f1627810b4e6800d97d00438370a3f87d0da5c4b2fd5964c5a09718c0db4a43453d9dd2e0f30f345fd778bbd98f778052348f64264d5eb174ec3d36a4d9a2c741556c490d8e4ab1672ac52cee5b18995f096d7acacdc35d89d9ef4447c685ed6153f20fba8c7a37b5c011b0056a307d5d3384b256278e29cbff419be56d23a4ae75df6c77aba99fcc1dc7ff68059ac4008202a2d3ad85c349f43b399965b4fbce35d4d949bfeaf386a5c165fd33abe54654dd64af59899656dab4a0b2b1a6c775d1b9cc61e58ebb39aeb1fc2cc501d1128c9d997f599daadf60c6301254374b9f8ca67a3f7662d6705c33876fda1f0c1bac0d1efc0ed08c98d073ad103d9ae19874414eb0112fd1420357894b3659753185155e60a23cc6091a42edbbbf8d0b676e8c76dfccb1046af8d6e53bf3d8ab83c32af9b3ed0cb482cffe51a33e8d46ed2fddd7f49d465657c17442bc5ea73b79aaccf92427521d83f6a93379f675dc00d29764f519953ce6f3bebd6711f1313970d040186fb103057e143c7dc421691fd85b0cb27d9d318962881579549097365fc658a45813366e7ceae23b0fade7bb97440202b855e2b28ad616fe0e3a2578708d40c6a2f3de21f4f4186e12f19a576b7f004ff4cc4f13a8e45a8aa98b0fae6a1920591d796b6823f65d1b6652f921cbe38eacf27448440badf4d2da26d5f19f3da7949a50b7f811072197bba02055190a13375d9f7964cac5b4e7b6476efbfc90e7909848fa6564872e871809bd085038a99bb47f9e4536fc8f9fd0411559df58d57c1f01738ec2146c96fe21c15bd44454d813bade26b894a25fc09f2de923681232da2f7c1f0cd717d9d57a3fa400db97441afa0c5dbea118c716290a56ab558dc48f45ae0c47adc1d0ded6457898aa90f0e310246612e8c48e0438ea5127d37b1604b5bac5527c81a79c0e421893b4be4e32387d5ae4249a4416f45b9167a49ec324e2e95ffb2197846bd7f852a8288d23fffec1611978d6ebd0b871eccd45cf9a86814467c2dbcd3bd4f074a8cb575f21fd379d3a8a53d7b771ab12031d7260197d41eadbdd5739b6c6b95cdb55361f36c9d546913acafe8e90657add0f3322d7f977ed85c4b5caa95bdf2f46fc902fa7f003ea4802daeb3afaae32aef1160bd7c40c2fe62c645f1422bbf499f2c9959fc55dc9b341a91f20d8afa031c8659a53efadbcdcde3dba2a480eb7d0efe9d2e7d0957504aa9ea73510b7e8de1e365eb561346a56b2081236e8b90ee758d343c64c0d28f03412e59b5d26371d8baca4ccafbd947580e776611d92f1eafc2ef4766e98c78b0dc9d36e7c90d980c5035f97dca9a8e67c02a62afaa014da595ee7d57f2477ade7cd9112a6e9a6a19a06b742ea452bf9c8cbf22716d505f7d63d947252541d3764d8b31a2cdb1dc2dcbb7b6c47d02bac0e7e21ba3340a4591501fa10225af3c733cf5dc12e835271c0bb1ea4d52e5bd7e3058681333e6f571f0a75e5cd0dd728d2f43818de0d3ec124272c5866fa5902c44d301549d538d5f1d3efa0996db2d8becdde19f1c982c1e665b551ef44d060e1e36c10ade0887a113f1650369215d4966f3ab0fb4734d0fc5e14622a74c7c5e25bbebd8cc64f5a4bb249d26124af735819bd96c40f20f06b5e217d6070670ad0879fadafb49efae3ef9c1eb613bec2a09a016eec55178b9234da4cae2ea74b12409c0f1513244c08b4fbfbb9466c7bcf1e5ce205dedd50e83f8d3583e4856416916dcee34a1213736b443156ca9a4553a48a2b9f7294acff924081e457972e28e1783dd84e67b66f4258a26d4872a955ab741a70497d6c5c52e8babad726dba4e00b7f43cbade1d669b9d78af96d7e9e6f82a0c45b68b86628eab737f03a777783422d3b8b0d0b173f2ddac12150bba7e8140726ace84b63c9899ec274979bcf10a326d70fd895dbf5b649e8797e484c2d1a7d035de74a3bf2bb0cb65139574799571d316cde3b3c8d2143e350c644e2adb78d2c715344ee08a29d3e3e93c5ba25e978b6d4d61b5805a5c8f0d6252aac8dd1d3e4cb5c8ebd8bd2636513cb9ca9ec040c9ee0749551bfb40ee7bba7202cb80199f14ef487efce0d6af1854b03645d4dc0ef072667a046ec9b85550ad1082b1932c4f671fed193d0577f4d5cd7f13d2caca05787e062e2dffa1f6a870e084971f867d5232d7dba9746f655be8a78fccd0870da93159874df36e12a43e178719abae38d9b4d8a2a37c26d73fa1b337dd450aedbfa0577534ae8473e9963ebee14032af296f846e649441dab9bbdbcaa7947a0f45b3579c6877b0ae6a270ca1f928a734f6ffae4536f793fe8a54d332e577f141cd3b1307b192d913763ffaad989c67c9bc37d65c6b8d6eb962ca989853b2eb69d845a9ea90df6a65a4c0d864393cb814d1fe22fa4109bbc30d1ef286bc1d87a39d228813dcc30bd5f77b223ba9698474f9fc6b1ca4848d9e20d85c2ead44cf23cd589f9d7ae7766866053912149597dc5462fca541ef12369e0b086b6a7890ad9f1580b56c9b2e789d4a647afdc491f007b91c64c355dfcf56ecead6ff5e30ef7ef781d58913d2c0e47a22cd5176d7d6ed08305d424249ca6a76ecfec8cfda9db71a90ba1b10eb2268bc347e764b4b38fa650b090fa9dd36c2e8e8ea3f41109a1cc90533ec329d356a99019c4466df6b07f53639a99b6305fcf9c876878ff0400980a65280ad629bcd73427dd566a2474c03f8be74de82853346c15a9bee97e16e7d416227be255869ffed66029546559329d960c2ff8f604c4235dc8b19051ae867d4de883c75e2cb35fb424786809e609f940b65fc100f92496ce8ee846fde1e02215c90822eb1f1794313f778f16c0bfa989a77c78a848d7a8f4ed4e70d9733f9c0cd3ca844f8820c7e9e2fdbd8d4bb3b88b7d0a0a705a61647f7f6619f6e2bb64538ed96878f180cfff46553c40d899e4f05ec270bf3a3d67bf10bcde0105fdb38949c85e558653632df8ea4e64c8e2db23be6eeb1e3d0e5c58173f99258b043387db599c82dbd19e766f24ecb46ca35e644d0f9e6dc7f2c38512a39723e48559005b1ef0e8080c5c941345d8d1463e8d349bafbbd3b632f5678b0b2c5627e208ccccfaa479b7878c76986962e83336949302f3d25d5777624e1229c11edf91f69ad69006f58379a68bb6ee286fb92381626fdb2681b0c703e93af0fa9d1d3bfec49f8f7c1c45fb887bda29eab76bf1dc31b7d469200275980af61d38d1b163b6be3ab28c26feb042c8c542172a666938a8941e0423465b9f19aa5233f3bb88fd7216871602c5b13cd7e83980d9521eb44be06f1c3cc940ba00bb507f88ccb26e2228015fd7f1d2fd964416829429d69da9d1dbd094847fbe67cf5903c1a5e8d8d7a967482a3ab99f8bc1859899eb62336c3f111e684f9ff413d5bec89380ce08143d10c231b6e07e819bd382252a8608e5fcb3f5acf775a410a71c7fa8ed6209e24a1121f6419b8adeb5e906f0d6c1a77fa651d5a7dc6c835e49db35088516bd55df39edb80a3eb0b9ca4419029531fe68189288e82cf3c92a0909edd038be8b0c625f77195154c0d2fb5f2575db513b7b244ae00c2a9e9f68e5f40d7f0bff19d6d8944a15c27e98d5475a4fe2b82416ea9b99f8e1f9edb5b1d7d47c366f6b82c3ae8ed42191477d982b1bbf474ae2c1d8ba06fc29064e2d0c30b0f405f747a2e960ccb32faf02b2b4eee79c28fd3106990e6dc020704ed998cb92bc909c590fdbe0e3cd1c1f537c599bee95e7a5fb555ad9f96f53aa91ef9aa50b3a4612f4b975993dcbdb65f595acd6a756df9b4a84ed08b16c8be6cffa181ad07f925ed3061061d452bd22a29337964ba4d191d480df118bf1f991ff13b799b54149ecf0c67fc1203e47126619e8345e978f4411c4e63eb507f4fbd8fd784c855d49ebdc8be8e410e0b05b706c15a96356d9cd1df10c69d247cf8b7682be1fc23ffc81f5ba78d61a62da8dc06100c621f3f452bbf52b2f56ccb8714df6aceb87898cdf123c823a94aeb3f9a5af5a15564d58f451aa47da6ec1c4c217163ab6d3484465829cc9cdd2a7c6033f3d5d3e055dabcdad0f5a8dd696b1ed01ed12e5765db62657c3a94383b8df6e174d7e3d4f40e61cee548de10499afccdc52c6013007897fd9a076eaf3b9e8fa7317b683ca7d8681a0f7a599c6313701a1c77d047bd2a5bbafff67878686f5a7d37c3225e7c2073b33dea16ab1b21fead30f5dcf6022b074f6deb3bc864d772dd45591bb2ed716487add0934a7dfc27ce8676eadd051142b86b95e0cb2f6ce41929c4addf5a6bc6a290a62730dc51c58277d1436fe0f3513442e87d33c6b067041fc5aeb55c07c81b65fd56b95b7e2371f293cac88161c4d97884ddacd83096a09bc8ccb0f0164f6f7b340589d61f54961e475e8287fab4627cc036bf7f3644555d0b156e0539ef6dc35c07caffdb8321d1596e390f0c10e6fba63f7d2d3ba5e3e47e53dd08e3d468eb53c550951e11180ab760b8b0a3e3c4a2d6837feedb959e97c25d369c8d84a9074199c62793872e42374fa409934fced28f5afd9a7c5f1d05667b66edaf665ca347c6e3b1340540b7d690a21429a3511137ddc930e555b825c97277333cd19f40458f20c4fe2da70e792e715c370d4eba8d9f65a3b317d4396d8eba7d1f64ac68087fbc2c17dc8eaf663f7292b1f36d9e849993d9fcd7b34422c8451571e5acec7af3d3ffeaca5deebe5f75041ae960f48ca6578ccc8e95938cfeff0937c0da39beb2ca21bc5f34ba4056aa28b95ec92ee3c0d438b05d77a568c5a4b00bb5faf07118c4142b0823fc25007bf2e72ff93b9199063183ff82199b6e0d1b0d6238a051c9bf2b83113182f02ea28c26c175fe391ba9e4bdb438fbc062fbd38e769551f6b6d91b53dd11fc8bf363313db6c967487ce855ca5af3d373e11ebb20cdcadb8a760ad7684d6615b43022bdb75757b883d6845ec43b2a61c933ec6cced69b5f9a290d6097efdc14cd1634912e1f38a41724be0db627b3e0fa5dcbf3d560eb254b3fbda2653a367391b6cc141b95b4f489fd1a387ad2acb5164b6ebb834c36f4d78ea0419b71b90e0ddb561afa2f16a9142f57d843c3fc52001cb14eb518e10f8d4d99fd6933e1ccc098d3b6c814884221058a83e1b478cf39a4143e54f679b2601df00171ed76fe09c44d382c57661747c55f020c045693d27bd22b7c5bfc7666dfb627c5b203ee3a5375b3a70e9a053295b428b84b8c4486e273645e834e8748f4bc4812e15a7823fdf28ed8ed513a6f89b41a89a717b08ee741b8d622fd5a8caac2d4d65aba620defe94ccd2ec3ed1c4ae33474e90a30d049a0d81b9c4fa81e5d5d6cffb956d60d9254340bcea5d589bbdf36464ba10be93f85af3e19d275ba474d14878ac7e2a5539766515ed369aa5d1678db521c6f1c15ffab0b68508926c42403c11a25d8ad8c9063a76c123f29ee5c60e56a6abba844384b0e268fad67f6e21c014854a408ce9ae01c797e4412a8d7a3c305ccdda89d5fce7b6608c49a19fba32fa838840d86ec522e3b1ac1a32ea8571bfdcbb33592290dbf7fcbf3a861bebdb96a506b92d214ab2cbc4b78eaa920b76405f04d1d243889309935dfccaddfa5158ed2f4e130d34d732126c02692473547a2d97b0ab1b768885fe56b8445d936be24c4552bfca89d979cb11b4bbe2fe10d359891c442967500bd9bc335b9def9dfc1039503fd907aa3fcc7122c755b9354e68d4654dab6dbf17b3c92787bba80f7aac403d9963f0d6ad3ffdc707d4821be0bf642ec440fcb96798c50d614f97912d42f65b54b2c0680f973d535c83d70242910561caa7e44b775a3d8a3879538c2b1e6f4475c8b0cf5ee1c968196506ea20682733587ba7865e42d29f9160e46cdaa9eb202787d0128ccb90860ed6fb386bc6e462ddddba6a9d8d5ef3eaa89344f5d1af52dd7ec4eab4a12c0a6773452a7752cc21cd63d544eebb3c95505a76e39c3502d542537e4ad71adbbd0c80a5d40a6a753c3aed669b15058309283860d067c9b313683d651aa091adb10ea228e6d4938308992913b76f73a2facb8697f03cc1dc5425547c9f8838a2059e32d3177e49abd80b37e3486bfb68f2091fddbf2ee227263fab6d086293b2439ffcfd15468a3ac7829dd0c6ea1ca9a272e579f7ab190e2161e982c067914a0917e26c1a26bb386d3fe3e0c710c5ed622e19552726ea7ee3e10c09b8b84d8669850685b7e9bdf046e491a3ce33a52a3a94788f514eac73bf9f0495b709656a436de7ab41593b06be6373db2ed30d0560abf15d4bc506fb8092db3f126d141ea8109654823d5b79d8d62d984f776e70961cc811b95b0f7491e6628914b24a1859a3717577c1fd9c82b67458544b504da5a705b16b0095804d83a77c75555c1d0dfbab3f0e602ee773e2477af42a819d84644da19f02c0a9d4cdf0e115a4b18bf3df73763d4f82ed99c70a2aae65e64fd8b0cab704abd52998f25193eb50ad24be10311e8db90fa392285d99b0260e368fce452e002a6839c3b35f917eaa1ef379c576fe9b420565c240d9186180d573e2e0c8b6a4e46dbe320000e218699f2fa499b3ff25375a62c1497d7ad3c752cc40f93733aac7571bca62b76db462d44836ad2b56ae7393daa251a5451733b5f7f7ef8fdc90f810c613a788b95c7efa5e0bbfa8a7e1b4594bc874a5b099fa1ea7c49ef9356dcd6424d5629419682e8b6f4811a1c6d9e672582479abcd2bfc0db3cf4a90eb7da4fc5f904e992640781eda9e32c03fdda7571d0cff189a486d52a881fc487f2acfa4bc9bbe3898a658482cb15131241e3a97bc7ffb73891beb0543f828e6b7f481acdd9a79844c7093fb824bf8ceeacf95a97bdea2e776b2ef8a51518b814d74d4b8410a0392e553bbf405b1e14699fa39c3302643fbcdcfec6db3d76a4e179da60a89353e28437eafebccdae609475861bd867c749730cb87eb86970e525ec3bf6f366bd268a1f4a259558743bbf315bb440fb36aaf905691978c4e099df8be2167bd2928485cff15c30016be1e3a0216e8c114ec15b7a68138bb8e55814c9a544100f601a9305693fc856b14e1d1919ccc3ae41f115dd9d30970cd534184045ca015323d6ac2f86bc7c7349fe3888fe7acd3a51135135e83a909c2b3bd6883580a74c6697faa668b2c3daa7250b73eef1c8ac4628f76c7cfea5357adf7cf0c316b74490e5ae55a7ed3e424da40c50bf173f3418519dc9cb8770524730899494ba8277762ac99526c261070f303742d58c469a23f1e107ada25fb410cde45a6e53b8642dc5685243ff75f45b65ee927575495c02a76a4406a16d9bded696bc6cf683dacd256f79a3c4c718bed714a05904dc947c0068cd3b06a3e616539a3155edbba26930dc271c76abde529a71c783d2e6120a7f6c7ea719f1d2ba2e9452a3f9e7b7b217274bbb70aad6e113c6ded1d05b02eb4ef07d584dc546cd52eb5a5ce58f8fe0433b1097deba4ce097b86042b7938295c1967200b834e1eba7116932b414186f3512c78438e9bb6b59feb6f761ee9ccd90e7adc92fa72fc305a6baa5b0aa6b1cd46e9304340d26bf60a043552b12883547eaf828050993785a400d61fbe4f8c25324a277fdac6f767de51637c69d266d84721d41f8b9bbda4dc63ab627302013eb877318defbadb816fde7df9de2d79d240d27174cfcd99f1a0560adaaca027120002413428ee865a9506e3ddd1cf81191701534b1d45f5bfe15e9890184c15864daab189051898b8c8a45d8c2f280373b9c518173d397d8b0be865518a9804489f6d4057e37f9c407f1c58c0788eed13f03abfd9c60f01f8cc7972684405687b559c7fe86422a897b49c4928a330ec6940198a4f37d17aafb0ce418375c68578714238b8bccd4fb10182eb92a8223bfbe8c97b66680065b75feafe2587fa2b17e2168a9ab1774d227adc69e7feedbbd3d9f7319e5b938ab7b349aa74598cc03415aea634413a1f4322cb375d567d4dc0854589744a57dd8bb0e2879653c5b0a8942ef1d8e29c333a2048e3af3c19d63316f7cb77a8952e55863cf55c7840904bbcfe49214df20da64d6bb470355d1e40e7ca6150dea26924dc508adae73e49a405be301599448c617289ce1abdf77e29459983970c3b68cbe3e3c6c66d5ad19fff697460de5e7c3ea911497ee89ee34766227592f5da9be812c4aaf16c543b8bcf79400a6fb18bf6e4416fdf030f8731d1e2a4a2fd9d5783cf114ae5d08433f1cdc76cec3103a6c21f89a7e014b5db72f9a879b2d90749d7b48569ec6db374ea34d220b45d054a5a989c4fe4b4ca1de4473d0be8c929a4924affa8048d893821eae2d72ab553870eacbb1885749f6225de10cf1c8a2540b96759d37e73dd5caddc5fe90e6d48cd13025369631d2d71cc2a9e20bb822713e4e78e1a577b74eb9a2debe794c84f0165e8d46c4f95273c409e5d35db29013fc2c00fe5a397e87fc82b5a1a7bdcc4d14dd52fc491a9eb2b5ed855a4c780448c73b670eca821772c99357f4253c65337f334d222c75b481c7badb8f1c41415c5d84127eba30b4963ced1505b7de2bfc2148d78292f3b9d9cef21fd000fd4edaad8b595462336746fe08c1cd1580121ad932e94455f2f3188ef9824b865827aaa530cf173f7846b087ef139a88a0b04f33141d7e9f6dc347468806a57242f527eecac7b240486117e8018896130e035cca3ce8af735208bf8098dfaa5feeb62baa4e37a91accf7dcd223071de1452b5bacd5efa975450fd38f3f27c1c546bf41b2ad497679358693b642e5d8a78f86d8e1a7e177d5a3a416f3de0d800e8e5397a29f2586dbd3ad6014c67c46059f329d78d7840a49744763a5defb2a3b0512560d55d175ac96596e1490a6ba08e091391269d41e4776f635c331f6c5435f9b798db501fc71793df6108e86588daad3945d66b7dd92625c9ac9e6d6d2eff28db2cf14360601f086a763e6cf4f2381fd8fb9c82d1892294eebbbe56b9062a249d5243f661e5fbb4f92ea5288d617c4204d9dfc65eedbc555c0dd7a6eea26908a5efe7b54a391311be0aaaf2adbc24b9c053374732443a6a39c6c76deaabbdc825371c1759f5b29fee82f3598f4b31fb5e7732925243d76e4a9f9fd4910640679820092ff4cb69c893ea17116ad051bc39f3a6de10d84d3f6bda4a2e4b2d0dfe8dadff8d224c83410625cb2c5ba6827c2bccbb4c5293540c378a4d1d16947025e8ff67ac9755af3d3e73c7143761f3d997d8e8bb015b105e39dcfd4bebdcdc0e10c87bcf807c43abe5de1dc9f760a46a0c65a75f0b20ab031b1324799e37bb0f7d551e9d3d6e1c6ee29fb50ecccc84d021f6373057d71216be82b0204abc2af38cd013992c841d950c50a297fd7dd3effe2371d39c79715cad4c3ca1688e94390a419d3ec6272489062c67e14a5423d827e1837893944a4f80c0be17d93c934764c1744fdc5c233cd11d8ccd919d2d6764338e957476260a2e2dea24a58ff05c463b434abcf8c3f59ccbba3617fe2f46d76c7d6f148b3e71dcef6d7c19036791324d3f5e3a9b036e3bdb18a8cccd1dc70ba0a8f2e0e100154a917f48713cc78763713450c5fe93a5fc19dc7da4cc61f83be1c1d705cc73bdab90fc38ece0e6760c3f1f048cb772f29dc8596e711df500ccc63b43e004034033e47b828b8a40616db146d4e64cd87de6e2d589d399104b0eb0f0415d2b41c89b33c5d0df5246d9439fffe74f60f55240eca8d19bef0966e2dbccea84ca7f0f3d54e7fc0e2f8deaf09aa6dedb88e960f103c0d7f933dd3eb038cd5820a74a60ddfc4b2b2136eecb2b007f8421515f669e34403be9d2a83ad390e9983b50598c1e3e25b73208e5d705935ad8776a6e603cb3e62e348957a9994bd1dccf04b52016848b2e1111f9de312f59b9f722bd77cae53cbc190bff2a5d60b13bb08ec4a871fac87087888c1eed934e55a5d262a416fca345c76f79934240fa9b4ba706d1958831ee45c29b68472ba29e8b6860baa3b9bcd53cda6c9e419f324df1ce7851c83c81c86c400a6e8e3b7dca0bf8eb2e7cba3bf351885c7044c05bfa2daa1cdac1add66596aa1fb02f9d72e288e9a7ffec0de2647d3c409f7866ee7340d0dfbf1157cd1d4b4213faaed8ef4a6b19d86cdf60aaeec10cf2b857635d4b922a5b2e38954f6e92f99461b55f4b88cb53a9b5fe1b3c04df8efbc253bb4f21b90e692ea2e06f7b63ab229a75c3ab98eadd477ee29dc0af30db9cdda41b37e0b81ed00929e711e80992cf49dbe7328643cd83832cc670f551980230434b9c4c583242ad489f3b5f9b039cda424a51857ac09c1e6f1d36254f277ac0ea36d0e085fc1ddedd3d68b87fe7a344d7e37d73c1eb6cce42826e12c7be4ca3f0a754aed8df4941d0af37541581777ee1f03df1a902a804410a19a47593c03fb6d46d4b89066825fb21ef5846e5396cd77c180e65365e01b38c80b06bf9321de9b3c7ea4fa60e6d1c65ac133bf816a48c3708f4f31ae3811ce42726fb553ad6ed35af1c386e1b050d004bb08eeaf92395700ea893417fb2cfa502611e26372a20821ca4e2f63989033e2a1e7aa389c6af3e93f66f7c9a5a6e92fd869bde3b98050ea566ab3e6a58d1aa210ccc2c47cca9cbcbb0b6458adbd0122e984ed5542f63fd0d9a02d5a6b7fcbf3f0b743d032ad70ad1455c5435ea77794188d89bde10c4109afbb7899a6ba4111e338fb8cea3043b0c69d205ac6ec470bd8dfbca88d23d0e6d48597a5d4c4ae15d919afa3971ee3d4839cac8f88533a829faf5d4f622756ec7fab0e0b9757af59d20d617da5602408310afe14b05bb81d3d3d07a580e4196365cf5b4e468091322796964ff26de3d3f6b74f71cb9defd99f5255716c69d246d7378b17102c09334e872335c5a003b27d8c46d0312b14b6ddc46b9396a01b04d614670406d28deb5c9efa1967fd1bad8507eb1b33bfaf2f40f2003c8192cd3f25db162b99497e4a2c87d0634dc8f666c220637ed1f0ac60828856448b1027d765cd9dbfea48758c978bad332851f1b6b24a9182f746a168e85dafd70c4915b35ade3f230dfc10f2e60d1e759b212551c3f609eeff89e7dc4058fa40a48b4eb7c73bb3b36709ae4e35b6a64624c9e97da731de8f92ca0859173bfd0fd3ab6029f18c37067ea31327f3358e018a45a7a3689d17ad56b92b5cfd972bb87ac7c20d07b455aa2946d831041af6b851ca90eaadd98610f8f077349622b53e660132deb9259e049be950af0bb7effd9690e249f8003297f108c6d2c42640afb1f046f83ade26f4683e0c3f0e1d48e3401918ba3797397b4ca2c05ee0243f60ef29773a2c253ed07fad6c77e29d1dadb710f002ce1ff51c70dba89601963704363b2364d7887a9427ccd7797555e2092377b7f91f98c0ff0a6318afe7d1dfc8c5f75d9a85cc516cfd78e92c1204fadeaaac52e0740dee821d10b26f57a620cdf8852d3516bf803c53ac74aa1860e9d707a368ceed4f374640aff5ad78c4c691e0478c672dbf04ee416869d617ee8fb33e3aa0195c84d481efb0702badac0e33753e3da788a36064deec391dddedcea1a3e743e63b104d97d8b5311e20cd8ea656cf4a586b5c765b02d7eb6e9bf4d2f6701dac5e9fb97f62d6ae98293f06a6e81ebf3cf1cb69ab2803c3775509f8184bd4dd8c96bfaf49a5aad772ef55db7b82e384f0b159910614c1d043eb6ab51a63d5dc00ebdf073fd6a35ee2e8e2ad66359a882d8c3aed7848dfec4e6d10b385357d5db1e4c16c4bf9ee24bde171e368f802fecab12d02cc531f5601b746fb4dcbe3733620dcb8b4e9dc27461e68140af74ebf635f83d080dc1e4b85e421f285c2b79c1a96470d55b43570fe3659385d23be279feedab15259deb5ffb49e8cac6edbb39a75ba53ac280a64d3825770e9d3e178131cb3d77100af29445ba5143c396cdb58d5022f505007ab7bfd65cb0af03a8b4a24448970811d82613f063736fe12c3bc4f2785a88ddd0258420de0783e16e56d743fc9c352c5068353c1561b70f645fc0c28f900afe958bb4ea5452d4dd97647450182998265bedeec7b574f4ae2e753736f53be9884eb5858cc5b4e2154141ca9d1ea84e386a972a15155381e4c92c503c3da6cf144e169da4b62894358e350d2ca1bff1cb926b6823f898f25ec7fc3aed4dbb3556d945f0f48247d7a673c245347f1009ce0b283eca962665af7ec8de41d647e96e1a83de010c9ded2782af9225c2279c927ac732b81354fb969a18d17adc32483fa96f965f28f8984b4f8ded28f110561eda4df1745fa03584f324b1948c85edaa44eeccbb444306e7c92912ade253e225845804f6bd5d3238fb5623e1cd562dad90567b1ec8203405e661e9a025dac72e7712389615eb70948e8d4bca3eb98b58a4f2f8b4fbcb23db18ac56501b1cbc68cd259e929e1153424ac17d6357d78ffa0c73e2754d828d8bd5dc68ec9eeb80c9a75d909103bc92f7c8fe0fca1633d0c343ae4a7b9f7b7ec40075669fd24880640f530189b8fd3720b3157481eea6f7536986ab268cddd4345cba6c6dc068bc03b4cde1fea512fd02555fec5185c5bf8fd6403074dd540f86768d6c392bb824c5b3cc5e0e099671d0cc70825c9dadfc851486a4f1eb551278c853752f496642a6bc34cb635ee95c33f3c59c348bd4b000134a9253af94f2d674a958f84c401f33bf48122aee2862b97ed99ee64bfdeb17698abd8c5d47b7dc7c233df2adf765fc1a2714796896c2510f07b304ad948ec1a56bb06ec5649ca7bb2a0785209a558065394e430fd9306464fa25ef86e3cc78723e0055dd3590eef8a016bf09235d51aafd10201eeb4bdf6c9f0938b9e534111e1eb12f655dec3486b7e7a70a34c1bd99879aeb9b482f573480705fd80f69e24331ad643026f45c537b642a5f40da4a43d3f526a5ccff38419e2d4650033622e139146621035a00a3ecf6d056511d17cf38c48651ef50be02f6d7a60fa0e2169580e28fef31eab9235aeee9f4e2ed63d5619e321e27e0e11dd813319535c43a7ebb465b3e51d6c72a9e664c0cc52d1b99673dad693ad5ad4f6f0d00f655eec6b9d25e6496ba1ab56e22309229c26e523767f96ab0fef8da3feeafea7743129cc6f273e8b71f656353db0b25531c1ce9086a640a413cac416b60e8f18c86457071c307fd8566692085c9d763070b112b0da5a7a8d6989e6b512966461028a929787990ea9b1857699adfc8c4da1d217d7cd2b7562e9bb92154bf282144094fe7af2791fb2fe50d932195ad875bb7095113c5e86925ce9d69b02a32da27f13fc74a5afbf4d1809b07fd37ccecc928f6b358c509536fdecedde9f6bc1331708cd248fc917ceb657f44e9170bd40b5918eac290bd7315014a8c83dda280da5dad521bf5c0deacd67b29c278ccee0fe7a5a6e94a79d3b5ba30407d5f319c2adfb79eae4795d7dc27c17817c2ba31eecdbfa84bc0a1f77cf1b85ab6431641a62755794c765b402aed38b93d8646130bbd2108d296f6f484518f6172283e3e38b3af43f695fec59ae683bdfff338a86567f6d787c620432d1bf7a078e00580d3f1defc1cfc28d603e5194bf418755425494a2edd15afa991143e6a35760746629ea8da7a135681875baaef50de6f363958c095747875aca8ffb00cbe54bf9c8bd66e81d244f0f071b14f54e3fc7a054514f1c8bcb0b501c5a40628eb91eced8f240cb83547911d802e3af09ec1e1a357c86af59e0c1e40b43d11272ab5832914e882b552d1d7c0c64c1a99e0d451d3430480e625df31404018d2803f4ca377cddc3e4f2558a2f6427cadde13b948f8a060c9dfb130116f1cc3ca5332ba0c0880c5f45ac97a44931df34900b77b3eea21a014a4ce4a97960241ede76af9348d277b04bda8054718fadfeb6c25c6b7c67eef04542ca34cbd9a8e9b2ba104bc43822d9a7f3029d156d31138a02b4d5a80e66c9420f4fa0675cdeb0af35dcd814188da179741ce833aa6e88d5593c9ebd8de80e681751153bfced2e23f10e3862fb596e580a17424072d4dc5d959b2bcc092457a58386c1e7c5cdd7de7a558a4d27af23c42528ef10e54e1b990b3cce96a349a3904cf560b16fdb5067cfb4a426e5b90f171e0dd703b5981f4587336301b69a8146a489d872698b7b9c077f315fbb6dda01bd49b91aa8778e4eb8ff62074c138dfa7e1a24bfb6f1916ae540604d538616bcd941e15bf156ee7191aa1b307e5e47670b24925c2338bc06b1b318b32005c517220ae794ffebe50d549e2fdcc2d371228aa16d9f71ab8ea2cfcc5cf8293c4ee0d956273ef0bfcef6b13e2d4c2b3f853ace70eb705628f1ee68c1d9eef0211141e7129d0d8948af819b901c2d7fa93543e612dabf2958cefd65eb260141d08363540df1cb051caf23de2da251efd6e15d52ae08407b1b01ddabbb5fbb9c8b27230966548cc575164adafceb5c242b4b59bf2e20bb42a2c00b72ca049f2f16b272ee3941dd52ff2cc31f8404c5b9580e5a3480fb9f0498a9fce83788e8d72b4b2f2058e62e3baddedfdcf9b3e95d5367b061e38e0ad5b3140a94912437683781a39f878cb0e79e0a47e98905a588b120bff6837447cd71432a22b1931a7ddfb6abcaf633a73199da710525ed0e0189d8d61519156c7aa6ec8a911c577aa5ecb0b69b06871c448c8c518aefd5c4f6fd67a0a5cec52da600685fd2a7b151e56e8edae5c6fe9ff4c73d3081bb6171a95b6a77e69fcea904c4236d1bc002e930e495a9ca6065a47ef6e86548ee60daf869f9f59e1ca0c934a5d60b08e277c99f17ddbd5e5dc4b22f0ad3a00782f018ea2ca3a851be902b96a73c7ce3076ca2dac19ab5fa4e278316e2121fbd59ee5a56f7d6de973548506eb2838e5dc0453281008d5f33c1588ad4a7cf2eb9e0bbd1590ec4db5ed4a0e064ec268dd8ba16e9a982d79a16a3c3d724fa5b80c64354e1d29a8ad4d1f3f143649fd2f65663d2906994a85701b41e5de57d7cc1a5bb35a30a9ad078e4c9b860255fd66577b686babcee13b3d78af8eb5ab3fbb3664578366094e2499b6b288729296380fdb8bbf92b6009c5e1a0742aeba3846911d2fbcf1c56d590dd6a6933152e4f100416d3ac062c410bc6cc407780135fa4427210d118f70dd2e205360374045a529996d0abc99506152f15e7947ab703ebf9dad1a0640a4bfdf8114e882c2c77f08d34a3b8dc75e256bcce5fb1a8aa8fc4995e0c49f8bde85b77b9445406f435f2dd6df15e2441c80c1f15ebd87fd2ebca7920d745541872b26b229d078d33e053598ccbbfaa77f77223b58a44580b67521c3883f1e54a8fac1ae396cdbffd4f04ea0783a9074fee036ec03e0c87bc61ae32b50140a2bcd72fcb647a09e135d370db8d508d836493c618f9e623adcd2b2b8cd7118013a093db85ea1e69119e0d3a214fcc0fc8cd06aa1a179b35be87046ff3d55c7fd3cecfd1162ee2dcac94d29857c66aef26e1bb2e34c58ae620d6e83b08ce06e6cfbad29589ecaf23141c9fff532ecb4b791a2cf8a1af18cb36688e286043fddff5abf71b5f6ff274016678a4e4154e7af12f6e111bf253bf50601a309cb176fc36218e4d7ece8fefecd12bb25c91bd477133278c1d09f54a064c5cddf633aaa6286499ad83b0d73252d95337edbabc3c71f9f8610b412c2220ce69823c0a512eef52d38cc11f124ff4dfb77ed2bc007fa8e9d5d95110f550a10eb02835c9815ee758973721e844e05111073acedefb87af9b2c75bbda7d1e7a08308846be09c4026e7735f9698d3700e2d659d771f991218dc60d3b8893d1b053c1f9793a1b98aae44ee0b9ed41fbcbfaa719f77184b11d53bb83806f3aea97d98b1cabc1d5430346c6f9e15a48738221398c6b0aa8ec776eff5b4647ca786d3b33fcea3389b66299788746c7e689c334b99f5bd175297ea0e5dc816f52c6b7e127a080ee90523e1e9b71008449bbb309a0a166e145110ab6c4f63961ec4835bf4a55f7fa008231fe2620e8d9c8eb91cba6d89f2862ec78b85822cdf49425c04252e28ffe16dc8e95c05a939c984695384e5408c61e53b263db6ccdf2557a7a40ab7808110c5b680ef17dac9b7f928136e784c6d1917256c3c33b1aaa1ef9206f80741f0d6b8df85cdf575e2d825c57430dfe9ec8d64fa76e05ce33e298c81100c470226e7c4d08150ffcedc67fe4533b21dbe34d0f5291c5ca52a58c8feeac8e4740e894c2c41b626ea25da2f61400fb1cf13b51cf10a9aa25c5c9a000aec930f8943620d063818562662806a92941cb8a1892196bcff07ba1be66b2a61c860884f4799faaf0518099839afac21558ee3ab395e1e5c1b5eef4d890972b908bd664c25845390f1f0ff76b639eb2b14811079ee9c4f232b5f3c50d5cf8f16cc1c06cea7f9836d96c2535995d596d6caf317b6dab1b5a7e9c0158dff1d93c1b580339ce818f3588b129bb7aad47dbf615c0b1b6261b4d61133d0406988240c2cdcb5fcf9445ff0c96f22ed7099bcaef45a79fecc7a0b2f127038566f80dc2a0d78386058dd30726c0fd6298de54d8e9e82db976ac16b2d0c94458882891f640fc62071d5190102e3cdc9dd3c6255c497d6fdeddeaf8a2a90404c2d0cac8d3ce38785f9b6416956a740701262022382cda0b274f2a20e96aa8de047835f41ea4a473e284576acd5e77ca0ba72180e7b3cb2cc7e9ec147ec79fc967a8bff16beddb9913409749e9b69b9c11ffcf45f558f4b35fdc1ffb59e4bfa2d42960577608c9e268c8a0bca0fa75f8176c49ca5e0f0580d387b15e2cab4d4a061c6b9f67e8603d777fbf11b29d52243c60b87fa900df96e821375463062823e05263df88df8eba3d5a1acafbdd799a4bd54900c359b524c4c533d2cfa6a95c22652df5057147a490a5f2e5e1911c6d24b4329d35f66a91d78b1a89ff1e24610870a0c45e894e0776bf91634604c1c2d7501e6b4f0e2b06f3784c0efe281d092e31a6f801c818d789a3111a2dd534693dbc71a53d514019f0ad2ca8a747da631293207e4c6f95485ef2ca4167cd4ee74c080106e2e02457ea0ff702402fee0b5ebc963f1f3a95dc2d065c39fb02bd5cd9938be393e63ad06d73823fedb1f6a76426ec779cb0a3e9f61556813b88bb0172988ba9043d3eed34c24ed2150364d8dc863a2d0d07fdc4c52700c7d7fa2ab2fde6b650373d54d5a39e94e7aee88972646780986015eba16b072f3d23a491316390434958a1265c0b185192c74316927e43f94d2fc98dd175ac2e35e96a9190432d577f9e338ea65c6e4dbfe6a5b1246e380da754b7d549bd0ef9204a19d6d9cdde6cdff76818370d34ac9c8fe781caa74c6e1ce6b9d7a7956d841416f1e7a4b6fd3745a78bcda73ae96c7f7aa917c3659c8791a407f701e557dc582065d565d0c0ed83a76d9067587a960b54c9a481b281d9d023e692175c2608de16d9b7e280df2246a067234dbfdbda3caf788bf17089d0a7621ddab1a67143152c460222ed679063dbdc4bdbf72547be78e167fb4d86d52f701375ff2fb1b0968ab7b88bf9449703a1ee728e0d967bb4cdab893100a506b60fbb2c302e9a84182a550bfd84414611c3d794c5cc5e6750b02ea9713f0f9ef063989e32ef7efdf9216cb20f2c2d67f5463a7ad065aa205c827e6122d113641ca528100e7cfce7867fa34cfa7386a5d06387a02313b261d5ac51206d4ae3d840763a7f292c0ec63570ac5aefcdc91c342494af7f9ce58110867762eab0779d61175cef2f4005fa647a88b713aca108525118503051829d76eab0dc4178aced0c5dfb27f23b3e5eeddf932e913457cecbe2399d7303840b01ac406dc21d0c3f29a91b3eaf8dfab2212f9325fe8d51a371381e0460bded7048a2f44a8f370e49d84a44a91de50deabaa097e7bbed179b478b4c41fa964753c803b029842619ec6ef2ccc596ed900ea33efa33a86ff17c4a7a29a88e9aeeb3b366886b40b986a16fea1fb56278f5e015d603560eb8d3aa4d7555fc2b14e325a0ad20bbc378418acd8d033d3fc28dad3d3291c1beb3a1083a75f2129f781617f56757004182d21390d4b45858a3f1286fab6b20482caa30caabd37135972043e0607bff228e82d6aeae02a219632051590f183d63b8698dfdb6cf15f1d2783989d684d04be2d506ea3ff030f82606a17464a25b7e922b972bbc2e776d730b366d6426321a44d2bdc7bf7e6a902323b63b848460ae4de11b215157cf00c4ddb628a3abc475950473e07f5d72ac4c8e62b7e479937a9ab0a2e62eca4e5e46ae5f57a1c522a7129f132df72c639be7210904aaa3917f92dd3ab066d53aa8f72b94289643aef2e59c0053796368cd8374b04d54eea8cda6ac5201cc0b61ab91cd68cc65eaffd7dfd6b4ab2d7795d07034266b4c066a56bcb2991a2025ad8851f20972480d653df45be7d5e2b6b26da5e042c2cc70a6bb9395633ec58e6fee88b098e0bd0c4295757a0752873b07decdc2b9196562a861cab2b9cd7236bc0ab19996c4b58572caafb3bd023db7d4b241b0033efe84e96210ae329f1f0a2f93f9b28abb2004108f3f1c3980a937d2a26a69a5d826dd8dcc343eb93e40ba1c705cbf95d341ecf09a836f597808c2b58e1dd2fe94bc4d53c0c5bc575df1b970996d820b9e81aac1779d84afbb25c99fa4d742d52c5c8b43849ae72022efc04e4943124e6cb4cde174d9ed8d7d04467cff1c0cecd3d7168e997c43767d235350d12f96738546253287eddf139c0825a296b4a4d0e2839687fdeeaa08d89d48d085c4ce095c2b27c1e1e4f94221f67fba5dd2644044d0df246cd5abc392f9b3ebb2bf3b17d59f2b0bed629988a8a6a560dd2207d02e8769f05692c3178b60fad76e78993cb255249d7ae8fac228855cb385323698173ae3466fedb7e9c6a489d46b762f22a2dd614de5d3e0ea5a0a55c2380df96f67f2dae0d0f57f50749426e19ca47dcf2f24fc20b1f6d6721dddfc2b833ca468f27a9a7637d89561aca26b220e2871f2e4af8b8917a67d14e526519ea27c6cdd905d33d3326b88e17c0af32ecce839b79a15037b81651fdd4e37ee7a6695bcac9c09204011a0463cde8dc41285bda29d1a1841c1bdd79b951df3c93d264d026b7a4c8f0769b28461b5148d3411621d1519b3b31f4fa35050cefbc89e8b3ff1c79eba3f7a3a0127389fa4fcf7e28034cfa50a2d5a9d88a643d7e008e9a2fec3ee45cd6c9b19424829ac5cfbc7d0edbf1a8c57d87c9e4931810c90f2c3d1c743f363fd75ef354f096287472fdd6b26d1b912fcc5df2115620aaf92328999b428a71fb640039e6f8f999cb7c074c3066f67bf8cb54a412557518b2b6ae4da5339e16a9c08cf68768a4b83506f84e464e7658e5c12b3936fc41a1419f666d9cf55e933209ce25a33f158b9c68148eb29262a68384754bf4b6407560f0e8142a61923077a426c837b3dc8c447f0c3382299a781f365c25d970fe780be1f3a3d551894ca607a2894a04f78ad4531dcea6bd312e14202b3459baa048d9c7c0099f4cbcf4e9b771dbd500bfe5b98e80175413afe753960712311ea5674be3cdc0da851647165aa682305212db490fc0f60029e486da89b88c128657854af75b373669e6b40c53621668549faa2a2fcdcefbfb5a09a535ba1bf55eab565f61e74a4353b072b2e82eac02e786c41709a2fa1d637b1612de4549cbd82a20ee865aba4ba3d5ca70f2dd80e7b9ac9e058a429f7841b908f353ad07a46c811a03f3ce1e7013165edfdfe6afc265b2b810bc26c5fcabc47056e727e57cb91b5d59cc49fea897c6c1d0bfe2d65e8d92e61836a3f88e13fe31b217ebb692fb34b078a389c9de752b81d79f3f7ce9365199173d1ce0fa1c4fe188ecd82d6ad1ea5cec469cd34332a76fdf340ba427e2b09e98778147115c05a01b7e12451233677936629a9861b7bb4cdacd322430fb6619e35bbce828e547b9b3f0074338242b27b29f2602750b05c57f0cab5bc5b3767493595c1bb36e2f8460bc1758210e11993cd4461bd4a9a37650d787b9545dfc6129201f655f053b2545bb7b13596b6e732293a89fa2094cd957e3d974b9caf437027b994c7da70543301df0221b8b1fd256954263635d5cdf85d429eee98e0dc5ccdcf3bf6c7910709b40adbf6ff14cb979b83e799c636c399258fb1191dc4b6d3c8dc6a2c9321b7e0c6e3c80f84942cf2fcd3f7690576cadd920ecf9f8b7b69264621fcec09299a5c8cad8ed0abc68c1e529b4fcf12c8e20494d29e554caf9c0bea301b720d2c84e05de2d764a29361ecdf5b6990a8b041a00a775da3dc68fa85275dc064964fdf9024edb2ee322a222068ca309848984a9c899a48b0aec59881203675c3efdf8c27faaeac58af94f952f6de0dae0a770daa85cf73bdacd450c331533847239b29beb88918e2167a0ee28a97fb8bc5268c96a17854dd7bbdca60b98ae0f0afb1baf0fe4176b29bca0df35525bf1e63e1dab494f9d0c09ccfd9ef6e17d2307130a05503295a60fc6e83ed9808ef0b68e44a158aca885941f96f0b39b4723116973eb85fbbc6acd8f90aaaa38c137493f7694154c8ff6f9cd21119333e9a8c30a78942c28487c09b34676051b4a3e5b873711f40429c4ec39c2aa34708c468b0d701c3ad8fc5c786160a0b060376f9406758d7db321ae52fe6d221f3f0f2f1c6bcbc58983a894c4e2681cf6ac8999aed2196eaefced6120f303d12ad42107eca5c3f186551f8559ba2c51895456819f6c73ca61da01e00cee895d073cd918c97f41760b714d2668f610c9669b018b2bafa8fa2bf7780eb818740c71f9c594335dd7c04111c85bb5dfa87d249b84c2a87b7b1d75a5c3dece2e3d890fe3f1b9b9f8f1c8c48f36e1ec2c37840feebfea0c7fb2765776233f40386254f653d6c4fa560b2ff6a496c5a817f55a90a6e4ab9a712d1257b08e9816e9862ba3a34e74a3e7d6b20ebe00b876a85ea5a5c30b29b78783c152e6b8d73ccc0fbb406e483631048bf586fcf1fb2358feb17e5a64e5afdffe099ba202866bafd0e90bd1a76c9736cfca44e1a7483a9e6ffc2cd206f4f4797c976bf269d4d98f3179cd784dd9c7b784cf3b60feac77894e16c6fce2ef8734d9fda62da4de68434af02ed2c51af18a031b811aa65f2a22e2c4b7392c8195280b8e8a961ec3c6a7c44296205770dad6327ccb7b47400edf38cb4467204b33f394e3d20b67eda76dcf6447753ecdea44f288fca9001f8f03c8b886e36c63347cab5594d1646b430f9d2babf5005da6e51f28bb105caf403b4babb09ee3c41cce46986b1e63a7986c9814885559301072ad8d34913cf02b13bc504451ecb8b983f0b079b3776db6c49495a78fc6032f1de87cd65d37cb9d74cb99ba69d41b5c5cda0fc06fb2060ec9790b9fa8c9ab032990e46e369375f754e70738e7801c8190ecdf082a029a0c4851aa407fbb85e7c40a7eb1919e9cb38fd753370eb654387d528a5951506a4ea13928145e90acedbcb759c241691bfcb5259e51cc71d04ac34527a7f79093e2da9e0457ef7595edf237f4e23b1ffa7d7a13bccc6e773b19b9380009fbf4d7afa56738987de696fb489fb9280cb49e4b93209b8eadb05f17e2fdb280d875f90e28274d88d63ed1a9a99ae1a9b8b76889a9a8e751e546a1743db5244bc331036f3bd798ee165542b56dffe7608af7bd580084afb868e6c1fb323a7a9898c02f4cad186e282b49b96dc5826233d53c58e81c382717eb343256401259b17386ee57313780cf985f26c4e577feeb8ae8197048ca318d674550848e89ccce0ceb85032da2fb265c04b3e95b4d460b65a65a59273446e6d2d579d88df4573018bf69878f9cbc1b17825e3349ce8cd15fe4bfdd668cec04925785ac8e7298e9f7063851eaedfb1fc3e0b6cc85a427066e93eb360e7834f4ef2b5be66464a81d7f2d8c71146153e888452141b062a3bb2ce961e965f209a767312846e98b48324438437468338b4468cfbbc529fb258f652b0b33db3023e5984acb4227d519095ae9846a7fdedc341dba616d88eb97ad49246b48c4a2aa4e9cb5a884fa26b5a5da72637c1dff56b4140a9eb2b148b7dcc2cc10b16f7e21b95df6aa775f972a36bdf0e0ea345b44bd3e9f99cb97c94341297d486fc1a6d6894f7a1367aff2aef9e0d217609b9cfe7eaadef72034a6cff5b73b9dcda1a30c993057ac00b66120c9d89d4a0931b0a9b8627ddf80eddc020a7f745488c9abf658f7ad57a50a817893a386550e575709d6c3a976ba2ecdbc04fe31c14aedc7ddf10ce025fbae6c40bff684622043737f504456b9ded7166cf9fc2e1f1012dbc0ae30bfcec0b99d13ff0b1a48293b13de505ca415025ac7c2c5fcfe77d78bf7e26e4b1c794d9113edb9ea39804326a40245d2a8bea152023d452924c0aca983481b5b5a316b8319542f32fd9349e7e437ab1e447a9170ad3364c3a487755ea0ee82a91925c331c2b5c5b003c253505e476f7ddc2b44180a4774b7d8a0003494c888c84f8e5e7ea72188655ec53016ed7f4e48c0c70e7c06273a9e1e8fcad5b730f601fe4ed5e89ac3d5dce4ddfb8f1a6e6f2e596c2e52c84cfc5fbed5e412d08bc3c63bbaee0c15257a9a86c91674b4bc9286891f2a09bab7deea969afc0e046b52ae1e016cd574de523c031320370780814296c59fe06261357690f31a64e29c07725a2b5d4f5e8d2bb1a543e1d9059a916ca7906e2cd32789a7c80a2facb82e305921cb05ca85ce5d405813de6009fd538ba0bf4ea0fa2cedc7b9e41ecab227c36e9c4e77780a08de78720a154611cd1e18445e25bc386063f54060dcff6b82622cb0cb7073d7432d9f487792cf8b7e320ee35dc08d7a418a051a630a16b41751f6cdcbcd8610714c89467c169501d4163f6974a643638cd4da4e60531b95ec982f6c0227b20828112e0a73800ae6749a989fe1b22684757ce6e91b7aef5908c0468dfdbdcf2940781464166ab5f52f60e0c5141f5e8127424d200f0f14406c1ba63f0017e3fdb9899a8d807f8ff490ebff8a6fc669f7c0ab5398a9d01c6185227f3f76fa5d5a28d02de85a2b694d21124111c08937cb1162032db286754092c6fbe20f5944fb96fde3f4b000aa7a64b7eaa7c55e3366952794a5a4dfeaad9ba5d3bd27c0ffdb7a887a336d809ff53023f012e2899e740e732ab1a69111b94958b1545676c77f661a150dbce3d02462786ebe648805c84868085bc78e3a7d956697e7cdbd458946c531243494cfd98ec7e7e093135a4c4eedf6555457e1695a25a8a720a98d0c917bbaaa76b9140158c7f3b98f051b38fef3d2f7989b6bd13e6941da0d1878e6f37ba7bbe2da00946c1e6fa3f0936ff326ebe1e856ab7a27c438f10ed920f3a47d0f7140c88451d7249ef92a42288eaec4b1a3f1572222c21c296e894d313769511560437d5d747f47a62a1e714820f18abce8072cef6490a87cd983c6b6b7589621a7aef55ac97abbf1760a8c9779176675d619cae3e42689d63e8a55878cf78559eb4628150c5b846db0ac1c0c51b0f466a332b98b373f467c6eff4e53f731566649246585e928bfab945fa8b6144e8299f999d9a8e36df3bd9ba7aed1f75ed49f6ceb8cf3fee6802445704c095ab9357e9b81c48706bf4b4594bbfddc04447f929f2b7e7351b376e155895bb2a9c9d552072d62a419f38d1aadd5ac3b366f2c4266a3c3c12c8a379c62bcca67fa6904add545bd7a90d2e520f5a8769d41d60834c72fae066b39ff5350cb5502f79ec2fb6f07fed02787fc587b8b03a44af16c586baf5232cf6b18126793d928a55ac07f0d95adbdb824ae16049398f1fd4ae1dd08c4a8eab3ddd7d7338b39866935636f3836e3e40dde87194fe8cf5efaf8ad6af3c7feafda415e40713b436347edfaf32e144cbe88bd5f9a2d6aa8e6415f4f48b800c17465253176a633f402ba57e71f1beeaaaf4a083f242513e96b397025d1af98bbda23309763e60f186865a137dcf40c107d626c73f473564c0330d0be019b6bc45a969aad396f8a96bc923ba61e0610f590a271bdba183646053dd2445fd1557080e5146f5869095343002dd203bb75536ad10fc0a5b3c9862e066c1312ce75890ff8d260ab004ba28e0e262d6396aa33e3a0b3bf94848a11026a39b230277ca0dd404390891cf1e86e18417ed937064b07f66249445086239625bc111a67e33fb07a100e6901ff905d4a97dc1f4a579f579ba4d9501d6f5551600507ed46d3862556002f8ba685463af88bd93cc336290c50c25a4049a0c603c07494608b78b835dee612678399ea91875be9a9745d5b2305108498e8f74b40df110d63f0b53ceff76159b7e226f8e6d414f0cc717fdf914ad377e5313bfa22eccee709c1b9d54ae6c75954cad5096eb7627bb8fc307e393173b898d1313a02dbd0752505c99a5c20c0a173ea1cc5c90250219f77af245c6962338bc49d791cf2f649c42572a17844ff862d485d6dc74316c108ef5694e4c84802002f8b277ff7f635873462b47a56ae3db4f9f722dc168c48ac5868d1905daef2a9c030c6065111f14dea47a5f1aee6eb60bb7f09047fb8fceb216f11c67b15812e966606350ce4f7dceccdbeb1ba6409d15254c6c0a055271725bcdfd218ade7cf83578d58880a675e485e3991f2db07930fdb8547add31dff7db70a26db710238843110f12b4a96d4df280d04b1e52e3652b7d0fe6064b411cdaa2a99e599fa1916cde0f2b5df5683dc31fbdd9b8e09b84312fb7d033bf75d937d626591048f60e4be1651abbb3237dd4d95afafbe3f4d886e672342f3e5bbf55e153c041599eab888ec6d85c3d192e83364cd1950ecf6b66b9d67052a4a4ed2a064aad9f40bbf2c25bc42e449209f0135d6c20d6c2ccdd9dec5610f700b0907fff368b47c6a78e9cf5514996fbf94adbb418db3b83e00bf9aee4f0a65b075d14059b23179c5aef1a295d3ca72da95812917c0b5326360b5bf3dc5ee7123b476b6f28523a5aaf9e56d7d44839f4c8cd6ae9493068b67938f32256ea3a5827d6d90160342b8af80a488b95fb4cea9fdda7b77f52a71347a1caf32e9279c28ce1b803b80eb3f273ac12f1e2e252bbab9765dcb44a8a6c57fc01b8fd5cf7132f21ff1c14a23ef2bda8ff812395b35a4602ab327e859493aa7865cc18310e1a1e77e0782cb3f99f618eccbe4b71375b92932b46ec02eba71d8e1bcedf7bfb1b40b86015b47674ae6033530abf3db12bef2cf34a9ee82e93209dad4c610796846ce797072ce25f7a5376b6c518e8e64fac55a1d9736a2c78a047a5c546d4126f864bbd842fda24051378d03ab76d2ecf6527d53412612255bfb5bb7908d52640128dad741f0ea96724a6ec5776f24669921784db149617e9a63a40388bc618f491bd5d6e3557e0d3a5c4389260cde53ff327d21a6b749e210f6bf1900dc856811ab7ccc975e17a1b6ac067c604a5b4135ac2eab439fe73defeaeeb0e0a4a7479d120389363885e4e8f1f267883b7c222437c3f507e95a2c42ca7f9c8f46b0f1b61933126dc752a0eb88e3d62d520520be6938bb7eb6602b3a0a6d0f8ed78a1a4c5ec0b624182ba8f1b6db9ebb421d5831bc5b6cc621e680b5e5c6e122dfd99665877ca79487016693a56b264d3b4214834833c0a9183831ccf42e80aea841b6e6b1bbaebb4ac77c496b1cb67bb48760ac1f89f764dd8d0ae1f4fb0270f800e653963f9fa6e500cdd8109cc349c9b31182f7afcf8623ba567a5052859f7067af04fe7573b2510a48da7b5ea0029ac8d6d6bb6a278c96afe136134138c5345fb872630a350c27f4d6a607e069da6f7252fb885b21baae1900927bd56a78a9fc02eeaa926acfc851e69eb6bdd8783681411bbc78bb888a9e3ce879cab195a3944845b1b972237a0ebf87c555215325c02d47db99fd109f4b17dcc02263facfa23e2701babe3559a53e2947df095e4155a9f2332c54b26239e20f9a53c38f40cbc87e68d0af6bbca9324c4c66fd2f2f8e205b9a885cbefd863d9ad783bf224cecb73d74f527de83e1b288594c4b03e65fdd2cb9491346d1fb61398a5159168c78883fa232ea73e22ea63681aed0ce266e8f900f9a721fa4e1c132d2c719a46356309d979d33d7008e9be73e481e87dce580bb51370a48014d39cf95d6820d592f8c89979eb028add8ebae6317b462de1390dcfd2f3d92d3771adee6c78b877ab641b10cc549fa1fbcad3dbac39f37398b50fefbf6f2265924be3238c1479a682d4f342c8bc7fe84a5803556c521d9999ca9ac0acd485ec174b7784dd8a5c14d1debb9de3a5f311edcc9632a19ecadf375ab0c4caf950bf5ab177339a9040c4d62dbfbe4f720742cf1657797eb85a4ecd4156fab9c59506d369d352c63401403ac4fb833bed412dcca7bd8c738c97bc6375cf2bcdf81198eaa98d70d4f1cce72b501b3dc2dc0fa540839eb6cdabc4760d794cd84a4c37f6ca26136bafaa8fc403b4b0e00e34b5b9c673e2b8f71b3d8963ea20a252b8afc191f5502857df52b2fe9cc8f54033d53c3301266f65d661283af51d537f3e67bafcdd051106e4cc1b92282149f620cd8623ac2808d813ec4f62040e08aac87f03a9048cb4033c02d9f2432c218a486eb4d18ebcb6d19d79fdef1131464ff7bb8d0d3aed99cc0a140f9b5f5a85b85d89743230c8f6324e48bcc717929f0c857f662765957ab4caf09f0996e548d55cb51e59c148e98d4d983712d02d0f2f53ebfcd0ffda2abbee8cbc7e8e0a4c0e60056bb39342a7f167534ce5b4cadd12cb190b1fa7494e588ebad943a0631b9bfd963b400205cbd2602f8a862de133dddc0ea7316a96a97e32f4c95a48454609ec03569096c7e6eb77a7dd571e0bc8294a565cd01eed3b7f18ac4d5b1de4ae8e56751c3f8102275ee64c5004dcb6f059049810c07add33183223c798467179c4bc4860d543a7577d779b2339de84053c172db90fc51c1c50ba8023ab53f02258c1cd6796a6dae71eaf9e069028bc263e85144a3d730a1cc6a1dbcb458bd6b2a3611e2e286caa5272c6a510476fd6bc3c82c952454935ed9d6f5cb2515bcf3187ca59e9b4212a6423ebac844e285fde25612e37b0d42d5c0441df3c100d548b13b414b0fe5c2dc53409eab054bad96f8b72be2d04e8402b2f4a3cdbd6e28760dac27c75ffc279ff8a11ac9f93b9bb1373ed51099e72d3ecbdfe129df07b164c24afcb181a338c8cf832d3c21887e56a5e12c2771677921acc518dd2fd13fd2225f62e840309b87b78c90a104c1805b4eacbbb83277da95915933c8823db4c0ecb8b3846b0913386648da71fe7360f27c7b17a63d0b705c92d192215a17a73ea66b6f5cbe8c5332d0390c5f1c9b268d38e34b992245de574a0b74f403bea2439d4bee7082d939f3dba81d334b84a00869c249f31a7fd5843dd06c1bbd29af665c94f3cad260dd9dddbcc7ed985b342418b55939cc9db09f4d71cad17026e63f53fb601107a465721f9113d35d822f196a0102ac5876d0b22807e14745f7f09ab7ab1ad0521b9fc8f6adda6b489cd3f0884e42459af2103804f1563bc9f8af72784a8bc41d435ebddc0d9c327a775430def9f14fa2038102e1531ef14fa4a3ad5c1323393969e990630b6a33a8a9488ac049a626bc72817de4a79ee2589f538e3a532ad5ce789e086a811a1e895886d57cd1c53bc7a3605178d8e5d4837544203a74304aed1c28f9f6dccf2bb1677d6e9c1055508985a0c7a567f69efbf0352d743634ba8cd10a3af1117de17035e06469d5840018f42dcdc09d124d37888d47e57abf8e74624ffb73a1521b8ed405f39b141ac6f6dbc703f5556d4456fdd06270448e339d7bf52dc39ef2b524035868e90fe4ce06a30a6d278ba5d0e7d686a876bcb128ed4f2babde8091fb692d2fbc0a4c8730e6c050071d6960ef4640272355283bf349ad09013b468adfd545b64440d09df35050ac87e24085bff4bcfdbece0b77aea219ff4598c4e6216b438250871d8f8c1c3c98ff3b23c916ee1aed405c2b0f6316494a5427f663517b5f8d5c579954ba39bd87bfd78eca3fb1e98ff251cffa379d80e6ac3ecd70a80442f24d06d33ba3bbc26e0475174731307aceb629f4b6666332145d1fbfc61e528de811d6fab3a92280a2d4c07d35a11008428bd7522e4499249a6588ca772f0dd38fb9b0965b3e2746a34c6f8d671db7241ded9118e1e3a24c8de71911ba1615575f99340907f1dbf8954e785987d03aeac588e6cad531bbb998f963ee73e05b103c60eb9b6275b31ae58fb80818acfa7ac1eb7731ade33e53c6ce3b863f628315c349197b6e2c22311fd193de40c93b5b05083a018172667683c2a421d98b755bf109eba20fd70f42f2136296fae0cc0522fb60b595964a93d9903a2818f581751b9e8f15b12e995e3e9156be32cdfc348babc8cbe93b819de23e97ef0e65daeac9b3f90a2bd4ac90d6d7c60a4b1ab8b06df254d948b017d142e499f8c820a6335527f914024acd0ab8702140ea73d5754a08c9ca4a99fb2c0d9e07331215d847b9aea57002bea0929ecde75b722c595a4e763f700c02e50caf33f6da6f5d0de95ac20f29cae32b5b5e3d99d3dd5bb5a8995ea9224604ed29db948ff687a03859580014f0fc8b72b03f0fb275a8c3bb13f66058dfb0c83acbfea0f41aa52969d91853a10dfcf9c642971969daa23ec6ae537e173014def4f81e6a66c0fc7eafa9f6f065db2391f765193f9fef0c4dd7ba91b60ec6bc212448106d1d746805fe9a00a26dc88999beb12fd0c780043a1495819208b549218cb7f9029309930149fe5b7afd11c212319cb5a5a4feed7545d13a4350d831ed74b843908c0697877b249b63fa963e0e3d730fd11222e25f456d08fd85a6601908e678d70d31d38446d3f983f17516982c79cd97341daabd7391f642c451f838a2e83d4ab12b3d1cb6278def2450c1a57f4a3675139353c06dda9e34e1e341e9b49014b41e49f68ac26da38feac294de2d8e342a61cb8a84dc5514efad3fe9a119a2e40128ba9b25801eb46383817f21eaeb657fcaec7e7486c24611496e7b7be45e93e7a3a310b634d77b5d84e8bbdfa34008b27e6c3020d4d166db1ce670079d58de7d645ae9dd4689984bdfcacaa926e780ad6489fa4c008dba23c514c66991b9a76a984d72301dbb32edf9da040da75ba0fe2792c67cef01bbcb9d33999295da9b45ec0e84f90e94b3681bd89896419e936a4f3bc93511288659974a5b7df96784076d3f0006471477ba057df39cd64f99e9e429c92c7c6a7a2f33674ca5bdafa0368bd4ad63615f3c004a4260896a13d91713fc5a9ef2f2b048361bf2116c5d2ca5364443f115b0b9f4d2c58236cb0f1fa036e792d5060355aed11aa3f3b8a7186b3736959e59f243a34cabd10d632a93bd3a98a398567f7b1aabc6856df787f4efc007674ede03b930d33a8c0ae60f316f30b3c5cdafb8e24b9ad29307544869265d5e0fd2bc603ad1cd7cdd7dde7f49c72a84ac93319371397ffe4eae534ae76c0069049dfc319b22136506cc41182c7aa5440ec5d6b87c6a7e62ca7cd04b77efe3110a6cf5a091fc2589673ac33ad3383c093c262f47dc608eeb3b7d67225a624b7c5a6c5749e192b7e92e9e494e3d9352545fac958a17f9e978fb78a214afc801257fb2207909fc11e8516963f0772d73b0f7fbf13c740df49acee005b42214050f7a1062f49b05560ba8e67bbe73e535e40b70beafd8a100917ccec88a85bec920fdba499ce8afe0e92f5d372e9a2caa3a9b7a6c3201442cdee1929c4a2b7ab5c0342987cc721dd0b64f29feb0b15abfaec8a6b6fd21653a82cd6d0a7ad9f0d6ae574f590adac26cb3726690ef92082c0d15985e4b4083f95693afe2a74743ae8f4bec76b769087a52f3f7251900e74f78f1ec9c25105398d49c63d79cba32b9d2ee280621653614e9237f58601b4a0fc17b7a7bc4151d14010a8895aed465f081d12a409c70cff86417c9966ce244edae4a50831fd701f67cfcbcc748ab2ccd11e292f3d8efd547e8eb8d23640d2fece5e33bc9fd99553bf45262dfcef5f3beac47d5a3bdf8f176a8a242c24e35de5db420cdbc11c4d383cd13d76247f452b431e8842808fb6e75cfcdb1f24add8b4eebcb89b064e3a3abd1ec00dd10c1ebab8719428ae57c0cab0c58b4219586224b834f7fbba20af304488eb7046c51e778a788bb86327441522102e41f4eea4ef9574d2faba50ea4c8bdb56a566533269c59cf298281a8d2e85b2795f82b9e84f0bbee45dcdfb563b504d04acdb09314d39f302c440d795aa74783dea918e8419621d9b0880bf7dac3a0263e62658c1edd2021736457989e3277270bd1764f284efb9c9fef2b59c04c8b0ef4f0fb680c42335d322cfd397028deeb2fc762d5b459c7b0d4dfe8a21ef4b0d4cab8f2f5be6487c7debc9183285c79edee489113716eda8be1b05496a411c4b2233f5c75b65f233b609bff244d478cc33539905e718a1b74df3276113289560955c0263abf33614a6c74cb46063687c268f2db7e62c79837dc8dc503185adba3fddcf712ba00860bece0abfbe0c4261f73d36ef23051a1c7ea901e1500213c03a2a311ec6dcd6fa3cf2d73677f2d09a1e7469cffd6e0165a003fd2776eb9fc97a509ba240136564bd799d9f56cad240ee87a5e67f7b02b847646205e2f1d2b83bb7167803c80dfee6d0ff2205403eae140c1f8d4654d14352005427f1077ac6dbe09116c95b0e99d49e9b1973bd19f1baf89dcb8224a0c80adccb886b13e44ced542ba38dfc1fa9869dd273f1b1514f140e4617b3e67d3d96eed89cc7f38f135d2350026325083923bf95755997658e6fd7b1b9c3a70be8e30e737608ed4d3f56a9b93eb854ab3180e844a758c62dd51c79468629cc6777fc68026cc3d98c127ad19e089599d1e6e6990fd71c19dc996ce2a88c2d826af0b8fce085609551a29b991bfeb3dbdd35ee45a3472bea34bccd16ec24772de2f1ae3769e47976234ee017794e1fe0ac86bd508b0c9c2893230efc9240476691a634ee9a15c41b59d46826b9e926ca33777c70d911d0d3a5c42b8af2f38c5f6fd095ef45448f92d5f892f9b7caae5952d121fd750e882ffcee76b14bb7901e50061aa5c170ce876a612a23231586e20e274ec5aa1086defa5df199f02fe5a0e2195af20d803660573f6abf8c9b907f9825a4e5778e8ffd1589a2928fb11e9a7e7862ac14cfa9bc7dd29715bd0cff0e7ae7b1987ac25811faa6f96ce12ea6370931279f3a2fea16b1273adef7826fecc6a8e7a7b55843c187ef9d6081d694840889b5949fb993c27fa404599b8e004c9f1b77fa983f89ed311175a4917dda841120f96a4ada745e432ae574ac82b08c07d6f52553f63acd6e4dc5f4a1368fabb154f59d238118a31eeda455dc3d39b9dc29f9dede94b0e7b153cda55ae96a0260b481250150efb51437e00d99660a2a13cf6569fad1dd2da4ece787b30566a9fc67389ab70c338a60ff568e1081605faf89bb99a0b1cef331cf1b4b3683f937267fee4d3fd4d61c6438ccbaf44e8376d82f0b53a869cdd472f0eb63ff00169ed5d3e05ad83fe9fb41837428e136d939e49d8bd5e54a6daac4349456ca0f922f2ce77d5a4ade7fe96e51ab600ecb6033ad967039b26dfc689480cfabb01641f3b8c8a090e6fa1b42b4f6e32d660aed671568f8598815ca0c350f77dee9f39006bf511358a4a1e6662d160fb68df0ffa71b976475a95078b584e36ab5beedbb4b90b1e1a5902a5123659c53b88e07909e095d4ebccb30cbdd50f2070295d83e0eb21a1ed5136d2abf0e9334504fc7a666d50840a7b879d32fa63641939ffaae4f4cbb3c7e2a68ed253ae703e9ae7e4e4e515d530d80ddc1286f24f015b01807933685c64fc56a494e48b231ae13b2be12d1a40e7c9dbe22582c0cd4f1ed26946d5417fa8067b46e0f063026c4e21b537b7c34d2ca29d268fd2a1b01c63eea2645cf56ac71415f5bc08cb20696ed4bff7d343a713ec3779306afaf177854ac950ea1f27a8a2565bdd8147a9f0b5ff045b01d457e2de3deafaf59b78c80742a304c85fd7b27174b2739cf15572973ee4d1e15cc26a7ac40a88f972da34bde231065959a292e13aa115cb0cbf23d52b4c281d9b72654d327387c354d7a0ea2ff585aa007e6932cf3fc52e649271f2b4b40a5f2e3329ceed80ed5b78d1a7a6231acf8f432cca7f3eea9d1b2bb987e15dd5c58c58d5030bc86d88cd36284cc774a3181e424219ef5c96ffb3e463b09032ee9ddb06b1e30f00b48dba31d1403033dbb3609fa8a3d930e280aea1e82de937d3ffd6e9178b1cf36d256156b96fda15ca5d0dc74dde08a4309e16d5fe93159651802ec37218bbc59061ae57f8feea45b3b4fb0d279a6211ea8e65237f8cd63dfee9a348722f9ac8f65d7fc870fd8cea72ea946b26427c1817f88257b774760bfd9c80e864de897dd3f4a95ff36fb069ca27d5f3ed3c3edb99649cc3cdab91295397f38017657d54aa30dae6fa4844c8f1eb80e34e93bee326367d43e45d7bb9a0fa0ad24e37a66d718d726aab51ebc7a74354d66c5be73fd63b052c300784246cfd5460236b54e9a68fad1638a8adec03863b3f472be33399cab2292815a5365f72675517e6dbfee572b2557f3856f6ff8d1783c27ac1562bc2aac989f85918a368c9fefe45d7ecaf061106864a53dc1539512e3e3eeb816827f0259cca5c7053af04b7165f03c4b7bdc2b1b143c1de730cfcf8f46b0f1ba95461f7fc4d2352f007d3ce4ca79a0734756fc1c96e273c98803097a9976d221c96fd0ffd287136fd976534a94d22eacdf86451c07d2b952b9e87086d481abf26e0f2933ac1f755c921c0f7278711b975cff29b6fee1fc8c245e4292cfb5c5a0f05d4d2e7bdbd8bda92178dfb2e801e552cef83449f3d3f6298aea37f38cbe689bc578d44af58634140a4d23c2872aec4a65d863841c13af2e59a14b3de9f0edf5a0e3fd4b26e33cefbb3722ceebac3e3010cece0d6e02e7a9fe2c21e0839c60b7398db148878e7479e4ed3f765d4cf332cf7a23df42f8e3331ea46879f4d6184be18512179450e53ef14e0afc37f64df5f50d40566e8517abc6450bfbbd473901dd4da519b7f94033247222740061ab46796f2de49b76d8d7e50f8208106c1e9962f8b5bb503c27bec16738354daf717d5e2ba481fb7aabfdfb9dcdcb0a68cb88b49068fd6e6c66d43fd466c044b9a4d1bb369e24048bb9f27bc877979e4edb1063fff9f8251fdc8cb221d69d32e30201316084e1dfed3be6b746cd40e63f1b71d8ff01ccb826dafd480ccf58ad6ca185fc9d2f3cae64bd2b0e9db251ef5755926a93d723e5e1e603b14aed36d358e7df3a2470910dd0bc7d246cd611301032c1c6d79779aa513787f3b8b8ab732da37ac6b263a1659d4acd99c2d58b46818ae305c89e2d007ca7afc55f34044c73794f973b1cb5dcfcc71ef319e584f5832f81b03e19379138b493399de1e7d062d963e5ee151401144cd33ce8b97ce2727a205308a7a19c6e29ab54ced3dd3343b1b8a0f682a623e53f0a727472ecc46932b96fbbb1d377a3676385b1ed23cf0852b917256cc0574b3f9aad2698c76fc85478671b24377fc779f7c4a4df8d470ec85d3cf31e082d2fc20281322ebd3d3b8c65e556e97a7be07277533446b3b1dc20d6cf173e237dc8014c55309c647ae9c88d98745bd024f25066c39c0519483993d4dee960241737d7b222100dc4d826fd0e302d0c01a15e8be517e88aa0fe55af3576b8e6f27ca9fbe2d08b69ccf3451e722a4e7adaaf9d5b2e6e322cf0e2847f3cf72dd1d62aa512620d067444ff336728fe72204106ea3e3680520166db8b252d107d0f38351ae4da7122a0193eedf18094760c62f650fcb8f17c6d4cf487bf318eb2e44cdaead3028fab0c48271076f3acc4ce96ae117751bf0c2ed22d3d5d12b1a5c2c3d23bd00533140c4c51e57f6b1dfa5f02ace81c53a602c8dc9905950da51bec6da3cf22a896baa1e7fc299ebbc53b6983fe54c0d425918c53dc4c56e0221b7c1a5944700f19a8ab799cae3814c8a2bee2f304b2b05e02d025cf54ed3c51040e0d69e821508064bb1b68054a170634133fc0d3144f955d7bfc11867db21f5d9bd784a89740a6bdd2f20031b1576ca6711ebb19a0d1b34a2128d5dacd4f66fce728aef2ddb1da82f2a016941e48a1c233232b713e06268195bdf03aff973e52b7271aef818d0f4eefcdbecf5fe11f2598363174479421a1661b56034b3848bd16ce23ef1bddf2c38504dc47859b8ee9a0d52e5615d0a5e31447f22a252133153a61ba9f5c69c36cae54b70b5e839b52b13046c5016b4d08d900460bd3d00e802f7628def8416f25aef7cecab3679814ad8ee04a7b69bd45a82d11f03e5bb246feb424b874ab17781faafd31c472646b7fa8307b8f45cfa33519a3457aff3444faed29eb3578fdbbf8481e7b886a49ec813756fe97ae312ec539c9aaf73f4213cf7a07cdbc017ed4f986e83c404f238c9e0206f6a9ca7e9e1e6546313c5a393fb4d993fb1253eb82c57b9d6200587acad4e50adfb8d32375593ead598a1b060db06dd441d7ffae55cd337360cc1f20b8606bf62f4bbc0e1634bc5529daf2cebc0cfc2de10dce8d496b0c8019b349b3453d6549b191b51d580c98941980472cfe00e04cf99cc0d90a8f1cad5db409389c19c1646ad101a1ff12089946743f391be4fa40d0d6b65f50b03c4545f16a44d21ed53da33ca7dcfad3716ae6172ce97978e863b847329da9de49383df867df6386152cdfdefc1cfbed2a72621650f408cbfd8762f0ca045a52be54593e409c24d5a57d6bff0aefba67f5b78aa916d6efdeaacbdde4001b04ed50978714e52f4628c671ce03a91fc09c8de4533915c7cab34a6d9845ce7aa720329634eb3b0075a344ebce5dc4213422cf5be201eebb7dfa0ea147f352bf5a80184b586c5ca10744e70116768f882421a3ed4b4f567a62510697eded42c634a1d34f4a98c298aac6cba7c696a3ca536f17a0640b28cfd3e0996e78c489e5ae568010c9502d2440b99ecba765ef77b2891d3f686dcba8ad7245ae80571ac92697dd775eee7ee90d32b6d6ba557ba899bd052fe2cfa5eab61bdff48357426959789ea9ca1be5af313aaa55a7780c6fb147988d428feb86caa8243836fd62ddb18bff6a6f9b54c41d274a41fd9927319ac4a17ed128016e288df7211c9bbe888049a48b5909cd318f3818ad88a5761f632646055e0b051a281b8da6270e7e8a771df4f48356a3d9329fd2f27b1af620c96321598909dd48c04c90ed697e7f5a103c802ba56e54a191c35163a9809436155756068b6fc7a1583a9ef810b88f001b4d762f5a4a5c44aae1d432b1dc437367705227e1bf8d815609ba37a38c3e08e15999f776133ac604bc4cf0b71f285941e6eb0f471adb1739b6c426159dcfd6f9af7314f7e4f458a70a8b216841650f09e74c3dacb83306c15eb6a636d691d48f040160c68a8e01197904d67c16210cb3fb1aafc15533d6e006e7d9f164acda95f33c6e05ccec61a4506c53552ae587d59868ca223d8b1046de507a9fc211a919c06de6c432765b13e2d2acb46d8287894cded269b1a0e7b51e3b3bf5401ae089bddb2a216d6e923f84f1e7ce1fe657e1aacc548507b645d32589f28509425ec92410b037c48089f8dfa075221126c1e6b443d42ca73ce784a1897ec127b1211afbc2ade07b726f043d6358ef85f340ec5c7ef1efcee79ccf0432a5574837dcf7b6cf69e04078e7c9dc061a4aca5c8ae4d80c66a13fd9497d296b0213f963360a21ef9a52093dd814efd56c8b0381d29443d38d63007c03f82542419f28cdb6ecfd52f26d5075da876ec971d4ee794a8d2981b914c088664d2a3be3da4cc3d88cae9c40d8e1b1cb15124733a4d30977c8ae1a24f6211b0a766dfd7a6a5a140de5aa7a19275ce4032986897d8f5e679209e47540a0ca20f08b8ba34e8317cfa68d71f69d224b91a7ec0ee669fe97c6915eac45020ef271499f5b8b2dd5caf9213cc522a8ea4701fed148d64ad7ed463d0535fa8d29839d2ed8aef98ce4898b70b52c20478559a8d011cdba4c3de1f6609b58646c419daae6188e33af3c08ef649c779ea2fce2f2089fd074edb5a14d3a369a42be8bcf936e019a9814e2989030b57027648a1714207db558e6707c700ac9e4374b5fc2508ddb5a48b7e2d69f372de05d932c93298a184a4552098ba8befa0d84c3134c47b9ba1961a291d80cda4e5f5b96b1d0689cb1a6361a0e2e50730a32b4112306ab401cbaac52231443f4372bcb57d92bf4209420e8f72762bf40aba268809cc2cb9ef5e04cf42bdbff8c742a99b265bc90b794399c1aead8c609bd5f0c6f81aa6f0198d1572a9be7b94dc32c2937a8981237b2221d4f25d22421bcdcc3f45c7311caf24adae09767c8d4a91949694928720e774db1048eb73103dd859c4f796c3c629084c2571287e2537a28055b67a368ba2cfe69700ed2f4694caeafe9fc181afeca454d600894935e14937ef96bac865bd99ee668e7aa1489c49073a1ace3d57d0a7f7b45f4ab633fbc6613453b931601c371f9dcc6092d195b69e46f300bf57824d731aa6485822d601b442d7a9a91e1f1a03952cf55f58b95882bb56ba4cef3b0ad195397210fe07f909fe5f717452b39ab6edbb6558761fa3301e8d4fe8517eaf1cdd9c72feba6a39c8c1ffdb8b8ab2d6c60678782bd3d1fe5c3267fd039740575e93a7cf032632cc8187da13ab0c6a5b5f9f8e07e199f86f4af1846af16ac395364d2442b4df1ce90442ef5e67093337bb5ea6cb9a68eff8fcda42c9e692f5950f710529ab2b7bed60270397e5d307c0ce0eadcc6752894e803328d165a041858c3783fead8bfc2eb82f1516380745e2b6b2a6d58ef8c4bdfac5d43dee72cc81c7628d27aa0242363d8b8b45004fff5ed5f98eeb8693d35b1a9c2304d2620cc458290d65089155fb30eb9bd3da4df0a36b7cdb61611df4602fa3e8ec025ab60e5e0019480d963f289a4e92c348d5d341829f1c2b74d8a099ac89511045454f79ae1d05c52ae7d0d5b8ce3dcbaa57884f3598cb65726f72107d35faeea328764ed8f50fa28a9675c9ec93f57ee872448fb892ac1a5f5c2a03dc473c0e0b0671cd8ee34c93a3488b84b2d7c248eb859481143adde20101ab5a2477fd2d68924381fc67ab05c9b7e439532044778dc4e2785b870f480fd6c2075dff702c76827fdf6e02a716b58ab0f0360e76ab40161a964c087a6cac432410719e7dbb974b4902376af1ae793641f50982494eda604cad6c580d636b15f18c2589b6e9cb8277818de5688c58f3c7f8e7bd909f7d36bb65fb341116642b23714c45a9eeaf6bf000c77b6a16a1b55cfd3dfbf606d3cda0f83aeed7bbf8990300ce4f28e43cd95b1c3335635e210f7893c908cb2a9fae959f767c119f95de906cce8b0ab7f626c0f516de684d52b56590472fb815c79611fc07b17ce660fde47052cfdb57f50e8e370d3bbc5e959ff84ebd3ccc7784f3b97717e747ca5d3cdf1232cfaaaa62b322449591f37f1178456a07b892313f665576ab43f9b08ae5aab44627f090a439dd14da694262c906f3ac906d507f1df80c5329d196663d91ed60b50b2f18bc5b97e2ea683ade65ac51108cfa35768660095ce134edde2ba12b1c72c7ba82bb5b3c06f75035003f573ac259191d9a20c9803b48344e14fc3fc5baed86d778b15025f4a233d097a33169b8cc77f791fb7ad81adf9152b34f5dcc33036bb33714865160043ef7be9ca82e9b7bafb99e5bf8c2d0d1d83c658b1b38f3e977cdd02ffb0d1e66fe3146fdca43c305eccbe9b0bf6de5987dc55442119b9e7241cb33aaff82bd3a5fa2b6457b8bda2a57f4f713a78add38d62e1872537d5541b64af45ee78033450b488e32b66637aac29e76358462417ea2e8f16e41c61838bb6e54311a063d2439fe8a13c57cebedd5d6fa2519b9893da63726660460e17d23b333676f2dea326894c026210f52c9576a0569e60b6d9046efd5d1ef2e440107a4e7d8d16b08b13fd6ab8d064e11472df50015c87aa43a49a781c3521071aba4384943000f68033caaff0ccf5fcbcda498d2dd3e17f073b8f44d89615ecc2503626b129388ae74bf5fb1573d61cfa617a418f6f0878bfa59587c7c91ebf9454f7494d8cd137747c66e7c99c94bad60f6d31980efd4de4aafd7bf2dfca270968e75fa409b34924185bf3054b61a50655c3ed176cad6ab8702e19d462708a28fb62ce2687c081783ef6d8863e7eb7dfce4cb7f1101421c3ae77139d1f26bddc1d3dc22cef4a1bbc4bb12659a94d4676e7567e5fa9eca827c41274b18e2020230638488328f8449f1719bef253435f7309fcc509d21aa73be51bd3cb53ca9dbb6ec425d1a756ae37a11f222384efd6a5494a06d59c2bdc1c2f0c026252002f0a19b229e784d7d0127c757d6123efb49c53be38b2c8bf1c877b69174888bd3dd72fc8a9bb83b0e21aa5d33919c56b892b8a822f30e0c711e0854122206a2181bf9c43d37c63d83ab5c2d776c06810f1d55e5750b95ad818571463505b3247bb5746b52b1b01dd081c74e0af19bed746f2d23b7ad7f03e0cdfa5ded63a28e682bb4d7d4bd4eeb7b64628c76dd7b1fb7ab3dae56120f37ea7a6b9f616bfcf66f2189ef0a6ac25f43db6b86461ccf060fbef731374d59b6ade36d04f6710a9098bb07511a5226c028022004d664afcc79aad673af4f8e3856fea965e6990457173cd1d3eb89650eabb09278ebd10d61c05ba80427fff2667403ab3686a3df91577b64f0e58bdeef17becd97c361d6efba199ee4cbd7fcd1a506e6c63e02dd0d99aa7dcbac3ca2e65100549afbc2bf2636b5778c8a01253d8103e5ea59faca00dabd93d55b81ef81634e6e9a7c0bd5b2f7dbed6782cdbb9227936e8782748f9bf17241729b445a13722e7f6ffa7ebebb570794931c4286b98914ab2ad1ec8ad567b36f98a425938d8fd36e314ac3c6c498b238a0d148796deefe55b70990636a98cb2d2c207cfa9da667bb57dc9c5e882f76d3a0b07c58310b1e28ad0839856cd76cbc5499e5bc5fc507e3f3546c30299327958a2435cca2b640eb625ca33a2244a5caa581f80e5c625796acd74e8936a682601b82638cfc7f90ce495d12152c70526cab409fcadac84f07f3a7e46f059a8c511f6e2f9b4ca9fd4f64deafdf8bb356868c0e3dac6fb841a87c731e3486748f352790772fabd1b0b558c45d0ecb6076f1025733d72a9711cbbd08894fa98ba5f241c0bfe143a1d959efac7145e5014eff4b935f597bd18cee21da778adbf638a5cd6807d31defca27d8d1bb53dd6eff12a195b641950033033f01961c425928156b8b6269984f94b1bdf7bc3b9173553e773d65bfeda2f46b95fc1117b393d39ea694a878eaec81e49f8694c6f52ba264606ca88628a702d71e025ebbf949fc923f11364fac6fee6288e3fb0ceeceee4cb330b42ed68d2347554c7bd2c1a2036f80f252ca8f32e2c836b81650e3724374e5c7b642f77fa53be6d2b9c996f30c06231c4d8e1dbb18cb8b86a3f61a25f96058a4202e7242de94d946943f38fd7ac5cf6631bf3038dddf74f19e1f36aaf53d172bcfb487d482add5e74dd9c573c34280d9b37442bea17cbd3989f3d25edbb0e91b0f0f47531ddad442923810af07a0818276f5b12b21b21099f964a1007e83e9e2fb4624969cdd26e8c55aaefcdbce8e0e66fdddeab55a5ebd7ccc1adfdff54b61ceca19a36603264b170213dfc19123834d7114ff2108f00a81c7006a83480d79dbb5312e403d5fa51012dbb485d2a557a9878a32ad5194b90b160f67758e6d830cee1898ad2ad11cfd83fc120ee67c43601bab3031231ef96130671ca64f5467c7978928b78ca723d7883724883b9fab3447cdc9281dd0ce2bf392f0773d8bca0dbb00490dadc1c0728ba2834a925037fe6d7716eba43b71a75190045818e5c5e6beba67101a8048167ffb189922b5d63803ce61aa089b7db72380ee411268d07e861a38cdf1c0ec252f771398a18283213d30951a7961873123f05fa10402b1b30b7b04d2586f2e6a7e20baff95785c080708691e85f51d864166729a7f9354106dce9caf1f9a3fc9c4bfa5018a3a96dfb9e899bf7a0276e19c54c5f22ab485be977922a0c1f90314cc1aa95b32ec4bff9bd052f1b134f331d7af345f2ed36b16fbdac273a8cd2174a1e2e9579bdc5f02c325652172d5e88e38cf6bbf635ba9ddb3acf1443d64190c5ea164ceaa10ea6be4a3805dff74d008efd24f7c67634e18e6259dab20b4c5170c36c17d3044d531143bb5bf911a48e58a70256c68ca65a5ce0b01bc58c6fa1c255cd4605843e6a4f0ee92dcb5c087f7fabf4af29ac646d9752f6dac1042c70bd82df35600b474ccf2d70103297ed3c2d0e6abee771e43c05b0efc66616a5f1f157b00bf9c7f26df656ed92eb86e54772d69e4ec13dbb015a98d8740a40a7042a10f4ba52ff48105a4f866b8beba5480a4a859ea6ca9505e1cf79d7fddcbe30d7b4a0499d6c52d9a746170ffa8a1fb7222f7745515fe54286d9222d19a6fb9ea0866499a75b5b343b8b3648deabeb4757daa8728931b25493198b59eb0a494bcd8a5b1f15166d1730dd4d9dc1b28efb50ba03d0cbb816a82f2ba2edf1e579f9601bc6f977778cd24e377e7a226d184c95a17ee91d3b9073ebf536607ec69a32958bd6070d5f7810b9dc2ef19a3b265db05007f9dfcd87fb3149f889d7b26bc0627b96506d0eb8c5044c9cd7054d39a8113951a978a9f5e99add86ceec39c1b7a4a73686e0d528dc9f5779452a843b789009c02d4ed9ebf7b8efe41c557600a31330ccff78ea7583cc6e51c470913c6fb60dba341cb2971b62402332eb685c6d2e09a71f4b98ecb395cc46284a2e59c1dc1dc5fd08bfdadf4bbff4984b995687ea602c99dd9e20dae2f55337b3b18109c17fd8250b491fab3f5e761e38a9609605a59a03ec366290cf78884183193e7236c22fab91ddf6ced454ae8ba4e56cf35beb45f7d3bb778772056caf0f6c8c21c232e2fcd29d30833842fa2f31f88e199299334a4872a65db784219ca28f8fbc83c01e2b566a5a311e7f2476b660e594732363fe505cc799eb98c895570b1b80407f2ea88d5b2e1caba52fec8f06fc3ae3b12733eef501f71026854da58d9c035753b0e5fb01249de05eb52bab9b1f217004385a0a435848266fe3b048d26d49e098a4cbd313dfa914f1815d365f2667d08b96d2ef933f56a7e32a1022930c52154ee19097b7ac3044f503317db236f01ce82facd9f9ab218f3824306d7a8376e281a93fdffc58075adc550e29e9484d0c7de8e55912e877fc476245c18781963a840dca3788ed64caa3d5bb0bceb403fe00a9f01317b946785e2fb6cfe472cdd25c33be273ccd295d237f4b487652fe8954de16385b14d8151bd9213d830e23eecf127ca57ec9c76eff2f56d0576430ddecfa579fd05c2f1b89da4700698517319451937fee4bbb2e13f4d04547bf9c5b71c52c53bf590dc497ddcfe47d9d4da2cb450aa175fae73344204d8ed723a92ca8a4d966b52726a3cb3d35e31fb5c78b49714109e46232fadb0957de2cf8780adb461762d9107b6bd4418c1c8f7f8e48ac6400f8aa15d0c09b52f2033e94bad68fc4e28465a8eb5c1a7ea372792e08c0a88a64c38797a4d9151350e829a535fdce7d7cc3afa27703d27f41e3b417ab643d2201d1ba7e278ab947c4a1841c23bf85355730743447030e6bfd67a46a327a573b2d059c95901d04fe06f3e8d72320366cc9c7e9d488884d2a40d121195b338dfd2bcd358696b1f601f07d7edca68c8e29ee6ab4018ced38d791cc4fea560a97c5d6250a42ddabb81a91f5cfa4b9a7d0355272c01521e8faf4c625064d58a8eeb36e2988b42495bf836aaa7ad4e2ca5adf9beb2c55b88f36004d11fd0efb63d4699aabf645bdf7f3fe455ca3e7bc1cf565c220fa43e0aadcf00dbee1768df987683bdd5ea09b8fd4f64d5728cff9628a48eaf4cc7fd421285e50d12a1ac5a75f5ce5d6a9f6ebce7fbad0eebadd665c0739594f36cf879f88294e6881e3b56145d260d3ae237c75b68dbe8ffc1562042c970464bbd4811dba939850bb9de3c7ce54da42273f58aed2568295f4e45b1e266324a3f02027103cfe65ff5feb59d54499fea076d633e4ed71ef5774fb0df3c70ae76245dfa01c06cd679cea4fe7fad63e681daf4e01f5054a47f14d652d3f82e56b22245ff10af58f087b91de30331ac9b0819c94a0fd9cede599fd565b2adfa8ae7c695f26159aa145272b6d67fe67a8e1086dce6238df9264b1ed4138b0c1744ef2868f6ed6bd97cd34c98ee11c0ab4c2a0973c44f30e24b21c03d09e5769686285344c04a5a82fff8a5fdf71574bd61e4ff73c23be4671c46a2177cecd4419f4c777489a07aa0849b5202abec36a9c4aeb6f3300de132a104c80c9bfeb69149c6c8e93b9ac6f4dce44096e5bf2a52e0b14e5c1c245d21bd547685215454b20d3a55c59fd10e09f3f81616fdacd796ae859045ceade5e0b51b24454cf1ecd04abe0ab9600a7ecec806855c81d1655870845dc7a24d9ec7728d3601f6e131ffd1a3a306fc10c618d93d3aefc76e35466247133b886c2a29365b5f95050c758c2a75471bebba034579fed0485344e1ec3a103e7224984d46eaa501c558c4b26f17ef9df801b5b20704a61146fe053543c3fe4e631cbdd927b44080c969664da076e965d4ce6f1019ef85f037eb1b81db46ed7afadf9b874f18f3a9ce920bf07f5fb86082a894468556f13419500aebacc1b39205c630510890d15549d121ec583f3251a9ac61777e1318b538ed06929aa5ce8ec3966c2f4116eb0c96404ce340d91d0e58d939ddcde620c0ac2adffd1afca6d2336c194364bf3e28a57020804f1d8768f6d309f45de5b259ecc8dbac1dc1deac30e7b7c6cf72f88e1cedbf9b4b8f3e3a4985fa2d5c6668324b217d5ff71bfd925f4af7b37b58c42ae71814936fdc9e287b74f3e3517c9b081510329469af3891e522b43783062675f61847a424bac89aecd377c0e1ac6bf73d6c7814eaff2b55c6909807d8e67a2f7a8b515afba7b368c0ee75ec681cad8d809b8410222a4a0cc2d901aff7f62a1d9a84a24e573775a67ca3eaf39d4e3f9bdd1b5fb02beab1361021f133fa3e89c633c62435e131b02de0c075c8a36faf19c642f8338abe1d9765c97d84a5d0ab6bb8ebfbeecb873d96607374385a26e6b7208b92e932152a8ddbb7109d4c267bce274f246d0c57b7cbe7d24f59f80299c54d1cc4f2cf90c106244f5c53cf3bc3ec03ed71ef9af7a1cc8d278c1cf1acbb2a116cd8e0aea652afa0a7a51b3c958ea322b2c20affbc56281fde21c6cfa2f7ffc6aeb2a4c044c8b4a30234da02b7fe8634fcbea3099823222fcbab26d722596117394abebe60587fad3a0423d69156c98ee1b65462d1d252eee3dfb355f41ecc11f20abf80bf4f008740824498de6c609b010154781e016a2449c31d6e58e0f89d956f820407ba2a9f8c73f249f72dc9beeadc421387f29c83083dc682390e5b2eab4dd80d8d33b3d0712393ad8ea86ab2b98b33338480a57c8bc1bd0949df4de51b7874534c1b4c256914d844b927352c8135b340e73834a6328effb16a01f4974469d3e7b85e6e7cf9d138bf4cbf64661fe6c0160ed780789cb516ff3690e9cb655d9ed3bb634b398c8fc81be70800dd07c254e956af9c121a42401a31e4350ecfbab5dfb5c0c789dd4cc333d0df9678752a60f6d3035964a48bb1dfe49a1ce917b94b91f8b798c4d41a24dce34e55a1d85cfdba818d9b458d71a66ad3a654d1943c321b8da63a107e9bed2aa05504383e1055fa058114b89aea6c8c554a1603e1c2c683cfd909978808d49d34e07967084ecaf1ed6bf05d270a9f57dda258beddfa3b9570f69eef0aa7010b3323ec5c9fac79d59744065f87198441066a974cae5fbfd0800d8c6be2f3ada8b0c0fd95d950cec9684bbbcc45f6bf9f8fa3881caad62a9e0a390bf671c0ca505cb7f84fc508e51e6df0dcdbdf28fbfee174f92eaeaad6b3ac19240a9cad542309bb9f41f1ee92cd6a87f412a55c2ac9ee46829243122990da0e35ba8d5a0ac648ac5183f26beb778689e030151c1db1e1328d9fc99a9d6e21f331301152effc5e2697f2b711dc9b06b981cfdd48e8e4c1c9bd987980b73b84eb8cc1077720e601c8938bc9df519888d1e689862ba32121c1dbcb336ddb67a61359b60adc537da3d0e2fe9798a588b978de367a0b9da70340412c032be0e7655761c72dac109226b9bbd65c85401fced653c7e554487bc56d24d5491c31809c7d226cf3cdc9aa9fbba12cb57c760e061154af287703ef22315b147bc9b83c9a9909267c6403741960ae28be787236f0e086fedbdc8980e9b5f8d4f9a945cc6f58bc8fa69990896fdd55f5d717cccb160ff8ba4fb460a85384f151aab583671dd4e0255a0a9f33df4448c1905c25bbf8f82e6147d8dc1e40c72fa412798bebb5db83b41b70547d4c3647e50ecee8fcbf5adc379c79e48aed711e340b238f12dd446133e5cb4f5a5eec4e2e25196a3644b1d4e7fc8db23d040fc9185173b66241cf2c14b31e773628a6b7fc36a184d32451884b9ed8bf7d391ca230908f5e5efcd2881e694a0924f725de7adc808d6d505ea4ffdae0e86d5e499e34a34e73797cd75467295507803deefa897bf5869638926123e5b8d739747d47487fce73e4e99d1466cb7e782eefcd40f638a1a86dd6e5c6a1dbac1344ab486556dce53bc9667332bedb32af04846479cb10350e3e8350748480d2e217580ed0289d719321e4aedd3ac5c79ab47fd1d22ee0448f6c409a8d72fdd097d4f4ad229f30b77eb516e52c5b0280e38b8b7791ed81ec76dea5ce513e826b01f9455c74e8becba5c3713c9432eef7ef729895f4ad21dea603401ea81d16e4edf3a4e724090e5618e649f443dbed8e0690dc958a1b10f347a8bef77af156120a27dcc05aec3aa14d544d8308d8a68eb25159eba2a006fc26921cb41e6c37144539b1b570cc5e29e4fa4c8f15ea9c88287981b73b24ea056f8a93a7153d952d273a8776cfd5dbf6ebe18a590c961fa02700b0000da971788a88c082caf5616e0fa56b0b49bd35d895e773a902effbdfa4896d117246a2c86316bea15d87d99636227177abbafe0cd5411bb72e7b14213b5282197936d2ce62cb133e4b311fc3b79afd2d0e6cf30c8b8fc2da8fc8a46245d62e4a93d61e9e2b5c433ea14cbb0e2f40f8b5f7755e4907ad0df7df2d6bee85e3969164fa0ae750fb3bc620225d772be891b3d7fad055d6be6a873641202bb416eb51ef2a5b348e61fd1d09fa0eacc9b740d6f41d1c5c1a61600ee0051edde35be5a5ed07d13f3826e19ec1b2894f7d5396fc8a3a9b3042151e033a3d8b85a8898a3d51331fa0da196ad0f9464dcfd959ea1665706e2c791b25ae7b6b189513bff2bfac3e5774d981919fa6447f0cba82c0ad144d538657dad6abc37b4380f2c3b1b252aeef8f76301ea363a4fc574d0b83e50018ace46179bdc24c327118caf2d62ac00f7c164438bb88dacc5fb58c322221aa264cf60e2657e6cc4041d107df1ac18e083e4a9904091968cee0d0d2ebf8805e80766a90752c3700129f5f1b101e5252b741b1e32d032f48fd716cd2990ef82f5714991233b6e9519b4fc09fd03a1a65c4d8caec690eb94aa143b9730bded4772776f8aa3cfae9c501884b05f7c8f5348d488f3775b9d15f9e4d547b48a2c154f6bb302d0bfa22740838a82cd2d60f77b649d35860874215bd68c0c32ce92b436073c881944ff059e5a1c066683290b60dd48333bd9b7bff40a99417e3166cc4be284ff2c45d5b9d13ba34a037940e43b08930a1794e02cc5ff32893be3e58114ecca702b7fb057334242d980193cdc7ac52aa1d86cbf3f7020cd07a027f2f3addd6acd21c53154d407da5374d8d399582dd7030ade8b3f6a3386943303128bd22a70f3395b82df0c49a9c633fb25d0e10c66dfcdacd871a975074e40b33771309f80690dd1db0c4b20dd39faa8bf38e1ff3c1d54cf2af40bb108fe4933572b41c3e6e328c51dae4e1d7ba6605bd6dcdf8fe0ff00d67c53932fd2677e7407ad8660e138592a4393b7ca94c3f0cbb2b60ee7a971fa274471febee55c3cb641077f41b71e9ed7cc9818a4dc9ae90fb866e4dacf1c663357264bc43bd920a1f564f47f3800cd26876397e1b20b3eba59e6748e32b1fe104d073fb40d854bb329653805d61035f3fe2c9568789b0b2602d44c490b78e1c4a7dd662a9c22601cc50f4a207e77a8655b5c7d3558bba9ccac7b30995d97e8cbb6aaa470d1cc03b9c673f63d66cfe160cd043d837b41ba3ff42ddd7f520b3cff5a1da93190cfbb09df9306b171148eb806b87a63ffe9b20dfb5f2d5d26754f422c2e02afa5dca7b52e62d07306e2554064529f08f1201d2ddb05db408ee51b8b28cf73b623b52da701ed56ed33aa4b1bf1512cb3c60b0bd6633d3363cce65317b0814d9f844b2091639e1cda0a7e753b6364314dc8ec96870636ad7e26af6c14de5ae9188e41d36fcc9a555e1a75168c6f5e192830990831ef9eaf35a5eaf0e7bfd6a12bc", "params": { - "iv": "6f0a9df285e98031f9e78d43" + "iv": "476286afd9e84f2fc6df0b4f" } }, "kdf": { @@ -13,12 +13,12 @@ "dklen": 32, "m": 262144, "p": 1, - "salt": "4cb4d4fbd38fee0a44b15a6ea81345a8a0f3b70cab5c2f4d472cedef7a13ee65", + "salt": "fa9cc94a07edec8ac107d3123c03bf6e8ae1562f935c43213093f124bb087b05", "t": 8 } } }, - "uuid": "facf1c5f-79a5-40c9-b4d9-ffbe1066854c", + "uuid": "bd40971c-b3fd-4f48-8a3d-ce10c0f7d394", "version": 1, "name": "keystore" } \ No newline at end of file diff --git a/scripts/consensus/validator_keys/deposit_data-1751540683.json b/scripts/consensus/validator_keys/deposit_data-1751540683.json deleted file mode 100644 index 8c50857c..00000000 --- a/scripts/consensus/validator_keys/deposit_data-1751540683.json +++ /dev/null @@ -1 +0,0 @@ -[{"pubkey":"0xc566f3d122aef9903fdc17a3529cee59f3dd8eea2a53e05ddf1752c8baea23982299b1f4646e2e1dc5be952dc7b43052942be1bb303d6e78889e019757e9cd8f423406756b21821bf0e4275a2cd1d5e719e8d4154760a25df942b04786e5333b5b0cd7093b569e99fd17ba8b9163a36686d4ea6554f07ef97756803a3a041130782cec37e600e3e8287f6f881d5ea7bfa7dd5c201195f0f0368ab6fd1b03ccdcc120ede5c591c34063184732a1433c83be97911aa15229750f5ce8f0f42b5b9a0106746891c3834a81fc3515c23742bfca802b3b89fc2a0643c9d0691ca8f4025d09d16f647ed409babc0d95d54fc1d57a93090b344940951ac3244cb3ab42219fc07302de7af2ee8da5c0c5cc997af5a964bfd2c1812b4d2cd8f194f26d6926a93094fd9bbd69310694d4b2dcd34dd89bf0668ccc187648065f2ea9b8968a9b87bff781d1516b6415d7863bff6e1ad53608722ff29a3053272601426fd6981ef4d3ef9640022b4c59169147f89afcb82fa2fd0a6f17734473903ea609d590666b79c165368777a45aeb158d00dd99a91dc0a0b1f7b1aa1f14f60757cfb9dbe3ef54e6ad44cc60a1ab8f629cebec885f063ba46243f081fc8c6bc87a9b0fded957a8e121cb69e9cea4e7462d42c35832f464f56670952aa84ebdc273df69eaab9653190b83a2e18f6ca8d661bac85a4e7dcf450aa67b16f68a7525ffb9b4a8d7ecf502e1e30cca85cc481b2687b8a8bab77338b051b8998f4098405377ce1ab0225749d7e8122e5f0494542a00d54daedfa3871f2adcb263bf09d5c5ffde14bcfafd21754059df0b993099ee7b27f329e43c5af5aa2a86a7c1c2bbcc3c092c99a28ad361c55e8d9338e60d8e479012421d99afcd738b1aee3561eb44f4688d41f77f881a2a20cd6259a69ad9128d4d4974d53017b865236cd7f374e3d921195f7e7c25cbb5c4fed52f103a752d13c9e5757472c4f4a136ede07f984c61cbd0f1a7f533790ae8ba267987e237ef32ae58e07570bd9ced0765f61efbea61ddecfd109e32b8835ef94c9a1fa1f85ebd25759030b4bb0d4cf0c117c8c11a1a9828adf7145b768b4d81347c371ac5163cbbd2a2193ff4ad26bdd469e5a9e62572257b7377d9ead08875821b41ce62ec36e72c305a58e05164837195e086863a3b7fccc1288c3057c251341b30c07ba5ad0f70c51e4c0281a2ce9e509e5ad8810c28e3d4d0e6fde49a4dad561c1abe8ee75ad98153c1a5723df9575d387d8be3f349debb36e8c82dbc6ec5014d88f6f35955ef10be4ad9fd6c0e9efff0ef56e953a2ba65c9d1b9e2af2708800ec0e022e9e2e79ca0831ae29635d8a3ffcd927fe832f236c8fad61242393e1e810284b68d1da73e266ca1cbdc55382a83bbce1d1b3bc3e4d149186f9989ed8b98ff92f7ae636540af5e188d61b90d4b66c0ead4b02f1449e7d752ffdb9bc6a68ba30ae8712b490653d85b5074107e14b7135548095337d80980d80d0cc3425d352f4263c6e93c7f44b2cc2d9b03e676cf77fce36f5c10808695e9aeb3227420b61fc912cc94c13b042bc3e15f847710f99b415f120fa484c5c7fdb8c04cbcefc49ccad8dcdf53e13e17aa4072695163c19483b378986e550566c49c7a2aa27d1b2c33c5a5c0fe385c35d034925ab201ab8d6b9ef22c5716522cdcb779810c238c16afe3ed5891a6a7bb467886245881a641b00c489bba4d7f349de8e039c001cbc0229c49f7633c680ca93e8fee4d9332a28ad6c873f319239978a75fc695ddcb6907442e18539a37901ef6c9b5aabe1a2b4e28fc40eeafb26eba7dcf88788164811b1abf2bd47c6a8c79b04a48b6df3dfd1bd16f32a9b16d579af89dac088e9d6a65b6d602a8c8897814c983d22b1dce7adeb88c5162f03cdd1ff90fecbf87f8f0afeeb03afa223da9d25f6711c022e7c0d83d3388ff3abaa5a746fca5dad2d786b0fd7b4c4eeed0885dfb7355f20391e127a47598b6128f2daae5aa11a7a64b1128b628a8c98e23e0048293601f45e544bba065d2a6a200130f1f88787950fb9a74608d2937a189a946ce0ee8cef7543cfd22bc80a246e489d0048498ce542bb6d40510244addf9cfcdbb2d54548b3c33b7ebb7a351872fc5e5aaa795b0eb61b95e2e09f3bd079ec6e8e852fdcd2636a7b6ff0e7b83e72d7920caf6a1306d12b8a8038512a254cf0177eb73b3febf2be083f8ed27f0ae6ddc99b23801120188dd3bdaf9e0e7cbd2b5ee18482fe44d54e2e30ddc464f463491eb6c35f712455d8b718ed487a9c17dfdbffe75a1e2a7d8e9d5a3e6fae12434c101bb144231cf02b0c2fc1a0cc93b96e1778780dc3db0f70f03d41aa4daa41cd50edc15d11ce31fec2b765e21973384f54659fae3608d55767d555a3de0225b86b5405fee0d351baa0d9d20e5632a50fd75af44061d78c5a6a9a657f3da9d3ac6d9a658996bb21e0f27134647b5cb824b6569da4df1381e14f3b5fd54a7964cafc4d64b1e85e241afe5bbc253eb1030ba1baa59cd73cd7ef7b475e9f2b2a0b33c91ec761cabcb99cda60b8830c0e358da3e1366995682f6068b6722c5e269b35a9bdae474f30f4be3150f624e223ad22f2f613d2ae5015148919b62c3a6d66d1f12f63e864da19bee745ff471c3d9cb07b0674eae86a83f43d2a7601f5ddba7b5888cc530cda2fe95b15eba2a5ee6e452b5dd272ba0109dcfb223d2509aac6fd3ed656a84f5ed5b194924ad5f3e54a177d60f9cce430270f976981181f7eceebd6629e65a2fda7d855823a5aa6c78c9b15b8c55b30792c733086cf1b548df188ce0d9914feb09d2a03574b037b37a470acdf24291ae69fa6cfc53c52642e2e328c52db43db6b523016ef234a93cbb1bf4c35f2c28652b15c3cd97c84c2042f19cb03756848428458a3623e139ec2ba2662c889ee090c2e194d3d16bad79c28d0efcbdf0be6b293a9f1fef780550d45b413c0e36b86aab0c1c6a3591adc577082541a3dd2d82032b2d7ee65b40336b26318ff60a9d08586ca0c0cf3843f3bace5db16088d7846628ea8fc84fa13c77cefe8db1e20103ba9cba8b671ac35189a5de1b3af03e995f826652669d9e315b639d2de13f68277d46e4869d1ccc4cdc8d61d0cd9096f3c4c49e691385b3a3df25c0db52b151e79876f0c215b427814b15cae0f50842c85758bff47af2725c2d1cfe4363623144d93fbd9ba064aca9e06f7d30ddf59d0293346320cec68ebd83afeffc104bb0ca8ef7e1e9e1d5054b67833defd09fb4eaa0cbe38bcfd01d015c27f54c9796eb0b7b036fe85cc9bac3976fcef95e729f42e4c79dca445116ecbf77dec173f030619b0175af58bba3a0cd23e5f7c9a3ab7b88f5868187c62d03b1c637abe0044db921c178b710952871b2b0e1723d556f80b1a9a6275a67c9c62fca457ae7a4d975a551858444b6beca13a04db4aec6d074dbc4e470265c21547fd878960e10f612fd94049371e086d34c933d79a0974fd61197218edcb1de795b9ce6a96d31cfafa3bcc5750daaae60212bc3017f0e6cbf0442906749a5f1a3066b797c43dc011c2e18e32babbd7e9992b7729ae500d1e562c0879399ec60bf3858a2ba4326d772926521831cccd63e6ba6c0954f79a4e2437a59825f39834a11e9ee1d7a2ce644d6a35defc0409413","amount":40000000000000,"withdrawal_credentials":"0x00ae716bbb5ac8a1f65b537b9b42a2b580abf4ee6008237500dbe3884763f7a8","deposit_data_root":"0xcc0fb63f50681d22b1359b29eef2210c4c40c4d09f050c3883e666d72916ec21","signature":"0xc36608b6ea3fb5cb2390fa35bca0625900538d7a27142df552111a279cc76432132e393fd518eee7f5b7b3dc66a79ce5543439b40e6e60fba2df360c7dc1ec77c3d6cbe0416e0b5ec06cba0f6b60bc1c8bab88afdc987336c9e60dd99103ad0498b97f1a9a2a63ef553b45f254094bb13431f34593e2c6b716621aa9438cd67142b4e0cfdf42e1119c61690973994823bee820e054268b1f2729134fcfe98fedac2e3e71a8cc0014b8cb838accae23450df1242e510da823d095b7d712f41bf3874f74c3db1e8bbe25f878b9053583cd40fa2fc8ed48c2cf894577ab1b55a7cb0b47d3134d58bbe1a304754825eee1108fbceeb231a98789c1559dd00db62ad61559b25ecb7a31783b3256d45040ab97e4d0ca8ff1459289bf928f2041c0fcec9ad1601ced30c37fbee5b8323c65c3604d47c9a602fcd3803e7bc78ba4c7ee4ac7e0a392cd4b1ad7611948ed606802ae7a286b688463f4dd301d9e0c142be7e2086f96c1c3870844e44781658faf6bbadfc20704bc4907230c5df5220b4e6bd7e3b8299e9773ab61a341ab8b0e9ec96e055c53a1b4acdc4093f072d71eca6c0beadac92d9d7f54245e1be6a78fcd549880f5a3f5bf7a36ab106385aee1e07751810a86cefb51b0fc37aa3d530516a478e419fa70f4eb0d7c1fdb06407b9bb8d19cade6b1826c1b6d1326160debf8c5db998c93c97881992c7047a5346ef0bedaf4abfd9461085cf2bc09c8b7aa62f2b5bb80a61434ee76614e0363efb4b2ff182889bf8c177682a21635fe34c5de0e413c7acf2b532ecbafc734d5eeb2a625a366238b03ff58fa8540d79f59331c8388645315ab0c69299aaba67602e19929cb5dbb5223fc97eed169ac2abed1704726002045552a5a08ec123bd29c1400c21287cf3de72750e2d18e9c086e3dac9a97cf0b521a094418971986d8c7a9d5dce969fcde953e2d89cfdbb8f4a4574dda0630f4e88876182f897118c1e95b47fba9b01180a6b278c00b23dace98cc2310d6621717e722e714a41e931ecae31f44321f7a0fa7c46d93abd08957b91a68419a5f6e21937627c2074ff4a06cbd9cb4c049f2f3eb8ce3537a60c02df780238c423294edac55d4dc22d782607886e4a185afa979604dcf5ab528412f30d825baa102b5a03340396f09e05bfcd315e6928d2e660d22882edf65b484f2a0357238629f8558348cabb0d63a7fe3503ae850bb101059306d3c090f7866ed0f9064125b6d010c4a094a46d59c8dff727dc71486d907e4287d1895ef564b36afbd10b1ddad8988b5057fccdefcfdaf6a460e02d8c9f0fa5410e40f76b3966c70c7ed57d75c9a9a370a52c79c1ba65c6eb9eaa010d7bd2f0633a00b2959bf61272ac8fdcc3f0b043fcf1f6ef0f2174c5102565d113f236040f6b7b9f338f72830d10091b77f645e7a22f0e8b8e3f18d1adb63baabda332916f4938b3fb4cf6d8ba8c6f720572c4c779ae358aaa06c7d9c7ee98df68343b4de153c9e68e7e43aaac8078163e7df4a2d902fd2145c03537b165e9e8bb0323809d87819d8117dc7ac2ed5c311a8e1e8ec4ca5db71120014acc2da532825831eecbf958d14661ac9a67132ccba7bf0319c13a342d2820d3f88a3d33e25304354661ebf93fb34f28fbf3235d863c52c387957b58b2acfdc8ce51d75cabdf338a2dfd5fde17d984b14de8a99fbf076c5df10c035ed203c163ce078e01c7e084900264ded057682fe4624d29bc08bbc39eb400c2ac3867b3456680ed430347571df48d6d3a1a507874359291f1404e26b7e1276f22004c947fcf75906e077e346b06e26a1492312a495025a89fcc24a4a271501f4592390f7b66b10baed3c70cb1c57353aa080be7e8d8475a4822bb1a391d9f5c8c825eb0eafe4c1957216fe8c9e17c4271a2d74edc5f6448ed052f69c94eb2cb36e633dd4610adbaa7d3e9e860a1cfef60b125b65c0d8cb93b7164a46f19e85bd6d92b5d6c76f302fb1078afb55ebe58bd7d17ae5ac57061fbc56a565ccb1dd180c59938d1f1d8b2db999e8a889d23780216f7c1478c8e1cb5de200e58965d4179ec3ee55aaabc52ef238b3fad3644ca48f0294ec85a624e9019f35c20bae0d3498e3adf4a1deaeffe655cad1bb888fa58347d0f143094bc662e425947ca07490a0fe1bfdf351a2c0252bc93726845ea4f757e415e479fddaf8be63b9aa30441008c2c0fa5ac00d77bb00a3326d8c6b0385497545d0c6160c4caea4e6f9afe9a272b2b509ef1d1230b92d55850ee52550126a2df078a045d36869580c69ec94cd11a5888225a90e88a122398a6628ff28b1f8cabd3ae3ae799a495a2fa37f67d50ac5fa235f84c2d9722ae283771830d4e344db2067ab9c9b4c31e7e1b19be413f70e7e6f3e6282e4a31409c5ab43948e676df973c20f47d11323c9a617609a68642c569d761cfb7edda6713b199c6075f068232294706d3cb0bfe2c54b516edf7aec0923ad7ff5ebf0155f8629c45cf21bc13ac861c38151bced70f6a79a1e3f392c15f3186fc9bb597639e749ecd1199837864808ea8445fdf31fb5bb44d53978f1b069128deeb063b079f25cfe8aa06bdb5bc31a5e4aba1c767c589d9d0e9edce2e3d56d5932d3d318d5d004548b0c17f63c1f7acf6845ff20765305c6f44659bca44a508780eb008b1826fec91cf991b206d538cae1eff426cff21542d979c58cd7f3308e6c0a3e49c824bbcfd393dfabf4fe6e9f930844e759fb46984a1ad51ca929de854ec837ca89ef2c038d7ea7d4029c36016887c506bc8926d0a8dccdfaa5539aaa62b2af1e0424010e66baf97d71542edf118673147c397599612041a968cc02af840bbf369a74f1411b5b795332f20a192aa265c56cf7a52b0413d994e720eb4b061699db146509f6c88e6b897f4ba22b1dfedc5e5f6136aae50464c1e1a08d39089a75d901621f3248f95003e81288bc45ee879b26f0e75a7577b2fe2278da13ab8c82285a9a2e68344288e1938758b198319df89511dcb1a447f45b549ba99faceecfe6da43c38882e65007554256d5b0c9083afa7059bf363c6617db165b02bb6f6c973e0a19ddacb6d735c5da1adbb5315937db502ecd30d4d31d8593c947f8c3fd50339cc383e476cfdd4b448e22e17903a9283d5420bc1197af10ee9a47ee0f8df4459235ea97364ca0a2b8b6d39cd2f761a262ec02a0e02fa5495c6615751819ef7f3bc3760f4065eb1f926d97f85339337ce3f60812e41f92454322f2e525619e6d190d979373d483099ec4e09c27beec6c779c02dc18656795b4ab54ef732728c13002219a3fb3f43e8885047f3cf6a47dc3ab185178444b407c30da67993aade7f2442703e85926a85fe0792ae1b958c2eb3ad0a857c38d10c769936b2d0e1ac362ccdff7d9dc839a769d7a9f77018359886781895e4e945531fb818416fec31ff16cb86761899e4c251db196a24a06eeefa78e0df6acc179afee6ea40cc0fcea0f87d92fd6c6ec269017a70f625c18079273259e926e5d433f62566e5a8d80ca1e62a0426726badf6ce54209dfd27fef445f1e10ff69576dc4a07f9eb2a3084637d6bbd040ed2616b457f915273cc592fc29fd3023ca91fd9cf1dd0b629868be7994b6d26abac869c4312618c58f27d100f3f5a346ea232f41d3f2dd48ede1a2a06f41a99221d05cf5fffd1d062e05daa05d416a7a4cdec4b828db4a1d3eee2b82d24d785af0610e2ad17942607e1995987035b6c5ed69825c411c18bb77bd3a7220997d4c893391df403ef98069d81fcaea6b82f8e0c56e73b21714f2c268bd39f5d8ff1a363842310c8e445404795efc50371c826d37791f13879d6daaef64e1cb06b07122e767677eb1ea7549b81bbe48a6ab780b35a69e6db516ab2aab2367f0a062763ec39e8e9b2a13fdc7f66df499761a9dff04cac837e5eb682eb92ec490d7194d9eb72a97cddf0d459a67fbc9d7be92281e3abb5e7c992e9e14a3cc98e62330a276add0846303f24f9a129bccf2acd991955185ac315db0dddcd40ec17affc9e244c23a68e782469387a121a5d066110d0be8a0c12152316050ce53ae01b0519128d8b56e8754472820278807c4288e16fb54e9414aae07c2c08c270e0db03ace2ae2723702bf2d33a7f1e4bcf429f04ea203b701f18418b461a32b200b485e7729511b780c21b5750e6de6cdac28061f911c2df0703844e27db075c9c2c41bd01b9f42d7b91fdd01dbafeb8882ceb1d75892e52659160595d09437a24260fad9bf6d9d4a7a5ebe23959b68e5a8f1186d24061c73f22d5e78f16aff5b8c8c6dbdcd16c78feef649e4a179496c0f55f982e6f9dbccc691fcbca890152228f638858ba7e49507318a4d27c1beaf9946481f3384873c1d06d5ea31e33d6f5470b7a8288364f3121f866c87d0de92b2c45de2ebc93c5a2670ac741ee1fc9264398460c6b4a2c9ea9055116130009bef722056efea8033fab4fd056b5b04f276eeebd92c8005e81b1d02a9dbd1decbeabd558c39cf1033b1e620b507b49e3f3b563ea8e67923c2c3377e7ef67644586265b4b44915f1b9c0efe6846887608f7d63f1d5e980ac4b21ced70a2f3d4fcd24af4ce35e33b5d0aa620703e02e0b080dcdf14a0e6a088fc906d6528351a9077f4ca0a7aae9137075b380dd99c273da9b2b9f500c9a8d327f5bf8d1d7020651b8af51b93075e15df1ffe5e044d472c91e953168a405684e572dfe869f4020cd033dfece4844b41c6561514bb478f15a9731014af36fa8564f332095a944b9af74ef5e8c2f4631d199d016bbc8a4fd22e419ea8fabf13093c6bfec6c990e5a2ce908f8477cbd12001f65d627fbd0abaeeadc61d74de6bd95c2402932e73bce487ed7c3f335310ae4bc9ae5eefb1e8c804e2a5c9a8566377e73bf8aa2711845edb1931c9656fc2879ee4b14c5525cb9f6170b505ff1e478ee3823de35342ebb884413fbd476a706e35bed55090d81873657e276bad79ef4e88cffb629a694dd5cb84a9ca81532902f300a485d1d99c2c1efa4037bfd1de9e204e2868e6dd6e6b2459c2da2ffbdaeaa2ca4d0939377c8e9f0288fa3f2ea18725d158a9fc8f097c6c65c7e4bd3f6c5f6141e573fefe21d31f22930be027393268e091f82720e6bccfbe7880d78739d9955793c1a3bdc6d3afc8ffced0d3f9366bf61b99dc9887761032ee993f0d55e3632d863cecbe3a126772bd26eda39ccd2e656bf28f5b6a26817015677b4c1494fcf603479f7bfbe0ae92e858b456fc8a83ac3787d65697d58ae7778b03d5ba13cf29dac0623e297c8a0c15dc05feec2f966ba8d2167c6b7cee0bad90c67d9b1e40a54c75ac3db593d2d46745c448e6d68d742036dfb762e32de97acc28677445e81e6648311a1fcbcca148d609808253e1fa06eaa8069fa6cb95589ad736a53458b14d0bedaa530bd8defafa94ea6f4a195e14b6b65481c8aff74125557b01a8e092c8cd8620dde747d6a62bae947207e0153514aaf8f22ad778569d4e42cdfcf3bb08ee81fcc945d95e14bfaf7288ab564133d937e2f92d10c5a6f9edf3c57125369f034a8974647206f8d6ca16fb0bceb68d2a8a4cedbca404ef6e6faeedd620f5273313990565b5f09d60d2e1e2df9b0ce0f8d3459b10c7bb4ce159915c63e846c15c9d8188a56b513660cfb8811c034af64cfe4de444fd06d3bd65d6a6d585ea2fdbbd2f09daa50937ea71794cb66292225e205f4b84f899be97e5df354acd624a7b209c2ac63356958594f535c879b87531898f45a9133d270e09d089a31b4a4e4c239af4737252d5e6f8aaa5422519b44c0f182d0753a0c40d40aeed7919d83600b999b8e4ecd29961c3c88bcca8d640c948bd63e13a17d9f31369b60653b11b5da1e7d3af2cd9ec29e2b15feb0bc0d8e85ac7841244e3fa8f1dc9d2dd84c58d5f6c71fc8fde41ff44b2b4983c3ac5058dc4b1b50b6f40bb46209e95a5a7291c88b523ab2e5a9d6b4bd09cb6d1a58fe7c6891e9196b35cdfcc6baa1299d557653759d786fe5fe7da414a22202e8bdf8ae3058a59d2b84e3a79f91a91d1ca4bb39bbd52dc9373051de367836dccb894b370bfec5033a0d7015fe2c41a688ad68aeaa919978063ca24058e63d259f6bf31232083844f0d770d8bac977a4099221e511c9e80fa33eafa4867a5bcc6a558fbd4cdc2988087a2426fa05faf4572e3288fc250861a935d91b43c7a7dc26f9941ff17e88aa5f9b100931c8b2215a4bc8a4b104e2a0055b80022951006288a29074e0dfd300f23d4820ae16ddfb9558ee54b98bbf3b8193c7887dd62cc1f989a44513b59069fe8db973ebb44e2ca180ae928dbaec5c803abe89d1fb0074d5d969987475cf5c86f83bd57728e67fddf4762cb1d41a093158ef1a2e3d4258651b2b4184a3a5cfd906255eb8cad5f712273770d9dce33e53a3b1bc6181ceeaf067c2c3d4d700000000000000000000000000000000000000000000000000000000040a121920252a2f","message_root":"0xbd02d93bdf04f9361c91ace58c39fe100048815e8910f76af4260eaf407ded87","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x86d4b966f432ce0de0633e1793bed3c683b9e3247c04313296d1fff0096eb657938d8ee62cb9b4f6b5f53033b57080a93fa9845d0fdbd27488ca282b2a9d4a3f8273ed3c1dc946255dbaebba16e87d215935c5953694d29f3ade0edf9d411fe5c9bfe3d07205f715a1609522e8403b05ab1be455d78f71fc87877e0a1dd1a67db01be75b3dc8b30d948e502a05faa118f712213da448341bbd3a7c991a4e9e91c716a0cd4f03b660d5eaf056a0b352dec991f35c4a423911fc131c73fbf768e8fcdcdb01b15a67bc4130f8c7bba987839159dd1f2fd5c3883767583d15a31d83f7768a4e309b5281d8c80ba2c2f8c5ebfa99295ea15d736d1dd8cb1db295274ec355af71a4f8188df7c754e06c9746832fb0345f290f40983242cb6ddacefb1aeab9c61feb1392a661b8226bdadfd324c2be11bbfb2d0e34a54be8afaa6239b87ff9c133b5eb979089ea0e089c328e8fc9b709f3135a18a2a98f0232bd3a407957a019a447093348758bb1bd302dfec8bc0af599fa6f6f0407c08767b69df72abfc13a3309b60df2ee37c5054f544a218ceeba93c7317cacb7a87968c52bdf05717b6ec6007806bce214d8d7f85f51bd9d9622fab3464b2e995eef17e465a2b91dcc5c32ca61e85aa25df10a61ea0649d0b32c7b3442613efe7a3b6e0e3ea464050613f1288f0dbc874d3e5247b5ba0fbdd4560b8fd82ad9cdf32aacceadf474f1910731addbb653fc4410105a03049169dd7fed17c978b3116e8da40359ebf6ae6c9876bb193f67a6f71f7109fa824ea206ec566a685905ef3fa4114943ec6e8154b680a45eb8cad4aa2f93c298b4c2542c68e8904840f9746f42d8d126b3d6c535157aa0832aeaae5aa4f52195e9a7ebdaaeb1d5afe1c680825a91192c5cb1615b3e1b09096c7601a1941690a7cfef443e5c25ce62f8d9963eedb6b049a8fb3d9d79720b1677d10610889fb4bcba882ebc533ebd393de67f7d05111cfabe3d72e32b374dd6349b0ca3b7b3a3402f07ff2069cf406445c528b28bbe97e4f8206be2934b0c2d05d981fc265e1111dc387169e79d3ca0fa5b9f03a0d23da1282399b9e48863e939ec76ead515d72e866b938795b78eac2d43ce53948de9d512ffd2d5479aa424d9623194273c2167cd03cf8dffe184d09fc6af4ff18ba21142a6b8a105b768ab9e342d8f16b31ff82e5efc1b6f6a729d2cfd469860a7ccd1d36158bd0e83c57ae7a2fcbd88e79634123a678a666b79849f54e8a9034e0390b799c2b6f05d8bbd60b6dfb052f7598c089750e21e0d203144d63109a00ca1d76173bd331efd3556f43720070d2ab3a3ca7c96f88169cee67924667c291bbca1cc6457e8c6cb268e3fcc968a3aa711693b43999e117c9e312d3a721ab00e32416dda16124ff039fef6bbf6ec0bb95e2b563e98a95632b27cf16c5d1d68ce8356b3d8978214394a1899e61a5eb01766e605cb3030a5b91a80875fb7e2107cccbccf79fbc789499b8afce8416a79a8ef34777ed9abc399df0a4e3f52213689b826abca35b0a2ae5c0e7283d5e5c0889218cde2a0f1ab7d290d98ce29d6a078f6d9426ab46b08ba7c1341fcf9f367952f2bb4638c9a1587f449e80f89eb133dcc630c9352727c7302d273e9138a9526d8288ca41f8fe141620233a47a3139c8814bcd7e518e6fb49522c3ee85cacdac7074f9a6bb46c5c4856a8cb136d3cd026ca1f64945f1c4f1f8f715b629dcabea048fb59a7761113acc5274412d3e84580daeee93d3137960be668b6da2fca08b3c8af025109a304760f189f86a69d2f3d8cb66542ff950026135fa76db8ec282e989754e9766c661c177357cdb46be30230f908b718ee9df56a36ef5912ebcd418ed65f436f1c3f1c7314156040f7162153e33f9c9f576d109a42cbb2d1ba0e4859e25bdf88f5726cacb4f3b6573779b90048da51c71e5a5559034382e2d87df9c7f577a8012d861ff12e98cefbfe10fb992a48f2e25fc34615abd0b3cfb97fb5b1f68bcc05b7c378ab7ac32c6c07fe6fd5e7b2c445c175b1833e26b51ca9ea77b5d0e887ad4938657fc73f8e07a295d1b23c439875e333bcc5cce73eee9987783b424cb6019ad4ce680f57a5ecb34d9438544ac739df04abbe08cf81d9ef49eae950d2934d9f6839d692df4928af89a729110421735ba81816531c07b8d367d2a690e26478c3aadbcd42ca54b14e946d4d8f3de691e68d42f7fceeb2498e8b0bb5837ad30d5a17f6ae81ed5698279a051f974ec06e92bf1c34bbd88f8ba949711122bfa12ba8221134e3208102ca20a30fcd0ed0e71e972fd18ecef553130a7a2d0da3ce92bbc23e75c83d216566e6c9b41d3091f2573e2474b839a5a3199bf4e9eb2ec335b9efbbb6e29c7e9beae286e52dd7976af1feebd58589a3d324508b96dbdf1cda07af8689d552ad45bbadedb43fa5f3d1ec0fc1b387b5660a1f17868294f3d97fe87e9ff85f159d26a6281b7f73c338b314959005590a15e2b9745ab63188f3030aeed90ff7a1511c8c963be5b6d44e59151be51621932ac3cb7668995977ddfe555a9cac4af689372a0b75085f0b47fb9f4a71ff36f675cb9ba048d6f8ed3a9229b975dad45ed530766c9e3c0d422756f7ce2a8311b330d047eb4ce5604b7556b43f27e9946ee29b7726394cd4327dcb6f61dfbc6abe0e57d5c3951051007fd365cbe4c0e33b9496f58d73d3304f31440fdc992a29a95be8d91afd7498ff798a87a46327e75a5594243cc50f00cf47bdecf53826eebed79fed6e8657450d4cd16902b5de32542d217f9dd74eaecf9ca9f2f2ad35ac29db7615e1f55227030594940c88ab0c4c440c097c4166d86816089b9bd36048764984d2476f5ec3fc349772c1e6c1fd73686ad5d1f124da3ddee180b06fcd3f958110eef3dfff1a9c8bb6f03281b70c25248f5ace27d8e084d8add954879141adacb45f2cc4985b21d482d90d70ef9e1896e32f18800ae7cf5c926762c67e3fffb63b005f4e2545f4252b6fd8e2469da01e853691ceb6aaa0fcc7b50fda0211be5b1c8e15afd2464d200fc31b59c0f08173d38e9a3a50dac2d2c634207922b75b7191626d348d48951c47542d2af01dcae7b5ea516a3b3bc7cedb48f4e88ff18ea12e295b975091b414aba5a335474507944ecf51c3c314a27c8350f8e8f5dab64ee2a0fa90251f5c53516edebd1f1aed77eaa2b49b79f921ec486b26d7976d6fcf542b013a54a9c85ab3102c95086d86e084a2c0363fa6e01c80c7f0e9e37794be4ae5134d7f2b89258746f49b2e3c141a0842eaee4939516f2059ad1b89f6e387addac26b52f6d7705f8a3592afa10b8b37191de2c35687e7b8a072370eb49a179004b7d2fc8322acd31d8bc283b32cb7cdb8fe855110927077cbba00dda932673e4dd35453eb790a4b396ba7d7a7934406d778ee039e74d57efc9ac1011a336192e51ea274c91f35b41ed211bcf960ff9c9473cc3a6448c361db981b597612e8ed8bde16bc371a270fb995496523f5d8586e6cf60230fdd62b73d9a525303b37081bbb3624738e59e18e3375b90aab2a6dc6748b35163292c5edcee8087380972aa75b0ad745672424e725991b9681dbda782af3d801f0b06d23ef857c92eb393fde7999e06649459912748674388d0785980d9b18a88c9","amount":40000000000000,"withdrawal_credentials":"0x00285967315b0a6818a3a1d2f1860b657eef7c294f7b58eac0b48a0b061920ba","deposit_data_root":"0xe128288ad35985ff2c99b7954682df04ef0e8e1f65cac06b41a414b7b412ae86","signature":"0x030edb77a33b694accf7109e7f52b2714018a0a94d428902de8d8c4cc9af00df87e5bda5bffa8adfcc5d369fbf8d6704bf28595946468611f4cb3477851bd16c4a15c2983849833e933ad4e8665d0936a8de5bc5e2a24407bfa019ee7c0378102822b8386359c122c7bcc241ee3fa468a9e2dafa4da4afcbad69fb05d56e1a880242fe8a4164216aa4e6172da4426dc08a5557ad32e39e472ffb6fb9b2246c97fe9a3260545f6eda7a66e1e7f16751713d61b8287292807a40ff095181e3136ae2bc42377fd66cedbdc794d6e0f7d72f1bc4cc6144b340771ea87e6a918d2e8d394f9a33e739be8a7baf98f81ac0c58dba8b06e86b04b067bce590807ce2f9ad82ba7fd61fe2c611d6687cb49db1161a05dae4bed2be16559a6922391674757c4ed0c5a8e79960335d7dc8463f069cb13688167e956f6fc2039c29ce951a4c406204e167d1af74573b9cbcc4fea5adbfe28cdf51722ea8d32bdd7e73af0d59c9044452f57e875b4f1e9246af4d8a97b7c7b936a710031dd6fcc0748c5182549752de6784889f9ed2f97bc12d1548344a1106754e0243d4210254593479c38a58349ccb7ffc985084f160e3b89b8f561d75bdf9e6198357e81e5a33a4dc139d6b81c5b9c1f3b30a8be3beec8d3a78ccf131f03e7224b2207d98834184c11e5e58aef04ea41099ee5061b4b1b6c27dfa87c7ec3e7bc390cd2f5f523eaa9cecb24350d2388a1dc40d23573c9d21f3f153ad84737d9445e0004635bdb02223d27f91978650b322a21e05744355f1bf1bbcc117152f937ebafeb1bef9763dd977076588b5e2c0cfab02123aa20a0d57f744b8f3a06c54d81ee9920402673ccddf17b029bad038e68885623b283f06774608582e38f36e8c75d7823fb65178f3f6f3f98777d5fc3507dc28ef94f1db4bd4b199779f076bcdc4906c1820911e6834df70c0e3ea8712d9e7f32af4f7f4e88e8f68e09efb05939617f8cb0b647d6257e6576dd720f4919f4f24bad521bc219a802790352109849276e03a3e147a5079ffecf3827fd573d7debf1c4ce1484925624b7a608cb012abd64ac391d5142c4035bb682720a28d7a6dbb01a5865527b5ce1ecf8d50e7438afa644759ff64e7bd1135032087dfb17530b8f97f7cd94de5384f767cbc9bb86eaa211b429032d6c6100d8c77f23f400819b15b0d01c607e25c5ac4cc242828ce199184caeb41e8fe6e696aa543d5a866d812cb81f88c539d3eaf9488973385ee3bdf57c2da94c19eabc84f0c693b8fc4656a5a7732dfcabd630c39dc0c277efc2e91144770b4fb170d8facf9464179107b7f70c26c3eb86ff2b6b4508341bb8629e739559bc54410362e3dad8d0acae498aa8f91d444ca2193135fc0f4adcf369245289264fdabb761ef8eed2b691826a1d6da0ed47afc9f5136bb7caf209cd34b85c0d884205d3eaadb51fdde957a277e46404c49888dcca6bda795370aa37c02727d911de7f1ceaddc0aed271da493d037f6a89c6716630202f8f5ba59537f4ab5cebbaffa1ab4181613efba85851da26ed28e9fa8a848048cf66c152d59f4eaf0378fd21114fdf74b0f30be7a879e59aa7d26e3d54c4163284ad4894e1cbc83c51c9f51ef46b9415ca805cbfe95847688d1261e86a81fd43b2da445ce9fb61ca1f5eb98c334d14e2580fe62c83ac44354fde2c6567698fd5ca764c2a04be50804873c3e6f21e93db671ea32c16e0b22f484962aca53ef67f0dc6100b23f7a4fcc503baa90a95fcf1e189f4e50c62ac53cd78d611f73229de38687a4f3c9eedfaef74a90d1411f3d240afe7253b43563874ebabdc791c03ec4ad6cd4e8cc9565ec6afdc8cb162993326ac93f105cb97cd11c7044b00e19c0ee4caaa9e2a479fd83c14ffc2ed5db3d80ab63d3dff04b574abf00fbfcc449e2c1d56491b29f66275962bbfc6d670b9b7784b475ba6388b9ecf62e4c59dad3ae85fd18e514abd60f4dd6187ec79b6fa4875f803944eb061c5aea6046c00edaab06fde7e5d10276815d0979a5671a50452d7715046ee47820e293a6753dd529e4d60f1acf10535c58252a37d28d95d553749371dea0d839da310a0e95132ea7a2431f3edd7ca62973dbeacc0f5c55229028354844fade37e34de1b1a1efff6a1a427b8b04e681adaf56bc3787cafe4cc07cc464dda141e5328b9d2f2426a9cd58457bbb010fbe431c34e8bbb10d538b0f8af686a4db2e3f2b02a46cfc2fbef8b5a21daaec2a3ea3155786a9a8bf12f376e6e6ac8948b416094a2a4188f9e5f85984c88cde93669ff019b9d457324ba82be1cddbce354361f856b3b87c2cf5f9c77444ffecd0751560424f584cfaf272d9b883fee9e29fc2bc185a5d35b7629b605f346a837a575c77c4f5978ba5edc5b4a29fb68e19fc015bccb0212134421a731fc1b1ee83bc70aaf0adc0580287ad83c05f78a1d0d377c24a1b4a8fc3ed09c8c94109c1fca041222cdfb87cf6a4ad40e1a49b20bed6132c10ea06a6d362d372f2a3213432ea1293b2ec8d65a41530bf46f5999b7e2e503fa2f9b3ce2b9b8b5852cc840a2fb737a7ef40e20cc80998bfcc3f2a484e942b6b32b49dcf2bd513eb993fa806e551039f222b6bcf67e6d76f93565d0f0a3c0ae57454538105d6ecea45535514bf6464135db80afacf708e8deb46a1cae273159ff329ea8ada398f11f05f2b3928124e58ea1f9805be58fc4c04e44f4358e87f1646c0260d7d1fc901ea548aad42860984910f2463906a51780fcddcbbce5dca1f13b8a82bd4347fd2862c5b0071be3b8f3daff918c6c263d4e91a6e945ef703167612afda5033cde43be5494456ac7dee832602738e5b9c3db59f33e11a5a0b87868bf971f1766a9f25fe07a07d6ea36f75ec6f65588061881283e6377fdb41cccf4062bb6c3f096fcd329216b3b3121d5af43c8f9aaa8fe92991277d2a8c3b456a7d2001077d7ceb75fc4cb53de066ba511456e74c04fcfb4105327c5445d742a4b102a7697add40dd4b8de5bb1528eb4d175925af6928fdc56edaf26188ae6bacdd5eae4cdf4a224dc8e31186d6fe201a02ffd2d4b81691589350d07f7a1a74687b15f0d4fdf80c6386a923250224f3f6b9ee72182d167e4e6ee62b87576836aac4186e95ecb01acfda38cc28815c8e7a5326e151451edda5944860ac2638ddd3c5f4855ba172d5de4cc8b2e1ecafd947532092599bb238f7d8d4b3e9b9e3e3ae69d89b119542d0a21c294bd919c58f69e4887eb200e3d54deaec024c1b23f842b87321ec59c463b2fe1a45af17175180362e29a0ed643dd00648a32faac49ce10430a6c4192a4af3a0d1db17b827daf006a63d7fadc4ef1281ffd68e59e135ea766e37e385960f585758e89218d9f735152d5be3353d61868f41f4500e6f1db8b77975cc74e94901ed68732fbc47466db063610e04b648c4c03610a6c6ae6cf9d8fb84dfc2a65e13c24b546d89da2b3b6089e45dc87d4127003824eed8a71ff9bc8ea84109dcc6d488c9c981b1a997912c2550c9306bd11a5837fe7b3d760ce60c5625787fdf3b5be6c4f2bcee5ed85763977a4bd0c239267b69aeb2c788ddf3317b90367bc56706909ca433c5ab1909e5190f5bbed797bf214ef78315f7f085d2cdafb9e0679424fe1c237e51517269e86c81efe7d9f16f4a5cd4cde449170f1caaaa509e3b1e7f1711e9feff65c3e0161922e3f75d6d0dfc6ef6644f1126c0a3d9df6d3b03cef138064c780845d5c58fae8608e3d15a00a36e721c0f340ee802724cf4eabede6e9fc75235abcc7491b16be33ce0ff0a82ae4f6a3ec4136d4ebe594fbfffa601af80548e9b1ae1d776f2cc12423d8df6457d43207d98d327e7e8e0a755e7ebeb47d6dda67b1ff2c76660c956498194ae09e7ad4fa5b23cb01aec96a04cb860f02377aff85723b2825f563cfa3539faf831e2360617f5cd23bcf9e5db92d178237f6fd3892cca166db44a7eab46bc23cac7cd79cf1f7179738c9fb9fbacb09ed45fbbe61bed307e5a0db10cd8dd66fd8b9f5589dbd7b6929c1967cd2fb11081e0ecf1fa89d9c52ca78ef6273bfc2ccb5b45692379c3b319d438fef728f5c82aaf21a30b61857df94cc8ad1cf91a9f27c741668804726c48768005ffddc51314f14dfaadb16600d3c660c8d4535d25480b8a35e192ebf10cde511dd22a916c7c0143a93f3a7a4e5b02e5c8047d97f21a3f4713864c529c19c97cb85f94ae9c4473b286de370b5b66551dbfc06cef6c06b998ec6c7d92c8af0e452dd2c9009f2d6fe3243688abf6fe30be4c9a8cceaf7de34d3372957c1b654b6831548dd5daf0ac3fab85fda26d77cb8c1a5e6da71b6456c0b351b7fb6b39dc173d247a351b4d0b77935f9c22cdd0ff9fa496ef6e63c570b9ca3f6ba7637b693a689850031691415c8e070f01d6fdcef4babb9fbc1e17ed55a1f6787911a2923a7c3a739cb5a8add266de561e7ab2b440c8a2b6ff17fc27c184d3363eecc475b7ffafae97fd9aaba8f14f386da6b13b903c1bbf0e87fea43aa8e198d95332db6ade4f1d0f027ae47262ebfa142bc5ca94a18b20df18783029def78f19c9b29863e6e760ea273f650aee999d2aa043b61b28774aa510e74e8d8b6137e75fe1c5bbeb54ed346f8be2a7245ef670881c2b5406c0f28efb8c3da2c69bbff7bb8ee0c01b23582756aa26017f4047f7e6cda01e78a46bf79527661e9cc5d7f1d234f17f5fd6f36fb6a6da1488f303aae8acb7a1173cbc6a39bf3ead8676c5706075f905810c93e5bc2f091bc787d5aa19b8bf267d49f2b30dd46da58f4d61f984b9f22b414fc4a541f19d0abc3e2f06385ed3c2e7469bc76af35e94e3aa4c7e1da56c2813f065954f7033debf0501b6161bacf0033a1c4b6e1c4f8f1e1a046bf9231d91074d69cc9d754ca44ba167ff4fa58aca160abfcef1863f1b2dd89bb4d75bd23e700563cb5d3262a204c959e2b1ba33839e3fdcb4ebc86c56e2cde6899abad1b67751233f6e307958dd619dff23c3e64b367db7d629098bffc81a95389182df3911e75ab35fa9c42ebedde068fdf142870a7f0ea63e8ef7897a0df992518a63f2135576bf28c8abc1fd50c3ee82020c81d607aa61b040cd30427a26176c9320432faaf8d92cba3629823390e645e07a298573fe52db5e3b98d9ffe1fd66708656b289f1a4b45c825aff710f8e78a68558856e4d850226bdb225516308b5acc8f80cbcca21ef947f47fea316397a0414087713980fac56ad8af0e5f700cd7a3db1dd6ec7ba095169291cd3d450e7907f5286ad0a0f651c69c45bb28d218e4041cde004e0da5f91189db0ee3c8f5baadfb8809fd9a5df1fb186a928d598b2268e8aaf80a29d630f3b2a6585854a804a1cac3c0abcd388ef504a033aa1dcad02280a3748b38b63c01fc1e21613e235e6fbdcef2d94b9d04cbcd666817344d784c92b7689cf96a06804fc921bff4a9653d5135a724b82390872b8ac45a95c4fccc11b200d70ef09e8e0f257ea15ca358169f6c2ba341ac4c3bc71d27a55d884ff82bad7b178b16dc29a4484fd881469c1d2d19846eba16d9ab8a050abd7b55dffe8d97e8a0319cf376c4dd22de330c2e8f4db0b7527462a63305ba5966863b777cb8b44a956d24dd8a23d260d7aa342d405348735119230a09309f450c742940904a35beee0c9bf06b9f0606badca97567bcae4141bce6b95b308bd8cd66bf9170707b2b84ea1995eb39e1700addc80c32e01bfc89e2fe9b00dd18ef5a0f3207013bf23335d2de13bedb78994d045e3d9e3676e5f41d60618a2f720fe1030f9278386df3cb96f874b56627987ae2c31cc685942060430ffc92923e16992d289da5050ad249d4332b2e6f8057b580968a41da87fc71cae7a4d2c4b1ef6f8b5a31179b5b93fd53ac7d7c98573645aac6a6a2fc4fef0c7289a1f163ddd29aa7064e6cb132288f6b0630aec73a0addf3d42827dd2d785b59d40a86186bbbb0202e183e3b59076318352be23bc465643bdd8f784c0d299c837d4d8a01d132cb2696644b3f1d7895086abe91f418e7aef37f61396296f6cf58996387db82fda5c98a7b41063f74a9ab487d9695ee293c7de784e40dd5fef7c6d924749cca7c427638e6f5471cf7484839200f95ac7fcfb3ffc3367847200b5016cd17d74836966c6760905cb493fb38e11ce386fee98913119a84ebbfbf9f9233197f6f3b77ef078a99360e270999af200e112ee85cbd89dd7c4042f5d8d65a55803df70dbb3899fc33fc45cad12c0f053a9e33e0048681ead19d1d733ed36f4ab77e843387ce67e083db7dc7378925a7aa8962bf7754516415d28c8c395b04bc8df50a10d09a154a3d0f133e99f8c7c713d14cda3a6515a7ab6fca896e6a201f5cb5e8d070a262abb0e2d7b889da2b1cdfd1f376669798a90bfc5ef1d27354b757ee9344375777ea206082b94d0f91f23afca00000000000000000000000000000000000000000000000000000000050e181f252b2d2f","message_root":"0xc5bab79da3f322c3224763d740c72f552e324e9d8dd7c43b182cce75eeacebdf","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x17957949f53ec6f6f6e02f201f49e69d5710579f76b95d793340398d75d12fda6c3ef13a8826ef951cec9bfa52d5c40de665fccef5b87586098b4901a7ddf1b3dec947ca6c16d29fcc2156f8c3a784724cdf833a7f19223c51da053db6ec42fab5de2bc437b4ac33a6562c62cdb48d19590f6e67f2443802939aa015ba5b444edab43f3fd7dc460cc05d8628de561468cd76eb4324e8780ffc5081985354a5dff8528b1a293a42ab28b552fba73a3c245be13b85e4f82ba2d574146560e4e7822123fa11b17fdeb8c93083b484a3b701789da7958f81eecfb91dfcfb0ff10154eb7ca22773a73d727214d9cb3db88ab62a371eae89113609f227e72c75e9b6e279c463b68c5f9a9519b45290544d6bf5d1af5d4fca0cdf5dc1aaabca0199b41c8d53bc50f46199c94493de4e74d827fa43abd292959e28062b3669546c99a76b46223fdaf254ce38bc2f4e510b4c0a6e77c99d70901ca4d1fe7b744f8170be9c4193ee1501244b8e434b2d8590c8ca6d278bffad518a51a91c412839d51e9062ceb98c53261f0bb3e181a3d933b51ca9cd9daf59236f6f9945b5362757d2d3477cf28eac3ed174ffd02d2f73fd8525e24ebd86c647f5e867494ea02ece53ed0bf0d9ba656df646cdd15f4ed85e7429354e5932706ecd8ec0c5aa43fe41a9e71e2e6d3142dc4c3e064add1b6f409cd337a555dbdd673b67252995f7e31d1015c08e298427fd17ac678ffe60ac37cf8b46bd66f9f53b7419ddc4e471eb89722e33b81536dd649196175f92af508d18167c9895a2d8f7efc278dd516627197b731083ae331db57c391aeeec8e8afa48d93dfe2d74b2565a7211480b5aa45e08621ed16e59a25d610148b9e29495cb87d20675f02339adde1b9e2997e247b14ab3c2f2c240bce10344232de483e59859e37b332c27059a3bfddcf0f82973b9098f46017fcfbc77c472c5c59e80eae32abf7d7e0a3f0f8e2a563f57a3b3031871034cdf74c8a02c9b2aa15b1b84b35de2a66afcbe45294eef548276b467a24b624687d01f85dd6100732b45e9bc2e8f1981ceb584b2b3c968644363ea26468a0d611938de80b0a59cfb298b820bc92231ceffc4b90dc25dbb78c0df8101e57d9ee6bfab5d470307836708101476a5476a485a3cef7c6cbc5406c1d8642b2ee50f690ed4e4a02516bfc2357c3c10c7b8082234241f1cd214cb68f837f7b9c6abb1b7da09eed7161ca6117e0acbf96774904c87313d4424e9b733a729bbd2a4a3eb0b973b362a73a4441c0b9c26b9dcde9cefdda405648d85c96d9ed44520b2b1c077b01b3998dacffa1a7c38e54b54571d0b6fcdaede3d39c512690ef862241239ec4729a216251608ec16cb8e9a75cc443e206dba5536ebfc702b5882cd3ef8062f3218429d0fbd14fc8b997184d8c37638a652467b9b8c7852f5cf08da076ebdbc26d2103bd7f795f2b03519343a036c8e25496948026827442c2cf79db30bae9753affc8543d984efc7617ffd1b110274346a16e922f07f2d27a7bde433c2d855483634766c20e86dcc23e5dd8f8f5e2c89056999906dd5b3c98730fa0dfac77b8641cab1941b11c349105ed763c6124f08ac32e07a15d26aa869920e497b29b11aa7b81bbd829242f3b11e6b3bb7d1d0e5e0e2804c2b17ea6a5aa894be225c6e116094f923569632c1f2e4d4b403847bec77865083cb3c5463cd42fd063a0366eb64ebef792a6c3f681094d9aad9579ab0ef702071e45d75800e5130b74bb91de3f7d1753b243141c7cd7fbf31b4fe21e3d34a2ff634be17eab1ab2eeaa969f9511b87dd058def65653f7aad7d54d8fc898d0ed7f7b32ea6834d8c68895af0228e000b95c6dbd6472219761e50970ed5aea5ac1ec024315ea8a13c6497c4941077e99826ae547e83e869af70872c87ae5e7065776c6f480a17b86e7dacc9fe267a3c46fc8d29ac20f84b4a28b61f9294c8b2db260156877bb4f6194b4b762c5139a4f34cd2e4c294469e90fa6f30d23c0fbf4b2830243b3154a00cb40ff573155b87879494a4b556adf141d497afcc4436959f36b59cb16dc31c1917280e929a33449e87bb9b6ea80b7d9ec75db356be877d896ea48d720513738cb3390e27e1fb7ab7eec892344618e7551e00c3bc40500a90f9566259bbd3868ac41850c7f2210cb26325d9091858df29b9320a34e9b1b6658cd20f3209c719b503c9b74c407199cd451d0ad1fb017392b22b20d5f3fe5bfde1e8dba24187b1ed9b8e06940ecb0f411534ad04c837612ef49f04a5b1dc939b41d336bc6df27db121e42a3770453e7f41a8c1d91c7921cc22acb3a6ad9404b2b33709b7d4e5cf312890208da5a0ad90431fdad0186e6f1264d54e6f640f727ddfa67e58543f8229a8bdc4b5aa482651400c2716f53112866a0e63879393c6038b259cbebce9faa6d6cd29eb8864cc3d90b34dd75048216b85f79fda01817df14193314c8afc9e17073015ec28d32cca2bb8e576f43033f26ee22367f370c6ecf2826d17121ca108a209390a92f8dd5cd07df1b7d7ff1e29f5d0ceadcebe9586423a6f3163847c44e2d2d2608c30b743ccece140a5c7c10b0462c74688c046ee2a4e1f777a61ff38de8c3a4870f2a153863c77b8fe517740ca84a8b2f4d7a96892615ff7afdc06bcc3d849c24cfd0d4aa6294a0611df3b206a9156dcbd7e6e5bf0507b1752a546199fef3b7f6cb84fd731183240263c1ca2b1b3b5d37392989dfc6c89ac8b97608846601fa14564d0208b22c2af9fdfb608dbb987e79d604dcccff8bc524ee170dd8dc0beae31d22b435974486defc57da39d949e005b9eacfca523d7cdf30a3364cec2522465e1d587bbb8fe568633cf49abbd9cb5671528e75254180310ae75b2af1deba093c9f5aeeb28b5b0e4f87de8ffe95d365a33577d29139347f075716121d0d75feba04f079f4d258d88d62f0fcc06fad7ba59b647e823a4953609564d0074af46bedaca6933b369bf728c4fbe8f083cbcfc3b061f6b292927feef98fdf826e58f8b8b67f8305f3d25068a94eed87b6ed775b0536f264e7d9dda2ef22848c83c62c9ede97198c5d358585d22720bd944c763c59e2b96b40b00a6161e8f5b9d0052ef46471208b057434e34ee8ca9ee0817aa653b2fc08b143b167bdc80b4ff4fc3236f50c14d7510a375c20aa3bd9d4c7253a380535ab128b909bb9836aca5e3024cae3238d0a317e3814ede84b485aef985223b592d9fe4d472c06a2cb6c26d13085bd33d97aa91667af59931a466bbf8ae763776f85bc21b53b3dfc9ae666b866fc945dc1cf51de1d01bed7276fc033f559d9642f14a43e88802428ffa87ed5ba6da7da7aa7358a3c849021fb4d34546794fee244c7d613c62e9834ddec7df16c91d68d22750805e808a5ed39029d0b5d9ae0ad8067806a52d36f585fb441eab80e4d72a9daef2bc484266388d90ffdfed0ad700cd5f3b3e57c30bf779b907a0dd79ca0ea71246af830ee0f93d36414ecd383bcaceefd234d0dc3403448dfbb67e1338fd0d02270870957c925f42005feaf1e3f75f7b0a5c59c47085c509f5fe12e0a60dbe44d2e33d3e858f9925d5a0022581dc99ac2a6b19b9e9b5df38d297f528d3409cdff4f31581cbc0190e7deef8b687f5ac42d6a9e9d6163ad36bbfb919dd","amount":40000000000000,"withdrawal_credentials":"0x00308b83be3912d0fac12d0c9fb6669a8e5052418c3fe771eac025d59218ecb0","deposit_data_root":"0x287639f168a44b700eba5b898d2a9aacb83ba33c25a7263938cfc186b92c010e","signature":"0x44e3861e5790d9d688be0c6782d4f7acdd1915676e55eaa0d4e28601d824ff2056bd5c718009cf115c40f8be752fb8f9bec02def543405bd1bb39ab9662d8fd9d26a344b8d02a8ad839f06f62b29fec24803c6fed44baacd044c70fb90a37385f34a2025e6e23d67eac0b46aaa0a2d38959a8af5ba77a3d9d8ba58765ad74e4e3044b7d52beb315475f3879ec3b6f91b1448ac0b2e793db9d5915d5826219f2dad915543d82dfd8e0d4385e12b2199a18dae7452ead93395198ecff84fd57fe1ea27436cccd6f5ccef44b749de0691ae2b73145d0f122967de6ccf391db26f5afb56e9c4fc4a27968555ce3067f8d6bd551f3b100d7595df5588e018118716882f7d903a10af1e1ac2c7cfd07dc90096a81970ea707f241fbed0db2d245bf70487fad5faa0333ee6552a151dc00903c9347631f5ba855b005f2fff60da397a6bd1db0d4588914d1292371eaa67a5df7135fd0e74ad351353ef79e2a2e5da3f8447e8db596f8c873fa2e7e009874d244872620b6ada8d82bda8e980182f0372d700876e092a7785cb85440555444858e89290a32cc505e5d1ba9b56c7ce273d2963eaec7e689474e3498616ffb9681926a10b291a5e6ef23605da5ac2d31e36f3c7594815f821b00d9048a218f099022cd2b5e21e398cb6ec9b5c237a9907d6a57a870a84f04f21043867c36fe5f5ca851d9f72d08cbf43c5fc99af021b8551f3b64466e1d3df8cef87fb3a0f5f80831d6cdd81160190ff3314c6f7281c1f51d2c6128f36430679c5eeeb14eac9fdbd3e89dedae89d1e112048ef3d48e6509b8e4c805e4d86ba6230ea073bd4be6c06e9c098e667575fe31fb1962ddc6aff0194490c7465c331ad951fa1857bad108b4f0d5ba8dcf668736f71ed8ec2aa1582aa3225fa12977944ee934eab5bf9bdf3eb50384f1caca7ba09859c59bb6d1cf0fa2a0f4323b32c95870355c8a8848586b6555a7d970d78701647f5896179cc1e82df7574265efdcfe0b93f6fecdef05eac096ab365e4135dafa5af4bf53e3d8c68ed146302bd9fb640436a810467df7cf937c22a80ad2d3a1906c2876cd25430a7fe81e6398c07942955ac58023bc81eb721af0f9f38f47da27eb15775570b4a44713d1040ad95a8b659e3d40f723e34ce2096e37e7ffe934a969e78a6fe0bb3c11b3abc486627d2b5293ce07755fbc563f96305e95b5de9245d13ae92c6bd7345b49ab037d8be4ad3c45b734612840bea47745df0e4d2318c59b1330f364d83e304b9f16470e6b3088722fcd56512134f41b4103c201312dd2284669e704bfa412be00402c35009d77725efee266335851ebae3ffa15c929d3bb1943f446a5480131c69a446ade12fc6c5bc311214ba279873bb22151864e8ab8d23649db07e182dee737e9d5929798addad62f7591f26a9e8dde3b869cb8d88decad088269d09fcdebd142026e9edb1bab6a627c154550eb7ff07f34f45ac0aff5b3761a3271b2b96b3affb96abb20834657f48c613a5817dc732d6b40f102f1e3bd6e6edd324ed1988a652d0275c185c43e38b89d2472aabfcfc6ade681fb3aadf8bb55166f3d37e52d5a0d7877b97d8ab990c74785de230f793884fba32260b93c7826cbd3bb765f5dc9abc07de61add3b3cf1339c99e9a94f16de6e3d47229e6cf67bbb25eb971c85db02e19954ac820271f3eb2b5a5193f5da72efda745ce57f014aee1b3999c5b4f0265976588584b897e7e4582e7f9de14640352a9f1d2174278c8e05158e3ebb46cd6f2338cfe70aa7fca650ba91f5851585a23a334fe023b43b5564d470d18b5de79fb07e55bab82e87de56f5303f2ef80eef46d50b522166b2fd492fb21b4e4db59097b87fbdf0b5d7dee0826689647e0e0af6649152054533b0e7cfc3a783d7d0b8dc14bb40322bc944f6a3ca20fc8244c05f4b09e022dda20c63fc9a02171e405c952553e3f9a24e4f24c83db5d44bab42f02083326fd538ae0c3312373be05b5ac40cc422efa3ac5d4e827fe30fd63b86a7f6667ca1028a76eb4a8e445b7778e9ef9a0c614a0e12873a9d5e90dbfaf344c5b2b48f5719e2bfa9b79245c574114a39f63f10b44edfe6de7c63f05ef7d310b169e3b94743c07242955c7b1c781a513b7f09f5aac3bb53fa542cde7db7b24455cbd4dc7d96078f1ccc58c9b1e88473b43d0d98771afa2a7089d1a7dcc98b7eccab2289c2f3230c1d850ad3a9bcdcfe7c49cdbba7518ee42cba2b9641ac1c4211e5b6837b88d8c55ef3aa91c1099a9afdb5726a925517b48da28324fb2d74dcbebc478910d27bc1fd1e6a641a5f70a479fbee2f913a3c365c66b24c4feebeab5e48ae1acd00ea5dcb6985944f888c5dbfb19a4e80881dceb65c470087b3975a9c9fce63fff751bab3ddab87257712a176ab83b7c9afd239cee123c72e62495dcda97eec227acfe750d1a77f4759ec3d5710b79f79d01768d1bedbde1736324b8917c570d1f0756332b32dbac8e10eb315e3a2cf151a75a57950e752b96733044471af22e998308da149b2ec81f0dd2c3a43b9899e0391860decf7a50dda6e89a94fbcc60bcbc82f30545ef82d82e1515b79b2ce613b1bf10b2b32cd5535340424196a4e11ec477115cae67da0a1b85830cfd49248dbb2d8f275d7cf38638b1bae5f493ca3d779cdaedd9428533038936ca70b8def5b4fa1b7b706ba6b4a7d6afca95461e9596f67828f678ed5cc55e9b314a393d0e8d3f078fbca89ed1ee147b6cdb72765c80e256110dbfdc1664678903ccffde703369bc7a839b6b1a2c279bc43d273fbd9747a939adfc5d968d91b396bc91bae1c4472cd9b9ec4997e6be87d8a22123dae296ab014d393fb0f87463368a0d531c515cd878bf8e9646fab54ec33a9af33bdb3814e5ffd632c287b78cb002f2f1b37d788e1b90a0214e1c55bb344335d902c559aa7bd2401ce180598475e81341f9a5b3f09faa84bdfd9eaf60c8c3075024a21845798db1dd3af5a2576457c81c62c6bf7530093b6e95673f0d5c1089eab4db635bed5ee663b4afd4334ea16f0ab5cb274ab556d199c4089236734bf026498e472f33f9d48d1bcfe0379d987099c86efc012d0735b18ab1d1c05c40029cac676daeefd9451066ebce399a7291cd4a44a01f93745251bacdb456d96d98e135cb57326cf7a53ec1194b0725691dee66d34d99b847787a2037d81ff172c332bf6a0f7b4e3888605db8c86d2b3e914f296e69d15a68624176c49df7a1a6319fccb71515e96bdc17532124cd4e89c4f12cf1ffe1c06a0ffc677de42df8236c1f1228f24d02ee47c10f8649f7b219d29b49bd1af1400ed7e8a5b2b1e1fd56a72ac2193a5789b4094f372cb24201980675952a06f03d309c72496fb172b9094db440556d18f14ec7aba15fc5f74d8f9e99d35e8da5c050515e1faea4537ee015e501f3810a4216b70e80cfb2fb2d5302fb0f310163cd841bfa61ae9ef1aef4f1e509ab720cd5c3c2f8b854fbdf7352011adb4f346783524986dfa1f89f67092afecb65517b1c5660e421f23d2ea08a6e5360d49a26c9ebf8448e98204d8377a313042b69adb62c619c9278c7f0c8318665446316f6a5261690f6c5e911da30bf20253f4087103c2eb205c32d9b802601e6ce8f31cb7f13d1498a6341fd540ee8872d8b72e440fb6565bdd5b0639e2ea94fb85496541a2b73ba7ed59771d06f4ae717437b38d58774d06fca9e8c5022c147328632fe3aa0a3f37ba1dc893eb8f7e46062cc6fb1511eb1ae81033b5da78d252e81d413bb3f949a2dedc88466764b910aaf41eda171b754e2b058dcb633ee9a66383490dbc479cecd9109ec0b3b6f72f66445e17f2056fb0637cca81fa5f34e7d8d9af78fbeca5acbb78353521a842adb2bbf6222a23cab6a1a15834d799e6a2a4abf6b14590520d95646cc54df0293f03aa63bce776698c88f56f67bee4e455f42180a12f7e7773db6aaf793c876bdeb7af8607b5c82c3028b3595f45fc6a7af7e00a712793bee2b9134e30159bbdd0e19b91cf1a12f002a755fe5409fad40257e2c4d92f44757657693cad70e659e43ad69e3192829ceec53dffc4851c42e534a29f7be9aa540e3ed481b89f1bfa5822d12f6fe7440563cf548303c4cc74e5d33de4f67c0b98bd5bd103c81849dd3a4f14a57eaaf9e9d1b0cc157ad656d5dc6cc61560f32798bf255fae4abc4e17948ada88493486457a164c08b2cc7b727cac3aef5c7b49ca6638d38b9bfd8437dae3dbc689c618a95b44fc65e3846fdd1f422afe6c0d348062c913b19944a19d1e8f6832b31cf1805fd0df2186a62a12e71c054f052ae50ff13b0ee1f39a41c4b80e9f71d6682baf98ecee8f14bdc16b89d525df7d0b968995ec881d21f20386f4cdff38df06e0a37c9d5fb6209d6034c0f4090419bebf085d3f93702bb98d4d7f207a0869037f754b55da0855c4e05467b7ae7f216fd22f6a6479bbf24f7340957e5d444d0513c7684a47bf8b8b2dc2e5d0647e2ddc5cebc816b52dce788eb7846bbdad4e7e74974b28d4a4922e2735b7445184a68f398c65556b4eb0f91fb9adbd7ccd53571ed0267d79cecac0819b42b8b2ea5ed1803fcb7088ad6de89bd6f5d5be991fe0297a94e99aba115346db8577c0990bab1c0c5b30fdb0e66cc483513f332cf4440055e21439c400c1a8676fa949716452889b10862a233daec1c5d849af5520192ed8ab39cdf7414d8737ce2a62bfa6e5e3c86995d847c6e9c66b113a7b5aab7034f96b918dae086d4eb13c744e14067bae0933249cb017d6b49d68b3a277c0ec2f30139b521fc3139250d612c3d9ec73a3982b1d0e6886d58944b68dec690f436d764d9e9fce4152aa840c8e2d488a3462ee675b4ba49e8911669b6d627fcf4d659b3b8371fbf73fc70df55727380d67c2bccfebeb651b4c33c1aabbb97ced4466438bd1406a9abce20c4500b69ca252a9f626519e17b53a269b5871189cc6853fdb95e88bfa862ac02e81312b14f89cd9061dc24702ddb68889c703697ad870986b3323da20f529835000e90574aac25205fd7240ab4a2812cc21fe7f22436ed485dd778b11b00ab66c4f15cafcd6a0ecd35f99864d0cd4607aefa540cf0b113bf551bcf6bae40853852b44089ba51a2c6bf5194119ec01d18b51164dabbcdb66b188fb059a650a55b60d1153666b1047e0c20c6533da4f2e618e317a9c1afbefd82a56553a5bb5866b501619f268ca846ae26ca64531a0279716a5dbac2ccca56ff5f74061900d5d005229011a7759e145536eccad44b845f59f662b6e2f979ab7f8ed1054840c71b16ce32a4bbc8ce302c384f8e78350b0b2bcf37597898cfc26526227db56212d5ad6a3141e4d584360e9ddf60c5a9be6b435ce4ec0e2dd802f21c691f6cf8598f1fa42128e316a54405a60e74316dd6581f916b2051780d109754ca4f8df0ffd194eb94bf220e27d38b53fe0e5eb23c4d869c1dfcc39e2af9b3c1c6c8c254a360d3bc534922f110f092f9aeaec847e6da7cadc883f7a5bac83784371ef68f3f16a93023b1b05b47fa19b3cdb9f5d7d05c482a055fcd4bd6af061e02cfc269c835f2bef0258bf74f709bf806d4bfb694637d1526fe7c4b29ddcaee6b97fbea7f223a7995ac0670f0631784e70a4808b876bbd0def49e7bf029b2423eb115c42b905b042e00ad050b79e713ca9ab2c83171f4667ae281114024b5f831066b2391da01878490d435b142254a2ddc46bd4e1659c393cf1163fc7b4ae9c773a643d7369da29e1ebcb15a99289cb19e20cc8b72d0f0244fed6edb43db12e6751211062baec0e90881abffa5edcc4afa03a8fb2f516c98a3d1c80c9747933172b0476547e28f154c65a4487e96491352a73ed280326f160b7b032e9425f2b0a637f92ce25fc0aa22a3225d8257e0512ce4b811daa5999a9e5a4e88d0df3a560e23acdea3277e124318cfa236c712bd265af1716fa93a4efe6cef868e25ad66cd09fd0205be4a943b318a7f3d898e756e7ac19a59924d127f0b7dc63e58a767588a711450522eccbdb6f71a2e38f1ddadd1951f4b0fa121149f9e1eb4c713db85e5ff5563ebcb3ac6ab8b21da2540f3d071c6e0aa73262e13c76bb4301229120d0c412d3a555e40349e8eca10df2bff02dc171de21d06b0e5fd6c24d8ef7b654f6b46c6284b3480ff37b7b044881d7ec470e8be6840b1eb71fd173934f510d50f362350be3967b85b962c9492f856d261b24a20b81f5896049fa0096a5bbdef62a24731a550653279c9edb0c6dce93bc97a4d606935f464d04e5299a0556bd89ae429ef57f9fe57ece0f8ffcedc482b44853cf520f6cf7044cac633a36a26f4133c57da015e1067e70ebe9c75058affa75dde83801919332dea500d5d68f6104a6ab9132e3b4959768b91b2bc5c728792c2d7e03349667d94d3f13d99b8cc425bb4daebfc0b69b4c500000000000000000000000000000000000000000000000000000000000408121920242a2e","message_root":"0x494447c386d90c877ffb77953d9d553680d225250aaa3f066af2250a18a8b6b4","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x96e752afb9a946f1d592e59edcdf4ffa4e45bf58455fe96c4fba67a2e48700d72ab4763f18e46e72b819a2f4aaab12a277326d613c4af148c15b1937cfd3edeee76059241905b13d921f8bf0c9c0736fdb2efa7fa2dca4f87dc129f574b9b84fb8787a85e09407e9a1c67715e814a1bedef7beb8cfeead920973626eed3cb11aef90441ed1834f808147bace359d256a55faa6dadc867895cb8df9abbaa3cd9c449e1242c201f3c5ed79d5b9a36ea2099a602a63204a95e2e5b80bd3894cfac498169796f729c887d8372e6d06c907b31522b63d84ff40eaa457ce611191b1c61c949eead42f1406fe817605eeed4dce9ec159df016d425646a94bd43a1d167abdc3d565111cf069aa255549d080d3bd7b6258ba5b55f7dda1412119d94b0ea36431943c4e74622a628d876ba00eb14282cd8b3b83a943ce290e1269cd8601ea90d8d36a8319f6ab2eb6a25676d03fdb360a3cbd9afe4edc5a02ad928e65ab7600ca09484e658c24fffef370e93fc4602078fcef25b7535e05f3051b2fbc24c5c623b46ced8dadce83a4ea57299015d1e330edd66a934c343d7af3c4a4f0bcf9b1fe17212ae3e6f9f9dc32bfc8785754eb44b8b24c5684a17bad55f972979a824b0d502a81fc86c1e8079d791a970dfe7eea1cac8d9e9eae83c5fb2c30f25ca60b9b92f352ba40a5b51bfa9f17640f69b00f493c32c3d2b7ba7d719df0ce0b00bd5e6194306a126a778adca1291a2d294cdad8be7eae23efb04757dac653688bd0ec63c72113a9cdbb634480d8fb7fc9d41f6e82ac8ccdb13722b38645d47b9e9af27f291a12b1404a1b441b739a21fd299705c96aaca9e100f551d33f7b3956f67454d97b0c27f41f0dab3dd17c40f015e36d9b459451cf7b9266fa3bc3da9b052d7707c64159dfb2fe35f50d727f2f87febc2e26d8c855d8087d499b67fa74a4e47aaa260354128eb9c682675b0dfb07b5451f5097f99c2ef8cab0f82f05c648dba45312ee7080574090f956a3556ac205df3697bc8c20cb48af703d14b874993d77c831fab0e5631560a918860295c439dea22478fdb77d875613af639288334c10c134c4960621795a80d095c2c6afab29634d47d09d323f1159a9d720a78eeec85e87f6bdfab70d341310ddefd6f7a7a781fcaa83f8d8b5cc0f90ec1a599ded9a8fcdc8fdf5856e2c566207ce01e016c00f584fb529eade4d22cb7e55d4e152a666f8454c4e6336a01b67524f28d778550b5bbd3ea0f1049343a2f3f1c046dd05d45c114c37fa8ad8bc924c2b871ea344b407758262d6e3269e15f090e3bb5d6f7dcedc8ea9aead7b73acd717d740ff72b561ba537b16644b8bb70ababb1552468ee538dc78b67e2c2d0be953b9f98cd2d09a6bdfd957fe9957e2d71470f23110d62a05e7e597603c95020a5207b5ca553099f2faf7a6ea893e899073e381d8b1586f60587dc0ef6a7ea4a9b008d7d8548f9b0e68e5d538c988ea676dc86da2e10d99341f7ed2371edfeabf78ef04c37f7a18ed6defe1dfee8cc5f3816aba43c89b2a0e902e67ee368ae3d53f979b3fbc2874ad31dd9412da4b087d53c56be7ad54f7124932746a941d1ef0407fdc5e65fb2033765e5cf1c162cd331183fcbaa8d3e1e0750cfd74efcfefd10c009c4cb1309b86843948858c8969aa5d5c50178edf78e737f2a8a91a09fdb22c7cc8a694654eaeb559bda9e64f79cf8bf390cc996a84b98f9ebef163fa4d7dac9018262f2affe3f09e5849f8fc69b46020f31b9a9e7cfc129414ab41cf56f77e646bad7d5d5f8423ed4e32aed06d9144b700331803ff2090cf3dc409e114843b9405a34fcb02b854f54da14f96b43761ac09ac731498a5bd5912c9202bcdc5eeba6a95cf813f0a5834741376b0d4e196441d1f066b837759492f2044ec2a0354312ba41c911d9f04062174b91fb86be95be846277d02a3af630a41e4581bce9d951a57b3d8da4053105bd5bc119f49ef03e92af921c5938a00e8bd8268253fd30bf797c23ae99263e44953705456f016fe8dc9c582d38d19bf5fe35628980c212aa390ed89343d69efb79ad57255d3c0a496c01b0976721707f6377dc3b294af1a7b586251f532d9674a9538bb1a8ed256f2b6dbe1667f4d30f2174a75f48a379259d986a1e6688ed1ccb0503f514fe3203dde64bcd5a7be38f2be432664fc96d6b5a80d4ed84ff4826fce510f6e99b8b611f8d3926e01e8ea070fdbb9edd1bdb4bb25107df3a3a11523ceaa168b1bfff06d15e1d7cced8774b54a267093289a5fa9e961f40a37196ec0fb3d0c84112baf6e9f4529aa7ed12e062bc5e07883170fbcc3f07739d4d9a52788611a39ca27f7d1363b6bc1b9a11efd3cca9962a4c15d8b204fcefb6642a130f78aeab0849a63e4c254297583c18a80a1df12ed05d43bb03780673aca80a6853d4f811c3477230078dc6b0d6b1c69c857c2b9b4ef415fde50c7a0208f9cb67f961f5c98accab390ef0e34c014933e7071760d3b76db8fd18264d874fefda829051ebb2fe08c0848d408ee3119716febe7a604fc673a85d0f85ae2827cb83d539f52ee87f465f3d85d47d72da44e5d1b19de3e7cc9caeb1c745b663ec85f88012810f2b832e60149d31a722cef19d451e95f8125666cfdbe09c5254341117a32bbc3f13f4de26a1807ce09c8bcec490e829d318ed95d878d046013212260012466f39e2a56c95161ce6cc96ca8d7fc8a77fa9fdd361312f39b45406874f447b168916656da22dcb090721d9c4e29aec72470b37ebea254ce7e666bf35610087f8f08a73066a73c24abbf951e0a98dd672ebb0cf3a0cfc64cb90b932ed7d159abfd4f886e9123eb29059a9c2a2106226c9f17468965b3e427bcc15c9b2c1d2132f9a46f4b00441b7de2c52205fe59d7784260133afa3b586f37e5c2193c69c71118aa55c3b9758e1f040918a58724decba01f011a5fe87c2232368075bddc24c6d60655b10c2024716611713dfc6f913281c04e205c4b4b9a9045e6dd5d6c5e51665cb952cb64503133bd43570afa68099c7e43166c187ba2c0b9b3f18d2da65267501e6b9ccb77948f1faf91420910ebe376d83f1da719a7caa52e5116533649de1b0ed85ffd342595bf05dba2963ebfdbce1c6de260432a8ce7d6e697b751b38e5f8274466f1d1e29a12ec01025e98f52dcec3e4ea2ce61c60ca3eb109f02bd8cda2ecacfbb0c464189955e175df6eae009b3283973cff2ba6be60972264e0c001c40b508be9c2fddea8b1715125791afee51ac2f7181eab5e2ab8e3051e096ebd4310cb6930d4458c313a320fd8d5298d0b79991f06d7057618b0286ab46e5aace36723c35ef8fadd7e6cc843c82e8a23d916a33768c9f22966cadf75f3848af812323cf4e9854ec213c218cb9fcda1051206c46dccef643b1f504f2a403e94632a04cb737a09c22c3e0a8f84421bc7b1336e29754a381b77c3ab51013bf9bdab4aece2dfcbd5fc10617f14740efe9f21fcd3f732a26c0ec81f8057febd142d2d986686a2b7e3b05a0d8c69ffe1f9d32dd109a3add85cacaeee1ccdb8c2198ca0bd515254a9ec9ce85fb7f285562d31644f588b6daa128eea1be353b8827daa6fff97a1ca9b43856dccff3332142e28e6d6a3f67be99ba47fa2c309f756486ee4c82fbfd1833","amount":40000000000000,"withdrawal_credentials":"0x0040a57f07174004eab8f3c6ccff4af612d189858c129c5ec1d5d05580f181a5","deposit_data_root":"0xbeee3db0f3e8d1c48d79f563c057a589d88e2fd9d31324499389d6ebd513c42e","signature":"0x6aa74c0ff10b3527ff1c472768a124a95f1c102a80cae28c69ebc940d4da0db26f2a09c8b53806f1d4c7f4a4d150aa093b8922b92733a1c8c20b9386a29c5d9d7bd8ab009269422c39408e3f207f9d943ae24cf0be8cbdde9e369a2ae13d07ac7275885f69a26a048701701494a0226b71324e2f2d790f390df7a21f77f932c3d453f0ecd7602e184d8e3cc0c4a0031ee7232f9ee44dfff5a5d11f470f732da201d16581b1cb5e0d6c7c25c25fbf6baaabf26ec1cb0a72de603b4a22d5c19460843536bb11ccd3d8f7787e05e5c84cf56ac237b6d05a83f5c722641e5e082d0afaa7cb21f4a3dd6730b5dc3e0df3b2b0201663fda9b0aacbe9d9db4752f9de3205436b831f228d9bdc75ab24807a99bbb681c594acc23b1b93510c276970bb7dcc27dba0a9d6516c5f4f675f64873d0f8f5d2942ced0e465031f78925eb6c779594374fc77dd73eb4bcb629792b8170e1630b81b408d16b6bfed939e1a89ec7d3cff1a9dfc7716450a4c7c726f349fda4347b056706dc4059fd5b469fce57c745e1f6d791bec7e6a5cfb612f6f3b25ff78c4000448f048ee6f23e9357281d0f8fbae02277f19d9f7c1586f4a1505788c8a7e6e8803db1ee4bdc2d2bb34c69f8ec109df279cd761ad4c0c04ea3ade1bd5c477437322c94459e8e7a39bf1790f35bb9b00ecced1950efa5d54f1ddc329462d42a49aea3e81e670f0e091a6fc9cfb712237f40cfb74da23c16e8dc865240dde7c4e80b374b84222df3c2e0aea3bf6c107fc2e3b11c6290b7d3fbd725d29f21dc4f52bf6907f374c1cdeca4092a2f939cd5b176ffc186d1cc56226e667292b4a7a9da06f9117e85bb1703a4dd549bff6c0bf86ada04e47ac81cd3ec96ac86e3cda18c37cb2cb177bbe1b09cae045292c1e3aeb094ea91f4ab487f76def42961fc81dbba75e2098a7613033d88bc2d385b2160e74f4c47884c16e8ad72f95e7a84b28cb689b6b8e22a4f2f45e8683c1917442953d8ea69acd46d647034b5aaa875cdf5538f52d34fb11ce9269330888440f1ac446bf5c80e962f60b2acd21d267fed65166d103275383677fe786eb825fc37626239aedebd95275403f4b4ef2092cdfb4c436a882aab74250a847df45159cd3b47991604e92e6397284becb583e75910bc14fbea8e91a9b328921a8c8e564c7661c9392d2d673404011376bba6333239627163ed941e93c7478da84f6ad7e448762d2ccfeb78025e262fc81a3d076af21081e63f6ad6188125028c6545b766123ec771864df421525a26331d2a4ca6293152c39b3b559c725a13164d7b3d954a57c3dd44c1581f60928146364462afbf0f8849519abda349c30e193a8484a81e02f81f51b3629f509f422d0075afc892cb7162ec614c17962303998d972a921bb4eb43882af31a6f9ee899b6eb32825fd9402ee78c55fce0ecdbeaad969f1129b86f0a4eaafd8eb7389f697e201aab9b820959c73f6c9d820718e5e1aabb20cfba023cababdcf144d72eecfb010869eec1fe29f67e7f462b314f7da3474b24385bb19db8e359d57652b6dadbb0b0de9e18ef8a435b07a5c7cde3a61af15521e7ba3473b4a841903c4993bb03bc94bf227c62a6bf9a4d6a4e211453c3d64dfc615c48eaace0c26c209fb40e93106cfd326dcc794316b98c5d6bb442478b06db7ea632ea6548044b96d7337b5d22b00384d38f3ed2163c485003f82b970b84cf0d9cbc9b62e71c95cfde771cf1e55697b98dd98550d8fc702da81ad3e41a96f88ec613f52ea0dcb6f8a0599d7234169c9e731d89bf513ef03be0b22de27351aeb63a00e714d3ad3eee52aefd45edb4587af523fbc452d4c244a659fdfc587ae6c77558fd1406522fe5443119c7b6e635ecba63c7e41bcf3e491332042064edf6205e6fedcb56c61090d0453d7a9142392114cc01150d00a2a8db7c04e92df786b98d96fccabe817bff0cba3a1aa2fc400848303b0c85763fa5b432e074f2d028000df75652b46b616dd820dbd609259813511af48c555bf4fe33ede0573b6c0e2632e6375788d955dac12c05922e6fa4f17fc7e5e8becaf750a6432a494a0315a319db552a3ba54ebe87b7a32e65a1bd9fd8586f55e8b92a0b0f619d4c6dd80be81bfee063a327b8c81cb73771adbd11346a4217fc14ed792f7476df823bef8069d47d8ce67e5fac2cc7d91e1e14104fbfa63f9db1981aaf0d51de749c6978c073dea61658401709939b5f14b9dca1f884cd7bb0d5700120be8a38cbb09e60cb596fb6f51245cb98eb560095addc00fce2f7d479761bde3abfb9890ec43e396c013d256d63a4d4897254cc4ca3614679b6d17f6f92356a106d7d3eec62276dd20e4c3c8786cd67c49621402725e395da2714fbab189051037373bc18129d0856e1c80a0295b30587977758421910d5b0250168720e0e179d39a593b414ace80842ea1e0ed8d086a4b693c64453998a719c146581371e20443812de9ede593a444d1fb9ceceef6baa9c822017d08d64819272a894adb121a59d1dd25ef3c51bbdcccb3864fb57096222ce52b1db14f21b99eac4ef0f65eb5aa9a29ed566a620c980a5622ec489f609c031f6de05964ee339241cc78306ef7bc2d0c70494268f70284a27a7678e4bab13680362672dadf68e458d2825aa6eef0011f8f42d3f331e199346a0ceb162865431955eea369e74de5b3f905150c65e8594784ff4021212d515408ed8cb6bb2ec2c523ae33998adc50c711f1df3c2a6bd72de8652cadd017e42ed02747abf786f882b4d74c3d95d05f2e30bdff0aab287b9ac69c8d872914ceb30baa0f20e13cbbc11fe6d8bded0c11d260bbce9dde60a87462b4c1e3ed2a2c44cae8f6a471042921222e75c17d670c2721ab9c085d053b15ba6e0bbea2e04f80c0249e3f1dd1fe1362c1f0e23f1e5857bff67563652c33804ce951a695c92057cabb20352300c18dfafaefd0bdf0bd4ceef984fc47375693953a738fe6bb43d036660f7b04accefc2fcbcd7af744d727a1621ac8a74a82b3ed6404f912a6cbaf55a250b2cecd7a29c9ddfcbeed7b51158fa1bb10358e7c6b228395866bbe12819f98e797a7a312bfdeef92b3f7c193d409d6ddae150ca0f294f23c2d41ca9298379b125beb2b501b848de8fa934d524bbce05651b837390f7e46f3341b8b3b4320d7081554cba106723b8097c4eb9c74dce427e57f80d6ec4119973a05f35ff8ca2a9b9be70817d722c95812e60395a70a39b408b1e1a3bc054580e166c3976baa406e1117095e471d66c92b5d0f3fe871236765457da20cc8ded196b7853fa6b900633276459a90f94ddcadf8a1ecefe2e1e18e867d78df49e736e77da5c65e5902d11e5cc1d14c0329cb87ca49538768be48ffbc5e6cbca97eb34657cdbc704cf5e0d56e452a76fcbef0614449550ed9deaaf59113032e73d95a91fa2d222fd26e0b233a3a0ea71bd7190e0603a790a26092d8f109bcbf99d27b44111cf46bc9a58d8f8c3687085eb5e43be44b22f2ee29f5ab0a9e0a4e0061e048b1ab267261070189b30fa540c78cb060ce52d4fe5eb3e27f4d1dadfd1ad3631e8a47019ec8e6edda0b2fd0b2e537c8bb72dd5196050b18161a230c03d5d3757c14220585e1c8d370717eb6a93414025a9272cf52af112e85eb47f0ad3855817571d3c788bb424151a4b46e5c77f37b6ecb60a2cc5dd4f93ff9fe10a7af44c7b79349a9bfee2128dcb08a921a351f412d746375bd090c9de75713d6db18866e19ee30e7c25d5c513158ec6c477005460bcc75126490005d5da8a08f37f77e5acab4e0bd6ef38c066ab6c1e432d0013941a5f355fa0c37d08280055838f024f81cdb145b90724752b1aaac0de7eb0d7f227bdbca16c97066a8556f988d889d3010d2abcb134329460af6b8c3db063292e35d7f6f3811f6f28cd0801881592bdeccf0b7fc50beb6488851a868320307251ab5f3fa134809ad80f0dcd10eb6a4870c6499e2540b709e378057bbcf618e47483e8293cd68060879ad3c2653cc4657952541e9c70d2032ded834d5a839e100547e5dc259a71991c733af09d140cebfb3fe8e13d62233b71f6195f14f2ce270bff3402a5bee2664e26538921483e10b77fe06cb2338cee20c4a102bf8808ec68beceafde12ac091dd73f2440591781c249e48c93ff1aa12f238c24d1824e8f92ed2d14ede2a9a37c29f7c2bf027cf4451b3952d9f9cf546c72a2e8eb454bdc4cf3ce6adb756cf031d01f13d1de17579fb341f1c88c1c745e9545627a285fc06bf873b859b6e892464a451d0a64bf74797869bdfcae0168e4f139c2d716f1ba7cd4bc106fc455cf5d1e7b193523b07269c88abc0fd28e87c5ff9ddf5d9dce3e8ca6c6d729be6e237b6f8dbe4ec5af7138e0e11dff45ecdce45641e8829e5f2962fcc786d53917539a5bdf29c380ef416cf01b2d2ac228ead6af8b0f05028b3555875e96207f4166fe1cec1b8132db319289974e4f709cbb493bb61b44c7b2e5fc7a8d0fd3b5fe57b2fdfeb564da143216aa34de5b2e0285fd651030d9379164ee778ac92bb3a19953e4e01788bffb601d8c64b9c14a53462af7f935e9e7438b801cb31b5d23650b6b8119a059315ffaf43447935baa666e5373c7cf9bca9504884cae760a5f4ccfad5229d275882278d8ef919cc35ab13bab95dac3cc0344025587ae7a29dda667485bfd8a2da14180c5d37b799671ab08c140dea33f449d989b7b98c4230b6e213ace9f2a262b870a8683cb17f15aee6faa1f943f91e87b27cc5f2d8d9d5213c718c53e13089e6b6bf1d46b16de32acd63f662ef8e0f481ae64b57d2a639c5cad21f29d604584a81cf3bdf08913bb616a4123964fc044f2320901ebb52ea2fa2778944ec88e891e07eaf3a610b2ecb88890dda560a1126e0eb22bde020a9530c44da532b87ac90851331820be82d9b4d2ab0c9e6bb4008d39f1b66660c1f57fc3d193925a48ea3fe256689b6ba5ce496ed1ad53075c80f534dc5550c49f56cc0c092b4c7ef5ec6d9acb4a970682b4dd791bf255acc64303a6ceec6dda7a0053d4928a205bf0f4c89f0cef0a00bca6469cf2060f127dde3e29931196d2d3d91da3007970b6ae99d24289c79a62706c412a60437ded68dbd43c5f96cc385e598ffb13f190142a79d925bd08fe104387ab3f216f32d587911a6d3e50e246ac88cffe718a7eb91056a9399c5e70e8809c6c8ad3b6f83da76d5b2df3dd0f26a6930dcfbd8cac172e6e3865a824920ffb68e059ebc5754a3598a763448f0313c07de92b94be886f58734661c8d83288784464d6ef34592060444870ebbadbe98762c489242eef7bd1dc855d9863ba9cd9f286752b77a23acfa0b024623dd2cd2a373ca5b58c3602eada8aa7b32aa8b7d6a89e83b792af43b712490626f4a640370e44e9ee162aef3cd806336d01cf81587c9c4967100a047ecd6be117ba77b7195a3d50cbe3f14aa802a0192033a97c7242d763dae392be15e31cea515d8046f3f4e909892219bd93a779b5b60f02a84467e96bb97983c82174f072cd6e9f3beb13ec37af7c22a870ecc24a83d3a4fbe1082f94ad545d0f7ec04fc903dbfdf0d6b077d47f9eb3d8f42c4059c717c94d643842ab7dbb72d0ecec91e58e31b3f10c1f13ee386b8a6f013d50ddddad9b34356005a5b853acf8d26561bd40f4d2372da6aa8dc590112896ee3bf3526616e7d8eedac3282bf2884991d4aa23bd729591844d6084cedf379f20daad8d9e53bb04c88a4a62f51942cf325ed04a1c03fc1d33e90dccff93f4b864d4b9120247d59e3c5dc71688c011a73d4943f6320e83d6a2ccccf4fdaf5500171f106bf605eec899b6931b062583b13315726095e17de617257c70490c71da5c03388db1c8e3ead6172b30365399bf71edf4595ab97358ea3febc846a9dbae514e0de7b704d1b808c694e1c514c44de23c34b84ae13be328c79ed675f6c5dec54eddb7f0adc312e91ea8703c6ea271a5e1b68c256a79d5bc9b5866d968206bf27a084775c2561dc6ce81ae9764c722032f1848c36fdda69da4ae0766a9d62e7db49e4621d55418a54dcd129fcb295700e3b26e1029a57a5dc9b49cff839d2ef602e4fbeba0e4ab7908131c00551fad2ae52b117acccbec46355fd6dc45fea175a5b1f136327503fb5c9998fad4895cc684448d3cfb1e95b5556190104716f891925a1181ca62b21e622778d92cb28d6d439e81d8be70d749b1250a3e030c97bbd1380da6a490b6290f75f03a08576a1ceb75ebfb208b0965718b15ffe8077fbca35fe7aea70b964b0283e596bbc1bfc63ba0a42b780151218082d0df7878b6ad5c46304f1b3a31a5a75b01184b359f60d4c0b5e4be4933aaad1280921286f13eba77a324cd207317379acb503202365c5d7fb3f5377788089a4aae9143599adcde1ef2c6e82aae5e6ee090d3d4773a3e00418393a607176808892a8adc6f60000000000000000000000000000000309101920272e3c","message_root":"0x065f8c611c7e0948ed52fa6a8da53867d882dd1f4c33b6a93deef404db8475b0","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb2e0ce8e2600d901434a1424390fe9b4779f583f775d84c83d54e5ebb2fa1bad6565f0df9f79e772ed9e185eaaefec29f8b56762670eae37bea6d93412e1bbfb7ca6e7572096921f9d58f019e0168e23716c0e935daecf9a349d543432c4166c74fc69883c2423cba51a3cc0781db3da53c0f9a2111022519c22d80398d2ace9417241e4ee827220892b6ca07407962eeb50d5f6e07b20e3a0177a3eeae4ac36b5365548666dd4f266569d5627f551075217ff90069e899bbeb8bd661af93201db4db3a978ccef6d3a2dadf8876bba2af908b67d0f52392f145d4be6417736f660ebaa986c816168f7c336ea2d89020856e4dfa854d05c0a6444f2d35ae0521b24504ace419a362f57385af64a92e30fcfe50003974e59ad25bc58d82705bb8fb2a2839c502785e854e64208548eb061fd3c01d15c207069697fc32138201d43971c9d1224ba8c0ebbec03d1ca2f1d90b2b57517328431a8edab5a4b65cf7be205dafd107edddc8f05690531be022b4d90bfe7d7b2f08d3d9035850c11beda0c603d46c18a1df08d53775d603e6f20868f03b30bd85fb4caf4d9acfd53727c38039e48f60455fda17ce56b6bd7375e4865d289d8883809f423141c5213ca1833031d1c53a245238b073d039c5f8728807296e90aa1ac7429002b5da9247afde0e453fe6603ab9b4476908e06ee774b8ea305ec90732ff5b44875eb0a5c3aa8cec41d7750dda6e146671296149e9b434cf0beff925c74677a08137b226ea66efb14284425773f418c1a218b93a3e3d4ea31b871dcff07fe4620e032005bb6f1b0decfe19b0e284e6a3f9a5efa9ff929774058b5b337abd94c5db6ea6db9d048572650aa3f6442e47b2180e689274723d548a39584095e14575394a9078844ada68e5559a703f75a525ba25f263a3f3d4cf9833f42ffbde6d9b2cdd70563336500bcfe61b270bd5b5386a0ddf0832a05fb11966128d7a92eb461de2b97f805043b193751474acdda485d9c75fecfcc7d64398632f81823c572b96f7eeb2fd5e634a6fcef1bcdec722b6e9ff73bc92e0c4b76fe5791a2bb3777036b5fccdca188588ec4745130203cd9c6532098f30bda12c9b26f3ef772bcee3a27b4ecc230fc9693fe9cda0ba1d9554e33a658c99576514156d1d9a97b80e089c814b1a4fd31f8b1372e03081dd1179ef198d4a45ce65f6bd5f4371e8a734bb971c784cfd6f080a2f2d264f6756cdd14888fac559cd9d691a8f59504602fcd08c8602b42fb0069968b61e78ab5032c48dbbcac48064d30daf1a1ebbf7c5ed372a784be066fa9e4d8df2a60ec8a56e00ee6a3a636872ee51597df628c4a3071567c47df16b964835c0137dc54265dc5b33e1ce357a23640f5296d7e8d2d3636bec9e7e4a50afb42f006aad1f530be516f717e08f1b7ae301ae67af07a5eb8c067416ca63d40e4ef935cde47b02f6dc8387cd9bbfa092015179f781619fb159c7a91a23eaf71ce5e9ca24e4a5121c2725ec723f47262fcf834206f7ec65b4dc18c8481d8406085b8ebc5d1c26640ba168db9f9deab97a0081069bd335d1ad773fb8720485c2b1b0cc5894f3394f5fcace35d78a5d43efbc5481a44def18b85d3a86fb83ebda13c189a9f1ab1ad9efe496beac42c6edd4243eebef50d446554ba046351ccc879bdb7133a134f425d7c7c44f9e6cc7b31d529a66364e5cdb3881826c0f1d9bdb870d842903cbbc1af4879252d93058febf7acb18f1b3ddbc08773d4eb574f9002ccff418311e0c6b14c180b094144379b876725d735c837d16f53efd271b388749f68d3e1ddda37c18ca1087daa8a43d3be74032db451c1dcfd7be21e0b9b72b5c9ef449376268014cc13ac68ca2f2f3ca1106d8023ea35a25f607b859c0176e14f17fc80ffd740e220efd47c32def7920377f7d4e5e94f08762c96f4003628ab1264d420a8071bc13aa3a15dac58f8d9d6cad7d50a9b887499d800e17bdfdcc97c1caa6e759c9f9496dd18049df6ff6f73ca3e30f7644a68dd7b20491da21b028a687f803813bbc7a28d6fa43706b4d2ff634e3b80a21836b4de9df9855e928311eabeffea29c85e53f4885ddf8f2ca7f3c9ff15c3aa029ec63680c5c5d0652784e07a8e1036abdf1674b1a7f9ab0cb90a09a6745714d86e54fcedd556d84df2e7a95fbe2797ae1bd1163665079c970a2128e600fd474225f08b8c1fde81c31cea625b3427e8004374f7307eae58c4d2a1956f690992de8e269443366617df7c3ced7b7ee9910a40f39e8ae7dec99a17184eb42841ade19a49ed8806c7d79988066c88eac655c6d93cfdc89920714a50ffafdb4a6d8d8e29da0e22ce4d6e87974b48fb9ac97b9475edba06c1e21b2c79450231c47c79939ee77dd3e6c8c78c2db424ad8e2ff09da7facb3ee5db5a0706cb3ca1d8c27746e8dbd16491d8edb4f4d99e6091cd0921ede88993457b507d353be593670487b51e187a58e364bb8129596e6a61fef77714693bcefcb72b243899b8dab1aef523853fd3083f271b6419d0938ef07bfaabbbf830beab432293ee19f16e06bd192b35e19d71a495cf501e4dfa0251f50c45a0401f70943143bec5975355399e231aca00fa8c7dd6d23de244deb4a6f3bf888b9eb97f88fa3f6190fcf0b3749d000e72e102dc88b39944963184ba55bafab3e20fa4b73e95b1d1fecbc0725594229fbd29e8dc8db4f494c06b0549953c19d0105c200371b73e19ada37fd62d7ef9bd649b5e87aab85b62cff43864eb5530ab9e2cc5e1c2ab3c6ef5b278cb395272b391349d99c5c72edf807b706839e5524406220271c6728dc7c56d75f836fe09f2aca6463fa7c774e2c1740bfaf295f83b439bb17e66304a4c5be40e32f88954fd3391426db56152ade554fc9f7749f8fbcfe354d2e4fd28de8d1cf430ff95b38616c18e57b9242ee952e1056d8d3db421ba73b4d55e390b076d3384bbce091748104b92799f173aeb904edbb4542da815730672d62b0079b771ed628fa440ee30204ede3f22805115d585db26193be65af20578879282b78c9d93c24fca747435455927722c81de7827a25820dcf99d7b4a3e6ccfc08bea99535d9b6c64d71a13d4c3de737395427a96fcb0bc764c52cd36bd13ccecffdc943ebe873134632fe6397f0e7a385e9e039c1547de9d0f499568653108ef13031be8deba1174af75e70cd366bad379dee7df696c6269b21f65d8fcf4eb75461a71e7d93f91523a3d0cf57bf7e1ed70fe350f6217d44f3fb543cff70eb128103c29a795bae3ec26a6f0e404450aa0ca515d6a019dc8568bd9716d333260489f14fdd1aa648685fe8231ea70a207015cd88e1efc8761064ac1d2bd49a2d0f98742cad3ce954eba7248d96e6f85945a541a4f78c3187f5171d5ab86d8b86c3ac169380eee1f7ec4b7bf16046534b6872910e169dbbdd352383823e0051bc5649343855e7caa458130fb9ea1be400eac6d423c48876dc6eb7fb7098a1a3f253484b46dcc94557228323328a2b749cda39bb7893f48db49b1ce2429794370efd0c2d1fe1a6c3c6a9151cedd092a0a0476a3ae76714a2f39541c7e2657c88c395806d89083e3444a629a97df85d2201ea1fd3da5127d5cc144197c73145465eb9aac276a03c0168eb267b355311b56458bc0e66867e4b4","amount":40000000000000,"withdrawal_credentials":"0x0071e77eab76e5fabfe19723e5f3daae89a74601430986170fc8ae4762708793","deposit_data_root":"0x3a164794e7621f2ef787667a72dad5c81607c5b762bae6e9ad6d71cc95c2b5fc","signature":"0x368387205a51b1214a11c86bd592d78d9e7cdbee66914db8ad8fad504e0e089377c6915cd26f9cd8149a3150196bfb747beaf511e80e3fbc38cf6731b8066b16697ad497236433d322efa989ace9fc7f44fdd4d0e4e088a59afc7c566054c981d4ff81a83e901b0d6547e097ebf9b3df4e9d8c76a2635797f1bd294eb93b95686e7558aebf79e4b0a65410bc2edb43d2bf8fbaccb485ecd0ea3f2715e9600acb21f41dffb7669cddeee48f78a25c1fb3458c0ce7ea7ee6e3a6f5aeb54221723bda530e58e6900c9515cbcda9033ddf692be53ad4acc6aa572261dad999f7d892c2d5688d3941945fcd1146580340e9df32cda9ce41479388fb0845f8e341692f99dc3940ac1b520c035dce37f6075924495dcf5932c0a474c54552a0a796b8c4ff535c4726d043750c49b05b3776054c3e9a7bcbb5592cf9b888047939ebb1cde9f8b64df836b03a6f998f6e777cade4ee521d6433f794219d2cf68c701a1a49c606a5d9b3c7e762ad0d5d1cbfe52a81dd499510d678d74e3b1e7af6df97a9ffc6e6fddb572e0581a3bf16022f5b25f9b23905d2e7a99a4fa730f5655acbf494208921fc878663170a8e461333c4f53ae7ccd615d6332aa38fd263560a60294bd91e96c49c37dbdc893bf57ea03639efe60d39b032bf46667898b869b5fdea8f524a7a3db04e15b54d3643c41712d76ea2be99dca7c279c1cfa607ec41f51a95d0879aeb8d8b8a8dcaeb177928cdbb8f66b27afb9bbc6a18c127dbae5f2e8d46d496ac1344bdf0b444ec567b50e42efe593ec2ecdcc72f4d1848c86ef2b1dfe4838b32636d0f6862988f459da08dfbfe107727325e48a5604153bf1bc56a50b90e82f0aa9917af4acea1cef1972cca616077b474da5e33bbaed9599c097f25bcc5cfde8da574b4c02a611b8448f8eaa16c9cec0cb2b527667cec9d293f7c666cc9bdab4fcc9d239cd24af247f8391776cf4fe5ab79db2643e5d35129f2308395b2dbdde651754eca9bf35b058faa289f9f16065adaa477e25a04571ee1b554c3b532ff4391df088d0c44a890d37712651d68b65b91db537d502477a92121a7e4cbbbdf352ac76facae9e93cb4120e2c5c9d9848a52d598faab050beb627e4b32c29883e16f93651fdad6ee994195ae9c2a730e60424b9d5d02efc40a6acbb6dc08f12651602d3cf22d4d86d17056f10da4a4f75121dc542ed5c053415fdc7b9c1459b5187ef2b7bc42a3e9ddd6888269987bd82faab44f762a58449a647a60ce9da1ad16dcf49f638e4f8724a7613d9800312969ce495af1f5a48b3535d9cccbb497e3dc437ded2d5f1b81717f6a9edd40ee49acf13e88cc13aa26791bdfa5bebbcb4435dadb0375b94c791931dbafb27255c73305277b040dabefd7cb2bdabcd660e4016fa706c23d709df1602fe5be932c033e066a98561f66e4be93452d67d1226d4f802b96c622692cf26a59c532d8296563307f278c421a849004d4c13db0e8d654120f0770d33920dbc0a263ef73147d1cb14e7362b4382f991fee846c6b75b23c032a0fb8ec0d6fbb17e4a97bf9e9b61341d75af9ef0c7fcd7f3f4112081ad1867efc95690f7d3b56ed1eb9ea2c7702a68935774d82124c85cb04f4fd12a7d21f9c73c37bda22b7048b40e547f492600db6bd6295c278240b2fc2ca103177199ae0c5c403e492d7775741f86def196ed06dbfe6501174d6303faa56a065d9c0ea07a8c66c634c552beb2e83379626c4de499eadc0ac0a766b004b3db5fed40dd26c458ec7bff292cba38cf249a4a20f3c20f30af8d2dce329d2f8b523bd2e24bcb94da63a01c0d8dd6db9f3e120c1dfc2518e59688a0297a2457f172344c8e42f1221e5bb28f0fd4f32f962f5b70a36fc7d3b287456f06ff84ba48429637f3d4e63235d3d44bffa8682d4f874190f5ef052e514fa8707baa742b79580eeb07a1d6d6753466e0757e3034b80a77c7d17fe95b6650c08020296183551a58d845206be9263930d7693cbff94a933291218c43a52c4ec7816c53568775a45802d0951a836273b7e31036a4535316d35f96dd2522c22884ede21997c6d75cb76cb4cdc00df74ae814ba0d1b0c53178f8e853f0e9ce16d760ae2fe7b3df6949b6130f95657456970a67b18fefa973db9d7b3737a1b57f34f0669be71e1cde4b10bba2992595042f78b54969b7fde6c041c6433332f45ed360450c289f7cf77feab93bfbb5d404f1ba05081c1d7265883a3b7724102af9915433768c0f943dca2e49ed4dc8d2367fced85a363fa3a45ae26c87d527366b40fb5a6b29c6a57d665f8c12958bf4c0666734dc4f3b850f6397ba5e2c1a03508900a43b4d3d5d7020456addc4004d15b6fbed75d686becf09bd0027ac9e92db7b72d336f19717c771465766cc979a8595c4f29c37b60a4a6466734593cf62a8adab4d063c2e4c146d5fe825be9655c84e060697e38fd77fdaae63cf7ae2f7280489210bd1b6af969f32082597d305174f84fbb38b2ea22ff1732fbcd95a112594a296bcd47fae4fad1e7e167103c70eb1f86f941f2579e93f1decc784aec444074980cecad69616d62f960f1bc234d80e83805723841cf912f7857478b951928497635cc8b70ab9328063b5e0fdec322d6b4e35b70fa4788bc7fe483d7d560e2e81cc4937d6dae60a9be3d45d00a9990b9f34c30a622bd68f6ce58592af56aebb6b62ca8a884d9bf0c225626d0dfb6e971931a6c610de6e532d3f58e81b27e2a933d451d16f5e4ab2f862c9f24df0c3b81e4f86236e5df117b77af7c2848d9f50976097dd560d81486db0dabdaf6913085465b15447a2f7d6b65a69c88595d0307f56f93f404da038d85afec1b722f52363551b5ac19dd70008656ef8578a0980ae4b97279c5105b78c3441371fa7aed3c37aeeb8bcfdd1fffb6fe0a352ef5e93437ab07c804b559c8fa169343cdd19821fd27ea9e7f77b1d28b4b9e62ccd32bb026b0c62ba0a512f512e63b44abf1e7e084f064c86df01060f391bc6b0437c383d07bfc299e0a89805d64c46be8cf9ac60d7915e9acfbd78c554d07750834cfe6fe5c9b8d0153d813c3013d7b2addec7f2bd29e3058d8371d5201d098b0da69acb9fa0af83f147b5bfde7c708e67e9c20754aced579681da694f07fca399afcf38b3f03520ddaab78dc4f7f6d784bac7fe8626522798a3f9f85a46bc8c4c41f3c4923ceb263a2656a54bbe8ce5513b3fdbc563888e5d6dc083887e77c6745050526d1adb2c39d5b7fb5a5f397b96a103fdd47726b9b08eeeaf95ffcac327ed9fb559a326e243f10003dde0b6dab358ed38c00d33f36d72823d1d9f3b48a85109484a7f13d079f1cda932d8dec00f6d02d29ee3d7f48b895557db73805c013565285596bcebc245f14ad9d39b3eef6ddcc17991af65da0d71f131aa4850715ff034c81ff5abbc94c27056cd55edddd254430f2bf2e2597a001347cc2c853f58ac15947e4dfd07614117ab035ccc0b972294ff98c99944fde0be0bbd62c264f252f32eb37a9df0739a21dcb0411989571b5a298844c58d54d629a98716afcc9a6791e8501c7df16bbbd217971d38c7ff18512bd799897fe8ed47e28caf4755aaa5314ba6bdc1dd7c1c4a12e029bd1dfbbb8c14277dfd4ede9786df2a8a76b43a7c65f1677e225d67c1497defc0730f6617486ade8760dc96e91e84cd8ec3601ab6bcfd522cce23f54c80cd2077b431b658c8f5528f0b58893d3e7e049a7e22a62de0015832e6c3848e6646f2a3a980bb32fc45373ca2892bc49be32471d05820195a5f46d7f9def3a5b40b3ad224cc555d6916000fbfa9d9fb0e9982def522a102eb8fc1a6b4d98d8052eff98902aec7a550e99386a679190dcbbc4456e66b8525b293439d9cd3ee9ba01bdc85b5f3f32496878f8bf00671609f5073e618dc5826ce03ba4c373fee7b62efbdbf29ca8477c1a5951c387dc26e0c4e90c1ca7c326040834d4a78ec8c33687be979a4793874ae553b2502e3a463d7fe5d403e29bcdb24b744f337d0bd369168e22c33c6fca5c98cf5eaf53a1f7acc42f4ddf014ab656bc22ba1034a8829ef11ad5f952baec9698d7c685bdaeca2ccffffcb042cfdede426879004439f5afc8d33f1775d0470737b2c0ce4a42b51284e2565b0eac1a278ea2429e9f11d241413485fb5a5ca8c3195b57aea2786ed7e4d4d0bc8c496b59124acfcb2f9c70e291fc3ba8a61f410640c5056f8709b041d988a601b43ff2dd8c10a7efd5a6171af3699bfc630722b9ce8126e019cf7e959b2e369a770c1e1c0f587f32286ad8bbd8a8894f47d796bebd05f7c159f1a4035864a9791f6d8775751c6d7c78bea90050e670de40d023e7daa47d3f0943a4b946c50b0403be0697a2bc63383d8485dd8eef853417204e46505f3d693e46c96b1096ae12d764721a0bcf9fb484081195f9bc57b06f217a86efa6694bd77930b99942345e4fa17a48d70d42e69a49bedc02d639ba3c7316bacda26b21f55ccc742b486875c5e45ef4a86c8a8d153e9d94aba9b5ea0f25fd433ff0e4b7c43f0ac91532a1bdcea0c497d030d463d3cc1e13970547fdfe345b6454abf996de5df9d6d95b5711ab4bd69f9addeebcc8a1f8df4867bfc933a62108d687a1196ff78d69e377418396f71850c64f350961131a54a37bf854196c7d7d7a25a5fadcd108e11a989b67d7f843c8dfec9f41edd3100f93aef04c8686bcf098b1d971d6661565fc5bfe66e5b655d36637e658e11dd509bd8b7b4ff23c12a8d54621a8acb78943c27aee331d5658506d6e8f6da92c1154a6f8630f9388835133239222a80f89f1a3b91f879ff21aa0840b20ea655fecf6c076570b8a08ae501d741f6b90df6cda8cd2622f3d953ff3675503212d0a9f3a8306064f81dd09637d3e57ced58b36fad746466e59c00e76844dc7c1bc698fc6909cfdedec49e3abbbacb3c3f1cb978221549470e8a4d4f772100a4ef4f832c0e331def148387dcfcf2b66e7c5b795c22631a14069a5914c04bb54486a637dfb4ec7055bc74a4c1286e855c5483ca6585a45d140508cd004ccee7774cc550fc7f3d356e5f1e07d814d511c4ad92ee53b9a6b53b1b2bb24f17fa5418f86cce634078978b22e903e4d184b7ac4c24c4d1c29ec6c7bd8d392d139b7774c3bcc4f7465bd30aad662887a1bb2e827d8cb9fa24386e0abd5ba59bc22528566da34d670d9fcdc6bcc3e17120ca517a0191ce7b8b2302692c1a0ff6ec8e7f350133b0fdc8e8e09ff70b60d6d4de74b1f3a2ff9c5a4aa20ba05121de7f213c0eadd7096a55cde5346cfb562125959118166ca3877ebf98bdbd056b0e29025058dc4315aa0026de659b64a47e2fcab9d51c27a2803afbeeb9118ff5b9b37093b9350aaee289ac9db2d2e83ef550f37c7265f09a511f42dc531fdb1a1f548b0d1d6f103520370eea0f03382c27dda7d438c4e457755aba0c95af35f6f0c1c38494dc556fd53788e5635cc40948a88c2250063801471861f09e4ae7d355e2b06e134d56fabe7c7008ee5572f9770fbc02782d6aef8001ca76b838250983a9defac8d8cccf01c706997c172c33f556d810fd7374f68e91384b15f474f38a5237d29dce8c25f307eb7357019d4ea504d124579865b6f2273c2a6b8fce6b23501dfab32c72f64a4ca7051d77e2fc60610fb699344068f94711d3c4d2bd87191e9e9d10298629c478b471d3e9817fc61bdc25341eb7b70aaddd20f00e53948b8208da93b424136e5fe1c5a5944daae7c1a2399a7bbf9a59b4b630d253e5065eef0a1a87b532900796f512e6fb699d6301d71c78905af682c03e92f97d55f679c5105486136f4af2225c855ec7302f88dda3de90e3950bd4ed078fe29d3cfa4d2afc261fd84d3c4c99ae0aca71c14ec61d4c5eca1bf3a865bcbef539ca51294f3be793ea79b6e6a9e45134d680cd54fcbcdc870235fc6d98d513b5c8dbf70a74e45f676cb9db86ed1c9b1290f1f3ee9b868efb68e1227aad8de5b011a085cbc6fa23d07c7018bb774bf306910dadfff6e68a6038043a002837111232ba65c2f9deb1120ce69a0c7ab1c8284be02e298be6215ab07a2389691bc0dd0154ffc7bf1991a6ac9231c786e3ed5f50629604ce45e8fb0acc03592d5b2cd1bc89258e495fa23837aa35f4f347cd83fd7b39a8addbad07b3586f700cf9839246b57d1b388b62629202b6eec86aca00646f962f8500f417b7a62c4d75d28993af66378c2cf2aa9f9a87a9a3ca2db422db3081041a99f3abb76c6773c9a25548bd5e391bc5ebae3f34ddc4d13eb359c36206d6fa10d6c2221ccf4ed4bbb8e7f58fe956742c6a891c61a84f4573e33fdcc92ac2d30a62e7c5bbed20302c9f074c021e52f55edf0732aa4302cc3c03081f292b335bf9057d819fafb7eef90d2b5c6d8f91abe5ec0719539599c9cdcffd1e273c3d6090a4c47081b4b5c7030799d1de285558a100000000000000000000000000000000000000081019222a2f3438","message_root":"0xe4df9dfdc895af88a52916f6de286ee52226babe70a3503e213bd3fbb55242c8","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf92f8eee7f8d0b1bcd391c47afe0dc5a9acdabe4a5408f3e40e367c18d7f19993c48349e8d0be7a0d55bb97afc53a343bd426ef52273e4608c45032eb0aad30bca90f7d24c28216d7e39963528bb202bff09cc318952d43e595b9a8bda11bec0d49bc1d3c1017107bf562d80994ea819ad4b4319a994a8a393078f7e1517962c6838c48b9e4aec6ae4e965c8bc73b490b91d57832c0d7c12d0e946f45f504bf6a76451ae8f71f55127c9da755a07221e59ad7ce17583d928122e29ddf425b5e7b5740c510b2ee0cf74ce530c660ae04b75ea1d4149ba415256ef45eb2c8de5c30d3b4fd78a1820b8061fda58ebdae010c9a2418bb6eca68cda3d06b2f4fe527aab84dac50c8c1fcfbe3db31b2f1298e100f0848ae2f66cfe0725edfb12165aca2c314b1d6b32c45e2cd19f19a2f8946467db01f875c96642d8dc012497a4f987b3d49b7e89b19263630a61d32fab10bc66a69b64ff07598bc2a5b8e584c9c44f0db704a8c054a9bbfb0206d3c3f11e741df7d29c354fba43dab270d28512fbdc23b5302b35d1aee2b16f6d87912467656f16f07057e1181c56fee9080d0ed2d140840cff9389aca1bd429f2be95d5eff7121896248c9c0733ad4c65431b77435982a76af150d81195b0fa4b9e3d6494060b0c239b9e25fca5e80349b42fcb0e0170deb027b3a3ae92fed5c19c945b402cbf6e2aaef1ac2b7281423b2ea1dd50363bf72ee87af05b25c2dec907ed5a139f101c4bb2aaf983638339ba6bb0a943a3b112509352eac5037086689d1e83408c1135a1d582183c44235901d7ae096ca047b383bcb082bcdede727dcaf7e5a28a58b3f488b0dff51f7c679c006f7016295f1f371872ff3d4c7e5bc7908e77e8f160ea48e4308e0422c9bccba5cd694f4482341158cb3ef2dc0613a668360811b44de2d2597aea3f02f2a03cec7d713822c1baebdf8af4a54249004a44d800212d693368a72a6cf0e460656c7a2649d196bac36ad1f6d79942ae2620074c5b827f6401b590b9f50b1643533479eb323ca1f8d30d6b4e14ba53a4ec83195a2004ed3e837d2527f2439afb2a633c3124d2755a9dcf53e460ae078a49c9fba16d7b27d84c6a4c60c48ff63c3e8b62dfc130fbc10a3b1c6b0a934d821b64d71be0ff60a36108b5353ef5effe03d3ae95605f7f38ac4cd9ab7671060d972182697a64d50786d3b784b5556f500c5212e6d7143e1b418610d148afff11c5ced0e09bad4c8384ccd915aa5c10a2213606efde550517baaeaeb068e35551b3d45c60ad4569c509fcd96a3f01941e882ab3d993b3ba3a9fcbb88d046024720fdce5d448444643449c9ce94be328d01fb407b2c2799cf53c65d5ce673199faa1dd4dd1d168ef194f9f92c57f2161b590957fa6716f5fe0fb8f2625f9b05969ffe83fba63355cdffa1e29cfd2c4e635bf3a2cab2ab9f5b0b49fbcc732152b369f73e220d8706d1723bf11852e7296ec546b2a03bd55fb0a62e6305f8596b05d25f3d51ab90c9f5856946b6ffb56ccff4447f7826b23affba279b891ebbf961b639b02d3fecf0f1f2c127d1412555f87ab8943f793e472e66e3f041bd9ff9f28951f6d2bc6627b3c0cbf520ac05fcd4a74222e839ba8dc51b3cd673d165f6c122c167a70d795b630003092b55160e27174c38ac6d15176963daf82cb7564ce2a18ef9c33c4edf75215b6fc5cb12ea14f7af5029f8e5291f1a1e5e0184e53651ddcdcbffbd37e5a8223a0269f12c230715852ec2738a80f80141eef34cf21d3b3faba0c809b99ad01b8810c7fe1f3cc7e4337554d79584d0a561cd3f73075ede0637726aa4eae6ba7b37911b7ea266c267a17406b0317c371c8278d6e2e0b98e5b7285e8ce70175d306a843790319a45a6ad0639373ea0be85affb7a87ac48fb120c4c6911bc2bbfc827ab73e2dde7648497d6028ad03fd9b8e034997811ebb0bd6be4f5571fb7d2b13bd8a6a1f1134a5c7c6adfbe8edfb35093b80b0316eca8fca2a573e7f0e09fb294e046f6a082e88604f30bf17b756488d17c178194f5b630d731fb6c4b35f77fca43ef42a6e0fd9a4798e286b34d713c03d358c2b4dc677ac84c71408680caa75e18ca6067e778649e842e5febf055a29e01f8393ea9b16acd72fd2070cacdb0f29ad07ad7582b1835a97d950f626e7d04789bb1e29aa4d4707291d45eb94f3d7bfc97b6d70a6272d3f3641ff979650b773b3ec15ea77c13ef4a2f1486185bc579984bf1cf8c4cd554ecc275c0a0ef65c6ed3d11cd9d53a071eb9ee5915d2ff3ad2ed9aa63791181c89ee13ba14a0670033b92dc77b5cfbd4dd1aea913f10abd1934ff02885638378982b9fd10861b3f869f0223bec8869d090d267cd3d809a9b9f07b4293c34ace30db8c6f9a1d9fc065eadc28cb0bf22969aff8050999c80b4f1a835dd08ed1508469a238fe1ee42992e214c44cdf14c17283441f251e201e99ab0f8fb74b58150e919b181dc8ff3983ade18d5b0a304ae4bf175d762aa20fb568220212d846b9e5a243c75a93984f8ed64ff0c154e8c470abe69f5f4c74bee8427ee523ce8105fb2a13706ec12c2fe0b4600c240e04291360669f709931c5b3bf84f42f28e1302bc3c8e02cca6df45ea860ff8b048019e34cb973d35cc7340a3f814b3525c5293b037e4f43e3b9d7c98634c871bdb1d60c5d75f02fac3e81341e5075980b75c6019f1856ff5d74cf558e86ff2121465c841aeaadac4faa7119c971a3e95e1939ac0c8a0fd86a7d61b1f2cc0e7a7ee5ad5574b356cb847d8c00be1cc3ac9210b81a02b8be80f4e748920b414c3bdee567255cdbc55696901d5913e4951d624423ead01b7ead56b7e8cd9c4933d863e77cce90b01581d00aed6f872db4b18903b0a7f16792c1bde4e6c7e6f05db9ddd747fe62a6ffeecd41944721d7215d55682f250b22919be0bcb27f3df3a28fa7134143f0f1baa7629ecec136b258697f26413327ee3bc4030ab2224667b1c9699350aedb83f03b6b4142fb717f4388134479caaaf8d2908a3fb7f9de8c8902e01f29f52bbee85941bec48720d31cc36c608e0f20f46ea619144ea392894397aacfd1d2498ea39b52b9f505469b624d1175c4ac8f9a0079b1e98efdf62ab9451f1c70be3d3cd96658c8d114ed986568f09dc88134123fcd4d4c9e69dde13b2b45a8ff30576f7a5235a79e32679844a3b4204e24f2f7262dabb044d9fa8c665820ccd2100600df8fc70dee310da578b45555f65f1308bf0496a8d929c6586fb18a32a0629ae4e0a75ec3c49881f9525788870566d71834d25a52f3191e3c9a1242ed8ae0a56e2e853caa73e4603a4fab47894bad75c8eaa7633b9d123448ea0dfa0747802bde03f62db3e042429f3eb8a3b9ce4a95e632e636d9e3b526235aa05a151875e4c1cd6cbb5f907e3c266d5a5660ee2669be8836fd4573bd9d03957f5adaec95fa54230acdc156742db03488f4715dcb887bcb1fe9e1d8768aba6118a0df7b35a71516242211ff15ec00307199739961f65d0f8741b365e93d1982b71899c67c0eedbb44d11876ee3bc6a848f448d408211eccf276acceca871e03f243843f969fbcf28ddd6906e7875c1a56a130fbbe7c40486d18eba4acf4cd8f7a4923a4a69d367f44c114ea8f946414bb31e66ef6a3e1989760","amount":40000000000000,"withdrawal_credentials":"0x001733b1f6d185344a283cb8467899b3f44d93d9d8d3def267c724110ac7756a","deposit_data_root":"0x46ef182db50786e2cf49e26265a9423b1ab4b1abf0e535cfa0bd7d13283da837","signature":"0x8b2922892d5dd55a71f82b9f2f01a89bb5839ee579cfb92a32816e86b8e6f157ea52baf42d561d75eb711dcdf40c542dfe2190d25e88a6c1a3ed57426c5383d207c82c785d3b02af2b85aca7334c63f8f9f03f914cfb7a5ab7add9c6b4a2c8d972aa717be0c733938a6be8efb8d6b73e66190a269857f9c047a3cfa22276bab2ee0feae944618064caf6d096cddae9b41077772cc90fc296225edf26adcfc5ec3e2ea4612cf6b46d0cb01d368e0c00b75a6094d6eb1a34c40f6ec3d17d21857b6af39d5936e8a713bec22f446c01def6cdb0d3c80a29997ef654b514a8f71bac8f2db099102323f038732c618eaf4fabe6d9cd3398cdafb7a99b5d72c7ff82586ffef1c42b7cb6f11fc3d3a71fb2fd4791f7eea569e920c493a03d5a73f7c50c91c3eb3fa3fe02f83064f11bde9138f187bf985dbc0afa8b4e449fea8d6a48d9bd6b2d7dc43221e878efbffae1038a88b3cf9e23215c0588ac4cc66287ac4c81a76a6b518a7d329b418316a3195d189eb773be97d3431c8455ee0179d03bef085721a803785776ba1abfeee642fe39402dbebd9caf36cf80e30dbf4f3fe107691af495316696ff1669c77ab2af306d0c05163bc97b25541e78b473098632ce87a49b7ad74bae9a77de536130a853d883aab75cc8b03ead0c5b99dba72e374cb01b401eed381acf6399b6f968ef4a128fe4206abbcd9dba496f53c5889cd6a5f5ad3da1c602afcf7288b1925930dac2962218076086b05346a933ead5ab4255899886174fcdb606e0af7d5b6b3f1041bf7d89461f5531c0039a5cce46df23c5f53e4aef9e67f884ef0a8bfa47727b50dba30e60f5b26ffe587feae63acd4659ae91f2c5738e4235532d59167d0f7322caa00e930f32bcc9bfd454f30eec93d12796d5a3f6750efdb8a3576296b1ac9a21e8a15f296ebedc91baf95960196d613fa99610cb135e0933024f8789bb01ba1733c86584b0e064c9aac90048db032a21dc9537546186e55f067292d5b5113617d95de0cb437772019e1170bdde8a1ceaf80acce8761ea6b0dc9a60ca984853dcc7a5ab981194a485c21e911882a994fdb05bd764cdaf3d8bca45f1be043e9a89eab314082fd6a4b1082ba69bd0e1f6e4effafe4fe6e2e623482c3cd77ad560cee16febcff45dabdb6e9266c45e9d6021328fe21171c848aa0b5b6f853fe918992db0f523ec2db4c1c63cd1ffaab625dfd8c7a150cbcd3322512e743d1bcd10acd35f0ddb83caa85315a5c6c8e935d34dac485f8a462cf651071a9c5aa3d88b3a551f1d672fdbee0eb7a8b6ccc9455a7b10e5ecd8387b99c6b396a33b33fe7aa00c3c8e54db1b2c13d40846f198975aa0463e0e0c7a5ee0cf9409a206e15640606cb910fca43dd339c4d07c08aa83051e39ffb1285530f442bd48c30a9692d8738b04bf4157bb186f009a0c8941d18ca015e2f383d7aac9a40363e1fb0629496a9f1be044bf0f4746a159027929e43b67e94b2fc7507218176f42946b140e1e358e2fb626a483ab3fe0b7fe2e8e2519e70487d8bb90d47796a7750e33b49a2c711aa44d9b6c8a3a3f7d13983cf04ee21069d66a9479db78b01b3a7ea2fd86059d51aff5e2ae833b6e45cbd63084885bc0497bdef07ac64d2a9814635267267699b2fab2f24fec77e93eaeefc2857e9962ae2d962df9d5f1676631cbfc2ee9a814669c5dfee6aa66ff52d77363d10adff61ed0cb2b18887202b87db8c1e40dd7d7c99254cc30b25bb3a1f154ec6abc47e6fba17a52dec582bcb051cbb3d6dba08acf53f23ab6abf2777759d413d5b5cc2cb4f70328fd095e4a6a8d3c01ca351dbf027b9a27fbc444d0cf5940ed30f8c38435dc3bbd9e94985d8a20c85c0e37e427efc4ba661560a435f7ac6f419856613ad8c74ed189efc275b174490534a00406df7f55ccdb3224d7fa3541b88f86db8d2e3afb3e9d3ce398fbb5f07ccc45acff8a8e17d9685c590ecff6a06f7d8d9277d0a506dea87cdc0d6846da4dfa41ae870497269546b46986d89445bc7d2be3e155a961b9b865441a82d386505af212715722fde00115473662f3d147651b649562647901659e39c57d7e283ff3829ce9ae1584cb1477ca275165b8810c53ba80e29e63d748fd29bb65d73ad392d2384570182e4ebb4dd6957c1f07cef7642d698efc4d38895c6bd47c836295c439cc7fc57a4bf099cd0a357bded93a154c503b52aec7eb7f12162c282050291c9b0895335960101d0dbdd987ace0fff62028269b2bb310c18b49a91ffcdde3eae71d74370b9a23e0ed6e8b622d54fe9f6e4020102460acfd82015a541c089c3a06868bb00df67c1d8964202339139d4f3fd91352016bacf710c9ca042eb2cd6923871504e8c06cb9ae8b5914303dfade3d7f6e9067db5d7d8d99aaa87ca0fdf9ce8f59f1632df5d17fc5a7aab07ca71b7630acfbca4a8cc27b3629d497bd5426b8c3b1267c380ecf421df6caa7e525925208fe62ae1f455b2e8f96575e29e939f862cf29efd09c0a4641e0ec1df6fd8b1882b20e650842da3b37e8ef6958d6ac6c42a421a3a01d84761fef4465889f1d733bdaad94b48310efa74c578b76f354d11144b95f5c8536c1313164931aef75989ea2a8e1555255a682b23eafaa3e1077a714f37256a60676b29df0f42b8ee710b716a2fccc4ecb512570b394086032659408ac941f04ec2e2affc58844c7fffab362d820f5096d1f6c937d0463d595504b6405eaa38378244f4baa1c2f1990bec1f0cf95a8cc89d44ae40e0bc286a8acc9b1b63736bf38d0e0c2ed14fadc9d4091f40d6587fac8cc403338679ee3e2bf06332d05d2b675243d4f7a9f05399542949ed2a7a09db51a5e2c85a01fa579cac008024142d518709c8e3ecc5ff20674372194e5f7514ddc3770d97790fb1aa3541c8125a8d56f8e36c931dd8f26ced7288ee4e90831afc20696adf76dcc3bce85e53763de32cd2280382ae0f18c031d52dc0643418bb8c597335513f2a51c0cccc34caa5baa0eef915d1ee3ca4f5f3bd43c9dc615857b2895bbe2e64a6b1a36b2190f2f62e95ae5be36a2c222d9014f8d3f59d19f6893f29d56318c082bc0c01351d7ec587711f5367a9c3ed134404b90bee01cbc1d4063479f6a4fede27a0277af4849715feebc552a9f23c7a882dc311d0f7b18947868a1c7aca9148a695e431f0db520a8f9d2d2029301ca5bf1a6b311910baf298ddcadab9b2dba2a4cbf245874d15f46aa064515f5924797754761a9069cd405715dfe68225c972d22113f6f88f16ca05014b2f79371b922b5f6bcde37c6d2de139f9fc10e691a6934ff73063ed17d93f56da6f593622e5311b7975602f6264c13b9d3956d056f53f9d0c31e3737ebf9ed571bffb14ce1382da8a552e103a43f36f5bce4ddcaefce711b427251640f7ee8d4559e7fca695a185bb801e5814b3b6d85edd88884f9d075996f98cd33620474af78426cc6cdf85ca9d8dcf6005522384ab9c2371a606b4a3f8a45f5552191a79e8c950c78f6a16a083f5e60a28d72b3def4dadb9f67a199c32b0138ed4c4a0223469973eced35050df71bad63181c092eb30a16b607409d16a4e7240088decfd313729610f76af2d83e7403ce8ecfeeaaf92be2331c149cf25878b4d79e2ede6736726b4479297e40fb510f6062575929215bf8dded7c1106b7c753b78ae18971984e48585bc02c5658e127c8575c09cce52d6e556a0e7296ba7a88f9e5574dd025da35a969b4c7774d24a28979a4a0b8321f8493bf8c7050e703bdd4c7a2d9428fcacdd6f3897778849f8cb37358931d25b35ed4169d8bf45ea8c1cade6a2c34a2e73d92e58e21bd54a80d99ee344549ababc6e2207763ee2dda724be84d9c4f982825f33a74945e3e0ecabf93a1c4568fd6cf989b95bc3faf6a35ccf3f7e0dda96b3e280eb3cacbfb2078358536ecffd215b200059b4e4bf1629396a996bcce444a2eb6b41c3f599eb982075843a4e9a97367f288475bac187acf71813bc256cc16dcd87ffc4bd1e7ef246b23f1de97d47cf5ff49e7bb9e62bab159444544578128281aa5aaeaa57f4299b0a5c41739273766a3f614f0cd640053bc2a1e72ea1efd5b7ef13558c558c9b47a8ac7d9caf5ab5736db1e4a1a38a22f424c4b2e2f49a37ebb68d55154c765b08baca2bff5cd20e537ac640a1ebc079a5a502c04f09d0e783888d0db2a6ad3048ddd73a13e73bad9273e5a594fcd17ce56185c9a8a4ab53149d365fed095b33e9e564abc6fb3e4d31344d8db1f718ef7dc14ce70864dc8c60cf1e59079072683ac8cea5c886f61d5799ee452dabc2f44d4caaed0409ba13ec08bd932e48160e80c8ebd6a46445d28028a6d513ed349b601abc3c0bcb21b9023323236cffe40a6f5f3fa4f720e7ed71413dc33274a924c0775d60aeb2fb06e1fcf009722d42d5af22b9a8802bdce68da5ca5f4460743d9cb889d0fcf72a0956d492eff1d57da002213cc5d25ff7c79c8bad0a92c12bc1d9323cf736cd0b605990087201b65f5404bc6d1214db620b633bc57605e5ce631925f057f566fb90315180edab37dcc18773d060ff09b388ae8400cf3f324e01aada506743a23585411b03954eef34821d6168251ec797009f6aa220612ba2b34c27bf0ee361cbfc8317409f9888920e1d08b13db2b4ca80a28db794e5346d674774fd03419c4d1077ba1f1fb9d476bb3ad92ddca5aa6134872a310d270f60947884b186b5963d9a900fdc83e2fcfa28c1d5d3592f0a783606ffd9ca5267ff5d03f90cff2d3ad7c711b48ea80c31feadcd357139f848458b8656446fa2672a6de2c5e60670ead0a5adb965ab5a29a44a4c6242642195fca9f2fb4db8839615f30bd52d5a82745376b53c310371bb99476b09691466d175eb9c48245298dd2ba55e62d9df31ca5787debc7b3d7a7fb8e16e4aa4f28a39a868ad0bb4daa293edb90cec0d509ee1fc3ee5779c260acc4c460e62ececaaf095467b8a2d2a37e9b7876ac624eb261fe9373a82b7ca945393687c47111efd6243ea959498e33e03a10c0bb8b7869692cfd359d7a4c708590f20f3b9b7e1e39bc98faf816e3febe3a3fff504ff33b0ec2b00656a8a0ff2d61725907e210cb150cac308b95b96f232285c7235362a20fbc41e2773813ab3bd0b04c1b56f3c236da2f02cad7c31162d9d92ba9d86fa247d92accef38fef569a35d73f665a157160830865aad1fdfd77afb1fda234d50d7dce8f0297fdcf872849c4a35db3cb4a9d46626ab822f0a51e17393617f843d4b05d8c8f29fbe2a0a70971a87b965b53c978d22d7b7d4d2ff7af86e0321dd760ed5e916eea8b1f94c6b3225c93932044d528ea03cbffcf4faf1a18598e50f5b2b3493abc90ab88a7c5dcd529868b837326f7e327001df60d3222925ad47c4c3a812c99251259bcf508b9c5ed95b5111cb49a1bd0ffd4848755951196e05947df2e7c8b2e41d3d3f406baa3db285b06e2d15ad945354180caa33dc720ea2aed054e2a4fac628a98dc4483ee862fabe47bede304f1a317fdfa148fca0a6416ad930096fd351bd6f803c09807870e203d0fb29dd9d8641c5672e59c04927bc3ddc92897f8a6e7b8c7c4468ecff8d908436fd63aa79ac637bc6cfc3ed9ea2861dbee7d72068a982aedee7458de66bba53604a75226dc951fbb669384553d777164b9440c03843a2be15b736fa7657dc840fc45aa0a1c8ad6369776447062e2d16d6a99ff2fc17356a06a577ff0d9503f1f26873e046c727b46dda78d421daa010528bf07a8268026a40ba8d4c5ffb7a5281c91801440a4166bee8fc5e6999cafce1181083b715e90d6ab7204e479bb5592d186839fc839c2fa484039c6b7bd0e4ac7080bfc8318b4ce1071a346ffc8da20548f8c8f96806234a64de77d326ca0383e2fcd989d3d01f453f778ba6883b4b805ae25a4a4e333f2daa3fcb95df9ee9e690024dafc154351ad5e6c24219a58ae588bbf6387a146fd8be513d067d3efe1fe0ad2effd9e8f3dd8b6b098d9d366f0d0596af4245dffd3d2d3525f6db306a0ddf501d2dbc1087cff4750b8d503636c21d6d483d6d72d6a68f45cd33861fa23fad5cda5969070c17080678b01eb4b4c26e7d478a9147832baead0e2b2318f7c3a976a6338e5eb1b43a1a1c523857a3d16d800c169af1aca05888e63392619f0923fdb4eacddcee473eb9a70577864781199f170fecc2a3ec874f11cb327cb059386207bd4003ae2f1d68685422fa32938ee6b6315d9e3a44fc674e712529a67e232d88ba5f73fff7b6aee08089ff9bca0a3582ba2f134004c7df4a7c4aa2af99e80eb119e635ec27cf2e3dbcd9d4a4edcac1891b057524b0e86f706ad3e116b59207ddffe1ab5520e5596cb4def04d5d6ec3da0d0e2e364773868dacd0fcfdff07cefe19292a39ca0009122344526e81a0adaf050d425a75a9caa5afc100000000000000000000000000000000000000000000000000030815181d282f32","message_root":"0x0a92dec3e9e5e0a7c3070d9c206c4c5074a99b6734114da69f335cbbdc0e3037","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5bdc202e99b1a1a14dcd9fb845c5fb9fc4ebc45add76eb77e4a78a3c0b4e652f7e6cd1009ab15ca500b03bf5811f9ef4c4567423b883849218bf0c69dc899e516a34e330dee350a545c662ad98e2677e01ee802f6e0d64fd4fe1a7e433f13bbd4ab80d7f438085bd791b3d750fdff06dd4a8756605f6e5d645ea875d6c60499af1d226d14120bb159fd198bea18779fe5893d11d75ec004d3cc2c695cbe1209686ff5dd8ab120ea29f7f9b719f9bd106e9efead2c09be3c66bc04674773eecc667f5db382ca96f7cfccf23c278594ea2616b5f86b57a24ebd170648093916848be3e20f1ae7f15f8dd4a71d2f310d9b1caca4c4a94daaf521700954bbf91d4df4d893312ea02d266db93a25d4177662374f494cce34fd0ea4c8d4a42135866aa6171f06623f683f4a0d5cbde810db09a79e678647a972f7c5705e3668a6ed42133666b3b09faad46ce76655419e6d11967df38cc07d59d679138636dafa32290ff618d4704f70ad6de318da3ce3f617368cd1df1d319df8d89ad338d0f0faac42e3373e6a1be18b2caec474412894dbf9081323454ffe3a2bda8dcb291dab30c7898ef936a669a1e910971cbffa7e542b26b8cfd2f2ebf950c7ea395a6865ecb460430925226197e796779119db30117108a98707deaa4866698f902ae1f206f6f4fadf519527658db8c5beba8b76a05fc0030bf15162e255826c38800466d95f07bfbf87ad190ff59b683fc7a6b89ad67f8249069f6a630ec88c18998aa36f66e29b3bb113253bfa14a6702fa04ea27f0debb0b04227c9fdf8482e084bf5131a0565ca7401d18f07b717f54cba38ae99fa606e9759ab2d6f5236713b31334d6aa6e15d5fa5a905adfc8b8950137cf6f292ed28fa6a8c92fdacdb96be487d790e59a072254b3bdca7848abddab74799bc6e72e891498c739bf271accb7be9555dd8290e711e13fd5d3429acfbcde46082ab47cc47bae326d0e8b3c12be825e6ce47b5eb2344c67fd853fd6c3a2af4d72a2d2c4f689e2aaf11c12c4f4fcd98950c7ed260b8fae13f8d4b2a3046f110c428deee4fd5a38bfc6b2600fc666eebd8219c71c6d6b23157ae67ab61ed9c3ffb3d819857d44f7183d5d468fbd7a88d751ef82259db98e48433ccbf1196ce950ad5f0dc30ca98d29570b53335a53bd2714fa057902bcf6c096a893c848399e6c98bd938ebca21818a94c14bdd0fbcf6c226900918b10d76243032098331ce3f1e8844ce57d050d17b3c1a68163ce6b4c79aadc93401a740c1d54c055b0d582032e4b5a6a5af516e149e1823c41b1a4fd7d5714839cfe132ffd6c7370d8cd58ef9c2ed1aebcf70aafe71fbf7528f0da174002018130056923bbdcbca1177ba9574397a25e677cf5904844212f07194469e45300e8ed1a1dbb7c5f5db7100ad25aa7436948c04161e4be1172b8f7e8f53e62fb0b53c42adbf3cfb8c2f84cf888da4161ff0959548d5580d9db8da8c6bb89662223051979a0da3423aaf1d76abbac8d7fbd0245a3b6651274daf476f0dfb7669bd55c1167ca97ed5cc4a911d8f2aac6f482e430d2663ef33cefaa701d51a48fa5c3d4f24898cd73c63c67fce20edf6199dce8a378f8d994dde450b2fb92254ae5c4e9f4af9f9a7c6a4bfbddb4a778bda6d08ea70be679d061802843e201be6ffd15e3f543559570da10ae465a784b5c003102c4d2323769174812229f9e0fd7f9647084dd6f24b27c404d29480c755d93243c0da322a037e1d101d568c5f29151776e21a7ff3ad15f324cf7fd71d5954f4b231d2550cd97e4020e96a5757397852612f459b4cf4f8f8cb38e5121e7216c0676c6608600de9dd1337331b75d776004203d9445c33aae50138e232457b39ff9cf8c2b2c664ee8f90d18fc908f24b68ae8cb70c90f357e9f8e76bf53e111f492f3861c5c6189282fdd9ec2d6cfaa9871af66ef4d2a4660deae751916abf04756481cc53ebb8af12470792aca1d7cfea4862370538a01d148f980a7133b9f8382962f41f482e63f20b759ac5ad1c67158dc71db8a12b8ae5fea187f0642cc3a55de1466c36d2709984049b0914724f9630a1ccc7926e40c66c9c5cad1773cb05bbb320ad298228d844b901daff65f37753a902061e54878a7197a87c3554b0d6980739ea4c03b88fca16afa2020d579764347b2e50125bda51165f7e03e594eed3262b56c5a6d6af2ae9a6c1fe255529f1158ffb9446e30d6f3b3e77bc82bb525c9ccbb2b72db7ae92ffe18328a876d0dcb7d5729cc9ab1bea1fa2a735f762d7941fccf7a48714df43617259dc0486dab159dd6e3e3ec1f7f0c3495fca2a55ff22cabfcc6ad4b11f21f966df57f60833a82eef358565db2107884dc871d285cc1b04699ae3c220870a065b8df3446e54bf5e813fd2bb6505056460cf12e20667b652c1c10606369512b30742d393bac28eddbd41a24847def946db77035da82595073fc803b5bf434d944167cb774ab9babbe616e862dbf577d1f435f3d99d977d95609ca41a97f6d5288efad24a1ff2457ae70b565e41b19625708815c3ecb67e035cc78e52f8ffb60d92bca001ff301f2ff6964c542d0962242cd73a4368310bd31a762b02935a44e97fc1b87b08cf431c9158509d483c2a76b74346240f82df91703c4455317f91eee7f984cc3edb72778f6894c6bbdfe18da6ca046ce76920ba697ef2a63355630be784a022bd999b0a9d99f8c3eb46710fbd8162bff8cb01cf3ae15e9b1855fa347eb54834bbb767380be04620b1f32b3b265f749616953a91f6738d229de77d810780e4766548c7c6f806286a79bd6e6c757af0d6f2a10405c5e74b6b0cbc99dbb6d37222e08a061fa2feb849165b975411f8c9ee4dc8dd069f6f26d8e93df2bf2f4e5e6006f10118928a37cec129d1daf3d459216bee3a07ad30839a1c7b50758b409e17e544ec1350b992c3c8dd464c1a0247a5093163619cdcb7fd29d141e1e4dedc621a263c4e915c95bab2c299257caf8694ea2d1aac2680147d72cfc8e776982f96a493e633a5eab7613c1583527fe70e6d136ca0fffe303fe9b9b841065389f28b28c30bdcf13eeb60c88371cdf0251d04d2414f77a36a432cf3d5183f9beceae2e94608ac7f724887dc6805a30d6a1214f93b9529f6aa7ff0849eca2c749f366d0805ecfbee1caf00d8c996cb4dbd52265d211b1e974c8c18f86d29a32d34c19886bc6c882ccccafead215c31333ec8e2af700d5e132179e09f854e1fc13b8793a0c9885cdf4aad944c3740db85ff6d0e063125fc97aac269e91cb80a236668c910835de35ec6c754a3cd70156ae2b740a1b12d1d9d6bd6a35a812046f3d6d4c8576f538749f993b3baa0290c7d5d09c1fd76096481f21c3fbeef9245b4f218c28d80abc4495e0ec174b6fc78d2d3cc41a7dfdf0c8ace538602025e4b6eb7dadbdcbc3e455a37da2e4b47d9caff3e303608246098682412d4df5644320f02b580f67effbad02a95ad3ffe5b48bf4b426580a43a211d68fc5ead8e20b60f19115d57c827f1fe2fc3e03126f8ab4d53eaf90b87d7a53cbecb26e1c90fdb15fde136973f42bc08ab22db3404fd83aa2f1fe1d4579fd851eeffc0c8f5e33e9e0508e7e516de412413b249596dfa7fc8576c0dcc66c15cb451415627432b25deb825775","amount":40000000000000,"withdrawal_credentials":"0x008c33788662fd537a66eaac5b42c4a689688c177273ea33f13029f0eec1f611","deposit_data_root":"0x0dac20feffbc5e7b5bf282ed636647306d1ca37ed3ae70bf821e14520c42e8f1","signature":"0x98ff726b4640d6a8727ceb5be724d36233e8372b1fd9e117d16e24053b007bda694c68a6c703be370a94f7101bb51551262ac55ccff5670f85aa272a2898457958804dbd0fdb3a799fcccfb0194c26cc979d35ae16d4039d8a39d3d3453efaa1cd68956eae324435c95d85e5a83f2ce88bc168fb3ad4f4c6edc0a9556cbe02e86cb2f5dafc965b6f4bc219aa0616f8f04effb1964455fd574813270032eb7ab55a341aa44a6590a698fab824593efd7674b763eb4617f8975a705c105dc5d9921cd088fdcfff1c7f3d08f763a6d5d23f125349e60e5f2d238704bdd5ac5d3b67868521b41e9fa3932301f57b394d7599adc32eb5ae380aa650f4de0378e57b18c981b1766b7f7844310a5bae34f4b8e4689855cb378475650359eea65d6e2dff1ac02d8d90cb57db7cf8d41e9f2b1b0c8d3452f5f1b66bb1d43ebc9156a71e03e6fc3c44aa59bed0557b6a813fabbaab26b30abcd68923b6ba9ee8aa6e36d2604e33fc05547658cb8af11e90c3236b963ea25ba50bc2414ff87c5f9351d69bee6f3a7104464426a8e7eba0bbc64ea914e7bfbc3757e13d07e95cd2e13ff3ca510bc4403e24c49732508c9cad0781051a2debc47a6063f3f2ccbaebcfefa7a27388e9376cfe79cec9cc788c1c2feafa4d8724b7a0c470543fabe9f5b877c89b44c6504e14e037d107cab6a9f814faaf88f46b8f0597ef0493b0f658858335365f17b9ed2a44ecfb0626c1ea5e0b6bbffc74eebc1caa1f6e44339381bef3ca4a3f537fb74e562bd2f22d75f7797b5e850f90a22ce7b402e91fbd6dabd9fbf70f1093aa71385892f9d8051620949e8b62039dab5fe7965e77cea7ae633fde7ba641c7f69dc0e68fc846eb6e71cf9b5720247c7e3becddd272bd30192a5e13615d367082fc3bc7beb22e0c2328914a50b2bf3bc3871402125d9efec512ec2f7b7313a5be8caa2e05463bd80bc61a99abc142082017b1c479f05ebbd37d3d03ef85e4531cdc6cf5f03dc040e6fccc9632a31be80f79d4f19e2542e06dc745eb1e86713c4042796e8a2851dbd637646974ebf07eb17101abbbe4e9e1f1f94e3281de374aa6404703491cabf08945b9724bf396a3952456e7bd89c31f4dacb46c58f4fb5218c609f6fd5f9b761c80ec32aa9cd85483b270ae8870e2fde1e418df2e2b01088178ff4797efc235478259802072fec241fc065c6edd69db8f211bdd2e08ce97adb8ca80a2f048b62e005254b7c9a6225cb152f221f256bef231ea88b6a344765b2f7b4813ac1aef2c7583231962e40e5164e865ece6b2fc946604a9fb79ec016bde71cd090bb53fb5eaab99b129ce79ac8ba0713bf1cf06e3b0370bd8c41e8babb138c84c1992df42befcfadc1d49f18a0436023c0b3fc22c56b9efd8182c1781438c7af753495c76f5ac01d3e092aa7e06cb9503a8b1f265e592b9f4485a243563d1a8a35d296ff9e45111a26d8873f3a123890a29cad74d2e3b9fce4d0adfad72b453a58034dfb4dd9b7414990fc1250907254d3b4dacaef5ba2792dda718efa4e953e9ce1489483c29e16ed8b8b6f532288e9f432623e655bd79db48cc2f5f7f7684f4e97dd5f935771e94ff3ac94c671ca622ad8b37f35fca94a862f1798dcb6ffd01919ffad5c7d24f0be219656f6ce6e2174c0e2da96d6460d4b7f7ddfab6e360fa35dc7c2a7c64a13ed1e29488dc8e2fa3f78ac4ef0612010e24d594dcebefccbf7a6557989d154c6d00b02eba9f2f2693d517104e716c9da3d4060ba5dce37587762d3f691a9d4402746dcf846e9bf5efc8e856adbfd906c2749c5f4c8f24d19df916b46582dc574e2cf76300c0c1fed80691a5a8774ac8c60c0d3b9dbde8f687e216c87610332af14a84e0469e3f7c5706033caff1e0af51572b226d4b2d67471e991095981caee00641634eedd6e8cfc4a64c6a8e9a786197f6a8ec7385c9156e635ed35cf8e5d59f352a81a70713fe1ed48a8c485c096adb2eecfea35e37c4a2228d6662f65b24a47693934455e3343303640eeba7958183004b9cb97fb00c5db4b668854549675ab15b444cd3fb84caa053f1ae9d37cb2930172248ee1acae34d8e004e6fb3d7f29ff1083d86ce1434793a7bf8b4ec36e83253151d326ea93267c4851c37977cc8923b82324633114e2795ce0db82e65967e8eb8146593f2f0d39952c3e376309a815914261bcf1f171ae3de1cb106c0daa30e8ea2eaf4ab5fbe9a0d7c32fcf51cca02ab68515a3f761dbe1a49459829b2f96b11d69b85cf5009686829cdc4fc0beed8ebd8a19c87d1b4cee02e59af65dc7cf0b9fdefacd0f4b9241605b6a13cf1f7489a8c684fe6b966f04f25ec85a9c469030c75df73beab7fa54167772efed86af3941373086e9bf88f9b9bb5be391f89baa1613937f414748d9da55568df7428144a8df4d43215e491b7d022e76175616be36d6332e2fe55ff65a6738945ebdb05cf80ed29406f3ffb37feb874da6fbcc997d69d2d955ef69079a24baabb888df4942caf1369787517325aa7fc49ea239121f18430a937904d6c8d956acce8bca2426df7349132f88ba1ed389836ee9a991640983f6cac816236dc49a0ae0873cff65188d9578466b824c778f28a68f62890618de42280d0e76f57659c362d93e442b78f49f181076cae7e93df41da7df77576cd77fa21cb2963b706a3d31f2f4d7d96acebe4a86dc2cd09a810faef703e14097c45219c332fe604f9206cc7f5b7130df7d8038dbcb07d92d112e657633ebb65a6e4d31626e7eab5a9c0fac36dbec267666b1137c03f5ad621d792f35bf4718f205a2ceac040563ce2cb1c9d57ef97a7c23895fcfcc64f3a5f17a08ffcf81340acec508bec6325e008d019cc724017432cff50f9e66d6bf01f34a4997576083e8dea70eee83c18c1a405958359da7e7ffe1bcfcdc72da546aaaa7bb1977f76c8e66f225421a6a4d9d49a78694d69c2373aa68656bd00a855b6d961bb5a28ad5872a2d69ab3d1bc15825d44d5799b2cbdbb35b60f70c74e716c7398a1861ca3d335900cfe84f89d5a7bb621395729a3bf9102e501c5c5d10ae374e6e9a399f2002e586f2cebaa3622254fb31ac12361088d21358e4e0287149e9b6575032227c5092d23dc7673af26900bb90b7d087520fc84d9cf85c0b37cfc1ff50fdcce33b218a24004a5751314a896746a59d90fe176184e0c129ba3f0037e6996abf4bad4a970e4856c64a36f58f4a8351e6384edc4b7b6ecdc60360808ba507763fcae1c9404bd2f01b44b1fbf6fa98b5589b5bb66fd1a3cd60c6f70fee6090d5a79d253a229b8d6c9cf91fca673a92577a3906967b8d69afd9d6554dbe432c7dd1567d43121c9989419b337827f52cae91e62a1611daa0006727744d52c09650fc9c9be4a6a6cd59a21d29d4c7b60448e1cdee31fee29f76790340e8a7fda758d686f5ac304446450a8cb7669394154a69e10c5384803983232a85208eb8527b1955bfdb2c36403efd0bb042de3bf517985c6f4f40a97569d2cb9d9f868af85bd2101ec1475c2c1e01b317f3fb648816b6546a1529383b03b7be2e61424f5e75e162adc92a9ccf99adaf8fc8f74f989d3eaae620ab956ee8770b39b24622f1ddb2fae0461f45f6988c2b08414d3401a9fd7c7b341ac9cc5e7b2619964c386fa3e8da7c338c873d8df5debc824de9d0fd9f235a7ab54e6a34b65132a6e2011ecfcd3c942cc00c086673ecc84f175dce946d3d05ce5b25406e7a009774345e554f088611297964c67d09c8c31751ee326cae538e492b1da16a97d8318d02de0380440a60ba3b26a3184f3cec6c9ddf3323d388fd46d377d723d8cdc2dc3698ca5bf710d06849943dbbe4ab2d4ad4101bc28c70071464429fce47322aef25533c91d3a5a69f156ce0b5b86d0637ecbe8879cbd952df7cf299f54688e8d06e40c7be543014758e66bec634792106a3f97b5d45e86358ce0f99f81a3bf9ed927b950501bd7fd4aa2b6b09be3d48f2711dc463d5614c6d5873c3ccca0a2539fad289dcb9e42326f92993c0e181ad78d4f2bd518a7a14d4aa03dd64119d41af0f4c02926a9212b2f42209cffdb850763913665b07df83e3b3f20f285e6fd2f16532be5273bcf401dfee44016466ea9eabf7ac75c86e16c6fdaf75bab1b426b05583d1f438deee0f8e5e7010ccac082368bea53328daa96cbdf2e10c886f59f4361c6f78ebc7d7925a99e6ee27e8c40a41ffbe38e5576f39528e17c0954b210dd3c77446b210a7f29959e3939b1e9d47cb9555118a9bb9ba22685a8b97c39f8ed43046c9943771c8597b787f26e06f1aa42458cf049ed34477fcdfcc9ca5b7f015604c6647ddb00fedf202d1062a577136fb326d7b4cb4045f443351259811afe74c4080c331789c12a02395cfb9cbd0f5512c751200fa556792dbcf87f19aac9f34f556416db318092ccaf53ab917c67a5742ddb01335e40c5bf68074b3fc836679b63ae0652084ef41b40c6c1bdb03ddd538689453c4ba86bdac8cecee7c1ee1d38974c414ab79665930f0fbc9592a63376e8476908e7ceab715679f50da73d983259d6f4c0267e3191392cf418b0bdeb29b3e94fe2b1482a70395f42d75ef74d30cab4fa7600faed9647ae2f4d2e18a3788198613223d16a4bba13ba5e4c1850708f8cf4cb84999186de768fbaf555ecb2e113f837fa162b36629c88498d9d55703d3f870fd0bc7fe44aa627a2ac1bff93f0777bed5522012cda9e4fef40819042bcea15a78c6b75e1ab835e392f23d5c87afdb2f75b06d5f2fb60da2f5dbd067bdde2dce15b54a65b3533711d2f9bcb76e5cbaf99764b4a1135e95599f2517287d0383a51c6be17b37a53d1aa6a41d72fe5fcbd391b2256cb40b72a3033f818491870fff019b3643dab472d622f7136943f52e67f02379759fb2b4bd9d2fa124f4e5fd947b9dc1a8eb04e8c5bb9a23290fd415925f32ac867a85ec8dd06f480b9f0e305ffe4653de108fecbd7c37c2641ba4809103b643da1d42c268de9f96d9022b9cff66c95a32b2d5cc3b88a87d54d5a1c9b9fd81bebefafed3f08e6e31b1a872b5a157aa273372f57b53d7fba1de2dcf8416bb53cf6be082b992ae5b6b98905cacaff3329e867472125e4c9b1c6e175220971dcb369b413e56ab8b16efbf66911feee74dc207a77888518875a2c3c3457869c2b8e1eb7e6576bd7e0b7aed359721044f2d79150a70b8cf07c9b4aa6450332ccf6f9f5bfc8aa7177d42ef1944629d567848e826cbc762aee7a7298850f7042ba4eb89671505d2052838d23c5222481cd6deae1bf96389bc3c5051a2da1f38bcfa8cce058b75ecd0c2881524a21c18915247101fae8279a4a47c76c49671630b44b478c368e448d909beeb29144bb81678010393de539c27133aa56b949ffa098be9eb34a88001408ceaae2675211d900720d05214ec0b3c88215ccaceb75954426bc223d2ad59119aa4f4307650d7a003391ea40ca7f11958c922506dd17dd52ea41f96394f43e874a4ee0a6f567afb2911578756bf3c709fedbbbd748c420dcc1a6dc53c27ce096e6c399f4dfbde19e16f1f745f66018f2bd9127d5ce8115a05158331eb142c4541df7e03eed24ce02cef1eb9a2f466c604a64cd4d2bcfa79858d8b39f374e8ef038008d6b60b1a1e209af3634514be05b5a16d10c319e40901dc56b21c72b413651a49b92a55f39b2d949a7bcf702670022e60b709c4265f6eef8df4b705c788b7111d92d9ba9ebf864846d3908120a495c45fcd2b57225c6d7e935999d9dc2e8a0a6e95bcaf0a3441b79675368d80a1fd4fda7b3a9b255fbc32abe9bde9d8c4381a4a89c7269be0d2ddcbfd7a380356d3474fe63a672d548eccae5b43f1003a2fabcb5d56f9922d49bbe8b8a5f7a3406f2a162930487a099d384659c7d558ad5ace78f07be5e78a34399cc4fba1d79ef691979173faf153aa84cefbf63407d369f6f6e482a7725fd932bead85c91c848015e44c03649f3cfcd8706dc6da7cd523ffb2c9b2d6b9f80472fc4fae16079dcd238086c58499ba0d30c56c05a731dd1defe6095500a973f4cf635f0589988c798dd7a45048cd6700f59423a454917627cebd0bd37de01a0c25282c2002b7b418accd5298b1a24d6e91a70d3756127179dd3af63020dd2d4d25b502e4ada189321e98f885f54272346afba67031f704bc3d30f54f2f68df6d4ff4d412985ce4f09536b571876a22955176006aaca6f650c6ca6fe6f797618748e6716533db49c6e31a1efe8a494eec45442eaa8fdf07ccc0f7630c9c494865f604691cc5bb2910029cfdeb35d70f841f558f63948e4cb7c32fc3d01abfc60b4b9b410d3139d782f6ac7108c3ded1329e35190e061964df4a064e8d63c101626b8c7e4eb0c1247566893a1b6baf94d899bf201094f5758787e9ab80e122747999ac4e2ec467e8688a1a6cae4225c5e67687de501144e6368748ae8000000000000000000000000000711151e272f363e","message_root":"0x42957257a469535f5db9394b5cfb23def36057a8c393b99c0be5f1fec3671baf","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe34342a9a232ac26870727f5691d094e402e7fa2209965bc5b6578f001bc0dcee52199cad16a6410fb1c7850d8a86a36c2dbeb2f06e87cd7edd86f98357fecd71051a892f6fd806720c0ab297690b7883ed2d7d2040341ea5f0979d270cabadacc5e4184c30d233bd4719a68281bd7be8f7bd0d5e1535fdbfa409c8041e1ad3edc946b028a7e46cd0dc1fc4e76b4ba0f98587ae6c80edec2641df0538c3197071c3e49231edcc29799a25584905913d70ebb894ba9208416d50411ad1f70b9d16355535b67b5d4fb88b6583ee6830ec449e760fec0f23a097592110177a0e28561b7247c89d5307339122f7df6d1c381256a3350b2aaed04aa6802ffb5aac1c2f5488f93c41b7de96585a7084d5b74a6ee1170dd650471e5c8113623ac18834fdd3ad9c184a59a1b99ee95431b5b268ef01afd50a7db1b1561befe53908a140d4d9e8bdd4fd8d37550d68d57a6d13fc0315071b6352c1d4959399d791debe92ee9a1814be3ef076797a8dd5da6caf303babc318ce4ff8baecfa6a1a4a4e7fa9af52ea1a686ac6043db8c58bf7936340434fd3510bb8e75522a716a1fa1b09197638b48b505be1cd4f4904d16e47c1f06cf50586a671e86e7408c2822b212e7ee98391fb7bc22fe3d9f2561771f8dc9e232b8554c1a5691270f004198a570dff61bec695aa52e9485de19bd99bd19febcf5e39990afa5926214c68126d6a7d4e0d7bf7757c06e6c6aea4e9bc3d83d48ce424f102cc90130cade50a00cb5659efae669a0b3802e5bdeca942a7b890a1f514a69417fb3a67869b460b39e1d3f36cd0b40bbe35911042861e013db22448bef0ec548edb534639289eac535a31e70817050d57881cb36b9bf9483e2817f9a08f7dbf23e4273b68fe4ba71c3d45f9169ebfd78f36eb6cac6ed12ce86acfba7cb71fcd3e1550a6eb3edbcd59d1365bf2f35ba41df67fa1bcb989dc653ef4fa0a039ddae92e1a1b34a953ec611589570472979ea481cb466edc4822a570633a426d0372eb9d8ff45860b0b644ea26c1ce42699f662b3112d97feb16221a6c9053b884c3c1350bc2e248cda7ad347ac6331fb654b92d6a2951fd88b0eaee5a29ddc3af81a07cbc1a6a318dcb6c180866a1a3fec3768e5d46cf65a12313831dd3c43843e5f916b2bae2b42c8932f7040ac6652c834a1542ac12834938618b6f86d007b14db2e068dd97da29558c93e9c0d6bdd670a9d9ce0801d9bc26d7443c2c78193c247e4009d48a5604c289c94ba7ac7db1e5a3936cc4d5a45541b9b39755c9befa1867bcd1c464f6b4f7ad4294287d2dc5da77c4ef395ed58b4023299d60b9fdf10bb76f0ba6c122f708c1ea45220f0002b843225617670b5da55cf8201615dc5909731041be6c417e24e474fb45a77c92fda33221f3825e6ab5073fac3b8d6e37268a5c6e78c3b9e61f61c1386ae150dad4fcf67fb44022fb895034ed7ed40df225c6a98fcaccb525820aff6cc44bcc19c521b118c8c792679f599c7310161de1039525b3e92d1acbe426aa2dcc42a2035a4dbd304c5091aef112797803e7694fd7a90e1acd2d199c941a9a26a584d8dff7f1928920d00344797ad829596a016aee39458c78d9cd4a203cb5ab7ac943260446668887a10f5b48337f29bbbbcb5e3c0ebf1752c89c8cf7575e84ed46967aef31135ffe4d44bb8af1fd583225ae5ed37af8d21e6b28e5a6a290c344f64a0264c88ca749b9ccfa0d735430dd79a210bceb7a410ed3dbf1374cb1a09177fb3c7432ff7ba6d741483232ebe3c8085681f96c56f9753c0b873faa21fbe1a41c7ea9d222fc5e805a6eba3110d7acdded44a5bdf9dcc832462a37328a9f99027aed65b30f12ddb40a75ebd5a8e0ae74fc7b17e077a3d5d61e09d905fa2ed5f3e8f53cb7907ce4bcfbe3c371a657d919979642b84ddec0bff96f4f6611e55ba910b8f2182ecec3138480378ac5309342aa0b43d7633c1112c4c1e4cd90e904613ce31e2b187c8c810413e99c9c8fe20c76449d76709a9e3382a52324b4f5b4cd38970fcb4b3538e7e0e48129778da610710b71023f963712ecdf498e575386bf08c1be7bcff7bf87baabc413ada657ea913c51dab5e80ddb4071495f351213f4648942efaddc624b5d2a6743645dce782a8ed105fc9b21e5ccfc999d776f3120e9699dccdab6b0fc00804b8516cc59846ac7f2b11f837e5acfbc93e63f01009c4eb86bde6d8384d2f5bdefe400972cb3057b64042b7d48940d1ff22c5264a11ecd0c0bbd6eb93ec23d84cb3685b3a9894b2cf1a5d88cc602854471bfbf395c48df9688c3ee0b1d64d680018da250a99389e7745435b3555393f45d6a3168340b5a46938eaf44a87df9ea59941d279e7f589a6c8c7700485c4cc88ab19e0832ad577c9f702c56295030d93e68966f00e833f7d52ae3e1207bdfbce816524ee4a93d59a7418687e370f9211ceb80cd531fb7f8f6f28cdb9c4a1319beb054f2e4fcad638be121b452367643190c4bcfba920ec1ec966aac339cc05d5334305fee0b0ac656550b1ab137c21da5e5f5730b577354481420f2250d04c051b11b6bd7a2f9d76ce24960d655d913ba4f6fbaffdb24a99dcba84df77db8afdc4a8b629ffdff661cf84ec74c695c996aaa4c4c35ff0d959154dc5cddad32880e208904034326c35a4756cff7144bd7e0480064adb8076b54ac3c8ed129ab15a919e17cc0de89d4a2f428622998adeee73ccd0a6d3ad075a024d9601dbbe520a6a21c3fbeefd6fa0e705fefd2c0de710ca8026e292bf8a34a6150ea716edcee82378b2ff1eecd563bb34e4249d818d281b5a179396c4f3c8ad356c98136830a6ea8d32eeeaf2817255a39142cabff43683d9a98c450dcd5a31e660a4cce0f1c7780da6217d22c7508c27a18954f33b8a703577d9474c1c2b410a43e21a453aa34cf46e7d158573c956f93147ed4fc745e43ff68d7f3178bed297587cf93ac333d94db8494d6cb6603f9e7219659adaaff2815276e05ee191c4e695ae810b538895ee44370d8abeec3ac86319acfd2dde622aebc6ab77f95bdeaf7e33cf9212a706134e5bd72a578ff20b3d26b09b4bae10a7aae8c91f9f2fdcdbc651296de4c6f45f4d3d71be2b1825faa3ec899cdfd58a1143a16ca811e59b678beffdcf08f7d4f4464623ff1a9e35adca88a47e1f507989385f407ca1526f7ddb16d0612667c9b6991c0abb808975f0d32e8a4394c6cadab2c1c2d93b85522f28913e9f2c7d60f5d4d76886226d534a82d6d3222d523e712af1cf2a8faf0aa036d8cbefc87f8c9546d3d0b046ac905770bc922f798ff79de4939b06d1bf75ee4bf5d2f989d463ae3e3b565d96d3b188facde0bdf2730a6f4d9eb2ce7d587f910858f2af3b7837b5f3b05a125d2c23cd5b45a8a360adae1e95299f14e8f366bae503a96412511e79bc3cbcc0ac0b86d1fa75e58ab414623a7cf20bd9961c29837f771439db52077c74f8b00c24b4dbed902bd282f15db7aec39a1c3ac2b90fc6b709e764579aadbad4cd06eaff2b21741ffede6c25fe2f622efcb5dfcc107e240813a5db45d740c718a2a25885a27fe46ca20a096a05b717fcdb7bab4e46deba9e990c2a8b9fd92c575e30eee2ab16b57f41b726faed8341ac74457f9209e87d9371b837338e1519b1f0779f","amount":40000000000000,"withdrawal_credentials":"0x00d81eaa3b0c8c1e1f1e72f42704281769073fd9fe1073884f9acb614643d257","deposit_data_root":"0x6b1da14c995ac8b1d6194764633dd4b4f72f491e80f8111db31edd74e6676bf0","signature":"0x402cb340b93a791f595de592f48649f1d31fde37791eee55c5e506ae1bbf2861cb50b7f2fe3215de6749da5d5852bc2f3fa26e3fe6f51582bc652508947a05bd4a2d28714f0f1ec70d4474fcb944777b1a22967843e171fccc9415499bae38c48be9177489f507c08211eaf8eba9206c47459fbc57e94948e7e6c6c285f71f5821baa7cf66105f9b4d361222528df9ca7ebe95a702b57bd75c0809b9c0a249e03675f26dac2d81cbba7c45d78c9fe4f2ace82aaf8c967a72a1bae64714580723f64e5659cc3c3bf33a701473db665e65408c677f4772d19dc3634b23f14cad3af1517a83134d5001bb69f5e6833c8754ed70dddfa3daeb84117c1965809814f11eb27e78552a5459243659eb6f083b0f377fa2436c32b23b674f4b19c34b0f7929b2eb3866af568983d88373c11f0b7599173f44db65879741a64e1a1ef8704a494fd713834a4b970154dceb32261e051a76b85683a09e8398911e3f3de2bc8b8792eeaa28da5a0c7aba0320f1e7cb69cadb4f490cec75de3a103041283fa75cab69ae8dccd9c67c8414eaa9e13590fd5d3ec2c246e52c83c153db2c15f8e4544c9b3f0c9b929118cace6a92fbe1c6a30643678a57d824aa4507b64b83374e583ae7ab6fb6c8c91cd2bdf29764c12e7caa978f389d03ae4f5aa71a88a5756191b7db550deb16d33061f815479820927a1bdb0a5e62d26d5e1bca238d97a7e34061d207bba888725298276cc71ff9101f322199924ec88bda3eb2e41a98dcecba447d99407af64f8292a017bb9107ff9bfb2a9bafd7554038b789dce0e4034d290e9d13c053490c00cdd9a17dd768143d19bc9b4db54ccb783d5a2c7207a1e257185979037fba906456fb4c84460e78f9dc2f3fa8a540a58227335cb0e2236bd30c3c7277c91d043461bd1b8e64b3e61c296d27f1740eedcf845b129feb7a30305abe762f0831d9f75c84d090e63548dc4a6ae3d3316741bf8a00b02122eccee5ede4e2f4708d60eb7ec3a89e0a6aaea220b21d9ae5184709d1792fc3a8d2fc6ca747d1b4f8331a547094514cc16f6782111bc7653703f8f07fbe6bd0ca680ef53ebd1fbf7781def0ed4424dc995bd5306d30f6698dcb6d5da83d41c93a5d64a5bc98e35aec195cc7dbddf799bcb514956d945602309d90dee907a5cd44a0e478214fa73529afdde1ceddbff44b95683318eaac04e38dc02df88087812b14b874e929c31075a3a9493c216d63ee349460dac31daafbba35b15fffdfdba7f8ce2a5e2a70f4643b9a9f7b1f82bd6deac2185e91b054b8179be7b080c36877171b25463a110c26d7b6edfa6cb69a01430dbfd71d83b8dbb0d7e41950929c49de721ae2acf7d1e92c727df8aa129524e43c27e238936f50f1fcca058f08d1dd33e452ac40fc0603eb719ecb68aaa48e1450e4cc6d992bd61b2854e3ca1c30961afd93f712a54c9d9a5728aeecaf0854be7fe6f4a170459d02e991962910b3f917fd30eb270803b7f91c26b1c2824e3d501b83fcc036e8bd1a4c474b039bc8fc801d8f9a2dfdb45f011c5598c2f3291a72f2c69a328c0060ee3d6315636cf695d5ce5ed85f97e01d622cd43f8c01a84c12c1e07ae77950bda60ebe4ee81e2eebfbb3e48ba0a457f66ece4b40eacdbbc8d645922e8c3c8788a584d1efb1afc2b5f4854708161e3b893f3d6c5abadf18f1234a9d9efd8639dd386932104db51e6d7878cb0d6a97ef5f5b7c916a90389bfaee515e254ec056ba2f989161921cf66a840e58c4ffa6f34e884db7aaf3178362d1418ee31eb8f45e7f258967e743bb5ad4812553af4806484cae0f9a7e7eeb048fc4997724f90f1f1b2db8674669b2fece79468d6df2c5f07512ac5b34c0166c1e3dd18b47619f5a2a6406578bda74da579977571a8739b88468fa765bc973f1dff0d89095fcb83110b9c78667623cf15ac72ce106b15c3d10d6344c0c80b891877fb6706d9e349e40fa105312d1898de0608ee497bcf250e32318d3f42390d076cee4303462232c09869b1e7a2feb808fad4280c2b72c6bf3001acaeb3b7460ffd0f4bdb6d9b45204f4332720e0c1a4ac72ce24d47d685fef94fdc4b78feac19203d045bcd91b33284892fa90d10e5c5bb22a8d7fff6c6b4f78e624e87ce09bccec52d37e05308bb7f8188737dfa52357ce97f1f16e16c9dc9c27c6c41ee5abbfa72149ee408e4d8dec1cd9a096511c0aa45b0552bed8c409aeb1f84d5c7212834b0e2e952de0bc8fb81251e019cf48198f1f196ceedb8d7c2358e12fbddc76454d9f4321a7428c0b7b47ae106c527cbc7d292bf359ec8d027d5d40b14e18f83ae21abb631566c0ce201c57f4bd146bb280823b86cca1fa3af74f15dad112571cac06d1a16f23ce3d43a17139696632e7ad4396e862607da8d9a5f0024dd6f9b07e46ed8826736c37f6250bbe4b04a5bcb60e54b5bc3b3c5d18229be2bc42dceec1e88642986535d3e9e164c099261e6e6f52104e9d4daa7112cf1b03f93e52c95075b961e699600a3523081a709171932a07d0957bffac0d613925d82ea9a19c3207eac7e60c793047884de6218894030f90ccb5bf4e00f84212653d65fb1ead4e3c57ba0a3cfc7fda7251ad0492346a01eadd98d34ae5f2f7f8a89f104f798b12a7acfff7a93259cbf42b2c589e5e10575ff298695ac1d7219f40518bcddf477687fba172cf5e1845ae14d0cd66c2d2aaaa1990b18ac430c3881232bc77e6900eb982d9cdb9f4efac881c004289598ae22ebae889c9d189d33cc2ff4461f10f2a68a77b3e8b875606470aceaf85204f38fc8190186fab0c968065f90b5e8346c423327c9ac6f033b5b1add98d8a1a21f400718687c24b1bd98ed6b68f572a48622c6de59c963f886a0245fda05aa11919be1fc40378812a274f9dcc27ce2a44d1cf60766863bbc83a8a32682a4ccd21c25446196350967da1fa791738d164a402b23b9a098f155ad81f9274362034455da153dc9edaf04872e2e89f2769c9c72984453b2b0392150e70f888b7209edb25b821b0bd4dbd870c9120f3191fa84841613327997ff0f59c8fa575e49672969afb3cf87c7fca5f4c8dc70dac8f858f09dddb1233a5f0c8e629fff69e510950b990714b521524b00e372cb5525ad6fcf8d8f048b6c07d19907be85be43676bcd7844b7493ebb0f766acd6823ad4609389fe2cab804c54b3687f9f04a9784118ec2a69fc08a8f6d35190fb4519e8a8fed4e4852949efb6442b569317cd49ebd317aabc2ec183b1e22697b6caa5a9afa7c1067cc02cdc529c329eabbdd644ec4510e4be951fb3510d9d63facf129a528a1d8f8c2f707b0df000d524e465f5f18ccda182cdb535b341b833344af861bfe82651153d13715f5ab1746dbfe5040cf9e5746e220ab23103f329eef25cae0fb15dc190e222a141ac816972926afe23606b7c1908ba3d3d6a1dccffceaa7f723fe2c964937143c2ccadd18cc67ca7e0b1caaa628e84920b2556c4dd4c4c6d868eb5112736b69df3460be9e8df122662d38169cfe54e92908c5a267600adb56c89dcab4ff19ca2c618b0303593dedf58dbb179c4ab867fcba162e228003b1f528508df299a3e89538e98b3750aa2616e14c97d077533b6b7c8650c979e2a819eaf617465dcd5dee1924140ce607161611114305c9cc37a26c5499b3d616cfe6fc9402a9f0ef57eb27a1b93061729d89e6167e22812f6ff00ba924c40ae13427aded9eb4fa81859952f6ae61da65f4bba5385cea7e3aae695b9c6d7244aff5e4fd2bb2858ba1d14c14b5d64acddd2713fc3bd4c78dfe17ac4f319121ca1e261943788ff91f1e14bb3e55f0204ddbe376f946cc58392cb24ba097d2d75d6ba6d6a848f5c25a853171856311819e6d2c199e2e5b40dc1d6cfe508a7adfe88efc38c29c0db6aa7221490c15b883782dd02ae08ce4da830e3b9e6482a60dc9c4671af3439b3a095019ed9375fdd8acbec5bf317f8f7417db716e3f8b20295383f7edff63a5e588c8e3a558a91cb2a997145101ce3863118cdfb449ac8bd9d9200013281d9a93c99ff7a786403bd89cc316a149e232d1630160af82cbd03e5304c919ef84467ccd783c19873e1badfd76b13158af220bae6a2429fb184a9148e0ab31d717179562136b7b9ace9f0a996c7f9087d3a897afd227732d75c738775d8f4fa542b0f9eabb7070e7da3365baf4f7d311ad881b3546e45749bb91f83082bef214241388ace49785a6ab6dec9293c5cb15fb7dc49c0c51f4768ebe9612f558a4ed80f3a862de1692445ecbf982c6c3adb54a9551f824cadfe27e3c84fe44f8907e7e050e2a8859e7c6a543c9d00a6e0606cf65c79149163a180555b5e211ff9fbb5b521b0e9bccd5565e20d9caeaf8a00d10bcfc1de993e224b49f58094edffc9421cb0225f6f751f53b7156d2417a418e3cc4037b6f15bfb06fbd7ccac4bda41acb410db79840e8a50d328fa4f9521b4b9b184990b56398dab0f9c61ea0fcaa16a37489abda28e8ed9fd9dfc628248f7307a938d773df798cee42ae99d7eff076af0dc4d094bc065cf6c9635662b45c94fbfbf80cc17fe9a4c6be28643749338c274a1e12d4f95405cc15214a776aa69a80ab3f72a93257e73a162d04eb308c1bb9a34b4f8bc561f7965a29f6d0b151e24bf1d71e6fc76bcf035e5b5a19616cf04fe63151099d9f1d92b0476ccc017fd80b0a5872d5cd3cca05e5df5117ba41a018cc1c4e46c1ed36c2b3eec951797801b05799dde835ecc72e47be26b55f3fd4b0d81a8185c4e598c639359f00334b826956858b6b8236e760868926f1026e5afc7302e15298e06ec55096869da51dc56f86a73cd07bf8422248bd28a6ad4b9094031f48177df56d4b52d74b858aba043f2ed24e1b510eb37b0df4ac04810ca8615cd3bfd0ee73118003715993c4ce8138a62671afbf540756e3b6243a08a19d7e7baccc8c7824bbeac09ca16fc1fb25e433e3a462bc365d8fed4dd82c8f479405784e4592fa4101cf040eef343c8031317e3dc338c93e808df14725047c877099d728d08e089d7a76e7771aa1bea169cffda72b5f73d28c0eed2bcda9829e161ce44eb1397f00dddf2a1d0a8e22128440e67beb1e36228f31fd18fe6a43b5e714e139694a310242a97572a91df3db43ae5c7ee631efecd890077cc2f186530fae3d7f0c1acaf4aa5995ccacf01c5c0305f843361d87dfe0843c1bdf06bfd54d2c489087e2bfa0feb4738766bb90e615ebea26e443c2b85b97246e8d5d0f38bbbf94f945fdf467aed5df5a716d9137b29ea7d4bcad9853fcbe3f1bce94d930b59829cddd86b577b24596984b473250b0eb5b8dfb6e13b06d764b8ab00dc0fe317a9925da324b6e0493798d9157605aba073e6f52afd4a32ad92545506247f3428ecec34b52eeef4412d702ae5705ba42fa54855bd9d8d63f2d03672bde94caf2b5177887fb0475e8f940de8ce33931be6756190a60aaa08f6521659c52cf96c9d2985ff89e7ab3a4a7742b977a11293cc0edf6bf86fc5e5c4dfc6963f1be13409c99da01d3d807242d59ae2e080f7ccceac33c0c1670f0c61217c6f8078bf90d59c7a0eb6a7099e382296dbae7684f5c02fc7c0aa9b6c9ae613eaec24709c072ec9ebe6ac0a640291fe8ac80788c394df371c417a37daa725189f10c844eb48604aa2df6fefc1193262f0a3c12bd216d59329f8aa14c9d997d254796d31e1ada929e3d85f091da2890a3624c96a01b14dac87a34345530ed1c308cf9632aca6a2c1ff52cc10bffebc563f403210272a3e41edc0e4e2a121e527e2985f59bf785ee0473ef862f8a9564d3283f6f54bc68e5be56b64fea6b91aef6a70a44223df1ba73a57f15b96bef1856a845dfe6a77854343d89caeb987aa5cc1903bed01bb0a031e0cd4a5616504d98a0a2e077da6504956555fecadfc73391ea75343a942489d3c5650736391a33e73185d0ea45254706b8d6aec83edfcd3c43a52e858e43b278895b82d2e6ceb9c3dd65634e49f0429381453849ac78688d83506161c10cfc369f1b0e1d45fa17f5c302d1a78b993516b1bd5d2b5997b32f55c7fae2ad0e1a008884a8be2d38b216a3f4e3aa4540cc5eb20dee423d15e49e3dc9a641cd54598cf3e1b2bb304e18a75977eba24459a929bfe492c0499f3dd44b492c6cf97c95b3a72ce2659f97217ae3375f68c132cc0a7521d8762959795ab95059a3bfd4a2b8dbd03a1d6115e8d37aa81da9c4aa4e9c8c1c7c62c492d940ef25e65f64947f453ff394cb1801ca960ed0ff76176f51597b4f29b3147fc4a37997cd82d136b34e24b56e2045f4d3e3cfe35ce6f1036a3fea7c8a41ceb5218468111b235c25af7b6f400f3b3e06f422b85525994e830de8180bcbfd124a8b1c1c20a2340888a94999dff4e819cdf1d55c7ee36778688a4c50e5c6f7ca3dcfe060a797b8c95bccecfdfef00000000000000000000000000000000000000000000000000040912161a202732","message_root":"0xc1ef5d154038236402ca1e0a66e22905756f4e5fd9566d7547417580307c4c71","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5f8a823d3f904d02d0f2cefea8269297e522ae0cfa342332b77858e38bf6c42cbdd107065b96adcde51fdcb209786725f2f8921f38657d41f96fc0fbbdfcc613d0acca756c324bbc8f9350c8e804a9ccb8bf25250b8b7aa67b5ed5d6b6d9b20ead69171721d4d9232886fb344433499407a077fd0b5496e3ccc503e3a6e34b7a5abe0844b7458f1b0def3a4b04322efa46f42d1c3a725c6f9c014ddb1f8e5893a2ae7c049579a0f165176e40e575302693acb4876bf02187b0dd3e98fb8ed40a5ef34ce1e52d0fdf6b378621c0f864eda88481766d9e5609f134431ab9878880268e4db0e32ce3d08a44f9a10c4548f40811fde214a83793cf5f5fb5d0af49e84de4213c6194cf0132d665ed3ef9285767ff6d44994d40028ba1396b1d4e223f1a35b8bb0ac8d01ba6a1d4b5dd67254d4a4f706ce20dc03e63e1dd94477f37c41cac6da97d623518b7549d19c383b02c9a83cddc56033327d5c96a0ca2a4a563730eb872d6fc1e102ff588508061898e64dfe4d9461d95f1d491015cca64c6cb262a4106787d7a90be20cadea8bb71d4eeeed9cd0b31eb9ca156d73ca62ac529093f7256eee4e39eabb4c560192b4fe0a9f6667328e6ffa7389dbeb4172fc064225e414f9454ef85e20eb7b89529509ba9cf6120a5fc672e01e25ddd2df589529e7e83d94c73c7f21179a1f53fdcac730a35a1e9e47dd5396987e744dd93a0287432b40951026741eb857f9c3b7d6afa4a092fba6b3249212ad17f6702b386fd908f502ac27d8d05aac20b191d5755a0403d0e9995bb86a46eaa1ad4afc6ae67625fead5695c1719f44867ea6cb110515b12055aca17d05c5915c9475e0a45fad586e422822a08d8c79f9b6ca6a147d467018330e0f3588943ebaf8d9fe0b909f90ab29c3c2ead42d4fdb0cf3316e21748eff8f6ea8f09197b63d34aa9d196482f7139421c049a27db94b93d998d7a744a5a98bb8d3c535888fce44a404b5eeefeb49b0071ccf683f86abc45a0afaa31f8a038d3567666b0dd49e75ea03732a42d8e429200bec355aca1fd2bc99a08e591fd6d31386a67c42f6f3c72bec66c6dc6ec6cf00625a86c854c1ce7d9c26d3ba3547ab61ef3b5798e9d9d9018aab7b4d9c381deefbbf34c92edf3fa8930d9366b26ee8c47fc0dc4dbeaf19fb799afe9e6b99ae179a33b17dd5a16e8f8956e44fb2d9e4d78e3347284e6d90527e77ad66868243ab8697e3b8cfddebd4e39bfcab0e3282ea02b0355bda642f8ff5e5e74b8ed3b9332c541501099196f5ceb3780f177beab2f2671e4578120732ae8c738d0d9771a41c43fe38e23d96c7acc25bd32e249fc5d01e427fe0650fbe83acb8685dc0c18801e8a762d20b85eab96fd8777c544a020b39d9bfe73b12ca5ed7a20a5ec41d9aa695a96c9779fede06f3981c6423272d967c28659cdf0484f0027af2181ea4097926b650a855c2284d60ce4ec6f49ca3432fe3dbed9ead5a799d3a38279e956fce783bf33dc49e90331ac09bf1e791b563476c3fb5c24b23dc80311bf8478651b8c5cd2239dbf0edef76afa5000312e8448504bbb12457ebf206553815612d88d8689609c84273d5503db650fe440a003be2bf059801c219c71d7f2eaafe2191ab937299f2780ea286a3fd69614b827a0a14e060a7310af408df0590277cc3c6a0fcf72e3a07f3496cbb3e7d74cce8c0e719ba05bf112913e36780d10b54225cf4b2e06e3594a08debca3ed05d8d4e4b380d3ede03d5e5dc9744a5e2f50399f2332f16e7f3e77504ee56a8fc558b8928c42ec81956f828b3a12e053934b1f41c2c64d1d26f2a5ec930f49628fc8b46f85e52589ac29afd775c3085155679c3ef159eeeace1cfb304dba24ee670083fa8cdb2c2db0a3299932f54460de8d9ff506e48aac90d0b86819f558ed83b68b334f2d3c430e16d7168c7639a88b96f674044883b9e6c0e1a1088e62c29424d5d6a749b7aebe512b3b8329b070d6e642f72b71f549e13a7c66a1a16c5f94a5766199a6741f4c6898357675e0cd9bf265985953edde1d36674dd7a8040443c50e53b1f145e10547f7bd50fb5fa0e10ff33e200f20515bf712ed71a2b89e08c2045674131f84b67c2e4e4a93e8badb14777d77e9a7d73d6859bfa9fcfc062ec087d16147f17a35aba2be3bb3e58d59c35a6c94d58fe7efea762a5beeae37653cf4cb9d64cd2e8458dacd852f6e0d4ce41d625119d3b8eec12d3f6b981edf8c5f5dc2bb4d8ae2f495193c2daea75a305ad237e484ac3889073b7f56d09ac6a99adfef5da47bed92bbcf46dcaa748285749be66b4cbfa51ff7ff71c536bde04c01139dbdd29b84a414d0f044e57d49e7b30ea578855c5e0ee493efb330290e34d3a46d952813f59d571dc7287cfc59556340894f6003f4ac54280e7a3b41bc3059d7b85c4cd9699da11052f7897745477e8d9923622b9eb14081c0ca7282f80aa85d8f8f54b51fbeb96eec4f27739ebd5a5b5cd36fc7ad33d471bf587fc547349af8ec256fd47150350762457eec225cd07523a7ec350d5c3fa4f70cca306df860c5598281aec7856315e6e87b7d6611fe30ae1692914bf453721464194c82e82f87f16dbfe7109c51d6a4634ac72024635d2fe76abf49855eceae8e769d5f4178673bfb94588777ce8fada803e882bbd34e9cb8516ae2876500ab3b4125aec8557813ac024935ddc419c850079214059b1a590398883f7aa26c60e72d0c677096917a7d4edf61a31ce0e204aea4af7db7ed3c2f14f4fa1a34389e5539199f176b04f6328cb875457f7f0adbcf2582e8f526a716dd9535e49aad2626fc7eece289d650a208bdbd3ba844d4b142327aae1bea7bf9321cc95a831bd91e10aa81462ceeedb9da9a2747d0ba5f369e90f12447b5baddc7a02ef8dc18e47b32b0f5ae4175399b013b5d7bd8fa67171f5c2877be2493b0f57f1b9f7784a8ac01d8e521cacd2fad7ab45db9180ef9ceeff511e3b13043c180dee0b900dc7a00e88d29a8a7dd17ae25699e8511a1a11e099bac1d4fddcc1ed3a5f83b053f6470866e9ebc4f0de6c69619004da0d8c9aafa23fda9448981d684a8882988b507f633b26467a8c2a42c1589ec55ebdd24f4db335e0b8bbacc570ef8d30e94b19726b19739b02c45d2fb5e48d1f8e4716acb341d3e6b39a2ef3cdaebc7552d1dc8603105bd0a65f34f1225fb2e367d37e49f3176bc03fbd85f704061beeb1226eb02cddf0221d17541aa527393829bc58eb0825ac918722775a4ef90712697a2dc2c687e0e2e637622f22faacac62779a58da6c886ecc71f753a232127a1211b1a32e64b1c3f4619586287353c16d3ccdefc75b1f7eb2ce4dc11a52203c6e5a9759b20067d6cbdc63c996e7fb2137951c7874733d792df846041ea7d8236af981bc88de1b8281213127ce9e7b90db4539be455d99ea025eb022761f71fa0a5359b5417cbe23a54e2f8b28d254c5a0abd833e339d4ac3033262065d788a91104349c5b325262a76489168ffb405ce4bec29cb98ff9dbc532effe906888742042ba37b6934241c44469ee2757a2875a79ca3124999f2a0f15cabe476e850cd3a4dc6a41794dc3ff15555d70ff277bc1bc2b512e65c134b6cac3614c93f3ecfc14fbfbe6942ac8ce941322c5343ca8830af8345c4a3be","amount":40000000000000,"withdrawal_credentials":"0x0043c58eef084da28b2a1f79a75d42b2585baa92d44fa8b6a878c1b83f598362","deposit_data_root":"0x35ab399ffbd37ee01dcf18cb865e0dd96a3e7bfca2f9856adb536f7679f56ce0","signature":"0xffd84ffae4f7a91fbc651223cf4e7d4f2530acdbbb3581ac278526a49066325e603c72a33c259fdde0d3bbcc8822a2a473c7e572e4ed6f25c401a00956f8b605d2976e3019e0a0cb446926c38b25a73e53e686ceaa96d8e2a4fc839bcd1d025fe2403480992024b9976ee096026d09c9972f41e145e9958ba74e77e110b8fed278e26896be1ef7666143270909f17292d8970f4683240edbc89f59d2bc0cd92df5e0c596f3e922bc0f06671ffc0ce3a449347611c556ec958f0b1f97ad141d7e3b73966d2a3247de7e799f7d3c581671ed732a9fe16976274fdc1b722d95d2db7c143116590a60ea0cdd21c0af7d5ca3cdc2e0cdd64908624dcadb39ebe0c7d1c38975706f2641058c06ba1ecaebdf2b5a84b7afb26e29b910358d2afe5c165825fb8b4d23d1579f039cfefc0bcc80b312b9ab653441886a8290814a05ad9a134864f6a858f79e8016f09b48833449472767ea6d72fb0c709f8134a695b7f96175eea8c3199e27cb26dc62e2ddcbf0067490482b69c39f0d2046920a4fe215a6b34c3a0cc40957f4cafb1dadf3bd3bd3f890acda876343841c274a53accd002211191ddf91ebc632f44faf662447575d8089ae3ce9775c5e9e4d56acb6e11ab062443723d1b4de36a034ad5fe0873bc4eed10c9bafeb0ff8269d72854e2e8530b2a7b2220fefecd768c5649efae15c3b64b4edccd640f94bc5327e3b8bf2058e7db8c0c9784cfc1253a7e60f4ccc57890e1e622cabe58141807b41ddf2ba9101f0953107f11084fd5448b8082f7d733d85620433802da52fef87614f5827a85ba9be93c562b212d11774cd2bdbd954699642c65e667dbb6248d929d12aa4c38e2e66f6bfdf580b502f69f798ccc83b1709e039621ab4b2ba1db1aa781729dc8a27b5ef92b8800be4a5832be356b2cbacee400beacbd0e37d496d3c100e2241d0da94da3846b3d78c4ed717abcb2969bcd19345614bd5009b41c6a05c662c4f0bb4b41f0eaee21f36dfdcc1fdcb3ea4e19768c882c1422976d473ad51eaae65ef8543921ecd07ed4ea70c9501a6c11d6e98b4866c8c589bc61de1719c1df16a13421f1e997171348c1db8fbac9b6beabe11755748c012e4875bddafd121712e7a857b314cc8c1e068257092e56146446a5525bd07c490b715f10de90bc1a050fe149ff99f0e5991e401d53dd601ba0f0cf7a7aa64bca135e3beaf28b7911d0d8660dc5f3a1a2082bfd2b3377216be0df1f201914cb30928f432b629d7f6a9d422c98e61125fb105b52bce9c2720a58714614c4aa178c24cb9a0a9856ad901c50765fe861c1653315d28f1e7f1f1551d117c8d4b00650f7eff948ea62c894e2fbdc5997f86b93f66aa46a4a11a578c1b3c0dc43a98396ed81877550ef78a88aea0de383ba78fe12dd6c23677a356ef6c21e010ababa31071d0acdd3d3f250b94161c5d4186a682c86d96b6aa2dce97d32abbfdd633b37760df084de03c201873c702e7b4699ab09339483dcdb69cc2ab048144f6da4db3e16dec4824521bf0a501b5ec0efbc4c349297f4336e4dbe62794ea090a597459353d067004b5247f0025abd159bb6f91539ad4c23a9fabb1a3215ad57dad5d277b636c685bebb86a816fb11c78550b9a10691a245295a04db0ba3a790a964f83abcb7a16d7f938c66cf0f02b6e781c521352e56fa365c4efc1b321103e2603148e5c469bcbc833b568b9ee6fc7acbe859185e941991d74022f639b4ad2de97f5f7f0af908e617c7c910304a54e81f3f89f2c4aea6888930897e9effd73634a037ffeac54a41c286ad46398d94382135eca7dc36f7b627dc2efe84a4be8b9b53977d693c2a61ac6481d90de424faa42c07d1aed9a2708f9d28a6d51837a482b9148e49c01f306072260f93838c9e59427bf2241fa3cd8ba89c4e70e21c605d98b8ad2b2a2bb1bc2eaa5c937b07b74a7e7ba75ec16bcbef572a9bb9fee88313b681b06e6a69d1f4e5960ce0bc5209c2e221fc0b0d0378ddc0f742da582717eb8d3123c5a7a7d42ec23003941694c17d0d411ae9075f9a50a4dd6a07ec2db109277f14e1fcf0b5a2f3b64068a05bf53d14a11034170709f60f4d9cbd99f31e5925c3cf4b425fe4af131fa6ade44e0f20058fa3f3e083fc09911daf80bade0d7a8fcd49cb65e2add3d17453e0bd5dc607226a493bb8ec1512d491d8fb21f6e1316f5e68c1d41be45ba3f451e5de009714c570be7d2a676b60224e715083a445140c277153261bd2737224177a44589307ce09117b6eb6429b2ca44a1b5a06312d76fe7a38368413842838fc7a09aca2996f67a5a1fc5f9bda6c2d9acf105722d179c829a1f8758b11628f05c381c563fa624359c6fead8533e7b68e1ee44292f652be17a9be891ba31835f65775cacfb404453a2e37fca9b8145d799f28488200920d7d2f47acc7f8c86ad7c71ba96d36fe016f7890e12dd7c35f256d1b44c6ae733db1ee48dba6d1322f0124be987930ec7c1d6b13f9be9b0f2e30486a767145fe1af98dd208297a9118b47be213c98535bcf5b55a05364b2d8a9cef8d07817ba5f61fb8f8b8f63bf77163c149e2ce17ac010e84d663088e9656413ae098b85f469fa45d7aa3c1cda1e3463d15c2dda1298d148595e434eb61c324e5ae75798d1d9f176a2b1deb81ecef075d2a0fea2212f8ba29c35229fe8a23091de7a31259c693ecdee571b7ffa10bafbcf2c18ec70cd6c0c56109f8faf7b1a3cf641623b0fffe15e3686b11a964a3a7025ad361ce18d814207c401b7cb52a0eab55b0517d337356a9cd66bc1b29333ce68c99735ceef7b0fd2f74942f72be9e0c87e549d36f96c6f00e929d67ed5202d153e3714ab2ff48768ad7b469b4fac8f8aeedc8562f3add2f1b9715b0421a18f03ccc137f7faf9f13c277042c746b060581bd235656e38f2471da6cc4da369b0e47d2715a78438b538ee7c3f31467cd76508092c25635b1d2dd46a0b0c054a432e24e6173d1caf5145358fb6a1f0ef14e27d62bd1a822963e5d68c0e188be85f902294a2b460e623d60be1405559c1e4654f785f61bee8c9016d9bf96848d6827ed808453b54fe323738a9f7ae2a1bf41836eb5183dd4d039c887ae1031344712d5f51f28090a419167a991ad7aa501d3f1f05a3a4ff4b228b5f19c5efbc6d9d0451dc82210b7cfe06c4f650576f751f3b7cb1a9050bc4a244ac7a7c4f198ff665f7764117e75e66d7dca6d9a0b8da0bfaa1900cb7684aaaecef6aeb23d10900cacaab4f343dcccf498410cabbcfbe2e9b8b7b03d4f321c56eed3b09b815bfc2ed4d4072ccec53133fb287d060435e5e0953a2d91328c825ebd46017984adb6a728e5decad3801ef32e9dc96cd151a030a713ad3e28d210acd8e3c5a356a4f4ff37df6c419b7e9c58e0eddf79b3333b0281b229b44b1c367bf521f318027e169b504e2ad972459d78c14fdb2cc3936f398901f3f6aaf03fe4630d4b79527cc82cdc5c1b1bacdaa4cebec1a2ccb2a6129985ebc83109596b3471f0b603de8816be57a791af6fb9ddf0cc5d1a0b8f0290ec133938ee6fe31c9c19bff02a2a4b3e2fde33849473fe12df18864b2661bf0446aa2eae6a06ea642402a3e3886fb41836795220b65a474a84a310f4d671956015b7fe8ee0850cd6eae398fd704abe0ad00a9db08ab56e7bac0e83a6cce6dde9b112d1ca3443c0ed2bec1c45ec1cdeb111b6505c5ae25db10482afea613845888fdc3cc9f89416ed296703c7c2e8b7e9e4277f0661bccf58caa3029364f476d7312e1b1adf2f4705c280062cb9221258cd7e75ebb1b0cb80a5a25bc3fee401e0df9024a42e9aeadd09bb5763a5fddbb288c4673eec0a430475a1045460993070dd8e0ad28eae99a6515b6e9a5d1cb8a083660585707b51f3d3628ee899ab02e01fb5b30d43e137b937ef3d2a6b58daae7247025cd8f38623b395b61cf9c88626ee90d3e74b9f0062aab2a0b8413b635deabe908430bfb1080477887c08ae5fb05289b415360aa94567413598a17dcc9f2c9388ba1318fdfbfc1344c457cb27537fcd8da117561a366f2e6f270bd8c94785aeb1a859e907e069bbca323a1885bdf018d3778ea1adb12fce8ecc403756a9f8fd04a778d759eef12cc8e7e26ba1e3188b6e121ea973e1cbdcdc05f88a5a86d97ca41c41aa04e742a9c92bd5b7905f27ea014a48901b9f27e0cd0615969fb2b54ab6c244c40294d8448f6d57e50212f868e27ef363867850f96a22fbb4523c87b1a7e569b4d70bba95e460aa26574a8a29fab265fa351121d4ed8967eb40ca79ac7e890b62b51b06c90a0473d0de3a763e055b2ca9cd61a9e421548386755bc7c0a2a42a6db2eb3d63af4737015afa1c9ae68f779861f970581817dcd458c3ecb35da21061353497e7aaed8ac914ce62fd0c1c6e17b2650310638168e9c828f5b22c8a8e3f6d8b860dc822ad9ceef8954f93cb34738e707741756cd8404c327514c209c3ad4efc4b1b87b768d37927a9e09ad030c5f4f572f0409c67bea725f3ec7f80e04db00ce8f7331ec855c0a754f4840d15f6d2b525f1eb90b4ed5acde2bcdb562cb1b3211d0a0c3196dcc44820c833e773495054299d17777c28b6b483c83513aca29124f2a4ae7bcb080f22a481957bbc9194c274028e740e85a78bc4b3e907921cc97fdab3fed2196f6cf8b0ded6e90b7892700fd533a90556327001f16d41e3c242ad58f938176e283ccec986ea6729c187450720d5c491f8d076f66b7ff4df707d62639ec540b4bf61d53deea1afab3513b1af5a01892ad8f42a9ea4fe1e45493021d903665bafb5f2168da1e8e19c0f01866b4ec89d3d7ee989c9c471c9329463d01333110a5ecb1b864203c228095ee26b776d1345ec013d61db105b13a9736eec61a1433114681a26a8e094b00240f359149b132b59d48fcd04488ccee79d091899716e9e311cfb3359036c7f296e70eb0cc6d95916af3aa58a7b8e96a6378a9ac3c2744408e800c581f437f5bc74cfaf814edabf7e20741bba9a262b4b9d13efa21e2c6f30e1ac9066e31ee07714fb128ecafcbf2fc47488bebb142e1f728df19e8c21b209821c801fc5d555bd5c98ec3383bc70578c6f808abc25600940f897a14bb32f996de79564335ba8c0803b33a43d5dd83fb8ca418e4f21994001baa6816466cfb5a934c09ecf797984861bdce80a8e906cc0d8f1c7596179064cd795396bc673d440af54f5fef8a270c028f2ed8082087cca0b04cfefcd8cdd7dc71eef0619209582914548bb6b7530c68404ab4edfb5fb971f2f59b6df7a75f1857da7fc2e01292a7cef51c46f2fc8e9aa86636b276ae643023ac4bea758b16d8c1f7830d6a64844103191a074c35f2c6e047105d6da7453bbae5f4ca3450c43efff158ef35a6ed1ce6dd72bf4081d44e226ac20d16c29009ed3cac6e2bfe4cd41f718b46f9d9f54846e834041724f6167a2ab698b74013aeed0d274a506740f85e2feaec73ecc047059b44b4f91bce7c5a7378d17cb8772da82c73ca929d18010132635acc23bd89c0c8e126e793f60027c927d2f863e81cb925f8592f0abd3fa98b52e84457774c06df266475267bc09bb763d47c4d0170eab5f5c2ddf19ebac8e7ec5cfbd50e96b132e9af56bc892fe3fc6e28eba838c72b2d9540be3600d7747fede56f8c5adcfe0de9742b1df79f95e9563bdfa85b3111394b706bb78a36ba1807475432da5815565dbb770431c33d0c471be1220ee0e2f2cc3f5a9f37f07cfa28388e925e0a6de8525b2a2444feef5054953b4b036793ec9956ec022af9eefab2e6fb40b61df3de8d06e526163f5d388509075805597c643bd1873efbd9c4f9b02034bb5913f26cc9b4f7a3b55ee07051ed1ce29bd10268148e7139cc0aa611fb8c80d4ed19e506803d003d875120c309333a2bab98f9ed664bd4cc3f39cde0ccfe77db27bace1ecba1363f4d844e7ca52afd03f81324be5fd4e1626f6ca8f960e25800f60f88e3f252fb40b508803071c679a7bcacefdf53f0415335da2063449bf265af88c4eb0a9fa2752a77364bfca67792256df2df6d8752f63c7e0f25e9f5096be00e97ce1b398b1cdbd381eb0eacc4d411c5ff87f89f763eac28b5512ecfd04a779022ca1de67dc35a78ae0b273f35064c30bfa1d19a65929ffe65d818b4bac8793da335164ccc321aeb9057076f8c89d970d8cf3c50103e76755f0fead5da93bc6814677ccf438f06106699091ef21f25d3d8dffdb39bb1d2e1f694d785dcf277730fac7eb7e5f5c3e6a10258d1e7f0b728a24e759ce022100ce9d64adcdbfe58efb78819491d60b54642a256acd5060199959200d0eca3998905c2069d0f46e92c69bf28567cef8094e2b1fabfe1ea187d18ae1a275d70aad3f41d2a6982879eaf083b5d6a7d8389adcccee10c0f18323b42525b9bc1ea12516075a0a4fc3d4797a3d1d5e6f2fa0c164f8089b3e3fa3a95a7f80000000000000000000000070e19242b343c40","message_root":"0x4cb5d645f27f11f3b63d4d64ddde4b51f752f0cc4175f46243ee3a7c20f6a57c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x71bc3ecd8d9f80b08416e704c4312293939bc3e90f913864f5ba422fd2c8e59d1d3f3a1e42a4f33f8874eab0c6dd02cfa6d7ef166df2e1c400637bbd79ed8442a7597e49db289256d536b6689a5ba173058f5f2faddfa3cf2268d20eeb36c63e3886f33802159835f1aecc7092e3b8c84daa213882c85160a715da25f8cbc4355da571c882776790ab84f78baf6bbbbd0d07ed8d0827f417e9dd64d3f9999df85dcdf0a3e591780f217c56f241b185950306b4f60ebed3a06985e720d73e7a7ed567305245e14d5eca1543e39b629d3b1683cdfbf3c0e6ceb42151f822852685634cef054d8072539448d15a49e8075849a81c7fa0a579424d9b09c9c8c69a61d9c202dc5a669a60641025d92001186f5f822d6aed75d44917c82ba057439a78bc1bf69f0d07527baa92beacbec5f596106b5fb042be10204f4f658b3c7d771b5a7afa9ab36be38374798d738e4eed7bacae86a05bbe25f6cabc2a088e063ffcf531d49243726eb66e2a8d59be853eeaa403f6bc00c17b92a4b847d8d555af3d373550bd8b24c2f93cf330dc1326ebcd816c5e58151bcd980feec71a6910aa58fb9d00a2fba8aee46239e1ca04e77f254fb29ef7b9fe1f643c9978c0e214679a7536474b93db748fcff573a5cb49491b949acf81cdd2808ac04e8fb5ae1db79d7171517445bfc35e04a405c2a90638bdcb5405bbae1ca6f10538466b4c19d1bc90fbb9e16709bf7a265ba1c4c4d44353d436ea7a0c451f57f041d97e71810113d899d0c8ff5376b993dd7a41a339e0a58426691eb260399f9ecedb08020e31037bc3882bbdad0a72cfce75f91f617163520c99bac1c9b1c2dedd7fe97c453030920b4f24a8626511a1ff5290eabccff6d42378357ca602d8503ba9aa254d9d3098b6772aedc4adfef802fc67b320372a1e910a73d8053f5d34838dbd1e23e27e5c4ae48ba804bfe1530663b5a769c13576e8827766af2b46949771bbedbca63f9d9a9923341d2cabc26813453267cada7c4fc987d343cc0612b0a848eafd2d6e782af62384ea35e316bd69d66d643f72f83d7556046518a9048e47407224366ae56543d852b33bea9044d89820891df99b9b1afa7d698cf88d3992fd2484464633d410c127c613f69be6992866f224fc46d61f65ebc1f36e010c792e5937a01960728939955cf652c2798e8d1fc53d91d979b0bed91d628a9557bedf8c4dab2a1047e83a56e5e6a07692f83701eb13fb414e921566de9d96e86f761a43a87fd98819e9e0ffc98e1f344868213217fd3c59ed28a29857eb9a4287d07ee3055a9e3fc15d32e10679c814827e715dccc83d13b7196862024a6c00f27d8b29a88c5f00cbb3558f63dc649bd15aa33aacfaf353b4b2331fb9ee2f42668442eea5c8cead108c30e45342ec30c9c9a1bc4c5d3572311b09353acb6dc7d42174333768854db10c6c45e13be9785bb403e354bc143147205c35147b6b023429bede48a845475b9adc7ad9fc1580cb0ee7aaf1845356c573ec309dfaf602e694628c27b7723f588d86f7c32a676bf59c789f6adbfdd36e6c824ff2a0040b6690c65b4909e10595505d05ff6ab299d1696b80e8128d2ed9b708087e972ffe4e406ad9e448e0e6b76adc6e1d6b17a5d7167570706d92c481e967eae9c2c6c0eafd53d70ebcfa91486c305bac01d0181b9a54bb1a2f345da1805603c82e2c23e3311a7a0d2594041ea31f8b612903facfeecd6cb4773962de52ce92749ea4700455dcd702287bc6483443b96a00ce03ae02baebaa6509a8cb7d1c4325e67252feb692d6361e0b3946e487a125398e9fad5eb23a7e49d7e04d9dd3996c13217ef56e014e047d8f1ca34a5b670b7917ec02bab49f7e165d74b98d0e95a0faec35bf5c305ba6013c71a00f87fa037ffe084239b5c13d36143fd90539bd0b55e543145f65813b97e6920d9145dc85f5e7d66951649843d30c042ed3b073ae37092cfdcf35fed15af8fc963c8c8e567b85375ef3f0203f4287394c26ba44945f78a6f2f4131aaf6f3c32b973b52e030acf8e61290a845fcd6da882cb27dbeda8b32becd83e6b770f3f967e7992f800007466e2d7107e618e9598c32e6ac5c69a31ffb27f24587c802aff33b73824c8c5c55bf0d1179e3adde5dfbc4764336e39942d3e1199452698197a93bbaf23051fe3ea7b0b0d1cf0a46c2b813f790e71ff9876a87d8cd9cc364973e87f5fa06ab5621c55c474645adf37f659b2197125d771f35029c8da291f0b4206a443af6284f0b2144eb0abe1b93aee2ffa0667e05d5811743b8575912a9be950eaa33c27b50d0d0a070f6f67c7cb4a65989b7c8ba0cea6c861accbf40cd2c2881d1dcac9bb539017dd72cf189e40476fdb38cd7b92a9e3f0f0a5fb9e8664a7ca067f176e7bff64a9aeeddbef90bda46b0e7ef9d00c7ef74e476b4a6a842769be5eee40e104d1b26fc318682ad367e719e0123f60c46fb01a255d96e0c7d83088d37ce533fbedf54d26e7de928f69abff827c146fc215f6583619b37f3e9b137d96608d0175d3df2a7765809396c9662e3d668b01043efd279a37e8de04f226e68f1301c1badeb4581ab778fca578039484ed412694f3c0a836470c23537235c4bd4130352d7411a6ffb15a8e371ea53fdaae59b402322eefe25d849747477e6f11cba675a03097c6160da508ab4686470494b0b016f904dc9e46258ba1fd0c36454d7bf891b78b32935a7c41d6a2bb2a5321ee2a657d640e36d4a83ff1219dd1b1c15c349dd66025421c15f0d99638e0edfa7f3d5fae6dd52880af629ba05a70018461471d14697d433e9daf243ad79c646be3a39362018795245c16b29e6c721e1cfae91be48c947f394c2cd0ec18a323fdb90243f3abddde882f49fabe63bb8877bcbbc24578f6c2f924a457b645ed777387993664caad1774d8f1ee47761bf1632e3e48e7b9733c68cf81b9b1909a72fd2a67d0e0b79cb64e72d72cb0c09ccdc3e246ab11d716ea488c8b0f71b49a9ecfa80ccd1b1e1dc7d4dc51287102d14edcd7bdcd0880787c3f8557235af15da2c7ddb786c20c692fbd5fad5c43c7d8590adb2aa645d5f6f48a8eea2ab89a6f792f7274138ea1a88fc42ddb3da634e1c72c00a4a794770d1d88a582386f71ddb7a20fe6105c0b85f3d06ac7df7e5db29d6b7cb22043b1ecaa7af65fb216c2bf6aabd5ae9503a5e369e3d6e77eb932c486d809293f7d55f4826dc1ec23f75ec8099c3027b362e1857ab5b5ccb878130f879663ccd32e4aec7e78e49a5dca99e5e82d75cb413ed6cfceadc8050403f9f0e55d8e7addcaa47fd5783a9d1bb7f65a9c4ed65f860783af7934a3f5ef1c2ae2558d6d8e781ad6b7f3f07d6c7dca47a38840c96ab757d18783182af3a8c70e8e19599ea966e52d666bd897c585aaa497adb539da0797b757028612d51e712abd9043e2a359d200b24aa554d9ce81cb4f539f67ea9591d542ba14e3951a84f061a394a55933a607a3ec6bda86cd34a88491d5f6906984c84bd8deaa0dea43b4503beaf4cb9e7a9d45622b7ef2af30727e2c831459cff61bd90319676ae3db94ee8f82999c1831a34ff3d4167f9e1562799cbb264f86fbdc4908d3b7a31880a31d8e3aff95d434ce29c114447deacb547dcc5b2e860add9f29ec350babb723","amount":40000000000000,"withdrawal_credentials":"0x008afb94a4a9bce4a005c5fcb692f018340c3f77ceb080bf3c641f37b0aa7958","deposit_data_root":"0x0d5ff38ded5f8ad80d04db2de6859697ae5373990655eb964a3287198404adb0","signature":"0x740905f7a1fa6a208fdf28a3b5f6e215e87ce8253d63386dbf8d86db7ca33c3405e59df1b685c30458ed39ec2455176e3d105d8ada1c71f8a58be8fffb792a4c88c72fb44296a4e8bf5717213de8551b356a88066ad28a26575ef238b7593872cdef9787aaf1876dd792143a4cae064f3b9fc29dbb8646c1c2d3ae5563d193b2a71e8b76f9bf601672656b6d2514c3e15943262e52ae37f656d5628ea8d1a19d94ac404a2635b8c385640129b1029adc399b127d27e24415dc274996fb995a0bfae286203fd6dac6cc2ae74d678e6463896828a6d04adabd7e6a4b263825fb7e6880f17bdae68540c69c8d16b19bfbfc8b39e49c2b78821cdd07d258bd142f939957bc3347b279bb25cc32d09d2c076fb29148f6537420bdbfb39a6893b15d268414be5e6fb561ed98253b3084041c4aa34f0b5f156884474168a97763121c62a019f863f3c86998229af715e4ddbd51cfc32f873ce17e6f4a6942e3d724283a8e5c6c44df50772770e21cfa3ec44d2fede38bed0bf73880d23138287061bc615c97d5d9326bd392d5247a4dc8d7fa382e681e04ea4601f801d44c8fdeac42f09fd249fdf5a7d3fb9016e7e409fc43bdb1b95e49a0272fd64b0b460a393255aff9273c45fcaf9bb0e97b229f39887f9f38f9a6fd3c688c85bce7e92549da87512b7cff4b605c17e18d9b1ca9d0e71ecc14f7b00029ffb154ece05fab4a245b43d36cb5d097ab50d7903885d4ed3775c4d6b798b3e9ef1b30ee67262430255a2c2af2dc73a4573197555ff128c5dfc6b97f5513b21e4affce8e3395563d43653245cb574a1c6729f7dccd49151346732c3626a000dc22646426a73f88a8afb87cd6d5d698137aae77e5a15bbc4cc99922e7b4328363094b866b6adf3be2ce68b99e446742797d75851b4681d91ee648664b0dca3c9824a489763ddfe151e016d780c13ad4db348c3c08a442141f68bcc5cc76a0881f1970c1e92071aadf2a6887e0ec1fa2f3fde5c8ec9b37d523e456f8f37034af7cc9befa368919377a9746c1e581f78ece0512cdf04bc806e20905bbf98978e56c28a83a14cbc3401f1e1e276410c18fad72288baf078258d2fffc4a4b99cbc0617a6721faae9347e9a3182693aa7d32dc1745b7618970654c3dad91ae26d01006fbd9cc1c8d1e5178591d44128d98141ba735f641cde6b72a350e7f8d537778a8afe429375a081721ccc59a79a2f802f26822834256611c16b43cd8293eb993315b61cbb06c58a0a0668e4e31b547cbd2dbb0264f2c75178a419c0b5f471aa7d83f4980f20c7c0a16ec9229dc31af14d9e3da99fb149402d82c84417fcf896b896b457fdcf7af324c040e57a0b5605cd6dd5d2511036c1622f465fd7e2504159c5111a551bdb48a50b52dc0adde6e06eeff50f8be94a3c9454c0fb341f71820ddd2c3373323c9eb8c18ebfec0a726e0b7a9c6a08beb0c7264bbe4aa4ee4fb2d9b0ee07c248d62d086cf0b73b24d3c0843cca9be613bfdc29a143d9778dcf2ed515229dea5475c80d8a8f5ec2095cc1efd140920ae50246b0def84f3e3f1d654482304c1e8d0381866ba8f5e1b9104c57433313e0199dbcddfd877d8b1ac494bdaf5a5ddfb20ee98e233254b573fb52c30adb2995bfeaa50ba5c7daf37488277094f7a6205496233e8673bfdf26e61f34f2ae38da686565376eecaee0ea084f4622df477fa5f0acb1eb1683af607279796e85bcc10512455d5c587f08db09ff49dd0cdd85c935c7a3f3092651486781af9bb4e8c1ddf763ed6bbee19b5ed1cd64da15a8f06daa348bda624946011fc4ba145b1a014c9e675ea4b9cb0cb684bffbe007575935972a4ceaaf17ef42928ed51931e93ba5eed01acabbd6307e0bbaad1d317d957db872f8d527263f68c37246811f7842e3d9d6c17fef81ebec041e2db1d50d3c15b11c7a08f71dffcf99dd839482c33f9d954458554abf3e63b562d9c9191e1aa7d58176dc5eb09d583e20fc217c804c24a6e0e17bdaaa4abc74ff1577affcdfe87fddca8d5b93ea50c1d2442e0e5282c66b871ac5b7ff0f4158acefb4c9376441e9abd73f3ce28a75220192b1a7de91b83b3ed748a77c19373da8750cca29b5c3a92dfaea550d28c607f0b5154b0bff0c299f36cfc6d776bbf0d83dad8f80d71461a0c5cea83e067f6a1339d508742ac5aeecc493d58e08caec4741223826d9048a9e566eec1f49b6ba9469a3c8bbd68809172e7b5b7a30f6c2db48b1d7a543359fb105299f35f7bde2a13e0b17311b11e467a0156697a685c42234b41d56268e3a577480275b3957e93fa6ea0c66a702bccbe01900f2489767ec227ea24d169ffd4da92066f1fded251cc45d5d81ba327cb2a13a7e42aa6f9335c467f85b20b6a8524ae30d91dde0b7bf20cd5a902af1263ab9b9f4d74df2d05f884496908396f8ab86eaa8d4aaf203b48eba946653c62e6698db7fe34086477730edb820ff1ff61978d8cc54ecd447b2e17579bf6fb847888538be32dc6a04fdfcb414b4941ce62667107b90d3e9c574c22dd0a74442484a42ab403b8542824eefec907157dba10e919b6dfc9202f7c3518797310ea5aebc85d0c859bc63234ef88f97ca0e02b35fc49c45f7f26bd469154f11c1dee44f4078759155d4c1c4986da12e96197887501ce953fe96b97323b325639be66b30e7f2c6be54d7f87fe565417716571bfe7d8b71af7768333cfe5ad763e4a226138fb40b975dda0096d0d7022aaa4865f7a2dc7dcb7d56bf88bd6db9237bc06b9918ab47c807ef1a9e3728a5988adb3bc4f74d5874aa515fd678e128f4750f80e8b51c62b3bdfb2039598d60474521027d614996a1256f332bff5aa6c890d262730920210e132d0dc74b1e466ad39e90afb3fc7a38a607bae6981a3c1384b038762883bb7767ade382f3de1786b003cd3160429d3943dd2dc74a67a1ecee0831bd76372edaa80e31e9a2281cdacd631e76c8c3c0eed92ec6d27ccc7342697747652978132cad86a01be34f98be4a62fe89ab93d0ef9c890dac2ef0f16461bbada97cc3972f6271b5cee552e8d188aafd7c77f99fe92a3c8a6d5a950529d8c965572b6e75558df924cf9478ca71e0a87842a5ca44fc1881807a93d564aa64f7e1cdef005b8a3b1abaf3b1e3bd9a99159197dad225b0f59b5a0f3e832af682df33aaf9aa9ed9ab29b633903ae222b04910fab7c2688233f2f49228cdacc91ca7055c143ac025f3dde053d0ab28f06f65a0ef39982bbc70b7467134379a2519980251fcd50c70ebed03628eaabf6182eb6ff57959978b646193e8461a42adea2176aeecbebfdc46d40e1ed445b1af8af2106514c82c840987294410deef7083fba18317da01242dee4cf9bdfff94f96842b416b6f761b057f962fd899a0b94d3279d50a5b02c6e2fca7b31fe384ee818e818d2c15b867fb5283e4331f109fbc5a9fae763e623a24a9ddbff7019713fc6e7b24b48401ba16f118af600d41bcace5267836b0efb2e8bd311d780146b60c1e8a0a03d8ab0d35ff287b4666ae6c29e1d6f72e76fe8bd1b4dfd58730ac20b472ca6e57caf394e6d36c6fd37e84f35f5d569a33724d950e906d5495d161375faafd12ec41d6d29fa9f5090c2dcf669b8503367469597b262b90b755c7cfae3c5fc1dc2c449230d4fc65b6a4eca54c30f678b92a84af3904b9d7a90f0ff9553ee2ee91803c5aa134326b98bab05abce9b912af0035c8be5e9bdbd761582f331a3c9c3b85fe36b25d0df6558467dd67300eb1fe29532f43e803f55b51fd0ef554831b76e8eaddaf3f252f17b6095088c9325831fded2d043950d6c8f84f8d40896a5c45b916d30b7eaf1284d8c60b185ac831f5c592a3675f0fae07cd818de005658169a38891e3bee7c580d04899d38f93f2aaf2912b87a171ca03f0e6b4734c1f73dc90a832cc6d9c0da75a1f10b75890909caaa3303874689ca2f1165bc76b37c5205d0ca6e26631f8da4ba4691c011e7cca5f0e44c60f27486239b3ba425f95dc42c8ef7e69d28af671eab2507bf0e864a1a39f30c026f6ee49e47da99938e187a3d13a9cef99b6f4a98db242001ce9aee55a1a84b8528408d45e66cfbfad5d480698303ab5d2b5f04898792ce5eccb93ae62095d398d77caeb395fe3e76c5c07ad94922525bb18d82ae63a0f009006b301a0837492c017ad35dde44d6d81e9d0c76bc9c02e47304fc6d58f9d4216bb0a582c59252bab16a4308f9fc1225192f1959b891eba5cc638534b89fd87d0315cffe7892d3788eb15910d74cccbdbde6df4fadfc23a9a2a3f93a6d59771ee7116c834f324e62d490dac26e4482b8046a39ac7391100c2114a7fdf6ff65ea9774aaad7053868d99846de1e73a03b27ca87566ce3e5337e8c73b5e87f489fc25f3bad4d5c0f835d756d094ad28c42504816ea9f342ee6bbf23cb2d14a9b02eba9f15bc5b6750b0a76cf282d99ddfbb558e90eb7b952ef707e0b8e6e705984a34d36d0be218127fa08caed7c9d65661572e044cae193db9c272c9144e49ce74967ce66356df1e406b1c54276ad63a57bed44c7d41f97dc7828af055d9e4b80472bdb26a87e838d04b63dbc0f4f288a02ba092cc7452a7c7e14341928d98b7c06ea8da6602a4cc729091e5f10fe1b8103786cf5533db2a26f4e4d41b37dbbe92da16f8b346a533fca099f3f72a080b2b9382f64abb3c7ea2c35719bf845ad6f029324cf7b5ba026101b986125d15c0716992f1b2a896e9e73b94ea4ae8b11c5bd23bb04095dd312bee5346916b181829d978494c6c3bcdbe1fed86c7cde99fc1e5da1d4f875d7f9e3fd3880568ecde3fa9cbf4508de3eccef644c8238294d573d5b1454d65169bcde3e724657d319fe6066060c563c94a52e2b6b77e5575b126bd707ac06b3ec0fb7290720103a16dff9c2d82340fc079afd1b01a3267118655406f1c65b8561d35dde4a55082919afa3208dc33a6dabce1c45deea3c0e1494c9501bd9d354b646137b4f1c9b9e2f495e039dab0f558638f1050bc89c323d096c49a87d1f95e0a19e190ee559d9fa2fc3426ba9929f12901610b7de4f98736df845ed072d33b7a74bf094bec644cb65ef38b3ddf0ec1a95191e48210e0a18539e6ab8c115f4a1884782fe2f74cabb95a318f4d9919f982937d946630e313d2ff5a7e4eeb27516412424db22296692058123d3b916034109f602ca338276adb314b2a242aa5bb3d3993a2931e5a7b6d7e8c7440a52df385331daaf96b9b1ecb77718a4450a01e6b22a6c2270639865f6caf0b8008f4d698db1edc34b4290917309f22d1d0f90f1d2d02eebebdb3466795cf92605ea419f9744eb6d754f2f1b6acb9c4516d99c5b739d63744c9aa2596efbcbb10cd0396c878e8f8a947ad17a01daec0e75a1496dc732b5a9781a704e8c02c6fccd61f3dc0177c09c830cfcdcb393f5f9cf8c62c7eb62bd40b8b758d987abdaf982d47378812a9ee00bec8eb5299a40afe4bfa372cc665efb152d933176467592b51553a5a6e28b7e4999aed2b21dcef51849be4e238c5f888c6dd373fab6c341a55b454394ccb734973feddb51f807816e020bb40844857dedbbde54a9c440fcac663ed28d9c1a42d8e8771bd75d9ae55eb39f435884dd15aa7d97dd85d208fef150e04d133fb652fd69782801b62116e9671f63e784b2317ce5bf346b21b3dec36507060656dfbdf8af962ac36472f0e0caa8b5c27e2b74f83fbf2ef5e57e2c90c4e83872d6e45d09b275a9b1f3ac4eb961f6c53a8b0d3d17c056eaa462133981517081f31ddd604ce51e10024b201d91bbb1cf21603ab61575d9542c289b2558ff2d94d16871b76923ab31d0d7c52b62fc05077ccf2dd05ee35e379345874fa81c1d1b6e649a593139e8b3174bba23f3c326968117f7cd7ebf3a765b377031ed12854c6382904d22c88d0f1954b73b38aa9b9b49b47fc6e72e3a4719a77ca0cebdbf448ab249a11774bf377321d77ee112229c43ad1f00f8955fb04ca15d430c5ec3a16eda005b854555ef8f4e25a3ccd5a30ae7a7e0416ce2536c79cbe4f4505b6ed163008a4b58edbc0a749abbf092ddc92b71f5966575342d9c0bebeef6b78b3449b779ba48ac86777ffd66e2663aa4f256d4033506674cd272d5f12a757109aa665232c0b7bce0f0be9f820342beb99fa6cfc0b80b450504ccba700988f26df18378fca85f5ae2812f9ec508b49001bd6ac02d4923e07544905c5200b6cc7ddf965641b1877d073e1e2106998791f9c7b36acdf9921255ebe8671ae5f72658d7ca2386541081de2ef02a2bb58c068cdaef1c05972ecc5eb7a9ecb6772c95f89c089606d944986507f8b375a70ab2e96fa64cba6f3b8aafce2f77be17e6f2f880e5c70f609172b5571868a8f9ddcec03474b9eb2153f4a5461687594cad01e2c899fa2b9d86a6f8295a1a7cce6ebfb080c21536179809ef5f90b2e353d4c5fadb9ce1a256089a5e5f80000000000000b101a212b353e45","message_root":"0xd678c79bb27109e778f37956fd9315f63a21e3cba2f4fc80b61807eca9995af5","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb20b3207690a2d27d375c9f6abe4c35d841fa9bdc5184324c63c8583da13993814bdb64d406c83a263998d4973b97db648a15d0a62eca9fdfd343778491679f9e4517d4690e72b4b45a0638cebb5c6d04e93cb4536a00c255ec599f89170ccdc5231c178a491e85cfe615a1a6a05a2c80eb805ad43810fa7955bd605c8e1b03b62fd7232947f0b555e542a5402c6615d9ef10a8040a61cdfd5bd96c69018087ee2fb16e9298dc17af9923daa8ba3865e248e654db2e0deba692f2c741fb5808c9d68a5eef6c0aab5e16a956862e57e2c8107b68e790bf446408a168185d28a8ac08b450390266c2122ef76059b2cd1cb20436ca9996a170d76067affc61f89aeee8062d950efb0041a0c30cf5acc6038f5ab22ce266aaaff7ab2bf9ac53a80e1187e1af3b41d9f486b0946469659cee77ab21eedd73c84ce7376bd78f209026963af2c6f605e5db18bc08dbf744d1b8a4f860d2f04600ccb8610ee63cd495c46e368bc606a030e1cf495485446632696efeb0cde497506373545c2887031de1825cda7b78564827ab7d1a82f95dcab6e93123dba6fe9ccea418065df19b85628bc8139b645317b8e4df2b2b1ad74750b4b601422f814fbcef8d0607ec5b332e5889e71394095135876fba4e77b64c73e603e7938f9bc5fbdb5dff842ddb7d3470bfe5f1035dbbbd7279d697221b9fa4e2a19087c7ea269d4f2fd2cec314e06dad92a62c6452da9f850c329c29691f6a608f15ee082ecfde2c248e68a86e96a39a502e0bb21eb5a5e2963dd7144aef85aebaf99c2aa1860a7155cad698239a7d359c21e3527e65c53694e248160706a2e1eda70a9318dcf7e40f744d19cfbac4e35b04c121375c134ebae96bac57dfbab0b071964162cf99123372551409cdff1b405606447c86fedd5657d9a7508aca13f7a974c8f28724cb74f1bb4f23f3c254a5f1683cbb459992cb5813ed5ba13149d5a7bcf07400970cad0ad490ee58326f1d570bb2c2485f33a052d0f65c8ecec489a8d3fe6d4eab5df0996d5a7411efa6fe6f5b2fe925591448957855e39b59a17ea886a441d0595ac555b6a6a3aa79433fb111a17125fed93853a3b5fb5d1440cad4f38236e0d7e8e1df596f2d7259752c73dc7a68cf80c21629a835820201362e9eeb0c145c64a4313af8fc9280e84739de70be3e56a973b31e781ebbb829f66d4f789d9c5cf673551bbe92359615238d3334edc69c441bfc42880ecc4d0a003cab667bf8afbdf44dfcf291d581eccf9dbeb61beec2c7c7cd0b13818a369df99679c79b546dd83d596071bdadd873c4dfba82d98ee20db16733d892539e3e5f254f155a9c6ec523954cda2c280b1b4148b80203ca4dd0011880c23fc3c434fc1a1e6cc3a83fd22cfeae7a121d5f9bb75a664de27defaff81c13e9b4a0f669d3e20db6af2d1adffcb1db9adc0b80851ae4e98f80787fe84f600e3982c6527b73b55240469359979605c19d96277cc6e5b748b4798f39c45590fe17a52fb81ea3068d07202f086bdf9a074215c76c30b7ea2c724f2576172fe0bcae322a4181adb3e17b922e7caa086d1f4943ecd4b5a286b4b4b50db576e815e90cbd3881e1c841fb9fe25d2d1836982e63e3215468f2d21a49e2cc751e08d3f1d4beb03714c29057326a49e0d1e3d483057dafc29e1eda57df6581f369f1bb0de9fdd369e8dde15c8c841ef1fe220a47cba3ef7d467e7526800ccc7c03e778074059c6909ac02764694441e1932c088d240192b336a365378d524facb27d4943a05f3624d04704bca4af7c9fff15a606023eb2f03ac0e60a2b6be35017190bdf559dd230618ac1023c74047591a8ffc99e42982a4d2260775d9983dadc0f0bc2dadcdce2b61f6718edffc4843e4461e7a0a40a1b0a47982d6a0f560d73a007a3ccd29b40f41dac10a945092d0bed2c6dfae26d4f5442929e0a06d2f6225c9c27ad2d25f4152ee2ae7d6d05e007febfc7bd9ffd13b90a7a18a2f19d070b4fa5e543cb525e2f29cafe00de9d77883cdc2bc8dc9ebb777230c587fe6ea6415be64822ed4ebd6a0ee5450c6a09d9f9c75ec1bead465bf5f2d707ed19d20f36bca9eefeb80902879c355bd289f40999727bcf6772e3b84a5e8f96cf18ad8e2bf512683c4f3520c40c20237644e25c8e3da667ee0e8745acc7ca0a6aff0c7eb426a339ae64136eac8d01f98951391ce1b09343b277b607c6637193e01a2c668ac8686c763f4392994c520f9e44b7b4808bcbb73423616e06b0dc8990d65147af78424ac7ec49ed685056191c6c5e2e47db33a6da387b1fbf37328e5e17ef98b7d5489afef2afb808543bf3a2e098a63f5bfec2218b8dac646b25401962ff328961d85b91f8bfeefaeaa72b54edc59421e713950cde3e720cbbac7f2a48ee21d2a973efc377befc9ba38dab063aca9981b4efda941d74384b2bc03a754dce47ce360244ee8db97a10db86f9a0647dae7d4bc8501834be4ea4f66b4407d5a984d324530b89c0baa5725af60ddf91e238d79150655f3aef5fbff7ed0617588855a9be59f720f831f34f89b66fbdaafc5f1b74b28ff0b9f3595bcd4c7ac8b1697abc799ce8bb40687bd437ae75380676cff214ea87d768f94c52769a4714f8ba90612fcdd86d2c0a96ffb335cf0a24e8d0867992d55347eabed9be7f381e13d77142fbe99cf62c3f78e9d0661d366b6c45d47e075b1ec3ad0de1e63ed19c83181da8fa61d1200461580db9eb95398697f65ac8c4f74350cb37148616efd1c540394b91146296354e305e7c3fa72e79a454516bd3a7bec5e32d0a32d4ace5e79776de9ef65ef78ba11cb6ae83fcc25a13f71fa01a53114a04eb5944a21442dcb47abf9cb35e06afd35fe5b37a9f8c0717803bf7d8bf3dd98030434a5d00125be624264cfcc956dc5f433a44b4e761e6b211aaea6bab1d7d44d85f24feb440cfb404f861cbf554cad27617cf38c06c1cce96c9eebcf93a3875f93447e1984659d68c817d93e9323ea60a96ec6b1fbb0761935b69b0a4a71ee7a8a9916d92d45a59ae6665de01662f0fd9f59759adc964ba25b7bd56268dbaef15c8c54e7c264a8f94378f088bbd32d40a5f20ee3e85f5846e313671a17e993fed1357a7b33de60addf89405c957faac6266b103538bf6f82b7fcbac59918c8e476a2a100925019f8a84ae9156179c0fb7b58165c09252e746f57ce9bf1da49745a8e33163c65283887a97d55c9357122af2aeee50ac73888ee6862f88b369407213f17b604fc36567d234ee013aae0d04147983bebe8e46765cc27a2ad692372e27dedabde084c10e8996056bdd98450a1ff2275ec92d21d4a7dd40084c79854c4d558d3548e008ac8709cd4a0ef192d0338b4992a7a604b80651776ed32367523a2249d209fabd64d4b5fbd5d66bcf2895bc7ee67510a220ebb50836cbd81c5e348b2429e6a78a35c19789f44a30c419b0099080ba4c0b6a6cb17f0a50041976830c708c6d106649d0f4be17172c548d9199c1e2c06a0b2e6e95e5121ad1789e0478245ffa0be8be0179198c8639a72ee9e4133756734d96f44661487384597c89decdb8732c632896255b9363f5c1f98781d69845b3d8da015cb13350930ea199a80f684d5aa8fd02e8fe27643d7f81f1b80fa58461556032b777197547c78b9b4","amount":40000000000000,"withdrawal_credentials":"0x00acaa5dde14e3a543ebb2b2a5f7010b8b0d36523cee333ac9e1741ec7448221","deposit_data_root":"0xfa87c083c5371247c98cf38815b15482d5b995fcf3656617a31e8048abedc0dc","signature":"0x8e006ef2cc54054e0dd25f4ce0067eb29660ee9d1d43b303d9815735d45db018d790411a612c19871d2652069facc62c7080ef791dadc1034da2ba0d9c0f37fb277fdfdda789300b234243760b4da83fb2a381e86c1c02f26c780e4f439181e68c2b6e3d340e28e63ac758f27f6890938ed6a8988491cd6fb356394354389912257374563af3115924cc3af7e4d07d1148f0f6cc618eaff8f47090ab5ab7caadc9a19b74e753874d0f4a9ae825a71d1a6ca9428acf87315a81e1f3de3b853a592df50f6961483ff4ff43af5ff8db765825b1c798bfe079344196798f20251fa0649d6cd1b541607c2a783db02d31fdea62262a0c466962c1393aa673e3dbf71720feb6f4b3f279f1b05e86d27c32e1f256dd02ae031d377e902dda1212c10d86cb4a89ed4cefcf98cf03fda39be85e7aa36eb487bfcd821e81260e5f22324e76dbdda43b5a6fafbbf86204cc62841757686810975c01e7118d839ac607faaedfc95262b6537542db5f42488abd9fd628b0bc53687bb8e77a1fc03a16d5ed0534144bddf2307c1d0b7c836d42605e449b4124695a6016c4fb32d68ddd0d95a5c546e5ebe4d02b9675cc1545c46ecd52d87defc958daa8c5088c2d4e113ed317bd42a84dda17d302a6627a54d05918f693b9d7b3edc440b2f0d28d5381cbf39eeb4aaabcf9d56a20faccc3162a07175f717d083100f876f6e29489b535ab2d3c68567cd0a829aec30367e26ca9702347b14ffe6b10b2c69076d70baa8294f49eaba1705f9773bb673fa871dee4d445d0115c615dd1d1ed89dcf7f97876c36d098d94aaaab397ae94f71a72387f9cbc39cb4b22faaaa6d152397df1e7effa964c5bb68046cdd7c63614cdf676796c114fea8e462fe20a8a3575d97587b219826f2cb9ff07ead4e23dad68b840eba2742b07d57363b2296d9b5a795fde91ef9a3e800f3e4aa62f70f30ca63d0fa42b8443d13d8a185046eb0685c4a10e06f186fff8b99811ebc47d3d65d5a117b282d5b88d4789aa3df3ee8fdde923bdb8bf620e9cf5d8ce8b097a2b73b2d5c0b7c6915c305f0863ad0214b5e8f6fb3cf56843064ba65c969b4db32b4f27c08e7298f702d3c06c936eb21269b1806e58647632bfdc043de7d7f3a3301c42f0d41b8dd3b14f8f72b1a9f35073b639fe9235b86b6247ede2edab599a78347a5b20b7c2f991761a63bb4835041469b0585902470a4cffdb8244586a5b4282c8f1ac8715d152888056af5c9826f73972aa8a237239756947bb0a7739544127c1576ac0625171f0603ba2483bab5a914543aefc98602259afb08b3934e7390d72dc16e9aa268871275a88fe7c011f7a0a090588e5c56a1bf0988cf46f6f64f519f86bc9d483168c143f21497d6cf02fd9a32c7db926cc0559b593a40cf60ce37eab23e6550aedb605f69852ac52926468276a04fb5895c022062bdde573779ef7477125e9d359a6e4c76178db3a913ddfee898972aa9d21381ead1f8258af63b4acf08f007e84abba4a6bec2575046f39474de2a1393d02cf4d15bc8175cde6fa67fe2d47b176473fd9c399be8f1687885a669ad0b42b6b5fd10636e1dd94184e0bb46d6154392ad2dba01fd369448948ac1493df5c7a38cd83475617f81241de6d23c3540fb35652736da4f0c99dbfd886f26a8c080fbb70702e2b656d6cc7f457a8912ff9d09b2fea3113952f9a00ebbd65aa783c8f05ba9b81700f86d3404f3e927a49e470e21a6241e97e603a8516afb3a95f503c53c6721a380fde35d3ff9bbfdc0a8e1cfecbfd578dd76a65c3713c4cbc6ab7055752d35db680d0ad69a006b7f4eb4e1b91de9da91ccaec24e38b159d774017ddc2a48e517de0d31dc191a6b611e050c27aa3953081b202b0fdcdce4a1a0099d45c46944adfb5f8f91768d64a8cbba83b6bdf843ae084ce4325f9518e299f502b50e4236ab3aea633431b6429be9dee6702b0a571ad09ca7a463036ab0f1310c1031d96459de7a42e8435ebc39cfe42babecef60df401d6529b7f097966ff9dfa80cb7fe4da9b3d1c4a2be75c33619678b4905561d2a05d9796308e578ba89fa3baf260c9099008628da828d7bafabda0e6fbab8251f013bf6b67eea5b32bef86b8e570a9f262cf1fc2f9af69f340483e80e4a1e151e7d70fc77d5c309932f9934bea3d367add2dfdc847c301047b97c1f32a8c37e0a1dee17ad7af6644da06a9e3e9198ca1a21bcae00b2e75e1c3282ce4062d91f875cd9ea526a51ac1cabb463d6e24969d81b8692cd4f8f453b223aab1029751b0f4873f9c61c609fb758b8d396e141cac601c3a4c04e7a22853285d772bf19a650e5759d2d553ca48ff8f728763f526f4a3f85218d5e33ece1fc7bf5e0c0d93f416cab815ee04442d07c81796af73281e83cf8104ba1567cb9a0bbd054ff0f4cc2c6553cfcb1ec09fa8182dbc9fce78a05e36ec6630fd9f8c01b97654949512dde66b66bd141447062f455dcf0d331d21d47e5d2a139c562ce81d32000a41e26a4498a5ffadd955caa58b7772b7971b8fe8d5897ceade0814809d32fdc3f7a4b64d0f31cfce56a669c72dd95a8409878bd90e72e56930aa275f9f5a67143618e161dddd3ab6b88685a7d6ba545896c02f6e6833dd4a9d18604c27ae4c45206af971cc68b22c766b690ee8ce1e1863056a93e6e95be8a3a276ac2b3dbebc198df5e9693f9b1f452b3a2f9915cb825348959018284994a43c18f2d4feb24f686dc174481a2dff1692322b4cf11512c5aa040bf1afcd281ba8e6431f661ea6cbaa2f74244ab69a5b7d410d5f43dbe2528b59356bb9145af6c292ba07d44a7c7bc98eea02b608dc2a75de7fdd08dfc916b7e55491ecd349c63dd8fe5e273edd3ebbd4bc73d93424e615e16e5dcbc87cd0eecaa57c529487c243fa343acdff6d859e974f09e9b5330e26015b81d85a4ef8a2b301c55f3236ad83581713e54c242ec2c2cabcd738ce193f102c6a389a74e7aee950a374bea03f050de447ce17478cf3f35160c739df7f749111728c7817ca3ca741a380a77311da9d43109ab222983fca315c36031b87ae9bc7b8d438dd78f41aaafe50078a61527fd130e9f6313c75a00f1cf614c9b35d690c902657019b43e906edd455800116150c3f00a8f2ef0d188df52b6122fe392d3fd00dde3d65f4e126874d448e80ee80c3fc850d8f28e6037f38ecc4fa15e2b22a6406cc96d0eed2266b2fe1456303fc5a9a47714047ee6619562cf9aa1a166cecba71ced09de3a082d398c47a1c425656fe8a2b6d0cf4b2e051258b4678fbe1cf1054ff3b44a141dc32bf0fa229262aa6b71ec8b757c89241e8dc943cfd33617fcf829b3fda0cb8571ce42c82efc3a90ab4d581fe9b58b4d2b65f36cd14aac4d5b245cdd33ad720ecef6ee1d898189ecff59630033f8b2c355393df2f8c3bd19cee9b7813add46f5b928de185c15083f108a01b3a278b1ab9e3dbb41b593a42c75232f528e396a9cc8276e93532522a4f875b535a3e94f65357dfd11b71089c3cfda649c759a17b28e99175cecb89ae7da5294dc52a2a0bbc0c635d3c57f62839b670b3ee39b61fd4f59571ba30f15fafcd2c96ee19978b7e5fb9d07245547a96fd95cca38c344d3931346c405a30d2a1365c544c41c1110bc2778ce25bbc981acfaaca73253f61eb6c806e3987c81cf74dbd81b83e9aafd9548af42bbb58a1c9d21aa2fd16db1b3c53cf1171ce8c4783abb397350f4badafc2ac4ced30656164ebadef5166b2b7113f75bd0709af2c623544c42ecb353e8f072e51ce9d5e630d5b2077cf33570822d95c8254028bbe1f05e9d6e99e0375b2b885370c225f41bc57e2034651abf2308dbbdfc0c4ec8c70a28c8238dfdf4794d0caf16cdb21f94608d0eedbe9894ca6a2a43d2a2dcb118266ecb54bb7b72ad2003eac816eba8e821c8ca4b4685711f4a84c73c07edb2968df622ffbc431fd50992b27f7574f84df6f9691c84ffca968ef754694ddb4cf7f61f4181cc0db4b3d46fc11219db01d5f073c6f0ad76b55ca56de8059c21ffe0dbc5fa55f0358e01d03464705dce5850a0ca6e2f2e646e3e1011e8ba62a217815af91b72543d5731f96ae849762f6c33157d01bf6a16be018d303124ef202d8ef9c1fea30045c37e9f84ae1349af385fcd6a22df9ef31afbd4ffe09b91672220ff91a6a09a31f3182d984eb97b95b20cfd5656ae4a825768d14c2e0c1399b68d834c2969e3023d0d7a552501bdb3037c12ae332343c8ab06f3de33b9e29d6483b9f1e9bde8667d6910a28c4c640c6f46254e40bd78cee65ffa3d68d9da2f99dd5350bf50ed4108f4e961b9c086d932b459d993ff74250693f66394c232c17c1af5278637e8217dcaca11f2cdd1760001fd0d9dd88421e235519bacf5e707185fd84caff9431fa681394a31f49e9c01a5f4e6901b173e37e3658b7a97cf035dae9afe150b7ac9c8c08d0d74f751c4f8d1e1882f73d87ac03eefe0b7ee8d5c53c6c5c0ba0748c970f3c807c28489fe38ba82aaf24c479bf9bffcab5a052d02feeb302ba78452b41e53e0cf3103a7517c63ad8180e18197ada5c820dce8f83b173f1ca1346e8f8d825a5c19bcf889d5e9e90c2b86929d04234adcdf8c2417b2662be6aa45eb7a3a37e263296260d85b82a047ce851f98e684a53f10b2b0f24cd914499ea82bc7e80c6f1cf2fce50fe975679bc3d74c3cb677f1f58e94c87132ccbbf4a2d5bf8ea646a5033ac7b634a4c39371d0a2114578bc99a798cb59f5898244195012d9aba03b52a07541d947a7db3511cd29e2e4616fca3f4376a75b7fac96dd33b92c0137f52985ef07b69ebf3cffd007dfdfe0545f0aeaa960b0c8f94e70e33a6233aca075a0b5e5ecd4d2d8a75c1ff94e96799495d9a5898d50ca165c34f0ee3e165c4bec353ba719478cc37e926416399f9cfadd74c5ae54dfbcff91342e36287fb6056077c2ff9a49c94296d5f417c5f5e2868f5d03f10a88675977f60a1dfef1b79cae791dac34988bcbfcb455e75b680c73b499ca78356bba3a2dd285139bde6e5d54b835c317e8b4fbeab5cfc33ddf66156224eb67540d8dd158254f633c64f09152266c1ebe5daef32f2a76bae0456d91734886b187686267557003a023c70aee1239ba2d2e42c0c4fa34a161ddeb2bc5c2e0ed4ec6f90769356ae4ee7bb85d587b98fcb54609ea8d50ea21aa53d2def8cd37d5fe64d63528595da8dd735ee2edde38eef5da52a62a150146b3eace2ed610cd9163152eaeb489d8348efa32c4d22a7c9648ee0f2752b87b326d8fa6f72c8f69536ad6bf89bd485bf901c8a81dfba841302c08cf9caa1373445d49a4d498f7313e102c1c4a69070ca36a52b2fd492d0c6fadc94ffd1a8042ba1dba3f2d7945492228ada7ab8111c74b2d38b41a6c7b030fabb6a12ac2dc97e01376e9e7e1d3aba9da6e1a4481d11704647b711aa79ae26839bbf5d454dfea2478b0bea643c44d72c8db2e06ede6ac096b705133427e456f863f00c9ce0ab7a11a4122b5236a76d5924ea8d69b7be6c9b688147c387d9903348b8426da78b9745f74dd1f4e525411afe586011cde6abc39aabfae879a5c41ed62f89ff9c7f25cc8a50d6aa5449a9dfaa81bcba247720e03da5512217a628c08938cac5d87ba1729e383e911e88145c61e9f462583814dc5a2a04905c37f975143ee119c7d729cc154c7f8e27cdcbcf0cee1257811d7592e2eba336f7d2986dd88d4312670ccb1811d2570eb7f09b9acf5c2fbfb222f6f5f2418a4cc83e6fe3f73785bd0ca5af869e408dd84e04f9a3b52540b1ec2bc2a3d5560ffcc6cb92661f2e3d0e763f3fb6d720436a50710f5864071b4d2e237f2957bb7db1abefc4c6cbe11e73fcec2f9f06876e0315ad56c86d20beba1a04401d94fc0f8c6075c76a9fedef1bbebca4dd3329199d8572d040c025cb46db2948ffb4615c3268554a569626caec8e82c2971ca0008f706c7493791247b09b873a5d44d89dcd3e836df56b3602f63a70140fd322bbfb87fec37d59dc73ffe31bf93cf7291fac8e034a11c8ab612ede5c57368dcb5a8c054a3365ab9a0b2ea8cd49664551408518955bc7a446a178579e32f0507ba2eacf7bea5d4ddc79d62b0558ed4f9942e999ecab7b0a6630e9aa9de2f29cd6acab5ae3fe204e87083142f7d536d2e9eb17fe4f2602dc5c81f34c76920a4c97c2bfeac313478484e0374296a8ad86e9704e97ea77d63f6e33738a918fc8bb1b4769c1afad79af1cad99e7830944d93a8a85d1cf7d07e7907d9b592924fe42690b8cac32fff88d6659b6c1dbb076c4f5e4660193e1897488096e90b5b753a7f9c8b75faabafdc0adf4af65e3b6249ed14c62d787094d6c06b736130d1cdfdfe3162343454a505e74abe92226497085929a9eb5b80d186085cfdfec0c527779a6b3f4f85a708dcddedfecef09264452d5f54c54d1d8dbe9030681cfd5dee6f20000000000000000000000000a141b232b31373f","message_root":"0xad3391f57b7ee35ed4439f55bfa1ff2d39f83eb03858da960451236bd89c78e3","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe5c391a183f4b907439f07b9399974805b811da218969d1a8c63ee98aa0011a4eaf5853e96a3fd7226ef0ced2bf5460b31c0fe9081968fa9eba232a8d04cf60298b1aecebd0a5c95537e23fca7da2636664f555c1cdfe997700682956d3d0fd5f6c686dadc32411c7a28dfaddd0fbd0490f8be9f0b13464357f66e49293c5d5e187bc8c003f4913bdbb6d264b29dbd4c8aa110dad23be55affa800483ec722c73f1e8ef6de0a4ba8e28e28a7e49eaf3c468c8e46399eda5804b629abb61cd8da93f18b9a46980d24ff3f19739a7f44c50bc452a8a78665abf351f41cbe5117ac8d50663663d99b9796f1b987d451df556b02c8b5ebae1bf195dd496e64aa7c842ed2fe3ef3f70a21b21c6f3485cc6fa70b7316182c8568966c16e0dbe62b44c5d6c73177cff698afb06a99e5fef3f60df42e453fd752322b5bab5d732f7ceee767f3ab20f5cbdc8f5c1cb49bab68aa2968ef33d3e4ddd0367b1804fe2f3bfcca2708becf1f30aae689a68ff2ba758c8aad00c2304e8d3dc267f94b9388ad4dee807b4c3a0901f82ae5af1de15f49670b9fc9e3bce901040031f3d66b997b9e69b2fd384681aa76790a8ab931c1d15e1edf831eaf80f3648e7a484cddc3a83c7db79d2a0560032c9e5528955793139e115031b0d50b6f445d945a43cfc9d3c83f8fa75d5201656a9e488e263e4b644fbae550b6aed99e2072764b5cf206d995ea0a79fa4d4a8af4c7694d57fd120f13f1aa7e20011521639d1bef156e872267a345ccb12a63a085d8f0008be00d6c9be84da7ada3ec0899e30691e673f752b976650f9a6a8becbc5da4ca5b5c3d2f5591233aca107428a91bebbb2bfc706014a6dc7c890634f2be3f6ab93f81ab922939bdd427eb69fab14b8efee11a35d5df2d13197622375cae2a4e13e097c3db1f7594b6de6d482d149e762ff51603baa08b856b657e365a6ab5eb1296efc5f7d3c027f3b3d8d60e957be9cc2e72274cc01011720635fd6931f5a94980f0da0c27561b7d362ddb79f85b2c70e34c69a4bb88eeda00a3ce338a266742c37b8d3308254b84918b5fa17418f696eae57635170a0f3539b50c1c8b408e777d68ad3463f8500d84e284cf3d2e862bae0c96f451fdaaa10169d0259586087e001438f643695360f0ba969fdd5ce9d7251129f3237cfde3a96cf27ea74e6c1e931be28481d63a8dce5df625249304041d866aff945b059e64f25d9ba086c77518884bd59daa3bc394379837208d8e62f4bb5bfb8810830c9fbc10c57b50b37c7311097b6a3e565af45a64ce57e9633b4c64728af2d6f4abbad9032677df4ccc7ff834e28850bccb9eff42c85b3c690c816d97c3be0fed024c84fcb3b448a5691a91abcc9274df99e39355cc3951bdef86e708568d29c2d66ceb5f7b139ffc465eaeac7705109d867f9ac871ff80404fe8a1eccbc0110c7406f33ae40aeedbdb06ab51ca7598aadfb18a1f03da0e5b6a95e9fcba2bfa12d10867cb14c141042580d3a7857666a7300804b699960379cdce20690c5cc5746b451238281651fa1a0a2fbbcde21ea6678f426f3ed14048427a933fd6a53b3bff6e96f81ffc7d188a158cf25047d1477115de6d1d103eea1cbfb7d3f44ba5fb9365ad74c1eea2d0041f3ab635a8a0a93b7086862dd46e825ae7a2fe796c69d77712659d603b289481611b0aed8cafacbf372185287a0503ec65ecf06949602fc066728f299411fe7e89d6e0e437ae6bbb7e82a202507b9476627f34e6bdd0cb526aba4bf6e03b5f09067eae13942ef6fccd6a62c54376eb88483a38bef570cf5e17e2b49bf5e8f06dc2a9b5eda3daf4ec0a1e10ea57c11377f6639ea9ab9279a9ad32fa4b1eaa3ceb16c678f65cf00be2fbc8c0c5a14ad6bf201b402cd27a27d893c8dce7a05f6c221b4ef869c2ea4ea6f0834245aecf4aa431f4239b4e33440257325af10a21ebbd28da445692b04d655532ae2786e57c9d97dad212f13e93f2653adb4c6db7cc6172b337e64497e0d6d419af57d527afa089132b599449a1747feda2c163cc0276362fab9ac8827faa8b1499f0c81892fae5508f370f5e328abbf8f4da9e58e89203585d230b1f2cda04721c0526bd4a076be4c7d7322b9b6187d24607aa06c68db85023808e5afae70e0784b96cb5cf46bc6930adafbdbec6b030df7205bfe4f1fdfb646c24fcd0bb7bc40d9bc2808376c2e4c1c4488c473fa052c3a31b5db24c9fbb6f7d33b168b69279a288440b2e4588c25a73dd4d5b3896b54e5b0376756f4c3844df1291b086ff51e1abe3e27aae93647425fa132c292ef099a72d3e4fec0247f12235c30f125f24c8dac7e518d0b1457e4512b62b97b22a4734520d3c3e906eeb7ff07094f3bc54735671da3ae9c288586896460db617d47a00eb528689811081ed60caf5ebd815c1f4d40b9cc8a12c43af77776ef37b5a66ed26302a6c14d75e6d5dcf3672feb33c2a4d0014b0175492b0461241e442ae14002d83cf61903e9b6545e08ac70209e2e7a52efaae4098c852fca0fae1424d656c368ec304cf3e5d9ec227dcc977066f5feb66628e3804b02c6168108fe5da91f27129677212f590845652db44a71166f535e604b4afeb0eb100729391f57a0db0cb4a1e2bf0ad5fda646367d12539a66581901fbed6b1fd2f0f477a028c04fd26887e5d808d2d030a39839651fb66be96a0927c87d4b8a232c22d288007b1e85dee4fa7791e50bbc4d75d8fc12f548e9dc36e749222dfb478df0079729c11574d934d7333739d99823ddeeb003eb1f68721f6fa162e3ae0176e7946d7078f8e443f2023adf4e55468f4c9143d6c58da9fc3fbb0562bf55d704f5a608b33e61732c8f413f99db73a9b22a856ba350187a91af9ab1e8d03e0a405accbae1851c908dabbfa7d5ffe3e0ea6383ca8e7d7643e89ba8d77f3abd03ca900fe1040fab8c3103d806316345b223c59848cd9d9c815ee7889f835026bbfe0e3d3f31bd6363f68847087db75edbb63c7871ae29f61c40be0c6311638f4c79217c7c4f7217fff6b448e33099b00bcf26cbb714a146f0ea63cc09125b2fe7a67bfc87268b25d99acad432eff45d9381bbdc55f2552209caa4d75fe2a890aba0305fc3768cf6e1309a88f2a11176c241afc36326612c893cb68de804fe6c9c05183160a950af989c673ce88cdae3292c8807c86bc33ca8ba1939675a4e865c0a67d5478d3f4c89d7c5bbb437180c1d06a3e9f3f6647934c07605c9668d7cf26b5f3722985386f840afba94a92ae31cf148c8e7321527267ece6f3199108b33f631200c60e0d6c12ebb89083c637cdea539b2663f0a558a44bd401d21359cbc8e3c0972b15485c162ba73a9ea67dd99836b906bc529f5937faf18a32dea5674b8ee0c6a2db838e6bade377a45255f68036c1923811056d8069482858375148ede413ad08200d256bed7be74ab051fb3609e0a2f86d3d773c263aa6d67e411f39633ef83907dcac3e3ca82e51f785773b83c77e42b0f5f87bfabd9603469c97ca3f0b85c2b1c2adb65707adc0e42a47127204fa87b10d48649db35864b9a7d61e0c89d021f0fe6ede4003301188bf7e4923fd09375bb5aa52c6eac9cc3221a9604b04f8b6145a6203dfa75c3a013881e6ce8275e60694a9432829e38721f693e3d2fe","amount":40000000000000,"withdrawal_credentials":"0x00d142a2298719fa1f122bf7d1ec229f7cd7d19738bd23be538e982e800f55b8","deposit_data_root":"0xb7baaec3a9e4075626723ee7c74275b2f246b3811c9888abeea3c85c00339b98","signature":"0x6630fc194cf2a07ef45dea510d94452e245005cee6cd4e6bdd3e4cd21f9bf91a07a42c53935bf3bb7518a85c92f986c323211716c6c16fcf6e0b457e496d10473b5f766fd900e98dfdf0f04d6f15750e93307cb4e35d3192561241c597c10cf51180a181e44f8adf7228083666e23aa556115c531deab5dcbc5276500822f23143eaec47bf8d7db4362b429c8cb49fcb819d4f4c97fba99341f7fdb167cda95018d056356f6a0ad7c4f609b2501d3cd96e0875426b806527ad2d865099c07bfffbef72ca7e7eafa825d16443eea89aeb96b6da2ee8eaeceec7540a40a5d87673fe5a5c4e86718731ea63759a1d808e4f5493db76a82a359fad55b78978ce6247cd40d36739687baf984cd9cdf2b388a198f5257348faf3583c2fb951ee605b0c3ecc215035e3223a19c79e43159520072f54f656fc4c315417fbdf25b5e81b8ae8e25f185997472f17ce6079e082949de1a6546b9ecf41556ab4321867ebb7cc18f2407f0ba89900c098250011346a5c576246cff267e960bda6ab212b0b7723cff6aedf7ca26380189c8ba9d0d4dbd696c7d215d4d352fb7867f698b5dda7aeaa4cae4f0ca637bc56f26ad31654025aa80ff4765cc04c1e36a7c4e08dedd8bbd0f2821e052d0b74985217db5e4bb84b5581d4016b9ce4c65957bc0a9bcfe509f38ca5469f271abc228977eccbb87cf0277ecb263ad4d58b7a89025852757e59bc396d8685e97ac3d710615f5255a37e5375139a65a94e6abb3b0bf8cab77930627fd9747b8900604e4e380126397671ebc8bf5efd06510049438075beee10dec3feea59fd548d7ad8fc5648733b6ce0a2c785ec794924a030b94a8cb2e11ea37dbb6912296870a4dba59afe248543e974da87c1ab4d679524b1c04136d2f4f8fd3481e5093257a268501c92f41424542bea286f59a90144f57c76d2778405f0a832db9842239308ace8ecfc484bd0560f8c4503daa85d27ce714d51f34e285e2020c4c1fac57aefb2d0cc0082c130a464666d84377ee213fb3d529a6625d051e76637d7fb012282f3738ca338a532b52b885d1d5fd7ed587d23b030aade05fe49b4c13feb1178db279e402b95cda39c3c38ab3fb1070422c92a57b43f23903bd5c600f47cf8203db8598d00cfebe7296b2a3eb918f3c0e018916ffb4b030ad057787b95ceed3aa795e1e5aa88e96bb8ea130fc55efd872c4e27f05e830ba70fe6c14fb90d1805fd8cd2540495bf5a3a6e5b4fec67c4d1c1f550a37c5120e3efff7c2b5c9121bcbd2ab1883fb1022e662ca8f3e8a296d5d5c21985de056b1ec45c6831b94397fbecc7bde1a57adb232a2c466de26e79a5fbe802b7d9d39720aca742abe0ec7c8ccba9385271f6726a7dec68a73e16e8d963a06126105f502afc4e21d83ef08d076826b7b8b0fb8c647b72966c2e64153f1caa2b4b6f2305ed3353c036311163059137b3e01dfdbf326a65c358ccdc256b73c38a26a95b55515a8fbb10e5d5148e51adf48b29761e7ee02631cc6ddf3f7fc6edc430d9f73a2741b8df530755b773608858eeb1fe318853dc525bcf906b0dab8990030bd1bd25dafecb714a9a185ccc4289d1417ff3e88885ffff70565914303cc45f55cff9ca5c2ec860c2964fc59b45f018bb64c6438b641c02b900644750f608b59db9af7292a0ba74180e0a28fe7cce1b658618643df702215da480f85257ab7c8c3d8143627af26cf22788a78c6e93d5e39396f6fa84943b9010df4775d8e2a95ada3712ff884fb7826e465bca63950d09df39e51eb22988ec12cdb3d0057d7e2bbbc0474b2a6f2aa38742c5eaed823dc4d355b86a67c2e6324751db3d9585cdea1d24cef42f0582375903eacac3fea9456be9dfc61798b77139741b41d5824c3e82f3ccf5108fbc2b276d39d6d4c63ccc3344754d4ffb4be9f084fdd1b1ddfb78deae1cadf13dfd2915dafeea52f1c43120d57cdedb2d5fe8208f62359ac08885eff73ac343f72a4b6e7157f3d46c56f8436fd3b66aaa8c9ddc47c75fe87d345f00f2303f0e3606dc957ca105eb263b64bea0269095e0c69b9ebcf40af024d3cd3b4ea69acb93fca1f61203840f052d140cde457425db43edca5f4c424f4cdd1c8bbe09b7dca0a24e4a799dd962e0116f624fa675242e387edc01556f544bec28d6be40a3a0c1a27140fcc385c8a5895b01b7fcd7fe1704aca5aec9b769fba02401aa7be4f5c26c5675d4d0261abbacc299a8d861d752bbc886eff2c0ccca2e62aa77a895aebcff7f4cb8ba2039fe9e7110a66f53a2472025e2291b550b6a0f418add2a36f2f015765b2e1a23c11c32fe873c21b1780d65d4f4d1fa7229818e90501d2134052d356a60833f025ac70533499f6c479d89c35fb030231e3c10cb86509a7a85294852055c33a001137fd411f18cd02404027e2770e7f24f3b6cf25736ae9b03b4a5c4f31b13fa516d6f7cd90ebebfca1acc3cd62828762b1d43cf1f13a1bd38e4caae3b548f351fe03052f80b0e6ecae8ab891ab383739e0742c72cd5b1c4a639df65417e724310b4bd34aede72e8bb327fa71f24230cc2182beb9407fc60a506c75e2416d389035322730f2f72f48b2a31bd9c1f24422aea2d16282dc9eff8d5961f188c5257913382f64cd807d3ce1a32bba574b65c364c658d4a2ce1cd1e0d7de738c2e956370b7293a1369e8cb001edcb0672db387e6d810044a0172336ab3fbca88ee10a7c38c16005bcae3dc452017cb64060db4141bd81f390802f4f0f2b669a4950a89abb99aeee65c55cc72aefb240b187ce7496b2476fa328b3ec9db383f2f3e2c8ee7316fed010a4aee1419b418c4a734b2581ecf954a8db086e0886dc7b3c35f8ed11000c6cfba5cb19222c7bd0efc215682fb449afb2ac3bd7ee48bbb9c7a85835f63d872b32f41579f8b569bc2047e67cd9f9b7ff1fd9bc6c0124e558ac2f113c922d97f2765ddb6291c5d7afa3aa8634518a31c705f499670c578be1592b8d0778c0456fb2c9bb47a0ba7d3d97b23d66b1052b1609168df13d4291ac95e2f0f32afdbebf130ef19f5408928152f6b5156a921e01c9a281bc48062369ffc9ade379f5770afc94bd8a1b80e4419a5dd80564d658588ee73acd9fccd515d1b5ae54e5f1967a5bdb49cb4d1205e293926d8571f6b9056b0edf5f617036369ce42ff436fff84f3c10966286ea106dedf827980a69804ddea437c96c1c5375a9a32ce43fbd8479e6f80637bdf6df04696c4fe62fef5dbf1a1e597efb89bc791a20b752b7c268252119c8fb1c36469dcb1049ea6c2bb1c56c1e6232158a9edfb689ed0823ff5bd4872d805db99ac64512d271d3e89c7e9a5a71fc8864e49f154275d9018ca1d619bcf9a64c99391a98e80370e0df07f62d5fb05dc88c0471c2af59cc5de3b038460bfb68b31fe8cc87c98974286d6e0ade24eb0070da8b1fcb2e43661bd217c3bd6a1ca59e123a15dfc273046a15f48c40450cf53612079e9819575d62045499a1fd85ecd38427bbf5644b1cb7bf5601fcd4ef05a9fa7b8f9662ce9c3c4a6c61e93dbb1d05d8e2a295c248e6d70fcbbe47f24ac06a0be08afd9bc58fcf9657477171bff16507be6d13ce008f0e4587db445f65a0d18e44d9882f76267b8d101a3a85fd0c0df103f96c34195e80326e0186e8e3be5e397fb167f17c26679c3fde98b4e90e9e20a6a0657d5ad5f87d0c08f2633cc32e886761dccdf3de619e0c3ed078d2ebaec90f5a6136d99a60d85147a22fc8c41443298b11e2b7c8fcb2d97b21eaf74a8fb80a2ee21e30ecc5fc2014743df8ad09de783ea41e43c7cd18abe1d2ec089b2788b34b005d93d2ab2129993294b33f84a05220fcfc61a478da58d892ff4f8adfcb89c905d2825114d0031dee0bf259ceb983596146f73fde3acc49529ba2a264ceea26b98cc95084e0e5608ddbb32a8c115925a620d066f77c26d35603331c3dffe59c192e17d2d6a65e9f37f1e39e07d4a5113f5211e3daee45af359dc6f99ae2d54974d8d482af333cb403d64e94b3325c1307312ffb509855a5d34ca16724d4bbdf71bd143368f4eee10e71d91df0338c02bbbcec2d0e65b6f82bee3796b9448d0654dfc05c7bf550f205249e822addae7451cacf7e88a0bd814503810112df17ea66e8bd2b6a888fbe8553e2908d055720d836b4fe2e896c76358d29f60cce7f4838b2ea7ef55f8f453b58c8c2bd279bcc25db45350e57707b51207afe4953cc77ee357668077f93a0bf010091799c6be4c16c329cfda2febd860af63d30a6d6d59af2b11a4c1ab33d4f1d5b90a5a96c7758a81f8fff06a2539af93c7385f257127c0697525252c1fe26e8300f56a82da14b9bf64e4a28049205ef8cc1e3d0652da47dc72f3de80385727c0a46de2ded69c3ee85bcdabfe9ebaa644eec80762b3a7df77ed1c749576bd44533e8e4389318f950f7741965cf6015d0648e37b70ad2deaa8566fffa2ecf4e9f8f997595553ed4c685108082c3998a935fe2b4daf8d86bb6e8a3b81d195641d1f2d5ae7bcca6b337c8b753ce1ba5fb49e324e516f134743c73e52b77a2154d905b65ca511f38533d266f5ddd79c855efa579f187484744d007a417d6481f8e8c1de0f9a90c2d4350bf41398d8fea041944a37dd02c90dcda2cdf6e19cfd72e8f48145b25418552307107ab50b3ba1183438cbba63210be2041229df86548a67dd6df8faf58e42659f49564e151bd51b4b10809b0923f5a9a95fc85eb2a9ac11c0fd94a45a6b938764077c3f444be52564aadff965650357620b363930c7c6e922747a6fadc5cf3f0a11f934ba220353e7cbe00eac856b55b5c92a958fee7d96eeb867653e0474ca3b7af5e782508f40151cccaf27101baf479cdc7a1d2f5274adb7e88adc7ab8b686a23ce29b3d650154ed6e2b3494af637fb6c5178ec4cdc62260c968ffe033eb8830111cbb728f4ff8ea34ae2a9c2dafd194650848ad2c4744825610c5a83be3fe4a911575b2d2ef82b42977124888185c197086353182231a958a43e37085b548c3526edd9c2aaf05014fac15aa657e7439b05c229678ed929c3b57b038d85755b63e6544165865daa8e87147281beb9ed1b2e9346fc02c34cdb647ab3b0b24ee49c6f04e1cdfc7c9ac737df984448d831158331165054d5dab9fb417c6eeff8e36197c1546dd31736a86d716f1a163528f83e8c8585d33984323e41777ddfed6bb914c33457af9d863b37758a14a16717fbc2e9f29908f752098a07e92269bcfb2bf3b86e3377840668446991e2decd073be97fe0827fce8a17f722c98b47971be986604b503a3c6f5c299ac83de2181306a9751ffb0515ed5a49534d006dfe5527f992321bd86cf86813049c68312e49feee4facd14c28fd3cf57c98a57ca3b8161c0636278b1307dbf61947bd167acec7bf365afac81d9dea5920b7f353eb0c612640d5dd3cbfa48539d5e36475ff6803282c73edd0d8b7c3ce4231659ccb01ac148c54de5ee3be11f1538f585f0dfab9ae82bebcfa4641c3852956906a9635ec5146c7444ecf87d680a47834b742479576e928f803745621b6fa71a2431a4ecc4e65e8e3a070eb3788d03bc0f4394e33693a27b39f1caf72329f57f264bdf18bb9af61793b3b298a4a0a121a715c9e402584fe5ae044469f81e380a9522ce3f07a0d9598e308ccdcec8b3e46866531cc487c4f24f2bc5b07016d4a34ce0ee2c54a0fd2c538a2fb96bebe841bb6de0c0e0ede3139c271660060d023e0a0a58e7669face74e436bdac6bebadd443af0a6c12e127489590576318642cc735338996b67ac8877bd361f8c0d543b63f6386300e5e365a519c7d45e8432ee68c1107e9d41c518c484a22a8284b65117d65239211c14195ce4d835a732548470471694406408415cf4f3a60743c60a62d2177b103552768507ba46b4f9031c39f775c23502c0b8815b78ea88412403d2d8919dd8d68797fb1fa7e3cb5a3fa010575edbb0414a40342a5dc082702be9852b21c4babf525a0291f66160a109f93dc82b82757fb42f87744b8a906951c50969b27adc3bcbe0a29e3fdd7e67b2b8f3d721c7111dce29431e137a085bdb0f15e61d704ff04eabe8595a688915719b2e83b18d4c5b553017066bfe24eb295e28b40bb6b1cf2202a05007653c820c6d150e26dfd7b78d477e6e7e98dbd3fc6c774caac99f14a2f14b802f2f45ad70db58698251905cdadc1dd6b896532df05a0699e499c14fd0304839f54c4be6669b3a6613ba6adddbb196869453f6b932505e67756e81b98e082f34011aae9896cb9ef6c2a7640453400e3318246c5866fa62bfabd7f43a9f3c762b6ba4c12f7f1c58553c9024f9d4de7b25a9321c723d2d30eda4e54d063b209d595703ca319243a4045e5ff06406991999bff0b1330415760b02553698f9194b7bffc00114654838af8fa073e516283d30440e6071a8587b3b4fd000000000000000000000000000000000000000000070e151e262c2f36","message_root":"0xb98173d7f4cf3d53ea0ceffe3b12e21e25232755b4640c33d7dd89b9cb11d6eb","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x996ca9a3d493a35ce82fabc9877eec0b83485030e0c229da101a2c43786afc31da35cccbe5209edfca396a04d43acdeccdd2e060f0c7354cdf4c386b07b7f8087854b979652b56c0470c1010fbc51547abb2edf7b5365af209647d75a466b5ff48e35492f0fad7d7824a60ce2f6a4b6ec3d8faeaa303c26b7db63a9473d536cb993554627928e1adeb7a019e9ea5504bfb1cf6506d236cb1a2e7617d29287487fe017b10175c1d65df9605df539338e03e33d1270eb9f9869daac9403be7f00ffb625b10f2ec4881f6541b41f75b51a20b83d4cb6c14cd27ceb244ab62a3b3737e2252232eef59f26ef74b2abd87f23d3d0057e6106afe004ee1efbf922af81bee0869527fefea1c3d6de1a628a4ebe3b9b99eeee456aa65629df790665011813cba50bbb752e18c82dea6e78d92fc1463414a3c424225178434aa308bb38f171496baf11fa0a2a87fff3021765ed5439077f9ecd04f906ca4d38eb32efe78f53ec766658523607496fed4bfe499266dd2ab6c61b7825f90a550453c9e85da4ee9611a2ae7211221f3f0bfed1a7f8ec1b327e5dd5ca9aea556915fee91664cbe43262ee9bd4a1d2bebdd16779cd77abc1e582fab1d5ae0edbfaaae6effec8dd3a568f38c40171963925404831a574f4c6925d46cd034b454f05a535d1c866977aaf2333dc7dbe48f0e30616c07f3ab3374138b555bcf5616558cc836d715e83bdcd2a27832fc0c5e60b52abcdb19131859ee2ff8ab178eed627d0b3c89ea7f32fb996d42fc387b8abf8201d9c5928e23ce73560da0ce48e6a0909936b81d13981da3b15491ee9bd5c282dbd96ca4b9b91e38255699a6d1de07aa2460e95c5139ad187079756cec46d2d6153b303e95f79e99d713a3fc15090e8951014d96ec2e6f83787e414825b979e5ec54086b5a964ad3de17377fa696a408a842d01998a4e940caff79c40a8efc6d6427bbf395698b99cc87ceb82625b1cb4d1ca7e4f69df9694f84f8f370940e722f2e6cf93f81efb08199bbf079131ae37a3a0c3856e6cf3fd322598173f446e5dc813f29fe1204b7c903a3bf30e66e0dc8305d5a5626bb9b4882b8444b42a4a703da4479e22fd28da1c0a1be6d68f6fed388bad35e57dafbf80dd9958bbd04f5c07fc5b1521b447e203b043a996fee26321429d7b72b5cea8d56c9e95ede58b661b50ae1261fefb2ff573bd2f2f8fabc61ff887d971195624e5b5e4dbdcca2ba8c3032592556ef2b0ea41c3272a864d1736a7acab659201dcf297c53edc1211f4ffcf013715c491f52d21cb84904439397ea2aa07ae214cc0fd2b24317cd7011b07123bbda46649065d76e839425100f7faeab690c04bd6ae9d12e71adb9baf0983da027843f0afa110734d6e2e8aab4939dc06924f8e5e8f8c8fbd1ac48d45ab5f7a8731c101034557b094bd58396835455fa5dcc08b895c867669a649b5d01dd9bb324e96166e13ce5327ae8041868672cfc6dde2ebc0f62a232c8b75dd37ac6ee42c3a24bd82978fc0457070c46598df5b330585bc4dd6d5f1f5df5e7f1106ab91e759d4b8c99648a6484e39b9134caa3bafcfe47647b26d6c281d384b64729643e6c062de3a62e9a70b6df3dac1b716ac078eb947bd3ffe2e08e767e5cbbe694e8bd1dd006c5fe60fabd44cc3d1267bbb04b3f03feb2ec7d971cb3d7882add1ca7842ef23799c682ec028952ea5522da744c40658e0c7a94d66938fc02e4d656b4af491e1c5380a35be132237318b902a6944294864fc8b976aeaa0e7570165211fcde2d5a0cc36bd8f625ef08e13faeb96fccf567a36aee382a00a290a6c384af3f18e52f10c2c278d7aeb1184b411a8da6699950df58eaf90a1480bf577c7dd827a08d567cdeca384a21a0f16b51bb8b06cc299957f10aa14f6719e55bc5c7c701f3cefa737869ef8ada3512ba12232c92fb2165f1057ed8fd54f07349455093eeeba4209dc587fa8a0fc08843c964b276c0d74d0468d097a7802baa22fa49d59c1f7958caf0a293acd69b84d4761ece87df0d4264e332ab22e67891bafc696bae8e1f82f487840fe971492730cdb7761000494d380272e68b0c3928d3a3073bcc953e1b4aa2cf443b32d0405b09d1c69aedfc371da8223148e641fc524f80fda03b766a711c157be62b9e9d8c135eda6d8ce078a893cf811207650f325c687f7eccc2b28f8b3c8ebfdb37fa40259abb0fe9eb16e3ac3638018c1bd8e8d057931fe1e527bfdd16e2774201022a53cc6324c31481a0b137d5c0d636c8a0e615642dc8883ed7e28b81ce1a46057c1af8379b6d0fd25bc79928cb52210aecd29e835b5dee04b743427fbd2d50e76af44f9d98f11b535dfcb4e9870af235166676e9273c32ad4786f55ba69db6c52f2e98c199b05f5db025e1d10b9d4c1fd072a927f99e33528b086b2e628a1bc546d8500732057188fb3cc42fa43a82151f5d6cbcae797418b7dca02b5485e7a16f130c10484c396da0295e75a2b49821a0c27b899217d8f69387ede898f99d75d513bf4ec0af420733db2484c1242ad346e5c7e7f039c8c18eccd76823c090aa4901f005c0ca6854f2f9b099baa69374745e3e0be4f40e70268ee105f8879368a4923e53169713ed1e2ef84ecb48d6a4f31721cd1debc3a4c8be487cbaec19456ea0d68008e81a4ac36cb0e677dd330e37120ea9c77917daf6134fe5f78f8cb236a67f0dbcd119b703f2ea6e8bebda9d372e251486be43b4f7b878abd83c346cfbcabd7451c2d8fcdd2253265169f8d42ec3f61c2626b6b7c5a60db79191dfbf64c3cfdf5c5f4a35958a47d8673fc1155aa4d62a2b8ee1fb17e2829c2f4bc2bae650b071f89b53be23befd6a1b77cbd575c70a20a60b6ac10b5380e1c6bf1993598884f357a3c8bd4b2ffad2c5ae553ca1009b1b2ad1a7391a4b06f4a732f6f58989a2f0794f4dbca9aa1c33a1012c8cfefd58cb7d6150c7d797f507cf58bf25a7650d6ee704ed9b774b6542356779cddd9ac2816dc084770ec803fd0fe7758675df79a421f4c1067c8a925223c9645adab106f7b1ce017d75948d0812b833afa14b24452305a4a64f1783adde7b90b364f934b60d77b6ca0c59c503d30ebe223d1571f623e51a73f121f85b47274bdf49fe11ee8008bc6e82b0e0cc726481011548c0921a1879fea1abaebc51ff57ebd55205efa698fb026268e2951ceffeedc489e92a669880e7f3dde819d0f47e751a6afdd71f63fdc89d4e1a157d049c185ba02f9b00ec33cb66983424b7410a0da2f7c20f8f0774593b21e58fbc415172f4270461949cdd18b83b378160927d4ec8ba6c8b14de0d0832b7b9a556a09dd5ef770a25f0c908555d7d201e473728fa27ea49aad3cb4e6928905efec1301bebb4e6a64927b7fc84a56e63b0d56b5c9fcb82418e9e382be6502690c85ee9cbd8d3739f3b4da82592b841c349379d72e6f9ce20bdd63adf1caf7946240ddaf4191f553a9de2518aba102020de436d9bf19f08af69e2d44e05c456147bfef230db202c9af5cb93ea5dcf7d9d971dd830a242c28ea4dc4528e09c739df14a00911fec2235c61d4d74676bb52410724d7ee4f96b0672e4ccb502e3423d0c3f5c336d6b0404903df9f5eea5751b45372a2b5efcee7cdc03ffa323b0e738b2a862b1d3cd238241bdc337","amount":40000000000000,"withdrawal_credentials":"0x00779c234da2c8d103253b3ef22011168aa2f5c9fe32d83ce263cfc826f3072b","deposit_data_root":"0x17a28497e25e483c3ca14118e07fb1300323d780db2078450ac3a024ba01dbb6","signature":"0x65b8ca82a493eb3f40412eae385fe064703d1b4224b645ba9cdaa49c74004111d68b1d69369b24c2ab9451e7b4ebbbc48f4f8705f9cfee5bb7162b6d3c982eb70f038b72a4178c730ec4493fbc4d8dbc4725ea4ec9eb6eb21c498e90c0e07b6cbbb9b19757952d6441a30aa9b5d1317aa6b6807ff07dcd815e24f89c348119a6a0cdaefffca72cec6d25230df8b000d0623cb21ee5644391a90f5ee60773ece612f3099ab00781119b1920958b0ab67a251e9d9c0912619fa252ae3292156f0bf1c28bf7e75eab25005371f04a1629c69a65260e69688998757bbcff7ae67c9d046081cd3993f95774c9b720f47bcf0abebdd64472e3c1553c637d39dcf345d6944948a7cdc95aaba2f1a39931984c3bcc84021e38c91fa561c42df7cb77ef022324528f55c7a2dc979dbec6ffec44b539cf19c0fa833ba60ad4bbef9dfd18ddcb883b4568d18929e1088a030c3eface3e9bf4720b8207892aa4506552085526fb5d7159b66e189dde2c4d6663df80fab8dceaf22b958c28d36d9a3bef46db98b0c88574a5823560ba4c3a75f255354c30f5c67ad9ba45f3b6e1fb5cd8f463eeb973ec52096a748df3167a9598ece8bf8fd7025cf82258b6d309496508a4530f80a148752d4686bf5c90509f18b2da6406fe3ec1bf0636ed68dbe399713c8f87b277acb262983273ab2a7fab8897fa973cb39e95aab5de3e3496068ab149188e422ee283e98b036620c0f7319832388c03c4ba6b7091216835bea08c3e4dd091cc203e4e55395885dcb681c00c6853f2bdb81117a194aaa18a3ec57dbe9f85a67966bce1cfb87ddbf9cb4a2ea530bf5e17f6ddd4688952f105d10c3b1656dabb2b2b80bb626d1d72dc922c68f29c34d4ebedaeeb1aefdf864ac2e84efca9b515577353907a6b11947af2f3753b07c4592a46c86fd6a4e5b2160a5debbcdc79891fb4a516b65e3034a89f12e832dd424f809564f4edb26137ea1ad35e920c19012a7f90b7a7df5339fa3eee8914c55748d5884d222c31f3b3f5c77ab88f315226716793ab677d500dd9f4f801b1163229ce5c1085c8ede41002dcf07bd16366578b81952d848f13894df22a78278ba40b9ac9504185a04473ceff16da1ae3979b90f39008fe8dcc970cd515f79f040485d4c7d5a29fe29a0efbdc74fb7b7bc1b41e4860514981a1c8d6e0964ad60a573cf43f2b02e6136399bfcdfef606f7eb633557f5208a6849e5244b9338f45c761f1594d9f27b85c0d9d2dd654c99bd50def2e8650de0f591fb5c1433c6df0890b6cb84356a98ef1af1b7bbf62eccd23821ee51d42023ecfc7a6cbd7ad79d948915027616a9af92d9ad655c581e9a926d54f63b65c2a356634d305150e760fe75b38f6d6af45a63b19da3d0e2ac15b7b514becf2c7e5c20147b31899cd2ae182201e092a3b71dc33589d0f60ca92c7576ed56d0b0e7b2bc37851990deadeb0a44dd847ee5dd390feeb295faa65db20a4c1196c9f4ba24e56370d120e7dae82154e4eb8567bcde4bbd2ab85b231e8f6e4e3fc435eae1f0d6aba68617d9a7f66aaa769da4ee537da959a60545d6bd597953c8a140f747c1fbd4b7f205230d8b0290d126f5067ee77c26636a670fcbfcbea39657ef69b09e340a5646069b668de5273e4321d5b4aab9b84f677769b94ec6b96f4a299a11869cdd329ba7b8a0f1e504d988d9e939577f09277985dda9e657a2431440bf80c4a48e96fc3c834d591dbe5fa22cdb52cd8dd7e1c0ea77bd08cfcfddd8b9a6264910709dc6099f0ea3352600a7f4abaf613e8d6b1926ea2f9998c861781b70a972037e03d75f528b02e226a918542ce48e12022bd4f6bddce1206f4e6b3201907335cfc8445c6e0110665a36bca65165265c8d57ef762e753c39a050c300a43470efb8b70a3efd3170f22838ef48a1ed4e442016cc7a1459a3704cf553c25b491af0821da0945f6e3e8151eccb02dbf7de18846dc8e50f9012e9913eda97b1085c8261db0ab41430246dea98644cbacb92ce382f1690be44816fadf372d907111eb43e13d3727ea8cc46e22ae2a9c80a41f959aecfdfb21053bec891e0578b3e9221cd0bc883a613fdeb7d40281ab7cf49f8935ed16ee02505da62db4a0a568b5c608973ee88fd2e4bb2ee4c58bf5e544819a00e3f16ad0ca1f981744a7853269b87c4f5f723828915292416336ed4fe6c08f9a19f4bfd636964342bd0ca0919e0e22a5d8794b2186cbc6f4530a2571d537b150fa1d44c8e5ab0f9e92dc601d0391afacae79f5d559cefff6805dc40d2ecf4c8259bf997cbb58226f3331da951ea848b73e7348d59a8a7d0c2a87a2043ff1c7ae51239f4beb8a8519afbd02ffce9a69c0ab7b7a2f22eb44766880d2145e0024495e8e9e74a36c9b3a44247207e3c1650b86c9891d01cb6d0ca82271489d03bcc03b2e0aee95ab95455cc6b6c53e416fd35013d6c9ea2f93dc94fc45414088f47d4306bae5643892b1819338a7b2f660b82ede36ec6ef9e42db6d176e33ff529b5b96887623a9829c1d93321f2d42ca499763dbb811eaa945975989dcd2e8dc27f93042eb6336292b45a87b28dd36362d3cc32d28318e8843d8a7b13799f48e978fd566ecbb3ab93d130d31884454b3a90082cabe298f421067e3c0bad7a954af27b13154a792a53a4e81ed449cfc380011c4e68083dc78e4212ca19539c7d6d92e3ac70bdff3cfa5c2158389406bcd3ae59d46e3790ea2a0adb6c55261f5850d9cefd0fc3e4a1710a79df9fcc7da889a806269b5f3bfa5464bd319a8ec2f99e9ce2768ff8c550e2abe1e384afd9c1a9e7ea08e738cd3fa313fcd09aee44a33cc92c5d63b4c1597934a61cb1320d49ba6e6bfad806bd6dbfc9e916198874435c11b00c9aac84bffd5b24f19f81d8332f5882f0423c3cb4899fc76a1085e75824b716beb1d817de4bd9293a7384449d21264eb14e451cbd89a7e922e3fb1895c4b8d0fe6d5573dccdee76ed8aa83fa454723a2ba2730461c8827d4e6a8b4e1fe31607d3583e702bd927158bf3d98085f860b0a7098f6efb579b0ccd70b2b40841567efeb3a9496290d93e9b2f808ecdc11cd1bde8729a8f9e46b14aed8bc4584ba3157c0c4219f721e168bfd2b9c52dbf6e3098527f8c27adca99e30e8c1ee8d7b1be6ff5ddbd4755e7db679694ea24ddd7ae618f132413aa6c121210d1cbbf0ce96d3ef7098ff662b0c517874ce7a63d49dc536d756d4569916742ec9088920a57f32acf0acf847182cbe781a1c06cbf3faea5c29c9d98bc20ac5e24d770737c6d4612a86b78b23710fa64694747d389b219223705f42eaee970b2f0e1bfc4c730ec9b636fe85ca5dcb1108e703dd6142d53629705427478359d3b3783b5ee343b59e8fe99e399afc43a1cfe6eacb82723e7a106eae6a2b2d63b1288af698e8dc4b84d5b6af4bed3b9b50240c86372954cbf7c2c3fd6d47f0f7c6f8197cbbee4c3e5f8b45b01708debcacba36a96afeb2c954f2da43d74e3b44667366b82c132a80bbe2c531602ed7df9b6050a1a3ee9d302aadb9cd192804de408d44c97863d135ab664ce33c0ffafac2f159393fe5b6355e16ddb399f9015070b6806099e5378d7eb2baaf1b711734da1a5c66216f90ef2cd5a36f7b210af5eed31e8c8e5f43753404480637e845eefc40bb5a5aa016d3a7ac10988aa9bd6c3999dc8abb0179af6a75224f8643548ab8c7805dd0a46dacdb39abc6d053661726c44803f6c4030bb445d308e3add570296fe91ab881ea7d2a91061ea535a1de756f77cffe74d321d6fceb95e379348379e6075cae7bf426e772f26c4f3adc2405d80c483155a23ce7e26b86238cc2f927aa099ad19027a65f3ee75cc587237ee59649e8719c500efeaf31fc0be19c55f51151d176cc3406c600ab34782d813270b31824146fc85d4159393ba040c4928f58982b86a8cbbe83af64c304d8b3d826770c6855116ef257c391a56c0a8e8e00f2b2abaa15601b16d0956301f5acf8ca3e272f578c0d0e514a26e965f36026fb4253990dfd71eb097b0eb98f5c08f0a3bca5287b8f7b126ddd5bbee8c76007c6f9e477f15d10292e36ba049a8f26029d68cdbf9e2ddf885c6771724b8d14cdeda856dedd18deb5aec9fd06c92ba4a249c70041843811cb7f54717f22a4e9c68d3a7f22fc4b1a2f25c3b96b610616593121777cffec244d3b722141fde872e2aac4e6d1982f2885c70950ea9363858cc4ea59cc5f5c1032c4a79bd553ca16edfedf3379234e1f9737835649e47ac2811359e3f53eaf355418e48232c3de875c75c72c6129057a2550854a4e7838976c153f9bd72cd2439c8d26e9c6bc2722ab3c4306e87d091e339d096d70a0380a8d2cc20858bae1d2af2caf26c354d54ffb77efda514087a6dbd95ef21647ad786228040c908f5dad7ae717f1d5206b44274399981127e670ebe55db1a3c8addf6c5ff0fc794935dc196ff00cb417ee2b2156aa9f38284efc78fe8f4e55980d4256db264e3fe317133f32c09799d50f7567b4755ec9ba9f2ef6550c0bcf387a3e7451267ef16116244d75c8745401491e5d36375a4b60e1293cfcc534718bac1cc6e4cc4742d7db5b4b8d02f2a6bbef041cae5925bdacd6b657bfa01279cbfaadd5d1b2f6e966732a75b329f1e3178b22052acc0ffc8d80440d5dceebbf04a49e18aa4f915576a6cda91e466521dd8dd88e0ca0908585d5201a1acbfa413fe1d9365dc0c8d23409b8e273f0e4737d56bb5976921e289f3382459becc9487aa19ac5722d7bb82ba23ad7418a8edc7ad0396194833af116e18a26cdc9cff0db969c6abbe30435ae74828964b498cf46fea8337b8e77dc94bf0e1e793a919a705003002b84fef902053aaa0abd49c604225a34b67c1895bd2b0c743e734c6a9e2727fe7969342025b083c2a41dcd997ce11053c42a9fdee24fe116021a593ec90bdcc3af4f83ffee94722a985c4b16c9f680c9c70bfcc5a96c63047f4842c207e9727876e0492fd7044560d9c4873788c97f91bea82575b29d68d6f442e2607a556025520a6363b401db38a3c8645c00d262be55d8529391392bf0c4b11148a2fa51116d671894a925476ed9f6555c2103fa2e11060073c34086500f5962ad1ef8ee6cf8c6fb2db9b434d2a39d87ff0eeab2490c56d7795813a9ffc0e2d60e210254216ed36c409d59e5740c341e97a89de699ca5cb44171d902d11bcbac7276f8715fd7b9915e77a5868d2868e09ad5a9079468eaa113b406fa46420a198a5c1a3076f94033bdbb0979139d20764d21f7f85d3f4b7ef3959ffe3e742b7b6ee82c9da37adebd006c435403c326234ae786e6a7ea4e9df9ce40f32aa40b1d79d53323b3eec6e343927bf2d991d0120343a7c44894f2982706d1241dbe91cf7c0d10f3c23ae58f32e543df0c9b94dbccff40362cb001110d698668f80bebf8f226476773ce67f7ffe127037e2c8ee24ce967be66075fc91cfcaba8d6f0acd00bc56820521ac5152e77ba385748e79ecc55b33fd352c1ef5c79a0f0d619d547c8458c997353bfc75f6f3dcabfd43bc559b62c6f2301be27bd51e927f94d40d4e26c22e62f30f8b6e4cc8fc5a05997ea4f31f6dbfb5295fc8b8818283c53916939021f4a66acfa1cec0bdf2961b699f18d5cdbae0f292b0cdfc9212d0d9fbd60727b155118da608570fd19f775e93e5c6b05bb542c6c258dfc31218b8e90ab9d167810164ca3ae156f46cd3df452a9f9c0e7fb0a7fbe31ee91ff22d7e6da6cb0713319f7bbd47a4686f870a7c94791b0995460ca7aa4ce4f5ce314dcc20140f84bda3f5fbdefd605a857f76663b80ed71deaa8cb73336d726b0a142f25c58e807af0848c1d487eb07e8aecb2554dd64215a26ea2b1d94f631174daaf4a6863ea75d65c8e683556df3ab4485ed270fdf265edaa244052b5866025fbd470f1f358d28b83195fc4e4154eba78c3156ddd071ce27d7e843dd095c861b02a8056be86e6441259d96a0dfa2539e4e1eaa2d5e7ec181441bdec7a3ece509006bb9f8c16a39063ded6e36bf5d1c7aa0a98bc396a60bc62b4334aef0ab76f3bed72b7640560bba97f66008b5ba3e492946d89fb6f762d911dbbdc330f8628fdaa0e058493d10abeeaa8584cfa63ea1c860763c2f674ea166df4d80ab84c580794c2c85008075f306f586c637836c079ee169ec71447fee3edf009689b9c6a07a835236788ef139c10c0ed8ac891d46236073e12abb28479ca8c9dd64b6b139bdde5a2d580869757e38cd08b322f88040952368132aff3871bc2fe5d400664911139360a5f081b80a1d1520ff508aac0484dd716ffb672530127219c4ae5f284b721b16ec4d352118be3648689792bc2189b8a8c196784e88e960629556f707f8e9099a4d4e270717c818593accc080f1533487a7f83b5d247589ee9052f41a0b8ba5e86b7bced1c25375758818890acc0e1f0145696b6c2f00000000000000000000000000c141e22282d393f","message_root":"0xdf51a6bc18456172e103472b092c748a1c94417fca8df3a1e263303cf9bb0767","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf5cd290c94a25c299ae39c7523d7cc83a001b9f2bc51fef05d6ef3a77a2d298e3f765f66408fab72097f126472ebe8360419dc6b7e35ce75d63aa2913a93b6fe9c61ccb74a28ead711c99d4b84acd47425e5a2d2f17b3628caa0647b20f4dc0da09edc038d158aed3cdb5521f8168ef280cdc089b4c617714f3ef08c2004d12887c7f53a87fdf1c5700a8f0b5fa7a1a61d3e0b665f618b12508985efb4bd5230ddf5c79f0c1bd7989c259342c07d4a8b0091643d3fc9e4b3d4c31c43580e462f25f9477186b9c40517aa775cf449fd3539449da26de4332699014d2e83f31feebb183dc66041668bb595d9ce39374b7071fc8baa32bdeebbd9d4a8debf7e4c71e0e0542da4b2ecdd0e94190f9ebe8a022b87b96eafed70998a449cdf6083933d2633d415b00bdf54be8eb03a36e23e43d67ac2cb4e5f8f93f106ef7867453b1f374640f128cc806587134e6bd094b8994c2e7c0c65b021dde5b6fb7968700d5e18ad053a04c27b4172e5ff6e6251aa5d533997ff8f8a3cc79d214bd831813b418b5630969a176857c6c1a40169a2836976ab273e8e41acb27fc32db6ab96d512f2a533c205a87ae823e64f62f0ce82f9a071eefd225ebeacfa48f66d9717c77b26fe1b718a9b466177ca7d41e7639ecc6c82141dad75047d1caa6175f97cd69a24aa022ef9130722302cfa4bcebccfcebc404269f7c53e5f9babe25155ee157aa36b1cd0bcc327b05fa8f8d366ae0993fd13228dc5dc9b5cb1faf782168acbba6ae88785de5e8ee04ded5e02c60d4ad805463871677bc9f74090a0fedd1fb4ec000687bd625b5b7204d6ba71b8b509d24e81c8217dc83e66bc21edc207e78ffde53ac0f0f3c2521f3407c8a1098aa939d8390a7149e032e3afe1bcdaa8a7806e2916436f676da52e18f7e09e4bd5f1084db96c65df48793a8feb636daa263416295340ed3a85f6429ae710763bef63e8f4db6ff626979979dfd859aad099871cc7672840a61441fa05ad0e23cb1b8926d3d97a00249eae53a2f7b308f84560b27834314c03af2774957d1161b007bf7b79d73c306d0dcb2338489d61e86123a8ba1af5ccb3e6b496758f77847e0d0d29f0dbf6d93535cb98ddc38fd362a0b7db7e307bcc9e373347f9742e4afc4daface2f987cb5035a98063d882a5b715191040a1e0697d7a34a2a7625b3f85c4b50cfce141a223723dd1acc6890277b07262cbeb6e7c01954058a274331b67dbdfc0ed9fc3517302e42694921c212dc08f93f14b49af5d91b2e3b4fa8a4a7914413eac472097d0f71687222c44482a53f56c33a0378687a2963e9ec0030a1ce8b3fb4c7369810f66bc037d664d3cea738def0e09dd983a61d64c90029bf00300951b02ee5bdbf83a0d7f91430f3d358c7fab0807f01153fa293cd052efe39e80a2f16145b9208589a0ce0da22f9774c753b7a944b367338b55b8a4cf068eeeb64e338eed8d717abce86d515aa91260834540de42d929074a2c37616ad414ed29d93bbb67c626d51e9077e70f62a0f47b754265b8a8a08a2ec1fbaaff509701abb84e141cfdc0c3415aa933ab7d0d08ccf39d764d8de69cacec85f304305ebba0de0fcc887c7a7ae4090654622b46838b3988715572414aca8ad8ea1b57fcef2ecf7c3608bb851304c8cfa293c5892e8c6ad7995e45d5f608dde3df6fe0d152e6d6a50924d9183ff006aa15b823fefd54263a085e3a97fba323558afd0b10abfa1649fa11c118eaae11956cc1c97af0881a233c16db1a9c07714815d58171b8b5a305dbc0bdb050f51627f5395170e0191c55fff02d2712e3ef72ea7a767fe87decc7ed9709fd33c5ac9743fbe5ef3d61e7ec66fe18b0ea248bf16ea4d20298b30770bdd19cecc713cdf7dad5ddfc8edbe0bdb72df0c9520e980a77d4554c0fb4cf1462dfb4e680833bcdcc995309f9810c984d84c6a0c58ff34236f9f339203199f6d4224857dfbff2c58a6d10942baaf8f106cd1edd0d4fd50121f2507dbb330783e2be83796a55604465057f509fe43c97d8621e131ba405ad9deceea348e89a4a2273eeb9add91d90c3174d0ab80e5a9f9625fd9357a71775f40fbdd7deca22db3fab8b994770777cc67706d050d231a26c6f13ad89f803240e9477f452686dd6b756d14596f59dd7789479a76ef81fee979dd870ac7f61a8db9c759171c91f4e35d72d4e0750774df8544c19ffd573347327fdc39f59d5e462c4df4fa7f7dada43e12b337a56db42cd6cef666e734f20161d2ea8ba1ccc10ba884c61bcda4a811a355b6a0df9c7c3ee01c460e554f82fe7f3cb03229b19151f76c4097a1bc67f837ae66772aa4c1eea0245bce3119d1d4a24ae1512aaaa1f313dde29f316bc0dbc15ede361d7f6241268c6102a70ee0dfc16d0989ef49a78a818474eef7f8db9ed17131e823437d69c925ec980f4b7402ba5de9004f7aca32a468cf132271d30efef8b59df751ac81a25f5a3f1ca9233f427e01f09d2034dda3535cdadcea593e6e1c0761fb4c12048f4802dd06cd28745a26ff31018386c96be53385a5d4fa9d32c0005887b74d795713e2f1ef783cc71e368f8e717a667fab2aad6681e546bac3fb3a2abe168e8bcf1cc2ee0fb0aa45c63b7f4e91b20e5a2cc6ad831b34ae57f61cd3002bd3b6c7f8a7dcf0f34e60806796db60499e7cd4291bce78325f3cc4eb57ac9f29a1fad804c69ed4783748ff7785ef167f98a41075e99ecb223fa11e28e381f5e6639344525da7ed4f7925f256f7691113c5289e9b4a5b6036750196229f65ea44e23ed0e2820bbbb256575ce5199ddcc7dd6a0fb453e782470a4456f50cd0b5b10bac24b30b6c07c8d898daa884f7dffdc0ba2c37257000c7bfa26882c8d9a264419e7f7361aaa7cdbe62da58b7204f33c7a5bd22b4c812d503da36cba73b85561961a9b17827e36726d400c0d775283179bbde3967f065002af153959ab777ddaf77818457bbc909fd6cbdd9e200af8fdad9abf16ba9ad36c6dcf532f86fa40bd1c20d4d1d5b889f2e10cc2f6adbae8a70fc4fdec135853f365722e62cce47170486d178c643a82381f8c6a2d65b6d7947734c818c8d2e19b3711f92f979f915179d31daae2c29d1af4172a75d911ed0ab256ae91de8d37ccab9a472436bf1bdff3285a4e964c2ed4b42062b13d1665df3432096290c711765da42c6137eb014b61815c5b9e1d467f8338b40c6088dd93b155150da5f0ed1671d5173a6c5ca7a8131f092820f65d06eaa95b8e21722992e21e8614d9756b6f0462ab7bd5353d9d9ce2c0736ac470c701b563a4cddbf04461347b0f9c07238f8f5a446bc7865b78b8bfe6ed0b7677dd803b4d8468e4d0ea4416bedce9a9ae966a88afe8477f6c459394691ffc83856b94dca73a6beab7ec6d32b8d672645bfb2e4977c7369115e705f0932e6adfedfa51c22a216be7a0da35ab7e2a11979b54a9ccb7002a5378c413a71f408dc3aa08eb2bba3f06342665da272e4acf7a56a7c2b750f67208766d406f866d3b2d5b3102309c3082bedb3496ba7cf2e8ce7e9bb966de102858b9ff0136bbbab0078e66b3653ef82e1be69b337f22a4ae8cc4461ec5b88314a4626fc15707b5aa5af2115fafa26246f251b30e29bafda614f99d0ef215178e257cb84e3d716c6d6bd97acc74","amount":40000000000000,"withdrawal_credentials":"0x00f591d545df3bdc434e16efd4b3b5aa184505e3d59d4c786fb5186636f58bff","deposit_data_root":"0x547a8897517c1197f6a2bc00ba1af57d736bbad11d753b7d2e24c44075615e24","signature":"0xbfe6c661772ef947c979a7e09c186f87a3faf17905fa9677a58ed371469b2845ecacf6484506911c33682120a8e8f14e891794f8697a459cef0e07157b7327697fcbda507d1beb6475a537a9d6c9b8d6d364e4e91aea9f51df42b869b462bf57455818ef321ae6b2fb79de0d92c8d68ef362e1bd4c595bc4acf3d8a183948592e0e39b7fa6b543ee504de22c397334936ca5700d4be0e12c425788b9e2d0a279104e95c4126b61e6720f922020fc39c18113777446e781217dfdfc5bc9321f7294ff91e8793e75df3c105979fa1e08de816bc570b745dc8f78969fe39cff9792ab964e917963bf38c9efa5b5cd1d60f88f95f36aac125a0e1b0e32c37eff68a199560422575c608fc7ce010af2652d190e45373eeb93dfc677c2494b7ec0960f1703a7d9e84f792c8efa0ac60068eda92236bd7333f7c98e2ad360b11895bfa00ee1721db8ade7d1d9ba2482ab6183a98198da5c50fab9faf6baa583b72888f67d37b304f9abc4c3047ce266ff9ddd9e0e49640ca09e91dda55cb5b43b160557c36b1f6cacd7879056ae4c74fad71f9173940b795e4b4546f0b98a2e8c6846c1131d2781645eee1bcd0f9f704bf285b316073d6d76e067fd17875ab523cd958d4d8bebd678a885c5f7316127dd230b2fd4ff39552ee095ca2bea6d7e5b8078acd77ac7aa5825b9bd234efa0bd57763fa5e04ef18d779c49312532dadbde7db5f40f380b4e7f81ec761bd7f651b5e271664819e3bba3fe68d83a350db5d26ef02e903f0d0f56f32880d7f78c9ec3af20e3f289f52a5dada44f299e70646ff88b10e736901bbf390df26500d58bf3c869ae48afd448a47546544d17fdb8eea5c94b620538feb1f0db4e92186215241236e9e9742058fb661a1c19548fd0cca42416a7f65051f786475ede7dd0ad8b3807b524577bd202b19d4e304aef5bb778f8bcde6414c06fc320784ac817f2699b0cb9f71cac2bae6f6294a575f9c4f2460fab4e8a80deae193613397b83f12132ddc803f0ebebda8d88eb5330dd3ac8e62dff2ea61b94d37ef2bc1ce6db3323dc0b3291a412499d691591abb470bb7b72a1f55395ca155d91c88bdc5e0c5c81a05ab723966a6f21cfee178bb15cff7d1056e7368ead7806d937955aef17cb9632be8b71b7470addeb420967b4f8081ea2a24055a212cf12f06162c64b7a6a7fbdcf12daae802604a5465c4147524414a3f5e67e86fc6c0db165e04d66990466dbc7fdaab55029e7eebf3fd1e72cf6596d7c09861940c63fe3f97c024887b953081ce25c246888e19b8ecd8e7264cb5df889bb487f8e054fd6f90ced43bb2d7991344df600e47902be8a2c8b180ae9f4547fe2d54794345f9186ee68fabad2b80fd31caebb719b4aeb0cfad3750e546d8f4225892d9c4ad0ef8d24bc9dfc086fec361da17d1869aea80efec5c9d4948060c0886ee9fceefedd8171625ea281c264280ea548b70edee55d2bf2d3364ae029c3bb8357e9108351bb755df89b296e83c2738cdc70a5247c946cd2fcb4cd2e94a651520727a4991d477dd8d18f48277611d8d31f39fac3c999e94ecb42db5ed63c4c905b56cbf0d03344310f1fb1142a6071323a206347919fa433f35299be0a8554291c46d7a32f17360c0d1c00d000b9353161993099efcb7065f42b0af704714a9ce54d60434ff99d48df0d57e1e8b548f59833e474a3c0ed7d58ab20ba16d3920338ef467a137ec5e0e679374b93acc519a7e57d158e4f410576fe26c8125c40a5149cd8f55c8ee628b6dd3c8c2297918c5c5113449ead9b2bad4a539d876139550403cbd981c33b424eb26978e35831788cc6ecdba46d26ff14f55db186c3ecb859a6deaf8782853f48957e71eadfc00cb5a734da1c3cde7a51d2fe66337615752eedd3fe474acfd8219998ec223ceaf585969fdde6cfe8827a3e6b8cca136247ce0cd6af2001bda4d12a534dc148fc919a0f6ab137f1989f470beda69e221be13c2ccd3e5f6b0fbd62d1499fd21173c9f60f49120487ba2faed31bde1417114d5a6eaabfcd6dbecec36c11d8d947041f5528b3644dbe88f67a650e56ab4961fced9f9564cd44a9df711f213b021e9cadfad6421018197c58f7feb53065b6824e404b8932650c9a8bb245d98776fdc1b11342673da8d5193c2e10b1175901bc4b355bed62cdc1903ddcf00968753aea807ed08e218b43d4c144708e18deef29556a48258619370d08f561aed5374d563bbfac39f813b3f33bd5d78376586654697ba10e2fbaf4b8840a994a975503b9f45f00ccb2322aaa731e92dbaac6f530bc2c4088284ae86fec3d024d236dbbff5c3955a8440a61d9ed11be2531dd1afb16ca07db7d2e2bae41b064a44c5076f174005861a7298b502ea311a84898974d160e00b0af79f8f9b51a33fe5ef8f35cb4111e1eec805370bb24780b947bd21b0f15accbb203bec4327e30c198467380e9e34464c6497126b3c370edfc0b1a91be3ce246b30670d738ac8ae0e36fc9ec63776349de21d9520ba51abdb8256717843459d4f408cf1c0aed2f9eb79d3ad1fb06b4d94c57e22b5c21fabba9ba8164c41357bc4d5b7726b61b06702b6ac042cd4b0575763f5a7b83e42c99f92b3ce9ae3eb63d5c51d3686d94345bcaad6987fa290522f8405636a2424efa4a5a6996c05cc843677f3e956015bac71c1dada66ae33bc258d743dcb4dfbfd94c3d2a622db4f34294da864cb838bda13320f0c29fa7e589a8385a381b948074e4fd0a15d9b5dfa5e6f81fdd8e4d3228d4bd2362ef4c317189f4e97530e5b90d99c5ba61e361b38dea446b1804abb3111a9f2ce244ffe5d2e7b03a9213ebdc300223e74b8b165511696be17ccc3d2cbf771312abb1760e2f640ea341f5ab3a1234fe20cbd23329648b37bc86d774ceb2c651228345bb012edd3640c6d620c25010f53b119ac06ecb8e1a74ded33da89d4e430372eee7b2a2cd85e6df1e98bbce2edad06e6b8730161cd17a6b5487773987fd16ff28d75959af00df2eb6c6e1835c883cea5b3b0ec8b944df5c35d1b1abac03a5c6d0ba98595108e579c3a06ac7ba725649d6fb01cbe2fde20a61c1265b6a14f2eabf7879f0ff5a39640b8e183de88dd49c90bd0374105b2c01b7830634bcd6165e71a4cb59629d9d74d17d916ae5bb61d981b939033340878fa27b09b0c7dd7464bcae228647ff418961a74a6c862afaac1d43dcbb0e1feadc53d84207dafd2a03e8038a13a72ec6f017f18b2645c8f41150a953712fc777ed45ac73e325f89cd5ee045de539743b51b9b1d1a71ee8a61cd9b0bd8fec31a560ec0e5725fd7d593e3c4c49069a132700210ba54aeb0efa4b037bfd8b83a0d148621d1ed2e23793577c6cfe6d3f4ccebd5b85ab4ef14afdd3d6487ac93bddcf8884015b2cc6da2d229114651975ff8ac222af245391bce9ca1f70dd9e5018fcbf87009daf20deb94e11e61816c20f94ed381180f5314672131765b7c6cf1e717a79351624b91edd042fa0b01bec79bbbb263bbae4306aa36342802ab7947e4d6ed22d63ccbdb6a30a10adb5864f2e4b4bea26605cf90163390e97e696ad9009aa70df2d77678ab74d5032a720a03279363eba0e5065959d7d0c3955af1df153b199f0cd1ab2a1b01b4c2267936a2680e7c4517ac81dbe7c5c34a4a9d1dae47a227b8640297c713e2f808ac9163ba1219735f5163c4220172939f18be63f02f9f1cad2c3d8c0da86b5e04a72754f2849b960b39be381ea38ae40ed28505d4590325b483598370ab030419ba11147f70e6ba9e09dfb79d214901d8ae76cb674771a87d068065bac2dc03a58b04be742071c03d13ea016250f7c7fae88eb1cd791d4326b0e93fecd50d2de9f02ce2816d0ab7767a9e00ab42951bda1abbb30de5f0b2eeee1076e7072e3aded0cc707b6a0c3e99052aa79435e1e8ce9bdfb0ad9012cd25aa0d4eede661e8e2116fd2c3438d149de97b9afb6b4fba1a5b6943c37b7359746acba8abe6020cc3044ab09b2c4487fa1e1086fe4d639b48bae8e30841079c181013ec54349c845a902221c3be65b491a279c56fbafc039c14da1cc37953d1d679db0d3b1c372abc20b0c317968f30426b103d2760cdee40700e14c12a8efe5a5a5a1497212ceaa6a15db3a31159fc7e2d91608783d08be1c44aa9beed06d9fa3318a8baa4e670354ef7a5503f83efa40d2e9357a4b4ee85edfcd31426d7ef645d4377895207bef98b16efe77d8b35b1566d43b7596b432a99a67730c1cee45ff0bda626135caae8dc702983cf41b0d49149c6e2e689fe72ce9bab20fadb70c7cf64e03b5d0ed83a85f8fba8c9b538b8225a7c2cc4c60e2652e99a5badd214fb9e651953812093f1e0026c30b4deb663a73a834482aaeddaf601db23f946b8d5bc8f4d6957e143e6a3d63089a738752da2a76b6e4c1eb12273e385e525f2e1fc62f2cd011d58f74e2f881ebffe171911650ff5b611b4ea0781ef36648efc859078fff82c90232a6244bc5fba45819eb6230a89cc87c20617e9a19db3bf072647eca0f1ee81fe810fd5c485c0d50a05ce1f98dc4e5be9ba04bb9574c5a5d7c6ecdb59d42d3cd08d0054f004cb94af87dd4ecb845c9d4202785e2347da9faae959e8c8d2c2e092a29100ea36c82e466057ce49e5b9bf432898c5e555da5b9ee2293c3ca050af59d1aee17235e99da5c610c296ad436ab9bbed8d5bac7ab2cf694ddb17cc7f8bb8d8d8ca715c9d5fa1f4b340f4a9fceacbadcd6cebd7a3d51621acb6188d0335bd75918ee5d61221e44d2eae9ac582f378c0e7f63c867c03272f1614c8f55dcba76f6740ee0b89d93c7aa6605790c889e96f0982355ebe021b6aa9af89b5e14380af6443e994501126a7b835b784ad8055da6d775404a77e7ee644da5e6c1786c6a1dd577e829dd680ccf66d424f4c3e0822e3669a1676cec3e4fc6862fc1b6e98801fc38762c107a9ffdfbe98cde64d602ad85586b63eeff38b31054ffa2cdc04e0c3d764bd1c833d39f5a11c42d7c6e12dc1559bd3cd972618c552e4dd25dd289e0345f0ee1246afb0c1286069d1f98ae3fa7d246f661b99d3082385f5349a9e671c6c123ac4acc25a36d01568edc8d6729aa104d7ba5b05f3344f7006624661266214adfb4fa16f381eb94c9e61b38a815a677843bf2d656dd5849f3105f514974a9a083e490cfba0a05ea76d350306008b0ad6ea1fb043d5474334d3cdcd96444d48be05caf21cd0b91ada34169ac05e5408b29bc1914d0a8173767f604c353857d0869884214b4247b01e4440d4a47e0cf40f69f98fa605e25ca6e6bdad44c904cf6bc15c10ec1d2ea7b4b2807d1706578828df6656e37c21a5ab20ecc7c476b119506c4ed006dcd421ebde977d51fee6713659687345603ea8c3881e501256c3a060ac2289d8b54f2a4e8df09646d58a458f130e3f946807b8074a2e9372d9ced703f24355c6589fcacf1c180b0795d41d733028db20a99d152a07b53288f4e524af90b73696a0b29e7e122dca59833ca5ae33f8dea265625267663612657b389e8e91124a52727293ef77f7e9a9f4eca3143329b49f578b89ae9d37733c14f5dfba642f6c51263283bc17cb34899ade8ff209d68860bf1ee0018f214f91ca397123f20803788d65a30947aedcd49f4435e7b2b2cf9513434280e0f1244fb895f45ccc11b95669f5627f5cb8a712465d6a99df31f21ccad1c668fc40ad3b117705d720a7a0ab439b2853c4160146d038cdda73c06f41c4fe2e32c669a67431608c991aa15782cdbc098f91d314fff5d4e2289ba3127c78206955da6db5e644d244b410f15f85e79f823fe0258a9a44aeaab0acc7a7ec2fdce8a2ed27a3d3eed24369acfbb644127ce900086e0ce3d0d62da1603c31f7826d32d6a603ffab2a7682823e914c180d61d13877f97a8f47730caa12f495edb39cc5c3c8ac1c7f48b277391279d5f07f4efbfa3192526fe27b2b0036888932274861f248844248c90108be4c0a49a2a714b2522a59cd0a4abe5f6eb57837a6193c90b97b304cbbfad0c26060bbeed56b1abaed34826fad7e27b526478f1809accf6ad6367f6f23076a5a28d4fc76823610df7fa570b3bfe4091a53a60abede31c42fa74b04d11ceb4ecc9687ce05695768c1f6d3cc1f3e4db0c8d0f2ce8dd10f65cd691434556487a7271ee0c59702b57919650235c54cb4abcb7b05d026606c570189847394764124fbbfbd227d3e1ff86622fe6c7c73483068936760321cca91289899da4c86c20d5a358669e266316ea935e331cd3c6e948e63cb0426d72dd7c1aae8d64036137ba5a14b65d23cacd4ba7e5dde67598d7c80b17851b8bcd5f83f9b91d43f427e85e74d16af18a15ceb1c0a61da074b488189c1e1313c45a3b6caeb296d859c00121d4b5792c8fc0f252b3363c3c4dd32959c0209394446091f39474a5c609de60000000000000000000000000000000000000000000000000000050c101820232831","message_root":"0xc6c6f663c4f7fb261a50e6cb3dc10e1f0a221af33f57511836477229dbafe647","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x7a8508040c4bc5d4b4b0abecfaf83a311d93e490b3f7e5bbdb91e6bfd2088345b79fdd9ed7d247739c03110ea2dbcba8ec1261b136c47230fde928eaa6bc1bb535ebf182154e945117baae24ac94f6f8db519e2f3bf85123b7bd9e2c6b341b1423a2aadaff32d8207ebb648da0996e381dccefcb29c16660bab140b8d66cf85ce56c08a7e5fbb79d67e132d96d1a96cb6cd635c664130a515110d3b8974f561117307ab14bf2446ca533338ec0dafe4fb38de833712821ae875dcc729d89470d6e60899d9afdd8cd819a9c2e5a799f7b81c040a4f1e1ca2f1b78e9ccb2753f3c38872c111c50d901d25ccd9f4fa3675df6bebd5391893ff66f93e5ed68866ef02f2253f4314530a48aac422c84d67c4751d19a544fff686bccefbb58be9eea39fc3fb42c6fd034a04ddaef17797c55881d31ec62f6a13ac370d445c672b8d73c60edb567618b1b8bc4be576dd8587df26ea528b4dc48275c890ee19d82554691f01ee3015b2bb46a14933b4a1172d7cc34659ead286d9285caa20399af63b33ceb7703cb05bcaf3c96e935b5685ebee7fd5ddeff7533c305ad5fb46b3cf3daed42bc4de4a391616da991c7886280fa5d0aeb5ea12e0ae6885dadc22421901e9aef06ee8caa3c53de461859f4ce058bdf2898ace0b84089d0384d90d593c4ccc8df741d5b1d26631e82d3712e365c1130c9b8d65f420b9ecfda7f678e30683709cc51a17a49d119c57877e9941518e1d700457ae5bb4642e95c0cfa5e715d323a5147e068a9c0708d4609e5904bc8928e89174ccba340bfd411f2c680df5a99f458f682b6fa63cbe848cbb1a7f5939889e3508f62f0db783cdc0baff0702f0618d497d30bd037fa56e4e51fb2cf60d0171fb2b808f7620978728e8ef9243cb472021fee5663fd17c9613aee71d0c68ccca99e9f35245ff2e395c25943f69a5fdd2016049bf6ed1bd9818cca0cbaaf658631e400301c705bbeedd0f6a6322f7173e7807b787a4679160d62d4acc4153e8f27f2565ff92d8ebdc1ddf8b8f5770be085b8884110f311b7f26d8a9a21ed468ee614b818239dc8da889c520899a5e709db46f84fe045e256743336938e5c356ceb0734d87ccf9785b9e064acae04832d6c00f3441ce7616a482885edd70d0caae5d9987fe133a30e8d1aae8b950a2fdf7d4e593bb8c72ec4ef420211c2df6a774a9233bd7d2c5512c005b4f07374b8f10db85612c849b3147c317ccc9551aad1ed92138a8e9e9a78cee51906bf582321879a03ff6139bcf9c104b9e4e37ae9ce977a2822554a293734cde0c735a2bb58df33bc95ea235fca9783e84c233b7384a3ad7ef07dbb28cdf978128a209746c5316c1f8311ab32291fc1e2d2357793bdd1fe3e13f035d51d80c2c7be6e30fdd7095a114d88b0059d74b7087216673f89e51bcbf81490441e92a03e36e684950b6ea4b099bf8dab4420f7cd900c89b0c86d89fac576839265476da926b60f25fc2ae2f511d053806a6e49b3d3202ce9c87221db852455bb093ebdf873b201162a542684325c32d3579fee24637219c77bad98f2c53cb2536b29a19805dcece2b20f1852b5801705eb0d929db4af8ad671522eedb6724ca3298a07f08e936068f1073498218fbce0fd7d4ea82dfe9b14d9154249ced87d6d5bd20d20d00c1667f229ea620bb7fd3b8bbf4fb50e2b898011bd0c966e35040635f8848e6e5a098d3437ee00193b8bbd5528e88553351a6c1da502a79b503145e959cdef366cfe2792476c524bbb07badb402b80c51e97a84b598b6176cfbfc05f523e763c339d04301b90398a7fab62c63aade4dd17a8d03b833aedec16b73530dfdb77c8f4b2bf1dc1863229d2ad28e411f546d0220aadc1dfcbe444267f433580788a1ae86cd0b397978beec86d95a787aac36843becb55e58a2d60e83903a89f516b9a38b9103f19d40693284a46c6d8cffcc45045f074976b7412cd4c93140bc19ff5032ae37d215002f98dc767e2e4450108bd3f397dd68b9f2b3ad9827d69aece26e0901d6996351c391e345e20f02771d1b1c24781d27025d1f68b5d4440f86f3933c4d9835428e3ffc66fde23f9d80c88b57f5386adcebcc95048ccd3821b5abfbbacc9a07c68c7f09fc92d290328e3ed293c7936a406aea9ccc56c997f334ec6a7d095620596f563bd3247de7afd3d5af0bc493652152f387d1b7092a4add3f4ac938aa80188b4ad016eb9c4ddb97d2c25c9bd253551677afbada3b040f8b68f74adcafbd4027d853cf2b640860ec7c1565f4351914c0dd8c04e8af24b020b087ce5dded82797d89f4cc62518b7b68ed888afcfd7a2811bf8c07a1813da71303f900bd2f20cfea9c6251f58986099791307c707a723db5ede6c50f0d6940baf4e3ea23e5f36a29492bba53f6ed8061eda2b57ad7737e2fb7be49e9ffd00e605a38c2afb2648c795413ac56cd0e99a88f1fa1a58d80e39f549f0a8bdcccd38f2a78cc09d1d4ca38ec5916d93f9c438e4b47f7123fb55a4b7542a14c907f755173682a1853f1a9c7cbbd0963098f0a3292773863a681b6b8df68fa8c4613f33df2b01670a4752560f54007dc0dc4fcde0eb027db22af71cdac7561dc030ea817f2e815a6399de94b4f6c1d7b64cbf129f9d1a430df22b23b3631b7d0fe48a2a98f98a20222ff2fad0defe21a8665cff708fa55c2fd75f709e2cb62d21c1dede709b354590c6e79b68cfeb5ee2babe164b82dd71e5a33aa51a29b345b3e494747c9daf10bc4172901943ad8c4e06d76b8a5c6b120f97f80268e80910be17fade464f2661aebfcf4e3065b96514450a3725d59beb2fb6ebc6d6916050e7dd6907ac4595dd0d507a1540b9f8854042806215049d5f9fe3463f677946a89d57f98e3b82bf4a39bfd9d063d4a4b66b0d890e47d9a81f62b3ac3b02d23a8d653933e5a46f0e85e774dc72693eac31f501159fb68fe2ea3af8beb8bf32ea57110068f423e5fc25b92f6229339fac0ea1c21e35c8acd93709e5188ff420b84d0b206dbf805a10d2e47d4b5f4cb4a9eeb213a2685ce6c6d75b7ab1ad98dc363e6d0ce872c1cb79dd654594c4892491dc8b55e3b57a49877496445514150d4ecd6cdc822a87946ed61e1402c68d47756a77cf9c2bdcd24fb1f48edae1d5b940e21491325c833ae3ef3ca829e96c43783d0156df9f9829db83d2c90b35bb5433e6dc0d6ea14ea022a3a7bccd969a867bcd3e6148f0472f4a7dc5d463651c76e3cedd46e55528adb7632cc5faab29ef8bc4efef87d3a60e91912526b0ef156344141b382f0fa4ab46dbe94ae61afbdb994771b6cebc4dbd7823e17ce7d3ee9246d8353e21a696d986afa87b3cca3741cc35d068494100901c2ccfb13e0f2c2669064dbb253d98a3a9c0a3848c0b5082883934ba92ba95dcd429e0d2ed359293231c50847032f3d05bf055a15e087c9c92b6972a534f1febfec7f59a7828290e34602ac28c23ca71e411958f2d494c86256f5125b92edb5adb3cba71fa619a7af722198b95f8f69208dfe21582b275a8911ac975c0c5ccc3b29bd731945b0839cf293b156f4ea542a8facdc3ffde2255964a55248cd92099c462cd4f33a3622af08127bdd259f556ddddadf5de2fb4fe4c629a0e74025c9ce230af488aa067880c946c4ff7d057b4014f093","amount":40000000000000,"withdrawal_credentials":"0x00e566e59d279a9d442e7198f9e0177e2566365112b7341c824694efe5af300b","deposit_data_root":"0xe0e4d9cd27331511886cbcee2ffe831200c5737ec6f756aebf0534f606445814","signature":"0xe2504b4829a918f3807104e54c4e3c09462a223f507c1bd76cc356c6eb5e16f24dffc5f0310a6c7e67ac207e0e1aeafedf161904e3f90c1be6957e1fcea36824b7dbc81c95c1f2783a3a7a3398f8fa0f12fc581043a689f78ff1f9efc4b04ba68428f0e4cede1b6eb8d5be061cd755f9779010fe1ffdefc7076b097087130f16933bda1196570cd7e73a720ad8bd936fa05917525d8ecc190f912859bc4e5e2d188576a1cc3d3f6e3029d88f3ee75b50385e72b7a9ddb8c56d50cb047ab3eac5b335f3d9f03c2837f9e7c5701c70ffa2ed4243becbe350a51225b2ef1ec6a9ef014e829f32aadc34a94f7e534503d3034103fce4a196c03556c8c7033a0edc8adf2419de9f9621b7a674d833d972ad36dd4292318e33a890b611b93ecb34aac6605f7e89184c8bd6470c1c92ab38a7c1d743ed2cc04c225f966a9d78214b0a0cd6037e83794180f24525576c52b7a48c1235a7f3b3ad2c4daaf96a35fb7a4bf17adb7fc50d940e7b6635fa838603f9243003886becd67d24c1fe646e54abc06d7101c85e67f9862094f4d609156c519a49815f40fe13157eb3af18201694a6d99f080097a68293d3029d77ed4d4fed2d1da53e12f4b6cc0d542b77aafa731b05ab6497dd9328035ed45157c91d05dc79af125c8ba311f74b2c1806bda1d588352778ff087bbe7b0f5c2b5b02b62d19a7bee6275e5962130f6ca2e5d09c3bb98a428f1b131a459f65d6be1d5fdfa43df90f64d27f8c62ac9569fec7f5ed2fdbae6222e21cce379a96cc2452f5acb760ce4f2d690c3678b6b13035f4d88d97cc9720b1d1c5d2b8281e2f216dbf3ddb9f288a75b51b8a3837dcf28534b12686eed9bebb09ff1e903cfc6a2234f7de69f64d1c40a383c91953bd30ca7d19538aeb95afe6157d21df2c1ddc528c0b4f04c95ec23323980b6bbd84b68a8a94833f6986a0d6c9008c80df156c0c78d9add94938d339c0c50fa7103dfd86903e892d7eafeafa25a93af5413d6cb36cb46143aab35cba3c282bd66679792b1b38004edc274eafc1b5f24b28041388be71fe1abf0803f4f671a967b22ebc507fa47e84c8d6e8e6533c77e89da3241437921cb7989853d590c1566f8533d7b71bd5fb37b20b7098a9a3dee1b7b517654183673b2a5c5b3e58ae5445a81b0fd726a5eff1ade567bccf3d0fb3e590d6b642e3ee56b36ea61116d3116812282ebd9e54d18f2000bf70b82fd48f6cdc47102d4442dbfc02c1cf1b095c2f3bb0dc4de12a4df648c824439a4eb6766157ad9a4323f6aa186bcce13736a2160076d836372c918f1ac3a5381fc172763598906743c053b2e4ab8b66ce6fce757c11c4a0d51968bd0fae31f858bcd67f56c6ce383dcad32fe37c19aa5aa2799b811cff278da1b9259a803ab51680bb32c72aa45ed89dd29859eda28835487a0d1192c76a9fa20550a25d42fe45edc9199d7f90df970a383964c0874343b41d09aa2e90e70666e87378deb45df7cf6b762651cbd8c3e9f08d264bf6bf1d41b5f523bf4ec2dc79fcb1f943a783aa374809d16b0e39cf310ffcab71702485db740963fbb2966a5592765aa8b20e093ade4e478c693475a1ea305affb64f935c13262930336ddfcc6c737270d1bb0d6d1b3a377de12b8d73b189ec0d7d2f57f493eb33f516e67e800256b78bec15271cd7cf2d6fa2d209cbaafd51826a519f3b94280d7c8e5c73b730b235b009c233dd24b10be0a41d318075d0995b83fcc2b129f19fd7da37dd0c36be123c1e57a2ec253da75afed0a3ff89d9907015752ee59337a982ee5b54d07f700bf1eb90cbb4ee931a713a66028009c48afcc28411aa18797d60f9a286bf7c2f6567e20b5078788109a6bed006270b4ac677b9e3cae620ade33565c097d48197ad9d1ee47a3c4499ccda14c2efa654e6b8bd1c7383c6dea3371e795e394cb67e0e0dee2d6196b37763d86a15f6326b053c878c2a6bd9c3a966b39d8426c168886ba97ebef72f0045e0aeb844f1661354822d1e9941ed6611ea41fbdc905a31eb97800c7bfc9d354a885844f46886e33c2062b16796930515944fdf8d2bd416279982af4603d49b82938a85e166af71615c3a7e73ae758eab24c7f66e73b33c5eae23f2ccf85372440973644ea0d3bd92afd757b686f6ad2b0605a2e6274e279d31bb512dab26bc8fb183b8b36a26e1bddc45c797cf7197383ad390359ef7c98ac405bedf78c5cb8bf73d124e05dd3e6004bcd946538ff77d0e39a0af3b3d4be850f6e377bc7575c638d5554086ad86d04ec8adf0dcc7dd921327d5b5becd6d6e66e1fcf8c336da902a247819b66644588e3fa74a337a0244988d04749bd702b0ca81b67e847c7b423843b1f144a0083e264bda808eaad78ddb4d5e89e18cda2186989bf079c83e0fa88d083802225119e248013c748626d786a1e9cf5d265720b4fa691b0ad030fb2d5bdf1e84fa941c682b3f29260f0025d12ed4e7d6194dffca3f5729df514819d29d35f9ba56f2fe1f9a8df0dba9c71b8f273b3fc4e1dc59dfa877aaf47cdb5c28ee0834e9a5de0cc7edd5a4c2d5481cc80bff687e152e53cadc4bd3afa6920b0ad060f96161ffcac5fcb29547d31d7cd8c90ce4dba5c780a6ae59055fc5c1a20e34e74bd471ddad2efa8878feb762f12d0c04a6a66ad11f381787bb3bffee6c645d4a7837ea879b5e98047e454aa0ba6f84b43668c1297573fee4258a024996e41045dca81bc098b0d2cacc9b5f1628b52b594936e33b764d10b93cc0aec7a2236582c1c9389c41e6433b9a6e3abff38d8c8054e43fc5d126a3b366aa64ed95d9d5388ce908e19e0eee43855cf25d28e64d6a297875ef606a25b4ad9220c2de243eb349552b38f96bc83809e3a2e94eb0330130c39059ad1230db95a24ff8affeec08b69e8d41dafd03a7d6c6bfc25d8e9056c1876525cf683d1fa414dc1009d259e8a080c3f3b87c4f007e0b0898832a855e0947bcbbb19a3d65345c5ab536b58c9c9d3afa875a52e9bd5427d4927fb8c154f2e351e496eccd41f57c6620dbf707a888622319521b7d9344ab4848baea316d611323373019aad2caad7b61c2c4f842399a50678c31471ad24632d1e6431952d1b7e3e91be45f42448e78854e067de00b3dba2d8c27942ef0c8810b356a787ce54724a144a15fa76f0da73ca917d9617cc33511939187e3961fbf4c4c96da31b427b8a65ba102b5840fea2eb886a7432471112082c7f001bda9e38ac669b85faa809226628419889041204e9b46b05b7abbb6dde73d286a3232864a981e8b1a6c777ffe6580801dceadd52b41e7174c9a333774edf9de97de1bfea66cb98ef6d31d1e0bbca13c5dc9a56dbe7589c748437ededb20475965dc7a75bb35abe93a81a6ba45b6623560cef76af78db2437604d4368c9f6154681dae79ffb5d11aa778091e2f6074aa81527d070d590d3c9cf798309d96516225ec9a5c07c89df1cb59b9531078e49a49b01334738ded5e12b46497605e801a098918979308d9c9cadf51305048dbe70067f373326f5112c4148227e9f746f842a894764080f770e5ee501aea2923b697acf5655febcd97bf96964bab8eac83eab420638562e8486d19fdd4a2f94e9a63a60f04e6c0cadd273eaa757f4a607f59e3fdaf4f52f82254109ea595f2cd68d153dbb3e092004e1e39c87f441487afdf50fc75b87fc0c14dc6927bdaba689386d4c7e1abf4a0338655cad458ca2bfcc5550dea458ec5f5a875aa9a52026044f32c57ddf818cf561e091312e8aacef9f14e4e996bb4b533f1793a804bc7de206994ff0028a4c1c487e91517e3ed7c3e43bbbdd7e94dd052f865fad12b43eaa25f70b3af0476ae735fcb1ee1f18787b2a47d72652f84909c6e9789f2852b41b79341e634035991e5ddc7c81c255a8db0b26d58b493cb94ba332085a8878e2d8510fcb3ac6b139b9c1ad75016778af7b5e136dc7ea42a2d0c2d856a27268b03ee80af22460ea151520cfd3c4a2d6a9a92fe718fe722902393f4def275ebf0aa4a7eaf65425e7cce77b7c8dea4b645b892a270dee0e00a9b1567b7e57711abf2b412dd5177bcf1e44b0fda06eaeb95cc2e7589bc996f1d8c76be2c8e9f4e6a7fceb173f1388b859ded5996f2d5633f1e4babaf4060daaa10b5aefb64ac72c0fdc09f8c439ad0a0324d5bfde9f9dc46ebbcb15b3301bafa013e7b27a7d4d45e071505feb0a3ed56e4b07187e8c974d8504aa3b96d319321c2602704831e98408f46d2ea7e8f7e51aa86230e39d89debfdc01bb758b81bb129b46b73d5599d7dd3586304b83e33457e30ce79eb2ce6e1357201f82ae4a2f3f29d6a46224aef085ad6e2477c3b32239b7a7cb5ac4ba4308d677e3a6989d8fbfac9d1a645397435e8c0f3d9742745ece1db9b76b589a5f0fb850a6c9c7d1906ecf97757529643fc1f9db01cc117a6a589742d0b0608e8782de337567d219813dd7cfd35308a23f9959299e6012ab54df7fe63da7f248fc8e3e3f52748fc9c36a13bf4d6038cfb7bdd79ce389de52be43a14e73c80c7dedbaced90fad004e4d4a4ce84093cbb63ca4acb448d52c5ec71e5f9f366011a0cce8f769e7553a0e0528c4cf236c4ba43835ff054375d8392789d9822b73cdb096faae43af447e99b6ad13366cf558e87e984ba879ba25ed2326574a051ddbe25d1229cf79fcb315308682c7b1a4d04b10fa57811005ac655450e43f673cfc9612dc59026b46b91587b032c217b10c62e87a9b42388a34df282c100fdfbbb68c2e8548f813d3679e4e8f13d74bf555d9547d45bf846dac0a7fd5af59716ee3d775fb7859e00adee38ad34e2df43a4e8d6938d686db0e239030c42c11f19c7d3ee267b164473605b86af77cc22ce2bfe2ecb9c660c295f5b12a7ec14f2dc655b7465a29b8aeec5a2ab1d284b72fa731a0639ce34c341ecc95ea4cc2892383b8cad82b8f30684cf0fe6d421db550b6b9c58f4dded58c8c17712fe025600dd40329ca84b47dd2d75d194e241ba529285170850c06b000b54fbaef40177db9ccd989dbb959bfe01cfe5f529960cb168defb99e6d828b566b5fa2519c6b408340988414da79681240f617cdc50d5440d8166355aa9e7629adc492b6373543406a6ce25e292e7841eff9ccad68c284388dc49b943ba330298afcda1462c6162c1061868115ecba0ea1f8748c685b0ba34bc645086f90478d15e11dc39ad256d859821ef2f0e3ebad11bdc36359658a60eb496011fb6a2d2a096762e43ade08c6de19a59b5110590f076d0d2a09f131116fd58660641efff8290abaa38ca77202e5a0e9f582fef5630ba3142f4f852d6b6ac64f3314da5fb2f38304a09740a7b9390f6b9da24a170656bdf1ffecf339c7d08012e6c5229655cdf122dc7e800ba492a1c281bec9968e9be8b48f4bb5c09ee63498b65644ec149695f6c9345965f67ef8f05a6076fe13888c5f408f92c43267d692be4f5e52969c39bd8efb357af76159ed59890afc3329ada2d6fb3576b1ee6a97b038f1ac8f531a755d076efd58707f63496fffa7bbec9f8cdcf8e9e6cba59e37cfef53c04e9c98e0869d5b0beeb97bdfa01eb7c881b6cec1d4ca273b77a06ad503e214aac35a77e22b1f4e1ded2a457ba38bcf17dbaf4841a41d8c9e5a191fab83a4b8d350f1a6d9cd01db1f9726d821f268ce9a786236af73682dc2e446039b7e603287008e045463463883811afe5f333feaa2470354f4cd54ede67465c30dec3c72a59a284c810bd48e5b26cc1538aad4066db92c1fc9fd0843e7ccc470f468be3c27ba04dcb28a24c227da5b650b30eb3c645efdf9b606dbfaa0ece6ffbf8db988c8fc3df4f481595b9eee9cf3caf7e46c4860f8dbb32776503269b631e8359ca73528b440fd3bb086372cf883fe8bc40ab7bd07803f017dd0f5fbeaa86da1f4d0703dec4b395c44e1a5af19fef7546d7fd3aa9fbc0344b2c3fa907ba26123d575ae2be31db70a075b97e5e7c28f95666913cc4f48cc281c3662477ccaa72db2d8e65f5c4b56737e2b1d94d942a9df45a34722f8f5ceec881e35dace927c3e55a031c7ae3c25147b477728bcf76bf67f268c4a009a58a3e5cc73e15259e3e65b7f87aa45f2dd6391567c76c831aae04ae0434bf7b75c8993ac8db57bfa16492be891c48a09431798d29ead33643b81a2b335d05eca74a4e5e4345b98613109a4877dd1e27683c7f4dc7fd0d6b509a80caae70c4bc0042bca7df701f95cd7dc5a30b3823661c174ad4c8c6aa5e136be3b30be62981f23ad2b0fb5a5c3204c042bfdf5a9baa7d94201d9111dd22459af9621b8ca7de91956eacec9861dc628cb72ab2fe2fe005a715a34001a7e1649b8022dba838cd2178a82cf526d4fc79d113ed632c6ee7fe121f6f8399cee3ec26323676ace2021415307894a5baf6a8456594c108a0aaff0b2e585e74819cacc7ee0000000000000000000000000000000000000000000000000000000000040c121b1c20242e","message_root":"0xa87bd1a7b96b7e52733d98ea2fdf0df788dfb326cb8b6acc00731f2acc9c8bd6","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8353d22f0f2869f90d6bdd306e57c4db93c70e437e927dd9193ee66279007f1292411caa509fecbd372546b4d5cda446cbe2a7b6ddec982213e2f45df5e4ddcb622d6e8c75f7c04507112c8ea1056d5d439da70b93b2399fa4f70cbf77cc105f597069b802fc28025740a4ea5eadda31bf8e20dc52ef90a378e75269bb1ae9ac547d6d51cc169e6648d3ad41dba6dad9765fdbe987770e1c81e4800caaa510f870170fd21b5d1f665a48f51a6589c848e3b742c107fb05f652272ca3e12e603a64f0e2afb0f6d3eb06eefb065de80e1d46b5c73d25248dc689a8616f0d46284f60112b98561134100653c444d68a60a8c77f576ff6285ccc60442ec8a3873a5f570119900c8d62b5c56797e6561d0a8cfbf9e87897cb884bf86907e7f2a62e34cbfcf4f0ff0694a9235c3e4d111454a52bb5fd2f0121858f41430f35dd81885d0864d85e07cd1f8c23d2db7e0b39bced05fe7a52b0ecb7ad4919bde71a3d9b63f68485b70d6e8171077e993db4c7263f54bb0c1d589db5949d8871177286cdd8b9da2e5b279b088c47f7b146af0a0ab95f3897810c601c859880ba5ce97e03e3603182ef31f1f62c7f8f33846afa68f16fa98981d3516c6f840898e9ab1e070bdc0ab423cde2040e04dd74716215eed7ae703b3fc98db67a0970a2c2643a1ed19d50c66a9e5ac3830281ddd87a92a42f933fb4d2ee84ee00d7c17da947cb4ef10d88b14ef7aafd8564ab45d8532cb233c0d62bc0497d73fc43d789d5e17ff10f7d1fad4d3b808c17af61aea7d7582fae2816fa05f8deb106b25cb7bafd36124747d83a06bfd3ee57c235c61088c68ca19dbfef19f932f0d37345fd9ab117a421c4975aba217bde367081a9d9d4bc91ef3bbab9aed1d8f1faeb2ef51f82398f79c3d3488077ede08170c7a9738bb227c9533e8c43b0afae755924fb8a6277dad1e7837874969ba244409a40271152a93feceec09e0c4ce70f7adfc2571f76e42dcc6e2201367a9474f138bccf6c6d520e700099dda456f2de8a03cea482bd79bbb48dc491ef882bf88520a4b52091ccd673cf359d27375c03d55d1e3dff00e9348016ba1b5d93e220795f2d8b76059906f215b90acd19de3e2dd8725da6f0b03c5350ef479b42b153a2a6b865a4b6ac00cb604a8f7492b8bd313f3ef22cd2c8b52cb10ae8571fecea48206a28080bf05281bbce96a9fdcad0e2e9d66129c42fb17970cde4b9ed3ab256fd5dcf0ffd1d2f9c55b64c9b71e5cd97c4bf6529c880be411bf4c98d7a1c4b820c8e46137dc412f1786cb481fd4a84bf9b3a5b7b67a625c7fec0b88af53f70c32c6917545a836b36dad4f9136a8e3037fdf85d67bb490aa1acf0b392ae36e0239f78fa258a5405a7dd034268689dc5a8f26bfbc8d58c9a07b003b06cb9c4b6be686f126942f4cdb407894b6c85ae84079c98d00937b842a2757b493e12e36eace7346735c28197e4b925d8b1c2dd0c0f9828a720fad9eb193de7d12fba306ace3f4d0cc13eb064013f864208ef6b45257eb022913f8cec1e5e4782eaa256449504eddaea94ea5ca9aec624b5e55bab46f694416ab17978eded341b69f301498d6ab76dcda6862bf9981ce9fb221444325bd8f584169d1737e863f982c8b5d6ab04c322dfeb0bfeb0ed0017887f73700152c7aeace37bdb7beef113e40191c453816814ea039aebf786983442a12abaa90c86ee78100e2b367c82414e34885b94e220165ed21cfb937fc3cecbf70ef3d116f5243276bb1a890e62b8e44b4ac3bf8de598174dc6260addb90e2f7f295b96f861abce4dccca6c6cd0d0e58f6c2098170a7df4dfa0e755b4d0d16ee4d3538e75ce4f966c861be23c2bd60d6b4056221368d5e8fc878cf4e6250c43261d686813ba09f02be1236303a53c7398e7e56246088ce3bd8d45770d60e3b7597e27b381d698c430d4de6ddf00cad2cac97838b099bcb312e63ddb39e3dfde959976ad0d7d7f695c7480e607d804d66e2e457629d8cf18648f816349381de03a1223c7d8a94efd3ceda1ed50d96f93f38c6c526692dd489ec56581970394b0c223a042ddb39ca7a042b11322a74df38ef899a04c30681d460574631844a0709904d7ced69bf18f22e82e379ea611664d2dc411efb8677e1a3c982964974b9fbdf657fdf12c384a6e491f88175f97fddd9d854962595da77893e1d70a6daa4f4df087f09c2d838c2e46e8227214020d9f3d952c80f68a6cdb2f71dc29b5f03433c24364561f8a807c20aefe17a0e34356e90a6f67b680de770d166f9e521874af48c4bff778161f9a3d5924d6ad6fa141006bfb7392921a8fdbcda29cb138389f5d1445e08d49ec88ea830148c69f6f9820b8bbdd8af01743a678ee9eb1d2cdc31e0f512f4a0d320767bb9ae604c9607d3a63d872ed862fa19f3cd41f778936a8c32fbed2450383542fbd0b1c91a909ea95395fe50139c97410cc1e53254aa99162ef8d8c3c559bf544944b556114241ea4c40114ad72671c115d806350a3aa18265ecd7b49440ba1270f385a3548dae86f4235359e02e845f417eb95fe5ac6e063467a3336634c12b5268662910736b5440203625c08f56e41cc0776f38ccb5c085021b81ce3a613e70ea30fca462b17a24f2a8a725835103dc9b1202bc7c8a8bdaed3fa550c28da7013e65dbdff1634b6bb59032d4669d7da9a9899b5061c2e00454d7d5cbbfc3c819e2f58b3c8033923bcdfa64415e4af19671b3cdc93ba304bb9853551f9e9bd123e81add9fd72c5e7e7d41073aa8f289a1a4e2061786d2a17ffffb09dd79360ad127233ce7c63420a4bea90cd54f392e6d9e6d9047cc6de98d28c5ece503cb6f7e2ca35a46fce1e44744e8ab9b447d6df4f4d0adfb8e2bd707ffec6808750e7179b83dd5ee695668325bb5879153a56038c52170b6a54afdaba5aa1a76877d12dca9704695fb2e242f20be7718c680f9be56307e36387dbc0ad8d3902fc9b4504b20d1844e696a06887949f981a2947ca34a9ae25c6ef9b31367b8da83891220e1db2b4996b71c2ff1ee5ccbfefb9c2d5d2e44d5928a407c4f558340d70e16119fe653e925fb997ca55578ab8b0088b9e1353fa5d5f039941b2b6c2e5d20cc8b00fd9caf3f0478c7cc782f0387124dad9a91e96d994c4ca37fc71b3145ccfd0e77f4601571a83d5ff23c41bb9e04e1ec4807172b396ed9f8fa902715a3a719f73e6b0c40af51b4193f9da2f1de83bec9628f408370fafee40f74eff3264b325ea5d5aa26bccbf62f8ed177ea46a34786d98b4baa0c6fb8813aeb4d7ba0834e7bf4f03c79777c6fe4f7a162da6ab3ffcfed5ada83e3ffd91e632f15047f90c6676acfddebc582aa5b40f1a69ab3395b3a6c7e4702baf1b108c6c30fc3c139f52a53909fc56cf0fa9fe3d573e701f55b58845e94c3ffcce014793e30d295c3fd5831d8c55b32a7ed18722876e7ad5b8d988337b7a1748af2d1ca7755603ddbb9c13cbbf879cf3be8b655ee5c33a2d5491ec0e1bff038b9866dd98e05866b2b05bf3f47f6433fdad558136d16a591325a16203a8eb9b6bf8387153014c8e32af86f53b1e5c91df974633843421456938a167452bce36ce075ca9dfe782aa01101c65ecde54c7c5d57c860720ad4d92e66e723c57ee5a61a8d36313028591a637f18394","amount":40000000000000,"withdrawal_credentials":"0x00d61c08641611d798bf1c356e235b31cf5f9ea2889e9fe13660fc6783be50a1","deposit_data_root":"0x2cf6eee3adbbfd8c73dbcaafb99c0a01a667bf8e8b173f625bb426252ae0f3ba","signature":"0x784711df4c76ec6370bf809deefbe059af53b437d905dc49f808466dd6cd86439206db279e082bb994cb0cabb719661c04ee5eb803e0527817538022e12c8693a487a39a04aa713121b2c143254a2ace3760025c69a7870ad5784565218bc679402041ce59358b8c8cd7ccd1a0f8d51a7390e37491a9e84047f73f68270b69fd3537f6f408a50e522dedbf759e2625d19422de635a0d3b6887ddd666d10eb75d802cf1cb55350e07d8bc1d05cc9adb4874bc94430f6305711db93456e81cacb42cbc812affce277744b80acccd9097362e5f92e5757aef68d32a2e61ec27940afdcb3637e8a30d6abfdb9c3462d7780160a1403e4642ee11901bb007cfc593f82f3245ff8fe5e7f8f623010fb7c8946df3a17a47c1f29088dc70f5709f952016d7a4db120eeb9ba4320a993960cf83adfb1f3394e186e8e2398ffbfda44e832d6f8d2f334db57f9a661cd7cc71a005ad27aa8075e06273f1cddf942d4c116a059a00361b9f6b59d3fbc61a2b7ac6a2abf342802a2c8a6b3d7bac6e240868eef9d9017f11a8040655c515e397b6b5c17d2f5095fbc0a76a98623b112ee8de743f7ade9f2cd939dae4d7a124ce80de9aa02175ccb83ceb1221398a495b8de7f750f5d69f9d72bd06db19649c44c962babb34ebfb18ef6651f373185ef829776cace032ec12463eb02306cc98e86ac84f0d2d0d1174ba1f8381e4157f94bfff330cd9ddfea347d6d1323e62631d1611394a25d6251073dcf55929c3b944727335c48c062802dc337473488ad40d405380e197f4f442b28b77bc8fe12dcc3dfcd7617d5a411fca91f06babd9ae9d4a2b17325ec88aa73f0d0b69051140e38a71081e2819f72cb5cd676f644c84e7843d2128aeb9da0edb92cdacc8089873e551cab0054d62e28e2d9ad8762751c5c82e14846e1c93d7959ab4eae5c37620d022a3d61522feb1967988a58333dd5b5b51bdb5b7743a545f8a28fab701adfe8dfdc0ba278bce7bde2810624527643b7f41eb2348f354683e9658ddfcba6b08990b7718103c85faef22b841071575f50cbec7037d22db0c26eb313c7d43b61a4708430fce46aab188a72807590f50cdb0e2bd2978b45174a39f7c049180de9ce74a87cd7ec3ee1a7a17c1275d86c30466ce9b87f178da41ec23893f31a170baa35859922d2e5ddc4edcb3040dbb4a16b6ecbef3cb88f26e363b53946797a841a3060df966fa8e9b78addec3c7a203a3a427f47154622fac18353c8021e87e975c9355d2b759b1f0daf98605c255343d8c6339399d20fcc9f81668c59f95ad32f3798cd9177318650337516a38c63fab65ad91fce60a7fb9577650fafc7c4db0e8754b498e7a25a1990acb440c7426924342afcc76213c0dcfd1ddb4025d3c828c4e6808a66d494875b67bc7e6b18e796d8d449fcc0f25b15a0adb23edb3f56f6420765c449cd78a6c8354bbdad4ea6a82b25b1334d01cc16ddb0ec925d98cd388b6f905bde2ecfc554459db7d2f11620e030b5ca4f51173331b7e70d8f60b0d3cf0f494a77f9c6d8f39aa88d40387fa474af9df812490c2c5ad48e16d489d332204b20cdb096b4eeb0615913c584beff5b7a5e9d9ec3de456213a1247e06f55ed4fa527b0e266c86870ec4738f92758cab78a38172757abbc86fd705553ae390e0db9bf087ce8790cf5ee4c8c026824690af1abcf30aa9470eac899254d9cf942799b58da1f78c90207c4d76bbd843e3014bb0ddbf4e321bd0a3a9ca503602f5426b89dee58856af9fb2dc10d7a1951dfd16abc718cc8b21eabfeb258a28bfa6f731372a2b1cd6a3316997b3e2383ed737ab71f14ed469d9467028a5d4af19d3c4004d5f0f6c36511a019aaa73c013266d4310a3c1496dfa2890bd815a9eea33aa5f2eb8fb669520dcde4fd5d1a44ebb24aaae78efc95f8c87fe1603191b6177e4c8f17d9d33628cb987442e9dbb39f4464f591f36c3a49dc5c5e9f1bf81336b1a2520e491f74500a102a4c89bd4e95e991b228c7cf226c88cb04432d06d3065dbe62a0955be9a7d859096872c532e3d4699d14dbb6402b3b451133029af05ac4e77dae8730d769f7ec930a08f56cc2d03356a3f432821bba520593ca4fbd534c08b55e897d4c1ff474a75d7b1fec2a2c6e28bcf8b46332b92c6772afd1898d4741eb37c5de1e8f627308fcd43f8a92a9b36d119357f165659698a5f570ea228bc69345ecfd6f1ae86fa921ed473e5de73d33a6b012cc79d8a6082e9ef0fc13b704485089656b0c91d4a10d3904323acee1d2e51be112405d636adbbfa1bcfcb2fc7c038d021509bce2cf09348dbf6d23b475d2730266985312b536a2cf0f7733fc7d798152960d886262ce76ef317deb14195b85eef19de4434432fd523840d4c46a7a25dc4380818154322869be81af9978717291e47b0325544dc61278d97a58bf15d53f43722eb747791100a540ec9e2cee2543f6eeee70cd019a9833f68828a9968a6d232e3aa970712bffe4ce766f64f6a1536a8eb89ba2eee3dc9b3561fca61242b7a1cbf8c5b63e6bbe20142678b3598591bddb8530d69dc533bad7e498e5363f18db3e55566f2577be4b152fcec81fb7af0861f8ce595dfff81a87ecb444fc983dcdd9807b1b971525f4d6e201329d5b2ed9ffc7dff2beb8cafbbc404e0897c5be6ef4f138458a618e253d941ca5214acb8dd98f186689dbab304c3e71d5235aa247377c13ee9f356a81d5dcc05151655459dcf45d3d80b07a572ea0f8d583cf6dc47176449bb2088cea8fc64883698509c15ab92c047adb43f467feb1247c3660bc15a665be690cc31ade446229ee3652a393f10e6436a32bcfee6615fed28446ca6babf451f87ad05e2c9d5947f664411e15849676a335a5f714b8e809a34ca386f6ba5bfb99834e8f3dec79676a07311e2d7e93793a6e1ba0a78745002990866ced42d94cded4dd45fee4417f826b8cd8683ea0ca7fbfe421733739f0a1dbb712e1e638ac493b6eb9af14d608c7c99255f151392fd44b6af4cb60f7384dbaf4a736566dbf4e86d1cf336445bbb3945c791642f4159691220daa7a2f3b0ee9ca531f486a179b52311eab87ca7f428bab36b94d601ee511729de67e6f20d18deb5821ab28959b23416027a7246d8f56d1899437d3b986b8a26441f7c1ac811254aa15b802581deabe30f8113b179876ef499ecbfb32dd6f336d7c15f720caf4298183c04b7036d5f8a9d800511325634f564c77b1934a79858dad309fc50289398f2c46aeb24f29f9d06e2653c08162a64031644a72a8ef2c20c324a5e9ec706e7e8f8787d99754a284f404acfea3af8b3eef22d4a214ff97f2c4c02293ca7a87d212b91900440092c05b0cca1c1e8cb949c5aff8ca358cb65244d8dd1154e33ece7854fca984121bc5d426e454bb98daabff444be63be5ac56a4db07ed93b018cbc6a398ff3e5835df0564423f3ca405d9dc5e7c2eccbc85d672ff9264f4a77188156fd8796937d66c0221ca1edec70f548018c261cc362bfdfdf2a4d466ef962c2b277f2b76aeb237d8d69a2317dca6798a0331a83853ace400bd4136e00aaa5a62181f6c7cada15ab861f13c8e4d74e39173350b68d4f9101f687858f85c64877eba2c95413b470a1ee11d92455d0c69b62fc09d4fee6959f4271db772c6f502349e5252590c6b681eafbbda46e6e89d7e8713080ec81f3b29b773588d8d78019ad65c856afde6061c3ba060221b6e6626a7bd57127f26281c7d66c97271d8688d3518d439da9800b8e3a05a4e7a017325059070d70c9ac6f503159a3c8309873567ccfdf3c6c4630dac31cfa31569bf9aee58a3df19616c8ed93fd8638a585f2babc38178340ee37b07fa36cc5aeab18d36752db308e1b7849ca909fa4ef73495197bd25f3beec35a93cfa9f825c8d143b0abb394255b06cc646b4801daf91f324057d56a0cb295dde9a3be4624e316f4a01b358844ca7e3ef5b5388924a42b5630a0f8537167f7bece1a48997d85bf248cf60e37a69bcf8ba816d2f0b3b1a4b0eca8aa7e8e0e2e4dd3757e2f7ccc16cca0ac9222900ddb8cbc7afa5ad1b2d07bd4ff453ccddeddc1e4fab72e3afad4a1ffab70a2bdd58499489716c09779de547c19ddf61fe912668b98a6bfbac99632a862784cdba45444eb4a8d306af8bd65a75b957a9a9905456242b5f3e71f282c36057f88b42cea427bf1802d1c20f95fee281564afe19be50e5b819ba7502a171fdacd723dba2a45a1f9e9d1ccff9df7053e22cf2e25f226946bddb309e8c6f52d057d1777564f962ba8f146c0a02e14fe1b2546ccd526641b5344aee8105195173dec8020d8b31d47012271f852184fbb19ca773bfd9861002f97a22d9246fcf94c126d1903ccda08589c60c25c5ed0958a9f9eee2361d9beb0c35fc79ec4673f0c34c96da13b7703ee9ef60a85bd9863550c7bd003ad96daf639487a41a6e1c03d0cbfcdb9356cb34538132541ff81752433bcea1b738289e6eb9428cea64f2139a4020b4eba1712e33f8c32839ffe0534560a1f75ee0cbfbf6b259daeb0f1e6e1f6a88cc496d325086c1bf639d016dd1728526876613d7db2bea72137519d36fc942db8f421f801bb237254bbe54cae6eac62f7de4e540a7ec077a5c8c4ef8c3da6d8ba3dabdfa8efd3628b0116ca9e91404aab4384dbcecd67864a75130ae1b549e174b04fe5b9450ab23cdbd92155d5ae75fabf2b41d9b5d4cd1a756ee91da071ee41812f290675db6e3e4a3acf0eb8ef1cb7a98db1e1dafa4c29e60c05ff809c9d235faa322d4385a47189b8fe64d14aced86721bb676bd8041742d6737a2f7fd7be1747a2951bf1bb330b735613df44637804eeeb11c86e31b8845d39b1db933293271681e800df0006f50d9947a0d884640ffe681e1665f464526d6c8b586fe9738f33e26588978e12825ef11df4e98c3ed649dd5d68323766a24ae6b81fcff190061ef3f75437aa58d5dcec5a99387579a05df58fdf11604e0fa274bfc8c19a3298998a45aed9452a4580dc8c42d373ceefd231f7c84cceb3334eb8d867c2fd9dfd22d157b544126d109f2f037e400e527cab96798f5935bcadf891a0934bc2a368f1d80d99c29db7589fc7562655fad7345097980fe7de26658245d93574659dff9ae5edfde77fbcca46fdc69dfd9762671c22712a741ec2d07e611d888f80a9442926f27e9e07c35276a50833fa86f2ca08cd35a6931f4e9c125213ed1c9472fbc7bac4e4d0475b962959f86c0fd1f4c2c042cf7d6b14c117ce10227eabb17f303738f8e72b148cd9927eeb097882bcaab0f931e7aa87740e35e38bcdf4b411a3fed65cd4efa8c123dde1aa794a4dd8b643a4834d750f554cf6423360566dc5f02d211001a5971e6069c509785b7a26c27dfbc58968713ef86e96f040fd422599cc1bcb477774e75c922c711015405bd451d83766aa97a6539cc823d888de188c09a6e0ba36bc7ee00c84257d385ce4ae85255d7bacb20e37a3bbba6cd1ee094d0ee7feae43a7b0606665a568d34fd50953f8ff9c8500f95e86005e5814b809faebff7444e7cac7013551233b9c832c6e3076cb892a09834909969f10f954ccda52c40b369295e9bb4592b4c01bf5effaca3953b37f926561c3674512efa9b6e5982bb7233938e21a094bff9eeab04418acd7445708dfc09690bad278ad840e115a5585764e7f365a4a61e2de0a955772b0bc6d97fcf0357afc619fa2d0a2002062aab9140c3c108067b13a61dd91aeff6679a39e4c5c073462711c1c9ba1631a067c4087dbf575d710ba3cd268e50e5a5d8107654502c1f9d2f0b27304efe47cfea3d2725744ee9199e075243ee3dd5e8b0de2f14d0c677064abfcb94522429a99455b577c2b17826fb2e518ee4a676582661688f81e07438f86403a1666d36c118d8c22fb4e4a3678b7545417af06a3d2375d8768995c46e24b5ab173beabe4d84b89c8fdc63fc66c8a53856474d936c78c8e9e767d0720191cae5bf19e5575304aada5bfd688c5b48513c9935c77a33ff8d8ed242a1fbf9e86995af2f8f5a87e746ef3029a7fc47a4879c30eb32a095bc5d72e2e288e4b84f883aa85ed078e0135eb418955890e493fc6231d7b34cabc81103d2d4786343e4fa9c9595f8d2431727bcd560dc2aa2387c6316b436bd947c8731feabb446cf946eaf997b78ccf30a6cbe42122e020bab475773bda5f2a9f29261d29320f3425816a8484465f88ccfa831768a76241a7dcc8713a124cdf2fffbec3b47df8de38f68a82b3c45485b11f22cfe9a0e904f11c7381120d1950b347457f7c0df8545d34ee052cd7e8a62e126f2c7f1d8bad7bbe93be033c1a7f667491481d4ff5466620aea1516978de3a2173af178f467e8293f9fd3046bdcf0d5b85929ff91318282e3c657d8e91b9d9e659a4aabfcee4fa758cd8e9fc075879f650000000000000000000000000000000000000000000000000000000000000060a101c23282c2d","message_root":"0x6cdf0dc187297f833cab5e2a94decad0b5af9bc4fb0a29db105f2cc5252ed769","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x67e8ff4a0e3444530ea7b7f753d919ae72c66f28272270dd2bfd1ba0ec1771e28f17ff5047be88b5442d90b3a3559738563cfdcfec764905190eca89b9aaacf40b4ab52569b7fcbd3df809fa3308adcc826259060296533119d83bdd638925ffe13585bf183577ed8155bebaf70d3b8cc59c2aeb5fdc1edc4fdbf3095a45b43cb9dabaf5569fb2e9e60c174b3c9571cf3f099554321445efe58bc5e9f794ab34c3fe22e4a0c38ce3b8e832713c77b1dd61446bdb95f5dfd3f212ddd45165e5b5b50b176544b7e54dd7dc715a0efa3a2e43389c9701c75baf693198d6260572ea1b7a027ff9316e9ff85ebb53639096befffae87b66fd9966058dfba708efc26c8ac3a3ed99f38a8ead917aa6c656186575b1c149f64cca6321695cad2f7584e18131d9eacc17ad3a1c44275200b3d2ec662ba5f7f394ac38470196c57f0e252c9cd3f543f17a4ac7c550582dd35cee8cb32c066566395765bcd9a0837a3c6d069b94a5c5cf9ed6c0bd79d41778a03b6ae06b87a039b6df0d1548e9b22075f594cc235c53084c1af4d6a8e5c05db24f765de4cc7acf6419dc43ae6e1e44d4ec110b5716a7aace1a990f61923916616d0d0440e74ec6bf4620b26bd18131b72d0d75267a2840d630a451a4cb2d2adb02311444fd867ccc020ff4ee60b6df44e37267c5ec85c2adaec353cf10c93c53ea5c8587f4bfd8f5c314f3cd052ca99542304d537d33384410f40b6ef66059207e98bb253c0885a28d9f515ce90d75bd13442f8631d4ff1ce8c0fc667afab8fa34907eb81b3e79871071a76d74313e54e7e8effd563ff780473a71173c537429ab0867e3fcea234aa2a2658e5b7375764686edb1160b01354640c94d5a282e707cc479b720079610b8c83f626b83f0911494d8f072bf373294d4def4ebfea252d49fe2cd1ac68a6817372447e0a2c8cce75be623d020264f906c5c625407731b6fbeaf0c25931d3601bdb47bb111d682b17467f12d135375192a652b817c87804f9476333502e7e2d070ede1fac93188cf1b2faa39a180467f351378481fe57e1637400c7f221338f835322a545cc07ecd80c4f09df1a958b9041acc6dcc6ad7a57c0f0d03a1229d4df6ba2ca166a711c369325f812e5391ab5e712555653defe43e6aacfb1d84cc697212f4180a9025bf6aef86deeb9ecd21017473359ba594d98464517246c64ad2ee7df6b11a1cd49689918f492a0a746475aa49487da9bd318e86196c49a9c9fc43d6942e12ce028f7b19ced7c5e6e728ca1982c3f6671cb9fcb6d99cfcc37742b989f759198910198f17ba8d9edd152ab6e8bb609bc01e38dfbde970083cb309efc5cf3a09ee77c4b55d3d72392200146eaf51e5544d61532e295968f02986edd5dfbfecfa6f3e32aede46f260c1f53388f280383fe9503ad2f379acd30027dc7a3957412c227dd0b80129ba3a38b6ef577f630df68d5d5dc8543185d37bc7651807ce470e669266ec34f86749293dc7c302c17db051744ae2edd9c37243e48aa9aa0b3fa9ded4d3c4f6b74f84ae05a72f56833ac6e59579c3e3b564a1e3fc6db1dcd45fa6755c5d07f1c45b9df41082343adff085f94deafeb80c05e6d9e0b0fb56ebd9d4ec0e20ec49c600ce758b304fd254d148919f9cf31db8540679fd422c2d9dde0fabb09696b1da3fec41771effaa7a4fe91441215be7f27340037cfbfa3c77b6271711327c4063e2b6d1e5cb98ac068951db019304589cbeb17d74f36d5c419000c5aa7f5a10cd8cff28652b96c6669dbabbcaec1c2c0fc0fe98db507e2f0298873803574bd49d9067acc0ae4fa1c3f471744f92b4453ca7e96f37e3e67c472a10abdf7369497569af733c02e38d37f89ebed139e95c324e8a1939f77bf97e1526c2d65a5cfbd7e2722ccb1bca8a82bb44c83b03fd92d26cece797284ecd62cbbfd91bc4a75225f3ab0c8c86b6d4796e9b03568de61c1f875f13e84775c3decbe0a971bd5ce046ddf7c9634c308606186e9ce1c1be4d8dc5d1d0013e4e93a839150914949546c083ca8410f43072b17239ef98e2df808cb0b47a2074db35aea6ebfea618f92bb51c47699737d1b57fd9f0d2124ac22955ed2c9e7e38d01b78c6446dde6dc08824fbcd21c07b11d47463666afa07ca3334021bb3cbbc7d4801622affd63263219e7ea5e9eb97f32e79e8f7d863648d4bf2cef683b835f489edf7ce8109569958d298d5bd24b25624ddf88529f0f43e0ce9300e19370d7c388970a9a4e0acc90784f57d1da280c412686a52dd94efa64d70a29515d2a4f801b12c91d43193b122905a577cf5019375ba072485f6b805bbc74e1587322b4e072ee5de77d006d927f52dd471e210c07027714fb296489e233a6e36402ed92b82120168b20cf4adbca88914f165cdf207eb615c30299079b7e2789134bd25ee3dc39c073bcceb057c41f951b1a400023eae95b85e4cd7d4e179e1522bffa27d78b1ecc7a763d3a288944560126cf8f6ad0c982d631de4536087e61abac3040994a30b2afa06ac4a3348d8b2c3a8705d7f891fa3a549a0c197380b13f308a02e567e4420caa43d8dbbcfa5a6992a549a0bfa3947115d2a0b987578d7b554ae09e7ef4fac230296da87e5160c010effdf32df25114ec09867ae4b9094a4e3bff7f74429af617c935813d4c9e2c473ad240c75b54131653e13b6bf3c6f4e093e7e68834bc3e111456f8be1a92f6cfceaf0e80d81a0e121e4d11933e1773f3da0dfbf2448f189c7cbe19f7918782abb96bc8336451a7a08797148d0947b19110543eaf1158f68ffcba802e67426a2419e2a0c8c298ce59b0648ebe35f007f9310218ed31fd81be04b4a8ceafb927b0216511992d9a268a905f151f7f9e43acad6ae7f9e6e186c50c1e1586738fe884c6d78e5b9127d20bad3764b3e61f0832c0aa1191eb285781116c161ea0d87d836245adf446f3d927a0e690264147df035f681ce8f922b381c91d95d3056b77221db6068594dc0fa9fbdba533eafa090f815fefc5643616caad18522136a00c8d5c5dbdaa23e4be5151a2a7b126a0bc6144d9781deb9c31a49fa1ac47ac7e34780a77c455ea34d7087dde79a9f40417974fd71d2628255be98f01abb7258444c5fd08656a2b709fcc1acb8743a58c12efe44b9d08d0d6cc5a2f11459c22aab28e0bb3e324d823fe02265c54766d1a64f1b0d67fe06ae217ffded70ca05272f5b4e9b3e400db6380de4afc8d1dc00a8dc642573fe802ea78799000400eaaa8785f32e67e3b5c388848cbe1ea3ede41b1294ae5434ba7a8bac4677d4b4fb85b4e2b3bea364ee4856fad63bcb96a4f0f23e2c81aa77b7c2f4e10fa66859efeaeaa1236ee6d2c8590e7cdafe5e184a3e14d08444331c32bdcd4e7d28f475d316c33c122a394da651c7377f7fab7a1e6be99d6b51c305207bcfbcd4b9f5fce2fb2712ab6c3ec01e878f2caada04281acd56b86cf3a99c45687c5238c0c47f918feb72bc95178a145a3c64f8f139f38cea75a2ea4aeb0dc6a92b72aa4ed0c6bdb81f1bc798ca817ae7fec5cf3120cef69eed80c37b03de1771609fa16d3432de241a50de0b5e35fb00181f9719f48497d4300b77270c83ff081bbb047a8a3ef0303ab820da15b5cb58e23040b6596be5317c3ebbae268c3f40ed63418c89","amount":40000000000000,"withdrawal_credentials":"0x00861d0d546f1a3a324915555ee733983fa7cb1f1e0f0f7542e5c1634051129b","deposit_data_root":"0x78fc1591a91b7b580f4827bb76c14bbf87c5336f58dc9e46e2e8915a4980546a","signature":"0xb2293e101dba2617cda9c0ca0c117f8d12a518ee7dde520fce66440231a24b510643c427c681125dae14efbcf9746d8372878a3e5a468d0664d84742230d57e3cc95021e6551bb2e25a5a948839de60f51ba3675e57a91cbeca63486aa47252868240bf05d4d504a8b8137fe50b0823e678380c85ca1189328ce0b7adde2ac0b980c54560e679d388b09cd5b0ac03e2eb6b3a363c85d2142e4d545f70c4e6f2c66e4ea68fc09a0f46fe0be9184471eee62569e3732a2ccc02f6d82256a927de20dc5bbf2e7af6ed47e1913faf3f7d7a4fd97e62ffd9169d87b3ede5dbd9ae4d83e694e254004e8f17aaa6ff85b805709e2bb4299aece6a498bcafca5d3c0e408f792bda9c9a799d68e4c17534c3133ca31d674c95431391b051d5553f7db6aeb085f73296197613917137b3dee732b793b987442ba3413e3213d05c524d768a1972ee19e9a2f6e8f277ed30b100e574386b31df7fab2dfbb22ec6d5d6f176ccb60d7dca558def6e4f84526017fc47df2db3cf8387421eaaed29ab1054a019548a0469fe1625096de8f5b1c45643d149f4b5b980a500bf7f3bc1e0e7b19e5cba78df5d62eddb3b1d83f36f55e62c53e900e0c04622acfa395ca2d1c46ac440ffb964aa6638a70540d9bb93908f2dd0328ffa95e0b237e5351e7258d01a722fe1597b9cd640b77d742ee4abfe2c4aba3c1a05415329ffe41514aa6cb7efbc90536e17ac13fb363e3a09a4d8dc520a1640c17c42d2112c1a9dcf5cf885f033f21d59fd2b15bbd60b6aab9a272ce530a0d88aa5112e170d11d59b67b97cfb9262cb75c5ee1e56eba9a6b9a361d6d00cfaa9876845c11a17b8e706ae3bcede46aa96a58deede35e35e46cdb3a10cc8700941b7a4dbc620af7bff026b026d6c44121c3220b6be1ed490ac711a467996c1224969c934fd566dec0bbd8b50692877dee7cf71627e8aa4e8c38f1b5f2ca9ede56ff146da4084d7126d8a47ee994553ad605c6bd5dfc544daaa2ebf2fad75f11491975745d80809e44a8689ffed0e7fa61b9c2ed12eaf58661b6287853695e1cee584a020516a89a55fefec1f271991f49301b6053bf507fbabf3a2117c8462f316d90b6f55e770f4a217abe85548469675fcaa5235139183862a7da7368e900d17a29888630d8bf2ba6a746f52405d19575da6d429506e0dc2a62c70e79011807672a978fa7be76810094048ef57137c029e76307bf98ed0d6672d82a33fcdb2abc11081f27f857413c4c6c434dd907717f9ba310f01bd984b6ea013b50d3ca3fd7a7922fd723aef733f95680598da040473a2e27a7cdad2dff22b821ab631ec4938539d130063d483516ed884a502e4f9ffcad2f540a06e6d0fbb860c5a4d3c3e2ee024513fd33d1c6d8231c979cbba2ca9c520b9ea583678c5ea5c0948adce651a11e8922a194360ed22035900a8bc6e516359c5494669b74d46dde31effdadc51e57a0b9f1820de17132d9a52faa8bbc71fdbc7b1e02182eb60f7e75b944eebd95e343b2a63d6349988f0345c1bc4b7f76982c0002d99a078b76c7fd6c858f3440794f14c7cea188a870c3507130a7688bfbb51a2c90eaf4a89c4bea2c824ac706dc41b13610404220cf974a4a37b287973e47bb32aec40bc939899922b596611fc1c574fcc4d695b5a45f1634eab3a573956fffa7a180f8a170a4a26c89b138b00683f283c50597af7866938093a0ae76dfc2b5c2d9d4e2930956eda456fd73e0ebefd47c56576bfa0856c62b35fec855409e538b754ea6c723f566d85845127a50be604114fed6dc9e80a03e24a4c49595a01909e67a6a0c0f7df5206edaf62efbc9014fd45e5c0494a4ab3e8ea7833aae3c9fdeac07d84a0e6e6cc41ba82f51e95afbe590c2841028521ea585a6d90fcaa31844faedd578b013cc8f16ea7ba70447a82b338dd58b517fd3191979ed3a250805109a3bab718b35f7da3ae66b247bfeea3e4cc565e8ca014fbad018cbd49cbe96661c821d35eaa834e57b82897a11546b7431597b940e1c442aa76c570a2adeb0ed55bf7aced9ec172ebdaa41772db6acadce6cc23ae5eaff8722ceef0e8d65528926d86719b75c10c0b61348c2251b3313608b0bd8598d4ad077e27af7399e284665c49c923cd56cd035ff6e7a09afef2ea69a4cad836b9e612fbe920565a6ba6cb40692da377885c70e766f64b5eb4b3b63b3124c1b48c572726aa2edba0def489daa99fecb60f86e7ed39761bdbefc760291e863fca3f731c7010266f95114d0eb3ac095a258f9cdfa4624ea36cd33355ab0316d97f10cc2d4176c10f425758ca6cbbb9ea0278c5d553f7d357d264e00aceb3072630eb798a17d1bd3f091fc5c94b2775a9671b5c5583a5b21430f1f4d2cdc62a0249fe0dea12cd4bd71fbc3d14c5c2f82c7a008c4b7ab66a7c16ace8be55e40906c3c1ecff47bc978a3a6d321f0f8b2401aeb1bf7338e170f4350705736ca585d114366896237f2156fa8728fd994c42cddf6929ee32ca65921f50de7a4458c3e4930bb569e2ad9039da93aaf9ccd25023556c5b01fdf4ce6bbaf99b4b70ddb34909ab689667887ed433afed221d0bcfc4257cb008cdbf8c51e78363f57144ccfe044b992543760d1752e8cfd85fc14a51efc5c398fb0e1b5509b26f5874e07bfec325acb080e27012f5a33392a9436006b3e2703acfe440cfe5b947f94316302524fadacf3abcb8a5d947bef8c9a608e33b3c16a43bea26d630e790806384c3262c81ae4a573445a0315a614867525a3d379d345bd0ae6f6170d60cc5cc2398911865ff62b0f752e6eca32f0a18588b4cd1503f164e894375fafdf0a21671a2aca320d86cd828984c4a4ef829fcd16299f1df680f0fcfbc90b76fcda698225a21a044b4de76b079e9f37f48cdd33f6422ce416a25853dd21157244a4978c44335b070111fa961447c9d43c001f2d6c97b3ba5bc0668c5c429c182074529def393bbc74a259c1744a093d0f473f1f4b1f626da72ba88c74a0c4b2441f31d460cbea734c166149ea07c0cbc120bcda2ebbb54dbe9c00bbf5eeb107da258ada44932d08efadde43bf3d0e5a3b349e47e82fb7f9bd51b5ef27f5b48bac93fbe11785e13fa8c355af668392ff5092bf983f3061761ef10cb31583dfc73772b129f5adbc803ca7fdb64a15f2b1b825f00fcf57ae51f50cfe4b3fdafa08159eb84e009c128d2007a14fd751c6700ab093cc9c941985dd2aa447a3e7bb41b54fd3d4018e5507e1d2de711899fce7c255e693863612c9a965ddcd157d3205ad83df6211a3ca687162b03c5cb07d80b7f646ffab94faafd8b213d4e827dd915f5f1e4b23c1284f08582586e61949bc42432127acc9609216d8a49866a1a932e3faddc312f91444b9f5db1e275ea38a62aacb90abd777d25825a508b75a7212c079155450bc5a0f30ea11ad72816785642e9af4d93f0606d7e5b495488b9a1e91e9968cb10530d747f48fd90c8232af99ea119d428e009b66fd5b49af79216d6db4449a6a535b80c292a2760f8571629b54272a484da727f732e52258ad58d510db6717c3fbe3267e82bbb28b4bb528b90a3fe032983462aad51e59f83246d0c5d93b0585b9c65e80d635328953feb9bdc9bfa62649f753f7b887130df23e9f55d861b808b281c972af9b8fe6ef2b555b8a1b3543e3e7320fc4e0dba556aef0ad39b622b3a5fff06958f72262bd380a9f2c127963b0f21c76518d08ffa7d6d6b7bbbb5dc511226f78ef8e0414ae8626a91eaff7039de51d91f1aceff0f08d7d5a2a4a250a670ff07db846f2495a8a00d0766f2080e8ead22da2f2a9f1885be881bf8d30b39634cf95cf1d8fb1613ac55a439614e65319de6e83ca6d367dc298d71177db0ed613cb5fd85cce844fbf1b2aba3a4bc13238776989ece5657ddd17a6a272c8bc66f5a8f78316ebfdb724175db06d3f66200fc19fc51145c8ba901c695cca7901550a9bdfa74db2dacbf9afbdf4c67d05fba254d3b5f7acffa6c9ee1e46c1ee7213ff3fe42046e9e7c2cd35f3734d8fff3e790ca2893e18293ef9faf62ab56220354151a6a8f4f0b8962c3d42131b0a4293a0323988b75b87122f7f05df7ca8fbb7cf65a597d41f0a459d996e7b9df5367c4f030103c01e627e5a80c4336d69951d066d0403874cf4ae1f3074b7e8d3de60673403d4fa4656ed34bfb3f4cef673d49aa8c6cea3feda21f0641c2e408d1c3a6114a47b33658a49e71118b51e272129ba135817b7440f698ad6fe8c96de622f94a8d9092d2acd7924860aab3bdd5cc59964be90ac535ca17a8ad46e3c7d4745345d14344860320cf42dd81999222856de92031b8e439955899ecfa02da9b1b8aab2484907fcec8c2675c475da038075e31ecf17f4df48ebee906c652348e3ded59e91914048db0a0916100d835af3e217a97d5219c2f30e329d9d7dfa13fb8c23eee9a6d6329babf1bd3b823055a62411f4d7d68dd8b786aed38789c47a73232783fc03b0935eef11a30d84db762d908b29b694af29da05d3b143390abd8efc63f5ff9b7918a744c5fb23279099365f2a6fa1b292612766296d6d63af61175c475030c5ebc9b302bdd0f3ad2e68b46fcc53f1ead5b322b8d24dae424bab4ef2f9ff79cfe5a5371a8ec94035a3c8ccaca80ab601f17d26efd7bc163fc46e38ade6621ab5fa12191ee8582eab39b2bae89dd6e8298e5c7c21874f82a1660fa922a490e1ca22f5e340a20c38ab6ede2dc4225617fdd13e9c20bc62d3fc8c517562abf9ccdea00264371ee3544facacfc98cf99db6370be1f6613af53b5c7760b52cf8396fe1f375fe1118c42e192e650855b587b64bc92bace9572181463cb850f6b283b5182e3379f0b34bb0ebcb982b66a717b27a5a4ccd55d62c2f741721fa322014a029271f11027366e09024246840adca962d77878f0ee8cf9fee594cfd8b50ddae77901e445ef00abbbbaa11e99db5716fee559a32614ea1b99fb5281cf55066aaee93d0c16e732732cb8543cc921de51f217a0311187b1f4c0cb72f89df9c0136a624a99a2a468c26d0fd2f749925bb1daebccb19f5eb407d6108556e24bda7d1db454da2d21b1595e49cfb856726a3e96e369278cbb0cf46067d5d0c1735a4bf39de167527e665807af5bc7a7127563d22787ac660650c9a8bad3063f4309a4615ea7358f055772b940b936cb9d808193c0bbf9d4434dc50bd1ffe4e01f5e885e981f8039c1435689145dbacb39bf834db8aa11043044de97b37839ceca3dd51b00d604b1c5afb2b0e646f91d0e77f116c5fafdada5d551732e7c460a050bc2a489b2d5e382630827e337c1d0a29cfec72404879d24ee9442270dbecf6b2a30f39cde49bf095fcc3293dc7c4aab09f1756bb54e59355af9cfd4d81f4d35064021cd51796a8f6399296fe6f57d3629e028b41cd16a84ea02b614aedbc290b476f2b102966bdd435cc48ca5224fbba45937e71ca7be1fa5f082744dcef3d216904765bc160d9c4a18b1abaa95041959912320be2736afa430d9f87dfe8e76469ee4297450afab3adab28d3155dbdb90d83e93f4b3b34682bbd28685decace4bca2ff5d24cee5addb653ef9a421fbab2cfb3a3347fae4353acace24ceca7d601af08f4f750e61f33d0d42179d5165f3623741bf77986205e951fa3f87b32bc219822d9673a95a113383fbef01385fd30da5a18a19b3b77bbed03480ddb5344dce5a8add8af906d72f112ab44588b247348ad0146369dc6a19b52c8c73520f822fcbd4451b5e2bbcfd9f444fbba80abb63378f737073a505c2d52ad11c60fc05f97bd5d94a64a9f73a6ce8bd27164d5fe89032c2ed080a7ef75684da33c29076ff1299cb76a6c57ff4772ca0be5b62b446e5829139ca24524b3e27ef6ae03422c81f7c790c1f942c6993514b12e9769c28bc8ca92dfb062cf68ae5a00aa5ac0b8792d3b325bbe0835b36e0612a55105eef766f765dca7da80911cbaf4054eb749a4c8d564be3b5583e21d3dd1ede7f01be25137665c4da5432d7196418067b1a8094bdd9092dab821ce1fb0d5e98626d88eebd07692f00b7c88c03d10e6558effae73bdd7d659e73bd066774180b7fb142a6a333d74c62e295a893dc97de32d9083a911ed2360d1a5aaab51cf32afe7872240a4da901a95b41e5a4e26f376558454d13983ab17bc16e15450e33d0357dcfb3307efa431e063be4351268faea6dfd80cbc17bca326b479524ca7ebb3b1039af0204ed74b0a7e9c9e18a54ce1f6f6d9bbd96eddb4acf1f303b3686aeb04a81687d17024b53b52e1ea0a5d03665648b29b3caa2d1b5a4629e756ff4e288f237fceaaeadcb258b8bb1e1b7794f46c30ecf5716ed5f08f2dbc1648511ff00d43c69fd2a3b250a4f62b52757b8b95adbbff13376aa2dbf11c46639ac025459fb2027185a4b3c1d8da3242657a878db1ef0f384473769cd3e4f90000000000000000000000000000000000000000000000030c12171b232b34","message_root":"0x5efcc52c90e16af6435333ca4f7a466d93ba58fc3ece01818e59c6ca32880663","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x61454470fd02a9c7dc66cc8a7000a7ef50f63214e77a3d6705202e5aad2225ff9c3402d15d8efb09909bc4b493f5593386f355781dc7263abd2d321979f214bc22d713ca85fd8343ac01c323d4e6486da8718529d90d622c517ef618eb8584bc1f1ad13d2b1952d3284b8d4a5c07be9b8f3b527929f26c4aba38901c8474e2acf60a0661ae64a8606fb9dd740c808e35e02dfd8cd0aad66d1b31ec33739c1b50fb3a0fa99e45e250c59e517042b49f8fa91df6ad9ff7166f0cbdd478b44a24995375607f2f84a375cfdccca75ceb1b99d33fd1478a3d888bcb73b42040d02e996873b211d7010523f26971ffbd753c343c9dbb7e8637860f011ddfe3920929b0e027bdd9c7af04edd9169a7941a1be6074083a6e49b6ae4af3cb5845a9fd2d2b506ed254796c50be9dbbdc9ac4c5a4e4972c28acb988977bcc3277f31c8925cfb5a4e7a9fc5ab31295f9cafb32fe37d96e2a1440fa7c6e3988dea3a56f10052ffff9000c036d64f325128cdcac65b41ab26e0d1ccbe8d84f38ccf4eaa2ee082c6843b3b95cabce1c7ec2f384f41d76620a59400bb1745647f1f83f0c47f6e9e43659d7b5917eb51eb0b96094ba7062d8f69ed5f5057cf9dadd1790ff05811fd2ae2156b56bf26d77502cc3dc5a923c89a6baf72b0678a31b715d7c2f278cac1bb0b44e919dda2e2eef091e85db6c001b79f21b09abfe4e29376be632df81c5bd3001cd53be1116b06b26adac716752bf60762e11ae67f56e4c4f8c8e1b0d37b35b8e0373484760ee44b1d7510b5f01f0806fa56ce0abcb60694bdda9b924b5eb51d8b934b5e92a6b6ddf433f8a80a58fd812b958988581ebfca4f129f64ca80ff3c1cf3e50ed35b7c0586dbaddb99f83869e2caf722d635b22132e05a9348b4414f22fce9e52b79c2e22bd64ac363249b430e1899d1bb1f19999c67ebfa7a82911c27eeb31aae89d118d0fecfa4c5cccf7a823b0724add28ff5ebc122858429671abd34ef1e36501f0b68e2703d13d162ed8dcc2faa470cf40be1b49afc13e6d27b08c10b672e155ff9eead49c6fb7235a7299254244f3455e134b2c2096a3408727b4fffb4851ed576ee3d04f9c717a13b5a4709ec5830d6321e016d8c8d095317bbfb22bc103040779252c6cc6f29ef0b7fa1bb014081abb02a96a9bf06aebdc2d0e0dee58b6551f4c11c241e7201ba937b1df9df2ebc6344bc5eabc5468321bc837ece64c490abcc779e7ae67918c1c50316180f05cd3ce43bb7e3876afa118651701c59e7e6f73cebae0b01043342bdf51bead99b436676d6219217ef3121c9c50e6ac2dcb44f3897862b44968c7b934b8b46113e77b1b716e56eb0d7dc16c21990662fc48a285d6670bef96b7a970badeee6cd5ec1a38ed42cf09d0132a46f05c6f28a0b5b2ce440c50a725f2d6109567b8d491faf48d33e6aa5b41a924fb2fcafef3a303e2fb6116199c7959a6c2886085ba33f2c6a5c4c2394f4e1faeb59ffccfe558155901712359f788d6fb6bb025e7d1255550dcd54fd78edb1e4ac7f4111e0463ba2c02d83e566426b3f581450953c19a6af15ab9f12f2fa73a1576b72bb834fa21057cfe69d372eb66cead1ed0cbddb36a4db0d3610f0ae220549db773047c40b666c21881f6fe33e25287daed93e6a5cbbf5c7603aef0da26a4a577025c1b24d23cf04a5f5207048dff395b2d4901defc9bac81c95085f9295ff62b5c238da68a4ac384439af01b2703adc323c5c69772d9472e05d61f503df54ea321ed3c3319037aa984a2755ca904e8d63ad98ff1200192e973b3151272ac0a0f2c4d9bd42f52eac8fdf37461cc2e11de09017fda29327e1ae193455763a4a16483f3286662c24f06d8992cd0143f3f788a6e3be753b3e7580294296a13b53282b1d62806644aa3fa157f6bd5a78e1e234318f3caa7b07df6f639b25547d490f93823161cf19766d938c4a57e42b9fc5c33dbe7ff0e748935e6859ef14db3b0f2e979eaab28c5ddb141bf66112bd367754f65e9f6bc5b61a8c26e22a59283c7663a0a39ef8733047912b75408ea4d46d91ec27bf9f192111a6e0902527d00214552d1dc51160dcbcbf388c5cea0c4b74afe4f1cac3b39448cb465f8474147166baab2deb14a6331f6d45d08016e237b71bd3c4fca48812ddd219b931e7c2c3b952af5dd585e318a5a3b996e071a10715c08e438e97f4e5db2e92d5f7e18429929c0431931bac174e6395247f11ae48f8883d2f9d1ef603c3a1dc0e0d40aab06d6e6165079c5154355a768837719870fc0c28aeba1b344195a1f04451b5d54d30f2ab4404c87e7b827aecf869d3f13ee70e0022a833735edccd66c23aa9707fdc5e3f4daf91d9a43edf06b89b2a00f5b595099a5c4f7554c8730183fe2e771ca62358090f9b96a625c04200127b27523ac324256665aabf9d4ced12eeccb73918436791c071afde8a8a0e96c40b3472137e7ed27bf483fe274ff5d5aac7364cdfc90a4741db3ab23ac90d2761809ab18176ee17b92d67dece1e58e354ffbeba19c8ea5f71334149c8bf39a1b1c53b7433b938a710e984c70ba9fb884cc879e3e8a030adbcaae6558de2889a81aba3df2395aa5bfc7e271de68d8772a0a36f45e9605c38ca59f99304de76272071fc5bf5c595c14b393f5aeb6557773517cda251556f2376d37035fd2bd620741991878fd55436882c989964dfa8d7224346c7fafa730bed1288265de39c4c49e400e0fabd3d05e4250e6918c23e828e306e7fb8ed1639bb3adca9cff22f92988eb167f388bc7d14424932c8be5596dc83c8cde772cbd27989bfe5f06880f681dc2cd76306725b0df7581b7440f566af44fd34eb9c4f7c39076ee10a73a8bc9506557bb2019725f2c68dc1097905425298f004750749b291578ca518ca1f80450080f6bc465f809725efc6fb895d4d3689d8335bed8facb9a404bfc2cc20510b1543f26a705f703459aba11a7ade97d2a60114b965e2f3e8506feb7f7083ff48ab9b057eca9c8019ea83d936ee6fe70af41c5c9f38981e5181dff75fbed65d19a716ef9bf784a3c284f61d586e59bed9a7347132aef6cd40256cc4138d04142793c25a7a102545346bd3f7d6ed920ad21c32aff30fb8b0195d07cadfc71053501ce74091799e9116fc240c93658ed21a1a77e92f0755eef284168c3a35b777cd346e94a243110f14be262d959a98d8f1139b8becd10ffc31d6b3c9c61e5cbd3ce1232d5a607944b229acfb6402374fdccc17cf33533d652b72739c701d7be295bc333211fa8274987f3ea51fccab7830dcbaecfa9e1cecfa694a9637fe780b5a7a259fe02b5b08af4c891566930a1112e22391c5b9f573b753decf48125afc5a2bc871aa3bf86376dff44bf2c23fc4b5fbf14d033b05c743f9487e2578c57ac245a46c8fe1e4ccab3b5a5dbe832f2acba348396ff05b5e81bf223d620b3631c0878ae85d07957a3d68c916669a9214bf4986524d47f83ce8869a569eb175871a0a2a3224828df3843f270cf47c5c003d2062259b91eb1655f2d10f28f9bfd669c93245b28a3deb612e2e06be3d448a0c2af5d01584e1d44f1644b5aa6871864d54dd117128958b6941408969047c11e003bf9dec3b15315b2ef398c19ea46464fb24da69f150a63273c41181d918dc9d16ab6","amount":40000000000000,"withdrawal_credentials":"0x00ae4f25bd7dfd6207a79550a33b7339e108a422561aeb1dba046aec4ebab69e","deposit_data_root":"0x9f5bf47bf8f0d49614c43900ef56e6182fe825a94add65ae9dcd7d8cebadd5be","signature":"0xb8c9dd270f6e2169cda4fbd0ae7ce09b2d1fa668b7c886055a3c2df8f82283c1e2231cf4f5f29e799811f4592b1a25714ac9c8a3b105455f5020dd3078cec84b26e722248be2ce2f8da329015f43cb1a3abbf785b7ba6ef514ec8c5fe9cac7a222c7f5763fc64b61bc8dee910e4e43ee3cbbcc8ee960ab5830c0aba5e5ff54d9952633a87f8fd264f0b78448e98b5cdc056b727fe605dfe53ad67aafa4a1ccc6a1b70c6fa0e96cae8012cc6525210add5f212f5b54aa5781e4b2624b9dee34da91394fc3797828540908be5896795b96eb711983b8e884ac200c352fda4138d79b52e07c9d0b68703b773e6b4b1d33d70c3da9e50c0918b27234fa8c159e56a09d72a1e0e53e07f32dc3c237e77dbcc393dd87e31aff4d40edf31939a49e3d8e4dafa5fa223a4a4c9c4d181698d37afa25ae41893a6b33a4f4fabb6a9c44b8f5e49c6e398735ab348c3cf34b334e0a9e715b69fca76f1ebf68f05bad2a5c9938c2d0c15296ec555eca643c332b73ade33e0ffcb5aa1843545d2d2332b70bb38bbc7819642a27dd4f3a618a9b7d3122dd506aef544dcb9362ec567e8518824c05ccdc93ace76dcde84a83adbdaa70c6b5fec55733df6e0f0449a6384be1489072908dc7510d10470b411ae3282afed787d100806ae7db5f80df88e8f77bdf26533f5d437f591e232018287d1e50cd4b432caccb914bd14c6d62215ab0af3660899e8f8e810052568ceb5d1754454b5133a02bd1c833408adcf4d1eac6259b1c719e7ca6b1ae586e59975f86efead29f8ff29a985abf21227c4b4e3b614dcab0727910240f3e463196191c5eb602743caf2dbe39c807fe6967e60f76189935f7bb48572147f2350ca7c304195f4a0fe5dabd18544900d20ef0f6c75d58f88760e3348504b593bcc92202fa29f64b85c0b33e2ac6dbfe76300c4dbaa0939db6a3ca77d070073ca3efad7b62416b03db752341f6665a7f600ea5a77fb99501dc32406aecfce14b50e89b07c04f9f6c5f3e860a91df3c0890b79338ee812e935cb53cae8b734389477f404d390c127a98e8615b796e85e54a4241b86ce9d9a3c6eb28ae2af695f95a7ff3e833a3346af3e24af3bdd024d9e559ff4e75f8ac0a71c4277d9f990a80f0a6e52ff784110243097d9d481dfd42fabf623408fa81dc8519cb0238be63fe97781d88550d709010ca069d1da6e32e9c59b7c6a4af72a406c349ce7f831374e5e4e059dc7e2c7fe535640f75e80a983a6a36c1caf1207af4eb9a3ee4a18c03302bfabe9c1d7a492ec5dfce26ff7fe01e9b4546904cbc9b0b550fd44278958c829fca7316846fc7a881f744ec3cd34c7f5c20d6cbc7c7feafea029e93b0950ca2c3a6a757df443e1bce2b0a57adef5426d8a23d6f63abae2448356db8fe5efb501989f68fa05b0257daf320fd6a2fa50ef8cf36322e6d19f76819a72cb6bb1a49fef3e66818d996e9cc8e2380533199dc038a3465678136fdf8b71f500c79d11666362e38ce40a36bc780071e84fa36a2e1b60df1914f5ea0344e88947b449e98d02e1921371148dd7f5105f18488b7dfe3b8dc4cfb9ba06109ac97ecfe1549bc57ed674d7d8569c26601ed193f9e2b843a3226b908b80ee15dc6613f199be9c8bc6938cec9650dbca81ce517eab792c064101170c8889486df91cfd9e0c5a78bd1cbfea6ce907f817dec46506dd2a4ed795d879ec74d88c8f1efc819c2e74ce663f328eec9a04db6cefdb6db8cd76d46afa679a072d185f1f8515785f1c8d457e825352d4ec20187c364d93b6ead3b595fa924728648ef195c868a0e2ecd17fc91404e9863c36ca1fad2d661ae515af5d5cf4676338a830c5680968feaaed15a6c43a606ef0f7a22143582718a2412910420d4f80600e5f7c8b35ae0c01a76bff438d67dcb390aadb45f326fda296e383099977770ffe1e1d2251106c41fcbcd408743ce305fd21c38e6b460ba5c06f6cffdee922dea058984accbd2aff08a71ae4dcf16c21a12ef4a8833b9d6eaa1478de3f0b7840494289091b64d3fbafd7d97abc1e5fe0603e1fdf648bddbb7950f5b0b7400a9707b5eb046471ee183804cc6629091d73f492c83c52a53ba3ce98148ea1199d7a52d1073db26b20d863418d9aab0f4215a23b5a103deaade7733d057c4147c2e6b2425ed1b8f4deee4db3dcd8c730891471d9916dcbc6535d635378852fee1b1557931bbbcde47763b47f78a8328889e295f98b3176df90124a962a5297a16db1584dbec3a7182ba53c934e2bad90dec8618f1f67d7efb3f1691d2464fb31e52ddd8fcda939c12492d5afded7c9fe25c76c47811cb7c5c90ff1c678a2b94868bd395591bdf3970c1eae5855fe7b286d0d2fb96240e5351d008d0dd41a0d29fb1d4b47b59716023038f120ed44992d39b4cd5946c34cf6c0d5c09ecdf2ab13f37dd81f289f1e5f18ae5a96b6426890baf0ccae082d1df70b1c661d65f1249e2e2ecc71c53414a086884d3072736a4467fac0312ee4d3a7b006aae9354976dc23abfd7925475d4742bac8f52e50c76516fa5b68bee366d64ea7348a5473b030b69de24791aa8628e3f208e0abcb205c4b33ab43d25286586c943470477065b87f392f8413b92aca497b032b4f27a89772a1cde8d6870ecb20a03e0973ca7a25cfeaf3727ba4a30a9f9c823b4340c44dbffb80a00e2b3236893f514762797b299ef3eb41ed149e7ea63c2ac5af2e35e26e68baaf32f5d2db0a4dc23abdbdc525941bd8fed3e38760a995fa27afa7ee23eb0db75adb2433967658a54e602acf69b49b3441657aa222e70b15b4209d06e2e4351394c8b2c167b45ba8c305082b724507092efe187c7cc323acb1c4e6c60d69185c45289482a243e760908e6113e48d239ab6ca8f3fc80830671de6072e857a14984f552bca8c2ba41ed2cd35cbcfb7a5cd15f1cfae272a3e6d0553b8fba58f9f781f760bb35efb42b6f30fcb1993b283abcd5baab03ac0a33697714e4e1f55df3de1c7da2994de3a758a9d9cbf9b7d6c9fc00a86cf1e33b4c0279cba3f7141aa44ff1e0bdf9566bcd1a242312e31d30b37b9a2ff8bff948f8288bee4b6accad23b87d4b3dee3c51de5f380493e1180083ecf7184efef10ee1476d7e320d5cd2dd979b9e370be40bd5788f5f87e621d51ae73ded30afb04265788733459907cd9a475cd74ba5779e46a7e9ceb63c573c8fb566ff9227031f6a5aa26e8469f8204ce05e2c113c445681250a7ab891cafa0c32e0ae7514b15293d611a581d5addaa11d9f706ad67bfaa4265f3a469ca19f31e686a7a4f4fc7737538983d635ffbe3cb4948879a5294ca951de10b60a99aed674b937888adc223c0032167347cafe0fce8aea71d244093db6504153e79589f41297204c5805f1ad89211cafe3edc5171e016bf4640a9383e3f4bbb466fff30e59fe0e56eb8fb034c20dc25baa8073c210277785031a7b64d767fa6bd7cd025aad001293b6f79067addd12e53c1e0de4e895be43b43e72874b2ac51e687dae10f48c6a32cac4328ebc705f6465c855a2cddf703fb73cda6289e15126eccced84e1ff32334d89453d6cc22f351c9d49a9c943c1f26ea65a85c536b06cf959dacbc314e9ad527446a085e34c72f78df8db65af5ceca6aea13eb346bfa1f43849b25747953676313a11a788b2dd32dd8d86c6e4b06b6fad03598da32632bc7b1f39a9c1d5c0eb35f90be0d0778e3795d214b0a17f811be4301b7cb6eb2012c392a78c512f86abb35e388f123312adcd96265e1c9aa7ab46074d80da7e906cbce959daa36f792c1b1d80d6ef7495ff8c809545d974339cadfb093a1c4cc3c1472c58efe6877ca3e924cd1c106d62afc9c859436aa35bbe1b89a50b2b9b5347db860727f10e891a23077043415b2e7444061e67a6cc91277114b7989d8c816c757e97cbceba07fbbaf9feb875b4fef8e6fe6d3936fef118bd3c57c66debcc2650acd22d95f9c87843b19e8e7a9f8237923a4fbe2bf0b2fbdffb341dd3d18501e8a9fe118af7f49d1f32481a8ff708cfd509a98bc88b6a068ce01eb54a41a14371a7a48586a3b0fbf9d31a67f4e24f22ef54c0e024065d3b7df57f057ca8272642831f640b3475ec926a0ec79a8673430054a7493001588e0e444a54597017886ac4b314430a6f90cc7732909bddb2cbada520d1b35bb76a7dd72af607842f51e5e57deb899d8de8556317ab1b7549b1b2012048e81c4a7e64b4e1f4ae17c6c59e931440ad93d687707dd6b84de2adb46874129125642e3b74a220343e26a08f69cf540cfb12ac9f8339770d67f52cf962fbda5b6b85ca5a2beb72df6689c19cd5c7e33b85fa27dd617d3dca19183441de28e49047d495041e660b146e50fd9c0eabac1720e2bcac42cda450099e4268d0a4c6b9e81c223f122ddf2f248bdd4c72a88b457e039e8f0c4b1f0a4c7f88f1c136faba228dd57f9f9e09dac481e465c1d45ecd685da6dc9d5a2b834bb79eb6609a1430e92b17905feeabc1bf61039a1f210c63367b2829e02601c8ba41507aaa69cea429412498f9d58c3f6d9b61d854a311724a9a6a4b665f6b35d26498ccd9cf9ce6e1fa0bd5847447effbf6cab84a5b8a49c02afecb4ecb9f1b72d65d5e6e544452d4107d5551c0f8ad090d69d09f3a29e0df6fa4dd4ccfe26f13fdfa23f2a754554459b1c31056a150578599a14f66cd371e5309b9639efdab009889ba6a3ac147975a0ba2d280bbc0d7627d9a407aee12ca38bc60214511b924a6075c958bc69df4c5d98cc7a09a655c9a6a21a381010b1221e38a7c4e760f8b9bc35697444dd0ef546ac697c5a9e45672ecf2b89dc2c120e92b1c03b820fde5f9562c028b28deed3c63ad14fe275918dc5b88d90f032ee525cdd43738497ea85f6fb6a68a630ccac736386327bf20b778d3e02f6ff5edac7d4943030303d9532ad7f599dbfccfab29145add518bd7e19f663f5162fafc4aaaece99ea56a6cf86f89f9d4263446350abdc2f083e2624ba3c588d9c2e03d202129abb22fdb9701f5901c9e97c00a35a8ecf30fc149a278538a2558d1d30e9b66099696a458c506c369c7656fa8d90cfead8fd68a1a762077002d651098c12ce3d6283875d1c0fd545e7bf51c8587fba3e2508412fdb584ed0c2678977779b680afbd5ce2c5098e7ee48d246375e9e2f07f559099cf7bed56f0fe1cf224d9273f11ab9bd617d86c228b867342296ccb1f44eb1b9278a6700d4fc920bc075f05afb1634122eac07f07a20a42b2e3352ad9425b5de04911fd7ffb536b89814095925a52dc90dfd6556bc1625d7afdd47b40e403ca5d260c0229f668f2e57263640232075f1aacf7a8d04d3aa4e5d8b1dfc9d6dbc94a77187b13f6879c727a6ec56d574a6e94019625ec86c33c0e43eb6b6dc99fee11ae56a28bc2e8b0cf3cfb5e194a5d9cbb52b934348f840e16e01f63dcca353e8595e6c53aabac41adabcec0311cca7409a22d783fe57e11a25f28cc46cbb5e828043744eaea2b39a56fc605b1f98840545310d5fffb77e42ed619e887cebcc16df00fca2c6eaa58770a095d64c02b617ffd83a9b4deb12d2339648b93b4e495e619aeb9dea4e713eefe2d13c0c5c816e19b7f86aa8f40e46c7b0f53dd8676faaccddd8c37f7119d7e76281f141e024de5b5398d3c53460824fdde7d5fcade53cae43efb01b504e98eae4c807b93a7d1ba03f680133de181007fc7407210b5517ebe6fcc7042da4a16bbd9c1aab410e4d6fadd499643ebe9d209d2631619bf17db246fab1c02486b9891436cdaba76bb281285839f6ec23c0f9d83babb9b127da249227d98be46121a1ad85c8b31302438d58946bc0fdeacbecf7c46b5422ddef1e8a31ddbd98cb5f565580d6caffc3c9d549f79d6c03c75c6fcd737cfd777d47488b4b557c0f2c1cda3bec5c502b5db9b4867ae78484741964cb556e5502fc474b438bdf709dcb4ca3e81a03df58334dad61d308357477aad71c84623bc1b61ccfe978e69ee0bdbda3cb25ef8a6039f81687a6f28a2bea6eb408edacc9b82f4089dfdb506c89e0de63a627256bb8e5c640e291c4db22d1954981efc44d3f47accc713193a4e339ddfa00015d45fd70b1afd72ea05f0807a6288e5f6acc40b5679d047df7742b20338215652555665fb5edf51f6cfd5d75b6447951cc0c633a5d3d0c3680b743055622ed5ef7642d48201b3ed2b1102981a4e911dd06d36281253d88b1995a9e26a7684949b694ab946cc35f00ef4be3cb396338362b48aa50509520b6104e242a065ce977486622e385ce7a0391879ff58cc3126c733b6e7741292c46ea1cba5cf510df83fec3ce34baf60d8191d1ac762e559192d5fb1e8f785565c35f3fc4f4583cd84a0c8ee0c30487577b8cad4e4158ba9b8bfcacc0716565d6babd4e337596aa9c5e1363f4044696b747a7c8e94b7b8cd0d141b268092b8c1142324269fc0383e8d94a8d5e0000000000000000000000910181e2c343a41","message_root":"0x479fb57875cb4d8fdea705ab65b1f525cc8aca029bab4bcb5d1d57cc500bd470","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x3f074493a6fef03c0b311ca4cbeef30eda394223c2736d3f0abc041594573a2b806a02a76e1ac610e62690054a134858b85ebf4135d025c518ca1d520a26583083e08d3cbdbc9045a4364e1a087426e57952cab8547eeb5b1a2923de74a5e8236899cb8e539ae72d4ca6dc9a28462c75d22ee79e16f9227109bd53f4ff3927d83493c335bcf1f774c9e1bc89da7a60f51146f159a414990e4d18e371db497729f3c3774697fa245e928520822b71da0957da83e1ed866ddcc173f66555cb4d221b15a5c59f0ca83215a89b6a315242ec1e52c7916b1936dbd2410eb44aa44ea5c7f3e09caebf06b56a9bde1b94fb33c62f19af6f3c05a694f8cce036d2335d6f3541af1f7d885bda736b907a4b6f01f3e1b6038d0b36e255cece75e11505a2410eb4453dea23be07fd89be190c55f688ca98eae7fec2f06cece5174fbb7b6f8f4c97d4f148150185bfc7a0747c90e8953e30d630572c61fd74f86e79ceb43752c16352c8f2322d1647c1211ed944009165abe69bede532bf6fc32abd5d663fc57d6def690dadd16f6e12aa515aee055dfdc91a13b80ad274acc1c2b22821e56aa0c5662c8cc76e8885cbf993d9eeb0dfa3d0c142e6009514b06557b0686e94682f4c03d8c0f93a85217764f6806b1a1ad6b74434e6a142b12fcc985950121d5364c0eb2bcac113a8725a5297ebac341b06e0068e80bb802fb4573b106f3712dcc3ef2654bdbe687b96212b592bb3558150e6fd6aac69aeb8d9aa531cc3e48897550275f392830e59e5a80803d89ba0b759c231e689315db8340b92b9bc7b5f76c5fe9fed7cd65dcf24b8b0b93ae467698a37815b9b1554c1cad359e575f393a37efdb1a2046000b495734b37696a394e5892ee061b9e0e6cdda571e1f99b619024c620d298ac01588d3f3ed89246a1e4e15121700448366e733362093cc3309886af4be3215c0760f3793205c22a05f14afe341c3bf3bfd3c89b66b08db98d444d1ff458dd08ce8ed3272f0b135f97fc4b6ece868828115a5990480633761efed5a88762feb6935135fd65bc8909653987fba9f831467310f53af2f8d35b8bf13deebebec348cb0a612df39c5e197faffd974e34471b716e3207a6b2d12d8685b56d1f8f4c56b44e23662b6f774ccb46669dc0de3d6a573c1d9579e0b5dd83898a5470ad42e064178288752ffb82f5f4f2459b1d65225dbebbec1f9422c1bf37e347021dc07a2b9214802157ae71fbe64a710d7d20a0ac266e542bfb16bba587d9cf3eec2d2d82f2a819b997104acd0c41b74713cda64ded7b162a995a42600434ebedd98c81ecdddcfa419d4f67ac4b7d54e46888fd4c1d654fd56cce06ee97affc3850f6fb4b66a9bdc114d8ac21a0510cccfc00457bd1e906a619c3b4c28276399db36b7576f09e2ad0a4b1479b645691f6e38f6ea4e95c933299031237ba10069599925e08bf825c0df5a627af3b47fedca3a18b273e0b678a262661df0fb71bd5a6255b10003b15d876d400b6fcc5b263d816645105644c830f948df8999c3f7fb25d4537a4f036bdc3509db885fa91d5260ea7b88895bfe68781bbb3a0edf367a90e447ad3c218808d1ec877cefde402e6f43f3db242579c89a2351a465c0571341300a3cc42416cacc6180c41e93730c2fe474b5892865978529a591cdeb408b31be1702e28c65c2b43ab01815b3e36a246e9e27f3c5d42f0028c1ad588f7556e4659898a1995e52a06eb972014c1a25bf91fc350bae39846e05c9b07063cebc8b675c9e9c5679f9c579bb8e76fa1a127e7680d237919c5aa8ecdb212f961bc4debad8917554272841b694ea739f8ad8565add6619e09a390a7f7805f18f735046194707e69bb0c19c91e9da970d80ae302f91c68a116c77cf3da0de32c64a3e93715c2dce81b6508aa357848dee3c1f0f2fe558f5a05d99ebed291bd5404b003a6a03f94f1e9769191bdb62f384cd06e90e91fc641e8e34d8eb518dfadd037dfda7b10a63901c401a728a61a218ca9a729c6814553c6a7651eb6589938881ca7db437a75995915426a78e7a09fccb6c43873680493e33108ffc826f46d07b5b7b6e8af45b13aecfa1b92feb389b68b67c3b2e7e5890e0b71390d1bb621b067cfbc3a197a140bbab96d1da9331a8f7c9b4c00c6ba721c1e1c5582dcf72bdd03186e4d9b6ff497871bd1c07f75b8e63c6b966bdf1bccb5313ec10947191dc7f16b7c617b910175cc34d72eb288106fb78b0ff73967f495071f9437c16d27b6b52a2863ad3d2e060c66a2da04bd5991fdd7a6b3f6b40d4a9318ce22e1a402849aeb8c5f6511607826109c30929c4147bb6846db7243871a4633b185f015859d380b1edd851ee13981944173bf8165a1ef2f5d64e752f194ce28a652609df5b8e0e3dba175375a6895a2fda5c0e7891529b45245f2ab4fb61ff3a7b16b901a3c798f1e57c5470982490598b59a642427300ecdd120810aa2eafebdaafadcdf644ca36e0a559c3ae38fa9647cf49f1328e070cfc7c23bbeb36b8b81c29062504f100b236b00e97a0535cf066af6039cb249fbdba99ef63ebf02c736bf0b4f8dd115abd67c5a5cb24c8b970d460f0d39a846a23d534bf7bb3eafccd7674f0a89d1713ca9718d274ecdc271ee755d6289d7cc7d305e378b6170bc56902089b620e173a36e24755face4a01aac3cbfbcb371a6078a23b153e859bae17da24813e170bc4787ca13af2fa3c3ba1dee6a0a7c5d328d4a7bf20c1da90b54853eec4874d3c4146830283ebbb50ed68b4262b7b790c74d0d0427538e8cd4a97718b40467c2942f68bcc29b452059f5a075482ef4f6f7a6a2f8f9547b35b8488cccf2e2932a983d67bfc89a1d355c19ce17d2c82264e58fd5b7346e135ce24725368eb6e4860cc9ab0eb9de80097462ec19af21ce843446e3c94a3ff62ed9028fb5226798cfa9bdeaee7c1c787e82a5f4b3a4cfbcddbd2d478eabd32f0e958c4833398f34a76793d4b895f9d0aa0c0351360ae208fd2124985770b98901e295e97ffa21f765c9171587bfe07c565da066a87deb1466e61695b53e072d919d990dd8b4ba0cbdb3ea6a31260ba5b926e52cd8266b964fe528d4aa474bea04165bffd0415290f0b661479eb3913674a0d783fd783c6440ba2a7785d2aac169e6ff4032206a351f17eb66a5e657718b71d97c8dfc61aa0f1f2a720b5ba2f7a0e83bac22b3f203fb55f7fb5b5336933cda34622224499824ec59151895b815641d777698b0bf8b8043219fa7b85b3299b098f8d96e01f6661e16943db8c7b746475c5b385381f427615622c2877d8dec4fed073c05ac54e1fd94068eb044eebd966947d17ce2ceb0a45f8546df778d86880e96bb31c2e1a9cf69f905c8f2470f51aeaeb39e902d5e714924a1d8ef783caadcadb3835159f9dea19c22b49921b0fdadbded707a94c12c987a5a6403caccd465750c568bdebdeb82813162603189445286cd49d3013c0f77d71612df8c85064e5ec8ab90a2fe05664a5d944be9513a63584521f527186948524cd385a79392ba80c7ae39a002702923b1b684d74bcb7727bd44fd5ef5e5274343e8c5f9826ed1ea8da3dcb255176f5b60ad3fabaed0765902a146e50a815a27d07456a53e81c74155fe74805b4f964e18f3f71b0a4f98bc7a37cf","amount":40000000000000,"withdrawal_credentials":"0x00e194b69a6fe62153730d7606829a4024d00727e676d44027e0715a6c2358fa","deposit_data_root":"0xef629a35ab40ae12749cb3107d665c4b3274878a3236f635214fc13e5afd0414","signature":"0x50f1852418ed2b5d70d740ffda3b9f48c0ee157bd47cc9b2eda590699408f83d2b0f12a2ee4a30083287b6c3c76a1353d02de52ccabf626a67a663d975beab418d44f7894bc5fe4d3849b60ac7b33cb9756606d659f4c92a6fe17723a6503def2657ff642770497b5155b8f8838073ff635186254dacf3986bb3067667b45081b240724b69ad1296e45127d280b826671fa91fd3c8f3eb48e728133027f699f1b99df1d86e6e4af576965260ddadb7e517aefb8708d5db5314482d6d1c597b783ff5813574b308e8fca37307070cb2ded978e7fbd5c567a9926d7bd928ac30a61d80febf698a7d716ca5eb38e2de4c2d2e07179f438afa31519cc884853dacd8cd27497d94ecb29df1c7ee0939164fd9ffc328fbc7be16f231bca22b0ff1e86c4f9acbe1597d39bdb4ef4733b7671277b6dba8b10f2941024b82d5d23da2094d168f79133d3c19d460d91db78aa3a4dba3f8b0b46a53e15c112ed393cc2f9c27123908d8a8ebf0151f8800a169491267e24e5c3a20ca799bc7a6388674068395779e13490647f6578bf0c3d9889b8b400e6ae4286f39f8f1adbbb82caf29c06231b0fadc9d417de5214f118a746e54347908c90e6258a1a554ad7536610a3d26cca7891eb4c0328fe493facb2236a34fee2a44438905583a76ba105da9e00af6b0dbfe8d9b95f1e8536fbe4f454a52156870ed817f14d931f66043b999aa8c8e4c1f2f7aa215f889ad52d1cc080123f0c420c8d0e1934e4679a97ead2daaafb8235438eeabb3c67271cd99fc7c08f8d74d1d2b523bc3970c3846b42dfa7723269e6da8b87923f62cc46eb4ac33d9872a058f4a859a0b6e4ba91e9b8d2bc2e567d74640164852c2f60c7e67bd74470c4aab69cbc27942c7eeea1ca581388defb479759914ae1791b703b5939bfa35d8eceb2b221732b0a6c2d140a31329248eef24d6af8c66c3ee0266db0e9d6e2082d7b725797a90882f269dfefc3246722f2e66aeb4a02182ab6f6b56fea0285cf6d91c497b7318424c8526ef10c9104ad06a5f4ceaf6374f755559b29839817ce03e31b2dad97026702b520d608d344ad725c4f51bd38ff0fe993ab0067b3daf32da931acc896d52b29bfa12ee9b452fcf28cbdf9f0dce1022efe9b4830156d028dd82d205ef65357cb39f68d28417fcdac74b3af0c630970944859ef858b00f3b49f19f425e673cd23b35537d7e97374ced281f29b2b927f6c0f884a77692f1adb6f707796950a8238087d75f03a6f91aaf9bf62fb000861b94314d1f5ec5453095b70f20dc971df8d0e9fcc2f1673dab4003e3bc64be9530101a1f11d164ec46e08c09132cff86baf5e35b8185e883059d78a6261639df62ddaa70917e2ecfd45af65a6d4f21dac0960929d8c3e9608738f4a806f48a6a90e45b43eb543a702f2bb36c9e2a80826918cbff67066d68e6a71ea1c445bb043b478658267350a2f40a23317c4ff4bd0361e761fb841efbe9ad2ae0cde58aaf160b3e3db6afdaf3eb1774da7835e0da0780903e2c73067ee5374ca197beb885ada337aff2697c2e00e1a38d21ae6015794e00d9fb851b09090eea4bed697ef7e80bfa7621780f97bbcef37c9f8a2bbbf40edd0e3436256e0048619bb83390714bc2da5bea06e9a55e959dd5c4224a6f1447d68ea4cab526622d20d326f863da261d93b2eb33eaf99005a9dddbb39b0b58f7ea360ad5e66181bc2d19dc4eec610cf0e73e90b367be94257ad543a0b50d3e3ed6f3b3d89818da7f51c109a406efc96ec3aab8d63362d2f4b128d1e0d147baa68ec7da7738d88443c7e650327ffa4f32c05b450a74f286c2ccd253962f2153334830d75a2acf92599068f0c41a5d551b0f6495ebba1bc05b25eb8847de070ab92ecd844681ec85fadb838d3c8cf67a4db8ab7f8dddc7badb33eefdc600baa23a6f1c1e7b403fc867ff7844c8405c70827a5fc9660d9681e0d37235d4e50a722aa92f88fc22d4e99ee4ed032eec9a6d6a91fde36ea1288bb9d28f217a9b5d4f25fe375608a8b3690abd8a0409efb097e21cd6fa8835a0f0ae6c41e39e5d9cce8d461cff9153000e6591a089f49a1bd3185bae00199c58a0ed9ae52709ba3ae63b2b1e6acd43062007dbd45b166aec9f11e40f4c734815717a873b64f7c698f40ed09a8b59bbe7d998f7ea100b6414c4f7585a2873ece039a0f2294e050afa6e25c123ecb69f4311b0027ace0ed2707485ad43887d333bc176cc44ed1bd220596ba8ee949291132d2b112c5763d4f66c5603b20621d60cbaca9087d5dd1ec2a9df2a02ab470938de4939fdf64dcfbda065301822c71b5eea948491d1bbd4aedf16c5ecf66b574a1caf5763095d8d44b9ec755086923ce07874969d35b0850135c1ff396a4f2ca01d9a8014104e71ca6ed687dbf49641cfb402be35c8fed2d216b34dc0045ce7be6681a26ce1a5d6464aa7969e9a8eed8bb8e8a869091ed1974ebec33c15e8ef20caa8333058ae450f8b403be463a39310f51d6094999d705516507ff7b930e5bc6623e4ab64bda3bec0fbcf157adba8887ed33d3d8ff6f1ad17458dc2bd936a52669c93f1c6e133e767579a30b4f9afe7ba3ec14e468c631295bbdd6dfb95b13d8133cd43a9e924b5a575291b5114047dfe86343f97f8ad9654920b51a1ce7a76c81cd7f4c5347d21689c1e18a4140c52d2a220775886c63aaae16ef76b9ea7f7ad4043e17348155e8c3f952307f398281b1065fec7fbc4525a3564413d5fefec1bef77311befdff1867845c32376f4f48adcb8abc93380cab7bc5dfa4963e8d4326cc8796b236e7ef39a40d2b1de36383366900b106e32ebea4726797628e58b7de1c2b0ec995757bb0f5c34573feec299b547b49b0cc6f4b931dd371d474054ec697cea9fc3a9e03ea2197375409a594bca1ecb1450c50c7b249a67db18e2087d2e819f8e7e23ea5a268d1e8fe9151f4960528672c73bf031911ef3f31d0b51f5b2ea4182e3cc12d3be8aa63fb6d563ad3552fda818aa496ea45b9be030560fec549bbee5995e88d3ca6157daf1954022f8ddae9c90dcdd0ff2d95fad4326692eb6fab6626818aee224bc594e09be84017cc25be0c57ed8443551a35714878a8260175eceb1e2874af446738fb7f6073dc84b67d98c0105af0732c6001913d5b0dbca71fbf070187c44b4837d46f77554e57dc2a210cc3ce03eac78e05f36f2bfa1fc9d9dc10c0b88cfa359dfcab85053d8317b44a951afc44a66d19e15968de11c1002fd7233b74ecc2cbe1bb81923da3223478036db4c93d4e8fdbb451f7014a91eb55de25ec2024ced76b6aec0a0298e3c30b463ce64bbcbcd4cf77b52d251c629a687bae41b11087559b6451b85299d647d36def6d76cfc1b1ce6a246f3c1b93e446a5bf3f175d298c75100de2b28e40e87a667813ab3c11a9714c001c5c15188f39642c5b11bafb3326c584c38bf3589fb1ed7d361740f49c33112f9da7099fada7b72256485148b43c791ee4cdb3634487d36dbac0c3cb39631d621a02d6abd7e354cce425696de417e9195a9721ef3b7110976ce0a6221e6f671b02eab4f654fe63d2321045e12701089a2b09986f68d5d617a12e29f244a19f47b8b455c6ef9da22591377319a71c5da7960f6de0f093bd8c7c1b46772ca1ef9fb4fc47b245997ae34f3925c5a3db95e8e1db4cf49ef3c3dc019448ab1bc7b086817d9a665d8ffc1758f1d76fb208aa335a36d9db963fe59a19acf9ef43f7b3ea1c5e15d3ee183e0a0f3715c62d9da5aedd2d96f22da0f0ec168fb76b47a5045b07e79d2806c4c7c333d684a41981fcfe86b9aa1236da3e1ab7f24938ac5084bf40077a5d3f70d2ec5871a69b8d4fc8a52a7b42122fa2ab1c643ac4a15762bf2ab8ef633f15cc31c4cc6d976e7f83aeec66d1e935747d49703c115507221a5323085db87c96c14e6d47521c871eedbde67044296dc8764d91babddd3b3a9fda439b4837303124d41ca67b33e21872b9062f7e5adce0662dcb902928206a0cab0642bbe73ad82e1e1a4456797b7fde0a42a7a26f98189001fc2b2c209b11372641e877fd0becf5f440804fd6c3577cb05761da2d01de394d088cbfafe94c0b0dc22588775fde79c64dad4859958f1bcbf277cfc70937ec03a37daeaa853fe526c99b02057dfbb43315d0156a509d43003634387e476009d9a8e53198c4995014606afa193c2d58a5d316c3b39f3bbc953f6530d12871f51be1f874fef5e7b124f00e7aa96b123c9cb7ebe66cb6df9181d84afecc362adb1f34486b19f42486a548f06ababd44dd5732168886d2f53ab2ce257297a471cd4c3914bd20682a176de9f5058f1017ecdde268a732c5e03e20496d256b52b2ce10fb44681cb516842fa9056ca9a81d439619bd5880fb8f796ffc966178e93c00429a785a78974180e6a0ce039f86f92654afee596feef7463587bd21aabdd9a4d214f4a6d4ec0acbe165b2e3e64742ce514e8a91ffcc0fcfe1448f290d87464b3c5b93b47c7d4e9fe82862f8f65c99e0d827a59c7e5a482181384ec00055e1fe6de730b79da5badf9679184f0f3d1b1aa2ccb63c75fe8f215c6e168d9381f8a1905b3b035e8b96522ac0be4aabb7fef47cafd82dfbe9db2b54a9ee3b3e68a8eb0d97c8aab26061a712b000470c59f7e7cdb2574da88fc9465f7867666681412dd008ceaa0b3709cae14449e21c31caf58773976eff61a875f03b777352167d7f378e97bd24eb3f18fd59c15d2b2a6a815954967fc6fb31049c20f4cec31373735a53c81c4ad24acfa9413ab93f4e1a73257aa34cb92f561b90824391f23ca5d37f020fa70fadcd46e53738ee3566e2a6b4fbfe3e8c97e4c8df0a4de6628ddfb2f0f2d56c12d7143cf618d04db57d36afe3665ffd78edfdfd1902732edb43697afa86376a71a69b46be5a3a51843ad29bd333036cc20f243f0bc966e90d20a50205982be29e96f161b8f36e668a39ed7e1d62128cf3d49d03e32f118c24f8c3f43decce30ceb7c0494ce6935274535cc7d9b3589df2798697d1ad83ac56095dccf20cc0120b88a3d74862a798200f8ad26da8cff1222f2bda7bfbe74b1ce5528818bfc601cdd0f52844a25c15aaa77012e442597dfd1881556abe673c4e640a4b60f1e87bf424fb7ee0b5640735864a84dd75c5c833d9433b60692340efb928d792911917082ef35a5cb0653de636ccb3d3fc638df40c59349dd31b1e5abcb031f720ddab45077a0419d3eb18d2d036a4c4d7b715c900ac85064de6e5c4911e40ef1074dca6b18e51e3d6ca04036594357af80210d1936647da88f8e49962fece57ffda9bef986e41b8ad9912bb9861576b679f93ecff56b1636233152fdaf089f6428f8b2f7457388a8eb4a72403e0fb601bef831bbbda396c786e3f2691c628e2663c0bd6bdeee1511213b25eee8d24e8b07f2a264cbce6495665ab2204002c5831dc42e05c99e17915a627a95a04e41078ff0669cd8b83781ecd2fc741ea6e55b3099f1dba3816d70f56df055f69433bdc7a64bb4fcd00df1c1303ae0c1385be170e71c678432ea49006620bd4280a7fa3aa9ac890518e773d0f1b6c59449bbd455d7c8a54863b49f85f97de11c76cafadac6a5cef99edc0b7b597a4c92111a0efc3a9f108b7b889098082a2f4e3819a4c0e0aa8b7684c1addf09bc16697acf08f8c784e9d5a45fd600be6e6e741e5e4e75211a9c23141bdf3f23b4ad21d22c2edb9b588cc81a197ccae479799a52e699ceed1428a0a10e25e37556141445de0a2d26bc92f96082dc22ad5caaefb1c68de65e6d84150df180752b57b93c0906cfad80f064d0cf22df363b2cce61a02e0a3e90d4cc4c988710bd5fc732a78f129d77ff74d7e1cfc65ffd5c979b7c7318e897c30cb1bbeadcad84bff04c606b9393a9932f9af78188b31f7be32e121525c838014b985af4fbeecb03ca1dabe94cdffa62871ea5942d65710dfccb804a7d4e89fa8903245ac27228773bef1e0ca27ad768f9c9798e133a88798ebfee93f37619a50328a93aea789da3299c48bbf2d87186886123f3c8812b5a734bb8e83997eb208adb8e6d3eeba03603bf4edc3dc2c715ff6ccad3e2f194022b41d4044d1a327c116b7d94f8b7a2f61f34ede610dd29d5d4d612c8d5f053d2412aa0e8c2703817a49c2d9cd8e249c42447c833e86ad45fbdce4f4a098e052e3b32c1d26eaf11d66bb3bdd5debd3aef4cc8421d90857bcdf045df0d705d9ab484a84e79f0fb2ba3f0ab8aa7e1ea3e5b065d30cb26817ae2adc2d02b83632418e2f8c9e84a220fc394f1efcc3a4af37b66694998471f4afb78da5470fbe5cff14b61ca479b6e4f9043a198dc40dd51f804ab4d3b5e5c9978e808f60caaa7571add701a1c2f73a70813657d839a9ea4bfc42457a2a9e108323d638cb7e2f320555b6064bffc014262686c708183c5e3fe1d6c87babbc111171d2842555d9ff50000000000000000000000000000050f141c232e343d","message_root":"0x047ec1afc5de8f9948063c9a3f57a3f4654467fe82e28f35b86028a2d0038c48","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe94bab21f84adb5881fcd2c7d1c3380d686dfa119f0a3a8e7468720269c0600ff05bba1e8304f6de6f207917d7a6e21f40238426eaade0f807921f3d49cfec04e5f000cb0d69c498a0eb98d43eed5e91302120c853aa8163a1e764f04b4b098f9bcaa2852a6786c9260672a0ebbc63d7b29043758106205f5805c4a6462cc0ed98f234bfa22de634d7b3b27b7ec08dd8008df778c194cc6aa229760e0b8da5a2dac20290674a07cdbfe71110fdec56305e1ab404fa58fcae0c4e02596acc849f5e0b6268f6c33659510cd78d7dd4ced0abd95190e0bb26e0b257bf8bf826c92712d2708b0246307f582513c1824616d02e185f3b72bcab18861fd7d1c6f7bbf36ecf20efc647e597da15aa318fff269e61c5a30334ecb99f124b70e210d709fe727712fe6246f07c31f027007281a4460169432fe7a3d15be016701e5513df62f8aa439daba7380511f606d85db0b180685588d1985065e01f6ade1fc37f15961789144284b82d26713eaa02af4e37827e1176448fc2709d66b599c54ad4b0b30848bbf25f5b3ccde7e70e8661c716dcde9d0893ea249f6d9bcece2602e644eaf6d99e31a0f07d1528f4ce576459d5022026600bceacb11e138e11d8d26f509e1e52d74d9cdb44d9a4493cf57175cf403a0b592738429d03f5b716445557384779ca6ec040a047ecf7cc2bcb18fcf507d9c0be95157e590447999008eec797f5f1a4cc6f4c96488adcb101d8495a853fc9901c3f499e9c341e4e87afda86fd42a9f608c0e50fae8fa2f7fd15502124c47a621fd107b82efcdd0e48a0cd4aa0005550a26eb778aa829172989fb6292542d7553eede272931570420dc8eab18da3002b74c7fdeb23ab14c412b078889cbc9245144aca032bc7f6b3a76b5d74e447ae4fd5ed2a98f49e06497f517f74b551502161bba0dd0531027c7feee50ddeb4e27bc9deb980c8d3d58aed939ad10c632d84f933c909e23a51c628e60addd7a3ab371c598bd02aea381db9737d4b064e98bdab88548636143a43203e7758bb03286961c8204d3ed796fc3bd7a75e40b359f4828a34b7cc424f0dc13aaaadb5be216a898f4aef6c7c2da7c55ef3107a4406b5d83fa6a6390e72eb7bc90f89d8eb01444ac413c523eeccb5e6afac029d4105ed6b6d29f88fb6b7f8bb489e2f03d685d64948f16d41c2b0b289520f82436c4aea0958dcee2e9c9a59f78720dfafc4e7e968554d143798e782c8302b6af068a0b2fe12d95c3ad9608c8f4e5d6537d0c367ed0b1de5477623c8bbadcd6024a930a10c5fe6724d24429140bab6660be23fa9fb8fcb4e39d33ac5881470e9f504ea56a3ef1e367c42a5cc8e40391cf4b6ceae308fdbd1efa26d1560b0d1342d57902da2394e4aad26d77ef3c30365d40dbe4784edf0aa941bd687242eea8a743e3bd1377a587533e6faa54a50e2884fc7e995614798f71c965afebdc4c500093413d5af9ea82478f2ebe28e6aa95a5430416f3d0491f654aa0916b431b8d13b4afafdce7e156b18c4a6c10142ce8b0f2df8c422ccc81f64f4e5c96caec534aad52591cd63f0bfb4972ed504816911d3edb2cdd1eb95dd98ff597ca5dc8eb5d99357ac2fc2af2f677ae24c0266e5868e5d60dc14a953c348540db4578d9d11ddaa1cb68baf05a8c366b57bcdad0216fe0e351c426e32cf9dc86156f57709bb8b94e66f9ea8b28e043017e3dcc3bf1f6764ed60a4526b5e77501ff8f77e89507ed41006117d2a438050db55309356b672d15e86e5ad1a9cebe9f067b2647ef063fc493d1bea69565d415adfdf3016ee7994ff585fbd9bf65b3ebe57035f8506146857fff9dc59c9a9f933428b886d1c5c1efe9e4616b75bbada690c4b5309ca08e6b0e3d893c8ec2dd2b993fd63dd6a46117d8730b9ad8e1abc6590409c8e9ab87f8a4540e2de2ddd556fc2e479acd5db47d6f4e9a3c973927cfa3b342db03814a4a01d5127d6102b0f139d865933c8e1838a00825a3d3cb2d9d5ff21a46c05e6d803e9b3a242a2dfa5add2627a7a472b48ecdc488b688ab81d050adc0df2f94b6175177b1221e5db0a9807c3ed9a69ed87516efc4061ebcd4c250ebfa43e80f563012cf5ad49bc3e6560305075bf5ce9252bf1b137924f3eb46645100109b3c5fb867a8ae9e38d4f7edb259019b0392f90c858b9b83b6fa475d5da5b0aca3e64ff8e5b88f3ba2d1152ea46011b92eb6b110730e398d7d1f55019d12850a520198748cef9eed505d408dab3be44314b244efa12fa330dccd348805359eec0f9fe1e7488b45a4e6cab0989718a1685763a4febb5cd1e016a1e40033c5e820aca09ac244de715a8dc724c196a16e56a30d1f2309b30fdee67d4abf94540cae7b374335221e479f2cd774a09be2de93f6addb9e547a01a29de156047387a4df52b964c25d4bf340cd14eb2b68d250fd9068ca7302ec326aad13ca8d76c9315a64ae7b974b3bfb9c39f5346797117c2df231cb880a42cd12b19acd7128bc795d7f64659280649487d4e9a460c9ef8bd3141f4fb3b71807be7c16881a3291379408fdf62af769366dbca84d8432c0275dfb53e50932b38ce3a135f83943db842bbbd04ef4684fecdf0a674eedc02238236e1be2b1bd7cba6808eb0c470c8874a171ca01a86ec20056032b3cce6ee3f79c8a8f23c66f8b0ce9fa8277005adca368420d9e95cf347e7276fc46cf2f4e3601f2de9b9c1c21c4fec01e1ba1ba41745e9453de84f7e9c95a14e92986fcf3a5eaedf7d2cf8ae395082f3afdfe5a3f00831fea12f459318d82a77c31f4ffc1f0058f27554d65070864b115e3c79a79c2e2df3fcd4d6284f4c3c0d051d1ecc8c8c14f0a3188fedd7d3a6e1a64dd55587503db04275ae58f39f4e6fb0901d8efbced82c6bf815dd75e617b5c281d65d2f6ab42c318f5d3950d47e1f4384c42e4d929a184da1d7ea9d416d1720b96d9df935dcb4e3245d2b6c367d288c25552a9947c628fa69987eadd34bce4c91680283c71243646cf4f60f0659d31a968ab2c5ad4a850f80c95bd864d27f17e27d6946cb53d0c9123e22062137d9a2447aaae6c4629a7e9bfdaff96f6a387bb3807e676f6e44b0c82563cbb9eb255cf3f0aa9f927fa3a6466ec888ed2d9e5e84378d1eef1d7a012a4281cce56be06d2b743f4c4ad58504208f826f8d4fa569ecdd5ddba823edefd3cf5591e982ecf4af29d18312281ea448dc6297dfc67a2a6cdede3f720479d40fef4767205c45b73e32fbf304d63501a810ef7f5568d4a3015881e71548ef7531a53f84ef70165cb611c5dd1221141bdbc3d8998948497318ffaf4b8b46b3d7f28be74556494c2883ab8acf56887be8076ff06785a4984b4b17177d236e15db0e3c81bbd6dab219b20d9824e570e2acd320e854e19ed789150dd81a7c6ee35c5cb84798b88ba454fb7a9dc468048db5e214fb8f874e60e89614f5a6831586748b56a549526ba8d1016ca5d85a74279de1ca582f2721dfcde89612f83626233e285267afe44c4ba34ea0f548cf1f4b74793787cf5b830f108e6e4cd2abfc15cc5efd5ea4f8c44e4d4fbd35508db2cae603db3df29d153115d2a883141e4a0c8c333bc5b6ea99f3726623e23eb8a546bccfa91fd2f613c6282f2466ed7f16c127ca6a16c52f22b411f8e65ed448dcf83ebe","amount":40000000000000,"withdrawal_credentials":"0x00af7af66f473ff513a6bc46b8ca7b6334cca617c06e11d81253aaa8a18a3955","deposit_data_root":"0xf5d57685167f854cddbf840ead3c028cf771e0bab3c48e1d4d006a0e8da831e7","signature":"0xc9e82f51cf1e13c6574e9d593c5d40627b64b6891ed14d036451c2d9725bfe276be5cdc5cf22435f14d4f745b7785f92964283d8f3816779bb7ed7c6291af05cf554e2237c30518432969f92223f6a7f6d4e8048419e8351ab3ba7c6db86ab2ebb5fffd4986ec2f30ce7b8af30571639091ef80b002908586f6addb7ccde315824b6ffbf6c13c971c82f2da108ae039591b9c83ec06cf72826b508b9725a7e17b1f02291c54801efbabf76818b69019eb9e9a1e2f84ee5102ad9078b9e980e8e246f18d5e9199e057179ceb7c180e7b3d4893a03a47234f9be9e08c6a0a8c7cffdd78e0b770a9020559c966b1d60742c605e6e4fa1aa234dcf03da9fa942cbd9195f87678d8bce31601e29a85cb9b183ff88ffca6c68e8141c91949491860b0b2694a02ed9da1c3986c7d890459ab1803c9235741856d6fc1752bb37c7ad4bb27b5a2beb5588f29ec90a11aeebbfe96ea8a77f3ac5326901806aa14bcf51b72e887f8fc3decea375d729e0f26a181740ee453d4f21fd4e7af6c50e68bd83ff0e07da2d2b167d58f108fdaa1b1b4d95722223f9ff5cad470c2fe09da9173ad8a697fa63c146f3b7f703f105dea6aea717024212c65f98a0d5e8cd59c27f240509ec5387554daa42f0a6e1f74cfa60b763546119911fa2c9ae1859c283c745da2b0e214e78a8a63a0d00a7c35d5995fceba17cdf53a72d7099db7bc6811dc069b18f7e29c9a5c97a393fac8bf19e5a4fb38c20c91c70023083108181946d593d359c5f73479a1e701d694da236676b98778829723e5f4b24b972f8d0f95e88bc1b05f2cca1d416e98a5905188a343ff20dbcb4371f4a56f271e48206ffdb7ac6d62acc50d1f31410d7841d97731fc57742c69fe2858020a9d2973230133b8a6e445d48dc439ba39172181e450ce724f0c5cf8bc5769fc7e7a012503f7fcb18d30e6e7affdc2bd8326229e016662131bab1925245e60df5a1ffb5fcb655b82b8838f8853e4e3b83405c4be990ba654e6686da9bff20a68ab6453e45e4e86d37518e69ec3b93b66b57818b1aae911bb112b6bc7d9912edfbca66fc97634fc8f935b21745ac78967fc6c90b97e596f3a98369312e5dbfc3c0cf5043b2a36a95b112167b3cb7464e90d5ff2bca2a4a17602b0b1bf21d6324bbf604ed10ed0a3bbdb4f8af20f827237752a1aff4e4244b84ce42632960afb053f90e6ab7af944793d367e7c09fa168d7f1758b73d7939aa22e4bb6ee20dc6c8de7727643a7e3f41a042c766a91709bb42e3e012bb756a72ab152b2460d085a7d1080551b851084a71869cc0dbd6e0b686c3cc29be780bc9e2564b7d7a66ce9c5ffe1fc76f543d8869ebe622465ce9c36f16e6e778bd038775439277e70e551723b9b8e13175dc805ce324a054236b2e69afa3e257616906be8d6568c66c729a74d3c87b3d296fe631d3488b2f4d26a010fb601e02f11fa969c68cc2bc2cba1706119d6acb7dd23fea1c5a54b122b6ca6303707521187bd92c00f1b0a5a5cc7f4a8dcfab037bc097180fa3a4e1e9c9c5252c803261cd8102977f0cd9da76bc2c0ba197d54857dc6d95670013c565e1475a8f899fd8289bc73c9d3be4947a7da11501387bbcd5032234964eee7c424ab0beb865cf2175fed31169a5327c9790ed45e2dad9ab1da5cc4118f5b22a8b7513d59131b7cd641e9cd8590cf8b01ad30c11892bf5930e440922d6bd751acc689e5621d8ceaee28dd5dd0f4ba0f3127d237ee082ea5c74c723b851c1da5d0949774e231f4b69edae922846b02c7cd8513b012b0e64e92ea5c766416e6b4407c968eada6e4e27dfd9dd1f85fdee657e97c2f3eebd5e3884116d78eadf2864d66d38ed4073a41daddd106a592943dd04e094aa68e94087ad10e26a79240ad797b0f6f91fbc2acf56b19f0a0c7edb8dd11e51e651c5f52fbca74f139340424d5ce494b1334dbd478fee210fc6fa94412a6446f2f83206a3cd3aae0a64cfa2a9a78c5850749c33675c17ce42021fde57d420f96c155ccbbbb484ae1e3014b789cf69e6def545acc2da43c9310b1edf19b1bce895139e245a44063afb305cd0340e1480fa0d6c3c07303046206d5a292b25d3c603d4381117f5b46bde1028961ca9777f5eb83658df0eb16a2300a91e4c5793891d9973d804922cf8bced89a3bdea3bd5c74d2d833c8a388e303a61605247757da173edc97ff884827f9effe792091a46ee6c60ffaf6206d94445b76184efef1cb23faad11e17cc6bb70afba8ec1b8997a72f3d23a705703109a3cb55fe90dfc63eb341c5db9c8394e1a069ce9a905098c689e411412a1328e889f595b05e6dad6f21bb7f0f8a89cf5dd01e6a9695dc67e20d452f025ed20c0a8a262a16bfe547aea95130d50db58f30238d3fc4e0e0ceee0c1a0dc85080852da73148c5811c2b77dfe2e16e8a484ecd60b35ed7a17f73b69ca88577e432e7a7b29afcaf0fbf2e6e12123bc87df699dfd7c806b8cb1b73af8bd516375838dc710c054363aba3637fd921bf0b2f89be1c37254017d127f3a8f04f07dfd715a4a0ad4fb0577d126527882101d0afd982384860cbafb7e4112a24797c5b6e6ffb9c7bee9dfa8148372ed70849b5e8f62b65879584687fbc891e174f3d215d928aea83770a19c6e76ea4659d6016da772c14117c8a4123427f87d2066bdcd9527b6d8537db6031553ecbd6fb43ccafbc723033d6ad8f19e3aea268bff0b8714fe68633b7c9f680aaa5241018ca5b02aa9c6cbdae2f771747ad368451c9850e9cdc3f277aab4f753e0952c8392910cb457c07c5c4c607cbbe1309fe133a795d3b3aac5b9c5a003366c150dd0b7ae8758d324e2cfaacc474e11f860c10ee951a106670c2d989e536031881af669a2e865fe90c93874965c2ed6214bcea0dfbeee735fa5f69a906f0e92ea9ea6a363642369ce7b5e3c115bf4d4d205edf6182033993fedeb361f13c4cf39bef19d36728e4b020732d0da6106b06a2595ab120402989bb7fd13daa0e1a0ee15a6ee973e69537167011cb3dd398b83e8f922dfb793920dbf5ca6de8fd8e34a37f971d7e8c0aecfd4339ff4b474c1c83781e633be58df5c6daf6cef5dbab445c71c97bb2cac44b55e6351cacd09bf311943c05c5057ea31396edd985bb530a52f1f36330dcb9ee64eff883f49153a654000875f8e935840afa6a153a2d2d99fc2df8839e515fcb75fcbf92505bac5bb649fc15fba5871e9442eb8b701689d7bce7615680ceca102c7e47cccb129fa4f37974b263171bffe0407d426c3e6920730a304c7ede7ea4cc3770f3287a4e9e556250c58ed69320fa678b9c488c527f6bb968cfe6f3fb2747be7c97677b3873b329b2ee8659518eaef560b7a943acc213ba148fd427fc849a9104c8d9cd739350eb7b2cd45596101b4a4af363033e7cacaac3280f4fe7a37ec21b817349ffb490224bd7a9b3b74390546c8b5648fc2eea17d14c8df646536601e0de994f13aa9e20b0fd34fa57c82cb74be344715c631ddadd6036cad1289d1cb581af4bbfd034a36de98881c064001576f4d19862e01624bdf7ae41866bd1ccc0d346b80b921d62b053b53907a0ec42294b4c1f32872748acca835cb77024b13193710d0dee4ec47e1b56dfd1d8ac22c21573d3c025742f7387299e51b3b67b49e134fbaa59b186c21f1c6c7f7a8984f980aa6384f097d917dc9ba8124f5ed8e1e2c31acdc0f2f021d0f26cb0b1f10b1dcc7207865d52bae5183b171c2fa5eb213875049cc66bc2a11861348f38e78e9d0929c42f08f77300bc9371c7c59ae179b8c59635438f79942bcd32a77a772993ce0acbfd63216dae6fd7ecfbd22493e2f907e95727cf673b27077e0ca92458b8f2249da9abcbe7c4320f45a98245027aa6fd2e434098b022acad710a8fd747e21315fc4c25c87924269f52c098522c274cf27426bdfda583ed9c652b2c35220ad337a996de9487452c009a0a4025b7c9e0143521c475667e48372a56842a68908af17e07b15fe752c63150858651ded10851516d41b452654db38dfd19c0c5de808a9c244e9873568f3f739ac24870f965c9a7f5b2a5fd4c5b847be764ceaeb011ca38ec621ddbfc6ac0bb2ef4ebcb611beeed05fc892fc29fda78a5bcfc73c8717930f651a5436c30930590fc26e86e92bad681115c690344fb532ae39399f1c68bf7cd86fdc2a23b4d447227e7ff70aaa09d6ab5cf1afa41c7e179442fde874dfdb66d7886706e033dbe294bc8710d6d4f61e8e1c671bd02c8792a79f37d57134b296e8e7890d5103d6e5fcb6466ad1f9319a3af10e5f49b460cac783c0566d352850d9e1566d190163f97cf347ce61a014edb83dd4a4893e73da34ad508ecd998720416836f2a77ebb6e4d2902902c2aaa82b47f858d8c2b16f7afde8485df4e33ba877e9b2b84e4731fafe05c65e29aead9d36134c38d9e82ec82321c5df6dc72dc8165796c65356c546519e18fefb2e423e6ce73bd299a71e483c7419503e9613972c36f320990c7cca7a442fbfbca1caf932df0f279623e343ea77eb846aed4824859f14ddf90d8f2af1495ec55864e3c73d582c3e70163f9dd69d4086e79d1f3b2d9374bbdb91157ca8de310b8b5a296a47f82191cecc041dd3bcea890e7d587c88b5a60be259371f9c5dbf1e7bc330e7cc1e48630530a23e71bb0ccc64a29317b348cdba7b2adc2fdb47f90f77c6c9c9bdbb9171cc466937da955037c2cb0341928d595d14369899b65e597f9cf2695b5247ad80d7cd18411e4238fb863bbd5932c76c0c0d4decbec56d72beb2fd25d567958efbf2dde4e30bd37081204703b33a1ea1eff5df08a5bc6d4de4575f9af55cbebd56a89d63f27b5c72a60bb0409753bc9fe797392083109252555243130f4df80fde92c2361be3c4e22543260c973a07d62497ee5e4d194e8ad0e2da89cbb06492235282573b3a0e705f905b89c3da632b8eeb937005c8145f776354c03b4e927b444ab51d5b2c22d29b1d5ff12ae9a0bd44ea5e34166fd8678fd96dfd451e470d7ac2cca965828a973e4d9d4c0f061c42c204be0bc5964a6e9ff12561d606b97aade86d9572d1fc207f92f39d2935782aaa91935fa1786c6834f5649d90bee7fc2c3b28bc81a7b91313a5b06bbbc8938b2921ac471701ee8af6b4569915f72e4dc7026ee328b349080076321ec2d04732bc7e87f13bfaea706da15c881620d007cf40449e871a500628c9581d0e9edcc2b655e5458854bf28788cd0136f376aee5c501dcdaf75ff7397203fa42aab42e72d44b68c97a78ba34396908bbb6766125014d627fdd63c7f82353a629df75842d48c1f0b78ae9c8bce89cbf87d04f2dc3326be9e2c0273621df0e8e302a39371aeb7f0a34a0219f9122dc765ca572dc5ff583192c7666bc999dac1a9e95e93849021f9ea6b69e9f13685ada3f39ce5cf5062a595f89f4e04e4d90927c96a31ff3062b16a6523d5a7d826b9519449f2bbcfea0411b54aff47808c3defab23984a5967b8b1a19f5d5c996e79a8fc0c070a40ff4d55632dc7541a2bd59bf928688575c109e4460c8d73c1b685cfdb8276e70bed5860763b8c25c5b6de7483d560daa28a3399f25754e185663378d8af1dee1078134c4f7bedb365e104fe6a36f3a88a28984317b42265b087e8629931d65b73424527d17a5d88c11286a7aad1ed10b20c7e44ef73a659426197daa3c1e339c22e01659db24e03699ef682c25c2576f0cde6f12a1a9bcd47228f947741431e7c4c7a88493114df6463c358b0528e110d1dbd1d5cc0544e38fa2e9ca801af9a5654d790b2bd5eb08878de51ce5838816a2f20c296acc50422ffd85aa66e63c6e93b3c597273708879deda1b270f5a4cdd2e6342dc6567969986a2f9502d524aa761b7c97c52f552f83f5f80b9bfc9476f72ae84e6db2f701991318e0c5128aaca9ec2e8c671b487a01f87a15f1369c31597bc22f8476caebdce5c8fbc3a99071d94051aaed09266ffc8123cd5b40de9fd8c6dc8d524e2412096d492bc7e6551be06e43dffd1e766a6f7b634c4306e48ab93f1f94d55526a04feb2dea889762f749557e98fa8de9aa5853d9efef7b4cbda5e9699ddb47fcad5b52a1b70349689326b48e4dbd1deb03a6808949d8641b8a7a7d8801af822eb6b74a6ffc593502d7571062c9fb090ab757111d71eb32f190800d1718cb14c9febf0384a4a7b1d3e6cf8c2092a2a1217095d227197766bb87c54524e4764c7d6ace8b99717f962e990123a3c9ed3fea84b2bd3fa802c2ccd02741310de01698fa360684ae5e4a18b26f499fee5f7bbf2e7e94b9f90617a186a38f013450b2381b4762eea420386f705a9edfa6bb7845156e3ab6cddacc4b4380dc824cb4e3ca9b4072dee2e982acb8d909b0ff2f578ecdeaec05485b5f6d9045545c8b94c0c3d4e0263d44abc0d818295a6496fe00000000000000000000000000000000000000000000000000000000000005090c121821272d","message_root":"0x7b63ab3c4b086ef2f36e3c6adb3e145cb132b29b4c81ff2e6f1ffd37f56f7f99","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x9705f8e5ea766f057bb31d63564af881d8a254216493c2d18f94ca2fec37b6599bc4d8d544c03f49dbccb01aa465cba24194bf02849dc653fe0be86d9411755975c53bf2dc751a372ad5c02194307b0dfbe0370ca4448e28ba645e4c489e8574cb2530896e69d8dc7a37193b56962564bb688a5a03a5a6376296e7ac8966a45442b4c5bbc13f89f1a96e967759f992e398b9e9cbadd52aff520975b554b888870112d311ac6ab8f0b3dfff549c5598fa5c9b9a159132e87b062dbb07e37bca965d8182027ef3adb52081d528e6bb2ec80bfa63c02a0da2fa347b70d01f7cb8a465b09e59213c75a9a94468755ceacc4256b99a8856f41f7f3c124bd8cc9e89122d4289c47386baedfc8c829a27bacbc673cfc174f86cd643ec7a1e1b0eca5fbee4eef600908edb5c94eb6ec7cb21fdcb1d00ab51decd84251a29ac8d3f82aa1502d088d9a1d30bfe5475a5e4cc92cb88fb811fe117d5cf41d328858fa6fba2aefaa6f1772d91d241d0a2f7c6c9a3ca1de24ca504f23fcd11db372f6fa8309d1fcbfc47cd0d4769484629daf2db0a1b63b51be03ec5262ff11fb5a29635b8845264dc10d924cd40f085bd5425e0a207266e33dab9a09fdc74c6b0b6a758a524b51ef6c03b2b291eb9c4fb2ea8f112aec4933eafaf6cc8ff3aae8bf6e2035648f0d3fc34a2127485cda2d6a48dd70be7135ad3f39c863925dbb41b2c3edf5d3150f3b4761ff04529f6afd479a3a14ec44ef94a8da63cb1ac93d17013117d993aefac44e201fdac4c08e24c20fbfb8c0842ab1298372e878fb89470e8586933f8965d33a69584eeb106790ffbcdf16df870c0daf2678928eee916c3d0c1bb1a0c8430c2bc1c08cc14e7799f884be7123424193e6d173547d952608f1d43f1e44a190067bdfe31face1b52bcdeaf5d94fef97145d2fa74eadbe3151acd7e6aa4766b0efea18dae27b437095994ed3506f557b3c633869396da92f662cbade0eb504857a82f42cc883e4b390b7617848854bbb00ce95cb344b26ca254886599255f4a65e6d9aa456a7ba621f2b5b682a199b69412209f9d36aa5ef824116f5a168098892140042ef0e39ee2e0001774401e278e809588153c8454f4fa157f818ce0b813a98cebe4ee361c0ef15f2ef42dcdd82b209bf790a0b1e48d01719ebe24de4eedb833d0b0893adaa7594762b07dceb85c2632ad6bb38bfe69dc0739fb34347a1dd07fff048740f0049aa62e2d9a2f70475a9c7cfa48a5776d643619c33acdde24118465829bb52eba64709b00e1789cf5510998901e42732f351b498bfc2c77d83d540509808368c5ba72be4284c0102a23c2cecd61e3553d7eae4475090bfb5b1a3185c354ddc51663505ad02a11d9725ee70e0306866f0aebbbd8ada5e90e57bc392ab7dfa30274d559cbc5638b42e16cce58d4a0edd73c89a105a45c015d4aae7eb9a4aae6ead8fc1598b5a4ff88159d70480830f0e146ff83d368bf9fe1f6a25e2b04769e7ee415ec99728fed72cb5ddb713d09e6959274a6613fd9e8b3947d05c25472288a9a7943cd1c5b5d226c04055247556db414e66d0f6745d522f3ae70486150c2094ff07c22e8f92655dfa0ad68054290cbca82a0f879c6ea3455690d1e86ed4c433217c322274e53c101499468f7259f9d007f0c8cd1146f0573b3a692561c13c8b1878f515ec75edc3ef395c583366fd7bdcdb91f549b9f2bf04be76abfd4341b55567340b02640a1aed1b45e85ec4754b418a246b1c201eb9651658f02df40c66618377c208d45213d1261728e7e33edf1d05b9aea610b8df2b4ecbb0d030ad95724446a356ddc6c5d98aa7f8c43eda91d677e039aa1eaab9e857f0c467464e3927bc62f8fa5879072d6aea15e6466e6f96684e6744fab7fc0812b860807dfb73d8a96305d0c90b95aa8dbb11f08feabeb53884b98432e1f4573ddd7d16279d297873a22713670bf9a765a943835d91a46e8364bb72ce0348dd495136c405c56d1d7ede1affa59b133e23381b1864406148ef5092285b4d6da2aea637d82d6bc8ff80b26eaa4a6c27aae63102514b55648026b4e7638fd95299a1b379aec3bff7d93780df115df4fc70dddc508262908a21a00e367f58bbcd338e9295930b08208c92fe6dc1811d266200360d8f47e48c828907728f17f6ce086d225e29b89f98c5031c67f39e76d46d46d51d6b322804bd1af6ed7d044ca7db51552b43b10acdbaa690f5b40f02f1aa261067b93d9ce71e5bcb6ee3a068c408fe21e124f17d250f7966dda2bd120cecc87a65532e417e619b763aab60b66fc150037134124599326e862019ce794851df444523247a0e76802e5bc84e7f54bc7342d8849ac738a56b5ada2e63c132f0cd2fb0a95f2097dd204224acd045f6ffa823efb182ad5642aa51456d32fa93e7cc4a8b2eae40bc30a7bc800a1f4034f1ea47bf2f90fab1d40ac51b69e5b39d8edc55ddbb2aeea513b37177634042f481450cd35a43feebe55f0cc6d133688203d9378688d29dd8f8152ecbbb709afe74afa6ec42ae69c2c1f6156be0ab1183ebbbdb7b0ec0655ebd5c59a9937dd3b6b504ef857e7dac8c9e25ef2596a2357b7cd1abe8c5b27b2d58b8378f76398fd81da0a65df5372e0b3f0480ec9917dd5ea1e77c1aecf7ed674089d872138fb1d3c446c92cd0bf4400c96418432b2d89618929939eba79e29005638c0cc821d0a034f5f0f81466e8a76e7968cf5a4f2f0f732da207079dcad0e1ca78f733873438f7cd1a4167c585201d86a065a06e1acad76b3e42f5767759bd6a558c9376ca415a7809dad52149bdc11f8b40eabfa7ccafe036dc50d8aed0dfb11568a60d0613a0e7f7d9a8c841343c0671a1cd031708e801fa648a61b21f3053d1f849ee73018fffe0d1e2192d23a421251b3aba878246032e5e8406dfce71387338e20cb4d19eac6464f8adb5f67bcc5f97f7afed59527651610ba3410fb69b32a7eb7121b769167071edc870befb6c0cad1fc025d35533f5ebbe1732f7a9f6b72ad6e75d2fe3e03533608d64284021adccfb78d57733f1df71e4cf90dce76d79000425743e02ff055b424dcbff77396957bf0f6b3cceecf8c6684158f1c74ceb55a25a8a136ee3e2142494a02b1e4109a7c07c182b441368b7d7caefbd7be10442304aaf485e27c5e64a05bcc036400881539398a3b415ec2c5df95a60c2c1e62955abd0300531d603b62c3077ad07c7677c960fd318c4c99d85b0d5e01fc57c096113d92cb7b0621681288f7898ab0a5ed594acc90b0b2fee61a853183b73610700b0497f0a123026ff7e6d819a45859961919b4101fb5432c515b1fbcfa9af92d52480b74bd3bb2df049c3ebeb5714019909ee879b038766d3c68a45833d8b9c07cb5e43cce39d566667900829493f8d955a07968e24509ccc7d7e5096bf2b4f87840ebf7cd1b8bb8f7e9f1d974ace625edf1aa0f03d8af2e1f113e6eb37248a9de216a4f92d6047ac922c193cfb63bdf186b169dba0c68adf10bc4f2b862e9499ec1898825faf0103a37f557ac9925f9065ec963a5a9e46bc224d70a1221a75967510dcdf49476e8e2131f77428f12e7c53ce4f4b733b90568e710c319990456c9bf905bc9a35d88e09a9c1e7050200b056eab4a05c15939015ef4eec65fad57ec4f78","amount":40000000000000,"withdrawal_credentials":"0x00dcdf20154f352ccb88ac34194798eca350cb6c8e9d090e23f912f28079b72b","deposit_data_root":"0x984b5c86b5a3fe3fd199657510ad02ee900a4fd8fe26cd7c871f60d83d6face6","signature":"0xa801baa1d56f1be808d29490e89d17a2b9ac9566a5f88ca8c8081619ea828d645e475b3849d72bbb4f07fe695862bcef8f5e74d8c6fc2e4eb3f3f916d13b385ba5ce8a46fd09bdb84d9f692266df463597aad9f7e54568b7fcbfe7f61d1ea35cb7c2b3269bcb20b87a61dce11df4be263b40e91524ad0f5fd5810a6084da60221d6484b0eb662c4d39516fa30bc9243143aac972a3a06ee66d20097425ab42fcaf724d36e4f3e69cdd4544c7835e95c482b783a2899fb89f6262f97603ae8bf24e83bb51b1056abd12d959007a318ba427274e44f37b84d204988053068fb0f2f3bb9d4fa7d7fc49e57725ff309b5c800fa74be01f8882fa8e90cf5a86b9020ba34b1dab27faa324e9b087db42f713c9d98cbbb051acd8fe6c12c47cb8e0bdb663cc004468871b03b140a78e24d335af4459d0730e04cccbf20168e3989fa7ea1a89cfb8e6266bebdefb8656ddeb48604c8c6fbfa9106c8277455a434ce552d97ab4fa282637d73e284565b793640df3fac62ae2550264d332b00ba411a5c442ea3e5a979a1d9b118a0dee997901d35fcf188cea9b00e6706238a0f5348440273c872127da42211c46c3727fa2f0792254e592ef174275233ab640e9ba278da03c8739ef07330e03c8d24b72e113e0824975fd6fd242799efc155f913b160cc238f1bbbb6a6c2ddb81e1482928fd6ed17eecb247a428bdf199103e6ddb561e1e00e3d95ad97ee101432636d4733dfac5f8ea35aa4aca0f1b278091ca223977320fdebf0f0982fbb7a25abe23982cfb9061d1950ad9f0855bd5f399ef097c939adf8c18d75411db3e1b30ada1ab4cfb635550fcadae53dd7f284e38fe6213176b1cdbfc0622d5a8661a417867ea0ef7c878c6b70b3a0a2c0ba2132be1139ebdc269d0d95845d0f2ebbee52f90de28418579d45f12c769353b126c537cf55b6feb218e9bc6964053caf042102a6a59894e5194d4c8016ebe5df0adc9f616d8390bb8d47660124d75f34d47a0a689000d92b4d52404efc7ce2dd60ce8007616d28c9096a269423308f57e0570ef68cd8298f9eb9958f797438b73e60c5ed25af9b326913c1d5eca9b676d641113cd56db62a0afd9edf3b7a6f24af5c3e95f394f39a1bff555910aaf638d78f6a0fc28510306dd4d9be9f7b50c180c3f583ee2e256108fe4b7f4c4d3380207b5389fd15cd38cb5a983f916538ab0eb039a07f834ed41b1cc6c770009f73c4b9ab3df892d7f0968271f2e809613da45cb53c4453aa922c237559e46ccc6a71244e1d8bb7ec65115e84b2874e7d0befd1564dd490eff874030d576957c32d98e27f42a63ff0c7dc5805795f862181bdfeed1ebc495bb5f796db4e41c1535137e4c8b30fca12ea85887d8b1ab0e3744cc48b4871009ebbaadbeed79bfdc6450e5c94a60b25c710b6a5e95d373cd680d142be0dd978284a7f8df895e29e6912cdac4199ceb52cea849a9fe3ca90369ae633ae27168927f8acc713c94d278dc50807e9d53f66c0b6f16bf4aa3831fe8ceb3560dc6890c5c6814f60f008d2612a8871a3e9dd6c12165fdd7cf2052bff07c9acb18a6d6b65b3fceb2f97554910f5d57ed0fffcf708244db225bad85de534fc5738ac5cae3112b35dd3f52d8197c74d99daca6fba09c1e5bef371c21da9a51577b2a7f8a8cd175465aa5b32ed561e5f07838bb3286703ea5245dad9e936eb0e1dd65cea870ca0a30947bb2fb98fb574e47af20323f41bb0ac0e9f758f60e630c888347603d9ccafe70e3c3a7e296a192cb78026d7b8d28a4b69bd350d1788f3497cf93b5d493579f50a4a7a07107f013448a849254edf0758b99d74c403fbb365fa330419a3a02ab5275ab06fa47456d28720ac14f7f9def11ed24dcbeaeac0d55f711ad649fe6d9f351c11f2f77ff476888a91868bd2ba6faf1652d2b77d39bd64c457622a3de2cca7151cabfb1254e9e9233a42db57458171afa1c6edaeb4267888db9ea028b24a3a2d497be916a818756501b4c253e0789dd406f2d73607f88d615ae4ffb66b42b2640417f65e79d17c9e6a6347293978f7f4debdfe6b512b0d2987fc574103c5f90c8165e3074afc3c1bc36e4e048278ec11cc18ad42447c1b6d9ddb362fb3334b83e148cb250dec99e424833363b6189826e0d2c3633d33647faa777f4b90b761db058af6b6647f6f11dd073e7607af699eaa9869d6f663028989d2a54de7f645c238655e83e5377f179599e53e7974a52909e798a10221070329bbff88d365c19ef3b6ae019bab5b98325c4ae0292d1e93f1b23b0dd17a37bd89cdf5b0ec52b202631769e8a73561c457ecf1625448cb8b9d6c9b0096c63e59e2f4fca95995d2c3787f016f7d2d949ffd23c395fe10cda1daf690be2bf8fbd88100c7647ed15eddbf6ab01934c42e53b56630cf751256ba3b92ef43fefab28fc357b4981b3116782bf65d61123c9114fe22558468090dd1cab2cbe86b27537613deff045b0b85dee6a0e6231120a3e8d77b31c4b8708fb7a3d303928a5f6bb44e471d117ff491994a500e37e510a1fec98b1b6259433898d5c0a1e821dcc50e5f5f31020baa778a2eba9c70384e15aca8073cb997f1aa3b3be4543e5fed4664bd1085c77639148d80703d223541045f4b2cde3d2e27b1fd82d5cb2c24cfccae53ade5dd0a7b232acb4da42464b6e95e6599ddb297c9d5e521531f3db86f722aeb569d3155eb49e8f06c9a7f8910b784404ca6c458c556ea922c4567fb89532096e6b03aac8de125496c7d79903ecfb812397dd7532bfbc00cad5f334dae98acb433a46e0dcef1b1420c19421d1adab9d6532683f69b94f5868fea02f4ae9e4a2501ce042d11bf5c4c81a2ad4badc144082ea5b13036f1442bb0bf79765f8f533dff84d79c81b317a1b687e71b586f849b8a757c5cde5e7823da7144331731730c2781c639920ab5c46078567c77bb13be0da4cc0c16492f68010f5ca2b484b85760a477140e8775123a9445e926b09052b8934b8c1b1130521871468b4ce1ef168c7282e84757d9d7d5bfd50911920d8212064584567a746e5ec457b74a172477ca942c1efd37e92a7dc3960596b6bb63080d230fc900e2c2594f4b8556307ce8fa961580394befe955affcbd2be50f33bf37f200eb06b3bd8923307743794691733cf434c91ca9d7c067aebfe671a91054cdfe8f58858f9716250446bb7a60a987ffd61440d77f367800fd33ff2ce1c632fd78b89718ad256363a53f62aca7c698513bc220e46f5bc1d99c3f2052aa2d38cac3e2422036e847d5a15f836b92e1d34d21b672ea5817be58f1fa7d64aae33a235eeda548dca0c62d1b2871920872e574281b23afd03d89726073e402f23db695aa432ba7b2efd6a2fe2dfad273730ff146fff68fc564eb196468d949b2233f605720cee1ada0c2c246b97a2acf7031a8505747a6140b0bcf0c5489702b22c489f77678833782acd05c3f70df74d95991ebc2b79e59c0d7d37053e037827f98117fbb9a8f138d024f651faa4778ae2e6803de0201391bdbb55d5a56dde36204f1b00d9d0090d6a303cb7d3a89a5d5706310423484fd5b94857c42ea62e09f72b2cd1ba7a9d535d793065cd7f7b673a5f924aee6becbfcbe6c7ccbcaef05eb1783036537108e6b876274127eb03a2efa22f3268bfd0c903383c9af40a47e02b3f26448d3e418c4ac8d6d564b53b3387c860cab177993e0aff8fab01f8ebfbfea032321210168fb204497dfec765c752dcc40209276234f563bfc71cc3bfe9f03874ab31d760240ec5132cbefc5bee1783b5cde161ae0e801275b1a1cc3bfd88c6c08a45cec51b675f4b4e02f422e4b96a53abcf61c2204de6c0b1d6d0719c6ba333b8e8995dbc8392c1ddfa3434eeb3ae1d39472b6f4c3358b956b872969169bb0c3dc623069404ba6808cef61a307fd50e8b7d0cbe92d2d2bae36ad9f4176d73a168c6a970f8032ee131ffc4b0df0b2a48facbca5e9171bcdce662e69711de1d8ecc8ee798b25def8c0e239c67d822e4eeaf5b52cceb9d7fcc93600e92758fb23e5fed170ef3a0935e5be34d9b5f36c3c9b2af5bb117166c7e90d2811cd33512c115a35c5cd0bb60c9bde18a4a90a015109220e397423d6cafd8d03c97a9a44cc9774f5534f3daa87aec7e7394226fa757984e81db115eb747a3ef86cef9840e89fb7eaf617aee93c7f44b9236750dc531ff3cab94d83ed120de73199c8a0077336b33b4a6de094501e04044b70b544695604460b9218509ee8d73d8d18b85674ba52bab5faaded671df2cea712368f21c24d246d7910b62961823bcb13de08ca934bd7f91f02b5f893e7fd13297c78584605ea423f26ece9d30e5c12b769a4415b72a899f56ac4ade8bfa7ce7387ade3d52de6ca9562e00dd3e2442e8ee0c946f2ae4cf09ace6e882b3940d013c7b3d066c4fd80312f97e755f5436eda2cce601da491601f9dd4c0b1130e44fbb23c3d67838b529c322490bb6021b8af2e25468b9ba3b1f8268150fa372d9be088496bb10eb21aca87003a0840d1e01a29e4ca07d8e0f6f14bc81f0ad6bb37e82ab1ed3ce447ec1cdf0e889cb24c104429788a7377e26172d6b92002310a203bbf29bab8d030df29f6a31d6de16b018716515502638c5d0984f3e62700bf0a310c3c10b0748e369f59a311a5e78059ae528d4605327b83b58a7eee783a61903df8ba3e899f3feeba2b3e0187eab336e40b04bcc619f6b1778fa2a99ebc2eaa2b8a99fd86a8b975f25d24f1c88cdbadc210016f0888bc9a56e84c6a65b98102c9e3b8f0f6d70bc0765edcf9ce23c1197e97b29a085af7f171f74410fc2616cb2e375e86528241ea8eb4956135ba82cc71fa2310f106b2e0f544d3bd075643b7ca9778456a6dc97a960ec9521dc2413efe30f93b11c1fb3a475f0402c04bdd070850fd912608331661fedf98dbadbc05e75dce1c29da77a7d7eac2753d781313d9617b285634ba4c6a6cc8d6eaec4192d413233a17a84c270ebe63d3031f3314eb3528cbdb1383995216eff88c2a7e0ac4ed2a417838cc58f3bfc0f9215f65df3388549f044129c5e3d9f3a99fce1c7fb2b149b9465afd90750fdf8617c98159b3c412a5fad6f604c78e04c7e92b39979e6e9c2066a82e09d1976487ac09fb41bc88f00d1c0e96a38f3f268a16d4da17a232ee2bee4c375bc578872de37733481169433f62a297dca1a474beb423683d3d2db8e56d51e73e4dea2db2b0685b5928ed0c820dc67f52597220f117d3116351be76026ef9de35c4fca4561d96928d12a7ffdccb805597071c0ec6c9941a99bef83e48c72d7434b50a011be6f42e2a16c8925d17aab9f05997db2369c09a9ab89697f4ad3a0c42efe503eca4f1276a43fa7a13668400467148f028d53773149578266c3c7a07afcba8471c866e4ee9e8f4a01a6599cf950a6eaa6ed5776bcb2deff010093edd5fd19c7672aa187034f190e6da2948e82ab3ed30c87de840b93ee4fa2030a548aef0454797db2fb17944afb4d4f5efb6290293d70f88870e8c6569ca0b3ef15dc2a670ce60bdc12a3690e06ae3ca0e76e0a8bbad52340217a8cdaa5ab603e249a40adeef3a4e58a4863fc392a033311ea05d6ffeab43db197d4ed621e0f7fde2cc142d2f367555eecfe9ebe5181d92814428f2eaf77b2e9bb4d37a47c6cbd4bf2cb899b087a9423ac951c181c3261e8254c456a9f8ce50126d11c5a1b3c8e01017b2cee4c0835d3af0819fc0fa451c4da2e1087441ff9331fdf64f667362b65fc66c6cc5280349612ffae61837284e27183792ed0ce8dcdbc21bcb9891af25fddb905208898b2eeb01b1454eb1101c7381d83bcd872849c3e7ea5e993f6e06b30779b24f6f0a58d3acdc16ff4b2d501bd796a2a28d3bfca4a77db011ce4e1b9f643ae8e65603a57da272dd73710f4130485900e54a916bc2559fe0feffbedd1aeae46ccf364b6efcc4c5186d784ddd12f711b10c36afc0dad26a3eca593537e703d55008c505bc39e839cb77f8d31c18637d3d534b50c9d411f3154611f98e35f9a42ffb83978f3e8392ba034fe74ea675bf4ba5521b41e4c5f09f8c160de7b4b0d70972dd7c8ffc5818e58e3d3fab12ae21e0295cf8df1d98911705f3ee1c188ce89ef8593a2788a2ed63a63db978d9124340c352adc613e55b0bf66112db50fbc6bc6d50bc1ff274f88d6f9ea3d71af16794bb3c55947001e05be38cafbde22d3ec30be5d8f60e3dec671943a4bddc3a46ec76af1b92349d725530bd1ef714f7b6e0b2ab1977365f360b34c933880ee5640f9e4ea6865f258a2d34231dedb4d679630e7c538d8e17d3286493f1b24d5fbf6c3bcfbe71e64fddaa5a8fea79a4bb30ab5239c6bc96dc493a670ad4873747cfe46689b16359ca5aeb6bbd1d6727594b8f2080f2f599397a5a6ade4e9fe1b5b5e5f6b878d9db8d10424427d8486899babc6eb182931647f8097a2a9d1d700000000000000000005081116222c3742","message_root":"0x578737b2ad19ac6b27d7bd9646b4465dc51dba0acb602223b80d987117f579b8","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x9e28202ac268fda748e1711c4e9183357e160aefd9a2194ebb1b01582da0b9ae19f80da2005c8361cb819cf7ac401cda22176ebe180b56c2341c057ef71d70fb867faeb18caa48d2875b71c18398edafb3de53fd5d1288696dfb2fb5942f3159edd10529a29ca72525ad36b099fea5bca78eeadb09a598bf14a731bfc6506a868f4befe8300c95574012f081030c5310874de0b537aff94b63a1cdab96cbeb145eb5df6ebf7525b64c192d37765a0e1b87e86db217a1982e4ea9aafc79be33c2e1334eb9d52e2af12d91b09bdb3ecac1e0fb6d5dc0c2737e742b5ff3b464b89061547574733fbbd8b6746b22f1897cdbb25bdf53d9aa597d32762bd705f778dfeff10d4cb89cb0208818402b3005c6fc157941c656530adef92da1081698c45e4dec15f1616ab9098779ad305685167042bfdc125cd27ce725922c8657e206ce8f8bc39a863134d5c3775d56bd0859c8de6ecbfa5e135e3f50b424379aa5ed9071786528760a7cbc87c46f058a98380e48a13240fbcdc26f175a0d1a5a8ac848425750c8405db525a1ca6ac35d164c9b4325cd35a1ded3d5315d7b468e8363ba1700bb3e501874700148bd066111776df48f0467b72206101473ac210cc42a25a5810228a09ca302049379d3f71abfdca24bd093cc9064a9ad23113b6c1fc3ff03c5b9d5a0fdcd64dd879984b4227585ed7918fc587c70255ee7ae888e54d0df3086611642dcd8bc33509d88f64044b1d009410f669a2b500d95fba397b8beed495edaa0655f6c473ea75b308dd8a286b33f111db96baef81e954e224b163496df3f6535fc106e42f81db3fcf3a1646ab17fe0555f088f9178dbd592daf19b3d4463407ade72c2a3cc287198bc0cdbf19b9a7106a7dbd170996282d8a164aaeb3b8824608e507226a88bc751e3ffe6179c2174a86e1eeb09867eb52b257ff9a5a82b7c7d36af18f47e5ed4f8e86ea934aa8c32071fb4e070cd101a2f69f912fdd7f80b1e7f384c2c9a12c78581ba509deacf6f3aaf423f7201cfe0b339eff33c82e282493629975c15c9a31047d777eb9ff9697b1eb4b0296128542a63f12c54f583ccb2322211ac3ebaf1a0cf5715269905f010637db7e2c5fe1b9938f56d76ebad6a5dd88e9d3555e7fe20a7289cdc14da23e821757fcf56c4976fff318aa3c5583f895a91d4e242b6f61f1173b05e5c61ea6f99505c94d54370cd394e5aaa8e75e4a85d1df66f0b5a89e9ca2a2aa081131071c5722937c8178e10c84e184dbb40db7acda74e8dde6f0b1b32100732d1b31cb4844f19e82851449e328145a1b4883f5de0b6636761d77bde4ec5f70d21ef71cc056e8ee07d829161239bfb21e0a89c0aefd9acbb30e8fdcbff5761df130a91317f3b611a478f566290669820a8a6d9242ce42d5750886e40b46540cf92afcbb00274cab01af92acb2fad17ef6b25398318acacb9519dde2f9db405303739ddb62de728c31b08ca4860dd00bc1821367cb15d7dd519570f3eb8086832095b4f270b8decadda563059073331cbb2c9181f589380a6e2d927b0aff5384db460afa4f3bb38e6f1d46be628e87ab133083c61bcf02889f91e3cdc9dd4ef7ff36a8a86bc9183359313415aed54dd9f8062b26863f95e542093c64dace349b65ca7fd92b252a3418453b921f96cf3ab9a329e7d7de3b1a583247242cbafeea58438a7619cdc586a85d377adb5635fff39e0818bb9602281951e534faaad8d02d4a29a224676eee067d0b4ef10034810d248dbc0f1a984d23a63ba41a37ec01d6bd5e96cdfcc0fc2a9213353a63da5460b2806896980029cc81636e4956f12f2198a8f634777ecead766b8e32d686be2a6c5d5bbdeeb7775593cae72fd3fe6b7831a62847f4dfd041cf608f4691d8fbbc3798aad1a6d8028d7d5c906081645d44ddf4777a41781cd6bf561369691e0b72b74ef27a114fd62b8344e83dd94cfefec334316e4d04a0a3f0edac4b529f83136c6971d191de3bf68432559829c02b9d1319993d9313a49302f834da2734e3940064e37586a7c926b5aea0a4012d776e720a256b66d01be134715f4064cf437d20c224dcf7c47a5955ed6acb1be148cf4f0b7847f7d41105fda6e2c0d335142dda9507f53dc7779a6342440e06b82f6ee3d5c9a68ad0e4cabad432873be035382e84c757335e6464730cab9b19cb5d19370b48c97fbe2e9a35888ff65b560c47ac6f303343a585b9f5994458f26695fd30760c4130a237bb086d118cfe91979577019550d7f5fc5285d6016d28c8bff49d4635897e6e4ec9356f161ad11fd735837cfeb6529304e7c543e759f9c9aeb866c29df2e562174667a9bf357ab5d2114a98dd42fac568a9f2cfa013773f156a6e4f9537030673472b9d40ff793598aeb5826adc33cfc7be830331e69c304abf4857f27f2192269d21370e8f21d91c82cdbc91acdd6b12a63c10a50dc501bbe0552277bc1307e99c5b46c108bdf0d6222d15dd4ba952cc57ce28fbef88fec706207c552e29ead42388620b6e77d1939aa50393f97be2fba5d9ac24803383c92fde9ad580e354e2c03529afae436ade622803d60d1de761290e80ab392bed718f177df7e2ba4bd5b250254990de41cf617467fd98f9922607caba1a34114f859b4b43c9f6f9106858ee21b5492d513423262f2c1014be6d40864301980c807cf1873d8f061a32bb2504bb6ab3b012e392c2d6daf3cf6dc7320cff9ffcc5ecd485941d217349ae26f247bc4cdb14e2e8008b2d6a0efd37be4b02cf63ff74a6ac391a2a4d0150fa8fdba1b6cba6955fa2cf1b4087ab22ae4b86278ddc21e0f19691cb7c318fe7973dee658973e82c34076764536fb00c693471f8f5e21a820fc03669b95464fb09ae111f0b648326b34e4c4b4515e52f28f08659ef74fe31f6308789fc87c3445cdb257cbf59bc945e2c7985b892f63ef634c99977eb2763b7fe218c23d8971f8240b2da9077b20543c53744616f03b0eec26b332f242f4ef4163dd391d5bf77a600ed7b55a46c6ea8d7f46d9ca26a00c3830cbacae17c0bc3cd483a44dce0ffe94a59da7241d86aa4d44dbb0d7f8f6520fdaa6b6c9a3f9fcf86cc93d2a7228f668a2dd0d66129f4c96a623147378f020c3485d23d7643d691e2b02fb58f4ecb50e9d3461402f6a49ae7cfc0cfdb743bd44c3c5a8a39a149b1d6037e09f978504626056497a4adbbe9464ad3eb03fe0cb751f54919585e2d4b0c31c3340704398cf06a369ad4178c3ea5d4b7fe48a6661e1bba4f96ba5b170316e75a0c9943bfc446a9ac74910bae2defe48675dec316632d2a3d140174352645ffcb8c6d2a2467beb59fe07791076edb53234ace7599d72bbd1ca6774167f161c876d5abb36a28db67a86f7c9d4807e9e9fd4d1aa9c6f49ebe84f1c9f7a51d8b3c3e485b2767077e460309e8078c1bc2033e2346be936adcad4a489e9f867d325cf20c58282d4d09a2f0682a618571621d8a077c58d863de42686a5c9c87b1fb4ae0d1dc1cb0b55ed921e0ddd057c0127d2c81d0a5fe3b83bbb89563ed18481bee75ea64cbff1b7ef9567a1cd9b9e07d813576644b2e5790210a59b5cc08ce51f870ebe50219294a453e78dfe7af86043023214655fff241840abb830c06ba005749b8dd60fd088b304d86c3a75efbcb7","amount":40000000000000,"withdrawal_credentials":"0x005c971d876d7605ad973e848ef2c35d57bb79a1d8a80b2eb3172dacd0840641","deposit_data_root":"0x70e862db8d259537bbcc132362ef20ff801309159ca597254ee3499b97a3e99d","signature":"0x5f322021da71c42e6f3aabf20aa109993d5de7d753f540315da40394493832d50c955001c1cea633313d36f939afc0aa961046f4ccaa5e60eeb880cb132caadf944dd8bdbe1bfa666b8b40faa607eeac575202a9fb22c584f937d23af237905c69f99d72edbdd88b8eddb5eb1105981e3efa45c4773458270279abe30ad6a3ba7eea40c5e8d06518240796e5efd5ed148e0a9da89f640e93872c9bcf1d4711af7f7cb06a36c748d3e3045d1ac385275e25b74aa83ff3f6d14d06528a09c75250a53622b57ea3ee6871e5e36f52c8afef49f242a38488f13039f271218cf06677a9edd0af7d83839aa028bc861ea99107592da9b574a9cddae12245280b75305dc97d7b697f85d85a5052f7bf5e3272e21c249ba7348c902edf0da0966e42be3a1bfdb7a671e116ddaef11b1b55bc7a9cf7560294632234b3f8fa1d19921c89246c4f7448551404212219c28e10b140f1a0859adf3ae13f02bce0d2e3562ba22be793bd6bd932eb5a9b0b5c7f748abdab9063fb3514c322a0b7fd10ad8e52eb11f13eb5787f56fa031076295ac5bf12443b3107564d3cf96f241d1f0a10ff6efa7adb12677299b32118bb871cb108e5587a72f92b92ac31f26406fa08056c95acdcfbc8e8c53e3d1fd25186129d6e615c9b266a934b04a0a7efbbbaebd39ad6193a95f83e636aa6c625e1c3b0ab302b1a7d836156e07b87c3ad08f26d7ccbcabd56a3c05ac091b390fbaec5afb3cf430707f00b0b94fac4e457c8937ad4464e277e98231d55cfa3ac36d0f4dc6a0e12196ea6081b3b150305d9509c370c43eb8b561a8ecfa06a721245399c6f78328dff36279ea1ea601fa48bb272df22be73eda1f20060b34f4cdef6ef5e8560f88306d9b6ee1cecf18bbaeb7be13f203fc25ad3460c996eaec4638d34ede7d9f11e12f47871a6484ada8882160ab1c632c8f8494c3a6e4030155af64c4afbbf5e250ab89552c6040433985e42704f1f5f0ceca06299fff8ecf3b028c9f4dfe8bd59d05bc8c835a1ffb0fd2e1a3de9451fa414acb30fcb61938cb5bbc8ba31fb194dc24547c3066f6728d1b45ff45044391a4ee10912b13b7702bd989e7c09c94737d78c5c21bab44dd60bf32f8c85bcec35cc531d5e3f066a1cad1c5c0ff84fe165b779d8c78fd9db0793a11f3cc66e7ef97653c8e8cc07526a5ba94694ac56b46181e3ae182806aed68bb367175492537abd13ab146de0d13c3921efd54506b976ab7be9e341b7ae56e95408aafb8681c072fc7618fc45192424e7cab86d2975398bd18589b88b32ebfce6e22e518344d020bc9798ce86e45e0637238b234fab86c9f30344ac6fe2fedf14d0a26690352f1cd61a7b72d0b83db0b075003faa09fd33340a71699f9422d8f1470c116a4b57fe40c6ed1f4201cb012557ba00e234f95cc7141ee65f38590dadab1d98c417e2cadde3f53f23d5277a5bc1bde798e04bf6fc229507da9a5ec172a8a7de8eb3ed416c50907d6e5fff80d5e2bcc5ddbd3cb0f64322390c0d68181bc282f98c7f71c714ba152416d7e2b8c77432ddf60a3ddfd60426c62c5c0dbcbde80057b520f9039fc7e95e51b8947660134506389c07b42cfd5cd519ef1ecef9bc392915a76b91d19c5976f6efc6ac9808e43377ca7e8f72593040dce3884730b1c41be4433edd8d5c98fe63c58704a31ba5acfda3e646da00465f3bc2b4cdff47c84400337d76b12396a875f576590f37c1ecd25b05f6ab40827bb9e508d69918b6df0d8115084a6cb8942a978e68120245d4b45256900db73f1ffaed73b630408fd0a728bf8d2e3205aa834f15c093a0949bb722c3ad66c84d5d4d1253b1ec98edd7ce0b4b99ed17d187a2a1a86b0b9502ba3d3277c63a1d0306491ea81746253866e7421f9900d5f37a49f66d909cc0a5cfd7c10dbd211b4917f3745cde164a18f45ad7ded8bc7cc9b4d795b045f7ad092f2d437c92f497088093e881061eb1476e5e51e016fe0f22f16671762e37b75544022e6d5e0fedacaa85593db4b2bbdaed39d76a170c641a92e3a90ff421fec46a4041772d8bf9caaed933369c8ed93099f6473f91990f3f68584e15accd524b77110596da377471d8f0ac99117e369cf86349c349e0b0acfcc06095d33b6b3eddf04ac6c4167814d2a94395613cf1e1492b5350e00fdfa857a5188335db2e117c93fea34eb0c5db52f87568f88ae6f85ac85273a071e6ade5eeb414093b87c5ea4986f8184d4e051ecfb53cf54814bb1b7668275e21ae78c794dcbceae33344cff9231e669905a3de56cc110c35e76fac58bbcb20c384571af4c9604876ea7d959e77e1d47762b162a5e0774342757ec5f431a55fee94569c5f036815bbf4afc298f75088a0e6e385e9fe85f48a957f056b04356d6e804211daf310d0362a4db175a6cbffe6f9fa3c2fd081dd7cc1d9970068ebb7555420d5558964e36c1ee0ff0bb7f9b8bf3e7a143ca7686f731558850d39130c7d592df73b5ff536ffdcbffa1d2c1efb92a941e896a3482dc89b1643db0fba46688644708c63a72a913c0054d9730f7321c3ac25b07b3cf790600fec332b55cf274738828e90cb2954917072430e680f48f6c224784ad56e31bcd67de55441ab75fedfce38bf0a8c7978f1562aa45667b8332a4133616f108b6e2a2dc07c724b8775c0e9adf1ea4291c56ca7fd0fa1ad9af8bb72a71961b17765a25f15c9f9788da58179c697b6b7e6fa3861927b31aba00e9bcefcde97b63b7c69f0411f60501acf722c31dd9f6dc6d65c6c9f14a0d4d7b61166e22a64a5deaef815b11d6955e3caab979dd6cf76e69e2dfb7c64c056b9fdbfa4af9e1978d3bb737cfe33b29e8944a840a6b4df5c6e9e0cc227e79a6a64f085abff332fc2ca26ed1f8cac94889ad12b73c4543a3abf85f41fc6722aa0573b7ef0b7649119239b6c0f0736f5fd5049391408637879a0e4c3ad1abcb5cec75a0a9bf59419daf618fa5cd7d23026c54c5df61d7b1da2034adbda8afb4b14dbfba553ec63be000dc7fa0385c5332811ff7225d9eb4a972b7f4131d558c7f8aff1156be319e6c5f2ad8fe78193579c7821c04baf53e0883734a3fc6e437e1ee25c32cc2f9e41663757a0dadf6ddb0fff0b5c3e66eab908f0c129df543a5f61a345e3676f0e816218458dd8f997157afb3275b009be52e629d247227cdc1aeef509eb9ae947a29087fd31e5a3dcda4b39a3be8eb9ac9806042da4ea004559a947aaea37613964586f31f6f2e6e7e3ed23d30e230f623d886a62082f8bfacd28a95a4105622913d995e16f3d90cc1dc0e137779115fc4afafd69d5e996ad3451a913fd588bc8dbc4d5c4bf669df3e96f405803e3ab43d5459812c00ae015d7eda1c542b71be59df00ad3cb5e7b9de8983f1655bf8763a1ad3a3edf38e3bdf630426c7053404dd4bb653b56a5597b6c3d731f6fcda1ee12205317bcfafae434da34ead77858a4a762bc4772b127a8f15952bf053bf1fa3fd8452769fa70fa153b47ca3bf4016307451e2755ae255976c133dc5be3a35326de99999a78429494e853d9aea6637a81cb1000a18506aeed359da059f677555fc45d57a7418e49d1c8d87e7e817c0270050decbd5cfd2c6cc1092e7ad80476935bbd7448de7917d0f1816b4d28e9b5d6c15584d427a0a7d8cc64fc7738582e58a4061619830f796012e202487c3ef6f08bdba601b807dc9e912d7fab74f963082b814d7bac1b2cdb1a57fbdfe7a18934e6fa3cd1ccc1617875c5dfbb51224d0cd575c861aa7d89f852230d81d00886cfacd20b53cb38bcf84d2f25d4567d3a1c10d7d879a91464d8ecef0db8b21a8d3919ba803ffd1b6b7d852d27803a2e19898c5d4e40e9a8db2ad6b446e82cfce8e888b23732526a00d9af452612efdccc6a28e0fb021a5164b51978d9c116dde621b5e2a81bea0645b15537a79bba95db1ad9437d400f21de4daeebceb22f0b7f90588b75ad95cae08919a29bd770fabec47cfcadbf1f0b79856f30945876b45e3e5197e15b09d07d13610a1c48fba12f83ef6257e674185bfeb0811a3d1ab0b6c860e89fdc0642c5d0d1443e4c2c946fc63e832a2ba465fe42d727c0b66413af88c779b8612f39d451b6ab77e32200c5874e63574110edf29b67f26545beea32f0089830a2ad518633599bfd677671ce94ce81697e24cadf5725c22d557abd3d24336a96c5ec9a384d7b52ed4c6483d0434c2a5237bc03e0a7024ecc610bff102f8cefef0acd8c093a3434e2697bbca71b5a44d5237c01ba2cac55826d9a2407c3ee60ea0a4db6a1eb473700de41b35a1982d3578c40801983db81c2db85a3fd4083ea2de53e3add585a90ab97acc56347bfc69fae11cc72ab384b734270f9f1d0f5043f072692b38982bac9fd3261d8a087105d090e1c7e2913720a81f80c3c185fde79732480f1dfa372fa62a2e09ebd4b9bad7636e53023e18b39dd647b6e447a3b035d7fbc9030148fb0ef75d5030a99159708548af5cc650b1a422babca19d5c6cf814c65facfd5914df38c73ca6649c5daafdea4d5f3419e7e5c670d827b8384148dfe2278389bd482c564129a0ae936dec9bbded95189aaa6e55946a477f655067c32f2259d9bf6a286835fa3eba491a493a8c1b61f144ef1258fd5000e5ced72fcc96c0d9fb83506e18437e6b162a0cdef3f66980c13523b0144aa28fbdbeccfffac093bfbd996dfada28cc198f9d74bacd52b3ef677545e0e81457f45a6f15d32c4f9dcb9e6a0ec97429da8320bea2d6abe2e54ef8bcf317f31851f6fffbe95e3f6c0ddc6e5056c94b376228dcb98da6521e84f995ddf6b0203e2c44bb872169b77670b6cc5a8dca61144a365882676670efdf3eceb37824e17ca30de4a22ed18d5e2a8289135045a1c86b82d1443b8570c5c759ffe4d6026ff834f79e75ef1a414500c60a23541396857426dcc2a79bc2fbc6e6552fd0b70425c4cfb015d77d3a668c7aca5de6f01fd1a1fa06631845708152bf7e5ca894170a2b3f32d40cfe096de71e679c145cd3cb816113f1c6479d226d5cc24a465f117cb63757d92ecd2c34dbaf56ba4a5d91f59c3f67faeb7a5c51ad54207db91d9a724bec14e7d8ff751e91cfb6e1164c370bef7ebdfb2005d98db006f7e589f8715212bd4d283115661244007f97c56391ca50e0807a9df2dfe923c0fa8ed17bc6f20237545a4bd09dc3676b9275546e7ee385d06857e8ffbd5e94fd6ca6bed8760874abc205bf02e852f7e6727d5b895fd68e3f6d57a915ec6f28e3f11e018d7f7f51e417c56fd74a751afff4b56ab8747b9318de183af207898b3cfefda28887cde12ebb171aefb3267a670f7493627626d4419974d309388be5e8404c9eabaab7fbe2180cdb659cd96011ab43aba80ea93de370efc65e53b089f7542ac3fed37df3461d8ed2693de7a819cb3a0de07a23513b08fa3454da347e9570e1f89ab265de0b8dbe26894dd46b6576374451519dd52a1e7fd4db64cfa8293904c4017a279e59caa15101b68c162ebfba6e222c48876a9215d258991b173581a81507812015a4f358ddb914a2924a3adab245de51ed229f2647a7cdcdfebc3339f679b31e0de663364c3c6efecc73ca8f3ced9fde56b5a9751df7f3897fcb460293e82988463414c8f38b009c415a0651612f8bf53a58bfd47d528f8f6869074189b332c3db66f21efdd287266fe913d84bd546865c4d6d88d9d76916e5ce20ef0d0fb467da80c6ed46d03809c1f2b6bc428f6771936f5eeee3e267390b61efc90aaeb9a4268ae11702a37f09af0c8b6fd0da7e1fd74f68e7e3cd743f2dec1faaeeafe89c572b7b6b2835fb0dc304d13afc4f5dd13a41c599cbd3930b76a705a6a52962e60689442ac39cd530981279099c8a808ca541bc8c77abf1a55506c5789013fd7d08af1d98249de6429b3989f8ff34d2fba393cebdda2fdb859aebac5a0eed0957203aa36623e806e2b306a5d9c9b5a527e3ba9b0cadba02d786c06212f29923a8370fe584baaaded243a4fd9c556ca2c30cde19e02974773fdfb162fab82fb4b9011148348a5dbb4eeea0ad32f3e4b9d29c2a54b9617c85ae870dcd832d87bda6e310186568c7bfa95fe960e86e16da8cd3beac30babe454cfba674adb2ca455ae02b35b03ba86ffd4cb1ab47ec2522146bbafd87235803006f905e0b0be36d1ff51b6ee191cacc9fc48dcc457ba8e84b404a664b97127f31f45104af70f1d5f6dd10ca666795743e57fc49fdf460968c98f0a4ebed954baaf11dfca345b7bc3d9ba5c488feb517b49ae2e11d54d6e4ff643c4f8433b33d74f05a6466c3181cb58c496a536443d53f774d7050e3cdb9368ff3419b05127d78c22da21702082ba036b94fe36f31da177e186b3101287a2b7c9356974777e80ccedfa32455c65959ba0e9fb2d67bc30787a88c2d2d8dcf91f223e7aa3c0dbddeaf8162d4850515f839e1757798dbe00000000000000000000000000000000060f181b242e363b","message_root":"0xa03090736811d397564c371aedd2ee4495d7ffd21be97d968485900a6d21213e","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xea939823c579f8726269d564122ae5223faaf5a3d94436955b857749ccbcb9f0647b947149e25437ab5c1927d7cb50c68490f2e54fa495fea4489b8b83bb26d973d707366926a13a23f19db5007e2958bf7d5c828e8b9ddfe56191e38e9f5f673408f27e49780e4ed3336e872e8dd260ce76daf4c5faec8171e5ca22e0421924a7da5b462cf8df16593d3ba6a870d390e7af2cf420f9e50a885ce6c976c3ae4417ede965e65844ce0e1169687f445fd06d93077ab038d10ea7ecd18bae1c76ecaee771c7fefced4c4ca2a2c8b666093e8c9a45c130e011680e732d23503ae6f31dcbfa6f01c661d4e55c7c78b4deb1df711a08a6b4c7bc7e14b774bf9eb492bb8b85c1435c64ef3c3389be4a71345d112c33f7c0e6614418458b65d6c94d54d61cfa869ae0f9b5a02ed848cd9c9076e356b475ae8a68e7701e8646eb567b738f508d87cafbee7987db169dd891b8db0dc88ad152c3785571bc27738ed07d75f474d725de7b8e8c4ca6392fb61c8fe277b2e615605aede07a1102378fb6207f254181372fe9f30a2a0ef32b95c9fc4bb68128a0f1f7f0fe6177a19791333f01ad8f9101ec29d7fa1221293e8e05513b38e21deb1670c080bd43636119b21f3c1ab23ecb11e1a9ef8dcfad86e0ec3eee326e1d07c22788ee12aee84fbf64c814ba053b17efe14e9d668b5fcaa3d9f48bb93ed2a3066c4bbd5adadae46878c995a1daf1f28be5289e55ff8d88a4f8aff1e34a7f4a080eaaa4d8f9c5dc79c39f7594aca8fbdada0cdae4dbbd586eda0bc4537f0a9cd498a82377d1da2e21b9cc8de0fbbcd89569c8d2c2605bb1679ec51788b500903fb0e4b49d8aa5c31a60850ae100f50d464211bbfc09acc00fb9e639d8cdb65db018b1a2cb1c2c9010ae6d314e3fc2ae12be41a7adbad9bf2f2f37c56f98ddab8655e5d098ebf5d31134a5cc30746f7c360efeaabb709676acefc995702cfcbe3625718e06fe05eb74732786e004fdfd2d0a6b223228af3bc443b2b2b969675000b6fe666ab83088c72055caeede87cab646fe43e8a1c8d554f15fffebda0b7b96f8197c683a785b76cbf5611dc7127b8df0833ea47415553378aa3482de5277d1fc532af43e44917d7974a9b6539127f01c844fed722da145732f5564a1f79e7e1c9bebc6aaed62d6a2a3115ae34ec4691b4f7dced71a2667c6c00c4a30a0095dad28f32f459d63ea2e6f16a6520c554862c3739280beba56bec2762ab22d9f8ecf6816aedac947ecabe064edf603be1bca67b477750d04fb1e7a8da0d31927f720954429ec4c1ee16111b27ec740f51dac5436c31164d50d162dd51207f79d6c317b31fd0928a943e607466f0298477b11cfa8adf79475ef0da4830ad2a83c5bed1bc73e7573b8a3ff27f078d8d804d6d2dc4d4a1e0c228be37fe81a1d39dc3e3fee29eeb2b3cf2d954c84c4a075a889b7eb68a3b296bfb8b7e9379a64d76d44c1f90ea91ec09af6c58be320643fd512372e18bd007cd1932c7255bff0b58dc4455d584a015eb422d7d21f9014dfbd0caeea2d25839659814eb326a9ce45a5fd9d0d0d0f6252e2db6bfa51a7612abb457935a7694ccc2a4ff32d324ad61e8a8c283c596530bb6915cf2cb2e1f3817acf550d65ff7d8e5058f5c51b90fb87a1a8826a5bf1b01cd22eda776201a89b90f5e9ac0c3255d34143c536466797eba926403dc8cec2a44e5400d9af771c78fce7de5d21520c82b3ab37daa2381f79caec9b863680b78853df6bdb5eee05b2bd8eeedcf598baa5b0e7f60d3f2a7d6fede5e3319ecc9b0ca1cb882cc4962daea295b77cab13a9efb8babd20891e669741a1677929410b41d7d8788b88d93fefa51c6b5f7b8cedc86a2617dc146c770e7136c363830103290c6df78124f2c9f5de9e762be8d647ee9d2c8e18a5f6592433b3bc0cc58ef33050c6dbcee9ff4796378fc4b7fbcf16a82e1fd62727254fe40660061f6cea6cf35001677124e28f331d94513f260eff3742c95372583e3fd6bc0b950e5ba7b7aab4d4d09abfdb634a1506865a4de08093e07b309bd2ac873a2b3ab0f5ca2c91d4e2cd0ff899f40a29b7d3b43ce4b2f8fb3ceda2d6f243d521fc9051f0a7324fc4b57084553a1a407815079f8b4b9b0bb709d23ed4ec3187c45ab6c45617d2fa34eab3f71af6e552ac063d0025d490c5d977e5ed7514fcd586a017abc65846e86d4d46f2b6e61d4a196773f32e86ac2f10f44e7331737be09fa6cd7135db63244aeb7704d8e4e7ad2aa39bd2899038b03bf0ca22c7005d14eb14642157bbf37204ddbc511c65ab3bc55dfecf42940306142da51eb25df188fb430bbfa5c73f63a4d6e069fc127713d57ea86a45e8877d0a419a4f357db4837ad0618e7c2bbc722fa20e3ccef1500fc630930890c33d320f7e7419ed26fce970b911c84269c40dfd66925ace775f0857aef2fc2ae4a70ab76d9c5974908546211ce799aecf9098deb38fbd19ebae429a7f516d34ea05f4fa86a7bd56a5659c15cf23a53822eeccf4cc7e64c2fdedc99aa1506689fbd6e5b2855b88f14d7ecb5094405592dba6aa5ae59db1d7dd2925d709248ce0e87425e0f0d03cd01b27ef5a3ad9886365a00a786da1eea0b98fe22fe7e8af6ba98c7ac7d889787ce7e9efc90cec3ffae18b27f9343c1f8bfc61e6c309b009c6237925b538935c8d14e9b4c2563202e79ab08515ebc1da689af3111e9f8dd3f1997c8118b50a3322408b90695964ed4ad089cdc43ecca72ef28b1b4e42e0a858181470c91dfc7ba6cd1e85b978c5f51dab20eb110d868bb5f75376e8772b5cc9813924ed28186ec8ea27fddb1290d38d53d57fbe8d03f148acab9b4cbfc9455e8bb9fadbe2fbb02fe2e51f2426cf325d0bdd7580554a8641dc9972b6d6b9a4cdbcdd66a8c89c1af141f785533353c3c09355d5723757510107cc218adb9b702089e0c69d0c382d334cb8d06e47fca891fdef1ce6ce707c47e3ee79b38cdc35763f4443a3ad4c37e833d1133732ed08b8ef6fc423c15fc195d7e9c4717d8fbef82eb6217a7217cd19f92e29af669f9793f8558b9cca13e630e0683a126d7a1a551bbaccee66f696a7820d06b3ae886f2e659f6dbe4bf9b6ac72720a26bfba7dcc906c030afcb51205655b3820dacfcdbb13525346e51fc5a0222da4949f164b6dd6169865a045f10521b260e46b5e32dd0af67e0b02cf6b650f9ee22f53c2c5050d31667d5c30de5ba1af48d474d66669e3afa8008ae6f3e20259c4bc948d328dd22049015b5b3d8f20ab6fc0f0a73b9d52d9054ba9f35f53075d79db43d9af7615101314a21a19e470a86c6862a217bd654ac93c3b6dd8e5f34fdee6ffec99c7db7640e5b35aed422e82aaf40e1951320917971ed2baa4fc6ab1dfd020ca196fad3cc42cffcb3e2d986c0eebf6427afb6152e1365e81d4aced3a96c08899c9bc986d286b6c9b5ea579af17e04d75615a88bec003e3904da4b63dbd78bf7e3c9edb414fbcb0608777da0f9f14e07ce13413a02be820bcaa283297ff0986a6cdcaf6305b7f2d9be161d61861d3e35b422820c5940c79d4ce55c0a356c2a5941c09ebc0bd5f3a2f613d44520e13bc4795d3bd8b93a764d5957c946c0f7c4aaa68f70c3ea4ef0a431e32a4c001cbbd9cb1d98bb8e45627fe56920502","amount":40000000000000,"withdrawal_credentials":"0x001abddc998e485cbd745ca8bf3a9c9228e460ca0a0d11f66ff889c8f3c2f57e","deposit_data_root":"0x436c2f1805ae3969b59bb23f5494294c3bf7c21fbfd7e9abc39b5abc077ddf39","signature":"0xa5ed3d78b8e393bb39571b36b9b96451a5f9ef3321a3e0da0d938e4b2f09e9fef1a8b9c2597387ba25d3b71cf55888819fc19351adade7ca857c3da2ed9ac33978ad53ee063449c1439d88cf0304550621875359a49198b1f481880baf1877ea1dd4f6483d36ef55a435741ebffa33f78578aa699d8a96ffda608f978e0b500aadcaede097721290404a32d3629cc93a0f7e2b24e7098a5907d434bb664356fabcdef774d1b1e3afec9d2dfbe5f65beab0a11b4140c0b504c51dba08ca6f605277b5e85334295408be186e9b91c50679e3a2204aa3651ff6ea6fccc3ef8e34e511050db3e5a18aa9dbdae55f4d4a8c23b7b667b02ecaa5b503bc2df8e7b2ce0e4e4ba8154fa61ccf6ac6b01ebe44e2e206f08bc50c6e095008e90baabe686513333e1ad8b09128f71c8a0a889f62df9d007c528293d3cff87b5fa59489aa95885cc54fd25139b4e1e777e1444b275a982f6945fc5a5a3e2bfb75639a94a8d358a07a62a4879ed865561d8f2519fde62ac3135a327b02d531aa2a22323401e10f7fb16bcb9c906e6fc1de91cd9e5a0643bda521d842f9c63366af0687a209aff2f7ad04b75c773890de170830453d21213c72dea1cc405c7228f4b44ccebbde71f3ecc446a6f86b30d385881b250bbb7fdc8915b8d522c6dbb41d5416a3c01368c3d7c6e31bbbc1cdb73cb6f8f4ad14655e8f03fa7b342db717954a3a2b4142be6260522116fd29e8d76642a42bf81cf5fd0afb85d628ae05970934a6a93f161faf697351afd9d8f9a640520153c7bd01dcef3a7ce54a59120655160de5d26c33f140d3bc7c647d6ec1a6626dd6d2d2fefa1c302ceb6294de9bdbeafdb21a01e11992bc19b4f26c0f7b7b475c0e317a20f0b42096bb01b9a4b622b61731018cd99275451f7faa4fae92d4509e5af09ae3a7ada52e42aeb6bd46b33d73a33bcd686232c8ca09a07c4fb0c9903ee881576f4827df09d154706e59914c2b7d1f46913b9273d5236a755dd3cecd9392cf6733edd6014cd0464d7cabb1a970925aa8e253de2303d5efdef7e289dfcc971d1eeb4f92d369aae22db6e0a8ff80827e5902b3e960b386d82bd611d13fd0d2867868758d004642375cba7ab7ba4de8ef5e4beaa30682aaa94b4d7eb5f1fe524e8c8596ea6777a53e3c304d2b4aa4c451353c748169b8bdf23e8c16887b7da83217e9623954b6b4624ae58e95fd0e65374457469677bb68acdae5a3bd7fece937b1997226275e945b985e9bd74d8d286a3687567cfde77eb4628c6a7e51bfd97f330c7bc61bbcb6158ac2d4703d0bb4d1fd57a2cc0294a21ad3a7ab13c2bc0cdb7c40d08f5dc3c6f3d0d03e9a7e543fd78a9efe7a1dbb3e319eaa7f0917e71d501f7290864bc64564d20358b2f2cba7bc7dad788943b4e7c80bfabc3cd4fb95bf49e3dea19dbf4d96c45438185fa6ccdf3373b6fc3fb4e5b38e2e219f9ed924460748ec564d57f2485c1d1dd78ebb1c4b81eeaed36be0c9d654fca68d7b827b82e78044ec0acf42092f98aa7f60bace02ad82b7d47a2e60b7eba410a527199e574ca9824022e0100c263b892961f8b99ff4ba3f16005b4f443824cdf3a0867ce95bec1b72ccf4c7b6ad19606213781202d647732cbd132b932474abc87641374be56c2799d28c74f58cb3475b967275a493b47358a18d586fe43864f71e0564b80d3696f746ae68961bf4f3e4523f9aa34101ecd0571b7f584cdacd9a690c36c101dfbe0c6b58a322bceeab3e3b9601b80793fe7da44bc7a04b538135eef1632d4ab16584839679368310aba6ddeb9edce61ec8b1e481b5848e99aa3445bb837b7d8123f80b50db1c2178ccc64622302d34f1df59545c5fd39c574a7842166ebe30ece9bf6a86288931812c00c6f242f70e51dd4a647a36c13611581524bff24ba394477d2bb4ee0b87c8ab2eb4e3d2d946447c05e66984e1e7b80cc029d337f92f55bcb89ce44dacdc8a575d596ee74231e8f58081ba7c0e16f700677be158e6ff7fc8a2a08e3a1e2aaeb4d530e4b746c6489880f89f82d0c5efca5fa9b6b1d623c657e7436cebae5ff7d8e42db8e2610eeba9f06cc26d7a11f7e37069ad854a261e0622726e02e214044e37663a2d061e705477cca20ced9cc9f0715960ce9e5a8b61018a60e37312fef1c4a8dd2ff00986c1cb4563727476dceba04ced1471381c3716758678c2323c88ca5b407ce71c967dcc564fc3a9b992a4ae710a10c425b13799459da838791bb54473f3516e595e8443b5287b55bcca0404343cad1f271098b06f4f56d170223792e1c8cba8b8e2f3329863713a2dc1f578844209b57238aeb85fbc5d9bf7f967081f5c5e6ebb0cffa8fbc7cafe7da06321f2da6066787faf94b7d9a0f18c84ea13643eb20f0139cd32fc23e44ce149e55058b1d9b4126b24dfb100cc59eb143b7a9920f421a1fea4a17b75280c108c3345bb437426e4f3be820133dbd7333501c2cbe6d5221a43cfb09870eb2cb7e41b46d619a7baece10f7e602750bee34b0796ff0584182a13ce0ef5532b36c7f9b81866629dc1d68f0d6fb706f567c9d08b286ca9b7bd6aa0dbfd9052040c5b9cc62588324a3eb8a4e5d6ec463db45e4d68d6c0275c292b25a6313800a0f40f0df3a310ac6945f080f937396c3c3aad1f71c199cd6a4c166b03429e9cc7050e2e5b6f80ce9405da6bdcb9c6e54b274e236f8074695e964ff0a1691e92393dc73b220a7c95bc7a9d34c28e9c12592f17e38f89d81c7cc45e401901ab4734d5cf4767598521422878fe25a55972eda0ed3400502677d0d801cf89abad2c17cfb5965d9907f5ef9c6728cda71230b94ec479dc3437a3b3564f81ab06eeb28b492a2324528414caaef29aa75ec14becfe123a33d2f982c1401aabd5b242046548b9bd975227c500fe7e71fb636b293dcca01bc0cfc5cec2dfd73c36a0eb0d542d5e2c4070873d7c225108e6b712920cc3282db2b0f3302d5aeb5c4fa0daed52d99673f0c0e8fce8e904253b2a53cf9757b52ab7db5867fcc172fd6ac7c0148439390ef0e86c1516118d5ca0e1a00a497805ab1711649aa245f21e464388e3d809f6e29ec93d2f59070b614d1b00cef0f80a8c913d8e6463fda425ed5ea35d161cdd04b36b654569779354b234950ee7b1497632416abfa2fb2d2ddb84c4d37155721358900855f0abf59efffa5861044a532a51a85e1f90acde537bc88d99c47b2e75c6d5215aed1ad44893e3795ee7e9cf41f80206e0be6a2b9f37815faf662b74219b2fd8b1c667a6eb4b7eadbbb9840f46de980e06c53c8ec5148cec309636227c4726d4d199bc85356c9fc17d2535f4cada061ac72dabeb43c841edded3e7422983a82ae8606796d743aa80cd00ef3b112a6b88d3d393cdf81ef1a68813c6ae524c62ac2bbe4ea09fbec15ff8843f71bde5a5f8283e5718528d26beae4938b47df068f18b85d49b83c4f08bac767ac780fad16fc91c6bf7839acc1149c7ac0e194241f7f18d74e99773d8dbee9283c2f3fd072ecef41d9bd302c5c81a5f2028460003254d80c0fe1e5a12b7058e864a631a8b19996ccc20a339d36f2882966b5c13e630ae691b63606dd80b9c151998325dd7aa056d66929aa3cd6f5f819ac0e913da5e4d8426953ce268b223aa140a19a6bfcfa99142f40ee26071e6fc901d14efe009204746ae92cb6ab17066fa58115efa6e370155ec40d2b0030c5b8fe8c4766c3638a711e257127b006ad494754dd32e936c971d7c3de116d903cfd6fc1c155bc4490d54b05207361a7bf0a74dce1098f836328835aff554e7ca55a3c239f0de5141df3e31501603a7ac47d35216473466e6d93d8cac19919ee230b1d263a8ec6300a72c972d0340b23f46e8c472737d3abe0dca41cfac5e5fe100654a833d15a23a74da68113742075f83b425c474abe1b02afafd250e304ad3f076b0afca7ec1c7104bcba5cff1063d5af9282fe6b92e40f2b25f69e7a245afe1177770ba1fec1e6a16134b593061dcd29e04498f65d5e6b4bd574dd8df10b7a4697aad4c3d700330db4bf8dcfa516e3412ffa2efd0a0f78a5b2447fbd5e15f479f0439c9357750acb17d216c70929bfe23acbd98c8bfcda8024ef677facf96879dccf5290129170ebcea38b482272b6563281991d4e64d68d65a34a75a4ef36211a38e5badfda9719cdc596bd3243ca0625a793eb79af87332678aa37eef29ff54a95f76ea8e36d3412409b6c809368b6231ac26157ed41b63fa7009b888f42934a53bdd0c517d9017adc8f51912ed94dded5166486b537085f88737278d3115b68b2ee543226f4b0e77a402a20359342ab975bb699edd975ab99ca1cd63ff79e4339b88db65e968c8decbabd3a8fec15613c4d66def2b7cb0dedbec99b6902a92a2d6a45e250ba97405030fdd64890dfe5194ae6afa8de104f5a8de62ee3e5497dae3a6f65302ab550e57f2f04ab7fea34d439a94dc62b6dcca36e9a43a7154b32bc9266a52b13eadb7f7c664e6e4497c04f1534a7601bab25a5b15994b3886a65a30f05c97dae7be10029a3d0bb835cce3fdd44411012f1156a8e1fb1a7394cd3b3fb754e91df457ca33cdfc110187b7ac00563830b38d37b004120cfdb688566e9891d2eef2f5d8e1b00233da9971d622ea9fbd890f63056b0f32421763c4b28b12df9c90de6a367324c7475e51fb9e8b77511ba6301c0de2c2d5a4b507279986b58f792a5a8e29e9b8e303f12a120d51ee40bc4ecf8090fb00b2ab9e1fb5f4fadc422b8bcabce575efa334de90262c8f9489077e1fe171d599438ca57edbaf26d7316c254ef74e008dfd13d8331d784028273cd6de576894584b9686c59eca98b7e937ceb8e673ef634ff6f880e3f173be3485765025c4f7916f4848993dffcdc0db6a06292af98b06983bb3b2244378445dcb1501d0757952737eb269e3842b5de7aac6f5f52e6bec32af250a1286a6a12a0314951b2350988df1e03c91ac4ede7cda4ba1fb763323db58a1adf58c3f6d4ae840643eb75996aa5def6d671a6c5e738bcc3ae9a2022638bc35dc458047820e9c2f37506ad50f6a7c3ece5ad93e8f1f7c021aed591059e31d1549ebd2f9239241b1d30cdac4a49ad00a0093a4b1deed7c34a132d3facf47b562d9e5ef9eac1153ba5a71d9b53978dbc3f016d0321094215c21c4796fa64027d3f789088fd7d639a02657eac0a93d77a75d5baf63c1fb8f34650935aa84a3e73f91c6f0a934cf8befd5799b8fafd4d64eb53f7096d1f629339c8f23ca8a5a36bb24b1abffc7f1ca2941499ea74fa04cbaec3a61ca8267c87ccc5009f14cd642e1baecca3d12baa7af6a74c8709cb1a287429123a4fd6f89ad8b5687c35c0781430c41e810edffe70ad084702dfd193653d2b17309784f93785ef271a8f779b41f3c5c742aa4b3d8445db2ef7e71d78b5d38e960a4c0e96c8e346aa5bd9d4678fafbb6af2d7dc40ae24c95dd5405d79e5f147bd29c0bd5808ab01f95b85530bae2159be306a9d48aa12270c894e19343c846ac6013171ed3336346d051fd5f374b45e5d7ccdcf8937539ede54832edc8ba70ddb170cc3c0e5840cba42c2c9cf4f961e21e03d37bfad91752755bc4150090bbabf13edbba62f1d4670308609d6f47f7163bbb7e508dfec0fdb4f9a37d6377e57f90c74ca7bf8136df68bcbc81dde82b6851b724635a82a370b08b87c5b381304fcd2ca1e235f5e47bd45eb343dc537ffc6751bc1366d79a092f1979db6c72048c2c3910138ae9f3c99a9650a85544fff77fc6b6b44fe44870f08eae4607e977dd8626a0eb52580b4ec802e0d75a0eae2931f1c9e75fef80e0bc80cdac4190664eb03385d8321a2a51d797bbc86096f978010725b2141eece584777a5fcd8e0f6fc6690986011d0938acf22416293ea85086126abf2554c406603a0be294c8fb551fb249416d8911b2053b85e4e8c0553f16a6994dd67ac35fbb59872c7657c0ba340ca00bdbce059eb277c5e324d6ea96264404bc14e415234f94ef705d7f01182cd49062d5ce1a31f6a808d855b691b946f277cdcc1ae75dcb664b390d7345252e3df8bc4ebd6de2ef6cab701321b1bcb1d87d42ca467cf3a9e4c175e08b59f9b20d7ef2bb934e483d83d98e2d2019893e3175233491e29eeb6250e42e2a19a0013aba63d25e2e6a1c00b5410dc45141fbf1c225bf61d6b314eccd494dbc93fae7e04d15b5fbf93aa509c9d45921cbb3610721efcdad7d6fa0e42c9ec7c221e4eaa8d48e7ae1d8335e50b4ef19dcdf4ae17b9ba6f39bba6b8844bbe27e19f0ed747b3f3844e9dd41856cfa03cf4efc9511df08fbe621366ce3a5330fba15b5515e628ba995f887dbd2517a83bcb63ce1c0159d810a1067874734d6136991aed1d42c76d3ecf3617f9536474f646c8c8ec7cce6f839425b728accdfe9062c587e8c90a5fd09193542667b84900c1e2c315868777f868b94e10000000000000000000000000000060b0e192129313d","message_root":"0xde71fe4ee781863550063530f694f92a54f107cba99029c6b1f96963210029ab","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xc71880501b7d69f42d11bddc69f7c0ff62ab66adfd6ecfe93c67628304c79f97bf1fecb99858350b7dc6471911c508a8a68424cad86647d65e4c9f5984bda75092c5e0baf7f365a3ace44698c1b15393684d3e89b9cc9fbd18e11c54556c1fc6325a2c6adc820f7331bf70c45628aa4bbaa5d88f43c7f6648d0736978475b276ddf55e961d940119ff8fdcebf0220557bf1b81a3840a06e339d3f22ea03d084212ce463f463e9eed7df765a17de0bf244026c3fa99052f8f49ae261ac340f56db4d4f8acfe6ac2aa0f8cc9f61fca411f229bdeb15c294fef68797bf7017e0b5ecd651b86905b42f51ed1e32014374d88856cfd20329a0a2b7f99cd21aee9906ae16e1fffc0c951df425d46fba2e3fc20d744028f0beace7aae253df856c2bc61b31805cef2a6d42b497a8dd81f2ed9b313d2c1b1987742a3783d2f4251c40f97965283adcb8c17bec4a560b71ead52aae50072f24a941ad563f09ab485c684661c6d3d2792bf3b742e622cef06cc351f64b21b1ea0fa628b68b810fc2329d607cb63df2c429540d894fd3f8c9d9aa51e8cc05065ad282d72491db56a7be874b65e7b97d52dc3b186d3f8a87191279ef26b8aa26d8f4ac5562ac785319e1b620cfc235440b617621f23457e0d5f9facee2c7807c8fba0b7b683f0ae2c99b91cfad6dd6c18c965b0027de91a23326f00b1e3761d7a659b9857a0ac79ee2e08246ac365bc1c60f45ddbdd77815e56f6ba770c8db670604e1ce868a9f529dad317a4d6155b8dc948b820c74d772bd8aaafbe082036cf0ca96347dbf70ef9a1f539e98587df682181d30e907b45aef9415f71b5d89e47a03de198b126cb7f86d21da7ca12c54a949757bc736adaad5ec6acc8923c8384bd9372547c3b506d11639846a554f65ef9bc5daae5648ae4e3c3733e662e5b44c43ec76dddef20bd4635bf2766a8d89e2d03366f4b208fb26298f9d95ef79083fb0b077fa73818770eaabbfe3adfd82476d41f417fb45fe43bf171bc2c7dca7b52e813a989ae4916484b28676fafc058cfaca6b96b680578bc7c1788450c19fa0c2127bb554d9a57df802aa1dd4d2dc80b41147925086945d98fd1a83c278f2611df734fe67e8767d889235820c59bfea9f667b03dee41e533bd47ecb2eaf0bbdbadf554d5bafda8d9a2b883f3d48f7eeb535011dec96192ad2af20b7e8d8f63fde4b89156f41676576b36b8645dc0f263c4c2009540b3dbdac90e383eb686288c613eb798e4ec9e9f58d622a4256fdc0644db185e2d028cddb020a66c251340f45cd12af337a08f5828ea362b0fd4ebe7e1e1d83f48ef8567af9bcec69ae2e58e0817c996dd4c2a7c4a95193aea35334c78a5f0efa2cf5881ae450e6d69cd5ae402bd8f7eb1fc6621a74a306312891a59a6854f4288e2cd77c8a1142ead2ca521f369b4cab4aad1773f98d58e1d0fb828bf6788c7a87f6760a113eb282ec799bd2fca7d3f2cd3c7c1d890b58cd13e65d3796a68bcc73397f94e8262ef94fb108c2b34c1f9d06fc2357617c9296e606841b69f9b2928b87d8925b456f484da549fa29ad11c2dfdc3b669d6753f86958cd6b358e08ee34991ad03fb69935cce8c259939b28516c463f9b2945ef917e96262d18b969fcefbc1cfc8dca45ecd0f96027204646ae7956fd559925edb96f9f1bd8b3bad16d744604ed846e05b23e4bb49c9d7656b1655720af713519cfb941e624c8c7210703cf37c76b7af0e545ee47f928201b6fc684d64ccce0e27983e7a72bd5f89b2f4ebb1b287835ee84b58c0c5bc344b2c14ac499116c81336ec539f56e657b0e2691b99d363a131312d308489d2a30ad79f40f1617e5867beb2f55b515c19029127929e85c7a62581847fa48440ca6fecbdbdf827c8b86e314c2905fa8d00879bdb01153eb9e3a5e8cff1c3a1f56264e5162c8e1df0d64b19ba3744ff85d0e61a94716ea85cb12a94d3a10dcb87a20c523dd47257a32c8822c51d8f8dc32a13dc4d333b9acc30b4e3ee8a4c2155c9f59449062c70340d21ae591ddb43b3eadb28e3a6e23d52424ba7679a1ed3039b7d1a8ac2b2390a713cc959a01acb6f28b83ae073885f9fdcd0e87db6303eae7b741b558416714b55384a59016b9363ffc9f93de3bf3fb9cd2ecf487414be1b77c2846730558e619483e5de00e662cc06f25f013f72dd51ceac1f3d7d45c8da7c6eff356ddbf8f8c46f7ff78ca08b13fbd780b665d88ed5d17a30a5921aca658dd0f30a12d984c6ec6e9f5d358719a0aaf423f6e1f368164d85838a04862b39f74305d14c7100172bfd43d50fab2daf0d157470e668b0cca1e88ee51ba39d1da633de586cb75fd49c59cc50b96d6f4fb778cb2850cf120f6ae4321c22e534ce8c89bb0d4a96e448ed89c706f082b9c480c291b92034b7b2290e561f7ccc1496880271c1691beb0e84296a4351fbd66e299064ecabd44fb2ed348eaf65d4ccb3b8181edac182c0fccc730c7c1f033b33b4ee87702d5efb10a1dfed233a41ffaf9ed8d63566311f628401ca063d6e8f963db4b3409f793af5bff7e9901566bb20091c07c3a1dfe6dc1e5fcaa0617430be7ba105cd128497da38cbbc75c547b4b83f0665fa1902a478d3fe7fee6efa1a7ac0db62cced12fa178a11ff552985dfba50654f09b1cf2c946db01da3c4e62e11d66021feec15023f987d96aaf7d8a560ed21085e714345e281be6742890853c4f217b281e8f9c2a504776afb289c2fdf9e71adcf65a6345e7cf7ed1f25b58be1cb74e2f1de95d8ba52a93658e8f6e6d957cc875ed1dc2b5e93c88b998eb9afbaa553e01594dd4dccf6ef74ae713e5791e16b3b253c9bd2090bcdec0b35cdc8aff84add94baf107f6062c6b8b56cfe14a93a901be2268cecf80b36bc309e441a25c221010ed207bdb5dabd89a79d9d6df8081080ee691e75b08f338d88884221319d64fd81fca323ecfaacca2775cafd742c34bd19ccca53b2ebb510e0faa980f54366854b72e2ceb920fe7b2f5ee97944246b1d52b1df20fff384e6e247fe9f8916a410f156c2460b0f7cd0e49aa2a422ceb32bcc3d20dc64dc4d06ac26764c331ef398d8b974f26a995a5de5f9909beaa44eccb2c7075bb5bb7ba3693fa6f3a727b56ed48a9309f5da4a4d3e0de8de8eecfe8dceda39725cc15c0ee16d0518a3b78c28acaae7daaccd122d0e1e5394bb597af9036848cc5bdf96976fc79295527ea16ac53b1242d6f2d5b179f475a0568c0704113e9e5f50f338c4bd501295ed188239c953e54e61cb12670c492ec4458a5787fc04705a4cb419d57d51aa44c75b900d836158bc0d22a5e4bddc5152f00b87121b82481a4140e3e4614de4214ea0e653baddf1f0956e57f49752f875566ba318666ef1235647514a313048e7a10bb013ecb8bc11072ac10701cb0ffee176645032672b77efe5976ae686878da6da1afe6b3f60986f1e8477f1ef3b9c5cf52a4e99a15a559ebd40254ee8936663d62012265080aad6dd29f0a2bd08904e8567b9801727217fadbd1859a309dbc6a7e58591e2469fa19c3725b1a06c1b4bf815fc8f8d13b25e12e4385a7f609417b744ac5a1582b8cd793478396b71c36ef92a268cb282615c21cb9fc8dbf55449e8255086ea281a847841c20beb4fb61651400a06f4f11ae8b2b","amount":40000000000000,"withdrawal_credentials":"0x001b93051ef5de18c42e927f1ccb4af933b124975a50e35ebe3765199ee40725","deposit_data_root":"0x375e578178cdea4e21a0c25b21a94ce2e8be6a97aee6f58b2814610d34fd08ae","signature":"0x3f97d0f74a8583759cf730d581cd297aafdbbb0ddf3d530fcfab46e76ff0b0c6bf64302579a7981aacb577703bf56191ebf21cd4f1ece846c8ab127319839d421ae215f9dfec6213eba477acbeca91ad8d3738eb11945af944beffc6c3477738b7c4e0eb7600c2f03b2d18e987427971e1a4426c6e87ce69127532efb8a7047cbc43862c1d9616ad1e1af4a1c3e591d2bbe36bcca0e16ab9b5a5453efbaa8c8d50bbb5118f15a7526fcb901211f0ae770d5771ee3fad4c600c0a8a86c76780725439bcaaff31087398a396c5c877d4ec6637a070550314bca1b4196e8aa35cda589738af3357badde47afdeb8fbdb0a2143d04bf446c3669ca5be22df3205dc27252fbfa2db0d4e68d579a1f190de7554a79a668dd93c8247b650ba9c2f2cc46f2a5cd70d6e7bf4c93d35d6d78c1624266bcc7f63b90e2db78e9a2ea5d66c68d4b8a7d714f1b57945379911ed3ac142969334bdf811938a2883452ca59e30df8fbd2becd9850a6380478dc0ff8a16dc719234240bf3764f635935a23205f1594e74a6104c5a146e384597ee1287a3c750dcf992b1cd14841bd5db65669c53cefd5ad7c02fcf4c38606d6a18fc0439deb72087c8e32329b59fa67296862c2e56fbdad6ca448bd2e4461d8761cdde4a2a2cccd5520aa65bb7eaa24cfb198095cd2eaa36a48568862de46136d705dbffbfd091894fbca220a1bf6046a208079970ec5ccffedabea14df11b144bb6177f4373c58d780ca8655050db4de31c1d92261404618744a3c57198913ff7a79b183e72d248d99b2f55c29652f9faaa1ea058be20a852f695ac9a0965c8b7cd339615653e36522ee995e9eb9e75711504365dcf6611b156f4b3a28aa3a78e771cbd77d1541770b16d188f09d3060979a568bec8cbf6ba63dc84206aaad83b586929a8919846c5e677764716d903f562182cd02874619e76f2aba0ac1f0ca6297d71acbf63e0d682a2829e1f311d175fded46260af6eed1c7ef16cac307e74c2a7f1ee81719e615061aa3860c044c091cf97f47e0c1fe5f7a17c868ebce75247edc0793ef73569531ef9a7ac85fa7ee3a547224f55bf02f1a7349c63524639f2fa6ae3ada5567925b94ed9cc4bde87fbc80d5d3591f5271efb2792e4a74191b33d72dd874809debfc3a234a44d7a0bdcf5535b05472724cd01755fe3447ce30453bb5a157ad16ef36b47dc725686f27fad9b00173ccf444cf7af03d6ad05affd16d1ebf4e790841e38a5368c2ebb45c7d3f4430df4f86420f2d87e87eefaab2ad24e710895ccf8174d1772647b0d1e4d179a76edb25bf6a07f5a9a3937f557d71cadab6b9f0e21a09fb8c4c133a45b47373aa74859fce97abf17e1cd2d21a147a9888dff7338f1673e57d644e4281d9ff69c7e3b104989eaaf27fa4944682a941a29a79b8c8556c4ce176806c47beeb312f82974f75378855778672bbdff16cc6c62306c1805bd79b4b649383c7ccc96369eb76eb86838a093ac2bf96f4e5762ce3ecde667002ee21375b349ae0d611bb769ab2a76d2356a775177c0c89347197b83baebf9d03386c0f550aba0d045dfd7c87a6d231947bed5537efff409439211319c5625ebf078c11726e9fab4deb56d28cc07728fa7d47832e0cda2f10b89e9029d37967cfba983765ea598b4532f2a230bef9e974edd26420d9500c6cbb3c1621f544ccf7974d049a390634b84a2cb0fcb2b8edb81a63e320a96556681b904bf0533711631083f2c78c4e7650005cd08e8c96ada9de21b9ca02ef605d8e1300cc0516682a1881c4d0171b0ed124be7355201d07fa26503409cdf58f151179d6134ab704ced3fcec392d232276830561fdbe313cb90840187c0e5e694cf8bf104ec4642c46e022cd04cc31f764c2dfbc0a46a8086096b8532afda94baa948b96f1d0a7e742d726adca81ecfd5e1a36d5974505cca20b721e510a290b662e8e1a924232129f53132cc0a3a8a02e79bc8e27b19bc5edfa6329a065e6fd71c7a0b6a27755d339177a906ef7ed257be246aea7e9322687db1be7fccd989e2a4f67db781559189c7f685375593c7a4216802cc4ac2506049ebe0ed7ccf0d4626214c25b414675a5d361b56694741c9f16d6e9bd10b695a6e975effe5da660e717cfe3bf82f74745f40e85a920e8b5ea25985708383fdceb883c969689fc9b814338689028584f72400d8a939b253441d20158e0c5750d84a908a35fdca4604263b689ab5b86cdcdfd3a1d5ed95e0ce4f8db337743a915d925d6c3e24957f86ae76655b66fe5b11f3ca4d3df210168829e133ac26fa3db2a982272b142e2c38c244f053d03772dd8e0be5ae60d40185cae55e20328bd494a70442d7fd540c40a3b3011491a208e8931ac0dfea0cad7609ffeaeb33c9024ed2a2623157d142f3a2d456cc69c10ae10553825169a9a691153b1556edc8882e88d919ad4aa936b0cdc79d7876892cfa83ba35efaa5934a82757987755846c9f4d0e563e5f713454e476982afe10b1d8b0931c01faaee0035b915bb100072b6ea180f62d701d70fcf17f7484483e866526169ad7c90803a2a2562f23829efbf3daa47fa015ed7c0267eda807aab412486ba4a116d8ed7fac520dffed38f53f84fcbdf19177809ebabbc0187b28dfa43eeed8ff18d41c38edc0d6c97d5ad9e4762e9dc52f95f0b64fd31c6c02daf513a20f8e3c25f3830481587c5cd9b9c2b9010c3972feac69843905eba800a8006d1516e744df94ff929b283b14010e440ba084af27a686335fd9ad933167275f971a79038ffc1b4714eedaadf4eb7259681b363d72ee19f46acbb439d5c015a310d7007b4711deec699072e4af48f5f313a6cb855c11930aa886b35872d8c2a8d2bbff2e38aa74167fc681673a980486aead2d7caa6d89a3c6cc6c86fc139b9794d1c2731a0a2c67a42517fef985a43408378b2d459bd3b6ab23ffc069b3cc8b426a4109efab9cdab3148428fb82dec17c972912a73536b0373f09df111fef5ce2a6183a975dddd217f233af5277dbb80237ddb3ffd15d8dc02e8738cd2e0417ad7b02ec1be2439e9d600da77def8acf94308726f389341b95fa96caaa29693d76a2ba41a4dbf02919b4e18571cdcc7c32e3a8396990173f51dc023f03cdd14974e3eeb0581e5ea108609d6951d37b1089ea36ec3693858ba83c15b22e1ab7c6e03cccd5fa0b60e3932240d885468f25c74bd3fb28adc6aee3d9664d8abced4bb488bdbf3b2ddefc51c71bfea3234039ef1ca58198b770e87f6eca063f0ee8f738d2e26b5cb973fb773d3f23ad6da1f240f3003c6d843367a60447f35d458062e6b357780584959943be34a6683b6c600f17374bb2825e1fea161793a4d92548e0e45a3081ad11c8f519a3e6114cf53ed3a30b7a489df99c87ea9791832b630f2ed028cddc91aa42b0ee2c1b588780a365c967e1d8f14f0b2e386145a3aee0953dd038ebcac2cf266fdd71ed496ae46c4c7ffbc7bd3952ea81b887b22487e2afa74c2b6cd815617b72d72e378598beef2367c038ba87dff606dc6ced2020688f798e9b4849ec48d5678517f6f710dc8e53a67209635aa900089abc7c554da668fb8c5e34827fdc96b846daf5ba195727ca6e3d5deccc68d17ad94fd7b4d543f5a0f053a9c58cc31c7b792eb0b556b4ca901aab75b0a75553d886701d98bdb9a39434b28698552b4720c3de7a9eec16f91362292ac407eb9cf6c436f28c89e377b19de0006ce82c6399cb9948c906f3327af4b12beb98b41d76b886a77baa9193ef40910b49eeea7bca7e99ec9ed07daa296e0456de834783f4211d470dd07a3a6de0d2d89733346470ef7baf71b1ca022dcfb774957b9020e2ab57de551e0a7218fe8de7a24f1a93ff6c4997dc4caa6f4817bb73d393caf4c19191441d7dc0b95fa9fe15c2563c0a01c4487478e047fc615c21ea82ce3ff9f1dbd765d5c449bfd185c88697f736b34b46448e4e49a1dd0d0e9accd53e7c57dcb92f29e57a26cc1131ee0cbe1af14a599aba4ea0654e1ac0bdd25338b34641d79f245883104a9483449cdb230887c85095401e21ccbbed0b1a50375e81e49fc2869f3d0bf8db82e415d87f8fc89620c94df9f8b6b582ccc006d232a1035b7751878b1981111fed3bffd4c50b007e3c7c24f97d1d35daba6d93d8daaa039510c2c314bd353337b28abe444457d26378ad35dc20b79f8329a02a5b144d7477d7cbe37df7dc7c1cc8a80e9a3c549de97e44ce2f355c2415ab6929506cc3327d2a011f2bf08888d273353a7b28c28fecdf874780749b7d8ee6dd5456583a3c9dbdb65a0b3d05987bb581090f1ab2e6a7746ce5e52f11c266a2f75cdf8f127d993c42bdc3e536b0f5f2f0c8fab98d969994ce320bfbdc819007ea47b5ed78fa190ab6345bdd5d31af3ef35c1afeacc6c897c298628406b37749714483a6bef3f83530cc59a845389ed26fe2f2e06237231f957c1b9ec74f24b8bfc09353018cf51af876d4fc4f9af3487c7cd28aa409b8a44f85a020dda3f0058986a09d1b3263bb3eb0ccefa31c69b5fc627966d1a415663a8a7fbe9dd0bcd3a8bce251a2c2363ccebc2d65a4514498a51f537dace5b9b7d22718501fd743ad6b9d72d1344556c046fcde32ae53855202784e79af62d36c618e83aaffe34a4ae29815a866ad44557eb353a7d0f27b83c7f150be3614323f7fa245ceb31ab92fd9e81490aceff16f4fbac37e07700b3edea185d51d5935c54c29a8c6beab5287f4249c0ac4533c897320167c717d1e6aed118d8fda87c2654dd36831965269bee24c0f40692460829a4a24f453dd262c8f882bdf46e769a8d85b5644fa6909256cbaa9880bd0e1894b8b6f13c0b423038d7442200df0c2ab1e8f2309dba4f391ad5f8c5acd0372f6ac4b67336f52d9b64f5bc37b082c553831f4eeb83227d61d33909601ce6c193d7b8404b50cfafaea50a8429d8de392ec68261d9e2c39cf704a45e84e29284970f545dac1754c10a987359458b400fd69833d3a41ce6134a6a3bb42ba20a50ae3aff70cebc437052f44495d39a33598c55074d6aa0dce77c3c76f8559c5a64edb69b0b88416e4f03bcf9b3a17f11fd860765585a2a6fb774f6908e79cd4342660c032c1d78689849fa5a453811cb10c90e7a21ffdf21d8753d89ba796895c27932ce0e3616e1ec91fbf2de0127f457ae9432b83f33585a2af8c4710788914dc86992a12d2c3b2c537599df2a22defa20597bc1723be07dc4b68a643862c1aeeeb3cf97fc57dcb31520c45fce7d9235a646eca0ee9f5cc99a14ed909a07b788b2d3e75c37c75befe2b169ef011f5f98e70a2447984cb8b38882eddcd65b529f79e32260f899a5bc25ab2025504727a3d25fa0606bb29967554af44bf6487906a4147cf5dc6f83a8c65d4a9ffd6d4caffa06e8e38420c50609957d89b5158b9b384bec354139d02474b6238dd25960342aec37423912f19f479b28a8df420b70ca0aed41aa48f419f0e53b301021d7d0412e19db7d05d2a301c4a4d82c340b7ef861ad500e12a4cc61bfc7360539b6fb7800b53473f467cd131e6f0f110c9fe430e4251f907a4c40a3ecbca9886dd4c41efa4b18557edc2715b23055fcdd3a6278dc0bb28955bbf51cfe27636b3031adfb1a324bfdd5d820049445ca8c94a4bd4e8fa05472fcf5c11d7b9cace36fb8eabde047c0243104d44bd6786ac9c42e2bce2fbd947cdbec6fe1289e4b58efe4a15ffad7eba899fa72adb9f0a0037cb60b1ac853336f3e29511e07605a40ce8e1ff9a4e2e98cd81070dd4bff8692f7af73407943ba27b4d98d6c9e21392c852a7eef2651eff2771a51a209b71f2af8ccfeb29c3a0eb0cf54b97f2e527ce0305a08c84878c7cd6485bc3c456578e17fdb1bde6c3be89a246fa7b71edd9727f683186e3482772d8677dff89f697df8981f8822b1efe757b8bb564af7666af19feb78a4d4692b9bd0016c48f86a3852573fb2e18a524b12ef0b380a2ce46b62b781acc40ec74a2078bc3add15ecb24fe16497ec0dc10d27d7d64410a8c1f9b963e9d3887b151abf081135d65081da5ed1549a019186861dc1f671eb665a5a7484511d047ada06f422b8b6146abe908fff417b5534d691177411848e704f64d5aaf69dd5daac8975946b46fafc325bcb954e98bd0ee40f70c14ece98ba04f8b9684c581fa580e263c5827ea294c9b63091c73f2a9de317f5323d186d49f93c5e6cd8f4b332d38c78058f302433fcc91c617952f5f15a09fc7150f3943fb768c5b34302e016733657230bc33e655656565ffc0a8da4dbeec9e9dc84363f2d01697b51f5cd51509d3baf53baab766c0776780565c6f52e3a1a4a5937d2e4b64175d0db4cc6e5ed952c281098154b7288b1b5dc3f4b79dbef275a828897a1a2a3d6e3323d7dd7f11c2c3b3f73b7dee9f1f7718c98d5e51826616ca90412536264799aa6c90000000000000000000000000000000000000000060b151a24292e37","message_root":"0x546d35db027b6e0c2f3c53437a24ecbfb33e3812ffb940d8edb5820cb26b3684","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x7afcd68162873a5cf295222e8bfb96049c28af7210a3d7bc40f271ad7996689580673167557a92bc7c304dd76cc06e86e536c6e2685baa6c396d90edf16c92ceff33ed4ac98d5a78eb2e6cfa7161406a826c95e81564a037b9ec3480f155d807def4a2c1f9387f75ca87eef8c2dd32820620603996e3244ccbd86cf1afa11b69bddfc4fe4c2625fc657a67e2c111356b486c6bad243ce178eddd70d86c698732d3f38b35e1d5b1ff427905850f71ee5637aab6ae5154874df15901f8d4b43dcfb18bbc4a8450defbb840b555552cec791db7ec88bf0d991906ce13de65a701accfb4cd74d06da01a761de5799d66a25162ea588954b61efb980050cd51df92055120598d8ecb44b40ff3b19741eb9479628117e40469543d44db4f9ae4efa47b9a6e083c191f72dd931bb3d72983f2676d9cdbfadca7004e233cfe264aeef35ead369cbd0d62a88d0eac23bf0adb215af7cb0e08a2b07a80c2b09556a78e3e1739e91445c056317d50e798b2dc9099f321881733da0cd12c90153b2bd007f7d8b634d1a146d4f9399883d9235b2babd7d33bed242e0449b9b98cf16bffb5fac565f7812f46479307058e1c0deb7077d22f063041f95098a53dbe3ae23901606d0a2b781bfb3ff2b60b6c37755b6dec50045133dc0085c9a214183efeeba98b4b9a522c8c30c2676b04939a769319ad98c9200f39e38b0191345a7860831c4b22a81152ce389c11853e2ad5d40aa2d4dd547da3828543822763ff721664c71a2c77bb6c35047e8e77e20ca8d26d01a816f0acfe045f79c94e610f2f14289d99d75e8f7e16c95224de5c5f49f22bfe1ee085bc867f1ea204a0883a2b550d1be596cdd29af9f7f1b5dfdd90ba94f63aee40fc9213a59958a3e772af86a9ddff9dd87b2b430fdd735b45e7b6a7f1f7b3bd4b11d38d09da01eef5b45c6c3e4da6672632c246cbc383a557dc1fcdf1dbee8c79fc49f99c8f89aaa36d6d564b14a16a32a545267a80bfbb6d731969aff35a30df2eff7d88d776b409ff4431128514d5dfe6f3218356800816af1a028f4b70c176fd74b780056240642dc34c886d2cdccbed8410a400293426eddd7b110e3141d0b7dc12ad0418f3672d9d0dc2660f5ec4a166416e63c4fa00249cda1f654cf176b295bcec9e9e88dc54c746224b43875e9c487153ad22715a277cad124511e09949a4db6f89e8eb450f98eed45efad9ca3df497b2e8efb894d8054e27688524d4a3d316a03a6eaeeacf985d232102916894410c8b7fddbe9f7bc041cae9c4811578ebfb003946025ce0397f23834ce7cfa795966f8b3f12c699fc4ae09fb92a7f3f8476dd04d5648911a6a78375b8d2e46ef7d9c6776a749b4312058f8f0fb708ab6a302da7e62d705a359004aff0a3ffbe3f01fba9b3f2bc1ed48cf0a5a52782b4573cfc1c32a1cb3ca2124c7984cf6e829866e503e708ad96dd31f5fb9e70ec0b7d2d9202239733e47d479fc5a171ae1d42992ddb6a61cae0681c4b9d6c92203f7ce50740e8917d8c3488698f2c05fc596ca88444469a2c65af4fe42c05ccd96ba467528ed0ea0720bf6cc87e951c8562cb1629250a923d04da3f12cf8921f5742f384c7a0ae7a00bca6f85875651ad21e12728610d564dcf382eb0ac3cff182c617552db57ad053a453d20bebbec1f330e5bf0d9c929da911a6b0595a92098cf5e7eb782577997fe59c77c08eec6858461744711fa2190bfc717aa5e9d9127dcd6f5fa45bf914dcb0331e31e5a9d3f349a85ade2267ad4e96dcd2b7630d234c19523edd5ab85569a092cf8cff94b2bffc165dd480013509c2c21e45102d88791646c8a09a42436be1e7abd714e5c8c140b5c5434e1d1ba8e025eb3ac5b89f61b7bc83ccf1cf3e6568563e592f79632898fc7d60b5b84c624f5aeb3c52c21a148ebf01bb9bfaadebfc1cefbf2c3aa725b2b6281d6a2a6665205f7169627e8210bd0782a1b3755313ce32d5635a52c70102993e6d7933ecc0055b181f05b7dc66b191c93e69eea387302a6f74b3ae46e552ddd9314e5a7952e4a5393140086a4691925b18c3703a95c803f54bedc6c87e10cc2abf6d35fb7f201c3b4cd5c64dbce78f9be6afb1a68309054c4ba343c3da93853defc50212a78a32597fd1445aaef309c2f455148e69a150949e7dc613e89b40e96bd98cf7d397d147a3ff9424945748544a0172d2688ff542ce5b0b201d741ffe720d498162e88692a14b6078fd86b494680f4846bb1396fd0faa92a49a03b6c5f1eac7a4464e77422ad74edb4038ec8c446f42cc0176d25580ff2ee0358784010284f9915b0d32e56ee51d63e5d53fa25b55ebb4bd6b14cec359b169d7b3f1f8f0c67a42ea4fddc31fd810c4404e6e6d40c5af0dfc7943be6668be5c47cff3ad6c70ffb2ae813d93c79caf239c790818e424e1c2e73c4944905d8a466e38a15a9c57f0929cc0e6e15bb1fdac8bdd0efd2176c92dd48486ebe6c223c6538ccf7ee7b7e9c7bab16a1f303daf60e9e8d2ba8c704a21757f66a61b0d23a7a7bfb071085a6c572d2206f2693bc60775d1df189193a9b8c9f183fc3bc6d66c195e6ec310285fb1089cfccaab9bfb5ddbc875682fdc0c7ac53b8e4481c827aeaa6b9e8d9768794a4a7a67dc902d2e5754dccdcb0dfb7ad2a365fd04aa9124efc91d6188e1cf3a36eb01e1e4a6b89d2c7a89fe31ce212c61556269f677cfe89d55213ab81a80ecd6eb51527f0cffeb905531879e7075fcdb439aed4a016368ac13d4b26adf99c760e945ec01d06cabc5ac275d3087ed1168b0843f806549deff133fc913b3b17b9f3544372af6812c33b707e4e8e461b09e3b59e18b37d948d392f9ca04229c8e2f15f022d07d9cdea93ac03a8364b5be1ce613ee7c098305b6aee5a03ed6acf679007aafef6d7742dae8714e420d9f730da256f29a007fc12522486ba63e360e1d7ca9f4c37087c2541dd6674ea6a150b95a32db072c11a680f29072a13dca94a36918b89b39f74d3968591e68cfc36170c1cc85b98aaa7aacc6a388f70a181343d45cae96e9e59322c5406e722c1d4c404a91376fa159f61e1f446cd475b69692a4ce7f97faaf3c440ac0d0e39a0b844488f4e8d44833e21ff9170b81cd80fbdd18cf1871a899172c5e869b12262f265ae548692b78c39acef0e26b7f0f2214b64af7defc71934adceb6654fee1a244d1a7a90e51397145403e00a704e02d60461ec62178511f3347fb5a2103690125afa1b75d5ea90255991906854c32963d502d3ae75f523cb84193ad72c53c52f12019810e670d737d3b92e7456da5e7fb055a6dfbb4c585da5ccd671decdce97fcf7999509005a81cfe21adaf4564f7cc18665dcebb712dba477e09b5ad1d0085372bf684adaf8c5e869d7a7a5d5c680043384c431c7628aa3360641e3753e9930ac499936067d9ab55022b24283c30130c7b36ffe47022f3a06f57decf7aa37b8cbe8c9089d2e7de8c38b203ae7b0b3c29ff69febbb9b05332a1ad35d942b35aeeb13b8124eaae820256c771ec1fe8c1de0c76570a01d1b9f4ad2d97bde9bd5ff64ac89871e5f2488404cf010892bc4d090a2fac3271279356f6b9aaf6494910b8e9cc158baa88daedf0f8ef5c5569265724cd8a80398e7f8945d3e661e8feb21b05969e81faf3bbb95","amount":40000000000000,"withdrawal_credentials":"0x0091f1914158d8ee8daa16a4b51974fe0a070818b6d4f905ae29c7b3901a2030","deposit_data_root":"0x7360a177eb68b653101e6af3a1e8420832a02cafd468d28941d1caf336f29759","signature":"0xee454b5e765fe1e999f52cc660b0783b188631bd8f6b4e91783b2d43e7bde80cf75303eca84bd300d702f63f88c55927a48df9497d2cd377d527bb7be0a27a4e4840a13123bfa82e1c6dd313007ee6a97be2e817b9df3492999263afc5fe61252998f3728ef7e8aa1407ba0bfd0c6b2417ec03e73b55a0ae61a2f20dea94224ba96094684f6decf455bc6f358a19a54490db4230676ef32764420d8db56f2c50033315e5cd4eaf84813d54dc1bc7d36d6ceda7dfd2af1772ce3c76968368cba51b5a07e39303aced93ecf0adea0eb4f7be65f7b434d4dc848c734917eacc7598b2f0c6e62c57ffbde0300675d215de4c45b7c00260278c2e2745863cf95542b9156f209da9cb6ecc8643a61351abf5378bf1d0153b798a58fcc47587004d88c485fc4b333aa46469f4d9ff70351357dc24b22dc72705b3d36479c833c5d5014573bf771387a0493a297f9f722424466e9b4f5b59dbd7f163f3a42aa65752374e33ab941090cd03ebc18ba56657e3a38b2fcac9e2103b0c1879a270b19a7cc8b8a210d7db1f8d0f2ae9530f9a06de1ed4bc86c3ba17eddfeecc57522df7403f630aa61ce65282be383f1433add2eeb63ee59869f1e72cfec8e650c1baa30beb8e82f79abeb09e6a871cc4f3b02e9aeeb26fd0b502f6f23a3a886353e5db1ef35e8baff7a04d5cf23a36df2a907e57ab016ea047b956c069b770f312e7fa420a1a2c25ae726651ae6ea92adae71fbc839c6bf327ef0192cf3272e23b3704976465816c6cd7ac95d630a7806144105ce639824ffd57f6cdc6098299262f9575624fad1c10a77f4d1c4269f4188a53b7a413b8eea808a7e34ec87f366ce07fa1a9bb4386fc8c945a4fb6079b0a741e1f1f1981226d4e5e9c4866c59d9cf5d84c763e13c97908db0ff52a682f7df9326d77c34235fe7d8c50fe46f14b20c82d900d7d53b38c154e50c7acc34d555a8adba562876773d6bcad60aa90bfe6a79d89c60dd9bb48051534b92171ecd5046e34d757f1ed9a422fa6e8645792e6c66a087f3be69b678395ccc2b43a94574d00fd33d63f5f40d851908f2bba6b0172e7c371a39c27c3b86111b093c64e7b2efe5e9f96987a31ecb118d1542aefc06604e2a892283c6b9d1f48808f451f8a06107af7914c743b93b6a2e9894fd8ef2f9f8b4bd569163df2675ce31ea443c69aa3ce50bc9b7e851493889e5e956be8a48202c06333105ad0a147965cdd59b00b85fc2e45146e0d0ab079c4d90fc43da23c7fe04075102bf6d4a728bb9032208c85df217dbefc3410a1f53f70690488bb65801dc3b691e8341527f11451fb76d2659faeb5e43f5e83074134c42ce28dac26ad845a2a71e7e2ff333f70ecb73bedcfa84bda2c309614a68f192afeb53da690dc85a6d6358dce75d7a672f5591b14a102f8e21ec613e43f984444acf1a48f0199747e9866a9c369cc107b619688e9148bdaf632428509f87585e9d2dd4542375e2937a2880679e8f0cb6158b925450ca3bedbcec58ebd2c038811d0d760ca082ca9dfeb6945f5ac90a7ef5686b8bd806a154b0beba2cacf5ef252eba1eec53b5cd3756ca30ee286bf48550134a8eb764ecf2b5c2392a6f6e7b8de2f6250daa43308496a980788342f1a8f8e7755e9a120bd5a86731c8c5579c27c4fea4e02b2bc0e4cc03b4e99197db9fba7e26bc4727a2f31db7866dfe11fcfa4bc030b505eff43d767365532057868bc89d2aa167400f158bd7e7078e9b9965305f13b17d72f5558e51804dbf34f98fa05bef9a8e97e95e030ab8d3d3ee67feb5820e8f6805467c945d00c28bd6816bf5216ae5e1e1b2199017633a4fc5a12ea5d9248b49ac95fb630ce487e7d3ae59b46b4fa845b7832c7c4699fb225d0670d7b0473e95855059a8e9ef79b08b58611d6bf31a49ff27fd3e54f091b1dbb861962726fa636698a5a40fed2c5ef9dd9a0946c193595d86159a1ce3d12a7f64ecda9ed97788fdc032a47b8f0163ce01dfe00e37bf61396240f0af3b65975f05e142b8ce07dfeded01504ff6549977ee0fe65625f7e97f527b7291239c4021d58c8e5c6952d7421ab752300828194830625f5b79d88f2e81b0d26f7e83a940f303713235398485416b26c7d68459b05c2afc943bc076e6883888cc0fee2dad526cf7a52cca943508143b296681d714d49f1b8f6bc2974325b4da50edc22e48cb6f94f71b631c0184db9596ec359c6fe5e17ff466f3929c0f7208373848c16d563203b01c5040be371131d0172e5e6c61682119a14f65ebfbf8543a092b22ac6ba125e4b30012da79ba8b5b824cba2efef128224a704850875f3d42fb3dd7a31295f5a135d80d1c999a4c7e925f16b067131670e5efcdf69c0ab42ebf9116d17c8a66b000d10be63c075f24f91881cd52ddb797d3c35540fb5f0429e693223d182a4dbe074fbd5a17666d044784d3200773582dddd5c236cb73092b0dda74675a86d03bc42541b8b975a1af222a4fe889f23fd8a8a721b70db6010b1d7d211dda16831ae0153757ed3eaaea5045bc71d0138a02146adde623ec3774a24956b05a70ac847b056efebc13b38c8cf69bf730197c79acb384e64b666241aeaaeaaef4af7038f3aa70c59ce085e945be72fffe4e063cff5169f9629a13f05893fc5332e7af2ae4fcad0bc356c4ba333ad8f3cf74a7b1c788db0c1d9b23b15b5e3a3bdd98891a696e85072464225465b99fa11277c6792f27c8782abe99b0e3bd2bacb8e537b240d8a990ca4f8268e6d2b97f6d60c1c2c5e8caf40174dd8657e6471254589697441bf9cfaa6518b1487ac2c89384901e996c6d4b01d2937af509b2118ccd95a3339443c9ff1eb88b542d0bc26fad07a02cf88fa973022d7206acb725e69b15750a467bcb64a745b40b2e2a845664182b0ddcf7a20863353768d8dee796b902f3c63e5378605d382631ed3ec4d9806a61ea85d7dd5fe5eb9ec608580fd88f3cf9f33785a80563e6caec48f2f2a4d6437dc9404ea53fc3c32eeed2dc83d73c90cc3cd7f42c5fbcb59840718b828297ae773aca657e632796ef3de6832867275b2014b9806527ecc14999ab1e9003cbdffd2e2b3cfbdb426e8d1b1a94dc34b311deefe506b06cfef7221a6fc8f972568bed7093616bd9ee17628e8124c123e771226ba94a77f557b6a4705f8a1bbd11ba0e4959902b200ee098df3f9c3f95c985fb2eed4bffcba2e73b03555b536e1de117dcf77c78ac644ac42b0ace62687a61c4605b322d2b0c5634000f63742abfd281b6138c6f8134474a72018bab750744837e03b16b9d4f18b7d16c3754fc9e6665399dac7fe395e165a3973eb4f940b7031165b39dc0a7510a9ff6d56169a563445693b6bed598fa2d07a6bf876dc543035907cd500b8abff47859a6b6d9e190d95da13d733cdfcecdd2e1aeda9513c32b2c7b90e500d427c0f503ccb8c3a6c53adba86a5e1a74b0ab73a239f5a1bfde30c591d149b9acbe09f9c675bf32a15826a545b6ff0c36957b240d56e14462bf730bc59a1da01a614807680511bda24cc20ce56ad85ecf70414c17fe40cd204c049e5dc8f71e72afe0aa9da4888395d536a45f4b67dcac021709aff8aa4eeaa16034bee4b3c137bd34d64eb2afae003968b2cb05e2640534bbca73e75d5e514be4a17b39a773f9c16802bd50686411c9f764ec75886eb7816ecec406259af919a4dc4822560f4a1f75981276ab0227c922da88255cd52cb8cfab74a2232da25ef0c2c9cbe0e3e043e7c9c633449aef8744417a8eec94ba15e7e11655a64f3520a474f05d8b174f11e9ab166959483f879539cfabed434de52013734b5ba97acabb1b9aff2c00c0c6ce24d53ad7d60684565845a0636c25dbcf08175f085800dd97caf5d434c71bfb9df37e09e7ea5f4147321e930149a4721a2c26519ff395937638109e7d6481d445d03c28027b1518835f2d76e1a0da5b11d123ba9fe5509da8a07d3ed4b341b03615cc3ab861cf81b0e8db23251279c090bea511d5a074b279354fcb9200ff63d147bbc79e6180151ba7a3b686b41c7bc8e74b1c09bba7504034fa64ca407d89f1af802d247ce4b1415619d9dc55647af7c3406a162d591418967878f8f8606a7d7f290c29e958bd539d763039c6cf880e99c529ea862207433ed691415e3170c6a8fc330d8a6b99564e7b00ee6447e2bb4ebc13ad8b9173a9ab59221e8cdd41fbc753eae799546c0c87b905aba934adbb790f12a2dc475a4a4aae9b8c6abab8805d53c70cb5a1c8641f4943d8d8627a871c171f7cfa79ad89a695d42d5712f80bea9e688f841a7477457722fc5951bd057cf521733ff1f2494b3f5a0913a2e3ffc6c6eda522cba55927eed7fb46637cfa076088578d9ad8e0c7605edc7a82de5d5c095ef72d28191e322cf7d7395eaf6157015f52be7482d91917eadca5b75ea03789116977c53ffeec6a754f387ffb4b536e396663e1c9239415b67b576ff2473895d45ae99f47b1830a460be7922191b00023474b064c14c37412d1c66ad4008b709f8636a1c87802f2040825c0d3d592c3cc7d4a741bee33c004af52a11d8fe23b0748f5dd9075ec9afd61f129c724b3244ee76ceecd15d13c55e2a66320f7804e1e754a296bef4dd533a7f1fdf814d5e9461b7df9ad5d9d8b782e3001700a2e2adbb6817adbe9b665e3cf799a81c11f40cbe853c8c82ab0b4a0ff01240336094d828459e11b8f68b342c14cf67ed19253245d3e963ea24bedc09e1b7a4ef7c896659def7c410720ae0d1c61227a1e70289c6ed5f2ff2a1e1385e6311cf28907124604702371895e54901b2853ef5a71ff6a83fa2161b5457cb80a590ca8e94c361f3c1f832a1b8762ae23d8e117fafaccb9e38474f8f94194858b6f42a6f7b708b784ec1a90cbece30cc9805e6a1c45317cd519f08e13f98376bb35167c2098ce5958b61889b9400f7ed6625045d76757cef75d2c5f3df5747c75788bc54647da1c4220f082291200025ebeeac8c3e131dc9fa3317bf81e65104688ce8cf509c5144e621c5849b56221151079228402140e8fd6a5a57bcaca7704d5595d97b92685f0f27df2ee0ba1e4efabbfd4277e456655428163304f2ed8da935252d8098f8a730f4a4681ab4a1bfe78fa0579971a8bfabad4c8b0e7b2a892efcb157d7dd54d778a535a13eca1ac0550dc9d5aa6763d8460f83db07fd4b33b7c93a38a37f55a42d1bfea71b1ff53ad03fda40f1041dc40445d87c418e7abf70d570d403b2c3c909935a37dcc4c50f3fbc36cc06a91b8f51795b74ba4aa6f0b40d607b5aaaf9137ead753dba1f95a00deb3d1656fa44e727496492bff13be36105ebb93fbda28d81ef7bf1434cf8dd8a8a17b4138c3b44de05064572f8ae2239d2145e2cbbec18e779b9b9f887113d8c1c049655a252451ebed8e283f78ea2783040ac90e4e68552d7ccc851e31d0b401d08cb383b4dc1692ddd3f9cb8bf5b70f01c79a2401feaae73dc679b04d04340cb6a56f374a21fb354111aea85f2da6fb8e4a5d37e28a88bf0297b3b78a3cd44cedf8d524250e43f9018ddc9b9c0109271a78a3e0810f130a604f09c044cd573db325137d1dc5ed5b8f5a2954e8af0db43ab18b88845417d8de2680003304720cd652e5bfc6cd44ba441243749753be97ad299d8bad41324e4c7bb2cb6b3c78424d1453a50725a1498fa191e00db98fc35f5b2d595451d02f721d1629313952df74d40c4a720bda7ed56811678392d9fb2b5aca113f29dee4c384b52b3ef942b66d01f76cf79645962790d58749f8661cda02a546cc07ef7382dc5af1a2bb922f9e06fd227bda876b2534bddd5108e8e4cd1fb2550ecf7b5e06a01de341caf6adb427334be706a7e053c5872de6017da3b8539eda25873cd18ef2268ae680745187cbc668eb1efcd3c77c2c64fd6e1fc87b0abfe67cb66f9120353af3e47d702de2b2946b49f456f137a6e102ad2dfef0764788b26ac43bc9a7b2f66ffde11a4e080f5981d2647c34b7036fb471728c645002492668d2f3dfd84af27ceee376fe43381a94071041c51018b5dc5b4fb060b15e36bddfe86a609b21a87d048442fd8b3e6957c24f6f76f7a4babf74c402e7c9f4290ffe96b98384fbefef00014cde0722b95f95f2efaeda4f203558b793289588f2ba670342b48032bb18301c6300cb2819bbd02a61955114084342e6eeb91ce0eaaaeaf34024413d69a91705fb264d133ed47f9c8628e85b6027ddc8a67c821c22d49f0af54dd297f07ce6c4bbb9352f9b26374afeebbe6c0621183236a18de1e947ca6041a287618dafe9b19bf849d484cf99035c03d874cf405c60aaeac742cd2b45eb4ade0ed02b204bc26e4494bbcb16837d63eb2c25544b8bbdde3b4de011e526a76a1bdd5d81c254e6e97fd131b157a7c8b91bdd2ebfc3e7477c5d4f8060f7880ddff3a3f4e75c324333d6a7593a6c5cef0fa000000000000000000000000000000000000000000090f111a20262b36","message_root":"0xbce082e269988f120021f9865c9ce196d14f536b4cdc743cb5bcaf372440b65f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xef818f07f6a76bfc9aaf42db94e834922838ad444ddaef445d4627e0e97238a5547199d2968274993065885aa8628bb79f449c4b764a4a3649a1a93e7a46574050d03378afe0e0607fc589e0c87d1e2ce5e5fc974a0a7ee9ae555df9fa4fd4fdbad312aed0d30faf6219cecbf33ad0a134f64a493e852cd7c4a7007fe054ab1e4e84ecf89b002e0086ea0c81cb2ae4fe72f6def3a6ea8a65161ea8fcbf306356d95356c124065adeea10f25ff11435865980cc54540f31d41782e1d205f9e800e81c728c78f6c10335e66474294c3b5bd6c69580c8a6d1847838f3296dcb7b146bc53939a04fa90ebfe06cfc07ea4c69c4a0c4ab9f6432cbcc8747501d9d1da595c9bc160509bc53fa1471a6075b85816d97a430fd310578cf7ef014d74feb2abd742deb206e7049d3be4892d092ce35c570b2c20cd167a0fcd24ee546b390a8d2bc42c50e161e00ac2f57da98e2d8f0c6e5a73bf933b1f2034de20f37625ba0a81bc2d975c833b1f09078eba11faf8eba54c4a9556bc1d1631b625ede10f21e497eefca7d1f618a0a4c1c8d3a2cca88058d93782e8c1257893c076b6457358d2f8b09cd49c54ec512853f515ed569b22f39a7936fb0f5cb5cffc8c9cc7b7e2ed116a6466f0713b6b89e59e3d731f5896aa200f1c32ed93b1130ed6eb562e9647e9ce51071ceef7b07608571848e12fc5511b5170c7c1b24372cc78e1a06fe24a1d01fdc39aaf0faba0a553750c3cce0aaf6c0ecbdad3a65e82d882856818467e686bd96e3f8e64085d390d8d8a184a6ba12700c1e682ee446af3fac1013537db34d519d5cf553f00aaa5b85fe05b561bf50946ededbea6be1238c099e2be169ecf4d0e2e4c4992aa1c32c79e6a4edefa338978cdaada59301de60881d960f6a82ab777402687ad49d4d8a85d06c75f6c0d0dc1e808b5c7c5473fe75a22b615191037538aa2d157ad5c88b733c82d64c6f6c5618a6af26b492d9d66e6cf989fe7a376b0232651ee1c0e9594776a83e2ec9c29d8233d7e8be243a91e0da1c14c83aada564d5971d24cca105a89efa751654a90b53b6f163aae3f1af8dd6017850f8be8812c7cdf11a709169240cbbf9b9b605225f2190652da679fdaee264aa73a6f63dcc3d5487a39550f1bc8b5ea425b5cc85117f247b1b2963b33ef64ac5cbf0a64cad35fed9c66c7563c980b53b611ce10ae035e89db754db81417678bcd54b51e8d2ed5c477bb4b6485e84941f909f11be8a4f069d7e0ccdc417a1ffd31a7df9dab7c8e299697c0440477c4b4acdeff5b2848bdaf32efd81f902c90c23c5e1891bc239ef4d961a6d984c3ab7da921c5917da8f06f4750e63938d8c53bb97950f5d238cc1031ed62fe08da96311f4dfa20d5812e79f8e68197ed33f4f495ad86f1693a8e5e33ca26ddc1e83a77c24faa1a5006590e6c8705e08b7a18147db0f8531b63cdc029d51c0fb0ea4225931c09c3238fb463b07c6de7f00a12ce92dd586777abb48a2d6531f3ad6967badb1d6a1f5a07ee8876126a83e3e03fe00d33978162009ae169210d0a76c6f587fb309253dae2e5ebf8ba0b4f6d699d9dc434abeef215ae3ca262b863abdb6399540c79e7a8a4e75176bfd4b41b9034e0edc9a5f445277d5cb98af7c63768a0701d483454ff987c2cc091809fbfb24e740ce0963f83047816bf927a5912f4f29da5456f92e821271fce4c7b819edcb4c4c71c9fe0ceb359be48431208ec451222b9b81f20f2d2b434b544676327a499352053d44085173d2ea3de944cae979c767e926897a302b16b3dc1c034fe6a939bd171dbb33f2da53a7bfcd7f681371f27b91877e56d1dd4de92fe8f62a7f2b73c676399257e62736408b76062ad9b1cf8da1462d62098eca768056beffbc314c6ef7f35551db6a5e5698150a3f705651babba639504cd415051c514c9eb8f36b850a27d9ca6620cd4bbfd1cc0af5c036cab1fad299a4c4962cc39a246586bc0c5c0d6df323c86bdad15654c0b904119d9591d0d5d632a2bb4d59fceca22dc59af974c007140633a5f14daad39cc1b39320655b3f40ee437b4a7669f70964fe6d053f18084030a75df9c83418b38bf7fbf03ae4245f34b589c2decce2e11faba2fdd0f2a9b3f615dec502fc4b11f591757a3013c6d8e2d2d50e32538794c8944a5bcc766c36769195f27bbba63f342d1a0543db93c894a8763574dc07e10ef773fa366d5d65c4d768632037477b2baaf5908e2b892196e40dac35d547ac5515aee372ab918e0da5c85aece02cd82c2f0c8bb724f134b504709ad6891b7d5f283a378d69de270ba8041ceece5908c77fc3f8d0f5e15406bb5cda5c414d94f2519e4d3c254b43c3519b740964c25f6a12561e9ab139d8f0d8351b6b6ef2cf5afc184ec9a405cf1b90aec73b82009bff0a73a927b67354facc2d06ddd3513e5399f355c3868d45e4a9823f21c16c99b7d8c09cd9ec66bf5dbc794927f0705b6aa30107bc29533b3e278683e016aa9969a578667c50909766e5d5b53ee34a6ed4c6110f38cb9cbfaf82317bb396ed3383bcfede2b2becaa5608cfe142ca9f6506b3e7c5c5fb4c3e9b1241a9ffa2ec0191fb7861bcd46de124ab12b5b9887e0b2444568ba90a6a7426c8db281f1cd68270cc70b5c24084aebb864d2521c292806b7e0f99e36410d7deac248b9fa77269c4ccae42b14458cb63c5a6ca94be252a24c3de46f331616e4c0272d1551e0bf45b81b9d6ecd8acba8641e391cb3b1533442f726e0f1667e6c8b0d2128bd8045c6e429bfebaa1496a586b7575c5e206e7dd7e7b07f2fa0c02c1021b4bb843a6e0121944eb3522dbbedeeb3fa02676280db890059ebf3a7d78f2fb1ac4b20ee523c9fdb279e5d31cbb88071b82e5a1bd8c5c08b026061de7956d4448a9d3d15ebeaa30d08af3d864720a4fde6510d20e262080438d515798cd0dde4973c9ec27a6a4e3b259c44cd7fe5e4fede87abd8abe5471064c3c8769e3d6e9754a4cd64cbc13ed1657602393b1fab5354249ccbf094c098600a3f298334c0f86f14ee7b057c7d00ddd5b9cc7adf4ff677e50235ec88118ac4b2736f6041b3e81ec48f73132e7822880928ce09e5a2387771ed8f3a22832c018ed8b3113fb489e539b672f0269301de4b6513ce32615edb57a66fb7a61e1ccd402dca8836a50ff807f11d1d5e825ecc07e552b56a34087fd23a77e436f08e7413940ed23a8ed453980df619f6a888ef33d030a7cdffcc2511ff600a4de75782fd8746df98cdd8692ea0d7f57e9553d9fdeee7cf086c52222682cd5291795d941a9aff2f5718d49315abaef610aed223f161bc4178c108eaa353d3475eacc24d98f8949bb75f7bca7f244809834adfbec4fa84ebe82fe3a48ca67368dc0eb45a124579a6b4a2f47ba0aed9abcf09eb1098a6b5bd68d9735ead9d46d803be1b3d98c8c5c1787976bcff57a20104ee7e6abc86525a6285acbf2b5e3af0dcb9de6da68b166b0dd778eebf77912ef09b021c6f5de4d4c38acc560dba90f5ed7d168e8d34b4604af232f64cd525bbe3263449527ad73f965233524b598dca686652c368cbe9685f9fe55da7add3ba7b4cc444cc7f8b23285f560635cf3880e09b3aaa80b7840dcc64339f725de65e488856f5c74a2326d96a0c4115d968d5e54ff969a9e","amount":40000000000000,"withdrawal_credentials":"0x000cb6fe56fbee1169805406f6fde5581a1a74733927cda1b5b25b722f9b44f6","deposit_data_root":"0x98eb3ad85914e78a92ce116aa00437df41a842aaaaa385db2f3bdcfea31968a2","signature":"0x6b4308367d41506815fed196c5c317fe02e414eb95c3ea47db24c0ec405298af3f996445ea45b40bf06b2d70e1a6da535a0626aa56ad0fa49148e714091e20b1b281ef68b8cdcad4cef083d6c11805f6e400cb0f4b66a6c8eb1af88ea775a44a36047ac8a429c75af98a74a8dcd1be0e114929885675762d4d03ae194eb124d41e520fb5acff291d0161cb9dea2e64b623eda7e55236105eb8630cab54c298ed55f291d267973284a50d4fb4f5c875ef31b92e8c106495aa96f119571890f6ff0e8429ef9b54bc5d08d363985da2f4cd865091155386dd8335b7e5774900e5c874ff4bd19bcd2a96e7bdc340af443d551faa7cc08554823f65e3a6533b11bc6d86c9be56e3d767eb246d7ab60fbacae831b91ac1e7b8c948758b2e24a0434cc1aefef4a2b0f41c9116e87aa9c8075d5ea7c477b7956c06e27c0e21561179d386bd3c9ba329519669efcc88fa963f88579f45d7844bb15f555da953a6cda8f67e8fcd4e47a2c394e8b17fda31f4cb5663fdd9e7af8ab8d59185ee130d278147c80785a77a5a04965b46ea10b30dd9e6f1ccd2796c5940a9f4c0b5f72be98a79a4ee8c1678b22e18e4a130feba5b3f2095c722b093fad85ec361c2e5b51b2af5a10298a2cafe3222b52a917ffdad8e49f8958ee89dab1f4d622f5eb92a697cca73875aa7182751c1d0e39bb0eb613a63755270d04d36f7f99ad79295a04f8d8efa0341dfda2badc5fd0afd69b48ac158efe0ededc1f452a80d4319fbe7f09a5ad1f29ab163b9683a40cec4912c0348d16d2e77cd7d0d91b6c1a3d3c21030a5088d8992644a2cbd58bcbdfbeba20d21e8dd66af230a826184bb9e3404b61264efd771d0025ce6f9a7d940e79a0fcd937555053ded70b0d953d769f85ecb3c66125d8b439ef743bfd682dde43d15aa50a549f3e5b60196f82dda0f6869a373aa837841f1c0d93b91d6c6a9acb9644a398e47d284dce746dad566d582f685c49c0b8db16fe9d45e18dfee56c1e0ee52ac463e745c4fe49bad9f440332b0b2de11b7475bc6628a656f9d395bc244408fb2858585f3a3f4971c3b7a62a38558d53537a98dec4f7a782402a15ef853dcbcbf913efa76fe9b6d36052ba2c364d07dedf10add21960e73cd311727d2a97552dc62e5e2b8930821fb34c093d1aa1d67b17f202221e988669839267380ee4e21e7b1d0d8c4424ff3bddd2127f5c5823c7bef4bbf2bc22a6e2b43748db3851cb89ae5094e6be1b5b17db4ac9032414878e3ac5c30073b523f542fa5d5ce2e195a3b0efec0a284680563948576dba001bb87eaa8965a2afdd96b10f2eb4c76380ee866e9dfa1cc4dfc05c8a4642f3a1d7d17d3e86a5040642060b212a454fe2e923fec77c78eb3eef32b80375110f3a5916c662798b7446be2d5da9db0b622e7e3c3242b96aea8e5278e64475fa99c2a3cab11dd1d971147b58cdec0a0f5af68266ee51d2aa9eb0a997ac85142fad2652a97ce9bd79e1e068dbc5142261767d16b1e4eab7eb72a9aa26cf84670b9688910e164346b4030fd9ec616e8e21efe9c5b49c90e4d6e40bdc27a3fb4374a94fb6054665188312b8b5cd7111bb4855d004437ad1e73577580ea1c44e5f195f8ba8e2c0115765c33fcf977f30b7dbbb7caad307a8591d63b41a3b9f4346c85887004b8fddcde93b120a31f8e441fd314e44bb1b45bade837a22043a929bf3b2e0f5902e87988237b5bb7c763b7450e024b0485ea466b745b1f2426bbf11a50c3ea5face207eb39d90992dec6be70cef10e036f144eca8963fee1f59d7878495dfc2ab266764a46a34ab939247f476424f71ffe02d5ac6bba76d50015854719c8a8762a457d2373e622e01ac639e79d1b3bce766838dc7f4bb06a863e33bfe174fd78b3ba841e5025e3828fd1f810af027158cb86491dd6c959ce473a173d53e1370a09f6580e7eefe192f7c74db287bdf11b5ed2f3b8dc755f48b1006892911e1b4f06640e6c0fa732f9396cf92d16c0c2414c445e5e31a11f4ebe122207ca2214f3e4b3281c7807c3d877f8eca81bb76aef099212672a70304087ac2d92bba7d34cde14363475b54090d095f1e41d28621feb400259dbfd22f6a98162a82532e1bce2df781146269aa24a9c4e78dda048c878a6c2831954243d83ce142d942d993f9f636b0fdf1bba9573a252d0a474487a4d52928e332fcc8d146850779bb2e9fe232fabc25a16c8be7a03fb466fb3e742eba96c282253fec104140e8d28f35a914e9a1947cee2bcbe5fb037195e93796c9967bcecf3f837ace567105c38c8f0e8fac8c90ae084036e606d303cb06a6a2332aa1c3a357652255eaa252d1676f672b78d6d319cfa65865bc82a07e28b31eb21d2b946e1996bde997c1dd7b9d37c800ee244d2fbe49e1824064c9b0f4058d6efa64daa691739c04b22654b05ecde0ba6216b1419d4cc33ad1512654a2475bff2c34c1bf423b3ef76f5af5db6108a5fbc8390cb7898104fc509d194c788e2328c08b45afc2f8828782a26c00827cda5002e1758985b47da39e83d875afd8519accb4b515b52a3cfe793bf371eb0ffc15a02a529966a6a985fcd9914c34ae17c95df9991bb8bdfba15d6ec3a28194fc9294f83b7423c377caca688848efe3fe718285d8e50c6191d4684fd21ddbcb87a54767f622d9484ef11dccfcdd2815669b614c416a6345ce255ea0b6b9c0a40585d89e6959a8fb19b264f5ff664eb456ea48765c30fc3cdd54e0b6dc126c5fd07fd5051a0a185ab3189b1dbfa5d2ab7ede51ebbca7d5731bde2dfd4cc4372d71c2e6ca71ef9bf05941f91df378fc4bcad5fcab32c188a7749552e0774ecf9291ebe391bae60cff9faddbd50de7e95bc69706c0d597181b233686592d5d578b586e9f2599c9d4c042b3eea6d34ae5a1886e8b71cf44cae498df2a4f2c0819f145d161c2e4f2a079db0a9082466725e55ecc939b779eeef486b1816f8b1a975ff309688c5a58848540ee11471b25d6c0768a2f34349b27a63503d3cf5c33d2f8d9cefe48658ebaeabc704e34457f32458d778b36450070a35f11d483fb8532b054c5615759ad21bf099ecaa303e1f3a14994562283205449ce972185f71e83d5fc0bca0a2ecf458520e75e5db0d876900ad2bb103759dbae329e4b1f32185dfab4b6c3f7c7dbc0bf5fe1f93305e3eb674ce64793b387e0cf1e4fca0635ef9bb95236ea46bac23276b4066bb4d524ff192556cd9cea26fb5444eab715d656d083252eac303173f309ef18c24cdf01abed3811022d08ff65997f0f99b20bf71d3c19a849c038fbe99c7fdd827a8df3f2dc99c23e8801fa66eccbd96c9834fc8c0f70b368f304615e0737748ec5ecbb874c8edd48adc92c677170b131328e9dddcffda7da589b555e8d4813880063d455c2e10a5b5b23d244f5d0c88ce161b8c97fb568fd6c43df2d1b6b1170436b2d1e860fcc665364f823c8fb9e3c4b8072e9c722a4acebb89ba5e34d67ef983c7916d970b58d53b766ce109fc72fe56d165617520683dc264bac785dafd8095d5ac5e0c4ff1dc5368ba2768a893ece231a57c2196ad17537d1a41e8efb9960a44cb916a9a453944627e351f9d3cd7d9961d231e7397f24ee5c8c8e93e429feeafbff71036e2f9b6274e1e225aa033a02ad646a06ebebc2900fc020e2a7d8908ae8a9eaec4e77f8ba02e953ee42ac0e8396cfb58fb6c13355750ffcd26208fc524136217c44bd4a61263b9826b557f591eebac79b8851967b07dd6efedace80d560e2d59eabd826889fb0a1d47f550ef2532fdbfda08d7c5f3305d8272df349875cb4f35c47f7fa0ea3eff9513b8f7701bdd2d76b9770bdd26c0e3520ba3b354883ecfd1d943216b5bc9dce5eea3a341ed2cff53d4f3775f46ddfc3bc7b5bf38f1a3eed3857d13eb8a786b5ae6d10f0c80bfacc90948f88e9cc1096fbf501327ef8eda0ba7ee1b7536a3ba7c126987e1951468353427a9bdd78a22db89cbc10684ed260043cffd5d2e480df6c7ce03da4ae38f8d77f079c45a5bd5b14eb8ca2902ffa183bd2022a2b10f83fdbe65e804c6ab8bb483f8b52f9b4d17703f9dba99469c4dd6557c8456a686d4a22809bcde18d4665498671b3cc9eb045d4b68c351556fe4859be58d610515bebf5b5cde7479309667b68601e6b754d856e68970c4d721e95a27469885e348cabd3988a22f27d0d7e422823648176318f883c17e9539b946ff2e3524257cd10ec4c85cdf31ce51999bf8582c4819b6a772069556e863d80ca64a09f2c662a85eaefe0816dcb93d8ebf3227bad0fef8abb526ab0b4d63f885c21938e17228597a7ce3e2702cd8d9b7b433ddc729a28e849404678e561ece7080a3787c46cb1729b8191f63fc551bc592961b9913440a106b04c0eb154a30a294ad315529cee887bb54b20730538d694beee3502d998e5fddb04421ec74931d2ab30283bd1776ff6db1da53d7a54435daaad6d34f9cc7b0a4d079c9356073552fc1720858a00812ea1a2a479b6bf5fd249701a11c2cca38e8c0c4338b820ccf911bca25365e8d2398aadcb5a8fac9de5133f27f2ba510676e93b578daff3fea4f35dab09f4ee63d8d9403799be24a16bd5ec04d615dd1a9842ea68b93c37d0c28412205043e560f0b7064fa54a4157d14fdb64601b81e14f1b6b8da9d221ca3db9e41dc228279d3cbc660488dfd129ce2ba195632f07cea01eeda634222dddc0c0d830e9fafb1d244bda40e65a6584b7c039c3708f24a348d2d00588b0518ecd4943b7d4b56f6cee5d61ade92d1160bc9dd7d9c5c57cdd15d833f179e7670f97ae7be2d0cc14691dc0b94aa56d827e2c9970dec59d4c96ac7041ca7e90d95134264188e52f2e8ce8a38a95f59b8e38d5f49c9eaadc853fcadcfc38a2d47d2612c34c31632df191d215a7bfc373c5e4d9edb2f5c47118d53e55cdc92b150efebdb3da84fff9786dd0d32f6e6659b2a2042cd0ae5171876817aa69f6a322f04031b3f785e045934877a048f3a182a1fc45fc8a22286c9f9d5cf303f3bd000a56c1ae52e6c5ae17b724dd2e403b8002f98ec96eb2aa89b5db96d7e0456d9b8f130e46cccc19e17e78ed79e624f1f98681bb7978ad4ab4fc97beb555e31223385b5b3f9dd23c131106f01fe0ba3bac9455ff2fe3cd032eac4a3d6ca35b6b325be31678f666f755b17dc207856968c0e56bce06eb84beacdba1d056419035ec55bf2c6755dc2b0181b228075091280614188008b93c1a58fd97889090e0189a83d9bf08af4f1fb20d7d6858cf8866bd7f609278755cf5dce00d6a0a7abfb0882ad52d3a69333122a08edb36a26ebccfe7ee9530e489fd79be2c9870df17b32cdf3937b79685e326186236a0c8d667bb301d9ad51498fdaf4ec6a69ca03f435d238579b983ebcc1f2ecc401029f17ec8ae5a387e88cd942261654df5c827da4f15356c1a866647b8eea11083437fda8d797e75672ec678e1a7eb9e93172f895c9812e9c44205cf83645f42d19de2b95c419f35b7d354a3ec47d65d3ec3ac871fd4b4aa1b59be7f762814625c01b6c6462977c8b0b1273b3fc248e52619daba7f698362cfaeab51678365173325ce0af6f7016c0b85cb5158bb67b9074edc20f3b1761caca8a36d79d73ba3dc112c8f896981f33668ce9881a656cebdc1dac5f2f0b1605814ce6ec8bef2288834966b7dffa40389060df0ed8de2367c3463abe4f97706e0b7e83fd10a29bb203655f01711b3a4604195bf174ee1e5d2277ba714fa86cdad4c9cc2c7ac608c67e92b7af7eecde1b0bac6dd349534e75c20877678f149b49a48edf0cf1495efece80618a93dd55f74182ef783461577de93242152f1dcaeb84cee92c9ebf2ff076dbabde864c2c294ec5972ac0333a93e95b080613ac8eedc9449399a07d455ffd42cb9ba8be3a1a79bab8a3d974e680fc67789eb5fae2513e82a3044e166c4319977bc435bf3bd6e8ba3c20d2c57785ea32db74b4c31419d2ffaad8d92b5e07e8ac466666cda0af1b06ccee2b598b7e34404fd669a5f6c7d8411182aaaf80df8f09b2d7a6320824c8e6e3cf500d83dc104f499f2aaa36b1da80bd49c36f562cfc03ee7cc9ec5b5d7f49227957d7df680954416e9cca63b0b19f8f532fb3436f89540d5cd35f917529f40b7706fc299813e06f674022b30938aa65cb196c63c44791484ef0664e80c2e146feff16cdff607dad2b4fedfd37a10ceaacaa30b156d9338d9fa17bdb65e86c835496612e904a540425d3db36652d0fcbf3fb15ae58a0642088c9a8926a4d5cf07ea4dfb4d829c03ebf92d9b76b44215ceddd279690336233d177e1e898f756c3a58cb303ad2ba7da15e69f0b72ec3ad838c7fb950411eef2224e9e0d84efac68ba0d18304277b6e2e528349cb9bdf0f1171e1f5e6179bee50e1a627b8ec3d8edfd03618ad6556272a625424662717de50127526f7b7ecaf00000000000000000000000000000000000000000080f172024282f37","message_root":"0x18babbf04f39a19fa7084d8065480d3a4bbee20d60969b44fcf8abba6c9e23f7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x762eca7961708e4e7fe498d8a4ce8ed1031ff7d9ea2a98de3258d63af75c47f6191122ce854e8042acadbaf939870e4dc9d8a266c7924b365e833a021314cb84fae3c1edcaae71e8f0a10953707b751091f0dbfe8d0674bc380236994b36af783fa36600358be9d5a3c1a8f81ca9fe53f4e0bcf27ac56ce282e73d7e57e18164b8215b0d07addf3bf42b8120c2b5055e18f342d43f0e5a71095a3650a48599abd9c03d6ab44781435bfc04596f2a80c91a9c48c7accecf7cc55dd9902e34594bede8a0b70f5e86341ce05e606ab674ead37905066d1f1d8184d41b7e12e5956f9a7d4041968f113404ee15963cf71fb5da21664aad20bb2979ec05f4a855b24bc0a4befc3c61834a79025537deb9c0e1dda6625d6c08ff031ffa868d2896721df3bccb5f7c106d90f4a7a2c803d7185107fb20f268bed2480a6ee439f892f737302fa5c888b5011895e53da6d74754057c13c0d049c1d2eda7d625aa23e68b264adef69183d42e18d4cf5aa5af601ab5a99d3f26aa2891b9c0de312c20f1ee2abdc0a364b76fb179fd80c46e2cf664a03fc3a01d1f920b0f004457e7eb264c9876ed49635644fe507e89ccca728fbd30eaf811b14cf6c3e383b9c6a18e3bbe34e440e2b7e0a566313c63f1d704ba3ed10af53d6aeaaa2df0d509e83f05020d836c65342179650f7039798bb31db09d24300be3c8e206bfb9a0528cd2e9e8f0723dc6aad1a5b5a97e2d95e8b19960e0429350df917ae056feafc65b1b521c2e7b02d344adc217990da3c8bf4d3dbac659c6e528028f086b7be24979761cfc3b5519f63ad2a031fa13fa06abd0ce323686f36a7c2dbbd3480f4a5d09e73511fbb38b79396799abe5a32993d68d9736ebfc56740351050c9839c417f680bfec0c765c744ea7f2cc4e18d4bd6bbf48f6652bfb4a692ffac7ef39fe6c4d868d3093b5ff9078bfaa551c3c3f4a7c7b47954fd6fa5c90b1e4337f7a9f1b199cd56e468f401242200f0da0bd989acffcb0e0ab5a0cb46ad0fe704b55a6b5531c785a49a7677abe139c40ae7d7e8f306c48d836eeb9c65ac7ac57dade76b658a4c68e27bc8d0e523d2e157a62b7f3b3fa846361cb5903c61cb1419de457bc0e1a3c8159c1af2a9b10066d36fe32ae42aa40618ee295d3ae4f0e0e3027b086b3865401cf7b04545bb008e4791c15e946023fbc3d354f89adaa2a6f2ee2e6ed57917699e40b95ad0911ede9e0608338de89218ae3bf8b0aa388dee9ab4650549cc1d03528820313636b59fc2d9b7e0a29fa9279d5b47c0937e8718d14619ecdb9196221e05993a9a69d0562b4418aee87469a667d1ddfa31f03f9785061cdb121680405667ff6f3a50f79d6d5b5c9d2bca1d6d6a4445f2f35a35544d2a5f867129fa15a83a2961e8a8034a41fdf5a660647436e88350986d0b953d2056abe03bf365c795688aa7d6ffa337ca61b98da584ab466090ed67c1a78898ef710c7f4fce3b8e844ae8b28ec102b74cf5d26b010c4dc5628e541dd7cbd3361ec2c15b625746cb9a5f13aec608f8ff98966dfaaa41837e22b361b51f7e71a8c7052adb1eee976e42a859f1628b32a1be9a91a290f8ceacf74efda19ef091e66fd1a99bdc7e1ad6525b6b57b2bd9613c8b1c805e6f3bb112f1bfd056cb224d852999a9662e6c4fec27353b394fb363dccedf6fba56f197cfe4b6bffa957ce482141f719701f0832be066288e4ff050325bd6a4126149440cb1d9da7ec1068296a54f6cf7fb7143a8b3cdea2440505a27ca72a8744d77dc0971c369084b8aa82d6a049abdd82808b260070c11305de81e182d693114186268f516d2cc2402629c393a73465c45d7fff394fdee813299d712e3f8d80940d62460264bfd8734a5df0571627aa5442f48c390385f146a0565c0f8b6713434f72d969b78ad55ecff790b26431eab7b2398c27bd248b0252828e5270006a1b8eda0bea3346e36be24df76691d469b34ae5831419949575287a9f28a8a0b4d32276848fb8f039a51e13ddc9fec300c59bd874b59ecebf48e968da2141be9fba9b9dc7d66eb8be094b57b3e3a4fb3138a1e871250d531c8968d4619dd8ee0e90273a4214bee43f843545f1909ca6670e1e3f38068192c3a9c016ff2464e563b156eb9b7d29473ac4fb354507c261b9203854f9a00385920413e4d9bbd89f11631758e08be51f1aa5adf907821a2c0ab81d24048acf543ba827213e628f80e7769b82829addee7324c3e700f90b767d8a3a2acb1de1b8bf90da7dc103547f1d7db0aec2573de5abe3b3299f20243e0d7942c2a4e70a4f3bfa27ba9b5e5d1141346ae783dd8cc65c151d547f9aee20d9f34df3689d09459349982f96321e1c871a9cf84103cd83efb5a1bcb01254dac0e1b6ffa762af078596dce8f61f1c2ff681928c2408f7a96762d831d8d7b50dbba98c8a7fa93f0d5ce490c1e730e87319debbb72525fb9652ffbfdca122b2935a64baab9e4b25464032685767386831ad19f866c9985bd6ab1eda86bfdea71e8fb75fc9d44505852b817222ed964e75b97d46263e0de85f98b57fef2f482e82d56746c8224bc7df0fba4ac041366c62a8d8a5b44dff34150824a14e459d6626b735a08eb22ec72b7876e4d6e21370ccd0c457da8778c0505a6e9a4f69e9ec3e47660353a0933f468a139b46fa1c647fd689015f7c5894659ceb709d40a1dddd74b7eb53eb7391b24c655f8170ca5cef2f373f7b09d89f264e75a4ef98ad441b3f50a12b52130506da5a814f28732f8f1b12d9cc7a15f5fd34acffec003d7bf5d691b376587b66343626403c913286901f20b3aabd912d139adcd8861327e35396ba193c54cb150206776897204325b5dd25619662421a8a712aa6d9ad8406fc265268ec040fda8d1fc33654fb0f0151b2b1b52a3758462c07b2a340371c556589847116ed4d72853e37b83f3eb25fd564391c96344bd4b2e18e453406a4fef38f2fb4a5696db40c43a4c4e8918908be3bd78f79c716231f7a78173de0804bbf20b4a944f7389dd7fecd1a915e1e7ee371124a49719627181064e9412f3b70ceb7f9bdf5a5a2afb17d009e41b413481df79cdb18ef9a7215773815bb7fad19097e1fd392d65d94587f9e4ca7c4bb6427eae8dce47fa1c67c2251ded0fec5d2ee80a0b149e81ce7150d5468e2739f7981531fc9a5f96ea3948a0acbdf8fcac846b0d87da695c2d5e7a5d4fbddeec2cd2519609a155f4ffc19e7edc72f9b9a5ad0db173b919e439290e99df0ecbb4ea73a713e2c93bd5b6e6e6b5daee0362765b6d754fa21bd432e31cb813b6cdc34b9d04e8ce974628322223e0b8ae1c488793289e4115e8acb94df86f260ee9b08bf16c2007888d5f9423c66bcf2defa13ef18f3f133faa767db9907209737cdd05a7f8b73e14b13100fd912fdf2ff9d34dd565283779d01387ebaedc9ff5ed07fba9223f5af80eb4999d9898433453c96b0b658eeba3b2901ece82c69df967ffe38cd488210ce4149efca7c7e5681541a89e95738797472b8c9ea44812999a7fb4da4792a8c9ccba28c20a13eb80eccd99f4ff024516268937cf3d427866b653e466d131fbcfbbe6289d30e29d7917acd648b570666e4e52d00ce5a27a29540252f4cf55fbdbe5ebb84a0006b5f8a265848a6e5f5bfe5b4be6","amount":40000000000000,"withdrawal_credentials":"0x001df480b2c3ceca6dd843093fdd0644dd1f2618d2cfc3006d7e87cd3d5c23f2","deposit_data_root":"0x0f06e29ea72fbb130a6b69475038ecfb4b0f301fb33c0482ec2dc5d7db6196ed","signature":"0x50aabe4cc704bae94f4334555b0ae1a3c6645f88f618d9b90958456cbf97e86d40ba6364964d5917f5a3daf565710fb927c72f796f412a0b75e23ee0b1072282b02e4e337f1548b6c9479864be7d3351429434291aea4073e58585be6fce0037146b8a1920a7e297b5525122da0ec58344a4c90d558532a88de8b71abd878d5d96b1634c9bb3e4c2fe3da768dfcd239571b46f81a3d51c7d94df2d124d917b9dec115aaf80fb18f39d488350e402f432c5e0a175fa82dd0463dd637052093cf94dabe461e2d6f0ae741cf584618dda7ad956d25a46529197659725851535585b009c53c30fe6486df281737799d85909062033b284d2838930af79edf03155f5d12e04c770e32701194f4d56023470348a612798e43e91611828f8db1027b9d686b2f8edb93f2f25188f8aca21a583db6216af081d7a003c1e0d2498ecdc166f5e5eaf91c4453e5fb61650f85b8fa8bec60e35c824a5e88178f42d794750fe9ef8c28bb30b7622cff60f8ea4fc0184a50fb573a5a9b7be6ebbbbcd1d12a1285afe57d54bb6559d3e5553ee612f37770c5abdf35d5ef0532513286d7c3655055d3ff94298c6af1920f1d8a30f0386d9d1abff922887560df7d34a2c727d2a6090afc57fb52189d08e36ce9c27685d049d24a4c0737a4f82d576d9a91e40ccb9690b589c802175149f564511f2527d830821144e822185270fd2a2dcbbd7aef6733656c0eb52f3c2c5bfe3668c691d4fdddede958b90143c8374a2e689aa2fdfded387b33294dfa3b5282db5fc09f4b2503aa2efb4e804d48735d485ea38c7af26a23269d6e8ca59f95198d23f9ddfa040c40e9bbc4488928906647458a8c153d1e4060885cb0223c349502ac6851c4c6b91bae1d3d9a5a9cb8e68d785f4aeb798f9117362844d757fa337b1cca107164c7e22bdd861dde9da4c013ef92c63abf4e73fa6f34eb802ee0634080cf62cc3557f0414d78773c0e9bb985f4ae3963498223d151247cf60e39bf2dd8396fa4d71c81172e90416ca3bc5bb224b6e6afc3f44af8152a55cf10490b9dba27c2b302b99e023522c2ba6a2f552a088a9ae157002cbad1335784a60a249e812c955a6b3b5a6d1c811936fd322e932ef2dad58720cb7f11cb0bd76102edea017be05cb48c124c90daa41ffd51e7789be1cf854ee96afa1d4a73822e4f812cd301f24f2f6241b141d5ccc3504ee761d98f058cdb46d9ccc1238ebeb5230d1b91adcfce38692977f2c86f5dda3b61af4b8401918b688274b907b3147576220b480f59ef67a0ec8ff23f7193ea13cd82700af24c642c94097bdd3d014712194b22273f521999f1dfc17a74e8e7ab5f53e7cbc0475666e98e7c61613e3a0de08b861b3db5a2de77608568866f3929257c0e7d5d0ffb91c12e2cebdff41f6cd7ffd72fd24c22ca6b308dcb0c9668f4b2ef8fd74c0002916931b6f75b8f42916c9167a1c53f1218535b4730e18784bb3cec9e823c7f359677c693d12d313cc07654fdce7a70727cfb701907e86a471aba0472b1f1f24c9ced276fa43ebbed0d497e5aadf7d8582d5a4566af0af67c41696159b0239eead1f1f3064f936752a7418dae7f4d44ef86f1d245c581f54da8c1418229595f263ddb9f19326a79f4611e484f3c46976cf16ffb336f81cdd7730a0c64d74e2537264d73a4deac01fe97343574e6c341f922c3260fbeab06c9ec24fe54f2c6ef36d440f2bdd75feeb58e1bb0b4cb8e08f8ca3586509ec3487047dc29de47a36c92e53bc4a8984dd0839e9990a74060e10fdaad7c29d2d77641090685a0546fa6994fb3f9310e9ee7edda24847be34aaf667c8badf587b7df206aa6724380aad70c98ba72834888d5cd4cdf6944a98fcd23507dde43fd60039783e2d4d491b939b5d1e1681694b50dc1b15600e2ef7d5f6926008fcd21c30ca244bf6ca514703d34018e4be05a33524d07264ae43ef38b19bfbc1dd42868f0ef253b21278ce6c308224c1341b399edd0670be33b84f54f90d5e3ba586b09017b31be9e307927a734185b82130dc7ebb91a22c4b1ec5df4a2667143bdea32b21d71b40eab18ac5858f5546bec0ae9fce62f976be927d00da88473897e6ca29ca4e9160ff8fc60f7767314b0c2c6a7de292b7f55744b8cb6b83df655db10ef010e414c9942d2a387f38d1a1d60b959fb4abc81cdb5038c654a2729ff835d53f626b38bfc9e35c3ae223335e7793043c856c926ac65fcbb212fe517e907228f2eee442f723fd1b0555b0986d869311bcc6fbb996f32a4a72f3fe8f54ac6419ea7817131cfe88d2f20d4480e284373412a3851190bea84978ecc82252c575ed65173cdeeb51100137581a16e08839a739e1055e79bf215ea0f5586e7c6e44c3e022e09a9488c3d46ae7d0b84b72269cdced3fb96f7f7988df58de4727654d783ac51cbaaebd4bb26228cdd0dac2a3e04de5df238eabff9c4aceae5bbf735de62460a48848142e645cf37aeb4e760aa65805e5fafa3f39bd4fb2deb283f2e13f8a090c9dc84a6edfcdbb37fce991248b8d9a864bfccab94954d3818986b23504364aa88c3765a79f72fa37e389b13d0d71659080fad71372f8cf8aaef726e31ee7667a6674c2312180b20ef35f3125cdb9b717de250d38a1ed743d625224638e1ed7c22cf04adae431a964a7410989bb5bf18515e430d5a71828f7a7182aab9668a3e665b68d063f65d3b347f197ab0dad89b7413be3d12452a51424e6f8b38e690fb6ec894991cf8b020c15554ff33183a7aa22b6d4fbebda94019881dfac3039014b7477c4d12afa4dbabe1f644159b134421eff34efa37d10253e6f3af09bf0630c65d930663f8e029809077fc33cd31e0be50bc2bf16c4d6caacacf6843798c0a5e41f5271b9afa5460da415a43e56cce66cc13fb810d88ceece1e02c48d5d4d45e47017c7ea0775a2f0aeeb79a7a44f0c03cd8289caaabedd48c1c913d4740ae1cafca36ec9dce9217d2f8bde9507b49aed112d425189cd2be4ec35585800359661be35fbf8f0f22774d8c8829276ff42ae30a60eef86ad539da46bcfaa8c923a5420f65d6a9f9abaac9b55a5b5584d68ea2c86008db58e529f277d691f10cb2d01860737b3cae34a02c096a0eb62f97befc188e198c4272e2fcd9ee31e87274056f13d3f235a14a80895b99b97efe1400bddee50feb478bfeca7cfe79293988c25c1955e617dfa804e64fee38cb602ae7ae82df473d1f5aed3fe477c1d409550d7532889323c9426b65344f1cd14ce000cda34f59af69ce9f60d26bfab0e3924505d16ec8747e2508dc0e08b6f02c7472bf3943a3549e7491fa7917e68ca1346fa5c0f03e410bfd2d8d1a377b4bb813f03af01e0d0680de2c57e1d83f0e091ccc216cd78d78e49c919f2a16b3c9ecfd63029ae3cf981ed63eaebcdf165faa77d968c2aa46bc3b31dda353ec17db44fd44552acac9fd741ffac625bbc2d6ccf42eea38ae83a57c80e16e46adc675a85224475bb9c63dc9a47830ad6d9d5396566902bc281982714a4ccd86d90aaa62958a644f901f2570dd3a7d53e8428a5d5424a4b954c3720c1fde3fd9287a7174e8966f63e262daba541cef78e11583b50a409d90eb193cafc9fd3cfa143d23c88ce665944e16427cd4660df67107dbc41bdb01b7fc439509b51d72f313fad36134b47e836c7926c9c8934e6ea0433c8e8db0b215cfc130b5ad81459802f2f170f0959c2bae7034a7c48042311ca6fa19d218fad43478d1118fcb1f148f5a40e2e7f49bfba25aa025dc0a4f3e544a013d6c411f233707e8af7236c592bde5a05cfb5299a5e2722216b22e48da1856031137a0ce11468578d1bf8c774218187816bd8bdd4868f18b6e39ba56c283b7a1d26da23c25c770fa17cb1eea6a381ee5bf64ec7af8ca0517f222d3e217909b2d7e3be6b051f69c80bfc2ebb8335cec6d07a31d9c261bb8406f6cb0714af8ddc923fb598e606363fbe0407471e64ea32b6e6c02ce4cdc67fcac830398aa6a8d5cfef642b7b3081b054594faf0d8e5a942537172f034dbb4f8e5ab543cd8735eb5da032f553a6de89e46fdda2ef8e67d6f2bd0f514b4ea27f4204911ca21de93c6c5f566591eda99241790af40e9f5e9f8c75eac6d7089fafea151f027678ebd6e76075c20c3b9808d4aa86d53560a66b40d96611086f5aaed4a7b43880023e801c0816b0de67584dffec3bb10dc9015fdbde6599a798c2e8af4371f623cd0e217f349f3f196ede424f49ff7120ed10f40133b048a2e74c0c2352fda7b84f4b946b1ea1ad93f71208f48275906892086112836bfdcc031eedb400684434c666b60e9938e5e521a4b5708cbeb3d298f9dddf871cb7ce173a8f412e63e6caa924b649e797149e95144da96936edb36e3a975e81de624dcbcd9320f3b4a10eea4842c57b966ebf03bf606d35562fcfa0cb0d78e40045174a4f77d728f4e2706ac3b9800c5d92d57ea1a534d00f06dfefbb89bb51af339e9bc8265505e5bf21dc345f44be8d1f8d25ae5f4b9ce6a5b28e250250145788e8b1dc72388304a48c3284eb7e00976ee8610dd3a97974578d374735acde560591fc4e892f71766759af37fd077ab582447601f193159c496a268ce6e0ff11eed13c6d598193be2d319e619d54df467e4673ea311e65ced611ea14d01ba1e172c903309fef6bfd80828e09f099ea99426d26ff494245170666cc3e01b4591bda82fad45db6c596dd278c86ca43c62f72d62cc5378dab38376450b1d42ae413d2157a1b0c1e6efe32fa2ae9e010031e8436e95ddf67e6eb56c4b725686ff3ce7bad91229572df724a1f61747974bb5fbd00fb45b0db114dadf77907efa0952fd1345fa878900712f0e687ac8b0c18747341468f7fb4492cbbfeb7261984ec5984ad024be987b0f85e61033d399fe147199e4343f027cce890865943665c32aacbb3a2c8a16d42abd1e491374068e03c8dfcb9048023e318551edaef4cfe3770d2145850935540d760b3b522249b6616cd33beb95908d2f217d62d4c319544716f5ae8979c72de810aef5e66e3804b8adadfd138a5461e395bce0be1b87774d2b3276c576d7fdc73c56a4f3519f50cf536a7ac176cc5931b07c20189f6ed8b8f1806ff8f557f9686b11a89ea44c8b5dfe85d6a4aaf47216e6613bf833b5f21e891efbde9244259430fd5223aec8f0f85f902e62fa5d78c01a2c00cf1e5499b6245f02fbd011982bc57ffdba20c71661cd02e8aaa9f0b2e0b54b2691fbbd2f24f6e58a781d10aad3ac05bb6cadc94d1327c42d812801a334588381371114b949113f9fa3790ba8ef774139d9da97d23efb66939b677fab5295304f28260246c619707e2ba9593b2c31552d5d7c4a53eb9a7017e07b518b4e33e9916bae043fc6f2d2c894efca431ff2f4bc13d181a029c44fa8a7f431aa4ee3ba11b67db98c1f02ada622db1efa6d96eccc26f9de55fcb4416f419eea1b3d31751f1764a001a6638d0ea94b84f75a8014b9c84888d05617a9fd890a26c10359c133ad4c436d5e48a3374e87d443c94ae4bca3064ce2f1040e291e6ef5bb82291a0f66165f6eae9f5773b7d62967dbd0f0d3a055a80eaad26782e32b74e337e30af235b40295ccbd9e200494c9d48453c090e391c2927fbb0775d29c855c9a09d053e2df8390335a997d9107cf705d7d8abd15f443e26820ce5a9aea42aa13197cd67626990df690750c38fdce2a1ee76803995ae015efc43ebda3df23560a53d0db64db82ea04e78d67aa05daeb164054a7d9815bb5c0893d5c86930c27a2ef89343ece3301cfa74a7832a5d1b32b4e8aa52554d82ff5be6aebed01a112b61ea60e6f29dcf158553d2d753e15f9a8136224a42dc72d4aac87e7ca8d9382fcf5a3d9039666e613a7d873d32d318738ee57f81ae0f626c7045ff261dfd2702ad43981ffc99478892e38c04eb3992ee70b51fc54a940fb89fb7d511ce339d2567d123e8cf7a9dc8331fa1ca7be47919e8a3ab742277bc4b5110637aa456ac157e9574c3ad886127847069b5631e57191ea3c5f17e0e8cc80753306a7e07284ce73a9fb48bae6047b89b5354662c37398c19a32dae4598d7f80086383e6e426f0550a4dbebf2949ef14b66f8bbf33fb23a454af54a2b02157f549270fff982a2773457483556f1d8ea9b845493b33e013f165a487400d02a3a4239e9b50b1a9322633def6f914b29b8045b25bb962221a64a847ab15a7d34fdc2daa0386bb0d281af0d6490fdea7f3e14cf281a027db24befd7a799b405fe6a492df188984c0ae6ee06e71bb6a6d24c245044cb7ad063f0d2ce0797ba890189966cde90ebfde9eae389db7d784c86b47e8f91cf794e4efbdc08efc7588102a5bfe4b26b29fe47da579eb5b6be0a3c48515c5e6a7ee1ebf1f93f49e8eb2d306ac04e4f5058accace0e5f627df5fd0d36737e919ca2adfa0254bc000000000000000000000000000000000000000000000000000511151920262f32","message_root":"0x8d0b88a6e1250e2e1c8d2f2dd896cdf5c8fc30311c37b7d9090d27bd49a75a86","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5f5407af64bc45c2089c28bc51aa9bd60c6033458b2413b63e2250a765c3ceeb3881ddb9e5a8fe8b647c3d24a9027d89cd435636b030a385409d6fc4a1595493734491a52089ab72eee1046ce9c6283e7f753a73a30139daa9019f2994a657d7092ca34533dc11465cc60a13c19b1d16f0f30ce9ba0e587df8b8b4dea6adc290d11cbbf28a312ccb1c3264c43f657715a61b7b00291fd3fca7fb3108e51fb41efa7174f8dce7d6ed5c80ed3518bafe3106554aee8d41649a232be2ebac7e366063a56f7bee1f4b1623893ec0fb160ddae12e70502836d5a3e432203f1850c403b52767e6ab59e74d34d5e9d5cd3b3bba07ff10c465934a32d33e5c104420018421e269102cdefe70f1e93e598a4c48a171ee0ee00d27bebc8e9dad0973f048d92c32cb37d97f81dfced91f86b774d648eccfdb2ac1c88bd5267040199a08ca594d4ddca05593397c6e804411d3193c6e673536b72e8e4af6a4d7ed95a0692e8f3ca51d366c56035ee11b131f3382fe56aa9145c010b9236772a1ee2aa1d36e1cc2bc1573d4fce922f080f6c63b4f23e17cfe09adb3e8c0fd7214bb9911500f58570edc9ac97de117127b06f807b2cb9869bd3cc1a1655ae78e7a1e9af2281845b14650932c3ed504c023b96d7df3215aa17566269bb68dd7a0914f5280ab9f9cc08bab019d195801100f062a720d785f1f067f7908360792034eecce143fc6103a6662a7237b6c9824fbe723562cda53a653507fa7417d552a1447b12416ee599389acec73d851406f82358d0fe67471cc23bd9eba882ddb1ee808702a848ba6ca432f1b134ac0616af0cffd98df15124f99d3c0b12aa8e562519643801a965737a293ad9ce8c729ded3e48622969816a0cbd09b5eaa391d63d28d1c94d81af507f25e562d7b75f58b7d2bf99e6543a2c5d5ef5713d6212742f22fce3221deee0624fbac5ef0c12a881b5916c5db26665515f786410d69be2918d58ffde53230a7d5f42b7efd26499e5f01a8eee0272da9f7d267efc1d8463ba36be7a02ca6502a9825e2c60d304572d9e52257195cc9ebba607c4ef19f04bea3af24acf5806db62e23ff70b0d9e08cd05a7fc5742ce576003a1822232a867b94ef539d7a60f787a04862d834a05ee7dd196f5a5954d33f6a80176f1096777f12319133761bd10dfdd0237c8078794974df14edd354fb4822a7099646ac8b7388e11bc866bd7fa287568ebb9376a8f832d4a5ea02bac891e028993820747fc8f7ed228180a353b4bfa9e78b488eba8626d791efb31ec4021ff9be0f1f74f8af654bba932d799d6b441ecda188742718ceea7b94d2067310015b66117878c52927b8946a544d0084c5a922a3f8b425ae1683a48a994616040b4fc4b405da0e2f34233bb84eaf2dd71d775eda7ba64f8d9ce1335afc2e63a15ae021577ac7b587e958b77485b48e6a0ebcd0c115287397e906f044469d147904af989628f4b105072673af710f63c57cbe1c25cead1232be20897e5698d969898355fa4811ccb1933f6357dc405f5c0495f2c413ed283cc75fbb8eef33925e54405aad6e051f2dd40202e17a17b535693c97dfe6bfbbc4b29bd0a63e2373eeb16a8f29274cbd51349b41297110960e17a99299c93bf15f70fda5e647395ff37dc534ea12320619b370451c40cb55282a0fe625a0fc56f89c2876916ac98962fb90a2801faee6f4ba785f0990c337de4a3182b71230dcebbeaf19050ae7eac8910cf6ac83dc35af9cd7402250784793af0d417282e4106ef1458726e786f7acadbcd51daa22b3a96b01925caa700638f16f3f55c18d25da44261222ffae24f7ebb8d70217a7428c61c83742835fadfd8036f2beb3c677404663fb2f02240e3a8ced02b7a2e582852247e03775134befbbb64d04ad8a54a70b10898e1d74bcb18b917c56acd621f7c3a0f916ad149fd2b61d24cb32397ddb16bc83d3e52e5465af0443e2035be4bedce47ef89466e1e57cf9ac104e221b5a01508c7c202dfbfae5103798368632de72e7fabce61df34fdc2a45ceee7f5588624d7e5f4668758814cbd8a2b3751e03a6c499050f3a556e16b4b6586abda25108c2eaf4c4af0fbd921dce4b5e1527176f5a7304f5a6498a45542bf7fc6c69327711391d49956ef622fd04cbeffea899b16f43569cd9cef320d2b8830c8b6c3f473394814c915b98c8e844cb2645991b6f240cdcffd1fa7e36b301a269323eeb00fbe4f614eb0f1a0602de1f1bc36fb106f744ee8a24c5af365d623d2db5932db8ff797360a0b0c3b66b95a502706867a5d05d5d7bcd982b4d63a6460bb11dc0065246662306f029a324173977c1ce6436de3f74770607cf33bd7fbb8c4ab23ee85b0683025ffd45932e0a1aa072859746fb43599770ab79c3630582a23ba567f348c81feda0ff4756ca160855108196b91c74b21a0f9fa751b437fb3204204ef346697ee73361402a68d49572813ee840ee0d54af377326b36ea437c85f60ddfd9d5de4f1ebe83f9688c9b2ac5069f63d9ff99f96246e6cbffe6f00e9a86c1043c36fa919514053ff5c38eff8d081c518e9a5b8fb41b09aed163a42acb4458c1eb2d7c641b20048d572879e5923a232d6a5538e53cd86fb1799c96d352fdbfb9dd2f5564c13ab9f69455125eba3ac6414315844ebfc21bba4c2d91a94266e9200a796ec2a725b603478cbee2553c55e2e3011a43a88ee450392a6aeb1127c87dfcebfe72ffd320acf460c6407a6bf0faf6e3679bb2dccdcc39656d67bcb4d886310b7828a303d60606e1f175576159c6b9b7761863f0d6215fb3c1f53037366fd5f249d9dd602899ad286adb85960877ad97ebe858c73a82046a6a2a3c808961281fc6fccd88a1bb7d7bf053581bbc80bcf68f1c61feeb51159ebd1200cce29e47e9cd99d39d271087841c0aeecae3ab194171290002218fbb40543eec0a7a096754a77c6e189e48c085e0a5cb9fda7f518432108848186dc042480ed56b4673af63164feadf0e2c11d7b68583401696db1845ee5bce2946d2acc00d38f951f926f277115fb30a202f48b38c3d97e5c45833e6280ec631d6dc96d9e27d30fc32ddaed0c49c917d27d043acaf64d298e0d5fa4059907d692b92e978f23a91db66d6f1fd57d947ef3fe6b2340de6f5f90f3fb1eadd63c8d098761838cb64a8b6c12c525f029af326ac2f899dbf1043bd335e0f06ad4e2fc96f0fec4da64c23916e6a9935653cfe3f7a6185e4b46cc9076ecde8cc1431a5c8609d41e56b68544a0c84bfb06ec1122b910f92712b24ce59e4b06bdb7433ca92c1bd025b2186e544aa5316507f3b60124c9d321d2c6b48934b35b28ab543605c4fb203d5fc80643aad39b3a540f3e7ef45886cf2fad95956619aecfcf56b239109dc6b0ea197b2d5bdb4ea85d987f7d87fd5e60f0d09eb46659baa44d27472a569872a9228bb9062ea067ca79518f1d7382e0917e83e7bac01e6f3836ebac52402dc316e811cdb44b98b254905fb239bd7cee27d0f4493edc1341969ef696151396ffcaf8ff40eb4a7b31702f654865ff9809d7dcecf6b477c84e3a76ae226f3a2f0461656f40b0f70fad820da52d3c342ea0d844248cde2c43c1076d233795a8ced2980ef076b74dd7ff1c30d1cfa57bed5781b9e266b7deb35a058696af91","amount":40000000000000,"withdrawal_credentials":"0x0040d72349cb9d24c914fdb51da199574074ac29bc8ef8497d00b0055d6476da","deposit_data_root":"0xecf6a03239bb2cf2444c2f2a53d81096244caaecfee7136264de59c2adfc5ecb","signature":"0x181e66002d5affddc1f1984419753fa0b3f98cacc37f2946d0282af885df594d556c4dd1dce029ff6ffbca1ee2539f36e0791569c35343f96ac3b04f028d43df6c5022e321f0c6549efdc75daa880d97c89a8f1a3854db9e124f0dc8342d5e1fa63b2d8ac3eb1585c6859abe7b8b05d763d7836446916ea09ae6e1cba206a0c059427c26ef443897f73fd954ea47fd1fc4a80d683912df26ebf6c0bd03c4c63cb20d2b864ef83d5a9572bb1937af8fd11a387a0c38f04d68f0deca5fe098bdd2a25a767a1ec315f4ec09fefacbdaa6688b99cfe9a4e797207133fdbde62907226b2af754fd37775aec6556f2124437cb425f9d4d000a3a2f5d1b514ba638cad4e683bbbd48356bedefca01062683f12a4a36f730c1b1f66c5045fda040d15d09025f30b523023abb3c62c2611d987ef0b9dbb065412fcdb688d359e142d47de0f667dff4825775d95246f7b2220c2dd0028c407418479b58b92d019ffe6030c929cddaedb993d55ecbd74edd4507ca012e0a640875d039ccbc30aeb940041c2c10fe7dc7ae4c3a6aa6d6ef816693a2c954a6a6a0ea55ea625ba63efd8cdab7bc0c4bbf56c182e4fd95464782a3923b7b374a48e96affb90db923927fd290d5b13136e7b4db621fb38dcb8b452c4524f025edf0c735af79190c7c5b0673cb988ca8fd7c10734d3509cedbf87f62a315d2c4c27770145730fde4081d8ca31e6408de55a8b716e53a760e9061ce6a8d07510b6a68286c244e9ab9b9cbf92f14baa8a118d7f88fd39503bf385d51696f28b6cb9e75ba8ec684e3672fc8ec68d47e75a4420a7755af24fc3d957bb1ee4ff002e90b43ac6a60cd5a20c285880b95c44d20e65a5a5d5ba5b87fabc6bc947068113961ecf12e9c62618db3d17fa9bf5dfa21521121b9173390031297dce4f5b15d43c5821e6d0d72b32e6743451b903a22061f6485ae99c53bf6dc08fa27fea37d43c4376f0ff30576fae4319fa98819a5799e2a8700c0a9a91049500d4b732dce8392d51b55ca827d8e640d1ebe7af6894e465a83cb070e8c223b2225ed8b0d10ba071028c4071daf57d3bf2944bd931f8523358a8c64aca79267f021cbbfa45a6bf8eed8ef323a92985c2cf25e22c06f737c06b80a5d2a3bcc4aea5d5d15a1044352045f5c450fe01d7b620e9891291dc18531c77e3a355c6ae84459a74ca0a93fa80921f5ac3e6847d34fa78a7dcd61a00ce5c2bae4a8a10ed49ed97bb206ef80a640f7f538f1096a6a2292d0a18143dcc0f10e777b8b97bce1dd5cddb43a8366d4b6b8f10f1dc24b9cf8783918731bbf6202e90c8d9fe75916ec8bf3ca5575f131d6ab426ee4649604d97bfa56162a4541493e03c02269a1c3339cc0bd35fa24fa7fb44ce58b55378f7340e3503f44ae13ea8465a545b0b92cbb68fe3874e32b1c4da37c62633f97b9bbd4d4d7a1599398929ebb417389f3189aee5d4fab308754f3243768a6541dc0d3c6752df8f341ffecb75f8789551c063c0c54f00f0c1a97eaa9e71cb2e658019a055b470b79e322d31f012f73fd0f64e3ddd37136612d92d2e6c20d5c053ea6bfcb743176588cc576a6b9e22544c2d6f6d7a1be82fd6b989df8276769536339e2c1da4bcb384e345588308c15902c57e7be24ef914ccdbc95134806290431920ad0689ec59daec738fe2f61cb9e0b64896496bdf807a0a3a980cf021a6bda78ac9cc6ebf12bf3cd8ecc2af743dcfea58522d4fde936cd11de50f3a24927ff63c4e157f979e0c4f43dd3a3ce0e3d4969d91763eeafbf0be55674d35c18835243749f98fcd9d02f9664a7f054789af4a572ebb70b7af59a0da6c9d6432e565db10f97f8b83e818db797e686750d3154daae8c68b523ea4d370ba079368fcaafc777e950d98ece8f5077a221497c118a39d245d23baa37eaf0146e7017758a586e1056423e9161f8c354f269aac2446deef481d2cfd2a5bf43fb8399eeae5a9c754f553711dcc96e68bd87ad1b9baedf4b01d67a3bf1022c907c29f763f70891e337dfae38052e2d16c808e149e551b76b9787f4e5165c0e62b982f01d2336ab7202b3f0d0c9ea31eaf808f71441221cd5c5de562feff7917845264f3bf8cfc0d96bfde5975914fb7e27030b3bf30ec82c4cb145a4aa5ed234c75cd0ed0b87cd742909088a279539e5e7713831a9354f39d68b6ec633391b555bfd98dbd5de84626543cc1d97e4db0c7813b3cb4bce34acb8073bddde39788042ce80dc76dc830a2b50736e95020fb5385d2ea412ec0de34e0d09f0c8d3d9d8ec2fee6938d3cd780cb0f53f249183dea7bf4359aa3d393d17558cea859861b78ce81350ce4dd2c1632e58b822064620fcac0f72238c9308a8fe4928d81d3fdf67fdb6501e2b56afa3ffb7078bc2afcd3e1577c11fbb4a21658040c0bbb122eba9447d218caa63bb31c4084203eb509a09efbc3d42b59d38e6273bee5808155beca7ddfa1c4db9676b94a6d388a1e8ab64d52438db9bb1ae0226afda004c859d4af661f2458c51c3978fcb4abeafe0f74ff4375bdced69232ab6b55fd570490c5a56db83d8abc63d3aa3199c0a82a5eaee316cec32787cdeb636ee47ea38d2715b492c983d197d94cf24ea150cf6891871ad093cb7fe5f1e4315c683fee1a1949dd8e8d7754949a0f1da8687c0e02dda7209c0d808ac9b8fcb4326244de13b6b4b27a59ec15e91ce708a4b5e0d515b0476f5b521cc9ebb98ee7c161d2b9eec69d463bb1ba11c33327189d05ec8917bf7ee57d965775123e95da83156941ad1bc87e5c9068f949a4fadf4b5ba010f52c4b32033f789b5f6096451de8e05d3746fabf3eb2dee09a79f8d5960b1999eb29634b3f8f35a08cb2341d5b99ac370a7851c1912849895cdaae6a682529f1c387a6e5787c42cc02c184d25bf6ecc36e28104c16fd5f61197e8830aac0f09d1074f25d9ab79036b00cef007e5a142740aa29c4847f6e0eec54c7823aff706e463aa708e1bdccc8807753db7daa986fbe77f52e977df3d4892ef595a49821aed9469831dca80e3b18fac60d2eb5f9677882a0d157a644e341df337bbc00473c1c82d16a722fa2695876a0f01a29ca5353cba1be663bce335452bb34364ba0c91bea1243e10e41691094ef157a5710794705359402ac4b1ce9008b35c1922cc3a3eac4c5aec990b8e20c069ffe3d3434d06f366e43718de3b955e7f1a069b5b17c4019accb34685964d925cbf7211c7b87e67c5ac6060f84d97678992147497dd73466aba61937c938ec4bb90fb4a4b2599df20c0443b4fc05ea2548b1672c411f419a12905443ca9138a230e197e29abf6ea7da45a68eeda89cd7ed0497739a71a87c2ab3cc6b483f9f23b925ee5a57896fa7fe539fd48d7aebe1f7254e5582630933045957b51118dd629d78041c51c7bb6796a2f6dcfdecc8da27263e66acfaf3e52e91bc1436ad5425de5835df834c3361da29bbaa0da34b552051e4d3b332126a7b863f93669171314a1cafa576e3e4bc50789bca361808ebc7d924613475a6de1df3e8ce2c1b9fab4b6aa67a31c55543bd3bcd8b762906b18704551d81cb88d4093bda6eef9ccbe1ebce897a3e6020766ea78e9a5a8e62789542c090c04baf55925643a313def16d3a636b04272dee7b96d69d431c447c92efdbd1a54390fc53e821b2e9ba72276e4f4176c4457b1753cb9c0273ac10f4767cd2b1b25800ba0f24b4421f4973e93eab8514e037459f2c2de0a9779c1153ef24c02763a079ae01a6d91ff19549d7960a7ced6c3949814b8b48846e677871c5e747eaa21db351cc79a9a4b38ed79bfe4cb6917d2819d115cba83655309a5bc0cec7f4d0b458a0997a468ca690790f6d3c37ab414933baf67500dd7abd475cb2bb9aa3216a5c10957c2a9ef88d4138262f5b190e310827c757b86d79ec9f8f7d33af5bce51411a6bdb81562f9a9421adce5f5713ce28c7a52db3b3a9ce6f959af277ab716d725b389e939d892292f16faa629d6231d795e62d766f5cf668e073dd069ddd3f3ba8ab5168a5e69a49da7f729a4777f59e8f729c0a0aa395cfddda77dddea6858f4261ee90993edb34ffd4c4a798f4450b4cb38a50c1ecb33c95daeeb5de3aedb6ca1574ae22940415392d8141fb184c3663d8a9bc26486cd0fb1d8dbef970ba50e452fa1c45a14bf0d785ae9afdbff92e65b52548efae71cd857a4d837e0503a9bc170635fbce8d47f7047fab6d5f8a65ec654785dc670489b87498a64f04124506011412111d47d23ccf28c871cb05938d6b16e91fdb5b6746e5b1336de958187365825feb1f5361fa1239432be23cc893a8f78bd6ce4b1a954290a147b679919a952eae55304748bb9a3069dae39493cdd6fafde5c126b0104bb59b41584e87a3942901389bb2713b8d610369bce9cf798332c934de254a9145e8bd434de1bc8efc23c73eef73391f7ca89f402548c46ccf57d42fc9e3da67805f12f2dc9e39308b9fb185595d76e327eb7a23e637d5e4605c161deaf9fd1ce6ff4b75424009de9c889c0af11eb946340642fc3a67f3e6c878a3a340d1d4c5027da2e68a6b5aba7750e4745861a24102633132fed2f69178271e8944787e94bd9a5fbc6ea61f694dcd32ee4b74352c37317851e2d78a192e63e9f0e67844c7c38bce6a9da6b7650dd17b14edad1de85f0074d5ac3c30c1eadae6b8fbcd2e1fdae6c90239eac23808a1262d74208459c8f26a5d0cfa3efa67146585f5fd407a3f6f385d3a098b30c7e296a9fe7d97357d626743a1d352230f4182bce8b99c19527527999ddf7de00484554da8c9a514e1a516998564fd0c2bb494c458ba898919ba032d73f8bc848af98a6ee60b2def462836c76c91ccba9f51eb5a0ede7c5b9c10e59d106d3fb40d12c02f0df058ae1ec03359c19cff35d1f96c91b19c28a4f9795c515ab54a242f8115fa6ecd36de6a781e6ae8750b80a658c0074be03ab05a6be250a46a04f4b80aa37611cfd92cf95d3047c72bb863c2e82caae92fa7aaf7348c84ef90c96b13452809da66b6089a2fe9b2a67d46e8327a8c67eb86d2a7999c9d04023e9feb5c14616d26a6d21851abdb55f7d62d20d0402aa57d12f0ed235adda14b3f3faddc42f75dfcd6a1a7a1d431bbc088aff313d4fdeed2991593e5a94712368a65dc78dfa006a1b642b2231399567cf90f9f69d094aee1573211c649af09d55e82de610a2a9ed57ef42f9c1a195460b9646e48900939bf8d4164159d26ad0afddc3e3bc3a42ba9dcc2a7a8593af38dc2782941b33e222a9829b33546899cfe3aac3977b3b6374f898be21d3bb7f8c1efe066484f1c9956e22064a71d0aa3fa05f3935a573c464f84e0dfe4f51006e610b87283171db3e2cfff827c26547148436a279b55ca14169bb8a7499e279490d706eade0a5c36eb5a8b64e9483e9f07af3efa9b55b5e7218958cdac7a2cbcfc59d984217477e138ca1ecd59b65df6daf3eda69c6e0cbb6225778a29000e4f857b76b5adfab7bc8ee718eddba4d5411a3f0d1d8eae417b9dbee544ad4e1d113de70e076b1b1ccafc0d2a7ad6182b1f9f57318500caa0ed14e2eb5634522387530223abf7c285e41ef450ef1ba65cd5eb5c32a821ff4839a705257f5a468884c6f656841c0a47eb489f5e84af36c9d50fe868cb89747d7a78cc3f61fb8df4eeb68ed45acf356da69b48b0d296fc3fbd0a31ab010f037daac3c3b49eceee545cb998c375611a2fdfef424301cfa26aaa2f9a71c1f66e60f2c5869fd1b4053c79b7ef4102f09f22a137bb458304480bb0741fc50de5b611359133fe4de19efd0f85b2aaaccafc82a3f2bc246a6d3ffec0e0595f0928b9adaa42f5ab93cc774c62fd7f6b28e0944fe4b00b03dd5fdafca23b2ade21ac7f4b40065cf0553e2e790531f5f8c46828d583f42af9f5b28240946aa3522dba9aa229c9a304efe3f8511e7e877f9cadf1048c0947348a264cde062f4d15b4bf2e0286db4a429a35139945e167cbde359dca73702c28947d7615a4efe6df6ee0332f8d5c0621c16189fb818633fd576ec55888af6972c0c622e4c505d66e5d47cad9eed80755772a46060f3bf7b1f42f6904014160a183d537fc7d594825c0231d62b608bf209fd88fac7b5d3a4b0876c3fc0f52486639dcdac223a6628139ce141ee5d80a3cc43ba41c700af1754794ca57432e23a451d5495f519c3af11e7e35942c9cee49090b75c384a9ec723ca0f6eff67bcad2583b4b61f0d5ce953b98815547bd1bed34d10addd1f2185d31a106b4afad25c6db085d2455fed782374c1d4c3429ae2e1238196d9840b01d61ced26de3e390149de1aa929d8a8bac6c2a333d2e26ba6b065e611f1e61cc225c7e2a624752ec881e7f56a665cbc234d767b91e3f3142d4b7a8b92ccedfe29575c7b7e7f97d8dd4b798eb5b70934b4bcf02c40445960797bd2d6fe3666a3acaef17f9fb9f9000000000000000000000000000000000000000000060f181d222c3236","message_root":"0xe7ea120f0274c87350d7c1fcec94f9066940f2dbf96ed4848df3406950855576","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x9288172e3bc10e3092e8b45246602cad8af60f06edd69e452b9ff9655c23df4d7c06e2179e61d00643986ecec13364eba1299a12d33f2eb61b6fa66173836d9df50b4d7d327d1b34335945581f54febf7552f25e01921a7be090a268f3ab8e8df0a69700a8aa1c136b7bdefe0d05a5e84bba4e5967c85f4625eb5831274218fe506157b4a4cd037dac6d7a66a862ade176f8ea3dfd7498434319c18eca2d6bb7bf1f9c5018a5fa1c1a123058fd05ba077f41cce3efab0f873786a615be3d2211db86e28fa52a86ec17751960f02244fc9b32781734ef94c6a6d779f41ff0c4a4469218635bc959b8bca94d32896ea0d49b66dfaadd914fd357abb36c6d2c4fe82eb87f2c7268ea4f9ee2337375e77e8dbd35c6f7458b08854af40e6f238cc2ccee54039c5cbefa63386b57d33139ae59855c4df238c0f622cac91a106dcf90fd09cb998c85f44d9ddd3a7f0518d9de3eff1d092a103628cf1c44ee1388b290e5a136b161c93067105f6ed09d2e648e6693d74acbefa8c092fc8d5e54e4a0a69dea51c8e52e93f6f747e978ef8b1c980fe90ff7168f6b86e84baad47376ce30d40171ee955a2b8f3e3d6a18f1821a3c7867cd0f2bad6fafa1e2005dcc9338bac3c54ac3f1cfdb5c1413f197ef077d18f113c4a72a7fe22df042987c03a697e1248eee550c213ea00b65c38a20062008092514a65463557ecfcb12185eaa4ea8cb7768de446aaa35581e1a58fad58592c15ee0c426867b74494d9dc7d08c22fd320070be51ba66f7dfd2f4bf3703beb4da5ce17f13808b9697caa467a10d352e95a8cfbdf2c83875a78a235b4d77b9aad2be39c4a1352b2555746be4e8c79088b2463f721b108a7d71173b588e0359dfe59e32d7af53e9a78a951b4c5aae81971a83ff77f54f5412084207f2e0668354f6d41a8d542d940494b5b46fadc4d10ad8e925499a23c8ff3e2b65ecc8f6df6ebe8e5c78d4fec483b982dbc30015c504321f3e1942bf20f245009f8faf140cb4d2ebf3052f2db8b372cfa3058039c4425a0b0a4bc974f76abbd673697036f8a6fa6f7d75166e625e69ae548db5e6ad62a246439e506f1d9f275a1b8820dd122376282334ccbb1f29cad3f8d5a51b10dad1b25442a86d32634e7f883346e37f5a7a77a554a9ed2846ff033b4446c8af120a4f1454b3bfb903d5ec6de6275d04c9a430808799d96643a8b48e51e9165825d108bee8ba07a636bf894ec76ee0eae6125dfae284010cd3a3bbef9b1ca851432e5b91e9db7094a15446c235b3a291236661b780ffcdabf51d2f4d55ac5f68ac094c57b4da968a225eef4fe9290ee5d59d2ba0466e4c607435fe74904c9f3e18b9eab5d633f5fb49ac2d7321a3995dc176a9a212ccf0a6df68fba97502a0a2e679dc3caa330c641a3076230087d6ba469f90d298bf407ac82d59cc70724aed74b8cd60b18a1107ab786c9f5723715aaae7fbbaabe203fd50220d9f3a6b5c3a7dd0f6d7e665001956119f771dda8c9072845bb00ce4372028da5f0db48855f80fb69d9d501120a56e161e03c21c0931eb4b385578083a4a13870cacb97ebb847dc9ba2a7d9818253eb1f65a25dc4b1f57018da0db8ddd1e2486d4e82d739ef41b00d63c531e859851c354c9e131df60a80c6e93f18086b6428ded0cac2ad20895438fe671c8996a8117d0aabd303e361e8cd2da8a79359ec23660c126c016154aade6f49f16a6c65f003c278384a19f6459b07c74fe53d4a49f1e4ba9d3ad34d7f3bbbb4c42fde2721a56ff413a17cb9db51f6ef59038237f8cfab350dd02415e94c39607236e2d3634dc49e78f86bd20e7db28538e50da3f7cbbb0b7c1d5af2ea0f643ff87889735791eb20e5cc1d3d7208409851368dd8e372b8a105b62a0ed6735db5e57b517785483a3212646eb220581bf4ac83f6894a74dfb9d949a7949ead973a02e788542b334c373f2493df94b4f9dd39f4435aa48dbac89905a251fa36a4262643ff080e5d9c9e200040758ce3b1ba9effaf1f60d9c66731738ed989fad6e80ab2124e78dc2e0d77c483dbb0fb9782d7764655039eae67b5f2c2af2b300835951246870974dfa4251e489b0f65d24b9131fb213bd31d7cd6f867024e3564e4b905cffb5fd24f45dd3f6e68037e958ff90157634f8c4f40e35350b199f1797fcccf8221c1dfdf2a72ed8aa3d7ed3851ea578f33d77239965c3ef0a88291fbb659021b055d02b9999445f92a85da0e41ba7ba5a70d06b6aec299987f1c412f5a9eaf4e24555e33ff0fe35fd8eeac081d52003b9f4a2d26ff05184ef6031b634493bb30db2b692fc33df11acbd920b1e899b50a3b9c1a4bf18c6a8dd87a634fba6dbb13b9a055eb94d7661de4fe61786b35799011bab3ec2e6aca32706eb8dc3feaece346b82c3dcf54e2bde9f26764727075d02f5141989a4c47d047a27d247206fbf074fd764c80d153fe4b342b47622ac19dfd1eae8f5a56aca05867fded7504f550c42bb4c92bd0e1839ef37de2ed9af96719f307eb6115cc24fa7f74a26710785f61925baa45d562d6b7143652485b0a70eb0cb151893641eeecde40a8e822cdb2c700b95bee796ba63655cdfe653ffea8983cb9b01baadfb8ee2bd146f421d255c7cbaed6d605de00dead94dd02c57a97ceff46d3ab8d534741555e4d9532df39becc10f5611454cdf2ae982b9d97181a062c239ea25699c235f3cdc88f44b4b13db5b96da314b33e46692d186f9b83e2660a9ddf66d2bd556f1ad4596548df700319fef631f90a1913a3eca26b850a854d120bea9ef5c0223fdf0b2d6b9a84987589998f3f56a58391e84f4061abc0ac5d28a225906dca70bd2cf92e94a2df7c50c80cf1abda08c92139d8b89b0e33a4dfe550a90c1829ba9559c1fd92887ea37915e83d0e5c6da2ceefb37d8332f12c0fc4d6459820422477e1530cd7c7a3536df38ce96f6b31a9354f9d9e298148008c864790500e0781cfb0cca74aabeb08e3cd3829110b7ff669b347360ce3bb8c1cfdf927f8fc812c400ea55a8a49712b42589a8210d1c012f1e16188e08702f57d756e004b4caefac34a8b9831f366ccb58d818874b2221fac37d2e39c0c0b7ff8f024630efc40bd4d80b38629d7bcd37e3ef1e3362f9dee5fc88bd321243972f713343a01653832723e311f0b2a34fbd71cc152658e6677d29ec215c315a60124d1b010d8ae0fdf5bf3551ed47fe778e05ee690b14166b226037fa6b6a652d7f69e68ca179ab9988c76888c3911e48275bb4c887b790302005bf9a4686de8d729f52827805c6a09280a001595118b21f0915ba2b5420cd5a81949dd5022f3c2058a20045aa35910ce9ccde763ebbc66adb732dfac6bf11130c28cf556ec7c113b336cfc2e6d005d76e0c999d3b5510ecc1df281756366371db659f8d668074db21e641cdc5fc7dd3b5b0fde85eb71e6618ae2cfafa999308c5d9636ea05015ffa0af6c0f94ccd032160af0878c621a50253f1204d3e3ca1ba0da65c8054c9b9cd55d559a8ead6421a5a0e04c30a912c7ba90bb74dde89612f83bf2092ee87008e0ba7f2f2115204485d5d9865f0d3f2babe8d98a8727d4e58010f3301e8731ea8d52f5f1c5605d3fcc8a9d2aa0f0caec1a363210c09d7c74775439338272e7dd39a15c6557f2bfad436f","amount":40000000000000,"withdrawal_credentials":"0x003c486224c4324497c556c48349a7fc98149b953907dac9306f4bd090485a73","deposit_data_root":"0x6f925fb53c757a298c00e8c846d70c049aeeeb7429200ab8d4e9f8ea0b523961","signature":"0x058f33e1317ebb0897b8868cd5e42c571cf40cf4076dec1990e304ac78c42b7ff74f1bc466cdaafc478213d1d29ebf22c2fb11a77871b1f209f2eb8e2e31219bce878907f8c798e89ecb8ae34b4e571995a402662638c9aec37f8f0f4f31da19bfe076186040d50e9f53caaa45dd81f8c30a5b5d7bf1cc88cac08b7450a841916080b6111d7133035a60a1d5af646036a41f0cad73c69f569f0608657900c69a56722835657fe5126ab527db988ace1c712f81adf0ccab8ae5622e0df9ee6fc6d66bfe1f0fea67c6d8e16b7913eb26a59a94815ef130b92be94f0ce6455ed745bfb19643df8a09106629fdcb405c0300160f265cfc311c9a869cc401b7e5ed70098e4e6e2f024287510455e73e229ce03f2339d1ee9ac9bd428db8691a828b1f9b20a41240bf220ceba21d14a58ff68f991c895602c83137aadcd300efe6e390eb38a42dd0142cd124d21488951ae4f673a02efe13c0adf50728c7693d3820c754d0296892913590548a4a48dc8ef15c81689510b63bc44aa579b626da3cff111edd9666b392dbb9e1b02a529e0c67e797369bee5833c43b552b408129108fdd0d5e9235cf0191fadad035571cda908a7bda469513f9af661812321fd102f71aa7f184043c4b4c4a993d91db0461093cc2cd15c00449e74285c2b28eecaafd661a26873f7767db4d8b93f3b9b719ac6eac6d1112d9ebfe5dcb604940e6d277d980e4df98b95768883049864ddf3283905ed3cde1ec0bcb82cc129294af0f32286083ac332caa02d7689f37065a4da7d8360538b955b29559111b1233d8909f5b2637d7c3736179d0259668ecde90c492fffd0846de93817e189028dfde64c87b798e6a190733a9129340e863dd54fc86842562a0e6e1bb87781d73cc69a339a658fb666b148bbfa8e5626b51fd80b94aed06e05a2db04b129a3139f09351038993f6f6450cb204ed27796522fb85c96feab35d51680827859c2f41c42dc922b13bdf7718b7df5b6a0bf399fdb21780b0cc925eec5cf2fb1950440583abecc34480e4885e9e423da64f2ee7ac01d1d576d74bb771e699ad7e7cb18c2b901a4a9a5107b97a6cf60b984204f6066df4c552b2c6e5d85bcc720b392272150db60530e9382abb01dc7d5c8a7bc5610f7b14af1c8232c358e83f139810cbe4e3f2c97c662c590ac2edee6f9cf7088bebe79365a059541a8ebdd4236fca5f1bc93f1256e48209b79dad6dc1070644c53cb2f4560923fe51dc51c29f73295126bb0384ef8ad2777805955ac4d63cafaa1334f47c76e07cf9680a02744e4ed47213f1dcd13fd811a45b792e19c54abb3783e476ba9e70f84879c1bee75e07f649859573dd3519712aba650b252f2673e4a9a9f600b58f38b0be1e7d83d1b8dc9cffd5e3a5720c3afd0ea8a9f6127674829c463c229ab3e65378f3ddc906d4e222cc59c3f5bfa195287468d55cd58b69348bd5a33e42860f4baf652f65a0f03ef5d77eb5c609fe9a6bb3e06aaf38fcb1dccf5e464d658f9d8a4f128ad52c48443cb0ca1934b77d9ce5b9bb784535e9a3216cf36442f26dfcc37f458ce55f60f8bec364a040e1f65ce2ab25ccd19606e41f0c7ab4fc17b69d8f12a80426f16255d2ed1d22bf67b6eafe8820331e2571883db69fff2700bcb92a01fc31e351a630a1c86321e6ff253830d59ec37bb7d1065be0309d0990c0986e359d7022fcc998be3e757af9ed2bd76af689767407efb2d31a8a233bf4917c13e8433cb3747ec62424a09f3698d71239395853633b95f5145e1dedf16a3c2b946004d23f7721bea4f02decbb2adb6c8acfaace8272dcabfbb5ab95c076e9564230bdaa9a400f79e79286bb9c46233aead6c97c64562ef4f0defdea7406a6f3768b900660bcf899172faa109f8c37edfd9a2e27e7c480a7675c00c32560082d68d983868658a512d7baa4cfb3c3b0ef0f35d2c151becdf8d9497c9870fe7aa8689c1f21ec608cc52242d0b68058d122eec5a542679b55fd56e117f6884723264848dc61f550b38db4d00738f8e6d483a8b0e1b98b0ce92be2c8b5351d5bf21b1a32d857980291f1a95a453bfb029b1e1abb87936eb15182f44de1ed32b64d1643e7eb7e3456d13910641910cc0f41fb18c61ed1a0c1bb97d860433dec5611b3ba011159ac33ebc5bc803b94f8133c5dd71c683ad6b9a2b933f2c282529fe11bf36de85f7b54aa40e1dcca84eb1bb831306685e11c1af96c1b625024a605394da58ebcaff00cbc380c52345aef04194b692dff98ec084c9cbb8db705fd179cc714f5b4855c41521e1979b73fce19d280e4bd879cab958293f928e6b915f6b44df2025442d8a817c58cc701ac774eaa79692906cc3ed5681688c0c85bec75022756532b15aab81bbdf63d253355407907f52d2b57d3847fb86fea5541efb902196c42655e8f3ca0f2893bdb5ea1b2a83d5f16fdb00cc0fb50a3a70369ffc1812866de6b4513b1200ff1c5b60a5609336e209a9ea54f65f3565c83f1d810c8515ff360e5b2b594956843524f17ff3f6d0f9c08fb4604c0e6f9c5cbeb48f099cdd17d751a69ee348369dd069718e464d7fe583bbe6cc96e5ab3335cd80244ef48cdcbb78d3755078fa4ea48da8f8a7fe271045aea421e7043e58a3ee9ca7155a1feed4a00cec241a01b3fe332dfa280fe1b2ae4844fff731179847d03a2ab9f07f1611eb1494de813ecaad4655186c447a29e7f24161bd20a1edcfcc93cad9796e9fcd84ec7f30bf1929a1b30192578da4ed36ca449fa9f29baac27112b1f9646b059a23e94eb9837652cb48f0f927d1378366c79bea0f608144ba1c414e554a30f23af585c11b042dc888ff4bbf2fd48a58834eabf99abec15350b0b3656a624c223bfbbef28de2037aaf7452ca6408eda437ead613829975441675844f0c1c594220cb1d03c20cdadfc02efa276d57f10fec4c38e58b25e7cf4f5ddbc4ef1762689894bbe60fbf59319d757089a5e9e8ca6c72cc801c824a41df8eeb78d7fe0c0294bf1201c5580f9c2f01f88d08add6e2c30c53a87882caf8fe519287197fca29b3d2e4b661e19a97eaa1e5a935876753fe477982ae1ef7b6d7a4aa6d4b9d350904dd75bc0d48024657d082dc7e7c2d8e380183923b9a4bd29a7eb8c97a6391ac8d8e277cc87c7c6716af08cef79c59dcd2b4d92318c8ebdfb1a1461be50b37cca2643d51ecacbdb1b85be598dae95a3518697aa433d9d0b9ef05b34223d7861ca57a2ef427fbbacfd345ae1ac116599339b1a939866f11892e5bcdd3d98c946cb5a0de018c3b6320b5e37118a29b1c80f37dc19052107112286823917aa4cbcdb1c7240c59c0ad29de5f0f0cb19c9648fcc4b09c8edeb802400053a77847d31e4334b557e7802620d2966d3c6023270bd4b7ae3b0e291ce454296f5040e4b19dba2f1a71ecbc3076a306600f7b9579d57716892082747f5c72720e2d244505a971a5a4d390824f60c2ff7d43eaa9dbdd9289867987e2c6c910bef4abf289f810f73b68fb546061d7a97446566b076685b30dabe011e95454f81c7446860614a8e161b58cb05fe0d7ab7a54e2f3eb452c7408ac0e11a3aae35e21c7f9261d3bd3db29462fe764d8f8b7dd803a08acec8fbee76e7b931e72016b30aeab70a5208e59bf3c0e07074d6bb5c94e357e4165d142f07726995e36909277a67ea3a31a031934aaa36ae3f23faa6b1055866915530e6ac053521c3b4a207e37a32825d21126b8e6df10993aa98b95c62c96480c935a439d4d1be2e7c4f6ea3a1038956f26687050fb5eec3243dd2f86c276d39c34e7e1ea9ad6710200b3e3b62460fbf77cd0d200911a623b19985b882e375c2daeeca30c43ca1c9bc2db4f37245d89ac183ebadf032f68aaf78a064d250afe9ef0fa0cc238668dfe9bd1ac8e34affb09555439e81e203f8964fd31f7c1cdd1ce7119086e60c8c73f4aac68acda1a68ea228cdbcac3690aed1a41bd62caba410fec3754190fe480576ebef3aaec08cd7458308d83c8b06849640c86e42fda71841ed19fea23000b5a9044dd7e7b3b513fd94cae95d6c10ec2a2ae015372da632676b2fed902c07c08262100f1bdb79ca06a29ad9e2487b246bf209a87b12495cbd43c2d9af0a604b9a77338d9039f257a34184cda533a7e4a45f4b4c2ea26389179d8ff2ec11af91870e850656124af0bac77ee220a7d45cfb4db16dc3ffbc5d860a43a2e5677b578ed5bbdbb39a48bab0ce60c4b85f760df9b977c393a2b557fba99359a7f992ab990cad411c52fd6c7cdea57185f4a2ba0796440158a7e0e994ef8948f4e639c8084e2a97d72d7adb35bbfccf8107ad20f9dcb3e392b002acf9a3bd8323ff4eefc5140014bf6fc8754c877a3fb7628f680fdedf35fc0428d2ea7a1e2313d39a4301ee4d4e60b02a17ac62d58f30ec0c5157590a9aaf4362a18d88c1b2185ac125dd92db7aac8128b2c77a5e3d18160c0c34245837bd2ef0153290eb3894329c571c155d9007e7bb1aae85a0e6f2f9b784e4df2ea7a75d2e5ac5f5f5b642ed89dab207882b34db7b452f4ed27830896c0f03841871a69c21ad1bf763e38640c984f654c7bf4bc4a1c1b79355a858d62bfbbf1c57f62a35464860761868414f65fcca46ea44e47654b8b507cad8c0c5c703c38e04fd7c5bb03591c47c7d38c506ef979fd91c756988d6ed8b2216afc826be212d710a778e5e0c392d3d779b329cb57373193e7051d04ed688581c395d0686b0ebc57d2f3da65020b6c1acf28ce8e83029b0175566344245d74e4c026c22b927f7d6d38e024d269516491cf83e5908c41382e269dbc3e9a69e353b50c0493fe357d3c2974a397f40b3c6de671c0da337963c8c52075b6f8c13045f6338c43c1389a0f361fc831f91da170319927c2f3e0ac5c6a0a4f0537e277e2ca1bb55a235e70dbe96bf97fbc5f5b24e6b6200392cd31aae880212fafa4cc9c07d77e68a77baeaa261b5234dd9caaef0fd35cfce25392bf00640e25142c1d1db25d028fe2b9904e58d88d64998d8d7ada4758c8dd31d8565ad7c863b3788b9df9e0a93bfa6ba0207e366e1179a4626ffa77fe546f33154b8e283ac416ec87973d397595a4b34426e7ef06c46a7f8e817044eb34a1c7709a7ce615545cb21a2c2538a00094de84da03b50ca246da5d2c8c1217057dd55eb1fdddb79e2c74a6a45ccf332dd2291a3ba510201e74d5ab93408b26065602fb681bf2f51928d65a3c093ad0da1ecc18ad990f52d024a12653ae3fed0d150a00000a4d4c87e55fa9b7b4336fd21077b4eefa58c404b23ecfea1ac741c9a13378547ce858c6aa7218c59829d6db6e2332472a3d0940ae383c3263239f372368d3482a4d1ea09c320c9d6fd5f6000adc0841999824b8c9930dd359ba71ef24ffd884b4fca428ab3a06750d1185b5e825534eddb8e08fcd7bcee0a7ffa2fc1c60f929b76c42d23476f98f42535fbb5a6fae923b6f4fff51ff9ae5e1649d64c21877be7ee2ca380d905d6f3e5e1eb0de9aeb806b487cf7ddebbb598761eace1f4be7f6511eeba1a0e2fc9c093224aaecae95a2dd33ba33bc5cb44addc4f179afd775258be9ea051bc620743c9159289e47337863fe4704a274858d5ef4f4fafe3e1082f68fb1def67ae4bde8cad3006ba1b61ad6ae4773b49159ac968ba33e677d4b21292400dfd9f5adcb663c63b5eebdb7ff18c4425acf93fc1e07565117764d23c25f1a84338bc63a28ad9fb01fd49ffaddc55aac79fb02128967aca1c0b6e21d2d9ef4f4ea978209cb24c28db4953cb73f21c36c3c04fff394db9bcdf17266b892d3cd4f9217824e0aecaa3481d4de29ea38b1979fe009e538bab236e2d57d3d56ee3e90ec46f70e1112ddbef0c34b773a210ec760a801699b02f06538f48444d16c441943cf6a1a01a6039fca98bfc56d7d21463a2ce5a01a6921718300fb59400fcab5ffaff663a056a4b55504aafdd0096e2886a1e7bfbf8f1f35c29d0b97dbc3ef28878da3642d69488c719ff124525959a5fdc87daa24071802c4b7250251ce6bc2b71560e8985cc87d5cb8c4504eafaa4b74f82002628f19ffe091d69fef139c251ec112a4abdfc07b16c8642f7d459b013cdbb0208bb2dced4d4d5d264d7291fb8d1b52e5986dfb71c981dad7669473c646c7071e7dda90d0168219d860b04937b33b54a610e22851e6f5fae96619b3507db377a871706094aba02a11a9b0a2b6d8b86f00d0a903d38a70fc837ca334a9783328f625f2d62685bb1b12b142f9b0afc5332c98af1e0fd39f3b1968bb24d1c0895b6084125d438b9108b5a2f5cadf588a94f91eba14ccf521588c161ebf3a48aca002f341bc5ebbfd21bf278b4bc3fc3fe9b4cbbf964521880a4032d0ed9243cce495c607781a8c9eb12151621272d59f2444b5b6a78e3f4051d2c2d4284cbfb3a5977939a9ba4e0eb1a5259708586904b7281bff60000000000000000000000000000000000000000030b131a222b3237","message_root":"0xd6f77f3244a8735a9f550dc620e8cb6a3be07ad3455637c76587dd684ea9cb7e","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x035838782f1cbac45bfc2d587ff8ef659318a150559b59509b227d6f7a13145d383e4532462aecf34ad2ced2b0897c9d54aa2148e813c08afafb4ee159b6f0d4b172e7427c05166a061d3069b5a169d78759cf510eec8fb4fae3ab22e5a35382addc1ddf014febcc6c37a27ae187b4729eefb2da17dfbc4834ae3e4424217ab832877bc492b759ee7e7044ede586e7eaf81efcdde14a9050ab93163eab0ad293e6f2bdb37de1260889ccfb4da98fe04e401668392a2dfe35b2c64c9a1f2f4143a1e4119ea0555cdd0947adff69e849b8294513066535a3a51069fa21766800c252f2523cee4f4c7bf82eaed0122b97111c219761ecdd5ec04fd7a6501088284042bb6c67637e848c7a514cef378fd6762f458a10c97274b2cb2b358c0325a4efe2148b05fc77e069ddd05a847690eba6abb86df2ba08ad76bcb27250746766eefd71ce56fc577b9887dc78d978dde7dbf4ceda57b328f0db07c130edc1111a72db3a838b23b7faff624641e0e74f5da22e5e6adb4db7331d49efec9ac03865ad2b6c95c96afc649c482f1855b84374ed9a03a661018fa40a6fc1e97cb5da0a0ebe10d2650d6d979c4ed9d20663ac95e0eb2c703c47fb399127ffef3f398139810d0affd8795f47d813a3dd2f97c197d52c23178450fa3533b8708c0f1211a1f3311f937a782c5f926132827636dd419a9a878b840db31e64c8dac16bfb971632c3842bfd672fe50d6ab081cdc272d62e6d8b51dff9091d416bedeeb7fc3cf789d7aed9cbfd81f98a29ceba9f4cd9dfc1a088d0c6d7de8534b6059eb7807c591a2547e8999db59b0d85597607a1df5894b85931c30d5d4a60c8539c37434755b77959f9bb7c68000110289215ed191bd31485c92be4ec40d2054be406d002f2948092997684f5776c49514db54efd718b86a487328b2d03e7a940a8ada5b5664a9f6dad2121d1ff93e0fed6067cd716364ee04ec7cfde9f013b70aeb636b4b78c32b0b59f18bb491015f8908f897146bb3f52cc2954a045a1b130f211c00237de3f5c8125aa9487b6b1b9016bc9dc3276149f67095fee82d6c0650d38c928216f662d99a5c9a7e0173eaa2a59c9551658d673b77c7ef88c4cbd0dd459311b9d10e550893ed1f1da4afb76e0a42f7512c3d3f1c52ff9c9f2eb38f1cb96140c9c22f6755d1f90fa9eca7a93613a70e82a018cf3569157a83dc68a404c185b4c125a334a7e322899fd0485ac7ba94a1b8390b2b62537ef55cfc8030cac55287e7269fbb18c3bc5125350f4ce4271d5336feec8659e7e6a3df87dda86030f37f8b1c857f3672e411fbf0e3dfc84ba546907b860d262cad8d6eed2541d278578f205a97e05874a5fbe0caef84b9bc3015c0fb6c71beb8f3f6b8d8dff8ab7aa91194cdbbc64200bd88590cc5a077131e3b1cb7584800b852a2b620d1a83eb49c1fb78c9f587f712a0e5d6d3524cf5ab67eb6fa53488d3749b5629ee4acec1bd5e830fd791eb0aaed65cbe241f747d40ea3a954f86f01cd61edc8e7617aa41f752152255388fb806eb84f053bdf718f85391ddf0d119caf8c6232b04c9850aadba9b5f97b9a7701365dda288c360f017fcba257f1e5e91f1c1215af305cca988f2f0278bfb433c7bfb7b65f58ed28fcd7ac10f9eef5f670fb2bf0bbd1d1c57f42d3c754c21e4490be4760ea4a44b83864a9cbd22176fdc6baf46a81de8f702dc7552f02f5fa12749d100adb6f29c5427c2ed3d9b9b098dfb6ef1ca38ade2efbce9b60c912449d9f97e3b97be01ccb8ea6c388fcc2d04c2402c4aeb8e0b1542883ac10e518d0af3b598cfb00995039dc128da488a4e1452bee5b675c8ef0f9e97bb1de81b6e12b12b7e5cffcd2bd49c642a2661bb013e81bacbcd33df6969a823f791b1b92ef430ce873b35557f69d266f95912aecf03a2c79108e3a5c375a0857b5e74553445eab8dc8cb01108ba459567126539dbc18ca9314a7110bc751f63e906884acc259eb9a21b2873842ebe5d8b07cb4b6487df03217af127dff19c98125b00a9d6f199e9ec0c760f13c72fe1abfdb243c00895bf88977cc362407c4da008750f0cb487ef0e6d85899b5d02e9200b9902edaefaeb12c4bb3e1569d786cdbaa4426ba44af71a34b16b86b2bf0977322af46266f7806d2dbd3e1be93787dc4d2e1a5f4ad29c33a03f8315d06ea4343159539faec2dd43a7e75b0933276c1e2ea264ec7965cfd5a7efe46d16ccad0f830032cd79394b2144a0d23fa03bdd6f1a4491199f025edd438157cb1b4c5d0bea6243e2c09f5ee1cb9ac5725c9c84b9498af8355935e9f5307ceae62c10259f1c73f87dbf6a72d53192fdd7866156af0f4cdc4a3b339e9e7a3df8c2c3540d80eb5e9b02e88bd42088beb345859efd4300eb786d2863b2044887757b52b1b0aa6be59ff129721093d57636db126782b981bfce0774eb7015c66589f6ba7d0303a6b5261943c522fa4d5b6c9747f9a1c866b22106fc64f7b1e84c414fa0cdb8489ccae7fcca5f18999b8e4325e92fa0fb1dc454781d96f3105602b35631fee7bd04b51c46710e15c7e8e9924e34dd1a79eea98cc6b4b1b5eff655f60e7044492215906b9152fc213d9d7f834f87ffd5ea4e12b1ac083fec1d6595f7e6cadb2fd50887cbdc99b0b28e7989c50de6d857630578ef83c3f956c6a7316097458f624c0e2d755dd2c919517583b3e921024d3174ff0a9a9d029ff99180cb770c2ba062063b162a6669f01ae097461319de84d65c7e5f1ca45049fe8774f1b7470d7276fe95190a4741a25c2dca6cc92e4da3180523a563e1c7f10be6c99394b4af75d9def7ad99701fd4d27103310c80d866360feb8de59af62652d0f9d5f0c98ca08601330b7ad551858ae1a3fc62a266328da708c9abd11291aa015e5e651da1f37b308925fe6fe0f7c63cea7080af7eafb205d74d795ccc126292e6e3cec635e6b0317ab0ffe2b65532754c9933b62b5b80133e88f226cd209ac45d044e48b3284be777f906ce7921479f136b2c690824d58883d679c643102e91c260b7843ae8c95b668b7fca4a704e8ff7afd86168ca4a21d8ef6ddd231901e50bbfa172fa685ccf68ebcde3b78d0832e797fd4e5e5e826e471fdb653877a8ac888695868585b07c8927600a9379533f92036333b218f5e226a6dd2d707ea478cff29034816f66ce2cca6c7660d9b6aae30dcc9ef6cbe1c519d8de63dd50540381d206420cc794b8d739df0228b04ff6a24f387b73a1f299446dda61d16fd7feba2eed2a32bd99c501b8bc9d9522c446828ebacb4699432961aeb38ab6b7f6906688e9687fd6b677c5d9f2423f4be9be9c237bc565d42ebbac453cb94837a40cb457bcdc72796ee1d8adbb8304cc83f8a720707a84fb4022da40c96536b70d265c7dd009e59377b781750d85a7c942af99ebb428631d6bf553bc89dd9ec84297394d5cf2ab89f1e4e83f86544e190677ad37a5255387e0e7bc40f637626eb55e321495629a09920deeed83dd95fd1f028234b4a140b29191bf78eb8eeb4d7d01497d9b81fe3b4d1194568aac614d5317786c72cfd1a1e486bc9d151c5c046df5544e7c351b7b5eccce656eb012770a77361df64102ec4198d97688f7b08f931ddfffb5b6151ca6cf0e6be6b29b4f217674bee71c7700e5020aa5","amount":40000000000000,"withdrawal_credentials":"0x009c048b957612a9115642cd73058a1732192b98c8b5ee689331ee419545966c","deposit_data_root":"0x1612dc584d8b558476528c62b3e0583844c61fbdeeebb9d45940516bd4b45dcd","signature":"0x5d4e7a4a81f4f95b863af97499374e478459ca78c478bc4e580e18fe34c3306be1ec469ecd4d29660bcb7b2908825794726b68a8382ddf0f977958e00eb29ddf020d598cf3a41ee0066efde73cee0a59bb0702ddcd7284da09e5c9d2df8c9d2502bde4af609bc5004312732afcf5b76eeddb90c463b8d0b7ff7ad4054be245fdf46f5ebe8bb90f0888e47a64b6b21317c0ae0542f36cbc9b364eb2978a702177555840110459c6d2fe04e7d38b2f7ac6418b0bcb57c05370df9513f4a51b6d00938db1fb438b86722a94b427cda0f96ef4d7ef30c4818c903073c21bf2edf5428842490cd89a4cabb70c11cb73a13222a07c089a260883637f6069338a0748650d254198f111b3a298340d4378830b5e4ee95f70bb13de05c4de35b91a47a2b69ea27efdfee71cbedf58c329555b483bde9e388f44eeb74d7c5d3aea4b92f50c2df117a17194096f4fc8d64d3d3ee118b284e6db32113c4e7048a9de4550932933a3b01e5566cdf07062dad0032759bbfde47b0fe8d62f3494bfa0fd0959384e191996d515d942a783e274b64190703e332b6492785258bcae830fe574c50a8d94927cd1da1572ddb16b09df3807e25c8229665f4308f6ac4e30c84a4594ec23c644c908f4706803d7e9831b6694f67b89472c088a4fc802ef7c2989ac04de035dd8c7d9adeef76968075edce98b4135a2d839db8aa0bad88718960f3043de43c8199ecdd6edb21312b6d8f02845d8cba6319ae0f824b6407cb5dde4ea7814a46aee8a7e36346e8bb90402d41c2973dc176cb68fdc9f6fb216926f09a9e35f2ccc6386c46544804d7e26e5aa6366502d7dc7b5f9927c287ccfb197ff04bdee62679590381f3ba3ce98f137a2b803a26446005ebd13ff935ea401a15d02298eb3caf7824b833d9df1c102dfff27e3bf2c1b58fa46acd8f30773d94ca253e105368fb8d60de7518aff4ee4e7e55e146d6e8484e47004a79784db08851238d86c4b6ab7be5fb6c0cfa4c70f36716cbf4d390ed479fe354120e8ba5778e96adee4af648723d3cac80a452fce96524020b8e735ae95aeeffda26197bf6cd83940ba34996b458c1a6b4746cbd9ba3136ce2fcd8224c65b8b46e3ee38fd8a3514292a85845fecc66048e3418bd1849f83671ce1300253febc5656e5bb213b01814fce6ffc5a22c6266b472253700f5a83ad3cfc586d3b54a966dbd8b13cfc677888c6640840cf435d06a1e82b34ba7ad5b20d802ff2fe8e6b698eee634b729c0b18401de2a97b1aa863eeb6fd38301db21ee677f7446aecc95a63bd3b076f3057f26b70072bd6a6f73abfc9d0435d7589894759bea22416a1fd10f772cb33c99d6cabcf88c8fae86cffd5ea67d7168a85360aedf98aaba076e688a6a522a74f16a444c8216d8efcd0216acea1343f5a981c6ee8666972b6234e17a46f2c159ad60874d8cad674f2208c156ab267afc3cf92dff83bb13920c404bbbfa692024d900e093df1d4b3d3f6aea37aa547debcd6f26416b2fd4ab105f29f704207eb84fa90bf6a0e30de23d9ef696eb7ebd39accec189e1abc223ecb06f3fef60341613f9a03902dfb0971c917edffa485b76a9216c4d8a353a3a53b13cef0b08a9b51c869e39537319ce674b12e7d67f36e241d188846f91f06b0304ea933f2e3fb38223b01a7996553fbed3c23a08c3d130ef483ad9d05b49c2b3571e3fbdaf7e92c226848b5cfee9cc851d8096cbc74929967986ae15dc961db8afd254fb5d22c6a1caeff00a4ad4503cb3ba2976c1291062308d2ed22bafa5b870058a168e026f05628d84dcf8f2af1fbd043f777d715eecfd4233e341c2e9b93f3d58d9b99023021773cee7ffefef327be96acba00a75e4a7617c304ced3e934bb82c90423631449dd21dd174c54d188d03d896b78f70e5280f880bb8f518b194f9cb24474389e07ff4fb27af8c040c0f7369e807668b7214865826afe0e644cfeed062a89889afadcd7e012ecaa5b04797664be9880af6d3b073740262099b972ba34a42ce3a2bacd14be6136d7a555f40e97da712b5c2591b81e15f3b700ec80f616c99eb747cdbee782ee3c3d19ce7f95d98172929446a3d45c28f11173b52d4f8a82aa857fc6d0ffd77925c65d15e6a648a5bf31d83c8c5ec17aecce2afec06a25e75efb3499c9172dc5f4a375fe661f26d7413bb95645fcb172441fb04c431f4437c2b19aff4f8261748182a80bd7eaed0ba7136bfbdae8820d5c67d992afc35311fb32d6220e3945229e801098d4ab2250c5557ba1c8263d1329510f9407049c7c4001e953a66774ab86ef706d9d5c7ec50498516e9a9d2524c65223d5910357bcfa13da7e1fbf097d5e92fb5d1cfee1f08ed0c90bbe01026923477a5cc5f9f5433c83fd56b0a4385fcef51a2d8b2174fe1f53f174b4991a122997619bb2b63eef5eaef5cc07a81e94585615aef20300e6c7c06d9220b4f4fe5c018e775e04819e0207b15c7f946f0f744433f52ecbf3d15f254aceccc644a10cc0af6e0eea11df71f9b22ec0bfadb6c4843df8a70177a69db7e35ae68bf10671d033925bed7ef0206348593dfc2055b6cf23171724962e362574b1a654febcb7662fb73b682125bcfd8fb97867693b59fe0c7fa564c0bd15b6055462d1199742a1f8131ca2d1822c2e02c13fb6d28fc61367e0d8251235b600ac114f0d23dbe0d2fd71cd4a7a2a0da30fcab17b9f0e3856c0d8c99b310d4e8815e41797da5926cbdf19cd57063b22d5db2106630208afc801f1d557e22064aa43eb1af2406e8e1c0a229feaefc1e461a8087a85f3c506b1d0308e909bf8a852f3df6609b301f330b40a80310f1db14a776b6dd4553a67e3a16d9fa478b318e97d72046504db4f4ec7be7a0eadce66b1f2d89046bd5e14a1fdab72d13e3d1bc5361e0de784167039420b85a610cd756bb0ca1f1f9f8afd58ecf69f4492b34cec6c7cd60ed6e6da53b04e4c922b475dd21416ebe63f306f9d5987a63d09e9f383e1f6fcc5009170fdb9aa1a2c72e332284e5f196a2638cd5b56c074ac454d18d1f99b0eaba0ca37e3a86c5487e296412208669656eb8a4ef0aeda6b637fffc5b56d64e409f591c9e6885c4d5c05f22819e33dcbb117d5c4dd7a1f1aeb23cf948ec06171986ba25a2912e2d3d58ac91f90492fa4f7e0a5f25c530126839cd13071c12e693ae90a3ca89c50ad624c1b878e66b62bf69202ed100f1b99a144a409df8e79f0d40768d26741a6688d72a45caf3874fb96e08430094a8869f36420f002a8801c9da753713935745c6ffac691726606eff50357d2e99a80805d6f44ab8c7f3071ae6ec232fea3424339a77518dcb7ede57937eaf43825ddd523d55ce96a794a2dd7e6e3051248e542787ae45dba194e138328f61b632764cb1428a1854aa7f4332dbcae571123261ede423929598aaee94afceb6d013b63fe06148ac818bb8fe0f2aa798fbac032c5b42cea130fc29545ee85f99fe6ac5aed01d178527b435c6c1a1b9fa9f920b44300b6f001eab63da8b71a88c1cab0e89e4d798a902e3db8dcc157422a387ca2e1256895b39800ceaf3a7db64106f0a10254b61bd35a8492b2a89879e56deb4afc9bc0671fa138856b32cbb5792a1dd7586fd1d96b0bd6e2d83a54005cb2b7b1e0865bbad36bf1f453b17da46aa4fd1a9f4461e3432a3af9e383c2786ea645301bb41b025ea00f716a204ea948777a2a3b5b9144e0251d93e4bf673a26834e80b40257b90e0bc605c1b77f168c15c8517d94c6aac2ca4d3d3798b1cbf3c1f5d1938a5255aaaf15c74ce72449b0e7b409b80b835787d6a1b4a7226c82ad5f27e74c911d310f8d2fa14d10008c232a812fd7400f06fea18a44e26322b8ee6145c8a9b4e6498c5cd5c984ac639308c5825b81a9d0da744d245018fb9f12356fbe727070ecc965ef38f9c58bd18c13ffa8654c732759433c2d4b1abcc4773d8b0ce5a231f72543039465a0f2f010a043fedcce0bc8435def58d512d1bc4301c1b1cfa32c23198cdcb22633148ec0ac36a751ead906ddcc3891a115360ff12fefe4e1c92630ecec0f92c6a9bfeef487a057b483c0ae3d10af6b8a1a51b8d2f8d807dcd7277b7a1f366e58234f1f7f8ac8a362189f729fda2d011e6c0c0643ed6a4cf0672ea515357fe6d6bb52c65e1f07c6d977b22c355b360d8eec3352b8888383c31959b22f74e170c57a97b15dd92db59806c145ed386ff6935e72a56cace4257dd7b074fad1d07431791a238964b6f4fd779f1f332cd45d2f9435a85e1256ac66f249b934538a3f5bebc83283f5cfed0b88873c22e49932ea5eaf023eea7752fde5654313d157861472c1117b6433a25a40db379ec6d7db6d18ec8ea13b7361dac50481485f253f9efa6dc829c61f0e2b38596d09bc47565fe90c547c84bb9e300f9ecbee50c3e38d74efaf5c5e7ea2575f5c905c79c27611ac12df049ad24239e7d36d1d8e9f7f8b4d14b7e72201ddfb6c1efd5f4dde6336a5a67298b9ebf350da247b58d76ff980f0533493989d5a513d672fddad4b9f0c3095c2d7d2dd278f10160b6ec78237ae07a4ee0facf6a6faa6a56fd04daa2358060e6b23cb939f52d8977732e81128a0725bec2c4c96d3d43159cd98b43769c1a69bd4fe8081875da726438bad44f60ec806d74e80ce15bb00123785e1157c89ea603b2fc9d72662cc8cf7852c1e0e75f3f88c6d1f41505c926d4e1c7ee1b5f0fdf5b5f4bab0370a35d46870030d7105a948ed8c9f2b69af03a12cc1388ca574c8fc887809b446186cf98984cc67f5a7bdc205097556a64071b933410191fd7ba24cf84325f599f5fb512be1bd6748ca6c172f1972d684efe87a37ac2bf0de2cb3570e4726787104f7a917ccbc68768ffbb27dafeeb9ffa092bcd9ffbee9fa9b188e80b8c1f5082826d2497fe81f2d1e362df954123186d45337cc45a99930f9643206c37fa820674de7c2a6c6af6d935e5c9a37917e6c4fe80fee78e2cbdf2c8805c4d8185adbaef57f53adf07f87934759865a6232b1e0218b8aaa385b7dc880869b5b60ef5d516fe425d4e685eab6d04b5ebc4233946a8626282f97aafedbd52e87aaceb4bc4bb6a7b1d09521ad447efa732c97f9b5bc9e812d93a445d025870dd18fbbbd5cd7833f8689b918a7e8f16291d0c13701138e5ff38e5441913e209f6d02ff842ebdca684784dccc7d578e00765b2da43cad73b7f895c3ab0336f689d591aff42041c2e725a938610fa1d99ebaecffe8f86d79546c2ef2022bb317b95a448cb9fe7436b4ce5967835d4c83c01a0f707c76a1dae87ccf79879d1de1648a5b67dbf39555a9cead69126bb58f4b8e0dd0b1e183529ae82350e2d1c417ff685ab595684395534376302482ee7b065a09366a51bc533c0ff07a729ac57d8d9fc1c8667f708ac5bd16f1aa6d213e98b098fc0c7228079799f0f8d0c88fcbb68fedc3e4006c54f4c3f140c24700311147bb7aa816ff97a6f91faccc85f474d9908478279cc26f26c46f0dd753bd6284b89069b7706f24ddf9172eb6bdcf37bd9dfa21177d8097d1ae22658154a0808a71ab9e40501b0efe00237f2d8819a29e31793168e14d1541f65a2c73f35d2b8ab9e26d615f9a2b05285e2dda837e15bca9b00da3a6b599f704b0ad478d2529246603aeb732f9260be1b2bb00b7012561c6bbb2793d0c94447dc765211a92f69b7b657c9ff95172ee5adf0c49d21e3fe6dcdfd036141d0b035570918a404f4d587ed2ec1992a8b5ce2e3a8469df4c6fafc0881fc2da85377cf9833299ea5fe7bd2cd9910973f0818ba4734b1c036cf4f9b6bd6bd8e05137c31df2b10d592f13c3095d2b53ef94b26849c6f1af13036978feb8e91d3c5d551adc1a7384e36dc8a7b7bd1c1de9f2754fff92dc71033aec1dd02724630d2bbf1c35f2e09aebf80bb8635b354244d08e8d8467340f4cdd6f2769b9c73ffeffdbe8828e643d62a2ac41ca823132fae06df4ca526dda17fff095d0da8c6da7d1fe396052ebae206f3e0842d0525e2d2986143d43d2c7213acaabefda14b1ec069dfa4c0129319995b5701b8c94e43aa1a072ad29d45dfceffa1701037e070217939811da0085173d03857d9411d09556531b699351dc9c4d6be849b521d2a70499700dfa4b4e88e26d05960149f3d3d56a33ae95e370b398cb446aa2e18df575122cea2287f54d73a3ca452d574ffc85778fc0bd1b14337781f55d265e55cf93ee1975fb24954652ef84e958ea5e8b218ccdd74ae1ef8479c2d1227b8ad479471b69f78bbfb75eca93705099e057d81c5a40cbefb78ab9eaa9e78cce29b39399681a997798f26bdb1abf84df6d94c54b6349a7a00e6e1d518fd0572820b80f6916ff2470c492176f0014ff2968a2a5a7b7f97792b5d7dfe321273c82abd7eaf95e8b9cb5b7c2d6f40208577d86a9c7f36d758ca2d2de1f365c6473abc96d9ea8ca000000000000000000000000000000000000000000070d151d252b3236","message_root":"0xabcd6783c625bdf2818e3cdbe41525b81714e101b4dd483647710cc03eea8e21","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x476eb6c4fe82bd231abba56774cfa6da64286b7d30df3d98da861b3b8af764b5e87f915fdfca8c6dcb92c53b04ba488320f464711cd5f1d0c58a3bb1b92dae69dc96c7ea67d952d6e8f55cc2a6a8e4c6229a8669a74885dfebb2f9b81b0695b9cd40e7719f81889084eb71e3af86b78b0e49b583c02d377de1366eb4b52274140baaaca769f436e05e1a625d89ea3204c241cbfceb8f09651cbd45f16151b3a6ce517f38fad9276b924fdf26f7cd8e95b58bf67d08ca418af7cf0cf81ca77f1f6484f6f2a3878e65534e908b79c172ee1f5f3c33572110c9cba2141e442d1b3479bceb47f7d19b840e9b27756197862c5bb1ad43bc2dc6138a0b1336d867e1af41d5bd5dc25fa2277708e5fbbba14159d20b29bd61a08440edd44f3398e38557b9c39fa8be85297682880c1aad282443a7bf7b6f498f4e4b140a82c7aa7a7fb8194a82df7d6966fcad42a8a5393fad5ad75b3c1ca29a46fedc670c4b15841a8902624e85ab73ec636ab5a24b6e98bb12c0ae9c6581b09427d6c50937afa26afe00cd8904407b0021d5a1a018926aa55cb501e21eced61b7f0f6a2442502de5cbde7a9cc6565c2be9dd7b6a328c2baa61835ba72d0f634712784611ad390aee0608dbe24acecc8cafa4c38e796cfff8c41853ea4380e325783a48fac2a024ce77989b09d7c38e5be60db74b1bba2503a0445433d9dd7ff8942da25b9226bf3a9e2c88e0bcd0e8fae92e6563b1b3daa83b06a3e3bb6e264c2c9a06b1e1a46fda8be3f50ecffeb67dd43f6e946d08cd94064df9b1c004f6805d67ea98e7d774eaad0043f22149c462ef8316ac2cbd4349bb80502ec8b76ec684c9fb307bb1e337db1bb08034e8b58aa425a72b3ebcde81e3d1a9d13d12c694618e7aa5fb2680c305db756c5dcbe21bb0f025f6a11a8905539e564313978a0fd36647e4a6e7a4f7780800fd9a3b534ea4149c49832803f204054c64324be5161ad9dc2137e7af1158e6213b9dbb2444dc5a5f7277892ededc08bb7ebc1d1397b1c3e19b803e30f4a2a6648ca1b9eb156836a8f450af88b8b67cc2c0393268df2baa575a98323676dc4b95d6a5366281241674fcb1791992dcb58ae30ac0ffa8c92b458b9c86558b2f667a3bbffccb1969c00b0f18a704fabe6b7310ec70efe886007edfe2c71175ddeb43272e4923a2df887e836bfdac78776181ccd920a562f03d337f6dfdca079ac944a0dab4c5ab11990b9c531296d794b308094b73c206d6ae368285a11d75513947ac5f24f5876efc2dd9f7a8d87a527a32b025343d0d15ed3789179a1521a95006c52eb63619421364c3836d0e1dcc91a17bfd0935c2f493f1fd8d619d5a6e12eadeb35bdecb591d8981908c3dcf2f39488df341a826756ea81f714d6eade2ecebc21525ba6666ede947de3eb66f526835458318c5d43201d60635fce8c3c79e1db3e2790a7bfb45e9c996d4f7a717b2ea9caeb2c8bee949220b3bedae8cb73ee6b1d54fe5a84f6d73cfb094c98d36b7578e06d39b70e539c13b38662ff49a2420b08989ae09fd6b4fa0f9f0c8c92dc7c1a99a0b28dbb429d965e53e7d15ac9bdb76622e26348d12fdcf362ebe45ba890b9d857b47ecc056714e6d0a5dcd65afd861b625c60f5bd93fa48b764f453ce69e89607735ac84e1bb289e972032428908180b03250aaa41c78bfdf6d8a318d9ff83990fc2ef3a8fff72d8a2e56e19acff5aa768863cd719d741d3fa72290f0d5f32419ee45c22dffe5536f21dc005b279af8b6c735243260cb75229b05d71c6064f89d2f6ca9a4294c8be0030c8603f7da32aa4ccd8947b5a374b0fcaeaa5ec0b4df6ff1087456822dfbdec2afd769f0205de166ce4ffd6c9de469d8fa6ab6500d1763295f1aa4bad460c99b818383f2b529f89900478264c67cd02664f638a18dff10a88b9e03f2ad8359e394e3c1028f6a78c280dde78439ccec75184c03b1a3afc6679e98098a9f4cbf099e028918f0f29950b26f49bb67aebbed1a4de987c3e4c19ab686c2195c4e0aa3d8c783b8806a69b3d10b7ab8e19c345bcba2234d23f9e4022b097a0efc9c14a852c652c86e7100c68f2a21baf9593ae8871b7f1bdbf65638eee7b3b6b9172d8bc276f6068e49eb3d01a26eb0eee25d606e5a57e96bd3a13524e77d547f8a7afa1d90549f4970bec95d46d4928cd036d0773364e881e3622e12694f3abd33fe2bc377e35cd58b323ad642c2bfae5fbbcdc1697100ec4c1fe8a1ba1bfbf54dee6e3a1a72096a8a58b8592985ba6c74015d4c4b21062b5633d325db1d411be95691508dd80f246991de05406789de87ffebed96b0e490d7e9d8c9e3e348237bb621193d4844207cd9fd88a7fd2f0502b6ad35f46b4a8dbdf34113ffd1b72c3ca47d8048f6d25db78330c0daad40baa618314ca2705a6910f56d5a54d1ec48bb6a858db9e25c2a1e923dab8d4f94d55da15b85b9c83acdc3810e50e205bf1bd313dac143faee570dfc2cdf373b4af330852ad245cd3d73ac5bff864b8c1023c620f5ce2f957b83a8c508b55302d968cdd334831756d6a9b34e49d2abd2681d796956eed3986fa26c66b708bae8d6e974dbee8d48b6cd4530212f6eb8db46f5e8ddf6cafdf27d77bc90dc09e47c9b6c73409415f87bed38af07fa86d3a3dd549ec07154ed6e5e7d9084650b302f377790a2104c56be26ebae4031f9935b383fd98f06517e26be88c58c7a8ae043cb8219ed3078f043af69187d92cf3b2f0f819f25366a74c6c5afce65d71c8af20c53ffb80a8cd5c4584c98da5a140f4c3b39bcfa8e5702a2018dabe9b49128897fc49c6054276da5382c81465a22bc883e12488e17370a6d38e9aef1b142d35f1e90f9ea850f5b6be2bbeaedf37fb9a7ec911170e882841d359969ad6c48dc7910d4a54540be14d59c532f360f0a57d2ed299eae3e29e9fa1958b81bf922e441961d1c6eeca12ebe1bb68e291716394e799e1c16dc0c71d81b6df8f8c5ac453554963771a68df5b4089f0e78bb85c81e407733b7b1e1c4120fcd4ffee085b5f18f1a8f91be8f840f0aab05fad181ab383cb558329a2b2184f2d5a0f03bc5c985fe4161f21f987505079c525408b51add0090388a7a4522bee68996f2d01edd21606f99b820e168375a1b96e436701693ca313ae69cbf93f8343db7c4c626692d782b692cf0045feba2129d64710f5bbfc061a4701fb51b452e020e6fd2f1f27c3ecbf2eeb17b968be45eef2cb3aebbcf5c1f022f1fa9c3c860930cf8b46c1c5f85b7ac3447f83a66c3d684ca1f0b08671857e6111a3e7cbc36fee4dce097df09b76033653f46ae31d8ae11ccd141a88007bc46273387479476e4d3c553b10172d91f8f45ee4b435e9dbb2992ceee6b9c35559e7cd65f56c0d3985ce33d965d15c509acd080c5aefdbc3bb00cb6b12a817e62cbf421a0382228fdcd41fbf5666ef3d8198b1e9a45172a36e171129766071002052be2ad04cd506da12fad36e37871b1e0d91ea15421590d3e6431b6a43496a97ca95192daeea2c59e65932d897a8c00aa1a2b078d4f564cd8d48c2a5faa15d015af4de937a5ce6bc36d5f87f8996b4537cd7dedee848567eb5e2196d7ab94c07255f2668353155ca494429b9b8abd525327c28fbc69674f3c8f45323d524b868cbf4010d6d","amount":40000000000000,"withdrawal_credentials":"0x000d76a1268a8e2b21df0c571fc8dd8c87cf42f814df99d82679301ec9c4644c","deposit_data_root":"0x0b09d87fd198261f4716f25a98db06ec9d91e69369d70788d67f3a8fd0b957f2","signature":"0x1eda75da0fd9b013528059b7722e80b2b80fc93661b30a63eada4b6d22d59a4c3cbacd026bafeda2f3dbea8be592c8a774e6197ae96d03ae801ea0bba5cd4c77b5456dfad887f4ca539e79a1d889b5cf954737143ab46e01ed1322cf441504ee7830ffe42bd4b253059307a5bb53c4baf83966d949fa380b8c325d28ab7de56a09ad94bfc823a41d7373d57c9bf36f9b992e057852fe81e03678c7106bfde5a1fd0f431e4a0e1303afde81a69db88b268bbf3a19b2dda52d903b5d65e8b4e901c2a56eb0679b242cf283ae02442af3ff0af8cdeb7b2cfe03da963eebe2ca5677f69cba87bcd97a1f17f3a8581722c8dbe051b3f03d2549622ff0d25904683aefeef8210eb1a92e8c92d39b4ca773bbb2fdf6e0e94267d53554ca5b1a0d08cae350b503776775ecc6d46244d79ff297832874b6b2921254f78833a55fe951c501996b2f5222595abe8f791d600d5b7ae345b40d379b96d752e96f6b2280dc6b349467f2aaeef945ae141681352e04736ac147fa90daaf6aea4561b4407e28b4145666c2a48b3912948cde111aa8f61dd0839e2f74231177d949ff88081b659b1ffebe23e464b5259b38dbe6ce068ded6df632efde4836cc7286e2d69dc16eed651ae9851c0dcd658a672eb0316749e955a4e45c5dc0ef1441dae8a6f92e5ace330547491af7752e32d0a95203d6b5f6112c88231f04d5d1130be322714ad6016bd50be69275ec96c21bffa16e6dc991843c8816edb99e4fa50036059cb0b2f2a4130fb76b1b76e6b6121e38c56637815cbfa5c1b183ee2abfe01826794a13d06e9c1ed13a6acc7d243a568fa065840a87b278f8cb9a7ec776c3d843cd9a056c717f40859a9e30eee03fee141ecd4d75fd526b8bea02d3aac8667ba33db30280cda86ba7b05f03146a4915398cd10026a94e53166df133aa0a0a5ef3bacc4dca0f1a99c9e1abab36524a6a889c38e03db74370a9e016dedecf92826dd7845e80150f7c3a5d9486d7c2f2521a7a9ca28c82a0382e9804ecc5725b3cb573737401ac673027432da2a84b4660667929d4d7c392ea34b6e7e0c269eedbe782891db53db8ec92fa4756da31f283061da945458da92fff1b7ce4ead7226b72ebedf43771ac228265363c8d8d50bb2a3d74034dad05596b9dd30d37ea2655d2cc22da46631ec9e3732e532998bbc148256003cbd7c77386b5123ce636a5f62b27f4fabb8d0d720e6bcb9d2d80ba76f9b6c55c015aa220a0b7269e5f218426db2709fe01d682f16a822db999892ba586afc1c44b8e83f56a93b40223432f6a50a8437172bf8c4a787c6a5f068c088aa8bb654f58deb79b47b3ed4219043b0ebde35a19f3d6763696d54f9714f06da0d5f113cb7f9cb6a6fa50639341e29d29b603489f545397b64e14d93c712fbdccd91a22f076dcd2ced976003f763514d2ec64639e6a9aaf8c96cf2ba15793b7859f56779ba291a96374ee3760141ea1df552f17b515ab6b3ab333f8a112f6a239e7f8d75b658c0200b5e8e1272a15d52288dc22e782cd69f4fd2b6d88ffc3195ccb759eaf4371abc30ae2d01da2d9aacdafc072a75cce6c2c317961a7f7c1eec0b548b03a54c67dd639f43681e8d9971d959f2169a44e187ea66e1d09ebd35353b4e0a031093c494dd82c2343c51c5943c3c97048dbd99e6e149d52cfdcb88c2b9f643f33a03b1b4aff3e91c9eb99dc9c791aebe815549ba87923d1fde8228deec5e939d454aefd29b2f9363562c8d3d75ec8c4d852e968a71371884e5d47833004caa8b2c948d2de989b0736b3be2c9aca90250930c010d97e01739ddc073105f3a5c6effe3be7330e6a618a665fbc2e908d50f6bdcd73cf7a2159f200438d67d42158e658aa7074823e04574072ca1f966c5cc9cf30e2e06a6e28c2e33934744092fa7efe110c2dc563f26bb8879443c6a50f4f05b8d58203712674a95dd63fc144fd6450863a58f5db8ab45d1068e59b70465ee9c3e4bdeebc94c6e9185856ebdb7795c9a4e6ab85f85552f51f2e6caa5ad60948b12f5167828473a9d24eb467bbf636d7efad12d429643c9816b560865de6b0834b17890e258f201bf09c44a8768c3cce26e4cd85d82171c627022f9f9a4ed43fd2c2a5f367afc5d1be6d3897ccf07632155f1726269dee8aad3fd71c662260d710218f2813cefacbf17ef342dbbd1e82f59e4e9aba454aa1654714be2cf583b0669344a0b891c884bec754c139e1ff733a5a362dbe48173b5157badfa3604b55e5b6abb2e3aa366a62775c43055caec6dd9c63a4ac7fdae008495563152d4f21c1c770d1c689063fe415d9246b06d5a3267218c3ae1d973685d14bd85d820ee06ddbb5714e28488252f87a71cc65932b8f20174d9e4c6db10d5113f95a6099d047df7fa56e48522f922462c8badd852fe7f1f95f54e45551841871a6c918077421448dc8ca0d59fd543159aaced3ec2eaca2862289ad787c03236df1419d4d70ec1fa5c6c6597e21f50e75ddde6ab15fb15af89637cbf00a8f366e2750eba8d9b2f638d4a125bba2d556310a6d3416830886c4fd4effb071456d713598ecd36442f82397d6c892ab4645746b1944ed40c04b6e30469e04e3e4f98257865219cb96be7fd463d8e9331aa8b7bf2d5b41ab0fa2e5dd0bf9e9b6a0b377e7f79c413b4c3e4c087a1b33eb45f4c4612812718e2e5bc2f32ff94b44d7fc53bacf34ee188063d34650ebb81b6497762cbde29011024c5800521308d57bc85f49f10001c2c552188b88915dc768cdbbee02cd11542664b5ec2b6980e4a9dc0a8d517fc78db22bdc236f6b05154345c9ea6e734d4b94215350591aa0f57342282b4d9bc0021befcd031917b41d7db9d3d15578efce3161be87511a2a34ee3651648aa85ad2ba9ba564a1082e7c03d94a941414484efac09a434e988b7d519237e8b895d29b34ca791d0dbea57b6b5c212932c902e38c58ecca061f2d3ba70bccfde09be56350d8151efd925c31599cb0f185d95340400b65e97855c0bd03792568223e818534b5a2c08be82bc495fba99facb51bcb0b9cbeb41b74d609c54aee8cc99e89ac8da7c70303810870c8ede23649770f8efc8f6a7fc52b2cb342601e9cbf512299cf4968da0027c8100779eab01381c07e014d219ead4a5ef54ea4e1830072914cd3fc56f6c0d3dad4213b7fb68ba39190e8181f5633b13dd6312e7718586f2cdcd276552ed7aeffc7817d810a3e3730853e91b4ddc0493a7da32dcfca18e88381c0c263541f8ac134941e93b7fa54e81e58da3f01e7c87ebd3cbc06cbcf1ffae351b9b8e65ea2a23a19ebcc68f2649ad5f943b54961aab33b8c0c4cfce7aa8766e7adbce2f7af2b94a1eda670df4742be42a09c97158b5be24e24a79adcbb1115df1846cfa70464be48960301c456be97e17fc73fc2c49a66d5730e06c1c1ee527c65c3f3f9cac8fd57e2855a71773186ed55df0705cd9ce31f084b8bcc59ae3ff96083b17d490c49afb1a325360efa788b47e2af9f2d804b1792e9840cd86cb67209c9eed7a8e34a8a9cb3113cffe1d8561a006442243bc4384afc1c5e0b9ba53b37c40db154b10f25715353905525563ce394256d48c19d9baebb54a10f902125343f030e4e0c70582465d81a3099a5a84b05f5278a931dde268a02a00eeb1a0d036dfe8dc38f705863d8fd2e61a76ab56c67efbf4592f4a7408f8f3761df1fa1fcab9c11f2c03ccc2c58a4ae73f516dea87dcaf6abacab03443a7afc0631ba65a9e743bc323b0a3fdeba4334b04525d0841145eed23aa8de4ce14b1c23e187ffe3640d7f8011430e0cc6483be395eb8624388c4788bdfc56128736cae4ffc3dc7959d48588f3c29ab4de2c8a30c55835a6137dfb99fcf2faef5ddc77d0486dc494acba65620473745f329f1da1d7d88f79904a8b982bc225a9874b16069feadd147b0f7a77a2de64292b647221b7584e6f812cc318de5d18123fa6cdf2abd84ddff04ea6d2b4ef29e100876292da1f598f09f93b6422ecbaca29a21f5f23db5e247cf52be2a00937db010fa4d068ae7ab995cd4d65c8cc659af6ae9bb45eaf3fa065dda398e0726b3deb68960d1955161ea139796bcbdb70a87513bef95dd37c9050cd9ed0872e3b1b358170fe8c634ac3407dea348234ab85a2e37c56e8b039a1ff2ca6a89ca463db82a40cc736d9dc0bfa9e5393445ac8c6704e12faf83aa6dc584800365dd43a86b653ce3142b88f8f42da06177d1a278e82788ab69bc585148a047ae4852c7c924c9f56677d1990f94510256b2aa5d56ba6480405cc8794efacd3716a2df7b5744aab85109533e907f879a914072743df4e56e647563acb7bb1a11eaffe29a82315a0599c59ae92cd9c7d3e0beae01a5db1ce71c1c5ce4ca19dfd4ff8c88ad6dc658eb8eb85b46ce275283b6f695905369af9da358766f3f44b4404ac615e785d16299e632e216271682248b45c47e14b0e38fd74bf28aaa95bd0529b4f85d86f480cea07725523a7623cd7dc0ec2d6d89ebf8e4906d57337753a6aae1bcfa11a194d409c30bbbf5dd86eb92578b3119334ffa234441280bf2363885cdc1f955f081ea9757d71fcb863afde5e64a0d4f416194458ba8d29e3247ea9fcb38b13bdf44f79e09aafbbaf3d248af6a211774fb73369cc20ae5d11faf5db1b17628c1f4452078220010f4c2ce6c3586155cc3a20d736242207158f4e6e7031b9fa2557181d21bec60fdb03b3bdfa79f98133c3aa7cea94db91a08dac80d027e8f1fae79ae3a9c29479cc9e64f03bd682c21e94d3b082b12310b1ba37f95385d19249767aef519e9a5ec14ddab6adf462090770f97fdc5c6376e6fa9bb4dc901948cca236fe8e7f5314f1de72d40d9123f49aba0148173cb7abf688e7e351a2887321c23bb2b6bcef2f4ca44d03127f1313007ad34fe635711fc08256ef69553d0e980f5f7f441fd1466ee1b5a7dd71ec9ba6f20135151c935de869873b68103d289ab6ac089c3757e249bd8208a78f468ae2e9d9221c9d5a67727b9f809faedb7bd4688d219238e2a1eba2e67d2fff41d7ca9fcf2a8207da1b1d9f1884a8b653d9ccaf71ddeb2cbc585f544b6683147aebe02aa616276ebe5be998292786143790ddd523aa08d7e56111dec8fd78cf8f98a01c2a3e8ad517ef581ca2e7e671654e68a52b8441601eaa42fdf8144682d58be39674d67c41d40176ceae27380efb8ba4ceddac19a7e44f5512a8758f7b6520f935589e3bcf760631f7b61a25683ac203c91bd2a1d379b696867037e05f611cc337c49d3639e71522b89cbbdb7763ee917bbe5c9cb4616a2883428bbfafad3579178698f0cde44476e83459c833015455e0b0ac17f5d2cb57d08b7e9ccef78c45835c9dfb24b0616e4417986661530d8b9ff8654bc348f1b71a6d5aea5d093db3bb4dc064cbc2185216a7fb8de7f50778ab248e4bf5d9f1cfcb0d2ef28cbf6815796e489d693708700bb13d8d036120fa1114e9ee602a87ffef5f7a0af346906001df3d7075162af400d9c8edccbb51ec7012d95f780327b2847581aae1fe89a7506a71a066fafa03a2bb8fe69865d3ac10d838c0b050eff6ceeafc6a90f6db39b6a8672ddcfd76783fff85ba5581993e299a57cb338000b4de73b2695408930375d778253167379d9ef40bdcc533d603b843327a4a35f5777eebe4b08e71a3fb305f7428d84edf98b67b242a55a346ead50c3d68e941cc54d42eb162134a3544d8d205eac8bd959890fbf1d38334fc98dd74490c17491ec0e360bfe5c1d2f0c2450a17c3de9869da8838388be6b7e5711232e5caf85a405c775e84e0f5fede945ea5bce2442f18ac861a21d5a8a13075affac627f80301bea080ffa73600dbf3d8b41fcf068304c5d2d507b02af03a06458e414bf9170bf1447b28e5f30092eae2e73c7127e141333e865936b1f087f52d55826f87d370b2ba191aab4b7e66814d9eb8cf61b7830eac0c3380a9aa151cc2841344703be0764544f005ec1a8b3cdeddab6bafbc39069e283e5b89fe349e54cc1a65686ee8b9f2eb7a223c877a2aaf170e737d7402c6eccef1764d78627384636a189b254aea7d5f31251bb33a6c34e6860b6ff89b4f45d30464405286a378ba112fb528ef485d44a151e9855ebbca1efe8d51364b24754fa8deb9be956e9a5376d2af810aadbd03040cb7b0d568f2a46d938d6b6d9be09dc899dffaa254a12c23696c950b74b037ba0758bc7dad55125f3d9e136e6e48a519916a7076e3d9cbc6ee8f780fe5e45bbc35d85423a2656b6ab3af68b2bd8127995af56eddcbb5f257850105c122197777f2012e28249e637e20020335d8cf0beea5e1b8eb71bef4550b69ad92d15dae65f409f9bcfd7c44731a71348834080a142984869b154ca0b9d9eef60a162854648cbfd1292b4a5f63646d939e80858ec0e6ecf00a141c326674b1b5c7ea11274da3d9ecfc242f7a7ea2aaac00000000000000000000000000070e161f2630373e","message_root":"0x09d32ee2d40a808062cc13a37fe2725ba1817a48b31cee2c20cb924c6e685b9f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe4af74b32c2365f19d3dfd2b9bc1b051e4dceeee964de4b573004e522201e3dabcd4599f551272fca4a421feec716e9b7dc671c69b255e3c9595a2875e4d366639c46c3c512d34cde8f3b4d75f61bacca27307df1fbd1d1d29278916ad954a33fc87d929d91625261e483ccb7b77acde880ff7f8bc361da7bfccece14098a49af1384a5816c7ee93d68933b4a94d25bfa4cb4424cd8785f82a8231b7aa56a7e523a1fc81025f4c23d78f3fdba4ee636c6fc7ab9acd460ce76af010a3a8e8c19a01e7fe76a922eac59aff5164b7c43c6feadc3f249cbe4d9805ef86214c4957caa61c9360ef20ec8cac82835698779e091e65a7e58a33b92891d942f10c1bdae8305bdec9ad1564243a185244b73f55fefa64d6f4e400c3dffab6c6888d3c3b7aa207f001a8bab249ee784f253f910d2b331d4c597b64867b0d840c40858972f6753ecc39d4c82a472746a3d773d3589fc2a9e651c755de8cf50c7ab3837e83078779aa58a015432155423bf815982ac04f87fa36bc816f63d4b8723b30ad791d6560865932d8adabb0b8aa2b21a11c8644287cfc03d0424ffabf8a20eb738c99dd61acada899c5c08988eb8df73acbd338bdf80da210ae2dca81b846a2727c8955e8e766ca259103e4f4888fc6405613845479b0ac1310e0ae7fa9c68a2a5309cf4057e599c2694e0db315d1ed7cabe0a585d6482b14d305a5d67a6035c3d273a6509254f64b8dea7e03cab722bb7362aa06a7e665e2877d2dd00db6f246d1d5239167a91e25b0e2760af9e26ca53f42e62c49f052481cbcb6f4af4147e95e585f1f41bd00e5c3bc4c6e481cbb1c7ccadb9393baeed2ef485a3c2644352c5f639233d5f3d18c616c59952292ca3ad6deb7f37b67c5cbbe4c7f516b31420dc770379cd3c7ab3ae2ee853448d54a4ba5ae2ced7a11f49f6a8984db7f9117a41665e09c64b68c538cd9b4e274b4e650546fba99359eafbeae7e4eddd3c88f228dea330f5b2fce3a3b5628f9d1933b1f0485b6c2c6a4adf32cbf4ed84647e1bbe3770b51fa90c1890af2f31a72a66684274af788236980416fd256918d63ce7cd9c47270f629c77ae73779f02e729dbe0b3a8faab23d5ff77ac9718e74135397aa83e5977361d9f831a1299e30fb62a85bddd825eca0577bd541f45243df12721354c3bd79cf912edba737eaba845bfced77c644affee59e672c7b5fa64a8dc13dccb7dec645169674bca4c7fd1cd99eb01f52aff9f3270f258facc8b13f6588881ef1a4409f425657fe3831641bf414a82673a37fd4633daa405bae5a2670f54af741a9a7352cf125011363dd95c0f4474c0adf4870e6b72298968fcec24b55138abb2de34227e891b54d0764803fd061f5bf10939beaf3495ad761ec49d3fb5ff5ae5df4eb9867b3e26cf3f5ca3942108b0174da7eb040f0a15158678847dfed3c0085ba4c35e3a917fca8640f4feaf3e286be0571abaf84e3fbb45dd9305429f37318b0e34fc9be664f0ccff868c2c4d6ce94d57b71de0e4da9cc66cd69b9799e933d636baefdd9e27e42b50a32460d902cc50e9da4c8d9276e7e265a0437afb771cc6ee1dbdc952d2e6b21693c00c82a3c7c3b56d6de7c70facce6992f1c63b108da25a33186818f185e555ce93ca66282db438251bf5a1fa5d7fd300fffda37fce213ac35d03e87ab2e7ba9e013c7c00ae0826f0946c33ae5d2ebd4130d1ab4dc82def475fb12bce4437f0a417ba984035bae75b898893845c8c63908778c4b5c75ac7805d04bdff3061a9f75ba0fa296975f7ec2ccc10ddc671a795311786effa0be68c0e887509f2206eb181a2602b7bb88de5c69d93b5a8a6328d0702dbeee2c81fdc8d0339d79cfe3432e0a55440563d37ad0f7b501afa83df6c1117ead3a0af8ea73ee59c13f7127d9796f32bcbe5d22d09fd547927d9ed672f0f328f6746a856a92a45004528a07275447dfc8c11ae632ba88668a0329fb687f0e09fcb54fe19ceadcc21ebafa99790041051d888739f056c34d17fd6a8e5cdd006e5edc7f3233b4cda98409e943dd4159df7e0f40b4e27435c79738e26c9cc608e2b3138e7079680159411976840f96cb112ce40a29afa0d94d2c7dcf9d1c75090f5f80e0e2b1c4eeebd8198209a4b5d15f3e1cfaf5c1be829de8aae217d1f890de969f9d72b0a89f0e42a45443749a62d60a18ead0aa34cf69c3fc2867e6f331998d588ce9a5f2585ff1af3a7ca9263b07d09de626f3388e89ce645fb67653943fcc3ec3ebf65517f774f89abf1b018e3a3f3f2436c3c313ed09be93bb745cec87131d9e4bcfd5afa1ca3c2379e02072665364180238164162f6f3cb5926df595c5df78736f701ae2668628f4ffc1e4b7370cc65b29e442d6805264bbf18428e6f09ee905fb5cfe64bfe5e245f8c09578231bc7573a18be5f57c528dbaf72923cc45ca84128f53ee471f7280b88ed67e2814465e66abadfe6a0535ab09704b66714a9ada3578a3ba03671f4ec5f55e86d7e0092bbbe7c59ea8bcad51516f2df719009d92516b6e741bdbeab8abf7ba34cdfba93a46fb60db64e2d3c053441152e49ecb3f21749088f1aa48973e4e7476ec002a6c48730b8cc0cb0ee5fd7ed7c6812e4dc1d78dce4e74a82f3ce18cc12fae2a0947860181801c0eeb946096108f6815520a905c756004b829fbe2803d8e065390b6c8af4f16e115939a24bb38741f332516ebab217d5728f0dd805b14407facbf71f1a8d365fa00045e3bbb95a3c3551bbd19c86576dfe866cb434ace6fe66de41cf7b7a2c458208f86ae5070892abce71799d29a6b5776772d37c2ccd2c5ca1ad19dbadf9cd64e357e7566ce0110ab0a83d3329250c7e4668d63108736234cfe147da1eca5583456f21940dc976d43954d9497046d172742eb5e318494d30e752d6680614d50a3383130d3e5b4f068afc92a24b4dc4fc85f06d811a1ef28dfa167ba3c3789a4f510acea9b6327904dae3a2c2a88a1b172b1d926e3ba85faaa0881b874964cc33d5305d4f45f1f134f84e3cfb9b16be3c07ae9ed645c223e0782b9f4205298400077dc7d8739d2b7d43e6f4e502f8b55c093168c7ec980a6f1aa38f2b467a98900ba50013710ad6d6c6a8ee32f6a505d311e65eab3f8aac6e441289b4193bb4ac8c6d8a6f505a9837e515e7ec954c24663f13a224b0628e390addd1102d2c75325e46af95414b9fd86b39b8fe711a36a72c5bae24d1a9c3987a830130dfc59ffb889c54d480181f5a178b0169128d66a273665912ab10b7951b61f079ac2de54a164cdbd7c7c93a5cf6e62067778a27322ebb2b0a1e414ea69c22f06f289727f8e5a2d311c9c8fdf39e0418f05bc9d8747418fe2a73b8087a4949762370d169c15c976de65148269764283a4116f5b4f927182a373f92523c17cd2aeb1c86b93b8475702bbaf202d542b5219d2974a7cbc437efef4ce8ca51190109ea190b5a54d0fbd20ad0ef2c9224e3642e9d7c0a60793c338927ca191c87aefa1948a40b52f41f4d6062e9404b2f2c5e930cb1402fe541f90310db09e2c3ecadbe5d83f521a6f3a9dce3fea63bd39c27af52daf549f1d6ae7a8ece91c3bc1f763707f74b0c6b891ee34330175109669f143f1f361181ed83f8587a61bb69a82fa98636de61acb1e64262731b7e1","amount":40000000000000,"withdrawal_credentials":"0x00d3eff45f05f8c178694121ddab4af61b62ccd20d6a0fa537b0f8c7ff9a74bf","deposit_data_root":"0x0b15653f9eb5fdc6e15703f3d34f5be5a74f2adb435cc842364f13d7dbfa702d","signature":"0xabd62442b86ec454e2c0783b75a435b4b2e5ef71168de665b069a032d7fad4b97154f9d5808c78c21efac71f963782ec90467da3b35c17577a552e7f8c69ed16251f53921c4919cb9f25058cdac5069ec0c45d3fcb05c54b0c0f542f8147b4a6010345fc3001e100b74d6fb2049098ea642cc4bf42f407574c88976c71ca34c3dbd49cc1a20c7fb5a444817e7254fd6d91e36f4793eb3840d4506971c64a77e07d66fb513637c6f242b4f288d2eb69bca1b0af0cf973853c5fc11c47f84e9392334ebf79d626666493564d5d71f98f2bba254ff8d8f2a0a95d046cfd2330c9659c34cdf17271718b0d6d8ae7750d40857033567e5ae7144b57e5c184621c8e8ea5c37cb89078bd4c6878b244729d857c29acc24a4d2e7d8202d4853398919695ebcd9587658d1a3040873a7dec8ff55d8b62972d0075b9595164097faafb13164b2d16c134ad5e4554074c9c88eb6daf367f5f5819c56ee488ff45939496452ef4a879fd99d707090675e42ddd3d2e5311ef43464796aa21ae5c6dbb389b0d065cdc6910e853a37a39f0bb0350f98f06160fb6d02e7a3fbb245658dcce9900e354fea22a75a46cb6bcf19c80a870686f0e9604598d4e85f6e209924158bdd241d9e5593692ade65102a56d7b671a4dfff4f3c1b087a9c4d51f586cfd7656d05d9f48a932afff0830fe3952b516ecd52556442fb97baa13cd158cb042087224da55b295d08dac8cc40fc6570ab5866e20f99b1a9ffe46101e3a39f21413b36db9deba048afec22fbcdc92b5dc30f60d8fe9d8403692e541e8a48055429b6479901b7df06392cff14ad5a07c0f141de2bff31effd429c074e59e5f7a2cb12599ef8eaaaf98aab832cb41b67c8480747ea46281dddb9188702cace8d5f3ba2bf82f4b0790cfafc96e6a9b1b8b5fc48efe76693bae0a2b1fba70bc399b73a3724c009d0e4e8952fb9a10426d49e9d08c019742d3f899936be8a35a455f7d08ae80dd36c05565191a9f9e99d0f364bd102fe390d4bd74da6b4d189458be32f3d7123a8b5b2489b89bfc7fe859f5148187acc54582831fdf0d3ccabefbe967dc012a9ae6afbe988d9e1e1e2159460d8703e5008273f2e2628fafa6c80760b03350979f87d9b93c79e8d2f55366cc7347d81b1c82b28d509280d12a910bdea3c92ce284c2fc9a8ccbc822acc3d73b8cae2d3097ec5a90955e8cc2ac2beebcef63cdaf312c97d6a06e7b35fc72bba3532e98517e637cb663e9180a7e222aba76fb6e9b29988717f69170f842a6c571ab99b789a67b0fa1e5a67ee12e5d104feaf53c8666949e3f3c672e0e7a5e91a90046ed803491f2704225a9e53d4ae16e0d19e3c3daa47fecb1df22c87cb857de4c430e3d2d8fd5e5ac51fdd31205b4a32b161b66fa09a0db6c0e0270de51087020bc7cd0184757017ae01817e6eaabd9ea1936bb7036aeb52fe77ff55ed9d42d5ddb8525c327c6ab64f2f296fd9a797c66d9f4defa47223c627f801ba66cac5e01ff2949efb89a636f6b925274406fa36043295cb7f3c2b4bfe3d15c5a1b95c2dc876d15b32b8a0e02c1b38d8da3914cc84833853921d819e3a2e956f5f2bca0e2dbc9ec3a11e67a36f09c1af71aaf3dd9c5ce072716b3c1af1d37d26ed3dc2aea816997d20dc820994794a51e2bb270f43db6ed91fa3a65bd71f558f9af0c023451485bdc55fbd60024489c70608d288c24aa47f89fcc2b778620f0a148851eace9ae95194b65a4ee902615e28f3eb02fdbfeb27e0f2159ddb519deaebcf2f54d1d7dfc65bb9a8a1e7153cdee223796c4da52aad8be2663767cd0b499f6eb4cca10638f2f3d1c023a4e07a009d6639dbf4c7b3dac37eefaeff8c3713ea0f20e6b510ce8988ba60897da3fae3404c79806e0beaae9fc96ce0a5d08654f45eecd3126a19ec1515f6ba04cdeb39cea1de763a2e4ab2194a108b994f5d14b84b386c160f665785842aa2eddbab1f6f9d97d1f9a1a227f55a7beb6a120807d3c44ca169b1b7f6b77e86a1b4acd9dd00334fe38b80258972100967ed2edb1d1b396e8211c60a0970af713fe0cb3a3d53e0f7579c8a6b576fd954e35964fd41814cece75835ec2b45daa4928dce73fec769be62835798a3e475d7276bca2d64dee42c377fbaa7f1228da1f98fb4b62964be248c5d37a0cb6a4cb5cd6c0469ac86278dd1cfb2e6d51e67515c702f88c92aff800a40a6728119a4ade693d8329b91d1c0bb2dea57e21462a0fafc21fea3a171da8fd2885041059ab014006ceda83047e444f9d7f29c4da97e5de48432280bafcd9efee18925e9f1b4087b7fded6e046fa29a865a524273a2f5a13590973f7f004510ab846ca1063cda0a599e5b16547e55447bb1adf05ea9090edd2268a27c1db3a1800dbb0472809cf191416f91b53bcfcdd3318b0d3266f7e23c85e7c34234ecdf82c355cd0cd94ae703e6353dcd43ee25006e377040bc8bd7c6145c80bbcac8de101352be12e97d8b4e4f8db5d513642311c0c98b20cefaf983b43aba10430c6f6dc9e32e36fd8ec5bb483449ed1da31f5697781b80c17d6d4f696b07220b58d821b433344b1415fa044a244e62a08ee705d4a5104318bde9d92e534002d1cc61303c80a1437a3e1ee0ea1ba4957ca703b32fc921082b6c90f132d4d5625249fc523e340e45d9b442c950ce414268e9ff098fb22984a624f2e3c504b7a2bfd75e512e29bc8ae7e8643e23b0138dff9a8cf69299bfb15c37d3996be8a7f1bac68bd46b2a1010c959ec780d7ec3b70c488c401c37af8f6071da2667cbc96fa52268b475dc229ab01c3cfcbe1dcc85e285ee423e0c823bc2ea271e65f7da44aad48ee2f58b03a5e21ac3dd86fb531f917abc460ea5160c49a2363c392244cf68579fa8a1b4b7d57d7fc56a395cd6b6697ed7e875a54e68788643fa693e281cb93f730a24f204a3e999ee9df2fafa28880fffddbf56beb731fc319effd24ccb4ed3ee6ae9c8f2629c11553788f10a157fd38a46e1a3db663a0e53583d44ca394131effc3bd0557f942dd88197b0fb77d2ebb2c94988c551e00947aee5e14e7ccaf90742b0d22ae78d716e263c7ec7074b11f9ccbdd4da8c9a98599ab68a078bfe20947ee010479f9e1f2464f2104362c9a22f2eca3ca9b2d178680a319e8d02a87202dcc9f3e424e628cf996eab001fce296c96d7b70ce3717cd127b7e3657afc350f800113bfa298553655e7c0d1dc745f53676eb097482a566696c37c5e83e98ddb93e8d7baab1d3135367e16f393b190f07cc75b04e693187d4864789fda6c5bd416dfc55d138c2c8ef1513cfd216407d22750dc250a1c9a80fb3b8398aac58e4c27f98a1453ee95fa32026625ba9aca50b3fd7afaa08410a2a735348c1c5e19469872fcd1e7582161c0eab362e09f1542ee0bd262caf429b196324885d227fd3b567e3489696de22590003f6294fa714c0074af73b31cd0a2bc6e7d5ca738ca10cde1aa85e516b12fcf20f90051cc835d05af2ef9cb492562cfaf17ad5892ef22e7c314c533ff451cf68b641740c180794d05af71d64f9daa6a79db800c2561ed0df0961a035672a55aa9b953862132e305a113f0a48703f84f6f885c07890b5d20b485c554cebfadb5d570bb35337433791464d98fbb3ded08864bb8a98d25736a90b3892d7ee9c81bee1aafe111db3cedba95967e2c9f9669470741c08bee1b7237e614acfd3cfdaed8323161bcb0dcc5a8226b1338aef303e992824b76287fac572e72b1b37aa094cca499be772c25d6547d1b6b2baf1937261f505146280cc83f188453a37edd7c01c8df13865b3922776856bf6bc77984b3fae6861ba142d19237bd83c3e26da652b905d6056cc3a7106ac5be4ba6a0710aac45490517d8ef72075629570f3cdece9af398447fd49d9bdbe39f88f960853a77ecf46643aae62f6ac5f5b3d74bf7ceaa10239798c054eb595c0a87c08bdd4246188dea707fd3c617e29d4d6a3f9ea9e9b26fbcc07eb029b279b3095908b88872486a2140789622780a8c8bafa97beb6b9f3ff370992aebe15bba85d5c6d03d26c6ce1f39a30ee237f6b2c6b6f8c7b6ae2118308f3da30653a819c59c4ac6671a2a922ec55427b7185a1c7687af9a94953c983e65f76c43707a0c7dbdc89e92b22be67480c6ca0ad507d158a45e56e309db0cb93c0c5900c875fd149b1e5f740513588216f2f62cded0c8d9a8e88ac12be68b61bb2490607d66574fb195684124c1e56981c4e44f387ab877e399d47bb4ae1cf95c1926e8896b3be2131577f1ca5caa1843336425b5302fe0abb7834270a01f55bef3fca6d9f36f03ce09c84650ca87df426a56f44d0401d3e117a3f9bf1cf40a39a73e70d736703e66b17f5250ee79e13ad0d4a39d9269e9144a4df5daa65e50b8249a8172dd7f25553893cc3ae860a60aa23016178fd3e0968fb985d6d131ce1a95f73392984d3a03138a4db3aa5e422b26d68276edd4b0f0e4f7dd9b9c8cfce12ff36c1ac1c72921d0764b7af4d7808b71efcc3f2a39ae4f4ad7b4d8ef7956088abc19f485ac597a4ff7309c8baef05b4605651e439413090ce0895a10b09aadd5aaeabb766d0313259a339b21cf0f5dc8c53bed31f1e03771e1f9217d6a4e9004c53418df9e1b2d3b99d42edd75ab54b0e1966dfba8eaa67c6d73109cdbc37370dbd691e2fed0f2b3161e9fe5ffcc25e7d0741e88311549005c13ed14a0413e4efa0f8982f01e84c99ec76f12a9926e2e5e260ed05627669fd0a3a53a8c58dd78afe1147a829aa6b5adb843ee4a7ce7d7e7a39005e4ce405d2ec8d7a7cf35067801127a8730debb709f4cbc11fcb854cfb44588fc78649b5b082430063a2f88e6ded7e51f67f63324dc9de5de1e318a537a69dd648d5227f1b83d66166450f7e18253d9a1fe7d7217fcd5fe87325b8b72fbd7426c425f3cf2fa494708ec98f332e824cf0582956e0e4fc2b995367e2bda8e4a3c2f9f7f617a9dc122dec60747c7cf6135c07476903c6749dea79fe1e3bf249d2d62e285c9cb744a465e8b242af6034a672f1cdb1a1dfb6a16650720a5fdcf0845cceca4c5981790195561011b183c8cd06787c51f093733d006bb71a9028051bc56890edd284a44bafaa80c6774deb907daf24d8dbc6759fa0420aa7d65c1fab0fc7f32e2c6afaf0e374fd3610a50796847fa2ce4cce11b253321c6ef60cc75c49406676dc44c5ebcb92864639615ac42c207afc3b05e37e2abc09106b7f769c7ce082ea8bd7711942b139722eb22c64bf799cbbec803256be502d79a900dbc29faa64ed8cada4de6bf4cbb5bb7d9b93695de21b8f60f9e9eb530f6858fb8875aa734131ffc69b81fe6d5632677cdc168026f892cee051c27c89405f987b6a7626b78623ec07b64aa5841709d44317e105d82cf7449a5730be48fe5d2682af50aae3b5bac4bf0f9fce6c3f20923d4c210fa03dcb0acdf2481033b11e9c031f3a6b42b72e105cbf664b85304f1c8420b4acd33b56e896246f980a2b1082c8154b1ff802c27ea07fbb7969e711fb13aa6b934cde85bbe11cd3e4007b8187d8e23c91aabdadb048a8e83077444eaad25462b95b0cb8a500117a45f8f454889cdc6144d65a43d13657673b5efbdcc5be382cac09a3447284013d28dc5e66898ab4c9ceeb43f4b9ec0b67a07d03fdcbcbdd7aca8d04550497c99c7071c32f719025f4422b94fa6ee23a39d5f085c7dca5147a61a7f4234ae8ec2c1b5c3a95c347cfe2210173fa14f4f1a250895d3ce0ab92b8424266e3da97f614f6a0bcb85a5e7df0a4500ceb6e9a111e9d4ba6bfecff563f087658c5af666a4b8c7f3291231192bb7a6514eb268f646bc4c7a5bf36ea2e6d06a14bdb82633d2e878503bd00e9559dec604477c8da4546347c8020a03c52e6fba0a88a548bd5ed691897d6f90b9ba8bf6e7c83dbf58baad0e3587e292338719d0d08485b999ba71db321f642701d28edf5816a3977fb88b5ce6b7a42703ed2598deb995467bb61ba9153c17a4a3ddb9e1fa7b150480738ce0908288d19af2fd4ae81f8ced380e7571072e5378d6ea4517ff7601d02510b0fbdea4d3b445a4ee4d5c906785f2cc23191f606d14aaaf008a811fe041ac09b4f112b2606033521a216f861c41c1a5b65a5e5614438d2c36bb34c8c07ac829124c3fc8f0eecf89433d947ea5e17eba08929643bd733027c265abd0c99a8a0abe4dcfb0b5ece4a2875447a10a75463b3f39bf2e847855036d53f63541032b0fc7308be6c3a41fe20d9f2de58c758009f4be7f42d05dd873e78e04b611036582786a305f62acc1738106db28aacdfb4ac892b87bf4cc3b909fcaefcd9af5d5d4312ba04cd8e988eac2828d741028b0d00df283031ceb5f2eb3094e5b67718393dbfc80a8ce041e38499294a3c8def10c0d496367a4f90b4f96e5f801134c516469889198b2ccd4e095b9ccfa767a969fa8f800000000000000000000000000000000000000080b151c212e3238","message_root":"0xa31e78d46ba8f31e064663b8bfc532d692c5fb45f909a330ffb1565a525dd17e","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x2b852ac8e2b165b32f3ccaed1cc7debc77588c9d9f3719c5ef72ba3f3f1549c9ae698c238fb03439fab40823dbcdbb9e45201042397a8a8b216f54af05f78f7a1e867bdc4a3d8e0e0f2621ead60ff374a741e0b812456c6c704a6f84c4e0c2ce703e68558b8db174a8f698c8a7154451a235aaad7af6b5ceeee4b900d45965abb335e3b8074edd89b3eaf50c535d68ac16aba05c53fdd2b5bf3d9118ebd08786cebd4cb9bceffd040e0aab64de0c45989118f8dacc18d0de8a05cfa5c345c7482b7bdcc35d0ff3e16c0e8657ccb8e8d4f9ffd1d5b9a2f4cdfee371926338534a09dcf99a11ccc0379edf769fec7c4aaa72c77d31454eb3f64fdcbf0761d59080b6b98bf47a09b72a0273af8c5f45e1385fa5d5a4461f488cf2e9891592c67f6f09601cb2e042e7eac83754e236cfcb788f7be7587a7a0e9863de7dc1eb0c61f286e4e1aecc81b17185ad4bf7cba2cfa21feaaf71fb470871ac15059bbc0a72a568a4482d3f13f62d51c7acbd5937d823c60f93b2376a0b24994ae2570d0a42a32cb521031e7d58d425aa49c35b22e2a504988ed1f18370c227ef281fec85d624900fb52828b2666e699b0dac8e9dfd5ec8e61e805b02e5782b62154a7294cff420193c86c472587e094ac8d0dd14d80b704a3f0b5eeca210c687461ce9490c79309b75d325ca6e5c2dd41b58e00de4d4453b0b186b29694833fc346f9f1580592e0e6a20fe2f3ce97f89ab56f9222b11ba17371fb17838c319b2141adb94edb8fe39a98d851dba8dedb6f574d974a13c4c645e009489045c994e42edeb36aea25842d24f88744032ea40234230615a4e55bbfd6002d1d8f7fc2316849f85b5f149349c5211e2d12467e5824827c8cd92b7c7fdcddc61a42812c927a8aed353905b95f51ff6c5130fcfd3ad05a10d2c617e3c8323e86700176e7f1418c770c1874bc0c27ea18930b8113a9a99b2f657ef186ef4dd9c5676e9deb7e6513eb7f7ad30e8ba8bfd42c0ffce3665b40c57f0322549d5712a65576a2b6d6efe39c14568c3df20551d53fae6ef5b2c5ff315dea6f6e4990ab12be967c96cc8369887eee25efa51a2ae6e61413bfe6b127793fa8fb28ab0e08d5e38f19f8e7b6f1b9a065634ee33155608b21ee0067b5f56b12ec1f8017ed4e0c32119a1be7adbec0e77c27e14c42a86c6abb38cacf706771d78c80906048d6931758b373c328e12c5c139d6413eb72eca439203695929979bc588b38a174fa57793718aa4191fa30ae22b156a57bde52a1e9408ba63ced226788c011c890d7cbdad86a8ac3065b086c3633331bdd7a17e6e885b8fd0746bc2793ce58a480fccddf04efbc01b036de97c8f102ad9b7bb7e3dd03dd22f3d6cff71fe4aa9e83548df518369117a87779a817dc397ddf739afcc83091ed0fc34fc634e293e6c11eb26503ea23deeba1115a3f890c1198bd8a4a6273106f6c9696c8882c5bfd411f8a705c12f66129dba10524e82a7efae2c5268254300e0ff3825b8755663463d4a670d88bbd330bb76c52006dbe89f1e91a131ead0e6838e7e3ae12ea12cbdd7899be54f3223b667ae9febfd0a20967cf0491467a5659fbc28bfa7faba54924ac89be338f544692f5dbec2c4e41fe08ddc99726c80d17e294547c044c707a8b7117b53045bc268cbc09ac9952682dd185b284356509326f909c265f81d5cd34348341b9291d49c67070a0177b5c7688bdee0078b6ca015573fb2af3d3dc0d905924af77d8e969869f2d1ef810a3032835792460b4211ee0d0d3f03ff5950525f829ecf144481677a48438fd6d6d4cb8c4bb71e7cd0eedbbfdc47e961dfd046bda9121957b84c3730b3ee6ea796db5a697a536608734052ee7c19a5870f1cd407af0e5a9541a2a6c62e90d7825192ee8555695e2549e97690484d361580a7e53424dd27834c0d7186c80516ecc1bef83a18adefffc20849e8632c2af22aef77808d03273a37c37d40e516b06361e69599b50325a48810d80aeed3de15d29491f8687010b06daecf45bbac580fdb1d2e66aa6a4eb9fe74a9a2d8df6b37e76a7b3ae851c461cf9338d436e55d9a875b773501189af4cfc661046432a23a85c52a188ba32383dcd34fe9ea466e2d92ea6c9976fd29aa43b60877bf48c10d0825624d2795ffddd75c4e5386a03cfa870f962c5334fcca9ce82ca90e4186d6132c7808324c66ee71372c829c270e422826de0208b48a2b59fb349ab54fb28fba48588ed48fce91b66604a303faa53f5265f5347d48637af22b9ffac20866eadb2b7ee96527c337d4298fed5406f56cb77402cce1dac92e1e51b61910fcfb85ae113d1c2383a90c5ea1e12ca875438e87feab403fb2ae09496064b4507405e8cae3d546b1959a1188d52a8fed7bf50289a04d941d225d85510204f7d461d0678f96155270d0d2f6cd3d7ae66d3ea2c810ecf143082137514531830162c2b90a5b0fdb5b828d8318d4cd7be993e0dd7a8e3c2ec0bdeb37d0b9b1009c32444673fa4fc84ba896d6574b5c6d86d68e33cf8bf759f5bcab4aa869bafcaba69bb8bebc1adb8d44663392e4f042f1e6b748882844cda2e3955fee94d1b4365b26db282c3e96924227e439882032274303199964a3def91439a4082d918b98cdc22f27bd16fa70a965417f40908a964c303f30fe633bc66f4f8248941a5e5b124ca2ab1530b6e7377aaaa3481f6bc10948bd714e6b8d36e76eacaabeeef21ff19ef085439e94aea85f82353e816abd45900e72e3a0151eeb7187cee97033c6608a76f62912ef435b401d0f83522c9d606fc1e09c826b5d10ecd23945f25e61cdf11c7ea146e3928e635d0c00322931e51e2ea5fbe242d085fb9d88962cde484438a1bc802075a29b7fc915401a3f2b5575345ce10aeb1a30adbfd4a44438c7d9fdf2c18dc319f73041693c914dcb44365bde1697addcae7627129d8349fd926df8dc8b560859ac1f3633cacf871dc5dd42c29329ce00f87985172dfbf8950b2ff1b3071ce9b4d51f9a6548c65f024a84781aea9079fe9ec3202647cd78f3c94a51c73b3b7674f7d2e39ef7c4ed46bb27b067b4c230f73a8759a8d6abf616b1ba514be3fc854f96f42147c6d5a832ddb366ba34ec8d399cc524af0a6fa13f64e5ba5fff385c583079c686a52193a11557d123a10e3a48a0df3720bf8ab581b896556b3f13ac9e85b2c8b46da628426011917024b7d24f0fecbd508e33293d87301bc092f73128d655b66f41df797e1ad6494afd3a7ff31941f025d78814dbf00774d9628502511df8dd0616324c4b38d60e5690aa80a5f1b4ada4d7ea894080a6ac493694ef29aed9215e1128f5db922254123238af9f19803f439a31fe73b0ad4f6a67e5a8def879d671656bdc6aed1cf972ec1e499d2c0528bf73dbf557a57f1429240739e6fbda2451900426786f876598d434d338c97e32ebc5b748941ebb0d9f7ad054f6f123b08da5977120263a99d6187cd8d1bf1f747f2e1deb730e450e5abfa45082bbfa45aacff8ccf1ae9f9b0df5159ea0c50272362c0cb7d56eec5d45a457e553c756e343e8a69f79e06f4886d6f03b16ad5f3db9301fd31b39b5f19c6af968d628931e55a778ed5d47ab413827097a890a3065b28f77e2c1e9550f135b00dbd5bbc1a57461be9cc922f6ee8726","amount":40000000000000,"withdrawal_credentials":"0x00ee3aa25db4eec1c08f05965657623712dfb4e9572bc5d3a404dafbf42a9af2","deposit_data_root":"0x34733ed01945c368c026396f92462ea0dbeace02d452e12b6fb530972daaed5c","signature":"0x0fb5ee26aace96657ba06291f017c99186d728b0b8eca808341f01a4cf0477e5b75505830f620ee5ddb14682d0d3d0fa9f7ec6a5ab620c370b3078c408d8260a0023272975ea375ad54bf7d5f7ded011a5b7f5bc2f93eb7b68b89ff8456c053317ad31ea467b68f9f264feb9ba8e20023336914e302f5768406d87143f352c1aa5d8e88d4f5b8e32fb1304b04dfd1d67ed1bb7724bb4e6ab2f7d5c00191e09ee3ce7ad88b34b2e7ff23b0018f769d387f9813184aa9a7013ba03c0e9fb44c6fa4eeca2bfb3a88d871bef466e6f9942bd160036d5177e6b9d6a825d9ad55cd11fb7726e2c49febc45bed369dc198e6fdfba2254563c4204a66c8884a128742b876bcdb4bf0c8fb8a2e733013db3ac59dbbba1de38e41657f4a50a0f1c4f1d34d291e38c3a760401c40a94b62efa5da18ac1bd523929ea9331183b909637b02185a0e5466631c1e0238bf36ef01ddc56cbe7d8fb6bce7c7f05420423d3d1d94d66ace6721606894095ef72150c143381b5185d1b0239733d1dfd9bc14c03b550efdbe5fca8f5bbed4345866d90cdb48306c7b42de72e3059aa94659ff8d140081624623bba659937bec752861057939c6c0f7d4bfb42014d5e31e9039abf933de6b1fa5be3bca3f347c9014d23486bab78ef943191122b1d56ab38ca1f92660c47f1b6e8477e3eca2eb6ea9885b6283d3524cc062cef0a1ac81656f60a3ece5d3b63e1ab44b2875aa54c2d040393a1823306510bb12ead715f8fc0ab851fbf77e8c261eea669fb3a31f6d9c9e564695ed8bda60a8f068a1c042199269a9d31665debecc30724c04579f88fdc44e7eeea971ca2037ef133616500e1e6dcc8efd2f913012b84a72b83b05f236790702a669bd5a54197db5bcf0f7945b31e699da626ae54bf0b205c3a1ef2aa9ec1bb36be1172dcf9f222d9c46fbf541c8081ed82d3afef4fa5d126bc96a7cf97985d13b617eebf61587a976ec7589f0054d30d1e38611c6b993852bdc46d6c6f3bb14e0b08a66de3ee87507d06700f335db9dfad75e9caace429937cabd2ab0458ddb6d31d70b3a2b6ed0f11580e1da975e5755714e01eab5d1f2abefec35ddd7a5ab2399101e71e035f017b0c7ee7db78c704dfa09a0c820bbe4bac9e4dcbe2bf5f41042d2632e006f4a0d551fd0e5fe9369ec4f86dbb61a424b5a693758193e0ac451142215c770444ef036a808dd05940086ed5360ecbf77bb49464baa8339a012bdaca503ecea7f5d06a86068afb0169663738664360ab1f37f10048f531659f4fe22104403920d42db7ab5c40609c36d4fb8c12fd4814eff4d02914c1bd42fc812fb8af6c24b190b4010478fee217bc5374e206667172dd0b99f16e4cbec51ef60f3ce8a47b9fe76c708d297f64ef8d7ae750877f18a3c1a53f1197ccfb5eaf99e2b860ec775329fdcf0d36df1214f1cc404e0106362b7e21f71618bc2b5efb83a7bdf562055bc2e0bd783b1b8f09888b5a57c3b8c1b96dff695ad4277abe65c726db06066c9eb53fbd848263c120cb343df5a2b472d4257bb012bad57243b25a42eb852254a98c6544e4dcafe3a6c1a34d9cfea14355d35704f1880a0052b695e2fee41ea461a666e1b0472de8df4d89efa8358dabc14968d3f6eaba40c63d2d7881f202d00daeda4e6df7d28b4989b24a1cd841079390d5950a27322ce5dbe62535613f85d69dd3d2c710eb4ec2168fc2bee4879280565f6fc82b14e24adbd3f587cc00977738d230884c4d55d050ad56815fb33e82ea42b305b6493d51f04e5afb674cc3dc13aee8f308cd3339648a7e91e99fd0dc7b8f23c9df45b8e22e865c3be7e815cfd8aeaca710c21244d09d8197016a1e852a9b6a889129d6fb642df19a921bfdafc6517fb8e8550f04f99a80a4a258e690e5f991c873f1daff2c578bb9da69a72bb1f6306f2faac21f2259427d799e97a0d9ac9364f01fbcbb3bd92125a70774d5c93e6879ae43fc2636ecd4fe960a8468c00abaff6e9cdfedfd8514f047d8c5eaf03c551ae885761e7234f3b333c2dd5f8bad00b66d83fece0dba6b6e99e8db0fb863f8357af87e0c9c393572cfaab9d8337f0f58fac3c4a6d7b5fccdc4306093d467b623f1e8c8ac94bfc729307fac8aac177391e399a6b6d5564efc49e064add74525f222b74b80dba0d080dcacb5ea6851dbcc40ca99904b20cef181512510db1dedd7c22099f6de5fa4cf7fe32925ae3c9cdd171798b4dd49ea5cd3bb32ff8e866a1591f8e0003017826ca7a0404ec85eb659baa7d9832d7c049bfbe52f03cec333cbb8ccf62630d42449d5782914ce4f30ab18e8e147690865ed24e0ddc1d9e500b8bc2deaaef88b53d7727cf3ff66fb1d784247e016b1648ae7841d6edbe2c228f39de0a3391b8627cd8d9a7a20576da6801a54d77b4c8ecac11288b4afa4d4bda588aec57cd7d6e754abdef0a32975ddb1e05c17e64f2d6b4a66cc1342bbd8751e7cb2d8972f366954a134e6fcf86231734b485af04cb43b3bffa711c57c57f1b276c2b6b9b1b392d887346a371a953b1c7ebfa9100134ddfd0d83a1a8fcb51ef1b55f0048cae9dd58c3cd3d965cc03e259d89bfc4a7bfac5533cd0e711b639c7ba8ef0fd4a1bdd7f1d71bdf1765945881a3a2b90eb4505c59e28a8745e3912c3a6a646b84d224c1ac831b017c9fead255a17b32afebc48fa4a7a4744944e7c2a20bc3852c01bb27d696ddb581de833872e65ec5ea97490ca018375b7f1864a7aa3c261d35c7ea4e3732705c0fc01542535b766fad36140214c30445446413b6a90efe3e273f17880f17b1b22989c605e1b2bd7b0e28503d7bbbdbbd9c790ce56c2b92a5cc6161b80d4e3de1a0f5d97c5e7927bfd31881acb5f92d1245879cabdc656b24314209963c9b6c726061f82d3b980e466a545943b05ec22fafa5124ff7f6539057031238d46fc09a0b1a8c1de6bee5463f6d23d9ec0819c52c871cbfbe5644a7e4d52d36a3e3b90fa0d042c629bf3645044aeeecca8a0f71c9ad376a6c2606c6b4118746480f349a8627766174432803b8a1b24486dc3953be7d1c16c9718b2ecdb55cac83c0e6b7d924fdd44fe6dde85dde827d1983d35ee063c9b58cb4fe9b1822a2f53389bb9b0313d9a8a86714ee2e5db8fad16ba73c68e517b2dfb90f0261e9d8e628456f47b05f49534f454dd0ce1501e91edc05552a8368d2103f003b8e956d3a392beaab589bbb36c893de1d4766447c2863c5ac9c508dbcea2a16ef28b9d5c9ffc7d7bbaca2fec866aa69d73e15e09f5c428a5c6529dcf84b42fa49abfbbe18a95e0bc62972cabd74697968e2d56b1e0dcec223c9a1e011d901c47e08cb10120130f2021033f3ca8359738dd7ba1e5f1567a7cbf8456c2637a6ce83e00614677fd4165b50254261b76512481b4ffa4121520686637e3d943d2fa37a15f85927b8d9bbd710dd5c709a2a7b35789d491ad5a7f86b99256006f22aa146365f71e33e6eeb193271e3ca97bde21d5f0d01b87110af4f14472e8e4ee4ab10af27c8bf488915da25a5dd811ee693cd2778f336ce9622e9d9c9aa370f156b785ffdb357648ff528c66f4db535440a888356b0ae15f825397dbf8dca4344b05c49efcd2ba9e32cff1d73dadac1a2cc20fd9afd970ab5112378b33282dde958829661c7cde51c8e9c9e2b4f0e8dfc48dcfa9454eba0207d67ff0c9f5f7f3e77a2f350eb3dc255ed24ab2b0453d2f9a1c9acac10ecea5ca04fcac067bbd551a4956640e046fddb11024068a7f017976ca4169a8f2397fd10b1b11fbd308db6ca5a7fef46b94be14a19e38753726ff3d2e06e6b22f067d4d03b0a03e45be8b8d39282dc62198dedf54be32ba2a78eb59e95cb272e9f902afbfe72ef1d746dcf4c89d9b1f1f82c4cdc54a634d629e7382c7fd6ce1be3971acf8509628d30c9b4e21ea07512cb3d46c6a0d0c32999fb53164dafa9eabf779d0970682032508c4be8965333131d821869285a010b1bad8bc766d09d6ae6b3f836b3925c5f845afc0b3ca2c6411a68eceec4708dac63c1af761f485e8a1b74a0d8d2fb817d25c860db51108891d1cb9a06a3b71779e38b5a21052a5f4a40acf48460bca082bb90c4155676d1c2bd10c6cb87a4dbdebf0584ad03a765664c36c460fa380cf3e30ab257123d0ffb7ac912fd479364ce1077c0097b668225821748859762f0119088c91d3ec09ce7e4e5cdc3898b1b7aa5bb1829a753a5b1c83c47e218a3ee82553337341bbde412f99e745efaa8d942a7a08fd2c870e8a6f065e0d8f64d53e87a7799309016abfbf52c94bd05b678b4e32a3e5d3d6cbd927892b7b9b2c8c0348fdc163480d629f768ad98159d1562817826862984c405feda9687f1d91e32a62ec10a355b759b625adeeb895e947d960b08dc054f1f7c98b9f28e0a0d2a9868d5bda8a8c5b8701cdbd7838ee597a875921a8625fa0f92dc0965ff718d7ebe28bd1ab7940c4493605b5dccccf8045db8cab5a0c1ababe89503f5a4351e87ae84975dd84cff690be56690fa1bf98ae2ba49d08aa8434509a192e16cdc468e29b931697c9a39127b9fefc0866895e462506ad8c6b17a90238620b620b7d3593527f51e513bae4e6df63e9594d72e4dfcfcead702e10171ecf9cebd541bba6f1d1dac3c06de4ebfbb21418a862fb2a10d5920cbd4078b1fef26f9347b8148e597c2a5815af0d96c0e393ed63e5f83855ae20b25561b379757e5e8e08f257211b9909a34ae265370c6bd1cbe85e5e6394d0cc61ab5d052666e40f84710663f2f940159a709c37d751cb1a676c7df018b14134165563e0a0bf10fae77652d050951dcc8db2cf7befb954dd023d8ceacf58e7bbb1f5f6486bfc375b32d8e4547935cc08abd5cd98b6bf2ab92b82e2c421620b1d0405bbfb1a6e004bc2b417465495a3b6df0f40d8696775caa9f072aeba6f1de18868fe2e8554d217c007b5e6191acc1e9ec25a58147fcb5c6b647924a5cfedb8362a9a54ee1601c7f27f01dfe198713466bb0209fc85417dc69695a55c08f9dfecc3ad92f9da116b5353f7a1aa69e9c0ef26cc7d3ac1aac1af131abafdad1282f84b24eb94c4f0da374449df7c64306f6b86e22293292b1ea2f210340ef7beebe0b6af82c5ad7e44732103aa99754629b1fd4931a4582ac204f32876f153cc86d5c02c319c653f18635663bc7e6626634889f7161b70dab4bb152ccf231bcde7651920112092c552dfea17b0f5384d6497ef4b6ec805ca50b6d4488527006a6397ae75918bddc2a7275018bb6dc95cca8a8082ad1dafa4460a61becd96f7bf938a58be7941889d4619a12dc5eb4f34623cb943d92eb725287e42275decd8edeff82bbe1c277a94d453c231dd5799a8b58e0ffc62783976294dbed39aaef329e6c224b7aa000ef0eb55cc59683a017a37da26fdeb084130efadc9689312cda8956d11cf211e0519ac0b2383f2721d4b236ed5d92293c4217e39981f28a98a25ff3fac5aea3bccabad849f9b894d2e615221422318ec0d25d05da9be5ba260f8c0d3734e7a94b905628889a5ccc627e19db6def2d54d27f9bbc4208f80f95b0fe56ae914e13ecf5e3585c16d47bd26ed107de77edfcafe55b5cd5d06ed92cba17760dff711b11a1efc77be430f0922c9af93e6a7cde015782676dbeed4427d0c57e3be6d1d5565fa17cc4d865e9109331e1fb8a971f82f7ff03797e2223140b7e111dd0048f1e30e5f5f222bb547ffec4bae7ea7766ff3033a8cd1c094a536c938c8650bb2c41bd8fca438e144de3c14c29181ca19517cbbc3d42ee66246c1c22eefaccd8798ecc98e399abdea2453cbe08376dfcece1e1a648ee89905cfe6a7ad0258559580af1e2843c4914344c0cc64fafb7d937a525cfb3ccc2eaa4de56656b7365a87b8996c59568fed381c4ade7a4bbd99bd3a1860d6def1d1158c1677f150460401c7047f51c09df2b04cde4ba50163d9a76e7a66e1d788e6fbd38a6113438c0da4cc3bcef369f32f193a000cbc3e17d64ecc1fc6ecca96819e4d0606e1a091845a901afdbcaed007ad12700cea3ee0e724b5c94f054e653c943ad8dbb5a1c19b8bca452c4070ceefe182b9566eb5f87ae3f2efbe65b4fcc21fbafb2c8d4c23c5e056809a1d3bd43fdda2bd1d36aa7a21f8413f19feb3a6dd6d83213824042be7f93dc2861d0d07b028aa2d4179a28f5ea1d23ab71ad6a22b0614d15f650354ded8f4b8e93d59c56a08ec04a82bb7406efcc2af9cae314cbfb0acde16ab5f904073256fa0bc0c11d979b577c8a7d7a78fbeb62e1aad0160277ee2fe1cd33a31dffae2ea85d33c99c2c7e1ba307fef1a79cdfd276308007b9f50d5f898d6451ccf26fa01cdf5d37c2a3cd38649e09cd2d50816859cc71b83c585f627c98d1edf20e222680ea19666dadf0011635398a9dfc124670c6dbe0112976798eadcaedfaff102e55c9ecfc0c11153f497395b5f0000000000000000000000000000000000000090e131a202a3039","message_root":"0x1717b2aa4f3401a721d5033208a4adc469d121fb6c1232e41fb69f0c5444e261","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xfc788f463513efa8e65a95ccc9ae05a4f8ec46df22f61c0bc58ccfafcf54de38a50bb6e8718298641c36d160d00ca77f7bc2c169e28dc2bc310623250c10821bededbbf11cdb5b43603fa9f4901c9e675b463d8331b1d3d4d2fb78ff4e0be02bb71f66526da89a58f02d81a1c20853a5633fbcff5984f19fcc43aeecf54d3e99d0037c239a804690ff3c9cd48a4dc3ff6e5e68d7aeba27c8ab114379f8c78d81a7a7be7fff2dd7469fa1ddee8c2759a11b2ccb33375549b069dc37cb57d88d531b1bc9b691c61afd844a1c5859543b4394ee82f3fffc93f6030165416058de7c7718c4fea6d60c83ba258714733e51d254b046396e2674f1dc0b887a56a28a7be3e38ea91dc3075058eb825a113288dd3729950abb8b41baad4172fbc1884d6e71bab7c71c849710088245ff36fa8acb55d08d39e907ca8a2f9b103312de632766f6b3d8bfd9e90fb0ee77975eade059e157574e17bcb28bd6745827b4f764ae7cbaa71af5569cdc16f05e15a51798453cd1846286b2d4f8932cace055857e68f2da4dad1941fc9b7427e39e7e175ff16998022cd56f8be410dad584b7eddf439449d1d4a853716dbe6417c2ffb6878b895d93c5f2360e522911d554e4f605da1a816bcd43439bc688ec8f4b67d8a05ee87b61b4293319e18064fca1361552ba94cb6f35329a5b9c2864cd2b15b1992e6672eb436a79fa040f175d45fd1dd80f38724d16c629a7615c3613ca02a6c7550756eb1452a97cbde65bbc38821b0e5eec239362ede5edb7de1510e5afa7b465cb48d9c28a83d379918e1fd9cddabd1dd35b02e2133ed9732622336132fd7aef53566119387f4e7564fd0571b0cccc4048c7ec27200326104a91b16a1bb238cac83cb19a2387251f131c57bd708488f7104fb52e7d0a2e110033f98b6ca416efad10c03083b04da73d6ba5204458956127dd3f988df16d123ef2db151fa7d719bf09a08fd52d22af41b77cd04b2ff16a0dbe6de8e053704c70da6fbd1b5bd0fe4465f6416ab1eab025108b07acec2f47beb32a94b1455541552a3233bb2fc9c2e1b59825554513070dcc924b6698addca2c263909529234e0f6b4d464927c18d0b0c5a6e552e8363038ebc79134e010293dd5199732841590fded1ce69b505d641dc8d2c1c81cfcc75b3424f52b2c4e8881412301a63e8cccc638f10e8d1626ee29b1bc38da7e66e65030b9ca8bf41535402d253068d81e9b99accc224c8b2a168ab20482124e234ceeead609f61a1d984cd925b2e01a1fe0c883b37fbd41ede289d477c8be73133ab50420d0c3f8bc6e31c63713771ac575bf3e4df11fc6e702ca27b704ea3ce27add7d00f47ce06ce561a7efc2249e9c21a759fa79865273ec8eb70ac25855a73a9e55c81c537129604b2a47c88b619061a49c7a1f05812ac03e7f2afe01e0c45d1c8cc26ae9c5a06cf91edd9dcf0ed9b9a6de4ecb169b980fc85f9f8d07cff5773318a68e94b9a2b27e68c3bf5df60944601d70b2bce5772a94aa70009dfd47c4cd3a838fb6ed323be68ffe6195957811ec14a20cd9c859f6dda44e9fc1d818fd598cf62c36700d92f178960e427db9e85c0f3077f6acbd7f465a3eae2ec964a645804214f536fe8256f03e8f981431d4206dec16eb6a271187031fa705019342534e9058adf8a40c2526fbb3c5895997338a769e02ce972d49c059caed39d1cc3a0151973829dcc00bffd114f87a031511f20f4d16644cc9e3696abd2f491cfcb483ab386144ecf3146b0226dab68808d0912bfe8afe3aa7d7be76e3210d6d21218819b4c8871c1574368bc1b8703b50e62916dac71f836f5cf543ac7707e57d15ccbb38a14a7904e977636d9cdbcedf627adb4a10ee1a160857ddead62047bf1ab3ab5cb62c2ec2569198375b2c44e23dcdceaaaf8779271f707cf4e9cfbd50f83d4d5ec84df4968e49377a150fd2fccdb9ffea2ee9166663bafeb3a1064c885dad0fe7acec038d1e7106e3cfcca31d0155c656073c677e2c0659bbd930178996f6c54b6dedb0bdb92947c6cf5fba5a3d9ea78febbb6093224ef79a662b7ac79fa95a1ca8eb625b386f22211d5b4df9527ffcf7edd5bf62b7151320b8eb34f19af0c35bc4da2407dad24504ff2116b2ba124213f50bcb4541e577e54dd5abec1b0453afa77f600b1d9de1db726657a2f7682bc9c3c673859b308b2c48674499e1b9c7ef290ec53fe6083bfcef1270c51e4e349295c560f926008e15e7e8c2fb473c2011fc8b9516348668f376e6037c2fd91740d800deb5dd8eab0ad4f7c7b5aa9eaefa685cee77e12001c1c61d2aac9885183f897c4aeac46904a0bab4f2321e999340de8cba0a267ddb99a0f48b376a64d721f72547558836527121cad1633bd9d45ec5e9d7f371c40a251718b465c2054a4ef845268accd91d7af22270ce54744766c084ef7df54654e105d9fe33f6934a1f9d006468ced5312085cd8f72ad7bd5db5bcf90a44e782373458de6f9eda87ef63a905f366adbfcf3a8ac77ebaaaa857dc8be039a20129b8925a61697713947469f7838daa5d41630dcdf3d7c340e5ab0d15bf0f08e1d0667c9c11b04de99d3bd43c8a6ecf5df8d2f37b1dd076c700d863fb5b6b6386b2e01b8efd427013a7007e7213870102d82cbb0057f38ab74062f2d415edd2adea402f596fb8e6c706a59098ab667d6ba9a96e131daaee1a32788d71499bd729bdc333b4ea1010b4f5ad783c0f06bd5307f04b9e3e232ae5934d674be7297e42b1d8c576f6ff70932798c8047372853037869947b2be1e67a91469993f9c35f153e730c79dc37b66285bd8470e2de273cc033ba3c1fa7a208445a074e4201e6886eb4ffdd9c41f26c88d116446b156e057afd13d620cfd1cf82864341b4ceac400aa9946b56b70470f08704efb1c210cd40fb75f8dcfeb72653391266522a7b4b6a6b82ce023993279095cf461c8ea0d3128a0d3d4390c87e654727cf7908ad5fe25a3887f4865fb3f0d7343f6378c12bea1066cf816f9f78d0b541700c2cd803328fd14ecabdad0b1be04676687a9235bce2c19b8b561b774398ea430ad2c87ddfddba80a14accdfe34d5d47eecb2a11da6bcbd29565bbd655457a98cc4c54151f0b8cc79cd61319e29e360f439360aada800228fe6f6984c7bd19720f55729e578d96df8bc84bd86e5d48368b8b3263f26ddf17e3d9067b0dec8a0d7bdc6f3c21b1e15da87c6019e468c0638015a74bc322b30c47d63af74e22ced8b7f83cf236251c3907bcc02019c36f9e45b240845e4205938c967bbe99dced5255aa5a26d1d2d6f559f9416dbf7a0f9a10944abe69930ed3cd6b9ed01749d4d57369aff9fa2d6f684b290f4e0786452d68762df0c3ca938924c5fab0aaaa1c5e23f85b6b567abe265dfaa4a567b051230586752727a9dfa82f0992bc1a221f846d34536c88eae8369914b9695560d4e799b0d9a6f5318a193c022c9b83ba18600728032de598a9bd227bee89ca79a87ef75e1ad72ee6f508fda52c203e7925f712189c7eeac2fc894b472e59c5b536981ef244e8b83e0ac9538d30dd05467efc3d0463db66a123f58ea95d1b6dc237f89dd52a35e22c78a68bdb6fdf27724a2fc898c06333aa892a5c2ed0f698911fdab2c3e87fbbd7d7776dace14a3ffe295b0a8","amount":40000000000000,"withdrawal_credentials":"0x00cf44eb0a1841341d2db7600bc9493f52fb544165a4b878c5f3e4be9faefb41","deposit_data_root":"0x2a39e2e7ead1e23aee7c0904697d4f9ef012a5cedd0bfd3c03efb8c80170d136","signature":"0x1270da304717008c7395851feb899cc1f0777b9807565510aa81e90d476b75d4829799fb42d7d0c66ff6bdb5ec3e64e93712a1e7d1939c33e7ceaeaa1dfe3c56c018917da3edd77d10dc85cfa9899a547d04b6e50c5d75f881c87fad8b7c1adc9d211104a8b38bee50d45a98a4ced5af844a8177ce812266edfbf7b1598be32c8cec927783bf39a0b7fea9dff1abb421f68ed5f18135eccc436d8c362a7b610f0c982b3a12a98ff17cb1474ebf1f854829d2886b95a9802db335772248a070d91f9650e9d4d399bcd3e5cc1195fdd63ec812caa9d924f2a76b7926fd9ff924719ebd99793eb0e9b81697d97ac98248802d5d348a1cbe5a3938474947a7bcd2a0381bd297587a3312a3bc6710fdf0bd55bb694965823fffd95da36f78f8531147fa53be02b0ea483a86aeddf2854e9f8be32f928455c246e8c861a21f049be1efac2a62f6f4870b9d200185a343bf24e431455f1744e1746061b0ad4b20c66957e828bee211f65c6f3cd7f3a934ff3686b036e6f075e5d0b2d7308fcd579a7cc894eb515b45efd0c7a62f8965d3de9cd3703480f0f206d411471ece6da83809fa08f6a21114b3d02fd7303440dc00201c380da46eeac2a25b3edfff12bdc34742b3e0e8357a225f343a08fb420870e662f3114e796fc67d46d8f968c6dab631bf835ce5e75a952c38850ee1080dbcd161cdaa572c4a0d1f989e40c0c8cbc42342a91256727c54d2425bf71649ec5e866d1a9f0a883524ff4088fe2749c7972a33d5cb9858b46e4f777eef287cf462bd48d0015ece057719925af2d2ee60f364c416c9f82d600f56b383e89e753e0db1eb3e572e6fa2107fe8542ca78b51b93e2fe55e0a397a056672e23913ac3ed10a578cda661c80031382184881cf06b7a9693d7b0d006489245b90157da89e74080f3b0f3f86c6bbfabca726611aeb68d10d163e03c9abd713677b3b86e4088d7182db4e211538ec0b75635806d2dc5dfe0ed48b349b6884f81a85e65c232b91fb8e3c0a6807be9d0d8a178266958e0494ccaac94b5885deb3b164e71d86bd9888b6944d9663a8ae06ca3c6145d501332986de2dc99112da11571bb98e4aedab2f13ce4531363737573ecd874b091e860b73e18baa33f59292a828e872cb75c9e4d15be99206594f0698df4f8a46e845c1683656c53f80b6bf04793485ac45c226f6706e99b9bd341ed32314636c7757d4c0e742e985ae8279395fe25df8f3546e8e4135cdac53645ca5930e829fe20a138d5fbb05e264a2182c8215ca19c7ee3eea3e441c8f1d12ce609ccacdc11547d1ed2c82e9b8a7afaf75efd5b86d5e0f91cd8aff76386a511f000867e8302724b3b1dc22ee1352ec6738caab5d01edd4b000bfdbbae5b63dc018a564abef6222361fc4beafaf098bdb02b89e80d5069e21b03cd3a64610ce4314059afbbd319a87248d3bba6eea68ed95d6b14677e2581a8220a9663e2534ab2556eec84559269709e5bfe79b53b4097bfb48622ba6d061164b1d0eb50886815386e34d5da2b8bdd462eaef791d4f83a74cbc120af99a545b0ad5c15ccd299539baa531a9add0fc52f15d3b2cbeebb8744d7c892acee0bc9de07414bde954082efb3f4ed97dd824df6158fec16026961727ba8fcc3b52fa9dcc53ba72ad8b7f623e095585d8500767cbf6e6246c4ca242e3aecad423f7000f398ea3b7de61c91bbd2e5c72a60670e45d2e72876f926aca0e9124ba80234e2050e660aadd7b9c3b438adb2888d224b956c9f6cbe67003156ce9de2e8dad0cc7fdf5790edc9f226eecbbb9775c5c099a723767db48ea49303fe104ec49a19f3364dfe657640f322a906ca175cd060e3ae9710bb290c17f85d28660d59edd7124307cf41babc79317303ba2d2e719ae6ae846d13fd0b370afbcda00e2632fd6b9eb77a01221a24c1d30cd837ead5d492b67a82105ab05a7085aadd5feaa1cc5bff47f899641f09f9f6759c3861033acccb116d5c28f213ae5531272a98187be0720445904781f124f4891dcdafb64fc3a2008097c8ce98ca7235b298af5a33876e903635dc836fb3e2ca3e3ae5cd33a646c05ce5c62ac6a4b3c78ccf9eda891bbfc0f9f28ee1bc02a932a09e0eb9e6aa921bf8a1360c328728ce6673bd2ade1ed3921102f7b73bd37b3f397ef51523f804ae340937ffae2b34d53334fca96aabbb77dbfa67bf2a6f449717d1f237d43da55b4d4893c0ec971bed9ae33656831b52ff8c73be843294b211d2506a7faaa87155d8bbe6d6d9e176277d4003173bd4822be0dd9b4f6c274b939df85f0da666146060d4f73493d9624da94b699342c7f2dce3a10d2aba5f450178180586884a42b529265a72dcf97a4c115753126c8b7bc8a88cc75ca1a3a94ffb85f4156814c24808a971b58067db9e5d7a5c6073b426b22f0ceb6fd8aef4938b9612a5b71e2ae8be28de7d4c9c94a37fcf9fe6f3112651d1a09ad6b8e172c9b046d051d27a6d44157141b6dec8c0c166f4eca78f995174678a29914323e5ae9809935c1856e9e6cafb110bd0e44b9e54c815e4594e7508e44e272809fb70cb57b93492e39df9e3604f484b6d3c0e43051dddf1d4514deb4b1286fc6f7adf9202c2895e03837e536c11b6736e6eaceafad7eca79f634ffb8c89ed554aba9212308bf700b26a0beb72058cc185e72edac19f518085112eaa6c6add3ac6daab981a4c212c499694cffb17216aad720288b44032709b646b908c860264847bbf8b735d0ff431e1c36e49638a863598ce596b535b04cff9ff5f47daf6001464ea92ea18cde42bd3105ed1ea0a9d8b314729f5a7c60b56e9a3ba451ead26d73c8f62acf2757c17aa96c47d84221c08db76f5d8fdca5176859c85740c52a2e9a820d2533c7eea174f9bf1f4c12651cac13a33e78ed990f1dec7be23a950e0718e8f8d27c90157b5cf05644bd86b284823c3695a0051b787e1c789a1d34977434d6339727e7b2b500c4aff56d6df4d9e6cc66d489b214e7861b4f59aab320fb32c03af6720c8d82f8baeab3c62e851063504b0533c29f13109a80f8718edc3dcbe759c57f6b56f993f4dfb29c3ff7ecf040616782d70588ada36ff7cd272883b585f6c945bc03ac980488a0b6b4734128fdd83da0a379849b1c050db48b8194167d0f0cb3a9d8503284fff76f05994d4a77da03e16fa765b5aec12fb5a3bfb428ab984e28fefddde872f900c5311c9b8d275ca922a07d7eb941c70fee8818257d5455e7d3ec4f06d8b4bf1e36517133d112cf3efad3f558d3add41d59a6fdea8f0536ab9a9a0a788871d1c290128553b2b1c0f75da3d88fe9cfc6825640f06120852307ccf15851e8ac54571a6fb42a9361232e15c413a3ff6ccc465bb360c0aaa8dec43efa8f8ba7cdb98b2a82bb81b0af27fe3a66376ab46bfa2e7e023677964c2b53d471bb1f8cf9d519d7377f700c54f3d9b336adbdcc5b9c70f9e5ffcf6cacaf9c807dcb6bab4ea12c6b717075c347346c6ab3e737096c28b159d1b66a63c6e2495eab97b50affee7f41bca668016fa5f4eae8ed4f976ff517aca205ba245819981140bdae042ff405a64f50dd5eac93df2488a5eb9b37fd1f3e943defc0fb9d8f5a52fceb447aaf830e5cb943f0df28f64bf96c8f73a1686bf88935b6ca8b74ee915ff9879b88a81faa4195ea82e7243f8a1df6e76927b59ba038260c177d241efd4deab98c01d819c419d08de41a8f7341e1a0a50c6f349832e2ab4dd64573d3cebbf19c84d347115a9468bfd10cb6318da637da3b37fa15d15634e0917dff2e12215653349f048fb84de1da22a02620001ce4daa164510ac9266aad8e8bcaa70d49e85ddf240d77cab54d00e265a9de4d49c019839d53380ddfac16e10b9ddb8edc298338078ba1e57f1d896e3365e45c0227e3908a5d58c29132dd4b149fbbd483c06ad64d6a4b84335684dd8d7589291849acd94f4116a072b8e78f8b7617bd76b76016ba3bedaefd97b4f1b40ff33031c794f538513c2d9ec9ed7f8b7081b012ac9fa74a15c7ab80b4a4d92c0f5d10315079fdd0243faafaa3d5b43a0806ca4508b9a5dd884a1d6557f279c349acb5d65adfd8f2e056be8da388d3502bc291d2742c28beea9b20a513a92d12a90f528c398e5df75b38ec4667d2078e905acaa4edb751ea649e96085b8b302004ad428d1130ec2406e12dfc5f9ca5bb96544b552375a814f8c521be1ee11e29f91adb4b3c1d56e27152051b2f0c61e757977631f83d0a1e5a0217bb3da5c58156df59c118fe8011d685d9f0091b16860922d4a92ebc6c8a1278e8ec8f82852b45b593cabf650e39117c367ce73fdd3d65b36f3c154668c1cd1a9483abbf1b823a26a155c8ba31275a4aa94a0668ce8a285675b94d6ab8480e803fbd5f9f4c46e7c6006f4f6b9c29ce7da8470f5a75b990e8f2a263634c5e491097df401c27e5540499ca8f5326d0fdecb5993f2e5fe280da2afd688c00ada255898e30e6352952021ed532ade6d8b01c158420a8a8244b7e0f900eb6491f8840264efd31a46f93a9c9197dec15c06e61c1d3ab913af6159a90e2bbf0571550f7b23d3564ad98e9ac1a4eb88fb3aa0aafaa97fc9e9fe7f76fb3e2807b6780444bb944b3656e88edf0eb09f4e34a3e1f809b6992559330360bed4131b882b54e78dbd64c1613ee843f843a34d1f9e9c1e087030dbf80aa242c1e3a15d9b76b198bca78443e60e22a9cd1ff66bd25c7c6085247ce47e97f81b3692ada62d8d5896fb4793bd2a7737331d1b233a02cac31aa604da80b6692d14dfd6a4dd401d2c08d1f47c577ba487540824c52a008632d1debe6be789364e0ec91b93bb5620c6d90bc72983e8aa3e26a5e3b7542c2436e7a1d3b78144470d4eb4257d2ac3c6c0a99049d6c1fe124ab861eb595620a1296db467783ee84e5a1221f03eac5192f8b295655f4575d60703635135e94b3496ebdc63dbd1ce13b57501977cbb1504f3872dc393b2a4776cc9683f0b6fa44f61faa171d2d2b70cd0c8b15f0395ec9656d70efc27413017a615bcc1b2f41e18487331095f1e32f016fe7eb5cbeb54afbb8bbb711f5e024a6381599d494c30f99b0e86df2e4e6582790d8ed5964f56730b532eb907b93317d5057e0e38269dc482f0af2b7e8710f5ede7cb15caafa4acfc740a267954246f0540229088b9c34979f2fab5293631a04138db7a45576767267b0541153c814d223119209b188b8cee7913d445adf4dcc368d0e961d79bac0958bcd31b79d0f2d7aaff76db87967cc39200d672fbe09388ea48ae7910e0cec82e025b556775930255cbd0d0439e301da0c4f19f0cae5d2bfdd4ea0a397301005a4ceab54cddf094d33f7a9fb58347b3950b42a18d23bdd6fbf020bbcf05b99f83f2559add24b552269ba0eb3b460fed75f41a46d80689c62bd7245171d255feea14f84fca945a71b264981fbebfd2bfdf4d8c1299c9ae74c4fe1c228f9f7bc2e6a0de1326afa3485c184b7c9462a07714367f0d57aab180b43186f1fe29085625a990632eedba29689e12054f51a1b5dbf2eb34be15da95adde8c58ff2033a92dc393e36110ebcd81586ffda121a43ad8c1a30ec54493b6c440cfe6d31709658db503702a1a265b2ffe3a7c1998dfd52aa2802d087c2a6a9ecb1440f12ecb3be4f28b926bf51696113595da055379fce14a74a43c7612fc990b13c87524f4553c0d4a9e254ed353b1b4007282488a6efe7a4dc43d81b5d8f2eefb29038a3e52b232df3e0891aca4db67f63a2d2077a9d5332ab6e01c46614a89911fc8dffb7cd93144e776888785076b6ef618e86a48fa8f9d1963943ed4a3982ec2c181b27a57a5146c782492b823e7f56d27259ca0794a318f4fe761b79600b304438936922794f5dece76f2b5ccca35bdaf293ed5e702d936df3dbeffbd7152b53df74086d233b985aae4d58976e04438a6b8f8f3e09aa3baf60b53954be699f63d58e53c4fe0a8de99b56dca16d65c03b533bcc1da451392fa37aa95dc6f9f7d50197ba730c4960ee2d39a9656c3d7de22f79af1c06e4893fcfa839ab8b20ad782ace9549d22a83ed2206a411e5c49dc4af50a3394544bfbca13637f1eba23baad66e6655c6abac036624a6321ade3d83c964641006799a734523b2215c6470f63ec611cd8b3b2bb730f2aace96e4696acbd9e8ab27892847e9f2a42508cf9ffcdda57643951b79bde705678f373a6eeb3c00b44d2a67349a2689a614a767a9821bf34f27ab323cade01227ed6e73dc67a51140e1a2dde46715bf21f17d4f965be32e35ee62ff2fe73c52fc785c54ff5d6535ef767d94b31ca8d70ce238542e8fcd3af6867f0f1eba475e8527161b7294d192cf9ee101a4f59a0d1ab5c46a66d64c84e5001c1e67f1f3132a78b7d6d90f131f242f646586b8c8f549597c93a1aaf7021e1f4a7b87021a334b57596a898cbefc0c60d2ebf521264d8098a3d900000000000000000000000000000000060c171e242f343b","message_root":"0xa586430ebc0d01a82221f3b070d38402ab6051f17f1cf3a57d8f2dc0a3ddaded","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe28eb91c12f435cb38d939624333dfb2e7b04db593149257536f5e5d3110b7b3f57b4098daad043c7be118c93d4209f3bf906ee254e4da634211a1c3452ec3b5733865c89e7f1bef288a2d2e56773ab4e5b5f10cc2cc941449d0c333031c59d8988a7f3c39fd8b17edbe88901e7a251ec0a729843c43a9756c947d70a5c0962bb89bfee6fe1f6ec18e0f9411f9c208083e8a377adc5c0b28fc977f7ba38e22de1e1644a43bb64be3a8cc1aa9fa5d17c2fa042f9d61442c7f1bbfcac0bdc48e67acfbac2a97e6a49e05bd499f8bbc734d7f92d1e9e8c6a919d869628033252f591a9f3a407304392b13d015e50f21a1cfcceae3ef368b8dcf60328515cdae46c2fde96159e712b13d1e2d63c80636289859ac0e1e4b70457fcc894b8253e7ea4d1e1ce91e55da21f02066dc8c5690fa0554d512a1c3159a8cd082cec95720f2bcac00c344b397e896d417f2dced03da031acd60a50d478e085243360c8f84696b1f7a1e229bb0f2b4dfd03a1af9cf412be6cd466cbe6919d4b87757cddf7f4d0b1247d76a9f661aa7dc6a1d4d912ff3986a0804845b75ea841231ca0b40f9410e4d4ba69b6b777540362f4692330cd09795235fa5b6aba9d81b08fc28f6725c9c0b959d9bcb7120dc47b3d628fd1555bf8c65c1de45306cdcf645ab18a2fcff8c4c8af2474b48d7a7310f83cc4da346b234d4b6cbe3ed03cf3aca9dd85c60eaa37866fea19d09da4bee5a5f1447e77c6c152ddf52063126cd812ec1f0f555e731a6e2b9d23a7efc5234696ea86495c9df7ec4669ba01efd5afcd4b311af56db3b601bfa21ba5c8acaa472bde49483a1bf10ea0ed261e872f4b96cb15e25f3e6742d9df3dd98caaca880f69d26208579ccb55294a90dd5f97934df073de8bafdd4c965b20e32a3545d928fc4c39d7dc9b3f70beff47895c8c7d3ab00f849223dcf2400af7affdb75518f10940d2e09f4c417fbd0912ff6c4412f497a2ce1b7c74929ac1678c97d7b977df2f6709f6fb291dba59ffa17327f7cc9b5830ca10a39d38ba765a1cfa46d036a519b5904f7a9c2d98495b270a26711c36c3817865b2c298fcb9b3ab9f36095dcdcb8ca961e49306a3f234f3557d5647280a9f996a99d3939b51325cda458b758d4ff3e9b426e89445b42d4ef202d1906da7b7968ca506dd6177cdf197e5bd38317a9677fb7f9d760ff56994fff065f8c9f98a6953805c3412fd38660a306341fea36f0d0ca60fc709f44f423b72e07cdff207dc3c9a5208a4622382be80bdc0ea9fd1c28488c05302d04412c9feae4bf46f411ccb949f9e7d1c767039a1f799a46ef38bde542b4fac6184a307ffb749fc00d06a84d9064ec8b39977c3cbd7b3c750efc363ae13b3d12625b47e1e09268cf0a3abae2f108f41c13da740417bdf886dd4c92703410681af3acc2ae539e7e3620ba0a71e2585a762b64bd8134b1a25538910cfe39beb13a9264c340d9c349a2f7200876ce8a903488443856944a4893e181c481ea09f117740aae49d1bcdc4fea9a496c8283ae9a17efefac9ef8cb74612846cbff60ee93ef5563105922e37241e17fce84ad6549de1f074efa7a89760edc4bfa75f0d5a434c272c64b77e35f836beceb296fc32151409ba6d868a3fde151c04c9794614a97dcc475d95d150ccb2fd863dba1b25f90d9077fdd734d3787b3e9fae9125793078311acd175d4cfbe586f110eae1345a0191d077e14cf7f61d4e7bb7db5dc405d40115a07104a0acf7c40457952d3d5965ad1cc2fe3dd6706103f9ec14b9a8fe2f6d7d4f47e9857cd58d862be873f22cd1ef4cd7faff15e5c5464af56ef21cb2bf696418450aea36117b8ebf15c3788d5472d7c54c100b165be8c1e2fd4825b6ab3fc6ba73714c59c78fb2cd4d26c90b2262ed1aacaef790504d927985d53ac20ecbf3a42080cde78f550dcdaa72a0032f574323d29407f829d71fc3fe6d10a2499752e7f860dc3414c2bf6479be0249fd52a116ce848e18f35ea67137dc26fc4043a4b993c4e50823505443027c609523e2a5aba01d25062c5a2afac3b7f9d95da84082c0631ddfe9614a9d430cf5af5383f8bdf6f6f7160be49e9e45dfc1f7862990cb400102cf94c305935517dcf30f5c30b7ebed615124c0a8afc73f3b0d8f351e8722fb108a7378e17cebd840407efb2dc9a89f8196aeece6e82df58eb1910f5399a9df70a5afdee6ea1e0edae1007916155c940e05ac5a0c9e2f763a019c07d6dd147fda8b68e6ea1d9f24133c4c69b2e4561e0b6e4f45a141ab6fd49fa41592aa94c3592d0f88d0a2d2c2b3c0c6990c70c33c3ff7164e511638083b4b1163330767966d511400ca0877bea35b7dc267b40f72a01b3a542da3192d46bd9a2c3da75e9f160617e9e6c8642f6c712c29c8ddc22551de8ce094856b86a219b536b083d585737e194cdf9ec3506813d28c201fbcf9905f99e0dab43219e55637ff42e57762f17a3540cfd327e8a127e58ddc786466c46a03a9a2546c8721dbfdb0e9f47d8efbc964cca5f30808e6c5bfe12ceae7a56f6527aaf12a0b229662f54fd7bda4e86538a343400ff1c2ce1b503dc168d3a6aa23fa857bd49914428a3f0c7284c7397164385c4bc8c9e4d5e8c16f0c711f5d6dc1d14b6d5d4627197d0720d465232949fa94b0cc54e11f1043bf72db5c62b62aa4745c266af15ff37b6c0282b9bbc3d7a3d25784789765992211d5c37fa96bcb369dcaf451ab0556e524f4667baaa506fe4d89be2f501a37704b9056f589aeb710cdef38dde13ab8ed7cfd8883a0fb0b3d62487f5ef90cb4348642c5c231cfc973113c1331bd5fe2d4acec3ca80e112a7db42f5f345fec71efd2c848b3dd708d0e90966d273925cc514ed0f8a645dfbc6d12aed97b7b2414031b799c7052ff2cd0b72db41d34cf7ff360a9215dafbaff0cfac761f88482792eb52d7ce850b641840afbf0f3bcbf05b80d612402b339369dd6814ee87cd96a597db4a4ea4380fa32f52290c91f7e93ae3bab0c402d07db9bb3b307506295cba353ca11a703ccaa36e084ded8d4071e06f7b21f5fb7d76f65729f3166eccbbd1d55637c6878b426ff3350a383bf59d6171b2ea58936f6ac444d269d17684f7d178c8eb9bfc8ae0aa9bff2884d49747084f5640882a022eca17e937e9880fe709df56485cb28bab637a45dd2eafbd250195f18ccd8b65efc84d22eba5f5eac39838c0f8630cef9ccd42b5aa2368b436b6457c88cb48b9017dd1b052689236ef6c66058497de3383ad3e53ae786e5414e19ec07f23439b33a03034e30e09d987ef29e1601e20201be979b387bde28984d69afef61fd29683ba0e2745b271472813f0f337103a4dc7dc4d638bc5946e5a233dcd8d16704dc4fdfb11fcb1874531307f41be25d3fbcc3079e6956a236f8c006ce9e63de802080b2dbc923ecd077ddad318a7366009824fa269b8da26da33419cf6e4da1531f89c9e71cc379bea84db1b67a0eb784c7056af03b3cf00737560edca02d01e222292960b5cb55a220be3393d3e583fff03e6af8f670fa328caea800cae071ef19f7cd9b520977a61d4080e7b191e6e1fc4901634b686cdfa920501c48d28655cc5b105b16b2b0b6cf3ffc4f954db6590f4d68c3ccf603a059f05c61d4a661c2089bd1eca5e79f424","amount":40000000000000,"withdrawal_credentials":"0x00c9726d359fc8ff59ba55b558e688f74f9bc267044c9cb4f1c9977437552278","deposit_data_root":"0x8142f09c1096a2ff818aed9c5f4ac5ae22011d481159b537289a0a493ee78937","signature":"0x9a9cc520d0ddb414c70cf7f0dab72704a9b12d983496a4ccc300f8646b5bc025f15882bc36d8d9f4d766cb6a8226a3aa83c43dceab69c0ce555795bbaf56fa30eb8a181f5250c24925dd77797787759570df950e3be25b81410bb310b5b6f496c6ad831dc567132561a4e780f14a18a3c997b31f04302c68c9ebd40609d3457abdc79d2fcac2a2e933a9e45c8fb6a735abdb3d21627098886cd521105337fb28fad7e9b999e0b283e69e5059254a31749039339eeca9c3c03c4f9e247c676965bf96091c91eeccfd5de10640793fa07b6fb6ccf2788fc42fd924b7c246aac75828b7c92a816389663838c7761930ff89b87028cbc2bac41a4eb0a369b49ea5e96ed6ac6d799ef823fea927c3a4a7cf4203c6b5ad087072a8942d498ad8c76160e2b91840529e0483dea60f19192c2efc01424f98a2a127aff39d9e28645aaa06ad80213a24ea8790363f1c6ae40334cae97129e63ba71c20ab053565779de31597d315560d41b029beab756a3b98509be30ef6adbb22faaa5ff16521f989b42e1a28760be4b5f8f9731c198ec9d59490c1f6066199311d4491b324270cc845d5084fe8212382c5400380082f2531f3df6fbfac886dac079f690e8aa2ee85805180a86996caebdae56c60eb1da655b32296b4869089451da7cf29faeb53e20d1b4b7b2e9be7089d91c3b0b6cda2c45334d364d0e31891db36ba7dd0258c4a9209b4dcc784017df2f1ccb1852026adf8d2f7dd7482ba9a925bd22b1107330a4213d0a6beb0189758449c0e61121bbfd22e60fd77687f4a9dc4b9b82a4adfaf92fba0d5ac54293f4da2ec507890c6ccfc779c8c640bfbbeace970c6fc24804c37e9962a20749358b543c5e5aa297a7020eb9cb87d09b7ba43747a6857b9adc7ae7ea746780fc1c5bf68d5f5fabe47e145d3b9f8044e261c4c5c065e3e38791fa6ba75048a6b14b9c13df96e98af91b4c4720076728ba19c2b93864b5d84e0c9e4b261fbde541d9ceebea0606c1aee18dd737847e5aa2f9377fb864aaa94bd38fc794566df1020abe875646d2c4e9c92e147f08524c59ce30fb7ab7715556e51d7d91ce80f3500fe792c9d04ccab874ed3614e3f661ae5d510cd3ea66bd8b47ed6c5f64d215d89dc6b220f169b1a4fd1098ce755efbb88b8f0126e79a4a9f9dc1d6846d2f8ef50b6b74e22216ee97bca8f31ea74b3aa1a2ca146a14ab95b61f64b1f9f53eb2ce5e9cdca28295e57a54e93171d819f1ce740cef04d69767670ddd575981bed8df2a9233e34419afa9d8382a4f7c4dd45c3f53db7a5ba2f7dd3a2054ef35f626786370f5724d23ae556a264780f51f3ca806ff23bd6c54406e79c9fa4900043ad5071ad4f8f52189e4f9c45ef69ef1357bf2cb177e9c23797722b84d496c1a45c91c44b2f2d985f073c17825009d7eaeada9deab36bcf945fcbbe9f0334f8cf45dd04a6fddf976ac36cd7f88b6e2544d69170271dc2c663903d4574ad0b7058f30ac3271ab2d4ce448b31a98bb9cdfabb234ace9410fea58f451a341f2d105a8e04fa169a920258283cfaec46552e275c4790c91721f4b4e517ad7b37456e1c6df42dfb7bdb944cb67e98d51fd3313fd6559b867a8da71593f71617061232ca3328db5f74c9a210229c82bd6356265486e5c9e31d224af82cde115891c7d3fe8ac0e63f8176743b3dcf4fbefd168dcfe0d7ff69a69853202f66ab22cb7a8264ca722104e801800460565803b89cdfcbfd9d4e0fb764f0ab87e6738aa29b93ae0b2c53f670a83ca94cb8267a330a93575ad575949e13b26c71b1fd70b1579f103c76f018823ae3f594b6e404735435a2cbd07434fc88ad2bb9aa7b1a9caf37b523718c299d3dc8242e62046f89a159a9e685fc7fb0f1712d4bc40fc356485b1a83b2bf593ad3e661681af1a91be11469274b1974ab6086ebcafefcb971039dfcfd61515db0d2145f4fe9b34c7b2307355cc28d0d1f5c4976703d19701a803cc6f1eafa2d4a16cb0b04ebc690209db63b7ae73b6698152bc7a408a9f0cb77cea8147daf21421dd1e3cb27f3857043691d3ee0cd5f43c96be434f9cc394a2d99ea1664e8aa24647a82c5753a76e72640e656c61f31dda37308eae7054f906cac318c1d6a68c5446df5dfc056de30c521a2e736088f9c6c341144fcd18db5bda3aeb4c412241e4da091da5fd991e747a3cca0fe8b10f5ade3240cc2c939fb851bc53c92a1f470fd3c81372006291685e075021d860411287a276e25eeba0105f2b4bb3bd7b00972a911310e26d2a73f583e8830f397888480b1764a1596a65b5cb80c64ffa7c81bffacef69768facae42c46b32c2ca23e07e07c3ad452eadda14d72e029f17872e6e4a85d515dd3a8527d55cd9d4e81b9475ced02e214bcf3f8d861b5107723861a4207d4f87f71a073842146e667e9438ddc2561891836d2e79ce70d23a89d0bbfe1559c6e9933085f9d8a717feaa1792173036dc131aa26bde77070cfea46896780b26d6fc0975807e708e79658af583d76bcb79b3d41bb7b8f4cb73f96c058264127bdb6467695338f96b3de5a94796ce7fde1639f909f34b6002eed25091c6719aa541537fdcab133cb32e127bb9def7bd605e5df7a08f6a59fecf0846823ea4c79a4dd46b422232566db6ec7a3dce49ac5c1e178b9129a1e09712d3d2510b70e25b4b7d617c94f4c082c2d9a5178cedc47e4409a9992ab16790c5eb068af5802e66807e4f8eaf60185067d814b59b6658c0b75a1e715d5845c626135ef4f5c4e92fdb750d88ec16c66be4451e6f48f0fcbba49d2ce460c7b773ccbec34d9c21ad5f50589b64607db41c7e942940946c81284f7e445d97ccc3088d528871262fcdf1b3edf4592459172c26c68f193dac807a4ba0fdc2cd97ef4c1a3eb90b6d8e47dad295c2946f5bd549c644a78ca01b11290c8ef085ef2746df686c3cc8847454c7a23bfce7e103fe06649f579264ba2869e0111f5a1a10f1bebf325945a5ba6c099d68285b12ad12487ef3a8ba1369f7644f27c51721a818f7a51d82a9e89d7d8dd6b13b10e01676434a70abb96095d48abe8d5f12aae04e160388c922d670205fd6b544695fddc044e9ac824c2441819943caad43a8d74aaeb92f6deab78269babfb421edc2b0c693e0411fad0a9a668a85aef54e0797e705f4403c195cb27e115de34de01ff40a4cd7ffe65506826479d54b98e08aa347f8108f73bf72bfde1ff4d1687bceaacd639a1fc14abbcf89969eb7a24759936948c9da22c694f211979dab860ff46c582ba7492ea5c6184a4fbd3084940634aacbd0da78721e874c0face2b48b60fb0dd897446e5948ec4cd9ee0fa5d209d78e4182cbd27d8b498257a4c939b0bb1c8eae0e0e2fabb2d1b366ee2b4ba5fe4de6e1c8116aafd8276e137953714fc6fd0236a1c9a07b4f6db669e58b0fc74fbf7d36ffe5da5b67da27254d06b022a408634934b61dd0d1023f66e0391a2b139f22385913ea42598f3dd52ef081141e400f811de2ecda5cd2ad429fc9750947c150e5eaf46a63f6118ef0239f7112387a50e100c4e3716d12a644c6271719705f708e929366a51f0c15133b06557405b458774fcc940e9a0aaae53cf9f56290a015789b0e993896bd041c86d7a5211e2145e879e33d35bbc68d10969a0dbf32d4107e14720434174e5dec3e25eecc788c8609778998dd84a60c1bc44f2f56ad3aab04440a7dec2e66bb6b20f6cd9c0115aa4b73db1b0d863db405e586e25267c89569ee63c950017b9de45ec7ed0593594b183ba60010a9a8c53a8be909dc9213cfdf398620d356a5064a1a8981692c112e1c6f6059ff0812a43ea0013ec650e6a6b615bf86d7efe460116c2cd7010c9b61a10d111752e9d14aec568771584413745dfafc3d0913a060fbec591c01d501b5a29b11570a6179734ac575af452d197408ca97fad8f5ee4dccdfbd79ef6ad18a1c37055201eb95f5bfefd86455715f1be505803e539cc1136a9f6fb47fccd0862f608199277df321324bd92a9bb248890a57855daf9fe0a91be23de048c71a9ec2a07e773ef8f0d929ad93eded6d2df549a64ee1b2a5f628e647fecf612adbdb711aa04b9161606ab09dab0dd53ba642be9d8f286b9fbac9609d3b29ddc113dd0777cc1648b7331dd2f1f7c1b152db9665dea1fc75f2ffc0038d632efe03f483e32fc371778e80d311da74891b9172470dbf02c40e39d87d71bac6f8b82ccbf015731c69a6d92c5e27508e89f66dfb8fc01f3ebc410426e15bf88f240bf6585176df32c4cec323dd3174082ecdd0b0cbb78e334f8a7bd929898e398364a0d68d1c4536e9487d16d0b428b628304ff180da97c515532a5650708fb53dcac5db92f92064e5856d77b5b67eb8ec6f9249c4eebda1848a33e9fdc119b777066ee321d65e0d45497d9d1c581be6ea136dedce37f8127326cf5b530f9691cb37e80fed2256ec889ca06e3ee7dad60885b752d06daf17ec0a6b8707c672cb6b2f362ba64b4f51c688c193bd40de41a54f444a5d984eb93e5f1d6a8592e136e5b066960e91422c1134a04a074b374b75f423ff14fa712a6509d81bf99d92a450e115172cdd221ac4dc18aaccc3c4748c662c7907e9e1bd29a67f5836c96fff1e03bb3167e75b0a929b73fd072bb159a560858cb41baacb080bd23838a4b7c8990f9077cd7eacccf9c593c7ebee052d3aca666bae154ad20b4d396eb3b7669e38e4e9d34b230ee29ba35058efa9b3b36d52b3eb9cbf07d828175c5e2179bdae9c26eeeb3f2d69d0e04b85269ac12ec7c135ee2e89a3408a16fb9088333bf006670c56db3b42952c1689180f1800d076c28be65c958658dc993118b8a09b4d65448a252db1051f542f69020d4ce14b99fd6e5151780dad4611aa7cc1bd1906238154a638541b0eb8d149c70b4f2c5ac9ee203595504a6977756ce2d198bc9569d6544aa0a888e4f4a2c3adde5de98033c731eec2df910fdf7a6b4d0559c1c3abeb898d0c0e88519d30fc5ef3e3b0ec6f7168016d4d7d03f633eb867a7b58977b1eac4335455bf13e1cae5fcfcc4017cfa3581ef05db5cc6a117bae7a21c6cb8c86fa6b966b17ffad1bb215c0f6c8038b493a9ea25fb022f133426293ef30ebc296ca249c846d9281439bfae2bb631d5a43257a8e4918b42b6992a38b19560c4e627bcbbef53e6a57e20a71999fdab83182b406432d810121b0a7574c9b33be26d90bb5986d3e07cee8004be90f288ace782b6841a96c7ffa1ae2c0cab86825b6fb667df71deb08253ae53bad253c63feddc40b61f0aacf627fee4d0a70beb581c850120b5a6ae995708de58f2993f4dfbc0ac71c569b33fd7062f486890ec5fb0a8b9c628077fc812a08fa6a80e5dd606f1756b3bd1ef609fdf57985aa81e7ba9094b20f80ba1d33125aea2fb1fa5c28f47f2dfc54ccd6b8e011dcd1cc106f8dce7d59fd822724e5433c1ec91a486838b4958909fff509cadf090f3d156c51aaa1232cd238d4b227d709e50e3f9dd269a8692b938a30c65a27ad119e733e33704a7fa8ca1cc03ace4206e8f3ee76ed5b0896656e841a5a3cb25ea57acc85104531c42ad168246eddf9180407fdcd44132a2e9858dc94134aad5c54b996c9926bcace47513629cfa7a3a984fd05fd724c08d4848aaec8ced9c423fcdcbd15eea1f48d588794c8d291e734c064494057ac9a26978c22d02069bf23c1c8263877ce7195f645ae536be8787708b344f3c6c16137bcfa5786b3cfd2aa0900c2bc1bd4baa2ade6422792a4a7e7203e4e0a5be5345254142e2e92242b7f6f40348296aebfa0c7dc851a1f6d290c11ac4f4008edbabb886aee8cd71c491ef18414fb111b0724630c8f26a47f87ab50d9417da7ff700c741a36b2377a742d66aaaac35ed21abf6853e7afa8f2b3dea9d78012081f20d9b151df62f6f6f58c1cfa995b2c6b889f9d7e6099d10041b8f670e1f19169b303c545267162d0a9eb9509e29f0365b4825073e21fc9a549a3c97594daa3d39822ad5904fd81f2094871008683cd1c6edccd8e3f56f333399119558053c7c240e2af5200b2d5b78a8b25a62cb35a09987bff1d0898b8ffde6777fc435d4e62a960034ecfffd351b2d80785206bc9eda243546a0f26c8f6707b457d8f862353430b2f27a95427f0df9cf5e97fd3d36b7bd3fdd76c50d6bf2e302288ed216272507df57bd93a65c0f6608a1566a3ff230f68cd85a03541c5a2482040b8860dd9891ccc6ac8f787b821767169b990c7b8eebb5c2dde8be7ed5a0d2c10984b1be9c85ddf8fb25e41589b657a9b04bb7e840319183b2032f237ac88c1f599bea955b74e81e5b80101bcc93d28ad42a486fa6fbb272e3c6c4cc60161192a3d8a3455dc150b121856cfeb2549686e88aee5f03042444a50679394b0bceaeb1e52657f93979eb5bdc3dbdcdfebf5f70f38729bd2d42b319ba9edf722344694b8ee147c9da2abc8f80000000000000000060e1a2a30363c43","message_root":"0x13ac778e0255440eceba9e79b1fb273cdbb759a25b6df0faf0a3207e44a82e75","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe7df620156eaa04971fd022d460252d07f4e27401f137edb3015cf0401183d201690ca4ad40254c46930ee047691d6801677d976566a2a404d1a2d4ed34e3560a46f04fa8a0bd02011e67b10d15228f7c317efa6e70c24e1e01fef35f7358216425ca6a3c89e50687fec2fe8bf9674acca875dfaf29a2130fa07a611977699f8aece80dc116705baffe750cb00fe9b8db240080a07807e01ffbdd3c89e7bb01ea66d086978657843dfe0b30c332e427e71b2a528af5fa25ee3d33b6bf41cc2bd3edb8566467a96c357885c2c86a51b003f541b751477473f03b481128965f9ea450624a0650cb2bd5d54ddc62dc33df3e20487ac8384a7ae80851684484a14f5f0f5788a12fb51da1eb77fc7d1fef861ce29bc996ba186c2051f1cd1905c3d0a765571a0baf2ddc52bf223a8760f5442be3fbe0996b48f2ba263678c3c1f700f641ce7b045e978ecdbf941479fe4181403a4b383d946a8b8927aea13c51a4d742ab6b0dfd6db0ecb7352db190610bacb786598381b149df2642f0248ed07cbc0a12b38f799e3a7791af7b7b13ba034388cb5e1b8da5b9d129f82593e0c52d1f0b9776ca1ed182d03198f34385c3b974631b1ee11fb6361bb4defd52dab5107b14b26b927bc14c7dd3b97b2f5a96c21bd9c8667f662b890beb540d723c3ff749aaea018399cdd9f5757d58e3fa14a2eb16c794cd92867c87cc61d872577573a79d41158411e545c68079cf19630a0a44270f73e65995c1d7862fcd56e176a31af48fbb9912e342631ad5c2809d7bb5207f96a36024f23b153948a6abf7fa681f545d008d4742771b5db8295e31a6f0360cb91bd211ae276ca947bda47350953e92e2f8263f6cc06dddb2fe394bca63cfc52f9fac74aab47547612501776557a85823994ff5876fd77505aff412faf8d31f75ab22fab8508685e51421ad0c32a038561b8eefbff5d7e535bfcf0fd8459d89c0f6ee7a7f90cb5dd30ee131a34af2ec29dd501729e41613514622336fc4487f0bc806878b3595f6a49e9cef494bf14a1c92c17e9eca3cebc59cb1eef81cb0ca926b70ef420df7a0c7fa40ebac0b14261446042f8e230fd92ad357a93fa60f7b7bf38b4e9125b80dc8a6901a4d7a3cbcf48a1da02902a5e73020b5f514b4129b40d56fccf37c424b21f2bb233aa1bfcf2187f78333c17b779c5922fbb19a677b335a7c4c29030314c2445aa9475a863b53229b528c68cd2a28864783e2f6fb7bc099abdf139736bd1df3b1a03b5612004d190a937a66d2ee49274776215656a2f7a280578dcd8f1c572d85c26459fd90b3ef75c0f9b81ba26d2f3e00fceb2985bf87a0794bce8e5f2c74a0d2788092c5e8d3fced9ccd9690ccb80d72d59ff01ddf14366c47a57537416391936486048a15fbda4f3c89b37c5333c78a9f3d10556a8ded941fb80f31c01d5bcd96faf781e612a61a869c017fa90af1c8ed147c66bc9154697e6c1473a9d41ca026b89f8d7f7971e7b47076b9d5623fca8a7d8bf18278d5b00989972bc1503e371ff46f57a916432c53e9d9509027d9384d2dee8475ff083ffdcf1371fea9d1b2ef1ef3765b5ee969e6bf442885a76af5384e011ea70681ee086dbef69e75025ace81a7af88cc90d50ea319a29163e57d447484d16158d1427d5491c2677077ec5a421fae7b3292693c16e899856d62ad4bae9792dbd404a8ee35a8fd5071755ca5a689870714ff9b04f597c0f30391274768a64a3f9099b934e448016f5088946b5ca581012b4f2def9125f627f4854e8af318c1d6e42e44cb2f915fcaf8bc3c82b8550b86f81b5dcdc523794ffc8987d0dd43acc3b7751f604585ac8df154ebca2d12cb6e2f2371a7e320546946079bf35c0a9131365d44d2ee62054355c0f27cfef38d56093dc76a0bb51f39c3de11582e0bf73f402fff67c395e4ec0ac0e41f550d6fc5c32bf70b5b6ff0b1eb65d8b316f1202ca2d92da21031d663484cf2f1b7ccfa8483067815186880b81e26d4da1497fa2378a42dd1dd2899aff1ad441abc32b19c64df6bd9cced82f5fbb7dd5a77556a0fdfa2f734ac88973fd76418f9ca72bf4460041fe5f93cc3105f735743bbc1f0f8bf3f6c511ecbf38508c0b4860cd0a76dbae5331832718787e403a0d134905744bf7bb848f0d817ac03cc39436350f309577f19667e6d9a823c5ecb9cdd1c7fc0ce7eebb76304f19d759330f1c34dc83c83b76373ad9c5ecfc94cd22faf0ac85ec7fde6266f41bf1e021d656a576ab7239d258e0846e3427ddbfca65c6b7995a152b3b2eb6e6980d627d19a76168ab34ff8512337c89d01e4e77bd2b16528e3205fa1060f3d7f5485c3ae6e3b44b0e5a2dc87e554a093e85ff98f76fcbda103b5cf4ebe92975bf1d390f9e565bf0f90e9b890caa986e20a107e73bf49383ee159c3f848eca5c7d8511025d74327893929e3d8f5451b6f5e2cfd6b5df876880781fcf8a78f706936a94e63840e255daa33e032eade0afad4fb1bee2e792a0843a57c9d7cf8358ccf547025d1eda50e1d4da0a089ef6619db29312065f92396249a981c93bcebae5c2137f930668272cd9e1163e4107a1dd3ab884ed5cac54318ce29ada34dea738a635ad6f2ea496504181e6b358d4909817e3cb2786d0fd869b45edc24b932319f66d68b75f2b13b1a735a7d7b3eabde2277f136d148de8a5d899b0d1a5af5b172cbda445950cf12130a05ba6b26858de5c10c6d0d8ed8742524d26e279a34de7afa4e9ecd5386464e6980fed0c7af7de6383975af3facb5be66099f4e46157d55a2d26bc9b8afe030e53c08ccb303bc4f18bd90fb8e6c36b224f38dbc971ee2f0b69dcefab4b6bc79c62c2fec55b060b8ef11f6db573e3a63f18b859f59c21aa589b3540f059e50a03932f02fc65d5660b117df4cb1a81cabe39a68269dd75049164b6ce2d9a2076128149f0ea4b6950005716ce83a9d8d997b853743a6c7d477a1a569848f5cabc425a8ea7b59e1a4ebcec52b790e2280db3deff3014476c6541279c309bf0199ef2fade7c7d0548cd24e9b16b57a6e3bcf16f648720b2e74b79bcaf5e5e67d6b4d3b56a6050b60d3325f26ec7df8f4340fd3de5a94016e70dcb93081a937c9b873ed03aced65c7b053b7c3b06cb6380b0773edb52b2331a9a2d8261f5c83cdaa5ef4acb68b936a5c5eb1b6aed832cc943f9f3e2bfe20b0f8f45670722ddd6dd958017370246089527615ca836c88259d5fbdd4845bd8814f8ad05f6372a8d381f5fcb5d3ddddfb8914f71224a6b8c10642a294643378920c56f0968b454423a5e572d49fbaeaa34ebfd8ffe2cb929fb0e043f34ca0de505c6f3f028310a6be75307396a548e173d992fbfa484e069a413f2ac0d432eb8bfa813742b8a3d23f6751cfb32386b71917a1c483d709a200687a115871f7a187df9b1f9f44f6c0bcc0c62812615fcc4eeafab636bad809f3b7f678e5b83e35de654b3d3a178f6034722939f78a129fcdc2658f0dff0e7eff188109f2c38dcfd2a5f83c214f7178e41485f621ce4bf7c55e85ee46bdda3195e51eba98b9e174f29390eafe23df8b7a76dbf0485ee722d4dbb37fae7b171591359c65c26c8c518eee6585f5d8d232990bb40a99cf7b7cab1ea463c1f25cbeeb75ec7f0565b0abe2c21d59d10a84eb84364","amount":40000000000000,"withdrawal_credentials":"0x00e659037bd09bdc16d239df2097f97b6c0afd027807dd27197c0f00d850db20","deposit_data_root":"0x7104694acf66c7d509dfa3d4863c71cb30c184da587af4ae303e34f3b1823633","signature":"0x2488e0e317d526da382c7a7d06245131c8cf853c91d9784a60ed3b21d46d90cf9ec25b0bac5705ceadc100af74a1578dd1faf9bff4fe9bed0a69474e73342aa0c1f27933040bfdf1b6f48be9a8f6b1aa39b1ded903a13a06772aa1be6899a2af35617e0578aa511a7969dcec6e86f58775d1b00c469b75ef94989e0d234f090ff1b221668eee0bb88952c5e7e978009c15ec6b5e0937455594cadbcb7dc5e93839df41ace039c50458271bb47afcc43b4911f2e8307ebda560784de8a7a74bd20a37ec8cada88ea390e627986a92c07b63f5571c6de7c3f4d2c76a314d643f1cb306369203eddc91a9f1866fb9fe3c41d82f3ae9d95bab7e73ec5bcddf0fd0740302a86243d0a90144429285c94e16087fad892b6f9da0b87e91728fd718ce079664bb93716f0adf449ec4bfb24ff8ce110ec05d2a418aedad3764587aa2b43f480c83fd8404532c1f0d4ca746c76eddd171008c4d39de6572c2e30d958464cfc183710b5fa85d2c8311ec319ddb14d961dcbcf41dd691bf9dced09e79dbfeb467e73b1e00fb3ce46f563f33f379a19027a6d9fa2a52d0723522d09a7e417f7c1f97f666be420ad25a4184523e958dd83182c4cb9b839c437adce0138e86fadf85da80a00bb4e105cd7deb018757f71ad90ea814399d508bce21a697fbd371dadd2323c5982e67d4d583ed9f63abb2a82fa64e274aaa9c130d90147936c0282fc96a3a5f53246bbbba13c7473dfa33b25b18466d4e68096c924b650b1ab8b9b869f02424052322f659382c95212139e8fc1eda099a17b837fc63ecc0bd0550350c4c45df49337c1499643fa3cdd0b731a9b13d12c8dac9a8f826f393a7e54d0a70f9923b72a609b680b244b1f61fe69966ba544edfb978b778418538eace4a4830d23e24f5a0e1db5bf6db5ec9833dcd17f314a0fd8c5f6ff557ed67dc36300b27147b275754b261572136a818a04e59d224812f4a840984701cd82abaf53b5d555d12a0c66d3882b7c8e7117c2d1d68432ce15489f34e178be8d4bc57bbb4891961755e6cb8d21ea5544d255c11b8fa550fae001f2efa39d46e2cdfd1b32ec9e3fa4b462d328446b2b20345d82701d44af84509fbe0e708be3278ffc9dd8745380e7f4c8bf340df58bebba751b3d294302ea7d3192bc271c5fff09ea7796807b24fa276d0e20f38a519fc735cd09bf5cdebf872a188258c3fe9e2257a20ebf6b240054633a0af367ccbca431997d1c1c1f37624870d0929097812a65037abc488c9726cef835e525f711d7c83dced51395343c5cb99412ad4959e969986550d8ed2efcea29f92e30d853fbcab5ad0924b2c1633991e4cb8a335882c72bd7288260a82c8762fedf34236554263612b65d9336d5c3616aeebbae706f6dad195446822d70e681d8b5ac3dfc0d1e420e658da8ab79815cae6eb123c3fee14606b2a3744eec78fe6b1a4f77d77faa789c6bcdd71b0fd4d01a75c04205764e8c2a1ec4cba1dad407fdbef64e5be4c4024dfb9d128bf145d73d1a391a260ece81abff875f3f5a8bb16c0c09060843d34d63c0abe341f8032dfeb7033fc69e4ff625ef202e7962f233d11a06a582e3e9680049b64c179422db1c37058ec7fcf6c00c18e64ea65c9454e341d5f5c5fcfc45286c54b3066051c8f93a7f16197442efdeee140b847234ace4408c640de93176f3368a5f97bad3e02d72d8ba28bb1253e4c3c9fb230bb8c2bd5204d860e8eab33cd9becc1c080ef816c424e7d4347ab540eb31497bcea7732ee7447fd05e8c742cfb36e7adb8df723c06a8763d56396b7a65e9512e8533b0b8e4a7a6aefa52d4c3afaf5937f2d385358939829aaf0788649a7690027b5affd1fca6d66c738ae457d0a2b9a6fb2d5a321b3db98798a0fc722a420422c8951839b7753936fe3c23d980702c30d370a03868054510734d09ee913271fc4f215028b678aed57a6eb8c520801a6e4ee13b406c4489f6d2619ce3c50a1de4d9b08df5966dfbe1539815a412f9a9029814395fac2055f1126d839d9adca8c51fd647df9f16af6c32e261ebe094ad19d1a3215859600058c2af99c53511f02ccd01edc9730f14c3a73fb9a6a647b9a2eee2e6c08e583b1b10fee101ac6243ea191e7087dc40f0430f04ff2f5703d37f4405fe0ff3d586050ff3089ae4c4ee1fc27aa1599ddfad89553de3b0d6946b95b451593f6c40725875fc1d7b24c443138504488d2a1bf8bd0ff8d154bd1a389e926f403fd79d5606567e6a1e7bae30c82b11f0cbaf0f4e8c3bcdd94b48b67c961fb0ee8efec24e6630684b1c8947043204f7c6cc89fe46ac67663a7db6ad7f2e4684a4e4d504a7d385f86dddaa7d50d247e0c8cb7143ecc3ef62ae08e3eb1c6e95e604c2fec52ac0e220068733cdbb20ca2e0f02ce59b628df39925b4b228648896e8a64feb4b08368128e30bda896d6c6f31cc711689ba093906780664ca392c403957f74353673ba9031998229fd256368f46e70424b264b9e0ddeeae2edd9eec499192b17ddc7758597ed98a5968d1a510d500f367ca79a7234e80af599782ba627726782d12ad6e46838f67f253a46204728dd851bead1614ec2f5bd80c625345dcb7d6736b6681ed911ee118138fd2c842d740d5b8f01d2423fb4b4c961308ce44d504f3d6acbc22d80819b956d5efa13deaa4f16593b3726321885c0470141152b0a3c272d488eb7737e859beb8f001ca5e66efc4126aa29ad14e2ab30a0fb0157cb1922268d6d43c97ef520c14898844d9ec99ef26ed06d338936498e3164dd32ef0a6dd5c6a268cd831d90545d5f0311386a2a59d9086baeefc57d0ae2860b93ed549cc1f45a9b881b5d5b686c7df76314b839f6451b54e2c470300d4fe119ee81c6e4b0c65a9d6d3914fad1d02d6ff51c22160884f50ee3f9541c3f421f2c89401b5f3dafd13f3fea9bb9d733ece6313c2c708c97624f863152d0d89321efcc1be8a232407fbddecb4c00fccf478f7052dd95dd426edf0898e7ce0e9094453303559b654e1d99427f32d9563bd854cf2e9ca1ec3717e8c563471b356e8f203211a812e77c23872d10a4ceefa409f386a1cc13d6a0b096464efbc59c9b2eadbcfea13ec5bef77609f0222344266185d90ff597038641d66d77bfaf454d884c49181cdffb4ac8370b0d1d9cc7f9d52d297962242f1106f0cb8613bba57d41ccd28b7d8439b7b13e3a61dd8c4bfd4d8a7411362863a37425619157ef4b509f348b91e72d6459a8789c6115d4522066b410ab76dc05153c40b83918faf06bc40fbc0aaff538cf63e09ea5d7553c0d48aeae2f030b2130de7cee23dff88177e6120d8a9aa8079903e55a58679ca32aedecfb0ac6a2f97bdf4d89648cebe7ecdba16eb395665cd8db403fcdb2437107b2def62c6505e579308e07ecb227f39feeecf99f2371ff125fede57093f571171d962ba2bc0dbb61de8f6187d002bbdde35a38d232bfe0e24637acc759adb1d1f84ec365ee11eaf71c1b17e58117be3535b4ec937de6f8b90f6a8cb2ffc0bfe12e46d9225b30cc46b538b3ac4b2abe6ff2e4900fa6d34a0a89ec835ba052308c7082dc0ef11f420294e2a1205c55380c8b138ec2c217b04b1ab590be4f4f0fca3a16ac48c8dcef4c5e5ad97ebe8b986e8a4d5dcabe2d1e20cd4cfa726fae33353239ee10b780d6e91675e6249dfc355b1c53bf65ba4fd1a71c4dd99484354686acd01727e23995f7ff36fa834b1a35c96e62b1c40f8842aed70af802dad1867dfa5e489f3060d3216d4742fa1a3d751959b54d3bd2a9f966b90b843ffbc7392c7e1be247c0667969dc22be2fbb7dc2fee3a70173a829ad201eac95d251884915192646a9e13b977c9ff000ba150e37108249fb3e6d2b474a60350a340cf93e0f963de38ef20158158dfd4b3d94cec8830ea847c1b794d10b1363c6743e9354c9c556edb874adfc8e1342cf5c0f4572c228b734c82e7a9c65652eb6636b947e7af632c511f5ce7f70a09e21db78b5c9e97e4bd6077b0d6a908e4cee90554d7ddf7f642c231bf321ac57489e9b64a5166bb6371650c08c85155f0e587282d9cc1fc964f90703c65ad0bef59ca8eddab1f1af745e8081735dfa9c98b075c11f486814ecef3137267e52105bffd51854a9383a851197bfb4930bb5c57e76165aeb2b67e86aadbacdf8b9822bae5df396bdf4f2608a18165cdb9ff0fdb64b5f4d2058461727e3522d23980919624eb0ae643fd84484eddfc658eebc62ea1d7a67d5728f42415017bb6344d4af7213f46ff1d63a526857423afe2be0f2117ddde966a9cb432781fff6370f6e92e01db705a18d78098e062ad10ce379ca84a3a84a79331edd9139f23be67f9da106fbbd636db26bad1d6194d3d61efd9ae4cdc13e8c0341e78f6888b96cb4826d90f8c26fd566dffac234ebd1911fd6910850ff863ce82ea4feb6e7b9d287ba39b1bab4c0e8cfb6a5c2fa54b9fcdc37deedd77d447bfa2d43929cc7285fe895f6c316a33436963ad1a009f13b3aa67d3265bd4a9adeb32ae82a70bbb543b94d17b44868669fa3fada5fbe1b1a77675ccf387090bd1a99dd797d492dd01b6cb92a5337eae13dc8bce9bb64bd196669cb4dbcb81b938afd28e38b1e9a2726c3668621a55494e979cff17ceebfda282a8a6ebdc83cd7a764c89c76e210202e688fcb0c49aca7da08aaee946c3fe762732cc12b2d318ef616bc512a7a6f1f2385251165bdf9cb459eccecae50519066d2a9d653d7beb853b9ed9b19680c9ce764cd5e9f1ac50ee2a52b33f6365638174cdcb8256448589843ed1004954be664f272a04528a2bf3efb4e1914d4b7666fc4352d0e069110b2e5b5ddaeba48dac037470a3ddc3de63bec9aa9c5df8704a46b16c5b250c0b55be2c8eab671edba1c382b6fb8c8a6c055baa669aface10b5de11635b1d91be35a8e0538537ac6602fd2880eefaf866f754c504d30cd6a279e077956f8ce9be61ab8fa6ef2257e72ebdb1779f34d0c8972c819a2954e2db1f9575d62481f106621eaef0558dc9d37ced6d41b568519f97870f1e428b6873a298fbd98e4f2ae9b65fedf983de18b375f99191dbbe7672c45b0c9b1ea050dec3f4737b5bfc31e2f2276d52dfc9c752f1306764d8fa0ac5354aee812616e806a091d8cd2d0d3c647f0d53a30aa71d2c0b57c62a0d4e24f66b6511895622020bf69137417d365b4d4380a846025b49e1bedf2ba03fb3773a03c1bae658eb19c774a1549ecdddec6720b297426538286db40cdbe171bcbbea8adb4354fa6ab85b7d984d88f40c9012aee20f1e902ae307e5bb56bf35390abf3886cb7946547af25ec3665dda83ba8fc6d9e57859820d1343aefb0939cdb02630b69c824611b76e4e74bb5873d983faaa131d1398d9ed79cdc3b687b0019e6caf89d80a06bc334b47c478016058b13987fb8ebe2bfb0e6ab6c7d0a3d76c57bbe8d31bd71b3ee0c57f294bc60c028c535ea4c8a7e7c60ab8014d8df155d384771ffc302e20b80f8915c1f65ac450bd8e5f2856d585893c41e2db4fe65e1c86af4917e02a5afe280a0ce5e4fa2db2fc44134b2efd8c733a72c96befd38068e983bcf73ac43a0b2eaf4bee23e00f9444c45d9a8908bd306bebc9850ec713ece30395c03a3566ae633f2235f00076305335122e8cc389118d2e216289fed40f854e202f8e2a54025cf4181af5ed7b90f1560fa1abd2c25be8e2a22421683ce373dec78cc9af70d6c8cb37a4cb57da91ed38e2f768122899a006e69a21462db3982504fc615607b584c7dcf4b6168bd894fc237219acafc90f9e2748b46567e9086f6ec5afe1939950ab8c84fbd747508b1fae27d10466375458d87708a33b5acbd886ea3bb61ae6d0fe3207844605902f0735d650d9796c24658ac02a5bef609da96d0e5520293c3597188529d9425e243224cde7747557a75e61671f9581179dc49bf375ccbd85bc4f9e638863d095a362dc219c9ffb9def183aeeb6f5a54bbc924128bb87193e8fa677fe9e630fbcaa724157f20f6372e60e66afafecebbbf699cdff78241ac481ec878320ca509327cd4b541df579d6bcd7d1fd7088bcb5dbe07f8e5a10ae14e832d692cc1bcc04364b2ae1a05890a1e3a407135ef887063c8796fc377d242393db707879497ab5ab42bd5cd3d8d1b95ead11568eeb18f197c9818d0582e21fc513c49b8400dae5c1d6de7284d298c5bddef223f1be1ba368ed088d4d453e4bbc31e93121a06aef78276e7bfe9fbde78e6bbd5573e47c7677cbf21b620614fe316b6a6fb627e612792ef41a816deb1015424327ce2f9f6a1f77ad78eb083ee6fd800c3d8093088e6a387a7404c15fed6f1ebb3955df78ddac3678a8801b8142d7ab08a33220291a0d9ec1e9f0dadce8f61c25334a4f5f9095c5c9ce1415656c7881b2bcc8c9de0b11121a1b9509424b52d22251959bb7b8e72e3853798a98b700000000000000000000000000000000000000000408131e24293037","message_root":"0x0f650af0b4dadc7617c3d6fdae3fb35c3e92307d811c608d55891514c1471c63","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x0e385ae617111026624e6257db346dee75064fbab09fca17485a3a3575af4ac15893ad461a9f03414911fbafd4cd4f1c34564480cbda0f1b6185f798435ef6615497feb985b6eafc4a0588eb349826b87535197c7d334172ea95ab70d4d203a32a663f28a2a5cb29c9766c1e5c4bd898f50a0f024af2bbf7db8e0c63a1ce427a9cb58b8bac5c3c01b8b022f71c7c699c8074da0cb0267cb2ddb814ed5e6c19eae3e98ec733030a349156f02adf747725b2bd008dd6d018c3618e29152eaf2ec8352e024fd8341b5cfa9f9654aaab82251eb3780ce87a2016ba10b0d7c027945c42fe977f8bc149d190f2abea0e40d372d2d756cc2edd105cfbec2e2b32c1e3e569893751d84869a6dff00c5c0935db6e897a9d1d70485b674867d78a897ec42597144ae8b0fa89776f685b0b9d731fdab374d61fd66a235fad75f7d3ed89cf2700d06fc9b849a265793ffa80d462e177d832b22771782d3d8833612eb13990b6177b50919a50327ec328cef83cbdfed03727a873f4894cd2e5493c7652ef1dc27c16798609a1d1a57071bedd7534d8be10466fa5c1b32c31a8c6e3bee21ee4f8e0a58f971fc719054e99b9c87919fabc37f845079aa81e030c56359a6d2f86745c4045c8bf464465418bdd650f950f7f381f4a387647aebdd4548060e43fabd7abfdc8faea93daa53b9ef20dc1e8adab5dc144a8c35e50390b9473b770e678c7588ccb8884f9d9311f13e5c8af666529ee169f8294977d26886efa8b61fd2aa6939db937ddd2a6159e63d3e2d1d71faa50650a317f38b544fe593af6074a9a19d80b0c55f9e36cd7411bd74da5cd95fa0b175a926fe1d20e2d8de2367b1caf8294b4b225299d0d2718900b942c88a4722e0f1b5cc0e738b868347a942a27ff99bd17cbeb984ad9a7b85d352d05bda6fe8ea5ddd01402904705da546d738b044b5ea7e60d696022fd444ffb13a6136fd3ac56e2cd72885a098782048c77a9a1b07a9cae79afc3215f188a1727880eacf5cbc86bd20a305ccafef035e60afd3a09387dbef80b73c5c9437eb9d96f9eaecc37cfd41ef9730fcb1697c0377674999a4bf398288810b2990259393279d1620eff15294afd21e3d9a782e116a685217560ce1c5e49572187c73706967ce86479105212828d500de673256a7a7dd861f6db2471cfe4bf306b355f21713786eb214b898e3a15cedc9d70343597b1c346f63cb9d6e5d178aabac886fce5cdd9cbf8848dde74ea154540b1bdadaa8db408d81a8ad0c7d0279d37f1c52d8d4e613d55bf189d7cafb55f5179ed27eb95c766c5920825c6d3c8948825da2082eca81a1a180d6fba6b003330f8d1f1a44fa600d018daba4bfa675f6860ccdb335e9e6756e672bea8cc54b098477e3d3fb6e79083cd1c59b8f2cb34755b205b00178f343a3233122247bec7fa0536b0096aa2dd6b7bea6cb124651a6feae9239e85e6daaa3fca9572d94c0b3bbed51b43f2796ec375c560cf0608dbd75d4674c81d0ba88bb0acc4b58a270c5afc6e3a7d9f6856b6347b8899621341d24b813e6289ba5e3f548d6ce64a6b822f457027d4fc9dd87838a370fc56569f8778a8d2003fa5e1e5f2ff09bebd3567fe507bc6a591abd322b48bbe951dde630def5f7548f35967cb66b59d0c57e9a899d24cc7ea7e76676874efc04e97ee3d181fbd2e37f61d71569984029bfb297adb05054e7f837ca258b289c1f199af49f7d1333bc0382ed8be98ffb7282fb04f3499681353c65f05bce6d369c3664ec8355541619c51a2eeb5d7c519b1f08f0d33f0eb69d689dfad8c6b64cbfda3a0a04fa054a010a31689849799ef22fa08effb2b5fd806737f75be3820c13084d30e7d4d618fb6ae0be0d7e6a0fd9ce1c1b6b1078067cee188c93ca01ede324f9c7da6aea5d488009b803644629b2d4eae93ceb81ccf0afccc6e3303bc579a2bbefe46e84e8237ac5cdb0ed2cc808316fff061ce598492a40090391ffd14a889cbc5a77c285b42caa960063dc309b2f31bed8ab1f16be4edf53aa243cd478d01183b65ad5f72e4d6854c95eaf6d2bbbd392f193edffca747d09baae4b176a3c8fcdfca8d02d869f74772154e21d1e9bbeafc5f120027553e4fb1500fe109f04c5ad94062a52414ac5ba8af6358062f0555d9ae8c989e4b27fadfe9e1985159a782480d6b8dc4801a2d0664eb21407235f9885917e13a2462ac0cef6880931fda8863982131dd982e7569a56b765b7fdf57a8add280e95f0bfd444b1890c9b5893dbe7070a0487a1bd91e8ad29e58bbf22d7bbf2efa9b122c0cd30d12c10c100a3cabb83207f08655589f7ebaac921e9eb548f01b6755076180a3e89b798260a926a0f6abc7c16d39cab7ad5f3c5a00d60726bbc03b00f66bffe5e6deea27b07860565c33643c7bd6c39f78ff79a4e77bdc0b896f9c720d0e91440feb6d6bf090252c043e6c585cdd21f6b7dd7006413e59d106341becc35a3ffa50e5241b5cf3d6412323a562d97620a52ddc41eb666a3455e95c61e18dcca298c1f8be3fc3eb9ac1e05a1f2dfb64c032890c4a758552aaecb4e48ea110f9250bbf165cf4f5dbca87c414c093a717c3375644694e95964ab94f2f3e3ab844cd589d39da5f9923805779673fd831f2e1b1b81441bb89e8a1ad73c4585ef8e10ac803a49d808bb969c6b98ec6992d351abfb8ce3d96d8d4e9c59e551873f765a71b13e0e4c191bc7ead6d56d40d3d4ee841e733e719b4aadf2a00889229032e4289f84817ea840eeddc77a9d828d5169c4a8195048eeb0033dbe389d2ce748268fb46e611a32433d437c4a2ecd0d00bb31f9f6824ecb9108cffd5d4588c954defee1fc82fcf3d0fbb4e02d5044ef25a4726fe35604aca8c62b8bdb8252f0f54e2727861d8dd698c84131cd54751f2b0d1cfb71f848b2ae170a9d0d7918c467a408f0e9e1281b6d0c4fc04f0bb4277e5d712e0b0814e27c3283b57e5a532667ee5f1d35265a98effe038eb16c1fd36603dd92d66d9d61ce33df35298c732f7e37f37bf1c8131b41d7b317af25339196227d227ad177470614abda3d41de7308c1deecdefc02c5510e4889f0643e435d771b91d219b3c5f8f03b9942aaf41f8c29b264852eb970794bf6611217493d404ecf10f8fa28457f9f81f052e65626cc8899feae755e4816ea60da51b32ee5e34030b23320ca4373bc6b8f993554bc848ed5969e4af3fdbafc451ae7c8385864a440dacd172f4ea5d73e8408d3f0c770feaebd52684606b43869e6dfa75f51788916fb32fbcfc874ea844310157d61c9b29311de3b01599b55ffbcc2b174212f6e5316a8cd335ec781f7fe0239090eed60089d719f2998e4ddfa92a6db88c2abe64ffa526959472bba2d8c27a785638663bc3cfa614cb0dcfdbb8a0018b8586cf1e3e37f6facee481b3e7a0be15021877589817bde3136b6cef92286d8773c5196f9fb1a30e3c5639ee6b08ff15f249582feaf4f9b15ec785f145a3c1fd949acb9f754b4725f0d2556cfd98b6d6eed0ff92bf89f1d5092bb967aeb1dde482c8788f37b04ca4ca85041ffad09378cab3a1f81ae390445985a7f7b8619a9f4c8c6ccaaa7557c199040420dd566b00bf0fdf0c712f135c43f5541024655c2a5d5b8cdda09a9fc2dc4791860e0cf4e438fdf13f253e","amount":40000000000000,"withdrawal_credentials":"0x00611e4d19aedcc10e8b3caba2b368a6e8c962d1e551ce5736bd84589ea3fbff","deposit_data_root":"0x3c06b831f8640bcd22f16f9dc304f399617f74ecc79d00e2830486f897185e6a","signature":"0x2e08bb2d63dc18acc88ebbcf2aa75653be1101c96cbec2982b1f010e0ebaee614a7de077f43b0bb4f82d461d785c546cfcded1cfc6b6aa891d74790e05f375739424b678c6519c22f2b62d7395aab6ddc4fbc3e6f04ce7387600d821ccd6a2e785b9bd2895a04a3c49240c4c28478670893ab172d3afe3d38b73d99dece43ebdc187885a6a74440626562a3b619da59fe9bb2d8eb80c7c8ddc8f7b39e6544357b5985b4ebccbed9b78d29fb7dccac01120e7f84c92e36b584c5a1cf9438e5ef47544afd5794e8dc38ea5e498fa3aa8ec7c62c2181ccde60d35b8508884ab8b3411e3507a683a4050074c98e74d2e2b1dbcb26fec8151fb4c3105db0c5673cf066dd6d751ec33ff6c2a15510de553ff761c22df0bee60c1a78eae332f87a36b625c09b28d0e77b4d08b47aef4a8867be8292e15f53ef367b6f5e4c7304d04df8d0de385a2e163302bb03ab02f69c2484f1af5d331b7ffae09f5d15c038412adb2deb3c3c2b945f72683cfff04b38dacf8ffc511a4ed0971943192dda0924a50ec30b74a25dbb2ef2249b24782378acaa1e8d665c6a25b99b35d6d341b0ab9696f36543277c117b0e99440d4938f6722693c9924979b1c51e4fb91805dbd52ace32d54e43a2451f51899f09a3f21064613bd08d27e0a5aef5cfdbd9dead05a9c715bf7392472ca2a220d3651c0e8d53c94bd56749f7898d115a2c7135a72b5e1ae9664acb25289b37783ba4d1f2f763bcd6d319aad7999a12fe107f785212f53a5d93382760734d49a067393d6feb3cafabe3f13b0109d52448586e281089cb0355861587d40328ccadc82706237ab0793316676a21f07ffca4cbf86d479b138c55642616a9deafd51f9fa9b0bc3573fac09f6fd8758f6f3a639f1cfd7a371c4746d0bac4739743c5f2ac0ba3c8fc8f227ba34af817daf53e28e64b99c000de2cbe0a4c283cc132db1d836c1159b536628b68d59c6eb64323db0e5322133e7cc542aed3ca25963a39c299c278adb5320b2dce71411a9e379f0b15126ee9af97ac81aad0ed942166ddb8ba0a78ec655cd9d3773ff070db3b5f9a4e7e45182e0b39658d7553c05fb96da22208722bbbdabd07f41d9520af865f52e290a01e3ccb0d5157fae538bb51c3b20629b9bbf4027afa44e1c4b2737610198f50b7508c4704dc69b12fe42db3a3131ab51ed1167b93621766b1c909ed2682096a6ddea31accaceb8b38fa9703080f12515003c244917b11568ec1009ed5d69e41e6915ae83a9176573fa4e5bbf06f823a768317f04dac218f854957c12b520c94b3a3703208e9ad4418b86df171adcfbe9382a32d8f633c605ac35f4a5065ff771c501aa75d7990a74553f2d9db1b54ae0913b914102ac2c8b9b3da6376ac77491e99a950f07284e7deab0d9e86044606c24c0d93c8c757ae9d44ee50c967c512c660bb10789ab7d2e3d002ec0117959a7d1f81d9a608b9021a7fd9647f9f5a393ebaa8287bc659dd0ea36f9fa7f0dbed89a252f9d0850c6a9ccaa6cf66a93f79e4fd0839fda248d1c2176b79ad3862df5fe770a425802116ffdb6ab19c52e185fe5b47472755c36533e0bcb2479c235801b9cb0fc87aa4bce4f73c7741007257044eb10826c8f795267abde9c6d67644d82eb9f6c74c436cd4c49136eeda81e7c685453247e0d2d5d81de6c21e23742b121704a70cdd198daa34b7ad99f1da17d1da0c549dae7efb378e372fc61fba9dc784548bad5e4b96dafa47a0b794f93f6ddfa0a69e3c13b0fc4c23128904e9d4b3bb954fdaac80944644cb9d48dbe8d37ac6648edfa76bf348d910d48dbff2c91a54a9ac20637b8766d2482be103c9140d1a688ce0ca82919d152666ae662b896bc3f90df4a5213358bf40b50acb303e349483b7d01e6fd3ca762cab24cc219693873eec7caf62b38c2f9bdd6486f5db4eaba541bb933a690639ca76e853c434d73d1608766c269a65481f3246132bb01e7c883d35f412e45fcfa224d3150dfd335d2b54201efe21ff5ed4034204184aa093c33ec4fcabab5e205e0f1d73e1962f7aa270b62365653e7271abcd02998328961060b92d819ed220b943fed1562320b9e9bfa41616365dfa581c84a64867de36c0fb33db24795185266ac8357d4f6360e94fd27bcb8bc58d6a6c5b3ebe45a0ba9287fcaa8ea286edb4cc9e69acb97d7ca9a193e9421a467f1633f645b9564e00c9cc446d5294d3a180dec846d5eb1975cff07f376ac0a96afd58a9f18769245d88a74781e56e33da56890077fefdacb4e9b41f78f9611cc39cb5bea57d4cd76a36bf777d0a3084ef6ce64a340a11a7417aa0bee373471a2e96ee67cf7572e30182fe16be09751243c3c2635dc043744fe269af777c77d69e614faf1b474741bd0b5cbcfca663120cf2a0f63bfb28621122b65432599cea40f7390e090418d3bf42f60f865940cceec5ee5e7ea47b78b6fccfdfd1c3443dfdd201a49e237cfc48ad8df6cba5052b9b78e420ecaae8aafa902d2fe6591a2dd13c107d065167735ad057b7d6f1d51bf966501daf8ab6c240be6252631254014292fec02aa815921c9c2a95ed54604f3d0060f56d8cf6ccce4690346a1b3c72b6c4df12ef23e2129790ee2a5be10b865aa1e80740e77c2992b16baa4bab568247cfdbaa0edf755dfa0ea52d9493676c7ba5c5d65a19b12b5901e78d4dcb4575efe7dbcac79ce98e74a72a400146f168a7cf59ba9811f80e49c8874976862fc0e9c0aa4097dd371ed78e0f132c773ac2edf46a3f4b253d211da8ecf9df1a2fbad5d73482a247247134b6b85194dcd3e9a560918a2c2627330266ce222572d27228c680b94611b54d073e805539e70e3f042b37de0654a6aced423d4f36cdd057c70a2f093fa76ada8bb004038b2ee3c1fdbcd5efa95149ae2bb482b985c268c67b9a73807147b380ce7dbb86ab13cabeb3d47ee537cb8a88f90c7a743e7dd538d0ceda1be1d3cd84816649f800f1eef7439ecd188e5fe3679aec2bb5a7d1f75495cdfd5f65d11369bae17eada3652e53c9b59344cc75daac80c801cf16da5166c579790656e58d7fcbfef2d09468de54600200b48f84d0423def267fd3d75c544b0a912c161139162521619bf9c86672d645dac7856330133c29a065d57e2d61bdcac9318d2bf553ef9c0dd5b1c7f235126f78563372073b126a71be77fddbbe4ae2b499226a4ced3456541c15cd50f8bdd436a552ba7c01799b79648580d130af3c9a971b8231a20c916151dd82b3e298a3d9964615f8bc945a7dc10c3bc63bafbd6ff4b71afb6b6ff2b5e3967295405ac44f2473f4f181a0fe800319ed60a52d858c40a8899be7137335639a6e91a085158f8ae589e45ded9c9048cadd5d4f819be2a1b60887969378e15ab7158516a2831d4c4c78669c923b3497d2ca9c9aa688fa313f71097274010f66c16f3d69a9cfa4ccbeeb4d979055755f981429b321e4943622cecdcfa968c339c14f9dcc54071e5ed33654807af02f7df34886f668f017236b7b965a5840c1a22b32eb52ef6bc33505abc93a0b76c624fa58bede260fd8300363b0175bc25cceda22dbd32b692cfecd56663f3ec61a8d8cafa470e5258694199aff9371bf481483bedd43ec46807f2119ccb21dec38718cb257ed37e5dae2a633a2c8a5fdf98915b9be3b48d1e1e292c4265253b864162f4ff0c809be14b8c6b0d67b8a7559d533b83dc0037369a6013bf64bab35608a4e0b20905118262fbc4cc8783bc83098a2a8f86eb1bf2ffc3942af957b2d9fcd08f0cf1ceea5f1283dc7dc08dee4ef97a179c0f5591322dbd890ff86a4ff787c5bf507628bea3f7aa025cd06d4479b9d4865fcede7a277b200e3df5b6cc609310d4b7af5a9378ea722149dd093a46f225ab48aae849deb9cead7b2861e33843d74b493af45411af5a469fa9a74ebafb1ccab093d7a109c6c4e16e3c47de99a39eb01b6ccee26586da7495d123bcc7051a0f3b55fa84d8e5b22de01fed34afb1a1eea11382eb9317d1c5b5597c14c62e046e531d3e5f200fb073e87e83301e3fbfa6d4eb3c2c1ede600406902fc1f396431b45b6ba4fb5ca655a9888d76de9d55f38d038ac23b83986cfb1616d1747c8d61bd41690b908ba006dfdeac62fcc71c79c4443cb0cc015edb39daa1914b2d60aacecdba5864fc40a3c9c8cffcc29d93f5da7d9b59f5ba44b49fa6df1e97c71073c5c161950cbc8bf5fd3b1e86982d4697877a7d6d245e3bf6bc6f9d6233387bf829c2451ada3b7b191c83919a2a9b0fa1e4e692d41351406abbae7f4db8924cbee5ae93346ee8ebd6183916be438b0d8032d9801ce7c00860f1970e263722d8f49ac6c54f8b4a61650349c84a27af4b7815d0f2c334d549bff1d7f677affa9d6681a9974d119f61cff711c1dff4dff55c27e48c9ed0fc071bfd6b9286a8045ff4d13db4d764be73a70e51e8fc6e1f5a397ef851540814f3ebf9b0e1cd7ee5285f1d56da243e5b3bab62b0a56d7c2f97ee8fafeb654b1423e26e01a95d9c104a76762a83f2aeb7fdabbb74a85a6c85642ac4b1ec566ab609061f08f71423f595665e6ccd704457fde9dbc28b924d4aae93a3f9c1431b6935a980aad771f7f35752205e3b89d5be9119b79bfa5730a3a75f51fd29dbb6abb30ef6aa8eb939a1a281b29fa8aa5ab1b8f286440a481636a3d6f85e61c6df7e0a538092b8f22d26bc62749e43b6adc10087f2b4cce102c49f1ce2e202cd0f0c996928b5364df0a3cf2d2e0aaf1fb52d69fe7107a05e7ab856e3d557e2873fd65da99fcd417e7c6be8a5c86a10c002c069f8ac0c436e79e8a97f1a30b1ffb4a0365a7d0cb2a88f917d0da25289760251b5220e39757b83104758a8f7ebd2bdbe072e2fdc984067fb91f98031878537ec0ec40ca2588a5097ea17bd010335018b6048bf1ff2720cf128d14710c33e81a691a9bd70e697d1fd7c813f758850c3f60d8f7c30cc6c197b85b059b1d8419462401f66cfc9673a4ff29e8ca420001376934b182062298a8214297794acab9f9932cc6537a88e75978280e9ef2e81b9bc6fa5f5158bcbf1879519f36ba1cfca285d8edc4b500eaeb34521adf16b820f48866d1a7fef75499dea4bb9080f99a31ebb39c9a267890a558e882f68fcdd2ee1b694713f150230aba08fe5a4e3726fae261f0553dd27e78fba0c161117e41b10c431ee549e56b29fc70d8184fb81dba53972798eba308c3243370f4c6d1129d2431a8c94352e97349cdd9b1eb91f714842d7b633961f021304fb26b2205cee69fc9d973e9f5704dd3c5f201668cc00f9c9ee9b89f7667ae308f8b1cfe956749bf1bf6aa7d21469b81c8e7b5b9166f8f5f0e07e3b35aec051cde850966eb9b321210376baf67290504285d394447747b0aeda481eb2e87eed63235a6ad84282bb089549f0bb6feff81cbbc92d362fea9dc47184501d46f1c8d2205b6275d8bcf57c407056335d1ecc4cbc8f65e70a12e11a55d3202b5d053bead07d57b0ebe19171f5cc3de23debadf2837810e814a27c1b148a917578da0758d8a2ca15c6d663e9911982227a7801b45d2b7bba73c299b6565a82817cf5b5d31f64f9860d5ae4e7223b3df41634625fc3b4a4153264a52b58896791932ec1eacabf8844e693be928739e29a780fdcf0f6d51ec7db26b5a4cd28ab5cc2822cbf7390246d5546c35c8ffe51045dafc41891bb56472c72765cc7fbe7f76ad964c614afb606a2b0e76065afd9d452dec5e933d98c43f47c8c585a5ec32f313c116578b88c99663c5dcad7d7e0bdd0c11e48e56dc989fec5bb06f690ff89091ba08e284d094f9a28728f8c86100665f1c659738a85290549a9dbd2d2850387fc3a86baa936fdf643b3a5f80a73be211077d4b0eef85090a301cdb922549320c8de1d48c17c1c5071a964c329093d2310e2b7459150e884766fc7838a88668cd65ba54b8e687ece11d8b6f6fc2ffd276f42ca5ec051e41e491a860623dee025c29fa7b893e0ccc3a8294e136b0be6672f8792887e10989e18ce8722df91873172614757366a8b764ad1552fbab719f12822152e3c4cbba697f1f366b052026a98ddb9c5bed0a049c67f18eb6a1ef80031785dcd426c6218b61a79d08e8e10b2b6df5fa6695714e39e481b75a9f1bee4dc979e7e0142fc069e91fbfda8f9fbedad02aedc691d5e554f078e5724cc1d2f374445daccb8f52a6e296e556400992f999fc84b982e8eb87bc60c86f2211802289de6c4311c241614586075f76d84dafaa38d70131df32de67132da53c1dd38148c1b2bb8d553792c0dad3ca3cbfefcedf9389fce8abc7d93338e4b1ec16f23bbe0ce1d0ae5d311e6839e89bc3369ed60ca0dd84998362c9e4a19b7a607baacbcfb2da57858d90b1c5de162c6369f1f2031e30588da3a5c4d0ea8ba4def0f5f80b5e69758c053c41cbe2e9ed0134545a75799aa5b5f95255616776abe7eefa000000000000000000000000000000070d171d2229333c","message_root":"0xf5db163db4289cd310548a876658fca31c5568a27ef0c55db1f1e2b2639a1c04","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd23af74e916dea57f5f64885895f3976141c9b20408b3bb30306e7451be2a5188f2ea4789c07879ff1279869dea5db7aaeb6ab49652d61085f38c29c03da2d69baa92d450bad2e79037d9cfa761359e5171bfead11053322f454cc9269748bb45acad438fababb2efbd02470a8eff0618ea425bdaee6db19ca282d489a36f7e312994fd64d44a319e24f96c729b452c5921c91f4aea6c931e84458d42771b9ff9b14e2b4faca19b15af2be216fc78b6665b21c03673d1bf265ce0594543aba5f385f07581f1a746035cb77bcda8f14a2c09604fc0ad53826dde1373c6c66f7d4713bb3f471ef2bb34ccbc9c31436635f85370b969be4f1437a60d7314667db7bf3233bbefd1b977258a4c7d593f91f9b2fade6c750129c9a0a072353000429d214b399b80ac16106f93713f4d28a308cf1abf339ce17967189bb9d7759f7ed308d0d6cdb7f632f9ee39da8519be52aebbd8b9ad12e69a02f8198ce02f414e8d3634b64387149ebbf3bee6ddb3e13ac3c9df759452443772d5ac170ca4dd1938f3b168aee466861aeb65201f2a3fa4f427d7b12352f5c4bb8bfbd23456e6b8089544d98e5f6131d57f00bfda9c88dea9c5535e66a8ab6e86af46a2cafb197840dac4beab0384df5772ce97a7500c96a2fef7efe328d067ee93764fd250ddf269fd8fb372ff0b63603eecd408e18961b4f37f39182e828645768614a8437b32967ae51a67827c56ffc618c2aedbb8ec32442dd3afc660b789c5fd83a76fe7f354ca5e7d192b07746060d7ae2a56923eb503d5258a5806a0cf206db63b26f8480ded7206043b8fba79cf04679adbaedb94039b4dbeaad5cbde5593d486d2c10370f7046fe23ab193beb2f1f058e654252ac1cc3a50e68b2c9a6c43dec27b67a5956c27deb97a3a51db836a838b09464c4cbe1dd121e803faf67b427b365955fc12ce96a224ddabaa1a469a7700cf6fb875bf4e6af262d562556d54fba4fb1b3e852f0c49172cd7ee9616965f1eb8ad5f91a36b44783fe08daa8d9389e29cd3d11a74228b91d0fbc2bf3afcbe5e7558116a9485c24a6564f4645c73615b87d9fc6e5caa498c1de0ee586f0d04def1aba3633ec7790fe9d5e383940d40cb1ec8b1dc0fcaab8da127eace4ab37e8b1cefbfaa182e069d48b6614f8ee1d40fb27bde01afad4d323dbaeed3c067f2af633e544b2e45cb67a3e3d25cc203a86e1739cc0f375e622942ad9dc1c70461110e581c6c83660274590de6553a3ef5d47cd4b807e4437d45ad25f5dbcedb7d7a7d3b140a5249a5b6ddf9866a13b0194f9d7825ad80649ed0a2f7c6431d08b4f004726cba265fdbd01b92123f4b267026f52db61ca3949064f71a22957b1c174ff079c8f0f91f89171ce0d565cffbdc3ccc9514925a13763993b511da7175dffb5a652db559c603a1a1310fcc50017608c6db60886ed4973e5e3a506715539e18e9976375bcf81279cb8620bfc363fffab2556c3900db256b9db15501e722a7a64436cb009b09658105661dab72141028907c6f3a244b4d7c6a5e1ef26f74f164b6974d7bbfbf54a160ac9e92f10ed0c57535b74b4cb9919da8a81392ac0a949603888f23024e25d0d2f7275f2e71a94514e8e83e1aa63a8db6676dd7d85dfe874fad9298662b20998abb9911e2f6e18c07650e95d4a083e75168250fb83505f72ea5910f78fd85ea4fe04dbffd9f810f975e142c09fbe97d932c00a9f800ab79b23f047dc531e4a710ab41ab7a417bdfcb126f3dbcea0f19395f04ff0f51a8083727ab2ca81451a501b5b8e66daa6f6ee0e607a534e3ce53391bc065ec90bf00f5a31d885dbf796470baf6db0fbac4812babdb9b6cf1ec4719a18a030dcbba8f7cd2139dd9d9dff26db4702ab4c9603ec0ff7569588f4d2cc369edcb462521e68742de329fb5816950744d157c7d7fc0a0214e3ffbd2a692a952ce4d5d5733211508e4eac66af53db50838c9cce8645f959644e8b7aa66b00cbf7911ecf93175eb4c530eaef7d2f38304ef68f489980b3be0511a854a010bc6fbbaf6d4aa59d949ed19d241d66cd543446991c8b9a046f0f7178228357abfbd048675353341d2961caf77b7c51fb86af8065d2d6c69e457e5830f4d1ca23b6feab85a3c78c15ae9b7715a3bf2798817e1d54ad0e11e86c7b1d975e1215106a046209b49eecd3c0dba2524cb959ab4623fff156caa9e6260762ea4bb0dc9ef889c91a15bda45cdf694938aad347bbe703aaf7f2cb160b307f1b42a79e0b068bda0a607576b108e651a35826a3920332180dc1a0299c292c575735a6ede0036b8acb87e3555099637a1144e22705dba4a1265bfbeebca038a4d8e0262d8537fb5596442667f40447d0dabdc95d046013d041448fd06fafb9eceaf0637d40ddc0a1e3491eb36d1ab773cc40598cbdee9a117d4ff8213b05d82ba75801f793d54471fee6cc777c515be40111ed661ca8193d9eaab64135576a9e5daf7a6ce9e181c0b60978b1aa337200fa434c3cca660972b7f5a28b27c81cd4acf9df8f2334115ff88d42d8ebdaedc05024a84e18aad5889bf1667c275cf46de7cc82086a3e3b9939a67a93db70c709f4ba815757926554e047eb7f1f8da77246c62ac58de5602e96c94aa33714ff6530c9f267073dd60056acaa787ceab41dfdeb33b575de854f980db1c2a350ac91b02abfc312046cbe51efe887b5310a30c86885a11af10f14cf76a790bbb5e13c5d02d1ac94fa32755b7b69fef5f6aee6b2ccb758656d81dbcc099030a2b69dcd12a9e0e385b5de207d1920550b20f7abfccaecd817e001756a7eb68c7b53caf46576aed454db1d69d9916b5774b87c478600d4f139333291071497f23a03717f9934ce76b997cb87a3a4e24cc97348bbb4649764b7769a6be58bde90b2342a4f8bd5a6b3e3964de1cd950b957da4fe3f542082863528e5eae13bd2d0e35b7ed52b00c525278f333e837a0b426be250f861a32417a1ddfd3173140d956dae595873d14dc99992e7b2f43707b5308cfc55616466c410a9254f93cbea7dba989e7a9aaa4dba570178ae4055871d29638301506c128d158241de6f09179d70e0fc436de3c16c140789034a1df8cc861d49bf3f408abd0db4fd68345c8434d96b51f81ba3a58399113f27e6cdd856b29426c4c2f7890bb7774615f5879f0c7afa7403c7dfa86e0a51b72d326b8f2633d43f446def5bf7e4321b53aab4e9ba22bffbfcf9197c6cd342822655486b1880717cc58de306705a211598499f102fc0f49e12f4852f0df4d67314d09ae825ce9f475571116326630c38b06aae82f74e38c67a1091662db5b3ac7de2784350f7461111e503a92c1721592c38f4e59f27324a62b1e7be463750b8dd7a851db78f56d1670d82604ab74d574ab9c50caedac462eecf2305e1ee67ce002811551ee8a78434be501c8116e256265bb20e1573f436a98c45e99efb483f3d027887046eaf9639a5fe51efc3a08a6dc481f85d6a2fc392ec69e2c60d90d7d5c534b3cd4393a39c17699fc0b25a90a9148239f9f1248fdc6a945ae1d25ad76207691685238a7d65a13b4ae2c75295fec30bf63851e2e1924d37e6db53b1c80e16ed194b903cfc085bf0324f3e0c1cea28ea3a8ecbabd7dd3c38c45368bd7c99370354579e60193c7e0715","amount":40000000000000,"withdrawal_credentials":"0x00dd434149ec9389a75f9c67b2204b872edb860a0aa4b25fcc378989fe51729d","deposit_data_root":"0x659947adf13991fa4463965da19c8643cad206c38374de7e22070dd625dea02d","signature":"0xdac5891af471e375b82705428022dd23264b7966b1785cf95c587374a4238f14cfa3e3dfb74f8523507dd0ab4505f33c01fc5f76cdbd0c0bbb7c66c9b53fc3c108d526a06e9a5b20cd73699a6b885c970eebb7bed65e6882d82374c5cada37eeb0a2cc24336112c194c69839507b67a38d483866c9b71b20da81e7be88880a51c79961851f1e899514c765817b4797ab1406a5ff53f7cd525cb53b1ba6a8cc08bd62df408200df0fd2fd6482be9938046b960ef871850e252b41550b0c9229b89c7cabd47a7c3df887e9d78f451fc0ac4e25a2eb7a6f4007a43344e36e39ca0ea0ce413ea2be8bbf226a83fe2445987faef97848e641bbadad24c6ef224a1bbae7d52400e369b5c01f269a91b1304e15155e41e5ef2b5cfe1b1636ecf9d606019b6efebca0c47aa9da54596d89a62ac2147e403e5ef891353d34ff06761c37be07908b7081068c7770de9e9ba6061e7026b16c3afa9c940733c8e2370136da60b225b57eb2e44bbcb44295ccb158f86f0b12b08db75d7d71ddee39594ef846da08deb5aeda1e797ec44e7ead18551d33613745db474a098b8ced25b7d6a495d9f67468167f1448d0928b226f8474c2b517f0109bc2d6947d11b97ed0919e52e2a95b965dc3f332ca9f53401c421f4d3868ff93712e3ece5b1d0d84f2b7b1afc80b91ad02766da9dea1febfffcc7eda9a7ce0338e39befc3f4198b736d7251cb109108f82823a07cfb94ad4cd3310e26d1268b9503915fa3f6d99bf3170cc859b8a4e8af43e80b5296bf42c660f148ae74e2a3515dc15b3218cb3c304bb7151f57971fb183f22ab1b9658ada4770605b28c2a5a18e0bf58cf243cc08471f4e212fea2c2c5f8326ccc20f20db47e8042838cbf20106b267aaecf3e26e5a32f0c74ff5065ec85cd5e4b9cfe2830e5de21d900d7d6744f2debd6f0986508395f305ddcec9f88c6004790254052b9b74fd4b433023c4a182a509f3d6834ed6b0dada2e3ee7a5fec2359581191fa8a1f5366f80190f837999265bf6229899ca9d0899b47a607dcc7e030e5797d0a9afe6d51c277089a84e0e5d8986028eaefcf12a70fb893cfe87321967abc2e965fb3194c2bd3e016d967e70d34ce5aa801885247a509c352ad02b2ed4810598cddc9609327ee900d7c4051429645b171ff2d3f3ed3f59dedf06bd68bb1386c3feecdffa579905f58e330697a066da45c6352fb1b6e9becb60b3582432f864331e5010fb907eadedfc26e9a865993107cd33fcbda1d0c407d7b915df556aa56e881d1707943abf4f743dc559d80ae900014c40322f6d7379a2c762e2effe7bfff076bf80ffa2afaaf113c26cede707c149d118da0307524fd9c764178cad77b9b4844b013b7bc0d15a60985dde19627b918d80414b5a8d7bbb93a904c5ebccf124b013764980a3988685aebdc870efdaad40fbbf8e3c19c5895a5a752049ad5fc4750900145063828911d1bdc2604cf30aa1e96f76d2b29901995d30aeda85d026713708721cdeb03da099464931291f60762e6baee4e99a596f348b28cc8a3f5a0e3563efc0af8364bce1656eb644b439240d50259b2507f52837345685ecae9884d7eb9ad58c88b543f3767ee931dd5da98e1eab2c1cd538a774c6916bc767175c23f8b92925061e457ea7d3a4fbfc237de4fcec05662569126aa3d95d75e395fee96d9ed04c1bc435c740be4610691b3b52a9c84c13a1fb100959e3bed3c14685f1bac1968fafd3b28480dee6fab6d074ffb56f57eac9718c8ce416ebf194baeb5f1579d6a10184315e0dc3374fa419833732f4f4e5ff9383ffc7b9d9fd0bb74fe22d78ce2f4ec64b3d7185fb556c18920e0dde0f73aebb5feef1f642bdd3c1f89eef0f548759da0f189307211e0595cbbe5ed41aba03c95e90bdc7d2e38473bbdfd0c14d724412b50bda1e45d7e2585c9bc4ae043ea86c520311354fa83b7b8820606aa528f098d88c035b87629719ac628a714399dd49315e2ed042d40c73c9d101efe363908ca122b6bc301d58dfde6bcbda5a92d4e79856fc98ef08d4faf944aafadd62e9235c57e69709e94723829a1fc170d3d386560f572176cb80be7e3170bed43f336392fc88d03cd069687d70af0470b0e5b00b9204e824978d838d6ee2955fd8e5200ad459149727aed1c56e0f81538a2666c5444c4aa29ef06cca01600e10af4501658ec283390917bec6089518bb24695bf74e4ddaae560db3fc1a60c19dc3368d558170a2eb481924e2361778eb16015bdb0917ae6ba608306e4358c5e42c69baf9d766455b11faf7740ac2e2e67f8f2e395070c11287dbe3926ee9c444a176123599c0dfd021cae5200ca551c16a8e79381654bb6f252017092e18ea644ce0e940c06a2054fdde7998940471d3c4ed57daeef0f06a5fd02c36cc8c4854b1e1044593e24ebd33257e26c41defaaf34ad53a592e801c8a80cf8748fd908a1fd0d323ac245b1b7047aee11b9425e22c9bb27a33e52f78d924f776f02c92e4016796005de1f58ea12ec65fbe840014b984c81969b693581809a06db2093bbb3e10d07aeb21134f73974bd6cd3c38a23f68ce3ff309397a397648ce8faf10a43c37949d12c72291a6d38fee6d2b0bd69711505c3d571ce92fef180cf1cfc6e21ef388b9c49747b97f551f7cb10d264ae89d1718e8e395db432cf05bb38c385470874bc064308916a7e97db505a67513fae5c3c04a31b9bfde323e6168a12ffb1ec63e7c560aece0e72aa9b44baeb3faaba1c2042937fde1b6c0ee5b7ba7247dc96cd99437184074c5933fe3be445351913155c86bc14cd03c5dcaed307388582df9b52e5efe6aeca8ff806d11ba8bf95dda88646b1852d00cb081c99111393d3ccb30731f428cbd11dcf292777c38e8e74914c174f9830a4a205e74856a2ec0b2efaa7d81215f694094e11b41c5cb9aaabfc43c58b03b15e68f73ee7ab5ee1e46189cb952e1bf1203004b9bc7c918c50aa83c2f4cf44e2a5425fc8c290c6f2dfadc3ebe95847db54bb76b226ea7dfef2bc0e80c89f9a0a44d6b76b40ed9c6eb5e70729710ff24e62f2e73a521ff6ee9e29f26fd65f25d6ecbdde376480594312e5695d5ee0236e19da6b41e519a115326648befda1890faa99cccd6caf3ea80d6aaaeb89712b13f69eb6c17cd736c2db72670b7cd98e5261948461af200a93ccf2af5892d9a3a7c671c5c973b644d637418365bdaf9569c27491c088e2f2cc9a63f5f5fe6214136e95ded3f12b4e2cf2a3af613b16fd518e749d0f46e6f8a4c60e7bf99a95ef6fae3878a61768de8a8c4655b50785ef0e9b1d23f2a2ad53df9b67e344b8536beff81e786c38e77626ece3a58bc68133774734f3f4c018d2c908fd5816a492bf6f638770ae6b6c2465677fdac7beefd15ed5f2eb45e0139a6fa12c69d15ce42e337691dd2dd62b69f3f5bd59f35a09ac1e1a5fe4958129b05268a60b43c7e947f43591936ec2867df497ebee182334220219a013c24e8eb31bc19781c7cdd5c2b2c1d807315388c536fd8f0b413630f4c4854b8d4699d3170ad8e1cfba06954a74ced41fb5ffa5d26f4ba5557c79e9d0a1b9c64a0bd8acee339723329a00140e1fa018cb5134305f899df7e0724af7a8bde961a4a23a6a958c8fca438b6df465927c111376393aa4ad9c2fc50aa532c8b3913ce11f55d60cad7ed384d03bb4ab067851fe06f074d33f8095f7f023bfbc8b9605e2d3a757312dc2cadf01ac95184d4351710ffc27fab1d8362eefaafdfc68c8059d8469a6ba0cae7dd6cfc4c8376c05e5c5614e00305eb0d7fe4b56ebac3cbad18312f2d133590662797c6b8adfe8545608f80d433505647df90c43b0772bb7ce683cec69a780e5a3f2b27ff260810ebefdc2f190f31634702c60a54ccfdb221e5f2cc0566425032605f9d024fab4b05da7f049e27e7fe33777a41dc602e53342d4ac16346505576249890345a16e734f5e6f8a8c601a837f0a845954b01fffb8e36233f966322e7e7aaa5753421ff11b585d1e62ec003993056a3fcf274ffd8e546a7fd0e6afb85227ffc5d8acc9ad86af86a37dbb199079b11a58f0c746f2fdf3c26f785d5ee251f1a56d4c26e37ad5ef969121d99fce0560b5112cc365c4f7d4505645fdb1634283f3e14234e903824a0b5dbe5467a0937ece4563c7e5bb096eccd5d913999d98778fa9e92255d4f4637fe119dce2e1de3403f0c0a64e9a858a420701c8ec3ca145c393f60b17a6c4f5f8cb711ca1f3b5c71e3f339b1dc74370fa95db81718f68551c11b7e2304439bae99d49bc452d6ca2191697c34278878425e552aac0ad5a46a8117a9d5f4876f5f4038eb69057343afb284da213c37c9bf84d5fbffae22e21f45696159f1312257e62343c74aa3365191fe65a031f61bd9a7ecce6d1cbe050691e2a4fe74a47d20ea7eedc343a152b9e115643536e30f91f25363abfc15e7e8f19031c630e218f4fbfd28cf5b8ff76dd3fc4b8e4ad6f06a1d66388be964f82610fe23e68397d64dcc8ee88233743a001dfa796aad8ae6b70aa5eec7f0d3b263db9975be0ad8f9ba6e999aca0ef5f645241c19a2f6bf5db519e183db79690b0460ccf486f6fc44ab0e93ca1b79e9f261818ea208016490cd8e5a63803ae382ed5ca2a7ec05b534c5dbc60f2c7256518a2429cc6a580cb79801fadd0e4e3628338c6d135f8aa1dd25981ed2ea5d1ff2addaaeff9e4df6e802311a52093d1f2cece32a9644d33a1f5e78f37244bd7496be49da55787f57b9c2b14696c476f313d8d80bc9aa2e9e4b03b6e5777e2596cf9bd275ef98527d8a5a9fc46ddc3f3db5f9cedc84cca599d294dacbcd6559b4209da25bc20c090d460303b6b3ef1aaccb915b604cb011eb979ac99df513c589b4c5acf61529ae898c6b4e6876c8c21fe24b6d4c9e786b78c3798f67f1661458470837f7833ceb6172032dad9eaad1088fc937c4e2cc7cf224effc0e65e6b6a7f081a03f72c89b4d9f7aed3ed473b6d14ee8eff00fef3f978cbb0def9a7f09138786f2727ba0905e1ee0c0fab7077a80f39c4dbc4206f033001dcc59aecb25fe5a1c0e2a0ab313c61f467f731b085ceeb645be75e684f284f2fdfbd8d32134994fbc226989ef96305f9453999023928de4426730a47ba9e24ea337f03e79604b871b96afde8bc897c8510fe4794a33bd9b1f5e28d4333d22ba2914852d62d03bab29fa1d446a88c363213b2791b1b4bf5ec4bc82ea97268a415c06992e302b1c38b5598d3886fd61ffd3272546b286a0a461f1d19deee946b199d1ead0898aee8d62fa524ca6d7c26b2b22e69bfb97f265f1a4e4d21e528859c88107ea3d22d4f204bd88caed76d0567a8f51edd3f9f29940992866305b21cce8dc709ff3d5c8d65aae8efe06742da21126c38a554b2766298d7ed51d08544d9260f778051cc8686772f8433d02e7af758358fc577acc826e9fe58ca587bc0af7e7d4cf8c1b19380b1693bafe75267c5b426b7e188c0059ea869998a26449fb7a1d915b4e76da2bfc331a5cb1285c4012d6db6da5aba14ef64255a1eacda324d65094d08ebbf1883ff9f2b26cea7687ec141330a9dc0ad876230220255678c6797139daf72e37dea67cfa15bebb7026cd033e83a883eea3bebf9b0bcf4e5004ce5324878dc84387c8b8ce802f773986258b9c74401c15be9764bb0ee099e6082bbd657bf993a87ca3b0cbc390dc97c950701566c7ca31255c62965531b368e55523ce27955ae3d1b537b11a15642fde915876e2479e164fa909a68dc2da39c66df8d368075e74d5c0088f3ddbedf1a003e8cf5de959dc5c654717bf9a56ec9a9a7b3bf382309574f284f4c7dfb3987bd645881d10180e4f86567e9f4830d117f2a8b1923d21906d494e70c1d0488822a071814ea9e5f39f79d307e4f30c7673d01fd025c64634b720cda8ecfc692f29a2544059039a9d95703e36a014f3ceafaf678e0b8c722e8296aa2c42a404c4cf44e781f1fec093fd68b1ebfd8603d286ffa3bf7edaaef69278617ee0497845c19e0549d415fd0fb0fae1f592745b2e9c6339203b9a607c654421e8919ac5581d4e57c56ceed11bf6834625c79d4f09935674d93088bdb06ed4ab0db382dbeb0146280faeb21e22add32253d7b906e2717e9ef37324fa01fab78db7e2b207970090d7f6cb0a94429193769d9f354465b55c79d7d33999cd4f5a978f8c0a7af525bb7e65cd5807eec8f7381aed843dde622b9ec8232506bbf59899dba08d9c383662408a9eab25ef5a5a95a6148dd990e8595b15d364218311c2abb6e14720b5f447a1bcef8f114ed38bc98cbe451dc0dbb1a96f978d396b28be229dcefa842d64bdc1abf1ab41a1f8331c408e408996ba753f6f0e7c2010e1a30a8abc9d6e4e5f93f719fbdc2e6e8ed012d646972a0acd3f5faff67698494b7cad0e5e907304d4f6089b1b921497386ac20373a759298c3fe28303943a7e7f800000000000000000b131e272f343c43","message_root":"0x5cbc883eb39a63b77a2d7ebbad1469bcb8a367fb1544a7ee5ff0105ddadfbfb5","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x2f66c345666e2e7b734b69a0c2d1142be4fab348d40898e556a366e229c95dbd1d5f8ff74f37ae8716fc191d88a100e1209f9b872dd752646645a88c7f9b24e3b376f935aec39694291dbb7d10eaf966fb589a0c0df3798390ff648be3dbaace4a58c798c32013135e0155ea134089c6006cbb073189dc0079987cdb8d354006ad51477e95a1a8cc0f5b83cfc91ad459ab5844119afb61e9ea31e0c06b030a3e188cf04be079602bc486670145e6d01ddd5c0c4a283705beda7e6e24ce75c1c13a648b482f33fa6303516162fff5a65ec7534320627dc2c14ad7ac767447a7bfb80516e86bd0e8cbe93e75aa2fcd3acb06fda4574fa4d150656a2fd8525161e79c21ad78733b18e4798ad07d64d879733de56350291f9600fca5c5a6933a9e746ee77b5e7295f2ca85534dda02eee024be50cff23a7d08699b5fd8e56544139dc0b2d9bdbfb2c4ee269923c3a07ce71f3f59a289b9995cd95844884f4b6fb0a508337c39a5409216f595b883732f94c2d2198013f92eef37f8681af48166f1cf87b87ea4ecc4e28203d64fab2fc53926ce0d326be14555e8c51ae65930c5f731fef711420050b6c5868dff127ccf522591f44f10c06cf8da8226639ec203062dcdc86a7052b73d2032f26588a0ef163e0a138e8367ea4f77f1ecb1867725bc54dc30c451d848373c6ac0297d274de68d9e706c771491707d72ca17307157bb32f94b0b5202102745b82b7804c728f7724ead3226842a43c7c2119e2cdf2dbafa22b28cf895dd4e11e7841142b4ec111c90a039fa41d2c53bdd14728cafc8d78f60ac84e30df15730f9711605913bd7d224b02e390e1c3dcc00a6dd8d6e27abf8f45a48e743b883b78c0ea5f9959c9d1f9e64b0181b63111189268aab1a7740f0cd2df975be3105b01a9338513a34f644bee67bc3e6b52c4ab2ef068a38b5b2547dd8cd1819695ffbabc703654ae0e5bdecab5d685e8fc6b34f46232146ebc7f936f248eabcc8a345e88ba1e4f06fd42ebf30bb4218ccc9ebb001c7d80752b14883b01f658614dbe7f7be1d8a7a159acf86e3e94295e08a910478e5685bbc9f49b9328f982e9186f053d4b5ccfbd6757749ac84b0a6af128e5d3207d263c8727d5bf8edc4dce45eab41393882004ab414b77c04e00aecfd68509e11b8410c080cc77e83c0d8674ad526829fcbe064d6e2b902e09e425c3c501ac56e774ef025c06e37ce4c9f9561394a59bf84bbad840b74fa8aa2170db525eff18c7b317b84864d131eef6323d525184fe532c148d86724a4751251194f4e792eb9e98c42a5cf45e1b2e65c8c8f6dc7ca5f59c9083f9c0d5547fe57ef137e470b93db8e9d8f045a620179919b3750625f846e6fcf1bcf292675843b54cae7660dd7448ec0e9a2f393f1dd799eb49213fc5744e894819ef8b24640987a79d432e2b781429c085cf343bb279fea3a22f26797e0a4e87c0f121cbb5c0ef9c4c3d0e1dc9e1ba69fb2fddc0ff19e61d11dcaa369f27bb9cacb4db47b06addf1f7a7471936582ddc672cd9ebcdaeb76024b05f6ae81f9165667840c9e6bce7038e87113846aeaa31383a4b3f9e46f0a8b0a36f60d67e8f4299d5d007ac47bf952412233af21baa8311d7d6ecef37f3e839a031f291ffd6ceb2da70f0ade0161f1692cde418f63a2cd79df7d4b063ed0130696a060a0adb87082de7d4270a64f68c1bab53a478f8699f7e828c30eaf86186f757c9c85da0e1940212bb0098ede8a20714e57ddd8fe26beeac5a5bc4d389a7d6c3e16385b22d6fd9a31fb1535ab5c3b3492c5ae9184d87eec3be817d547f44c247286c167288a556b29bdca1d876314fe4bc8d69445edf34d6c62ca791d56c0d1dfdf0d66c94b3fa1b6232a9a43653f09fa10e15f38bfe8e4bc23d0498f694f4d8bf1c394f854bbe62124fd6636599a2325cd949d99ac4e5e5d436ee274f9ac404927e708a83cfbdb286c433a7c8905949ba94b20624cc5c7698648896518650db4a166e38cbf8d952c1c2963541dd0c60ddfa3f8e0d59105e6ad4932052d546cd5cbb2d2257d9b96cadbedea94daf804f13d1936bd0a3a9016863d17a3174041e0392d727ae9dccc1f61f427ce16ca54b0f275ff88b012d51ece4842f870f8757346a44299dd05ed3a8e20101e7e61e142ded4d867e0f3f0a5328dea44039eb575bf9c3658d8a6e0c168c296b8f71a7bab48344706e729a3eda6910b78e888b8d131b1a6ce4b01280931e0de2f3ee61859c183eaf5353712dd03c3bd35411cf2a7ffe6a453d50d5594109f01b34e4b42c0b0ea79a43e10d9057049a79c2fc6eb648c7ec1bdc3216a7806f54cb13d982201c0f28906138dc12da030ef00ea583c2fc6d6b453b98b13781cc966e8cbd94805e2cac8880fa0210e9a555d3bc36d1ea8a52ee3839b8254afa098633ff8fa7da9db21ea5b26b926e1ac0c1fd02a06b031b6a17d293a5dd4b500fa73b2f537c1d4dc330e70dd1bb3b351197873ecabd882160edaf51ca9904ab16b527c0c34a2c38d7a7c962f0f66cddf00df1931f56023b4c7bceabc4a4ef013218d22227f7fa4c385d8c0c49002bf9740d1bf391fbe1060deba00b7bd21d0b3305e41558a4e450842159d4a02637bbc858168582456565567627f7688ffbd1ce7ca4df2bd1400dd46dd1868e97cd6039942e455fa8b7ff29cfc657a5c08ae662bc85ccb6e35691774c7448be818897c46105014b4b29c608918c9cfcc7ac9442c8cf7f7d227a26fbaf2044e8f8e5c41c8c86632e3de646be05a6ffe3ed9b1ace267151deae13874406af1a7aa03413c3a7aff295776679ac434eb4eb0f4bddb72e0e26b1f7845a0d1f89664af6bb70fafb2238b5e75999273fd91343e222a9d41fcf0527019a799e835f16da1926a244a09a25ffec51383afa8f7479359a2c07ad261ea0b306d9928e10d7c11e2ce07ffab781780e7244ac009b7a0281b3d03fc205b24fc1096c09e5df80c50fb0fbfef834d4c2efb0074b3e2c437f31851460b3df7349d440172185273488aaacf85d4d5257a7814a3af114558b1fb131c67a06f356fd712d02e0e9999748839e3653c7302b4b585ce282c8aaf0958c1fc63bbf6ce31ccf7ac78e9123f889b3823f1de2f22cf61f9dfa4db4dc8a4a06abdb8a492246ea7467e433b2d461d9e0d267290fe244ac17f16f4b5f5ff1ab4dc3b1e81e76d200203cbfd9f9d3a9cdcc3e7ef89baa0d90bb0895f6a88afada10e10b8c1dbcd12dbfcbba7f4c120400dd7a5a04787b6c51a35a2e0e4184055094d29c6358f16d8e92258e1cea25b2dd176059ecc30a925ccaa836a7147cf8eed4a81c3f4be29c80539c8416aad48683b86a93ea30139b2ed0113a2bde0aedd7d4270ba8f3711f2a2e39ed37f33eb622ad45bf987cbc13f2cec51af6a34bc52e3da072f51aec2b07deff980eb3c744f7b143aa224fc529b4c2e2a91199ed04473eaa37e521e11a1a5157a2767cb7f2cea84f4c550a4ed6cc29d2faa64c79765bfa1b379b8b2d4b7f1f1ed2f9b8746210bdd8c087c43926cbde61c46d3f7bbc5f4efa90e26dc3133e8d89106905ba4237f68fbd7be4555ba921a9fc490baf7ad63ecf3faf712e7c3535997d472e22c5fa9ab56efd97502b272ada1be77c6208ae10ae7925c6b2bdead1ac03f90489b6ebd","amount":40000000000000,"withdrawal_credentials":"0x00a4a4f2823dfa24f6d85b92bc0ad67d64f800f1c9c479a07be2f3efd74b53fa","deposit_data_root":"0xa8361c5280fcca2b27237d665439a4eb307351c316cfd2df529a965eb540db38","signature":"0xc748e880532524860896fd4e5e1d949bc6f16a11783535610d6c4766a10ef36e06b2f32093ec7effd013c61a85e9cc8a6863a0c152452617b5ea085ca28eb0826034659eb74ef20a8f7a71c9649a03cc2f8e20d4d9b0df7e3a0793feb6b573aac6e2c8bb1c2e5b06d1e77353e8c7e2271191f718691b9a6b717b9c832e6d892a4f9576900fe623fb2bf29be43a01eb90d9db17719be06e4f23dc58399f0b9e81aae3b76a298f0e2329bd18714fcfd213f3ef4a35dbfbd0aa79e9b68f5c07d9199fbf6c4dd9f036eec148e0de6a3206c6ee9021e242eec0018391f9bb1662c1129f6e8c5d99c146d86c74d0716a54363760d22976cf9736622a5c02fcf43ba4a2f3d6ee36cbe23dc9d347d4b1c257eea799dff3920d4b0662b6b407feac689c0d21d01b2b0839e521dbb6df740d7e7dbeaf6e65174c6a40b9ab93db0ffe25f90301d1c080f17e2f5eee1b9de1fe7b24c4a5c6ea528872c21b34c6808a9d267a5b420b37bbe46f6770e5311110459ca24ff5361344993b0d08d2f26db5fc5ef42ec18cfbe226b1561787cca525b09b21dd03980044a44923fc64f775773be2da7e3ec7f645f52320cbdf09e4058253f778b4449a6e26b6cb0f438eb66938182164d01716d12dd486dc3ae9822411a349ac86e07c08b63b1699257b62c5e218b6dce44372f07078fbc1b9cb558fdf8ca5f58b099963609dd3829fd8c34e42f72187912f51c18652c39e57a7999d2ed531bab20a8de538b996945bf0bde93b50de76b927a594206a3e3b0801b60e3e337592f32fb8d7ebecac41c64d62edc9f5930eb617e0a6cbd8e9fc72937ba17bde4a3bb18167fe2f2141b514d8e6acb2f8f607847d0bc6a56d5c759e99b42b8c9ab1808a621a1a552858ebd8800e2bf1137f41c27ba8fd11124e8241e8f670864c659369b00e90cd682dd90ea583d24a3b7b0f33c72084ef2204f6b3ca1daadaf05f481e648b52b81d716d8d210cd9b506edf91bd625a4649e44f72ec69dea92bb36f8fe11ad8c03b0f65b6e3a39aa96d4dc757637484cfe169d5aac33b5e1c3ec106fe2e98d275d09a34d321f04b39ee51b8fbec0719ac100eed3c507610203aa3057f9bf89d7e084efa1662549e2059f6bf731427cae5d7cb20cc3dc83b7622dc4974716dcab142a7b908993cb23c93dfd3fe89e04b84c2a7aee8efd8af8960897cc184bb4c6278225baa3e1a3d4d5a2d58028148cb7fc3fbc74c3000e9e8db05f79c4d87932d4e09c932d1ad7a9b0cc23ba3191232e8b33e14d9467c386429af5ce6cf3e6399f8d3ca638e36657c6285db5674796de8c93b1c92613ad0a2ae3c8f9b243c6199dd579eeae15c7a69545798e8f17bb49a09b46acf224d60e90ef1dd33c055433864aeeef5a63d741a94052de4a929e8446b86d1f94b84bfbf16997be5d1087d64f9e58616014079b483f23e30791f6e104ef1ff2a87888803fd7e6834e1e11dd0506e84adee35514ef5eb54baa4a325505148409794d25124cbd4112201c57cc0b34ec1104cacd548a48c41571b17cf128d555b6d87985af3aac8aa6b823a9f17373b9bf7f9bd32f5ad25ed0290a0071ca7fae09a471a391614f05b737cd90c17fe8c63a288637d6372e73070bc7ed6e0a62bb12631c8e20ad0fbafc37b1748569c3572ca10b69829d7ef06ead487c7ba314fe2e3f7f82a621170a9adf5ea49d0cebae7ac6d5c23e6312bff4246a6b24895669e411556b1985acef0133cffdcdc6442e4f1fc6477dedc822c3511dc0b7c7f7bf2a69b36a5d1d979bdd6aaf58504f09cc6c0c994b47b3c8f2711d5bfa8ed776f3e778384ad1d37b6d205472cfc21f10d8e773359468fcdbce83263b06b703a23ef19e7879f836cc6e1e5686bbfc8514be84fd1cbf96abc244d227d7d96f77958aee21f19105e2a216c096af97f4bdd07e17be1eec7a689272b3c6d3fd3cea593089cd9cdbcaf333c6ab77d96985d1d601c9e7f39ff76d32bbeae36454cf0fb8288aad67a82af88f0ae276b53762db31165e7eec72fe43b7bc26bb88fe062b29754313df0301c7ad2a55c086555e4b9851b0bee3c5d4d2bce23bd7e0c5c072936a72f8c05208fe23b0ec37375f8a83ae4fbce69ab3e57564bc33360d9c3fe693cf25caadf2e02a4b7a4a139892b78ca4dc465c860595bc766c945025e279bc0b0a2e1e6ee1dc67ef718119384394d39bd75c700f7bd9703ba948a33b25bb52f8e9e984250bbf65fb1bd9cd01dca80154a766179fdd61c3f8a10f69ba34b607d3f8216c868519fdcefbd241dd2373785054906ead1934df5fa2903c08f1dc4cb325f3aa6ab29949df20a43f4da3a67e2bf30465bacee07b96417a27a69c1192db19efa5bdf2ae92a454713c0b1006a662b2e24b963391331db80a4e22f7a2ffed458209aa046195aa59e2c6f64e815f7cc11c65764b89d736e1a6192207b364a8e419823f9feae9b0a201ac3ff3839058a11e1bd229bd0d2603b5e4cc93b2590432e4dc09758656f3562a57776e403ddb77a1c77f927db5b19a857bc96942a5cf8cc6e99cf94e9196786007b5d0fc95afe3047d0459e25e957d1f450e736a02bf5dfca8b76060b9768edb8a21c0fa98208ad0e9751085f61cac1ba310d1e6667f872cd3afcc2fa83bf235621f1434c5713791bda2d1f73483ce102871a0cf3b98fbc51ade00534b6c1fc177f31a12f447ee6fa937af2ca80ecd9d9e943b240e5cea52eabbe0d072068b7d9212b042e052e81e90da60fc615e871532d496faa20060c80e919685026b4a1516eb22a81d4825f961cfb130b8e74d1b2277c5153603d71720e0dc24871ff31364cebe9c7c2eacd937c1df0c948ac3af7e64a9db147757e81a65f1214792a553a027e9fad8305c229f7b7ced4c07ce02424caeabafd6a17f83a07c19f534c1bf9c7b7a411e12df4ce02b5057e1b05f8293e3a6b41878f4df7a7841ca8472205f91d8d9bd8c3c4a2d9acc6643ab863588f7fd65cd8c6f120d1db90d8ba47f8a26b57ef832b5ba32e92c9cb6f0d62ebc302a14f1279a96cfa7d3709d187d47ae3ff493b507ee59a446104b7454f1e18971f4ea3ea3eaf78be72585c73751f84715acf75df5ab1949afbb7dd077fea51d7565aade74e591bf120a8d7ea6ff732db3956279a8ecbd7e9b1e4da21bb6b4b420ba84ecdc05b664a93e6053c0dc22bd136f0f9f1d20342d859c81be1caf89bfa70707fb43799594bfa8e6bff5020c8510e0cd1fbd6cfca6c46d76cf23dd338fc6452034d6492372868f193d44cc104966b2a9bcbf77c6cd61fb56ef85b2ea5be1bb8f95e9a853215ecf07ccf2a7f21fd159f270a377475a43aca76c98cfdf9dcc552e11918d3823db9ff1d4852849b2905300bc37894d915240531f1fa43a59017a4d2910fcb2a4c0ddac2410eec6780bd6790200450b9f995a0dc1aed05457efcedfcc91f48c2e8f421e91e69c81897f18943dd89884177af4ef28d6a662d975c686824b789daed338cfc4647e3124e085bf735852a3498cd653da588f5e2655a61f4d0474f742d4f0b06b486215dac5ef6ed42a1fc790020e09413b38e3d239f277a72dc66bb69ec26aaca5e889534bdbfb54000e1b0e1d3d75a2172d1f53dde4acb17567efca7b06a3554f1d8fad95833a04b20ba468670681722751d01fb0f3a53a32adc349cb1998948473724ceeb8618a1908611d691e41b6ebf248abfe3a09a0da73d1e6e36384aab13dad22d67306d10f0ce4dfe4e705d80bbfdb95a6ab5897d24c1a968d0eaa2152f1424c1e9873b166c8abe29bcedcd361bbe4105a99d7ddfdf41ed254573bb9763fb3d98def202d0816e8300ec9ca3645ae7b39bf9aae86191e1ff912f82f8903cf75222429cd397ecc0b8b248f4bf316ae9925c623827c20eb44bede1f0e35eb46ca20c0d2bf32f6e977069f33afd01ea0bcbc5bd9982e52196c45e650d7dac961fa28d1d7cf2e80da344b6bf0ae7cf9225b1626894820a534fb7854e897de4f51eb6b9314e226f4811e6b07a30445d9f7ef6fceb4763c78e31cd6e3d2aa3d07d2ee42b53b13d4621cbc2124ba16acdcf8dd57b838cc129ab4675c3e1955cd5c2d8be0561f66b3bff9b1e82833a2809ddd28154328b337d479ff9e88daccdf41d3bf295df6b29c8ade7856145b20d0409afddda21c556588b3c7d5f060ea57444bba88b91c7c3c7324e5a846c947bf0a83479fe9d1acd0151adc010f46c87315b68517884d8bd411dfb1c0cc74646a15acbc1b1ba425502922c081429ab80916aa5836828ed511004093cf9bf0a9f13ea5ff98b73048d9ed9348d3bc6c9f2fd3912651ba9a08a99809cb524cdcb80b6371796e2e312aa998477b7d873778f6815167f67b890317941fe03f8f57cc3baf3995c96e4b6ee68413b853b7a575f235c7f721385c9b2f3fd3af58af560a8c7eb73552aa83c0f1a14e4ae45fa50520849d6689c921b7b7bbaca10d73110af57ab3b2db4452b6129798ba4f18a3bc3b96cfe3d8eccb2b793a10c0007cdbee840624ad7cb73d0b0e9fc930a19ac3ce4dfde0dc13b8c83bc1358ef2e2eeaff078ec7c08b842b8d99b1c7de6dfe7e25e44efc02f79f08745013139f7ad907d605c44ec397720ffb24e8708bf52ac96d95d62d447ccce43f1809741e6418d9f062165b25c85f74b3448645ba5af3d4f0906d79786f2235c30d1797b4c8f540cf528d9c6be4f28440d8f59ccdccad1a8573dabf23e6da78f75ad7e223348876f09554fb25566ce9179dc138febad30e498d9b1d097be62785292d9bd34d2e58991bdc0006ada9bcb19a14a93a2222a6943f9ec129171f59ae08cc20c32a9b402627e7cc5d292d302d4ff310cd033bad6ca8a66d610fcd88872296a4f143729fd2fe0cb18517779ed7bcd9ef7fc114c135c733966563c63ba01faca2c0efda03922c428423c618f83b9bc9d643b99681aa1615617b6307682b5d6e8e6328980b5a85a4ddaffd1825a60b2151bf84ca2289770d38fc41b7815f92337946c8c001f6cbe931f14eb522a5e2edf8a3613cf1eaab4273d4e8831c1ff199fda4404c1f4fb0a0a42b1752ec36f97235b18dba7ab54159e28d6ff57a953aa9a6f868228d86c9f2997f559d490d95ab2af54b7ac66ff0b3d45a2496197c9301d6efcdbda06344652d2e3708f8ccea403ea69d5bb6f05c1245da352803641939ce9dd888f9317fc6614dbf7b75a9da5aa71608ce2cf9652dc54b4381c2a090b00f3020326f79e9ba9132523acf3a0badfe10d10796285b4b558dce4f5dead57366470270a3ee75073dd18572ae7d80967492f631740a75b040702528f33147e720e189e7b219361612ac880d6d2233b9d860d38ff91c2e382fdff7d32ce6ccdd4b7e35f6ffa71fd675e6fc6715f8ff1916fd8af265bb1c6f5d536693ffe8106e120d5703a57657816bfe79d1d87e8185ca1fa0de4b8d4db0bfe2ce48509979db0fa3ebe041ca09f3aa1b098f08c8a72fa50225be81599d1c98a28a071b0c745de78c0914d8719f34b8a2e550019b06d70360a81daf2944eee1cd25e99e316ef5c408e4455f171e35bdc509e5fbece8ee1eb69b72b49a92813c7d3ae38fb4dab7e3c30a3f04a8f5037b062bfbca24f9b441cbedff5faf95c9e7078d5238caa098c3d1faa8eb6978e47537833ec70a5c2f5f3991fdb74d52e0976a104972011e09b2de6ea66fb41651238ed37620c11a7cbc53a200698099606a0866097b1310c5f06f4ca6e0d2e350837dfcfd15d9435c0fb168c483baf2e07e5033c9e7dc9f400eaf2b530812898ba6c3911c5c5469eefc7afe4486b58e7b48fa0f60d455ae8d83e26a9548237d2baa04dee2dfa5bbcc63f7390f431e9447b5eb5616b55ed5df6cdb4231bf1d88d74d53ab8df87a6c8e133b92477a0306acf7b3de31a09f50fabfe9e6bb220554fb1773c6dd81ac5be504344302796b605fd09ff0202ccc94265d95c634e6399340863a504b77999a46c11b0cd650fe66c911e1135b2ce3d70b37e6c7a4dbd84b632328af56b83ee51bae20a687f6b4e9f62b259cb9b95242cdf81285032f705c102510c08751f199948b9c35eab92b2046fc65481f8026318ebec3a513ee739c3001815b1043f4b03e6c24096859b72b60e22be4dc1723f246ab8d98fa7548d190b56ab63d72c0ca666a1d7b43c04f173dc180c1573d44fcb1fdf6500c7de3cb313447f53c74fd3f46205d67b65c434c44cf047b4c8d63421d9a1a082a47e91a07bc1a93ceb81d2c7267fb467bad0624c85ce80127ef0f98879e11cfbb302930e74f0e30b7a38d755dc6b9489b2d81ba127a2bc13935ca119c0bafb9d6c5a0b26405941e004ab8ef2dad8590ad53be961b44dafe5b43c5f1cf9756d1fd5bdaf6e84a2b449ee0337444b4e5798385a83d9e34591c2fb021e2c344d8edcdda04c51b1014b4e5882d1dc04132c3a6292b6e10000000000000000000000000000000000000000000000000000000000000000070c1018191c232b","message_root":"0x76d3a1c5955cd5d2931ba951e5290de5c639f59b6dbc33a261b34b2aab5c63b4","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x234d67c1be274c2f09442dca02c3010bb631fa67919eca374b26eea024b75c12ce3fa26bc4e5513106b86cbcbf54a48401dc63552535e194646ce928897059f562a1ebe7e54c5015d3449f975a27efaa16659b3feaf8b01d57c517e4683649914237c8f56d992c331f7d1ab102319196b0c81ee4ad9c5c34e0b0e8dd74d12314cbb6f64c0822db1bd890f532bdce08172910922b7e60930fee9e899c79576ed44e0718ebfa2bb6819b7a33960205c1ee77f3ba204d5b6603fcd73124493aa293af0eadc5b358bc011d96cb0195d879dab22bd7fb5712cadd4ec5288c49d92faad73219cc06b2a49ed481b29443ec00eccd4b1ffff8d313402756162da3a40a86d409a6bb69df04d0eea83ba4424bc632693ae1d29f478a7c01febd27c9715d093c9d6cb00d63b81e89681f677e7bbdfc1bfdfc417a4eebd7b70f007c3395896aceaac9527085636de4491315ab3f1abb907536b3abc3b358560dac8b53c631c24ad3c7b87c4f5d1ec473730c2c590b471c675521ba3482c8fa03380821c470f6c8ce7e1ca93802125c3916b20e9e2d8b5bbac6cdbc0a34b8c83ad4f43c1e9cf6dde2d6ceb7a4922067dcd470bd4a0af80a98d9cd025543be800b161b55d66cbc96a0d66eb13dc183544659c2ce19e8d7bd12e88aa3b9e2be1250a911516e4551b44e53db1fee112c795b4a4b3a8ac796493cab57a00bc45c5fd43d7eecc21c499dc7ca6d4c7af4d0222e3a61123c4ddb530ac9950676fc361dba26bc3329b7f464dd79d8bc4efb451e7a6cfd0abb954e0afcb91dc2316c19321d6ad44a3b4c69217bd5c4eade072fc3209aad7577e4cf74f95c6ce170ec2d3f47db8558f8a2acbf16ef77b3a5b0e7743d37d09831faf09f3c8e9864be41453d8cf9c92c41552d5c9945cc3c5bd5ef86da47ef68efbe9e98ef75df8aa8c959d892c1ab3a90bd6194f7699ebe787a42e58c386c2b69be232848f6f5418afef5de179cb0d213dbe5e4680141240bc27cf27a6f61641bb4f9f880e43afdf2efd85ae362b0db4f53e3d55d998e8f08fd209dc1aaa063e62cddcb6fa4ce64813011d34f5488edde77713408815a7b5e24dcc0de262420a603e14366b5855cc048ebe84a167d81aca3fe049c4df0038d19f1f06404a3ae4905e3b3f0d8d39fdb7e15b49987c9ce59573bc440b0bbe1ece40454a60608f644f0ea255f8d4240e457009db72de67ff311bb0fce43cb859fdc5dce0bf6951881944e9c4980a94179cf470dd19a7f653a7b1161a7ce2d62a219ec07156c0e26f1d7a40a84d10dc85e12942ae699fa6b8acddf930b20923d548ef0f687275afc5c4bc4a045b733faeb5e1fabe95ee8ec27a9f500b9e46a617bc3c93790b2f4ce14c5f8618e417e530c9ac0ab9bb7f77b526cd83fdce335377a17a7f6a804ad9a9739f860e1eca58effd90848d3a2dfa81663eff288def2ba390a2a39b38ddad7fd563971c73e93f33e5a009fca84293268f7a933dff159e49e5689a58bb5f525594c36e82f376c4e87cc7511a2aad247cf0a2b747cc7fedbd2ab79da9aa72610eb6298e545d741d7410486bec609a97e7b62e488f3b6fb8e83cc935ed227281349a362f5a635597b830e3b9a2d228f56daf8cc540bdced70999621b910ee0cf35d269d736c4ecc5e9a6f5c9f78b3c3184e32419b99c3e9152709b576fa39da211a06a8f2883158e8aaa9e690d7871c416b92ef063281ec5f81f5b0ce1ce5286b70563e807dc44bbbacac0405175b040df12a2866052c3a0695b1373c528f1f95c14957f07f6a0af9d1b43174b87fa011a748aa419fe78c74399afda61415d282badc0bd889e51e53c8c9674881ca2170b4d8abe262d8bdb166031694512859c59b96bc2f86d1627e0fe4ab1abac0d210f050fb227b7fe508da957a1bdc0db056c2efdec765cec2d18955cda9b6645891affb1a56f94786d3045279cf0acbe1b6057cfc6cb0191287c3a44569ff4e14a816680dd2ac20fe4a07342a7a1a7b5454c2963b31cfa936bf88f3ea9cb0a9bcdf7766f63107557840bc6c32333570811b88f90bddd4f065cc624d18a558dde0ccbbfc0e72da8be85bcab89a390a6835fc1bb456ac6872f35e8da88ebfdd0951794078a3751f902fc7332bd13efe7aaabd974785b750d9c12b0d638e42aa7566f4fe5adf5cf14068a77e7a10f6f4eda6675dfc9644f830945307485afaefc5c1f42d0cc6abaef7568da69269dd284856a3a37b784333fd7f6627dde1b2e25dda992a0179fe8c3a3e0fbb7f5d1b2bca0cdfaa9572bc4f76e5a8e5b70e1013fdc138f5936fb891f509f892880b78ef970a1ebf5ae4d4c92c4d7f64b75476b14cfb4163ddbbce0578d2be29dc23e8524a3fd4e7593938d05686eb3f36e390f5e445f4fd3aa9c9a3751ab4a59829070cf5ff4d569128206926b5a2ad840372d018999c21cbb4d7b22d73b7ea28badd588a727f96433642443e6e81cffb47cd89a7a567329badc2a5afd261879ddda9475c00703d62a0d6cf6da8eae9138d6a39445b36272e559642ea7d5e670027b5ca6c0fd2cddc003bafdd749b23e22f3fae89861a6240e2764b946c0635de624ec6bc6eb9348b913a9259048d06f6f7083ab8164df7e14d614d679163057e974d96cee5ed9d2aa5d5a7f479d070f2dd82e254632db8f93dae7db237131976f9d8b62a69f3342b04ab866fe9f85601c1368f066432705fb0e22a9994131e5fd400ad1055982226244437d019cfad21f1dbb21ea1e45edb3a0cdc713ab8df4e0d047e2ead5e4815ef36f9fece2eae4de039cb8f46b58c52f5e874ee4c57c4fb6304cdbe2b2c534f637f095cdb8afd61800ef53a4d60a2baf3cb92b5014c221cf8b30ee90bc3d077a1e1d543a4b71ccf411dae1ff316147a260ee3d3de727328f94285d223a0f49018e570d98fbddfebaead51dbac5af099d8f299cf6864a5fc8e7e2af5a3eba6b711ad299adbaaa25b3b744d5936419712e9d38215157b77608bdbcaa33406ee3ff6fe57076aa390a46d88ab94af6b8f01c8236f15b057ca6e914da0c8b74fc187e9888538fa5e61e9611383231be82be359779acd7352e98e22603cc9ac51a991f58ce3552b6bc32c217f548c39cbddb663bb1605d0a6d7f68275b819240d0ed2db4622b60a4a72fdd6f27b3de36f07e2534656bfc8dbc9699991923b79dda948b15aab3ab8259a1e156fca8f982d761b4de03561c3709ad05a56883b4f56694d2f43eb9b398de2f40d3753bf42f378e88a172176b6ad075a4042f11cedd746b25aeb852de8da576a6d7610170ecc38ad7153c544f34d7db924abc3d82e0a6f42b301b2b945fe986188503cf76ce56e2fc738f0135282df393696ddd0c38bdf91299e0aec9ccde23f2f83a21fe69b487b28e787efa28d72f00a6dbb592d61b2e61d21a51b90a67f86fd0379fc604721151f4e9ad9a1c2383bce4852d42636dd9c329d4e289b79c4e76678cd8b6a276f0e0c4c61b694e6cdaae9c667b8bcf191fee951c384fb941eec9c04469fb3c3997cb421c8627ecbffa20e99c8971a7b1078829268688d7545b3c2282f66acb5268bb2c41f658e03cad3f81f79ccdb9691f6f436f24a4183e808512f9f3c300c0dd214466c4f66eadb43552af5e151be2c7a0c6e77a3633852cb66835d5ee4c44cf2e5","amount":40000000000000,"withdrawal_credentials":"0x00926c5d8d18aaba2c88ffa5bb2ee6cd7656a7b1292a4956b468550f2d3fcd44","deposit_data_root":"0xdc2a587754978cbf4b52c17ded70441e6acc3f3da4a4341accd94176e3bb900a","signature":"0xe3e4ba18d01295db6a5766860776231f2b63a302d6b9c7c24b8f31da4b31defab04502360b32d7a04b52dfe4ad053b9bbce737ed36ae1b5e98a2d7536e52645715601fdfe05c257eb1e5d1774fe7a4cba622d1eb9bafda60b48a5de8fc15a3d298b1c7c2b1d243edca502e0f9fe4fab7004b4ec63eb34c075ba7fdf1b42c59d65e81069cfeef4b30e61bc80a955d74f1b54b7c0fb0427aaed87b793b3b8383684d13f5b738557ce6f1dd9d481330f082498771873fc8248c56048230d7788de71086309f9373cc1c372945cf2966a981a97839bbc62003c891e332125dea64738f4d5539c2024b049740adfa3304d481b7e401d9b6c0aa6c92fc99f3dca115382ae8352e3267e0910f010753e427949daed7e4da54279b03dbfb27dcd9ee0bd4d72f367ceb57beeb37fb432a9127afd40c30901b1851821bb81f12d054c6d645b83a6fcd5e8cc2e7e536f8ae0d8e279af71bcfee61a30d58dcdf0973ccc9d1773d828956d06877ba4c1a2492381802e5be08b493d1d631c603fb92d9fed382fd1bb0ad90e4a5a68cb1de76d342d4566aada6eb3309d66d9e783efe6724b784924d40c109f08920f4a3f8ccbc1b76acd2ddb8cf8b12765a092cfdc50deb4a96fd52566ecc9d548bf6febddaf260055c3e2cae1e4521fc8d76c1ac6e14aad219c8f6963200b17c590c7a62261011a088e9ee95b648ff9651b24ada0b6c985c63a1c50e3c74c35e988f0e9eefcd613192876b987f9a793e387e549f3fc4fccd89b91659b8a7658eb9b88a3ac1f7db6e89df346be1dea5d9ab0b830bee801e6e46affc94547da704f5d04aad5d71a6577f03ec89f78ff96cffc755896f27bfa18ee8f24435f7a13af9491ac5ee1fa6779fcb5202bcd31dd50cf6daa63a0cc5c4596eaaba915cf9b54c37003ee47b0a95998e52cd9fc5222fbf49e025396295710f3bf4bd9b8c1c732cfeb059e7d43b96f28c674187c8cc3ab3a7533ac26a5a66c2cf8460300a56a02a2bb0a78b7d02670f447ff06ae5f0fcc603929a0fa6ef4a8c3caa070abb3d71605ba0d23abf4d574a539912a5e3308f1859ea53295ff4ec7560d7307e7f789c1c98c2f50c0af122351c9f0681d2be16048eeaaab83c493ae4e53607d8898db948a527bef5c3429e693a20006f00a1ac50ae15cb0ef1fe83582838e218bbd227819e55657d9aa2233e28688ea1219a8be00d4b09244a7e8e0e9a0a4aedbcb93b7d91e0d3f9ac326ed6db6a54eeb6e8766c3882f1eb98905e07f1830372d758a8aaace9a1fd0c25e1f0b886da0a1203ee73e5e44b9971ee749684fe6f0e02ca93810319dbb5292cc31904e4c9f99bbefced524d42512f0f4fb19104fa7741e79ff16a43d7f1f71fe8fd7316dfa6a39f2e7beb46b1c9e368022058aa4f373b52b31e057b5012682bdfe9d3fefe44af7637c0eb4fbd237050c1b21984b52aae10fe46f07b74a55648f51f2e74e676c4e4f916d8cc3a0bf94160c29f3086552638c94cc5440fc3c6c106500ed978b4e8288a2d732b9ab1825eee353b93b9398a80b0631141db16f92f7209444774576b0fadf0632c00c3e67ba6efa5543318e96ccbcc792d12d57f0ac0838fd855ed37850088c880766ced9bb0843eec70ef91d92d1d8725b5842a43ae171577b1096d71db9e8856c4dd9c4f7b64b7ad29fbd974ee5a966966bfb9054101d779d2a59391df60ae015e926c0ff70e2dc40c5274d7b95ae995be967dd9834d5fd14c6cbb1df0e0de3990eac10bb094594fedd884ada4bfcbcdd9bfa586618e992ef0753b2bdc75fed8e7ac75d8b4b729e6245f30931903bce42f5c1f2bfdd8d3d0ff3cb6eab860e9c5ab33269a25e22eaae65f4aaac201071c60ac5e82ff6adc23c42fe2b32987430b9d672aebcc745751eb6f95532339a2f0db9ec66e64023c6d867366304a72c0ab51fc759b9cdd0e9650c6845d0d289c301e9b7e768ec8da364ba45ba59ea3f56b942590a19a5795ac8baf86acb4bb1feb5c1bcdddd41b06771d75686570270de1f51ccdc34cf1ca2bbe1e1bb52e227edea5cb54ac478815282a2955b9a5bc798aecfe7ab5db92dd779a13e8acdaef61bd01ba447202c42a330902711f8edb04f5310aa603583420594f649b9b8f3f909bde64f0115f78553c5376e2a915de7e8aaf562b05f1c107f05efa2d3cfb0d56612de5bf5282dbdc8f9ff4c508f36417f2157856ab5aa3861f89bbbf66f6bd0e532aeb353203e931d2ff2f579f28a4e4f90a335ef683474da60ff4f51ca358679f8bff7c186ef1862b214f472d287efd609063f3a51bce7621bf020a2b2fc9cc4e843bc6cc73a76e5ea6c5c228f44b8f6a05da7c048b5ae7ed323301b2277a80cf35be992bb62e435c3f1fad73223a9b19159f007ccddef1af7338ae915126ec8c0d8b218c0c060d6b365cbb9e1f39c51a568aa68ac2162229da2eb7e2db402a5db99ce62cc15a0f454cc6bcf05524763affdadd4fed2d752edb8cc9ae0655404fc218cb16112e9a15faea73b67d464c1ab04a2ac91b382e0e757d7e8b1dee7591ae08510e096c8cda28e20dfb1f471547722f260f9c69cb197ad4b961e3aaa8e4d08551372476812dfc6b0ec99f095f285657c0ecff06760baf8f0a8074490b673af81f7536e366963b8ea31e9328c67a89b1952f8f4c7e68575da40aeb8cef0e0f22e9f5419266220374121a2846e79b4becdef01f71ba25d77a8564e9a57ed4b01dae4345e7518abeb29281e6f608138053c39fb88760706bea57a08f69ed81ed6135dea90d7d53069c52f713396acef3117034f792a89ddf19cd9577dfd21974954efbae539ba62a8d344a1a201e17ee00dde326175c8366bd4d1bdc00c92a108ba4edcfeff7cfda1c9d85da8b52dfc6659df7c7679d115e3fab721774a17c9e44539f44d7c492e3b609485a3b92eed0eeb8914372bd945641843c98c95e28feccb6d05ae33a8b3bcd8649ca6fff7b2df56f47092b437b38d99a030145ae3db1962ee6b88eafdba087b92967f587cf007a68f5a570753022bfee4739b245cdc73ae427ecad03fb8a74029649438d858c82dda3e4885409cc3e2210b126e7a010fb02260ac28c0005aa0cda6514d82a2b9e4932ff2ac0cfb5cacb4d3b367a7a13cc74fce7563eec4298155eb0f2ec481be34a347085007671f05ec7374c21c6761236735b1c89f659f34b4a141f49b1d87d216bf49e9f0dd276b53089ccd931bfd0466fe0b527f7cb84ff3420869398e6959bc6eeb45f0de99d35b5e40ba2fa56e308989e9a8b67403527fa2f28c3321c4a98ddd8122424c63f4d168134b82d61ef72198cb542c1f7b0e3f617c0e3e3092d496b5f76eb239a929b374adb8c040509fdead6a0adc41deb43946a94afff7629614f1d40f92e5e6d806a82b2a418153db353f1730f95d9b87a554c51ecc3299f95dee5db2a4dc84b65f9f86330c723d12ffbb50e4e8c7a1772f9b4c43ea52cd1e079a4fc44395094051fccac306c89e6cbb45719a70fc29933b25ca978adb226e963bf38b9526b06942ecf964fe8f8fa969b976f3e53f38d9e69b0be59453791da40e9864304b71c0f1aa648a3aacf775512a748e1a3157217f939bec82894bc51dddf1648e0f816637535e48e6b2aa3c04d4108ab065a4f3f5419e4cbbf1efbcb4900eb0673153008bdf637df4031cf15e9016d0520b0c953c5adb031de7c87c90c4a3ca25ccaa73445201600a588ebc27d5bdb5c8679194c62cb89b30ac5609f9ed2d401b56319688b4ca735c5c265c6703e656481f958eeb7fe1001fcb7bb9bd9f695b9fd3a2161e505e751d708733d9defd9c91e200217bc31b1bf08ccf79a020162fd727e3e43d12daba0f206941326546be7d84556f741097660fac25362db7cb616de4b8532d412b31f0d2243f8b455483917c840be9dea8249d5520f327c435ceb5ce16b018e4a294659d5d315a0621f6f748fe2cc6c4485d44e3be829f55782023f4284b3c2f20998199b8c86b3c3ada75919f9b34a2839fe8f5f775ce6523e30e7291e286bd1f51bffdd6e21f5777c690e28cd943fe39fcd506b2c42fba23b0a5539a3b209f95c1199d366352f901583115f3f2f77c1bc30686f05d30b5ab553cb1fd7577aff26947b19493f19318de8b80f16018ca4f6e319cb52355d23399ff24adbc23577f8f524becb1f2f440224a8f490aaa8e37a96d7dabc737985217651533c428fa30c415e4a49cfb5a81f322474809cfe0d945e49caab8aac500c2976580aa71d7f5af911c4af6bcdc9a708091aff86a561148212996e3f6bad53b06dad7d8614806ab20b7dc6e8b90e54024fca823877be7b6eafda32f7d71f4c4f40b8b1af6f4472e16b862021cb9c01da41994d5581ffad406b391ebb4ca288958c3d04ad1f2e995654d19d6d51fd770d24a23929e9b31d843604d5ebb0d8a645a44cb3b40fb33e19200184e0519bc4d5e51abe5f8c2fb9c9d4447a1f4df4a55c666531af6e51f7deba61fef21f788ae938405f101fc05ef6dfe6c200e90cecdb7ebd9a71bdf6c49ca347c6033bd37924b41cbc8867d3cfb71875e9d1734da997c362717143c66124375e48cc6329d5552aea7e1bcafc886eb73eeaa6d7a85cfc3c4212c950b15f67b7f667c3af880058510bcbbb37eaa1c9f2a80ba4c8d33c6c71eecae58e321c4184ab859db2898856ec3506418864ee9196e91bb2f2574c2e9be6e406de277c3f7a75ad5ef99a10630f800ba8c4155cfc646fcace189ec78993277150a51fd1cb4b8d9754a23d38bdaa65e820b122af65669de85b66d43b197d80ff0e2c1ff3b46009ea4a901ab76bd4908c6d5d333a13d91c95c3c679c4fb77a7964370ded16086d5daa62eef4af42cf55414183c6f9163f311791d38d1b293973134f062a6177a665acbf34f9cd2dd54d39250890d571cb1a90659437f4e2ea8b02de755b136702c3c842dc3094c8014503e306580633333bae816e5e12023287adbb3a26d1bf492ef99ed3f1886ba808352b8742857cfbde9367eae7f6aa27bd5c331612823bbd85190f48240c8ca9c54fb1c47d2e073380a383a01953f4b1e8fd6940d3e88fdfe435a390c7474b0b31455fa5c54e253ac9413e7ee448d7e7ec14fa5d28d7d607510ef54aa369b65dfa92849ce7e77bb9fc154690e414ee1115c7149c95627651412b113d07b1875ff03d5f18ca51dbeaf366ed4c631821d3952b10f6b53acd423d6826ea0019601ac9e70ee559ac79a5961d83971e5982b3025bc74ad2fd5b6a08401361da90653788a5e2bd83813a86123f975792e082b3a98a0ee522775dbc8e45d3c4c46db037f39a4dbe193e57ca8a9b2d1f89196e08786c240589f9db8b410147f54bdcefa2f1c68235da758a06831b4b49bc0cc1a14d6f7ee46e79a2f2167a6ea45cb095e002de05f7df53246c10f21629f3eb06ef0d701e26977cbe45cd6ff1dc79a33b0f05e45f0f9077e7952588d0048bc7dfb99fb141205cef546f6ec509524b226c0605d0c34a369b9c2ca3bc26ea0dc36f4f9885c6f1c9901e2f76c99ad1f4969bf422d17c18e1cb68608bbb014d7dbd5271c33056a93bdeefbb140bae29882ff87a05b6ca3549e66a4d48057860a68b1dff4d69c2de184cd11ea3d753f7fe2b19d65084809173d738fb420aebed05b0edf0f42de37b8707a4192ab2d2c6dd4acad40e1f6eea52992c45bd467781cd7a147e2291bd2d4dc6ecceff2ec7a88e2c8c8cd52646688d136daaf0fbf9186690d8edac07436826b01d74283b074f549819c7d21b4e6aa4b98bfe7fdfe082659c5b6ebec9595096655beb4c3ae222156d81e77493bc4f9feaed0b7aab82c3a710fdb7798d7a428b670592ea88eded363c729349df5408f70e0585b5980ddc5067b752eba80b254425f20d67b64d4c1c262f1362f8088d5cac96c5c1ea5ba562369cd15929b9c10eb79d910658a80a9bba9d921d12fa0fe8a981c637c68d4c9d26ff1ac0a218bf2b945ce82711b32d44a8461dc3c98846d0c171aa2a5e2d182c539d5f6ea0c984602394688d560c4160e52f7402b6d642257de72446f65ed3dd555d0ae1863400b9a7ce3d7cd620e579591722a43535cbd2c24d5aff3228e3ddce2781f9cb1c2c605022b99c0581d177a7ece1b319bb3bcf70ef8e6a396405db25d66254793f337a9682af24b99410b83b2dcad044b2c0a36883a85a6f8703506cdf3153c68d6e66c0d9af06af2b9283f426250ee19b2f38a9860a5b3ab581b18dc3647afac7d454610c4db905d50f6295b31b658a47b3d0da90b20e39a14fab7f6bbd58256788bebf4a4c5f88fa9bbce706c113acd1795110f979def0eec92476208f25ab502d904022d73887bb1de09630c006558c0b0bcc89d5880118f7e843064b7cc27335ba7a9b1e50c37b8ebeff80c2f4a54a8b2dcdef71b5081add7f7147d9cb3d03f7b85bbbcc12b39629aa8b6000000000000000000000000000000000000000000000000000000030a10191f242a30","message_root":"0xd0332bcc225624f480df93db5b4455d321d1562b6d2abbf39fec7e12ba9707d4","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x39168ae81e148744664e961cb786100cdac6dc0db6cf093c4bf0034d8773685eafbaecfdce50801b505ce741da1e8d8cf9075938879ba372ff8526ea2f9ecb7dda01e968983f63ee1b31e54daea31c705c0946c4cbca78e6b30c88e11eb9d32d6232bdfa109a4dc94abb1d6fce4bb60e7cacdc1b3461c0fe9e4fd0352e38450d37bb57b69470b5e20ed4a5f68c9ea7bea91c7c2b6fd34d6a7dd3edce2775f1c94b79bc55e4f51f8e104b67777cdf78fe2575241c0c1c5e8d1ddedd4c9627b93492c37f095714ecf113f9aa12f95c5e27b0b195b1347e3584007396f164c19f8843d00395b603f97021ad1fb52fcd3aa31f6be7bbaf6c88471f35e073cd986a281f0d1d4f9200068043062ad1a549c385585fdf136ab667a18fe84ca9202fdaaeefe46993791b6877fd0ef33224670929cf62c7ac4585b0f482dbe156e9254a2359d9c8bebcdec59223be11a0366130e173ecb221ded7db6db27646fde1da13e29fee6dcab73033ff62df79773c5e45d96051aad5fac3e03fd7482cd067d1a8383e3ededdaa764b3e49f3e0717cae3f32da5260f208fbdcdd3e12a75cddcffaa7e1e0915f1c5e61e4da79afb927c72a4ec963910ebaffb27f6b1ed90d4eab617d697bcb57516933bc12cc47eae9678a1d4d17f924dbf219e436fa41f172b7e79da72c87e33a7227da8ea9e79dc4b636562eaa3f7e64c1059805ee211d645ad6bc9d29e6c53800b61fa5e93e7382d3e4a742e898daa11ad4bb1c11aab037f139cb3458ceb56902078bd443eaab65687caaf691a2a84c54c739746d423d2182454feaa5f0cb4d66de57b058db688846465ee4e74faee2a7b9c1550ebea25bf7650d0e21293b59c4e754c14d307d0ae43722c8d9a21d7178a4a7746da3bdfc5daa1ed89c0f0b2dda53eaa89c6e0b734702cb337fba561112da2a01299a294756cfa0c7d6b207c07858605cea919d719e77ed6dc78cb956649dc023af28eae7b1c8149e3e0e5fb43612d8de85883f9cfa73e142dcc16d295cbd4151d7c3d7fe7b7187c3b056bc07ecea9e6571bf5ab981faadab40eaa220bddaec8ac2489279e52243ce511b2578df268e852c810745f947aa3bdb4c19b301061fdab8b2b13c1224da443780afda2ae8ac076f98ee08fe51f9a98da548634e038b75d417d6d27e2763c29872ffb63aad5b34f5e1bdd68b9795eef9c8ca490c93f0cfb908f010ce23d22e5b0f4ebddb43c751c13bb98e512989427cb510c1d71dce1b3959bb063bc73bccf404311881c80d122f9a8a68ac68048d1ff5274ae3703ee368f27a097eae6392a6eb2c47b73a79d040f2d4a3103a3af7b65b7fb987d5cdeb017c9639a3460ece74d3053128b49a452bf9907a4e12d1f98d6039f75084236ed4f49fe4a7225d647cb624edd51b1dff87229af60d54ea39c8d023e6fae35019c5532e5611c02284dcdfd57676125567218e9be6ed33e7ef1a9a2b503df849ac4916c8030dc5569f40e4abf3ecefc36d30146cfb75daeff74ea1b967d20db697eda029da7aa163b4d5650122c2fe4bbcff581cf639e46e2312675436450fe743f689657c568775dfa2d039e4bb663fa73e8acb17d7c19194455f2350ff63559c5016f9434b50aa2590f0468861408d3872ef36427f77924190b7efbb75516512cdacfeb494b09bb4a0de8d3068d8a6e6ce1c0cd5246d58b6ee18dde76ef12721a5729751609b6d7467aa50cbc1d210e6f4ee750f0a9100616d7e2a6c9be408b28e7a75ae327863dec682ff0d999309c226e95a7c8b935b1016df1b45150521b0ad9325547b55c7655e105ad3fa38dbfa40e893fc1928e9b66af348dc200083bba1426085b4287118efc753258512aaa5d81e095cda2b4a98b387e5361f534d0e0b112594fb9cd7437490bead688a1384b4b4b09fbae5bf4dc739c76b3aaf7073d40f5b54a8ba2d953a92712514f19525bda4e70c8378d336faecb9ca0e3517999a2eb4189754a4bc74a1ae1676a146845b007d1f0975b904cef716a33069f0a659b38e0ef9eda2d41d8f904f9c8821044d736631bcc4072aac60a27c44c5911b7a41aff212304cf3d3f068257d6a53a657509b9b9a683c513ec10eaa97f83edf9d7687ffb818897365bd6e70823932ee3f7b265ce55a9ee921e60538fed5c3cfeb089adad3d9d4fde74d22de22096592e1d415c5f279317502a7c621465374f682138fa00afa8791453f4f3dab44c48a4b8f6a6d9149b253050cbbe2a2deb7f19f737cc04170f4eb38bb4924feacd0c65b6d31ea9e6cca7077c0fe6d2ea995d5920168aac58b77a2f6311e648e37716c91925d58f233fcdc90f989a53aee3be6fb9367ac90fbe25fde4ccf9a603690bd6596209920d222f0d200ceb4dbcfc8dd2818b07453877b90f6190cc4c52a9a4cd4f796dbbc5051e5572f9f09fcde81b3a1beb24fb867a6624631718705ae8c21bfade6b71d03a2ae6d259e34268b2185dd42ebaff8396b87fd7f33cd0e4b7849ec5818c0b96dc4ad62cc555f12faa6d047fccb47d5b8afb855fde7fb673d1a7a860fe79e70bc77e5c1800e606cf50d0594e626bb0292379c2df92e8f60c27d6abbe7f79619a7636914d24f2922371c15f5f78504f237201b630cce71f1fe86ca900bb30a1a91ee44997b14ddc1144926296a12b3838758546f97b5d70fdd0dc6f848ca662674838fdb1fb8c716a6916468fc8abbdeae303ad6ad607dfdf776e8ca71497df34e35fb255a96df952b48101dd9b3adfbe970d1fc240cf877c7b1c4810fbad3e62b14a9535e6bc94e7703df523b6bab94e47faf0f928166095d55640289a773797fb0a027d15e5a06ea0854609d5be14a57c8ab33d5852b6108b1285d074dac829cf8ee194a3675366e89c5d81d9c3c7c471f7929e76da2e56f20cce00710cc7b8575e166fa881f107c393561baefd7fb67ed8ae8f140338ea18a013049371d6826af75ffa3bcdeb9e3c66a617c9f517b93b8f5a9c09a07bcf12c53ecad12648822866806271a116ba7eaadb25d45b90009cd3db076e857dc830440de0db8e66a6c46aa87b96d855a180f824ec817fdd972ec1f2438cb8cc56dad4fd1a30d87c34f060259478cfc7bf54bd8458baae620e75c9e51409cf11362689870d9dc44cd10e90d89dde454953de124f87df3d008782966ddd5ac07361ea243d5db44d0a748516e70e4417331319b0bf6b3a3009e29a1fd5a9914f8a87e831dff3865184c7e155cf4e326734fac59be85b2ab7ce11916664d2b8a2f899524c8b7fabae64f87e4de71044892786e4fd5eb9be6aaf3b6e805d437d39cc7b67be41fbda0bee45ed3009e59ac40b71183acbf8b30e55503610b8281668a7a4abba927f6994b36988b6e3f5aa0fa503d7906db0cc8e8ddd4f763e360e0064d1d5daa794b436064129854ca4a0991bf418515b076869be311625ae429b5d0854c85f808a2e19d40884ba819aa5caf5d866767d72287b8d32d74c07e36140c173932f0e7df083c8dc5abab3841d1d7bba9b4d775f669259ec559923f05c31e567376d90fc3716d6e94232e9c06ee6830867a7b08fe6ada91503055c78c9ae85b812d926f50c021c9d244e683682785ed54e2fd7bf2583ebec1f8936821a8b1edfd1b31fe170e39c17029fdf83d25e76d356abc00bb493297ddc9","amount":40000000000000,"withdrawal_credentials":"0x00054eeb737daf6594a502d26a605b1d3a520fccee04f8f97e54841f12b568a2","deposit_data_root":"0x2860f844876996dcd2d0bf29fae35626b32706f77c66b10dc42fd65047aa6163","signature":"0xcc18c92b31e9d5f20faf4cdbe1e7a33b9fe0c263169262b1a9a4cd8c690662a38154b18868d45caa9e6fdcc54b206752f0a6aeaa49675df82f1ac14e2a6ecf3ac38a84f10b0c5ded04852850a114d91607a142d6d5a75013ad135d15994f7f1c74922d7eac9ab91edb800969d2cf4f98562fbf0ca5517f2a18e088218768104ba9b6ed1a3147f87fa05530389807d234e2a518decb81b3eef6d2058fa19f07ef26b01343a073690bf9a0486f630fa7c4f06f6bc9ecb67c948ead72aaa723d064f8fbb316b18d89f2dc0f0b5781e091e84d33709b8ec10bd3dc15caf4833ad02caec17eb4cd0eb47905507aff9ddcd2333750ccba73f1c5ab872d569d73a6fdd7ad41c0f8593d8373073b95e1c231f5303c2ae28542bc036c52198e0c86195cbca56687a5f3c1d7c36f1790c78b1f0cd79b561c06ac0452ea9cb4968f330384d19f9a499155f477969da04eae93c2f38d14cffb436ea8de60bb59b5dadbf7b96c318d39217ee9dc957152658168a6700af485f8737464cb38e0f5e4245506cbd08ae2ef07815a1d5587d544bf8eeeca04b667f9d6cafa7a80463ac4a9e8c2e3a0e4b745d50be9d8424704062eaf38050392d9cbe02b0b1541f78e17a25046bdcfde72d69dcbeb7a2e74ac0eaf873a52b8e9c1a078342851596cd50d3f955e48fa8388f402da0c1096d1616aebcf2d4becdf554dc40a793cd0c906945aa022e216cdf144da498eae3a91e44b60ef235fa5c332cd20bca7dafe3353b0d61ae9ec52c3f201312b4a27c634e71803c9fe5c79f0d1cde81b70b7197225f95f108dfd04d142020bd643060f612ef4149d93d2ca6dcd49544f809326f6495d741c692356db353284c3513d1154ddb2cff011e7d0f6f391e4f226f3a8a5e9d8b2606b35b53f9c98c11d454fa3a8a288106a11dec5fb175fb67d99d7c7d3d617095bf1c312f995bfb9d2bfc964a4abeaebc87a9c0c03c515c4d14af46774046bcc5d00a75c1cd5e53a9939c9b842b236381ee64abf555fc73b2728f5102ee4be5c39934fccf0c5deb7e8cc411d5821a4b52150bfd13628333cfb1c6366a3b3971bbc841947418f58f25718e3fb8323f4f4f9a29ee8b966417b9c2389330e2c8f12d6b02b08906298ea7818a3631701d582a082cfdb22eba1a48a16dc5c66fa003ecd8518cdfbce3245270d09d8e6f3ef275b36594ee9ca6716d16f20e15a7772f7c43f9bdb4dccb35b3803d63fffac82ee6df0f1d995a8c44b69d37cf151023d05f359500f78b822eb73aed9c44bfc57ffd76ef70ae696e7a40dac325333014302ca67159a55669409a524e889a92ef98f2f43a26fe7e769c3784d78efec099c68592e7693df056a8a4de92a3219ff4b1db392609fcc95f182f18aeecacc55ba153f1b662feb0fbc33bd6067d3803b506d6e95b72afe32f6edb95dd1bade387d5c4b73961bba2692b15ac53c56db705ca33486e30ed35cd53795bbd36aa5fc244d652a707f013685e6e81178cf5bfb0eb7ed5ff89b69de2ff049fea575732265a9d6d90868d0dc1c57fe394889553b3388a13f37c19f34ba76edf35e0b40eeb56b733972bc1f9e101c107dd2dcd918cb8202fd611b588911527c4249e6a8644285f299fe5a120fb720b6559585f4b55cbdd834f96452a9889e9594cc49a3d11eef41d418c126c3670c9529d1f5141f0ccf79e177942a2931f1fb080435ad7c21cbfe29431989fdfe09f283db580fd564d946576c43360b500c0ca96ef3c1029058afd666aaf6c508822f5404b0111abd9d957caa76995240617dccc8ca0c3229992bd4a2c39350ae4fa863ebde194d9c270545f7759b02a13d3c27114c024c654fc0ee6470646c08233f1799e8e103e762687ad2ae462ec205d97c4d3d64e5c0a4fa6e5a81661bb03ee3d69a271e65ecf349e0ae98361268ba6f8d432517c63dc4b329b8aa6e4d7cab60d756a5c1d7c31c561e6dc0f6acdfab540f9833f77087f86350b5cacfa508d6c70098245f4a4cbd93ede45437c71ca1c5046aea8f2e13c855b401c432e9cb282a5973f9c2b318aea9121c427023bdd6dc290c16c9c8707897dd0c6c40257021cd8c49c73273997e8affc9c5a25b4db8df31fe248b7567301c108772c99a3f9ea6504f98dbe06b200f7811a4e91fa701040b4982548060a52e0e15cb3ee0da8f33850b760184288527b4b2027b1c5ac217ec226828d192b6b7bce100f63967b49161958e5d07c9b294441c660c8ad5382c0bd303b27be60ac8f4720d0d03a42dcb0e4eaf78efc57d36bce63af3ab94d4ad4ae49e10b7a56a8056a077358c168c2f12b6c5691d73bec8df18ebd081114131ac5c259c02527aaa028b3e30a355862785ba3a15ef206844fbe325468a7f0abec8998b789754c7f57893eb8d41cfbe7e0d4cbabd7b2b30bd0d88ed666250c2c0b329e6fbd74db4a3d1dd911a8633bb6ba0999eae305013cb84ce18628984d403b7591ced675668bda8bf793e3f5cdccfcd299f69a9d6b9465375d50ce3b33c186cbddc5b99176cd8b74c626e235f48a50d681d0a7f2d9628f5a85e5bfb1a98c0bf99f457209725f9d1318d416de1fb14d711c2158d5db2fe11ce7f68f27b117452426caea93e51e58938d0eb3d5750017d146a9641648e447f80fa5647990e90ddd106746c718f03a7e058068935f8976bd68ac16f4e5c8a5f0e3ecffe4000bc06c29868b3a139e7fc640cc9e6fda43fdb33653063e9433c55a1785e43dd77897e9af9e93761b77068ad9584a6c1cc981c246fc239682b1333a79370ccf18403423d46c1bf143ec7edd45e35c5ec03198f0da195b4466a2233c8ce2a19cd468051460026510538db95dc852bd32d5a3bd11d8fd37061440ac1546aa2d89ba766a088c22f466511e70a35c8d898542cf287de270983efeceeab2c4e9239e79b56055be840107be7da242f68ccab2869ee73c4600143768538ec2231ea755fc1f1cf4ec4fbb1083480c88a1600da06aee3ac6c3203067f7f1b3df165881f14df7ae22b72361ce00d4c2558e1eb8cf566a4a7839a040f5924a69ff6c1a350344634e9b8ab561042ea40598c5990a9546fbb1bf2a2fe9dec826771462599f05f268354ed4df73006eb0bb20f38005c018edb3652f2dc18147486ccd5e2d52088c653c81cfffbc5f4d680e708c278c4f033d20ee43f66a28869ec055232113556d95d1c6b92c21ac313dc19ca327f41f802b6e1b73d43810fc74c0ee31e7168589806e37cd155323e9c5f6baa15e32be4f76b958b7d94e9f6afe7069755af02101fce2f2a5867bdf4b46b5d6c3ae11eefb20410866a46ceb0e3c0c28c5bd65a4d8edfbd55f5eeacbdb565222f801b6cac3f4e3e521da2cc58aa66ba30703aaa033b94e9c9a8f86ee78b3ff38e461dd5312504b86f833d8a231cdf3293cb66dd68f7e7ee60814da42c5fc952290672eb3ced3227695ef99adf3a02e32a47839e20c7890ce3a0ea90a3441f167035e535a747d62808bf6ff6116f166e44e510f593174d91fafa1a3d177fdf34351302495c06d6123a99c3893baf7bef684302188eb4aa109301127f8edf077c72fcc0f807b058d687595bdd11103f2f6fc75ec2bed96ad973c749ce5f98efe7e6a4e3e7cbda1ba62b4335cb969f69b29f4e31e01e9ddcc730cafe9e174b54b6fc1598efdd70432a925b27c8626e5c3a4e527eb0992901ec0db5f824b5f00062aa1cdc5d8d195ef1c650011bdfe35e59ea5dba6d80cc143229b72a40d77c267f4378918d6d285aa371bfefb2bb12dfa39bb1258e016527fb89127b9b7d1cea25687c8d065220e95df8c4886957481e32896fcd71a99c78cc8815ea12fb390486470ff54ae11eb6fc7169c73422ba69e1c091bf1c55b0e1a2e9240822bf5d627006125012fa8b71d82d926261149f459258ee7df619a8f23d5038d03af61a2355c0a7fb5cdf68addb0bf68772b6ae953be8e23183ea028a1a4c5610a1f267777e3ec05394d54be8ef5002cdc792d46f44a235de2f46190e29a9b646246191a249c704178cf29139338e9a6cf04aaa141caf48031d7a9aff5b538b54d21ee1edf5a04e7b308fbb1baacfd473314c2a899eea529c3a5402bc730587c6af84e3d32b1ae4b6983bce3db6cc03a2faeb0f8ad7c570ef9b1beb38a865bf2a05da09f97b8d6ecf54279a256bbc117632c0bd529f287841ad358e5a887dcc216836594b500998973bacaa474b1842103a198d29c24a0761d5d00c53061b836c9c5ca2448b4e3c893db2ba80f2f0c886974aa94ae2a088df4c0586bc36cbc92ed2403708d787f7571a38f693be24a92b0e6114ccfc70ed27b78f56948cfc46e7b20685b9a52ec0faaea1be5b58dcc7eb1f145a8b16f0c8dce6a1cf14c7dd5479df0b05819b328af7eab4512db22a2db91fae956352ebe2bb1d6007cb5dff2b3da3a61861fe6ef632b100f4e817283cdf15e77783eb4a52b35494a3bfdffc339e11fd9a94f12565d482cda0f01de40821ce9da39e546f49601d7830170c6f3e38e2dfd9e4ef12789c0a638d16a1d11f971c60e6598fff8a0fd6b38e3e9166ffc1c7814fe0afc123a439791b68e3fab532d22e999bab5f6b9132f75040c7974221fbc60ba50831b1bad1a299987319bd944d93d4ac96d7a95e3423ff44b4a390e7c4ddf868a4b1ae45ba46de6b871d33aceb2dd6629a261a62f7ae61d2f01a4f75684aa18e1a786dc5e3cae154fa02275be5500202be96a9b1d966858cb361ff951bee02072296823a5f136655e13e40125e60aa51f6db0a969d6472a7e56db0dadc72462efe603f8597838fab77b499a223eea8d89e5bfe96a2dbef25e860d33d469d0649e0b0a314e436507e67f8f4b6fc5cdb3dc5045f2c2f3ef2607e304b8679eced44145f9a4159e82eb7fbcd285e69e8b2d991311dff95ee3b49f17753057d0e703cc81304a5efc4c416bb6ab1b94c5c9301995c9ab4f470b99eed8adcbf806a950b64878049d5b3575597967a73b48c8407a8b7390f3cf2515b21d4c5bcfeae64111869910263369857e6f962510d63efff4e4153bb55373b86eb46c6e98aaa0eaaecc9582601b1cf3caeab944a20103f9de9016cdd010a87cb79378d5eb2a00f0b3d9d79aead8b8616efd956435b904f9f67f266b92a2c9182dcd86afd2736598d2e20887a1eb61398a1f176da84daba4315570d78f24b3d6a3283cbe3b2328c0d52f09f1434cfc4859ac4cbfd04e13a7aeaf996ef4879c056438f1be335f737cc8b55727f85a69fc6b6470ed748442e90c2b15c4b1c15730e0baed755046559cf04b56a28cb9e747a9b480ab03a3462a2b75ff84b4ff5367aa1e6ad3c5280adda696099125642d6d785d4b4250c20f74806980747b7133f25ef2f1d44222056a145c44de8f42ec37f789a18e24a651f138f49767fcc704024671355057aaf9568595b072c4c1fcad1b136e8a957895fa1570d0c68fa9fe1059e313573ecd1d34e1895912e48499e494ed8fdff80c9bde85b780887d50f7df6d154a5d96c8b4292dbf83027d5974facb7bcd87e050dbc93ee554535eda8daf3fdfa8a712c5fce783392322b3c40a86f501afe11711290652fc94944426a578e348f79102755f8a8adf678502192af5800c60d7f835175cdd59cbfc6ea127f3049ce7ecef4c669e299db60746415629778c0de83694a53731a3ef5993a8c84fafbd73aafa03eaba116f2cebdac3a80276237ab8f03efac8475f3b6f61da69245f86af4e715c79d006970c5f0b21c83d76e340bd54ef70bfe95c2060485f7c7f192f8413ec31293e8d1b46da07f2bc0dbe215883b49b1304fdba1a372df1e722f1af27bb0522287fd61368bf61b9cbc64ceb810f556d8909017a82b5ee6f871abee609c0ed6bf4d3c7be7247d3f724edfd680c70cc26177e2930699e7201392f6acfb3bf4e0cf6e6a2f1e495a9194ecdc39f78fefcf874a75d6a16352bfc2d7ae94afa32d20502dca2d90e57f3d2b86c5a58c27144c2a82a4ef9353daabce46741d4f72170d1eb0c17c0ccb880a1b5d2a02d685d721326634a82ca941cdb81f438144d0043db9c6160abf561f5d9cc64408645432ea3987345c6d733f1ebc9f5d9ccb4639a88fe6fbed222ae6bd46167ee1f1eafabe579c9f252e69b2b2c1e2004abaa62019eabd18fecd26ddcbf7f7f18e9b79d46eeabbd4cd447368cb3ca40c37caa258c2f6b7fa20f6454762cd0bf31ec26d0d58d0d51d857315f95233c0ecde8f50c095809000bd3fcc14dabb9d457e5197fc9f6242f181ec6a9428b5c66e07f5d616fded32cbc4423779d012ca222e123a2bac1adf20d58428dbdbe4346105544ff74564ee371b8b908f1e25821deed5387bcdba6c033dd2126dbf2d0a24ffec114012ba716cd982d40b15265277879cb2bae26eea191f38628ebfce58909cc7cedbfb45505a5b7895a3b8dffe292e515d97daeff0485a787ab7bcdd1e263354819ba4a5bbc1d7000000000000000000000000000a0c131a242c333e","message_root":"0x357a0fb9dfe9799a7173cccabc4c781a7d0d82ef7332418379cc65f9a62399d4","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x9203b5875cdc8e302ec98e9fd42325b16454473c1f47af961a9e59e523e7392c694b54d8857017a342c42db7b68c323fa5c7fb05acd423a573818943f51bedc32eefdf3fe3c5ea99a44b9c5456868f1e3858b69068b3e5ee74e7389ef4d915638dac8f71967a9c7933773fd1be53e85fc58abaaacff8ade304f90b18a90093c5a50d259829f8f15aa6657f0aad4a62e232e365e3bd874d616331b1d8bd4372de3ec090b6802045ede95b3e07445bdf793330cdde5d1a936bd28a0f232553777886ef6a2541fffd2385df851504b2da4ca68981d5e9854977e1491adbbfc1220628fe90de385404b734edf2cfa0a841d6a20027515e23000b4d37580718dda368abfe200cb128a14634d1ca0db028459cfb1ae82cd5b6ccfbb421ea2417b161828637170323134c8becdc213401b4cec5ca714b3903cd52fee46dee6d270878574bd2cd6618720b625b378d567e768a707fc4fdb369889e9ea844b8ff0e4cfcc4b2c516d8da563628cb20f6f01c34ec1a8a9f792528a53d8be46874983bff50a45d145a61619cc152a6a9c2d6009ada234e2e35fdfd07b1c40f78dcf462db74233b5c9a1a971ffd78a170421c8ff89caf2843cd253a0925cfc1b86193f066bca04f21494874e6beeb11bd43d5339a4d7c9004a420b947250ffc883ff960820879b2ff420c9951e6bf22aeee269af3d7cf4d72e949bbbf72653794b395368e7ade3fcc40ef5d4e2f525b9b125dce06be0b5a7021dac34dc9b293f0f03d9882aafa6cbb59caab09b7cc785b3b7882ecb19dbf4afafdcd74360d349267f1a53836eb9329e95d99e58809ef97dacaa35d0c3c854cb9dd85947d7b739da5afa15ef24a47ab3ecce51fc268bcc5cd76206c6f12b3915c5513ed4a6689888aa4ef46526fab72e470ca374e3d2a0d1a837235372e887f85a1d0478ea8261275c6cb8cb598a9e566161014fb893dcac2cf9885e70be72b94a04728ae37a14ddd29223406151787b4e4c6b04f088b2bd9ac9791f8c71f4e3f85a1006ceda189bad3e7a8970fa0d258ed804bc4e91051bbb54ab0ebd4e10386704d008f715dce72b650616239e65047d7639af019f0b651a933ea2d9f1fb505f8a0cf3ff2942126fa6b6d378e7ef1f7c6a168e0694356e7b2d13b5264009bb763a6caff8964cb7d1179f265e9bdbd57c020e4519b2296db47bee0cfe33144de0ac0760361e1a6e9d38125ebda259a8eb99fe2f92f5d49e427eacf00b427ebb70bc872fe53325c28df4d9fa79df9100dce44ee6dfa31d20b8e08a9d063a017f94d89aa2bb1a8ea6dd5397db0a4a4c663ff1e688342c46b65678f2c3b9c4ad7bd469a069680d640adaff3a1448363fc8267909d1dd161ef0f0cbb27d2acfc95cbecfff55233ca12b4cef21f79bc8377417520fb4439192c9152bc2d6578d1bcb10cf07b82b3725e076576ab47b047a184bd61df1e97827402d3e12329a3732f2308b567a9fe5544e05f079f70a370d9d42d6219257ffbc619a80b198991f3bd5af52060defb666a48b8d7a71242c8d47c9afdb270c95304419285911a3088878d54c6b56067498cbea68b927d99a62ab67c53f6ad485a4231f97c1563264500b8e7a14060f90cc2ea1ebd63aafa2b7ad46d2d0e140fa7db97eb4f6d81c09a4125c1f680540cc95b0051ecbc221fa48ac7840e80b9967b2e29d144b9194e502741cf3a3b6fb951f131b44a836c4cfcbf37ababec712640dc4b95dacac3c9d1794cedd6ec463f474832436a58d48ea5eb613c68b309a3f4ea9662b0d99ab43766eeb7d15f3f95d48481f7d23abae403af75ad78301ad026043bc3baaaaba0cb6e75d21a791ff1870d5f43d3c3265fea7037e8398196fa0b3d8b8dcbbf0a4481950897e1c7cfd8b40fe711a21631c8eecd171b87525575fea6c375ac07f1af455c4da9f3787a8cee38d2f20bea3ce81068aefef47abe1b199565f4e99ff13e409984f73d473b1cb0468b77b641dd0e010a6303065601c93aafc1bb2e47d9dc6c498974dc958560b08cb5c0e759323faeaecb72e65a129f9ba2c166c5a6f990eab17db9d49b53b77532d29d5e7151c4f48487b3dd3f90d203394217e6e7a6e0510e8ec5920fa7fb04f2b59ca5fa924556e87a24f675e493d0cb0a030dbb7f52d221c8ad3c412a6a948fe4dbfab558041cf6d4b650c0bd44d6a7ab31b7e6e46824b0540cba3b8c80d733fc40c4fc2ec2490f87e985b7d282b1ff64233e3a6d841baaed8cbbeddae6353bf04a8a25670a6b82efdad14c943b55dfec3d07b94f372dbdad6057854e638a63a16f4813c4be7224d1700fbe78391c8f88a8dd3e38149212202d7328255893c714ae94d24006c9c3cb279dc603dba117acf8f222d53e816582f3b1602a75fce559021a0cbcacf5a5d1da811dd7b9986b15fab520b2efd53fc76fdc275a17b67e25744151f20e415866a5247f91f69f972943f9303a94dd663a12a755dba86b8f4e6e1a4e2192ce43fc05b22041af7ca81398779fa8ae1698e2cc80cc21d69674fa1d728ca1f32373de0f6b7365280dac61faa360f211939c8debcfd33c4966653881aaa9f68587d1e5def1d0654c8f9f2373d08760db8dfd3d06f48fa7825cd811feed6dad4a18b28eeef280ba1a0f8c8d965a93be65d772bdd24031336d239efd4df6aa39788ae19a90333d4a48db25bf0292025907a398f0f9a3b951b786fb107d65cd219311777475b979db00eb2d3d7a4f5c083be3418bf8edfddf30ed379713053eec5560c24ee7e5e7cd4332f51ed1a77313c6da67e9decfe43e8726408a92b8682bcedb1c2dc8215e31a17b084348e33867110056df1f76f98c87a9a404671fda1d1201e52ea7729a624eecde12ea5120f2fd4e11f90cac53efcf7b5f73eee40e78ab484658b552230c66a2af387c42a7c9010293990cf2783f80bfb9e27b992f3c4a77c5371fe6ac0c422fbaff1a39cec6bc2269faae80e372d9acfef76629b4fc9f3af48ce3b72a30c06e49dfbe99eb71b44c51c0130af3c91e62cd9e753ef231120397c0763f742c5246e60b5ce6e7511d738e0319b6d07038854edd6333a86b55e757e230099ed5f7daa9f7e30925b9267c79f95b2afc59f8674d6f56ba304c31c20b43d5ab5a9cb948fb3bcd4220d39f5ad689fff00bf2914f66815b51d5df7a0fce3a84ceff429257609f65b8609aedc9d067f53bf0b830222aa370cd0aa9bc87203382e1e142684586c142e6c26fd6582061e43d84a0fd43f464f71d6c305a056c7514ccaeb52806a5e9e73f0e1abe3f403c19a781dc3b5ade2f7d8051904ea60efde5cdcbb414fae0ae3f87c77f567e03eb0fbdb44b6f351c2aa11d33c36f0ec0b593882f354205aae36b0bf74fa6f3d3e1f4f56af65235c8edb9b7a9ec5058016bfe57d5dcd01a6514d034283707deea4fdfecf095ae509869be1ec3d09db672c795835ce608b1b0f75e4a7147187f4ea401b64bbf5cdeefb95df73a77d1e9c8d071b68a5d1e1492047e3c788f67ff7592619265c4df0ab64668684083bd8e77ec2599da788e5d09ca89bc529ebcf0abd677b0bf54d8164f187d65d6a89a6232590a5647ce9d277ab5db420c02af170f8a4efd438ab95e77bcfd52fa2cf0e771e24a8092dc8df01b0e496ba8a974cfc4041a8cf58f1558362d48f1a9be11","amount":40000000000000,"withdrawal_credentials":"0x00465f4fb768742e6aa6389c91feea8659dc6c6b92aacdb0c8001e7ff98bf905","deposit_data_root":"0x4add465c2f3e8f20bf5d391e5301dbf3b587833db5c6e5aeed2dfb0a8b6e2c48","signature":"0xe99fcad100853a6e2d4aaa4252a08d385f678a78c151ca14401afd8ed3e971cc9ee7195a2f010529db03e0853bb2140fd9ac83fb0a0f0e87a45e593547bdf41450a19260225e409cd155b2c5a866077c815e35f839ebef0a407639d49740c77f285bb3189af64e2d4acf32804ecd098f97dc99525a12f1318131efd3850bb4b6add92ea52f6de62be24bfe220bf559f171f30c599921ddf4fe02bdd352f4520c0f6e0674ae75486cb8589c5ded8c5a6e36fe59b676cbf72e497c7b3b3f0abd91061dbe623100583253d0be87771170163500b85db5bbceaee165c54f458f95453edfb13428dcdeb483ed88a0163a2cbc31f0cd552c2cbfd067db14ad1ff8554151c32b1deab6b256c980d963333ff05175118b3bc2731e1df93f260586970d87c62aa225e74efc401b3996712ac4f176513d42c0c5378e21f27a69d09a7415db65d7b13c2a265966b4c081e275206ed0d5e362cd4206003ed3517fe84a84d260560cba38482c407401f76b74bea13bdef0379a6447928b8ceb38ade7aa20d332154278da717c5ffb0dba9e959e7cf48f87d03431c7f594d52503a4e3e9b33455b334792a65ea120d54d71f3aa97fe3a667de0f1c497eb13ba9ed9ad2f372cd26ed9dfb7edd3a6fc83c6ee8c2f7a63cb7fda7134d9f621ffff531510862f02db50c412da5671dcb05d1f9f3f8304e1ed858b8abb97e6a81058d2e7144d9c2fdb1fe764fc145a16b066c98591a0d6c42a7d564e3359ac33ef3484626bb8fe967ceff8f5cfce0f5accd2d1f3296f83dc8c96ea83e4327e57fe26ef511c2697be236e63d69e67bd9d893f67ee26c0f511071681e4e20439511f0987bb94bde5bdeecb7dea3769cc475d51ed3645d0e2de664291f924c9d60bb8a5b1d9b8040e275f7b50210dd9f9e0ecbb25af1dfda7d580f39ecc604ec7ab61acf9e6daabce1732e0eeffde52da29d70f1ddd5f256a9e890462d0681345ecce750caa3a33a100fa04aafbaec0f34d2e04f204c7509af5ab0fd0321b1ec034e0702851b10fef9b07b1c52a108dfd652523590fc51232777156e5fbdf73eaa461bb37c941dbc44e5d41057edd05df33a125cb3de67fae89abdb758b50afe9d007b71c0a9ff74a286cc15cce83c7229d8047c8a25726922bc72775b81374af8cf3b5c76e68beaa19d93f10d5b31174be3b3263f1bcfa228db5178e0642b88fea082884ba428fa669dd82d3094962ccf56f04e91ccaae4dc83639c8573762bae13b1ae775a38b4c5b49be0777e2ffe84a43ba8d1831967c153215ef851d5cb386a9405fd802145b7d739b35440a57cf5692788136ac3b5a346d0600fde26476dbf3bca591011ccbc3dc51b0cdadf7ee6ea04b9a2de4caff76310f4721c16eb8175bb798af6e1c3a1b29495e51782c4fad0dddf0923e96346cd47499de24efe7b10548b2bdb0d67d967790cad298b41c63d6c214fd09b3a05f8f49389a00dadeb7470db9eeed8edf2e24a4796bbb4c169c91ea8eb637ff0725173812b9a42314a87c68d5934c75e5d09f515eba7310ea66d11261fda5aa73998c307e22bb38d805dcf7664bef57b610efe076e6f1f4753d4f3b58b54b4b044b3ce5d77ae1c9ad26d041ef73aa5be9ac7d6078c54f2018aa981bfbc1334a15d50dda7c605967de6bfb0cb3f1ceec08c8e4d1b377eedfd142d45fd3ce6a3ce169a2254293191439aaf3607b8a8495e9e6f391df8383e03f908d4f9b740ae7dd0f53746e5b16daefd860475fc346e0d0a18cf98944ee0c83e13edd3f29c9096a3cf6c2c6d81c0ce9a23f57770987441fc0f805a69f06edae3c896bfc119df6411e5399279a32f8f6167fc5666a5762be6f4f871c8f6d5dbdb62e3ddfdf8c409a1a958fdb19f8e3837d9bc53fa3d0239ec9af15a2bb75c0f1df9a7b42d32ee204790c237366dcddf2781117c4bf5bd5d198629884396b00ad3e0cfe2364fc2669bfb88bdceface7e8725351f48e21089a9f9b0e4826170299105202877353f6da27219b60e1138ecf3a9bbbd95c40b890553a3a00c6739d6d58c2f75dbd726dc311d2500a558932970c769b9969dc119d5986e06ba5d5f13684681c25160f6f836e8727c013e82a069b680cc251ea8be24aef68a63e66a9d9a5e1bc1c4517fca2bfa8fdaed1589c77fb835097b460c799e8d0ec0fa33c5e131269e1b5d26837856bd4b7c0708d7b2a9ccc5e4e29e29b646f69da948229d3a9a7b5ff77370d47c3b7451b608f5ac77f80eb5b5fba4b65251fcaeb91bb8c1b57cca54e37ca259051992a8be3df7434a35c783d178edba73d9764566c2d06f1c5d0f533cda9390a93f5f26c6611265e308e90a04d93a2ea24401ff042c47cf5bddfab7039acf2fa299dfd0eddc93bfc520fa163a282e762757a218d387d5150a79895b26f6c11dc79de575c0410191f28ce193e65191eba285638be8272a94ec66fa5c5f907bac1d2a765d8468f6c83669da453d99db4be06cf71a2d1f16fa962188761bfbc1fc9e773d0b366dd1abecc4a25d3f46c3f95035ddd9e59e5769e4ddf7a82062bdd962252cd447cbd62a4d93d5b0b8a636bcca4bafc123b797e5ef4db4f9ad41e5eb29e77513742e56fd0fcee5669081582a91d32c68ce7db6a799356b69a869e271e340aa8eb5579d4554c77eec604b71a9c84d9a39781a3318585807ca6187eb53e4c2a2aab7d62e4a9482663f4640dbcbb3b9eebf29e4e58fd96b6399ea872e2e40436875877c69af78dc26332372b73f53552ce935d493ddf58a89eb9ca71b5a3b4b840d418a52992d17aa91dda32753f251eafed73f4cdf3295b2e5de055e57c4355d6836f37691b088ed1661d6d32cbdcfde78e3552af5654a7912ab5091306f9cdb0f52b2cc42d273b5333d75c261de62be8a211ebc2b54d2961ff1664376790370974bad9dd9090a94c605098488979a6520f9d6b562c811665f68a25c7deca8e2c6e5acef3786103475e4d3bb9279acf3c517295d5908f38c68e42a600e4b18dcd40ede778cb9855fb79067991395895614646b67aea004db6451825c0de48340bf86fae018d1fa68487987cebf3560becdb5b9c033c331fee1c938afdd3570b9d11bcc919903930d3ddcaa12be64a06a6eb67018d2a5d84e78963f11041b68dbb712e2344148b279b1716963a8628441c5598135ca4a0d53289eb4de53459b75789357e8c07574f20fcd2b0ae3b977a509ec35f9a2226609400fdf50124b1652265e464b89ae2f7ee6fe836626383273f467a61769bda5298bf3c18448bbdac7da5cf9666cf943c96a0dca136abb9ecf15d9ec6ddcd368194e40337939d5f1d6aedd3e8a16854651f5a3a685476ee3b443df81b6d25cb21172673ac96c37952a5aebe021f11d9660ce59d088b8beef3cb21623917ea25ac37f9dc75ebc4ced69548c9dd61ae596ff9f151dd36238bdc8bfc3e8958e10a3c0c1a3499316e6668ed89aac5475f822f6dc40609e89883bc3c957c50668fbf7e7cd2f21183be6fbb07f2acc9abfc4a8d9c17eddb66314c13125524e0ad8a8599200b3b828769f9bdc05e4db2fccf3212f168fa2cebc83ec55a497647fa6cfa56ce14eac8a13eb23924d79119560917f42513b54a3aae8cb6a8a55146f0d4f6b31d4147143b2386333864170fb5fddfffc3ca8df3dfc1102bd6a57dbeb0ad6e1626a5955a2558c92292998dc638b81697e071a6280459f7ad41faba823602ea16abd9718aa12582abc34af040b4fd6339b6b7bab30c5974d8ced2d35b5373761aca06bb7a94fdf1e2fd00d2d661047da1d33795beeb23db77f00e836dec74677135b2f2154ebf43e5c2e183be6dfea37c6d9c5e33e517325cc661e6290cb6d8f9bd500825067bc3c373d870a006ddc872485f83552b8fe58e305846ff478e8d07e5b5704d1a836ad2c009613581b00cc044e4026841758b991de0a871b810e475e02b84cbb7a9871483af6e0c262732773ba2446a132ad8ea661f0e4b525ff0a813fb5dfbddf7c41da356a7b7bcec2e3cd75bfc98f1efbb6f6d792038258b01afb0fbeb9d1e4011e483e2931943130253de67a31d0f944e2c17652806e4ca0a2a27ba07aceed2f2a584129fa3b652a43f54a1f819249a57b239c95bd4d574d1215c793737e8cad67b5dc36fe453c29061d880144b232126678981a41dc04a8324584a44f45ba313eab5b5533cf64d136ac3570a397fa0d8489decebbf6d69afd3bc62ac06793790f9968aeff1573edfa58ead93e0733937194ec2c77e73e45b00f43a155608c792a4242e64332cd658b6bcb412194d900a74daaec9b8b3bd5f7edf349cbc191cbb1ff616e0c59fbab57e4d3016d6865ca418aec3b8535e5ebd783695d3c10adb40849d3b6162d3e25f43e6e084ea54111d35b53103ab5cd1fd277afedc57fa38b101193ff402bef8dc821ae1c77471a8ddd1678971e4c55156912052a8e5365ff2ceff48b3db3c19e3ddc4744bce82e95584e2f8c10943ddf54d2a0ef89fdac9e0a396f5a4bfd5eec331354ab1c3e8a0eb9b88c0f5b01f3a522c02085ece55c063777033d33b95f3b2770933fec792a2b0798e37f42a13463c006a49979ff025d1f264c527c89e727dd0035be0cd08f9c104603ab59148c72170df5857f84cb26c0922dd0d9aa8d0238d5b9a8e99c68d85a45f33ac754d36c5bd6ec7a98b38f749765c8be8fbea3a67bdacb5147f4dee8696d02b07530d198f5e6355922764067fcfab421f2789a6cf54f9535ad82819804da11843f4c7a5f549acca2a5297b93c27d4123b266b1f11e049662e6d10ac4b4ae1aba2718e24f91ff40a516b41ed77f482513005e550f47ff05df4c87fa4e9cc90abeb4e9121cd034a663b8a3a4c3508a6a95d5ff42c0456b15112e50629aee8486d70fea67876a2cef600857932f30f0aa54c37bc84d39adc8b13fdbfa63be7792e97d5dab7b1d1becf1b484f8101b0779ad04140bbc2527084f7da8e3e4121b9831d4f235b89b27ba4a62825e016b473fde942a164c3c03c8531292f786c13db3f809ae74ffb042a77b4f35f8cb05401bb392894088c24d280fea58dba9e0121a08c7b71a44d2e98746f47262895a47123bef4e1af3bd077853b679fc5a44be48b77f40272c3daa524782835c4b9df6d77fb115c9996ffc654b089ce4b71b0eb5442af3ece462c85afccc00eaa353a518e9aaf1199842bf124c82f24033b4cfad39540aec325607f04dd6e0389c27c9b433b048efbc3569c0eef6f8cb49db2b6d0685e4dee1a9f2e066ee2b2eeb767129d03805a487f7df2af7487c2b24d28ba4fb837a0464824cefb7da10202ac10a39ab4ce414f94554cc37862160895f8ff52cf2b9618a4cd03b1b9b9bcb766852f04dc20b66054e10e9861ed40ba2ece85a1d1c449d8d19582debfb2229c8ccae5b5b9ca78b8111bf07a9726b9f1b234ec58e53e61cf17eac221cf6c9b6e65837a846ba98fea2bf0819b9b3c0e177d3cfba4a4fbe27e1e5be2ccc8f08c84646d0f1e604ab80fca08c37554b840aaa02881055d599e6c7982ca859fe636559db7aabf525ba8d24663f6577c482df0d00721c177c1d45fdbe8aa2e68770a6aad9bd41bdd7ef2b0a63bf048e5eb472648a266c9ec34057a3405f3489029240ae2f9ba37dcde1f56737237f0e210d018279151ae993a2f69a133c817a2657ba3a47c6e595bd3317f3b866f433be4a2c8c60b2c4efe2557e72da0313003db8135a70f47cb5d311f13a27e86abfd0b228c5aba0e317eabad4c9823a53a4c6a7308adeef726b1dedf5242ed6d8b7b3abfdb7fbb1c9a47d38cc7a6ca5c809e6724b6c831e76b12babb38aa1874619948a20a70701b8e82fa48f7ea64b794f84fc0bfe38b34315ae75b38c50aa8ada1e3e85296b78f3faef0e2dc6a6f412e8654684b51a5bf5c30f0436eea7cbbbbb2fe2ac0acd98083bb16cd1e393e3ce3b76ff6a2db400b52d8d3fd36b54111081d85757c6918ae50c7c963bfd7dd30b358204fe1c29042ad08563f811c67953b88680580822d094d5ceea4fa6acbebafb0b2a552fd59929562cab19ee6ff5052f21d54a5c0b9aa18b8eb3e31de5d984a2cc9373523f517dab1b80a7cce9493e17873946d95ccb20516a5d470c703e11c3d89bc0cee5b332030312431dfbfbab20246791f31682542561dc20df03a8274af3cf306773653e89f3821675c69b1d323bbef9c98cdacf962fc46f1b9f92aa53375ac72b7290551b3701de8337b07f07642f25595bda473f8bad8ef45341faf2cd3cd90eae89a903589cd0c49c118ad590d7a37618ce2b7e1219611292659262ae4efe55beed28db3e5c41a3a6ec6d5ab58c623c2d2b21c547988cd70c4d26dc65d17d296c39d4cc0eb86b6f0538b07288525f683f6bb61c47e80a243457599badaeb9c3c90c1a426e8d98d60c1e315d838ba4c7cacdcf05122688c3d2e4f2f80f272c32497376bfc6e9edfb0e3645474d5e787f82a2d605081724596a8200000000030e152029354047","message_root":"0x3b7f2c251334faf14575a5cc6312a1550f138769e5fa3fbb6cb22a069162e62b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xc82f5d46dad25e9ab4fc64d0dd32b13f3bee2874b4a0318c3193058d3907c3134528fc8cb1052084795e6f78e39f4456fb50dc5039c9f2949099540af29246cfe1dd2ae560135ebc9c6bdd98b1a38732fad36c5a47137412cd4f5b0d547bc1f7b4ccd79d4040d05a0c4addb352930be468843e549cce57cd4269c6a6a722e98810ee5aae5656a32c51ad4cba1f43ccc8d401df813d528b3331255950c9326953d4412d76638443631c1c4c63ef3301c97ccdba6b6c6228e441c329a90126cab2f14a45364d273b2729df21590018c91a05ddef1ebe7365160825bf03fb9f0fc85592267ee2f39cb34e3b33ab628c26b39fca55fd4a4d687968c81ed8ad3eee87e592b809663e5ab995e91d5a92b1368f8c648ba817deb5fd7efbeedac8031caf2fce45b1e56935d6f564008a37d396a13decf91df952110495c0acd289d0331e40e7d0014810fcd49d3633ff3985556739287367a74432bdef81a69877d8e71475a32a1d6390bb7653f7cab66db678ee6fd6a30b405e4084c577fd9dee2a1cc5866906aeca9b853a7ac6ed4afdc4cef29dbc844936f833c40307264e53f66ffe2b984ec91c265efde721b20eb920bf6d928a5573e4d880e3526f803252e9efacca0832facf73fab894838bd5b3bab393c7aa3433f29545e5aae54771dbfd776eeda554e6f70a9d692b13d30a74dfeecb935850e588cb186fddff3aede9b86914edd4abcf12626af656b8cc45596de092102aad8eebab819816c02b1ce4278ad24b652e6c8f55eafc39441be5ca8480ab6cc06f43a18dd870d766767fa81abec85670c42ed10f4a7566e5b8773c59d4140bc9b28591bf4253a668bb5c38ae7c3b5757673bdee6d9d23cecc82cce8574ee7564d69e117a4cbd8a75f319f1fd5ce1a648b3135400635ff1c2ccae4b3672ee0a0fa7ea6bc98205fe6fd07cdb79ce27b8550fa1979ab2391e382f8f545c0d41251348a8e2ec3b24ce038f212e4d33739888707dfb98004d36a7ea5e59798304c360cd7e803721e64231a7c34393c7254399796ceee3476b7e1c6e632c231d23f51cc79411c9960f6ba39bb7088d794411835f4cce70d1c161ae5fc542b88f54acafe65b64303daf614342e3b0cdb36014987bcfc21978d2f490e0a3cf934f864240f01bbca184af279cf9985e0e4176c68046fe08b57a24d667b2277bbb35b3619888fd42859f5adf20e3127b67c213be275ad4b8be1bfc421c0eab0846005cd9de77b4e687cf78c9fb07830ff3b8cc8a03d0907d67a4ec3a2e23d335b7d6c195d2f8a51a6e857baa84296ae226953c153077688098ce19844526f52389dc54f4d2f41a71f3286e0af07f1adf68e0ad3dc2453670bda9cd22a54240e8a9143033263183457bae06a7debb35f44a48ec821e6adb916c74cbc62ca9a76a9b1caf146aafd8369a2d7ca247290eadcd59d85a6bc5f9c0df685066c38be425fc2dce9e9e485241b5075fb1e541b99180ab2d210afb652525667225750f2295194d5593db60e8a5f758e9394b0f023a49aa47615dbedac47b7049f0bef7ce23a014eab903289339d9b62fb44b677832ce2d4c7ccf81f2b20705f993c15a7085bafd520b8aadc4eb5247e880fb4823672917f56a1aa89d198f8e1d665abedae26fa08b6c5bdf8bbdbc7311ad3c55b31fe3045852207ba0f086c1d6ca1837c7f640334c2e1c845c9a577d6db16fc5bf09aacb5e35db36ce042d7b144bfab8259ad6178296d8f73c6c50dc1d3e518b8c2ba9b62e9e291babda2ccdeac437f72a3fb5235f058aa3f2c6eaee9196d921cd4893d8aa6968069c9d10ff8005ee374a9f49fe0f9117711f2b90afa57c16bc447cb13c0a753de2bcfb802a08b21bbb08e3f1296830ffdc5e8c5a0c26045ee93c61d109ad08781c3d1462496428d39921e954b03dca434a40387509cb0fa11407149c4542739c72de923dc09e9a5c61b6cffcccf6dc25cfa1a70c4e6052811b258cc1879e51230e2d5a4dbc29696cfd2763bdac2ff3263e83926f6833e75d55975bfa6be009b7cf3a79c4a9a2c4ad3b4ab17b4c7b28e4fe5c3c89aefa515c67c8bf34a7703007ea1142e0eb352c13a30ef8c3891054d7cb1c98e95c0bae6a95e2de4a9c062a951dbfd5705bdef54e181f4b2042aaa578c68bd7cedb8a808a15621d7f80dd985b46cc1858d0926e39e23cdfa4ac386f000d61243cced3902504f027966c7c149d1a80d0bb82081d67e34244329fa3042ea220279c49e7337f4916654af7279a5fc2623148be3f7f20e21f85803e2db7df115580e830af9b07b5562ea55004e2a4c0beba77283895125f34b37668d99d7e3b2e710b021f4ff74849367a1c6254fe3e9539a3d243c01dfe29eb5f5284a05d72d712c9a5bcadcab81b7683d9d8461b3ac3d30cd786338b9daef622ff6b69bdefa5b8bf28992539f6716137f2491223eac615888a29359a31682b591faa9a36b615285c50ee1d233f456e6fb17f0261f67ef568064e5ec739e55ad16d3919f7317cea8e951f45617690b09fe1e167035a1def91b8bc65831daf326160ecb12dafda9941ed2c493fbc4f4e41b23bdfd607d75cb4dfd45d88e0451ee19d3bec7134b4cb55ea93f31bff256bef423b4217d31e9f01b326289949f613313a9fb116a250c2d4aa56a0d529dc7af4da7c3cab0eb55fc5b53f867716db5ffca96d9ef6b2b7069ec029a3f8dbbcc4c97ebcbd79ae673294220b7e54efabc007a3e954be953ede6062e2f29074bbf92b47a53e8a42ecefb89ee27a285e5fbcb05b0a98c45ebf502ea5606563413502800c31e7cb9a3433f09e772bb03fa6a2c01d92f76a6f335f2b9b01608799d8332f5e7bc9b54a64021c7f753c40074979b0f9cb678256bbaaf95f42d835b42369c2a701ab2b2553563f763a5f62c94a299078cf54caafcce75ed8270dfdab1696238a14bdb0a7fcaacf1cc80c98c3368163520dad294eaaecbe311599cad2d6fedc21516730fbe54418653f4f2db97fb80dbb5d296b01069f35a285af6957eba0d6d793de83b3c1e2a6d215a6c8d2bb9a44d0f54ed9e58c50408571ca81326c92cfeb2fc20ad30a0d575ab156eabef74c71b62ece8112b4ce62ac7b26b23d8d5402bb9c04c1f6f64bb1df4e22895440b2feb75806afbb382d4f6732717ba12ace1bff6d0221decc5544d695ce41e9c13141f9dc020b232dd1471aeaa4ec3a18178df853f5203fe791734aa3e0336a41b024e1ccf5f84b9acf6a49a5f1adb7f4d30585158a58c395066f0212504430821fcb8f19aaeabeb921b1e976d8d14655b06665e7021df0cf36386dc4915182f17ef67ca3a190e628820cebbedbbdfe2c2f18fe6fcedadf0691784b5c558597d45e0609f49cd24962b277a16649eb76204b6339bd684366ad83b7c2cd8e7623860e43f62043fb3de6686d0006ca6d8184ce5771485d19872cb8155887d79b9fd068c5fc34712a09483a59d3296c80ff8817f3a0f82895eeaff4124c64c39f9b5dd5840bb31dd5db9bc43a1a7ba06a7bdb827f996689ceaf8c9988039e390b93ab82e9e240b885d7d282adbb2722b9f2f88056e3a3d73905eadc6a3de6f651c0e1bf011ea634d4112eb6d60d30f36e71c20b0639ea2b74e04ce903137576ea35a17a2a7564fd7dc018395f42a7f33e35b70e211ac8","amount":40000000000000,"withdrawal_credentials":"0x008efaf8cb31af09746e137564657b1ce3db24c13706aee40dfd2e84db94fc7f","deposit_data_root":"0xa731cb763765d330f31903e5dbdccb67f28222c8d0091b9e1543c0904b291d25","signature":"0xbb5e0e319fdc0950bf10a86317dd2e762776ac2255a077aaaeb0fe7038aa1098597668d244a4b43bbf4d98fd4fd490686e4e1014696f1ad051ca9b0c07f2658dcc91716f564bdd72302e8e3c34db85bcd13bbf6984d35c087dbe2e11abad0ebc3b49261c8e5e19f615c113362a5053f394160b51939449a5d0e2727cbe269dab6030262a5d7fe10a9fa6674b8e3a2320ec8a574aa1124165261de793ce5f75773270f7c3ec6389cdaa4b3ebb832c06823264cb81d9b92eaa7f808c8c9775d0a99ea337054d883f1c318c0386603fc413a5fdf82d91fc357591a74cd62d6af08b1c065e0c8baabce7b944a19c75fcc5428bcc9c6c31bf3a5e5332d2a387025a0329ca7e38be19c6af87f6c4a7273d256d8d4e4f60aa8dc4eb52054b826ee17e6e5e81be45f15382d1a75e5b6800c9111bb1db29011ad38d9cb6ea94b0a660801d70d022c214f62125423eed166aeac73dd0c297e3cc04eafb87d371b127e21bbdeeb38322019383e3530601db80e27837c56a0fcc362cc5f63ce689dfab814b8041682595e7b15660a16d6d675936f7991f37211ef9835d542e06f04f087ca5a7d2389b8fb92f0d1823f4de1c917b6941891d6cd6fbe6de33a0c9e8dd1e7e7915df3c9dec75285d4b0ae2b81e91a694bf16a31c390e70de1d928edb9659aab7dcd20e259cebe895ed5e9ff18ab79981ec716744640ba88ea8e917f62e1205163ca72db4efb4909d70938a649fae3ff342685a9160a197bf25613acb49e7e8beba9109a277a2f5513740bc87b8bbff7891a149306abe02b28f60d67c3d458b3dee8f37dbde4340f4edf785bb02408b69dd8febbcd605798fbeadea176532ad746673a7ed6bb3b599e9441034f6dde5fc21128ac1fcf736f00055f5d233ab613b8612e004edf5b91b57985a5a7025e93af8863f7cb94d1a12d59f0ada687cf626445b3624ecc8ce7588c49984e64e2ab11a15a69ab967ebfe41664be602f4141556f93a01f1d0ee3cffce3aad58bdeae2e266ca1d003d95b674de99450558af165dd3c0081fcb112ae1ff2a72cf663b4d0c6d8baa22f756d0e68b476ec7518c125e4212e968d3814315bbd592d41a7d201073b3d1cbd380bfcb74e3895d3931ac1eb5fc318166c0bdf36cbff062cfb12cb5af65445de6c6674a777b5a7fa53b70525358ede7d5eeda09a21b4952b87172a5df929f6ff82e7aa757ee851cee41bdadf12e8ebba85ff9875f3cfb4d0f92730ac9732e4f0b452c71ab824fdc9df2f7b60a8775901373bea636337b5a9a80b34adbd3c7585c998b278b4529737e66b5868358b1f19503b45d7e68354843f1db6115e49c101e0f3ea4b7f1b06b5f12fc15c97b6f99a2c5d8d19f40680e90288a8a2bbc7cd10f4685108bcf00240b95b101c6c2e73fd1a21f640cda734a5c48815b7318a39caaf5ea7ae1cf6a4ae92f0edc531a657e9edeb47326a064772dd1ad8d5d69fb7121fa6add212e5db5d686080fa49f60f26ab1e5dac721096ae11528f677dff35e73fd80ad268bca03ff7e56cdd73cace22b529435f9e364e946b7b0afdec21a602e545d11bcdbea7d5b3cbbbfa3efc2916634a3bf896b294d38573712431991fbcdc07e21e4b934dcc0f924bf2de862a3bd3678efa091cd5259cf00fed59c6d6447740002dae0352a28a777235fabe0590f554421eb3796c65a5b88046cc1af1b5a3f5ce25706496881da78b0fb4fba940b6a46f0d4c4f13e5fcf1f3199c1d3d315faeef0ba603a7acd2aa97428482ae18a15af1747160a8850fc40ce2c4ac9e5520bb3f93d93657c332d8969d6e7edece8b20d8b32b79802965f5486c7b97ee879f95cea5eec494887ba4a2147d22ff9b624476e219999638346f0cecaad12e3cb909acb2ad37ab8c78809f8f9dc975893b5ba20363d613214e722013d91e4df740de08a7425f7b108b0414ec2adfed595fbd1d7b8128aa05cebf22baa795b629386e9e88f208314d24172c116ae7085ed4ad36997aad4c0d218b756a6b53de757067f4e98c67466d54a05dec7dfb3cb6069a570a21261658468a81e4a274a12f4c42f84ce9a356d4a1e5970b22c2e0b868e982feeb5abce5a822bf24ae380856befa744f21b9a194acbf5711df56732f327b4d865e125c0c1e17cda290525991c7b64fc23fb14911f6292d16f20aeeb4973bbde6c5fa5ed7d3c955520148f228bd1072d08070cc6177c86a2460cfcb869623110f0ad7ee3d27a211f57d7aecc18da0eb75e9bb9f6e9680c74546c0e0a75127c9c88c8102b7ee5259e540495f30fb4ba06d612f3a5bbfe5b3c49e3d4eed7a1e190024ab1ee9278730ce102bd6e793b3caf2498b09e56846d460cdfefa6a00c8fdb4f02b3e736971a9d99a5af5c8d684601ea1772311b8adf7d8e0048629c0f56383013f51e86f392169fd4c2740f075a5647e5e56b9eaaa2748d91712134d295c669864d480b0bee333f8d3588473b1dd62ed3d86061ee94b41498cf98a071b0c06f4c808df5ba3311364fb6a6038394543bc3ab75cb57c149dc51b02add5c2348e3c4031a50af0b0992eece8c8d2aeda25e12c77636145a8a80138d7fb37a931ace5d9e4c0b93e65c728029ca9b96c2e1f7239699c8401627dca4e34a35b6b1d58ee3eaec31380f91029cab4b22e8ef41657ec5e197afd1c3f152320520dcf02d108fe0b808153529e98bbb547eae1588023c9e87be6e2c19eb1fcea879070d1044b9afdc46ff95ae86118fa2d791c0368c5c30ec90c9926c72584d4cee6c38768c723afc39420195d590cc274b9adbe7f2ca49659cb558e6e38bc34c86e034613b2d3e841a507a678a17c9695caffb850a1686569106426241968789ce453bc78e7c492bdf7452e3197f78ad32f57974487f1388f1ac926f8ec3fd1bbb9317ee75d8b3e7c6b4a7d2ccf4dcd037c5ef96ae9e19ca8565f9f5d113b85b3ccce0598ec07bd482d6748b069dc1e65389cee018ac4cf2a7820f520d36a5351349756b12aef3fc71c3fee845c62aec523ef6a5037cd9d2111ec09dab0b52a44b6d0f86b9a4156d474c1cb5a53a669085a13da6b3218ddb9db9789c77cbd40f5fc2d2c31c297f3fa66162ed831def45f0e887fa25f54cc902bc1f2ed1603ae927b567b0907b3a1fe05b8de7382daa01a7a448372341b74cfcee33e298e984a761609b86d9b1db0b57fe71aee6335adc73f150865fc0c68ec01d4a84c160b9f8397461e5a37decdf3c2d241b452b9ad987e6274134771aa47162f0bb03f1057fb398f91cad50e3b7a342a8b1ca1ec6248e9ff85e6412f1dbcb8f17dbce3279712abbd72392bef5b7de9c8fffc8a8e01705ee6bbe59e7a66e4c3baeb54c8033f88fe20e7c16d5f671dd3d9e0690eb2679156b5ee2497aab1aedff2ed8d5b4e3ae8d119d2050e2b5705490c1d35b752079c166281f98806a8a67551ff926049f267d914faabfc59304754c0b761e28cd6233083a98d896916ffb2cf6e2cca9292058fcea95d51af4671b4dfab51074804089c610d2db08231314d9b966b90d9b5d6c09c1c9b6b407050d37a11acb8d8c6bfa76ebe9113f8ba6dafa4139c73dee9564d62c76e54cf2f90a1e0db29aca72651d116dfc43a9db9423e5852c1d96509b9dc4bb2269fae9f05892ca9934e00dab75077716169732f5b510e2db88fff459817a113c9c488276252905af523ac9719c07dff2b97edc51859e8cbcadd34e2192736011c67dbe8ece9df74ecb287cecb28abccd8a3b7558bfe53077f239c790325462c3185cd20215fa74e9db5ee875168f04fbaa051d7346d2cd3b03521e9cb1c33363f877aa7bf3292f60e2c7e1813e6c70a642f0248ec2032065c6c6f58a05153bb24510484ba41c4aab9d6152e25f7d1e7eff30a7df0b0f32d794d834705f90a63683ff46383ae925669680fda5986b6475536797806f82adcb438ba0d41c28084a9a423c3794abd799a097137394ae0dbdbef18d208793a3fc73f43f652c8ad43af81365ca97cb7eb4cb3cb35a4f24f3efc06d61ebdd75c60ff51e498663edbb4e359b7e958ac670d6218efcac5ae25ef6db1808877e13c2c219532b67847f8742093803c517ef92246fcf83dfe235614615d742ca2093c1e5bdb9e12433a38ca2af337201ee421a3796315ee1837e91b937d7c7f86c14d1f84a10dd20fdc8b8a68b43ceebe877bc8e00cb0528934cbda0e57358e6699d393388344d5767e61346e3a5211787822f225dcd6cb8ddf3ff97b4937d4df9cd4c14516537e1883a970a6025a6bba3a57575ffe2d93a1f8bdf315abc2ea08a0fa0437fcc2f52a42d32c35f9b3f6c34ca66f999b81ce6fcebdc64713f322ad9bed328d1bcf3f234bbdbf15b3e52058416d373704d6e124811313f922301ffe72335f52dee8797008c0f726c86cac06b5f2cd3ce8b6aaf99466a820986f286b4b7f40a6fde528d87f36ee1770f578f2fd6b23c4075cb3343bbd345e1b555b01355b41285e5de857463ad41f8d1d9a9be6f081afd582fb59663ed15cf2ca0b6fa72291944b441e221ab53d219d1b66ee99823b361c8b3c6edac57589c30047888c7c8076b89c80f3986081a88cda45538f099bb49f694bf39fc386b7c5aa05316a57c4f397e9b9c157e9904ca37a5fb8d1beddbb0faac7b37572a227fa4249a9f5d97d03af5e843c5a0848ff2e3f2bdcc8abd9e4a4b72b9b5c1cead79c5804537649e02314dd450e8c539c7e629955194f7e7b25a4b5c67acbaec94630281a6ed0e9bf8e7174e46404390c0eea36f01bb2cd079894a55b835e3b85bf09c738526b220d0650c84646c07e5cc5771bad2f312aa2984707d838d1b24ade706a481f7784f0f7cae74099b57d9bf50ef5ea31f98e74e16f5ad7ecc5f0fb4e84d05686231cc5a5f4a499af914973a70fdfd6bf15db5ead7d873db81630dfb900b461010706f10a0606a8fe8695b0406ba27b1b6fb536063a65362e848974934a77cc246e79d23209b6d835c9ec1613a33f279eb2648348939b93daa7555fcf28911db3c67d4c02be1fcdd5f4de7778abac9085c4453995535b5fe6ee252a862ffb0b08dce0829ac492e88431551f98fbaae7ef1931535623f9c82ceb254023e53a1809ec6ab747af730798947565b5a3dff4136af6200dc7ac849f3c6e861552c535a2bc500cedad1bcab3fbfe42a4f943f00c2d6b314afddcdb6059709422e335c8355d9adf1aaed0183c06107db0fb5bc59a6cbd807716c73606bef8568099c35f2209f2c8c0d5fc6260b609b38ba61c2244d62f342a1e0a61c2e1bf7d3a3b98cb5c2146af96d78523772d8295cc060de6b246f2d8304ba042e5bc0a10785cb2970c49ba3d7a9d123eb0e1c702c96928335b6c2a4610e5ffdb2fce17a46129f2441ecf7eca8a89a0257e15e180644ed9483a1ffea78ed7a32d50ce945e2313407d3d2751c57f7a568d3c606f7928a22369c808b80f4a8e3a524f702a5e34aa8bf8fa17316bdf18a73255f041a161fc2182a924012cd204b825200b75bb9e0665543a3335f0f8dd08b49057008aecb5ba2b5953c67b8d749a446c030b54182ea564e39e6eea8eb514f8bb6cd3a2844864916ddba41a1f29ec716f69d4a5be727e83e68dc1915310dfba063fcf24c22be2a151bfef571a551b25fa455d89638224d52e0abbf0baf7369ebdfd642baa0b3255094091b82731d83300878c3c0c0269b918f04c71c05cd3ddb4a8e064b76dd7ffee09be9e6fecb61a5d6e1774dfbafa643b43d06dd595637e761b32d0413aae4f6f851ff93d7dbf2f75961374b2ac1ec53100983cf6569651829484139b475f14cf58328175a034baf6a7c919d66def7931fd7d10f53140a863ea3601ee46974b633c8ab8f95b70564f08ec2187163b3af07bb1fb982ff0dadf740bf82ed16bde66539f44498c3fb4171fcbe35508538b5723398f017d479fb75578431b5e9ceaa44b85d306cb9c576c83177f94bcce7b921309af0989e867c8fafd6262beaaa23a914a5a37dfee1fce6da366b6ec9c63d5a4cadae2308ce583d1dad69a7f6e8a3d5dc00ce8160a4b8d1ba5ad44f5aeee4935a5ca9a72843431f733cdd7166e01f89a64ffcd9f0650187af3abfa50f4b5cd60e48db13d0c1c10b353a544f2cef17d7622bf40b7efbf5a7673d9eb5b069254a4210d3a8ddd8012e0f8eccafb6f1b5d86bd08a3bfcc313e6f6dbf922674887f1d023e2c9bb91cf5c29ae89786dcf7e523dbac9e5ad286c20435ce105e5aee8974f98ff87dd8adde0d35161a5e5b47d571ae7ab41457e31e24b4a00f6315cb38ab1390b15b8bd88c997a2f81ecb9a93647e9c7b8d9f61d20090b2f586fe76f92a513f2b3a555332fbdaf252af1e5de2c596109d94fed25603b4c86161f8f165e699a54f0406516da8d2f71a6877828ba2ba151f39dc0f292c3f4049528a96bf143a424d5d646cb0bde004233146485ba1ce131b1d2d4c5d77829093b81d66a8b6bccae9f900000000000000000000070e121c262e3941","message_root":"0xf3ef1d18594051c9686a593988e84078e39fa81f4bf6ee6dcaefa7cc64b0b54a","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe21db53a7c76e638c0365be43083b3922adca3324488d8bd4a0e39e37a3c9e6963b3e884a86e9addfb15aab18dc2a79a2976773cf2dee6db633d15251aae8ca7af0c9418ea06a5c2be0cec70ff30edcf3f2d4fc144fa0f1a2f75ae52860be37bf69a84cfe51e7ae95ecc8a9e36fdb2ed2fcaa143be42e68a0f68513618337aa0eeef3ba3ba155b5d19876ac6f1f09124da0135b11b0d80a4147f63cee58426ff3dd3405eb8b2de609c82bfaf1ef9c51d81f998fe7703aefef70a897ff850d5b3d4161cf2ae23a4c5dac68fc6bbebe54952c44dbdf2d3d1ade591e7cdb0061021e38e88a93d0483794136cfc704561cd534b29331ae27064604c8ac130df181c439b700bb9b36621cbd2424453affe53322882ab8d0ed734af4b2634ebffbe5ac1352fa1b67ae58ed571c2f9f9aa6a8fcf574116af05534c6591189f6f892859de6c3c58f732e807e62362724efeb1202aec671452b9a513d714a6564159ef3cee5c39acbfb039268252a349faffc4dadf07077bda30d9542f8fd2417f0fa3f85f57cebc084e2e1daec9437e939b45779de5a1115887f2d2de4697183d5a738576f6c141217f53a9e270f6d15e84f6c9703630d0238fa10fbe3a6e7db38d2c5090129bcba39a746647d691ee1e59d6990bf82fc5cac3b4508a1aeb641cd652985f014323ff07b55bfd99dd8c15602da6e20b901d1da04d94ebf09db79a3e7ae33654ac8d576b45b8d2b9f71a408a4668afbaf371da09faa7ee44b2c5ef00a76bf8a088ab098c412f890c8e5d8e5978ad42727cae12c15192cf6777d8da8b2530a124ba8da07aabcd8978f33765728ef37b4e23268ec62831daae4e319d3f56846dea6a2b92fcaa680122aee12f8995de5d11f854a26147dc32cac6731ea9e16a4c608141bba4a07116b88f6cc798c4baf3efeb07ac08b04c0e28abaad5c59dd59bcb39ec860a7b11b2b536cb3cc70d967c729bca1498c5789480733f869c2132229305629cd06921ebea19a3c9110d84a2c71bed67dfe3ec10e0f65bc9cf6fcf0372c0e1761e742ceb05378f0baf66b7ad6fe548dac25884bc1dcc34fbda07d3e56bd9135d92713fbd55fae7021afdf0f04bd785b00097a5cf5e28ea982fd6e5c24f3dd23567b44818dfcff0a66d049afde601a1c9b95864c01a50156d8dda0eca54ae6c386ea549944cc9a70272d2d80fa6e127dda3b89a785b31bbba8972ef8091d06931110e56546dfe38e8f00d3860f5a31baf99f663a7686893f738e35ca68157441e0fc8c6e956b7bc2330a133ca4dfdb1f3e890e4170d768d75f5927379e5f918a93d06c2708943160887e86fc0e2cce1be58f50e1ccc703ae8cf567f5ae4503a696fb0953cde90a4f5cd2c3cee42a05da0a62b20fd4e32cc255bf2f611c3a7988f387f386d3fc67119ba341d8c53cae4701bf9f06a72bcfe4b387e0d1094b4213882a302de1bd3dde180e02594c5a4bcd6df77408475e21638beebab5c38cc8c4cd03d7bf547cffb6a92883cda17fdc7105ae55e323b307ceec2de90c2d31b65a610bc0e5929e56ef51e73baf1b5a2b118dbb7832adf9d26da59b7500d6f6da534b242ce9eb653a1cd4ac137469cfe7788b603a0bb0fdf1072b63f79bad15d5ee1b5ae98719ea5c782dbe7e6adce48688f74ad94024d0a40b8a72514dc1bfee10ae1bbbb43dbcd21e70224df167d3e8a8234712e4afe0ee3f5af7376d33cea451abc799502c6c478b3c3cb71a5a4c9ca8aae7d69a1d09e77d106500a06a67ea3eb094e6cb61682c876ef01480902fd130c07ea6ce82e6c97fe8cca896429c168a916f65c0d72dcb5e1818b85b9c548ab437a35878a1e29ec0993213ae9a243f3bc47fc8dd33863563dac7e98923ac1e82a58a4b10929347ba61f0c4cd15f551c5f0c9a49c28a01331b1c037e964055c0458fedc8cd903b194248eeb03e20ff18ae859a18c3f990cc330a1f1745e5bcdd05b470186322123d0ee287fc98bf1cdbe7bf6cbad47484c849541b9558812b203b83c61f43b3d07b72427e56b137ad965647ed9617b7752767ae54f4ea01068b5ec7d74e1f4ea7b15c852c494e97aef22161e01bf88b5b3dac25d8296a52190e051ea31b9ab4b83b4fc9eac59687ae60be8eb6577d94f5d120f1d6314f68b2101624aff0a4d0117e5d248ba1979ce7606d1c01c1b4b67bf59cb3679c17def5309f9ba5811897a168a0743888f6682bcf7a671e58df89eaa46ea2acd47ee0c81a06ef3652f1bd92870f99bc22981af7cecf48031461066bcedebea0cf6b8da97f56c89bd5f8678d522bcfc1db8a0f9354079a94fc71bff6ceb823a9b09061cb3d8f83d4f63d893a3eb2c8773170e8b6ea8384824ef292587e932a0b0e0992593bbb3b5b5cccc55ee7e9b321dbbe575d0394cbef8d68e5c9bde4a304081bf0960646c990855959ab651b05f5b2e65d05713e5678135a15bcde4063bfe72cf589566fc2bdf57dbcc0f33b8e7f0c8b1a7fa5533685ddd017ff2464dfcac90a1aa13bef46f29320efcdea1e07ac55cbc5a6d6912bbfe2ded75e2ef8fb6e7a94c890a4cfbc08e5b8011ef4f2dd6f19b1d475db7d2105b14413d043567b22251fbd7b5ddcccc2df250bfc2e2d9252f9c022e7f918297c9d2e2bc78a6feaa30e6010b496e6c1914f0fea81deca796fa9e3eb16d0342b85ab4758a4801ae2b95663a240447b737df26db4c5980071b6b302f09cc5fb5b874e528db69ebe1f677eb467c1a852c9040f8115464ea5c5812a377edcb01e80bc62abfea37e5fe9e2714a4de4a05ba09d8bf400fbe40bb70608d503d39df8faeebfacd306a11cdcd6b46d8616660859bb39d4a1c2a5a01ae74d5ccd5512eecd7199185b149d5400789c976765796625cfe957c6d6f6cadbd64ec2198a4cbb3e4efb512414408d09491a2cea8145947f7348c0a08a03cfaa84635a94e87b113ea43ece55cd2b828003a5f2468074ce28ea690969f2c321738072d3d5842be9ca9c74632576d9aedaf5e69e7dcf4e00704be6743b8ebc2d44ebf31268bd7d48dcea845a87f3ba86c7be6695bb297252486c195b6e197ebf86b873f89d774d9fa8be3fb840d973e65a2422adcb1ce4f08d2856f79ca98d3b24889816c5b20108d8372657bc178d2cb80d4a2b9c318ace535477e8375f93565bfa622bd13c2ee2ad880cb8ce60c0268f5f16dc100105974c0bef1d0a2e7ffd877b2448db73267f7d27ed44687e2400c094f1389377f7d91aec375afc7c1910c87ef33e0988dbce31acbe19a04369d490e3494ee53ec62e05ff6b32fa4c940e321807ff1418b410d27feb27c3ddad2dd11d2005114f27cc68cc0b07180195fca60ebc55e180243e4b21677b62b41f68437a21437901ee24ac9cd0aaafb50bae30cc1515506a44bb501b236c02eb794894b6186049da1d8ccf82e95cb0c8226e44bcf3b6b699c36749c6c2e7c0a85b9fa3caa335e8c656ca79d230ad03ed3361d9992c8ec8243dae79c4f2d72392cd822eabd748674f46277f75b6950533fe62bc4bc4cf978311b9475ffe71d9e1243eb68ee0fdceb4782f0d1671f045f8c9196422c8ffaa620e7f05488e1da690174fda191ca112d4c9b192ca72f602e9f5e66f5fb04c2eddbaaf6baa7e2e8b3b83fd68448ede7f042ea89740395696a39612ab42370","amount":40000000000000,"withdrawal_credentials":"0x00125cc3f1c6b565555b9e41c6cdb71f9cd9185afb3c521aa40adaaec43e0d63","deposit_data_root":"0xfee225c0ff1f2e921bf82ab9db7aadff941ffffd737f44c312e39c2fb7aea27b","signature":"0xe35e32b450cf99f1ec1f4c5d522a70582fff875fdf8018f62c07f0c6de3e268ca6f653d7548447359c3af2addef22de1bee1e428befe0a747accce02425a78f4810c71a5ea328d2c52958dc1343e7fe5df19d347aa28fb2cdf20a4f9a2f9158bdf756efa1facd36de526dea4e4823d71aa9c8cc3ebbc8d491d06b35f752b7b340ec175aa2e7f01f31d38848a4383a61952236b2f19bf4e30d5cbf22395bc6457916e6123f795f1d2ba8a976fd58aa86504b171856f527c6975a111c72e98b5f607d41b6279cb5643249c6bb23f36f1a95d4f9271bda2a3eabac83b70b7ead554e1229ab5afca60d1ea45b472ea0cc13bda53bd370afa533bb33a0c89119f07da4110c8a9b469e012e9c67e6e190a6eac8379a475e946effdd9bd357fd0b717784c64a198c72379a9bec9c6a98afae944bfba06ddfdb1072db1d9682f62f741d3eb4e8b630c1eb39ace97b147880c16b03197fb8f59abe272262ce636937dc1272a761d9532b00475ba2d548a2c3c012d921f608934dc8e732bee921b40ebc33e192d73c78bfa0b1f6dae96f40c4f414163b91342f1751e4c771489b92c23586141d1d2fd9ab0bad8efeb228eb6df638738497c8d017eabdf65545cc294eb4b11c253b3d9df7f927ec93396e782f2bb13c7912d22a299f618f5d5faf4a28a6248467075ca495d0c248fb1c12cf7fdbdb86c16509ad758b2a801bec709eefc69f8d4f819e2b583baae0177993314df0ac8bbb4862aff5f143a58fbcae0d4c0288cfbc9698d9196d0ff9928c20bb23506cf374ded11ccdfcb54c5f161dd30969133037af452507c0ffe74e4c632fcca5ebc1a3faa631556603f15bc15847b07f1474bcdafa7f9c924496a6e4dec87cc46729e44ee5e30b41d3b540da54d642e051d5f29a818b70097975aa8e701c7fce403adac9547c3955fe274a8acb6e402ec7c26e996978105c45579896c0c8f3195c31142dc260b31fae2aab4650e1f997ae450d12facd88abc8036489767736ca44737980cdcc4dcd3de2e8837dc6cfb2fcd43083d25e36ba976832cc45de8f72e3a5d65617c8878bc7820edbbcf1fb8ec7c782e07cc30e38c89126bcde7fb4b98ca5d4119f6d87c8d5e60dd0017b0dc08e355220f31ed42ce32670d4c001c458d9d036eb776f63e101f842d4554c9892f99f18a58c64958618b69c30d25ede7e44c9d90f6d51ce5dcca24961d8085d7b46f7095d0223923185ebb33b7e8ce456d38cfd99ec5b7b06f26e3ff0168abc426373c1ea8368cc421fb848dd1cb5a64c9373f752449e1912fa77bbd0a91690d130048dd5d2ab2ac52acffeb5cfc5f6dd5a1df48cc3bf32cb21f3bd1efb7234080da599e328dd9aef4b3aa2fc933bf6edce877b39c002d536cefdd01c3bedc280ad8eb8fdc80cadeb9bb233199eee165d8ba3db4ce232c222abf259605ee687b247491fd81cd24288f9fab2073f77bd5e3fc58bfd0ddf8c307648ffea26e85bcffcef51b9501427f658bb444e64c2482537886178fa006646231cf61f8ab3d53ad74f66f551e25875756f31025f05b86c148d656510fbff1f88c0409d9418f454fadbb3f52094d3de04dbec56c44645c368c389f60b04ab7ef5f0ed1895a055cc909c3d400f101e06819bf6432590ab8bc75a2b3473922a71ef762a7ce7477eb89ad83b5341f76b227a342284492f4a43ba88c971ca53fc08f1d613a4a6cde5bcf9411245cb85ada85bd06aec2fa5e2ae36a7fd79fb7fd0224d6159f21f44f98b13f5f5e734da3fe51f222e2e2d856793f6780982a45a024393de9399842829f54bc3b485632cbba0517b7d99fd187e17dc57e9528931c66455178c0265fc9c96cdb54c97f210fcdaf91b36dbeb9dc47fa5a1d36e444c22011e0ceef9bb64ab135e8a0284d6e3ed387e1dcdb6adf12766231e0bbed7c6a7f9bebef5100c3b3123a8d709516b610cb9cf4d36046edfe264364f42b55b374ea45bdb11d7be19b6824d98b4ea063d350be3d8858d3868f10aa74be350e14a7c5eb806df07a9c5f31af5c61e6bf455816ffcd91cf6300b95ed89bfe2cdcfe6a1ecc541d1a5adf6495b8cc8c775cbb0f9672e7074f46ded708a667a40aa2605e0ab0871f1da4746b715b9977ae09406b608d6aab69b1e3795e4f1dfcf834bcf9e453b8cb07b2436cfb316c2980f59c751bc454ff15b695efb692aeec65c22b3d24c998ffd540045547f563142096191ad3411fcafc3e317b97ecf63d6e2e6728b19d335093a1a088292531e379a60a45df7d4eec2114ad0359f8afb4219e627e0e9ba46a88addfee6c49460c77814297a6a4b4ff75c9683316dcab05e3251249f79c5e8e95658cd99e08b16b33bcfa4a9170d1e926d7c8e9ad2cc34e7fb103cf54f33577511d4bddc117572078775414af8a5220f6db5a9541eb1b2d134c369688763481145157082e1c663736780bfcbda41300d07be7b417dc62a84d9b7b983484430d0d3f0caa161c7fc6066467f213f12ba5c502020b415795219003160f5d511ee7422f411c732d0993318925dd503519b8757b1facf495d0ac9a366f3a9bc5147eeebaa9ac1f8a0f720fa4f763cb2ab16c2d6cf24107a6a83d86fff401dda055f9cf25b07889b2dddd119e78bc23453ff32a7ce5e33c2738a3856e6b5d0996beff2478fab4cf8e3ecaf4cee3ba1fa49c4bcb1b27baf2b2fd6cd389284bc5dc00bf979ea43937cd9b9eb2070e0428361eadf19e832d00dd380a3c5213c625f7675fc34809ae95167255b3c1ab5045563056f056400f0209e088794b255934b943313469461c1c81abe26f34ce9bc3e17553cb26e9bf32815447f6a6a2138dcb60d7972b29cfccb73a476313a3c02e83a62f4bcf9ba54cdbad6ae844be583c887d1418d0f145ef3b725d36bb2d0d630c843a56043322a1552d7dfa335bf229a3812d0d22ec86b00660456b185adb3eaa88785e4c92b7419f5cbff927102d5a14853e21a86f7bcc9bc093f7234ece8de295d7439579b5486d1f903a50e19001c3cabd33389862453c4df7ea446bd5a5ee88c7f0a37dd501f91e4a2122ba294a2187343f597ac5a36f4ea98c06876b6d00b262a030b65c8ac65ab22d3741225420d8b35363a387bd6fb5df3e79d58afc2fb1cc609f6f5d2b0fdf38a6fea74e866e1835ed371943b147b1af5ce1cf15188b97f3cb4ee46a39edadb8bd6cd59b38617f7ab901b14ecc738d7548c66c639b4b27fcc8d9b87f03f1da1726315a2809f5f25471c1d9e758df07db960eda818d6d50192c3e3f6bf081942d931e147c587afc15204aa0d581901e7b088058e89157cc5786ca6eb802ca06b0861d40e7dfa192117f1915d8e7dc3ab04b4a59b276b106c44a079d229ccf1d2540d9625fa9aeb50f3d2c0796e993ace256b3f87da4306e8afdad7d1a40082759e1f8e08d1f34057e1e689d1996aa489130145c05aba35f762f079ae1cbca83250b1fed2a8d1dd3503b5d10edd0ea7c135a8512c99bc3c744477d630f2636a8208d776c33b41a3db1ecc332536a322e46e130ab5c69281c1c91436ffeedd45851f74b6fee55c188316fcfef90407c262c77073d06134303dc6e1ef9e51e0e774ea5a264f59dc9f0a7876d639b3ba04b5d4423d0fd5c79407402a94888c0706fc2317e011a229896f442e76736306ba79369fdfddb114aee2cc97714ec2a717ed0b2c0d3bc12e7b374e08740f0b3c714eb14f8385fe98911071a529ee7cd0deeaefac5556497d7304e3cb0e0ef09814be57ba5f7820f9de2ee18b3175e3da8821010abebfb1c44de97c41025d0f9a984323d5472333372086cc2c0d5d262308ab05b3fc4641655eaf5e02bc26ad6e3e80dc3459055302d8585bad0710b3556848278ba2baf07a3dded6cf6ac4d290ec23bebc5caebc9c250cf9614ddcefc3010b26df1f94b421b4e3d1f694fa0b3a50f032bb91a6852031be574fd5f4901089162c3408471162a0b15e3c12146dd30d06f6bddac79050eebd019665ca1f40209565c6487cf004ae5c27fc6171587bd1130a5210335d6b2d1132e0104a47a4eaecc26677e594429a83220a1e078892cd890c4270aa3a9729608b1b068900b9ea71d0bb2f7ee99f145087779775b643c8eb1e9f60627bfcd068111da14582e8d8f320203495b6f406030d37353da3fe68cb51d784552431b594006e6ec0cd48cba30114870608eeb89deb72cb6b50a5676045e96693394237a5525a9a10480ff595dd1c95f9404ecb3a3832bee41631ee50891562420c20455b45c14baf08cc2e5f5fae0a3647af8f52f3493e422cb5ad253d9979a5d8026865aa2f05d687f36889ffda91e7f75f2807a91287ac0c6d0e34c2bb089414d3ab89bca36074784c2ddde083e50b3180a52e9c4678a7a4ed80ebfb2136c3cc5ac71de49067cb37fcc4b65f3942d25e869869f690f6468ca68a24ce5031f58da726858b43d50ba02c52be9757c88bad833a9ac9e5518cb4b3db53fcefe028fa07ca5a139a7936d5d0183eacaddc12bcf39866d58c01645b76951e819b9cc6b188e2cbd0c7b05cc53a3108631adc6e22e37658f84c518df9022dc1be366e4a89dccb1db71c03f493d57648e208b724adffa37ca51589fe7402fec7cf7e6eb201660a464d031ec8a101e139e988f06a4428967fe2f96091d905dcb1fbd75a8554e802f04a1d58d0636f2556c628196fefd55e3e9a2294bdbe0f298677ed27860b01256753af4bdd2667b1ec03b31ff79e26cd81e6f756f6486425e91df7830ec7350e842b8b7d0f69ae9365dbc92152a176c1364b2842ed780e99928b193529a698c2fd02d138809fb606a3643b84e9bb3bb43c093a8978af6a367bb62661910d9f4ddcd540f28e40aafcc9d64cc3cc898f864cf38414fb90cd1e4c26819caf325f6dd1d8f1ad802ff31d376287fd051a157d07c088053693d1efc750505dd140ef979f0c9285f9de9f845ed7eedd13b3b4d83f2c6b412a03016f66a8dc2785a4a19a83e176567d42a4398711c9cbf753ec815b57ddf602f5432e18b291bfb75e08fec312d2be89f08d37ed254b32c0a0e6fbbefa097fc4fbd1a4171e9fdfb4af8b6913e0291873accfdc3f455e3acae4fc1bff13c9d9e0d70660005ffaa43a5dd6cb89d48fa74200699c8d14a20ae41d5db45a25cc8b9f9fdda45dd16262444fbf43f87e60bc0a6869dd92828131b2dc282ef9a60bf9c72d163e924cd5bd453b9142d8896a1a585e8c093969ca1c472e427f4297be5ec89ff21b88847b2d03dbdf05e4a667860231c92408e000041ea780503ec14713e8a99cdacebbe86736f731c3e4d4995cf0c6cb5ca52968568d6f49e05c0b40a0a95698523c59cc83e81f81878efe01787d3d217a69164c9bdaeb04e0336cb2329909248e79bc88acc998cbb924aefea5833aaf7462082959747ac1f9ea1a588332a04c11a16cec465b75e7ec7af92a1c8600e2529b8b6cfa9b743d6e96f35a077cebc5f558267dcd1f599c2e7f07fc2626c599b39a49104785de50b91c78bc30bad6d30fb720548184f28a743b5663174d3ed1e107c94ae77b19c4a03bce6e2e3cf715632e0289ecc8d15ad57009896e092bf05b67ce9060d0861005ac61dd3ee16d27917b622540d8a1e68a14714064f2227a198268a10c90ced1219e0bbe46399b9f319cc9e99d35b76010cc7acec6170b81180182d603a375b43eb91a6ab7f77dcc14bb484c8b49c96d954720fa337c05ce5be4d2dc56227bfa3bbb31fc8981feed3d33f04fee469a707cc0dc0ea5fb9b78b2c7e3321d5acabd7767e3f0e89d0b5a75db3fe69b6546341967550dd9ea9ffa31812e9581eadc5e43ac5e7a84c4461c8515e6da42fd173624086f61af86a30480cc148410c06d062be09461442f83996184710714cf280d5eecce799d7b59eade0d888f58ca0ceaa829fdffc56e925d5eae50713770c5dbd41731f92603008e53d1a9960b1aa8c932c1c4e1e03665af898b6abb9d6e31c74eb6bf193d926236131482614f7867d411699324d54d464f879f05bc249b859eadb997f1f45231f4da4a72105d60a394e8f3c8e6a91c2acb4fb1cb6f81eb1f31dc53154fb7a2273e7b62889f30dd94540ce37bd797a83ce0cfff684ea51ead6fa03a8ea09fc0aa023322099a759417bfb208e05d7502f7471fa2c718ed55370b04748b690996df5f18e029ad20a2c8f0ab780734f245d1cf5241a699fe493b151b3a065d40021ec96269cf54c8a13a99c8e5021d9e48253e0874cd07edf29bca755cd4dabfc27d6836eaa5bc96ae02e395adbab82b9503c6612085392f6623a194a37cc2012644674e2d10c5f8e916be19d9ad3f23032f3d232aa5f2a1520cdb858c76c02113fee278494544bb85fdecc011383754a91fae48b40494c8fb3b5dafa01327182b8f00f456585d9b2b8091b4b80b601b6dbdfe1fd29696f808ab9d1f4567eafb500000000000000000000000000000000000000000000000000000000000000080e13151a20282c","message_root":"0xd55d003f54476516db89bd00c2c14acf0f8007cc6bbf074ff631abb98f4f26f0","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x3e330299e567fe6c0e542667508f02a4c53c3a4dd9ec197ea0f419a9d2a113942a37ce49964eeb6dd7c6c1aeafae130e2bab7d4719534a1b8fd0ad357bee7c73f6c64f7d4539fddb3a0b1c6fd0c48c83b3d85d82b0809b6b28575dcb0d5945df95c6f13d10b6b25c180b98bd3926220c6e64c55fffa7a6c5252efa3c77396da45bec7ce23a119013f01f1fb380050abb9dec494ad926909c2a4da6b5924c1a151e09d5b9f2440bb656673bfa770ac7640db672dca35779082d0be0dcaf7a5e6ca3833bc1e36ba2f909aa48cfe9cf8245854efa2c109dbb722acbb800b7cc8eb13050585c5336506d00c6715d22b3cc63bdd86ef3c5e3850ba070175739724d918086c0c9abb7e6859e80f701abbe0c7c018c4e2f8d0c3d02963f2c22718195a0cdc9b88dbfb46730768ea73828479f4d7bef1b6e492bd5f8953ca432753a74b79c47b00433ca9fc8fed69fd4168d05fe32d2ef33debf54aa31fe09294b666bcf1c4e5399e97fb3031c6a58a261a2ab9a767b568873851cf592a901ca091f9ce44c35e27c45260c2a7f6691b6b9744ea3c5c47c7a8ff6cb121da27f30aabd4785d7b537abbff13622639891fac14e0610d7b0a142e52d8d7e4a61ff46866733fbb5f533eaf24cd139be8f1f29822dadea59e923500fa592fcb7313d0a5e38932f32c4e359973b7bfcc67050529ed977cfb15ae0f0eb527e6ca566129d31685b952a648b7543cfef4aba39ff3b6c9939c76b3ed3430f46dff3401c3e333cc2d3c493c9e33342830aad05a5b9fc08e5dc31b60f68a1af3c247eff1ddaa6fedb430138e11293f0966afb9d7684210271f4c2da41f668e6ea6fab0e9abe78309d6a8174aecea2f41f8df212d3c254f050d89f5816b659242dd3ddc102c3242cd2b494db808d963bc2785714106e0203a8ca716e337aa543c071b42b9b346de7ae21aa8a554b20171088464b53023a329d26c5a22b21d70f9e769c0baf90e1dc493bbe6da82eb0279e3c289e12ad0aa812806d07f644437f0b02ea3ae8d8cad567eb112fe8829098c6e7ae45a8c2fb400f08db7ebba6c753e1fd8cd1ee984eca6a09afa8cc1d6a089cc4ac5f9be56b3013c7e51627311d5266e9e88f37b88b881983a73e877542c68707862d6bfa7e4651e8885a01fe9bad1536d775201295bc64214e09a19c8ac1e025f25312cc60fd93219fbb51d28a18901e84f97dbe42fc61c4445fc82e88ea8539a773f309fe087857855d533ff901624b5cab6b558641caf47c412c8144efac3201e6520726c6872a300d674f20cbc052c29aaa0c77b30a8851007a8a9cd1d9828e753a2e8eaf7211b9b1a64630cd60b29a32d28ca3bcd0509b4e27b0f4de49d41d16129a91daf7d2224dc386bc59e8ecba6d0582554afc72fd919dccef6581cb89e29926881a83e74ab444024569a11210db9cc7d383b5b148e921a263e58cd90119d0b0c8fe7ce3122fb5557d735eff56e98e15162a27f0f0b2ada720c4abb2d2928507a2441aba22fc23a640e5a23ae4ceb00c5e3ce3b91b2d0db435ab83e52c947002431f0145c40c23221f390993c02e323838cc00b7fd2956716b25b40caf4e3086ee0a4beb48070646652617ef5e5a966f9ff78ac4972c208b8ce474b45a14ff48d0b25eebb467deaffbf4d41352bcb450a5859d622c7b34abe403ec3431e1a793e388b3347da64a04098d96f20e4395c3e0678a898998167de9d74c87fff3611c09508f070b98a1b1958f65bc25f72e1f25990f7f36d8994a25f93be2c4863d63afd558c7b365e605eda4f7eddfc183f45554916acc60b165425870af4d3b6eec16ca4c75f3aec7d74ed0bce5642f4f06a7304cc9fcca8402978c9e6379b5eb32676cfe22aa53051a0b14126910ccc3ad6f434bcba5d300cb81961d67c295d4cc9e3556d453add2a4f67c11faed7d69354baf47ad87e6ab92c8820519b87a2a28ab6368e29e9a226d91e434b4393ce206e234ee6cb665d8128fed56c5ec379d64e4dc4012360df5da1a702e860261baf3af099567a96abe9baefa424d435c51d389aaa3fd7051e88a115b6508051856ed4f157ed5e9b6dbb5a239d73fa296e5bcc3ddb250978e7b13182f032dcffe52d04f6bb9ab7bff9f3effe583216ace53720ad6049a9d21beb469454736bddcc54e79b061c753d8005df5ca96925ae5eae7615fe3d56bc43cf11e762caec6bec88cb6a63be0c265e97a1aeadb4e2ba4a2d35abe24880e8480c5834e6655c8e0ac1a98b5887a76f7c6e1a7943f15836a9dae2fa2a576929edfff6d51a491788643d1a6a4f90b461251d02658ce27f0a680088678fe25697ae16d2c8da651f92ec9129311215fbbffdac4240dc0e54370c842105f8e8b3cbfb0c7339f01d074edd6183dd12f50b050861dabbe05f6cc92cfd9dc1ec918ce11dcd1d34f6d6c2a815fed33b5f0765e4d1879edfbae8be9beae29ae15bddfbb892c7d0c60336cba593ebf530450a758a096036c8dff10b1b3d4ff89276e695fc44829217fac0f2f4e74a3a9ded9bef3efb7e6256d9399de45cfeab5f9ca9a30ce5ae774650589303e22cc011f400a68dc8273facf8639d1fdf9731e465a4b9d70a4dfc547cd0f0234847779c4fdf04f8cccd8d55962b1c9d3e9e53f335533f24ba86428ce055c03fb0c55679294eaf14892847d276f0ee617fb943dd4373fdef0e6e3aeb9043c1234fb0878be82b8a9f31473994173069ea6583d8823b3a8da5e943c4e4602f94ae028db3e547335753eab1b98d7f95743b5a30ef6dfd2108604c79af4b6d560e4e92ed3a714e14db3569ee9776e411874593682dc6340f345f9a31c700fc1893eef77121452b29aa2de86e605fdc978a5aba33361720946a262ecae037fd3c55b0b0340d145d7b5f5ef7235332ce866a882ba8d8ca988df64a123dada9c0a5d3a01ecf1ba3ba6c1628f16dbf185afdbb85a25fade2df2e9ad4fd77d3c2ac2d347da316a22deb44700a69ccd5c0902734b54f8c625d782f7e7eec1e1323f29393bbb10af6d93bde24a1cc8927510bae9f8a03e48a75ec950cac8b0c1c87a38345378dd9b0d98cf9c7945251b97f5ecbd734fad027ff76d7b565aa27a65788a9c6e2122ce232e8c03cb0822b48b84e92b9e51cfdb5523be16479a14348558b4e9d6317ebdffdf4335e2e0db2f662c2a0a6ff1bae90fdb0c4db84e85e0a382a1e648e464937d78cae91d4d0b7c08f42a323b51b5e02348c0322e6446f8251c6eae8e54f3c39c60fcc099209d551d0edc77c761383574553b52c84316bba59819705e7e0a16a5691de1edd434baf2ff835aaef0d117cf7b0d15218a2916e42eaca02ea944b3468fa0858535f53837de8b2b901affd63910335497a39de0119933b57671c73dea4968e95f5197c987e5fc1ee14f950477bb1e5f03a6013fa1a1946d8a9ce7d4a87cb72f2f1d4bedd9ed010b1bfa6c3766f6e238634b02ab53f8e420c3468f729767da64eeeff8165467c75533e99f11d7a1453b886c1c0937bcacc6f39986232d6c049bce4990570d66367b7af1331eb8c004c4080ae7d84293fb8b02a53fc0f4f171ca438b0c0f9a967183b4955f6d2c760f56c410ef36148e72caebaa6747d8bc1a2a3e0707a30143742daad5a2c02aa94b54da67ba313570a9797fc8e56a9abea00421","amount":40000000000000,"withdrawal_credentials":"0x001b8a97ad09eaea949a44f4448e3bb88b6474cbd4fa2c2f15a300c45db7e745","deposit_data_root":"0x24fbee45b4351337561b20944393359bfdb79479500b2a132f7bc157fdcca621","signature":"0xd193876ef3103df8bd13a46e28617221e8d0e17f8eb81c33873839a1bbe16ee86d292b4d7253ca4de72c47867aebfe38d1acab1cf8ea14cf5256cf6f121eca8443b31262b582dc269592e91a4ebc0bebfd1b1db2ea24652a0a4ccc3bdca8f2ef77ad6f6e3a48dd20774b4577429fb8ce32bcb5dde3b2b60b0458602a2fdf51072b51e6536482aade351c0969fe5ecf67c0fc98bd7ec79acbc71c89f20c0785a4530411453bdf3d9361e273280728389d655039900dcd6f25ce76f603e71dcccefc8b3f7334c65356619f2c81badfa35b3b07bd828c919b47dfa4881dd7606924d67ee23408d85293a7e43b95b0ff289a875c91526cabc9710bce73d19e9e42f04d6b25fe5bc9a3f058235cd95275970d15bca0b788d04d78be3603335fa6deae81c6a18980a59721fc4e831341a8852dee71f625ea7b4a263686c044098bb038b33a6d41053bec550dd99682ee48b5b15d2302842f2068f16579c53b4e42757fc43959c9282cee2fcb3c883cfa95ef08a8adb97dd7d80cb3d8e1cc4218ab012fa2ee954c6906816ef6fb9946317e550f19a4b483000b44a88f64d99f1007a21fb89921a8c87b5675912b7b8ca6742260aacadd044d3bb6a0bd7692b13df2b3ab6fba2b3db36c37dbfa5eb31e7faea10f8773e8e3be91dd42e822d2e050afdba7d583a9082f5574c44526d8004f17d6d17292f3123a00ccdde5fb38a0e50c8fa60f98919dc64f48e85e7633a1de2b2bd6662faaaa911f75ee9c3453c9c7b7745eb0eda53edb0287b63cad323dceab21d375745a7c23ea61742b51e40a5574866a7b2940d21a1b633c46a6fe3944a0d97da84d97140d5d8783075399fe22d4160bad39e38f9fe8a96825977a1ad3aaee8a31040aa34a39f265c58ea439914bc718f49b74afa35f2132f7c43254fafea3e747ef037ef560ddc05f93159f5744c5877dd530202ad113fd8c012cf4be36eae5bbab9e3d261967018242e809915cbca234efa75c6db1b750f60876ff6a8eea2b0235b6447051b4023d711f71af89a1b006b8c3028da7f181bc6fe55f7607aee4ef4f0fb75fed756a322e3ebe997ec426c86e7ef9802763e1e45286a8271b3a69538a1ac3925d2e87c785706b2d5af34efc0d67644536ed6f591ff2c01eba1d152e65edaf88a2bb36fc433dd5f5b3fb48dde9511e656eebf587d41285eaae256dc3fde03b1d3cc88a237383a084cc2278ed1b5f5fe9628a42b6d2647a6753c448b2299d349f00caad0608c3b55b5f811a91cb81739bdab3ebac474d7ad73a579fb88447a7e612d29b140962597eaebd2e0d31d23d3c86bbe8abf8a3fab593ab3dfef7f72cf16282dd1ab201b6b90e131decd5cb89c317cbea5ebb2ec1ae1abc4d36adcc14c6383d22d0b93aa49654b7314c7ae594eb81232be84ae33f2c6890723036adcca27bec8d7416b29b2bd7772484fa8b9d703992f759a92b0ccb4ed15e8af8f71170fc12655fda6ece634d0cd8455d87e1db95885842a4d045caa5e49c5461716efd09a88cc9cc32e6e279de69d10c28b21308263d37d733f46103e207380b94daf705d34f7dc3bede875ba71b78f68fd2c32e1db650e880a83e6ae5cf364425b05289c1b2a8b3392239d3397920a9ab1f4b784195f4ae74f3c3606a15274c7a5fc47bcfb06e64024ca80ee363f0de48893e28b7364afc656352a2ebb3ba240164ba19126855e05d73721e32824bfccbf12ff625f9976ca078b74275a6155d8d30877e7a9b7fcd5f0fd8ec8d5270d87561a153c2c4d1317e36cd53a82fdfd4da30b93c1fb384747ce5fb71823a5ed680f9700a07222aba9f758387986eeb943a31b6c455678b7b13170faf105864ed1e4270dab7c09df02dd29a2bddae5a910dcf35ac99844cc2a038a81a7906cbed767a998ad6a3215083ec65760ee5298f310c648114a2cb9fe0a21795ad9cab2918e39916b44339c25c6acb2526b9b275843027f196a55580f798039203793ce09c4f985cdd79d86bb3d1294f13c182a655b58e5244683c9f9eaf3378c51a98e89a4a5f5c4736888e8835424d76db6cf17dd517b31f723a5665e238df08c3c52d5e5b28ae91a2b4d51f1e29bfa2f2d9bf2e1341bcfd6dc4d7688b1af829511ad85ac33e6c570abfdb977667bc90177997bc3b15edec8c3efb307443ae0fa7eb58311ee38f9069319c3f9ceb32ecaa59901161db291b91cfc79cf628f204640f080ef3760941a4bc27a283e3cfd7f8251a5303e6f70d1568c5a75efd29ba89d8c30fceecb7e1790a36a428b2ea631c8bf97847210eb071cc9557d6eeb1e1b5dcf190cf4e7161d92a6830187f5ba5e67cedebc64f4449a7695375666983c61eb99428b2805e92b6c9d82cfb48b7d7497a5cfef9565380b7fbd51a4a44006dd55fdc93a37cbad71f1834fd102afc089a10dd1e0cf5bdaeb43dd252750a5a123360cf4c1aa2e60e1f539d220f857b6a4febc22b6a39f08191c7f8e59ba557364ec10b3a5225a79180e26e813bfeee84e32464600276b3f3cbed30d852d5d63283438e104f5b27abc1b9fb9970660eaec89821a0aa45e915b21c6d9eda96045b828d6f9527e1ab11b4926ac77d55413fe57c624e90c2e99a94c7d36ebbbf49943c33e34bbaa593dca206ee12c64d8470342d5307d3b545da06f0b5b46f5f1f0003676cb53fe75865dccb9d69ce01cf88407ffafc6a28645def3bbad4e1a531a8297c5eb730071b307647084e88cf536d0246ad43f65462aa3f25812b0d3d1d48048eac5938e2a22cc39f49101dd1bf56ccebc173272d81c127980b736ef34a53cc4f80111a97f96581b514e398ab4f8541021e2fbf77b0bb9b27eb2afb79dd7d3aa452b99c75c6af508254a1519d32306913ec3c33fb293278d3a2a287863703131f3b9b9ecbd5fa7b84db453e3025205815e96debf7b3c7a761767731564c1adf5a82b3396be6b7a232be69fee82610f4c35ad49fc4e74e4d2af72a0fe57d494529c852115f36a236a1e3128f1ca53cbddbf72037839e075b175c65c788cd6463e8caa1bbb0d05b0a6a9103e59a1131e4b5923e399283f04cbb710175ec0960aff632c87a9057f2788ebfaa9ded07a232d1486f81c05fc4950a907fa90587ab8626d3761744a34a652bba6600a27f3f33c7928f65cf213ebfa52ffa5d0b1b798f7a5b51c00ddd71556038790149d9f39244b505ef6c8d87a19ae34365c6174a3571ecfd9c502dac525d09caa21e17a8305edd8fb9f371505612fdff4847fa5a0f7ef02fe5758d1f969105fde526bf259e5a8e240b14a25b86b5cb9bbe122f58335dd95dfc623d18b9b80e8f37eebb1ba5175bc54df07873e1b52b933b5158561a8acf1eaa74fbd5cf807e655556ca58a7299828480a57eefe54b3a91ebadc8d2d69ba7faf1c9a7f7957ec729b9118d7b5768749a0d17c9845deab9fb81a1d2cfb66ba3b511dd801e41fcf7873c630c014eded344eddcb8b758aff5310cd74f4304db7fbe45b940ca89ac0051aa275a1d4c2c367bb8719c88484b934eb65a7745b4d8d06d10336c831d46f4889a4500e46a106cf3de5771e951bca0af69c1acbdd20d728614ca577d4467fe735a965981e5139ded69a457b298d2a29441fdbc655b34c1615f454656277724ef32a12d92949b61cf515547cec972305d1ac62c62e27dd0fea1ea36632513656948a3d7cc9a5664dc20a9fa28160b74ec8400e6acf9aaf64acadb848a26f4a5d99a8a04607d6c415435f94b6076fecd3c4ea95cbc3f12b5cbf9d08629901f2078f809fd54732868fb0bca4f7857107e0b8e0f17fa924c6252b285dad814311be77858cee73821bf6282ec8fbb321b61bb9cd602b7b7340452a3882b115dff8213e151c40d3db37db49670b5bc9e9da73eb80d70fe22aa784295ca191f2f5266856f2fd3f54e3701a40876e09d3bcce6f1efefcb0e09d22296c3d47c034c4877062b4f58f94700a8c01e541fcad7b7ca8b6cc71cb0850fa910211bce5a87acb205a6a9a95fd5fccb9253695f02945b23dd96d61625c3fc8621c0eb6a226c4a1b59df8140525085119390fe035cbf5831558b1ed60b761226ffa9ceedbad55734e33e66ba0f57b3f982cf757153aa65dbf4af06341f8c862f708c0c63c11837c65c5e8e5c54062073cdbcc98249b673a8afb376df7451708e0db882b69aa40ccba324f1a66a37b0ed40e1b9f54fc00bcbc7d6b9efdd1ae9ec469c5618b430cb93cc722cd7111ff4c9f7f2c1be27629a725311288f1f813b60bfd442570962cf4f736f1b4dfb462f1131e5db3fe79060912a4002642f4681e02aeb8c64826dbbe8482a37ce1162374963745a71bd8cfd52ae3871540a628ef563e7186f776324b3c7198df5cd3f1b6ccb99a94d9b9671221a73e16894048714203bfd0d15685ac9186ada9fb88e02d87c0405758fd9469fa51714c642e484ca387eb60a939154f336e53e0a76452abf317fccc0279f1862def6ed01534f5baea467991a77b903b492ba08e4456f67aff45c34b8bef7df2b6a8255e551407bbac5604be57405750aeaf3549fb081ec53bc4edf5cff766d460a171aad99cf465f782f1921db0eb7cdc95d64038872984e74df7f84623e37a98fc0f815768fa45a9be59830311812923e4c894bafb41e87d7939b6229d10fa39d78792740ecbc881f5b9bbe50c31abb0902fa5179c7e185a1c51de163e78f8892abc4345eb4fbd99b87c985ec8501e05eca38f8a199bf5708b998e6b5c8f3106224fae0883d009d685642fa4ce1576cece97bcd61195048dd35c16395e9355fd3e98e19390d91372f26067ef0c6449a526f5a14506868f81d5172beba04797eadbf433bab167fdeb2cbe6bbca324eccb8579cb2dda122068c23cf8aaee89cf4c8d515f466fa8deaddc2030eb6bc945f87a2f427ff397816bf93e21b7a5757aad2745117aa7dbd6bbcd05fcc9c771b8272402ccdbf855bd3e409b1d5bb2feca96bff5c727256333d228185e51fa7a1311e0a2680eccd5ace88f58cebc3c1e3df206629a247c474813eeee0993bbba7bd908553ae296c44cf27842bbc739afc64f3c2768711440b3321849cdae5178b40509d59d3dab4838417ce5af08637cb8d4d11bec2b1f9845c8edd39a407b570f74f36004b46b3c7fbadb61dafa1478c717b8423a2f56cb65af7dd9195ebe0ab99c6e47e5e68b92d6929f93093644f1081951bdc68bc3d33b73690f0f94b2b5e7d833d9ec9e0f4e2192189e9a48e2d63e5280ccb2c6ef8be67d4fd5d2e2be1a9af7978b56b1afcb1081a5916a313f531c128a5a1cf2963195d072972b358c89f9ac14ccd642b0454ebee3e12bc39b0345d556932ce3c980d62e3a29939487ba049a5641ecf8128088d1e4a99c93bbed4ad4d00c375c0f19c8760aa1c083852eab31aee1992b92eff35cd6aef6624a89f46a1adad085edd05e9d142905848b0d91752d5925c59f6601b663cda5a884c3e20acf6f6d36ae3370fb5c82b59642dc1c2d19bbef3931a30a0eb1328b86cae9b9afdb901f245ab7b8b810b0c8d22941f7a5eb67d822d0ecd49dac3812f6587b37a56f40d7955249b9e1226f0ca9297b24e82709268f0a32670b414625b397a6a723855f86dfd136f180077071c4d98455c473f6165e1ba85f0417c752b5263c0a2bcbb37187e0ab2eb6cae2403013743916b340e98c6aa111af5b29cad349727c9bd705da1f492a15d519bf369187be7bfccab35eaabd80763f1cf3258ac27798ab98360e05561b82fc783b2324b9b97d90fb21b9b2f6b15ff289fd3ed201b142c603dc8fe7e82098d961bc9877ced2c73b9a56f63bfa84e9bebf210c84105b9c4e1b4b983c3931dbb57d983c335c47247b5aaeeb5d11062440093d300d17892e27296aa31e32ec8a13e9709c0a0d9db8027d1758afcc2925e81f1d7593db77067cd255742697aafafa204acfb075ccf721ae9c0060a5fe18d775fff2153a28d000ade4dede456de4787ace56ac9895e4eded858377c6e3377bd9fcacd4292cdbab6819315c26a1394900d76027b587e48497bc04158bf14446d070e7a0015a7aca06679b93eb3904dcc28bee680d6f065f15865d4329e99ebccbee7efd2b75c9c08bfc47c91936cbfb8667c21382f0baf38213b1845840e87fb96d302d22acb3eecdeeb09ce32db58885d0c28fc8e157640af5e71e36aee9b935ae22855ecb71b2b64d05d0179e813c8492c5784bdb5a02039b5e0e67fcad99f34534658bc581b01ab460c5f4e774abdd22152f5d7ee1ef85d41ae60a4295f43f29fb704a71eb4c41d6d4c9650fcc0b01839aad4a8751ce21454272fc316fa8b8f88520fdd741119463df1d3e09c2d120611b8a13f20290bd199d7901c2b1d23d9d3f3348bf88281bc8b50b4737617aa1c7c8dceb3f6d7c95c0f6090a2f3e4566c2c3c8d5dae61a50d4e81a52778e242c46788c8d8ea3be141a29465260757da5c1d42939577aafb3c3ec00000000000000000000000000080e1a1e222b363e","message_root":"0x3643d5b3682e3d2c4773f30531b704ae0d4d3257be0fa133df9f121e4f3bb807","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xdca28420150a98807c027d3adee2fafbb9f8265b889242f690d19bfaa935064ee06cc5a7fa94d2edf5a531a8fc7259998da6af2576238399c8e31eadac5d9c12014f2a71742c235ae406f1c7f75cd113f5b77a2531342a816e2f838c938eed173fd81c01b05d34a1382b5d28c78ff1190840d78033c45788f14fcbfc345be6d456ac73c1257e4bc85ef9c7235dd54dabd86a9cbf7e9f8a504d187da668cc613462033b6dfc379ccf98b43c4a4106d0d7666d77de002943016b14c9e12536ae6b1eb109159cddd5e9b1ba3d668ad4e0dd9dfce765f3cd848bc8555c3c5ddfd20941be78607e81135350142b2820c873a736eb7f583c7195f32275846bbee14fee568fa67ed1eb0bd72e2e0b5eff98e312c2602027f5481f2828ffe67e1dff2e7dcac7dc4a7a11f6c90c1793d15ba4ce3edc86c42c6cac670cc65845b38009ce6980aeb5053c2a69b982873266692f6dede94499be9b45ad84c79335ced18743011495082cf9e80c541f8be79791e47d13e525feea1ceee5d75bd46a6c18bcce51e024de578b3129f3d2d552eb349ff5ac8be1b728e42d9f8e8e457e33bb67fc2391f403f9ae0c72ea17bc9abd0d03234851c63e624e375257f24e647f5d76c25479cf3b03d67e1d4dc259e2ef9518f5729752953e0b6755f44f5f79f1b82c80937e13b5cddf5c1f593a71baf6043ebbdc817e1e5f57c4af92ad3889d82c624dcbde0399aaeb3bc785b47c6f1b845f82c0e8263e848cb908a0ae2085fbeef15210b8ad9ea8caa6c1f3b6b8a8c8c8c7bd8b70768ae2663e2703423c5ff05ff5520da1d358d144b4337ae906d3ba0d067c12f7f829d4f4fd7fedeb5461e9e735e660a9d24b4e3208bca384b807424c4729790a8a0ac70289b551ffe4bf609126ce181bbce3e014c884bef3144cf9d0990dbd88672d643495431762584def7c6c427a344d6bfbb9b70da6891e3e8684bfc9a1f4a321bd4a134f3a27a1d387cde353e742290211f061248f092237c56012712799b2f73088f991a4212e5cd7f3ed5c4f608d81ff2d0a30dff46d188bedbf9b2861cd1d2e3f8df4d7740e4336d0828100771a5969a97322cf9f84bfd4ad10057d014f0faeeaeba21a20735d9c3f291b1af39ed3e4519a3ddd7ec4f161238742923f0e18f7a8fb0254b710e6024a9a3ff73dc2f5bf08ff30e3c23d452823a90fb69d787907d66f58326843828a0214b1971a33e43cf1f705c0b8f689185614e1b01097bf5ad1e07683a070b1472854af99f0355ea85145c74cfc419323c96948c5b496ebc9512c0db7dfaf04ae356cfeade6d13714e14c8959887ca05624305b050afac7b69e59a6153fb597ea43d9852804ae47bb3b61c9d2fc0aded8bfd8d069fa6cc9713d334f7493f628359d0ceb50f71fe5b544f08e552e8e9b8aae8e46d44bdf8e26e572f52d5873547e8596368c597cb81c3b1ee067ad1f24706b648591c310e0ae4675eaa6ba32a942d4ab4c9c78190e46dbc46722e18707dbff9a724f2d083c425407827b7c25cb9af334d32bde13766e1cae33c22af5c528b554881d9bc8b44295a26539f9239e97446ee110947d45e7f2458d3f8f361134a63f3fc567b600c581bafc43e6b21498a6bf115feb4befaf21e87afe2b57d62e0a1ed19cd2260d1dea392d92f750dc9c4f2109417610ece5018930ee3adc7e1a499d124bfe0dad4e4c7103ed63dcd2f5fa0a97d3c103dfee46d6f04fe676d98c2e1d697d0402d931216cd3c53dfbff5e966dc4cb4158943a5965947df64f9c8dd76b4315695a4bc48e4c4e7723b9b3a2a4a3100238a75bfbc75d20e8815471f11592afe8b67166096650aceacc02f0bde511e2e92fb250443ba25554fe5fb00a8b63e737e10175adb2a814cde8f0989121b942d51215161faf27974adf9c80c92280e62aa6160acd524f565dc214821b17d8842c393b891fc095db623394f717fd003ab93248c6a5eb6efb0683f08a2e780e5687e58ec92103b44b2b93e6bdc8bd018683cf23f6ed2c5934a219ff3fb3e9235dd5b59e9eab22be009a70bd4492a503f795c81e0ce4a0a45e733ec20747ad99b3730d7a3e427cb02480ac7e0e9951f52c734b7ec99d1e02dabd7033866226fd73d0b8df1c93ba6f4341830e777027abaf64ecd9e6904ec85ea0f483a50f8c61c419b5c02eeb39b80248dd1c9adccfa96cb4cfa915243c31d02fa6480144848d6f1fa866f7a89d34fa831be79ee6dcec7b3036b107e19d14724453045f605d444fd6d60a094f1580d1b9a86ca36dd5f84b8f520ff6f9e4f56e3374f3400d4b07811fdc8f40267f3456fd23266953a7a9754cb9ce28cc777a517924aeba879a8e56d57ce6d085b01517b6dfd1bbef02e542b7b8eb16dbb23277c060a7d817ef9f2191f5c75db2d454c1b5468adc77bcccd0de5e02d72d4a11ab6437343bab028962925eacd51b9de517eed79791dd25c0896a46bbbf93dfd80fb65644574a2a98e41ab7c86c3558e3915a4e55d2bc1db9295d696d016e748444d621894739bafa069adab0d6cf820066c73bb2ba11f807ca1f6f4e9cbe1d63b314dfd12463511b9bed79dc3d49f9d824a6114f816cb52b0998c596adcdd88750dadb5cfacd6abf253bc03dc12b494e95b20e03c40992590d2dcd62a09a58cbe7e7613ef558bd383b30e6f0ef0b5bfe88c27f934556a94530e1cc7d922bdd5ac8667ed1fab03b2246b8f374a3febca5379d13eaa92545fa38be034bbba82f50249683ef5b1926c9ad53a75983b193de4a808b88be8f63e2ca2210c7e61864a216a91d9301746b2638b3abd6b09c20887a75411425644243ef1cfc91ec87412fbe6c9ef3194b444a689199f82a59d60b9c006268357dec0dac78119dc7613e276474c9561210fd7dedee3e2f4fbb76285e2583e0c0458bc4b9d9c105857458e57c470ca0b1be7fa89f8f2774eacd19b20381121d2e5f201a920d598937bb74663de27cafb6a59b0d2d11b3c868d9ec1cf47d72bf7535e78e6c0822d767e9bfc9828bd6cfe3bcb539a4258d5bf616c6927b4d2ff9e5a53ffe0640ff234de41f27f0b2db604e4eb325ca1b6a2d0b17fde2abe32ca7558d234a2c5d772392e97432787dea624dfbd84b869bd692194a736334b37272737397b37abc00c36c762304634724bea4a80493b546d3f4746bc0f4fdcde7a586f7d2b3de1817db085efb36df9365660ccd408f7e1ec7afb59a2d333248b116c44d54098396dd4135a5e6d124ee97e9859e3dbf0a9bee695d0f5a9e73c040279ebeabd3a82ed5dfd025542373b0e69acec9ab8f2b29b5fb8cd10dbc662324d499ddd809cc5ff3b8da4c708974f879edfe210f534ca54796df105112434291ae1551a422c7629edbcff8a85cf0e22329c1ea7ad54a195f1e223080ee323d752718972393f92510439c2f3de83f0a089242d153d01357450e2fe6f89d5caed00f6a007302464037b89f1812836b9b967bb93a77ca19e1ee7b9e7bde0a9e08b73cff2bc452c882acbe58401fbad192ff5e0616bdd7e7e307080645d044a012f5964d43ccfef6d78daa4c0f2acb40924e2c09a9b99cfa26cba9cda52029ff2a3001d0ed5d90397b2dec48dd965b091040bfa9ef05347fcc35f6edb4d9d279766a6f8c216f787319a7f04bc6f2f6cebcdbb851425b0d7a3b","amount":40000000000000,"withdrawal_credentials":"0x0052ea627ecdc90ab0dc06e7e21cd56c9cc2fb8abd5a9979d6742cdec5391864","deposit_data_root":"0x15d56c4183de327f56a33f85f0e7836b1f810785c31fe709569a8c0ee238f648","signature":"0x243172a3123be3ee028433cc697581bd38ee5e878c058f41b6dee4688e627ebb2ee9bf87bff046142c1d3bbd860026084e8905a3322703c0b4eeaf085b1776dd26b661e06dc80acdab3665b326da4db8b8c2225009543d4af2c9d2266e9866c771c58432d278874321b78663669bd9e1bd7df2267275bdf26afaa3eaa97dbc19dfdaacdd11421068e0822c4d55db9323ad9c0337bf09faf0f8eb904201e558b1274c07a326ae6ddaa5eb6bb7fc87f70428d2fdf2e0756767eed491b2ee3c6f7095324ae19665c834cb10aaffa205a4ee45dd3f1df279ccd3969871afb25a159e79c9117b7179ddc4362e52b285147741db4aec620a2adc2917e00925b2ac0c960e6531ba494ad2d2d47ac7127e6d742ec54b6414898818a989a97b5f0eb4b9ba95009a9d7d1d24b65db3dd2a956f28b961cc917b12df37d5b558f41b852940f4e1fc78e0ff6c635e43a8cc6bdc3db86ec67dcfe45c04f1bda814f8db5e66440dee3bb44ec2205eeaa18a4f4ba038f2432278072eefd30acb8bcda7619babfd2f924517a43b97ba8c66f9d109a58ac32821214871e2d165dac1a4d318ce0247dba788339db55484135cc0f1cd6c51ce4073bd138f3fda3fb347366bf66f01205311bc0da25c8fa1166303393d99a0f78ca94c416e9dbc5322ef57f63c139dcdd527ebadc1a8911860ce1f0978358596beaa58af1525b89c4989da4acad6048f47693bf2b61140ba1af1cc09e5d3957e68d1c84f9694778b4718ecf1e12174742724c9b9b210d5c185762d28c2dfdf27a3e752d56a976c66be04665c375f8b5e74e6208739f15c5a278de227b41da3604eaeb869206a1be8f74758e00f2f84a96d1e0fe53a3793344bb8f67eb8220b69187d0daa0c7a6e34aa3151c5b9cd85e43accccb4693ee06f3b81b598cc1b39d2ed37a1b55b7c233e0f0e8d5b00e3368b794907833a90ef9a0b9860907b7cdae7fa8e1e8c997f102bf42820087a18eefbc5dd6b573f60d483139173bab1fa10a289b2580fabeb5d0716d9d70b3a89c68d15fbf526c7ed9feeed49f15535199b4f10b12fc61497f89c2085a41ac86911bcff9c04aaa0144d1d83fbcca10d8cfa44778c09d30232560d8873baf3c93b597d350437bd3b6dc750f21e9f017b945ad35011f6b3591fe7a42d8610f5e427f59514b03a41bd18a39494d480128e9d4112047bb24ba40a6e34cde8eb184a25197fd91664e16dcbfa18aa6fb10f626af46e67de8bbccf9fb6b2d8122550724599d8d2e48dd3c82baf5bccb37f53b11ee710c894d2afd928f95012fcfafd905f478224c847760e6f3848d533237f39376fc9f0502057db5b1070dbe0d5de749ad40b2396bbc786bbfd4177220be79394c261ede3898bfb8ec2d780fc8a6b77c47c7a693cbb731a23c34e3d598d8fe2cde062af1f32c5e023647661c8431f4281f0b270ff8ee1273a56b2761d115624cbc7780b0260d5a2940524d975bc519ff38ec62f906eb492e473388b5c07fa850d52ca77fc0b1106a2fbbe355574102b5e4d5c1fe083e03f25399649324c4063872ce4274660047430c4aabf846acc40caeb8d21764d5e03c3318e8742a36e7b51d0a3985154cfc6a226aca2c80287fdb457cf792d6a802bedb83fa57e0fcf95dcd172b8d126a81fdcc04737c6ad368b437afd5a396a7138657144c8463cecfb78db2c0d571a913684f16f83de4f348d83d821cb192fc1d3201453dcb43c7412c132d7997316df155ebb0bdbad80680fcecd7a14251474272014f92450746c127b53a1d4b526d21d0398d954676ccb42c4396dca3f93492ef76de780f58b89b246a05d01905cf738e239cf6d9ea6372275325b0433030fdf12f66bb3847503810249ca6092b391d960d600282db6b59d5619a3a1d6f60b3aa929a9b137bae3e3b017e7aa9e35401996c90b27a2a642e23c5e9b9218bdae1c41d48e063efec9eb1b4109cbb091d53fcfaf3c47ea177cbf8ec5bbc24651fc6c9f82104641896c288f5ea580979bb25acc0a51addebe64038ba5ae2780cc05946052b5bbc55c06b0f9393fd6fe98f31001f053190f1484f22c8f3734f79b3dd3be81a7711459bbc12829b2100a39af98d625c0303992c65bd870e0d457af9d0a81bbacbebfa0c15843d667d2fbb625bb0876c8cc050b74172ff363d6e1d69ae80a122e5a83e602a029400d3fd66f1b0ae028197ff4adff8ebd9e11d4121a89726c51fa3c2b644ae7a8143a06b1c3aa3adcd48492021768bd00f76ded817ddaf99ebc2b6693d1c983c71a7421c3ff8110d06cd3172800fcd29c5a73987e8a16e517c0d61d02b874ed1196a1412fb8a1c5f8a62977978e91afd163f1effbfa32d4d9543c230e42c2442d1c036afed5fd54714a92766cd2fe5afd0b0c89fb6ab4c862dd8fbcb0c9d6d0b61ede07c9f6b083acf75982384b03f21b6ca1cfb312c4482b4bc326e1c28512c0b1e7b06df2f83c0b77d991287858d310e470420854d676bd17f6a2d3506cc631529155fa519d4331018a2c2a1b3b54b5abc805be40993b0c880794c55e3a1aae026b5f1b76ded096d97e2825168cdda3f0d7b40860f50419eba87e11c0b7f11e68b6f18b1944b9ec388669be3cbd591ee84c8ef7d969313d40cca6a0c4e4fe2b8afdda9d71f76ba59d0e90bb2e85d055cd66fd96706ec4eee7a5ea730b46f9687f3dbee21b892f26dac026ab3f99e163721c28ef2deaaaf5567228e1715e046b9de8ff4db768a557630776480ff34fc04a6373fb80b15d825de9cffc139e5554917086a373c4c82455978a04024c397ef677537345dfd53891283fb34f20fd77cefd12c55d5113b17becad363713ddc66b87b6568283114bbe0916fd40e5091c1bbdefb2fbf4a18e9defde089376e6a15322a2127dbb5d988309d51d186a8f0a2d475f77a9b3da537fc99c5e4a35372a2aee67d074fbbc2ff8a36b83672980f53dbe31725295168bc2aa28019c96bf63ab94f5079191e5b79c3b4e5d4c963278402d194e33fc3f01215fa4a0d5ca9779c7cbb759b4075a2521a19163da27224860812d2dd208b1d37b22e425744be636a76c3a51cdc5a3b59402cfd73f0c88a2f7a4fb873981af83d0827100135317ff370a931c5af93e119a0919259538e141804d550961e86751a5aa0e2fb782a496f972421d332a4ded6c2922e069ff3558ec482dc379e248f7e0ffa9ecdcb4697f3f2cc57d2938524dbff20abd85772a4e7893f59900356903073ef78713d9a7ffd51f2b35c3f7c7dba9626ccf487a3c37278b37491054669e0892c1e9b2be1fde22e8a4b2bb658855ee356172df4483bc9562bdc50707e6292c39fba0ed78ad227ef804b6c82152ca7aaa56251979f6283e9a4f6b7bd24778c24b6a038add802a953fada591bd1e0b1938e77a9a801b163a8194735f8386acb10c2da62363cd6d0b4a21c0bc3209c824120f95d29b57f9cca680f1c583c15c0a90f9b7e871e63a03c3b25c7aa4a34601258ff7c7752ca416bb24827d37b78bc1a8a1490b6557c3360b872e55a9c0f89ce94c645a0833a1d781c1ffea886c7272d0b1935939b04978e51f957f17bfabbbdc3db74cae427dfb0adeecbde3f818d64e568f8f0399b5fdcd9b6fbe07e485ced9794a713bb76b4304bc9aa49230b13689dbec24fb4c980b08263917ca1b9d57b0cdf2aaea5d1c212e99ea1a6665c201766d2db4172a7ca9bdff608246cbfc686919592c399b3e29309fda59fe63b7466334a82f5f23d6bcd7c21557d433fe6b60ac7f4cfc22fb8f0815fbcf6ebd8d3242b9761ddc01828f80a10f35d019665fcaf306067fe59a922ea994c8699f822f26a9d5291981f41356a3d1a97481faba74f5ffc1921e3318787ba7d5cf5fddc1cc0566d88d12887535e468ef482c67934eb87421a4937ae9c4130e1cdba50d6a76243a4cefff220a63d4a520c3fb55f25da4570b7630dc0b888ce46d811874871959d7fd97a93a227bfe1855a887ba0de2b178c8e130921d80a584c53c8675714703a74cfae75f04f5436cdb33cd2b69161256b35402593d15799921f59713815840bde3d9ade4e14fcfe039f3355d014951b660bd1073b98ba978a5e81f39b09c55b6996c999423ff85472e0c8fffe2b1a6e57469f63a380468b3a664d70c9b349a88044f3b5da65cb81a4ae3c564852bb042ac4e49357cd0944508c2d07e29edd083d3638576310e86af8432a160fec194c7d47fe9ab3806830c958ed26806a11ff5161d3c904ee7c032092f6ab136ccd6f9ed1250493082811c4db7662707c3623e74473733afd63219f4170843caec6c15d8b92839096384c2b1d51ab4480e5771625ff2aad750175ece7912859e086ab8887ed8462bbae7acdd9bedf63852d04be4ab7de1f3a6fbecdf8164b89a4ed8037f8e564d3bde8a7c9ca2fab54d6eb8a4e572172c3e0783bd92c27e5549897562bdc7f6203c10f5cc8dffc502261138813b3ddac974a5b7e123cf3467d7cb2a36b53350983601f1cffb89c271d31f1c8d5a1e186497f02402b13afc7487cf60f87681497e0230b2298c86442e7c2f9e05c813848e74517a663639f1c8e7495c0bd022c7a9cd7d097add69332135df457f175a4e0eee7d0587fa70f3fc9719101f756a3df70319b7977c4411dc4be9a114c51931f8b9964cb12afdb1b3c5c24c6c294a68eb3f57b8b85362c653a754719130b74f48fab817082693fb0f99cd936abe611ba7ca72cbc6509d05a0a9afea0c9667c0d073128be0b25572b96d6683e201a03444772030524708aa53bbf76b0195328159d9c6d51ff88186b190b0d2d8cc77fb787c3a289e572b3bb7689bfcad865968aeabcb87423913a1edcc6d33450f879ffb23f478df90f922bee49bb21984d5baac38aac8b869bc0ff705e95e5d68371e4b130af7bfb1cccd19f22faa1fce463185be761f96c227d98ba8982ae2df3bb2571c0656454568f4010051a7d85aaa05106b8231f42096349f436bfb3646f10484d5bec2a3cb518beaeea08abb0ca4eedd9b0bf9999928c057b069686e10330f77ce897810859bea0cf2bc7cb0dc95433091d7f7c1d192a76936a0db38d1abd987ee4a47c352395f395c11a6f9f7e1dcd31e79b88f0272439db4b4df6086eb14d341816ad6731c813d61d179a462f4893e4902610ca8545001530ee657e59139408e4d90181a56f3646decd47a6e529a5ceff7c15eec962a012ab308c04f61a8726bbc8b12c2b749983b413f7193d5227076a7a40112f3483ac507ae631c4323f1c57b6caa6ccfa9197bf5a1ceefa3f137bf0a43a0b73d35062d85d977245126e0642f7d2cb5d76b6386c9c446788d4d1c518051b3dba12e1326fd0cc4316c362c83418287f9226fb8c89edc3a7d307312692953d4638ba6cbb637673cb0f31190467fb4a33e847e470eb3649995838e8cf59e94cb018fa575f03c0251add14798c1ddc127c3101138ff64e0b4a37c62c87607f2643042c2cfd19f769e1900b494bc8293e6ea9241e2c7e12954b53f71bf6b131a903957849d0598a454dcbbd40c2be26d84cf5e95eddc6e8e1c541629c48f04d1252227adfd531641b9d69b476c242b3aea8b0944f912c706beb297625476d6666b4197a7aed5d49ce2d405dfb90e698f983d6b0eb3b8fbf599fdc2a727931ba0835f6c189b972348ff0c2b53c5b729894c569ff044cde9b2123ff3d388379b6a46d0e8c30c4d2b420bb6777d66dd8618052ead208ca0f5e328a6990d724b7d51bf5ef1e1388c187681731b7152839e4a2d3e82ed03477727e8a2d0a3a180aa2d8e1cd0f18381a6d1fe96686dc08cc6002b969ea8cbb7d813b96c307268642a35ce305ebdd4c4394b678d9e5eda79b4d485b3984f9d77c5c30a54660b7834c961bde3e42bf2fe630d8ab4a4aa0a8fb10eecb6ec1dc663b73be215d3a6fc99e5f03ff0d07a1001cc7be4bc044e3a236ea94c8d9bed119215d4591c7666314c7640dbd1c130024de81e560278cc763097f9f7cde0755ef31f28bb083c8a5b0e04cf511284454153ed89a4fd81226fb58b112cafbcc38fff45115dd215d7d61d6332e913fba4f97474e0c02832fb15a32d21d79b3c1494254fd7d0097456cc3015f4e70689865b94fcf69276a512dd5f092ced441d63431a51fc71c4afc2435937ead4ed861c535c7574145c115e2188bcee4076ccc7817f8c2afa92690b4518411a6c404e0b7962ef1ab4584744c05c9d272312cd2b0d8b7ca31e853f39bbf14e36d65e4a61cf57f3399f9c58277b31faefb6f59cf4b648c17f746c3672546591fda1cb42a9692b2003b558be7c5df9fcd22cbcee9343cf68a29ae938c4ef456fe34be1fb89d1797fabda6399176f78ff6330ed1ebace7565a520e71f365b1167833b5b8190a5c2d8fc20253033879de0fb2c48516c898d8fa4d7ff1b2d379dd0d1e6102950542c3853919bd7ec001847828faacddbeb024a5295bcc3c7dc000000000000000000000000000008101a21252c353d","message_root":"0x0be5e39c27aec3dcb6ddbf705c927398815dd3109d00c84eea7e92db924b2d15","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x3e558912a3a3bcb4fcd420feecabcaf1942b18325a5f5db61cd9117143f99d3e07c70321fb6e93f482de8bf03925af4cb86ae26b5bc4564b561029f95083f7e67e88933bb58c5e0298cce92ed26b76d6a105a7c6aa87c3d2aad1eea1f1d043695ac0c07b4253c7216f536c1cf27178688fd42c9f9db8440eaa721c941ef867422d65cf742c5630f3fd8b26c68ffb55ba1dc906fddd8727ab9f5d1bcc703306dc2770ccd16a4ff9d54262f83bb41505201c0a5f3fa737af32733243377260e53d4e8d77bfdc15f7e601036fd0e73086520cf52ef1e6f2453830bffa34a59fd9fc61d8d54576d576aeda61f5081246ff86bd1eb6bc6b0f9e7b1b4e69be205b0c641ae9dc349e618736affa974ebb8315e2b987e5ce045a573efc4b64e637d90fbc87f250bf5d2855ba06b0d303b5a21d16f194c188b9562198f7b6098ab03d52d083da8d94f3abaedd663246be89627d2370e3fb56b1609f4a02839fdf55986050f5760bc16934178640216bff3b9f41f8a2195f9309ce31a03437e753a68a3aab941c623ade9b8ca679b644cade780f513f3612ac2b803d6306f95fe8fa12b668672f5e80a53dcd2c163ef455e4b4cc6aabc703865e68320d28dbf323e2af091c347fe0ed239976a2842c5ed0c7735d255e534318637d1a899bcc725ebd702843ab5279b13f7b026d644686f1f41dac4108e58df73329936deb8e95471e6e768a9f2c848988fca1197cc88c74427410c55af4964de8fa8cda6ec18d77b28f12448e500f8c2afaca1706bc34a74774c6edc6bf4f7e24c46fe5bcf2e1c3c3889ff9eab00bbc23c67de24edaa1015655ccfb6e2bfc69ae9560a3f634e357d932ed877a50ec7bd9cfa88324b1ad152b2f64a4e152effe029eb7713cccd7d862c80769862f73f8f80dce2ca5a964e66c2aafbedd2f2bc315b0b4c2e2c8315272039376e4711d6cd88b97ae8b38993cf28dde2847abcb27de72162b859b91eb866f8a1a9ea66239278b0eec413ff95fc2df9b2788cf306cd52c754b52cad226aee8d61164898c7259569d3f3ad8e299fa91cfa3629c603740b562c187bf07d50b6e77d24fa5f17c1cb9e936d5547e0b1ff74deaca4c57d313515064488d634f972eeb039cb362ffedc45a74c65ea4ebaad57d9cc8914b931ec3982ff7f0cda83630aaab71c9b48e967de5448b862a7532978f79751efe45eebf5a93e5def2d45967ea7722a1cc69f69ab0a2c4f770c80e0612e6001d85fe4837a96bc1394ab2f0c375e06f51808c84aa05af4ade0318dd11934f31a7128309ede10e8fa931ff9723a2aec5b83f683cc90b4157f9a1819d2e2c9e44d7540367e4c69305db1ccc8dec84cb28fcba54c9c9a09c6b848410ae7320f02cc2402b130eac636abb8699c9d711f2f969e115fd99c33d5174a43a729154f98080e5c34eb498119d381c196e865942404ef1fb5230c6674b5c659d18631ebed85b57d00e7a0fb544d089370dd98288fdd39fbb0bfe0b06226456f21481bda730b75efac7c40b327614d12c655014e39e6202248691d8d5ff18ebf271ebaf40c76aca495453daa2bddc6b5dbbddc3c27709d5ba776ea26265f69d2bb004620333484a3d4c3769be049bb721d83f2daa92504b5a30453a5d17b3523a7776180ae90d6518d2262cb53b744d5ec7425b260260d41afc738846a96f6720d1a5e34085df367e5e0a925588c253769e1d5b5d2ab9823e9b63581f35c92096317e1ebfdcabed15aee307c4af1d1cc8bc4e3d370e2ca91d88787ab6347b4312a661e8158a367fc667ec80f958fc36e2c5a9f04f9921fdac8467086039905f8bc5004748961ea7a1b7a7ed6760d94950cef1ed93bb8f49f561105b4b75b81a4cc5f30afb78e45cdf7bb81f390ca569116fbfb222ef2aed5d6200e88730dfce63e1c0df3782fe3a4527e41a08b5c48fd7c377b6f920792696c9edc063697445e7bddaacadc194003ea8c0adea9c5d53a00712f9d8cc9c57d285e1342ba741e17892dbcaf1b6adcefa0d37dc4679a127eb0ff0d0f29e57f8bfd098734e6ce81b68f9ef0f0d3143dcaf5236b62e91e1fc561dfc6ade1646c11b7d6922412f1c0ceae871e092a3fa4abed18a38d54ac0f5637d8c69c2276060abc09c0b64afb32c0ed3518a68b38730f465cd84ae0d2245363cd1e23fbdbced29d66ba188168c5ddd8b5d86da990eaf9b0228bd0e0814691414d0009c5a23f36177c4afaa2023f8c265ea3d047f2357aae3459b50cff11ace810a6ca147f9247eefd6a7d61700dc0bbec3feb12458128944b9c4dbde12ebde4b6d545bf51420d77ebab6124cd3506a9ca3c17141f53272091af453ff255e5754bd18c3ce34a1db1fe0f80f36704950c76fdd04c9c1f9d25ff4f2c404cc9a9d6184ba1773cf520d013bd422afd616b8e2d22ffb76971ab93f2efe1791b702ace75e9c4c05490b43391caca52d11f916bc935dadefa53a75a35464913d70bc65b08fab5d51f0273acbb01b6813311cf00dc8dd155e2601e14ae64b76be9d94495964e477ccf16adf928b1ae4fdb3528f0a1c37fcdd02354622664cab1d813198b353810ba39c276ce4617d95d2465605568859062c230f11098da47ab2a635737f8b4c2114e90cbe748b4f5c27b45be43fe49d6e16d43221d4c05e1b077a85ccf9f2edc7a7b43cad2e203fe4f9c270598fe6c9f17790eb3005903905f05ee15ce4949fa0aaed572c3c4c663d2b49fbd04095d778ac7164ac13aec71c6428fb99fb3ac180213481a518d3653d50483602349e6a06b552e3f671cd87479942b009978b0120f0553c202e740057b34e858c1df6013edc42c054b7e7c1076c6e3db5ce08bade27dfc1a371fea3c07cc0a7b264043f1f95d5acdcd35204d17310285fde1acc23fd41692561f0fdb6df6cfbe1b1e899b470bd49d9247eee0ee53cd2bf95d99f17154faa43fc04095afebaca8eb95581c801764f0a8a2901607132465d489d3739f26caf64ff43fa0d605a8fc66acb240d0be0727f6c2a3fd46aca635cdcea80246863fd85fc93e4d65c9b6c3fe0f7395160dd3ed05e70e6c9236209bdaae1653f7c1fef40488a114504ea56cc8d3444e6d9122dab5349ce894114a0bb2891e67bac23130c2c665d540d269cad3b2660c340b29fd77d762e07be0475b65c2ac57048b20691217df90100ed8707eb3fa7a6a5bc129013087f52f419ce6b1bef4480dc2dbbc69b330f54ea3f5e5170b303f10be328686555f5e3827a0ac7aea80c950ab255e5f49383596e7ef5b3dac59462a244889927d592b18dcd0c41210333d9e376d2dbeeb09ab6faa9a88c6d4244f903fb33518c3ffc4166cf5ace08acbc212de4db4219fbb5f2da878ca50716b6385cec53d3174ecfb0d0ee0db08025de55686cecb77ae6353416446d360fc2b5e961ca9536dc6c37c8ced555ac714acaa180847e7efe4b6bafcfab28be170dfa4f12e105cfffce22f94861a24b0e3ec9ae9a8f6eb5296f892cd6b4eb2ce581039b9ca5288ec8c64c1d86401d179e9469ad6657f8d080828488bd9c3def9314cfea7fbcd4f153bc6c63420f6bdfa9212340c74b632533e35361035e25a238e387fd495ede99cda398290a3bb34aa298679cea11649684f9366fa6d8b1397302caa1d11d867218923fc027b5771faa3b0f04","amount":40000000000000,"withdrawal_credentials":"0x00db4384366cb711b917085701123e6baf0fe624b315249663f78711f11b6682","deposit_data_root":"0x4c4de873325bc770351ac146dc23e426b7ed8d19c78b4552fbf1eb7732450ca6","signature":"0x8493eab4a73acb860a8b5d15066ca013b684fa7f82e7f53e798065af85bd172c43248d9063b49feb148eddc5ce9ff0bf17abcb4f4d3c119ffe57d0798b716f041b9ba5e1911aba976c5d6bcab95eb42714299744b32a873b5f3828b3dd1ea200e9a88c803ba94748b7efec4204f3167c8be7d686a25a581716d197d696ba5546cc26f38ccd3c8a9a17ae3b4f8113859f77d6b0cb6dac3c5a836774557eb7c182eccb420309ab3feaa288b4781bac5249631f7e115ae06b822012983aaf0a3f50f9371dbddbf7f59780ad9db13424790bacc09cabb02d313bc07cb3758858146749d5cc0348392e44c66229b689988183ee3da6fde2bbbbec60450b14366945db24db61ae8e8ce17c2f0867d79f660a8a524d22cbf19302bb9bfa2b691e87059fc1c681e526eb2b0f36398b1c51e77f0275b7c0a97424f83ff2b09e295643e6a28c39783a0f3b2ebea3bcae2e07427e7d6e7331b9aad1cae9bfa4b2a2010646fbfac4b1d17c40c1a573ec9284bcfa143803c17977e48f1475b89d88f0f82ccab34a3d5c0f2d6d2bf00ac1120b31c869c9fd6d9f761a5a0560d9669118b4bb6cd416962df74c99e85d18230c934bafc30e4cee81196e5c39f2de21e8865c348d8b3246027995e511f4d39080a9a7125792c5c7fd38696711778c67309cf63773b5ab548e7b6ca368c58d4c6bdcf3d7334e916f63c07d5fc0e697553c8975993d0794211cebb30430105322e79f3748ccce86d43dc9852015d72aa5903f46cb14d2988343353dcb37cbe7f78307e0b4701075819e9df9ac2fcccfa6b645718859e94ce85e15a29d895556b3f319bbb238c19c6c4a3f73e63b785648d90ca1705fa1a3b270ab746b0ff303d766211551af36c07e016bbb289e98022ca34c408f4efbeae43f296a9b2d4d6fbfadd96da8f0f2312fffeb251213f8b148ec179ad6bd11957ec272fcb3ea30a8cbfec52f13ab237faa8e6622e9919a744bc4f53cb86bb1b6ee75b0eac55bf293cf90aa8ca7edcb416838090d5384f856189747529310e76f1954b9d4389937b46a0f3c7841edcb32b0e434a9692e4196d0896e74e363e9021ca69a83a522631ba201ec43662a406a4935a1731eda0365fcb463c7f37d8b1c377bdfd020bc32dfd1588930fe19c1d1bb4187f93b704bda56bfe92cf624a622db1acd811d4e522b9d9e6bbfbb9be5ad0c1a7a654216328a30b0e6c17db70e0b2fe3f6913196a749607e12dc0b0ece554d7cd683f555b993d6cad6fb5f48f3140bf5a02680a784daeacbcdc8f431ad6529bc3cc7e3a5b151e081d85d50337fdea7a59cc3c9f7e09705ad15eccc1c5dade5ee38d84a60d2bf263174e889fd95dcf768c536c44d5deea3dc2727d4dfd1300b110d78f03519b44d34aed701d1004d89af7d6aef453103092604e5a465b742ff43a7e6aa77a7d9c3b7e7a19c5df8b210825c3760bbd2a4f95696328c5797d168c6e6e13b2b98c73ff6bebd357794dd3d5baaf334daf2a3af3ade1499141ec9f97a1f08940ba6ba5813d7b71b9bb09a5c697dab8e960e485ac41ead75d218e92aeba79d41af85db9c2403a3eb9cf947374d09ddcfe77e73d9e096a86d43e4d52ac47e8dfcaa9c96da78665f1639488420172a1637ea738cb2fccacfd54618563a65aa3f9729786b8cdb8b1a1a18a42e002b01722cc8df616a3bd9af8d282f851aa572a5b31a424e3f0881a974b0228c4069a290b897a2cd2d2c83bb4d40c19d9a254ee2dce7b098636b0406241c4a6d7c451fb3ded0cd72ef81f0c6bbcb2ac214fc6c4336899a98982e75aecd68ba04d4dfc404ac705591a9500f2bd7038a15c2510d4596c7184d08f080ccd548ce1a253201587733cf93f19b395fa7dd9b0fb720a5517515d2a7a06da574f5dc0e6d842e2ae379f4520eb35c1c40f0a7a065c22518e176b0fa54209b858802d62dc82bc66800b002049f89337f3bfcef341cdb25811af4baeb7c859d5ba8168effb9137238319b985004cb9593e02797267ab602c5d88cf392dab05683b9b43d23af23e3a41786d281673a206eff8b17bbd03c9a0a66ede315eb17764e6d4d39928e1f7f793a7c204eda132db2f36ec81f531e9dae26bad3f1db659d7eb5120c9a9438b2cbc39dcc7407fb7d7baad9a9cee0457f49d3bbd0fb4829e1cb47592bbcfaa15bb1879a39ea20466e65b6aa67b28c616aaa8a840e55f641510699b52ad1da133643dc19b1952219c85ae5e612b00e385f86087fbedd87221fbe2a2354c15ec4a5bbc27c2cf90e811bb4c6605f209b3023cf220469c0948f870c8b46f6cc70425efcf4797a51e3bf5d4eb16552ba0342217560e22b9feddfe110c42008ebaa6aeccdd858da9c3edb26dd4b15c0d49402384e276764309ace1690a85f5e84bc5ddff58535bc12c3bae792535840c1f409d36ab651ffad969843ffb561afbc56b3dcb447efc9608381acb65f6645426d5aff50b1f1c352e56b717a9e8d81fe22327dc1a17c84b10fc59030b00a9ea7581994ed66685637e23aeac525ce7c5212626172bac1079652176d74cdb1cd0ee0bc9591cb6ccf46f6f3a9d84e72e3d7364debcbe2bdd952bd3e375b6fceba2f6161279ff4fa8e81ad19e503199c3a2da7730baef398bd8982865d08814c99c3ae3d0070c23c10d23621e6b2902d6de4cbe436ed00bfc22a9e2e0402af41bfdf92f9e40765096384f9cd2098fe061d1e5ae31d54549537d5fcd0ff1f183885a03c92b2a7ab16a4546057fd4b96e52a1dcb1e6acf61b18d9f4e43a43939cdc84c7cc68e98570a85ab086739a98a86064153bb2bdaa2903f54db5b13f6e0568d0ae24b5396383f866e80f9c24a88fca66bdd344a9cf8c491d5742d1015d99ab74a4736c140101481aab81ba11a1953bec6b5bf8d4e8ef47199aee427cf753a216da781b1d914d2bbebba2b66bbfa5a0f202ea083f69746a56dce2fdfc11e4ccc1e72f750985e31c5a4b95fd2c76ab2e7baabc91201dbe133ed906d5fbe36c89fa758dfcaebbafa8fa6d3c18289151b468e82f350b78a063ac8bc176d39e416fce31b6cbe4de364ee3ce01a65e8bcedd653ab526320c4bb0fac087f9e5434d0076848a1fc62e54a5988b90ba6acf3f96e9610d7d189f753640101f522fd1d0b54d6fa5d1ddc74ebf58cdec830d9f46f2c68a4499dec9e3e2f7938b3b524df814bd49c4116eaa8ea2a3137b378a77c1797bc07d7f399a9f1bf9fbbc732891e70d0da26a3999c280c725fed63c529d701b2606635839a70104e315b546e98181fcd8b0b08f7066e8bdcc7113dfa88678ee0f71e5827392d20a7e4ba729931ccf101500d5afb0b3f0568ba56618714a2ca1bda45078e00658cbd49a6f5cf1848beca027eef796f88e33f7e390773ec860b5c6ad78eed0be24f6a0ceac15973076f3e56643f6f1da76a1cca60a7b70a96eb2f1451fb0db518f17d2d8dbadcb60a3576e1f644d025297ac562f293c5ac30cf3b74366685a603f0b8356138ce75d41147bf1a7cd42321575a569cbc74fb3265cefb4e3029500258967fc3a42e87638109470a0f75e0f8d29a519577ed1f079a7a4a067ea8d878dbdefdd6e088b1ddd37fdea063dfee83d868aa8c39f57a649c00054196a265dd3b69256c6852bd4f73e49a212c2f608ed6708342ea1770669f86f3e800fdca53e8aba17cd56c2467314729ba8358eecb87920b07c72c75b9a6ef438ce46893fa0a80deecb241f056c81f41c4d59f6440cb34f57d087933c0be4952f2d3d9331a7fd14ee66b5c683055983fc2ce0196601fa17e9e6463f730bc47738a0dc15fc58e6eb7429f6a0bfd911775bbce3e3e86699539cc69ed33af44cf02116696d39a3b953970a83d4b1934860a23eafec034c47ba18811c6ad1830442ac0d0206b5a9338605dbf6fde987e41d76a284a0c86e10d1fea0a48dff1e654e7f4b1a2dfab6bc72296ffb22d9a26cf4fc1bc2d9e06bcb7920f6cdbe8f4980ec42d1e5eb990ca3bc65107e328eb8d994d13790e41d2779f0d75b7150161632c7446850f3c14ba72c6553f243bb929ba9fcc12f19cb4f0da95f72d95aac65e4d59d439a572798bc3cc33f918ad2dea268d744420f4c4e56fa756efaec89e660091a1d608e922518fe93dad6c848698859829b90f78b95b925dce2d090a4a5090a38e2599a373fd86efed4aced6d24f7f2d5b8f71f9f922e7ea0f983c2acecb2ad583d44918d4b8259a97dc9bc35d82685e32b8cd7348074da8d83c4c64249b53e9456f23fd99fcdbf3d1818bdf97b0aab15e4c1a221a27ba5b6323f3859408670cbe219c1ccbe44e7a98308ec267fc310a9c2c36672f645771fc1fd78f2cc41b9e46227b5875709ae344a4b3bb33696d0dd95a7397c8301483b3fcfeaebc80ad0e9a749d24bb04bd26b1c3e88367664eaf82be65135152dec381d87c8139ca87b63e25eb444952585396ce2521807e3f0f0128f7746b095978b8cf6441ab307de9138db4224bd692d7cdc9bf7b25b3cc302864a5011bd993d10bfc9e6980e75986946e9a150b773e4f448172e5160125f428387be112ac7de887a8039f46da876814590af03fa14efa4d007756232e4648944a41b94bd51966ec17b85baf944ffc00a8ca55e65dd0aefe729d42fbb5a65161781e512cdf095c12d446bf9fd7dccd49919d2cdc11b161949fab934ae16a0c316e854f5a8e136d4be10604de306f533ef56d0b50e25ede05374f3273e2aa4cb2fb0bf3bcf3369f61780456dcc5af36faddf2124fcd7565a0052317d10b3e0e15453e736e6bdc31c03385eebcf7da5beff87d5a3cba22c1b7e85929bc132f8193cfaae175f0d7840b618527a0a60fdcf465351f6ec243f191b423915b6674b40ae6d5b1e825c44b061175f3f873ab71c7336b474f18ef7397750256d064977399606cf5548a973453e24a6e60001fc1d4455d8194119799b8c7f2ea4724baf6077f5ad661f04cf3bbbaa37b872e55da09c40ff3c7bc3ab0dd3d2e0762316591ac1eef925ade85f59cea998c13913d2593d4b209516e6d3108b33c6c33b677378192456b726460821aeffa710d615a57c9d2a53a99a3310d70f216a54bcf5e461633dcbd6903943af8bb530779675e87091006c6035f2cf8b64712f68adbfb41881b349e8e9a0399b8d93bb62d300328b1e2c5b4a23ff8604d68a35b3c995d8b18c558fbeba45354af5484139e0f38975cc95f35bb6827f48ea8b52d4efbb08e3a39eaaeece2a6825cef0d21ebf3c764ebe73530244184342e365f5ab51d9a70e32b2fee5a78c521b52119e3a72ca9f16f2d8772fd47b6288fcc2288962d073eb024fed62038fea023b93a428b0cea518bd3cbec6145cffb3faf6c084366357aa7f2846cad16246e062f3cc5641027576f5926cd7554ef954b94d5fdcd2942b492f4f6b9538c42dc41afeeeb71a0adb6a79d9b178369df06c6242661abdb0ae89df60224853c13fa7a4832c827ed4b617fde32da248da418bd5e8e804b93ce370f02dd71c0c572ec4158b2df49c64121a51575cee336e81675c27b74a0aa642f0f52634cb39ddf43826066fab3eb267b45aa5abe252a73c3f6d589578f1e86847eafb03bbeda1b19701176e66574986141eb620fabcaedb844d45fab2aeff557472676b951587d16a934d536491f44de17508b683907292f5524cfad0bb0f186a14795347942dbdf81363119c7999dcf88743d068494f741aadfede77d25c3c5e11c9e8d5dad724d21c14ec9898c2c087ea2ac8e9079afa0c1a17fdf48632ec010843ee9b770a076589be43ce74d41c5d3547e99c58873fca36576566fca5a0c0abee0fd968843de6d2a8f1195ddfd588c9bb5daecdd53689fb1f878c7a0faad6e0868e1678f1f1bdd27c03a9e836b196295fae95bfd3ce014c1e2b6c480fa0a1c894051ccdaf19e95348ce77b12f4ecd158c8f74ea5e5f6f6072e1bc7d27f09f8651107839599fa1da359c7a0a52a259841c5e623a1d4a2903400e4078927924bfb4ac5c3a3b35026e4c9d3b17ddcd5158ea6ca832f3d077591c050e3dfab4e76220c7071c721e5a8cca7fb5a7219af9c04b8b162d9f6ad846cc3472ee3b14ddf9a97e3bdae958b7c4ab6c7ed14ca8494ecbcd962c09a229aab47af0f104eef97d3e689a62beed8526b84815e97133aa17426639f37d1809d46b2c740664cb617b238079323c295963a97d5ceec6527cff2727117e84fa96d1d816178860091bcbaf5907aee548acc740529a3803a29f74e454dec865a0a0da7f305f85eae78496e6e9c92679bc69df303d235cb58625459b2a37b3bc237f107dd736fac80ea7fec094b0e1cc8c4b856b52dde3776e6dab9323347b87d82a5f5d660f5d3139a2405243cbcfa3fcf50d19b85aa62d3396469d4f3213f526696baec606e86d30720537db2cde42141a7a90e25548a91d30440515d6fe3272d767ce40000000000000000000000000000000000000000000000000000000000000000040b0f161a20262b","message_root":"0x3473bf66b9448f0ef5ba3a22f10bbf758f2823926d98f69467c82fb4e47b5026","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x09e3919001bfb57cb3d947920c54e7abf1743b9b35dbc0299a6fc891986c9f36969942f3851f010ebbed7acf96567fd24faa278b3cb648933b2cc75b9d35dec3a7814a0101d8b5d272b1c40979a881a2cccda8b72a660e94815fcc1c4791ed5b78ae57a91cc6f6417a45f18aa68fcfa50894978c9e222b4743a21e51a97433f11fe46f3512189fef4cc03f3cff42e584d457a087cb2d955f185d83e0adafcf0d2ea8edb6788dc1e44f89562cc16d1225442ff7cb4bb3459ed8f5ed028a888f60ad02874d52485ff4e81177f8af3d96eb92d5476158a4ce4eacdf3f76e1f8c847438922077c6074e801e9e4432ab442715a15c32721a2e93b0202b3eac41a3fddbab4ada164317075bf1bc124c880ca02adc1ec592eaa097149c674fbc0e4db3778e8a1be66be5609d15baf20182f7fc64fe1b4625342032611079c88fd92ec54e23cd10b44b44c490bec5a913b6bd02e9173c0efa53df0ba1b88db97f275626878847f48e94309d713bfef6c42f0815d1ae295e884b1bf4fcd4688e12f0fdb49fbdcbc4eebbfb6e22af4d74c54254ca79e341b71641d33f9f7554881a6ef1df5ab7f5ebdffbbd20cf0c9ebaa3123c2dc293d03568cb9635440f9879fa8635ebe6c7867554eddc3851257654005208716e6bb2741dcbb1ac0b87db63644e7169a7931e1e8eea36507af024c57b9291178b92963a4a4faed144d1ad63b09c3bd05a566f73cad1c8c3c65ddf45f3625c77d5724520373a59f54d8cfa4bbe75a9a29d9460a8e6df5b08b4215edd79d4b99b36b0bfc4e99a8c83ebbb5b713e5008921a705d846f6649fe432929264e440918f3c823d8173f4490a9d34c8efa841b07a6da8231fc0499526e175f162513f2f8e929c4cf96b303f4863a940db263df485ec0cd829854bfe9fbf0b758880113c904be40abe7770f3773fa67b993849a86491cecea98a3c55298bc8c0365da09df5e03767dec5ac5074853b34a19c899bd79c2bff48ed170baf40a8a1f68b9e96cbb7e779a110fd0356b26e2ce430196ffb686cf804371277ddb5e35372ed4123cdb16214f8a814e44e3742f43f06298f644e67f0586db53c02af1f0c74252a3baa072675f7ffb59ebbac68f7b488f4e907686d7ac9f79aeaf6c721577eade982e48d28cb39549060f84a44817c4236fa23fc77a3aec71db1f8f5205a9f8a90fc005a9ceca36558bf01fdebb4c6e27ebe7f7dbb963e157599d7aa2020f52625de2acddd2d330f8bc4d2245ddb882e8600dd5e0723073b4084d98c5c923cf0c48bcf0f750d1b6d8142d55a64fad63f7610d9c09924f15dba4a49722252dc261b8af2e27db672a001fea99e893386ccb4a8d46d7475e5c8bc44eb8236a84473b21ee379a50beda3f5bf0c4998be0bd7092a075c75aee8770cfa6f4ce0f8a287deb3c0a7dea715343aad26ae8cca99870c3c651a90d57a75bc72a4cfe4333383c8e491f5706c85cd92733c9045eeede4ea0a9ef6f59aaca28ab9d17b8a477a02144c4b631be3d247200ebd1bc307538dcb55da4d0fa01539b74a9f6962e077e2e3a84aa2ac16a4f121c169a7f7e584088ca9e24e9f66239270f3f6e73e69ae4ef870a7d5f5494374c639da077a1502b5247c7ef82e1591bec5d2f8c0cc4945332b130ce5f86786092ae1a75e2da777464ca1a449b6500f02db966d1aeb6048a56d2be9c6a7aed0a50b17159894f25c381c85011e2345eb5d84e49aa89dd9f23f7c2aa2d54710ddef8d4d9d8cfe1bb4e040f3fc4170a1e757c70560aa80ef26c39337cc1d3823b6dee75f8deb46e09838b60612824ae1df412128be86e7f497808f809dbb06c8013711e9a8b01627ce3b43bdada21c2a577c31f451311ff01963618753d9495cd6c074e2fb83a5a7b9bd27da6012a7d17d16058d25a02a63acee33585050c1ae063c2df2d1d0f2f7a28711f06cb24286badc1903015cf037ef126401e17e4c40068cc5b97fcca9a6c389755a8bb9daadbc1fec6b94fae103af284b3b25946c75223e1678fae8cf173a11f5199e7a9ebe3fe02dd2f285ce89d5bb54468b7e4df092cbd33d9e290f3b999cc331ebff56c9ac1b0692968e67605d7b96f0ff4c4a0fc4258aafe5f3c1984be863c63a4fa9b51390c07a333e5c2f82bbcd69fb806430cb243e46bbd2beaeae209a7013ee5bf4136550109e624cd4c943e47b62b129f4f0f48f7af4efd3eb73a8e56d97cc1cf80e00c40aaef0ce9a559927abf85beb0c229413742294ce3c5dbe84adb60329bb2c938b3639f3703195907e4093ba6f7a2eed294adcedc60821052f56854a7fe99ae9f493655dd43bf9048a97b0f636897614f2575fd9a5f3e6acf25ef5e1b5e31c80b507131263d01a5333587899e14e2d28611df30bd5b2c3e31085e4c1ba4b50591a8ad212f877b18f6e6f97f34388dd1449e500d74c90c8cd7a67e4b3f5b7921365c616aa92372efcc5906057fb5e8f3411b35d2b2054f3022a8364a93fea34ac33203abb1e43b2b22518bf39193a2c9c8df05fa94c8d036bffedeab86ae8472ac988a43cde7ce8471e3b9ba7b60201d3a925cdd30e22553b046ca934842d5fe84acc86337bbfbf89f2ca9f0dd099306de8935d92464e7a614ff807961e77fe618b89c1e43f1745cc5bb9d9fb525fdc12a4a266a1c761795e4786b256620c6ed8435077882774cbffea5d793062c3b76969165ec17b288577001a90de143b03a7db2d25d47ff8e9802d05788d820462ac9b23fb0ad830ad13eb2a20afa5047a9e3c913326c8fba3ae77df2e6380598bd6b137fd4b139db1832cdabb7e41211bd5bf1dcc8c5e913fa8c7cf21459f90a49711ee5377e8db09bbdc8d87ca64c62a2d53e92b5676ad381896e1b8858043938646d74966cf0a2b650af49cd038bfd56eaf073066bdef4ae9a9dc4ab32ec50b00a8a90d806ceb9917f9138b9b65b6ef70f17635cc090288eb24749c72621429df53bcb1d7b0314cf25c3c16d08193eb319d8d11c40ac4f6a41b08b592e068e2216e4aff789b09417488ed194e9454bdd8fec837847f13ec4212e2c4e2f10f4eac6e27f7d5661e160d3b61bc08a4df692289524e559cc26eb2ec67dd75e4813b8281c82f1f567390aa22ca8d8a5b4fd81785c5f18db7449b6828c4ee33bb9909cf9b343fbd73ddacd4a8a79056640f38c51b5f2252a8e2e15e475e15f8a2c45e9650422e318bd4259734a9b9e13a9d1f84d44e8cfc16de5a344f436e37d762b017b680290b96bd54717e66d53edf40c7da1f1ab51799aa1d4ac6c5c22e802d289ca276e3c6ab6396e1f59cbd1e8ec3adc1dbc7368acd2422d66922ac7d1b52367f50f0d775d8db454de5976ce30889e62bc8b2eead9499b6e71dc6df1b6a001860b1c983a540227153925818221ad7367d6e330c6dc8841f251c67306500bc91510ba5057ac20c344fa92ab138c19981d47459de9033fd80be899b67cc1ce2cb1c0306057f6f93f281da62fc418f99ab96de6e0b1e228776b7c921df5e19eebfe8b5ff844a7dc76b267e59dc6893e1dd35fb1a15d31046e6e6cec57545ca2ed9c6d21d8595079dda44a3fa9ac44fa3080d4cf865ab6c99823054a370f9dee114e0a37a30c23b9bfc076da27d2fd9cc53ff9c1c20b14e94030d1ebdf52f01cea1bac97f4c548ef629090b180b","amount":40000000000000,"withdrawal_credentials":"0x00d054a745bd640335ab0cb08a104318a2860a06912f6eff370aa53bad4b0530","deposit_data_root":"0x5c952c625dfd0f227eb37ef29d688a44b8e5bb1c3519df4c26eddc5ff3c1e189","signature":"0x12cd7b9045588e7782840ec6f183801bd5a4a53d379cb5f974d0f1573b80cf75f0200dac3b4d936d41b79364f70640ca9a3818a58b631309a654e11bd2100f1fe63b2f2b125ff33f117a80eb75c534345d0170dbf1814a13861b79e786624f635c235e78ec171311c605aee42b28075d202fef69e4b13a02584289764bb04b2032ff888f55cf1ae7c5dac93ab6ecc50b0b505daf9cee09c24f0ceff2063ff80080386c8eb764278e1a8372e118a8267c63c467baeda7ce52b4c4322bca96613c1d6656ea06584a0b252861941e16fae9303dc12062d83ed4b7b6a35032eea1e41e8f9edeb70d3857c0ea523ca536a27c0045dd1fa5d50ba0952de7cc0a79b664b7d84bfbfc01f0266c45241d81a79215d9125ffff175cce771f471f33fab184441f1433a3da1bf6e5fbb95f38ea40746789b4f6846bb66960944bc58d273997fdcfd35815af4a9229fe11ba85e7794d9b605a408c3c1de164207b28aa240e7b3ca4b1c484143f416a2f67bde17447c438d3ef2ae11cd8d30e171ebec6f627d7f4df52343dbf259af5a4c3de081356c00f0aeb12200ad77dd73f735560d3e66ad4b226c587bb41b4681185ac54ac3a046d5f0806d3157b9f272070cb81476a6d4a234045f531e45cb7b983133cc9e1d13f4cca57155d823084bd9f78728e20767e679e452955f2076274fd2bcaa9928cbd3420350ded055c3a225db2c1aaaf15fea6a54166f1f4917d13d95aa9fca285e9e75b2fc156b84edb83a472207d68c5d1e802398ff59c8590e9eb5f765b8cd1c1bcfbee27e26adaadda537912ae07ceaf6ebdc673ae77099e1095a2c69eac805951c8d156c571a5ef6236811b29c4be60dada6fcb876bdcaf68596233c71b5ed59deb8591fb4d7b29743428949f867c96503d05a1bc39a33af5630c65aa0a2eb64533e4f23aee79a2fd21f101b622580b9adff72d068fc70d95c69fe6403262e1343bd0bd0a6aadf841de33c8c1c9b43789c8cce2552ae2fb78776428979278ae62c65f0b787129a682c56dbe7f1f5da32831cb7b95b8118611fa26cf9e7789f2505718486d467fcf75df16ac389b615a3895f2cff2af917ec22536df0e2bfc5f710acc40dd9145f223a1f395457916764149a80bfa188e3aaf0c55ad55d7b343743a5281e3fc25997f0cd5d5e644ec1eba5a5b52b5a9bc5061e4b0a8f6a3234b1c09d5cf89beb66dcaad315e2892f6850636cf91234793cf399df7e88334fdd462275cc9bd1ff0a7e1af7d6757549309a02a625127af0b90b7a043adb60feb223d5b50fb3fdfde405c79241e3889b230510039d969a7167658b16591b38ed8e7e056758a691b8de5a13ecde73d171d90a607072e61bcb129477f04296593dd40ada789847150e7eac767ed90c7b419f0d585fbfab719edf49c4bafc682a191e322dedb425c0ca034b1ad8839ce502c09d4e04d299eec8ef4a0e47be4f85726ccafcfe9b4eff2926d96dd921cb6b204cba83dd2723a6020d3efa8b51fe808196ce707fb8cfac88beb689983f280f9a4e5bb95eebd797ba1dcb14ae10c79f136f1b9fae3241b75048b3ca0258e6bc5ac6744ba9e4295c27e076e6ad3d89b71c9b4ba977b98675c4db09dbc0e77e4e5970041bca654698f7f68952bf1d8e7afdb369c4bc9a75f9037cc7457731c3f1702f61fac60a48e87c8e066c7dec4db772a52a700eb4906f9bbb9b37a17f3057490dd7e28753861ccdcb64475ac13849f974f1849b9f550cf7ab5d1a877a18e6331b1bce856de838f0fd2d5d3280eeb14b9bb4539d736a78344275a594705575f04cefe10b5e86d35153f5236b2fb155168b016779eb3ddbf3d4abc8689a8a8348f777f290c93b21faef36dc288a086a1e1a70191f386d4b694e6ee5b4c5445a384a40c5eaef36a583b98a37fd650da496613a190c2723891946bde7db4270d2394ed7da08423bc236a3f6f483e1adc9deae7f6f51ce5d6a03e0ba9b38660c8ca976ee14100598587f0e342200b6fbe6ac30e57ec07ac0c570283d7990d252b7f8d8459f4004d0c81bdece3a83adea75b186b17db57f8ac95260fb92581b0c32cf88220252483c7d4e6c6ec05b1647a03ab75cf230a0a04b00143950e70aa686a2ec243ed680f4afe59c882c4c9cdd7c7068383c87a18f51f2be8f7a7f9c10781b0fdc17df8c7565cb507f3bf34916bb95c4e7d439790a3f8b4c701184692d907b32780f296c9ed3f3870b11f3d0d8658b9b5b77c29b2a97ba45859374ab5f0c3aa79507902efad6006e9c8dbaeac14bbccf5420f7ca68861bd93f7b53d3eeccb821653a399fff9571e621a1055224cb0459ff962510058577214066ee13ae47543ac8b9cea207ff01bf89fd2a9ee58fcfa823eb5163ab21c4a9e43fcfe29c7763a090bb33876448c81228cf9a1397083d368c82a633a695399abab1a430ef752962340432ab38b039e62f1039e4c630727db034244c1403519ad9803d00293da6243264e6924261dbdfc34513baf81534b3c91f23d564de57ed3b038aabc3c04ef5b361a0bc4de847c09358097d3c9c2d3b09215f6da6d41cd68f3c88b1333a88513de3ab504bc0b29789f773ee7abd0e6f34681da4b9f48f9aa2a589e02f456174abc42e238b149e771cdd30bd8baf1831325f6331dc58f8717629a9d7eab1e868e61ed759dad21798a7991454671ed1cb163adecc7351848e38e63188f23193c85252e0bb536a0a938f786fc342661f5f0a0993f70a2b4781725a36332b008c10b613c7bf46347c6e9992e16c4cd24690b22a5a96ca6f4ff157c32979ce7ee09e1bb3a7a84a7aeb52f95877a47b78c369330a9efcd02ba44d90c062bfbb0d05002a521056e0206317dda5687e6b6771ddad6b1351a2368d346deae6ef7a89ad9ee196849b48eedbb30342d986ec91128d048eaf86b9ce73e9db4e3933e5129c906e491b21d8df456adb75e852dac4a80b57d8bc955c9100eb6219af234e9e31c7887a0ed503cbc303bfae5b1e0f8ce4ff30728ce7fcf8cfb3ded6190d1bbdfe15183b62da443b5a757e3ace546d984b25ab2409c338becf559de116b7224b6475cc10bcb388da36faab72cfbaca46f44e471d77695cd3a1d1e08e712ad8306f243f5a6e9995c1099cfff8f7112e2ca212dc77f34387b9ed114ac43123c375a319afa9b59c5fd70c0e479a205e328575021497daddf19ebe0840256c241a82454c4fd34d0881db696838cea01a346059674b0d00dbacbd1c5dbac6bd1dc17cda51c349a580c4991c29b573d4635bc714199658d7db4d3650b4dceebe83df17bf9128d07cacdc8ac07c94e6116f3aa54f0b8a887419698c291500693327339fcc34caeb95843b50afc0b5689668d8c72d06885cad08071cc83553af250fc7494528898ca00fe49bb34246ec536c6aa182acddac1564a104858f77c020a5b5ec4ebb824441145bd62a9d54e46bbb1f607ff12254ed90065e847c662d2f470b8e76982d5bab32c2a533ab09a8fe2e7c4d50a1e5ce581fbd96997d863add1d237ad6d531a33bdc46fe1683a8ecfe27a62d2ef911baee85f373e729bdc21aebb39cb99a7fcb25ea39862723ee546844ad98892a963f9f14d17a11332c47e4981ccc49543d2397799cc13fdd3cdefe33142c3923813ebd6df7f6c17bf43815355d4a7557b1e07263a392f94ea92b86c9285ce75b650780e52876682b3eb7d412f91d3f52321032339ceeb2556a91d86dd2c3a37fe659f8058ea1fe5ec6a8604956c97966cf4b373b9c5f05cf5f851a02b75c9d3b7eeb50d70b0b24b41a22dde7d0dd76270b36c91a618c3d134817a204c09bb7cb172fcda0333c37191c4c9a11560776904b193df8b083a32d87825ca58434e261ea5bbc060b6e83503d44249347d56462e818e721f11f46cf9d570b9213afcc7e9bd9809ac7b33630f1ded1aabcb4b2e42405bd656426884e9c1964d529c16c6dd882fb6399ce92c76b6eed2e6938e24e6354c353534be303044db470276cc9b0f33290619dab564c5ef164b1e82626956b5fa6d5cb51f81a0dada0a6a1db6d84cefcad62c0c6a886c83c2d91eaf2966e3b434af6830f6892fba9a5af5e3b65d15434af868f12ff839fb1f8e347903910ae0d9c3e0999a100c32a446ad7e44e5ca02e15e87bcfc4846f96c6b17e61775e6535b40b40acee0a6285c8acf92a3e39f78b2464dee59e12c92ddbf9f9dc5df566a1398ac31601e9b9c4ba3c86c8317b2b02bb4f22d243b22c300a2d5aa94900b1d326ec639282853a77ee2f43951234f3b07c096eeae35378eac5e12edcd845680934d67ce75754f4f86a7c30a6f79d034772f6a28630f3495669649a44a4d7027abcacf05cbd275bd4507713ad51cb1c31491bd9518d6fe36fa246a46e9485c30c060d9442d15281dab1390fcd2bb2bac7edef3c67157cc7ecb752ff9495da66e47a05041dd8e931c9b4eb74ce280442513bda6ed7317afa595e7ef668c62e3c5662accf998ac7aa119c265b64eac4876699bb8ebb600d7b7bd1fe2ccd9ed1f5e283484731b9ac20ade6a8ff6c291efc5660bbc6930de9a120bfaea4ae272d2311e9c5e3bc78d8fdf4f37033b141c34dccd4fb7360e2c33961227485fa51af5dec81875d58ed11cc6de16e23f79d3a068284386151a8d51f4b683bdf1dee09600d135945b2a1500b0592475ff3a4610e0f3f68037409854d35e43a65f8b42e5a4c96cbe8fd92b4d94dbe837c79f3356727ecf18a0c959c9a3e45fd4d12da842b4ee58db4de0e4b1324def9e95da344c3e2857033cd2e37b117d9d49e49bb405f5de8a6365f3717524007fa2d435c735f23c1dd92fc761a608d800c055a543986c1acc7e148e1c2d932b267e759a51e221a63eed752ad3f97403337d78f1de6a29791a0f02ca15a58e1e6d50739183c355504c16b459137104e8aa1d3dba41dceebe0caa46f92a5d655c9796553619277a78ae90cb0ea82d7fcfa9b340ddded828ba7d5f861c3a73d9e6d3c2aafe06a0ffdd960136b2cbcc03357da4842aac44ff1401fe3f536dd8dd3434ead5eb456aa18dd7a936c3567d5da7922f6434658416ae78cd0b81a9a8f6d0db0ac94ce67d7d9e53975926024a43494765931345e9536a46b07844fda47f88e8f627eecea120cd9c6bbcd7f32c7286415e6dddb445bda0f508f0800c31373e8cab34ddd5a10f8760638b0a5900ad0ea7056340629d3a53d8e5674d8564f4bc8ebea0d2745701e649ac376fb544054e412abdd6cb05a681288e80a0d589b3cbe6ee387e63be90100c36bce9256d78b89389c97bf3710895cd4b18ba859ec2b521438e4b5621b8da976417eefc29a117795efa7e5b6e05ce8a58fdd7df40ce362208ad808b6ad8f3478a3358afb868f3a9a13b4c27aefb87bbe4999dd02e21c7a58827f47a34aeac80cc63e187e1cd171408b615c9d2fff4b7ec97313b94e7b5b52d774e5679a0065bc00bfd93e5212b563119afec3935e1ad2dea7808d96c76b3a96a94c46936968ee83cc53e5cbace7df3fef77314c264f5d3b71c0d919c7fa1e530c144f8a98f4b290416360efe26729bf33239477744fcccae692f136aaaa5eb2d953b09988600752bfad09b94dcf9589a3328df13531ac5424134a9ad502715c7a2cd506880ad8b601f932309595480cf80a93b8d641b132593a4280cf9e02abc2a837c337d2e4142885bb8bbed03433c9fd26d91305f99cd200dd83a333d72256afaf3eab787f74a533e0b969f6cd17bf400419dd3e8c690cd6aea6a8bd1e067afc1b92dbfbec9f06d72ec2d3228f22919d45327c2e091d64731cfa422be86e39d15a2a3b7f33ba08076d3fbd88b93a7844c30fd0e73695f1339af4c815b2817ef05bed9b6bbdf375b76759523132f0d44f7751cb949cc1c264cc1330c057825182ef03685db311a5ecf2795e4e1f1a9106724e0fe5d542dff95fd38378455cc6614820f6f38d737e4fd742d73ffd43f951135f89a47a179598afaf50ab9faf6b6dfeabaf38d0d650d7785e77edf94667404ee812dd6ca264e173296bd39e1afd30ce3d4e4b3df6bac5d41eb8b6e4f75346a399d614a4f8971708b5c60e1125a7b6bbe2c5eb997fa9b220a389aefe7d48f3fffcd108b31efb64e66372a13936258167a6df6d4cb1a0a76111e271b813eeaeac72a672bd19ecbc6c7b4e95a6f6372a14f0409ef3fdf4235b0b9dd0dc9ca3e143522c08664323a8fcdbc68f8ee71b8e5d828b5102d97b4d980d610b9120f5f08a61d86d347468749f3ef59b6162e1a5f08f04857efb9add58712c725acce59630a445bb268ef0e26efb83fa956d03dcba18ea9a895d07fb507a4edf51a17ef7646cba1f6a230a5fd8190b7a4d5e3529d42373e86867a652848e7ec78979601c44232931454a5c6ec7e0f7fe02628aa6d7f71b2b38676f8183b6d3e623273a414999d3effd7ab2e6ff19585c7c81c9ebf9ff0f313f60bad1d8e11d235068707d96cef60000000000000000000b111b2428313942","message_root":"0x3d798553e44af0a6fdf1265f409b3281663cd45f18383a3a32306e684559977b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xaab8340e143527b389c3752706c4974a4d31ecae672336424c2e27e0228a4fc88722a7ebbf24030e1c109a14223e2395463b4e4618dbf88ee8b52f895c01da40318360342481dfef1a065dc6a3e11a8a833e1764d298e45de1b0be5213b7d6d022433e55e0b344f704b285830c289887a7c83f3f2265961e1598dfdbaac721641b6a2891b66d76a41abe71e0a5070258e9217b00560af2269515b7d9c848aeb1a32735ec65f418e283dd4b9a2198debdc59b9c3cd2101772ccd09a954299eb3a3b21b5b3eebe7581dc9187300e07fe06f0a9021b9da491b4637948e15a232398e5011d44a7ef59387b07e5bfa4d4bd95adae410f807cc7d02c65d00ddf3252a36336caf2a2e8176dc1806bcd4046f649c20ae37fe21b746bd42e36cfbfbd16c531a85bf16cf4b118fa63938bfff764b27dc5b6ab517a0b76fbe674748c10224bcf652ff13a27cd5573d9111fcda9638092e97319cee83cda3edb2dd5b6654b01dcaa6901a871d5a90cd91753221bb907f11ff3c8877416d7432d2dcaa073b238786828a6d609193d22f9ba70b13c69996880f87fb8f1da1658764d58619546fa22aac83d6508c6ff2770f2da21543d806c82086dd5ae4bd56662ed661197a9afb066924401a5b6f611397cbc56eebf04d4db8956cbd70d79e5b5e6cd4058c0455579b12f700e1690114b255a35937f2776d531ecd92eeec798f118ff40c6fd6dafcd12c6c8a58583254eaee907167e44400ceb15e47303bab48f8084930b9f37a33a7cc1994721901da8d428d17cef3394720e6a0a984e92e546ef93289a09b85be2aaf4e641a10ff8c39e68e4145ae58e7e7719ed57a56f09b5ac3576c4a3911fd43e9db46ba7b74112d912e9ce5b1d3d1fdb21e7b4a0ac544a8d38b3242342ec497de539eea74c24e8aad84bd19582d5091b19682a9a91f14483c830301150a7a534cb84f270c49ada0ac3b45b50d0bbd4f7dc67683ff76db7dca8a715f26c842b1906dbb5cd279c756a12765677c7f4fed73dc7e2181bda934998a5e846e6d4a05b68da3835b5a4c25695a2113eedec57f5bd9f899e234d72e228030f61f17fb5e87ce8222386433d58e06e329818c2beb5e84cd0b24c2d1172a4c85b56e86c4d1cf4a16dc62ed7cb835dbe746a5708737dbea797dcf5e00184c1bff0859e97b897047afd07442869fb9f01f36e6983f0d8e462cab78c2961ed07ca470642aa80c45c5be7b3816ca09fa8d257ac933d7c83212334f24d68703abd32764e9b6506f59c14616d7ddf61b1f7014710de00dfc59822fa74f968f5ffb0c68325200b09af3ff9ba02b0e26799635c5e5e7614548c3eae0470dad7cd3f86516c189a37a5aea8320379f387adb9f47b68774c1f4501053a8cada53b1a38e3c1059cc599ae31b079ed8af9795148ddb34d588892fb16de923ddcbcbc3d4efb476c0f7e13a641225ff55dae463834401dcdbbba33246c2d8154aa3a73babe0981b353e8975b1d32a5f9cc8578a28e213c7414b23b4305a8d3afd44764eed8f6fa8ca073920c02bd9c6941e91de092ff7cf7dd71854205eff0e73d8cb8f40e9a48f2bef9f1d7d83a96d5a8b571c619dc91fb2879252eec4e5c4c2b979cd0e4b951efaeee1ff22f99adbdb9ae7a23363dcb3447c39329d716f2c981e9187d9908958e3bbb3d3fb37b52febae1b38db49e7314b16148b452dc812290e6526503be4d750ce47ad03500f1deaf0cfc91c18cd4fd3c9592b924e71e628f15da21508a77d87f41cb25d8be0ef86b57dc3a72055c6886b3da7254956bdff0956d501c7c94a6a1cf0f25ab2c2643dc977c06efc815455119b90404b7eda2f7e53fadb32be35ebb5f85f816fb536946f8a0c34af66b456559a35de28c90ecb6ad8d1c253d42461f268c8f6244aa1b95e0893b484104b1a45a2a98517adcd5bc1de15a2963fbc9807ec54a19b6511318b3932b7bbfefafc140fbf7ac380f29cc432c7488c0057003b9702b105e82a18bb69a241cdaeaf674ea5bb137f589fb8bcd9f8bec236b33ea601e52ee71c6eb172d4bdd4e2adc4d587ae8c85b9df2b1a5dca40049806a9c4094432be6584c89b04120672dea7efdcd8a24ea15cbbc3aeec9485eaffa90b55e7d777ba4b5da6dbd1ee3eda6968a14c309c1e380fba85284b4ccab03ff1ad12310fbb4dac446518a0f812d546d3924bba91d4e2056a6838e08d4c74fc0bf441165d905d5ca0c0b593b15bb259e8e921b324071bd76281a9b9ba0d64e2bea67695506b3325271608257be8f867ad9ff61d2fbf928ed861e4c7ddb8dedb250d4efe4c17be3d8e2f784069d570006b3d2d00c9370cd76aa728f179667fad957d5a02a67cc8aee6d1634ae4c449d4eb766ac13bef360ad8e44f2c9e6c9a20c613daf52bcf9c376c0a82e2bb0c4b002b46562700ad536d9f974dd00e39a59d0a0ccd3c88aa440551bb0f637a9ae150acdb68a72ed60abc77be14e81ef3c6dc4fc4e0888c872307e537da64924518e291f6ded897c8fb20c160751c25462dd1e42e7d41cf31b002ec39c4f463bf877bbc23ffb2cb3fb839c6a4a023ddca8445b16dc4686961ec1180481897d0c6588ed631bb53adba3a3aad4de0545670069939f81f084f7d016c83d954b761f086ca3eaa4fd717447cf410e96246c737e8f318689b6c1ea85def96bea0f51676766518eb8a42deace0e2dca30c43b90b500edb49818383ceceaf2660447191de707f28409e464ab047d5d297bfd70f786ba2d1ce4c7c75e513874f19650e67e6c7fb6443c348c19e84077e4bbfbf0380f33ee17cc0411b72c53e083c6feae793c0cbcc11dc0f359a143618c2a8a3969bad42cf3a3ebb0fa43e80be68e343c93e8b4e6f2ce0bd4eca3b2617c792a10ffc2eb165572a44400aeb608e465bec076e7a53273f2529dd15b0968caca5b087147c7df1df86f34094fb687ea9dce5f98ad672624a360886e9c0cd2a1a449d882d25a9e1e7ea1aaa2327a5d0288d8c7fa08646bc39efa60fb9918be628c2a292459d7c7e41a78f7833d7633654dc41a0f2361b3a00a649f1d33d4e32028be7adf63b422e1966c99d1d4cdb9747a12f89f496eac265d8a413aa96bf7414e9e2a5efb33bac5edc37c9c7607ce0492d7baba4c4de639425b54cebc39c471665e94eeb61b91426b6a9d10c65a9bc5645bde9499757b5020d1b6362083f048a4d02e793b47fedb5832f70e403d8434d3e678349fceb317c4f0547b1412c0c5acecc45902165844197b4675ee71df6446d1d27a6cf984d429cc81d3e12da0ebba7c11fa93dc6f891a94016bf8193647dd13018cb8ea3eed03ff921161ca2e083ff262c83846a66ec351b4c3d10ed50e02779c23dac2db87a9309332ded8820f5a3287fb722fe600810ddc4104efd7e6055ccb9da8c17b5fda79d08e7072d6ce4ba198ec1094d2bd564bc8b2f27141e2043ad85e572e18eb684f19a2fe42504cfe89fe9b4d17ba8d9112de48a594abc39570e3ac051a2cdbb01cd073650361f31aaa93a1d3f783e51e9616fef0c84f61210e6aa993f8efb91c28f1020c17e448a8b9081cf1dead5d838fcb28502be55ac64c0f9df0b2e1714f5bf0be938a8258bdf69826ad16bf71282c3348a2eec304fc96601f06fdcf4283b5dbc17137b00f6715b200f7f1df1b0f747b","amount":40000000000000,"withdrawal_credentials":"0x00ad580a683aa6251b7448113b591bcaa6325f431cdcc5d7e0a2690ae49b0eca","deposit_data_root":"0x09bcc55aa71ae9c0fd4ad6fae442d8317d375e118918790df2a40267e6326ba5","signature":"0x6252c02169346590baad892679c76199ec9f4f5ed133f9bfdedd518848c30a81c53289adaacbe2c44d301e27d18a58dd4e825ae20a4dbc50aae94e3d7ddee87d7fb7896ee003ade131b9a17283fe5738df7ce83422e5c32f1fad7192e290b8bd932286f429a92f330df57d7869cbed96b07b3bfbfd65ac5e011e5ad681de34eaf9297b154d54010062f8ce48fa76431ea39c1fbad9c821f87a2c0922a6c67701181d28f37b3e423c1e486178101519d713cf2c27d8a6f277ca0facd656d18ca494043a89e345e405a561043466e9fffc35e75cb1796142951ad5c103a92972307120f620cb8002bee339156640e4a076249d556f89b0b4aab22285f7b42376d0b7d202117ee68b9b25995de5cd349051c050001897ede5185516f98487571c1b0d95a125484b7f53dddeb4943b2877f0408df37dce5d889cc8af5c50f3c1ee4c8c275f7451617560a902e4dd7ede84e743c11839c63dea07d6b73996919c8cc84c4a863bf907926996015aaf55ae89be48ed191dcb4a1c407a6d94532d281dd3de7509151764b77005f6d1e1eac29ee12086f55aa57d1f956c08af2674872b185f29cdf76259e1757d43a3c4b50620961e6a59eb67bb6cf607fd7aa93ce6d596f06f5fc2936fa256a979cbaa28383ea6d3cf7cbc48cf77635afd31a9ca7024ed2b18c94bdfd1067bf42bd425cb173f3a7b17352391b84cde6899fee9184fd82c96ae2a02c2d0eed90db29268c7d9264b26acd49de1282870e9e78e9c042d00f051a61e03574af1734cbcc8799aa3e5e4dc803cdb4c563802558b65e536fb1ffd4336c5f11ad7ba427f84e9091168e09f4d335eb772d2bbc18c65caa84635421f7f62014de0711af108bd31666798f5fbad87dc2992da9d79e89d9e818f725f025805cfcaf7226ecf0f01c7f9c43eea161c804e739b42a30dcf430e487287dfaa3bab3c7cb4dcfebf2ecf64241cbe840bfbf12f680fc9ca430c2b9f042f19940a68a659c706dbaa90a9a7aca8da1d5d8769903d0952a4ef909aa996c192d58485cc4fce3fca822e4dc2740f64e067bd9ec710b420e847bcc1fcfb43be722f9949bf8a984527ab2a9452c20d7743cf65bd209b78b587b2d77bb14f0585d9f7f8edfc69eb8420768b348a1fc0989139c0a945a469b8b10033959d1ecaeefcab94e364a2581d440dd3a06e071253666625203633bc1a8450f7ed123343db844925c23ce3b69905e0484addf6814b2fa22fab29ee8bb69f980c1b67615c3138742d53597be7be39306e0cf472753127d32e883027c2a0d70f2db0263e77f016430cea7ef8059965878ccfbc38b0c4c3a85501586a1dd14f9d532f96861466a63902b365bc29db487c28a8a263ca99076acf7ef7d7e4d0af0e07057ed57f12993e078c8c68f1b9340bb03292b7518e91f5aab5c204b8a424340697e1aa53d4f220563b16d962edb706ff40e25020e4b6a00f75a84bd918653239b7d5132719facad7bbea04804b916e8b5eb9e6062b1ff057ccfdce1e5045cffcc454906e36585eec14d1930b838d2f9cdfe53e3d3d9cb3aa5bc1951b7854de34bf744e163a0e93317fff932d5fbc1af63ced82d18444086312dd20ef74e788b59d9188ce4da0c4a6bf52ba1026ab9518b2be1881458951f90faaebdafa151f1c9ae054c37406386fd270d06382743e0ed3c507c6ffdeb52bcbf59f122c04d22abb4514a2ad7bcc47f4871bf330d7ac63df8450e35d60c328dd694db12ebcd68bdba0951f45241d0345822c2e67adddec8a7ce22f2edd6ea3f9e96ccb65dce8d8fe6b4bc13b6f5bd6d2ec224ef64bc43ee715a214ae86599adae9a80875f09c32d35d12031ea3a8f78e12a8c81ac8ae67864f99f3c9719007434e5ad7adbc344c9a1af1b228d7c6c45c67e9aeeec04fe2e456e290166080358ac09375fb6c7a0397cb14fd8ddc0065df7434c5dc13c32faa759212a514387419ce583352a2c4c7c63a9aa5aff29634d901eb5a5ad5350160e76343fafd84c97b44a19ee2a72e6925fb14b17d78d17dd9c07e079020d2fd10df993de0672424ba21758dc18c313ca623c259611fffb1198b204e2d70783474b8c380d3df84bb4bf0597ffb1402666b4720755620fff7ccaf68737e57620e1c4734e1dcb04dcc0cad04767683293ccf3dc8185731351c50cee35f72541e53ddd05a48441b8053aad51f15b9a8b1fe1664b3aa7c750f76a7a7e37e9e711bf72fff362a5c9ed0ed03c8639f6c6e63eca5bf99a3b7de54be1fc6918c72b7820b43a0829290c656ab919aaee968f6298adc73e01b21e420cc75c9923ab7318b5c0d98f85e8d98d73f5fcd3678cf356e87cd8b204df19f2232ea706f3e9a41c22c5bd059c2049bd8f7054424e184b3aa53ac54c06523b40cb297e2b8c5c2c43ffa2bc518d91c80c23bad4dccddf8d170e76c073472f80ae68498d714d2afb24526c9a22bdf25c2fb4a0204461ca00e92e160a496c55abdb7f6b148a2ae5c150c0a9f265a7eec2cdc5d278eac4212670ce081ce02a0e286ed35b5ad9b320529af86b57371ca30f33294fb778c449ae35fb43496325611d752e01b6cf062ba7ecb603c91bb8dd5c7d04bb16ba6fb4ed26d8075ffab1b46b3df48bfe978527ae1f90ad77e3494e513603059fe4654b30365ff66a7d9c50e225cc95c573c12d54cfc69bee6fbb1e1384ef3fe215dcdc780878048545cc93051a3d9563e062d53a2bc3783bcb0eb2ea7bff24ccabe42bb253ae306091f75d923035609484dca26e022b6ba69dcd51318d6678d5e11993a3bac300609027c9545dc86516dbe4b58baaba6fe35f46aab883c111fa39a098d941e922ec4e990dc8a05be51bb411eff5c8c98e3aad8d035f255dcbe606908f1f626f83a5702c0472b1cd0ebf3d10d994e5e4d979539b749f81c49ad9973b0d7925cd3d3414a2dfd4af344b3464cb138454ee7026f4995eab65fa2291e901d78129546048e999158c56d57d5c223a992a3a3315c95bfe27f407fa9192cb3dd3bde868c759c04f41c865af517f6d852bcc190cf9dc588e1202dda2f8b93cd440e4b02de40bd7b329ac4697a3b5d6e6afb6d97f6d802f7581edd1afe95f5fc356f38dcf2e5ad0d5f4dc09ae46f358ecf893682f3d9766091c920aef66f6317013a58890fda60e40fa4ea5f51ac07380d742ebcdf470ac1831c316d86e3dc45598444b6728b2640971224b40c5f3d1462257aeb4b5b6d526ae71e0eb8f57097520d89f05308b3e0bfb82005fcc9a4bc615c94e524ad64f68c99c216d13795f988ab64b16dc06d6c0d811641e63529430643ae9eb79f00a94715897eb26f80cae6e6968bf2f4390928116987f04326d90f66d7adc38c7dddbadf05701d482e0e65cee795310bd1f671aa62cdb63017255d4cc5ca6303845def177e3f673a17307057d7eff25b1a519265922845fd93602cab70ff2618cfb0a59c2baf673b0879f9755e6d7345d277ae82998a0fe5901239b9929d82639b741686a72db2971793bf0906aa72402faac61ce22d8e361210c6242cf73b2afd9528b8e1366b17733770e3b3dbf33d4c2807014bca950a34001e4cb99f87ce41dcd0003296e3d1ca7bdd7c1cb521979e69bdb7b73f0afa2aaa303fc5a9caf442cc41fde057262e8dfc7f4a78ba0dd119cb4f03946688e3ae77a47dd7da0bfb03299a297ffb4b5c35378d37b6e4b692e36faa4539fc0c1f07c6d2fc7fb46810e030f941151ec7383dbf1a377633a5b7eba68d175ceef3fc1c4134a80f6be6d2e4c6ab264f950a6b1b3929057840eeacc519faf8f4493047b3fe34622b5e3d35af54e2efdfc36f36f8cfa416bd322cc0739ad0446683486a9e3fd4870c1ea7707fc8e7523f9cb93c4cdddd78573524c617b324e35928637d9044fd72f20d8bb70a701f32481a61cf1ea38dfe92971c7ce5df44d2ab6ee1691f90471b2714bac29963afbe06ebc3711444241228f4c9201ee9dab681371770599b50987e7231db33756fa1d57755dacbd8a1de5b8340c51d4b86e31c4781fb706a4d96a8430f7f8c5b0e41b1e7510eeec08458dd5a46854674d12ba1d1147dc4a5bdd535a013ebfe277ef9e95bffba9a624342d80cf7380bd1d91aa52a791b36f41fece087cad184389e67f8b9da9da2b39766ec41a2518a425ce680e57b1e49efa15b5814ca7fb6cff21cd825a0836142743d103c49ff7a3bc6fdc3ec0ad22cb58e659e9c16f48602a757b0ab7e014d59d15b4a3f57fa3334e7add82bcf334cc5e637b39579fb6d886fe50d089ef4c844f8b1a9e80172c739dcde4f579ce9a77cc0d59e255deccd36f9664753bfd4e7d48921b3e743389002de79da06371662495bdc56da3f30196f15b1803065e936125a213e67ae8a400a0e9206b5b272a6cb103b391f3c8e350e297c08dbc67314caedfd8093d89236fa0fe8251537e9abb975e875810bbea24b52b5add412251fe832a242269ae7791ea96d8fe011825ccff17d497da3fa2e78ee0b024686010e011da3bd729eaacf29b2d2efc122c2038276dc18090ee21893ca63381e232992b747488d192b801c0665f023f2291fe706a37a0edae106b468b28256ba7468eca97a790b362366320304663f3c7e1845c0b411d7ea12ad865b01f8fcc00e98f1aee8e01910beef0fa33f5e5323b0f0151b22af6fb6174cba38290b19d7e49c68e425d6ba7d813ed4a9adb2bb65a1ab7057c83cf34154d7f2c949b86b4ac3a4fa41b34249c7d89e2f8e7971b30583a3e74dc7693f4046978d9019b98b33ccf5eff372a83c3156625b9891a2e81709e697d536020bbcd59ca464571065caae21f7b0a249a5fa9720391231f94ac1238c35bb57d2603d89aff48649960227cb86cb38f86853f3b3b985e1c023ecdbc7aebf48494a52ffe2c04358f91790b750bba7e0b17a24ade14deb568a7ac5fc814412f8fd57c134cb5393f95640b63209606c6a40b5ed12c60bf767e85bec59bf6731d8aea8e8c6fe801f37505c185fabb8dd46f61247902f880ede94a773ee9d24d00483813b4b01908cdff35d8ec45fc82ef12fbd80171d66d732ffe762e392ada1ef4f90946ab8e359fbe71e4c785d1cb5a18ebe2e56dbedd2b59ede9b8cd834d0aeb33c17eaafd0a704cf620edf8c4e69d09a41f3ea09f660a93d1443a9c68fc51c5212c894f92ce0d79556008fe9b2e74f0175a97b62c6d50fadc84a79785a93aaf8913dca6366b1959ed4f4e73d0e9ce52c839215f860e92d550dd44fc4ef83f93c9e707ec3cc6dab871730e0ffe42310cc302e3dd40f097aa9aa1a5594a19906b35b5a349152588067dd42ab8e6dd608cf037779ecfe3cf05e210f752bcd3c53fcc99d6453015942dd1fba49108c6eee99707dec40274682d163cb37e8dc3f74c92607bf2bf71f8380c4f84f51148bdf0507a24417ca20eb52e0dbd41e50e82439395b09ea1a529a26e7c7718c7d902387e75e5bc83f158066d2c233961a8d6702a705d31dd51b3a2720f5a80b08c2fd36cdbfc5148025a408a21fe84881d5bb9ce9dfb60d9858fe02d60efb4e828fe7ef2027f7aa3b6e2fa8868c36b65704e78249bbaf3da096d7192c3780470f26b33daf3e077bf2435069b4f70082e51ff51e8004b727e3002a485396524cb6b17e8f3c1937c2943fc1a0547542d92e314e0d043b11046697aa0f593b7645c4184296d3520d3920e64a708ae0d93d1cc5ac9e873fad96c3609364ac20a2cb8803d9027571c65020f449c5a24abadb2788e075958c5b39c0bc994f9cfd867e28aa8408a14b370affeb326a52c59a03bee1173d213c9ac77050368a1b5c4ee2a2a2f41e0bc0e126f3827b951d743dc5130a7865927d45e66459f588290eeab812e7a433a2e3983951e85a586d8482620ea98663e9c02faddd2c74c7bea298d7d5c06beab8b36fe7724f5afc87ec689d756b7ee3c60c3458e43189dd0fa9b1df34752f78a00c418692f44ef0d042d99014a2b6084cd7a5a23a3399d12640836c37d8e66fd626e1fb41ea7045f191a3160ecaaed0fd8d87109ac83aab85a60e393c26f1d06c7b883ab13c7362b63d2a94ea8355e726b59161acba42caeedb8a874f777f0a5f130ba9ca50df06dde7c4c68da8b8eaa8be0daabc2630577731f640c85e0465ff47831c8e50b8495bb07f97371d34bf824db5a00372cc2ce8e31fa6f4370481aee1f80809f7a6f1c8ff9a4599109a37d2cfe8548a7eee4d8bca5e54e6cfe225afc59e3ff84ddc30387bb344ce04b5aa33f2de8829bfe7dc06b574477a274f51859722cdb2721b1d0312a5e4d29bccab9d5c84488b4cbc3d85288b6461775fd04d9679122bde0190b4a98c2d2a6cd04ed1d57f9b82bd9b0ff81c5aff12ee0f1587aabeda06ab50326b4aaf45f20b3b4285b8f33a59609bc3d7f8fe133e83befb18253040618c8f98d3607a979dbce40a2e3848546e6f102e46777c7d808a95dc063e71899a9b9ebbe5000000000000000000000000000000060e131c2229333c","message_root":"0x98207ed6bf35518dd5e80aa26f94142c47f9dcaca5cb842d7f7eb560a9b2a12e","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x769d228a7997ccc872e9fe51e77521d666a8cf91dc113c989b8e0c94e1c337134703a781789922a019067720d2130286b85d5f84c96a7d5bc9cefa2502b99b4eda6c398f0a3f9fd0ea0934985c42a5991d307e13f6c86c73e52588a9766f24b9539dc1316e506d3202b64489ddab09a9ab237aeffaf086d40b632d9ba6bc0ad6228bd161a77d6116d82321d9ce9a23199cff8f365ec59a448671bd4f5d86f43ba37bd0c72be1799a3a8eaf15f52af92929d8d2a429d000e110c623a7ee50921598c3193dca68e24e84ea0c68456aba71a64da298a9249f117298d7999f4686ec315f156ee5f2e6b9afe04585c942c23f7d034547350d95e0f764ffbbcca2a48f83dbabacc4fae5dce79e7233d89efa19761be6d8816ca207bc8fe3ed1159da96f90f16cc22bf8385a38b7356855ee99bdee638ba107d70dadea2416dc464348763f50983c2f0bd9993669c590159be19da17716087382adaf891c58cf87fdb3df281556944af148143b5855c84846e4023811f1db0e7b5f6314ba4bcd88b78bc94ee32210db61fd496dc546996b7898e4585a0a631a827ab2e161a38e299ef5181e6ac0dde0235558180a61262873cef8e8031660b54019952cb3384d1708983bbfedc644a94d98b9980566999a3d6259db3aebedef3d6f0c8d14f63733bd4abd973d78588e438460499a0b41252cbd385ea6f688dc363ed66fb01b951a958801c969b322663f0479e0c10bcd922be4b4539375029d8a462092444e378ae0e19f6e7e391fb85e4cfccc1b39d8b85352edce86b948a22e2e01d6557d5b283a8341bcf45bf83d84d795977368168d7a4a52af3c2c86ba3927ec5f2b4b75fc5b56cbe72b2083edd5e1d8e5b29972fb38d0601d27962a1d52e82228b69f3c856243f8043ce71cc46b27e556fd351a4dead82639632f126204fc1fd855814088b62f87f04655ed5bee2a38301a1337950542cbcfb9451c4f982db41d009bb1e0c92e3b84110743ff51fa4d744e3b07a854b37950824f1498981072786f20f50d023d08b80db6bb8779051fcb211b6723e0a7ab357aad6e91863086fb567cf9df40a470e0520c38da618f3c74c8de111d08d5524d5a25ad1e5b6a6c538f36e136a4f6438d649390089bc0d267ce5a7fa4a273e17b84aecc377d3166bef3dc03a7f16099b88c9c28e19aa64d50a7e45c24106c37eb992bd9e4f6d53f04c4e6a56e708e72e216f327a2f6ed9d058d78b49c440d2fcf383789067cd45d76a3ecfcd052139f9b15ca9bd24031c5f567a617de19b0f90e3f056a29ce3726f43aaa126a9da3157d9325ce814933eba67a389cb76ab423ee37bf536d4606ad825764326e60defc430da719ba87e43ad96dffc47c31b73409076edf03f86331fd06c370060db7566de32315841643d8bef594d8309afe57cfb6b9b0f86bb5a03bbe83b101dfc52d0fd0923cebd0ca46cd4c48dc58c43ebae2c6b5e677d5d4e8d56dcf9fe3f29e4ebfe02a3efd25e4bad9c00e5b87bfe93ca7d980d9957764cc23335e44c9ead8bb88aff133a1b5e32d7f0051c6615503e02245231279600facdc6b64b9fbb13f1a89a41835b6afc1a7141ff28093bd21d6570aaccb4f1b21cb18c94b033885f42b7daf5049370547d5e0617900e1519f35b518f1bd922adbbb02b80cc9844a3cda60452f40f99fd0b3c568c11528fb921a7cff7e2208ebb8380461aab1ead17148a6c9d32f40ebdbf88827704f9280ebeffa9c541b69cdce8926149b4bcc244d013e9c0cc823fad7de7d4672f191b17a31f35192ebdad5aa66479055c1b6e0189bcb0a6afd8e9fc1e707dac936e7c99152a37dd64f533b48af8f828dea44a38546dfba0665cbc79e0074cfa1df5229b5f10902c794d0c447c7fac08d8c937978d5783258cbb928304e5a822195fed964614a1d743dd4c378b14c04d1fcb5e891d6b9a7cdc8ba06f47202d2ef387a06fa5a8d92212f131d1dd9b28f28a2f0871710aedabc0decc20519f021f371f18f4a8cda9a18ee845d66c230109e345fc14bf124e67e713af7a943218da35faf622117a723de0a10dfacb9e781bfb7b0c908373e18eb0eb227e23460a3bbdb58d246766ec58be0f063d8d42fc7ebdd2d25eb33aaaa863ef0ea7c59e55f6d8185ece2d56c6ef1bec8fdeffcb131bce5b389d3942e7add8ce98c5895ea2758858267b4d010cf186c478c52013e97ba1336f5157bf5bcc5ef8f23a2abe76cac3575caea07ebce848fc5c5e69182b5d5e1a16480a4bbbfeac9f94d8f8b0be914e100a06e53b01bc11dd4b1e957058c7b4628fbeafbaf2d6f3516ea3e381e147c9179fa51563bddad3eb0e38306a304886235a7e458492b67b3498612379102746aaba87052eceaa1b1e46e192abb644bc55d91b1811c741d5fd189bccfebc7cca59cb3582dd11b432be1a9f75b961278ecf3b7463dadce314cf2818e119bd23f8124aab38c955f9ecf57a0d62537dfcdf7f8b5d19f3637fefe04741c881c2875915ab30aab2743273a639913067e5910c04fd4d0ab181c43ef468f0669e88eb9ac51041223a8ab64b62c2d468e0d63c2187678dcc66f932e7684480a4246d5b1e61080a885c7bffbaa7308c7dc49dd78d36d6fe11b8866d159f034b154e5b378bff34ac3c76281ccd294507aa06630fc61fe01bf868f35d992d75633df840d7f0aee9753ce6a4fb184dfeeb1b6f7aa886656750f75083b7dfeb880696a19a7bcf47609159257185005c81c24dcb8be8e330ffeaa84724feea3793068d3b3cda16d32bb1c95148e894c48723ab88edebfa90b9886b7840f584bdf1116588ea91dd6c3ad8bce82b4aa272ff929df0ebf30ba30ba8a46f1213e1ae1f75a64a7185dcbf894befde9279a1dec0620757efd2dcb5a91cd457ed4db286efa54c34b362645f8fe4dc8d4c6154fb99ac1fef5fa2f42655f003c3bd9ed5de75acd0f7ec8e7abece62a11343dd6426a029a1eb2f1105bbb0ba98a8bad7b0523231aaf4a67b9d2433cc98e466639a49b3c27b0e2508385bb553cc3413bed29e606009a10b4c4926d8e2c8907e91b19c1aa00e533b99a2f507ae3754c6fcec0449afc096b9806508632fbf28edbb3dcdfba88d6cbb54ffa98b4136f760f1e3eeb6c194ca6db6c7c28a221371ff46c092bc40c1544725151749b43f06774ae6602235c9e2f6e93a154ba9b5ede8829a1322e1e30a594223ebcd1413bb87e49b20d6cccb3270480046189ea374b5a7bed9b457e76e8beda5c2f388a7dfc21b285301aa573c77f21f43524f0ed4ed2e784526d1d27be3c3dd11635ee255328f57acf6887729fd8302ac9858d422b13b33f966b4247b676588f56c48578c5b37455f604282a32b067e827e8d3564be31c607e587c108a4a25dc5900c4d67d9fade22230d65b60b20ac9983188080c28ff1d26645d297cedcc81de661e911eb0fbc14ab5821ae51108289b60a9b83711c6d93ea7a2ebc48949a1668082dbabe447c4464d6c385cd37455e6bcfc2b4e1ac30dd919da763a24976601c825969a4c81f86c157fe673265707738630a3a8c29283cb5033b5150e81e661926716f0a4d133f840e342e7d4a8b97cd0e5cf27564de7f918a2df007791a096cd6f760da75cd51aa0a49ef064a9eff5c6907ee5388fd707ae13445a9753e941bddc1","amount":40000000000000,"withdrawal_credentials":"0x002534a0d2995a800ea88e9c93b92ffcb875015fc19e1fa375c3d766a37c9b9f","deposit_data_root":"0x85f99d72bb440f127558c90e7e0074333d7f646ed7251d79a695b79575cf1209","signature":"0xea1c53620686b4c5cd2d8fd3eb79d67f7424a7564d10594c5ad632285a1290494e297d3b3910e0ebc04808dcf93b023a8e97ce1c5e3fcc65c1292a0e0c1b9175fa9c7341f088eb8367107dcb401e2e030c72a946c7f8e92ac18c705d14242308ae5897d16d267f6fe368554a12b9a31f6c7067d10c0ccc31caa20645e6d7ccc9691ab2a5eedc1a3c8f5d2536ac35fa14dfe8c0568ef834b42a9650a69f8215be7d4084d43cb45ce50fbf8279f6d569f05c56ec0b98d1f80442e62e349432183c904721f555014e5e6e790af358340c5bb85d0d8311f629f434906d45bef96ad0ca9a6b2fdf55df208a79ad9de54f11685c1d688c460348c6c43d327eba963c10b2259d31de0e3a4d97ba57448d2e0590c5358e650f2b5cb17aee4d12a05ef2b442809e81cadf5ecc86286eac1fa7371846ab1e75fb0ce120e2613cc0cd9457918198b29f6e5da8644eb1fa6dda6e6fe3e8d836f68df0f662eee3f7624e5923882a28ffeee5ea73fb3baba21524ece4b7e25aa1aef61e7285c139a01dc9158079834d19589237b02b7752deef32c0cf234414f4dbfc3aa18b8b76d9e86da251312f6f5412893c8096fb2beb08436f4462b92d3a4f82489711bb47683e9fb2db6ceb4102fc6dc388f8df31a6d297fc559717f6cbadbdd41d7de1c2e98395b320f4bbe38e12730c54a81ec1038c0d00992be36fde20ba35b8c39205e241eb2055c0dda14c16e87d93368c2c24f363c89315e37580b01fb059f5b88c5dec51b43a839c4984b9569f7270fc57b32b16fb820bc4403310433bf540fcc1483ce7829be41a59f22c11d78ed195ce1af30035f9c8f2d2f7c25ebe54efe384da87f48d45d32b14be41052fd271c568be982984c6c93726b72c6994aa06d2463c111c6941a7b09efd87f44c1393ee4f5dda4e6dd2101cece413694ad11bca90e2ca1027d298a7d25df07bd287afbe8073329de0684b2f8e637f5a74ae2539fe8da453a58b762f31782a54d9091c09f51c0ae9f62fd6370ee09abba00c09201bc8eae7f83b8f312ad21831bd7ce490414c514b5d6c46904468c398bd7fa700e439ea8025cb52984684844f2e7065e9fce71d18ec923d1de30c3d9344cbca1288ca8617b44bc1415b1c84baea6b5e9ba614b63f60d19b28b90d38f55ad71d73fae789212117969d4275eb1b57a07f99a745f99971af9cc84bf7ea69070670a32a79f327fbbfb166d659dbfe1e1296752682c7b4cef06b9bb6ab5a002b07a24769de4bd1d16e5fab6325c4c23ac40f7aa8b1199fa4c140886146cdeb288fedd210caedc3015f377aef39d389971c75eb045c3c25cca324b652a4c83fbe21fdf29add620e0525d8e45c10e76e8a7ebfba8b43cda35c90aa33856052298dfe80a75d7bf210ebf1169e707170da004b9ae60187583859a8178dd04aeafcdbbf48e9192854a87509b03cd637e6cc72563dcf18a4ff70bb9d79b8b8cb7fd9e0730bbe4adb69b88a7faf221ee407380c52a1a8284bcb2347d246f3e495dc84e041e38da8b9f6fae24840e581cd8c9c9b332cd708ae1450fb454b61a533e940ac90cb11f210be489dab8dc1bd37e4cf066257df23375bab7bf7527f897beabe466a1e135c94e2082db4c48fb81412c8a11f6bdb795aa039099b8702bd01597aa6a42580b15c669616933fb6fb02ef75474a01e47e5b56af7475d133a62141f5dbb96db292781f3a2c2ffc7160a962b766a120827cf1946827a08eb16f0574001a4256335183161ab5ab5efa077ff934bf2ddbe06efd633d46175f83e2aa7b38e83d3bc9b79b188cf0f4e45fad7e5a5265af4ab83405e06c1a2410992c225a2795a12c9662db5f943dcda5b3081d147f1e4ae54aef04e427d5e0e94d236495ff9c0e8340153b4e0551c1aad0a05a979ab31011af93057d23a9118682991573abbbb7513fc012432f682b43e5879255459b80978ed9196ef4157c045da9e6fccdf1ff8517b0546f8cce7ba4c5ec2900f5e7b6d20bc53cc1220eb2327ceec7d1ab4ab54fe0767014e3722289847bc24f1c83b6a5ed4b8b6e0677536181420472ccf35f0ecc8e09de1636d9204a197230186a4bd4b757c400e6a9ad02b8ad6247fc81f5df1772b5eedcd888551af9549e7e401b15d2ec7b0c1696b4ec510a0fbdb1fff1bb547e65a67ce33f6f57e147c7225e094140e3c6daa4802cc2f415c2c58e1a2102bb68dd6e6841506432526233e3a976c13f0a094d7dc82b9e0c0a5f4690d113d461067fc90bd2083da708e00268dd80fc66927235773f7215efe95cf0c3420bd696360e189c6acbd0f7a367e9848ccff5fc893a38bf4215d7914d4f05395d6716dc27799f10605da06094e82bff01777b4f678edc0f2d1ead46c7b6cef27e73d0983b2463ce53622d6e8230054f6c6215cd867a4b070cc8fe0817c6e573afe361628872b22edafb96263f60fd96d884ef9871612f3ee3b79a0dd0cdbf4c66b9ce6c57128c77852a05531d3dd470a462f4c81e6879fd85877b3b6c9199cd85404aadd10d9d9bb35181a772297322054997d993f48616daad92230b5bcd544d45f5cefe1d1aa71e7736684015a6d7507828b0b6d6d95de8ca867da18f2855ed3305ffd4ab2acf5ff1ecb28fc99e25e4a9178d7c459edacd7c7445adecd2d1c65d059fd1e6ce7d69a98d2e5fbef8eb038fb734a76d86a89750854d61b03708a3ab3a4992e6de88bc93d1af19cb15c8a4783e5c36888d6344888fade26c093264e7ff2e263aa404c9ac671e3bef48801f028c7e63998cc0fb2028ac830c010a96104c8e37c44fe98350ea8ff84ae9519424e82acba648365ffce7d09a8d4609cb34b5d9eaa0efdfbffe1d24ef64ddc745507da39a5cdeace2e75311f74b0ccf68e0ea1afa6c6f9463c8b207339bb41248497a7d5971dc30dfebd22e1b7cf1824617107ddec267a7855f0c55f09e25b738c45502c11f2809c213e1aa0c9392a8992684d8836fc23b87ef632cca60c907b0de94a46f5799e87a883987abe8cf109d55dc60b6cce2f5b1554181e85a996450a330c970a658a5d886e11499bdc5cd521bbaf071325662414108776e47098ae3cb831f5fc11d0338566c659d3d43f9559f84f673442691b990c83a14df77a8f42f8634e58cdbf4fd59885d1e33604546b52714c0b898849e18e8aa626a8efd58e396b0a858a77c902fe79edec8e4c347302572e5c90a362bfe08badbc9260465d4fd3077a3dbc6f4235c57add028fda03dd7fc4efb08d093cc05cfeacc30f7e89b4fd8dde642317be23888f9e3754c26333d75c34e3ad11622ce41957d7ae4d648324e8c74a617e64df828d7ca145f5f52e87677cfc2aa3440168b3727d68ddd3f1f8cae33431db6ec66d02d4c4c47775e705989c12bdd897f676cf84b8ba6e6ba45cd9a24b9b4db1e362c62a8875745dfe1612d23ca1ee8441b03ace55f01a89331b744a0a9ed60f769289aeefbc5b7d0d0e6e3874a7b32dd632566e5cc03787667d787535d980f6a8ca89f9351c74dbe1a22920ec3ebe584142bfd0c04d8dbf36b953d49ff78522aaf251aa4b338aa4a6882deb2df63f9204c9ca7c3f6dcfaeb54b04b5698f0be8297277e8c34ae8f780c237ff48426c6eeb58ed1efa2b5b64ec6b1a71b836c3e0a1bae53f4fefa8e9161c3efec1a7eb387d5d2a9b615c6a97957008f01c7a22bfc95b8e5739224f5c8e018b4ad7edf4d063d28bf17d1bf7858f9bc856d3d2e7f24797e6208d3eb1ed30f5b5a77f456081ec9d7c21956d10be8ec0e826983c4fa559d187e2fc5c53b46fc2d8cb48189929a0baf046db6fff804652c8ae2d65adcb43595b6d682f10609f26c34f22984d7f40e65fcffa82911fb17ba13b05b34d03f49d6eb4abc4610df18e7bad308ddfc7ffa7da83da6c7058da2613047e8cca28cd0a731df2c2c1f1a2d31921017081e9a3233684b2f1e83c3123616b4d6fd95ba02428c0d0f3041ca1a636438fba5cc818540d74466f65730bbf7b3514f6fd312f36f52ea9b0901a8b5fcaa55ffe94edfe2c47de5a369191604b8d416dd65249b4f45776ca4201e2e457909e8bc3ae41721d7de82720fe557b434db3bab64c3d188e6d0bca05992b2b32db85df396a22379a3fb2e660a3b68e1498da16cc184472c5676cb17432ecaac43305386a852d828242eb3f229756242f3342a77db173601143348d674326739826dfb1d65eeb17e11afee4a8c64f9b3a99e0fa7b62bf5fe4073796afa993bdc64367362b817b800a55e08deb56d301fffb9c5edfad934bd1220c60cbb18733b9c6937c2e25880cd748899e9b0c60c42a9e411f18dc701b801c8d2b383834f013e43864e7ee670ad3f7efe7738e2f3b3e94fd822f73175e6f9aca5edd141a47ccc2b830e65a70b7eda9722bcb59ae50c4bd553222b3684b376061f0a7f2d650c561dd40ad3b6a37b2d5caa65cb818397378cb2b6b0f1e65f27f0727750b3e02e21aaa784436f64c87e742f25663d85690227b9803c2b00d2df006baf4ca1f4434dc6e2f565ee9cdf549013c29cfeca62744731e57141ce23a514473ace4a447d1913d61dc0d95966d3323c8f3d35d56182df212e3485e736020f4a1fb2883a64f8eda3b5683b79b42205f8907e9dd3411fd9fe19dfa49e08c43d10aaa765a0a2a5a3070f5e1336506e5c654dd0c9e8e15db2b4eee601c5216073d7ec35de278bfbafa3fbc07bea81142d008ccd847066de55b7a869df6bbaf0a2b33f0194c0c66cfffa3e8c0beaf72f76a13878f51b13d52bd330290c50d9c9b41acc795a77a5fa6ff688f7d429f3646b43a7784c3e5d77b00b938623d6fe184714698bb936fb1618ce60e2bf5ab750be345a0e1910819b3091d35f3120557de31f771426109390fd4f91050760edc3145bb890c85b7c052bd153ee887f8cd4e202fabb8fe0f99c07c9dc170365ec31fc6d0daf9a1c901b3a72a9f0a562b99d6721cbbd49fbec652f8b83b822bfe6b24704217c75b301c6d61bf0b4bbbbcbbc12935f64090631228da78921e6fd1273f572087bd30b4294148751c5a4f12433824c1d2f8bc4cdf67bc642c08768e108e06e46c78a9b3964f64a237d9bd80652936a34a1232b326886614745ed9cdd9be1f967bdd1418823e395e720fee4fe17b19b302c9992c174155cf31b47583d9ab82987e710133466efe25b5d7159de3334f3a2832a8b3a97b19f9bc05d3130424666ed97dae485bec96fd194e963251807e4753e1608573434994543eeed41de8229c776d2f7729bebe51467bd16b337788bbe781e3eafe48a03748e1c82765d9d957df79771e8eb8a32299989732a7afb13ac9e932f0e40b3a7f1a243b5fa3a6627e0f8100340b0279a6a85d7486f410fccb6d3fef8be2785d7d60771fd0b09fe28eaf395ef0d948465dcabe43b8914009b501b0308e013e3f22bd43deec1c60693e5124dee7df5437a492061b13304c675b46d6a4d770338dfe6b99035a4898e9dd2a68e247c53628a569313bde2308f96f0849f3a89ae2600ab5c726e0a3aab1d6fbb0d9739cc79a4917cc32ee25dce963e0ff11a18c350ab5df9438db71bf448d41ea39bcc12e3ccb29700b6068747dfc5e8effba6c2dd5dc0248d47d72eebf0a98fcf43ac1acf546111f6a1fc78dc5bf78ffed227261efa429c5f623f52d9498b9ab8d0e95eba924d8b43f56528f638017c2802c443ae95627eb8019e25b6648a61e450607543b4024f641a75596f6ac6d4932e8b6bf9cbfd0987de5879ea683807086c01c59459297f4ad5a1e2942062542993754c71d7ff6db2ed4cc2497f02e93ab9863d9de3633c829e2b708b6a8fb0b69b2b31fc5e073e80611215cc0ed6ab442c8b79a3ac928a1e5f799b7a9a35e8401231088d15c9e823317a2b124e6d33201ad640501f02e917da4a96f674c73e064508aff4ccbb7dfdff041d3790e03e6da7e6cdfce164527ad5d58cd6185596a3d8844c4f92edfbe04d6f067c4a89a84f4947c9c5bc8d790bb27663c5e5ac29ce5e5188dd1f2efeb33d60219fe30302b8abfd4a5b8d9e7d7ecf508e56f205566acd2c6c571c8f36e070dc30536d17831a1891c54892e26aba851c8745fbf49e1f5ff608f212967fdd6999b77f7afb3c98244df1f842a6599d20e2bd050187fa7b59370ce7be70a854c585c6122b5cdab591e077890ceda43b93ef1636860a7580e844a0a3700461d0ccce3a5fe1873b58d177f58913dc09577af486ea1537da3da9c4d2145a743d8b10948bc2bd5a0e33e903e2539a47b58be3b70253b4a52f01744212a5d9b187aac32a929e997cf6510bdef7f49e1e3fadbf90bb4ae062b2b5b6f0bccff38cf19abd3b9c8f0dfaf10f5702b8812093000a8b2231def4748e51d47d7a58d1700fc63f1a537391a1b4cdd5e5e70b3487b5b9e11c65686d6f7ae40e171e242c5a6ca4b9166185a4ecf6050b3a64afd3113c40488184a3abc8d2f5000000000000000000000000000000000000000000090f161f1f252b36","message_root":"0x180122b43d93c455974e0338b3af5e6248d300b313140b6bd395a784f059101c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x9298d14fb52b09579e01419f2c918bc4b260f0d2c03f88e9b1ff96d428a3b57e44abb097adaee3cadddfcf35d0627dc6f4031169fae854c4e7097bb0b077b501ce1d23616816f11a04046d6056cfe01adec16498ca9a7984e9de8cbdd00111441714f0e2e816c60c006f250aedf4e1873a726b678288dcdf387116e8c41588d085a85ed3e4c7903bb3ecf81e1fe6c7310dc2d672f65312f0a93f84baf3bb5874d0e3130101a959d2504d702eb24155bb5476bf9910a1b3266dcf3774695e1d4ff3cbfe43e8675e585ebcd1a0b97da9353908367ec2868171a00b19462810165903d636189fcda09dfde7266bd153dca125c61e3ac65a80e01425a1dead8afac27676c7485b63a5a6bbd3897ebd0ad5e473f38de6bac29f11ffbf05aea649c9010b795f643aefb661cdf73b6c376371d4ddfc2db7c2578bff0d98a279931628c14e2346a969f7018bc31cda4f4b429a9a5199abb8c9e0142a4aeaef9985bb31f49cc28074f204d779f2b80db106d5ddca8c2d08621544e32aabe60f36e2ef40a4b6d27a0889a4aac0c45d7ff397e182b99fcc25c4efe49181d77e5abeefdf10e79673e6a2960da1e3eaf7be308cd6a800a663263a18890e1f30b82949c388356e98616e12e216baaf4702c928f8a32ee6cb586fc2c6be6ee1adebc8371e2ffe96d02ac33325227e1a7137cb0ab3e8b8b73d3525f05567c0f8a1273b63fedba2acecaffe354a221edd60e156805a6716bc7fa53f85a9b885f0c6ddd3b7b70d25f3d3911e8700fae71d1301d0e74f8729af5b52b507170cfbe5e253e144818e0b55f51dd0b8f88e1abebb8949c4746801c7d42812d0a97e024ba0b5cd05bd68855a4bf9a0b34000ec431a7f7a192432006c4538e1e6d46188e861db8f0d6a18506babd037bc74e243dbe3a11380c9793c85803d9ccae74829bd6cb359c93275ee9c1910ba3eed82cb2951ab06310b097d5ca812fcd1310db84971add55a3a6acdf716da9b03407eb54f2364c816605514c0296e3899a4165f951f233f38c3a280dcc0d3cc551a177ac78873601afac0c00b6c26978642ac135400fc534267901fa08ffc18ca8c3ca4a57640de2725cb7918f6cba6c44559a1d2a670fe9478fd815094f13a4f70ec06420edf0418510f11ada383b55fc07df23dfed4dd80281d005fbafa85a2d0e0133e221009e25cd21fd9f02961c7159398322f48d42dad63ba6efabb9f97751f4a06a609973ffe1813ffed2bf6c287276ac36d03f3b1c6e173b1f36b63c9cf6df872ec8eb60c6842e65aa8585e34e4bf774aa86d464606617691f6033dade9ef8df9a176b3d92dff97c226b6e5431153d83d7f3d7d400d3f51b940a87822ca9181c4105cf78effe556ac59b7b4270110ac619103876f04ffb1682ac7841b6fa416bcf472be606e186c4f6e21013f60f84f99dacb987fd98896fcc9d1c716101618e27c3811f2470055c2d45721b04024851fdbad96d10ec8b0393f7cff8d1c8d9adad092602956e54bc202ae3fd0fda9ddd4a11ad1467984d4c51ad0195c9f7115ae6f98645cb7b72c35a8754cbb1d6888c43100dda47e1c8be2bef3dbbd1b09f9ce691913d320ad8d97489c11d3d7f8796aa65662fa107edf415ce65ddbdf01fdf7e5b2f6062964e682c98aef417d29dd18ec46c02dc83e0c512a265ce2a1edf854e15e5600626e560380a927fcfaa02b2120ee7269091ad0f5ea2e88cd6afb3b7ca7045aac9e5b2c5416d752737b3909481e994e09c5c2fbe630fa87cbbb4f6bea89883aef04ef2821df81e302986c4507442e8eb74f478bc881b6f60bb406671ae85232a81c651a5a5faea954553ae5c749d5cd7397c6224d0cdf0dc5c4b2f05cf661717afd7242e6bb979a1c218ff51fa583a1e8b0f76b9d511c02ba1bd62405967c11a418361de1a6f4a69912139db8632773c9dc9dc7361a09ddabcfde91e69d1e9dd96af08908634e151b33d9826d8f6b2bfae07c700a059d825413c637a99a9f114f3636b8a009e8cad219b7a0b1beb62c2136e8bf6764ad98a2d27ebdc7b286fdd9df994b87c5595bdd7c0b5dce6210e8485e88280aeb91aa50a8e01579c9ec7179fd285e30e71de5dbc826d7be6a8f653d1f65b284ebe43a143607f356509e5624000edc1f6a87623cb50061dedad2278c7678e47bce474726179a0fcb40f2229b76dcc4669ecfc49403dcafa13d3e51e97eee2afe25eff1f668a7ab6fb643c6292e313f83f6fb800ba0488703225c1770d3178359685a26489a4921b32bc1747892cfa11890701dd4bc65c2260cf5024a28686c986d3909f4a9918d141f666465378bb579f735976f09474a2b76bf73c1499c64adf77db13f2bdda95148bdd68190e0303b346109358883128afb22a5a5e664858406aa01288e4bd495fdc7d8450830914ffc70359384295477a48ea01a4874a30de193aa6bd7b2921c6c1ff71080beca4a474a0cdb73f6ef0085486bf4a87e4d6a66d80325f6a7f020639427c47f6e04a026bb530179ceb70ecdefae5391659da8b7dcbc1b2d5ebdea5a321371497519626c51c9a827b0a817b5ce916f67be28e894992e55f848c718d74e7a8508b4af257fe55632b9533133619dd52b347d4016ceb2b3d834a827ff17e6154b3250f2f82806e47ae6e2c9e1f487813d269f579bbd18d8a95dc4214341d74bb8f3870faa67063db5e77cff19e44e19386e978ea0aac217c7ddd08afc09bba72d85221c33f732b43d85f6d55c399e5768f569097142abfea1d4a9e4f8a3ac0038a20f2b368701121ac1fcc178b24fbcb7495c14e4ca0db90d523ff363e59d74abf45cb0aba98f8118266cdf77e298759e0d407281142d990e25467f827b0a1fb361a7d94725bafca31f72395c3e084ea5501dc0280ba1de1999a2f57362e903837dcb9132244969166f742f91194270a3e650ea5826ec22c3e871d29155ffa393e239600130071c56825a45cb15af97e3bf10221c53265b467f71ec35c9bc3180803e533ef4c414922004bb5fdbcf7391ea57ecbc8a82babb7d90c3655fb80e0adaae7c2987a928f2e94b2d5f4e17006fb0b095216728cf466530ef484606b343e1912d2bb4ac4a9340f7fe52464789e61d930483f893d2e225f00da0201ae64c085163fcdac0050b9c619809e5c7572b561e4e089be7b0bccf1f98de7b39abe5167c7d063c08a22fe8acce41bfd87553fbd3c41ac199216315a0f6a7bf92beba2e92b29ec1b8981ff271d1d0ae50e50bc732e8553c7d8732067140988c0f22fd3114127e0a0dcf10006eab78b02b74b9a641b99188c36e1a5370df001e961514bbcbd48d5283f46235cfccf668f09d68308ec17fbc17dc14df0ca626e26af22db898986c417a6766e618ff0d7245f3482d561dab42970ee2f9922ba34dd96eea2f6853fa48756c2bcb1a8b99563433b2e4c7d38f6fcbab87a12a9bbef0477fdb52ce689d42705468e908b2135da3d5979c6b1bc3a74ca03a2f290404672fd1965917760f9a7630934950fbaeab2bf4d02ddf3ddc52ab213ddb9d38ffe3b0a95c3573a66fd0ba2f97e5992ddc40fd9426908ed89aead1f5f0fa22a19d9d41fa1bf7d9cca33d2ba707a93b3901960b9703eb51603ac7042c42a7f30d2b989951d938319d1de59c9c8a5859c446cefbee06c40ee847","amount":40000000000000,"withdrawal_credentials":"0x0019fb97f50c4261a19f49388c80ce287f54bc631abc66d2cbc1b814b381d6f0","deposit_data_root":"0x34f7e7d240e689c086f3d19c2cfd6f60ee002bd1acb207d22728415f53a75cb9","signature":"0x5af7f98ba2329b1ddec414156a5d8e517daf81ed7a1fc37e1967747c862b3d8e3a83f327a05b20fc110de3f92d74cd1cc3b03c3598e93080e0a12d0926cfa8f5d7cefd7d9325b442867ef0dee4c9613a1262c8d5f87860f35bb332d67def16f07d2971a887fcb69a2f747953cbf21a83c201dc81201f1f913a97c500eac6e3e993be70ea95ed7a6ea44fc70080bd2ee93ab1f5ef2eb941b1fa20d471a2d4781595a56c8a47344aafae0f96b8cd4f5aa19f9dcaeb9d260f6078171ade3f11be29c4f1aed0e78f36616fe14227b271c11dd1eca7cdcd6037cf80fda60c17e7e88a54b5efec2551b8030e7a596c1f76433b361287dc6d301e921a9c4642dd01bf7cb6a25a734312ebfc0c71188475835980fdfb89884316575333874871e32b676040e134fe3d14829d67ea82ada5f7eac86fc353131631102361786db45edce5f2dcd05e3912b46506546b1ae1e6873e0a33b0e9ca0905354cb2cc5656ac5af086dcc59a40b298270f028850ffad0f4ba1be9b8a68d944180e3c5eb622305f5f7436b8d5d28b0b83b5670e4e117cad089740009a01445a652c74498d7906e889a57dfb353203f28f95ef1398219a0227b49ef389332f6562da54093d0107dd6b05c17e1207931dadf790c2d7c28c5477680598b189457546ced54f0458400841cab8f985a7f471f3cb3be4177fd7104d8ae7ddf8e4179331e70b908cc72639acef23755f6b1b3ce421c6492d4205b8dce1cd2ad067a5157a9f34f93d61106ba51703cc390cf4044fab9e0bde7458553d3aa5451c2ec697d97f1c80348b8fe9bad59a65ef5b82cb47bfa0025b69ea5116a5c97e86f99c5dbbfbe932709214a34d91da6b84017d7f2d2bd1167ac7fd204f6393ed92dee9969700d5e38ab4aac6337e5bded632f28f20a45b10dc80654f15f7213473e523df85212fd1a68525bbc57590b000d082dfa5433d9aa7650deeb5f0b8be720952b9991c4a085457468110ea41068994e51a70abb25f86d1da770ba08cb57e20ca04238aaed5a4fd5be18dd440337c6732c66548d1e63c111c2b4335fe56c5cbe50a7bed9d4cf3b1a50716c462af75756d2eb607c06744a97c5a25c037e07c5092e478c56eabce29ef81cceef57774f8f7dbbd73c2fb19959dcf5cc2ca5da0cf70655af660de6943e70db2e8b93a80dd51e606c5317f800cf7047901f8ec20da78a34347457bf351988820b0b1087ad7fc2af66b1214e3512790b7071b5203b7406f2e33550aab02e0be664c5c95f80c96060a3b9c5745314a0ca6312ba368fc1991db66a79bd4077ac42a61e4f89dcefaaf7cb877d55951cf76940ab41006bc9969c391a4ceea2ed7816e2817d20ecc72722389c17835cc0136fd118181f1bf0e0826faae3a23f466e462defa8bcef885261060f8a05d3f03b4da24a9a256e0f4020f46a0c7db7a686fd31b27f316c4c5f3544e51582d99e7908c9ac6ffec9355bd8d9895ad02dd73dbe5d774d98f2f58bb947fa1d7a9b53cc6b6db1b1772ab0790143d084b4fa5ccff7b17225cb57c82aa9a61212baf8245d7c7eb0b3554faff740720aca85b385a474e32c38f270c13d2397d3da2ad0baf16b131e36272e2202651f8ce986ee2fec360573f8a98c3ea057864f484c20d9b81aa339565e5fb3ba23bccca1e76dad9bc28e668770e9fee94c5ea62b135d7f670bf17b72d08294f51443d0720070649af6cfac4b442d95f154dd1fee3f9567e93445898a807abce1f90d118f666dfcb40a2991b2a2747e4295972c6862e6a9fe178768b7664418fbec42187a2c07c606e3620ce1aca7ab8cc0fb0c194013c03b50257355fb3d02849db92fee1d43dc4142b27415677f499922b4f41435a37c0d365b24f0cd51bac5fb18b3f7d1ec2301e6b01275ec0b65448a4f17d111127d740f8319e4e9464332141e8431729706a5a263f86d443adf765265929d86340a27d5e52f1b5628569689b9b8418ccaf262155dac91037aa8e513228222bd61a9d8de30c6dbddc92d910202f9b0dd612eb326077820b3207a51b2c3ce58abdb5cd600b4effa88c15b9dff3f8dcbe0016ed026484bf71a5491b1c73bdcc1ba41adcfdcf5e8adb41a8476e3babc209d6901108e42067c700cb57aaf9037c0b50fca7a7697bd1c8e83dedd45d9a7c0425b70ef4467f4989daa392ddf681cfde8b3689ca2bd0dad119dbfea6a8f8e8a9be77eec60c852f5948103406230d0c3ac82a33772f41ff3e0a114c04c47fe857c19293d2318d811c2feb8de62fa26a7c068f2fbb9a3d7766baae3079ea3e8aa23a35c10fccfe2050a180331ece3f2584bc3d9350389660e9f693beb0d165481bc841773fbe1fa10f178510ddad8244b1f86e93cd8456dc47c2648f5df8f7d14169e29f0ed0e092a6bdc33d3309fe79eb4d4ffc6653944324e5649482f873544afcb0da353ef18647c62283ecf90102892de29f1324213f5be7f886888bf4b44444bc82c69912cb10fd8ec702f5fe21f5148b35a676cf626fb824b9c9dab05f9af0056c2e86b1d17a1742e2441d36edc70fa9b48297e666b8148381f0bede66e9da9242788a9205dfc0e7f259e1b81e7ce4c64485e58941ee878f14c33782450171364336012da6af87fd366e8192c7c2fddd7ef5835cba383296c60c934419eca7d2695e0ce930feac26e30835830029096cd852f3a688b7394f1973858c4ca92844347452cf0b469f27dad31599acd0e70df859298760d59675aad796d7a4ed62f969710409a2052f485481624559dea232e9c82ff8536152b6bb966130e65d0bf13f048dd03bbfeffe7e6a7f8e98528256a411b76ec8b69a75587b89149a6eff5740dc243e90cd38f89fcb6bd1fdb210072e26c0804fbf80285a493678b35f2616b4753b4bf6f2efed33c464ee1312b369939cf23da15a8850d2ea0517c6a530107bdc3239e0a66f65323f42728f460a494237c14b085c5c601a9c14ef6ac7d2416b28be1a366243974615f2fa5ff12a5a6b85274dcef59def9db225d6543160450b8022024dd8626aac92744e1d68dd7d2a47c619bea1dbe4dca30f856a967a26e0eb65dccad485821e37a16067625e466d143026f41370f484ea2e9ffe092fe9ab66b59e62b1bf990c2f10d671d73b8ba5b382d0fbf2fbf072b439203f5656a83a51f71d5d78000594ddf2eca4ace2ee6e1a8c642010fcf1bfe3ec0b52be1b3a442ded5b11d4a76fdce0d5e49936944a0a65a5e9f94cb24c8841e0fae40e604d35950032bcec7473a8563da10f08019469edc80152c87221182a54a07700d5876cff82e57050f645686e1ee2c351633f936472febc7425d05f2b8bdcf007d20b778de3e8819ec1596f6787c70d818d039f8b5ea1a4651adee25a880325aa09dd132ef58673bfe8e26875cd473124250172610723b81b4f9def233cbe27b56ee1ce023f56694d2cfe4f2f5aa7d58aaec8b77df3f83005a6452c7ddf187a2d0c951a75e31c108c21e60ac9a7c101ea9ff4fb0bf9b9cd44d1bef580baa58c2591d4a889bd1cde0219120d4107f0a5a557c00848846bbcaea1fb16e072f7c217c9516cf329a2034c5cf399f63573eeb1703136b35fc9fb726236c8350402d3a547b34b6fd918f2dc2079ac65b37d74e2fcc28eccca09e3e8aacd9b5530d8eb49521a4cf68b6880dc5e28a4bd6726a8febc2d05f40997eeec93bd75220da57e2d0db60957cabbc469ff65d3d09fd2365aa5a5e0e1837c7aea23d66e10789f1f768b9c9c13b62a0e73cdf62fae1fc6c961a346c3684804ae8e76e383e44cc4214e95aab98b6d986a5f695fff5a2a0e4bc4e54e0be17484fb7a862590ed359db2b9f102edcd0f4a00b2f56940afbf874a3a1bbfcc575aeef80d892f6248a5203931225f7500f3e444d18e3c632ddbd5829ea6c0fce964bce16e5cbbb9ca8cdecb21a4eea7ce2fee3efc6c57da2ef51d15cd32e1b67e3f9b32834ef3c0092ac9b22b11f62539a0be292289db30f41c4eac083c56eefa8debec337b3bd29ef9cb541d63ddb4b037380bf52c0d8c6d991afba0ef1900c4f5c6a69d68d7617c94982fee1133f5728e0c574d38cd926348af7df694e83b36a4e6e5422f026dc25c8bbfe359487dd1dc569ff178681ee9d269729bb9f17b68c6634181e617edb71a73382337b0a2b17c244b7078c703d757be4fcc463236569c5b067c771727a9872fb25f599073ed0f514fd3f73e9390734cf6b4edba79c684929071d549ef42bc970ff83b8e230e563ced42aaa1644e5929b49ca471f186a193b0bc57dd465878392f6eb06dbe2ac9ab91dd28eda10227513ecbe16520193ac176747c96843b2a5e6b1074595e8ee52507658fb7ac0ab3394a65ce76e831c33987812db1674ff313e238385d9567705772cc34fdce588a660bf03b30251c7fd3186441aaedea0edcb8753fe9f68d04f3026191c624c23aa874716b36fd112dd5bd954fe670b462700d391e728ee1193e21ab0d1df97cd22bb54718342f5113cf3aa8ee00e290749391d1dad45051a741149fe5ff5dc83911deee56ab9f7415b25ed7148ef2e58d9402180ff4f43986bddecfb816c9a8ceaf71ebcbfe0fb6443b5d4d1110fa73dc35644359ca673ac2dcaaae2c7b52a62ef53bcd3e4e0e53fd6c8df7427d3c60bda73467697248bdbad677a69672e22948957b03c92ed158e8cb9a1c7309edcdaef4b50658da99523226cc1e6e9edfa241e8161154b2c83157b00cebe1448df5cbf6b753fb4a152c694dd2ba679a397ce4b8ca59dabd28a53f1fd487e0a54d90a55ee9cfc6bffcf5ccf786025f5508324ddbb68f14f1fbb89f05a7a077b6c1388737a81befc71d4fcbc0e812fb2474c73ca4942ff6067c2b5624972a8cd6e6f5ded5f2d0fbbff71a60202659c4a22537b63bab9a7970eeaeaba114d204d255c2ea0345f02c6ec76de7dc508d1e022dfad31c0c3d02677e886451b35573756b0cb1ff05aac2223527ede614ac74a7ab4ff78e2f864f2bf12245de3f7f8b4bb6abc9119493b2ee40d8db9a63de665acf5c2a0a5eb2c69c9d31fa2147abe1fceabc0fc401a162852de0c69751d23cf939a31dae0b4fa6e7b3dfca886d334521980da244c073cd0a02ce9659346e38377cf0f0273609241ec7696c57a92addf3968aef0fbc4e72fd2753c38c3bbeb9a666cf5390bf1b17b0b81f93896ad66a57309597d5c4372fde853ef8f31ae6ebb6ab5f8d5955c5f39c6d73f9d6334187ba56e9c36b5cebbebd7955ba2c9e04e7230718c4c641064772de6f23d88368ecb697f824dd9a203e1f69c520cd0afec5ebc2931fbc874892721fb31c6b126b35f9b209cf3d3873aea8aa8563ee5fb8e578d4028e93d794b206518b61fd9232d5d1c6dc1ec4a3e620f148c194bfc533c15baaeb5fa78d71d3cfe05fdd4cc63d173522c38214bb1d39ec66fc61be33419e4be552353b2ec5bbf853d4a12fdaafd9a740c16231c5378bed0a3ffeebe3b394bc32ff8a9f344592e731538ea2ff15d68fa9cdf850cc625d1fa994b80be09fedba657284442d2ad70184be448f1230f4ad64faceacf6445f150874351e5a9af6880f0e983c7f1a8012fbc47ef1470f49cb964ff31245ff8694482df553a8d11f8674d6376f3432aa349d7553b470d8b1477ea3eed774720ba32dd4219ad65f154a9d0191a1e88853f578122e3556e8c8bbc6d949233eb49df0f4f7d2d23ce745c6d403da2e1532cca3842850b1f75892634a80c24137e41a8c68bd2463b6bee38157f3d5cf0e57289a01934e6641aa055868bef01d9966e8455cf6910694944d21e417fb3e7f429af0875bd6ded5e1752768c89c21e3518bcd5333d57970234b9e1bb01057dd0955095839355e94666fba20afb61ecc81eac1390fcecb7119e2d6ceca2a3733bcac32b0cb3de826f547425bb7a7a8b57aad6a88b3f9a3b1b3a72fa43b31fde1f2f8d905b47a0d1b83cd01e0404ee5c20fa99262843d7be2ce77687e682eaf4595aa9e75129ec00c38e4919acc01b477747ab49ea18aa2ea9d26dcffed318a26e8dffb7cd7a63f6296faf37e7f24a6d7f83743391f9ba3d27dab132a96bb709b4f2482e470dec3abf7a00d27e746b095070680f6cf7827829ae697a8131a38f71499457994a88acc54c93613af418c4df6cc60a45837acab7ce2f507e9c6a4ceec77b6a25cdfebe47b21c526cd1034277d5fd96f899861fd361f5c73470c47949f2a9f5715d0f9c4706d81a5e0aaf1fb61704f3426a4b28bcd46819fc0e6ac539b8518f25f4473864b0419af9d61467f3e34fd1537548e481e21c5a9780bfe679fbc11361347811ef2ed2d2a3d8a71fb753e5d33db732a5248ea32324dfff7aa1237b9281800a521bcbcf7bcc23ccc08c9f8aaa80f5a5e4dc3cfd3d5ed05484a7c80c3d7233267768991b5d02c365b5c62958082a3b2d541485d62306b8b94bad2f2f610141b2c39a7a8afb3bedcef00000000000000000000000000000000000000060d151b20242c38","message_root":"0x9546a2ff5a683e26295eb8cb4cf745ad424a69cd28321ef5b6a1221cb3e01542","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5c5783eb27a648915161e54427a9c27cbbefa78f5d999e3a4547a96511b5bcf5a77bcf24bdc7ffec231acaa60ccbb9b10e26641fe4513461445504353a4501ba354731c6dcc29f45eb45ac94541647bda8c885406a0bb8c4b8b20af74bbf8a79b0f3f1d907fa53fa8fad7093e108d3a2f42fa309204a42f484ef10bd45adaa5775d049ba061d9d6fd21d7ec3ece120006d8f609686e2e5d4febd557db8ca67002749a7ffda869d56fa82c5603d7a2b8a425809b7835bdcbae404b2ad18ef17ccb1f86153e94d4fdd42ec90a0055fcf6c76e0c18e354dd14b9c14552eeebecc5d011e798f534bc3238d62e293fb6d496eff479d96ba03776940fef5846ae80c090081bedcd0d3a814ecfd3c0f2ab7e7905d9bc1fa3a054f1a1d572b55df8a65b79cae57decb58f756e83fe5b8987be935df4b4faae959b2209c56c244b677cffab4135ba3c4fd8c7f6dab7b62e815dbbef6d783482713cac14fe361e8486cd9c4e554245feacfd19f068ce7a098743d715f21230a06d22450fed6bcd02835f7db5dcdd78601b2080990f48c132d45a10217e2ae45fa86e3601c77b47ed5a8d425670c7d4b5e4152f336b42cfce1f2b0c820ac51552df6ea4507595b788e891487c0fd38d9a6a0be6ef725f1464790129204ecc55dbab49fbc04d5a535c84e1b0b6e4c1fe604623b4fa30eca9b3d18d9eba70671d20bcfc2c5720fcb773fdb1a3f5b4b36fe7592ff8a65359bb9214d756673b8118cab542065c38e09acb179b31d71fa1b57921ce7bde6abfd392e806ab480242d7c1ce31ec870a24d8eaf179a8fa825de961524e362368b3a30b193b7eee27236e3900c6e51ce4b19ccbc8fc115191e0ecb80496bbf230528bc7063addc348b3ffb5d3fd92f01d70a9a15506e1d4e724d87b32d084492b3581725265af97d6b8eae28694760603ef4f366791fb477c6f437622311b8f17b728fce866cd5bc23743e8b97b4a35853e05037055c57ecf2137e93b2599e0d96c6bf84285338f642997274e3048663b3f73a7e17f9c1ce12c3a620bdfce3711e456b8d248228491cfec2cab3677d11905d9f3f14d13695ed521861147a4a9fa9803cc6f00498371f473f5574535047ee1f9c0fdb315f30cfb9f0a75e0cb43c6d21f64f6cea6561365e484f68977c1acd56b8c8a5fdf0890031a773453e2c161428f5ca1dad3e44eb8d82c020d73daf960dc5e52c3ff29452056ecb46741f3e7636ae82b5ee5deeb7b678e26845fd64e591a7958fba8980058c0aecaea2748b68466d5167826e04735b746663150413cc3f8783fcf10c31ceca0466287c9e77d8d821b17607f0dec4f5516ca204dab5c5904b8b3ddbfab4424a3195e47473dcbf3b4ca889d9658385395b38f82dcd7c0e622146d87fa57ff0eba219a2f4450762e5d48839624516af109a7ad80343b8d66e95043e6194adb89d111891ff64f39dfc7bfbb765b1715d6b23e8a4d7bac6508139e6bf3d62c33cd7eff55b0b45c9b159f853781294b0cb703f97574dfa7d40df6f44f0dc50814c294f8315c9294620d06d202e25d0ee67d3032fed94a8b245b360b677e917f4d1e800aef3f82e7d049c7356d51b513cc125c6687c0a272d5d8c9d25991ec3b3e395f035b15a8309d4e113bbecea4ab198f9d2c43ddf1d672fb3352ffbdce4ac6ccadeba8c860269765e6a81e9e26f287dc9b4c2e65b891b3afc01d0606810cd9054a16088e58c234b0a2ca404b787985ef4cfaab923e51073b34412a1f07601a5aa5fd6141d467f628b38734f8a1c017c9ac3a84892df865cd4abd7cefd9aecaaca2e531066ca26215ee92cdf10ac6be0c57d9b8ce009930c3f3d3ccd71dc7144fa8aecee466e56f1ddeaafcd891a4f4d9b642f74472a44d4722b37430daa0047feb33821f77409be5cb8fa2239881aaa02460c8f064c5e707f389fd12c385f733f6a8ae62b69f4d86f84e6858aa43ee5aed5a55c3619da761e36476d1c210aa324eb6b1ecb3a9ee0a7bd837e46645552067f8b0c557d17fa36b5f8dac18f754b3b9e77be91dc5c7249c714cea53ed51beee6ecf7bbb51cae046dd4ba1c77b56416dac7a4a10ef9bb81832040ca56e3a188ed40c9923ba208071996feee6bcc8bdc6bee9315cd49228e847a2d7c181d44129c3e937d5f6c14f11efed5f5e0cbdde06a51f8faac40c183cfda380dab52e59ea8a5e13fe1b66365725beecb626772425e487fd3c601f6605e22de6d208a97ec464c64659a04e22aa9782835f3e903d05af737af768af91669ba8d1eb84db35724684ea39a15f17f73b153f6e9d5fbd971311aa0d5715557a5fbeaf6439b71569757e75f5e64882ebe4870586ec45f5c802f4f5e0faf5c83b987f0adf5f2413d89ebe0630e8368ecc6b5373746aa93617a06b62db5194f3ff551837b5531b3b4afca51b75433b7472c8ca039a76ebf190bc3cae470d4f7537d7d4555fef2d6c44c41790896834d53f42daedbeab85332e1a13be21fb9fcb98a2cd433b0ac1e807de704374269481b34709d954eb4d584ba2dbe6fc0579956fbc2d9eefd876fe2e38ad211e4eb795f82f9ddb2559337cd9dc9ce9f48b52109e2ec7eaae81c25e54a4cafb118524cb91ba72e28a0032b780c9ab53f2aa4f9e8e9e9b6574ef2354019d438623d9bbcaf3605865c556ca8f1883f1ced6a6d330a2b901f1ae81ddd91e4d5ee82a309322bc8bebb9761bb33afb90f92b0e81cf4948d9cf10ebe83ed94b61d6dd0f13d2ee1b3dd62a3fcd8a1b2949ac7b74a2cd4612f139ae416aa74a27024a0c960775a9f9eb8552a3af51af9afa67b4d554ac8274eeadfcd60dd6a66846cdce434903f70b9e37a18ee4b265c1cc4c54a13424183d84ed432446ad7667a2a87eb1f0e906f338331584566bba0145efcf1cf728872681cd6b78e6a1ea5a3465a4dd88af216d0c8648af215ba51804051b75ecbc6add0985e4ec14bfd861f087c5af59c8063efde8424ae36dcec75976465d2e445b24fca71e0381aa0e8b3c8ef90d9a04194e8928052f9dc08e3de941417ede4fd034c6c9bea0849dc025aa6401ee4cfa4222b49e8458ff9722ea3ad18d637f2e57ecabe65f947dd0325a9ab6c14ac24e9d51ab26ea8c168775932816d7c4ba047a710882482866c3b1b8d646b1e817fc216e84a1e3f724e5e878a588f25e7653cd1e5fc0fd5aca6ce6080b7ec355da8dc34e624c115424a81d8e192ab7275ba5ad6bf855506d42e56023b4c076e0e2a42682405993ec867f97dd5059c24292b1ec976159007148b7ad29ef1c4eb33347bc133bf8b5cc295e42a05a9a548acac946702f88da23f471439c07e426fff6b923a5628cbe943177c53d4ce6f5b0d3998d3593f0abf15b44e7bffbdbb332e297e0cc2525f91b0cda06dc06c3bbc068b639fc690d8140b0d4bab1e4b399f7f6e50d400ce40a32076c9bca8e6e32e130d06ea80449ab6cf40c454283046062fee53dfe4191502a7c2778eb14609c8297c6e009a00856cba2dd2cf6c93d848de9b27e5c3ee49682236f9bf3b3addb0e9213d9ab68395d94a0898bb358b95a2cf0512d1e1fca3bd58a66e72db57ea47e6a6d11b61147bb85cc339bde7e44297ecdc078d576b1a49514835ef465089e1c12a63cb5e9e0d9df02f3fd1620294a0028a20e1365bf9eccc","amount":40000000000000,"withdrawal_credentials":"0x003aea63243317dc0f93ceec54c1e5aee2c01e1d52f1c21579c468d319d1eca9","deposit_data_root":"0x1c75a54404e2eef3241ffffdc6eee91a907c903b76fa8858b005431e82378ce8","signature":"0xf3f7aa89f213e5a5912a7e2ada7778f1f95227dca6acae890be12c99869f868f4fb237800d9e8f37afdf2e9957e9ffd1957acc0691c39bc37e147fb09518d2e6dac732bb4553808ad0844fadfde98c031550a422627e9979a0f0999f68b65c102184c9d2ebd3118be0b8cdf90cb76c5b2208a12ca6849c8ada35a62f01801a8f5808025ecb4f5354eaccf724fef75bb7594ff9d35e25ef75c200296029a19b4a92f540567032996919869ebf36d22538d90c82a15af7f575daf07639907fcca273ae62b33e4583a5a41cba20e0d10fa9e496f478b8de8b7cbf470900fd002e92702c91a43c290b9716cef0d167167b46913d6a3a10d39778809660bdaac08cc52dc492037d0688c59bcafc1744ac300453c870f51a09ec4d80435b78b3eb0f44c8b5c538e0886823e33ad6478605d0c413063a8ee34f0f1c2aaa7897ea82de50866bb50499109193517758169bae6eeb5c5710f2a13616079b043ebab963e5965e9531dcaa090d9a3fb6089813fbf0c8fd6ce336331143a21bf41d60c842162ae76541d25d2d5c96cb1c76215fd433e50e98b18f4279ab4ac4dc479d217a3b3ba978d6784cdf553b96ddd0435efd737aa9dfc170c233985203149d30cc714ee2cb54cb2051785287d655cf63dde0357add82f5494951741ee3f203b3656b108b6f8d530343f7aab60c85ae39d7e42c2d04361871b2e7c0b97f39574f56bcd76dc63318b64275ac73cf7d42ba8ab45c13ae8a674a063dbbee0da4261fae96becfbc36e789466b580580330b7b56ee751c84c4e1bc3e053fd65fc27eaf7dc3819ef97bbda4960587b4989c7253c34b52bb0b35a1b90c9c06a36f735ad4a678b1c0a283da6a7aaf464c1dcf395d0a9d0678ae70d7fcfccabf3c8159c0db093b1d7b32bc60d0b1605a423b653bd39d8de1a2fc9c6a31dae6b41cf5a1e087773ff6135a0ba052556489fa901984fd42a104a92121f60bac4118877037bcaf0b8251245869d1776f1d8019e4c97b2330be2e9ccc434ce95871bb0d45ddcd6844d7009d4799d867d449e7a0daeaedffd688b93295df358cdbcfdf3f570d08cb547888257f78dc5641d77331be3b7010d620171b290ed6c9468edaeb8138d7a0e25c80ebd4aa0f7b8dbc7c6dc966877d88874f659ae0d73ad4f2a0cb70ac9e19094d9d6e70b015dacb767220aa0b8556f84bb9fb8e0dbb82cfe36c42780b6dddba93f975fa6ad23b7271143fb320174eb8f1982f38434b73f992ef6ae42f4afa50034fd3c62b97a98a3bdbfe8ca27c0c041a89a939816125615e55d06a8f2a21e4330549a38ebcbf033e1d87a55c141b4a8ca6de312bd85088beb8f2f2c632910902b7743ab09b04651dd7efb411a8b6db771fd2bc6ef2a4d8b300832d8c569cd6580e4c303b7b864e5ca59a8b5091c2601e50ddb98a48a5acbfbc42ab7ee9cb3722ebf9753fceff6d94f37063197dee150cf820ec6df5a0b15e828f2600d9977a1a4f6ddb2c7c75170cfca5ef7aad076696b4cbf9e46fc37dd248ecc8ca846976d4b8efd588b0b1489e5129ac639529a3630e5465b0311042f6d9f296a996445e58a82b1d83dac6f77cb8719c0af2378908491796fb58091638f13e3dc94bb1238c1435bb1a3316802634fe7d45804313ee3206006558eae2900018137e43310103a4a72e488241b33328e3cde5fc8ad802b68b25e8f96358e13a4ac5e6b7665a2486f076a293658fa28fd5a66a2df3783a8b3a5c374bf1803846895bc88ada459df47887db26cbe3dd4e3757bdf35ae29027494e38da9bf524fae4ad5ba9f0232debbf85b2f3f20f81520368fcff78af0cb48fa9b0e01822a2ca45719362fae35ef8fd53de2ab18e89ed825897a0328ca9a9dcf5fb0271a219491be55464d8a4a262816fe1edfef625a11da0be046deb5836b1e70971dfb03aa20582b4d31815b2ad7b7a926ba3d4a5d1743ccf24b18cedfbc58092650845f0b158c75f961ef20ad1930e4d92e3a8f7e6d79153e4f746e9fe65569fa547e92544809d097aa33099092d1a4f708dd51571b83f4208b7e18c308aebe4b17b7b58728b43d4671f1eaac837655da5ead0fcdf7ef1d383875e8dd1f847919b4fee18f727956af2cce7276213d6fd301a7d42b260ba7c6f62a7571c6fa37b472bfcec8133b6858642229d754547af5d6efa48f4d93cb1f8bd08e2c67e5548aa699c638314a71f9574ba4b3278ca6c18600c329f4d5906b14cc5573350f07e8a3640571dc65b918a359f182b1fc1773cc2aad00147c262120cfd1339d0396934f83cf415b4a31c7046226d3f394da884f9b33797421a00b0f4dc458794bd6dd84cbfd34b74e80b3a2ce1ba92164b590b3b9ec2d2a9f6959b814d6d60dbdbf3f063523c6bc45c630a717d54f1aac93c547b9b1ea9b1d97549606c5f87d35c9573572a97e128f4588f02cf1e586630fffbfa483200bd64a21476520ad2e24ab05848189c35916460c07f167e337aff0d5039ddd03a03da00c55a3c2f6fedd9de679811cbee2d1ea1cb028beb52f70bff6258c2e96dcdcb3665e370fa5969cbde8363f0fc82ac4067061e02f2d3fccb86008a44d550bc8bb815a7e6566771df721cfd8cdd3365b3c37623faf9b6e90f1f271384b364fa83d6d306f2841c9e23dc39190425ba577469681548952900f04e8bacdf166c0fff2de8cb8b731b141a756fff64e08fce0b899d6b006c6a89124b30d6447c8a818a8f14d3f367aa470a54a1e43294ff2731d26fd8793bc3d3428727db7d51a3643b26ac1578a8cb50701b1824bb64bd454ab9ffa3cd0e80fec33c3f45c83c23cd9b0ab8c1375a193f78c8c5075d8785d0560e68eb5e1a2eddbb76b5b1ea40ff170980ab4b9b5e377e41ff0cb602464bbf9ff11389aa647516846054845f4bbae46760813995045b898cb5887da562d69de733734c2677bf94d755eef46b55fe48be5c5a240cd85ceb39769cf11dfa03f3950e7045210067afb002cf5e74c74492232d4e63f4c26678ea8e18c6aa720eb42d1e413dc48e2b661f69739a18cdf30e3e11316d5987ea2430d73201a7f38c8a4a75b493d2bd64d619be319728b7f5ed034003530a5e507691cc5855b03ae6a79f95faea40720ef2b2229fa58827327b5f94df8704fabe350178c03bdc6a5417e80f58952546f9993ee6782b30a4b35d97f269cbe86ab891c981f0e36e0940751f0c8feaa7ed4705127577d123c7edec3069d32d179be1df149a6f0ceb4d76cd968e9d15a51b5b1555d6a551d681f794dbc3807de2a3ca59ce7bc6965702fac1c92e90b09b6ce63d53e778c76ea7bd4c96f3f4abceeb50c52a5aee83338ae6c2800750fe87a4d6189cd3301c73392f9cb7bb0be8a35c074a90ea98062b653d1041af930c9080b58c0d87b38cd4d2f6426062a674e703f9c58e2c36cab896517fba0e8f3c4287a15fad2846cb1a43e6b3ead7239385eeb1e07de42f157849a29048d58d8533c9c51a2b6bbc3780da793217db2a59d401d9d6f020a2ad0c44979255f307b64891dd4e111866255bac00f1b39eacf2be2700681e5f3cc419218d7347dd9456b08188aa29d0a7860c4baba885a169bdcc6ba209940ea6ef5180c5e4d0539f27384a68f85aa67d2e135b8610aac2d11660ba0cc54a1a354392ca679718ad248f2f184150839c49adaa2a6dbb116349bc3344f632024c25dc833c6d40cfd352f81f84139aba7b0c044c29deceb3221ee4f14eecba22e7b2e92e2f8c24e80eac028c75da5f5c62a13548beefd62ccc26ace79be3870153b97eba986da5a4aa334c52a95d53b9d01f75ba1de719774115eddb6411235505f1f334168b3566c23fe83ab9d16d395dded523b9a13a0c3f7d630ef3dd6c5c610b291638833e5cfe37c7244a4db96c640740e65bfee8f0b59ecd362c3af2a576d7cecd133a1467e4ef81fe9c7ffc23447e94d23425fecfdef4234d2f7993fea15a88df19d71033de5336c2c53edbc6e45d69c8ef40e4778dc14dddecbc4f7d367ec3efdbd41a465c51fd6a9d9dae9944d33a4339db32929cab3cb369451beac15525e39fd443cc691b2e095f8bd8f562389bd9d80302aedf0e21e2a6b2a5dc88d2a5b10dacc52d7da09e86a946a17231de39873852867f9d39c711d919bcad29b988d9c8e551ce64a3b3d03d4acc89b94bbdfcb850d89f8224d4f314d85de2dc3dd526301540cb1b47bd8ec1b5c8f06b221c2e7e1d9a065c75b760b6a94a169bd91a0391f01d8ce4ef5aec60fa0004ab2802ab036c40c801c053fb9ad134ed837c2462970e1d9c7240573200f42d5df9f8220c7e578dbbb0832a2b8dab78f3918ce8870acf572e609d9283bdea0a46434c2b49155f15b871f8a2734b7001a7adb0fe48adce2fa9e0916e317737023289c29b23fef0e35b46be078346928732db182bf0f4d56c01d7153cf378a4eed53b005b5696265254f1ea0fd0cbd6b7e28c0b355b9d201cd7c2ee5805f1484284a5fa88b5d2a81411f0d7cdea407b2f5b4603d8f6ff29b1d6fba40786005bf1fd31287049344cc0b0a7d524ac0351d965f07f2a8dd3a2e6788cc0135a5ec36ef4e2abda07e8eb8dbe86c410a95ced8185c629f7e476f6c971a6eeeaf13d2dfea03491ec8804a09d97cb597d402842d1e58006f7786c9bc4e1c166465633d9b0414051c1de86490bc45bd7ebbe305eeb82821b64e0439bcdf9bdbc6488743f796f70792b15590f91dd7dfd22913671f426f23aedc8b9cff32edca9d36016ce4333855336df71f68bc8e28107d8bc9a56a1bbe967b94cef0dced8df43fc1bbf0ec101a9ae969f4787fb6074f2b027674b075625b3e45877298b43e75d49e56e207fb0e8b995d1eed9aeafde73c45cbbf148f061b376e4790ab2740cfb6c8e21a76ca85205970c1c8f2da58e2cbf47a605a6c2b9bab2de7201589735d59e193a85857592a7f85c4a219f4a275a701ae91f654e29ac57a124657fbe0fef372734b34e0702812f9ee50954a96496b5b5769f67299a0f70a7cc8cfbd8a07802a88a9a02f4c5bca1336c79328663cc9199022cbf5296aa3e38abd7aa8ffcf60f9f7a4f81eaf011932d58332c848734f60a9d0a07bf1575f84b67c410ab8aafce5fe490c9923e3cd2e238bba6cf7c6f4bc3a5f0b488a83ba5e1d648e1c0d1b76e2f7554042be60a9d1608611a01447923fa0a7eee92b34e95c5513a6a405192ac63d23980bbacb22593cad120c4c1c61fcfe219a4e7d04bb41813d20eefa84d0ff11f7713770b6818650c91fee088fa97c8090eb2fb53900ae384f50ef7f446ddee1f2effab84134ddd9885bd5e2949ba28dd77e087c7c55336a7ab3ce3a8c7062ecf91b07e3bd0d0867c28da1a5fdbac2bd739f67dae34dcf79a7356e5e8a71728334d9bebbde6b7a3b37618bf9d2e2c05b4de9667f815400f877fe316e5e450da2e1d69c83b786f9b3a872ba863c15ca5c7b3908d822287a5eae2b1e48f6d36a1a995881accd5a2f222c8b466c1b103014e701918b84c289299d4caa78651d6f777acaacd44e96cd21a387eaafa2f96520a6c8a56832113deae02ad34bbd03cc1241ee0853c0248b5adc47ab27773c644ce7b14bc23728d9947144dbc6d79c14066a38497e296dfabc26e118d662f7ba45daac450ca350423a764856bc3c12176aef36d4838680d1b1ec0bbccbe82f7c0c6fc4b13eb43dea4cd0dca9a86db3b5a9bcf55e07b9f86d87df4f21e69cefa12414861d15c16a409d4096847ac135c7ca252a1cad2a6e264e35d8219d1d3afd7bce6fb0e425f2ec3004037bb101b8a48df2b4247b91b3739ea5086b085b625e9937adb72d5613e7f1b4903951bc897b1830f8a323479c5712eec1e9b90ba3aa1479679a6c3830631c473ec1f559f63c2ecc99da94995e368cfe68402dca17c32bed20d45efe19f673c32845474875c920869156ea8e0ee82ec246c88d244ac2c4d6c5c1b736a829980e0876f2d7087630be628efa51df3314e0979c591cfc983d9f83bc52b1883a9586dd6be79d56774b65e4055a757badb00bcf5ccd8aa45b4712134eb942ac0c5d3f2a51a591d9f976e3ba58d868d57cff67d8f788744e37aca2769931a9df69126506a352f9dd95a11209cdd9dd22457207ed224bb5758873d8350288cfa89ef352dc29bbfaf6972691fbfacb8841173b35c4c9dd6e54da435260c9f9813f3386324ccc5717b1726fde1f7832132fa92f007549e7f2d47f96abbf0a06a865ce731c2baa2eadf52f5642e3e1092c31eb208183cd5a02269227bc1ee8f6bf29a78bf2303dc6400f415253bd190923b2d3339e58d49e9a38f2f9daef3d44b1b5246c2860486009425db1ab9260267fea57a6b1595130ed4bcdee7bd3516ddf8fc1bd18593ae5a06558501d50006274a56596aebfa1e263d516f787981f6135d83caf30e18295f77b3b7151ba4bee1e5fd26759095cfd6dbe70a656b88da283e4eaacedb000000000000000000000000000000000000000912171e252d3238","message_root":"0x64c2bd2611ca8b39674c269fe053796e14ab85cbb31344d5e11278aefcd9b4ac","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x79abced2f92067c8ca4b02e3669eb69a304b8a09894f589e665cb1682e1767f908a47af2c20ab0556d8ee53f0b36626a7023a00d72760190c0469b989789b1c3edaa0b60f918663bbd762bfe2e58e224f44bb80e759fa1c5007601ab70640ba08c41c1ff0847cbec065267e5e2a1b43da091e2a1cd5581fc29140eb12905411210caaef6c98f9971d08a88b9320d086852b1fc0572d10f747d2f2694890bd277a1447b2fea7bf5f42407f12f73e682ccb47bb26a5685089d80739bdac97f9d430a83b6893ff7a4d41032f5ced5facbe5efadbd093f9227ba46a50af988d9dad1923ba1b9549928e0f6635fd7f96f59e091b8cbe572cb873136988fa352d375c7445418e7bcb03443f488276133fca94c10e15012fa3a0d6e434e4e72c9088201c3d66d0ce1770d2693eb3efa2ed507cb8922d372f3f9b43ed03c19f4225c5bbf04c041a8462dc4e6ef17c1d92cad3486580aee3c2721de0ab2a000e4234b6410f0e1792a9a06f91e173e1b4fb9fce7bbb30fe5104fc008398b1431c7ae6e5288c30951699b9facddce2b317988d4259bfbbe31ce483cffa9c00c0f7fa389fcb28317bd532351286de707bfcb6f7dc086903a13a18ae41c12c93c0bf15650033e5d4261e4a134e475cabc63b13dadee32e2c89c4a209a1df4af9fecbbcb995c0535f9db1e222613db6f73a2140b0997ad02719f53f4f824ef672b481a55e27bf4327f7bff6618a10eaa8b351488abadab497f522e41ba7e4028d49b3df604f28d3fd7a3c5f3ab5fba4e8dc9a784af5e6365d6a79c50df6206a2d403ee7caebec0833fde15216efeb63104a2502e9a1007111bdd25fd344bbfe96b4699b5506c744b02f90a68ba9cd0de147bb85521b4fde6a51c1d1200615567f9592515381b4064228de749617b136790d0ab83002cdd1b1fce2625669250f2a1fdbe3675c4d20afe716968adec2f4aa0a4030834dd5f46c72a151ced064974508982fef5878ef5eb9c3e0019ea0df4626d98cd2ff8b7ca14aa1714100643246ed61aeedd12beda8f018a72ce0bc11d43e2765f473d21c88677247d2f73e9f8453c41d94193b59c6a7290599fa54566ff11bd9dca30abf70eb9febd7da9dcde3ed4de5d1cabc6211af498d01a23e577984870e63869591b02bffef95e67bf0718c7a3c1394505c84f0013b2f7e3545adab5cce37f77e93677fd3501eb327234bad6a4c80f7fa8d248b6a2fc9d89c18114211af0c06e1a4d89a39473896adc9fe012096079989891bd856c724a38cb4a358dd60fc5fee262a87f0c76153b3db538158a337dd4cc8cbf91f9ed21b0752489bc5db2935624cf43404900fbc34b168a75687e0af36b6991a214f856e0eb4dd80be972056ba7be1bb9564d8d3b16c363dc6c3c114495a14bfbe4900f98a6f2001a8a76f2d60429e6aa10b856728adf2afe7d2713b9bd83de91ce1b9f4b7e915b8b84ded4260b4c277de5ebfef2e1758ae85bf1c769db1ff4b87843c489a53bfa0e696e01bf9947b4157269bd0918ae729187dfcee585a6d5bcda06d6c664167d9892f3ee857e1f9dff26e397aad91a5386707f0dfd0f88b2fc5b20f5a278054d6382b907001fd9a0044a151bdec75a2986c43f52f822f4c7cbbccfe5424e26394a79ea39f5cf08a0fb4accb10250527edf167ec579fc0e5cb10c341bbad5bbbd049c393664c753abf2413d4d60a757a8724acaa45938c6e805d8611b9db58090ffad8f6b5c463829fa299fb9eb6225663bea5c729a85c72ffda2917e8b801fdacb5508538b873a59f3783616fc1348594f4d8b9623f849953cf6a867da6bf516b1adcb1b38e07f1ef906b0158fdde624136ac68eea73f871543aa202c371055de9b00399e9f5d3e2de74b43bb934663532033a01e5c3ac5dd447daae044aeabd08b72ebe442cb5efdd39e1647cd2baf19d71286771b9651d262a871f52a539b6e60bb72d0f7f2807c78d9c6d79cad0848e2e3385ad9f37b5c5394ddd31ceddd4be4a16b6298bd12ec478970aa1ff0f6f041ce329ce1652dadaa944fea554dd341fd5503a448cc9b6b06dcf7bea6ba5f5eca3ce74347b2ce2a055ea179f081707654440f7a9ed7ae2097362f8cccebacd3dc0dd0a7971aa866f97f10b76f632a03f0c5c385ab6cffbc2f068025c38329eb6a99f4ee15fbc140ca5300acaf3e3e111207fb5b0f11c9edd9490c341398c5e949caf10c3935ddfa31cbac4af20c7a4a7a890d256a9a9f32c1d4ac069ee8c22c2fa0d74ada61e7364df9a29816b579ded3b18adb9a66d28b15dd01626a480bac8835a217e7863243015ed693731451feda793577ddf5774b174b98d9a9d0658235d47baa782dde8b1e1d416b60b291bd18559d2228b8d90b800433b6bbbf9e8ee1243656a50c856cf57a56de000e3cab82b90f6f42700df226ddeb9bfc9a68b1107344d26b75ca870157922e8c5459f8faa54ed731804f694c8560d2dffdeee159c35a5da34d494a3bf75eb46d23123ebad97064f91f67936c5aa252ed18fa07422091ae74e349df0845b8ccdd5a349587072329d986baf85258349577d312c2490432ffb3e763943ecd8d2ca1730c1f6f74900faf10e52bb4bff717f55b32a26c6bd805d75d7e36fc435ed4bd4d67272645df5f00b35d2705f30fb02bd2ed75447edcd874754ccf19a13bc44385e69f26136087ae0c116651b3d705eb03fe404d6d737b83c86910a44ba3d288b7aee78a5a79f3324d43f7d54c5be0519fa083490fc36b41f2580ea2afc798a30084f8d39f7955c7e7addf410145662103669d4cca74f9670271e7e5e07134c5d082340e0086be88521cac80574d8aa97f5b16cf9a51a699ab7b426bba8d9f147cc10f23f38f0dae4273f3f547e512a2735e83672328e4d0bf2427cc2b05d2403217895a6e91d63e18e7b8edfaee09b9d7574da4d2b2ef2b26c36673d39486899eaa3e14f6433ab6838b0f4a0c3970d7f5e5f562645c60691733e3ead0e7d3365135e5f17c9f0588a919f38bdbbc1bb4aaed94ed2aa4999bac05a6545ff5220deef82b4164e839de7fd8d387757262137470fa11812994e9935e54f599a9ff625c1294b3424be7765939082ec7b9a4772d597049a36b311978e54e3a6596ac17e69e174e5c73d5fcee2930e7b8fc4e05701846efc64101b80f2a0474ef5ccf16dfabe1dc4e7058053dc7a1272ed8dc06aec5951bca45ef8eadafcfc60dabdefe16f074f5ff2febe729b14bb40a77fc25410436849a8c19ba42d711c6a8031e2a4ba2f43169a132ae59dae5ee57691c012df469c114fa37e8830cb22a5d8566afb39f0f7e44e16add272065ab63a2c94857d751ed9531a38710dfe816f3f5ef88eda1ad2ba664b0577d768ee1e20e730d487ebeb95e185565f14c41a35e1df286216db50062b5ede02370130c043cb97f289e60cf5cbffe093287837fed49345da1280baa54aed814a587b22ca4daa29c7467f97b6315398bbd5f5d760b3af3259a6c2f523801d02bf72bd1618dae270710e1a70f84a75bfd9b62f56739f8d9e4804d5cde60ae0a08294a52e9250a54f3b3cc775e8563e0d295371fd4512cfbb461e19b6a6077e74571b81418f6bf20861d94f1b2736166d5a88c30fec3b2a6aa113526efc14b100fffe9f471f53369d2351939015b3ea654a","amount":40000000000000,"withdrawal_credentials":"0x001e43f9d3033bf91fb0c8f6e0e09ad7f25a06e9c068dd8b7ed7b78f13566351","deposit_data_root":"0x10336147e2ca14cd5cea098220f9e0abe793bd6d850d170c922bebfcffc81165","signature":"0x0f2c5c153b6cea8bf939adba8467ea892e98504c31486f3dcb42884085d3fbb9b550a1d0068f4476d40f4e2b634a5aa23ea983bdf920599c498f7c3262e646c6ff23d0beb0090e7a0a4b172b8c579e951dc1f7f1794c917dc37c3d40933416c8257ca6f87c2976ffead6e138647ea1157c2af5e78013083a7eff8360eefecdb49603d61ea500aa7dde20bb5878cf040ae1f4a4ec2c7bb82a8f657fd95f8be687229a7e369aba0e9dd7609f81750b367b55240a9ee207bfb7cf0992883cf359267867015e1a9abe1a6856ff344effb4fc9ee120a0412a4442880718b065563fd72d676fba82bd02c27d0bedaf010a92ba77e6ff5d54689e40e3e2ffe61ddd50687a40d865839b1b476827d2f6922444386d0a3dc6af4253883ca96c32e63c9a81c31528a879cb5938fd1dffb16f705217af9c4bca6740a5ae49c3d24ebb6e30ecad6cbe3cbb155bff48e65a655742d2d61bb91d30c3231c54fb3463c6a8de6d19baf0adfa6e9d7d1a76af10cde75c2a8326319135b85da18bfd2fb363207e77a19314c8daececb4fb3ef2eeb43f35916c5d8a1f225d0191c8e36c89c7d5f8f241f1565f23581610149702ffba9cf9eeec4cc8476216ba438671c83e2478c28b52fabd8e93e5baa6398217a39eaaf83753468b0531f4845d8070c85b84913e3887b01d36c221a3d8f44e654e9894aec69918f463f8ede2cdd7c897b36263c21dc7f389a112639610b1e9ae376ea225cc20d435a361ce8f09b44f260287105a1d06eb2e32d45b76dac5ec1ec99aa69a695e028ca4ac5bea0bac4d6e56098910cebae362e4d4e3fcbf27a549f659368cb53722428a5444b30b4518fbf464c01ffd1a1ce83fa278f9a082db7f8cc0d202199c9940c4cf6aa4fe32df3b692484fc928612da58467eadf46f994bc8adc2b2a84483d011f9cc8f759edbc481b729e3e64d9c48c786047dc0975583d347c9a9f2f0829d9615cb7901f69e6b217471c7099160a76698a39dd3b08b949aed85342b49eb269be41b97090827ddd3e49e23c30884d47f3a0ee698f7013db093bb8ec8555f9dcc9becd7913087abce3a616884965bbe7d912fd293d43cdbc5cad9f9c3bcdf18d6dd1d45c14d1ee3de539941050ba6d2663286e309ee2e53083c6991e62091a2c1154547a337fd56394ce64efed34c36059710ce03f21bcd95fe871113a7b464e6e9ddd2b847738ec4755f84b208b0f98dac1064389e35b72828d472b10207d0a0c989ed231e747e8249a4147393860300ed1380b944d5df1e280bc1e4793ae3d678404bbc1155c5c6eb0ac55d6067a200d04b362bc50b44b2f796e25351c6f99a5ff3d35276150420dde6e3fead85ccaf0761bc0ea3607b88e88eeb5e7e80fbc412f78300024ae1ebf3d3c67549f2f3973509f274215d4278a93e8cbdb767cbff5fc3e75f4e76d67f368458994a834ce89d5eb1c1ec0365be712e73005abff778a7be0e3550c4a495e69fd1c84c0bdb62c6db5e069817fc2bb130248c0816906623ca8bec7fed9c30ba1e8f55069129d7e36085fd5a73dc91999ef83280516cdd22c24dfce3924bd3b73dbb2efe4368af2684a674dfc87e2885e5246a29daeacc298cbc61a5c36151df6f3fdef88ae00842e8f2e28b47144ca038254c6354026113f8ad205b30bdad1c58506daea696f85ca5f0a278a774562cf36553f7fef270ac68d98fa22f2e168b24346c0501974b9ded59b45382df0126a1418a3f4e84b56a92f5fc3b4377137660bb5a763a4b9989d14e8b483554bae093aa5cc4ade3d51f0b8ef3a455359bd0dcd6569c6f44e5078cb044240bacfa72dad8b4cf920607a60bfea53301f09fb229f947f3d3ff6b2290675c607cd72f1631cdc29ef1a99d2c65691b363c105aeefbd16820aa156acac95de6cc8c1ef5b927e849cc63432fe139468f862c808716b1c611733f4f7ebc9cd53bdd7ec87aa3952eded8fb1f807b39bb9b943432dd3219a957b8bd67ae31c04f4eed99a5a1f8a84a5d7c02a19cf790a82b4a5ad3b88d616df22f04a4933b4a0e2ab4936b8cb9ccf12dc5a1b208dffc4dcf412825ca4741084e057b4fad1397338105be15b0348d2e6eb343ba3f6b0b89e5debfc29106d973336970d847b501daefae99fb7cc134e1134322271f120a0820f95be477270a865d941fe0cce9f6bc6386a73854e1d14cfa73f14110ab781b9f4c47bf4616d6b25891d6ac365986ffb763527fcdefd566a415ca786382327bb614119888853519d61d532d9f780ac0dd563cb69e8cc0e323b9219e6eafbc01775fed7f8d459c2d4052142fa6334f5d442d87c1e125ca6c01524a10c87e119cb4e048b8f6aa432143acd5d256a24977b1a2f58190288840a5c05e8e403f6eff0a83ee0124fcb075de7bfb2772ddf59fb9029ae75be7b91c9f0dfcb54e0d441b2af1f51be9f57e75e04c9bc65e1b655db84fdc7e0f04f91f8256f210be159a5c786c90beae613b8988ec5210a4d581cc72718b30af64b85405af396ff9d680f5bad0a208660eff84c44b64a4be14a0d5c05011a34b1a14e1bc8124b27b462cd7a4b90f8e736214bb9814e0ba5391b90e6290354513de4bad78416847b93b5eb331b7a5d662b45d2a659169a38a7c43cd9223318bc541cf7ec58551f8aa7e420b450876e815d9d2971f65a1c932676595d84cdf52ba196591263b516030dd70185fb6433f1ea89b9104101b4e67cfad72f0c96c35465381bc5b53356ff60317507beb953b0e60636d0a00efbd86f9c1f1544c466825a54984aba432ac1c2f314c15aaa1f91494a6cd9c98e834e8703a6164b6ae20b4e383c4a85e0a0968fcaee6819c33431e86f6a69ff0ec26d5446626b3928d71b354d3608ed865252539615a2cb6846620ef62ba08e741b85813f2d4de700cc61d0d6ba3540c4e8e2bb8b17ffadcbc41fb7bcd85435d76e3d6680ef173e72a0e5415988d2ac888f8a853f6b6cb548c72e02440fbe904b4a5f2c03c37f97691fbb2d61e9d36ec8b85e0dedd1f492da48e7dfa43e3ad0a6b39e8e17391094229c67234b563afbd54d16272e0e424930ae416331fc1ed64b8fc823e5aa209eb49836831e88358982c675ba1ed0199199247c06b67ebe64c3a3dce09e830a94902c8b5014fd339dd622ffb38aeb7107236ce76a912756120df1f097aa507458355d55172e80a57ef04bc8aa333ed055a0c1e588fda559e797a77cad6c251b5f4f7cf657365b39debeb6feb3496e940af57c3f65e29ba37f32851e5489586ba27e2ae6aed1c779ba6b2f68196c37794fbc553f0f120610f93ecd9708691c3af48e194d72a34763e73850cd293c6d8ed1bdc9cd15065e85833587ef6056b19a8dbbc4912aa604ed88ad6699592cda8f216dd2e1c86b296c8ad2deb3806f46c18f76d3dc94288b09bcb585be9769ed91455ae08c2920799f353044472dcbe38233691f33721a80420bf7827f549c3f29f68eae355851a822d775fd0454d91c2d864a930b57e35998e7d37701d9e29b9766d9f840042ff9340aa6993b84e6fb4b68f5f41747197f4e3b66160a749d215d103587533861c27ac92a020455caaf689a5e0c67637c0ac45b7455a5562daa2a2b76fc8fbab774beae1e26dd47d5891a1ba512bd5f324a8e8bd308fe67fbe6b894840182c15c6d11057aee9a1594bf78efe64581c0959433449dae1a0e39c3a854e6b8f1a3758078797b87c04b5695ac78a1702f876c0f3eff72c76f97a93f017c90c9af05cac48e204a5381e755e8b9a93e9b4821353a4678f523823bb721386481e159cbcef2a8d055ead7b4bcc63bf13ca6cb60ea10807a7bb7cb517af5ac5fffcb78c21c6495f5a0c8cf838b4dcc916c82197d5a1dc8da7f57893c5ae05ca0a70565f4b4b63654d5bd8beaf72f4a76cbc2b1d0aeda9bac314f5a11f3abdc81e101ca57d77b9b9fd9d00ac9153e13e4d307a0313b9675011c9921f4ca888eeef491c3685421f101d96dcbc58920806e33706ca32dc5a392076dc01cf83dd102c92f5997d3c9957b722d5252ae128092215df8ac84a73719555ae07e54f8bf115dc3f05e981b01732c697e8d90ffad48b7453f826ef10e8496bfbfd6739b0720eded05b4e4f6c1ec5412bc8fb1e14f6756d6e4b1791bd5184e993bf7fd2341527ab884e27b74772c69a6b6766b778f66c863d017697fddd28bf07b80aa0cf43646c0e27abdc8c38b3eaefa107895c6f60a61d663270be6f665d054c2b5fb22842fd4edbc9cc7c8a0ccde12cd38e9f7649d69e0067520b75f254a08aa2222afd8cc2aa8dd702a923862c32cfbccd366e5f81e6b8b818bfdc9f9d030870e2b0a74e83f8f737fc757e5f36597c0cf5b2849c8a7ac6ef53f4d6ff3141be928409fcd46e1c6d02bf16933e3ff419b6256cc3ddd7ebc61b739e629834dbccbd088c60e77e1fb5b8af9dac7fd7832bdc46ee6d5aa340bc3750bec96d39dda968bf231f63acc61e3377ab8ee9fc6381cbe5dd84d570f61103881aab215ea5218c25589497972b7820a5970f5eb8584c68793819c3df024a09b9633a8e45636bd10de1aa09fcf5ed32b83dd4b37eb6aadab6267f0afe3793803e9bfe6c2b9e7bcba427abf36a2759c53fa42fbcd7e7c6a1ed7c4b29d1fe373c65ed15968e7573cf8554389560fba74a97f9681549b21357c5a13c1550ee5d35cddb2ece43fb4d18149ea8db952c7609f74b703fabaa6046ecb602db55cd979d3d60b62962cad3c88222ba216f958a2ac035c43a1841f7d15b8c1e827b87ca6188e0bd83ce5c5e8037837bc073c32f44fb9a117b7a3087285cc69915f3ad7e96110e6917fec9d2ae58cf3b0e2d31afd5221390eaeb7f8c1c7aff4542ad07a90665f70375e41cb2be30d4d83136e15bac2cc58af447a5745eea40bef3648771cc81397c5bcf067ae166ba9de3603a9aac63786e6daeb542968befa496f6babfac01f34a9b75cc6045cdf880766a6a02b65dec61e90527f6495b5ffc703ac47904bcbacca1681e315611841026e04e4c0a75cab108c1d6ba33f7fabd51952098c6b5d9949432d7879f65fe7aeb99379ced2a07fbee437762998945b6b64145b28d1598b10fde03f35d6024f0e6224b54fc2cde29817bad854c3bc98dc36b7f358b8bf84353dcc6033722468122a36ee61921a2c33b71d452e40a49519f7c525efda933c64660188fd9b359dcd1cab8a1a9c8c3b96b53f084d4a1944e503e19391b141fb9fdc767e8e8e278a58d48de01614ed48f4880bac39b2aea2e2e2913861341388f3d811418191d0d91786f00af229e3cc57ca8a7fa0775984deaa735573e24b3ff4b4d4d7ba5c612c2ee1fafa02e5ba4e7ad4272710d70213dd8e8810925638bee5450b87cdfb699c5a4b06a5ea64514ce64009ccffb0da14535c1aafab8f3f00da702df48c45e46eb29cf8ed5a31444543099988d8fbfa2a35c41b6eff32b78099d64a633ae033829264115167f46db67d0693893e3931ec81789e1983364b52f75de4049a562bb6c6f23bda1d927a69f4819d474c87ceac45f47781ccbd88203dfe242d7b64ebf0faa9419968f2bab39511ccf34f48694beafa800fba92b9e236cdaa63d5b342bbbdffb89cf6aa42a6d8dd54016a2593769dbd1f975eb93a778624ba515790f2c1acac8001aa7838327337f8d8acaeeed2b343c3d50c279f61e8650e81357c484863b72934cbfa725cf8f9b5cdd3b510b1d3238903181de4ef277b30ba12d780cf40080fbf97e04b80882174ff28c77792b113107dbeca18cae2614f3dcbddf509a9ad954e5a71a902e3a980d72d6b175c9c2440be1ec53690bbfbd6d00c769de6699f7e4e4103db905c26f2963e57c7de1ffdd7f50160520399d76853bcd52004a306d484611216cda9836f4682f6618e4fc398fc39b6fa9c2f8b2371f22ea47eb67a387469d16dcf0428afda5db9f56dba2e80585a813920e1d4cbfa594445d5b44ccad4e17ae302438f9588f70e4f85c090f79dc9f52058fe39f59cd30f0afef06fa85e5e91b3aa531ce6e82b0dd6c1be2c571b7ba1bc48f971d3fb8f210f3357661f3ef58644385beda3aeb8c82516eb9bf469eec4b284526c69f54f350f7bdb1a82496f38e63fa55244875b49f5b8bb6740bcb237a8f457929c5f17aa1ccd770f5ed9c922235ef33f0505c5ed35f37aec7aff5e91572f19e20e04a38cc42ebf97a9b7ca0bd7d1fdd3f19d37c4a16e72c985e659590e54d6ad44b03edc4e89905048814562b4c3d9a96b2b0ccfa01e606156b892ade38d492d4df2fe9122a1228d07ee3e0f482cbfd3c2933fdad5256410f3110805038000fb4047c6962b231a9761d2c8cdfa3de2e5c3f25dccd61b7651253e166414b33ec9548801058a38fc0df5ad18c36b901d0030e3c5072798485abaeb1ce27405e7b92f623274456669cadf3f4f8fc13d7e6f503141f32354a9325466ab61e277f9cdadee20a7075b2cc000000000000000000000000000000000000000c121d21282c3338","message_root":"0x1dc75a344417525840233a3b4a7d42315d7d9f263865967c9a80504b657796e2","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x092200e5397ea167e826e9cac5cbcc5dd51d12caa8952c1e4dec13cb7f4ab953fcb8039baf309aef9b9bfdcd44c388ef04a64eea798a6d5e27fb6c4b8fb1d47893fb64ec84e59167bfb17c9064757f3adef19660f5c2b0f7c4c9534ff9c01709f25c20ecf20586b3897507d33aea50a01b0fba7d93843033707b1443556420ac1c775f55226843943205e8679645729484aefeed7b026bffdcb15bc4f19e0d93d9943f6ae6b192f75ae772ee301b1663446aa043b2741e10d2bee2a1a79400954462536456b300b41524b48b27908107167afe7332ae0ff1ea40ffba2cd202df321fbb0260e7934077482d738de7c1d99d9b7a2c90bbf10258e83e6671dba6eddf991e04380abc624938aced1e143ed88755b32a3b4ddd53131a6d1d0fc96b020ee6dc1cf95a9ae4663618bbe8d5ee7c28077991fe925ef85c1c88951cc4e880d8f652ee744e8ccfa0bde6bc515d73105880734b06f8dbbe231be85f5a6ff69f399c7e02315011e9e460210edbc0fac83fe8286abc62c8519f078cb0cc10c3ae476bb4bbe0510752e11940d066cbe086ff664f3e124a69aa7745e8b15c4243518e5875e932dd4f8c0da4a0ec5a24b4eada08c9d62f3040c5df79941e91e013251e7c6e5e13dc01326719d1c88405c7aff85e45c805a7d5271e12c0bb9d9616a4a4bf41b31ba58e86c077bb240b33a537630dc3649ba10ff2cf50f8853c74603e1fefb2d24e50db04403ee702f2db0db41eff9fbedc061458d6ae37c062b7f386bf3fe2e0441876fe3a564ce3f6add723f6ca96109514b808eb4af7395088cbcf333a868c871924a2ec0e1f8d5d89430f7bd5f5f0e22a28f547e09fb20e8a546575c78593873186aa555855f1be5c3fbc1cc926fe75d00edf875794d106d50eaa2d13ae1aa60950e3f4fcdc57db29298f6d754fd70b5879edbe8316522978ee584120674a457e1cd17f5f47e07131161e242b56c23e127e4e27741bb448671eab487741701e7a3e91720952342c79df490d618293eef6fe5fb59ca061caecde833e47c18de4bcd3cabca9ee740e48d38ebb863f4ea4c292fcfae06f21975ef8e1ba0d8e5240b578291e5c50b6ef2f829c9df061b974e096cb2322f023cd70b1eb7b090fa5604253cf0025c50800a3dadac0efcdd0ba381324651c951141748e9399bb68a85fe3d942f8686804d12b813ca16ab230283d931bbedab1d563586a0ece8348be216bb7b82fd9593eebfdb64510a096264fb5ba70910aeef1d33c2310fb288b4cbc197fdabcb193b733454ce5f9cf056d99739388b72d622478f945d4c3a22a6f7ed7cf9d98fc3ef8df4812e226c9516ffd08540c3bbd085e4646c3481209118c4e31ffcd07c858b353682582fb1aa773999eb6375a512d00fa72ab0e36afc10822003312d625c43f6585f787e0157d4ade57f7aef0d005e6948509b81d9da50c8a5a859475924b66681c9e01d9bc992bbbd72a9e6770685039f2294603b346b081322f24b66fd2075c3754866ed3aa7afe913078d1704c8fac36846bbfc081e46e97bf2aa092c7b2d29d933325ea940e006adfc9f4b3ed90008fe5f283fdf7f523d4c9d39281f291c10a4aaec823ded60ed11695e04b5b1d60680f03ed5e057ad1529e3a3f85c2676774c4e72bb9f8d5d3f9328112d3ea7492167d45988876e75fb7581a633dd3086b3b2d134818c57a0e030473b0e238033cadabe0980c021bf88e3182b08fdb322be55e54120efffce43056b0f0d5695487fadf91a3088fa5126cb86ca7b2cf56f8d327cf3704f223b99da1428875fe62199bdf071ffc9cacad051a69345d7151e7189472afb6fbe22dc776abc1351b387861c2291b7ee5a5abf157873323129b4345d38007e1fc96936064c7652db1b74a20cd17c9806665f9400fa7c2439e180dabd9e4d14d4b2d0af4f3ffc78e6e39089b6fa0ba268a311fc79542d0d063c4f6460ea6a404de110236cda483387328663d026e4b1d2b0e0a03dcf728ebe2c74be4a2708693413a2135de9ec1eed0ad029ec8c5f91e92b509cbf1dc19002b4533a989170e14198e802b7611ddd24ee58385f0d7c33fafb766ab7c96aba2a6b589f7872250d7f44972a8742932b73d60f904f9bfdcb309a6f6b0fe1ae6cafef20ef586db18f14f39254895112e14e38dcc537b328f3a764e053f72d08454ffd5251d3f426209d2029cfd41c852c57cf36da08c2b65e1b416ad035c7d5a4019bbfe04940902fd372b9403cc766501ff2b378bf9cbe0f428409398d2750a1e237d6defaf9beabaa3538492d67bb19ebcdb7c6a66aa06dbd43bd538c2506ba1bb514ace8986423eae1b320ce1b0eb4fcb6a603cf006e1237ee1edbff3937f824e547a4b64d8c84b3e61693750c80226fd166ca2e66b409cc7e704d0357481840aa74cbc4ef84f27ef413ac745a18d6ab87c1ec33435216a723b8f9020048f4429887ae3d59bcd774e8ee83fd4f9db09a31ae091b7d91154cfe39ef6b42be0d56cacf5051cc9b1b467a7ae85de637123728ec3147a8c20ebddbc6dbe359d7e29ce81c86896642e3a1b59d4f9088dff1ee7f5a3bbfd94ff8df83629c47aeb81aae4f391864aa86b6e6ad47f0cc30d9a0160ba1d2d5356c6e7d5392525c3e27d313df4ae9fda4b1c8b53d97390586d13fcc7e9924e5938ed35631f0890da6b9035d3d627ac23e2d6aad9b3e37ab6e607d36add8f6e47eb80269feae702603b688bf175b967fabc61e5b2ea4612aa023a895f55bb6b2a8659633ae0d64cddb10d8597b4aa1b64916d16ac427437e0626578a7dc8e3fc2b7c3081eca33ad51dffd1fd32b004e6626e0ad7a1ba45d67d82ba79b6059d66b97e5b1d5dd156e7af3d225a393d34651eb3fccdd012facd89e31345cc4c7bc4c22063f435e4d1ab515d89176f402232b91c0bc78ac1c3dde87e9159bacd6d40e3a1820304d89864620e3bea1885abce2c5ada854d4e1fdd274c063a7688932f6988f1d257bb77b21c9ff9bec3a9f1870c015338bb417c01d46a6e2fef34fac43d0c36b02c85de87524c5699b7901d1fe8fac62e648f6af51b88d98f6dca406e856a33141bebf1eaf5d90908231b0748e7cfb329201b19b0a009523870c7d11edf3ed5f5426329aa4fbf25a908c4a490d7e84fbb965c325bb98591cebb427f8d9c66db11ccdf36378905f030e0a9a78ee895ee7b29ca448cf7b63b5012724525d3c73adb6ece08648c1110c9b9f07b76d02b7b0dc0b267f1427c803c93dbccfc0e2dbef4e7d2d508279e9b3eb3498eca424f1ff2d3de33c1eb637d6b35ac49a3ddd7a62bd1c72cfb4932e879549cc0f263520b9bdc7b258ff5dd9b625aaf9dcd0414ef7d719d8359f0dd702df7446c2d70f36e2c352f2bd0b13b75ba54d9b5f61faf539ea8031296d95dff4cbe138771d4088d6569b544f769bf0b3e6fefa0e23979bbe9257e7b90f7e56c5b242736856f08562198e37b1d2e4f084f48400de3d3c7a1876a8045fd3caf81d69323c3e11b62e6971cdf5a60520b7b23a6c1641215f141081cf21e9fce564db59cfd73870a8902cbddd21ae8b3b0e510c527c1f0f90e6f020548710e6f5518037c302272105b9fa91746bb2412bfbafdfc86337bc6576a818724afd59c3a5951069c792b9ffe9c6198699f3ff2d87472576d5dc5a36","amount":40000000000000,"withdrawal_credentials":"0x00b683496dfd8483226f6baa3deace643096a2cabddd07bf027b0d81ad81a287","deposit_data_root":"0x538680fb912c628813a52f3b90135e3a3e55d877d7a9c3b30ab3ca85c70f8074","signature":"0xc66f791fead3ec77e6b63ce377aec06b5b1a9a7e82e545d6f3fb34d1d471a7bc255a102c609f38ccdacba522f9f4ea82320edfaa588a2d210de7da9b66706f46ef76a605426c09acb2d40cf17376b5580002993222914f6a16bd3533c09753cef9dd29b19f66726f4c2a073178e8a3f07ac57629fc515c54ddc602da7e21060060e3e8a61a953f1961ccb0bc297bb431e35b455b52a9018eb05efabcab800922086e605b700ca9908811064bd9b2a70b034c360620d9b8aa2e7f068b9cc3f9ce6a38fef01308a6366d4fa8b851c7dbe58eff054bbb82629b26836fc4d234c89dde157a6fef8e6146ac6b9847f94b21a126a8f847388ba936bd7703d74eec867d538d49128f199be22b3a686d6487cd308b97a2cdcea9b40f89bb450988610f1792f88bfd2820105d601157253fd7b0baf6734b54bb423ea8c6e74fee9820e18a9235732de838d0569fdd71a7785af9c36b5e70e6ce8dceb0050f2eaf77509cfa3636da04d81a32a083fa2f6d168d362cbeade61f6253c6e445b045ca594b4c9954a6f1462a549d6122997b50fc3e8e2f9876fa95c7944b41a0955894a6274bd06b7706d9c309016f4dfb4501a680be7155b6e7d3234b61c3848310977589aa527a18d1399aa0d694f8808971f5eb70eea0be6e0625891acc351c0841abca32a5f73c66bb371086f6d633619592d5eb396f4dd3625fb4eda19c4959393cfa13b3f653ba1f00f3e7c54c63129a64340db3d6abf424008532ba990eeefd8293c6a1d4c72ef90ed3dca85bc8e3e1b332452905d6e432faafdcd88319d130808aee24252875b32e477167bcf2fe288f97e22359b300d24e0203f3699413557e81247c6fe52af5bce2244c96b43f1030529183e8b7705d2c06461fecbee508acab00e29a33fcd27dac76df35bed17410762f873e83e28da2b901b0164ac58da53ca178dd7ae1eb5ddcca4ea969dc08bf3292312320acd3d7601bd916986b7da4d5cadcf4f6df69e2c7b51da60c658197f661443fb51717b3873ca061998d0dae2bcd567211785e27f302dc332ab410580fd818d42cc2e31de43fba3fe7f4b9b3ed97f776227325be2fd72510f58eb8667359ff473e1b5c65040c440818b5da7b2caea8c8803360f3354a4d3a451285cb4ac92f7f55a7560a0f33d9ba0abcacfa5655570bf4da4f027bf11565936ac006a5a32a302d551b7aa3062dda34d9a06fa590de8fd6491a2a3550b8b3bd643b28f9c8e3829b8442090015c2e244169c3708b2d7f05683b57a7c26deba43fc1ab4597e4f380b89a675aeeac2b3359306935e7d8f9eb2b62afa85e00ca89f3524247fa2a4642c56d9a13c96df01b6630dbe3b3d55c4d6cebf10fd69fbe2ac42f9989d720c69bde31e02ebb099020bd694bcb8822f1501d8a1f2352bd3924ea13f16892ef761a0654eff23c9e46ff4f1b51183bb8019c9a8527b6b9b75707b4bb4e3bb16009eeaafecf62c0999b096e9c05636b912e556c7ef4890f5170f7829cb51fb12c36ea6c1689abb033f5cc78db11730123ecd56d7313f468d513203f6705fea98d9ef776038f4bbe3385784e55550a7c4808f4802b07e9e257902babbe66cd2d2811560c146fe836233a05da42d8466aa6a5e925d21f547e0581e62731e1a8f3898e1499339ebcf598890e34eb962fccaf399038247b3983fc79ac1411ab2109768a23827fba37ead7e6a485eaf0a01fa626b7a7ddd3d62b9cc0668f7cf5881265b267e38d0f4774aa74810a2d4155cce6695ffcc86ea63cd1217e24d679f0479c1d88984b39ba5c7e602cd7efb91300a0ef563861adaf03cf81aac597591d61b826b57a40b5d11d8d79419666359fee0e1d32f9cb636accf6c58fedefe1e06c43dff477259e6bf503a2b6e92a65ae2b0456741ce5657f1318c88cfb8dc3ad788798471ca16e13f55399acb65cd9782d62a97295d7762a8edd7ccee3340bc3e1366d34a73bfddf1c4aaed713f851289e07fde6170e3b6af0738da07b6f52870cbe8de4c6201a764397acbf2788105242888ab658d8bedeb253eaa12b67b6af13d3f313853a2106e53f6a69b85135ff8ecb4d867f8aa9128ac2b3c3709fce97a4504c87026c222b9484d56fd6ab13e497f5ed4be091e0bed253cc6eb32ac989cc950d8b488f0126d251de983397f18c88f503f1c96121d731e10aae989df7ec1be4aaf42bd84306f9d1bda1bd81a7d98434e6e6a6d87d1b766618151d9e6bb866bf2fe74646ec03f0c77086c6b7b024826514869e8859aaedf0037c6e0e1ba73ebec583179aa1df5ae711b5fcde3a1903b8e65424f9bc0a75402dc022eff5077c88dfc32ccd228eef171b7467c666989c4d58a71af706c495f850a1b7b21fd151c2e0bbc8dda09379392ca7c644fd4c5a60b2627d9e05d9ea638b8b06051ab98940b30ee0710075efe4195fa7ff1ca4cf4e895e05d9bd0da1e91ad92ca29c928387a8aaacb6d9130e2c162879894e7866438d6c59a15069227b1eafa967f4d196b6efe3ed399a1534d8a49c5632cf9dfea37da7ef68f39c8228e4beacfb14036784d743fd3b8c6a6e76f8f0a60664d9f79fb71239dc4c476e8141e9bcdc26997b515ea696303b55a94dcec68d25b4f50023ca82496f66b7d2470dafb065140b25108985ec66eaca819fe34e30ea15e435e7e2ea84b3638a54865bef16bf8de076f9f1bb6e4e633cc26f4e20f4485bf48161d5172fc86b80fbc932cbe08de2b7723d920b205365d23224d0bfe1e98e4153cf54d46bf92f573481060d21b70316bcf75f04230dc69d73627ceec0ca70b92be63f20037d0e0d0a62a971096402e968abcf189d07504b9800aa025dd51008ea0de72b8e48533e9175ec1b7d39ffc9f6dce49580fb24efed41e5bea92e9c874b5f3f2b0ac6ec7b36a256827245ffac4a729fca937d74ef3dd73b6c6a68fb178fc3243084ca5e403e3f1deadb3662dc746f6819766dc2e2b844779c9e536e5f519b585021b5197ebf86d6e5b84839782152b7d2b21bdba05035c759d3ce42d18cfeeea5a62b0fc28cdc01bd3750fe0919f456a93f9a6e673311325287b5996fc06cc8cb3d081cab9156d25aeb6bf2a74f801b637238b463288c9965cab09db9c42860a62f7984d76e3350a501eefa9ad18e3a2d528694cffe778d1444b28e6ceb8117c0dd51355ac01b6b0a62114f670fdf3ed9098d4c2d945bd17c361767b7379df95502abe96e39864c12cb7b88d5d317eeee22b8f72c651aac81347e41eaa031255f9063d2835671903fec2788afbfc09a0f9249f282fe28968beeed3bf216b50258316847eaeaf2b4413f9ca5844d04a0b1fc2ed66dc05dd084aeaa7d646be7829524a54be33b34170f292d8d8b22aa8386de10cef244e3d5a11c3c21c2ba99a32be1014e8dbf5dbb4fb49f2a7c7715c00880ebfabbd650fdec59f1c5823b69f5552444ff0064963eaa44e688186ed69632bebfcb9614b6655495beef38380ffe782ae7ae1005654781080a9302d56e4ac85169f8be979707473d69ddac20b6b05934443e75bfc54bbc973934c5b40e87dc2d091abcefd9d7aa8c4b57bdf3787cd87e930f3802cb57f7d352281985660e0172632950309b3dbd778ac9f3206581d622195e1c3b0d6c11c6279d3b71d3162ce88d2c9fd0bd1b044763aae7e3fe826029d8d3f2c6483f159ea456275336c704bf35371016222a25a2bf0c91787839047c598aa92b612f3d0af55baf4b1b3bb72527bc157ddc03d916bc45da4027cc3cc100fa95b64d0c64e4ea65a1523b097bea3e2ebe845e00d801e4c954f61309f7b04a02fcec193e321a14bcedbeb54c63b22177f55680321fe370ce394a3a592f8cd81039fc62ed876af1de5171eb503ac91606217d71388151a44b41304efe09c0c971f6c765f4e92f86af382e6d7218f6f81e7f8bb8d9df80c8d601d9c0ce313768418d44d6d51596c7bd5efe41fadc27420b4a42ebde46b5afa270262b86ec99b1d0e190dfd9a722905e885a2302e6c76ef280853a2688c33f659debda8d71e87a4a3da693df57b1e9973bfdcf3cf668b5703a845659f94a92a38bed6a4adeb8a67035bf65a5943289da7dec61a1bf8fd86b1422e639517856bf70ba5a813c882d742f09e51824394720b2aef9e3ef8d832049dddb6b1b3041f4bc0d9e583f88e97e7f8f0ed7a32c49a4babbf7fca4d0c8b7301eeb213a1749822b0682c46799af80d4c8e307a00992fe3d0561fd24b9ddf0c435bd0b66afb970fbb4563c6ca6593dac0e9f47ad88d860591c60a54c878c8d95e03a33366674fc573624498d95f8297d2df62d438a44f40e8c2310774e3fd1a88025c98186c317e40ea2ca4c32c16ece478d765cdf6f3482a943f1246a66445bfb2d7adbd255d431928122194dbf8521b909365e830b7ce31a82a180186765039fc3d3fd2c93792d0591b079e05beb7e0b1061bd16a8e6a9ccb664410bf3107ab4ee5980bc24d795247419936b9365b1bb09593803e9773a877aff0620947bc1dbc0aecfee4e8820570e0d887450c0f660cdf08945e6ddae6af9e53545cb89daa945d3a4d01c05a8a320a0969f4496accccb9216482a948f94c7b141721776ad35c9753f9ebf15670523033a3c0d006bc83c9cb641df21e1d586708c145b987749d88c6ae65e1051552cf7d17bdc8198f1b7faed244ef0e70c7ddb5e16b442bd27ac7b554c0e82aa94ff19309b696f3fdc43e6d2c1957eea94ebb320e28c3dfd6b5c8f31d923a311d15c1db7c1b01be5994f154b65047d910fcbda1c0070a729019d3f6af748f1933cc43f7fd488225c8bf386b3e450ba74bdece274a9fcf2ba970ee2a88e1df42f033ee806178e3ed6e08269155b02e5f5a1a3b875cd85f624a4dbd8f4863ef12af467ca8ba504aa387dd4c2fc04cc9370d2b0a96a4a796f9f30edfe366871b5a1c0a370db649fa703aaddef546f8273cc7f3bd7fc6683a067e9716baefd2791a029eabc394d352391841ab5bde0ff88c92dbbf0eedb4c3e44bb95b9244164cbfb71b242a76437cb52da186016b0ab4aff5127fafd0b611c659108e38ea05628d3edfbc67e681ff2aed4f11d4017729f85552f5f18c907dd0f4773dbf6246b61accb8c58886eb9d987b6f703c253deef1802acecfbf5da04b89b0d4a6be5ef0d949d0dececd10c449d01f05d44752a7574d248569930e94ba9848b1159d2a8993d30a5573f5ad760d736b216413e0ffb1c0ffec93dd9f7ff1fd41197305040cb09fd7812802d61576bb3d42bc792caaae45cc856439fb375e9d7e791ef23778372d245ff04a8eacab85b75dcf162485bba3296c8ea0acd5c9dfbdf44b497d78a3034c01d83ec2b9d43262273071cb099f6bd6bf9626d9e31351514456e9a76511590ce93836e98cd959851625caa0dc459618d6c40e8ad7fc3483fed7639f7c642fe2b65670bac33363ffa65dcd879b6c873c1ef463beea785c600bd7e8dc47a3d650d091e6a954665cdb83cc4d2193ce252768dba36d23825231b1ff43b6957ba7437c361290194a61df5b34b1ec69ab65b5ddd60fa4dce932798f4e20b291548a8d95cc6885a3756b7ca4802f43600ec1fbbebb5c43fbc3539f951fc5997e919e0785acf07a984ca810af31391623acc83940d904cc2649222e0fd80d2fab5916ab2b2083c22e68db5413c0abf954164df8ec2ecaafe72e82cc7567148b30de24cac7774e32a0fb217378dcf97ed8135bb3242880680c679bcc728419b2e80a073e53a0fe9916227f1fe6ca2327dbf4b87a0431c5fb87bc0d704376a7c800dcb3102399d40e003f95f12d17d8c3cb72d31d38fb1efcce8de40ddb4f489412aac14340def9241a11a8b72a3636f6ca7e55701a69e4635a129c65ffb902e865daf1b7eb9c9552cf1a5c4926653eb8dd336d511f104f89875eccc2eb82b015b0111a5fe83c6d88fd0c5c4d4ba17effeeb76e17d4c240d24268d701b11686809e5f3793541a6bc5b9a9ea3d66cc0e6bb0ad6a8aaf24b1a38e5aeb836459e64ab0547d1aadd7156030716d7555fd6afceb013f6b65fe8caf566965e2e0a3f9d3811e95625447730554055669520674f03d2315ce07cc937645fda36de3f2164174cdd77a102c91b1b19e67387c8b7a4bf277f62a8d4b0686a8f9bcf2f04b09de2d761bf313586ccfb450e89034714e28b16ee074f8a7508283d4e3f95d270f33f984bf3a5209d05a5511924b5749ffa9baa32a2601decddc73b5af8224d85ac27835699b1686e1e4218f442802524eaf87b6b0a0632523d25b64c121d761fa8e7e7b8818df28764ead24c00d340f67f80acf165afc77df0be91ca0c84f139873de9c1c7533cfee47651b924f25a449d024a5b34e0fdfcf776f11e40409d6513e2fb00363660d3b5e63a8cc0b1634809de4f8314f5c8992949ed7dff7fe00242d30c2df2b324156a7c7cbfeff6881cbd0df174043d62c364b4d687cba0000000000000000000000000000000000000000060d181e272c3037","message_root":"0x7af4b6dcb61e1f999e7c6d5165471c1157c246f7f7d1383e5d9671b1d686b29d","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xcab5d1c4d3f2a6888a78123e98bcb5bd690d544cf27d93072228b789d0f1e815d86a0a3fc4ae809c0d0966077888987bbdbad45577d866738c8e3a094a39b5644f5468fc0c1c573aab84ea7b504c79173208513ce591df56e47d30af7d9ce9a9664b2df9f92912e51e8923868ea5f1f27391bd4c0d3cb2b0ad18851d9e96fe3a17d6e587aef113f644b2ed78febeb49716c8222c6a6e3b136052b6148c565962d4adcec0c6ae1a3c7d8056d418fb4bc094e38486fba3087e74958b92040066e1d8c204d2da1af435f924b930ccfa10c5e6b941dbfa7b9d20d2c2a4098468045c664e4222f1f097bc74729790a53fec7ffa127e41f23bab168472d4b12e0674c38c9b5087df8d1e780dc5eb51c683ca3a3b0f23d6f8fcba45e40967555de6a2902c544da1c0903c3f1f8b62f562f3806c7c415991d9414b2b5dc79624af2d5bdf16c7ec41ab3d44f2e718a7596534c6f09b766e640624e2aab1ca7ec4bde1d9b18e6570ae0941d4d0e89d0470bb376933a6bbbfba57ee973a0f2d0ec636a2ea74af151f1021a0c68a75ddbf6260fc251ef4192386d95f2ecf85a0f723a095e0c8c23ae29bb345c0f31636ffb47f075ff5dfcfe96904a15e5d46384e85ea7e03a3f2d5fd9cac718d8f08eaa6cc5f71ec6213e88ef831128097c5af37d2cbe281156997e015a66b2fe3c56ebc943186db8280bb348d2f5bbeacf52065a3212a25f2086385948cf4619e8faf39bced375675a886dc16d6129de8dc548dd7c8b458a86eaeffecca9ee4264e99957d2204298af99d0e2e92df62ff88dd4df0bc0614b6b5a4387d4e4c34de35db6bb6d34a921bfa98211819b43eb2b1180d824fd915ee266c16d98734a2b24e824eb56da9ff29170c0f86187ad888e1216fca84f1ccd7f80354a32d534f64ff8c1a95ce849f72cf661db3a3046570c52f62bc72c3a5411aa44693ab7783bd86f0c7c210e5da1b454b62d211da04cae52a56ff1b7d35d2e686c7cea5791c01164fbcd27965794e60815531210c082ebd37214d9b19f421e7c9ca0567799a73ec50f8c44c421012722690f3e0ff0acae3ef430ca6e2c7ea4a356751244890dedc307bf582444517cf4a8f65ebd93dcc7c5ed96a3cad53db55f27c4fa9bac1e359b26f147faf5995e288b95b18e05cd82c5efe9362d7464b89a7b1e5606c1b163e1bcb075f31d0e2799749bf537a35139fee5ca5113c0a77fa10d19095d76403fdb6909ef3327486b3c15359192d3c46ac7fbebb280c72c294d366da90cc2c0dd06ecf42d9415b6b7344564a254f356c4ed8510734d1bf4bb35e0013696b4e821ffe94bd726b1112a70aa65ebe3adc8638a2c00b43ec9548ef40df1cf54aa3f15cbccf89bfdccf2a5366a73fbead9be5b404ddd6254ecbb12216c0dbfd76c6c129831b6372c616147ccc1a450f00c2007c6fb60ca5a51551aeadf830acb1d9e57ab8f9bd2fb76c402119f68784ad779248b8c4cd662001e1e3499d02468c89a30e1133a377eda50253d3b3cba9e622bc81b59394e0a2ab0d9c07095ef3b6c1bde0a42635f63fc57532820d20ab1cf9dcc6fd9458cfe6993671608d166a5bbdd5ec2700542d765d03a554f398eb74c2a24d8f3c7e53f6560389071a8c962b3e0176dec57006f2895d6faa9159bd989883c3c666f2aa91a65626e6f92c7c629a144c51c9f44d0c0e741eb7675625f525ea4bbf94f0a5d563cab9c5f1f650ad435ac179679fde674b5d7ee5b8694cfb9ea3d957bf7bdc0b49c83b296e4c8d4d1e98fe03219d61efd95d882c7e7bda8c32229c62a957c05502ad6cb463177c0e25e1c71b9ead8645a6afbd3c81a8953206af69c2e327022627372aaa10c0dbc95aeb8f2e23ad13200936809ba361aeacb4fb71f088f5db7e12c48788e25aef1f89366f08ae8065f6f7b130939374ca1a80859e77af82e74ac1f7d49e1b4fd18645b24d3edf4c542dbcad827d2e5f36f41d8e45c86e859d711a9d35c53d6af411e1f731bd4569cb18b8f3a7796e5452cc3165fc7f34da87b6747c43e4b14edd0ba0179f2367e959f772de808f7cf9bc48b626914df9216559e114c58099ec5a4e6f6859d66c5757e2f83503238e687ce35dd65c17151db11169fae0cec29ea05b00dafae74cecb50c1cd31721f31e5ec54c2d9c9b64dc388b5a1f60bad61792df7ce5a2233912425e1e03928473a103211b23e05c4f0b54380eee67f89f181efecdfba6c24765d80629ba503ebd0698245748909870bc24dc942483ce7379becb454d99e68521cc7cfc2ea6ec8fdab6bb3ff13d2cb950cb333a249aa2ab31a34fb122d7c6f3b8335f5a39ee3605053a4bcd39b9fade629ec65f74a5fa5985d095eb5bf35339365e445f9bf39bab5419385b4d84d19f36cd74e914035dd3b24924467ae4ddaff9d856350b65838bc97581d58e3945326ac6be7bea3f01f0af5a92c8f76e5f0ad301cb33e63b10264ba06f66ea971035959d279a160f0a8bf9cd2c1a3508426f29be02d22865787530daed733ff051b0f8c3e58f31c2a9fcdecc8ea92afbbd7b7244b4c92fb28a5c7eb26685be3680a8cdec4e36274bb71cdf20d0bb6b320701332ed763a03eb2106cfcb4799973eeb5b187249cb7d8cc12692ef938379bc95fa52203f6023b5ddf7bb6587bc3d732fc036d84e84731a869dafa0a632f1c5550add8ec24077a11eb868deb9fa11a206323c5006e30fc77168b9b590a6348f651ed546bc68c0ebed225d6581f27e224c9f4739947a20002a4ba3c7504354af35fab36bcdd61cc4539ae6c1216d4f2d1fc2cf329f24398a65d851cbb8d27cc0396abd250ceaacedee43ebf34bcde13ef69443ed237045600a914597fe38ca9caf67514c7c55562c6fb7bd53cfe78db90ec3e08e61a46568313a3b8677148a21a65a09a935818fbd2154c2b23876dfb8f774de198870d895a3b6a8f73120f502e7805af4eeb604c0cb264d8661f1161a558a862d35dd8d099a44a8e9010577c7b9240bd817bc2595943f29bca059619e6280b304dfb748fe436fe7cd794db4420aacd127fd4540ad33534a3d972baaecf18151456fb9aed290e38f523811785240e07688e2d86eb6fcaf0f25102fc341525ea25247387f691892745c092b2d25a1206e66829fc70908198b21bb5951992c32d8f1c4308b46338eda9200cff858a298dc3214cff053c0265ba5e5c92abc25060779514b8ec97fc92a291f8eb4d5aa0b9976dae3ee27fadf65da4badce8f389b6b116368a5eb57aa8f13a67ecbb3d5968090d7a95cb2824e505fa70206b9a6646a516a85350dfc97a14ed308afceca4a7489875206204d927e9cdc0b039fdc8d3e51fe0036cb8b0ad816283dfb52d26207312d4e347927e8b3a8b708bba9cc09e23e88fbb8e11c182bc0fd27b3929dd79960abcefec5a29cade7e2c16d691b053bf11fc36dd9981c3fac54202bbfec5a4444a685e355cdb435022be39e6ff71c16e267320e6d2dda79f1a4ac0db359e70c001df1192374be362d0cbd9661ac62293f4052b8d648feeeafbf02e3946afe37a437cae62ae4ba13cbc90f6466ad3e9a694c5f12ba4ae9caa4bd1434e2c6d8c268a4a5a436c72bce64d706f37241b69afe4cf55221f4ac1d9a05e38d030eadcbfc2662abfa8b8e5f3b8a12f191beb697fdbd08a","amount":40000000000000,"withdrawal_credentials":"0x0064cbab8c0f6058524bcdb134555f69c24b9865433b2de3c76313adf1bd4218","deposit_data_root":"0xc3d310861dfa2ea7166e5c44984b07acd033fc366fd7a9ff1679936b0cfb72d9","signature":"0xa2ca77296d7417f118ec69bcb46dd1d03e95f30944eec5f1cbee854892f1e29fdbbdc39ff11774dfbc7dbeb2a8c1290284a4791b045ab15a4585d5f108ab9b6195391038fea80df494c4afeb45348b242e7228b4f5cd9730c50f52720c1420b80e6ab1cb6407bf441088e9187b11396f4a62191d72eb5e0c35674c304c8668547749970ecd8f82b7bfdabc5ca7310920ea1577cbfff95c939efc282da901e38bdcea3fb9961ea265b3113a43cc72397ebc0b5f70f82d5f5a6242c3786edc85ea66681d43ed8eefb49e8da6e674831f3ee171c33b1873eaf3d553fd8d6ca31e1332fd62a34f59302e5786bd2fa0434bd37db4b513c70229aa7f60cfba9c0d9c7ee9684efdbaa366e0c41a504f3eea770b75c6490da4c51904e43e41069f93939dfe60aea609e88b6554958b383060865ebadd2b1e83767af6cc53ff10c80864a108a829b99e6ac7276a1e9b66313cb96928894d6c33df4ba298727b7d33e9c29beb57135a7fa0e95c4cd000425b12e6042877e0df6f21230af116266c0ff46a6152d2836ef55f9b48d5bc2b5a8f086d23fdad578a708697afd96ba74045865968b2f5ebcb1cd443fb9c2e8871ad4eba8b714d46db713b65bd3036b29fa8a4d060be1252fa187e5155528a68e79a8ded845ae78f061b50f0d6aaf039b177b3670dfa5cc1c3a7c91539f5aedb53821d1cdaebca4e42affd57f1fa913fd6ec922661c1384f5ebe1da46569c30d7e3385ebd5f4fbff0ab288840c877a4db94caa03c57f64dd9505f272cd57124575f7bf2bd90c76c46a727d9202c556bcc45e99a1769e4c281933fe599d84a24a817e4df64fa1917100f68c7ad6163e1e2955c5019405db37664e6fe7e0007ec2b19e39f17d4bcf32e26c99700c0bade4d088ccc13eee7f687e36f48a380a160a5d8f3bcf74b9d287451d941448d1f7c3994aafcd83ce83cda975d8f8d4fb71211f40761eb24adb9e7bc23a5ac4fbd7a503065fdac527b665510a5cfb7c07b3ca0691bad5cda7fd3ee7701c0563f45881be071e9ec7629f76bcfd4c4a1850c6078663caabf8a64e60d3de0531a427e6fd7afc655f897ca2dde2b90eeda5e41f08c7b83229184e9517c40e459e137a3c5f7e4322ffd5db5ef33840fbaeda0ea60f03e1d28cb3e2681bc496f46aaaf19a2b4c70e57bfec1936d806555d65c6e66a4d45030725abf6606f32e61c4b090ba3fe0b2363295c9cb2373ba349c3e8452e3fb606d06fbf15ce85d214f0217ae6f038240a8343528443e13d127e905c954f1c59f46482464683ac0a7c707e7ed5a0f7c27104b3aa8365a4173cda2a9ca9eee890a06d15b1d9efbb42f2c31a77534c14026668f8dd9ec66fff64123c9ab7699af137219c040e4bea4c0f510e18619a674a32626192feecdf85329857a867eed73f7a3ec259d89658d6221782a2ade878a14ac2c6ce94b49a5c0e4c90d32f14a1cafbdf082a1c81c2b4013c09a402780c4aff1dc95fa363234072a4e366f956ea2235685e4f11be8063178323a2c0606d9d7072c023e886452edc1f15de787e0f920a977f63e60b47b6cc3019964ba6a9c578c6e82e27fdc357827a9b89fe9feb2e3d816cd3392d803c45693498126cb5883e588983cc1622d48a34cca73b5066c6863adfb9ca958ed9fa57d7892b1391d3966d72daf2175ed0eae03f995c03e1c68533cd296289024168c0ee2e365a42a3374782b00f82d867ee0fab0002bc7357b33dd2f08a055bf22f6e13bd553b26e3f1e66c04f26181a06fc0d522a0a28d0665cbd4fcc5d234db5ab033681a5f81db9488ff3ec7a8cbce05de68e50e18c87930428445a705519abb478214a04aba8ac4e75f434da253935a6588b9dd23ee21b427c37dd4e11f1ecbed77ec33725a861406d57c1cbe5a8ffd59e22729da3a0342e8aa89f4bf77670a00e759cd5b8ca16ff2d6d48024bb78fcd111f420619df654033de6658e2a4baf76353e86f0eb320f377a4fc011d5e1eab4e1d8de886ef9320ffad1f569ef904e8d2d4004d2741b983906c50b6214112d2940afe307cf2e66709c0e0fcbf5c972541c5c32251dd7f8b8577105da8c0525cd51098032833f447dfa180a7d3627885b4108f657bb19402a8e08aacee66ee7be8ba89a92615fbaa4593593edf0527c93331674baea7397d3e0a9f5e947f2e137c8826b972ecf298ef49d82d8806089c28ac3789aa435e53eb7ac6f4d2931621fd915856a41209f71848e3a8d2fe64f341d13a04721d5f77d71bc483058d8abfe2ce054985f04c365262c758363a48eec1f321b033626f6cba2df406887461baaa8de67d2f277404f37c5ff1268c28fa0621c1c591b3a822fd8523623ff5d2b54be5efd4d8338461b80b6a5529f88de1e93c07103adc887d8166517648a5064b8967f2e38dce05ada2c745b2afca54e7c3760825a8b8bc1f1ace62467a0ebe94fb6cf8460768125387cc1c76d0f49e56c7e3cac2147df5676dd4da2641615f75119a77c6a8ec9e8144b292f2b4b517a1ace201bf30075e614cc1b9cef292fdd6f42056f07bc84a6fd653a2ceeac59540be8be12f2b72339b10fdf999031dbe5d4cb7cce46b21d0a24e8054d95eedf158bd123f0a4475c0c114e8977e7f125d4a1125c313dea39a2a5ecc0312a811aa7bf1b6e59245edb2404ad8df4413d233e1d1ca484648b293ab3ec77713fe9aa99199cf5a08f35477fabf5e8e266878614887c4b9b7e80933eda7182ff4147e338ebbb39cdf298bd611754fafbf0feecd5b5fdcf1d5202f4b5792e3b3014a0592837442efac659ddde87a9d8ec7debb3f310104e513e49ed95d5478c5973a7c4ba8ea65a742ab2668f326e3fb4e5e6ee9920db54e28420a0cdbd4f48236fbdf222e084c009348c1920c43e744924fdac4c6fca159114ceeb4e19450d66b67380d46d550d2f897baa12a719f3221e79dc96d25dccd418ae8bc7d7b82f13b5cbf28f5cfb1c553e8a9fe1499c44d42f6fd63a0bfea5f7a8b4e820d7b8569f4de517b85cc81c7ce6e2590441a62eb249982ce6ad78063a076ef2921b024360628cb1b4c008cee2e0c99f4453834e17b9efe59b4cd97de5ee7fadce4a9a7ef503052cd8c45348a82990e4986f7eb462637b999a478c4a9860f6fee38303f818f3ac64a2c220728705a240d4d88461388831e5c16b902a7713ae7af128752d2445043c1d6e01edbb9723a10159397ad62b6a67cce076e0d506bd03e43bdcfd974f09047283b152c8952ea22590e500420c19b098c07ca59e43faf50d24d12be40ab4537119b3ba33bb6b0dee58066a982a1342d4bab3657717923100523208fd7eedbf218e3eb9497b0984bba826a52128f1dd8eb864c26dc16451a4de2625d444c97c878f47d52226f32c913f5030bdda156c57ecd5f08bbb94593d0aa5121335a37943c87cf0aa7f770884d0cdafb1e6a09c48393ce45f2aa43b179b84c11d8890a61e1186d6c25af05f38cce7a67e8760d2f3418055ebe346ce310430b1c04ef541b300946ec416388df8efe41efd4ce337c5734d49b56c19b11f3a08b34be8f814dd9abf3f5d67c311a4f24c581418c11e102a3dd13f0252109383395fa5a23414e54c09cd7bdb0bad345a3aba7f6eb7d202ee5bb84c6fe4256e389a806abc37169bc1b1ab27e5805243aaad6d2148c02cab3f512a7907af641bc9bea05a0a2291f03dcc3515124d1ce8f9034e0411e26fbd7f97bf11abd14ed78fbae03c92eddb8e3d64a8b26e1bec45b2e8853599700cac0277fa93a5e8732fe6af99a3a238dba70ae2b37fe41fa0a2fc497997eb5f5bee2f8a543889a28a547d4126688cb290e69ac93b84380ee1def46718330a2e766bcecb71491db8a75990c5033b7bf35e7edf6d46cc0036eca790d8f4e3f5b872e69c0082bf04797a7229da8cd12fd65e822e65e25aa8c6775cff1e3d0e03c82f784a02918f512a87dc27fe4a6ac89d231adde16243bdbe437e35f5f72b17e681bb173e1307a686ebd1f20c22c6ead4112c01b3f9a1f587a6a96bd651e7e62e48de69264200b5ff214f128ce4f924f7addfeb928e03974ec943d13eb12f7c2cae25d62a808b357d4c1db9d049f34cd203dfa4c057fc0f43bfbaf18053e4fc2d59a08135393575ec379e61949dcc54a3133f508eeb6421bcde037abe831a6bc169662ebf295fa038d1e17f94fc095084a153dd0b34189331933fcd0902e4d6633e6d5048a7b8427412db5b83b6eb19029aa1b109b40f7fc8da7e7d8e11c380d4a03a84fddbc34874f9cec158082e53edffef940e6ad6dcd3f0bb938673784d037ba81790147a3c70a271fa19fc4a005f6a180903714a50505e0b8a4e0152b0122d4a6fd9329ed6b3586db1f692964d00af16bf14d7865706d41e90f4b9ddd012fa03fd678cab5101acbbffb0f556e9d8893b71c1f2c5e28ea7d7a34e46c70246625b8f930b36fe886642a87c6b52389d309b412f9e418804aa0145e98e31e584de0cd8bf436199ad9bda9a6ebe9298b5ae86a3b7b6340db5cafe8c4be8066a0cda0266aa8ef2e1331303b07e031e53374d69cac0e210fcb4bb170f2b6981499181c2ceb4893bd2961e25b48eaa0ed40b3b7bef838d7ebf3eb3ef55c97daecd821027e1bf56289b54ca5a1c7f6459b91235aeaddfe56f596dd1167c24260d5d503012a4f872558cf31b3e7b84288f192762c8cc35441289b3aa413e75ae7b79e32763464484eb21324016cf09d01b79269143c5cfa8e5c10e166250c45c2acad147ca48a8a7b23d83699e2bd6da0038aef4ad0a9c7f7ff13cc18a0031f366c9ff71d5b6d5fcea084bd3f9a0f12c4f0049cebd5928a7c19f342a47129f6aa3a4903c16fbad017b00f747663c67602a7ddb4dadb82c26bdc360cc563dfd1c6ce955502f106d0846dcb89a44ccb8798ad5fd732a3dbe29199d978f024b44f7317a221bee5accfc04174bddf55a089a7c52ec91393ea3e42a7aadd4c884309529e59cfade1c063f41d598e2cfe4f8a3866d3af5ac596e85641abfa09d09b94b2d3f2eeaf1f505504ecdd926e727f02ac12699c5fa91cba5d10e672f5df5c068fbc8966b8281c91286b37c66044c40984a4146f6e023e7f3873c3a9b40d5e92b560b8edc8e91427fb7b1551e33d0039e2ec2ee8e37e004e9ffd2f96a8ac805759e5321c5e6ed3d918a46991a5f3520d5c6aaa374d5411bc873e4cd507af57d8f8a0ca1a7911fbb1a3e6c1a18c5822ac512c56d4b6de3f9545590a9f893164d8e59a04d4707fe8feb53c97fb03b57d32f71e38b0a4476a54bb8e93bd49019906f4c77375ef00d990f5bd120227e813ce08368dc829c967a63ddc50f2135ad17377a38aafaf5a27c88f6cb0cd1b0ae04d946d9bd887dbc2114546a4ede4cf08915ec3750120b6309d129ee113fa6a3b21fba234df9c838fbbc0a3e791113e6c8405ebde7914e060a9932005282eb9dc73483174681d67c00e0040152a28893a3e27570c95dcd8a15e8d0a493ee7c8120f4b3fb78797406d5b8ac610fdebdddb049fd7be555e6ec57d51b34f6e454f3f5d6ae2d863f4b9eaa4a7d77695454f4e0d1e4336bb825613faab05d1959c9f33c0ede45f5c7156714c78aae472c9cb4eafda5190728dd1e8edc6976bdc427ae723cc666f7f56406e2c2b16478c64f1c61745233db879c9e35f044fd38450fbc9de021df186abf8e22d7188cd947cbe1ebeabe35eb3305f5bac29591892c47bea9c7845344d0fd648b3fb3cdab93fc6040f6e0a85e93f2a4bec4492ebce0ae2e60cfa71b6fe8a5ce82ba2a721f849a7d80ae64d78f7cf6a7396d9b6dc6c3f38bc1ccd747831ef666dc9d72a858679c61d98518492e3b91229b5cd1b0a4c91c2ae45c3a45b73b5a440b8be32d54be5368eb3d807eba6eabad241a4e7557a65377c941fb2f5a0bd38fefd215fa2e269a2079882b8e7ea634c74073e30c911dddb8eb75ef0da56ead8145164c39f843650b2c72d5c75aeb116d42ada13eed7c1c20acec4c24b6c8268e8d1ce22748d432e6ceba64e284e48b8d3d74908e05b737c023ea39c41994512adf90474480429a9582e256bd55be12b1690dc7888c2edda43b24f97bbd84a197af93cbfbe22577d3fc6c589ecb33e1ca2138edf3166e6dc7d5479913456acce303c9571603a918cbc61377ea0c212987db20c9e3f7f1cc023e846da1d5c5f384628870be848b467d554aef80ad24cc9d22d823c55d251e73c87efbc6a77919cc9464cfa725f072412280af7dd559887944b7ae8798bb57c39921cc78b0a745ad266cad73854825b46625bf602cdd872fa56ccae3b021c95cd283b4cba4e27c05a2b33e532c7359995dbba38392b0bb7b073bc7860a9aed7f389c2718c74bf01b8fed1dbe5d248eed906131d636d7278bccb01373e3f729df106226c6d919ba0a1d6e1f325284445546265c8d0d31a265d7bafd41d6895b8c22c6787b3bfe2e9f62c2e58a3c3e50000000000000000000000000000080f1a242a2f373d","message_root":"0x940831e657dae05bf2ef08f669ab2ced94ee278460ca5f31964fe59fa0287d19","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x860eea9643d9196662f8136714bfedec6a1e2be0d4731257c9501f3a9d89c300452ef78b20ab8ba84903a9db8a3e2ce73fd6dee6b987c11c4dfc0a97ce96e3d92e07b859c58c9e62163f49e3cc6538e6e42a82042552ee51dd9cd36b83abfc3f81a5f3d402a5d7947168c5cc38203034c2bfaaf9020ee9900ad2071f3274ccabdecf8cf4b7b6299e62267ec5382f17cc0ed055a2226533a29a514d31757d85d04239e085b6e9ba6a724d105fd2d6f0f7ac118d6017517625e1bd96d7eba9aa20cf534be667d90f224f12778c63f478d017f4dbf89809ac0d366950d091402ce4e7387bca25007e9b4f585ff1517cd03d5728a956d692f7569d8b39590d2e0a6b0f8c845d55527af58be40eec149b9f8c3793d78312907292f6c9e32b6ba7ec80b4c474a4a7b1f540f08c3819c4c8c867895ca80fa10f982949698013d17c0542115e2bc7470ca413023990a566ceb870aa5ead57d292151d7f52228ab133a36deae9fff4b6a450feb19a16b063e5e407baa8e501c4d36eedea37daabacadb10bbda89e70b5b13ba6c7a1463361c2f17bb53090f04df0be78565bfd00be6cc83f9bc5d0e28eb9caf4bbac9efdc953c7976c6834bee3b1535de4495dfc66e699956409a530c19e5e99e7bf3328cb61ea90c786eaad70df35bbe0b141988531cfcc6040be88b994a1fde13426ce1e72bffb8166104fc23a8d4a0d6d1efbe71990eff84100291993560cbbcbf5700924eccc943de4518c143b86cfe1b59247db63778572526e4a0637995c59b0a44701add5fa4ee2c4f6aa4be9d243d15f80e3f9bc18f4c47b0653c033ba94c3e20a091cf59a3bb8a6d63dd00ae543f7f534842f3c5f436a760b89d7e533025f7e9e6d2565601bba9d974c9d9b72a1f2b8f6214612554dd026fa744f648adc5e82ec2c226c5ba61c50645035fdea4c568e7a61e68ec5174c90a9ede789e24048699695b17316c16bfc44932b834bfec26f61b86b5b76be5c4e6dac6eeece14dd0cd1d8aa62773ceb34069f0fa2c39ec1ade271eddfb297bcacc4e5c867bea9cb74bd16fc1f3e1915223feeab421cb2aef5caee00cadb44d553b4a1e8d973679e34f0e72969e4fe3eee8af2ac02183c47a67cac8e6cd482e172c2905b2cfdfc65e1705e8e037ed1734265c011f1ffdd847f22b16090e381a909dc16f5e8741233f13e6ad316107f70ba4634c6f4bcc2a01d0dbd11cb27123eef7cd0c354482d737ad2635900274dfee2611c5728ce20217e983d2f2bfc2e234b649602ab055ba36465714d1bbdd367fa5ad68f5ce769ac811aa314268576b4d270c126ab072bc8b7f78c441345a814637afc7f40af3252de6a31c4e25ab10f34f2b83fabbdb0332a079f60bde3c070edfb401e8b5fae4fb5c8b60ed0a1bb36111630881ed50f0f57981a372ffe527c5871fb57abc16b750ea3f3d817b73c9e5ba802f59a64f5b25e3f71b1bef3167465adf0655b13638e00db02432d418d35a20db0674d398284973bad6c52481b764c680a5445374c7104829d970b542ec18e301477227bf0837de31733bc3e2b8c3022463b023d296ca1aa56b81510a5c6450e24559070a9893c258b7c6a7f9369045e4c2bc57d4fb8f2616d9edc4b837d1332113e2bea7e11e1c7ddfaada3ba13819677970bd29babf54facca858acbe0d6d0e7fa3f6d90c2142d2b16c590a5fa48d6b8ecb49e2a5a03ab3d30f357b95ea859f348ee377bc0951c16e1bc204e32d7a478d234e8ac073e31025b8e51d71c4a6917725c79219ab57b774c27a826ea39e3ee50c02a2ea3cac766b922ec7b89679335a7453c4756f902f43915ec890e7995828fefd54b7a5c058f85ccda55e37345cee57e6701bd7665c5485b3576f50398e01726fea986886574966bb06df035e9394e98cecbed3fd987c88fcc84de7791b357645d564a96e406afb5420bfcce43dff356ab046657b86f3c1d098defae5465417cf3f457beddc30bb1fbb10a0bb80016e1b0c24ff4f6d4f9a2c3351c19164da5c5c0773c3e31c76eec4fee8319a4d1d701b9c93494858d8f3dcb437b7394aa40704ae798065a198acae5438f6aeed2c7d1abb905681b93d112c85e4d0c30d8f9f718c88b053e8c656899859dca35e1a5c4fcaac6f297f9c2d08250060a3e7ccaac5609f628719bbc3f1dfa54080dde3595249df86decbf6838e000dc42a4fcff1c18e151f79b724919e89179ff1d6d4d514845509849e3db018605c33a9b0681d9279bcc4e511cd202a3cdba2d13dcf499dc139d6d52123b8c6a71eaaf62be6b91eaac823dc0a23fbc8eccc9ddb3de8d667eb0638c644502d50af2b42952ab1f224b2d124c753554a178b0dbf11cd3d010cea1c5fd36871af9669003383622adc39e55f355abd0a375cdfe5f42115f666910db7e74a1035033b539266d62e46522003a437f66f183fbea526e01e4550f4a266a25be2a3b663e22ddefbd06cdfc40fcf2e548863b97e62192f4e9d62322b455c94452edeb9c3a2c60c24759f2f550a788906f469b459d68137b6fb7fce37d722c4522146cfe4de5c67172a00d7da6d6f22048f2ee053ceea1d4fce694131941f7e86a6d209a2e5ae450ecbf0ade0b4f581979d653cd5bd7566fc46192000dbbe8b9a4df3566bb61ae12faf1cb7d33ddee569a08431ef03f9062beb80fac43d22ee0f39148ec0b2ec096e9c5437d25a651467ce7f264bf06d796c1716dffed559ebc78a8312b209ddc0e4eb5e46fc6ff1397bd2c6c335fdd8900ffc4e7672ff3395b6cacaa33c39c363e5b12b8a517ae618a7238bb45010c6d39bfccbcf35bf5b92fbfa377a8bfd4b4aafd53e0190534e38f38c40e132cacc04894fcf5d81e8b513eeea9f31f067b461320a76e7146543e6123a47e19e1d938b496d981a78b76217f184f3bd59cd6a90739811963e6694e9d77cf3cfebb2fab626d5a29aedbbd967c2c531d490f59e6002ae4ebc1ed219cc3028e15f5157850cd8556e91776cd0ca26530f1ddd2d4881d2382595d59ca738997584b941b6f1523cd858118870a8d2bd01044bd4a3fb661f3ff5e0cafe619bc7c8f4529faeafb3f766056fde93058508dc4c7a2a4560d840c910f47d702215126f665171d94efbba42c4a465b3426396b6eab03e71f595758ddd705a9aa362d8f3de07b88cd28250136b3a13ccdbba506a4a350082b9fef2e37af0c92bea0f688c2e9720cb2273200867caf7a468a16d8a6d9ca53fb74c66a2af47dd5527f7ca3142640f6ffc835504d946bda04271a131f6698e187f751deaf7eb78592a850533c33b022641ff8ad7e98c2461ac896117c647292ff19ebee89bd05e079f65f2a28f340ba5dd61e7041883c431623458a44995984885ed2f3259f9b1f2a3d3250b55333961380e3e234d4cf12cace23d51bd87a831e15618ce4f9451cd1021c143e8bca42c0917701fe9b7de3b8f1c05014b06e04fe4d32bdb4ba866327ce9499caef4f2694d59f6cda8dd8e139b4ed4559ba27d5d086e46bd5816b6c3f0f75102c54a9908e58f9ae9777cba9ada21ca579357d37860e5c132d9e43990db5414ab1ab4db96ff2a301490229b3d269d2f85b1de30ffc73edfe4da6869d171f1470e90be3d69d56c7e532094c5635c09b56fa6ec3e9a5f6c626b2151117fd09ec26d0a07802","amount":40000000000000,"withdrawal_credentials":"0x00fbe5a65bbd82bd0e623855b20b69713be664e67a404296bca7abb9764a6ec9","deposit_data_root":"0x0886e76ab6646a515a14a8a6a6cd12d0954bf63da8995eb7d2d472e763b81fd2","signature":"0x7dfbf98c74a5af970c666028fce50880e4321a34a19537b1ab7c1eac9dcaf9a72eab514024c2d5be5817f385f36ee8e16ec6e2182d3250fe07d76a5edeb65a71b6d569791a67d33910bb68f78eefab93ec41c1c981f7eb99cb237706ba254ea96d7f98af08ceea7d46ba9463683f0c6048172e7f17fd9e2a0334265f232fc8e323aec4a81da6c66dfc98ebf6d9a2828a48e3f0b5d601854aa80aa2bccd3b5f0e0c5441041177327bfaf7f716fa63abf1b1130b5af398e77b5101173a273400e2f227c1bc67b77bce6dc7b6a710c5d07b07d01ff726aab8fef768f71a43296996caf980bfc892483962021c5327935a1bb40de753e8cee118460cd4a10d2149148f3c517e33ee7256d08a53e51f009875523a69ecc2ba0f85fd504c1fdeeb9c58faa8197b480597b6a24fe0f99bb404e6a97d0905c231d749a2032be56274d4a98b8b85e330846e7ea80c74feb189ba1b36207ee62d6ec9626d306d4de54559d83971fe12b1e3e2d19bf01d688960c9744d005eec7bc28210e148c2a3271540dff9d8beb0b362cac7659ef7b6a4db010ea23b62ef770c29dae677ed948da9882c3f0bcaa5867b5f1ae848685c435de46e5b5a07250be6ae4ec6d7527980cbb7a9a46d3e2c1b03144705705f20423dab79bffa09a1f1d112f1d38d7edc6f989b543d9ed64839305444b517f1a8b82939136e735d59525bbd63202b5103693a6ecc52314701b2085a3d5cb6a12ef6bbb984e6f6ec51ef33fbccbc1334fbf563c67b8c5cd939ecfaab6d3c563b8d3d4d4544d60c2aab1dfa1038d4c55c4c4f3dd32962953f7d097274a42fd483d3134e1a79aac404e84b334e2b95bd0873055dd983628464e3b19a1a92132354192ccd03145fbdb5a1111a823402a055e161bcfc1a3ff006d3eb6b99fa258ffb82d4d60a3d86841770219c08a2b2c7e3587c78ba8128b68d2338dff501688a3678b69ab7b330bb37797f0ca8cedbe9c331b592058ed443d3b16a9d72eb33ddddc8f4f99c53e60dda47d8ce4a812364b9ec31910b7380dfb58bb01451dade64c60d1efa0c9e522ef1250b378bc28389b85ebc16a3631f8ee2da71fbde15eb78b08c09ca9422267c6fdc8b3b2ccf0de0ba4e06015f8284ed2c1ba734294db7daf120e551fb7e2c06b7e5c10b731b5ef432e0b0acf27585a28409294f392da00d8599aa75b596c51ac49f37d706b3947d280c378f97bf6dcbc67312e7278f75c6bb4b61771cab2ea4679f5e3af5ecc9335ba7175223a46895625d837bd5b723b42b8aa3793ffc7c19e8509200bba5b181fc0ae2adf07121b1bd1ba90f669a880924108db6883dd6e396213c42354bdbe516815933eb0c7681a37aa275b4be2bf91eab194ea6cb5409178713c544b5f0107691ccb866e55b7d7c4f8e4b2639d453cd1f1c01ee6e3f1e104aaa50e4f9ea2ea96ece16b6b4517625b279e931343ed5b86cb953e4e27f88dda1db8d3d8a47938e06cd5afbb7957f1d9e4219fc18a8b0feb409cd4e0f53677519e6f5a42ef5c1dd418188b7ae4a3da14f6b0c680a26222508e65e99914ad050de30f56167be79d06edcc0d978c198c37123fcaad2216032ab111353313f1974e249c46f554bcd364b236b95cfff13e078ae0e62599f5ded99490a95fff156b3f5015e21456815d77f18e8879174e74ada933729efc7a0c5e043fbd41a67ed33a3aa11327db155eefd30a26967ced2435b9f72a72de4f3193a48739f694acd02962130724997ed704d6371c752b423f603e4af5a014c254b524c61969e2838a49def3747cee61c058ae88fc0f5ba7229b4a9e2c789141873693c065bcd4182e48b1c9ef995e04ebba4346a7e6d4afe850cd0be3e87fe1f21410f97f6f00ea1188db43f13a219e0bd55695a5de581bab8936e9b9f51e1e9c1416c3b63104849a629f6edf29ee1be44b36d8745b03c2021f838cf142a95d0ded88d84e11a31f33c0235fef4cfd886785b073abe2fa3fdc7499d2a12d4ef1e7b5bae1c1767bb74b3507d6b27d72504cb72ce81ac8bf2115f3e8d6255906353eac53935d10b1f97ba72cfb6ba5bcf0cf3b26c8f2ac0fa6b8b49b7828be5840cad318cad7029dabe19a26a2293ceb0f2d5b8832ea0c645c1a05c2a40078580062634b1ffa86a868d949220cab85c28dda145858f138e2c23d80a4b82738e1a600cf68d9ca5206fe2e9c9e6be2acba3ef280bcdc7eebe6ab03223861f7a07849f9f0664d85cb1c02e8cdbad4bce12bfaf47cbf3ea9f3cb0378c205b78f6eba80efe0c00606f723c7a07f5188101a358408c49ad053cb97258a163426b0cc14cc69a3d3bff925c718605b58bdbe53e21ef283d48ee558197bc15d06fa7dabf7abf4c25b970bd3930de823a0cc97958699edf26465a06fa3a7f7bbeca39c84261c9ec19527192a4484ab829e9bd281b73ae1f61f6c290b99d6e0006d66ce88ca5f5e6c8fcd693ceae0b78df9ab2bfb53d4c2534c3f8d9bfbdfcf8c07610d0739535f737f8a2244f691403f1c55e7c50c8e104b6d519fca445a539995e71925ea31b2d755f2a156329374123e11f3ef0c6aa7cc58aa4502f8223713084499575a5399748048c411a8ceff4b8e9e77ece83a13fca3903e1c16565bd8fc31452901947ede65299035c5c4025cc243c7319ac86c0a071fad6da0eb50753dd0e5f8055d04a584023cd78db1afa8fc9730980a57cf68fc5977379afa6f03f14efcc639a457f1ac7f00dff3f2606454244c04fb16ba00741b0d8a7735d65ced1de94e9396250fc4cee4450301cdbdd16938094523e1d123d337b5fb0983ebc357470e2083fdce80b9d91b4f3e096cd078c33994a27b36f2d80f62346cabc7310c1c14c20603d77fec240d4f2d2c4a449863f05ec9d75394e0dbada75fa46d3f29d75524eb00be1f6fd5d7b7350d3b09a258e317f1d69e3af2852959e226bf8998a235dfaf1abf14d2d4183d7a00f4b9db74902d4fb1535a497a675a9638263fe1741253824a5b344aeeee00c555479e10866772c49353d18991c349d277617a3e40b4688b62ab1e961980aabd0911bf4e406820ffe117fc61cc4843bd10af72e25aaf77234b9e445016b0f2d47813bf5a4dc92a213910d3a9e8465ce48ff76c37a28abfb5384a9a21bdac725c77cede412bb7e6290fd05ca0d147e6a41be77584b1188246be01e32c4cbc9132d19f97afb1dc3b12d7e1594433e117f43a4c86b88efa68168f32cec81678083f0540c209dc9051b3b317ca44f10ab28c4f89ce30ecf789fa550c6b4e3ab48aa370b36c23281e1d1e8712d84785b78dd61982e60ad8926dc344aa922ffde2b58beaa8240f5bda6ba064981d9389d4f4e94300ecb72ab89bcf7c84c1251d3ced7d5af21e8a8eb677db3cc94686f60674e7ce64b7529e464fcdbeb59d0b4cf51858d690bd0bb523274c33bec450462cf5e3e80dbaace2a2a8b295c06823ddd22be3b81082924672c2e5363699b7963fec3aaf601afb45ef05050f127376db3f3537da4e239e68e20a0e73334290c04448f775fe2877323ab63fd9c86ce5e7488041f358f5f864697a318dca3736bee539fefaa008d2e5317d1812d9e3eeac814b9ec28dc0610329c65b3b3b5dada4130ed664f9b493717edf29e6d4dffa7ca0a459d962192b0ec989b2a7fb91cb96917f0e296e70771a334dd27a0532058e2cb613469c969f73f6e9f874a72f139d9a3dc4fe74c9a5ae6cc229814c246f7c66cd44f096bd7046ea157ed0e42ae1f6f2048f3f697bcbd579e231fc689c8af5fd5758e24cfbd2d4dab511eae901ba0b89570acd380f5c5b6446230e7ec2b9962d00b63974a4a26671937a408e6a9e919f89af2774f193b48ba0f8aed050c6d1138fbae2acfb3939dd42e2873916067360d78ec5732b3124b60b0f4fcbfefe61a68b7b49128ff12d4a1da8a94cd5aa395ea8d999797a4a1b9b2e39d8148aab68887fc2cf15fc6a1ef39b230112a175347ef6e6e11cafb1ecd0812a197c03947c78908887da973b66af6bf8c5d2ffa389a0e7e34620b6f768d851488502e63473431af18e865e52f2b6fc67e70ffdaf4b6493c141f45db34b42e498d05629cb187375b788a6a9b92c3161e18cc22f853d3322ed2cf9f4cc87488284d3307894a3470c5625670fdde972186ee35108eb7d259417b00dffbcfc46d12491cf6dd10443d39ad9a73016bb10746439b1797c5806fc00814abfc1366cee2560c9e76ee800bb3276d374a8056d75fa869b4c49f200665ff358162f1b8b29346a07186a838d197c3240e23a7fd651967a6561681dbd59e11e02870c7e4d28e34437d8d412f2395b872633300972e1fa027ef71be2bf923fbfc42cdf13820b86fb4f1e4800668725a2f90c6d26498dd97318940e91acdbe534c0b451f8bf4116b20846cb42405fc43af8402d0577c80076fab4f65b5bd1e9897cf23487a2c1b2235b3c74ddf8e39b589c34eea8f48fe50e74077b559b7d1369590b7e81d54fdfaac902f46308dd11481d519f9411ba113975b7bb98ae5fba726f5d7d17c210b731835d4e1748bbc3d24a250385e6b94ce8a576bdfbd102421e75d8dc9d6cf9b563b1a5680dcee1d87feb0ce8baecaa356dba024913e8fcae46cb9991b3cdd54ab44739e6842331d59552976702a6794d3c3b4ddbbfbfb6d238b52354cfb42913779b18df9ba8235775647320e4536384de17445a07d5a8b62954bfada96307c5f834af3cd91f20d4402e1f1a49cb16ffcd1bcb129f8c13ed500733fc2cfb4452087225353b8b0572b606e9866752d47e8f1b0c962ecc6ce54889792e85fdde98961995eaace81db94aba3683fc8bab528cfeb0a78349a0caae661fb775dd437877c826316dab78ecb72bad6c23df227c340cb180f10f5f56ccd3cbe2fd1a75247ae88f1e06a786a1696e33f4275d958d438e90a5c3cb719f515bbe977c421d914b458cce37ff547e6dfa6d10e830f4b1a034ebe5ac81b06982cd5e9a38afd8411b6cadb409fa70e1eb996238ca9d69be3743c804bb60303af0d1762be471c23b43948bb76cb51601b38dd5ee59e5c5c724b828b298d48373e5d1059024b4d68ee3955df623824491e53c624cb630130c7a4391d9dfa0f184f3c24f5e2a2083babe8f65b7bfbbe8c7d87d56af4abb9868b1d6690a299cda5c116949c98a6aa471c4445aa9bf2d81c5f88ba805b82a9d4b928650fa1ed3f2842abfcf5aa5c0c21164d5d6e33702a629d2084af44b9249d2cc3459976c246404493d2196e505da76f98a4fab0db5d73573b46b6db7bddf7b47e1e87266f19d16d1cbddb31d29cad0cdfb48fc23fbdb52410b5ebd53a606c813590c2996fc3cde9a9c369b1d51808330084b460f3f1164846bfd4935cb99e27d106f843e2a79fa0ad41ed9392678e5be7306ec28cc906060f59b916c87a886ceb2080a01f9eaa3fed059eb29da911206a861df48910ab511fc65c5355f4950c7525a6c2d98dbf815c09d826a3b4012ab401ebe0aee02242fe2a16533056ed36b3f31f5cabb84d825645139b361a27aa27c23fd2ab8de0f44a0d3d53858c0a0fb7e2b3620c314fb2d9063274334e17923a0eb3ad4630e468afe409743a8cd7f528280e908e1943f28ddd3cc0d2f672d1ddadf5fac75a8d41396339bcc6280b6f95fa3583ae1a722970cfa0a6bde4916ad61f68625f18edd936a991c384a42b242233d55a0f3419c7163c9b8b8ecacc474f5bde79b0934f9192dbd43073315f33eceb28543bafe73ce5afc88de0bda0d8a2790407e68dc86e0c73d846cb54a4b8a7b2f63d28082e029ba0cdec0295405925a91ccc43aa7615879d6b0d4740cba738802ba328f3839f0903576872330c3fa0ac25323aec74672dac388d28dd2e9b369b7643e6be57572d8a29e0bce1660adb41dd9a68210bef28caba65458a0e6184e2f50a81f426512552a791f53f76655fce28c6dfe122783165037ad4eb9ec95f67bbc864b280621939ec69000bdc74bef0240baa31d26ce6fd17229e2cdace7be099ad16c6e8050d5f3c20ce8a8ecee5a4b1fec42692be2abf13a54aaa7b7d47869792651da8006d808a4927bc80e67e6c88fb36659e8a1d7171fd1ebf595677c42ab8270673c14c3ee8e9d929c4515246a42aa7696af34b349837a1a8efc9e350edf341f53dee8b7f0a4941293b17a5a6591e549460ebf72c180051fb4ef2b213eb9cae1f411ab1884bdad77abc044ff3c7c6c67f19aca7228f16acbc47089825f6a3847ba0595ccd714491afeb9fddbe2d7f7cbab1f3154d3d9c516489b29d50ff4f94dd26d63302c51269f953cf5104b59fd02c0b68dd3c40f7cb2f8e58b0bb11db4ba7c91065823d00a358e4bb5882f8b6bedf2b105021827c0b8ba79e2704f9cd1fa60d1c4c5f7295a1eff11f86889ab0b6b9bad0dee7edf00102173957c43d447593cad20a3969c2c333474c575d71c7ca08197b95d2d3e0e80f14364551526f96a4a50000000000000000000009161c22272f3741","message_root":"0xa415685fac24e68ced7cc2d215de1d3e5642a5351fa7ab85c85fe8a409a85d84","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe99827e06a72d185c85f75fc8e6ecba93a771e51509df59a3dfa613f2f7bcb328a1fc482986f1dac86b92a2133f2cfcdcd35a32fe8f7c6bbb94de720f750a01603cd40b015d015eba415d44d92ae5ae6b7458a8ed189210d4227bd75db58042a11c284f99c25b3a9c08ead8ebef76484c8e99df6a28071ccee8ee7bf0a9902cdde85555f743ef9dbade35d78f46bd726a7fcc373f2698eff72d55dfb347653d19d1d92666e9e043a197007d4dcda362653b7e91c6dd8235fdf8cadde6d71649e707becc2f3fbeaf3b8519305199bee89bed1d105fa82d24b71c4dfeaac3c9a1061bd91b3298921d6a209b8c94fbb9b64d699eea4009b2cadca9934bcfdd77fadfe97f92b31347fb9515e943a84ed7a5cc5a92690c65be661bd5e50fcb7d418cb0cdddc422186fe8294617ead7f353c43be72fdf6faa07d7a8d353657122315573fb1e76f11af3de78a15c874dd7f0247e825c88bbea248fec2197cf3f531c8f34c9944ef00bad144ae697296185e622d62f58539d220cd5ef9c1ffd5f7be3ee329b8dec5bd4803ebac52ac3c6943d4e2db4e149e9e922f25e5086264d46a920b1ca1414f91895cddf020278cb9a366d1f05503fa345ec58abbb1d2ab9a739a7dd5106b0c014d4014c3ab91b5432b90f0b43ebaeae2e5542da014fac3f9abb6b3c16c8e60ebdd75252dabec55b55fce570d2a6c1be21a32b43257941484c75de1c5a7dd0afb02c835dacd9b090f7e8a914ca7669e4d534ba46e3797bff1741009a9aa239f17463419b026df6817bb03648a3ea4f809b82dca44bb8056f5ac10b8849a7f5fb7f8c5829da8a130cb8d29fd55127b65d00bb7e64f133af99f16264a61ed6d11567670569c32768e7a5157701cb601b2cb521dc2ba45c6eb35fed7d64b378f3709b2502f2ab2b9cc499ac6b398718209e1fdf3ec94c399821261e53e10acfd6dd739641d5934b49fae676838cc066b178dd8f2ba6e61e07dfa07c6a2da81da033a1383d7a81eb782da5b6dd365baa1c9e3f0275bef48e971352fb1e227fb59afc9666bcec26f6de8861913ab45c5a4fb3fe94bf5a2dcdd2e6561f42165d9ad905bd11bba79fdd5d4c2b0b4c739cc9263800e6456671f8833141afe7362545dd8d3dd0782b8807782ad756cbfaf564785d75cefb46bf0b74b196cdf1b131a78c9fcb1c39549aa1a2fc4ba735b9976db6989693c21ccb0b2902a0a3a162313f13a62eca761f9879f09146b9511ac64d875445ca6611892049d110883b8274cdb984114fbabc7a281330df32cb2867927ccd047529d757d815975f384969db3aa7098e65ecf0e80bea9197714b376585657409e193d2eb32efce4ff94dadc6c9e135ab324810aa7b99bed3900f8c0e1186d40bdf41dd7e198d0813f8a586c7d87a9bc555f110a28ba9dac34ae92f1647f5eba2cfee8f9290f6cce3e71b160fa7fa16a6e298c86ad4ad7430b3034eccd44d6d70e4b55fa1bbc65e801eb6adc8fa81d91aab45d9e1f6cf6fba74bfa6b53a1e1e968b1825fbdf22893754716a8a4950d1f3750c2f07f48bb1d9b2d245a49af0ccd3df75b47761fbb00e7da268e1c31bd6d9d90a38c1dca4d4b49db9ff9c5d535dcbc387b688590b072cee11d4d1b5efa6e899ce304e5a8d2f118053ebeed4474f517d4c85f0fd0978c81ac883e32d301e0c3894e9ad096b11f0bfceaae03941d4b5324200c85d5632d721c45ffeca74a1b0e0624de79be7cf1d958267d0291dedb7ced5af4630af727425b2be3562766736957ee3f12c841fffe0292a781c51f5e21ea7c1866f2086ef4710f0c1ac6ccf274a35871a9e6a252cd90f299c5a1d260678dc38c05918bc33446368d2e92e3bf614a6f915f268a83814744fea71142b46f3582fd74f2cf9bab1f0938ab300f335ce109c2570a36e8495fc5c3dfd0fdb52fe6b51e3623c1db739394bff72f06979426bce63b808910f39803508bf4abb7250358cc65d5f1d64225e3fbf58ea067df00978bd4dbdea77287cf05b725c4fc5049e5b9a270ba36329671ff0d5521c34b57645f72a6917fb694bb8c988aa48fc526eb8a324faed93ff41e7a60aab6c6e3d90462ee64e32a9feb107b559e90e1f9d0e5c902da0920835fcc80f3cbde244610e9d5e606d4368e7f52c22ad6cf059b6021d0a9c2a0ea0308d7b43483d5cfbd3a8e103fdd4449e80d7fd89d59ff3317b8967192d623eed43306d5bedbf4b8b84c4316af577a2b8dffae6972fbec7dfaf038b7fa3c02be8d31df2ab0a3a5874b761a4b3e939a422ddc0881cfa8ff344d4bf91c2b01585195f75bc9d6717b61ad0546930df123fbd1c79f0f15cd768f4787c67045537874169285a5665918de5779793136fe032d5fcc816c9a0487e241bfbd8fb4ffbf96b7c8a9885cac0fd20912fe2430127b3de1d7081ced7715cb8b141e790a277e79c5c39a22e5476d79aa1e4e6dc91ad301f6a92e23a62b076c9adefd7fa3cbdffd2fdb11cfaa9f803bedae3a110052bebab592cd82a9e1f74a239e9df5caf887b3e7b460e6da15b65ede0d6ff2f0d795deff811e91daf4aa220bb25fdde771ac70c3e5bfa3c47bd3757acd93c6cd4deaef532dea0d1593bb7b5d21ad99f575a33b37fd7b7de4b2586e2c46589cc39b5f658ef77602ea6625dd54b292807b8778c9451d6630dab3b254a02d747263e3b7fb387a76d0cfe3e19aee8a064a5c959ef1be4d88e84899dd2fe998ff0d7650ba3752a2eed1ea66dfce59427ea73eb7e0a84f8e19d80c7fa9b0842c6640ff0d49197075bcc85a7b640bbdab3d169d30cbef986b155de1c5335b560c37606c0b128c5da4e582409b3d66623f5223ae05cc13853fb750a258bc29a477a90a922d775db7c72450dced05888c9914fbdd185a10d1b6e20281d9ca7af728adffee5e2de14c62055c4132f04d584a586f16739b2ffe90f3f2ea17ce1b9b2579061660889564362c7f1431a1dfc40cdc90f7e06b35c88c9cd4effb1ed335eaa9f5c9da0d2c8c8b93f9ed985ca607f41eba4bebcd8a44e4e05b080c442e9694631b2e9709b4e7647937ad3641120a8ec644a436a1c60b68ebc8356b33401903cbb755faf3d533ebac447b2f49f5e40df0b988aa9b51cbfa270e516a019561adf18cf47cedde54d4f55de1da0af1d79c313171dbce50cee9f04f18b59b2fb2f52fed731d3dfde5bb0c55aec3142d1f1ae59cfcb67beb304066cd730c290a92a8ea7d00092d7512ded9f903c736be70a3e44018eb5acaad4a4df63a1c29d3ea12b42b585af992589a5d6896b56e8333807da26eb3b7165eb322b830303cfd57c7bb9c7caee97c7ee6ae505dbb8e8cff600bd61a7e90652dd80206b64338c5743a53273d6ae36f8b639cce2dbad0ff423b227206020e81a6bfbdfba5a623ef0cea73a9eab0c11cd33b121c8460f7e3979da1e880ee9bb9935ce153366d9d725e8192a85bee2567c427e899ec343f87bc6dff5b2d62b87a738a97f543400364e205b89fbceb7a66000e9122f5c6817059a73b32b9808f11962b212bc4ff0987e290981c4db0423eeaadae9c5f05f51e2bb7b35c68014590eb484b50d8a0c9ecba04fa717d851da4cd71b4ba4399c8aec2694d2d763438453584404ade0d7aa5900b07734e6b2852f1f011a675bdc7f4a083658ec612a11cedb968","amount":40000000000000,"withdrawal_credentials":"0x009a32f6c1d2decd4cf803195ebd56862808e5b3a3e9114328b764e0973384cc","deposit_data_root":"0xf49cf4884d91051770a017770ade0936c3029c26ed73f5f888bc37969e15abaa","signature":"0xcd2ce09ac9e799411c56d80701fb896d3a4a8ab146b0f370fbf39f5c4c4b6925dd3f1cbf3590b0a32d8760abfab9a5c1b088c08f16ebe704649a59b50681a40a11944e6368ba9819d61ec6dc75610f3323ad9c7432114e1c9aea749dfe6ce725da0edcc6ffb4a64050a427aff31d784246db168ab7ae5aa658a6e7edabbbc85be4d08f2553e84ddb1c568200a239292ce963154c3059d186f23061817c115a52d366a5f7d065818950f339f16a326db109ced391e9836e017b7f00ef3b44e59f0d2d93530a0c5323d9cd3db009756ac4bd5ec73ccc8d6034ab460c1d572d9ebb63a03455789e2217b83dc940194a4fa23df03a5a7f91b481dc5b6eabb587eea2a17afabf64901953b4f6132eb80d8b6710669c6d7243060eb776fb61537d448ee4911db11deb9271d948c7cdb7d0c1884ddb89451fd05cd5a9b8da638ff7280495ed8aeca8aa57556c4509f7889ac6637b0105ce53e5dff5f65525a31fbaf6fc5327dce2431ef264f37cf666eab18f87a68dccd41d84910267d278ff39b06871a5eca1c96a846637de9bc592ae9782cb760f27acd995aa5c2ccfe74771f4dbaa400a990d32887c916a2db2ec604682acb7bb71d5434ef5200e084816e3dc37ca29f421091284e41f7353610b8920d111c44689ebe1d442000cd10d7a7bf4c3a0f87b71d2361d6f87eb9e55db31c324a2930ba2dfd4482c15e09661cbe9b78c98dc6dbcb4978018c5d255927c7969ff092c80e7d635ae47f2162c6cae46362db076404eb04140b432271756333ace578c1541ff24986c5943b4735464236bc18814b44ea4fb23441e82692d93768f6315b273ee34db1cec55042b67a58141c4d7ebdc52031f25c04b1fde82eaceb2d7e7df1c45eb38a5e103327ecff875ac601e85adfe9c377278c09bab4d72d75d8bfa9fe6b21b97732605aeb1d58432850d1181798ebcf04a3497691eb0cdbd511ce5c3dbf56e8353af4b22bc7ff0046259b486f22b740593f597f051076c2543f14e2501fef4d333b80ae51a8c00942a02ad890b9103b0cfd9f95b2f674899b86312c7934cb20ce1d74c9fac2ebc4406b08368e65e7519688c24a8a777a7e5712ff08d10f406d138875194ad1fcc133c2300f00716e4fdeceaa70c09b3beb2e740d7c5fb972038f0e071bfaee3398e47792bb13ea5994d831f6ce2ced685ba48d0f56dd94661f98deeda366d815a2bc5686c88ef824e188a98d8d505ab0a16aba5b263dc39007ec62ec64218f82fc865fb3958b7fb2ebcc220e01eed58efe458e07b202648e033d02522e7649338ce2ae76abc5f3849bb9f739e4286a01c01be340357fccf0ec61ff6d4866dcd8409d3a042f87337b45d7844ba5e29f2bdb388dd6f64d4c5d5662b53b12c9211bdebd51a14e272139ee4b51c44691bb255cf2984b73c6d1ccc31f5140ee7fecbc0325f1cbf7606e53653b3dcff2bcf385ad04a7d198ce77c195e299a83f563362f32bc2240ea3626c601e32b9ffa24ec7f1ea1ba9728947e308a46c5d2c692c0b12c4d1766630aa315fb967f0bcf7b79a890308883f142091105728b15584c3da5ed82bd55279f375b97954744717a30664a6346e99dc2f9d8e49346cd9d7711a853195b2ddbaaaf0b7ceb74b7fbad09ea0984c8b99c301a38a0853c7adf4647da374b281d7429d271888466684f98c524e8ec9213c2fbb634e1311c04046ed703015d276cd67de4ede1fd64961fb5e3e30ccf672d235c06f624f0f7d9cc3887f20a42913ce729dc6ff878b004d11d4b290b8bf265bbb2eb57d81b2dac407b8e0a34ac4ba0e827d91dcb1f9687427c81c7942b3af62380e85771565ebce74a80886628676e9ad2e6dbaa80ed75a8b0fef858c08bf74972c13e8484ad021a9b206c39084d5606e0b3ee95c8b47de6325c1aa95fe34fe0e78d2eb8d6854ff69e0018719765d94202dd18bd0feadcc16ba8344e55a52ddafce6cdb9de4de39615efe2c3273260132459649ec89cd4c0afdbeda70af67b7d1311478cf65bb5ffb0492df07a18b5f3f4739e4a9502ca24d21eb72dbcd2e0e47899b03072b00f9960fa67b46fe07cf077389e27b0313848e4dc0abc7140d7b84a93ffa0e99897c37e1952aaecd24b7a98830f3f479db01faa2124b813b299fcfca32886e73789a6229b2c114ad64295913ca28986b894d3c577619e438793f0746412d9da9b728eaaf5b85383b58893f95e3b1808d78931881f561168a9b9f843b8874f07d89b14603e1ea156a0fa10cac005b7f0f31aef22305264e19d05ab020f2a5c885393d9846821164c35270f09583180f224650f9b255a94325b8ab7b329c45624a8e9f2dd02d69bdcd427ad1d2e0c460059d6d6437557b55c154359ae10cc7bcfce07c35ea302ba7f7982f12188043e8bd923fd259cceae420cdd6df7a83b89259295eee5f395b07739d6a4d21fcb78d790813ce9a0cade57d2a1ac92e771b7b4e46d47cfa28cf3ef02d68068c4ea44f364c216b26e1434a7b88c06fc10d824cb09c91ef4d77d8492a961ecef9acde5836b726256c0455212b170a0b2c47162ee91051aa7320e87fe8e99e01155086b2a13eaff2aff1f3c4a1671cff438e88a68d7b87164457e6f64510bc2a7a3049ecc1dff3e8a25f6d5dba5a15683ae121a4165883bcf64bdd82a05d9fa6e8995239a523ad9e18aba055b1999278dbdcd170f920930e4814dc35f37f9eb76c86e88bf188d08c535ccb564b1362ef2589437952dbc00bd9dbc5123b71875ea1cb30ada99c2f06ad2315c26185585aa91b571184b504f0cdc40baacf6f33f79c292c5f8178dbe89168283c4958078c180d9ddbec3417d9660fab1b60e7805b3465aa52e35a1e0e95f85b5795a643f19cbb4d442fc8150ceb24ac82c124741664e10612ef57568c83f9d1031fe6021aea615c7f93ad2a8a709e53d4e888ca3228c401093d0dc88c54ee48660b7e7ccd0b183b565f33d37cf185aa8d3b07e44f2cc770be96023915413fa00fe9d1207e2440d042b63c8e36d71fd186477c084018f76fa7b015202923f78ebf19f352195dd2db2dd7aa72af4b8db5cf717d273ba58fec87e91b7fb3e252554bdd4c6c372ded158fd58e69b1273ea32138dc2330f9bef8cf913ce3fbb519b7a6b22d784360f476e99adfadc34e34bbee8bab15dd322872261772a02999553b04909a34ea49a809ac1e460d296ec9d71e7e0dc2f41a3fea11da8783771de0da275198d840fc5d4b7fd599b2c4a169de8375e39a101dab43fda3935b2d45d754bf5e73cc137bf702b568e6f34c2cb2d10abe7aca19789c5f0bedd607888401c78d0a7471020490f45c76ffe805e37b7d9ad67dca4178b8189ea8611874973e3e68e9cd07b7a0dc8d37b49f2732b024041f813b220dc9cc6b646e5fdc185ce9c10225c2135c811c20f3e1b52b9ba96d308297a662ade08ac03e75f490af9fff539a3b5bd00fa7aa0dacbf8cdeaa8fba8dde9e56035d1f58966d8a2131378f153d93004919de4e06737be06058b637828ef637d28efed80047479dece8acd094b6ebfe8115a178c2b450e43ee28e26fb31f780179a84ec5e4c648ab5407face6e877c5a137d4ba72cef7754c7c8d617fa8e0a9d6147c9eb5adc406f19ee3aaa6980b7fa33674cefad0e799e73b385f39d3ff64a165b60967c5c2314d15374d49bd967597c56471ab12bf03377ecf934e1fc7398ebc1fbebd8c770a5675e7afd5aab13966ab1417016c385b84480db975678cfe9184db820d79f324756782b4315fc37749f4601e9a680840a04845a04b809d9bdd4e233b93d4d91bf01f639ba3464712c6a52a65f87c482080b6b75f09ea0b979bed3cbabad2097f6405447e3e377cd02de1ee45a4f80a819c4ff0fa9ae77c3798d53d3b27aaad8f1005eb74813f28445abb75721f7f4b7eecbe85a8835d6404e4f3db067a48948e20d71a1fe28d7a5b967d6da592a64b6136cd57c42557d5eeeed7ffa8a72f2afbc39117a16e3c098cb2c2e69251be587b360e75a9571f99b7223708eeba41d9f4d8bdace1547f28aa92f0a415bf1cbf91994856e32786a3e894ee579906dffb94a586556b774fadfadd946ad0335a1179a957cd082b43ea69097715626cfd3b10dbb1e3787400b84bd2959b7d164e861eeee5aa36dddd0aa830f441129239e6c8317578c5d7e936337ef0796c353e704314deadde8ea4a5f2d805b4a1663138424fa5efdadf773bcdaf1ca5069fac438801dfa4f937d44fd0835b8843837d836831506993becbaa7b3f808eed9fe56283bd85585d8e54b96431e08adc00fd97cf228ffac7c34affa37d1c2b8d6db57e6940fd28ebafafa38fa7f2b42a0f2edc1bd7c9129de12b38a6056533ac4a4fcb5e03cc3043da82fbe216b0cd61217301e3da6ec19efcd5e720ad727f5181ad409a517440bb6988ae72792b21f2988fb07a1c98fcd9e386e87d4ae714eadbe89d37cc91cae43615abfa5a13d545391674e62b6810d6a42524b9ea98421ddc20f57fc42c3aeeb214139897db8610d828bafcc763b8d72934f71dd76c8ef146cde08baec7865a4069c4a7feb6231cf51c00975087a28d55410187c9629549a8f0b18fd7363f93e9c03fa4d3d168481d737ea5bc7589500da5eb839a1a2ab6ca5a0e8937e171367743729dadc4cb677de92da92468c688033f84070c1e22c470fe699f25006d8dc019ac7550154305f8192205b65188d3c77206d34e3da774f62e4fe17fffc0ebe8ba571d6878df467bba3bb63276c406584c7e7a4d5c48acf4f80eda5e98ca96241b472375cf083d98874642649944e86d4e92e06f8977e47485e795aef7bbb3b1210feb3253fbf7ffc8dd20d887792aa3904137e321cc86cfbc2a483acfcbdda99d6324976292de4be3f4c90522448dfd0a01d18e8c1ef9ee37d14a3a0ca6ded90b0709cc4e831b490c029da4a567033d3c82117046cfd966a3ba1750e225aa7c4ee4dbb0735a30d3e320eee1bdd7a4be1329aec55f434500ebf7aceefba5cff5b9607ec77d6476de35b4866dc555b9b7906f356d6ad97f710d6310905e2a61a5abfb3b5dff09fd5f3e4dae3109fa1599726e90c8f9a661fd58fcc87125faf72908bbe8ca94e02027256f66a04c81ee695c4c8c71004483779875007964a00544b725892169c84a8779a9923b33b974490c84fb74cd633d5a7c073ca7e2bf85500c1f943265176ea8268cdbc107e70fa94d7c32d58dee73b1b5ae7a98cf0b1b4f8739ae376644b32b52a76c385a60c81e8bd1fdf175e3fb28771170e4c038ceed973be7497fd056580e3c6681f319ab5468787325ba6a4f325b797a8d0050878d6828b6cf21bdfde90493590938763f10804f87a308866706b867fc7b114acdde96b8af6f9397ee983ed4e1a034c1f11f6737477e6d8e357d554ffb713884168d5c9f5bcea4b98595eea532747bf5cb2eebc619048120728f283052ca66173075f9dc3fa1db93fcc5aa7223ad439235099c88ab9c15b929010e49026b7c0f3f4c50d576cf30af4ead2b17b737e70cae7464d6cb5f5d85a1d02130ac630d32e67907c889c13f705fbec5b2321c8684189ca98a99bd1fdc12db4e1c1e17fcb463c32fa1cff4fee89639f5f69e503ea8948e16fd8ceaef53d8bed4bef61e6a3cc8c9ef8cb935ecabcc50653e1501cdfd857ff35e4be5dc3ebe9ff9c556fec072a4097146b2dd55cbc48ee2dcac507dedee8422beb4f4a060387c0cd7c745e941b8b548fe78c8d2e068f90a36d7ba8d578b849ea35da973ed49b94e469589587d97cf53d82498d0d057b6dd0659a7177d494f5d6d58285fad474929fdad41675e7af9a173d9bf0c851f4db112c017a8a8c1c6bea2db90377b96b48f39926359e41a3d66a0a905452617c39405679b864f9d3f4e895615fca996e43800b013460fbca26860277e95daa9a0432f42fb81f234b8f3ca0fc455d7cf86a3912356ecaf57da2d4995720292bac45123a67f3d2ed0ac4202b5386bcde0c40b3aeef7afb7259b3c9603e9f03062be813648024b8e7035415e3ed890f1d7563d0eaa3db783888bc00b462678c3ad31863a8a18c82b0d69d77d7b19f4c3e39ef7211dc3a5cd5bb14071df7f1ed26c33dc791989d41c4c03dbe41eada1873f9a495a3f5e952e7ebd6ed44d50f1ff0d3981c0dc031c4adca1b90b59cd3b17fc326af3cc8e74c1a54a9ccfdcd0b845122e40bc5a78de38ed618563446f26353922cd7074943e8a0e5797ba26ea127f94f99475fcf7f0f4d11796aa70155a86a2ae510f413559e0bdd3a8c12d456f390d5f5845f7e9ac52f36fca1b0a4b0dd642fe1884d73a9c5e7f6b57cab0831b7f18c2c3fa6550dc865cbfd01cbfb267af2ba9b7c03d056c0b9fc76419eed063948575c94d7ee34869fb5070b0d3134538dd2feff323748657e97e2ec686b848fa3aab8f6f84f9eb4bde200a4f11e6a7199bcdff200000000000000000000000000000000000000000000070b151d262b2e35","message_root":"0x5403c9263b15cedda6f8586eed26528edd9b5f57c57c3742d7b5b3fe3e12fc68","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8e743d41f9442b40961015994e632050e8c6ed925d87e022db0ad40353f714fdbfe1a779baa06b43ff12c7eced1d25f66942582eba5652b3c8f71df1fba508dd637cdf057108c3fcd105acc739b72c0b45eba4fdd203e15444464a27814d968a5a30ba94ccd98ea74b0a7b921a08015720d539a996968e14f55243f124f20b9a980ee5d3c1f59200a193c64c395c6ca957d8a2a587e96f690e695c0328cf5d56c2a2158f2544c12be6d6f0bdf957c2b5cdbf9c92dd8fb7d637621f1dc060e5913304e4ca6db08182a9537e85db03204667a370080a2f4ed9ed2c8a41257f151217f4a360e1ce3ccb350353a0fb3dfd5c7bfba7fe0c1743fffe67e0175d10fcbed6f66890bf18aeb2a7e7c18dfc0c1815599e9f04cf13793b07335c4f373c336b80a3bdc5e1ab8b5ab4dedf95fa62cad8d0e98cc1c519c61ff911c6fd2175d2ec8155f5800b8b8b055a1eb1b67a48e826f9f978a26b7dcee099d51728aa851ade47b83cf3d53bc6a45ec01f0250f10d987405ddf07c59ba13b842f29b898d63242b849d293bd19255997d734aff6fe9a49ee72afbc13412cbe130d35733638e45f429a01cc6de9b28ca479a9970b9240c3df4c369dba8f89a638571ece83f181b5bccfeb5f43c9792e04282ff85749fdd7f0289443039564bdb8629095594321cc165db0f29e88312840a7a9b1a3bfd16aa6ffa1768bda97a42be0bb28de0a604171ea671229212f94d7c535b2000d6b7dafce69741a143ded5180c230375c7f994bbd11cb84a9d1efd11162f1eca2ebbad3e72a1e87395add7629d5f8d89536fd89585a204aff41a1af7f564ba94e2888b1bca883f43044533bbc327f455119142555d13a1622b1094392e8c99bce1e5cc69131f6539b25b509f575ff04cd1e0b753fbce5454ccad542a1344cfdf8c3b855d806b8da88741cb903585ad17e5d12285f66b866edc87ab8c4a72ca39bab7443e6f7dbb8ac276d6bc4ef8b6c0ecd4507ffbd39b9e7ef2145f904d90728ec76f071b2aad9581afc4319c4cbf29cfc9896f5d9a4cda6fcfb76f34d10c076dcd276fff2296d15a3b2705c59b11e2ede1a564a2d0ab6b5a2450b42345016ac99970cdfa1f9612c844c43f8077851210f6b35a8e65c70690ca09b0026fcec788dc44446ff6155024ec636ff84d01e50fe6b63403d0a5b6f7ccba4e310bdadc7a4a66ff3438ad5ef638a0d326a9b561b614edffae5ce2ee2f1215cfeabd2a29703b6aba3de1d825b1860bed1246f222a9efa64c6982891f9227e14c16fa1023556226d159b090f0304803bbe7b1affc6e0599cac229671c586516e4fa6d9c634e0ba3ebe0a08922846fb10824a992eebb0e390ca504f4087834101dbb3d1ca53e33c0888fa03ce0a97791750795507c06f5aa03d8d82bae80160c406f3492e49633bf91005e3fa24cb09b7a46eb2e5746afccec81c11053c4f96f098f0fb0a72c753fceb414c2d94a2a98017cd5122cd3aa17f7133a2702602b78fc570ab6b5832c029d80d7a38fe0ae5dfa7c1f7b2b4910d44c5b9dd5f210742c66308b2e148cec4798780662d1d04d15dc217ef544baa6a56ed59bc2498b3e571dbcdf9d94383c981e1cc17a6133e51b79a89206d2b2648a18401654629c27d7128454ae26d4fd4d85b5344ae7056b0b5f2cb2d4fe08a65b10e609feeb16144b331a0d19e43ae0d28ddb2290f2dd10209bb9b9dc297c4a20a6100e2642d1074b11e2b12d68fca2d4264d9690978e0dd944d67569558736d4e356c948eddc22ffb845581dd718e738157a79ef10c28be8b01e9a8c42cd52a772bca4536789675fd532c8d2077e77d196c9718a505c7659db8cab5bf56192a6122914277ad9292c9ce156236f150f8d7a2db99c28d206557e601ee681f4f772d439eb8d99b7f1bb00269bb0c7fa2f46a1f307d3e4290a969ac20e416205caa903b224c3d4fa7d99dcddef00e6073e00f22fef6557d2e754fc933e5f8cd8ce8018d225e8b653fa00e53a33489e485d52f693645203b4996f06552020a0a1c96695bd07dfd10f95dcb1186ebfc2ee2291d098edc2154463256c58a1e17afa000edfa175a3cb19f7ae7538ebeb5a79c69ab38ab989ba4831fb5ce167deac61fde6e1b9c85e5b5eb788ffe3cc16685baa65d90dfedefe385f0ae0e8c21bf85d5c699a8b54bbe54d7312fff47cb427f316b3067e9805b27d78a4894f4bc6779d84c6cfee32495afa7e5917b4c1c474031730854e0216b3ae698c8779defad4aa3e1a17500e734737ec3bd70347ee48b9e0dd80ce5360625647bee55ecd631b6685e092c313d9b2cc7c481b6d0816dc200b8c979bc43052445931bc95041e5a448e896637f04f165d8e67f15a0a1563f4424578812175948679cf08c18716b6871ce1a00b2e58dd0968b1f0608f3471a97a8cfde484b829164139a5dab1c2fa2c88cb88fb05f68d3cd24eb30d46d00e4f5d68ed568b42c45bb30cc8b558b62326dee22225d0cb6005e39a6b1910315f775e2f3fbbf9e09c114fd4ff2e55e5f2d0d8146104bec662e65445801eb8a2ea253301ebd144933d37ef9581ea0094f4fa26b64d7fe07d2d2978aec3553ec04790a8c761cd8c0378fab31ef4ed9a4207261beab859e17db18d984be3e630b201d548a9ec23a6090de94bdc766123458a7e0ad29b5cca1581b263a27095f22753dd410fbd3837abc21bdeb16b514d111bdce4ac3260510e65515eea154ca80d4f5f1570ab9577479f8234bc011d894248ff09a6364f3b1d59b6eb6dbffdf4530abffb4637ef00ddc314ad3a9d6d73c3e130c35f3159637d7e13794c132ea1bfb6648ade4db7f280aa0b0e97fea7ea1d8334ef1b3482cb62f267964d63aa0d169637983f23a63d3ef08e4e5e8c10aeb53fc31b3a7ae6580895567e899aff69a0574d76c4042e50ab1577969a3f422dcefea8e141ed6845a2d411e138f5261a9b87bd4cb0d8f9182db271e30ed51c64cc6377554b323debac091b706f6edeeb26bdf1fa9fe314b7ba0d7e2a7ffdf04af6da34676417beb31cbeea72fcb73bc7f86357ffcde96596881c7e51616734a3f3099b2a17c59888d17c7913a1096bdc55fa9427d3f29f8e93c6cefc56566f546c9096c1c5f94b4e3dcfbc223b03730a06b6939da4c7d88e0118977bac6450c59cebfd4623a4e5c2d4e1f7806f243f8e1d7a85756137019894e3eeb7e21636e79797d913ccdb50729142f10e7dc610136bcb3fa317338aa704ca84aae92aa25f6bd8fbe7f4120c5f56cac501cfa4ae95e6973f6148a76df4929fbe3414832e721ee45cbf8223d221d1d9a0ef3b1746f2e544feef608ba99285bad92e23afbc1189886951c3ae9ada36b4905385b7d27869820b7f6143dc645640ff5933523c17acc6f15110ac7d9a9337e1a1d1ad82977fdee0335f8b313874bb7eedaae2e8ddbe130556963153245a745e1df49fc670d86a0c0fef2cd834fa5b5f16f175de76c6057ef0b3776c83e48577e73435d540a60af6a72abf893d0a2c930f194e8fc2071854b172d843157d62a5122bdc75b6e33dcc09c3e8c5e4545fedd5b1d8cf59fbdec32bc5c1c0f0c4480e46c56f4b4e73a1ff70fe94c44194a889bc9297a75a2c88d4d75ddb143703238ad478e83265f96a5c8a8ddd04a95197cbb8dab235c5f5bca3b8","amount":40000000000000,"withdrawal_credentials":"0x002f6897edf537291124140581c92448f4cdb464c84b61cf88df5e38cbf9dbb5","deposit_data_root":"0xc556d3e97c76556bba871a71730d7f36680fa7616e004a896923d3b1f0e7d46b","signature":"0x04a9efd76e665c94e02b10bba762530d5890635c66a07d1b1d959ad1cbc18b2b02926138b0ac84bba4327852426af1f18e4b221fba3f1bba7fa81a7d21ca25fdcb12d90c5721c0037ab40a5a4d55d0ae4446f88daf5bd27a0fab6a712aaa918f8e01f89981529f18597b4207a86d9b23ebd8ecc93687bb1eefe27ae691aef52e7e50cc46f7fffe0120b6b6d63d7dbdcfb1860752614abab6db896d3e6b6f8754cca29d96a318e51e812e73f59079904e7d5c9a572d6e315eccc386057304dfb105065ad8a6a10d463a4bce6b6748aff8a6f35906a7cdbf59944919fe6f38abe26fe1615d03d576df7ceed6eb68c358043828ac225932964ff1a7970570251c63c7290522cb3714ea8aa87243d5f9919e53ddda45942d131bd4cca6a353e07300afd5f0b94a3ea92d5498603cfe85d8197b357600251d4ea7d419dd32a7961a25e88bd09ee693a06e72976d90b95b3cb6e74e9b08978a7f47c2756293784b86a1c296752ace113a7825e890683d4051f467442cf4147989a9a5376344f787b8b1a4335b94a839d00bf2878879be457b9387796030f9a24730bde4648acae9942c23a943ccae1380819012504c291d4132519d24fefe3c9ef62505f38a738c8118d5c21595da264502d438d5614abb14b67a28d92b523fa90ccf9bcad74101e237fa5d9f123e1334e649b203ab6d12de0b02c03333b00d48d963232e0efb83a97b32b82e290f45e57c6dfc963de309deec91a3610c954fca89244a5fa493836593bd6daa047234b333046ae8f21e68d294853f36666fa64dcc4cc195dd44a9ac81b1bcacd267362890bbabc95778869bdaaa868e9cb4263aaa5e727fd9d1776c105d6bca5352afe1ccd8fbbfa0dbc8ac2860774185083953b864ecfee77ba13035200a0a33070ab5b226e1e14830c7e5c87a9deba05a6b783d6a481869f7fd001dd0368c10d7c140b0bfe5126c41c32eb3041e5c84072f36d5646f7c552a5862b19d2b221dfa17c17e559f8a69c5cc256682d078bfd106384ad79a784e5c0879b0dc0a982d27729b8c21c957732f35c354b80ead1d2e74edef3f6f70899478b43bb471842937712ae1c4e13f735f19839b86767e55325c2f9e1c9f9e9fd6bec29946d4f287f15de761b49495574330ae0645da91601a61000f94647fcfe960126ebc49cc0505a1725f0efbb87868bdbbb3bf7ac105b98747f3275e14f25b7431b44e1b05f43e70d61f716dc9afd51e884189d488776f103bc779ece079299ccc7d783cd631f8f064d0c94e24cb940f9f9f1b6884486341b5720a8f53348fc1ea774a5cab784c5e03e57297a9981bf32a7c26447cd4a5c1c15a015051d74f2a53afd34e8fc57069cb3414b0b020a98b47a28b7ad0512bde9215b6932d22b1361d452b1abf8d401b01602bffe5134a88ed1681781de938dfc06c16b63c5543295d7d307ec8a88a1acde43bf0bfc8988ca5838f78aa67104c1503b8fc2c8d44343de5af52e638f9b4af6f4eeb61526aca057aca3980006d157f361fe8ba5d8c781fee6274d4baa876d3c24b14b41c5cb38031d6bc982dfc6ad8bb76d5d9fb4b135ad898a828a31f568e5cf46cec2fba0ac58d331ddb538b7f2d38748009d9ba8739db5e278cc4592de84377a73f81ad3cb2e218a9b6f8a98fe1569bd4f280b243610fe09471e33f137148d0b02a88aee8f5066edc0670b6ba357854afb6686cdfcac48221370f86654605012787ece848c4e678ad8111a3282081c54b6c72c0b7cf0314c218ff61e1614c3ddfd3a717444f0618fab17390ecc50d39ddc1874709610a771d43bf8679ea551c0f2ec2c5340f89780dcd650e1956e61bdd758627e9004c106d57f1213830f3125577143d1a4ad420a4831c7e6e1d434c6da4b70495109305d3942251d4e96d922355063db5f8ca1d194e24ce22f879016b4a8b25dfa24d009dfd13aa343056c52184e761ec233c5e4338b9872b526346e4d0fa01ee9adec117d668a455ea56c43990130fa48391c15e11cd0ff71a909f5908e5dff30622337b244386cb7b7ed152ed19303db7759746905cf77ff01d921dc2ab3ce04813b4db5c58bb4d4c0bdf7bc0549bfb353903963b3bf1720ce6eebdb02c3158b90a4faaa1fedfe28ebbfe9961d355e59d5f57c7bf977dd6de5044ca990f5c9c82519a405522a2d68d01396ce9a390fbe624af3d0344b55e03a3cbf6a86b5acdbcfc10ac09d015bc9688bb094cc160dda813510b72e00a7dfb445daabaaeed5cbc3d4bdfba8e266867f56be9ab2f10181548896cac4c93f2bb9686ea19ce8af6b6150d6cef9f966931a725624b6aea3350c18966b08dc30b9998dd8d324202972305ad7890725d591db4d033ffd5c80009f7a35226cf8dc9bfd11c1601f960fa409dd70a0a5dfacc49eb235ef26479fecdc0304fc10a88e51bd9e8523982f816ee941ed57e5400b681d8a0dee8f36ae55d552b7c88759f2f525e890c71e21170cb4e2bd47a6d8bd3b4fa19d3ab63d1ec57352cadfec8590c7673f5e2a8c5dec6d841c160d0711e9d993d534ea37e042e3b8b31755cee240b1001b93180e1868446d1acb43ae54cde4d434d47da8c74821c55843efdd665604529f83453b236f7d4a2ebd178fb4dfbbf22ba1129e33246f3382f11a371650af67a84f99f38aa9a0a94ae29f62672714d6fb5d9122dde5cea0fa8eaec229a514abc310d1702740e0b3a5baea0fde6e56b3bb977eed41fabb3fe7a6f1b55da9ea6b492782c7506a9fab999a57b86e0978e177e3c544e0d06828d1fa7ee0307de77c0a6f64693f7010e89b3868ef091ab2ab01eb17fd623e136b8eed99e851421e5a880d38ae45de75afb5c8fac9d03f5719256902f83b578329354b38833ef8aec702caebd155ac48195421778a34b1fb9032d0a4076d4346e4f55f1ac9fb22ed96723844b6e59620965512e7d77ca4cbed083bad9fb2fd046a4e44723e524f4bad8680485c476b6e7cb8d5bb601ca1418bb6f10fa81e68b520045543c3c457940cbd5d97b08f4e92e6d0d66a133da850f14553d6d94e17faca02c6c4338596067bfc41edb9fbce791601b2aa138a95c56e82595786cb5d47162d0d05b710bb5a6258b3484be0b1569de7a9cfbe191643a8ff8a5226c8a2dc0bf1aa9c175459275985665323451186705432b07361e2e5a91b07afb1792fbbd5503fbdc53bf3422da7d5449dced49b96b9e63d3fa7bed8a944468ee3003883161622961b87b8a2b3bf9fcbd3a41ffb2d9ea8e25143b67b167d5d08b5588d441de9e1fbbfd228c0867d8c1537ebaafdf2c622135b8f45db9d284aedf5d31ed1e6bf21a499a15be79837b36e6e696bcdbbb18a2dc7c560d56fa4b7e61dd53b370c6f71699134acf408a5e66172f80ee72488e0a25ad18d02eb6f2f3db39417a430a826be90d5f1e657d80c55d43659bcdbdd81d83e58cbbcea24e35c701e2069e51903197763b4f734cb51f0d09b7997e21ced55cd25fb607924813d18c496ac56c707f1adb353f764ce3be36e535b6eb2831e36ca866297e4e198fcb0ef0b70dbbd117c28408981e476751e52b4772444c41214f6d912ca2e5b789e2498e3456fbe7947efcd532ed65bf15edfa4b268c4ae9de25f8b5ea9c301cb9710c63389ebcda09caadcc4b7f356a3024346f7c4eee7c8dd0e34fa86d4608a434e6d85fe58819223b0ddeb369ce920c2151a1815b4d10a0f300ba08aa55c04202351c1aef3f88e50936f0c005d70b7e3d887c2f5ae54c0ee50bc77a0db7918da776fe9182e98078e3fade75be0c4a4d151e7422470b378633d05dd1978b79c218a2b1dda40979cb1717579c5656c8c936e1d11668923e75217c22dedee13f1fe2e350ff17a48691183177a69ea9ebf0b65d40d99e6fc569e7462ec7146141a9d622ae56e2ccb7c488ff10a5a2aec594252211eb6d6c42e631ba26ea68ed4832a7fff4f6b754344f136f5270b7c18fa96950e56f62b4d50d0d3f1269a42b96cf8f10488206cd5d850a56013b39734c684b6c256b8a5e01a4d828ad2e90e7d0e89758b478eacb4ede360f447c864c3ba344523926d734b081539e5436b8e66a7780ec218bec66e4ed4139fe50bcd49cf9e609f699153fdd4054dd27faf6bb203945f07c4938f38c3c3ea960f0ee90585d005b490ffa15b8c1ef53a35500f76abb45ffb434528160f0bf0f82b56e6d2cd9e2ef1efcbaa7fe6ed0b027dac209c0536c8b401a8148c5f0b924e383b35bcb2eb978f36035f48334a14cde1a437a5ee93176256a21c2840dd6670844688993112d4950161485f0fe5de703a017f6130e88e5c9c30c2de8cfaf9cc083c4cbae18beb77bf8f47dc258781bcb55f791fb9b14cb989e5da3bb9ab4bf55106f204353f94f244437c5a9446a927339b68d6d88eadb1b7aa1d7d18222ac89553bc21d50c7689aeab74b2f516239b9b8b488b870126ed45e6fcfd08f30907a742f32642f965d26f1715be3ccad4be64cb1ed13ce6879b3a0801d864a654db0cb06a80883b3dee0154480fa009c69dba34f485c18656c223c8e4b15c5f5a9d05a4998ec5a1aa7660d8e78e29f5e8c207d68e26af5d7b6e06fda71109ec733f26070ebc6a6077b171caee9c5074bd7293fc9ba311943072ceb777ebcbc7e9207f1b74db034983b0185427ca4bca144279253ab9730e478773bef539ea7d67774e4b3387dc156651c76f4c2344ae10e430dc78855d252326bc29f6bdc823903f061e3b0f44083cfc2be3dc8d693805bebd93fe65df6aa2316ebe3fc44851e315f1062df27a16a006aa4b6cae592755de02cc51f12923ef372a3d2b065e0ec0dd62d52a6c73e258cf870e8e341c71c3a4b5d1b43e502dcb9e6512a9f69d1d82558065dd539ea780ffe788d9d3f12d2070136a7151e47225a34899616a07d8beef3e0efd4b509e817a23e928a380550f3c155c0f8a474553e2a7c460143dcb6fb4e96d097af323e3d3b17577e686d3ebfe8bcff91f864137cb991604a68b78e42ee530f35b7e2296391b0e5df944bd764f4d16b02176bf9b0cd888fc7462b52290101f39b4b3f87da17a67919141c3ce2e7488afc81f7480e4c5bd4bf9130cc0582ad7cf1ecd9f5b89f3dcce1c6308f64d671a5b2095da57f3f65f1ca79c5aa45a399624b4e69eb702bc1e3070c0762c3b312ea62de67a0c18fd092c8c1c2ba4843fd1826db791326888f79296a46bc4050d8045038b5f7d1d7466c912542ae8ac3fc1dddb5db69ed16a3c4b5fc3ec14d3403e8ea41183808052ac90a1ce97c130125fa0b110d784d73ea7599ea82a8edae14195863b68b450c32305a0794c09ee2c34f19308c271eded95782c8af14a93ee35a900aa0b122873c18e21eb745de64c4fb75dbc8a67b79ca7bc3adac5284907fca89d88614976ad57989b5d98b741a068dfff56b5c0fc8106e8e2a5ce3c671ea744392f63537d3b76d7229e15f7c2d5ca950ffb55215cce8b50d6aa9a2f6f3f811a2297320a40ccb6b9a4cd8f00f5e9603c30db6c10b150dc049c0b942ddb0fc1ef9df2eeddc5578de2561d95231863c521daec31139d9d4460a8de5d089838f959ddd59ad83911398f6c33ce0fe60180143d52490cef3802310589ea123dbc35d5ed1deaf5beb8b8d0a993136aa7941e23caa3a2c5515407c8d8adb55a339aad1abb2205ad5f5de65b5628aa8cab7496f3b4704c5e094a55e2b726276e21d100f0623ddf6f5b3637ce9eadf8a0fff50dfed7e8e9c3d9350457afeaf08fc7cc870658678a0adecb9b212f08075d4813daff673162ba5afb1e9b8574dc67bf74019ccced3e1c433ed0c289dad05b83b4f3a3a72566e41b58da66b292ba44abfb18041d254a95b8356f3618d8ea34cf24d95fe0c8a9478d24a090813858f3a99d7cba230000c9d2c2f6ce18c0ca0571f4e16071f7945f0337701e2eff424d708b83e001c506ea6b2b81d39f70f0b35980ce19027542347ebd350416d5f11c6680a540975949a06fa103449c281aed95f106a257164670ed1a7847441fa6fbebaa6487b398bbe65e30535d3354d16c7d56e56c445669662f18270ccc6e327125253decfa28193897de95af3cfa56f46677d8d211098b1a3928680c80d585289453ac28db9513beb60284564354277fa855526c61bb243ba77ac8664da6b58839c45fb215d64a703dbd959040156c32e20fffabed6515db16fce5f896fee93cb2baae618ad69bf496a1f194f45843a9786de75f3cd6faf68eac811c6b5037919c0434a6709e4a15e792abd042a71e8ab5b62c64f244c990cb3a8f61c909356ebe7ddab87f4e509d77abd64b4bee380e56550d51762aeef45f003a24f1dd80385be0ddb1d36cea8b08188daf4f688353ba57c5057aee975bbb9969e3147546266747b838ec2e1314041505b73a6bd2f354e5a6471789194a707103638449197b4bccee2e7f0f7011e344f525d6374818ee4eef7fc3f7f9aacbd2f5153545571a9c10c2d400000000a121c2a383d4548","message_root":"0xf9c9a8994380eb003e47c38da820ba5fc5c92d065c847f90637c63838478ab20","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5cf91b1b1392a620748f79afaf9ed4cc798b867240f9177376c30da51957c7755a5c2e2a8b9bb9f81cd0f24b6bb0d177daf973b54a6d7edf8a386d4b8bdc2be9af2a3acd05ac3ad18a24cca6dd828803795542b93d321a3ec87b75ee41d8e290c0827204e3d20a8fc89f747c05c41c857faa123c2c053a96183e593d3b99d75cf4788e560de74782ccd89b338cc819fb81789cea0b63f02d63bb169a6a5aca399183949e24ab52ef24fd013899c644e7a388d58a7260e8869f103265e66af4e3fb419f1a29866ceb9e055c06e9d535b2a256ed040c2900cf19e045e76f61ceb688f3d73bfd49f128c0b04ea3820335126b25d110ca1b58102fda19eee4c1296641c5c51ce4a93b31d2661a00caaa9ae0b3064c53591e850af3063ef16c0231e257ab66812d8872637ac4ef2c432216c881358f8a1c88758d4e4151754a63bbc742a6be73ad4b8079d6dfad7993bd744245c5c0e9833e99a1a3f2eabaeda222041df2f34e918920d5229c62a75628bfc89a0db239577cf41f905631bc7c0407515534c01a313481e7b668477d2036b6c27d4641b62cafb7d9814c7f8b04d50cfb85f94da945f3e070c5cdbd1c4724cffd775b7c5c1f5cf1482c0c09e90aa47f235215eee8afc27287f4c155d7a1646dd2272d29d6fe38ee2753ab93e0b98d2204ba02d1e70c9535b8314607ff06ceff1478e5dec3e0c0f7b9329bd55693bc5a61d304002648a5142880c12eff4fb50e3288a75f19c6a45e76c85ecdc2a18faf28de9a5790abc58f3aeee3d2d9a7ff6071bf6029970f3ce60907e1f346431fcc5e3e6bfbd42f30bce6afe2fdd7f0f12d2f94036018ebf6c22a48ad1d7fed2a3f700ca4065a4c6d5f73c390f6b7e48fef9155b74b9cbe8b1f4a938572e9f795773de793ee6250f182266ce6d80ecfa6827038782309d19be5656a2fd5c1bb13595d2b87b4b5aceee84ffcf09a3b6aa9dea4d5aee26105d32813b9561f0101d2bb57f8fcc1efdebaa07b27e097958bf1b4aad8fcf203647503c5b05f70d5498df464aad506d36241365051bd8a8ec5f40138339ba4ab34d5aa5b35d2860114087a2612b43bc5a42a106124d5cb17850720f6c3810d39c30b3a762ce89b4e90bf7c0d153475529b58f22311a0b306774200523a82cfe2fed354814e1933a26f0d5955de317a5ceb2ab92f83e94e963456df82a16abedfcb1571655cad8bcfd2bcb92ed35eea867f74e6fa4cf1e9171f0d5dd8d926efb5278e29383d41e9bbd09d7b4295ba86dfe74ac283d8011aadf288b056dea3d2fa5137199d01130b317c4bd673417c4b6b6c38f31521c4f350e618e1cdbf31abccee936deeb4414b3b4b4cba7774514ef4a2ee83113878832750c5743da2accffab60b9446c6003b48222cbd250e4542408734bf454b2c90d1502223a1f698e6ab42723d2ce415f86917797365f59d396bdc7ee883a30a57196939abd0bbcf7af002a7d9edc715c62e963ed2d7e987509acef6abc7e093287dad51e6a476df08f5c05b7178144f1114b05a119a07350726187ddd0c7824bcb768f882f9d808f5038d56abb084e7af9170f3ac18734b2277bc5342e016aa6aee8eabcf292db123e0763810b614f665dc4e5462cb24c7ce06864e39fa6f6df3f868b760fda45bf47a1111e1148d5041f02d79c545d2a98175c82e4ddf278f9573a972bb8e7f26894c21827951b48ff0091d67d41dfc8b73d3fde148aa44a14b40dbad872e6b2eeeb50a613e6cc54f61671597dcd4bc993a3bd6990883659360ca2016c8debb41260f60a60a46a6c565eec6effda7386faa74654548abd5f563d327b5eebad79052a45a396cba93d480e833caccd0bec539698611eda20bc61e9e75b9fd66b1ebc2ca730ee248dcc30c663cba2a48e63955c862b98ecfa9abffee6e2856c6fcb00f1b6184f33147e0b600122e6c9a5c25548aca1daeb0e30e5411cfa2ef5d89b1928661bce8c359687bf0bc467f2f9c3b33c9e027a35217e7551424721ac0333cfea02934115bfa1be72573c76ef6dfd53f3203d4ed25321495f9c3e9659792256d371cce778d2ef10e3aa26275408f9d14d11ef89ade55c3b76910932bc38c81349d15f10fb42604daeee483731571e9e9d8a061c505c82dd17b410aca04ef26afbf6deb4cf93c2e65df695433db69a21b82a0685c7633690f4ea8400c585c1f9e0a74eda00f04c189e46ffa65404f40ebb3b3fde7593dab929450c12eb8c12fc9060189a1cb5095ac9774ba2c1b3c3a1b0523a4b694534a3fe0fdb95d905b1fcd5b81bde7eadf3f27ad9f4415d4bc7a6809955ccc79d7de51987b5ab54aa9739633ea41a228d81ff93f3c48f7a5d45db2c9778afeebad0891f899f3506641cdfa275c61d3da0bc8f884c8db8041bef3a472e4b21c1018cd98b8189ce5b6b3a209fab561454dcccf86b8e501ee3d9c4f7850e2fd63553f375dac0ea71050d06907d94fdfa0ac8fcedddffe38a65cedbabe3b649ab22c9bcdf1b43ba83300fd3a8e9da45c2b96ed799d947601186ccf777353bf144e5740ba5b3c814e63c37ac0e29ee1491bcc1f90ad5025d642dd4750ae634226a4837bcdf59fb77aa18d13996ec1b72a98692f353442b56ae61054878da423c1d940a6c591bb7d7c5aa4c0cb10d222504c0f72c2bf26993b75115e0b784d54c9849eef3a9dc9267624fd5244faa465b07b76ca3fb86682f509ab6055a115c2d6e4689a2d692d4b258d5369bc49aecb2306a45f860b9b0e1c3452c50aab1e7f5ea813e2c1b716195ddb7d6ba1e8eea74d604bf172e0cd11a6de566b3204e97c92689bea496f1c5f6273a86c132539580510f06f34774b3c73835c7b6d1aabc1ac848cf45ca96468a4114d971a77cf58d516195f9094e579a142749af711af669d8a24c2ed450fa34fc2f8529bc28c1767186ec21b1523cb73f512f5ed1c03ef4aee65123bc3e2187f23a6f35a606b427cce4cf4b8627a7a799800b1ca989e71a7e0f03c9989a6218ee0af64ec4e4e74703f828b143b11072d37bfc3a1d0479f69914873869f26cf18723a916fc0cb7c15a6398d1cdd08bc275e952873a6d8270333d83dc4a52b409d39e500d29951501172ac0ab40252d0be80927b08bbe181a8cb0dcec1be2f75878569bf4b2d860b0c42fcf489107de7506a843f1447851ee6e5fa3ff99ea396e66f66ea4956830cac34a28fbc36628133c3e3b06d336b9521efbe3c0f59143b8d313677985a832263b9382a930eaebcb9f7938309c07dd963b4d810634b380473199e7020740873d8738fea3df10f6b3f33a80935852b1370c0e93c96ccf12f7bacddf91e813ba87c65a906fca4815110ed821da3fe3f32f011054f2aab249e3d21cf61aef1c337282a601d488cf0b695f9c4c6a6e03748f1e509c1f443251cdcee182fe029bcb7368df29d1578de4e0aa2955dcf66527b12b93289a54d6464d3e8aadec575188a1767842d089245f530a81db0f9b9b497ee1ba297be4512a51e720a0434744dc2c42b39df4795e7d9126a2a9f7759eb4818f11adffb3b0bf65d45201df2f4e66f0bbf3c3b764841cfc7d5fb0e48c21ce36b0bb297a355eda24a71e19f24fc5ed5aac8f86f7ad43e995c73ab329fbfc3fc600166de34c9e2d0ffb227d1d374797994988f7fc7db4b5bfef81e","amount":40000000000000,"withdrawal_credentials":"0x0060488f42d0b5b81329330d62232698454bb2e608a3dab3e713dbfadd74e9bb","deposit_data_root":"0xe14bd3d06c19c56e574fcdee1ecb4f43a99ecd9290bf6b7251209b9a5819e8e1","signature":"0x551ed05085e356b9600ead0f9c87f80f2cca9bcaf6fbc55c14945a016c69cc44372c9a5a93f1915fd84d6b0c80b44148c200b6d144ee6744cc4bd224aa9f0a70c576ea9456630f6e9c5da16ff6d8cca2efab57c072d5b94a1e903868504e144f5a2b760f4e08da24366945407097b42cf76fc40e79193223d0a27c36aea9411144fcf27b8265128dfdfb744e27849e89ba2af2e90cd56afcd63d3a214dd4a0e4d74c68dbe86f9beaa8631112a9ae7c39eff95048728c2f3b21188cbbcc8a2224fa6e32a20a48f189fd21ae60dc446d9268132ce03b66fac80fd36026813189881e252a6f84cc154218e234cc76fd7de8beba193243cc89b127376db6b830ff3a64d455f8a33cb69e58a0fb0bbfadfa8bbde2652cca52ba0d489efca476c3b0b9e4b0ecd647cbdfa8980439d5e5da7516a0523afa86a4525370b073f837f7c45912e062ef728a4826805fdf6bc4dbbe999858c6651402443011638c4c2f07877e804f6bd3fb8dbdd6381425d69af0f638098bee3ab9e5fb5b3299f8f412de43491e4a2624370a6190198f6d42c8f3208c70dfe5d89c687f43e38ef470e6ba190d4e6f30e9dec025af48ea03610f27ea93e005dc656005fe73a7cfc6414db515458dbdda3d0c4c0b5451c98835dae3c18be754ec520024dde6f8f4c791d6b9833a4fb9b9fd9d2da69b41fb8b1cd5df085874db01095c63122c2b0af88a08e4fa7381dfec6fc1279476adbb412a72bc328665a6c0b060e5851e6d2465bebf4505b966ee00433668a1dac3d6cba3013d559a3bcd82496b908aa38314e512c29a1ad40aea49ac18b44444e2e052730bb713fb0b33f4628ac212d8d5543ec8c6872bbf1c57a0eb463269fcdf1ecf50eaf5b8b641fbe65b015a2f87a0cc9d633b7f5aae7ab29c5b95dff8401ec6415b7c6c1adac53140fe038f6b7b720ee950c44b5aa88640ab63be8a779a3b8c41511ec8e9af88f90f85c15c9479b088abf3396dc3523d473f8359b78365cb04bbd8454b028d38711250adc227890c021559e3a5518bd3190253ffea0f5e2f101e29be4f70ec321f398037d42e1d0f77a117e89066fbe5e3d6dc80ff89c0524b6ef55f37a29caab5e0e6865d0c13e770dc85b0bef0087a7f416a9e50d7f8c5962c1cc3959eaa32698f5813cebfa714192260789b576330bfb4d59bd88d17f8ab1959f119ed1ab0ac590b6c47c0580face28d82a5b96262e9821768daac44eb4bf02c90b64cbe449f23d395ab1ac03716b2701bf9b009c938016caaf63ef1c90930e20da79bb2d4be9a6595ca76f3874f80b92e3e524171f4feef96bb6dd42906e5934f8043ea940671339d6d64b1b033a5207cb373ecb676acd1c4c23d9e6506719b4d55b7551e43a4b4026ba162e093cd6d6ffe6d2614c2cce43fed9adaa268ed9fe4f3962f6fe2e145830f6fb5dd9fd8802b15834b8c5ae72506c8b94be204b7b4803e300510a3d1f3046e5baeea6fcacc0e7944fc264bf1b4c7856a5d427bee1a0907eaf5c991948b3e835991d5250627c77c04437f31ebd693bb6c9d2118a06c0ebb1f9196f8ae166f2999074892491dd19f44ec5226a4d421263385dbc1c5752b606c0428011c8e2acd896f7f4dc6825a26b3626d04efac379e4ec3f01f60f5bcfc1b2b1654f79f57fc866dd76cada5619fc5fa446f9e56c406bef36bb1602e0708613c76336c501b3bff54f5434993454489afe2bc7f0888c92a485aac59ec8af7f2a103b7d1c97da52174bbf47db7459c834019327d3e8c4ac63f9f26224bd5a6389494ab251ecc1e7543cb0b57202f283933fc355b5115868428f5db6c3bf382193e99198bb333484e1118cc21d6039cbeffd27dab4a9cfb3e2823b30076e4adc72a2e3cccb8f57332030432631f08966888f6f67ba68ac1e49a7df52681e586c76fe18b811b452458ce11d2aa1f330a59c45ee29d7bd6b210a3fa2eaf078e7281e9dbf39736b1690d644e457795766a373479879ef3c59b8f74bbf208d2a9ad371b58eea7c2bbc26c06270e22a3227d158c4f404b5b3aaa9ab710de0cf9424c82bab7c405061a950a4b8d62b8d298b96a56b2bc2a59c434f93dc137d1224e98d1ae62065df7355679b3c6f4536a28f6d0cc5d30b2fea61e15f437421f99a76e0b6c670e7d35c494e1e0cdc62190a716ac10a3725ec92067f5e65c1237f16f3e1bbbb5d2795da0ee1ace514c1028bd2ce020dcc0cafe738e5061995c939a109c15b491c684affcadd37e8aa4ce5440af2c7669444c2cb93e62e73c01a1f1384c75d68e0811e695a9f1cee950d2e3e4582b8f06dbf68241fdb35e1c4342adce4a27bb2f574decb8129329f4a0d60944e48b73e43c10f8411b06c9d59279425e204187377a01cc095a4d9e067f16d83db597459fb717c78fc979d781df5ee856ec1714dae798f4fd3ec1554456457bea4443afcb7bed865ba15d522bbae7c201e7c215dc02b52d5e3b62c4da1de2aeb8f147e41e0a7b7e58168ad96305339a39e79672cfa8d0d08127ef2f29c007ff52ffaf40d6fd14a550fb728f436789c758b93f3023436964cf86328e5736ce463af617325c3e54df86cf022a49c73253c319988a0e650ee1c62cabd31db53348ae331c81aa35bab382883e52098d42030d42e5dd961f1a2f4e6220108c23a3a71c5364a006f354f57a5089e4a3ffdc2a70d7f23705490ea6a95814d759ae8a5d2f509c0d939c4c26af1e868e9828e4bb0e03885b8e48ea6ae1a839105f21bcee54e79cd40ed99f0378f24ab7103633d1b3403b1c2a9dc1b0e5da43630e0c610b5ca14eb99af99e78f80d2657037fe6bc2b0a33471a8529efbcd7286918312b0e36378dd2fbe5be3512a792af1073e2ed1f173440ddc3b83e0d4ca7d9ff39d9d3f5162c59dd45addf036124e995b2508b59d83eab477ed65803fa1d9bfd97900c21e3476f79c4cf3a1b4e350f9aa79f0e17feda11fd4bdd30dee4e327848ab2b540565798ae36053e8e7b89c50721b6f073e68d690cb9455e3e73ebf6fa2a50a0e87b2848fd55f60e68d5c0d4427242fb9b86d46810e9c0feaa6c30b60b318bddeb12d652f8bf73bd1b79aca2997a8fceaff5436b162dfa1124b6034a39d7c0203c98f48fab6c1588d42870489977b945a8b5585a5f14cc4477e000b5ac1dba4122450be71ab863136d0a9437de0506f6aff6df6f93df2550456d50393e9e68d7e85c9e2ecbb2fdd0a484dbc80b1a64003aa32dfb80659a136e2ef8e2dc88a2e445c8ad113c56b73a071a886f6a5b579922d396c48561aa840f95778934f56629256f604379e7889b437f17ba3eed9a239d6b1ee199c9bc6015f3ae4e7f3ac380823a090d8de4bc5d6521ddb250530abbfd80a272b69b3bd8db48be6c43cf945039f0d3a6ef16cb3a02aebee8d4ebe7eca2ae4d94d56395722bd7c5355092de3374b341e27644558b176e914a8d38f5e1c818d409ea609fb748142be05344322627f9f1b14cf3e78e8acdb6b991a43eaaab21467cbb6a721f93629b14097926e29cca10405d3089f8c5c3bf662b883fb024ba69137cd246b53111c6b1995abc26a0e9e81b367c64b8e2cfad31a16c8c031c97ab1db0bf23009679ed7261275d7f62c146e3ce136dbfc8910629c070dfebadd1a8351b83e5df8b5269b22800d4ba2e1bb211930a4412580351822ac42f162100904786f0d764835d6994b476f5771f8993b9977aac4431983c76720acd0fae641491381c04edffd5ff9b5a2edf9a2b828821233e06284d2b9a03e9f552362f4079f788cacedb0a1df3126d6f4b5cce3929cf6c9ede6ebcb9f35aed6407e4f7d9bc3b08db262d21d71b5688be12041b242bd1966727970512995021f27edd00ea75b933943b55077bbd216d1b45963020e85661f7748cb491068b3e29ff7a8f9cda88cadca50ac9fb01e530756ff1cccdbc0e108ea9440feca860513d9c2130898b5e2f0c871b0a988e921073faa4865ea15350bdb1109747cda7545e1d1d7248e54c986811f226047f3170eaf2bef0d05debd007ff9aef75f7b5a1c4546165dbe745a1592dc29d710c1695b7e53621a5caf48305c3b23e933c070695458f0f3ba0b8fecd249fb517e4fec9ba4eb43d24e471a1ac1f5b450023c2c8814b0677ef7f776f0b9bc4146c198b76ec26c155b1df7e57678af21fa2fc43a58b341f2a603b97613f53ff61536db8fc956be8c0d0f47d7964fd7698fd1c704d5d8ad62a35f019efbc141792f54d4bc2de7bcbb57c53f514f52fc088706d72f8b81bd07d2f7f55700e6441d8c608945cf32127d09c97b35e396a456a27a72a77d364dc4cbd9acf976e53dd9677e082f043b6321cde9c338a184ab50ad384d44ec28314e814b896e0f6ffe921bdc3f9dc22145fc64ae22db48ae94ac9f80f18ad33c47c01b07de8fad6f95f102944971b4153df6ce33b5b4f00dcb2a8c5ea6979503003db62955340835449271528703c415a064401b4c1933d87828e326ae79d4d92a32676b3fede29df47bffd4427e8416d486e5d50bdcd638cc6f5aae0b8747e3ee53c25510a51bafe3dffb6c63c9ca7fd5d798ec346ce7225678574ca25fdf18265c2e46585a5583a24de89ff8c96aa5808ad87c26b5ed51e81dc51322e1bbf270d8cfdc9aa71b1f3508812509f22cbd6274b673930e77973a628451c15a37d7f8ed768bdf9a476fb4f7665d0241ee0222a320d6d86d28637c7157fdd6c3de097cd7225b527e5d466d5957c67473a41372457786aa83576c999a4eee11ccadd2ceb35cb5d53f58f80c9205ded1d0b298589f683d64812cc045358e8deadcbeb70c1bfaca9e4ae509dd2fc6c7236f805f32d52e1e71739cb475277f52afc14582522d86616381489f4921c73ec931d2c876d8a14a8a6b66e95855b194a60e638eeee493816d4dc7623b0bda9290b7d5dc56f40b3567701ac53d6acf76fa7a274f0215052ae913aad69ab165ccbfad8cd7a42e7520b606b01819d8746d61c666a4c5576263e543c036e12dceefaf0d5bb7b04b5b56978e380af4930c723e6795234903b495a4e7bcb08041ddeb23f088eef5c5a689b2b4bf693739164d3be93d62ef03a54a07094afbe55953902d7c79f5f19f65830964e23ea7e1582a58eb9a9b496f310141b90d681967fa748c44bc5dbe995dc7dd49e3d1cb8519e44a10b4fff0538a1ba1fe443ca74a30f3f1b53f13ff1f9bda255f631f608b1389266de135e6de2a55fb614722597dda33635a0df614a98715c39152d77e71f59a33f4f6375c76e4a35e3f9ab39b1dabb03bfbc7c83aa1d37b29a4dd9249e6579e4dc8b9ad636a81ac29ebc05748f48b4f0f6e966b1db2d4436a3c626d077275e19f2bf8eb5deb78e8d33facdd6515485bdc666bb253c4156df24389e951869aa07d04afed141fefb94602c527aa2897207686776be46c49e4b4921fecf040d972b1164a6b0d913f94aef49d4aff436bae0d6e619ce2ccd11b73e79ec92633e9ed6e2f836eeb22084021ac6d667e1d2ee53155bc6b9dce5762c9be1aacc4b95fc9ee98cb0d285f3e362f6827bcba3ee785ade8fffa83cc96c879911509491a5b40ca7c67a31e736704eb6616c2e74bfd385ab7e6b4c14471de5576c17444514b63b8eb6fde4f330619eb979b9a60d22152b4adb3aabfd6e1543f0c64c4ec84967c833b243ede3b1c9b3f529ea5b9ba311efa4197eee4f8f3127f4b85e42f8c6d79ad73987f4812f6666a66619892d6fd2911ab79d617066b23051198eb081e52c401ff02f590a0826ffc03120fb2cd6d60d1aa4260807708cc75b3673a16e86f059f6a7bd0bdd1e9b3ea397ca03defbbffe2135caad21bde3c56ff5c7db714a901d0c2966226bbb9668190f26b3bf2210377172f2c0f34dd312279501f954440c0ae422ac90a74a366be31ae582b5247af29b1981538c1ffce6d107be4fab38a531fb4af9063f992221318da528922d286ef314b79ad0e2138cccfe673f72482e20aacc98806acee9c992f442b08bfb96c4260711ec704bbc0296bdc7b76c3a6ddfb5eb3b1583e7a6891e052e5eb514ecc2dbde0fc334af764495eaec888fd96b4f2603fc3f7b448b36e7edffcb58ceb2b6e4b325e6eee6611267f47a87bb17ba1dca7fa8a7c368ff1801b4fa6decb8ca1e535773cb54b5364c920fccd970a8211acc008f21c41927ca385396bcc6ff0ee3215780d30c5beacefd07ce6f369708b2e2bc10ad30d8944944f84703dff2dd9b1a5e8177098e0acfabf31d711ba87ad870b6ce3cdd6076491600f7e68ef372e3e201978a3c25e7bfd82b71c906cacd5c3a1b746b75f68ffb92193c88ff8a1d3149fff2a2c10ed059bd88fd5eac7ba57508810d607e8cb04038f965cf6d6aa0a5d0612a28141df4d9ab115f692a7f81d5e4fd3346a0cde1f10c5e8eb5d3f0fb071c242881bbc2cb1929386396abb4e4e6f0252c536a969b9cc3c9f3ff132449a5adc9ca000000000000000000000000000000000003090f161e28333a","message_root":"0xf1935d9711d706bd8bae14a884dbf7f603b599240223902aa34685fb5e725749","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb633939617bd142bffbcbb23f2e31ca405eab42413604ff5642ad4065d94e727d872903363a837d35fa881fca852369837f1a7f41e2cd1c6ea47415760e9dbd0b4d32d0e3c36c29a29f24721fc47df1708520ce6c7b87606b350ec928d203d90e3dfa14528d93c4810dfa9d0718c1988ae7871c43d43a30545ff7fa06197dae475b66d8cd51f7d857109bd87cd37942cb84526ec67984aa0317446a6fe53cf21272b00d73325ca4ab7e079b83b08bd5e29c2173b29a28baf6eeff2b1f4bc0ac2d6f424aec3f5fd2025ece2fbae4fd24c65ca6dfda3104f0c36e645b56342ed5032152dc4e0b3a258d162fca82f05088b062428b2e07bb38eb518513b8a83a6c28a2e99ede4890644a496f565d91b365025e014e79cd810e37255398dce68493729053f1476491fd565754c6be7e808e9d99eabc5689c3320cfb699ff743d58cd190656f545e26b760e61983c2c9ea5800d64040e4bbc289acd19afbe223ccdc4fe583cf32f0cb86e0bd4fbdcba1f4156ec15bdfcb4424a53e693dfcb00a37c3d9296ebdf3db706b943ef93e970044ed1a7dad25020524dc4c511ff1df8df28375f417fb68bf9cbf591873a7f098e3d3ed1cbe550f0e61d755d20e645de73fe3d65dc2c5c026956abb8ed2d9f9546a671b9115352c11d42d2d6729c4562aa9d5a75792d7f640c2d9c9cac46dae52629757e000e0c6041752315efee5d5cdaf9cd3141064fc77cbd19de2b8a85964dea86d0aaedc2f20179078e6ecc13ba5d192102c42d67a0f2deec7494b88d1b16f57076bd0c6a85f5ed5192adf6fd7a16039057b3245a279ab525c7a295de1e34face6d3ed4dd06f0d0c9b858fe2897b03634abb2b8194fd3f61dce69d77f320a7f09d991facc50ee791b0920400505c8611f24b0c67b69203bd8c9db928b2b6ad589ae9e67a67331198b88a99476537af611a89f06fa1709e56bc1fbef7fc892789db5824b7d9bdf1ecdf35fcfc60413410d1d98766f81f64725dc9db2d63af9a1d6af044dfc4392047b16603386a1bcc8a355edbec51091f6b5d322d9024b805e6b964c8b7796d16981a308149840b29c138eea531a62eee8ff3d156547f28bd2c76b704248f62cc58d14fae745c461290d2a7b25560ea3cbd14737b269e858b562af0b0c31bf1b33fb557144d3c51fc7937e9255e50379802b39af3bb34ee6549ca0103b8f28b8d2afa14da51b52b2e4e2d7fbe91f121dc2fe22e09ff99ee5f5a3ca71d072d9abb73998fca3ef13f2d2f3086ddf70d9e068b2ac66744ae1b07abf61e67a62589a0de99b713491bbf9d7548235dc9b851dcf7a8d2fd3a8eb2e60823bf497b1662ad122ae52a233c92d6ee48c1f8ef81c5900a15ecac479c4dfe9c3e0df51d55d5bceafdbe0d8b237e03952e68004249a2aaf1dd6e38ab13b897c1b9a1a3546a39b6ceb87a1679443c743fb34cc215120e9a49bfb551592df4cddff57ee776ae69b554778946d5ca53d5974a9aa38d8babd0fd04e2137dc271a3b80fb049bbaab8968844f8c85af8212bb143eed8a0e5846a2f8072fbda8273fe595911f26e442bcf6b6bfd75d65047ecef58edc56b4e5b5d5473cf9eda2a63c7147529cd9993050df3a5e3e252fbe10166bbd4a9a9a14b8c92b14683b82b66738ab9e32e0177a49bd88bda6f141bd6b9072351bf747a6eaf8528dbf53c8ebdb974991548407062704143f32442f8c60872d8674b61e4bd85cce35193d31b56dd753586f62db334fa19038af0d79e03f106dae1bc96c0fd07104a2c4448b069c676a8a811ef1db6c0aed5e14615692bba548c4dba43db20147d11ead0c5c921cd87afdbd0e6abd628ca9f4b26af37edffc58ed3294baa514f52489852464290ce4a70edca5160c24845da8aba585e7ac103ea2858640f154f0cd4a0f5502a76ac1730b233682a00af734d566b66f1ac7827a283466f846be4cd20bc2fdca2fa439fcb4ca9b5f23a26bedae8efad8690082b0b3f04965f65e7ee3f26d557ee2ed0e8199a8b2d263e72fa2bf88d281bc202f999c43f49c40a156c51b4e097050108c168f3cb55d87fd16f1a9939a33397f26d6fc844f1c4ef1bc05f8c787a6a8683a589c7c98e4793aeef769e10b1fb441aa1cbaffee63684413ba5b79682e956e816a386a929bb65dcdae0b3abc6ceaeb199716bbe5be72966cf402c4572b8680e89e26770cec4e7036133de19ac75e7710542d044c858806c8bb7f1fba53e784f4674cd2b6eb378aabcc534a8304cd6c191d73d38c31ba3326f1d403b63ed542dfdfa0aea76f315504f285b588f76c503c511e71c2d9981b91737c41d94dc526b6b78b5d69888d55d0d32f4e910e360840eb0cf0a6afdebef9433941b5e57342f0c42ddfde7a7f60bbcf71e50a657963dd109a0dd14d2f92ae601d0a007604f34a049c8454ff4e1700dd4dc8da9e713ea3f80da2df5260d7b73f3707fd237c2f3ea64c40128ba67b2de521022fc022fc17a4e802344283252de1996e165df6f254548b9547c63d355fd971c8fbb8dca76b5600e2dce8acfce582c95cdf3c8c051d09052f81401c0ae7bf815149bcf2bd9113773735b7f7b750b99218aa62ce9f3cd1da15c3bc62b0c35436fde002d148d731f3f4568d2af7275f3e4092645b086a58e76aaac0b8733803bcf5931f55c62f10a39c9ff5d901f944c7c55b2023b4ed372d1e575bc6cde4ce99aadeb9aef7d9a030efb964852b2be1556e1732fca4ef9c8b4bb646ed114706d1e745d90c071db9e9e0c7824164c104ff989d6755c30a344edf0cfa3528329cee7609f58494e9e6d76517b57752c5a7453c50116f6c2a33c6b92d0e6b5d7851713b2c800550cefd5dcb975fd1b6e558ecca1c2a4dce255f904be0f2d4d7412f640cfb3a46a965663610b1bb93ffa55d09457acf02b7e91d813e5b68ec2108bfd52db1fe9b26651676aa9806f086f19eff9e23c5d7c80487018ba853fd022f60adb515dae112ef3dbc73b55aedce760a52cb0a0742b0944ce92683cdf1897d693499a15cb43a7c771b1247d71c5c708f63b99ea4be5fecf7f54eb0bf85588079f6393be2ae6006c50f547c0941bb097c110db6a9a04b15dbc6fbf2c8b186f7d9629ec19979ae025d4e4281f65a98b9c22152f290835539c2b085f142de7cf28c6a8ea695db4daa2d3451927a7df26b518e3e1cfb4c0d556385f95859274c01cd3e7d4abf4ac92f9f709fdf11287c3af3ac64803f49d8328788a225367a37bb44a633b5b49f790f820d8f4c9357775a278f2ff7b9409b04158e159ca59e69466e041de3505e0436bc368d24beec45b3f45c951ece58ac0d6c4fa34bcec4f56e34bbdca0e7a8add2325a84b1acac244f626238fed831cee4d8af91b30cbc9b4bace29a80dd809d29b2c5ed6032439dccfbfd923e13567e1510827d58431e9ce3f6f66ce614e03073d24b713c8af48c8a6e8c32c54a3cbbd94c9ff94e1ee912725febafc17c300fff3729f380800c5af3f1f89799015a178fd225a5f0d8451260285fac9cea883903b0972fd57143e5eb0aa36c511f22c07a9d9f3de0511a0d610291c34f4a407abae75625fdd46a9526eec77162cda00648b64fa76f93255d0df6de9af1b1536c89f424a7f3695914b01f4e61be962d5732d41fb9ac0867e1ba1f8896c12f1612615f","amount":40000000000000,"withdrawal_credentials":"0x00396a1e82ddcda48861fd81e3ddf0a10790ed4c3ab5565f91becda90f152710","deposit_data_root":"0x064a9506b4fa4a95bb7b49f91bb22fd9e2c948a1a183e47f1d11da2decd82191","signature":"0x4e1af3661bd5a0e5cbc8ed3e9e9173faa1d79fbe1d6e4f179f01b8d270c515444df03247cc66c8b5cc681fe3b57ecb15aea79816f8647f6efb5de99e113fa5c5738d1ea189d9c5e16899ac5acd4229d44602ffca662a0325b53cd1349b98eec6330c9470e1d72611536cb8898bd86360db08c18c1278fef84316618e4e6bfcab52f2481896fb3cb05d3665d33220fccbf8d8b5c78ab212bd39e6b8c0ec3b339f31b3a2750b285e8396b90d50ce09df05a30f734a22021ab2dd9c8a4d55ed4d680bca778157b69f9b2734afd257dd3a0a8e245b4f81ffe55826690c9db61740ad99a6a80e5fb69788883846eb0dc1a6705091f082eaafbaf6f18f19fd762edf50b86a0e32a823ccd75bdf656b5b85f7411d8a0933009feed192ecf4ba8ba13d86602b2acbe65cb44d586d2309f67a2929d3a37b6f07058267eb7e820aa674786668da1bca4660dfe83733961e365c253a92ab220302f8334a20d2aaa88207ac189774c22fbf7e4ea1ee9e8c0cd3a5d65082a539b66dbd9181f6802535aea8e7fdc21875db706dba566901252f032419d621dba6284763cb9139852829f5083b883d88b23fa72a535f25499676da9f28df6bafabd3ac95648214730356e1e7b905d689c179abb14a9371364b7ed5c6d7d63c7da47f24acef39c0193083a0c615d53a6916333d3a16833902cb69ffd33a210801243dc24e6d4cbc9bf16daed4863d5e636d19f914f59b98c8757452103acc87d916b13c93a51e0f455ac44666ea2d199930a9bdc3e16a23d03c388885cb047e4dc4cb22f99a43cd43272ecba2c6095aa049331ff891cf09875bf0454c234f1fe6757582cfe0fbf807ee2f0d56db7253f04a2a05fcb7e38a419ad4bafd1dd6052ffcf7af9a0ec5e347bbc86bef4c6471c2ac82a93ecfb1f13ee35a3b19b893aa1721db97dadaedf2be5290f55bcc93e65adcb07745e3629df8201f06dcc12716c8f2d27dbbdaddccb0d626bf70f85c8eb21de3b58fd6a3e157fc599615dad284f656118b7b4ce61afaa72563b112a5053c3737a7e287a322d840609b50a7b47b8484d652dc3310c2190bd2e60d623766014c9121397f90fee146dc9444725bf4637ae5081029ba78670ce0d6140202ca8085608ca328529b33d40260225822e5d488397bc6e0a572792ba0a68dcec1383fbb60931aa70fe567074b41f40f4e773a41ea98fb04eefc143775fdac25c03b883d8112086ed1b4483517ce5286869dbd5887f7596848138f35ec9c110d185c42d2c5520762639edbc9933f4078b94358b336518094d7804b290d9a52d564874ac74efa19f378603928b175f45bda5fe9fccfd800f18858633a2468f644de228c8d1e81aa53594021087800f4c0a103d7aceb1bf8eaa5a541a5b13ae1c3ee4b9018bff0da7f69f0786cb7eab42bdbb0236c21de1859d59f946474200ecb46fb7f4c426b1f0ab7a2f13d656479be439249cc9e4bab7f68ca70872b94a601fdc9a9fbca3fbad15f1c7880f3411908ebc9ce1c3f118ef78643c84f0556cd52ab942f1c9bfaa90f1bcafb11a60ecfc32313706c4f44e5957afe84b886a429f3f79c49398968f6810020502ffd6737c48c2f4f1afe70fa6e633783c64620041b4288cc74248da8e076d776d6288ca00bd8a2e1bcb60910347e1f08bd18692f8b3789e36c881ed6c4a5d2211e4d6f85e1b814aa26f9be4c10d033b7678cf5ff7c16fc1f9ec35f3229aed6f1c119ad9f4b250d9c2e865ec2ec76a651ff8eef72b4e1a76e702ec8fddb7f9a25b42276672122d1319da5f1b502df35bb3220930937f4f6690593b141966315d27ee3d9da3dacd1d99f5fed3cd5673b52724d45f688ade747482e7f67ced46ca24e3d5963ba5f6404a5e017c1af183c545c9bca22cc8f827c03c09ba883440338463fe67ac20aae7c856c695f2276a7c22b942d32f403e6acab1929b50dc80b20b1bb18d6377ff43494696afac3863537e2fe94b0dd606b7b2d5d818450fd8ac77a7ea6141a386b640f9d54a5378e310e9d50647027a1d483331358d0db28ebb9f65cc5178b9a50383667aa4d09858f8b1fdfe439439d5348803acf8bce6738e1ef2df1e96bd162d6383e408b0e43f1013ce63c5e2e44f17d1f6222cfb60017e81f5736f18d6931470dc0f3f32dc67c577953dd574e49fe8d9ed0f13156455118282638e87dcef42dc95f39daad57147aba0dac9a70eca7b9d5b1c83973272cf5899df7c753bd1a7a633cd33ec4cead246e0fb1aaaec0f193c922989d32315d8478625b2abf4a1b90ed174dd9e435e4dcfb3d099a816a378f2240dee96288120291dfda190bae5327d392036a54a2f91d4c312ff44a0778d9ce9069270a666ca96207d7f5edf7330903385913432872b7399b9d6971b761879c7171291e0232d49645f6fb0ca1b73fcc822fc518dd66b3a12afbdb0c6d99e9a0d258af6ada63ef93c7bd129e742f37ab846ebe3135e4074103f87bac264b04308bf8b76328d8361c70d6301e18109a02ee506605bbbf53c9c2d4c0656e2763c8f5fa41a8e18a0eac3b6bdc0b6ada9253a977a082d3216f631445b2b27a4eebe4c64b58a4b4a30403788ab5c3ebac4a4bc6ab84741ba815b87c200cd9ffc4f1adebd3d4755800b3126adbf8ab0d7656f31e228953fc2f77a0853bbf021e6fac15f7fb6ebbb3d2bfa6abdbcb11ce0a3c2e852f175da59f359c7e370fdf977fe33d91c21776622c573ab9f3a21d0a72bf15d2c164c3341a46acafa3ee39bfbda37b47926c3f3d7f520eebad3be6076f3eedb0c2e5ba0b0e668b77af78bc3f12677cf9b4749b1acd367a5365bd9df7a6853426cfcf99948478b3b23ca4e1cfd1afc4c4b380f17bdf255c26876ba9add4025d0d37e2978ce121d8ec7289efdbceba13cd614866f07ee59f0033245c409950b4a24a508843f0181b601431b799e11a1888d2b553af3cbf3edbf8518d00c6788148c6318a158851e25f92a31c91a550f0e6ff8e6e2d66929fcbd2179a9a3e6950de346317d7a37dcf0540b8054b7b261c012ba4b1c6ac1df915b36aa0f9b7fd3eebcefe837111d5625f65a5959bb7cfdd8e5377331b3117e95bfd75bf2be7d0535e7335141912c133115be0e3a4e9c406d44ae8a58897483d3f3ab7d22cd1dfc76e9e927369a5133614950c13061179b4a28449d7791296df65e800a7d3afe2b20afd8060493f7c74b31faf8eb54405c1764ad8ac0202329b903b952b528af52bc0d8adf245c006b3155795dc8dd6dfeac741e45b18209106a05eb3a7f680d988296e40fe24df289ca32366055825e1b01edf7c6eb38ede75faf23f717ab01565e65559d6e48b2428f29a1d77e92a80d73a0b4e706a62123e62a21f26ef6f1af939d2ccdb92e354ed6894d5006042e4d5a0eb6d798c93a082849b44bcab47db30abfd06bb7d7f28f9f686cc92effcb266989062979047bb1ebc0dadceee3f807df5f806ee11d095a990baafde8a9744f4db97868b10540128caf63000a7250927d546723002f07f7ab17f0675b68b61f014bb8e560788ee82d08a59f4425cb2dac6ed9dac5e4c743d18837295a9744f6c1e93393d2f87ce154c789d6933ed89f67eb309e422fd955e094816aab190df5a47edbf50427f088b3b873818f63357481ad22611a1cce53f15b2a871674e10a287a8e243c92320ffd6b496a758f4304e101ff0044d6476c643ac730fce75e4c8da4a72126b568e693c750d70f02d8aca148c00950d83d1c33f412b6e424acc8476fec551c4d1eebc9ab7254b662f958890c3f4cade3f0376b8755b11c01b06eb71510244bd8701f9846620bc72879f2ddde1af74fed5ebdc0c1312509b2f808a8f23a0fe3bfcd0cc371dbf119d115e32d498e0de6401238ac4db9939afe00e69a131a65b8c4ccfe6a23292220868eca84d737e5adc9f4b12af08699c1ca802ef1fc4ad3d36e431260699429ab6218b7940c04bb4d3dce7b9d36224e2de6b6c6a027c04ed7a1230265a31de4c8de9672d4e8a937e7ce3d63efe7623b1f3d1705c29a73d6cd61477e9001ac1ac2e375949e0feef33383191e3226691c48e9a9886b3855773265f00e0f194e98a8ba0c6db15ac6a1854dc0ed736a8b2af88a54d6596f3d3eb103deb7068ca430bdde455dc8778bc59e9de4b105e2ba68dc2751800d72559e6ce7a03075d87a0e3fc397f24715a1dd4a519bb34731e0b675dab18957c90f5ee3b99dab025446b723b45340bcd6a5828594cc310b80058dbb39cfdeabc8e7a87fbf558e01222de630ea7d262c06460e3003c446854c7034224a42af42be183119d9bbabfa0e99ffa23fda4dee772329e9cfbc0b165da659c90b1c356540a4c1d3aa0e4374d09c6945d50d4e34f34ade2bfdb17070d7097579ffbaf797e08f9e54a49a6808b280f5971277e396a434a60d2eeea1197e73713031824b6cf4505098df470bce4b721abe2c4d0964530bfd17be12bf8c4ed42ef3725c5cddde36b52da7320c469fcbf2e02387a09cc4b02d831b1fe1801c37ff1a3c95e4ff85ac18a417693415f27702ea10152d39248873ef088bbf0410b1421b2d0887d436d9c635688e227d30f50f36ad851b66ec88d1aec02f43c7bb22b3916a7e3dc0f7c99e70f1c94753e35e1cd6d98857467bf145ff9f1e3f23d049e208a9061bf485724945e5ba3dbeb8108416904c28da7addd59d336be6be00474f18c6cbea733ae978a2979a26d80e43a94bf60214160ab16f9ed9d6487b2042ad1d19cde77280a864f02dfc9b1b7a12e68920982a5db578d0756f794a822e8f733c4e95c1a0e432bac2841194bcc1d87cb5a5e231e7eb080e3b77cd9f7ff7157c4d975b529c56026e582295d6050309c4b72a4e990b719ec15e3b742a9db1c6769be6bf13e215adc351b53eeea869c76e04eeff2f8ac2d0e414aea529b5fbb6fb3e49b9a2f04a0df7576db5f13c774dce445509f869c6fe38044b06ee068a25130c5ab2f3d0fc2fdd2fb8860ef11e2b75010b38a87071fa9b7ea2ce17ece8c76c7f0763179f5f3d9b0d80c270d28efe2f24a0c1c0cb2d0e454846589d922eebd39ccb9a3fe1cd3bfffed4d49fdc2b0a06c20edba7577c7a805ddbedfb48434c626223e2397271550b16c0b55feb676ccd039371310c84211a5aa8332f9dc2f2ee9dd1efc50cc4abb0d3f8b19e38e4e4cb0634796ca641a0f7dd4e585e696e16a30e0b9261c2a1aa546172d5f270a14aecd8fb540b74b312172cfa3ef5e627fea752770bd70cd85ca44b6614b9dc813141ba38023690783cb640bef69202ea61dc4bfadef5551c5feb1bfaf4a72706325432645b45924921554cf848b3671262d807205ea2bd68a345b43e7e2d127485637efd35e399873bd3cc1f119496957b20b93afe315c6bad4dee7cf91fa970be5ce795581dd939b7f425997ad71b4fb13a8ac2e6fc91cac1d3e66993dccdc6ce7dac3be60797dfaa57a8c1bf5b24117ac085b9b46b52392de5242d9ce3ef7a50495e3a9ab94fdd467fc779bb293cb4074f1fc58543404c53b56dbab6678d5f9940df58b456afa8675b7f9a38fbf78e2832938e5e2d8e30b6553c3a78cee3530eb01963757da4ef361e8429503af27b7b64c9dd853d4b19ab6fcc182ef97e24c897b2b9e8b49f75bd620a2c152a44e7cc37207df989c4b5eaf3a5e51e71fda9c440cd9b825efc413334e2bfc354b8bc0e48b982ada5684303c577f0b4f2de5879434f7c06cc81fa8fb60e5fbce3bbbf157b8583720166882b50ee62b5fe62c846f1030b7ee9d1642774cf70e66d2a5676ba74fb7d0e8d81a8a66b228ba044a42b6e2e722b379eba9f86d794168d6e91f99572860d354e666ab2db5cf6621fd738b75f3949b0e33ebb80f19d3c88b82eeedf3c5a2bbb3391fb81cdba38e178ec239ee4aed229236ac87885dc47e15ccacfefcbf675b125c0ca472a95ff7d65ef602aa8a3404618221445fc72755529f18dd492e0be1e2f10ba4b1ea10b61c7af6d87dbc7d361fca3a27d90e3ff7d69d72b191fa8710f6ebbf16cac32db8e538e3040d2083395f705cd822f7fa145b8416496cabcc1b3d39f59b520fc2180632fc137c293d392a892b00971c910847d9bfc3b3a46099e63078daaa29b92aa8e01528ce5d00dd0c64d3ae2068d2c4105286f6849615e294d5f2e225a8c673d234c225d8f8dbeec26165d4f3b747e8c5f728939216fb45c315f9207cf22d4d67bd163e43fc1acb7256d95e55133ad57db117fb1184eff10b1d4401112681d1ccd14184e248a024fb26377046bf3ad1d89e36256a2220cc7ffa984aee593d77ebaaec991807e8153d0acb689ea30087780be28c20a862f96d00924f02a3c46a82d631a8d71dd9311ea050cc8e72267dc8c03abde4000c1112133d48727b8084a0a9afc1d7dcf41842567eb3e0081013497b885567b4dceaff0c293c436b6c8999a2c3c5058c97fd228afd04aedee2e9f40000000000000000000000000000000011171d232e32353b","message_root":"0x35f6479dad62e7aa48d7965f7322cb425ee4e6e0bbb3b2c85effbb4569a52c04","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x4bc4917e48637735802ee92770a4e245f9072ef1e72e435f5513becd78aab9f0e245591b22a19040ce2cb57dae08b6443451a01eaf38ef2d6786bee636be35dc735f07d7069087b7224246c857d31f301147dd5fa7b0fda7381419daefd3636577896b3f28b09ff8a0c4f6c0c8a089769ee3df8f8e480cf858a1d29cd799752894e470f7de2ac8043fcf2ba305d930baa4743e1682175b21e682d6c95de797ba63caeb0251332a11040510304722dd27df3258e26bd39f0b32e66e8fe552e0962ff5864cb301e6815391b17ecf5ba2e8485d2fd9334e9160df50cbb49c5b6b4b5c72d55cebb8861aece23fb459b83e3ed6c54d2b80ddac1d45b7e63c7f61a219a726d2886b6b585a5c1edb9d1bea6c29756cb59c2e9846128bf494b3daa28f2e9b8fdd087bfaa922e689edef28c45dc6c87cb3bb5ca3cad3908908455e11242eac1e0e7fc7ca5f6003dcdc2852a09b183b0116be26ded6fb229fb4fc83718d576f698d8c1430f1a414f9b8cbc59c0937b671525585f7c54317bf41f77c3bba91af08117a601fbcb6046d3e6ec520105f19bbbec141f75878b1e40b01f51e766263b438cdfd1bb49b243b4afabe9dca82a0b59df4fb774f8773517415661db86076b631ed626c3754601a685ad530efd8ec8dadd8b6b7bba8962890e8c899d9e9d3816c91762bdf313d1b8f4ed7e9a818eb58c71ff65eb3d4b0d09bae1a084306d3ea4e7e2a85d5df6ccb1f39de50e5b1f8cab878590ae36ef5bbdceaed04fffa39f949c1fefe4c18d9d2b3fe5dff793666ba3c4c4483661126297e8d1e5dbfe25555873e92acf7de6430671ec92cdc755eadf28a2fba3feba856c0133923c23c3fd99f8ea7887fc4ca64c8a96fea2f87c59edd8e58ba10a6a0213304a3239bb3e03aaee1dc3d52d4086994a5fa961c82939c203a3e0b0d7c47f1e9c6ca3c069a5f38a175a200bdcfe313eff8db1ac99a9e8075c49b5e08d1029d70360c71a1653ff65118d4ee71451f429b664cbb5ef22e81c48beef7f8c79ddf577ad40efec1e89659215ce48f9d0b481d2bd5d6e7b0e1b259215987199b2abbf5c7dfab0de82b1e747a0d53b632ab148d99e23585d7e1e6e33dc58865243623b707232a77fb4e701860e10ce0d624c7ec188806b84e7cdc34ea6a98d8a3bea61b62915989016402acc528aff6adefc7853ff766adfa52004578ddf45f4377e02c5e707381c59d20a5e6c6296796de199442bb289a8ee374122e7c9d5d5e063fa1efe982991b090ab42c6582897715686f52250778152ce054f130d4f3b14b61b4477a12a1ff123706b2169334f564d9327132970ef81790a3ec8193b0b75cc04afbebc565c966699e186b7affa368a8456b86b9a4ee2a92b71305001cd8c348babbff7329592de61e71e2b71cff3c870ab98e6dd608e043f9c4fd7861fdf4adb85ac08da7eba0dbb35094ce730fdf02093bd5735bb60d6799bffe9b9aebb3df526232805ae46dfefe5eb6cbd013cc33765e7b88630f9e362d2e81797e419b7bbb56adef37b141e8ccd0216387a2651b0071002808e6acb28b34466c55dc713b430face9ecc56addf8d253b3d095f77330387faf00abf0a4246d600265d99ac79bccc562f99d7232958fc694f258853169c5c0d3294da5bd25fff087ebaa6cfba990bb53bdc14292b7d7fda78ecfa13cc1bef0ef701fcca4e2521443c4f5deb89c0086c47ef6ee004ae379512e7c371ff1e5fba928370db357d6a061e7a22f25fdb098544a2d8f54e3f90baf7c339d4c2d8ad4989015eda47812e4cc61145d8786194213bdcddf7a416293618be71a50ada642a67eb90c9d085517f52260cf2e2e44ef2a5ed18419ee049548d0f72bee13353f833d4d4a1d748f3a3b34d1ab85bfdcfd949a16a2c4a107fb4a189663df7eee1b52c4baa7c4010f584f6e39f6e6bc649eed816906d76ede4ba4ce2d29da67c8a7269aa9818d7a3dc691ce9da25239b41f3e78de93040194277352cfb8bad6be25db4350353f8e8cbf42f3c68dd25962d64a2a84bbf0fdb9281c32521942100c350418a4d062109a5f88be0964a0c91008c520622ce6eea89f72e0516e50401a603ddc9840e21f18516ac4863fc8f7cc0578d42ce2836a88c52e6ae53fb833faff7ef562921a66379307f8ccd64083610e8bd1edc525d69ed160bf0927a23d995d7391cc023146f1c7e8ea069b91a439a633a1bc2427aecca8a617c14b581249aa9be6c3fb2a9b4467da9fa3d441ae770d314787a307bf62ab9c68851a19758de092c29d52c34cbbedd25df25ddadee667d8a815e1c3964235c33354e1ef2ad1377aff2a0b3774d954d8e7607113ec44b6bcd3e458036ff8f256829157e0be9491058033cd85dfb5b41e7ef96917a6577c339d359730afe57cada87394345e1b04ec859ea219bc48a9fba0d168488d22477b049baa037def534d6be99b4164f19624c6ef3e767ee0799fbd2960cf296fb133a47df31117845a4eedd6bdcae14b3f2462471b1e4678c55b4fe61755792d35ea9f16188d1ec7420ebf7b176e1de1f518e55f33f42366688015747f24ebf5d6df0e2e1fd03700260ae98d3561ab3c30e44e712daa16fbb9a951899344d668f933ebe3f2a232fb68331b965f05276237d3ebf5a1cd19dd76b31b9d3799d83435df8ff55b020722fd3721ba7c6aa829c6af309ae6d1d9eec556f759aad083ce592d138e5f54cf169ec64471cffe8dea92bb1315b22a434385bdc51fa9fc5bd699f72f287ee4b359d2a1127bfebaae215c0fce54201074f9b304bc28c4d8e7ca4939e7ba309992da7fbe43cfe91d77426936db270643fddb76c0a856e1de1219bce5b802142748cb73d038b60744cf93e4879e222fa12532a4b791e5ca2830af2caccbca1459376e253e17b741509e2bc92046031a25db83897ae0046e93cb919e8d27231519c389b6b1b2e6d0f6d67c760258809d2bdd3635d27b7c0cfae3b6e927e59eddc4f312acc2c450b8dffaf4925200c8e724c2aed0b10d42a6238d0582cf4a3c1aaded782e100d5b879173eeedfe5dc8d049e062013be69a13995d34bfb1131c7bbbf780fa6e6d823669d7559416296887350b7668f0c936b8bc672f7eb5e3a556a64f6b9b1eb0f83d4fffb819a70eaea858539d51ac70f5f33856860c094029bab80cb88d14cd0197de837c06a0c9751fab8b2aa116984bcc0e0886baf2dead559aff4aec5392414e56832c2006d4812e11d39a8badd962559c16a02bab944dcd22dffed681eba3f52da6f161a40d2defed882e90662f48aaf289f1964d9c892b9af2aba99f3355d609c13bdda8e945ae9776501d57a3851675184ec7e3a91a5699c6d8c000c6967a478e99bd1648086ef26199b10e6b6d3f0d63be6df70ff09fec098da6368365880aafa82678e8733c86fc8b3e1c62a47345b03475a5d2c1b70c79708fa147325b2fbf862e7f0866a108d10b262baa50e9734c61b75b818770b3fc802be98322d7acb828aaba24110a94831fa57a4a795f35c96c42fd994133ae787f5682499dd6117627ec3cb363dba680cc9add74e0fa36100fb6a860b9617ac4202c8fb31a502c31ab39faf4358fc9c8eb6c48f9232e5cde217de794fdf98239d4d5f1880b58fdc236b8fca608c72920c88eb1495fc6c684c80fb5d627","amount":40000000000000,"withdrawal_credentials":"0x00aee28690d9fde3d70ab50b17bcb35834d4f36f42b6505f8d7d46dec14e2648","deposit_data_root":"0xacc118092bfe00ef668417924d82b8950b8f2d8b8b84a9f49fdb6751497ef849","signature":"0xe4e131252dda7fec085ee41a4e2a95bf08e9c98de881e105fd29c7cd8601cd5831a7bcbf604644d10f678126d02a439b80b33fb1ef06f4c5e07e91ed9b7872dc8ee757e858548960dee16616feca9fbcc94e8c430188ccc3de0b473afd27d7ad745ee88d1449542e0c6d18c7fb297469f14b5124024886475a2a76bd934e0c9339fb2806645139c19444f3dc5753a53c670b075eb0a7341d32566ada65c79877816b0ff47954f716385afbe9d272656a99000a26e436570e799c028fbee4bd4cd9bc6ae79425a10ec9b1aeeded5e204d30e303dd3ab327c03c63d5f940f0d58f3db9e3e3021d9ffbad0309cf02d7410f33ce596230d1b66e7179ccbfdc1c261bcf76f2d19b13cd9857744955ee4140731cf024f15fd83159e21f4e5f1cf5fbb0673a5a72504cd5c1ed40d2942f2cdb4b4dd545e950c2f341b61fc910a5ad02719576d69760058446730c6ae3bc8db3eabe6a6b42675f4b2643dc822ddc02313b3a3488d81115bffe7f2098587ba0d4bba8b4e972a1fb9b1b07b2a7a5d52793449b0f553144073ae0c3acc604dec8c8786abb5a6b19a656e3439931fc52276693693e8f98ffde7dcc6811783205bc797b34d916c0133167b4af21fd0e43822a90d515abb21f320e7cf8f0e5711cfbf0d0c3f34946e93550306ff63e0df180449accba957bb6b507709f7cef2e07a60926fd80b6eeda0ac41d58344b8c37dce96ba0740a0e0d249ac105f8e9c5eb806747a82ddc069cc9746d6182ab6ef2b7d0844e2d9c7a7725f9659f238aeaa657871559516826a4a6d5796a7c5825c275e6ef70f3a8d3fda5b4ae609ecb5d56021206805d38f7002f4ea5fbd77467913c50a5801673c2be8929b1b34a01c6a46fb74618c78377e51001683845c2ccf1c794f68d733035c6405e656b94771ccf2943fa8cc2bd504a9dde1d1ea1dc180fdc2253fe3b431449f50cd7b252436dd69a81d550d5de81ae988d141e3662d6857e01a534cd8e6118d97c91ac0065ad1d5ff0890c70ff77b1a988eed48fcb7cb17e43b63f572257e0c3fb661b4948ecaa79eb594dd9f01cc4d30a1f9e0b647327350b67f58bbdb6f890c28e2c1ef81612d668bd833a07542df3d697256b45e2cc3630b5f5131db98b980d03b4210f8ae0401f1a5f7d508014b18568eed2e5e8262138137fb24c5b4f08acb408f0ff147d550960cc0b7389206d4583ba7f5e0afbef267e6b49dc4e114bb09769193a2ae495f72c4269c5671022ec49d6ba7a1aee8fbdbd70ab53867230c8509d7faedb0623035a2ecab58b74faa89f17a44e02a8079db29abab8522f42c10472277f7b0a5c4e63c040f6bebc4ab9bd05eb82a14be5b607663404ef106d85cff182a4504984666687c039b5b573b28cf6cb871a5a3f11452aaac2dfe0474e86b4d031a4f4c50e3caac12983825908f7bcb8cbcceba3e489dbca5f9931f6feeaa018d2070ed5479ab2999e2bcf13eb798fb0862ee470b5584c9c3355bf5c5d6afbd9f2a0b182b8d17f77062789191bad428654b05cbb21e18942e7d21ab406b470ff71519883b9e18301e7fdef4b786730ca9a0f9a3ff1bf5c8b9366d8b61ee4910b966ccf3889ec64075245616ead1b2b9cd80789d10eb4b26a6fe206b7f56594734d674b44c9f9cfb805514ae204cd33f3ab05f26ba3be05db832680eeeea47840da0e7d5c6a18cecd3331ba7ad480830f3b434407a1d88df0b939e042df50922603a887f682d958eb56da18ed579985ff5110f465aed647cbf82fe01cac2b26d8f7ef2d1822060e294f97c5d755fd4ca358f9d483dfa6e2ef08b75f69e9e3d51f2e340cce9a42c828fb6a7d98f045234dbaf1cc7e5bea14880382e23544577618509abb4dc9a150499f25fc797c4080338961e14ea49a00614440769b05a80c7d33101ac6a97fb67630cca678e33bf4583fbb914b38060e5974ad24e4c0e7633f8edb70c1b33d5e2a9abf620e0dca7fad1af9082f5c03bda6bdc0a26d4474cc70797353715205711fcf8318bfa33667de5dfe8f832151c65cb7472b13994071430476e9aa7e3087118080b6dfede5fd48d9a209f039082139ef407707061747d7829d5279bfc0135d1fc0ad5ade90b4aa0a65f8564409df7df7bf9b262cbc86b0dbb37d88e814cbc53f2970a55c45ca19ed281e21666c4bcc8b125a93e2ec40c8db1383baaf96f5baaf3955532de54c505e27d787ea370ab667c8b5e2623d02f9b884116b90593323247a544b1246d08f03936bedb4e9b6a781a44d02d85cd9bf3b13e060ca5375a95860276bb0433a86cabe916904f3f7ed1683ff8a17c625b2f430242ad11bbfa7c870ae4fd5c6b332c9a85dd7312f7a96201ba95ab7130a960648f256d0adfb1ac010b58c266a35a02313e84160e7cb42d9d25b33d68f478f27d3ad39295dd5c433c2467ba6a81ed0090612977ced145e4b59d1b2c9bf1596a470b12d676aed8df1dfb031a2e95ec08886f66c082595b00a912267aa8175903cf5651c827b71262e68f3bdd57afb85b35ff41ad41ea8d5b2fdf16d9a7453a07af460b03049016cdf6cfd2542519686548ff33b62092a15f46fb07a4fcc293aa3d0495ca8625636d4b84e519d3cce718cbb86700bcab7ff70f892d6e8673fc0ef7389e5fe42e240be0cf6b08d0103ade36b81dcd583022af9e68b27f66cf0359604d9c8259986b01088e38c6d4f27c5af035d0fcd61e2a7d4868186c32a3efeedcaf1345e09b4d5f106517709d0e103c55a7f20004f24b528df204a9a93716558540e1d7390a43e7da7e1b56a3fcfe012d4a9b6b320906555f9b553bb76ad940b8a57584976e30014428d15069910e056fc017b73f1c35fb76996e787b4d235b45b7d0de78fd8a219410d8099b82a37e15adf61a2f20a7154fad6662a7d93e969d26eaffdc559fe8e4e58059edd5e3daa723af3eaf4a147070b67c4a3809670c4c70bf282ebe93c6bcb61bba786ff6b017729eceec34654e9af87eaa749a96edfaca0c48814d22df748e21c2e5d84dee7209d40f5e55d6bb729e13f682b7c27934799059aeeea2c700a227e1cb702252b84593e0e66ca898abc27ffef2a40a4f1bf2a88ff46bd261da94a9676b51e8f277c05d3d57675d633b844f995a3716cc32c9cf36f65e27c7eef63d4858dc95427e19d052539d6ed1a052c0b910f4cc3a7b1567fa83535dc967176e28ef5e223bdbd03d77470a6090f6a2bc5267979dc0c1df098363a7e06419170e8ce0ff37f79b1e49ea5b9f10bc666e6ec00f004dd3797ccdf687bd42d2450554cee4e4074a0bbdce822b4be3c28a63af4f04d24ace330b2fc12c4e2006e86ec98ab76cbb9a6b0d82fc032e7647b0cf04f049af270692cd22af1b01cc4060032b45186b741a67c1631b8b58467e1405699ca2908240296c9e3af0a6a7288776926012a46b0e5793072995b10f6a0c0fdb9e9392b5d432f0a05fa2151f54379986cb72022fb465ad196f3641573ab844d18b197c02095a4e386f22b697887309010024a4d7b6c703f408f456ac9b1108ab3028e3563396a8888a26ed629f7d2e7012c9d6acec89115074838c5a88c4c1ea0f14c8e93d0436bc4712730ce928689fe8ae2250cb1a5bed9c0dcd5fab53cc050bd9745703f58f13df3578c47cf5903097a10a403777ecc8cee20090fe39fd881b78a7bce7c2a161f8d8666b5ee8e7969fe7be335842e1ab956c97deab5cca239c13858338cf18ff22e8b8f57073b733ed12369071ee0b19921cc9b611e8223dc9e731ea7475e35be532221c23fcd3f86157ee4b44836d46d48491707c3d5da027ec628a11b8c9fc827e47ae7ec1b5432f74b2ed572662953cc123fc52276caa07609dde8ac853f46341f939a2eb7f884e343e30bb02e32a4ea0bbd860e8ef885b0ed56f8b695265631a870f9de0e0611eb1bd79a3e1d567a318a2c21f48e698f69456215ba314cb5608f334479171f456c6452fb8f3d660f944ea739a32ea3ccbed2acd5b876c300fbf8371aa149dce06cf4f3d3065c79cc054ba8031f8356f8a54e2c9a6ac8756a3f624dcd14b69687c997cbf010637f656460b788744130726647ca65a0b709ec199eb28a181acfde37d837eb04430072da3d2cad42545abde9a8cb242a5acddb7736d068e8f4e0fcde5bda01e63157a1f3cf9eeb8a1a212d93705fcb918cd72e49d86e216bb03634a6b7b5945dd6c1dd0ce38c85e2134d36b0bcfcc6d2622b0b64e5a61a3fef826ade58d1fcc0fb3232a4c916ffaa1ffcce9b772dda9b1a3d2267838f8a0287d365ea4f1942e5bfc38a4e577285de74d17a7e0c980720a64cbc55e10e501bd4e4f48b5fda90c2ea7e152af8e6234e6675822d869d4b3dcc54668a88a427c273eb4b2ec2ceb0ddc836bb05b74fcee657bc8338235331446784a2cf6f7af792a32dd6d1cbd93b038486e0fb65bb474de3d0ff0fb2d62f5e104ed76b674baa788298348527311f99c1e9fa56b414435f33680c09b772ea8b80b7deb50d490adbc25efdc6fc3cdadfae3f4aed33b6ab5f53fd3b8aad21a79d13e9e2f318ae1c422b4fca0a309ff0cee46dc0a268f20809c1414b038c0b6204786df5d6b4edca919dc76ef236b0607da5b11b96433230fc021cdaa56f2f94a8523761bf698bb97f83f41385d992319cb0dd1cf074e71970844f8d64055734efed1fa2c93ba6cd8d8ab159fc960b780bd35a1b3c5d430498518cfe28c1546250654f6153b6b2e7cefc87023a404f6e9fb88e9a015cd503b0c834ad09fde754169c01024ee585b99ea27eac2aa2a17acf295f82c2c69cc38ab28581bf5c943e1b37e9f66109bd4974cabdc6ee2014bf7e69087e37af5530f1afada132d3b017b664ae3bbbae458b8b6e465f2bc153253982136d8394e32196b42a40046fc4d5a3c2362a2e61c3cb3c9e145fb878d15334ce127e00d3f7aa7fd227af33c4fd0082c7c4b83b1aabb8816137ef05338458236a83368c754d5acc90886b811f21092b07d27f7019a1133c542c15dd483046fb96fac6c52dc045e95af37e8e8ba488229182a2c40163c004161675dd118ee38fa73d140c7af8eaeab485adac8b3038ef837d88792025f88e7cda56550a3c7ce11417bfeb56b1266b8ac7e01df3bf5d0ff25ac063039270e4b739b2876a0b5eb69a6059027e20da65c58b94b7c579975cf3ed714602dae72a261a7315dac15f301a6401377eb1295f8a4f58dfab1c7e0c5beeab8936251a645eb764a1839083a099162ad2a51d1bed69dbd36a19df3eece8ff631a801fced6b6d4366ee05f2819ee2ba705b6de71d91603e18ab1099ea7671eab9f2f7687376a5166c1a2bf28dbb8662f8098f5dd7a897276c70370c447d3c1c2e2f5c69d5c514ccbc27fb9daed0e4087e6881a4f5f692cec039ed45c34bc68be9d51a4277cb8579ca12f8d6a3949eb761e1255192b26718005c9dfd1e765640e5177af8cd7583c0f5dc30f6bd978d26b1eff7885cfc6858d61e097c37cd591aa1c08552a1d51bb1522501e2322651f0e52e5d1fcc8cd2a77d2d9449f090a48fadf2c38353807068e72ac381236a0c6f6befea4d08c726fbd241d5434f4cea949e58117e66cd74a74b9ab10a9e37430bf69989eac0cdecd0628679eb9a3972a2b22d7db46d150d108ece7b26413505458579ce81ccade8ddb9f19abe14e318157e7f314532e73c94584b645c1ace31c62de6228ab79631215fb577087caabf50650cd5b1116ac5b0ef4a5be00b1e8523389828f81b237261f5246528f472c1c2db640702b3894700a30a5b0edfaad272e9b89cea5d569c20f464585dddaf3a6a06ebf70c9edc04729fbeda17787618038bddeb38f7b283e6c92aaa37e9b93164dd7c1e553b14dbe329c974920ef8be5efacfcae2cdc6e345f0fdf515ef457f134704593955316ec7dc2514fd27014cc2e96e070e0184b558cbccb59fe811ba209e4a8ff67a55097590eaa8f49a23e8c5df1ae2b186745b7f9f6cc28992fc9a626b9114de5430f7fe4e8790c376c404cca27744d2eeada8a02b36e649213ebe4dfb6cc6e9c30517dbe29490c4f05cd1ba72c3b702d7f63e888f3fe9a8d73fb26d9c176d402d1ee4fe36b277e430115d0ec74a460672621272262e344afa1ce8233df4fa0f0882dc06ba68abf4f4f55c588cc82247b57a6f3a903b2c98c7d7be1449b11d825135a5627a5dc5e47cb453fe442ca4a01f8804c929ae6493a35f59048a4c4ec4cc8bf5e7353026e79956192ec7fa8e3a1e21425a6b12b8c8bcc9a2c7d3b580d062bb42f1a1e67ae860a929c5843e6ced50cdb8ff1ce766e01cd2918849ff3fe802e0c1c03c7d18852047609ea2ff3cd94f38f0bb0f2e09132b7aa3292a8f22b57417a392745c722688ed65b41e5be0a373e596374a3d02f4f7aa5d8f51c2e3169a1a9c1c2dfe7edfe09152b305874c0f6578e9faee9eb2c383d53727391bce3e40827508cd7dd3d7aa1cfec0000000000000000000000000000080e1a222832383d","message_root":"0x12fe405e14e0210c74a6b84cfb78769a85b730655e8ecd9267fea75480dcf9a6","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xfa7247cb805f2b8baec9f33accc809cfe21b9ffce47f32f98f8856dadd5eb3c77a925a0072f144737cfd59e0eebf6ab153792a1d06b370f9d8078c2c59135abb5cd8984f5e618a8f3cea0a527491110347270f0ffa574a7d0e0dbf7525fcb52ff80286a37e1f46a15b825702eaac015f5f9db31ab5914285da0233279760726c9030f27c82f078849d921a6967326c41477a35f3e82cd2140161d59d0c94eb9f2a2216afd85929f75911bb904028719220282da84112f25c85d7639cecd3afe89ad7a6d727b298ea27d5767c09f63c455f993e143a4c7ee6b389ed15da87bfb78e6ac114a4c0113e62cf15279138d4c5fc2641d63caa79ae651de3a83fea2ff556229e2d4563551bf17b3f56377d7ef6640004d16eac5f5b5a45a73c32a6ae9f2a998768f9ea797f1f618e61dfda261f4bdfa01bef2ef00d143c32de53e6ebdb4f06c9c7386b8d94f920d36b182831e0d5551bd6d4af37f81a3e58751809911751d7ae8cc51e3b31f4a6a866c502b385809204b23acb2c2923ba8dd19fdb245655fb1cf9f1794c01d91193159ac36e2149c675f92bd22abeeba80d447cbd4454cedb289e0fbe855475c58e6702c87e0cda58c6f2d779dda323a1c2277ba309ee3f31dcef9ea850092566308377b10570119bd14fa0e10ad751a7fd95b7ebf255e578c48fd3f0491b53284fe934db933ced67e598dee1f2ec270753650957046c6ada12a2f91c644c55d7033fdb6228c95acbdb027422be3c5f71dbe1a1f122794b6b29b3175549187663035fec88bd5fa4c5943eada0715d42d0fccbb0cb863c747c1fff337b192b674547de8ba3917371b52403df5dbcced5bb632f61ba6950af26cce96b8f73162aef2c30c733a398152453f99a4b78a7b5a4fa3ba27af5cb03077819643d8310a54291264d8a7736b7b7a3c047b40c4f1ed162cec9880d3afce170782671bba8b9eb5914a317847cf910f017a673a1e3d55102743585433b5334331fe3ddaf9979f85b7f5f3fae84efa1c518c7cb9cc59e315afb6b0785a8c2f102dba9975c70b523fac965549e3da6086d1cc6f024d35fa060e34d96f03faa627633017693bb6cfc81ff4b3235c92edd6fb56ccb187b0ab43e6c3bbaa7eab149bd2682811516789235998564e2c43f6f8a8bbe37496bd7237cdedefa572af2c2d4fd05ccd30e138d3af389e321e89c18d17ed5e32bae29b0cae716285a40e977016b14475737e5012507fea65b6f273b48b5bc34b27f2814cdca344a9c345807d3958832313bdffc447978b0eba06bbbbb979bec6f367bf474e9817f6d5679bfd39670191e1501c326d2b3efc9dbd17779aa13ddef0cca0aa46a2661d6c39f02672bc9e275dc99e2a339115acbf4e8f045c2dee879d25989be08a4ddff67e28de43f0391b629b4a9b3aca2a1aacdad9902f5a64b609b52b996097b23e5d3f490ef4e1eda959df3581f20468b9612455b5a6b17faba63ea229eb1900e6177c99ead228067c8ed019c2615b26cdb7a7c5f2a15b0303c4f044f95e957ecc65e6391f89416668feb1745cfc8a368212a4705daf733d26e993bf5bf71e5734c7191000e2816b6be904992336aad3da61d7e2bd240bd6cc2ffa18346bb7523adc27f6a2e0ac0c11f86b6cd67208170ee51f631282717cdc2013bbe8cfd403f42e376d979d1a0d06aca94f615c7a608b856a63e66636980c6ed549775ba40f1fb493496abd2350c12e243d9c06ee0404d23c2e1d3a0388bfeb1d810679913fc4b02291feef4805ad45c1e881c56c4a971ab359b787d751fb2e4225bf8e134b8a7b881a49f4c1c4208d5a84473d71091c339b0e6e851c891886c4b4332ad167806d9e1f706ec7ff38c0ce404c74799f108501ecf2829fc502130ce44e148e64134276529cf8d749ccb336a3da9d91348aef21ac884b2c7c753ea63e42885d896e1566ed92df1b4135aea5e8c0a4ed9b346979fde02b78d684217518fed5cfd3b06bf696bfb6278554f4fe578dd9d0be81c4700f27a2219cdd6377f111802a0ab1b3884a19b3ce11d096878015958135a2936c3d200ae56a3e9777f5fc0782228e0cb61a12d55ec64054795c8d9ed5d088ac7e051e49dad92c2566d3b118b2a9bf30afd9fffa7c29e169be1c3914b717b9046e9e29a072eb8370b145ca433c0721a1ea8bb9c35e52cd72f28325e6408ccdcdab25ee6485b6a6af48f343e6ffb52a01282c0f586c46cba1cfd396ba93dc6220dff0960ced35813f974dab39e71590dfeaac4e146f61ed5b002b95327b8cb14bc6ca6a70c9a6ef0c0993348fece0aab9b3660e1d7f27a39b396f9c190d63596ff1a406e0f8baa7544bc93971443efd4390a0a14f52a9a5c6e774362472cec6555a2005cf38ed3ff3ec605b6e670d09d74152a6e7625ef58da94af8dc512ac024070c401e71d3dd14d6d895f36ca7a624faff1910a21cf65ecd3b363af443b4b7a9dc01cb76f38d0ef8fe63c720ec9fd9c55010db29bf7fe64e4e122053b6bc8fa2e2f7aee5ec84566ec9c04178200b70290171777426ad851119c218e43d70e373604bec3a7daa4e9a5118943dfa3016f820ea7ec61bc9e6033db85a28698d54f0ad2f55d89069ed50b17b1a4bcfb48f08dcec14fca3031f76930212c06e40dcd606658645ced457bfca8f7280e99ea1ddeab7648b1531d1cf05aac757d56cb2aa093f5d273723d4bde90bd775814800d6308d6eea13e63b0ef6371b90d3bfa194f53a2a41acd48dcd61865c7b9e39c2e615c9fb9e39eee563ed555bae5d90a60057a0eed3ac08a5984083a116d0eea6edbd79ccc5c2809a841e8c60c432f221e397f9e6c5145b05c5922ac4c23312fcdbdf4e1bb87e69827809e4d46b8983514fef4b623487183ef75c4463fb526e29d74c01933e9da6ca70e28e6aa73592fae3997ebde948fd2c451142ee6b33269ee6161cb7d3561fef5e506a7d8fc9f8ac42b615b302672baf0ff5338201161241776321a50b73910b9f415a7f2e0ef9e0e0fa51d3afe7299aa15e9347374c5c6bb09544eb5f464a938a3d8c91163fc4fb43425a3a97932fff61a3c95e7b0396c59709cf204fa783370a21a4fd6a26e72f87eb9ff12f6857ced42e58ae05eec100ac77f542b656b200e0754cc13359985cdffe0df7b30a350ec999488d539e792a5380180e5472ac343836e0745b120b7410ccdce8f4ed06a99f2f00e1cb6dfa3c2ea00c82058cb1059d02880efff461eadc05c873935365e0ebbe98eaa1b9cab48bb60d1e26fc1af1c0648a835f88c66a9258f9bbd6ec93062ecdc77126edca20a7e79c2bce5d76b856b5ac5190c4df79e343415136d7e56c54f63691cee7f5308e756b2ff3a6d28cc779ab35ddd98097c545f650ce46ac41c53bd4ac8d08a1aae0a5b0b079163f1243b950553d3f5c6514dba552ea1d9ea5c2efe66d32c82758ea6abee7c868fcfe9b4b7c9ed7929c2809ac9f7459359448629883af968c1d1b599165fce0be00585a580e10e8decd0d06edddb020c822cafed97b4a5d1c020feb8dbe5778315e762bac720e9094fd50bd019b5c9d90bb1d8ee1d8aa36f85f9e09560483b7634ead0898e1cb9db652b0f51e95004aa29b1655b92757bf456c8eee0c67bb3d35b7dbbe915634d194976b0380857f5f0f0b61bedc168eb2044c8c0","amount":40000000000000,"withdrawal_credentials":"0x00eca70e24c01d0f9b631bc2b075c843e44eb48c5af2cc53db1e4689317444d1","deposit_data_root":"0x4400a80e9a266721cb315db7d15449e06afb76bfe047d424af4a4a79bcd8ea40","signature":"0x8c85f3b46c30f107c5d4ddbd6ec6a459183f2247de05d6f44ea0680babd6bee76a055ef55121aba0de6def38b76c4d16f68de97256fea68b4159fc7e314cf2dec3c3741337d17f3814f46ded3f5bdfafe8ddfe45f7fec5c4a59a07ffeacefcf4b071669b44d1a22c6fe276450add8430c5b3275c43e23bf6f2d20486e84c8441d4ca841362e0230968a4731c3aa5ed6f4e5143d30193652b07cfc4bc380c9f48d379eb9c71cd415a7c1bd053c9bb9aa24a91fb508fb050dfad740b4e4a1605a25b6df854766e2cb1d6fd897875f3d16f0dda86fc648dc8e5a0c379c76eaf07e3f4c7b55f7f899bcced79e11ee6f71150899ccf99b45bbf48d19f53352be82723ee0dd82fe84ec18b66c340b8a6a8ec8485125c80e6ad505468e726b68e25961d1cbbe4c3abf873649ba74fd4f0940def3913c53335f55fcbd793f04228c74a6382b0454de080ec93cac393ff6594ce805b57371d8bd856ccf8dc9747edeb23fe99b7fc30b69bae4272a8299a65313439806832ef83dae9b2203213befef8c7f503cc626664e5bafa23c006adfff4eabd0c4faf750991f5116ed2b09aba6cc24f71f6b0544951fcbd820632beba1a6990249fb7dfce305fd33663f3f6dc9a45643711aa86a6828a3e7a4ba0d34b74f57009c4f1d74f227e36ffc1e7a806e874cae3ae364936c9ea19727817c2aabb73778f4494d7612bb584427c7fabafd44a4ffc604cfb59dd0dc3fda7b6bc47cde30a68ab35ed1525bb1a95bd70a364750a2c6eb3b7528c132ab26d88dc98c4cf71bc90e1dabddf848c62dd519a7e068f37888f54d1e3bf2a63b606ef71c15cea743494a4750187f4c6af1f4b139ed09fd30a6bf4c2b47bf124fcf7e4a9e00768baa3a06510b848b88e70a7c6156fe41d11139683d63fb1c4feda5779e210c8d04d8fde0e963837ed71295191f2e03ac80755501d3fdc5b3094e41baade0692ecbda10b143472f57b30e1c2b0b8b2dfa87100f69673d6b06a782977c79cadc63600bbcd1cadb7816fa9ac37fb6ab7321d979ff1dddf958d4088c473caccc4d69cbbe32af9b6b8d51ee097a67bdbd039b427b9d6cfd426f02bdbd8fd12f9f2dec338f7cd6c839646701b53321691b6e3c127710258af5bb47b30a2334bffe5730591d0b32d9fa0b15894b36ed53e2c37e6ab3aa459b753dec595442f5e4cb88ae8021f5b300aaa37a36cc5261e1d1c7766806494ed4edcc83746f0eaadc419500a68bf33c4e07780b3be3b188b6ddf641ca29b83d84d46f8b91e425b3294e34adda2b78529a28780b50b32e97601742a9da2e61b1e908b8efea9000db9322f454c2d4c7b99ef845bc92743cac53bab87e6100e22f754624db2846ed905ae9bbeb60cb4f2a5bd58b5482758590b973eeef415f4bed2b8f7430181f2830a5b92dff56014be9878828f311c557d65fb0ac97ef8efbd89077ea58693e28b1debe88cba4e594aa52c5fa43480128bfa49f006c5805747db361b7c6ff29db5f6c23e83f057776edac4b2948577bff9451d92df58629ececf6476ec5134b228d4180d9d608ed7cd5d002b1af6b5c2688c4bceae2a47b7e6976af0536e4c164ce321cfacf6e898db133f0175a3126ab3b1e4d9d810c50433057bf623d6ce80a64208c1338b0a4ece7ddbd950d8f046d657761223e624382a96850749e3729b0bd5d941a71f86000253065d71bb1745f95b846d17b269e7cd05e5c6eeecc24f2e106aba5a25aa940bbea310faa3307168f8471fedf8edb28ae684841d6168e0f339ae43744f3de5e257fc270bf710d59c4d931e2610ac51356552d6c981d122b95a877184fe4c35630f67ea640ffe89de0f670853bb7181797d2a1c8d1f56981c1379e1813653c80c8baf92a887796ebc9cf187573a939e6dd36a21c01f1ab0618ccbe465e91a0cc9a7439cc6aef8aeb07f265a7b82e6213dd63dca6ca38db722f209d428938d196017cfdfa14172bfabb38b09ba8e2fbe33d8ffa12e138b4a049b856e6f6eb2a5f24831c78177d3a06153d488a27bee84e1d2a712053a5f3a99dd3357507ff9343172411adb8b689efda3b1833c857c7f28de6338b319f1d5be697e512fc3cfa4071765fc02fec39f55a909914726832b472e71be859484983d81bb3c2351d3fd043b53147194467a09031ecf34de13e587f80cad686ca39f531f528c96115018d2af087e054647553e9100215861525dccc582b758d9a3f05a2926bf22745e06f3dea4dca58ccb4e2faa91e27d49d823961dbcf14258666319724e9c238c718f89dce1a4996811725de0fb399ff3f7c163ab15c392e739dc5a833c11945ced45649262774f43ba92e241fe41490bf90e764a7d6ba336829fdc5d45525f23ed46d7b7fb25a166bc47cc84db30a352ce57493d484de4e46f4b64f27fcce851f4587bef82db9d3c946475b897e511323c2007103731efe9be41c886c2886a444e1a4272ff44590fc565edce8d78e04bfb3dfd03f38848cb3c4e5895a6a04e6d8e47894733218990162c7a5b2e5bf919abd1b1a5b817629db943fca61ea3236c655abf596fab0e90e2a48329ed0405b21935a394d14eb9c14c87ff32000eacc83732e2f319892b73bca67dd401b1f50e90c48373284e7700700d372bf164715df445cd806598ea87f8b83028863c0bc6ad3ca2245dc38c1f1aa051f7ffdde3e0f89d0e822436cb0b3d73df293217c262e47730f2b64ef740130fb260d1cf5d3fa293fcc851d01ae010ffd6bd141d19a3fbfa660e7a0d635c01570e81bb33d4445e72800c375d10cfd4674eb10b52946ed4704af3d906cfcbeb902186f0b00c2e0f090a8c4268f1c70b3ef5d4b40dc37270260973039cfb4a07ed5a6629d0bb264d7dd0129e1899b8313cb26da58db6fab0fe861f1cd4ad9ed8c81cab291df0b19f8706ad4e16c57b79a4707e8005b799f2835dbe9db1ac7651a9986e012f9b96e0faddbd219a4018be6eece9b83c57cd8f24c91dbda444af81a2e2df016f90ac9c8a36bc73bf6e2fc215cabcb9b94af70cf41079d89540a5a4adac9cb8abcff293f1f79529a21253f03d8a4d5c73374c7304bcce8737aa68c1d695377c6ed6febc423b8c4deac3071343427efcd9c210f3d0c7e8b7dacd467fe25d327fb7119ee7694d8314ee8043a813239478d38550ad77c5fea97f98add7e85842546c7ad739f478b88e711763d6a450a7524d45138cd9e76cfdfce9e5b030566a02db9b946a1a0c258a904c14491900fabba41e75f9a4bf47b88631e7b8c5a4e236ec6ca90ed4cf464746f61564dca88d5be2d8ec3339fb9d4e904d0cab3763841de1c3a8abdba1a97fda1a7d968d0dfe4e8aef0ba60e65ef068b4f5333b6f40c1c662b61f6237046caf896835aaeb22dcb6e9216478efdd7abf70e305d1f8034f09b58cd1caeae1c9deb1b1e6b451c5af4604bf80e8d328a94bd13efa2dd1d0bdc435a7a5c5278de980e8fac6154812e6ad3a0578ece5a3222969d2f3ea6c66fdd9409b8fd1f4cdf53ea51e614c9997cbc0f2984044eec53513c3661c8aac68b64961da0be8f021a878b6f3b28c029e2c1548485de835973f5b4626f539d7da446b409fdab90fcda6bbab3dff282d5115859a883462ad9ee2760fc104ae5685439d6dfefc89791aea206faf5758061482bb44a788024a4e96e6be9d2008b69230ec2f8040aa00a9a9458051fbf1b14960993e5911f7ecf0ff6774b88ff5f2de8b666c6c40144186e49c53ab8fa72fedb2cd603187c85de8ec7f2875b5fa2fe6ed6adc9ecd1e971ce34fd4ebc90fb167b7f0d0e63e47ab47cd142305fd95860509af503a19f6fe21b3f955b82010b6d261b8cebf6a3c79fe1952489f7cc619886c3c91135b7e267922f9fdd2c72bc2266239ed7441c3b189386bf6045d574928aa6597006d9a47ee685086a3bbefd8a85c21a77d41483643f96f7d90f6757f8c9be078d4524606ca9043362b8027a6374b904f9cfeda14235c56b507c214c0be158ab8e75a77f5f6e66295a6e7c544c0e9173bd9f8b46823daf00b7a2248aac7bfad8443f104d3258ca9f72b3253df17006804540d1e0632599edbaebcaed804d13771b3f9570cc2dc9a4e18b290611200641f6472a51f3ef53cbacaaa4a2c7bac071d15cc3b0ac9ade2800f129d418586553d8b9689aaea5138e217b8310a2fcce4dfed30a5a04c29526ccd8ebb0646263bda808e928bed9a0a7647d1150342be5a266c946583d39e65929844384aa473e9c5ed34798e774b763b4f41ce5cd801328d3381ae93b591bd4ed26476a9160497e6c72e7dd55a95fe13fcab278a88f471e90b3e48703086b2c9fd0f5a3b0dffa94b3afd4abc6c66db4b5ff6f2944be6c6ea0ad535e3d0943b40c332d0371b9bafae90502b5eb262f8fc9b698eaa038fdcd3b7bfef22092ef571f96672fadcb91d44aacf1b067d7b17a62ea681147a99dd41de95ba02bd2d85197124b3f9e7e143a1c3374e570744001d313a9ac2613755a73cce4b9a9c9291db5385f14fa4ca71b1cfa54707aa17deadfb7da58a9426e099d5522d92262a7ef48cfeaac8f2fe5170165a9502c3aceec88b7f3648d1154fcfa018f4a0a1469a93bd463ad8ded084f06432dc5b0464431c999611a81b70278f2d656066b61bd6657f7262c944ecba45d4a0857853c07b56eaad776db9124073f3798b111fbe6db1f32231430318ee602931211766ceaea8ce251713daab246a2f3e1e70ba7bd2b0f3a3ffb5b83f9cdce1383c7d4a9dd8dcb0a69287ac38995aa3a2bf697de93175bf98908da3d7ca1034c88ebd249199fc2ed7780e160b32da4db1461ab11475d06527a673e095bac49f8b64f4d84f469899ff82e6495239cb37239a698eb157d602292b5f67d8eca53144fb6cd42e0f9f87007d7704c8017ac087a38f239489ef9d40f288c9eb906c3cde76da016ca7c906417e81e5fbe251c7499aa5cae40c8addc2746fac55396d26f25a9493484a4860c4932322bb3b45cf3941814d17872335a789e59fc053cf1239198ba3a47a75a3d86032e843ea275d11a567705a24499825a6444cb1727b2a4426f2551fb075b5cd419d52a4dbf44be8eed5d0889df2728c5ad0127578e32b74b9a738f72aa0386ef457c13a87a571cdc32bd80261f5114427d96b49218baf1bf5f2f9910e55f34b40643e55bac69c92254db3c46a492b38b94efbc4b7eabd9709c16c0dd119a1edc2cd9517d5c68144c20992c7c5232f091f45baa762d54ba25dbc99159d6e9b85300f8da5fbd7b4094437a48e6dc5fd1189d54a7b8d36f1345423f53d878890707fac487b9b4ec1ae66cb0787a92155709849b26f9854173c3bd2d838a441d0ed4d47800b2fbadecea642734f49ac20d14d5e6bcd2ec6aa1cda9a73ada7ef3904bf8b00812f8ea653b1121076caab83f87218035cc57cf0e1020afd88b61012c292f5e39c051436ae4c195bab22754c24b6b391a80755857e43da2ea144189bbd1c70c4591df7492e29aeb9d9dd8afde854b0a7a0c88ab826a0b514a8a3262e40520a84a825affba1ec1a3a22a3562a786265af7a9d119c76173d09aa4f9a2017d02e75797acd4838dd685f0947b67134cb962eaf0f256754d23ca99789b4060d787797be50719c6d5c5fce05193a526f226a5bed1e701e39860537636a412d1c551ea84194b11c4a6190764c78b34d6d8a9f330e70177157d0e7696e7d3d4d9f766583d66477bad677af59788154f2681cb3885c8a1e6ecafa1ed02bb32dbe4ffb79a9b287625a0a61eb02cd0313254af51bab899f258afe061f194fedbd180d2128bace45d3b59f1b16337e9e38bf2751d8130d7067838fd159121456c83e8a5ac82e5dc71d370c0097fcd5e4bc17c1df850d8d22cd5bcd8ea7a9f704fcb0cac1bc7fd80f484c71521be4a039754aac5d973931fd5d8702a24ef499fb088fdb42728e6025849fcd7c31c813f6c7690f9952d8e65b065180cb204e0e88287cbae6dd7cedf5863da9db3b411aca0585147f17edd0c1337f299b01d63419fb038009e0d7501e4d256ad5847bff7518b7ef0e3ad9acdbb7fb5e8bdc34cade4197445d6dd39330c6da3cda107ac769fd76df2296a507567e6461b6f9932e20356250c5b7efc578d3775c59edee7eed0e031c07620ad6d711e5b8ff7f2ddb5feb5eab3ee3c0cf4e77704c30aa72ef7cfab61ba48adbee3b99e3324a478dbecbe064ceea71dffaa2362de6357a784a2a7b8eaef7593701bb7a8c42909257e4bb0987162f8dc109cfb4504471a99ce313db164fef70f532d784704b9a348138ba5db450c7442d3c6b8447f7080b464a86cdd491cd7ef0df2d55b2957b1b974f729916e42073e5ee02c45630b7b58d399ed7f8380d2b7dfd9324c9f550d2e39545f76dafd03131c244f6183a9e3090e3e58618cf0fe0c17374a50778497c4cbccde3840d8ee285698b0d732393f405b9fa2e9fa0000000000000000000000000000000000000000000710131824282d36","message_root":"0x39d71958e3c3da149d97cc584c1ccc430347debefea15e2418b0389543cde650","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x63fda6952cfb958eda2b84b1829d0f96e05979a8b09112d3d1265203a5b6c48c0f8cea9f4a5edbe90231d51cfc9558a62c1a9cd74ffb3326ce21dd5edfc682e2368cd3f6aab57afed32f4cff515195661524768f252749576ff618ea904ec8b8802d6f848bc4fbf5d336f8f9c06a995aa7870d063f86dc6cc3e8cf3b4388287d620e3c36441854294d7de417e572433a620f35f02465783cedc9745cf63fcd8537bea90db129e3cdae0f43b609f7fe5d22abb6bdc63385f91ddd33ef49d7892f394958063a56cba153a48ef8f648c434980d8312d515f77876839ffca6e1da9e9e0ae72a95e0415c14d301c27c68baf6fcda2c61619618b46d41fbb7ebcfe035612a843451c32a7f9fe432459f139966142358da74bff340bf56617810034396b260cfa7ba24144d101615c5060325141c7d265ed1989e1db3a6fdc140e8ad34250f7c668399a752fad076da6d4e33f8cdb78242779a76ecc4099e5e6bd3f930564baedfee12bce29c5fa478e951c1fe6f59240061bb5a740f5c69749ce90e26e6c82f690b16571ab15017478171c346efac879870a64e1f4d42683621726e27eee95828ba553a524e7a5464dba5027bfc9afc8bf73a811fbfc62a1ba94cd4ad5620c6f1676c46f4acbd824bebfdb0f05f328e1d71b7d8f4ce71df85858c00b76b750167f2a6b81709213abd7c5315ee04cd5e99f20dacc722373ffeb68c3fdf642b534e986f0e18ffe0c16e16a6e3a6faaff6e4ea4625105d9a2403ebeffff814f73ed80c88686ca57267cea3eaca234ceb64e0acd4b71f1db10a2da4191f2e7d41d2d77b806d525941741ec2f40af2abfcbae3a84da67905ccbde580763d52117414121b5c7ac9ac47ba7947f6b86db85a0f1b68945dbe04788d191a2bc6184c3aebe4c98c7e0d311bec6412a1b89b8501acb9b2f25edc6b86427cfc57c216e1777b125d31aad023430354ecb024510d27930029fc28028c14775d7ce3b24a7ce0b183f27c75dcef07c36813dc0644de2319e049b115e4814e02c73fb9e9f23c2471064d8ab20614e269b33cfd9381383fb8472b8b7de4a5328dc58c768d522f65425d60f0cd1e9077fc099453c54e1501350fe5b1b00262463275c2c09985471fb158a66215ac2b30eee7dc52759fbbe9d60c28eefae9504c97759140ccecc0398a763e08991a07ed024711ce07f787b4e25319a534d3909b9c5d649e4f16f09715ed37dd1393f3486665fedb09b0cc182f1f037e34c75494f07cec4395ea392c07073b89c67ebb35c85bf8a3f1c991d18d23bb5eaa84d8d4920fd56a5ef92db64af72f2537c56cb0cbf54ace1bbe9c20b18ba000edd384088d94d4604c1174dfc8d9677437e743e9741f5824a3986af82dd05def95f70e99e77152444202b3f7adb300d6821fba773f142aa8d492422f9d407ebb4d65bdbfb2fe5268b8f319346b76aa33cd53ccfaef5cfed79a20a36db820a29dc759aac187d211d66455a9c4da315c6a30f6ac14546422451683b8df1f944ec2ac2a44869bce58092b49454d6ed9222358c174bf7b9c285e5d149145c707deb2355ae562bac42017a6ceada53cea81eec213a332b9f543e74dacff9cab494c2992e1f5c6fce2d662b98ba2cd73122e007bba322dfbee4aee6182bacece44798da98461b51870cfa774100626019489c62fae0d4626a7e4cbb061f530bd5697b5079faf842ec2bf4e4781f9eeb2ad548f25e5f8603f3e8a267c18279f12d38f4bb98ca08cd7192328582dbd73ef539353e2dffbbfb9d8755d59b1037e16fa5d5edfbed3d406abb2e000eccdd871a04537093240056a544f440a87e5a6c8124e4a9770dd1e1e3bddce0a0b3721915417fd95ac6f0fd1270223f8d825069ba848409e381d7ee9dbaf71059ec0b20fea775be6d4680a050d71245c53b2da02833aa63d76244a1a8e40f9ee8660b4f60dd0c1ffc51c68e7f1079823f26cfa122d9a5c5f11a640eae06b687ec16f26eef7b66fc300a93b6ad06d827ff5b40f5b902be20521c6222be98fa58f4d503212fdf0ebfdc609ee414714acc1c24265541424d7a328357a9b89d0fa2cfb92678169449a670619018ca5c03a6cb08ed95161d0a9b1e53b6870997fffae05e3e7252b5a855bb3036d6b1d0f29a0fe1f6119d0ec07c5831fe1d692cee046f4eac0bbb00040425fa5f24a9b89c2238e2f63131010ed0c5374fbd15429bf4e4023e4146bc38c496a0daf9f9394fa59a00617af4f4d8d56395afc3e35d0609e565c01fcd1bc313fe8b6d196943a9c681f0608700477f345eac79d8683cb41d9d37cc141e201c49415cb9a2a52e6b48bec578aa416b2e15e0210663b7c1566c59256ee695dcf7cfbaf1448fc586ce86afe1ee712a21056b635fffcd8c87af189c5dab94614177fed109bb700047cbfe3ec66c8454123cc017108e28a148ef799c5fdddabce9a95035afbf7732954e4380729bbb6e135dbc821401654e3463c5e500c0c90747a1b4e8d92bb111b4d34f65cd25393b47e59c3340e5051e3f651bb1346f1b93ba07167e278fd9d5505efb1b788640804ded27d8f8e82a8be1dd31946b0a4871fa66fb7fd86d36ca4c27ba31d49313707e96fcbf3c4c5ca4978750eadb2f84e135d4e137f3c644903debd00cb8f175a4929baefcba21c8bda3b55923c375df93fdc13ae9aaddff14de7885fdbe8d8a318cc8b4fe095d02df48adf9c357d3a0e88bf7ea43bb329318de65d3aec6d2a2b1dd9a0472afa5652e7cd2ac385b03752bd1be8ac2d45696ce7a4f57919464ae96ed157a563911a48de9a2d93b59bd0bc0af81511d47264384f736df8bc2cb66ff4bdc4574c9ac0275452be4e7518537a43ade5b742d3b8f9b1c5704a9ae36454ac546d7ee01ae57b6d1a28674a10c7fe22e0fa7f9fb8f5c8f5c910bddd5a1499b1dcd9dbe12f20795b39adfa26b26fbb293f903b8c6cb247d2eae42024c89253a8f2399ed1be6dc9359a2afc0f194f707b9525a3f907caf20ae38fb70f09dd6cb36d72192b440bf832fce4de7c3627c0f024b26573e7c3da93010ce2489bd13e29cf1abffccb057a79c84b647d19bd345c26797995b5df171e3fefb89b993c7390bafc919b25c15a9955a5baa665fac5a0eef126f8c2d8b1ef1b3de53bfed7b50bfc6eb39583e6169765b4bb9d0330f5bfc6553059b0aa9552e53172b5501c6ca6753a6368fc3a8d90e41690dc2ffb2ec7a63023074f391b528f2ec862950c92bfbf98a0d42eb5d8928f889ac83bd960917fb2bc613f56f9122072a381a2dcffcc56737f15c01cf09bee57fece6a28f8966e22be8497218761a7e855161f0a014d9ae62462bbe3f996851c06f6a881d6bda07b8bd3fd7d14919947b8214e3666dc83efbefb0c77ce033f22a1f3f89c68d1cc8bddf55de35ad0c9763269558979a36480d01ffddac0ff7409644fe072b348ea83f4e3f0fc2ceb624e99e80d511cbd5123ddbb2d91af6d1d32ee9ea5598e51584137fc43f535f4f717dfda8c71565e37d6be14ecfa769592419c0fe82857210f99e0a389ed95dc1d454f9a055545ddb0c973b56ced1987081d894ef2d217391139da9ba7e198d09143921815fffe4d1f5bf9045397ff0682ab0bc330e8b8163ae793d48517f2c044b6143950fd5316cc4caf16243e347aa8cf0c5b","amount":40000000000000,"withdrawal_credentials":"0x0010779c550f86353de4e1118e8a26825450227e6e40f1bc1b2a420b76b48f68","deposit_data_root":"0x8ed2dce3c606577c11c0228aa894b841e8c42c7c3fa78fae2aa35282b92d5114","signature":"0x149c0c288d74311616fc5e27f477c71328194fcefcdc0bae87cec0d862dcfce88e7663cfd07e851d2742dfbef89f1fb45b40a2e218ea21e106f48b287b2967acd677299eef93b6d13b4fef4107f83b7af857b85cd2557c0b02a57d114f0a8f3c252df51cf548018623926a3628f7dfb30949905abcbd5bae6f21b75d81c29a7ad06a68d6b382791238ea3be2ae23b3c53f5ef652f1ca61e7d8c289171912f2d355288b631f41460b8149dbc9d7f9b64255c1f3349bc72b21fc3d59cbc5745eab0c05431fe51c4ef0c88fa682581516f56ab4c274b2c94a19804e7f79bc35c56722679a8ac2e20fbbbef02882bc4a43d58a061ae421b04a1cd2bb76f14eb19482820345900e4d25329985658138176c8d8263bbde854af4ac8084d0ba2b68503e9bdc6ca3c7b00989f287c40ce7ce4968a955edce610e7acb80f83bf5e118b1d685ec14b37efcbee77d0feb653315bd352cf28a188cd7a5903c067eef46f170fd541d9d116dcf36dd1395349b661ead0c86dc7dfadc6e30ea1c0343bc5b825784f8ec2793e6789c6a0631afaeece05b3453949cf2690d852d5b2a31bdd766877702ff91cd0fbf99c788759620de5fcf315e529cfb88e2d24b22d55d325b993776994b9cf90b4667560e1184537c61059eafe4c2bb21ecadf5b4544152157ecc23467118158d8307b081bcde62727af94cd6ff5697f271db531022c46267c4dc5e356959bf0bf20642977fa26651d4135b821c07a6430a3cb4ea6a0154820b8609fe0dc416657c9fc6c0d3e4f58fa69c795dedf9015b9daab64640363dc50013a63ca962c02d68c4c3c74d0c43c4b5d555789cf19f6026cbe6ef2d5efa69842951201a31ef153c07191739dd7d5fa9034258cda34cbb22292401640aab50ebd9cf66f9ed29e20c9d9742017532eaa1457b7d4b8f11e556a61e7dd5c4ec6cf4b44ace623739f60629e4da820ec3d9cdbe7a0e497a369439cf9bb2005ae84c5c63b9a30fd808940dcf9b8c618b2b2decac2eaa6029e4085f75a78f5120187e36941a09de5ab427660136d21991aa300542ab45f763cf0767b7260e7857dc27fc6b069351ca229ab7865935e299ff5bc26dae58e6d4ec51e338cc498b6914a2972c54adc7efae010f51a692145e44ea7d9ccbc4a712e1968ae38833474e3bf686ae7711124fa81a19255b628212fd4b88a0243c394bb1c8c69ab9ab0ea645be8c25aaf14d6832257616b8a4d53becaa00868fa763d17ef80e9a57208b6fe15f28ec724f1d24c38f188deb3587fa7f1d6efde5660827e1c0cb47e064c8bbea5e6da2121e8cc9c8f5028bbf9654c1bc4ec3f9c7affc35828ad78548369aa254f2225525eb5298269d0f77561431f9453fded0f9f1d752ecde57fc2e19181e7527676ca6203cc4ff509da03d586e1b453be192024b6d9fdf83b926e0b2c0dcb5da6dfdced3eeb8acbdde0bcc03e31aec0af39c895334bd87231188892b7e9f30c6023a01816f49e81121045eb4312887e4ad6ca6fab39613c0b7961390e19b28f585dbc90323f7cb9648ae07c1a304bdb1113298d739a4bbd8fd1855611088c76a913fcd07495b787c0e9103436971b7bcaafc92c26e04d8cd9373a3ac822e671f66928c795000f45042bf21a395f905b2b2a04e2cb86e78bb88f37b37919d7b1c7f2bbdb29e2a42cbba8774656b2c83efde27c4e6a7f5abd9978f4976bfa911fb6b33f651266300c30cedfe4fb152d30062dfe37d8af203e25e7a8c0fabd5748dfb883dacb6900058bdeca1058e21b1d2de0932e695fe6d6655bdb37418aef0271df6a8b449109b6ada2564292262b5b5ffee27b6227ef47602e0a5491471367a61d2454d7062da6b84bd7b5bfbcd8ccd6d13e14a66862809aead9612450639c924157eb2a49510c18e46cd716344dde87150cb3a8c3a3504e901fd48ad2a4574b1e742af958ef21211a76fdf305e58afd391cabdc659de40ae74d1c69df91bf46ecf62ec56fbbc784737bb4590a08420a8c1697c3ee1625b9e8fb393e3fdbc56d30304704089925942eb826907db1e6e806f914ca8273143c00a9c68c0c60b073598c683a508d04d988547db52d4fe44c1190d1f56b7fa06a70e8dbf3dd703b4a84d16e8a4f0a65a4d20279b6145f94b8cfe1e307ddbc758e5bfd8d6d12662995b77edf8cc972364aea510bcda2127dcf08f94744c08a8feea5b1dc3fb9deed7cbe558de10df153a25dad8e54cdfa3538102d9300ccf1f88672bb068af71f835dca2177b98f43816b3b98ddf3d76a3279cab5b488848d167f53c1e9d50c22e39d2311a21a8a5e67c40a32731fdb687f4aa9036953fef3b9512eac95819cca484c9f63c6c373a183f71e5101f916530a87857ba4c23f7c60f2e70c99f00143913f73599bd355bfe5180156d8c52a3191fcbda497e8332a6c00bc1355f747ecff8e49e52b6b1ea35ebb43b09452e3f4892e249b006f4f795f7f38b0c177b7fe7ddfb17a338cc77491451ff8adb9f8355982ed70bbae29a939a26483939d5a9ad94b2cf0e0d3c0c92552fe89ae5cd1596d6044f49748011dfb2d17caeff6b3996fbc624ee8792bc19025184a26ce02daefd0ef2e92284d3c70b57f05c00cb278c8ab2b7907416ae6ebe11848333ebc1a7230bb3f80b4173f563d0df32b0827353b672a4283d6886b8ea332550f420ed9b47052a5333b34caad116b08548e655f1fac1da863dafabd8e7daa91f2c33c5f7c7e69b5bc54e08a433136caeabc398465cc2246103daf6f564f1a62e431340435f57dc056fd66da61883f38a2b67ca75f5ce1d26366054f4b3c771ef51947f10f74d81734b6fd95ce57136ce248abca269fb03c6fad5bdddbc7c1c1a2de50637b6d28c94c77da4223c5c865ae3401d5655d6aae4aa2d1ef85ca04072524402b2134ba3c6412d170bc9e6fb90bdd126114ce7d622f21dad31832d6cf7de7975ba3e8933afe5bc39c43b27295163abd8fd55ebec33a3b0d80af0ea4be754a32aad5ad66c85a33bff0f4457c71264024d4ee495fd6a5420c2032eb9397cd8a331db71fc1454868f91049701d15008932e169a9cc471a9d3ceae6b7d6a89b2b46e8cebd897f9e2968d4ec97fed5c0f57e0eca34f7e62bd90b51789f90eee93d859f2afb76e5c6aa4578deb63eacbc2d30c2c1d275bb98bca3ef924ab412572b60b443259dcc7bd5f91e15ff77c4b853056958aee3205e9a50c218c148b167e8bb94f8348c31f07885d17a82fa37fab775e68359097a1e10b03d20f8e56f2d2a87901900fa98d4fc08883261734c81a1cab850f0194aa1d29c700a8d1a0694d0b5170cfe66e38c18e35ca7df915d210e914e69a076c2983b9cf276c40232ed87f2aca93e986160630a1d700009bf1a98a80f573d47acf8219285c22fdca1fb6772730835bb535b5187510cb81daf9d3d8a329c44056b014ccf5022683032249e970c216d80f2086f4ea2e9e714259df1fe2809b8b6c205d7e0cf2327f9e55b2d51add29e02865415e0bc4b441d392e67ca2694c5fd533cb6c7fe22aa9e46b2af566df776dda983420a7cfeb63f018c67db3262c17f9c31c019518c5f173732dc09f1454c8ac98207cca6d5595482a79fd336092b4c1ff6a306f787e7cb9c62a2f3b66c62f305d824db7fe11f13c9b7b1a9c72ff4a9f866eb0e438e30f9ad85fc336faf965d409d5445541a1ac7654c503ee12138fe86f15d6235b7a7cb6b3cd4666f35453a11e565734710da1e1c4481f66a6df6544f27fa2abb74c4d21a24917a9972f4cfdb8a32f826eaa8de63314b6f33bca071dce99b9cfb89049035235c50c75756b2746c968a6c324a687c7f626e5eeafe46c4653478ea90aec975821ac4c40ea916e7ee7c4c86c06ed36f05c0357e88304e9476e9165ec2d1d5ece5244d0631f44e3d01bff4f8b293ac9a12901222eab9c9811cc4773d990321df955b93004fa693e32f276e572e42af846643bd392ab59ac2b66190df0ec4634de5de983c2be1f9cd7318ba6676563a627fec185f54b2a93d4412d8af12b9b1dbddaf10ac18fd083ca8d98d3ac836260e250c103e145f6771d00a4eac444dc451e091b2ad6d89ec600d75ccbb8825e0e99d491c00901609dc5db0b8564e340f4f58b43486165362aa8bddaaf368c79a9d99b7654e28d653c52ac6d4f9e6e1d22eb0d804019b93f98500cd441c9f41c800b3076ac19803361dcaf528d8572dabde3049448ac5989be00db2645e2168f70657ed255e645cb9526783e61e341c75669cf0258e7c06a56e2d24bda71c1fb0d6c34123b9590ef282de33e27dd4d3738987fc58a50bb248209f7406993d6676db5aa343ef840ea9891d295ad374ca480b9cdba66d02ee335dc13bdced7bcd0a90d06875cdf6b833294c6f0b2a529e42d4ed88ec9835b3e2c0d74566e14b758c43599b3d8c87598ef69635f9b6a0389e48eb97717da58cd6749f3e49d4792c85bbb09bea8560ad888580c6468044df1d99f01fe8d6271940c97dbc489c14a8fff7245910bfaafe067867e32c9f2484e650d4b5b3e32060c0942ea6aab993af9554fcf0aec576ffbef77dcb43021837987df6e1174f1ed6437b3b5c76788c92c48d5fb97b8077daa1b0431b233899107d3bd2eea7543d52e53ff1b7a05da4f5d85bdb866a1699538dddfdf8cb0609009a8c88ed4b93a20dbc64ad6c73eb9f319e973429efb9f7685313f1f76ac4973d28e2840bab52f6507cbf127856aecf783e37323ed1b9492faaa896143158c54e1a69c56f7577ac5d885ea7383f44845e725060e35b98a1677b6ee8062f41d85565e39bda4e0528aad3f913deb4d88e6bb9fdee8d88d9c4042fde9e4ad844726c1a29a2d964d0d31b57ac5207e25cf19e406eed8abeebe9d15c23ab74295430b2e2b717ed6afa4c49ab7de1e56d37df9779fba0c514692de8c6bad1c26e98a21524023bb751a6281e6056c0d26cf97970be933454c539204ba1267f5fc2e640c526e2c968d52bea622c1ee911af10320415df024b3b92b59b7d206051f3400b836aa6b48f1f409963a3763320324e3525d508e28f5fcf2c2aae98f063e9bcd20def6266c828d63261206fa0ae2e4fe4ac42325e3ac82eefbafc0b2cd547dc49706c69f81fe53a0bb19a027126c6824362f34a1ea0c00bc5687c0294fc977748ee2d54eca8625992262b91ec94ba246d2a20777a0c2a822e00540bd79c0c8ab2034b950c317305800c7bbc16b45fdfdc1f7769989ddd72067c30d99d55087e24850e06d5dff9fde4b4e28647276520cbe4e67ce1959cb7b7bc0916721cd7c0e892b48f0d8a57fad0eac41816ffbff1c162e1dad1544cf17952c5f1daac80cc61553350ff5f2a07772b6c6fdd9f5f695642408b117a3cfc3db2f7ea9d005b3195101ea2054bb41a37d3c9c3985cfbb2d606b5590aca5a1decf2cd886b104ffb780e8ac8056553179e18c45e01be0e1c9488a0b6776e6e60213abfdaede105ffbd053c8437f35f893f22ec4fb9cae2f35dd513add71801fba2f83ded26f343c634567bc077b0a366a653c60bdc57e2e657e4348a02b40023d9a96e69319be95c94ef6e4e0a29362efee8cfe409cee34de435cff661eebd6a1ab79594dd872b4e5167319e57950472addf590a34e7f2659b1e5614f8b53555f2309b2cdc73c6ad57933cc74bf3f281d581fb06bce677934da192655b9af1c75f242f58c2294ccdc94337792e165d4714073822851c2ccd6c838daf0cf8f037c5854f5b1f28c25770516bf82a0b187eea913e9b628db8220256bd4bd3e4e3ca0a04f4d726ac639640c211d3501e1e2effa3588a0a5ba013a48d5b222faae67696fda70f39c2d0764051575385bd07f4f3b2cc64d68d96ca09d410e93c670bbed8dcdad05fc150a9a89cdc87eb966b1085a679d89c92f452b80da76c5829f4e3d22887f40b24980eb093b0a416183b178a75ab3c91edafc9062097de05ebdd77b99fe4970c59a69c1ae609a706c25d076f93b68da4f256f9882407d3811983dc8ea7aebd26b9e8319cda0238ff36049d66f0360d0cecc3b89abf364db73e5a13f54868bdf552f1a9dacf77e22f4eda61d6e366a39f1119f57705a5ecaab375bd5da818cf8cd5fd641c072d0e2ee0f51fd5025c335e0bd36c600547ff462a5a0888967b642bb7626b7c9ae489574ed53c039a540c515fbb937890a8b22d374f42887e3ce01d82d7eea72380e632f3a5b560ffb7a16b106e514f8645bc0f5708be62c0b9a03f9518ce338032fe28fd65c06029d7375339fad454cd1cb4d4d26113027e963480eaeb6d9cd77db9e61f3839da5989eaa364c22f10a26e8c682d47138162e36974288b9c463b8f14eaec9c454f7d6ed8f446bd60ef516e6cb76ab2a2503a2231f2d67687d820a0b0e1d314d55598bb2c5d722242c54799fa4cdf192afb1cff108141761636e6f7fafbee7f9112d6ae9eb36676e8b94c0f30a32485474a0b3ba00000000000000000000000005111a1f2b30373f","message_root":"0xa4c1e53af11cf96a80c29de418f2c0ee75c51bdaff1ca978e81c6461c6779386","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xbd597a05c62164c7159ac0c98997773ba7a9d3b6e16731f65cd9bb065894e8ae67603196d9908dc3608dfc25770a885e5dfc353d452bd5b42eff93e698e27f5e57cfb22dcf2d65be2963fef1f6cd49a952d1573889cf5267415efa27a7d19df42d734c3aa3f2029bc2f33fac62d792534816aa4b2119823fd2d56deb5d9372d92a125163acdd373170c57b6a277ab998ef063882121f9c6f2a31a7f96cb81e73fc9031399f233f944389776e5a11bfb66fd1053ac98241bd7af66753623843c832accb87f665768245bd7475ce7a8a480d18c9a3b884b4d6ba3e1dc78883c6ef53675b2641fc2eadc155ea518bea36e0c4b765878d07c8b46a615e8937b29276b7d214c028d8dcee962b1b5cc50586925307ba8a1e04a0b1009d8110bf3fff534af3e35ec8ffab7692b44c033441225a4f20faf442061edd4480ee3580a0ddb6fd6328fab1e74d9eb080a187155b9f556fde64551bc10885706cc64bc639439a87123f3cbfc34644089293fb1d71f64e224451f8d78bee90126c66288f5b18f61fdaa57848c0b3bcd3ca4c348beffa334565a6467b6bbc10a73c5284ee5222e50508e26d702e8f176982e8cadbbbb70dd884ce52f2659d16825d219607f4f3014469da29e1d0d7028c641e7b663b3b20fcac536d8308969320f22cfb0065ef35cb45a69bd98dadc502875266ca911234f5cc56e4f8827c146952dbd527487e78025cf1bcb54969bd559c4663adf974663afe677b3f8a6fc18ab6bd08c513a096e4439ada03b1d796fac58c2dd7f2cd5715e4cf9c0bf8de95840f1c7e7471052125cff4cec9760cc6962db2987006dc8d1aed8130c936422aa59a6a1e29731dd1296f588ed1b1931a5c42cc377f88dbabbf48295151b3b0854990dac8417122ad11e2e5c7893b252f1001a97133bc3c87d8662ccae2002590b61886af9de79eec2195fb65f8173e66bac6997b0b54eab63f157eb32816e896fcc8d3b262928016181a74914566d377259932764e153aaf682fecf2e034d26d7872350a881f67b554886447eea358e19fccf5de65dbe257c3b00d09bcc535624364c10c3db36c4156de9c720cf8111ad88b0ac03b5b4b6afef23c025e196be0f97dd5d2a31765c4029823fd95b9eae104e8fd45164f19dc069b0b7a27d4e248afa9cf81137fd56f36b7189470695b3d58049d1bfd53d3d6e07dbfde7c115e931bcf205b5982355e07da8d69a5bbecd213359399a40569aa16cdf410c3ce2ea4482b0be54a5f3a96e5a4534f38f83ddadbc7f06cff7bc6b5285279c7bfbe93c9d0f0a623d2a746b236898e04b8afe774794e07da55c54c56e7ec92ad63acd099ae1d137b1467ec6d6738c7ed05b5c6eda6801fe68080e0852a6859232eed9b8c54ea33c096a05f1cd71d11f149b62eac3af743caf392f0c492ad1ecd1575e0d03a66d829d0c20fd0890bdffd9badf3da14561a80ec2422ca8b5c639a3d724cf2fbf28cfc55f2b63f8b9bcc7cf184175211c35f459c54f26812f87f7281b25a7a455b8d97d84f2d3c3d8cda75d9b0e679b45cee0822d629459735478e9cd354772f8dea48f413139db9991162f2a29ec299859776bc3fffeb0cb95b5963cf3b9e7e370d417b20ce3df9d481b8c4c8aa07a8c0ca862877fa34754811026a2a489c2ba0292d6e63c9a9e3e74eb9de55aecefa83aaf7293a8e02d88c17c2a223f6e5f7f87c181e660ee4f45b8189fe0d76c58384678e5e01123a121e616553ab4cad296623f8383e0503a73e1ee7f84770a6a882450cc7db06bec089617dd7aa1c337d5a9e3a5248ae581f1e6ba7cab8a670f6e10d87f26f79a16b3303f85a41b622343f698cea1f69a55ad46b84db46f221758a21bda7f96e7919b3659728f16024c2297f47a82da0ec047b7b17a63f9bf1ede88c17b7876239d1af772448024df69ef12f87f53e5dad462d17659195a2af450b36cf608fd86ad117f470fd3c3af8985796326f941e62e02597a2198b2a57ccf5f97ea4d328839d1b38dbb5ffd4b9602698821e3e0a9f33f78f5381bfac4322f284003058f84b4fe1d4bee33660471489f2f2a7cbf1db7d5f18f05bda9e15f5faf78435b7279e4e3da649e31f30a9793e554ee33359d01d837e8180ac92b72ca406909dd72746ca335ca1649c10ae64ffb03b960fc582e6d7332b6e5e0a9914abf22caad1e05731c4dfb2e4317c054bb38250bdd209c805f925dea9fe666cb65e024e620c79dd4cc8b7fa1cdfee7da63dacde23bb2495ce9117aef1c09ca7523aaff8c4db923a50781a33d00b19af9f766c1db8a3568bb4e57398e5da9e77efd4ae6ed5e253a2d59c89ff6235b89802e91e4ba0ddedff65d51d1a31d1c2cd6cb1991b596a04997866c630dcbb0d4fe904a9b324702141d02b672ed3f20c35d3696987c9f8c6015ceee65c50b5455da5d164a9aad7e3a7e740a98a8b4b0fbaeb381c88e7120eb48fedfa80e7e0afab393d22f3bfbe0e0e027941a8ed3e95745fca565d38f57de5438d8dc059a203c1e095e43a087b2de928e51e58c29007e03af4594cb27c52d6d1ffbb607aee72cc34da83af4724a952d0a89a04cf7ef8ec5f1e3d5af60005fb3510a9cf0a7bfcccc1d1e07aa1040b72348c56407a2464772340b0d8933cc075451f4395ba2d00f3f78888c360740394e6eaca3ac66fffea5e8b2a4beaa0e2f77d205eaec67691e8dc4eca5ab9e5e071cf0115e45ab7caf565a9ee70b7c75cfbeb701b8a66aaa8e9446b5b41678f54ae6b0943f4ff86cdc96dfb1c35738bbe914362f91e7ac946dc99d0995da11f50dd79957d0d58ea2fdb98ed6cb1df0feba1c2fe88646fe246030da025cd597765b315de154923d7d21562738089b0217db65eb481bcf176968b84ecc76aecdb07a8c1d995dfd8bfd3519d6a62441695b005d54ce51577cc76c0c23915e4aad6552ac9c2bf31e26140f437fd82ffa573be3c7bf56be06c75c2bd57e7fd9a4bb31d5d72d909f55205da54ab2c8750abd234f6c055797fa430cc572fdcc5ca346a158a443a4c6f6553a9dba8d194cc75bfdb2f5759a0cda57a33e89c0dfe2e86a87c47acaafbeb66c767ae55002f1a07410fdbae1efde7269f8d11b4583abd953ed43acadf00136617eeaa75895090c9db7f15614f90b11cf3626ef280a242122dfa50c05184e8c2950730c4d75074d7a8d535f2e10e7e3a0b5f801b5419c2ba20bcfc07801c924e042f12d36f12ff6cb8b4d45f81726013760d9ba62bf04f79a98360943194293bbe158e35ec2eed6ecadbc7bdff451750cc67f719ad58edc163380908e688828487b80004820939320b8b60d46caa35959680e0156a0754a23216b92787cfaa4019b0513aac3a2a2003210caded247c8524730d662514dd20c3df567cdb08fac357a5a7b491291c4fe3c370cbdc0f7fa6007d98985def4384439d6be586f68e48b6b5a55605da291dad9de0027f766b5a21a1f17b1cfcc3e47e35556d1d790a6cb474cd513170862a7e61965b02b5b6dbe46759c03499652cd32a068a6f4e2e3b7f94a14d7fb2f13b49994fe62f605347623a170a2e2696e6f8e6056aedf637596dbab0ce6c374b821f06dfd284d94efe06353e45eb88ac6b90b8342962c25a67c90cb848d6fc9f81b6078414d2b89458e717caa143f3602f70bd91","amount":40000000000000,"withdrawal_credentials":"0x006c66ea51d891ad0dd3b97250217db7bcf211ae8583da0af393bb354f51c081","deposit_data_root":"0x6d876ac6fe4b273c2da62d77fbe9a7eb1b3e68adeea820be1856d940322a8461","signature":"0xa102bcc1c6924fb6f701706b71cde1421941ab8707200fd5e7a713f08aca2acfc0678fe61a58f3f8bfa6181c830bb5b8698f4217936445f054bfe6936a5c827c59a1263e985a7e6ef150729c6c00afccc558a50b70c82ed1b6c3a05d6aea11eab5548a95f660d085be4ff4a243d7758d4134e9a259918814b28f2c167ce942fcb536db3f7b94ca3322c13f3cafab6dd3f07d9b0cf80361a23b11130604b0a6115d09e365d1354f853fd5389cd3dba2f8403fada6b55e624baf86fe9668acc3f0c370a7a8640fb7b9e271c9df18a3319df595eae5ca56a2ceef97d69e6c5d6c5d3da797e5fa49f44e22f053c7a3148dc5cd83197911355f97ffc61e6a919b109dbaef314e5e2c39d3518f01896023872ce51a9bf5f414eb8708923a633033529b505fc6bc06aa8ff0801fc6c1ee346b688cb8edc3e7b5307b7fb46791fd01fc23493ab02cd01e3a4b225ca16b747d8ae08a0b59ddbaf102fb2aaabee462a10c90a91a6e6ea275e58cc9ca05845042f3a330bbbd8b278f35605cb3507b93e8da7b7fca433a1bbf6045eb1b2aa47d8b32284e2a4a97f15110de0b31934eeec9af10af4f7136d5c132bb58ecca912c0961df7ef79cd63af230f52a4ecc94f039f152f71952f1f1a5f91be31cb375e247ad69041354d3e6774448ed08445e63741a9489b7162c5cdad3dabc5918f736890f0d0dbedc097403c4e03647bf52dda2ddb788e1defd80bab0fb9efed92d232448a268b081873c503f4a85d7f0e995ed13f0ec75312ca54b3791197bc97aff7ee1da21abcea9d34f9058a07f22723b1eb720b861463ba6850cfdf18eb96dd334f5abf837e9efdcf140f7289854c47066e593ab602fadd80ad792a62b3a0a163ca22e187d0d0f2f3708f539b631869950042ad3ff7ae11d2125924b4f6d040a3b67a7ad714617e79ee6a444a8cedd7b6bf9e520f41b65244e405d4bdf88337377119d8de9e41e87a339bb65d061b9cf2f7b44b6fff329a19acd5036c4c5f32fef1776a881ca493a402e4f7cfa827edc0842f712638ea028080248868fb2efd18fab12a0bfe09eaba287d6eb379981ae9fbb15eb0f9f204ac18093b3801bdaf700bf759e4d4545c0140c58f3eb6a855ed00efd37b49e54a30cdc54ade0bfa9f2b365c0d4842a181968654aebb3a558814b1ff7fcb629a0a25d0d8fce85763976be92534e920c3569f5e5137b6ef07016a1bcdd05271b004c6c3f34c4dc8d475c8beb797802f84c584ab2518672f339257db515e02463f05a3e3e60434a63708982d02d247f0d360dcf7a9a916eab5f8a1ec386dc09a48cf5fbc3f358b860382b8058fbe24755282f7f3d3560a8692ac8d2ac3f9e39621d309ba12e206752699833266b6dce6e9105179e1837e202b5c57c88fc4830e64310f64926be9017779c6516771a48b9eea5abf106efa244212704863fe452b7f57e661fceb98ec3244a412d731a3880292c77fe6bca07bbb80268eefec2e07d41dbd42dd17e85089fefa420a9d446f03e5ecb2f9aeff8a2825cee5e251ba0fd3ff0f03aff6c5c3c453b390f6c23bd2a507c0b245c71cb8b7ec84820dd0f7019bd682fa04e8770650a1cebb07224943b5015a8acb5914fb7743fbd7beda92e677ea511294a426ce7ee84d88d838f650bfb750e1437597e8ec0f9dc7e9056580970d8384dfae994087cfd591e239cb2fc1036990b1d96c85fe31bac70b483502be88d16a687661bc51753e6d9710a58c6a5528b95a0dee3478b767ab9b5a8842b26ce8679e81aac69b4e03c602b8002318ddd8f1b5a65bf46a15cd09d2239bf71064f7500c34d7bd8ebdcd4a479d86ff899f35ae5601c29f827c90d5db8e686bfe2cc5019b495fb0d003b55959cd3121e428345f111836a5fcfddd8366d4433d65eca1414ce3976a9957b57d18ad644383597665899988bd3a16f27455a49702ddc5cca639a26d6883bb532a07b1966c364ed373739a5f2558a0a940fee8828f835320329c83a1ebe04ad2a83930f44f90c5cc03a247398aa8a78f19d7ba23e942a62bc1939f86340e8421bfa7d2bed01662145833d9813328332ae3983a7191260236075f9cdcf0f69c1e3661fce7eab1835cc9c474f44e1b6a755c86c0abd0ec15ee9981fe55c648bd8c30415e26c039229d6b1df4827fcaae6e6873aecd19a27b49b6b853573d800932bea6ca4cde86c756d0d03fb695d612a6c1a11dea0b0275a90289afce6f91e788584caf76992b5330a5b53cb2d9ac67a18a1ee04b1c59f80f6d4734ae59cd7507882d0ff2c738b680a7f1fb7acb4e91ce1240d9c60fcbec48dc56301ff846340638951ada696eaa9ad91f0e6b1f347fcf7cb15c3aed3dbd3a042c3d0debbbd9cf01f94bfcedfd3452c49b7f89fdf4cb672dc754b57f045b2ed5a3f163070a578085fe931ab2edb4b312252c9c65fd4f0551de9618c234aae89c022acfc37e71ea46ff04891ba674e41351dab1b03f65d66f3209edd6288beafcba1f4e3ce25fcfd99e1f85185d84c76e1e45ca1df4b47fc3b2c2df2dcb4ba16c781fbaaa560363dac22fc1b5aabd131f3df265b7aaa0618320f48fd1ec95fc2fdef92fb5b31f4d410059ecb63ea712d14c569f9bec0f8ba5d0dc22006142896479e8bf3a2bf0d27db2aef984178b83e539bf9b80b871f126066409c23a85da2895d433be3682f4d9134debe83976995f004a918b776ba7679b1ced225414a58c2fcb3181c69d8472a6000cfa9d6ccf7d1e2e7f15f602ea6bb0bc4de820a8d5d271ebded59ee197e95da80966161f00e1d86edd50cb0779c9d493b8d0ce758cc2a32bcf80e581591f904a3064adef8d44d5c1a3a7bd691701036003c9e0917095d8dc71efe7eb0335027688eb47e9b9dba8fd1b40c666a54723560fde4d588ff0346078a62ec335a4b9c1b08c43f2d1b3f9919caa8918542494fcc952faaa20c8c70609cd4385e45804eb1419b16e7b666e59252936919597a71f692c2ab54565e445befa441bfc28d07f9c0b863afe5aee1c26642d951f7f7b49c4cb8c96379512efcf66d2199464077e186a31ff7e2d6e3ba1b6afb5323862f234246a73194060b0a4dfdb92dac1fbd26003eebc19007ffebd3ef68f163a19a077e5062c380d40cfb7d495b3f56b96569f5bb94551493b901c975fd46991114a91d5c3ce8ac6830c7f91d32c9abfe10bcb1317be2f58239a75b2932099926b0a12be2471faafcf33295fa77ee8a98bd054aaedc9132eb405a4ad5590cafccd3241bad345b58661ca9a6579a0e7a000f28953337cd73fe96d03fccdaa898c8a7082a5a386b6b0ed2e2d2c7aae9d0d3a614ab928fcad6eeeb2ab05014707316cf20624c8fc5df7fa3adef208956b138e53f4bff07476937336420ae03bbbaf6a1a6a9fb8b250ac08cc7ec6f1f7135171520f3860e82485cafba7de50c95f3fcb919db2dfb375247eb493c9ade31c3914bae0b6009064f4741a6750c33c0d0cc3551ae782dd554898d1e624951a89d35a784d4cc16dd70547fcfb0994723ecd19d8e181c56488f9a62a6af57c73d10b815cfdd168aae1a6e81d0c914c0c2ca8bc1a38820c321d19c1d20859d0bf8a9ec8f93094c8bd564e6570db7acce98e80cc91a1cd8b1d6be966554dd7be0dcf877b5f3d800c930b5d93c32e2922e37148adbe0906380a7a89b479ac226534db67a72c361fb58d94a2722cc405a7cc7bc4ae53c844d0cc0b631963c37235252f51bdb1cfc324d095a17c7aec66e7b2c7611ef9a93543aabda5b076dff46dbf23d4e5aa38389fd60a3eb78a4c351e8b7d35a2406d7b591df6c05ebafa33ab3a1b833f3d835781edadba827364bf443cd4f9142cdac23173d5b689dbf08c1ffa441c9e38115ba20c5f1e6b0ca13bb9250effbacf82972bdabf3deb2fd96768bfc17272d4e69b17d5f4764280d0e6f584db98e89abbfa4822193d890f2b10c5980d476669ab43267bee08500be0720766f671684bad664de381e6af1e4609cdab60760eeadb7a40a97a04b94304f212bbc55e739ba734283a03ce220c2d33504a36d2f735a4d95fc79ce548ca6d5c140a29090b75181493be141a0494daa93ae32359bf2c05d04c7464f14795e8a1f3ae4c9de9d8a4648bce07a893776289708ccc2d62dab641c6834fe88d29eb3246a765100a25506753a2bde17271169fffb9ae2b39e1bfe3d981f764522e5bec69442fbc26a0c1d64296b18afa01b73ee40816442405ae96b2898a81b576b7f79329c4a6608287b3612cc7dadc88decb9f56867075ccf22c452c14c2e3c862636332c8037be534acd12d451901644e120558b2ee5a13105573617398adf7188963a76a2ecf89b360d735124d5b59ac683b067bc1b786f7889c3cf1a4416aa4b6d480148ddc03cc81e8833e60e7e743da2b64d15f8f828ac45ee05cb5c0e1562a17ced4860c89b2a54ccaa29836e500db6275793d1ffdd4d87511d81396998d7bb02101f4e4dab4929f38c86bdeb4f13b2e8c3e7154c10767a30100c8c2db72a57cc03da0968664868a113267abbcb387e17f02aeeffa45e2caf763d09c0e4585e5f0ef646de085430e694617a03be68bb4c0edf9d5a9cbfb41d31d7e7e4e1f455793b09760be4569f48ce5af29c77a5693fc7bf8fd4fcdc9c066b65a74a31775df39e794d83ded6e800e0936398c3600807ca249e9965ed974c2039f0b43e254b7e7c1f1f4db8f5d7208f62d82ee27c8a57f9c19b1ce0ea7e11897117667858df03f11fa702f3b6834a1de2df4704fec8f9003fe2aa5c82c0f9bab22d3f7808f2b8b50c8900e61bc1e676626038ace831a6f7c645de570e65dce8f2a2fec7024bced1fcefbf6ae272fcf806ca6d59ead3cd40cef7a1e1a39985d49ed7cff8c3984e0efb5ad47344b2ede6e1961aaeee573aa1c3d54a2fdbddddd34a7941d7723d48799be807085d1faaaeee64d88eb308e7db5a2340721b1d0436069e5522aa42a56fdda5359b0adaf8305889ab984e475487269eb258cd531064520ab3f80b87c131756cf5ebe7d183d9aaadccd5237c8cf479c5ba6f3c0e023f86f0c66b8c7b98fb4042ebfe3d466bd528d715363a738a29afdacc6dc46b19e43c00f1abcbc7ff1e5ead5b7b2597adceec2e04bfaa078f91cfb22f5d5146687449415d5364419ae8c043ebdfe499bc65ae49616260760797e226a7fa35ba1db56f2085164a4a890ba8825137a011403c59ada3a20be6481372535e6ddcd1997ee6d4c71fc6020a5c771c84e73d2be15790f7dedc08e33e9522f986a2e42c9d34782de99a2562f0af998557dd0c8903d60582eb70279b0bf0073b0f30a4d3bf3ff846b9f330256c648e30dc4edc98ddbf83500fbe81241e9ec52b54e0161e6b2b2fbb21212f9645420b0c6922aba9fdf2a8d08878f4cf7e24a9ee46285a78e384b15b731f8ba5ea4667693127cfc16011484b3b4af506c619e91207c2f7e652490a63dadd2ab205429a030929e1ef6e171aee50ac2c09318819c8fbee6000a72343f35c5094786392d5b3e2b2a90f55333107caa5a0a9a01c34dd23b6d332167e27ea520695cb55c0e7e268b393fc1a1b28925e1a50f3a9d476af5b35627f1016fa2d16aeece55b79c34993a1c150174ef03cba9d8a679e6bfe4d13cf74596a85c9a0a0c9300d2d200a4d88918886e3f3d0a2dede5d3fd415f3f73e10d555ce896d9f1490bb4803ac259116d02b11e9419e9bee509184b7ed609be1bbd62a4a785fefc593f47b4be0080bb0e00e45b47af5ae47da85ef1bbfb3ac8d14b87d4718e8db418f0c536054542003c8c6117713a38a6b4539aca75e52928c5bdfb5b19a8138a8c9eb6a2e03ffd43d03ec07b926bc371599e06e619421a219839ee098b69a50e2e262d1691c811475897f1bfdd1b4b44773733a140a4cc9cc3b6ccde513339e7d24a3e9cecd58288a5e42e85d781a7dae38a7928ee6cf9af16b891796600ddb143f3c723f0888f7d72d604010dfe506fb44b3871bbd8d7d86a4540156054330e4c02457087d493e877d0e7b800d5cc46e482a30e3a0565d4114c1cdfee8de8d9c25d7cc68656a7443c80974b9cfd0910ae3f538ee0c6f107a2ed761f3dd9dd5bb0ca83a57c2cb7d0040f605f887faadc8a1ac760375c34cc1911d0e51314cdc796d0cb3142b82c9c3ef52ff92a348960514ca6743434549e994fe620ac72d43a4bb6f2f1e7c6520263d4437190d0df84152ba27690dd839dd7e3e170d90c02e46e89f91c9016617f13cb7c1b7ffb28b0cb0537a1a23b2b2a47832f026dc9fe5ec6097e7c5ea0b70fb530283db996ddadbd914c8fb272d2e98b5ffd292f74cb7a52f9f5d268de18583db5ede54dada5c5e2ce5649c5da00bb7623db0a3de99e6f23027f4a538a9c29a7484da145457939a9d040828434c798de7030d171e6d99a2a961a7abd0e94466939bb4343d82b3b6c84f6c6f7db4d300000000000000000000000000000000000000000000000000000000030911191e23292f","message_root":"0xb9998d59525ba9e2828ad4b920b4564cc8862a5c62169d4a7957391d7218c54a","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""}] \ No newline at end of file diff --git a/scripts/consensus/validator_keys/deposit_data-1763367182.json b/scripts/consensus/validator_keys/deposit_data-1763367182.json new file mode 100644 index 00000000..1246097f --- /dev/null +++ b/scripts/consensus/validator_keys/deposit_data-1763367182.json @@ -0,0 +1 @@ +[{"pubkey":"0x038ff5b184b10156a32bb8bb12bdfdce398c9ee5b612677835d99c3c4868374db8dd161e4960103e3dd2986f4a6bd82e466c49b05e70b05500b9644a77bf96af3c176e35649e898bd80664ec03d8cf45efce6b5115d6b98b59697ddd0a28342424257376724373814c924aa936103783535d5c252a0b58517eeaf610b153d9b95008586e23300b82acf8346e0e47b29eed2d3c5b094489529bd7a77ea401996660a0f8b036569f51827d0eb532a6a00b9f877ea52d2022ce01c9168bfe4b2b5a8b5b8d0dc33af9728d29fd84da7fb5d0d663ce2d9e202a566a5035075828d6f2bc72a7792973bc6fc1fb2a2154ed51a3ede52a0bad16638b19eb36838cd28e0abf23dbed92df7eee71d244cefd9089a3b8408bdb251ff811b94d2d3d66d7c250e2cbad106b82001f53145ed301cb0f493dee9936525e37659a2d81dcd3c8fc386799152ec1ea0f7bf95c460768af0ff0a020ca8a7d06400f00f4eed2e283562aabb56a9209d8f079e02e28615ffe30855dce1df07c3de4e1b4f9fc8c05e30b4dad6623cd22a70d6bcf18771124ee1c48626a4b893b7b613b01eeb12058acb6c415dd8fcf1f3c34acd44b5959062d3223ecc6ee390ca5bdac255e504983e9afce3f13fd7086fd199863294fb41483288f10d899510467e81e9bb9f486ea2347d8ff0fb876a6e69897dc554e85cf7e3a365c73f701a754a1f4edd19fde0beeb9a295556007c539dc9215a1748325c2be2795cad1ede52a8c19b1c98793b366d7ada1099f11072f3995da902cfed0f0f797ee88fe75425c65fc9c67c3e5c7ce8004402970c944e075c981edaa5b8315b8e7f7b955a626c989599c03f317284ddbc8d6b0e10a77c8200e94e0c8b70ecd45fab1a3cb73210ca71195c0f3a89bc56add9d043357cdd3fb1a5ee96d7d9846f6373f95784d32e59dc010b58c0f354a0c88424940d26f487424c63efc89ebc5da6b8782cad2e3019dfcc08e9877df864db1c636752f8f86e5ee4d05ec4fd72ba87b7fafc3e7f2dc63cb9239f87636a3a112d3fcc767e71a4db949d572f67031241a91ccaaf9315ee6b41f5486d6329ee9b1e3582833ac317503c7a7594a6637ad75ede44ce66a23b6f0dbe2f8a876776655c1383e10edc4ce2288720f7a7f22b65dbf232efff1c6a26c6a3de47a51a8d1c22ed6649d35818a5f15cd8a8b11bbecfbc26aa0daa0d21db6672d8e066c51bc743202b265ad833757cad61b3481dd2892767bddb8355308a7c3fa422a48397225afc0e7c8689b3dbedf179c9a0a1671307bd3b1160ae4903ebdf4e53daa00e2697e7c4778066f304ec0acae679ae4587cf08b430bb867ec67aa1d982b7afcf973d14f00a0e58301be80381f9db958c5876e43e97c5558d9bc7d45af86bd7a57460777071e8798e323a25f38eaec76dc30d542cedfe09b17f35bc915c921432ac53db753368b3e4876fe2ac1abab9a2502f697f6d23d6e761068245677331ed565a844adb2ad39f02f67dd8df2b5907fbfc4463934ed6aab10c86b9c568457a39e2814b3bd2f09020fcd71c9c024347fb71c5db25d8f0b7ddbad08f7bdfd7788cd3149913fa98d9dd6bf476e34ab49af3bdef2af169b12dac861675b64617dca5f4886d58db4c49f80f95d6c5fcb1d09996600476fa9e90c9f5011da30a6cb74de71589a5ad8d56328f8143461cc215d2274219f549a7d1efe93daf8db6ce8da589220f15b337081e744f05896bd195b4180bb588385f15fe7eee3b6ccfabeb355ccab4252df5cd472b04c16934643ce2826426ef486a883f9d110f5b19b4c7bf3c933132d3f005b24f1756e0ee02af695994a555bd7bb745b8aab7ef91d19793e95b5150e4880ec7b9ccc337848936eb118451890a9fc9ee66e0dfff68925e536c3fda7e000b24cbd352fc6607d2ac5e215df230ae17a36d92489aba55b216ffd21bf75f66361d416ac478afc82f237ece4602ff580f511a3e4638c84d0357e179f21ba9573b7a53a996be6d338c8d6dfa456864be8961c0a52ace77177af74552a8c3a7273eee6a6e2888c680d69a31aa6784bcb45a4bfdd7117857042979283165ecfe0fd89f4748b584a1564ae6261ccb00d2b3c2c7c359f461b498dd285cbd8cbd0d381b1cf1bd4ee13a15e99cb4097db16d39f2bbf3d21ce8c9f3dbc78270cd72affe6f571341d2d91025696ad85c38a4ff0f5d06e6ee02f44c85ce12456590c0fad1a8dc69e530472d193c11f77d0c0dc623a5f84eb109482867c56cfbe31bd46c7d59a79117e89a359ef2d750037914623807196ffbd587d25e7d044e9794b91ac5e8a9b53ba544e19a58466c67309bb872e77bcd1ab5b0cc3774203c9f7a58ceb928c9fb394d9a9373335d6966672e8434da5767a82c7bf720cb119cb4b209f806d4f856772210fb09c46cc07063c6154228591969a0ff56cdddfc9d10e502c4ec7c3ddb6d20e9d394819ae313e1c5d2f02fe5b4e0fca23402889fac45348207e13cd33c82aefe75271d521ad00d10520e75fdfc4c08cfe161756c57d4fa706672ee87795ca8c842a6f9f039ac22015c71719a14672526849578fa942311fcf17632970aba767a1e0bdc73fb0b73feff0ee5dc80ef4dfe5cbb8ad22c1324bbedb94b2972258c81b7423076c09f8623dabaca56cfd4959df2493e210c4e513bf8d074ed4332bbae0636021f9af58b20400d2ca021d184f3b72cc7ca92a589c2939ba7f073767188089fa410e7bbb0df3b9ab373538f43bd00c562d0ad85e523a038220303b5dccc59682a63a6d39be170b3b2943ae67e3f0ada3dbe9c9fe9c829c9160fee9ee181f55453b582b05a73210a9b34ce79ab767e9d2f98365e5ed41e0edd5c315bd3a2966d6dfb30a00028d7dc3f6a58194f0285ca1dbc13e31ba11cfd308e1cbaf6e6eb83ee0fdd1add21d91aa306415acbf1fec703a4f23aa7d7b5c5d8f352652ecefb64bd91a58f5c9c2d907ef2af4011893a59cc48d852ac3e966dc61d9c5718da782a959c746e556ff225883d4029dff18017a35af60c4b8cbff2c9abeb72fbd5a1ffa4eae9ea7abe2de1808248193b6167fd10b024ef797ea5fa13921c476d189792d9508a5620c32ce5dacc4a2afb22fe8d8109cb1195f6f94e8eee4acb61e34c8c9c55ae4e1212c549da3b5e26cb09a221bf1064cf7be27940df71103844ac8f8c7972997f7500fd6314be017f131c5373dd0987f33a968c45d51cc7b58d9e594c82b0ad78e06896f4859b240b9e78b40105cd903fdcdcfa123f57aac6e9bb845b49cf624b4c4d5cd9e1ddf7c4abe17dfcb3e08e88bf63692fa1d046ffddd95604123cbf93a0559408803d71950960ea84c88ba9e57c9db48ed92c5e736e8d501c4983d7a33dc9e15d77075f928143c8a5e6be14fa8a26982e87d29365a66ad9643179ca1e19861b72d7bf1e3c6803acd9c9129d4187ac97b7b14a5a0ffcd3d79674c610daa89360df4d38afea7db4322cd487f485d9660d959daf8adcd63ee9e7f55c567e62f5e949c6a21003feed5b52d5fe90e5313334d8d9f1ea8e0f79d52519f9ea43bf028f362b3a5644f9af7fe162c4cf7e0c5fc825dc84c78497fdd38237a8a41c0baceb503fc82e4ffd0b9ae4c116f916c1fa2cefca28431e13cc088baa45bc0f6a9883bcabbc920063ec04ab2c58cee","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x5ad3042e8d18a09020250fe292dbf7c8c1ebd5afc03270afef9e1c9b38673149","signature":"0x2941ffeda701da21ab05fb85bacdd5f7e7002d5cc74c02c879419fdc0b3a51edb75ec5ca37dd6f68406c653b8354ddf79e3fe4aede1addf2e4a42e07ecc5232212dd90451d94a7700cae45601cea07a5ea494d084f73ae7e2c88aad0097122f8e50c7769c8b67a54ddd43cf0b7c5858e0913888ba805166c41d043c68542d2bc69b541065cb335594d4d65cfb0adff6bd4a59ef3763da176b79abf415fb1044e65cba1a5c57997e93b9f99ae72c38ebfbdd11d73d82e60a8fa9338f759e964f5e785ca3d249b4ced7ab0b78b0e6beea759b0c3b2fddaf358f0389602a90e92326cbe61b4d4dc311f2ca40112cb2b008bd79e87840d35cd3ef0a9d3988169305107eb96da3967b98cc802dabec90aac12286eaef945578ded73c22eeec9d3eae28c88543abbd8109b056e601b8efbe856f9080e29c2c769ba040a92de2ff97d53d44952966f68de50e0d5d48bb23ae7822b29603d7353322914912469ccea7efb1128c123bb605940b23319017dea3101818d4e515c7f50f81b6583056511d7ff4ea88bb12ea0477ada8fd6179213e1238cf0f34f8062047d24af4af6e89142ce71a7a469aa5bd6f769de70e9547a337ab154f30d9743d0269364d59fd460d0556718149828b67a8d8f5e36a8d86d5606fe469c4180e96260040ae2f53d41b07a5c968abd9b09702f1a8d749d250e930e44aa94da7497df5ec6a574259075203a569d6ca9da8c979846a535edd1587a0869fb3ac65585ecbdc0218b4ecd7a0d9b27648dba3dcd4973c2f78aa12390c6bd7384446182f65e1505e2c468a3ee559460abb116be80365ae24024ed8388195634412b776522c24e900afd711c8bcf833379437e9876ef512bfd201fe3e194cba1ea84baddee9555c8ed6991669198849aff415824fd3a3f200696ec40ccfbfac627557a23ba4a5643447ecbadb6b124ab3c3b49f62395996c443263f05a9fba0e92e35b4cf53ce7830d568b8eea1b122561d340132cbaab85d9b7f0e1bc9529606ee4ab82fd92b462f5127d1eedcd3d4b7a623854a87b12a98101ba7a5e5e13fab1ce19b92f5bcca42afb563574734bda27460eb21766f150429d839550d1699be7569ec7abb7d4ddce20911a9be286a76ceb3e124a75ac382c22db598373645628d994a7fa1d7649675a891793c447bf84972ed6024f21a8787f4a620bdc295c14c4cc9f15e26be9cd2b3d1f49cf315dedfb03d64c4fee151edb00fd6bfb647cbd352682b5af16f11a94f981dcfd39871be324f543da2cc11cc99e051f973549dc4a681362b9cf4b0cfe9fd7488544e270885c3089a311fd31e561930e3819de923f11a57ecab57e434f83b8e62c2633a4dfe809d6c76292e2872c84b1f0c009c618c160117e42f2a26e30f5f20ab7f33a62c121ad1b87dbfeb35b1783121efb134e6dce264a77320789a956465fbd8dd37b6cb077b4f62a403e8686bc5796933e378f696370090d88d1d9398211027189f0171a0d0c272ed598135abdf2dc265d2121d2992d71269503989adf89df1a42637f7e4ce1e97fd3879d1d3ce044fd548d6837e4bc9e0c1bcfbc689030d608d02860700c4ce3cf2a84b561cb06a0f6c86961a6b7e6bc1d92477ae645d07d5da1a0909d2c36bfed47ed5ee406931807ed5a21fdf46185ea2342af783c03721fac0497ab23104add30a6346aa6b12c3a67bdc974e492852aef33ed8f30064ff19ca017acf9be39071f6001cf3fcb007cce532aef4f067fba2836617e029e21d7738a6905196a20eacd9900a26de06264d4ec1f0548faf349b79e8e08a9bd72ba113fe72a1c8b2517b039db53232558912cb8db031aa267a7b29f509edc2b9f5397212238a845bed6c9d330dfeec488c98498ef6cc1fe02b45dd3a93faef6c344ad2adbf313cabbca7aa2652015a9ab1b0a7bc080cb1b11a1d14af75d4512fca039d680a1d95dfb0d0fd0b0f01ced3ffc2ecb6cbbd089e0b84038f69b82f2021ebfe6a5576cb1b194399fe75cf252d01c7e5d5d2684c61a36d1d8c28cd4a65e7095d13b5fe939257783ad2a09fb8c3ac672345dd829ed061e3f608f467a124a7ee6217d9b952f401f104333e1cdb49e6074091a20489ffc4b25d3f2402d8cacae2595d4b6c837fc836e5a06fbc592d7dbf2ebc6112d9b5fcc4eb3ac8edbce22852a34b1b9fd6367ebcdb38014a6601b8052d12c1975f82005a5bad56fda52b2dd14521e9ee0031704d36f88fbcdca3ae95148a42483eb57f1b28da613f3621798cd854b6d154e3c5ac1d3a4380ee463342e428916a0a46ff353db12e1c7e2abed3861630084ff6fdbbdb41514327e1e2be25264d3f8a57a1d1fa4c2ca3642173dc92d3503421dc924f54eec39d46137ee2a24546681a8c69d185ca18019342bf00ca4464a0ea6b57bf7ed61472cba4f3d7271778c23af1856612b40188ffdd1b10e186462e0b7fed8a7b7da8e028749de7a5f7b8902745a0db3849cdb7cb176d8bfaede84c0bdb697e3b95f5f227169c8e5263bffa5ca48aec859baab383592d8d6bfd68c763d8a93e42c28d7f6cced3c03cf7cc93a03500592fbb2cb80253487a5d826888c15881776c43e5c349bb3757e23778bda6022cf9408ec4e9d4918ef609e5e5ea8c52aaeb3f7e7864322e693bb5c14edf628e6ea1fe282984eddeed6e6b565b3fa2768cbd2e571f415acf3da4d29ab3cdde1a1b8fd97e2d4184d213ab2bfffa4c54e3893d27a25a333cdfae6f68ae3b6d25c2da12bb230f986efc5dbf2d92a9ec2dddcd651622de698d3bf476f804c13c002930cfcb9f77a1414c28740dd206933117f87ae9139289396ab27b5f392a3141aac3730be2592696911467ef17afbbf3f50231e479fb74cfc7c53ab4e509affc6b8d0f98e667397aa3357bf77e3af4b86360d106ca74eb5b76bcfe696993f4e8055e903e4fd49ea048496031a0e199bc30a12a7524a0edda323201793193561a3304153d213179c9ba6bb9cd8b2ce6f6804fa07900b623a08fff987cfe5a56a895364d5d539af60ff16fb9b52ecba4ff9a8455a05a4ff1fce2cd852bb81bc04391101bf7911d888200ed8fbbc2b44a9da02919a9e08b002fac0ce5008351e1168faff9277723a485cb42e88e203383c0bbfef602dc5db502b681e05d123dee0fde28ff1b32d72b21068e55c183c4e421c4c725cab51852cf862c7b1d6ece200ecf7913321fa9d84b50bcc419f554929d9acfef6716666eed319a1f32991640109f82ba75b644b93b34a86df5d46dbe636aac7ebade56f1a4ffaf721b1756d0dd8541760b6c8947a26d4f6467f663fd7336e16c8113e39fd9da86f707826214f7a65a8e02cf0cc8953140691ef449d9162e543e3c4370139ff17263890f3a6a8a7459f6870782ebfd3ad6539535e75a9771f485d37147c0344e4292bfc2ba15dec809912f4f97804400a600d819e98783ecd567276c0fc822fc780d5cfdc22813d910f486e25dc1a956f291d8d4f5740f189c48c929c4e245cb198bd21072c14afb8d247d49f32fac7d3f0211f8817568c28c26a8103c22e1a26660b30c90bb68003fcb3f89a813cc75846d8247f23dd3a3ddcedd78023c6506a608c35ea95a704cd15462e70dfbaa90046413c426d15f43df59def3fd1d1577fd0677402aa1d7eed762153f62c96f393637c2f984ed53dd7845494509f61661ca62d48161d2887596c5a232c33638c317e2743c9db58aa52277b785ec6fb42854752b3c6de00774e515cff89ceb0261bce194e60fcd9f6f6e7014c448b526af09c74884d3b724e185a822b7302f66bbd73826943cf1e5866c3382c8834fbe618ae7f8404a77441d38d9c0c3764081b08abadaf2399e744db0dbb2f9b16fb2b527096283f97f7285a6adff95df0906bf862de1b587509c735fe75c275dfc44c142f8313c49cd7ea1928daea250b0febb38d68f2541efcd49a403349dc77d605af0267847578da582276c7223b7cd3356820eb3318e2fe459e8cb79020bc01ba07d651588348bd605dc6e8f486aa2a3886b9e3b1fffab846b416ce47c96c990cc5f62d717aea73b4a9153843672a807e775d354f9ab647d4db00e1faee0adcdabd82d5b70d8eb7db523c3a99a1dfaefc2714a169d9427d10cd6f6bae9c56d1af68dd4858610950f17c6925b50e094af178b6fc2ae82ab9d91146642ee1efdd11b3ac55f9173e90756807b50dd56cdbe9ed425a7641440fe4b71f8524f0854b5a4e5fa52683bb1f4d28919a63dbaa281cadfd42b8df79cae27e0424ced2dbfc7bfddd750359a9cf3e15a8d4f7f8d080115716b715fe9bbac0e451b12a5312ad8cf6dde82e7bb6e186000fbb3fe4cba6349c7acae722c61043015fe5edb42c994204827aad02827e292b773b3aa352be145e79362cb2d56c3995f5419cfd83204ddbe3456c9979bf377b46b97a51a4027ac53641bd080ea81b5d6e82247132967f01385b066e67e8c72088303c7aa7be22a3d621c6e6d483c51f169e0291054e6acf103891a7ee61c6cd8382ff052b02be8f22bf15f84686f7ffa5fa4194eadb434de41493191966dd456f3de5748d91f9923609b7526c149c3d90bde4c4a2e5afb4ef750f683451c74c14a274cbe053373122fd4a0794a5a09b88ab02cc5214323df78fcce62d9a197a4b4820579501f5ac9a6ed97121a0b21b3f522cf313df4636c85d9e0490f0984116fdbc2e4687a6b6afc1073bd92d33757996e2fcbafe964a0524e4f8f1e1b230121721dabb8e06423c03b202741eb5c7710d1d34c197ce6eb3bd73bbeb8f8eb9d7fc656e26b47f9b8a7ba096666f11b9c8883cff6f78db7489eaf906ff426230288d9e5302007a714129a3d9bfcf7fb2b072f1bab792a5dc67c36ad4def9bcefe141552b16e81492cc88f2ba99f36deed6e04c6fffdece4f770db460f63f83324d57b5df994a3c653ce0170e3c9b4598eaaad489e732e8c1275c1796a4502c9423d7f000dcc017634f7cd0f52e91352b92fa7f1e534a0769484794e13323abc806bf8b346e6ccfd9905a46abd772ae2958643226f4d1b4cf8d59c2b7a6964e4afa46e3875541f0a5354a3f78fb126355d606367d3c55e5c78255acc8e3cfcfae8795f39bdc07023c8149cc6f4ec3af2ebe1bdd24f2eff9632fef9862d36e066ec89b94e7eda8ac42371cc231999feae5b953cc138c53af87f92662c0216c6448096c1743e27397f3c7765505a8ab82733ee2bc194ec252b1705103962d0230cf4f9e02cd9573be34356a7961d6d0e81c1456a2be3b07a5bf0928ca366c0e79ce1c1a18f2e235ab6a13ced65a3bd55f009e8b18c2e0b0938cb866b2727a191ce048dd1350150d0b7f7e679a034492fd54ee3284a78de122342eaa9fdff20cd6bef57500c461596f6e84ff054a71764c9c2b617d8b6efcc34d4677e0eb857139466e19417a8a0170ddbc1c46271f83a167dca72fcc801d1fae9c054f45cbf0e71e0131311d64e042bab3967c2366404577933c5c330f90c30bedcff7f0f8a4287ff233128d8d0a8fbab918b3bd27123a815fb1cddcff3f022bd3c2dc05c40978fd7c56dd3be158ba0966b8de7c3e166d7e628eb54be9b5da477f371db15eb90b8ffacedb9411d34eaf7a4662a1f0cf0146997342124fe2bb3c62cd4dc26dc6830433d7044700927abefce39d596a71484ba698827351f0d07a2fd6b59d8107e71495b385fad63a1ea34e4fd6d913b9d6a0938170cb203a78008c4ed2a9149b1fa973d31cbb3e1deb57932e5d927efdcd31b0ec17d5143b07f6656b884d33edbc4e316c8634519d5a8a6ad437d6b2e1424a25a9188d1e45fa5a99306a832c1737dc1e554f8b03fbade3d007706001c354130827ff5c7d69d9909a257f8210b3f9491d4230313c27e4d249b1681c2f60a1b98f7014c8a42d7dccf1b900273d8f9fa3c42e3f841d09051e0c72a2513ae849058001969261df60af4c74758e67b9cca014d6a5b501494506636657fc2bd2c20bc377fc538d8e2d440d7dfa3429a6d290e82649306259f27b9e81a59cce327c2883e3c278aa7e396942ee847e299ab7896577065a943a18c82bf2064220ecbba81b07649fb63c264fd40a9d7a26b91c4f1717240a69aad41c7608330af6486340609deeed922f8dde929ebd661fddb7a44dc790abc0269e42c367bee84080618b2cf13fd524a84f760efd7599322d279790074a1a9e2539ae93ee8a34a53396177768fdb37a85b81e3f964414613fa55cee556bd69078f3da96d2646823124055260015c8d787371ef2873b3c98eef32ccb051506c35392f4fb96f7db631b1682edcb38caf890eea53af59763e612aaf48b358e76e6686864e85219351e49ae26ffa66498c14f9d430b4cc62a8d0ddfe4ca483c3112ae48c0fdf6fa4f285ff7d87f3b64fe3df6496b768cd15735bf7bd44210594cd5ce582f0e383a93989b010a347baeb7fe1b3c697e8bc825828693ce2a4648838ac1c5e6121b1e4a9397b4c1ff658088afc1e0374d929ceafb00000000000000000000000000000000000000000000060d131820292f35","message_root":"0xfda2aee8c023e8fd6ec1e7224dfab4447edcc382de3675ab8cc80dc6c99a49be","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x80697e9482ab8323fe56c63c616fa534dbca19e628d502bda55e896ce9950bf50076b57dde23da20c3424581612a3c052446661f892b4977a2fbcfacc8929fdbeb4e79fd4c0026c0169202c5644c4bb75ade8b4f00029291855b7d986f03e51693f43f57bd7175857693c2856c1aaabf38c8ca6225172c98acc5919b5daf68fa2673e9da6d9be4e2c8fdcdf7b66062368615aa505825915aeb3d6614507c09c729c36783f0ecc8bd232b657737190f80f2d9d48ecde7281337217c4cb2a231726eee148340c1b356383ca8d85ab3554a0c7e7d19b042bd006bfc89ed97078a75cfe6c95f53589cbbba7ca98b3679eb99d0303f0d2fc30c66f123fa04886789a7234307dac4d5c4cc91d72cd165ca310be9a6014b93fc51d63854521845e2ec2383792c76ca03140ddad5364942399c9ac52c279fcdf6ea4c5a3df10c17afa5e32c75025582a32a357fa4efee3c341b46df692e8451ea760eed9990f69948f27a78d9f29f3f51b2199dd108b2e4b52c5520e0f9c63be6efec450f3ec0947016be7569fe1d626cb3af87c561c8dcf34c4c4f82845f84e0fdadc9d6b7b9f92bd7ccd4a0cb748645fafb815d9a630d15539d4a3e7e8726a549da7b171569cf1ebc2b9eca032a1caa716c5ebf2e0e179c01c07c05f876fc5e423cc5d63770d0fa6333533fd844b8158a8615c219928067d320f445b044651e4621d8c4dff368d7ead61665d16a0029370f562d4fab2c28becec9cc6f8e319b8f4b8b4a851b54485d6364b060a209d010a6b70f1e03b574fb15c59cd982cc049028dd0601926e9bb128585b38052521f8342932b7feed4a901d50c7bf36683050acb04cb117bb4f7d60a3c2c58c99e61c8a39a75c71e48ed276531e308ec42e0c1bd48d63215373814f7058f860d8722314bc3ea9b37463ca919f11144a85ef97e37a6cf6796000e9b8e244955c100ed4a5a4ff570157bf5391677fa3176a1eeef2a35f0675907dbf2cd7783be7baf1b347b5a233522e83ff74652a2cb8a39ff1a1a86b846992f0f924fa0ccf636ab9385764c0e809e572d81dfd86a8fb21a82b709b76d0074b2a31cb5fb40a300d0088462de26752298f7c8ec856bc7bb232c5592e98adc38a76604c42232a2d2160fbaf4c9fe489dff2f9a9dfcf5aeafe92b0340559bafed4ac2c29efa8e5542824c579bca0b2db49695d1820fe40f0e26c6f42979becbcd1ec73b13b47ae0d1804ab3f3f9aae4daad8893ed183cf5cebd8787fb2f5463c5ea2c08c85d4cd55ee9451aaa07d6beef681b0b927a84333baad2237bfbeb99ec55525c7f5c51866fe52608e004d16f3164851414f9ba2d6d7464365c3d8eca5ecd02a92cd07c005c8a8a728297a4846c4d5c8a752660d10cd1e46cf93751bf1e3977c7a567dc08e78351279c24725ec2d70d538a1816865e12f153dff0bdc195c1228056ef0b6f9891aaa12f522a1a0f4ad1d04fcf767b3907aab9e907dcd74a6238ba40515793375efcf6b8548cfd3f3f6e1c9efa266fb58288b05e11d7d8340c31ea05876f94ef5406326bc0aba6b1786a54f8ecf5bd1b5e542f4918b2c551ae5579dbf9c4b81f2c8e8a1f7b34ca3124cee290ca9abf2f6cde475fd82fbe3024e9ba5e02d03feb4d856ed115cf8b7814c89e556753b45b87a439bb69f6e6e5bf8fa4d6f7c2e4dcbb31b0e703df8972358977255cc1847c3479cd4658953b38a0da6a2682564cc5377b6001732053d3e21caf2c502baf0380a8589d21754a7f615225a482a90c0d9237935702ae801f2503c3ad2168908e2b991c7b95be4491f6f87620dc131b8202eb97df777b8a196cf4ff2f523b71e21d96e9508eb1fbe813101b277b8939d452b891ef3210b4ba1f3c08721f85965f288f26dc5227396e4eebec1dfebba35257b8e05d3e11ef01d211120370de6fb5e67d30eab61017b593e4865f35bca89ff938509f478b7968cebbae77587dd8410f4640762fc3729ef20f56fefad73ae98f7d45ff35cb32c8ab5c7bbb5e3b0bb72ff16cff10c248a379de2cc7f15db4fe9722eb9b485c1949b2704f3223168e41658bffd953c1b534af75125dca7c6da96f6eae12b14b97d71bf5ee9a5b03552f7e5014e081b8ead1226151a19b9efa037d81d69786138b9a6a4cdc35d3108eea45ac0fb1ce424fa7ee01bbf2b1511d575aa305625a9f5892ed149a09375a7a85134d14f0be482aacac644c97a829fb6d401c43bc2a6e05e5cea796b2960fe07000f882ada55f03203b643b852e013749db01e8b81a85ca97e40dbd0bc4bb8e5eaa2df109b2858566c5744f708d5b8d0c1dab9521039431374e80ef306de9dce748f464264a0d31af1d113d9cd81174be529d19072b4892108f81e027bc8de3d6134e8f9f6bfbb6e940ac5a814ed091a0233e9e040525d82c98e892359ad566c4cfb135c2cb099afafee310411bd6837c213718dbc414947819b43ef25820b22660bdd292863f4f4ad416154510d17bba95195388907a2e5227e550b6c783d9538edd3df4fa2edcb69dad97e2623bec6abce157276547aa13c3f3f386dab15ef37cba0287716d5c494bd96c7d365525c6aa4f4ab5d2eb61417de039fa78135f1f7b4ea050a68e5ca83a48c9a42baa3a4b0d444d4f30e9f9f1ea6b0f0fed8c64ee02daeaab2231089acc3399f009c7cc830b4672e9bbebb77da55d0bbd0f95d8e93805b92c0ea024efd152dffb022796c0b0bdafcb2c4ac9eb853d5f1b3f732e5aaa6c95c137ab2095226bc94794c82caca7f3273bdd62a19a2b0fc92e60a2db20717eeee1ffddf7382df223aaf9da4e309b2487bfb3a93a30a23b0ee476cf13d938a8379a91655172c40dfc7629dd76c33e8ec21c10937cc72f220eb45bef93e50c8b49781b78f9054ae466b2e2fb456d81e14020be41e14b8c0f41b19de89f82f2559c3f93858f3c7eaf6244a04c84cbf861355a957a446f795380e4e86596a4b3b011b81e810c11c90ed790ba5957d8d23db2848dfa2bef03bc9673449805bae95ca09be40725f866f91fe8be39bfbb1b204c188a10149957d28a1d5543abe35834b641957daf536ad9ef13873fd63f89f2e5ef9adec45a2f2471ee94d0044cbed81be282bf8759e9a55ffa6d9865b9d3f748f1057358ed9538b6437587bd08caeca88caa7748f335e1339bc267855aecb0096d372c9f31b0d425678b722e62dad97a97f47afbe913fc44836fae9f18f6e6b045f52b47768210fbd3fabea091c20c7986ce87c179047c3b6cb7b0a60234b93954c967213d6ed14fefb0730b341e91216ea210bef39e649aed7faad67a86b48fe003a7359982302218f5cd95e814db53a06ddc54d2cbe336abf2cb7ba685fe974fbdc3162ab248fa7decc33023d6b4f1cdb5347003bfe5dc060161c903927bf0e1873e5d30337687154050d2f70241ee250919c7182724d3bde1d42872471f37e9abda6948d5cde9527d80586be7bd12b4bfea140dcc1831bfe579ed7582e917a3072dd87dbfebe023c17b5144502bb036b90903c4b669f237e9c7e6c330d91efe02a03bb5f62013e8da0ad96f35a7300c3a8df8af56b72dde8df49c31e3ec0c3c6d98b2d6c3ec1a77f1e9cd04ce68468fe1c2b6711add818d5f2fa4eb8f53a789bbdacff10bac0890d56d90371043c2b717c47294f372e28","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x0c50fd8c37731a42cbe0b557b0239e82fad73d29060d2ba7c97d38d8fc7a1af3","signature":"0xd2c861af3a02d03e2993dd004edfdda0d6ea86d5325f28cef074cbf50cd6c76959b82a564a66d0e11a504676226615c9d36ebb4a9aa2e933fd97be2f3499824d2290ffa169eb38e1e3ed359144f8a9effe5e7b297beeb151d63713c6e81e87f404291137c1aa706e78b130f6ef8ac1e383649faa5b30c63b0f797a38d973c9d2ef2109e1f31365d680046844d87d603d61834efa5d9b1cc43115bc0ec67396565317557323d12076eaceb564243dbb251779ac59f31adce71bc670469d0869d5926840897f824c3b14e294a6f1769e4a8d62ab074704307b243f33c617652ef99746674008715e27ac1e23ea3c653bfc25902eafe6ced5a0e9d513c3a646db3d8eafc17a3e5d5e01cf3efc84de2b4b6a5986400dd329053753a5bf1d053afa59d10f27c43a9fa10d879b7b4b720dc42162fcd280c7325afbb2033aa6cd7ba34e14084d78ebfbed762b575ce4124d270b256b52a0bf17f96218532dc4be4be35309c3612e12cf9382ab7e8fd48c1bac413d487c16a4869cee9c0419ff3b1ed2f036b43ad604b3c3ed67424a2cd86fd5e369a860207eeff4afc0a8bc96b09b2b3a2f26e783e86afd5256db3ee5ad25525a9241641c4cc2ae4927a5f9975e22b4dbb3448311ff6bb3a8e6a452e679a232c9a29de5252f707724e4764bde965430efd5fb9d81e4a33bd642c744a5b724e5fe58f669255de08b96b21037a9b3cca18ecfa0ba431cc99745d403b2beac0817030c009bd5c97cc166029f1fd7e73ac76be9c9ee188c68a371a835c0cc20af94c81bf8d7e8e6378e43d515d77cd62a04997c7f2ce4b1c78c8e738f5a87ac360987d9566d3b9612a6d1ffd3a0521cc65a881791448dfa508ab87bafa85411bc0edf658fa702138509515e1c70a97f880071d95e95afa22b8955c94d2422b9a386d91246374211384869e524171ec0efe6961a8989c6bc3fe86412c2d769cd5caeb711ef6f9e5f60ca597a195e0c7be4744168c40c1ac0ee6cf7477f5c6796d73090b0dd438de3f8b28ff47cb2745a8af0855333a123a81e674f54139af45335a397160f473beed55cee83ef12a6b13cbcbe257262ac18d875dfe6fcba3d1d1ca9cb8a0433eae623a4cbf413ad1336b62dad18e684ef2813377b87efcab354f76ae45a9b53f429c35bb8fc9c95285b2f70818dfcb7ef32dc64ebfb6a568161ea92228c94fac1105ca4823fcbda4de61057e5ab7462755e95abe36f3007b62a8cc16e985793c0d91d6d5f79938f85897e1b362dbf20930c0c3b808c8e642e3e01d08a8a6a7770bf60cb8abd382babe3e7bdfcb90151ae76535841eed2e830b74ee4ad4cfea5f19d2f9a6883beeb23611fcbd0fb9c78287a8e2516daa3920a2eec9a7d38232aa66ceaf5343130419a7a9185dad09661873fd495c2ac08fbbd97df82fed5e206f1bdb6eb5f99f68c5e4cd574d574509dd784b130e53489dfe95334ad0cf9aa8e84c8f5c0c3b20aebcb77f4bbe39dd7b5a4aa4d250b257ec1eef49a8529f6cd6903e82206afa60ec549654c8e2048e3d7d4231a5a5cfb731e9e301986e1ede7d9ad2af4074751cbf28ab1ad01083a5403765507e1d3fd5fb1d5055ef411b3e0918f29b4db63463b4a396fcca6f4982ccc5c0593d6998c437d29db0bc8ff3388eb30ab9393322276502b2039addf1563135baec7004b07ba8f7a2322b20cadf328f50a186219a0728ad46c7b1e23f48a81e0c1fbfbf21296d5e298bb37459ae37b22e9566a347295400627655258b0d1e991107c47af7b12175d4c5829373e9e942e0b61e513b85050479a5d31bb1a6d4886171cd33da4c6801fa76f6ff618d333597e2c2b90be37c123223820630506e1a2d12030e49c496e9f6c41a11db8b16f2acbda1d7b42366c166fe517893c93d7a1f6e09b11aff5cb682a2dd31eff88c715dbb3f4fb863759aa69e717ef91811e576d36c4b28c6f9a3198131f9ab1a5074bb603be8935bff26fb26fea5a3886c500cee02e7bb2ee8aa346b667fff14a4c7d46811fbef4db09fc49bc2c83a62968201b6fca3a16bcea697270c5b48a92529cf054f5e9aee0cb3cbea1ce8bb821d3ac242de701704f2d177836f16d99937b081dc4445fd762e15f345627d1a732d7c8c62dd3870251b5c54c883c4f10f531270235e143932f2b7d1771cc783812e44ebb6efcc13e50cfef3b00a3605fd06fd3805aad9ffd9f9ddd170e3f24f4a5791cb43f32d7e097d02cc1d72699bae98351f5b953ee73fb13795f039d1b22f0044b12677520e012bc934a449f028eadd14879363abc08a41c9db386b4d333ab393004d4d845e6cdf32aa24da5bd5d14df553518562706b80c63cfbadbc557eca9034adc9c10e5221b76dfc6869a0dda070c3510435b8790f92eddc0bf8b566635de04359bb4c1f1cca8deae9b308eed85e8e102afe36a4603becf71485656f44185a54713fa5cd600ba6fda97f57955bcbc7174be91adf87b3679f516e0981dfb8c99faf8ee10e2c159706d0e4b20aefa092cb3e837b1d48e8f1def813a856ea82bdcc23d65a2955a9350247c6f73a1f9a9b3862c97b3b0f7e04538234f94f21b5a340cdd7932395a6a154aeda517247e0e62d39a99b03143e2cf73923e10c2b4715189140eeca35a2c156c3282b7236609bfcbc329809eaf8e9985688ab6578c9bd190c833760e73f31765c8a5e8875aaa621bfd7d97a113bae8169e4f943bd4bec83bb1f7fe0f575089b5be0791cb34e0b68ddd1b5d12b387e0391e569243696894bbe267f79a44ee53b3bf373193f882a36d5dfc3dd8aad5611d2f85e4e4dee444e10a0332a5a54a0dfd23b82739c626c6b0124e412bd631f07f5f60ecb015e7190da927540cb996edaaf79fdeacae6a50c91982f45f77a904d08efb34ee4e27cce48638bf0d0971bfb996bd090c804ea08f2f97bb1f22388b49d603b0585909b0d49b79d37c34a8fa68a4f63cc7b98f0060f1eaed71527cb55fd284be987e659811bbc92223235266a9cd6cc763e815ee8e25db5e86b6ca1ab47fab52ae0556a0e217300159695624e921a0e043f4584fef60343c6c4be862c9a4c01f821099d186179a6ed72090fce86dd4a51e417f811104cfdb7b5973a88571d8871900249e44a7782583866688ea1a0e24828a8d6b10071c6ca33012d36423b4d1391e76aa4552c4025cabc14acee883f602327e9ca5cefdf08e65c3691f4bfc61426760dc5dec6e00ddd727c3a4f913aba01ce7acf132f073f55260a8edf650b9731e2835854885807cf54d4a8663927febe5ee57ebca7c67feec2ddc058e01b1a058604b4f55df13939f738aa4ccc8c344c90be2b5b6ae7aab8e153486e56489321b1131835ab8af1fa0ce55c0ca4d98beba60e93ca3b5395dbfd57cb693c4b1a8552275c76774930aa335c1bce0c5be69bf6a991c9107dcde48810a80c2bb35481708cb42a7e0c97744dc4bae0c34276cb4a6ab68b8b48b5d04f2e26369b41e8907137a20e5864111323cc8981111c6c921c48283e1907fd43e1dcd6c09d6630487238724b47df2ea4815d69018ff90ea7d45a70ec4a4d4066ba8dd17237420452c9774f8bf9df6e2b8cc15e10fa76b40bca62df3729ab3660fc350fffef83725c4e97d2d36ea8d72087a38f36b9a2a7eff7ae55ab9948f1c022413490e2d3a7a7d8927b305728e1c677d5f92a2d8ca0cc8a9f4baabbd904ca061e2b5dd6a42c87447ff84adfbf7d695925bbaf043bf1d1222b537d3fad71821757cbc122cf7effe9dd001a76744d2c9cbd6565b162b0115554cf20eb326b90e0ac50799fb8cfc696964af0e388a42cff4c1a960e24c52fa2d3b9091fbc5f38458d9652369178166a284f84f36b7b9c4667461d7cf840b911468b695fd729f3868d4841c8cb934db8474c2fb5762840b4ec5d571fea7f8fcf5897903320861b41bf7b157bd159e4d6c9b4dcc7bbbffef8cbabd9c488becbc56b0fd091bec4a1304b13ae1619d2e28b2daa0c83682f9e9ca830440b4f54db341e39b7e27671802092cfbe3f6232f3437c0906290e317dc90b0e05666b2ffec4c01603d862e4d33a560050bbe6e7308452abd5daae0dad8032f7f573f9d5c46064f4aa420890db62bf3eeee32704ff33fd1c822ac704fd00b74e89a0ff4295317d5f0bc60d046f7ff13cd77590a8c9f496ec2a00060863cfa32062f450e26f67fee13665e3735b2661c33135c16a2027f0786731785815d8c2cc2afdb2470c20a30d8221c0db32ce6a9ba59616c991a441980d098cf2ececfb73daaeece3593323ca25a75bf035f9c588a4b5bb4a022ff7df08f52b22a790d830eee494bf4dcfde4e7cb5ab712c0f8e2e76fef4cd2f7ab92de4e476fb436d6fffd651de6e70ec035467cf606f84e87c0f599405195add2e53fa1db2c896618df06eef115b65336da7391e8d2c32788cf463d846b2bfd5499cbc0631167e30e9589681bcd101b43f0d0934fbc1b152c7c25a36f4d3a1a8f5b1d8f6cc066470b15d696cf74fb16ea2fcdfcda2d3c29c228c61a26f164f5ed8434ead76dab64fa7b3c19c24fd8de4846ec3b1dcfb3a38e0ee1825cd0cd9dc0be2609a8e6e1bd9a92540bf84eca40babda502123bb42f40a4cc576a59fe29a51015dffff7875be3913a96809473ab604fa6b7774f22c8eba9fb5ea70149659aa3a691287f0d480afdffdca43b6385a4a6ae268c5566672d761b2f0496f7c7bddd685ce31f2b1cda85f6a5c9caaf9ecd4c86ec7288d8c56884392c03f2ebb98c600ec53ceae4942a69a95106d6fb93f3f773f831235cef467c87315b03b76a36de89a7331053f74ac4e4b74bedab272ca11f35aba95d40fa3150b9063e403f50ec2613970d84f13326a8fcdf8baecd0855ab7e18d143ef0de6784bc5d93c4638b04843371a00b5f2dce6daeea5e9097756680ad0dd56f3a4f31086120473bac63b56650fa838d98b9919c06fe940eef03823d2fc62e34fd63d1e4abd163c8949cbc65875c0af07bed3ed41d824ae66761ffef2ff4c75cb8c1f04ae630acc7bae7362e460951f9a44af78095b035c1b9f1809df6169e945bb7c0e4f443a3f670b7d7e63ae1a86b614c4445176f9473bc51356ae4bc36b136bf539666fd7076ec81885d5acb08ac251c7b1022db2d59a95b0c5401ecb38708fb21a4ea8d2d2d73df84f67febf8829f4d6fb7197fc606e2f048e417edf992b677b24d6f8e56927b67f4e3d7818f36b2fb39b5e99855046dc024af0909dcd39c383253ccfa170e8ce7c80005d3886156c4630944d0ec3ca739251029989df581fac3b05e4dd7bb047ae75d8db0517f973a798a9221ae67cd87eb65dd8709b75a68062f522ed9f514c5d5047d31360150853eede0f8f4c88ca344d4dc6c5b317befb039caf7ff595c9dc778b11fbd951cfb2010cba6c71969237797aa108fa138ec51efd73af430fa312c5ee7a7a5b1f9b9d50b36869b2ea349616c689f02e17864362d213abb252decd9fc6bd5017865935bce3cf21bf5194928d7ee033d476479be5047d08d3eb31ab1331eaab165c182bb1215b2023a8dd8480a2c6a72561e34ac0bfddc40796a3227235f53ce6d9ca647cd7e581ab86eea24e9c0904395a75d2cccf60a04e72d8054fa65b639b93f21a8bf10d4cc64c65afd1ded938bc0ec343a98ee30c20f48a0ac7ae2ba22a9f9ef69539179d94b57059c962420647228ef104a0806e33cdc765ec3b1f23c0104756e1699e1445108082082991613974afd7e467975c0fbac41f416724a557df90b061214d3aa254a17a60242fce9fd1077374cc936cc0cd79b2e82e3f68c145a2ca2f7a6aad65ac34465bf72bba95e67e5f02e3dff9f2cb5357de99e98cc2519f46b8ffe5a0465e6071c4a0f84dc458597ecc39e17a2ca56ae5647f2f4acdf4cb36615e7518ca225a35b668796ca471463986ade4cae3c4ca9445a9c3aa95527daaba1839505e6231d0c4736d5e69257c2bce57420d47869268ae2b74ff3771daa9b7b850652352b49b31661833174cb4fc9d9b6915b09be3ad4fe392fdaf77f567e37fad9c73b798efeeeba4efa59826daf7227e60c5732a561528a12e543a3b0252527739e09ea1d875606460a28cf044e7e839cd05b83a928b605ff9a0d6ff6654f5729ed1ec3be3803b05ee41acd690fa24d72d73ca0b16255c47fa0af18fdde1c4dd9511fda21e8537c940895ecb67785e0d44461dc9a8f96c861eb1c9cab5fe23a1dbd3c3932a1777966729d3872639dc0b400b7e01e930f33462e8f63d350f0f66376042b386a5edabc7684918f9a41f00f69acff21e9e3b9f001ffbbeeb8ae8f1fdda6e8e6ea5e58a76e05498c8ce21150626bd7e494e3d5476d6894fecedc02aa9d5989d5cc9285851b8d977ae851acf84f18cda5b2c0e038d2fe477a4f99a3cea52934a6eff19d3b5977e912451e0b20207131c292f426db9d2e8101c287587ced60517565d1e417b90cbeef70738526e78acbe3467a6acb6df1b6697abaeb3d012757d85abd8eb000000000000000000000000000000000000000b12161d242a3138","message_root":"0xc83211f886fc43802fcefbcfaafc780f46974aa0305da39a402c13aa9b2fe8be","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x54be3e77898c376d46fc352708848e60d9a2cec984a93643f84a26172f480cf3200143d7f1d909e64629ba2eaab6e3db35d8f30cbe05ccedc0498a8c17102bb06083ae4b8f31262b609de77b06c1cb73faa15988b7fd8917399dc8ce66ead04ccd0c94e0483ece4aefb4a5b5f9462fcda0918816d896b9ac3edc28bd35c4c39df5e327786e6609cc712b4c383503efa1c1d8fda0c815fe2687f2689af7de169b5a717ec8dc8cd4e9ea93bd1736ec1d34ea4e656f452003ddfd42f0f79135b864c24e71c3d8f98cd64c427bc08ef67818e000785545edb5256dff4ed27b9e1e95c62f72a7cb1116a31b46764a593691cb2fc9777b49c92dbe0176ee60cb4ecef71f726dbb459ef335c1cd6f956810a457c796510f374e979aa48b269ce3c273e5d86bbbdcb53783af425b66773458b789173661eedfd6710901af8a88c4890562e5a29cf1b61258a9f1489f8fdf78848a6943de8bdd96ff807ee7d30755595c0cc45b8100e0dd8a8a7bb5cbbda74025e8678f76a5638cb69be4690dd2715d8c15c6e703fd183a96cca25e040ba3218e1b4afb0ed64062a045aa79e2a3a21b98580ac8eab194305a4e9480f91bb7f94baae8011233b8a3ad6d6eca02b5adf96a4ab8b51b89b9899eae765e786905f217fc20a9245560b976cabc19950fa5612a0395299b85852675c7f09c2b6eb6c39a1fdeb0d1068bfe420ac8447f4472b7cef66f0ecfb96478a5543fca43df52ac0e6d025f598559c00ef7e8256403d0c2bf1569864857981b15ba8bc336c5ba942dd41de7bdd4db5ee1e67c14a8955fe1e20d04355ede38f0269554b53f219a175956e4820c0e33f6d1accbb93879b0cbe8cf2a267425c48a1a0fb5bead0491f7b24a5570c7a5d6557bfa882fddfd777a3a5f27b8e2683534ce3e9f482ae191e2ec786d3829324021f55254f5217b477196e58eb7134226b416e9d3b9cf4fd71f0260ad1a75771b4c0e2cb4342359c33d2d2b78c25f9780f72e02e8bbe25a646dc4f1e9e334a4219bec40c314dbad9e178773fa3262d21be5b30ce3ef09b9cbe0725973f3917d25b3ba194a3040d88e153948e9099465c8062f80e3ed67adcd6eadc749f13c66939d72de3f3f1be32ebed157f435a35257ab373c42373aa0c30ad6c5a951ffaaec953296e2f845417edd9761be82ac7718bf45ee88c030dd2277d0f1fd0053f0dc16fcc3e63b8c8edb754d17d7620ab0121afc9af912705c9c5f3cdb832a727814e21a7c792a95e83d35c1ae2d3d37df2a76e36bdf85a05f37eb3efde041bc7a8026a6ad4a57094dcb12cb6f0cc0dec06c2384db4f600364ac37995eff087ac8c4c599cef630f33ab6bbfce9b5fbce85f3ae039260930a3465be29ca2da8131bdcaf0cf53aaf602871d856ee13dd777c160ac9aec45ff98193556c1026a2bc6281aa17d1bc8ed4fa68ca0eae790c1dfb04de62730f62fcc0759cc04d925ab4ce80f490e37d5702d1ba745217456dc128dd049ef34df22dd6551348012a1bacc6b943d9af09a76c99600dc0662d6d171bae2f149bc891ceb7238a260e8c769f0ddd0ef738451214073466de8482b83195c9c61c0a4e67e4f01c10a740dbf76c36ca6e0b55ee0dd61de856ef77728a60279c34daf28685bcd9019bd8a7e666fa721ca461c8854f0999d65d5983e23870a27020d067940444aa02b640371b4e2673bfc5b377c264ed4efba0411ef219417fe77eb0a08045e0e9f473a35a3a6f3492e101d674d2e0f43ae0255ed376e8a1a759fba88b17cc4269f9a0fe8863b032765e33d46ae226fb7d9328ff5a7a4fbc45ef193df94c7ddfef91405f01faf4c6f7b5d04aa311ff07b0f33087c545e20dfe415bba8fe73ce5a7346ef306d68c9b44721e1251cd432f3d09f24047745275c3df5ee0734aca8ab56e58a00388b73949b8b00e2de24716cc7bd39796de029f83f532ff850982eb6a36b8a01e32e61204af111a3580169ea7aef8679869b9eb7d02a1056870191858f094d6bac0c0355349e5f49ffb1a528b29a74f5a14265aff752e097be8bb54b8d0960c8fd2aec7d5df064892d11d2f820abd7e56645e06286b84a867ebcca691dcad8e7127705b428569ad91ad8905738f82f8a9036902a81054819bc2efe50468faa4a090d3c7c6e231e46f866ff3a4983a8e8c51bcfb69ab4222cc41fbaa6418b3a7655bfcc70d187b466621597b22667be6247ca0055247a33c6d854bbc9581f84353e46cf9b76ae94f2e53b504bcbf603daf352384d5e18f8f71f5e80e4fdba5837de52f7f0274ce7e478d147d6c1e6988edbc1ed6d65f23e01139de892d73c13bf03e87cf2caa75465e0deb41dace50616b59da51f858dc83e79503fcb6f9818b3be26a1bbffc516c76335c01a6062234a3e4818d058ed1bea3fb8d957ac8af1b09bb680c8e1936da390c1d1849736fdcd816060e7105e1e88d0d034ce0f1a12623b4cb8b920e46c27ad301a9b80ceb7b48cf718424c427cf69b223b26fc921f7121a5e1095c87bf8a3836caef5dce5c8ee492c2d4f0f0e05e4a8a015e33dc9eca88934eebd212e50382611780bf8ed174d995cde0ab292c769a45ef50e087f82165406637f77c753bc645f7f16327fb2cec131e9dd8a38242c05bec704950b4f303c5ce71966ea5f7a9a354c8fd79cfe602dd0a28df2a036df8779ab295eef6ece56fd739323d3238b509ad7bfd3a75cfdcda9ac3254a8e013a29abb978ac27e4dc1ae1604aae2b5fa0169ae8cc27665aa11c632eae64ce6370bef97f29d259d9f404d443ee2f2a18bd4117a81ff682f58204ca109ab505af085e9bef58c2dca8d3a49a0a60def443f34571140cd58cfe5831add14489fced89985e53643c08de51bb86ea79a4dcc27c86551f9b4404bee90535eb4582dc714be9d8189b54ff8739b9d42c8f23de9d6fbd3317f3e5859dd9a5827a8bf19c3cdcb1115824cb927ee53d3b17cf6e975a96003cfe71fec74e9bd8c20dedfffc7babe99efd28580208a844c4678fd67852d8ea5e5f18e1d7d214b90b1cc5e8bc7865b40337350a35911caa7c0531e7b0e4731913eea2071f31b485795bc336ccf35e4821139b678a5867e8cc9c179788813ec66500feda012ebb231643ec516480bdcb3fc6bb0dedca69ed61754d6f519aceda6acdf5e4d31376ef69bd3290cd20a4c5219376ec9d20e28ce680895834e067a9b736accb700ade599a7caa0359c6098960b6aa78250aede45975e5decf1353450ae3ed28ca5a42d454095f345f03aa0e9629539d64c80e52d15b729ec984f7fa9d0e6f746893afec1218a948086f22663c79a0818b6bce60ddd8414b4ad7a7374f511b032fa7e55138fd1d015d006d8b07b4f56a5fa3f8f347e800c4d1b5c1d821570f92be4e9f87ee01753bfd669991fe79e096f09b9288f8aad096189cb4441c95711c4c855dc96103681493ff238df60b3c7384d334de92edf501d6ad3eb1270afece2d8b931d24c9bc3d4139dc5042ebede0b2c9b1afba14e2d753f920f4405b24d09813ca91c62ed367e95ed73b985ac930f5e612018ebab13fb058415dfc168e311f24d0de53646a6d53ee20a2ea73219d11123916acb0cae53fcbc46710576c96bc166af5bdd89698d8b295478c17fcfa7a0e32635a9913a84c50e82b7528896cce432","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3f1f8a95fd4c8da5bc02e6527e6b8ea757bb8e0f0a7b5314704d4e4c7d2ce302","signature":"0xc4501d2b87acefe8242c03c681a2c3c8c448811698c2d22d59000bcb40f9bdda263afd7c98b95fff972a180471ad7bb5758955eaaca43e9291a35e0759783b97d4d678ad0851e49e45740f1f0f210c44dac241f345fcdeda88652892e0955b073d4bed8b5d69ea8ac8524216ceecff11f9e54e6d3f3fbf9a7854950ebade551e3448c8034c5ddf1e108555da9031c3addd54f90cb67e6c51063233fe035eb32454c0ea40c4ef4ef822348ced1a79c855d225e6c44d86fa4580b9ceaa8c546368548a3383551a0ae3cff5fa09d6ea98f0b027269e2ba72786b5bd3889cb245ee31968e8751bd253488540baea6125d27c4e6cd368eff820ffa7700524e71f010c9592045bdbd5240b09b1322a531308d4d93b8cdab8961b8bf1f2f76e1e3734317e92bf11f1764ed92f1f3e1d1727337ff5051a8531466a5a115f769509ae4138cdddd851b4b4d3a880663afd8368e73f40b7379c8642ee138a11880a556ac39bdc7c2f57a5f9fc920a2c7ad91248fa65daff5d5e41e1ee63dda9235525135d9b61cab51f81ea9e29855114acb09d36d2550ba3771d0e43fb37f9b3a70ba1ef0f2efbb82121ff4e9dcf54fb0b55153bbcf5479ce47fe083cb8b6e0e49a6a57cacccb67f80bcd2c5d00bf83a54dd019d876f7647b307b0d4b8951eec9055feaa79e931fd0e28e7fb6378af0fa8e3bd4136c406f4aea0b4ced5f7ec29d572cca61b36cd8f89023b68aafbd10852d1a1e9f3a42262a723d747421833ac6fa35210c830a6955093f8b6650971b2e0ccc70064001e4dad68dce9893866595cf58b47083ec272ee08cf65d10dd41043ad13e15e9b616b2177d7e27c535e2229f7f446840a33d83848f8847ee5f8f8f7b219ba1269b3f3084aed46d8d3876721d23c8be7a4aa0b5ee17c1f98f0606a9b5d0b1283c7bb97a1853d3dfff485f86703fc8ebf8a10f04abbefc18f86042b4eb364fb12619f1169c2cdae828f37791b7f39a0df2595fc67e29c88d21e2d2165fd1cd8998fac961abcd9114a36e9f6db8c21cb9ed19d044499da38f47bcb1ff48a27faf764551029094f90221da992da9216054ead7a40ad2a3f187227dd115d16af6cb4d44b9c0ead6f5c49d0b38d1bd362fe81130f1280da060dd694cb469f2b631466a4ce75f21d450fba68afbd98bf5ac3f87693cb17209ea344fcf38dd8170dd6b48afea5fd553e8ee3c114943e8c3b1776139cab3d08c170b3ab340913668794a6414bdb1d062173b96e90a30206c0a192e4f90f24f72e7ab032e933da361f4e31ac3f31052a743abecf4c3a6d1d4ae1d6b7930be4eba56f85c6ee9e71fd737182af08e15d09722f7a71a716159ac7041caea7b00b47fed06605f4f44a4c2839525f4b9adcbddecac9965fe419be10761f6027fc695569c49f4f465910ff8b7d7b195e5bf08b2ffbbab48bf3327dbec13ffee51ba4beb1dde288d952a00215a257cda85fb0d2a28be261acce9c8959d96943297529124197df7856c4ada40f7acab52a236ea96b9b365ffee099ea19d89de72dacb6b6e6ee16734e8e411cd0653a0e7f1aec3942140a9c729bfceaa6d1116253600361e6c9f20b165fee38f2d691ee7a6f0fa08e46df44ac57f9c4a371282b0f88789353ebc86f07b3c866977745b6cba757129e7770e32e67d1b02de0e85555a31480423ac6cb68cb78898fe695f4040cdfd6ea2b67e736124c2bf033a48d262adc2bc65a06a19234bdada3071cd1bb4c4cefeac050345e9f31bdc9d229e2a9eb60ab45fddd8c26c71ae14543080d89584362a4d01bc24576fbe6ea8d74081331fccf93fc4c9916b0ef0415900dd97f6db0d9c020c46c3500bdb13ac400fc1e9993e93c81e8ac6c35b097d627780081e7a8bc8084fa047929a61d0879d3accede84fb82f3b5223f3dfb8211a9dd7224095b67fa21ebc11bce279b12d3d218463bdfe8d8520154c9daa76e2eab9309328005ed922a02f6151ac429b017a53451ba6fb5a8dcb4624fd097ddebc872c1656413cc3fa68525d987d99c7376e71380b902c8bcfcb575450afe1f418b72bc7c849175248538654372046ac37db5df9247358bf1bff0bc31d80c7fc8700c3c15b5d06da5bedc72adb6a941e8fddda2ddf3bb7dcf3689d7e0d44ffb26dccc9ef05b282a520cb8c7e6e36bc1d77350b26da77ada9e1a43a65fdd69ec81f88f113bf6366b90f9e1597c3c54f47f2d9d276689cf2ecaf7978f450b437e1c4ccb91b472bb05ca26984f02b77492b405652fb5622ccb9987b5315db80c960780ef8040a25034cafefd4e1421319ba05477cbfa3663c7628e74ccc1de67cefb6a575efc1586f4a9eff6ffe5b8e540ddf25038bb3561c786e8ac73049e1e13e6baeefee3334e9706645dd979b36409fe72c159143c5206aca7509e5f65136dd38c4e871ec48baddac4aeb037e4baba0fcbb66780307da3f583183e1bedfa511f6a00affc963c0114231784411022c98499034bf596c5391f189cd24f6375ef0ea86714e76bb4f033d716af3fe9a901fbdf9837135e7568ceab94afcc30342982883136a91d9d87fd6baae8b465b6e5429f652530412ead541677a8e3d44b72c3f48457d22a93161e617dd4657d6350057feb1878003d9e473cb77dd5ab0c62a883b5815c9f508bef3a0c5b9c2203b96ba7a1a4e3cb6690fcea084f32ed84353d02d2846abae34632398456d01f6a669dcb6b628a850983335a1dfc993ad7daad9d2a1b904b84f3861f110eb3a33c5db4a262139cae495c7949d31e9e47dd3c646752b3a08f591858f4f37031b55c31ec5bcb849b772d641ac24518c48c7451cc41cf024fbff0298bcbfea9435f04738110c654f9a58c8465f649996d337d6ee08bb26df0f3b5e19dc203d4e9844bec06a030ac65b22d7a5f8c5c66f0efbff61268e438bbb118d88b553cd06e36abcd1e3f38381a9d2bd3564a29f727d1015db049fea92240c061f6eabe5beb384f12043541dcba476ceda27385aecc908bd2dc7ce508b6f416bb6926b28b8188eef2d8cf801feb222deff35d050c95f10117c61044460f964a65382e1d1e55ed816fae2e777fa47a4f6824a037826931ef6c55ad6aaf56b6605f8b6184c17966cc416aabc5bd8b25813396ff428246a42443c617f9afc7fea9f655c7193a9764c66f9d42fb78617e5dc730986ba9aec9f842d61f968d2b147b84283ba29946c3202d94ead85f063442dcf9c29dca76b49bab23a3cfbf58424246cef3ad4f0e1a3b6a6055a299fcd2a445d08fb23b227f7c34a3528c25733600a7108aba5e62ce3cfe2ec891ecc1535693ce53182c1bc77e0cc52601568a58b8f64a3de6645e4b1376070caa3fa265c023d922fa793bd2a4de56ae726403915a7ebe2af5da6159b4d17d919b66b6279f0e139fc12f1350fd70a97a2327dfe5e632baf702e1874df8e80e167494e0bb100c4f45d633056dc79ab6a9a099e9e57e4600e9f532389500b8a9843fff69d8e06babf6ba2cfbd2e7ef290525877e2166fe59c6313f29c4d35d468b25b06cc640739ae89077c44c7a8aa6d8fdb8c367b33c02a31d9afd0c7089677ba92b106aeadedfa6a62abc02a09f58e912848649623d317cb41e22eb8fdfb1e8ce9bb8711761125111983f80594b0f12a84885564a181789632ba148767a7560dce623cf14d52c6b6bd27df926e4289e7ba50841335f815a11da6893e37ea6f1b7cbc2351d9a4acc6b7d2ac0c10fd6f2ec317c7b497f948107bf37e87d4ca71a6881bf320888d48512ea62cc56c22128cc5b1afd125d00a67fb9738601c565df0554e173f894d44cd88e5c0205abec2397807a9d752ddc28b26c2908965b566294a4fc046383d222df94b413f6e9ee20f5225157174f2bb7b08d012d6c1621eae849423955e424da0a7501d189177748f05f9a7eb169d2e016529baf3ba7c78fd2c26bf9ad4deb30294bb13a6c224951ce78f784597e4f874133d85d7708742785d54d40cb84f871400339cf7c215c39671f401e781daacf39396694013d9ec36b065921fd302e0f99ca028e10510c1b2f6df0554373bde8ba1f59e115fae8436a0205a554df58abd2ef8ab29146f34ae1600a9b744e64e7c6d314255f7f2423e0e02ca4d50ba2ece16186ca32c04f10477680fa86996583c565593b74b5fc3458ccdd8957ff0458ae6d5e8119f2fb40017ae7fef79cbaaf57ed790d913afdb2d432db04fd2896d646bfb66c31a7eff74fe0165b125ac01a19ac5650b0e5b2997cf19199bf34292f42c9463181861620bd73a78303c9b4fae5236f5b452c120fd2e7bb2cd29c657352cd488d40bad6d8426b6ab580649f4e929800e17056aeb2a2313473b92fcb2d7b4ed783756dbc11a4d4e031e0851e72698881c67aef8cdb206b67c85fcb12717aeadea4ca760ea0ba7c9b67271bc9f2f97f426b6938df7151d4a533e0d85cbed459948457cdd9299a9ac1407080dbf3c1b72cda2fa221ed1a485dc124963074ede3443984bb3e3bf4b90919764cff3b32ca64931e4a92c26646f4d8bf94f7e1a82231b292928af1b0ee61825526593cef31e28336bb698e183f721eb1821e1a533cb204e7a0f5876b83daf041a94c0e080e3cf367b41dac2d5f53770e5a00f350b5995999e5a78c6893ba924d7c79cc56ce8a123f1618a90848df5f84e62b20af50516f27b719377f55a96a0e9a8279207ddc55c550d8c0fa76da9456faee4434a526f797b732315ac1d27085030ca969afa0573aebba4227d89dfe0ab3ed9231be12f564ca0e6d7f8af53b2a09f44daf5504ed37ef7f96bdc294c9979b2dd56d9826e0cfe5f891019d2afc210ede1a9f5e1d5191f59d98f9221b04abdb43dda12fb4ae81fe625ee52a8f8442f3d8f02d1442e69d89326da00f28b24d1271f29738e529010802c9e8c49c30ba5d44eb8f23dfa9d75d78e83f8f25ae9334fead195658a432fc659d35bb755769f1c33fe4e123823fa3d75b66d4dd73c1cacef4794fa898ce66f3e3e29864626d359bc0fe4edc03695dfe6cd6b6fd5d38da107e7060b704199603acb4286fce3051313c6a7cf1436a5a939948fc450469e6b0fd5dd4ed4c4c767c9c4d926ce50b2745ba7146e6097b59341766ba06dc417950bb6f4465daaafa09d0f635250c530947ef585169e80f76e52b78b42cce0de7a36269b43e9e2be176e2bffa28610c387377b5f24f4d1a52195b7b5d78a1dd9315a9ec63c8ddfd02c4f11b059c92e6ccff65af3cdffe5fa2931ce22f0fdbfd080979f440e4564250b66e56aa53af22b6464986fa8d48610bd35d9f1f8b110ff1366a8a352ecd101d94ce2baffe6225ed003063e2e5f99181e2277ddc1438569badc886e156339e0683b5db4978a4000ce13c8c6e59a995078672969fdb7f15cbe50b1cf1b20e4abe5fcc07b7bd885929990bc9ed124d3188dcb058c617b3a04817cfefe442820c7995c73562493dc3778dbac0746fd5fe59309e3dab65924cb7f89cdfdb9ae742d69ebd75921abfba1e9903e48b54775100912c891572ea679c47fbf4ae67e3420d8fddf80a0c57d0342fcd78b14960ee8d612e52c69880ed82b9476885e3e1effbebdeead3ff12466c83ec69f8c45657fbcad1bb2d3169fd4a068b2533231caa979aecf6506bf155b2fe03f2960fd3e62dc8f9c77415345a023bbe8722b094e6a511bfb2662eea148b892fe56f1774bddb7938541fd75ce6fd5ab85657e767255e2fd611a29b0b58a4b3c6f3e001a6556ac89d411644303aebeb8004042ae715327dc061aec897931bf385e4e229ff09b6486cd3939b6727806dcc2b336b2deb7f2c3e06155ea84cbb9dfdab1921ede0163ae5ca786898825ec142a01ec34147c3939d9013ed754472ad8fd95ce30f88f1a4adc2b22e02f30ff95987c58d0fe5df24b386525bfbc0ab56715a23f202acc927428af04256cb9993b94d99170e58748df8dd1e33a7284e2e3b19417ac0836a301b0955f08de8c0a4d8479d80b406b19c5a712a23da9c1cb7a5ddea17a2b8a80b004526c5bd9bfe6f9ffb82c4d95975aaa437e412d4ba163d8aecd374e9da8200a1cc70529b97642be2e27ae082a0bc2382d2ebb3af11f080c30b4daaf65a3ea8b3859b033ce77959c5ea2f6c941a84b88469cfed409e014550876b29b062c1d208f721d307c7f7a3b1fb5156b0c3bc88729f6a28bebc30c5a3a548695429d51c20e7bf9500ee3d57062e44336da3c08688a1d674b15a34d1edd54e82cc0d79eb5a74863dde4bf6fd668b649b0b3ad4df58fe14b58987ba9d69d798d8f4fdf411e3eabb26d2cd93c48c2c2bc37d0efed3c383f9177698cda22792e76d14ac242c49e3c2bfa3d055843f223eedd1849b7249742bcf6a6138f072df820b5929881745bec36cc8ce2d2eaee6bf5aaf1805c88062d4bce128e7e7abb60bca34039a2384180822cbfe000730383c74a0ced9e81b293354aed8e8eaf370769d0324336cb2cee4ef030a15174e587cacadd7154399bec41554616678828a9b9eaf00000000000000000000000000000000040e171a222c313b","message_root":"0xf995766b17b93f88360f698b46078c5a61c75dcd5856b13c16e3374b21be400d","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xcdb8621463fb0e4d78b4bfffa2a95672cac7a89094312716a2bafb1b2d97a84650eaaf27667a5db6ebb7473e3ea65f8da92ce05589d4266370a262c6ed3ce2c6cd906759ab0b798604209dc8a57b71a3c1b9f0fc55e91d5293a99d4c6fd6eada8bc7165619f5ddf13dec4c5d51c6b12bb026a21fa0da4a83347a27e0a08d4e92fb74f76d8dec56ba6b331881ef9f044100badefd32ac131f4ad74f0e4f4e4034bec87e4f9a9c5be63c1477e9a59d8c0dd0c80099b59891cd4003416b82b5b8adc2478648622055cddd4fcbed139fc5ed1bf5e12e230ec669cb6eed9c1caa030ae3b1399d32e517902e3d6a966ebcb64e47fe968f9e19ea8ec436fbc6e5ba0f9c8e864e43dd856fc1266c1cce191b764633349d7854efc2e3066852d509812d1f3e7d98b49b12c7bc5704681efc0d191e9623b2de0e8c4793bfbfba86c5a59e13c79b124f85c055407fb8ae68760ca08ce2628e35132c34eb881b2bb47271de556860f252e429d4debc0de5b42439c1234874267e2f6d6e0b43e11924cdfcca88688d07c5bab0bf33a9d7980970dd77060c96c2e939fe9dd627bfde455b6d64d939aa43c05ac44a375c783db0e8fc089015be5d7bd3143eae9cbe4abbcedca9850e75649a0ac38358b49b95a07d47c35cb721bba99a0627e8fb86c10fc91d7510472b4d8eb53fffa3b5fe9bffdb84f281120a6466a0eedbfa39057d9b0a13fa225f52395e0dfb3b1957386c5168c2c0e847d948cd2679748b2a2b772bf6f73b7d464d8e66023b9c09d32b7c3577ec489a829e91bd5dcf05c0cfe7584273e71dfbb1efb7657b6d45c27d5b6cd886f43068f7b45b9bece0b1bbb66fb7f9a645faa9729c390ad309612d7dd4055de1f8a5d2fa99ac476d23ed7557db5912238cb8752cb4ca63a1d6c9fe6ea50d2b7f36e309ecf3c3b591cb807ee74f6c92933fb6b7d176ab1e97a078ac910d3d60273ab73d3c5f0e2beed0cf8e1be6749ad49369154cbe2f4d084fdb50f28c8c079c39d5c1091acf374c6cc778daa47ebeb932fcebc79b5fa8bd45b690cb914198ddce6066b28c45ed85a9073bfb5707ed8ed62bf0f3e3a92d71269952f5d0ad3ed5c829ddccef030f8304a7ee068075f703199c90bfb973f379b16718cf62a99083525427cad848bda67db0519a12ffaa275dede9820364420810811ce866ec2c26fd570ab009bdf052d900a04a6867137c7fd219d28e381da3700ef9f6571e5d008a48191772dac03850aabcc6620680ec37fdc3bc680d8f943771a0875a07427ea1cfee52445271c9bd48b45e30317bb5dcbd400c128d54f4f7cfcaa33c18bf34853cff396e5b9a41f43d4c61473f1ba1f8e6b39711913bfd2d1d3d7c8906a3690b8719ef8dcd49d28ad8aed19a91a311c285f117eec98326428525f7bb5946749ad5b8b11af33aec52b1c01d935902bbb1d86178d0007a841297e93412924ec3a67e6dbcf2b41e46549d337f2e192e1a55da7217720fe7e56e57746e98f6fd84340cab16f296f3210de6d6cf7bb67a6eecfac6773786394d2b6d7f49550f171aa4a8026cc3a5a8d93ab4e203157d0d5e2d9fe8f7375a120a5eab5bdf449b9cd003ed1c6b13b94b225a6f63a14b0928d86f35eca66214f4e0a3aaf316ee02b67154a26c6126c1335d70a92229fafd19019d407c263ca706e3225b38affca09e1b61a016f602ccb4a60a33699a1cc6335620c596c8d1f476a35453a5c8690a05ad348e67c62ee12a21c34a6e96cbd4906f9b560f476b3b582772f007a78485a074d63e0d72637ce3508145ab671d3b11e8eac69288c3e8cd45cb029b01776ed8cfd8cb3fa93d057b3c2a200208c64b800bba4ef9a2654a3204eda1e05c9429057304dd86ad1419107fdc63831b50b1a04249019f9ebc6d7132d76fa956053f1c5b95637db0fc85ceb8f994cf410a27037a9ea78e49837f855a6d9d417e885753b434060fe9b44354ac3557858f5d97e4cb26f2710025a22a658c10de829ee276c9090dad0e9d08f71f5c48977160e0159941afbe39710a9afc1d183e2fbc4effa0a70e2c0005b3d813f49ebda28f3882c994157439cc870168f188d58d887a5335fd299e7f0bacb63041c7092d0b7a68b34f988eb33e2dce955ffaf887b398b35cccc797f38e48a28bcc73e2eab5f7b4b8d3ba0f73917d054570d77c175e9e520925a05745d6917f5ccad44b70e708afbbcf73cb5410286cc9ac95a8cfb3979e27d3c7ae5c083d5d924795d406ad9f286a1b9b222020864c0bb606733a0e1bb591b6fb51659aeb3ed673b09478c318a96c0f0a5ab57caf1fd226822fb220ff665c90ef82e2bd00355e05021ad1bf2d2f9608872910344e6acd1de528615a3af841cb1ca6f1909434264131774ada5d12a45316165879d37bb0ce8135c549dac66e21f1581b80a882bfbaf3b83727f87c74339d63be62db1de8938dcaa42d0a02b4d1447a1d607529a20ac7f03acfcb6a29386d758b83d9a8f16dd5caf820b0ed41405c0911a2bd77b6da826752b0ac5aef05b44ff8d480eee3c8a5a088a590f95f4a08108562c0610a7a041f5a7b802f0aeba209390302cdc9a67ca1064ca383d08aa68b9819773ed6125a1eab1b68f367a118e10bda3315edce8db5b50028ec55a55f01fb2711b5178db4d5eafc218bae489c392f90e8dcd1e4fd9ae2d7938edca841918ca26f7e75cd5cbc57175f63be3b973b94da20b1ed8d096bdecea0fb18df5af170698edae33631de6ff47274673345932a73c44fdd81f159289c8d31c80d0c81cfb8a9aabb71963a900f2c6c2e8de1493df703cb9e430f61819cfd945b786f8eaa1c0625ae3c398a3ac82fd24100e0af7ff498e81f30bfbc80d178cdc40dc325179142b115436a87cf9726cf9b165ce5fe2209210f819817ca8097ac842a25b01d89b902f5db6314e6e8f9f6e604845114d0b5628e18ec1bfe607308dc6ca7c6bd75df1251f7ac6e5d4c80d216d6baab8b6645a90511d10788eccd86a72f406a6f9524f411b61f93ed30139cefab8ce95ee21a7087e3aac59ce1c3321ac19055e1059bb8868fad016db9d645f22d973425b47299e6e740a5b564d8d2c8fd9247e92bc002857df4b8455fd28f4717b862bf79a3825a7e0655be209f07e0ea5f3d24bd194707e2b604afba15718b87c8bc6345eca90403ef80994f509f6e08a0e530d0508cc9f44653a5beb73b057227e28abbb88ba53e6500aa73756484315746f667d80236eb92c1f388e3fdeba18f763e3b55f34ef08cd9790ab713497476e6a856bac71fc7c190bfbdb9a8f9ea3fa8166a61be5dd7e24cf5cda3d9cb8d4e4af2e067b552e93912c746f8eef3f4842f6178faafc3c30ddad9681c16f4c44ff9768bfdc543e0d06282543e7e24fe1c2c368c0e94f050dd3e1730120f61069b20a1106d83e368f1e1479eb60e1c2c91ff3f9560135365f945b18dd10b6ec1cf64a8fbc5a9ac144d03785d71df4ec0fb651c9354bef31c1f5078c4bcb7446da807567e8e368db2e433d5e66f3dc8f309680435d665598ddfe68d150ce77178b558ed734014db98983ce9c97a6b6305ed1afe638be87d613b5defa741e595281eca726395fe8bba43479a4ce83bed2406792fdb5c1ae174dc11c7c010c8152243fab56d5fbe486bcef9a55c7a50a3f7b7d1","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x626fcadbb10c8b96310e9a25be5d1ef4d5e8e60fce1f354979db6ce93d67d6c1","signature":"0xd993c20d8fe5f78ade4207c4e012a2272c3ff6b4cbaa16dabddc15e41ddc348a0e0244d75dcbb54cb4c8c2780d2a15bf9ab867a65f63acf36460f873ddb48ed663b0b3ef32b81e40afe4b772c9423b168f10a1c2b94a571c6cd131577665e9ed615279fa2abef90c2b238300854fa7ccc7e3b47631c4a877f1168511526156441203faba48664b34c3995f797d8e33727e73949007f5860e1cb261253e230926bfd3c849b9e1ab65edc31d95ccf25bca667caecce19fb32d3c3853eabf85524af3ff5660d149e4c65ad96d5663ee911826f126f5f5c11ac357e87e52984e63c0830ce9f316a429f50678a480555a33d31efb138982f25c14be8f75c648e4ba6007071c4b4cc797158abb2bfcd06327a55e5277845e9008c2a62c38bf70394132b373cace5ace3854d44d2287500383088072fb917443a5a90ecf24eae60e762e36ca594495c08facb6f0d12a311fd2e5403d31ae879f9ae91e267422860b08d40b42f5523a071e3c460e2ab516a33fb91742c9afc837bd3fcdbe19cc2fd73473b9f5ef1a1d06a0480d1fcd2d5ce3d272c205d4b7764df5c8ee6907f936706691b7ddf2944848df894e3ff6ae1fcf407efa825f7ef5eac4fb6000272b892d26a4e6cef1ebef833e957e8634dbee51cda864c2f84e3cc9588204925db9f40545021da18b29bb38c202ad589505bbb00e38cd058ff18a5942edbe599655fc94a38a369217632156ced0fed6e68f6d020d6af750d384e977aee4bff935fa0ee032738231404f59f62970624c5c0781eab4e950b8537eaf32871c941f8259bec7d918d86a279b65dd5ac5875fa9c226a0eaa49885bd92a0ce6e399013b4c04ecdcb5604eb62074631c4bbd652a7cfe1a0f8dcaa61e685c5b97b560cfb3c38a10d60b0ed0792526ca534d96a59bb4987e3701809a6e53048b9a987fb2f687afa4c59bdc45a5a7fa7ad020a7a74c276cda3ffe5aa190ef6e0eecb7d9dec3daa1f346b9a41c77284db3db236fae788d4c6be3a22086f3ea34f8e4bb118c61b5d05283c42ece394e6de8025ea3afbcc2e51826360ffcb0d9af3f41bc7dd6ba8e2f62ee69f552203ef79720a908a0a1d27f36ebe852d45fe490c9934bab9a826eb3cbe5821050483d50ebb07a2118decf7a21442cc45ca36e37d8a055c679d9188782eb3cd2961f844d133042822aed62579971b15685d2750f0734231dcb950f9d30840cbfb51e93e5c6574fa085e2e800affd24da773109fec94089ad170b7950bcaae0b5163d227bc60c9a142fe13481cb6a21656fedb08e19224f0d7f126a7c25dfb1c0669176f8a1691040b609d78fda3855a6884fdf072533c941879e4d51f6702c7c9c0891094fbf301aff08fbba1f51f6a64747e513fa22a197562ffb2b0207fb0bbc91ba9e1a31933f284b6c90e1569311005e6acda59689027e7b164c9791bb2d8ef68fae56fd01f38271713d21972f5f76f343f1f696727f356c21e61409c6b62719c1a2fb13de57cc855076dac270d13f117bb8f1c50de4b1afcbd9ed498169f3a9165cf87f6e32ca88d66b7396806ebbccf81ffa95107a5121e24818ad068c820558bde10344bb002648009cda9eac800d0be1b24016fe19327a948f1c7da7bdbbaab174877c5ce3cbd7692cc68c8bbbe1cf273250bf3cc4eb27fc2db9055d958bcb93fe78c1597aa7a67c52b3a37bbec8c9b5231ea52c3f41a99aa646fc9f4fdc060aa69eabb4068e3868e47b409ee6fc0143f2323dabfd0962b858f6973c30cb4ab3daf4f1c002e1a15c0161cdf7961d58267b6c4e22fc90e77233ae568f6d2aee6d39e9714d90e1c50fcba5b5979feb70667fd60582f4354136fe1847628f4052dfd2807743cfefa0b2a681bf6cae2b410267e4c993c56aead0341684f6f9cecd5ab04103cabdfff97f64148c70ea4721837202cef828230327ec47093b58b2fca50c549dc87ef4866d35c722e692f1b3850f0cd4b4c5bb86879d3911f98cc226e9e9a165fd62c97b5b268be1268ab741a81a3d7d09c68c3818a55a79f72757f2a5329bd2ee35cc271f4f3e9d22ffb342f7089c522a567b8d7115199cce773fe96b5f8238737a28a7fa88bdf99f3bc2fb578908839241e032ad077d0a6633ab9032e1c6d6c0ae8be209fd3c74ba2f18b89b6c1dffca50c8610461b37f6729b67016a63357371de0c222a9c5ede45d89c4d5abc9daa2db588c63a10d13754690e823905d2dfacf75da581ed7e67f858f7dd5ab894052848fd7c1d49011f7c0bc168c99b68e1f588f479c001bc91aa48a6ab94577c7bb6f20228e38da1149a0be724344c86aaf772fa60f5ba3f4c7d89c21ea1835b03fc159b8e75253abde76b3a45fbcb6f5780df6d8d142faa9f76d49f1b99c21003573cd2f52a926560c77cbb8b01f8b82be6830036196cbb0d1a62240016c55de56036985ec98c2cf57c639611cabaaad41726e0d150f5a4d45d90cc77e804d02683e25b24bda9f6c83aae691039225ae8bba727651ae911ed78712bc5d5cb59555df8d77e327883c594ef3a3b02cc57ef8620591c26c263d0b2d03b06f179af5b0d0b38d672b02d13ce05e07bb707c2d5285732aae0632e240201ab7e945da87d1bbe1860b548e6ab852bfeb72895f9b73fccfcfbe60bc3f015d9b6f25d34c3b93b51f20a98d53dd804354f308dd95965514fd75a4dbc76c9ec40533e5d0e5100d1d1b26d73fb4061076a58b61555ca8786381362894b6ce3f4740742be70da3bcb7e45304de446fbe20391b253f92f4d705c382990107245b41b66f6b0744fc6a5feef54215c3c09e02ced071387bfd5f91df843ec290e5e1983736204d0124c1aeba79cebb1c0dcf5fbf6c2baea5f7d61d1c8e972bf04842766c8bf91489614af2ab2b466760fb9cb22f81c30af0c77e414d63f946f5d94a03c483dfb00316ed917d32f0962c0f091f347828c27e59dd1a6705538bb6408e577927e7e8d1684ece98e4a8a498ef5d4db05f606c4f4aa602ffecf984bb8383a2277d3603278947d85a66cb1ac2fedaad44bde2410c61948f4ab942e5e10e2191849a73af544da45a67a348832b4971e9f4db0fea7c6597b373d59cf2aff85565d7000cbc94a455fb4d8fc317e98e15641b79b9cb2272de87c23133559ff9ab3e04103e92c29324ff9e112861da0c61a22dc02b8fbdc223c8636c6b6545542cf9564b2d8377702ba026b2ef6a04b3a42b32cdb401740669de85077e942008adb46e4c75ce849a1ba09fe8e319ccad446777e20c1078d04fdc1541592e009eb85aac602b5f2c1b7368d74dc4ecba11397f9f941aa71ed6ddfc78906b1b68f5a51117f60ae80f0d1f06fd4ef6bec5363b4885f3c511600ab62e44fcc1683bed1d4316e0e33d92a3219fa260e170dd30194c0d0e5c1aacc184da46a56eb252e4e0b4579d1dc451f9b94f27e28bae9c875a6eab3e15c7d247af70c73c4c29119511bbb1243282cb2b5a4c7cbd3cf3ec487ce512d8e30df851780472baf988d49cfe4b27c6bc1a514ca415b39684cf841238bffb32cd4969f14318f5175e882695f0390b54987d5008fc1d44307317a3e20590529afc080937529a93408bb773c7571b0916c379b1a22f52289ef9813ca3945489d5d68646680ac3c6aed5cf57282b64f51f5e44f2b166428ec043c53b3003f13538a07b3a9601c0e934a5d04f912610a6f839d14f04bb26b306e1d454ee2ccaf16675e817ed0aba54497322317b01b52e7ca8306aaa91ae813c937f8bf63b48aeac8018afbba1cea958b70fd8fa176493851eedd07ea8a441cfb418b0ab4016404af36dd63f33c2ed77bebb4e61d3629fc4ee0f1fa7a0a4988f9bcd86e8ba94d5cdd5113e6e6f7313e13fd3792489b5f7e6e57b5036158ac5364301c222cf0d0bf2d87ff5473481ccc049f84f4a45a6b6d3160dcc9d27a7ee1ec4c5eafba194fbce80245fd3f16892b42f0b167e920ffb8ec8c7f9062014a7f987516a60939b6dd5a3d3641a182dbfb26704d658f72b9f1568893d4fbc3111efc79a83db50ed4fe2cb09c436798628c714cf213daaf5b116170d613c74c3d26c8e38f8b0143ad593eba431f3031863cc3cedcc8bd39dfa2e74adba6cfd759aed4e6c6b1068f796823c66ad2794b942253379a1467851fa767786c48675df6ef21c01e01eec9f7955e82ba1057398cbd6e1786847272ddce6df6f99295738d9ac51c29febf705f1a60f1a398e8095afdb23e1b9904cf68573c91a78bd5ee3c92873a943b85f69292542e220e41c95bca2804250a91d12338a436019220718f7ae7c70ac8a4fb0c897c7de518c80921f5563a2389cbf2da8d6199b5d2315cb417ef30b218e3a8990cdfba4a01f4846cbea2adf6288dc102b0f94871c00d95534ad854426475fcdcdfa30d49f755ee224138c2f687672fff53816d852796ce4c4261a7838179e0523d919d1b2f3def1a7156f5c1fac19432a058291c7236d02a7bdcc3b025a91606651f671b393edc357f89655297cc0a62a204ac1cbafb94c59ada2ac5d3d05ef153b14fa02cd84f83ae45b830dfb0675fbcfd30ac373176e53b02b645061f0a0cc91c925be503c44f886442f2743230dc80a3ccd8286d6030c11670c2b1f1967c8bc674b0714aad8d45c4fe7703adde9b7edac9e3b49ad0cc6660f29dfe3fa1a4d3b1a7f35715b61e8c0e1c4d562e3e8f6c32a909dd44650695361567573a2aa8f5f753451c5437138e25aefbd2982f23fadfd4dbf60e6318de7828f28ebf2b64a7ab110cf688ee44937678200092b596948a00377abe1d15a6e4f6ee0a734f6cf7235f0a3419c4bd2ab3f7ce422e2ef28fcee6add750c358573d3f8f34e2f9e02f66b0370a2cea57a09bae4e041f180fc6bce51461d0b278cad138c5c50a7bcd187bda1ce524656c4e13a0c9a679bbbb29cda892e3ff52bca8950d28694a2206bc639ee2edf9d2226aa351ec219de66d27cb89207b9f2300c2ee790a9a0a0ce620e46a7676563b54f685ac1063ac8be9c73543adf2583741bdbe9c31c11d557bd89d0f32d9fc4af0d40f737b615f479f6571279c6279aaac8e5474749017ad271f5f301e89e55c4274e7588127e22d2b9b9fe52c719c8b1c72599df23d08b83bdf4c7141ab5daff1c1b93b25354b57c5a804a102e0a280becb9c60821029ac836a2d6cc9a3fc114f2b62f570dea08efda46f32fd430b63af8ca74c3401a1e93c773fc563b3ac30b359cb247b718ef98e6c8f003ea2e83751d1efa2cd859c9b8ba0c4f53210054a2b58b2a820297e6059e5e9952a94ba989d1dcaad189b4ca960f7c1bdd4ba75bd5892af733757dcd86fed28d8eb051eb27f7626de32c0668751e492f5423050219c57c619910ec3c147326e8ccb1453988dbea7dee3c47cb74ab707ed19bf163cd10729125b47978bd91726cd18c6aaf8396781348264efb5baacc4b39ef399ce2ce2641427edccc16c03940ba514cb920bd9e0d4145cf01299cdd51b2195a3f163db2e262c3666af517fbc4ae6121d6c746b23bb3b3d69f9ac64a0750eb885bc82bb95fc4f5403d31300a51900d50e8911096b5b7b30a82b94a1cba8ef00ebbb2aee3a207999ea74d72223c68bef1bb89c3157fba2e7f2585fe8f210cb518708625c5873ecefb121431cadd52feea61268a2955dd88130fa19c4120017ed503d9a8b5f054b91577fc1313a9142cb33d170aa38ce68037ab90e71b0fb61026be27a263413b5d3b75da4e8ecb9e998e43796a6aaaeedf777932b9ceebfcd65c7d8bd19aa0ca3cf11763848f0907ecd8befd043622a5f32c3f348d1889f06e6b95125ec21e32af4498133869137746ecdacd2ff7e05fee8c30519fa7064bfd3b415aaa2ef5316d63ea22fab0978ea4f7dce80aba3bdb996f18b6c029c3e638fe9f013312449700c415a5e3a4f74af712db7a1ab2f4825a83a7ae77bb99858661cdc19c49967210b4c3c0ffff332547e7e21f6ed59d4a15df992b8127928176528690befe216dc69e1c44d894357dbd38ad88cf88f2026f36bbca2ea88d56bc1e899901db0756d39a44aed3658847597d0d6b6ea60d56b72f52343c802315d5d03d7a2d8861370a7b3a18830fdbc3e2973bb19fb95490ffcdea3fca4b1ab7ff9679e1fda9a7cf4516b808e37e7e668e13480d7277f0cb143c61a274c743798a9645064eead871a989a5168f2f5362e294ad37e5931479f098755afdc58e6685fcc93dae7eb5895608ab71e7bc578b3c60f5a81ecdbbe8c41b62b17efe9b0ed50dd943b440be93f65a8109034992bd798e03423407f2655a9f6656779d7e8890b201640665cc78733dde5e139092e5c5cb3363414c55943727d4234d91d2e6251363c9da7de4e81c5fe4ed725f30bd1a3f710c73a90a950bf2ec340c603cac51a07801afaf1456f9704faae6e23ad17de75bb29bff0639239440231343741548212266cb4c844a3a7bbbfc815424bb4c0319099a7b4b835466e78a1b0f34045637e969ba4a7cedae6f1f5000a203543496f7793d0e0000000000000000000000000000000070c12171d24313c","message_root":"0x4effb2d2e39a86a2f03193abcd221f0060ada4c9a25ad9390b1650d97db563ef","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x36a8f7929c9ebffad586c00e4f50cf97c65cb06ec4dfae94843240b12af54664062bf2f8f2e14ba1d3438c0af6691b5eb9217e1265b1026988bbe98e0a6f581c3addefc5501158712fb12479cde38fd8fa3997fabadf51d692d5134609a3dcf08dee0c8767e8d3fea61dd7396edd646e74a3dff989b125f53c0f45020c29345f640d7567d427bf884d1ba80ae8fa11feb32f349e467759c375e57c3d3ef55bdcf4f100016ed71b891b4cdbad5bf59b63161ccb84d52effcad1fb02c6167898411883fea5f60a86fb15d0a2b3e910399efe163799ca4c0bcd8d9da59de6602dbc555e7e719c13d3deaf859034637df3c137927dafa6e3c6cdea49e4bfc692bd5bcaa7064c22873c23291c964f2b7142ca3cd76abc5511932b9d319b24afce5398aec632436b90aad2d4fcba421677bb35038d05826610337d2ee5e2bf35da793bf5df62cad563290c781be1d9b500907f0714ef80c76630b3c1e56f076642e1f92d8862355aba37cd8c0d8e343d9137d713b7925b7b50a75d8686133fbf1a7bbcf074445fd53a06bc12404a773d4a6ec391552219299e26f4518577f3fdd465e08372b8bda7eeed4f268d7e82105371ace621808011e35338ebc1277f9e11e9e233b8854f84dfa2277a4085a01ab8d7f1d7b9bba30768f2c6e9561a3126f9144c95e4f0add0e4bd0a09c2f16c6e8009258573074e8aa8f8176729a925dcea302c91e220531a4aeba4dc1a9ab2ebd670dba34a104991ef2843d90162462497e5a40ac00b19ebb913333f21fc0f2aa9b4a79697961f24f1d19f808a84f9f8e2c3de7b5d4cf91bf1e52ce43bc60c7bd87c8845e0beca383073737a30ebf61d277d5f97b39d4dab580fcd820055832e34f4acb052b4d0edbf83b23aaeace77791f9744693184c384b11cfa2d72237e9ba2018306880e860d8fb1777f614e857ddfe3ca4e4623f2dfad745e6f693b5a0bcecdacda2507cf6b83b844ad989fa004ab7cc7f3241be140b6a6bb855792750eeaaef2b85d84711cf165ad5b61237c99a5b209a5d034924a27aaa5fb1c6654c70c5b2e2e0d0ce4bbb6b8f8cbbae2d86777a08b4e1c57e2e18fe37ef1e38206cf74772a22fea5735d24e08389edbbccb18ae787a6757b8826e7ef13ac32d1686f89104a0a529933bc16ea6e1e81d5d60f6be72f6267d232875aa976d2e70de0e6602ab1e7d0afc38fbce22e73860703faba50106f7150a713f5d14e66a7417e2ee0bddbf14b368af49283700524cf0d795324899b046e9296f3af0f30a83d564f04c784d0375f3aba5d2990d7695292a57c2429b387dd76dd28aef9a29830e45d1a98bba42a9220b28348ee1d422bb32e18aef39c82a93e06c0f8df09e7b551f5c95a4d3444914a7950901282bdccc3290a82f43e45da40127b4aa2f82487ad347eb935643a977742e4968013bd8655255f44cca75daa8b67cefbe8f03638a58c1bf251b3f63dfdfbfd6b9299dde0326306727beef346f523b45bfa2b3604b70fa7a8368dbc23e4626c157a992fa4b9d2be337076bcbbd506ee2a365864c224b5251560c60ff11e3be46a6b51746f8196366473ad420927c6abe5e50f20ec49fdfa2d52b7a52ed8675492c3cb47b314131f9930d2e2c1b170c8bed57fc27b1412377cceed235d76746a90b2d8ca8d8be892692d2e745a9b49a8df675b46b87588ee4e9b9b12da75c9e6076652526ee9c8013b9cf9b81c1e37d3c03d47ec1cd15e795e6b71cb812671a3d4ad4ccbc85d478506b052ed70c2e598c1001ef7b56144eeb8bbf30f77c2b06842874759918ed41a46eb65fc6e49835a1b4cbe4e8d8dbc10557b88c41321afa6f4e63b5ea329bc2a86b3fcfd42506a6fd8737bd72b90c62a07021097ffc7df34a4a899594e3f73d9b526c5740521e4ca10fb5ba16514701efa01168735352aa25f3baf77592961447180fa7db145b664f0690e77766cfc21e982e4a56fb2b498db9f8f742af40e21b2f1d915c8ed31f13371e7e4544c5f9fe16682dabf5a40085f7fe97a55efceeb43a2f96b29a78605ee31aa5d4c1d3bca693651f430a9fe79d81aa32c2e2af31f641eb4bbb480e44e51488a9eb2971984f8733f89d6e5461753e6aaef0c454068ee9c368e327a7733e258e73e063ac23706f4cacb6325d9419d14cc4fda69838c6db5ccdffeaabcffa263ef9f4add4dd0bf51f4522a9f7a015af41d8aea4363a1409868da614d11c4f19a80f20e19c79ea7819c7f2edb1a0117dcb77531d72d0bfcb8f76668800db9cecfa745e9d9c8c64efa551c54c0f15ad3c1c26f50a365772a65fcf581cfbf711f5853a0f0f5e98b980beb86668a5c3f2dc1a2f998e21f9dd17d90112debc93399d6c5a6947fa27e6595f00c0f849a65091b0c19f6e403de52681aa431898579c827c43a529e8b16ad0dd0de96c7c072744b24d756edff3bb8eb92fa3e16d189e5bcfdb4a31c79984e903130382be6bb9b9390ca058554baffd890be24dbdac5832e55847c896a1816e91d28a034c079e0772bc16369784fad910e45ef499f2c0b1c09c747f232da8dc9c01abbef5752221a169bddd07c13db2ed07e36fd9a099c4dd0112580fbcdc439819f8840ed2565945f14ac931a7727555c0fc48189e490ff8254772a4420512313d3cae94017ea91d3954f56ef5b8b83fc9b4a725dfad27ef19a4c6606f9069d549dfea5ae1dc291cc534d779276913a6f1a9898172a8fff140d767203a22dea63f544ff53238bfa1679b23f3921204e76c4e045d0a36f99177ba8d4b2c09315647135b6ecbf9f2020b36df4390b5eb4676266231107328a177bb700a027c6f6cc7d033399c3362282cc1b5031668e36714c5a204fc53c77df77932e2813c537206a76d518c1223a0d8306f3b59f48e6ac5551676ad68f62ab6cbd7e171c1e14a9303cb3a5ef1f5b8236185a5b0a38ef70beac4f96d0b4564d251b3c06abb5fbea28e11cdcc4519c550f136a03975040ceb4dc63a64e6e7f4ea0ee6eb2ea76c262cda2b38615e40509cad05c67fa0e25fb3c5539c9724455e3da9638afa13a38e4fe14a3f2583adf3d7f81b6d8cb161cb569a6ebe5073f1639eb896c101c2b09f92520fee9df62450ea61b9648785d3c4d6c32ea80a8756e8c5dd770d9c003ebcebd4d14ac73e71292161ebc91dff50a10c306dab5af2c0df731654f0c1cca270692dd6d155a14418d40421d4dc46467a30c73b3371b7fce8dc9b306bc15e8b2189a46a61c0018ab58860f1778af72d992e1f6fe99e88d408a4e7e2f8e4b2cfcd8d094b5e6a276b9b10356eb778b1cb598ce28795dfdb2da6d6e9fa664d10061258dc88ead825b3cf1ae9458b6cd6846628f8dd2d3795d5868bd2edde8cd24fab0b80f56845527a734c231d3f568f4b38823075886b0ca58fa57dbee1228f7a6c472390dcebfc027e2b8efd79155c244a2ce4d30dc87545b7b0f628ddfeff00aeaf2901925bbbcbd34eae7fba4677bf54af2e0de65020aa063e33c7135cdc855f473c8cdba62f9fcd2071bacab8a0a680e42c15f5799edc84f033f693e52e64f9a57d2912a0ab04e247a8a43750a8464aacd539bc461b1c010bf500e9a9dafbf76e94e6c8ba8929c280582d53e9cefca823c7cd724c70db1ee37d72831578479a8a69492daa18e52eb4cecf6ba5f614","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x411286f8dbdc435782802e25053a75064a647abcd88bc4acad9d310e3d523d8e","signature":"0x894ffa69424b05695c828979d055b0b4310257c86bc32b1d43114150592e34c351fc68c18c7953e79bad412ec0ee322f2ada8b89cb1204ff6af39c77cfcf53f8268cede16669285ea191aee0ecdec8c775bddd4cbb754154915d0ffb325b4304279bdacfa9d5c889b7beb8e1ac90b0060cb0d42bd5c4ab24df87990e5597d567fb4f710f27b15345da029d3db108b822876599d72f5ff557f558f4e56c823909626783ed33ac68741e254011ad4d304d948d3a955413d78b2f0a29a3bfd74a06912a99cf4bae4d97f8045f23bb80431d181c349c7d0aebb643842b5e5544af822cc3869d6165ac57a6a07438c26c583d6480c69aec441a625dc570dc366c5e87852e54cad3f1f08866117951c34a68bdff4ca58b06195cdaecfd30f5653b25d429165ae1ff1f38d999165229f9ca5763d5431ce8776ba34989bc5c3fe26f84e534a8a0df21cc407577c985d98dbdb027ccb104d94e6508b46d47096416df335779f93d181020ea67197a814f2f73c9666e14c78d91ebd8d5f928ace9a23ee7657564735635edaac143f597cedee2d6bc290f1355316d0c32bdf87849b5cd7ed412c57a17dc33aacf70bea3b060626207f1d2061a401faad9501142767f38c27aca43951ad832b3ef1a0af9c21d76e3e8830ff2a383e9c21386e53f1506b74143e54a9d0d932208ed6e7f5443a8edfe582c94892213c1c4fb8ae17249221a09b312e80555f571299164ff136f74d3523cd8f285012d368a37b2cc80bfe8c883789e1468ef88e00a0e1e482b215023252231b8cdb96cd05a4d9ce8365f32a25ee7313255dda4cb55e73b6b51af65e9a60375d21ca6d5f7684bbf133a398a526ca4e7a4431fd55c8dbc9fcf82c5893ce5d31a4b19e569420fbc90e7903102d0eed619b6bfdfe830603fd176356f574cc95ecad9f40dc29e86fa3c257d745156b4c2defec6bf64a14af091e7d93e93d5f4f8d1a6f6e1110453dcaa85359b1ec8faad76e75f39ae5ab99c92ec754995de592cb2868c6407cfbfff48d5dcc57c10d8bf76e4da63c6d1c1ec0fb54b5b6b8efadf0d6e832f1cd6aed5f420daae9b998292507688de29795428edeb9189a0711652b9e1b281138c556c265655c5f101a00cc1a061f4abe72ca347190732a0be7f789d9ac13401903676bd387bd14a7825650b76503290fa7bf4b3dcc73d7129efa24cd5d4d511d974f1620744af3f9d4185f583eaef2522c1107a89a6dcfbe4a95bc310f574be024bfacfe5c856ed55a327f78343e5e1ec43479ebdf9bbbad7b88565f4316e964302cf6489327d49567f20d8919d2d4cb785642d51b9e2309457a877dea1daab00f70dc1628aa9bab7a7b12e45770aee59b40784b7ddd753763d5ac13f5e4ef44db4220ddc88f8f95258f04b7742765217b56a6fe4ee7705ba9be956dd6fc581f690d9881cb41367cb27f0c835e6c4d386bdfb6b23c73e570b876065e8eccaa40e4d922bed48366d574ddffecd49398bdc616e18380f1a3504ec49ca8cd8796a8f37b1761d51029dc7c12353c7fad9e5e90a8853164f65b40c70256e8eaa6817aca8256f9b9586529e20b846b56fcec4805156e7b06b12ffe283116a20307c989d6c5f77723d7decacd2458162b07cf6cea4f8f06ce6394926bf29c6a759d787b1f42af102ff4e53e9f1691b669db814b4e2b835558d046f3cf44acb4b728a890e2a32ea83714e86ada1679e8f85ecfc71d6f5cb204ae5c42fe5315ca5181ab0fa292fb5b2722828f488be5f1706aec205547bef9c48b3cecd53fdf6828ed74234d1034a8c91a16b665e0b4bb52ac5f417ed4e36cac6bd7c5919f33bbec191206299449a43205f67b48a95e0902d4691d8b2710dcf8988214e7b270692309c808ed6304c20601937634fea88d4db99d355e92799326ce59c57d62142f98f1bbc9c9088412ad3d872e197c0f6a8318d6143a0f2d49054355da5fc325527e79799260fdc146ce969a4fb58ed78d42c4dbe8346a1e87d6f621578cbdf2cc796f6fbdccff26c1b8c926bd4c760c502220aa8ec9cb3267524509b1f5b702c18498a593ec453a0c7c711647e097dfa805b8e10e72b06479f3eec5d46e2053336a1ad79dd465ddb4ffb236ee48d78753c8a9e42c024a7175475bc8e6b814d591b8b198cd3689aa0783d085ffedd721fec564871cd2a80cb8f3e196836980ef8a047a1af6e7965a55596c42b0d60e68e3d20e50d07a5436a0d29574c55146c741be7c9f37d0dbf9a7fa1420c0feffae60f44ee2dc72b4ed60535bdc6159b21cffe5bcb2f92f1c57324e61f4ab7ab5b12741cc947a131a6da9326c33e9d4348dd5588fdfc2b055000b0089a1becd3e4d0ee4433868d245c5c0598d2e7cf2ed1eed50a291eff055321163bb060e65dda09ea136d72f4c79fd4626da185a0f3694fe9038cd34b3a3f6a20086bc19601842e40ef84ecbf2d0ee09f749f0bb2b2fd11ca8f445e8a922956291906919205c9238bdfb4e539c95d2fa3e33f4dcacefaaa4252a7a4f0efa183f824fb99e2b02774ee897c51e7520c2c17cdbccd9ff9006d36b979268450f9336170b57352224455686ff9208dce5b239437d871eaea652e06559b4fb25b19a8e166ef19d4fd9a9073e057d218748c020eac18423e96927d2f8573751dd5ab24350064a1b948dcf75513330e3f4cdfbc65e2afb1410f27e6baec4ee4f2a8c5b5415221b297cd3db601b70540146c429ef33f560f1108a70a14fc4815daf89385b00e7acb4829dd7b184da9d29df5d2a875792e9af2674bfdf087ffa89cf8fdeb6ceafc2e0930e68a4b4acb3bd7c5ba3c6c3fa75244d7c6c905099df0715d472e0c545c24ff914ad622fb9e6c4568a7c0d84bb29ce42dd720df0fe690861a23e53b40b3c18632202746039ee97c8acfa24c413f900cf574a188cdc9a990458e0e18c7308e0a3dccf170a0eecb3cb804529ef207c6f2d548da9ab0c5afe57a2dacdfaeaf4b6faf6cb24a053046d59297004231a4cd3dd756be7f3bdd9aa5965028c32eff657fd6abde4b12871b3b00f6933fe58cfcbc7e23a10b2f3f434f7ab937f5ef7cf6b9506feedee6ace09cce668635f3728452c6497f8e53a1e37be325d837348b4c28e240555883b3f097367e0a06032b8d3b4cf815f4670ac59c64de546b8115252f59fee3d0901e09a629c369e3e6bb51308a502bbfe1b5944f517a41523f45f446c78f81bcf359d6f696d47e489718e466e712b6b824f59d753679ab54cd02ee2ab57400d2f8c5cc22a8ad7a17bcb1891d9fbf60ffdf4f275e786b9ce36b33b40e02872c7bac30dab5f33604c17033b88f290e5717489d0b211bf29475b48f1dc6aa3e59f8208a67935c909e8cefc20ac4387b8249cc85b7430303a476ee7de19f3c50d286e6101a54b54c9842ed78cf9f095548a4ba2444a776895fd643f444a18de5c43d269e8651253b819c63e26a8998349876c1ec2148d3f34a732a6a853908479f225f33fb749971fcddd7da3decf8b5cdb4850c951519827a9e59224b78bf6e9309f9c8f5429ecc436b0445afc8a00c6b616cd7ad68c4ef56b90fd74e7961e1a6b267782c54625279cf508e456d9a993a6e2d114f95f2cd0f6405550c3196164ebff5c5b28051f4451c3f351bf19573c5ef6ecfaad39b8a7135710ec5e1a507e56e012da33d03dc4fc9de91fed9217f10c27d4edd3620dacce4cf494a197d9d792585561185e4aae72f2fd1913ef1d48de53972303a46b06f994a29263ab10acc5a166acddb2dc07ad9e1a25d98a58266c9ef0cf86522817e4db6cac1816386c251e5a68cc14e5d159ec2367c8fd5f4f6e52c354005281047a2a06647051f79fd78812bc3ce1e7fec1a9f05a40a9393778039149d876e4a47025b7c52faa84acc6da7228c3bc0de00be48c6c1604199e003b91bad9b5222e4f3c4f860bea1824d78c74a8b4198c145b3c9b6850c7ddf086f4511cb4defe3ca3c4837c05d20fb62f7f6f4546c67962c789e29612951f519f656fce1ded81df32d6edfd9e9c1d2b6e082520a854ab7fe5f6ed868184a5b785481503e018e71b2a2004e00e7f09c596f69478e6eab99c6ad5cce857f97c77d7b1f652f0f3bb8c283cc99fabb7ee6e3c1c2515a06ef71eae214cce7e6e0a9ad45dcb10a7726b7f23b5989ad20a18e86a73d5d492c0beb030b69c33ba2d1c4a637d13a6e47e25215dab5b42ec3267eca7fc1e9cb3d7d79d761531314c87e991854fdb24515320a629cddd475631bd193a0d89e4f81263ffc7399ad837e5efcbe52273be8624921aaf5e503f7f2b50e5f3489f5d79273bb258d820cb93771638dca18bbd008a02100d7f0978390cf2a00f415aa84e44e1cf1aa1908768feb4f450559af67289a47d432ac291848b95d4c23950efd95200d08dfb16567a9f204305213b3de20e63919103af505e6449b2ae21aef8395585f112ebc97a5acd45ea448cf1777d4235336cfb431a25a3468a107af190355994d6424d89d7f0e8d12672045008ef909fad66c4e08d92e7e8d1199bd3b7a0dd5146cbcfaecb4243eb2f5fc1a00ba4069bb7d0568442432dfefd97b973c0b1de5481b15f0c45c688492b02a7d26eb8c3407abea1b6dea0ec70da86a04c2103250d7a1996d13465d55fbc4955964311753359681aa0aa08656321d3812bff1cf195aea122ebdfd96e18102a265f3c9602bb90fcf6448d248bab8247bc35e462162b0565bc20af9fb2ce2979e8b531b1e0c1261542cdba0f898b6aabcd96db739242a53cf58a589e507b394774c6580ece23da0e04e7525a7ed8994c39d7322b50905aa10f58827bf525ec1de362674a98d0ff7f4ae51f6a2071966dd84ae8decf9aa24acf0b456ce4c152cd236595d5fe14d9ef5ec764de65ed1c67884e71955e5838be124443503abfcdd12c82fa6da8e463a297cd1a2c686ec78e71de90395d5b208fb6bd9a40c1895f5cd5219d82d896b897cfa5eb94eaf8cc1a2623ac1887ad005aa8c6b81293aecf66d04a5950b129f1906b56b5a9066d3a303e5c1ba0b728a6f846e9ac2f88131e0cc0cec634264bd7b8fa72a5e7305efdbb17b210cd84b7990a6cb15705505136d2cb28357e6e6f8a39967c635ab8253353df691d83dfc13b251a41b5cb0191d4948fd83bc464934146dab4e84548f13601a651ba749efd3eec2badce87873930c6c0bdbdfb443bf5b3e472e32e65e27e9b3f9b99765785f0f747a763b8e4777f218fccffc4fd6601907293971721eae126c99ede2c12b86db7e93d95badc3edae05893219942fccc90a4c823523015bf6bd8f4d97f630896bf2987be1ae2a6c9527240adbd73fe93e36578ce6ac731f5fe2f2ebb9ba926c4d7574f1f482306ebe72a9243ae56fbe8f4cb224bd3a360c4f114f4ecd35453caa01f4b247c3e2dfff197275b548f6fd890015bb9742b47e595fa6a049456286427542d7677f5492cbcd10e806c7bd9b7efc76e1c1fe1d98db07362138d340a650af348ec43690d67a041c07e266dd6e203c1e24355c88303d332fc81567eadd1f376758760ffbfcf133c91eb5e21fea32d78aec146331753e171155a64ad03827a7d142c26cc883d38ab421cd00917283e4684c8aaf2edec72026186a2f8e45c5f13f24558bfcaafcec3b1022b41370395da5b01a2ea3f5224a280ebbec1f31175a1d2c4e1607eec439310cb3ef418bfc7d2af343b283fbc950db485c92693fa98abb1eb3eac599f683c2a7fc825b82ae7ae156a3c8958d5851e4df86308b7dcdd40aaedf12645513af5015bab5f005f38466fe6e7e5bc5dd47f42e398d09583043f6c701fa01dc1c9ee2a94d3db4d74c2a1b0c89dee95b8c7bc0c5de35c8f9e5c57df0a7b72dee17ad555c4c50d7837e05ea779a188d8f9110693d56782ca9290ee1932785fda475fb3bc121b1fd9b86de7e0856106b313af9817e925ce611f633c85f6cc313fe409d05ca8a4ae01f34130b839aa610ac38d8f2cf6cb7156712076c73512f7c26263296cc474f3f85029ed92978bb0bbb2787b605017dc11cd8505fb5125503da407624ee5dceaf4a27f414f3a04d5932440a6453d1aa310517182dea6be7f45244cf5a5b1bd14b94eee1821d213f4a79b0b3bb41e8e61a5051f33cbac4031314f6e6671fb8724aee1170a8ca96d62b32500034d83579e15594ea71f823daba0a3226bd3f32b9ffe4e9f75c5d1cc1f60c2204bc8b3c0198d9f6240841d5486ca4619d9e003980c941b8a1756c134900b155193da2f5c3c3b668af11d899e6d21498dd7117c900ba13775b0898fccda9a92fd052642bc77fa4f157291a33a6ed8d03be834736e1e699a95fe68c29e1fb9b2620c4046b669a1eab7d15f5702ed6f3c543d2c609394ce59c52244bbf7afb0d4d02cf293d1900b0d95221729635ee4b0365e2e5efe43eb2f3a86318185a1e51077c0920438cd2e50b2581e80b2863b0cefa548291a2acc2dd11264ea4ced9dcf52ba9b8c7d5e4ed031750939cedfc0000000000000000000000000000000000000000000000000000000002080c121921282f","message_root":"0x99857f3b71428f2c3e870bb0c7775282ea227137b2dc08bf5fd1774859cbb32b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe2c23203072648e6ddd095139ff6fd789e8ce94537bede707f37cd031571a3ba61f7e6cc43bbba5508d761f88cf617f4953e7bd1d62e03fbb92747ccb8b8b7a86935a1530a3fd703a8eddf81ef08e1add8c13ed01313bb820f42612c40f94a21500c3266781b56d158791db3511f83fe610bb5d269df39d6bce6834713f6bcdfaaa164f8edfd142b04808b54cdbc53bae285f122718aadba6c3f8d9c33499fc273a656c9981c8348c3be24f5c0b019de2923e9f8e7d5c902d5168ad4817f8a8be95ae9ddd524812c2f7fcd4f6acb243b825263533ea52a7c07b4b1373bf70b3f26fb3c88d077ad866ced1224bbd476165958ac8dc21b43409aec1dd2e51c2fdbc2ac72a61dc5d1345c7e36de4617efb36786f59da3881e842ea5b880bfc07fd8e969892db426a68839ce7593ffed06a1eebf5fe539b01191ab41014675101379daf8673a768bfe13350bcef90bb31b1d4e9c3cecb3697ca45f1a435ab625c8632f43ed57da7f32dac5bc6e297e979ff644ce14f6b230bbbab730d357425caf3b79bc3438df28cb4ab33f63a4a0174b3744e7266d0e47e2e00b86c10d34390294bc35b12fa5390d3cb08d77e26b3b8cc80a3d12e9465d6818a4e4c97c40451e9c04eede8df9340b7edf04501ad967e9584d9757345b6c52351181bfdf8958dcade799f90ceeb77b586a95d1bd1d71de9492da8bb8d72a3a29555cc08d1f4e508642f549797899aa1dbc0a8b94385307def2f232e1c6e7ea2e6e3ff1afb35a0ee62930191cd51fef2098dd86d8cb212a33778e1a8fd555546ca793b04146ed39eb64534f211e09a95b9b79ed7b20b5c0055c7c9defeac4ecf7607a3714c9f4c45d9c694ef8250f7e0477bf47a9b923bef4abec69f1be1e2af10d4341c34a0b67f07c1074c2b63fcbfbe6044f1dfdff4bf2eff03e3ac421e4a681c3640b330530918ab2f4d79768e174fe852f2d744e65b0d1bb017addf8b45a2bf96fa44989d8457404172d546464f95daca161137fc75dee8420ebec298f718c80c0ef014a467e1e3e7505e9aee1ccc59c14ff54dd394269f6e6b4a52d18f7ad0e2e7fe9e4a9b8e739433c6bc6523b967d4c0378e8ee251dfc7d1a45610e8fd1540a7e3775c7c379222e3e58a2991e6cb5e576703549388e91240fbfcdee22e804be3b8e4dcf528ecffdb9514fc82e766cbbfbaca90dc167f417d8b57c57a6a85bbbb955c12447baab0dc42c0ba42651471dc5bb39b913a007b4ac3a3a8604d8c041992e9da73917d943dc88b6d7f6e130bd5cd8f122680c04d7027ce213768a4227072f0174a307bcfc327c7a3607e4f5ff84fe2104167a808b574cc72b2e2b282f29dec014dd6bc0a3ec7d2f65eacac4e315cbd1eebc1eb2596047018d7e32bfa32e46fb821750006efc5420d59609644e83c12b07fecfb82e39fc7f3916a22a6da424168e9b3952512916591ca3fb5d8e42a1af17b6d9808754e05b7eada827a3a5c22dd99bca1ec4f4f5da44886c880e85f8c1d500a0c87822b4bd55f865b4ab4b6b4890a60f382c1ad7400756c842cf9eb0fd755fc9a27fb950319b3f951110e7ca75db764f84ab11d26c746474c7affcf965c69d9c72e5173b5090917ff0fb30eb7e3398e1535f5fafc63c5120e7faa0ac90f0fc30d93fa92f01b7f2ec0dc9c50202552ed9880d70763b5faa350871ea8af65c0f0d44c53723683ce08c1f8cbe09958bb0fcb3613ad57cb3833a7ec5fd8bad5c081b0d2970655b3386eac765fe15ca55782825e921683d9564835bfcf48f6cd2dfbf074baa3771faf4abf2cfa688bc3f52bb88b4c1c6d4c01bbf2a0a7499f7647e58db6df30409f991e73389266fa677bd4a3e92be129f34cf2751af6e2ddce174f170e089b159fd5457c208f29e67af62bc19988448e3594692a6916c308fcc5ea02a00b171d020e8e7568c5db5625aa1dbf7dd495f3cd4db12f01ba353137ae973ba4b48a5fa461bff06d69215cdb088a988c7c3396176119219dfbb881725d029180f35c3e785698536f9ce241d401ccd3200185f85bcf9ec238bd1d467e9a9338871a723ca6b73eae15894f79c52f3b43453f165e42ab16673190a380b976f5e249a039ae81a5dc2dce61468af0244f066d5b405495216698c0a52868d070a5b313920a3eedffa28e32df9282034f0978c1cec1c917e404e02fea18f0894be5be274a57641152d7aa0e508ac346ac560cadf47327997fd6ab6e7c281b82729750ecb0a8fbf17ace9981d77803f4d24c70741363dba2f03a5c61aefb25842567f45bd3d88e1d1a114110636288c175498998f1ad1f07c9843feb4a67aa6d23392b0db99d90c6f58dc35aa63cf765e06430f7443c8cf60f902c3c5cc7b9de90bf0b2177d0d8716b9be8e0806b4189ce9a31d27f5143a53444b42ef16c65072964aa2f1a11aa4b350df753454f790f157bac12d962f9445bb9b0d0c0bb2e391d640af093525c1f8e372b1edbcda951ab783ec2598d8da0ddd4f67793c6ae613edd74a15cc8812a45c6db01519eb7a6929da87576c2c01f648af59e1e9eeb0b5c88983b37744c893161203246aaa9a06d4182f255f08d15e2fd80cb7ddfabd62e359a4a36da30d1c82a33bc15c352c5de6c465fd12fe70221d6c492aeb9bdc9fe31428df87dfa305659e9debb4ec7e87896971111cab074a8e31e2b2f62a53e566744f3564e2f7587bfb43d3e4e3744736e8e2ec040da38f22c8ac3e6cbb97a17f556b3f56caac59fa5a181f9f659de181a564f80f2d1f423aa8f3c7b12a39abae0b4fce305fdc2ee73f25236c4e5b12971079b89d9acf0958d0d06d0670729428a7ba29e796c9e9838dedfe08dde00ef5bba6c449a3128fc853a35e177f2afc3fbc6441371177ace8d3f795ffe7b92e39be06ae2378da2a4ea41195eca4f48c6aaf73f66cbe646f207ce782730e4eed7dd4816f58ed43f330b594b9f255d6598b9f474caac62e16f45c5a64c66b88adf4561ccf93f8526b8932525673955a2887ce4403bc8da875efcf21068d2ff86c097ccb2291e5c6d5109e002751a71091e880830fffaf028ec654f5cd4a0f009b81feab15da6073aa90601f2facedad18a8f8b0bfba2875aeec3e392852fc1a363b1f9c40c17cba483aea9604ce4de00844741c55b64224f1ab87abc8ff2e44cb2ba769d85a4c2cd77b1a2464279a1fc93b838e85fa472925ffbd6d4b835f026e1048cef006a8ec860715ad0e715fcbd4b472e5ddcc94e614c6ad2b1c0a1bde452f1345a9ba362fc262ca54fa234add099e16806a090ebcb207355e37e510f49b7fc5e910744a86a787f9537211b522fe01ca68352b36b4f0de3c1062896be57cc831c148de6cfed8ad47e4e419f7491345d31717d68d7e9194c4ef3b98f202f7143a27b642ead1a31d95c5a55a70cb411f5878cf2709811333e2191951f981159d507d1601cf0c82c74e9566eacd9cf06628d975193db14150eb873d15e81283bf320fce805cde1cc71bad9c6fd9af522b29412b5782aca05edd1b88dc38bd6d2d924524445de69508e0462eb3ce05046d6c42c281edc428706e9e23985ffad8d409007869cc707f2019e95ca6273113f086a47e8a64b6384250298795b79cbe617d713e9285d2372a84cf4d2dd3d3e8810956469abce0cffba091bb9726d4ec9f","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa434767b14d2f335ae85c70802aa589600b3e13760b648b5a2b86439262e207b","signature":"0x07f10bb9b0dfae540f93f8e2f1e04634e9854a521735d5116327e5e80c2592868e8309c59025510872f2f802765f1672056c2542b3796321683b318b03a4aac23ae2d518f934368c076780abad92adb978b06513eb4433fb8099b97d9b02027e1f0556ea1f2f352b1ce62aa3e895152331f57921c906c0630074f80c77b169a53e589adad30ceb923da57f7b06db5aa746260427209c97d0904ae037dcf8e575f6595d71dd64fc474b0ce4c949423b7f6cac13734b20a64081f2035bb29b6aedc1e3e98cde42b088bf1e271a375c4decef5130b1f819ec91e6c770f22bc885c59c5195787f6d31c1c4d5d2e912e6973dbfa7fefa34c15f7cbc78c2f18bcf1b537da39a93b02440e8776dcca487282649ed6c91d68a47a89cfd9d556bf5e4b0a6feab31ad0040053fb0ea21c078342679716027f7e4bcfacb12745066af9e1ac6eb0eef6dec7b0c091bc1d6fc574b84c633acfcf86b87d0b3d636ed78ca6378aa40ed0a2a9808d7d1d756582a46825e8468c973ba1dd45f8d70626cbdd8463512373f3c1405826db0dd456cf250211ff01656b44f91af6e7aab1c8acdd3e6ef8064be15dc42069081eb31379a75303327ddd355661bede55cbf6efdcc81f2425e77e6a678719d386ca289c019e91623cfd71be27e8ecbf64757f25c42045cc6199b03378633fa352e1b86fc49600b126f397d43ff5eb577d946411f1cab7ce5a054d01bb8866be73b0fef36fa0eb7c3fe86a63883e5980d4f6ff0cffb5f07016c15d45870eda6bb8a897391cf6da4ab7e89351fa3a86f1cd62e9bc2d0a7898fd98a40d2a68bf7157b938bf521dd923231db029a22afe7010dda186d3027d00086f3d801636852e2bbdf6946864638c97941cf639f80f5d64cecbce13aef14c764fbf19fa12a0cf074afebf4d9e8d48036766b1e82f20e5e05814753662d02e14f44eb6c97f85a78522e44c34c65a9e29697e78125ae3f2efb37651b6b6623c0740224dabd5738ddd5a65e94bb919b786593097b3e1c508e0881becd0576ed07ab9dc8cc076cac55519dddab8fff2e16fa26e19834e24a5a0dde1a6c9f8e90637b8bf282a6731a5635f1a09cc064d478755f82f706319b7e56f2e49ab537c06bf8b3a53ed2776f476039ad944d9005ae2286095a846f438c89de442f77f61b87c77ad5cf7a2c31edb9fbac8da6eefa593b15a4cd119419b2e532fe47ef0f211dd88057367817f742ebc834890ff6ceb5588e309deae25525964a351e22a9ff407f64cfc4ed3419af2d3fc17ce3e7c26c6fa9ed1f4e8f4623973b6abc8b70d2153a86392f738fb29f279812dd9a15d801ce0b3ee3d604700fee6062e04c4f265063277b512763b52bc6896590e2f568d884352c3d4ef97c84a102657eac49fda0b2ed02cd72d6848f53e5a6268a1a5c6cde59b509c897842c322f3da3c92ad2ac17dbfbfcbb5d290dfa8eafde32217acfc73e860e6fbc364c1ee21d08ef23e50c97b5914905c0158f6ab78b810d3492fca75684e4603fb21c7d0abe945c7a24317e44aec47fe52d10f8c5914d083af462884c90b545f5d866a5abbd43992141bccf2c5c3bacde5304084ab3ae628fa9f3d9bf5db0e85d0244912501161cf4fa74c5e5eb0fdda42da2406cb80d2cdb4013b714c8f4d99d42fe5382d76adeb3798ddb260c63dbd6ad0f2aa64d64c4db751d795acb5c47d6e03028a414a977baf570b7fbb27c2b77d924c57c9d1b2f88e7ecd016ee35f68106cec5f3269b0517c1f676ea2d6f697017e6024df6f656160245d0ccb6e016a9b0c9904197ff364c8442248b79269550157ba88dcd57fc39e673b679432fd874b14ae495326ce15c26031527bc4e35b6b8f3893a720c20ceca4eaa19d260b0cfca7cf57dfdbf84421aaf5cd5d9b0ad6d7712a3b99ff879874c069c58a7287141820de403eaf5bec102c5706a145c5725530d14856cd9396aade7ff4062980afebf4035f677cb23c938379c8ac3a6514bd4a9b21a9f1d8bc2a4e196fd131660af4dc21aef2989f21e6e0886956e0ec56530af95234619a540bc0f14d4e550aaf013e1da33cb90622d0d13ac50c022a7a10ddb1a87a419c35118c0015a4b1399d74861b2574a4248b44e5e421cddc27f08829b071e8eb3d1d6695e1f92640f00351c0396a3f1fa41c4d6f1323913d873ab0a8547219753d2b8e46332afc817c83c03412a9b854cea56b9a854554bdeca174cb95b87b651fc995f509994acd12cd4e7332df68b06bf651ee4b407d87b4e765edd15ee1ee0325f2dac5531d64fee52d6eb23b60c790c076671ae9378f9e7f7050b3ee0eb031062a9318f53bfe71c43a9409843c8a13cdc1090f167a6f1c066317bf86f136c0d6031c158a50fccd5d3e305cd30f9d7dd3cdd6522c063135273bdcac0f85029433c5f38aec9296a6e57ce2e717dbb8c4b63490d893dbf2ed6a96462f68ecd56046c533e672b8504710952fc8c21cd8f921240d38b34d844fc2d31d16e80afa945ef434ef61bc94738ee3808f8504458087495b2128f26148f4f3831ec62d94ba49e501c0edf6c12c55bd4352817b07149745f2c33e29b801e7011fc365400294e4b3db73d34129433db8dcc12d8273c24d5eb0a2ff42f7d5e99437fa53e20907cd4bd284dba76b50c2f4320c03534b5509191eea6820e078d854be88c35b9f55f05466b0e42140cddbe0fdf56c5f203a705303332360c81de592aeb5c3506baa304b5f809e8f6ae634098720a78941ca8113001ef74b151b6252854443e417966196c27fd5351e547bb3f02bee81efc3c7beecb55eae30068f1e02cb5a7fc8df1aff69fdefb1b5b9a13b164800bcca9d559b80021cfc8b0fc212d14c41c8a67d840accfa3c3cb68383f5bb9f1cd18d2f7203887383be612cbc2caf9e9d051f532f4fb0be4ce2a0ea5005da7388f03465b3b343de4273cff98d47a9e7419c72489e88c29505b08024b504a6baeed58f6f75ebd6488535d7fd3e0f9c9007551eca2ff4e98b76f58e0875aadad83836cb30bc12382b7268fa2cc2f311e7747b78ab60d6471d9dbbc1d50a7125149f06f47fb493951b2c7184237dc350f8cd7f1aa46a218a3dcdb971f679348ec9e0ca46b3046f3cae3d7e7ef5227b2ee51c439fa9598752a41f9d619def026b32ee20d3a3a382966f5856860ce7c8aa48f29d1eb952809aca205407712e01bdb21ddb1ea530475e9102ab11ca1c5050b43840a6ee7b6320a584e36d2208c3fcbfab26e702b887c7c0942fdd8cb881e339457d76b3bb8a68bef5cf0a877fa3245fe1d7b48db2d5481292e7a43ba50602295be42ea0b16e568ef8fa157d3dbea1a553623d3171ba2ca7a9271ddffb08146641b6d6240e7ee7d66f49aad0b0efc59f4ff31564d6fd7ff18f77b9dbd6236c4d9135c1d25f62d998c598fb5892ceb102b5b13a8d6ba796129f26b08f2f7427f9b80edc64b03bb1ec0157faffcba1de7e20c11e500ecf08164eba4b0b921c82d2adacf523dc435bd143b36bb77a9d57bb6090c802a3a7a2e1d0b3c3b3ae9028f39acbc298127ac23618f4d11118d275f6eae8564dedf8573e0337574c8bfa4b62a88285e64df3f07ff8f82774788870c63ff7954319a21cc51de72730d847b6e3824bce3550f2e19784866cb1c7490158e7e8bb5d74e56aba07133d1082e520aafbf6f49ed4b3e400bcbd0a0eb1eb33a68966da7f94c84a421ef37e2747f0489378558463793770d5b69848fa6595de124d000f42af58561bec2544311bf7f7a3111b92b7d25f68e94c61adc4e4f42b7469991cc43f6ff35a968e74876cca36bd96d0ae034db15e9a4a1bdf504242823090c4886fb2cc42c271561fd4ba62b30e8ca7b132c8cc25ae3283c4cbe8ad2061024bbe662ead204416aade058774df758b966441a50c791fb93844e520c830010bbf5cb0a30acd35d582ee12cefdfe44a0155dcac7f6269692c6a8eb13aa461a7763445c546dcc7769ef45b68d9a2833f80ed56693d5fbca1ca1b054e0a1582cb16b8370aa6a14aa2d8010042cb442fa645add49df72082162e1f3dd5aae03294977cc12b5e8a481b9a39c73e44cf83cc5e0d453a2804d40de6f564978d3a465a218f11fb40c305dd97920fa4328768c3076cab615a3afc781cdbaae27177c770e207492d932bbcbee9ac47fcc53c832f46ed5280e9fbe410610785bbcdffa9a642ed29ecba23f8c23eddf71c6abcc73c71bbeb580cfd4e748d4eaf7fea00dcf6edfebf46001ae9af02f4e74a4d0f700208688a0779ac7508475727033d5bfb5402cc41c88afa0fe04d5961d9c3b80f700763efb8bd2c207e705eda40712cc8123b8e6870f839c4a87617c29ca22677d1c6dd3652ed46a41f983b290e434dca9103ffb441134a17605c35923e685b6347c80b352fbd3b0a581588745af9abb7a74234e9f27ac19a7cdb24d4b319f3fa17f91565fa33e0a8c90615906c0187e63bcacab92de2869672d29c5a93e1c76e17bfb2a931ae63113fff5a71ab76022ae6e349bc36a394d08ca38c49068b6caa5950d3121b6342f285ea431f25a26dae330f129dc720fef86371863d0e5c9c484eef9e69f3a1bc92030a2e6ec19973b46f7767c5ab0f0bb03dc2762c7db4e753591a9a76cfc8f10a5fc18f14b8d692dcd87a11e9d662660a538a819284ba917bfceacb4336ecb3ad37d9c9780fb5d15d454e35a924260cb979128fe8a524591fe2c5c74d616853e927f8cfedf871f8c422dc34a028455e0a210528f83517c2a72259fe341d5a17e4db41d6dd3975ec1ae7838f7f66cc3f220ded447b09096c352c1b50c455348af8e9dfd0cb34889b49f3a6ce510f3e02e09ffb6e88c5961a446a801109e3d4127c3f5587ed56c34d59785aa5c5820520c4ff68277b39561ed3c5471ed01e7760e6f1ac1c46cc207bcab24b71aff162add6e9504b2d387bbb5a57bc14eb8ee26b2b5e1f76e3a5c98bef7eec68d4ca01e02e4ea1c0bbb4d2987841598a014c05e9a5191e2bb9f0d6b0a06f53a002bf8da2552e50a16bb9ed16b65fd1e92b6f79f8abe0680b36fe5b5d5e28f9ae7b87e3177f72adc099d8bb579ab87a44ed256084f5c7aab042ef0a13559404f8cbd0b5bb70fc671dea3179af7f9db0990d737e355dda4d8275c6e36d852be2ab436d8797049b4771c407e0dae4b1907566bb74018769c2bd04e5d4d093a8048874a3bcf216aab8b730ef674419c6018577e58e3893aaf61ff7de92694cc95fed324c2e3775aa3f58b157b892499f8771930f2baee01caf516b18faefc679632407bbbb31e71d89a899cc01686692b4ebf123a3189e71f4a7eaa315a7336c90673e7520e46c22796dead616c4fb91980557e4cffb5a6ed74757cd3fdacb96055d9e36ec466eb0b17a8a655c593bfdb672fbae57f3b6005a7fb60eb80fad3bdfd605c6c91f13bf2f11ca1337427e431eebf6c86cbf3a1c5aef651fb0b4e6f51b3b0ac59dde48eb517f5e4b31d2770b15621be667e0ab33635d512413fa42fd953ec6edfd3cf60d2f941b09c4bc391af41152fb3bc3e299a387c76952bc7c7dd0563687e8ddc80c5734a68b5ff0936748e03bb65515cfe9f7e1089586c2ac8f109d07cd644ae1365ebdd8900910382d3b998d8b94c08602665adcbfacc8e8634f30833e5d26c0d09ae93af287b7056e8f0898973211fb9d086ec3b06a302fcff6bdbccb000721296002e20be6313bff14440822a78df69a1d00aa4ccba007a93047ef4ff057bacc9facfcd28179b2335dfe38c0f10bd050e50706fee398d06d1993425c8779b8071a63da4656d7015478a4f311c9a60fac7bb98f9ff654b0161ef1a56228887b87501b697e10287ebfa8edd596a14d5577557283a490e24f2ff86fdfd14bc2e289981bb7d00058d3853610a0b33966625717f70448ecc8ce32fbfd962de5664284a4e549be98f5e0e09648206b58f29056b6db1d9f2b35be47fc2dc32280b35420f41ece7f731a0304769bfb8f14a3182378898dad6deb6f95901d3e2d27a6425261aedbbd14ec05f3ac82f2ca7dfa8ccf8b4f6d7ac7eeeefce2ff2b30666859c7f104ec81352ea972ebc72ac062d5d237131f0e908085d38dee9ac561fde11988a46e6aaeeb14a4e0be2b8405be62cb257dfc0c9a5ed6e535dd3fb3c3cfe21ecd6828bfa620ec242711f09205bb43906f7c9e4f9c9eb4fafdaddaa75379e83336209e388cf135acff992f29411c3f9eeeb52c6afe1abd38e3386a523c3fe90669f1662ec245bded0421a8788b8dd7695e7f41e921d1c8da2d79ba05ff9ceaa85bf28a8741b86bdd341f3a0f92154a2c5ac2e7d4aec270e5bf9c30840f008cc91f7c745c45113016748adef50c3271d0161d3a32807cd4925c75a4508185f4dcef684324a88a214cea617ca20fcf9688e2efe2ba59dbfce1ff5d697625332fef754bcccfe91118447087c5c6020754bbedf537587697b0e6fd1d5b67787fb6d8e0e2bcf1539aafb8c7cce0526e989ce300000000000000000000000000000000000000000000000000000000040b111821232a2f","message_root":"0x747ed2bef03960ec50e7efd2b95affeee9cc946c63c3bbd8b5ab0827c2806b8c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x4a9c2d2c5176c7508685af7208a78f30898786e4bdb56fb1bfa4f1ea9beb5815622532bba21ea2998d1a4622b6ce66f0b5ed1b1edbccc1672a18ee70962d6253ac18d0fb15f24d6d17754d597a35fe729134e848cadf20009fa8e734b0d9fd3959cbf26735bc2f2f26f412f58e721bc7c2f7a242516ee30798e3decf1e5a8cafbddf0ef0d7ca6189311bf7e3a1fc53af3fc0cd7f91456dc9bb04d86acb08b2c45ae51a09b860b7504762c0b84593550ca0487ba7290bcb20b4bf22ea75f6515d011b7593a62aae493c470f450f326ffa2477b99e2073fb36ccd6b7ebdc75eed080b3c7eea58ccfdbc10a61a75e4c0212c7770a24d1474a2adff4acacc66089593d0152444714dcd1eff6e0af4fe0e097106ed12e6f46ec77e2b2143ad2da425c6b1762779a775953ab67d62f4e6d070a7203ab19cddbebc41950db101bc7af197ef679df28e7e99f3201b7e4289788a085ee489140a4a675b184ec0d2e651b66f5de1e01f3e4a1ce319c55582460f82ec303b8e9ceb2c891b417f539328fc104879421828705b93f26393c021f93ca6d75482ed0dd1a1d8fb062c5de7153df717007ea033acaf75a891192bda9f14554525a3e50471bce213e2546b02c08f36fb61fd6664df5dffd0460544214d89c276fcaa9d0e1f1a863d4092e41fcdf59930c72b3932102db8e54cf376887d1c808a9338ca02ed0d80c25202fea1f9d6ba5463e674cd891c1cec5573ac43920bdec17c2cf91e49ece986f5ca23a1152403b272cc4109e48ab4aac013f021a00ec3b46df3a4b5b419e3017f7a0556c3a3bb583abfa2d34df880bfd9aa61156e8dc7e9b41e36683293a8ae5c0e77df8592c718c7abb36cb9b6e0b12ea6055e46f41e589e91df985f56a8600294771897eb4f8477f8b3c18b0799fcf0eb60d04b3698e53376c9d6076240b850b40c1ba7244961b0bada425d551ba606bda235342fba4605fe8433bd90d908597e4ec38e788a13380db071d3236a6c7c9ea97decbd3d6b4a8e80472eca2118c5ada6a90e8a130ea75612274948d3611930cd98f7797cbd4a5447fa39d5db21b35a71eea62ee7d85b68a152ed1a7f1b3b5665300d64a6a8c2e1c6a6d1e2951db33e0a9044d7909470459070955a385e46277f581c4dacb18ba42288b940cb6672f0c2ec0e7005c0a8ef2b8ab75c8c85fd19c22b9d06c09e3e5fbbb3b13c5e7aed1820685a3eb174fd01f6043c858e7ab85d1f0235ef1d9f52733411edf15de98c6c727e12df3041e42434f0dc8f4c814e705217f8052b842ab5e8c91d292390efc9bd0c4e15b84d5fe1fa418a1eee3f0bf742e198433c45d001883fd875dc06d31abe6456db1ced3fa2a606fcc3cacc1058a30caf51b411cca3b7b9897e2cd467a663154a965539bee7adcbe9d5e164bde0bdff9b40e80653b082a42d8e35f53d7dfcec3eadc4860f30b2329806ae4e38c11f904cb40b15991b238f1fa96839476ec2eb750d1882fb86d93d12107649232d09053d8706add188ed32e02305714ac03bb3fd63318883bb9e523b5e42781243931de48429177342c6da81fe32fed103ebee86677ef98c3fd36306a7c245fbd57c7ed4f802da18c226cb059cb7aa3c0508d9742aaf60e3d8cc475398c448ae18b823a61090bf8ee264f7b80d7ea04e29eaa9bff49e687393a5c237b186f57e45d9cd8283b2f81211246fbc24aa090c4359c46f51b8eaa8ce9a93ae952a24d7da110a26037f50494bcafb67c6b957979d43663bd88a3a9197aae5f12a1d572e5731b7314cb74a81278f976ef2fa6837b767c04b9eab9f73d49402f6ad8c58e6501a20da2a27791385e4b92c45f5287ce006080ad21027fc33695b76555b1b121ffdb444b572ef6bd576c5dd1104ba4e99e55bdfdf5bb5d7bdd02d4d8d0ad370f5fe83e07e4e60e18b9147225cb339de1043df2c45bfe9ed67d7a31ae8ff9bf8a0e8ca4feafef27f30287f611401395368340735bceba2c60149f720e34e5016ee538094f30d341ca09e775b7be54d2adc7800830d60e4f09382da8e9ff0a08fc1cb7c2cffccdee7d9f2b9915e806826121dd47990a7821766984f3904095ce45cb2361738dd050ba95a8b65ba89d8fd0788e8a7eb7d1cb5b06cb57bf1054602447cee33c45061bb587a189465bcfe3a8c319b8d2df52a2b89442f571aaa9931e2e9c590cf60bd21f73532b063193136568cbd1427f4ad8afb1b02caf67f35dd51f3386839f5aa21d1cd6e612a504d55ad9dc3c227ae34d6113c849276cfd048dca702fcf9a307e9ecdde5cfc91ff364bb8507d3e818a6d1a15ac66a02745f64be3153cc81ead57fefe0316599e67560255b57d14bec443eb338580adac61bf43527527773e4429fb7ee37679dce1ab384d93d135a1aa472b20f567791792038e4939a8f93164c278cf4de024216067af654916a7dbe9241a3c969b8a146db651a459accbba0e6fadb18295b8a4e78b9f305e29dfa533125734dec8ab0c72ed60b27ba3327c4ab3ce6ad0fe4a376b78b4de5966e7ee4d1ee13f415c3141f4538c34ada4fb814e309677f6698a7404fce2db04d41476c692182bef050005c0e6dccd6c34e2d7fe699fab4b6d984059e2e12b09d4540aa48f089b080217f738f0c75642909ae80d9f8f5deb39f72b8f67b99c9fc39619167882d3584cc60278c9d7bcb112e2cb3327250b6e33feed7b8b4f0f058957ea3fa15ff26e40bcb17b26f2c01cb48689d9b01ecdc8442b7f2207d0fc47a25010ed8654489c664956dce0ad78d0f17164c23738f0034876c84d11e13c7770ab77a97788c616cc645c210a324d459df914556f5d97f05cbf4483683a8379fb33de3ea9d90f7d78d303ed01f33e7f79b6919fc64f4d49e77cd414937064353d7f5c98f4be202fc1ad7ed554407b3deee1b7f27a2c521b917aa5b4bfba9dc1a53eca36520d3a04544c880fde49ab2750efe6fd2f26ff1a55c5a849a9b5d1d559fc75dbb802e13843e80a76a47f0d3921584eec669def017737436cb7defa693a0c90019cff967dcec8861878997da2e1884e21ce96406ae9adae0a9df39f4930da34eb5ecdc67c117a9bce1eb80a52aa29d2e9540d226f56a1149e7d5dc85cc455aa6baebc3ee05cc085cd3223f8030acd94403b46de14ad5efafd399f3bdcc229d32af553314f03f00fe9007c06390aded5fbaf34bc145cc4e72b9fbd3e65c3ff3cd2492b821c70e9138fd2f327fa0827412d154da7c01b1eecc4b472076dbe5e23154f9bc46cb0724a7d9526796c89a0301a0cd0b6b320370d9b7e37f881ab8aecb8588f06d10a8649832ba276e686d98cf3ff2aa4e57c0902a80ed9476128c948b86c3bec161f623f349bcb19b62e1b398f4cfea8506a64285f7cb3011052bf510929f4308f11787b5d0b12eb01ca4f709b38b2c9a1fcd3d9efbbdb7908165d408d5db3c5c09ee6332bbe8e0d2667690aa580ff37a9101d356607f3a7ca1d9a12e33120222f40a798ca6142bd8292ac3cbcfed25d4cc194ca975ae4ecc99a6336fed67275b8ec18e7b7d077bb1995bab632ac381b58ef13865b374e2f51f310677c394d8f12c32f1e0b94cf19c6d705eefa0999adf907513fe9b693416e5c3a09b77f7f631019fa8fcc317f8af94cfa4a3df8c9113a46268e8e823f58406aee83be","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf0ffdf1dc0ef9f0a87c0f726a9cc872406d240698a66cf9cc947320e9b6362a9","signature":"0x4dc760d5943aa7378fb2ff0f5e77f4b8912797a149440778ede4a23042d7aa7b4c73eb561b48acca80baff6ec3a8c41458046ead84a220260b7dfa203e35aeb50ab6d7ac02703ff8f4f1d2b4f3cc6257f290b2d9c797227bc02033e488fcb1ebddf9c0670d5cc2c3e9a808b25bc1e8cd9064ee70bc99fe1d7bbaa6210c2f89bc5e3519432994fd8cfd7e0d7acc300c1a47d0293d2ae806681803f2d4961962898ff30bd1f12bdb251e01d8bdb9e0b03739839f1cecd5326ccff05e0626f3e897a251540f781abf26e075a94417ff7438644c8c333552c01304623cf2cda520f2e0c72e82a0066f490f9a6fd86852cb70f6c214f9f4b8bd43ee27781377d50fa7d68dbca435ff2b13175a78617041cc4b775c451b8881afe48a3b645b10f6ff889e50aa368b9c133749555d99005b77bac1864094fe33d67fe5167748e54c1de00ed5f16be184520689f01c69507b23d017691c03897b38583f2442ee792db13509b18c59afd50f8ba5a97b813235a4ad3cceb48db85c90eafb41141f81c6379e5c5ac89a940d2e7720056496ab81078ee87e68b09cbaa00abd83496dcd4532eb036091dc4283e16a2feeb56d5acb42e523a6b4da77e13ddb73bdd76efb876da350fe8a851219af485c7e62db37102108ecc5ac3e36a19f753612dfaf7e79483c69d3c607e199dc4e71387795468675a541cf4d0a9099a078469947e229eb16c7a5e7620fc59ac4f3f4f31fce61b6b241edbbb147aa88a9237589763fe588cde861c0d4bc49a0aa6efe4a9f09e2cc34028569e972c1f1ebd9a461efbb006cce185504957cd597da5b2f2c4954a6b5cb7b985b2fc97f76cddac9579a5a7d4ca41e41b5f79f2160385f0defbe99f46858e1c42e1ff0775abc4974c48588d6c43c2524b7060dc5ac292f4fcf87057ef52bb8d22ce75f80cef0840f76b90e94da3fe120872c70ba827a870d10bae1815304b3660b372e7918a8c720d647ae4379496453a68f65f2393b28a97d691fe4fac9e267fa42d5a7858ad454a0c7e1d9af6156fffb0cd25172cb393954e6754fd2403c5b11d0be86c4cbcfbf170dd024e75f43e2d4658d7098f891a26f90a862b6e7b3cbf76d4ae02193219dc74dbf25e2360e0a11973962cc652f47a1bc847d254e66918ed81ce3e578b2fe3aad21050d31d5218fbc68333c0bf129757b993da77f09123b5720500ffa65a56d3643ab03d92738a4c98b4d57721e108cc19d98debb065d26bce250e3bedca82d774e3a903fc2ecb75f4f6120265b5d6c72e0fdbc0e133aa7ba3eb77ff48329f29b79ee13ea0e82cd97d600c97a77f2f67c97f8b04a73b7622a4d21ae05d96162517f83b898c40d59300082527ecc2ab719eb25b986694604d38f0171594b1513e1426d9b61c743d5c4d08729cc3e03e62ec482654133548c9711f33d419fec7c9324c83046cdbec48a4039b39fa936e56e635ef65859759f8d3e183659e0164d5966440c80748336e31aa7484745b76d2f16aa7e8b80cdae6c9fc1a53ad31873f33a44e9afd3b29b759bbb84d98f132ce9facd87a430489a23f26d87d74e902b4f01d890b64cf4c639eb369313dbc3f9c241ce5713d4dbab43cb6964e38ab41389604b9560bddf0ebbce18ff857838cd23dddd6658587d83537a725886da3edd9b9624ea3d7f95ecd543fbf51b0215244431e5bf78590eeabdcfe9609260a45cea0a22b87b3e86952a143390f4c91b059d7a537755dd3735f512a3a559a0e015faf726cc8176e1e7201a0fc517d9903ba077e7963e5f6711a55f883291fb4126b15233f3f8b9465af5924f11b23f73eb7a7aa2e741cd020da6fb298db7e9e650ac08121e44f2577c84886ff547df226d9b342bc596488629ca62b4afe1ce65f2a956ffb6c4a3ea7398ee92f13d86d9c89657583839cc9f1f4774c3bf3856df768ca97b0941df9c5b8fbc82261dfb3d4fa879503ef501c6aa708c4e4df015c0ec22d03e7a77415f1d99db4dc2ea3b823d2a6246eb5c77fcc129b8bf32bdad442664fe9684ffceb10f67456967aeb5e95e1f0282e2e7d1892d55e01fc3c3e9e4116e4bc55f3f833a5b4d5c448ea6d0d875e199e2d08657bb7a1230519e259379c86205028343c568ce60ffa5ebe3350cafd6a8385aa5ccdc3f8e005886b25c66e156b649eaa17a34ca02e49567cfd185008d18c00ee041dacf925945c74fbe5783b0052a99724024807f03eb28d70befd497d37ab1bfb3ceb6333708bf3ffb3ea09840010749e8350cebda5b44bec6aa8338da74fdc4bea4f7a94c1f207a58ca2d74fbf643eb8bf4cadb8df4d3deae9575ef53cd7830f46ed0422faff178c149d9300b406ac45ec7d79fb99e6b057ef7fffff413880b45233b55966c733a624594bfeb74d9ae2fa3130a2fe1fc8935f29c749c0f2af928c8eef9897769a9bb550a137b23fba0968d4e8a8aba629a5d4b18dad5a43ff656cd8624b893ff686f3600c6717c2be53074d070fd2ef8eb4d640480c5827843d24c60d0a7f97d95f4aa9f5b188bc4a9a9ff1f933784de670ec06b68964ab8e13cfe3ee3e0c50523884718d6ed923df410e24b4db2ce3afc9740bc5b7aa989c8c8bd45eb775a4b4741f7b0fa9513009114d7532a03edb7a079e0a0f05a151ec05e25a124a5f6b472875727dbcc241644a27a57daae34c0719ea0b9c986044aefa421f57219ff62d17bf5e04577d3e8e1718de3747a643fdf5a201c720f3d5c9c9fffbcde07487d295019b92ef654dcaca7995d2272caeb4e8d4b397ae006ca791f36ff3191f69626106b2c7d6a55f7744773d2268401db714eb5010de68ee5db7a7b455f85e4e731c1d93d4c979dde406a390ec23eb9ddce610f5f8ad714422230f9a8a7ac682a2eed7b100b895f5853d745fac41f84c74f865a0144683cac0262f93e73f2dba69c267a3256a1546b29d0c1c5c20734d02d80f1bef57c3194f8e4084a0a864f7180740a355484ab2dfba1f60833a2962394a73b246f2e0029094e6df2b33ea4e594a4653dc519b4bd938dcdbaa50cb509eba90f0ad3ae0062f38e03d4da13f9d647cf073566979e0948d3221f27f662ca1c8d732d9a206509e37bbd4de2333a3370049ef06cba7642fa6d3a239001c1dcea2ca2221d524d63850c7e76906f9b07b480b33227ee6b6429fbaacaac937682b2e2ed656e3c2f424dbb86b198dcb4407322fbb7bbe993c3f52aaf984534fbd421d5435e69c50c1dc145d5914670144ef437af2ba47e6ee38bbc5607e80bcca65459d6682bb0e939a16695184348510ef4ee1bb10ca67845fdabd5ab63973640278ee25d71bc2faaf5d3c3d790dc679d16ead2950c1ff53fec79e7deb1099528b090f9054f94eb279ea9a35313a257db921f1e73269107ec4ac8739604fe7a032ca228129ccd1ea80bcfc7da9844bef07a6e6c4343faaf7da3d31ad705b474672998233dcc9287838ca0d0a742271184d7a3b9ef5844fac3b60492d4079de0bf06f741148c33581bc3984b3ab60d057afe3bacd5bf414e0d67b6104893efe1e84f1fcff557e3bbedd5a961d6e418d095cb768052203a0411d7805d96d07039294017beb3d2224d4ca54adaa2fec7441b0799ec890792f3d0a684a6587b20be970fc36a4b6cedf933e51ba5a44c0c48a3b61ff9ee1dc6625903cab4628d760e1fa9c1328feb27b8b7795870e44ac5b0a749ed98e7bf580d673fe5ab5a59c906256fae6f8e20bc0af6d41a05009f2992dd2538a86514a6491884a66f3bffe612f79541f517e9ca2f34e2929c1f05d46d61da8099d59d4521e949be2b5eb8449fcabda809c528f8e31101f05ba65aa58869db8d680f79a23f2b8d4410b2c712a5455df55269292328c6c1a119af8b4bbe5edfbf3ff3a8d0810e7d8269e0c62f5bf5b5487b3f850c93a50633dfd9319a93f0f92e2e45dd4013e480325c490919b4da286b36b8a7ae6e14ba998e1689b335495d5cb119b940a417e4f3847ca029e20255e0473cb9e2d52eaac36871e94a701ae939d10700653901796a2e595c43c0716f763d99c7a95ad8fc76db3cd6e213044d76044f53ccac4ba2ba11128838d36567f4a938cf211c2cdd34e451fdb92d1e602c875f0a417346098669802f3c235efa2bf5d561307af3139b1eaedf89bcbec7f9b48742623746bfe26608a3f2d44e8ae2f7beb16d3eba284ceef2793c1d14eb4c14977eac68b9f21a2fce65287dbbcbec8855b9c744235ce8a2582b57851b1493a28f5c2d609d7aa5ff078f73ff72566699c45265bc1ecacf1e8871c55b5c207533ec0843655d33d85de2adfd87096870e4d5984b839dc149890dabe6aa38f99fd5d03035e1c1fe997b5fecb94b389dc536adb1668a29ea2eabc8a2a698c606c51e5d12693893f494977361aa3ef830cb161e085f10625ff784cb20baf1cea11467ceca17055a11e620b8c87b800832f1aaddf43236b5a2003c45094ba6c7e214539eaebaae5c77be4b33e09ce1b214afdc805aa46f71e6b804512271bd17c1f29ed0f0c748ba94611c15957de981cedbf0a4d30d80b1e2e294a1e917788e99b857bf09d5828136f8e4b6714a109068af6c1f790b6e8afc4616c6c543a13e145f4da66c547c6b5aff2becd44373ae383c89a9b2c2f0720690212578dbc4dc45e5a5d2fa1a519feb33d26ca9adedf2146ffd5cafe3fc2b5cbf497616cd5d34428ccf59b06a04a65c07f6329a7fd67633972acdc9e36c0e14c2f3c301c4f0773be39bdbf43fddd7125ab30c8361f2079e77365a0e989aaf6e58cd1e8c6592086e8d9dd3cec9b0073e7fb48dcc68fc8025b01dd9026b3084a349f00f04f23df88788a2c7e8e4ce89be706f22bd7dbfad9d12576d2a80ff66a9851483d26d5bfa722e7b01380e51dad81bfa5ed422a4fcda3e4a02083553ea859b956e10ee362cf68a529ad6d4f158f019680923accb6f97b1e04bba8305513901e683c32acb5f1fc030cc0c227595ba2f3fbb2eafa5045c58042c546c215aeb1672239e0e463e742869d0f3c7914c753a4b7f609d1b900085f25d64e78ea503eea73ae44854bdd9627fc9cc906d0b1d958b5bbd96cf209dd6032fc19fef14702e09deeedd61fb0295b399af515b0f85d1010825c869112759c045e86e4adff90362c0cc9934ee38a1932b0e0d5c661873122c4fdfb9d4e3c8f2455c27ee424892b3f78b6a106994db8c41f1f63171bff4041c0bd1c79b7f019a280384ac2d90efd3b6ce44e469508b8f71386f099e76da86394a50284cd112e5a6681bc624cf6f0a295a7d7a646ce30a18879487ea15db6c64159ff8c9abd26d16774cff418560e1d2f90a34fe67a77488417b15827e4108c868584cfdf575ab9a9206ed24a7882a282e4354b1842e055310b0495d96b82a75512f6118e140ab72fa32a4262399591c1a88d0028a32d17e773c0375bade624815f06f943ab84346b0ad4f0aa0624b45168df70aa5abcba73e7db4ac4020bbd17fd2d72ce78fd6cd5fa5570db1624c818ab9aa96175d271050f9ef76a3913f1b14d50f9c013dbb348f9a839160361b1b5161067d6156408221cd0b5a43e5f5c0624930ca52997c72475120868fbbe38d8e87a5fea254bcdc06712d545c9034fed85b935111607f9d9ea338986cbc02d9761f88d1b3b2775925807ee160338a90c2f29f200af7546ba41cc942175ce4131d9ccd984dc4913f69d91ea9abea3f746000cb2407faacbeeb7c89d6ede7851e4ff3160f00fb4f1c3f5219d0c9fc29cc592ee6f7c7867165f81d78cdc984df283a8457109646e6152eeb117706af074b08d4555b5a590e1f521e5c001f0cdc66a4eb66acfc3674a7f520f611bd47adb72833aeb5ae75b215210ccf67fc4755f4efe27ea2213509735dfe6f9174875214e61a6bfcfcceda46ee7743b78d242a42084383a60e20841998bdf87b96e2d6609d9991d8752c9906c50d732f5d4120a11842b4f46b1ad910ecd8a2b2c9ad8143ad61b8329251a2574c5f1915eb75060378a810309f36e4628b7f7436d8b33236a524478f13589656fa8ca76781b14d44f6d67d802e3de4422647b197f56f1493d18510b071922858701c15ff635fd0851aaa4843a87fe1c45334a30488e9261abec685ba0d2b1f4434b19d70a4679e45c322328968ec73705b19ed5968734bd38a14f59abdf902594338a718d75f479b916d825244a5b7f08c39ae23f56e756852f17af40289fbdf7e6488f722fe64abb876be3496f18bb9ba9e3c63c1fcb30f1510ed3c9bbfab7b2849ca933f2138791240deeccbc7e1a505e0afed3f55699d3c95d965177fc12c821db99158f675993bc21cbfa3b4a88e57b8bf143e0f8ed9684fa154eaa7d76cd5128501c8b6dc312920b5aee2b1814b9f96dcd33c4af464a7cde4245c38e913eea84d9fd195afd68fed3b532f545c6865016bda3a823f85a4d107233145495e818da4a8abb6baddf64e5b6198c2caced7fa6e9eb7ec0a215f7dde456c7c9ab6e0e102060f4b527a83989dafbcc915323d454b5e6578849fbac3c5db000000000004131c20252c3846","message_root":"0xdeed6e4c436847a0fb545c13c0083778c1c896814ea45f7a328f1cd46a71e3d6","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf3f5e4eee801ea3f58a324a546781d6a26eebd9282146636812397b3db6676884deb14edb1a2aa19ea83bfeffc4007253dcac41501a94ee3cf96d4c7acb88802bbd876205b7adc5d54678956744c47b7fa326940df2e6405d22b46c1af76e79a751221de5c065a61e7bcf587d8b9f40b84a5c38cfdf7e1f14fcc091bd7a8bb49f67f9ba04b1b2d29e430a6f079a9a3096d1f19438b3e241f1f1f7265cafe012330b7dc75b0829c9aa2aa44ada74b941251f1fdc590ed357ec6a45e362ce71799220d6c14a2e3c7919346a402fcaac7deb83035f4fbaf6bc98897e3a2640d58f0184ee4f0503a295e8455e7a77e18db3afc036e7f09a1ac308673e5c775e7cc54f68323d246dd52642293dd197793fe98120d063a810232219a19fce656a0e67d405022a9743cf24aee2510fc709d4a42d3d458e5092fc0a70a458d2609dc70c5a295cd456cdc0d74f06731c51e4da0ffe484993b394c6d10ac1ed66a22df8bd612fcf7dc27f26a0adaf6d4e6f913791b92b4ed9a4a75ecfb656973055e6820b27e855a95a0aef4f44eb7d21d633e6aec9b7e8fa0d1bf7a20247d679acf6f3aee5464d2bd06b4a484937eb7ecca8177b45c848430ef87b1784c0e0578279a334bb22598e311ec501dce4fe48cdc10807a34b3a882e2c41604c36dc6ff4fb41f37263788d1765a05c9393b46972b96a0bbe30d5f39d97c6fe2d59e1031161c67f607f584dc4200641a01f6819db13846891e1cb483279a385808c4717783780ba20c16a81562652ef9d13d6bfcb4ee646319f9436acf4529f4c7383a309f5a013d964d54dbd035a49fc7e4e81e5fc212d613993d14e9d5ff0bdf40432c5b4cf398ff76a9fd5138f2d6f54e9b22132b8a50223d9143973e78cc39bd8eb730459df334936d46f2e626b8d992d5bbd8d9aaa637ae008387955d95419156151b913d44f5c8e74476b00475d62a44d7420352bad745f9333cde82b186ac0fcd1ab5a34a2b6674f91d62149249bbc4aa3a6581a5c658bcdf6e637358df75ffeaf590368838d933bb5994582082fa4590ec3b4157578ac2512e7443d7709e7e11fb7b5f23f0732d35a3f19cfa9f7ad20fbeefaf3acc74d51b20d44d5dd2a590e7d520d6291aba9069b5a22be175e30adda82cf22c61371a8e3f8da8c8d5aa3f32509e904ce528d4f9e77446ce0b95ee41e30fa7b74b9eed8378b3109644634b533978336c03143004a55d76035acc0ef7bf606c66b611320ce9152266f7d7354f7cba2619f007ac452b6a0ee45c46e96c50c4613ba07662c8bea11cdf2147e9807f0be9551b775ef89c3a0c754c08846dc2458f96d26af57e2e6493c68531636e8dd341856f41ac425b766427e85d2d1d024386523f2ed003f280fa5d820ea86bd9c1019de4600da65e499b7f02ee60e8e67da17a050e9d9353614ad38a58073e8ee09bf4a3a9d0c863be737afdd14b1c835c14193ca3b4e7ca8015be22e0e6475e7d51c77d33c450626823106d542f08627aa1c804b05d22cc6e8cdbd4b98996df1667165bdff653721bf7449fa400a4d182c8b4f83a53cbb184fd5c2dcf24277fbffb7fd99829b28e724ec0622b01fffcf49f3dee8426eb9584cea47e8d66e648cdfd6ae18c6ae0453eab2fd0810431c7253b01fafca16f44bd1c6727184484118f6f585e3a71008a9e483a1a8ee35c8023201e640dea5514c712805fbb86c7509d9a26930bf1576829c2c56b76263491be0e0e55cf783f44d3151b12e483bcdd7c41474e7e904f1125ff093fda37d8447654d7abaf1bf72c6357213d8dac9d178917e556e7c79e88d244e6c6c36e935de2ead036a60cdffaf168aa55319e22f9b36d9e44669a6b0be53913c4538f4465e34c9ce7bde57241852e9f3243a89864796a3880c53babfbd4d37e52685f0472511c1282023b3bfe51f994702ac660238ebc5846ec714c7e0868d7b626bbbe13b25254518e9c6deec76741b9aef3f44e98e435079803fe3ea45a39f17a35d88c26fc1b1ea85fb39819f27fbaf4c790440289d26c2234a13c724a6c7b3b506539c521f15b9a46f8e96ca5bb0b316d22cd1ef23c6c78a254a46c65d50cb1f51a8123dd97632f4fc4a70ecba2123879b562b5744a82868c59f983b47eb5c53b75f249def12dda2865f7f2935622f1bd8552b4155697b95560026389babdb4ff66cbb99ceffb8abc7bddcbf5c8c64d438a67659f109a5ee25cf6277c76829a1e7a08892da7a4b1e38156c4794b9dc09d81ca7d806fc1d38f0ed82791ed12124df2bd8d31d64ae8859cac9ccffb31d4db5baa6dbf9609886a4d53d6b5e9ca17d00ddb2a7d4c0d7f688974edfbe4c76b263febe6dd5bfda17ec85d5af051ce550e83845c40e3e2bd733019cde7efdca4b2d48a02101579e089cf8b4ec8bec41aa6fb224f5b90a71bbcf4e6cccf8a3b83b3aa943c5a377cd50892510eb39ec82f347eeb2cff8a494205b2a9f5ac9840d5a3863b8fa4c8521aa8ac8e9712d1110537b8c5245aa1c84deb0a02970cbadef762afaba6d0083f551967c7b5961f3ad421cc0206c743220937dcfdfc27925998b16489ccaf03d936ba5a15b7d9678e510e6b243496269eaf6b1739ff6ea5a1c94ee7ff10f93c2ba0e8ff3c1943476b170ccbfe57308f76e59886202bbd703dedb91fb3b05f4cf3a9efafd21b425a3e8233fca8bd3e2db8795d6977b67da294e4bfa090e56b8b35276ccd1e65f50393967712b79ac5be0176765f8e8dcca113c0356fc4bda515b3d14f58d34d5bdf38514713b4710370c5bba217597d2a081dc44862e91379bb8057d6d2c0dba7cef2c03cd03b39fee41a32427e214b06dcded8ec10f1ce65f2e9f0dc03fef7ee24a12ae2bdce2635d9dc4576ea5ae41a84120cad0f758d6a5f271c9e770daf2bf341030ac528ddf365568d3130e9b1a7270288b6fa0ed2edeaf5da6d9912001ed6df99a516e222d2fd8fa408b44015797c58b7048887dcad79140aa26ccadf9d8ddbef5593e6726402cb793e51d5f0599618b39c1b710389db1fdde94fbea581603e10a833515cf8bb1b7e410d1f7fdaf8b1d2d09507ec840fad88eaf22ab9cf7b5e3c3d98f687287c2ec21daee553d4041cda61d98e5741c4681ebb6492862f7e50017b79777acadcd5d3f38e9eb0482a0903bc8ed8f286dc5c215cb12d24c057858973107e0fbad3c1ce6f9f3fce3d7a97035424dcb28f2aca21227241a77c16ddf72842387467afa083f4fc426e0bf20b13f4bd820f9b4b5a1c6f4efe5e832074c0df3265aab28fd997967b7f206c129a7f5590226aac3e84bd566c6441297fee1ed58e9f434b9d64926d5491448441890cdc580c276b12acbe0f50f24a9ee3a95db0494940780b3cccd3b6618716d4a68f65e9661d5eabf7e00bcfbeaee79ec5f49521df7d1efd314dcd282066b4b8b7897c56aaa9bd2a11f33856cca2239ee5265f35c966a2796a018760d986bcac914d677891d1eaaa7c4bca805a8a5429f964d205648e6731ee83fe2a1ba43d39b075471e1d05dc24e4b178e5f916dbe895c62d660909f16ab3dbb38ea42f7ec87dbfc609d4b09b6716f850d4b18374822a3cffbbc19448df753336c550dbe88db678b60de5443c073f63672b81f74b9b0125fb673d0e353aa2086aefa55ae8fbf7492256ce9c070d","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x5556a6b5d2fb5a9cbbd734a1d979be0912d7bcb07a578caa8e549079edc68222","signature":"0xf6cb83d66e327d297cb15598f5a81a79e6462c4cee191541063b1f5f347f28ad366d8e32f620871c478b919fe19dec142ea33d817e48ecaeec62b71227bffe2c7b81cff4af0c055a78d6d42cbc4f2d0ac5005c737a2d67fcab12610e81a969196417d054b6acadef7cd71dec3a4178a33762a64edeeed405d8656fdf531a6eeb58fab1607b9ea56c109f6ec681e122698f8a655ab394c4b5a17768f1e67e9ea9a3a4a2cbaa1619362f3c19cb644d85de1608dbc5c7af4d48adfccbcdbd3e1621eafe3b80fc1a9e10b6b905ff1db7e4c757f2fee4e3909e8e1f3d720836024c2a66af4073094d33b0e5bd2f9ce7ea239eb19dfbabda9b466c44237e753774ec8dd466035cde30bbfd78c1eca7618f0c10b7dbf178e665908ad558f5e2fc035eba91a783c4ff126d37f2eb7cca8c6ce709c84c3c10b1b483e9427e6834550c8b172ce16ffa74e7f8e24be239b7375fa272e823d8c15c642b149b131c421265f9d8ab5735007e57c6262cb21f181fde3c218444536fa6707bfdba7311e3f169b2465c0c991b09cef3a591fcc47b2b1c820cb5d9c73e1cacbe0a7d988441fd6fcfc7eec367702f3ccf90e406701307ff6bbb4a1e748b9b26911f8d5535fc9edf55a42c86617317ba9a5182434e3582bb82394a1725e71454b0b2da54549b6244694c3ae9d1c54c2c4e687391345ceacea178919821b6e41af18ac1f73a6aab79717a7a39da725b2ce060e1c4009ebce9a6a79bb19f60a1e61c60842467135238f93e695f7d8aa0b6d61dbe989882eece85f0721b4cf7482006c904745226f2a4ae409968f6c0b4e229b676d31faf711b3fc14f6290f2949dda9e01c5adb581c1add83c525a0cf0056e37f337c8e2bc14b274fc40bb77b2e1d69eea81576eaf423466b21599fdb46a40476895ca09d5288986587d9560e24e3f6a980e64c00799a09c33bf862708dd00a1bd4467e37528f99b3bac901029f46a768284221f9faf683e34d975d5b8117c8bcc2799ca84859bcdcd05175e97e260ab1a89f179f2d4d8cda1e07154a6909bb504bdc702ed9968292287e16a22ffc8c1f7dbf4bb2f401118365575a9bec8acb2d6ab9373023d986082058e6ef58f37183423c28ba819d5f965fe73b6a8d59101513e521067726acc3ccd60a31738af6e7f54be7c4d1727d8d87eda64f9a713216e7862287737e8cbbd8b066f6fdc410147febd696b906048b850f9f0db579bb725a51a7986d5713fc9430498ef0eaea1925027bc7ee03dc1160028e1a7e10686b87884cff10bc2a89f773792532a8a4d13186f42b6278437516c02e2c8ad503bd599b31998555a2b22412dc3fd0c738101f04535cc5878136c26199c9781cbe2720834dc9c7c15bdf45de8c75112ec2406c6f2668d7e5c6f1aec3050d85ef0f44ba639d656e7f0ab1b741c959017337970e315b6e9bf9864ccecfb0d9877acd4daee690cfe0ba0174a505cc2042d5be93901414b6932a74497a815518a4fd1abbdd7a87db6437a93ea7c8f038f724868f44b48e9c88f1f832f3e62fca47a48003fd6b7000f35be99e83579f52e991ba6339d51f8dfd9b4380dbb4ac4a7e06ad68e1159e8e2b061d896bdbad942c8a79b83251265675b7e8c1998e7b42111a482d9dd150deef1e67701a5748a1a411104b97d7d04722fb5151bd22ef70b2e927e3e61624ba5b0be44bfdb6e32b91cabfe3dcede3a4f196ce10836ad21f228a2ce06e2dd677ff39be1bfc4b7a6620959b0901418de8a8374fea67771b312ad093861b4cc671cdff97eabe1c8eb6a5031013b133d6981f362081ebef0519e96e6bd10340b6c33b54ef94fc60b99d4e0675b52f85b9af00a90fc2cc5caf2fbcb30e125f03a2bfb7ebc34d543cc4b94dbbcc1c4ed5c03ce2d53a10793eeff685b38e76c46cc0f164fc4d723309e73b7054402f27b58d5f2eca8acc403ee4706fae74555060cc38866e610c1198a221dcfcf9c51929415219b5993d8f262655a399fda63c79a341e0af77b52ce3413e42ad21b9fc9d21c0d2ed998b8061f10a4f51ff0d61de73dc8bd0c90596bbcae50801046699aaed0fe72328daac59657d5cde1af4b054ea6d769a77130b8fe90e4076569534123f2f02e938479311626524360e326a66a29c3c9894983ef803a1f07e450e3e1a4f1887530acde057b1ff1535e429c285a6a7e67432d91b9188a0c6eb891c9f2a4716d5e68de9d299d56589e6619248e61749e60b9180cedfeff40bc7df4371c907f48c52cf191726ecdfed6427f95fb5861852b7f988e7cf4be6ca45628956966823003225ff4b42d7c6d1fc2ff35fc2c9cd82069be54dfafeb3e07a7dd873d52974a45699593785252e8d9270743148942ded1dd035f83668ba902cae493be8cd2f23b003496a848909635d0209627b3ca5985147a3f59cbec8a8b15151190c69485435d93927f76d1307b1d0d0e6997de2526026b5e52b4b407b4ef3c970a44d2fd1cf1dc2f3dad295e1756544a7da6a0236c757775b622d43cf8336b1f4d61ec6281aee3678c3137e0fcb2bed5b62c74579dbdab52df9fef95b39faa776b7e5f2218418f9746366a8b31315f070bcf3d04e3306afcf3913735e8f4f0fdc55fd6276f1d27cddca2699d83b2205accca13b55d6ae390ce235d8c7a566a42427672232d73e335e08cfa2f3c9d2221ebedcd7a4a561257b747b963403c3bde0d1af72de3afed4d7ce2c0bddad9c9a44719b0c7310b640150ba1b366ca15ac4c111dab42462a5d5ef9c0b08749db60b98a61b0aee1c853adda8eb0123964bbfb70b69dfa15640f7a5440dd7499ff411a66d05acb1195345d1384623656e2ee1b0a46c552c9a659b2e3f40eaf465d3caa347c10d3bfac0788a0f67c3dc4a9646eafc30683e46b68fa182a5b173a1636099e12de9c98f1eb01e05a03fd18e8e4ef8d4d9fe606221fa14ad07b7e24407ec03dd6003146d4dd80b2532cfea446e8a9edc90a23f2f853cbc5b014dcf4d36f8516c7a1387f4c8056895b9bc43ae9d3334decfab2ca1d4436704b0a6217fdf0079023193e29b3ffa245593591945a690df257b3dd12b458583100dda1ef0dae2ae5ce69426ba30c2f7886d6af17a0326e43039df16d86ad2677598b887793b740afcac11307955f974b0ae26a8c735d5179e34b9c07e6992ffb04f942a611d4c33829aa4dbe0add9ded5feaf63cdf7d34c347ad69553d5fbf171d44f5049ca16293796223a60748db10925086b224d5771250384c874a6d965a62eed813f3ee55c74ddc33c0de1421e28c7905dc89c92e4d54a40644a683c996f5ebd73378eef1ca1f5b7b413120995beea80cacb9e39ea973ba79170dc61f9c82e053b4af93775a65b14c27033f1a1bbac34969e03ec8ccb1dcb6702d22b249fe34db71a55042296c62b2af3e6d13016841773bafbb8db15aa7d7bf6d2cdab50ffabf7b6356f7009974fd7683532831c4c7cf84882f99cd572d2dc0e933c10d175258ddb4f645cb9d5c67660e49257d51cbd9deba16c6a270abf998a86c9e9cd4a07ff1b1fa2510bbb479748c8211ab785f2244188aa518d90bda5cdf11348d03ed8143f090c1e7010e85d33763ed064f3ad9594de164ae8a670bfb57a145e2af4c8181fd37f0f84e2658170af9f70d964befabf7073e2c8c79cf570fd9677d7588e6fa8a2bb94a31a30d99d1dffbfa72f55583c41c8e8cf1f43f05af4262b878e02c30bb9f1db9ee21515974b3c37b7df1b93f9b894557c7dc9761c8bc76dcbefa9f3e411e710ac71f0fc5db94a884e5b9367a4f22feea9fdaee32cb2a2b30676f156626cb677ab06e7e9e451d34649bf9ff69fabdc4c872d59522301f48ccff1766e3c65f1ee420ccec39ed17fa5c1f999fa8db3f4012f5fdf4f1529b35fc032af70043cc0d4ffd8b7283d625f6b8406a16814e4c73d9964c71e8c487d1470d2581d4ce5e58676fc10db2bac2cd878bb5f5493db341708e69fa454fe8c436b2cdf9ca4966fcab15d97b52c759370c792bba5f1c1ec5cfe8f6432a1702760d4efe43c1b957ae14c6a0820a932bbfb0a63f4e59f3575931c4072962ecffea43786710c845f8b625807075bbc35682edf67e313de664efbee6fe7964c9b5f8fabfc0c66e1020888e2fcdf87f5aa03cc49c9cb2ebb37f89caa503c26c5b74030d4bf7cbd3602724ea7ea0f30715ba83c3cc139bce3a3351605719720fabdf8992708b64a243b568940718012630bb9a8ef4512bd089e290935c11e2a108b60a299d17241d1f9f58f3abecf84a2c8ac7283d1db8accf36f3b04ee911902a0d76af9c3c64badd2a5caba9290158b9d8e5d77993989276802996aa85f38f4eb5b95f5527ff484524946bfc1d10d422f3feb0afe66d1fb426f297184a9477c48b0aaf38a962e6d5ffe5642e62027b8d4a61c32a8e9983de6f786bbb025dd3249a3b0cd13a517573c5865ef96c0d2d4ebdab8fc30f7a47d725d025218c6f2aa9fa5aaa35b75f98ebccc029dcf5232d66e20f0bf4aae199d159fb43a6f15a318f62ee0919371382a32e575cf25ce9137542d03e4f633d20e1bc11ee748e31330dd28ac7ad9537acfc8fdc92cf47fe60dd267f4d3d125b87bd51199115aaac110f38ac2f125c08b41ce1713564b4a0638ad8e07e35c0a97ec9e88a6f53d15f4af8352edb845fce58baeb482cf1276bd47cb06fc26141a30ed8d0e9cfd4005e769d5d07e58a503fa143890fe81ec0da855b87ea238dbb5034238042af24b3de6891c2bc203d0f956266269f40ff897aa7837729d8822934bef5bb09d45ea5d3ce47efe0f6fa4339eeee2f70fec7c2a5b9fce55c1f8267346f9a8cde63608c45b9d645adce248c56dcbd526605821015b4d0f5f17d5792191b1623ea91b5c12ef66c9162da00c30d3099037575b050a5f938e0b9d96ab99f2b213a49bc91d42d99301b7c3331f777bedff30f31780891dc6b9bf9fff211e44881b3b2b7d5b4435f2147b1af54bd268dc42e7b6a4266b97dab3b8fc299de5a761002a7ba0fa574c4490d5bf7f1da240f60d9b82a2df02e6088623e9632184414958f34c5c923aa27c9252f0664bc6a695e1d0585acfe31f59d877a6eb24b3ca648a8aa31d971cf9065551b60d1cd958afb83e5168356f44b6579b75dcc721df662720e32f1305b9d9a6c60bbb6335e178a1029a9c52b0f1441ff450af3e76fc9b4f1c89f84497a36fa13a66489b3fb097daf8290425de22ac79cd1a5c96a60d674d3ff73205113363655f1ade6bc9d99b041d64a9ac43905cdafe3e73d0f08a67ab36b68008f5344369a37a131cfbebd6a92e2bda41c3f17f4d5ade9a553f2108954adc0a3e6307135f67acc1c9f82532fd4150c729b0b777e65e6f08dc3fe31b4b8b64d5f3e76942f57b4c79ad52f4ce3b4d9d4795c1ed76bff92fb99bdda9dcede965f171b291db3f6ce92d7f648ec7517737a30a61ef1f41e19942e085f7728904b69b1290bfc65b3acc6dd096ecc4da843f9e2e7611ce8f085b36c43756ab35e82adcd915e3ab895f02d3d52ec15a2f7b8407f80cf8460d27f13d7e54373c4b362cce673450ef877a0aea6f93f63cd498df2ac3e5571da54ffdfa8e9a5ac9e3ed39537d81ffff9f7d586a181ab8667329d024f818b7da5bdf5ff27a1a05e205562567d57d67eb0f3089231b24340ecc420b0a49a5aa79a31cd424d05153234f1b824e0e096f2df21896a1321d759d4e0f2d71593759ce9d61a027b11bba90790900daa846525d814035267b72ad0a501b2e564ccc59b6dee221f943a43d6541c5f9461ed4ad68a02f5746af8b9b4b16729d3785f99951fa39a8eaa76c1179c3161ff608fad97d5a008214aa9b1e5942de7770c9a36416be1eb8fe7e36a06ed0bb7d676c173f3078cb8e034bc06fbc46c2519a2e9df6553be330a034a7ffcc81150bfeea8684e1a424c4b8884e2861640d668ae3ca04b6a0d76a4c28cd42ac7dbd26936b895b1277354dabf3372996f4d5a911c262931979653d1653a35c0c69288199ba7857d3d337bb7dacc3604c812f9ae092625a92e90f5ff27326951ff22a88a83d14e8175bee4b467f37568d7adca802e3819873822ac49f531875d4a17c9112788132228b1941ceaabbd193eb5c616a3a99a94a0779c89ef69f7a91151d1876c12627ba476558bf1551002f2117b8100250a4de933a3a51e9bb44138fc7fef3aa9df5cab0c9718cba34208736a68e6137905cfa0bc6709e2772a95985f68a9a23c30d4889bb47e333793661d58fbf00eeb5ded94aec9acacb4b930002f478aadd5d89c3132c55db98a70b989b514bc46017476b40656a27800b57ab74375551cc95cd85e307edfdbb94dc52ed9d6e05ff07e2a01bbaf788a441f86ea1152f4f34259ff19a5d3b30639320787b39ac086918fc4aad537c53243726b1f907c701ebadd07ce40c1035439fdde10829327377b3bac4da15262f4961bcfd0d185baabbcdd7d80149757e89a9bed0e241678dfa0a3894f8ff506b6c9aa1e400000000000000000000000000000000000000000710171f282c3137","message_root":"0x881f041415c31a87ecb91e7a1dec775e27585bd6d742365c71332dacff682118","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x688f4cf076b609ef339374a36501625645a9184e2cc6be997f216872473eee7147f413575752a228792ba233d1b9ecd8724c3018111dc5d083d9a39b96efee1fc0a7068ebfef62cb1bff4dde2faa87deeee567dc66089cfc17666f8aeee83dbce2f193c2c6391d1de0b00f8fdb28b9174294d250712c93c9f84f929c0beb9b4c7dc22dacf02cbccd41d6d5f4eef76eeef883d6f481306cab28bd9959c3cfd4d325829c26ac2597fd8454872771dd39475de81f80dade23d853ec227167708e3cb5704fb874810b611d919c2cb565a9fd75ae413ca25cb7bf018963f745652d48fbce23cb5d56c29ba495472aa087e01b641481b6e40b61852c6d1f3491989484864560e2a21547c9e9d8546765598d3025ac2f6a937d6b89085f63ff05cbdb339261855f38960bfc72ebfe4002cbdb0e5b83b5f1581fa4ab6c010e11d1716a27329be461a4274da3484f5a3df45e84638dc669e0cfb6ce5c1cd1277eb7f65d80fa1cc4fd8b196aa64cc3dee6ebf8d2c9df4a05bbec7d36c6295f95735a5f7c8c166f0a89133fda9202f974b521c828442793cf58c3e367b79dccb205e19db69befd6158e95a0e47fb71af5809277bd60eb9a3a8e8ba3154528c347b815232b586d559c814248b5d9a54c01915c5be45bbb0ebfb4ed639929511fd82179160996bb1e2dcca2e4b77b2bd7f7ac7ceff11e74fc694c48cfc58efb551754659270d4e7645e5cae3ab1489f3fbe088df155069bea55aa4f5c76e9fae78d43262ae355d24eb1ed170889030826c34d7ff516afd3bfae3a73f7fa61e08bd09ba04406f8741b86deb0ea83009d8126381ec87f05c655cbcce9e5a9824ba68318814e730de807ea6e7c7ed2e0793d0f717090db6cebff02b9c2819ce98d31cba04425cc351d9c60dc765f4f58a414c48be7aad870d73b8d7afa411ca4639511e6741cab3eaac5158cfb42e3ac6fd51ada38d94c298eb34bf3f3d50fc0025f13082059199da8775d4c1df54bee35ca8de96ee50c654f5fc0a63f724e6e71b61c13457ca7c04fd139ef9139a6624dd887e3cf611d0ec36c5c7ec4345bdf020fbfc6c33629b3c8c29ac894a546eba0a3f28aaa7aeb008b972704f22e997e2f4969b123b76b894fa6f693c1c96940d95ff0621ea45c500efc166d251b3564b7dbbe21bf78d45ab23c110d520c8cffce6159bf66234930ac047d5cce0ab4fae0f900af6e6e4422ffb8177c2dac23793cb5029172dccd34059969d7c86e9a7384321f5a1b61725a619278fbf87f17217cfe7b2047fcb029fdb3f5c8e1d4bd3d66e3b0ef2dbe19bd8cb43fb50c9e662516c3cd2bced8711f798e02a210fd80a045c20b1775f96e8cd7ab1c612d1852ea3a3f3fd0b400c5ef9ea405d83bf5a0acef7012c518fd5f42dfe5a6aa62d5997a4557e3789aaeb0dc9582822d72440fd2f8844d3046ccd03c1d4902a09f74dd07630675e0b38bf7b0b0da1955fb2cae40d44a00c6db46fed28a08e189d650150c579a2ec14227331c5ceaab7c431ad4565b2c0cd561c52510f667dd2acce8bf5f3d4569e69dad66ce2c6561d3a7621f685610a43fa5b2df4a1ae8826bad291635cb98a2a5b662133570a7ec4b0d6820a18c7b628c536aeb0fd265088e499d69f921ce14f6ca70c61fdd51e0d3b0d040b18ee585942bc0b1625634b4f9ae8b8920b533d9c08fcd003b5588afffd57b099ea32a85f5ef8313357f79d8185add2bee6d2ac05d19841528a6f3783afc1f7449426f539e65f01a1f387ea577168bc62d9088bba27409e21ee3ce847403d8c4f1ade7bcb21c26dbaf8eb9226593c2ccbaf4a9fa71fa7676c37078ca040fb8b2290f4a33308470d82fb7cad1bde6c7ffcf60f407e95cddc7caddfec5324918fac6de5aaefdcf368d0b6c503eac062403db5ff31913c1d5a4d006403bf2f8a39b39853005d1917e6b98540e6ef0eadcb83d006111cd3a4860986fd3feddfdcc1f719cb9f12ea3bb06cf97942b0888f71cc1ace7569b53d9363f42596e19fb4c9c7595c46347228b0b419afbf34dd22615df410aa025c9f2ee673094ad3580fb845511925d773437ae468cf1f4e74785b047e277684e97a6af421cb4d80d709c1f0493ca27f8d5eb7ea64d838fb278c737d863c7b2ecf66df640c38c0dd5a9282722f12cf3c30c511d932fddcadf49f9cc9733aee1a3f1f180f1cb0bbe966525baa41eef1ccaab2a08fdafda4bb812769edc9028de00d04b81cad22fa70bc5c76da13c5ab40247c0e95dab4e791cbe877fdf0a84141abd8a2763a724d99082e8762f3775e8e84cb20450c19640b41c7b057cc430f7cd5e0b6df59ba55db737567065e608a5f5cced72c042584cd4ebcafd1261ac9e8d4799220787af0621e2737efcc05e2b3380b94dabc87d5521c68fc8a25a1fe217d0cdfae32cad94b093c5a272508c0d08c4a12e5863d9ba36a35a4eafcdbc43a1791391f13367d63d533326ba0b29c4f1c311e4b3bd23fcff7a175fe11416a2b687ec611fcec6d1631eecf1610caf0bab7ae85dec5ffe5efc15389fab3d4d264ab79183ee416630d7ce36de415ce0dfb1b98536585fb2a25a3d1396660801bbca1a01c7338564df173a483abe995dafd1ad5948ac7f082251859fd34f47bdc357e863cf85368a557b43d92bf8f2024821768332ed84958007b12c4a5f46cf6476f70fbc4b386c5945ace421c966dbe7cb43cc87c9a72e76a4c971da981b2e5b467bc58c8de2949aaab95a0fa8d7f0fb427343ec6db937e8297910acbbd98605f77467df9ebda746ea5a3813f12172ba273ae07f5c5b02bd6eb4fa71e347a5c611bed1b356f7d2ceb0f173e22629fe899eaaa132227dd8aa71c039fcf4f18ae51048a1ef3c00c5888db2592745c452a2360d48bd61ee9bc61f0e6eb2ea1788a1bfb63f0727647d5c1082bbaee1305a7df22803eefecf6d72a69a6584681693a8b9b39e16eb6d1411b609508bb00d02fe431f6e171050b981c00748e1c5f50ca02daf00a49048b2e33c0955ecabe2b7642c0b5f341b1a7690e4cbfd31601d703c7f41849fd76b96ad109411d5f4b3cb50cb867ed04b5381b3e4b09489a07cca29e58884ac5cc9f0c074a9622f23563b9760d00c8ae2ba36d7bde8e4c987b6f70fedf12825e12206f41623c469f032c3e409cbaa9bc7b6021dd836ecd82c843b4f61095a3be922d0994427107ee0282b0ee82702bd2787074fa161ed91da0eb01272b1f7d29cf54c334afc7bb80b2a44af3ba975a871540dee2269873a96a3c37635e4b87aa8349c17f85335eaffb2c3ca1a8c0f9acc042bb7f29e680a51688ea89eb15cae1f4e1638562531f2de7fb87dac8a45200bece6b13310f50ad3379bbc1b3ca1375b57bf699919a9cb9d30fc6936627114726386b11bd380813f1d019c03d1da5861af25a708b486fb32debbc464d1f9797d3d07f17a046f413cc7f735803e011ac4c3663d36a28e7dfab6bfd7f985f48782fc126b78702711ab92a1acd56078c10d0b818c0eedec82299792608c0b3a14f0f4eb824b7639b998101d97bfc08cb4f4898e402a1eae753eb21e39949f9a2ffd14b4bce37d3df65fd0a0dcc4c7f7611d2442243abdc77f6108217f0984a7c26a0d30ec26854cece3dad5619bc84096b7d523e1fad9b003d93d64d3e4fd934d3f","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x2686e0599f08d1b7845a29ac49999be9c68f000cf079b390fe1c253624e2b58b","signature":"0x0c9855abb1b997b745fa2a3b7010ae648b04692057fa4b72fed81152128ae1842562998afb1d632bd007c1d7bbce93a5b868d968ccc8312d80aed46dc49adf8116e1e0b3b77ef02524a07bbd666e1faa4ee67961829c7c81de3e9093e66d8a54a7ea81ef383986a7d99189cd0a071d61dfd3ba382b53182414a1cd34e96974ef1506dad2153f2e2127881fdb8790d79310bf69bf2d837bc95db4677ef3b3b8008de86e59d06adda7627ecf4c37734c6c57be4874e0bc3b6178dcebfd871dea1393678ebb22de195ea7b3e6d8b42df22626922ef4d7120a639a04b8afca5fd34c0374c34b129711e3cd9a4eadb976a8e0cfd95729a5f65075b99497b27184982de10bc87b7d5b0322314aecd088767c43d09ac99917096741be54d2b759bd5b6a7149989cc6fcce749fd5447886cdb12c130f3ceb0f7a4b0efa4d708888f6301502c5ee0e22ac0719f8f8f166bc4f6d7d5755539b9af129a382574883a1b9a70278737c1e042c55eb16ca22837ecdc1cef1d077f478fbc4719399ca7d4d92e8563049fb3a834ae70736ba970df35acdc9ba91ed2efd6e86c9212b7b8520bebedbcc5f80c1a071138bb3dbdb599d19a8d4d64621244b40f16b06092fa04424f7b6133ff0fbd85d4f401a7fb6deb436b0ec3d30c126b607b7412d84bcf0fdd68e75e482a8bb82a676e2d306ea810f8bffad757a1d39df8fab59ba7171ec1a535089017680d90289d58350fa287ae593d45906157f691cddc0a21e3158f46aa0b8a22c0a3b0c5428194be91d4611d0b2c88bb8e27c786d373bdf2ef9ac22d99e6ef116d6fa37283774898ebb6e887be95f021aa65671f811b2203ec7dcf9582f9286377916d162962b3d3c9241b4ccd871b4a2783e8f6803a8f9453d0377b9fd758b8db55ba8951edf38a504aaee84a89425cfb07abceefa9e591e7099cab9f347914596f1f49d3de4bf3570d4840fd1b08dd5a60a0afa9e76ba05382157b0986b462cc1ef4e6ffa801217b73421ae64d83b23d5244ff5b723675e752f7f8423b1172e2b9d3cb7c8818eba57ac2a4b5a1ec04425c7aa62fbce3d5e213c347ecc2b7b3d084ab227df2bb4441713c26163bd53b77be7978e5e829e53f8c395111b2d225a41021540869ecf82257a1c3caaf23189283d6204a59cd344e45d5545c1e11d1e25bc02ea436656a4915c8bd6e950d93c00252368a34c7db541d0ad988b364ce24df9846b698bf57762101ddac5396261779d308379eae238fbc0a9ce2c61e29a7884032d4c7ae30ba8af50f02a97bbae76473c3f0d6a96f44150301997abe46398f22b37077b177e33e44301a7f86d6f98d230ce92fea2815fe1abecbeb68912cff1689fdfb84feb7bae665b88d0716d365ba89b9e74309c75b93f4fcbb2b7fa9e10622375c649e42dc9cdcf64899cc826f9eadc6bbdfc780ca768ac2dfb140b2e11b804ec00d2e7516209acfdfe92a6a87ae6fc495fda762e4bdc8ae451f868dc366c3b53068427c03ce5eef5db47f8eebeb89f4be945f8f8551adced1bcb002eab6651f38b31fd7c925ad7a183099df63e0fe238c66a7b94368e76ff451b8bec9d92722fe3cb5f0ccc41bad4e336b4388999d8f6b513cbc0fd20d84690e4d97fdb30ba9c5ebf541dfe30eb1d70e14f2b2e25b0f2b2daa6e2e42978247b0c71f01dae5418a802b43c0c8dc8d2afb28a6e4f5e154eec2fef85f028c190587a12bf21a0cd03663e99a7343a89e97e0ff5c3de2e78405ac00aa16e2f170d05f8ead5dfafc6d737ce0647ff161899ffb125896611e39b7ef5ec895c9d27546aef0314ef10c928b2c06196b9a7c327bcc4969ba948830d7633b7b39dd96ece5ad1c8bda30261d89c6f1aeb9ee6965392e1fb1b2064b1daa07afd8b1cdce999894af9c965d431d768e307fd55271536e13dc1994f7b5a6c71c8f3fb7c6b96b74e9098fb1145e1a4e6985d65d15bd2544a77c92e1d5f17a1bdeba0ffdc550613b21c40bc1296acf806bc1d8d607e6da055abb331379a6503ff05555242d7bdff9e0ec7a09d3ca9f3b703e9913ebe8a66613bb0fc3c9177a171c0faf147751af538529aaf11e77574a7d66535e5d322ddc54503713bb6543df6f097c7fdcb8adda780eed11fe8fa62f94432e5eda9500af8555dc815e5cfd0cb3638e70415ca3529e171f24acdea795018cd60f965b9152b5790c9dcf784817e4c0e4664433b0b3c896023205f4e7b7069075c7a6ad0187e1376c8120b6507efe6926a7cddb75e1e2ccf5f3394a0b94e193c1c5e2ff4c3f46f729c0d409c4c42b6747bd505793cd1a67bffecd2c4f9419f7688b42cd8f891f7e3fccf4b829a43385a3dc158b8801d79281704a4ad9f18a0faf69d693b6e798354a27b8ac37c285ac5bb3681696179f36525c2f40a2c37d0bc52611835f84a83e0fad5484668f904b6f9e15a8f2c3c351f26d559ee2a7dcc034b0eba4222f3ed61cbd58b037cb9721b066382723acf25649ad75c70002ccca5c64dfa8495f64c83941e6693ad4499ef84a46ca0853855cd5bdb286ca346750c5f2dd2234edb526ab91e97c9e0d5989963e54b9a8241399873ba6180c1b789e4ff056f0b7211bd333c5635339121bfc67a9081f997cf47ec531bb89d7ca84fb2635adb1e34c9ece6db0797cb6228b1d94781d407c6340a858a10ff4c9c7d6842f4e12308cbba3b54bdb6cba795d5dcaaac14a9002cf1562f2400207aea89f4949ebe3c8aed81f0c43164b5f4eba92604892b2c23308f75fdc854c27b230533f0c1058923a2a69b9e5e8e05bda8cd6b269b64788a06220738e688d939f0951db7310015fed44b2eb9761d9fd0adcc5ff146583e755651be96f3d17f02ea74a20e9136c266dd0490bafca1b4c4979c038851d3c4df7de12f3bff0a21b3e10e6d292cf8388f83d0e5820af1def6589a17aa26d42a5fd6d2f1e224d58de632f07a1885ff74487f7d1b509997ad0d090c2173d849dc52691ebd1cae5cd244f5b68cf95537f392407ce9ac98a501994df5a032043267b6e9aa528495683c2b66f7a8481613fde4ee68360840b488950584cf8cf819e2503f3b22cb51cb642dad36ff84e3893376a89b1625f3360c7d78502f7a905ebd7a37fb86609bb3a7749f7b6c031b9fc0c1c0f225d6f7313a168cb5081c6070dea0be8c955ce209ebf036d9f245a5dfa49fa691e5b463fc43f7f89433e329417b22e2931c49fd30a2ac0389d22a6e2bdecc28f9f6f7c30775f455b629fadfdf4e21e37a134d384bb1f6f87e71a2b1a648c5f3897fe3bb0f609e20b7b4eba35912859bd5adcdb8784d7a9ff490c341e2784ea8edb8321132601afa73057e34ba4ed7c448c394d07b99074b53475ff0b66cd6a9940258b4c5f50f74e21b0cc29a0c503a5c144aaa43ea705c96862556f2f0cbf26be3307bd128fb2496277299e4e11c296a84f5ae12cf1f325dc7a643024b8daf9aea77e81f5593ae3fe05a0720f49382a05598e05e0cec99cd7d5629fbab4f6847e423a33c36e0175ce04d51b5ed1a2c39d147a523be0f9ae91023429f501e94bab998ca2c3b06f02d138ba01e161fbefae262eb9dc354adc5bc697f3ff24e861015c26ffab65749cad21dd034819ca5a72c186435f38db353a7aa40df56df01ea75c6eb0dddd80c58a05df84605566a2d8a56af67d5f7a596093681f811a7f4c26dda3460dd1e7e4bdfcfd06b80c69d93ba3aeb402b5bc940b79ee8f31fb72b192c0c0fe1d304f3329ee28466ef03dc5b678a94b1de8410291060ec96369a3bd7e68e27f5c40f59c26d3d6b4eb33ac0ab3ea6fb90e7488922d0e882a1b0d8d7ac25acfabde3e6a342163c5dd61f60a3c00e3a77c5deab97f36373077aaf93f8201f63958e5997fa84fcad2721772de97f9badc3766b4878838cc365f4f74d81cc93d8731b5076e87440b4601811d3599c36a22d183628734fc9666c5cbd0f0f4194edc84da95ba4de4c49ecbfd0f1779b537e19cca048ca4148ff30fa0f28e6b42e8acfdc79e31ffeb0020726771dffc8fdd58659e50df7051ac0e19395cd3d7e36ff216118a0db2dbce40b5b4e4603e0e276f8b83d4fd131a85b4fd6b9e7ba4bdad3c907d3dd3a854fe43ebda27d4057a5c901d319c7f01e10d94523af6698a2db8dad9662f00f37ec1f3390e7b19efde5e1d38f5b84723f613c627c1ce593ee2afbbe5df724d20bcb746210f4d7d59a0f067b9db524059203602fede03f0d32e91a397e0537ebe4af7379b24e4545a1c4b5abae2d6a685e15846c9c0c5604a64e7567417fe3b0bcd5b4d5ca902c2f0b153e5e1ac87983f3a41a673b2e7fbf1996b770d2d40834b483be1ea6f4b4dc11c5d35570b209d918d19bf3b05d1d5a50de9238d9652088ad4e48475d249ae0bde06b58047b80ebcd23f16fa381ffada212c6154995d5250d22f4c632ca48059d7cf8a1c2ae4d2dab12ad785d6c6b8e140d5ff65d5e144d3b95cca0521766d83a78c07f23a7a966d319300e440bd8b933dd5efd55873e31966acf0317de36ed26320c433bafa694f07f79051050c35c2751f7bc371bac375be9fc7a571cb1b6ad2fae569b921faccb8817b594e9e907dfe08b3f9070d304a711667de06e37c09cd219bf8f3b9e1b84c72d0924ce53786d0bd9b2a2dd25b5d904b1f9f2cea818eb6e558e9648f1ce09fe3488cbbf7d3a24525f85d43f121649ed816986e682cbe236eef7b9a9f7cadbd9aa1f2c82b5f44df6ea175b943e03e603b44cd90d36c66c3b3c70952a3db525d07fa337c279927c092f882cf48a4fa495593f3b30f407752bded054fb986f4e18ce86f50b18e843865e895039839725e3ce7107ff744249c9043d1bae0090acfa0cc537ebf3d0419fafd25a607459415080cb344b3ee27af3d279b70225ba0f913f23a76161c0bcb33e8fc8743cc8bacd0e16d98479769862881a6092fdca0c06930e3aff177bdcd019da4539f4b570711a3c4206c571c345bb5925902facbc02ffb6d9cfa5e74af74b12bf0b63291c36e43ccfe9ea1f99156031dff9a54cfddad1656801554a5eed276749c23c46322bfe563d24336305c8a2f19957394ab012d82dc74a7af1729831a968819cf8cff0d2572b650bfcf1c0f8a0f1f9161d4b14d08f008474afd801745836fee41a52dedace121f5ff38e0f7d85ec96d0aca8b19916c607629c3bb3ba7fd1f4d041288506fc56801295ffe03ba3699047181c89c6a6d82a650c1da7c15809777edc0374f168d07499d97cbb5d3f31d808b173b448fdb57c6eae2748dfabe18c513db1dbefb5cc9cfb7566c666afe0845067515651fd9a1fb96e536ab23a110570ec3e74733549969addba28ed1917b15568c2a8dc3acb7444f93cd94bb28592069be0ee945b91d49e52eac0a1c749bf049aab2c8319e68f969df41efba7d7501a0113206b21a715032ab2e9a3de32b6f4abc980aa67a81dfd38c105bc3a7a4aae2c1523510af63ac7ea50746eef55909fde4980885d2f1deca8c8f14337705bbb550d6b9490176e01c9d5acb17e79af43f121ae78aa0dc5f5bdd1b4b51ddec3333228a95054e7864dce13a438c30bd35f4569c7cc8013a36466d5fd95bf1f53a9e210ad615368d0b4367037b33c7c7335650a3d692142e69c953fd2eff16f588e6afc4966ed7b96b484bc6041a3d1e5f7a459e8bd2e390e40de5a2a2bec3a42e72dda2462a4980e480a7d67b6d28ef091916f0314b13fec1dfafed4d3300188ca4a22ec204c393f0e9664ceae8d2e3d89e01b3b23ccfdfd7b54371d9b839fc7988a4d07c8c7d5902446280ea054eaf1ed9a4d5fa0843e154d1f408eb56bbb6271435d05e2d3a345e542a73cc9267e8ede7f10fc63722f7479a6626035ef8abf0bdc09d54a35ee7057edd4d855d91e2317e7ecb5e5b64c5f7c675b7f5536494e69871e5d828413b983034d624fb332958a494f17d62b9a1c7dc5b9f70f67283da37004515f947646be32d7a8b183bab81521aed3072ed2475f525603d562e1bce8be0c6209ddfcb5d338dc3edc506316c03134b3d55c77e62b07296ad9741f97596cfb88884df7aa222abad6ec630e74e8518c5565f86f912c36e7f326abdc6e0b6ffb66f807e7646b241ed21b76e84746013ddc41b1dadb860d02e885fb85a3b804f6e6d332cc3741180e2fff70b96f35198cd0f3bf3c8de01fe9732ea8d0ff72d2f1874c17ebd44d104814fee204e9cef6c29bdf524a67d27f593c9f50d41559ccb367875a6f52b670bc2c5462250adfedaedbe0d311297bd6824ba9f6d1ea60843d2c314567e42043c4f9138a3e6067ab83e9f9b99e17ad0f6d0621ab6f338e5991a6d9165f590a1ad30677081517eac17ad33bf3bb2fdf0cf8cedc087c74ed2ec5d1d286950ffdebe5b12a5230423949f91e792513fc1e3eebdb8beba11dbae5c3401c08f1f58007f82b0a171e39fd68aafd0614269c9db0be040640626497b50a0b1537415d86f606676f798b94a0c1ced14867c9036078aabcc7ec0000000000000000000000000000000000000000000000000005080f161e282b32","message_root":"0x5b0aae7cf073b937ece659f3dc508827e4926b340fc0239ba811123c36bca421","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x73dadca9a3bbca8cdc8d68706d839953942b47b3035918d8079c39706d2aa8e9597b171c6aea10062beda8a87c6f1636d3d6d43b726812a69ffec4517d2e259dca0d3e3befc173dbef8c4b9e6d475e101c4527b98e2ae1a9db3764689fd1c15f89ddb973e92ad02e343d346903ac56a69fbacad80e83e37cf875088832f9a4672644225cf9c63228006173eda798936239b719a8ddac64c11640d7022b6762be9fd8769c2c67c9a670f40681ff3d5b127ec6585412daf15e09205536e212f451f10e29e040b4745c0f6aa64d39850060f51725aeca33cfc0ce07573aca6ba6f673f4ee54ed6bd997f233a94feac0a37bb089405bf18481bb32d28452d4e599742221175bc40b96df5cb2a6d7fbc3f831be1242dd579bc4328547d130fe0f325aea0aae385bcf00ca570ef6a936b815f8257d99a4bd3311e21ee2f71863ffc399a78513bb4ba8160d23f3531f7fa10a0bad46eeeab5774f057a971b87e7b69b0a6d3098c433304a4de4e6bf8c3cbe37892dc1c7d4dd97c09ec59956fd154011244b9536aa7113feb162ede1f820f0b542059df48eb917afe0212534354aa0d3e5359b30ea13eac95833e7c1896672b0994e5a9405bb297b3b9f26a98028dffdedfc88fd56ca1581d057b19bc93b4da32cd38497832dee2962896aa1f4e508e564e88ab1ea92a53625c6c676f0c2e5d531232ece771e5215f3414a8022336a8ac97774ad38126ac8f8a554a9a2bbc90c32eb4360bebfe428336e789fc39e24e469275c8f57326866c1b40592d0f9a75fdf99872844b1c42f9a1414d724671a63f9b9f9eb1ccaaf5c4293852e4e9b3b36ce5c962293a59cff356c3beade42c765b4c8963ec56788c0e53afad591008c3e9b08be9c5b3735847094cbc1fd3ae00fbf992cc5012964142827e627d8a34c09f14426cb76e484294279cc152a7215e631205110c3d754c80166bd7435855990b05cdc19b300665424fd37b94abd4cb1c89e9a90d5fc1003d7bba44a4925029e413003f7a1aba379836d7d687ae40183eb443b8538aefc2be90610dcfb86e2a1cffbd21b80c12692e3850cf797f0ded1ed719b410f724d0e8bf86e74f6b16883a47f54d45252f430c3f2b779d550b47aa86869b02110e8bfcf971af04f26b635bfb0da255bdc1e32d23b10c24c04690bf423792dae45d990be9e1d99efd571343ce578c754f9a380aed3438f4d9b84e73bcee688145e10c7658c3bb4d9ef8d70798beb0ce8c00fbdf75a1ba20538176422f317f687f9e81fc52d9884cfd69940079d3d34d44c2cd898c926cb4fc1a64c4cafd6508f77df2de8176cc6fea4da00cba726bb5b287c12e485ee97821b2a73b8d87b2c33f4939ebcb20d14a73753ffb8753599b58727d32e3dbb16ca7a451bf1db9cf8d14eb381a2360596289bc5632e5c32eaca19071f36ff4549d2d0f670b18a11b796a3a6e63ae665d8c256544f4afd0b61a6f6e9d4863dec3527b2341303aa98a11aec45d41f34791cdf1b6187e403461e579d5e75691bd1a83c450041757c4c26ba40f28b4c46ded14e76aeba09c48196b61fa8cee72331d4b7fe4cce59bc09b13009eea592c3f92f1d8b415f6aa5a31c1a0cd1eb98d88b01b1e2a14f7244afa6b32843806309be32ed75e7adc56246f19da86ca33bfca6f22d6027efc44cfa582ea5d33b5c1470a7b2c34e26a40b4a7390be7d2463cae6a5b6a2da74c577b290ac623fc3e5ab0c1efe7f6e50fb90449939d693dbe26bd0a3aef5b87c52bfcfc9d030c291053223f52d19344a16c9a7bec28f9e00021aea63b6a69704e4136ff7f3951664aa10ceeb1a9434a424eb07cb20038edd8daa64c3673229b2c52f5e214416a7ba3f604f3e53d5181be39e6250d3023808b05a71ea3139b0ccc72e87fd08ed407be3fade1d3d9b6be51ecc105c1ee3db0354bd867aca2d1b45bd580a9820b86b656f21aaec81d9efd9e4878e888d7375be51385cfb8b5f4ec0bbf33dd8779ed9a38965fdca77422a7de52db53a29a0598787eed54682c559a2f75f49b14e8917fb4a5aca3259b0c4cd6cea2f54a6a8ca7101e62bfcb1a044d3f4261efdff18c6d8a4ccf635dad0c314e8d59cd6ec3973b1d3092d1628129752227cca76fc300e4a5739aac66680d31a001b447d743de9cbcc9b89a12d3aac011da62b8b1d8e1af7419be3b46c7373a4cce89df15c8b3251e39c06a08a275b58ba106bf6215633182b645337e48d338c4a988599dd734380f3345b84f2ab0cd24d437dc746747abf48bff1a1007b3bb206359940e3b8505e0820bcff34016cffd791e0568f5bd878bb2b109703f848c3ff99adff59efb437cef6645cf8c080149e74fbd270d700e4c954c92ecf72ece3486ac34d624ed180ce8c866c7871f8965a18c048be3cc764afb05362a976faa2334906df45da236a8d57a93c04cd32f129ba15fd0fb056064c36b97a3532400148ab32c7a4753079544dbc06e36a7c5e63e089d608ddf831bfb15f742907f9996b8e71a481ec9c9637d32cf206ab98e240270e2032b66a8ee739cb8840de3e691a7aa27b8f56123a4335332ab779991ef61e1410539b1e604173b44ee9bbd39a83127fe5c33c78f6c0dd08bfaac3c90f10c2a3bed0aeebd9ee603a33fe730b8fbd4063b6685c5c73d7825f8c11fd387d0b52819e41a2c71b3e07e1aeab62e3266a2d4b7254c4420861ee666cc3b443000d9ae1c23bbc0b585a9a7ca879b4e1d9eb254a630d3baf1034833833d236ad94500675bcf4d8934e761299d08f6c8e8d77e5a758dfe13486817c37c37a13d3ae2cd08c330d1bf33272aeb3990cc5eb916f557b8ee01b7dd136bb9084a2c7b445b629e9ab0e4b8e609d566c9fff48ea9a3923ce73d18cbe162bcfa4a2301a1bed82c3ac6ab88877284eddb421f05f388017488bc34c4ecb46754ce614de86b96d5ee588e758fbf990bdc2fae9f1cb69423c87fcf06142db0df76101605ecc2547827b8781de09c263726c18d6fe897c169cfbfd2384a34a5c8008f2581f7c702f9179ae70b32eb8f023cdc7d7af3bef213766d792869cb02ffedbdcf0b24561c702b9a546833796cc2e40ccf29415ce7d80ab64338c9b1fc34ad880185dfe77b38bd7a4de43534b3846280a401e1bc6fa849550c035d14d6e754b34db5b93fd14de4b68ea5625bd3b76decbe0221cfeb16aa15367d5b08d76755c8a9aed006ac772db4791463a6bb03a6ce02ae6ea1af99926d100244e719a3cfc0a3478438b80ca36d49771ac4978b83106fd3f5af37c73084c9fd72ca521130bfd466d268769f7bc4690a613a6868c3e0416bf7c2ed8bb7822c63b1dff8db9f3e4baf8e7a234051267b043138ecf955a4d9e4540956534e8885f65616a2bc7b2ca9afe11fd5873bd41e97e559392b05ca5825e6cb5d803a1743ecd6ec3eb45cb27dc6bf5953e233b2adfdc637bb882c25bd31d5cfbbcb400ffb16fab434ce9080716d70b335f802f86461275b2588bb055226c49a1ad4d8c563516436f4605472b1789cc39a4689e7f13136015bbe924db5c2c7d01fdf842001796ffba8dd0da2beda286b700acec38b1d9af97b04476ebeacf999766bc0ae18e72636ec82436f177019bea3e6c1fad6c05fc204e56120680605291acb9f5415b617ee0c5003bb672a3641dedb7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf6ba8d1d47ba8796c4ad6cbfef04577c164f71b6ada94a437e4936d7aaabfb4f","signature":"0xde72a7a083433f11886fdc1a7d90902fca8d1625afa1cf949d6b1cb7c0fc2ec0d7ebefe95d8b687a148550b8752210d0e9e908f8f960d8cfdb6d57c8d6355baf82b290c524ce24ceb0958144f36467562c5eab4b0992bb467a2215dc28c2c241132701305fcc6a3faf49af9e9fe1b97f83e202f5ab918fe99e23b8bfb2b79021cfe95a9350f096fc68997f7c77e17417b33865221800d4aecb21cf1d876614b4afd0c52d875afcaf1f1eda41289be27a4873bdc0d159fbfcb137fdcb487f52734158fc924cb6d4d3074513a6b1084ff677763d20785785fcff6c0b3cee39d5d89d39d5e081216b9a235e30542d002809a02a699d39726f5cd2e7206a9216f4f38f2e038e414fc5f95446276a9a7d5b646c2108d9113477923582d7bd66788a07fca7a92b33d3b5b0d565724032a15ad4352b64f8c6503b563d4a93e29875da98edfdf879d5469f26e4af325f2ace01293dc678dab763407ff49e476d5380095b2497e6ef00d8834c5b59f0633a8babf6bd10b8e7774b031b7bbfb6533b351f732b2dc74caf9cddd899d179f93d9bfcebbcdc127ef8f88ee882822fc595a48333317ca8509ecf2ce3f548e2a56d05f09be7259d7151c210637930f93c2aa8d626c5290ca84dee7c61830e1578dc3fa69f06ec95b47aeda6a81c8d84f192992549bdd71d67e8dcc79d162df4e35122ae49675049daf329e243896ea665d046938b2f083c1d93d37048c7ab7145266fd37bce7235220ee2ba112539a0c8bf0cb052b89fb8bcce90331986cc6124d0e7d2d40a01edc5514035174c0c86c571db08b9978eb43989df51f819c066826fee4bf41eeae88a223fd8512c701c42fbbae856478abb04be3403be4f7ca521e13d461045b63fe6bd3d23e01df6e6e893ed2910ce347a637c3c26bcb3211c47455687a5ab2bbb8a7f3b23e7de09be253a5873e6265d6e7c9ce25017b24fec1297d2d3d37ac6ee0833114730b6424707e66d148d6b645f6ea185b9052b6c29fc63a7f664447705087daab7b18f5780b7d7ffb373f59236765487e41436250fc6052ead2bfae6fabda5e39a7e7f701504178074354f65b600f4418d8f58e4e1d18542f585af7cc49855a2b11f4c4a6792a8c99309c04bb1b632a2656524fb6494ca309e2021a29a6d0be1b9d685c0a07f0379c24c732bf8d5bd33cdd1f630d6d4385ee77ed6c8e98e34b91c77ff65d29fecc80ea6bfea48a6c79ababa72d02db5464b7664acfe87330a707ccff36c3450416782efbf4962865b9f74344e716e1210a1b36221c6efa43b7d0283172b149ed9a908d3ebbc63b2f75fbafef582e07c461c3281f7b5d6175ab2c7b58b15ca2741c5240597bba677be4c63f2ab1f9f252fbaf8d2885bd8cab88f510094555632ddfa08c8d0a4e3d8a0c089dd4a9f62d26d1b075dc16f9cd0c2105e4f9ef12d6bbac5a24f59f4b6daec6602fa330cc586140f5bb598b6f98e5f5b8fcaaf993ee1d409ef84945a7cddad21732d3e2cadf0da4a2c73f339a751cdbfc4540c80b5493637f7e03aa05dc90284f90f8f5cc7d9c60af266a95e6c8fc349dbbbe527871b550b15b10f457bad1295976361abb454eba770c5ffc1daf98c8b35669f40b914426fde7c24eb344a2469674bdb26d40856ab17ea6d34b6cf3e53a1e5f21c50b8d26e38c5a8583ceb9ef36c9d21b6b7906a6e46701140aa997b711598d9e87280444da6c2dc551631baa002438111d36952b5e428ee7286379079f886914b544eca68fcf653285200bf0524707149ab4b657c115f0f428c84300321a3a7827c9eeb135795dd6a499f541e63439ea1bf881e58b2ec283d2d4ded8debd352e97a180c95263e4301a0e8bf987fdafe6aa57fc357d48d9b2ded8662bc0104b2da5d28048d43e10f44d42be5491d786d6646fa111a577eb07f2b2ddedae7b7c0a75b70c62019196fb2fde1837ddc380d46060922688897bf23548c70bfb332bfe6ce033eb419ad967282c57d36f8f37e9a527489f09d60a16be797f957434f56d1792ada9770415956f8d132c34b19e52d45a8f1c3c23f590aa094e1a779fdc62e6a6785b95c8b04ac78e288c4a6af711279ae73f9a3ed645ec55f7579b464630ecbf341319f7cce49cdde5cb5a7208be56c04cfaca84857fd1c9e6f99a8de37c8f96e313130f13a132c08da2c7230b7c9674a6b4e0970c7d112da798578f369575b837ec1c8db7deae971f5d5c239931e68761edc398a806de663226cbaf12cefd738bd0120cd56aae475fdf7e7c4164757d0c43b7cc9b68e094a384336454cf4aa8d7020db536dee9060ac634ec331bd654157f8289e50e13fa940366d928c49377199332d44ea724973133d81f592c55aacc6c2892809d15d9366c2eb17c24ab6211b4738345ac1ff9c06b7012fd72d10c9c79ae11cb86aaf5d64e98f4b2fc4f608cd004e2dc7aa5217f874f5715594c3a59fb4074ae822664d44e51f88d980cf9596e493d27fdfa5dafe93f5d02c4338504b37ebe9794e5578dd744c0bd961a868fd84772a303c7e636c5645c3e1697028361947fa7dd676452761d0a18cd6ac3f10daef0225a8b0df45b81eda531eb837538d79d6a754f3c081ca3a95579fdf2703c08bdfd2d1c1d2e8047ac0f3aadb7c286ffc283b0da6607d19662a5a7e7f13c0f0885380df611353b6067cfc4b4d41e6837086c29015097727f590e67791788a1bb0ef1602cf5ff9ef9ca7066c8ed2df6437c1735e897a3f036bdcfe52e98cf95757061b845ae141850f2040aa065cca594f299dd6200051a4bf07a4cec78400e27e2bc7c03060b9d77177638036261acfa17ec97f3c0f49a4019ac940a3bf3a8cba10e57cf100e4b3c6d68c3553f896d8e1036712b87a7765b1383aa1b949c625f0181c398983ac4085f5defc104e86169ee79f83514b77d003e30fe1bf30b8e33919731bc6c31d6a511161fe8f02c6686beaff50d80012ccde95b8b7b0c45b492c110b17ecfd6217a29dce3cfb24a71cbf79569ce41ad8be8c6a62ec6305f42130ccc0062994ee208c1c15c5d38e3b06526e9b2a8c4f289cf05f70cdd2b7ab55e2cdc277f2491a6f9f76623386b7271e43af015125a271b7c8d79c97694098a458d8701a1d700494bc94798a8e20b532ef1017dd67c791395bd595c7fbb7a334b18987bba2de7b43e0e0561e3ec7ab0fcfb91df61c82646576eb7d484860324bf0283eec48069161694dcb145ce439aeae99f11e716d53e5e2b4e11b3f3d85e67335665b68f053fc139f708cd9f107aeda2201e1df13da0691bb537b8ef411d4e99a4a0cf3c9d60bc1858da234a544fa2bbaee54368ddf9f02465e43083606802fa6368a7fa95a34179e991c4eadadaae38d92e1e6743825bdafc4cec607b978ce4bad6f9717cb9dfa23a1dc07b2f28e7056c4ac019531c66593740799abed9b557ef9d1dab21b70a54003e69ed53d3c01bec28393f8bb28546dceec5916f584f85c3d1ef2d61edc19298566172ee06a4bb9fb6c4f16161c526cdb75579ea743905be4a7d92f1ef6b93a1615f46c9a8db7ab87b53bef20338fd63d663d78beeb78bd004528fcdd3ccf5b7309376cef1a774c042e07b5a0a33e3f63e7c5d66e9453946385313ed305da3b993508018bf7f9df32895a6c482477bbb810ddb3aec6cbdf3f717db2b7c200d4a9a798b2bf16202269e2f7faa275cfbc001572646f55592cb94a6a7b17a76eccf283b6b7dcb48104c61dbf002a18150931e654f552870c013fe1a424614b500a3b287f48f239c1ef93a029e13769b4dcc9a3792a8be126edee0c803fb20326cc2af19994837d184bd621b08dcf8cd36cf0605c472596f09a98d286ecdb10501a07df778b065558cd66b450db56095f5d90dda131ceab56dfc1d14aee76548b18b9168b1074ab0de0edfc54e39d10d9d0bf6763c6f1a2ec7f3630216edd7ef575aa0236f21280bb424c7bffac17bfed9c15d0bd2f7394367f9c58e70aa422a21704d6e5ab7a4935eea9bf7f178ca54f21ddfba8fe31870cda5a53098e4e5d0ffe89f1c1be7a565e63a28718e2d399f850c6a87128748aa4fceb3611a7759d2676a6070453d3bba350f018edb069b5368e6857fb5cadcc6fb4b6138788c5c80ee1b41a0bfd988301e0bec8f3516411ebb64acc39afd9898df6936906e55fb24acf1fa34fa18db813afec2308d5ce9329b7e7340851970608195059adb3c015f1292c0d15222c9f28092e0027d6023f76dfd981a842817aa44f5ffeb066250835af90f8421898bed44ba64908b767b6f1248b10e51fb0d2e3a0542afb0562cafd934f6dd5bc6c5857b064768ede9ee52e6246425e473f8456cc3fe1b03a4485c77157451b35066870e72dc49638f9708b518bd1ae13da15dfbc6d3d5ffbc81974efce2d87ecf8285a35a8d36cb99ba4a99d2810702d48b7a0a367ae01db3ebddcd55e6115f90a73d8994025b093f84865f6af45032fbc0f14eb3a12133f23c6554f8f01883e9731749d3d21f39e41f6a2c502a7cf5e9c97b7aa31af0a14d4d524af7310999903b2aadda0164118b6cd011823da60c93d38e7c5264bc2ea09b04ddd871ebf4004db15b2f904ec09bb2eb9464b063c89073a5ce939f6997ee4a3b92531be11dd14d5a5879926c96c784468b953f20456997c5e6403ac808758520e206c985c40ce3b0ec14df115456553025d9fb4f9b08aee65dc5f98bd789f39fd0add95c341451652c1698537a98c9163d6c61217301ece5b0bf7f074ea4136dc7debded00e696efd6fd5503fcee0e8b17bddd921e09c52e12e4153a165659b63a8c913ade34ca4dbbb72c1446da47160ff0819f2f936968d77f79ee1f04cb1ccca270092e5ed4bcf87a6e050044ca75ef3eb7dda25a578bba61f8759933727e916f5386b168a6cf0f89fad24bc5fdd4ff9e896451d38b7573e90daa90f54d30405269ae37a2e39af70d3897fcb9febe84bc582c28eb10854f62b385fbe09979a4ccc1c5090807e541a6e3feab6f5d272bc5de2e4a86e424fc150ff023f322cbc2ca8a4702dc66b8f5725a84d4180809c9e4d6b2b5e8f01a5bfac21c597faddab1f35a89325f6184a21e35acf3f13dce652832c455d31b579ab45904a44cd5fda55cccb8510a52aef1cd2641aa9be3197978d4c145099dcfe0f3476ee95b27b8c81d743effb87db9f2a68e5ed4a0b901692ea74476e2f19c5be8fbe67deac004feda1ad49e0a898e36fb3bf69cb4bef3f7b91100d542b24d0b16a0b6bb2bc4c65bd415cde186cb48abbc6ac5e89cdb630c6f6c683555c34e1add88b9b31897f6a80a2dc588cf8f0dc3d4650f6b3715b94eb866951437343e4aecfa660ff778f6f73281c8c0e72ce439493984d5ba32048ae61a28fac8f56b7724df6ba3507129234a8ef43a87078e299c1fa2b4a3b2c830b9ab95039cf5f552baf3acf26b978d5ac1740afb0a184b5e0036a7325adc7b06734aa6c86b21e3dde1659d0a5efe7d583bd67851a16d84af782cbfeeb56dcd5985c5c012113ebfef44eb2567da3e84a60e0be9bb1dc0894429961ca39d1d7c666328f838e6604bd133fb1b6fb77aca3b288e4ac39cbdc186f2383c198f0997108c6c6b36a2a7d60189e73eef62dd2ebd078d80cc23a0ccb2cd56a12db86dcb85ee78759f5abb5a5d734673710d74e8d8817687bcfd2525744c61bd977bff8eb8b2b92bf169d45a6922d42352d1cd00c05fcf7da11c090ff55341c6c0d6219b47d199b0acf0bfb14db48db7e1be3fd288cc0beee4a566dc08c2fa10158accce4252336221907b1cc4dcf2e82bf3ca90c22ebd093ab9d595f9386c975ed30b9b965a64cf606eed9d7e842989b8180dbdc2c2c34bc1021d561e0af9b9be42bc62b2dda071c499972036a115adf3620d54f6f40be2840330263905d5b205f8c5154d38ed921e8d88265cbbd2843f231bed432f6f875722673d0ec9d0a73afc994474dddab265004235fe249d03e08c7b850f98637ff340d975b32bcbec83b93706e9df600e9ff9cc2a7fdceb5885fc5131adc592e703ded79760e6b377a637a86aeadfd013ab3b86b1f5ae4a0cfe4904372ab1a0f7f0fecc6d892385a46c047ccf4ee574b9bb794352973ecab3fdcbcaf80adc30caedc2f78f645513d889a71ba98660c701e9631900cf1306f7451328d92b3fb314409a91c661153d77d06e0577d2b2e2e768f50ee0e017139263771ffe9f4a82d87ce3d13e8c5474543f3add6a558814b461f00fe9a70c9dab90dcda50e1a5f9afbd916c4920f132ccde6a9fb695b6255784f7fe93f827ee7bb617bee2c797a49ac2173aac35b2908e30a86ffa5def7caea5aeb58a472f9e268ecc6b004334adbde56bacbb073f36e51f335952d35ade8dcfd55be88a82807e3713b8ab195db14c17f9eabb734b6025bbc223ad53e75070f7c53b76cdd123f426596c9dbe12a5a8b98c7d1e27485a5b2e4e7f4ff141f4a738eb0c3d4212b314a7b7e98b7bdcd17262f37e6101c71848bcce90d3b9299a1af00000000000000000000000000000000080f171f292e353b","message_root":"0x1328dbb9b4c3065e9d5e552801587e8e36a8cf0176e81d3d1b13a217ee149b97","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb24a92a79c252d8936b82a239c07acede09e3b4e692ad2c6e384f8fdfe3c3a0bb5e44392e3b9a47af2e5f717b00dee3780b46aedace26ff3e6641d505f455afeb17b1f56deee581b3c1e3606745ef73a381a49bd85b59249a4c113f3e95886f8518bc7daa10f521f305ca39854eab449926543329ae90d57ff552e0f1e9bfc8b8fc0268de5d08094ee86693d402482e1f6da142040d69292aa49494745a2912c5083460db4eae2fda38e878f037aeb21e243ea7100bf59abf4c6f520e190b584476d84b4b4cde07f2dff1319adbce760c088293a68496bee5fb5b9927e3bf412a09137ff79ab6c5c49eeba8a7de96630011db4c5e6e6b254581d8e1b8818ad65c05be192cf850c40217deb78f2f24f19fddcfa5505a7a40a328562b6ca065d0cf378d3da136d7dda5764b3f2ffe8208994a8e7ded9d8f8dee0bf839595e76f01bf5a88a7786ef0cd57ef4968e5fa0fa771f57ae9196d5868cad49f0bf52703eb1b8b1834a15cb145ebdb2dde30ae3362acb1ef543c3c050ebe41ae98e26f02e6ad7383c5259d4f319057b2d6e6704ba22e9b9f1899e1a371c44711b330299534ccad746471b779b9d561879e91b812714bac03d58c8da1a3670ac4bc4e8084f691bb8650ac0bb2881525204599d5fbc8414b3136890ff0f0cffe2a3e6f0d92f7898d2ed5fa7485c69365f64fe72152c98ce9ef79b4fdd58e967c01cdac3de02f739ce26a7468855c7d2a85f59bdb47d2b23cdc8f5ca07df94c212e2d1b4c752ff3c61c1f99b975823e5fa7ad6b5e860b329119b5b15d5e92e5e76a791bf807d003c7184f892af761c48a354cdd68d17f37b6f3655f0bcaaa7b2a45965c6c5156cf52f074739ef6df932e93623f40dc0cc5fdd8ffee90fe364d217a7e89a5c80a0479a18ed5bd1c52ffe2f0efe35b3724a4687ad7b23002fd5b793359032330c777d15250a6cb98f103edb24552766b27ee7c031462378a6123f8a076adf895f66fa5a8cdee29c6f0fd2645b30b5513159e0b1e88017b7369f3f3ef9a3c35031916df51be075fe0b55986b516556f08be7a72ce15f2eb7af550e463aa2875566fa8a28fb6d845cc5b212e6b74df2e1cec5d516f3e187ac5083ad3882f60a626fd7172fc4fb53d9f18d2dbbf442dd345455e30dc4fac97abc6ecff7fb9ddc604ee36a70aa1a7325acf806f56695faa86492a428e859190c238e6802fcd2e62c711a74aa553f8b8ffe1faad8ac25f94c863b3f682a2de3df3c739ea2952efa19f56afc5b2702dee81ed42afcc8f29efcd06f0a14c4f8009a504020b8d0063e391b109d8898dbcd5428d53269bba7fd2671e34f543242308bfeb79564fda18a821d64fded8064d347c27dd2e94f3fe1c6d85923fe0a3776b9a3137ebd56ae173ced6d06d92fea78dda23c1272a0123d66ce04df73561460dfba6c6930389bcc5291ac8c3ea9fa03a8b5a62fe8a1a239c25ae193232f9a2e1d4a343419c2afa8566d2fc5fa9d5400907a3c606c7d7020612a469524f48bd3c04f0cd3ef3a21e14efd93ad226d081d332dbb1758107fc9f6f3881bc9878d045b4a997c5cc875f96cf7e604b172d99c15d1060571b6a3cbd40e4f9104a1d9200227e3d2bbe363f93da9d192a24089330f5ff2cf1aaf2c522f8d7dcd40bf28f93941bea05f31b26fca466e0488593e46167890147229d929ca3ae4ec7b9ac7d8a48319e13fea21fee7c8cbdf2a5329bcb1d4c35d83c79e4f71ee72feed692a1f4b7456b8aacf3271d80d4464a4f5dcb46507311051d7dd72d4d28b9dde4b0b715d071ab86e6c73112afc515594fb41ef8fccd11ca55d176fbd3aa029c4520115e9101beb1ada06c5007e96c3b331361c09e41263b6b0b807e7c84dccf6e17c212cf36a6243dfb9edace18ba050cd1ea0d429b8569e44d0a80f8ce5834b606c34fe51e279082d7c69a358ff507d1074eda802df766c796738b13aefe0a638e57e1419b2306cc9f42d6b16d40d7161dda389df2f9bb959e850ec31c3785f6135ecc3e3f2e2b66656aef9480962ffe4eb0725dd9f20fb0332dff63d4869ea5f7ad02bb77c90a3f0a6f0f30b2fac2693327fc24707aec0b7c36aeafb5e2cdb11a54cfc2f04c308ed5a7260640c73ebf950099d0e90ebb315501600a3ef018bbe5b4acc5f4878417e20d1582cccd29cd99ecc66d3e402973f067e10001bbb78a9b1ea82d0120e4d70401dd4a8b91d3e8fe1485ea2dd977f74d5cb1d7f7eb158618590bd007dbdb49f6e056317e7bca7e0bbff2871715e1d0a3ca02d66d5f8c56cc7d60255106b99b7cf7f108bf8a3cedc6b3310395035c9ad99351bb9b8d7c356cfe641c254c6b4a0ba08b95ba23c1a71c4001502d9f107692edc6049f682c386feeb326202f4aa74623d4ea20cce93328b70e50245485b2dbf51751a09c43dd2cf4afb52c1e7b6bb52b79f3ddeb29d228e051058796a0593a1b8f93be312fa882cb7a0852037c82f51b4cce9b1461e853d9e2f79b8a20d24c418c96fd64c7950f57c3061405f01fffb2c8436758a712f1f8bca0f03113a8f731107afc12da376ec99bcaf7c69e0ffef248bfe1a3ef651b2a1123fda4d4a7b7fc04110cf7fc1f73e9e2479c4b2627f39c9940dd59db1cf68fc101c7d9e485ab8a3f5b99b756dd6fde10bd01edc591fe016350111874f712207763581adba34100d79d22745b2e712c362798b8d3fbb873f5608ff1a66a49926b4e0e8de37ed273b27187a550936fb2a012d1c4eb3f1b558ce1f2921e608326de226e12e5671056a58220760288129ab118ef2ef397f42d16274fdb7582bba758f8d8d48588a6ed00ff75341467ac796f10cda7b04f18d7c95b65b94a3555226e5dbda1ea76a7db15a619e1de7d7f2497fac4e3790326a49ace10848b56be781b9c366f555e92c8fc05c52137d3658e74b522f8d701560a36aedfec80ed6acdd6cd1d7a6fe78a54fd82dbc179809e9590bdbac9bbc194ba2a00ca10b6bc0363016ac580d79f632ba62feb2535d7824ebb7292453c8a11c5455841fe1a22dbb3e8641efc5195ea798fe776838ac81c016199ff5d3030a2dd9bed56158545c6489436aab690de4fd47203554fd80782fdfd87df42d4ad35579e6e5067abd08cb2f773c1c0d8b04f2184b22e591f6322bb6fbded918e78ad9cc0c4900c6445ac0fa738e9ab28662fecac0c40fae41df908ecb7664ba51ac8ff0385c99aae99897fadc8999238d16cba55401d1391707f98b1e74cfc777bba409de263f0e6b9f407f2346430df80b6e31196470e33337ec81fbf089bef6fa8498f05505d1846af4f6b2d85f63dbef4b39830012f8a62e615f8b264ac3d751282b5dfe40c03546e70992ad6bab426f38752e862ece2e1ab11b38cc1455a3c9e458c015e0fd72a7e0c3f657febdc1713b8e5171eff090e13339a3f5887512eb96de2ba109aa7537f5be62bc4d0ede8f154d003759d15a56316c12cc5c3923b9611352563f93d56a2750e66665cb6ab2cde2cd96ce76c9f2198b7624cd1e2b953f3e927f4f3f1e0af9544151290b3eba04d685ff28c1d02555fe21b3d0bc95b423560ae8cd52761f07ddcc8e58b71a94ba74d835cf22c2ea797e46371cfc9e24094d80cc55be3556d566b26f9b3dd9aa2d3abdec1f771cfa5f01329235746d7a3ce772f8e","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa15e0b36c64f0004bfb9066945093b99b0f6e1f9cca2a0a59af379b62831464d","signature":"0x65da94e02dfaa935be60ac6fc838860b57115b257fb9a641dfd7e955db37091a17cda06d8d382ef20988c371cfe1d9d8ff091e5fcf856fd60f2cd1c3618dfffcb6bd7fabcf65fa0e2fb59b7cae30f3bc53972fbb52c78e07e4397cf9378c3fe952615edef589ddca8850940a7279844a72ca9088c107a6c33ff004f15dbefa1c55e8f568976c7c7430560bf2158ebb76ae74ecff22bc7651d6094c4fce6b70b3db27579b0cc1f4d38cfce4cc77d39666157dda952381965b43057c3ce9ece9e307f89ec5c5898393727b2db1ee76a89f05d4ea785b48eab2e280ba656cb274cde15906a323e3fb411c5e92c269f8b0baa937be0bf67c375af363162f3f8c6a78341bc7396a97073a8cbdd6c4c0f16b1217652fdd5336f8df7bd4b988ca1eac7aeaa006ba142ceeeb7017a50b9e68f25abe6f0edba7318ee2144933d4c293653a385711965b4e7a67a9e076ad1a2a97d208b17be0a324e64aaa494ee16e77e718807b7620b5d4c00f360d512ebf6a8446cdbd4b1f17753b389ad8017bccd4bfa1e73efd0502f7c8d91cc1c16180ebc9f9102afd504344acf8f4ee41d6fa91de63c2af3dab6fdd5c1d81db6acf13a1c506da7270a8eff49dafdabe96a97ff1145910ae9167903ee2144cc4677fca1e8e2d86b8bd530ef4b75ca5eb0cabaa89ddee11d881f342a041d1b9be3cf2ad22c6ef9e516b64507a603f0ece21ff356e046affa8b4ac92ca13527134a0ab18c3b8d3962f558145c78de83fbe8a8ee72fc9e0dc40a87cc391a6ba7989fd95bce5d983639ccf946b22733bc8f4c40783fbed707ddfa318f3465ac28a647e3f889ff476aff89f4e5ed2158e16d7d26b44a41996b9808f1ce0cebd6e7cde57c623de60ff1498113b7ace8ee0396d0babac15b76ba530c2b4f4026af7a9b7d6b96b655e39a04bff9f88eac6ef0b56cab80b13f5a723a7510bd1786d8bf787849d1e9dda4c3d674c94aa5701bc0a2ee87b08032282645e4e2f707c301c48ce721cc54d55d99fa24607797bdcc884300750bd6567c75a56b7d2d7b1cbef686bd9afd54376979927a1b634a5cafdac587b81b5eae46559b8d6245dfaaf73bacba99ba2689146fed666a64b168c4a59a274ccc59dbf04a382da6ef026fad1e6e6ca137cd0048a194720e16e999cfe9946c271d61766068fa86c1b08000caac638e8ff0683e12f6d14c2a60545cb539390dca37ccfc549f54acfb4139a15bbda5431711f08323f3a3f8fff902f0ff7a038f03680feefc2dff475dad679345ded49027a8f671e9f11e740649100c5ecab145ef40bbf426aca4fdf83cc9629efd0877885b1664f275b22d32c78256d2d69cb1e070b6eb1e3702168e10b7f16080c52829d77aa56858b0c8f492751661c12bdae7932043f3a4515afae549b8ae0ac76c0cb36fa3120144c4def29e6986b96c5afd2e9ed489baffe6f51e82583bc5dcb86b6867c2befa1e0e745c293b0277cf5c198baedf73300a52a76ecf22e5eba007ce1b856b9c5ef2b4685b1e088e0e931aa297e7f36d89651fe952ffa1abe703d9537fc77ee57383d0d807e8f5465fa16486fd5210a3a83a28aca2126dc8aac5f6a6ae4e668eda4f4b6adfef47c29a8dbf5aac045c3344e31bb0751e8a139c5fc7ed35694e510729223de0fdc765756030892c9ae3d86b76387f2ad123a3c071d297975d9f08e0132202e382258bdbb325f6ea5194cc168e23ada9361ef1522f92b8bcb289df738f34362df69236032b0a99ea958e390de1cc04ec63b36f359ed2737fa01358d00dd4ff0ab98bdd1f372ef8eabe272918b3d7249da061129d153453fbb5111518b1c635baa5b4056de402ba7e3aff4e1cc2cd319eb2972c00d4dd5719beaae512af6b9fb1591927475e66883d0c6cb66a4102367c754b588d223aab6fdad171cdab4c129a7d1f0ba4d34a9aedf855fd86568175d394d511e6647c40aa4c5be1f398c6167cfaffdc59be42e4a6d09b4659278dfca669721076e529a8ec12a76cabc96627c83c4be82b0558b35e062123cda7c6a18e0ad16e22c1c317b51be1d9e1a42c7fd389e3a7c49c1524db8190223605922af50d6af2be6cbfda4b0d46921f6626530ca11eb45f9d4a3c5611f151f97619063e7baffa6be9ed364f60535ff7ab6b025edcd69ecee27f8ea0bf0b283e9cb6cb820c9915a9ee7ff5c73c133794595d4c82c55d9a31f7f8f72ce8713ef08f1df51ae3434529c149978a460f9214e558cfdd549ad8ed50593080e8151c0391a28e60862b59ad24272122dbd7c8f293d0552a6af7696c2cf35af370cd8a73269c5e055cd3a6b2588946ae5bdd6cdcfe496da0ce889933c27eccaba275e8016135ef3c506fa818a981a242bdbd52eaf25cc602c21b3a5b4c62b8a8147493bf8ef857e88abe371324edbb467a075b8f8ed154686b119b2720cdc65b6c730ce83d9b3b91bbbcecfe70aa6031c21a4d52e8de03502492481cb21d04a1de80febae5b9fa4a756a5e0ed37e7368851917836161b426515e76d6a904691263dd58ed1feba237c28920f5f8dc79b447fa5dc463317003d0e4e055c67061e78821d7c08f6f478eb5940c45b79bc451d7bff528855add6139b73d9c7efb087ea3688bf45e9b4eddf27134e4a1a9aa4685d7c48065664fa1ba6f0f8cd2d0838789300b1118e4b1d16d576baa2dbff6a91bdd7e6608d0318c527fea437f13d0642e7147f9922588a53e6f9e518a03a7259c9cf4e5801ea7fe26eb9d131c54cb7c56424a84ec13cd7b55488b0e7e86d94f4240720bc99cfbb1f76445d1bb8dd648eb35efe4dde6480275f0b4b7cf9ad6826281570f0027ac4f1013e1b3e9663e293f9c0b9d9f3e55e55560fc69832c5fd0608c9fd572c859da9551c19512eeba77b6aee38b1c18ea21ec5ee483635a76760387195cc5bd9a36344e289d02863c546b331fe8fc46c53405efe79f0622afe547e79f3c0ea859d9b944bbc8bd53bf04247a7c2eb0933ec1c8895cbe7654a7dd2368dad5dc0819f3aa4c58344a83fdd42342265a18661ed26f1cf4105725853739d5fab3f086fff635839af0ba0f8c0ec5655cc8b08248eeedd6dbdfc820cd3436d9e0669d5803ed32356b790f1eab4d15a00bfe1d68ebd92fe3b9b93658ea1e3c8c5c18bcd74245e9a8fba2821d6a4df8525741871c50b3c7fa14e5358794e54760b9851e80201dd3681a650ee8e9b949703ab44b39e071b136225e6d764bc3a9fef4acb108f42e07b9d96330fdd3839e17c43dbc9bb07e5ee7eb16c60a0e292c50f7d2791fdad81373dee055f7908230876921e729f62e033420f985cc35dbc895d5bf862878ad79650ce0cb8c47dc0e096f2f8a1afa0d96de7429231ef821cff339d3ed55fed52d8fc4667eba6f9ce3c3a91fa3e28f1fdde5e7f341f55855b1359066e6807dab3730c1e0ceb9137a12a6b27dd5c784f87598946842e387d07ca9b88a438482490c01a02b0994fed2dbb2cef65a3f1e1044c4ae6d9dc6743ff942f68ee5a64e8b691c3fff3fdb95e2fc623a4fa32deeb271f7439d8b3e549d57d2ae033bdf82ea026f7e61d29d81108fa542a3395f32a5c43aaa5f5563f4f87fc20f94623422507ee08348dcbfab4df32acf74cc2bc613c253c8a5b9b834db0f40c65e0523ecaca620cc8daeef8ab3efd8860808477ef7afedb4f6e31489fc33e7c962ceb93878a78d58f6c736a5204d50560f2a2606a77138a43838de4d5d4632ad31a16f39c7f6337b04c056d6e0da9e8297f34eb4dda145adb228ab35c8b78a702fa5901a3b2cc20b8cbdbc0165ec48a24d511e803d524f3707162f4103a088ff84c8b2ea8cdff709eba9d4d84ad8d179103cc16b081eece4ceebb21127ad4196fe58a880270fddcb6c2fa87e9d1e8f10af43c8a81ea923c71a6a7f910d480d70b92a6fc2579758e19885c7d9880f96b470907d1ad0914f582befe88c865368cc0ba70c9399d8001bc12204f4ddb116eb6417442928e938efa9134e94d8531dd6cb3e906f115b5736f1f18da2eb8a118534ef179ea0f1af35b0d77c2d94643da8a299cc03441b12c379d5b84d01dda2d7c98bf787f3c725b7a2d55ca1745ed26c967132dc5f0b1ee06107c4f9c9d1068c6a665329725112676faf07683e15133d7b941a63a16586984250ce597ac22369ff257874d7a024572a99fdb71abfbc0e6e6008de32dc19a9564a7dd37eaa9ab2655f5bb486e492a53b74a50577811f1619bd8c43cedafda0b429398676d864126f89e9c704cc2eb1019d9ba801998369b38aeda3e23b2edc6f2dd27d819efbd8dc236eff7e24e68c5cdc36a959b595b9065506337fc503c739719b3485fa504bb4cafbb80493cbdc91ed34122ec5ba05b82677ebe3d0320a9e50290bda45dde1baa9bb49a98b5dd15d1502213d355e805e677b7fb8532fba8bb5237383c6036f7bb881dbdf2ab5fa0c559a3ab61ac0b7bdbae7f629da3abe789288fff6f17763176f74a0059005b15e40e5addac206a83a4d209a826cbc20b64ffb48cd38d5ec3bfcb37339e2ba73f7bf1ee6069aea84bf57367e1cf8eb7e6237973d830924ea3adaa8b8046ccc63e661109108288a5eca89fdc06e1ff32dd60756355f6a6927c32cea5276c2cc3719e46478a85dee9d2e15541bfd298ec71cf084d71b0a5f734eeb5b8e91f11a213e06f2a658e14be0c6ef2739187c11fdf3e175bd17dad66125966fc6bb8442e66ab1585cf69684db3c56b071fc2c158a7fa093414ff7d3bf8bae6299fde30b5c14986331868f4d8bbdb63239636ab6dc35c4804b46d8f5242fd7ebe9e965503fece094a2cbdfb6547198c99979ae5d03daa3dc08254202436529c4570389dded9a1ffb9c60a57ca7b59b3241851e3b18646cd038ac2d23c3e6249eaf54007895438dec20d7d1e0cb18ad4ad47bbb393e41b5a5b209cf2e7e7d51f71761f104f2786e78aa10d82a6653bf404fe5ff17cb029e9d995244ca73d4ea956afc5bb1d669badc193bd2fc58c9cde0baea977d3d8571b4577cb9df086437443e9f2b7cb79a6e8f5b47f2a54cd4bf10adca4b9a89b74de056f21e707cff15bc146f93d26310f3d60c9e1db34c9ce52016a0c40456f54599dfbf382239ca97b5d1b323a0c5157f904ea3232969bcfb5be02d2897d63599c612365c6a231c315007e4d734f77ef625f2122907a6a6946c4f547e3f9bf9792277ebc9cec2cef92e7b161cf5b4bc8db250d0db0a867e89752277be8dd8f9165521f3003693f5c4ae6e439273bb6c6fef29ca66baf6a8594f8f0b2a3b363b155dcca3328746ad869032a2f8a83a3b694497c4189336cead2ec7ebc91c62b8ca21fbf18df1a42b687710d484bfc19cf701001ead8550bd2afcb63a172031035794bcae4cac236ed8860336c8d3e765a196fe8097cce17206b51d7bdde4a40d67a17a3bcc2cb9d3df2a5a3824265858441bf4556b9531bcd9b6f61aea4b0fe46652423f60c605beecbc58973bf90981a7623c8b7512ea8b35ed42569b6165b7cd0fc0bf94c63edf19bb32b7fca9594e8a9de5c6bbc838e097ff1c4913e563b67eb7df011b462ceb3dd17d87646a9190d66afbb15f1bdf9a0ee929be06559af824adb2443ae2ac89cef2ff5a6b4e7658cea110f405c8474576433f8456748f2320ae6f4a6af00beb52dd6428638999c7974aa83d537fdbaa748ab9f50948001beea940d1c81de226de3608b8de4ddb3ce77f25c903db19a623ff9e7ab2fa5239df7b73ce0250093ad61ffd975325e1221a4a920ac91b20e3eb3049ef759d86970175320ecde9b3441e63f0a29e82556d945b6d2e52510fd15742054fea446399f3f865a20f023699988c852d38e66fdccd35a1db47c901329e4c74535cccd3b3829b7b27fba69127729ee4e80f30f06c19732a90782ea674b38c11394543368bf02cd9b0b2c2ced008388754ab6489ca9676b3f0514b4358a8d6317bf9d21986534c23c10880aaf73394dd8edbb5bd4194c357685addf364e5d28a4d91143f5c8abd053ab3f2ef1a247fd11564e4d2cbcae056bbc258207f3ea274e251504bd6d8ae8aefeb7c149064081188a99b68534b3de86db8bf78279bf0c26aa136d6766a0e047820655707b81643c15b1785dba1281d55f4970ae801829224cac57af15cb0ec075fe318ab405e9b332a8e51eb745ab2035e2f69d9a82a18c25f04b546874d12ef05386dc80416aaa87590a740065ae9b53b47b84e90e0f857fabc790fd2e4644d2e5f76699a41e86e0e48ddf5f1b5fb277111a6786fbe2162ffa6d65fb88aba53c6e740c47111c86fc59395868d0541230dee6a8ae92cb0c0e71aac1859db09e00adfaad2ce9ce5759b52fdbbfc63c4fea88d93b99468329875c3a0d11ab1020663981fdd46ba25d2bbf9921fbae5c37ef58475aa17029ee1d1a02b1ffcac1e534ba60472a2e40f0152e4a4d8e9fecf92382b7c2c4d51b2d343a3b668c8ecaf7172358a0c1c8dc131e3156585a7aafb4e3ff3152809699b7df141f2b63707c87a1a3acb6dce6000000000000000000040c121c232e3542","message_root":"0x7e26480285fb247ed25fa3b3538e004437a72e57049503fb8f0c2ac0a9ed396c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8792e0b5ab96f2f8b507c31f9a5d58c4916c70b694417bef2fb41adede0a0d5253d44daa10f2cc0c025954b51998041f854897401104b02ab31450369a1244461c50e9f415d2e3220dba6539694460b66a8627a8a76e76493ac24bd5f0b7b33774389b0d02e21c623b1c9efd3043694c2174f31953dc134f7234f70179158292aa7417a84b4b4f72dcdab96706a7f4ec977761ec7c65a1841991940ac63921102fc1c211b2e2e46e43cada2f052d7adf9330c9b96066441b30071c2b5ada2d1c20c72933641e83c9d84b06c74f6c103362a2480774ae93144bf60ee53f3bb3f8251db59d073f10086ce373bc4cc003e44e2ad244f7d667b31c46013e75d2f47e28bed8548c06f806d6060ac938443b22400079f8208f770e63fbc2951b54f97d9cfcd35824699aebf83fafe6baed79300de849d7abc2d8046d894d2e155b5d3da86361a8ec611f2a95ac805a55715d70404e7215934d5f27b520477f96ec610e6603d6e643f4efc7ee60ecbb36779794dcbc0daa45750749f4450cd2c1f4a09921da5b421c2907b7401d31405c86f2a4dc7101b4a6d3448833fada7807a8c01b0dcceef64be05f8f585c2f9a9e1a418df8e8ffd6e247b5ba33627dcdadd8f13b85fc7458364dd082a4b5b8c89b9634f5274a101de2de8eee4afb018dd164f4f45ba7b67e99d39edba65001fcf5a962f89e17e255707c40f3c70d953feb796eb5f708c1eef7cae835ae37e08e51dbb80bd73f3679116d27a3fd52d04928cdb5126439a184d61f8f3a4af93cdd9a0440e023cec70da10379f34fd5e6c2e29e8bdc40236c986c3ccded22dd7e5cc06e5efa73028184637c884b079bc2c2ef50dee9362bd297e1a11b0e3b04b196b4cb14306fd365960c7bbf3145c4a95a361558f486059907a9c7b01051ad217fe890ca3bf5ba7f7646ef90ca3e4774183605a14bab77d28baa0e769c837ab940d359cfbd93a9945e26451e041692ed1ea6917632cb479d7c0feb941b2f5f2e9238e52810587b66667db854c7c6eea38e7380161bbe1bc4fdd711a86f3289d61b0f1470bdd01f8de50df78188205f0e6bbe0425f66b220329ec1dc74ab92f240d43c655d126b54d1f45dbc771531cff730aa9298a222213e73629f89e195484fbb43bfe676c7db4087adfdcb373d9f8632d2250e73458dfd9f4285c431906d327c85a308ba6cbb90ba0dbad34013b02da60bec2afddf6d7ded0bde993f5804426573c45b12621a8c061f95829c4e72c95cf21dc46f50004271d0e40a9f66ea8fbb88e919617bcf3696963aef77ec4a38a80e140d35c91ff5a32171c8333eb53fc928e62ddddd59b81d3a9e375ad74d2efe910babc1ea15f7b245dbd91d4d42a7e027cd5f53d97cbc079d9a526485d8cc8fc870e73ba2ef3dd29ce2f72db7c62441319dac7a9ddc1befbbb9cd08c96b615a3c6a99a4faaf91540fc0e705459776e524ca1ea19ba660e4eb97ea81284d00f13115a5ddcc6ea781c173cc2568ba1a629a04768cddba23713f19713b7cd2eeadaa85c4fcbd438ee21c8c7d2ebfbf0ff914810aa845fc282aac9a9bbcfa940e266221ab11e6e8f5b688ee2773d899daa607d87f2408f6202bb6a7a2a668475f9904e61d86767c3f17a1e777c11ced330310df21c40f1cffbc030eeb60db89f210b99b15a40ee97a04fc33372f6bd3159b860f3300e07de32a0e652e3fd1d7bad16bd85b4a9411624383f677542b9e596059b572d70bd587f7a9e49a3146d83a45a4ac320535cc3310163b079ef3fff7b518ff932c821587948a0e84429d79559d3832ff2c5262a39a50ae2ee4bb05aefd6f804c9d26af41c11bc11f04a71c86abc7efb95838e672ae3fd688120cc43e100452fdbaee2f9e07bf3f610816c0be941533b29026751e649e673c7332c3d8c41cec619b3af53df02e1d62f6a67c4a48ea8139a212bc0066293de5ec2ce082413c494ec0de695c744c45155bb96f2e6d9fe52cb124aa0ecd1c0bcd15b63634a0c8ad3d114b9d40cc43cb30c07d89fa4c13abe1e6cd0d9b45b3c7f665bdaff136b7f41a3c453c3f1a488e5893288075709c8e859e49634b09d5ed190e19fe2146b4340383146bb4fecabde0194c7f0ab06d0e0aee3b0ce228d65ae5cf237fbdea5c402f938057c6245d72a791aac60a681ca4c26f04109338ffbf4d1b98c2ba5f5db0a12aa6616afb01cdb26c56d78a1bb8628a49cc914d234fbc5968eeb9909feeb5ea586791f545d6b462bc48c58120abada72fc6bea405d0f6a3092ddbc8e53bc0bee5e57f44d6043f6b278809eac7ede97fe6c52bdc6928a5aa93032a006bf1c0afda167b19fc010160b68ea6b76f88b5cd87a072058bd91cf792124f8272b3d856ab7c587bcd60640376ed25a33caec038fcbf205d90f2dde4f40e3be7845768f946635002208f9b1514dfc50c4f7006468b377885a16c598ab60fda572da9d24f7249bc857f69c87511efadde74045cf9d588a9de67a38fd725b57a08a88bdf7671882d3266a2987f704cad365f5381ad00bdd28f0593245c2df2a8ffdc17364127b4b3933f5b6eb1b78d23f91a61fbff340ebb34667e0f13209d1594a91c7aec020c51a9b6fbb4d22658cf12504d4da22e4d95f8a96511080d5d20849bfc2fd2e46da6e78ec0a93dd60da25dd77ecaa8ba2394f10038971e1fca65baee8b6234636f01815bc81262ed08cc00ec3a3c4d1497b17a15c04c62971e69677bb11aad5698dd71c4ec03d4b187cd7cab662cb5c999c4fd1294b8398fbe9cd8567eead0698d26c650664fe85b60deaaa6e58b947bac2e05a2256c1b06d2ef1287257034ea015b2a35631933549a299ecfbf5316a97aa99941367cc88a5a01d337bf5d6d7b4a106892d0c54bf32e2f504e86f9fc76c40bcdd7a60be3705e4e9a5bc17927e0ee08a6a60ae39c227216b01fa01abce64d9e75ecf1748b042860e7bbc78aedf67e3b90e84da6079692c0284c93e1e2d2c647d415395cc84061f5e4eaa46a596079612f1ec6e51053926932c36eb9dbba099d5cee4fa08b9ecd88a5c78e56703d632ec76578e800d37494f4a6f19f4021fc9f68156915a3c19a6aca3587d390cc6be2b2026748604a98741d540a915f57588c59279f96bf79ed6800ffc3f4e1140f443cc0a3e5a60186901369bf721363d7ceaf700230c6411ae1995ce3cceeba51e04d2e4d329b405a8070f4934d3e4252736d05f7bc1f3251ec2e6a53153ed10b0800a1917f51b2b2183249b78f65e2397e6c7ad723159c777ad702fca485a1936c1ca4b91b65d3e507667e5335d51711d5127b9776f2ab90533b6384d2e1e59c12ea229187cb50fef0760a0067abab9555e5d50138abb6ccbe9e6d59057e0ecdf68035c29e55c58f78a1443ac1de4eba14f0a9f1af6c3d0e4b842d439bdc6aee2e6137d6f6c67ffd32da04612ee17ad376999160cea4943de620f25056400b10ddbda96afd6e6407d965440985f407e769fd4f161e65fef9daabe767de55d647993d1980eae33379ec4e262fdde1d917144508c3ee0f0504dbd155bdabccf770008b2ce0c6cf7f74889893e18abb5fd1acba37521a9072ff4f368898db601696a0edab1edbd367384efd3fda8e49e24549edabb72e65a1e1890d96c9ef1c3c664c723adc86fce98d54a7bf61f3df9","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xc5ebc2874c348c551c9d29380776026bf8a0090c9818bba9aee1f27629009801","signature":"0x549a60c3da80ec07a268373ce69d874bea730113c224a41b52392bf306c86cbe6431377b42fdef257b0ebc83ffb5a7bfc6578305f9cdf27d790ebcd1f79d269299698e4e713ef8e7ecdf0c005d4baa24e856b5d2b5c862153804b2b7b8bca610eb6458caefeb667e2048d58d77a4ba688b3b057f00029ab1a15dc175fc926724a0b07c6e444216433cc3743bb2266ebea94990eface8c57be3fc8e14497a8ced1ea586f16e4c87a5db6e2dadcf0338419a7133340ff4a1366b110d10378ba46594237b5c6f8979a290531c9fdb9cf4416a91775be9fcbffea0cf4f8407ca4253e424e9dfd507fbac89268daffc723a55dcf6195dc18b74ecdc647d2aea8e8ba6be03c17eff1d517991d3d69e7f866857714ca3cf2edf6b5318e627a9afec007e0f736dedd5dc8bf13a7d43f51c13ebcba6a92240de9d29ee543de1e04ac2ad9cba992607a33e42725041711f96f870526b1703198d419d3d4ae32493ac85681b18b3ba005abbf23063719dbf2c6e8e9bac0d90bbb5be1c21da779796c75a1e72f8a4a042ffc2d4e9ce077fe06591dff635f45c9751ce341da27abac770692e9e1cdcc11404633cd2073cadfa97973a625c5e4e240da89f7db2fe246087a6360893615babf3740fc1859d6f92ec82cdda20cff32dd1916530b1fe5fabc0635a94e3d89bd4547185b0ef95b92b31ec68ea780d0a8a8dfcc79ec964d491ee1bd82e630d106935875684eecaaea7669ef1341bd86a1f44bfe0771b53977ba0257b980e771c3807251df5b12dddb163114900d0f3ed19fd87689803f09918d17cb810385c15a3549e0919ec914f7f49532ef724bd7c11851939e223f8a79b826a71e1b0012e9fafbe14a59afdc1a4133d3de044d9ed55640cbb823665d8c4e36b7f4dfea42528e80c19d690960aa35fcd49abef2f42dea3621461e645a9dfa0e6872ecef9124aac6b496e04df6f64e53b9a86b442f96f39a7f4a714862c7be15389c7ee4956af4230ad39f70890c7666f78f87c90ad0d08e682f873f9d84a8c4e12a66baf0eeae9d0eddecbbe14df81b451e04a3866278ce1c626bc39b1aa2680ceca849206b85e9ebc5b5d0b2e66b122d0552b41b34156810f67db0ea59ec60d4615e0b02f16d99403d1cd5ef420720585fe22f87f37c84dd634e7b7f4cc00e98014179a9ee7c110fd878295248b6ed20c6c4706dbb5d9183d5d40d46b07c615f812f76096b77f526e7d04b2c258ad80f374144ce43f61487c3b09e23ce1a6d93f226ceca57f67a1311be9eb1e68bae858ccce4333186aa61c6840a2ca7743c2b755abae0d8362c457a93cc21058aa2d4f03fa889a8ec36a4650242530ddd8c8f2f486c282c727c993ecda9bc1442cbbaaad15525200d8f113bea95e64b43dea8820943a9a94452708d060e6f5368de5b3e71396f4a5409eff353e802a18609dcfc1974db0a58196cdacdeb2df49bec9930caa1238ab32b328732389ebbabde41b45b58acaedef5320a24fe2b5de3579b770793325c4ec64c673c99050078394cffc0f86869d621ae99d052c3f6e943a56e6140f96bf19145a173b92a77438309f2d0485b1feab1851f874d790cf0fe5dd1f2a4af1cdd83669f6222d85104d653b95dc50d61c7b9dda1e7091f1b4a2faf1969582cf27ec4fc02696ef9d04e727e5929b5d30359450cbfb4e394b4af4c41b5494724c588cf4e9eff1d252dea35a38461eaf8cba7eae08c07c4ca19b6bd335d0c043e68a2b62bebffd24b5e0113999df9c40c8b32bd89d9fdaef492cd53ccf3631222650a0c27735c406c649ed8c56168bff20acf20be61436fda32e1178416bd00cd56ef68c0d3584cea45e06198703110579c788576dcb4e4cd9cee0e5a81a19a1dc75df7eb406f062e7168685238c8bc53fe603974a12bad5d97d3d8e3d9350167ef9db5b995691684fa5e258540f3cbdac4f3c88e8f444396cfe12f3c00f84f52b8c228f9fddad90ac67868f0a1c1cbaf93762d51c1a3d06cd39926813d4118f3b600169da28f93634fb3772297a12a5ce4f973c6fd857193a2b8d8ee5d15cac63a11e0931e837b3f63203035d3470dce630c4cd1c432029751a80b3c8560029cae4cd46ac7954d9b758811cd0f8f70ff5575905c6db57dc8522d9a7b50670dcb0c5931a504b9f4ba4a82fcfb135b79e88d2f31fc6312ff8817a5649bb19937a2b375afa2d60403d0e030ab38ebff122b23bd948cf952676e5b70e2080382f4fe62d7dfa3e6d2abb7669ab033243a57f9675a1231dc65a0676da729127e0ddc411ead545fc0c97347fc0e247d6e8a564d3e0ab3f9ffe19329486ef46798ace3d59db708fa5575712b1ab999cf04b231260300ff782e4968d4d4f23808bd4db4e506c5139eedb56d3df2f7cd93c03fcbbbf813a19bd34e0e1fcbfdca45ee50fbc957dbe65d17573d386e1454db730ac74d9aa60c628b7dc26acafe9a9cf4838149d3cd1c8b259b4921e020abb84636a49616018b39ff65fd27d59c6466f73fff50a8bd41d98ed3dcc66c55d1ff4912206ed279850f87d4453d4312aace2cc23283a2ad65db6241e9af5be563e6f1f4dae92db258f3f8c0a86c74b839b54ced9d16391dcc09b163e60faca6a47b4ac92102d9b7d1e7fea83ed3ae8c16acbbb9831c16907f08db4e95068222a7b6419ccd0f14763356e1234bb2d75aa45b88e10dfdd351c417d2bc9785554fa3a0691ed1930f5a3e172f966fe6f6343a87744deedba44ceb660f597776f7593f1e09d17949210367ec8d9c83dddbaf710a37f937ef730cdd67a4252b7e574c45049be7b0d60e7bc93b40ae56fc0042e43dc22c33fedf56ec0bc3ad298806678eca76d8185276b1f18541e1afb036e33181ae08b14a8d1cf2e5a06b5b9888cd070d5fd0a769d91eb74046563aba238e8e5c024929647e1dbbed0537755c49e178e91cc6c8fe98d542c3336556bbd54d15e1655eed232a46cc4b8b39e5d5795b7ca18c28e5c28bb92d44bbc2bddbe7b23dea3982526aa984a5441eda4514349c1aa268a3c3e287188e071d48054dc0934657382932299dd7e7dbaef24118daf572c567e9da247d72e9c3315ddbb4704ca234fa95b5b561e271f47ef60936810e348b1ebd8b7985a3f234d849fb93ab9165a8a7be10c970059e9ab27c59b62aee721e900e86fecda26e9374ce2805947f40d1860456640e06c65a500c56988a779884a7d0a1477e5be9705dbad1b0a2f1f624224d56c80eaaae4a54e4ea739a0f8db344602e7af725984492895f252e2906b3d4096ffe7d0df942d2cb4b2b16dbabeceac75d19dcc14212f5836c65707e3bc70ce2565276906649a511207b4c33ee939b96eee6aaeb3f25afb5ad5e20688f05b71e07eb339c4609d76d9b722bd048dcac05773a3944da12606b9ca1804c7fc2e8f44c1e7457eececc8654182ce2b95051c459189a4991733566e5257e0bcae4650565fc5180731a469d141220ac9b723a5a3d5deaec7732545fb61d7c42ade60c18d34f8258a5c0fb2257cdd106db85b432c514b656fd369eefaa1d2824282b8c625b7d33bcf20cd53fceed577ff77f6a0c61faa6f70ea5227b712c2266fcf077f0711d9c0648fd55dc0ce28695604ed7d9a2ddd41024073976817d0cb3ee3f0ce165a7846db7c2ca00dfab4b42faf7e27df5a9fee8cf7edb0cdd342b3b25523b13d7a175e756967dc238893bc8eeeddb3c83ad792a622c1fd39f15dacdd164d1e92953cfe5eb2e31e31f7eacf7eb2d22243ab60c61422f6ea1f625d8e556e9460d8db9a2df956f264acd2e03be20c6f4e9f394791a2c3987e94f4f3a3d1ff3b6ddf873eecba67b858a9fbac2e225f92e04876084f451ef74d795ec7d37c8ed0bca6e37cf5274c5a414c4fb41f493163751d61f0e1306692d07808b0660e54d417a65a27636c3a97c3604822d4eef524ff4393a486c7d16fd54a529f0b05dc09f2f60a2e566f7b78b367efb77838c6f02dc1d3c2640d00286c01260378c46b57ca125c06ceae8c22437c42af99f576bce5708144d2cae4fd8c4354522457b1c02c4f536d2ef58b65f8a7c97881dffae3ae91f74b2ed3b4a91dcf7b4e18aeb60eb3c6e4712b0654ec05c5e248080b00d80dcb5a1eceb0a6d7440be4f8920b560eaafa16d025fc463344aa02becf91185ca960f07be4281e25dbc5927ca4cb51c5baa38c4226d12f6cbcb700951d8bd497b786b98eab25da10c0fdce95766ec71eba6be4155c2211a95ae82cfb9b9920e43f3dd880399357ac649baa752a2671b99acb34e0adb7ec592a6b91b130f89f3f8d7badb84c187d4907f7e78749f61a8ab05c13fafc094ff65f4a1d0ebe1fdbfb3a5c5ba4f0b5139c8541303de2991ad756bcae12c019383d5181532766c700d8669c76c96e3e06f3e98f3b095ae5165254cbce41c38c2c9d21a2e8bc680dd0094bfac3dbc83dab32e91ac2deaefa6a8f39899ee2421d1c114642659d47215616f335eacd5a00bddfcb1d42b3bae089ea627066c87403ea65834bd4172176b6c9fd1e370bb83cc9afdf982e8be34b8bc3a0e5279b627c0d08d0f68d12cc811f54585a25a4e1e65a8771d94ec3e9ac6cc3b4dd5ca52df58f8261007f35ecd0cda4bd3f234f8fb5f8ce35d0e7e825f254992405b81da9039719d252feaec8b46c7d5a4d80653b893c9cd6f78ac98e6531fb41370c40130625cf914c22f996c9a48c683fed3ca0436dd6feebe945d70f89ad1e3f9ba1525b77b0ef09c4c5955aae382386420fe8b4377e81ec743a41bf0be0db41f80f7af150527fa28afd5a266b78a80f22f91dbe30c0462996f11021cf6479f129fdcf1e901721f5e74c961e88412ed4aa99d243281d6af65fdb46592edfcd606581e577603cda202902b687c93db342e9cabb08d95ae0757ebc3fc7a90570ea352fbc7a7f2c572815ae83e85b5920de49332bdf16762666c30fe96642c8305411746dbac70354319319101a33b23508225ac45ab371592163462e0a9050fb1fc06b068fe7dafdcb4a6964c640e02bd13707d4ad56dbaf1920e99b303e02d677691d15cffc795e218ad98c4f0e3a533fd10e70cb9da411472452589e3f3537b3ef9e6180c750d03623480f29d18a6c3f2f2e62a7c0df246284488b50629f3a35afca2c5b6e45eb47c4460af26b597af10770201f4274df58fcebd2556170b75920738bac227b1a61d36a84771bfdeb114af1d5cfc8989d16e35be5a1add71fe4d7ca3a4d95580af5f992cb847a67eb902b2999dfdca8be1cce6c1c50e76d7d426c5e157e3e6a043dff3ec3c87ac5e3fb33342025ba81e2f57d0c0b84956c368e7013e4e6b160f14f84ce111a38843fa64207da6364a0f74beab5a0b3bd2a2c0ffc211c910707c13b886d4470f8fffb3d89431f8673ab71bfd44bd5ecbf94bbf960573e01c03c55b7613ac123aed2fe4ac79066ff2f7b5049b88fbd299a5ab3f9470ba2008e546f3efca37764e930bc4559aa38142344b468a77beb00347baad4718ef86680f157d12607f1ca770015b13c03c1228f758b4e27164b9f3c982240bb7ad372f95ab606b20f5a3bc536112e4f9cc9d7778ec5e66fd380219610b40396e3a45dc53b76cac729f23276b4c6c3cc55c908e3675f056873f661dbd674f6f14385d5c8cea018cebeb0a4241331ca462109b42975156a1990901c35f4bc44e138214f86b06555bd30e307b2adfebc1db032a6b2e50a777ac658ff493031e3bee5f4740663dffbdab1b57a6536f655c126009ac76c172df4782e2638193fe2861fa3a448561e8c21e983d309dcef89100f2cca9bb956dfcfeb5c7d33fe88fbebe8bab04f3c423b26e95d681962c4dc4dc0d2a57f5a543f9b3f7a24caae702763b03ec477c0a02555cf91c5c6b9c36620874f24765a538f3807aaf604d15bb7e281904a252620788771624f36f62175774f67a697eca7664b2ca2fbea0f468004fbcdabbe0b502c39b24728ac3c1edb5e7775d822d5f679a040620b10fdee4839e2198fc123d5a0d963aef0e96d5588bb479eff08e374acdbaf872a419e2aef3bff00459070f1c75f589371958e761816ed8c85917cb2d78f817dc20abb4459b0298fa532ef4721e9bc2210fcf3686154e48f714efeb93eb7ad38cb1ada1a6bfdc398c8772064555d4b81d3f7109e6605fe0e536ff0bb606a77e719e7213c85d9ec6eebe74f2859dd4942c35749fe7c5d1b55c4167b5c6350308c541daa47255676672fa1eddf1d1b06bea416e70a812b7f3f0849c7a5319624658b5b6460accdfe26ae0495dce52e80be94871ad05ba00c7eb3c4ad1aa021e23671f2f76fa3f6076048bef38304559dab8e833db8d46328e7587050d37fce5d6e360934abeeb438541429219f21f948de48334126d688d26f237e1543d9992ece3ea51e673d4104ef21f3d1acad0e2bbb2872e0ac0542485c7a9fa5abe7f5162b46618285cae21c324a8bafcbdaf00137688998bdf51a2d5a70898ea0e4e8f31d28535692d2ebfbff0a14338edcfb0823607bb40000000000000000000000000a121a212b343a3f","message_root":"0x789ce9a6166e817efacf30df56bccf4427966066e1b57d0127014c1bb24ff811","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xaecc5314d096ec639ae76b9f0a4f26425111a54c644614d8ef7243ea58bb4b397d693ea53a53a14c9d2c0043919372fe2be466d5278a3f2edee5003a45325f6a9b6c357f5ee330f78b0fc5d7e6ef35de297d2f5756d90fd42a79d79e6c358a7bec4c300ffb12170c47bcc815e4d8eb750b62e7c0c6da8061113c4bb4443a66cc2c20c18b6ee8eb5f6c8a38f5f37267221869f1bf834084abdd09275eab660cd94274b5ed85ca85cbd53c12056a59c9e7052de78033a65f31d8561d396683dcf4e15fca00ad11849c89b25427caac1790942c2cd79e095d5403fde03ba219f91de8ef31ad0a46ce952df66202d24f32c204cea279cf46a99d81908103d3596b49b72206393fa82d030cb53685aa574fd1184164c93d8345690950148cc9b26690fd6643f5e346414c673c4589d51e47913cc253ebd66d42f9690b5a7c2cab017d79bcdf5f5b06165e313542e541a804379b7ec21a1857ec11ba9124f8f4a1ec86e93f3c94ebd11c15f13d3be175865808fb7aaac439f64f72777f28f832235bbb6df6bfc27cac3a5d621eaf90250a347a44eba900ae1e692cc3e70893544334023c0ac2fc298d20b85a7d92b9f0d0a34d712053b8288ca69e440503c6483f8e93799f11d73a9f3e531fcd3b179963dd05da772cfc7efa55f215586dd8f192bf464b327219fe72f0eda6c7b4b79ecc9e69bb23045b42ba1f1eea85c22f86f39336a73c470f2c8ead3c0aa9a7a9b5ee35f9b48f1ba0f9a3075f5147e0b13dc961acc0cbb4c2dc71472e1cca90d72077e6df65bed8f04f27a2587270f14523615501b8a7ad09f669eb93741c2b91bb3723a67b6c8387b77beab7d0c466964066b130d6d009b3dd5a69756f35cc82bbbd09887d71c84d10987d02fb1f3b3c57dc7ea0ddb539502d5fc753fe354c6ba5a651273d9e058240b2b771bba2643359c29112a7692a59d11efe248d119406cd6aaf577779f9a6150e850b5073b22655dee78302376e225fc236f8bb5f6dbaa231449a44a938a469c3c5de5e486b027dc33526197b917ab291f73d17fe57dff07d7a6de73da1ceb13e4d1b783ba3247e28c9678e2d8a64f29ded7245e931753c21dca16f36cc753d871e956ded2bb17b5424c9e8769c3a81c7f9916f1527ebec0af547b6f6dd85df09cbd3c1b95f55cba943599a65afbdf00ccac22606be8d6b3d94c73dd51d3af2e73bd02982c8da86ad9d7fbf30b28083ca6b66dafd2000f0e6f7ae04e9b0f314283f1ab8add6879c482ce6e51cc935f7f348f92e32a3cb7f1a74ba3d184ed398586d2b910fabad3a26bb73a285c33da24edec8157fd5c6d75746d50a8aff9668f47a4aa9c4dba23782f62c2d57463147d32fc5c7c21975d90065d9e36310628c9b0969bb92d2df0e03e534b64859491fe2f9b099e5fad71b3dedef0ced34ac94bec8f75d7e69a3e170bb825e9f264e2ce03e8db53cd57fdeec283959fcabef3fac05521920d6b9ea2a08bdb6f813009b8df7dba96874219a98a6485a2f5cea4efbd3ab69956dad106b5804ae00919fa186bc499d8d7ad3b1c2cd623b2feab88f4a7f8a993e4e0e91d353c11bfb124624db1f7e25864642ace304443a930d7e4a88f40f6d688cba6c81fe2d948977b0cac42198be83ffec7c1915a8cc2192f29a8ae2b50c45bfc1cecd416afc9b788b6efc6a32ab174cc3a8635038e75c25eebb4a0407899074a5b5cd2a42e445cf320a1aa414f7996c9f8cb39228a58c3fed8feab6a1514a00b4f4bab3f754af465ed81e3a0a82bf6a1ccb44035b2b2dfefe8b94f8cf7a4ab0484d88e8e0ab51630892af9b3f1bebe2e68b15e9cb9d4cd2472b1ecf8595a019fb0457179be3313a0024448c7fc9ac5fdf8cf22462103d795a035cbba2e949ed701e12fdffe72c7da25d4610b9429dc1ca89abdabce819115ded0659bb4d1e51d2e778ca26ddcd3d71f20ae7b8004bd09bb59aa9a054f5775d2b85722618ef15c590fba6b5f6da24c2dc32d46335381ffea8058c330f03507b2da62bf68d79090ac6cf5ebcebeaa1d902ccb957de4c497e8321583093d67971e669e390f8215f27b32ebfc814cb0505fed589b10a208e52ac07de82dd3e79018961026f0eff7a22e221b06cb950751ff390285ca122d2889e4a9b509c020c73922efff8a001eea12fb102c215667bc55fd97a3d8fc678fb35f7bea20c2adf7987fe38d364178811e6738327a781e0defa8c85c64a5fadd27bd44ef68fe2ecca993c554d77e83c27170fe383880d4686c3da4ce6ae178a14890fffed1c2e965604d032292bb496a069cb1337bcc2abd6544bed320a7bdcc99493c1431557523f8f731b3c1bd7f765b48c56502428ccb9a12914ca7dfb63283505ad3e9855983a582102669304e1559a86113a9c6bcf89cb26dbe45644c267af5d71b87e34b4dcb3b2bd9893db453d893f71a0d5fe0677354ac1a1cdd25fb6da112394e0c286dd770e4c894a272be55dd4a9343b38e0cfb56f308a1e2d8f95a4ab8305537ce1aee1b9e858f421fa50320dab3169b2b37a82cbaef9ecdcc5e3fb7d01deca00784b9922469185ce87e3d337b5c126a32e5672f654f1ccaabcb612e14af5f0e6e826c7c642cf967820ab3eb4235c113771720b59620864c112019b9956f1b2869d7b330a966e5fa3d73d7bbe2f22b63eb6aa88191a2d260f9f0df3def7d3d9c1c0b547b9abbb65bc6d047dbf5a034d13072f30122977c35f07457ca45abd85b77f480504efe18aa948277829c728aae5ff769855cae73d677d6ac5fd28f34519b1c954bd403dd1f7b32ee53c1a3dfd43000165a31ffd7c3ba61337f8dc212718799d3fb309695b658f3af4a1ee35a68aab84112efe662cfd09be8f9dcc750f768364dd56a098f06d2c36893e299a92bab96e8fe95127b97da5d0ac2cbc464376161dee876c68a7e2cfb6a88e9288ed5504c6630ba2b61ecb0b60aabc368e83187722c6ef03b055dd221362e3c8bbc377e0ebb7061c8c632af0c1fd39ff701095e69d265be1caf94b548c0acec8825f7f368835ddffcbc0ea1b2957df8a213dffd20c057ed670668c40cf9b6466e438243bdd269396f9529bc1877a98e2f3ec9b7e4936f4ea469b71e5ca66a95da0beb7efc4471eb4e4b7a60d53c1b6ce5f0f07aeaf1c6f28b7aafea29e7fa0cc77f8bf38911ee39c0f9e3fb1f6cfe3e735c68da58862dcedcc58da71bfcf183aea9cfc2b4e0bc7bd7ed779b20970847b684c30723a5e343e049bd48f85889be4cef5f78f8ecc6e38a08f71fcd48e493d3307a65507dfb596948f289fb033ace5a2eee413271f0b48624cbd1c5188c7561dfc2bad90cf105d42dc482832b6dd7b7e5c5dbcc8d24a0486ef6e1170c6fe8b0856825a8b14cfe7755ca478f2f6ad74096ba094e102527f170002b23907c5064f9ced1e547a1ba9f879268a748eb600189c0512639e04b786235a2b7f0fcb5ef0fe95b8944e2b9c16cafb9c525c2ce6ced7425166299315bfbd650994685e558b799e3057cf2fadfdb1de07354ebe851ce582e7148e9dbe1ad701896ea81f4e663b149f080ac7da3cbc48f1a7b7629ca492681df53090292de22b9c2fae0aee76a2f4b1412056d8069c5dab4b1630b38de88b7bf902324d019ee2f6299dcb70f310599a9f4f765d1100f87672ca27f006","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xc9a462b5b6f3e10f4f607f1b7806c7a63a1dcbd600b6d5d7e3429c7c468e1b82","signature":"0x04eef0a88e846c1778ed3291c6683432d6f95d730d7143ff98e8a73be3f93c20d5c57f1a3a276b3318cfeab9a8cae1380c6245bb05623edc8d426cb3ff9ebbdce134e5630ccb0c49acad7183829c6b30a40e7bfa87467d191ed3a3b7d70014286e966c6177b27d5d645390f33067924bc8ba683173ec1eeda1557fe6a66fdb1577a2159b4e33606a8dde3568157a1c43735a22ac77995129ad0367b3d85b39c8909b823f775d40962d2a923b01f82092c739ffe6de5fb64c2cf6a6c37d84764af3a923ec975d4a99085df8e67c0cd445753ea5f26286d16a6fac6200908a2cda1a410810c5d28d8a5fde216cbbec38e01aa87697d393d6972b793288c0bbdf243e78a4620dc54abfd294f97126269f5c36fcf3f28cd20cda9f93aadcc9628545001aa3dbddda1a52465347eb3b3cfa2592c63b2ae56067394e4b3566ea5b3d3f7181f48b05e8f8a4e4ef3b91efe1ad9b50007f2ee835d31cb74c3aae112338d508eda82d7ba2d6a1187ffde64d70826b60ef6b159cbc9bdd8dfb8787723bc017f7e7f0a5ef23d9c44fd9eff3d2cd6b28380cd9f8397081534ce8fefcb882eefbe740e620374e306259964dfcceef6d9780d7675da1cf7ec30b28433b3a510b97a098f08a3b766a3d85ec767211cffdf427a30ac8eecd588db757d8adc1944968bccbc2bacde41a24cc283cc24690f51891244f8f548386f69faba4b5d1e31c32c65a1aace9f42924ca24087b01fd54db4c9ca96ffde26e8cb30ccbf4cdb7f868ece421e4684a8efb1ec50f6cf29abbc8f08dcbba37490ebaf33b5711d307190d132cedc84485dbc78e419a593f78ba595b0cffa4d50f4cb0c4737b16d8a3f2fcb16457d75950e68b4a3b28ed24970c42f8ed30d9641841be4ed223b6c9028e948835c15ca836dd4115e99655ef3e7cf06bc69848ca16cd16ccb2d819e9c77d6f54f154755748060b6495429adc8b12ac3c43f93700f0ab2ffca1c0a6291f938f8ccbe966ee2dd190822380a6f6720fe970ae9e4d7630469833ab63f146e54fa3ca6a98e87e6141f498e4f9d257cd4ba0dee75b90492403e682807a16cf071be67ff6249ae66a0b22df105bf7a26ebf8c25030870e14b728badfb6a9d1aa3d1e3eda2f2410d0d19c512cf946d1574b32494234a27d723cd1b7b6729c8bfbb13c914fb3f2dfdf6bd73a9b5aaf368883369d5665c764ce8d1a17c6187fe7db4aa485d158240b8deba8533d997502c0672291b9ac054c6d9c052a38900929cd1a80c42ef2041407cdffa01a6c00ef7f15444b9e36ac5c2520ae5c239ed8299dbed6743ea7d9573e584a145d42dc00a3a58f4a7644220ebf4df7f9177accbac1150f52f79c78d6939c6b95b9957982f77353e853b56403c11c6bc0333b6c7bfbcdd6b68ffbd8e851b4a6d3f9fd7eb1aa68ebdb0bcbe95eefee2cff10f27c6636d543696c20c5b0153e98dcc562dee8a251e0ffddc44799a5913c2f925bb5de446ab9a9fcf41dfd139a4908dbfbbb483c7138599d7ed6571edab0433bb042d99c3aff5f93fb239152433ff75dd75209a79c17b71368c82d76fac79d72d8a3bb1037fc3ef1ef72b8c02b6af84b3fbd73dc3ff8a8f122e83eec6647286368e75e4518a786a182464d7ebbac824e7ecd8e0805b74c8ecc2d0123e02ce00837db709ccab1ea8222a062b984363e9cba66d57e53506a567068fd2c9f9dc8ef914464c918f45a597398694328e2a5c5d103c673a25af710ca5517f647c5dcfc6db8955306645e77cd1427735a3a70fcdf335a6a92585f485c8fc64f3e26a00fdd75596141596caf27951efaa354230bfc1f43bed66c657d94aace98192e3c7af002d063a9294579b1211cf87b790659b4dd81f7b78f76c60ef041d25b108f85bbd07ad71efe6577f1c10db4423881c0bcf2f26989b20d818b760309bfde2842c40ec4d546df51b5196d1a0bfffa9e30cff879c7a40834e0547b84a51499d06cf3ae35a19773496cd4c54df020b9c88de636129c182cb898b39283f020ffc59d76ccb5cdf9d39f2e7ec5a1ec15294cb887814152d5aa4d71da6c3e123bfd766c1db9c4325fc15021a4a7cf20c6a770a1a51672e24a73e8abdb137cbe8ea076fc0c641819815b2b9ba99abf39351dbfd98948cd0280e03b8a7541e5c6ecf13253c1c555a4ae65f9f3ea2e462a8d1bad38da3b60e8899e9a129dddefb5689677bcdb72eb9e04b10aebb39e31782968c21a3eca6a4b8c4eb07db2188c0ec87647b1d4cd0ff8c0018e66e02e838d79eabd87eef52ac2c305b2fc323aaf9279927450472dd5c4e9080175648f20eef784e1f6ab72e275ef2af974fa7e02736c44a296ed8088fe6e793e595a5656fd67b2a760f923305d475d6bf00484db37d065f6ad9cde2de4fbd57cf13bed93bd49c0931015c391856c93e7620dd1d2f469dc24df382726c92f0a32becf1baf17aeee8fcbc7d96daaffbf245066cdc7ceca3f7ea2c4222c21d2e69bb47d9bc62c8e246ba5e93150279dd22c17b891b73f8aa44ba650188c5e5d95bc4bd83b41c8749f8542afb32bf479d3bb6a897e9d57bce507eaf069e78d91e87e4ad3301c60fd53baf15ce420e3a74deb10187362e06ccf3a89574884825bb47ae5fbdcb47fc977ca47195f6b9e50b531bbe36fc801edc4c01a44444f6c364075bc0d77fff775ee761e113253e68118c4763ccee91f556ec038f808e597677b67f846db551a5883510dcd2e1fbd4b828243173b1d6e9eef41001f9134f0781c3934aec04f7fefbf6aaf4f5d57cf52f89757407f347e5098d57e29dc2546b8b2263a8f615b1c479610f3917c5de093510e9d370918ec0b6ff230bb6ac02291f502cea35563327fdb3f1750b680542dace3d66e7870f6cd53c330cc0401da410236d21a10d35441ee0b67e3fc54f6bb47119f2f157caced101c60b86c1c782dc3f670a56098af91a47b0452ccfe4439f272b2a9f1b8456c0b7e562a57e326146bfa5d781be139f6a88a3b29c8d82485a9262dae454a53f4724f9c81bb6a465a8cfa74509485c92cc551ac9f62dd3b00a4c25ac831254125868ba9600a305ad7f1e849cddb1547763db00c464b47102e2af7a61282f9efbcca2f82b713505d192be2191fdcad0e8716ec9d8a53a4fe584a523c639e494c3dc55ad618260ee584163103c2cec2064ae888887b56b99057a5b1660ed1c7b1ab0d258220720bc81571a118cb751d73981ea446bb35d67fabc2778900545d41d45bb61189dcb511066a93e972ebc7023590d24069b0c7c4717a04b05943bc00d99ec7b48e70f65148441d4a5abc85e80bdc6f50596882d7b904a00a9bd497d419be115c7e0170ae37c79739c8151d7d77462b250a5201c3e5376064b3eb56550405a4b59ba2e60478fb368fe240cbf3b0fab3a3ad331591f21674c1bb21f600190b49e8595d0b28cf20dc075a8b601e6b2ed4db27fc3be02a23413d980f19dc21734b53067c90d3c85e635a549665b0c81d9a0c17b9fa10f31684e8b1ea202a3ccf7578367ab6fa6837d33aea911d3dc8fc73b770dd21f6b384b4839f3f6ebcfc3820479374067feabd7ce2154ad13368068a813db23d413cf32585f00d160b1a1c7a0c9532fd58d2ea92004e5cb03822813f4597070e14c76d2da46e411128391d7bad0a71c70a9be888a01298a215332fc61a25dd507270162cb072765c3810502649405a6235d67a2a3e2e6853aab507d153a2f1c08a7f82fc4acd394fc35b64d0faa8932546aafe42ac3d8d17f8153161603a6b4e652918b5f9e1a36388610c0fe165286a3d58f1579f83ee7996c2b0121c7bd15f79fd96f97dc0d5a7755f10a8f9c539443abcf878a4f46f9fde8d1d9a71a082fd80881c0d4f278a41bfdcc48bcc0ad5cc4691f5dc33cd2eabc5a5604d8cda73794ea7988eea13fac79bbff38ef7a1d93ebcfea97e5baafb236bc97cc0b8c36e34ccbdc0b94ea110186e9d836bd1cb8824480d26fc0126cb1e0cfe2cdce78e66803a3724ced4cb4a6992f92c42db64571a5664e0f5638177695380c21a86d43265df69a7700c1cc90a9f5688392d017fb15af8eca49e021b51308fd248452627265c64026a9bdc571b701a46ab4c4722351e2606b4eb475bc765887f2d8803be08b974016430c5d67f6da8cf66655ad75a26749c00b4924d057a2e6035db75ee3db83d02a9861ee766f1ad3c45f28c0f63d958e7aabed05dd5fc0516bfc15410eb310b381f6b9091c52b472f470c64eb80adb58b34dcc04c5a220c7f2f69c4b2ef070a027216d2067c2a4744a237bfed178857d50680cf226833d52d8d7f71faf49ca2f20c01ae76d7b7459c31823c4ad37af6b3e65858e125dbb6f75daf6b2822e65162af35810712bb9d30a49e8b816249c586bde59867f0ecfbc376892898d00dc90166c0235a4b779fc0411168dd01283bc25e419c651be84bf6cff2c6a70c564fc6833a0d0dd48f61d3f08f7d5602ace4cf4b737a6fe1c65591ae3b93e313f93f8e3b9fe7219d675f4b93a0b4507f8aabd5c8677867b3879c16a35140763ed37c66c4b1dae6544b5828cdc0e57d962e4008c87f65378af674452b24eb504f2722b279e083d4d0247fc59fa7d1e9ed2f54829678993ce5115af78f1b2ebd44524be91957589010155b267cc2a97a265e1bc0d7c4da4d023bf754dc1abbdbdeb96bc9b3580477cd37341b9bc980529912fe014d80cb67b58f52460187b9f6bf089502b6158f12878b83c1092c6802403d3cf15d2483eafc9c647d3b424ef4b4cf933294da4d2f0e32859175a30c7bbc53aacc215df1f55d315d04a0ab7515b557fab1f5549e7100b1bd6205d15c538ebfccb955d9ab4b4304855f735145545881c6798e4dd9360b4b0bd2e33efd5e825789fbcdd35ab3c13d27af31968623a5bfad52a817c38d75ad41dcf14fa55a4c21614801584fede55be5f49b3b84bac7ee954315c38f51a038be6da915af4e3d44de69ad9c5f8b3ff047bdfc654ee7d096e6e59666672aa78487dd309c0ab0fd636fed57ac7aaf357c536aa60d1fb117314f548ebb20ae1e314be167fe4b773a07cb711f8b73adaf9cde4aa89b1b991fcd30af208b5bee3370e71a9d95f38410ab57bb47b07215720071975ce89921a3fb254b0869258c2836c12ab9fc4641bc8171bbf4ac9f8143411f95d3106d9ea967ea22449903554a09bdfd699640aac0086ca7ba34e1f426e1021138a05db8aae6e42361371c8a73ccdac5b9d2bf5a12a891ad084eabecd6fe64f69e8614115056656d6469f4e9693aadb06fbd8d688d45f3b965ba8de037ea268bbb5a2e07815a387651b875c2d58166345da756bfde7cd22b93efb4900014fcb4654787474c387bf5af5b9da650ecb00fd9c26d81b5c1959ddcc627d9ecae57bba9c3f03ea67e14690e9ddcd6c7214aa107ec30b86ec2e237967be2d0c928f9a11dbe1ee3a9cc2ac6c9faa87c5e808cd89725ae843f2a65d05fb22c669f18196336337e8d0f34f6e0c93c9b84f1e5bfb45daad77104bf4fd5cac00f1c9d9711f59c75338341d22374576883ae7684a2b9851ab982841d47b164b514156f5653e42df441ff7236c251181c0a9c1e4c319db9d645e7e5d103a41b8f61f1dc211f5c1662ae67c3e01b235f82f968f081ec2a889d4b3914ce89fae480c021715a09c022009a1f87b02711ebe42510268610edd9801a4aee47d8ada9ad641284f66593b5ca8a01299c0550e0d0e108dad270a0abb91129e91228d39e399b180c6e597ec18b16285428127bff3fad322762db7cd1598d0d5cbb8db22955de6ffcca023057506c90b75e7465f866dabf15b90167d4cfbb2beb93b92ce5627ba1638ff240415464b8ba4e189ac47a83eca9dc22d918ea7466f6c2503eb48c8757a7bf5ee59c84e458e7fa5215ac5fa3370874261f86fe8d14bbd7e0541a615f278075ee1f01287b9dc745c486622a2c1f03a2fb34edb88c2fbe6b398ac2cf52a0b5690937a8125e333811826d06a64ec4198ebb254c173596a32c99591c4d3f8096e12f74c0e88ce4209eccbc0b778fa6c00fd701386672ae164ca4853ae5b346e82846948053654a79e3029e60f377d34b415b80cfcbd4266e7f3af1e319e4d640db01949d4f70ad240a9b5938972d1ca7e9ff6fa615f2e754a01a0c23c7b8c3a1e179985b0fb8873b1284daa80b9c5f84c7f4ace305430e44e97df9d5ef76bf133e06289270442abf1f52e4c8a7b9ca2122dc4f59091dd62f42ce7a62a90b8ed6bba06b101234675b214aa0702d203fa7407690bbb88aed25350f3471f4f27560f91201e5793abdb223343cfc0db6f6b47b2c5eee304b5fb8258ba29ef0aefd9668922599ddfc1bce5d64ea61aa4206f1a369472eae4e0f0d4be71a3d712dfbe5bacace2decda240c0e486e62e8f36357bd67b41dcc7f68574b824ae27379abbf71c2a577a80949adae0e1e8f2293d5a6f74b7d2d8ed3346476a808ba6ccd80b244a1c767e84c66c1d27628c97d1d800000000000000000000000000000000000000000000000005111a23262b2c33","message_root":"0x1dc8891a251c21bbc6487b110b800653b657b739e6a733f5a42a746cb51956fa","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xee809e24590da57cb3b3e4103bfd249323a4ecbfd8876fc816e2ced4b3199dda0e79c024398d7735bab7c076f80f440fefafa16fdb81cc017d4addc04ca9a1ffa444dcdd8a0afd89e28e4ce774de7d14babc511611706be3751b65fe22a6fa8079f06e913e8d2f46c1ac964ac5b429b047bbcf1d24c46b1b61b0b9a8caf337ce650b7d2955fd69dd7a4b7ccf30ebba729419690cfff2180e980ff5483195f3441fc94176e54fd770a6c4f7ec8aa2506cbf5e277c527f9699086d2dcb393f754698138366780a5278002feb9923569ea6fdb26a7e3a6aa38c65d5ba6420b7bc3f4823826b10aa9bbd37eb38809c6b4db38d66b5b9a34c507daf88b0b849a5374f2d82043c53afbef2052ac6927af9b10e07b6786b574b414653526c059ad1ba923c47adf0277074e7d2f9aecdb5f70a2cc9908d6274c47942a556169dc7bd634de147f16989aaa352f05972866de8cd324b43f221a6d9a7d49744585466dd1d663db2fef5448e3ee915f84fb8c3625877a37d5cecc6f2f975ba5ec4a5a13ee5c1394e5d7a2b6d54556de4b480ee5c30d8bcd43276c53be37cb596e737cd01174dd5a44ab886c13ed44d5813387360591bd9c461367fe155e89a93c26f7ab322acb7c8029dd1ffe2c1cdcb6d90fb173cdd6c12fc146153e23cc1d3f3c71d56b01c3896960e9350d6485c803e0170e9a11b9cf0688f3aabd53600e32630f33389a18de3f143b9d8c7f3f5e18315c4a71650e57c9808c49507106086928d4f02ef0229d62fb08eef5bcea4bc474ea69ab244927b00d5c0ac05e3326287d54f8d4044a1c82cafced24e76085c942f7927a95eae41c84276a4ceb0b0f3ec2e0559347dc982e504f011d28468caaec1d8020e0ea9c9349360c42c208fd928b44f7c22717888dfa77f857adaa5b06bb18a66eb3b3481195ae0d6aa246ea17beaa31746576ccc2179c19a15bc4195bce7f5cade4f72407a1a747412b82f061e5c6aa1bb1802556baf5603028092f174496742a69a2e3a3413a8f7c6b58089aaa3c82c149e07ad72eebade7c8653d52b6ed60f3d5e0c5b756ebb4e695c7d6d483a64a7e71ceb3c488494597806e0b5039a478507a0b2596fec1699dafbff4f9759de11103f6803c7e9a507d0ca40fb9b8932064aa9960d06b4929bcba51bfd6a9eab7b56e45e93b842115677c84797fcaf176f539405f67c79b6df78bda5d147eb16ece19db319642550cce456ddb28020206c781161604bf94c76093f8f6c8e08c6dec4154686eea15b600a1c0a6eae1cf60e246aa65e21c6cb08c920226dd7811c7e1dc374ce4bd4abe713749ba68a9c137b2f0542d675b25390a3ce082536d8b1b3e592ba1b82bcef9d3b51ea00f7c3259ca320d2ee8755a42d264cbfb474beda9975d58cd5e6268eb26acefeae07515ba10a14856dbeacf2b8c5189231cfd18081760912d5442ac8600a202b38f087c05850b6ed323c43f706fa5eece58c8d497892bbfc51eb9830d2af66f2f96c19f5e9d3af70672b06b15d88d17357a0f9d1ec91fa5f60d0c30d266a8d91711c2edf66d2200a7de661d4cbbb6df4b3bf28b8d33402481351373fc0dba4e39fcfdb515f8ee69a5e269fd8dbe86ea3d090baf13205990bb8c23bcdff32b7492a857c64c68169d9305bebc340af808d5898984e018520bf37fc05ce16e98dd9b7becb9a204b2bb7515cc8ce3fc164ed04b8d4290b208a9abe26b346d4fc6a00aac8e90ce6589cb2afefb3d543918e555116844ef6c14345e63afb6a858f86642744bc9d0c1b824be12bf3e46b5a44021bc46c5292de199a4f6c756878bcb7758b3cbc80ce3f126823e4e22f01603a4a9cc4be4ff57b7bc82d33a7e4caf280b4f3e02a97f2b7f0af1f2ca525ee25c4cae3a65502aeb8df2e1fed7124aba4b4a332cc04f83dcfe6d643c8f7538fe13818b4f59b40d4cd1ffd7301c3710adbb6326c4acc4af0c2479160ce1154a6606ddb2cb7ee2f036eb9c95a6c445c906bde8d73ca3f40ec9ae8662607cac790ce2bec5f883e6c7c93bbccb2ce4d251569c57ccfea18425bb34c2203df8b61c1d9c0e007ac6d81f92ae02f4da0fad297da37bfab36385a6cccdfb405a465734e707a7e166c3b203eeb5c28a414fae875b0957edda318f3b1dc7c1794834c3abf627660fcd509201418cae1ca049a3d79feed0bfb4a655058dbe2801f662bd4f3855662e5f6bf58fa77429dde07351036ec61203b843046c7d6489e93d586d1ca5f96250a9c09215a0b95e23befdc65002e821751509dee41d23ccb8e5c3c270c30d04cf562c422eb434237f46c6cd52d116bffbe7c553a782560a0b659891d6a9eb115c9b010411d60664c6e0d9b3d92a3640a599d7db8dd859dda6c15c96c43029066ff1f997d3bebbcecfea5ff46a5bd40a50132dbdb6e165758b39ae3494058f36d7edb574407fa87810c33f78f3d31bbd664a1db96cfddd1cb30910eca0c78b1a6e76e36b8fa240b9fa3bd8b5dc2b2b9b6525b885742c9445e36a773ce25cd2ddc8890c46f3dd7363239bd39bf30557cd9dc66b972eb78b3b50c5788c3f78026d3d68ff4110164298c58f997077196db664d136c6e4ef7c0032b9f7f49c78dd8faf6bbfea27f8b17f798c0bfa2001d5fee3ee2ebb95ae001f35bdb41dcf200ff909f2db586d976b40a95d16de18c8a78b349f71e90f12b8ac75b01e76a23bf747f5179f1fb60911927dd5972681bdff1901ada559cd57af41cdcdac0c9ab0ce7f4ed923f3f4536b089fb9e5abf24587a3b1e14a29cf7eb64909502ebb918f23d0e302dc8e7941fd1f90be81c3a44196b3a2ebd9c7627195323cc5519e6d7b0499b55f5c20419e17490d3905079409b871cc3df981df69ec17da3a4d45706e7d01fcd023e7c5267117dc169eb7271c85bda18865e0ddbcfaf59f0f49ebd0daf455dd8bc776c68ffe4be873ef11787ba1c479f3768c143a85b1e19c6a0e449491d2b4077e2a02388e6b90d359e83f57ffeeb98f264775f3b820ca9527aebfe4c8cd45086f1ce3b29b10ae94ca0628c33a15086c6b43e2beafd63f73bd6901f24ac7768ccae10a0c342803dfb6e820691bcbf14a07cae8bce9f8ff040f4a47e86bf983413c670b9797f7f5b623bf122de8e98a2109aa8c45e4a36ace6a8c41ca94e84429d72e5a5598fe650a2dd7b47bf62cd1f6ce72e40277dd7bc971ee027b18b72734275d0de9fd65666e37465f4e9a11fe53e2829d674a8288a0c9be280f367d448b3a072a4328cdc04233a9b2bccf9722885107e559fbf3872c5b68752ddac1d7d708ea43caac546b620956a9cba2cb62b3450e59b1e778d55531d43def25c07b8b3b344d9018dadeb126ec635a345b3deafc32f7cd7fafb50cf9ad026d8241d8f52fb71b403807b5ecf8e0c7eaec677e2ebb069d41cf311f277b337ffcc93533ad2a05c6e3729c74b828722354172d36edc014c2101793423bca2815ec805fc748af2c3920da6aa9e94ff77def2ec2fd6fc94045be3171caae6d3bde0a192d6c113354f988c6890a4bac749792f60ddbd5facf326603c4672502297e6fdf38bb2a78cc5ad6171f6d67283ad953bf82cc844d6c3f153436d2d0d90e904010f6483ce0f627c60cfd1356a06ec0edf2bc561b546998b7079782df0ddaabb375f23bcbc8018ba1c36","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xb92a98da0e454e71cdd8fadb44b8e7aeb3dce664366c3820bbf04ffc6ccceb16","signature":"0xe4d8b39c29de19545e39690f895f4d2db7e1fae02ab6efc35eca4c8ca38e8142ff2ac57929c3f5e9964435a7dfe6ce1170e62563433fba21c6eebcbed7833fa8936b5734d218abf0aebe10b5b80d3c1080764115d1ed693351078e3e724a7deadd364318dba81d44150b61b734a2d86b2c0cc9e218d57c2b402e51ed16fcdd207753d00a7135e66cba5584c6e0df8b13bcedb2f5a6682d9d4a72663880b7386067545206f9db2e9ebcc1c8fa0bb50df80bd7d75676d5fcf368070f63579a886dd633e58c729a98a9b1219afc7057cb1eccc3fb52f33f1277f850b14062f923db6ab042fb038de26e41029bfbe0110a86c22d711fad613b6abd42ebdda276cd31bfe128e7a8747c1d8667d31b23d925fb01b946041973ba3afaa2fccfcd17f6c52d987233db56f2bf08f123a0d81719a09f3d4af0d9b8104de7dfb212c6f4e5a02f146650de8ae0d2c47a8b970df87a80265394b2a664181fc48d4028f47158b661167ff264c66ec2d3fc5b2ef5ec47830ec1d4917eac80ace1cdad843944baed7f0339f1f254508a1486331326aa29c6625bbefb577b7a8662fe2f33ef3576388d170c72db3209a24dcee76fdd5aca4f9ef6db2319c71a9f32fefa12ffd2bd6082344286f826096d078288d5ad044bba18f777aafc1542fc4d691847d714898d66b241d783146fcb803a2f3b3d8798b58221f2ec063ae3f26df412a52749854a92ccd72cbbcb34013ec9a6b8a0e2aae97dad06fe76b04b8e36728ef3b765f9310c3997bfdad25c709027d0c0c0e713d76afa23e9e6408ace4fdfe712a90a38acaa5085b0c3bd99bdc26cccd363618e54da79ae3c5c2369b3a1ef1794b23e2fafb3d0daedf6bad2a17462b4ee69590b42b8a42bd2b645f6295464f2380b11373af6515150e1d9395e4fa988520223b0204745798e7daa727d27d1312da0f3fab29b779f30a5b555e4a039c4659f860d7558d145785aa5aabe632ec4c8d1a251ab13a77e70b41953655482fb345b998a1284d64cf56d6a4e739fe6c3b473297064d441a41836ba5b02cf201fe3443458bcce4df6c1443147e703af27c3597bad8755b11516d73290943ecefb8dfee1444ef49b9f345e2abb3dc005ab4254d177813c3058a1e49a7f2f99b39c0c4253b6374d5c97ed180f4bacbe779a172fd9dc48b1a414bc015b837f577e45fb859a5995ed3529181344e6e4350a746a2b3beadf7a84c1f8fb63c9a21a8886367aacc081335fba22118e1744f009809102b7a91399ea0602f8465e8a9f308be1896e2852e7d88d69744a907bcb19cc8417518f2fe29fd4dd0b91ebbde9fe4e7ffabc35c780fda49a2c273cf37cd1086e1f7b724ed1e797069a355703d2b3943734e22f54127b2387bdab6a08cd4b25e73656db666e20944f81acf9e4c99f9924c3be66499bbd29a7800f055521207884e233181cc9cf4f9d982e32afd7539131c6cc52883bebdbf35acd138e3971e6aebc63b9239743a171299083a92d1b518267265bac56052dc8efa76bd8a7a3c6d9795e8955c580805cd46c4778ac62290e2d33b4ba7c1e890e67e77f6fb7a83db24945b2af11957e6d916fe8f7c4817b7a6675722514bcc942a4e0e60bd0c588ea0fde1b141243ec67bf9800df456f94d1b17006e0e4b6ae869d1e89f4c2c56518b06e20799d1c1888ea38a0e8d73cf712e5e7a6c50290e6d53c010cd51073a420e6907fdebcb7c62e6adaa3e0d7de438d057c5058a12a4c885ecf0391e59e94e90bfcaa83d394847a57502fb4b01075e1e9b1abafbb6685e33206074534c93d91ddb98ca7fd62bdafca7e796495ee517fccd57bc832a5ea393a9b0425a6238509b65fd115c5404eb8614f849f3a6a00b4271d64fca817cac77e4414c7d75e15fd1a5c85bc7bcbb3b675ef42ab307c9ea79fcaba0bea5d228f09dc2febbd934ab150d0ced5deb3816642fe5b9b00309a16034cfa0ff24321faadf26f0fad1be36674ab47d7724eb455cd78c2b37667cbd4206fd0b746e2ed8bf5bc168dcbdbb262e5eb9e21fe7b3ff7b0158e52c1bab750682829050bc650e0d90fb7afd10b3192197bba5aeeddd5989ad45e9c1ebd468a7748a78289756d02007a4729341d55fe4d4e7bcac46dd4619862b4633e9649de8e4757fa188381182e3d95dc200ed7f87ecba4168004118169b5be3effff12557a5b1d331dd6961a4690572d81ba443a8989470e6af4ffa43987f1b644be22f633336a98ad00e433c369c7cdf5fd949434dc137b9af66a4ddffe67a431402fe62a5aec95874932e0f6b132bcac64ba8b2fc0263b8d9306b6c4bfb1fd20e4215b4207d32b654908c0084755cc0288c7af7a83e826a5abf43562baf275b07f08951716fcec99757989c2f6d925e03e49059bf24acda6e13fbfd74fcc8b0caeac29157105a20e5585a1667042e3022afebbfa7902540f82c22b073c0f4a625241683071e0adc0048f8cc2d6fdb582330038398d4896dc5bb7a79d28171106e2391ebc65aa7024b230ba719afc81cfbb6e7d525ed39e3e000abad6670be0e3466ae3a9865a0168319b5f5072602e6fb0cfb149c08fb5a209c537a5df3d97277ff88b9105714e24091ed986e96cd9c7f63a0b670f094a7c9dde78c5512dcb6e7a29c6043443131fa0722e08c2470bdcebf11910b7d22ba1eb21f478c0f0843188da59d4b2c6c0796f2ed489fdf39e78826dbd9cc85910dcb919d99187925aefe3bb8e10cf18d8acddba655f10ce32d17ee3b899eee952b7cde768b6bd2a9f1c2cc9b576e488fccc0a907fe3e46b106ea80aff5450c661c19981978c4cc19ac4c268eec31e6ecf7c3faf9498f90d30e2b2ef25d636c38f3b5713f462da9ff699c423ec1b853a0bd4941326577671aa2c7c7aa32fab2a883af7dcd2216362e6d918638f3745d78e66bb2c50f612552d101dcb359ef62110ac215ff2aef67e8df7fd3d6c928f4d47c7cdcaa20fdaa650645176e51a850d5840df1827395f341ff81c8462e60786fc9fa3507514afb7be1a17b7034c44f815bc1401ede2b6e748380b6999b39d922e37192cda8bccd6cae6966b08f1388c24f335091d97ee1dd18744540b1a44117a14822350ba6a082c05b380ce768a896409584a0e91fcdb6b8dc7445179c51a99000a0270948679152b9ad13f2b42b6b2a1a1b8dd28cfefa82b399483a6b17e61e8501560fd68ed00afcdd469b9e61bef8b9edbf0112ec86b7dad838403413640cbe68676a74bae9257823c0566c1da5f79762c2c1f6cb3fc90cd759808861144b1a65e4596a2be00f2baf65fc7fdec6ab2016e356546a8023b133c56bac49575bc26f3cea057a54903f1c2386276c66c5791b44c2d61e3452b45929a86d2aeded7fa7825cc75c248e3f423b20fb849d2af6236f39798efb8ae665e2fda068f694be4b6217cc6e84c89bc935139e57d42b7554f2d2b543634877feaaa1cc7beec9164f122bf8df63bd2f149aa458905575b27faeb741d28bd6bd3df22f6c21a0ba309d7aed7ea39db0d13710a5f1702eb7c96cedc76fcb2c986c7fda1d18edd91d1bd3fbe2d64ddf40e828a5349afa54fa0ba9a73bfb66cd595b8c8263f4711b60773fadf77ffddf5c3b3b28dc6d912819a43920cb1a1d51e313f99b67b07217db9b45900e2a31c46be99164ea2cc5310563417ca3d7d225dd43ee24fc56e717a557c269f02921b8983c617ecc9881a3517107148d8b7299183123873df934761a3c7cadbf1149891d0018de9e6b955833d5a61d9228320db06a0773274f266c7befc4c8157bf732a54421c38683254a5ddee7fb568ac411d842a23900198f06e6bedad9db4e6ba48eac79a2dd4eb2435a4ef58775cc452f3c5d02cfbfa431bc473baf2633c9df1d699e5e93ea57d39e0616e7d452bac88abe291f24c67c4e442e5d4533f75c1b6c26d880e27ada43d363fee5ef253ae88bb6c0329f0237e675e6e816c742d462a5ab72e14a9f605c023c429dff57b8cb16548cfcd6b3fd8e25b4b806dd8064e88a57ec3f155bfdc846ac83f900cca8f4d9c3a3b25766e276e0d1b106256f53f27dc44c240eb64afb120e5be142eaf6671ba597dfca8a524cd6b939f7f42e5964267bf61e57aa11fb19ed14ee0d201b4a2af396413adabe1c9a5a6f261fa5387f420d6d54a6980b094bd2cf0670bcf008d1f30dac455ffdf9f305cfc3a1e3a96b375ff128331fbeef408df3d32b4f6850ce77a85499bdf1b2e991960a6908b9e063faa2ff48d9bb451eb3a7296278f094d46ff106cabf5967085543682404f60458607f178134c78f631b7b7e68687c5de89d2efba138c6a69e51cdcce35c71f66e2ce97b42ef28a2f8c3779de5d00acd4a2636b717bce91326fe1a0389c0b0540693ba4cdbab62cbacffae6b07081758d605aaf0893ef2cf4be5f985f6d63851bc3c41091d3e14f6478e6e7e29a9d5c0d8e428ef201529d2eea4355f75b242d4b94bc2a8ce302040436ec9deeaab557049649dca897e02daeba1578e77671bd629ace57b68f281d11417f40b9698b92cd0b68cc28c7d9f366b08d6f5495c2e1096894e250eef49bb190960280ca66136eec18eac5ab4652dd6396c9328c7826d30a50b45662d43390334e91c720c67cfda8bb42185a2a756ddb6c5e732464e161cd064405bc3501f126748188a72c0f8bf3ed00567132f57aec08f9458797a3aec2bc2b66ccf553e0532a5d3e2dc411f2bb62a56d5b50f90ce482b1c5bdef39f4231d63ab79600e7ac11c4dab5f89a4ec9ff87b00a8d713a2984ddc213ed3f152461b17457f4d14075e99bdca47a296780fe0069d6df0886f9abea0fd24a1d2754c133eb635c00e0ac30ba5aee63be12d70cf63a4d683d422434fe4d0cd552bf41f837b5a6036d50bd8dc33957c2dfbd907abbaf7b30ee7dbcdeb53857a7e796ba42e39b4edf8df7d0c0fcf1ba86d2bf0d830e4a5b5c12cbd9dbeb7356a0ced45a85971572f2ba37ad1b18b568c0738420853b8de7594ec5dc6b8209bf0e84a1490535c3b3f3faa3b49998ac270fa1885e899b2daed258d7807965e43db96ccb984c7f24331c23d670167d55acb9992a1b765e626b383b488fd43f3ba925b1baa3bccec780165f6946d98cabfaca64ee7490b75b3fc5bce054be95b9cc935a4fdd58ef4a473d21ea4225d90555e0fd92b103eb9c02bd9e1de5306591a0ee0e0da9855acc8641426f518ee088800b6e378acad7e32249b40a12856ac480d0d64bd6a40ff5192aa18a176d82a778d04916eddd1c804f4d0056f33ce41d2490722bc4e4e48bf3a8c5ff39a64b367d17e66fce6382772c816e2960f264f314b4cabee8f6ba5bb0df424c60f17d3d73c89ff6418a2022e85c3b637239f75f871c06862a50efea7748051d56d6ff17eca1a48037eaf23edf7a5c5c39fc23095b086e99463140ef9e771cbd2aa82a2c845c935be11f2fa484741bd41ed9fa956a0df8a5c4dd71e59358d103f8f0c09760e797acd54d1d6ddb7163572fb4dd98ea5c54a79c47d94bb377fa444109548521a993fcc199d864147fb82baaac3326548e83384f49c9ba7021e19bb46c22e885b1233819db19217f854aeecd5e3153803f950a837dcebfd892f27e696530512ea7761b9fe085e7a1a72ff0abcc0d5aa6baaefef8be74bc085519e246ba06435fd096caa54240493cad877612cdd900e8cde136b2eb2ccd50c88d7ba4e111772d68dd5baf4e3121e240a016a178b1c798c5b3d13c325486a870a45c789abf302e29fc075fb662103582b1534386cd06d1c3fbdfa00e44bbb788fd8c79a10250653912ca355cf7263d9cfd227dadea97d9761435462f26f9f86978f6be9a876f558d28fc981fd72c568fb602ac4216fb405616f4866a55c9781256d33542afa189da89fb3c23d5eb965c527314fbf34ba565e82a40492ef406bab71b3aca2bcb67db1d5e057894fd6f8ab6e635e03b7b3394617900bf1ea6d555ad36d6d428f07442fe7732f87d0bfcabb6028e2a2184bc66e320da7b336498c1c3def665a48abe3adb009287edd0577067d62cb6cf06bdca9e7a72bb0032dd7f1114e6119f7a83b425cd69dd3fc4665f7ba88d8bd53421bd508d06822b347201d63fed32387d8fe6e811c6db2d59932a4542ca37e11f4dcead3717a6741025cffff0150b82e2390e8dd6739cfa0afe5d2e05e7af37e737bca1b51f739ac31849493c10764b9a9f2e770b7e7f2c0cebcd67c24df7e8390cb3570d2853927744679d34cc0eff3e730b4354df1df343bf7ceba2d6a8b7796b9ec4b1e6614fe5aaedb6e7e38691cd956749619062e74da59dd0c1561965f1b72c9e37da48744b2f0be9e7102ea1c4b81b34c02b4188fc65a6f0aa7984e7fd791f79731bed30daf9a8c576142dac93fbc30f29a5178493966d8fdd09d29525e99d76e0ac443e0d4be3a527c57001f3e88b6f23d47a2a6c7e916688aaff2f4071c589aa5c7e53b666a99c3c7c9d318affa04058a90a6a7b3c5d5ea475679bac5dbe5fa000000000000000000000000000000000000000000060c121921242e36","message_root":"0x8f82af61976ee1b1ccf5ef9031357535fa75fab70e31d03df1c450903b80cfde","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa60ec75e057dc9a4153691a48043f79b3cbe20bfd73e68378e86e3bdfac182876a6ba9cc7e36d68679f47048c54e469ea9860a2e0c2db4d9b50768413fdd3c7b76a8afb9255c293c477158c1cafb43291e7376d04ab2f51f04ed5ba446305041b5acf2f101d3386861daec96cebcbacb4a9f39af5ae2224cfddc357dddeffb33d44285ec764683a8e0fbf9215836aedcd118540cfea8c30f3f3e1ea68c0b5110fd8e9b38965d88e4d75406295128fdd6a50fb8b387ff40e73582fdc681a39a991422814940275db70fb038d7ae27ffb38b618b966740e4fb9a50a801d9d447870dacccba3986186e212ef2a40a6b71725d2f0122784d80740ef6830b866e2fddcd2fe4e3a3c080c3f19dad5ae7c3672e6b2460c4287d4d3ef2f2ec35c86b68d88bec961204914a115e6fec934499fd2639780200bded78951b085af3542ace43f276de195df6b5dbcd4a8c5252a47927f79f009356b95496493da05cf435e1f442a2c3f2c382b0e562053d36819fc9824396acdda245908dafaacddd8b30aabdbe03a0f7c277ec7a764ef48d34285877a38c817605a08fae049734accec094597f1576f7b4798bde03a2fbac34f4509524bdd9fc85241ca0cd5a2fb831cd211555d9912cbac3d46638f6c894c739ac0817be17fb187175dca31e429833ca905f4472d003134250285d93087938d39880936678487fbeb972fe36bbe7869f74b9b85753200402ed1a3c73ba0669fd3fe2cf46fcb75d9389ff160dc982325b55f7af53c0ac6b93939e4caecef3f914f4c4fe6770dac247af5bd964a94c307769ccd8052e91f267e612e8facad9df6a98bdbdcc0038d837ec6fd647f0321b99c1c14aae9e49e9fc2edfe4369274c92dfe8bdcf09a153d4624c39909beaf6514e700a49b01e81623c53fe9bdad61349c7f37a3316d1cecce482f6554ac822085765d2d403ef8775a87c155c946cb1b69c37cf44f107654692c024a3ec436fb63a72a7254b375d6073dfbb06103a5769f870f5a8b4b1fa717ca07a4f2ec50d3d63229975de604475a28ee5dde29a7387e2dd1ece81018ee4b8fc52f776f641610bebf24e54489a4ac633071b969ecbd514b44029c833d51a85a4846ee6453ccfde15b00c29486736e1eedd2777f2899972677eca703c45f00ba38ced9f9c4587e59ba8e7be8407bad8925e931f5dc970d225d770369043f0cf14962b53618e5b8eafad136d2abccd67d7dce62e666aecef209044016b70e0c33a534b937857134347f5c429f1b179ccf2f9a896b09e6ffb04b4c5581bacfc9df7717e6a12d9aa06a608e94290e2cead5049b9a3045a59b0714ee359ec8823e0e6df3b84de1c62016d9612ec5a7240cec5ce27621de7ce44b371996b2c4f9c6625e8bd8d74d56c7997102b164e83c2082880060be33bc0f77cc24e7a6e501d6b04ef048a45d3d0baf6d41ac03e812d30fc4b5b0a76cc22815688d5bf6332c532d8065d23f742b7f8cf996257c5fc072ac25395e8507c28abae242b6adb2caab16cebc4714784c1516ed90f5899f3aa3fe82703e5f093cc90f743f0520de3e54f9c68a3142ee412662a2bae9510181a320675e8e7257890587a700153127a0104e613df9f762e6a03253a9988143158046a361ae2794998f77397f770732a5551d311489a1e7bd6f9bf668047d76e2f1f3089968c9834c9d7920bd2480be33155407c8ab4bb5b0a5822a93a16b6eb969eff1b43798dd15b8c2d25f80961d545b9235808fc68c88f5361898e5b9badab8fdf96a663d020df366b708e8b9d8f35430b42ce6d611fedbd69c89fedfdcf418655feba0d6c615d8e67fc5262b077591455e7995642e0196c3b801c888e70f701ddcba34389b1b401477fb588bca567900f18ce7cd16a6f73835ea75ba2b7dff9a5048504018cefe9d88c0d08ebd86320a8039c29c6baa8b5c488968d9208d0bfcf3125ac72abfbb090c944c0fea6293b2a64f910ae53947d2c3e45568076d3e9e174fce2cc35af0de70a2897891c9101492deeb728f7e546da3a93f8be9da938d401576a6140fc221d8355616270653a5782f2a956e599fa86785df24b34f039727d3873728b391c4d4c6077859a929f4c4123d6d4d39731afa01acf0f74057f4c7b67fe827d9552953adb1fb614be0e92ad270e76ebf4b2992b00f287c866f0d547572851493ba87d146f86318265b7e5e385b6d00daa5dfcb56c6bb7e02b908cab4e6fb58fd10033b4f9b4c151d35a3f2be0e7e34636b999f93b1f74af47744566320934a4ed2c05f7fa0a22dedab4a2da9315baaf571deb6c9b11cc61487bb6bca896006cbc478ca5fa60da5b2cb17b76fc552b46706720e0fb6ba6573ce7f9fe4af676edcd819ab4bf7ebbde5dfade7294edfa571f01388ae4e992ee89bfd90382e8f2e035339b33a7a0259e05fb3ba3f026770e2bea094132dc72de6365dc9c00378a033b1a7e3a9b4a7eba4ff4cdaaf5b4c87049cb6ee113ef22a7afca02182f493dbe2d2b4e36e8ec2a039fe6f9d515d6d1d5219460fd58299e8fb8045fb23fc1657243fbea501a318f1c6505ad05ea521cd8e608f582ce065bbe9160a3d3b37d73063f2085e77697ce500da92246bea0dff9ecc87fe074b3079ee5874c735e451e9ab2b224b20013c328507c78c017c876c42b8df015ac54de13886ae18acd9e4d52db78f099c3aa8536d11d87a74e80ef5421133eb2985177edf9dea2ef4d1ffc17e2ec1fbc25e4402a2acddf720aa22183ad9c72e6b89afc966d87a84d392dfbf758b1bf0dfcdee12dcee34454385e8177199d3438d56605abce9e593edec86254d8ced2de99140aae5169b493418fbab46a6d8b42732f37d9d535f25cf7ee90f89c348ebc8429d44fc78b5fd9bfcbbe3974429f42075ad844ff3c7fe029dc013b1fd25efd514241a423c0ad6947bcaf63316f55029c7868016bf8b81b5a95e16e41056cd1a73fd6030910175a5758865d6f9ac6d39680e1ed100fbb793da0715ac2d5324acce98e3d3ec791eb7748653098dc5f4d437f4efdcdfc6cc02c6bf221279b2f09be36b5302c07373712f7a02fc370a561a33654e1ba1e3b5d8f4b0e2fa88dcf5db2b5c87a695d2777e2bd5b08ab0e7ce1c9a157c1eb1484c6852b8c2f6c3c6f6e1679d6350486640a6b4354766ea6c9074642aa0971032718d15f4ea2de95b75944abe33f03c965af371d620ad2b78d73e752a566512813b105e89de612f780671327a49bbc2848f1e8c5e2e07ccbe97cf6af80e516fb9232ef946f5ea6fd844a5c42eb3e8552f06e999bba2acf3ea8294bc74a5c0e750ea0f48fb2d119534318469977d76c7c6f47623ebbb28c24cb3cda691ef08bd1e996ea345655d162335589139c8bdbfc7b5eacd70edfbb92b74ed4b1e90cb70c25fe025ab995ff323fc2f6e68766c7713dc3c108ab6794f959ad41dc1df6e0304e17b0deb8ed73ca31859a816938dbf2cfcb910c0e73c588da34a734ebd4ef2dde61e7a31ae122e91cc3a86e24a241fda93acc17fd87a336e3d8374787fe19f3c8c68a00911363da2148d31a9f2aa7b7a5276366d6ec9540808987b4a785d11cf69a5d6bcdc3b576e3a37b81e170ef4e014620febd3ac1243e4c5bcb582d493e93619ae192b5850ba88a99f1528171bcff6a276509e443f0c57","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xd7cc1430dfb4127dcf368b1ee99d170e36d15cd5e0bcdfa8c90b92a296792be4","signature":"0x124d34786c9abe6cf92a2b8b371fecf899fef8d31cf3007f0f9ada93273c1a017087ff2e76c4c4c24290e229647c9aeb558662c252a7a17c3e8a630750e37830c9212e077cf900b332441fa13c12bc8fe29f21aefc42dc69e35e5246aa136116d3b2a06069d3ede9667f2e56aad42acb34362c1285d03493b375cb3c14ea4416b37960197c52dde6672247f9977eb6644bfce7e9fa2007cd438e0ff7b9479481149a331790da8461160c539e19c1f39c3d90f05d6f59c5af08c3fff42b51e26205dd7c3466c71093fd1cfaeb5bc2dfb21738f3540651a267c0d1d90d70a6af270a09bdb0c3e41c9d4c20ddff5004adfdaf8f15ff38c192f81dac874be9e416c643b076d5a6eda8db85f2b8700aa34eb47a2b67a5240e2686ed126b19d731bd52d9292a0dd61e1af42731a79db74d15ae8b823614521a1e68f58cdddd444b85bcb184be61ec65e3e158fbcdf7970cd9ecaafe1264b169cced80d42409981fe1cf85031457b4892254b56e67a4f4233d963aaafe74d5ccce97899d883e63970d95ba09484c2de5b7e635edba9f1703eb0d7775be03481b91ad6fa61ef4b0fe70b94554fa0ae1786a12fe9c8b73409cbd8d7b0126f0c3e84ceb2cf7b6345720469bead389183ad54224506ab30b1e38ad9765b191793778183592de4dad2ab4b7bb48cb44ad4cbce1bfdf594987d4e3344505801d5ab1aea3394c5e34f3f63e152e85da455a6bb29d60e9475b09e6637dc6e7617aabde7da57a5c30bd1f86d2def727bd3af80aa9492179b6c01ee3956de0d746efe37709b55f09b581c467f585136dc1809ce1dbc12473532148e7f4ee73c4adef3a6310cab302f69e3e5f72b609e350df0d748b8f0295c134a23c184c4db12796034b7f1fc69c781ebd7d939bfe08444633f0b348fa13bc0235ee4f537c715784c3aebd4e90eed669e073927093ed1fbdbf368fe7f454e8547b2834d7befe6e885b9537478b0e0f7d6cdb521319296d09336caf2d7adbb829acfec6b0d3540430ddf79ad665f88fb085faa075f1807552877cba49daba02b8b246815980a08fc15102a07ca6b8f4121dc8053289f8e15fead631ef1552f2c5a561af4fbaeaebdddf239e627d0493566b1f56e8b3a2643525578839cb4940b662dbffef218b0f49ea63690378565d8ba89c18d33a80b15c6d2226680a52649a436932b88c407eeb0585d07ee8d94c54de0cc9f0d0d4f82b634ea6aaf2a024dbd7251d7e7a260770941cff2b56cbc50a4e5cbe3688c94edeeff1ef365b0ca810442437976628b7e405ff4d891cdefc8ad4293db3a9038a76f8a179c83cdce2e936d8b02b7e027e4a1cb91e2f4dc69de8d3423767d4aaeecc35a78c694e1c99a45cfe253c8eb6ebc6fe436aa3952209fa420e5f4c6cb67153ab287b5940118f470c6ad4a759e38b8e8554233cb5075987aaf666479b320ea9d1e664cbacf32e61379e2c15b700c31be6f6c6ddde35370b9ca253389b96c7012de425d060d5ce650b30216fc74c2e8477b1e796927e164eb0f627d10e31c00b724dd9515a68c6675b584370cfeec106052108643138c4ab5b8d87e681e607f0629eb39ff91b06fbf193f1166ab1ebfc6f3499d811655333b44967361309cbcf5c52a40fe24d30ae9c81c8a8cb0d54473d4eb1f9243c7ca9dc85b560f150177fc0d4d190bf8f357820ca28fefbf301146ac086f65b15307fbc26e08442f5c1c1fe4e206c88c15cf867fc041fea1ee5b8a38e1444628c77f56a71b4bb5ed95348f3a3b2ffc3abe3451c4e019540aad976e307705138d9297e9e44877b9ae43d7772bd47a8b038e646e100acb322fb30204f0a861afa0641c75b84a7a6e8d8130acd1a14de6ba4f510392068b819c34b333f9468555b6ecbf4f41980799170d8f4fc590b5848de6d2d2bf74483ec8bf06fbbad3c373798c7bcbee4fe82db9fd5e6eba7e1ad477aa2edaa16434e996be7f39f47193e679a863888c3d82ff9d52a7358043b4397b5f73dcb2fdb6c116125e3a9a190116ebccc10c85cd9d44250d6990a26408e8f11b7d19b4288b066d2127ac90341c7034ab76872ae18b3be5b7ab12355bfbf2bf3e10fefeb1089df881945a1415b879fd085dfb056394750988dbddef5fc901f4325d1da1a8d5ed72b97850bf537d4ce5db6d610950562990f0fbf3da26b80e197ef98b4c5f54deb2973ea71da4c02357a1dc6f799ba84b9d05d32115cb096af59be5a37e19312d50bd113837ccbe0f7417e5657f2452c1ccdf888b642e1fae2e343cc2d92697d1d961ac37f5e496393706bc4abf1f858d8e01756736f074d60c078145cc9652a20f83edbf8bdc93651958227bac840e42dcf326c7c8aab694f4ff41a227939d6b1587ab150a0123dad53bb6dbf26d5a028f5bb7f5aac9845d37faa7cd07ff1597ee3922057d877aafcfff580b629ef4d0c464825d597218644e37812b975060e85abd38d0c9657fd1b08c04e1585138d50b617d65b4d00e2d2041281f43c9c66264320ac0003487ad9e3d31c65c2432e9e599dd2b47c1392bc3a8130508d5eb4b0913d698515668ae158bb5ff7d827deddeb62da27e4cc243f9d3b5d69d15b49b861e7462bda1d76945fcd4b099cfbe9467aad0f26a3953a85e7c9440e5f7614441b29259b36fb10545424f33049e862cde217fa8aa9b9fdf52eafe995d8499e7361922ac37da3511044d102116f920c6e6272f549851f855ccfc0aeaa88d72983f4aa6a88dd19c7966d714e9ce97e54b81fe3105416eb7025794a3180b1e0607019e722b2f684315cc1ecba6c578b748eae34328fa44b453e194f22954bbc380a740c19120847d2fc4fb5214a36af9c4f7005a999e7f66cb3753114354223c274b22c48bda396015eaca9532905b07719ce5d6622fe80af392b7343b1b3b69d12a0d54b589fcc9b283ddfeb0df4ed69a8caa71202447870c347e3ec63c7a1fe0a0cb69f0e5e746fe6522f2aa37cbd03e90ad8b5c66e090ab4d00dd11f978c2c9f1f026fe8eba4c5d8649b9e421cba67e748c43ebc635ae2317c9f243b91849f83446a6174a156571c6052040173118cb8ec093e5665dba6ce1bf373fd9dbbb1f3edaaf7b3dc7a7041185af3e8d1f9d69a0dfcf339d28125a1470d2e4b64e12301c3d447e6093a786c93499acc52adf3b9cbeee7011e7981125a73983f65fa9d91eef62dce1a49743bcf66a82d4aa6d92e6eec11d5a8acf58b91a3f7851cc903567c9ec23752f3c2a9480e4c37d729b1d4ab9e556517d06755261c665447f2db8c512b77db2f7da78d4f29dada85ab432d9872f037de942449ff1cbcde7023bd28bb9a8ed907d8c28d2b48a8bb698d065b9b7990f2f00e2075ff877771789ab097fc524e1fee15ed43d7ed54abb30e768b8a88207b125f4806f33245b6cb71e003d78c13466124b646047d48d1a3e838b1af0f57a5391bf75d50fb0f017064fbd30df5138ee8faa984d310046b0fd5ae377b9d9a62c70c4ebb8bdda46b0b773cab5e71dfd66eb4c166bf3dbe4413566d4a95b157a42813d69c6535885bbf4324323240258c7ecc840448a9ee5e7d024bee52379075d14112503be263a515ff0db32f2144e23243d4cf39b0f5cd27e8806bebc9c71a631448d5220fa1109febddc0efd5904075a1e7390a6576be108878be9dd121f0e0b71a53af975a1fc43db3d69cf324c015b34e87bbe3ed8063e323d6a1cba3f198f83f4e3287e14b3cb2b0c0dd7ddda91759cfccfae398da05a3365ff47f860b0b54f4b213ce91315675f904ed00df8ac188bb6823b253771dce186371bd079e76a2990af73221d18c7786fe72ce8dceeabdfd96a74240b44501f3b503824c1a7141fef410f203a99bb712afdbe107c94f4c10c4b31a1ee7a329c6199288773c1fcbd04805c3c0aef2aa469dea2d91238c6173d71a8076eaa0c6acfa6c0d381c4df953db7b2335894ab404450364ae31950f2d7fe63df6e91da63f24a8be04dc7bdf575af77161329270977b4cd60ec162bd75c44ac886236a0c184e94687ac57c2d3bb94adbdc1513e0bb91695af6068195cd764fe893225b20f5a29526b6e562f42e830569ca5fa6c09fae71337164d86df8e33d36d618f9601c8ba5d68e6b577deb2f9019e32bc4e039e2042451631898bd5434ab1c76af909a37d302ede1e7b0afbf7eb621564f4a33ac55f2d9e6dcfe004aac7509f6bf30926c1d07c8a0be04d1806dcd2c25ff332b6f65fa793232bba8a45f78f3c29ab635b234bd55f63eca0dd9aaebf857e8611541fded97b25699f936b67d7b5e959b551974642807871621ac2f3406a3d2e7e5199315905aca2e588f3d314dcb4cc761af399c00f251609539c390e6054e2a2425026f524fe6f709ba4634c86433de943f59c0c6cdc32b57c0fc1a850199a0732a5d98beb820fa0e4eaff53f5b478c0caabfa426b37d8cf810d7944691e19c2822bac1efb87c1ae9be382bf63137ed2c27324c384c794450103562a9c72253ba3ba9caf6edc29b4ace7a23cfcfcac185ef9afcff5970172c4ba021e11acd67182c397f33223f72d11dfda3587796db77b5e860884717660450167ff0cfdc367e6a3833d960f8e37647943890c11de4f7b5705e9db629b9f2013f1c119102c0be1342be72d00c6940a058c57f05717827ab384f2b3ebb64d9d5f8a4dee2fdf1aae97ff70d8ac44329ec85170df3397c8571d92863b40a4949279e1625bb079b5c9b35fe2fd2ff0e83c89b6309374e1b42efb6665af8d46835390cddc58ad8b99b225b15550bc399ca503430be0e3baa3300deec4db2d2f1577b557f8c56fac56ef6cb03ee4b325f18bc2301c87a83a56da624ad5101fb11769b7f36b2f542e682e37ed66c761acbd383a68cbc99843ff8d028e126f4a62f210558c11b45b0539b5e6ec78f3e96cd8546cd1d9d6dfbdce41efdc030a4188388948ce58115357dea655b9b9b777200e8d7152e7e693b1cfa80b6597f37a6f4fd903ad05fb9d774262fe98524c56e97d6cab87f20c7baf2286d255b99e29b8bc32c09ad4a0d07514609f71ca06fc5142ea5f28d553d7c7d4a453be02449362ff6dfbac300a4ce6a56deb4d97413921c2a653a9ae6a98cf491b8306bfb6e5d689159c29a327f2a7b8776bda7496ce73d6a60135b33a0b1aa8f659654f61ea3be26cc0d917937ca673db21c36e3d81947e83fd786948f2368eab9d4d6c9f77a2dacce61ca470e303c251cbd3135939557960f0260e873fafb27e8ad0f97454ddde475afa50aad2695ec52ce93f3768f26b099c32149c4ff7c7bf724b658591796ad75618236121533647207a37da2755ee4d8752127ed63a2fc183a2a4f1b712c598afd03e6ea10b02c82a17cd80664d0f741bd1abe250c4adaeba8244905d729e1653d52ce084e37ddf627f7c9d6bd1d0c0ff510879ebdfc7fefaeaf2a490bb9f7fc1f378a29bc6620f75f022438012c6bf6ed8b382da2ff12c6145ce504295f51e2f243eae614be33201e12a478931a92c15bbe6d9ea0922735355fb0ae9c8fefc08e643fe299108c35a8dafa29b3a8d0ef0c7a12a3bcc420d1e0028f2dc51fc250ff1e0ca27f4deea7ead76a5a204f8df51c831be719ed5d249d36eb6295d047a98c76fac6a4743af4f833b2e5ce1a893fa6ab5b0da585c107ac0018e368daf18e36acdb9f9be3727270398fe2eb7f278a9aaa15dccb6cd8d01e605da42bef50e50aef9a5d7b945c98687e3b4c2af2b84a28ac87a3dc065b2cabaa3f9b0b62ac9c5abd0ff834212822ff710d83c41bc371267d273e342cd8abb3e3b1c6d8659fd132c6e89f6ef87b7ed5701e5dfe076718cc4f7b2ac7ab51667fcca3c1bfe597858809283ee89a3088356129773d02645cd101f2a10ace05362437ef40de58f646b1c9bfe682cb4534b1b9cb768e06c378eae20393fd3d9f7e6502f0f90322662b04d4a1869956d1c8e9195d18eb4f918a22f59b045095e782fe6e475187be4dc575aefd75bcc2a653e5df0b57282abf7b8f15ec85d2d0b91b7a2a20fa525855caf76eabba03573bc02ec0addca7fba6f288d71e129f9ca5890e24d36876fcc172a82a54f6a8f8792bdc9cf458d172ba2657aa561b30866cb0d74f47d8b66068659500caa2cfb5f18cda0e705be03f18639efb6c75a3622fd3ee67b6f230cdfcadfc4ba976a56dd9e579d6790b8bd7679af2eeb2d831fe0dfd7c5a0ac51ec0034d3089bb1766e35693d75416470ecc61dca6160adae42909a9cad985280b1033849c2a9c07579276470f4742032d1ab81bcda38a6c9554731c91d6655626240acdef8f313b13a973a8837cec0137c400faf0dd252f5c3d56313e3057a5c276246999e3141b578f0019e52c71c3ad5a3f7eec335bd41bcc70fecb3918874a140ba6a5f49bd868d1fce18b9e0de0b05b2ded227eabb2e4aba9343d526a6c8eadbfc6c910161fb2c134a3abd42b2f5397c81f2c2e51cdd2e3ed1e4aed2226293149596d7680868bb7cf0026607993b1cf000000000000000000000000000000000000000000090e12171f222f36","message_root":"0x73e92be3c13f89146b0473b53c58648adc3492f6d48548d59e2f10b201b2e25f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb80867a513ccea857a6f7e7ec49c1b1b57c81d4612d3dcaab66f611c0a30e6ede460e987fea4dbd60222434c1f2afd869d2884a5e107b723c457d42a1a0405c9ea3cb04e64efdff78406ff191f8c014144b3f4db93ded5a062f06e1ed73b40d13ad7909a7229e8620c02c21df6536a1a76e639147649fda8a6b4c38d34a68f979852bebc85287fbd1557f3fc946f3be128ac62a4b6e2295876adbd9fb1bc30082ed8a939cc7d5fe512a0a9d617564d19dbfa9b9649a543a53fca26e1e4028de786d1304cb6e3dd15969545f3d7d8753d97c810e812715a5fbdd18d83b1109b0ae37cc6d06ec541e5e94e9e0ae6b30336120a92b6990b326b626807cde731cc6260b3dc3f68ae69689e8e0a5dbf728e8c89534d943f8938ceb29b8bc6c93b35702c3965b13f5cddbf945e03700a4ce29c11fa8950d264f3a5fbe610fc2761181298fca4b8053289ca0aae00e5972bebbbfcf2ba3bd09203c6d071ec4b4883eaaabb3827406a024c96da745a8ee52d88e0cb0b475f15ca6a4d05f2bbb7c0a2d57764d72415a41e6b224e07d947b23f2ec5c9fadd85f6906f46a72d23de741cea4f405fc1db713dbc2ad546f6753e16f37ad7bc8afa9eb483060833d9ca2af1d3a558cdde3e360541ae508f46af2e12982ce8f13dda2ff9b5cd1c74d591024c751772da25d95a283b0e1d60c10068850fa9f2a51c73349efe766f1d0d9e886e411bbc71c75501c4965e167749b98ff9d0d10f0703dc5231a1d46e57b8cd9324d72fd1aaf057c8c2a622847d513eb00f30030548c1a0cf1b3dce2ac561decc2f4f8def1bd743e220f841a36cce298e79e37f521da4ae38ff8a7d6e07b327ecbe1fadedd1dc2bd0f5106fd4bcaa22243219636cb06b6cc1fb5d245f594479a46600bb79d102f5f37a1882178bc4af98be643de085349ad6691465d86eff738117ad323c68e0dcf12d551dc59d28a593eafe926df035feeb6534e891aac69201e8cb97af542c4b437b664b4c6c62b49c561ff98b516bd1db775e6ffbbd3cffa33bfdfce263294c7a7d1359f7163f46a5d853d0ebffa12494fbef20e3043fe2c4b4882ca65f20c1c1c98e3e0110fc8a704b185995e92ee280acae9e64efba402c342a389cf993be94e997b036bf0ec9c6f27da03fd4e89a2ee97bd4dd00130267b1721fad0f99527efde7878a67bd7b564910a363ffd2a6fcf2e67b41526e4f40bd2516cb90bfbc609d996c3d5f596d4ba67cc734d55c171e018abb2164af3803104ad82282a04d3fd5dfd4da0f9964d1ded3cc209f4db23f3c2cd941aee4755784a1559ef1c3b6c071c8d044044b007351e3a63cac8364f1b9485c3bd8ed808e6ccffa250276c8fde7fb8502a5d3b042106b2bb790b1e7e59f46c8e46fd3298ef0bcc936afafda711d2af0e96a1f7d2b870232596e4c31fe37965148eac29044ff33b724f2ad89896c7654514c751bf9ceb541437380217a38164055033ebea526e2120309f045e9d5ba7e113d6248453651c608d75e2695589a2f168ad1eb33d2d413b0ad53cd97b1c20eba27522f2cdf0e5b94e7b4f97e7abf148da8b2cabb0b5be7866932f0e4576fbe335992390b2194725e0823be062f253c538270bff8e245c597f6e985b45fd1d81bf826d64f14443c08b4a7b2bbba49bb17d276063521d15feec6f6bd2108df545843d3eb0298cf901d890276fa929250f6d5b97d4ed8589d3cb49a9b5ce4a5ca0b4816af21ed7da9be2e7cd812d5b9b27704a0c03c5b7ef7d7d2a9f0f28738db0b61391d8aad6c803e9f854b2bd58dfa6b92deb63338e8b76813a7cba2e929fe08fde1e9ef1fa48ee95f42e66df7c1eac7ac2e1e9d08b86fddcfe356124786a9c0abc4581c547476bd96c1b1c80e779a211039b487095d53bb18717c9fcd6533abb7a0568427075d8c7cef2ea3a91651991464ff1d617efba1a602bf762e40a83d1f1d6ef9e7d6e684ff1e6d2b8818bf4e3cacad77253a5250c0e13aaf55590553f56b293f38aa193ad59197d81ee1751cf40fe49b421c7dc7e777c1efdd1abc3fabcbd6c0e3115753a5d67aa519d4fbcc7f667079e6c41e27830e22be9ce563c72c9de697c94544c0afcc2e1a97c79d5d2112cbeb9b9db57f95ce9ce0de88ec7fea1e7eb417097de331a4f7b64ede348a78e901cf5f568eb66a40854003f179708fc749a501ec3c6f1a1ab25ada8f71b9c5bc796e43ca558a6f4255f22a92bc1fbf67dc0eb149047dd5984d4a18e4b2b79bc247e26ba5f06e0b25f96be62a7d51624a7f36248820048b92755cbbb9b5bfead8c4ca3413964c867bfeac53de0d0b2127cd7bfa388e348d72181a2f8918346c32381f474b8a864b9f67e042bcbd1d3ed0b96c07d73b203e5cb051600b250ee886ca21b0271e27e797282390ce95b2d89bab1645021f9046d3d0f5864d372c5c188f332d9cbeae620a43fd44d7ebbad1fa52669bbc8021ecd8fa3c39e07c248484e5badd4d4bdd3b4794495cf65d64a8225752f24fa931278b9c2404586cb8e29aef2809decbe25cb2b9141f8ac9226f36bf300b41b8f1081c3cb105e0e6363ba7f6e1f180974d1b06486c1c05117e71d800ab7a7de72bd37967862292aad18fae1415d1ccb547f06da97d976af1be6683bd11d6e546af4de573371685878ae11ae314a90c5d69d5b7073d7001c4805957014c40546de9f1917c038d91147bd4599e7443b84cd45863438767731b8ccd67680a3a209424855c5795678c3fddde7c02ee2f1b5a3d22ab7a7ed95bc0b6ba7a3992c84a30b4e8a5defc33555cd9586745d381391b7c8aad2496b165a0ba41d518480b99902ea516a0a2fbf41058bb327f67a6c6cc7c97f156ac2df1a3b19c254261a566572504bacbac7da11e28b82b92f3be6a7f1b62030e98a53ab2414c435312a11e5d08c5439e76f495e1a009a0eb1880c6453ec9d27e12e08979def76d93cb1ce215d521b15751d68973230a38466a58d7c67178ddceb533ceee69f3533f3944f8cadc9b538e6176a09e846f5fc98c4823a9eca34b0f3f25a888d4f838ca67752a402bbe1baeda35fd03f603f5f36359fdcd227d97e20cae3628c0f8b380f0cc5e4484c191310b1fb3223c827970961afc900b03c0cb97f392bc2f4cc84a921df82155aba6fede48be9bfd123848a667f270923b62ed8a52fccb77710995b0ae47e853af1079d0fec45e87ee4dc8984ed804216005d1f2e871224911fff209d07c00ebb9e11cded5639dff30db11de31889bc052dd506f54f761fe4bb21aa2ff1288d5eb030905be83472ce9f6f524ffb87f203d444ccc123be8b465264fa792bee3b674d3cb967c801acd056f2514ddb9ac8777d50e2391077e9ecded43f8481cde8a7bbb38fba1663b65388237c0910c9ed815bd97987ed829a0a5662d856c77ad4d22c69680fe333a309a49fc4cd263bf78ac4fa64c2880f57e7d9eb77e7c21d8469bc3e933b5281bc5f2f949dd919be2b403cfd382d81f826bd9b15d9fde0e84b8a58ff9af1f6c90b76249e2561efa881497f8ca74057467a549d115da787be6ab6ba2b2bbe7af5ebc41362d1a071dab62375b15d3610f989083f5a82dece4a3e24ad5dc4ba1d5dd5fbcf7ba8003177ac7ac3ba16c12fe80f93e7eb470c3479b97ec8511e1248808b8e598f9a2e29d19","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3d0023330ff0a1b20b784c662c96b835bcf91af2e727bc171e3dd9886ea30868","signature":"0x3996f11f7d29fc702c81a29f28c438340e70175cbd4a504d03ea0ce771ba23109b395dbe142b18ad79283644270c7943c81b06d087880c320b636023126ce374891374abc3a9dbbda7231a15ad76547948205295e58d1e939d8b9765972f7207e7ab2efa4cb1d6d93735f00e3cf340b6530d77ad20e5e74ecde304578006c1dcf231665d3373c5f2f6d727b4e521a5e4a790be1ea89a21bbc51ab904cd8c3bee894333d5a534bb689633b542184d0748a769405f3d72aa1f76a8c637ecb6eb4b821cc3c3453789c74a3e85415bf46420d4d03f6f027fefa3aee60159d68219e0e02051961624ac9da9341cf1f7a77391257caae50922eb7ed83ac46e2d25428431dea45970dd74ab8b899c97d6352d0aa040079c45f68efd6c1f08f811b642ddd91b718307695bad53d6c212f6ccdce78d1bb906e2b5f2473c544c66d21f036c3ddba11c22fe4e915e9ec4dc6d5a33e21045b3ecef108ded00f5edc5471000ca010c8c2b88788e999bc958520c03b56888bc75e959f811fc6a58f3eed43312ef395d932a08b1d0509fe581f8460b83b6fe7a1427ef5327475a1f890f4f5fd1d53d9b8f3a36d1f6fbf9f6a7e363068ae48355d4a1b70467b66859adac2df145804d346f7123c665aa25ec459f24b5176f0e8f00fb499cd5000edf19faaca39f3d855fe59fb6881fe661ba1dabdc004be1b6baacbdc3dfda21569c011d0fd1cff11cc3f5d3afe387e58c752f30a01017931a330f257d1f74475c9e4e1f48bf690092c545c94bd7983e229163cf789ccd51bb1abcdd81c5d366fe314cd00db3878df13894003ed5a0a503ed967bb53f386a1b89b5ff12584f51e5175bd5028d4574b4f51f05a95fc346cd83301ce8d40317f65465c669e015b96af53f353b55b1268273a9d9a52653053932475711c061a2cf0f962e398c3d2b4e42a890660c167c85f800fc8740071226624ca524ed72ecdef20234a941cce0d7b25072c9bc6ff4fd85ee925019121ae8b7af2f2038b289ca4a373a785b35a5c54b7aa20d82a2b9d5e0c58facabceaad5256c1d7f2009a940a2f672de5b6f3153ee222ecb738866312afd9ed605a59a24ea07e31380ff5216d1f3ce5e792810733f2a5fe438827a161a8da726d77e5a3074f66bbdf6f64cec0e4f1ad45cccd143ad2b24ec8207b3399fbdc495ea12da84db6b6277448a7e60702a0e73a65f20361308b4155764d24b93cecd8cc215a193a9e343c717f3e484d784aff1129947d58c483ab79d7c795a90f2fa447995bf4d3245c411ea986c9a4bd8691b96b7beae0428bb9467d473b49f323418a9376b2c5df7a1760362bbe2edb409862fdeca283fa6549a6618aa33ffeb8b27c2aeaa33a45ff8cdffe7db64cd7f3f8ff4c2811fda31af1664eab414ed704825f6f7af321c5045b64b54915b7fd1182e6fc3a52bfbd0a4d6671830ce6f0db3c7a3b8f2d5db39d4c1adb0b6a02bb59d06d01b9ab8b99a17bfa768ddd6cdbcc57d36c9460d4dd77c5bc31af8e84545a56afb6d6865f14405a544f8c299cb0427da304887dd843aa1f5d93e678bcc7407d33ca71281479eb47cae086d02d027534cc0b56c0ddf40de5c02991482070f178a024be8d72fbb798a08514c52846241d78065429ccd05cb72ca685e553f7d27eafc619d8abb3feffcc70cc23d2487a222896b5b4e73f893ef30cb50fec254390c28325220d3bf5718cdddb2ef6b0af40b9c02469e40a105ab93620c1830e74b8ac2cbaf316a31e17e86dc8a4ffbc9f9d6381139eb25bf86ade220981c37957b2f8d321d45870cc9869b74e465720f87c1064cb03bda854ccc9cedbdc875fa21aa1ba81a29a95084b6444110227bbccb79da4c7b35585c4f64c3192cffb4b8904f0681b1531539de969a0e9d016ca49f8b2758ac49e232481205f4e5674c1675d9215c25780be82b4d767dcd7be2f23298114fd55f77fd6d727b2d780a07df704adcc409e50568f718bf163dd43e660ecf27e02899f915872315c1afa5d97b2c945ec771525ab5b6a6160cb1f00f986a325bd73c6431ec7e3a5175a62f147bde3b3b84b53dfa7b4d28813e956c4664c36ded56f743bc592aa623771c9eacbc89dd183f5df549fa9391e3a22d2b5940e3eed8f4be47adc1970c5f9bba6fdab9f28b0b10a83fd80c0f4f72fdd4e3804f35802dd870454bdea09817874d97d5568186084569ec876514288e3f6bb63cc703f5ab0e6c6604fd0a1c43cf6ff2a4aff3923477f1202b43b11ee2ca4c192a5e0b0fc04bc3f85824d3e09f87f27360371b05948dc56e447dd9b343c691c302cca7ce3f4d4761a7bf7ddb350a2b36c3d5a38542e219b4986357541369e9f621d5ba6e9759e851476ce1a0dc84a0236c7c9c3254e2192c6ff7be009963d6e856acbdeb3ab21d6eb90527f7c7b824b3033bde169d19c4541e8d1ab941a5e541e5dfc9031c674b711261b65a554eb227d379858360810412ef00d63ae7d3ea28d77d5faa5908b99026995b629d84ae86f42abda1930b880e1e96fce0e1cdf258b119e8eedb263d650883d02462756abd11cdeeeb1643e774da62ecbbd349870f17fede2012e61375db456c2427948ebc7eac209c606bc6256a6bc847bb768c8740a22ef68b77d684c88df325bf20d4ebab2796d3fe20bd980c25f0312f85a6ecdc3617a6d88a98c7ea79b11702cfc2307c7b71a2722054ec29b96f40b85304a51f94b31b330cbb4553c6e70223922ab7ce9a86c3e96f257661ee8381c305b0b8ec15581123439bc60eb9d2cbd73493d460725a9ff0304cd1daa3abfb5fb918323cc594719e6e51d969a3ca72790334f37335f13d1428dfbb5d9f5c613037f74b9e67e892f1e5a2b3958088b4eae5f4aa46d0ea209c6b56e546f30243516ca331325d4ec9a7e8a1c9f145807e046339bf62ebe8fadbb0b5edea337f6ea6c52a7aef5d83f7ebbd3060b69969ccbe2ed4ab7c0853cd4935d4b861c322978e874b466eea16253e1c7763b8b74b2e23c7d4e09448ace6f06a3fdba494755e9d2ccc0500d9eecccfeeab279af17e2ef052aa1deec766ae7e3853335dcbf742c27c1b503d2b91491149504d435e51dd18db81a1485726a1e48e62b058798bf5e8535c4aba174b8080846c7a74e8e8ec4337925e3e24ff5d271e33aef7432c9b1e6bb1b9f4c6a43fa9f644f356a8206608a6bebfead6ea4d5fcc664020d8f76fdb2434cef5dd2c15c963bbb2b10d3f456204fb6af95cb205f0b7f9014a332a6f53b487d2dbfd260feb828ed88b41a165393bd8a58f04b7ffaa5aeb2c8471fd1266ff4c7109ee76aef068daf992f7c6067ac26f4d4dcde0b0931da4d17f713986eba70115a79a06b99a53e46598108aa809077e73fd64476973f276dd9a5fc4a90a59725d995c8dd7bc0d2595674363d9fd46a4cfdd0cb12a8a981079522a1d28a8eee98a0b00b2fe59b9f6d2af79711f5f079dcbd83d64d2a3a82b1abf1e628377c4c51a4290ff7821599cb0ceaddcb253edb2d9efbdced400df51cd8a9c5f99662aba93212855b0027a6f74410f44a7323734bd883b704af9728e362d481c5afa692879f3c26b665e7c151667ed2efd8372d434890d499cd201a2a17a635c287a39d5af1e0a9122d51f61534bafff72f1af60a24314cfb680fa76f44fbb24c840e6c26d2187a9c237d0cd5c6a6b0f9f4df8ec0574d524d86eb7879fa87ba754d956d0bbda6d8337cac3d6ef6893a01d53e60c2c73644ac7785af9d1c1bd1b20fe92b757d4d13138efadc316a574769526c7ca1cf8fa009b001d0855cfdaafb76a078160c95874fef04212c088c68293875a61c68febed796673e4ead55765fba9a48998a82016f6ec61aff1b50fe0adfef0f49aade72f402e098a4eede3f69f99110f596f923085afe516308b6b75c77250e53048ab3ed7b80361d88f089091ac446d2f77b721dbb42029039d4522985067b7267ab9dc28a00c976d17b2cea635ebcef97d6a287da446bc4e764fccf9cc045ace8101ddadcace974b9d14df522c36ebee5dceccf14ae77e8fb00bd692a0dab2a4e783b1a38422a5d41e4865100f8b7de9f4e4624a5ad40ecc53bae761f47caa59246178bad7331c94f6ab349985cacc7d57377dcdb90a8f788a7c2fd267d2303ce9cd5f9a245d878591b9dca4659d4d21ce8fcd3618fc8532fb577d289dc25de2feffb92f07087613bf7b719f4125c032f66044c1de10b9143198555a89589ed70a011f0e1bece1617ac4f673c1eb49376eed0f1a82f53fdc8f60fa8dd86497b061e139f8b46f4e7d212b59e120caaeebc44a47bf756d550b479f555e9997d8b0eda13ca1c99e2ab74e241eab7f9b739ccfdbaf8da2ac0db58332710d2b7ff4f529d365e5a302fe31e13ee85904f44754aa2125986d7d6ca04a7437ec7f73119e744b825f04abab8a7e2900ae6e5018aa33697016ce99cf92b80f43e2e6902fccb7b526a5237f5514ec71fdbdb81ed0af183e62d99acec7569a5259c5d1d2d1587301c942bbdc5826aff5842cb832b80478070e06f0f1600417bc2480d073083f2b26650904de9308a170168319b35d375188bc5475979583719446f9161b05cdb6623c0a19da26e63a0c361fce6a5c3f59e22f73b7f26db22a89c0078c39cbbe7291dffd1fd2408f7162617eeedaf98e7615b21da5fa63dd46793e07655ac56f75f51e6e499565bd69d03e806866cce29be152c4ebf3055b4d717e00f856f5b312dbf78a46fbfe45498d5f4f6970060307a5ad490518c2be33888514eec5feac9a76b41f34eea5558bb74c0d6476c28116a6a824ada59399ad121fdfe4c1536de49150c7d3f12875d31e11aa5ee0a6196b26c819876fe77f94d4bfdf777ac5f6fd8a0cb2342ba7be3871e7635ebc630a01a30eeedf79decbf7f7aaa7031ef48a6759ccfa3654b267d3366db8c54eb289c731a8274ee3ed5740526ba7fa27c55fb924c2cf42565b8ba7135870189220faeee97912723dc17255c171d40577ffd96ea2283aefe47051a63ec814cffb61d1cd83e2b484bb5f49af59543b4a325282b203ecaa7b7fe56262cd34d0cc2a412a5f244b735ad22d82ce7ec0861dd88ae8647967ec6bcdd2c061ede8fa73eebbc1fff1b0892f22acfc2991d906faa2cdb725610eff6bd9ebf791e50138e4ce0cf9a74d7028a672403b42fc3099ad5381429c378758444d150450cb7576a9724e4470ef5bcf9a17539a79eb7ecd8e701931c3dbf4adb79eb203d083a2071c6c85c5261b68fde4212659b1ba8d6bb9a82b9b842e9d5a88a74cf81403a77338b8dbf8efa680828475340d6f4a75dd4a97ee9a0b24066db8c5e27c44ef07034cc9202c9fd211ad64a0031fb4295d2d4630752990f72324008aa8df15ad499832526efa7ea1d2d17df3caad826ad71c8a1f827e33393417092de5d380017886cebea3ec133256e449549492ccee0cdf448eeefba458fb7cadb5b5eaf21294befd7682434377122325aad5e6f55abf1de6272f78412480332b20e35f48d70b625ce5b534fda9a9d04c72b4218548ceab5b57a4a7599499c6bac0134342b992918776126e05ebfd4848676d889c99c92e71e47b360d3d38987fe318eaecee7a66b25fd87e18635bcb3196704bebca064bba50b9610d34fbf7f0169198cad63fa5c90211c3655d1f41ec9c9d04947e5de1f4564f47f2aa42b786cd6b82d27059990580f6a90036bfaff3e233638ea01b292e6e028b76e57dc4a60b61133a759a1003b403cde0eb4e4efda60ea6eef3759902d8c132105a3423574a2f84b49eec80028bf3ccc1e586c411217ed0ea6df26a4e3f152ae55678531aeab4491eb2cfe41b7bbc7bb332866eee786368d0784742ae6b85387d9aa824637530e0a9bcbed7a2fd0c1d3f179de9f7a80fb26f0d0295611c251498e2cf02dec9532b07394bf9a2b8bb41b157a883d125fe8ad47c99ed75a7cc69105ba0f43a35e172a1513ac58bb5e63561cd9e2d880da55cfb8ff04daac7e156fa9bb34e7592da5b13de82c689aa7f88eccdba4e953c114c236ad7b24760f7079dc45de065a09c44b79c40a55c4d09bae51ca79c9fd8a53595ec9f1ca14814faf5e1d371f76e9051a1f1a0243df21e0b80e1ac3113074a877334ea832939d3aeb5e6cd5c87b82b368719b357e514d809216cabf657edf27526e8b100ed337b4fb3faf4777ae59404f7f5529bc26739de5301b71d6199e0f4350db519db4612c86740cf8cdcdcb6ab2753149bce27aff4827f278e7d2d61ad256b122fee371e7d604cf89bed63d336a5f70265c7d3f288eca5c01dfc038eabff8061777f60fc7366dc6652a771d942101fb1f64a6b12811db6dcf5169e28b766747ae6e9400ac48f0d286a48d730c77b96a649d45802c0b67ce01e96f63ecb8c1ec3dc5642486a633eefab5a28cc38a85ee3d02154590a3b50525b77868dc5d0e5ff25314ecfd9ecf40508091458606fae10255aa2cc182d5f889aafb4092f4b677da0a5a9b8c3f631343f45606e7987d5fb0256597577aee1ff000000000000000c131b2027323c44","message_root":"0x46926330f8101574a20b19969cecc873ed264ac5462c521c8f9f096a73e0ad03","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf1343356a2485425f358bfd06665ec441980d49b16673ff7537cb2fd25effb4001621fd59b2e64c97004b562770cda105ad816945a288084a23799fc6f80567608ff16e644888c5c33d06c766138d952e39531854c1492f946eb4b76c5859686af5992b94ec018533d893b74dd9e2e43bf4703f0f25d28aeabfd7b7d66587cfcf43abe8e0e908863b5e57f82296b63c8250a52f32910ef976939837b58b915d19b1a533fe0e77b49789fda75480c3505c787b67c924c673a208dbaa5324c9d28d0f5d1a3f02883cdd0f3c4909c673441f8ae348b5582163e35844ff624fff7dc0c6a1ffd12077e3e0ed36f022146aa389d625fa63741ad3ff715fd692ec13d873fb6253f9cf1ae3add5608fdf9b603c47f4bf99ef0875ac4802d664b7bc3ca5c751d56b6ed7b9ae265414acfb097bcf43d4df24328d78fb86d43b0e54cb654a3fbf2a6157f6cffc8ef83be3c71c37a85f3f4225713522e22c0f86f11cb14800523cd567296299757a526a7bf1b28b4817c317c9f02866ebfd5b132d99962edb4692bbfad37ba8dc64459b3984e3e73b82c07549d193ddb08c117e01493be3c4a58fd9d3265cc83a6e605c38ce0f78d9d3827b2b5152cc6432d842bc1276491ba1584773f4a0bd009df90d3c1e09653bd80967a269e30d9973b4c38d9b180ec0029fe50b55f887003f5cd88f42304604d801890ba98bfc8a6d61301754cd30a64e9e2921d85eb7d3c1efaab71b30c98e68c04e21d7f48cf010c5fb38e71c88cf3208471ac2de84560830bebcd190f8681f9b10ac98dee34ef1a7cc7dd644b938516ad2466abbcd3194bceb76a219a3c0cf031ae7292ba39f7fbe0abd15134c0f008695f6d260534fb913a3a5fe1f9cd58e15cbdfb545c03d1bf3877500a4f237a828ee83673d52db949075148f632df81cea356d693e7909aa5c601a28a79ab5741d4b24a569ed14716de02b4dd86cd57a898390aeb99b670f9c8b98dfa3d0ab0a2ee6df648956d3e5a793a3629c6b09ff5364ab0ade60e940122269f87d77c1706adcf8696b47cb86ce83d734a4486a877dbc03d71a6adb49085b21f1a9c4632d2a6a0e759b6af49edc4e3c9d32998bd9cb16df1f5f722099a974d74f5a236f0d088dec5330aae159a82b2003fdddc720842b11165eb2f732e51a395534adf5e09efebc08367839d0dbfb1ac07efb03458193032b6a996d7ca152953d988adad8f624c154196ec8d82a1c675b80e679caccf204be1caa6e7990fbd5e76cfde8fb35304f0f87582ad720b1c610ab29319b8765a004a74993ba9df46f04e0ac9033e71e9cb7ec086dd55fa7bbeb5ffe619ccb3d688924369574341c9270202e495c5decea0b9be80be94132dc8416fe0d6c287c4f50c553103a79c4c7cf8d430068bebded31d064b6c43dbd6c8dbb37cf5bbef5e107be5fc53537a2bdfee9c030217b8b5ca698cd2fdecb31877ee487f2e597c289cc0f0d33135a90887d8101f0def276c4d02a74600ad2149055fafca5870f4eae320121a3c070ebe9c28bd874acc475c29aa0e5a274a40f68a96144368d6bd295a2e4ec51428be02876446d5e53e4385db7bf9cec6cb33a29b3b555ca043d5135dade294f4a09f63066a7af1274cf52ecaada3527a8f9e08da73ffed073be4db358a871f2ab5cc9f644ebb077ee4b751cccb7ad5d967d0e86720b9bc5fe7614dd6f7476e3b942d4e866c53396624ffd667a7fd9479304b5cd61015c737ddd5a273442a45284fff0898a4a1b9aa39513d40b5c546ea32d1dd3c4083d565d667afced81b517d593d9bb7dcef80b3853a8cef2cb82d8819033295164d378cdd37a6f9e87747f64a56dd36917af43cee52e9491bda2a6b04ae04a0c8a884b2009b90f65eaac9c541b2fafb53d189d2cba25c308f6d977b641d5581589af7e8c8e780f866510e04e05e0f30eb6d1957cba4a22d52158e848e30a2bdaa7924f69d7da198ea1f91b1dda8d27c3512ce1e9e89a8e31e4a4582d030fb6ca75765645c2ac15e686ddb1bd7888f43395da56d25e68e0281bec87974e8e5cd64f2db429395e2da15df96ef34436eee390521a72ce825db77f87022e426fa59f2f8d4ff16ed03d7e5118ae7e422c3aa4f06eddc960f2127ae81439e51018c4d0d55808bfc2835fca08f5c97b106ad9736da01582e238af5ca9820162be819d794cc075ce073be04194272b27341e856dc3e77f8523ff428b3bb28c25e30db06340ac5573959ab26ce4d3f56c3e2dde217bc08e18822f68fecdd4cac331db6f004479b1b3c24de041b56611383d76e713ae4aeb02db1238eba0e6e77fc637b73338c97d7286ceb52b9d3b9623ca6d1b9bae419b0d52e33fe871362696e09a0d4398e1ce3d11ca49445ea81b8bd014c641c523f2977fed41e599ce174cbaceee7b896383d0605e0068f0017eb3bdfd0f97da9406a5ac8a8f4a62ab3dc75e0852494d01d8566642adb49c4c969eb98df462cb8051839d946ffead49c81d31071e11f55164de36c35f71b5be09cef8506e7374f6178a321f34151cd5494d692caa1a073eb4732b2084fac1186e7af4ba0a7f9a77545c6c021750f9dafcfd93b1aa79924c2f9329036c438168cc3d38df8f5a11d6837fef368e0efd248d92a24da4ab5cdad88411f250ac03a8850634f40600f62959f4ffc9dd3dd3977abe0362345cd13a295ff0940a73c20c7dabf459726d77a8b7d65692ed5919dab42615dcee173306fdd74dec000eda1991848a206a753a11aff8505011d858da8b5677678a7f87e177afd02931cf492bc13ba1547affff407449a9bfcfa6aadd198c73c353d9b4c619c1cd8fb696e8fa565dbd3e85a98175c54f25b0ebd375f6afe830e83970f4f68e7da4b2e7566166f0981d935b2514875d51d1ad5a85ba8e4d969cdcdff2159dbd71083eeaab945ef8dcd7a66d7b8053ad001d281fb08653bbc0681953e53beb9143a318db9ef95123f08255eb33e29fbe2b4e95052301dc978756516a234105b8f2522ac4c96b71f8d0bffda9d8f5c431e33c0aa184e4055ecb6b9875c09c7013b15cac3f7bb884008be672b366084a45dfe786dce00bf4191b07112b964459419a9a2a0dfad8f618389a0f6015876ead40902afd66c9f595dd93cdc33b723b981700ebc34930b120262bbfbd27c9884b5ec6c6a12f66d3f578c5eff9c8e9d41580b7da20f04f7792b431d310fd7d94096d63412b13f9e660cca26dcd3761412b96a03e5df92e157b2b5ec12e8705339898183226cf73cd043f2e8887037871f2ed445b7ef364c1ccff1a080b09ede63019f47e6bcb028b6baf6b9e868a8de535172ec707ab6004643e40ca62df11618651029a3fd9a4a609483a7cec22b0d8e917e0b044e8c6aea618c5e64f1c1f2d5d87ee36da6023fb003e29a8d06639078296c470bee2078e460f5aded75db841d1f6ec68d06ce4cd92fbb39163f3a2014f511ded2e959182b244fd6743f8867b878617720622e53e613c36336227497cb14c49ff10f26faad668264a015924c56cc455004c6d7607b48e56da206885e7c7f4588519f250857d1cb8b5bfd158ebdaaf63dc2bc9aa7c84f4a1a39c714095ae346c0e4261153cd151abbc6b55d6c709dc15c3727e33516124a0a399970878f496147a230270d6aa0ba3eded632bd1ae7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x7fed6fdf4f2611b8d475810fc50fe6cae04d9d5a128836a256bb6d2c2f54dda7","signature":"0xaa41c15ee25cacb47ab66d9b51f663e88541fc937251305df44d421d0049ebda6febe932665fed7e241baf99eb57e8b280d04dbe09ec3d9e6eb23b7e6e850210055bd42620c0ed4376d933ded4c89f1ae85cce51cd8ce3af1482cde99e38eaa182ede6c5b74732824832f22e95d94e4a4bc93de5bc78bf704529dbf9e4b04879186a38fd443cfd4ef00ab20c0b499e6b0f8f097febf1c5a1b1893ebbab521cc8cb522faed0fe73f5c786389d13563fdea4edae20cfe6efbca2cb053dba4e4398c21588720ccc58023f6f866022f1c5d21c5d85136f37deb3c15e9aa83bc5eb92336738f37e2529e782ca11ba37eba438f76b907b68c8cfc01c0f571e91d1618bee6f13e47f5a1d47317c2f66bedb0a394cc34c89354dce12d5aa4cdacdef91d1235337fce5ce1aae038f720195728d429890a17b3b7986d6c9a39676f4e72095658edc1f6ede0af791aea9a4e1cd3beef7a060ea028cdc482ac2ca29e7996c7cb7962e7e81f5cb83ad193ec81e5b3ecd383381a681253dbd942e6397a09514b7d00b90e00a8eecb0d86b5f65a96d518169791b29eb8ef3c319ebfec45b436c72b27b64e5071743bea4889025777d63cd49d78d8208b287b7cc6b432cbed1bea52d601af63a837683bcc095c64ea544b17b4c35ac440626d004fe11a312ac004e1adaa77cfa0a1148cdecb8f59d0b56bd71cb74f66fdbc70d56445f8a4c747345952b89503a3134debe5cd9d7975a9066415eae549bf19d301298c89c700a3c9fa04e0271582a3643801573681765dc7f890f553b80bcba2f25761133227cd55b073c1c05bd288922916845580559a6a478c9601b9bfb0c31e9be5abafb1db77574f25dbdb1ef0294dc7777097e6e2e409e0765e3504d3616e67d1fb302daae82077492dcf4508760c4dd1a947d1f1c7f91861200b55fb8a13db2231bb18d2c57550a418af163283b3761ecd054c3002364af84250a8710bfdb7ba05a708b8fa62eb9cebcfb4111af184ee93e17652b163c41c6b3b6d2450278eea70d589804ee45f6c55df161f9fd7b693833e1bdb555d2bd29d4e62fb64e49e9142d27e0d5b629a690d7185fb15e11f892e23a6c84c3dc9064b6de459d207c078ee746778da87f33e4d5149a391247cb4522d39bb5aa4ae97d8b6dea835941a9b48c3dc9240968514d645ee21852de33a0675d054b6389400df24a63ba97a83ccbb276ad0a4d461e272aa2aac83b2d1ae0a02bc494ae8c4dee613f313ab89e6e45f23bed191d838a8d35c8e35bcf8bacf4eced6d566d0b0286999d75228f6f19ad441134f04a9c8980522b7c014b26f51216f33414eafcccda7f70b7f37b9df4234084892bdab6dda48d5c2978bc13e0127bea2b4db4b137dc722523f01ed64e623ac75a98633a0f565395b003af6fc837f0236a55460a84914f54119ad556cf33be40bba245b39cdad226a8f5fb9433a4582f969d868a6c836add03e4674962661f244e9986f26a0a7a3127ac548940432f4da9693c95f749e277469c45f33516978475afd6bf7c83b6e37c47e815f23f764762af53bd3390dad16328547a58bf8231317d501663e2e6f7e79ff5aba4c8f86852e76f517f7eb9286944a6cdc12f02ae49f3955659699c52b63f562bc451e66d06199b23c446d4032c9f9bf0464d4f73ef025086626e9103e525d6867fbc058c629d50bb6340c596b69aadbe1e252890f43174563bf52d59bb5aea9df62895df00cb998b9c296094da991fd0cd94679a8d17ee86c11a8838a606f958f7253c5182477a63f31de99aeec0758ee697a6c72ec28a87c4d22aa1a8072dff943c0dcd93436540c56134408fd45ad5b97b1f2cb554484545cbb631ee9b72e46c086457220a43b3a21a27ee89f687eeb6113fed921350ff986e4d2d2f9f8d4684a8181f77b41c08765f08049725b239edf62c6143042ac6f8e4f2ce27b2fe22bc4a91d505e2aba8f6b0f57e482a49224f3da9d9f8e24192cb670b68af156cc1c69940ad20dd68051b863d272ca3eb1bde0effa5f1701ea8d497f592842e62d7d1b542356f240f20d7b11b3f8d41f20faaa4c8f632f03a1d6c69a5812a1fd05f1341817aca6bf25801c6a89e9b290166bcd5a34c7283d26f071ab3f78c219473d609c4e02746c67322ca3c0ab2798700f63bf9255e66e3d51d6104282ce3233a681f206f7b39e52e9760aa2c2fd75fa6117aa496a95f717a38d2640955df0712547de30c44374d588b69ad21b053a7e58f7f6a5ca7d0581e347bec2aec9aa9a1d14577187fc4cc37a94c912e463c23f3a03f717ba210d78dc7fa94beb6a80d8318334a133d20723e416a23e69e55351ed634fae3dbf70a371c71de0d8355c126d3ffeb1f08b0c6e12469408686f59f61ce90dc3e59899141d76a032f306d5594d36a9299092ee44ed715da2e88a14377eec67314cae53396c3c64f79bf9bd7b7fbf1f94833542d97690af8d220944470d215b57b7d8b52dec67699d2696564d4ca7548990e62a12eda98f42d574da19e8f54abf4cb4d013e5bf515e648015c43781ceb2b2ff570415962485abca04d79010411384f27a2dcb12e7dcaf1e999b42f511268c0bb8b1c9ca557fd1eab518703e96406557f0812bbef78db74b348fd0a762f102d17d48884e51bbbd4905c548210745a6976ee2e962a421b1e73abe536edb47c1673a9308088f8a457630a33891efb04603a71877b81eb388101bbc48e645dd5b83ea9aa8968c47176a0f85eb69f673a8a34edde9c516b1465a0c08b17671ffbf70d6830e6f2048edcbcece92f722d8dc7f9910644a6aaf75b339097aeb1fd3e1e3bb9892514c9aed2ec4eb23df64927762632b838c091b8f0e6eac3cd9d0e05a83350d2d2d9fe6523b3be635d304b52db62eaf6c6ec65b62aadb418c1fd9ab465791f9c5073eb74b03cd7b249c402ddf1c690ada629c322559c3d90547739dba5a2f817a70ab14e6caac9365a6a78e042d06a574821ef023495c006cf91193042c350200bdb77c0441e5b3504924b8b2265e2cafe03349ac2ce9128cdf31cbc803179eae1b53a0465ce3825a835be95f729269e56865e0b56f9bd9b61c0681fb55f9bdd8b28ff84cbe865e9bb3b81ffe2f5d0aa8d7dc68a228bd3fd43ae6fa766364b07fe72edc0ff1a697d2ae5dfca36712bec909be97ec2e9a9800e79be0527be05bf89ff182c8c9cce04af5831878c8a7644182d03fe7214f2ebe5ccca05d9231e6134f825f2b3ef402004ad7e02aeabaff282efbb81597fad26f9891e24ad2d5dbf66ee34a97891ee7640aa2d6f5761008600efad7f0a069df5d4c5bff16c814fe15f61bd46b220354f1a1e734507be4b9e4df9821093bf334e8b1c8e6c45548a1a36213367b9953895f909115b6230fd33d6a1121d3b262a84c573ae439edb0f6664d8dfb8e019f44f114eb749549e9cd7d887987609a3932ba52ac0db9060b621bc4d6d857de278785f9fde4eddb7e2d689c718c3b05ca2ad49959a86f70899bf15e61b015fad460df0f3929f490a4b6d559a3150b3c396346ddc524b8b41f4cf9f9e2ff82322e3c4cd2d1a70002556742b6ba140dd7e38347fe4c49f813e7182f86e20ef28725e6a0f986e6dce96aaca27a06c3f2d8aa5d774084b7228954ada53fb6e0d5f0f52f3712ab2c513a420fb1e377debb05338088ff246c9b792939a53c49085221b2e953ee7eeba586ee73b5198ed9058e31fb5f321bb76af4c512c0347e9e7d6edc3d13388f584967dcce67e6b7e398cbf141e2eed0644b8d3ea268fd6ace573bc15c039f09a1c0f5889b93e3f553140221ff7889bea03ab72f889c74a3a628017cf1c668d68757de15a1846f5dc4e65422bf9b1d62e2769911eab8d21b15c8f467efe0d60774658021cf39acaa5dc9650bff4ea85ac584e4e246abd99dd17e1d7e4b91e7700c0c36ff980d0c80b8ad2f45d34e1727e1ec375ce6ac28da89a194aabd48452e7435096fd7da65a54a2ed63f01530074e14cec8abb30a369a865cdbcd244635dee5a9eb2826d1d910c87536c897031602d317859775396d88cf58e19f0b0069a05b5ae6ae165319b95051fe4cd29f3b7efbddbaaffeb16fc60fa3b4297e349fa8aeb90c124ac6078f7159bd338453bba7a84c4fde9f92a7e00917ee9d50b5eff5b18780524d7d3a49804c841a9b9dd1c85cbd082acd4ac00428269815bb39edea24e79ac5aa3f08b44b5c32b2b4fe28ee023100060ab908036f1412bd7478d1d6b3431b9299cac78816ab46173e25fb108072890e01a90143ec7b2023774cb4ac2e0c08cc5b681101daeb6bec15c568b76b0a3f679f7ad01d78edff955d3d3b12e6ad139b0e5bafc9cafef865d4062588b919ec82474e2faf6b42536d067e1a61e15f28da0a5d64f1150e53b69c64a1580c9228251cfe24c3e8478b56aa95f9d66df3a3f69a2fdea53d7f8e92c28cb5697d5985ce7b0c437ea691964903b7b1403c40cd83baf7da83444353cb56d3f52a819a2d40c1e36df3ac304822d7376f4aac45f169565f61f34d0fdc38026db2b1c6741b62e75775cb5ee9af6119f2262cb8c04b85cbc233f28faf19d147ab5ad3791e04fb8e6ef47ca22d6b5172661d4852d28ad7ad6177af891e4193b79976e1118b2533ba613540c4f785f65e0cabb3033cc404a94a3c401de8cd8ccebba7c5499beec4c1aa5c439f394cb8e7ae46ac9217c6ad3150ea83b0bb6f960e6181032c4f93a08536c015317b60600f5d5a41f7ab67b8ddc3fab3436badf725efb91716e60ff4f73d93e5a57c952c5654d3f204a9f66452e2197d9a33b64dec80681439727cc2f911c8882c34251d2c2fbd7940c16f8da5b9c93325f6c8148f820edee5efbf5bd93d8969049dda4f35a853478a214811503846d8d473bda26d3a807f74a644e4a4653d9fbe82d2e2fc1992f465f22e000c1d527527293516ec1e6d7041232bcb596765ef243ad680c79abbec00d9d10cc30e97e06cab9c84a99c78552887e85981c8910a53e7c179b237b32da25b49916af18eb676fd3a526cb0852a05f94db866662c242ad5edc59859392c8869508361adbd52d978e6c4878e42cbf9ac4c4cd90b21b106c5da52fc389db72e332f3530e74c5f7753d94614d087c899a10d929bc733a9a151dd7f8fbb6f02c0cf2b1988a5e87faf54d1c1c0998fbb982b8eab213729cba1fef39459da87e5fd02f06d019d1147b575eb4ebc0fdae8992601f75de69cceab326046e6f1374dae11b8460ec441f10ce88e376fa4d5e10f334732f9ebbe0cf600805c51447d397a642bebeb5fb4ad7dbd55247327ee6d2774095f9355f1b6f26047476718a0cc07fce36ed697179d68c884d5434f5e46f838a4f7d3e42b1e3c37097e66edb4d04c9252271e8d6044b06304254488e1f85b3dd4b809faefb522822b6c0295d9157c46e96e19fcd11dc017cb12b55f5526a7c8e838980aa3cc771b3926737a02c7be27064aba0ad3baf36a61cc6b8084f2504eeff5fadf66a6fb74a7e92b592d1b2947e83048d30a3bdbdd382474403f23ff2297f91c620d35ef2302b44baedba701101e62144e05f66d895b7602123eda2b80a8b0a0224d0fe8791586c8ea39e4c3bd17d61bed0fbbe6ec622473b65de47b0f026c32fd415008ea2f3be25b74a483b82d3be606e7dbb02a12bd11e0f44fbcf6c9d5ee7bc498b7862e34b77affe1779ca6794d243c19398755e61258990fadab8e5593b3ca16974ecf38a899d2882036c5dcf5bc306ad4b1546a501cbc5f5f27f0beb579510074f7a4998ca7e70ecf7408dcbd6fdb8cce48da9ad4283b05f8d60a64cd761b3ec54c5210db56ab2b8e2548da9de0f767d3e46493fdee4e13d593cd9c1443d27fe04e25bab8a78dd88362b0f25cc4c2109a104fb7c3fa20f8f5725d01aeff6bc170d967428d18c8cc2b2d9fde1292b4b5dda4d1df8a79af3a2d0a47cad3fc9401b9933fea8efc3cf28a238e1166c8d9beddb8ed78a187fa07a5b40415f9dfb736a65046d9c29706946da4286d2a8d04e9cded3afa4cdfe49ae020db3321b71a2bc06fd429d69334af28823ef313b49a816198d8fffc743a97c295029510d78434dc07fd44b9f503bab23f4c5201126b32339424db115c57256395c158b7a0c09795cb8595b6e77b84a8d425ae1e43df6e706fb9e8fa5045e13310a7e9d5e55dfd64da61cb364c6544719446ca70ec5fbe6142515ea3d8b183d2f4d8ef2e89cc7ea8a6a6db31116783f2edf9f3bdd0fed6a626f905b361a7d16686f7b6e2949153e6fac40aabd31f6ab9b18c51b95b282c118e89fde28d79afa2d17bd2304cc6d5a793ba4c7842745543583dde5d313b6c2c5b2caaaf473f71a94b95c4722a915822418bcb4fbaa4d15b28285798eac3a270877da1b2c133e3b68a59ae54c013cbdc2b1ce416fbb92240a9023d0c253b40a2cfec0a4952737af6fcff2b3d41d7f5fc393a45747d99ced10c54578a94a0bbc5dc152e474a57a14f8586c9dee631457b7f86d6f8000000000000000000000000000000000000070f151d262c3239","message_root":"0xcfbea2acc14ecc0cc699edaa6302b5b7ecaa6ac28cc08b46948d60dd05a9c32b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5f96465f5e2620ffdbdc34b2ca4c6c553e068275a1e4effcc73011c5ce90918df7d3a1968bee22bd8379371c93afff9e09b6c400c8cbad1a6b80f2d1548163881a54818976319155493b9a5038014bacba9f28b9e177e75de9ad9b327caa3d572f6eb3184932e42f27883ce5a013263e74cdb08fc8d3f1f5d2576dbf81621a240a2c77a8464fcee445c8e7fda84e545f1b0604dddac216d9eab98f1c0381dbd0dd571e79e2dba3278a587900c5e3812375a86acd3d7445cc239edd920795c5e54ee8a308a987f6e671b4b3575216bcff13f42d313d207d4e2edf9a8fc69aa366aa89a38827a3bb2f1501a4ebbe41ba98ac932ffb56a3f0ba561f91c22a7e414b28a30e409d9173c57fde87bdc36956399b9f662a49060d960c8d09236a49a510d75f7d1724ad3401ece8d21f7806e3defe68fdfc0734d46ca7435800df800227fe9bba8fc14bb37ebc18ce31bcba4d2e6571c3fdeda56cb15c5f9601302c945bf83aec00a20df02efa82642f6cd3cd46b5718181e3a483698ae1895d7307530efb020851bbc166c7d167212186daf2e89f4bd7ec8eb43f0ee0b37bb1620024e4c468b172f71192e334a5378fd2556090e301c2d40f31e1d2394d3cd89d2495de730c71bf0e0cc82accaa7d4856c6d78d9d51f6430f2f56b060ee457aff7f02a317142c6ef28562fbbdd9ff88f1ba758e184e15124f96530700b396b91cbc589b631f87f10ec76dd2c8e09fd3287ffcee61b67d004cca2c46c0909c53d8554ff54efd7f001e782322c45b424421ba49b92656f2082198d0f0d0d42fe12df87373a0d4e39dda65002a12deabb4dfe5c3e7f89d5dec3760276db70a721e878f270d84df66e47d5aa56bddcb8e921da00daaeada001fcbd78a1928ace083b254485843ccff0a6acfbde642af85ee0df4b24d5be2cb5d05483f23245455541b5e8c3d92c6ad34a6d07791a85b3053639f1a2d06f97a3ba1eb1165e6d54582f738691962946d793201e40fecf3c63fcb84ef8fb437d5c8f9ed64be008927f24148611af16e38fc27b735841d9413aa04cb3afd605553f09084d6e9f41d4faca404c62a66ab14724fd7b5b8dbd9d1168e5492ee914dd8406eefc3caab1060dc88e7bb19ac75287cc2dba1fa93910bd91bd4799a0845fa8a5951876b1ba635e1e84e98d22a791017b6d69c05f6067c53355bd153ad4e3f9317692c5379c857c3049b7c72e48844340da8ed5f2221354c3505ec3742a5e1f2a5362edbd33dc59ec942dfd66872271e305326c0bce0c87750c1a855511c8ada2560aedcd49f06b1314e16ba2168d4079beddb349364ffcf0c197d15adca19f94fa69e89f8ddb050d4caa08a7697c479292663fe0094bd2d6786993c410eaacce1cb187c83ed51d7fbea0a1bee11a790c593346c4a0e1db402c603d213f1aeaa33e414d00fad5b632c07d1a7db1a2059b887c2f1db6d5ebef70336cd0badf6a82c4a4f258044c46b77c2e3b801f38ff9219e916d36e14a317b844d670083adad6e4efb0c7eda6a009c63e6b7e0ae6c8446ab8c75d9a05e06ec55fa9e8be25125ed4f849ef4311c237a242776d035d17cb856dd50d5142d312faac0772f7ba50773282dc17911e9de30890898c5a36de431e95c4e6fe6521d986a5187af496532429a7b284968c05fa365f0fa4be0f6101655f40a443ae71d16af958c65f4a698c12deec1df0a94beb8513fce7adc807926c56e1ffc08307b48c48b6efd101c4413b1e638025277af83aa89f65db16b1033c017b5f29e5a5d8e8f23f47e8d03e6451ebcffd4730ce396cbe95fa2c199f87d31e5f54a71197001bcbe74c43fb004a6b9fbc46782c8d7f414149eb9f2fd0216379daf4e16b49d9d258a60c8cd56ad419cee553b333d4c0095ee229aaae7cddf828bd6b21e9c93c01360f6a731af2fd96204fc82a6ff3552d08eeba9674c529a03357f69f5a25ea4fc974ee36b1f384a4d6a0887c9f7d1e812752f1d4630713fe798544b4c1df41d080f9932eba1cca5c7cb34b53029f9b7b695364398f5c77410c39901c363435b5e78cefc06987a8984f0efb0dcd88f0b237bb295038f3c108769fdd58e7e59ec1d917f44915ca05f92314cac4c79b8ae29a34fbab9659280b119bf06199fff062cc5ad977d3df0996d0bc1b9ddba602ae16fb980d58afad0bc7154529ebe02d8135dec63386f9c8fbf9aa6f46e9a59cfe48924e56e66d0a38e4e335584b6c72ede5c2466e5152c4411193d960f78c582212b8708feaf157f07ffeaf074a72d06e578f799c7661b401864e65d7387018af42fd54ff58e7d33cdde874f672e074bf82eb6a8175dd0c394fa36b4516f5f984a49c39aef8813e88ada1db0db86a0e5d0c15a26b14067f28e902c52b6045b000cacfb98190a8ccb24eb1cc1c20666f902f2b97131bcf9bafb7f946f10556a2a309e41e58d08da4ce820d98537733f9ee44788d481b22e69e44cd5476ccff73b391d1683bfe49e97730ef72160db2b92258d1dbc21f4e08ed238c0a1ecbaf9551123dff2d5849b62a598ebec57f051960a37ad5402c39cbe977643d3d294c894207208a56b6e20f7ea7c411f51abae2d9b5924fcc036f865638c93642d4f643c94e696c2a9fba74bc0bc6ba4caf819ec0d42f404b27fa48cc1aa99c5282498e202745237290c6c60d052195ca60ee28bf7856ee309325c41f4401c88e805922b0c74019adcff36dd4f0b98bcb6f5cc4201561d2130b2405747c36e3923d7028064dc5fdf3da4bb29e3606de99608ec9af6075a33edfec1a08f05903ce09c9900b9eb203fe53ea6f67c8f7b6584759cf39559314e840f876fd702ed56742063c5b7c8e61f194df8a8440394de61d323c2e6985d220d68377b9adcb8e4b91f8a3f8bc52ac5097e2b719c45582f35f8f028188aee7b5eb039912e80725219d907152d06b9e5040e51a81be141d28f8ccb6a2056dcb1eac5e066c8dc3a21df21a8d4e9ef19973875aaf88d906e9d27d8c885727be1691be38725cceab477f0f19859bcdd012739c7281fb6522ecbec2201f67129e0d6130b4a48df0738c7c1f2f7c9b13af82a02fb3b95e0b860e0da3ee8484f1639068b79580b3979fbde6c9ffd94b404b28423c83b24211c12fbab0fc2b8f23fe3b4f7b31ec09c3c30ee224e248d17622f3d356807d8d76b3e60e5a9eeea99bfa46e5cb7876367a619f92ac8d4d771237457915b94a6818aa570e29f714d868dbc5ffe40e48bd442af23e881151be454c4bbf01fb0a8e12120eec9240bf819695608cc5d36f12d99dac9a77c9456c45ee7fc37ff0495ce5cd8b612338dd3d19f6b8fe4077dd86b951bb12286f8df4f3c5a74e197b2f2512fafce01017239b12155e500a5a417acbd3fc83599e3f4bd19ad46c212e1fcb340245b9f37a9af657ac7967a47ddaeec740da70444ced8b5de32362c0f32d9e46494e897cd0fb989ac581af17d09bdad6ad854e88eff5dc78f785a47b8913d8371034f4619b04e4b862bcb355a4eacd0928070435a711779d73cfe6ef521009b69d0fa41a2c4c5eb2a3ff01b92b3a8ab9ebc0169dceb455cac73d97e8478739b4a508d151f462c5a33c224a2893cedff2a945419e55a1bd952ba7c4ab511da3069903fb37a3145aff884afd754b508e62f9c18fc96c56307f19a","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x6738e6c8d1680bbd5e167193ed96050be633b2a8cd15f77ae73d9865b2829568","signature":"0xf15fc3f94c341b1ee909229b6ab6bd08fe1a6322c591ed2e022dcbaf4c1035e966d36848aa79f48b12afd8a622ab5c0132f1a2ac227b633fbd58d9b5cfd25d31a03e2682cf84c22625c9e36d41260bf3736711f162ac8dbe8cec2d42a4746b271692a6f51389dd390cc55c4aa3b86a5e039263c1a964cc5cd743e8b22dd4ff582a88b5842a3786781be92d4328381ae8607c32b3c86647765748a1949acbcf5cecc9f894547606b42e102224d1f3b275b8e4491fd79a8e491e953768dd3aa565740e8840b69ae1be00771a7d5d92e136e1d60b11183151ff83dda3b5b89f44f9745f52408abf632a7040a01c49a56c96281e7383e38b8b3478020ad3bf728e8acb19b7a05aa1d518c66edbcbd0baa65b00c7acf45617b5999563f199609991b7087b52ed5a0cf04b29e9d39e892fe64e4c873d61143301153b084ef41a20c019cf8985cc2ff38f41aca9a526fc13a4336fac893f7f9a548c4fc56e9573dba87091e3594fccf5d83a57556fed7bc9fe65b3dbdb46041aa69200234b7b8fce080c0c0022ec7d5196177b2fd6eabd8df22430f5897c4f3d9bfe9975773ec614383f2ca38079ee6745b6301e5f2d31710ef511d6bd82f7b04dfd12f96ef7b422e7e5f87052779ec6e3ad5d692b0b4532432dc95d3b45bdcaae5f70ab49ac5d0433644cff57f2cbce4779df2617aee0a91874662301c8f4a7965240427d05b0d17f8480a7736c1e2cc12fd686b5bdb44d184afcb898a06a28920b4bab9a5b1cbacb1d5ebe320d7fbf3c1897a6654ce896483431af4f70c77fecc5bba08f6dcff54c25238d9190cd2c8d8c02697cec65a3da5a58ce63a99a04ce49c104d3c2f5029b0a121cd4f3ad0fb2d17e27406b2e65226b00836644c9eafb937404c3a380f15559d296a7058021085c90344ee0d7e024493aa815f1b088a63c62fa9580aba52f996922e7b80bccfc64bf8714f62934fddbe2ba6560232a4ce29d956c45fa395db9bf35b9b3f6bcb8d0d8bea47705e4c4e1a247a7b0a6767719b3855661443b420ebb5c3e9c606db10c98e3566a6b65a3b519192469c3e6076460c30811919c35a986855e7f2e673783880e0f11b07a14dcb4e6c0b778e8963f3f7b56b6109a2db383f4e84ffababbce43ba3ac8cdc8a59eda8dfbbcad2fb68588cce6604df321c5abf0284e8f8ae10ec02be8f9b7ff14c36bf6e8627bb187dde2f268630f6013682a8733adebfa5d3402d5bc4b5c439843f4069fd8005ab141ea69e4e31aaa476a9bc4e1e1850936e46a1e375c72e35d99a2c60308eb86bcbc5d8cf284faa9ec204eb44030d844353c88b1f288bb0cbecf8065f2387a541704fc8c74d223d6fcf12fe7c84049a4eb9f43e92e94c29ed1739ff0e08bbe1b9451f0eba1545e9b55f4d58d4ab8c6be91126c9fe5a848ef63e6defd65902b2f523935104dcaf1e602f300201e08103e791f81ed8f15ca8a7c1e5471ba6e3bb4da4214703f55562004809577bbb416439fbe3d26ca544bf6e3cbf9591819acadc368b0aeda4f1ec836872fdb1f12ebb6a249424e2b6dec2679712ea661982b86cabd4adfecaa1a841dc8c9d9a37456b96a180ec0406a6f45cdf3d535959f8224b55a548dd8d1f1095039803fe1eb6a3a12c50e8088a28adff55c50d931614e1df3532ee170a3fada1bc240b34c4eb768606326b21985b7554293989d54fca140a2c838e4ca7483d300964a1cca82e1ff59d0513ddd37287f55c4f9984de3c414b02195c04043ddb212466fe50f61e479520c68a9faa5b7f2091eee9cd678dc4876486ece5344c296ec2f00e5a294c0d366c579d6f61e3f4c7717947dcfeba25a7073249d0c5ba6680a316a50f572aff5835ec2cf6237537ef2963d74ae619e1af2cb1f3d9e41a2e176688cb57d60d68412b3e5cda09636777454eb14250dd09e6dbfe8e6a5f20fc11fa03e669b5ed22acf4e4a018dd65c2dc99347e4ad4c1dd7189c92a7d0cc2d17cf3d4e341b8f104ebe7bc5e2cc3946915d975efc97e0ac169d2091b7c7d1b020cc80cbc475d09de5a8b64cbb464c8f113fe1267922c81076a47614a602fa6350a7e576554234a55a9bd7496ddbeb9c6c1366ca3b8edb2f1ffcfc9c7308b1732e6aa383eb1b1a59c63e58edbd2257cbb4359d7fd3a3118735eea66451163774af9601017636e16399db00806fecea07354065443b0734e69bbcdeedcb42c770428904b5b4889f7658ead3e57fa59f5159f4383d282f12487fbe9f7cabbef007420a491cd5a645b8e39c9159bf54dd76d465dba5d20a3d7e86e239a889e538fa6287ca6cf157b6bf549323daa92c6c834d37bc1d3d17ba33aabe84ad9cc41afaea0d383d70496289367bd13b4c6e7b284c1e5ee5e73d0457e8dfa1e565041a91aea3374e56f2f928b067bd98be330262e1141a3537511b5c54aea8aea1e6c4521bfbb8741b9026c41bcdb8f05dfd33bcd1d284d9fa494f229ab5a173c752158bc0e0763f6758354b89eb0fd0b28521b287f095cc5b17210f1c22da54b9c186e3097161d9711f5c9b1c80eb5aaf59348acf57ae674ca4d43d97b8f94c683064de4964882d388a215ef9daeb5fcd21764449b9ac2d04d191146c44632f846988c93b086ff743a94784f47a8a78234e3bfce42b9e78cc069c115cc8fc2540855d76f55f8306ce691df113fde94df15defae1a5569ab898921ef821db08434fb1c151ca41903508f1cf101446dc8adc9a0f32420137e7637ef3b20cc2b9ae700472b2ab38598e006f31d48847b786e52c49ab37d99cdb70fa8584662010bfc49c2905ba2fbf007409a678629a7430d7d723eb987ae4f57c258f86a69c6ddf6821a71c1273f9181761d67ef9b0e25f52e69fe23d93bdb97cdc73e1c3c64e0bd642b34fa478133beb665a9f9c941af2d1dce855d193fdef8e124686f78964bc6091e6c92b764ecce1b9ea1a71c3b31be1cd6e671d8ae74f9252e5e6377218948d956955143bb0113d8a0c067a9a86a6de5ff641d4aeead685b1a7a2409722ffd3b5e088dd4891ad79e851073115489335d5715390edc8708d7d03d22c63d7746ba288d7d1d335e6d8a10a6af1b2448437bb6154fce8065d81d678bcb38e8f42e463b79615c08f7e9a076ebcf33ec8a1b77f89d6feaf0fda933c6a6687f248e174882096476b34c5c2fe80122648c3296de07c081c98eb2e1750f9c87b930ca374a3e960ccd6283531f669e141e82c9b45cf5cd52f8a4e2bd989f5cf854b420289990b987c33fc64cf36016e2e41a641c4b719ab157c3d6709b248efb165b937dc96664f334ae8a4d0e000c70300ea8025f5cf08f5fc734fd1fe17744307b795f56237783a518d494dbc829e43e4662e30f721df1540df5cda2d7d5e6f9c832c21fae362dfc2680b600d835a49e83c9eb1f9048cddb2ad699c5c74bc62f07a8c741acaee97d619e7d8972d35149fe6e3aceb27fa2bd27a6af130b83e534124e1035b654fde71cf1bed825cb241284cb8c88e6e2f3e5fd437ee57e0d64a40b0996ec2c02ad4362502a5413e59a1f2c0e72cebc01d847e54ca074caafabacae75fdac21f633d907461c523f3a296ecf6d3c6ba1bd85090e97139ab7d2ef0fa9f16d0153c79615cb4a1bb662fe47ef9aa14836161decc2710e8e09df35f5d626301696d023ce10846ddc734755ed0afab3dc2bcf546c63b83dce5e84ed746422775fe77ed216579aa557a2e5f65637988e1c5c525c364af7463ab04f5d8f42e0fb9bee6c98013fda577301ac75fbdc40526ba5ef82393988fe5368e28da545d4751f9b156a58d2b8d7c38e51045d39ad00d9ad839ea88776eb526b26405ef16a627b76f702ec5888bf43f4f88d7623addc298e25639ed888bdf239d36c9cc9362ed5e74e05c10ed1affebd60d757cc6edfc079a9b48dcfc061046df10570d0c2a3eddbbba195c713407778a4719e698d12e4335c7f1acd4a3efb1b86bd1768bb745f28def9f9d1d526b64ed734a576d3b27b6e586391d52b876c7e6f20fb4d7b72c56cb8fb837fc15a03d67b4152354ff68e33865de88893b0e816326906289d0a307c5edbd4ef996bbd7114766d0bb8817828dc3261259755e70236f7e66d045fb7b11238b5e6e6d822bc1c638edcaba24611a4818f83ab2a644ea1024852a7df76ad783f5b31f5fd8ed77b431fb52302f39482f71c7cdff1ab81b1041c5a1321b2f5e5d3e84d5ec60651c227395a3d50ccfe0f87b507f906f8788e3269805218c44164198f01153ffdeb9d4f6724ed573d5a355cfb7f2ae49bbb7034118f1482383d9be3c578be86c5689e64e819e219e17d50b7e3e7685a87d27eee42ae709f855f11f51c4666fb85d60d336b689d5018e00847707762537766a5c7cb981ccfd37286a65f6fa9ada2eabeeaf923faff1440d9966e6957cb71ec1d0a8e3235fae6179a0c55e04fc416dde85d72344ee4811b127a22d78974441c7d4d6a1e873d3b386c9821e3649c8a44f6d89787daef8c66d367cb46c3db737792938008c60e3e9b3051d0384c7b0942f2b7aa758f2c9a7ad0b03f4a11f6af33e4bec8d9b96778817b6a826f214035b803c476b377642d60e3074a44e76f994dbb7fa0941d1e4d6d5d59ed64c2bd5fdf74fc2f6386d2dccc48d89fcaf0b0ee1cea7f25a633241ccab6ad01f0d33880ac3d4fd0ce5765a59f4512d3ee8c99966620d9f6635fc1a80398dff35a9be4c193f2087f0a544faf7a1d78c1ff62a06d2007844ed2ece07b067cb7cf0f90f706e95bfae59850e1768020ba0c667b89dfc5f573c0850f2a49094bc75c838d278156844fc4b8f200ccb24b233d28fe9137637db349b137a1679c39e1ec496a430d70f7d007c05e103d1100fb0f617b7b09300dc57c964dd19363698e55f2acae6c48f25255d8efcfef5b12e03e7bc3cb4cde0ff31a757c316c411f108cf5996bf2fc04f02b8777d064d31185be34a82d5cf65aedbed9d87a006833072be15d99e8fde623d1239367b8767aee7cd99f8a59bace351e1f1f303d2218f0b71ff31c9a16377be04a590e3a72bfa2d1a36f1981aebcf029c34a130117680216ab5442c1b20bb2c66a6c92414723b7abfab85461c7118f8409f98c872af09021ca605638ee9381c6a0345c35a9e548361b0f0117ae9355ddcff6177b3923621087ec88c23a7ad177a3646dba95f54e34274ea0d081ba8c8c613ad0aa55c7ffedaa971f1a19961e8e3ca32a086777261ce101ecf2a1572f2cc539e161000a001fbdb201719a91fb840beaad1917a4d9a4f882c41419a5bda228f88beecbf76ca98eb77a134287d8662d82213b07b46dc89940cf2a79b3c7ce9ad312fac20bf6d0c2a800070a0fcb0ff308336313dcafe070e93232bea5dcf45f8c21da15466e51e61e64cbc2662345ea1bb1cac6b8f24d407e5d56b55bd1b04d63df1f269f42fb439f2f7279e3f9afecee9899f14495b37f5e54e9858b809243065b0ff5d342474e5f2528217ccd8389f657445b9de7b3c064fcc96671f65b4d44108159ec4f07cfbc48fdd674cc3e1b04ce5f3e3b30d70e2ea998ab2f0fdbefe74e73c554b6f256bd1b1c1443eae7eeb4ce58f23a19015125c65568331f9cf5cd92963d4f9334748d826d801fd57a3ffeb9ef4c09c9aafb2cd8189c20da967e9f0703c02b5a18993ad88d217706a782dcd88a417dd2e61d1cfa240e0e713f37d20aaf8d04d4ab2b80257fb9d5861da07cb3f5fa2681062ebf06a228ca79dd13c3b390759c69cc590ca0068f4a59a32f21af11b9fd9bea4702db68820c6218e0e00361f7dcad96d5bb1a5f8468603e5aa13ff2d66a8e59d35982f72cafd577211bb41ea4eee9b81b3b1cb560d47bd0b9af0f1ecbe86a97ba76578fba530ed427c0a7d2d9ee4fae5c85729416631c1d3570d8fee2b57e85af70e47e185c41b0b05208434feb32c228588242fea461bb1c5076e7b651a6078c92751a303ab188b3aaae9e4239a55559b45182266960f9094ab2fbe7807d23ec0e0319072ca6c20ee7cb3794f64335fe16b865255b90f33e53a092ec3b8e69e9cd25cc033ced43236a82d65102440e1b3d014cbde217aad6df6d4d200907eceedae4b9e6dad0464610e1713e170e8bdb9cdfbca196cc76f05538e01df74daaa71aa483ce7b6a247db01bbe640c5c404e8521cbdeb7df9ca997ce205df6dd913dffb7b9198f15cf2d7bac9afa3ab8aa507493594c7654a2e01321e5dbfa07c5407022d4b03dd309813df2e438f0c5fad5f7582db59c1579cd160a6d2acef08bec9e7163c83c1ff1d982783b74e4527145cfd32e8a748b81909360890a22579d66bd01f993dead3ab0cc96451c5ce5f2dff3f240125e4e0b56029bc2d347f8d0b8e7af5e40b050de227418b7289287a02169a959359567801e03eda93ecb8500ff71f3e386e4ce41081a018e84f66d0d3e5904ef0119263f4f646c819bb2befe365c7794c2f318435964b7d8fe142835426892b5f1ff109ac95f729bbdcacedce7ebed1a2a394a7b9c0000000000000000000000000000000000000000020e141b24273137","message_root":"0xbb308f20b67970d2297df1db6d23b5c4855829f9bb15f39bc48408de7c037fdc","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x19469956864864f17f1ed9ea2eaeed651cd0a339f51047fdacc812295bc1bbe96b1f80338e9d16109014e435cf7081b4b7be46b906c848cee41886e2d5862724660ef635dd4be2133793a9b91ce154ff87092f3ad4be708c51a7a722553138924f5a73e07524ce3526a3a2c49f4f7ef18ef22d8a980d8208d862f71b6a5608cdfd6f3dab8bfedeeb6f00a2f82779bcc2e6b6db7ac9a0a37eeda1b97530d575b9a9f2a49120513ec493c867b0440c111bcaf19f5868c7ffe056a5a8e098df0ecad9e15248c1d2c66ee453f4bc48709271eddaa6dde1143cdda2a043ff1270d433af9aa1d293a0b603259fd5a4e6c7a2cc7806a0c97504b1a328007669efab682b067fa2152826875ee0638a708b22f98517911c086a571409d902ec7fb7d6986b9965bca5569d2fd6ef5835a4d41dee2c10dc1129f57f562e9d2a7e45fc6eef573bdb4f669aea2fbadd4e633d31a1c7db49d7a8ecc77d98aa1f16b2f17b031e6454040573ae56b0447c4f9d5bffb7946cdeefec760d1f274d1c71d55f35af2ee37e251f60721c358bfc9f2b9460965fd2be0afb3cd272addec8b49ae6253f375de9803b6cdfbe9cfff39dd8ff52f3dc1e194c231b90e7dc2ecdb5d756f7eab6cd75b93f1efed9ee03b56a655bf7a8fc12dc3a4f7b1b1fdce32f5ea30aba7a400ba47d1cc5ab848cf9fbabbd117a70729ec6e0a29fd8ec6a377be6cdcaf5dc8439ef42eada9f5ae8c9d6fe51edc7b6012d6a86edf55c03fa9592f35fb4ef9e287ab9c5ae5e61a565d56ef04d7e5a5a913d795293f25dd0731f897a5ab96de54de331837695aebb66a6bd70ff90c10fe8e34edfd297ff73419cda2a11d7f7cfb5f2cb38d6e90b9ded0fcb51c985c87ab116e8d3c4a30df2231a1a7a49bfcf2f527a6fd9c34fce8f14fe62f030702f267eaf748dd18d0548222c7263131353381b3657b7d5fcd327bbdc29d9f76e81a781e7ea6311275aa944c757a8a7af8f914c284d477d5076b99c094757592e8748edd9dc5b6b45254fd36d1a729c869e69a1407cde3bb319ec1d87ed189cc0bfabfc2f7c839194a38ca33d9d92318dba532510eb2af6866949131b4112759409a123827c533f264c219502d28e2445b5633d5757dd25e6130a260aa5a8448e6c623da7654fa0466257d7d69fbcf57b52dbc01a8d34015e28c7522d97675055536dd9e12f6bf5e3f2e9b1fc9b67ffe23d45f4b6de053999c2d96cfb69410bef2d694035593462d299d697d54c3955c55f41e6e1d54e33653fc0367fe2ed82efeac10a633829cb879d554900f019e9f1669ea600b25647990b30b36612037bc174282b7644cf1b6baf014e3ac7403317479a5d07a02326c2e2380466556326466a1ed527335975c75f707becde3941fc22f7a55bb53f518a4f37982fea438a4244273c7f0415d6bc92632124fb05e7fee88ecb127c2be902ae2de9633b5105c95a9737a83ac1b2cb09a694720662c9161647cec9d518a0a46006c056f5a8932892bf251b8f25d0c8e77382ec031ca03af0fa5c95ad0efcecbbea5d6d8596ef37575a2e03c31f31b62512e6ad0b27623d04a6eafac438d9e80b48531e3451d48c9ab5d26ed93efd1b2e54b38625a719690e32607b86e395324f0681168264fb40f9fb9b3377a8755057e669aaa2c0b098ffd05203127120cbd986f4983306d4b2b85c585a39d2caa157370b0039bb0ef2a45007a78f47ed1f267a2e23b418456a6cd31119921362340dcc109736a4325508c61edb1e8ba996a6d24880cc8e02ea81104f64ff5f18746eda1a52a79675ea6378ff9bcf33d9b4cbcf240b55fb6ca7eb78677c4d8f9b7106624cae1fcdff738be1e89dfb952d3d30076f44368aaffda7ec3bf637e4e49b2824abf40d1b8f9419ae414fe34f1a22aae2a95b499d48be5558671e2935fc848ca108a368e45030286bd27ed8ac812b431923ad0e00143e8ac22084f9bc0d226b5f2af6e0f19962372209dc585051d18965afe4c94f13b9ae6d315a61aa1f4e4fdd96177986e455c3312b0128a641d1c169f5610320fb3359539b2d4c900599cd51554f6334094cb1f89939ae1d1a5e77db1f2c808e99b97cb0e1ab9ea314d5163a0c789d772bab449d662d6018f95a916f7f2c7ebe52a4e980a7dc3275a2366f99e9d5ee1d533079e28d50e531284f3152c4007c6acc8c29e3a65466503b39fca7ed53f8c5c942bb70a797cc2dec9011f3ebcdd8bd68c88e2d58e5e5aef42d2ad39654fce04f40279c4589bcfdaaedf64e81c63ce56657e99c82c146b241b3ffb2d6e60aa07b277d699f0ec249574cbdda564cb6743ecef317322c68298c8776f29bdff0163e2d4829acdb3bdc4fa9cb3475f5379e0d6b3381648328c53f19f56ee00f8d2397fb3fee227984238fb3c02c878d38c780889aae2d0e68d36ff4b01423ce4f35de630f7f3b39b85f396412b8863c6af01a6cd9c592143f38c2e23fbc58ef2696dcf3eaca791d5bb06d0e8e4d49c8f2c228da9b71ec96d9bd74de9a28994885e8358671745894a6282122426acf0fd48e5244d8a1afc3301cdc4431c7259ce824b5101666c2da123c111923992915590ff8998cd6c706cea078805a05daaea42f30014fd649d73f5c4ff1c7b7ee298dafcbdd92106e62c4d38358fb9e820b30beb0b0adee2044f3582d43777235b24483e4134196fa62559caa88315c8f1b0c34b723f7ee504ce38d614cb737ac9c01b2b18af46166b353971868ddc57a44ddff1ced358c6cea7ac2a47eb8630a83949073269291b411f4221ea4efaf425f99c263325fff562ab51113f0ee6465d4d768e665fdaf4207aede02094c38da76280751321589a54c869d804dd58a9f218fe0a69d9e09581d896057e0cc583050584343042a62e91342bf066f872d64bf60b4f14e949cf40df5f915b7ea8f237b3dc89160dbf60e143c95655400c2a83dcbac890ea51fbf4e8c64003debcb95935348b299b8fcf94b2dd5af1ee53d6de7c02216e28b72fb7e5f51987ee3dd5935ef6b9f7ddcefe2f7b1cd39455fc8be66387c21bf129ce79bfcbc27816630c2bac45bfedcd8fd5bf40cf5ec37471cb9a0276d732db476ddce0267c969d3521bd3da479407063474e2838234190ab817806785323e228ce41b2910b9d5d6c8d5d4040ca5affc6d7fcd2ca8586bd96147baf1ec4c9d3fea2d6ab27a426da3bf8839e0c263683dbd5611f3a151b744f5fe5da58aecb2daae016344f4bb04ce1c34c1d4d88270c89d9706de383fb70b64806644d15e226432fe521bff07a6934221d490204c6ed0cdeeefbe5ede223ea8bc744d17c90341860c887c9729d82689140f5c6cf2381b7a192a1ab0f94ae663fe177f79e14051788e44ff2ddb8284c7d31ed99e8905b834fc12563bd56c88dc3486b718c70f252add3ea7a56adc582af8dce0019a308719fd55e30f713e8dd6a8168c6d5ff6a4bc46ed3b1e9bcdfcf048f81fa2c17093d65b6fdf23f2cef74d75c5abe06ad79ae9a2696c15982d20219d9e99d031ccc299daf0e4d0c0091d80b073d1ba7ecac8199bcb746ed558bd8e4b6e04a2722f20146307e8262bdfc7566b57e5e7126aad90240eef2d577b79273b810926c35ea03283ba1d56bdb5c8038d96d5b5471889fd47ba14a18769440140ae09e6944b3d2ca038","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x15e1cc05425db5b5a907839e55f049e4d852a49ddc2697d29bd8782e9389f412","signature":"0xc845a739e397a3ed7498d8a1d248cd2bfa56c45903880784e95d4fae348574287b9cf63069b2575a31fb42ba5fd10f50e036913666e7d3479e267dee6d9a87e680f74b573ffa802e83ec7fab1fee4451cf0f4229fca8cff18a321be8be3777ac7474da95fd79d4cb621154038dfa27f2e4e90c1fc1654f983ff3a61114fe319f907db89798a80825a5c9db4c64853105c705f919dc1e996378ed3faed83d40b84b2b7ab5da8c49af42e139cadcdfe38f696e38e625a4f3f93fd9023e941871bc482a6946d21453edd8ea18da425bec9a44d28a0fc1907fee135fe3f794b041df8e40e9691f5e74e4fd45fd3fae9e733fc6213462f22ca235a43567718197826d4694a58f90da44016c5bda609667f2e3ade5a7d9efbe99e30e79b93d92fdbef0848b373fda7190ec471a6f563daed046523ffdc9ac08515527bdc9f6e11ae224a0fa7a9e8ea7998eb30875b9c63adcd4c9267ca10bc5fa250bf8ed55d4193f67ac9cb379b298c3147de08a285072206a7d48a82173bcb46fe0eed8c95a7826a186873892f7891b675e78e156cb0da77879dcd19fbb914bc53a8c6186ee6053579b54ded03bb68833bc311b9173c02d3eb5c5244f1310607723063efdde5eddac0a6f679d3afc9fba6630bb6a95d6e4dd08f5eb73cb040357434fb3edd1746512d348af7f91a3b27c87bb809a33fd512f05001d03442f84ead61c2c5ea159fce8bb8037ca3e640b5d2e2b064ef841f9fbcbc9edbc1325fd3dbd7fc334873d2f33914dc16a02afefbe1655957a324bab9beabf993622b30875646611fc03176becd8c2dbb48e4fb48026efe5e7766bee6e6f847ab7f314a8bfe8af7a22deaa4ad8a11b8926bfd83f16f08ebb91e85527cfe9149b709acfe1c4f20fec4280317e9a6a824022d08a1fb246661d8bf59f25ae0ec677aa94a2e999291f65bcda385faaaf700bfcec2255c6012e33971effde99418c6e7c24c0194702bdded1f0a732caaf90bcbdd544342726350eda2f6cddf7696b163cc4d36261bc57e2978ca1e31d0ec1c51155c49de5be1eb531ef99f4bf7cf17cd1dfa961cff265eec74b7143adac1cc45403fb10a78c019e7dd7abaa930e745ea3baec5863301f7608819e4bb9827ceea716dd20ca811aaac3812d5bb429698ec440665455db0e79e558860c2307f9bcb79dfaf5cff9469e4b0b4c6645083352e0ff875c034a8dbea995147d42c8fb8dc1a6f7eff361761368a48051f69775ca527b887b561737d0333f9d15f0ef631bca984359d3f9b729869367605f312cc4e051af046ed72817b245c020510f1af961ecf0f9a01a1aa48296e96a8cab4d03072772630cb06f8e81778f4bb5ab05afee8720322c0bba5f9f737e8dc9dcca1668c11812f901c21f4a29f90b3e19161d771ab5f617e11bfe8579b67568dc5b13f8c3be8b7ca9cbed9419403dcac5c6184aa6a0ddfbe3d42f720831a0d1e56994c0bab09016baf29dc35054a0ba8124f153d70c5c77ef3dc7a4b4c3efca7ec7b686955fb00502f957da410796d85af133643cc0e43dcfa5ee25a8653389323280bfb7b85cc7350a30f1ca677793c07b00ec4f0d6826ff9a4ffd73efafc5e521b31bfdc00271dae66016b597fc1938e985a3236a949820323ced425ceb2c3ec8d89c7b0fe438eac9eefabc2aa3beda7e89518e31c95caefe7503e8fb2842bf1929ec5217673e4853cbaba7b56adbeccfed02d8403ca1f0a9dbc4149e4111c3c560df5b0381c84549fe92742532fe21c69a8ce619b95e3243bd3e276182160adb6560e7076e1cebdee28261a162f37d4be7a57246ca2d9d1eda680c9618b0e1bfaa4b572a7b9ce93461b86b1d4aabbbd0db99900c44f06cc713b592ddcb093af2dc875a180b91752fa706487a9f7c4f84d81700191bcc02a0a9a26736bd3a11acf97ff0272dc279c659730176c1461d6ec76ba6e33ecae2431557ba61e6eac9f1833aedff3dfe3aaf0f4087c49ce45c0aca67d1a7efaef75f7836fe028554eeef4e71109682e77dacebb30cc6ebf52fe4a1f90a2d56360413db2f12ccaa097cb8e73305c1eb32af7ffa026c5c39c468ab8eb102624771c3c2d5ba4ea0af9b7c7b89f9755af0ae0b1bfc4718f47a72057b2ddfeb22d28b3738fef0c1a453bc478ca6045d6ab21d84c0b8b8189a26d04eca827cd3ef0df3ce1b3cd2c73c6eddecb2681852908905f7f24e5ef85b6ea53a1d436e73dde28f117f0af2e0cbdf83eaa516508b40e670409c7e47222ede11deadde1c8b9e227e31872c2a717212f3fd5123a1288fb73f06abed08617df03e3c392fdada485f61fa9f9023fe6454e618af98045d863cdfae74cb315dec107b3ba5820e368744152b1de5e389a9acd71e1d0b8beac81e4c180b50f0ea460e6fd41f17aebda3eafb9605563d45a535a4b0441615471a8780c9791b39571d06812b0e964d87f82cd7613eb3a963e78d438f276fd70e462ca2ce43091fa9f330463a6a0f08c1d99b0ea0a936057d212dc9ac1f6732d8a086cbbc6d12fb8fcdbb6104a84c8ab3ae25d63194282963591dfc063643b152259031893ee4209f8f56550fc61677ad11c0ed70366e6c89e88f36d11689702bddc4574a3b2bfb7777a2c32c4cd53ceba3ae65b596c4b2c09c345772b9ed37226cca964050c87d21935a459938cd1d491f33c88a6fb298f2e1580087606bc270c4320e233f2ea2dbcd1353a8a13fdfcc3e013f06414550667b331aa3e4de13eac126936db2c19a51b96aa5f114c0f3fc2af9574bc78ce48dc1789fdc6567a4d45223bdbde30b5f3d78a23eaad3ddd54710a74e5423fa3cfa4b6427eae3c97d6c9d308a45f4bc47c146aee5c5bd56ebd5d4323e2d37a3103720686ddf7020429a443e8350dee4d2ae5bdb743c90e1b336d5b7c26eb29ba1d0043bfc739ece45d69b596bc436009fe31ccc8b5c6a7ef6aa0ce72ac24ba1a57d576fe035f0724ce01cbb2c265db43a572d8dc8e3df203b970c9b8462667d1dbcb2fd80b842d5f4d8b903e3e0ccd0eb03b06402a04d69c65195b8549f3120ef3c7573a4d3392ecd0f670bd5e4a9ada63ffa6b27bc29a23cf32b39bfb7a3854e1f8fd762af52488caeea498fd5f35b1e6fadc7cd42918ddcf7f2e2d573e2784c7516769bb9ea58511bc66c85fbe4efab0e32c28f028b3e39316b5b00b3ce003417658faf27c0efc6eb513c059cf96f8b304236274a8b3190587285275d994e730b255c378ea5ce9fe3e646a0f237d1394557a785c03b7d3ff5c28cfa9dc79774bbbc00f4f643b8f2acf1347e5a9912d342ff138c618304c8ac3aa835fa74264a983060f21679a8d2177975f02268eb96daf09868896a0241a35fcca243d61c7cc04d839b73848b29e64bcda828cb52c52d745ecf124c26d8bb2b2eae93ae2b4c35f22cfb1e88f551beffa741a371b81adc5a6b42dddec8e8019d709608ffe134ccdeadf8423e0b8a3436c0e48fa2235ab60d87354e61997402c6f9d68c39c57b9fe5ebd75a42ee6214cd5322d3b25f72e78b367b555682e17a8933d853472a564e998cd1c5d443299d591e27affa2279a6f4e6a7499d5b7143013bd9a1b1d3eda092d6b8cd05866c30f69f6b36fb121adc1e1bffb211b45b6d1e10cfcc38d6417b4a805f642b8ed3ad4acd8be2d0cba18b579b221fb7d53bec9acaa13b3755e296181e8e4cede995e532aea12b20c3d92b4d9a23432477aec088b131a888fa34010a9e13e945037b9f07e844a9774c24253b5c6bb270c9ef9dd0f4871970d67de623b2c6042f38b91cc186f7f3d5c951d9b1a99e96432486151a30af6d06ad9163b6a7471c8033850802c1f89abbcc01f15c0cf38dcd227c27fa80fbe4f7f2aedfa52c99b2e571dbf0781f1bb21e8d48dc39d79be26611ddb22853d5b6b8585bc43c9cc191d891dfec9cb97a19c245855d2479754a61202707bf9967cbe3020bd095a7e815d0e4269431b81bbc7660a75fd27c75205e49824d919716a1007e2abee13608c87d162afa1a41cbc36fc7e57102c8c03540febb1d2a48d9a0fa5272e06c234b63abc23a661555076ce1edb1a6c3ef29d39edd20d326c8f60d3877a0a5f3713c60b7de8c8273b72c21409befd4129a9fb5d6cac08ae3f58255685c67ab03c5882caf75751954383d68a3d1c648ad6050b35ea5e9f8ebd90bf792ae57078747109dcf2dfc993a2d1290db45c9eb092d0e93b9535d0cc98dfb5c03fcc042a659b6320ef123340bb34edb80913ca57d064ccb68fb806b733203a7c8d47a672d9cb7c004442fee6c0553c745e970e93cdca8384b7434764e2dfbb58553a26349421c743d5dd0e81b75e8f07fa33648d30a0cc5e0a9c27df9b557a5b6f795dbb6d7f702ecda5f88d397a343e5064a4d1613bdca8a9e63adfc532cbb40eb3a89b667020750ee0339edb2ba5e9df8426ca182a0be5f7359c8ede8045d218cbc42b8abac0f2f505028c126bff1806bd9409be65f3c520b084c600b8c8113bdca123627de12b339c23707d1ad3fe37d504edc9997c6b03c84349cdcd28e2f5400acaae93e8890dee8bfa661a882122687caf0f967aa690f2b01c0cc4cd81e930665b9187019396ecdf929b9b849b99a60de964573ea2a21913003ca223603f2dca6cada5b7d14d34e84d48a68968636f95975191ea9e16c60d1d6a0ffa93ae4eb0e9e48332739ed478292ee02437bf8485c7b464cae2cc4ef3eacfed5c5478d132186a99c605f09a064920392888b58e0aab8644ad7e1b59dc9831533f05ddc2d353f369a9be2fb652f99d2ddb958e8aff06a6a40891923e526724a2a3ffd2f4953135f23d34d74749f4a184b9a67d15ebcea4aecdb081f4aa12694f3cd3e520a99779a8f2ecc896d928bce121fd9201c6e396766f221be2ee1460baf601147735e1a92fdb96d6d1a4859ae86c5c7486a760b7f4b7f57c05ebfa37523480286a66735a000336aa5dce3064cdb3d5a462fae82becbab032cb774af2cc7ed670fa4b4d3f66c0e71f9328e8b2861b634838b8ae184c4934264bb1528b95cf7d68616b6db2c0b1f635a1b27169aa46886dd7b224d5bcb1c0dfbe82fe423b2664a9254548c594a1f1853d024d68bdcf413d327d9f6a6f97a56a9a741ea0515bf03fad87f5a11cd86d6f0b319fc5e33c7dbcbab521622b0c60e1f315d5ac5eba7d0c69d2351084a732aaf2bf60130005fa40f94703367db47da070b4ebe760cbf2949c7ae2cee4250d41772d90836bd1a2adda81abbbfa551c68d5d6197a048d103fbfcc26f5f88aa897ea97b1edbeb48d992ee24d655d88d8aa5e0b3d85c1ba94f1f2524224f0a4ac92605cbebca389cba18873981ef14899e4e29e1052bda392e7d9af7e8352307ff85ca878154e64414c370a64bceaec318dd5f1ced2ed6f20fab6870cea8723712bc248e891be82a1f3a8aad6f231abf83e8ec967903630d51071f1ebee52022e288789030a496d5e969286e8164273f75becbbf0e89635b724ed7f961b3feeb1cd4a466db231f6c0917cb489dfc83be20764f4ccc03747a53b950bd4340bd64d15014626c27b52439365640ef42b72fdcccaf2dc8421cfef80b99fe67d480351833260f1a55cce06b31f781cef9eb698234b0d0d0e2cb668a52279dc8b7a3f38e3024eeba04e88be02d31b85c0288d5340e7213659360ac9bae42b825044f37a62ef076e4455f5c8b5b30d49bc31e9b9dfff4bccbe58caece8794806fb5cee30e37c40c4456802f10715fe5032582299fc96edca69307832fc1e8b015ee58bc5d30d20ac5e18ed868a739665f1d17653112d0202c05a9f3bf12d5ca373d2d3c0475021c99cb823cf9305eefba6a1f0ca8ccdcdfced69208740f9f46c62496fe7a88c263b11256253aeea4fe90bde80937725df1e2f3746e9abc9318220014a1d37e5ed6f50cbab74ecfbd6d6b2baf100fa92964dfda42f9bfbcb47ae4161d91a02204946f7da1891d0355906fa0cf2c69bee6477a3729af96c1cb50179156c7d78147ff2efd0124e908c12657528b18b8b350009e0a3de394fd5d6c2aea178abe1927cbe1743af720cffd83033dc3f4b53f8abe24e1ba60b640fffc4f80991e73061fa9a0dc0ef22777c238097a1975a0e464dfc55476132b99d425d0da8e41e6c39a66c119b0e84de0f31fb58ecd192e3ea15973c07732a9ec5ae2260ce32d618257b76e520b1e040363b9dcf431d6cd27197208bebf2fcb3e08fbc4ec7ce1d79bbcf84d1199f0302889c4f0b84160a6c392a8105ca80c8ce46ff76e5871131c7905e8f34e19175d514fc55f4476e18934d44ea2a1cd113816b598c5a00f144e0869df8af3700ca6992a3959a010aa25cf13fc48f4d443e7082efe09cc411dd8c8385e2a2f5b8a0f607a4cea0dac784e98846220c6feab7d5df794683c92dc4a0e8b7eb31602ae5bd2e691b6bd83505a5e6894b1f0345b727d979bb2cad83966739bd9f01c355ea0b1d7e30e142055777995cfdbeaef262a2f47546672909aceea093e57a3a4fd0727444d70b0b9c1c60000000000000000000710161d28333942","message_root":"0x4aaba086aa91109b634afb7b701ce053e8863165928cd37d6dd9dd0c8f5e9098","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8456c3068a302b754ae74a71e12debe7177848afa9100fdcbe0ba2eb0278b6bb0e76c2114e9800f38d508e95ba8bb116ca1e190a0a1c2cc368442e9802e0689ebddf079beb5e6d99974b34ce10c3157694217c549825dfda4576f5df1353a9bfec7b2ae015d4724a3d66a3c081d6ee29ab9069005aae595c5db4f7e308a756e7c14147c7679eb83f85e1e9e8591dfa6e5c0db17bb598a42c17ca5b4831d99646bdf13de10cf3f88af5c1a96e834b9c257a1e59e6617937323581889d5cc9c4387565c423dde73234efa061b4cf690e8c5c261242958ca4a44d9bb54b7440ba4440bdd1d44827e99f54d5bd92f3040a2872999df4c2bd973cb2ce52ed38a22bcffebbb782c57a1ebcd8f446ddfb24371396336e662afd54d9616dc88c2c6248d61e0b02fd0fd931905dd798f002bd8f8c568b48dba361cf628609cb1e2174f6230efd88bc4a670570bb9f863b8e8ff496bcdd34b87e4866f03aace60bff64fc9d058022a72bfb8e630f6d29948058631fec34b494f14f127da57d4d4b0b133bc60d157872c1e2bf0b91ed1da1a42f104a3c113bcbce0a41f2c3521ecc92d2b91cb304b83ce07242d7ccfa1a7120cefe0bffd25c3fa6e48dfba0cefeb18be7b97b0164b598bd307a108606d08675b1ee0dded0d80bba7dc75a6ba710700c8c84e2223aaf470e7f8b6c4726d02c91679019bec4dafa596c6e4eb09cff72e2c5f869cb4d3a0944d35d649ae8c2d9625cacb6f31b719e7250e52bc35f3fa3952bceb036613982481584fffbe745104b7ee14bca823ba4b8c61e047edc2eb9c4818716a02de03a00fce53b585a3dba28939159362e89a7e0366feb5259081ce2921ec383388ce17e6fd7449acd26439f2f293a46244e433e5dc61c1affe31e23b8ad6eb7463b6c65d04d2db36d7f07d360417bc0cd4171799c26d613a6f6f8ce726abc879e86cb192b931a05b2d3a7ab1c616e3ab309d4dc7acc100a3ed5cc16569674726d67b0492a1c81deb20f6e1184d847868b36c5c230f59a350cf4c1ff7e8f7bffe2c5a10e01a10be75a5610bb616991b1c22e01330e06dc6aaf2fee06ef5cc332560d60b4cb25b8f7b6dc76a88772d77fcf609c5d2949b4f0b48cea3931025ba9e7c320b2d08c188654deaddf76a7a28198a56a87fda3285fd882503606805401f744f76d96da4d5154fd1290e2204b466d2e33401ffde1dc62db961e631b6074ab8ab8f38fcbe1a4c68661bccbb2b964a0cc5cd81c821158d5ef6fc6674418dfa9ddc68be4d065fb941933a415f24081f861c907c455f451437a6486ad00ae0997a558fbfbb15e523cbceeec0566baa56a2f5ae762a5c1ab550ed46c3f201f7e4da864747d3ac2d049d012be1a0860c32819b80e316ac5156973f6ad72cd4b9dd2f2968f99392abfc674c40f9d2ff3d386817f7f8466a7557ac2cf30783bf5f44461831e3c5295fb87aa99c23e253372aa0dffa7eb33dd561f2237701f5034762797d2bbc48a701a8e53bd9ec721ee51658ae16b8bb7865e610adf723df728af6fc5392243c2e250a5b3c31b8e1cc141e66fc565fa5380f27bf08cafab7a2942675fc504caac893b22740ff141dee9b45fa1c544dee4ac65401ceedf0aa212309cc71a7ad4b3422e13ce12cc49764cd7c20dbf42a717a54b455d58d7c49903e2b7877507a3eb6614dfbd4ccd87d017bea2567a81055930b888a4b9cd25079d927aeb8180565ae3a4608a6636f1ca239aad81a5e3934e11204008006f66ca06bbb99ab0749b70448219aa3dab5221b28dbb1fa8bfb9988b9248d39e68e7b7697e9bddd22781600847ec4750f735c43ea71c20535e23ec9356bf54e89315cf4c401c99bd9dddcf09fe105bd0bd377f8f04f32e6c1631de03a827a00834bd78a9a129f76a705ff65e7ab6ab7f92706dca12ea01880d2a37904b714496f61b948310056b3dec04c528bd480066487f24034d01cf4082fc752c150818ff7b919acc7b881516f76538c740a80fa54e8a713f186ef803da58d25051ddddc78d5e44b8541c21bc2153a68d94d583cda389c8b240219bc4c6bbe332797b2507e1268215b34047b0a37a69c383be16c17c65910e5f59617a231a1943fe32f7ef06c3d19469010189ce6e2860fadc9640008c07bab4804321f8eeff08731dff1a78e7a23308b7b2736ce2990719d3446480f5108dd66c12bf9e165dbde4878a9f9cf9a463b36273f95462c2f1182fdac2a99a03fb8417164c4196133423af55938542bd4347c15ae4b0fd0f99267e6b9d55eed0ebb86290eeb40d968519d32fe1b0d2296282e774e9571ec5f20f6b8ca6151de3429df0284dab860c06029a6386d4a16508a894b484d54bdc01ffd8d60725dfd80b8125212948746a20482f8db83168274274269a6ef713f3202639b02b6aacf3fc4f1748b8185403cb61b6b4a61166456471c0c998985d06a5bb628c666848c2d39194c5d1a0387c6e20c6f2c439c0caa91f48d5d242ded755665803752b1d836227f43b4cd9dd9105172bb20f017041107dd5a02a231f7b04b324d52d057efedda579739177484d45c2434721fb50c47190216f80225195189f46f0d5fbaadebaa25d8f0b3d8930826e67043d1a4739594259f515339003f5e87b3c912bc4f2300f2b38a7d9cc95315bf4e79a54fc8c3bf8e2440ea477079074efba268878cae7349811d3e53ba01e56f82cfafed3241638f3e0969cf42b13adfcea0f2e459237efa3df787e3ec499745e214f14776f8a9dcb705cdcb43c5e00a53858b0966c5e61485fbd0012a46ab5242a49c662ba5ce2b379745dd258c400b52c10b67518719ac93449141840c2e9bec0c2f6aba7be5c35f9ced6f3e00bd8f6bdc58d7e3fb188be2d10ff996eaab1d42a1083ecf6383789e17afa6d7b67ce9413ba98ca7a4f707ed9bb46469a43c143fd179ce5a6b572f55e11a86843343bcaaed5165193bfa9b571b0610dcc72f862c17c452bd21ab9ce82a6578ebe7ea98e5630f7f42d595baf405a82d8d3001cf0f7a0b92dab77cb90767d5f7d35ff07187b9ae27c90f03e76c0a37a1d57d35a24ee1ad8e21f3a8c1157e74ed083c4da105869073089d4baacbf04657d3cb0a37a8f50d0052fcd6fc22d370159b3770f7bfeb518f6761a1a7ad0f170799ecb366acf846c24d3f452fc945df5d8a85664a9de04dd75568822d93f6279aade9b5329042641c0aa49aaddaf2c88e5ee6ea780196564b2b6905931c3daa22cdeda836a26651d2081367b104c499722c587a816303e692ce2add66da60ec3dbc05186552a4f5c517769eeaed2d503da5152cc1d0c5f7504b1aff0df8da0a91ecc3ad3e78d5609fcfac4ef81708ddc677a3c541405ffbd2fdbcde11c30779ded4802257eaf6367d7e6ca98a27dfe527eb4a3b647542d386f839f7f4efc9367233ccb054a1b6620243b2d672d5b86c57c2013a3e5114c7977c18e9e0cbd6628ae845571dacaab525ef7c0270623eaf54a3a6f6a7799a41a84bc9c9a2bb5bd6ef7f8d339c965ccd99ebf128ced17b23fa439d9039fc3283685690e23075ea2b1c9495ec0e3fbea8826e3fc3b823cf7ca0dbbeb6117ad42f05023446aba925c14bb0b71bcf5d3dc8d893640b4d950382b2617dd6c3fd8b73ca2ac4a7a4c2c5dd208696388f60edab05073fe","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x8a882fabe5c6a84c8eca6f56ba91d9edbd7d76ae0462bfeb85b1c7dc21959eef","signature":"0xac4c6900889994fd883dff1961d438cdc1760ea8a3f18d1a98bc1f57861b4d3625b2cd3355c20c09fd30cc83f4b6b16e2b92d89109965b8262c3277d8ae89a2d8540ce838d861eee6367d02780680fd500494878276d8bf94f4769f60ab1e5a39ec77f7cb58a3e152d61eca296ce2ebefd8dc96346384ef54a81cd48884e52d11006394f076b2c4c0e9241832e47fab480ed73742c604596c9b0a8712c7789f733f138a3fd6e3cbe5c52e8b29665b8e275f0d7ee1e13e031175f3207e11b3872f798ba77b732521c4afa4524a4024627b5059285d86c644dc9246d3487c6fce66a4b6f1ad96dbf6e957c8b83913d9e0fbf004cd7c25f10ea975f3f7129d835a300d18fc1d71f1f97388300e0bc7abcbde3e801f0bc44dc423db9f82b8fcdfc5387517fc19baa008cb3a2ee90ec481cf216494b0527590702f99bbf0198cbc8a1c087f9c0a8b94a8a03e9da3699d40f4f5f4e9f06c2c955e48f3e26ca116c7f33f3e64cb095458d8185451fbb00513cbeb3b121976ab796677f1a48fcc081f45414bc5da87ed054d53efd2742472f53a99f4b040ddb6b5f4779b72233cc92700b544e7874d600f2a4fc9ceaf0608d65e84dcafbd7d1f2af8b281c96e3637183f1396fd7abfd3d49589e660a1beb2960ee44a17c72e9beac5de11abc7390ac346fa54ee696e1d7b0cb747588de676eccc77285231b4db3cdd515dbdb26df834ed0f33b052399ed9e56662328779b5af3cee8b488911a8ff0e022f0a735b604213e2f1c53a2e372b6a04338bbc2d32e5601d040cd04ac7c7fa8c9709a39bddb8ed30d11563cea60b235c96aedbe24cb3bafffb65c10e47e4a039ed7282b11e67c563a872587846d1cd7453d86e76f78f389574b069e5caf1865640c58b55de5348ff0a6de41cd58f79a8a12ea377c25503d256d35ecf65e2c2c04bcba1135d1d1a1ef121faf4107125c4b41887828eca705e1dd2ed83c2c40c1fe817254a4a5d4f849406161eb31d172906d7e48cfc8a7fded9738631b69d963f70c8206ab86076ca8cc86e4952b053ae766ae699833d87f390a87613ac462db23bf18d45fafd510e915f053d91b5d20b3cb002b3c08cbae5bd6b17efd5de8507ade51107426e6d4c79cd96a1d0958b73bacad6c01d447a012744586020d6ab446dc06a4d12952588d02c113b9bf12f0194507feb510fe92b4bae708f1da5ba4a1b6906f48698bfb9726b9bde303dac8fafc2df84aafaaff1fb81ec58f127875412301894dca936b478369df91af2604ecc0db01a00c99a2202e17402359c9ffd07a7e5324d4a87a54d23c2ed4725c7e8a07e40717c93081419e7f6e202689dc4b42bda89a052ca5433dc39d2b22881969817ebdf97ec8035c74ed505a33136c01666bab42a283fd72062cd8934dc57c80bb5da280ada0e326417818a52afa199f4f0522e18e8158d8a5f1573de7d85d26b9ba47ec4ee1bd60c5e4d221d7263c9fa563a77ad9d1ab41e6c398ae63f4298411a22489980036826e3d36bddf26ba7d4b758c7816bf8d10c8eb3e9995e0684eb498f8629f4bb516923f6b37f77c3d65d334eda62dde88b08cc658fb4fba710c0509f3dd70aa4b199167d5230281a15ff487069edc1ce0f9173ccbe989de51c21925b34e9de9181e7f5564301c5678cf8d69491aed7720d325d64c698094136034390941f7a7cbc199fc4973a449716bda3044c343fbbbd1bb3107fedfc40ca8348daaaae3b6c1546d502ffa6061fec44b911b90edcd6fb202734b9fb5a598524c7a9805d76a3df17d468eace257fc8dc371478a0aff4726ac145c32d204c6e1879df16bd69b8913fbf01d051369a64213a3fce18d32dcc7b766ca60986f71cf7f98db558653afb81c8cc86efcf18a2e9b9ccfcb0e619286d4ebc54cbe662efee7b29f1f9a55fa1ef0868b82f7493d63b9760fa509f98fc5482ad91ed2b465c863cb10634f9233c4364cb9671aa3868533302053844b117de106b49d8d7dce1ac48cdddfc332bee79ddbab272196e88b4f4573031eee9cd015d88c6af2a02b6379bc77256c64580d02abce08818ecc1b3d5988c0b3604478c25c48b540ac2045dc59d7c01e5f9646ea4d9d8b09b90cef4601529776c0288708b46b70b2e6a97702b352a1c75553c95d8ec494e1abddd8c827d581115052290ff45aa2208fe6702fe7e117cebb24733de23bd3065e972da95a89554e31e0b758568f1b5f5c467f7b107252ea3f707ca142bcdc5b52278f287e60db54da5bdd2173d621f6820753d8895475117166179c98c272c959241861845fef7a7cebdf47968af654b447ab69fa4fff06b1c02b08c5b783551f99fe4b4d6c6bb6fb89dbea3e879ab088a27229ea4f92661c51c3b1ad9bbf09ea307715f6ea4e00913649dd28a46456931b154e52cf15d20f0053fa977fd3f9de783a9a48ab3276bc35c32275bcfba21073a0caef051b6666bf87d1b70b83e01c9380eba0750d5fc7c4fce4dd4760a2b476554081e0f281ad419d20834e60db3f489ddd42d6cda9d821d01c6e48a6f81e17f88d1dcd0a46366de292dec7a6eda507f3d24675582619dc5d507c06f80b5c2a8156d5cbfadaec0776b58844fbf8a297b70dbbbaa43d77a98155644713c23ce8223a7f1db83e26bd52c5f559fa5b4cb40e13023dbb4c9006a6adaf45b8ecbcd0649fc51819f73108b03e8f262054757621ab71311c9740271193764fff5218ad9728d25f156ba5bd8b9159cc3cc2be1dc819ef0148e066b66b44c496e15610d725a13eae34520c295c3e1121418187f001be4b7ddb771d37f38d8105668cc05dc96264cacf026a3594c31852bd52479b18e054e6011f7b6445c5fc342fb231c13b6f1bbedd47c19ed1e42f7610311b4744b45acededc85190d6dd44c5ed0f0a1ef70d3d1e386a963b006c5700e7d09b36fc2ce49b7f60d776465f3e500df359cbc03f82557d4499f7f3e79dad4fb12379a74dab1fc0881caf09f6981585c8cf14f72d920b5aba22903e378d670a30e37f4fca27fcf5a8fdb2f776602c0be54ea298084b4d23ee2eca290004f1629a8e2808508db6770aa55babbd144d3d702c9fd412495b37f78f89518bd2d0385738af4cd8b1e7f6c93b5bd3fee8aea4096234e273f6b0cc9d3601718f162b691b01ed70482df97f15b2c2a2d31775f2a81d200b9ebb6602d0da1c6cdceb1037cc2475e33fb1569f6b64b9d03a7ab16a3f5ff69d5e51e1b17e6fbce9875755c332cb07b6248654d1bf0d6dabb034886abaeda650b7a641d1daa1eae498f1b446a87ee46f2c398b181b3a202b58bcb72cab61023ff9ab66aed1052a22cc9cd4a8fd8f858045523dc6ce1120e3f927aa204d025c3cb67201296c4b3b99b1611929100ad5b22619a32d03621c027a75dbdcad67049e8f93331d3a4187cfece1a3de1309c5bd86969554955b786ef44ccaa52a551722bb87f997ac65bd12df20df3186d8062e288aeaa45b7895b7b1c1c1eeb239953ebb280f8b6791b2ef1199d73da4c7950c7dca8e1795f521e705b3121f1647953ffa510449b0915b14e1f07917142945056d9568087421b7cb5cfc4ca692b07af8ed80a509e6a36ab3b2db1800fef650c68ece0fc1fda436e4cf430466ca6c449ebaea5310e8181b6675609e5085a12f0da687b7614cf08c7d3fccfd1f0a690c9810fbfebb47a166bec0930d370fc5b0b236f6b3864831c9305cdf18d90d0a0d301fd8a0509ec1a4a38d52b0a224f810c17c8dacbebec33aeeb77f32dc3e6eece8a6dd29158d70305ddf9b6bcdbeb42c2c3c2a6972f35208353d44b088c4f7e9aaf9bf3964b4e1cfaa6c0a86a944e5d200231be3d179dd92ef593e0642a28a629c5abec385bebfa126d10832926298b915113dc1453d90ebd3f894ec388db65e1fc22bdb944438fc2aeceb34c596fe4faa6a4f8e46771cd511d692009e6c93520c1121d2a57b0add7309bb1b3799618553877324db72832c096a4167ff718637fdbc6f3665b6018667045f2f9340689bf47a41c94cff1ee15ab5badf93e5835fc8b29fa7a3c589860919b38b9e41f2387a61ec504dd8f45ed5070575f640096aee2ec01b62307493a9a1802340fee5aca01c4b77f7eddfdc8d4bf66f35376cd8981d59d49142ef711aa50369c40de3b8c52e07da5c1b57e1ccc5e99ee66fb9cc70afec9078db6bbcfd27e7732ac9b05ddfe82e83ea146c57344072464a9b95db95ed3ec30d679d91b7b508abb503a79d0018a0040656107d699cd58297b0a61ecc1bbebdc48749c48a9748888796e9e4e87708682edaae43744c74e9502f4c0dfb517ce656ce3689539748c1cb2427d6b54b38611bcb7825561928ff2c94acd92b003c3bf4876f00221f25246c37d57cc2bc4730b4d0cbf28eb3fc195f8506fce8bb539824aeeb4a5a4fb1b8e5ecc96accf33552dfd3f09d9002c659eda2ef863ce493fba168e4f8ff2a7e51a1d83fd6219d0e663e7caf44a0e3273865e8428549b528f1249b753b79b73fb52059cd5e777e98a19ae94b9675af7617feb0470ff05a46d723aae1f22727552321a40c652cd05820c40bbeb89080399f59ee222d0d0d291fe6b7641ef8d3e75694e70d065bcfaf6fdbdc52244867f30f52b69af88dbdf1f527373ae68478016d649c5b9d2f6fff3f71b9ae8b4d6aa663a17d39450a04a5136906fe4bcfdfe019e9844e69eff4fcff8e80cc7925a2b7ad64b9582af98d45149f5104fb5a8ec694de0b1343f7643bb225edc71cd6648257a0cbad759d4cc02bc2de98df73ea508778530cd79028f2352af3b12ffe699354627c407fc3d438bb838f84db249be87ad35b85d8bd6c974b0429e9199fca05e9e31c55ebeb98707ce7074bf8dc398f231023e31a52c46f0bd6d697546664e32a704d2795f94c6950fea8190ac4c941c6291efe91839db66ebba881b713494fd4ab6d8001325894c95e9e79ae03473bfbb21c2c1305146917c9188b62161b33c30cf2364cd62fa1d5471d112ee6207d9b77151c699e212fc1b7a73891117263df8b8544cefc264390f84621e72286bb6d5d9d029be1ee0b064324877fe865f6606ece61ce31ec74eed521f4543cf9df22321065dea225c377fb861720047ed261d4cd61d77692e6902ffaa1785911af15beb8f4c3fab150a7c007c132a9564a632581e984c19e9beb38f3b1a5e452daf9b1853269b148ce510392a1e28aca91c56feb05193ec224d08f224a6fdcb60399e097611f3a73c5df7d3bd49a530e55293d91859e08feb5804a8bee00842350ed97b1afab843795c487d168a709e105486a828eff7c53a6bbbaf3b4fc66f3bda9ff7b01d82d6d8ab438480a07fabe72ed24c4703ce58e10d6473806299651b5b6d49c8888fa9b94cb963a504a347be41be0dc22a2a988de127321f9413f0d41bc558ca10ab8b37d5dc9d77dd7f2722a17de721cb91efceffbd6a517455454754bb659c389f40459bea31cdb37777ff5b914fa7a2e6feff618cf89740818536068bc2d2c81ab9bc47259ba9eac39810f9cfc2cbaae13dc9f04bea29f8a7db0ead4ddaae661d08e3b90881243d3558b8fbbc9a1774695b8c6ed2dfc45a3ce9d62fe1b8be70b69af86abb750a5b756f82f02078a0b79ad9a5ddb1a06c854cb1bf5e4f0d851504f606aa122227f9f49c68d15e49052408399671b1fc28687806353066df4f11a95c34f2bd72ada5a5818920ae178c7e024bf9565f91c1f012b746f67bcdcf72e8f701f8469a42aaedd09c83b52e625368e421dd55e7d6a047b18d4bedb78affe56600fae79a159d230889fcbef089d263a26184c5f63d8b6d12a3e8a0224a07760397bfa1b35753406959636944ffb3537b4dfd21ee0d3ea4b2e3616e9d254fc1778a2a9264885d7cf9aa08c0376a9fc3c79acf8b4b03712ced15faa0599540a7e8f6e91a1916407aec53c9199ff4852c9a3d9ff452901e2110bcbbf74ce2c877e6469e2756764564e6d4ef11ab37f350646f4a89bc6fbfc5035957e38f8a42f305afbbc200c15ecae76595c04c48eabe7699c55ba6a0ebb1bf04653047888a9c8d65b048555243d9712a23b048e74776b185b095d291013fd28b45289ad22027a66d7cb1a8e210deafeb7ed98014ac23a7aad5c612ca92edb768bc01120d605e4db90a08d26f0640b4c3a4c0ffbbff19bd9d3fe71cafd01c322f3c1d55f5f74879c59c7177cc7039f499ddbd0b9b3e11d05993d571ffd66601ac52069840b57a3f638bf650766a0acc5353f98325a326ecbba44d3e0478985736492f56b6256873239b1d30076f337165d6c1486b893e57fe2a07d7fd32b64dc56f2937bf76c47938c3fa549d4986e7272c78b78739718cbfcce2db8aa082d47cfd725fb756519665c9d513e8dcf8c6591378f0773d168526597f6a14f3b7f8c17239e7e123a67c695a571b9c8f8336388f93df0660808283d4e53a4e678f9fa8d70715353a5d898b8de3fb0a24505b72cc467374848891b4c9da084a6c71870000000000000000000000000000000000000000000000000001060d141e242d32","message_root":"0x38b0bd024e88b1f64a8bed326244b7d22a62b40dc175e7d5eaaf5630380070c0","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe41c368f5f0b48af8edf80cd36d71fe13647bede157405fb01147a2a351152610f5f625b91b74bac4ba8ead02d55986fd4ecc3f1ba950c64a8829284f22a308a9edcd68d609d7b666168aa30cf49d6342d05ed0c37b937c822bc66dd677c19d8e4e1de8be09d150cf1f7261beb866d0fa25ffad684346efa637ba6ddb2f6c980e7fe6148021444bccb8103c35e79f1110f57c429443f5dfdb4a50f53c08f48ea6f8940e24e15cac09f1afa4b2ced54058cecce8e4808597db2bf4eafa2515a66c95464c050041f872fd08b206c357e10d8221509ac5b31c814471eb57fd31f672f0fad1fbee65a692bf28634faa0548d60288f4836606627347f24aa73488c616054e8aa127b3d6acc94c7c72e818b9b7d89c48ab551776170564f15af048d4c79261c89041c0dddd992cd0cdbe92c65abed8f9d70b5275b8f5433f056e906701e3d42f8d1cd92178855e1fc0a1e2641608a6768176a3e931fe77e850b816a92e063137e6365d4ff703c3060af8fb9776e542b9519159f9179e06fb600056aea27835d95508e0891c83668d6ecf94024c9f84fa6271c70b5a7d72c92e988f91e8be9020787dea94709b4f4e71661c09a2687bb15495f491904d47bae025b10706eeb8ce763d79847cb33b161f56f5e17db33300ba83807a814d98eb68b938227f9d32de9d2dac9a1c52af06465f9dd2a7e75a67402f1eb403f6be902044a854a64aceea883b9af87afd5471f2379669b8061f21c9fbc80dbaf28c37c8898f52fef624d394a17f70ea0c9b861eb789e1fcba1692977e102fc8bc1c908c7844486576a611b291f8a68dc276463618fed6452828da3ae15be2c4dfc2fde2b5dea2686517d3ebdeb57c6c3fdf711b475102c5a69cdd4d80153ecceb94ad5f55b95d5e2512a360a94bf558c7951eb32a93c81109c3e21ff167fd0c9de1fc488f9f2a0321a5fb91105130b9285b60072ab6c48b873137480c8b51fca39fe9bdd3bd4cbe5f0f230acd9bd132afd4630fefc116ce94d1453097fae5ad483e8f45865c5b2677a095a5407faa4f7eb7abd75490b1380a033b4e3a240fdaa7308b37ed9cd487df08d4eed504ba3265d291640a9bda0a24dfd176c6277f100eb35f3aa1feedb686c66f997d79354225e6ac0423f9fa2794acca9ea512b38ac5028d28b580c1f8ec58c2edaa812584fc8eea51d629c2af2361545703be6af94176487e06b660cdda81299b0716368ccb2d186067beee33f2abd8fed1a9958d380e199142aa921065e50e34ea3ec14ae974e906e007a8dadf6db3e9b6a820c2512f320764a4c235b15bf0409de0358446a4f37c8bfbfa2f3ab85fe8f05b34af7763e14990c2f4ab31d30bbb9b9fdc3c945e95212e7a8b3f869ed38d6cb1010c0f7ddb8dc63546b426f85800208bbbe0a6568a642f83c45006eade8cf7703cecc379aaa11ecfd50faab2f4d0df69255b477c4c4882108208a9d77a6dd30b9cc966592beb60d5475aa67d0b3af8dccde3dabea0aada6f6b525e70d63f490c4510900d432cc2ac7f3aa0d99ad9a97f3e3f2907681f2c7fd2b87de768f4ed9a4254e84acd3f98c6a1bec6c04eb71dd6beef7081ae56c7f44bc661b76eef8d2299f223fb29c52e9e9223dc66342105257f8c14d08de5a447e4b540920e09ccd51284331b23682c0957dd9b4cd83201dceb57dbba72c04fb773dbe240fd9176cec4ec5ebbcf078a01a6fe8de1d99cb9825053c44465537df60d95b328fec932d096c23e39f803d12ccd000da260396fde6971f79c721c7d6d3da041a8649b37e1c761f7e48970b3dcce0516c7c740a0f3c4cd8ae00861a2a0407c21e28c38d6d8d77a1b7a3442be200b959cac19b799fda9f58b10c239986d1d92f6ac2149aa6810240ca29b51ad15d8e2ea2abe8a3d213cce23ee7137ca0078bf50cb9a6e1bd2b092f749f86826c67a2643bcc9a93e41513cdcfe10110b2e3f6274c185b573c1910039cba090474e5e01004f4198235fe18a641ecc914c462a9145f9337626193010a57611415ddf4cb424c9b3b83011bb8b2ab45acae7625d59db9dc586f434e87c64bb9f281cb7bd02631c3d4f6baf39b0e6bdaa384fe4d2d6835b3fecd133040c21d494d58f2fb8e4ebc6dc167f6a1cdce50cf113662558aa63012b6b64afd64ea6e34e54003ca5d50793c13a83b43ab2b806532d411836774f3acf1f75389ad8c016c1a05573a5c0f004f193a1c0cef2138b2fba894fdab093aae7962960f01be55dc64d10d242e9563c590fb61730c3d23ef26be91794ca7b9fe2194c21b17253d1669d527699fd92eeb2a93b6230e1292a15dd226339a98ec8d57d5b1362cb359a0df00fe6b0dec0cd0933d2c7d6d87a1ac65b02bb0b8cafd82c9433dc0e9ed8d1c08763b74513ca24e4dce89b35214bce99ff12d1c7af03439660e2266e1b7002bb79b6d7fc3acf9ea541cf8ce950f4f9d30f658135abb50f77b643b1124aaf915ff5a838893a385211daa070c06093d601e7518cec5f8cf296a80b290f103b89ab810ea83a01533b3f88135ed20ef1ef140bba0557a7d181b5163719c77ed863276ce978509a9387fdba0b326bea071055bb9e1f2d698ca7822aca75aa0aeaa5b63bd70e485c718514d361fd8b180f0fb1f9fd7bcfdf40a313f521cb77ad7bba809bb606822afd19b978db087cde62b628f9eb9e5a4b4ef695645f574b3f51951698f73e788a529e75e3f11c0b0c5dfd3861df2d26c97e6eeb15d861c5968b6ec20a3f9b208e0955d0b1a54915077a612f7ce13a48bafe1de938850732be432c11ff3973ab86ae3ee7cfffae9011dee3a26cf9b9164edc7d1ec205ca98f2889c80eaa2faf3970b9987f9b29dba0e3c25b99c944180a920d0218c201180773cd2b92952285df774fca5289c0f9aafbacded1ad96f968db948fb2961ba0192bd82457ddf432a5a4e8e1b064ade32abbd58a53b85a3defc6b3a7d81e4381bc2c10ef164015e750f051e34eccd9819e4efcfad7f7ac6baec25b0e1475cfe787980e16509510c3f3604d54162687b4b452b20ead28b8aa3b7c2d5700cbbffe5a16cfc9f2c8d8c3349149f27606029756ef22d51c5bb5d5f1f9b573a1e2891c43c75e84dffc8bcd2c245115307ec5d79d201ff2502be38af732c18a02ddf7d56ebe2df4ec6bbf248a42436e30ab428b2ded8a933308ec783779d0c0c4c6231d9340faf8e1d9b9bf10af211cad9071f5d33bae311402483a0c022a7b1d97470171750e714cbd7c50f5191557216654b5022fe25b226c9741a6078595da8dcbd1fd68720f5d3c964adfb64f4d07bff5568b96ecf5276e63dd974199aabca6ea046167034adb62bcf71e5754b1d5056a2e6a0321af43824f6c935cf695f3a85a514e999f018393144f26fe343d7af1995219e7c60d71413bae1ebaa132219877252763401b08de2cfa4a1a40e0c372ab996f7b51c8c3240e407ed99f8e75ca622332ec5eabfe5b4b19af521ff8ba674dcff59e5ea2b0b403100f6ab3dad0adc9af7748594c82b6b5b23a6c6fe967fa4c418295d6a6bc9fdd77eb7c8004a574220fc7dc3757ffaad1fa96d703f7bb047815faf7c76feae954a792cc276e5737e7eb889129d44807e85d25de7ca77e6e1c8cd988c868a08c022529ca11c98ca4803e4413436af2a6cf575c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf1c01c42eec6198085d263a77578492ecb6270406a6c49cb6bcd10461ab6f190","signature":"0xf32e85ccb83a8879527ef0723252cb2d6275dc2caf83332efc99cc29225f80389f3228be5b2d10b882feeb1fa8f99119eee509fff2e6538865367a46c6c697ba04f27ec23118259839c79cf5fac797476aee0bb2db4bd5476c698f4c690c68815f21e82e44f8f250bb237ca22c8c05cd338dde33ee640f2eda2f87b4b7c68b33d91c9c3db7d0c0fbfc0c1169034068cc24d6a917995fe4de84e017cda87c2ddbe6125fb6d2c59c612c0c04e956eea0ad7814528104f2ce45de856b76ea2af8039a68bc8a1d1da23a9454ad6b7d024fe0b08c5af4d60a97df89d9967a783c2362d62c7984bb2e661bd84d723cc7e7fbfcaca3bfb1f483665e476e0c83416787b120c3f6aa4f679064d497019749cb0e541358a1516adbf62f8481973d008677e99418f88b597d02f8b83297cd6078fcaef697629f48fc876b122f2b3daf8e870c5f3b5cf6019a56831bb7c549c3f5dcafbd4405bab7adb40adad013aa02edf74fd59ad4267d82c2541c9ee4ed4a6890265e997036b2d7656d56b92d1a2860bb7100f5a832dc4c8646f0b114ec7e0f8242a4c0ce1f3212c9eeb5e81f5e9bfb1954ab2f8d61badfcef3a96b160759fbb5a128309464ef45a01a6dd6ece1029bf0abe7e5750c3471c2f130406cfefd84ae4f9d7dd0c186bddfffdb3f9664699e7cacf783f9b0b208c457d7ecb5857c2e3e47301a85fe2810a56d46d43e24eb5fb21547503dd6921dae025ae6327f6f4cb085e03d3e05a4f09a94a9df480dec118032acd22a6f0bb55c0b4b5a34928815e2dad5fe582297be398dbe8e775ae84ebadab6b6021aea257d8910b370da199ae03866a34df5964e3b63a1100f8ffec328b2122fb72976695e37bec70b7f8ad03edd3ad4bd82e2c6c9eb5d934b090ad717513444ea973283ddedc6a9c388e7133b76b1c34230b4416183265b5596be3e6e61741b70ebd282084f92e59027958385f2a920897b062c78e8d0cb8797b7a99458525db0f119914507dc42e2130fe6c252fd11b99be136656656fed5d6f810e8bf6e1f95b0c4e6b68f0b50033d5867b0511d3f4590e7f05268621de669c4e507c09d1d599182ae050a1cff74bcc31e0a99c2c90917fd1152519824a7d82ee5a446a32f55fb6b8bf71c80c743ce321ece3c33cb1d471474c63f38f95a7125840f3bc331afe6495161acd094d42c340cb033386e41624fd35d3148918d68ed88b0f37c7fde90ad4ba236ee73aa152913f6aa7e08375b3bb6acece14bfe377e037022cb8d081f8b896ec104c15f6b9b66728e03681e779905ca33811861199f713bf46ffc0638c534fd8df31701ba9ba71d6e9a34a3f96b9eb98b4bac59cbca267f869e015873695244e011266e4eff5a32fd832f2cd3d3974cd587fe02f748c7e133251f4f11e4e3b1d672edb6f59d25df1487963641e3ccfe6a03d7c5d9939a4470841469bb2eec55a4b25d850b8ce4c19429f9f92b0077a2d8a3d9fd3348b22d26db5501f2577a21c4ec25d41060bedfbf9b03e79cb06ed4797dda815b0f06849ab9427aecd12500deb660d9f8c59ed132e5c81d99ce6c9482c71774dccdc1101c2c2e20cfe8167bece396295180652424a540bc51fc46ac7bac82dd9bbcf5cb8c3d5191f81663aa4fc8cd4e0a133adfeac0fbbeb4fbc12a5bec60bbde41d37ff817283adde5785074bf45e34e8142f541f4838359873def2e25d8c9148d9839d9f4cabce999f9049e5ff9d12756119dc8e44bc159ad6fe6ced86bd453e06050b0281d80beb52b5f4fa4009b1e6f557469e89d126c2bbd74e78cdd33f1863ea7734b77fd48b699c41b9fb319d7556fa81631aee1ee5023af043f8ca3c90ab7a2b2fd24d9f02ec44602b1c33afb37c25202a9713dd726cbe910b4b3108653508497e1f1092ef2a4068e16a1d9ffcb09727f105043cd280dce95d7bb5e81327f283a233d1387eee2a3fe425f669cc87aff2c04257b2d9d19d1d928f4c8c29b6ccc56259bdd864a71d0cacbba74c138f0fc479f17f0736520e0d62cce95f440276faf0085f1f47f0745ac2aaa3891593809ec63f8808c629cab94fbe4e2c800d9bfc57e920f883c50242f84b83f21629a8c552ebae001a65f120e92fb92b1927a9bc435fa70f7aeba8cd516387bf6cd17084ac8b547c956236c94f57c06bcea770b6d3883703db0086cb701ab83cbf5341617c5474e44989ae7059ae126485d443f67d0b6af034c631cc85808d98b09239a3d2967d0607e34123a1dc4ed7550a8ddbcbc41ff87eb14bd1bbedc24cc8a42ce545a5fecd652b33a9528380acf15ab8754d070af0cfa4fb28707168623d7105885bbab1fa8e7a4672634e6127e6a6e59c2fcf4fdb8f6c4d9b8820ea236d11c48ae5f94e21b9dbc40f223beb75646800f16c990f5af9a2804e33db649afe8bb90b6c194094385e079dc675b6f2480d374d04df82b37ee67f974c5156f1b2894fe08e18334567aed6979e76d5de3075fe291e23caf51703bc944624b4428bee2740c866e41696d5f21cc6cf89cf82d95c373d61f253189498920b1516ad2323524f495bc64831f23eb920c0d5dc46385fa5123ddf6d5156d05db2e1491bf48b3c53bda12baf1777c43421776ae7dc5088210aeadfa993e2c07b925640df85941c8d8a1c317bb89fddc906ea65f0ca1810685cafa54abb0d754e06a134130e59a646432939e7b6e7c11ad2bde0fa12c785d2db739bab571bdffc4a81c976e713f9e3b0558fd3b16cb1fd3366592d1b6c459789bc8f3297adf2b72b1ae8fb477b9d1574b049522405c8247d59d84d5a66746514e4a0ca93d7bbf8420644671fd61c2de9157bb9e04786dace7012ad10be787455094412107c55e490f2721651ccbe91e0ce63932fed78be3b106411a89bb623bd149cb6910b5a0019bec156a748fcce3be646f176124463379752a9b97fdd87e4d9f58234f20a295a6deaef4880d72d569580a077fd04ab610828d41d23272cbdeecff4d7ee0fda6e933aa5d40ac1383feae2ea9504afb682f6f5465589da42c435039c1523763caf05f26a1ba5a6359331795fd95a9728dbe935ebe8b865aba96596a9edca0a01a03461308365617c1df36eb818a6b86cb696c634e329bc67b7d2ff43938abdd90cdcb5f452be97deb7790619ebd4331e1483fa122d1e3121f9d6a576d6cbdfe86cfe8c7aba0f7f7bdeb9401fd6418153f78fe8d95513fb2eb791312b27b172923b0cf3f3f99b8c3151e845ff6fdbc0d454f837d223e6d957d6a131af0c6087632f498e70b637b7f5bae89e32e9b055390ce2c942b9edd3023a774e180d9712c9c7e015265a62bf7eb8b6303f7512fd57f144382facb0afcd63ae94acecb7fb4ccb3da3f0f6612844c681f6c2057e021bf8cba9810bc63823958890daf2df6a74073517c9e01a9573185ec12812b788f340b4474b41365284727296da74718c2baa0bc74723163912f421937e299f037e0ddb263cf285263f25552734bd8d77b6c2ac164aefa017a239526ece7cc113611dd0cc30ef6205058d52525bb26e3da1742e818f4ef7602631dd081027d805a94b16af0916cdfbf5b7100bdb29a812dcf12369e94a3a66c33fe85b72c3f9ca301ffc6d666e0de9164c1d15efa288ff9de658077a259bfab0fa6d3e413ac65b1971b73f7d075f8bdde860d3fbe666cf9cd6de227b751c8055c88859983dbfbe3077fc82712333c563b9252534a59cb0e927ad6f6c3f3d06b0e93c72065bdaca6f09b2ce44ca5e160e77ca59592614a111ba81331f1a8cb450420bf4b93293fda114868a655f27798334f635a78374e677fd6a5c0bd8148d315b7ca5899ff82c4af198c172e233d0422037834d3afa72efeee99c8d87a080d346309714985637f873a81e8b450a38bdac12866b4a3fcce784044a01c80b083c7e23dc781a74964d2a4fecf78d0bd9520ae793613aae3a2bd4492cf1b90aaa4de2d82444aa5ca72cedf507c45219a9630113506ebea1a5f97d10042187cc40a0e68870548d497c2431a30043da94eed80c19e2fbace3288986ad8a4dfc8f1af632d018762e233c661af314862f6279720642b4f049edb171c307ec1dc22fb7782f7bd223951c1046a4d07f3d05a44caf57021af761a573425ea58f0f7f2382222f3e2a35d82831e278d76b08a47f5bfe5faf2c2b0ab8247d9369e584955fc2e11882ec20b64843891fc0a4fd1a3842d7b5bb2d72116d278a574969e362d120d36a450bdcbd607143db53f95c09e93640ae5ec8007754a3ab536885a9e6731566436165efea1d03c21baffb79ead475e5ecd05e161f2ad8b66df8206122d134ca4b0e4856766b9859037271761e957b23804da2d7e68482e4b2bb812f235cfd51eb2d7490b3ad7a69a41183ce0a29c3ad1eb2538c31f7bd69584eff5b342b0d9c95917fe6227adb5b74b6a4dc48254ddfe8f32a19174c2ea12b87ac3fc1dbb22e64d921a20eb715cb69d846c2fc207479b637fa770e97d4a90183465b420b1ab8c379c26230fc6770d1a023092480970e9bd4ac49c6ed6326f194dd20c7447884beb9a84670ccff12991c485acf9d96ebf3d03f8d69e513ba5251b2c39b668e2ee4deed50bde515e46c7921f736bc44b5501b00d428b4be660a86ad9401d4d79b1013e70378a521929c5a6ed697feafa4ed88b3b70c458427fd155e03726d710bb15e1da1334e599c79b874069fde52973b0a51667a36a00738c52fd7d846207f2e3a21d6c4c40a0afc30ff03430a2d6fb1795aad9133a2a99e3ceb6997add5e0ec4895b4f17cfad4db4009c2f0924273acb2f06260141680c6fa9444d757c63b721bed04d6e18720e88b20ead2bfe1d31be4872f0ba7e1ee6d9980d642800b663b427d741dd91809556582d1455feb1bca7b0bbb39eb85d6ca20567439f857c2b9c6033e1a29f3b156d52af80af98b8b6a19f85ccb2c757978b60c982c5631d4db9fa3031f870bc352d51b721426b2c0d4fdbbc1bec143836d4d3cd4c59492422b65f8b43444da694164ec22007f21b84321595e25826e034cee7aecf74790883f13f427e1b9baf45de76181dd3391a31d32e59e714c8d00826b71787779c6f11df8b785d573ee49daba94cb2d4c6d7db5cf82e9b768a46ee91d4d9826daa33af2143983319399b6bd4ca264387e619127c564971abdd3bf41b7f964218a9748c4dc5c81cfca74042e94d779d2f4c3e7c2ee1d4d930aa9195116ad9710e8e75c419ea19bcec441b00dcfd78ee8ba0a47733f7d825f7468ca8b2651404b7a60facfe19dce53ec85b57ec25687909dd98aa6528f9702629e79bd6fe308982ae6f43f4f63744c724b37f033c7aecca459099b70e34b0d4987e9df2a8e83ec594cc0038068a7e57a558f77a27f7a64e23ce548250d7eab30828f5f20e8bad16bd2bfbaf48b56c0f97b243bfd997fcd97ff9a798da936374140442de6cdd4b479e9bd157e7fec095f4cb8f12ec4b233b31757d414bcd12e4b22559d0dfdc9e4c16731e67667519a106ebfcac4e2021f637ff52a9b3fdee8ac64c591b6209777b2ea995a5df4e34a859cc7a457f22c3d4b7b5d63aa55321fc5041193a92849b8bfe144812abb63e5e8bca6d69fd90371424a802deb051566e7409f136a1aba15844fa7e75d9e8574ddfafd0327cfe5e146e66f58af2a80215ce2a82acd47b7620a4650ab4a86620b9b640eda25af49f03efe4632ede3fab067428eb68222aeccfcdca73a5bf38274478204ed1fe30a61c1b102f4bd4f125958394e07e95522958a2d06f76300a77e52292495c5ee8f77460eade5d3e7e242e37526a3fcdb45793883f03e8462d06de45566eb90237b896389722382c16f0617cb6481c03acafebd4e2d138eb51aaecca7b6924010b94c1e2644bc3b0b2cc4869080d237993d747439140e5113bb8f6163c72463cd6073b304811d565fd7881cb533eca95ac2e3f04dcad0cc2939f46d6c06642a0fc32c45f0a2390d66587457f65b051e17e9a0d83309958dc3dbdd44d55a9ab48117616107bf09c22c394fad141fd50f023fd8f6c2536650913a5ff051f8973411d4b90076f49d86e9e514f8a3fa8a898b400c13660cbfc07c3bb65b3d46c9dd2c9a374b3d5e983026e170363586a4155178c451591f8c9b902f093122d863b9cb88187ddef719d13fa35b2ec992f2a50a01d1488ae4ba815cd765367add2d5a8124e474c26ea52ccbdcdb886d31e6124e714f3763c82c3a7424131128ff2537fe46dd0fccad3ec5739291115b842c6d63c8d5df14f03fef1d9b160dd2d86dadb834e47b61f5a3b3c590d8601fa3deddab8d13abc4e02cc456597a9178bf4071c04df10d1c2551ae139cda80e1e159eab9406ec3479106e1537c30d9d0f5c2f8c2353b414c0711c34be3b6b72683bda1bd326ea17253d5753a54cc9ca699faacd30034c36cf692a4e5a6768727591e1f00f1b2d586d7276778591a5f3fafb0d292a6191c6c90f1d6b757884b2b6d7dcfc0811affb274f5a5fb7b9141f3d494b89c6011b5b6c7586b2f400000000000000000a181f2a2e343b43","message_root":"0x28ac4d9b3e5a0a10e03f890d0caf6dd5263126e3326e6f2ab695259515b19b00","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x022a1e115bde8852a469b9183661b5f807686b33c0a3c0f4905c7554cb2b767b690b86ffc339040614c3ea8068455220079e4abd25e678ee08686c040141939cd097627b4a5104dc075caae404be7d58f4ddeb8ac3fb68d7c4fd876c447ce0d13e5457e8051c262b5cf84392825e8e1e5b60460d55237f682cd57acc4e5e06fa2332d6842ee4796a0f27f39b2a02ea27374b3bf80d5fd48c18c535ece35a02a37b8838d468d813169f5065a4374c3eb531b0411ccdab6ef3d02be627391636523039e4b9f63f8472571cd5eabbe376aafeb58b013706fd197e1aa1b931f8fd78e727ce32821dc0faed89bf3b2264926d943668c4ee0bc9ece79e2471f183b74d7b6c893b1acaf629d08672b9083c50c466079ef4f522c61ccc28ebe5c47a6dcaaf7f679210339248258a00ad51aa1a6f22639f143dcced659b082ddbf9a3707db9c13cf700cc88be394d66d7b17b33d76385042cab1bb096f67c54cee6c2648964ba26127a34a8190f3ed5319929518d82555cbed3f041443efdc191dd038fe80c734c527b09f064b27aca07cf0a3e49d54b707d4b79daca90fcc1d630efc3a7fbb45d3bd241c2f9cb39a5aac2b70aecf7d7979487024d3571457b054c037a3ca9bf2712db73df4f7678a23ace36dea938d786610c42261dfb1a15a7061f404e9320f7d1a7efae58cd4be3425f1a042d1ecc69a492735a7610ef38fe57fe1c7ba003d20e29e0c4f4a91f11cf3a842108da77cf01536c67c6ca7d431856297a9f0b51270a7aa868ffff7ae66c74c06ac9e78cf44eb5fe4518cd325b1f0ee83a35910fd21500d3e7ea84b76f51990ad7754da4dff1d47c21536ee0c77b89e23b5995444bfecffc037e91fa6aeb20feb56d2f0e1a19acf5e8ed085cc71520e7712113e7a8806fb467448504d400b47f5849f705c6603a5500398a6dd29334c20aae29e0e90595f333ff134e94a9b726b6fe7c4e4f44066e7f09459de366e6fb2f051ba1b991ef07ee1543fe4614b3d493d623b31241eb4a7dc16c8b26a94fe17e9177fca010efc5f8cf5099f3420137333a5c8ec4609ced1cb4d148cb07f4d2cf20879cd0efbe4641e23ac85b70e11210fc9584312ba475adb5c33b5b7ba2fd30cf93d5f4a4e50a4900ba0398788ba264fed64d3c973d440633efac5629579d39a42f4ec49abf1288e4dff28fdb9572269af9d48c74c462355c2ab39700dbbd4d7a8efff605f9b096723fc8efe793bdf299aa445a43de1abc34d130c50ab26eed8d3cd17c3b160e3418edf9daf9191efc9caf2b84c6e2961d7a63f3111b6c6031cc21ecdd7959cb2481830ed6e9ae562387328b3d99b9852fbe04a0b9ee7dcae328fc660962f6ef64c50b6d9ea55947c02afe177a6d28fbc529787e2ec633842e94e525b2ad2c49f092a55a5dbcbd37a60b8328e87e7a04fb81697a0bd74d33c3dbb1314187e2775f678a693e5609ff9a404767c0e9ba66b74fc04c7d9709617ec2568086345333ae29e9eca227d12de13336afe25a7326806d063ba2713521e6ded8de38d25bc16c890cae6db18783911ba8628d3e47bb2f9a99c987f2eca27b63e3f41464aa6906ee0364e216e2665fc203244de5d425e5e78697a1c901af189115a65ea2a8af8b1a88353ebef430c6a8d92316e6be7ede9f5392d3415ea9e03190af14a28b402b18f42879cf99ed5d3e61aae46fa1906a0d7c0aad475eb0d9caa0a6a577f521f2c5d3e8b0411f5b2ae3f9f915272fdc7d4c13c8ae66048268d024591966e9abb15555de19c280f8e3dd664be3ac9b8d6570708a1a68f896f97017da27d1d659f7bd5185fdaca2eb083843c742eb860309e98699d3ddf40f9beaa69e1d177c9d7023b5042722e55fcabf6e7325b2d9b1c3c82ac689461a047e37fee539dca595ca314132bf8df10f161ac4ee546d439cd1c7a9e5e436482fc5dffcda7c91a6982f594d43d127aabcd4cf97da1c4c3308c099d83f31d342c34935d666f7ac85fc741567341675db85c0164d5946b47a78b1144cc8b42b1aea321bf8211443f32c53b6782e45d762901064c6b48e1eb6a9ee2faa9aca9af1e514bb66aae85ecf330ae059ddd146ee664b31c776fbbcfd52149be3ebcc4f21a715bcbee9f9ee1805b3a1997c68b23c9c247c114c1d38b734b61225642b4843ad248376dd44602368e243674740f1c9714ee75bf5d75b6f169a41d5a958ec5be793ffefc615785190a5e32c007770f1be60d9435837926d1169e9e1a0a70f136a3c8e31d205ada081fbe7c2eae09f779eea9638285b29b6142286f83ccf5783a7bdf0d7e5b84b95c07caab0635c632629653aad7dd50347fc8d3cbdfdd9047aebc1fb744950900fdd1bf2fe3b060e4f0390d213f715843f50215c6b1202edf358cb66bc27ecb8d60a523c9eb8fe0b8beb53345db84ab5283b90d7db08ca4fcced8d0756eb37c2c8091218fbfec0775c846d2f3e9eab318b58addfd57cf6ebd3e2b6b63f5e23a041a8002dfdf266b8251b380bf9e78b074a7a6732d55f8166ff58a700f67df7e64b428574fbc20f4a465e521c02344cc675c1103378568d4b3932e8c57bf1c8d04757cab86d72ac565158037ff2b352e731836a03603a491e10cf56715aa79a532807dc7102907f09335efa037333aae8835b2387111ada7b2dab78d789e217b14ae67c8b2994300aff1a873993d90f771b04da64942b35f27e953ba1e4cd4541e5018d3066ccff6e4ae01296bf579cab7b0ff5c985237f32b87cde40c3186cb1dbe13086c2f8dde7bbb35c033414858e37a994ac1f6255522c19dd925d44fd88f2d02dfb71a05632c6412b08d2d07f05d2053d5df04f6e0273a0114a93b6889e93047dba819017c8ee7ce0302cf6e304d37813cc231be46c9441c63ef983f9c3f81ff5786660d4606766254afff6a3ade708c76c5608ebc078b112d72e42166b2f8784b2b8ad101f9bef9109d410667b9227765a5c94fb5a1aa9cba6877b835898fbfb31c64aa5d101360b46ba0412fcd4217507a0a6f08e96d5f50b9e40474c936a0daae475403b7c87761503281cbdccf32be2a274527bf9665de16025eae4d3898ca0cfd773d426e446498d97598988a328cf007868adb3d0e5bff1212806f0202fe03ce2e67aa15839d8c26c8dde37f9f96ca762df36d405e35fa3f5a72d27ebe770e4772ab442f4f936bcef21d5f27d597b2e0d9e8596137a425830a792f3b3446de3ef1719589e7f7f5e5a976f27bbb39633faf8e30e6830593b834f0f2bbfd3daa82bdfb65a43877fed8d51ceff172b1c12e7f8e43524debc15324be71408770eb6fd46075d4e9bf03df301b34085f757f8b88d9e6da612d553f037a8e6689d792bf567d78002eea837753b4dccfd0d3b3176f373861f4ab90bef98d9c92040a696aac248b1349e51307b96064420bf22f31aeb81b22fbdeb3a0681ff8e3eff9111d8984167201a605296a2825ed28efdf91e692fe18171d0e7fe0106145b6d06a648417e90ba41d000ee5b00bca3d4c905cc309ee83633c3146dc2a96c4f4f89fa472cea7a7702c307dd9acaea35bd0707f1556dbce67bc63d15a5ca64e8bc532d1909d20035398e21341b9c909d36f91dede58492b3b2a60cebaf73f500c37ff9f6d931819931a2b330904f52e4b2cf2f1361fbf8442382","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x1a07fd3ea71a680032a9c8365ebbf1e7a74a3eb9496277cdac82ab9dad84d39b","signature":"0xf5008e0cbff7b516cd60a53411db69e9ed746d5adaedeebce4fe8f9fdafcfa6d87a9142a7865343a061c24682e9affb5c090aaa3a772c9c581815c135d454356cf45c34ed6b55765537b6de391919e8f80eba8cd81165d16fc78ed52c29f67d82441266fc64f59a44bb4422c8714650233e8b8dfefc4dfd13b3fb3e10f6fcdf2f47b2fb51e3b4eee0df48e830b06b5830450d9a412ed3e37f2de099a1aed47e987b67b342b885ad2d0715e46b9f947c9c39adc8a47d5ffd308331ab43121627f47602d3690a0ddea16c4c60fe7a0c59b2d45785c331f6ec5635e631dbb05cc18a05a3f607c80aa5d7ea53e4093d09066ffca78f7167b4c2aed9d75092dac48a3a6ad0cf1f581090c2d23606e3e52e538c4e51f09e2818a0f8bdcdefe02045dc8a32cba2c7e733876a3e5e1028ce80b265596d341fa18eacadb3ef891d27ecbc2890c61641396186ab766aaf7eb5ce89e450c68276cd0ba643e0552ca04fa49d8e14a4d58013c0f8a694de17561fad028cba468392d303c70d98102745815097a4855c1be5525bc4e25f24af73f2de34c71acb0985418d84f6c5727a956154165722af8160c06c1618296313a32d83369bd34afbbf38308537f0059f3ed63b8743e78d42f5af994069efa75ad714bbba18d47e3d4e0fccf8eee6250c410955934c70e098bb38e49cc10df724e7a9d8695ee5e3bf5c4dcc6c0926dcdae6290845741d188aa79a93ba9d5e04e915f4d21ff1f9c98819ea31ca5554c9ebec88b7e6abe753277204441f45bceebd00d6f511efd65704a6ba73d033734d2699468e6aa208efc14788403c04f1f5960545b3e4facb712d48c710d11be8ef84afb104fab4356613354045bf306c4f2c1aee93eb4f91db39d119d75664cc9482108200bb626e29911415ec317b822d4ba6faffb3766829a29e10bcd7dc8c91a45bb69ed3162e1158c6bd36b155438eb56e1dc39432fa2f66dc023ff5ce0c34a9e653376d821e6a1508214a3af12997bf501b4ad8861eca1d986905fb5b652fb8b0194c621780be490f013a9b7f678f2f478e3239f9f45798222a1f6d19ccffd7c3ae002bdb9dec25ce908ee2b1c3e10b9db2a61e65446e2fcce24c7c313c506ad5df27fb701109f53878339695ae630481b63ba0363f20b707f352482bbb65fe218e5fca782c25369ffa25801919bb4f8c87ba28193c5d0bf47c59852ec53612b2c20581f0733c7452e5aaa895a1590ad8e4723c31f02895c25853cfb0799b5a5b78deafcf221bfd3f6ad19b0e7c5bb47c8c24a49bfae4e37c3af2b3a025590b9f293e451fc738f793bb7416e6b80ffdcc48655430aa61063bf50c21f416f2c35ed57699a8217fb273a9664f187d7b1cbd45c3b7301e0ee5e1aa3d1810ee1a9e7c087cdc9fe202f702a16530813c2b80b3459d23ca80abb942a898a43eeed11603ac9d3f5e7d103d545c9e55f6c4e14117195a319500e25492c6515e00167f198a5bc817564661ba6ac0234ca542a85d37721a5b165c67e7514e84a4f9076f7cb4c82681cc14e6f7e69a6eb563e38a7ca33994695f2cc28bfb3a736745e9e975b3c3e5245d1163c2a0a8260196a078b2ef656cf5a1e0350cb97a5561be7cb3de2e35da4e9fc7e8dc23a61c38df9bbdfd8dc6839984c30373d521f737107a4a29d2dc5b144615e54fb51ca876f78a03ee26d2a1442a4c69b68ae284e3558019e6f9f4c9763be963c1768eaa131fac133c72b3b9fc50e56911181ee587aa58356ead92637d6850dbd062a46ebb8554863efa037f496007d6e0024c31482b834b0abe7027c6d20a2be346766aee6739cd790d4a5086d67fcc0a300bb8bfd6dc339fb96817d5fb18cd6d5ed69d0cdd844884e5ab782a613f64f0bcc303dc37af762c5b1a80ae6df5c40346d387d84ddc01f30552c0ba0f07361f2ead587aab51f05c0da170dbd9f66dfb06b030f680bf7615bfaaad563c434aadf81c4e952a987bedbacfa7d48a69a6f083a4f1882b37c5b4705e9a4081af21361111b0cf6728b4e8fc9b51ee13e8ee1403a09e05cc9c38cbf7446049fe165bcfdc9040d65fec2846653c362e4e45691924c04baf1182b32b915a2e8393b120f68f72024716add5b4ce2df5481df92783cd347118352ca71615ea9fc748c4333828ba6bc563fd2180e610b2546ec56122206c593c89b650a9d1887846d5a52a6ce8be1dfe3d04d2962721b732ae63a49db8fcc1caf6b475518118e13212c3765038e54499b0d35614b1fc55e0c08aa4e56b2b0c1614769adf0f854b7fdbb3d9c26f57bb4f07dc1f085ebd87e6b528400f8c875ecbaf2bbb30472f88c4cf85efea61d8d0dfba9e065b12094d719c9d82a50bf54f319d94e3754f3aacaac7cfd5fbf87151fe1fe515104c58887dad5e3b403a5673457394c4d82835b7e522bc35a163df01ae2eb024267861828102a132a489cd8a290cc0fd4525993ff3417e09e290493c635089b921d255ee23d5e2144482eff7a2e54ed9bb40c7d01b40f6a384b566f3ae720e58a446c4ff1483bc3582652e3e1fdde635f4804e9c75bd3d98a75ea46ce12e3cc2ecf9690f1b9bc010c36e5add2ffca87f8bbc5557cf6e93fecaf98e4c0842d625dde6acf8658bf3fcedf5f9b9e00886db1eb211b4809b521518b0d01640f80052258bb102028e3ca8aab2f7be82f73d366a475b364046271dcc03f2839496fa3145972efa7001a42be3c5d3d00387930396fb46d621b5729081fb98f5a52b90b8a09da0f4f12e8942930618b89f8ce49ec0bbe800520958c0b68a7a73f1cbbbde9535538864daf791423455a79e5a27125452a8cb288c96457bb40f485ba0607cdc326f148af3b24b23f95aa8deab300223fa45f45a3091d0fd3040b28f8eb1b2a23181894447376095a70edfd7c212d891a134e792d4f41aecf3b99195d2ca2126c3d7281a4b18aa70aba46243d56153ccdc08dfd3a1a2c302fdcb36837932bd574ce076333433cf66eed1489fef8df89f1edda495799cb0da045956e56078caea07fe2da708222294babc47ab356ea2738ace2f7c6aecdd5ead54b35918287acbdc4c683745800807ba3fdbaaee8c355bb663a5197f909427155d14ace56f88f7e1d6a9e3cb2f1d28fe7c5f5fcb081cab8e432f9bd49f39d794b361083925b5e9f8aa4b362c8946afbd7375dff3ab7b8adf48f2e6b7cd7c9923c3f8a49f0f9b62c4a3f1bb9a8c00407eb0a9eef6906411e54ee127594d38c4605ccddc6b777df0b8340e585b8ea9f8ce0480f0e6afef519bdc0838f5c43caf3c81f758a2cbb6e7af624143a881f382c301bdcfbeea5e360015df71f87cb26697b68a6c269b9cfb0605ae8cdb659464fa10ddeb9f8460de629ad07a79136ce8db487691e12891d22487c2dc0c1e8ee34eeb155abf7a2b7c041b4ddb399a3b4e6075a425566a83d31865acfae1b05ad4599be9f7eeea9ff8f9850061f774768dfaeda8edbd7aca4a5cf11a33390d7d29b165c2456fc41dcf94cfc0fe2f03e4994fefcd42c787cec017daee7059070f3bdb269f63df61c943d2320997fdeed9677d22e303e442f727988baab736eda5dd77b282800ed58719fce0f8e914182af87b4e52ff56a7d94123de343adc7cf78e5d99aff47899001df424bfa4af42b16dd616033a77028949642da4bab97d67565ea335b801f4b2aba16d9173ff9479b728fb1341213fea643e66ca16d58ec151424ef96ca0566bd52499414fbd821d940a661415587e0ee838aa9efdbec8460655b250568621e89cd909d66aefb43c74ee909bb7f6559b20289802dc1629450c350c000f40ad764d0d7fa8ad51ab653880b77d78c583ad092edb1478d8a858d9a077e80af44c166b5c92cbe8952e524d97a56c1bb0cd239f58cbfe1b20a6ccc55ed3dbd48224c8dd56079a06ea1b0c2bcea11a8d9cf1a8ba70aa293c78f7d070810c743212a531130d3599d4544150896c9dff1440b9b91ddb79f475b86adf91ba3477229279d3d19fe5bf05907e006a1344525c4f02d5782948c9df1c2e7c5e355118bef67104281a6284e9ff14d08cfc079b95ba36d79a4b0ac7c12f876a1e2f589d90ba23322144777d5fe71e86a82f9000d83332f763e942c7c204636b23656a225ffeaf400240011b1250a8b1776145dfb0e2ab7b746288d6a843a7686a951f5f14d1bfb954a7197a2cae0b25205b2d59e48ef5328facad5cf879baf09483d061fd3c4dac951a99f7c50610ea3739c9f84554961cc21f569780ebd4c1c372c469cc8e75d2a9daf11e15ccf94a6186bf54e8b1ad90d6c4d8150bc2e8bb83be745e711cdd75c577097920bcc8b4bd1307df64882353263699017559abe53c76dc3a1a09febcc8b213a8b6045bfa351ae82776f3da4fdfa3c5a77930b2726cccc41cda91fc4dd6bfd32e688d937ea9784e5ea3bd07112f36667e697eff02b5989265706df14fe93f291018389106924818acd599c741ecb5835d85f2228af410067f838fd0aab9679c668107e61bfcf3102217f90e2685b95f5bfc4359f28eca02ff5b9185dacf66e343f0f1491707cd6ecc9c45ad8140df6294c7b27d8462121b5d11ed6a30626fdaab9d652d89ace5b984b5290923e3f7d32ba8c6aa818d059b1ef2e4ea82604d4d45b15633e0e4aa20dae28b77717c44b3f94fa21da1f722f2a9e163f084db069ab94a03f7a58c87f11b4c07756f1601306c2296cbe11a87dcf0d8d56a12ac76be82b6f20fc16355232927529b881055d2dc44eb6d6ffe09c29a071f421d4ecd28f06f475d7d0245ac207a58830eb970d268b2764b496c0d7e508bfd414668a706f451a07d3913106b5e297ba5fa3cb76da6b1b209b368b284b9b70c06c5c5bbbd07607eecb7dc6696fdc3c23996289c6959af628a44884211aea2047944dcc26b599f1136f163f0f8344ec3a6de63410412b76689eea338003674f9a42b340568de8cde6423e280ffe5f225a2c60bdc8428c8a72b6b13f357700e2646043ff29964e89e0943e6cfee32a415e4aa243a2cb3f900c1e2bc2301d67a27fc8755fdcec00d35e0ac00411293883c5630ce44c4bc7e6410225c084767e0a58b00b29f05ccbdf35f222c93daece9dd7869de30a65981fb85ab801bad838c25550ff0e3dd02b881cd1a7863641f6b35b06e40df4b9964e187bbe9d10e08bf6c6e8371ebf276fe917e6322684c03627650c012c767aa0d7b117816a33cc9b375dae2446ddf20c9d2701d9b7115785d3dddb84bedcc82e58971a6226168b8aca314d11a6047cf594e6e07b7f7b7caf2d61cc9ace2fff071896d4d53871f0d1f53854f25dba3cb83f49e08b2bc7e2ea88bbd8ab1b9021e484b31794b97ce35175f834531747f23cf1be526ebbf758cad2c85cafb619574111e81d25e8b51647c81d91252b303f5736fe0dba28b8ee488928f186d717f84a646b17ab50d31e037afdd102896cb52d570c7661dd0dcfb10b755ad29b06a4eb0be92d8da4cbdee8dbbb38616213ec8046a08a997086c5e7b1cb7629c00e66a264a0eafb1bc2b4a482a6da3dca5a17c03b71fb00abe227b0242d519f32404191d1e9e70b4be165957f4c73c30044f5146ba3b6d359db6698b0f8d6a9c47599099d4bb4970544c490dd746c53effb617e0b58f004482d1e3828f13aed60e3f091785d44f136e24b98228fbdd4a6da14f975246363540e8b991fbd07cf5e0a86bad49afbbb23d143ef67c4b655515210f81300a5a4ca0aca040870b5f9f793f38c931799824e55dc62b734c79f325c430f89aaac675a1fcfef73aff640da6eea7c557b6f8f07892f74b2d1dbc9ae05e115dd3fd35bff870b753733dd3a9479fb54d486b5d9251d733f64d84b68508493a2151331bb2501a94a3527da7e38b5aa86a7ac397cd74b8549cc6fe6195f4c7875818724c51026b0d1211812aed5aaf63d59105ec72253a12e5bc53dddd2fe7c4f756c49ef13fad38047feaab030fbaf2375054729cff680b97d6f25d78c72cd6284cefcfae3d9fb00421b4d917283ab270032d24f1b123141a724d83dd0ce50b9ab5d90b0e1cb81729cba06c54a84f15e688038881f14cfb5a1338388d483b98d4d9ea323feb3573e9f5edec809aa91c240f7510684707e3401ea1251c19c2bfc8427c555bc70df41d2161b3f7105fa89b390964acf0a96805c36f0316930f561bd9ba041e663d519a61e75df222a4d5cdccb22ee6e740c090aa970a24212db6b6e95bcdfd110aa5977bb22cdbe4e5866bfd469e7861c120510b07d58d0712230768d679c6d4f8b1285179aa960cb34488f213e34f78970da7cdcf7c055f97f96d01ddbfad19e91b813ffc3d81484b0a1c4072422f8595efffb064161de58b9f45f2c8dde99ad155c949a5a110b90565a2384e0272ef9b9cea339fa936430d05ce051ebc0ebf12f448078c283443928223c1441537d879295aebc23414865a3d2ed1021283d9fa3a4afb8bff0f2f302061c252c88dcfa135a6a82969dbfd5f1fc70af0e2d46798090e7fa636c9fadb5e800000000000000000000000009101d252f31393f","message_root":"0x1a2b13d13ea172538802394f744e272235bbb85b30c7ef26c7be7511be8f2618","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x7caff9e2b19c958c8ff310af7437c91ca749bb0dbd149f03f6fbf87d828d3e989ef5d4b126012fdfc3ef3e7f61d4be7f3b2c6dd77e577d661c43a2b2e12e57cc29b9dd2f6c3bca4bf501e686037c76f5a2085a269b58bfa4b0d5e71c62115bfd4e0f423b7cb6b69f1d668b7f259fc1a5799f53505f6250ac3998961d7d0342344a88ff0ee5a000816564ea84cb3f598a2879526e6c30f727142e123ac52d1aa2f07930b3d671202c7bfdfa2d7b181b4d965d53e8931f17c8d2e2e9765ea19f91c9bbaaac39cb78fa21d14f1a327a45113bcda2846b3bf075160678cd13f14786f43f143e55c9194a4cc15d24f4be294a1dfba934404d523e47b952c18437c6a127e95a56999a272ec9e7da6dcd6c5eeff0a5c54c82fd0a8d7f81e0ac13ea3c4a4c8c542189ee89c423e1242066f8a53fdb59a3cf1680bca5a2f3e0d374d697c61c740d1bc704551ed2311b7741a51c4907eedf8c081efb0c5b91d0e4770ae23540f9da4c1a9c0f163c339b944a5d4b82f6e62675deff80609beb18276893992d940aaf310a865cb2f8086d690c5d292ae06169ed55dc9fc009bcb0985804c6f8767d8b6dd9ea26ae5a982d72a308b21487e45e16caeb92b63c4ffe4869bab26a4e5b30ee8e2cab273d4a96c05dd6e38fce23be8eb3cf9d78169357d0d1c9fcf557533d20df448b7bdb580a207ac6c2f90a76f7a5d0e0308633096815c29362db0766c7de99f29fc23b3da793f7dcd17981e01df9a76b9bbbda8f25c3cce02a7ca583400d77c8cef0398359d8a4b185227f08a8feaa13c5c471e00f08c07362cbd2fc792458f051507b1e223978dcd159213d6e07313efa3e401a820341848872f313c278108fd3df25bdb39ef1b890611c3fed368cd19a3250c13b3673d871bb9598b3906b1a5f7cc9496bdd08118c3d3759788d0a223bf1807c3784df404c2d7b31ef3b6f909a8908ce98e6eea028a66ba72914d1d3ee47d1c98132889f1687240e7eccf5d0c8215d13aff8dc06343961694a5d6723dc6258827337252c90ff9a469029e8c456a6c41fb0bf1074a5e5f3894a8d8ff71d81248a82db48af024e6c3dc2515b771ca88561adf01fd09f10048a597ea2eab641935332feef0482329618c263c8182845e24af2331234af19da44106616dbda35bc405dec2425084f5a1bfec79d93435caad7658d5dd999190b0ff13c8a5ece03035ab8aa7321a6e25e03e1c272379d07c0038f37d4a95951a1d088af429e5c58eda3a0e9505d86bd9427df09c2a8355c2c85f45efd8964a9fa415c0cce8553965939d610931fda4af8fd64056b6b4c8a26c3ea5c21898c6925364de6874a22e03e856dbe0c963a9cf000bdd83e4b9455dd5b07bb8adfa3e9aeab64f05ded78e266925f9987ac9af36ab8a42b6ff53bb3f2e6228d90cc4e2a28eaff3dcdf280c284531f55ebc2d5d2fa7e528b426154b0c16ba211eb7b6a447467a156c077f23ca64a143205cc91689b2c970abc09e94248aeede248b2e2239e000f54a725c4e1d5a64f806d0f6d203b08a03337e20ba45a130e67d89de1a3ec4b8ab01a2a2f5c0205aeff28a2d630bfae21bcedf13923db3ae2b5057f73d596accb3bc30784d52fd523b1bf8a7185187d49cc1a333989442ff87402afeb4745e40f2268889ab3062b4f07da3cdc5f4fc7ff3d802509e00ea38f1ed6e6ae01b35d0d11622a2ab9116f1f4a7c67529014059a2c3cb6e2af58d53b052b75072e119afeb63f3eb267edd2b384b11b2af36ed228ec98980d49873b3edeb6743fb757669cf45adae7fcfc666f60b561e586724047f95b5c4af85ddfdabc1ac202d42e7c8a607ea7fede9bc0d34650306030cbaf74d732d133e953d8729f16884e81e532828b59556d5343cf27c4047da3bcdd3591b7f9b5539b748f100e113850904ec6d565e4963b403d4a59cb6309e1d4f37c057a863da844c05b42b0bc339ed095343cfd36b9f9d8f0dc2fe3049fee3fe79853fcf1dac18829b411dc8e8176be2eb289056ab37f5780272b1ea52207f4dfdb430789ad24477a4286413fad0ac249a19280a60fc67c43a8750b1bf952cbf538d3422984ff675233d78e9e95f8b4282e3c1573a315b427a80f612a25f6b9a6b0904bc648476c8654734eb5517cf49ccb1f1b4debd32dccf2f9b2c7aa2321e2a630f055d673f23b6ef4a2b9d031c8c4dcc1bfa4da28f976ffb39dd6ba88fd916f55715f592cbee9f2bb8176dc8afdae600a1e35f9d199fe247b764e35c8d4e3e47d91faa65bf1f20bf6d9e824e1662fea5fea4ab1b2cb8e44ca274d87a3c809e94e209e5a655662cd5e3d22ae9db662886cb5e1b65d15efee12d48c203220f14e6bb0534a615da08c229faec6ec5c0f5e4a7c7c4521b0c78c772dfe8d8ac6da0c53a464a4fae93459e56843601b96726a22c5d8a380a58f689494e6a6e6545465aae8e1748c4c8c41c07437802c97a37740d089f809def266da170bf3bd3f7c6901edf7f8fa5339b1f33456a9ab52b3f8644963b630ec6122bef30c471ea5cee233a83c33a64af9554566c4823f2488ac03a2314d74fdf95ec6d1ace813b1118d42ad66514311d3b130a444c355b3e44e92bb43f2528687df8d8ed10d69347561ba6178958aeb93b02031d550b1b49c30b08700e9ce92a71e5648836ee19d3a81576a890f307e7b4af2b01f9e4065febcea439cb1ca73f10fa9db45cdccb598530c0eaf9bc3bd84b0b5adac8812b911ea661ef02fd9a20f3e19a91a0b314b4f9c62f574881ddffe3c0a6e93b7144fa7c4602f1519a2e398499543adef7ad0b9e61ccb9dbaafd3c9dfe79fa9e1aa2d03fb28c79ec8da6aba7a039a441b587bc68d728ddcd1f33f1c275142d747801f8f59161f6cadfda3bc3507a3dc6742af62b7ca4d6f1850a9abcfb02eb814b6a9dfaf6bd6545a8bc044a4157b456d45b21915d7aa0934e374d9e1489340c5e98c4f5160eb15c299fb9931e6654acd66f0535b57ba33a1c11fdc265a2f472d983670c9f47ed8b585b37372a2d6b8b4025b98e995b8e9c3d072415f50219f0cecb14dc8bcb34d420662b0408ab4c4d1e89a95e23e9821223b3fc5f01d7b5596c3618cfc34465456b84589bb0e332775e78f9707d0024aad1a082dd7ed11be3bb586621b19eaa033a6bd381b4654bcfd993b5c55b1b47d1d43a77e1030ed2ee635e2b72f113f03ca5a301b023f6b4e4f7f0841597da5d171241b4d5d475f3ef37cd17809b0c8f08ce6eebecccb69b316c02339c89d1300915843b945984a7a5b4bfd3ddfb463e5de0ff8870a39db5641a2a6929f88f56d2d31fa512a3dff9c8b39d02d0659307ad67c1ab55372b23b84034c81f1162dac330949fa51738f94a2d3d95b4fa7eecbd01c863a2f6b704371f9c475fbdd58b16be1f953b92c06d8cb5e48385cceffe3cad56ed3bafceba4511c9eefad2a163b2e8e07e34713779e24969ce38cf83824b0ad984c314f753f0bd81b676fb2b6b2d2ec9425d764a5f636e6e27f06b4729d02d8677193479b9133ee88776cec7b2338e9a0b57d8dca6cbf0fcba948fc1b6c74b6eb46f7683ee3d2311faefcacae62c44ad2d02e89a84843af490f57b99a68bb79809381bbcf549d3c664330375860d56d0fd46417bbe44f55e365f42c0eee9ed0a9762302ffc91cc15b","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xee30622a0aabf05c9ae0779e8635f8b23d2df5179fb9b2da7e5bffc9ef434851","signature":"0x54dfae7472a1a754f48aecb4e956af59f4c23e8828c2e0b9a5b1c086e0a8d6152c8453fecdfff44ee17612631f37c11fbe2c4df94f5445e8ccffba1d9ba35a0da74588e8ea0b411eed713742f1303580f789bb8df456e91d64341d6e4f854459fbe6a7dda150d687fc3644e4f54cf532d12d5429ce52b00ba79f61e0c1888bd578f9cb9dc5c265ea5f455c6ec8f0525cdf50782a7ce4da807191fabee3c374eb886850c74f7aeaa50e6c80a2068eeef82e4a2c696ab7e9f9c72161e24555e4d9bd8c7290b4acb4b05371f0c37a782698667f9650aa205dc0888cdf5594577c9efc34d563b5321fef603ea48a90b6cb29727952ef2cdca1b4a2fe97178a6c0ad07cee77bef0ed7dca4abc95a82211f0836a7ed001c6518be4b726698ebfe88f3354a6f48dac526a29a4bbfb112b7d8607ab7e8c29c3cd71cbe9237c605fb4b40f3c24e778c45aea99e30d36daad33ddd1dd92d1ad49f63532b816de5b0599074518bbb13cfc3010324427351e4d2e4506ecbdbd2392e0865ca6add73f1c952f3c52bbaed41edc792672dc5a3f678e1f3d333c4adf52fa3642884a1ba0cddd29c0b8fdad8e61a9f090de283ea0613f061c5d7bb8fa09dc8d04aa6dae8b381c18035b4065e574e5c0b08fcda35a5dd910736f6789c9d8207f6ea9130acde9c7308d46906af119587225e158d3564b9d7c716598e80be041ad30eab85e46ee5e687e3d4e298f8ccdfc0c60e611e1e064b2bc2a162b3de8c9f3931cbc774a1aa8c4cfadcd563620fadbeb67f8716827950791315e8e64ed7e93d3c46e99f9573f80e5dedebbc2c2226031fb76888a0d192a2f970ac5e0a422322fa35333282ef3aa852913ef8af2733c5afa13fcb76c07040b5d92fa59f03691cc096f15479756ad85e5e31b18b4b08cf5456af6a42f2be90005e63b98d92c4da82ce2b7dee7897f731552cc0779b7269cb23f6b2b9eefc049a5706fa8c1fd0ae0728afb900b3bcc33f92cd57632b1206c25829199b482b6eee0a2f2cb72cc9d46bb23cd47de246672dc9c189d5406dd58ff91d805d0578975a87480ac8d5e8ecafcc0c382097b0c44dd82f6dd288a7b16bf8b8da525b495a69c57905442cfe8aa778aab4bbc8e47abe465d6915ff61b51ebc45c9ed28b6aec6abc8eff49838b0befcbc117d6b8dc2e45fa783ed2c12cc1985a4978c33125037a31db653b857fd06bc0dd1303606924c0f3126a23439e9668192321b0f898db8375cbbef33d0934e47701e1c7638fcaf63a0c6bc1709669be2741fc836d96f62d3f537be9f301218f466a545bb20e9e2612b5a224e5bd886a56fd1c26a9f1c3114b480178027853283324153f8e19bec88e08cf825ede8a169b269e3a17b69cd294448b9325f4fd023f23393161d3cfaed0648c93f678db4b22ba8a06492de9ff0f90d0ddb631740c029ce26ca62a41e79b357433fa31d8a6c97e0bbe833dcab394c796e809d5953e0e387e338eb90e3a610a05cde3ad6b388d201c65c5ff186aefb0998e2d8b39070ef0dad10954eae9be460b6efcaf2accc4108ad87cd5f5c26fdaedafe3026f2b2f7a6cdcf55dd7fdb26cf83727e0a7b6f21adbd58cf783d0cb35f225df0277b18fbe79de57895b4c00f6defac10b7337219c8e0c03c9e219ff860d839eada39334702f3cb1414638d2e1e61bf0f502d6e7b1cd1fab66950557febf5a2066c5a5dee58038ed0a0c831cd81ec358606487e7fe4ba778d258449d89a5b05e5445c0cc7dcb00d0e48ef6ad806fbadc5a94b281e63fcf72a05214522dacedff835db9200de7acc1f48615c80bf75149e244c61aaebe78c578efbc0930dddc5e3f5160d1d0100feece144e3c4d24ea1cc150524c5f92f3f0a3e7558f0270e9cfafbb7d207a68cdc2e83dd6173882f1212b95f4dea0d244df3cdcc6e50c194e5baaee105704774ef36e79f169b27516d6ede9aedf4dd9f3a5f5bb549568a3f55dfd4310567e68ac345545b59f4d8dd741f1a24c8eda6c8f5a78a3e3bd9e8a1c829dc6e5934ad7e8c7b90e3f09c6ec2b962d320fadfaaf6c6f9f920b9b553914aa94db04555a636c5a080ca9acdd71db2feb5a96e8d2d34771c3056a5453fd3567d91f5fb1ca113320e0960378423a1d93b9d1def946589bf89d2a376a961e6fe971266bfaf1058203586c310d08f5c5bf1ee01d12dbbcd92a9a32df3c1d727af169dd1885af0425b2d16fde415250c7c0a64562eb04809610c488a245aa84a6a8b22f772510815c374ae7d2a5fc9ca77bbc5b14d6619aba32f5f200c64689e994db5ee72453abd5308fa72906bdff028f4be39381b4129cbdfedfbba00d96a48111c44b09ce7d2c2694e848d08cd054db7c1143a2c41e1e9238253eb997cbc452f00c0e2fc0e46d245058e2720330e14e756461ebc23cccaefde15ca818b1c8b515abc06889f337bd5a5d1e548acdfcc6aec96b10b46afb920d5a42397deb3a8b654d6d8cbf488c7f434fdd93f336d7e2c77cd7486ff0ffed0b1d6ec71886f92fe947db7eb17a17762568236559b268536643d27d78afa38c0e5cbede3d22908d28ba140fa57a76f167a27f2f80255767212ac955d145cd52c7c65bb2ac901c81a4ad6291484f2ec0094d11932b47cc9271f5613aae26d2e989ef9f6df6cc9ef8cf17c4b10f464c46bcdfa4a9304195c4c30341a5a22da6df12b17caf838dee18c6a3ebbf31e5511077a6bf0e94b7d25d65b86062d9220a73ef8b15f7f3d793f4fd0459ef08ec2a94535f3aa0e62ba2dab6fec3f4057148d98e2f335f62504c62bcfcc3f23ec4c7cc52571f1260a03f61235f8fded73b99d41f1ab1ce43db4d64d90c0173707f558f9204162e6ef2f9e918cec4b96ab871e7352aeb27871a4d07ab02dfa6b48a51932fc3e6ad16ce35f8e62fb2ff48429f9765e4f36fdbd5e3b198181884cdd1f4305ac4ded56d0c2a85eb4eb211efe76b1109e51829bfbe164fdb755f846d579a3aa9fefe166e6c474e8387472998748807bb14b7a46190593f9f26d8f48e2e80363cca79b099266cf3fa0e21cc9d56249fba9b323faee63c4556666e22768811cc9878f0b000cf95c49477ed36651edba3c2e4410dce813d2f91eeb71de90088cf8feb8af9de74456f7426b0da9454717bbc8059236d8e90a5391c5597b04bcdceb701d9ce29a51af8a18e951e03bce99d38b7246d7dd915041db6b8ec020cf4c1a696688d2a1b19baca1928ec1ec4df421bffb52db316ddbe0b0a8807286cb869befbd10089c15d80a8571dc0abc0a1d587256ab2ecc4fbc24f6b408b4c6e4cce682cacc834a959d174b0604152a53caa5e83e5385446318c2143b8bacc69aa4bf34b1966429b83dad09f05565f49fe7b23ac0cf5fab0a592255acff3e1e0c4a756052dbfe50050676ad508a3ed74c9ce3e9ca4c689f809eb27ed69408c42fa8a72fb5f14aa52840a10922b01bcf63b85bd15c008ae6b95c314b0d474a941e630d324994a99006b16fca5f30e3a22a9f26cc1995e1ce5e137fc5691d7c53078236bf32410f2d02f668108d9506fe40864e8d632b8f7c5959d8b0570693b1fbfdea901b81c49d86d54a0700b683884f87d0663967525e3ac23e19c2a43f41783787f245eead232820ff9ec1f4e46aac67d49497e8253cb93b3b6b876b178247763f89f3de2e1202802bff5cfdff0145dc111eca3f6435f76acf6d1a5199422ed1c23db8b7e2a11e713cf5f27af6a92533407ff82208f99e3e0530193a9697e4faab31e5da6ca2a5d7f6a9d1e66dad8c2ff397a81dbe3d73bd7f532972c4e450fdaa43374d3c4059de31c3ac4452e436d0e8a99e542103baa0f753659510d53baa914073e553df285d3fd7459048aad51b88cf0972763d774c1c9cfa1446d40f77c88fdd35781de7ecfc486520d46214112a9f97477a903acea1febc6447ce6ebabf3752a8e27ec3cf0966b6ef133e633753b83c40c4023304b85461bc59864027986867d983f3add56911ee87ac3a043a3372678187de54a69882ca374eb84ed1f2368de611c6fcd9050df15e8031c9c7b8068ed80ee75a85784d809abad7b1995b160bd363f98158ae40ad59f6b800ee15368eec32ac9d80ac949bc45d510f84822dc5c3ef44c343c8be71888e6b6b25de827cca07957942972ac0c3bd0eb2e858373cdccdd6ccb9bcfd7253cece3744657a012082f892167fa173ec3f18da2d40f51f3330e052a61f67f7ef328e16b20c5d28f9b5909b3e2ed4163e17841b9eb2ce6cab5878272085b91d5200c0fc501bc28659aa9ce373352ba182575abd954f33d12b0bdc67318599e70e22da4c5214ec5d3032f8de98083c34aab5b562997abe0f6e2a51ff05a67f0c06282c16982953c82d9725f0d21833ec32665a523eb3ad798af6f8652bf8f49e61e93826877ab3847984bbd992d8a25b3a32246ca012696ea61d7e04bf14d6020c91e7611b6f2c5bcad2e65efc273265cb0a2607e71051f52e10969849fe5a48aab51bfc083b7410cb4c6cfdff760cfabe99f53ba92a4ac016f137199601d3bdc8fd9ef1acf38329458a7a66a46c07011f672e09b11f5c3876b40ae10b97ae6f277a9a8a3d682a31276d32e961d2512ed1aeecbc7b4156bc737480c1488321d832304461f130638512ac31b1456d885d195cf9a2693b433fc0d17f127dd778e3899e419d1a65e1b4bc0fcb24190c7bd09255653c5b27d7318597e81c25c73f39b955e3fbce6326cefea176386617a18e79768ac796abc2d6837e4085373a8076d9b2f5f093e0c3848e392ac2de4659473dbd248c19e7b5e5c92a815512bbc3af35e720f5987bb4ae21fca9436198876cb005cd65027ef1ad9bcde5de19ab6a186b8589ade62067e38d7ce4695a8ecea87dc830099329778467dae452afa6d0c0937591d21ebe9ef44889b2695dd4aa932c79713c24e9474e98e79a9e00754d90bebc58ad672522969fe4e365b314b27b1df45e94ce0defc27ce4f3c86a9f33449c39b2534cb61a3cea117849a6d72b78fa42f19bffa414e8dcad26fd162671536fd3215b2b91dd435b5e62f4ed7c3cfee04807001d13a9ebc465762f4d6a63c4bca69c2cc3dd31ecd94b2a1c1409fb9faae25439bda580001d33761c5847283398c3599139f36fa3dbde9557613e65b13bfdf1ef11302ee85c422aef60663bece00ff979dee78d12893a4e546743a72b5480d62aa864bf0f79133bdbe1f1471f6fa168ff07b73b908549bc083aaa19f4f7bb8b792f908400aaa6aef2c156c0108632dcbc7583b10ebb20c803bbf124f0f98cb4ea209f723abe229a1bfe5606b373a7d82b68acd1195f7cea5651590e084000ba23ac63ec80a9193e8a75e8dc7660262671301ad3c3b4cfc62e5112989b923b1874682a5aa96f4d0af20393de743eb39b49d979bc00076f6dea60f0c2dd76032e3ec72e56c8273679155ff780c8bc071aae7434fc3bd233a4d50020be550b2ed39a2b664e6f8d0e92f196d21fca0ce2b9f1179ebd6f76fb1d390b9f704a2d9ed8e4a0aa455255ec216b79cad90d895d87031da47294d722e69442542899b3de49a28126c0fd103299eff2893462b84aff2c37cd421bf0f8f2bc9281fb3f58565df70f4dda35938216e181fe8a2028f8dd62be4d5846da503fb354cbe1d4a2f53c9677b89c17cabbe3c9e482d37f8f83f7d53b9c9f41af5d24096f7c5017f4a70400cd1aa44e82d41503f526a5cff397586f720556f8e05d7538e84f941b94d88cb5f0738232743be67c1922f7f4c3b46e5d56d99f2a59a9ad0836fe3ab90ad92d99f6b244c03d5fb64b49f96519c3668c2a82a1118a3bea39b60cc83b3016ff87242acc2fe433674fbf78728f3c45a39af2b58e6f14e2ed3c87d3d1f7a90263ed6a16efd14344be34735cdd22db280c82a2f799e5d5e382639a322f29c7119ddd961368b0aa62abf903c0c3b9332d8512c329ee3e37c048f60d61044372eb8d0bf40bc5135668712aa42c35d6ce8d5a62fd06086e8cbc349d9d8769cbf65afeaed72e68de043caaf46f4bcc4dd9521be4fc79ca1b74c122c2638a8136e55388d5bd102517467d9c6da7f213657335957df8dd0ed212ac4ececc88ad2b01d1d70211718b3e13c7867e5b1d10074da4a10f008fb9c265918992a4b142d8aa5485e592aea5608106d606523fea4001f7c88f7c729b8755244b19d7c371cb62dadf73363992cce6898a3311b9d870f529c68cd8060875f3cbaf77d93e68f6d345906f01f2e1ca9556b1b511098b53f47b1713ef186d0f1871645c6e7242c8eaca380748c2ee26e670c40ec37f349473c0450e72f24f212bb6b31ef8cc91b51f58f9a78e5edbed017c58957be29fcb634ea1b1e094295bc652b4b23b242605b01fc1062ed4bb56e074aae8361331ce65d4edf5628fc3202b9ab8dc1fd1657f2bdad8d76926efd8b2050627fd0dfe61d6c6d6e72bdbfdcdef92123518ea0c8d6eefb37518fa0c4d7fa153d3f8d9094a4ed2d627c7e9d41a0e0e6e71a20516b809ff1f30000000000000000000000000000000007111a21292e333b","message_root":"0xd7c8827982bd1b955eee1fa974e7598291d66cc8e66b102e212af30c414e002a","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x97bd9b7cf8b9e78379c66334d3a238d366225a33069db3c75ec9761a05dc4f8470f6ea640ec6efb6daf1e60dd814e1d3161a400f6252ec72554e143cc4e2cbe30e847e4d3d8a4e501374d2e38ec4ca165b017c55273f9c597a5c2c07a0115fd68b8e7f765963c6c9f93820dc7218a21a4e83ceb2419a84b32db53a5eae839bb6d531fb3a2be6558c41ff9067f2d25ae00c846860ca9279901f2e74cc07192605d1c3e31bd2d1027d4f02f370deecdd2c0248ce0330a1bbe67ffa9d74c2ee287e4220c3cb7dd639458cdb2c2c779bcf74938ef1e3b39eda2855c71268bcfdcf02cd7dd82c4788fecb5240780895afadb2da583090024b89ebb0de152fcba18bddc6b85afb6a1715fbd807e5bebae4196f506a873ae691a4ea47ec059e52d0e1fc1e63a5588f9bc85c88cb439e2f24e6b4f504ecc6c24a59dd0537d38f3198c49b8a9a7f8f6116be16c46f1bd698a8a531a49b62c7c4131cb64d54a1ef255b490b0322898dd03f9a9fa79caec742968db51c59bdca59f01dd9f487b9e8b62c350a7ee21cc023a845456215983ae2004b77e5f957e124d0fb91c99526a7cee7c087029ec283ee768cb56dcd0c5bd557f13d699439c5feefaf5d1cdc2314b1a28e5c94964a9b8f4d45d9d309de75e60b985fd8e51f1fe8dda42c0ecc9749667cf842c8457796a2508ddce465ce6781ef79e7f938de89a57311f16797675b78983d2ae07775dbde753aa4db2354c1bdb0ad72a0e5cb98d89e8d9cb84c3f9c8a1935197c425601a944ce3eaf7daacac5934d4bd1232f29116f4bcc2793fb0f6d02c9fc377ed1a27b1aab33db4f2c30b50af006f252d224434e11d2c46eb080d9bbe0b6ea256db36ef9c00376e845ce9d854e1a85f14b56d99112c554a8012f9c173bb433135dae433e548d4dc94565811be4e5fd5cb9e1124756be84739477267dffa170400eb395a436d79ed403af7c310e9d25d782ed87ae368e1f9ee71f8a9be383cc85fd15a143ba45bf6d94db26657827cf4adf879b8695a973786511efe52bbe4d604b3016c19ec1a059bb90e8ca60157b809600bbf4f9ee4ed6bbbe6b64dd0af518a49c0503bee352aea97f55d7502b2a169cc2dcf1df2c65422753f08bb12212bb5d07f22ab99d56000a5d0efcfb6a7933c75b35bfe6260313c41d5ed1336a52c03fa12fd686da989aee33fa0ec87691249299a51eb4b5b947dc27ccfb277386e4d3f721821769f096a44d2d7d0592b5f183bdd16e78628d112b4c900126ca71462361ce445d64750a41341e7b0bbc1c0d93d6e892542349a6d5de746765368a95d87f70d1cd03f656a090ac71b58a3356fbc06284f0b0d7f9b32d06584f6f2e98649e05629e0818c8898eb952b6603214a00a729c6a01bcdb572bf3892ab862bc8209bf92fe2a6768a524f4a9d3ef9f4fe11af805a5d993009d3f41412fb4b8415bccca128aed03b0cc1c7bb9c985f8cbf6aefbab5e964feadf4ab161641d1c073805deb889c1a318ee27d332eee1f5a1b6b78923943ca1021cc4eedd88e3bf5442825f5f3f78d089b3773d313244938f4d6adbaaf63666eedd2e3cc35bf82eccd9493ed7eaba0f085781d82db32976bc0323ad25d983407842de0a59bffca6d1fd31c4f4e6b66ad8a2524ee5a6f083cfa4286cdb4b5f1336c46aa2854a0fc8a1ae7544424c6591b08248287065979f8ef61ab8438cf6614c0d4a3ac5ec6a17e1cfe55c2d29d20f1a0557a2b6e9a76be622036241c8a7cb6ef17b0db775aef912b69eb7eda752e33148eafe5974a91b4f1aab48546a1aa006a6bb809d18941e2e956c104289c7a0fecb80fb663d94515856bbaa1bf838024a0580f55eaea2d490488bf97be2086906916c623cdc0ba29703f2795da0b428edf3998515ba742ae988814508e3819f41e7d05552f0cffa122636def125a70cb451aebb83eb848ade35540e2ac02bb28bef71b808d094da39e33f222d46a86ee206af2711120998b15bed588dee841d33c5bc252ecd41d0574e53efde1066b17b43ae78cd4bc5ee9b44acfa2149f4ef2fabd077ab646a51e4b564894481be52ae44339d6d3069e9fa0e10a96981f008b59d1264a94612ba04024b3131b318f09480555223272e5fcc2c5a5517b7dec0b01aa662c2ab71f7fb2b3b38458c971ed27c3318bf47af55ef6177df2ab80c8ed28f1c3dfb72447f2a5d99123ad7f8c4a9c927c3b02ee01e023e716a59fe9811eb978967238b9e71fc82e7aa1d45c820c618fbfefafb028a82b0a2ecc2d01eb80ab3e2e5d48d9360eae33c0793b9ca5e2db06e062fc886d5a510dcd217a6ee93ed5d2b26ac3826dffaf57dd4a6399bac2e1407979e801183e4c8c37a6acefbf39e9833d68c6c2168be1ecb9c83f012f15e04ac27ad986ffeef612270faa7883123904d2f16e098dc50cf6ce7863e2317d01f5d1dc85cc9c2ad889929fd1440f44396315d9d2ad0c0fad657b1227b120e8f80e8bf95b77d6fce349708c9affa4f259231cfdc2d5441c70066a2482fcee2ca18089547bdaef210e81683c5d3cff9e75f6d2f7a927f63b8ef09e92948374e78bc02ec5dcded16fab9f3da0aded640a260a701fabeaaa6dadf4b043b99718d0583799d0c1fd7fa2a7d6cac6b961adb569b34799c0f813eb043db88bbe27631b0d939a7a98cf2f932d25f89ef7bfd3853426af2f2001b8cb89e24c822661ce362829892e62fc719d83c4248ce70c991361ec03490b3cfcd142ebf0b2f92e299c2865a4a7dee5cedc366ff39fbeeeb0695b0dfc051aa15cd51d88ea88d95e77340760ae8a5d5c3dc3c7290a0eafb9912d627d39f3eacf8a7ce9984ff7259e8d7ce1832e55fc7bb041614bacb9d3911c9931e9637862a3c5610f65d9ff7dc09572e6214830552a7b7df6a30f5c53346449bbc630a5242b8141d8e4db93d845c50cc91a81aed8f5144375979d2289680960d3c42dadbbc3089df99a14b9a7d419936b2d0e26c39f458baced0dbe30a20ba5db626e877be60993d7eaf3d369ed06308a4634c10a1311c0085318a4616a26e225f4741738fef7753a3445b40ca728184c72f9c0909c6fbc30c6c88d456ad969a07fd90bf02d1c8dce2fd60938cf80a99a81d2e3ad2f9917abee2d2c1273001e8d897a9435c495fefcac25672aa7a10d0d3110377a57efa0c9770c0d96c9bf5496c220d05e42bdf95dc22be594dd67dbf91d9cef661d7578656f27694431f9140732372d9d42bbbcf83596aea82c89e319397fea5a7c411402de1b474b72df870a63a7232514b08cf33e166daf9357c0c6a932c2db64a47f47dbb1b9b571aba37f9f1519aa1e6293916669b4744cdfc0709b5778129b51af2555bb5391d48dea7442e50b7cae644707ba698d015393a9fa1d2c090d28b46984022957a8e91481acbb95c706f15396f348f22f233073cb94a12da775f8cb97eb65efe45347e8156b6618390001e9bbbb3bfe6f3bf6a39da4834902b4a6caac51e03ca38eade043eb0e156e5ecbe171b5b203cfe3453d4b60f62b90ce2d43bab1686b9276c5c2dcff04917e7dda512d12ff136f34830bb65dfc957c3352cffe5d2981cb5e03d5414cd7e69d6fc426a8819e11771cad7916d77f7ed48eb0cac9d41d56879d7d88364d78c6a94e2facafca48d85d2991f69988451f1b0ba04","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x53a79b274c2145a336c64eaa2422b9a3966f6d056f6d985bfd4413882756873b","signature":"0x76cd784f3cc5d10239ded88a8343b6547fa71b28eb955d557d9e6aa4ee84c16b9c3e19b16b9c44f411339e094b269348bbcad8f63c886f074ed7eb134a6a9cd38bc4f59ab2e4bebe7bafb5fafc82d529ac574a430ceef657bec6e2be24b04c33c419f4c4cd2f3cebdba12d2afd2e48cb0e2ba3620b0d405cb4c250e051b86080bb95c350cb94e009506b331a02b98d648d768992ac37b91076d90ecb7a188af7dc60287992fb65f3afdffdb7099f9138c9582328aa065f8f7755628779fed22e151cd18a543f218157b8df16a67028b32c0ec8e46020cb6b5725695e2c68a8e5602fa60b3743769c6dbdbc8a50e3d5ef0ff2e68bfb83f455222def4327077439d045b147c36a8fe31038597a5d73b6b980d249d65639dfb6d6edcacd2bf5d501409c93026314ed8f65f10262da7df67a69339c2d70e67958dd47a6e68986ef9735151d350f329b6a9c818c9f1a16e16c20edcfe69950fd73dbb3edad4ba4dd5a5b8e6d96770a6ae2b80f889ab56ecfa34e3ee052571c685a2da8249430b539bc19de70547de5be35c946fb57ddd5cbf5676cf9a21f0c92a5aea08816c112abc341df31de13c20e923db474cc4b1b4e30bc5c5f90f2dc4c8961090f366fe12f6362d990b75eaea94446c036104af7e8103aeed6d2c92723040dc72cbfe290e7ca814ed1936049f6a71b296da5d7585ab91b143ebc9d0fc48f78398f85d7d1c94c9d1a2094e2bba6ed6555821959d2075089304ec675acb1e27e6885d464184565a6f251d9edf0e43365939b173c5b2bcecfd20ec51fcb266245b44e49903cbfbb8ec3f07d670b231f657048adb84ea30916e8cdfd4f351da15c393ccac04403f8689aa31fd38776231bd61a03dd12fca2484736bef0778a431564f6274655f0745eeb31b0f3ca207eb1eed22eb88ba1608b31174956959df5ef6d7bacb75c8a454f1d882e7cb815e934f170e6f56aaebef6fc43428e44429f1451a89900fe78f9c0fa7565e15838a777dc7d1fbf9dedf97d9adab3b958e3725a0047e23c0423017168545fd51166d371f1842ac0ee55aa97614f8999a5d7321c00a0a01d231fcacfa6eae674a4cae2dd2259551ee8d35876eae8e127ff6d2e994a1b4e0d9288e0a33bec9dd65b5dc9ef193c3bcda422eb82854f34ff40314f74263c8a3c37b48d39f15d54618b30e5fa3fcbcf0f00a1b90d2c5585bf5e2ab34c9c3199578c0472664ac295d5f696ee27690dc8618b41341d9f525020e6cd6d7cb9e5ddae74f9343c9ba1fdfa93b67c1d7cbe9d7ba4c2776b28f0f66e6e5a88f3723fae4df3c7bdc22ecbc8b14c15bf6670246770d7f8404a7e3420d412a4a9c377e51a1d3ef25e5cef955214e94268be03e1e748ce70c06aa4fca522dac3dc5a4c8fece41528a9da1125b0d0479fad1652570e5fc5b24f9962d0fcf61bec8389eb40339d363e028ed71be99a5f9f088af4eea397d756f12621cffc1c5bc53e540b2c80b08ed7c2d186b1f37dd4dc78efb9db0685602e923d17c0353d194dc14683c9297366a1bb8c42d9f5209e1fe6cc548c907e47c094ccaca8c242b985c0b08dddfef51097394b1d9cbafdcd42e5dbddbc4d00d4ff8dd3c5f7288fc454cfe086aab0ac73beb2e4428564975089195314b506ad15ee9bf743f224c7377a5b9422be6c810b9ac161c3e488038c10f66c97a30df02cc0cc1b5e2a498a07d9d122e0666b3cd36c5788f02f597a48c7ea97550f9a13f71f2bfab1e8a8fac999b4c4f62876618203c1cb5aef8c38b4289192986ca44c1daed3268306f5f94e3ac3ae53491109f91d5f21bcc4e4d4ea3d6fba5687a516110ae1c89f795201b7ccb4d5c5c6c5a4d0ca9ff203239efced801e7874035d6b2860d8e98cc835364b5a9f45a595000c267ccb012ab4a03c171f5fd88ffbd691594803e39558162c291e2f001a2e3551321523f524d484e03875a9ceb205c507cdb773789b6382c6756814161bb91de58b9a8e2d31303c42598025a55ce764ea7f0bd0ff82a857ddae69bdcb7352218b2826fbc9064a3969e59c69a0f0d09ea61d7c4ad3818fac67b9eb519370d0fe3241062bd3a51ea3b68369fdd2b7cfe90522c10644ae208bea12e535c126f1c05c0f9841bb30a33b400125cdb9a7e680dfdd86671f813ca7ba8a10871e1e79d8cec82e8b8a7dbf2e311811a9d63447c3ef56fcd1ccbafa51478d8188769f880720c358df46e0fa68ce18fe60a2c7de857c4a10c659b2f67383a1b96a27acda24b51dd79265b665165568465fdbd25d7fc4a9a4675530e59081c6b4e0eb5e790e1ac8b3d006c84cf3856763271cec0382dce6c5ebf8c026c57027371812d9a7144699281985cabe6b9e5d24758912fb254cab2ce548b0ffb41121156039dca760a654d8ca6b4e6a55f3c97d1b46b6f0b29e3ed511779feb4265b347ca4bfa3266cf40aa2feca2940d1c0227c743d72ceaa2971d3b6ea8273435d1c6726cc1b1bd7c41b16a12cadb9744be33af5eab3fa9ee2241c1a360e809e1fe777ca23c110e41c0e6fb440c4e089118e18363550c893de332e2356eb0f97f30688d3e6ab328e3a8640146ebaa9bd70a79df4d49bca6805151c755fa7fdcaba42f30c54d8d42c4c4f975a64164aa3fa56e61d2dec2bcee6e4c8a7135bc06d438c15b6875a0a5fc9f37d8096aceeffd4b05d83cb14494e72dd253c006266aa6fbc5e2a6f03315b65b853a4a7779651374b59bf3cc35bb00f94aa5e659f2d2566ab98b1ae3eade6645121c5a9bf9aac6f3ac0990468cf517f5b0c3c4bb7bdff5a43172ff5942281f35cb505cb0fd5c5bb80ffa01b66052313a95903bab436dd67039c50f7c8c4ab2131f85cfec80d6d73aa1f2b8930fa7269123f5b422acb6c8f0d79a56451e98e58bf56abe534bba2a10925ae79cde4f1cf35b2ff0aef202461010bf68df0635a9fc51641b2097f4534241c011a9a93c0b92d53a681fcd2310bb670c8cb2fdf8d9c81cea795616b629948ad3569d7fcb755947ca862d65ea9300c71dbffd5d56eb5ab894c54b884f8feed35fe737b7d484d6121e156fb86fdccb3266d5ba7f0f65765e96dcdc1cdbf3318f2acbd4b3f710f6d383bd121cab557053372e4f3fc575e3aa9a01ad88c2e1c921d3bd7396a0f12b0fc5860c615a529c34feec96b11512d028f55b11bb691f1bfe126134df1821d6fbe64b0626b9103840a8d090610d075f1f9e190ec514d501a11b9074fb5479e7fe6a306d6459521d132eff299d5930b891504e165a7e77fa822bfee76cb7b939fce484787deda0ae774937a1b3a7b0021f8ff304b69c02da4c713f68467c648acf38bfce91808f2873a35f674a8354bec4e1724e76d12057abe1d664c7fe2e798cc3940a6387efd4b23cc78c35aa9a5f6fb216aa92c7e9f749223abcb31e2b3d94e04a051e2e99818ebf61b542c88294ca2e84af236580cac0b93c39ffc3a08658f2a857a220612436ffd6730cb34fc64984abef84a7cbe7a374477a27b82ca50019a479d712b50cf461f832e1dbc5745722e6e61f425313650dd23673d6b5ee1174b37cc58e490356c8a1438bee907b2872adfe0d5aee04e0699900588e38d33a42dcd08d32c26fcc2e688e73e868bacfdee38f1037d8e8fef760e2d86f96b4b5ef5fb5e1e2052fc84c1e209b4833567ae4594ef4cc9d15779192e321ae5168673c71940abb70ee2b8fab049302767f2debe456c7f7ab8e67fc2196b9b194ea4371f9d876b44e847d7530c1a596e061b1fe4983e1bb352342668f175bc940047dce5b1153650756b0b8fe0bbaf02def28fa51427615ea8c3c44b8101a537427d2e508530a2d44e846dd122a53e27def024dd56873c3f776f3b66bfe1e48b8b994554fd907af39437bd1ba246c93b7a0f83e52d8c93b06b93063e0148bb05e999c1512545ded5212644ca9bb28609af9630855b94ce866cd31cbb5b9ce02a48ac727491120f422b406c0740299d719fd4d466c1ed8a102230b21881a17e1d11a4ecd7fc7194b0cf41c725340d2cf88dab2aaabc4aa6890e6459829cc9afb06b5f4ab122db9cb0b76e8fbffc4fc8021f1153a870c241164ecf632ac6242880501ba31ef721f44200da11b1b4568ebda99ecc9a2801b77d41487118a5d1863887d2c78d790ff5556eed930ae9231d1d845f644f90f87ee98a87f7a7346d1883188fd3a0c3af7021eded71a4e40b946743cbfa85a81e7d1b59a9d4f5ae0fef9fcb9ca0797c83159b5f4f80b523a3a65b67938cc9cbd7d5eb5e789cf993a9d5812a1ea49684413162944d2be2bdce1b68924289f29262f940b300d8ac6efa1c6097656a68defeb2ae62bfd76583995420ea19a759e48ae1e35cd7735916a13429ee5f9cb193b90950bdff994c50cb129d40c5963478946f56125463b246dfcb4707d15cd169d1fe3ea7776a5af1554c7c54fa29edc105ccbb9eb4e16ab7850e3e7b78b21db64a810ccf6b4d8636273dd9a4d0097ea1db85adddee122acd81d3b4b24697503795724346b626b474c75902ddf4d59c2b1423841c42e403afb37fb63578ce9cfbd2de818fd46008f11f23ef179ef0e006fe1af6f4a7c2cf11abaa13a99d20ad14fe2be88fed7e83857e74977b521bafdae0d1056de6f8c67f0aa2cbbd6021e6a6a89e0833380ab724393e9c8355183e4b377711c6a03cf906b8fc903ac3f0243e17003068a28a8dcccbf20acc9bc802e8ae81d3ccf24e6da3c037f084a9d8d8c4e3878d6433b11b491ced3e333b3f0d8af070d21f608bf3506406d01c922b0b94d9039547edce08711a6ecb19e2952d192230e5e8e5d01f0fb5cf237bc7c3a9bf60d821d22dc257a31b981368057ec3a1b63ee6293bcc7a48e257aacc45cc005c820a2b80a466abc483760d52440fa9d2f1d155a62a8b13c85f923fd10b89d991a29844afc7b418cdbf586f73a5fed97460df89773018ca10988c01798797292f96cd8c6f42d4ef1f1d9b3520e85348681c702c62f0213cc020a073644faa9ae7197f5003cd80d7c5a071b7cb67d0e2f689437d6a4d0f16bed8d3769867503a84cf07f7379e0ed35a5e7bf09528b5cc57c71a43d74d6906a76eab586c03e018e630f6902cc98dc2e826afc16e62b46501b73c1307cd88a33068957a7ed79fad890c667c374ff3c02ecfe03d8e09df238e8c303de7ff96e026cb983f60453afcd1f8da20390971d941bb9c140832405e31fe15f0ce15dbfdffb563a64c639ec87376ef9b7a50c87b046d89cb4fd89f7bebbbaae549b383295a57dce2c5b71995f218d28f049f6eb8d7916ee8ca75d0c7015b97a3a350cac48348783249876b59308f4baddad64b1b93a8beca0744319d53a4ce27c77b3af00b567c7b7fc48a9e47dd136ba9dc80fe5e9dc12d63d7316e5da39e284d115157c2f6789d8f43363fece9ce50cf88c6b1acd50d96373c0649cf78c3ff1651660a83cf3640fc90468f92afc590f833bb373a7ae3a5eb2a0521062e8265017e94ed20171e37d3e3adfa5777bf9aec24cc0090a3dbff6c1d67174bf5b2ed43314505db437601d24d953997525db95348d2a4290a5bcf9fbaefa275fd6ed60edd1e91c7892b479ecb7a5d0f9280e56897dca727c22f47e2ad592e5777f77218e973d230e35d0ee4d70e4f77bd18923fba46e9622b6b0cece262fb6b12cb31dc69fb39a09f79ef40fa2d8544114d751bc2b6f0a7bf0198d07a616ea05e9e048d6bb9f93766d29c9b8096a4da4e3005aa8d764b4d0f4819b9eef5efa0351f7f4bdf0800c5946dd31cd94183740463ab3d45d46484b230a17987912f153ffd97c25837538beb521521bcbd7835e8eb6d0e681ac3eba2aa6084d1f827defca3a3e00582a8157c55f21314cb81d3e87295a73c656073fcf1409562d39a70dad500599c1f5c8acfdc4d438b84fda6c96ac99a9e55d6dac0193286fec0ce4ed5fc5708a555e7860c14d49b7153401bc62600bdad77ed585f4cc6fbb6a189e17eca6a15f880485383b06fb3fc3354926f26a5743c9973e50fcdbc9e651c3d1684431efe8a3cccee900185fa1218e394ef82b5acde56262605b07c48de0f105ff0c0cbdc7ea435ba9dfa66e3fe64fe74a029cb6533a442d03cf8632259f0e6c11722c5e5ceb75d5924fd7bfc1638f217523c2202c31b57fb948207b55b5c505d992e50789981246d7210a078d58e1a7804ba9c2e60066a1185496c191c76179327f10345685699e60457aacc1956cb25ee0568981e2c46e2dada5a4b4dfbbafddcbb245239a069358f4140319ddb11588f6b44ff5368ab6a3ccae0f8e57ab7ec15dacf7a741de2250df8c613d5689bba3bf8a06fab190bc64288292ae48fa5d123090876b432ccffc4495291427c32037b22728d04074b75ff21a26a9bd6e75d0abd8a4d4721930b8025ab8ea65db18813aeabd683cc74791ddcfa4fe7e522982899fd7dd152a57868e90c5d3dee6fe0708123a3c517591a0b8d74d5371007394a5c0f0f20816c5cfd20e11246dc9dae7174c5c9495a8b9cbe5e7e8000000000000000000000000000006111c1f262b323d","message_root":"0xc236bae15e89f1c84827e25d26b2f95f83307cd1c7b36fd6e365992dffc35dba","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5a46e603d89faaee3eefbbd28e97fff17169733346919ea013ffd3a9463a4c58bfb8d10b1d6b747c7d29d78364b2d22b8f46e63eded3ae8803dc4e52b8aa5a556896f66ba6e7e31e2efedebb1055499e6c4075d9a6f12ce499365cf0dd22b9692724e9b10c55af6e09ec47f6f9e8464a4976dcdff460ec29293c1ed02c89416750ef68afe30b5f44a8fdb2c74d0da0764c66022647abef6b51accf414e36d55313acb3343b830a183e90ae30291f92833401d72a9211255b3e93302510261243750930934aa0f5678f1c6b48dae96a201f1b9d5a45d367a67baa789fc5eaa2753e3bd98bf8e54a9c627232518130c1e0328cd6b8e93c1f3605a55caaf62c5d4525275ae72594c562c265c7af5890229011496a9ab9492fba85a228c9e253b4d6cbe2e2ac2bbbd65ca3a374edf27e21b802959467d69e954051414dbb0f5229ba8eca045a08dda4420d714a49ab16d7620737c038457aa13c41935803531ae52d3322667e511a6571217c77af226524b82755b27bd0ce1ed71459c90798472efbe5fd2367bb184f51a9c8ef48e52de1369f7412efd94926391b51f71d5ef8f7c84568e12cb2d558f8456d640a6322b4b092e530836b37b43c0548e1c10a83d371dd2b7116bad4083bd51bd53d825df5ec623930c48e0192792a7ccb2f02513225f703de4eb402993b2321468492b56311da1c0a4ea9a1fc43ea6313974eb71aa8c85ecde3a93e986ebda373937bed54e1a9fbed064cefc20f720c53ceb3294f05f85b9c317167814cb556d0297590c534dc6dc6751057e8f25a9b76224e2cb8480e9c07cd38955fb392e3d2bc2f6dd110bb7aa61dcd931516c9eb358ac6fade578d75069e7e9c27afe814ff1b8ca8976b413a1d460bf549501f7020a56186f5a9951d140c7b5dbf3101071d19eeac8b11d5bf82caeb20c5a4648f9862258036b237a7051c8c271cd2e46539af001ac116e137f9a041b95d8beac786e9853d3eed750e77664605f99509d78e0336f8fbb8fa9c0936c60e10e5f260eb415d4970f8890f1321ebeef80241668b90fd08f3bec953772b2849a9e2df24928901649aebb8d8e6717d9cd3fe013abd403cb6aee425cd0493b9d8d7eea42c1c37d2017f9978744ce217110a5b265465ed658f09a88f60828b9b213dbc306bd38ebd388152b80cdc8c59fea0e58b20f6877c2bdb55e46b11e7091915dae1140292687d61a678ec4228144d6b00ab0c5b890cd1f226b37a78a6724f6842d37cc33aed99e0ab94ca4d7efeee41cae5b153cb47242b01bdf9d1176cb7728a5790c8a3a3a5438c34da48f4e58eee2da9987f9ebdfa2bfdfdcefb4a12732203396cf53ba73a4e2cd9982a017a0ad7d783faf460381d39df77ea455689d0073cd13d5c20ef5d82ee8230ddc99b971fb6f983c910853aff4276b20361424a1de40c5d8009266f9465490ae4be1bb6772c74e66edca73ab16ce498d579d0a985e71b09c14a4f4e83b990fc0fc6fbc39dafc302a876b54324edb85e700839058744d87f9b777c4dab82d7e8ce876bef5277551ea16681d3b5b311efef8f8cdd9f73ca4cf4d688f0dd532c2f92c4ba0b13d76b7f35b317001e415efb9e5411f3899db42e354e76b2790add242fdc489b8fd90309724c616d6c7d532ab2d682b5adba062b8f05e931c5c231822184ea4a15518c3427a07e3b1103b3ccd131ca7e9051a74128bd93e7f92750a25e9d8cb5e35a998c945cf18670ef55dcbb32266f90c431f763eb3a77f21cf12c1812fe3c33b6a22e1d7b0dbffc1b3d136b2b5458345f84c6b7412a88735176f5fdbe558c8221dee00abc02ed518c547b6cb9609bad758d42ad701d768d985fd65c5f1100d9068085cd446b827b94a362f4c17dc63bad2fbb6c68a23ed4f002d6ef331f6c0380bdf884890b2d053585ad433fcb9d359e6f7efd8b783b2725e20d98e9e94006e09eb387d0e2228ac21ad25f0c40a22346501f86e7fd7ac9b05d1cd692acba7d661436234aee982451cfb40e2cff4323a5e060f8c3cafe54f77d15feea9558fc72601c14878e7e4a0c682b438f8cf8938a94c497b9d64f6ab9ac169a77313a7858ae91e8b40b6349d39853c67c027ab4f1480f200522894ac7497641fec27593dc597cafffd89a156a88c1054e7c95b5561edcf4430faba40af3c4e661d619fc96e68da504f8d058d69a7842ba2df2c23a150df931bef85df7d92ad05d1cbdd26b1f8980cb94bef24757e24fcad9631beb7ef411bee3ca3192046727b2175927d6a630551c7237bf166cbf0fcbb335a18bb2c00f80344f56c363927e83a323907613d9c279f35806973afa8e3f86bd051e1e310a3a95bdaad6cb75b826644cdab8e7d2481d3cdbeeddf7c14fe00f427f7662b8806a2fbb0c753366f38a9d129405dee7d4804cc2a089d53b6da0183c0a3428b50cd5a7bf0641e53395d7754ab811a691eac0363f1fa7498b4d6c3e76f5b3aa11682653936da096ad628b878dcbbaedf66e86314343dcacfb5e6380138f949ebbce5d3b5103e352d53b7214d130423880b8eb1c6df97ec6afaa8ca58f6432f790eb42b6026238befb0593b3ee56778a639abebb927032f83bef0a3acfacadeef227ccce54867d22b6d07cb3941a9b12fbe5d4a74c1d503c7b38ea7ca9025a95588c9367b2bb4ea25639b9180ccb3866f1ea3ee6885d436c3dbfe9cf7e07e73b271051c5aedd52e1931a9140900bb191c6a92755c7c0e14928c36457e8d983cc6e907fa3a324cf02962ef929a76c971513e04e49539dedca49c9acca050534827010e0c91c9f979da46212bbdb88f51a2ea41aa43a671a2e3fba0761475e49d6db79cbf8da6321c4ca1a260e1aafbcafc9246b932b67672a9d45991b30d1d3da464cf93813ae7c805fce57579a9a2af1b8f6231bb129a3ac989c74f4b969ec52362d349ac03366708d3edd145b0ccc8fb79038d388c4258afbb95a8f5329c5c70f55a87a55daf5d467e145459ff26f625bab1f2a95a6209434f4dc76bf3edafb7f470f2ecd5baa29216ebf3aa8ad450def055c5da10d9e535676cd35e68aebec985e797463e4fc1e726be4513e7fe6d3f882848a779ada638119c1e2a4ebadad12598c3abf0f62155d68c0827fbab738c32dded40136d756fbe24edeedbc5003bfe9a60cad66ca1bce1c44c0ed3b2244ba6c3fc518b5410c93cb25de6b038496c4ce240b8abda60b98f625cff74c5ac30012c01ecab907066258ab21fa47d0f6272e5d95d6fb14cfda4fa8a0e968a7e93d95a700fb9becf00de55341a374b5ca4c0bd5bd347000affe692330c8e83eb221b71dab0d6634885cbf84b73620c10ef7ff5179e016ba2f1fc233a947a04e4e6e01e2f7460f205180e61ab827bcaa5302ef96b2478c5288e7a9a8e6a55f6945e549ab936a85015585ac035c9c10bf355426943e91df845290257f2c66731ebc1e5ade124a1b6373c0c13dfbb71a8baf87c3767dc06c10847b64011a673179327ad4526340988212e754596f16c2ac7c071c177ed15c5b0fac66576c9f3300654d1c0b2e835fb22f840e8268525548334ae9a0fa5537b1bb1500a564b131cd47009ece8940a1b6922881ee34f2008902879f256f02bdfd043d42bc19576ad78e2d2e9662be15e77c56e4818214e5c036f6d690ce23ffcb","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xaa2edd375c5a0fc0462ca3f5bd84d06f243f9ed6bbb1d0dfb99b7435e51e7406","signature":"0xe5d6acdc6f89097af0c512f4f8ae53e06e3a8c35a5246387d4e2a783baa3c1351ff7d6f175412e68f170157365edf2c68e43eb9e8ee6389cee89970462c288603e35052af3d2ade04e825e974d588dcb83c7fae3425366a07a5fa828d2c43f214769c077c53fbd5b622fc728e54c06157e6687db42eeee660adbd369cee507d757f7751c2bb6f29eb5cb28f7c0c8370f73de7a77c052dbc0f4ac0326be2635029fbae03eb9d99ef92e9e5a1fa1ceea1d94a7058fc4b4685bb37fea2eb368a1d43dfb1097856d9ef82ba30da2d5fc5dac66afb7a6dcb12d29ddc2a28903c0a1941ab6c17108be743e22fb6ffe4f3aefeba010191682c82e9849f933fa00518e09459cf54bd4e967e050cfce465de644a675daca280c469b601884000e7e6e2c4eb812474785bd1893776a27a44987913bf269c2195e248679f78d8ee7c0b5462c2e0ce2341f4ce9faf63ff13956534ad92ddd9230fc275c365f9157155bed16d758e2494dd89725a9939d0c73f1931381d82d21e09fc2ac68b857c2d3a9e648ae41ae31b092fe28f505bee19fe6fc5bf19193e933ff16e38b7e6aa0c8d3bc3629e8d710394fe9351e75f2807d750f87675de3dc59681bd213ae2e026b22d5219a35d4f3f308e36ff5bf5bd76aaf5cf3830eee5718134c6aa90652c1c1ea625bb1a8ff871ef80bf9f3221dc2fb4cb7f6f5e17b8e4193287b803e1baf50beb4d9b2b9fe306012fe06a8497c90604312592755e0ba5e9792c4307da947c6237a604951205f871e45f52974f95cdcb4d960f56f0b79297157f529bb63bf9882962946f7a7b38314f2e32b08c9af4d979c70e083ab8d630d34d95baf072f88d98b17eb3e2950a9a5b885b609a1e83a207122d1722dba42da1bddbab3236f1387c4863ed76ef7a3ac0ce5a94eab5bfff04d4c9fba8fd89a69a2b3ebe3515d596468fe30ed1529e545a047286cb1cc2bd680fd87bd7d9ae6905e822f956136b1b23757ec8be66c059222924a24dfba74954ad71bead89e6ac6313bfb48a0c273200f207aa9c6e7d3034eca6c6c1278a1307c0332ed5f1c84baff91f2bd132e88150e30309dd16eda7d1c62582011b40cdd5d67306d433d8e4861d3c0b0ccd191be143c6ff0a5cfa6a10079736251cb900df9894c3a2da58966e845c696626c6a6619d28bea4afb4b0ddd205a75b239eb07361890509b76aa21606418f496c1cd53673e10c4b40c07a6b6694fe6e4bc47d50c37148105e911778137acdaf9a915ed2e847d9ef187f0fdbf31936c03f431480b148c2a8f38762cf821f9d27ec743522eb58d31970f82e86d646a992a99ec914042abc5a7b004b63fa042cc9d28678f7b83e3b738f72644921a0facb86d7a7f357c6c857d506b6a549f9316174ea53e3a5e02b21c85e8bbbe1d23faff12bcbcbf385a1ddf96abc7c74e26dcf9f3094cafa1d93bafe3fe49a619e6ba9e1642ef878909fa02d456fcceba67b0de3c2fb9aa3fcd47b4b961b3698a534f7ef83c678d945fb7280955ba96bb6c0253c89e6c6c98aabc2a2ec40a878c7cf3467a12e60adb6aa7308e10465ebace263d0955e3d99b2dc8d83dd8ef0d8b1b985fea2a1754a45a1923fd2d4310e7cd996bc3be20fc419eec095912550ef2aef1532a8ed9eddd555f30760df3a1944d2483b4de489b9b303f027f7b7e78786600b331185a9d5ae5ecefe0f1c8460810df5380708cb30168b5cd863170ea3e1105fff48687d57f18b15a6efc43430644bae9c6eea5df21d1c1f11d0ac87554549a5a9d6773e890054ad20cbdba104cd6ef117e133ae78f5ae06ba5f7774edef882b8e29f61be8b470f7ef95078d7cdb6a3f7033e0abf8ac02ee7c15169ee4603b791461cb954335afa3a7d881a276b9c44e7d18f4f02a87caf78aeeeaf89db2f8d8d789b1f5c074c08a8d2613ece38ff1c19b2a25f75b2adca52d92041fa405020885134ad2723d0548775a95f262d9a262f75290fc301191d462bcc6360ce68d4af804e62b4c65db39b3d9692db0ad58360bf726b532d5805c39f57db15d8f25974b84d850c8f0f229b05ee677e026fb192304dd4a3c20a2cc428b6ca9cea99078bb458a1a4c962e3cea809a69275a115657b123c2bc688284fd9e1673af191645dd8d311b6849d1d69b270fbf6c3ec3d05b286174adf02fdf29f5d984e201c599fb0192e94dd18bc156c4003b9ffa9ee18e9f5afd6119a86bb90709d5b04ed181582b13787d9bce8d9c15990628848e64f52e9a6115b2aa9b5e149130d259cd4f0206eea7a18f2cfacb81c63adf1edfeb05a1f8c941d178ac47ec1b6d9384027500e0cabf02bddda12d8dc79e1b1d899fe5de05712902b9b82de4c3f3378d31146371ec62da9cfcc68037ba936d504e28cdca4abc0e9a671d3c91d50f0771efa312ac37b0642fccb5d6978746b29293489c3a8f770706700c1bb00eb3e4cc98c6885fe5e53f8c146a9971959474b700b8ac3af8209f86204ad6d2b1a9f6b1a06103b3d725d17f690c6ed1d052a2d2a8191f0fa89be02ca9fd63fdcc70c1d68ac912e6819f44a6429718a88e065e5d6b85b6b3bd69e081fd4bc42e9cce583cde367c7b26182c88ca8e1d57b93c41302547ec1687ea5d3b27492f005ca978311fdf6180b5d3749d19e8cc85a80e713f68e7c8a77d227963c21e88e8b4945d41769a7815b807a53bbb2b5d44083bacf5a1dac434807fbbf8dc37e1e46f685fa5ef1d2bbcb94680ebfd93386d3da69bff7663e9c310ad856ae1ffa7e9673db2a53e8fa8089c3938916c387d877cd89de30420a7eeb0a929b5b2a624ce53388045690fbbb704fcfa4767ad83baa87172d498f98fca357f8b15c3d392d3dd66b5f4f6f97f7ce72768d890310903a7ea155f05d0d8745ad9afc5632f0317a2c9bca0a95eddf878987cdacc594d5fd291792ced50ef8300ecaf942c61a00cc512d14b7f16c60ca9951d12d41810243600f8361b6ebdbc4982003015ed33d999558ff88b2e4f3aab4805e8ab9f9023912acd740bd10d7f08af43a744ee24cb234f5e69a8280b31c903017ac6dd85bcdfd4d2b5067a6294bf1264a237caed5cbb84435e1a13f4b9a3d465ba62fe5cfbe7d6a895a2f7140d7179742fefddd571fd91cc614fb8dfdc00693728bb83c73e72fe0cdd8aa33e83ec75342c5004ba81f1d21c53d1530ed5acfcd579ca2597c7ee34305e731392b6ebdde2ff386d5e90f11448071000ec95bf90578ed5fa6a4e922ef4586d84015e387426b7191ea07499abf82009913351fb561d20f12d3483257ae4c57d33bd252a39c876e69cfa6f5d4787433575c5e1dc4887be39edaa2b6dfea20a1cd2f87407216fd1bb40de03594bb43e9286760f230d94518f9f4797e6e9beebe97a6cb70a94c66890d8ed2549522cedc61b61f81150d6b63b0fa04d2a10f6cb4972ee3b78ba08a91b890256ebe76f3f5a4603c0c35fd095242dacdfd355bb7925b384b2e0f42103b4a97ebb06b4a0898cf8b6fe56ace19f0b3eb7db4e2b5c6fd123bfc005e27457c4b6c3eafffecaf8556985d3d8df0347d675c6e8df4a811af95884a6d2575506ce7c89476c02bf8ec96a19eec25236282358b8de0a5d3027634278d6318a1a0d29dcf1b8cff748d42c8c6ba73da7475c8023e8e9c40de42f059750b51fc196ed7b80c4498cb24744a1bcab0933195cd51d1870e18967636d0a8a238e9a9a1cbdd101618a5b1b32b0d9d95df0c6007c2bae84594b621bc19810c016a74b97fc034bd5cbbc5baec5be84c5a2e96ca31275d452d1e81254a0cc52e26a0309be038c35d02afb588161ace1f94ad7f4fa3b7bd41fc2905e73d56309634bf2b49f34b5fdcc68f07a9fc22a497c4394a22365d0c047113fce72e7f135c68b4cf8280c090dc635d02c1b386c32fae13cbdbb22cf39e3d70c1a31654fe03f63b218b42bbfae9aaa4944dbb9f6e9f8fa7477c99ae026cda50e89b52ce064db4f57a2150adc13b667f5d469f48916f0e06667ae4dba4b17033f1a1e8b6ce8a7beedceede0dc974418964ef5f7cd904af87ce996baca0492459775be9ddf7b12fd18704ed28f5a5b6a4efdcbbee1b206384b36be00b9ee1ec50cc6f55d8f30dc4202c99f8a8b56f665ee43d87284766f54c0d9053e19ca949547271a17ca546542f2ab236f5a66fd554d4f0be1925c69d6dea46b525fb8f990a252341d043da019314fe58143a9d2b9f4fb6d010e0dfe371c6c24be941908c3ff87c9e7adf3cbe0aee7814a1efd10908db1a624cf8a98792986fbbe1ec69a5495139ec91866d1ef46ee15b657072a614a71fb69ec2e3cd35fd3ec5db27bdd826cbd7785914f8230cd43b3049b149dc4f7b861f9517be913d3b11b358be3d8e42baa9ba658ed38551d2f8590a5662fad30e63be3c55f686bf32e8cc0324c21ce54756d2e7ccbf859ec60112c302bf769c2088c38fe550a9b76be7a2cfdfe480efd5ff0a03c97470fb07d8b795301d9f8f3ae7c42db4f1062b99118af7fe47954e1f0478064441c2447cab071b203aa2a7a8fbad4ccdb4b4db128a25ae481e50d347965edd6c1ec59994a369ea7d5030c4f18ce91a0ef979772bf8884ebf334317603bb685f86386320c013c5058f351896c4f91244d47d633f7e45105cf45b21d3bc3ca65de9ffde825c852ab3dd11baaeba6a3f24eaded1edb5dd2da095ad6bb7efaba9c0bf7ab1a0ade47724b851fa25e23079744e275d0a4c94485de45dd1177294fc0b047d5b39c0a3c58d3ce4b93348ba4adfcb2ee3433e4ccc8ecee92e6d35797f3d5c21241799373bee57471f063991f77272390d3bbd8b19066c199f8f562e6970a6cc8a40410c08f0aa76dc3625999f78a51c8f2bfb82a2f1ca7a8afa33fb32d76c63a5970f408ed19491ec4ae477d1bd2062508f2020b983ccaa5a644d522d951ed047f030a2a0ea3ef44caa82331c29c9e771577961fef8386ff57e45d593ed1c54f8f99c7f239972adb85737ee222fd202da9aad2b22cb78075ccae1be19b7b8597506fa0fe43f9748e6273511fc8ca2e74fa236a777e3ecadfdf6a9601ae0d2999fca47380922bb9687be5c7f722cf3a4ed641a238c5958d7b4b7266f6aec3524c549ad27200b20809c0623c5988b58479a5f4baac115384a33e61089a9eeaa3824e3c1fe3d3552540cffdc5f83a454303712bbf43a1f8a52109442b8ba9c7e239690a6905814f40a4cf3f2e55fb3179ca057c94fe5ef0a8d3b3dc968df5d53f87b0dd52c9bc7a09f88444c99ae3cfe109a5c4450a9f4b9e195ad02a5cd43676a518d3a3ce6312e64cc1bca898b0b96b433fd87d75a9a2187494272a55a3a5f909b3187db063ae2b293cc2a6e498dbb7182e4aef87a00520fb53170dfdb8f12991eeae012e54ca18320bbc29f705ad656ddcc14621c3c0f14d859a0c8ce158c6cc82141741286557c7ec24747940bc0ba76dd651d14876d12b405b4c29b7089c7467695009435a1336032b358025a072b21cc492ec5c1913b62c25a4f57dbda65f356e290c6f492a1d5ecbbbfaa3bc724c8e485536ea4c50f0263c15347a9c83af88e811423a5901e54d9f7157bd250b29c64a718fcf3739dbb07cd9c821fff1e7de4e9349e36d6c7bd87413c3aa465e26a78706b403733ba923471adbace6417f827d843eaa20a1917bf554fd3fbad38843c98bd38ebcf347500659486a2dc289a53d510bb593bc3ec4d706d1270740928beb1f5ce0bc6da74ecc85ff99d08c2fa3dc57fbc08ebc89e1a4ca8aa774ff5afd36491b44d7788e4365503d6f57279b1b188f73c6ecdc352bdcc2d6cd4050747f0693498d877dda430bb2ad768cd2cd2df946a45d10ce962be13df61f27e7be0605b91db3def8460bbd0f59080e26e7549c1425c1e9997dab3d008fe4eeffe5f10b043d5167e97ba138fdcb272668fe4f323599ff80e4f1de801067ec25cf750aaac0a2be6bb1cca928da3e2dbe2fec139de21a0cb9ac1623dc96584ea7e676d8149c621f6a9e4b86393a52e863439926a0d1558ac400806394a6e5b5f78a4eaaba29eb9734d110b4e0fbc3ab1ac746ca9d5435da6b1782577aa2908f189a187e0de792b5fd96270f4949bb350f5a717186a932f3ae4d6ca37026e0287d138dffb00b359fb2bb9d84010febd2c6c826cef3fd7fcc495c5ae3adcb22ed21582b1827c9184c8744b876259ecf01385dfe6f5292af1b55df812e90519e50577ae4b0357b8d208429532964dd7d79741ca6f226deda22bc7c7562c3adff480da07e0157a76c3a1716dcf319654046f478defd751ada9ca203372572f6857f48374d83b5f28329e03fa0c3d2e7d2c73b54256f285b88989a8bd85f132b0761481d420cdd1fd4776e6e28f9439b67ad6bc09484650230023134b79f4523a86e399b1cd213fda14321a97fa1a579e223396aaea9ad1435c30627282c778fc4ca0625305e7f8da2d01188d30708367ecc010a26666d6f969ca8b3474872a3242b69c5eff0000e32516077888e91c4ce000000000000000000000000000000000000000000070f121721252b36","message_root":"0x59c5033b9b3c0bdd855c0ac3ccfcc1360f05e749224ec35f5140663eb911719c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x0112e3c28c2646efc3b661a866ee29f12f648dbcedf4d2fd4951a084d5f8678228b72a11fba2b19dd3e021ffab7ace56c926ec13fb73fb99b079defba72be144b6947a1936133c511bf1651d881320febce1496b7865f5695535450e45ed1db355d41e97be1179d9b6e6cdfe0027dfdc3849f7e18e735b1d2d329b2dca2923467aac3508d69be8377d394ec7dcbafae21c6f73cde6046ae2d6aa71d827d133cd8b5ec90dc2847fb584cf4a79a29d285d509e91d219c16f4ba297e0d9c0a62f94d5de5112dc602ddf7079a02213f14e578899da478b0c201ece163f0a16e5dc1bdac9c0523cd92c56f2621371d27b693c4f9b57152b98ca802c34d00506d249fb3e6e44f57079619f9efdd2dbd3628409be6e83351b506338c39704c5888ac44fced1ffa785c99c988c4c7a4dc76d0c060e0691002ca64012ede2cfbeb8dca20c72f795017f96d9aa4fc00b24064b784e1ec8cab375e4cb296a8aa7765ebe4762399d912a297fd0b67e50005b93be401a2a6495eb4d4024726e3c6c8b2853158c7b5b505a14ceab72750aceb21fbec930703adb1ff11f4eaaf754f9c6c2287afe714a2ca03a5ec1dbf5806ea30e04caf872afd4d5916b9471551e5c56fea483b17d73ee0063b064a830600dc100d5f69b5bc72457efce4752756511184e07798e05e6017a087dc3b72c93f9ded43da75757e94e07e8001c73b675f784dfa2118edd4639ed7e3bc41a1d52222bf3f92438b83daf2cd2ffa890533be253e06bce57f4f01326dabeb34e3bb3fc3da41c43eac614e5afb7d5f248112e9a4f82962954fa344eff4ad10177d35dd4131982210acc69e98ef6ea238ef6b790a627459a9896389c2ed0e98f21bc5417a74f3cc9bda948b485dc975f5c3e8726d6fca1f7452ca815e75563993deb6ae1d5a13b141048efa7edb00935e8e3bbe829b0193c83018d4d01a4cedd45d0434b5aceaedd595de9509b1886d3429428f21996318226e4a2fdc5b3a18590cd8664068d747fdbb4ef1aff32858c90812187aee99fc6fd4245c3bbc0323de80e2164235133cca13fd2952740e4665ec669bc4d30f96c2f893167fba0f5d81e5eeb5c9fae6f39c935072cfc8bc8c25b514c1dae507af2f10a9772c34f9f3ed77a5382b3d00b12055e25e87119241e6b1a5e428e6229fcd5a0c8ba3b227d113594a878e034b7ed3572eabbcc77b0f0ff366af27568eb23470883284bb048feb48f790efd942c4f0a0cc29959fc8be4bdb1a4a3b22f21e80c625f4c4acf4bc8768cc92e9a8982499b505387abdae4b6d08ee0043da6277346c18db24c7c41f8c48ecdef791b130504c05de577634fcd9822a9afbebd88845c140bca0afef6e13a15ee9f2d90af2e82b88c859048f593873215e98b1a8c174277980203fbdc487b1f18127adaf5b9ef818e8d087e4c698448edaea5d948364d748c5b3d2adca1e7b38b609cae235161c803e1f554da4efc35277f3b08f092d64ca544b7a8fce5de5c04b2d998637ef437073a16b9b00658060b315e0291131037bf44d4f344eae19ff4c67bc1376a7a431877cd18b282c9142f0260ba36d91d96dcc194d1b6b26d9201ea70e067837d261bc3e94d6ebdf321d9677b7b89e4691916af644cf46da23d087ccc57846823f5092e41fd3c1a3e934f61823bcf58789eed993e42c4e894a34deec31d26df4e0dfc26cad0aa33dad80b258d539c6a11782aef1f6d9ab95af93d2fff959b7c07567dbd5ebb5e6bd52373e3bdc6bd5dd359add44e6a801ff20e3069a0ffe5e70f8abb38e27ff8ac387a1dfc7a250345a694b0acb6f5081ccbea88d4e88315845f77532d303fc5d077e66610c7fed5d3bce29c0a5608bf71382b4aa670769eca61196aeb81231494ddb0aeaec3e6e4306ac31bf2f472152f8d4d93542e5ca12982e8bc9ce612f7a9b6e8f23758a38e382a03a527f61a04d36892b0677d0abd3d481310cf5b71bbc6411526a35b4be18824473c66f949e1e067c9b46442ee9f1c9415e45a6a1041cb334ef8577936d9f0cbe0596ae1c1901ab603b3b6fda36365e732a908fc234a2226c306f33d80ea296ce2c5c6a2200810423e76653f1c101446f269a2ece2dd3d4da2f100983b79d488388ef93f81ccfa63a22498a4fc381b66c0021777ef361bd0e4f0c3908277b8e6598f44847266b50e3bea08b56a8f25192018b961ee5e409ddc7af7a2b86fa9d2a76b998d2214e6b75ac104541f72bff0f477710d5a301825ba5b71d47374c176b4e0f60a23d36493f7d1221ae7a925651e43a9098245eb4bb4cf9dcfcb14c0be8f3eced68b059b08f9ae2ff41be423f650bb7035d7b7bab0accfbb2a37826580f25f1072654e4e36f806ec5c527ea77cd6b3d5df7e7acbc370b75c00429994608c082ae54cec4b78ddf0831f8d95483b67e2e77059f8f263104c0252a38da1c1bdccb8f772af710b91f1e596b332e4375c3a82e05795cd48f2d1adafa8638afe86baef576ede38e51e2e9249029fcb921bdbec145621663cabe04e7915fad52fac918e304309d40a22c25a83f4c0b3b755248af1b0e294ca214fdc05d4648685e3a6616bc0ef5291b07ec3022a39db1ab8c889d02925128dd6469f1b8e86ead2e4313da33bba9506dffd3ababfd8adbe826723a7eca818dbe08d00c6745523c91cb60486b2a4e214fe4d497ca5e09021a3b7dbdb4df82e7fb78f0b8ac0a726fb3967037c639821c8cab4234e8819ce40dd4220d2b370d20ee30a25d60a8cdb83a16aa1907b601d9bd52dfb130fb33cdcd9576255afa03b6b980968a1228f70ab6c26b5c0edc76fb27f862e2b461b53ffefe75783006c96ebd7181554bb16e8888e5aa64357796d2f0221cad01d94525aef6d8e6e916ca1eba706be0d751df33b232529e56564c6873d90ee52ab6f96103762e6bced287022a5c5d144fce76a078f7b008004a2a434cdf1bd3a34fbdc9b1d6164d8802f9cae1be09fe3f2cb63a1dec309327808d8824c2de8d4dde4fa32a90ebbc1e4b51339a29671e4f034eaca4e9e113d6ebbe7dfc04ae9a2d8b94e1b0943303a1f473772231993fb59975fe1a1be3c3be85d17e30bca9b01f7e89f08c0f5768d98d051c3ba5d262c681d0b63480ea1533211d897589147894c6ff0a117affe3e87b1a65b7e05050660f8d0808d08ff0b13bb3e1d1014ac8cd2b7e0dbdd43b2476719e9a578fbfdd24ec0754e4f89d485c540904f12a0a32218edd2b7ee80d1fe7fc8910ae7eb5b9c6c3c2bf70afe8a731a15332c54dd145f6798eedf4a54eee84227a5721124381ce1d9d0607b13197216b5abb4ab182f5fa15debcc1bf037129340cd51d53d04935f86ee4bff787057fe626f008163d3260d859dc087ca1d92bfb4d4f504235d47f8f8c430d2a0a6146f9a2904042f7d5c0bb672ee79cdd5d9aa47b7a15a9445a03fad8fb2357ecf17e39a98514fa88812c3894df4e4b624c1bfd5762e72b24b65a69e55831d4e884ae6438e717590ce9fd928d5e619fe557dc86b580ed0b89f5641a3695af47e2ec08a2eb10a8a20e6a290ae2e85edb3512a5b0030baec89a27fcc11a9619e8a549516b119da300958cec8c407931a49651fd2e8fe5e2e8ddef216f759b2b6fb523aa154ec1419b51463004e78b81c3ad4b074b7a38ccbf64680aa465718","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x8ccfd41c5416fca368890757f2723f69e62a8f3bd323032217a819c98f76d9af","signature":"0x86af113d9b87e87587f4d9c66dbcb8352071e05b3542556e6cc9920552bd66216f1659e8b3b2585b6870c4d638a37e5aaa2cd21a8201fc9e897a665a1cb188da5b20c965c62781452c6b72e41fb69bb7a1e089c5c80b8f3c84bcb583f01c9cf63bf9844ba844ce975107a6546b85724f6ecbbddbb981ccd06ad897cada139f5d2b5472dc607378d0cc7066bdc753b8122ab0738f4a29cce0dff29e0037800874711462a4207403a7951ff06942f19cd89a94edff7c96ea3ae2e04b59756bdd0877b2b62c24f4272399df64e500efae738fbba66d980e7f3da5e6e6536e4aba861336e8fb9124722f66e769a618a1b64a3d8966be81bbc9d0824253f8b632bbee181356d78f01eb91bb9600bc7033a2d4fb7996da270b511865f38cace94e9ce60b4423f0e53866ae9851ace8fddf1fbd7e94530b5a8c5d370349ecad968b49a29e9dfd00199578718b810a13557d51c7ccedfbef009acfdbfe9e7a7fcd19a1f98891926550ef96b157f4d4589ea7bdf9ccd6f9404979eec997d8debec8948a0bb431b669dc1740bd5f463d46ca55cbdda8750aef51af78ef75f712fc526151a1cfdd8edf1e74a8724a50f3630b0b35435c2e68f1c8d52d8b3e38b01073ea2c8cb31dc2551b959ca442ca27dd638f635bc809cf79c28dec92cf824df59bb9a71af5c5dbbabe610c1b2b68895d974b6e0a37d5f5e13a423992c350ff61fc55c1cc8804988671bdc199afc44717de93494800f71ea469b4eed93eda466d0bbe8602b8f495b969fc98a1c396e1e11661dae8874ec7c969ce67b40e15c7e4b18f0ff631831abace086d5ac628b9c361a369314361e447c596056a2a6de0876f83ba78ffd8dfe4d524fcbf3329cdcfb422fc91b5fcecb7b62382f2ed6b9b1da2b3fcacc2a097d40085baa76a75f319de386b6578d3558d4b3ba95456fd86f257504e60fbb432063709d9aab8a7400c5afa91174d6d257ab3f94048c78540325dcaea3228d84087ac55fbafeaa9ec75da5f3c6579f230abe7b1dedc76f74eb8c1540800fd0bfa2b21c037ad76ce16e8851e7974f9974a85e05ea6617fa042e890e941d794cd456378e05208125671707e076f6f594eebbffa05f8c1ebc628390d47bd4d6050ad19e05a0e14d43e77dfb6f8b2d92bd3c745ab4b61a5c44bf498739b319cfa3a3b25e1f3b0ae32b73d6bc766b74d40cb4b165ec3305fa23560d680fe87c9d0f8889c4fbc636e26951671e5ac5dbd9c3f8c08dd20603095c9213189c7c4f306abfc2f2bc10e1475f0d359b5ca1efecbdaba58005675475d9b69f0682424966de263d0ea24ab9491f451e6dd3fcb439785455f4e2a70d8db6b4c119b69660b043c59d2f5e089f30f4c4ff0d47494d7d3dcaccea53a96a89004592fd14208de666352b5c7aeb67c2290587d66f7427aa46e5645a8d31529bd063c0f57fed6fb11967525f6c4162cac549bb7556c080a5fea6c166ac098cabe20dc7ab50a239fb6aa0db9fc24b8a7a9d2e9abc652e0837ed5b5b23e8bd05f92840523777753a4b04477476d1450b1cabff975e99f55ea544f4b86345dc89eb49985dfbcff329b0bc61221ec0d239fd69b726f6972ec6c5d0db9a6603dbaa11ac2f632c0ff78db2bc2d0e6f2de2501028161682a326dcea9decf1d01e4058a900314081e9bfa0a78fd24a9dbefd2489cc84a680ac93827c016d476e4b677e24147de41f722e73ace0c8852a4e60c6bc8130b2ce6c5151b96228d15a7f767234c0911b9a4975ed08f57eac401f81045a318e0184c42436b9f348d53eed613c606a518df0530c962e3e8ab0adb7a0b6ddf04044f980f649840ee763c48cf3c5db8ab71f73098fd8d161a2f8a7dd0a9ac5ac8923686a14e8942c7b8077271f1a2a0e844ca7c6201ec799b62be5ef51e7f80b5a427fac27783f3403be687614f3e9475b558c0a5a58b3c0e2a646d54bd0938aa7b4f7c9c7b6be9f6e79367ee27748c8629ae424276e757c3a355124c0c1b75b12d57f062dbdb5055219637500ef4baa8afb64d38467e1b9c2b4ca05062152cfe631aef30480c6c88b816126e6e0e36af77ac6937c1b57009ef220e144ebb84d5795071142db8866e4013f95d06ddd7ff7a5ca6007edabbc0c0217f4ca863dce5db539887b520d0ec3e006c55e55653ba741d49da9bb3e6ea723920e1d9758aa96d6ebef3160c25b4f39138633e923f4af6b696a154339b66ac308471fab71d05c3d0775dd3132fc4945b78f4c071d1215cf8ef3c8f4a470907830ec1e4c6059691d6fd2717903ba111667fa0cb23b38b7ae6b77c2b42c57439866ba936c76275f8d5a9e16b5d1e2fee6cf391c6635b9d84e84ccd96281cffc022ceb9e889150fe0c5b179606cc797de1de2696c0da416fce38290d16fe64537ab836f5a6df73960ee7dc08b9b3957631ec8d8e1a86b4831eb32076e4e742cb6ee6126d6dba1585338e3f9677f44b0bf8e9e35555caff0e08fc871ab37aa7c0154723a420a326a3eec2d8aae4c6c39d9ab6ec7379e318dbe736e31171588331bf3fb6290737ebcc628c87db84d9d727283e1c13a6a89eeab6963a33ab1ff5d8516cf315dbd551b2ed5e63db72c02891473a13e6e68cce73e13f769daa60b208a8fbb7f29c856b5a4c30816bb1cb6da070e71c9106b46a32e6a898e53d7dd1cd024b7f1cd60aee327b57276c882c4f87d19a39f095e53fd5e98c708e89d857cb295c40206aff1b6909cab2d0fa98bfe1812d00f1b437efcae4e6c5dae2c04d4df9d9ed66d9d3a232ecea3b8e2e15b85499f6132ac438a1b55c157a6a9fbda74f0c7e837b2ac6da2057ff66b4cec44e93cda59f1d74e4d338e22aa905ddd5b512479f4cf026de96f68b1a497396882e0441a55dc912b58277733eff73fc9812fe8c4fdaf568060ee5fcd20f824e78f00b6101f1ec17d33ff572fe5b1df10cfb3525b2e2951e5961b03bb1daab38c933f39729703b68fef07038bef90425579ddce2cfc1eb905d04e23c73b254833fe776f20154c5a11f6e6d179f33c62f04d71bda0942aca8eac550514702ea58f3cedd029806261ac9ccd8b2a57567a2a97d1e6edef7915d82828d34b0b13e4efc4675f26814e8b4da5fd13bd4a1f8416d5ff84e0bbc18680db456f38faa57d6f39fca64168fea0cce2dc410c531b20509a727aa0ce697c6527ad7d5d1d1c19a0f45c0ded3a4b08cdc0af63293f610587eefd1abae59a8e6b7617c8c3767afbaa2673d94837d159b4fc15032fba5845509445df88735bdafe151798c05bbbc042e15f1d7e711e0c8b5ec8db82da52aca307754f60cee6c197df252df975923cd0ce3e72aed3352a7c1f453fa26d4e8de5f8f44330ce03b24a8ae269d8ec03eb7cd16fdde8dda85897835657f5d7fb13b5659f2849140e8e49f9d2c51b93a805c26442d0643688121e5806cecddec0e315819940a427245a32ceca7053d3ec03572bf146c47ecf8db176bb9bfa909021d55a22481c622354e8b04de3bff8d5702a7aa367939744f154d2819a47cd92c91586709c73227c013463eb851c911c9e4742b3f87fd4f78dc0b15c307387a0f8a4279caad347ae68f29aac0be909bda51299c2d245c8731802d9b9d900d70844ad1a54c4cf896492d5b6bccda2f1f84ae6209480871c086cfa092f000f70150443a779973a011f1081971e5428d4d07e81712c8fdc7a4b785274e988f74daad09777b9909811b607bae7f0262e0af8c0b2430d903092e1ea39a3257342a0001ec86b47eed4a64b5a37a798466c0f8a1bef1e05e9f2f24c6f44f199e5a98b19b8004b9222f1808fae57824d14728780b59bbf24bfb3755eebc03d233fdbf71d8af91528ae1115715288cbb97c12f6bf2bcb4668eb211179c2a1a86fe0d4cf3b5a146b97de88fe65ae8b399ca3f2552e7b1d8d445032ecad99dd4cb257ce2db7e1c716d019fce8e5e4471822a62110fd1fa23d731281246b8eb0486b6a2a9cf2868d65ab35828fb55fd0f697bcc80250c8a7c4f6133440243fedbeef5e42c7bd901424ba7e2365f969283e7971089f3cd7372c8816ede092978873b1f5ab574eae7fd52ff46828fa306f1b357823fe5277d09d2917d9521b79f062d12508a6411cf7606fbaf622c8c21923b202067ec1108c06d6a00f6c8f19411f8d479f4361b0672f1c53cc84240aa43ba2538f43dc70e160e55fccd1bf1ba17d798aecb0f44e56155063a0d33442f3df52731aef90d6eb497db0bb13d14abd5996fef095289c8a00775b2c09c236920cf41af399fd43eac5b6ce67e1450a2757e2953c864187ecc9bac6ccddc590e8ecc9cd2e44ba903053cb889d6fe1b77fd748d0bc7c42b2c53fad334d6fc70858b679bc58d57529e6cae502c5253e4f3559af44b095c716d17c00d1ab36e93184d9e8305c10b99f34e98ade0dfb60b14f6fa10cba15e6a85e09044534120182a9d7973c5c7b3869346c26b8d2de9c0d4839502ea5387bafe7e1909e15cffe2a53bb5231b08c93831fd5aef5bb859e8bb4ffc6236246a42c240cc303bdaeb52154883e791dc6331e39afcbbd6666d935061cc1eb6ae74de217f996813c9b4ec380b291a24dd65889b9174b02a89af92d63ce771e3cfe7f720b5e8daa0d616ea764e9dd4329b0db9ff66beafd474e8c16a5002ae50171849e5ca51dedd14426bfc52c6e8554574fd9b8a3266e3ceda3974b590791966117f502eded2fde0b6d9b66906cfb8bda15995a0e226997cc49760c6be4990d5b2db54e41605aff0da2b35c2158424272d8f271f30c7dd6cd14759d5191b94a81f881b347818b33d66fdc82e8a84438478affcfb8de30fddc41daea6b919d312faf22ca7af4874d3bcde8021b93b9142ec78aba7dd94bac9c178e9c5070f2594976d173c0a10d1d295f4e22aa01f79671b19c58d94749badc00c54551be0bf2721b1ae74bd8b0df6702da186321b2db65bf1179706f472a48744da264492bf5e8a31b46a6d7a7aaad355590ef0062a5a9b10a54df742b82f8b7d8ea1a3d47f4b0f0d139c41ffb808a32ee01880c6e6637827203a0e8662866d1c8bcccd036dc52b57b063031aac4f021a8afdfa72be284401b06646fad620a0db8967375987343460ebc2a7686d7d001dd92c48ef3417883e351027f66c283254de538ee8263b0d64677080a931cf71e8bf8bcf2eaeaed8a379ac0bbe13f27e40f61f59628cadbbdc138e4f22ce7032c5b2b125755e8da6a0ece8b45885d21c8bd3cc83995d2cd6709a4d6fe85d883fc30ea5cf1603dd4445ad9fb4596130be05ce7b7b9fa4fb1d0bef4db52a70516a1f890dbea916125c105e15e201985a590a47482a180b3d1d087e928e6359870d98e66f12a9261b027c858dbf5d9ab16a373db1999c300cd6d056754aff57c2a9853bbe90ccc5926efba5bdb02af7036c178446b0b704f5d2c41d8744665c2489c2bb4a4c81e332ed85131a0a61a8f5c3903405ec1c395cca9bf1084a52400985de3dddbf85dc5818fa5e8d7ed9113f65518afdbe23a73df3c2654c232dcef7eaea37d669f0caae0b6b93c4f6a949d6fd7a8d1861e520b85d818e2af7a8a4b3d69758d8fa906af0004c7244d6a62b44add3179dd6d9b27dbfdd26d7db3c39e1ea66c5040eee854bfc39627923b6913c3691972489f5bab917e6a6d9074ba4c035c886bc5831a8b25477765aa33c303166babdce51c41ee2218db8cf8a81a542003a156b64d12a998c92727636e79b09be1596b90dc0adc2216a0fec569e395f26f3c523e697c9030f779d129b9273fa593f69a555d79f018f3ea2994fd2342bb1b1fa2ad01f0e39df77f3b080195984650388e18d9bd2b5c79e974f53f53da32e12ec8d1e17678409c6baabe9186a3dd1b48bdfa668d601e9665f2d6dddddb4c984029de6b5d8de68f64d065dfa3eb3bc58a2e3c16a700dc7514c5394c9331830864969bc3c0a8e2d5852593cd9cd54c55bd34f1c748b01ca5f89d545dcbc56f592f1345ee322883093053ea7f8d2633559d5c9d69ec2eac26c733fddcfc6d60df19c65281187622332285d07d24e446b9dff1c748e4c635d5b1f27ba2201f01e8bd14b9f089ad88163e3de2444d47c05212a512d5aed59d1a39ecb060603eaae1fed28a7e97ee2d63abd00e4d43ce72d5ac1b2b012919bd6fc25898c243a2ac7343093687a9aa12e734bca3bbe752ab4bb6dcd89abaf590a581fdd83c726d97a09e47ec68522011142cd10c0285ba4207992a54f4058ce3bb5b70c12e765ceba5f97c22333cee9780136dfd3646c648b9cc3eaa1d51775e7e98fa2f15c49affc0d54ac73e02a9eb823790f6db88f960ffddfa20aa497406dd1c6676915b834e2d487f5a3a15be17c06e20b714c8271163130cfffd621244cc62267915fb20186442d05de7ebca84e3005aaad2a98efeb88d5cd1bd1d628b5fecc7123ca8acbfc6ef51566b709be8f5fc2c46597073b1134e838586b9c8d9f82d416d163ab3c33f49545a5e6a9cc7dadee43c3d5a70738cc4e800000000000000000000000000000000000000070f151e21253038","message_root":"0xdd590f697f543de8f0ae78ec7d1844e2b5f60e90e18f7b04d66b1bdef9e19f29","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x4f9a383fc29f4de94ea403728d42939832e885f09c1af9168befab5747666f54c61132fb3fb4ba8d4f39acc14ef7e7778be28bdbd1de54333fa1c629e2df1ac134dd584f7f13a39c876007b0ec2fcb1443f955631caf38b1af8e8ccb04f4a88450b332ff7118373d7c8ae60ca744037f5c6d732691cee0a84e7c6523ce5587078c6efeae9d8f80311ccc7a10a1a0ad1c76adad2d5efb49f2edc16d7eb0b4e8c8465fe9c0e5cc15e10b6082e7e9796f42ee66190e012335e3bd19a286a2e3e1bf327ec439e9004f057f0398154948ec8acf4cd866037054c9baf718ec17a95af69c13cc6d022fc4a46d4e016b1b47e1a936c8330d00152e5149fd1b8a49084295725df170f9d9c2275da27da0a31b2edf705f5888db95897ecf3e6e84046c706536e654dc0a18b42c0874a0fbf7330b030baa81b0185147f2bc55700ba684234d6cc1160805157d0ff687be3b459bdb6a762a22fa520c38328619919ce3260dff7b1d2be6be1de95e57b5ace50c1667a8540a73219f5a2e14fe4e47c12e0f8202b77d7d2a1ea08427ad734b90b6661c8b38d2371829f39e5f6571d0d47cb2d22df4deda4661598cf518ea688b532b74a0840e073a91be15caa8d8a68ff87c30fd3cf8ea082b2465185ae4380e291651d2f7053f58e2cb9a9b1189b9dcd13063d58bb6ef8698c4a519408d9ca907bfcc486b0d677927ae6c21cb7c351188a3ae23cd856e43c1ecb4f167ebb1a1453dccb183f1ce9c78785d07c12499d13cc67d05e88e1d7b6eebf1c10277a50ba8bbe87c3e3193c71811192e2135919a8478ec050637dc7fae21bc947eda9f5e48f4d62aae8e9bcbf50e2eb40982de2fd673b6e74dc3191d2abac92e6b6fd79516bb30d9be2b8a6b786d75787ee7b1d46918ea9c38a7d780746efeda0b9313db950b9636681c56a0d11d94222ab4d2860a6ae90e9c1287862da0fbe70a4f0dc3a45536f889db48ac30d1830189df90d1057dcae1dfe85184a2b1acb277d8e33e8a6cdbcb4fcfcc67d31a6518429f5da14920d9fab92c7305a54ec79c602a85bc69a3f03b037b948952d75b103d801ef72cfea03e9b1a1e593f22747591592ca5f0820bd2f170d003d7a95029905b596a7d701ea22791ac405ee67fa98203a82b478172631c1a3c6998bf50a9228500f7d3c6c5084f55255bb2b37be792cf9f14d3537f64e4db2aac194cb7ff537bff8630aa60281050839a8fffe542b8da12a62b59a0533d3fb40d47b024e2e9293be7a6cf0e0fa8b8ceac5829791ad687fffc8a082639ab864e2e1baf1637343f4709313efeec2ca8118a415a2b21b829cfc7e1de06f7efdfe475722df8b4c023c91ab61cdcc6b62dd84f9702442266887e6c6eea47a8683f00f53f66747994874a4b9c031a3e15be3f0654326d02eb7fcecebbdfa23409a54578b2b375ab2c2b2ab6215dfd526012a61c6e8c1efcdb799ed121285b068bc5df3b5da2f283291d906be6375337d6ac293da4080d98cda40dc1d8952fa0f46d20aead4e62d1d38c8517266c09a8ca004abc3ce997cda95d22c006bb5ba1ab52f140eceea293bfc669bb2d40b364b3902070d32776aacd62c8748926d088b31df11a09384f14479bd322b67cfea0f2cd47f11c98426abd8035c568092ae40b0f727190b09c78a3d70d3ecb2b319deaac491c8bd4defd15b78576899220918709ef4f02291e481bf03dc6e0bcf41db6c189a21f7d5a986f2de2cf1ce690c906582177911e90e7efddfaa1e10f9c041343765a884235efe2c8dc86bd81820d6d69c3fea40c6cac559bb5ac7bc039256cbd2217d16391b24897e8e4aa7e3b10a7dc76690fd1f50b31208b8d9f7663e66e4bd6d188edadd0231f5d11b3f57e8dc0c8ec3e8ce27cee4af2461d7ab0bb92c8cd67154c3bf9b13a54ff07d0006f9308d2b7cfb3e6595632376b3e8f6c625a8f7983fd2e98be9f9e3ad71d2da50b3d134858424968927efb5e30af6a62f6778d66e30146e9b7ad1ba68ffc5a2ed275148cfa1220645173152af1c485050a10a15b6a39ddad6fe8964d936f2af0aacf5c8c3e0450f311a8a310613ba38536a9c2353b3986c4ca6dcdb514fa38ad8e838f15bae410362b180325314ff8e4f4743c41c43c0723af85848d90e1a91c8bef99a2168e0136f69027249a1ca630ad2bfdfc78cb9b715acde503660bd8b976c244039db944b01f06a2f7f8693c7f8e9986d6b5bffeda646ef6c42da63af50bc4ed0ec493d836dfdc4813486fe0c0435fa8a5a8b546e1cbcf8ff414e88e5c6be9138751bf3ee86aa61a4739964c27655d92354a506a4400213fc78ed427e54500cd5895414843f7904b89362abcd25915e2cbf9aa53e303e90d06f1e0c77a7ac9a05e6858158f4a0aeed034456a0ab7df33ed9788c32cad312cc94758b25434627a61c6f418c06444069a398c40e3c7632f846ba11d25cdc79ea65a65554beada062aae0c0b6f05951765e4f13c621f5420256a30e7b8310d50d5f3fad27b4575725089031ce2a0943333469ff18f78a2ee15b346e6de6c75c28e9befc1ca8c772f791c98700168fef00102d7ac8a4eb3d9d6fae3e2d1ea2b866fdd47fa79bea18ab4d87042a955a84ce635585697fbd1144714a9ab9e89f7d26f7a1225168a3e544c90b80250e83377ca485c7ca07e75247b7af4ce69a600c60e0c292e0ad1532c4045f92d0068ccae5dce393fcc6e9204bf775c287d841fbc40215bf92251c83c80f993e25dfb5b52ca603443762a0715e76d5eaa4f33fd1d221808273bf759cefdee4a966c7a1691e9e6e1b4e7530d653ef3e30b12cd0e75291b742f5d3fa6dac45445d3885db02dab0ecc19cc80135eb2172e88705a7132ad3d3790ede74b0eb50479323cbdcfadbb49ab0e01f3fb628717cebf2cdb327381fa782e884d382c17b2d1bf9b8757c14511bd3aff82e1c2c7585394e4462939584233b6abef614f0384bd4a61facf4f68d27832f7b1152b14c91af72ff08df51594568e4da7c5cd8034b786fac313af9b319a775f4adde85d522fafb9af0f4344416a20b331d69eeeb38173e30fb2532acd3f8378f68a36bbb3d9c9aa7b6d8f3e6752b2b40b65fe1f2a0033df56a1fe86d741236dcb593a0b92bd3f76d39bd68a1649111eae3ef17343295b9968515575fc1db13d8918655d92a715b4198de9c80324f5ec9f631e0299870538ea87773ead8a7104c651660629eea27b6a1a9afad731a3c00b4ce05b80c02689701ccfc88517060a159b8179acbe52b9c9709646befc2b1637e464aba7d2fe24d6c6f09ae9a9d04389fd8d87812ff7bc6ce2edd59bed9346de44b8eb8c8ecefd070dad8e8610fbeab5cd51dbf4808e8e47fd4de335c3c57e06db02e2ded7bc65226191ea1837d9dcffedc76274049af15f7034a1a207aea9bc9e40d5d036b0d1baffed4d03a4fa3606b0e5a918035e4f7cbee79b417c5083a835c21d01b82dc0eda5bafa6fba4609d6a3f9019ce5ac7565b441262f7966990fbd0447bcef6886c1e48cc9120f1ef523e5aee62d45552262a72f854c331f938555658849fda3c719c2ff5ed906ea7670424c83b44c9ae4824ecd4a2aadf18494425261d68b3924e60429daa30ece6a5f1d328d640b5ec29e27a1eeef86a56ff62cdb24ef4bbe746a3b8ea9223b0800de1f","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xea3c70b034b36fad8ff5f2de9e53b3d14592bb850e3707e2b9b9f1e180adc2e0","signature":"0x68141b5fdac91cdfe9a9f9be506efed653400f7fd05d24a53069450a4050f9ff6f0830bc7ff88a00d35410450d55389086e788940ae275407345fd70f86c70c34aa3cb8deef230010b3900caea1978e4216b5ce264de56b9f01e67a98d2954e4fc44bb46a56ac62c10344dab1acd9fa7cf9b118cb911446347bb0f4c8c3abd99bb72c1eb7cf31f1132beaba0e530f8e4cbc93dcff72bcd785a5d8d6022cbaa79a240d689b881fc208e77f85e0bd555e8459f8c77e29625d6e141ebc55981bf73bbbfd95eed1c16cd9274e7625c1a3eaf1cdb250ffe16d8ad668ff67de35bab75f90b4a84040ea817e83b74ad145da89fe4be7fc6d376d6d97fe47f19c477ed9369a9a8ea4e8bac100c59b728693e69ff371dd443a0dee9fd42524530489b4f0313ccf6a35b0aa11278268f0af7b932ecab60a40ef44b6435b50f6451e1f150a7351a477a0ff00703659cbbf0170bcbd22c8623583892d4f3fcd8c7aaccf982b7d23dab7696bb253615170de984985735275691167f26dfd45e6fd59a13c1cb3292eed0c62b650a160842334e54e28627c0ccb9612c2d0ae7e09e19b6df42c0ef0b513e30161a79c5682b645bbd112f6d74ca20d9e4ad4b45f7295067560c367eabc50570c23ce6afa357ca9795d778d19d22972df6303be7db72d6a5efb02ef3b42c3bca9f8e716ca2c930923f75e95e74e216be431b17550431e0c310eba7e3fbe36aa256ff66d07c26d4dd9e9f7c9efd6a8aedc4ae8170bc4a8eefb6070016f5805578c50f3f092ada41f795e4fd99f3d4fd9787f32fbca63be45a5b041d0a0a35088a0642c8edd248126b2740aa4c04bdf45e97020100b5b9df98ff295d4cf727fb3faabfe1eaf59ca8b1c9256aaa87bafae7c3ade4df3154b3d1abf24af8d60585fad3ab515c3be9b32de5d123dd5d6589905b9c5df7753abb30b2f586af5f6b14a5c859a4332c967e5adff048f49bc806e7c68c32d730418480d1b62142dc2bee1243ab83e4681375246ac424ffab559770aa2b0bebdfda08c70f342ce08ee5421a4e7b3000e4e0f68eb425b755481241bb7797733bf65bfba42f85ccba2e067749a6c19dbe5bdc07c736643e6b7a15ba5f3ff71c5d9dabadc99843c674a7ed534a1149b9521851025ee689dc38f30c9233da5082f7b00b27efa1184bb7c7d174facd2e69902c3d5e3ab5529d459ff812ad9b80f27ee2b72b671985b5ff22810d1a73a6e7ab7c20a9ead9cc6af227b6956cf690fa69514ecfa46773d17879305a541977b53584f6579d02eb03c1873232ed23f9ed24aa199e6774537161db04477ea33b267ea813935dda077fe4a0ae2c5d440f934a6a925c9cf10a32dd0c54da7472ff80f7cef1c5514d723ff7a31cc4ee4ce7151c3f4fd4aa395ab1d0da16a465871651e93958164d375016a806d64ada0a7e39e0d058e98e72469cd4ea5b3645e5d214a8f4536b7a3bb192e4c2dc629db5938bd6b09cf1370062d91cc9e021043fc234c82e19650fd037ce84dd1d5ed04ddec6a60aa84ee76fd2298a87967f5831277167eb612b50e04c7459f4c11367feb9f56a241f3111593eb6e8a3655c3c16de086786fb4f8000bed8ea16379ab3e022130c23b0ab075e68976cd51233ba38ef95071d7e86edde48436b396fcb109daf98109f4ff673312dcbebf72f19395be93ca2c6294b0e4829b297dbc5f7130a900a2e9d46345a12d89d66be9feb34aea7f14ae34aa7ed035c65f6398b161e56cf801ae212c06a91d1e11bb96694677fad88908e3027a2d3d66f1c3332a9c37e93bd5ff9182aa0fc93cc483e2dde4b6e05a6e532f0c6aeb0c9ae6f44586a88559b6c8bc4aaab548233b78760ee594a4dfca6cf4c6f8a976622d89a7c4216059cad75cf37f2844b71dc5ef901d7087fa807702fa4f9ea381ce137beff3188df05c06a1085a961309bb688214be6bdf5f2bf226fd95635da97f3542ac300c270036d95f83861a9ee737ae7f24f4624323ec20a9e9adffabce1a6632bfa6e0db94a83152651166ce1b437d073c7ea0daf50cd9fdd3397ba4e3f7bd0ce13ea3aa637dea4cdb9814e995e0989fda1078463eb7d1cc321e7c215779e42c92a628ef49f198754fce2ed853f4ced56f35e67918d4e8b3b2e17db02af78ce8c1f3b58315f561c150748e7a3f99e922c98f20d4c25cdcd77f7877bee745ac7d25f02ce3d3c40f82ac7df72e3dee7e5d513aed2a4b678a6e435abb97f4df23297f758c811b6da813efc48735e3bfeb0c66a2909cf6455da0053e71b6da2860877ba8e313fa35344f623d3438d54798db1a65d00cabc38413b5601a99c2f347d1ad10eb127b78430e9ab4abf809d1318b1d2780f95a8a575752b958652196c11ee31d007a90681712647d2cf66d989799dd452ee852f8429cf887de92f0f465468d63c9961e4e367e2c2694b9523a60b557287a796fd2f6d8ef8eff2c51f2e3abdf21ddb33061a33f3a6d74ee4b62c816d24515b1941ca5dd299a16f7f64aa32b20a56b2a7705324de69ae62b5d603afd0b5f02e60350caa7b5977e2f37d57208a5c30a6c9585c34583379e3f23f7c8924d072cf8d7a1d61624f58ceadcefd9d8ae6126a7642f6bd43f4f2dc74ae059d50bed397db37080d51487b53aa541a6bc4b536477257ce143c9fb2d0c3c1e92b9190586603e119b6004d1d6e57fc3d6260c15c3c5194d5afc536f75732477b52350fd5a5baa84047387db9022fa3a2c20614114a4319a6da4d3b9e915538c6b28ff0972a33653a86095db69e3160316a61ef5473b3d4079b5ffa9e04f956a0a113989704fc0b6f24715bb386f2dac0a5f419054005ac129031997ade3da443a0bde64c06b22457a3aaad92cb226b15b2b07ba6e235be33b34d730e455617721e87c094c7116507f9390f298cadcc26f8b19d5c041a8861a6a52aad3b2a6e910c422e587c42b9c38fb400302c1261e218e0d5c727b44b36f1d8d8e718bef32ed047add0521860c8e9fa6afeb3e16c343d74b02b637bf9a93021f77e2689a45a20d587d1d520cd976b6cb5dce004db383b98155a23ec935987381a8379bd2b9b242c0aa3e3b5891e418fdb9117e8fc56bc5c4e3a33521e6ca9d66d33502e12a3b0f6056e901cf9eaa37b1fc2cd712950d148bd0cf1f2fe5143764b5f9643b8fd0b4d008f31dd74a8661ec7e5f9680203f4da453941e8b222c6e98768e525d16097cb1c4f4584fa4879ba80d121d1bcc4bb66a542634c860ae74a24ed4775602cfb388a6596ae5935b78e01f5a7f1ae2eeeaac5b3af2b8c0d994ac0d8b3b53d36542f0e11ba550ed5347c3785de5e20296d215b9f1dab3c0854aa0e58e94a5293ce67b437452ba176fd951af50b34b07c0fdaca0115639aa8adaf58430d10968dd2b6d3626d7f1f62efa01f88bc3cf2fd0b94b64b96c6f16771c396fa6dbf12dd4d03d342c9f3d754d9693681f83743949825041db72738fdd1bf1935d4626c673b2e4ffd3be0eccef262dd4fbae103ac1690dd5a44b5ce89c8056f872683d21ac36df36e9a95ab741eda922690c16924b43532af12d1414fc1a3ec443176b5881796eecbf91fdb7f1ea93cf0231ec5c7101fa15b6d18b57eaa36f3b5048f64ed14e3985abc582f3444127d2e456ccdbbf1330fea5ddfb8b5ba53f1c325bef65a4608d8cc63740e031485f86631028d8248f13493bf8a7753d4fdbbb99a628dfc6acdec536a73856fcc31cd19e3d0d17333cbd661aff96ae945839ebbfa53ea60c29379b940985d7c34c0c6d7b794d487d47455afb0ae42468224f3bef048836163a8339da05dd5e28e4b3943c18692e3a4da74f661831a08b375ece8873f5a679884fd83c069b79005feaa4902334ee3c789eb4a8127d5e9bed1536fe7f044c1a4be8ac41e6970818a750d67c54573f2c349272506a877ef103efb95ff7ad41508e8e6991a92d164ac22685bfc791f6e3f47e216ab5e9fbc3815ac27c3ed515bda2c32501ed535ddbc362fb68f4e19302a8affd75622ab8d7727297f1f4e6addc30166c9835c2ebd602f9c4eaafbc15c4c34131ec7f5dc85271ef5db9c92f89934f58bfdd7cf335abb728c4ef95422c25722f83b57db37569f92afbdd7365cea57bde87df40ee5c8724d6ce73883bdd87761d00571753a7619f7fc19a2a1262a53eb15c8a5dc634b31067d99ca3bdb4c86678912a04c7e8c5f38ac79758209a6d980cd85c3a8e4c00f649fa5ee1a26a85306ca11823103deed807f7ce14519c9c1001a80b728fda2dc75f6dee807b30a851ae5015f6d2652ac549876c947b02a523749d6d68bccd7c813ee6738f33d801ce21ca5d4c4318d0d27470f93ab7ca649a4aeea0a24a132914f9f4d5358c0e25c3e5e3f174acaeaa979123e3f776e14b09a6c171f6b4a3f2e1932f2734fc7d86454ab39e23e4b4e7120b13e233dea65ad87013c7dda7e7fe7843a44dd0c184aed38851c93d1c5133911456c89f1a107effdfb2047234374386f085e6b8560107a891684f25766d32ebe987f1081da57881b65658023082357ee4982389b9871723a48f6f0b1d333ba1477473a88056e1d730c9fb456462f6d7659316d1469ffbe131d0a52ec7933796352a63a0bbf4eef3a05b776fa85830f88ef00422f1bf9e8aebd0df557410dc4ac4dbf338353daa56fc523204b39e8da45d33c4743e230c6ac29696ecfa7b66e75e49fbb73e6ef0ce0af36f694923304c2f1da1566a482b94d17d39e0815cf74b08f2b987ae916d147f7ae99dcbf7b2b0f43fcada7b3118b5de8758e2bbffc3c5b4e9edc72ad2c5744c3379b81278d8630dd6a635fb14aa0a7eeaa91c3d4a4364f3a742368f6b099aaac646d0f4dcbc8bab6529e4ac76cee35cfdbaf664664e35b771bcd617d00c3bbf94c966a0e6cf08f6514dd6b5841b4797119df437a3435e16da165477bbaea2344176bb1c598464a0fe1cde6428a7304b1f358c184093bb8be5d914b6d3fe8398e24ef32bd92364488fa03841f5214abcc6a0d7e403e8a4188ca5844f5013e98c178aa68cfbf72bdcffe4f2ef4de74615e81c8ee20f8e34d07303bcb23b31b2b3469a97f6dd80e7b17919939a762cd0b6e125a7cf2ce7a45e929d2d4bb823cecbcebb18ccda1a7fa285cbe78c57c0159282a6d26817700a50b9c76c8f43d86c766426bf80d3187e14dc236bd8717221a82734e74879f0671ffe0baa8d1753dab5ff322ef91cda5065f0ee1819d0b9dd8f57e49663e0f5c5b816904ec75708c13fe68c297ab12fcfe0f825ff0de780fbba37f9fb972c058cae78483fb2e1efd70daa38d478fe9b4addc38be91c5362c24f5e9a8774f846a69659719cc98a8a5f3cf0797007c5c44e1d3960c8225b2710adb327af6dbb09ecd6b1f66a2c4176d41cad5465c788087f838a9525977fb919454a3ff23ab00f4e1d72ca1050a71f09e12b90d00956d6c79cf83ff01e01a3dc32fc9d7979946572b44f5155cc1476b2f9dc70ae42e5b96412a1dc903a33305b9fe43b1ce66209561ccecdeff927d86e8f621f60e7558f63dcbe8bd0e1f8654d901a16197d4d9fce9369a199e1904225648c9778f7a09f4d9b8b24f07952115c5febc7da00111f213ed16fd082bd4406103433badd15c60a50ae588e4560c9d76a3acd37b1d0d2182b7c9518895fed7d72cb6e59855d625fa34d1926ab77b8191ee8350026103b7be4f8620ab25b56e73f247e3d21cae331bfd5a09aad6d2acc434115b37a3e6a8722b3500e3458d289ba0430d0431b8fbfa88892cadde0d872a10ca865287f78daa177b845b7c080228dace38c03ff6a9d9c2fa1938ae03ae865339e0dccb176d62d57ef7d4b1fe5cbe9c976c6fa15b8a6f847e27f1ea5ecb2bbf2ad2119f42c35943a9a50c935865c7c9a86c9c3018355c7b2e0fc51d9410fb34c25994d23b2a975bd1e67f7df152d9a4398bde9e356534375b0da35ba2229ad852f5399eb42d71e02cc0f1a68e56a1b5865bbe8d5f7a5de44e82839956a386cd3c352865c3ac30d92daae8c7499d891af2001ed762bbc72b5f73fb727147fb8008c526ec6c403eac945a431e15118f133dea8d9b994c2fa092863150ace0eccf6995380b458864115147834bae84dea2736fd03ecfafe50066a769afbc18ca33a6d60b31c9ef3767d21708578e17ac8572e349c5397967951458f33a8e0d67eae33139d265c4194cefeaeeedb046da8f057e81f239bdee67ec112ad6254b6ba991b6aa22ac78274e5d3f55266c9910ee8d23b071bf0c82ac65b6f010ddc349fc467ba88c0ec07dab386d28c59a9339c5d1d19d1b98cd5e486cda77b674ac9e584141d86cfd91d82480908d8822f78743b0257675cde2c8f6d790bd321e70858dbd4edad92e7edd34c636fd522a4b8f8f3ae3652c6b6d1a8e6c4265da290e15ae3ea805ab38766a5d8808bf07ca051d082e4f9e287183adb2082f525a76ef0d657689f2fb0117192a384c5b6fa8afb60690d31339868cdef0fa21a1effd000000000000000000000000000000000000000000000000000000000004090f1520232a2e","message_root":"0x747de7db5995850a5b799ed294ca45872e679b54d1e4b70ee531e88683f81e23","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd5a19a5a47818a4d939d0f5d05378e57da6db52aaf55f1b233ea5abdf0817c70fbf3082284d3de9ad904513b811f478c8f103264bf96f844a414dbcb8fa9326f955e5e28be39ca062ecc4844f06ee57b33c42bece4afa6230f843ad5939213c58f43d0922b546ec9abcf16bde44278e4e41f39f2492bac1f2183049c88d75b0f75da8ba9db00d29ac401d965629d95c5643968a38b13437d45353fc49d6df606032b5a6f3d0a0e670b586cd9e8e111511e2ecabe3a18c1b6c63b51d9ffc22448bf778debb546707bc25c7ceae6a6b28653bdc00f4a3143e4af7764ff3477359a2da1d30b2817370a7177219e6d7256eb953c5a18b91c4fd78477e6fd13d1481323bbf41464f5f1d1e559513cdc18462f01579a2010a77a0a194438cd45d7b0742a9ee9679382a07e666e8c1deddea4f3a715f489a1430a15fe09f888f5105855922e437daeb2605215f2bdc70989c1389dc7bea769afc5bfc4cd1aedca38cda139829aca787ded06770314724a0b17e764d370b2ad947c7429248bb43f90e0d3f5c47f9511d3c985a9814c18cdb009219886ae0a626f4bf9ccc3834c711c2b838c87e36d7d88e22dee3b8c1b5b56551161d8c8ae4b2d6a81348293026dd5378eee3e6d619ca0d9abf72409cc783c03e4eff67780a9f2c2c8e070dcba7c71e680bb77400c5c0ee9b50bb5ea68b1a41dc89d6f2d98079f9dcab4cd6a3d06ecf0f11547da0555514edc34156330df8ad5edc08a66271b080eae05f9fa9ecdb8499960b5cfb2d199bf683393aa3575697511272619ee195be5b99f42d0359698983b80abc9d0107d018e6535fc14486b774c43c263a9f2769195cda3c828f913886525e04ff2b93eacc3d89ba01e536fe75ead647319a9c151e29ce88b0d57f68009c1cf43c7eb3ec1aae6041b1c5f73e5c063718f3f0f50d3f0c37b09e2b1ca5c96310b57eff9b6d62140746487d51083f0d6e6c3e452bc8bfada91f54953696e7754761a8cd90d96b618098358e70f8a0f6b07d402a4db172b6847ffa48e7c8557f12b298de083c5836d47d1db8c1f86397ee1f9f04c62e9aacc7c4ad54339863f633aa97fccb46d421add9ad1aaa6e0b4bdb1046ac7be2428f00654b7f6a8979585177867340d0d1fe5751bd6182b85891f357649e92588e3aaa00f3bc2ee84ca2c9ca1fd890274b9811d49f7adb204b1a2f758e62052e8a317be94a1b450d3d6dc1ab1e8818d54ecea9ddee903a0b0471a61595327f38db399c478eccedfa25206ec356a0d2cdfd9104511661ccb56683974558f40144ad0597d52c35aa339919373171f2890480e78ab4bd2adbee806da7a58e6fabe91ace282fbea9602c4c4a71ae67e5b7120143ad008fdb1e27b983bfcefcbf7a164cce99e865149492e7e0db02cf29893d2b8b5f5b3a72c2639c1dcba91a4ff6ed4555dcbe116f69f08e111a1d0335dd6c76962cf92335948416246334395429473e707eb36a9379a096fbdf9577650eb23415e64630fb678ce89f9f11de212027970de93edb7770ce11d2395b743392bcbf096f8b3b262b6400db4ca674e73d16a55017f3bc665988d90021d6603cb92f7b01eb1a3b10a49d1e457718d814ddd9821f5957524601aa35aeaafb1a3fb3b766587fe5548619a7f0ec3d98a645c69624209047d755dd2d02a62644e1815a04ec4b287bc4f85f2149a5fe6c4d56c8b479d388e04aaeca66d0d2697daff38221aa45815816a60f9dee805d6e1d4bc13dac73f1d98723237ffcdccd7c7787943b68171e7c72e050fcd36fda0d64fbc5065c16fcc3807e6f313e313a5541826bffc2ef06922069ac4f61c13b589e91b7e9d9a9e7085e18587dce76ba7fd0b1e598e24f164b7efc3de3ab7733daa93d8a149c5ab33d5e5ae360bfaa351bec06e121c5e844f9e5bc3cf60c99a858585613b35e777484a83e7c0fb9522f7554b514f84d7a5fc4c3bf866167e6d5a288ab6df23756342748926025cc8b49b6be3ffe7a74e9d8d62c55c9d2bcb33923356f68bb2d97153d4d7202c5c243e2c16350d9b5dc3cb621c95a5abb7a626a2710b46cf769bd4d83ff7c4d82d98a395ec0c4fd88802969a3657be44efaa5dae98bb6445550376234f3d016934d18f35cae1c435d506293a861e0586b855171ba615e1fded7397511e1b2606d69a70ef291c2d8d192b0c59591b28abe8b438e2d8afd42feb4a9e2799da621bb1f56ae088428ff9bd6155ffd602b75955bbc38c9f778b5b2e9e9fc0c276a73dced06d55c95608f1149a8f91953b17194063ab7b2d9b31d5086f68c86e829308601420c304ae15d1fb2625ad18d3179881154c9a24df9640be2ddc62b7b024655791f102aebc9c05611e69b79f76faf7164900c334ef123a96baf22b669b9dba15dd407962b974d9d96516c3abbf02e79436ce88944937b388da3658cf547d2eeca8fbe7d53d3ae8288fb6e82efc49724db52d73ebd03a65d1840674a49df5ff380d038ce62b1c54c465fb53385ead1cd3ef9b72a9062f40b308bb5b55db1b925154b16de79f2545046fae58653dad58445162382fc8cab99dc84a7f42308e43920864661682b623f4407e8b7fbc499697d3de66308450402126754173b6803fa72b6ac6dadb3d60d4948d794e37c5cc44baaef8d2404de9712fb02590abc343f3f5b309594d6854adb02cc20efa2560d84a61041f52e31827dc76808cb537ce630822a16eb04506f89aae493e9be24663cd4db15eefb4f9f7e31b0c3c3d7125e1690e778120ca84a1684cdb70c09355248446b8e1e11e64da13df1eb3594664f9dbda93a0f65c6a049f54f0c813ce876ef552550d094f8916a7d6db20835b35edabbc3c3ad259c5b9066571738a707841615ee24dd12b2f16415c493198ce0d162d0b96b338609d2e2bf844f73f55b5dd383cced73581735df9b453c7f583a2370f29cc0e05a7d5315eabb5d78e80462a1ece131c9943ef00c2fb481f8504d43df5825ca4f2400bad7d193ea45d10a7d16b2e661ae20c66cc16264429708e35d386291e279323e1c4c3c28f0bc477722435801f4d76048f9e93512e628fe5d16707ec58272d84a259955bf34aaa22378288f13420a7b408dd5710167b6373261b58c7ea41ea334800fec2742089fa3d701310f30bba7e826f5e5a7cc392d3882bcac100d1707ff12af9f36e513ada88a98cb8e30f29373dbdd0dffc924b521085dd10cdf5ef716ac4009be5a0a49df62d6ae72677be7e9de272f808f202e90bc912804d983eeacbe9ebf9c8dc40c57e5c1dc98d2e15e932b626142b2c50b1373dbae9d4e571ca73644fc5eb06a1961fd129fceeb203425dcba793b1f0e9aeb7e6f12cd4c517a5e8897837e25835d5b5034578e017a25a64d30da408b4ace2d965f8109889d7052976abc23d851dc496803d6db7d1431b939d34d7b07640ce462f8a01cfe2f837df42c9f7eb7755702c69ba7ecce2d8df221c3b6b1d9eaf787d258c28f420ee218dc085365ae3e6f621eb9e5a5df885cfd20e5f1060504c639877645c9476b78c4830860caf29dd9cd08f1e3edc33bbb5dec741fefae2ffdeb5b7dbee98fdb0b668d00d2599cdd16be944b66f6a06f4db6702d8a3b15e1720ad500154ffbfe81b666f1a8dcc40f36eb2a77a1cf1a28bb2272b95a8881389dcf2c2e3","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x73c269f480361e5299f1525a4dd3365b541a4ae9233562ef6c70ae44dc9dfe54","signature":"0x8bf69c568b58eea548920035e0cbf037a564be83480015c96d5b7ccf02267e4ce5dc019e60610b4347f2cb4ca6335296e6fe77f41304ac7372a0bf98b53ec0920bfb8987078ea398d0859153bc31a5164f4b572d406195a2ecc70b5e78950240aa00e01a68a445de14ed23b2d9a1c1229a097e45b96bb830ff686541348eb9e2b0c8f5d57e931090c556f67ed1ec97b5dbb9999b06280330c9e55d84d735fafc6140600912492014e73b9c000e83c4ec91860c974e103fe4a02200ae4bd73c0b242858c1b27a027f9a641aaf6d40f061150d1c14746f8e1207941b34c034adda957b18ec0e43bed960092ae56e24fb33e32760ac5fffae133a1a3659694837ea743e1ddee474949c9fc34eaa0bacf8d669385c7b4a86c97a18a2d1c132f7291655df50f59c3c8df87ebe2aeb71483c8e8e359261f60c81c7e801bad185b547545d86324777695beda3241be4a8169db53d306873d63ff3de2e8ef9b32df1af790dc8933390aaadb50fc7270ef8a8350dfc417df29041b819901e15b930602b2548b9a433ac137994ae7e9ba5a468be7dd99e07922e1be750fe22fbf8da1301f54f37b6ef6aef031d7c8fa288abd26541a5bd7b5af2db7d1d4bd6853ca874f3722793e9a0dbb04ebe866194cef2abbaed71aa3531a0c8ef7caf464429237e55a0a7796e521488e5a48c1cbbd3d6b6a9909f029f7884399ba5d5abbf86fd6cb30ba68e9ef4c278eed637e5f36f7500d1cfe11a839618fe54147209dc4beb648b9d8e41afe79d7fa54ffc11a429fceb8cf19b03d52b3a82ee711c0825375e61a7ef9206c9ec9dcd1d2e104d707b4046efe69d12ca41d064d3fc7e28224c5a5fbe153ca7bffc093dbc4640ef162d7994f036a1038744a88d76fc87defcd98c6faf4312ccca08ae867595400cd2a4ac4511d76359922f7a79f66ac13ba854ba0aa6202327cb5d5dfed4b4f733a7c6d4d5ca2b45bc71a8726f1eb9af9dcae4db25ccce7d5a28c1e251e9ee809372fae14eee7453dc1a9f75cc57c8a00235a6e6e0ebcd5d257142e4813b1ab71d5b45ce90f3d869dc9100ec3dae5d9d7b3f3a8507eb7f63e94e603d3f10395a99420b16cee192625f9e93ba4a59642d20f6903ea021f8960c043dc1afcb7a43615285bf88472b68956efd33c084dbd5235b5c806f33d92a734229e7fc03624f50f1ad557874a1d71774738b460e822247fffe2f1e6ce102072314733f148654f8184baf57e521d30a72570addf0678cc939a06dda9572a5351928f40a3584c2bcef418cd8f2a1b0fa349a8458f2edadb8508dd4994386c4fcb4e354a5922823aad9b0c21324173f851dab24c30c58fc02e79474f111cd547f05b3d80714b14017554fad040efe231e2ae4556afed576a8ed2061f7ce7dff08fb9332f1332db66f47bd48bf90eaa726bbc8262860bd8d9db3d70a5b1b697b5631bc4934148ae6f94589215a52dcd2f4bfa754e5974c026638567b2f6931c00d2b3d9784a07d36d1a6e4aca7d24f865579aef415c28c8cb1e7e1713a84a80673c352c63fba4591c57df839c4a79af080688afb879de5f1342bbe9b04ca096ae48a230cc4eea014d56caa12160aa09fea46fc3f5c73e74810ce60ace7e1ca7afe497e0540d1c5f815082bbc884db35afb922b3645cf532498466d481524f87cc01255807e8a7d14776badfd48ee7b17e0f18cb7968ea4629becef5f87cf4b05c9877582be2ee8f662beba27aecdc29d361614fe1ac861258862407c850e7950a51f4042e3984f2b882f01667d2a7a0396493fd24020fcd0b5678b2a4c3a9f34d568a090e304669df8aa683408924df8d61ee59d63f795d57b97224725e92a456b64e72d132512644b19efbffbb520cd8baffb91c2ce91ae013b6bfae5c09a2f29b3d918c57dfbbee3dca5bfeb7831e85ce49e26cbe3f9f6ffe0c5131d1585db2409759f8d8547b59686ee074a79e4b5ef58328dfd04cd3e68e76f92abd65144950fa57260f5baa26eb3230f7eb3042261c48b6a9dd7d1ead6278cf55ada913809c0cbaec3996444a9463bec7dfbe411e0001751eaa798234fdc9e5acb3f1c3f50819ac5ad010352a28210b2de2eb57e27f4afee83c2ac3b661e91720f0fb9500386223044c59bb9b661615ae0e82b7632f6145690e4ad904fbdefac87a92251421426f684bf86103668733509e841f11ad70bc72e978abee8bcea8a73505020b057e28f41bf711eacdc89c51cf4de6a7388ac0d7f21a81a1564125830e6a70950bb96bef1723b35be25b837b429f10e830856f29106aa380f565ff48692bc498b015c14abec93850a6bbc19b6c659a4eaea4b76929f81c3de4c78831e03a2edaab872ba933bb263bad05b15bf148c27870104d849dbb75423a5945946817764446b60f92fdb894f7933e9f6e47061a7a584f0d67786edbedffa7b4db1c11056773790c27dca4d1e4dc1f577f7b3a43cc356b6d4e7b1dc92d4a6c3143b6d68ea4b6cea918aaf2a549d39e0e6e26dc46d4487307cb97a7b6152f91aefb85f0085f4f475a6722531ef57a6dd3446ef006f6a7b2bff7ceaf781b262b8e22e6800ebf5c6f557daf61abc326112eac770ba5d4235fe33c8c4a584954eeef1db120656b2c87f127925dd8e416c1723f02e46512b008f9def8082be0378a04aa7b35c100c06fde3d25a1e5435051eb7580424c611d149209edd23204037c165c2cbe7783215f067fdab376d1db10265b8b6e6db2ea3167a87c46d841ec7604dc4ae4f162adff603475867d1efc5ee343233b45fd728bf091395475ad04a4018df39fb38a732b3d0f950d63c53472bcd091a44e92ebabd139aeb58e1945d53d31922166499acc420b3c2771caa854ecdb75da1653c7381ef506232d085dcc192057d27762f4aa3853a25af933de1784b4f6af575bfeee80a2eae3fbdf9c263b41b37028e5760cf11d718643bbc6c6ab976b7eb726d01f9504380cd5f69e7fbdf3e5f3f0b50170aa07b811da55f62de61e625b511e23f27b627366a4e10ebc46a064b410b09f3853ad40144be279a589673a5e739813bd1c606d982a35346e7a5f14337fa1b9e046991932d3fdb6d505ccaec95c4ac9b20f1416599d3222746e3a222b0173298895dc0565033a6f4394f6a28a7c0e3bea797e59565689a077ed1959f3dc4a6ef5ce3a8971912a0f56730a96a4f4d0db024396ffbd43246c6e1d9490e93e0a1397ad9d108d9a963e4728ef649ac45a10d36a64e6023a3da67cc6d3a2af092f0a52a5123631af282a8d8514813526424aa2af26420a06cba8d7d7d4e18ec4b69a4a559aad1755afbeccbd05f1288f99e753fbb8ccfc7c65cd813e4ab747bb76961ba452fd5e5b1b317f87e27887c9d132ec7f973a5bad2af2650ae5b9e0b9ffd17ee1bfee324fb0ef17ac41f355f4947f40a0b8789002de7408dc4520f7a831a82ae96376f615c1d2f992d0b7f3fa850e8eea4f4a53a4017cbeb035b6d687bfdbfea8486b83bb6b392d69180dbf77b0fbc72276428f8fb5604001e092dcbaa847f5ecb4b02d0cd02415372e37d3fadc18085f6c8b125b107eaf9661cd9b44dfb7225e2c2f3a46b5276b96533e5fa245f3dd31d0c437ed228ca8ecd6f0e79b97c9530189d3ac60efd423f92e7b4805cf3ebe072fd7b51c7c5c71ca2961b3afa0f94464da435e818753b16b4912ce2c2c53d565c69556ca40e55d156f7c4f817de2e0854b4b2f027d6c8b51c6e3dd11c08f31c68ba41f2f9c265f1adf7000a2c646a712ce1c9c412e61c3e7199c53bd924ec540caf2d5bf85bc25f44cbe0d9d15bbe1a44b4c115a6cb72ac2edaf0d528b9cad8a6855aab1de8f72fadefd7f6b8191670c7825c7656aaa4d62b93c9745bf243878a127215b5f834619f2ec0889c7f3dac6b36367e72440a34d0da3a53b536f1d9bd38172585854ab55b37bad154fd6ee39c9646069b09e531e1026cea1b9f7033d7b5e01da7088db394ced1a818864c05a03c6bf6f4841ffd01919b9f0ca16d8a750a9f44f79422c61bd16acd2e3cfadca97d84f4233f771cfbb8bdc11466967177c5cd5ada7e65e7aafd822da854e0ee915cc1ddf857879cafd02c5372daa1fe740480ffe10530edc857e04d2b758f41418ccc0a02f7e8510e4b22045947233e118c69362cbb37f58621b4d3aa88cda8694a16f6cab1b63f0f32cd286abfb7f891c8983a0d98a73a80cd6579f2b953ed6576c23eead7e3cac0d802f26c4fe14bd0e22c7794f2624c82603030291300f45047cd2a2926df44ad107f10b558fc8ca89dc212218116ec049131ed92874c1a481aa43a2fabf6334fb4ea0a23e62802674ae621c762b29be4a9d7df6bc0323a40e299e601ddb811d32541419a1aa8cd4c14840c7865c2c42ec3bf84ab3c3338418df654298345d53b271bd718db860f5ba9f4d5e6230d690d36f87f771f9ea9a8efd344920c07b99645ecfdf71aabdafb92ab22415d6704946e2217af1689d932bd45414dc8aea8bd3ed04f1578eef081229be5f43c23877f494bed95958250cf303cd035ac0e99a1279613d3135e82e66dac57625b988fd268356357b9c752e2eb8abdbffbbedd0452fcbba85f633890163bfb66cf802fdd3d05be1b2ed728fd3323b95080ea7138509ed39824635ea61bf10676ea86d4c784c3dd2c7ea77d186e3600b2c56a5264cd94f5a0befeaa0298228bec3d0583104ec5d3043a60734c270441abf88d83aef46f6ee62aa7dc252ea0916751cb3abdf087904943a9c2ee4a1d3eb4c5a57762b6d4a8d1f96c038815ea397a1e119c42fc47dd50560a0aaa93bd10681d0c09449160c05248280774a33402129fe9b40e15ff56e2d0e5ae68aff2f7fac159c26cff997555b280795b2649c51248520a040aa1bd1a666a0b0a5af6ab31d96dc8f293ff3575ed9f899d383f7d73dd495806b1daf7a638b3610b58f864ad08f54fddff6562186b179338da514c599b911393599f0f37ba30ececae093c5dd0f3b77d4c41d97a42558d951302be773c972519b27eac74017d293ca2613b6414ae8902d6206c73ab69d839b6cf6b0dcac34dd39460457bfcacfdd47431915db0324353d2e6b9b29a8ca904ff1d8a547369979442710acc758b733be74468dbd448d6c84946a58055406136ab50de89d2f516f6a822417bdcc5304b94fd6b7847638238b18f1858cfb439e77e352a8094b67983613cacfe9d50b113ff7e61999e3c5594e9178281888e42be01e0f5a1280c26ebaafea26327d80f61f140519c5f3b5c83bc6978ee63043ea3ff1163d4c65e2b2faaadaad437fbb4c4cda28e1f2ecf858ce9425707b3dc46440c2c76e2d19304726f896d6c3274a228e6a96ca5708f831d26530694af1f89bfd4eb1bd72ce2a69d74e8e2509861bad874bf316a51e922787a62b5d4279a7444d0ff68f5814afb424889d6c2ffb9d7cbc231fc3d1d0101f33b4990e447f082709027c6fb2c668fc9c92f374f62aea4dcdbabc53884f958fe0e85f6f90602cae3ce80bc3e941ca1fc6da7699e03d8b79596a95216590e95d3c267a5f4cfd5d26f5285b6c700f14b6964d33c79c51adc8e7b54ccc242a69b7ede09352d6099ae9764a538075bf0954e5c416c0e2c177a8178ea9ded1688b9d82011276f63bc2a656e56204af6701aa1e75d2d4dbeb5894dd8e6a837b4742c4962ca59d9ac816f71b51cf921c59f01be39c47fb276224e99ddea35ace5a1c9caebd6a32db2bcd880bdb6b3105e050b53105dad4887b4c34afd9a982e96d15c150928cc5cf130ff52167eef90d10d2cd1ed66b95aed63996c03a97aedb9a1d44bb821c690a2a576793e436d354b67742ec18b3fac086c07b5e0360455efa177bdcdf8f57195b619c8c10a22c1220c5aa37e147886d0d50e2ea850127449debf118624d62ef8dcaacaf0daeb6ca1d96e766c811e2d12f6ca774c1dae0e838f629a269eebe2c0890cc5f9d5353b996178446fcc7198184cf6941709dc3e244ca6ec332b4d2009e5be42616ac52d42775287fb97d35c9074872acca17cb26fa45dfefb91c492ffaf7acf3ae54e528ac07cc70529d2c82cec682e5679eefb86aedc48e57438a72c634c9220d2fcdb4bc3c99ef55e0480d95f6d16d3d613c3e725af6c92f5ee6c32ae03299e13fea35591b29bdeb5b3c97385430ffde06373637593500c5fa50d92d079b79a90447bc99415c509938507c0c5c8c54f2a612fbdb9f1a731ea4a887a292a95746c45856c68db035ef6e3df84ef78c3ec58fb73f108ace21447ca1a6827db73f76354cccb58f16a379901cd6db3de0f601f09344836c5557223b767b0143d37769160dcf84c5e76d6731e7f6f886f4c4142d4d8c72eeed99840076ba3d4ba45e2746ee8506a15f6707603b6c7d4f478eebeafd63f46b87b3d9d0fcd426cf72ddd6c031f7ad53642b93335394a7dafcee2e92c4660cb0e1b223e74a9000d141e337172eefa08204f9feafa3a79839596af00000000000000000000000000000000000000000000000000000000000000000000000000070a0a0b111a2026","message_root":"0x320a10bc31e1dca53f33a5525171721610024043237f9fcf4014b7c53b0b4e9b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x42eee732e9a531f5f929a1e2300822eec96d0dbb31a3f9cdd13f5721932c2353f7b49aaa562a2b2658a7077c174d55472e6b2d1020cb9c604de8527a32e5eafe6cbaaf0074ab1b125aff39228224e85b47f4d4d8b1d5951ff8e02a15611647bb1f76017d6c577f2a443859c778d1f1144c14f9752ca6f24bb439afea870b8c6dd802f8758e73989b179f8e0b44b6782ec38cf7a4810f8ea8a94edc37b90fd92b3f4aa3d866862d99c95f7b452df879a7ae5fcd131902c725cfa7f7d9dc75a6ea68c00dae93a4e11f5b50db250fd40177dd6826e325c128496fbfe25101866d2148547225b0457f84ca9d46c7353b042b6a17a8261e1f1f1465370ff6738ffb109b7da5f79a13056db47a345dc06f41581c171ecda4a2191c77de0659a40f5a62a6d3573f71491f88bd3e70bea1899e4cc3c8dc226026fb060c901280abde2019e09c2f0227b50a64593f667b682f275b2cd3039ab931ad59873862ee5aa43b7d8afcfadc879410cf42b03bcad9f83e8909a7ef2d9188bcb446e50f753a1995ea985730fcda51a9c5d996481cbb39dc136fb58b8a76bd6501bfb0072eb43f3253bbb5f72c555d0e76fdc9f0118a1f2f3845aa5dad6ca023c600fbf79bbb452738f0bfdb57e3206c254267aa88d85997baae1feb25d9eed50cca0c97e960cc1a22467e23b354a1fc7fa2d0a12f271c6d5b993efd545dfb60ecac55f1b7e55206a01aaca865e795c70c6b9fab600de103d074b8e0b4b05ba3ba508e46d6880f9b4f1056124327ba8790b3a2f948c04cb7067af7d6eeef8c80c5d42e5b02c2f25fb759773237a2a82e0a173e8a32d1e566bf1d85770eb386992819f0b98e2c32bf4c586f68133e4d6f7603138016ebfa4b86e4a489f263446b15cd107fcd4738f75da0400568de6e106f8f225208c80fd79afea3f10e02ca23bac764cb4647373279932947caca02151af35e80d66fd4e73c572d7567f2b5d730535715177e843111b1a72309a797557d93bee582266bb509ad33f5163d57e80506d72825e144f68af0167d236275208536b7f4d1f9bb10e5e454d66bdfba3be0be9897faa834537215a7425ea6c8072bfc18fa88065cf2ba2c1dca843fcf298edc041d64fabfabe4d2e3c21a512b93f05b7d2a1b7a25460c6ca11a14fab9de2c55b653e8c63f57e890ffe2e80d7550a0e83a2b563aaa32c06dc4690038fe36c47f44633d193d1c892819aaa18564cb7bd7b4c44c26aa3687694e5847df7c53ea2dabfd8ad54a9cade7b537539576a954f326a01bb8709cf76164fa3dc0f104fb90d05e5bdcf92e58ec6426b6afb25cfc37f244589ff06113a3280e7982b04a72f43a9f8cae4eeff7bb2a9a412b5481462c3947555b23290e42e48b9117486d8ec5f6646a72d54d810de6c25c1c213e519463a235a3fd823e7e98583b90fc67753ca59295db2b765f639bf66c92c1293671fd75b227af0df24f96d5c10eb8bdfaad2b7e5f3d15bb3136aa40dd2de23c789cdfca893ccfca3fcdde801adc67318d70b03dc38bac32802b835368f951ce246567d1c30b22b70517719a9d0aa283ac7fcfbc6513e848ec31075e34046a96da1027166211c7e14b0052b7884ad83404538a5e216bebe95fdb25a5e199cccc65862e286a536f469263bde773ce9617bddbc09a3f247fc07d02471439ca9224178f9f1932ab5edd41532ca5a8d6b3a3d9eb0bfe3167f97b2dbef8941d2d43f810ddde078225cd6e2d16fd84bfc121585deaa5c98983adf369a3fbe989b3ccef092ac33896e8ec1cc203eb21c226f91bb710b7aeb0ccb917ba28bd1ca116957f8218ccc85708aad603a410839246abeba2209ba7e4e6626ea313ff36e27985b08be52e6ebe7b455d01c35e440cdb034f45cf6cd19ef33a6e801327940b2fabe36e60083631c7d222741ecd3fd8dc2fa0056868e20e6f8a8daa1cfaec7a9f6b9496c4ee39c0ade3dca827137484d37adcd1e038c40cf747c556d49624a81dc12748a20e070d695a474a101911272018b4b8272ebad7c90dee9157e6f1399d97197f7585d4190eef2af89afc383e4c6d737c277669fedca383c551d167546655942373b9165ea5c440e2da8e8c94a9225f0598056e6d7d196f67cb6b6fa0873c33cca23402a906f56997c92c7d58003a984c231dca092f3d6b88c18013da3a95e885df7320000ea46ef840fc21a79b7c569e0618f974b2554871f823c39c91de544a0bdb1e34f8c9a3832a066a266668cce55bc09239db5c2ebe7ff3efcf65ca97e97d596c6d8013c31d74f53bd0cf1512b48d7223cea545ce485e05e021a91f0ea0ed664b76f060c8f99fa687195d4b292cbbc6f43cdacfb3e511cea54e5303c9355cee24837b7c8d8ef3492a4ecdb57afd2fafca99c2e527ce89a867b4e60908e0378528f69cb5b3a48249ea83e0d991a0678e5a8f5b6a6026d545a833503c416e9c308430c55c1d00f1f829e9b08b32ef89421370fd92723f70d7e53efb45120364bbe651a78ce9c1f66b4763ef1a09ed5ce163b0ba4bec925c9f4ff4fc5eae3e65edbe9f3101088e572ec8200609eadf79828375425a625f0d80b3ec3978d001b4f38ad61177a5f94e54db3af141fa46f1783840e7880c430efe2437bfba61033a30525a85d3aff54c74a5a45055fdae3896ee4ec7966817d57f375485534394898e829ba12d8f0fd6939d729158b82dd4a4d876f019053e95b90b1ccada389efdcfe22dfd54c2fd42a3dcd9e83a12516ac454bae3b55f6f8de3b7ad81eca716a8f474de93cce0e090f3b4bf61430d15530826b8e068cd57785888d904a78161d770079992d9ca74f4b81389c7d7d167e5d3783a8d3ddd993ed497b65bd6b6be0541c1fbe2d2ba9ceab994ef26220c7572b9ef66db61ece2d5b04b692b9f7ba20b50427080c744b142467cb05e61c3c255c9df891b036d7246a595994b494a62a475bb2a07f22507de00a28050e6ec7de89a60504e777c1d195e9097a5f1e3cec7aa506a3f047966052e821cfa446a1c01a7eba56b36822cf8a44337533d6e6072318f9c0822d8e1763522d169e7354c6de25a439e73248d0a04d226dd9814da53e96bbba6a24d2c82f8d46016c53cb38d9cf54cff99d4e71e0abad53d08994c4016e538a3e70229069cc56ba6a435ec667f73cc3d82be62d19da16ab63fec85499b0bb2bc671315ac3adfb06b1d2f2d98c5fe071338f56aad2fbd59148f7743a071086888ae63c118607b4c5e2c0f4c4b491cba6c212dbca020fa7fc773d912f4341421c3ede276ed77486939f3f03fbd24c5207d8803d620f09793b9687d5ab7715aa593c0900c4aa7745cdd820863d0e60e357886dea51a26acbdaac4147db07ddda99d759dad813e8281b773f9c833978a4ac57e064fcf86cc0d2fceae699f0481be18cc4e85277ce9593fcce8aeec40948d2b9abab0634623a01d7719933998cdda53bb1e649bd46b974a61fd68f2404b4c226965c48f9519f00b100db7f9796d2cd3bff2b96165fab92da5b7f7c41867a64dd1807653a40527e432e21973ebca02f0bbeb8ed82fe15eab0d752a4f3e2c5c954043d64b1ac341804cf84de2d6f78543182019a7d09d5d87b93c667890d02c7ba4297db972ebfe0bf0cca3aa43ae66364d2ebabdc2c7558db7e8d899470aebd0f082fd","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x05664a29b6a03084e052a9285ba8e7baee09671533fb6e3f295f8e00eb1747f8","signature":"0xf595fdae8db32a30c392c77bcd9843184a7e0660ff96c8ee8239a6e8f7bb39e7bc5cde9d8dcffc6cf57c58dbaa0983c61aea49b560b290319d0b5a75dd8e5d5b71b701a358d1078a3354aac1b07cc5f37dd3a29d93b110c6ed4cc85dce79b1f0646212f0cc213e3b2b9df34d0314ad2a3c70d874755d218ccb389a0bb43aa5c1b303b711e8bdb2d15931ac02eb57d38d4e2283844e923939fa6dffcd9522c640005ed8d175cb115485be5403b238c3af628d95509242be757f0a41d01d62e26c9e78161abb51235c15f574985b18b939db8993deb1fdc8dc84d5f480a3ac1f1e2eceb11bb922b8b067383cd0296c7ad0459cb269a9391f5312d8c761847b23427fc79adea37e03c6f718e5fd7312e0acedb24c9cbe261531e32d391db28249705041d5ed911604ca652d2dddf0d38e270f35f92680c54dc89de33b5cf522be1c7cb02ac31486aa7f5b47f7998dd67779c34904b0b9e885802ebe9dad35243fa5eb730d58064ec8f49e0ebaa078899463f73fc6f384ea90b92adcbfba520901ab8b1a90cde7127a04fabd730df7eb0679e92335818ca28504ae8a55a94d18fe37e4eb61b740473dd5b52a2798889b01fce5652d3c3a3d7c89dc073da5539b34879ba7145320c0fc774f365658cddbccb40fa886721f79aaaf45d3bd64e60188cbd00506f0cc798b6c1bb5e789e99b4653cc4ac2b65cd17eea3fcab37cc82e1b0a83badf54500c16d8392d19974ff2014bd9f6e527f4f270fccd95c0fb57468613d661498358954a766a6f96d2604613b0eddddf6dc5ffcae4ae022f662392d9bff34f1f4a8921f062a0753012e233fda7ecfe2fdff1e877dac8bebcbe7dda656fbfe30abd2850a0af0f9fa74cc3aa72caa0d3714073863d97514b92c3b6342548ba69631e63b93664bf8d4c360acad852d5dc84366a2f7cb326b21cf712c0acb6e6e6dc088bdf8d7eb8e803a0aabc5a4cfd279dc16ed925aca85ea06bd410996703bdf49d5e145de7a2d6787d805c6caef606dfc2d444a6e9241b381a89becdb125ccbf8344971f9b12390308deab0e70a6b9f37cd93a744143fb6ddcb6fd859da6138ff75e6dd995d789797239fb49ffd2a060fe96a9fa2abbdbae832ecdd31f0dfb844f4fd953f7809637afa3d49bd5a182d2d2523b5cb96552186c2377b29998a1c9d0de92400f0029df723a863e1e8459a57abe90b270282d9bf36ca9ae843d1eed244b3b1544c64dbc0e0eda4f3fc67f76766cda70ad354faafb395b00de080722ffde0905e0dfc3528e7e58fa8d771af25c5b07a8bc5c634adf785c7ef932362da5d6b7aa8d5ed76fa414608273f02077f5454600653bbac333dbdf0f09893cdab7f4b1d07961458676335a84c44bb9083be9c46378337e21f4e8e72615f10a6854899d2f1369af903721138e13e8e773a5871a19a6e95b54c1e2dc96c679d98d5f4286d518fda921da90c0c2f31f427ed4d628ff3529d85497400179a6d6374843a263fd5d01a88b614f846fa32d2e5e1a7667a7c764a9815aae6b0f0eb10cb61bbd81956385c74cd98bb3f48e5843a4a6edc9f4b8f3b9cb7f7c96a37300eff0a7ea5e8ab1fb4202bc9caec16ca36e50988ca9b6b83addd70872acfa6eaac268ed8af4fc14fecd3970ec3b1521a9ff544b39de0922f7b624ca46f46b4a0e66206b2d1a3b67b4eb48bd21be3a61a3eab43e25cf5857802bd2de027db58401768206d5780af8c7e0766adf8a33386e17ce3fb7c16e277c0f6d61aa266bd533920289063c5b095f69c6310e2f4e85718ab6ef17c275364d6d1432db032ea8477f113f5663cd93f47e9726b4360251919dcc90edc7fc89a4cb8818986017e171a2cf4ae21710cff3203fc05cedd90e28984c912f08463b56750085c1f8212ad19c7952f7b4c1cb5278b1b4e0d72acea16d178d3253bcecb77c6c43e897ea68ae61f09fd79c97eded1e8a71e52c2a1aea55b6bff0c5fc345ff47243081014b8113821a55c1a6f28df077b46e6b1b391024e8bb42963548af06365c0352ed613b8496db0f5f75fc99696f7c2c2a580a46d26e7a9676c8efacfe29a27dbeed4bf317fa315d0cbcce563bf26f49975828e0eb470c87e40e192b5022d68ec1adb7ab7348e8314d02f5b9619daa95fbf666d3a897e75418cf004ae800735f7978c79e0eb75d8d0b76f924e2467d6bb6eb8199f5200429f471b84b44e5e7f6ffb95fa4bffa4e54c25b9b650952fc15ccf0155f51f1af98d1fb68c820fba4171e6e9565392b3ff27da224059f540c0089d14371b55eb36982f550dcc46865a1d2c0e45cf523b983c247e7528dc98f5d24afc8c62ee9f0b3752ee8da7bcfc2e4df494009b1fb5986ada8385f8374677b8574574586261a096d769725ff1bc493d6d322bd78501a17709d97a17334f4991afaa3b318e1d5839fa93adb30db096a3eadefa5458dfbbeaed20d3134515b3ab94553dadf68980c065c56d9f8240352ee34fed164eb0265ee1468f74e264e2cae8570c4e95c9b0bd654070b5727453be6fb82215435fa4bdd08d94f408b7d7ce061756f5febb7f4437f934480ba9c6a7068b9e31be71934ad46f0b9ebbf0fd9b7306043b8a09aca674dd4117f5855aab32d1bce01414d55c26a332bdb9a0064518eb132449cb67ae3de2293c60041e3e54bb0a6fde4dc6e9b82b32d5df6b2181ec080f7edac15b809c5b2219eaa2300d7c0a9377b33248a7fdfd628b00bf820937e0a08aead5d85f72e846ec998ef70195e46fca594f9176f3114f542b33edaeaf913c234acbfa902272a8e8b39835cf7251f02f8a0d6c2ceb9e8f2e8fa08849e52dc843134af7aa4de5559689180691b8a9d5e0e949ab5ff053b3782158d99b194700d7ea35e452937737e30b37538b87bfd2b8cb3336350771b8fa37cea5008bfb6d7da0c98af99f0a2e3012e67c8c00a597aeae6c8a38a550a2330563ba596e7628f488298f75898c077ced111558a749ff03b2b8342fc983f625de9ef4b46c8d508f63bae809479d9a21f8d851bae8da711ab8d7104cf7bbf05a0193d41971760a7d9dff8ef8e53689901f207e186f3c71101fb056ca0fb345102785de1e9f573ddc62e117d47d0ff5d3ecf3f3d4aa5870d8206f931610c37f926695169ab5ebaffa99af3bc42b57b42f4099d7172cb6d4d0b77a2167c0c1aa6b72278e7f9f1ec970a888c6ff209e267fe059e58a284ffe70458d04c015a9c12592e16f465c4a7f2b26041d49587e372cc6cd648f8f128590e297e710afd532fbf9e370187c261c402edde79b7aa521a3d07a5d8b17192dc3753ad68db86635166a854ef6bf22f4b907f1b6c60f09ea47da70a16ef5e3412160da7ac4d6b395c0b22535346c64f57961cba2f83db3b23d43d69fc9b6cb709683780a45f73e2d4c922ef607d08ed55eee13bea80806d91ff43820bcfb344def61179b9f6584f2d5ee10dd2fbe4666fc6be25ef42e2e6f402b4d492df2ff34b84ab3a1e311f9f50fe473c481968cb39ca93f3d958d6077712012aff813d9444fd2500c1dc1d8e438a9113b5e3d019b387e8fc44e8fe420ce7eccf6cbe389c4778b7f11c8fb52ca6a3558f3a69869af676fc83694dbdcbe1b309757506de184744f8e39acf43645da7a16820e40f38fce09a7a15b31226634bb2c31ba2007ffc16f9bc5b8b653ad7e5f803c5671517f15ce6b8f8bb9c6a1180c2258da7e6ecc42023ee82e41d40343d52583ae1ac8c5b39ee47eba4fbb501b907de8f54783344876769893c07fce3c4d5c417028802ffe16a8dff503b12eb76281b541c6f2c75442057db0971fbc5f346add1eeac19ac1f3b27fc5ea30d80df511a195a68f258e19483b6dfcead8d617a415367a148306371c798bc8ffad4073c616b49b267dd37311cdb2318edd6f10c05d04716c647fffd6cf24f7a40aaccf4f769b4c20606663ab39b4128fbf3890e3f75865f1a963231755cdc8b5c3d7438cc0228cd5031357bf92dd88ae892a2662b46926e58d8dadfee56e95a13ca5c83512a88e09da6513ca411832e65298179dd1b6efd2b7d74dd73ada4caac37ada8c309cc0646a8f193d80fad2b0a767c2448354dc6d2956cc64b1984b785aa54e9b1e087f8f586c0fb4a50078c0509fd31df8b6b569158dd6f6177c9def53b141f0ce1ba7362fa8a66415db39271238f29d84eb97d95f7e04df28dfbc2a6276960922f49d60f439de60022d195fb79fcb6cfb59ddfd1fce480596e254291538da620c0efad242cb97f1541753d63a74093f8781bb09a217547a738cb59a719fbe4ecc5de02feba9b31e63d3c35d8ba1128dc032e91636f24d9660b954be2d35fd1c874fa8e4f28e6511123d38532790cb45c29b2507a44480b03b8188c427163f2c72e9a31c1465b6a4f8eaaa0d4c5ebcd2839489336271ed72fff6af1d639d0cd8a4c6f2ff9b5f1b7170f0ba9dc7063de8580ab2f6cb88b60903a11c91b4fa129f18945df82728f1c479f11a6079598ad97bb8d0c3f9cc88544cf0feb082bcc6ca937d9edab93ccf118d96563cb22233b34bd37b720175b1bc980d04ad1acd7dcb7159b23a6689b2dbbcd8aef71678bbd7cc3a86f0fb01337a7f9b40f3a73df70ce17fda3b77ac0b34486dffb046cc77b981f413b27705f18259a5e92e2960f4d72c049014a43f4abe1b60ce25fa9f027ae5ddf161f7a63e0282301af01bd93efbaa4f759ce502966f99ec97f7b396c7775b8f87a5f78b970ff48c2c5e52339e54478bf1b5ee28c3618b49d31e8b460206f34cf397e2e796e000cc0631568708d8aa5350ae5fd3ccdf8c2519d9115a08bafae6b74cf5e8e501656df8dac9146389f28922f1b4ff8e4eb0c5b3f2647bb534dd9154e64bf5daf4623a7a12f3a67030581f5fe7971b9a59648746796ab81adbbd93224b0a8dbf9f1bbd87706cdd76a86d041e3e0688d81dd4179564edbaeec3ce3a2358105f5141deae47f593bd11e08c30fc3bdfb72d34007aeb93747c853aaa5618d3d7a741f324ec40080c58568b88f25267b14192ea008661ec1c10f9358a0b28d04d45d0c8939c417ca237297604d924bed74a5be261c9a70057a148aadac7735de053979382ffe79a59932db3e368a3ccacc516c070e2d66e18f2a454d160e09c245f3207440e15db351de19f74c94ec0b663f95dcec3d69519aaf6758f23ad512c39a8e9c982e1717c31b998024743a31872eda6a0f7e65485f185cfec85c9d28eba71376c67b3168f82059bc8d9b3d5fcc88b5c2f6448c278f6158b4959cbbe07f2cb9324790346cede49a5850da3ae3a3184948e5fd8d1241ae19c0a0cdac606c7575016689518135e63e2b4032b7a5a5c2ad82453ac55e8f0422a4c4e122c7ca663a0a89445a2fd5ed9ed93af894c90f0e79cbfccf182a723c432a618a802f8deefce53a2be01f7b3cdd1022fbdf4211059266d7ce6f0f32807f03a638307ffceab9b6c06d47eb1300bc2065432ca263c963ecfa9d6a191463f0e58c6b21183fc778dca1e68b4ce74f5fc8d4ed2cb1878c1ae74edabbe0300821e38bdb675d477354a80651551b663154dfcb1d8414be7b5fdc1570674bbd9ab47ee5f67cfee597d84b5477dc5f75b0bf0316709594a3dc6ac7899ecb9a510eb29ddf8374060b37a8bf8a41ab4b446d99e7b45b7bfd0b5ea8d25f0d5b644c3c8569303cc7a1d98307b8114a007159e0179e89e5a934cd0781e24f31abc68e35db1a849b38e103a4ded6432e5569790d8dbdc9417ec4bdddc88aad3453ac20af0e0109ec38208298a705b0ca4186d09de809d6a42c7b6bbbcc259dc7a5f00866550bd384b8767d82f2bd12320e70a6120d1cfe6e596bb1277b053f88de33f7a895a7fd13d3248a5d38fe3012725138bac4eb4f26ce3beb572f2835a1766615e0607ab74c20d507092b637d117f010e07e47fa18a8960f0656330eafa0ce1ca830e639e6cb53213860883a90d5fc4364ae74c2bf6809f8923d9b8c654813e441af4a5337ca001e77ef520726ac043ff960cb53b25f68b9baa3eea300be269cef762663e2785d7ad3febac7990e9c2bce8cff07ed8caaa9ffb009f0c4ac8131fe8fa7ca9eff44cb5f5dffd0a4c90945e1902fbc1012963acc9495cd6cb040e4ec6ddc2283af8e7c68661908d4527501ead4e8e23c618e53156a12fa617cc57a35bdcbdc3a54c2a30a3279c73d22f61c4743224b08f3df7a47aefaa9718d5189ccd740d131f8484d612c3442a081a5c576919d4df794464f821b5f5c41802cde37c2adf25b738ba5aad87faf0c3b9bb5a621a6dc1122ad92b1067738361454038154f51b8779fc1885e460321e919c5ab033684cb599bf2a1529f93a67e96dba4e7d4ca085ff61c6d73bd91fc6d37a5fc0031e7c350b5ad22c2a9fe1b1b02852597b2af3e6bc1caac53669f96819ac5c9552e132d97f20c90009283c40465e929ea6e1f015434b5e6070b3cef630595ca7fa7ea2b9dfec106c4c98bbc4dcff348e92dae3e8f306292e40000000000000000000000000000000000000000000000000000c151a1f21272e32","message_root":"0x85c4a1ef8d75f8fa97a9b5a159161f9400ec8f0f7ec87d8faccd1933ae9fce48","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf3177d5f7efd61748328832701942cdd368750550c92a0b8a114f66c051c638d10739e0f8da5148ae8774e6de230e35b6e4d66491741af82456974485ea7071f659027ed9606d3d663a7073c72a03b2a4b8b127b83afa0bb21def227fab18888b9c3b677f54164cfdbd9519d5e01411237a2cfc6eefad2e7009c219ff8d1f573fdb838c0509458fcc40d488c785082e4d25c4e256aa304e2ea4fc261398570d8c4bc707d82dc049b9192ec5ba27095a9152d17f630f569b9fa9e69b8189ee6d890e6a18a9c765ab23a1140e84cd1e21b4d282b15b848464a5c9b3c8ff312308b5f65afff7dd2fb0c87e0a02432ed458119fe8264f33f3f172a4efae0a5b74480e8a3f3e5ec9e5ff2633e5eb16676a1ff520c353451261f2af8ed8e14a36c1708b1f7bcc9702aac0f02ec1de83628091d5322eb32f94d1256ab462d90393c5e79ef201fde0483f8ad7812a090c3c6d60a540aed88f314c9b92b81d76209ffe9211c84211a39053adfd16eed1c93856f3254ae09b4e68b2f95801033367eff2b865cb5d6d723e04330972d84dd5c785ce489971cadd5d652d96d9a43fa6d13c01f953ddb41616eb103ed6bae3be3d466b31f2e00e0cd1806748bcb3b8d7136d2d87653f0b9ac0abbd742129b38c4cd51dca077df218647ba9bad8b3af3ef80717c65fdb1923900e739775e7bda92b6531d71b65c73558ac9977c3a7483add8106c71d3492c5597165e02b52ad078b23c57788adfa147ea28664ae3658f128964cf0108398d9cb08441bd0216edd6dd3291196e4a10c6cb22f8a1b50f3210589cf06190d2cb2bde1a3a7154258e0e4f3e5e243e58548aa0ea9270dd55a0c12bbd28e1e0a1be80b198870ca55e31c91ac89e00d0b828905cd0cbf1844c301c7bbee37121eb090e5aef3cba2bf1402d2e2245521d4d40d5a2891406ddb9bcca7bce91b978a65a7cfb8021beba2c8cf810b2f1f43a5ee2b594f6cb25025c8d8b465085b7be7d3238332052632df09bfd32532c1d59ab7b1f1fceaabc030ab0dfac6d199730120cc139a405a2105ef109c896216e495f81302556be4e4ef7e7794c8bf1a75e3e32a9f75a5b159674c0f2831d839dcedec10e69f7ab2ac374356562d82d6f597ac7cd5ca94ce941d5865873bd58352666427458c3897e6c6e5a81ce729df6b41f5bd28b648e8b915e957a621ee94ae06a1581030363a5921b172d6a0355253c6803ae6f32e681503c8e4832cf94dfad7e225174e3405cfac99d7dc243614f4b74fc43cfa4f6c4241f635ef08b40bf17cd5345e84d7d0ac9809c345326dba79daa9340a7df8116d22551515d9db9ced113930313ec0cad441eeed86a63146b3b041e2742018d3df08364a00a6fb7ea119b5873473003450fe5121581af216a9e3cc1fc0704c50d9f9e22571d141ad7d517db3ba5683c3e734694b3530bfeade2efb6bc7bebddf12518826fa18d376c1308969638f0a720672a50ae2759cf6fcc6fbf63274d3a4c7d0641f8f101f19c694598165cb65ab9f01f0fc2a18c61cad6953182e5693339e7de6f4754d83ec0c4c60efb3663e263a048fe75c2c0b618d6915f3f927af31236690d50114439e967009a37610b95c2ea9d432cc1ec30d87324a8d3a88661cc9938a82fc467f400f8f74111f6a898abdf16ef4da39aadf7f6dba498b2402a268d5961a5b2a32bc538cfdfe8bd192649e6da17930bf2f4bd9d5e5d37b5c6e4a89120a535ca224f2202df71391bdced344175ad4d08db565b03e5ae42237af6e2d16c7fc0e654364c541d15b5fb800e78833acfea4a9aa7b8b675c81fbaa96792ab758d73b5c171c362e72a2fe539f389d4be963265be858e42bfbad2d5bbea75365fadc29296d1dc1f614785ec509d51f1db7122da00766beaace1c6467e63fa02b382dff8f48aa947d2c1f313a3ddf6207f03bc16a10a47195e581be28ed2c411ce9f2fcd538e9b525c3b6673081aaa82e1166a8bf6b2ec68236e231b3073a22c7f92e793e045b0ff1fdb459d3a815e2e403d93e9875e4382e5a3bfd9ec395604abea042e2794802a15de1fd0cc09127feab063602d7ea0ff144be3adca4cdfe3e230c4a00630728fd09afec3cf8703b9b4bf690bbc6080d4a332d9b013f75f8ff6b43bb153262ad0d250ac555906871e807cfaffd71bbf731c1f77e28e9193aaed2adf20bdd17e01c6201bb4cdab09ed50fa33309620b3045f7259bf711061ddd8f23504bc9fc04173750530fb927c4aa3cb44eaf4f642cafd34382b5fcc66e2dda852c1a0b899587f4f32f8cc13a92aa1d390b06e5d41f066f94deaf65548727e6bb413dc391df3c7ca043e04dce3ad5da63fc43a9649fcdfac672901b64ba3399c34cd4ec382293df75143ceeafe54eae432a04bcad344d38fda4dafe44f4901f67f226159902efb4c673402e5ba779f674a0acaad035de1232f0b5b8db160b4a438577bd6506a51818607b696beef6e5ebfe6275a1eb9720aa3344b49bee6beb62fe207ee24e2664b1a1175aa0a6991a2e1dee727435dfb9d4eb53ecaac0f5805da5abc60ec7a5b17320274773cc3d81c412a5581b17883a38922e94543354175fb90c753e65eec15df51e0a45d959b07ea0ac93f70102ae883412a5e27ca4133fb494b72f74c447aa911ac5fb66e20b2aa39f60f8ad40de4002ec6ff752e512a365dfcd781fe6b56ca7f02f0db0629ff772f9d400ce4f17386401eff095249ffb8301679d8d73143ab1ec8db89817feea8285ad50a422c0a26b420e5b37e4cdac7c7d7954a7a744a66bd4a0eabb5c4cff5dcb19ccdf9f0495c3c120f6c9b9c7de99a419c6e4cd0fc90b4e46355628f5f9b4f28cc256589d49541b8b2c7e3f13f29005f61d8caf567f0001a54b27b6db06c8ba0c6b53569216d27bd04a2c1566b98062d72a2dc707010effddcd69c2d31d8b2d1340a05773f7ebe9faac969deec65cb18ba84187567ddedd04cf8bee2b166bcd45a914fcfda9f602d26a24dc36ab9631fff34995f8b8093f631b446480c2e7ba6b73a7dd0bb1c393aa8a976116835b9c8d436ed600d2a63d4eff732072b6aa6767ccdd16dcf5e3790e8e3e5f246e6adc4d0d0c2c70b0b516c5c620850c528cb01b301236d80ab5fae07b91f50d513d14d26b346b4a4b9d668e94fb0aac3e1a0b8ba1c0b2221e42b040a9370747901cb00cdbd1e788f257a3d1098a0a540479ba8b06ace63f3d75032f476e5995a415ed9175e5f73e47314ed135dad80d3fa207daf70d773d744fe255bdc7a08124922a09972b9b292b50f33fb8f67ef139dd54fbe848ab36338da85b87bce9e4631e741f9e8b328427404a7ccce08e8cc702e530618d349879bab36c182d743b06e4c987b38bd0516f6fd7816b67649272908904b180306aead7d0c19720723f40ce2855a7f65670caee81d48a3eb760a6b67052555e356b877d955dce14874abd614d8d6d58348cd2c353ba3e63ba69a0d440987d642b9a1459a0f820d292bd48e4b0f3f9c77fa5c1cad6552cb805c660db7198af8b08bdc10e3f2afd6e314f0cee2a1c0116a6c335c827e2f65c9216224ce0c1de7d4a21866c1f29ef9c4adfedcc087ac42305039a478cc4da9e76f83903f7bd46ed9d1402cc9b696ce29a1fd5d0634fdb69b6635a1de094a300af74ed8a41432","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x1314448f61c9ad7f7de12f27b2a0a55a74cb71a2369352839ac3beb011815537","signature":"0x2f389348fe353978492c072f4766076e7a6d61b185f440cc69f42bf8c40cc2c2afe319d23db7fe8bbad2e6293b740865fa7b81bd41e5274eea9f65c25edf8be20e5a71afdae0d39c18d33da619a51c51ed9e26158758c4de47b04c473626ae5354fc3bc9f7044376c58e8917d0b566850149d9472986e589d0e259ef4f52408101d5ead1f2e667ce2fb4edb6083dd9f88b3d9caf3f0cecb614fc92fa53576cb8133f0721a3008eed9db562a33c963bbcc42c96b34048c7a7502db8ff6d37518b96b30a121e594a8e1f71b526256b3f15ec3dee88977213f4746b6f8c3cb4e79e6a2ce26732d457f37e3b6c0ea07fcb043fed9dcec071680fe6b67863214550ec5793fcd896306e1f46c69d2e29283e0e8ae1bd150e2e0452c89fa42fc537e8321095f2cc7c54392b659e8b01e071771b86cd25eacf150f9755a929e18af23b9439d7f9feb04650d355c5b4dd503c2a77d54c5dff7dfba0436b4ccec3953f71d48872a4e0c26485864f80da25cce8e296ef693ab5c8f52355be8f9e9f1d72c8916ecf568b22529e97f963ede7f18fbc5ef9ab234c3486695f90126b216dfa2a9053d679eaf53f8832c9e3e36a9222e8ddae0e9508cca2e73c69a7c8665a5f1b9090fa8ea6df5406221b896cd01670aeb05117f2c8ef408ea12e6c52bb94ece5c5a906f3f5fcf0ad89ea68d090f70ab46fb2797eb4ac9377dc42bbcab44830bb340be1665d09740fe50a822fe1a6c78726dab4bad9565e802df55443fac8ae25f4138b518881639584ae42b93b83a738159fa8bd950a18cc986446396d86434a03df4c5193014a984dfcaf3775694004afb118398cc7d8ac82856b025188e01f0af1e961f2042b9d2c0c1f9a9c45199ed28b0db7159aa97ddb12a353214def87dbac121aa61e182f20b4351f299540d67fdee994a8b67de54cda11ecfc6e95cf788af56d6fd1b52073a41b89c715e87788225ac2dfa68776f6955e045732a4984f3eef8db4c5de642c332c62d9b54eaeec6c95b1eb46ecbeb2a2ebb50677b2d135ea681b3a00b4b7f35a7d572f1ac39771ff3cf8305b0949e5145d04d931ce419d14b7e7bd5c13abe73e1a100400147a6a5596755e8f930f3ed9bedb02073011816938fdd76b67a57bd5b8b9bf022ea4e8bbf3308ee44fe7dfcc2a1b5f8d033a7751fa7b40351d16a861d8a88c689dd4975180e513cb0e2a3f27ef72d973fb6808d8340fca9dc11575c1a586a1a476ad145222e1436dc1a30839dbebf97a3026f5260bab5440439410e85d24be3837d83984e46eb55fa581616bf26fd5fa6f9dc383a990d2a6136cc986d0275b0415ed2139be43b4992bcb954f45451cdd4a30b1bcdb2e4b99e33dce515daa5f8ff669cffa8977a50202be6bef7a36a610cf5cb854a945fc2acfdde725bccb9930839e73edef425502b7a48c734e76d52a6d79baa85e0933c5f4634e3e2feb6c0cfc9de17c9e09c91e16579f982e37f0188952f5aac43fc051071ed9af1429a5423fa61afc74ccbaffef2d9b1aca63b327c2d9d014748123f57e14e5bbe6f1004c77bf73058aaa0eb0348e25a7bc7328bfda93cb6220e5c25fa8f1118d36e46753e24280467cd650c2eadff2764fce67a39ef4f6db205aec623df503b87e96f83ba71931f8d3dba4d9937b0bca9f52bbbf5108704ca60650b49979101566ef7ab3d43d91bf1c27e6ec0ff6a4ee1122af37f2c7e2de63b239cb86984ede5ae72bdaeb26ec8d8b60611b9e8591a984536e7a39ad8032cd1d04ecae0b8676c26a065e94d41d63e76af994657a61e36ae79551162cd439b44449fc8ae94a5a0cafd8b39e700f841d932a9a684b621d87a0b515643a2ec52a2e8d3f66af22f05617e89238ba00fd8d127474b343b03d242feb1718e9a7e59e8229127986e7e1cc7959149e4bdb73d7df106cb8bdfcd3e8c4a229bda6d2d7e1ed03b9417fd1b90b6f56acbd83ae240a74e2c4357e5bb2626755ba446662779f2fd18b12472f3ae16e34fc34ea23666f3e6b099ff32e4cef33afbfe20f4d0c2212103b38959d372df74758755eb0d45d4913cf9f1cee5889c842b385e7fbebbcb42189503a85e2443a1878c2b644e106e266f2b17ded6128b5b6c3eb9d6c1989e49220291a8b6725f26a74737fd67be70081178ef50ffbafbabce13a91e10082e48d96de70452d850a077d7f7f980a44e69cb2343c46416d29517de6c822e641ece8735171fcd2797bbf437212799105c380698e607640d9777372be15cec7b5a22dd2babe21447abdbd639853a3c28e9f408d98dbf2bf810dd04873cb0fe72668a52a643ab5f3e13227bef63f5e7ccec4014557fcca95c0e2f6ba79a1751f785fdbf4e1e6d4a5fa2adf046137a7ca161530092a20073e769353570febd3819044d238de063ccadcf761857553841c0c12ab806912967bc96c3320462a6c3b4bd9be5922b4c224d6c3c2db3a24d8fd8c737c2f35d99522f516bd15bc53f6953ab4ecf98c9517f1ef458f016ccc2fa117e74536367d05a6ae4801d79864637cc272495089959c9956471059f07bd27f0ffc0d5d35a2a6d38dce5b7977a3c5bc0c96687f5a26e0b97408826a5b23bd8fa0a87cb444b42fd652756a6f6a41c01a1fdac108e9e71582ab808b850a592688eedf8c14240b6be34bb19162364ab1ac8a1c9c28c2a57a3ebcf8ead6a4ba2790fcb878285e0b1958ce017abe0ce1d76c011faacf617309181d2874ade9e13f36ebdea2ab89bfe23e6c8081052d9f7d1d185c3b008ec8793a5aba2b65528dd560689a1e715f654b66d98d969fc128e35117198184f5bb03dac74f284f63bb54017eafc668b12bdac20beac70cb6b0a8e16d0289fbca51c5fb965fd1524efcfcdd04e46715153761d43046a81bef08d390b5baf95a31e23a174eb44add235f1ed3c94a5812561ad1d5be9bbb9c5ce349c2923327537472a1bf3f03a319c47e60263ec774cbda37e91accb854808d352cbfabf0bb966d1c91e822a97e32e08bd74cd0ef92f3b7ecff488c8e478099a026248ef22990ee6202fc4556c1d25ef6b8e4451ba612d0ce2f7109cb5e8e1a3b607c43372e8cbc0289aca234fa40b8f18291528ba5508a5f22483ab2eda434c987624a5adf05206593c355a60a967cdedcf5154f4ff10790a2f4ced2bdfc2a7aa29ab311e4df4a4fb53cb4cd55b724151341d22ee4c1ad32423540975f167a9c7ac0684b76bb3308a5d3836461f7efbf86ad29c85cc1cc16e4b9e361ad5a93988d9a7e2afb2e08f947c33484016081d2f350d75d7e98647e7415fe20ee3ba6fd4b48c76ff0f2eaf12201bb185336cd1e3c7ec300c25842eb0243c025209a056b54b3c02a015dd02c27e3bfd9b4de044903645cea369a9042537a599cb5728772e854cda9ced692c8009c8db2537ef6707f010a1d036a1ea864773c3774e63fd343d0b34eab9a6cfeba323a229b87ddd13c874c7c82c9c19a74006653d1ade27fca616c10be832e16b607a203e215151524020736e18f7cad73002580d4f641c7d098e102822b71840343a2b54f6fb4a0cfd69af5a2f6bcd4afd840d57d14d1629d710129b7f599c9f68260ae387e3e3f4c1b3af63726ae43435c8fa17203ee7899a417cf7b01cc4efa45671d5963ab45a096a262775a74613a25978b52b34faff8b3f5bef66f493c6df9fc6014c6742a5238b7a56168688a6c5c113f1d96c239cc136c610d85d8889951c668c5e3e4162e9f642aca81e99860b0f5afe93fa87ee029284ccc6060c704cfb8afb4462a0c202f289c9dea0a3cc7de7b266bee7c715f57c366e9521a4827a8cc47bb813be42938c3b5d62203f0b9c4d47c6319bc8d042a6b61c6c947d662f4767bc2832cacd3d29807cd724889860f95b4c7b1a7c57ba12e5dbca1eaf47635fbca0be299447b92b7ced1c649bd7bd6149d7db2cfccbd785693bb3dbdaeed5458eb1015441ea38b4eafa83a46e2c8b1c6575fdc3309b6209a4e105052bd1789ac4d187b6b40a5e86b88626d54d9b3d4cf30de4aea4ab3256a919d6145d647c8acefffeaea0e4f6fd7338f29af3ecd89315ca2aa29780ae13216311a52abc0979636c5ffd06e1387181147fcf820996ab849b07edf4675822b2af203d4bcf53b4cf8a404ed1d64bcbf0e9fe3049d46b5d280e3e7d0c4d27f62fea6dc40f870029518ac32ca16492d2c089b8a8f23692ddc2e396aa86cfea7c1637f3e7e793d443621ac139f33d264a8e24924aad2fc394c252ebba4e9b92fba40236b90f6c981fe622c3a888edba412df4cb0865cf15afccbdee6d89510ad9fa474507f7bc9622d664eeb63e69c1095cfe4a971b79afe4e18cc95a36c12ac0cc2170494e92e8101933a41584944b0a2820fba1aa49ba3d2f9ce338b876d10a6d31eb2d35e07f045a3964ba6b7bf3f6bd525bf2bc203610e4db2ac35176e35a5c5ae8c63ac8fa9102f830d7e58c1c4b1855f6be1a67f3c9695d0250e456c5491b55c5d2d8505c38b5adf5b6ee54cef3af1abd547c9b8c214b1969c7a098aad97622fb9471810ee8168fd670d136dc651477a9932fa1111fc119e1edcc17e18528a630cc098a5677139a15bb23dd1db5453421d99de9c414189e169641ac3f64a1229e16cdd378b1ca9c8eb45f4bbfdc253952f7d95066f7f628e7edf4397c066ac8a41a72fccd7b992c26231191a6e5c1f4fafec516f240acfb5228a633bc1ef96d930ab669663ef71ad3972abdbdeb4914475f1b5f18ce01d04f210b4c9d9457ab210f38d184621616a5ccbe97631b2ceecdc6439aef18ae0447a2d7c03d452f452f4a2a5e3d4da8bfd01f601b93a9b4922021f74ac2adf881abb41007f4d350ee818e8eef0e04f68806cc9fbcb56c398f433f2a021be771d6fec99ae4d2db9e79abe00e4af37d2825e0f4abf45670c2a74731e51d198653bf32f5bd33aef97c60b4190fb6359161f553238d209bb1293b48cc4948c6d21228450f3859e229a82daf6a7c40485116655f7ca6db4dfe2a063c7b9b05621110b7697fa7da3502122234cd6823a09aab1a192cc142d83642889f9d6559306eb9e5fbd586cb883e93829e37aa5803c94fe0bc89ad66dec4c35d95b7ae24f44d633a010bb1d51490fc420b5cadd1e5bb1aaaaa478873b3a7c27487d1764023311fd181f580c74bb77fe6bd8d65a63ad0a1d4d76320ffc2d7c4ba49fd607af4bbd7257360402b88e3e958571981241db0ed228fd95e64a88a4201fd5aff46afce45323c07a0a1433747fcb5a31b9f20eb4ddddea2f65c32c25c6f2110268ed4a0c7029f580c9f36e8c5761616657bb64ccff8fc2ea767938ff9b94913b862b0933f3165b3d1ebd7418a429c91897770dea359339e62deeb16f9e47cc7f9e1c833204ccde43e7dd8f574e4ed1ba70351ea53ffc0d31ffd1e46e5b628aaa80c9c32892e4020a573c74bef10319f9956a46ead9f9048c3ca326e7eed416b6671cb030b457f6b3614d0f24fd9c6cf60b93a36f5a777e32d25d6fa7312ef198a902a825a080440caccfc1a57597450b763508b2e4a2f40b842837d1f4a5f46facc3a572d49f1826a02c5fa1d7e3b2d5da5de22ef6e0165d2f3812ae3419e2282f3848e790ac877f2216c4c6061eb7306b262e1e0cc29532ee01d2f30c91cff0197202f5c6d3283f7158048d8414683622eb1cab9a8ea3ba2789d3c98d412b1d69390830eb3a21a086183702f622a6304f922dc933b2a2881741c24dd64e50d98d2740fe305a0fb228179b090675c87df3d073cf911010c75a3cce43fce8f200d48cfca775e40b7fa9c8c9b280199e49692e7e2c1648d0ca6bb597b668824c931e73eb485f70e635a52ddd66e162f98856a784a863b8a560750bab8e4e4698d6ec2f2559d8216156ee673c7c6c582a91953483f7e00957697a60137968c8e1d9ad9d77839c4a843f700b00e03a9ea338e0727c85d98f39636e3b8a4fdd8629a93d8b2fb3a6d2e08ac12fa4c344a5b91cda550bcbd588f499b442f8b6eebbb6d424033745b92dd176552ad83e2d6ae76f6da3b4e36b4737aaa3dad5b923160cb11d5ccfa76e759727ddefc6a51f360551ac4c9a7a00d42a266766eefd3e922de944101a0bb280f552a460a65cc899f34ac189f3aa5038080e28d73e6c85dd1abd185497a7ef3f6e50357444892f3dcc7450a2ef5f880bdf87d131422e70911008f803d5f2065221ea11e59b26c6e326277b3ef88c27c2ad340ea6f27188ae1ea888cb256e2d8883a16b60181cf59bdc6536dc68c04986eba78ae516525a9dd0a90e864d486a790ce3e73df119489051e68c0be56f93d5fcc5dd36edaed688366d18ebdc91e9d6e29d34053ec2405cd5dfb4062e621595924dc5556c5aebff11ab371816c5065ee40af39a2a4298c067123202e53d6a21ad435800655643b336050fd1afc1e3342faeea16074c578fa8465f7c96cee9598ebada1261747cbbecf4272d5568bec6cd1428354785b8d0eb021361c1031335424a555ac9e500000000000000000000000000000000000000000000000000050b0f161d252932","message_root":"0xcd9e6aba852d02db4ca5ec20377d2c98dfe77f956aafd4f36a35cb5ee1a36ee7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf02df6a0b872b892ca71f86193ddac4e4e04460b10aec4ca5a0ad80e70208d913d7d30d889f6809b04b48fe8025d4b90e608e7404886c662d57c1df3e9bf0159ee475ba31803aa4a0aaf450cb955213a327aac858daab9159d4f1850b1401433ba72a83257e06bcb8adad06f01bd0ed37e1625ddde0de0a6f78f7fccd35c18296834bb3b8e8daa7cb01746bb1439da9960be9cfd2684db9b917731eb0a5c64a860d641a61b692117599061bc08c3bd13afbf85e120b4d564be227788b3896d2e794f442ed1b3a506f55705b4e1d4255a48b6b12092c86ee9b590a01419761d378396d607141d8e17f109e6077a91db1ae7333d44d92912d9e1058f4fd2bcd93dba3361e67ade94d8c8b755f88d31b8ee74db54e3254faaf140508d0599fff34f88b336cca6384a406b0b0c3f3de325dc455a46145e5a54f4ebc1d6994329d7db2ed212f0fa5d32b836579e3d28f789f482e464854b0a3b3b58877001459e5e0cbe5aa5989637b09838f9a05e26ec6f3ec5de1e74b6f21a44ba5c6145d8b747326e7301f70d4fdd3baccdbb744b6c79a115816fd90df8502d65dee97545ffc5974149de9b3410fb643a0a028e2ad969d071241cefe5eb5400f48f9bbdafa08f4e25a79fcc29bea98ca43b4d48bdd12c98a0412b93f9a1482b2ab4173af045059177bb50b3fb63e792c852f68933003f6f51522f70d1588dc5597a2e1d6ed16a2b8cea21699ab36c8821e027215f03daef4a9a835642d816dbd001b192f356f2a7236c3829c4c7b7907a393a8d2b170456be37c5884410752ee191bed3deb7ed250bbe7909578b7575d5bcc1c85fa765ecb176cd664cc92ed3d601ba425d66f68b38c286485041aa3e6504bbac9c9c822b5b87e1f9bb286456bf4132c19ad0eeb5b5690ebfab6f9c03765f8b73df42abbcc4c1cbb03dfd4b968c75350fcf32510f9e987c33a3c6673f4d96817889e6fafa45e82a2a6f6f7bcb56105f0c96247b493b95c43b272619fb3afed3f4bbd46c87d647c09b2dde9274a551c9829bed9d4cc3936f7737b27840c1d0074c8e94737fe7eaf5540ae7e1c4083757c242d650fe5314798a844f41d9151707d125fe28779d91a97953743ec9940560b6f470efb58897cd9d436c6c412e9f82a554ffcb994565371e077766c67bb921dd82624b71a53520a547c633cc2f5f870058fcdb2437be21474790eefe861acb0f551d5eca6739b19a50b804dcd63c55dc85f4a3789ed29f8205be32c2e30e2af894fb3139913fb6d490887018497eaa815eeaea29f8c22c9ae55bc13c3a2ed5b009acb886c22954bf69e6b182fd4055dbb0820da36e3f673d512d2218baccd6cb2d5be99a1ede8f830b1d8776b13b4cd6bc62fccfd9a110403cdaf9c5a2f4d8c95d00cea7ae4c743f2e740dd6c1494d079704db5721a559cc3be98aea664ac53bfec215eb43c0dc3d7afc00eb039b5bca0f1b64c5133ad1040178910364e6a6063fafa11981c3b422a4d15fd5fac7ad27727bb0f27b52e4571721adb81d364d160f79491bb50d70f597f15e455bd7e055063ff9bb4bc44f2cde3d2bd961b69861f707bd6443720685d9647faead11f37505d1f782a104fda28e387971c5d02031a5c3e857abb09e4bdb5f84a8cc1703af670be3c075073f0f037943c7adbb2b9c58b2bdba6d7cab9fdd95203f7a65aed08398916825086c004d386d47892286ab2738b8517fa9d291b2afffbd6414aa455748cfa321ad1ffd0e0f94a44a86f8862d1924da7c6fad8fcb8d1e6ac51265efb3a3e7d2d17fe4da595e1765aa78590622bb06b4323494610b11c4c28664a9d5fd44983de12091d58737fb940f775d8a3df5d9501189a835eecc7f597f3459d25fbdc73106c5283e617e1363fb67982603b0f6a60dc17be00c4c6ea33f122e2c99d1e06300133b50267dd93317a2dbba27944b3629bbb3408859a8776c95e233b06efa3efc3f93b7eeffdb944ab31d50e0101726302d802c2c38393345909d6bcb4083e239952723cb1191a9bc1da20728a26a86d6045ef07c9a7b4d365b39d695fa51d2f1ab44fcae6ce538e84ea2151753f6fc7f4bea241ce437430fad04fecf3da1fd2a746a6675e4735c3a78b23e7c4f50d4725d179868611894019d96fd1bb132d12c887af7bc6b07460b3f68becb7959c171c1cb9032fbc666c5b5c8d7eaa44e118a9da675c5c929860c7b2f32536f9330c11dfafbbbb448034cd8e64ba786f391ef5b8a3c0be6d9accb343661e0413904744d21988574260fe640650dbb7d33d512982645a5bacf800e6d5a6e4215c61f0e1bb9008eace68b5ecd2437675cd15b5a9f7334d6aa798d6a10a06648b711ef208cdc08be03abde08f192e7be4458f5d77dc40387702cfff9520dce841fc95078f7cd285eda3c85dce275e6f33b08941f87c3b765a762165ef87a9e6bebfc1efcc9940c56d1ea16e804e5ea5229bcd6a843ee79f62990850a21f395a657232d6bedc96d00e40b67240d9554157b8f291efe533d6edcd50d92f939210f0d05b83b18d379a07f02e0f4b1ce8a09cd69e537034058a6ef5ef5d8e608ca5641f6346c66c3a6780d6baa2a482b8f447e02def24a7c6d361dfaf21aa0a3746f00934bc3c88bdb407604edf0fe3e9a2857b2e2ebb5b468f9918f90f5da839b8a62c68b8e4a72a4b733235912a99bd876b8009656321f6cec19811aba6c0c8106d9bb998a9f5a8d377c32f873ba717f19410581882256faca08c64eb6dc1d02f0395558829bc50fe832067ea55fb8cc26b71ba66bb5bbfb34373b8e5ca3d5b8eb175b436b46b6c01469a824d5d0310a02bd60a0082c7c489347d54ee92e1cb72ed0c659e0d8d8ab5a18132b6c00c012b6aafed42a92fe653b4b15e0e19b8ba0ff4ad3e7bb8cddba41aedb5fb33bf0a37bd7afad0fef64276faae77e2a0acd8e4b07b3f70b07e2e1b03390fb60f48c983a565f2ea2f7348d628c86e0d0878481b14d56482c39ae3a0aa9c8a4ae18dd234b22ef7e3ccf85cd1e12513896525f09c32daed2222430f150104705443611a0127235acce19acda013c8bc55dc0e0cd3cce5be54e5f9819afa6e97ad0462d5ed396552166543c75c9263c9ad842fe26cae0f6a646ff4a0cd2b4dd6bc93c927f617900f5f80993997779e68384048f5c7d6f95c4069e4a41909ee3f7c76ee0fbd18d367351a5ddd8391ae7839422db99badd760b5ee4984ec6be470c9b33d52f974aa8f99ea097f35c6933009ef7ddbd74f0adf86cf3408960f7ba819aea9f7cff024bc1ca427ec76fa940ef042f791f5ecdcef48d7073034ce49446560473e845ce10d37dc56b3ab1c516b49a5aeda594d10f7684d54a5d720c040da7027110da586dbb30bdb51b7b62b7af49724c02072ca48f32cd02d86739b652ac52df8e3fc471b6dfafdc3878cb3c0dcb70896d64b56475d6182212de35b0512f7c3c0c2396e2edb1b1e2a87243cbac1ad3571e3bcb46565f01d8aa2aac78c6f88634d367e73bd9eba9beb81ecca882d828b0629f53aee7e4bf6cf24837f52a39168c2f1040aef14eca9c76510280d680433cbac2af4bf3a623c1ce28002421a9fcb86a45e042131fbce1545c756675fd63367edf453e2a1a31005ab94b6e1131e3d56b104e314a6c98c777fb1c647f46020f3e1c4fea6c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x344381f2140dab2cbb4a40fefb22c12259e9f0057e01886a4a71428f3e565576","signature":"0xea11219dab43fa8ea5170a75530e28b159b124a58a799c26f16efeb9fdba663baddea39ba323272d268d560a9acb54915e478085673663817d5cfc29c9ed22686af9b3f7e8ec4ba5ff69c7f2d277f43f9a4f93ba720ea60b2983206998e68c8e93bdb51cfd1fc6a7382192628a438910d69400d2ad2c611cc29b2cbdabe393efe1a682a95e0f6bd2391405f9fd69cc41096098f94f04b3d7c9aa60198d586693eedef46e81e26d2127c09caf0b1e2fc60aab70d8ee7e52eed61b5b75c5656d09896a484a643c8cd5b87cca6109f3ec0090bec46c728027b3f288e144ad8c7900eb9c2efdcf64cf89a9d948ef66deb897c98d570649c9c9ef7fb20e9b5e5aea95f4fbc911e207121ad8a30e4bc2ba58b3c9b3a349595d69a7cbc948f1e2797a80d83a57eab74002259eee8f0c431a06599c73ebb2a3df99aa169e672c72b9d52ede7e56515ded9a363323d6702639c0f850682b1d7668b399500b3f3d79e16c24922ba409c9a1932c7b74ee5cff61747b5f9302c3dc98b277b303c82a96f253a515090b0ae0d4f4a5f0f826de9bd206630194a603b1488f975350d240ec2d5bb64995c5d6ef4ce458fa8d73057a4cd00e4dd1cf0d34e0cef528094c56664af61110631030861b7e7e7f2f1ddcf52113991d8ae00b445b9b2c8015e7adf51ec27989ee831668fe8fd48ab338bb0fee15985e1f4aaa9f569d3b1a398cbef20f74bd46532800aa254fc58037a4c77c6398dcebeefcd339b7e2e59c346fff9b9068c2a214a7d00f2b0211f63dc75684c35aa0016ce4762aaa5b1c0937cac4510c82943a42670fffcc949086b4a73c99ef72ee29a26216ae3645abd0b2ad93bfc95a16ecc246c4e478fe76ff2a69a40afe896a47ea576a1efeb9512ddaaeb9c3d516b98a7f2c3f02429b3f910b866a6a45ad4627b87073a33abba1d7d6a865ca0cbdc30ef84d623f235a611200e324e0f69d7cc7dcfa475cad50111f5f0dce7e1d03bbb37ef2bb45925b09be7a73871883b4adead0216a57dd8c2aa6a95ba9992a92500d7a3a99b6bfdcc614dfb7f1af2a1b60179be5688d95e95e9d8894e0bdb18c778df7fc75b1825be88695619db30d05024a9e375d1fccf7e9113db2037b352cbca7af116a36a0b72def33ebbdbabbeae38b5f67d9422d56da69c1a76a1c1623707de91d39b52c4319e89a81885e432239091f6c7ac585aa6e6ae66668891712d5dc34a6a5b10e545aac37e270872f7fa9c71ce726c9809ebea7db45ade361aae76b3679be47efc97b8beba123b7dd342a8ee589641896e15d408fb28cd560533c576255a1514bd1d0b47ef0dde1d051baae5598123ec95b7ca6546f967cc9eb4388663850130cec440196d356347ba5e5b49fb6ff52cc199cf7667fb2e36a2eb7962d7ae3cb497fe425b2b00246b640028a531e966b299b09d6b954b28d1db0f92e0e4b3f5762a9c9872dd0c158dfadc8675e98960db4fe64bfefb0cf036bdb952cc0f13a57676a4a572884e555ea63328aaae048b0fe5ca60f7407c49d78fc9c99ff2cb9c0acb349b3a56a1f59ee7fe0a8865bc77036da4deb507d25964a18719fc21bd6844f9065c6ca23eaad0033c1ac8bf570f7bbf9ee653dde42051777b0df4a0458a7b10874cdda4ed88cfc323e19c5faafa3cb3b30ee88f268335fa8ffbcc68d29976884cd4d4f3f9a7840650f58e1c847bb947cb8e9a3244a151df6c41889f53c119585c6a7915db44ddaf7e9bc1ea9b7b13d34b171cd728d552538c3dca3c5ab692da7b2f03175d3b771e18b7d3a6c7268b866850a4429fa44065f40bde9d51c8636a586869620ea7f20a932cc4028cf1d96cce516a5f2ccdec3f4962ab0d8bacc666992d69409b0d63e96777755f66c4abb4d5a986dcc7dc1971d94debb5ac9c86fab1f6b14d1e120e6efabc3218eb5a9f738a605e859abd0e35a628d692f2cc2d4381afd9abfc97e8b68d92cb2e438f3d2491ed82d3969fdcc9a1aae2017ca7865026fba91dfb3f5a4442ce7ed3b085898e409675d95f49d9fa5a1ed705afccb4aa5911da1add16b98ee9f7b735c1f722bfedfda93411818b39b10eb99aa7fe69e63c319a531b79ed35a134a5723eb491c393cec9f1cd734d4fb3fa6f9fcd8fa5ef71b5371e23d4bb359b28b5326266b051f617fc9dda506b6233dcb90753ac7c457e927894c3a8f841192576bb21054dd5b8df92d728243b86556f1fabb81cb264afb0d358e0d3110610ed096c4fe06b79158948bc9a310fab01bbcfcadb8570616c97c34d3b080fb849ecd95125b428a44afb04782a03d3dffdd5a48cbb1715384b49ebf3b48a6c33800ce98fb0e1e1ff5352d2cee5db128f9d4fdbedc1b2eb86ebccbc157b11f43e4b1dc0b5173e44b72fcfcc4c3ab5a5219230193b3cce0b8a5ae11cabba63487183231e9a14831903d4d4a01195b46196b7e0ef859a2267bccf3f2760d88d9b488556326f7fcd0be0f2167e40b37184b54bfe1abb69eff039f877d59c8f94af03d10a55d4ef23bab7df297d1f4f654e8931f2857a17638e5d503b6bf890c71effa6fbbc2ded0011a86bcaf6526e7ad09d77cf6ae7722a3cfd6fcc50a9b2775294ca7920f48cb0f1b3f3c5c18d306a0439a9a343686bc784266bf2899a66df5c7e16ef91ff91da2491a5e0707b6b180954ecabada421cca644595bc642f99648f1c0034aea6d892644f3301d086b2c7ac8ef43467facea76f429e7074eb9429cc3e6d5ff179037271a41382e6f2729ffd61582542e1b94fa30cbd1420813e42b7a2e4da76ddf42fd0cd44035030c653ae87ed5210b3f3199d5742585f047f1a1acde078a6a349c4a49d19c2f0d1b9d964ba75421c0039a526e0b7df0749f00a6e7b47cb871b5c02e3b55f51c6f1ab39b713f8c75a3fd78026422db8aabff0e2e119004e5b9c6b0c936ed85149889cc872fd2f9e663b3e54eeb14f7e4d27de958500467919e29db493567a8265b302ec5ef654a695bb36c33f9f01bd57499d2cf2c797ae6548dd86b78d552add1efe3a084c68b765d3fe4673880dce301613d4ad8b5b76440861b9db9750db4f22e3e7f3237543b03ed1323bd4d25a968e072e0b36ad165ba0ff51b30cb4fef992269bea62d03137e589e2d88732ddb7d66d5707ad49c376ac54d8dc7968d750e6fcb49ea6e954bdd3aabc1a8ea0cd0d068b344b3eef6013244b3056718d235efb2a6cc5c3a11eeeade0bc9927ed4d9f41618069ca801794a0f2fc256f0e20aec62d505f960679b6278b84e339582427636cb48721077c1c58d18e1e56111eb275f29adad2369fd6a0eafbe52cae2d6ae8e3a8266f5ceed39d28efa8801268d3a74df67932cbb2051f15e5fbb4d6bd22ea8d059ca2974a325baba96eff8490434661cbdd7466e943dd8d6aa3946e9dd200ec63d09dbd2f93bc7eb765bc262578a297fe07b1e48e63cf9c71a763cb12a4f41afa7af38eecb582964c8bbb8307cf41a661d58d1db04f4d7e1971caa2331a6c0d1345febf17a72abce49cf1b9e7d3c8486109f3bbf2c8870927d641d76a5847ee6b026843bbcc060b5d64833292c3c7eef78e58771c78542439f37fa478dd8e2f89227fc32475cdf31f1018b864092941d0580efe2e0a05f4b61c650a892d8a7ad06842649097750ec13cc088f0480443d6378e0c9adfc312e2d61992a19a951812c73ce0ad08e832de3a6736f7dc5641ee7d0f3462ad27a150db066934a78846df279015ac5ff1914c2110cf964c6c8df68b814e5954d19ac52f343f3af5a015d280f152e85dac45ea5e97fd928f787cb55f9f905d1cc664db553d42a9ec172e98a6c8a301d5e98544f855e0c4469750470f7366ad0867541f60ffd42adfccce4d3db81ea6079cf7077013bafdbdd353f9d00e63e3d42951971bdc480e93dd975f9a667ac866f8ea0ffac7c2859392f1200815b0b503369a8e34c6cc5524e80bddbd35133dd69fab11b91f5f70c2666a5dffab4e916cdb035637a519fcec778039fb584e4950b03dddb2d761b2f5f68250fc456788577ed7e1770104b7d8b9835a4d40cd815c806487a3f75c0f7281d5fb91deecfee165fbbdc632896aec5b9609d8286c4e8b00e8074af41abe48448642918f234a20b6f3fb12de38eda2eedb1daadfa93ed720c3dbd10e81f6c29705e06d7fc708d19f148860e1525ebcf542352aa8d8c5182b0055d8552a6cfaee95682a5b4995cb4380f8ddeb30951c4973dd0fd1918de59dcaf83b68cd0630e0e838eb9978fabd3d17bfa43ae60c6671f42cc7b246b7fd7be9592a6d31c9661648aafc988cea03120dfaf6a9332611c942e5a37311bc2250ca62c05f48936fbbe58d989f4d94b44d3da93622456b42dcd60fe5b71b2f67d43767ef3b9ab3cb1757ed555be0197cf110146a515fc3dd6886d43a5e3f30470bafa7f74cb518e907dd842691120cade1d6d326e4c5cf1d8161f0cfbcf1d0e575262a8da5e8558e03b4ee991b1e710363163a41af2279f58ad6ee28149f7dd7c305a103b052262df1714f18dff81ef4f4ee22091fcd50ac316cee39eced3e18240c4ad07f317a13aa75eeeb3aa723c8797702676b101ee90197682644a49c8a4ee9f5836edb10b497e7191a905bcf3efaf04c61045bc3b0fc539568b74d445ec5bfd38c66a9f68587aa5bca31539ba2bd06870bd543dbe1fd95257aa5fdf3d4af6fc0c020ba60888dbd836c8142c3a0442c6c3c3889988d2c0b85388dd0d29658638eebc9f4dd8b261081a6df3e66d1c23a8d0de50eaa7382644532180b8f2faeca59be57ba4457804ff5bff79f2b7bf7ce778ed4c1a3ef8403ba0211c33a5e7593ea2c67d60567781d87881512e426c2ac0c4e73f28e490e4c9ef5ec86713411994c502ccddfe056766c237fe751b13e5734313aad6df9ea31c1b5d564131bc1a39593146a634d2ecf6b35df015b8ee5e9a038823f9ed0109a37a21888c84cc167e1a8e240005f954b38613d946c422d6c2250a591c96bfd5d31092ed1f59268220ef7d9389d829612daf42998dbb0604bf8210adc1c5e3aa6a32882471f002292b1994586c44ba6bc54c3c545d527f8d876243021d397cecd6f91007e533009e2cc6e580dfbee071ca46629c89a1ce1e1bb9d55893e4697c6bc724a13f0285039d5b3429d84a7033eae60b6564d9c1c21a0c1866ba6153f4cf3ec7d4a5676b97d04c8c38455f8932c3f7ce8831baf6dd1611b05fef8d6a333cd4e4cc661a2f1eeedbfd77f956affa3b0251846a34b0ac7849bda2d6331ac69fc80e59cca3c57af72ca084fa56a490acf802bd8d4be37c5a644ee60d8ebc480132890c8a7f643056130d3362105c60866f14ed06aca7335c1d2b6a01ee76947646493027ed2342a93b68a4f7ffb72d157f372b794c25517a99c893d8d5ddfc39b89e9ddbe4accf6390437c50ac6c65e388adb7fcb7e165771d01a57e03b734b8517c2748e6f430e11100fc35700da01adb4ac9a647776e662a033cd23a9f81befc81e818bbc2d2c1c207767ae2d93c158b14c4921657911e393f4b96bf86f6ab30ca14ab25c935aa67b547a4c6b4177dc3726c5703bdf51f86df7c6138475e892d472ddd05baa91f085d820ab13fcf137a3ba425261e97c317cb2b48d23c3b17247b110987307322ce150037b3c7b67db1d283421cd56a578bc8054d21d65e5d1f77e945d07f940675172d9e7ba1acfb8e5f2a80fa46abe4bc928eb4ba61f7f64584f3d92298e630ddec9484118f1fd7f28a85a3e8abb13a7ef6bf9391df9d3c82c9b058b23f4ffd71fa50508dc5c597bb93c7e509d7084f801c2f708d17eec20b6d3e86b21bf04c2bb9d1c90e84f188f06accfcd0575de08f0b15ff00c2c06033b5dab7c353efb9c98bc468b0086ca55a79b9fafea849664c2d404b5b3a0e28b8961415080f1bd492957aaab7cd9ae24bc27d0254cc1cb7105fb38163121bba4b71bc61c8b7ab4166a504863ceea4ef4055b5a6a8a02f37a3c8704b13e30e134ec7454faf3b0e59f6be7c7b2a1d3015bccae7d625b686abeb88cf7d9c0cb265fca197a856e895e37f957186815697bf801912ecdfadb777f6c310e3e98bdff127c62ba95ff7ac352274c42a2b399d528192b54d0db50cffba8c06a76f5a09098ff67d7bc8cbb721234479eaa2489aa691a7b9c5387df3d66e379a0c84927b3907bf2d0cf3e59b2ed97cb9e495b1a5357b374eb21d0aa911cf0036085107fb9d607123a325a1454e3b41ae5b78e229f493fa2c12822d6de8bf3c0c6b9610154d9c14086dcd3756eb88e81f6fd17db56fc6eea3e6450ebfe9dcaaddd178a93fe7e666fe356f35935398d438271c5c91d72d496ceace0a6e06bbfeba62f90c2669ff9fcbdb7471a38bc5945321e73b8d1815659b329494ac77dd4720dcf10c595d81e11783a34777661e1bdf9b9cb7cca051b01c40d3847535558a1dbdcebf1fd6277bdcbf32f73e922d0dade313a515867738bb4b5f30d6378899a9bd6d9e1e5040e2c57ceebf80000000000000000000000000000000000000000000000000c11141822232c33","message_root":"0x858382e0894941a7ae0d12f0889f79d18e40b399e1dfba2c96731655efa5db3f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xefda6a12e3ece6a9855355c05458d5b1634ab894e448746fc32cdf2a4a2afde9403bdb823fa1cefceca8edc594710b9227c76b4850f3b23b7d6bc8975a3cbd48fb4faed10446f3bebf3eab188c74aa4cc133c32c08359395fa7a22fed780013cf85f422cc63e9b0f88c9149abadc9ad6eb120144e5033491a6f39f759df0b2ce4d5df51f6e9e787f2fa7445305eee4c74e4342dc16570608594e185e2f5884032d9c0db73986c0552d1dc3419d130ebac945b6ab3d8df537c7a2b52816fb3bad761754e6b9c4dd85835b6140d36734359b34b56465d7077f95004b14785cadeedd480378428f171c5969f21538f494e2b8b6f01ad8c2508c0fb0e6b8eb3231972ee2da236abf240c6ab154da3500fe417288b1e62b1d88a3071fb4dc59a04c43d8772dfcfc791191b1959e812412bc9ab8e5012ac77dab30186701dafa2e11e5cf6a1a8697453c0008a2e2cedd2e983223fc659916b4fd8ae96d2aea2c7ef756d61081013ac902432f032bfc72e45ef139f0caa987c86723997c1ff214c8419493c3c4cfcf0387b5368f8e01f5cb1f2950c937a6cdcb069ca17b565ef4bf444be15e6ead09de9dff198d148e9c7af2194ade80b95bc929b36e026718ab2cf01aae9b7bcf92829538bfce580e017d74acd4a58f91151c9b05c655f5016fa74966ae5fa8e81a3dd47293795ab8b21bb21052df6a342d4e7defec8dc88751a7bc849a5d0e60b726cafa0216e15eb673c6dd48a9d2d3a181449396b63a3ad06cc419bfa4e1240c69e62f49efa1e5261645d53e1f46d7a853c93f6f24e9cb9e9eb88e5132688cf15fc2f9d006d373096ef89af87c58b2dc15ac9208ca21afd871a369cd3c25fa96279ad3fc4db7f4ae27a3b6b8f3671ff7e06d0660939e4ada6e3024bfabc1901c65f199cba0e0d2a1115e7476e50f6f1253656f7976cd67cf4703a72dd9acd004c8b7f64cdb68161d98e4afe8f7e3cc8c3595067e7e0c08e3d1f79869bee61dde22221136b9ce7d633f34b70e736d3aa20d45f8c90f7af48a7026a056dcbeba97b3d343ec3f4d6f20c905e4a6d6476b2dcd63fe9abeb399b4c52328826a5423dd06d5a4c7303e67fa718850d7fe0b1afe23b7cfb0792aeffd6808e826808bd06e0daa93fb0c6abcde49200ed68540d48cc3dabe078e8b3335cd4d6a2ce58d571dd1d8cfb60dbd528750c488a8db415986d0df30b6f299af06481e1d2302366c71dad29e1025da77180ff23064c776fbd7f1a92684bd524d55e78d4d9079f446d92cc643f863ad8e30be6f6afc23235d4885934f108fc7f8d47fc858f42395a14dbeb58a5bb7384ea2bba24baa9bd54bf527ff6594ee0ce46c9dbe4a41878992eae48228c052afea69501540c86f80b2b7ea24ed644587ead0e68fadac9e78433ee57597ad7d99017fab665368d16f382d1ecb067846617f9f8876b3497c3a39ff02c98be61383ee7658afe5d1574a1e793ab58a2a35d7d7781d3838db2fb40ac512f6966f3eb6549553b01681959844ac04910124136060e65c286a7056952563dc58fe89362ac37ba4d8f47434fb83a31af5b12b29be6f72a118d873a5afd4742235e69891eedf55c1fa2de92212b21252db2731a0ca3b60ed7b0e5b4de85f523c0304f7811137c0aaf4833afb6887a538919fa464a3d7dbda978b003e60792e2c6891bb0cc71fd2b103d4041ed215cbd0e4c9cf06cf7d8acf00d81d4ef357eef29db47354f3d22666a5654d920d0c5bbda0b8d78e708fcdf97d4617faf2a3ed29ee37a7848b8311752ed479d0ec92cb11863e1dbdb119beec600a02734fc5135e718dd86c862beec44bb8f3069dd580f27698c42227eeb6efa58b46ebc5a98f66b818da5ccf0fff9e0b1bc97f1b2712870d55d3930d59032c53438f600a3f6a6e1f22a73fed920d8876b048f7d1dd254b48f03be6f6cc8fb27eec1ece1bfb9bb031fbbcec51e8d8a9111697349da4423f59de3f3ab07d8d8652ef20fd819d4de0c8d9f5d59febcf6aa2d40e39aa85ed01d1bb80d9b1e854d77b9481dd5c0cb3be510e41013c6bd011ffbc03a5365cea55c45d7257cae06da5d20f323110758d469daedb2afbbaf2addadffadd502d82206abe7ea10306ae599408b67e1e5e7f9a2dfe8033c175dac3b32c9e52efc717fc57886c14e0b95456a9e9ac175881e936effe84da2aaa21d50d19ac9281cfa7ed9e4effe57517854274a0d96ca4d3bd669016ec39875ca3fef8c8cbd9d21d4daeeec63ce2efd01f9bc46a5a27fcca3faa6e9e0aca43d921192362fc81064c8ee1c2e9a920fdd91be7f17bf13a08ee45b70f331e41f8019a8ae3a936114e8f66a1af4a3e3acc57b1f088d42d184e1a447c0cec473c4288a98128a435af22a6ea8fce81c0f1c79e8518e6de9b46a666cb1c82754789ddb18f2c4d6e353eab18bc651c634f4483c3fda2829c88cb65f915ff0283197475850b36f1a281839491ce0589444154b23c7815d9ffa9734e2e6cb95b1d85c7ff769373ea658ee97e1d3172adb5c71ec0159238a89644054b8e5e34fcf74c1a64bec275d999bdc200d346a253bdfc15e9ad5ece1a66e71618d35952d2108ddf17e15153801f50ad32eba1e49d572100818162dee361a391dcf4c137e77a1bfb35ead66198be531fe4a05fc8e0f33dd442dd51fe72940534d50cc7357ef407d91f78ad4efb53bfe8d64d33c9c2c4d57cb2a593741db04d2bc90c6f0cacf82d703fe9c86892290e3917665bbc753522e21a5a98c2da87597e3834a7beed1d6bde1ef67587434254a9488b8c7d3e74800cf02c784b1d943c418efaf7ddba4937eb209dc6ff1cee75b5998ee905bb62bfbf311ce61787f910dc6bfa34eebf3acfa962e101c387f9525d40f3b30dca15feed284c449e0ee84869a71cf03fdccee6060f7fde119cc4c444048b86c48311766e7b11717fb2526f93467536477fec267af8bfcac6774fe60c188d5b8b824a125ecd8dc32b0249d721e6fb3be58036f2d2ae0af16d13f5757a9e5f895f2faeb34e8aca7f009c9cd7aaffbb36d0445d3c127f20cf2af1e194b24f9ab831e06691254c4226c15fdea41a582a86a3c434288a7ab0c8f989dddf83f13ed58ea119df217e32f55899fb172b0d195cf742be4ed5f420878b2ac18b4824b318771d5a16736e750b9a91b3476925b93b66185ccafad9213e360a1a78eab56f3df7ecc89302bbb46e450ba5a8cd7c72d0a99dc16c9a0244e5ec481e49d3572a2d551d8a0106c310a1751a95d086f31645f348144f8ffd30ff6aaa24c69943bb9d0cb509e774c156d3895a68002f4ed42e18feae718a0c61dc29f749fb0eb8d91b2c0b6363beac766046f83817394ab5ba27a8da9b9aef4c17336adc54eb0410631c599b780af575d7002a8bcb04d328c3a843f08a8b59fd0f9b52968d5be3976146b38e445c03b80d24364db0524b8568f949595b3026eae67abed5243d7489d164ca005d4c947a7b9d2c5bd4e8fc178a71e70d876059356c4fd5691367ff1f3802fe82c875203fcebeffa62c95efdde1e40f07a38e8e63d3aeed6be70f9bbf95245f68a46e506494de3c683869f3b34c09e22cb515ecc27bc21bfe4276d2128e612c55d4bdd4552c04a76f0b19e696f8fbffc83ef81575c66aa93a8d20ded8befd4ef899afe38a5db9a356","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x411ec8dc10fb23863e95bbe40f3093731aa286e13152ca1e454e283648176084","signature":"0x7144e4ea5fb4a248897b616e8f860e359823af829e2cadc4e8ab42937194b58961eab9f20a5c327e99bb9fb315009fe27d25aaf1f12e174392d12c65c2c7f6dbe3a8df3f94eec2b2c9281f3e254ae8e1ba35b5eda1dba902e5999237734ff622b0680064b8bd88ce09fe94c0dbeaa3cef894e67622f53b46bd7c352bfe29d3da4b3d3f85031f35f58c8be604c302e51e754229dc4bab512722bca1912178c81c72dec42b5bdcc7e4982363139c2009e5830e17ac222647db10dbdf87fc18fd145cf531dd3afdfca12ab6539741300735fe8a18e160a663fe3a80a35299ca8b63a5e650c049d49e4bb8d6103f6a81a8ef7c3c4f465a0e54fedb754d1848336d01602dfcaec9fef9d86ba1e107a51f06020b974c00e2d5cd7599320f08ffe526508546f923e8bc055ec81623202cfbdab5a1125334500e8848219c0feba3dc7eb1f1cdb38d1b78f362c153857c46a00bf2e5a38a2e4fd4fbf1555c9e9cf9d262331317fae6227ed4f980f9db18beeac9eef8484a9e2154eaaef3184a6be2049a21b4dc30bef4209a7f4443b2565aec00256b6b5a8fa89a85c241dcb7a4dcf7e2d11cb5346e1cf171b1ed64dd4bf69a0eb76286e98ba7ba5016d7b5d42dd3cfa81aea07d9054dbfa8d59760e8d45ef4a3634628714fb9aee7b78267e38c475b5eba4c47fb5cdf902e68ac057da7e03130d4dd6708c39a0a2c3844cd7a8530a1e8257225a3c68f04af3e2da9a7897d948b623daa5d96724edf171f973d9cd347455c96da20e90f20fb6c50128d8050510c7be0a17da79f2f1cd6df7c2ac16e2c0ac27fbe8c539851ce0e66da58505eda6287e5ced857d89074acf3224f9f157a60ad52de99385658c8116d865f9e98b4fc21fa32050445a2224fe00e2198515e83fbc7741f1fd3905866211f9e53854ca63c26847921c7fe9916c9dd43997d848515bfa74c80b49d487248cad53bd9ca92729c10f3839265faa4be3c37b69781e03381238aec4b9dc717e0ec5c7a5ba0c938c26501c39e5db0dac532a06c9a88b183c67140bc0121ce2b474fa74231f905e80939a4882095595743c0313ff54aa6e819e4b2fdf5c39ef6b4abd8d5eafaf6c6324ed2be0d5950770da80886e5e354621493f47fb147e82f86d325ae91b1554d99f8914dbe8b0dff6f19820de99c94d960597cee8f2fe8bd4df34c7ddcd1941172e18e1ae4121247682c5da24a8cce2a541d2532faa3294ec6c0b480e691a4fbda8731d51115570a056b64be6465dac451bbc0909d23a4651e24715fe8c5e86fe242898b45bad78b8d93c51478677b5af210ad7697dc83e081d8fcdf1e9ca1188a16a8503ae1bab147365ef7d274e7f2a026c5a73fac7c4c8c09424d59574de57a7506a95646727403a936018523e887c802bc6cae91411f610655d2996e517b2efd774ca19da00b4766a87ee34c297d799be910be7e089e717cbfaaa3f44bf8133dc4037559116bba97dbd912f9b7f81d05ec79d5c4baf372cb35615101aadc3c09bdc5c66b4a83bbbbe6eda45baca8876f29a80345ebad3476fdcf00535cddb4edcdbc35e55a46062821f48f92903b609497cbf5e7fd09093b580ac8924dcc820d8cb029a3549d27d0bd06c98aa17c3554f77cb89039bea003b28c387291c1bb6a2f89b3e9453109217c04858a11ab11442e16baac790367198f09852cc87d65fcde5877f6eee0a335ce212219af7177a5b0b4340670824a788afb9610cc3bb0a2cc72390258ed2f2ef8f3f4f36e6f8da6a7e580c3a41960620eec6c66d7e134999fb97292efc5d57f1639ab80a92fc5c3d9bad5555a460b0d2466e7d1ec1570e23d671afb01e1834a7cc69dc323857336e74c7633221de8b0ca2c099e67e178bcc8000e70854b5c7aee899f401825c4829a1f5b2b48f6bfb53d780ba4ba560af6990541aa7f05152b932d1ea5a89815ebe6e3d08b625138287f8ecc37070e75433941547771fca032b1d89b90283c8e70bbbd31c34fd2cfd20b2db6027cd2602125520cde7ef1e3ec3be4bfef46f2702ba2bbff109d87046e53310b91a5c4cec24018507f7177e26367d07d85f46aaa7aafe2685d9cc309d65ff8da5fd7f6044f472c28a5b5d8f572d2c8bcc5dab91554c6a4be658403250e9df6f800e7ca904d62c85e784efeaa1d9638ec3528f98a7fefd1e3d1d53db1310bd3ba236da69d14f1250b632768dfb2c1d618ec4ac7abe6b4675e9df461c5ec30d5e4e60bc17e6ae78eabbb00cae4bfb22ba8e1a87abe99a2df10b4c3d6394721e2b0a3c809b51e2d24f9af8e0b8fadd3f2e773155cbf96578b3fe34173812c97e32f50bec365d54a88addcddab8cbfffc95e431b5434f7c1613b33f85733a2e7b92c655ce1b1d60b938b45c356ef4a6eb3507ff3233f453f64952a8b0ca316ddf1a681bb4b711579043ed116071b794597848887c68a6bd0ddf8dbf178b0262c8c845c85b30815e1ee64cc7deb789cd751049ab61261a6e68da239f0dbb106d58fdc89a53acb25f369ca76e21ab109f606415001d063198f313e6f62af75d3dce04074c09259850b50683cd15640f696d7ae9050c9d84c6fa1a4fd7c557c247b5531684c9a122bf831967a6a47c0551fae0be7d21e29e915c13fa39eca050fcc61b176d3ed8e6f14ae4c98e17fa692dffefb7bf4bd049425279c996727f1c60d7f1d8b8a4407cae89af2a2389349f0f4660d461053a38458bbe9c142d84842b51e371a55fad641b2a56fe3ca670ea8bd51b61e73ee19a13ac22fea25f4de58955373a75fc2ae7a476649c06bfd00f6a836d1a3a413e57937e65a0ba89d73dff2ba8f4877244ad35e54c97b2250c67342a86932bf38baaf142d2fccf15e6f537141b94547105695018f71daaee1cbf816b6d98ddb72b26904e30450bd0f2676ee55d5ef2c97a12230d31fd50f56e1b4c79753aeccff699ebd5b47330dc2a7281bae7f73c9ac0f72ba6172eff5ece89fb9d99fbabc0d69d224dfa674390395f399332d444f110d29c85ad3740da98a2ea51174b263758659e64ba5a736d82227b06a5f10859f3fae6710e0965adf6f0c88532b985c2a533c65095398b2a7a64a06f6f8143161f79337327f5e4c13259134ee33c5e22af2025d9d671e6e2d1244a82a51c125d65c75912a879f0f1e6718caf49b296bd58c4dfa5b6065ca32aca278d3ba1c8e72a99d494d112f8100da5b141fa2f192450168a4d352425a1f1f8745c08c624d1dea7d5fe0edc9c4ae8079dcd38648fe2008cf0fe2e65f64e8a4e59d4b047d216ae312916d14f76a01b57f6b86d294bf5db1710c141555b18ce020b1d4bea36d519d56c408b82572630fd90b2f570dd2c90142bd723a2b27ecbeb2ebed901a358e593d51358c4c819fa4f3ec4b8e7c3f0fa2b8ef22c73f4c3cfdcff77498b9d281f510ea538b6ed596946c1a02d9952c45a3b86f55a67a943cba6b4484dfee55f3c8b976fb482ae0690d5004e4079489255f42aeac20f383bb9c1aefdc9d814dc8db38aa792f0f99e6fd715e4c60539494f3c8654bad69af8796542df8634e378fe8e8f0b0298e0e8e7be6dd36c9b388d17b9b617ede672527ffd8b950847ae9b6ff54985dfd164ab58d7798bdfcca9476a4b2ba4b6e718e4cf717d323e9ce09ef51367964460f611d06986f736097f43d3940b6f746077d4df1bbbb0226d5aa0170e1f4cb94f0f91ec73c2da056a2a109c9d987b94d6cabfabb428de78639b09edc6ef89fd914826752c294b276d1bf2e19dae75c6a7b5a970dce16fb60e6044f25cdb8e133d22ca6fcd08db9b60a0fe1a7a58196e8e908cf1f1417631de7782a439bf5956c7d9dff6f26db698ccc6ce515eb9549dd08b41bd513e18010ed1da0fbbf4ac2515d91eb9db4725a5c177710eae996e5c2ac2ab362a2a163dc829e105cca0d8454446d979c917938da1b17d08c9fac424e7db0f696c78792d3d85989bec82b8f696a99e15431232aded5c21d5d9af6a2f02d960123e2ada362710c8f466a9ec6520cadf441621d2ab93cf8f224616609644508e8e28de23c9d2c42298ced1c7ca9c703baad8543744952fb9d6ba619c0f3ee6b7017b2730633c953dbb6d64c14d88ef9ea107d5f3d34f165904a1b1c6d582afadcda1ad1af58e058709466ca57f77dbb95d41a0ae6bb944e0056e5faadeb65e410c8306c88904d88a0ea7979152241b17f715e416e9a00b86e567d878d8d55a2e6910f1371ce20df10312bd2cdd9b19c5d5ad87585e0834eb34cb03e36cd674f4a44b76d3b1dd21ae9ad3c53e398511706853a20e0f2f1c9c54fbe031c836392db2a3c50d656a982a1476bae83f89e89e95bcee7525e09aee939d223928251d7d388f2b4170f387cccd576e5451be40f275a8f80b5fe9e9fb1acee203d65a9721ca8f5c0f763bd4b330999e64192e109d6a3ba1e08021041312ad8e6b2af3b396d3cd4858db04d8682eacec9ab7c5e51ea8c3a69b2e045034100a30b95f9b6cbde0840d78312a5fa8331d972b3d44d3f77e15bee9131d8e0d88270b61ed781fd4db55607c98e0b470ae73d863cdb59811bc82432e5d120753e10c9ed59fd9321e8ef1ef7ac7e7411b816278ad104a3e34c953401fca2fa24d85035a5613e0e6cecac4aaff0da2158241ac038c4ee238426cbfcd47e214905b99891a83898d969e522e8e4bc54a9a945e11a5775e02af610d303364cb2b1998aa4533c28a7cee5403d7707225ca12061f0f2def941d2214f9e5dc0203851a98b9786344eaa1fdfe042e1d508527c8a4786f7f91d746788a9b8c9f50186f47fbee784eec734e37218ce4b1d27f25dd516a4a5e4d8251e98ede4c1335f7cd5df284afdffc85ae62f5725ca524f61e60543bee4a7b3a355184b6cad16ca7a43a58c55bba0a5751ed2f858acbc821d0b1a3ed7ab7f0090a749c3623b30e2e20c977839e7fcff927f174bf1e1c4ed08d56a5ae7392f560e8f1198037af4afc2a8a7f83565f3cc2e3ef63d83184eccd066898af15d4e0ff86e1234e5c69d2f7513ac7b6601b38d31bec96a9ac74bdb026e0b9a1b53d8d2b821311d162820cbde6c0b415fbb5ec24b6ed12d0fd764afcaa90cc715fa8829d00a93bc61555bef58e2c69df23b216c765983879534e7e028a11a40f432d26c2a88d777effdd3f69f6ae5da1aee221963aa533a92aa0d7372032e29f28f98e0ceb370eb5b0ba1bcfb85c628c783b5d2f3e9a836969058bee166108979f06effed6539fd73c39af2a2ef5dd317382bd724778e6265ecfd14770aaf4f6a710a0ac42eb8c2ab0089b6d209c4f75686573473aeb43fe1d03d965b4e309bbed8fd2dbffc091cb25fc9468e65ce84cc64cca9a65dce4d5737f6eb9d5ad3fb837e250b6a460bd586ae2a0a82398f866bd25cf05aef26fa0e7f2e0b9f4a552e3a8dbc23bfdbe35ce73aa16a8ee89c9b75bfdab040967a5e47c71e0cee7d193d665eff1343070faead2258e6748faabbbe90e66f2a543cffa5a2959dc40bb3a364f349382b1c4962d0ae43200d02db6480f225fb7d964e56508a93750cac2f291acf4fac0580aadc092b5daa66983c32de081f7e8987d066ca008b6c201618a7147656f33c8bdb091644fe97b87b1b9f21cad3f2e8bd79148fd05905430de84355627c2b7dbd61a28297fd53637c8663b376236e031382b8db523cd8fbd1de6c7a8a84234f407d7d5684001e8fbaf44c3381adc7c4be67f2619a640cc536fe778275526b9736a799dc4c11573425497c9713f39842cacd8093a19d8961937e32b664695e134a895e8ef80c283345d46fa51b74ace45271ec397bded470ff5ef4e0705a57f89c27d497ba5ec89298c68949a95c245ee28f7e226d3100c0675ca15a08986e772ba2738d5d0e1efd748d0a92e006f2d807504605b1382a5eb994a1a81acd380b3e7f29bb6001b0eb8d689a0527bd448ec5a6151f86d1e98643bfc6dd663b89551f2669a76466ddbf32f3305cf8177beaebd36b65fc2a0b20464fcbac94f9dabe78f04cc5b5525a05e9dc2d84166d4d48e68aa5406ce583f52027ccf951a2e65bcbbaafeec2452c0d696342244590e2a14e31da6ad0eb3a1a6f784f3577d7a885e85609cad333eac49579bcc58a8d9521b4f190bf0e04cad0760d20c0389cf87cabcd18f3fef82437961c201e7ed1d4431b16af971789a174337b3b2d37247e90cf86e879c7bc5afb5cc33893005ff41a9556a2ce6cb301b59f8b0eca3bfe7cdfebb025b3e483cdac56f0c66a7966784318ee1acb18d5f27c92294bf269b366f92cb1e9ab7e9b7cf1424b470adf28cddf26bfef357fdd2ad80682d4359a6767438b01f03153a1c8bb906d9c64595c430592e8def84049df0aadeec6c4e43f47eb82e2a6e228a0db1fc46e4f70748f054b280eef116903dbe75a95232b8e3fe4395f3f3c3724c6fd7143f97000282b3d999eaecfdb25328e90b8cde146c1caccdaf5051b2e3aa9f5283d5e96989fcce7f7fe25748cd20e4a505598d1d4dbdde0e6ec2d9acce8f9000000000000000000000000000000000910161c262a363b","message_root":"0x47efb9f7f7d81c24a5ef72c674d3fa934dc23daf5ca8a9d339c1d6c02010bb91","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x916c4b2371fc51d73f0d187e6ea85be9a381bf196258a2252a38d38bcd8dcb72752d0101bd1ee9b3b84024958e3ca0474852bf50d4641d6e5f5463c6bf9cb0e904efc3bdda49100d24a906389b44dc6f22a17a8855e0d9092e50922f0575dd69a7d96ee4c7acd89877cfad32256b9556e239685fa6d584b96116dfbdf6d918ae768af322a8bff38455d962f79b8c9d59935dcc857ba58125bf2a1fb5181057cb30a00940d94b37e00c056c409dc5b87ec86990c8840d26b75f996c7e0acbd74f172e338c0c2e34222a9f2bef6c35cae5459324f267d48f341ee552ad5d0e19372f2eed17e45a20b62cb91be4e5d8963cb487ff8a385e0c77c98b5c37809cf275260da3c4686cfe4b8563de7206d1b103476448a046cae76f39d5209f63acfffac5cf941623fc0091409bf9adb78b44d1b60a3e0af9721d16f691d0b2ae27d4801c64fd7fa82dea9e9a3c485a9f9cee208f09bcb71ab77b1d9d246e4579f7a27340b156bd0807096289d65aedb5745f69a855fbb4a14c93351a20e26f58ef2189a1a482828f6318f70bcdb6bdb1a53d8a89532d2d66b428bbd7073e44effec439aca88a27260274ab4cb7cd1c97249615a7f483b6a6429a9f261300da3b7129745954601364936bd57b12c664abe64d0c208610ba3ca3b7982a38162a69597ac117f551308d02ce8a25de926a222d1abd1398500e46375eb39662aad4e93b75aba2dc4edb28637048096258dc81fb586151e70c809d31fbd92ade690996bce632ef9534c42c5dba7f97b24b15bc723c0f7ed5347bcf8bab9d3ff2c73830c4dec06dfbd5bd634758f28f856571d3aca9d7d74d327f8f85341715efb792a91c0d7306877adbf660e6cbd3cfaca6c6602ad02ff65abf65734d5a03ad6419b49729be3d5237d9be15504447c920de7575dfe9797126a37b727cf785aeb68158efd48873bff9497551a19fb6da727b4ba2fae2792d8d624efcf4c52a2173eed8c7249a2cdf626dba66ce41f828fc67a0946d316b10bdcf4804593c9281fc005364c17bb7ec82a8894d765189d6f91b62cf6c8da9b05cbfc901c63dddaf0ecefca82510818aca219c847798235d4facfed6e02a6028eb84d21da33abdab7b5fdf6e7140ce4ff70a17c476cd47f0021cb3d661b3f360002e7fd1ae57d5f01dae0860fd3352ac6af5e3af5d05b4237e616fcc381ce5b074c7e593a997ee0402e613aa270654716a2c8bb23ec9aa719fc5ddec89bf83dc3ba353925f1fe2cba8098ad1984ece0c300a26548ff7dcd1f18708eec197a53f3ce301a3bdd47cc16b44eb98f7027a8a53b9d96d59d2778abc3287c08ef69bb7fe8c0b04f5e21b3250ba4409d2a0985e9c9ce2bcdc0f07806cb00775b22760d94a28e67d64b01fb0ef3d255c0d4d1b9ad3fe9feb11290d36f7684a1fef83a20dc4684841bdcd024491955c84e04f8298dc3f179bdb29bd9479270915ac5960ff2496960fe9a0dd86a36c74d280ef95dc351cd428a4ec6ffaabedc1d72722264a95f28c8275fecdfe46c66c1d7ba9aa9a814c032d2b5a0507a16c5de521c7f36912a505a6869eb43e3c7e8a549415ff893bbdbba5bf5122cdb68865a4fa60c2304be423d6c8df63bc6b232fb8f4965f8f7782c4ec2c58c7d8f2c83f725ecf784a0a796befeb1a3b76b5096bb371212b1a9d1d91578c6a892e9de62335eee1ec26e43588a76ee3678b40c39aaad562a3f57e4f465a4148c6f1ca5c368d86daa2dc9bc78d35e9969fa0f9c3fb8fbf9d240c5fad1bdfb3e20e60076fb59fb49f0294635d36681c5db3876a1a130b2e9f7a5a2f91a2a279f5c98a464ce91765d0255de6e9a22de45dfed93906f885781339edba79c02d2d24672649e0e85ed4f9ceeaa67a0d82c32a5e0fb3f0f1a3477672bd6ab973180766dd01a814e4df55966463325a84f0b0b3508e86adaba66198b8f3db3d7909c677ed29d50a17f6efc1a30ad4ed801414ece1ca929795bed57eeecb0523b06810051e4c7564e3c59eed5faa312335fc8cf2d89307d477afec0acc060a145417f2d938bfc925013f26eb68381c68ea9dddd2ed2d0e42c1603e2767dfdd4a17540204de7a26627b5f4c974029f7dde66a67492956d22d689cfac49025465c444dabfdecb5fefcc68eaf633df2e99919f4f8029553306ad23bf432c649013c53f105e6041345023676e1eed68c009f12f31e8c4e280208e1aee225b8dc8d46c1837c41ef7b385cdf95fe5c4c8ce0e274d10b96a358541d87bc7dde14d58dc46d39fdb24908cf496fe5b8901f05427506addca94dc85b4647c5c898157dee2602a6d4c78e0120497d93be8b79d338f6f7b24dceef79421d437008ea50bd27f6cdd40c9a0c7eeef11819cd0464ba7655082455f80156fe6a8a482c3c8a1a0238a2b3527e7fd9df73678015fc02433feade9b7159e30997ce9369ad5a98d80392c59f039a66620d6b0d6e9347f0a6ae00ad1a33eaf437089485b8c2bf77fbd66b58a9dedc0a6c6796df9e0b47d3b991ce1dd12c04f49dffe94bbd154bc5d77229f63dd3dc091ffdbab9e0969b69b2bcdab9c59f3f7316c9e5312dad0c07cfd623bcb7a31c0e7cfb123391c4c3561513056be052445e5cef6fc51d481adfef9f54e5ea8b42afcf9ced53ee960a243d8676e57b5bf9479691fe21aecfbadb077c95a30e12e730c20ce75d00489c4891178e145b04c1ed4883466e77de8fd450123ba7061526c38443595f61d4619100b6a7a3740a9e45bb77c075849891b8bfc829ac0b270da779a6492403f237e3321cbfec4b08473a2ba467645e7435c8479951ecf0e700d547f9b2373e8f0add90e9e6cef1d4f68378e91dc112a5c0e847fe88141d167d7b5896afd8d6ff33c87aa7b085dd697e57e03929b8373118421c3fe89971c3db16e9b4bedb276917a7090d508d48a1567fc3768a3a09ac588bdedcd4930d290cb91cdca29699ca686645916c31dc5e51e014319b6f4050301bebb2e07c4dbf10f2330300cff992bcf1f0eb5b1261bc34fecea7d0c095dfe3a55306e9eecffb6c58d576f37d5f5de039c65d66966e6748b05959d6baecaa4439110b4b31051f7ffe89584789ea554c94a696dbdf96eff257e4863c1dfd12722b8adf7f70f5234bf27ebf8db2580acaf416b1b7e99a7a5b0f86bb854e9f79c23f0bf4cf37fcf5818c29e9507270ae891faf3ffc433789518afaa8ca9d60205e0ad5f497bb16392e8751fa6c19af140531add9697a3e5b80226a0c3600c9a0d0a9799ed96453fd64186916bb2ffc04e970a7c8427ff9e9ab356894db6a2d3788a8324c5d756df55a275416c40a580fa20f369b51947f7ce1d87cafe871c22664532fad5f2fcc0b891fb10ad04faf61d090b017fe0326975d46127b9d189c30dee1e0e5dc437b23ef9e07f8f6252e1c6384fb9b0cfbe2a6cd651214d2785dba1ad503239d2d89cf9b1a9e1d44af0cafe063fd5c195719c822daed5567ac74e08c17b14dbf64698cca54579b19d372d037285f1b727ccbd61139c98c9de6083f30f9fbaa66683f8d7e32e600bf9ef5c293aaa357954fca72bb8309148809462110d2ee36f6059e78a2a54fc8b55dd386fc6cc9cdb665478a62472d1c0ef38288b7844e92df3febefb1c7ff4e01d556b7f6e8cc10cb3e40c23e5ae6d4200e9949f2","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xd9e1965861864e8b636794d8124ca3d3e3b6b7ce8023f87c64a54dd2e15763cf","signature":"0x9c26c4331824d14d15b323c061dbd0cc448e2ef3670519685f2ac43236c62cc6d523886b67a7647ce12596eb2f9b1f61b93e3d043127a6c558352e248c27953572961a8de80397657407bb5f8a2d072755442232714527b8ecd2dba91a688116d6ce1245da6dde0f940bc289dfe0a3c7205ca0973cfe3f1c7e0c64aa7477a6ce25a57fe0740733d24036a2d8380dca74904f414e733480dcd196898d492555043b99bf53f7cdf8ca5deb560af1d12f20b18a0094be7dea175564ff3ee128fdabf773d5a2198f326fa8e2146a67e73418a4f5f87964382dfedc2094156699cd14a05657b46dcafb197827d223e810794616c5846d9fbc99dab8b78a796333daa9e4f8dde87c47c07f6746c770705c4c3bd8e3d5d21cd5fac251274482fc553950fb4dc09a4e9c16706d4c49fd57690635b63401df28af5caac7026e014522b53c1a6fb20ba2d5cf10f3501ea421207b4cacbfafcff12f28f151b9e3de09b60641d55675c899364f65f8ee5910bba96ce754d4dfd96e2fb37d22cee4986f9c8160589a60ca2fefce69366e51a70ed7361e1342b695b0de3e911a5589af9ba13b95ba59106cb44ae9ffc40e489754f7fd84fda0ea10436b8cd1cdaa384b85263058229c7c98d6b720278c9e86c9d7204ec27a1ce108efa64c0fe49dd06ee53bf512abcbf701892ca5adf7401c79831883946189dc44a6a1b3c23f28950d6b9643df33cedc972af0f9d6d91420b2b2577ce112b20b60115444515dcc1b7c85bae896202e98cc231d92bb937687a93ccecd05e28d9c8e6061adee43d0bf5a9cdfe791c7fabeedea92d6885ad26b30be134698c20d1e26cd155af29469c66b7fbf5e9500953d4c630a49a5df96768b869309a796010bcc6652eddbd8a21e2b2c4a1ac52d0b7e04025a195894e88e34c897f53162f5506d5e0f5997c8751fa97e6045a1492f8307ea591491f57d3f7fd99d43a4034a1d152aca537490527f0cd4adea4d0d779dfbd97aadd9e67c13469685445c14ac468ae6bb349305a4063fe9c01492a07ad650bce904d6cd830f461652a4fa9d1a72d0a40b0ef21b00c8f4ac3532e2929026df5de06a2bb3322fe7760c41f04b5586476ea791704518a73fd91bbfb091a91a0735f7ebe3a24453b968a9055795d0e4e6247df82e586cd80b0f6a36f1e5150f23c8b5847c79d3d0ae059160c26ee7e1c3383233afaba63dd727753611367ea2277dc315e77409958febc7be0017e1beda1934b3e4d4a3445e4cb2bc17f72adf8c825b22703f42d139a6f9087f8992a9aa9688f6824f0b25fb8c3b9528afedd14856160b01aa03ae32d0a2b40740f1cc3b7f340211a2c565c4b75de521d84cf5bbed6707d6f9e1b24d52b025b3080b71fb826f09a539ab1d5f2d5a83eb3a91ca29c2f965b8a508f285b3832e8f082f4b61fd4635d839acc9f9904ec389966dc59be260dd54756c718582330c1909605eb5b69e06e3287b7c3fa813d475da7c72c509cfa1d1272c2bc975aac2efb777bc33ea2689e2bf545790b45a3b7afe3a117db7595ea8ba26979b7a3fe1bbc639bcd77ed77db1afeacd0bcd6b4d3bbe8748904255193ac6822e0e21bb21bcf3427ceda0ac85adec4b42c7fee6944e34c46e4df8ae7b0095dcc3df5accf7acc1a7308d2bfdad14400e4078390f2771c9585e73996e35f0bdcff6ce624ad1cc1e50cbcf3ce76f537839fcb732201550f3fc1d17aa171878415640ea67abf46971d3a76eace9c4acce48a31d5a9b65f0f9db9ad06db5fab93ed9aa3ad0b19ac4e232304edf1265fad3b7420d5b5de3be027c90ef0a5f14def685d97529aa98fb85941f393137a3f3baecac4f7c5a1464f503b69bb204d125e8165629f38f231ca134439d7a84f07265bae9033351248c20e8661243b9d470095e9e4834d6ac37be4fb02e82e4086c39e747613114d8e6b9a00cda47baaefb105619c3e385321992456f547597a0a77c2de080a0e2309e79bbbc71ba914e9f2b64a7304c58fc27b1f8b9f0d8f95b3c945af230b5fa9e7a509034583d798ac4a9328f6ce89c2a5214d403a4e8e1faec30535b7c4327792e6748f93eae55a56bf60534c9a8f8caeb120e2c45dab70abd710d96c97f21285edba6c644503e7c393d024d9055b6355c3d62f33d2578b83decee9867f659185b8ec651fc7a2d1a6106cc7ee849cb07dec73f612f453687bafc803043ceb6f3ea7b441fc3b6ccef3f0e139500df528689bbf6900adaac6a9131ce9ce346557fc29ffd9999e2d054f859d5ecdfde85f4e976c64cbbfa1faafc3c3bf597f04772ad1fa026dd319c269bddc330b323ea599bb8fec4694a74ab7d235311823e25268723806291dd31b15e11d333a4992f9270115fba17cb2f540cb51dc362f090dbd27477befe1d25287e1361e1b174bda2e208540dab9b0ece0597ef5bf4245aa1abadda14891bd1ce5ebd4af60c6789c898d66c78074299f099aaae852ffc315cddecc245f5dc10e62daa7880e2154c1ac0fd4341be569f1b576221da548059169ad3da5cce7d016e7666b19cfb49d56a3a086b80e81c08d927ed50189416804e61f2cc2b2577c77ef3f867aec4b500eace824a0e3d561ee3673930bf582536516ab8880778954db854a7d9c302c8ba4459634d3f066682538f3c6d120392a5463df48cfc7b54c772a90f7c04ed4b0f860cab03a77277ce16a3c84ec84c1b7a40fb352eb967b8007190763573898a2e3f4e7fbb392668a7dd41fd83168ec3fa3c718f35def2820bf16aa2da36ffe5ed4295afd57e0e4bf83cf8f6ecdd0dc786fe0bd854ccdf9d9b23eb9bc84eaa9393a0f47bb7af12f3e801c8b6335fa89bdf9f3310a58f21946884e85c11b78f0ac88e4732b2e2bd5168fe2aca77446ea330ac1f373b6368fcb74f2cb42f14676c27ce437102f0d54723cecdbbfef545ad8a35b6ef7e9e45e6782f6d1f49218e1a2bddf81edee80656ec41fed5d29a8db7465d0fd1b1ff773e8c0bfd4c410760f0d8cb5da74faf27442d5115b2772d6561e93784ded1f26f120ec59020be3492e1f3623b5d82b39e993b26abb82995090a5c6853cba6fb2a4e51e5063c8673b53fabcbc0c37f80bb67f4fa9857fd857851c7c7dc0eada22e75947a3070807ed141740273179379f875548b583d43ee4e099e01656fe8829b178fc8a044ef5593be05d2f08d6c13876ca05986efeec433c591b7de415ed5cf33e4227d8de4ef60dbe60063c316c894cff5fd80b3552f3128607156e26a98cce3123f325a69296aeefbaa09f06590319ff816a53e34159bfea83fdcc04ab53f1915d38e07c6912efd15165559d47fd3640032258f0a6575db41fe0d769e16b7f362dc3f8a6296df9316006b1aa4585dc04851fae03a2c2695502c2dd0bacd0d22a8f9902ca4690b40206b832d4165a48b4162e02bc8047948ea6de27dd17e3b3d7b9324239d4fdb7d9e538a5baac1a1e1e511faaf03e0efbcbb7426bab82cc51a978d21d971525e618f21cafd248994113566e57d26c1d6508df2148dd28b26acc579eacddfae0a9ccefdb6289b9620c78a72c27dc5fe77d033a5b4cdb8e9a27b4bfad60e6cb2da9f67f3a29826e8722caabf574e184c397cea4e937f5ef7f2b092fc64f15858a503e721fcbf0b88dbd53a39a597374210349958fb39c5323cb1d71bbff2ae11be137bb549332a50e64a90db136bb836de353e2b71151f4c5f7e21f4393e8f167916016dcf3371aa77f3b8e070faa296ed38e2d36c64461bcfd159aac0f22aff806dfbe2f0f169d73d9dca83d37cac15537fb24c03af7650177fafa921c7da8a04efbabff4d0507d348aac194a107153db45fa566fa1f3906749963ac9a4459da958a1268a1c6740cf6708d936b37cdf36dc9273328224349732ab195cb105192afd2f7648f7245474d91ee93fa616c81d4393c0e9364b1a5807f3a141881560427da5d61613d060d99d6c5286e23389376106b4733d8fbdc3557027d071a9506feb1d88c7ede4fe571f581d665471397a4785f4556d7514fa80fb8635519e669e34c3ed9845d8ad8bbaf6457a8bf3b5eff02085789788d0246097be6d689d24a3eb29e1bca7c0f64ca46912b8ce06f06493aac73c1437463d17edff89b7caf262614deb2461ead98b105c3d5de01074caaf5401de854e3fca1604d041db32224087598933ab46c8848901d4add494eefc41179012fa9e7d447a154589976f0bd4d6da8fd85423a82373b389ba5a238f3195009c5a1c3d9b7804c66d7853181c2da30664545380009f6b06ce6180833ba943109d9f98a3421684cd1eb3449fab9cb9c8333cefb3c52d1c904dd1e20c8e008a449ba1fcd6b648d56eb86739289be27589ffa01e869854630d3c045724dc69a7266ddf5582ad5abe620d39abb022366da02fed6f831c20a0657410630b21d9b2b903227f24c5840d48798212284e7a7ecae93f914283149a7fece2427d43aa0e42ae9eebb017662d533d8b54cdabdbcdb03ba5225f2377e3bd1bcb4a9a199d505ba1ca709711e3041cfe0e7c61bcc429da1ba3056ce504903a369b20256ef58024d68c2da1ffbd0039622532b321f693b7dec7ded4a3142192620fbbdf8619d7aba68e29635a1390dc6b6572fa56b9faa77c73a661fa3c4e21a5d0c3738951af205e11891ce1081db99816a9cf7ea64a2423a87f5d11c92af51f7178dde1b529336477219c1733a0e37c3fc2a3ebef007ae7e22db5e7ee8baf7ceb363f036d6941b5a1589259785e2ab2adaae7828f93e9a9019872ca0a36626409ac45c195af9d795d753f8da68caf4c34c435c3b862692fb67850832ad15116d08411ac66282628de31ce23ff76490d104962cee7d46fc6747e6a813de8e691dcf40da10d3ffe4f4dc40f8bc627257dce200d64e633b2a7c8110931e9a5b2eb94a47250047c4bbc91a1d258eaf1090de33b2569cd45aa9799ec937ef591b31e57d3239112f72a885031a5d93bf7934a85ce52cdc5e8acfc987e7c2821a2496c6b8704e7d68ef5a49c2779a714abf9336b6ae5f28d18716be85cf088e1a825769d6ba06c1753c2fc7d729d81e527bc2b0258ab919bc6c35a8e7739be5ec5e471dc145b19a227a2dddc17199c1239714534040338765f41007b2306dca02acb14d8edac8d35361aca9b37338307a8eebe4791c75522d0e5ff9241306ec04cbdaa1389e4c60155a602896a9bfa2cb0ab881633d5f55b0cc5197d7c069c253c4d356887a44d4b7ba05fcbdedfeb8295c8e92a2c3c3a5b5eef69dfb0a0a8fda3521312fe505e9235f0d8a6f993a13d85329dc86f1b48661f2e96c0415001b8877d9fbb877a0b54148d865edd93bb57e4848957be4dba4e3f1a6ab4228b8d5937c91a75710140e0e9ee0a31a73ebd77e641670bdf9088f142b017c272ac8728ad80cf13ca5fe855a59288ec1c9af8195151607d018ffdd6c3ee86d41203597989e68716daebefb9c07defe0179baabe5c0b3f02a0dc5d049297dd50b93573fbe52ab3e3fcd11855a7136afa57bde28c94d99ea71e427604eec0ae0b0bd719f6a475eb32cb718298de58827f0338bfd22759289d73829a31310c40d5586b63e0298cfa6c591db05184d14f8f22530a33122b6cb39b3f7b9898b86460182590283e3b5e1cc1ccee8eeebe8f2b7ff8dfce608d564173c7f65d7b65a1776133339adb81b797f6cec347dac3347eafda4200317802e77f132e8cd317526fe44ae7549551b0a31e8637618f93d5564d8b10678bd769191cd8510840afe39b6e97ed7ffa496a86250eb8cca3151983fee9509040e299bfb08cda89f1fd8597c5a14041ba81f9df177e96bd6f90ad4d728bface0d2a9e1dd762fa0873becb72cb5a5f70143350b2514d8f5e2729461f6f059f5a6d458fccb724f5926505c2be8891bd005d0fd8fafa6887402bec1bb3e41b33dc960efc99836625bbbeab389715343394ca8783e31767a755273500bfcaa4271a5d8175e4cfb4960d79d5e5966104f52852c9e32a68767664ac00b292b7e0d0b2db8a8c3b0bda8cc16fa7a3083dab4d8a7c6b94bb416d1bee23e0b30db86aea1c80f1ff37bd99fc985a0b12ef00b11c0af54c8fe75e47f6caafd6685350057ed24e62556a7adf01f8544dd82f6ecfe98ce562b7a1bddcd2155d42ed2232b75beda8ebefaf7a78269e46785930e3e68e524eee1509b1b6a0a52450c9b4c426ee5f7f15c28b0c7dffb471424b776007337f1cb3a0b8b308e8d0eb821f559a2cd75c0ddb65fb434c6eca70f06bbaffb4ac44485548b000f1ae847f5fb8256d336bff379b48fd9d717e3b7f361b3d0007e4b696725d1d1f9ee97fabbe62d42de6822bd34a7b3d3b4aeddbdf6e894fd3a6d6ba6289f8d9d4b1c33713513e9ef9d06687570d31427ca14c5791cbec42e2fb3fe5cbaf3acd052bb7e493d7e57847637786c1c3cede07212f4c5bd11e295d991f415e7478a5b0d4df1b2f6e88bad2d6f14e5f6280bbc7e8679caae3074d6699de000000000000000000000000000000000000000000000000080e121b232a2e33","message_root":"0xfb177faf8030f7e2efaeb08fc298b5ca25981ce239d67f16fb9c54b06dabfdc9","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xc4b815e6020b7b2f2a155980a91c8b354106e6591c8d82a74a8f6bde02e3dc539f1d0015ec3b4e10660a8f79e72a8b148affc6222d2f6ec756020322769cb05bcbb930a100e1cca5c47c6012b151c9022b8a8e50561602e39d6f6316a7abfa027b7cfb906c2589def99f0bc8cf0b63f5ee0cf644f6f04db3fcee29354a30a695687b7140fa43a9d0f96f5b3e2abeea93a410dbce3c3084ab27f77aa207eb43c51462591314b995f3073a2ad0b45008c15979a7106396d363564d2ae79063f62bb3869e8383e1527995688006b1e2c5309423db82c0f5404af8a520c902224ee95788464c3ed8c8b63d234f977fbe73d3589a6b144fb77fa29dee95322e19f63a2b30a757d0b086c8640a27ceefe3cc632556f4029e1cf70f36202bdee4c042a296f7109d486978f6c0bd55daa054ad234ce666909ac8b76100bd51b802a31214d732e9f2b9063ada6d537095571d4ecae2a679a848c7a35b2f764e0832f81f527e822ddec7bee78c07f5d86449881ba1a340091b7c07d411652203eba71d7f5284f870bfb130a94aff51a77a6b3ab5c631662c804b77c9579acfc772b9c49f90f130b4ac439d9ef4d7569279353d450eaff10885d52bc3aef671a15770e2b564ffee78ca1ad0d44666d0aad1f0d83ede72cab36cd1287b4d045a9619bfa3bf596eafc09f0e206d75bccb69d661f3659e2bac66218b7a52285adab7a770d9d184f50715574334385777ac3fea9c7d4bf4d6d3954514da49cb3358f39ff9d4af56e3bdca72cf21a68982c31b7c26f1c852e1558b28261ec56cae8ffdafd891eb0756b0f795a3e36960ae99ada8b8acccdf64ca14848b839b86d470feeefe9dbbead15c8f11c16ec12027a04b96d91283326f79d3a2a8348966b28413251467540591ad45b39fa5071114bf60289a98e352397450f46689e283bdaef182e8737b63a4200661d0bb08eb5e097e4ab4b57901c2227a86386b53d9d6a450f6a4e605165082c230b0357f156a4fce774f5099b98175dd0574dd2edcb1f8280c0b5e709678046127b35e6bfb6ef4f115ce98e270780f5ef02430c4006503c65dbf33d9cdffe601f7ac2a159ea759eba599ee9f28a73173282513890e917f19fadf7165bbaa9986289e13246a477d023c95d9e2c3e2c8952dbff64785097438285a97d748be697eac1529d902a9175e1b7a47998f1a2a310eeec717fa914b5eff2af6508d6a5724f0c88637782f742dacffd3b755b67a7b38b065ba7956eae7856523f446c818ab2af51a06f90951404d6b20fae713291cb65b4cb886c1523d72b95c7a577cbbe947d2fdf0752204e512ff4b37c14f651b8287205881f23714f65e64a7f8c943814e0a16ac9dd0fd7ef195847717308000be6b427e7b77a1644670fd6025af4fb100165cfe175a8e6925a532c68bddea46a69522500a226080f3f5b8f865ebb373220bcff8187173276dd186e117699d3b285162abd5b9ffe96de22b87d080237b563c29a46c34beb2e8f257d8e3b467d5175c4635881c6c0fbd52b0d9205418dfde40e998ef2ec47e13ecf09ebfb56d14b480986a40a5d102322069c8a12ef85741c0b0b779c69e5e046b67184e1d70bdf867e45a55890151f34ee3480aeb9bcfc7f17e73861c7aa4795f32c759e5843d219fcf19b5a928ce86eab41b4277339d31da88d0754ccbc53545f97456959f13e506b1a206cbf7e04ed2d58183db39b9b24f39d6f9d6da4f9df843341ba048fa06e7b77eee91cee8da1a618676007b4ef3eb42c3a93de8f43709c1c7fdfa2e96e425f078ef8d249e70701b4bb564b423278a1d143d850e0bd66f3d0382a10eef740e216d56d7f0dd5b5293c52b36269efb35b46583d1a00269b59c327f74321d381873c00b5b9e1e50ea14dab07653048f299c1d4cf1a1b6161680e3bb7a9ef12e3b03f0e75c8ec613c968e39f033bb28a041ff11420d6e06c018380d03f4552583b5930631e25640a1c24b6662693a6b0c2245f9f7703249b7ddaec411c834712d1f56d5374e6497f89922a078631bfd0537faff1379d3c6081a67c3e7e68470fe8338d88868296900127fa0a73e505e420958a3205f03c04cd267b8489158235f3344d558442e2510e74c681af9b6c1ba3054db3e6f89057a458f16a0d964c4a1af080538158ff193dc163d12ba9944872d64f3b250070a3b37af2b0198ed856906cfd6d4e02e92b519f3f7d828943ff3130bbb822fbeaefefd43f9bcf9f8e2232c318c1a669c033465b816ea3fdab8277bb7fb5d2b5f0c081d4d76ee8d452584ae831a5e8c885f6c5093b8438f4513578337d7133171795a22196ed746daf062925db45ba44c96159f93e19531be156fffe394cf89ecb2de24a606de9fe5f81ebde07b192772650182fa83dd1e468c76410fbc453c1717af62bb2fdae825187e8d791bda75b7facb3eb032e7fd3e3951bd5c7e65e9d33dfc5b1598b43240ddbb63afff95b624ef61c30a334a54f7c6f50a4db78614681ff49e3481d861566fba0bfb2aa29503207e2bc59b618321202c1edc0199673a2732d02977089ebeebd1def1369ecdce4e886168ed665ac5c8850b41724c94fef4ca0a2ff58ef0927fa58534009ca7dac92ed7c592fb9808df9fec3596d87c6abeee12c4f9c2b244d9b0a16fd58f43fe68f87e3d79a2244c2b2cbdc078876e394c531a6fbe64c325932f2e6130fdebd3722de9762f712b215c4f5645c795eb92dfcbc5031b9b09c60b1868328ecbbadda48dc0945ac329970c6a19895d9ac5ae3794966c32439080147cbf7007726cfebddda2e0c306d86c4d6f5b0cf8a949ba08ce6cbab1ec183935520419452777ef831f157aca3b9c737a5cdf6b0e76fe57ba32fff65685669fac88404fd8d0d3048b81b35b084954eab5824cf4894bcc19ca5e85f8fd6e22c2f361af7ad187352a1b4ff8f4230cdaaebae05f70fc48e06fcb91559012452b09a30652e92f21ba80bad1e5684f4509f13efbf43713a7df93d99cf1768b5306019aa3746244e36bf3f5680a0dd57a851d5173c0be12a8e46f1f0e1a7cce912174a175a791d64689a0d813bcd18644a65892faea6525a21655cad58ca0bffff53e4d8ebd06b26e1eeba3e9c0a9935388483577dc6fb8e24fac55b5938f4ce60f5421e4b5892524fb6f3eb1fa498a8655078df4cf9bdf8f672de9e0468b396dc07241c6948089ad67e1297ed7d75bc09efcc582d3b68fbb7f8e23361286da6ebb03562cfc91361c258d7e75ed783a4c1a986c74eef9431acd2f4b5a6c687349bf0a9f44ff855e19ef9054c2368c100eabee517264e835fc30eb259fc54ab39b779a42b3f83c10a92b93caf774a7e130a853e2a494d09ed269c5f86072307093fb84ac187076f6fe24189440cc092525f7f81e0c2514bf4554d4a4835e3c2be962bf4b9802c3a4c2de8c49d45017cf127b6fb162d8ec3be4c51027ce24e494849b4e0eb89cc244752f17635e1348e707b1992f420002e38c2c2c73170d21e61107983cc4085cc1dc0b1ad982723adb36af4956585eca7de1325f40c84f900240b47b5b62592e7933776368d57d6779e10319038b83a893c0f259c4df55dd0bfe89cc586c91694464fce78b3fa4633f82cc994430f7cbe56642073b2d422653d7bd792d5e41a8968ea62a38f46be587c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x896925b02b7d34fe93bac293e769bec4f2909845fdfe0701e74d72025cca96de","signature":"0xe1e9012f74f7848ebb4bca24c7b5a06025f9a2345caf37e7ae878d15a3038b6b9042f32b35a4c1f83f6be251f322f6773ebe7291cee9f263c593dc6e91ae0130c302a9c75a0e96dfa748ae3bcf04ea38dd4d43c9998ad7ce87dd806815132b2fbc522903b6f862dd1acb8dd4f1616b5d729145106287bf1a8fb6c858e9b3c8c7ed0bee5c9b49c070e277c5eb7d3522f81fec4913ed088e28c1267585b8479c5d0bd213ca4c5a2208ac92e57a1bd401b9a29600e00431966ebfac7c1f449904cef8eb86c4a0f698e8307b9cf24db26f994a062ebdfc7387f878083a82455859c51d241bc44d96b6d24b229c3d0458e9751cc5d737ce447acb29cdebc42a3efd84d67e5b38b6cc5ebef5317de39d12f67fde7772479cecd5f7c459f225767b0c440be4ac9499922f4828d215004867d6dd23d569f3973f1f02549ab4bb349d85d6ab2eb801710a4b233d06e59e82f8bcbbe2a257ab565d9a8f9147a6d32750da795ddab54586f780f4b3a61c7ca20988919fde9620756eca839482ecbaa4faf15f8586977510cd7aa93b352e319340e6be8a1d10c297253ba18cc67b5d6eb4f7d9b3eacd3e15966c93dd84a43cfc66a8d694d5d67a75de3838273717a7968cd667ab9497b868f8ff4aff1ae4abab873118497acb8ee3f0ebbb6a9f083f037ed79eff849c2441989b310734c19921396518a1cea4eb7c6ca7b2dedf421869c40b55ddbaade6c8e4ca8a4b2e442947775b8e7d6bffbc006d33e9779adda33594677bc325bb1d9bc8bbc3950a6e79fec2bcda1eb490bc28ed504b06ee2a17969097bbfcccca93dab63bb6f28e3c00a4bf6419dcec0ebfb0fbe16cca0524198a338b8650e9c2bccac804a913e86a6011b23be555852e6d44e45804cf2e273b0f7b55f36da9e4a18518a6c12f864b51af01c91c8379b501cbc285fac7901fa2670f0a356e2190c3d4de94d133bffbd1d58bdef6c0c98fa990f7ede6be628a21e2374ed8203f7525e2cf6c5e504d55910f6b179f1118a13a1ecbcf522d25d3a407ef6694046581894c3af3d628a091b0ba7630c80f032b7a7e62292cc942adac7e95d579d21b62b047d7ae17ef209a63de59dfa7aa865828d9544480e272bc4f04b45768bf686c4504cd3ed2bc18f496c18cd4f8ebd23988f142762a32b599c3f737c0d6619717fcdc1fbd09adb4a7b54240305f0937e0881b72f4ddcaa71907777113ef892d746e1c8b1c85a4ed25f4ce1c8094563da96279411bf33071f05aa76c3706cb6ec87caa9b50f489a79186d0c6dbcd297a7bde77aab190d1b27cad8c2a11a536eeb379ae2c52574dbf7fb77836d0327b3a12b808fc1af793a02170409bf6e304f40936a1092a75b01f50756d3c0bf3b872e9daf95efaeb3eaf9fa6718541e7f27655148b437cfdfdcaf409a6ef71868443471942a8570c155b0eec199b0fc269c4cb3768e40dc39f0eceb8f92717442330a8cf61a06a07af02c4cf925e5ae32d07106ee62f8f642fd4eab22de797f36223ef2ef3041cf71df602c58896f7e154e7d853404af6316d6e70b55a883a47a121f237f7dd33486d560f5e2a3dc12f52974f031938d6b569bf11c4c9f10e5c466bc5f3d21c48458a1a89654d1b25c6eb57b39640dfb0017a72d4a998a9a43935bfbfa849e24392ca1f22970e1be41ad0755107610f5bfab6d972d84af3c1126c4e5791e19ded3a628b70989a1c0fa161fae40d49b1e80c35d07c16d9f60bef3f891f4e0b1602a4f7b4834cb158cfd085db7ad324a5c97dc1f498ced0ab71e90961f0ae2663bfa0173839947f051b8bfb6ea0e27340fd2e659911ed451332ebd1a9dd2807d8318960fea5ba78608122a910e9863bbd64d8a0e2a348cdd8def3ebd0086e5a8b427e0a473fdf7f54ca3915d3e52012ce20d9c747b12ad1864de47782624a96a714ff57b40bd9e86cf0c2bdf40fa45790580345436aa699c9330743b0c40c13240167a5730e5c86d3f475ea7e0f527e8b66a7b58836792c036e6d0d46cfa9153be22a3cd20d0a68728fc26bf0ee1ae9449e5d1a72d6af2889985e90c4cfb5b8c705124a407992a13379909073c21c5a159272a8197aebf2018c374576c0b6c7224d7420c84d311e6ada88dfb538de0341e54f0aa6a373f73361a3df81718c64a99fdcc7048e924245a5d8a714955fca23eea2e02acc0bee7edd3e0f9021f3f666012f428fea962cb1a1aaa02421b56519ac51d6a30fbcc8fdb9081c098c36aea565bd25bec193c17dec91162f90ec02f10ea87e52cc4b0351d120b31ef4218342d58eb227899092af09c50348723e075605646cfb476578db86dc9da350be8efb61fefa073895fea604c99500b77c915e9655b939625a715b8ff319dcbb7ebfd9448b0c8c0bfa9e9c9db80c388605dc67557b28a90d9d3396841b4e2e589de02aa62b64122e3bccec11c7bb1a8be84af89c3ae8426710f5036f13ef70c23242cb1e67988c9d19806e7cb4210b6bf9582cc1900e35f25ddf39e418c69a1e54173a6eb82eb277c9998e50a76f197448cd93cb604401898b1d99e28181cb83137b7199c8096a3fc8d8274dee455aa5c80a81d21a1f7116ecd0bbd3aa5601d754a06d910ffff0d79d2e27bcdbb21edbc105405324c4dc88d98572737bbd08578a4e5c8ce48f31c99dca4e71687d58905f87dd18f5b3923442a3169302073217287641cbcf1607c3850d0379b7ad95e47ebc770a8c6f078e5aebd0b0d10fd05afb3cda3c22ee1e70e658ae79cbc715db1f2b23e5287da686072c89d9403bedf8e445bf8845cf6fdb720624a5b9a75615aadd6f1f5fc9a84d0b7d6ae790e9bb9133cb41f35b787d66ef3836c8de482d25feb9784869e61cfe0734d3e98f984a31298bed2696f24386059c71e1d61368d7b25232adeb67bc7598f8b587ce8424bb4462ce3a8c0b1013387cab20ab244ea20f9b52f13d0f547431cc17aabcfff5f1541e305e7b9632ed6776b5d24515b0659b619cc3c6baaea3da583e4cd21a74a765ad4c3de8786e6aaf4a8bdf857bd6f353deb7b900525cf2e4ce8e6a15f40f8490504b6a067d662f7ea632f9fbd1b8247bbae49363457be21c11021113f6965c2ed7cf39903811801fa9af9443e4284fca6337bf1e3811daa6572c3cc5a6f04df808df476aa2db4e8bb579a8cfc99524d0fe1c82551a1ac5f3d1168debbc5686ec34e72e95f5756eed8a278e47da3907cc754a4766ef0ba667685f4ce9d9914e31148b94cbc5812e4bc5e1d2fe574d2b9ea8774bfaf8cdc34196209c652edcd74c76c4bb339b95bbfc34fd554a75791b28d190b0593f7566e751fa9655fed962084c9411edc6f1dc8707c5e135dd9bc03f99efeb4965987f0125cc95892dd19a9fd31b7b3a81cb5d681a91d989366f9896e0447efb45edaf6d49a31b4cac8dc58e7de7affb595ae237e83e09f359e714cdc4e9d5b638c737e5909647f1d33eb52880afe4c5a36d5b5075e6a93f8cf60cac62269532ce3ccdf4178453be1a90217080f317f42e9d131f252c6fe59eccb90a55eec886f5bac904273a4f9dd86775def8b90768a0b01e2a918ec7a7e7c22b93a0c701cf46f1a18f39703e495a8b026528d38d18c40c93006abc04ad4ad936a6c9a0c3f39d718d468d87e1c6802498859c6b1e750184647ef364e85f78dc63bdee24162c3dc20118009e572e6a0214c05f253c6836723349efd2f2922c96ce6c464137917feca5bbf0d455ed795db5d3d1f7f4655494331d20d1801948caf9daba5958b1a8be0a52e955d57b6da647e0633fda68133431f4cdef2eef5eb93f189fc9af9995a75286f585d7e793b3e65bac2ec0b57e6df709034b831b2af7faf8d79d35e13b7dca0bafef8abefa2a8140fd48802e933f171b4e3f7ffbae8d7aa3e20710e2c94bb345ece69216cb4fb3a6711f842a87a26d410fdf723df01ccc386b23c7fe1e00f8501386f27a7606bfdbb88950a8beabd0705559d738a080151a9d5ff052d4a24bd7d4e1f8f0087b62abdca5cf562722216fa71e0c8ebfba78e051245ff318aebc94a48ae2701aa9a7b1f8b394fcd663065db19c79719613f9575449dfcefbbbd8d06c1971b6c4fbdc19770268a853a887678e2769f7c3e3a279a9f1745696d051d0bf7c25f4792bf8ec3a39a476eab9dc81f16cfb1f75e36fe0fa9d8eee264741e3dd6e8fbfd68ce2ffd870a8797945f780003f9ff78d644c1746d9ac8cbc1d7af37bdc76d794bb3813ed2e2a8dbf8bc530d772a9bca0f6175239a3b66e8d394ce616ec9344459edfcd1ad8b0846c8faaa4fcb0e14c636af9096c901d2c72b8b83ffc4b4b93a87bb4f5e9f0937421e99eec7a2299d306376b5147bf9352d36e6c3d3f0303018fb37cc231700d57cbe0fb218681dcdbe736e0e54bbc03de166f6b839775d3237f323aae3e3de377b2c227c674ebcbe28ac0c3a0e288b3157486216a58575da348a43e0c0151c89ff53d92426263a4839927edcb771de9e2af1621dc3d998ed0f292f9559f333d9aa9137e9b08d243df2836de22d4586c34dba7641a5435047aa241c0ddb4d8fd7f5900e289b370172344447d0eec8df6e12a84d73418d065ec7032008561c8ffdb27af63a010d4a458fe053521f7ef1becc4856725e7254b23e5e50c0bb2af26c5c37438974dde4264d6c35924a5765ffa60b0e185ea3b6e1ebe3296fa8782bea57e3b85c43f139c41db50fc7a43ecdf8225ad60061dd653e3448c4212772672cc69e4ecbd14e4e232a236acf1db34b34eebbb3858fdb6ad979050e00ffd32f652c34f0662b6796922cf9dc30f03e20cd90ff086fca4fb674a7d9547f139726d53db3d12909eefbd8555aaebef84030890c66acc2e20c08d723fde1ebe5b6d3d9a8468f80e7d9cdf66211665c8046616df8618d0d88c9151d9d95ffc55cd2478a47047f4a55c2257d06d8074c6be7d96d9ffd337404f92f7257463e9d26774987b97af641024268b639fbf67493f816274b36e019d62dc02c9076098fc827cae34ad0622a35c1012de5e11db108d41be15ade5b5c82b43ad168d35ab54ce614ab8d0a8aca25f30b1b507f543c5f0da2dc37352a7e038c71c1c7d4658b33a3bc87e1091f5d46f3b8c81cffd351aaee440de6ec275c4b68c608acb0ac3dae48b806e4cd42af6b3e38061d020811fd7cc8ec47a1a978d20d40aa01e7bc1d406d6a6cfd64976dcb1e8a5cd6ed63384c326fbdd4737ef36a41bd5881b713a349e42a6da3258dccb4e966f63cacaf8d297823abea62f156b35bfe529609f79ce240c0469a626d44d4ff2f2eb620b874867ad3f0cdb0ced498613d200fa82a97ed82018aa414b9911cd927d0a9e1666383876a8874b454bc30a02dfcfc41794842e2bca3d5ab60f7f7e2f52ec63f97d7e57065f625487bf6dce4e837680618215897a4bb7e0a8025349036a0ed803b39f30d40de021f379de13ec923d5202be5654b3a3a5965f55a80a36bf4f44f5e667a90e51ef36ba9845cc0c20eec277d326c3c0543d7d6de3d56c79a6bb2335bf5dd18bd29c0d55adc56da6f51d0ba8c7f44d3fce6c7142b0a638ed7f61300c09f76ffa629bd326d6c7950ad7c3e8cfa9fdd99a2926dc80892087dccbb8f336f322a775372c58f9785c32ec25b0d7793d5add64f56205bd28148c9f1d04344b0d892c68406835b5be274c044a560d90fac1fec95ef8adc8ee45e3e0e1c7d68b2abcee1a5629e46ba3be8290cb9c26e85e89694773ed9e0422830d4b58f4589e27a1d974ce3232c6e1ac3f1ff6216b2082f7bb6ca3abeb5001557a8be0357bcab3c9a7ecdb60d90c80504658eb8aebfaac6d351e69866be36a1297408be62dabbd7718023bd9f0bf0dd96cb6366fedce3639ac8260bff960f6ad42874ef21a920bc4e1162ede7b8e1dd4bb17779b77b9ff681f280348f7f409b276bab2f369a26c4be457cb575adface812a8cb74decd10641d5f7263e8ced413649e4bc616e1f2ea813e3de4272d6f3347d53af20d0983a5a7705551661b6887987455c8225e23fa6a690c6b6065b0d1e8abc744cd3e68163adc550f4f88cd10a1684eb1c08c4697031e2b5dd6a6dc01dc3417450a7fa41d4a641eefa3d2691c7340768f5f06d3a56b7d15ddd7cade9f986ac32c28d891316940d01d24fedcf38e839ab8ff548ad47d93723a11681c5a50af05e4d92160d87fe0b4b7a375c5eb0e0139dfafbcb088e72e0c12ff8723b461ef2316a94817f6e6b1a27a9850c72e99055b693585cdf0930c50ea7db45babfbcf3d0366b1b4384c59a29ee113e1bd64053432d542fd04cea2978d0049a508cae38cc09f59ed406265ba78f8b3e877be85e2620f7a80c2ca6ca4393c1f62e253afd322ebb13bef7a6613e55130cb2d22d2fad8e88b3e7c7718682d4c07839e3ad041942beec1b904fd127a2d62c0ab8014e9b009161e3650c2c9243e5771172e4f509dbcc91b2c31356b6d74aec7eeff0f325d90989ec3cede0c21313960828591ca152a44585fc0e5ff0a55f9ff00000000000000000000000000000000070b121d262f373b","message_root":"0x4f3b9f32556340f7c259de497e9fdd26a4672a202a5992ff4385c0880003ee7f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x2940dc170427e1d57de833344e35b49e6cea1b7eb70be01957edd7a8e0b15c66acdcc72d7c888c5365b0d8f95678ded73737df554da5b68689fd33bf90241a73ecfe268f695937e09c39eb7b5aba092f0f585f7c0fc4ae7533977d996d2d89cee53d2037ec6a2f1fc6059fc47e0d4b332f5cc6b609a41215a5c7f62447403dd806bc95144d8f8bda18d3ec7b31bab1dbb1dafa04f573f42a3e274c5f6e15da9b94580f8d0121e631a6dedf42db36a94692e96737a77fe379c0fb131747c6c1c8287e3292ec4658c9c79ff4a2bd4680d64b1b8005d28335200be9f8be335009365b1bc24d7287b4e72d8ef324fac7eaac95da556d286b26ed29fbe2abfb4482026026aba5f28d2ef70feed353b93b0bd0d31c59a50fc9720631ff16d47e67cc89cb0ba9ca3ff60f8dd9124d9042535beac393de4e13570a9bc26f57a5cdafaa0a0706a2e29b75bdc6f66263976a11b75a7ac627c94f5400698be130755041ac713dbadd74d7ab0720d5d8831c6f60320fc20018424e60224fb44b0b0f8e47f6c0aa8c942142b420538910c3382d3f9ace9a7827c290bacbd2a1caab5ff594ba558a57ea6039efbd6bac900095e108807e03e1912f7dec0d569879b0a098630c13489ab85153ea6b740bdfe5d5c062d16e3870abb8011eb9f51b8de2cafb36276de84544e9647e8c7d7be78f34f4f851742de2f1b0501ae31598ed77d81efcc827eb0a8f7cb8c076bf64e9f11e10d73e99b816c44095c919e84e4cce93492f9d3839033d738c416921f81ec15c6a71b9bc9fcbc8fca08684d74bff985f4e40c919778d574b68e8741e5dd3fd49957342b6d86f81445d4859d2865b3b528ddc5cae14120d0b0df28f938eb8fd462a767c2f1ad0e4194d19728b55d110218bceec8f3b2d21652a49a9e654e825fed6b1e56d947d1dcce4eaf42ac26aeb0f4f1b32f5c11840f57ecaf8141a8a4ff8a5233012b22742ed6d6f33abd4e9b26ed5d91a627222c35d6ba2f484df2a58d89e56c9ae5112809681a1b34226c71dbb66b50a5ea6f51a168bcf368687fc7e00a396073515cec5e43103bc547b2ef7d513788b5f760c693c008fbd611ddbb1714bcf63847f40b1dbcc1895df8f83112e9dd92384c9a63b74464b4982ca5e542ea891d017e0d3247e8e45b1fe5f58cdf23064912b810b95a68501128f48346dc57923edc5bbbd0dda4d8bfa03dc5c2d5606ae9aeb9a30262db3d0dcd97a9850ce1663d1b99fcc570804304ed646cd5176d822cf20405994ec6463548a917839f076488eb1cb5e141a6d1fc009e5e970bdaf913bdd3935bc5c557760a0c70102488cc8020c19561e7456ce04f253ba1ee23421d88d649ae5662bca5ba9d78577db124a6cd8348be544efc35a46ec9bb4def5a46ecf01a2ac8074d444c852058684bf808178b59d5c0da709f462c98568352c2758030717dd9046d488c4044b46341439802532e7163a0258e69fb356bdc15e559ba21a073b437c4d06befb98d937d567dd5c24d3d11f6a476d11d5f3c8401b3dcd09a3c1e34f9786effd1674405e538fe1b8f4673d77f0435f0b8e23dd8a3e0738b735a4b541ff0b2d8a2b35c39a2797eba414e11207cd2dc2f7e20b03163e2a5dbcaeb760b6e14263dbc398136bf4a36fb30b2690a1dccaff3b7df29a5ee56343766d7dce8313cacf5e1da16296bf63a1b7524ab906e9fec569e09209abf5f6162a955ec1235ffa365fcb2da879427cb0a193bf5adc4f51123c49e29568d5b02fe01292ff73579c78775fca1eb31d6f4f1337e79e9840d34abf753f038843a3d7b73a368c7247b22f55666fb0e0055e55364cf3279f826bd5c7fe32bb94a13c5fc3510166e6c9bb195be6c67d792934836ed5d8e2280fc8591f6343d7245a6a96dae8ff40730cca465c1ead2a9cc75dcee9e658dc55c6e8104f122136eaf9ddc32ff7050b6a12af35dc312511a53ebb98ad04430912ef41a05cb9f4addf6e09f1b3c239cd80bc06d4901470ab4c69ce08e8a909e03fc25f691f727b0fff8596695e223d45f1e810d3459977c368172834cab471179424f6c4ad4c16e3c65861fa1b47186e66152c9151822118504d54d8eea90df8e96bd6466f41c5314aa26cfdc0f47110efc8c03c08db7c615401ab81c1990562681d3da0d013e3c62ab52729054bd7f0992fbc190bd074fecb99f90dfc1430a1a8865ac48bd38dd382013c93c1531c90c02b22c68c20041a422d77dbce3790772132fafdf85e977a51be150addc40213aa9d4ad87a890d9eb9611e473a857bb7eed0965df1d9ec51d2c8120e021e131af30f18e15d80c7843e5aae462bff3aaa9574c3b1a6bcc76aca76de054ce0973fb86242a52de8c0b1fb92707705db700b170456dd004e3fae2b3ef9ac4603331186bf788606b32608b2c2047a4413a73af50c4d50f73cc35392e6c2d9159071856b1b68703f2f85c3e262c7f234083faded9c2ea5a7e48482127f5ee5e908ede1dc03e0308833047bb7cf513f79a5cfa180743799630296cbf3ff6b639020a30dcbf8b77b9a9f0f7dc69fb6e8ca3b65913c3b76d1bc11735821f693b238fcd0985b6696358b01175e5355c7c9053990b80924ce2c8381376d098f7023bd84bac760d6ae5bc8a44dceb1e54c48a0bcfaaaee1569f27b13142dbb1c7aaf813c4289692c1e0a4b71af80d30b95e9565d452bd9bb4f646c4fc513ef46d35071602f7f4406696c312a455211a7f653718ee586f3f1a679689fd86ee563ed44ade1ea5978c7a779e028f474883a18c67456424cf6f6b8b0a6c7015393924c0994ecc50add1d1d196347d02d53721644ea071e77cdc515d63e1dff39f1e419f062c147639b331c43c71d0b1780e1880b40e253441c1e8107d8888d426ca3a10a887fade2b5712deb0f3a1156af3abefd164574dabab333544fe20519fb1c73d4248819cebcba407c85a465273ce13bd60c970bd98d3d4a6634fdaffb80c39a8123bc39061a4d92e63bef8145f0c3e15d80d074071b519e6d11b8eae458a87547ac5bca1d7a76edfdfb6f7d47daf1186bee7ae087671a0f7a5a4de2acebbec4146445fd833632de0d7d513a65da255f759d5870eec3ee2862bfea26b64038afe797e4a3664dadda7eb48a62f31650f8aad637b3c9935fd36989c1ffa752d93dec4419f2f7cf9740a96751548a6673fa7278c9252ce958e29ef86a8cfecbab6ced7fbea106d21c6c1663789cf10aa09651d062d8888f7293e6a806130ca868f0d07c5f36307fd3b64cbde2aa07490863825c06c2e79ebc15414c2750b30b6b3ef88c735a0ca029fd864fc0298ec76ad737bf601c70042d8fdcd0abddf54647b306fa5e069f3210c9fb870d67203c2a149ed2b90b7bc6f96ac039ca1178a823a10f329c721064565789dce4a25f4be6c80ba8242f8c3f371af8a95164b0c4ea4b101a5973cded768260c4d4798c6e5e93b65c5f76ebd9ad6af2da03f2fd681a48bdacf84af6532458d1e76978483a0153037f9275640689304f5eea15577edc532ee20d57984b02a79aead87990f8803ee6580a8d9e934f4645ddc33d59796cec3bcc9077f87fbf6735ed016b65afd1504b2a355a057e4173d52a6def0ef916a8180be31f3e005706b48ce1ee8ad78618b9d2a4c62a5baa973f260bfd78d9eea5c546","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x0d60e0403c4265bcbf4053159abaa5686b41a7036a50e64b6509793a17a2668a","signature":"0x26228043c8d02e4c55025612f40022942b7e682285e6ca434dbbf377eb5448102f28c469fc24655f7f9c1183762caa2fc04653387cea6c2481c20b8df9dc9227d8986514460082b395364382796db7ee12e5f1ea17d64b786d2ded592060d7692807adf9837f035417b3992e93d11480c461a5d3686218ed59c03894972c07f91ce68c0ad10ac52cbb4e49fe1ed3ae54b7d39abd18e42ea362d9e2de227ecfde2bf4c28f6d19a038d3a0a65586e1324895a7c4de21f060c50283a5fee3fb442a22bd97b00e28506e05b1a1e7e1dd4a6a4e60c64341e357081a6cabf53fb7305b4fbfdaf9ca27135fdc60b98389b9b0221e58b8c6bb0c2dbcc98000b31f9f4a75d4100aec89a504e370fbaf954884835b67d0a7515c39a4c27c1ed1aa29712c56cf115793ee59034eb43acb6bc084941dc858622d864e0f85ca614174bb7827739816282f6478107d1c6bbb1e878bccbebfb5d42681f6f9f46231c4d96f9b4c8c583274d020f31834999fad77e690cf8560eb4b0218659640ae06e13a2fa49c5c3d00ed7584234498479329f5ef4cf6b711f5bc873a4abd16285c9e78b92576d32d9e22c0a170ff2c4cbebf8c9ea0cd8c318fba219bc34426d676966bb6fff2c4238ba8a2d2eea5d2c8c37eb63446d4ba65b6b0a242ed6259a5161fccee283f5b54aaa694c16234966f12e1f387190701a038d483cc6443704072b817ea770e5b7e1933410f058d1fe03bba8fb2667aa268290c8e63682d022abcc857a0fced906b1b31a27af1c0ad613b6fb58678f144f763e8fee32f827758bf36be8237d43c35500b770bcfb05bab6980d28b8d67e4285493865e45f295cb8e85f8202532e484e6a03126246da0ebe21e077b1c8e28a7e589e25086fda0c68a64e81dd30220369dec51702ce2d2ec57ead81fe2fcd8a51569fdd0445f6d6993bf660a9914ba08a8da06d44fbc5a6e7590590ddf0bd451174fa08670f58390c88f41c7b24ab2dd37270432cc43747ef50eb1ea96b35e4813950e104eccd5ef7fcf176eeeeaea3f314e01701e7705e95630a220788dbf1208353e295e0d45036cd5e812392c719234fa6decf536aab78439c72370dfed6df347744f6bc31dabfe9e97909c3c4270157ee11aeec836b310bde8f58e413163a81411f428ba2d201f629405b484639e7d10475a9c93bffe594dcb847fe8dbad997eb040dabd020702922c2cc10a9bf958a1e57fa3a1b5085dc5392623a8bf13b785640a69b81f99454dc78f5ed8384d3ef3de86fa0808ea54720bbabaaedad327972e6b3b91c2a88b659707d3d7de1fe35d0636fe51f3cd13e0d0c85408dc0cc58cd58a47c0d2c6e473c1c324b2a65a1d8e8ed42c6fac196b9f018f7667089aa6f2289eff8c24cec604a1eddec9545dc5cfea390d3dc1bab2a161e9543c3de78415911b4be3b4364e06e4bba9d590c242498c98f225e8873abcd622ec5b461a6b6182b55ce2b76c692066be84901b5a9146f4444f436746aea7730c59d6e999b59894a2bb3a89a3600a2c9d05d0c0f90bff56002902ec18f45ea5e7423efa30f036b4d9476a706bda0c31d47b2ee0da1b6d6b84a6474357f0ecac998d6fff1262d12db1904df9c9715e775aefc78b553f1ccdda2d39544ca93f9075463734b45f704c5689a703e0247ec9fe646a43f70e84a6a4af95207782f283e3b8dac25ff1da966b570f4774ca4cbffe5ba7c1618a6bce6282ec185e2a1d2d905cec324860709d16264faac19d8f473249efdef41aa05816035bb193e6191564ade5f12d14e63c0960137d6bbf98eff443f827921a9002f0d8e36dc9334eb2d0bdacd320f73461b43fe440646faf06738f873fbda30cd2bfa5861a5d5d647c1c78655043d275ecd3214b1119108eb126f71d2844bda4f4a2961c3942f955c211f853b44f13c16833e3f0405455f43b5aa99a7098d466159fd0e64b5fb6cebaba61f965c05811f0bcb8ee25b61c4022efc03bff135e36ee363c1ebcb54191b17bd84f82cca145ed33979aa7d2d68ade159a202cf911baa30646515245d6482fb052202e6bce27a3ece7730cfd8b7ba488029cfb414056f90dd0b34923cdc73fa32ca2b25c23ed60e1a3b95a89753f3b052717e77fe6b12f145ca469ea8ccb0f96cbc0e4c0c64504c936578cc0718a75b3049534bb8b3f49cb40f294407a4a0f6dc9bd11a1185eba14031ecd8667c75dc717a3e4a646f30e418c69a0467e7e35f2e41267022f6d99b4ca60beafd34a63d73c7026313a85162231020c19413f4defefbe994fd8d2147ea8da2683ad4fbcf4821ce11c28591ece60abb3d486e7c73f62f3da5812211cdc87e10a3a5e37ef3385ca81e16fa9e36df0d5b410903de91627e41d523feaf60a2a8b39c4ff0c303ccc9971051eacb75b2bf0ef93ff4835fd4123283b153a31c96d7e7e5ad00253ef0901de43c24c293753c949bd3199a3360cf57c2322f218602f601c6b6fd43a4cdcb8b0c52c42e6b19b66e40b068aa04e8577e57aa9b3fab5e54f6527cec08ba4ba6c14d0a5a9d75cd1eb37244404028a5ae4098df78b96708a2e2dc647b12779b6e6509d1bca5c40bcf4e58b9f99ea6eb30ee5835e174aefa174db6493466e556561a9f1545adf655aee52d1bfd8df46776c12cfee04d6a2c2f32134dd4ffc72b8fac6c6234b760f321e4eaf1881810303884b102c6268cdd7ba08c6e00c768194f6ea29a713fb8c0253265439b594c34c58272e63b198206121126905be5f2eb632798efe9750eac7cbad96c1b5217467c37ad2728636f2a64a15ebd21b11077751832392317b785665e7a57f6f07fc2ab3b2aa131252c2091ca1f1c875c481219a5928ecba6e1d47d79eccc294e2b6a5633d9e1ecafca3f79d415c4614aea34cd8f02d8a2bfc0b7a03d78fdb23a5ba37b1175631d52ae184e5a03972e713bcc57270b01b60e1bb71cf78d231ce1e06437833a94c5ff5afb10f2120e486d76ed1fabb5f0d4bea40b0cb5a830affcc3f2b5386ac1e4ebeee220bdbad7d93a22470959dfb752f251cb198d7241ae6e94540b2e53f7d04cddd5baf7c7bdba8594504fd78f621bdcfe5fabc150a914b6704bba6196239b263c784e29dab3bce6bfb288fa869ee5a5d00ce31414f2023aa7c9002656ae4b8cda88afe3b3cb836a0f530375869d775707efdc313f24abadb6852dbe8cfa49ee90da7c15716e99d31990c44938d29c2f74c3197480287b3cdfd199c5572087d1c10794e0e23c5d7ca7ffd3ed93120ceeb3d2c38a16ef5147eca486a08c85956e16aafd7d17a7bb59b0084c9e31d6f72dc207eb2c984862c1105da984a77bfcfce0d43be857c507cd844cfcb1402c946b6cd70e524e144828ae369d20412e3ab9be85197e70d8c69241d8e234b908f95f47ff17c43152947d56c6d9fdc9b9cb37091db2691fc54b05055c30857c44c1cb2613981cb4f90871cf13165f0d35c7479cb12481fe4019509c777a69d2c436ef12fd1c78d1cf068a76435ed8f5254a39d0671ebee2589cc6637a25545c88ac6bfec61592adca0ca0c01f80dcb1ee09d70b93579c9f6546f0f0ccc64b1f5db8d138febfb4a782ff06fa324dde1787d4c3832d3929659783b9206120796c0cfcc3f9c4da93aa4a4f31d73aa83cba3e8d5d8e3ae2ec398cbaaf2e9aacbd21659c603b8c0ff678d969d75353c1b518ff35770711490e872a1160cbedc7ab69c9f46e2ae7af4230e8a1325ea0eb4274d7bf4f7fa73f857dc72b9ec01b909087d4e48e5fa389b14a1ccf33a5edeb8d9c16c742b53992f0f31c2d0248fb6b7af742fdb58764cbb7463d9eaa16c8f06725854f55dcf612ba57cf16555a99199c353393f2566910fd6cd45bb5eb4b04d7a3cd589219c78429887f621656c57b3440e90de635d65d73369dd279ff6b7298b40ec67466d396fdd1099e33ea4bad79417bf368ff082efb640b45505f6a6816f6968ab171d39cc676a9cf60ce25d7a6d259a7391a79e9abda7dedee89d3cab9044e093092c3b265953d70f121a2ba457252b7d8297f590fa102ac097bbcafac0d336d5eb7157ed8ce6fc5f1b9c876d4b25e86631b683ced09c7a593d32fa525591ddb5067ecbbfbe488e6a8f8950fb28ca254a582264ec587718620c9504cd81f303850ac5d5c044fb3dfcb691318a4d27db9fd244840b277c6d7fe946a844392358e4a0d2ed53cd8dd06b56423fe7fe97744c3b6447fd174222d6fcc3d2163cc476c317dfcddf28a25c468fefb392617d6ade003bebf4f5ef6f1ddba5c9d13b7b4b4d513e0fff79f9b74007be4e87cf1f49128253f1fd907a84fb9d169b0e1e933722fda8ced4d438a8a7203078be56d38284faedb44942d334233cb1a9632c46a7db5f2f2759d1b59ee3cdedd45d440562940819eb533a9bd3e8e9e7ea414506ad0bb58cf29a03cba86a696efb12e52db17715031d431101ab86a1bb2ce952f7301e71054e40517df8febf4955ae0981a1cfb87857684488b88a6d3cf42ebdc753de892bed3143196457d81a9e9a75648cca7a22faa884026a8c719d0cdf6ae4c8a649c3cde8a1767190b1f122bff8dd8a230cd260f95b1cf75dce3ecd1d9f1dbb58e8f1a3208687d2a0cf8f0d65e9f66d39be6bef5d89769948ae1761c1aacf43780df3bf25290f39a15455dc01727970a562767b253cfcc7c26e408f6b372b499c79ca3b79062fd28c6de919ba4713bf0a559fd3424d8a20d600e9fb68f8c8e4aa966b66d55bad711142cdf16071b48aa64847aac38eb16891d094d6058212c3dba649c071c1f3910fed570912e22daee6bd2c3db18397c19980231bd9402de42a9389e8ea3e02744b7d6b65146297b63bcbe43342d59992db65bc81dfe21f8005137c5cee86de00e8f7e03719877971e46e3a82bd349095d01e87442bd353c363054421799fbe677675830dfd506852484d15ab4d5f091bb91b2c902bb1a5997602e7e750266c16776d2a2bb9c808bd93b78eb2bd0edaf73b0b708f360e7759fcff7ab096bb0fceb15c0df5f7952bde19f57dde527e5d6f46575f53982dd83f4ad8399a9d970ab6588a238054a73e9704f8c0440fc89fea072451a3e56e0286e94755dd5a893f778742f78cf492bbb567941ffb1e223f4e7c061abe1b6712519f4ec58b388500b45ad79927ab3f75e3d309d915ea0b9627a73c43abe2572847e3a98825319a8b5dbd10462db8ef4d0d8e72bf8cabd7ddb56ba305ce97bce32ae272ea045a63a3cd5f0c30bb4fbb3200547ccc137160c9d0b69755b80b87c49c30f1079595e976752d2fb137cb421c1d8112ea8865fd7fcaac9371f8b863da097c5ade948089da74ddc8840d7beedf468d06b3656bee1b34acaa8b8a2b5d4607854a43059799357661858505c7fcdba41b88ef5663fa29b4191b9d15d42812f5cfa0f022f8acd7ec306f099393a3dba68b0129ef023923bf0ae4e142131440939543474b2d5c9aaa6c8fd894a5b5e0fbed31767adca1b3f4fc2c7106aaef8f5bf0671171024032e9f195605e5c02e4f4a5322858b68c17d5b6e1a94c9ad5428dd81a039e75a3fdc27556e6ebadb31780f9309677fa45459d97371d5b6440f5585696d7cc8ccca4951f9b03e81bbe10ef5fd4657f419348319a909180151d9e74c56e13a88f76c81bb5f1640817dc1d52b9c126e88e1e23fda5f64f590bdf00ebe695d34d633b30991013591c8e320d9a32c5e1fe44fcc4658027417c3caae6749af4b7d724d155ff518c1a7fd240dad4d92a09539d3f1b12232be6e6430ad3d8df8b5170be108d3258ff6fc3fbe463d38146300ed6e656831557794744f7a8908cd0fa037364b5fcaeffd71f8977a5cdb2afa582251bfa32fe0ea86be45ba9a5a254ad7fafba596cbe115930b2781fa2e92d3a444dcd4dc160c4f0a0b5b0f425d05748b3633b129c49735704555d2375f2dc55e43265009d198ef7e8dc3e8c24dbdf62793f4150ccefaceaef0dc08ba52cc5ec490e0ff3237d8955361f45e82af4c1834595aeee705b39980c2302b60ebd15beb170953e2377c98761374bc43970fabb0dfab9ae9e6a2f9e210dc4309348839ddb2d934c878bc722568fdf880930fe636d6c621462116d9fd9556d9a22ca882b3d8c511e534b555a0318c37a6cc68120448c92f46d83d397f936fe31ca407475c0c0cca9597cd68e1574374f0df14fed575a61598434b2b033b65fe28dbc22fbd30d44df1c0f3fc96cf421eba6d68c6a9b43859b4efb9e6d6f902b2b3aaf041379f98b363b22020e93576dd6bb682da3da9dfe1c1273731b5446d12e9a416e12b34dc3f4860c0f3b0b17d8d454fa39bcc10a98257bbf65d018650dc25bcafdfc2610b783734ea1a170fab44cfd06cb7c47d6eea30253a80d95ac37ebdee7c70cfe1bc306a12ef8134227529eb3e7027075d7a05947856273056344000979c7c9f343456d6f023a585c899c9ea6acb1d7f7247886a5acc8041e3f74b9cee6e91f2f3b3d5e6b9aad39536a777d82c7cff91028344c5fe3e4f30000000000000000000000000000060a161c242c353d","message_root":"0x0e30e461453e941e2808e80989b977009b63fbb7f5bbe91cbf96d3ccc8812ab1","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x193f4b22b6344a5af6fd404dc5a9064bdea41666d9eff70d420b172f9bf13e24150d93d05e316a46386e900760389135d9a2bc1f3b12e83ea16ed8412d42619bb9f100808d38ace3cc4d078cf33571bdd7c667404e77555cd5a3533400d71eae05add0f25da6cff078805805204192261180eec88087c78a08d31cd6a394ec696cfa73b34f5050e62ba443635f79acd4b79a036c022dabc286030efa0e4086091a42347ee0161eb736e25a65a61f7a1465f3f43ecf777ad3091865cdd0eb582b2fcd9fcbca132e5f9f409ea332726b2aae716a7502261612265739e6af602eafd831805a29f99029ea499de9e0f3e3e2d318be5599e4a26edf5e2997f415fa9a7dcd298a8b46e176e32f33c8f6581f8a786fd3c76274ae70118313b5f8340923df9e4f9e5502080b00822f5dc1df63efd454658d3ff4ce2a80b49f21e1eb602c7c0a1a8617a308c8841758af3c402e4d60e00300e2313732c7022697bdf8f837a832e60229bce953c442c4ea937c001bb994a9598bc19caccc61750195b21689f4929e7e5e570a3076f3aa9aae5d25d3154e3daf5cde4cb4334ecfba3c12ffc19a3883be83ee796eaa22676070c5e7ccd9addc305a15a45172e360ea7cacd1f6f29a279806d6fed696c30d7643f4530164ea62fc71939c36ec298a4f0430b9df35324b47ce01e7bd843188cf896775490a8b58132aabd7b010306949dd4b3f37c6c4eb778645d52108cdd9d2381a7e1d772b5b734378a4c7b3fe43a770cb191a187bd10696ff4f014434bd0ab5624e53eb18dd6fd4807e47ff826c158c20d6dd6478c8eb2c3ef8df00a8affa8473d0cbfd16fe6319ffcbb2bd604efd557d6fdad4ee60ef63d2bb515440cc5c3e946a45dbe6bc8c387f108362ee63e5a84edad80116e7d994f0068cc8915b6d0724853a56074f721654d9fcf070e03425ed6d579b3f818f80e6826cb21fb5bc9869f3cc725b99afe0b77f4f12a07482c350d35f1b3135e6eb4e3268ad398733021b168bdcb3b91c9fa9c74e5e4e71cc1db8a905e81b0d1863e8a3806ad338e4a48efe6ce0eb0f49f92b4624a2512ae6ea42f835b9c012d67ad429ab1c516112a3f6aaee398303029fb24018b2b755d40b182e344aec6cb3d33c1cc73f775a727336a9bfd80e207211be064a63e6d107ce9b53b9c896a73d744e760ff3988e24338071baca41f36adb1e1f1ec9f5458d6cd92aa6e6de992620c37d1bd52e44ab831e5ff844ddf2aa97164d8d0db9b4c2b88d4ca30021e10411bbe34167a228209ab1fdaa9d985757030015f2d08b92d6a353f7a815a9a847384c7990b0fc306265ccb33bd3e6cc63b3534c5d4da370b2159c333ff58fb81d5051d18b313605deda633f1766f36efb8015af390f854e104e18c7b9f69029b0b11bd5dfcc26e32d9eef0d097d66f948fa98bc852f68a2d010c8fec4c59c645ca99e9aabccb9feb87d23ebd93909708c38854733c349a9290e29d9c6f755a4116fe717273b2cc1bcd12a6a5084bfdf362ddcd6eb8128c93003b145c3ec931eb3197e8d42c5310bbd1571e7872660ac49042940a017a8cbc03853169ed892448b84d4bfee9181c3761edefc7e1fd4024bf6028cc61d722ab9b8ad7dacd65b26236290bc923d796f1e9b16b7533f58d21dd8d492371a7855f1ec9c585aec7492acceaea22a8fd8a1192ad27ab0e8e3f293b26955fe81ebff30bc9a584cf72d87f4928a5b7e9da09bd6d0fe217bfe299c5bcfd6ffa8d1b1ac00fc2a394aa4a9f6207112485c1c4af80c600ad84114f8b3209012f66ab0dea6a469c6143d101e9684237fd6f0f59c256d62eed69bcebe1ca6f7055c22f1626abafa5f4e0230b1c2ee82c064715e89491a1882c7fe5d314195afc7886019ff4275c99b9838e0a8342082821d2b519c5f0d47202071f1ddabfd184c0aee59576903b3256e11928f0a28e9605516bd45d8ac327304642db93abe20613b6a35d3b85cafbb69485059ca47973d7a6407c180244b9eb0ecc0eff1b33fbe28baefa0247f467b56bf37e05ccd199e92480dd12219b6d7511fd536c334efaf46e755da02d1ecdfa52a96cbe17db2fe095695ecd8d8bf15263b9f7d36c28fdb291cf8e76a7ecc61f1ae3af147c566b480b2c1ce1e8111587367c5fce7d67a62216bd6e597dde5e7d5bfd71f8d17f5f3a925d740c7bb75f7dd5a836d66d22a602054f53a24514ffb13747d879e2a96b67830eaa7c9a2d0aaaad5d8680426d1d9dfbf1998164e846f78796a42520cb7f928aaaca047216c6288f4955a1f27ef96d9266e2eafdf2343b1beff7eae9f6b24f7052e0a56b5666e7f8dac2dae860756b70d9ef52a3de74ee776a3f108504bfc7073fe10998a7d37be76e3b19649d563d63eb5c2507794c8543302575de6c6999173b2adf9153700179b924686e5e2c2c0ef58988f0d96617c6e7a13c960e162910624c092138f6b1cecea7e4b137c9c59e3a8c31ba833c0df68fc37c82000f03e7e06ef3910665c936cc83bf1eafdbd76d739a02da34bc4fc6da181c0088274653a5e9f998c43a05dfbcae5353965638b63ef3f06240fb2e4612692e469183b1e52c36869b76ec800f72657a580ba1870a689a276a671a059587ce792d0973be465a161b297b9498ac16b4ca0a778ce2427fee689a60ce21ef9ad88dc355271df3ad23ea487b87397f13dd52e2399d79e11424a31472ab90398ae2e4d3935309ff38dcc9261515bd704cf82b21164d5cfea23544d96f612c62d11351febe66a4472b59c0896c9029f5e1ceb1d1f62e9b60285da25697a47d90c2c18a0e5d66594e8bdfd2ab8ca00114a8cd4bf63d6e5d3f30ec16a97c2b5cfe887a99ea6590cfebf64a78b8714b5beeb2c60fe4985df315102e7a0e8df55de225eb2847125a4fb473967bd476726972c72683ff6fe1f25856dfe0ce85cc0652d44f0ed1997d327617a739f80f6c4555a6132e31bde87a367849e3dc08ae419db9d3691fd6a82f172f3ef2d31c15d5974abcaeb58e4d4b25ab1aec1b370ddb961f50aac86486d6009fefa637c37dd3e42e3ac32abf3cb89a44cb28de5ec9ccd855ca05c119752922c6a6c94a72bf8b3088b6e41456f0bffe679aec37174ccaa4997f0dc501c39d81d1f48afb04f2077ba107baf35f47df7d926a0025b67a564bb1bdcbe06bfb26a2d9c7e2da82ef14ba800c9b1ee4a7324eb7aa56d2d4ce14b76839e047740c8f0b0919babbce90c15117cbb8d2ee75ac580792b7c76e2459cffa81f0ab6e83183a0541ed7a0b53221c20185b9b8078acf45e4d9170970e43a5f002a24cc8c6ce5a14b88b00657ed9097e3ecbadc752d30c0e13f16e53c7aa98c4f78d2aee46ba5b3edacff5bd2100ee4ae17237b57d0b4b68c33caf5f54cfb85f4f85526bbd67fe00df7db96893067f05691b7524a1e763c6714fac20be03be18be99e69f71b41acf7860177781f2541a4a1c9b40d194d25ba6abc9c21c01e1bcdebaaeb7fa0d58ac2b9057e72250d23bdf57f5c56ffcd5e7ae78a9684c9a3cac8fefae1e5d1b8fef99841b3e4d19478afa6ee05be71bb8eccdbb7dde2af97fa51883b795a0f3338f481328af89ba4eb9b471d35806f0e942cde9301dea12bc1843e6d016b5cc023586f42faed34a8c17d74a4d63c71e015da5d370f7cfeba6b","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x0045b71b180f5fd24d2951b6bd669b86e4e889420b2ff1dcab64de8d3a8e056e","signature":"0x03ea2fb589a5c4ab5b8c999ea391b7b7eff1a8615882814c47918848cbad3831f3acd33a7ca68581906b60162042d7c36ab4909f51906af46c381fe395ec1610e8e1e65f5dca6416ddc9ed31a30116f3da87f778d361e47deeddcae813144a58ce5cfa6c7e92a306cd878d83d56befe7ad19e55c0dbcb2ec3978c5b5e39b22583fac6e6989356bf1abf35208fd733a75d5c264d7039de9f2dbedae46e684d2294cc572b424ea80f8cfcd69ded5298327d077d84964051668884527260b6439df995d52ed4ea894f20c88ffd8412f19a36c9a7c48177312f1cae82fab9616fa1dc83654abb9aba06b85625274a7d231aa827eda3893621a40633ba531b49d109d2546f2eed0312d1d64cdb30a6ec09235db677f0fb30ad25185bb081ebc357112032f82bb8bcfdeb7f6485361feca6ccd1136e683dab1915dd7b968b67c45db22997850a4a681d0afdc2d5a6c31e2629971940f657ba6c79e4e50984649aa80546d43839ae16b3e6c532948ea46bee43f3939664e2dee6427c4e6e64eaf2d740a7e0a30325216e3b84585d3b0f18c52f9d828182dd1342a4a29231edfa1d946cc7b380e4d27bb0bc057b792f1b72883dd88304c5a87a2f683c2f37cf3e1435f20ebf4925555309b38867b822ba9c35ca1df2e238589a4f3154c4bb8a6b7f9868ec0765ba8f2a36b9d0d5ef5a51a984828fde11710484b7df80256d37a916eca2fa2916923923ddc508a97f7892bb3885191d8bd1e04e9de0f0083c6841f4aa74989864b4736f1c9f8233f0efa189f43955e823cf677418fd7230dd3197bef468a3e5094a49f177977af9c99e76b9f3a8cb77e809198e6f987bfc60b002bddbe8a2a5c448ab3f2a137dfb37be1b40f32fc6d78e686264bde67b311469f613a4cb69b30ba06d65b047e1f4bd22c0ec6c7c66d96c2ad80e256d64e7164fd7de216cab63d6670a8802060ca2f94e7e7f505082dd8f91513a4140201f95aa3112ccf5bf6f98ad0b3663de34786dcd7dbb81442f0c57d7201a18c290a46e083cd33f6ab44b0d772815717274662ec7ffdf11f5827c989fe771917fe44d1240874297381016515e760cc1cd519e4d5ef710b6972312befb1a34078823e75282a3616b9bc6f812d3a3e2a00f56776ce9f6fb0394be80a082187eade1c7c214772ca4e4958da5bf79d9fd7b00d9bf99c25ac31798d58cfded4d249f25753455b9b11eeb41e3404f01fa94133fe5b0c7f9b8a1eb67dd876dfdaa4c437a3fcf19aa118192c3169069505b9a50a5d42a3d096075328236e4eeda64b47059daf0439159501d98674c0e4fce925658435db3e666e682cdd578b4a06e16ca9805f056881e77328323d7ec47db87b05b335f381a40738ec0ee35ba444b578777fdd39047bcdd591d0395affeb9ad57dfd6a3d46016fac6d3cbc227e951d1856be625c7de912c4c98a181bec861a8de6ed9b06ca79a6cd35a790eb1c496c1868ea7be14d303b6ef28a781b7d2fb37eed4ae6d5cce11013378953120b851678d3eb2ac33ad7e6391c3413a8ed5c120325d0c9b020dc0905418238d8d3add1887fa940210cbadaba79b13a26db01fd5f98d0b254a6e56e1c3c129c86b29bddecef626f9af5fcb8f3e8c48cf4a477d9d88f7364fd1e22c03a8c091eeba924f9364f349ceb73e91183cebceec991815e783a671b99b54dab94e9e549b88c879c52d62e3712b7037875308e8155afeb86a0a090fe4633408ee8b3abedf4a9bcdec66a4f81143e5f136edcb27c63fac862f88f9736cc1e10a00a950f8fda6fae67cc0dcba5eb9f4b85f984eb4e3be21a472965fd425b10c32b0ddbaa137453110316e4cc55f5b9bb0ee4520162239721fa593be3977a8d5862121295adfc42596e776f262a9dd4b917e5dcb878857d12fe0bd3d8aeb669e3493d5c054752c0516cd7e9b929a69290ada8f942945aecd6451b850da9ad0b0b0470e719dbf69a6155a9bf1943a09207a31dddd2f423e3ad9f499fd7c7e830a9e48b161beba220cb45d5b0e78606226771b79b48213f08132a96aed2af0a8edb6ccc4ff069e1383a73350fdb7ad8d78792fcd8dd19242cd01751b42989d3a5ab609b319a4c7c336e5663baa5e848faee7e1459bd7acd7beb44ae577a62b8b2efd6ed60fb39a23c6af38e02b84b986eeb5dd923bbc2842b631ce75945f98eb17f5ff2f02e2adfed9beae15e874bd178e7a3f8d71727f53e65d678a14aabab1b26d79f6f459a116ad3ad1f4339c935703f25f8e01e1e55a0d230404fce73fe2ef53a9801d1b8c578770582763d5dbef372bbaa0f1c0713e08f12022627a53236b60679bbc78219eee289e88d4e31b2e75b42309b2f62d5d4189379078ca8ee7ce5985c8726b8b7d9495d80c90efce18bf7b4e51dbd41eb73d8182dfa4fc6903324693e680ca1abda1726fe1e3082a7b621c46fdbe8f73b5609d8097cb3e9f5ffed6d68465c2eb1526aeac782d0bc07894039a3fc0eab6047bcacd10e1735e0645829caaa3335aa7a714a0a9105f1c1fcb75b379feb7599c0d08f46f43b8695fc958a316688ae885818b3a21c3a0655140646a74e17f8091de3d3c7c99c56b25680fb9db178b0b7dcb492bf4c8cf2445ca3a8953f5913883b50cf9ac2e2eebbfb7afa3c612e8af809442fb4824f5fa443eed29cd17138471eee219e2a0003db08bd28ef6934f7482cbfe049864f49d0edb6b9283b4607f5053dcf07f0276bffe601df6f7d40956209decc67ab66039d3ee5311ac82ea0c33827b233408bee5f50aa3f24355b52578014e49270fce8e570d2d9deee025ea3abbb73cacc2357ecc48ab457fd09d93f8865c125ec0d225a5fcb5ecf82d3dc928b57cc88116c5acd1fd8f7018478b61a10fa85c04a0dc377e396d79f7a5c86b1be872861b97e269d665e54ad9f76c9960d243ef0b787ad3fe4abd827f3843c3deff7f4ac8483abac3ed65a90ee8b85b2e091f048f0e181b0ca27712ad75ef9ca2d813b5fcb49f8b5733118de71ed108a2113a34ba6285f634d0065486e754da0b507ddac7540a268b86ba5ce74accd45c8089ea65f7f5e64cfe74ca0e6e0ee365bff8d358faa81f3a353a0b8370380c1e5088de8731da1808d72ee1768549b4718367c465d2e964669e4f108ed9c1e198692afe065eb1cbaccefcb42fa4a31706f75e0730d5bf2906860c3f6a13be479659ab8470d6ae2b5429da6a47abfacdc9769ddf1b09aa7c5f772af1d2928761af20f06d27f0e8b5eb8bf9f13858949ba54fddfda76ad8887a03c67ac9dfa2ad68967a46fc46e5efa4d1e9c1263f078b03c9a4879931523702dd0d5b252e3c1e75aa6a46c2a7506f4abae5af70d02119df3d7e8af6a82f86265b4b5c4a8d14b2765f53a3e68fe359016286fbb0d2fd4412b5660de9c6bbb59e3898ada10cb7c9ba350cf4e4dbabba1590e41ae3302da42f7d85e7e7615a2329439008742da81dc315a06d0b27955372f018dbbcc824ac90e360aff87db5131ceb2a24e0863fec1481ce8d20f1f312b81ddd64df6440dc1bd58a58502bfeba892404530cabeeb94555c96e9e040e84b83128d13b57cfcb4f4da1680a45e086b476789926acde67ec4140f2294da00174b4aeb0c6eaae63a2c400d26f35eb70e6bfafb5572c7811ec856c92fa63c83ea1c9b765e248e72073f90eac0b9d8561385820bf29e227fecd7a8d4f2c33a0b2ea820742ba6499a96091c5d0be219461cd54985918e7bf620219d07c2150113e5ab9f2e1bb6d6c6b5151e3095c6e3b13c5a8d2b10adeadc6a1fc768c03cc40f88e556e8659cf00edb93cde9fcd54d7c33c728c5ac5f95f4db833e990ac0edfebb941f5ec4aa04cf0ed811673dbf512e3c50e4b615ccb0a5ec5bb4928eb81f0db168da730bcc93af516776f35f6e72d36d72f5fa838f5fd32215a2251953db83d6e13a7b0b6a45099e0a4226985b0ea560a34bd7a67aef7b7325b4722333b20429b65f2f336644fcc49eb5ca90bcc3740a89ebda334410cd6b800552986d6d6e234911433de8a365a0a237e6c3c4c3a3c18df16e0678ba68c58adeb4f83bba14a634e3842850c903cbf1cb8ce32fc0d505711f420e8e7a29af4fe1dd1cf282bb26f39387071a5ea6f2bc0cf1ec50502f4c8918e35fc71256950b0763084e18b1b91036e21bcd1dd845993ce4abc8721d5c075f50f86b2f145a2635af6b68dbc0567d6412e383080aa66ed6fea7e72b88be7115ff027d54e76a7cab115613f57af4da89dc15081aa05e4159705a0fe1921c74ffb89634b59bc69b7aa90426c9ffb17a6c9c2f6a44b5d0d8749b8f64264546a96fb0761479a644849388277b90aaddb0da9fcddb6d1223a963cc2d53bb4926fbc4839b8e95880e1d7672afdff63c39a287703836beafcd8aadd400ae3dacfac462a2153b004ddfde535bd560037e93747da684b5e02db530ad4a17c6ceb289fed457916f3b4bec70828e948c24165b071cca149c6c66d61f6931bf619d4577d3a7faf822383bcd0d55a64d715009ab65245b33db4edc627c4e0484a9c8ca2ecab98cf58c96ccf8a40cfef6f24edd9c2945f4f1c1d4541293bc149a14f8cd901313aa7d54433a5b6259179eeec22da79c2234c87a4df1df4fd42fc06926add99742466f338fab0c9bea0ae4e7e13abe99a677720e559cd6ca58cd24983fa9d47cffd714d7bb1271394688c1e88fb29504c9659af14f8fda969f96b017afaea99c98cad1d616efcd8d7c4183857d752e14a10d8c93efc6cfd90a3313999d73ad37d5bd8ea460f07a25ce7dafde64641f945ce22e36b9aa9a69ddc95b4d701a57cf7402dd21c258668091836f4ff66ad8af794e87028f4cd4758921ba81361f3df9c12e86cdaa8480bb204a54148699467c4e9e0d498ef687af03dfac14dfd4a642a13591b401cc02ab778fadc8bab3c81365320e77c05c12570c00d55e014eebb76b7c754e1939fa4dfc1573370a686c8b61337f16a8be8fb1de9188051829e64a9a320d44a634947e75a5cbb6667889c8641d1fc8a6a395f6bad7aa6e4898ad855db84d944b00c0df69dac4725cc9d758545f71261a46377c395b77a15691d776df5fd68ecf3eef2279e0891556c453f5307d8757b7e3d171a7e759416be609cac2ff3fa58b1e679a4b4698af0b676417ed8f2e7c15858a6714ef085374952e01d87a0dced939ae8db4e77a62edc2e95073713722153605f9e46038fdea0221033ec85d3b13ba7adf3f31ccd69fad7c1453de2e80d9924e3ce128eab3ad89b7be0116af074010efa859f9f192938119a8cf133ee259afff5d1e9ab312bc36f229dda4a1fdd170fcaf6a4a385d84843f80b71257acef8f504342541d9c9a960555d564ef3001a5b17a27b848c86fb620e56bc7341669e887eb93edc7a3d00923c0c7e895246b6c6fc16a4ba7a0d01c380f409ad9b066df641f6dec7b038d1e36a91f55f579d3aa7b70f4f3472ec1251b309b0464584de732a8690366aa561caab5ee0551db49759c3917669dce24f5b32f4e652e537e68350b6e203010fe45e4b1b927ec466bd00ff2c02f10b728c3ba19bad05cc37f9aa9e2dd86088632a296d5c550539193d791b58c790535f7d39e6451725db7939b3f29503432d86c0f5ab10a7771e8f3461b5f1678d01734092f670bddab5164876ed432a94a3e4e26c063c141571bf6b61459002d390663799c0ab7139690b2fdd2b32cacc2827d390cc963014bc9817905b2c61a82d39371854ccdb0666b4b7c58ff529242ebd933bdbad8a2b6fbd3812c8eb622f780183914a72941a501df7296f1db5baec4dd2eb8c4b4e2d533ab6786e1f87174b16750642b4dbebaa7980e918910d6a2d49651b0239a267678d96cc8665d7351abf44a897e1afae79d71907975efaaf25963f8ac25bbd79436d1c2f49f5d53c7a815f6a8e1e4621a27da67d27f18ccf316b2cebd19944823c9de9147df1b4d6d1cbc562d1e273905aa464a5b3a25caa5d6654aa6cc1d9e6b68473e0aec32625bc37ef0364bea10adf2efc1ad4fba783d9c1139dd7ec1523f24e16497192edb336a0c116832118e7330516da02adfbb0de6d42ee03600ed249702b96712564220ef060956c1e1199b4e57f12469088f8916963595bf067acb6c5b0b76c6402f97b4ac6b9901920245b9c4db7a2977c346b75943ca5d761cd80672194b92a393727d1e4676c60898db87bfb9ee56248d962275f128e30bf1d32f9e3e2220edeab9c31031a92fb755bae2a523f0a82790841929f593983e7ed544d9101d27dcbec35384010901473bf8b9830f194974a0a98e0a9abbbf97c2eee30139f5698dfe80b97a51433af3ed981f7aabf616a882974eb9e7a8e881cc8bca22ed9a60a9bae785d45ca604932002ca02b7eb8e879c0b8f048dfc8dd40a3d6783b65f15a012f3da31fb2db97226be0d377da9b6beccdb303f606fa3d8fc256a7da1acbaddf03187999ea1b2b3d3f2fe070d173bff105767881e5194a4b6e0f80c48546ab7c2c6000000000000000000000000000000000000000000060d151f24282f36","message_root":"0xf2d3b32bd0c6e93100afd596c31520c03406b7dffc6123c3ca471b0e080dc44f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x7f4b0a4a9ad08239998a15f981247679546d86a0f90981ab38ec469c8b4c5b33e084d71a097302281cb4fa4a5ba2ed409f4925f8936441d0590af8be72aaaae9753f77074823ecdf8dd1c254ec79094c80b6f2bf65bab52aaac00c6aba50dbcefbc3d2f6fcb76195affeeecef3be765ca2607a1551e337f214587ec7e090bfaeb9a767093bd8a1015a2c3a60a1a039f68221f7f6676c74103d7be48518046c074cec081259a1d7796fab2617e7258bc0944a4f01b84601985872a02f760cff3aba58364f0d872b3372cae836bf0dd7d35dd4d624fe04f497d13bb477a6ca72a01fe207c84b29aedbfde7d7a8f4025634b77f6d1edda8d2b87ac383aab02d816e680ec77dca412ae9beafdc48fc9c837c11b2a58fb6cd0b8e8cb97dcde54663eb4f6735a7d74488f4019856260746fd27b4df8e0dcdd74681a76aa8b449c97acbf435de9b04eedaa379e281604f51882d8d028f931e1094651e47aa109240f0cac650452fa5bafbeb4ba634d07e53914c443322df38fdaa0c0d99e786a60013854032111fc869e403499bad51a02b1640c76d4ce968573ce191af6d1154d93e9071b3e366bc438238fcd7172f40d0c7fbd3e8a83b44aa637032eabe3626aef1cc70eeaae269dd89a88091b9f78ae3964ed9ae27a7fabe1f409b3f9c03a2d3755a91c36d0509e91470b2b862060c640be8dcefc8dc26a3d4257c24f35fa77045e0218d09e950b1a5da0ea6936a918b87edae6d2fb571fd3cd592bf9fba97c953ff6a59e91eb2c12a4201c28379feee52ff3f42be6418c75e75b8e1d5380046c2b39ed45e194c3394c994d3fdbc286f2c6ca8c94aa05d7176e557b306ef83d952dea3057684bc93df019b40378f2376b0a5a6776e648237fb738dfe1eba1ed5ebd421a94358423483a3a8b0b65a5d37df8d98d625141f68844b99a2a7314fd7a7188998006b55c62316eb6dcf33b3226a53305af4578a35f7ee2e930f4be28a7b4528ee18796d8b3df8f532316394259018d1894db6b1148915815dbd56f2d6c53f29f09445600094a13de91fb29daf9e8fd67e0a1ce0e897763fa44fd493a1cafe6b1e47a7a31965315dab1680ee860c1f57b11517ce32bfbcbfdbcabf5425feb0a66bf4961e49b0bf0c818db95f30e67ea718aba499bcb0f7b63e7dfcbcb4b05b68bd2f8f305b8f909c9b1429d8db94c31b3073401ececae3220a112c3d79f320866d8aec804731f0222ccf46c2dd70f2f70cb5fc3f6dfad7b48a42acc8e90f9aa6e91de531d3318fbb52585ee39fff093b90543f136b6c727aa3cf1f155649726f96917477c4c2999e9e91a09a7b63efde6b65d5c596937513105623735da0339c0d030f831f55889034c11bf934417793923d3a859dea95567653e76f8c9120b77d2af8ed1080ec9e47f2eb18f7ebf54053ec0958faada08937b79665c060897c1618e8a3cebe7bb0ab8c29923d3f261ed9c70a26b7521fcff516ffdf9eea816c1d9903e149301a90ca8c049efe477d403e9fa05ce74d914574bc4ae57b0eaf5da152b80d419854e0d91a058a9c073410cb47b3e1f41879585d4c4534d673572f377e46cc232817b347baeea196aea65907ea29c30195029d879467dc7a578de5edb84073e35473c6dfa24e5670c5b2f53d75ca9affcba2800effeec752f8c6a266beff8ee07c2c17d8a8a8ba84e6dfbfdf1f1cf695e018d439ed1c9218d37b3c5d7c242387b12e7785d9d5b519dffe7fcfc3e861b2ad73a028e1f09f10a1b19bb9f60416dca09d406931b8f767bfdbca0a09dc7053f89e4fad9e7b9018d4b13473cddf72c51f5dcc28e27ba0296b561c817a17640fed3e51f1dc9fb59a1ff098839ae44888846611aa0362ce18b97ad62f7983a1f095d030f0baf83c72e32ee8921227833ebbc6d63eb6acdadce1892b64c11279d2ea66da3b8201e7eba6af9590e7449437d0967744e2c6a782323286cb47c0db705f1a5bb22ddf62a05fbecd90fb853dca0a664f089c05d744ae73840cc1a4ad166fec45e5e6c6618d8c37e5ec89256f76fb540846ff49186055402221cdd9cf2a34c885c8a15f0af8899fc21972ef24ef39d8aa542a3643b47ea0c11b2259b6c004f1aa2487ac7b87badb2cc1131d4f939435352e35cfe44e7a75609ab0684038c5925cfd05ee02dba541187607eb0683175e3afd026abfc26a0744e7e4520e0df50260cd97dbc18d9ed484652bb5d997395439a95f09e6c838cda1791ba8d8fd61b0d2746a3352d55bbe871777bdd247fddeaa989c3abf8f11a3d1166cb4b88325a3594a78bfd301b707533b8ebd3aa63890374589d6584d78af50cb3e5c8bb27fadaca23c810f6fe0d38716416b042c2244263885ce30b6edba2e6f2cfb3db0ce90935af320ca2846e2a9da396a576bc8890725fbf598b4ac8388d132ecb13e4c7572579074a36fc31bdcf41d10671e34d839ddfb0e07fff2b788dcc19c2510d27b644e71b4e64422ec4b2fbce2c585bbb7fd5e50632744fc68e27bc37abc873da16bfb29ea117858dbfebc80642b8a4c71f98f35e04003a949794a4f3d3281b2913cce5c95240adc4618b7e97d13dd68fa144798212dd48ba8f623ff5918fb5bcca59c69b2f265563172093d451623b427129cbae16e3e24ee16451c7e245767b720442744961e484c798e44a95f3a60919fc872ac5b053c2ab32bdd35c122dadbd83c40564aabcf3b2e64960790e8bcf9cf85d0cb17fbb6d087c0f66b0304a75e434243be1c153eb0a47996903504b07771c12a3ec39387f0e04d90b003cfe2fe02e08359d1b7d8c66abbe9fe1fe73f199b0019b2cd4b6bb49b0cfe28eb35f9ef40251936dc96506754cb80885df439cba85fb408d1c32082c0974886cee84e52ef6cdbb116dfbb734c477df10f944d9db325c50cdaca8e8de15b8df9038d7da33f1872ba2538be34ae1c7b52c3da439d2dc35a022ee0d942f0b4b9895b2cd3b9477eafaaa63485388a9692e5e8a6d3462e8ef99d5c92a7e67fc2522b7ff87b19c7d52211cd1a6e64d3c07f0d2e2d075615ab7f1fef824790104c588e2389e48eabafccfdb2a6a4768f2de7d9be3c890bc2918398bc409f8c80631fe0cf8ffb88cdefa47c0aa98a13890803370f5b4e05a5259bb0454dcf9d7d50348e4decf3c8126c25f5563dd5d6af9577d7fd8fb82e40ebedb84bbadf29ce2ba6fdccac82ef5448fdac074dda4dce1a3283b1e6114afbc3bd94ad6a69a4d92cf56ac51a3ff3959485d203550d65cd6d7dc7faacbecd09fe3344fca23eb09b04d516ade41e80cb4469b0b05bf6cf32357001be44b240a2289e330a16413e45d49ee8f69ad1683110bbfa95bb5e8e5dd83381c9bd1199dba719da653b85d86b6de7f87a1679bcbccf0f6b234fc37b59491041f755f4dbd3badc819ce1c33cf9492f60f30df27ce118c8087fb9e553ec7cffd566211ab5b42e9f5afb8371dd778c73820de5bf046ba8da7f5591e169df86fb74efbfb884ad4954a924a6f4e3bede66f3169be90fe895cef11795748e47ef6cd2c5b612231d225e7455818d23d07b6369313e54316922d11e0b112d4964d76ba10855b4f2894cf40d0247801a0d0143567e164449694dc1f8c23f98632ca4b91de9dbbc37827a822ee178877c98ccfa1c2e9cd1dff67c7e07149941f4","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x37a74a761b8e96963951b3a43328c636467010501fbceb00870ca31d6cd00ca8","signature":"0xd00fb12119cf7a744132a387cfa0d385f6db3878af033ddbb1b233dec79f0179519c78b6a9282dfbcb3b71967df65daab229f8d7e80f4a538d6bd948ee8920e66310ab6cd69975c29c528043bb358c9ae14994f20c94df210a405b36cb3e183ca530bec9fca704ffbf7260e6a9d3903f16fcf633732ed763ca8baefb99cd002052a77e7e6a9cec7bbf3411b4186708379592c83095c4fbacdb02ea4ab524d72f0c9a96d3d2fb6f2c5d84678e9a6a7e64dc191b621ffb1418ef987b0492eda484f694ba8746bf6eb2e8b293ae6514d6669919994460dcf89147d3480a448a657d831a8f06e3aa20474a4316295ebb01b9e28ee7a22696edf833722577717e012d724bf602dbb7bc5efe7315eb60670e9c58ed375c7df959a10e573480a1e2cb436a26358376170f0fbd1ca04145588311c6a4947ac2e37f1e188d90adecfc29ceca5dbf5312bdcad0ff1c570a58693143407234ea84f91295c4124002796b885a8a85f86aa3065eb56072ef76cfc79ddb48665aba89f5592920ab4e045fb3dee43ec2f67c5f70affe69594a20b117820cbe6b4a16c2576dbd75985d531ae1d3cf73bc78b624b4cb815d7f0a01444940546f9d22bf750154a96fb882fa30be516a606b7ba26b2ec6bce43df80b1169fcc5f39f97fa40126b5e653678445321226425f4200760000b37cdfe27316fc9cb4c0530f3335340820741e069b76216a3bcfadaccd4a976dbc4ec368da7afcb51e1e28d5b02fdf589dbe932e0a6da45ef6a797df842cbf87baa768db7aca4284c756b327881dee3767a863faae9264dc49437a19919a179b4eebc7c46bedf10c8752e9324ffb829132a2265c9f4b927be3b8e6a4fffad4596057c8cea9e70d59c67ca141de03eab61a9dbea5b7d63f24b468073663dd3c8026a135a2b0ab38143c7e0ed10dc0114000b5469d3ae27141b1925e5b59044067bcdff237c9e9799109049aad8d55866f95a551db9fa1e088d68d57c60c9ac045a7bfe80b22d839e71174d3c906e744d114fcee6dc70f61d5ee826f2db6df8b79ec7924cd75f1b0b7d7065c721080adff60f2b148350d546eeffefa46139b9465d09f796a006d6f7cecd11694e1250e75b62a541f3e5e9fe99caed82c423305be77bf7cacf82d18bf00d6eab5e0d38b0e16da0b4d7f725f940b4bc147d41ca758fb7bc478c844bbe9e0fd29451e9226d9cde106ed87bdbbcc91159cc41c53ce4595a2c2d7ef8a7fc52079aa5959fd075957fc71ffe783ec0e4bf3474264c1f754d17257bb762a249e61595434a42444c3d356b76eb5b25ed2a2af19f784d3a464d98ff47aaf6bdfe0a62ccd8ffdb74e3b2eb26db17ad01b9eb4f536f5d1edf4b13801ae308dd8b5e2e815caf76e450a1068454ab199272ff0d07d5b865e5fee72533264d10ec7e7a4bf4f9de215f7ccbfb40eafbe280e43748825dbe3cfdc7fb739b84482cd598a05b18a7e6ea332892abbdb4c89081a26dd3ebf39e9019ef2c899f3fb302de119aef42b490fbd0dbf1a60f863c4c7f8b53ba10484737567ae6fa2da6c41074e13f82a27f30d830864b2b9166e1279236c0642946d8944f2bfe5bd905f1917cc02349d8bbb9f7b83ad3dd7c440a0003ecb093bbaef39f722be16357199b82ed1cd2cf9c1861f31931a22ed0c16d9f9a444f080b8ddfa3145408b3b0e91b700f042d64fd356963bc226b93e025190aad6f9dbe548f65313ba0c277b834804d69205e16743c560f75655e7e6dd432964eab60131383296e59a68eebb9613a928e484bb3b515758afdbdc965673f4907ca8a054a58d693d9bb6df31b7cd932ea02aff50fd4b63bb0a55fa0d45a6261ac1604143b748009afa46ff8fad138cb07bfe563da737a2cabc2ea9e879638915fc43f3ef5bc7e0c04832a7820a45bee33cfa4cece4103742d4992bf44c73352d3321805184067b0bb480e6c29feae0136faf5d9f0e17459888abc49f9e6a57d985ad02b69b666ae0e1666266c1e4b3a693e748ae3af4dae39c93611f47d6da26b3b178275f9dfc2981552474004dbe7017ad337bec3cc2acccf0645a61779e48e4fe8c6c706710e9536fb46ed744f8b701082bde72a199c296def6e3ac30f9bcb9ac8de5100ad59fa82fd63680fd647ad931b3f6bd1a019a3c2f9ec61dea31fa0635288c4a1709a7114fc12eb35e629121375f5f35dacd805c5f1f4a2edfd523717e91805ba8684c023ddb4d7da220c4b3feae503ffb4736aafe53e63ae09aa0be8021f38ca9c88c732857abe68a8ff595348c71dd502d252711bcc4ccd96a3304f0d3813fd8605910eb66af41c8e27ca6bf430422d65c5e40af99fbc5a961c689ab52e67cc5cb7eea325f748a7d33039dd0ca6b2df1e9f47c1c9ca50686b348856580cff67b7bf775e11f726bda342ffe222d43279a23fe5a2bd7804a7dad7b670ec817ed7da485e46b5c9d6f35070342e61ec8d6dafe22bd435a7e5f62c229b5e2e8786efb37dd68cd185259c54f7dde66c34764f3d04b8d8ecb1f308dc061fbea7c58d181962d35c0e74564d510dd2a586976c27657e4bdc15a8d7b5f8d3d80abf2c85bffb7e0652f877fe27b4e27b4c6da098df4676e10117c938557a71ddc03386a4125baf66648d49db200aa6659978ff489a73b1930cae42fabca2f6648b7d0a1cc53116d3c0fcb59a4f3955fac3381be8f95b5822ced36a532531a27ef9eba565f782a30b3365e76c77e919190cb3f08405dc8537386833f43a86f2a9251938b3985008fff54d0d24c0e64372b4d7977565d05c2c3efc1ef6aac8ca0f4e4c40607aafa2a055bbaca8e8ead9eacfb818f61592abd952e90c18e982e6f0f6cb23178e696b72d3ffddf424df15df37a77f10061c412c7f0598559c9ccef616639d345ddd0a59e7bfc8d54a7c341dc60bee8897b91b17da98152ef96cdbb490e623d3fd968eef91ea4c37e0770cf94136aac066c9c1cda70224421ba4f3fd30658590140e93da5a5156bd07f41631fd9e63951411c50c46385733e7191a9798a0158aa149e6b3e8d9ea263fbad1a2699817d8cd8da32060954127b9ef736c21ad51192d67f6123381aa9eb0e1564ea6f07d0b45525e4f434974eeca3794e3a043f9420a10e6270957499517c60180b4fceb3a5e3f89b8ed854e0fae1c25888f05c112203fe59abbd37972d29187fc0f9693a07b91fdfefa83114110d9be671d3ea63c0e957b75e7b2b0859b9aa55711afb20b5a9a0a858ffebacfd139acd40ab71ddb28111217e5b78ffb2b996dece5802a210768d33910a51cf85fabace95ce2b35ee14b0d95c1720f2bb20e5bd4f7ea96f5a8e5bb6a8e91764a881054780fc881aa6c93ffc47cf2b2b4a1e592ea4908f1f9bee0f926c83dac7ba1a0bc966999721be9c3fca1422800971b37a942f7fc30ec9d9a466a4ffdf7ed090a5c94b0cf2a2b00e29c8bf730f2542916bcc847db40b007446142b4b2f0c4e071e210b8e4459b6697b048ceb845e29df01cd8e8753135890e527396875a20000c26fb5d34447f767e04d9ed717da54c87fc99ad0af77bd681929881a7041e7e2291fc481cfe87483799cc98e3fb673566f3b98993fadcced28450f29e74f1a3aeb097d7218c78e969fabec021f2314045d10880eac69bc5d70aef6fb31e2d9bef00f641351f8eb76e56b23066f7839e2053e07ed70c94c3ff213cabff8cadc67a5a2ca06d888685fd08c5961b399f66c6343fedcb51106c7b89a208930138f19d40928ca55ca293a849c28d4acf0b8616e1304b553aec0c781386f529cb2675d06e75e0f77e2c3ed050f8fb058256f1c63a93fb289a6833919097eba67561dd918d0c9826f5405327e7fae0b6db3cc2d3281caf21c94c3585e8b263e177c52dcf9bf17fa25f8886bec4afed3d92f2e548ad69116ee15afb8ab05cbdba0dba97783dedc8590db4b3a06d264b368fa102b3383dc5bd613632b2b37e323c0c9b187de83b3ffe6964621f79294cb2013817fb9ff0f632eaabee5a1df8398fa133315f5b2359a4325dfc41efb8a776c1bf160c170bffd2bb6095349a2475da1e2fee85ee69c53ae29c7855e0cfe8f91f84bbe0f28bbbf6080ca2be82c35293d06cbcfaafddb97e0ec45366aa768152df688d6a54f979ca87dc13ef14a18efe01affd5e1ccf1a4f5b9150ae2d8f52c9e793bd0b003e59c81d2212b3fa1e35ef5961bd0e2ef58f652a1864e8390a0f283a97e8945760e5342149b27d419bce96fa0326d3f6a303fe0fa034ec6680e396233e2454e2b92c1fd1446ef5b491ae36d0d26c14359301876a446f4b9c6b463bfc2399cbc86231ca4fdb945c326cb0fef6b8f254c7abf6fb4e2ef8384726f1c8fc7913e0027b7b2a9abf29e3f476bac876ed1b2f55f38a369cde2020e6a6f1af9c90770b4325b0dccc806fc73c1ea7fc36279fd0bcaeaf58f6753e3bbff2a4cc0110ce11e47f992fd96e0883b650f1d4a3589339ba1d965eb29a88138e6f1917847b331cf87aab98db4b6122e11ab137f6e86c78122218542cb7c5ecba0c58eb347f95261f0759bff04f9e4d044d221208ae4f3ca4b318c401e2504956b0de4e9b58a11837f2e9eee1a09779bfa2c794be1401e02dfb2bfb66add88a40df78555855de947d3a860f4f388c482589a0b28237161e2b9a3a1d55e444bb0230ee9c63e6446a914d68a3ce57687cd8a776d90b25a3e096b181c29e1967d6051680d3a6151f55b249cc401ceae0deb93433842afdf7a0d51ac382b4cad141b3d1d0fbf11768419e0923c29613371fad1eee310e7ed63d0bfbee93ce616bf89f9ca69ed2213dd66ec7435b3d7423b251235f829f844aa82498ecd761d69bff1be846353f7a03cb68975cdac32fb7305b9554735963b13c6b107e8281ca47f74fab36d1798a95e32a3090b071c2f805c01c2b30c4c5e232096779bba1f5a5c795cd927779bab00cfd19d84030dd4b0716b3dd51ac751ce68db19bcbd2a1a6e27ff088960546f9d3a98575b256a56d920988f10798d922fbe9cdb02634659cd925fd9ab01a50c78b1a741f559265fa8cc3a4689aa828649380a2e1dedf8d315eb4ac31b2324365839a14a7a2cb99207ae2051aa569193e26e20447af6ae9ec70e804dd6612079de25457a0a137d2089c62e7c30b4aa242d105f4d7aeb05ca88040e387dc9f4bc432e0d86c278f2e2c2ace8e4d571fa5621d5f7e9ca33f9762fa30c4d548589674500bc6701236810df9ba75fbe1dc7723ff273bee2c2b7959415fad336cd98c9ae5dccb63461f9a1675a32eef4081167e2f900f84ac07f4c8c904d4779dc89d763e51a72a6ad99bc200df1f917310f8ef0462971076115bac4629196f856b6e0b5d11a6088fcffacd473c9214fa422791956098de255a998dee2090c871777e5fcaa88535dd86489aa081ac97868d357f031edfbde8c8212961ce43734de616b4560d6a60e65910fe977fa9ad2e33cf67de32daf035b20ae42e441c221a43195b0fc303761c7b5f9060d96bc7045a3c9e14d9d3771d95db77338f27d78095e1eface930612fa1fb687aacde816be303777e87a8c32caf0effee9177aefbec32498d6ccd6e5197f1f27dfc60af1f3f600a29b4b060f3a29c3d8277f01c08ded2d5524e62d7ffc9d722ab5e8cde990884fb7e25af8a5df28ac804fe331e766713b4c17cf665d25ef3dd8280f879b448bfb9b2b3995709133c381a962d09462315e85b7e8842148c7576c5de9307b9d86e60ac52709d6fb288095eabc459cb9b47a1ebeec1c782aaf762743d1459b589b6beab6ff6194f2e556def3a973526478dea5afa42b22c6e15c3e024978501b9441aa229a1a8799a25f64c884969a58c5d0efd9e1ca00e57b9b18d7fb2ddfdbf536de7d86b902c21915c36510488780d3674707a3b13481b1bb62bcf6f1c80f30fd673567832cfc9e97466ff68205d93562143eb55d22a0b0e5b40da36016f0cb0d8a50e0e6910db521847934baf0a385448f0fdc2b4c1ce7ca36d922722f153bd286ce7810cdbbe1cbcf1811d118ae1c2a7a8dbbb1e753d66193b24ed7d439df7ea96b270f797c70b70042ebf690e63ab6d418b0f8e3947469107ed5f931c42208585f449f27d065a71ab078900d672a6edb58d575cbf85038be02114e9330c2bb203732231db4eaac2f5ae3c723ddaa605d7e28a3da2af2c515ac2f5bd8ea567c0e702f455766f14d858bb340d344e1eca3424a1e6b1a16ff1873ef0c268bbfd52130443ffd3b8bdced322da998b76b75ea3d49a853578a4699117ad6f88871f7f0d8e37ed2074b8a406aa7ffcb9691de035e56c20f3c83f6ddd7c59af3a3a08b0ea7f5828cfc1eea28b46a1fab19500ffcfd531aa1cfbf975f7e286ae85b1f87f439e49dbd88b37e5cf23793a6ecdde7c6f4d81599c4a3b46570dbfaae2cc4d457d2046ad7b51873b4965d0dbe3ef5c87b7d3ef417db7ce294e5d6b79feff0a1182f5f8fb052c595a8fbfcaf35f6366919ab6be23273f4077787cb3edfd00000000000000000000000000000000000000000000060b0f161c242b35","message_root":"0x1a5d0799babafa021117a7e3c9a994bce81e3667985c1b6445d2c12060ea269c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x82386eff3d996a481f8c88aeda0bc41aeb715c7cfee26d496d48010b1193944494f46881aa19ff319c1bdf32b2018b7957c9434558c21797ed0903751d2414ce64367d6a833d2da8c3c45920356568147c1917fc95da1c7b10c6ee80430b2e65ad0553888971fdde85435e4efde22cb33036cb6c77730579aa198c7413a14ee33c2c35fb1180971975ee74acf9b0aa7c7556184120b992f9a9b199864a932965cbb37719e4d34495fe6bb507439f930f72697be66d46ce84139c6914fb068193b0abd6910b111e662add87b685fda0f86f5fe7a6ee9746205ddd21c4e51d68cfc7822902b48be636e47c1d6625ad55d2edd0695c97f0d98ea1d5d81fc207b322e0577ddc81dadf79aaf86ac15d1cf17cfc108f55e52f3f5e686aa13acfc059dbbc669dd90325f0f9fa4773ecf80f647a585326ba7af5731fa5a9d14e4a8066ba7aad9d0eb78dbe0e11b9556b21fe7392ca51c558fd204446923824aac6970e6a49c9e4918a33802144484ae57168ec94cc46fc790c972baa37a80de6c09c2317afcdc0be6bb7bff9f738631c1f1274a405b837975d01abb7772bb3ed5cc110ef841dc8ffe937f9456a5d1c546c77f8a292d18121a3bd7828990497a4926455fb9f0b705e0fa9cf522e6cd476dd857a0412d8b67d08d29ce5f5ae41a1331685f150a53a480cf3951543c890c479ba2990bb33af4e2e9e4f5169aad5ae9d7073c1344f174f2516296db2c7d3df2a520ae1d8b1fa69244dcc798e4d7a21c857e047ae301eb25e6423f2bf00a89a0569aa414a4813b2c1963f77366346bd496f875c800042a4f5bbfbd70a0af36b29ff5322b201c002b7c4649a54ce008e4ac7509c52af30e8fb3c435ebaaaf3fab349af00670094896df9b51ac013b52cf30c854dc01282c2d4a4799e5c01dee694dfdb983978d32f3c48e6e6275bc35c42b09ab9f02314930b84efbed0b86eca6b3064a77ae7bb16dc1209c6971b1dba924776c037c437c0cda4749dc8e764212a50e248c89be64490b49c84a560f07b886585776c4d4fca91c5745c55f04b45e6aca93ef25d58e4faffacd0889519d121204c7ca19882e7370e868500d00fbcfaaff469a698a3eeda096b7077886752bd18dcf200744416777b601f9f381b9b2758ed2b565d30aa9e17129fd0589a8fc73c68a0672ca883b6977c3c22ebe90fdb29829a360c5587410a35fe67576c848053a6f68ca94dd7a886574cc05fab3c9b2cb35e3e2050ee58620aab49322b75b7e1d344b39b10aa73e58d5811a7dc9e8bc1ea23e4ffd826a69e83910b26879c4d0ef0905bae3a7bcff568ce1f290581457377551c712815c37daf5037e0a904eaf0a8ca48028552acf36051c394bbe6279961e1721968678ed4e629d7ec8f252b63fa133bbe8aae3d6e212142ac8e44c67fcf454675a36310c3e446ec2c496d5ef4d4c196e83c83cbf6fed36f878e109204ec8e43919f90c642aa06d8024a8df90204ca7b373a7acca089789d7eed3b3e2d836580949405566f230e9c451686ff283a8f337acfd90bb6cb07f990e115b47d32c6a144a374d721b9be79ca7ab74a4693a70d052bd8a4b93d57955f8e297ec09b68a2acf77e29b44ff825f480e44010c927f573fba1d588f1e287cb5481e536f4451b38f8e734f3c9ee97a74a4c06a300c3aca31be19a08ef14139a5a3c37084905f3374a291074f1792a66421a272236e510e5af19761ccbaefd2fe3f2316a5551cb24320892e8a05598d7308545a6e10f10d58fa0ca3b84dd3f5d1c1ef73a117f37ebaaf09758ab36a1a79394ef63f10ed20e5fe90c891457057fe254fca427baf2eb41122b7551d87ea5624a3c363138eaa978f1c58e479e9b9e0ad959f5fe253061f2023baf3b4bdf5420f0be199bf437aa86e245f2cd103962851d20c2010f218cd46166f2a474c055b679311d7dcfe27dc0d670f6137e7ee3cf78b5a3c5bb3421494e2d99a8a22f6abcac7fba8ba53cfc43e73e385c225466cfd5877607e67aff8762a12d0f522524fa7580eb465be4078ff8dc17334d91674d30c0f483e5479cc6276b26dfe762a9e6cbf0e5a5aea95fda2437c10b4b528bb7a9c79b0cf66b6fd99c422c00765408eff98e5495b19d69c82b6fa70b44d0f9012015b6b9daa971ab2e469b40b8bd2dcbbbe4a5a49eb844ba00ad4f15e6ad666ab2465fc8ce97a55ccfbe46632b1b2e8fb464b3673a3546f34f21e0a1e254fbdb1b1d418cef6c7df1db050577137cee0896e3abea2ef3c898f1a5e9ad631184b074b49b46be463aa04c11354ec903ae336aead9df3cb451b58eeb03efdfe39e69248378f38463557d6a3d5e3ddb8a7ed445845b7495cf624acd4f95d86653d570cd17dec2859bc8e64f8398376e0ce1879ef6729b788ac3307b84944d1eb95ddbde2c94610d4285b4c6743ec0265155007b69f5defdddedb3d37359075af492ac9df032e7bc4a60431bb6b53a3dc927df699f59e6636122b7d86bcaa7e9c4dff52c84217f24a5e30243bc2bcc11b271751086338fe81c689655de99b3e1e9648398cf4a928b2d3a0f4dd261f8dee8242a01a92647fee7aa3a9a025bf462250990d83afccc7ab20a68e25ec8f2b75992d5a45e98ff111d3756e36affe8eb6a0b8e3b2cf5e29188801014ca735fc96c1c61ab81d9f3bf7be028358f3580e36c619cfad60f19f62df57f1885b1aebb1b902a8d3dabadec8a087e5622bd1fb4f295c157f432c9ffb5719aa08d99414e1239455305ebb89f1d4e848e161150ef30bbe162fb6f55dff7ebd100947a1ccccba8b8a2c277b014ca433199175b9aab5d66998dbb9afd9e7238562cc8af6a42aa8fe88a0dd4f8f9ae8d87868577eeabf273acd04f2f2a2613d3a5b5398e856ba163710ea9af0d53dd99d423c308610757b16868826840eaf0b8eb6eec435ee3abda6a836ba03e4fc240b7eaba30ed5034cc812f5176c677f6547ad6a9f3a5fd6a52e9b00b06af1cc35dd844f067b0bc2ec9103d23716fee15595c2aa1d34393410035bff2b7048d2b32148fb4344fd54431789fbd2f0a06bd04c0a10fa820ac2e2f364a191318c1a32a6d020e3da61175a618eb366f3c2ae76caa64f44ee7688076dabc3aca8bc93fa3869b4d065a41e7ec58717569a62f86dce4b673b3085a5e84f19ed2f1f0b91655b0e841e4253f4f01e4e757d18e2d4e909e80ed710597cd234bf2d5f45fa0563e1722f43d603d924207d7c0c82165700b3f05c29a8a8004efa5572056a9d31021d935e002eba16280dba7a610a9c83fa82e4ba43f5f0e5f33bba3886c800ccf6add6795b0c48e8996a183a6a92236b4efc69f44066fd1e2b380a258e83a0d945613a7dd6bb52e17532a057acf7ac3e32c8dc7d4860189ede9efbce36301521a66e7f20df4ed44ae71486afc8ce5b12ba4bd8cd3b537be316beea2a53241095c2d56aae66478d397a1fcd0cfd5b8e28fba11230d1bb27281bc9565476a3824da1e7c70c1e688dfb173bd56a43a53bdd4909dee35539af53b020c5e0abd41723e21d805dcfbc6423b7323d0ccebafd87e13ddc6828804a70ab908ce8902da5c6314fa90db1c88d15ce3f579d5e7bdd580a716a3624fb2fc6aa5362840715aa31241c21eb0de680f268d54394e870eab3d75fbf9e30536838d3c7c0b4dcba4dd","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xcfa59db86db74111add121e2395067fd6dcaa103590d8d6ecef8bef5b4698e02","signature":"0x35a80c6bf36939cf4345c1338f28d236dc50e501b059a7b3920ee6602a039171ae5470716a82d010ae9d858c8f08b87ad653e1d25f71792a673a44243cf4170e4142fde99a53c1d34fda0a41c731668ea7a52493128e1c6a34221bc430fe412be996d3816c638a360a2b5418fd1635e6e556fe5f8189bcec2c5bfae850f0281ad7fe82d99f9dd7b85392317dba6ac9466839bbc65fea5a0e81a39dd33b5379feefed35e8abe1b0a56d811ded8d770cb3da0dd912b0970c9ca7d9a03800e86e01d137a38b5695b64703740cebbcf2e025904e4b78922c1e6a61ace8565e75d5a03e3811613af33abb7f0289018f6588f14b08b9fbe841c42c9061ef250724d98d3337acb30d988730332ca065aed091ca51e72dbf2dcb0b9788aa1b4745743a9b6cd0276dce26827c8426bbe8c4d7ed994bf99137fde5ed808e8b310eb28b845846673904bba620ddf0765d3cbcc7c6a2f614a915d4da7c773630076eec8c4bb333f37768e5a951a43519ff139ea37d4a1c3a8ec2bde87dea6283491bac432b51b29f01f88213ffc226e10839fd0b42982220954787ab5d671a3791f35a2ad86b5efc400b5899dc7a4644c3e834c680eca0c3bc3a7120de3c8ee8e955df0cd50ce12f8867142e496657f48d53a34acc75f27af5d2d51932eb6ad1e2915f49fedb3d04121234188dbe5969be28e7afff62b0b3749fcbe8295136e0c0cd0b628d296f918fcf4270741bd1e17d0af03f1c06274f93c3fb969d2a757f0b23e7ec81d3fee44c2d7112647c6fa73c3538635a678eab79096ca2cc8e42cc1b66e88e9d1d76552a85e4f4d41d54767b5b867b0653d2accb7c1ffaaf52b29d28eb7624f148ac223bcc5a66d0f1532e9bc42054a6969e849b0e533dd9da7893166d7890ca74640728c1e6a454ad4b7b6e6159857e22265bec40fec46d6e9509883ecd4a073a026e8d99ad10873137e50a023d58ca6256c6ec9ea9cd5472063825d450b1cb5594e025ae03a36eb08ac9662d63564cd9f86fee82b1b3fee2a895ddff2a2a0dba06a8555984c8a9384b24ca0e9effd3a96cbb2bcbba24fcec3882682cf9cedc9f9b1c6d08324baea99809dea20218bb91ba5ab640be75876590b2642c0022a0c7eeaa70e762a5a97e559d259c5756e13ba736b203eb272cfbf2ba29a38192f6be2f1698c72d6febe4fea984f9a4ae8a4a53b5e2c942301fb7d3f4fc495ad2fa7379d41b8cd61145d3d2c5ea38ea185925680cd1b4851ea5a7a68f5880bf8fc0ba30ffc30542f863a5f8db98227784791f6f41f5e29f30ac4f4764615dd0bbb773349b8e1e9918fdd84a107230891bf6630bd533da523df26316f79910b2b15b4231b3254fb3674f19e4ea817651cf050ae2786f7a2e2e467568da5eb0e6f507d5d7d6753f1b48399adae65beef81b6e73a451a1a336ba3594f44c61713c03356ce5ab2cbe225a6ea587ab515eca64bcce490954ef0eaace43a540622513a58b20d350da47daf7b232ddc0f337bc0279fb8710190e38c1e377708d17f784013e40457d12d798280beb16caefa45b9a1a5fd08a9fb89c4b743d8a520a176b180602b87a75627c418cc62bbdce874a28805e91e307a79c221debf9277183417a4b6c3c4efdbfb229a3d3817fff280374b8e68dec168b275eb69f1254b2d2eb52a75536895eaff88db595835d330294ca458055b39bf15f7b7481823ba98602b01f2c9b649a114d67775a065452fba90494aca59aa42f3cebbe0cb27fcaef3fb91568e5974acfa176a0e86c3055e39cbe8085575df91090ae6156ca0ac8e3793ddb6cf4d93b870aeafb13265fd03467bed087bd0691e6d72afa1a49ea54a47dcbbff13f020e2477a452ab683dc442e21571aa727093e9140030014436ffdcf97bbd0231e752c96098c1e677f865a783198e6f996bef3573369016e81c85049efde0b5dcb1ddcf533cb6d29547d6238af1f18d584b353803d6bdaf4f1f953de31fb7c706a56b4617638798cd5a22024ad6658912a6656fadfc00492e31232ba05e5ab601ddcd52c1eac35cd6aaaa54cfc18cf769e3d6156b4da01db87a0cb139b2d7d8ca7d208700658483f0300ece0cb70572554c94c6b039fb67c419195213892bca9304eb580921b8d84af95f76ad77ac0980473fbd3c967509124c8e6275552201b00dc1e0d988ef75eca7af36d75da568ef3df43c23ceb87d9c8a69df92a37e150b86a9a0635b947885dea7f5def113c1d577d844aa3f5449465e3a77bb70531b4e97e40d0d5fd767c8f06adbaf30b75652f02cccd7d006517dd7d6b6d9f24c17ef700faab7aa165bdd20f8934378e53ce9b9fff676e70b7a49472e28d6a2831579e4eb19cfdeab06b32cdfb0faf5409b5ad9a49aede83e3a8ddfc72ef50be088e4a57c9188f3cf4b6903e4f788c46cfa8a6e1e5462c7001c1aba071b6411201572017309003f1b1ca97fb5db4cb33e2f92a6abf8c2223a925a8f2ee707dd782e32af90ec012435a86af48a466743e1923e42d907ca3deaff8e8e564373bec93c41a1448ea510d1794d0e66648d66e53dadbd7bc8d93093487d8977e5086def92d0e3403c4360bae92fec4923a2365c24c123cd3154550a5bd060d2d35a27f054627c2dc641c549e76f14c0d93e227cfe9f4b391bf2c1ec9c71bb61fc4670df35237ec7505c3627641f427024b29d219e5686632df7fdc4b68e69e3979a7d02029a23bfeacccd9cdd769031810f9fb16b304d51502814229be7bb5f670253345f6c68363a4e4488dedec0ea776feebc38a98729960db8c555e4870e49c7bcf861735a1093bbf5932bec4c9e1ad0130eb637c1306743754c4cda737192101a1140e44b1ccd05fa730b4f330cca1039a69709e670881fff33f57188e6f5240ed6f790f631fac10400528aa3a4a518cc5b199fc395954b58dd23a7063552df51359f86ae1ece643a62d252c2d5352a465e2e0bb317b1852c7b7771c3b170294d37789beaebaeb25e28c3831ecb64ee9095821a4cf823a2447a667b3c12a1dc069ff250a9a0176a10e9a24142dd4164f636de3e997db6517a68afd21fd4b287bf021ffe3c1827e2a98cd18f87abb161e64e1840c1f4c2060854ad0f5c6246c87e1d4dad1cd07ae994a029ac0bc3ed40e94a129f277e5a4b2d2116b520119d69ecf812b22fffb88d4c7851f331ee59662554fd65bfcb1b18dfdb31f2bfdece89f9aabb3ca455a1d31a846b2067eb1534a378819fb1e08059db2afdc872ecafe2a6ea08df8f9c9c789dd3846e963b9750ed127f3ca027226831ec7691cf57b5abf6cf870940dbe87da06409801eae12420d4cacb0f6865b16ee76c89044b8597f51ff106bf3ef4a60da795ffe05948f0868dc79ba6cdc0009e6575d358896c0b0fd037ef884f224c31e962ff0fdd53f83684474447f722f7ada1d632c9b65296af673d3ca7b6c3ed62182c22fd8197ed9daee7f8e65c1eb9c0ac42e1544fb587b243f0c2cd19d423eebd176549554db2556361a25251c2660c65afba658b55044c7eda100ab89abf007f7211bf9c80ac31b74d9337e9d39baf4f5a9c966219e16d234344bdc991aa2ec6e1d012e596bbc183967fa3f21b42f4081319d97de621543994a3f34c3c2767bed5f4ddd0435e81c0508e0e17f17bc0e63a1b51874165d7a30571638a000410205f16d77a6687ec7ac5a2f0598c012797d6bc72a0f4b92286da2542ce5cdd8e0c3c14821bce9ba3e22d733d4125a0be432a17cc11c6ecb8aa9d192c5d69efc16efb85c3a35e3ec1c23738ad6c7c861499afc169b346839ac154fb5b36d528fce16f3d82ebad41ee07452690fb341b6205670bfed36534a414daf1a213a0dd1e6c18a61f9188093416161479f6c9e8f06e48f2cfd23533fc4a4186674bc5c162f9393401a5e192861eb03f490fe92168bc6986859e727ec926102dd6f680920ae2e97343deeffb44a6c475fe988708143866511b8cd8982f253e1c61c7345df25e8b18a1f85edafe27f8ae484947c71f539def1ee43c457facf00554308b7e0b1ecbe5867e3951eed2e6f8cd9393279f8b5bc63e634bf015114c0213889009e81638ad73fb6a0bf4709ab4159859ade4b5779b1e42d77346e4f9813ea9187386666006f47008d78ad7464275e154af107515598e11dbf0473e2ec79505b4c663a2bc4cc75dee2fbca7dc48285d68043dfbf9d81e898b74f8c3d6d5893180f31a15040c4bbe38cd95892dbabc858457c2e3af31d42aa294b8f90510712eb407d65bc4071945541b55aea8985f2e3a629495383862269a453a42b8c6d6d2d69ee21ad067cfa7201258dcfbc15a8e6b1d80b8b0a8d01c9a7a9f99d9a4a4d71a4dcf03f1551fdc0604249fc506f563f8c60ab80c5610d9f56590993a9bdf2f8a4131d26496e8c33d6e262b82d685e2c32035f092a545458fd1a6c46c6506987c7b7a6007a9dc8adf7431328fef75b9b253e0f29a7f113280b78fbcff1c943b4a08d6bbf10de5a206554230db08fefdac247dda02964d63ac60e630034c1d668f9c82a6ff1a92445f7a4fec6d731f298664e3ba700b15baeccad9b6d64931e5dde3d4577215398b971c32a64f267ef01ec017856a106caa3ebfa0d0c1c9d7b9c17e55869357e448a8c02481f94b0c42975ae990575cded3785418d70d72b7f042cc9439ffc7629b2626d414c305f98e9a46bdfc7c3b5a828e455a1e1aed837f8e47e588cac8ea5c87dbf0a43b698ae0e918a3f43f27ab668f8d4f581837d11b51ab1dafae954a495ab1ed5bb1b2530fbefb25166e3267848b2913ac4aa161d2fe2ff48e60360569e266c70aa4a38cd41cd11b1131d387133d7bee0758237cf4e13bd0e48b60b6976674ce1400ea153bc8bfdfea0ea6f951f7eb05755ecb9ee0041aa45e83b73c67536e78997a042136a938d30ceccd91d6d87b543485660f8b3acd4809ba2a75a15a950de7c3270fe2a93dd90f9bfa0d5ca24b683f1ff53d2a48fc4c795c06af0e9a0d2f19765d2de19fbad3a2d9296fea7a887af9ebbb797dc79d97b879a3ee326e3fdd9b6d66fff40f03136881a040ddb43da5cabd72abf4937f4693028b327aeb19e02e8868b1222d8d36c71799cd915774cf56228a5a04f4d05b7b6011257ffe050a9c6047e2ee0dee2506bcb5e4b9268a9d902b40f39643ca2666c7ed274016f7c78798ec7f6c494cb79430334e3a70fed3da63696cca846f78824f44d08d9b71da6d6e6e3b7a0e22a0d83863610dc54db0e48887ff77c1c7b074cb449cb032b53ef48393279bf3eb5958b20f580dee958dfb6fa354e938b1df9fe97cd06745ba4917dbc2895935f99eb92b2bcf36538b168ba91a26d4153b3cb710bce41f88197880672495a8df78900a83a7921d4e89f91a0581125338d63a146a4dc0c6a5dfda9761d226adcdf4a03f12b2a636ab72194be2124dd7501513cf8b1f93503cfda47fa8a097b5e7b47b3e863e6dc761b4664b951078ffb0b468dd378afc9f214a413c9218349bfe5a1b7ce00696fbbdc19c1c837bc4cad64bf1bebeece766783ac7fbf700284bb88f1f0efd913c3597441a26326b1cb4e6b52c9d61ec81b64f188a7d7a2254969aa7b35a249f0475a1177041a85ac0e910501a93a3fd978e008effd7f275bf5a2d13193ba167cc98bfdffa2447f31202b818eed641094e84d3e27a595302ba39389c6b2a2eef7b93ba0eff44364cb158e8d85206f5435aea728d1de1bfe3d9f07d431b9c563aa68b62cfa5d01b7e257df4075bf768608cf98691724158add917ca2b172f2bd869f0dab86e4b528ee8e748bb67e95663ca82431ce6e16305e8b0943e1d7d93a14bcd87a3b5dab9221c6add71ddb972dd2b8b6698822ca62b9fba7b7bca07ee325d7e814a8427063b59b97233279ce923b91f62cdefa5d722df543bf6a077567c8770699f81b2851f5e5705364010f76d7733c531c0af67f5ebfa9c87fc9eea630df7e05080e6461293338643acc52bf5b08ebf56686e19ac6644c97d57688cb58defb1f561f19631952a3ed14a56c6bbc2c109a180eb9632fc3da04d669b825680005d08b0c8564b1e95d63613a468bf90a07914832573aaebb71387b275376efdfd68cd5c1f837f5fb4e0691a07e5affa45ebaadf1b101370c71bd0cd994b53ca72fa7b1f5780b8a91e0fb7b92a321acad77d0bcfb439a75cae75d59bd2361646f7d961c5da1f5a3d188b5e477dad1d440637b525750aaac2ece76088900d0d2637848d7f7f9a23f48a2f36ada49b74f575e24487c1bc123546d1cb51a99e67bd57693916d6efdf64e42b7a63c29fe379ad9ec3d4be46f3c1b9b90e603dfdde1e2038a3029a646657d8f308f80d33254cbe3df67d1c8d531b3fb94b6ad264841ebab88809896083be3fd86fa5f137f1a3bac14e320c1ec5836a934311cf180ca729528bca996983f4a5bacadbdd3fe010209d7429cc4d2d91030647d9bb4db056ea3b5b9deeff1375683a5bdcce5edf495c4dbfc27849596b400000000000000000000000000000000000000000000000000080c111820292d32","message_root":"0x76b565c14623bf68b8b40e172c34ec6a148ffa04070c789327b79c9291872891","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xafc66a7c61f5d4107132536a970ed4513525c4845a01e7b002c78b05ef1a2d64bee877a7d5a14045a94435e807e6d8f472100bc93f6f3054e8e1399cdd0365c8f2329006707be2e67d0fedb77603739854d8206bdb10fd0fc54674b1cb58ed43214b1c541765b0234d804cd2d19c57bbe4daec132deabad1d4df947b670aba00dbe88daa151c18ef35eff336da6c25363694d4abee40f2ffa87a289902a4a23f3a4ca1924b1267fe46db4700dae7ca987a5e572671c5b4ab0614f9513b5572effadf22e211045b409aeecd3c8d3876f4dd7b37905690d23704c19065764ae3274676953a6635915c7d5cfbc25fda0d713bebfe25ac65f6e67c8d92f82d480d1a4e52f6eb5a9e2117868cb9c4a1eecc9a130ddb591fb788500af7ee66f959c01762161ca0c7e4b78b674d5c34f6235629eeee695f3923f180a8a293193c5417097b7398743ac7babc97d4cfea06e1fcf1992aeb912902326c3960e9edee8b948076d7b47c83fd9f019a71bce815dc17be6a0fd0ca9a2a4283c4f349d7aa70e7779469662f1b7f16097819a40288371fcbcff2e0978228e506372086c96c88c887fccac0cb730b60d007fdf5a47bebccf0b93162d1fc2150095faeceb8abe73317b2f4f93c383f7c495149ccd451a1500d97d213beb7a9b928a9b423ba7b60bf91a722ba788c633dd8cfe963aadcce51c41fdae0e48f846a4c5b184b0b34dccb55853ee1ae3c4775df09d8dc8e3180ca1a842e821837336bd5ab5e3f285f99324df55ebc35fa625d44a0c5033b894d0b436c1ca728db5d18d12f40f7aa2268e9aa29d5cf1fa93aa1fe6913267c5599eaf24d516abdf7d12a6f44d468ed1309b3a3c60fd872f3fc96e30fe7868fd712095f55b24144c5bd58ab1f0be345c6b205c2392ff8cb1236299dd65fb88e36e6aad5efd3b125b9e0c2b341903e311afaa417b1cefaf64187843e0d5fb9f72a6f16f03d760ee4072ea8ba68c529b6de653b9c7edddbb7305b72e588ac3b75d5f5c6e3465b8abc5add50f2aab5651245cd0382873c471d00a60accdd434f8a64d2c4cd8df8d003cdfded47f00705b0876f8d8e3a6bab198afc16f8825222c7094e973ef9cc607f1e1f76df3839a452df8953889ab0fe1dd00b5cdac95d163122fa38262f34515380374685f7aaa6d87bf81c01162310ef73c23545ae2c5cf31b8473718a69e6357a3130c61519066992f9823291151f1aa93b49d7eb8a07c296ca70ff591752df4867d88a19f9da09729623eb9c1989a70798b2eadbb70aaac4071f4ca776ab4561d525cc1abc637f1a52bff1daee85184674b6f1600c6ff264415b1a18fe25f4f088e585ed01fe9d3a728eba8025a2cbdb8413cd77e1f032c14c985aa894c04ed17fd19c750f43674c2b8abb0f74730bb623cef4ca6e43f2744f83617f8b6b770def7abd079bbd747de739f2803add932071a7079968e2bc0fcc3b6173233734d4b22f30b154ba81b20338b3d6a369de8f5b57cec122a6c833afbaa8d8c311930d95b8d2847571957194ce3fafc4d16136d75ce60369142dc9864b0517ec1c91f8c761696cfb916b69c7024f07391ea3bc292c1ebae2947c28557e81e2df2bf7e71c98b48387f8ba35cfe4a39037dc8b23c12f4de7b6f9277caada7adb0e94f8de98440b3a9dabf28167d165c9b82692cac4682226c30735d9b93308a553e346437e9ee978f6aa5acd99a14cf9dc0bd6e05403dbdd730678a4163fff9c5f45a713093ad01125882cb12966afda4af98178e79b3abeb4f4b245476a52f2d4da9063888e7bca53ac9979e9e10f880e9c579c2beaae0adfea2a3fad356e3a7a5e665da7137e4d7dca3c1fa49a5d67010581059a7134829482999ed54dabca7fbd67222747175fc530237f80cd909f1c767372421eaa4773247eaed819c5be16fb3db1c75a5a32b70b3c825893aeb850c0d507e9e537d383f1d3122b2ea56aded04fede13e497e6947bacbd10747e463abc65fcec097e58f667be6e284e97dfa98e8b6b87d011d7ce0540ebe649d284c04113d2430880aacb0c97ee891a377c0981fef76b34a19fc5686bc65edf4a81b8009528943f13bcd7c9e5b0522eddcc6f51d25706566831b7e3fda1d31f92ddf773b7218ae6a554ed7865392ec3efbaf8e526a3dba81ef1033e51d9111b55f20be4e0455a97021511c0709899183255c383581b9fa578cfc944fd9f430f1722b6ee8b064fc0b8796de5e283d6c92b47395ccf53469962ccc63b4946a472cdb983765e5b7f49b3dbb733a2aa248e4fcde6b3605c2016cc663926172614eb1a3fea5b6abacd9465b883ae6c555bc8a3969d86c82bdf66f613b1d70656328a619b18ce82e494a11360f91952941800aed6bd062eea96955c92349a0270e7dac9ea2d46a69ff2059ba081405c6dd0c47b18fbe3588302e54b9b8f13dff5af49a972cab8e4b891607b43412004fbe83080a1da62e88dabe53c793c295971b484d265e5d6cb98dd5d738e380ce93b1f17b1c2c0eb6936db3d5cf18bb892b55255cae2ac482f62f977057ebb5a731d18354e0b2c239fc7f218878c296674511d9678d9fb22d378ab4940f163c26318cc66aa08d3cc9ab3e70ecf54fbc4944434a1c145222a62b523c176b6881a6840c67565faf5c8f3ceb6386f5495b792d2ca48e74dc5dcda4e04dbcb84671c68efa4ad1cc14413c9a7570f2743239e897df236b6ce8768353335295a163ae83d0b5ed23bcec47be3c455fbd4163122f9d53ad369d7c812e479d606564af9de30df33e105981aa7e87d7d7b64e657533486324a2a9ac344425652bfd801aa4e1c2afe8f719ded03ecc6799e8767c90b04417be8562573f607c348bddb1b331a49c94be10d0a64e280620a1a6de23b42fc9e4ec67cb93a6061119dd529c0d2a67d0f494888b9ea0353163258afd6bff3d36e1f1e637741cae2b1c9f57a1e335be062a55d05de939d0cb9af47c4dc552005a51269671d441c8c50cc5e37486b477df76e7b8f0db8f6f3143e47ad7dab9e1d7d494a7916722bfabb9dc0154a0d25661b5b7633a3cb0f5599ad3b09274d89a93dbb01596cb607ef2ce2e8dd7809167a2da80dc1a45bcb42809bf8c07d6a94d235aa697154e4cde3754457e83cc930badbb876af7cc583697f07b629a72fa995073a3314161c85c1b163b537c94d096e11267166d232f630454e457cad46549b1925d78a7b947b3b5c047ce0be0ff21926606f4c48eea7d80b04c4e425fc2ec32f0fe59b5815b483324336a055372410ba38dec798e4da3451bbf6d3cf7fcd6db1ffbe56e3f174fe3b6eaa192d9a6b2500b3ea835960d8bc4b30e94bd70c91abf31edae4795afaa5b7f3344ea6cd1f31e877ead00dd9899cc007e6901f21e7e5c317d36ae587567d3b79d1c899f0843e1cb64e564fb541585d9794d2c202598af5e52fba20cf057dd338d90d93df2e9b0f8a30da085754c3163dd94ac76842bb37a6d019ec75586582a78d7bc5d8122a252460cc22a92671272974d3447b0d08ba2a8823ee17d3bb92883ff912b737a75774ce1677b18d572e43e07e843a21109ef1274d712640837f7bc24e343fda02669f7b44fc8da044e9f3c054eb3693ae4bf0811ddc9eaec9481971f45b5c657103c2bd0467e1256e5166f3d136de8e01b5a3aea","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xc7a8d8bb64cfc771a7315ff9e5a8525b626c588d721cc8cc2c5338a7ee6747e3","signature":"0x060a1d4260f39570c2fab07b7b2073b5c0e6c29857511914da6fa82c5eb289fa084c0b9a53cfc3449dc13322cf7b8ec56043be7b289d86999f8dd3907ec5b732f899d1c64d20c66863a83755758dd6b03efc2442bb84b8a8323c968d153f9a5ecb944857fae2a813f1944c25576ff9f86a184f6a6cfbc9734c87fd4599397a063c17bf39fdd924c9bf28c69dd9e24f05d773ce316369b5b7eff4d12a202c2f47991e9e5184a276d7899e93dcb0dda8b0193ad6de704048ed1e2c17bf1a6cd6b40de0239f55b6534a76317ee6c89ade8cb5b89285539d104383a9908f780499899be67f58bcf8072f0007c10ee3f9bda33e810a8448eea41ebb3cf62731f727c665e468dd4afef962a332766b54d00045a2ff4af0eaaf9a38be4982114dd30ab603d9d31b623b7901886e942928665b9a5268829b8f8662734b66b6cafbededa8277f4f11b543c0bd501e17d95f3b9ec3226a2b2194904c290f3526c91a0141a090c6c20ae258eb307b32287fbc41ac8b7f96501e0ef3c90d4e4685e7601ffa54af97b4028fc365aebf3c388acae6ac2189f148fd1d25f5c80afb8edeec9b89937763303abd156cddd5a3f48faed972e508467cc0e76422bb33a087d9483606ac8554f28e7d0d4a439bfed9e7a5369bc2a06b71bbd2628116c87d331f824856d74500ab408a3207f23f88be64711592ee8c5d182d6c94549b4c12b67ae5630af16f2175bdcab48970728a757575531582903d42ce104770e6344ca109ed05f4d72174c1186c8e8062e8a0f92426fbfe6481edbeb994ea9fe6f8e695b87d670c3900f3bec7a35ebbe39291e1de43b4274fa466575a6e6108ea3a327a60f81e955ff1eb399d66cde488ccb1e024f7a7fff1feec766eabb91accc76ba5e5721ea1bf0da327e4b9171f71f41c4bcd71313508c3077f8c48ee8a7ee391883b72f55a40c01278b304a32b02bbd9f060208b82cbe5e60b1473b7d772a8837d30d1870c459743f9479c7dafdd33a69a3471943a47f6670f9d9a85391ee43a49c8aac719a28a9b81da0fa0164cd2b7a76a7bf2953eac9f94ffdb88c3285e59eb69e0373b27e7791f4625420721c32e8a76d56fc99fe11b6d4050f098bd5755ffdcd4f93f65af6f122311cfb02d102dfc2dc15fe6b11769ccc662005aa8c56aa4e233b7111fe4dea766c4735d2d9a5f38d8a9a03ac059f4ca9931add5f259dccb1129f6bb9e621d011e3f29e3e5355e6381de4ee6db26b3af511c1aa1c5e86d9fa94ccfad2cc34a9896bb03a71d66165cad01080e28e79e4023723ef61cb77c2b5ab94e794f99b9aeccb868c4dd576d9036a862987dbde706bb615928a01b82646fca6ca75806b12a71f646f87617f543a80be3c900dc143cf3d252084cc36764b3d556ef188731d274b783d3b059a7761a89cfdc3d7441a5db395db4a7db9a49fb7cd870419b8848d14f5b9dccf330fa71f10eaca2fcfbf818c643860e76ffc540a507a15fe1665e365fa3eb8ff0ab6e92ce28a74ab26ebb07a7949b3bce2d339c282026c69191b4ec9cec188ad0c84c38e756af6a470c05690cabc2dbd380f3af29fb68783f05d25afe06cf8532785a3aca193bc9170679fab42c91a66fa1db1201c0dbc0f3bc6492abd7dd89b75c859234bd2fce76db3d1f950217569e8320f6a2871cb9765a350dfdc97f5b700d4c2e9ef753eeae6c76b9af496bc1640d2f830bdedb3b4f2833fc25107897679a972239ba404984f7a84c888d9d1ea4534aec6932d199d2ef6323da2b33a618d569ae245a0ddbb46ffbc0cb86ba58b047f2b55d29900792a49b66f112260ed70d0970b11f11d931362234a098be7a2ad7237ffdedd88e317f84c46a1199a5a5e96acd3736ede32f5a4f38644ab7d51cc13187cd3ae3696c2da267c8e412546fb2f10475a7d0ec64b75932ec98bd7a7b044035125ec8666637694e3fde34bf08053c917084af6ec76fa6ba2eb9c2231a6497dc11678deaab0212f1ae7db03fe0bbfc6369977070804b0ef25dfb99fd0ec73ec2de48caf9439df61365dc8e9d0fff16fbf69217c72de473091e4e93ed4ed8754ee70b9bfc92cedc0fddf171ff8fb3e3d5cf4cd3a3a132fd3cb29e2c8ff2fccadc03f347889fadac2b500549659fd8394011e083be03beab31d26472b0cf1b0d6989fe80e9386aa93cef92f2799431932fbffe2514fee1c382b4989d51714b0272dcdc03822aec7317f32448589848fc46d88448f24aa053083534a23eddf721bb0c3701e86d19a37e5c4d9c0d6607bdc18516e9eec42cb07157f7821fffb85ea8d6f859053a732a73fdd35cf637f0ea6738696a001507aa4e7719a72ed859870b32d716066e0021be4a71d2bf953c0b14233c3279781d1ee1f55cba1d955613af33e91ab40dca3c830eee3c3192218e3473e6400ca19a55031d6a988db5511d2835d777781f7a109cfe8fabcddee8f45119cd232506e4d67fec69239b2270a5892186dc94b8698000b14c077c22e2cfed90b988eb66a18e8feae0cb8a283ae01edbfaf2c7675e034e2a01c9970bb2e5712e01bab9c8807229fbf606b94697aa2b06fa6a5fb52818d73a7f6b05de3c1fc544227a582a2d2b5c4de1ba9db02f75f1873515f5e6e24ae6284f8327189fd17e856bf6f948043f82159d78fe413c6677f42955c9fed72fcd8b0dfba252d5f740deaf157b795a1d3ff7fc3663fbb2a54d1a9944b67655a102f33f2ccd13e8318ae8fd357e878f45cc4eb980434aed58f901bd51e749ad4bee6d9661f121a898a0d9f5fda07f73200b9fe73ccf7633b65730c8168739ba829853d6b6ff9d97afc354a9fe12dacf028696264075c3b47373ba77a279cdc2a62ce9ca14152365251db5dceebc1627e8f8089da4bb11101e06b7a4fa8c2e955e4cc1d7a367b7252bc6fbc4792c0304180ed84b64d262b022676e8995d20362287b252dabce01b2e1e7998f3cc99b1dcc5d84a6d1c79182498ddc4e68fcf672232ffa27cd33bd261050707c4ca49f8682de95d438532e39d79b8e0fad3ffc36acae07886c86dc3ae7b2af27fcf407ed958a80f42c2cab1f9e1e079b5beab02ea4f5ed60e67cd3da660c3efec6636399f04b26331c694173252a65e5199d77d906ead43048b329b8e57f22ca2f2fd1e8374845fe9ff690237c108dba307736d0394da6a1ae4f64afc793884e787babf09e8d2c650836f2eefd2d07eb1e5f01ff1bff8ab37312c502bee55750865995d33b8ef1d21f2b6963807d538d6b534918ac95058dcaa6ba6a7fe90a3cfce824407c5f2dfb6ad7589a3cc5339f4bbfc326712419b1697c9b2b37d3348f56696a5fe62f8bb83e666f34b5f07a21c16dff50e873be0cec877aaa14cf9b93dc2ac065bda84edb14d38c4ac286bbcdde2dac256ba0686f3c908826ef3381757cc3de182a2a51875a0cccee8bc2c527cc60025e6cbf27389c72e660403dea63d6ad85f151bd08dcfb1a67c1b69c8451a385ef5e8d68c4534e4f88bc9e6652d805501b8c3b4723de56517169320918e6db75b546c85193e89097938202d9c7a419f23df558dcd28f78f55b702405410005967d1301bfc0034b71a23729a3414cd4d3dfff1039feb3fe2bf0857286ea27f3a7e945f0344cfbc0d4c16ac007c3ca0467307b32f515fe045c178533424fda54d29fe6810acfef4e03374745ec63122c19bbbd418d339fa5de466fbf32d7c349f3a7c4daa7fe2d8906c29615474087803288ae4a473576b8bfd4958e1b1c06c10fb4bd113fcbb740d3ce043c7fe2ee5719c87232b9906a6fa2e78114d3cf6f9713a67827725aa82134007b1f423f5a65bb7e34795baf611e75086b81d1c1e2bb83196e2b99099f9b392a6859c5c22bd5809737eca0f6bac74e2d75251302d2aaac06efc81780bb49294cb1ad40e0e01fc3fd04b3f36ed37aa7218068f1c327b156a2f6c48cbfa70abf7243f690cc9f435be77c03967611419834b9a612d29cacf4407acb89d7a3fe31b92348c6f4e34da24b86b9e50ca164cadbe6438e217eea24e5d018291380229d6a93fc321d8dbe32d48fd378d916e9999e6da762685ce3a3021b5551472ffd156c6091caef7443c523e94f2de7c59b4c45e891deb548bf3149e3528b55d1099abe7890cf5e5947cc22eae91d23eb7af5abcc54a00e2235425eafe9f42b849dfb1e6312e8445b29923e41f65a00d6886d2f51c7d82c3908eb14f4c8aa09f057906655a160d940d598d51c708d532d7872598d6522bed62a99cff7313b2f7cb1f36d18957209f6c3fda5cca84f50e8f09e1c88cf73f25de3d4dc64cccfa7df4924b20e3d47cb2527c30cb0df85b01be080a74edc705c7b5de6ad5a9b51298c7fa6fa57866dada20ff86a43883e5b286a91eab4c8ad3857b1eee3f3955499f0f5ad81db74208e969e0c0ca2b0c353d20230e650f783fdf10312d86361202654452b7dbf7728a84c80ac34a4b7e3c047917c30b7d3eb75be569ea2219afb4bad0dec93cf21256db0ea7562a50799b84ca396fc38e1b6e6f868694aa57d6253b661e935097669369ca70323bcdb8c5f7aa5dc97384f0a159ede12d65e55f6f69c4ce8a6d337f9430993a191d5a92ec280c48955f2a527d4b843b34f7713c056a65a37e22f8c7807a96aca50aad3b68da1211318ec555be4500551b1740411d4fae63acd2e97595aabbab96d7ee0c18c9e77230b6ef5c3e16fd8fb76dc6b9587e399a20fc3ad39d361df6530905583626cd000384cff042b35243048c2f09cf604654f50eb0cad853db0b74d9f22787b66952361fd98863648a439607ded2e5a9898f7bba26f94381c0f16a03ba31900f096a9b8ccab847ea67a9368b2feeb73f55f177b07c8f738c7d963833e686a4e592fe00023cf0e32f1c8495ef1276b5f0ceed24f0dd4f12a4905fe372f218203ebecc4d611d3782f940ad63a2a2e970abf38cf16ee85a3bb035e8b2d0aecb169fbebdc2f69bdc20b7740597dbca3856abe2756e57b9c57b227d666a532b911ecf62b824eff6253cdad5c121e60ae317ab1d3eb7f5137f9e9fd8612e17785e43968d2456741517cbaf53beacdb1c739d4d78fe47999c68a65ad36da8577e3a93e21b21b0157890afef2ed7171f1b6747da687c0bcdc193ef27ec3b27f0c22ba0e782da90da479cb2297bf48c943a76c4c68c8cc66606f92a5235c928a1b8900282f8607914bf55e1614bb41ee94e5ca2b080db1ad5a39c2b59c48761aa8b01683bd888ea3809fdf4df9b3a0eff0994f1359488bc9c265b36816180ebb6f7112aa3eba738d15b8850bb7fb7253083fe1378f7e48317d8b84bfc446ecb102342218158e5b0ab306d358c6ea16242c51c4ed5838e2926bc90701afa257ec0eabd64b20e4d16930d71170262fad2f6e631e2751927d9cffc10600cdf27c4cccf38c6f853125c003603ab9345d76544ca63031548313f4239f233b578cfca319d5cd69eccdf5d0809c4c3bdd4b0fdec8ae75158ad8faadc1380bc4cc1573fb03857f494ff15ee6cdcdf99942ef81377a7ad9e82947b13000c40d0ccef4e95b9f29db08d3ca143fe77fa2139d83f67df7cb8e6cc3f921ba4d2d94b2d8dca979c465b456ce7b252adf4234a39ca7a70d4d31a767744b05d46cc144aeb7c0870721a666b16c7f5e8277e0b3600b065eeb5d45dad1a0dfd9350e0beb12d2097119206cc88167aad2eb4099de7b3f820be99be787a297f193f4c6527433ef1f79052dfa69bb24dc3d76d8f531df6629c7d817edb53d4501f804c1fe3ca2e9e34c436b1ffc2f71163a8b706e4a722d8d26f59b56704b7d987459733db0b2c0b88cc1476904c5d78343431e625119a6633de2275344603ef3456cc867db5696dcd499d384a100515fece67bd847f21f495caa193ef7e282bd1b834624de3f25e334385b337c1c903fcde4fba092524e86bc4e5f3473b081514919e1c6584986d36b24ef74a297dd640eda1a8e1b266cd6ab448034a818c74b8e8c5f9463595339f4d26d32af0afcf566d1df7ce00e190f4c10efb710a33cc2c015e06725173b845a9ce69d2548bcf3ed292ebe6471591b5bf5aecf21aad4944deb0afdd075e971f9be58adb271fa2c08e70f78e4f5511025d2df043b3635f14859fcbfe4a506a04238e9004e488ae359bace6302f30d8aab84178063983b023e43d8533f49b83e68c47ad19f3cceb1ecc9326f31fb17b310d87280d66a7a5b118c17946b0994d5e02d4b632c7d9da09911f469be8a522ecd0691c81af446e8396fbc30b5f477402ab6319ad7d5c43118225c94e6651fdc1af6d303f755aa0c8714feef308adad52a2b56f824ee562a9fdafe2732c2900352783934f60e296e62c8181dd61ccda1eab552a92bc5a1cf9c681db54c46d4ee3b020679659e7067f1359c4f5d12c02e12d472469e5a5411150f9be3426988e43d272b5c679899da11174044464c536b6e7879940a0e243d424e578ba8bcde33449599a3ed03214c88bad1058c92dcfd1f4b525765737bd7e1132445ebf7000000000000000000000000000007131e242a2f383d","message_root":"0xdd69d4ad6efba50ff50a38993f698c6d9ea518d3280195ae3775d8ce0723afc8","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe0f73f55a0f621268bb6fe95d3ec22770294ccbb9abae10388884c5147c389261e46cf101fd96e8e93294c13a8645f0a4d1159189e5a45dad3679498bfae55b68a588150be4cd5c3ef103cf6bec08dbf02931707d203673403f5997e4a45426913a8e62afe381f0a5fa4bc3e925a8c2e84e75bd1c69931ba6e26ff9bf51447ffe5b91ac1111fbb1d0ef8a213019ee89cb159b32a0ff47078d718e5a02310dbab95255be95b5e34c68c066718748c9645820255136a6d10c25fba683f03a5fabab2f95749302cd3bb92f0976e75d8790d1e577f998af2a5b5bc5a33ad61d8f9840e7ada10fe6dd0e46853017e17fde51d536727c817ad2cdb6d178bb0857184981a4fc84e3d3c08c11184e31caccf1de392753cb78cedca5c507bb02a4248db3be70a7e85b667c13a82e33ab2dd79a71e37436ea3af899179e68752df1a4cf557163d205b2b870287514be37fd1c6373b137fdf613894c32bb63424e45433ea8c8abfd5d433a94c7b5e85b19c28821eb8fdfe9fd969e26540a4144491a8558df6b4fab48318adc3b278f8393526fa4a4881743b8f728da55f31abb50f05556714f5e3f84a7d03388661affbb94683e936a5ddb0a5ac8f2211c2d86578395a5186fb1bb7618b4adc0fed64b4fe86fe826d81cdefee34083c1ed314770e7c302db8fa023509b11d83dafd750771e085d715cc51561d41e0d6c377c6aeb0b0ead300fd62977d0977987b5c8d9876cc5b664d965a77baf4b3945262bb659270ba0c085c0ab6938f3e02ab2ab1bf7af83bb411d4d1d9bf9fb086d94dde521c670f5871555987065490e453155b0427e1864327f3e71dbe1131a167557a322061df678a37c01760940d3ac06a1eb15dd51d287f1fbcac268bbc6c919f6d04c8fe6838b3ac4563c964f27fb4b08b39e2a7cd283241e8176c9c63b4004a7e96f8435563746b95a77f21c2bffe7d216170ef33fef55d782ba73b07c76471f3d74b51f5c87fe758089eff17aa36bf303f64b0c579048f13eeb6ba0e964600ead9b546a887802e3717aa21cdcdb3665fb3bff904216d3702d6930ce8fa86ada1a4846dadaebdfa1e9027a734b4acc2e67b2786b50d4c1a2de8ac663c6bac9d5da1d4b80d52d0dae4d04de68fbd67549ee923972e1328208d450bb788a510ee14aa638ba31547bdbaec9991253f48b04fbd5c3a1ce78d690f8a336db2c92a998d0d428695b51cae83f1777ad6d7b4a664efdd799c34ccfab9a889fa77fabdf1bda660cedbbee0a4d786028e6542b966d5e810767f71d4bb7ed9a0d27532462694acaf49fd14bca17252daa6a2e14901c6041141d0318998e2b9d0cee1af8fe7d3136c62c1cf18abe9eedb24f7e25a7d548d1e75d6f4eaca391d5a9e29ceb6a7532b8db8b3f60eaa27d036c02ca5d4ff91c38580266d1bf130e8f672043811abcb9f2b7039e7f5880bcdecc7b1808bef082073e70269478d5a7b561190e840e2a8b853e9374360f5820af7e104a179999ab1c2af89a43f8e331b209a54aedf224b8d399e70ac4319b972f8a30790642603d6e55774aea9614835fdf182655968ba983a1c725de3fa5d4bf9a87103527faae1e2d8b2d768316a22d5c0b6bae55a0d28d23d15e40af5c3b657ab811d69f5a502780decd58ec258b3ff70b64d58e0de9b90ae5301b9c0531d6f2ab9c51c4b925e77068912a2b1821fdb40a1989f0709a5cf7332fb6af3ecd02f09e21e0f752c2c7050a6ceb8ccb8409b9d25293bc633bf605301ef665b88a706163b495c24b1e73614c6e955458e2fb77e117c74bad6ed1151697df0b16ff24460c032c0d5f2aea25941e9ebeb5e512ce1e1a2d465ddaf826937fb18ee79d2ffdb9c9646a5eb8a05ee32abbb7730ff242435e50e792296c089cef62794cda8b40a5963b50f46b15c9c88b4ce9855d0d11e464f96ff15521a239ae6af8b579cd9a92957c91629240b5f5a881b2fdc7adcd40661c3579bb0960e845f92c5380ef97addc04e8896019d82dcd655a44477868d570defebbb7c797651913653f5b22144f3e00e85e08e472cc2d1889f1e7bcc784abc36ef6a2ac0160588611c01a74ac4d955d5595e335ff66ec0aa50710d68ceb5eed5d8d0ad5decf04e687331d326b700766b457de4935b4a621acff50a99f27c91831109529de057bec256aa6b2b4ed7765b15d21abaeee841037610b0dc05cc16dffa40550b25f657e3ae1b4108d494f5275a0a9e04ff10227f19743f76cf9be1c004f609060c1b0f7c1390b6a3683548e97617e3e72a49c04158ba8ce5451df6140ed612218745571cb7685697da8eaa163f6bf33b1561890717ffc9cb4943073220052b212c486c77f950ddae38e4a6df97696648ea6847e0fe296f66ce46d953bee501b4a63be4643bcdcdf6da69e2c2b3c4e3d304c84151862731ba4cecac1b331d9d46a9d12ec90716d8cccafbc96320831a267edd3cb8d4aa8f80029a8cc16ee657ffa15513b22ae871f8a0c7d5c51f1ee0274b5bc00bd446c8071044c8ba0a6d3192b15286ddadd0eefdf59a7434de9e2b23fdfa8c7e28319f11e45a647f3366637de53c1fe85be902bb86527026908afb362fbe6d281044360f4f9acad3863d18c4eedc31b1bf373d768d24d0b61f48fc96ff3ccb88bdedcb51daaefb4649d213ceb8bb179cacbdd07fb08495705be9f4547c5b7ed7e92278e02300d04cc8678918c5c74544a2d86df4071fbe9e80e4980891b4f095cd39636dfdda49c94dc3077357244a6c236d51894445a00e7fed7a4fc1c3045876f7fb0aeefcc512353564445b0f8f916ef449c8974fb44f1481a5f0a1d98c52219e7ffa183281f86f6f53254fd5462de3bf88e07a917504409a8777b12d36defad72780480c1c77b5b9c22f7bb9f59eee557d9fb143e83e94545706347ae5896ea152a8cdeb89102ca0d16477e8b4dc11ebfa889b02f946ca18d444e8b6caf715f2376777a89e67a6db38e5ecfb61cda300ccf91ce6c305d06c11b8a4f5360932c8eeece095f90b2d8ff9867a28d2f3a70a124873a626db64fc497da143e82d935a5f466b75a7cfbc05e29e89aae5d2c43259e0f9dfa2f86b313a1b51c3e821a48f2ecd6465d2155d40cac7b231b7e217ba139805de04ec23dd70c9655d8958999005fc83eec562e026230b62f9479818d62eb9ac29f2a0c0cbffeb5410ebb0140563e11e9b31fc5a85b2c0aa8146b9829083b513b5aaba1850556616dc69c9c936c459093ab76e259c0be6fe6dfa6b259783dbfe718799032f6445f9a82174de9f10820a847c28333f9dec8cd3d74b2b9df1844cf2d728b89b81cd86334274696bcfc6605db91e32e7dfe53ba7edfa9a76c5a2dcc0aae35cc0dc5ba618daba4ae79dc31642677be3d77f137251a0c1d3a7997d2f75817baae2d1455fd810451f42790332f0b91e1d9f6ca9708920d39d1c53d3497f7cb6ee70c009a5283ad857df3dfdb25daf68b77ddcd2637c63a2e72e9cd8f59b621847ce21c5039b63c808cd290e7f73cb6c1bc72d8c52f30a8a4db1a1d56e5ea87ef6b1764b2eb8611f1f4b0e8acece0a38fa8c8c6842b9fccb80efda0acc8772bda99a959e62aae7d42b73b262bd3b5e93aec7dbef34f228bab0408f618341048495aa72dd7ce774ce3d23cfaa060e393bcaacec34c993fba9","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x81f971de5922faf4379aab850fc2523b4d4a1ec2708ea8438ef7dce4c3073f7c","signature":"0xf159d5ad33f7faff7dfa54843caf2780ef3fe6747a296bcf4b6d15829777c7c40cf5b0baa986a34577155add04dc8bb40d387d585e807cd045429c8c255a415fd45f70566844b61fb4112fb692807309ecdd7c994a2bd186f0df75e893c0b9df270b6f0a6756ca3f8c4ee65f4d0c47c96d52eed27dcc553d58268526d53f778571888ba40c5dad19b0b760dbc12f7b5c275eed966e083a301453a228889a26b11fc24a84e22113c05579fbba7f079e0daf5cf849989e3c3957ca34c8a30005e3ece030211b229e1ee66b7ff1c052f4f0c88e82024f30ebfa62ce70934b700c56495c6071a9ef1f18fd8d6cafd774e9f86d54373bba119836640ecafca7eac836d69ee7456664b4cdaf20fdc65cb64e34e5f0e3dc5c8e349de3da67d860c41ac685a379e4d58c0b8cbb005ce98cca7a3246dd74fa745ee571fdc2cd73e713dae41c472ec78ffdbc18bf13b2fa56e03ab9fd6d17e4443c9fa3e03472351a35a6e3964a00bd19a8ae22d0b25ed61e7a7a44bb4aff0a4255bac6b766131fcd97ae50461f70d50edef46d9b70c078ca1d72c12dafc1d3709f52bd1f50b4508a64940f7bd5c8fb418fccd176880c9e49f1b173f5cca65b93a65bc637ff2487af9883af71230a9e07af36b87d367ee55329e26a39916fbc7c4c33604b28561ffd29b4897f26538ebc37ec1d248e7106f0976d9113a40cd81e6bf89e40eaddbd161d970f9471f5fe05ad2f76f12656e069abf2f53ed3de720eae55e44f0f2f94decdcd58e5f3eecad45233cd2734665538df238cc1d9b42933ce2ed3a7301861ab3da020afcf9f10328b9abd92f702e1fe6df3b12d7a3ef3defe5646f90d85f4390e3e0e65d4151a6250f499af98d1768c70413b76c07060381a2dba9b6a09356b353d32f7ef259eef98beaaa19ee251e941206f054ae111ac2eae9c4e508f4bbdfd2e9e13c112d38ae7ade0186bd9d84ed3a119a03976aaba25209b4fb2818ba31350e30e279d934d9a8de4fad56998b4b6e75391796fbafe82708b688938e41aaeb9d84488caf279d302861d84031f7ad13ec4a291cd1fdf085acc95855eedb5582bc02bbce2701107d04b0072fb4c9c71e1df928a503ba4915b6411ab2a159bd24b2d03d026c8e70f5ec122f5825f8719ec202fe304d67e5c28ad318be9f9a2a059c03f0bb4ea82b1480fbcb5cbf25f83600692d5e5d89397fae1bc532214cdf1754a310ca8ac79160ccbc392476d2d895c6bcb84ee64a0b3b79b66f9f0ecc953bbae89841e3d94b665f4f9f1acacbac3499add764dc94aeece58e17b0647cdf8ec8fc81bfdcbd1b407d766d541a032845efd2dace04a58a020b7b6fc42760251aecd291c05054f6e8ba5fd588805f794d43949621bf9b9e77abb0043babb8e06b0f45ab417e061109f5c4c90e654007378ff39464995d8a699d71bc8d9a70375afa668625c8969e576dbf1150c41a8761c9acc65a545c4f1128194f88187367da5595a3eaaa19c048e07dea9a5c2903d487e90a6dbe4611da006e7cb280665b4d12ef2011e615ea4130c0a9eaf94a92376007e84c45bae0c362b89562e6b00992835b75d6c31fb6b1cea4b463f0a04d61d44086c265fc6efde4eeab40e7c2f75946622bcbcba1ff39fc53a3b037df706adcdd3a8482ecf9f74770e1952f7667fe5d45aeaeb2cc268601ff40b49c1d2dc4ed3c832e4e17fd30ce4e3245e1cbd19402bb95a0233adf6411a609f31564ae4458b1b5260b3a057b1ea12f5d25a155bb7816bb206cfdc50d4146582165fa6e5aa04d8f5b42e4810304016c0bb834365e39cff74a70170ec7df93e5d8f8174f8d15c0ac664173484e81ac41e23069e2a40752eb11c278ef672d8da3a1555c9ecdb1aedb9cc31e8c80835261327f366274f665a8785b8c456f6b0398d2cd3801f182ef9aa62146b665ffbd3775298e8fdbb7605826a9ecee4a3a05696526b93a6939ed46784eba465b913eeb1a2190ba52cf2212228e00a618a2d754247771953fb24f34d571f4ea3a8ba4b4a6eace47551c9e6d57d7a8f10b8851334afdf0b9f8dc8c610926f428c3c88a8c9524b993cc0d64c1317a4d5a5d0107e8810d861694672f22081711d143dae21297501f400ddbfae506f43a78b355369b7284a40d716fe6477e80351612de834efacedd4d1983c722b0d12693f512d89b50bd3fc17e6bf759395d60abf8e2f84ff15fba966b17f5d0f39c3839da5f663349869726906bf1d75e9c7dfb90b2e058500b6e84fed2b6e8187e38607e7761e2bb53640cdafc5aaa1c7831577e79cf5a8be5d55a75dbecab17c0613dc6f40429edce38d3a1b7b29b92ddc8f1fa724f411e266454bf05c39b7b7f936a9fd561503592cf7b06e39f7a0ed400d6483dd17ada6d9b843ac3e6c1ba066cfe8a57f77486d7d140f9e613ca71c110543bb475788eb723b01d4f60d295d923ebaccaf7d0d38156ae7f4794884df0f9e0f2b069922e4c9e6f96e7835e27dc89406bf49d7980eb9ad950dfd0d2e70808b2e2aaf928584cc5ceac7b98911d8ade2459e9e5ef45ed2ed2bfa613f56610c37dc0fbbe9dd07e4c88e96e09ff5722df87716b31861aa9b36e1945868160c7574144592c09bf140e522037217e420980574e6f9afc0943d41af8ab931abd5b90ccc785f0c35062e2261cc145106b80208cafa5022cd7320896acdca83ea8fd4aed3e89e596efb3d6c94062577e636582bc31894bda89fcba6185d207e4e16ef85df2c3c41a0b0d8e6ff32046cf91a0d93e58002ea9bd16616b9b380328b17be16b57fb8d41cb89d28058fe7f9a60602cb7a16ecfafc72ba49872b66227d4773ba766dea0e6455c710127f78ba758a64fa8724f2cb9f4a2f8a0cd98d1ec818d4e5c79549a767224028f00df28836dadde46e3d63de857e0e8668b19233d19fc5d4f4bdceb81c7d0e9d8a4e4092af4131945a7ad05aca546732a7ab80c952b3fb6c6fd930c5bb5a4de2171aa7d9a2e0cbca978a0ec1338105317d231134959ed324009a2a7edb4ccf01d2894f58f70b2400fdf733ffe8a9a227cd8998263103498d1b303cfdbb47f4f9047d78f86b0f40e248583dc91bc4d2f441fa65a3431a188e26680f90fbabea015eaf4c3b52cd0500689280f8e77dff3d04b9b0e3ebab91a16074f509c395e762716124ad8dc9a0c5d356ae9f52f59f6293104bc41274939ed2cf5db30f9508f300c2b656a2afdd448c80b6427a902e239a1e4883f5dff70a6d3983651e83884c907bb527dd29bb3f3b82e7643f002ee1545c7ff38664cb0067d94ab0f0258a9b0a63fbb750d5cd1f5f1e92e3e966e4249b70e8a63f23840c71854ae6dd98e3752ae9e0e365fd77a49ef6383b5265aec09082909772e7c4ec4809397bd815c717df91332f023092adb902d40c86733f39dcf7ad5de372bc9aea0508ffaad9da90d394560d642901a03ab77f4a2dd4c69c82ae6d5de391cb9efe3f2a695bedec17b6694f83e328cb89209257b930238ab56f0c3844c5f2b4bce3898252760855d8b7f33fcf73a8274bc64434a5d0b62007f6ea270ebe32e9db8ac62fbb056c4b272ab3ebd3062eff7c083e5b2bf226a7ea3d33bc8a7a73f21f9e02562d0e10759762cecbba74f9f1d3ff4a98761c2868ae955519138730fa332c1cd4567097cde8ac3355b3ecf58d6452c8c2317dfbc19812ce3e5b3aeb07b4f5ccf874ce1fe69599edcb0f94fc6bb456e463387e05310132f7325e20eabc8fa8ae8c200aadaf00e0261ba265bd45a0d29e3bada0d434e4103a5126eba9319f1fd9e176fe56029de26ce82fafed4babc54fc5c3c5694e24a1bc4daf34330420b38b7c1864cd1fa42f019bc1684c3ad2cab6095e1e329e0dd98e6b031cca0433ab531ce3ff25b86fd8f70e8ab1e4084deefb176ac093ed4a8dde2dc65d32208eaf63499973d5f3ab171e26f2b613e614b87123fe57391ee36d1683e64f125106332d155ef9cbb78159de9bd0971312ea698557141e5c670b73d1a762ae854c9889c50f29efefecb2b7da108e3ba915b6a45202343b4b7f771e0f36efc95681da27098fc1e75b056538f781b2fab81214f878ced87fc30b302b9981a59c165a5401651b7cb087623137e2fe78f649cba1feacff14080a67fd7c180a1685d137b408540696eadaafa05e240fd8e3e06302f7603998dcc7da69b72ef4ed835ae6992e0ee8233433fb3a5ec5885fcbb40c0b3089873136db69f0481d05cbcdc7c48bbce96b9a5eeab0b1120e9adb5ea401fff5ce112fec64318db61505cb4daafb3fb5bb7241e4bd14b7656f179669e26f2ac67356e8993a91b5dac303e96e6b07c2ef59c3f50df1fb859f43092690fa1a43e4086b98091c8ad1907d984c0f81d22d7257ff834cc2850cbe95924d4885eb34b87bc15db5419141d5010ea7a355b8bd39078d7417393f442482febc7ca9ab82c29db19e0f09adb79673792ee36749e4d686c7fe89c2fc378b0ffb7bcbe5e7daa5f5fc7a4c8c233f20f567d0a89e0e850ee93ddc4b676ce49c7f25cf3d8939d589684d90325f358efdfabb87e30ef673a554f86179a88c953b3cbe29da1965cbff8cf38674af5f1dde86d8b72ab61c76c8ffe040fc177f4a17ae77e5330e28251b982884070750ee58f31d667ccce002112ef90ebb89ce6fc599036ee55b4e0a921be46a7d7f41da617bd5494f0b9cf53a0fc60ce716c62231ad6c422cac81486c8258192a2dbca61d8077be4417841522ffd94d020bf433ef57d1f3b11f1083a1bcb12310232b699c41582cacf5e5f7ede4be0d7fc76b1fbc1b828fba9b28c1bb947bb7eb28038a0747dcf196be509093002300539285ef83b725a35183f136530b36d35f832a93c0adcec96c1407185e5693b17a8132b90b88feb20b30c3f4e8026f6f4dd113dc06f74e886ae8aa62575710bb07521d289ab9e4e623b913482a494ca1da4d5bfb667f375272e24f293f75f2c2040ff4e7d175d2d5eeb79ac868b1a9306eb45dd7b69553639404cbcb189d84ba56cb5d1f8e50a0e6765936dacd789fbf646113d77e970f2d08402d36486a008e798b9c4b627e9c0e77bffa61365531f91b473531e745a8ea9aa7b449c7050c0e70fd6a59fce35eb27b09f029ae7ca157cf096002b8801e3b354ec60284579f9cb0dade6c3fbd37b78a2ec3d1cc8a0d71dc83bb4949cc627ba84701dd0e0c5631d0ef3d983e51b47b701f71b337beb402bbf52a5d9472e3b334a83dcc9eca194158c44179dc41dddbb8dce8145817ad84eb8a69164690e944bec93db7b55ab0fab47530143319266df34814cea37ebb0ec3c5c18c5f5a7bdcbee913d64d653dc63e6c8727b0c27a53a3bc58e5f0ea4f8b598320b5240774734f7982f771f8dc45caf4e5026f1d9ef8ac3829c683dcc135b92da90ecb993a8f7621ec7239f5eaff13b0ded0fb2f77500e04279c2f62f38eca0be8cbcb8a62443f703da6a484a7276ce7bda39aa7808553d980a0f5769638d3c4ef07476a644a4e2d42f639441e3ab3658dbf357bc431c764698b688e7d05016da011334a3961ca7f22ad9b1d58d67bc614b58fdbf627a6d687a433247d526faba8545b41b3e663d4199e40502a3cca812442cdc34620a272d07ca59051e478fa1f41d8cac909e15f1741c89d117e07bced32861b5b5842a5d49d3b8bf77d958ef998ee578599509558a6cc8751f06d44af1ff3ca789fc268fb2661bdfd3f394a9dc36f83911c6ae282d1399adafc4429b5a32ed6c14736373860d6f75a136d12218f44f8b31433fbcfb8f2d66228212222563fa0f6a47049cc3ec1627508c0296ccd44f7f95501847bed970bdf8d4f3b14c1047b21c144d002fd63179872d5e27148892d8d0fc5d4d0de6f27854dfbc0339a5d2979c28a6b4245d4cb0430c84a88fd5c8d122d75c41f88e38fed94145e39910bb5c769540506b972a1fa1b1ff10b9ce35a5439a2712b2e25c611bf9ed15b8ba66fd606a708ad5db17432ba53ceefe73278fd0a751d67bafc8b37c9a9e8c8f19f40e42ccdaa8f2142e746a65140eb5bd50f5f9a5fe2947039e0649b4ac626db2410874aed13546bd656e47512f03a56c7e0ecbeb31bd71da2a6db49e89161456a11df137e35ec4d193ee5b0d4e96f1a865ebf527b7a7f2fe6e3496f72fc8718a3794447264e4637da99007c46262748501e41e6b0398472119870959c44a3fec3e0eabbc7f09b37e1c58dc103c0ed24fb3739cdbd9cd46810c90da6ad6137d2f83c97a2cbcbd5a6fdb2faf43a141e815e41882268e7a869343b651420f0d973c7fadfc36be8a0f7b13ab9758a736e5217d61045e536ed0e2141004e8252415a433e36ae1b7778bd8fb5406f56a76527f7ce71ed3bf96d6d5847957bd277aa3f9c894ffee05fc5ef484217ca4eb39d725d7077264bc0e35b3f89b66951029f6e00fa0f06223b56677d88f35a80cbd2e2e32139577f96a7b5cacde9eaed4a57e3f1f5d2d6e80346525493aef625262a3e4158637cb2dceb32a2c70000000000000000000000000000000000000000080e1a1f22293437","message_root":"0x3805324e4bc97891363b969f66c74f08fbb926578c4324cee282f991e2ad8f74","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb0a15d9965cfe10cc0b4a020d0c9490082cc638640f36272c8226154fbe987c9d82d0e0c8bc27d524cff5cf8aa141eef1dd5612454e570648fbc3b245e69ddfb0bcab11cadbcc2a2b6a6566e9fd31de1c36741f843fb418b7f44bd434f5103dac9f34117eb563c7e223feb1d278e158ebaf77c5fcbeeb4e2b91bfcb1ba1fd3b1e85ad2ad332cf234bc067188cdaa5949759246dca9a1b86dc1e70f58f445cf418760b27456fb89828744a86b8f0175a19497657468039da4b1c86678e39dcf535ce22a77b3e57193eb666d9caa3ff7da1aaa460644e3506feec27d3053493bee4ee260db7f8ff0d0feb4e4db2ed9a9eecbec969c9fc1586ffd70ef792dbb8bf34c4b4ec775c642d088c297816b71b79501fe1bd6ee811953b71005c70646be65e668f200070c65867ae3741f8ff203f9f4488bb7139f3d81c7a0c0be5bdbfb1c832dcf8f791d4aa1178b07e65104dde76ba0f156bffc4791e4ec265dc5005279ea803fabaec5f926c60bb1d024281484170ba8ebdec6f13aec4667e5dc17500623ea1979ca058290f000ad19d7e9a39ed665a412f36b6653f0c917cba3490e908935486d2b669b71d6461f75f2843fff98aea095ddccbe0f30e675658af6d3c84ecec503996c1d40dfd90ef9987cbbd175f2b56d6370b58c1e8b6874a6c2873f3e2f212b69e743de50572afc01c81ab3678363025c0620e4bee4eebcc1c8c1722809d4f307ce1b6ef5166720ed466d1c4b6bbf80ab66a92ff211ff55b32d1d79b73a1c483f382b33d8a8b7f768251ad31e063a2301377522d582cb486e55dcda449265a1f51e3f7c046fcdbdaf1998468144127f31126e7a452a845b0c2548761215094a16018c631ca4fbed39d82618b75be050253ed1ea52c431642d37bbe193eb71729d42589bd443b3104a0a01e617ef8a447d0686cdda26107764f729259363f2588d2d2e1959d68c9759f53ccb328d3633a86ff4a23b104345c0179ee4c38a44068ee95c9b8d3317e5d527314b29392193eb3576044aca95f992558447079ecf3b2249a32ec09e9a9c44701c4ad5db549c1cc67339bbc6446651088b5761040833862c7fa77f4f5a9ce552196bc58466c6ad8c846193ab4bf8b36080f76cebe411e2778a46e14c4b49bf960628bd16c8bfbec0d760e0cfa0fb70d9d8c2cb471118c5df70d3e6d646afc277e1b0c50feada4373c709a6c177024d245a3f2cb70ac23bff5687f2a89e6fd29c85d7922dc4f5dc997f1aef9d0fb57c70dde394825c0e822dbb82839a7a32c33e6249fdb1710301fb0ecc269d220769fafc41bd4ca10f7ab18217f1a55b98bf468a79c9700fa979bc0bfa93acb7206ca1b7dbbddfa8f46c3eb522726799924f79690beae07e9a916b57688ae191f5165132aab2184a6f43220af6931c73b0f50d66071c435a6b5241ccb89e44c93ebc5f65665f7147a6e529d9e857e43b996ef9a13419ebc952f6edc76e7765d32bb3d1275bf9a932cfb5a385559798f8ad39aa8bfc1b272f136588cf86f34b456c64069182eaac89f2321a5d92e66acc11e29d303934bd3520e4e406698fc5951476803afec7f28be333d09295cebda56b0c03cbd701d8f210635d6f0b8a510060e5c1f0815e54941c567cd3589686667d491bfef2ca6109ea0c023c83512699436ce6ffce9edf711ff57049a40834999b0452779003c1435558e386ae7251e7d337f75c7b31d69c129d4763e80090e2436aae1e5a3916d6daf3606d082a280d3f328923baaf6d2ab1b5ff8681ddacc7b157380a599cfe32e9f3e305903f460c6115c91134b2fc3d50e3a2984386a76025c9c7ee2f71c4457ae7b5912584c08803b4ca34de3292223c428416f6aafd89a74acaebc768dd671295a76d04a9c289e882c588bc6f1e6ea53792080bd4f03af3c3cc6bd0d143d8a7d3ae1b06e639e9448ba29d95e52383f285c549b6a433ae9dac3f641c361dc14ea2bc7f2af3ec3d7691a5c02333fb13f26e0eea52e80bc1279acfbc8c56df70b37d2c7141e6dca8161ec38e09dd8d5b788110b84e066f96800e8bb96d5a92076369436586ca1768355ac96d1bb4a0efe0881c10900a33a7acdbc50cf345f9845054336027b82073fe69a7379e1869a896da89e9e73d61bdf4fa92d0062b6203545226fbed5387a9aa48ec859f72d42c935bf098dd6a60b1e8e8e81125b16f0837d342894db1a01fabe02b47ef626136ff50862c9ec12b6cded09d815fd4a4e3cf5185383691cb4fb306a887d87c14b9d2e13de4fa5b54cf0a58484ee69656f93848572832eb6c884d802285bb2731097edc4b07c6c110bd3455dca745d08df0fe3dbf9dbd176cd4c648773372f53c6f0734c864a3c4ebe6e9d44f761fd85ff3b26cb1aa7b5e18454d034bb9425496a4e26c7383e758de36f558f847f0329c37d7cb83c6f1069809458440ffe5c40a374d4f9098251893f1e025b0071fdd2ba3e4523959117c19701454e2602cca41369991503eae361632575374f525f720b89770df63533cf4ec8a3c3926f08a9f9548ad779e156a9c18feed7f2bb9661e3678ce43b6a1f777fb1bff9c7241388acb8e29b5217254a01edd04b440721e9c4df53d03c0dd8007e031557b17ed2841062cff12a5b12be10c7dbd32fce5dc3f182b5b275dae2e08c67d61ec3386248d4e76fcf3899ad5b46ea3de68690d7518432eca1e6244a7b34ade014c089067680f8a5f3e9ca17c99c9ae7a211ac18b5beefce7f14951a995a96356e3a0d587970ae1f6b9ad9a50094cbae7bbd5189c5ae229214a1d22043518595c92de10c5024c4fe03f146819703aa8372f77662d63007e901f2dd90a1df7a2517cc6bef68d89e45b00aa24ad352b870f341ae96f35bd6fc76fb0b277bf9a32f913e605496a4447f4447e8a56d63f96aefe9a509146db770cb427e277cdf9b7f4838478e3accce49fecc4d35210e4e09f599919f3278cedc4fdc2907923090ba2bb45bcd4e6c0ffe16845275722837f2411fbe4fa105a4ca340afe99f2e508601de2756c323b47956bf0550bac6bf9db153c2fca5eaa22eb0a590fe23c7dc0e6be609af17f1ee1d6c087d59d430781d7a47739ca913c8684fb9523c4bdf76f3783162e6a240996e22b1416cb991591b0e350077037cf4f79f3dcba80367dd63d8d6dae438fa53f6ffc559bd926dad18ef3167d785b82ee0a295a97d6ca1a1b81927c31e3c311fbdd42d1ff8bfd12bf368d87f8608b5dcc4d3f87ad85cd0fdcf87f4d827b5f5c2f7628db94e9dd8c82b21406f6228f3940becd56bef2c65982c65a8db5ac38852f4fb3b5241e66617d0ba1fefacf4dc6d26776fbf7c2a19b62e4e02755490fea86fd5dc71766c94e0bce444fd238a69187edb1973c918e52a76a4a221481db5d5e4a822cadb2eac8f0a03ba9941ca1edc842a138d3083a185316a177452d4edac0eef5313a6da12606ba82db1fcb21f943045dac931bf7eca0c9d4525f66097cdea5839e3f065064410815f9dc2a0cd7c5683f83a149a5091af5e82d293e93332b7e66367520951d7a14f1c07a236f4b072f77dcc9b0c8dab1153316bde0466ae446d565ec0fabb62e2c7012a5e49768f3b33f90dfb0766d0db596e7924494342c46596af4fd7fa48185d1e260c15126faa8a67d032887957d9690f0db0","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x399c63e7e7dbae0dafb30bc0826ee3db196ddba612614f529fdf1c1d26794b7a","signature":"0xb107ffe897e1ca83414d8e8c474c4b0fa428be6ab917cd2e10358049a02a0d488a798beaeffca5b327ecd9fd4fe9dca35af835b00ed4b47b269907f38ff78cff80f8da0402d151b1b9b1b2e5e17017c8f28219ecbe846063a358e4b040f1f8b72a2d31af4d2b6fbc264632923795a59737c364d6a18b04e474f24af559abe156ba692e1282ac7bb33fca07a70267ef4ecfc3198f2b4ef0f47f6f4f4552cc93a5049259a18d55d8ccf19873dcbf4732efa4ca791a1978b6057e26ab918d828e7e5785498f0f87ef95434adfe2340570092a03e73aa905e29df844b0b951cee43ac772f5271904ef9d7a99967b54ade5d8382ece8328c2ab438539e80b30e414fd9937e495a8c7090448dabe5bd73ce65123765964113994faea26e9ed5d3bbbd3dd6b22369f36e19a795d3668702439de14af2e417206c09ef3aa48fabfb655dc604883009d77dd53efef60aa3e348805ccc861b44cad68dff0f1ec5786e46624a8d31c0ec0d265ac633c0c2dbdc111ac08f785a9d72a05f610f82a7bbc5099373707093e1b014b090e65ee38a067750d8224cb1d7c3951dae1a6437a2e94e83ba76a2e502c6cee122386ca5d3d09e8a7695b5cfedba2227aff69e37ff7e7f2ea6ce6e9f0530a2a26a67f3d91cfaf1417ecca5fde3c4835e3e7746cedaa3c064d46009cc34f8d54428af3c8e476996aa1142f1628bf76495fc580d67fad80d992ce9d29c29b9d3ba3f4373c2ae7ac07e624ceb15c4ec396784e0c5cd45f6ca31fd49c4a635e364c440d8b07073b7c76c456e969e06b0a802e388125ed3d18d068268e81ee11c6642267403febdd006de8a1ded601a03fc22ffdc3e3b3f5c340fa3f82ddac43958070fd96345657e2c9778f17e806595eb19a16d1088af66be7d2009471e7cad6918a8fc0c151f06a1d7d7c7c79f29ed98440a7f5dc7dc4ec27702219a42038f43259664901c5805e173ad7872a05b38ffc9d95f7e463adbb888ec563544eb35bbc41ab4253c0f30f9b6338ac246f539598904dab513ce537490f561a538f4280589fb023de6295a0ee3f37dd7afc31fe8e920ad1c726eed19f0ac808e6c4d2b06eca25d130a0a63265f90f23da09cf7b76fc2cfa33d90386acb6960726f0eccd7d223a66c68e409c7c3ae64da2ac42edd3dee188052ed3f792e5fb1786d8f4329f1d028fb8db3c85c4f4a6ec97b1e79f08c7ffee58f949788c3964dcf9399c3d3be5c41985c906c645c005193adcf7d6f1e70f2fa233f2fbccf4b4a69da5ddd6855595730be3e35ca2b1149e070f613adce888a079f7756b908602ff8fde061f7e1ee017e9fc05d62963d6b8431f25c240f98bef738ea1a15e64cff2afd70738b032f9338becf477e9fb35812682cc762f4fcfc3c2ecb52beb5ab1ff11b7e37aed85b03858002cb5cf5f7ee3e11292429436aa3e4a06a23071481674891588fd66c2544a38a19f092b74be907ccfbb233bfcdcb8947f98caebede62f24ad833ec532fdfd05a17a7e795f46c71be5e66f11e8b778d48046582de60b705250d53ecb32069dd3e0508a07ad8fe938717df8d6b97d94505055eb2d65afd78b6bea929ef156b5d6af2ea5c59981e6bf60415ca684142591764536a0fcd50978a8020542128583bac3177f2fae7675ac8ed3cafb7c950605c32560704154536d5512e35ca606e65b7552ea16878a1c873b8c850d7e3e82838fb29c6cd97ff39ddaacffc3ba78af06c0e281f0e4e3755521d3f435ca9c27cb6d6d57c82c2a58a58003846a880fad0553e79ab24d9bd566db2dea89ffb1ec38fb849ccafb037589ac1ef9d2fa1bb8d33b91fcd4d685865d01f83fc61707192a5eace01140f1b818016b671666443c516a46520d278a60b5b6c79dfa58d5f14463f4f708642febf152a9026f4f3e67df856847b9210abdc42d7f93098900f53fb755798ff63c4f6db776b0ae49b38a360793fa6d10285e6d216d2d84dd70fe1b04d52a7217380441107430744b0a7da57ef89f3dccd4e49fd2afdac094eff882561fedf5dd9f9ea621c819509b0e8be2e07b39f724b7cc13f38a7a32d4223eba3368841cf19dab483f7dafc80fbd1630d41bf787aaddfde8a3bb13fd5715f179d5dc59a7edbd99d080045bc2191a4953b3398bbabf66abb6776fa01d36fcfdf68429efd51c50f5d0940379975c8f88f153aacd2ea9e6c8651b8306317d55d4290610d813d5f6e027c375c27a90584c130c92ed632e0720d6840c871840e3171971c6f8be0ca09bc95ecdd4d909009bcceda0268beb496cf4eb62426d7f43eff3d614bf22fbf1f129c7c8a2942b25306c4af36f8a4deb4a9ec17e2109d74d61587f27feaa2dd09e7d3fb5e042e40a0fa83e845728b1bedef7c5713d9b21aa46700653fd0c78c0faa798b98c1cff05a8acf2df7c26b2f9f38c17f1a32829f93730d5819933135e0145ac4ddd0636e0fd748691b6351030cc342c4844ccb2a6c1b291150ef2920d7dfbbb51078375123450ce0b3542b74c5e71acded0b2fc615661b611f6483f518aa5b160db43ec142463c953d859b8f51821ba3cf72d9cf35ec464adb4145c36403abb5c84811f55d38255a0412fdfa042884ddbd9d6340360aa5b7c91441c74f3363901b754eca39ca8a70e14c7c41f2787bffc2be2ba46f55ce33feea66e00e9e6eddbcab264ebd9f044714282d3ff701c819feb601a6e519822f5a3411b12ae4e7d5494f72bfb2745d72cefd7f10f6a7f40af8d1e461d38f7f87056471d9e0e26eb97d4a72aee0a722f66e2deba88cedc13ce048ec788a3a83f53c892cda9f5c40d7336f11e45335ec0e9fbaa804d82dbb5493937bb45a6060cdf8588775e7ca33ce8a0d48d309b5310039e476c5d0629cb63195cb24fa312f7e380682d76486b2f9a382763944c608cc353fb9db58a1626e6d97d68a09a8b95f88cd0c60ae492c150103899876cbf1a62e3e7dec2abc4d8e28f0490f8f19eaec1d4651981e7ad149a58928012fbf2951a50aec5e308b2ef85366d565eaf4b0a7923242f92c998516056744b5fc6d89519112484add933e028a80a6c423e225fdb60d0630e0e4c343932801ad7b9dada83ae0e65af60f1d62eb37efbe2c52e311b1ffc8f32ee3edd96feeda869421c6b0bc3e7488a1b1cfa8e25f8af7b08664e19c38ec90c9230421a7587a2cbd87d04cdca5e24ae9c0df0e85ba6c76d48306381813296aa1ea8fa1fb09fb4a5fb502e026f8503c3315e8f727328c0e3f18c6596088893c5f2826b108c7cd6b7f1fddee25041316f693ab7d7eba7a5c1f24c82b448f51cf526e2842ad3124dd5ad0aaadaefad484d36f8cb5d3801fdea9a19881b9ee4d5f9e0ab84b1956461b1fb8e5b8a033308243cf7270f4eead44297972f562081e019f585984578babc0e862d76491756b59f8220e214a19eae6b39d5ee7a4c22da9fb1abdcb1287712b6e58a1119b581dc37545e1bdf6b2f6868904f92c5c03574cbcc7b12c6df2976b7c301528f611fc593ed6bdd0da0ab73e10e75aac36c900fd0e496682050f09cdedae2b3e7bfc09dc848b819ea0bbf7fa02fd95acda173c8eef46f460c61fd2e97a1ceafeaa2c76f02874811750994a551edfe7ea4dfb00569ad0e97b752173f46837e396969d29a623d3abac9933e0846fb104b7e6cf13a319400e7f595d376c373438dddda7ef10624e5fba966a2566359c661018e777124d6002aceec45c6110dbf00b960878abae295d8366beb32de99df791c84de42fc1e22583a14de2fbb50178aec02e15da3c323a7314f828e67f311c6325004876154e4c8408600551a6a1bccfdc8231fb590a9e99c2b8f584540694721f978bcc3b5d1f37310ba2c2d5db6f0429c657f7fb1cfd59e4d6ee44ebbac2a751bd0c194bb993b7544f38cbd4f4a8e2ec861075c13f4638f3f53f22cdbe3e46a4e2f778a2664640f73fcba79cda1d1f20a9b397dcfbd049ee92fdcfd8c8d1bc07d74b9ade838361e9f71c6528be4164c5f35b972b2825e0eeda21ab726bc46783ca4ca7d57bb775d9b765ab1d21d8290b65298e8b930b9d60df8c1131ddb3436cf8d2e02e0aae3fac5f6fc6f1bd9adafb568bb41d16eb74a76fa0fa57262382e6dbf513dc21f60f21fce407b0d24d022cdff5ba735fe333087f6392d0b5ee58d9ad68f70204532f8af57da97bd81060111ef97a3af9ca5beb974adcde8edf88a8a80100b10bfc313f8094009b8c3fe7c5874e1c5bad20a676b272d1658afb7160cacd1f76267eca98a1669d267950fcedf813b52da9f678670a655ee4f05ff531ca273baa67440bc0f5ac4f829fc578e8572c20656981c624e2e7f1d221009663fdab522ca5c75058e4454a1a2f83f3a082bf06e0024a99d8cffd3a5d56db98c3acf4ee0995bf6434f7d0951e11fb91d4cc1b1440f9ac93a068fce14e9d4fa33ab4919f0f183311073d5b253f21e14326ae87ddcd184f86a4adcabebcd15cff8563fc0a5ede9015bf2a1c7e81b32c8191acddf9fcc4d1d21d91bfb710ae4c3674d9b63d4bf16c07d4cf5ee5861fc32791cdaa70913ab7d5319f188155b0940765b48a58af0381d145e6b21b72012abca57af0be0f9008c3d66535438f8b18b3e5a69c3c05e9ff6d9665ae9b24de8c755e14816ff1f98ef7b0d1a2d9d8eb3c781b83d3c9dd4111455fde55b08e206f8a19c59365099a80ec99024fabeee1447d2ed00ba16332acba9f50fd340ebc159ef83e3173c9a2d86d09f6ce4e209398bbf59f6c486d0d289a21d2beb247962289822433ff4b3d8709b90496a3c856848b78a7610d8d7cff8d107057fbdce6582a16f0e1ce083dec03e6fff348a983a2a73a54c2eee7b89c25c6e26c1803ba28b51214aa88212d236390b58e38449ec67db0f0a0ba1df3ae6305f34b262e61cb954c75c3fb2276802f3ffe58f15a0e42c6020e1bf9620b91f5b2c4c5296310320fbcb532b0f7a4ad02772dc7052658d93c3d90c4f645b9b92802725896ed00e2ae512a7db3d41d153323a46a1eca9bfe90b72e1d9debb1a5e080648f495f1357a6505f046101d82b7d711a56af21b7c096b00bf33f28a1311173444b9034c9bfdc0f23767b9cde31da0e2afe66e3f73db912be4253432fd01285f9958618837dacc03b5ab65b61d597401b79bdffb9c8873a1ed71031800ad52c7af4837ec8548a6246fd32c85c1443f7b84a03840403d687214a63d4891b6173f9c39018d5dfddef2c026080b8da9c55bf7bb06070457311a2f1ead5e63d23b964f608c019392395e96066a96a55fa517d5cd88993b7f2349fc109405eca7e9dcb0fea781fa447e6bd34328fb20d928c6b10b6861c214f99b9a39234b8033eebbd2cb22cd28135bf821e35fec37fee25116e5d5d301845d9c3924da8fd66c96dfa4afbfaf5057a45edbf30199d2b3fea083c0d72703d1fd16ffae3fc07ad284fccaf7d2ec9dc2058a1eda43864c3a68238f8985a3b8c45a58400d7357aebf60b502fbaac31e808baf39f879d0de1cf3c10da34863f9d60ba06ba2353524e8841c1d2ba33a8943fccc66846bda9d691183155887fd2beb8d41faf487c02061f149afe9cc4dda7ffc7ab666cdd397c8f1421dc17bcad8a354d17ccb87761e42c3b3b7c916568da0328d8b52e061e4166066469a79e6dfdbfb802b1270e3de08234b855af54aaf6eb06d9884f65c6010ac48b443cd7b8715db39342bf9d2d5db910a813369675cc4f3a5c95281c09b2f01b4093e5784eaf2a6ec046c7be889a772b35bbdc5008648e48048735e856027a6309d56da655c484acebaf686e8b0cf5cc68433d1e31b9c84c44ab8268ce9108c4427f99e6be3ff8b1bbed91095df96fc1b288b901bb6195f77ede3864a144459dc7ebf6840a6f6bf8f3a9a74d42bbbb15ddccfec29673ced1546fd5e45f49d19540031e3f6bd311a104e7a612bb81fa9811985a70a117d6eadc98025efc0d2b844a08002463fb476b2f759a1636e4b1656837b974c9e18ff846a25e168df7fa62ebb86df9fb4cf73e81870bf74c7193d719f7b93bf008d8cf3c056840a6e1bc59109216790e73ab029fa9833b6e1c5cd2b11ae58ab620af92ad44de5a35eb55c43a3bc8319930c222a90649b8a40d482eaa21fb2263016a990b233fb59a27c1cc898aabc6670e313ce997d6cf7411436d2d59b2ae7da84ae146fa60744a56f6812a96890642b03dd3dfaa609eca1a23662a70a0e333fd9d9fbf86d4f25a2559a88a02bb4a5158e93b72f9d56335b1c02e2ae520240135b86b66a222276fc82ab0a2b85ec16fffa915a1a25c99d230dca36a66861034cbac6ef58037a3c730716896152f2bcda8a1abb7dae7dde661a7833bf48d8b89ce70aad4d3b3eda18df76361a23bd8ad2c005f2b439b9f184276db50a4ea619713e2890c3b424bc9900b3adffbfacc74ebeafa8f5350206071e44537facc7e6ef124b4e555f63b6c3cacffa4547606388a6e0e3e9000fec3b6789ace7f4678cbde3112b388d8faff8599db90000000000000000000000000000000000000000000b161f22282c3336","message_root":"0x3d1d36716d656b7ff6263cf9d258cab2e7609537d318b94abd58f62360e1806b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x3f3b98ae8a8935a6a815865af445ac92be161c2fee826f31e95ac85bb43d66dbb14fd2eab3b703c08dd443793cbb0530d2d642b3b05d40e955ea0ba67c836e8fd754a66d3f7380ec2bfda14f4b43f373e058e75f1230d9fddaeaa31ecd7a58c81d5f18935af586cdd07f6f61da6cbaeed7987f2b98bd464f3b8ed40147bfb2edfe04043f558409f0e82d90db40286971bbf5f4bc0e5108078f8241141a9269d92d84597a73fc9f13555ede85b25869f7180e1749f36f66c6516495c54b4ef642bf783d8c9db5fa992dff8aaceb598a565e900686a8688aea5e66a212f920f3e848e6c45df9af6f9e5a9dca000e47ea85efe1aa419878be8be2440200c87087cac5b5183886f699573fd189f7b9d9fa9bcc5fe2e948f8f93ed0c77272c97961b76ae6f00a82ff9e4e9a2f2d367aacc02e10216bb13b833c27ac56a91411f340f027fcccb667931f350c14227306188fdb82c0bdae7b20cb03df69c7c43bdeeefad00368d53d4795ebff725abaff3dc8a6b31e4b64fbb46e25d626bbae5aa7f7d3dc3261751a41101d8b712b31ad5d23d8ffbba6afd27eb786c5731477b96cbf958230aff711d0b15b100cc32f0da540b2645f22ab4db8cb79563cc8e0f952d09df7c1b09dc8567f737880fb2f1ee5a26e40f40f74dc24a655c713c9d100d996e1fdd497ecfbf3866a055d87b91c2f8c2f611cba8d02d81f91160568734fd0311fc9d7228dd8fe0703e22e4abb6292782f8c004557b03e38afdb4cb5dbccbf70ec39a0452f5c8849d9dd7a87e0c865c67b6727e40e1d1b8087c1b61f7e70c09bff7bbf2c6e577fcf479db78d4cd2587779d70a44ded40d48e6ff4f9be5cf4ac7167b1042e5f4ebeedfa41cba4bc7bf6fb2c284650fab0ffec33c68f080fc2f5a83feca751a8712170ed3f73fb396cb1ef22a3e6a19b35f225050cd7b81eb7aa387d1f0f193496e3a17bb0f84ea37b8ff96a129efe73da9fd490803e2d3d255e6eaebe4fa46942f3232bc22670f20b6131f67ffa34f5fdeed3c363c29ba1631669bf00d897de59c101e4d3fdb06336e02e6e707aadfc64316fc2faa3d2b3884fc5c8e1f699f858dd85f3b6d2411da46fe0ccbd5e158fa418fd2869469cb145ca17bdfa258669c50f0c5c4613683204600ef91fafd7e452ab44ea2387e52cdb6744a41985ae3482b96a6cf97b9d24440f08b0d1f6506ce171736d3d1df9c74b528523ad417dde7abbc8a70936460561d70971867adddf32031c5ca6bd41142fd37d259cd3c73cc9e43b69cc23a7fbfe141099d7a3bca5d5ac24d5fb4660f28d0bfa7028e7d65969006e1229b67c0e6d35a66f74ffe96adf3c48b1f4e3b48635edb71a562449712ad2824a0a4f2e5ae3dd5f2911adf7ffa9612254be3c99d1681cee2a52b219eefbb21d5967adb6586312c7754b9517971535c81f1c6737e5e869165ff16fa366de56e112b13d75b1f4911c9907ddabee02bd900b9f8192f9145695cc0d20e77fd2a192b30693b2890b42fe94d54e822f7f18b247b7fc177ddf1ce7d4ae680258127bc285410f6b14f5b89f75b157d95b910b45551a8a58d3e45b728a3f4fbb817cb795080e7170ed251aba6a7faee40d78a5ba5125d69161f1deb8839c56fb856ba3e75344920e3aa99ebff7d646784b5cbc5913c2f7bc4dedb1ac9c6a1b5ead9fc219229650202a05c359dcf863350cde653fb713f47917b2ee92a68a500b26cbc92370f9d2683d1bcaf13359c9fc18fd1bf7366b95f500537dfda865888728de6a823b48e5dad9195ff5b3892da53d232488abfa6feef9af75b2267c391766cf82850f219c5e887ffccc7c1f21840b76953e3b7dbbd6e8650960e2cdaac3dd64206afc62ec243336835f866ace92e247db27a33bc0be558f5f7e94bcdf4a4447531044ef59ec21c90058f8e12043d13cb98327656c337a0bd119f3748dfe990b743f9c839656148c972802dc8edd511b0bd8451b03c260802a80c36e6c144f228dcccad9a3b933c55d9d8df211cdc61b465ef61f94686b3506775f0b3b1803ed9ec6f4098e1264c66873d5bc35382a1885619ecf49888fb0ca61ac25ef042f12e747b9f900dca22552ea6bc3c7be0376a16e5ff9585848eadd28e27b1d0aedcff498a453872775ba659197095a96ddb4321d671da65464fad03e2a060aab6c123fe15618d97503e896b36330f2cab146a4c776044d8ad7977d5c135d9c4c36403659b74fe5146d47dfbb280c932df5c5bb0f2ed474eb729ea01a71d6f7e0d6f76a255a908c034e71b9e31256c06fc12951cd34a871fa60433dc67a1a1ad7914c391c418ef5a337108cf972033c445a08d34337d0659caa2f2f10260652cd82c59ee1dd7778b9b0a515367473e2d8582c4c0a3e15921b88836bd9896270b6a8fe57d05fbc544434d453d36eae313102b6e05ab6398c09519c7ae18fd69b6c532adbebb3103b39bce78fe43d4c5ba9c013368d495ab59e4e79953287b7ecc2daae1b75a111d850c2bdd835e92861f8fd20109258f91de6025330d5f34aec5f5e2afbbf5369f49b11f9b5f896e91e1398a22e9eddcff8ffcd87c0dfbdc8d56df955a9f5b387e62cd74026848c7ef2e4ba00119c358f1d8c9c3a002233ea1a252496b8f12d4305ab485ecdcf5a5798bdc51dbf15c843b66b665a19f360127229789e3b5f935fe13f1227aa340c1f004614577cc93952540965815371c5e9a2285ae5152c014815b2cbc29d0c89a24d5814482de6e0da471e817f3bbdb1ca7cb618584ee09c900a3421959baf649283b2647e974adee016899a3e338062f27d62dfd0358fda6ef509480a5dd8b76ba6fc27e2ea63544913981a8c5777415ffd31c18cf36bceaed8be41ca1683a300f010639af2a9c6a73dc93fb0f346fde2976310c7d758d233ba74e60533b6bd10eac62062fb5d04c4f606dc50f7b832e4b63ce7fba9a8279822d476642786e7b58fab9a20f56cfd7784f691dc5c9355f9ec7eed89f13669d8c479eb6d9200b98143439c3b33e662a81d13dbf7a4acc7cc02325e88d742abd57b3ed15354ce28895b86350f4468169829a8eaf3938cdf56719461c77a17c215fa0f597bbfe332d2b5ad263570cb30fc024f30594a8c71ac37bdd0213993dc59fac5023b48a8dd0bbbd9df7cd43ab4b6055be525f600bdc220f0395767f63a3c3b04345e53c73d13222f57f654ecf2e9e3798055823fcb218609b52612d30596991d8bdec4f9d7a6785b6a3f4757c7076e85c910f1aa198007e8ffc3205a6fd41a2eeffa44eaafbf2f637f78006555292c09560f0d8f2043f0a694370f4e8d49ba7a8bb03790ded1807eeaf419f91ceba7efa52d373a715ec207ef0248c2b82dc83c9e6e4f500ec66de408bd75ea800d05f6e714553f3c20e88638add9a5997252efc81aa98eeca86d6dc7ce6f394a935ae030da42a5b4a8594698be501677be95940ff6b461b70fc91f00e537a230ad8e2bf75dc16487a35fa3e7a49a9ee6ae0ea7a5c2d438a1de8790dd4ab1935211793ae2b2b62e53229d67c099b90ca0a51428d7d78d51d3ec170f5e7e6995bf4e4d3cb6cfb1dc2c3b93f709f56ab1638a01e75ca1e1e76cd044bc7c2bbdf97cfcb8f4eb042f1bd09e812cdd57ea0343999ef218d19dbb028d3210dc8983e0a89ae3f2d862ae63d","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x15f52ff8465593658304ea3db58f4cb59d45144eff53f0c59eb7a841db17adb4","signature":"0x82ee9423d3ffdad91aa84364aec3a7854fab1ac6155afa6cad2d7b1134e2a21d879447c7e1c85ab6c33a41f0193487be6c81109de033785a2fbca3bea3553ff94632761e1f17038ae94dee9e8f0ba60bfa94058907e4a5cff9a2ff255191a84880a05a51fe3e951674f0f0e834267834a64ef7988328e3478950505b89b691e3a3232dfcd483ed2aa296630505b0d3dbec0a7c08ff1300e3d2401be695a3d4e2f05212a15b7891e4736b92762647eadb1c6178d9ad5ae61ed97a3a5df6b1645ebd8bfd38473a9cc16bd02e4818ef8d827f2a67dd6b78d90f97e4c773814d2bed59cd3f7e4584e15c5e5a593ff8ef4e7c0f61cdbf08bf947cad55ba087a58b246a03ca0c053822dff3b246d551458b52471607534af147ccdcf9a271b0d4f921c61d047659ab69359674b843c3ffa1592d425a4c67174ade8e2e9b3e40fc993c209eefccad7c5244d8c6bfd797ca5c791a1061b6ee4bd292a13241597498c153857b82ea4db3142e0ce73cdd4b8de9d96eb1011fa458f5d504e5aa77529c75621aecb71319f5144dbee87e2e80bb53d2ce1f7e571500e99be6660409238b7604d4bc852b5703bcab017177235913a33e34e90d76eecb6310d49732e1c9af9b407eed8a447b9511a5ea2cab8affbd113c2e503f764367da19c63a40b9b47f223873a41586b9332bf4c5af824e98a2dcb2c85f04a6b9ab6566b657efb64516400cc989936504755a741ecb8d834cc1617c42c0b219964de95d8ff8f0b301c235c99ebd0ea1084a0cdd09c6a4d9c069a91b377bb692573e3b7f62d3006bb3194d5c46b2a44c8a9c44f76eb95bae4d3e769999bc20c992d57f174efb561f55365ce91438a69a6019a4620a448136a82326752a6c3abe1799079026e1f270b354ba4ba017f50bee4c1e16662a62afc4401fde1781aa06bb2f321be51f5ae42946d3cb7c2a0e8b5a2a127cf6e90442447ad59254b287dd65e9eb9ad2de5f06e99cbec63ec6e369d8ca88dbba171ef80f2d282c9c8388e8dd46aa9dc7b46941a77531a37833c57eb77b094d9361c275c44baa55051a2f8544d03e528a3dc6dea27184023bfe6e3d49bee13cb83bb153c9cab3d25cab0aff505926d5472e517f02d56734aad133a4842ffd55d15a3f760ae9e20f68a865799b5bcaad2680f2a4bde1b6aa982c31224332c038cc6fde891a2a016909af986887dbd48ac3c908fbf7473f805b6d658c2b8ad189e65a7d5bf02f9c993769083c6cc7f5696d71eb681b453735edaccc77d2de2c9d60ca9a4f779b956611f7910bb77dbbb6a5ee5f23db94443ac74e696fad5e127722dff4fde5228934cff6af08dc85fae715587cb3ffb25ca64f9c1815757afbdfd435e15069cf87708165a00c501f75b772d0dbadbf25920e43a30adf3294532edf382afd094ca215268d52e9e3b6e30b48c2fc3a4da7e0ccc78dd054c0aaaa27d7e278a4f1fb61a3a490c515be76bb6d4aab155f7a41a2d73d6d40fd2a5c36c0ac118878af692bf5ba26fa87cd86cb327ea020c23db77aae3b7eddae2a60ca8f617e651fbb6cb21c849b2635599582eea42074ca1545c5c5f75282f8f311aec7276bb59e23082de0dc465ce3bca95e41d1ae8615175c9f5a90b28bd1542eadb036a8ae96ff42230699a3c249bab0b2d2e0a5e445d70e189c7b27a43f03a0dfcb4f6060cfff143383215a85f77cf389c2b98d308599667a150eda3cc7f52a4320754258c0e429b097a94ea1b29a3d573d4038b7ff44436442c0ac813a0097bfe94af0b932c455c58f32ed5cc7992b4ced6a1cc30fd1d7e084a15cc87412021d9a5c865a8cb1433cde34198f35e08d322e0a6e07956fbee1853adac60eccae31642f285eb96bf9e5131270b08ef269d5c433d9baf283fd9058db5e1c19062a408e496b939d9838fa45481fcdbd91bb8414f26084344b9df423997068526af3a7c365c79deef2b5388ef2853c58e8550f65dc689b3e00b25b39a2897f9bccbf2a4ba2c2596094a25b9ad7e86a40019f1ada8c649e16cb9d02bc05d771401da1ad8fce86bdbab8ad9a810113b306152c178a86931b64d29ddb82eb29ac8bf2c2a9158095423d86313d9904d2e4ac86c8542799b7d3b0c75401a42091ea01181f3568b136aa9f9c0592654423c7735fe879480bac4d5fb088c1635e3e1a415694950ab19ca60cf58ce41e2d6615bab90f13c69765a6939dbb62ef2b7cc107207c8cbfc1e36df085542e0b2b087b47193aad557ae4a416029999a377370889c48b33aafbfd8b54f0d4d35bd758ee1e42fa1b40986cf217b3dcd2922f05584d2d5ef2cced0472e0067e471f1e3b6faea668d6a2f2f2dd7d07db579c3bbf00d68360f78edd48099b1a1afbbdc482108e09d25ce20316dba8d51a96ef94b437b44463e3026ad001f29e65a9c3de372793defbccdb2bfc173a56a6e2e52acd5f344676961dce57e27d6e442604701328dfaf146f0e92b3e6e08b5192b99dd236745a81f275c197b38627eec0fb201cb9151abd9d2e65565aa332926506b39bc5a8216a885dc6096522b983f9e7c97e0d2f3d23b609b2498c8b1e844759df6a6431511eb75052506653030eb112cbaa784f89e774b41e61fdd5b2f8d2aa81e864297f294a53ec7ba5ae661bb4df96f77c7a3a7b1adbb79c68017e04cff985794535294bc5cfed58c9fe3f9ca48f814f6f95bc1f3d73a6add8a66aac6e12a618a18593f1fbc1eda9e6e8d7bc6337d4ee39ea85532c215c5560389e4cd75ef4de3522ebebc2d1693769024e0b8157282c5f793e76b69aa7f6c18cbd29b08deed91a3d2a0a8a7343597486f643075a0b6aaf2736baaadda54697515a25d10e45d7546a7d00a7cac8e4331148095472f93434924592bfd73ac4ae16b6376d09f9bb07115360805bc56547e96f99a431d665973d40c95f164c9b614cd289018b30ffc5b5e8b99008de84086640a29fab7b34fd5fe354d193ba80b5b9dcabc627c710d4f5c649ee9c148c3d38dcb3c80f71a3fa2b3616bee3038d02b8a075fae2d94a8b87ecd0c274564d5d4a90fa2aa3c135145efb9a2c60eb5e6aa48c72d948920a196eae8c6b723cd581d13fe46da5ebbcebddbcb65190e5bdd642626575a9b2febc8b61c752a3b7736755a57fd794030667c9d0637c82efa40b76c911d84ea2f6380aa3d9693cba9b810df66e17839dca5ff8f2c74518003a95727f515a5c715105b1af82d01a357822558985138c53b631b647ae78a536db7765ca7a5bb600b50e357e6d6ccaf3efb7c4c7817850af91ba4e0f75b1ce43bec33183d694bdb5e422ce63fa85191f4e535e21b4600f2b5726867c0fa376fb2a734d837d3d452c43353c166f5d115f7d81da48e8d449d6eda8c9b2a58cc1a580030a3558371e588112ab9c688c343b04b6a29e9c858281374f7613bc3b39d301b7584edacaf97b4c9c188d07f34200e4db28639978d2fb7fe780a8111eabddb1f3d5049dd3203b95afe3cf0699aed1a2e5998659917c578713e9b7ea80bb1c5290b67c3e244be1a52980cb0befb3c2b597f35a8bf891761a242fa3cacf3252b0360b4bbc2512b00672732d948f6b3e6838860a4d7555ea7edbc061f6e2687d784a58b765401bc5d61f88e00f7b49ed58bfd93d021715ee7739d7b9d9e5c0f61974f7e866a793c19e95a7451d0634c2a0a9d6aa056a0a4a0d89799e18c5e8319f99750731a703d6300f154f305370ea0bfb84aecd06ebbdc8e6b71798265191074435047f921abcfb0d3b8c2c650824089d8748f0ee5e98f922f7ad2d1bc60ddfc05204ae8308f88e55bebc797db5c91c8f8e1e675605aa8ec6293f161d7f121df1e25ff2eb416350ea84a69a3e617dbb993c74539d87c88b267ad8d9ab7df123dfe6b898e88ac9f1753dc90022c11cc494a7e7b28cd024bbb5d9b85d323529d3f751ed1cede2024d0a6b4152e03744e73ad599b41b5878ab5b7bbb69a9d645b35c4b0051e6cc42a510fc759002d8aa62da526830aa0702434dd8300e8e7fd372f29599f793d975bdf5234bbf92ab37fcec09db753e6aa828463d2a4014df6c0536c28a24a21730ab1b504f988af75e057b87006b28c5fd2637cfa0eb26158a3c42062085fd42983158a050535c8c203982d1d866f91184fcfc42109fca331e5d790b7c7dd88578954af7c4bdc5ccee12c87641dcfd46d0d4ec23e5e7df14e7474b90bfef561b59d1846c1e3d37f46fd6bead9875b21f002c5a0778e54f115aa86a9c8209a12398d3cf46d3980063db4577864b9033cc4c29a6150134ec8f65ace35c2b683c6b97652f47ec340dd708fe93cd351e95aa89fb52672657882ce5c5d94779b0b531baf104f1e4ba7762106e0b0e4a8ba4b34ee17f6dce4aea1b6c57039a5e10c072207ec70a023b1f000a192ddc13af373935e347d43e1ff48b03358703a32e08305acf3f6339680a090df9babbee86632af83963a3b623a84c0b00323328dd18bbaa194d21a6dc0ed5377df35599e87ba27d8fdb5ad27f65111b46178b303159d42216650ca3fab9e52e79d575ce528aef5b063b0b9005cdb5f44eef85f00dd87e04009afd9643ec5c33746ac6f26cce26aa33e057692af74d5c53c3a6240dff1d86c5f59f40ea9949ff96a383633cac871e09f45268325acc428eb40e2265f8474ca357e4154e051402fd7a5fa7432b23aed840316f6d35d30a8fd544f14388abe32219c15033f29b9614dc4108012cba3c610fe3710494857010735e77f19ba7b7137d52095b0440524e5504e53c048c6d3d843f62416c73584a9b1e1d8d9671752641a64a78b29efcba32518a751a5b534bc3f0fd1c022161ec81d33fdf7e24a2603295dc7b876701e455e653a34a722df8b4772c41bb7834eeec04d67e63aab26c742f159b45b74f118cc61e895ee8c20403216ebb0be45b902dc4b823df9248e7ae31345328f26db9b80953317c9f48c72b6b0ac42166091d5eb7c04b6b0d37917ce6fb4235bf18627f939fe7711a236f4d80b74df3b0be07d36ab8d3deb1f7a33b5cdc3bbe2c8cddf9103e9bb322b1797bf0df296ea33bf7b01c6ba790cb58f9690a5d1c8297e4aa251e9784cef404e1c2876da971beed0e53303efe4e1fb9568c2bd72dd303b11bcc6ae685d152869a902251417827d0fc557a7c241eeb5ae13e8f51bba0e55606a5c5b75cb377340fec0c99471f9f03199eb47325ff012f2c7066c213e787da639f5b53956dfbf2ff79768bc22c87c5d00ed6fc9b852b51b099f9d2e1564ea172fb1437b60d7b87483d816b7a0911639cedefd741febcd143b2ba611f8068a53177df96c4db5c519dc1cbd3f36d8cacd5146b7658118f0e073471dd4e13bc69cedea12fb3dbde3cd9a6c1216ebc955078b6cbcd21a94e26004ed7571a3d4f34069835f04747905764814a4caedbe1db693d956f49999dc1b649c4408fbba59c88992ac1e3a814e849f3d0afa0bd72002097bd936a7ba586d5fc1e53929e8f3c53f51b05b87b85436924045e6a6413d3dc19cda8dc4e8bf8b8c94ee9a33c3349676691bf11a96b7eeb68644ff2de7d4525f32eef3fe44e898ad389072fd3376b27a27c5346a539d6d833ddc5d7316e7e4b6366cb1c8aef3bf56d5a1097a99f772224731dc56856091bfd43f1316030795349299f32932b359f15d9932f5e94f3a0631322f09154f8cdf1b804d9c00807958b610d4893bea880b5fe41eee89b497a0f978b448f64ea9d079cbcab37194c9723a9eb44b32a30bbbd31adf89a2ed448dce490256688050d0a831b0c57246415d32c212adf86802f1afaa35848ccd74350e2eed19b83469a1edf46d1bbf20cdfe957173bc69cbcc4b2100396843177b0992c0f5a1389788d94a69e063e7ec0239d24b586f39f589055273d13f52765b32705db5f61d2d8ceb6f23f8dbf08b04cdb9a6d36c5ba55fb73b495c3ed6b6eeff0db784e49fd89be97779fb872a9247a9916c4f2b44d2025dd71db2d64a4e4e9b5b865fba1b3f3c8dd4df7631e7fa5167225736ce61a3d7b7cc6ad41bfba02b919cd8802d4239e1989dc2d5b758dedb25db30ed6cae32466a047070e0d6e9e3df061af196ac3e082637de786e0f625309e3be9039252306633f7ce2b307682eac92ed746bbe5c2825a45a7314b6c20e1b84461514765bd28f2971cf4860e7bfdb162586620d4078124d83ce9a1c472a5376453a86ee8f597f758427aaf275ba0501e9c385aa9e905fc8f13414e3a185ffcd5ec42e501f3d9699bce3990981ee1ed4f191e8a546efa67cb894f17e59442b4b8fd22327499600be3efd109faebb41cfbfd6f4e4e0cb3dee2362d294a72cf1d771f316f70f9b82bb64ca2f50a3c05e9354c0585aae7280fb66184bb127b98b5b8da652f6ae4167110f581b42c4732536d612176353615fe1e387da215f340cb931494f86b51f7f8e91e128323d61e88f9199c9153fabacb724438b9fda22264873939aab0218405bcc11358292ee00000000000000000000000000000000000000000000000000000000000000000000050a0e13181f2429","message_root":"0x5f0a4a89d9be9b83e2f8318eab84d63ad8aeefc56a55963124d13ebcfe204cb7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x004dd04052842e20bc0eaedfee1afe2e4ba36971bd31b6ded366bcc48ba7477b84cdac6409a377f2421634ef26a8b0ba8f630538ed2deb8aba0dd89965eb5c34861e63fa5c19bd247b63896e461ed83c03d8c313363916a65e852519e056cd5dbee22ba53cd2a4f134c75ae04870e4d7f18f5c911e3989e6f0949539cce258b9e3c7f37477e51872accc6e057d597ee3a0aa328196ce81d7b71d0b65f0287eaf20b72c004f5f05a5d29e5cf6ce0aef8e868805d4f412a41e68588c7beb5729c1efb6215853cec16c9b16b4b893c2545e4abbf355039f6f1cba3fa9ed6c85c7a2504f0034db1759e4dfa4c5469c3a91f5c28f6f1c27f0ba2af019818689991dd0646add65e03d6b143cb0a29a315dd63975b3235dfd0366b004a1bfd9eef745676c3abde20b115bf49bd0265cdb01f5df0dca8ce1d50c4c7d50649c1d267c6a637988dc91b3af6547be68ef90ddb788494f0b675dd62b5dd053b3636eeeba56504d07839d25c4254aa94d2ffa0db828013d63d52e2d6204cc2f7da480b5dbbfc7f6d57b7c7103d97e02a7e6533a9a0fb3946323a304e554996c2f80ad99cce18b29f36d81babad2c3e402e890655e6f08bc7be77adc56e574cbce4038a1db3d2928c75c915a7b90ba9cb13893bada94e3c315e865d4dcb5b8ed5de9101cee7d7f8a88438f4b7fd7bcab2dc43dcec36cb9eba3c3fd9981b22f24700d90e857a9a2ee4c30de8e2ff6998ece0af95d8519d1945defddfcad9863284cc2ced40f6873011875006d48eb623b79c36b569839941183433dafa8db799172291718ddd76efcf6e2925177a2b7855ad2b3b9ebb5d753465b29cad349f0855a1f98a8d3b8244f3c5278f10d87b0e17a6ca7b1f5c55ce63df518367fb5ce51a0c4518c1d4145e5c9a7c95aa4a36623bd46d9b72a929caba5c6a2b4452a45cfaba8f073786c3202d2990594b4531fcf9c9b11915a8465fd0a211f0baa4559e15b01f89d45853b7ad1e916d881fec3815dda3043b2d5817be6bce1d9f12ba1154756a4cd026a3fb621c8a73729d57af483ac8d4fe85f54c0428fdb22edee1c1cf5c67aacd91fc29d4aafdf0a144cccc692d8ca4725fe89965e1c0f3792dd08912d5d5f13f102f0d5b61307bcaf30f6493617e930c5efea0122e02d042666f502f525f0a140abcc55d8a2e1780c69890e5af84a026b43fca4fdf1df652317dac7406646981e329fc74f71c7e9d5b0b8c13900fec5f3aa9baf52310f2742c49a96b2472f4a83147b46c8675c6085e9c3290312d4916194809938702a689f67a482c665808116852b412712e457573391da9cbfaec93f179fb171b44bc427975068b32f0b3ae53aa4bc824a0ed6693599cb2bf5db329da00c75d861803adc5177358c7b796b8501f51e0d4da477060639284f39bdafbca194a027f39ff78899bbb236d0e8204dc4309be219335d3d6a49173aeb62533ec6a2f851312950c890510e494a491b2b5f0d2fe65cd50a2183abf8d6da01333a1cebab122d1d6c6843f6f1b4f63813c948258d6f4e30b5bd43adaefe63ce648dd9d3ef79b036e86561554c97ac0a6ae3e9a969de311694d989030f6cc78d8ea2fba5f511281ec8801487ce01b0929038eb1052c252e3c79d794b2e011f743759da66003f714af391ee42af6132e31a86a5ce4c0f6342ec1012420fd8eae9473e0d7599d5a901f9c3c8591f5c20d5f5a6021c7d8a455a4a150a53fb0b80479cbe45f2fdc183e3752451e68e29bddac97cea5579bde6acf8df8c7de38aff6bb38e555049c3e837236a01f68b72acc843ad296ea7fbe6fcc64ffbd7195e86ce70ec89a84a7643a2effc96e08bbe0e750efe3931a03fb52b8ed100b79171ade279f4dd5aac12f43604a241903156cfc02d1c68d86e3952073087758460822cdd8d0f61b5a42bde6f4ef3b41e2667dcfbbfff33258b7c970888ef54163378ee757c10fe538a334431d6023d2ac67397de5caaeaae7c5db75fd656184e7f9d27992a229e726d68eeb60cdcb969652fc99d502646fc0028ea2b32405b22029dda49eced04e73c473cf202acec677dc1cd5a78b6637cd53ede41d465ccaae07fabcd833c63f8ec835bef84f9ff4f97b3582868652e0c5fdf5692940ef363b09304f3d605dd3d9ac8fab16eee1edf6e42f734def426a5b6f4417cd34a15676918cc5385e0098b43ab9640b664c0f00403eb47ca1f9168ad6f6aa1335206f8509a5bddfc832b7620968624b4675b3f55121f37d94e1d36821d5917531fc66d439066aa3c41d51a7970e5e187b094d568b48f2cfda84883c1684701fe1de8452da1b0f7f4971a70671fa7561d0a93325aa940cb95bfd7bfed0b7c4cde99e7fe092186d86ee654e7f69e5459f39a0c82de6331177b04f23786e0dbeb318f0ae80edcc430e36916109cbfdbe9b509882ee1b7e2c6da5f8b8a64054b170e3c712ef1b6d8610c5f0b08f3128e60f224a8b8ed66f29a1fa732f63b913fe98ee1cf6d9e77e581f635aa82208fbde945cedb865a8c4917ca4c36fdfb8b95a414a26beb8209c3c61ffdc58e84baaef782076bed9b32db036a7594bc395cb53813ce5c121f9e26218c796fc944bd3a11c1f82ba21bf76c31a1229c009bcddc06ef04d4b0e539c5467bccb73a7d47f80d5c74832febe22b8d5bba880bb1d54d160ff130e46b7bc5edc7f7f84960fe3640a370301fcd5991dcab139a692a1da52cf72559b1abc7b3b6098191d82487c8d00ae0d46ff1d823331493e956c79924801561180a1d6b017eadd1c7d1882e8dec25e52a0ff8e9787ffa0f8126f82371f385f7e78239f40f054eb20c9b296a396f52d3b9c93c0fbe44dec51bc91fa854e079f69c3c0ef57c2d53d7bdca46a40686c05e89a627fd36bf95aa7614728c43d6f81f343465ea2e72e435f877890c385462603c848c73c7d19a54857e949c723c1c95c96ee2303428758032a3331d44c727aae97f1ae8524ffd9e29a85276b1c0050b7177441f220434748cfdd462ee405e0132de882101a2b6a8448de512f8b7e8caf9cfbb8896abc83cfe0de0bac54fcf4da5094f16543459fb2d71bd605cad3c5b3c7fbae6954e173da9b79fa06aabc6c82a843a9513631f455d13257a2040658de9a56fc87790fe0f8e5aa8936c29d8da4d615c3c82dec114e4bc30091b50f6598f1846dab2921a0ab2d9d446cfa2f00140708d66330b0832d4d687432bd466caa0863c4cc6ea0484542257587e36f1b0a1cb8f2116b2483899de49ccc35be821c8370ce3f5088daab4db7452d0f0b97ace4b02688abafd4d627cbdcb0286d0b3e6623d11fdd85dcad564171f9a2e1f780a9e167e0835b457c9b2d53239e9f1d376d64147f8264eca4115e6613717c69d6e6e55bb0e45632a9639a03ce678671543066656a5b438ce1909ba0b5ab682855de752e628120405df4bfa334357e08587ad3fc168beff1b0233dd9bff94b1c70d4bb51d45a8aa7f956967cd1ec50165d44d493d3759196d2ca582b4e54cf2e4bcae5ccd9764b51a35030912c85aaf59b275eb2888f1592423bb898c9a7689f8b887d4192bd5584ebfce3a4eb13b1d98fb4a29c0592423c414b1a896150f0489f7bc7616aa25c2a3c4db3b89f98b43d529e7a0998ad50376bc4c48f5e046c648aec6a897e69338a6f613","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x15c29eb63c7fd4d7ea8ea49be36fd02d6eb3d82e7ce118bd24809b969f927666","signature":"0xb4da9ed680fe1972cf365dad98beb153c7308950b34247d0b6e6fe047be8de06e4db6afe2f07f902bf32ae77b3735fc3f15d2589263721f88c5a7beca2a3807cf8e5ef6748c1390e82fe12a56f0c0a94e37697c0d7fc8ca17627eb310ca4d8c3764adfd38d4cfd6987d2893d2d824559380ca31faba58174160febafd750136a371b4cefdd1babdfb1a10afa0ddfab2ac150a9862e3caedfb0d915f6802fcf9a555c407ccfdf45d1e82f2323ac1fe7342527a70a114f5cacfaef5d825dd4c28a61ed7bce25282da547d0daacc5596cff628c94713bc872a6187ce4cad204527e4a607337b66a3a15a83a3b1df4c96af98cb7a5ad5a6fe9d241e35747b8365bfe20f7c9a74b44a93bed7308206a119d228b3c0792f47c1cfa2f915d975d736ff010dc2ec29cf5d6e627cc0dd2be3cff6d915a702a583ea79cbbca4623571a1045644094e74b880d412bd6ce9c63cd798742efbdfe69d627525a213ac6568ffcd4e226a36746dbf4d34dd8c70091885f41091acd264661ca0b75a9ea87d1ea3fa6200ac45386184c14048b3171ce143f1ba23963b245afb4fd1fb3110360336de79ba088655b55e0ddff55b081eb2e5c125ba611ee546cb38389eea780b22bee2aa665d40aebed8a498930d4f84ac578049db88f1eabcb40f6a3f5cb415cd905a5453a6ba87d002fc4bc487a8d28540c52f9294c64662c46b00e5aef552d9df9ffc38ec3496656338256cab8374d5a8cf2c0c7497f8a475f5d35fafe003526a81e4b15e9631bd66b8d6062575d1d68b196e503634a8c840f38cd801a146f71bba8f9b75ecd2705d8728e9beda2094592181e0dc1e446998a15e0186d9ef64fb75c17a6b517a77d15d30888ffbe0530a2964e8b9ba384681f45e3c131641660e6783f4308d0417eaabe13a19c8e753ad92a4bef613ef75fdd0371a33c44c15a0072e94ca397dcfbd899a25727d17e8a8761c250bb4b6c30fc70b964a585fd696ef9f9c29674269eae0b17cfbafab3a8cba6153158f3257425046ce2bae91c6b1f16846c187b019bfae73dd154529a48890360008cadccdad8148510086304a8bf424b45b4c5e00ae10391c62380d1311baf7ee041daa15033bd9984c7ade411c15c54bd1cdec9f771fe356251695bafc5801534811b844eb98af4a44e2ded627220de12b9413d85673e70ecae844b275aa3a271c90ad014521e591e94552c0ecadb31938169046479127579caca3a837bf5049301dde43bb2e70aee22096773d6989df5e93b214171db6f34f6975d1c4f95dff8f12c3624f935c906cac1976082be3852690cb9319919c358a91b84d000efa3767286c0d9079a7939c57a20131ab0122121709bb6703b62914a58f2f1596c461160e1c018bac2c48df3811e8896d752e8ec9631dfc571ffdf8cc996aa0086553b0c2406eacdeb99a5d600da55a0cf4eebca9f19183c063ab32e7282627976295963efda09dab723e493b507db59b56d41180e9c5219e55298b8d69ea6d57522b55702279790af89f4ce164e93a46e22ca42f145ee7df5a9fdced8433c6315cf1c50dace8e84aeef3f28d78c37ec77c8839b83530f68064331ab99e1f4f0f887cfbc856bb8dd8f4994ae9c3b8366e767082f1662744efe8d7625c3a525cedbb9272410b708399ae0196cf63682a1a231718deafe4efd9aa1b0ad71f413581e3445c9ea6212951f941f23b59e94d363b418e0de0179e6e6e9c18cb075fdc7002b8ef52810263a8f13f1b8816b47913da3c83dec1851f30c23b30507d0ce97b1eccbf5cee42e15ef249375f4c6d38689dbbf994355bfa2f2d6445e55f648fda29a30e8ddcda4932ca4a3d0bea066ca87e8905e7f46e1d043a80d805dd15ff3a0bc8d615215fcebb3983ed54a79a1141705fe4c8b19ff63f1b5429c4c9684faa3aaf20bd02cfeaa1e7a57092ab56a2fe309099e7e7742e5cb5ee33129e3ec3571e4e7f8d4a752c847c69b95b771d1c2e4c86a3191d4eb502961652e37d557d1d0b76d58087a724162f26e412f998174c2f5805f16a7873f15d3a7c2da65ca17b99012a44ce14c1a536af9f02d448ee5422c9d8b3071c326e2a79212cfbbc6e6e3fbd520b5fcc7ac12a908836e7dfdd722bd41b5d226008cd9f2b0203fc3496a258c7c8e03bf523dbdd11822e7e90a149105cd5dc2450cb039a4ca3834a80ac7cda7a2f551a45d454e4a1c7c7084d948a8322e38ac969a083d43af2460b25f7af854f6fb9a615578533d17da02ce6f62abdc7c46ce6711dcfa98457f37e93d29105177811082c8990c31549a3327f49515116401574bfd09b246a1e85066cf1a16b00ffa312792258e3d2b507bf913ea4b0a1187d5315a2672848775f0688c05bff1928d6d3a9b541c93d97ff46f632556a5c622d9dfd2128f6320136dc32ea817d49f849b52034eada2ba2681f8b36f0b4586e1b721a220753e5abd137f2d12d2c5dea4d46432cc07cca2ff6c289b88de8d295e969eeac6eb53cc2ec42f55540f6b175d365886de82460cfbc4a38e9a8a735460b6eab14d4b96634ade61a1f22e4b197d1c5b9ca1e85982f9d65ba50ee225fff7d64ea0b9c7090cc581c85091b4c1f9e78b883c4443226e5c5cb418a9bed881fa69688fcca6856b0cbbc9ef6d759ba786afc515d585cd9ebc404a5282806a2e238452a908db576269b478108368f40edf0eff84319157b68b70e19863fba88e2d2ac7f1556a71550a216e9ef37bc59c16bd2a138bfc171cad85b6d38e49d8ca543e602ed2cff75e70db3b80a322074c5c713d80da2a9807cd958580abe71011efa3734c44281002f06f927361794d8f7988c67cd12115859ad673293343088d2863b876c31169ae9ee61b774571618d3e2dd32d159ba01615421d79e31c5a4c06c5c76867833b9b934639c4d124de0737d1d2a544a04f72f4b44d0dac2c58bf93f4660540816ce669705f10bde228cb8cc8216357c777cb85e89372f705c35b7e7db5ce351873d98a30266dd390b0895bd279cd23fce9bebe69ab09e77f6638252455290ecc61c66776680f421b9adb5ed7ec7cdf1aab3f5325ffe8c9774cd9d9bee2c1c6904982313472984dd55e3918062bfd188b30fcbdb6d4b07eaea297b552d32395f7e5560e8b7737a06609f3d7fcc34b9425b863011c3cf08d76a50b753bf53aa05a9ebc48152904023bc8430ad8009aeab4c1653141db5910dffd3393cd20a2e736ed055888d32343539b2cc83c9993862c045818ab3ebb490772292477dcc3f2d9a210e03782dc3922385018e644737ae47af2c97af3062f745200ecec18b64bb95b2dde80195e5bb7bacda24d458b37bb1c2b3d9cda494d0932de002c62d0baf4be18e03f75ef526a190d683679a6797f75f36e3b5256cb1c58304cebec04e1404fcf234bb6fc4a1dcf54ccd96ab6599d3988d1a0bdbf32650cd03c5c19a750fe974183e0e769a4cbe14211dc22c749e04ecdeb17c5273809ea6a0cd719842443e2308e018fa55084d827d717e0dffd2d6cf730151b87c57f87960d8dfb4cfc719752b937c8bfbf300406de7e9001e050104647794baffdd0c7853b58f49a14a9844b11283580b123279ca3533c5587d0f2c7e93960f2d74b614c75b666da852f2b5d5886b8e76c73fa43c7566965292b05686d5c6062ef0b26f55904842cc344a7190f48720d7f9895ca47fa1ca607136fc288fbdd30503113309121e159e5ed1eabb0e0ddfd18294ac1c5d165fd3b2a6dd6608520a028d26dd40bd1d5d254e77a7ef48cbd277dddaa061269e257f9a21f0ec07db9c23688a50a976c987dfb5bc77c408b926ecc23704748c649c8fd86c40c2df5299418b63e91d2bbf155f287a4c1bcdcd0f52e34390b5db65c70b867c9ba7367dcf0d10b471458a3c38b71b8cf770d8e1784e85120e433f2287ab665759d1451de81d42bf66224405bf14e7bb26c1ed43d69dc67a21ea746dc200d3cec989b9170c87878066ac8e25c2a701b5dd437e57a596b70a97f6154f7ee0398c50320871c5ebfd2c91fac3b4e5ac5b94fe18f43c214e8e0dba3f8593c1897996678041cd8ad41b61da41efff5dce768f9102d2b6b91a606e4b134dd4bc2cbb389534e1e9ef440244b3d6b449f34fee04d0460c065922e8da46335f8b832a3c06bbca2666c959b30dddc199d6fb22a641cfaf609fe8efd579971b3671a8eca9ae1d7e2fb7f2e5b2c1640979d1b6dce6716822910d53ed84fedd213801f11232d6ce9d73c2254406c1b907782816b28736cb6487254f797a5bb5c70ec8d4e11c9dfe3eb26a7b96a53035cc5a6efb47985e52cacff1cca1cfaab1f68c7f68e91fc6128dfae6bb4cf575a7c51594c2a031048d1764fb17372ec98d9be29fc3904a2163c508c2fbbfd9b7fbc48e0edfd37267a149d5b625f2dadb94a2a73ab064889295d6e9d2292bee6d1d92c28822b809edce8083ee0f03198a3da4c784a636e65bf1a7b2684034f6a7982c3dc592af58c2bd4443f0b4940b459ba6853255ee8f7dba5bc287b1e0bc370ee9b8b79945d89dcdbc2102ceffb34a4f902cfa5016289a9f6c57e661bc952e36f627511404e85ea238e34a14341db393af7b74e035965cf7a656715deef897ea54f52ed865ac8ec0255cf908b27735278d7f747ba270a6aea80bf0355c7ee47480966754c28e2d6306ddca78b3ec9a34b928fee60a1b38ad6c5e01cad5b01b80c74df20ccd4705acc1494a38cc48c7d5edbaf0ff9a5b1e3d0cf65a358a1b18c6738c1d814b9d4d54c61dc17abc82c8561ba26807ca3911d3f89b8e21acdbb39f3be26f0a6086f3a903d1d49fffe6093cf428f9ef6f928870af822ab9c42119bc058da737c0487bba823456deb6168f9393c3a3f19ee78c4ff10306dc74ef37c2f1594e06149cd912cab778fd98ed27dd76de7e4cb1404ff48c393918371b596bce0fecef2ca44a0d58c9a41c40deca80697e79ee839a374e64c1385c9a0710f1aeb5853f5f53d80ade5c3fb6d7993494575044647165c1885adb26d284a1284009f0947a8a67c2f597c1c7e81649889e18915c42eb7810cb75f4387d8574b383ff8752391bd67ae7f0ccf31439731b21dfbb300e9bbed26c798791c7df400143d04a321ddde070b4f2d548fe6761097ce7e3367d2a5f200e7604a7ed6e6ab5761c76caf81da7f9e34d40e04729f81ef20cfa2d56455ac877742a7bf0719c2653c8b2bc1f137647ea99e25f6be4478b13283c61fc1380f3fcfa3700058b16485041cd30448a9953fffe1d0177addcd76d4c07f3741eec138e764709cafecc2435cc06e5afc5f6af5aa2ea2cc3ed0b51ec11a4115c7d8ff61a9c3a9b70646f2f48a7d9a132f971d0fe977b5dced0fd747f9e835a2cfe6d697939ea2cf6eacc82eeff51e7eefd034b4f98381728a60f385cf934cc8f05362022b2d7800bf2233e9d895ab46cd6ecaba3d9c9e560a3392e5daf9ebce66c1b302f0ea37bca8409cbd1727619c26709d48309a90b4c37a9b629db4d32abf6fc5f9bd08f3a9643642c1d6959460f32ce44e641631aeebc3a67da9b66e5a38199a82ac224b44a61473dc3aeca740eb18d8d359dbe3de17c7fb3c19c08da251e6bb35e28703e8693909c67aa2762825236479bb4ec22996a7556a6407c08ba206b773fce8d02cd79ec40afc6a271e0ea81a4d315dfb1b11f9b0f029df1a56eefd8d38335bbb3efda7613c2a778064103603c18177f67664a2427fb4dcead9b602238b8b9a39510380898f346f2fae69f68fdb855d9c660e8f868590695cb004e0c6abf7a839f07ccb12e9beba1b31009cf2d13cfff5c64cbd449a75765c20887809b54cccf6e4f06d9bddfe37907f2fcc8ae32ee638a2d6b4dd12592d077318037e0d572af9d78d64fd2b27959a0b56a17ed4c5972861c5bac30f81f717f90ec2a346441567e9faf4f35c7ba857f608c06719e717eb232642b32f5f6d8cef0fcc65deb1b5f869cf50d7ee1df75672f1e0c72af4f13777b2142817d0738b9b14b05e4987a59a69bd4124758fadfd7847cf2f4b6d7ee5ec8072e3509e1f529cca6d7b7d25e0e04bc7d9ebd6d2662993ecb0874a81fb33a6985de5bb2d996fddc07292e25c43a323b3a6d2a95ad5842adcab82abd05f9f5b24e68ba3772cb52c1397ca71258e7701a1d4673a2812daeb6b47163c04375a0a81b9b298e1859fbd21d0a7011acaca36ead465a1ece09456ecff8115f325e2f88aac193b3bfe8dbdbdc6a329eeb15feb9a61b6cd6418d7205ee3a22615b257d0fa772d775a11897a8264c3ce9ac90c8c29b53fc68e203d485d24a6642f14e6a113322c16a30767923dcaa09b19b63db0ace46b0c2b8fcb11e626410cc6fb4c4ab8848f19bfe4e4bf4225e8ac2cb32d5213864a2fa45c96f937b1cf6d436666393bc8a5301c4d92801388177b135eb954c1fbb1293953577ad9dde1e3135d6809222b2ca2c2caf501060f121437547e9798b3023a8da2a3d6ec2d4396adc2d5e70f161d519bc8c9e8fc0a6d6e6f7e92afb3b6000000000000000000000000090c141f262d363f","message_root":"0x6577a8844273a1b88b7bb358f09d49db4626b85430a8053ef16a9185a1bb700e","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x08cc8c1c36bdc3a96c5b1c94d1b78df7c18457a19bb9589b701306532b6bfa2405cb50613aa66cc7571b1f7dd35c21cb985c3c4d1a162dc6fd6cf5c299c594e4bebe4515135efb9a8c684329bd6ca12d0bbec09425c0e2a10b689257fd9cf19962edb8eb0e136eac6cb581db26184f5887b52ef266fe77bcb8bbf4275d99c4761f76654b8b0dfd9e7ab3fcbeecad3f8c3e3fb41c88b06b68bb8d3279b9c9041c6110747f1b83ae64825aeb4fc1e0e07c4a62f921418da47f2fe8460f9db7d0da87eb2dba77131d8ab3f21a086e097eb5cba7ea7591626b771b0ae78f0b8ab2e79fad7527588de7e29a543e0195c370b93c196fb1c5c779acdc2bd7df6a46d221081d8fa65a12fae963aa5cf549feb2442179c2608192388c2ca0d407a8e40d67bc7505b3ed32786ace775250dcf45e931e788849a55af914e949670a358419a1f6b9fe04398d36d6250f4dd2f59a7f62b185141569d30bbfe3e0d109a8d71b821822320f384581e9f6b093b6a26679923244a3c8288c290d17b7096c7de378d89d912d5c444e4e3d1fe003675bd6261ffed7484e97a5fb8ffc07b5d8d16850c07df6493e8c0091a9f1a24e03336ad3c2b07b50e6d9d6a3b8f7350950d1846488d8260817a9b4a992e44e639d7c779fc3834ab1fe8ddf4c0ad014622acd473e32df3a19dee4672e095def935d4ebc6528488b6b7de94e59f50646ed76b9908393eae2d295c3db585ec5773c8cd0442a2551d14773f49b698f71d14f29eb6174d50af670db2c3483dec9d6b2f400e91de2ebbe4f2f78d8465e0783d5d9fa7e7159a555ccfd199b71f916be67c41a11c6d8059937c6071e908635be8427f60076577c614004f8033a5d647a4625e0433ab5fa85517f152d023606ab3cf1012d6d32b894fcd585da309d6d34a0d5aacb210adeab9db5b62b21cee08513d40f1667cdcb8cd2e343a8a669fa7e22eeac6ca54ed24da2133736ad3df94ea77ccee50f48201190f4b87f5097ef0bc27dda8068cecc9fcdbd0899ebc29874d049db13812036aa7121afa2d5495ae6af5d386b1fe725a434e8d464a617772f0cad805773a909a0361c922c8166819d1ac58a61cb3c50d9d20c10db6b12cae935675e02d2df658e4f88b9461b2f03c965b6304c4e5c271484f12743d5c5244b4aa8a580bcdfe9a971d68c1026347d468eed2c77e4c3eb77d88614f56fb85211a7bcde13cab2ce8b964f1b683763832a273c05ddc3ac55d7cb7271b0e68e6e3a2cecf7e10d1480163edf5a046d18cae52ce224ddf4e458a70683b8cde8a2248c482c777cc65369de57e1a3c0652197c05ddca832616ca57de4b87fb840d7e098a8c557b4acdc6ddf9b76a172e7f95f8aaaf85c109ae56e7dc388aeadbf7cfb2f9ada6dbcd48b84efa87be2f8c915d7f1e0ca59147ef3e5fdf7736c9a6899b81db992a36d702a4117597bb0e22aea4da339bca1e5bafaabbf94c5da90b3fc30759c0bb764d70db5d55e63fb672ebe7c550f806a84dfc6f3b2d858d3cec4ec374c3249745e3fe7b08ad4420d0b51bde0120cb6a87ef6b79fbfdf5859a4753d07480d2c18ce8de722d35d2381e3d1722be8a18c6d2497e3b3fec2525d9daa0592d3743d80239a8cf31bf9aa66b32e6ac803432f627e83ef8380202145dd9acc7c04746b4048b5adc2ea2fa1901d6c0bcc8a5e03fd8f5900b6a9f2ef9fdc3baad08e8e1422f1ec9a912e443ae950c129bbbedb9810cfb0cfa059106bbe60ac7a903801a027261682f60b9f673366d3360f982b539b0f72f511e7af7dbdbb9a6bb5fdb29969d46c4ae53deb705453746017499ded7316541f0f55870fa77af091a4a76e5a230b8409ef1eeef62e9a315d5673c23139910ba13071a175009448b71e555ea3d133490cef9a9bc560f2fe47f81f13b09141cbe9654c9aad7b45268435fa4306ab3d9dd115e45e5ec7420550e2093ffd71619901f212b37330b0c76e7c95d948736f0f0b99db156d98c27b735e48f6ff10626e69d230f5dda80fba9cb7cfd20a4cf516e17b03bfe1a6d4ea99abb97303a9a1c07a3f5562cc8bb240e55769d62a3848181c0af58bc9c1e29979a7e2998f86783212bd67647ca7e520fcaa87ddf833a2f8f8de761861d16a71f639973530febb34f243b50a205da7ca2d8a2938aeaafc5bdd46835d03bdd04c749ccf8165818c98d3cff6e6a885158b5b916b4205626902d31095c2fe83d0404516d8e9b17f67df1194817cf6c0dcd82f41ae13d1edbf84dabe1eb4281f21ec2964ae6ce12d7ec78e060a1b8c866f4bcff50195ecfd0af5879cdf188b62ae811c85d96b7270b81040676d90352d3c2bee9c8cce98577874e7a6f15828cb71d6f914e88a3bb812e01bfe8bc1b4770ec978396aa72fed11def452e9c98c8bff3c4716c8f4e505e83ab08f56d04996fa185f665bac2e1f026c3bec5ecce63729a60a411db1ed55c5b99586aecba060fb79bb6cec9bf5ed9b86053a39db78ce6941f4087b837c17e0189bd7d9494bc8a7ffe11fe005cba9687e9a89348c896db4a5751e6ae8574c49185bb1e527d6ef616733ee8da0ceef7a6494a8fbb8c114cafc486dcc21b1633a1076f3f86790f2c4785e05906f9e2453e6aa9e2f045557fc5c1d2ffe98d31104083f071a82fa1b6d2c802d49e41a8206f24c4a47fb22175a11ace257cc38a13af921f293fd9cb43aa81ff08fc09a450e39185a24c2ada02f3420d14d23ec0f23c97b53362864603d852d56e5709080032bbf59bc4759a200755897989ebec19a6aa38ba660f4fedd95781a5f2d52cd366fb1df58c00c138bce4de86d411e1650fa337ecfd8d4deeac35b9343a06da1e1ff53309d6e77492d2a1f87bca33e0c9bb4226cb291e3ecd7a0028a3886d1ae562f4463ea5e688e7d25dd251709061de84eb0ae8778796027213cc41c606bc16223ae810a4986996d95676948063e90b133e7aa1300ef6f5c0392e34505ac2331c37fa99200e12fa3ed1127305ee0f506ff6309e88a8c5ceffe123865db8aef626cc3c7c95abe6d8f806d844cd229c356f68364b5a64334d5d0f1a83a4ce0c3cb61a34646f8ac44cac02a2cafc31ef74796d87756b543fdd7626ce679fd58f75cee8ae5e530e46007ee445734c1ee06aba7b190745d3e8d329d9da386078af4da534a01225b933971d79878e80ac6f6075f8f91c3b55048e7757183ebdd7cdccaa6d548ded8247d41c81b910ca6b375ce599a45e11d796f08eefe6acd765cc0c5192c2fae91367b147925267d78c905e616c63a5efae4506531ab1a00a6b26a2201286013441180dc742699ec1642c108afb5ffd9f89037b4434a91c44be10d41573f7423e47d2bc990047407714ac96f1806abdb0919b9b3d3e4cb3d495042c05de7aff85b5588bcc7efd659e6beb3fa5059009945e6b70ab2d68ea77c733b0024b2a4bc8c1e7efd1b2657a6060f2350ff4c1202912495cee36ff9c407d9d4ddbbe6aa46fbc010779fa1879a9a3d77e441cad84b7d4ca0b6130413099b3b4170e7303e7ac57c75927406d73516d9846fadcd946a3c946510efbe967965e6d37bde6274f74e989ba3e5d47e1b2a4a93a081792176c8b9b044fc79a6a1eadd042bd3c824b0b673e2c0ac24b87b44e39ecebe1c5f518033bbb646f6c06aab54dd78378e","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xe8849139a66ded55613f8ba29dad771d7b2de3842ed4cdf596ab5f78a72fb2e7","signature":"0x03735acc3dd607c78770ecd34a08abd84a74b7c74637a50e98fac69eac4a34f2cb82dafbff5f2ca6f396615375b6bf10a9bd7b216e171f4a530c77ca02acadf631c2a7e81142e05e9119a36bff1b2c0f1c55d11a26c139a639eb0fe8da679957212226184d067804a6e66857f01c90f9c309378aecc3f7529a3cb2d5da1626c8fe086cb8b3db41e20d70767cf6349f53359e00736cb5e092e1562dc40f951cceba5332d6d7ee305a1d4d53a3b2d1d4319263fc36e37a83b6a7826b824e362622cada51fc5148ebf335cc03fe08440da2dcb89e39934aea229aee13aef81f98003b0046b48d5412c7d9fec7ccf98abea92c09aa4c5974d9ea7347c4af19e545c508197b5486821e2b37557ea460854e1a307193e973d7d1c18b81d1f3ed49672d683c2627a058c61adc78bf646cf18b7360ab0fa2da29ef9a99973a50bc8751ba59065ebb44b47ed8fcc14e37097762817140f80d208571d5f509371d3893cddb2090010e48e30e6d9c3732f5bdce412f14d5e58185a88660d2ef47495804b2f177ea9d197d77e00288470b36cad26a01094fbbe24cf55d05d5a61ff4db3532202e74c2af694b4a79747c90fe2561e3771ebadef8f8d5b8eb866c72e2686d6045f9f1a8d082fdc27762708479c8da62ae692e99415522510f54172c033aac08310fed9f8cd7919d5e100ddf1d47168a2629daeefc31fba5300805c45887edce13e642e0eac6fb6fc9d17a0179ef168186bb6f8ac3dc71c3b1fb020f2e5cd2175e99fda3c9580554de25e0f0764b4eaea8bb84822f4d3f47e1c3431549732ada0c64759200b05a0eacdc780f5c3aaef9d0907226aaf00be4db941cc3e3d85807c94e0564786987732a63f89640e9e6ed8a9cdc6ce47e0a0608ff0a7ac0851264d18b4c3f71068ad49b0133a6178b4119932b38947c67f362995308ab4a7b089a2b9418c1802218f69eaa399fa977c1764ee11b851aa11bd7e52c4f4ed53e01477bac1594a4672947292f5574f2c4d1d620cf02ee7b10e791859fcced9aea2a637565f78fcf44f8843009e7c6bbcafa83d4f98cadb04750fe02d325fdc99be31ff6e304acaf4e7b22c11a87a183dcbb21413723c59106e436dd3a7e18ec6cc90b476011f530f87a058dc5c5665f2dd32a4ee85e101d8ee1952ad365f9d9e143eb83725b451e05e390c618e697f57c052df54292658db4924c6dd663a3a8bd9a18919c6bf32ff920a593335e27b9a087c8679fd6b54ebace69f726c058a417f7a0c11867c2622d3e2ace7a969b1e1476ad0ef1d2cb0b32fc7d8fdc50ad675281ad14e7b84c98b5575866dc86cc1fcf2b2b53f0f65133d6394d7d562210c7a036245727d17fb8984b618e5f5444eb0a28e300e8a7069777f9b22027c4f7a6bfcb52d6e70df15ac9427d41fb590ac5381fdf31021a96bfdf17b123d243238de221daa60c922ea74a2f6f783eccef62a0c7badccd709cd23886a1e94e1068d514bad44a3626584abe31c27743dc8e5e275e2cef0d9db3a0cdc33e951ba07660c924693254af53a0c62a728448ba1be509ecc1c04d9b05713bd21058a29e1bb5e7bd5d7a2938105ee246c134b7313ebdc25ed254ea95065e8a856422722cfa009e02c39325943ec3e3b3393d4878b245fde8fbd9a757c72a10fb08883326c473317640658ec451c23dc4996191f35735edb15cab0f68b12f1c18499a06d7f5dafa0a10ffa26b1d5e55cd8d3b5eaf31066889bc17b2e5d641120045013868bea6894b178091a4e2bf9258816a2924d9074cfa96ca3a4f1ef98e3b4aba6de6b656cdd2fa330de576193446ab6a8aef7d9ea775b7ce4a9ccb24882c6f9d6e9cc380c210f588ec9d29ab8c8ff22bde5f064ac5c49a5392c8a098077df11ec8035248992f594e2a1abf9ba6509a81fabb1ea7942bc75fa5116d566123a79ca167cdf4554a8b20e986e5e4eb166cfad65286840db4b767848ebd5347156380fe53262bd7b06a3a69216955ccf46b740a4b475fe899e7e60a7a175ada42b847f8d0ef7c26f8ce05f6573af1349616cad2c025dd2a1fb083c78b821ca2c2f4c67a19280c51815098d5914543e288df194967fa8d1aa5b4e9c42e361e46f5b5429025f89875338ce395a9cc7ff00613abbb4f44e6bae43f2573cdd7c2981374e991a3c0047e4c6f3df4829675a823ea5781193a298027b22c9fcebefcd341904e2ae9678fd4dbda4ecac0440e0862a5fb02cd5fb19262476a485ee20046dd2f0811168debdd80eb88acd1621818abc7276e7fc2c103ede5a4a71c82aeb305e614071b9ebf35135a2aca76f1e003f350c276d2e04a523c11825f5c5bb022982855469475fd50a002a73ddefae8b720e29b9f101c2ff2df6b667325d00de09e0a5761cb73f7d82eaeaee26941dfed4c55cb384828c466b5f3e981e5aa4c894599bf841eaafbf1bdfa495610d57762b0425534891fd084e6aa49003d615763ba468266041183b8d9ff047102a6fea260084c2532b663738428e4025975f9947daa90913d6250db5f976fc148227f5e8d1effbc79555d6ed29760f09f644a2aa9302616f9ca1d1999f2b9d7cf7115425f5a2323fa151a56135139daebdb20a69f7603d57e7b73916efdd13821e153aa0416f933d0910759c7ea8b1ee07cc9f0dcaa009575c9bd7aed891732944e8da71848cece2f975eb186365f34e0fc8cb52eb74f66988f2d04099d5f086b8b5f759c544751d68f34e87a38336da07ba260fe0ea78fde6b0c98fb60ad97e1a7749020f12a5e1b6901d94a0bc82e3c59760c3528b1bfdd9def6c3bd224907c9f3a10044e7e998cdce555d2204896af3ee78b337ee6a1c7cd8e8fec8c1871140bc7ea816dd8f40d1bdf460b6e61a166bb103ea68d9ed0f3dd5901855fc8fca6af11db3f0202f657743284583d414fb8810bd06274639a12f77cea2d2861f48f80a2676cad31b14309c8eccf1e060bac70722906fe072f3dff0ecbe05d7abd44eb4e7f55e0b552eb1e59e1462589437dfc57cefbdbf717dac0d96e69e6f03d1956319cd483523561044454f24f128124b4246b706a73b0b4a0ad2181726bb7b2f478986d98424f663ae53723cea6c1691afdee8142c2f101b29a80086da26c0d38a1621767594a577291147e42089c903b87265ff36eef5691fcd3e60186862ab12fe6c7c072dd18074bc68d5563368d5ad47e9f9b42b1348db074a84e81ef4a43a16d64088659937f7bfb0dd83565231e7d6bae8d744be2f23fd83520bc67a729630cf9b3c6759dea80167db2ebbf765e0526c9d51fdec4b98096a069050bd63215342eaf180e38082c7e737eea24a76fd1797d18d913e537d5ac11c45f26b468d67d67bc371cfe53ca342584280d0685c47dcfc50f5c57c4c407e840cad7d90f4990da3fc7b334f03637b825c9a35744d834ba503d6059db13231e08905640e28f207800900cbd959737ef9a0503b280820a309dec5e1b8b5d939dc6e15da19e0c5f24df38887aedbb39f3e16285352b3feb7657763e458a5a743850fa24de60a6fde6cdd18e85441333ae12e2790a7898f5ba485f52d2b84ea9f168ca274b923e05ad57dd77ae6d1e279d00cf281ebdbd511232faa5576777ca2988913d3706cbbf3e289a76195e5078c9361e1ef2bbbdff7023bbdef2a3d28b4dfa078970687c76067eb17343e48e0c08f137bfd7871eb9d6e60e3783fcad2aad678b28c54eb0efe770cf653f0246c3e34906023af882a6837b6406ddbaf7a8a9c3e7c218fa5e6dfbc0f0240eb7442c74bd4095e0681aed7b4d5970212ecc127c6bee16c28ffe4675f4f4c047d40cf0ca50c6e1143e5b80dc69f4cd4cb4e2af34408659ee535cf4e0f9a39fd65063752b29dba93c732fc0746f3120847655dc83834f276fd143dc6d65fee8ef573b07bc32b306cfce290e485db179fd9e369df856783cab9dd00e2dee82b5d6578246bacbd9b72da1a03016d7012b9fd2c8aad8f3666d5911c2dbcfec97ddaadcf79d4ca6caafac0948c921b675ee993931fa761677808e530f642309fb2cff12d26332f23d5de788185c3bfe8acd6f941fdd01efab4a6e2911fb3ace26243638a75ffff7bf96f0f99b7ac591a9dfecd4606571dc3ed0a38c4ae549c8de5e610c946477f5804e3c67909135221148c39cb7a1376c366808b8d2f56f83ee67a53edcecbde32ea714be10bffa220b5ed10def338232a913017da0b2128fd535098c53097d6654f76131197ebac27846b1198740980649cad47d1216abc11b297f9c46524edf2cf14800c33c75dcb03faac2db1a06701218c96392c2f9c18a3422effdd7c5edbdb6282643cc6c6a5cc98694436e5e5de737e00692597a9e7345369d81b4c6742599f03b60b0e3f622588808a3635dce99ed5b5f33508e2d6ed01b8e7bd669cfbf870d4b3d7ab80663c4dcc733c0bf45fb5b88c6a544dd8f6a26175550842ccdee45d4bb8f204d9f04d416de1abb04be93e439c309d9faded17a50d6b951615723790bb2e544482da73af131f7ecc18e526f8567b5f43badff21fc6fa646c06b8fa4fc77c96048a0217b81014901d5f92ef1828cd6de60ddb7a285354db5a6dd53c310c55098d74856bc77754ff78190237deaa1fb0da80d9fa0fcb3089f1945e2574c45ddca64ef3b4db418a9a875aa0973ab800fe269cdbe2d50c81f5f4077f594fd591a9003e1dba1e6a4b4dc89da3dc7e92c35262b41a3cc7dd850c37f63d91317ab715e2fc2c0f43e3c3d82544cd0e34d1d861b7b0bdc702aa3dd15d0228572b2deb4c0fa3b54384492754096533d2797cc98f1fa34ccf7b28dde054eb5d67eeb1be50fff68e7b2501d96586dde0e6b16f60c4932d3d36e780954526fe048b3a4dc2b1992a23f5c0e7d121e117ea79230aae78a4e85b46b2167f92435fa98875166849b8952b2928cbe649aae5d990e448260bb4e6c94704e86d4667ffade94f6706a9d4c9bbc7adf3d2978d23d789f6d52737c7cf9c73b6eabd77b3e2130dde0ab43495035b389fc864a83b87eb2e1bfe659ef036853fac76f80d3630887535aeb4cdca429bea1d0258735ad0ecd25446680a49fbaf6f5826a8681342e319138397b3a4f331ec94b96f93a107df450d82edbff502a26977988fc4225a2dda3c305f36faef8b1d9806e5ed5582b587040618cf7ecd7a8fa3e47993e1e86eeaf46bc74e8c97e352f82e94572ec723a53a685d17fc1caa12bb6eff18d739a0ad69c5eeffa2bc2a7f9c3ca8b2defb78d867b568cb9ba2ca1698f4dea9bec702c6e168825fd7555d32af8cc787387a85098c392a997abb53deac8915df25015385503f514da6d7ca617ed8b9c898c55f4446546ef6b741cd7c3da13ec584f8f341c083b48cd2e8f00d673db4a8441b2930f1788af1b9cbbba8d13c1c7fa0a36419f64555a2a539da3b5df04ccda263aa541dcd7f96902ac31dc8ee94b5668f702a54f33e03e6163705130a7972cdfa9618a70819142ae694b186e2bb70c21a77f2517ce22715d1ad5ed02ecdbcd26181ba3d072747ea94dfe64237916d46a0799e3f9c87a48557da964cdfb71764830ae0ea73177e965b00cc9a42446e752db2fdbe1bee8f640e3356c24e4ce6e3db355c84f1e17e52fc66449e697a4af2e8c91bba21a42f2919c1d6bd19de5ddbb3706cb83c05650b0b28fa52666b3209b54438c8b6e65db91fe16ba7cfa026e2905d60b1b5b800a6ba60a859eee1b0734738ee3c3e9a6dd61e5dde1cc2e36a426099b6ed21a2fe98161bd2033bf2a02773394b4841e045b41c455e68848c2b1e33bba5f5506cf1667df85ce87d2418feea05c68c574e58fe8630b8951a4b68c1251b77bea4715f6d45aecb18058926a0a6b1f55b1312516b28ceae1e4d9294ce79387ea9f702a7543d7e2e7874278e35d38f47ad3ba941c596d2f89c932e2ef853bc99a8e19df4ecaf66906e9577b93146cf87853c4b781d128e7f2991c385525bd75a9f0ed14e701c44cd689fa3fd5f9d6219f6418734fcc6e33051c0b101c86c0bf614c15bd611a4f5b6aea07992670d4cf4f1b5dd4fc63eca7859b5054d635c7ad2d67e07c6344e8b30dec3513a7cb0f678e5a378e75d923aabf5be2024399ada4ec1ba6b9b4b59d80dcd73a5e6d3a08181c9a6ec5dcac7a555f276490b19bd909f21b394ab146684fd0605ba4f6855a616da1b47a80b9ab6f5fe0324cadc9b97654a64d6f208595a2194c76204c52b0c2934e2e99128263de7b7bbdf717d900ff4bee52a4f86e71ea10563c90543ba15cec7b0fe85e3377d65065e10b845d35a90b707abd434423419aebc96f16e27fa95fb656df7967c7d163168e89dbd095d309421340e0e19b87136aebb5118a03ab49c4a50c1e93d0e0ebafef51fef908dda2bd56d7c5448e5d3d371d6f3b3d71b36d81dc736389d24a41f66a7f591b9910285d82b1badce347627886c1f6ff406e7696acbce0e7eff2093a74a2b1bee8021d273034828a8ed7fb61849fdeef17253c616a747a9fc5d474b4f600000000000000000000000000000000070e181f292e383b","message_root":"0x1e29d6701edda76e50b9a77290d5746f633da33df7e0318366f0ec502c94d73c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x6839f0b4ce0dfb34ec26bfe4dddd5bf79d07f9aa0fced1bc6997463209d85a63cce74748c6249c8fe4c1266a17e16641287de94d77532cda0fac6f7f38fecac38a190be007149134b508e3354f07243edf0ac11ea1c48ffc9ae38ac5e22336a926ce4a20f9d085ff7590abf356726b28d6be66986577bff5d28d18bb4538a96da11f56458a12203a0af2eb05826e01b4eccb7016acbf0b8c6250c1abeec58027c61043753bc6d8bf94ef07b0bc568d140b29df2d608d948187a0fe4ab7dc10aac88ee658a32533794cde7f68c2d3aba778b09305151b72db64923a2937da04f703937b01afb9a522838f8ff8b3d6ec14d42962715f3cd9e0339a62554f6a84afb5ffb96a416b8ee0ce75e2c5d17da0f628f93712a1aab6a18600a269bba4a807c84e6671c7d21bc67866bea28a09d2497a6021f74b34f0c708090698d21caccc08745e0723917c4c638d980ea9848e77e62eca6a319a8c2e86291d03a06f097c2122ec07ba344dc145a4e78e655308b4535f94d83094450e80929e06354e4dffbeb0c0b2c972abc54c16f1f288842f50c20b249d9a61ffdd1c2e2412e6ecf968df516c2dc672ab83e9ba1180dfb89c28167ed833189fd2d28c6d4c3d89091c1d1806d08047ece10ee74eeee2fc92a7ca55c4ddd89dd1e146c094f0d29a8f3544f4739e24cb62395ef20a87206c7b3763047779d688b8eb1cd3f99c5aeb523fc934249bdb980edfd9e9ab4a207f6d4778b0fd90382da427663f238ea8db6238b4f9321ed07ab4f6a8b1262d29702e2a4c5e0cceb6ef547723fa502d6d55cf7f8484cfe8939dda23e29db651f550c9d90c95ff31a211773ccb2bd06ebcfe4289894ca0e46ac2aafe41538c069202fa0ff1725000157ea8fa396d14e16469e7a8c60ee38b947807320c8bd3e4e0e0dd54b2693e5773ed7785da6bd47c71676544b36a6d2c782fd04d3fed681a7330309f3d4fde63681b24d5b4d658688bb5d27ea0c8b9152973baec704360483ab949f4605a29cfaf292639ca1ef922cece8d072edcf666088288859eedd2654004384221d63e5d8b78b1a5aa6d26d0d37306c746642bd116eb73c6bc4cbd227b17766997ba6087034da323541a5b4df01d7aa97f8a1ba8db12fc9f97243f217bcf1f376519d0b1c1bb2d3556b2bb9159ef4a5a9e0adf0f5b109855d1dcea9b843b951a773c43dba23e2f57cbf8e7cd9badf7aeca9e18c1a2e640090589f0b3c96029d53ccc7b902fefd00dd9f46f6421624bd6fd7c205afa7d4bc3f3d40a77176b99e423bf67c43bd331a25b720dfa3002204c4b54a457d3eea6b050463ef3a804f0f7118a9811a8bc474c50263c76f10f4bd3387c42304f05103394480bd007a86ac581e5c73d84bc27792f932f8ab3c56282d5d5cf13eeebce06b1097dfc78fed081123184b42a238046529fe1ce446da50fe4782764b396305dda7379ad9582282a8e970c54882499ae82335f36e93d1ef913e1b70d78da7114fa7f54e650101ef6090be8f719a247e205c8afa5de6a48b6e27baf03ee328198d80441b97c44c6ab9b5aaaa8d74ee18600428862b337b8f70bf417cc18134fcb1c305cecfb2d8dec99e903545f4be42bf8804f763cf86fceb4599e20972a383c33076f2b932a183d46d359b88c69b2986f60ae5d1e55c3a40408841aa050a9a1ad21a7bac7d224311fe4512d717a576e1a2566e14790684b103ed1df5ad614c04a5affce3bef5b1e2e346283dee628d2287a28f4f718e651f83a86a02d3f76276e7f07297b27ddfee5044b30170dd2b3b36cefec5dbcbf2bcfec06109fc4eccc8be6ab6b54f2042a38f77bc021ba2d15634c0533ab7d3abcf275b402f7ffc3028ed8eac106183d50c8eb9251ac3c7a46f79bbfeab23ca8fa3583d326568875d030af8a97040a4ee4846592f03a9b689fab11ea49f5bb21281d67309198978447fd9a058fc917d6896c87454a6e0a90c3212e68c152f78934cd5084c299d07ed4d4795a82f53bd41e12ef1f6c27cb57a316899ce9c1707bac47514171dbc122bc0622a46040212fc3795e355e6afe70200980f5ecda4b557a28486f662c95c00d48ca3a3368eaef27783d82c1a9edbb9b1654f11145c0d099b17982aa5f9fd6ab9a1b21ba495418bcee40e7e1f977225994c1332f1bc01c13434fbcb18fb8261184401f27c2796d7852afefd1dd7fb7023b1663f2c75220c96b9adca2fa068403c221f7a3876d5fb08d332c538fe03f6064afe198d787c8d7f2c1b9b731d5211fc23d48a1f6a497a7d038c6dc7b38a3f993d9bcd0b09df6a0ee4c65b89506f29613939c7e8e5d22e551ef966a227dfe9129b129b9529b4337f9730e0e0a94dbcb23ab6da2a3924b6983f363f6e28a5ba5b10a6e960e329d0f636a6d70f10b225ff7392c6089acd6334ce92d77ba938b18e1f201ae6666d3718a4e7404ac57ef4576b2860f2c1384d1957229febe6b8598a9f43c89918d572f20cd1cadb9f5d52e866db80e7aa028a6b914538fab4bf06ec101c4d4911ac0b049050a331cc22b79a4d5a49e4daa2535ca2a5d1e316d0150bfe68c3c360361e43f105976bdc79b07fdcc3be17660c9a67bb36a0a230867a8a8481f271464c17a33b69eedd8b792f73f3f0f0a8a1a2a2203bba7d3b5c86472666fe1808c9f5e090cd4b1cdbc920b231fd4dff83936929b7b807b57e143e39a35151e5ef62f5c15ae9685c677b180075748ee0b2a474309b98711c1a56934e7ed1f6d74a98203364a4851c0ba94ae38c723234b42815cbaea90cf83b345354b55c8c3fd0bb4c5ec8bf6f9b136a1e450d8af58ef06b4aeaf66df80139518688bd2b55a98ef8faa23f94e9ae593152220ac3331bfb22b3d7ee21aee5e19f86244e4de513710cf7b1679e56aa3cf444c61a33c9976584604d4dba2667fad0fca9a61a678883a8b65e3b7b0a0ab094454c59e35464b9998ad55f40a95d9038e913981be7853160ce71a8fcaadb429f2886a4a09ed930da65a730f23572cee0ad2bd05a328469a7a56675613da64f55ad47bae62433296f873d61c8744a173e7cd09a6234c517c752d9f6fe01f832ec0124809e0d680e1c1a1cde4035b4509b25555d76d8d50133c82e9b46fd9d52966a125de73badc47eb1b77308c28011ec123a0174c7b22a67363ded673dd4987f56265a1873b5fe23c77a2f39f1763cef1954783125fc42e25634b6bcc0ca0610de573a61ec9eb19dcab9fd59f2965f7e83a69b30bc6175f3da68ba5a1d6286d223f5d558b0812979ceb70dc60426edb31825cdcdcbe7f7e1bab6ef6b8cd4303f718afadffa63a58f398758728240fc525aeea2508c9fceb5db8545d66c85497f0a11f8528a084604b7c1aecc58d458ba1920115d62d3a4b9f7f191caa1a6d87b5abcddc1976ab0d85a034644fcc129b9a4a51e5845f33546065d86db231af1e638f80d84622c32ea8a47cbbae8d7df767f16f6a8c74be957405ab1e1cab593145d1af9eea425cd5b67123447b7578c44d7beafb646dbaec29113dd3160a946158f6702586047b3732eeee709d83db1e402adcc690daded5372288ef97b6992237df9aa66a3d3e1c3a37b69db0ab70681ee8f6daeb184636e6167088edc45f5aec8293b6640ec76ea4ed9e315ec91f89081960c4dd50c70e54cc9fbc","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa44d52f956194167f4d75b91b16c419e0818916670aa793ddf08677e4a4f01e0","signature":"0x0417da5ef40a8afb1006c130ec6159967929e0fc972d4c138f95192020497ade0afaa62f3b65b68dc9e8407420aecc300ef7ee84f54adf13d32990314022da6dfca1beec926ee9c1318eea6249de922d7a41f54601df869b4dd8c0388253927ec4620f0dea0c75a36a4f541a297d65299f32af194398d0041cc286e7ece5c6026d6e58afaef43aedda4838f249e592cb8dedd678833a5cfd19c35c02088a49b05ee742decb66299d5d28dfdded2dd0a5a1548ebd27c9452912907a5769b5fdded2086c626b18a8cc958a974f1d41058877bb45d86c3609651f98e628ee0bfe30102e60ef76fd3377b6145f4763264ad80d7199f8994bcaaf6dea3a7501059ff874a5d243cc45d34ce3aefe9d664afcb51a6e73c61c8926304d56c3f843cdb479a7664eff48059a50d8aba816e50af8a2a221437f9e421405fed8d9913203191c68c3e3a3181391ec65187568ad23669734ace555db34ef2b47a8f4fe77b196992585a07021c0d1ba561e4145280ef20a069a9ced3805688c8c1573996bf3cbcab9ffc4daf93d45099c3dd2602fa7e12e8df081aa0c6e7131ce10345a504f86ae252572b0feed7cb040cdd3207d263a3e136ac806de2321ecc22a8c36ee00f3820e01d2a472e2bc9f037250560095c53fe9cd9742c85885fcc303919469801a7e85e963be071987a6117c12e027c04b44dfb9376cfc4c07743419b46d15710aec7f018a34508f0fb57ec7e14d217df770ed33ac54f67763c9f488fc31713b0b99b340a62a3efa048c736b07a998d3edc94709d661458070f665d1486bae4024f161a5ebe4576614d043c0effca3937ee06f1fc51cf0416eeec6f2eaac7ff673b743866a00d32e3adba3b997b9f6de2acbf6f093207a908dcae096420d237ab6e63ae6b515fbf8c9501e5e523d165ea3d20727b32b183c6ecb04260d978017f16ef2dd269f5b72e3f08afe450348693a772f5a8a6cfe5e5ff4f488fceb4ee9782c41a74c5bb468d5c6dd7f62adc07b1b1ee268d554b51d2fc0145ccd481678d513ca8a774ca42315eb49860e7c697cba6919fdeae6bebdd673b3e61c1fff3a7cbd74cd8d0eefafec11ac658c5945adcbaf93244ec59d37641f2851f72fd0fc993c8c9e62482f59ea3239f4e034e93511ac44ab3dcaf6e1679f6933a9c78b4408dccf975a5ba77553771072bc4f3dab58538822bd9e2ea5eb99cd6a80bbbdae7666a1714fe2110919881c6374fc48bdf0466626615fd55c8f91836294f14dcb9962fbc4a891e2d0a1265b842af646a48ea25563125ff135f41d801c0b154f30a3410755378f8433d6b5d84ec99c690eebca78934e7b1d9f1bca5eef13925728c227e33f07509c24a4c545b2d35fd840a2b69e3011c7254fa90e4061c1a05aa8fd7a3ce72e72b71c7babd4bdbf6bba38d52916058ad2ba5a80b7ee4bf8f65251b1583090b23182e8b2343ea39c5438ad52321c9c2460e703750c80a765a4ffe0277570f51c3217a132a86bd84819bb62082193bc08ce7e17c58aa55a8dbef3b6493948071510061f3b57c7142221cdca424c927635db298169b67ecd8ebc45694d389f0c6a729ad922347a815c4a883d7e9768b80f54c270fb7770bbe93586d987f42a8030e75dad05e04b1dbe37bb45083bfe1d5f2846b95cbd6686bb405807ce843e56b1b77cf9a1fd6594ca4a01bf600a8557680a8d035e557a3829047f4440270b8b8c55c455eeec4295c6ff64d6f97c6da9c163c3fc96be1c00705d8ee7bd510e27abfa1bafe6120a2f88e888f8062f3f7b39dc6d5a6f8ed2eb5c047272c02645f7d3dd6855175fe00369dd6cab5237860474e3c8107e3e8247bc20a7efe59b077e40540450d7d20c9bf9106ca9945115c74b0e07776cf72766735023902527e4d74d81e960175f41680f712c7f3d4f8ffc62d7fcf6c74f7966ed6f0dced15839426b54c6717e8b233e0448258217f45f5f1eb5a2a6f7772cee4235b52f8dea2f977ae1ead86e9e1936e4e59099bf25cf107ba4613ada138883d7a94d606ca5e9bf6cdc6eef9e9b345b0cd924d0a35129314dfb6221696f2fed21d37a4a1a172054a6b87a37024f6b6cec99dfffcb075a1d9f53932e0fb840887988d38630c1b7b2d953ca608f79ebbbed0f60ee5db80e2de31ba4fba6c2f5f7b809da20778a57510a4ac47f1f76a787901b32ecddbd7495f33a179cbbab9099868c42c7b67fefd4e4fee7c1a55d2f85a9dc210dd245e023e63e180bd8a46b5fb0d85afcddcc878219817de10db17819bdd2c85e542c2e1335095b646578ae1f45f16e6613b07681495d1b48c5db788be06fe32326893c956ad7bff00981273eb6818cc0b3529d9862ce623f639acab01388ebe0f250362a1c105297a747e1d7bba01f287725f77aa55b577d89cd8e486aff8195e284625476671a1b95cd579ebcdc7c9d99b746fd9cb4eb022f064afdbe6b1dc46a487b068f5214b5d863ab43a5edbb5742bfef92fcc1cb88414b992cd265799a7e247ce013da79d6aa4fee62553575277681cbed390326a64a8b3bb2b737ff55da6812252983464d36b2cd5e243904d3928ed57bba11ca3974c00b4b2ad348ac939d1520f192c5f6de05c4c6323c42a62fc6e19dc26db4dd2fe9e29ef171a7282ec200c9d08559e975ab57413d7e53a72f8fced1b6694669ef4433de830e228fbdf3eb266985ff1a6573d79977a309d4d8c55abdfc1938a8888202da8ab1c94904ddf8f542b95c5bc8736c0ac2770bae9216d9492ca0ef60d4061cf80b2b8417d40002ab1e4310ac7c38eecdb8bde63e213c8794ed0b5b9840a45ab7d8e7eebd608eb9d30667d1cd32275aed0b16ab04b99f5d48a7da2c8fe3b14999b08a37b241cd2edf377db75bb5cde99efd9a544ace791e3f45479ace1177cda2676091c0aa4d7b59ec01448acd6437d4764048999085d693ee07ee510af622284dca3aad98336f3a4d860746027cb1049390c5fbd990a4c1901f448be65dad1ddc1bc67dc75404299258805696191f96b4e021701238cdbba48f72e36ca77b3ffa2617d50534b751b9e7c8205693aa5dfa7b777fdf50b36a8de940a46336275752e6dad9e4baea34eb36d76d701f42620e46a5c309281ec2e522be5abe1b1810a0d8ab4870aaab9adde3e72d00f5bbfe70e4d7b1d54b97729b424fbb3bb96682b4a233131629d46a8cdf52d61485a0a1bd3668f8de107a5d5aa7312f777392ed7428d086ec4f7acbcf6db6607cf19bd4de3c64766a029cd216433214220b30e2e862e010286fd654f36945f82e99befdaff5312e7210b29d21c23e633944b34f67ac303e0894336a327a0bc3dd3ff1ee80756f693b35a84a3b023cb2574bcdacbd6298598838e710a7be13cfbc72b0abaa6e8bf4f36b838aac365cc299f6829b7536130f0cf89abcb9e54feecba4ca314a69c275186ae184fcb0c4f14c2b3c7f34f94ba31e303906872005cc659d52d1335dc0adaa89b503639db695599e6149474fb9c392e3595c91eb599a5e64c2cbdfb7fb9c4402d4d54d433345d3210af4e9e3ed08e124248a28e3403bea64cf3150acd0295576fc38df5061cfbab9fa4a868777e72c3f4e0b84c47bc2b56873b155f6ef847a3e484ebea27a7ec02c1f89d3212734d011488921c86c36bacb3d7a9b4575e36ec0b208ba66c892eb368677fea12bfbadccb35a3ff652c458b4a7673e0eee43e2e0d5e8e9566b43b68cab4a8f544f2f67152bf1fe8003977d235fe0009ca2c77c50cfc9df339e9eaac0dd854c499f17ed2aa385f2974d7c7e6dd3a2bbf000a7ca4c226bc51f3a907eeb0f9dd3f091fba07bb4e93fd1db445335aff9c5d405aba1a813d7d6338a532dfba28cc6ab7bcabf5c374ef8639695efa14d38cbd85acf88c0fc84698d6a20027390c77ada21c421b0a24a4069eebd499f15aa6c80b4dc885822e733fb1d914146f6e44699054041172654dcf2894827558d1f0e20430b3ad01ed8441157dc44a58ff648a39dd20a5511e9cf7aa65686e1a869403f8b22fb9ccbbe593a0a35d1a86012b0a1d8bb32aad26a28b4c258cd81b9dacfc5c3a0fa8cc409c84b60a629b0b0f29a124eda694bbd179b5471252555bf0aeca2c23bb40694e2fb59b422b62bac7caee00e8f1ee0d035ce28d1741d1aa3ab8617e8a7d9217073b8dcaca5b44a02eedfe3ab52ddaeae84489a5e456d8a0a6cc3556c6896aa5f12314c7bece55bf99f876855b8d132fe94553935ea8047c2c4c7dea3bfa6617530188aedb526f9e7f6d3bf702038ee132a989d3d469e5684502200a12fbd6fa5792ef010dca2536e0824ba382f43977f78f164d2e9e716a2cbd41deb82fe81ca937e2c9b36095bb26a4b7167591fe73d0036a3e442ec9865c9468033db7db66c42b32d68257d9f9861dbcfeea446aaf3bfe29614cbe7b65130a5f618e3834208299fcdacaeccef43a3fcc1062d043ae4d865149e75e124f49f8ce4d02af1bc3614fadacb27bcd531c531a27b6f2fcf583bcb5bda9cb35017b69c4d515f9b93cd328baf0bae9df154bb0985e27138ee2af637ece83e27d3db7a011473ffff1dcb8f48329465e2a643ec9b8b25d7c8bec630615728f7836baf65bd39f9db943bb5c4c5457a9ca6298f780573a5d7345f44f561f216adf48475e64f6c6c5d48b60072c83825946f06f0ae78605e25133ac2948e5d2caec5ac1995bcc03f8f963357b93d59b4fbeda400977a58df12a2dddaeb330ec5a9fb8518974f1f7efaa200aebb25ccf0344dc572ccb9ea9af9adcf297c41460c1e94761f8253aa86e44b3e59aa198a6a32aa2b3718190f8ce6d5a2fd598743410c7269158dc4ca289aa1b8d7b0d51b84557c43470d18ceb908252d7b55ca38f99e51a468aa4947f2d1739763332e4f2dc411bf7cf130e239b036b24ef51353e8db5426d84a65d26f497341deb9ae16379fa3f2854e0c9c90281c3c7ba0176fc2a184ee22f5b97c91a774fb682b6f2ea81a444f884c9f7e8da333080a3e0784be2238d203b57e57beda2f8922e1aa880731d0d8e0038dff3053e05c8639e5d579591dfa3f4d455bd8c87a9bc80de06da83b540bcdefbf557dab9839a2230ee18567cc1cf39dd67d22e3047a64371c94a661c37b0ba7851a3af0d5dddaa071548c3eca0881368f9d5274fe95df707641d2ac7d121920231ff3034be744dcff17e55ecdbd73eb7090df693362747858c2fbe7373226f6ebd346d295a2d0ead4a9d051d8d4a075604d9930d3a0e64a2d1d4662145da34f1a01791b3ab4d01c176acb47f947f6f23458418a2c58faa721b241d1d49757d07e006340dd2393ba7e6618e7b35b2db30c5e2e30149bd6303e0f36debd3ccd0bb29c57a3c07f60dbe75c463ba4ef78ee9ef8c38bf4cc9b810bc8019b33d33e079c3f8533a9d31babfe3581409da6c21760b66c286b3fb095e76c1ceaf9a7c7acb51f732f12410876d45b0a2e606d948f939511ac3bd15485b1c46c7c0ed00c08392d3a3c75dd2949985fa137e68446bb434b6d1dad33ffe4d8b2e4043a010680da26e35569d305c1db3ea9068f7cbc662aca1041106b6c24212a36e140a074cd134172ea146bc91c861f50b6f228c0544838ea7cf0f816b82f71f765b5226a973e363017d1e319a98089ea007aede5213c0673acd95ebbb5e12b2cf2e10e1a0df8c76887b134ade89a728185cb6d555996dd32fe56a512c94feadda973352c7d4c6c83457f2a3d51d5f14b879afc002689332a00ee5b251011537b1e8b43a624fd0b3a8227061cf78aa143860075a71a7e065a6b745de2a3f803cdd03817efccd6213abeee96d9cb9ef411f6129a76d1d87ee93462a6c5c099d152abdf5c1def700a7092de4e0db16b5b4f686c9dde31aca6206219958914b07ff58bf7aaaf6fa717082f5d7f4c7b508cf981ff07b30cc11e089ab8260a630d47982ed5a4ccea37d752809d2b7c6583aedc21141842ed261e7f1e7f4e0047921df8ce02e7042d61ddebb514b7724c639c0de8dd51c730298afebe9f9e1290582ac3c4e9bb399bdfa1a8e176452c9bd6a9201ab76bd16fe6e0f60e41960785a65c515b400f58c2d20c4de098ff5f7c19a7e3a055b44d203c282e9d48680a34b36e14e625f2e39a4a199c140385913b0bd7692a56f3f5dd7adff13feff12f9929061dadc2623a2ae48c0c03a3091e6d779326168bc38546a6ca55de86af9f2e5dabb087419bf09c846d8839311f6b438a26963bb97670a08d9038915a5f976a7e5e2fd5ed3eee0f2c4150a1011fd17ac9e8d4dd8c89e77138d397ac42407e1c62f7745c15ab71ab8e3b51ed4d8b7e2a7a8d25a62b97016a987d5ab312fc8cbcc6e8940f1c548f6f8116734c606772a682fdb15d552d00e7cd61bb830154d1105022008eff73efab5f0f97cc6583a37b121d3105a44a6eb7da7810aaca6b0a464c80db090e4569b05860628abdcaeafe054f6bc0cc0a1e585a959ae10408393a51677b8513154da7caf4f65b5de5fa0000000000000000000000000000000000000000000000000000050a12171e262d31","message_root":"0xad413113953ef31f7d2a30752f8a56868063092bc4f870d7b32c516f54ce5625","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd074313f70db545cd19ea053c31d752f60a19645875dd22381bdfe7178d304f1fca1884749de6c2b6d8cabe169ecef018159d9774c9c87b6446d76cb0ca90fbec0c38464228b05ccecd231d0b33380447dff63b91312ff995a06459b5ace8f7faf875fc848bc7ba583ae738cdee274972bdfc6be227129d9ef7aad4672101ac5cd403706eb43615ac07f0bf49f93effd6eeaa50af3c7617b58149e947731de1bb276c14d86d9492e35c42da9645132854123b88fa13added82aa01f3bc21597ff47c0b6507808fd49350119171904c7947aaac5e43d3a4464dcef8424934b450c28c9bc2a7827bb7d3c45451b6beb454310732ddc1548f99a78329c02a4487522f7627d2d85671de8f2a7cbcd397a160410c5c39ddb2769b05fa2e225fd82474aabedd8f27de018d977335398541df86cccf2ae8408f58751bb663779e2deff1701aefe7607d69247e786555fb74da027c4af9e5f950c63410d3326154503f78ec831db3d34422d6f9a5bea19036f9e34fcda271c104d6268f3c9ba6a0cf07c8b7382fd72fce1764680ffcaf1dc0db7b02b698fb67236babf67fa824ec56a1b6ba22d8403fe9c7a6fc2a5379f8c2ef3c17ac3de5079fd82b11b9dda32ebdf63c69b7eed5d24461c7f02bfcb982b8dd99accf072001f569c5f33de420a49bd714df7948ae3681318c5ba12baf68d18a7e31075769c6ee22752ed5d4e90b9f679edd727d073b92a2e482069e9cde7cd571741ce69be0688947ef9a3ff42eb2348e621c41cbe6b3401836ef52985ff953158d6adf99628d3e58a12b5ceec0225f97fbe6b3598fba57c53182bf483f09561ea1868fa9e2d93c0e5ed30c48be52b49fcec9dec2d0651d8aa088211ad04f1cf6b8c97e378140c0f273ee74767d0a1df2e0c95929aa1dd57fd1d05e3fffa6311b5ba605e18c548a077430a974baa619ecb8f27410efd533a3d751fbc07e33055ea01f55e8f540724b017fcc4a662b47a3c8e92fdb23fcbe0b32599243b5c0cb2035467ae38b3d1ae2cf1e3748a329cabb174f3287a65580d7ab83d517c1b091ab7c4e8a7f0bb54b2cf88006ac4950c93e299183b09d6e7fc3158a565001436dc3242d5670bcf56ae97de525392e0a15c7075d06ae170c163f21a38f5f0ef2b7fc5d3606771515078926e252398be611f415ffd7437e323afe37dd8b7fc29f9699228d1fa0ae83ea7522ba15f3041732d67224b05847b5b48d3d4c25b74e302d181819abbd16e5b89e3d0b1eb74d8eb8f7030d924525bdd0bae39ade1c41393f45f919de51bb5a6fefd318cc0f246cbdcf5aa3ca376e9684849063d0148614f54f4ab650bb722d8b5a2454f327e4889c934ca72140900d95d980e0095bca2404f881c7b1646b5fd06d4ab6ffe043458ce25a8affe914307236ec1438df343095ed96fc1df4bb0184c1fcbcb130b72b38275285bc118dbbd71a22050084ecdea9a3aee6b1f5db86a13d9b8ecbb634d050f097f1fc2d725ef5e32cc3bad04a0046fbc5b9e155f4fa572eb0b70eda4041bf2d2d8cf9556e220393b9401f0fd4a7c1b1b8322751ecb45c1d6cbfba4b06518e374875ec4c66ba192fdf5dda2e5b78fb49dc015f036936e602c4965aa155769a52482cc51d5b7c3a1a79f6aa5015d462fb1d0f15e71390b20ae6126c731018e0c7313db8c5da5d14a88a66cd453d02477e3fc99314b40268b417130bb4ca68af0ba1652c8d28445b2ffc4126804ac77bd1acb3cd3c83470c45c8dd106787db5a5f15fc96ad681abf07bc052b4a554ad0939f9c8a172d193513c7b86edf0a96da3802d08fc3f43364e21a0c48903d2213e48267b11afed691b9fc535b1d666fddee9a61e58890afded44668d2da4c32f9d07c3512ca1469d4decfb27b081ae31e93ecb5ea612ec358ea6ecf710138b2d7a6b5ad2e102bd8d1998ce9ad0669471dff1bb012e5761417e13d7d40abea91922b31ab9149a09e8124868aed5b6b602f95b07488ca84477d5f5ce9cfa2d4d6dcc50ba8b461889c41da7dac870fb796c1975d8ab9412b8d8a1bce31875fa5d03716c372f1597e61f7093a8bdf6a618fcb234095a8cb2fc279655721a789b299d284f5913e3778eb597079e7da2bb37e0d68c3adcafd1cc60002187c2e3a0667dc61ac02b5d90b0e18a8d21d85d36cd5ab906e49bf403537c1c3d0fd456a93a6d93b4b079851060c057a84af19b6858f64418509030b50a0bf7b3a38db644229ae0775d5011211c8f8c3083e0808bab077d5e5a84379714dd5560cbd846e54871aa92c4d3b6a1172c43b98d68768b1828275db1b03923bb8d0c2f8ce1523f60f19f8fe354a1efc0df369867d16d8c1d5961057e97fa3a262fa6852c417fb34d9b55dcddc13f12d3fa88ef85ecc9febb5717999c47232f568ab2554767838edb1403bbc981a3586addd11f70f7175ddfd46318948178f94468b64ea93ca205dd0291b5802524bf7cf946cf20f817d02fd24ff7a8c64b86ab899b6f5c3c6ba806f85081407fc2f73e77179b3d69eb427d5192a6053fe4362c553224f6c9d1f883e909c24240539ad59adf1896a3dbd137bbc1baf2920e0758ec650184596e9c2ef50e56136a51fd694c5341d591940364c664c9d740ed0700e39d239974323d467b855763aa62e934c1b604527066ea093819c448ca029d06197345b2408ddf7aa44983ef4841d59ef5524280fc20e8be2d2a0d4554b956eba1af381df1b40de1faf3867a7434fccb60ce018efdca2a83c22bdde195883bdcd72437a1fd2bdc99aee2a10c888cbac5ce86366f07a21aff181a20ad40194ef054de14fbe730a547661b3308fab2ebebc4fa87ec7a4166b1f6558a51fb10309c2e0c82007fcca877127a1863366f7a5c9a6111935f516f9459e63d19bc26e12cef1aea7fd29d242e31bdf9aa8253f1107c91febf22adb85d8613d77fab7e6753089bf1e965ec30ab7079e4cb531c6b5d3a9304df78bdb070fe07c3a4af17de23aaba9d7e5246d04cc97c40128a41c6cb470262558d003ebb66c17cb7ecea1686d08bd1a9319de94355eca7057f6f4a3f427b8d0b06b4b6ad8b2cbd90422362318eea152c5571be56d218468a354b576948dcd086241352f2f24046ba738e1ea5dc27f541f3c952f89cc6c0e3c1091545a55a9765ed3fd68b49e0544bd4d2248a1e408aa372568b6b7dd2e6095a2856b4d6925e882f8c88de8896d9081581cfc756473ef1af17573a3e9021152b390bf5e6b8c12f279da39945b89411edb305591ec840c559592b9071521c4b8c2e1e97745dfce26dd05283825dc521eb462d8bb9c9c6180a0d61240762533566ea2adf19490f4d762e901261f7340b8ecbc4f12cedfa9ce27dbfda7c84e2dfad3264f549f147b488dd8bdd46ca7668197f512c160c1b6e44cf353cdcdbd2b464a12adbcdd35ec050d96ee8d4230ac8b8e777ccdb26d0cc55aa72d7590c4e284139289d22ed56370f9e3670f0327de0319d79f505aa2d9e9acc82ffd645058a215dd7118c95f1579fedae26f664b316601a76f6b809d05f4beb13fd6d946f42a3805f28f1374015a361f3d7c819b076695acf83291d2e1112ca6ebc721178978570c5a1c7a904cdf28af2e1cd234125d469dffa288617ed7ba4cdf961411115536b551b5b725f38b90c672e2fd12","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x86f59f3287e6e678fd5c74843d925fa0f371926f95eff92c60515804d115af09","signature":"0x8378972fe4ce92d98d3b0609891be24af50f04d7069f3bdcce4e3af1027960de7ea86164657e8bc95a58cabf3ff434d4db4228063a4dfd294028a72c1596bd89d9d6b92e1f9abddc4665e899937f325691ae6368ae2b0e8827f130cd9b81fd2ab60863383859d39e38223053b48986aee87d5214aa90798def6d3ca58ee0b46d91f9b4f06b3531f6a3cb856bbb28d06f1628dc4d7cf649d2827b3cfd548bfa78ee5b3ea433f408c436cb2988895500ac9be241f3eff39a6394047f6a58010477fb998858bba334594b86eae8a502b976f5b19dfa8e2344f616d1ee9f9e28760ae1527fafc48ee8dae62367e5c56d13bd96d4b564780c621b910f2eb720d80c11aa6d740a6005810bea63f7f114202453bfaa8ead0e65961883e819888c41699f3e95011a6c0d29ccc8c997fa981a01f94fe6eae6746d2f110463be1efbc4ff27d50f46aca3a3e995b758f9ebcab3860475373d101f5f532b0de9cd1a1b2ec69066b5420eea1bdae19f3f0c053ccd024dc62f264af512dce657d7648d5a05108f5eb9cebcac1584c2532b666d6b2109bc4dac0078331cb1afc263eb2a71a0e16b3236e8f9e847fad35ed6471a3ef885e7edfcfea1d56c990846ce4a55e685e5d36c365a0aa236152b4a60ee8e01e070787a24b768680f33b0d06c16d94100291af4990d6e34befa9dc19fc6719909034526c4d50dea936274303b492b823d66df5cf750c082e37389913c2abd5b5b5beeb08315583c3479ccc3f2f6297d07ce2a5dc4b25e813f0eabb19a6462d7f655f5eff35f6f05c665c9d90f239196e5287031a996dd7ee1a8c4cab30cd58ce84ea4db56226281c7d8a03a151fdf9c6053dc0bf75ddbe995b011da3d37ec30bf28980b20b330067d87baf9262a03ab83a259a096696dfcede9d9febf675b0ae8060a2dc144f821afbbf6450e20740ca1f73dd9f051b86509abcdeba93271743e008fd7c70c127d6997ddd610da4dc38dfc310b9add90c0de7579d7e65825ffbaac224c9f421541a2006f5a1352babe642c8d2bd2e8c73e0995c0a2ace98964a2dc84d7166aff9559717383b7c608230f1ae8f221ed5b6b359ffd5bb47c03308a52b190a067e5f4d1654cac48281ab284ff401d54f47f409ac2b5f890bd40676d0eb0dd845158b831204a0e429be85db8210eadf028bbfe96db1825940c964fd014943dfd2639479df952c71cf96ccd62ea1be39142b35f37752e72eef82027417b045e99a576850b17565442ce47dd36056a09759fcb95c4635c9f25a375584b40116315cb7a9a78a1628e170eb9dd73373725e3520ca5e913beca98bbbe2adacbabb4101f5357b833f352b1841e138fe3dc7df366cb0b3ebdc8e3f803b6797ceab1c279b0797a4304d11e81e1d97e34391e2e704ee75c5a0a1f5af2c9e1be8c1e35d6dca46180721ec4b3958bcd151831df83d36ef9916838670121479df50a211da9222b3dce8b1fa6a01639ddb1d008264242630c3efacd65db928728143b51e0b7e7757c7726da34a1cbad51e4ec77007a926ab5912291e537f830af8e046d995240cd0efe2f415ac5b7925b58d4b0f19479b504d9ee1a8d2520838749804db93b9dc24228408e7c56a3a407ec788a15d12a27c6a2ed5764427cc3404343666d2f0472114af59d42f4585815df4d34360b19202d1fc5476d8b1e62979457d7df0256a1ef68607dd3e4d4e6649c17770940cff86624ccf6b97c141f72041f0acc5e847a4db41f56f30d173584153328bc85e115bd1e06c42e2faf6788a64fecfd7ce2a7ad97eb66db5be87def4f0ff6351f612095b423465e76568eaa76c0e54f78f8ea9f60d0fda17cc7144f6a98068fa9e0ec0bd7171cc32d1fac1a6e9bfa6bb8cf8b1fe8ddc771cffcb8f6b5823559d09c13736ffc011754562445a00454b9972a5a3055a0e106aaccb5fa1d6ad2b60b5fca0c325ead639ea2409621c3bf01339cbd4a8c108e15ef6c1cce8fe6cab4252727b3d5c79d839f9e3966f573b0dad8250de94750fc9b6ea8deabcab9f745ddd4991c65b83a8966db5d25491842cfd8d1472bdcdf4deb982216ae03e029af9f8ebaa36f2939814af7e8871b51dc6e8c3cc3d5bd77dbde2303e30066a1c2a998dd3343c0086266dab1e03ebf3402ac129e34fe37765e845f96acc8917be8014bf85a429177d1e84423e5975ff13e7146efa3b610af411acb43a2eb4e108f6385eb28b9c9731ce4b938b35e02731e611ea7e140afe4c78c6bdb5fd7ace147c253a9dfcebba4a32d10708ec4a48368825e42e94851b12b579981800023cbfc32dfc757201a242b333a2531124fd0b6a23444dc62bb0e021f49151dfe752c5490546fa9d5a99d05b2c18fdb06f376aad470fe9a0a55535440f0dbdcf8481c3e912dba9f9282117209a400e84789a41f7dcf977741a65e087707e2e4d45ae488f41a63214e0e3cd3fb201e10e0326463a398ca72ac7445f34673dc04755577221422d931acbd68a21b60c058e65a4944c3566f44ac9a8e0f375d6f8d0f4da00140aaa38d08ee11f979c2b5e6938f51b6cbe0b17f6f82797261bb30c6665a090072e380c03d66a26176d9506e916dbbed4b13af1a8934d757b087a698e00e4644010e1ebad513d20fbe71788204278821afe4305cbd15ee8cba9a090fb6dfe5fbb0f0b3c727b47c4ee86f71c383d4b90da1d733d6e078658b628fc6a091dd94c3f3e91fb6052159f6e9a26a996753a5feff7dcf64627ae985d9f3038e7d53405539cf5286f2f6b376f7eb1eeab1dbbc1c18c983b8d09d7e8e83252ca5e12f72f98f90b8aaed191e84c10cbee13a164492ccf24de977934e3d7141a42359e397f2c1b2a6a1cd738ec08c4be434903351ee0b3be8d2efc08752352376316411852654d0dc867a56bd29b2310988212f18c89632b955b04ca99c67b346f57bec9efe5165e15209bf29069bf7065b43b04c4b9cb000350bfacd02c41b9da32666a4afb5ca35db6c385552be341dbb316e640268ce1c19556096947a2892c1506d22d7a1c0f1e78cdf5ae68a82105037fb3bf551a90c5ed90736c92bf35786d922eb9df65e7c5c6f2ecb854c251bad35db35f0a526a9e9e10f2b68e9ee1f0fa8e004400839d3b54e5a725ba543cbc015e809611e6949d997e4c5b72f810c42d56571da3ffb1b0a4f91d7a63537b1ce8d46094cd0204a8a7b60d9056e854f45d52eedff148ea70891092c85b912d8176b2502ac675888e196f642c56f8807dbd6c55274f6f2b935595f8d708aa643b046269b4ea8364aa243563405df953d83c32cd6462a18c007062c37620c2e97c1167141c6939d09d16ea98c40f27a71b0f2569f1e2fa9fefb310bd3bd40008e7de103b5c67c72cba6bc8d2d195cb5e8ddad78f49abe56e37de9ca00185862506365c39575dad8a53a1c70829cc003a6b3e81e2be35e11774f0d55f5d85b7dbb349e42029351a56a868093e97483e97dad23e6b13c57ae56166daad704dd645ece81d9098e7e3498347993f13612f25662ebf85ff4d52b6fa53598f7b4c56cc527bd858e58e9f588028fada44d9d67273f0f37b250de4c27910f7807500be10ff31721856b4f1802628b807354f38614a7f2a44fd810859c3b39df8b6232b0518da63c59789bc51c511c20404c651400da0044c68313331b2ba1e9db0f8935ec066011536e8f214248dcb5fbb18ad6511f641e815ef0c3beac01cf5ae111c331fbdaacfd27ebd19248c56d60125c07d2d5439be19af3e350c69a318d434230ec324b8c19e26fa11e1fb560374fd3e63820b98e8afccfd98d29d200c40c0890dba8f857b194ab0b76537356dc217cc368b61ed77a66f73d8aa6df35955e44b1c566812c973e00da9366fe206fb3e07862ab0ef4b12ec5e519248d2eaecf0aee2c407f70189fd15a0c0b235a08f9b24444bf2404921b40fc56109b07b984c733d36a5b01607080ff7e307bdb9045f7a0d8ba240ec56abf7f663306ab6fc63cba54a4d67968b2727fcec759bbc2dc043f402ff1f7bcaf2f982b9a86aa6659f98c5bfbd3127f78f5fe9c82f0b2b42b496ac44f90f19494155613a4b8a2ce3b657d2a532bed214fe676faa4b5ff17f4c0f78620d37e917014b5c80178d1257d8f5ca54dbea368addb4bf1e76af6d3c2535bea23b07d919d2984df24b7e8011b878b8a25da715270c4a9bf3854e2ae30af95d3de74e25e6601195bab13e56071d3d6b478d0e7c9790feb451cd9dd7baca1446a16d54b6f52b8c214522ee6d74558241c4b735d39ed77905fd70cf642112573faaca8a6e9dcce824325bd10c1949a81c423eefe5360811cb486d6e280161d6e2db309cc311710f46bafd24488ec29b496e3ce47471f7b95180d7414d4c869c893d9e13330c9aec39fe84e29478247da697980efab8c27bee7c0af534832146b056d5b4e33be5039cf80960b6b563fc152e9f213c8325ae63acb8e0a5b9395a0d5c56822896f27ab7f3c287711abb09c3038c8d6a2fbad039b2684cab0fc8f853021b4615698f86507ee53f68ac37685a0876144d88c7058ba4be9d7fc770f688ee3a6dd93cbed366aa21893f24d2381c4830a76abdc22d04f67e43197bdcf2e8ccbf555d8149d467e91bd87b5d282e8aa837a784cda4fa95b5e21487611b39f2d7e6f78225a46c9474c48515a978f3545b98b4b2d9b3eb3d0fd28ee52e7ae01322ef3407237f445516b36119ea82c7c0e2559e880229e2c0f520557d2a2059348e9702be92f38b450a93ca55586f65387a6141326b5428ef19bd7387b9868307808832fa67d6ec8dcae373ba86104eb845987735c03c7352f00dd06d7f0e70243e157b37a46db7fa098e6983918cb92e09617bc1877dc37c39fcfe04f2040f5664bda4dcfcf72063f79b26098f6f253f257d9e886ac6b84ee9c13d83eefd61084d709515126e5ff42672a4f73354bca30f64fac98f522eb3d4ab58838cf5829136640a508bab7d2c2b465f21bb3bfffa1f0ee20f0fd6e3cb2d2dccf7bc95bd55de2d1623fa55c77a37b01f114f834e2815715f52ab0c5c25205913c6be48521561d9a950e3df6da5e5d3b81bea977213c017f907987780e38b96df74a6b624c1cbdece0696d00eb8cb3b1508af90c02f3853ed9e33d60bf27a3a9f39eb60cbe6fa2c9a0831d54953e32cbce9bca4b856108135cbb102a19e0d69f7c52dc05bff199961be207140017404c9d73e2d5c03986b680b5926adc860cb865a9f138a1e6328f09f29f7b0a321a6283841494ecb3e1294253c470e6b2c1ef2d1559a7e2897b325520f8b4a0fe30115694eedf2f06546aa7269c7f461b5856c20216d8b45d8ffa285869002f17a48beec6df361f8e23992485d8a38664bf0b409d9e791e0497ce22ccac0e96eadee0eade1e875486b0558511aed6c4db11d0bf764b73aa9b93513f2769a093112bff22a3fa4ebc07c07d3d9b5ecaddbbce1a261158089226bcd66bc940347a0798410884872a3062266b3991adac24c1344e88c42763f159bbf219d2b57d8ede71314e2dc39848b97953ef30edd1a6ac6b06cb072fc62cbf7758bcf0ecdb54a52417b0e4196c814398943a7a0b094b10a337a9994cb7e3f6cd0f878cc5b2afd1f6f60ba67229254450659b548c05ba324c4590efb8d7e28aa16f55ed6a7524cbe815a58ebd9b3a64d9497e7648f6d3f429de7fda599dc5d87ad2f14f156889d2fa4a034c74ac54577f06aab7a1111f1a8df3164112b3f8f40763755f233f8e6fada57079a6eeba807580c1d3c1ccf33ec357c6e81b8b9bef233e162e7d526696b8641bca8361982fe885d59e142b0bc56c2e98d5f5bbe927df5341c8fe786b8aba884d17e169728db2010b285949c72ce0556fca6e2607484381810351340a7a995fb8725246b1c6006b6eacaf337f60be2ab7778c42b70d678c80a9a180e1d683f262619e09dfcd567c67386ebe4ef38938c43882995446ced9e8b735f867883ab102c7ffccd703cd2a5b2539d22ed4d9aa9057291e3d99332346e757cc5903afcfcff7233e67761eafc30b4ba4faf82a10a00adf132ae167177e08b0a902368b425acc25c5a4273da6f751e823037b52638395769976bd111b6b71c34a405e0e6402a4170900ee9834c2bd810800d1d73fd2abdea393636bf5a902914b27ce49963b4abd359fb1c07d84cac7f365bf6b80670d062a58880dbd82ba5883f3a1c39f8290dfd6193f0ad14d82d22d72bb7e43197f24c43b8d18a0d8c84ceaeb06340c666a21b180945a6895d887ccbba7f3057794e85e62ae7c5f57f3767e08664f41ee37ac41a7c0390b38aa1373efc9f25f4e82931747aee1a2178fd0809f8e8122da5abb94fca93910ebacf504c29d6638cc7ccb60b154353b40693e223301159f87f4f31dc23ea755c9e9b0748fcdd36358e7cd1d7bd827c9d56797a9040815252d98d6dbed0645737e84e10a1a28344f7383869ba3adbfc6c7e2f00ac1f3031b858bb0c6e7040a21242960d4232a39588ebde7587ebede00000000000000000000000000000000090f1f222930373b","message_root":"0xfec180b7a8d25956b1df55e44d7efa3364be7d835d7fc64384b7131df8c188ac","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xea3c076555acab3c5992be1f6fa2befe3ad3a146182bc3cbfa24e4b169f32e0c85d05fdd2fd73d9e6a536465ef26d616295cb0d62d05a9a8086127fb7e09f7c8e84f963a77a54a7cd702340b3d0ef8e14ce0b928e7a18e7d216862cb2a4a44a9a89386cc76679e3b37d21f4bf09dd2ac092c0f9b42b138afef08fb800294dd3634fe6cf256dd77e6f9e1d825c574d6cb6d5fa4217e7cb44b4afa71b69ae9e538e5d9cf733556b6d01dc36567f687df02dee52b298efdad025a79d96cfc5d3e5cea0ccd750b6a361c651d115b45bb23738e815e430650520e3419d095d0031c9eef4afad430166fc7448581009b15d2d8a164bc2c9ce8a4b374d373382dbb82d386d313c7b083164b9f69148b20bddc6f678e2086df03f8997ada6ff33ad085b4a0c866781d7476381aed0c206c9741ae93ef569a036fad00a48dd0b73225bbeade4cbd751ddab162fc70775785a08817d057c77377695e63ff3c45d1187ea09ed86f9cf99dc5fb6fec3d7aefe29cfe490ed0438621f9bd723b357f8626ff191e21be3350c1d9e64a9be5135c3c820a139a3880b43329927fb926661b3840ade546b34eb8e00d219c90ba0fc8c4fe0edc76e4b1c1f6b6ed39f3928a7e572b180239567a34746e52a550d99501f8c930a0389edfeaf6a6ee779c38abbe9dba8015bead8a6ef2a6355265a6b2c47213a33a6d22664772c3bfd2978a5288024c38186f0099f9a5da65d4f4bb90681fafd2f7bafbf8862f33535d7ca4704251d4b8505e6ac5d2487295cbbbb58f800b59512c654372bfd4e2d03f64ceb6e51483dcaff80ab779af8f6ebfea3690989c68f76b6c9e574e920dd38a017249ae6ba1820443da1ecbed84e555a2cb4e0f2e0710d1506521c9a38e39334892d47acc542ae1643c3036b3828755542e8280d2b85604cb536f5c2e8f62e44fde40b18ca717b859261eb9ad58dae9b8fb115e26a704ee9e8fc98e4f82263b5b6b149d98a2195cbcc7ab544c9b66f3bbea72d4256b7a38058f9ed0d2c8d1d26fb1166937ad7a7344939c6eff97f1045a9bc6d9b090adc7a2d5588738e9479f484095bb32706aec55edf16c2cd5f4c0b4766d45063ddd3f17d290186caeca0f5eb70188a4d5bd1ee5b60031240f8995776a875eb6b4209f64299510dd38d8ac6ffb4cec66fab604bd8eac8a0d67ab75d41fa5173eec53950afe38c597ea9957747c660497c390a46e802aa896cbe710ef5a5c1332c13937324d9a744d8041302d3ec08f309d7e94509cd82a5fbd5251cf3a872beac43bbd8d5c4b3fab63f02461a7f83f3115c97f25c96aa0cb910a47dd48d7df649a89191251714804277f8e9dba52514e770218ee891ab8fc04cd23fb9f77c59f686d0240e550045efbd92c493d6a01b2396e6d5033f0d80c27bd0277ee12417410400eb858ec3894827f2ff1ffe3d219db9db9a78993f47031e7f8d43a9cc5cc08f42167e1629c831dd8d64e78742f12a6dd00be6aafc95749cf38abbf6eb1656c21cf4d477f3b8f3f464ab4a7133223c31033d067d31fe58bc58140f8255363e102ef3cbb914180b7def02b0595a69c8c11f1b1306052618417da58a3a43448537e66feae76561901eac8520f9adda44c0141b18c03b4eea0fa67984d9f352ee1e7cf38aaac58a5a9c3432e52b458fca83465edf3475ee0ddefe75d51d869b39428dfa48556067346196b878dd8992e55f18fa16e745eaae04f41bf37127637ed14e132356d1a6749c8da3fa2121327ff281a4bf0974097d8a2ed70f6ac65b232eef9302fd4096ff13a37fde54674bcd5bbb31b204a50eb3e4f1a4ec72e923f5f461322957c8fb5102bb4d6530152376104fefd676f36198d34a8d992df3ed158c8c7c674d3b3a2adde063ecea0eab5a9fbbf98c55be06dc352ca2f03c3984a6426b64d94453ac089bfd7aa618b20a3430ef00c3e11fdd3a77501bcd1f5f4b4e5ea2f055553c491cbc56384e0ab958654e7898d665c03f576ef4e54575fc97efa27618b3d1bb8dab3e70a82b5eda292544d7589fcdfb97c54417fa94c187b926158021cc2429d13e40fbfc75e8f72d48df2ce4ea2ee64f46ca662a14bdb550a3160c75dd1b16bb53e398625156852b2e66637d08aeaea7d54ff6c2c65092061d4e120d4eab10973d5756dd40bd925112fee9ca2ed304aa7637eed76d2c321b49b2fb297af4a0110dfa17ebf9b3c91876435a6689d1ddec6d1b8f0d774bd52ab35f7353d7e03c53e098e2c7e0f4e8a12e27b25e64f9231d2e03d15a4af721a8458b922b8e8eab4844741cdd40bfaa69ebf26d85924d69c8bfd52885a5ddf08cb173527aa6e9c2d142c6c195b6a94ef2e284837572457bec261337ecce62e194ddb44b7ebead55463a4414b698d0e19fbd01238e97335887501ce705be3726645e03a1c70906a91859854bc4baa54cf9e46b0f863d561f55d975c5f295ca61e4fa09245a00772ae033d38d178c55848cd5b6b0a0b83cfd901b51d43bb648afccd3501e90a8d875180f3f66b78daa30aa8d49950b204c0c4038321f7ff02dac4cc5253321627687d3f4d93cf2d9d8df2655b786d84f542844dd68b249a8024714567cbce722adff3001859c6c0a489f278fd4e0abbbe2f4565bbb573d3c10707b90c0cd727bc716a2f87162430dc25a52034062451d7121a415cd99ea57606b2a967e01ce06199859fa705e652972eeed2adf52270cfcfc93710cdd9cb0938afebfe1ec84c093b593fef97d7bfd8833e4e735423d5d774dd719fb11ae3bb483ff4a2ec2ed28709a5e313ae275efc8a8d2c04061591ddcbf38bff6c7d99fbd92e1aa8e057d79eaba574b65099006ad99ad4ebce28cbde06b8a6c6956ba12da0ec7beda75ff5e7301867aad0680a562e3fb24be2ad523c4c6e375b50ac27f8c61fa5dd666eb993983b3e73f7d8cc89e73f7d3a1adbf46ee89e2573e31ef28be07eb44a6014d3107ffda35a840c2c85a604a1d8c26f4fa8f157e00da97db5be8bac3e8f23f1bd795679c09016178e3fd73b969549e06ad2da2eb4dec48551c555379d1f52bcf944feffafa6454b7863b28ae9627ec977f87074da7810b1872b943aade1ceb09742edfa45936481a475e0d1c62a1077e4b42909aed5e8e954cf6e9a5519bb37845e7b5850e4e68091ec0489a465155d6ef12c26b7036e863e3fac30bfa12cbdd94eea3848ee41747b61559d9713c0b8625f7880c3fd11fd004f7983e75e6fa51e77527de1f9c3d45ae58651c647ec1a4f99051d341d2f081df35db3de95f2504c7bcc26452198ee14520f843dc33ba3834101c68c99f0d44e88985a8644fb340eb6f080d3c0c6b4213a5b0c739072ff6e8aee05fc44312213a4a3eb1f639920e8db3730f9f55260214a1e192ce515827f49bb269fdae5fd55723f3d5c831c9e808d0237012b44581403ba6724891e58154570ddcd73543bacfe233996774b532fa84049c429b5f327a7b1ec659eea86aba42500ebd9f1a46e3c408493bbcf35aaa6138cf739a2ce3aa538cf16d251252421f07410ed815f84f419d32196d52dde9d7d92e4b11cf031f3a0cf1e5c6932e95939abe911c4d66afd903be59f31832d0124fe6252b14375e85da7942ded20c8b41096d0cd2a39dbdbbb9370da1df734121afd53dfcd327e2ef1b767d1e026","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf4846c07916a95e1d86af8d74f7a3fcdb0e24b11f84743dfeee3eb9041c52e34","signature":"0xd18af8b92ad04373a7329ce03cff8e6f3c0a4e697e32e48acb3df97986932a0718f41d7351e13dea833b56003e048933d7b45cc2a129f77ad73bbf805fb99b986ee58669eddf651e68145659e2c059178c32d3f546c1ba63f4265d5ca4b99e688516f520504891e188f6917681d2cab10caea0493d48e8923c24fbea6f12aeaf070622106c338e0241740e30584efb8365002c9f72d74839a7bb48158fa085d1e990c378787d88ee885bbab8cf1512649928a0f8ecdf232356be7bf8ca714dde39a0e7902f5134d4d696194e85ca01fcae7652955944a6760c1adbdda25d14241877ea44060a30f6a9ad6f46b04944e3353d54f7bd1252d203f7f1f97bb155f9f00410b72c94e5c03b0f3666d7cebf4cf79dd1c020c2501777adfa0665ea3fbd0d9356090c12cdf5de8b4523d4b22fe8396d639eab40fb2c258d43cf534321524509f14614ebbc74063d9bb612ba645dbb3f9935001ce21405931cbb6f210fb3417caebd05f99d611928f78f51c8a899a1b1ad9ecff84d12c94ac04e5fe77520cb556b4b42c20fc47bce559582b47e01f411d50d3edc016762e4b3b5d558e588d9c344f0fc35ca74effedae292ad861ee2d7430a3b9d0439faa78989d0f59cdceddd1eb67250fbc62833e1baa547382700cd419067acf76152f94bda34b77fce6c25932ebdb5515dc71c09a679de307c96a0c7b1eb2fcddf1a3a76a153ddaf892fe75862eec0f22e414a414798636e7ca8216c0c7156751e1c7419edb7fe9a8e41d9a3c888c1317049aac7ee7c95bef2ec165297fad4bba452dbc0162c5a6d6b60d8552447c436d1cde92ebe59077813bf88b8ba5a5f038a30362f200ae9d516e6fe718da3fc33e385c17c5177771728cbf66fdbb2f078816925e60122633827397dc7216b30c0ac072075b4c5bb28e7de03e450064f0e31a4da4b9977c473b8c0ddfda34b7ea979ebb853318190b20d9c3255681d80be131393ed441d77f813ca089b5cb25dd40c4fb96119395b58d703a8a5050206ef2249f8a9f95084ecba4ea3c584b3f550be93e9328f236e7628bf0d62d84159adef614a811059799a7ff20815c07dadd784d0effb2d046a287f1d60d312be60b72d496503e72ec6e4c17cf362161e95c4ee95ed6f7b08a51baacfcd8eabc45bd311673bf2712a029211b5bd82f8dcf324a45832bd2b1208d3152a9c928757089ad30fe75a41b361050edfbab150ec907b11992ce729d5cac2e19edd531d176ea92ceb7090b57fab1ae3c84e4fcbb3508d731012677a83db915b2701328e4a98a145af5d8d2b02a94a9223947d58864fdc2ea050a21591a84794149af45891bc3d8802043b03804fc4a67d50f0eb04b39e79da0e818d487f478cb5c66518055c0aec6d66f554d3472c8735617e9c2da9459f069247c80b0f580e707d88b07ff6e2547d5c5ee3bb93522ed67e5ed5e2c90f85fabf12b71c083fd6e659d40a332211c26dd951b33cd8d16c6707242743f0a84dda57d453cac1614feeb4dee8b49bab51a5da874b60312347416df42f2dbc77fc30c842ad4d8b42914a7a9ea36b10de4de4d402df21e94c3d8411da3a53653a3bb6418dd414363e9ee9edc08a1f68faf289d65590f964741d4cbc184386b2b50bb10fb7b4edcb20adf8c4e91cf6e55887dfbd788058780fbb466f79568a71ae0cde1014a95ceda36156d2535ce7211108c4b0e6c078f13d57a7a95edc269d1b529c92863bfdd2b654bdcae5201ff3ec4131daef012e2174defd7b576c785887fc7762c2f07584b5b35daf8b9b8cba7a1b24a278bc576d9a89d615099f9a77d84466c90cd5b9c42819bd789587e19067f09e7de3bd08a9d43f53384862c5f171871108141ede62f1b9bcf338117a44f12931cda22aa0b9728ae40ae1a2373a9c122b51e392ce635099af55f0b52ea3a071ab2a7a23ccb2ba0d139a148abdc8a417ac58fe793ada36079bcf47261f786ec02d9103744ba6cbba7eacaf0fd198c576bc87a2b2a693f859547f97a38de60a8d20bd0e2da4c56ba8f217c98bf4a6e5ba9d103f631ce64adb9f3905d222840403d0b479918068e2fb298a919eb3f927ab99a48c9ec91325debad7a288f6677266c87333fe8aff91245dbba6ee9ea488053b2e24fdaffeaec09a3d68074ce761f91dc33cf4f9bc07d4ee3940ed684494cc142333a01532044f925d9febebea38d533c6f924dd0f239097fa296588f6e001cff9d994cd945a6a4a9ae8abab33de8b782384cad13b70c1f863598a38c9a3ec5473b51d05d28114eb6cae6dc0fbf73feb316654bb6e48cc7a5ef9c3f81918e8bd6d097b056e157ac5c4c64f0875ead2a0b93dd1f731ffc5ae00ffdd711bc7b4a3d7e43d08d66e0398b337f19453602fde114d278282aaf7d0e4c1e2b027622b846736063f70df8b6ce400d45372ac13e5100c1334f6cdc2fed1b588286a50e76a5b2f326a71061b543b55bc447b36b0c286c6ebce11285a88edd9fbd03312c07ebb9506757a8a341ff2fad280f5b87353c1640f8e231b0a6d490bc355b07c0c555ff6af9a4a9c7817bbf93c94f554db260f6e2830483ae8cae414f512acfa4e8c0c125bbf07eaee42acfc8b1ff6f896f9394321b2a38b6531e6f21f105563b5a476712f23d68f29f15d9dce30b7a462443bdde19fd38b56aa7996abb4647055a3e1acd799c31806c95f688fd1d51194759bbd77028859640875cfed347473b95bbd71f5e819689aca47204b0e9e5858a5f131882d1d290bac3603e0b71104239cf8f05f10de3ec1c179f4f4829fc0de0f8ba35fe6803df29802a2795cbd7f077f0336c3a9c945b2a0c5cea6a34ea3c1032d857d0ec6f9aad9089bb82a96bcc72480439a18be5385ad0ed7b0dbf6f4f227d8abd7fbb3560156f71b0ed9a6bc75db759482313b4ada2bcaa0d03999157d9613cbc72d0966398dd782c00e570538ff8aefa2e7a1d75d4790c818e87b59b61cf53da549d97776bdb6a6924cbc9e95f0e1a971bca318b6875eaf9ef15d0e7ff660445782007cc2716c281f0cd7b6c9141590a952448c7068c9ea00b4cf3f57e38b9492dbe10d837d15b1619fa24e38fac98fa1503d67d2c82ab7cd92b725e7342516eac50668b1e00da371c115039565013757ccca8743d88cfbed3475785ef98baf508d154c4b931023ac6dfce1294d3e5004297cc8ab212bf0e976a55a11eea87fa785992d7383ec19eff5e6b0681b1a679c940dfa19475f8d9278bcb93347f9314698654752ab539321b31108b2e9c42971ba854c037051df06d47e8dcb4b95ba69260b10bb746d85c407a2e46bf85bf71e0eadf8562addeab5bbe866333d1a1721ff50fbbf488e202f03361f19ea0bb50f81bc5f8d972f23c861f54c51f71d1f77cbe2756f3f045b0f3162be4135de22ad2e94da1ccead16162cbd10d65c0bf28641c464f24a1529880a8f4342e4c82b4680de2d6f430609846c9636408753fb39c69627423e949bd9dcff82c91652d2b69e39efb7d9ed427af63402267bb0d241fdf946a63caae0feff9186b87b7849c25b0cce1e2b58a4a5ae3ad134404509417b738faea78f580bb2a8e96df44d86921c3977531b31f1c437714470664a139ef42a8a233351edc18ad0d60f480440d0e93a7c6fc49ec98655c70a8f0fa2e86d363bb413361791d67918ce7825db28e25e0c84b743a5370040d634a772c10343ddd32f87a360da7107d24d6d2534906f9fbd3b12a418247bba5ea0332a62c955d503e0f782dc80fbfbf9b9b80ba423150ec9c440dcb1a8d98d7fc61dbd2ab0c377fe6ed39456a09abf381540073b78db6282d1587fb25808df368cae3cb1cb05b9c618c894e6ef39d7cd1c12afcdfe95ebb61c495837c5df74befa6989e7b41452be9ee624f99e3cf0487cbda8f3b0ae4d62181b17ca52b812bc7cc2d48222812f14864b774aff582e5f684d8c8e8e929ab936b72d55a6b565378415781b7813138f18739432961613713fd95403de1fe79f6fd4ce8da95d72f8540c6e93e1426f6d2bfa9b0ff00792831505c25007712646265c8107bfc9d2abaf129cac68b186ba3cdfff2ce2fd111a5c26dc39134772b82eec69f835078cbe7d013513065cc0ebbd6977a146761c0d2859b56928daa27f85e1d6a0ee43bf6d2c53f58cfa34104bce32d9d53bd1854308969dcb7e5a73017da58ddb5166e60de047ae367704a402a3f86eff005761f0d3eed150e5ed7549b8d705f73b45c79f3c177910ff232a9e4c9229667bb74a6c9b3745a179c2451cfb84408fd6d2f59f10ace0d8479538247809847f71437024c549ad998ea43c52a02948bb6fe6585a00d959a43fc4f3637ab2e0a68ee0d056df96e77fc202e9653f8e08c0b3c888c4ff8c3bdb05a7f489f46b2386f279d2dcc871cea233b7d194c49095f56b1771d06ebaf89ccffc0a1523c8f517344c8feb7654ee11d8c71c46b295fe4c70faeef9913ab78f76b46bc9cd0b76d5ffdc4ccf0a9cb40dc9fef20a808be5158acb5d7d268c663bb0c413a9659f33492e7a8b33ad98004447c344648e86223f029c1a9e917e235c9128aa0ddf6be94b1a4d9999c5b671005dc17b3fd18adc359bc6edf8e09bebd8f5df8abc4130cf388fd259e75674c4bb71ef38f2ade30bdd68d30340ec163ee8633bf132d3a2f44ad3febcdf18e61f8f1eefe5c8d86efc38664117a88dd5c6a3ba8584769971dc3894cbb3c9527ee12b90797a3ce6782397f0f7b446b0bc6a6d419b5d1dd81cabb3dd09de3b59134c606c81d7f741e04d32d09efe1b2c911c5b73285fb04feca8e2403ba548180ff31f291df65bc07d50695ecd60784614d844b7c0d99f0e5d8f6e807b65fea20b96f3ecb85d41652faa051b36797933fc528be60584414e9a24a656003b8a255c90cf0b939b4656161ef1ff48ce19484f51ced9193e1b620a7266fc27b5cc1b23e542b70486922d4b806d9d7c9f47b4401c06734a39e622db6e2f79506995c4d7f44608f485801de0850a86fbd426b77a498c2fb94adcc26de7b8e58cc809b493378983f1ba83261e083c72ad989bbcbb4024cda673ecb430cdc245e31b4edd46a3ddfccc83f660f14f85bf4c4faaf6efbe1ace7aec8dd619772eff1646d629f06ae6d62110a506073a774a8c21a6e21cc7b033421dbbd4f449dd8da84aa0a8f8e24690d7667fab3af83c019b5a5638de86034633b845659ee3b61143f81ddb1c90566bc41e59fe7485254ce2335fc3dd68d4a02fe4090d8487eafe1ac8d52bdb5dc6672de8b874de91baaef77acf953b5f29e79fb974a627a3f4b224bc004f261481dca1cc32cc41707828f0d0b5e3553d4471ed1c8bfb56958995a85109ef3aa3499661b0ac2dd471de658fd65171b23c17728581242586b07c2c5f502d59ac6b5b7f04560a1ce03baf0cd3e23feeb34dc0481d8552aba247f7abeb9e9ddf2679732127c15656142f76dae9285bd533dcd5bcfc7498b1b9c3996ac6afc946fb64c7819d191493db449d126eaf4dfc5b1050806b262f4fe8b80a80cab2cb857f47f27834c54b5e80ec39e6ddd3d547ee7195eb4a64e8f5e1fc1133121d8e7a184f484c0e53d04652c2e998389e5f0c68f5163f9e527ae8dd33a766581280b629c341a06a5e4f277ca1fdb044c72bf509975b3865fa04ac674a94ab95af261495c9e48fae01be81a41f36cd4a2ce1d742e254e0cc9ba7632fb868f2e20cdf39b768cc14fbe1ea36cebfb4225f26f6cce1da6bbafa3978e368a2ee45de0edadc2d3f184799c5a7531b7ea34f534115ec69aaef1c0c6555036c5b3961f1c92ab210776f65752bb4d99d95593b1d2b2b8fc979d55e640430c9157357e072961922ec586e89f3f676a9ca571cdc6862b204257922e6e64a3493c0fd7b42fc7ca94d0d22802260a08c2083e69391083c2d3e311de3be7fb6729e94cc01555b44c14e8b13d467eec401b4bc179011fc90ad684c9a5b060aa38b32e302adfcb7c6d3956267963e2caed0f8d301229774393686d9d98e9d4dfbef8257fe482c3f3117c6d1b131cff024d2ca20e1f2e0691bb664172498423162d633f9cdb814ef7391f7dab4b05ee8bb53b52454685981ec2f4c04afcb3928079ddd13402b3f6323c2554e644f5c65aead22dfdd1bc9f8c96a9b1b1dadfbbcbffa8a441299db4614d363b13955969d3405d4162db1a892908ac6395055c4101a3b5b4508544cdcf4fb10d55cdf3f59cb0bdfbe7f38d57ecf4a9e35727eda4d1272f33a408fac4408b38ae494bd3c27c6f7a42dc1ef2cd029f38442fb5fd6fbc97c95a3bd2642ff9e5ba10669d77f00e5ac5d0c75ed096fa9f08b44ab7ede5a88f7c2543573d84a9ff6b2ddbebaa39523597c61448cd4e3e8d3edbdece4afb958a55b9025b50336a8d920c714c13b111fbdd8d9cc69307d93cae5d5affff35c0d74e6c40d466d7c919fbbe0e3e6021f38399ba0a1a7add5dff0164c659eb4cbd2eefe11171d2e308ad5f6060a1c1d235eb5c6213745a4e5030a23243b4a78175c6c6f8fd7e7f7fe000000000000000a161f272f343b44","message_root":"0x643fabaa7211c14eaadfcc90132221c226485da90aa7f22c6fb0fdd14f61fea7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x098a9e3588306365967af0ec18b173575e66a3ae3cb85c3ccd977b66373d6dd5033319d2807acd154797d53b779ab075838c0062478213f696c5010bce27095152939bb4fa94c2771817e79a20ecef07660853c3770bd84da7a37f6902f0df8a2c109318f66583daa303c69b49b76d1397967e4324c678bc0c246d32ee829758de6b6aa4cb95c4e2bd8e1529be317722527ce26abeaeb9e954b3fecd4cde2485a0953d1e876f6dcbd8a44411a23145e1108cbee20e2a2f4097cf0d829a2751e70d101344d47b89948dfe3bded84e68f4b5c5c9c3a164fc3ee4b5f6bba469bae1d43cad1cd5bb49795881c4aff84320585794e369e7f74559c31f14d6799a54d06fc2fe295c43f7f3d99274ebe272d2489d313a0605b506216403ef80028129895d58606092ce21d0642d7846637c516b9412612d8b9449431b18755a6f482895201985a34aaa8ecfbc079321e90af547f5f90fc3389f266b9495210df4af8968361edb2620743a3479edcbe34436fc0de0d39ba6f521d83928e3f9c411b08432ae37155df9db15386fb75f237bdc2a1255eb1024cf1c6aeb6d9bc457730e3effe3b0580ed7bccec43842b87bf0066a975dc798efc15630d4ac677c27af5f88d5353d69701aa4e317d072d3c14f86d35b6965556cc5aec1350b74bae05172951e8c5fa4569f08b4f3203ff270a6d1e2e7039bea56e9da90ecfb6e7bc68e3ebba77eb437332deca15c611d92d5a694e75850803181ab164ebd92feae3fa9e0ef52a0c6b96d5c20b4b3bbcc3d7e805c145a0265018747f71ca92df148785db10b25724f0ffc3eb1a778955b572c6fbeb27bfe6321116d628132aa51c902226d12fbc04502807def568e80ab6dc580a6cb59524d49c128c6e077ea6464ac3cf844905ff5165ff21138f19f8da9b08e790f3913d4ecc646389824f98cb706755474a224e4307fd35bd038be53986b3c0aa1361ca9298306166bf0440e3d5194d4e6122d6826c6ab3adf0dbd07ee4cabd10cb2bd8841dccb66d52b31e66fd92d82768791faba599ccdf4cf320c971a243515754a3672a234138e285057a9b20ff55ba451ab51062b32a8b073e2fc737c72f07a7180d3d5cc52d084cb2c5de8f65141eb13d7c0bdf5b792d5dc586cb3dc7913342302cd0bf464cc01270dd86eb27e0e5fcf69f48328c08c2cdc1c3829ec5e4a52dfb9d87f65311974b5ef501442f5d757a132c5f50c43acc4f7517d18ffa7898987de76aeb27b210307ed320d139502ee572d85686646c93550a16c8a2b5b22e7c47f1569ebf8b558847d39564089d964e18aba5c04675344aaba6a11414c5711afb1baed2a7054bd5ac680b6e6b96105950231bb83121531a3517ef1aef588e4fb42af8f4c7223d4df5b6298be81e0337d762580cb0956c0eaedb7b36032d50af27e09559e362871c35a68dbd9f28dadfbc8ec1c27cf8a408ed3568b156b77da5781cc1c379cda8ab00dcc4c94fa674a0ed2ffd4aa5ade93e43e97f5a4c9974b5ee540f7b8c77784bc5583c3051346f431cf268254ef8ef0a3d3fd027c27fdce07d97f25ba7564fc1b0e3f0647e3e393615cb354903513733172e60fe79f93495728fa917dd2779218983bb99f2fb5055b93896a02745ccd2df85b2875be1301df96f2fb73269a548af28743b7ca8b7fbe2d58ad3fcc44dc49057f342fd7acab4a332007464920bb967f28739f3cb31d9a7903e0360ecc903d0d7feadd285dcbb50cddebe4921c1fef053a28130a125b670e8e81a16f4cdfec975f1227a63580de55386ba34032ad9755f86e5cf57ae2145f8737742cd852826052fd210b51f7989a14cbe0fe2c817858a25f566d3efa1070f9427073fb78a505a2627a4a066afec662c837826ef7853af732a1576efd0c03bd1049f95b1dac0594d1f87a19df2c39f959d1db4bf557dd217d1016ec6c536aee22452bbf0acab8d9646edb744f3567c36e94664a5b98d611dac30859b7996b9fe9eee8a4a2c217c08badd9313f38b2c51869b0bbde76c9b9a3f4059a61d79b793e3e91da0021ae78a1ffe39dff090fe79bb80016abb60d5d5787aa30444864a244ea9a7f1efd61d14c0784ed35507746d06f2652b86e8ff9a4241d3d1e37e214096328040b6dc97c7c6371bb200e829b90974e65b3f97edc05fb3b2c53fa613507fa61fe293d51e9f6763bc2073d808ff9903f206d057a526370223482d4653e5198257d8ee2fe63690d93347c6bd6fbf0f8cbef91a8f88b9b5edfe01a0bf349f4a018683c96a9298b9e870f30289d364727e26484b63b34fc96af61aa90ee12e687f9d58a2eab6671b2290da6657af94bca9a5ae509e9944152b1417f5d591ff938dcdc81b267036ea6f1b8bd58955cb93ea423bf914f6fc7b5333ccd9721e92eb8a0a4381ee97e0cd51b9d24ac210b116f7c0209152c8da7c30ecb28ae13f050d019bf7214fae73a5ddfcdb5a4be971495881aaf073130b93b59230a432ac0eea1f9b896cd1f1006bc12afb8320026279bfd538fd3be37d4ff0db28147ced6ce0d093be49c13c1f3301dafeebd2e982143904e0c1dfdb857b10389f8ecd30f314f96b2db6ef601cdd35c511a5d74c8a22e8f5a899cc998432f11b5a87257e24173c3345915c8d0fd0c1385ea28a0a2b8af7cd0919d8ce5d0f2e8b39fbebb4aad68258bc4c7b5a6cc7b01bfed9f1f1917fb10f692aefd369af70b95d267e5bd5e27c2ca4a51ca8d7d5b7c83ac02dea2f4eecdc872d6162ca8d6de14a8bd9014149094dd1ae388563210ab019a58f23da285cb374f64fefe86455850d8e2c5a495a6ca815d200737fce2be0e1ea6e33daa520c2cad87b6c95eb009ba821035c3633f0191742b3d6205aec95f3ec87e2b21a2fd7d19a4aba388c2c5913c85b6def6c0a6efefccb90274e53450d5ec25182a5347b872321dbcc71984614459670339c53cc7a54f1e178a875aa7a79148c509e24eecb2b068c42ce443a74fc33ffec3f1c46437e9f7923bffac4bf320cefb957952d183ae9b4fdedb1ceababd89d1298d0012f8aa424594b57b36c3ca3928edc508c73f586d135ac6dd8114662e1d8e82a047a1f86344ce1676360ab6ba8c18898ee6be68fc51f3ec975f6753be43b28293281bba1e9e16e5ec45c7757dc3a9f1ee6c84f89116761407ffdcb07986bb70c770cbf2a1624303eb0791440e213f402ca88c91fb7f60297047bbce2a48e7d32de52174485c5f28756c22e6ceb05930cca054fbe1a9df1f06533d2cb1cff9f6e67438c7f60a5281c39279d22d0f1a9e9e59630241cac19edc38f4ac527df821f5c387ba891d52de5ec74950d2b63319336115a7d9ee5802bef07bf6f631ffe6ff6b7089ecf3c5d8c30350ae0880d660c39dfa572bf43d880cbe56e51e8a7243b9c65921f2fec57eeb286e651a23d28d9087e5d9e9908199dc6cdf112bbbc876e257fdded50b6dd4524b439d855ca6591a48ba38b1b0b0c83ed7609fbbb00caf4cda4d1a97f954e6a2f127c817fc6f1c4d8db4822d65c6f0fcfc8d095e683f55c5e14d397e9378c481955aa43cf5e5d01955f74a28f00a842fde698c36611775dd2d78e43f38451b01cf9f570202d469b66b410bb68c3ed44a4fed536f636edd8fc9458e5b23f601676436421fd77b0bc2a5aa131356474150e8a7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3cff07b4457ade2013788a34eb55db24781f77cb22115fbc1b7c9f0240daaf41","signature":"0x92b5955421c181142d25f0a7bdd465ac92d57623baeca4ac83af9a60aba46a374db670b63bf76cc5b474163c3b593d4c4e38a426623c9f5d101fc6b242e64d70bc60237d3e4bb3369db6b76e40c80d4ed19b83c3d4121cdfedb5809c04da716c1f4d23e1e71a1d39bb3f0911faf8232a5619f40d83ee7a826c74520fb89070cf340cfeeda00966b6f7970c5c7d6f4a35a6f4b25ee3fdc58b7c501ef939e19dd886dad3c4702245b2bdd634ca1d39210eb6146268831354a579b1b1046a42affa911bcffce22dc21c48f3d5fd8885ac2930309dbdd7c29916de929e2750d1f74f8b949a852107123c3e8f1519675ff8bf865603e955df2f4636823e37b210f325303a6e9a863f786ddaae39d4b74f7f8703cd1d298073ba69869d896683ea9168b88ee30392053b406bf7d0b4d68b330c1cd42353dc3005d7402d3a1ed901a7ab6d7dd2e3329b2b00adbedb8665045e02e347f0469fda3d2dc4207d275cad020c08f3031aeb206acb68abc9128393a9d2894fc46247a19eba697946b65b0929b53bd2b2c9367e6a0595b6f05833fa1cb5ebe28c97f7c93f968827bc65fec6a6d0fc68d702a9bca23b890fe81ce3f087f9ee9e31e39baecba32ab9c4b49e3d80d93035b7a72dbb77421b053ba30b85a4b2f70c4d59af59697a613371d7328c12b01a6e43ea8d5fb5bf8e870181cb43d0d728c34e5cfd0e18780cc43efb30b0791a26ddb868527b313022c8efa5db924e57f5b5e8dfccadbae322346c70c1b1ef46ec9b57972d27f6b4954fa2ba23e0c49d9af57a081cc2f0f4d5eabe5ac1820a96af3eba7b9a03ecc9f29c0ffb9a9aa2f035a78db888920050928f2dc2e3a31e71eb128a547885c5f2290761539ace58fe0924151a35c25cc2f232f3a6b295c92c19e8a9fde4f5fbc5a4f6833dcb1c3f205f56556f7f672ef568007b9279a457f7a2a0fe13b38d26461a5c6fc53ba7f64ff184d4a51f9556448344a839fd89387a670ef26a17cbdeaba4802486bc8ffe2a295c14d5fcf8cd91dce3eb2a082b36728fedee59385c9e3b922aaa20e99d6844d436da590925a3d61ffc1cdcf2926334cbea08afca34b75beca9640b3e969b1e11885209b30f8636533ead71dd0a57b6325c9cc17856aa796fc7c1cad4912065e0e6061b059f27a5a52d5f121f5b6e6b3d2ba6c6b233e22dea6094582b4439513cef9f881a37be59d6c872c454a408922d29aa33fea172d3a16e4f2e1443d96de817d18d682a816be1076034fbd612c7f1fb9855a8c99544a87a6143313a686ae7d935b1c65eeb88239a884a0ba9165d85239ae583e7db157e9d6edd83248c212a4503b88f5070926229853c9fcdc562b3870181b5164dc2e63a2d1c76d2d58bde3ec0295dcf6f99616e83b630bfb67bd23037118854ec362a645d57490f5b8318a6c48781b80ebeb350d398a9175cb6f6ce1aacef38927546f64e72ae24a687190d5bbe7e9a891db5e39f3e4adbfa6325d18d2b4c066eee635c5a59c349ce893e28971011d72df23520080bf360a7e929e85ef8d576516231d4221df1dd226058cf2a36881f9cdd298df92fca0118f60793c18759745de8f10fb131a388a4ab2f2f9e7ddf44de6285173620d3b7fc7430f93db938b3f57b2a60f49006e0910839b64a58616d3261f434d8c8a47246a9cdf8ee8366429a6e255f55bdbba26e0a876b3697ded505c14f055dbb3bd6a39e8f8c7d98edac744e742ff821b24491a1b8665a8a4d03b91caacf0a04ca9d7b9cad35da2cf2493f696dba68c09013dc72ce2bd357c5981917bfd502a2787c6121e6ff41f079343bf32ed3a10deeb10fa82ea9f42b3ba635121d6886b0318177f65b74f574d01c2ad0a236fdc47eb58542089e8fffc66bf1814781e9293e1dbcd5ea186b2e6dade15590f4e4a56d6a4808af61e38b6a5ee7834fd056a515c652ab36877b814fae95d89c9c6d9cb2052d3ea326dfabed5a4de36fd4d7770d4c39b3a2a5f107d43c67ef4ecb0ad530cda65f61633c5a4c76d3bb8fb9b94aa476675b9da63bce9b108ac8d7da16ca3188a47baf7152c37a2038f654856010ac5ab7cca165b60ef42895d8c0eb6bade9041f86aa1b53b81a8cc64461fd4771b65d1541db1154ff6df9522048ead7f1b253bd99868e8a1361b34a05e2447fd32484ae0627f55a04828fd61ba6fc90431d07241af199fedb28ad661ede6ebea0d46e0486b748cfa7504422f99dc4c36a62c7d8514234f0f0a68e638cc86059e7db71391cfe5745cc08d92bfa47a2b5fd0068cc5884cc0123635cf76e786be5e177f26884eb3b9c0765f845884c9609ff231524dc3703abd611478033ebea837deb0eafc25b12ce0755397f58a61d1c69debd247ba7f9a54807b343cb01483faebd827ddc83b1efcd3c3deba89f08047e212fa0b7edc4e22be86b3ec5555c9426e150e45292fb43300120e85e43d17e46c6a9b35d27ab200afa714f08facaddc467f1b1c624b28e2ee7df0edabf992cfecd12a22bdebf45c05c96ddbeda9436159c9646a90e39970e26592e2042913fd1c265726344c4622e8bf5b3b2cfb5446d6defefce2f361e53f47883a5af9d87fb592272cea7812da404c0b97b48a8c3a869f77ac420371d9d70c50c8bb5ee7faffc7758be6b0c2b8b968466501b44890deb6c89f1567e8b575778d83813a1594a83397d04bb87b33e6b21e65f9cbceb35da6aa4464c9992d46e0628eddf4de450bb85bb650578eb0ca8bfaece364e55b5b41ad994182e24477a8f3620c1a7501461658632d5579ea04fad1b4ae330dd3b23f9048276d5625087beecb4f9ab15d31be84dfbc7f1d6b41af3b47c8b34d6f8825c8655941ab39a39f28bbf43df003564e1775c5642a1cd6ad36e0d484cb8651b17d99283b54fba09dcae1bd638b87e2fb18c7951cbf91a642d9c72969512d59f667fac5c9aa09156b0c7c49f71e3ddeebf7cf037af5469bcdd41ac2812a9c7aebcc64828580ba1bafa21fe38a2f2e4ffb366fb367013fccb4b23da3f801d5654741f8cec0ffb1c42ae95ea23472f31053102659ce4b9e5acb308c2fdaeef2792a6d517774f619250f81b59c0110e8779079fa328e1a509645343200153a2b663de39c4d2106593171ae60dd9332896e5e6047a3a5e7742841a67fc91649f26bad75749b6f6308af8c1e153514cbfa79ba63d48b3a7a6f3a3efa4fb80e6e5c8e3614cf1efd4dcee5bb91b17c098ae5cd9cab9d7cbfdaccab1d89dcf4cce862955cbe670e01adfe73a14cd3c1dbd4104f60f5b123553973a85ba5ae0b960bc45cc5031bbe0e6da13597a4ea98b964fcb3c81f85091df2e998c3d8174b128f0c1bdd9ffcf6645fea3c2e2bbba1f238c3522251b44398e5b1c66043ca78b4641c247762402cceba6234d403b6db638098d4cec08e63d25643fcecad7ea3b7a2575c0ccc332ff0b09bb75c2eba1c8359d9786a27e6ab0ed3e5bb876b6146689dded0b0570a2f01089ca46220f130f127d94c1437f3d6927c7ba3d5bfb66f824d8eff8cd5674dcc6f5a07217bbf9499e26d35d6d468d3f9c1488dbe458cc52942b422a6b75612f1dbaf44b60ac01832c8cb2b4b49305e160f37838e9b7b9e9e07fc5c27c3f9a88cf805ed6e0dc5027d23a735718339708e322927c18af50e003459a429a79b9259580e4b5fd4c5fe2a7ac425f5fdb95a871d100d11986eecf56ed4b735873e1ed73781018577fcdcb214550f8c16f95dd6a481e041416ac7d697f668c1949c7a33e0e2ff1e53fcca6317efe8337ba7ebb91654909f3079627b277da7333c40dcfca9c4f4426fe678fdb1811147f1f1e2fecc7e52af5c6b95264531656da54336e1b3bb494dde1e051efacac09bc42819ec2aa649e9bfbecd866e3311594bf9ddc8348fac583ec5f39c200773d6e23435c99bb183c1787290507fdd668fc56b8cfc5089033ca4221e8f7dca4b8a2f75646488449079fb176ad65301224f465930521ee51fcbac5e59293c061b71401307335f9d92e142488ed60635c41557e5e34385f654dea857f3b18b95ea1a39abdf5c6e1ab12e919e04e0680179dcf1590be8d97ad4d701b1462f6c64e80b01b6fe779046d3083d6a07151fe1e20e75ea3cc6908debb95308cc309042a68e98d9ff26c1e4b9e6d88f1fd00f203eb3493395646a0898fecdf2a6df202ab16468217c2ad8c098589f6de85fe8e8e50d285b7d8abc844196b1b4caaf08734b2aa1fba1e05af915c553bfad9afc7c2ed55e6060137fe68813573cf424e45e14a500897a0cde3f04a632d501b985487c35535fa98870976f2b3c982cbc782814ca16601b511c4fa416ab27a69a3167aa97df4da4c881db60e36315b3e33c2ffca24cd145b814e996df9b98f2a0ff8987a085b250f02d9b2e0bb843a1fc0d035b2cc2cd12b7f04bbccfd7275c3400e4bafea7cbb255d3b535674a4c80fea13d2eec4bdaa287af10c2842e39c960c8822580974e2e1910a8ee95c6d1c755004d1ad98938630b510f31054ae7a6b9bb76527813007783e7e557e90351df56cb8fc2328aeead6317316101b9ea07026c0ac3b1aa544e97f45f71ae1f94c8a304279166374659263a4fd775414c77d036c30f26002e944ea2ad4c3e31a95dab5291afb35990241ce1288fc6603cf24f523173fcce1221bbc13b5cd5f79ce5904d297af506eb4165893ca8ee381de377e61c6717e8e5acc406566675a431f5e30f61eab15f95db6a3fec374d7fe19f9bc212bf5b6f619ed90eadd9fc73e055c393fdbcf82a2257bd48c06008c415ddef808a2b66a862b1bfd7966ed0c21ac58bfd8fb0e1af30aa60bc42e93561b9ca3f04eff67693bdd30e8472f0dc75098109ba4edf996c301ca304d5ef06c440dc537eb831f9acb265eb3f8939f4f600a12aa0d0cb0f29caa4f204df3a2c5bd205117561b997aa16b2982e498b39e4189366bcc27313487bb25a42e6aee9ce3f32eeaac7e6bb39c374feaff17ab979ad3b9486bafa8744c36ee3beeaf1bb507d8ae1bf157f85f4238444dad7666f98d5115c83ec16f5f444317150781a24b2089c0066b01d94e546f27f4e1cf67942cefb9199e73041a09ee385ed9693b91e99c51e26e354584ebc582c8b5be8946659953cf2d97d798d6294e0aad230670a4cc285bdd5787ab5540a0004224939789a6ef850097bba72b5e66e7dcae82f0f7151ef3e6d835474ba60a2b979e8e1bf430c28ebc46d0f7a138b51ea6d9d6b6b5f747ba265ab9d8b1a04a448768b4917f7feb823b63737f535b73fb03bd7a41ba0cc75d4bffe454c6677750ff707d3a64dade27500c493b89834822d6b08b442c43d9ea0372ebbca69979157a8eb03f6c669aeb39b3913ffe4919ca7ebc23cc6c3367d667e7051432bcc986918aa35a61564f3405060c9a56c1c99fdd0b914120e6006756d5f04f883fbbd695e179b9a3f4f2193d958bac550b540497d25686a8a8e559fb3e674b8982e29c991ecc7e558dfeca0c910711448aefe64801bc184de84096311911ff810c0489a302bc64abba3408c6461ad1669793c8aa8017db54ff0c3e210ab5feb3aec3fa775b9f75ede57faf0e3eddbc798a34222e54789b1ba5ac37b3228f479b0c9d76acdf282282b300bc4abe90ef3f621fe4c332c724725ed1d3d9df3638f3d621fc5bf86cc50b2e47b3c3dfd441b02e0fd5c590700a24a7eae6ae8be88012fe61eb878139b9708b0b252c8bd74b57910fb416c0ba451694816d9cbb25c448efaa90eae0788b511751bae927d79f3a0f4a96590cee47ccb1b81f8f7ba4bd64e1d9be2a1977e3b384edae324c393b14dce03951041a93bfa47e197d17b364b6dc53d2d4141b1e16ed98fc8de18c94114a596beb8a4b58036230ee77311934d7467fe19ae2feb549887ded0b0aaeba7bab3289b84e4f8c078a6ce3f87dedefb543185fde6c2ce618970b1998f865384fe3a99b1d0f3b942a760468ee935e19ffa54dea584ce7d54e8c6015952bd8b1aab2ddde334f99aafa26b8bd3619521346b36932eb5489a5a04afe0873ab5e8d8922e24ac18efd0696ca7f813fff35d47623f59873168bb3da69ec5d52ef74a5da2f7561aec30deb9a83805bcfaeb10836c835796f3af9aa8daa48e4e0b02d381be52ad3d14ccea436f622c171b8c28a585518296b6634239454aa44b15bd809e23f86fc1b68510362d1b525e4094c14b0830a62270a43f9d04070a47142b888e5537d080830a2ace1e44edb81369ec762bdce1fc9cd67a6fd4ce913b10018af9869036dc435cf6bb19347f9b0fbd89edb26b66eb9f79f0ee7b84b37552d47f966ed27899302ed4fbee1a4648763a0b4b5b3073c4a084856d7f55be20047875ed4def22329f8b52347b011b528a62c017d95e51b87410352a8e9780d3e2e8215e77af5d9722e685b2d78330b049930b7840016182f98c7db17698a939bb7d5e00a5895a7c4cbe54490d6e91b1f3f8e94b31534394c677584858caedce7051b25535faedaed2fbae9f0fafb000000000000000000000000000000000000060e15191f2b3339","message_root":"0x02ca5bc9b2fdd2ba29bb7047231abf58de556cfe5e038d588f2c1f948f6b0813","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xbdad75161e495022af7e72e56ca158a87a294d15c91b845f1626f267dc759df3a33ab7d6bc0fe637890bf2164d9a60a9113b670b14565cfeabe84db66b5c0b470115a13399744e6ff3e4210f8e992b38a30c40c6bdac857c05393935a07fb2da3bb6d2afd014ee4264c98db4349ebcbd43b22d490f98ab93ee49b0f33995e4b25ac3e2605e1aceef9a879b1b7946ed7eb01d4f1eee3d364aa4a28c215f861f5b5836e947e66afac831e11f3e5b4a4ef9c7b25d5bbe09af15c73fcc3fde151d6e3f37b187b952ba641c1d00c047ba6725aff7eaf87c246a4046cd7d106e4d9149417304f0083fe7b22b39e3665f93ff69e30f7639fbc21f9bfaaad7543a276c4ca7a546795ef1eb9c31c264f02859c965b92180ac56d157c08480387afc79c442b9ce3dcdb868406631acafbae276c9216cba448002f8f1a06058d118072678072a55940bd86fe0739a6eb4695543a37ce5bcff749a49b5d64aacc2a560908a4a53a3efd0563cedc2fa8521bb1537241e41cd1dbc369b10ac53e9e5909bb206469aea5f794d7acde98a0407e7c2b0deabbef9b0483e34a94f795075039bd14a30670c41d692631cae23b5ad34145ff4be4e5edabfe424d9c1056e75c2a40b0ced3910cd023893f3b9fca68b53a858c659bc072c9c057b2b44a0ed14a17f9b9e9e0a32b9025454c9dedb96714ce0c56da14324eded1c5c279e0feafb44f31af05d652f2d6d27489fb3cb301eaa4d04702ed9d18818bbdf9e27780f1e443b65c670cae7dcc636bc7cc5b05d2f892265d500fd4e85c8579bf81a8ae1a17ff19d492155188fecb72883c5fe47597d1b0da3d7c8b4f4ed82af20057c37484af21ebefc6938ebe18e6ef4c65b13b324efe032ad516264f86708da3a3f87e4b9d8538ebe08872b76971a5e878f05788fd41903c97b7a360a46243d73a49b5fcb92ce8ef87215af05dc83cce1619c0062f55a57a156ed1d2b2605b0ebb1984d256ece67fd76eebb8f56f5856e58ab725c3e9c24e46ab1e260da284e619d1482dcd786b186db8a97c1c8e3dc947b422805fe90c171144c167805a6b07dd7e265ca96f58799e0a252b7b58372b498b8b1ba07f4e21839de864a27db914d71e80f90e9efe84780d5c0a99f6d7895f9d8147678259e04fe4683ab90a3e636d01e9d669b4eeed02c6ab8b3fe54d5008b7b3313385e4a0e7e294e5cc92cf8bde5fb34ca2d5e03149aa93c35603e3dec41cc89d485f25bb07fdef71dbb57aad9ab2f23e71b7382652314286955dd443230b0f29d44b3d130fd7626e2e075bd7cc7469dea77cc02bfdf3a171c8910dfe6b72970488bc928c32b4017572e85e2a01950ab1ada3b82d7d1193e6b463ca444c7175ae9959a62bc8f1dcc6f151ddb09aeed56d7f3a3b932c522123f8e0b0204a8651a5a577bcb7701f6ecf99cac2b0f4af8ba5848d27f6e8871d676091fa42828a6208b31348f3dde14fa6f1258c7416ff5b6341237d5107f861a5c5a83ab0b6a080b74ffb2c2543baedcdfdb643a24c574945c7f47935c85c6fa7f38ec9a77c202fc4799abf23487de2b93a067778c393c77f25247398f3dbc36ae714157b4d0836428a658126f7775d213cd03e543982da8029521bfe038839f88b624f3f9ea033aa1cac01b9c5b243639e362775ed4b756821b3e338e4c410e396b68e49e30dba4af72427f6fd55cb472d8408f3d43eb34d295718a8397cf683fd7af2fc6d815b8a194d82b7644845f7673b631a3a3956fdae3fa3b384b6cd80bf03ce00b7a20f4f30e7b79e4655e284540c4928d3422d7dadf03c019c8d04bb2d2faf811b571771e1e562249168a958e4ed331d479943e73306520c4ca415d509732550ee2752db758e3c0f9444f62b079303b2e61325ae5406c12328891023de7456ceb7abc38f184fd59e0e86cf2c35f5032ca7ece137a5718cc093a775062b8f4322f1bd713da291d534b15c2e7078478e9d5994936150fac27b990c0b1d84906aeafd287ef71d788105b0821d02fb25f9aa5728758a10bec4be186b4cbd505208914ec0e67abecd40959c1d160244599ecf702f2d11f7964ed9f1a12281339e937a077311ade57896aaee0550144437aa930dd5463e3aff6aa74fba8a5742ee52affbb3b7a461a3684b67deff4bf39abb52b1677817bbe9439d76f495e81f5394e817d1e8495b20aaff142afcf983d57079906551216e2274030351f95a0a1900fa4be790bd8e40944269f39df476916c8e7ad51d2e7b344ed36108e3df3a923a0545d160c56b98ff8a722e82422ffb29030852e346dd85006b56698658b4b80c21cf139a5a48319bd13b00e65f108db85b6c9b86bdb68ba6aaa300fdb2b3c2c82589d1934ab1e1e28c4a5e40c8302c6d294263aca70375f1a229597f8f0ebe36f8ab5dac0eb698bd3504494e58bb0cf51ae5349d5f9fb08c7430e0f7f68eae37b75bf0a4b5cae6994e57847caad173a58143fe72941a2311df0afb84a6395b11cfa6649e42be4d6baf05f30b6c431de975ede6651a1c5f9f6771f7f1977a7815001bc68fc298c6d9c6760536e51f756a6479349b6a2caa788ffe46e70e117ebd85e4d22b99c5791a67ae45d5a245ee237a55a802b7bdcb4a480efd43743bf0ae1ee89d4166fa1125c88502427336ea50481bff97c7cd9a38be8e9b2fa5ec78e39f15905d8950376d9bdfdf2f6553a1cfc1f5f01c8dd9237e96af7d30a0feaa216f4d3e1ec09eef793ea0fc0ffcacd20a27fd52d7caff3d908e523f15bf3f4289b08b74f456a8e30d91113e57d8a3101f18736dc727deac76744e281b245826bbfccb6ea58746891fdb0cfd64ff5aba071e6d9996955f0581bf746881d1a72fc3959c828d44882db819a90947ea43cd4def511f97ffa740d2cb4b56e4a3d10eb1a6b42a8cc66a35b8bea184f6367368a38e0630925e90c8b140d6623c5ea0c852ac5fe333670922d8d80f341bc55bce4203335c7f7f1e2c714ad19af2f6926b6976ba9fc24523e492b95638d5b0a42cfd59bf2eae84d003af2487ccb560b41d6202c747610082b07c28647f2464a6fd74d725051ac88fd81dd9b4d15fb94aa3cfd5528b06361c5e1e7902696e36409befaa7f9dbf06f77648edd43d6135c4fbcc2f1c94f24ffda50bb9b2bc598fd4d2a708383eefc2ada7fac457f6543d03c68d2030e23ac5772ee8c4b672cf1829da2cf0cdc893e81930db7ee7f1fa5af881a43317d30ca040955ab4cebbc2230a768015f54a8dfd63dec73db00c58a4cc3cb756cb669cc1d4f3327ed66eca1c8ffcb336e4ed13cda1edd1738db8b764a7f7520eba168e983cf4248a95b3b0c5f262dceaec522d78e239bd6cb5c213fc38b165fad8647014513829ed8fa00da885b95a4431aed9535c9c02f6aa5952765849210c2e71984d04b03ae3698ec38277343f2b725c2d2bdec66b99b45d4b77b64ee01aacdd19ffb87800ec57f400d732b03afa1da31b78d074ece11ac9d0e987b6233c86b9004f78be9466177d77f77b497559600589714a8935ac813d8cf4f859959b632150f09ca7587e0f52dbe18e47202a62f3aa0d1194df5deb217d62c4dc96094f7608a673fcc52b09c721e1c001d0592a2669494f38f9c6e6a26ba09eb65a7529d8d0b893374506e7b3e4b2dc1d88bf6185c7dc3c6147c41","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x25ac518bb794b99a81f11e26e44892f4f6e122d2c2fc1434628c58d50ba38825","signature":"0xb21e0b9068bb1fc494d55e9be1131d272d5d6adce71587e5a2a960b5e83f5b40482d8eadae0e71806569279b474433ccfb9e51f600bd519210623292334c8749cf3a44638c9c28ed361ae8703ffcfe3816e8979ad696691942d207ffe68cf23e64c190e292c1cd7127b4fdd818e3bf900a205f07dfbd5c4593afa59d5e0afd3e829bf4f72066809f23ca254a0a82c0d201df12451cbd9ad42629f1bec4a1581fcf52a578933ae97592c70746a83e66f1748d3ca0901c85a16e97db22e6e15d15e9cdfaf62e4e5c53ceb31fb79b72fb51fdeac9e6daff1470dae1acd67f554b7d7f93e094ef16f652d81c3bd733b00878bd94183679c85953b9e6ed15814d6a6e878709d9ef82a0c191722d1b5de9e5414c683d31ea9ff8c2049a0b3387ce39500301af026a24eb9f3f6c9456782b0408193309df78ad61f53737b6f86dee097f93561654b2641786ae8fdc5762961e2c4027690e804efad3420d10d85eed8592101982f7177946486f17e0f1159e4c1e6a4ccf1090881d2a237b9699cd1f30a5ff7394786f86b4c36584f60a2b2ce3b2d73b9213708a0dc757fda78d9f053fa0fedbfaac0a79fbf433fa1a30fc37eaa46b8ca22add06082ad18ebc590b1d32dee470205a670b9ae3a60137512d0accc4c6586b24050631029c8e1398ec046970dc645b977fe369701f13592912a1bb1333b5cb7895f37a3388f3eb393b0db6b0d67cc62cd3b725363a98de097a7d8b22c37596291e3d0eaa01f97a0db27be489367b8655bdd126888a52e4933c9460ed8ca22491c3172b89d903b4107c7904eb2b6ac6552d6eb2daa8cf37643e9c960c188e957a61d74c01fc0805948e0283172ae9a49401f62e1a4b68df21b3e83d639488e433f1dd92389988176d5165a4489b18bdbf5afb4e1714dca07c9d91315ff13195c8adcf93dde6b2b962660a860fc55801e176b3018655cf388d5fc661c7fb05c29974ca953f7f8229f382b3854a8abd605c23fa4efb59b689895e397a794d7106880b82256f5a0dd874802b954fffc1741945dd3157bc048b4a434a7689588d800285001e65970e04a9b1230f7dcbb6ed60957bebbc71a0114dc8042d0ee8c4039058710417dafda17e97efe61a16230c2e3bbf5110c6fb9569746e3bc70a72d7961ab7416b0ca9f4d8acaa6e6478ca8e49525a206757d4dfee5e16cb02d5b3cdf1d630d50846e0417b9188b380285ea842147646d4ea1b9821a581af3f0d68ca7980d76512a744b6c169213597763198a586d09d20c1b79f12fc8ac22643fefa16061c464512dbe53c479d3cc535dce3e2ed43508824089373279ba122732dbf167a21633e6fe2e5169f369c72aaec4aa4d45bff4a26d46cda5714d3cce106f893d902fdf616224cce8369487a9f733d7d9d942e70323b0ab9c3a784142d6cad84fc90a099bb316395c77d72ee26beb2592c784dbfc8618024add2ce60312ac9b41d783fa56b711893717bd6ccbff1b4acdd037a09c53ba24e6d25eb292ccb913ca9a8368a2254764104c56af1bb0284a32153648d0d1c1de27773f744046c4a46a40205e4c90ce3168fda1547c63a4ab704bea4516a0e63eb2377a29a2bb5f3fc4653cd15ea410faede2c310a4a782cad05158ff5b434c9359b4f455c1ce15cd8c9648b39c254cf7080cf84301b7c412d1e92170e43ce180968ad59907d34dd813ac4c972e918a84e741c22faa6520e5430b59aafa27b6873264796fba0d88979ecf52c832b6dbc646950d1a2e69ae7a22ad4cb8d076f4358fe40c51dfebebf70c325277298da0e7a3ac9e0d1f9bcc6d01ddc61ef2decbc6dd61641646a26026b4041b3014e7b33b712505112db8562ce2806a84dd04942d8397153dcc29614b51c1f2b7867168663311d4ceb1b53e3e58ffdc513379336ca7f14f79c390c78cc8b485dd52d437b820b682f15a5bea71469e3e7e8e41b47f71087b74593a8b18579192b59ae682292eb73fc820126068cc14aa912d263ddd7cad42ccd8ea5a7b03ad82d16b17c6966394bd22f66e39213ab9a073ebcc89c0f0d3271f93939c78868b2a52445d4d5881afc07ad5a8c10a891e9ca49c9ee8483848d188c6cbef7a7d73b4f5b8e5240e174da883cae71d1ab61a629fc8247ada1f980b288104e720b959fb055dcdea6dd48daead47f4a4d1f5d059bcbf8e35bc71af7f62a721f9d93c8a64a71e9359b1639f292049a5475edb979873d87176d31ec29d599d8b84e50089c0f978bbc9f053427027d188f99273b20cc593dbe6f3b1fff562b1a9827191dc93c948ad064d09be11d923d279f38dc49edda6f6caf2630347fe6f5808eb5ab8a043074a19cb37b9330869640dbdeab4bb7a2cd6435fa665df731fbdbbe232ec91c41baa23681ba77ec8d620539decc39d8d4200a7b45ab87ccf79f68755206976d1b8f8c97a63482d9e3f298b490b9eae715d8638ba02fa4b3ad16f8c1ecd1aa3228fa2dbf8c9c9b6328c90e50654d452c3193fef64d837523905bfa8076eff3342f1821ac2927874c9726d7cc04d77aee857722fe93961010d264fe0f3abe61c60586c9a6105989c31af023672fdd68a4aa8e749b2a12e1d3742856beea538862c6dcafbe63983796f471abac186242bfbbc975c0a37d57742625abc5b3af9096c7fb578db5c6da9c2a3b1e1ee1a286035a1094dace1f1ccdb05ff865b661a7b2c75a8d9c2845ead068f3b0674ac7e3bab5811c6a836bb048af6762dcd0d3cfa60da665484bb902b369bb132d2d051f6f51f39be9ce6b1eb3b68dc4f05f5c67258aa967087591638af06834baa09ad3034a765687b7aa35790f79e56a4666d1e0e6ee22116dc77788546da6f9f6220a9d7c133de244f8efc0324972686892a09be2832fb349c8f8595109fe111f19d1c344bbbbe50e41680a29b991fe49fe3ab5e86c65be5b2e0b9b36c4df6d23f34cb934c7d85a96c59b6047526659b3d5340c5374312f9bf106c7fd85c212b8174e48e481a93609df58ed3c76e496fd068fef7be8347c0478b3aa5dad9cb9f3f4b5dd1839152440c0054dac8a85ae63daec572dbbf17cb95dc84745e65c2daf8d8a7bb47e7da121389412fe343efbd53df27f1be656a0c7acf795fa34253597d9e3e3978eb47f5da3ef3038dbbda2975557f061dabd958c3d96de3bbc0a7d62b814ef856f985c04efc43cea467c90eaf8f98e00b59f3b35d43489d26cd47635d60e0023daa0cc12ca307d592f6a898eb216cd2ede99f13ed22e792414c47969e7c76be3126305c2900012978c0355550055a1730a0aff6e87b051763ca32b128043eec54255910e56a00d3b2be146032be3b466105e71047c1e41fae76aa47572ebcceb821cba8210acb4ee79292595f110a012f5cfa40da383929ba8ecc053204e8191f1c5783fb5e238ebfd90273ba8a6121115b00f40cb7926d7c804c4c80341936a5d402051c18f10e1bb23f269dc656401047653a86e594e7ec4744cb4b24d0ade5b3f2ec78d76bdf7a9952a3f99ad5423840eadaeeb94f3bf1cd5973483dfb45b2a5c7ded04748a43e90001fdcd374c63b9891ac140e8657f2484eeb1ad5be14d29f9e600936a63e7e0a6665c05295065e3050c7d35f065ca8bb8ea97af93fbfd86e5656ebe7dfe527c22a7132a463c42c3940103aa1e437b917d194e867d3892f775bb82b626dc5c79fb3a1eb7ac1009237721936223b3f221b7c31f18b56b14e6aef4af23e71f08bc604d104126a59131e4f5d1b9aebe9ca540fb061ef7b921b1e57d4ca7700a51ca8dadcf26d03b44c037ec8b689451f686d92a002e306ca905c40e20b35ed420b45d7b9c82a167397f2ea493fb789d6556d86c3ab85896d3f74d5c66d0076ec01ea1981c6cfdaf5ebc15cd850d6ccdcdd56c8c39a6d45dc5c2a4588900c7a2a29ca32c12854bb081dfc4e6d920ee6c4c07d873330eb93615f28d9dfebf1f3f43217733d8036db6133b9457d4385220d0829d30a17009618c9f2fb78f42bf59ce221fa03b04300737624d7187c2de2d28797e907829a0e0011e7c0eb8b83c14a97056f7e8b9e357467c09fc1e1d0f0edcffa4ef1261c7f501775f832bfd19e43e7b49c7667b5abc88d8062209af94536db3a96e1161ecde76d5779adcf93e9c31766495d48240fcce2d173e8b1f3d242d3b17b69fb63a7c2a7ff2355584629c1ed469905758cfab5e817b67d395ecc073584c2d4997da7f420348a0fd52db4ab8c10c64a4469d200b9d5ff27b16fc3092e04093f8184d0d8b1ae6c9ecfab0951c8cee97136d00561799d16039df5c8850cc2aa25e496c2a529c873f14e226c765445f3e054caea963c5a05ceab2ef5dbfe784262a083c1cf4555e2079f48e7ea097ac21cd362446ad8c24f3a4a22e89ff53613c13d6527833f48e5af6929ce4b16bb311f19a09b267fc31240421e7d6198ca5dd2504ff06131fabdbb3a209b9a13777f0674e221bf9f91db1937fe81eae18fc3310725ef0b9acdd291879b8819487e9a305fd66a6464ea813da5d1dd2f1cf1928a780c073e6af133f5af5373df4ffd1db49db2b51728410e53e291e205695eb75fb02a7715b0d0cadb336eddef8f016cb4622a3bcf81b95f27ce28cd4b5d7b72fa23cd041b797c77a53cb992ce60e6ae369313c81b7601077f0790c51a7e292ab206899a5836cff4f9df66e61b6465b7ad34115e1364dbbdc5ed2bfe0c5aba2c6f5b8c48975214628e3b7d15de04d95be712086a7ea3f2be53221ae222335bc9fa339576ab5f4cc9542b670c0d3dfe26c520db557faa592f4e2b3db0498433162e2374988e31e97c74ec5b05de0e00fb2d347ab52112f3524358e8aca8d8bbda9148c29d5cb0281b095fe1f4310e96160beda9e62f6314e7d8e05fe9d1575e725857db759a38e3695081f1bbe685f94be6836d685ec5e75d077e38f1e97a1b83c847f9ca314590817be3110ecdf1d072bdd2b0340830cc59fdfc2c54a2a9fa3ed392a262493e36c3952bc4ecbf762601dab520ca56e99e21ae648e36eecd8b2d21c995fcc3fdd57c286b4da97c58165e97523a0b95287b85cde422465731452d0b6819f47a6b61ddeb2d671aa23260e59b2e43b2d57c98ed7317c362bea497b760da88fed41d2c7268dec164595a9fcbe296db03503e0ae898df10b20f4021e8904831d7c363a6845245bbbf9db8ac63cd32ee1e6f8b8cd5eebefa7005da347d0a4ba1ff3ef837098e8b82732e4829c846b19ed64974c7b502ba6cc518c03d240362173c98c53c44ac4fc21b91d6800eff9f4b74541e4089be1be134aac79cc9a8b81e0d8abc6ad428d46750866a9b536dc75438d1dc4e0e344a4c9f420a5005cd4ea424e3f6c3e41f2c231fdc12756f7b7f175eb922dfe8c3a0b49ddd0d4d33314b3f99d992cce0970f8733414b55e323f28e5ebdc2af5d3d81242f506239f361672ae586197790456f50de4e2e245e8d690eeb6d2378e58462f7b7ede7bd8543c906b5749dea2d24e874e5f0cf639f475cc2fdc7c1241fad360f96dd59abc3e4a55b458ccaab5ed25200fcc971152641fe992d797e7a7e833c8edf9e101adea45613cd5f286a10de82f7d7b65ce84c0645bc52950a4d87966049d0d8188600736ec4d52eb63cb61070a3d6a4b7c245964d8573c237ac89598c2e55bdedb81f9f3c071a97a5a67023c241a76ac92f56f74bf1cd0c5eeb06f0b1cc678082c78f57683d8c8ca85e13df1fa10e5851f7c67b4b599e940394fda738125dee499e082ecf6260449ec97c97a6d9a802dc5a4e77b7d9fe10b27fcb3d7f3157a8d307833e3664b3645d8460863032a57765d751c5e227d51bc9feafff27f2b1d7db518e2721b119597665b2f8f7b2f4d5852a529480ff97813d873ab5396396370ca131a30448b02611782356a844c2239cf0d6d03763e74a919ab26ca6af9c4c97f14b2375558576dcc0540bd33e5cc27b23e0efc2adc7b91aca85f6def8b8c0c451233ab4938cedd3d8172292eb1c3e51b15b126868a6aa4f5eca5eb3f4ff8f9a383637a61fd35ae484476c2272cb7de767587855acd4098c31bbd48b253b13fdde3386f36ee3a89d3fb88c1e2a619d5b664586fbf1c778317c5d73e74ae8312ce3c28be189f86b491e0012bd137db419958af90ebae4325c64ca25d89e67baa4d363c6de0baff2ed1118482b6742c8545ec5a085b9f990adaf5eda01406eaa1bf5dcd2e63717090b709d150e0ad267b80b605c1d348e991734a971949be915f3cb7d55796b9bb63820f0712cee7b2e79db375297ab3a4764d77e8091b6de697075fc2a968cbaab770b253681cc36ee4dd0ec4c19cf67eb6f04174b3bb1df6590e455b049849cbf9aad0c35cd88283d99af11b13fcf491128510568402a871b427c751c538cc6029a0da6a84d88083caab567d484efa148382efdb2c162be77e727ca6c6cecfe5f63fbde42a3444596b7589a0add2def6fa132c2f325158697a8fd5d88da8e50b57a2d1ff1121b3c8fd172c36576099d0eb00000000000000000000000000000000000000080b1823262b3038","message_root":"0xb03339e487774554298350228979a80864de7076d992f68f523a24543900e820","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x46d70da085305155619e0e26c4fb62fd843494387ebc81fd6b5dbf7311d21a3102c2f172fa67fedc9113150783511c7721ce878980c6aba45c536316a29fa41b119740a5af2aae819cf2b8fc0b271415abf3a473fe697508ffdcf9f3345879cc71ccb80e9078a376507ad1f8e1147f4e1ba601bfafdd3b5ad02277d41c63df8cb780cdccaa7b61f76bd8ac23fdf23a7c2c5951a39ff6264fd916cd831ed3e126e25267d9d935af7a7ce93211a1dfc13a93310c5667de8877a7cab124fce8598414b00c4dd8c6a81899e7c27bc81a1cbcd34b770432ac836520414fe2eb8419684d7ba27d3f780ab8906df5ecc8b9277672ec0b36de60878ff7d0a6d2b184f8851c2bc42a3dc15fd36deb2775a6e23ab604c06724793e45502c4f19e677302595e4968f491846e4fabc33be7c3fbcb6bdca879365b660d949ac85031d5ab2aee1c900a41f909a27cb0be5f9bee6ec0b776f5b9e5247b8c7a53eabddd94d8ebdecee69ff7e1dbbd6c956ad39dc13b98b52eaa9c9a52e12f65fe28f16f863eed37cb63f26147c0dcadc005452c7c8dd738197bc5baf1c0646337bf4f11818d5d2989f2f10ea9a66159db15560d9a17a11407163c4a694d4926998e49901875aef606a702ee100489e8b981be94be88e8d5b81d3fb6b431afe10e9e4acf22a96eb34e70155d114b8696be8ba9fe0051028e242ceb6ececeb07d89666fd5b32d6063eeee9e5cb04d110de3f1f1fed6a12a13cda3f84cd0d9018f1202082664426ed65ad49ce442082e535ba97f66e8c1657928a942c26825d0dadde2c49fb6524ca6bf8ca2a58f4b28b38d5cfcd1d4a116b57eec43bca1d8f6142df35833b06ca015bf9e6961b2ad03a641155746deec3f92ac00d24eab07892423210cb4baebd14ca97b005c53017da421be45ee7bbd37dbd8b972d77d4300d3fb162192bb1dd177cfca294b68277e37c6557a5bcf36311327454cdc91b4c4d179c04c3be5b5469c6d472b964131ec07c680110ea8b5c07687f5b427573c0a463333218f366a071c7e6bfad80400c5afb257e184c9b307a88b1a1cafae902f35fbc24755a6838a23e9ec5dd78c4375ecff2fd8ad63692d63bb6bafd66d9173ca7cad67b7672fcf881eb545695673b33c00c671b3f7efdac6b11b1aa8c4c88885f3a1f9503de934d0de7be375943db497a2470af2f09179aaa85309c13de1762ce6ca416cefe72ece54f098b1a066681b4c73f32eb73bb2df96020c052b91626a2e385b1feb7c3f78d999baf1e98d269a180702109c0360a49e5b4245c3ff4d00a176df135b7b0244433afea02610f46c02e8cc896e523112b8333f11c0012881cd7f4af7814a660241a98e0c9f2b6fb749ca6ac51ec8acf5bd95886b5dea9ed8e0c1e1efc080ed3952d4910bbcc63fd9a7c4b9fe7cc18e82e8939d10117462de7ec536339773857be6c13d53e87a101a4c9ad23bb8429d4bc0c513e53f9e23870b61473ef6bb18cb30ff027a794bbd2ad5201e57651a4a11c71417ecf1a489593f32181525e3eab91086b7aa6ab0d58885ea78aaf003f1f0132fb365e38c256efef4b4043f959f081c53a16d0b9eb7962da77168646b407ef3ade90b4f6b1857bd04dca39afcfb3ed2f35ff8cf52add7823317863df1b3f6df49a28165d26677ac6a2c0c18512437e504dd37552321e8ea6a4e158f11ca195841ddc114507aee658db3afb2e3179129a425975d08e89f123476e49c6d0185935463db783303d662265a8c05a0eb0aeae55e157435348eb1b4ea2813bc0588ec9c1ae7546cac6bbc9d431ddf8dcd840f770cb7126a2d1bb6d5c3c687b4bf782f4ee8e22e6cb01292a947942ca8a8afd1c55be588fe535997d9d72377ff4df622bdd67ab1d0beeb74d605c0e7480d76221f65652e10509eeaf3e659ed7016ea8bbfd53fa8100662838b7f0d598b7a2f7db78f48c8374e8d22e164a038e951b607225c1852ca31cfe617ffd676919de8297e42973ef1d899ed7d870b3328c981bfbc30d57586e4c7e55b5ecd47e14566b3b4c9f696df7781c45a5c892917329d5425f4a63a92104d4c0c5e59f7965f320d0f4fe5e9176c73381bb7f221743d29792712611546af0ec9a319bbd01e21bb1e64f7c408bb1e5a1d7ad088a38118ced6e342d70e3f5b4a046f35c05b08f011eede6fdf51db1b80652d4f645f14896fab964c1d40ab011b65c766127b8d772654a3a7eb9396ff3232df866bf9ad7fc277200e284121954bb7be5bdba5e12845c5eba8c03069d547aa5e041d9b153ed41011db4459b40848938599a0ce779dc029c3a742aa47ad432054c6e97559b18b86d799d636abbc320f9bd95c2c0bd6e5d933ad1bbba08222db31ee8d9d6f4e3155aa016f0725ba9ad434e558b0324efacd87d6062d4807bfa9cd71c4751d20284383505441083016b37a972e720d7f5a137f986dd9fa42f605a85189a9352964822009bcde88ce498aedda6d3cf58e80e2842c2fd7ab963bcb3e9dded04871d41277e0443ac3b08c235cefdaf02e2eef2434a2f000abaa61673bb9e3da511a8fe05d70eab45f5774d4749a00ec5a00a38ecc5a088fab08cf0be05ee71c03f1e435797aa190ac3c65784a2e87af23fa84a854bdb8ff8939e337339a3872073de1721533da1491673dfcdaf1c2775a7f166b83fa8a7ff0291044a682401ba45441007838cf41af809084463d161d6318639f0547ff6f467e7d3daf76d7d46ea5e19a9b19a46057185dd76d44973401dbc29b759d445fb8e740ef1f24c71112382414bd8a38209b2b7cfa9f1c1d896686db9e93737fb2a450e7acb2c0e06d656673cbd54b3ea5cfd9d2da49e95654ec2ad8cb70aa10f036f685d57f6f9f7ad5e85909cf22ca23c4271089916a441d82e481031dcaecd2b2d10bc7de87b7f78ce1eb1e627e871e51b5b5f941b5053e217a55b318697439b0e59fccd6e92bab5bfedf1e32199d74e5e9e7f10b5be30ea7ffc53ffc1e29dfb3e2075cd6de979f3d47df07177f8bf08b51369d2be83591ed35ef29fa3b35b8adf562d1771a33fd07da7df142ed5b371e98448c1d15004916f3fe0f1147ca0ca9bac12535aaa9cc53b8e80c543af534c76759d1997bcdbde4f5e0b261f7dcdeee182d765bed8d4fe254e9b840b607fdb0ef8f4502ef347d131d419ca1cc3c09a7035230faf3bf57194fcf621d142f5fe4c302b883893c3aaee53a8f380a72de3c8de34439c85566c3f6f2715373d199950a733a8acdea5da64b6d8c1c12a6462c16f205790be89516117cca31f93aaf52c5d9f03c02ffad83cb214cd68fdd228ac8bff75c332cc1085edbc9483271fdb953cd071158e9fa001e53eb3f1db0cd8123ec2a3c7df7a9a206b93c5236876245b853a4b9b9a2a1acc747034e891f98d7ff923714bfd913f1da7c7dbe152b6ed58ea29a0b271b6693f16ef166da5031f990494cf91d1cfc43c739ada2516bad298f92b288b5bb90224e2a77eac4af0eb43d550978624cbe21cf6e6eb8ecbc4f6dd8c8c60e9d4de1cf4fe432e24619d63c6d993639a91a4cdbd072dd6da3de6be5359499ceff2d3654881f2804539f3ba105f9a221423cbbb0948130cd7b328f29b6f3358ed5cecd73fdf1e8d1726deabbf2c478edf7d1fca4052fdb83684e0bf344618b5a516798c8d5367","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xfe5c0d076d8a953b31f748b11116344f256667cbb9fe28a75e16f7c31eeac523","signature":"0xe02a96955b72dd5b3323ef3fa03179f94a14cab83eef6bf4eec119e38fa2d1b2c89fef940608ce290ca92182372c2ecd69d1d1789efb13aefdbfe23b54ecfff68a16f39955921619de69c58682688777ab351ddf5a59fe83f1f5114377bb49af8de901f1d44d28f4b06415d846c0d228ed86c03bb752b9b8b8fbec70e7e050f836cc2d3b1d4a19038b4fbd31659cb8c2c0c4e19fdc4d7c9ee246aaf5f6f3b3afb1d129d19bb7d7fe270e4439df064433cd4b3fadac384fdef8573194545074074cd3d9ebe70baeae37ddbe8718c9751f9b136982ec4a0be819f032faa91b8a816b6db9ee398704f95d3190b4615b1a9364cba3d8e7551a8b0676982a6342cd9837d2a0ea731f5837cef70c3c75b27cdbdb09e5bb6a7e388fd2b8e268df6cc89307de7dd250320d306cb3ac03ccc455d36b5532ad91ecec2bad1cbc136b7047b5eeaf0b195c6357c6aa7dbfd9d2fdd76ec41beba3e29b5e866469431369827243a1c8631fc27c7441adc94244a61afc5ba2fda55fcc8dba27d2728a317845a5084790f83fb45345b5da35f3807cf70715134c57f922abd6564e253e407273df835440accc53d738e19dbcbbc73bf121c12ff11554c691e5453d0621e971a1f63d105e3886511fd0e145e335869d5acf2a713997131c143431d0a942b941f65195bda5382d318e047b408140bc0ba4e268621f59529b20fab47034bf9a89926bec90a60b721219c52ac65e9800cd16d9478e1d2951fea58107657807bcd4910e1beb316629ddcbf308b4549bd157e33200f9229d507a44ae639dcfd397aaeebe8de993170fa9dd9e18fede2b88098cb42a851ec1d77985d844a1f881d07ea55111c2e82287ba26a57d73483230bbad76f8b5a7e58dbe4b21e36b574ddc29d3167a49475732ab10b0590a445f1c7d89003d0586b816da9aa18ca357eb35b8e78c45a61231c237748d065e7eeb9611c15b7fb414a4f5deade68f85b2d45cb6591a0ef3b4e6e2da0128e42454319edb5f3b6240cc779dd8f66774acec6c34753fee4852eda236327ebb1ccf86d05c10615691b8cd4e0c40cd5a21b5f053fff4588a7e1484272e9e63889b9b45fecf1127281c3d9c427d835b0d929a9f6b4bceedaca46a3b816d0ffe93672bd40ab26d037383f433520bf1d6fa881db7b34b209c06adaed2a5823032e95c675bbe342ed443ee02b8d20c10503eb8d5b51a62bf15ee2186692c488d904b2221dc1a0fb0601a60d965a914711cea7f29e5ddb925381f9a28606430b98280085af8dfb314376b8dba4ceb1009a0422f16155c2c4d210f5fbf3621eced17692c056e781bb9a210a2398149b099c41360cdbadf3df20dedb6e4e1ced924fb7614160994194e673783908acb68bcd3879ce4505626b71fa640fe1fba6dd52d52dd5cb95ef553c982b0f13ab0d9875cfe586623bb019fe8185becc079b422e84a5da73b52b9e486ce32b70fdc62b7411483cbd6b6ecdee8b7483492c86ae18d57a75400025740387d6e6cbe646b424f216dfc22abe4498dea5898e4bc7956b6c4456725c5579b2e1cb85dbbb30139eaf2a0c770bea4a563ed9bddebc571a4303318810d7ae5e196195495fc03c973b0203f74807701f3eea325294fe31a94b6f8dba3ce70106a275f4ca885e8ba51fcba138d232e119efbd7d3205448d1b7cd2796f21d51c9a95fcb1278f9fbb5aaeab7df0653df70c76fddd7e38fc73d68fa39534266b17fa584302e58318b5c6044457b0d3b36f1af8fe77b5b2c5a2c1973ceb6c3f6aaac6d7da28e782d2248b39df3e4533b8aa605ebe68532e2fb66ce16f06a5fab045d45c8dba387a1eb45f8df35c98295ffda11051bce8900b4863b1ab17dd3f08e44865cfc603643fb759c300b4bf04c37618044f96a38d9d7c9325d3b89739ef720801866bfd37692bc7bf026e1df838941f1898a9faf32505e719a9f643df5a476ac1bc543962529ccdcb644eaa3e54379037caed1f7b52ef5346294ab7d31baff959c2c76473676ea2fa653bf75517c0b65d78fbe5d317a7a82337fbeab03dfe3e6ecce9fb72fffe716b5f869bcb9a2d346028b287bf9d24e27e180dc024b239132f05822127271c0fd24755aad904dc1f5ccab889d69cf61038a42f7adb4dc4ca8ea62023b1065d65f3e3c9eff0eb2bb99e9bfecf462ec815cae965fcdd2c535cfc4bd1794d7876b026d65e1460b7856e383fbe13bdbd4b7fd099475fc29ff67386ae3a0d3d86c0db5a52b7d5a051d623cbac6af1aaa689b33be3a93ef4cf543d29e608c1cceca0aafc8101c1dc02d51dc909b20a449b7c119ef12e5f7333a43652f303cfc91c85524b9f2f08b3c14822a60b8646c53442e4fef611277315698d374677ded7e9b66dd048c4df579a45d3babfa334d69d9a62a7d55c470830209fe2fee62a60a094c52dcfcb6f2f8ab59281ded9e0b173db2d9ff73150cab7d768b49ffa55a9e36561690ba02b0bbe760c64e9162bd71b0b1046d0502e7fcaf6ef502bc87d082c4eacac0a204013a2350f677ae8b1f9d04b91e61c459ca2d7fdded85b1625ee5d9f2fd89e6ff532ffaefa5dca667350c080f155945da9447cb81486c26dadeeb04fe2fee98119a979f2bbc3b07df7ab73bcd59c2079af6673e7c627bd3998c228dbe9b11d855eb09ba3cad512534fa8b63df8b5da2612d766786892274ee543174fa9346e6165f3fa05d766a261cbe6e78129dcac73c2181127b00e50d34874694decac11e6a3aa5edd364871c9134c3a21d5c3812e3cf368fa2747e102f6123d0ec50e9235c9f8bec169948892b5cfb163ac7449376593d524b2afef8e40e29b672952201dc28e4c29e1a5275d9be8d675a531b213bc30a1b8cfa5aa918a6f5d1008fdaae408b830960a20bae55eead5805b432fc431e74974ee12f5f1140b27d85ccab49a08a29072cc6b89ee4bf80b2509890f8c0e662f5496901a7ab694f16e751ed6d4824d4221fef64e2c59746d187372b0967dab2e14d15860cea40b0ba5c08e306deb2a62ff5c726a1fdbe842799f27847c2163b0f9d23a73dceab0c68249537f0cb18f64e967b8b3541ba70f9ecead36de197eaffb4f47d39752b1cabe7e2db81884a9918ced84574c6d03c70b2f16b485afdfb7a74dbe1e1cea29baafc04a062f47d18c67449d92e38b839bf94a4263de8cba9aff0a6cb6342341e95d44beb042ee8a166ffe801f8e76945faba6f5695454c8d5c8a02751b78fe76257dcf1a7a2e8e605020bdd1c0a54d8c0dbb658cba15583f54d8299ff71f9874f59ae5fa10ff3c9b2ae2c3742ed120ce53953ef0f1b3a7c43ee63f10832118d0a16e3d275f306a555075ac485694b9fb79a345a878c983e5f202864c7677b98cf9704bcb3269ce6b703adb738750a0b38524fbb0017787fd71bf3b07b062d7cc3cf8b26917f9a5fa771f758433b7cbb9af9222c6df074ecb974a67a29d891a4d862edec9875da02839ac9cac0f799547505ccc73053fec1510c8e2100d84c6c3c864d9fc4d5d0b12e0cbf45ae63cd8fed3aaf039e0c25f2a4242977ce7f90bc430b774d658f3f06305248df22bf0a6f5f7a7bf661a84fa93b63b55a3f799142955d33c04f1771d36491b60f5a09cbce5262fdac1ef04c48f2c2148480db38fd660fc5e02b0b4fd72a7ea4c24f550b0a84c529646537a4ab207aeaad00089f1609270cd10b700ff55eadbfcbce65e60b92800b6eedc4c571816e40eec42dcf81cd7b67c9ea26bd69aedd838f3f74226524efc3f9aeb38b2fc689c29d32cc51013c5e19f9f2720cb98dd118244cb3a3ac3eb6cce80738df9e2c0a11baae2feaf9bc7fe0b3d52c998f0e3a262505d6ffad9ad877812ce0c42e0ebb27a5ae3cb42e11cfa21e5eff9a2403626ec5f4d2eb08a29212f50e44a066d5221be81a4e168ac79fd9cb270bdcad1916e9ee56080fbbf4c9c9d9a82afa2f4da74a6e4416b9548400b186eddfa9bb383b23d5b582dfdca821a7759a75aecfed968dafca9c12e920efd779396975dbe48295d244f11890c993eb36e5b33d4deb3b121c0c188b29dfb7c38159a1505016aba6a660e72663475eef8bb8a57f329dbe82804df953dc2ed041506d55bbc49fddfd971cf143f7c8e71c4bbb0100639b795ea98c25211063d19ecdd7da01eb47ca526aa886d2f5c811a6852447e171df099f6c8cdc61b48760af9ef73415e58278da64f0219fb5545027ff1420b0525e7bead700a98f95b5bc38d71089c02a4a47db33e42a75c1d94877e0fab3fb275c82d2aff7e92a3122bb552d2a1b99e3588f619c33f0fa2e9b13ec08f59a35c68505476f64f5fcc68f7c311b0337fa1eb5f3943e21bd8856d62f31ae23d1d77149b56a0e78a6e5a3e753797f5d47bd5332593c5fbed961f3fdc9597cf9af1d4b3b9a92ba1e21a6fe99ab6830d53c6ac4e77c8b4b987d3315182d8113bf757c90c0dee9f0e71bdbcf95fd9be29091d5251f200192c9b1527bd288b772d0b70179bbaddb492eec2d4acab77e16ab17bd85c495f892414fabf6738718e5252eedbf036b1028066102aefa27696cb20d978f11c8c7297c4462494fe78fe1ff44b0a4597640be30d0890cfd6b09943bef4da7b6bd4fb270e6e895525b92dcec21eebc77e1ffc510ca43e2decfaedc82b37ca33094483ce1d9c95ca78bbdfa445d2eee10695f88a23cb6e7d279a4919b8fdd1d9d432bbce87dca2af49cae1602b7edebc6102494bdc4a5595580c58463e3d91d020df20818e61fe9ce7bec1ae7920ddb5a55730bd942f98793ebc1997360235932bddd81652ff60f45a1c4a98cebd21a445cfe6d642cb99168aaa279ef62fcb3277421a8f28d01dd1de237e1875b8cd7cdc2cbe8ac619ec9fe5187a203b5f459a48cdcb034b3ab14344c8804bfd1f29b5076b5d93df7b56d08f6f9a3f9b0becca3a9cefa5f8f6aea12439c26649695e95114287b2cc7756abdcc5898218766bc5cfe1722df5a0c671e0c2f173893a30a7baf786624fc98faec071893044330b281a28f24043e8485508bc053cb0301a107a1bfd1b9c2f0fc2867dc138d69ed9369be877111dd3ff697755aec03a127d6cdacb73c217a72c8da446b364324fa03e4baa17142958bb0cefea3764bc5d215c1f94e9b9c4308ef8477b17d734626245a01c45473d5d937e20f54627e9f11bffa8f6ebd105fa82f0de7e3aff3edd52fdb09a42f27e00b502ba57cea2a66bd9ee17e8d6418df7b4cd1462e99231dcb325bb715b73948ef3fce8fe901416d705baccdcbc0013c5e6eb15a758434c0358a4ff322b3badf9c195cb601bf5b45964133252e297dbd62641cbdab89d453c64288fe30e31e43443e51b2fe70bc677d9355d0f6fe683732bd239126ff64b7486f9d2ca76ff2d76698fa65d441caad229aaef947616cfe9bacfd4f0ae5471abc4e0b7d683d793850bab7eed6116493d8e63588490e1efcd83e3cd0be5fd4ca6acecf74ff9966134a20764a15144089ccf7ac4d8d4a22bcf3a5c2d9ab9934a5412f06aae240b48577f2f59e86473b24d06cee1a1af6a866e93ef55d04ba35c3972965b925a382614afe53f3bfa38385ced2fef031d8b634e46b17ca1bfec2e8a7a91c7923d1457db4f75d20cdd3d223d15c947ab0e3999399c8f7dc2dd9079ea76520ceb836320850fc3c97cabfa6938f501810cfafecabcf978caa890a271f9e037ad3b566f5895baa533dc214e5db4edf17f36017acdb3aef0a54ce916e675fd05dfc99ddc11fdf7bf49c44954005a5727323bc2171e9ac81d9a7dcb1eb7d6e651cf9c7a812d1eca213b93c6d5c6dea59864cdbdd253a458d08cceba9b9de13ff76c508f8239b853a4dc0ed2083c800b0a7f455b4531de2523f1bff654dec903addcb77808c5eaa0a607afc04b7acaaad65b07e2289d0e8e7aa648522fbff76974fd1aff157b12b8f70f23978a0aa0fb8004c53548539ee647a056754c8bf06b3336744318fa21c24537e491190d6fb9c0accf35a989aed3bf189c92d56f95f1f9e16f69f29eb55e91d9bccabeffbd543291dd07f60d692d7df31d9bbf19959df63bf59c4ce2553fb17672b638ddbae05d1011d6a49b935ee7daf33cfa03c0c5ca09069d3352edd9b9b35bb73da9114ae10aeee9e3d46e613e4bc2bd3e1812bdd844008cd9147605cb85130c035c227ed8f1d0080cd6b3bfbf2785d4342b30d99c5891238f69069e008a8d76d5c9e44463aa6699272b18cec230192570beb7b168b3d8715a4b317f5326d24241fc87b47c87212402ad7d950f21d0e0466f31be6b17a9f77d88fc22b55ba8d0f47741c0840a0c229a18179f9ac296631370ab6a70ff5338a786d07cbad1fa3fc636fe8a6bc6eb5693b944050445f0974e5ed3e0c9127999cf47965c6e092c826f7c4cb3d9f41c1df3b3b58fb1d289a24f077a236adc8ef4769db700205be6eff61d495c5d848aa3f1f5206c818ca7c4d20e0f14374299b2c3d1fc0014343d6773a5b3b9d6dfe701171d39598c959ca1bac4c7fc0e5d9b003b6e8eb6c8000000000000000000060f16202c393c42","message_root":"0x1dc6b449081161d18008ca4bb0f5264388639b97adc0bc2c2e450de45aade5c8","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa9f86c07457adf958b9f3ea7c192efb095fa93ca8e98044a74dab066fd0a41e2a8ea0f69fd54a635284299ebc75bfc5153e1cde6acdb555aa5457d4c3d37d0fb7a84e9f8bff02148fba1aec2ab1f6db14714d275eeb7dbd9b707c438860b18d074204b6c86b45125bccd3e288edcfcfc652554d49ca50c32872e84904e82821de29ffb45a8f87854e90c37a259f6a99e19dda01c86b910366dc86c523c87a14d3a206c617d3e140c922a901b9b667eedda4357c9043cbb47d5633477c146ca2c144a0eeaa921f20b8279369b43ad7d0298b230d39f5746c737783250e23af7a0037bd2d5e17bfff8ef89d4802323aefc98bd5c19717c0535775332587688df76b66c149f7ea09031bffe5fc287deeffee3f6e695917c2e3ab678d1887b7547be909ce4a85a29bdfd0837eeb995492866f57b1cac3f77432cb405cd7a5eaff3e1c134db83d78e7e6290279a15b69e3a8402cbb5363ac796711539b78e30808d210c8215e17296244966ec525e78bdd6234bb3de885f25ed9a4ca7c57a992907784ff41e62481e4b1908b289bb4f6fdafb8505ef8506eaba7ec8de326336442317ed5d900a19839fed9e87e13b73050056d9a9f20c19d7576b1ae4f9c50450e351d6b97f65e6c6d15112b1fc70b2a8e7fd4f6a01fe29c9ba2fdc710ad4689c37861b2c80ae0dfbded3d2a96410927b4b236ac0368c33393a39a8a11345ecc293a0d024b2c8b3551a440e01bd5e015e36d168f04d51d01571b3c88659fa6b537d6d9eedec02dadf51e0caaa9c3acf4a69057a21778d28ac82466e3812c0438af5f0550b35b253dd04f0dbc30462f4783a2ac76b78b965c6c27df18ee28377fdf97302c43cc79bd255b511074de954da60cc5c4e4fab538ce4cd1a617de01d83281790a87b8ff99859e893232a05238d19178de936f7c89ab71d59adee6288ee6230eb95cf3bdc370066b9bc352856ffd4f4a9895b0e4233973d25c46fba6da68168e39dd88c17994b6922583c722bcce89d48f8deb65b155c6f68f4405216fb4e39e8d36090b40eb26345c28976570f31477ebfc18191733fea400942e7a5bc415aae92535c882b46e14b8fbaae160b930344227626b12acfcf0c4372be597a55e5e7321e320b9434d8743d20d06561213a79da0233b1dbb023ab92234488b830d9ce9e28a05ae0bebab87c54c5727d930b46a107f45233175dab56be657403aecac4d16e48b8262fd703fc6e1b90569d476be062be461052735b1267d91d59565310df595c3eae69f64987af6e1feb409ee6c4a55cd523e6524104da421c1ff1fd8a69b4dcfd8d65676af84b671aa35a31ffb00117fcae59f9154fb9f32cd729376cbdc90b9b3ffad6252ede0c3b176f6655665fa3fbbfd432cbb9181466d05daad382bc144d46ed15d8f3c88d4b3df6ac0b3f8f682f667906ca8c5dd9320a3abaa462ab23cfea13f9d82f170df13814a11f13188b20c5ece7d5fa47fd04723fb98ee75bc0d771f264a4c8a4d71e8f49f8eda0c2c353ed4ad7ffef011845a6eb1cec502bf1b46f152553a1415eb38bf04b38ff7437197d26d9026e5d96ac141fd51b9fe5065d2980c35aee4db621cf622a8c97716bd2228821572c073156e9af71247a8c39fe00a1a6780e821115dc6b2aff1c38d9de8e9ac7dd478833916ee08f0ef86a2930c0bf26c53b6e13d9148e4ba124c5c80d47c1ff6761b47a4eeff26e63207bc6972d54ad4d58e1da5acbf5f0bfa48ee71d06ccf4a98b486fb4d7a22a1a7cf742c67305ebd5bb174e355507920de17044240722fed83f0258a100a55e0b34baf4770c1540eb4028a10231f3f131df36d04ec5d6c0e4b7f3730c6325f42006ea7c6e6f4c9b0ace09be37bd0e3e30740894a2a7969b0d3a0464f84204e0214e736b62392fee865bc5070a4631219be91e08b5ded7e5726dcb196cb52ee2ead6a8f3f2646380212875f08713a77b1f18d09650714c5c4337d115e372adc663a5484f3f56f1539b511aee65141dd5efcf8717a1417d28d370b02b04c81190c81d5caffed53061b40adf2f36467e00f99959d0172d7772745d459b96e90d8baebcb5ca4fd0ce00a83b04d2fb5e21e60a27948a5bd49523bacb5193c08aeedddffeb3ad5388c5f9ffd38bb3eed705ac280a4196c33c8369f5c29c34396ba843e723aae517cd7f63b735f1c4aa59672ab098aa3bc594f483af6dbe7a2bd95734e8e2386566c714ad106b02b6d02af92413a94c409759f09ab7330ca605163282d98a02491525bcdac04331ff759541719899fad0d581b4b3d5161b854fd7e9b850e8dfdf2a87b10b636151a66a8983e3284dd767603296db20ddf162e5fd3c926190ee095472043b2ff5e0338b23be435bcbbd7f099bd9130d657b0385161f9faf720b028d4713849d9647e85d110af11e62273a8a6e89ae865eb6cb9d440b453a2b4f7b022ed86b41a0f0e58c7c86290af21dfef3aa19e02834bade8b76d25a37de8b7ca271d522fd86adb4a6bccbce5b0db49c7d5a5d12008737b82ae7ab3f2853c3911713d7785554a7cad794a8f674c2e11b2beb90eb2d25cafeae71f41ff2074c5b03bd3e398a410c6e4a7c1332aa7e3b03533813d32b9412ca9aa8e6ca99ff79c7c8782e1f7786b7d827f1ccd7036d401b1ede248ac9f3fe67e42da04056847b52080cac773f6c0c7f1f6dcaf9d064646e0a0ce47538c83e1bfd688794484641caadbd0e2b3a9ad6a14b2d74faca19c2b83194fcb0a0fe11019b51057f21a4da62e154b84fb45137ee88eea83108766d342244309579844da9d5e62bbe567218219b8b20f91d7b8c3473047aa6c67dbcaca816ff008b5db111a771e69ab8f1ed10ef22602dd1230637b0cdc577af164a3438c52cef725a5e335fe1346bd8fc59473b2bbdbea85472b758ec1c0c1d7c9f1f0bb6f07ecc1d68071f745e88f0c32a7ad87d394dfa2c83f0863e3ddfc45a09658c5125fb3c36bb702d95f94e4d90fac99b2dae4ca2d8b093fbcbf73f995df7f813ad3349d267d7d1828c37ad001637fe86d399f3427d2962d166c33593497559fa267615ad562f38f231445ad0790a9aecb923be3d866444dbce676f0be02d91f0065f424331f140c3ac61fafa31f544cc6a7e841c48d2c7b26e896c26613340125fb42ba78a8883db9fe821225c21087732ad8b413bd0f5fc14bd704fea2983b9197706586560b23379d3b18544025ddeb1a4d4b878724d0526dd407bb2fa7a2a7d337c7dfbd4517069b53e7c2803d7fdd25e9aa92b3524a7457b4bec4990eea1a9aaf216e70b9c43351755cf28f38371fb0e8848518f3f407730970e2a2cd82648d03c8c172c499f4b4eac98e518b76fb165f94b25866a9ae792df8ee02bbdb5b6df4ad17db20b7a3176f9442f11300c9c349f528ba092e1233b8e3f04f20fdf9ecb7465f0518125dae33576fdf733741dad08f5a8c82cc64e4d75ce078ffeebd71c79ef424a69f2d6f55f6aa72dd0871e052a1b641df48a12482c32dd3bb4f29e3b1493250b855b11dc7f11cc0161616a33126f12d1688cc7d8b393c398ff71cfb43cde75a2cfa31368e859a7e3f9bbe4831d8c4e52cfca6e3a9f5bcc74bca97b25ac42ebfc6896337c68483efd41801b9de98b817277513bf43b530b8d28894084e40582cb5009fdac75","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x4300677978fa209434776727591c9fe4698e7208a8a6bbdcbe6bbfcc39e6a077","signature":"0x895fb5e62afc171cb03bf8ead161428f45342ebbf8e70a4f0929f15d99bc11c4bc88805fe959970ba8eb183d4f070b1d22bb665caf81e3d1526cb2d65ad55ca5b4d6ad3dc5a9ceef0bad109e693ad8a4c86c877db00e273f3ed8926a74e02a0626becd097bef2a13e39c4c0096ff4e999496c14a26847fa10cebd09883d2eb91b0a5c06052edd15e36df327eb077c544fc64ca657ece9812baa041a2250f5524a219ee1e821ae57672e23de99b4641c66c5f354059a34af2a0ecd9cb22fe59de6fe4150c6bdef3962265772c49aaeb6400ddf8625a2aa6f143def725cfc21e5a24e342fffeebb52f75be2550724c924a96dc8e2b3723f558d8e9703f4b8ae2758df2d602357cad15c4fae143db5827521b388ff41557395d64d3e8b0910ce708ae10aec3a3c54aaf7827c215723efb0fa07c607bb6b3c695bece673f5eded3c4516dfdea98243762373eeddde0b928e396cf83f9b5ed78ca32838033e7109ce340286f612a7099caa7c384338d3dec750ce2fdd764ade5f55c53a18654c8b5a36b1da771e353a4b8e37f7a79ea53dc4dd3fc274b71884197af208ff4668214e0078ac98b0e81e3efcce8e1342d29fe7da7239c89c0343d296805f7c9fb9f56f19495c91122277d09ac4bb5ffab5d9729200d10e89b70ced6940c69d22a6aa36822276061c6e96a9cd84313d823914172d4b73ea2446670bda9e0c82b041d69b50b9cc9ec9ef25bb8bcf98555e3b7f1142c1855d8f465ae6034ef87f2946158cab3834a9f654b8cdea4074ac33c8059610595a2011cbeafc392f9871b76f61ed114ac8bf195a628907ba300584834675def215bda164f96724e46ff2c0de482466c5efbdbdaa23fe6610aeea63afd8c68595221bc6418ec4673b91da3f03c9d2b01f862511c6dcaadd3edb9389b3c95e2b9ab7355c18eb71878c4bf6411d4106cbdfa0cffabc017e46547dc5876fc8a1fc0147dc80fad468cec434396565409cb274bfb58064235ec66496e5a7329ada61584edce47c5dc95f553dc345ca1b60694ed060ef10cbee126bd2f6ba1d967c768a1b2f52db8ebfb7d05476f9f68d624594dabf8277635f9214e24e4730d67b05393ce30a5234b0e798b002ceea10d661b2d574810eecb01e06b9a86a25e5af84fe2f4cb56c30510b045b6ba733867b8553d635c62ec643fddd4b1a86a7dfe9d84e6775e8822a72ea6ee71236f57a593449edcc9647e7959da55513d9c6c40f1d04d340908e9c7485a8ed347d5602166b7e996eb335d17e9d0cce6d0bd67a833ac9445fab81223d0f1473c35836e60f389513f1e29ce1c2a4bc8a0d1f17cebbfd73bd4616937565af9a50b45b53f54a9c5575ddaaf5f7c86023aa9cba429e743b8eba145f6328fece710dae77e90da08611755209f983dc798a9a7a7cd156689343ee1500452249a337ba4898d4dedd1a1e10f275762f3364ce2d07b79a9b24f55b69d3392a9b6924318ac2a50a7897be2d3dcf82b277a8725f33a0bc43ad3aaebbbbda0a9dc54cb116c1b72f0716cc16dbb058cf3325af4e3b05a1820bf67fbb193deccce05f3aad5a79379adedef87625f4384b12217b8791d6438fd4dd4fa0498147e7c06e2caf41c8da2a58c7984bb293862d78f1356ecf6898fe21eb85ccc6a0b64ca4019de297d25e90d0de3df0fbff7f9bf67713ae54a6502f1f7e221b15bca4aeb6632ad9e13b97435309b94aec495f845dbdc6cd7bf60b6d2f469ffeb4e7310aa706b941e243909ddb5730d40cd3abd539e964d1fa3283d974dfaef7a178df6028ddef5ba65021e43b5da255997b4f93e6aea6166288e9c67b81eb523db5e03907aff578c5e9b436083f87dc4b777e31d6aaa2db2ac92709d22ca5a04332613b2bf5a02c1be5ea990c1e2b38469940dd7c6b1f854b264277d4c5dac4c709364b14ad1747722efacc7fd566b19793a383dba0d3f5b26c6892d3b3a846c02f8adde6bb2d6104fd9a5a754ebb34ec3a12999e795a5d0bfdebac38991c926677ee1154ecdb4d2bea0f8588cb49079b08b6f0d45e5b7fb8c21b67b1ac83c79dbfd6f2b3cf1b8c67871450f0894c3b4f36f9923ba9c1b2c29dae1a7cff8ebb2c5ec40fe04e2acc69cd0932093739bec1e3fb2bcf952912be5a138435279dce13032da872dea67d8b5f5f2d8a3eff18193b3417c8cf8a07e5a136f919b20f025f48f1022b05c46c3a17d2b843d26e90300f9475fda09e80dae7471a23f7c052fddf1d7c8b72c4be6597e0c552c87aaa0528e5791f7ee872dca8730a65abffbabaf85be244dd295c75083411cf2892565ff9ee3f884abf91057159f04c39a63d49663231005d0e8dbcfc412c7e515146c48c7f51aaec824058380e3b67c920400972556a7f0fb1d9ac1f296d2593ad35fd9e37630bfc93279b98c97bf72f63ea7634f14b2b952a98507cd75faef6ad88e3c8cade7b1a04d75e52259c9205555bb2ceed872f57731cba6febb68ea0384acbedaac3e8cfe731b087500eaf23b92b7f191caee6a5a06ca55ab12be153e41ffe0f4206815c89ecec680892be02e57a98e95f66fd02b6179b5b238ef184a277e18110968461d969f39e8289cb2ae929a5524009002b9a8b6e7cb4a8b70f04481cff3e0b14161b76b4bd757ce13667401e607bea7e3d5fff63a58ee1db0c9193b209cba85f74aa570fbc3585d169bacc659fd5355856bd88dc6ce633ac1d58626d63e2080437353af1d6373389f4af715359c6fa2d59191d4ff99845f99469252db9b2826c1694df095d53c87c8b6cd4cb7eeaae17938bcf27a8e506b1dd4884c8d53a0e4e807eb3cf0580298535f27b6e2b7beda5c8b7a04f635ac26968c32a8d27843f5e1c246eec9085e131d6c8e27368f641a45f97b884bcab2fb66f00e72888b9e5d52e3121715f068b669013560304ce79306d55a7399d94646681b9b6294b90c9549838ed4c3ae6e8d26d9af70278b067238f98f2e7fdc366b24c8f2a0308c2cf4a273de50305b089c6a4828d5dffa2672433edbd7a040ce20e85f8892b2c34bc70ed5d129a6de28ee003c02171a2b36fe7af29e4249808613ea67b7421f983c34c8d2755ecdce9fd3b3e3f74f2cd7e1193b3e5da0d13cabadaa7cb1f7221213d59ba5563651a6489f3d3930d3d99c9eb76573cbcc70030f7da98fc338c9244e5f9c370061a61b90d3b3ba49a3d98b7af9714a493b85b67816036dd01411a82c9e3b89f0dd783374291475a3869700c0cbe219c60d1bcbfb3fb69693d52f5be21556e1d5e029d7316bf6831a25b6511985124065116099452db79133d4b57576ae6332cbde0aa0224cd958ae19f66cd92c3fe503794b511cbabf4bea93a1fd285800bc165443f49e6800ea81c89d662016151bbd1713aea2d31ced81d0fc38f182c950d3209b369d35e7eda7cdfbed94cb9e55e261a7475151e86ec304b6b77c23c3ebf4bc2897d21da5a27ba97cdb8cd5de4af21b5035075d2c452dd17f30862cccd8bbff90be94856f952d81c96e2748d5411bc1ee1d1bb95cbac2a23ab1b04f508d36ef7ccc648f7721d511f624a90a6319319d5bbdff66841195768d602d1647d581ba4c3409debc248dceb8b1d28ccd5e929d50a8704aeb29693b746995206a9d9df172eaae94af2da2bb51a7a67c34bbfe27196042e7608dec6bdaab73fb026fb3cc585169290a431551ca4c11e744c61526e5697d84be138b10e61c416aae63b1375723aa6f82a2a690fa4972aa74ab60f36be79611e13430f30830af38e23a4ffd7e9cea305b7d2a9be9c792444b234dea1e8f9690aafe1888faa4492b7a85f437b9a8652071952b2cba4b929ffdeefe19aa40838f1966fe7e7a02c5d6fc7085b77529ec9291ae00bd2a7119a3a437f9594a90d495af261cd06194ad71c70be1c91c0add0c3d5115e241b0d51dabb9d059eedeeba3e718ff129fdce2c949eca6c9eaa3ecb24fe4a0b1cf42b094df67c0bbba4ef7c36a990bccef332523a43e9a02ff742ad54ba424539ea6f98dd130157cdb1de926a7a844834586bdf924bd22115e3b22a840c0a99fef91b6ffaed7c450830febf74f9bae7f715cfea7ee0ce325aee97a544d2de59b46f0203d1b9e93a0db2446e6849d0f4dbec7293e43a048051afbaf4a934c501cfb854740a12fdc10dd670eb0c9506e62b708eb738523bd371f858c353781595f5ffdfa193454df8fe482d4c868c6c4a1ba871626f98e2af000b4f33b63bb61f4a71a45632544de80e2a3a6dbfd3746a182666458e384bc3465cdc94f984291c51b185154ed9c882c61328b3cb98b3c27b676402b19ad2d2ac7a4571605e68e76ada0a6a20766cb441d508a1ca66829222d7069061353f6047d00dbb1cbfad60cbbc23c7b9811b25c79b78e1bab8f3f78e59e1fd668b5a40851642be4b30b5b1af8d6ac9745d0912dbeb644021ef3fca7eb2cf4b880a59a24f3765a6d6b2f8ccc3646d30c4a6e4fff312e4d4678c191019c0b9e1d0af2fe0b18f97b6174b55cdaccfdf64fdf142ed91ab74bcf54fbeccba9745ccb0c742b65191f7ed7da39da8b47cceb2b33e444212d49100a699d6b6bf7103ed6d09dc319a9c98ecd58ebe85f423534cb9422d58a34b7e026f86f8fb8720048b07d4b376aa01756928ae279991164dedb453c9394da0a0faa01cdc33ebc842810a873a76e48c80b415d2be888b771249eae9391529db83a24a7156f4fa009d40c65932a73f22aaf46ec6144e76b89255525231eaf98bdf05648b1a2b1a8d931b4d32e88de9a7eeb47e3d3e5edd563b6981f0143deaae0412ef22bbd78edb5d22901a4c92284c794725dd9edca05bc023df6fbe26c3ec8511c83dd758a226af3e3aa4c345a4791a3c0229c2c0ce16de7ba0e37ae6769055e9b3d07b7d766dda0dc6445afe1012ed39c7b558870c5eab66ac6049ead1a55f37d44a365aa3713ecf862a1bccef7926e6d060b3b7f8bf4741977f885696520c90effe057042271e15a29b79d2321ff6d81f0daed79119dde9b4c1993e48cd6d03c0135344030a9ae056dc0902092d3f4c9709c46b33f57279629027dc8020c36cb2461931949e2a069bb72ec54540b7bdb27076de51899b603bb6b004fc6394697e37d1059f8206f2110290774f3dab79cf8971aef694bf1886d9259664782e0d2cef17d5cc53f422c26666a4019d53b7bef584cdf40f90cca3ea4a9a3b8bdaa40bbf864e360e0d1475a98d1787116fa296817cec3551c5b757fd65921337ef6fdf99873cc356414d06300c616863ca058988f0a5d32cb560f6f356ae9931765af21f73e9c9a764de04c084d528dd0fbdd440e04c26c357d53d2430f3349d118785ef46a233ce2d8009c55a918eb108040ba89022484d536e3e2f16903a809a0cf90b3142c5b807132df3c244d3754e114e1b4b34516a683edd4937e6a04aa146705d5de008904e51a2ab7225b3830ce279023a7dd1eb8033c9e0f68b939542ab6b5d56121bf8178545662a9cf99993e67079b60244f3807620a1c79b96a4eedf5b7bbc3cf3d314fad04dba4dda2c8450eb86522120867557ee705acabbf9fc07b324d30b6dd5a2a98389d4874202986b6081e5030f3b2d9facb064f2407521273a5b9885d0db153630cf5e98eee4139e95d133bb311b2499fc641b64eb395e5208e6625946743314a536739beea6b0546a86580c09ec044a5678d34e567f96dec4f5692cfb85ee1558e5c1f8b6c2c28219a572c9c58eaa1b491fe6c44d8837593f10dce891c3cd4dc3cc19a9f4371236e9b44f9d8a106b019e849d898034d14c6f9dca55814215f10622eab9837467f820841f8b9b86f57b2eca68e7f67c293b0fbb68781cce60e1651eeee8b62b89a758956a8a76424fdd09fd31e657478ec14194c5f47a4b74928b3421c4a24bed78f6c2254f13a892d2fc6827431eb0e89bc4c4ff67221f3e016e499ca7db81ca9a8c565083494bf4dc13c42a534fb80c63e48fb1ab2c37f8f0ac175246b78af9e493d84dc49d4aa4f93717a6537f530060d23bc1035a7e4ab843a5cb0a8c08dd92e766e99a671958dce524c49119b3d6d93bf5962295e9881ae87a67256572c3be59d9ad639d26fe241c6792b63e2c40d1a28e974ba3a2385de3e89d3d0219d3017f6b9117e41345d227269b89a3baf2d8db86b9571fe7a126b421c8bb56798cc292ae629f9476118846e5369a71c83c7361111d3fc6e0092ba3a5bbf79e56b0f0968ed43522a6b50b71b0ed030f90ff522c2c8f87c722506bdc065965d4893d1591186c3a797a79608a37c21a6a259a51f52358156cde981be79e789305b5ee867a19ec0355daf83bcdd58684974043982ed891573cfc13370f811a8aa7981b51666081401106f1ad13197823a30d5868bf0d7acf720d4bb3e318afdebe2d65bc02211f33d37bfe27b24b44e48f2bfa1309b76954dbe020304608bbcd5e91e2d44a5bcd9dbf60010719298acbecee6f5ff165d609dc6cacede2e73f0fb3d4e7993b8cae2356194a2cd00000000000000000000000000000000000000000000020a121d25293035","message_root":"0x6d9d14f92da816e69821764fc11122c1d8ecffb6b54f9b9ddbd98fe181905041","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd343841b1e31d620107f45611c9101755e66a299518cce483335ef5be34f994b869b903e1802583e1d8d979359ecbc29298c223ebefd08e08dfb41daed1e704dcf01420c6901f76988793b40fea4273e9f535c8b34eddf2311b9a9934b1915c90ab3b7879b35c1542ae13c27c09422d77a9028d77cd6e8647500833841c29730651092aeba99dd73d8b7445844ccb3b6662d49586c1e33aa2eaf206556f0acfa22d5bf33f38c31882ae0bf5230042649f2a94f627318dfbb0fba0a191563c43ee0726ba0fde980f8ec9bcad58436776cf7d07698b892918eb861c6447aaf95bc2ecd56c8927690362a7ded4c448dd83aecb9d030b8193c8680a75ac167d0c1575311d07a69460595ed94f2409e4340c3d56fd198e2de9597028c2e3ef8fb708294786158ea554fdd81d49ec09363fc80937787758dc83d368dd60cc3e59d36c14fb3be4e0d4647574711a7a4fa22cad8ad9e71497c61e221b82f4d84866a7edac4e96f6ad73ba4823d6d1a4117b44b87304c769b63bc6a5b3fe496993f1b71ea357fd71de609ddf43c451cab473543fb21133c229774d4001b6bb434e18e1271be8c847d8895454efbf77d4d9ef1793ef03eac547315a2528018959e1901030938a994a12170483b0f68753bfc1fc65c39477debc0f43df90ebf4227371424a222c8d74938b36a2262378e432af4832c0ff31608a313c83731b482dab31e6db342ff3d9c230ce4a4e7835401575a79a4d97efb45407ebde937c7f0c750d2183d94f3e81fe52fdbb95536f3bdfccb6f573f8c2eb435a46bfacf22e7bce0f0142b4c6760fb00b9fc442bf65e4a09983c3725fd33085e64e0a53a3fa4fbde6263c71449c9ede670e36f1d905e4bdee40deb654484523f54a5162d60725cb98565dbe6b2266c57896a22e2a1143b87558f93d14c63e95f885fdf9adab565ce66ff4e435ef79b55255a549e9b5ca056a957044722a8f1d99a7ae70f2843799dfaf68701638f01a7020d9a9b041c3ecf44b5bace17b391a186ce9a3548f22d50192f784d8b6cbd259fb31332972117fb7377cbc49b3feea478b22080631b9009e40e7596d9c7acea84d41e35dc22b4c892ac1cdeea31e51faa27c7f3211752e1ee2d8c3fd615f1f38489a130362eb256ed70f585e8edec22fe25ab93db725056a33ce8fee07d5a18e5cc6c384695a006b84ee8f5e9ef45623a0ac97a879bdf5acf8bc3459bbc4e50b864f9a0ecdca74201afd5fd09dfef985930bfc1526f3bcd4f5c19a5626928db560aa446d304e27ba4793bac5ce7f787c91a961a4f00f65a5ec8186825ffae1454fb93a8e61d8d4f4411fa183ed43fdf55fce878f5aa2c49215dd0aa46bba6209d6070e82815efc992636241c3ad190261356aa2e3146695028736f2e8a9376820752d3d2d39feadb9d52aec06ecb15d7fc04bb5a63d45dc5ea65e98ce9447356a55adc777ea10569ad1b3a6a99a7761b0de42704e792e25d97ee1568660b687dfb5551ec513930889426a23f25a5af73257ea75432ebee43d701c9d20b7bf3519e986a8d36288e84105c34203f2a9355f274dd27ea3b4bbbc396374c67b7e8980cadabec5da0c3b4827c70c8cc04708e39251d0306610667fa77184beaeb5987bce3866d21a0d7f09c2a6b917cefcb750b5ba592d8a53c9695d26abe1c6cbbb8a8b87e431d835baec6d304bcdff6ad4009092dd7be918575720fb9e6ae83fb6936e96dd6c1cd3f86f501f6e6d5bb6e9d7d7c7f402547b05dfa5768947d7cb54a0a84ae484d445a5e39299374cb976f126acbe5574d6d2e408e97dd6212c9af1e000870fd71d3ca2437338d9f2ccb638f692c5152f3abf49489952aa96783c8cf26b0d26c0b6afd11c3625598f0b4faf0cf99c5060220c399e648c9402783679080a76923806a37b3a16bd8690b3d5ca862a2dcf5add31412658d45333da69522faa70c2022986caafd59c2690eb7857321717a6f9b7aad634030eb93d74cc7950ddd11e0288f9fdc15c8c99d124ce968fbc6860770362a6d824c5ee36cc56fdf1c1779600fecce58f60dfccc1ea4d3bbcd80cbedd42f06ab39a06ec655f476c3de21dcc16dc57d4d6dc624b2effd9ce2ba2a19f7cf4cb53560da9460acf38a01c36f11c70678a6cef3c71f266b7b8f0c42ecf2fdfbb4a099d2192f5d18d583cb170108c4a291388edbb6fa45c5e31ec187e7507fa39ac0c176767036c6fa0fd5b72c28e2431cd42594095758e40f84113730d505846450fc96a5626fbaf09e14a345d829a394ae2f6907caffbeab343a337575193aa56b140dceaa1fff2725b033d16eb1b0468da1d03b7f5289304618c28d97233bc0d94d65e69ffae69c500bdeb3ba7460296827c299aa87f4e5a9afeee63c9a4827ea4461ee6028850a434213d04c0bb997bb56718ffc3a39ba76764b3eb0b25cfae63af1cad47e94ec2330556f32896e0f969df80d411d36785c7727739a58478a736f3e4a257ac1c4083b02e1ce66db038955aae1ed11cdedc119dba05c7ebafd9cc935e42ed2184207c1540c4141e1f2f3c70c0806c83618d8cc1340fe2eced0b3e711ab78af8d62b6cca64f0893129b1fd950de93729812cf4a65c311c7cc5045c056b9c7d64fe88ad4180d7e3157fa665e498b495455460ffbae7935527bb0f6ed8aec90c5b1d99cfaff954335fb31d80709382eaae1464275d69221ac36bad72823396702296bd1ac3baec397ae12922851d30ee3c793dd8ad08cedcab5ab07a1baa499366e21291907a80806f9301862e46a0ca93073ba0277dc61693264fb7039a84999aaf983f08b7ebdbf2a818ef8461ec3dd61f72801a96e946c9e96f0a27808d0ca07e26b1cbe025f6a095a5a4436be50a1a9f4155675f9f3954507f90517bfd41c400f0f326811f34b2881fd913cacb2cbefffe7ed1ab16a0d04af1320c56b919aa01a799266a53c075a27f7060890bdd32af2f7894a003370193bfcd8856d2a5545d8b4199f9ccc55095e049ea845ea68dd476b6f11567a5912d23c21583560e0a4558f8a6f21765cee8adcaec54a7b420eeffc248e434328df43a12c22d7d9bb1546487f647b577773e4f727e4a1fba52af566b90123fbf9c4db3410ab077ede61327d01a22712cee9cf931bdf578f157968b25b38d2e9a9ce40944decca470f20b11332b240493f186fd249967eae0a69352bcf238bb675e19c7b7bcd429f79b1edfd76002f983671213acb349a4f74bcfc52888f25be2dae8ba40ebab73f3a28647bd104ff57fecb76a44f9ad110eae231e647b1dbc47857bf5195bde0d43f54bf1ccee43a5fa85ee221adb4760c36f47d34ea0ace79702b9144fd075743146cb8293a64ef3d3c3266076d47344e5db8f702174b6949771c444c88dfa8daf4c9ffd584d4093ecd4e2417aa42117f2f7acccdb6699292df32136f3131a4c072027c0fd8d7488f1a3c9f403160c15bcff5c5da9b3c939b6e75db981e30ddb2be165794dea182590bd8d6366abf5bfe2989e69a10f310a745027bd3180a9a8cdc1bdfe09e552141d55fecf6942fe7fd99f9b38fed3191b5501c78e8e5c9e1c195071c1e8cebf3595a906867081b245277a319c732e872d01db21d43dffc2558d522be10fb968cfc608a60090ec5dfc28b27ac43be1298652aef62437113e5c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x154838f6bf84f79f1f340258696a4d6523b0dd42a129db35d2ce75887ab0ccd5","signature":"0x5b5db937dba831e10570db9444379e097387d11fb0275357f8e1f636cdcaaa9c90bdc7dce6e0151059aef1e33af07631560208dd20d017df9f10b3a81778c5c32587414a0632b10fad31f391c87b335f782af3bc88f9bdaf44833c1d3abc55010df1917ce7813b22eff926bffb9d3b13bb34c21007ba0ba3547548755f0abcd21a52939088e92d7586e844ced1776eead8277b1b4430712e6b5f745cd75b3ee779593c6b3f2f63b7ef78717dff5f277baaf0ed3ba9b7932b28217571dc2f82d386de86db13b2b8658e67da0d64d4f465dfb3950f10da619dc4ea19bf92818d4727375479448a0b9a9bfbc1659ae756fa1923d466efaf570ed18b229cdc80cf8f2c7d0dd12cdd51a61d47654ad36cbefa7cb1da0374d74bd8027401d4e26e6e477b09c577b3b32bec2284e3663427a2a58e8a7022f0c1aaf7b1acdbdacaf5b0ad69d13848f7d49f5360847564c53a43405bb51cd11aeda105f7b8658d98c78b6189aec23a09527ad77c76462fa3e1644bfa75f190187741279231618116518649cbca9034cfe64fbb6c428b2173ed029c001b71b8ace253c68c27e82ff9909e9fb277a9559a05ca010ed3cbaa5a562c449a39a1d96cb7d187de4a2fd32a6b67464d7a44508069933a377443d6fd6576df9e16e8f9f0747bc10a1e43de9a2a533a927a1c34cd895c1f4b642c75228affb631c6901c20693a3de35300c8c7929fbf49a6e0cdee118ea8f92b6f3f8bd4445afe1e548224fa938c1ea16fdc61094487d70a81b318b93b6422e5e9f0074910d6146721290c39d4a994e1553053cc175cbb62b5712e743f2432a92a5f9e111f170d56554edaa6f0db0e42b770377a456e045d650e2361cc2706ada1b581776f2eef15987cf145723efd88befe751e4e97dab6b93090829606deda1b2bdb4c14dec9ac046ea3b31b9279e4466441f751a4c214ce742637cd9808527a569cbb14e951cf8c4dda40ceaa6eba89de9e14b86a6c38cb24920046e7db41383370f188f3990530158e60e7a82abae15785270e87ae88877938cd25ff14ff27bbf423010b523f9289feecfde75b024a0dbb9e5d7ea1f9e04c26de879d61041574174c5c58738e0411258240a92b19876c1cf081fd3aa15150ebfd41d7cd4f69ce3a981b9aacba6ef78e4cd355757a38112be87a1117b47062b17a1247a8dc34d7da431592a671ba51e2a542379e69581eb633eb21e16b73e2659fbf1f6d21568a1bae48136a10f2c4d2b5741ec9a1dfa9cf5ca657be5af542f0d1fb9b0dd00c279012fddac76c24aa97e15b6ae09500968d06f4202e38e19d1fa8c65a32b5fcda9a8f0d82daf09413a21c95d0146f9c6deb220842f7f035848f63b40c63d6434368a024676cf0bc5c749a6365b71b9b43701932a42348af3638fd2d1bfff5feedc4f05f881305f2275ee4b46abe946da9e467230df6e50e323f8c99609df5ed282c1346956b17a562081f6bb5b98b4049da425a2075925d3d8d8d1bf26699b136c33457f102b4ae1142eb80a73b8d4a7a5830435d2a792b9ca7c1c04793a1f7bda7b4166634c4c9214ca2197f02914d30e76cabf7566363a4ac756b4a680c4ea0e305813807611d2b11ab9bc0521a90a2e752c15d794c120957e576a667490a082998dcb1cc2ef3968f819f41af1db04e0d978ea0bbbafaf5ea050e5c13f72c889831a51020356876fc58b5d6e0631a326f7f56bc0fdffa90e9ad08f4bf9914e68154127fd3843882efc23fe2a9bff6294c1c4ead92e140786124703c9b66a359788b2c9bcd233f639d8a4007950e69211ff9603e066f6fc227cc42a32bfb906db8fe4835c5d33f2572eff06472a91f603aa3068019b7760c5e6c38f45a62de4c61bdbb18d4a6e785ecc34a2b6ebee2833e17fbc2101e55046c166295d5af485aa164c70a7bb86c2def4a94ff2f877b38dbd94e95dca5e9dcc8880b834c5d1301fb0363cd2b8ef4ffd2ab2524a700b7699d03f37bdd2c912a9bb783f5b883adfd05c184461f17346bd33c9def2d7f89d1d69fdaf5439c1cb169fc485dfbab085d73ddee0ff7846073f9a04d7d4a55e72a347dea3fda5667effb4e72d9eef26961f71a02cb82e1db99a2fb00f82fee4585d5318c3f64556a8da939e97d57a9646d3ae9658f7565deec7d0c0a00ea58c23dc9c8e039643bf1ce3f346cb78e9a5ab772182a60eea7676459ac2c54025ae553ab3c2e7770abc9ef209dbc02fd8b7ce2ceda342c4a67bacbf2526eb1db0aea215dfcb0a932798d9192ad6b0ab2d714c8007efa2e794d6df15345e20d94dd8799c5f090582f95f512df719c20cbcd986219ac19debd69e6252bb324dd287a281e14dd0fb00b21bf1c26d9a3bbdd4aaf0fe7c6dc54c32cb38a4cde0fa4b894499281d4ef28ae79750f5af189362afd657f5a127a8ed9758bfb1d348253160be89a1b8d7764658d19335d10c820255b88598c7002d1eff994fd6b0a5886a41a867f5edd2d40bfbcb1f47ba74e6a8a0c26da96ee3125490081e62397de38899efc2f3ac31ffd050e4d97b08b79e670cdc4a21b279fcd8df40d22a2497534e7ab4c21e016f7be0fded45aa0239aa79160421f967b4086e478175f3cae1ceba6343d39e497c6ac83faad645afbd4bfeea17c999dc99130b4d5487d05f5061a47cccc9feca1f4315bf52d1f1f270b5430051134c6144d1863399634027522ebcbe6b95dd2efb2cb479a92d6583249b7912c5339d004833f94bb6aa8ab1272b9537882dc616765ee6d83f03bba606c28f0217b2bd26c0be38d6bf0d64b0045e69c3e8e65159e57ff980b23df334fd52da59a76d4cc3c6d1a09d98d59e11f3f847623f61525e6ee757f185d8d02cbd0cfa353022ff7946c4aad3c6689fe07e85dece46228aff53d7d579275ce3f52e3259dabdcdd201cafbc2581df0814ed8e9ca7d95841443394e3ba215f9e4f11461a1ae3d014a50fece21c84eba45d453cfce9a41a1fc6c7166ceefa5990d69ad6e099cfeb818f00d7b4a4de99ffb4bdf3b26bc53eecc658fafa3478f1a3d275eae0cee01c1e5322bd3bcd879d8077cd0f935dd430b1636f1998d20b6661717bfdce7688f6f45cf08b7a56c92be0128d0fe7361fe6cefc0cc753a0dce96358947c863e860c4571c02523c0bfd8cb1cd00469bd4329c4f8c9a1decf0d2d55eecef8722b4898995916dd1487b5d800c58f21b9287bfee0faf6995d49a7354fe793d0e4051cd74a9a37ed5406503fdd3c0c772c62318be3ec6a88ab97137a23e58ef584592b2c305271cb22fb682548a09f1647ad0fb4075b04801f02367e6a81a14203cf38ccdf8abbf4e8d0720314773b99d80cfc68bb85bf3134a88ec86b57efd47af2d956846b2ed3bc75f6a13c89cf185515f3cf3137704dfc5e744b8fa1c161d711d5bec15764fc5f2ae9fdfce064315b79ac29d77777bd9169495b145199034b11c89ffaa20fbd5509c696633a29babdc0d40581df5163e74cbf1be91cea21582372db61b9151d540bc9a52174e071245e286d7c6392b81ccdd4b876f1b9b845c7bef106d2d30422edc29e6c03d9d3e579aac1351bb450e08bb4f906858104e989fa45bce49943ea1f07c5059199c07b0137863463b141e37af6f1fb5e87d8f40b224d97b7487773e72e3bf896047feafb78337b29b90e9c267fcd9f231c39ad34bc2c8d5828efb899a92df7c0162590540372dceda67ecd3a40615908b4bc00a61c20e26dc554e957e85205e0f37a27fd6589ba459a329e970338044aabd24764695ae72e066ecaf1e1eb4825dc88d87f7b403c8081959e11fdd6e0203f61bb211bdac99eae9a8feca7737f408f3059718082e0580a8c866ef8a076220ed6561686fd0bf50a3b92809e43b05ec76f6f01c8cb9ab98e802c307f30567d8a430433b950af64efa9449a29a95cd391d902c99fda03e54e56793c479bfb5db444fc451dc36a37f9b0452bc1ed06ee8983daf0fad7137aba3d8f1e9d6cf3c98c9dcc31813fbe6538a4768f891237b02b0cb6a0e8cf67a1de4acca1e8b7c159c71b9d08f16bd3c0918fbd7aedaa4e0b570b9be585242564ab5cdc8cd1a3ede27ad12021da8e1d03f9676e4da2cb1f27b07a57fc6a2a2ba670f21c4ca6e6014a77b97af9031c2e03bea3b078ae0078f8a8ae7a8e53ab6d302e7cc0ee43c914eb62b6905e19da09c413dbc4ed182656f4d2c555c58e313c913812978989f229081a2a2fd98b09917d6782216e004ecf868b41ec5d3dc7b5ddfafeb3d9d55cc55301aeea37f81e0a9ad8ac1652a1dc693ca0b27cb253d259653ad9f8c6b04da481f56caa16b4f8003ee58f0a6f2ba3f7e789818c9bb1e7f768faccd0df1b1ba9948ed6778880929804e5e98c26ded2466b678052f6d70557b1155ba06e8c5d3b1f8d0128fe9461c3a595395e8b47f688cd73e2dcd2eacc135297c23434ae4e0c74bbfc388d0227b6c460e02dcd2e69d676b60ac4c18512db502b6866605c8902503d7c073c949a32d2ae7d50b7bea6f248e1e2411147a50723c5d592578e55848165fe6cc9fe6371b6c424d4399468f3175b67ce545b6f5a628f2ef6e5b5113cb541ffaa58697308785b77985d6a8a4e7658fc162e25ca6fca957e485c1007b94cca59190c8108bb7d3785e9a53b3d90d225b7db7c39a5d3d477043cd511a4c58c019a9200b5bf28fa30e17aacd9ca3734942dedf5c4693cc2adc7d5ca5f757587660745750957c08d2243c8a40f71ed1f37ace702cdbea30e4e36280bc8e0df680810ebf702bf9785ba2f5d88fca75c7ceecb8510cfaf00c4e4008df539aea643ee9132e5287c4d9528f255be90a19bcad06fdbad50f74ac36d4aa72246ef059f9a4563272e648fd6c4476bf8ee89ea4c51359b45b71a728829eae98f404eab24f2d53c2e3c23f235671efc1556e50b779161e2cd42e545e579ed094df09b83e2a5b0219bc688ce711cab3ad616ba998b389b13bc64076193bed35696616d88b45b8a848563869226e480672b156886256120f2485910cd1438f87c0249c6e9823846dfa478e1c31c627239581159c6be6257fc26d45c27df1ed949709ba1feeb388ff92d0693145c530645fc44b7cd800dfeea78d5f5fc7c50b65c28778c0bf09a2857495973e03d0e6634e05eb2f0456718991657914154c85564f0785e840547bdf1ceceef56d1c1408e953438cc74e337170ce7f093efcb46a28f5c9b00abab3e7c21b0d1e956f44950b35b0bc77f1d6d6ca5bfd3a75e6d3eef0bea58ef8f600b16f021403254a34e5611fcbcb2b2560af3002324a0644d06b8b4d2fb4f6265a0d638e507d3ffd4da942f366782ec36ea44a5db104ce796fe2fec60ff5b5d70ee99d9342776de09b547ac66d4153ac5ee9c3b4cf21093a3ec7fc6227a3b2c9ffec53a52d9917599ee09dbd4ef682f0c836673dc7ab3074926acaedf6c0bc55a9752638d5e821a494e0cbb08bfb26a8a3360e21824e11320d081f1ecc790a7fac296700a9c8d5fd99f43a69f05999706295692b74539d19d4eb7e3470062ead11ffe8689e5be85a25a3f51ae2aeeb6610883467b75aaffb7cdc7a2c1407de06885830b1c9ac0488b2ee03018e9f48ec914e8d6549a8727a04715c3a90248c02e39ae05371ab83fa74dcad39cd7b3f42c531b421a3b966d8a0dbb7cc818e780ba3732caf2301881281b9565f72c99654eeb16a1364d8dd4a65542a58ad2009a0cec9b7dc8f527af09f7e1d19bd1d66b31d5a880c25441e27b14317e9442bce6daafaf710a32bcd61d263f4675fe35d7b2878239dffe9c88a9530ed73be42ee6d5511cd7059725857090cde40fb6f5f35f541b1cc529e86ad4b7e53db45cc89e91640ae34fca59850f05e6cf51a4bc45632ed45fbba870cd24a0de70f6a3b4deaed668618378ce4f1083ba8349faad48dbe3c3391a837fe7c6ad4505ea7e908bed1c4e925bda9512d986349b0bffc1e8303aa0c47bc45bc52faa11bce1efb553d9d7d6d900b0e82a973da0e07c7c8f95e8b16caba4c7fc1b64f5a2322f1bb50770eff978fa7ca472b243f2e1230986804d0826fde65d9441454f3c634a9a33c316c66d30af00680d28007af57cb1fb74b676a3004a1a0e3ed9de536e39f79eb9f732ef08be5f039ba7d247f4ea8fb98a71303da76aa39afbffcc60a39a7b509254192595b077d4e6e215e3c3745ea18ed414f458cb82ac1c209699dc80ab3265d8126051d41cedbba2978b39caa87800a98a1630ee68b10eb3c35c331edf07f6236119862090f50053779757eabdce1e6faadca4e41d3a5c6357c88651c1125fe5fc7a204e1ffcbe0c1b6911c2cb14d470a3f705fbc44425f6f7aa0350a5580894c2e0ce5e728c72fe02290aa59aa04a3832ec6d7088432cc80ff05a1951a208946824deb2ac12ddbab08369cd08a07268e53bd3fac8ca279c6a52002036374f6777a7fe111214384b5588f40d669bb4be347598a7c1ced03943c1050e8895de14292b6dd5f6061416225fa2d1fe0000000000000000000000000000000000000000000000000911161d20252b33","message_root":"0x36991cb64bc9effdbdd81945190a36ae5865ed0cf20a3ae014801758fd1c5738","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x0c4f0303491d7cbfce86b3d3c2d09386544af5f2ba884b9784bccf512a93039d73064e8d2c33d8a351c7002a6264a1036a1a93c8e6623c21d67d5bc092bec5e24d3139e0f4193fea85939fd51ee387f133463a4e7d9124d99de719a9a5ae7dff223cc57467ebfe387f3f70f27fe81e88bdc144f3a330fb4a9dd4691e4b83b9dbfcf467d85541b88a74fce12fbe0ba0cb24944f59b38267a70cf1288b52a42ceab0adf61a2e5764058e1cc2ad2e8f605e67e98b429625490730e38df094f9192d7834d685ea39c2681a57ba2a093a9f9cdd00f8d7a6cc163e3394bfbe90f63127a581b33e8cd8d79b9c9c991e6dfa0c1c99c70b0caf14cf58b083d1c1c04f805c6a76667cfc232f8746e2c2a7e96db7a2a4ace6267b4af96165e86b5a27a34ad49d19ffe1e6c7fd833742e8966e2234862034e1819dfa1584341223a084fcb0b9847f1d12c9071ff0395e227667787e1baae240682e14ee1c13a20eb9099ec8f730bf6ca6356ddd149d000d5156d938c7a75353eec3f03135da94ba0d7c6c6962ca53d711417be26c70ea135a5a1b926fe13dd386d3ecce0a284dc259787bcd23ca34c7eda3eb51886ac5d22ba13937c3c98e9911d39a95dd38d49b5ea48b0faf6dbf68bc0de95c0cb2d95fd9c740eb10d3596fc4a818a0f045b8cbcadf58b0b19ee801d32d1c015f3cd11df7924106f09b190cd9730edf72212c0bb1ffa3fb12994a430db2c5f1c93467186715dc4a35d2ae715bd5c7e354b5a1a5e5d41ff339404e78ce5cca3f84869e0bd866ae273852f5c0f631f6dd250fd1230f8bdea98de3422bee9c14f198cf8db3466aea6d3ea2f7c3810e8071b8a0f0da05e43f7ead13848d1ba77292595b5167d83c98e8d0a2db2368495a85de2eb7e2e6e8fbdaafb123ec787e68bb9fd7d9b5cce5f64bfb1485eb6e3ca2a42849092c7dcad2ce7ca24a18c897e59c3833bd09a6fdce5d1cb8d892161da4c911cdd46bc789927fe82f01f5557540e9bff532634ca1b30ded04083c1fb7326cd2a999f5071f63de3a79f5dded6134bae5e02c50155e749e27517b98082cd86b55e5adb86a32fcae56c5ffa64c593f8d2e5a5ddfd24287cba436557d3c428b429fdcf4dd9092091523f909ed9de231b88c14818850fe776ee0906a1e3e2fb32f41a78a75000c02ae4849eeb772e145d7b8af6fb81f3f4302b091f893b495a39188ee5096306c55e7642cd335c31cc533a02c9e5671020ca0cc790279c6400869b3a954431e186863f646d85ff024fa17b6d9915314f74151ecbe8ac909203864578328a6da772484f28ab929420e0bb54f542eb78e42e532d722e5457b11e3787d8fede90c330faaa735066f29c75f66f85f93c5e0e22d129b58825d89fe79fd6a05cd58f7b167cf87512013586d1a655a3958b6f966f465edbf26fc067b5b19ef37aa3409fb8f26103bdff7fa0dfe69942f71a46ae32dd1573baf21aececb8aae2198273af71fd2c0bfde6ecaf311a158d6d223596657c5d825c990969c43f46b7cb18db64e90a698b477ba033b41a6e00e2574c90319634e0d367beb6b66d699f3b943129300547f9ff7c30b03ca5d3bd7dc39698aad2ced847446ba5f364ed05ad929317080a593f7d02ba6601e3ec0010b4d031132b1d451ad8f8ebd15ad49f7e2f404596da0b7ad139bc8e94593ba57eddc3233f60f1b8bd0d92ac5695735b2a0fccdd84d31ded2779c7de704beef03da10b52464839b5d4093512ba6c356d0751744e9023543dfa6b951be2b21b4a1606aa468b354f53a55fe6c889a027c2fc9868cdef72f6d14a76908cba36f778480f30792f8ac7a91c12636dfbebd8c57e9c210623c3c8857b978e4910592d096b9c5a188070fbac6da4c58adf648bf950fdebc0124cbb747f9b44d9fb3ac8ebe2b1657bd5dd693024f2bb547605bf1449537c0d06433bb596ba14f30b0293c720b1e05ebe9ac0bf08add721e4aadcb7edfb689ea0b52fcee0760acea28c4179febe1180032f44a7861aab10945e41546e1b54411723b6ba06309dd353aefdf7995a97361c2314e8c569f0f821c47dc1f228738ca98cb2c3266b66532266b08768ce3ce872a5dd9d64067dbf834843cf87ac4e1a6ddaf0d3ec32b2dc19e6286fe276afa9ca9ac919326bfc210c7de7569cfe05fa5aff669c567892498266d86cf53c37d4ffa512fc017d3ef3e4e0d6c8dcc4f5c37d1f93283f71e3db66011b51ef79a9bec6d68edf0e7c092d32a49c14b4e30049308a7d536f3e2ea88d4cc9fb61e6660d09aa77fbae6887612a3dc50c0f4346b51e60d90b2baf003c55edf196785e56fd138e104516e71ed69f013037348d32bcd203c2be081aa389c30f02f6fa05a0752fe85967be3ae4d2af9be62040bb59ec13298b4064983a6791813831a8126fe91fa040adbfbc5bf2f7b10e570b1e4074f882dc9c10cf648778baae1c8c9369d75f176b10b6595936c573710a7f2b762884cff423ff45dabbd67bf22625e126844be71d80c53ccfdfc55bdf1fe13f21913f97d029fe86599cb0c48b0d0432677fb6ebe6341867c16acb5259f90cd12981016eaeb7ea2930c872fde9cdda75d3b3647359be058d6b995f1a60948fd79fdf690c918782d90496a6239a92929a7607834de2ffea9183ba61db4c45513bcec5bdba09be6b5ac24076c6d03d4d382ef0c5c9f8d7f27dc01517ca39c58696747d2ba3f45c7939d20d93359322665d5f0e9cdedbfe970d9d8dcf0f270ac38cc71c5ea323240df4de85e6a571236e932769eb3306a18dae2d956ac4d9f24e9897787a1860a2c79f541973f0802b67f49ae34fb2ea09e3f9526e6ae8535356503e20d61627edfaebe7b0d0f3327c7cd407d6b257a512c31c1811d2006acf5ddc6fa7b8874e069da5af529b95315f96c73324482a4ba20f0df4392efabd2b8734b2f173d71e9710a76ebb17bc07eec2bafbf5f5a66261f7c82e0265d4606dd58dd8b1de2095212522a52670e734aa67b236c18e518840c5585380836c491e62cc4f442b9fb781ba1ae1b33168610970d4ce4cd4a886e8a683befea71533e5dcc63d7bb4435870c65d4b3ad289ac1c0aa99c35fcf57f7f02a634044a36011a2f1aa51df9cb7036c3714c6f61ac249df24eff26b7fefceb22497200bb345413f8078c5375ce7cafa9133d3e4fbd29851815652afe45ccd33efa2a20b10ce4963ad6346f6d4c4c9de639b3dc0b536bea284544e7f53347686714f6db6430866115f0879732eb61c38339670b328779124d38a8e60cd18ccd7992cf19b9886d9f1cd997f1234a333b16d433af6f1bf31758303ad81cb63539c804868117fa3ff68090c5a7ef6d893b9b575dc81c04526a2a0ce0a79dd343aa1a75646951f4787b3a9b4390b072c749ed769a80977d7f3c9805d79221c49d9207330e42a3f0d94086aab17c2f42a1028190b9fd96db338deca8384d4bee8299d42310eab676f23377c946be222aaa961d9cff755618d54621219f749653b524d380c676f2f09e04c1cae7bf226d0889423006882b4e7bee3d6f24c8343f7df766f8c4d5a2d70f4ad51d3289bf57bdfe52245035fb603ff6b10b824c017b95e7c1ff6919c3255236aec59899b5948aadcc05a93510b095c5c93517afa2da1633bd4f67f1a375555e1fd53756f898024","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xdedb2c18f78f82f18fad4e849ba8b4e97a812def6971ba8383b6eb0f5b7e61e5","signature":"0xd70d8b5a194a6004881a3f60b9ab4e8a789e7792c5443d2691be325beac2a5bd8c3b175a70e68e314c16c49ebafdbc6519889622ca91fbeed996a9e67033e7d019872e5d13d3c8c76b43120779b74ca41c0cdbed3a5b3c9a456c9000f87b595fad09816dfeccd1c77f8168a436fc706b2ae4f4e72ce5028fcc3e839d42d975d41eae329885431677f7431a4a17059c2aacc5abae89361d69db2f2157fce362ec7a122f179c7a8577a3f4118d6cb966db16782e2464b14376c85cc9bf876f0317ec26c47b5923d677b9080f264c2c73671574446e829ddd8485724c480c13191d65de3d90333e34931854e2e8c4b5f466adc433bf59bfaefc3d211e6e138525cc6906554ab8500bccecbd663f0a9099055f8fba4d09b1747c061de458c2c71153794430fba754b155093302fdd1a6968a47817db2b2f3fad6b1c0b1cf8d0cfbb7e80557e93557a682435c37e43510ed1efa45f6c9906560ea29d41b0e7e6c24e9f88e41f37c6f258c3224652acbf2f69d268f8020a067883a097b449037f64c72ee5b70f94b768fb26bc639af7baa2ad017baba75f51e095400a1aeab20ef6313ac20e2f6bac05ab24005707e29c8e231dae37612a11b61630bdd2988599fe73b9f903f1310f22f909ba1f82295b99abeaa409f5e908573146ce56d57fe5a7ac925cadafa9ce0feab621d5cdc58c8a2ce1f7c9972dbd7db5c1c7bd31af5ce548b4426d881948bed324938b16d095029702735c4e00208fb5c54c271e07cc3e5137c1c96b06b32c0e578b5a4ca00d579098d0a53ee51e86daf6682342bd6d815bb3cce98e96b79e72f2c0011afa4dd2d65895ec3f3c2b249e3de3d6edba3f901fe4a5886772e3405402b8451cf1bb4aa8f45eab9a95f9f1c692a7156262940f2165d2b0ee30efc47d96c7488f15437211c6f66b13769870cb4b644376cf16f5bc0ad452b6c2e599374372a9fcf4c309ad9244cfe1aac6fb83503948bbaecdfc003874561c03b4818727ced5cbffa9e5eb5c1841bcd5dd3a6975d1d606efc48422cb0193e662ac0b77015e9bbd49af58847754517cda99078536fa9177f45f7e67f5a6dd64d184d778d94915ea66e7ebbcdc888834d72c7c99427e1c46cb9557d005f29a9c8b92b7777615dbddea3b5fb38619c01cb5aa10cbe94a0c6d5b825381a4ba73ca888b65b63f269d8facf5684d1ea9be3a8419968a2d96927ea28214e5095d16032a2588cf92451245b67fc100d5ed365d009ff9f454e8feb8ba37f4d17da8869e9da37dde46692180e8ba03e5123616cb49126b0a19f4f175c175a9abf8ece54bd6c71e17bd6e63a0d0cbc5db8a7754f40b4f227bc34a9d19de434fa86eaa74d68a24ffec95d7bba30e33420819c1378dd090b086a4507c1996d348b57574d334784e4acfdd8da6cea524f6e80959016bfa84736b1419673f78eb3ddef065495ae4195ad8183524c74af891cdbab512b9b5f2f225ef5adca9ed580c74f5ccda2212a73a7dcbed22689bf6b193b5e2a0678605fd24643dd2cd34352dcc6447da12eb8252b5ed0dfdd918465693deafbcb8c314faf09027950fdf4d12dd3937cf71d504d0e082e9d561b0b78918e2b695f7286856edd9efbba112e62430d21514104c82678a2fcb8d82fc1000b81a50fc2b7a2d19140135a446be1e2a52023467d2ebfdac747e4f86d61c719d65c57127b6d190a456b112abe043296f5e04ea68d30f377237d132d00c91029a08482681a171a50b0efb5854d6cbef69bd135c056f4e8eb19e842fe752f8ee6fc94d2c9d54b70ef4cee9459bbe92319dbadd3c499fce5a87bfdd0bcef66283d3a86f15ce9c59455f6ebf1ce2b289fbb65f2737e6935fd39f97b7c8024afccdfe48e7ef5036e33e3c51c997888cc8e6ff755fbab833ede0abbb3079fc6afecec80f20f46f2d2bb0479a458b22a6f2b8691830a4152e9f594e10cd2bc0013b2f645c5a9515f22b88678e19fc488fb440953e993314a07876a221b32dcc304c56c40eed23b545d6d4a78de553a1af6d6ccdaa00cd80f44120bf3b48034c1f468913c68d316b715297dbe36646f6a4455d5b3b836747a426623f2ffbe9e0d5242b40d242230c7c9c795b0ebbd3f08ddc43a5106e0ba964d11731f5ae946ffd69912ef254a25131213fb6303c84c6e29461ddda49868c986bbe0da03c61938e49727d57b1f35a9c41f90b4db01a165d2b774e267307fb1eae18d8db85793cc90deea2fca253a69c9d68a885d6b6f30717382919851c44b9db263c2d7217cd41c8d41e63f6425d3ef170a8d5c87075098e06a322d956a1012a84cfec2a191d7f631a5f341e82fd9105b164634122c72c140f5b2a03b2d30a2bcfb00ad3baad524775f3e4277e4181ff35f8aadc4bd053ac1085137cc01e8852a052a89a709bd1aa3447d087eb59923ef6f1d028deca99013f8e0dac8b872df3f3125ae1ce46bd284e95866d1e0d06be5657ebbf401dd4e6b4788086f598e44a6ae2dead06f4382b63b77d1fca80660f023aa14f4eccf4429b2d3482b4ac234d869128247a39e8823f523ade4fd45e9df717422b06cc718dc04e68c3c3c376f7c1dcaabb9d44d8bf06cc634aa8c50235345c3c8ecb24fd39943c40f70c8eb53b2291e0301f54c66f319d751d68775025347be452f6c8e050c87fe356b1d94eb88b40ecb3c5300c8b06345f0fcb3984039d8753ce73d70876b9bf59f1f841a6a7ed0860cad61fa33c86f44a72a5cd5cdc360e50d89d3c3b366aa8fc27d67089fe99cd6bad3c4747f77ab516131648506d3d1dace395dcdc9340bea8c5cecd1b0c4921d59b58a684001bafa8e9756987b4d1c1101bebdad037b8a8ebc61251405f34aab8b75f0a437141368e393cb6e334f0c02fe97cafc1f4c3fab31b275d5aa32f7b3be0b8c66ea6aefb0857764e10f344882f18e387fd6ae3e404b85eaba6443d8000992d80967eded3efbd489223fe7935fa7f6e9199f0018ead9ce478de6d856f709d4f735a5d186a516a99fa4cddaef367349ec6a95d867a7cc87d2a05279f1ba8e457d198db592e558b44a6a160b46ce8c5d29da9b912f73a3271f4ef1fcc12ac2ddc2cfa4479fb21f425476924459df581077e0981dc688e695e3375606542e57e4e0e0608da99ecc24bdb30df7e3e5858ff37ab97bf3390ada9bf420050a26a35b9a33dbc6d84a4a1b91e7e3754f3da11f3147316f3933416247b111b897148b0b7c3568a35a49a69577292309115f2f346dfde39ee035a28f3bcf04cd3c6140716b71a7ef0e75083760ed8b6b1310c8d814abf3ee6f841da0e3506c25d49e4a361a2b2fcaef6af5488b8fc8b5e6ad224a4fc9cc9a83fe7656523f30729bde730d900caff57f5a18c577fc4fa89a18aba73b939bde1291db07479523ca4c60d618e14f5688c58857806e80399f73b3a2fa71d7daf36473c7d47e96eb3eadbfc1786de3d6945feed0e1e8798acb87b6165e4ff2f22b07e11520b8d701ff566b8269e21ec4570b600a6290d540386a335a0829edadb964f8b9591500f7f1b10f7face055bb56f634f118ff28cc95fe2ad54d517bb225efc07aea176c438a187df57756e780e38e99c466a8469f1fea6c3c0b10614b4202a0b5533c6bf423b8523215c52b81a6dfeab14fcab3ab7b4331512a5b09026a26c1a754414b2ebff2f69e5f3b6376b3dd596b1da43a33a123f0663acd293c3e14d92375b3fd52506e057ed060f4fd2662079d63e1ecec4564e61e66253a0045715278cdd6181972e4c36800a85897d75f96a347dcade173dc177e685910f9b94f7c66f0209eecd1e76f5030fad0a216df74c7941440574b1d3fcdc6cfe39413dac5115a8c8420b2b9729ed585ac2e701d74f27a76c32d9c79dbc43826d70d2857e2ad4779028713833bc5927fd563605757f1a763e89b1262cbd2b14f354726ec028cb7e8495bbbc8fb83dafac6e4fd7e2c6cb60e07cfbdbaabcbb96ebbce65d12c4adfc7eb339556b9ed1f705944e4e152da417c241a24da3f95dc0650aed089111b0df865ceee169710ffc0460e16ccb94aab69d212e5a9b8b2893d7b6b9ffca53dc422a7b6dd4ea24f4e3ad45d928a1efe180e58ce273fdfca3aa90571750a2acd5f1b64d075551bb40f0de49515672c89ef083e22a4fdc42db56c76ecb1da48b04996e7f14b644c1ebb0081df21fe720658fdccea3974e314b29f6a5cf3dcc312e67ae37a6d1a6e75d76397d097547e605e346c3650497b9bcc3f2ceaf3efc5b2bdfd41a53d0f2abb55cd7c31ead7b15864fff7372beb4d3958d95d5088c6e68ae324c0d4101c983849e7fd161ce6e2f7cf0dfc204538f3d545232dda05da7cceb6e2bbb821edeea6b1a3164394a06007f8af6c0cb849e8bc47e01a9fe33cbf01661ebc5ccae4e7cfb2838ca7c8dd30d58c5ea49db6c91118e172ef81bc66672991f42b531b013c020d7ea9d898316e25b0207179c5bdfd59555a56b80dc4e8a02d30e10463af9ac7b644bd1c4e85cbe8e853e7f62b4e1c6a78066ab8c24c193ed641e0e316c9891e13ff6cbcbc71a91f5d52abf7a0a2505ea45178b470b1482a52f026bb7d35b82013971ca461f938a184da620b7a19dc011be84111ecf5cbcae63e4d5203dba98eb107118e076d68fe383ce28697b3a0eb1271043a222f8217eba50be2e179b87493afa008d4eebbbb6a993261d1e9c62b053db52a5c8396b8a8d78a325b9e21494d2a74221d0180996278a4cac7d3d2496998ca0d0817cca459f265392b219b0d85f8fd28bc5d85e04414cc6ffe8b26e9763027527f276c590966401797217895edacccf6c4de96adf5b28e1e0c9426f775084f3d5260690ef0f6af4a7b71bf06b4a1431df7324a5f5e9c44a56e4bb48a6dbf45698f1071ef78e9cd16d1c49ed721a9a1a48a95e6227cd82ad0a3969583324d166769ce213cc62f7f0abc23abeec1953d7c58ef34043429e8080059a5a841efb6116bb3129a4cbea38df492f082d2e3d9d3a44962db0a2dc9066df076f10a6fb061ad32e35024a4e1cccacc85bc6473b7c495ea93311989d6fe03b04ac151fc1504d3d5e6388448fd975efc5a3edc536dd2de881fdb6c81369d5c4ac7eb8440b318ee5bc6e3f8e778b769dad867744d2353be5d31dfd64a8a6be7743fda363471e6f8c03f1ffc0a8ff22a62f8d937daf29255d5ff962efeab85b8658ad002ec508e5d18a9dddca3b440475a7b51ce5e428fb9f3d1733c41615f53c723f6774543d4f93661a1deac0098d0ec1a1634262637ef24831a54c84f9885dbbc9943aaf0506b9a0ebf241ac2224395800bc08393daa6a4ee720fc66bd69b250eb54f8a340327182fc4b23c548c06525829ac43fee1ec24b831297ba8b397e7ab29e73f30487fee53c311c1e437cd48c6accd0e138a5bd2a1fe7647554286d2a00965031262f7b33a77087281e331553a4e51b4f0eb0f74b78cfa2748d6ebb5e844f17a82a4bfcf1887f48324f4edb7e45adbd5382c10e9656fa7d88d537bfc1230793c0ce63bf68927948459afd2eb8b6af490f11c8ac1a22c888497f1e80fbf8059ed01cbbba74a9baacf953f77fdb3cb7e33633fc9e80c8ede96d57f7804e6eff8382d68f39e091984409a5c8be4f40a0d64be30f5913c8cd62a5ec2befa9e423a8d8f3d2cb414ab63f0079b8f3ddb840be695f86988418e192c56df1a96ad33dd07986994412f2417458bf9045daa1d99948618ad7b6613665bd4b5a1bf005cba091c463a076b70abe4b7482fd454ad64f23a6ef51156add90d020cec3a19ec3eafff7db128b448f05408a2ca2df0376ac1b50bdd86d487cfb0f6cdc53860f258d69b47a50d9a2453e36375b5d3221403f5df2750e7457d2be996c9b2ae763ebd2418a0fcb32d7ad1a16d24f5ce4dd8cea9515767c9469f1520a4a39ce15383e36e7841d8c1c3d2ab19e434cd5b912d4997ad50170c4630de6ad43a0d7d375177cce75e381786a701afa54d699673e6ca23e9b8fdf680743ab65eeabb455f85c32ac9f7cbc041940a7700f8f147578316305728f1dab0a7a672a0aae3b476e1113174f6136663343f84d7d3e2118cee9e5328c7d4bbf0a651779a63d1765c16114df5a155c873735b0404905b34187adcef0144b279b37bb125fc3dabecacb2f549c8817ed6b4ac751a5c09a1f8b7e6a02c4e990ff215c8df4cdfafe2ea48f120119d7350850c84ff920a92762af417ea132bceda865aa5d35380d11aedfdf150f401d33c37803049a60d523446ccf330fb64edfece4bf833247f4c46f74f84a9333f13b2353ca85e1abf3b27076c54c673538fd18de842d2cce10220c459a4e791fddc6f07dca89b97e81635e3c3b3b612abc7312b29ea6cd035331230de811d954d49c31eba16043665817c1ace1174bde21975fc59a7de7982e694fd90a8ff24ef20bb52a8a00c1850738cd52c8294adafbecaef6b93c0ef0d133c775b688ebef1f44e607f83a4faff094462728caaacdce1f20d23669ff9fb000000000000000000000000000000000000000000000000060e12161c232d33","message_root":"0x29208c22b7c61e86f8ba82960280551befc0078313ff0aa27517f7f8d65ca488","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x433f4a5a47074f047c4ef4f2c568458f347a58fe6c42ddf12d845d622032323b82e177156589ead1d3e31dd98920b45c027eff0fc6f735cd4a5defc6d96ae43dc7b9bc7a862fec5dc10e64be8810a1f45e6cd95ce395c8880aed816da0027dfa570c62b10ba588120089df8c6d97073b9d1e84b7bd21bae2f01c9b92657e3f458b50900998ae965a93ecd09e838e313187672f8fd68c3fa5a1eedbe3a7eaa50c6bdb8d8f735d47a0df83f43b0453dca3b4f1f34db53ed289f652c99179d5bee87acdc8b73b1050a1aae6fbac17ec6a8ddfa23b1acf70224aeba42be3cbc850088486719614c26092c4a73d810a58ca418a1525dc2c95e515bdc53729fbf937fe31700d0bb52674768f8fd14a68d434a8230c52c7dca31a5cf3c054d938098f6f9b75cba750f50f153817b736276491ccc6db4d99d7bd4572ee2f93c872d9749673c8d049b5292dc6a1c80cb03891a25f17590f1de59c3f316bbc6ce77fabcd991f8b3417c1e29b31651f6d57c0313f4b92768a290c5df09220a192c55861b3f30790e9d3f5b5a4aaeefb4ab0e9058b8a0d62eb6d5850885e3215c8a0806446b5fc621849ce5ebf426d3c12306b309093111b6377d1458a1fe30ac6fe6ff83aea10f8505edaf671f811d8fe9b1e51c5ae456acd583e2b69855b6ccec57140844740da01890f14e279872b6062d1990662761c7552704aefcbebc153da1ac7ebb69d1887e6ac8c6e1ab4201827194237ceaf609421dfdbea70b9ec7b81942c0a467841831380749c47d02a9cd00105652a22a9978d94753d84d165df1d82c79553a9a23d16d65dd7bfae5be698da9bd474cc7ca21f7f59f601d1f18569238451f72cfa0e9f3450fe737e5e4d6332b9aca1ac4f24741585dab9ad93253f14223d0f3cdd7fd143c1355060b3108329026bc73b78ec340bc2504bc20cbf4e44c97882958fd5fbac66a6d9281be65de7176e69a7c2eeb4abf084e6cc886c7c927015eb015a9224d018d376a4d6abd540028454484533cb30868bbc4a3bbb0d42e9f6d7cdd52bf50529bae992fabaaf09e06cf5499e78ec7c57084225d6f5883caf5783a7f85238969e67b99344b4268f28c64f61d447687dc1900f1fc2d56af0b228f1ea69f353a18c693438b8dfcf234ec2a6e24318b76b3e372bcab1ca593eb430a52a7b82bafa37605576b17ce2453dd399c6c649f99c4739e072e43f4a5f334b719e1add049520609bb22595e560177fad814c58c7688dfa0104fe8bc6f5eb52526778d06d3ce307a09843d595a6da736ff781c17377091d095c6d4503931c32122c8a026c02f3f89ae29e3bbef61e91210066b2cd23eb169170eb822910ffc24a2145bcb8ba9a721a74e7110ad52f75180139192b086b644f9e555b34ee65d8d010807cc860a612e70a4add8025394929e9ac88361aa6f598aba16ffbc45d72ea62c2a0ce7d64921a6e7000cf6c6b95b21ab8f860f8c0913d3c2a0c5b8dd76701be566794b61e3b3a9e7d08bb51a21825a0dce2fcdbe84ffa7dc3cf08ee20e02fdf5de87d77beff3051af0b4a202032cf23cd4c8282a9d9a1a08673992927d5e6be8eaf3e01f3f92f94bb5358d54753a6c657654a5f9ae689e5e2bc23d5dace682e849ca88c829789a0ff140c0e3b1b4a98d437ff21cdeb1530377a6e83dde41bf68b6165e0b9a9c216b088cccf6cd3c82a926418ef5e198dcccc268214a55918ee9ac8b74a6600dcbb643d126622316ce7c3b24d43d78e00ebfd4a3ead365086a0d441281b039f981b73ba2187933bd8f0c7bb05c5a1143bff04c700bbdb21221c637071d20f0479372e0b01e41a53c522f11902724a9ea4a4e133bf0f63f141ed4da1628be35d225e0766c37603abda02e73beedb1f3cdd604ab0792e205cb41c5e7bc2df43b633aae6ea898e3f4496b45f9dbbe89c47ee312f7168d5c44abb8d535111ef8f57352e3b3123445c7457ec5df323bae8c0029f10c7dfb56b8ef68a42f7baa8287946a4f4b73bc5303ffa308b86f3b5728ce6a7c8204bc5a7ad3210039223d7204c0e890b60df873ae03858a2d326199c6cea7f62b84aeff84ec18a0da6ba1d9b203020f6a479583bbd3dccfe950b6c6ed22c45349dcbaba5ae8886c788351d4fcb7153ca2e1f53b0eedfe874502636bc40fc8ef58b7560b6532a881b4947d4bf041d3dd99ae44331423efd27e2df51513fa9d5184594beb1aaa9feb1ffb860d9e24f1cce90b9d57da556c6196e99d7979bd8621ea1bc1d9b297604e352544ed306390ae755e3d1457431a31c014c49aad5a39ce39e80cc2b8938f73b0f28325daf820630897b2f85e1729ba0cad9dcc9ca424ae1a020e52666ca35474d5577201361492f65bcc326222a13f047340deb688b7cf1a6ddb2d37d66e1cbb9cd5bb16cdbcef2297ca3be809cb05e5d7ef5600d6066f41adb6c8714c7717e3cf72f0beb8e1d059fcd800dd944cf0bc50d5366ac9dd5bff0b8c1cd94351f8c767682f877f4d4a87dd8445a1132ef16699e8188cfbc5b1ac2266679bfc9bf1ce53e2e19b89b5594bb6e38b9940d79c79f37150e1cc22391129e95150d24478ff624f9f858b73d789d501f972d05ee35f808d66e4b754fe5d7ab5b628d650bf2f780df251c96c0bc6c8f7ac5fad845cb2f2a8373278d29ef5d275da0e92ab8673fd902b92f68e38fadba673c1a978743440c68e3d204d1e1ef5b9988494ea3ece451adc977919e9e7b03d778882d74e426002fc627cb47ed1ef476603ff21d3d5c15dd767b0ddb0ba3b4b038705d68b38b18a4ea2d275f190d713dc55b92a67cc285b6cac1a9232c060a12dd84d5abeb51dcaa37f7e8fef2a4e78de4cea32c23173ba44d115ae1bb9346f6dc735edd78f595b7e26e7176ffef86a836178381e0cbc7754163754034bcca57b317dc9f6c1688a245ca07b10198f7312272bdf1922546ce411b6057c20cfeeecafb8bb2ed2d7ace2f603f8c0ef8112fe7a86ca03367a23be92bb88ddbffeb275e3a057b76faa383ebd8b5c86de4a213a1c7bf4aade5d9758d9d5b3d6e3f0358415b55e05995932fb3fda44f441e381a89c7f2dc699134a5b2095254318f9fbff291bd831af8ef6efe7afeeb32b2e0aefb66086b4a39dd26de8018e9ca8622469d5cf20e6910a65e9b8bb2fd5c193e8b880fbcffc0aacc511c2a07dfcea008dc2f7db22475850d747d7571889b24e5029aacac5d84ed7d50cbfd4b3352385adf5d04db55fd40722779f57b77196ae453a611329257cfeb985b7672b6194f8a6f8288a489c661a8bff54c300802204b9a982110e2d12971d969ec8e66ecb9eb242506c3d4bd8c7591cc5df4f0e7ea3762c150bab4e5025b4c8a8f353610cc5972c2fe9a7fe7f4cd8a5d14f817f9590a767f8a85daf20d67901c033471532c2ba64a1455c69425ee004c8ec613320c10a2c4a5fae570529bbdbd55991c423075ddf34e8186da0e3ccb1d2991ecf2056a32db0892429603cb1d925774e7d1c6965941260ac1a9eeb1792e467b649ceb3f26a20d7c7354be42924f0ba1f8e1ba39da38114385aab0eb0f3695dad50ef7672b3182222613fadda28c3e7707a8eb6861bb865cecf08b7962f67a3f7c15737995c014cdbc94cf9721d34a51c3046ae3db6a9d573c500b7e39c7b8db8787aaabe5fe7295","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xb6dadae5e9e0e39924cb4137ea64193645dccb9585910f070d1abfb9c85c8358","signature":"0xf0156cdd13c3fdfede7da432fedc8eff045e2924c26fd42f87f3084fc3e7ae66c9d3b7074f2699ca755fd11b4be1e2b47d8961d18eb3dcd1299934995b95afd8ab91eca03f2bbaec050ded14732452f27e36985ef1a3b216587910209236bc43d640efa2671aaddd9bcfe788c143085a15b7e1bf9f8c841a237428b0df33bcbd9c3572e14b161fb6a65dce2900a49c7a2923b86eaa25b440dce453f693f1e67fa906956dd64f6b344401cbecd0fc47d7726ad8f58355cba1c7dd6dc712d30b075edf5b68be0595c52fcbf0c40b87bc0098c7f1cbf4737ac99fb4abda5100317af60498fd9de212e4fe49bfd0454a8ae4f51d9acb1aab33167d1108cb8ab497a3190e640168fbdba95daecf5c601b41e0e5a75251c3b76c84985a942d69bdb782af5494e8f361c66a0ab7bd9aa75098fa37037e1eeecabf92feaf47536c5e8c07fe92a5fa8c1bfa855059d1f70f81545816c7f6c7fe648e040e35959657e8b0a6eabbdee1c3809e78b018cbbbe7b5276524c6c038759df855009e7a6d66326d747b3dd06ec0ced727ff43e68d72b19feeb3c740dc57bbdf85dae772740052c2291148fed1a5a95df0e33648fb39411f89368b6f767115a4760f91012e806ff3b39620820cd4d7a7f0634454357014281778a3081a5402c43ef38681d80d5a398f061d6b3842f33eb252c2a6af6893e5fbee106030136ab02d03dac048398c03082932af306f3d38a676786dd88d43c2fb63a81d4f2b3cacc948e89b3b9ab02a044357c879a7d42af359f80338182b3cdd08e98f423e3a273a9e971771af25ee4ac38255af705bfcab525c08ef00e7a6784399ab922faeba8e4412d66d49f1ba1bb95572456bf3c1b508e8abe377134cd2f6f80e8d8b4e42253b1d87b907420551d4d2740acfcb1f15a6df9e2bc58721a6601b162897f9ecc8de16ca0103bb1f98cd3e06354805d6ff32a029aa1f6a71c2fac038c3badd260ec2b5dabc8bf3f617487d9ea61f74162cff0ec3c59532bc8a8b38976718c3c7977c542f72935a3b88d56674646298250f2d2ef235ed2a3a4ba834fff31fa1510c8ce0e505343e10c61696d7364db4f946819ba5b365897fd65e56c85178272991d970b97fb36ff6dcebb14a90731b84b4400e7ba5dcaad5f16d29a22fbac5717dacaf4fa8f7bff2dfecb44c96c43549ba3966c2e22dd4f94b2f5f1e66eab08734881a72db5ecd8b2624f7101c9ea7c9a1a73358a457dd9907ee9d8c51765f21081012c2757e77472b72f7ab09eb4fccca662d39c162bf27db382249bb6f7726d42a67142fd6b6d0417a03c3d9d03b2db5f8f6203992ed935579af71f4c9a637a266f3c0ada7e5e9b0d4db18c3310af5d995824d284626f8590fc007d505010c66c6f9424557c8a88e8fc20cc85d2eb75555112c27d859e163891d3c04801b67b81051e7fab9ce2aab9e7d7de098f395e75abe813c8091a22300d12915d1c1693927e11bac17a356e7bb14e1ccbef212d8f798d18193cf3db35c5879125963ba3dbba1e4bf1e3705aa35ed6424ec6a0d6e044b267aa57136dc58fb29491da6f0d4610d27ad99181a3d450c87c5f86c0225b5680856071f80868ec551b2b0f1c8b4ad6d44b906536d5a3415195f39078b88081324643d95bf0a68df4d91b7c065b28660138fd1d57cf6f9ecc89bbf55ccd82e44a23449c458a38665985735b96d258aadd3e005eca669592c64c02a5bc63195c4f04488e3479a34f031005b083adb3051075cf41a7eed6d9639f760ce18445d9840e0838236503d0844b6c903c6513be7d0a5752d92ae80bfc6b41aa40a4ce50d06d89a1ff07a5458654fbd6e45f0b34b3879ba5dfbd19ca3f015ff9d0481d69d8da062946dff042c0f10b3a2c2d385526b362f89dfc53e31b38d515c9545780cc9c4dfcb3613dd66ac0b2601b9d2ad18208304f50a32dd3f339651e11c26eef6d65973f93850de20fcdfb90ce31bb57471bd9c94dd116a0783d1646708c7655294d6a324edfd1c3efc95cba70f553f948807768f4e1d10f0ed9fcc5380658f447575de76e1d6922eb8e0eb800dce0f42b078f78139a7bfd4fa3e9488dd25fef6cb270f08be5a8f4682a981716aa7dc277bf2b91561f1910e5c96e6f174807038eb72a84ca498cf6c0b3f8712e7a6934cb80226aade1d8a5ed02d3b9325d4ca2f09479beee788015b642c7964612c180e1883e6e3a6d59ef35baa65c636d3fb094fe513a2ed6fca7f0b1b615c8c8af1fd7a541bd1de8cea44f6e649ae528b7ae20adbd57e58d632088f18a305ab23775499ad353b8dbbafb0e6bbf1cfe64f17338aea4a9e08df727b588a18aa4de0bc36f049cd5837b5be6e88d7ea9071cf3f84946250f27a94acb812d180dc6e5a0812e5018a40c15d9f21c03350dafe31c8494b57476b3a6e72eead5c61d073f24fc6f9f2b2d5094640fd35ba94ad7b9e0a1fcec9b07dc46a225b54637c7cce178eb95951f6360fa04a609636a91307a3c886436d88896018ecf3ad6f0146e8902aca6d887d3bb8eee97ab50ecbe9c04dfda8f0050c77f4aa5e5379f22ab9906b0caca4e2fca95bed27c469e88692528a1e6750c20c62310df2a33c35bff7ff4d9d8ca49252491791945bfb1cfe416abeb93e6d3d4959bd33fd9e5e509ccb913ae7f45ece9a34ed7ceef6b3791dce350ad15e41347e9ad2c4d252be7685e512c686d7d2c93e3e86ecb55b210ed054ac1a474595a39816e0be990da7748213899831f54978e64d1aeb0786447bfcddb42aa8d902f19f0d2ef907b8916b8e88e82988adfc76ac745379136ac9dcdcd7e5fcb62881784bc9f6f888d427a805244f13f965285e3d9a03e83d40bf8606756bd1f8ce6081116ff5d6e2f5ea2aec2d39415e2a86b1dcaf6bea9dff1cd4b93f0321860040e2fc00ce0d2dba273ba63c3a0b7e016f71d3f029a7a97b8cec01a5bbca5086b0ed01b876162747be19dadb4d2ae8c2e04197a171fed9b8ada69051d44540af82064406c7cc7bfc60179e8287ba953a36ee76efcd585a1a0bfdf912301184e60a0944f459e1d8c49762e897037868df050f9da9b3cdbf92d20916e090b6fda7352b8d572c0ba379638ff44a3d2460c9c4ba3ad9f3ec265e245c22ad4a14a420b1d41de5af60c7aff6f29700f0e9b9873180abaf67a32042746758ee9e18531229ae65101d332c610e7c858cab5f9837832eb51aa9aa9c7794373b2474976e479a0042214ce8a957c22390159061ae93dd5168c22e44a4df83fb2c63a8a8e605c0a3acc2d3e84bfd8b5f2c99ce5d1cf9fd550821f5bbeef5f1183657351f076024e004d2c869f04455d6a45f9deb711ac483b0c1fee9ff06a5a0c631bd21e982aa45b3f39d7a389cd329279250d5c2866841205a058f1832dbf456c25b41c58e586a30ea9ddc16992ed71bf2089c3bdf3ed023a74626fe3bfc5de76752c6e23960336dd53ff2d8db5df454877bedda25c4d39ff23fa753a3ee7917ef8b29b3ad60c39ac9a36b12f642fdd05ed5302d62959eec5eb3ff1bad48049af6c13b901339b450d4867358d61e357540cc6422d89f908bbaa21cbf622cf48e5f2a766c9ad5b7d128dc47a78610f56e0ee882ad29f58d452e8451977db1992774a12a37d616ac5d62ff952bdf8f8f35dda8e943992e4da1c37ebea4436dcc75cd80b2376669322d62c3f96e7fe665385cee061c65133cdfdcceaa159c48f8d6ba86b759a9d0b2de6474e37432610bd5a4522bf865e1cbf79627099f679782bb8533d5e43dcd36eecb9ffade134b09275cf9f1931e5f868fa72b54c6509c3bf03247fe30313e2cd5e5f0e521ecec7bab8e288c01a841b802fc46864f1eea15d341593cb91a113059931a2a9341f27f4569bbd38cadeef302c4a309bbcbeffdcfae783f033f47ed0ffb2c77de74a95ca4aa559ac101d4216b18193675f0b62f5cc6e4b7677819ac0953260617300c073666b228333644eef5d4ba9642313b0bf49eb8057746e78c7cfc963c8141dce68856ce67e8b92ae1ac52eef5e556f16dd8f4623e0279c7a40c1a3e135558d0668c7dbaf7e5f7e3809b874f6867d3e0cf0d1692066b9d31693cd11365bf5f96a1c34c44499a25ddd4d7a1db0c07601951b25bcc6e87cfa8f868cbab68657eae6a1b86b40845f3de1986e957abf41eadeb3bb76f6b05c840cb1e0c5710292cf3f8359ba0a7b63ef93e1488e54d83f8469c901de2f74e63de41d20b2394312ab7cce75d937774de2bf9428de112474e85addc55bb5c4a45033b67f0f5a9b717bd22909fe0c8ade08579aec287668ec0af7b0fc77ad113d91ad314b064b0d86d06555d89312ff363eb371013ff16753b18539f42b32458db8ee0afb6acef516f634092c08c0b28ae7eac2c74433d7efacfb689a2748aae649d28cada87abc987e3e9cd66e656aebbe46bf41109696e3170edc8ff0a05ff35370790f69e5973116955bf7bc6d735f2e266d20ffd727b5204e9117619d0db97b2e5cbe82e8b27570bc0c18493108ff140169d41254d1ee15c84ffcd06db69a7828d8c920e16e21b3326357b0ca83c6776c8ee9437e7393dba0553695da63e5aca60c0daca79d0ece204e7ff80ad89008601c418fdf607f262fe607a2b3ca7b58332e7c75a18d614ae3d1edfa3f21eb16517f78dba3348b53d3ae5dff57a6a424f0a5235a79d9f746329c0567e88d37e3c66d2ab8bb9f10adbf50f87d7e3dac028186c4f8259bf951b9443e3ee22356711ca850c5ee460f92edcf7735581244b6c28d717c3a23a23b769adfe796abb3d4c13cf7ab3d99228a5bac5c3b2c0d1f46af4b5fe4cdff9b1811a8eeec1a14457d7ddb82c76970d3456353282d7c7ac2ddebcecbce13dc7786c28e16489c4ba346830eb9a575a8fc4ee48a386ae7dfab8d0e48c581ad159418c953ce649333a22f9670a841f5fdd16d98cc2de378fed0e8b8f6b39e676818ee6ff3317c3753c32bcd4f687eb9b3265b3a0552b0b0a2f409eb697f0d6d1b157545fa98e107bf625145dba0be36648465d36e01745ebc576d2b24b410f3cd509ca3be11734b5f5a2ab420944093b14b8dac202aa7a923b98a6166127a72e66ecb6063653c6c97c4df75fd92f3965fb550eed84123721e2f5a51c5e19efe17cd299089e92bd7a45ebedb718dec533cb616d363033af8e8004b534ae27453fe6fbd971992489f36533726d9f9e7078e958ff85df512b3f671121f7bc86297ec03d975900648c7ae499effab485b0d49fbf26ea56f18661320d3bf9ec1dc1eec8c3638324bfb1f282631d642f8ccbbe0d56cff65714ad24fd59733802110f363dc5f09bad22b8f355ffc7ecae285639e603c52933417cdc28c1e025e31bd66fc53f86e6fa55b469bcdc79c21146cfc3c9c01fcc55d4f6bb24f6b1d07d9ffcf41e350786a6ce28582f7483937f45adf16ed81a03bbbf976aa4fe5ea3d4492b5cf56f46c96a3fab1d993a8e1f5c8bf23359a06ebc86af1aba9c50d43e88943650654c0c23298119edcab9fa890b94842a1efdd1cfe6afdd0ab6d840e428801ecf4da2af9824f89800ced9e934399eb6c7ba9f682a6dec72f75f643969fd2d73d0137236ec6ea27c8e3f2dd7126ed58812c5a1b11d1ed291009d5f025c7d6d8645d549b5197f592eb3f0b4b9d683e12d6f8ac931bd669aad4c725ed2dd47fca4afcff25d10597e651f197a59debb483c041da265fb367712a12db71f7948d29768f142a72fc59c05433f9928feceb20ff5e1f43f414f4a993dcd5511a30b1429afd6f5894dcf1fa2f5961eed7f2a89c1b97a8b93bdc40b1c90efcc5bb89da687f94f7cf6eb95349bf2e23122973f9eb45faf744002b6f73587d80e31656e2cb40c65b835a6db3e67f52a7a9f64521832a28ad0f33cb5b6440d459e5691dd9b9141fa7d906036d09e276eaa8114ddfd9e3a1b33466e6c563637b979895eaa5b5803bf18cbc0c700bab50bd8a74296282db0c39a66d9b2fa7e8c558c806297d8277e7ac4ac1db0ff6b8f5bd266dba5246ddce57cb017ff5bba6da90e1821773475714bbc2e6222b9377275679222bb4b56b6220e35ddf42c82f91ce536465e29fd4379ae44c9549210b094613b96b9f4e17befc53698e25a4eacde44a92d2536545661d1b87e14fd826fe732432a9b29ef7212b127071178c906b6d9f24b96a5ea2498d66e54de7c2a6eeda909b0b9c65f0dbdb56f77c3e858ce5033aeeb2a9b913dd2820c079745ee4f3e29ca82cc6e3c2bb687645eadb12df39e36b01cf1e6cf2fa11c487ed95c8d680221dea11574a0f4aa030257b21867aeabf2ddfa50fb9b3bb169e9af10c087e7a39a5937485e57e26cccc766f738f1bb1e8235956d40447f120084666cdc34e6f74382c639227f3c51929ae27b4e34ceaed0041402e4beabb0c6fcfd33696dbab9aa49f91caa054c2a2e8c8faed8e8fd1318217e9399a5d4e9f017186f7885c8dadd0f4e59b2f8fe477da2bec4e05696b2c1d6f1526eb7315e61b1b2bb0000000000000000000000000000000000000000000008121a20262c2f35","message_root":"0xd3d046e7675b1ee438fbbcc04dba3208b073182a6ef97fba58543be4ee31c715","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe8ce092e8929ade320bc6170f631ec803067f9dc19ef8f38b362ae276a215f790454a9a80e91d1a9ecdb77910b590b6dd2826a3ef372647c51b7d35e0c88fc271a523cafcdb19fddeebfbdbd13aebabb4c53226cb28d6f98b78f6d257ea9e6e2a3eb87589faf64ec8e2001b736b3e46d6efef8f4cc4b210ee05e7291b62a626478c11f2701439a10b6991c3117ef7fa770d921913a51450d1dc378645c7b383a21b87c5f14a42410daf3f40ef8ea75c5fb6be206277273091eb41e26e515d29ddcbf7d9bee50ff9e359b5b6a64c756f1b0531c33a372b20bf4fc9674a90f6fae27f0c50981c0db12b0f55e5845d5d1961be8a38cb5ddcb51da9eafffd97b7e280887dc1514d83fb81d34641894ff557d0aa9187b6b1dbbb4904ea1fcc3dd5960ecb629a9110ebad1fc9acfafb3e62e577d07bf4c240140ff2c3dfeeb4f99ca5839dff7d27edc38eca46735819eac20031ed637f1fefdc0b0448ca66df074f0ecd576050b35300bc2d8c2a9f560dfa653e20e5b8acc31db6b582df19260a94fcec9e70ca789070e4371e1851d4a53484502bb97ae6e02a4ed65cf87941a4467ac7ce4973de09fbf7bdd25be48995c9fb15d9cf4d827a7f1aec58d30d743b1e6a3b3de35353e5c4774e65e4d2e4f2537d551e8a177eded02350c3dcf668b5c1b35504d972a943c03718aeb49be2b95981caf25c3db4c217003ed6122317e572b17e59ccba55fa00c47349e612c480a661d96260951ef07eb100c2bf6be2128c64017340cd2d4a6a5e50065e64561e72f0f0c28ce3c1bf5253331095295c9f8dd8f643149eec32a97df1f7759f1e59def16ed51d7c570ee686eff85ca2f68d563fadd666b4ab49721cb13dc14fa6a3679530936cb5f606190010cc7138854b04486493fe0e5066d914308f31792e1f77a43a71ebc7eb0c21ba127306cc062e6990ca9af5574d6813b346b940f553865e6e1044db914a01ac0d920067ef8a2fa897d4636c899237a8b63adb882d9672f9343eec53f18edbdaba01387a47b3b44eb8ee98a28e8c8429a932cff504b6ccd7c6a22874c923c34a4c6f38262472c4a54aa24ac6b839647880dcbbef3233d483dc07951e83d7babd05e03edb7577bc0207ca8af5499e4281f519ccd0a017cd3af65535ed1a3402d9fccb48e35602259982d9f19ae648c4467950d485791fe1c0883da43ec70fbc91cf898f0baca1eae9e333a3a8641a080ea2cd20cecdc6b9d870527340f37ef795f493b0a0c49ea2fd79f3aee49636455dad7de7ddf2761ecebd1980970ca9f59daa9f0e3d5e2cab7ff99693f21caf11db9c2ae0e35a85303763c9ec1168279a73ec7012d61bf4fe9a517e752160eda14be6b49d0af54e9ad8c0601a7097ab9de26bd50ce3ee6f56f6cdfd1467bcac8afb890103702f97e37d07dc8a21ee5cd94deb967c441ac6e8121581bc7b757065bf3236ff62b18b9f5f7d7c4f95aff9bf2cb9f4c9a38c682becb76ede9b5ef73f6bf194f3ae03db6cba5a38df3aea39daaf758134b33e22ee40949aff11560153374d6014ebb3ca3892bf6b43f9de530ddbf8f248a82d5029078ee0d34cbb56d36c0d036404e26a938f8c02138342da43a32d0433ffdb1760a04bfcf50dbb8c32b1553b358ddf43081541130efa27116f0b0d5c81ca5f9b4d2a43510f2d246d4775c7120034141841d6c4f9ff2582d5fa82d2397b89aca871cdf48e163693a6f952470dcd659a88db4b21b2eb251af5898908fdba54994d86336e2075e06546531d5a2868f84f8f61af17051db23860054cf0b23d90cddca2aebe54fbb56f73669cccc1a95fe9a2f37970391084e8dd8fbf08b9605164ba9f4ef26109db3177b2289a66b634ada597dc56502bb251e889fc44892dabe4afa427235bd0a154706c7dc4b8ff225b594792cf53cd9e65669a5139b27a3a07880a4bcb267209961eb070f7a476badacb27d564361725c970b47ed0baa960f649c21d476a4e2dd4398dbe1a43f816190499ca2da53a4581688449a12b014648da0cf15aa7ed165767675b6b3a358d7720a389c08c7d243ec8feeb0c24821c2b53477ce6412c234f5dabc336ec873461537a76f29e28a6a534c3c338e4534a79a48466ed4f6e4141a8bf44f1f988dc05f8198f5105a542cc58e470a79d2240de080f181609fceb12a40c400837f37bc37c892f5ee4cdef55ac828c510ee0129b9af6cf3208b722fcf7e9d12339a246ba527286847142a3c2d2894ef86d94459ff5c044cd1b0aba02f3670dc45291584b70633c25fe2dcd3901e0f3ab168f232505040216caf120e9ddeced306cf2dc1790fec2ab867ce49f6bad93ec84b18b76437e8d2595db11d6dd32099f33fa08e3668f3d0b5ac614d1e5bb1bd27ef8512c9e3b9d9e8785ebb60eabbce5070a9f77b9b8df8f244aed2c961c4f2107f82a2f7071c8d09c83febac726070d8752fa10c09188386666ff6273ed925db6d8899748698d5d8aa88de878d2c824eb994fcad653e1d628cfe258c70e31944063d9bb599ec86e8396ec6a88d4748e7a7fdca3fefe7c41bacad299c3ac1f286d717debff5c1fcb170d26affd77dc406465e9e4bc3adf250bc95407ad35d3c7fff11cb03b564bf8944bf6f56a6a91effecd770d898b89ea5de8a2e68e7b35f8f80803ecb026f43e77f3acfe6c81e9951f034248143f35c579dce10c304d2b52982387cf10ab59ee7183e46c525bdb9860767fef15ed30147c02a1a452acc86d91d4fdd9d64defa7a94c123b9bdbf5050bb5e747ce55c82e41c27e462004202639892255d99fa7890a6ff126da5c625cfb2d9f26f50889a7a339f36319b69e9058c87920a50766d62f4e3055c0cb24b4914b14cefa68581709fbc7f1e9b8f2bc8e4ba1031cb4f9893a625714f4dfb48a263c1626eca77eeb994cc4106ef90719e2052d9fbb09979a07617364c2cbd7b9184ffd710e7fb3e736ed537ff57110338443ff102cd2b059e1df06b08bfd7b9a5624b266823f0d7fac3f4a8cef8c694b6cb8c8082b19c6cf6aea87aa0e96699d298a316390e10cd064b10f79ca1058064b635f5b388d818650467b5ba3b9f7e72cbd5ed78886e831ddc13149006124e56b992268921e26aee3a2bc04bbd3bd1fd47e10207410d5a13dbcbd24b93f630950afd2163996614f0d7c1e75ea032bd5a36f9e7df333559c53d6eeabb2ac9eaf0e8cd5d453d354a1e00a9ac3df1d672e424f460378129417b66fb6e1b9c12b1989fc0deaae74fbf83a87c690341aa0869eae6b4335a2ae8492f8074404025012ce419865fc22d7af1eb5f32424294c1158dcd39d868f36e05ba17e69d533b0bdba4d8e66fae67b18c49e954cc4aa2371a10b33be39f04d807b1a2d468deab1d01dc85941b3c57b31c7c0709f18c302359fbaef522d5a5848bcbefaf2a3680c9103eb74d8f02ca06af42cf02c837508969f5882d44aa8c53dc190116e200acfe971b87fa084e2d7def2137131da2fcf1919a8cae39e52fae6de0f3633b44d86ba2fa556e158846733de0f80c71cb20b9c47ac1ac627335e6f0b7795fb889cc248e3916f98911b624837c8659f2128c7271f3d0de97d35cf1760e19cd01f0de286b3c6286ec4bc87aa406272926689fceb86ba72ccd9199e499780ac24df2004e36ad59c940d91a19b1","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3261f670f81a1689a45545fed8dc67228d4a8c3625ea11d7a4af7bd1a90767f1","signature":"0xde892b20f9473d9e5726eb20562f7af4698031600cc9f4c082982100f544d0922eecca2f8e7e1daf25e78de67bb090a26d4f860ebf0cff6e85005fe53fc5caa3e638bdda6ab743091610b381c0081c7b8ac9f801fb1d490471718a97f538c8c413cc6c397dcdd15a0efdc4c822cb7473829046f529fa9d587728c64669bdc1febf3712145e14c9e5748f6e0988f2b021b3d18cc848cbc0d969535a5c8dd5d2f0982ee62f5f5efeb59d5c0ff63b6aaeb9350966701047e0d41cb8e47bf6dbb04484bb21a09e70a651dfd9d24c8817d7aafbb79e8d4211cd2cc8693211c3bc9466093de1bb2fde4eb7efde7e96c703c71be27761448fe72f5a6da8107222ef0bda408e3ff54ae5485e97791ffeabefa24953ae93c8f02f7597616a1237be088336857cd9ae2abfb9a2feb5fc092ac305fbcdcc73f3f992537d48c6d881fcb015f03f2d651849ad48ce003e226dcd261f62cdac3565f1f7814df98b91970ee39f9b2574337cf23353ce7765bdd89a4878874bfcf81ee1c2daebb5265738014028ebcc45b8dc3bb27ae915bf9d8e994419ab4e9a0b6d969faee1e0b091fecc65423b4ad08e478ab68683f72a0a9e612e1bae17e98c4d2f69745b0d06a512e8b61f8849e9fee9b1134eaa6d08d215d1eae5049a996d6d5f246362755801590283421cd8fd57b7a519d9f56bc740bfb5367028fa1afa65d7f2f41c141db737f2f6890dfa19e6c8c0389259bc4f9cf9bff79a86e01bb5ca9137d044be367a73aa1cad9d89d6451dcfcaa5f85dbdbfb64376eca0d28fb0a60b35fd567f67e3a6f6fb41a9d1bd5b54d1ceb2e22edfea73e14e92faee0a01ce062b25db440f0ad9d8c124bf490a5a99d4266c2bcb5c10ddff4153a9f21335be643ce127d49004e2b4b063fbe23cdb97ddef7e9549ae90ac80828eaf9da6a5a1bb1100fab2604412828399186a5ee4319346f53eaf49e7f0b8ef7e3c19fb90181350fca8a587ed34133ebcb5e87ecdc0496bc49ac6679d585673831c6f6a2a385dd23ca37f195758b183e3dc092a85e72e4b5054e01d0886697bdb92122633a24170f064909f516aa43ee1e07231b48d1efa1e3fe6826eb62ab8b855e29f5cb9a4cef078f9a4cfe7f0545536c82103b973f4606c2fac172bca2f22c8473cc969d3606476a8408a52e9ae07ac8386bc8f395dba888b5fff9ad749a0ca3fbe3374de72c09ca9c73ca369213c269f672a06fef903c21c9a6ab4f17cf7f31a9e4db232ceee0bdb354cd3c1ecf3ea4039d7822fc8e36259cdded5f107341d5894f5c6850b417f6425cd0bfd54c4b30b3005968c5008262c3abbd0ca4c7bc78f5d358c0d316c52eadc6adbdff3c8688c6ca01c5835fc7eb21a23e84e195e8a9bb26ea19dad8caaa8fc9f0889b25bd682b6e2b17919c90544fcbb0b9ff6d3e2203641b215401a394d691a3b574dfeeca0ccef4fa3b716548d0d84cf2e686258a9593c0e9d5dc9f223551ecaed63bf23afefdcf02f2d3330790f656395ee279cd95ec4f46a424cea0058640fe4ddeb34b3406d3089424cfd744aa77f5e4440e58953b7cf46fd8c21e217808eab6c838b6b5c8f64b328461805776a7853fd499d17375e43517e23a102f93a5957bba06f982fcf9973c41a6418ac3848dc12063df541ca7a3a7c2daba5a0bc9916b75a1cd522333c2479bcc7783c99ff0ad26c5c21267051f4e80547d853e1ddf3b46e0690b1754c7c00abcc9398b1ec5b935a8ad3fb59ec8723c4a6d65be68e2b072dbf2be844c008c4d491d8a16ba6677770b2702b3cf3d6aea60219bcbc0ab8c44d0ee38f3b5a767ae057451d5da3c599b0968f6bd647a9882314daf101cbca37673439f560e34065f9a0d73d82e3908959034a5feb92c5b638c37753cad3b9315c085ffe0dfc27392cf8a9b9d45b78826d593310dd96ef904a97a56c42db6437b6c81f64479ad6d7ba08ef2d2b8a1293f0f16908edbf631c529722ba0211e3bb075e7755f24b7d8b2f0eb111416b90220fa81767070f4848e104b35c7443c5425d03a15d27adbbffbc2343d5697728a85cb4082df456dfaccdb7bbb5cea9b71cc08242d5c3585361e93b7ebcf212d8f6fb578b90e094692a7b10e872eb30eddc91c04479c2cad32cbcc427b5d819cce6dc8aaf0e1c5148e38295508d0d981d29d9928d0ba3d07732849276119dcd4d8dcaafedb118982920a4b25c2f16e6ed133cd4670f5a787fab8668fedcda93d2bd557ea3512a688f1d50b2e643d44276a2fc217019f5dd2946a9c494c5043fbcd017b42469234b2a41ca611aa7eed00e01da819ba07e43a73fb17047da376a00fbdce39f4659d1a95f40a441e94545d6e21bf3cb19802ec0ea9172d807b655a7caac69ce6eee4d5a1c9be00749a2702d2fe6dd5a634914434e680ee47f300c846ab49740df42c7d80cccfc33be769b47a69526dd732dc9433fab15ff6bf5648f53c903178005f7250924828a761e721856aec1ee4635e6090ee109139d703ffd2464679697c64d2f4d61740c83f3ba9e2c68003fc203de279a5f50d65addfaef5b64cd2ad0d468c3b597a85ddb5361e930f7861b542c21466a1938b378b0af93e0d90e707880c7c423e14555d7aa48ae78258ba05f6a9a5f95940a31559ed8626c5b60293831dcf2efdd1acf8e4f476de3060a41b674e3b1910c44b12770fb29c38ca762920b7c4283e336640be29d7b9b32bb6bccd861962694b1036d22d3f9d1f0deda9f4a24f23528d418c457263f29e0e3687f7632f40d4afd1eccc62a0c76e1529e8c89efe65baffb58ca191f677be5af5dc3dce0e78d6f51fad6bd139e61dd5ed3c68661484d297e239ab8618d4e94f6c4b6be24c3ddb779c08cb7e2f0e559c4fc254349ba8f09c11331b1c5aeb633aa4233aaefc082e5557f3aaa9bfbc1bd3d35f0edcef1762b497587e2818ad112264a01d8ccb2ae84ca8b4d2448e141329bbec0ff67980af860f7bbad6b2563762f012abf733a260023b261ae27e1acd4f1ae8f3f1aa175d47f0149bd768802f25fd859ab8aa0c4503dd43a05041c88a8155b8f0f22e690a7c4f8ca5ac0d668bb0d555e9399c222b9b8f2cd0bc79cc69fd9de52e0343043ad876670882ef6e1f4275445c1f8a7778e11cb0c543818accb86a4e074c58b79f10b7d2d6f987fd54cb8594c303dbf962e5a4628d5491a233fe2c8d048f02b1e48ef3143de4716fa4020947035566b84aea901d44445e514fbb30116925242efc814a9712f78a1945867fd80fba954268493b235a351882f3989c1d29eb35cd526e7b105d2286ef1d348a8cf044571caecc53650b1a469e8e372d75efd021a9418fd08461bfe4848fb139262b99283cdcfeec4c7d94674a245bfbf8890f5949a35c97043451e66d7cfdc366d6d920125a353982c5c3ce5107510ca5b0dc7130934deb6bbfe23c89fa13a43ffc62ee84cccad4bad615144e8a2dabd0d523757de8e57257a213fa185aa1a3781089f8a9057fd7f18756996deb4cffd73a9b7fa15d11b4e710eb15d47b937a919bf4c8412828fa104174cb9aab08c0781c9cbc0f26583d9d52b677d3a505b4796f2e22b5e8cb7222571052646ce00f245e518432b18a17fdc3cf8ce6d8e444a361dd96e28836c0721cedc92ac48a2db7245c9782b33016717acb6daa1c07b4e47b894e087b1d11fa1d9e0c3e0b086939c6c9d5d249530de08e797b4993d65344b9224bad3527901c6d68206420ef1e96801e0a76f03cc903bffd95e87613c4d9a27143291e5de11957427e65e7bf2f7ec0fe45041ccd57b365029992dc4c782652825dd48165eb608460d4afa059c2aed131ba9a11080ae6d13696949531452dc1c880c5273ea9a9aab838aa1452b2a9db54a0b74beb7c3aa22243995dad5d79e78cceb3b62b948911d3bb38178c57bf6c0c92a2c21cca1cc00dc93cf3c501a9bf24712f157e6f1272ab7d87a4059dfc96feab1bc1c9fa001951eaa435b33cff206de4d391968db02ec9dd11b7061f9abb92724586d52f76c50142992c4e1c5a8856add937e83a6c6b1807effe1f8fdfa29a5a0ac6354112b97f8a15bcacef2e9b856eab068dd5ce57ee3dbb9355fa04888783c6b82256fd7b670a1ecba68abc0eeeb1f938d6f42f046247c0c5f320ad4348f8d88dcf151e4e5bb8f158907b991a52029fc850795c13ccd766a3db558f231dcc7838f64477057fed4ecd4f253667ace41ae62f5d35d7996da9f72cb9ef31403da067ae9e41ba235fc5b3ed03be2cd239e85adb83e1dedb8ac101641d33fb0d94ec7c646c943a0299af18243a1a3b37d5d7b106effc57e1ecabac4ca8f4e7aad7b3a0f9bcaecb54d283965819f8dd2570d26795fba70ee8bf629980216735996cabce838229e6687e555815aeb9e74eb2e132050458c388220c50bde639bf3048ae3ebcf1f81e5382e3fabc36dd5684da976973b509dca38bf9eb7c4dd9b81fba46e539a7edc77cda9f78dbaa35a3599f1065917c60ea591e56e1d1c7d23ed2e785d846725162009d8c43ada3afb687f39db044772c5f8ca8610906d118e7a69f21db8dc68ea2f5898a92c89426f864e3dc588df3cb7fb5459f11c5faf46bf43596bfa4f6b94c29bbf38f99111805ce0f3b3f3931aebdd708570f45d7fdde76162fa5318c88aaa7a9f69512dc02d257a0274676f8c8b44b6416b98a30112bb26ecf568c2f6dc172611fb620bf0c05d95b32d9e43b986e5e37e6e8746301ae9c4bff42b2b5468399926825b11ce722f2706bbc7506cd34a5df89455f10b7a869c746843eb5e10f4b4a26479f4bb40588fed87f7dede4a9764d6787715a6e9ee548ab5fa2827eb18e8a32bbe0e5638b10add9d0fcfe3f56611d9db074297df08e0f3fddada45005c0ce783d8e3d6011325db309bfd5ee23cfc81de42bfde90165a2b0f7e5e9e94b28a5ba77e998b31a5bd62515d43d8d7e60ef7e03f22faae69c376ddea4eeef7c1e88da5c4af13ad1992a0d00eef1e1e1fc3caed12e8e0c8a05a1832547da134f48fe2c8eac40b159c95e12fbe338603dfcbb88e008ebe4eeb58318e1b136c98749720c6e35abfc578fc077fa14b3078867229ffe2f18df086863849573171dd14e844737cddbee0723c7dbda2c80d7fa8da8e4feb8c3dd50a141c04b47abb1aafd22778127e134e218d46c53c390b4bf1d112c4110e1a0dd926040a9cca14766f828ec75a7ce382f4cd463a73aef2ed6e61f1dff06070fc5295abde148f5c90569b5f1a542465c8b71af7bd07640efbcd71e68a4f78a01ecdb604037c971d36414f802bcc548ea9cb887dc64fcc7442d498bed2a8f793f1b794d2aee271bfe07771e41f897ab24c21426f6177137d14b378b87ca78526db23af289e06f6dde9ec7366645cddfb419f7d4b9018c05504d70897388d9ed6c52a92acdc50d78cbb6c1651ecd820cbbdd379d5b01861db4c5e8ecddc059cfaa2d13ce6b10007eb9856a102a7db584832f699c0db97e1ea67f0fcf05c03185b5983e792fce6a66b3e474bc89eeb571be9d0cd1cc6dfde3eee676b609d1c475b4eeb45c2c258bdb03bbb40d0ac19b6a5e7b9a253db7e4e35901e2afa7402143c408cd86b5d9e7522e4649166eaaf2d1121775a1385871a4ccc949bbc8fc32be46a15842aa75440cede80f476fbb010d4dd65cbeb0a541c495664efb1ca3f494c2ee9cb5864010b0dbbe08f7e2ceefdc67fd4f090fda4016ef38b789b684cdb3cf6c1141c304ab0131391397edbd48c7d9f7bd861933a93bdfa13da8b660c8d92c9c7ca10e9bd7b8b10a513f67a913a324fb2bfd8f0d10b117ce033a7cb4298a2fc97ee7a118ff2619f45c60a65fa152b89d0333d6157369df858cc5269455cb0f330569def67719baa93320448e4785e3d20b2ab5b4ef314fd1c4aeab39032cdd619dbfbf1554cdc594d4f0042c77f409a7fd7d4b3d494bdc1426494e6e274dbb513f8a259d6ca53689cc798833d3e0667c3dd97f34a6db2fe2d2729e8fc29b42602dcfc2827cf1abbbd3a2d8e7f8c1f0aec65cb7bd0e8c74cff1f626dda0a316a24b708ea4967bfdd69e2b313e063c161715147294ecb6f3db443e8fa9a42387c514b9c0b7e39cf260566a4f44f9bd6b0e903091fdd05aefdf968be3f800d0968d393456a66a5ddc150aad435412064077e416e8fe34df36f146dfcc9b6da4576fbc622fab087b3d4a4999d9b597031514c60772343c6295e05af503e32bf57d183104b3eb7a863cc166d52fe28710f1832e4fc48d0cc5939d330814a8e3943b265ac32522b23aaafede00551b72bfe46648420a69eadecba2eb9ddfd22139c81f5dd31567e25d5150647c84a37fa3df3efac1891ad0bee17847480689b92bb4671278ef547fb56a495a09f1f9d12f55a521d49a83e21d148ae3aa3c7c653336387a525f0f6c6aa684bf8ddd5f0bd2e6b96dfbee30b123235404e878b9495aa02696e7782b7d1e0e62748638a95afbabbbc67888e31777f8e9abe5e7b00000000000000000000000000000000000000000000000000000000000406111a23262c2e","message_root":"0x096e1dd9b453d30344b8eb41231b3e522f87b479da1a3d441a19cc157af0c0e1","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xc27b0d12d20f613f80c79f3d326d9312e5dfdb7472d9f36fac31fb415d7caa6e6794499ca52afeb7f30d9d33af1cbc24f4bb69e1dff97148a6dbeae81633d996140ad547d8c3ec8dd1bc01a255abd6a9e72d1cd724e2dbf207d610cf7c53257f6254dd7874d53fe3f00344caf8baa46c26b6d0520c5117acaa1e06be4be415ead1b23b5efe1ff8fb4410b3837ac5c097e06f19755f4d92b816be0396c689e3e091a19d68da892a8dbcaa506a02308669e08fd8577c697dabb0a278c0748384d990b24eeec18b2df19659f6b98a0d4007679604286754149837584b42a62b11c98f328d0dcd6f3aaaf97448a42ddcaa507199b896d3943dfe16f1681a0577b364ff37da9afa569212310c292ce5f76948b56daf3ff23cabb67b9578d7eb72ff357bd1822f5a49b113571ff4f3db681c9c1066002c00fdaaaaf05436fd34f8d0b6e13d1a4de963e6a0898e958288ee6535f429c229df0778aaede4d8471be38416c7cc969407bc84103a28373b106856971746e60fd3777f31405ba6b0a9301a9e079fa45079f2eb8d9ec1f719011a8e5dc9411fb5d97c08dadca4cb826a496a5aa2c2a88f21ebbb05b63d39929d97199f45523fca2423acd294b4d349f8386f7761e71f2f345017d93cf6f9ee85ec2eff57b72110303f82c6ec45c47eef92f56a827e74d2f3e5e3ba7d3e9bbb7fd70edc1a1bc98fc4a6aab1d752b9e701ad19307351c50f1ca4fc0d5ec1d9e2453d9cafa62e1543dd17672de3275c50db2ea9207a6fc31dd5ffe681e44e224a5de0ad656389e79e18879ab7dfe55f5a4c9677f3b2928fb3944d4e9ff0c3d37b79153089eb4faaeb2cf705c65748753325a2bda3eade6ee9e90c601cbd5a39475a86434bec509f7e2a96f0c1d40ecf056499443b4278576b855371a9f0ba37f76e719f7b7e89a9d5980d57d38947ec2a46709dca4b3e61bb2ff888c832bd693f3cc39e74fc81a0e51a154e9325f6687ead234d668988c5a2fcd0038ddc56348e5a5beaa746a0c89ddcf0e1fe87081cd0e43580c9a7a86edd61c53333c15247bda8a0a7420025ff35e655589675880b8953cb94232fd7cf936a0fa2cd858451758aaed560b2115c2460e3bf933fe466f328e880385fbd48d10476fa06148b8b1fb57756e630e230fdbd7cb52387afc4bede6ba29082da7a5fa7548b18e32807b7b911ed0d25a07dd38593a62fc9631e7f11d72767c78f2f9eab9aa3aa3c6365123dc6e7b0b88ea5e5ecf74deaa5ae4e1517a1cb39a9751c3588ef962c06ad2853a4234b33b2cce95c9ce96462ec8621ecfe3d2fb6f7741a23a83c83a4b1c44459517795ae203122e2780f117c36520f98d0fc4793a2c35112eaf527aa870eafc37f21771c073ee8a1aa627f7c2c3fb07c31bc4da2018410212280907e7ab3d73e11f4effded2a066a2a1cd9ff9bc413c44812bb6df3f86ab71c21b2d7c402244ca916d07686b8d2d9826330211c50cf12193312293790234625bc8a2adc8c03b56da720c43383b694c459f7013e2df269d4489ac29d87575ab5c84a27d196390b10029bb4ff269ec50367be79b20d1a1f5bc1c8e8f7f5fd132a2ceeab4d24ddf893b914d249f38efced1da56a9168a5032a1317b6a13c8b96018ade1e5e1562ff10636b7d2e1f458c5f0de60280c08e5cd4e994ce7859e9038d47fa897ea3826edf104ab0a4d388b3ae16d564291166a3060b450ded29339e6070cafc41f040af4f213994e57534745d695277ec652b5f6d70a5bfe172ae01e4e1c3729a504bd46ba29e9a19f33845a2205bd03a4329a942478890b10bfe2db843da0c68e7ffd46a86ab82669f83c1ab004dcea2617d6d17d8fa8a0e1aca2f5b39c363a9762d152950e80fbc10bbce95559ead8553906008a6f68cc209a84d683933fce53e0981d1e0b8db4ce29f0027c464be90217dc33287da730961af1a2d8452eeddb40a690ae364b19d467a01685ef17625a58371d0edd60c2d71c6675d0bae1ee734102b603f1b72cf0f28f5c97b688084c0d312331ea3ea99ce9e206b628e301feb535e8bdf0c5d0772240e7e7e1898cd25cc96b6e6956e12663d58524274cef283ee88e926c76b7a368c4961c641a63f37b0deb1da1de4bf1523a6cfbc6ca4078e73997b0de7b40166376d17830e4c5a5b7459df794c6c685afff008661342a4da1a5bd7a57add8d8578f1f05da30b4c7ad001b9e846629c89b229c10f51ae46ed77f8ba4613d5c65ab71cf5b6263b64e3561acfbf7eeeb639c582ca09e9cba17af725ac23a9e64bc2b5936a0d5033da11b0aad90f7acf1cdf35912fe72c03183a26eb34d2b6a897faa8217690e587d9a5344a80ce81cf6622d2a59e2cb7c091be508f85a9501bd4d5a30636eaf7652e1376330380d606115a157c2266878a0a3af946ed670b698c5f7e2a94128753e5a777667a1e0dfae08e90a9a0686272e7fc056af646e84b11c6571029bc804c5714205d203056b46a9815b954649b2b0eb167b10b4b5b3c41704b9cf5bd0b3dd71e97d65dcc7dd5e972cd390aeea963dedb6edd64e47f1849294d1186614edd54eb87bc95edf06c8d4907b0805d84aa7564db73e1baf22666042a3de6e6f888aee200a9ff86d115bd88069a39611dbb36bea8bb068d705dbc2ed23753486ed660fce0852288cda70ffec5e8917074f21a93e86867315495ee4d88cecacad4110a5364b915fe88f636966aba94dd828e196ebc01476a35b87fc9103e23602a0dc41fea86b6dc3f1b433ffad1f04fba5945796260fa80a8e1d015cf479a7132937893abba5609430c700d4f7a7a55f2f6eccddb44a7c8dade94b6941af51bda75415c28f625a9b74e4350072dfad6c52952e85cac541d9940b04cdb776d7015da32bdea65a559c2c11382fc46a1e5adbd46ec575497473233d8e36fb57a0b042a5974dda28200d2482bcdebc17dc295ba1c2b6ecda113af2b4f0b9ca708f8374fa4a83abca8f2173cf84abd6aaf9c4beb03247d3b8831128a3f909566a324d8d4584479263be31de884d1c7a5c69e8ae0a3bff169a7a9953692487433a70468f9ba5eb4dc1e61d43f4cabe86b1d22dc7b0fba0091ac04ce4d2960cbad04573f2fca0fef79a0f50092a6a40b51766a67445f0488a5309792e744d2c1ccfc022ce11a03510284bffad4c3b63120d1c1132455b8860aa19a1e83c4e8575a5f28d215faa7d3756cab9e3349d667d3ceef4d86a39131ce4cbc102046f46dfc69b42feea6390d15133ecb788a18531718b31da535291463962f848151c790546ef10417afe0b2a96534cb77b8f8ba5d42bccd47c2bd1eb5ff6a6e3a707e2de34db465cf77330635f37458b099e5177375d83b599a971b16078d65b2689c4d9b55e3540789da4b7161b1bb55efbe70e6fbecb056092dc621cf3871f387baea273c379a4f6b15bbad076bf97b0bbd06b506299801d156ba1851d5c84c0e80ac45289d2e136a46c8e534b2d8ed5eb897ad3ae0d792e767e71856fcf0153e918bc14ad60f8cab5502dd6fac26f46bba65e824e81df268cd8c8087db38915bc4eee6dfe99a926872e97280541760d09bd35bff484ffe1925772930c660c3fad26bb5771f24f12e3cd9486370346b0b2900185038cd5eb81cc2051e22894ac5f53c595dee0a511ee918e62803a8d7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x225b482e7c773a657d25de8ccd2753ff95f1dcbfd37573369ecdfb98686e7ad9","signature":"0x032930c2592405857fbd2a205943c8c6684179574c42de70db94f1632bde52fea16f85be4adee54dfc81f4e7765088c90d748e9b4d0153e24b4eaa2ad1817f9a012027fc79375da44d0bad2ed9937fa14bd6b439a4ca163c763d08aaf3e5e700b3c4f9c0745c539dbbd053a649e5acabd2d85a764c7d425afe88e086e20f37dc0013d761f23d5aa2fa99a52ebb809a0413dcedda5bc9d3e1bee183bb2010d0bf808550dfa0458bddabcb8fba921d5f07fe63de1c70ff66bc928661cae528705cee14a18d458cdb326db61f2348c4c9fcd96078b4faa07ad6fb686e8a746657ea2300aad7f4d37d3006b68b6f674f93c6f7acc50a687d7db1483afa4cc432ccb8c7451a6906d3bc68f51df5a15c28490d86182253d5491b8894094d4771b577afc74eaedaec8ff0f30d0490bb1e743c04487f9b020ebab12ce4fa4406b5f9c195796a92fb6ce0ec8ba4819cd05bd4fece0f6adcd90a7906b15c3887683d3a20fbef1506243b5e9d4eb6d525c4c5af3e2e0803450961b86a1fcfaf9ce4fe75176a2f506f5c5beef1db65f52c36498bc78fb1b20ba77ea6a63f0b0126d69225b64f5e7d2932ed4a4461b1c60cbc17a61abfe995e7474a27c90302515c689f8989cdc690da79ed073241ef4dbb0f871e2b119dae6a156e7bba6822bb78265e3e420d49264c1b2a45059346ed2715d3638c1fd0d0be6d5a5d2d0f4b7c0ecc7dd8a8f35e926e89af654e35cd1dc87224f9d4bdb718d242059f5851a084f342385bc212b0e288db08e02ea909ad5e45c702f87c7f18256fa44f8848602aecc1eb8c0b94d98145f449ebf02461734acb83d34246c9a7eed3be145c13cb30a3c5f500e7e9cc01e3efe33b1118ff9c1a76d5a51af8c4744661bd775c4863f15b811bdd0d685a6efcd39fe1d93bacc21541c3d217712c756aadf0252aa261376987371c1df604f8d313c21a55af96a7047b4e76fbb260ed33fc0d3ce06d73c364abe05a8847133bbe793603ad7ddce4f7b4b17e61fad670aab94ffcd405d95105638296b1435bda5097894cb85bf135af6488f2e2487e78e61d62d296f704852d364409eb6cb38b909774c7e0936aa21d0d3971a8f88181732b9616023fa951139d39c2ffe99203ecb3d2ca2c6891e7bd12b6d3d27b943d269b6edb5ca546ea3607e5b2090d0c444ca07d51689d6298748ff80bfeb2caf957d4e04297cfad12dba7059c306d39f6cef806e5794f9548165a273976aa23ed45e68708700a08e2e990f2ce2d74cc43be27d015b04143e1c00bc5cc4476038fec01f08483c9488b9362b884a71ef7e655980e6f9800b6327d9425f0386daf6713b6ca7505a4deaabb325c564329f5a363cd205fbcec1582583ae8e23d696ea27a979589c018b8e3d62753513cee5f5b6512402f3419a14d6208388b7a54d5d4fb98182d232c5c72f14570403dfeafe3d3a0555ce3f739c6f14c0f37922b31d0ef3a273884e44c4ceda449519238da0978478ed7a181f545547fa390ea42d27ecc27554b8da99ffd76bb7290ad9f46da253ff55fb358c1f2950bbbb69d4de9a1a6d86b3ecfa3b1f2523852b0df1d0cc36258cd2d528469fb631e304df4d2aea0d6ed83808aa0ba099d26d3b48ccf4a7bf0efe613ab591edc762b93e058b10d85587cb87a2e72adc56e644819140d232c4f50c5d90f3e4de88fab04361b8f183fa14bbb6b195a182560f13f09391621eb5aa252797cd93a5711d6812a0d0c082ec5a9fcbed35e2b88f492d96283377f6ac886a7a70e47cb5de4fd6d513d81ad12e50cdbf0c9655056fa83f07a099b9c79b2956884ae874459c765b09184a05d7eecf3c41cbf5867fe4d5e659c3ae64624ab35e72e1b5592caa83590a6ddaa96f98110859c1e67014c18ef7c4dcc9af7821c6bfb0c2a5803556b017f0e01df3f1d9d2fe4eac53d64de9feba01c2defbd053b549dee9a9d8e294409590a8189fefd1a8593b6aad374702c104b17eb6ca57e124598d45a78584d4eff47d9770760998756acf82f017206d1910cae5d0fca470bb3ec9a3dead18477a6ac742dcf8f4a90d3be16007771bf3787eeb14b32812004bcb61fb802371a6fdb832c5c6ed75bc8798f0814aaceac6fca4bf717bdec7df83b0d042cc228f28baee7f06fc3e53a5493b2d48495f5dab087c4e11a1f00b099eb38f8ef47a73957a8d3e87d064da9009c87813031b4f507edf31f275f436afda3c898522b8d6d6df7fa5a1d2900e306a8b87cb944b063632cd7570a7e3e8860420d92d6faedf6235e28a0f4133ceab3cfca9cf53dd59223556003c69015bd14ccc3b51fb37801a90531756e71ab8e7bc9d93c3eaa17d48005bc602a7cdf9bda031d10f3d23571fede331ba7cd45c2dc953798023671785630b208d4de818da6cb6f8814190d82c44891ed67bf4026dd1972456f149175ab2b063e77f6366c7b9948b732b41637dac0108f1a104e6e4647b8af2b707164f368ecf243f8d53ff5a54d1fac7b85cf5e932141f2756fa7bfb4c957d8f6d5725c45c03953460064a1ee4b81c970ffc265422133dd81e3c46343d3b73bd9afa0a466ef83fbf77d5354a884e296b2de6bc9f9f0ac0473ce2d773ade0f425d67b2e296fcfbef9eb77748f070ff89e176a4fa327d7067437075043e937be3125be61bbf6625ff9cba9f6a36eee5660af7892b221e9c470e7001e0172dee43bb0f8952741de64ca5d1deaa5b93dd8571c960f98aa9c957cd85d7739105eb66044ad51c39331ab6ab4b70f0b7126bff3d88e6cd95b9339c95fb3ef57ee98767b24833df51aa6d5d2b24e9e0b2cd104ccbd537978bc712bdb4cd09cd7f01826f308b1bf21d22f0b1e357ee55fde46aa09028c307dcb71698bbf572cdda28d1a3a0d9074b627fc43a0c2a5475a585c033256bb52f37a042d2059e94c4d7f5d2017134305985dc9e83504ef4bd640a7cd63c6db213b8691323d3c982cd3161c5e1592de6151e46a9fcdf8c4a1866d5866875c3c891f35e6985b7a40bb394cfbbd317adc69e7cfb1276baafd702d45fa39759fb030a97bfc6e240f6e9ff3b61bc70d8cf9b3a9ac3512e01868436a6107e0745177eb7716a3b95fa35e3aafe6634e97df59aa07c4ffab22232db779264760f2e5bcf2c2099ba789ddb00a9a9ecc78eae3f2310b91bb408c1a8fd47dc01bc98b70825fb8024a034d489b56ba0f5c8409985b42a767e6b58b2273c0fd30ff5b825d262b3c07a078fd817fec2928f1fd9ad9b9f404f4f3345c27cb42e2f58c5752ac81b968a5f01da99723af57d5732f6ab128fda91e3077f0c768694aa9ab11a4672ed85a449a7d092ed10f02589c85d5b86042a17a34a9d0a7ce739903c18ae482657821f3e5c8c1d5e3bd3448b63a6f101382b1857ca20b76edcf6bfc0b4b299b73c4b53eb3d86bbf15a2842ba2f50fbfb42c8f7c2b6a97e26041c908b1d13369ab6fb935000deedbca79af1200248431f5bd9f6148c386f31c8cd9e95e13d5591c2c9121d9e249b739a3aa81ec08747d3452fa4b3489778044035ba064cc884a63aebeec62c503c2abed7d77dc1da587a0eef646a543f58b6981910dbe0c6c77f79e6182363bca25c9fd6d6600fa70215ff45f63e262312869b1aa349f7fb5a5286fa77093c1198ec4b14cbbd01368b588bba9bc4f38842a45ef6c6b9f1126e1c5db7b3d73f2eb515905920027b95c9498a53ceb1228f1d7bc57e21e6b088b3c8bff75834f5c30a6d51df4df5a6160efe22876117a124bac263acfa0434c21f6ccbe78ebf47b3c4ac0b66a0f77289a1729777a4071d8710972cc661c3e46668cd8e4dc3a1aa6ef5e768c7aa12caf48be4fbaeced63dff8bc2132f8a40469c15b1d14059d267001755c5890df61ff84b246d99ef7b0388130eea622bca268fbf633bdcb3464e56dc9fb368c3a10ca1efbaeed5e52ef7b5ddac0dcd151f19fcd105cd4db5059e6cb7532cddf9c7e27f6b422251d61a497ffc6fc7f1fcd1920fbacd078665e4d975e40b64f1b5aa69e79a6484ad192a59cd64243cc05286cae20111b8a90081c8bd7b1f15bab333e44ddce0a8ea1348cff21813f572d1ce4244e49ca527acd526708397ddd4c9db20d9b0925e2342bf8a75ca8d38135a6ef0c5e132915120ae9ba25526e990cd64e74ab769843b27da48e31ac3ef60f8acef628811644e1ffdd335ad960256e075ee890c11605aba2d7dc0374415c3037121a99d1c3591df238941135eebe5b4598dd6bc980c10d03df257cb4cbaebffb7e1b8b33fba6fefdf7dec7248e21be2d53c7441f00b308728f879bc3a947ff6fec0ad10e4b0ec168c82c3b43ab962ba63d25581dadb04a6a0d2455ab7e927b91117b3da6b0969aa4183fb771332a1f7546b04210c4eac4797b12030b5ee4a50268ade0e1b9805e3763099a7f536c9385101826024449b873124c0f637a3f0828f073e9a85ff2473331ef91f672523277c86921995adefcdbf03d0430cb260f80993a15d6c899b0a5cab111ae8bb3be6f0575caecb5f063da8bc19d43810793457c533dd4abd341cdb85c2d5b2b8a8dfb99972ccac4fc62dff332e1c19d5807a35e87a384139d130a8897a3202c877e4ebc6422040a62e80cfdc5d03a220d5edd7ff6fd2522ef25d248b3b844fd97a7df7324a73203710b24e712e6b2f0757c50dde81c0b8a9c74dea89cc47730baf6c0dec5d3e76c9e49564a8527a6d83f81706f90eb8f4a7eb2cb80f215c6181e16055925d7a7391aed69dd1960727a9efcb681051a2ad8bcc03b99c0ce1538fb459a34d14449e506c6fcc4c0250f6d0917bb63795a255827723bc4ac0af47d6089f1e4d0cc61bcfecf8f6eeb402de9f39906ac083f560f162a8fd46c4142ce1c1df529d68b930d81950c1725f707d376de38b9468f090da9bbfce5bb7e26c6ad4c6fbdc9858388b3b0b534f978e85a874602fc9cc20d545ea046b270c3749eaaee28430bb195a443a42421de44eae39319ce2437f4d37abbaf32222a137fb351d7cd071f88a878f89e5d642433c21a6378c24b931d5400ee6bf47bbcc6379eb72e5e5b8f63d13e1da86471b477ab726e4e49a61ba9362e08293c04af61706c05b474a1a58a571c536dca326e0c89a9d8de7a8877eca278d99bad8b1d2000fd74d51d54ecc6e6ba73c3c793d66c1059f3ddca2dd78ccb2f81dbed4e655ddd94fd798e4ef4b603600c074d6bdbadc4aef222cd60fb56e4d9e364e296683532273e39a4cd38af4299fdf9cccec060a689cd408cd08bad0fab67aa3eda0e31de995398d5c35c252b71ca6fcb513aa16567d2832ec4ac5f05117506637db29b53710799ce56841f4257e14f5cefe265a74e71a531fef9a72c9cec7695fc0bec123927f22f4154b1a846a317a2ed6df093e5416ad5366a3323a9c53b1fc7c90fc1cacfe720e6a70cb850b5f642890ca34a12597ad1c8777449445ef3a5a4940b1662b23e17aa833dd9975ef5253d880d3bdea656030fe8584c8201fa2846d7ba3e8a49ac40eceb12bf9ee4f218f0534cf97d3f1c45a28cc4368747a4224fdb468f5bd5805bbdd2b536a1240cc99a68734d4573d9c631437723b6c8080ecfd78c6c5ad738b509997ac4371262c6167291e38afdd4259695465a41a7da6055d205f04f9c425fa5491b459c112a1c36194f1b7c70e76e2b1162ccffa8edf9a8e8b88a35440dac9827c57687f3c2125250d663c329dc16f26aa550d49bb071968c270d6f5160ea28a034911f72db2dddc5a364a4b64b017a4101c21af50fa65b4170c7c63803f5bd1f3f6eda5d6b71d1583618a3086f48693156e89b7561059b7e09a22a16bd83246dbfad0421a1d6be916c9d3bb906a7c77c13201c0f84e47ce854fd6cdba27d580053e7f4835dda54af4d87dae0627fc866d25be5dd3ecfc6af07afe7f1a1587d66b7c33b8d73295b2f99a1e2107e4ce0c8252d0b66ce06949c784937de7e0b6488f9fee8396d60241c99ae96689c727347fa4551adc9c97923dfa370924b238c664b5a3de6a07efd3df0ead55c7c054504229881d6f29b41d50e6afd13a25d534009320c2560af4ab29aba6dcdd58d6688f36f81a5c8e0d4671b687c67ce3ec7edc71f7fe9f2de9f0b19c1409c81cb14ad383bb7b4bfaaa17cdcda22653323aba58782b9b10d3b7723f94fd99f4d535dcf221f435f5546e8c2b5a5cb55685da5e420aaffa37ec82055a98ba24e216cfbc72cc0f3a11447679f580d70dab6160c2c90578d817a53a0430112e379f5a6f5e6853dcfe3eec285e20d3204b0d7e81ffc779d8c3dda8af08153fe73ea546f0d2da6d60ac1470e0a3b7c35a5db64f61c9ef216d58df261fc8d5b5ee8fde8d033c16789cdf02230035f15855c90538d705c8bd92e6a8be067e7fef57ac3e3b133f8bcefe87b5099dbd82470cc95b950324ab216352660a72aa83ad176972db8ca1abd7e414494e61979bc3c6cfe26f89bb13df25b6bebff26ea0c0c2d7e4ebec1b21243e7079829fa5b5b9c4000000000000000000000000000000000000000000000000000004091316181d2531","message_root":"0x6562f391e643009f7a6be543efc84c8e1c6264edd036752bd100584177a4e98b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5940f2acad6cf4d52c14e0b2eaf32fec12d1b5c879df97606d5510c880983fd9af9eaf034dc2f34a769c5fb2817b97af9cdfb72e359835e3baf403cb414008a892be7ebffd7d2d75c64dbc6328bfc43ba94c00eb072c97a405bb6ce614833be3ceb4392d8a79a5297c52df68f01ad7d4689dfada30da9a9f674b6a38c63600ee7502ce2f3dbe56580e2bde049a3fa088dbeeb4273a4a243546aae7515e29f309022880b1db1e466362420b760e65f135c3a2320f82f206313dabfb610b16df409d0f867035ac66039566cc135c74eea45e412d80aa419ac89191389f9470c6be8c3b1e680faaa5a7bdec3028a2792d978ea47b7d0d08a49cecb0c5682db412e280acce55caf4783e80f4c01ad537cdd1d413744ef7783116b6e4e90e0fe516253096ea955f24a18e7dd291dfaf7a86e4d1457f7eb076e74175d963152362910a8f122ae7628ed62d83339265da9db5e4b9ebd39b677962a9a72f1303d7cf8e2b5ce76a2e0bae0b8dc1a9e3fc4bbd25a1b257b935660c6d6c6afc7918814543afa9c855ea1c09d65201cfe99bc98cb8ad7413e5c8300162dd68faf83549d366b97ae1a9802c962f2e2949f1a33be864ce21cc4f61c2926bc77311890df6181b9d9a674650f5f88894a3f5dba350c703f8701cca14390ec866ad1f4ba924f17dd5f1fa336a184c7535cd864beea0071c75d9d445078f62077e7b519073d4c4d5e690fb3a4e67a29fd267d36e2191294c73ace7a04cf75569b20e73610943fc59d326d561631e9ce2864472ffedc8a25b01fdf057f2e55998dfd578ae6254bfe6ad08e2b5077ab12f0993f24c058aaa1dbe1581bf9f135e94f24b809c063d9fefa2f2f82a8832e99d6ef2904c253217c69a4115dc6873d8072e9dc698f526af18f307c361f6769bf996011f3fe3bdec5ed2eac321d07cc2f94c4d8bc835d85eeaa98447bc123ad9692327ffe591420794170b8fc47cee060e3169ace894171ade90fec96510b8af89c45214c091cbe82dca5fca12ffc3dd5e2bdd872af4e250435be00fc2c88407cd5b8a72d3346ef8fcc85f470f36d992f3e248510325fb3adadcc4edd54b092f502be48e828a460f42babde553cb270dc9bc8bc933bdf3b1b4f6748cbb319eb143b59db23d763d21705306a662e00cb6f240776613a95ddfc0370067a96d571d0aaa0ae69dc0744cd7ae4e84791afa83911f4d520a75b643bc5afd800d66866600945781d6a691ad3ba9382ef5cead94a3da9ead5190d2bbbc15a0002ef75d8036da13df10cfe0a88765ae2d22d62ef2780f51aa08d9d3ffdc6ecf8b8834d830ee16147e3b500eac60ba0cd87ac0609110b1a5b5b7fd177a0d5abcd479c340c4f6d43ecf8ac5c3a7c8a84b91f299c0d3cb74ddbbd7719eea93e59a9f77639ce271c75250911e48c65493b31af9085d1e3e8578e8a850d468d283f62b034db205250908e9b5d1bff82e3175ca1f4247a207a2f6a5c8e04c8e6fac740e4b2811c8c7fa731515d4c3544b8542e71ee7b1352d2ec107ba8443e1bb778fa7cf6494e894f101513084fe79a6462afea6e134ea59b2b5960f8ef1d58afa8882f3af280b864965413b2a57c623036249a64ba1d50870d2a29ce2fa9a74c23dc4ac025af83f19f6b69a091207ab74b5d7bae66bd3a63dbe4cae39973cfaa74aec775ce9cf185cd2c42c5986b3c0f29eef20fca149d8f62d7563b98ff5a95eeb3af2011f3cfc8f2696b0e821add4a57dbd54eabb24e3944d908f1e0261c1c959c7d5220d391c3f84edd23b8313814779a1b164863dd94ac0a44c8bdb07fd26615c61443883f011e2f611c6ad510c3f352d1c47ae9b4b3041c04ff6dda2e08612689c99f1c6c8f6e75fed2ded3dc91f7ed0df1deaa8a03f329fc2487f290b7ac54910e94549e4bb8dd983df862ad087a7b7fbb630fbf68d6bd9278aa6f6d0ffe2e8092f26a79f8159446f702a8281605cb96f6cca7f3b880bc67dc794bca0f179ab1e09069092c4f67cdfc3830ea58007dcb6fcb1edde30d5e9b14beba3dc1331f777c354ce1722a80cbc7e675f8eaec074c12f347d3e3ad285a6e8868859d47bfe8e05de1f5bbe16dbf66de33038ed281962eb4ead707b6b458404fa164930e80eb50d05ec29d7beee83e0bf9e394a797b3d651099445ba6c8aa05a40146a4fc3383ed3a65018b8592f9c244a8bc379e42848dd33f1514d056e87aedcba2249989507813cd28afd83ca30fcd34e7fc56b9d52965263d6856cdd681c2cd32ecdf1341263dae5da36fb4213185fd37deaffae7839c2134128bbc3248ba614039b3234fdda73492210d537bab3d7de4729f80b7f4d9eced74d0815716ffa862d7bb92e61ee1d1b543b02fc8ddeab6df576c7f9d8fe5ac28d98b71424308f2a5f124456ee6a78e96f5ca7a074cb87c2c24e6095fb8f857fee3f2123732c293650a1208ca3617a45334199a52de098ef1469fd0b40b0c71e92f1f43debab0620a728789791bcf23cb392872756aa62c2b341a5adda8377eca111744e1ec5dd53c3ab7cec40155f4f7c0a496441c78af5fb9d0cc3df0c98144109607d0d8c016f3a8725a75b00ce2b0927ff38967761bda0ba581485ee408690322025484f5d8faf6a940ebdfd268b144c9c0e4f1005ba3672ae4ed42b90c4164b60f5c04947d20de0eb0e5eee55bc1af29a8e507487018a617e08719321af6d4893527f188d731d7fc1fd496e2069f2c9273a5a802ff37c7bbbd516c794b5887165fa5594458e32d1e0b7b5abd831b7aea66521fb0c3365f48399e29a44d270a0ac7ae2e4b1e5bb9f28278beb271c57660d1cc92e6d62b86f5bd6933f14c007eb3672401bb0b975e99bacdbf83d0403454aec9f1d71ad7752b75f14f16158b259b83b45e104beb16a4d5c7f417af7971df89dc97470cfd8cb6aa09038c4f5939fae3e4701973dc7954b383b334a9bd42cf73a6cc1abfc2c1f2c096fe15a69ad55475d5a76c5729b0c22749f439a4e055edc221428ffa4855bfd0201c38f2971cc80a6bd68eb4c9e22122497073f63303eabe176ff1e032d4bd5bdfb00b5531dddcb1598e2b3d92801dd4d86eae82408fb2b12ed9298df58594fe8c6b40edaf62c60c4d6d6066b6bd3d0e3128b74d98dcd520adf1efb6446c7813ff6f0028b225c2a0fac46c58ec8b8756efb501136a595426e3513f482708c67b7e951a886b01f532c56594e71fc008c3de9dc80f21e00880ec0297f96ab16d03dd87ea69e5b6b85038eec5b399174d73a4c4f9bdb7c458c8527756097022dcd5835f1d01d5e30e6116b7a5d9d92e28f14803fb1f71816caa4ee7e7f65f76e015ca22cc0a4ada1720dabca995572b9fde2b47880023b861a1402f9241fe2a9196c8e3111f3a4bc455840957d09bbee8f5a66f85858f59db0c93d524a56538c0270a667e85554dfcc9779cad554b242a161dd096dad07e58328a7803c631f3f19d2189780615ffc1b55f344a49fcc6fcdd526a89c9e83d5b7146d0aeab4a6986af1f04d8c3901f4ecbe96551c5ec17b1a4e74ae29a28e01ea5743ac43cecf4183a9e2d73d66d553d2ec72de207457857f7f312e3c9fb045a935c9bca240a8211c33ccaea8b340be89e059b5f66e2e36b443696ff18da2dc6f4ff86234bc2156f99f41ba85fe050bd306466f2462427","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x6b670a194c180faab636cb0272b2cb86db42a18e2d7e631e75732cf307d5a273","signature":"0x13b650f4eda8949df26405b4cc30c8c2e6be5a10da587021861faea952c8959a4ad071b64587c9d0d7cd9d1f4571d6ee8b61ffcf00a73fbc2cb194d5796c3f1105b0c655382dfc57848c7701a9bb142b4246b5c37119fbee906a72cd98eba12aee546ebe9cd0f026bf9706c0d318519eaca167541d3ee5230944f8c80ed1b08c7ae699ed6b7e6e2aaf3919fbb39184d0ded22d85909cca8fe2116147e51a97a0bd4a4ba757ff4211e52ec8cf2472a3075d66f823f59a234754bee3cbc56d361ea304a31aa717a4786ac3d5ff75532d5d1f0528d89d5ec50abc3d5f3ae776371a188fc99351fea7e22eefb2452fbefca97185ec7f91341a48bd476906c0e65514a126ef49450a4c16e6b8fcf615ec950da21af030ae1989360ff13629650d66a87526b10cdf474118ee303d6e2b6b168be08a78831b19890f0d7d3c853c78c632166e0389327e582aae5ce514007c0f9a541d350381505b0f95f8d799431ad37dac1f6fdc78e2316eb251250885c7203279cc078ebfac67bf5ca00fa5e619247e01059a3d29dd76803a31d2c3b27ef18dbe547d75afacacda3f45e118c5ac93b9f6dcd1dde6f309819b1516d12a5c67ec0d87fd9f2b3bf739572f01a11c44f33e2b0ccad6e5198b746a5ab0f50a0bf8347ed7ec8874a3b8f8a65bc0712e4b0ee184fb5abcc845e260d5b379c2836915acb796ec49638815b4b8cca322e80ba1663892136e17f205ac78617615fa1300291120eb24e5a1e8f2f30ec23d920353d7db44b3ee2e77b3a4055f914904f14b329a870af43d13bac184a47da3fccdbbcebf39ebefba5d8d243de16a2718b782461a55e6116955b342145ee42b9940a52b852765b432f3d0fc170f5aa418eae35d1b084efce76a69eb916416b9e0f3497e775aad3e08d9dc6c027d3a9d6b11cc1dc073a6561628a3eec2dec35f8b645692dbf6a56bdd588d7770aade41e2a24dbaf38219db210ffe3c67e32a399b483594c8313da78b23495b76752b86658f7f9712c9e48c737a3c4a9a8efd4bc3ed987a40316b24631ecf34b34a86ecb76f33beedf4979842d128552bce835d470b4354388c51c5f2878081998efeccc96ae00aea04e48436095bdd051aab3f25451ec16d1d0137f311676b83bbe432efe3c708b4d3615567006bbecc5cc854649ff17ebb2d3f2f261496b3c2073f0197b658b7215d1d15dee8dd28ce40f7cfa54b8932b4f20a90f6f372153be60c0a6672ac124dfaaee62618722299370797e97f8ea252c0f540f47d4f7596f5ddf7861fe256cabcd31802db4fcdb62058ef11795c3a79920a87bfd47085646c15edfcecdeb73d72bd8d6fe2903058c12dd7986a60c49b5adce11fb4ef21e4e7cd93321f916056c361b003511e05d6fbbc7b6bab35d0c508fe0c5884aea7df9bb294ea65a46c88c58b04e8e3fea662e7e0fdf0ebb7ad381e04069b1fe35a8cf4dd1af73b79c5ec31ab69854303fc9b20bb1b12045072d7b7cfc3dee200c176b285378ff47a5c0a0085b3055477565f735a6547149eee0aa1d3cba1182ba69ab4b83f2002b946fb3726c4d4a5912709f8f2f58ffd0634bf67ff647c68464b66159fc351e68afad95599ce5bcc5e81823e1ce7ffa234bdc876a47291cde42cc4c968975b2866de28bc51f196aae034dc0b7a72cd3236d5a82b9bc8a502167194344e28f880a7d4c564b74585927ad5158794398e4dbef76f8ae822a75c799a4540e28c4beb2abec1b713b3d0d3ab378dec84b04d378424f6cc296dbe0191321429ee01ec40ee85e96569e6a6bb30201c266cf603f489650ecd045ab0b6894dbede91af036fb5727db9da940edca0359ba23bc62079cfd9909cf765592cde34a1330e2f85756fc44f94983d3b55860231a1f0455e835de3e0a45d85254cd8401a0a8b43933f0f2915f08e42b4b615cb639c1ebaf87a75dba7ac8028f040aa204026ac500c99d42c70e36ff2273bb3e7da627d2541df4a881995ff962727a7cba8ddfa002900106f15c4c515fc521a4d4357f9f2536259cbdc521623556962ee652c4f2c54eab6d691aaeb8cb5be4d700977d4b00472ccedf3e8f9f15c4d6ba86fc692a3687bd83a66c1c1d8031cecd1375fcf0b68887006b08695f806fee85f50ddf4a9cdeaeea149ada9a4c9796c2636bbdfd1767113c1d65fd30e2d021d5ceb82a0a692400bc338c2e562f4386b007af94f16163f5f8d9e03d47f77b80719ea5f669f90fcb2a298834a4a7e27bb1c557e25a386249a6ad36acda4171c46510aced7a7f748da05e79d6354a0c7cd532e4d67795df2194c612152847f0babdb860293bd04b51abf477f63b8dfcdc651c000d31911483f509ccbb614a2ab86f909574302c42776edbfcfdb817dfff6db2569d45fa45698cbe4035f8d969a7649cb82f31f94eb8c74605808eb53e1b28973e087167825f5db06df9fbb618ccf0bafe5a25c0111b083a439f5ed3eabac496d9d2985041ae47764c623326632e4a005169af16dc7f696e506dd5fd509b043fa614c41c55aa023a41cae8aa105c42c7506322d4adfd228eea7b68a8451cde84f4f09d2f47afe11a74540c9a4efa2380dc07531b81620fb3204d94c296c4d2f8d5abd597421f91d8dd21d93e52a8f7b51930ea5bd890d42926264ac45a8793c96b4be8acdd902c8d5cf79b33c2f4622c7e5c6d1cfc47d5d89463654050cb1bc455b688c270ba8038365adad5455c657e15538af8c89c5cab2143e1836ca988e5f946acb12fa00c1bfb0a0c51d46cc9ef949d7cc3f1c6df9e0ab29dd2e225ee33d9ee4f1b0e85c8bda26271a755645621eaef6bf91c3131eb36740cce62394f6404af42a64491ed7cef1319dce4c372e0e67346176ca7f07226042fc7007dd7502f6c23de8ac56511dd4c4224dfbeab77424fa9e335c237c9d0384b94417fe1854cd15cb353e3713a2672737a2c7ea97400b4a4ade9bfcdc415ace23fcd6e7394ac67735bdee46696b8b593a32af096ee921a8cf42792500d1b314da7b976c71e0e2ddf3071a5844491ad5ab66951af15000b15a49ddea61e1e7ce9a64a1bac1c1b8f6886013a3bf55954035081823ef7aac9352eff17ac1b144206558c613b5e0294d4ed10c386fd44a102f1552043afdf9c117a4bb34f1c9f001ea71100e6e09241a9a7b95e74a8c56ab18421ed1fcdf8a782346f7f668e0f14244d5a68cdfb7c9b574c0efb200fd7c0c7ef9de7499e4ee4d7c6883a359eb5437191c86301b5c6e7e8e013d4da99dc18c09a3f9dcceabaa7ceb8ad65cd8169e3b8e1c5973a9ae2bdb49af70bb19bdd77e4ca3be450a895aff1c39a315bdfcf2790ea789d54767f786adf4d19e17898aeb228ffbb2b7d0e7e1fb65e95e42b062f3bcf98dbac8fc76a90526a7a79023488b949c078161e33c5dac74cb797663013137402daacf5d56e6192e5fc21cd3498549848576c6572427b778e583b86eb7d7c36ef7749d34004460716a5e9f5d88a3354a3e2016863806ca5b78c849ff1610e2779e4b152ae5aa93e4d80ac1389afcfffbcf0d6964027983be1e962495e7b71ba0b20cda1b96d31623a901c2bb327b696a8fb7ca25ec454ad74ec8d619e88385b06f47a521c48240ba882546ab525840ae62c69d2d21e4b585f2c81b4065342c7debe06b7784ab8857aa0537998da09c6ee9e89657a47b025a251b21894344842515728200cf370377824b6f9e246694c8c78e97be6d6bb1c2b1261d636eb6032fa4c402fc63ff1b99a77ff957683875492cb235da8833b2f892811c0f2c8a098331572bda67fe98027a74750c1379c5dc12c65761d4baae9b89d355f5e2bab33f27d2043d4a4a0b22e6ca21b6223ebea28d42a10db14815b5c6e2dffdc83c908aa13479817289c26724218356b4b41402a47d32ce1ab33350520a7db5bf8bff1f8a57bfdf7d09af878277c4c36d9ac76e6046fa6e469576243c03e96da6f2fd3c210860682900f176f8e04cc0511250509dbc994e2a70555b34582d719b5f622fd628d6018476b2ecced7d6985fd27959235e5aa9d446504e19a6ee9f31f2f4397c8dc1a9859f4155dcf4311c78c9f5a807f73be3e1a85008fee4b73e10130bcaf7fcdbc77174b54b688e279c304ff824f90ff6095d4fa2880b8a250d54be34b9919183d53ebd79799e78b2a3f1fcf63f2ad052c019850ada059e0a506a08b5f89c6a62baef064008b9fb27288c6400aa8c4c417dfe559f222d478a46b6771827fcf18b08a6ae52cc04d2db913df130a3188f5e22bdce96b55b3b9c1aef756b686c6752c803a7bdcca8edf9e9e404a9a64a2656d23f0b50fc3661e90c85829ceadce783116c47abe215c5dc32731dc10501cb7acff4cb7b301feecacd1171797e165f9cab1b4055253ff24cc403801b208190ac2ae8a18994b0ae303b3a0f6398511f5f22d0848b18dbcc75d979d0e2177f5e0267afe6e4155a5df40ed892d087f39b579aeb8e670bc17282441ae60c3231160a39e70d3b926855903d631aae2f054a25332da50a16176b801ec5eed0e9effba7439a758457596f5b23f363572bef6c3a219daa4be9368464cf554fed65c1da4007505694b350b1fb5a8473ef8d46a8d6ea46904edeadc717eb5591c248ee1cdda4a4eab0727a23859774882a8fe419fa4926d8646470b163b53731f2b1a0706fcf2b3e989c68340d6b8c80de7ec766b22b1db96c87d4b26fac859e6b1b83fe843f706cfc7f2c50e09f9dac1d7122ca106e390c5cd5c4e7af237edf1d0db4096e9ab7cdb99262bf87e75ce148b0d3b70e6c8ea393ed3462901fed07814504aea50437be9493f9af5c6ff25ade86a0d27f29560116dc17c9b19554a7c2be99f095a5a97ba7150f03d66e6325a0a55248c4603efe267b42b5404a17cc124b82927199ece948a1e7eebb596f94a9d7095d448acd422c7e38b69e997acd81bd353dadf4a2ddcde39740c6daf84e6e83f682ac0e582cacde7b1d96c2f4dcd160e24282fd9291de9017b17d1207a9562d296fdcfcdb926b90114804d30ac97b5aabdfdc1ea897fcb521731ffe06def0a32dbeac7ec13de07058f8795b50b266c0ac2bfada4082734faca700f84d36e7b4b4595fe807fdf01b9ac6f598f269a77d0c69b0784f543e46de36512ded5519090a7de38a9f9fdebe76ce373240012fcc89ea4efe8e6f5c412db4e6ab15b80488e7552626fd1b98e7b92036eb4e6a43563885760c7072bb942b0e8220d62199af5449236e5daf7363fee1045ee774a07cb2a1e6da4b0d6f02cb84e62fb354ff3d3129c86a1b257c6fafee316c80b277616b8d58404db73dd8131d6c673a2b7aa9308f93bd84fea5dfabb589636d9396056dd9342f2f054b5350d97dfcbfb437cce4aa81b2cc64bb45c2b9c569a29349bdd4127a4ea55496aba72f6172ed18b4fdbb7389dd843f476a5c61fb3ac12d14b05cb0191e516d63444e289321bbdaa7b4db227f8f8fadb47f9b5fbe17a4c5b68d99278034980dcb23c6fe056fdf33c30163dd7e0c26085805a16b6a77b7cf0e004d6d8f0aeddfcccdce6f8e8ab8813295d5748cf5f71dfdb6720dece1042f938273e3e3b22d933020f5413c41a038f5ade2f510f067b41bc08bd7111ff275eb3dd216993cc76f4b46006b42b997077f4b588318dbfa4dd7a0ae65070e9f2b329266c141140fd34e036d147c3e7abf2018d18f199a391604c1b65f6930107c596f5ca5023d141511a1b8f1c9d03d759b5d54e19ee8905b8e4ad1dc35ce5f83cd544a6f4d262bae8b48d58ab58904b5ba3a1d7a246a2f24a5278f47232d779e645f3eca5731857d9b576b5613720eea0c4a37284fa926d6aed83e11f2c250f122493859d83c5996c87f95c96c557bac1702ebaf1aba15ebbb026761edc9392727536234cb14d29f12bd0121f4b4433c9d393f7630e50e4031e9e1bd57c64f130a39c3eae574ebed9ef469b83c62387eca49e33a8a51fb4a65628ea0fc1d92e8b26ec2dd4089d56af4f45a4263d172d8a11501172bbdaeb5dc00f5b0b3fbdc471be766a5543b4296a4adbe1a82baf9d13a51231fdd1d36019049cf22f486f4a87e5207ff918f91bccabac95151deb35ef4e3e64b614fec40936adad76b14991685d123d022427a48dc337ded5e3070c0b0dd0108e90c729ba057e5cc1a5517d2bd9bf2c8d9bdd2aac6f862c8076502f2064a5274c163d8d49e1ed36bf10917b1249903467c629e70f0fed3d59adb23c097845bb91e4f84142df8c3bf620dca5248dd1209531388e23f101454552aa59579643fc18638e209034d8259074c32530870efcfca74096d09c6205d1677fae677060f6661c8a4178ff0946b19b3b2779723522b8f3ce62350463441f14458921089f9f86a895e45c07224d063ccb5154a8134e41985cb2ad915f79a8fb6187001b9ba45529e7ac20e8d4c1f220e122d4a5363717683a2b8d8ef0e1718193945669fd65a649dd25d63ee22637b9da8cadde4ec2f4e6d6eb1baeff722b70c148a92be000000000000000000000000000000000000000000000d161a1d262e3035","message_root":"0x29da6b6bb2744f65da376f7c1ab2eb93e80f2cbbb5aa15fd074ce71ab43f1483","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa5aaa55ca6416c01098be6b88035453b9fcd9447a541d261d1b3bb90e6ccc59e1c349aa3bee14382e8c0139374ac344d368bafbad76cee33337142bc8637350a688b2aadd484ebd6d46353fffbfa2295ed09953f6d38ffb97a22621104ee5b3cc328e4b2da66963f18964328a564c419e4c07e6ebd3eb253e95cea316e5b6ca01535b6071ecb991473adcdab34bd6634945b8b9ee6b31bdb89bd320fb0d661faa0c160f6777f3e54f4307ba1468d747ffd2455097dea45d134993439c58a31716554948904b83c61030ca48b7e917394eb6d34a580c2af76540f6646e6bc357b15132805c9740c8a863fc1efa0980a90614110bec17a8c76ca0fcb71116b467741788388677538138875b00650f5876ec08acbb088f2ff87f69f57dfeb7bb6a0e5fa1ee233b8eab97d0ab46e444fd552a9b97cd54db715d8c10fabc7dc73ba4fce7cd6a4142bf178e7e0fd8638665eef8a037722f4cb675d725f15cb9f70afa4b9a2803e914e22c44af7bd74ceecbd88bd7f12c514c0fc20034f7ac04c7a4b4dbc110489112257a18070ebc3d8ab034fa2c35696c130f72953816930e0c12c42f05caabeffda60e00eb290d75bcee16093b6088969d6ada474e365fc25ec4d24b92b115cc9fdc5cec54a1c90e04f050f8943dc9bb9e221dfda46242fbcfde325a9cf48952ae0d1975e2399ff029ca4d24c9874abd0cfba4b15c8f82d58852cba512be776f829ad9fb09f721aec04c135ee19d3f44dfc61303918a8b80c829a0b469b990bfaf805ffc0a81da08229b9b19f5e2dfa6bf1c6aac3d41943f9fce1c90edfc4a8144fce6e2e1401b46e17119eb8919a9e1e370ec3d7fcd1583e25096c38c2baaf3e89369c6eaaef844b282b7f4110a2ced34b3f740cf129dec5d605bdd505036fc8651dbb81732648fc396d6406da967fad82769b1d2c1d4fab7e186133819e7afb19ee4787a6f13e51e304ca5de78becbb5e233695477e5cc73c505d47a51cf66e2b2e060b1b33be97973c6ff1fd5b75ea7da25e20f2a7a59a7c2332cd612b79876600cd7c4fa1bc05573c40ad81fcd25225f04e827d282b3bc266cdc2a81b8b5a584afa5047cf042890a1807efbdd5bff95cd6dddb502a0b562fd307a96ca8b19070603db48f49025fa62d60127ef51d90af946ce7b39d14d50810bca63db8e810cec1b528997097fd892969cb2e60dd2a3bf2d5d6eb49adcc9f6695482fd80800b25ab0b044d0d069d25f27bb36c48e297c7684e0a1b1f2b5e15862e2739cf9554748be8ea8e1509a9751bcb63a55731d46c3ea7bb1f04b452cdfc5add79678d49088b4190f7df7c3ae89b46033c8731e5c0af2044d4b2ce935f0ec97404499b37263d121ebc2cfa8cef5615b63edbd23d6f3b6885f57bf23b6bf3ac4cda9385f6b3c9c58c64739d92917ae89c61bc8064c4b819b9f7a8d3b4eebe2ec9e3037e55f9a4924088ab8c19b826dc46823987a34c2e996f1f971ce1a561c6a269410e575c38354b90489c0eebbb33b167073d7decf0a8e255553dceea887726208a69dc9864b615740657547e105738aa7ae19bfb55a859c1b221443ca17816d543ed2e18b57dacdeda3a7ab380ee3f7d85faf0f76199cc969afcfcd97be60bcd6d838f04bfaaa093cd9c9cfaf855ef57c3c1c061fc69c9e8d206c04e944d44b2dc377e4617091e2f25eedd58d9804f308ef9faa0a73499857d73efcdcafb67da820a2635021139f7371ecdcf060bea9e28ee591c549fa58ae1ecd81348997c459aee5df128e626573c593cbd71d9f48476612b8de0f8fc29a1c09a3ee3b7e4fb9e0adfbb5924986b4bbeb329634a086936524654114009b396e54880e93b83a7502db850a8a008f8479dd35b608aca86b8884d21871be69e67158d10f4a8047ac1b76a54c4b503971ee5c7453037a1895fe206562d04e540e224172f1a7814df1696900be8b18f4a9c141ba1b0267f9e496ee142c026e16cfb701f524f70306c5aad95aa28ba4d8a58de262d8b68af34c2361377912af3cee391d86825399e06c029918597bad2f921ef79357e102945a7c740fecdf083a927fa6c28f269ad58fb2fc49512ef3809164dc5154b1f2877a480d45631fab7d71e86e09f271fbd575e1a9cc76fe84faa7381141fe18af60b093523bf4fa402dae867e99d5027d8a782b0ded407af0e61bd0389ab25092ab42859dd30b75f29ccd14d5617dae0535d5f8e451f331a7fba10b6ff012bc5a071a82929314763adb0373aad39656ff9f65011ec87d821e67c85d1047e2fa4fb4ab76503f8c64cf1714d94e2cd103eba866b5a61158a2e8c620dc4b4c4e01adbaf514a149379a0216704c5b9d859ee9631c2007f51df7bf370001e38538460b7534b90e1d7d37f4a99adc97ce42d0b2a2a167b07844239e6af12ff9514d446216c959df7a14bcb977136ade034f203d2c04020d6fbb53c81bbfe034b8ea2ba3557ce6ca68311768d38bb9f56209afe441a61e8088f4e9138f8741ad4470e6f61bf1236c689e98cf39b53e74e0afcb29e63d7603e5847f46c7d2f6f1fc64e65fa15bd663cf6efdf078bcf24a5bb5023e7949690db1587461777ea28064af643cb734c11521cd95418b22d6148263ff902ccea8fa1e9158c306e6ffb802360465b87c1036f4517a0f36b7e2e6e61bea1e84e48cbc05694da85b64643332da705f1aec741eded191eb61f9ad31f77586df5217e7007745f98c763b1bbb1ffac46a0a7803f3ef646962375096990ce78ead74e243fe02be4597e1c6b102c55cb408579103498d8f5ccbae563955b6ddb26dbca9d7715e3977b926ef752f28519093166abf967c6b144419b814017a4a82871898fccb8f088a7c91f99eee90c5ae1c71812a24afa0a04e109f586c3b4196a7b85975c253d102ca76ff4e1b43da05189a4a437380e921e3572a60d639c5bb9a9412d31f58163f60fd66f125e2d38ab8eccccdfee1421316897701ab3c0e2fb7440cadb0bf2a8217880fcf4adfe0cf79847d5406238d0cabe3eb5c37a877bf4da52eb8e132fa2773bc6940596a51504c1ef50a6435e1f290d365a17bec18e71883e924a8e288ac3037c1f0a19be8831ba38ac0d8087120a458abd8c8815b5c37f24217251dec932355b3e4ab3da54eeeea1c4e743b7a3fffcb8e949f6f01c5b1acb033964edbd7c64a99e64c9b69bd4ebd3be385d54ab4963219db42d131c76230f3304f66fb05e8e19700eb017a5908183d6e7c43f2842f167c683448e95898bcbf8877743576b7296f73df0e4054254d2263f651669342073c1716c5f06d64a253fbf771c0a7545be68873cf819b02dda9a2892671b1902ab5ba4cb000a490a62bbc1d5a9c9a41c1bae52abe2a07340451812f9e80672bb40467288cbcc84ed7568f76c6a849469f34f0a8d953658961e379f753f7a39801c65f5283c4532d77c5054fd32f5a100b42551d9f0a5af269e15b4b756f6af711d4931af8ddd0b1b8dd75ffc3e8f8f2478f719bc72f4671820432b311628ff4fc990c8ca0583787e168c07c8c5bb6d58cf1a2d457b4439e4370f6f5222683f44182a3a3ca79c6b7d5c1fbe46d6580c9bd964b59de34a14d805e9a2cd63f55e7147ddd6f247d0d9b4baf98fd5b216a1aa953d08f00aa6649e2ec07a36334238f489ac135a4a19","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa0971475e632203de3b4ff6710ffcb361217530a2a3efff4b5e41fde1d54510f","signature":"0x932f62030e50ba0c9b204884a82f6f4fe9ae4cad83c5b8126bbc6bde488c1164f53cbed895434b1bd84c4ae1595d05f691ead94d62bffe08a6e144be4a76bb9bd8d5d407ef518df1e6d5c43a357e3e490419c725aed054ca82744d3d7c268b6aa9ea9e12130c4b370e702a4657388dad1291fc66b29b55ccc597fb9bcfd69e565bac6b0db903a774e5e1427086976ed7773a520030efd7049155c5d434c2d0c4f165473955dd8e1fe5ccc565c12c76d86069f57979c5e35e2f25551223e5db59b7c49fffcd979b59174f072bc7de96196b9557e3d63478f47a4756312af9e97c44c48f3102d52ff0346a159eb47b9a1d1a8b4ee6575acd2b8f8b21a91e9f79f20dc672616d99a082549b7063c3b2dd1fd91ea9419c16fc39a8a9c279d2d10bc52dbd2b02b810b5b8a70716fbd0aa6ba0176866dc29b1f963f9c3e0a850a495b20b75d4affafadfccaa8398e4395781ca4a4b4c387529aea87b8aa51ee7047befebe5e3aa9e4ba33e21dcad6bdac0c3d003ec9bfcbd8ed2cbbc174869b91ec93231c3bd1ce1b71f0cef8370ede84662d8cfc8b680acb574aa8d8f8218bc96635efaf2be5b920c5b60a8143696866e8c51e490de4b3029903b51542bd38a61a6b9386bd4d975a523310a8a6b6023864f96c0280d472578dad86de2522ba0c0fb4132c3717a767d1496e9f8319295a3fbfcf60f42e3808763c963186eb0bf9528a1bb559e8e33e67824d70201ea1510ed9b904dca5332e81089337c83df670b158743bf5a991614d7cfe2c753c760e3b514c8af5e901a5974de8dfb61b2ae4d617076fe8d18d4b3725f95220604a9748c147c91041b52ca034551ffda77f9cc27c128cca82bc985486b31c6f68348709af21eecdff009181ad142787a659af316d4ba7eaeb001e28d9f466ef576c85fc9fa48b2046c41159c29150c58144fa6f6b708a56e9fe418eb4942095608ca24728c9a7e15346580b3726b75785eb0c130fa17ba6395fc5a67fba7aa6033eca181ddc908811ac9d7062b29864a0be2bb27a1839ea7370347a9f10ac9a38d90a5bf363acffd11fc544b885edc6e7cafb08d490650937d7330c3e8aadbaa6b892c67ebee63675c1766a17e129c1220c008ca4a885c4210da7e25771ce6535009999c1af6134aece12c30bff271ec43950cbb3de777f519713bc4301930a298b50469cb219f2515443825ad4e3ddc7cbaf0c4f019727032245a8f2eb878b8fdcaba60b3c58c7d0b21ba67057251cb07cb54ab209525451e20b6638f01b98530b3893b0ebd6863339401ea484d976bb7a189dd560a61214aaae72fe32dce0f66336ec8c8dca18b3805be15acd1c6eff0eb56ec97ce313c8103833b6371873d99e72ca5bd9cba812a420ba09b868e425d4d3df9b91aceeb6483105f7b48aea44c0c6a47d994210ed38f2662cff026a84837ee4eacd05d139622075fde90604d32898ed2a197bc5b3200507244d5c7a3a25f88d53b89bc3a1da60cce4536b556df508eabe22d098ca4426b32944fabff76c95374c8744229a83217051d507fcd3e6b8d9de7e6e0c737174410dc3d87ca9229a86413af7fa838d91684c8b3f1599547b23851251c52129b2f245b74488ca5a8000b1214e803c94bf7bc463efbe3e5d20312277072a5dc33d5569343a9d50eefff2036d839e9c9f6e3718e9c2f67126e294aef49de68ef49c84f5a3c1e93eeb9656b92db5a8d366ddfcaecbd35273393b2a8eb4661c56844bfe43bade467350fea526301b9737a7a24c116ae2604bce9f4d959ea2ff8cc6413532630bb0328a1f21e1d805846f9451c3441198b3407e4f52604e93bbf6b7d9d5eafcf92cbeaf3ba415e26e817671350868a4a4c48293dcf0efcd41298976d6542175abe9ac7003a548f3171336e938c98f2b9231b63e52f69ddba4fc17ea3a04f99516fe38e8916d51cc2a0c16856cfd70c2c7cabfd7bd676b8fa9fab7bf3b80f2592136ecdea61fe97538f9223d289c04536e810be4d77e5a5ec2196284f5cf0e7e6a0706315739198e17eeed7d2282c3d6826efa0dbc5cbe9e2ca7c06a9048c6164fa311a669bcd26de618d27c55b88cb3064f0184d17ed8c3679105221268c9d4271bf0b452ffb9656ebf29275da3f19c02c321bf144e967f2532bf2ac0f255ee3371fd6e3d38145aedb9e5504be668a61246dec16fe6f64755f55364fcad2d0a34f19bd47f2ae0bb7861ec185b59b2d3629f98381d4e1fc69b2de4e4f0181770631cae332e2d59a6da7bcc22f8553ad99b4611a0430abf6a6bebbd2f8b72f2fb7a74e8532d822140362830395272927c51866b0bfb5d442abfa39e48e3e95d6762a569407aad626f6c5a3ae51b3b2e5c27b9788a70b822ef2637ef87d492cecdde7417efd7adfc5f6f55e08a22357492d6129c38ddfdaeda5ea54a5f6870d73e08881ad58f2bea1b13052ba4bb3f78404a244259b264d1f5fb07b5a30f056033efdd17a349300b992da3b1ff6e7afc30b1a55ddda90b99a5fe159b2273de7cd1f26c58949699121084c851c15539d08d1e25a15904b4a84d193c81a329e17c7b7cba878453e88781068659256045f076142bb4edeaa0539ddff26537417df62b4ec4d7906d3953ee34f20204bbdb0422c20bdd5ddf2db8a2d789b3e4769336aad9a2850242eb24b1cf80c04f188e0b9c14e1d534e4453c875b0744c82bb6c322e7f0825c1d604623fc5f29bff66eb1a57caa87af085c89ebafd203b7f8d0a8715b1a139be8d76d628d54860ad521d450167e06168818dc617d49bcfce4d2b5237459d0e04511452311bbb3ac7c4f3a05e72ecbf168488ff515d8060811e4de3cd4310ee1f427521e54582507b997e3d69e5f05a52ed5925aa098dec8141d5fb192c9c629f54988d559a2905f50eb3c077340e3af634a9314d17c9e284d8b310de23c7940eaf95fb2daeeff09520c362dcc05c16d4f7dcd21e3c99dd9e0f27349bd67cce570c653d85f462c554a4d6cd660a17cae1575b9d4960c36ee2de78ebe820cdbfc833e5a575156eedf2561a9c5fea382b09c9e1c4fdf47f0430c1887e6988035486e35bab862b92ed862ab6efe8859c617ca85ca280137d8973e148aa6b857d9f8330c0174846f325192749d8b49be6fa3a3c504ef49bf0dda3f2be15fd58ef23b83aa396200964c987d5b92c2927327c1a3a991fc427f992c67c28f96c50ffe8083968f6f9d60be133db479da4b00d05d295291b428f53cbf4d5fa5c3528bb9a2793bf97fcee06e806832effe5c8c1c761f8ddc34dd6e0f64aaa28f972f6589f533a7f33252ee88418d04a57db8b9a821b99b6485fc8f32daed3b631ded96292628f952cf99eb52b7551ec39aecbeb3af7046fc1eabe031e9157aa124a4bdaae1666c9e578c6e80878b66a7be59f9ecdf097941c01c10f8527862fa26b4619d98213f74fa8c554490dca1fce4b774114c3ee371331e90df40bcfc807f7cd0819910f32b96e34a184319c433d2fe4ab9d931d8939bde9d9dcd9607ab61ec2f2eb0a0d3b8b4599fbd2df188409814f3f0af47dafb4277fb570f4503ba99c6450266f951f6d21ded7e2b18c93edd5139204bd953a00a6d90fa21aa8a37d2daef43aff03fffa0730450efe8285f617c8595599955937960469d278bba651b7c6828aa37c8c3dc03218f13f5ec97c59cad8692805bad31fd5cabffe869e370e62337e0c22b636936624fd9a6e8443e3617549f6085f15c2a9262b7cd42b40bb61282b309b5a0062251daba5526ea625c9ee3afa370338a66b2b273e05115bb9858a81a8f5d0d8e91554265a70c28959f9edbcb99b76ce200e313f7253b4fbcc4c2f750396a93c9e609021a88795f9209f9a642350ed7154832209848b32400d4084086a10e2b0cf17b4bbaf54360dec6a749037922ae4d8a0038814a82b0f6ed05ea30b3ce7f8b16ee9adbcf5a122c0f59a6d474bf2734a11ff9d30ff9fd887bae889d296d7c3d9135c25f20bf28d122550580b30d7ccb6ee4d39709cd5e127fbf9ca31b13b43b36ba6d68ba4b58286242955294586176a1df264a35ef4a4c91d54f85fa683040738979d03a9e6c956b7ad8e4cb0e8a0c1fa52d43245b617c46126b7715cf23c8da14d81b4a6cfacd3ded7ee3f14892124632b33df10ae0c31b61e61016e4ce86ef61b503362c7d32ea5a8e63ba995a3bcf1cfdf703f9a723a224f65fc6484f894de72c4a54530ab7ca117020415782b34ccddaba347b4bb645589548166fd9eab5f87082ebd99808d709f1b9ca8b92d10a86b38f45dcb26642c8ab906cc1d3370a28e477fd48d6612bae1b5bb33395844f5651e0e1b5c670d138cafcf9ff33c26a4a5d711a670e10ebcf5df37d4032d99a843050101c2c41bcad804730593dcb1c78ec93c54bf76a546187a19a87eba296a7bd5b603629fdc0f124b36f9639277c9ef9a4f009f62ef0921a65600f3c344dff4a77d1b0d56de12b9af5b03891b6aa7d5410ef0af9127e5606a3365727c83058a27e5e484077d295e7a13f49f1bd2ec3b60a3239cb03ccfcf1119c554ccd0318f8da853cdc062222a49fe69ac033c85c3b84ba86e638370b4bb547c5069bfac3340d06aaf247e4d996b4272ea75a3c320bf42ea41cff01114ce8880d648fb91c897589af7a5c1f6ae082b69fda1e55569cbf3a729ad3822b6638113c2ae34ab0a6e56fd254fcce93cc3486501c9918cc5656815471ac723ada8e09e90100a95a4b408880a5f58688aa70231a2d64e1aeb6e346c5be7351c97cf20f4b89541c4a71e0d2cd8edc95bedafbb11d318d4123b7ad27dd056540e032ceb6edadb71ebcf3601c7f582720a2c6a04b5eb2b2e6d15c44c77bc862ef42a38bae1a579f00bcf0b9d7d3cacc1b5626a3872e1b634be268289ed29193020be04a248419f84b32fe942fcb22d571259808272b1269b486128916bd91c0d885f836e2e1119111281e0aceaef5ea4bce1c18dea5973e3bd8ce34a832068a422482da523f8c22896467eb71135983ef7839ee4d3e528f97f756b9ca6973dcd3faed54428802439ac329f6ba9801dc1ff90e7396b2d08f454f04f76b6319ee14cb6ebed90d41e43083f45e3ca7945a28cb6d7fdbe23944ee0633a83d6ba5714c5162a46fab6ff184dbdf36cfb31c6304107ec4f8dd73bb5c8f75e58941d8008e77cfee643718fcc2a59305c7b0f3759867b1ad85dce41452c46d431eadb68b68c0a064a29131a78d593b26c1227a447f1cf03528c904f924a72d0a2caefe385f27644850c0e98c824be8eb03344002287a7083a487a167c7fb00735a4275addc8c239ecb0e88d47e2fd6667f5f3ead9153b1d4095c57a95fb8a942ce0094a84198fb68c644d989815a756794be9f1798cd9114fdb3f6ead016e515285fbd2bc93d5c7d3b64efbc624172a89509c6d739efd182629c70129efa9b0478fd60345bace8b0e57430d0d20934ee9a7d071f602efa0141783c7d2aad1f3c9c9014373be87d02ed2e8092b256e839176ad07a9e682903f06789bc16c977ea3bf7deaac7800e1d937a63ebdc474d6236666fe25c1a03a0a6885f191276570c00accf2f2ea5924a10071f48be7e08a7c479491a0330fa2312d845d993e71f6849f0a2053aa46b03d82d9d85ddd5e66cb1ec513c4f0b3c29f62c5cc1bfc5d515bf43b1e1c552e7d68a245f044eb8c97c69be7ae2d4f56c88799596a481ae4bc06a6df4873b9b9812720462ae4e84658b3245d738cb528a817da75093d2966d6159c23cd1fbc9efce92e89ae59fdbc0a1e8d62c43a0a6318792ba84ea41a5ed47cbe0532f4486e246ede4ba6f9bff4cc740977f8af200cf50a7a0b4343dd823c8aba00bb8fc58129ed7183e7852097d5fda63c4ccc1d7187305a1bfed97be82129dde9967ce33b22a6828c221797fa82fffef4b6f2e2b7886a92d5c34769b0bddf0a18f95ef21a4eb983fba15523d1ffcc05a11e0461243997bed82ed4c810dd4e85a5a239b7733b69c9551c5571d89fb5d78dd441afc5b3dbe3b82b6e6eb320834ae1105e704156f1eeb7e0e82fe902884ee01bb1d22ec7d225f680d903c393818f64b91b0fd571a6ee90369343355cc3f0eecdad80d13bf7366f3e1de918b36dc3fd86230a0e74131535431feabc024e783c844b7832f77a9b127c5c17dd26cecda1bde03904d877fd1d5f01473c0596728a600d0a3c0566059d8d9b80e4259a4a073eb32f1869d69a625a4a15c7ee7c96eaa9fe2b6aba0109de0a7f5a04810f0492a4e3767cb277e90d932ee1b637a20ec9882702290837fb3d4271e6188866cde6f2c1909bf8d28656dcd2fc0fbcca9272b4df8d9399c2253b34948779e32c1c2c06aca7cb2b04472636e38382222c7f254911579a497cf328299f6d028d6d0fedb945b59967c410871d7c4bafbc6fb0adb3ce2264b2e577d3ef364d99dc5c718fa1b1b3cbd6f91c69d9fa165b82b3b92d5584aed4d5d7f0020730acc73b5a78a9da535b5fb900000000000000000000000000000000000000000000000000000000000000040d11161e23282c","message_root":"0x74fefa3c2c0150b69c1c5e8bdeb7c017ce02539428289be8d6311ff3b49fb208","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa31f32448823e5df841ba655d3812bbd4669d48fce52985da305b5253420473b559c2641121af6c3afdfefe8698f79250c88e9e03631c36d164089a5ba6aba7a9a6f0bb048ef6a98383083c4024ff37e49bfa7ad371703a479e872bddfce56007c32a57fb355f00828f563c2b836d56b8c426ca1fe8042799276158695769c3a076260ec081ce146b40141e56ed47e96c7a59695a3ef45a1e94a1db607c33d15dc701fa1c9af8f15b16bad6ea0f72cf104a94098db46209cb02ff387abcf2a1df6bd9c34c3f6767e6ddade93bf5440d7e3fffa4cba585f25de41f773fff8cd72ee54c59e7b4fed48ed90f88d5e5a6ba8b8b5d2cc85de24550b3d4dc89c05c90d6b4bf33fd996a6f9de97633099b28caaf96efdbb836256950986065903328b6d000c8fae143e56175697cbe9e86fae60cb0cb7dd3c1627fe167b49bd3c64867b069a44fb34b87628b981a4b9a243bed7f7156c0a31e5f602abb1798fff9aa74dabeea70ae0bed94b3502b0428522d6e7aa8f5889c74fd52366059645642d5cf0cfe190dd6ef1175a3b21baf0f2045971c75162f023525e5eeeaf3c067a82e38ab915ba10ce44ac667a8d5763a39301689670292671643123bc0c2acfdb402585b755b9320d8774136d92cdc8b153d89bfd10b4a721a74dc28df20c1784539c165d5b3562dca57a913b198dc94f715c7b3c822f1dcd05d8fcff5ac7bad166d456f7251d921f7ce2efadc79b99dfcec140617db521283b573ce09d80701d586f46ae726714dae37abae04b6fb05cea50bc181f383bc5d71969ce936dd6f053e63019a2ff53d7f1b68d4e1b91bd56286803ad1af2a327cc4ae977b6ee5389b6ffc1d3b14afbdd5f73e0dda2a0b04ee92c3e9fbe0edb68438194f0315f215292edf4edb680df7f5ebae26f1ac92150ee2bf859826234258de6012e5db526868d4a62385fff0883c4953dbadb2649c3ba0208419c9884d80c71a6687b7049af30396bcaa23dfbcc0623efe666136eeadd77ea4e089c8ed9b4732dab21c16d767ea36d10e9613701b2ac9e3052ba2dc4b9da7942146ddcd61ddfeca56cfae1c75f9f3bb0ef7cb7db06e1a9dee3eacc43d050786a01536584bbbb803fc7df9a4dcaaf132150adb76686adb9adc629f746b88d289b48b1e6ba51800e90cf6e7a6b26fd555194f3f07ae831226ccdbfe0320b364ce5b6288cc3488cd4bbc9ac057ec33bad9ca33315c3dfa091c8908a95f44f3c4c612deaa757ac1235c9cb76c344c8e33e65876f5879a4af5f0cf591d5957c96ffc4853c70df0d68e744c875c2531097356188a3af103715ade09d3ca0c9fbb638d6a36702bb0c31eab32f5ba38fb2de7b3dc2836efb868de39a3db498591a176a68a5902c8035aa31b944d23db028a7af5c84d1995f28b02572520ecf45398a7aa9c16753829fb94b2d87afdbb8146440b402f148e6708d50a6b058702b614133312aae6e90203cf5aef388a322b4e720b9468065194a369cd18b6f8e1411dbdf2978391b752e1c477a14469e723474e4f8c78646031de0c0c19cb2b47fbb97db3948a8089e47527d4109a74fbbd52c46792f179bdb512c06157c332e5378cf121e361b930adf4da693fa60f38656644c86b4f8df64a88e07b82be6c378f7e2ce7fa337a7f9acf82fbf05e003abaf244c08c7e03d0f3a7fe24fbf1c728b849e1124ddc830b334afced2635c2f6b781930386c5bcfb607cc57ff583adf8729b156f2c40653831ca427e30a1fc50d22192e06ab17472d4ee6723480a85cc697b902ecccc547dd85c9a2c90a0e907deb5153a903b8b87b7caa740c786b887728b49c4f7d95b8cb6fe8e799ceaa3a388df25a8ad6cbd785a29fc61ccb12812252a78d4458b6fabe108efe57ec611d1acf5b0d7535ef9f50ad01365843fe33a9ce56b2646d7f13ea50784e642f51214fcc4b54c2f5f2258df4884e9b3b2e830d9c0d538307d48bfd7ca997457014db1fb6fb079903f9b294deb18d16761e515fe3380192dcd507ad52e41cf5d01a6d06de8f11be68ffb6b3adcbca2df820aad0b50028b068232f2b8666b2473214c432f416fe2d984c82f268e9fc7d6f300c3091040f735c62b75c8ff2e68d58006f39a5b71109e1d77cbb63b8b714f8691d0137d9abae8a94aa6e08aef1b623a0a7b583486267c0185b41a867ef14b27df92c3b102843d9ce61f0a95c2d232df97b8aedfbf0ab01a8e14d6ccaa4a13137226215eab3afc438bd876c5e53afe94132eece2faebd7b8082e7c029a0b9fb45e3dc4922e1770d1d9de12f3c79f65d2a9961876633890d80fe4d32e94a507dd690fb97e325c26363b41c7c99cba451dbd544ea2bdaf5fb326507b2be0851e16841e043be74848d6420c0f7bb193b38c13ce94c0e0522e2f766bc92ed4189f5263374893643e71dfbe87f29337c0f9484a6b948582daf5df68967e33eebc3113fc172600961ce0022181ab34b39e4b3840e20b4de81182565eee41af93fa447c47e93a1c9aeb65903cceb59785cc5a7d4a65d926ada2aefe9dbd1c23fd2a693e2e528d6c0ce85f1130c1a1c6ba87efe9e31c506dbeca6f501470a77a1eb1a2e49cb0cdc76b71652e7bf06b3486071b1d7f637b719c92231649cad4e7a09bc34cf8a68cf567913730cd80095f96e14cb63317f6b8080437cac79299e8a21c7befc1263102e8771f3defe31ed9862b2c572157815f274591919e9f5b9b2fc445db525bbf8d644c36572d98a5534775efeac4c147dd195bc987a592345a272afa8a84194587d076dbf8aa965cae5a0376d2b1e97b782f7c33e7eb6a9b1c141bd8d5ad93a7172501b1cc303de0c3846d7eea88536e60407873a28ea65e7bd51d81b627d42d29a8e0213d40e1b03bb2fd31d7e7a766a02b7ec275759a3af44f46f0a18008914d2883ce87d30488ed51cb79c540c4beefe5d46b9a097153b027816fc07683235af7ac0c4ebdcabdb7964d4b52c6f5aac9adc4e4afc1ab87367541bc2e1f7d01e525d92944237bc0568fe016834c25a3902d8ab212cf86e94901581a277e6c6506e2708675f0156a9bfcd5a9254909a727fdf5f56645d2f6b816332f09c7732c28a7c04a501a171fa330a84bc53740b103f3e20e3f9f945d596c775011e170fb1a591f49c30d39e34341b8248831d5605db70b8b9547d44fd8520f304f0d92a34e91d4bbe53d94fe838bb21445d32b0ddc0fbd5c2b8c7d81314c9d1727b8457becc92af1eb3618aba7626e85cb24d22af8848c333ed132147a22aa5140ec7f21ce7c435bcd477cc3895bf9d23e512565eb62034ac93301c7df401e7afbb815f3ffcb97b0113d635979a2215b6687851a1a871ce9480855ae220d0cafb41c0fac1d7627bb474974175191f7ab20daea8ff0263967b8a79cd6e714707dd5d98aa886275cd8b20e590678930902647e3b207ad2d5750a1568490e4c416be72c73226bcbc5e761ff408277b2228d556038e0151832b9c34f958952f86114ccba62beae43935f53da229cc8d793938bfcb16e02b63e476c32b3789e5e8eea02ef3c2333ea3d8bf537e29086a9c7dae3a58a87de81dc8199c80feac592ad28435c985e9e86e185128f122ca8012e1cb29351da98d5f29a9f3934ed1581c50ef29f2f9c48b16d413aa13fe59a171ffd3cf49d28121a5","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x16c597c471d12f6f3340452e6bc3f526a6e80952aed6234367f28d8cd2cfdcc8","signature":"0xe55c37358ff9637866a0830febe1862e8754cc1a1c07d632155adb5e42858ea97f27fb9adacd51c0f015fe4f6a01b58a8b09151eebb82ca7f19c0cc9e5b0458a805104f1f2d8a568094faba5df2d634c8219c9e4a2ab813d6b4b1462a4e90de940559bdd67baffd945e9e7cea466ff432d368d5b0a03a81fc4163abe179c70b6a848ab1713202cb0d679f1f64a3629158573988592201cc8a10cb4659246df2dd1b8cd273dbe23e83c6d2885ea28bb87b570939622b74dfedca7f1bd04696ae9cb84a6bd627bc9c52d6bc228fffef4ecdf4de5dd553c2eba8340ea4a97f925fa349f64664f94cea2daf1af61ec53b465db9e1db87dc9631a5ae88d133ae04807ea248260cb48c49e1bb85dbdfb9123e61367018786e8a322fb508dc42bacef311cd53b5cae1d8f12438a0218735bc8d2f84dff14f3d12051d0376ce76b7b15d5af865d9364586e06a6c145f47fd64dd6bd545b1ff9dec6114f189a0160cdbbdc5600c18a4b11316548cd0866abccffde743107cd94b8308679e4e52506fbeb3f2b35f9557c657bfccfae7fa581101acd690f618b10e082092486f41da8fed34093298faa17240fd1c2ff78f7906cddc1e00cb2d3589bdea4adcb8664cc4a6be222dde2f79dc7019c19cbac839f084b306310357a3c51caefb574fa35a6dc78f2e941fe518c133027ba87a57be9fb8c55c9b92ff30509b623812f6a236939cca2de6670e3f348fdbe11732b29c787fd00a277f7e03ffdcb2936b6930c7b17b181f80879d7f6639a6629941cf49d36278f0673088cd330b8b591011e214cca73a219c49df725ac34be06b2dde40ecf276a48eb00a284c022446bf46674fd38100e853a88bf6a63e8960a54efd53542160bf0fc037f67477f9d9d8d76eeb76d5ac8f145871484bf32f656ac17fb8e2e5da1423bcd2d4ed7c9a630a7a1273919a1c8dfc71b1f149f7a953aac0e14508aa28505cfb74eb0228c183f2763f6932a2dc2aba26c812ce85e57f70f120bb78da1fad3630c41630e8e5763055899f1007cabca3bad00e1cb411130882cb4dcb24995e715a873cf1e6607fa4c0bdbd257fdf3f80b245d38edc8749804a1c7dd038f014cf115141e986064cd4d5739604ce70a828a7175e72e20bd7c7b44acd3830047ffd71eacd26f6704d8ea3125fa6448c65004d630d1bf58dfb672b548d5820926612f2c56a95297398f6bf00939e2606337fd55fad5cadee54322298e3f02ef9e07d08877f40fbe8281e41cca72d8368f08c5a1e57d1d9ecc71d0520e03037a0cabdb36a973b9f5342e82033b7155a33b794c23eec095024059ee8f49a0e34995c1844ee5a06a534f8194ef66cd904f760f5345716294af0aecf14ae4d2b57e36ea04d89757b568203b33272975b14778626b2bcaf50d8540303fca1a3baa2bd3bbf0a489ea95eba5b65c35bbc620a8941c4f78792fbe0b429d88c4545faba661faf1b3319f8106b13216a84dbddd4260f42f0e9e60249f4480acb8cfea5b80c45552b27cfeae5d00b6095988b88cad3e64001d5a524a2a387b493aa344a27ae30000166bdda1ae0e981ce441e6b141c23a817eadcc9dd363751f0fb985dad0914f4269dd0c4ecf41c34e509919f109605e2e283e97252d58d936ff5990d3a7a11fc5df399541522f84f1a7dc3357516f7178047a449d8fe4a694842e136feb8ab4b5404fcd2d818608a82a68cc37c12fe341fbf987afe7ec4421c43363bbe9c33fc76ec51e8a452860b9deee4da6deabfb0d9e8360494f2a56de046d65721ea7f7a2040c11d3e9665c939bdcab35e3d54a1e4f3c4488d65e84819909167b8b1eed66087e7a70aad8299be1b9e6a027997906ece0e784c003511271af7fe8e631b3f4b18fb100287a673f17d756c5cd17e09eee4af22b5d52729902aa778e1d312d5e64950bf24c903edd049a4bbf4ae710d0d1243c1efffae76b5a48a83e96c6589dc1536b7c14b889d2c05eb76a683a4a3a19137e1a1eaeacd9e8153925329f4e32e2d48eb3cc58c73a7ff43d1db60768e6ab1ccba7bc58daeaacc335728d4f889d44a64444e2546b9ea87901244ffc16409a78dacbe4779a83f2e5ad98247648fa8d1b284dc595b247d7891cc80eecfd7ef574e6a4cc1e141ea9936d31c20f687918db6b24da5f6b82f90257cc3fdbae23563726b8ee5c2aad72aaea7c93ac4f9151938c707baec55cf3ccfb69d6e70971751e24ece81190a92adf32c6160b944b299de8375da38ea617afff3b85d06154eb0b7a4c6399d367c02f116aed0168eb9c67f6cc65935e11fefa01e6206baabf51790df4df5ec3131bed01125378975a57b7ee986ea66ac6d81925b348db867166b04fb5d180a35be9d332063058e70ff3fdd8a403b6b3a81684c077d3472d0f73c3f3750675d519770777ee69e530dc74eb73eb6e716484615a7bccf8e05ef4da0b7ceab2441d65b7b6c3aaf0a09c5105ab29d02c9370b4882d0cd3ff6fcc6e5543c37d1ff068583eab0dbb4cc5f90ace1b28ce01211e3b2ec664d41db68905f8d162a0b1ca45820be28034b6dc186e6254de10bd7b2546a913cc76719c5cfc761a4cb9891430629be5f7658092aefeee5e6140ab088b79e767c022d2501529b2be446d3d1426a591101ce32cae9d8cd34dcc62f669db759b4833ddce9ede85f11cda02b28cadab2aa178cab320ae8aa8b51156b713e6f8a410a46a57fe7c1966cd26094381af9c90181b742a0d01398a4b2b43d39115c4954c970f7a01ac184b52c966ecf6bc4420f07f245ee4fee28464cff2e91df4c168b27b218a8ac73cbca95d73a48b1075e09fbc991a79fe00b32a03ab6afe9d97a9a8e367fa238151243940500647bf98c74f70aa0a297fb9c8675a7d30eb66ed04a9aa5e154a9059af4d043359bd9ac430e12ceaea0165b8d67c679aa35f79a0206f90d99c122613aac8f86b93cbf8d14354296cfcc546b0e7bde0bfa86b8d91239342ef98bcf44623eaccaec1223a2f137041f8ef8a59b4f309f00b79f022c271e0029bde40d49ff9d62879765e421db2ed160fd64f6726439a933b435dc285e9ad6bf5b6be8f98e5c7000719eca0d85d3be5f997ab695d7ff08c930554f9655b0577d50c943b894513dc4648cac17dc2f69b82ae01218cb7a456b998b2a386d2b95709a9d01c9da0407f6ffd0738c1daed567c038aba015d0a7e8e72fd9f5d892b698458145fd5370e28bb4b4d5bb441999692bed4b979f638b1a9cfb0bcaf265ff30fdf864a99151799beeae50192d6938fba481755e52461cb9abfa61fc112c1eb4575695461e9999b1699b296d9b805f373ac10fc6e8c1c21adc44936ba16ca7ea3f92105cddd8bddc738e45029dbabbd6264eb97d04294495751995611812d414a40c0fb3b62aa10efb1be080daacbc3bf0980543a8a9282b2dc7a8a0fe9c4ca32a45dfdef9b4284177b3d4a7bbc824bc1230213686982f6a0f21f413867abcc47f8e8aaa6cccdb363183071d02cba0d5c719e0d26c13b3b1e623b1ca265c717b625ed3c772b0b2dd9e5cfc88960fa4d0290ad13f2b8af1b505168328ec1f32279d71b429e4c1935cc9a5489b28852f1211ef6de4c40b73cef6531189e1b963bd99f9e03ff8cc55d9cb5418bc5bedc076e9e5d0f0464537da6d1ee00024b58b6feaae3631af198ef286fbca49af0dbbc31f5b7423f8cb0da5530c6edd7319346c47cd34e29a4f4982d94301e31330df406732245aab616c4b85561dfababd89b88b8852acbb8328dbf17dc48f1d1283429d1d3d245d901021455beb473a60b464817b0033d4474d414772df329b801379482a66e37d9a852d41163006f9881f8c6d4a867d09ac059b88d68fc72b6cfef41614a72ef3b538b6b07a8a55cb9248c1e233ecd3b586f011b91b88c2836c305bc1c01938285a4e2492ce2e3c2c7783ad191118cddd8c69eb55cefc4626a7b766a31e7fa2d50d6c114cf8234eed5597a34c346340601237f0c9ab98c53fe21491982ea00346597198e62ea92168fc277a2af48d8167f3d5634bb5bf223ae1daddd89192a489cbe593e22b3a3212dd8bef5ec36dee5015f6ef34c2259430065254a047c23700872ea2f043865ff5f47a7e1aa22a3f08a5bddbd3a5976d0f6a941a564f434c0c838ef273abf7afea6a4127fe842190e16bafa18b2e8280d7ff5a0b6f271324ca560246175176aacf6edc2a96fb42023b68080544bb54ca620ab7cbb59cc739894cf6ec32832800d06a7b7be1cda32ea8a27d4e9e66d66a89fcbdef48243864870b404146c9f6bde664323b3ad0f67611828a7c95d70ced43c9400236daf2c9b3e59097615a3574073f500bc8b06a77d67f71ca903efe4f8e8e5383c90b78dd95b5e25011ce90abf7be2d405317d61c66f7a5f2d0352b5ed9cb971a839907547e324c2627297402bd447ba61f4be453eea21e07eabaf8a35ed59253b6154274ca9503cb53a19bcfa85f534d1b2f5eae3206fd03da23e6e7fb592aaa20badbb9888a64360ad123174097556bbcc8938cabf5219445cce47f4875b39d72be7217519dd674a44122a21f638a8251b8efcb609383d2aece201c4f8ba7b4003cbc6a995abb3490f561a60a68bfdf9263cff947a4ff5e7f4a4a0ac984d1b982d6c5ef9ca8898bb8986ae342dedbf6344dd738e4154b5ea1751a0c3716c36835b7c4fb8d041ce3d35f4ff25a9895dddc7ac128e7d8282ae55a24bbb21149716968392b28b60d1bc71e3133c967b38cdfb5ef7b62f65926ef8dd9445723ddc39d389884d0e9abf1f1840b4f6ee92cc15282a0072cbb15b8829e7228ecc2b26987579728b1097c0411c47952451326b21aa3bbb619ce90db7178ac16ff922050d5403fe9e1dbe0d4ebd7c771624406c3a99105e8b23c16e753b305e973c3ba2e18bccf2e1af7fcaf68da9f74b5fd0abc7789ab3d9ae39a2cb958799cf1c3a620cfe7c275dad8b9c4f3baf010da3061f3d660f8fdaf2555545a0e3d2187308c78eabef0bc32c9dc8ad83e50e64ef03f4c03860b42a13822a3697a70014463f00fbd7cfdb792403986cb2161e31fcc5e8bf6075fa21f6f98a98992e957e7a2f9857e294cac3ffcff2dcfba1869a0e7d3321055082e320fe9ad7fd54a4d0a7fa2cf7503b65d9d911daddd96e60cb92a0a28173906eda59afaafcf63f7d67574fa9653a3d63056039965d41c0cf21241059a00ca7a9c0445e9464efbc4f7de92da03b7e535a313166a6c95a7ffb33f2286f06cf90f97ab25bc0a1c2677284ff0c1e1e62ddde0a556cf8a75297b9bc670099c3d82373f6fe4cde1cd2a5589857f898fe1638f396c833c8c5bf925ad30dc8914318ad1dad207f323227c5bdce8377a4ffb05dae11cca891eaef325897798391ae388cef0446ddb5328512e859ebce005a5a8ef93baab367ce4f24e29eefde2f816e899ad640721b60ea0edc94ad79764e5287ca5fc52d19979df93490afb925f4b1021baabe4579b1fcb21fa76c4b8f9e57cfb090ae20b5fb6ad413757f17635fd05010e76ff9b8e14f0524870c69f5aac9c0e6ff7a65ca52acc2a2320f758bc1cf65de1657015a4506c6e42df12c5d52f31a1c5c0f96955890af27bfa65c60e43a195552b20152a7822cd542a7a38e0c522d4d1cc70d4c756d66650ee8fc0d527a9218192f6a17c1b4c12a02283598ef0465745f1604e7118258c9ebfaccf8c35753da06475fd444a937d5f6dd40168ddb9ef5adb43650e0b1c419ae7b2a6233e0024bd4aafbb5605b906b7b9c5280581f9c97afd5863ae5a51d8fcc13ffa424aca095a41c35bee9b8a562e9ecb94e98d09d40679d46f22019e01f5fb93763dba58635c21d80523c2394d58a34fd11a94330a1427dd02ea9c0f122ded3d816530e3f543335a5ec8a439ffbfd4d82c8af57db3dc6c7aea656b7792ec8ee7760c0e35cd2b3bc0fcb79b13bf66161d8d08d193743061d1e4cb395353edec8fdd688569f7d648c18ae1f5b3d7e7a49b3f2a0e1d7359b3c3fed880d08670c742195d6af38bb9ffd7f325d80ddffa12409c9071ac5adcb5b08ae5d4089322eb116bab152aae6d5ab2175e410cf2e2e92b5e22b54a2a07089840c46f768532b174f1d29d747348ebae33c4a4c3b05d57f7a0a61dcb20898da6e66051d4040aa5712fdc6c9053aea432ddb756ec4f6355d7709b5aab57b0c731f0f640651e2473be1ef2ec021df0157b02a0c6702ed3c679bec06a8a1ad34d71443581044ca80878dc224a291a7ffc43cbbcec844e2b23c79488b5f265daadcb22f640dfaff4b090234b8de325ad5e2497f954ba8451dda833a4048e912a1ba21f077a700dfe87149ef925f6388443ef87f8c9b4d4464f0fbd6a766f84780058dc406cb035ccd61e785814cd9e1aa5cceb56109f920b55e18460ddc5b9b6eae56bb7064b6b631aee4386c0a305cb6c6d9f20b4955767ad60c13343a70d4e281aad7fa010d131f264e6696a3c82e31497b8ba3a4bcc2c4c6d8000e131c5eaadf020c35545b6f7ca9c6000000000000000000000000000000050b1216202c333c","message_root":"0x6ad7301610ce312be3a0d080470893037c43c487cfb956130da34588eb43cc66","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd7c97392e413cc3cae4ee16ad310baa84e3dccdc15c4c3178e5028f57d1f176ca068a67c7af37ec82d27e55a7a60fa4170bbd4851edb2a134a12157e4c839121a4b5b64ca13c2359307b2b9ef131b0766e4aa38995d8caaebc55c2a42f0760658a3dffa034e900d5da87382f64763a362556cfb6cb66668621b4ce80c3150504f40b13132f08f060d914b1e9dabbe1eaa81e9f00ef6b276c636d17c8774e412ab09faadc8bc7317a34b276ba27b62bf005d68d6615ce37b9d375087ed39f6b60457653f2a6bb536e6f1f8599aff4381749e0fc8e5b3d5060ae3c09e07b36b77f7ca965c7bd3ec82b4d55d26120eef411867cddc259aa0d88de5c9efa811fb5c1525a73656cb3ebc81625564784840f082695379720d649be78b6871500f561badb03deba8b59de36ddeb67e5d0d0b78f21fed0ce17ff82a4235e9f795ca5aaef35c1b5e7bf8c36c305134876662cbd53c5fc3bd13a4c47a426e396d714ede942a1f7a5381a41febaa63e113725a71780550b64ed1fc14fc3adfa07d0f63e9810cf901145cdeb431fcad5f65b680676eee98683c8c51fb16b9e8b472fc0b2824548e20d86d2d635e0c5ce81175245f8c220d0d249ee0cfa8619040d3e3deb00d19e9b09d515ac933c76f5c90b91cffc45347660f706e89fa5f41cb1ab227f8ff05ea5c7203017ec81233835c72367a66863ab5ee9670ee9675c0fd665e7db216fa9bb3d7d6ab71fc0fb0f5e03b7ff41ef10505ad5b481fa435c4ea5e97bcbe4a8fc1e209af87d4be42f3b9b8889237fae0a7d376edbc7860fb576bda64d05a58475520798dbf6dfebdc0e91357f07bb0ba7f4951b28534cbcbbaf3837c1c7c6cb40595c921999ae10aaed6b488de9bbd3acf053f5dfd5bb9dfb6b3d5f5fb4c043096cb64f0bee836eb246ded9011bcd95266eb88ec23bfc0e8903a1fbed08dcb90fa3770e07dd6389edf7fe05a2356401a57173701b2e2d21d0ad6b92fe163e20e27c38f482b4261c48f90430f8c7345c651ad31c80bf8fdbc595ca0177c57c28cc96beef30d7fc245b7e2d21048758b0b9417ae908f47b24142d025b2fbafe3dc592f007d2786bb4d153fb760cf39ef1bc3a1ebeffa66c8f2bdc6974ab5162eff2c9bd1039b0f9f825a7e395d3fc6d1b6b04ba1f870ab4305b776e8b42e2d2a94bfbbefba3ccdda23cce08029fdcbe406c40d5c9a9b273e9cd06946e335f865b58407767ee8903a3d91e1cba03edd5e546064b4ab11d78ee5aa079300bd1dc5284955cba849d7e87f6d554baa50e2634b22e61b73c44d69a087452351c9ca3d5bb5a0809d76ad92227006327a63d565f26ca4d565eb90508be9a38d62f7340e96d37602e7c62dca871993f7ea54a7e416d78cd959a49af7bb166330c0c68ff5bc921b188388e3c44a02304b0885e2e9c809de60596db746199f4fe25e243b9319d4e2fd6bcd08db9eb6f8266feca0c48394b1ba73df0f2df71380ab1fe4bc37d1cd29d7c9c87ac2f342c3cdc3a47af1aecfc8211939dd5d4ba8a1827787331c2538a5ecf0f2b93a3cc535b93aafe2d1f79c120c8a2c2ff2db811745538a2f52f15b5e6236b2d42ef98bd4da58c6f424301b24d0b6246c0ff072c917ca0de4b7cb2558b522d2761048641e1be036a250cb9f186fab9f59f7685d910c0589fbf39acb9f4aa97470793755bf4e3fae42f19a220dd275ad7d52d18abd54df0fe88576cc755731c1177a6b113230c90f779b1edde29e980ceff250b33494c0e640b079478d260a5c37c8e184c55e5932c56bd8bef48b57bf8798ad5b5518f1df3ab63a434780365de4978c5b5f74f404ed9b649f1be793837d345c9cb9878dfb4702d148c7302170e3e304b5ad8d30997456674bd85fe539af7a1625546c23dc695edeceebde80f5842b2d6c55803b2538e90e47e7fc35aa42ec2eb06425b6f535691c51ebbad2a72dcddb4a434a36784b8c9f3e39bf4e3317a739c7c4571c56fe29ad7e562e7ecc9f10002c51aa15fe88256971d39d3b6598fcc92dccfb9a0bc01abfb9743b4c6c1d5be6f86f57edcbf956318ed568d51123222b43c600f1aab9d367a0a81ef68441ce0ebe4f757d6b0d79cc0fa86e400b1276ae630dea4374afee7dce567ef51a8bd3921154f98a83f6eb39a06f62391f708df391bb80ce6ab7dea171a44ccc8e71f2ebe12b569316fdabd7a3cf563115c40cfcbed50172dcb9ff6af0aa928406291588041b7b1eafe795b516e7c7bf4c4004ce72abd6817b48bac9dd18b54f530f6f46db2955c96a7f81d8e87892e31f471cd36715ea65dc466da2c4ad3b1df8686502de72a4917c090330d0e5cc645d18609cde5d8d0906b4672fceced1e2a2ab3df8ea3dec74ed4f5a47d80f1491a9069b114d2977eb77fe99c69d77c4daed8e9368a3dddbc3485bc652dcbe18c58da73433ad577e0466de65dd888f6cce5be616c7f4778ab1cd400578f63bbdabf49463f4d09b677bc27a38a3adf336c1ea90c3b5200b21224473d058a5af5e96fead04bb2388cba999f52f7b0692c789795ae0301a4a365c129f628a28f1806a5354211821eb2c57bfe7ff33e751e5507e2ba3a2fd27b6271a2c469c5e6a5bbc107eb44210dc261cd42476b2f960f63948d76ce9f1de12837b92206a7eacbe538f7689db63c5ba62dd601886120cc7c77e88adff819cf6490d41bc2b55f297c33569cb3ac5adf2e9dacbd48e24c4e13db39843ec223c828e9fe46fed6779ab746b6505b75b3baac2330dcaad4964ff6a2428d631aa0c5d9782885bfd3f387518636bf02fa575af02a44da65361fe0d4d495c691a7556a84fd0ba91f641eff25bac123a8dfffc97c81c05abe1dcf20f61699397d3a37e8be8ebb8ecbdb3a04154b40adf4d94a463c0e153aa9aaa5dc25465752fb50b92bb694bd1fc5f84232157fd9ee0e2985e1cf628102df2406f88b30018087312a045d4929247225c58aa8450f24325483d24535fbe4a68f17f4afda6c1a83f208d0583fbfeb179f056e43be981c4c55fa0fa4a0bd9cde11056095b2b27e529a3e15619256e979ac6f46ae2b1f7e0349c02d21be41941f150824439bf234fd6da602f2689e582619f6605cde6a8f7fea074a1b9ed8d8b315915ea62cb5c0d7a5f2e7d2ec618e01e44aeb0f3e7d796a4be8ffa80ff761578ce2a91302071df3b6f8cb3c702d3b8b50a2caf6165f4744902e80e22c82f7353b378e4d1ad2ad26c5a64e89bd7543a8c1b1104ca8277dbc535c436935e7e1a1f661c7e657a605742b785ee3404a7031a3808565e3c6baeeaaebad5b324f5011f8ee8c48511b6731d7d4f83f4b8518a75af45a6e909a7f824dfbe31f79307e86a7bc6d449eeb8b07bcc234d587099cef8f0905eb3e9894849102d2c5c769ff928d606907027ff1d6dc25c73efd6408c22a1d013564565f470c3ab9e51065c2126584edc3ca8887fdc2df4e050c42d58eeb63b50ef6c417a31dd72b9bab8eee8396746493d6ff7b350b26183b794e1fe45a8670cc00967448cc826273954b7f386a900eca1cb722bf91a4f1005608b334c3c2648ba26b2889bc2f6113b308915a7885c7dfe0d082f862383c6d6afeb6944f84eac31873e98cb99245597a26d8d506fb45e60d1e92f6e370d4dc0c9b51856b1834c80788e2a9ce52d99241d1be63","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xb842c787f40fcc1d36493cc1c452c3b1baad2658ce9dcfd8ad1d58375eebb97c","signature":"0x1a04ae5beffb223dcd531c53890f176b8354bfdaba05d311c5ebbd2061ab16a68fc0debd1f2d3b99ce09d2658dcd3b130c3e01f0d154c3e226defc62514ad5255bb32b232d16249227b863094f13240814c20adb0fbae63e685bf4649f880b2492889aa1490d12246dd679093d124051365cb1cf5a7032dc0a09c1205b5c2e82a4f60f039ab7ee91eff546b123d3607d9505adb6e48a88ef4f06c5a9637acfe6e118e1cb2a7a6355a45c306c2214f1d9205ebce64ce468bd23b8c7d2a733f9a1a7da5612a7d3facb6f62005e2f2a94214e7ddcb9eb4582a2a95821977d6490694f1a39363b18790a45b13fd84edc068441d08754938beec0010130b396741bc10835df27fb0ec6548d30c0da75a3ece10b3b81c27fa323f0ad271359aef9a0d83d1a5ae1ce6fbd7c4921faad42f655f242fdd63e574035e4967784ac6eafeb0e217b71499b0b60bc9b147e849b0105dd9b174b89ca453c88afd429d72b772e04512f01f9a0bc06e2715e1952909139da77ceae5bbe9403eb8112f9ce1b660ce5994eab55ee9fd3108fcadeb2f9fa98d83bac3b1246bd58c900c5335d277db220b934eb26c4c204d870e973bd68fcca7e086e06cb1184c7fed7d57fdb1311f1d9412a0befdc61c974175746acb0581dbd74b3be7ba5e1f8702362fd992cb1cfb73cbc797b29f712b5e2a8ce439c4a0b28c42ad1b8348860d265842d791f5e83bce142e1dc7e5c4c7c3f0052b571fcfb574cfef5a412eb14de1d119f9c948663639229ef3665619f02d3649fa9e6c41448181fb85c0cc7984fc9194e1256b61d628c16251b47126837c6c40fc8947acfbd216f0d179788e6335df5fe6aa537b87b2d57c3d584f4405b60a765245c39f40c8ca154e45d4361189110ee06c80e6a44d347a09a53a6d4ef34ba834bf6089dccd3e031d1c6d9f1280728b50f015dd1cfdd44495dad4410677983f4d1a890499c01cade0d549d1519bcf63948e8a0819a000a9c3c8aa778c3acb635b99f525a4a1bf59d05e67b7454b20105998a3b2a90de86cca1b2d40ceaf28c4a74a04f327bc46eff3ecd97ca330d3b9d0e41a79f1224b933b1b45950b93a312194b76d89a0c3c65837e616170e0d5c88708216c806602ff6fe026c12c2505c7418f9dade73de54ca7993892d04df155802311f74c9b8afcd3ab9e7c003187a6fe6972b4e7a7420bcb883204d1cc9eb12c400685f88cfd1a7c6b8469ab60d3a065dc70ca3b15e3e5f22ea4924058cd0d358c2f79c7e752e7906f86cadbc44ce4c767c81edba37d453cafe2bc24082950741c9ddc79034f6e7cdab6eeb668275f1b5409e825d1ff66259cb5cbf4f8accb691da5642aa37a913234431b3a923a180d5004f29705c62335c0d8230fe8352c5ec18519bff34373c1fc0839c305e1e5952470c28a731e2ee238418534b48cad80d15431b47e3fbdd9a5eead5c78ff48e248c7f9fbb7b4b6542e71a0d076059921f4b5df26424ef155c363b026990d475ac679830836e717647bb0b8b6a7a6bce452fa4021b40284346f77d37d681fc40b27d286943df4632fd35f67dc73ed22264f9de74c5c70b43a0278ada78b65592d9f599caec2fd5d26d83a2f81e44177495398e64a8cc9351991a0765b4cddd7d0a233ff30cc16b39bcd56ed4d8157f9a9ec62ea0f3e3bff37bdc4b1e09986b53107b698acee31e3b82f3d43168e76fd6d6c74f827407a1f1f27812d801cd3296fec105e09d92d343f63db8ca8fb958427909a59c922a63018015d462e6345808eceda2807c282c9425dc8c33a8f6dceb92db07c908c0b88f7453284a65dfcc2c0cb4f470f9d5f858385482646331557cf602bccda0be7089bd2abaed8a9fa210a668ed3270c1e68d1acf5452d42082938cb4aceae5c0315c71cea22d37111e91dbafe957990f5898fbad3f14761ee9de6ac0ebc8ea6f4a55cf6606c8a209840a98f25dd0a28052dc7b3a4ddab8b6451e895e3717351e08089f6e208fd4388957af16ce07a3da8631a6410221555d148906059f129d9b2074072511b4a5bf641783bd4b62ddc6e15675cd284f783162029b74fd21446a3990d0f2acf64ac32c20cd21465bac2683935e3803b38fbc4912111f4c4bd6cf69645529a0a923b7df29da9093c55dd6bf185e99af616bf70b82b50ba8b0edea799b76eff01d3b229e8efcf87a801605b447209698ed03f7cd1ccb47a6b5e2cdcf8f03eea28874f36d34ff2721bb37f1c5e1e90931e12698703263daf0257a3ec7fc01774dce66aef120e6b7849ed267fe39a4bf7f9e3327e018082caaf85e60c653bc6187e36103fab74d3b82bd6e2423aaf910555878dc56efa87d59d15c51a827e0a13146631940c2fcacb334b113a063c5f416dac22db5544714a5ddf671e8ea1ed38e24a21f0e412f7c8270b1871560b36ebb57b58df322271383d52adfb6c5c3673f51aec7bf4ab2a791b6f7f755e9474e8a71e9f07e572d1afd68355bb6df13e7ee909b1df808806299fdf21e407fbbe0db59fe0dc7393b906fb4cd78eb78baf1cf56336fdb2a1949f10bec5c5da3abcc16d88f80241f174ae5f88273778f5ca210df4a24913ebc2f46da148c8cd78515163773a5fe21739a5797b4da13b2a6ff002f12812b2f18a147385ae0fadf9bbb54761ab3c3822f7ead6d2ad1dead4c3d04e5b4e59305218b5eb23ea4e88bbd7142800f60d8e3bff5aeea09587db80e8d9a7c67a3fb234522ee0c7f93c92fe88c026bb8e4793d421453c7ed20ce5a05ac226956a69c2974cc8144328c31979e732206a566ee42a42145106512da2f072e153613005608708e65ea7673003c00e8217c8955fe1f07e2c5ae14f015dc46791815d785b34a118f5e438f37e26d3c8b442c6db4acb9e78d8e028855daa759450fb7cfd23277edd180cb3ae0f5c89a98c9781c1903380f005982de7b636676deceb2a9ffea4a219e323484b0eede1daba5c6f8bc7c45d52442fec0e6d057f2a974804005030bd103da14a04155f3b48d9d5a62ca5edb5734d25ebef1d91def7652c9bd50faafced1c6332d08b3a2216ae608dfacd613c4baeb99a5e1e35a2d5a967fa6eec1a73d31be660a7246d4f76ee644832a2f2e4d022d8fb2e42db42638658749badb520d3d5c3e062b48d46abdb4ea6ea97aed97dc949eba52de4ec674c2050095d00bfde9c406d3749b21bb0f8417b7d367fc8cd5ad073bbaffda823aff9dc62e5377418ad6372ce3bb78399cdd99874d2e78c4e71f62d2a726fe2167c4df6547f84445ccb9a915d16bb20b9f14a6f30d62257451b11c860e8625dfa9c5548463d971aee6143985d26aed46c7314c9d70cee005de335561d2e26016d9d7090e60397ec8ca852b4c2165157817d565840e6970a01244a2e1268dc560e85d480da5462945a5626120ea570461507b73b6e113d8916a3da1788a035ffae8e660bad89875886912e6a53fcb636b0caf140b1705750ea62f4a60279b88abf3067132f9a2d94e176e25aa70cf1c9d4e875d611b4b5403bf50a359351f45236381c0c0d7ab8db5f8dcd03ccdf957439f5f5689b5af5af98557962849bf30a18cb832f501ab7aa5a16e972ae81ae41673b719baeb410edf53dd0e28c46cc304cb18cce589e702d4abb45cc7c4c0556a58d6d75546418b69de9b8469996e5f6fc2aeec62bde8ebe0101d3a65422143ad4e08e346ad45ad2046e24d3abfa15456e1512808b03f241a6b9c1a7648d2435fb435c2b9845ab94c394dd0184566cb720730bcb33c1ba0b47861b068022a28d1b6c6cb18cbf84e317e25369209cd429ec3781796d249b3aefa8baa1b31750ec8c995c8555c5417e67cc6cd10502e01a6a650eea87aa32086c64b1a894ce86b1b5859a15c4cd773df6f9b2008dccc1e09ac120f66a2c22faa03d87105cf044e53af0c9d6f74f4e709e7ed8978d45aa38223bec287dd98165b37979318b4d0174339f228ed8be34b600fc3d33f4352d406c83f3e8639478715cb4b174b305cf19ef52a464ab9496479aa726bffc21e75391b588b8b753cecd1fe1ffc76ba964614e3d6a9fb01a132247bd2ebe709d90851b07800baef86ea9fdfd4a7cf6ebef1f5acfe0fcbad3b2ae0919689406733c553bf6ddf2820d8fe5b2fe429e1c73ff2cdb667eec73a458168632ad4aaee20fb9f5488a7336511b0354be8ea4d3bc9a5c8425e643b59478770205ae077f64e22d3fc0e13d1877becb729cb7ac7012cbf1769870378ce8c31caf62eaa1955c05d26eddd74621a1bd534d0ffb2b6d05b1ce2343ff8ab393b9e23aa3735def85bda4b13ea03b1ea247702c6920867f67e9df78d6d80cfea233b060f34f1aad4a9e177c326c9e7e0dd87009f5bb5dd823e47ed4d36096144fc58270e4e40e3319925bdbe61709c6022071d798a092c8bf8d0e222c89f4bf167a2545eaf59d7517e34664892737955bb27679bc096ed1d3b573fef1393694c8185ffecc61d7b9b65d8b39c58e72ec61f96ac4ae396fa3c0770ce5dfba40a1c5b05ee1f144f67021eff135a61c3525a9191bcaae2f89f295c3f6f0ff14c0bccdb35b38db1ecaa3107073dd0b0d20cd2f257fc9ab6fdad356b1a81156331339de60164e93da38fe3b6f7ab5e3f3687a70e8f6dcc3e21fa0808a25d9683c1a7d39cfc7fcd638a2c3c9c139434f011c27d6f3f87cb66f8b756a870de0dfeda676fa0c2809809f21c8685094a97bf9ddc7edc6fac804e3d2986b3c5da0714bcb1867f088cfebe25e2984e0858d8afb37810d85acdf1e9b4c91c46abe0e6e951a43487538d6b0ce2be73c9c66add1484a49079e6ee3bbe951f59a77782b477eab87d72f74f92da3c8b3a86052464330e4ef850c5489bf01fb639c3c39e227f2e1a212539510b4b3369da039ede6881c6137dbedd16aab0355c73597cc042930815a90f7f6ff7c7269584eb39be3895becf0a9fe05e7f6d63f3d9ddf4282fd64a9290a4e5eabce215c3f3832d5bf0665f69183bbd758567b576d4866c08a3f1b155d5bbf51dc762ecfc30147f5be6ce94f703211ae0add9f31183ad2767136353028bcb8490c248c65e0fca6c23969d59a3aa5a76f5fa25456982299aeab47121d0187256a0cdd4f8d2e047596fa9697dcc11da74ef7f771bc677e68376ff2d779ac5e559a5d9c77aebd81f8ab9a954ac5d578397412026aecc05e5c7aa8b1b3d0a548e1bce41104acd2f17b711089a0f519021181a569be22755716a4bf628eed808950e39ece49558c455648e67006072688fdf425e297b9f7bd27cd921442239546e9b193789f407ed065a763e338bd251e0e3e76b793420ea5c6650d9cc4804b737f7f710aa2befd6e9239c57613389f0be6df0e9a920b06f2969f5534bf8fb0a8baf6d0fd62ee002d988d4a0cec2ae0423879e835578e4eaec4eeb497d9488fb0897104a9f12e25d4de8bc90562c2d96b762d37aae2a0c6cbebff26870d6c71d0f46412a14779d1d2de8f034fc86c0d347143d5239612cb66653ea465fe56a15b2681ab9594714e81c5b84f83f71696ac881884450915d2cedb82b470f3b3c3cdc3ecf1d62e647cd1140f9eeffd2fb41a909a56aed74960c576ee88b1b0c7213bbc2817cd9f510b8067b54fb2772c4320f2ad6683e9d48f03885ffd4dd3d16208b135e4e1bc23cad419957cef3f98edd122bb1368524b91f3d65544a4ff7d1a4cae9c9b18007a8c782334db3e32b704948118088a3cb92cfd615e69cd05e9fa069f06eb29e2c9e79f943476ce3132666d3ccef1fd8eacd730e2c30e5df71a09cbb43b078c63afa71dd17737f806b75100e7e485bf6b4ecdf7af4774e776bc719a0c4c7c936656763c3bb3006f1b66042278bbc9b1d699ed757372afa1796ee30affac85f5f24de05b569595e4a473ab4b272782d512f0e7035097561c2cab5f8f38ded3809a0fd0ab5dc1734bcc9ae5b994e645d331e75088076eea7417ef4d5711b7e4e4908cfdb23ddd1057630c20f822f16bd84e0e5f756cc842db3c6d2b1837912c4984247432d8359b62098b1ad39ad2e9c9003e3b2f0e30012f9873a705727854eb61ad0d10179220aeacabcf615554148dd353e61b94a0c987bf79f4d7bb82e79e8fee0457967501733c1483d4a787c81b4a1563f8097adf5c505b7c6440db15141c7d0dd7aa4ea63e57c7d6baa5690e6992218a76bbda47650ba216dc7831ddb33a2191f6cb9eb365e4bf423129af0ac0fb218f01f995de9046ffd3d7b64c489b850f33bb212be66bc6a26fd0643106a6a8ba55f9f8ca7b964289c3bdca49f7d5d928368c549adcf2b666209edafc3bd35cc8f01775984037a2109a821a510581d63b58e9f76bcdf96f4767499899a6f22608133556da17135680a7ce4e884d39108493d1cbb5854c689cb2d96b50ae4b1b7a0f8adf3daa6b2eb8e05b5ae50b0f604b4007c98a3a7b9bbd1dcf61934395f949ee52478afd503133840649fa3ade5091b3641a7afbbddfa0e4b5683a9acc1ec1f217be13040519facb1d6ef000000000000000000000000000000000a11151e272f333b","message_root":"0x0655ccff3bde14aa7d1a9ca10b0ef81bc6332c71a9fbb7aa196c2312a7affd82","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xdc304b79ebff13030d2bfc0af8097bf2e2968d6d96d1be24bc48052169313e840bf2f46a33f0d638cbabff05639232b94e96ec1e4f76d11df4affbfa79da902800877b59f1c8b04074ccb5274797e8772a1ce2b7a704445f4843292bb6e2c7971c4f9c445c3c40bb801cf8c98258905f93b82882d6ed06662939f13e2e4d5385b4bbdd68cfc81cfca06b9c64c5eaf412f7a89e13adaa1a1b5f2f97a181d4a85799c3a24e17ddec32739acb127f53d52d7b63c9c9c04f10f44711962fa428b47e1854b8ed82437f553058496e1223ec289353802177ccb823f31cc3e0b3d0225aebe95c6abf9cea6ae8b03c98ec032cf03517dae6f8c866689f8fa424ce651d1121a7bdc9cf00002779d11785afe5cdc8f59f412e0f6edde0b5b1b382e381d4d94f974da53d1de9e9291b5006cbdb3aaa75400c38b9db8616d077585c306789e843b72ff6ee90367d417f842ec8c07d92d114eb079974ba5350b74b6ffb868371bc9dcc389c12af99762ddb81e9bc73d05b91bb597aa546f7878223c23a675647d833de5bf215a2aa23218e737d90b8c273d84f9a8b4f76dd90cec641bf750d851d1a883b041298c39cc8958d764c6c855808848b1e5240973469a07b7b6ed3e8dc3873bb285096b760c5c27a0eebecd26826640867a67ad1106050da4b9e8280e48d9b30bcbe3f03439fc1b61cce0f79c3a7853d45caf295219aca4f47ab5aa32166ebe5690222a514bc409724b8115d71d62b7ad2d5112081c5bb0a55a8cfe4e727b7e74805ee89b66cc7b1e0fb21eef4dafb871fc415fe7d8efef7c775cfe6c152248fdb9e8bf9ebd62516a07cd38a18d5587e063a2a92b71f458d8707543202641f94174c0776485a1805d93edc1a74b518f45c412feb40489403f4a84f7503d3c0d200a3c6c03b8f07ceaeb6f8af15ab99bc8835303d9699648fa64d2fa966f39ef3f003c5599859456f9b6c3c1c6259752d76480cc0c48cf6920c890fa53a928f824fa483ffbe8f4d397c6ae14c3c107f4fa51f7e842672e221d692ab4b0e846bab3fd13fd10dfcda23d7468c04c9316c31bddb8cecf69c62772db833023970a4462560ed162cb8925c5821500c8a1c7a27621bccefdd051abdc161a4ebf7f99cc246e7f54aa37b3ae8086e32e92256c578173146c525c2a123ffd5299b507fe0a19cc339d75deaf9c559196d7b886da595df280612dcae67e1b4d0d68e742bdfe3f3407e029767927436247e6a3a340b13a2bc181b3bdec45f772c4865264ed42988debacc5d0edc13463338368473b024822e04761bced83c4cebe115e0bf77a4469a559b5427cc5ef5733fd80cf2785ac387e7e96e1a5dd34f2d166eabf5482459801241235a4d14feb67cea050d7b2ef1ca37cd32ff71956405586e4220ffa12bb69afdf4f5db8ef037882148bf71b01b85c4931e45b428b89f1acaa8aa9062fce4fda6202192c1ab62a30837cce48b407710f58b61cd66a2feccda196e027a035100d953bd44dd33da37158aa8f1a9cb985c76389ad7d270451753f40510224abc2f9283c9257ba925697d7b14b2e6807bf7b39fc58cded841ae6b7b7e53749b5471d9c4020f044da929513ead92c757f28dd5c7fb12983e667126ddb928d2f1526be765b09ada57b0af28099724a7530bc648daba1c11a4751ab4db7ee9a280ab2c608b7cda0f463a70238843ac846615b5d734d4d70e05cf3f381c2663581f9cbfeb04e33f6f845ce4d2f854a447ac575e7dbc2e0a8052038289d7e4fcf3a3f42f4e5acbf2e75e7c8ac1e376f37eb44755da1b478c141584178d5c219de0797b93ae48c93839b604ae685c1b9cacd5de19bb50ecbfb19cdae14d724b80f3bb7afebef40c7ae78254728e23aaa4bab51bd1c34530a73d52028585449c2548f2a57a5fc6b11108bc1951294f2df3085541dbc81328aceb89602620aa542d45296ac7127382db0098eabff88413d25455382aacaef638383effa788649601f1b547af1d0b3b19f69db8e4ab59bf1eed6bf5a8394854a97579b06880e4e45028789ee4d979df5c50bfec72d9d34f15aa3163d040425e7bba95536876a40fb35153e5f5286b1f2d217f3faa88c3e48f5b86768e87084fc6d59dcdafcdaf31b1a650935234a64f009cef376c4ccb1933db4242a22ac87fbf21c81bdbfe40dde5ba569eff1110e14e9ea24d021d069e46fbd973d49d4213c54463181852e5be83d6af26e43a8a354c18c8dd0e1a711ce4b74b279758712373769c720911d75f6f6f7f5c6101e80a39498df3ef4ed205b22844c401c685800bdf56be00cf0a9b96fc2220350cdfe99339fa6c48d9e890f5ae65697713a9511d466b2f491ffed4ab9619a1a2b9a733c6748ef75c1f9bae6863cefef949a1fab1da553a7659793c899151fffe50d3a45f65f725688496b93324e9de87c96279137f038aa4f543030732b4b8f2431177a28b988769a32b073c2a276aaa000b520d5dd7592afe258cc36b8e8308dca45dc3ddad31dc746d68ff7d1e3d1efc12d87f0b07a96b941d1730a7b02d7d7bfa292b6e48f8b3d0ca1d858006aaec439da2cca1e4bab0aa38ec096624ca8ac61b0686469be4dcf2634c1cffc7a37dc0a8c434d7b84824d798254d1019121c56a5257918c2e73b717d60069f33562a13cdf33600d5a251fd473c1eb508e068a5f79a6a6c87b8e23fddbcf69e971090d6901539561a7748d434c60194d5671f7e4bd3ec2a9d90efcd4fbad4abd7b6d7b2baad9418d4ee4c0f47440b954eec5268d7e83761ecd2c0b7a597d755403280ac0bbb512cfda7d40da8c69fa7c1ce33fe9a68d8f7952672bc59cf312536850bd3c4321dbcc43c0045a3e0fa8c7c7c170e8a3b6a52c83edebb705aee3513f45f2b75c2429854adb1223ee77bbcc4aba7d5da423c62122ae09000e93f7d92c4565c79f4fbb122503240bf9ffa34afd85fed9f2fdca1fdc8e6147def5a0e4f8bd0c9a55b2d7edd7a373d604aca4b8fbc28849f9683e465a674d6842213cb6caf18bbb874867d3e88f34ce95d9a992ceca41cb039f518f36ee3d4ec2532adaff3e6cf970ec8a54162c23a690c20f6bcaadb835639203e3759d63cf8ce4eb9511889452b7b7a518c2b83411a082bc98b0ff399361cea8a6aa8d8064a82ed2446321a2fa2ee61e0bde5622121065addccbe3b824ccc9562a45ed297a3f2a9ac81e98b94a87bce4f1ae18b49eebc706694607086f555acf8c944654e35a759182bc50fdee24b85d086a67b3a97eab0b1341878c04e90a6ca764ee24b131909b55f439f4e65556a65032ce9509fc032d1c4aafc4bfc0c96befa4a22ec2502ac88d958ec3fc57523f14fbac35d8a33372f236b8edbb108428426ac00bc8a9b50faafb09293599b0b9a880ce9fa7c7419b52f1645d148b3c0ccf7e6ebbc9de39347e82ae38049eec5c96129cb30a4592ee0865ebec550f0e8b2641c4ae529e99686a8330d8ed70cfb8446b9e7d11cea250ba62326ed3ed769fabbfd954ebbcd2fa7f0c0ca083aa45802df1efac0afe1d3ffd2c0f5a52de406603b46fff10206d35e850a7ca01a1785051c718c37576783dea1892552d02f4123ddbb67820e71fbc59bbc1718f87f48fc5e1ae33f8ffc033238179df1c484af3e325108b21ce7700b7c7dd90188457f4d1a6d858d","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x30b08974d54f6f1dd80d32850c62638a3227855f43cfc9b409e1f9904ec8d10d","signature":"0xc93a05ef60dc7d516ad7b5b105227ce2c2235752c26c6092afd35d0fa47aadf70c1a28945325439a9a29a2c9ecf87a00b88fa6a763fbd274125ee7ec48aafd8fddde1fdebfbbb1715a58de6b888d4d23fd1231632a992f321612431fe9b733ab6c3b0d0da541baedf0ec8f8efda54143854f662859989bdb3b1d46c073625e2c6f42d772fae7bcc18ebb8417403399a97f30289bbd5016325362b84c32b64881be260fb13efbee3eb828651c46706ce723045e3fa5074ffcd3cfa6934e573fa5bd0fd88dcd325fdce9f1b31e059444b7986d88b6eb5c2010ada3f1ec1fea37f3d82153c9d83c4b92ed06378d8a520e7f8870ca8bdb557176b9570cc0486aebdc33aeeea71a9d3d53407368f2fcf3efa81ddbd67dbe1d6fc22b5a189348cc59cf9a37e842cbe05c8268d1ed94d4454b0ad65c99c4511b615db9c0fd5a8231989e801ce5f993417c72e82a16df25621b51aab0e6db4ff120a4f591f71a0c9fd753db5746096cc22d7c721b7b464b76990df3257e8c9bf9cc21cd97dafbe9d48090314a7888c7185f8cf4826cc0cd57b8210c75060cac45645463488cd86ec5068d646bed8a85117e06f5b08b110e60927dad34fd6413a5e030a7b17751d18b22028bf3dc07502646c332fc9c072b79b461c2e70056b3aa3b2825cdc0bc29314a1c503c55124ca4d94188bb7320d40dd17a9f2fdc9c1c5dcdf584227f52e1668e75024168719902dd8d246c6cf1daf68db6b5d0af936a85196a7c359b1d729968f914a3a8b19defdf4e666b36f1533d2137854334fd2d69ae5d6a4c10b3f432152014b43a81a92a36db418c67430986eb5ac2e0d4f4c5feadcc4bc8dcc52b9e577de1df33c3cf69e51410ddc8e5e1c80ab766336e9c62a6dc6ff483f55c548d93f5bc114f93c1c9c8c5dae345f4a9ba273eb5d0daf263801b51b0bc174f3d0f6da524b7ab7fa6f4992d69e31bb463f512c285433d3522ad9dca7b7f87fa01a315810a5df0e80cff63c3af58c1e716d1f2a44705a8df851eb5ca53b569529adf42ff21bfb3cc3d451f8ee110f8f1c5ff14439a783dac79e14892b70be2f46c722e0f1e05f8a6b40fbc140b08156294588e951be85f3c777396342545ccbc8f1143ea7486d4367b16b4d576228b294951dc9142427ac8a4595d9696a82f368c810c0c9371a775b3929225e19974d275fbddc8c81ae4208cffe29ca9a71539bd96daabe4b1528ac8c4e352e930b984d0df0f98aa89ac5b630c278537926c56b2f44107ccacea7471a7b10210239f1c734b9a2eca4f5a697f8b3e5e786f358291e5e370d1ac4d0c7fa72eeda23bcd3e1c652ee5e5c038b2edbd5f60c2d2f73480c398b8a07a6f3cc4b3f49a08ce699cdb3e3d8bab7549ab6e0a830ee88c5bd22b182a3979a90511ee633aa0d0120998f236255a94490462300ec2137316dbe3a51ad04d04f4df12f2d57cb1c4d6c3ca6e4d08380c45add517d90f66377d018e8943894bc5438253b2de0d94e13e9911ed4b0322892c1cbaa12e8e0941c471e55dbf79ebfe637865b8aec9b05a3dee0f5994737a2123798674c29e88008596db2cecb3c6f6f518ad9704d4c979b08271d50e8341066331ac86790594bd0f131e0153a0558f79fa55092018a1b874f44e314142afe2b528fafc3529c4680d5e9eaa6114b341eb08974039ba31636c4bcfea1685df6f40feacded58e42d7a443588d769b3d6bf7dadc73793f7bc47667c47faa21dc66b02584feec62eee483a81904be26e3eade29578ab9f3087645bf045c1a8046bdad95faf70bd3f728e8bc08384d65bf8e288b44ed137c4a9368a63278b000667032d4f6c99bb7f2de91f09915672cfdcc12355ea02d95edae006267bfd724025d4ea60cb71c697cdf07db9bfa391248c3b123fa7a900235c1632ef741b1769126703eb2cd6549ef001a17ecab156bd170623f305d78225db9a0df1a10ef17ea7dc1deda72b2011d7175d6705479f73da8492bd4599d49175a1322e11ef1f1a2cdc10d87493e298053b48e30f42c5fa116d71f950cf6b6faca7756926d6022b6bd532a498e173c6a159bcf58488ca0ae55e3293de2126b0d2ebb7b00de99c9a48ae28246d8f32344b46051796ba141154a81dcbde6ee51e487ab22a280813d269e26a83423f88e762b37d47192719dcec2e11fb712ce7a6a09485626bd81b745349103efc8db48a3b78a3352995c456d910967038f7d963682574920e783c37742c8a9b43a9579a0d82778a7aed12f30684becf359f6f335227eb373293a6d9e6c8a9fec37dd1d41c13a797990a146b99023e407d65ed5dee569e09a3e67d6f14434f1cae844abf16ab8a930146defa28b01dd8993fed9c5a320088d7f573df382e2b8c6467b3494fe6fe2ad6d4921dd8933da5efc17b264d343f008bc547f2a2bdfa9a21a2afede2f5fc2a1f35639e566803945e3d93e14887e4c892fb1d9414f344d21f495c70bda500115a25931062fc9f0a4a65da1203adfd1acec867386542596078eb876975c43fcde865e36736ff9bc7401477bbbcf9451af3ed84a81a0cd5eec0d8062103cadbd6140f87eb473c33ccfac705a41b1187c461ad706c6c838aef68916b32610a22a05aaf09801d0c391700bb9a178445197da19378f2cfd4ef1524153f50ebc841bba97ea923f6a3f69e90a2a3df21e91486a705e3fed1bc8a4307a49adb109beb09b3796240b4cf5ff79d9f87629c5afc3b2c723de9d459646146107d07abf33e3355a9f3543faf3c33a141abd9cba454a97b1a3c53957f44b2335919856da038fa34d9065af0c63365ba0707cb305532e8e2876977578c2bc52f751d5e2fdf51670c9a0dcba1fa0755d6d291d9a1b9c708a01ad50a3e2d8f12144bffb4336cc8ac0943d33cb82d60163143ab435007524662617a3926f55dab8b10ba3cc3317179cb2a1c048368a8713280f29ee1ada17f1de77af67f67708e4026a2a0599b5522f9b13ed3e0ef1daa59c604b3f9c647886c316670f839a6aabc8f09e911f4836e1747f33ff87779c2dfcae0341c68160b9b265e44b00489d5b4f3f85251953fc19210a420f1e0dbfb0484573d4627734f2724fcd3b17444c3ae945209931ec4192645b6f359a30fd057f93c7679ec9183832b073aaf827e1f793e09d2351b03f716414773ad1c743eadda8e127d976d4cf8ddc784ccce253dd8805d99f7f8dd12f57dd6ef2e92a7f0d3a7c89478a25b69a78135440062b67b6bccd84ced6393cc126abf1257480172ee1d5962b80a46d62d3b0f61137cfc6a1aac85ea4c33688e8999e06360d489e855bf2c63fbb936aa155d95485faebe199180659e7673c679dc53bcbb4def8ed685b234ffe8a7dd6c0a6c7df5766af687247c78d1b9e24d127ca6ae56dfe52a85efbed5db6e32c9276afd9d74460b57d114d6631293fb55d27352bfd29ec63ca25c423299434538ad0e019888c3ee8609b1d5e5d1242da31ff888aab7b606f9cea07d91dcef9d903187889936667181f61744bb2e9c0080d55a8099c93bbd30b9a8bdaee7a441d88adb0bc683246c2a51900054e46cdfd4095677be93985ac88d6bb41fddbf6e6bba6859f30a6eb9b77e26a23ad850eee5504240b0e25b0893008309bcb39db207ead9d022658ac37079874314a5234711499d5bcc7738a6a883aff5500482c60e3a8c1415bce2ebd031cb2b646898953001b0be3b01dce6bdc1bda7b483cccfb030c812806229c5e976ee740b02b1d796104b1af0580bbdb15814b9c23b1b57a2328f26e9d5f268a02189b635b45ffb9cd255c721cccc67711cfb3740f5999daeed76b900c66cc375a1d7f75e7b4f04ef403fbfc8c29915cbf98edef6da3def0c33bc39a43b79173ecab460a7c7dffa7f6dabdd0ef8c9928b50fca2351ebfab6da3ac9cdef8733f4eb07acbbb439d382f2b5c2276b576bceb773cb0ad4d99a42a3a29e9a21235bccf717f7c19d27b37aeac3de27d9477eb560b76533d764b1012018595652c1e494faa093d898e9a723f0a4e5259fccc3c52bd44601e9ad8fa515daf7e74c64a5021963ba851032a5818f08d767367d4cd817e4fdeecea9c6e6c52ad1b124cf8d71d5a4482a21bb6feea2952534e38e814dd47858d0a955e01af5bd887001ec4b3517c0ec0871fa214123c076b4d8a2b372e74d95016b4d42f7451ae3a7012d3eb13af51b2eb4c6f3504aea0b2ae882d85d66f7d68dc27ff95d6bebb573261e943e9e015fa60ce8104741834d6e86c6d91e83fadbdf5e9346bf86c4f2295a6a3ac9d29a166ee596e22b608292d872ef875805f818756a92e1c315b8ebded08e8cd835cbc1ef61e8c1f1ef2d6c903eaeff7b21146a866fc288f5c359e5aaf750979ce5cba2eb70287a98366ef47587f5e7c8440bf8ec576cbfce3723c6a384f1deea64f8154e035f033dad5fc99586193e735d5c3d3d78c4d551c225eb6e028e1432130f7c2125029c6d6e3a9e18eb9b031cca4a38fdbbdf0028c50e031e031fa44db484cd16a1264197171316d3711fd248115bca634c4a409aff76a82ec040049506c2e36bc755d544f2f03a8c938620d516e9b0b8a13c8a5cc47481447495c95645ede9cd38f117680275eda05fb98c7e4ee9c68a6039e6f696e05fd936ad405d6384a04c870e2458002df8234cfd86ef0e7bab4892ccb0518259e073fbe295eda3dfbd66b1d8bab7fb9fd67d38ac27b927d8afed6f65d37532b454dfe1bce12198884f31d03e662ed4ddb7633ed7b4a6b05d52af66cab5d295f0e78f3bdefda586f0b961a23165fe3716a779e9ed05f977c89f6efb04b8b6931888490848d24923359d7f5f5ff58431cc17d94582102e33c39def68d5606962f67824964d4a86f66ff1adba746fe019ee75905469073f6660d321ff54010e9b5b3c4e9d8332386cecc88c1e331c22068578afbb8117cae9776ce1e7fe07d518bac143749b88a4888dc944f57486b96ef8778b7d4dfc73894dac4c3734276b4d4b74ee098c917be4ffb0098e4a1bfc2ee2f05ee187050909c96674222352906586ba7aa4c883c020c48a231c2453abf81d17fd1e328a9f82e6596e32b81b5f6ed84a5e043ca79acb3b21dae55603bf4fd253e00e885e56637ed383872c42ca0ce9990001d00bee3ec6971c8f75938d8d3fa6104a2f358a0dd36a92ef2bdda962bbea0c6b6af4d2fc3a4f86c798935e2ae3d854d26e6a6ccc697cf84e88e04f682a752725ab8e0c2829b6f667ca44e7b5c1d86cd7a65d3bbf26e555044b6cd76b352e289158f55bec6c3d7acf4e2e664176b9d20eeb41067dd14bdbbdaf672544e6c5e59b76f5a0cb3d5eda9d120d9e84347097cd29817ec5d82750c39575c7b75adca16c7fbf2fabdfa88e7bc9bb909eb7af07f9d83f63cdb2236768564639fb6bc07f0c1a6fc2cf1a5f90a4db91d171131ce02afd757ab6341413a9807d916bbf6baafa8b00fa6e1666a231e0fc383d6df50f9cafbc51c371b1ada151516d4fb021d8b6449fd2b3f1cf45c131d12af78900e4349b0d80c7dda9e930b3613455ecb2b8910c57c7399657d28673cd9e1c101e6520528139324b04cb2e3adb0cfe3596281b24f51f488c94dfbdad77c60ae2e1b5276d6aadf20aa9f925353a0da0d3d28840141ee00205927a6861af9b0d1b025ad854ea60d0e9fd501d55703405250ef9820bdc1c1371623be983705192714e6cc32ee5b36c41eaa498c8a0db58594ed41dbb07e467f17cbe76f1a71038f9126b40a1fdfe2fd9beda4295db664879e2dd6cc825790a1cb77ad9263261bcacf4cf2588f1e05bfb59411274d5f6bed60d9038dcb441fa02b5b7d66e853b2d0bbc4c278ef5d24a087a182c4aef7b4232d55e9cb429c4f2277133746380c18df6bf3799c6285f5545f3a316b327f1b64c39b7b4270fb1f54f255ccad029cb0663f87f42bb4cc1befaf01c20c3f46e058864a58fb82268378e32944fbf5cc86eed3eaf6afa086622d1ea172fedf7b0789d5512f0f0d2f2f183e56e86e7bbe3641535af07b5179a79d0bcbc054bec5bc87739fb47b6de03fadf3db85b115c015a6f259b420e7eb5009c0b1855a12eafab798a76c5918575c2346bb585e98a154b8e02e16406f1c503bf0cab7344a3221176cb2293138e34f98dc630003ab018ab070a723168a0a811d3d29f98f38f048a59f7d8bc1ce3a24595e0b5a09c713f9da30e802784610cb477b71de3ab46f25c316587ce8f7917d3d1debf6433510cc6f55b48cc4e1e0f0880d8b53818661078726e01fac08bc102d80acccb20507dc6ef8d4d11687e333e737c1f4a68d049aa317758bd8b8633b839f611c044d3f8c6f8dd6c58a0291bc6ca25906d631743f5bf2b3976cbac061411ac9975e7f6a35c356dd0d2b84352ab29556ea7f4f7219a88daf68cb5241cabd86dd1b41fc78499952537c11c323a43484e7f8aa5d7dcedf9344263707cd0de5f68a8c8e3fd0c1a5ccde2f3fc235d6567c9d623384f697ad00839b5e1f5fc1417181f74768d97adca0000000000000000000000000000000c131920262c323c","message_root":"0x709fb24916df17e7aff0089ac63be18acfb7bc1ff9588dd9bd421507c0236381","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf4a0bc2a86a19cec578b68d504e37019c2de1b82ba9bd33b1310f74413fc387c27b6d6b0d1d87980188bcecb624809185197f1fc92e552d23e05d0c73a89c88462d7599bf9a6f38cbf5583a4fc05dbe15c1edfb4d025247647ca9c8ab747cc309de032a81a4c60e76cb935a5f2ee74febc5c1a5e1fde5a9e29105afe8ad151603757c5b81853feb7703d059503e59063c0145466ec036d05dc24face9e08129691f370a499d51fe63a8992705a1f797aad3fb27079896500977de9f842ddcdc0e4c45de125313f9db1713c9e1b02439e2824e33c4ccd782d6178ef64b147454ca9b8b538b26c05e5016540f896db74bf374cf4223920a68f29567dcfe772a2b2558c33cc1e1b2e991568887802948bb99ca44fa942f1cae4a14ba383034a4374fc512aee112834ef83bbfd974fb091ed2310b9873ec247d5648fb610e937739bc8d60e1dd45a172cc27b6c0a0788684f8670e9055ca3d59bbfb8d18b4bab45740a011e96edced66c45d9efdc3662adc1f68af6c1f7f4e68b66329c15da2cf983068c263bcd7209ed35f9863eb9e1816348adbdf82deb080b46deae2859a790d59f86d696061594a0fe45278376ebea04b7f9e58396f87079667864322c67f50e6ec144931e1ce339c4925f393fb2fea862b8d40e1ccd406856bf0855549fabe35c8fc736bc20588dc86eb6c451537b8aed9b43cfe1f3aa1166330e4aa3dcfcee9a104e96ea802ebd9888699ef61173a6cb66f888069f890557c222f2db960a32bc00e2e635f7e4c64c38739cac9df71d24fb5d7bc877e77534fccd3df5aa3ca2858fdc13995a43b8a7c32d567474ee947cde2fdcf0e137549213486ae9e2d6f454a106f3608503c0b79567b5b950acd42b577e54a57fc5109aaed706a7ca0b2fa3144847f79553ce9c44ca98e0c9c6dd8472c94205e7e6351806a29fec503e5908a3d1772cb5c3c922bff903985c1c66e1a253eb6158a64aef200c2c15e7bd454cf5bf7511eada6220f170c87335dd4f850ad13f10ad1d1e8f5cb746bdfb1f77f8bd9e2acc4dca0bd2ccd9e12eb2a80a0fe7153dca1ab9d7022ca138cc6d852edbd840567de1c2b4d885a389db56883e5ab22782ad54046951e4b55ea4b03d5768510c6c27debb23933dcc2f028c7f655fc9ca1246460c62dc2f5a114f1400d580023de1f8cc6ba4ecea872beb7324685147ad128b61a50ed9b74829cb93440c154f34ed650a151f939aaa337832cddb1aab8778deaa8e85bbcb620cc144355688e87107f9043237d19e68add3bfef5fa45da141506728c5c09ce2c087cf12a944f9f014e7d5221c16edcb204aa154e7e0955dd46ae41df74f1be96d24d5dfce401b6091d16ad7377879ce4feb281f20b3612ef80649dd99ddb3346265d583f3a801c2de15172f66c2d9c32bd685eab1508be364149a52f65904d541199ca01bf5fe68eb508a843e05a3dbad59da64952a1a05307d5faac859d326248d97ae7fff9d4cd3a9cca2d733415be96e756c8548a500d4c5bc32aeac6489f25c38f89c4a8ebdee99143c785d9803eff0158cbed063b0474ae34379138f89a78763f924e3a2dd082bbad9a0bbc8bd9bd7e4ee5e656e081bf8dc496dbe39c53bcb28636314003d7eaf5faf55ee7776301ff87955b5f72ecfcbdd27a7879c055b96a5e7ce6609d730b5f9c4f6b68f61ff5bcd1cec97d2dd33ca69934ee2672cde2e0b9a9ccb913af8c0f8b58acdc457b6efa1ee3aa5d26496bd66116edcf59d9dbf62bade9d9709453a5c4a27a009cc819985639058eab225bf6dcf913d239a75c4ace30b0a3b7b535625193f258dc62bdcc1abc7cbf5679ce88ea9190c4296c953969fdeee34d1413d05f5a48575c81cb840599337f7af1c83c7d1dc9d01e6c0cdbdc5fb90561bc4ea0e5a3feb208b532a2450cea8f2e40c305d08e5a519bfacd80fcaaf98f45825a50fd9158be151154ccb8605b6469d3e61429498a3e62c2f77adbb329b57b9df1749628ff9e269d5eaddf4cc3a171921cfe5840c1c0effbdc641e72f037d24d1d989cc02e4c6885bb33d3333fc529ed97fbf1d95d477bc12dfd9598faa9a6f67bb9a77f866e6e62480e2ce5a8c3fc333563117a7f70ba131b2abfd450a002fa2d173d41febfc4a0a7b0592be46849401d39e4b6c77638480a60d34348c9183bfdc18980254d8349c24c2f3d3b2b17cf71fcd4bed6b53cc58714fd0f087fffec63bb111a2655564297dde49ebba7859190a93ea610d3460f56918bdc84b8df88c2d0f2dafb442566dc2ba59d8e4c2afc4b51fd71a915a3da750cd827bc80e0e839618d2be4e50eda83e5863e070fa2e4da6d4f2fc6af1b427c6917c1baf224c8100ecbb1513ff7ea9e70347a15793cbbb0890f6e9af7495b127f2b7c4312ee905d6a22391a0460fed6454f831937d1054b364d19187e8f5c0968f2022bfcfbd88aa2711967cfb8c235269745be3a39a33e35ddc4ced81a4c89d2ff073fd85dc48a1d4e662f76626cdb8c516943900f93f61acd7f563ef77b7d5c4b5188efeedb52ddce61bb9aaae5e51ca5682527d71fd2f49af5bdd78a7153ac4d58007db75af17a3ed5b2a56dac9a1d4a4e05870adc9fe6885766b462760d6dbab09d563b8f7829e21deb7107435eccd2b540a55142c5d6e83436788aa2ddfc393b5e07fe1505dd932189e41bad5e017a8290d06af0b351b609e3b6398f7bfc859d5773b8d79eee061018e260014c0416f2848f3e8c51c498606f0c84df305e634c80e1eea1f4f23e89e2af00280d4c9d495214325d402ddde03d212e67da71f4cac924ace26ec644072639fe3f07bdf194be2a4fbf9ff5d4db68e9dbbc4321f7ab09bcbd004f41cedd2843e4f505df738cf2f50b741f51eba63632bdafcf95adf2ae906a0bd07f67d6d5f1cc8f2b85a235208e7d365c79eacf1669e76c1c8b51a27d54c20ad4d059c37dd1c5662ffd066441607931a3a2b2a7fb4d7899931bd5f4439412a466b004f784434524083ad9866a6c755a476e523b49c1521e0a08dd048ea15ef24757e725c1c92b92e5d5b1974815767e98f4cba8980876b6a55fc0f8f76c416c1e409a92834f6216310cffe2556d7cf68193e9648a9ba9cabb8c6e3b1e58fa6fa0b0fde870792c455fb979395ee8b3781de481da66ac99ba2bfdec83068b6a34d48c8a35454ef7ae5f451b0cc2a688020e06bfe9665e3a592153c9a413d9b55b7a96fc0b712f00db884c48cd81e7de669b89e22ebf21535e6c31e32672600bcf182daa4433661ed5ad83041f08d5a26a24ef099670e2e4668cf47ebe4949beabea4c9e3474b7c18b571aaadabab012aeb8d48969f6431c1d6d5582391b269f16e115a46af35945ed7c19a1d711945f4af2f4276d7674ece57446a125f095a3dbf56b763ddff9eefd40f3cdb795f898dbc67caab407106c3b15b6b39b2adaafbd69890d77007c0bba17dd703bd4bafb7a992978001e832b26eff37863d494deded100ec1b1e5c5561c0db56eac2d9f6f372285e96b61296dd22b6fed647ff2129f34ea0df8ee8a23b02a5a4ddcdb0ec01b30a7512bc65c79fe90bd446689171443171028a40f088a8043ddf9ebe525c4c959dcb94b5db13c0439969c6ed604830015daad0ecc1ff37e33e1025c22ef5f48206affa4738b25d5f87bf354","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xe6cf596127ae282df9b16dbdbd6abdbcec352df9ae653fed38ff9d6b3d937095","signature":"0xa3492a4ed72edc4ec7e8ffd277bb47b604a2cd57611cd209e14af16d98571edf360876bfd7b74b6de26d5210602b9412cb6dcf7a4a914688f690a8e61bf757592b84ccae5285af9319917a569f90a982aa4cbc1256d937ab2cc389a7bc62c2e6c1f500adf3c6c69bc6561ab60b8cf33f6e870f9a59929e4febfc50c173c393d2186e00191b74e79a01060b26aa80e51e84666b0e66bc5137cd938aee7fc370eb21637ea155215dd25318c7f366a34ddcab7c4ee91d216682a3bea48d5cdb4810d7f807cf531eda549812c6f4e47acc740f45d92bef02cc4057c6f1c3edf5cc5ddd8051abaccaa9f36290f02cb56238044bcbbeadd323042f2c91104e1f56c38fdfe43d268c1e0e61f18936edc429200816e25affd595f1f9f6d0b852d173a0afddf66f982a175eea5623d9a3569280d3a4794a04da9c90570026307b4d7d2c46407a835e678139d87be4a9e71d550d86f4759337943b6b8302fbc55fa8201397d6b326ec6fc9f32de25c8d53ecf19947fd839794e1ab0610a64752bf59ed087ba3c9d1ecd74c3c8caae9b9e453ecffdfd4096ece5072a60dd9452390f192997245bf9bcdd746cb0c4879dc97443b5d75514a986aaf22171977f402418ece2016b7815d7a87e63587d79ab584a1bd0577484e800cc75c01e3165c2b847a3dd87c4b573110365125d76f94a55f35adb9c5dda9a795adb52a931b69a1bd00778ed3849be63747c4a12ad6491c735cf6e6b3269d6a1150b2f3619a781313432da16f627ed4b8e0877ac34a5df7d319e5d47a22b6a679c8e22f54e374905c40e2ef84ab9186b15da311e3a7369e9a4293860c5eda4c3838721872a60e35a840cebc0af121e3eb534d4e82760ee93f2e245ff9f8a4e6f977c33c6c9b0e1ca7cead5d23f64567894eca069433b8ee99e76c3a63a161657cf001bb7de9193f54c469d4456d086d53cad9aec36f986b5c3f39f2a3e65a567157471af60aa9ba24873cd42b9ae247a3daea98fc3abf7cd18c57fcf26ce6a8546778f53d17d57be89c54416e84274d95b12607955b4cd1f96afd7740eb00f7cf5968fe14239b25465b0e6a6b7b4e9c1756388d95af4d6283793fbab1ff3d0aed466e4dca449a0ee8178abcee69e5f5af744eb83e6e95634be034e30d6aee582fc0198f3947cb796db036a2298ff3aec869ccc1bf691c9d435c2633b15414032e741b225dc15f3e85b46819c01d80c675538c120f9387690b5820a859ef26e56dbfa12c518d146ee73dc98ebae6d878e3da5081df5368fdfab20116e51f1ed772df83b6eef4fca68c3ab27f5d476de850045c5037c61ab95473fe7e6ea737c88e3b145e4bd468bcc48129f3a6400d9ec2d85fd71217a61a4a12afc4885ac64f392ec0863dacfaebf262037684cd9f0fa1a5758c5ea325447a07cbd6a720e82d0548f403d0b9765cb13e361ecf359413beefebe159c23aac04f5f4f6d52154155bac64b587507d6848674b1ec7a228e8652709b435acd0310cbb1b1ec5bc8675e3c2c2cc2b22fa8e5f69497bd3a6b216d5d77e922b2aad31bb28957e16b44c1c7865796b7971697ff9c9aca0f681e4244051b355246a086030f68fa153c1dfe99f42437315988a51d95d66229eef9edd085135d1999a979ad66f095eae1de061a9eaa76e4286df03ee9159756c76b60276b56eb0b691d1639ad18a1dfdbf22dabeace636b2464d613ea41852e521a9a470ebb2f5eeec7fd1e20594e3d8da179eca9a9339b521fcb5f89c468b0ffe62e4ce650a8fcfdea8263ddd148b1f7eebd758d0e58ab86c235fa4b4b7fca8fdb62f694a99f03cb7282443c562d93fffc3769424d238df80b6f9380d5ceca6c3dc8330bd34b2785570660ad168d02285d9ed180d41cd8730e3ea50a3da8dff020c66e890600f8da2007f6f30aa448b1a7e07bdc3a01ad404a7a9b975f035d91374e8fcd8957cba355b9265d8db65a85cd83a7bcdd7c31cf926d4dcd43a4db51a6ced261c30d266abd379e64c47b7e540cd35cb5ea50ac8d80667e424c8407bce84b539cfd3f547f5b2224929578417f34bf143c26310ac5ed3e8a894a98a34a96e3cbcb9235608706d5307f14dc2308479b1728291c35ba465d5ee933017e068f061d5eb8ba2a5911b0fc8077831e4ff1325097560057e8682e81d82bc24834a7e149e604b3f1dc377cccf6f946cb28d0f25f1b8c8dd7d41ced8d22ab4615e5a5b15e222ea474a039cee5659b4cd8b9d133a2c3d3b396062eaf4234c02d0bd8d12c46b5a4fb7a36363672f86db6e42e025c73aabc306715446cdc92fda040086dc7db2c96a73ef1bab94ed393b7dbd895ae41e5cc599fa30ce63e9b3f961448016875cf3f48ec647edc4fc1b181263dbc03dd5c3cc6bf8d40c325cdff36a505c635533b0cef13140b228fb8641eed4c2ca23519a31967b904b278d044ed7180e5008248399b4bff727fed96263f7b72aa31e9ddf8642564c84ca94ecafece55115ddc9d52f12c1a4e53d237f54c33f3d696bf649aaa02a63afed98dd1480ecdfad0f794d173c778deab97472c102ab88e4eb2ac2860258f10e84d0dc98888b34adcb386778af96d4854eeded515f790f4f74701bc13b54e4d3066e1e22fc8696cbb4d6d1244bc7c69729ab4fadefdb486c1b99f0671a38f01245dccebc80387331cdf58c536f9579be8b3a65a5747ecaf98d81fd18b902e4428ffa35c188165f9340e1a5d25356aefe5752fb173c5a42470371614f94daecd780f452749ba6e6d457580cfdac128e3ab3cc52a4aed2e59b42f8c6fd344d890c7b46b83eb8644834a7019cad172dc05b3819cb39815f023de4a7a3acd3735fa78d1a30bdf5f7c414b47876afa7ee0b650d4bd7b991cbba2f4981b52d9f89f4a5aff4f63e32ec9b198c246de9a5b016a40b7efba8ef9701b4dc0e3d7369cccbc3455d4dff4d2e7ea0d7bb9abca5c89f44bc1b9e8a215aae49d6e2ff2cac9600cd0c79fafb5beb8f11bfbf29bd5307a021f602573b5b73bbef008f061c8e45d4e1333e86fba3aa82b03f259092b0b69950e06e5f925ad2ac65e0e6cefa77d69d87f39f447c3f940f15fdb3f055ce7cc73354afaa4fd79e46fca1d93d2d98a8b91a47735d4095eb0c4afa8952db1269a7b2eef92d44062eb8cdff3a7143a510b827108d25bd818dcb0b839826a056e262c43d6c42b77548a0de3dca2d9ffa1e4d669c2a33d0f151ab027eb39f100f73b92138ad692c1b1510fc922ffb1358095a93d3ca57fd80c7d329fa45bdce55b5c5cb60f13260bdb0b5568a864b4025b42baf3e349dbfd1c06eaf43c93b03d00dab52dd1edd3789f714a80aecb6e2ac6810ae7c3cb8a8339f2d053a63161d2189ce0b2993af18b1d52a910b6d8b8fe33d79c29a8a799176ff704a835694b0433c64ebb1c5ebcce4b2d22df9bc11748decc87a0027754c9fcc414e6430c75db4de6db4bd1971ff84b074a5f9fcf2f63256aea16610adcc8fe874d5b75e8458700095bed7b49574000662ab7de97c87f5339489023137389a788d855429fc4ab70c5130d094e4f739ca0d275ae385f7723a7b0eea77c96674f39dbd2349516709acf6921bcacb41a20e9dc81273bb282b11f8062eaa3a91cdad0c7772768a760b644478eae6c20c9a4bad0cd234c596ad885bcd9585c51207e339c042349c1355c0930e139d187615e7367ed451fb8b506e9727e55901bbe1ec5feddcbe5a0a19714ce8683c5803a215d41048b96101bf71ce6af2889c262c91e58abc24a652e575152e28833a2ef1b9ddd431c97224dd36522e3727b01c63129e9fc895e0b9c3c536300f13634a31490ab4d6d9d5d6cb307e9de7d8477def545fd8e1bcfefb2934217373a5e11cf5004355fcbbd7f13e6164f44dbd249b849b48a4fc4fe88fac0d610a174b4d5d3af5c1c511b99434d057c2d679522687e9e8c76bcc472436ab73d511a635644ada5b9d51c863b61bc5c37d1b4e6231ed26320e42d9deab480c5255364e2f262386a208479b201a1bc727020f4e0dd6fa85c8c4a0e13547b1c272ffa916b832cdfe8ec4f8620b74bbf6ac7aec2515d98d8cef9d1c9c01323312c00e83e7de5bd92e7f752c240b67314693ab79493793b1b69f71d2733914d996654afe1a029b5a178b5b24d01795bbd11a665263627aaacb3379f93da159064ccffe3c9f52a7e3daaae3a13218113c3857317e890a592ee20498fc49e5e5e7569bca57a95077b0ac9723e661b26a83149c01e2d6d645fec4b6458c0356f60e98adcc567970b4d14f5ae3a2e55a56f04df0a84b1513b94ce2fdfe8df08578ddd3b1b35890b8044c068969e6c9c919a16f516d79235717b3ab19941e1fc615d38abe1cbe34c7a6da13c3660fce4b6e90b1bf90ee68cc57c421523f4fce42c1e34c81098440b723304863cba7cf91615e6585f6087cbf47ef24b67d0c587de3f3a6415e183287935b34b703eb9e9f0ba8d951bdd5856e793b4976847312f3b34328a42a3820ebe123adbc5a7538629cbdd54cd9153322434ad833e872208163417405176b41fa56338742ec366a1aa2bbaae98e49bd95b161f00dec1baae3cea0fd8fbb7828c3dfd11ee4e101051ae9e8d32e33b2b5310c8f6ad7a6d0e453be65a1ef3e805dcb5f4e80a9fecbd4ab1b77c20754ec83f712e05feccc1ef551ef2abccbb410dfe26b6a395bfd917e42f92d1d95f7f64661a9b0e8464284c6d8beb5c0061fa94f335166b6f262d753585b56d48704ed954af3a075d9494e3d59a96193391df0008a34d6a6e921d8e21ec17d83ab03d379fcb061f92d79c126f2612883937b2eebc663dba419308246f73a030228357b8ac81ee5b72ee43eed65df80ff1b96e554e62a142e94d4b07dc43f2d4c9bd579382e4236f6647e72a134447530210a8c4eb95ca030b8e2c2ba32576c371e4e2d832e89a5fc26d2621e480ccc566546eab3d388c6046077d4dd6de6ad246d1c92032ea1b5ed34fc7c8da310eb3cfa9134288dc1d96793d19d143346b4d0270c776e67ae0acefdeb5eeeaa18ef30be7f89d8678a9bff1be3f76d776d916cafc74047308b54afeb526d11e90e862c40384d7b6dc137c2b2f848d5229ea010ad9ad6961d719f708697169c7c04557e0f68e18ba160d6a48514707d27b3577f7b7a1434a4f4baa850652ce861fe7d0c10ce230cd1f3bfead1e88fadaf59bc7bf295741c9d52d2e1d8b5aa53a776213739543b475076cfb96433017c0fbe7be6ff825b6e4334481f42752735a988753ccf137e0461f715038685c5241593f6e76d68f57c9681cd34e2ff06b615b874ad09a7542e5b641cba859d43830f6294df9537c1c87916247daffdafc23c71fe350d22c62b28126eefb9da0239123f333f6ae3f86c1250baf1bc07fdad54e3a4887f18546330e5f0574ab72fe17f2cc0c9da77c068af3d59022895286cffb1f50170096fe089041ee12494fd8fb590c65e1d1a28f7b4dae261eb38c833ae695cba049dafcee80d41ed545e22efa7e843ee26f15ea5b062b8dfd96c7fb57c5f857bcb29130f157eac8ff044286d5bf048ad6315f0100ddcf722ddc87e4737cc10454337956f603e7102b9e45c88913e4d1a7f695c339c90d3d1fb13ad51bba6951fa0af19647bf5542cf1bb2e25bebdfc8a06e8f2c00ba99ba42980b3bfcbd375785daa0b0e615e33d0374fe334d20763bb1e42682f506220623b9b85c573995daa9b7c5620984354849cb192ea6f409df07d21e3b31d24176c71655ccc46f211080cb94e7f01cedac3eaacfe65b1364646026cdc69cd783ee26afabe594c5b6ae4ebfe2e65a14be8e3a4033bed4c0493148d40a4127e2d68cb459102865ff64cab0d9bfbb24bcbee635b1c095e0dddadf187e5379587b2f0f4d5d61f6d50f553c29de07dbca59eaf6fba3cb41d200e285e8ae209519ac334fc176ca382e498e0308d129e888ff50e834bd1bea34fdcc8419ba0978e1266a1bc9a421398219eb15e0c5fe18816b57ed136c29f5d089facf9a82222dc50057c010c11793ea73692c8038b6d05107bb3969b2ac7a8cd6e8935cf75da7edb080fc6dd9b844ceb8af013fc0747801af8510239d5e2e9287b2ccc07e772ebed5b6f9f1932397a3c63bdabb5d29268281e3e21519ce04cb4f498dca08dfd6fe876d2b2c4a8066ae8ddfcbfe1d8f9d766d860785fecc9fe46f5f83836409173fa1675b1a768e8edd4f7386726b32311cde3d2edad60189787e6ea2c79411ac711c18bf74fb97dd1fecb3cf6f07d95369bf257eefdb33a2d826c7c5b293da28abb04965dbe55ec7e6ff9c205c80138e808b3b75cd98eb0ec9b49dee65e1057f4ef9a403d8703f51900bb336962b399a0abeaa9268c52cc248e8c5e91620902d11926f6b1bd9905c9375976642a8852af3950c81a933a64adf14cc701c64a96772f10f45c6e128babaec6e1306fa0c2d70850525f6476cbe5fa11172c81cce5fa474f787cbcd4e1119297ee09459ccaf95158717584dd0000000000000000000000000000000000000000000000000000060b141b22262b31","message_root":"0x5f2e8d7e5ab4d7fb53022972242248af1bce67013127889a219e58c067b66767","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8a1b2dfc42b347458adcbcecb162b39514ba5168bc72a7d00816ecb22a52189d70802654a3dd90beb82c8fe64849af245bf4bd53575f66fe00a7ad699f9085fda3fb72063f726cbe1ff13e9c57c3b8e304afe0990193354831683ab6886c5b63f1e0832803d7d9e4d238fedba252ff7f0b427f72723dc8fe879a0aba1d70ea5320cf26192c7e43679e859a4f7fb976255ff965b0bb4b3fec3759a608e01f1afe2f3bce8c2401eba05dcbdde558c3a514dc3b56ca5fd28430f8b95f0360dcbaafacd14af6d8d8f40aa68780dfe77ebd45b776618a13f67046d4ef05ff7dede1a789c271228248d695da2a7dde3190f46fafd25065d2165cf40a7868e92f0e611e5eba3c7f901b278cbd8078db6c1c6bda55a1c4c824bbb1cf7717661668601b4f751fc756b7f3fe9d508df480f77cc589151c75d121f21490e7e572d1775885427ba41f49359eaaf097c7da05bd573ecfd28b957061a38f5be8781a1ad3ed776ff4fe488ab61f8cbad99a7887e92778c5715ad37fc88084ae9a3f283e4a16c1ee7c04ff44933273701afe78e62011dd82b3859d2e68c2e803fb040aabed19509d7b07c4ea1480598757820d0bd0e8e11b6f6b18f35dfcbeae91da13934e7edd7b57ca92089cff95ce47bdb941e366226ab30a6da74adc28f60f23ae989c44e58692c7597607e8d5aa3ed3ee9979cee1622b94596e44ed926e52f5268b662d27d6e3aa46dad76eb2f5e01a0d41227c9280a07f81e65f0718a8bc8839c4e0647c2763974a1d03d78abeebb52b7585e9bd58e5628280a7f60806eaf42099890d56c9207740868d810fcf9f663f41ffd31c1d8c247b7544e516c27f6c709602db487d2cd78039f538eddad7b1615bb0f7bbc5a92daad7d816d52d8e89938e336eb40ab2542ce5fbec6e5c08f3005eca03f89d049507b8040586ecc824d7b78b78b03224eae02bec5450c0262f736a691e28eac7ebd7617af2354747678f01ed878d9e0a3ba5a87eafb41d69e7220fb86a032784ecdc41c47258ef356bd505a37b61a9aa1eb25102fda0c0e0d405f0546c5eb28982e95b2d5b077057a8ee616f311e72ddc061bf47bd2c10935f189daaf81e84e5f993dbaedb9ee99976a8dc9d94737f3cbf8caba5af45eabdbf1eeb6c141461fe903544e2da560b733bf3ee252d4230c3b9cb04625a636dee4da09a36d1121a9191a5aa09eb9fe6744b46d224e5920374537a91dc2782833836784bef175bc6f1dc1b61145079cd0da7e9bbfa3d9abb6bff9661e7ba81e45f94048d9a3aeb0071f29c37d30bc137f6667186ac3029c02d83ee0bff8ec57e9d533af59a0fe0569802927d1e40ddb6e572b0ba4a2b9817cd47af740af392395ff6b33997159774ff81cae2c350feaf0373825d3836881d24f2935b26ecaec72a3c17ec27bdf42cb7ddf414cd29c86c307a27aede28ab1c473484a2456c670bb3fc72bbf7fa216d7329a8090ff4917f02d0e715cf6fde7cdeea69a9c6b71d0eb2efdd5afedc3bb8896cb4ebe488986a13f8f037c68255d7745de9cb5e5963eeb49f6f999018de0e15e48e4f4ea808d849081be8fdd1a547b4737cea42bb73d6b069f62eaedfb6e0afac9d3396b58374bcc65f64831f8a8475c1174fba4bf2c066c89c223b383c5381f112a44dd2cb7500eb133382f35e9e7f58a7e19f8227cbc280c4478119bea98cfd47010800f3ec46a0475673976327f4fc0d18711f2be532ead0be6594d0846b303b3af6342d752f940986f69b8866d2a442650aa9bc9165c5d2370ebce2d322042a3cc69bd0d044516d874dbf221c76da818d4b08171fd1a3f1cf3de3abb50bea0bedc2fc6a6cb684bfca3b75ab4b97f7da60e1e1c154d64efef297b7113e7796034d16d34e933f27cef00c781f2df73a946ba5c801d0ea1d764a4ded7545d92bf30b24c33922b10cf52bd46daaec083ead772e6b6992941aa118eaf13af80e5a20772bd0eb66173cf291ea70897148b4a4ff081f4f260be236220f124ddf51d98d3d65be6f173e5ace6a46d9fae5d9b915f1f65c9cad10cd1b32dd4fe74fff4b919a999be1a759d5d6707a5c905609777ff1949f3b21c78d0fce5f29189f00964b5b7a2ec3935ace8e6ecd8719277e13e1b043f89d2dda685bbb39ed2e34e463ff575edb8420567b0301df41cea613b93c3a38c6882017d918a6a247cd33dca6a97f606ef34c1d5a06149fa060d075a86e4aae96bdc46bc044ca4b159d23d6018c376fe780f0739506f010ac38ce473bbc61f4badee43969dcb4c42f49f16e835a95ebb592dd3380ea3e0b058240219106fff2f32e43ed280636b7e3a3a278088a7487bf6f52e4783033ff95d0128ab3411e1495ba115941446df6742146cd7542b28c2813f36bc6600a944ca7f763a6c54c68f948d54e2a979a066d4360347ff773452eaaef57a167c29ac7da39119c937a7ff69bfdec029a38de96699bb6498908e8e5192da628b2c9a1ccd0d8983504d923c40609e9d3d0f74aa331dee82f4fe7ac8cc37a6afc38fe0df8c442317f0c7ffc3bda9e6775ad88d5944b95659399ad5e6ad4db8254c700477efaf661b1b8ee5af14896134b60998ebc1e8d2e9edfe700b415f832c9cfb6da3bbd4639824c3de17b65f88d9d660e965f9d6f466157a9c031c7b388fb49f52fa75a6874e635d70e32b417749b6f9e0f2bbebe3b38b16472c7466d0ad5a017f4ebe3d73e33423888a3961ae90f64ee0bfaa60cbf529b4d30bbfe987cb7f08faf26a3e734bb5930dc37f11f7d81ab79687f8cf68535df29d7e54900055c1b91141a271525d581fff6d4abdf329cf481dcc8f880ba3993c913b5e9c33516219c975d284d45669f855a7af17ad47628ca5aa183b424471dc2ddafc88ab28b7ee7b4dabb0f77df51fecfc69f92982278f5982a581fd58d2b36d38f88c6e76d93d2d72926a6a9982e5ba55bc39144b83f1d8ef3c893f666c49a5d09a89b98ee3a7dacf6b0f7c775a345e2f7649c8b33a07854ec1d9c5d5d3f1ec7f91397163d773abc49554836508f4b8f4a7e61b2711652632ef72c5d1a122d3afe88b884e2836a1ac419a0656b62d6358f0824aac1120aea829f11133b9298d9cd42c09fe8d18ca8c4127c3057832ab849088aa40814767f584993de0db8c2616cbdf56faa9c1a74bedc0689816d23bc17056a9f57a1e8206107fde206a197e091c88e1aae6814a5e668154c0d184f4dd404af657389c48ac7af437d8c2fca1d8a9397e8f79f88a910971ee150c7388a56540d716f6eaa41e4293ec40b9b54facfc41786361e9168bc1601bffff2318330e06cc442e52a2585f5f5f36e78410064042c789b6991661aeda4e43794990209eb195cafa63f5ec8bd2437cdc9d48d0994e8bf48941c54cb4eeb7982febad6726b542e29ad04373d4c55496b5adb5b0e6702ab7319a38d83eca8261e88808184c5706eec27b620624dbbaaa46668ec9829f051b943e828afcee9221f1999133b030e4ea36776eae59b6ead264cf5271ad2f622d72eba4af704742cde0455f8ad521bd63348e29aac6eff6df095e912adacb80ccc317c75273af7644d999a3ffd499929ad64cbd5bfbf5ed045ba90dec5cfdf14a3d2888f518d7a1f604de8e2824d3f0cf11d2a591361de789068e30c630d9bd2426176e6d24041","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xd0d1032a32be49b06728f8051fa194d715dfeaa164a1fae6d5cd9b99c2d5750e","signature":"0xa26cf87c0badb613895389e87c540b75d1cbbd0192f3147d2718310e355a884e063b8d9aa4f717e84170ac3f2ccfce86cd6f6fbbb5ab6c8ba9d14f7b9f4b10cf9e09c1ab0a34abd3dfafa8bb8083f5df7266967093f42cddf119a7480c29ea6f828b04d384b5bc64f587c6f794f12e9239e44b70e26137f65530aaeec359ac2fe98ab4926c48e8d0b2caf12236fd8dc7315883510799c9180e2880f88f05cfbbbd4dc7e5edf543a08b6a615a9806daebd82eeba2c1bffd3dc640309edd38704095f4a612e7318b9c8552f75c0de737f4fc5c6e0184ef77874642a3f4a42a7fc1af1ca69b08deab78b8665f9a38dcd5bb13495444ee8ec45cd873c43667e66878939516483ee5a50d089b6323c596dfc850701c4fd84b5b535049b05434980cc81cdb279eb520c9480368d2b400ac1d8b7613041deb640811419af31df87a645eda13da31867bef91433104dd091a92d435f4743b3b47b63593dc878b1d206e206f53182c4f81ac59656988ff514961d28640b149bba0897c5103eb57f2ed5db4fd0b1239addbdd53fe9cb6ff569f6784e499a5f18b060c8c7dd3e51d55caa885a4789dee71f0830b1315e8733ae1ff57376199ca03cc7e2c009232b993d3f9ce1800c8f5c139d44ce153f7f9289068a894d99f7e1dc864622bd670808ad8537b6381d515d59798f6e37bcb907b32751ade29f995175052248ac8fb0ddee50db5498f77a21ea2ebac57856812ebd35896a682267c71e48eae47d57d484a474a1f89a68c3104d05b704166faaf5f5a70821544121a2500ff7b04c51839276029f3667e8d710d3506afb9f4fe21a939c75685c564eb3302902464d301a7eefc7871171210bbe2b79038ee781e42c695bfb24b9364cde4c9247f9c03771e8264c72cd0275a963ff5857878adfd50364a34de0a38379b52b025517f58e6d5bdbe6d0818577e0c3f5dffa25613b29b52dd26d0710d9ff271668c619a34c9e1829c0963c1afb8c6e9a6b267b24b7f49c593717078725192c58f17efa62dd3a3c02b530d32ce4672c5326a9bff6aaa60dffcb136e21f255a1c990b49f156baf2c97796dbdea5a834276b62105a446ac1fb6e5baa134ff74ab3d2d631744387b9fe154295ea1e537d06717bd6a69ee9a63cc9df26f0add99408d5ad863ca4d0b9b6a77bea2ee2f10df0e8388be2ce966bb43d8ccf673352dc9d83c112ba713afe102a76b7fb946d2b0e98a36758449e8b9df193e62f13dfad714ee61507358d55e5ec1b45186f6e6a8e7f7758b0eed705d3e7def84c616a78c2a48cffafad2d06b7d20cd81b1f66e72eb56d592665575b589f376f788139cfb2ef861575d27fbc343e6ffa4d52e7e12b2aa9a9a62940c296aec0409cabaf2a22fe78cb17eda7974ebbed72964a4cfac576ec14aeea9175291c1e15eefa3fb1ba67274e5af73e84892e0039e1d59d9b27ccc12f03423033ae6c0f3b32e1af97cd018bba84abf50794fd21c54ce3335b1c9a43c1000c8c9d71e02aec8cf3af7f74ea4d4f5537bb34510b3692a1e0da087fcd89e1b4164c348805e315887ad3fa911534c7c8b6acd385f3744dfbdf8f49e6f3378ff99f1b2148a842cc08adc65aeec163123be245877383015db3ffc0200a51118d355197c3a998956d7d4b0dd48165bc12ad685f44d22dee039b8e6738539c206c87fcc039a273e66c466ead79e4a629d6869133d06c063cfb62a92bdf708576fe991fa6dce50ce6f79d3cd615888659a264fa1b8a614796798b04674c7a615bba844c35775ee78116b4dff81669661abc2d8c26f9e4624c51822f10ac54c5cf55a4b659643e533242baaad77d3f209e589d47f9039fda73278e6be851eff7ee5d8e1578c769f0f775e3a3bc69d1b6c168772f635828886b63c50fd908d6e0cc88b94c44643c1eb13d051f33a766564125635e03567e33ff03492523e6e2b76a3e6f5ce9e63adc9ab2253e46aaaa95aaef0f939aa361a049e7354fd79ff13fe4de038cc62a906994bfe511ef9e1efdda70c67f26836b08c6c24c05717d472c196fd18c9652b468b860b68f0873b73337c1187f8151c7621d9e7b7d50fc54c630f9d88a2c147deac277e906c72a4441e66ed69f88c8985ff8da9f3392921a36f11fb6ae82671322ba292679d35135ef02c0110d30df795f54ef1d2fedc63c831516728b5975d704183d0d45555204880174804bc0f8345c399a6e2e14009ca74dca621a58647e79908c526a1b2f6ea5409d2f8c141d7152504393d9870386d826d8fc3052b7b5121bd9691ea4e6740e3e521d60d68eb76c3cb2dea04423201a284217e019028f7d5b1e9fc49e8eabdff3ce55bbbea791e72f303c7a1f218793a3225b917e8b4fcd9ed26ddba52023026e86be9c15910c6e792310018fa05d6c68b145d3987d2d0ed334e4171a49674054208ad287d712c21b3249a9e6021b63d9303cd5c369ecf5350bb899e29a5fe7de71429e80a787a2d7fa4fb8826c318c3ccc134b013cebc26bcf9c86526bd62291b731ed69fe11eec9a2a43f58483fefdcc13bd89060327e829f7ea42ef90a01117c1045c95b62cfaa6df742c0ae16d3d3269374f5eb823d0d13a61a2b1f0ceff0f9cd0baabbae7e766ccfb6eb45f9e3f80447d566ff2b9d97f6b2ac5b27ece634010e170869513adf7de9c73cc263c492e4a4678d2cd56b686e15b1a9695b8201c26df1263f2c64816afec6a860c6564bfe1c883b709785035997de96a569197f7d1d1674138f135c9af11e80783dd27567257028f5db1407374adecdc133240277cbfdaaaca623c3ecb04d59651f9a7f9a21e5bff14a746443d1647105929ef9fc3168e140e8f9b922b96ea04d84140af123d75dcb381ed12d49a667fa60d826277bd3137830ce8a1157ed117dc5f7e9bcbc5626701ef76847672ffb7e6654059463f6291b8ba97d7169b88b44a5a4ef2200b9eb9d724023bef30921fcd22ef4eee6a39db34bf288692275ae3b6803c84a300d14a51dd9d8542d3e3add50a320e3f0be9baa959a8db71b0064e34c47f7c5bc38a348d4dc0daa335586fa0ac905cc07fd3a7514ee5ce8f1ef06a6e71c56f0ddf568ee46f8dd8ebaad6ad16197ed41ae17062cd553eecbbab44b66e866997eeb37a1da3a8f28d51b66bef3b906f38ed5270987fe4c46b66659034f837755a89d9d9cb39e920261b423a22b6bc3fc674a186b8fc9bda4eb22564ddf6c11ec82a8732df50050ef3c2591287f80efdf96f490730ca4d706ba55dc7741d99268dee2ca890ae1ac7d6e6f2756307899d37c66fefd8119494daa33bc79b3203d15baf9ae131db1553c1dcd5d03f11805788835ce1099aad6c98332b53413adae077ff8969a12b461a73afa8d687f099a570214112fff7de7c4f0db4795231728f2b473fcf2e3a902ca9d2814fced527442dcf1754f90ea21cef7c1983f17ee7fca2019689c05bbcab16d569e53c86208e6eba0a3f57204334e0b573e7ff9a6ff72b4ee7d6539825e67961c4b8b23bfd5ac019a6d9a7703c8ef2627c115acebb335613045836c1986724ebec0befa60630f78d352fe07bd1b70fa6e8ac90c6a187093fde9e32ce5f0122e6a18aadc1060584d6404351363741f5cc237a70b47df09379f6fb4ca0315ebb827d9f32bbb31aef3e1dc4a233b0eeb0d48819990e93647580092a809470e7008befc4bb88bfa2c49fabbcb2f06a79172dac5abcebb29f1e3995c41e5c1fd3232cf1c707de0d25b6b931aebd2886dc245c5d97e1e7ce14e4e70586980c595f29172a537a0952fe6a8f391975719e0141d05769f97346171e8796e004e48049585eae83bb93390d2085fc31e2b8563e852324227117901b5f730722834c1f92f0103fba0058977517250be3211beb7db798cbb385969d24e18bf5f64584988ba6e45ab3c5a807dc37d6d7a6507f28fde4868f2b757981cefe5ae36a312bad122daec06ddb32be5612e0bdaba27f73ac8d25467160da94544c90a7644d5a4f9b5dd49c0ca2705e0952b4ce4914e7c2d1f00032ed33abd0b9c56c3e61f0c14cdf76ed8561df9e25d273c3eb162cc19fb282bd190d9d397be24aecfc19e571e02c8062cb395e47439a674ab94d7b58da2e334cf970a93b8d92c3062102dfbc6ed1c10e6c9461559ed80e1e81ab4ca5411f43e38fa1476ff1b83346f3b71d14ce7a3ccf5c86bb829c3a68a8e882f625b80ee8ba1764f7146785759b3b8937c41108cc02353a94d68e45d8c25ad43519b22b48bf6cb35cbc70a912f12e7ebe10db2ec9a3cacbfcdfcd809929b91799601b4ea0c0cdef2ffe2305322260e9ac000770267e3b5f4e3e2345de307d14ebca5881e7e9e32c996043880c393aa54cf2903ca9ab9b92cd2b0d1db3de17e783a695b754cefdfbc91100a03e01e2013e395a8ea9a5562557788a79a1fa51acfc7f2a44207560e36d6ef4fd4bc4f71f732e635b3abf03d8d6d74702407b05c83c5c97fbef075f0d7445be5013d86ad9d608e9a3811da31d55cbaa1200d9e4948016ebaa972c32b9937cf84d197b1e84e4820f9abe6afba1ad482151f94dfd6cbd8e01687d48aee29aba6ff7bee8d4bbc8adb7c88cb28d3596f864706a3a1a082ba2ff1ca495dd461396779820b1445e7225c7c623c3c2615de7740df4a58eda6429d38acfecc782a6b5143e5a81d513093ca1a59e1a7118cfd54d6d97d2fa40340a661f083f5cb8b4841d418d7eccb61ce72291b36f331f44187134b40d759cd12485e543a70d35d92f4cc94f8beb9bf7dd34c7daeb0de51a45b3f0d28ece4d0873c8cff7e9de6e3d517ccc219c9dea47aa6b2371bdb12451c7bcf4498257bb264e360dc732e2611614cf8c00b513220ee52b34100290ec8767cd8bd99d28d7adaa5d6a461bd87e9a30788b571f05c6d85e0b99fe98739365318cafba473b11f7c492484a8e2e1610d72ace48450f1c97f651bc0ba40d64bf4c66b9a0837bd9af1e430844d6f9f74320cd96163fbd4235074763179c93509c8930b9228c48a33b18423e6ddff4146aa25a1b3f6de87e961a1da1abd9be31634a41892bc0ab5ae42fda3bc30288505753ac7324c6d06b3929dc54a70f62d68a34594bd7886b7e7054ea93ffda9012ae98a30667a601cdae928a35319ca5b7f771b481743460167a0041220f6a8cbfc2394dce3a882ff0171ef3daae2992fd59ee47112c04c40da8fafcf371f7ecfb571b4e32f28db3bd92d67786455deb18dee00332309baa32c9f84612cf7852a22fe84fe7dd747912c07e65096fbb1138c514d416d623a14844fb6dfbdef63a11f43a3a67c1ffa7656f2c7b057153a8a948fb23dc02a0fc1f0a91b0c7c84a85d495036ab18d8974e43ae3f3e188e8557571d80dde97aa1a89db0d5d10460fefafb06f34d75e95dc6afc2461fc29584755e37eb5541219b14b22bf72893f524141482e98045b3de5e6eb8c105e4fb92e49d90ecc52ef576dde397c6d793dfad6f287d5e203b8d7a46284a352066b5210d660a6df5d4251b7854f8e1c2949bd41b2d49dcaaa00169451f9e5e80776c65868d84707a5b70b30d5a2dd921ab1bf5ba3e493c99d1c25fe59839765fe039c659e57a92a96007679087c1f3fc8cb5330a022306481dc0a3bbb20c6ba3f30e2e9f737a4160d65cb050a7e75ba1ccf48260096d699083966b2351690ef280d6676c9282630cfb3010671d0b1ef4d7cbc10cbb8bc86cbf3b51af16b60cc587c294e3f84ead8e490a216ab640b2cf40b3384c310d141b2918c0e0e465629524a1fc416d6b8c8ed81f7c3c6b753e591732ba6cbe5fab90dd562798e730984319a0f47b89b55953218c35c42be4c86139f8360e0fb7994c751cfd44589c5e1c90da4656d7104a864309507e78a36d86c3bfc073f63d13ffd38f27f3c6d5006fa61e6652644c5011a426769660ae7f62268bb1838337ea35e1ea791ccc406cab6e91fdbf313f5fb110d423a5652b9cbc83d848c6a590a353657bef6253b3425f3b1aa2b793ba8ec8acebd8c6e6f4de2ada57f3e083d81ad4eca3f85aa50fc638ead6195e35b64ebfc188f30c6604aa687080474be35d0d8eaef0da3bc4eb330f22dac62fb514533b4f1761655770e7e90979bf6cfbc3e060dd540fe80ab48684d306e6109e6a94af5be75d356c5f450ea3e9bf0ae119a511405c7a61d1b814ef355cd955dc5d91d08b1beaebf9a4789b18770117df51b09746132390241277ea27bb8ac901c98df4a747cabca6b663ac9e4453c229f59ba7aee65753bc49acdcf5afa5d81d309e8597556e9c6edb73bf1b172f24cac0097dc3730b9aa9f1e1c68f56d9efd40e521c8d5f227d5adf9ef38657970c95c7d5a52e2bfae62b0a9bc51079a0b991bf37d6f1edfb41625ee6d5ed98d68ad8ebcdd001fea3652a42c1f7c7714b9ad2efa632ecf1817bf08cf95a11b7132f5b8896aeb4e0416513bdf71116414a7f9bb4bae8090a1c2b3b4774a8f06570758593a7acdcef0c1324566e839fa8bbc611242a4062b0e9f30000000000000000000000000000000000080a0d161f28323a","message_root":"0x6780e81b8f8e56e51a04c52c0080ca7b146bbe051758b7a1b594309f48b5a2b9","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5e00602af3781d835eec7030f570a733a0fb8b29835732f794eaff1b0aafb998be74aafa9ffa303b125f1f39b025e3bc09f035dc710a8b1299768a5a4331e738f779c4ffd4f71a0cd5c4d0d00eaee21633b5b8da0b4a6b58ca641293ac05657805aeb546bc9bf58cadca172a12da92b38b4f11ce66bc28a70627ebb836350db177717a290486d685c723d99d5d30069db6e87f3533ad56741e88c78a0916014d0edf8775ad210bfe7b74dd359f38213a7609c709d019c558c090c475f018acefe56934e8816d71c7eb66bc4d45dc284631d3fc2489def12e78f22041f953c7e046825cd518aa929e451094d8371cc7531bb63eacff6662559b96b631797c96bc09b7da3e55922d4c77544f5ea9d553d89b2549e25fd4884d3a32641481bb19bc0eac601e15a77688114446cf09a6a9c3b0a41bd7bde136a2329488ef452789e40ea78f849dde6d5f4d5a19359951e368ca1c27d84d1f4cebcf88fec013a5f33dff2aac49957e6095868c6ea6111312854900c47c90dd449c292abc0b292e05a3791883490bb8142f8b7097b403683a0e8b8e319c303b4ec77ca79852f2c7dcbce8a89b2d68f4e38523b50176428c76764c4bcd29b846298216522a1509c5c6d1fcdf560b2c4fde83091c29fa0fe4ee445a7f7ac6e87668270b5311b21bfff8052985f2bf3e16dd8f4c01859ad9424c12a2d4d507f6414078f833efef3202d36135e826eca72afabbda9578e9b1751dc88b16ee7165b29d360625662245d84a50389252f70c762816af11004734999a48c51629850d1daf306fec8dfcc4efed76927b8798f6d74cc72064c3a81d3d3e64e10d7b0c3c3035df9de380e9c26a39b171a831a75ff2fee562c121ffe47d9be9f36c160db62f54f1fd522d0c8761d8b51d551be135e10b3894f1938edd4a2813f6c471cb092592c7a396308b50f851acfbd5e078284593a15feab2f73300534e5be66b9f0c93ce11f652a009c2d3873cf3174f9c2d72848898cfdde8558ae4d4826427a6d157e848a9676a8aae4f0a1bd2c2f2f7fd074a9d599b4214bd2fdcf628140d0c9e693239962e076ee3f87eafb3252c4480c42776ef7680bcd3762dd1d21266242ce6954224798ceea3f36c6fbefd46d7fc88854486f5f83f2e1ec8a0526600c6339ce7dd5aa03e5fa98d912c223360a93789461721ff8d762b1a50707fc914adfc6c8df7bb4e78c672a571990aca7a283b528a21d335fae144e91e0c5b8c7587fd3d8323ae1347c28ab911623f47237a79e7830d9e118365af4c7331a633b296f350100cf419ce7929d31bfe4bd3156cbfc3a37b350105c8dd106830a2b733be854ebf258169a59b8309840784d574dd9ba40e96941027e0b7ae90715f02cdad35b4aeebf030aabcc6e26b84f6cb4328b24b535dda86f4b6d92a0874f2226d7c44a41809109592d63c7a6f95f698bdd744a33919930efbcf9a9972f1a403c33a0654459c9290e44cca034496c7c13526d390af05d70d91b56745a2dbbda26350b2656c6103e8ba9083baf1fdc1156491d5f6e40d211a6bce3db916c06e118d85f0718a0f4512e539fa906ae445e8cdccfddc029987e59bc5529dc386dda5d70b085dbabf48382ba1ebf73b82f54612fa0fa7e112430d1a173c81d84ca99c14c67ffadc9e7b09fe5b2fd25b50dce11d450357ca405e80153c5b3a569024161de14cdda2f1466bda2f552c790be24a5f7e5682b8300771e47d3c749be5d14793a9836af55c325a74d2fc9e6fe6e6f6c8c08cb9aaa78fcdbfae2fd032986cbf86580f115ab2e4fbc5e38e4dd66a00580fa36fc8f9f900e5b2d3191750cabf4c43a396702a6c8a34133b5e344ef8d8f6a8bde87b4cd5605c26dfcfd503a34453a4a54ac6b01f28f4b9374478a7ff3ad9cad27d2348ff8e136bdc725f9bf6a4b12db13906ab9ccf4de1ea5ea2ec626fea12b2ba4c950455212b04bb90fae9390a03b2602c19989e0d43e884dcaf663d7139a7a4b5d30269cbd86c6c3d49e6ce2943d74103a3d7fdea7dabf6859ee7b69af9a159f520c763f32a1595736fefbe426a59b5ce059a9c61e7c428b874ab0db3ef8ece214f3a6650698a0542a7433f4d82b5f54fa0ac46529429842aaa287524f98e3a6a5452a2dff210394ac7522240315793013776a418e922f90985ef503a98a89c6000f55231e3c7af6e67c6c229298f2e6294e104d0e7ac54153493e8a9714e1cea982e6a3ff82da5fbfdb691092e620b312ac7dd1bbe3716d466a0f442918dcb23b7703e7dd3b888ab9d271b14601ce5f1fc9b7ba0e8c2cce10a1d5509b308de884e6e6ab935417af48d2ace87a4dd424c7aa55d5eaccc2ce87ebc6ebaa97d72de013433c890e5d45f35456ae11ebc306526e3e45242668ee3dd3ea4d023198365455733458f2c6b402ecca3765c7b2206715dc29bb188685c5102df5ddc4ee287e89fb6ef4f36c30ee2b57bc8303da88766bb87ab079f4d65b70b3cd1c650de3f0ffe0169c37232b3933bed6dd02e242d9cde4f58d35108dd2db04cfb3fe6353b498a8ca05c9d52ed6cb74b0f8ff506982674d8407284a019e5ea020bc60318e969de248accc29e19e4bf3ccfe398062c41b351f5c20d0007747665a8b060d95a941f5d223b9fe314bf73f70aca847ece5b81b0a2bcbb04aaeb2e25d98ef6c52096a0a796b34b601e475781eb88e860abdc796b3d97fff97f2f4375ececda9cc9fb7c18b3f0e5891e42e69c1e8f9920dded92e423199223f952b7d187b0122c218cb981458d7896bf3a30721f40ad7b67996af4641c8d1eabdab756d1b5fb8ecbb8937b9b301d0bde627d704397844f0f95f7a191c253c72ad1732ec68ee5bc7b8dc0ae1b19ccce0acfbba2f0f666ffc9fd22d176a99436a2048beb2e6fbb1ce1e80b41fca71ac7daf0277af70b92f8ad3c403136b68ed9e36696b1fd64568a14431923e3bfde5a2e930681af70c901bf8cead347b66448620beae7e9a4c994e6034aafc49354726d0ea29dd118cbb751c31dfd8c9c985068d9569689288c1bbf82234b57037f456628094eef28eddd8f69e648439acb7bff4e555e81fc3871ae286610e56783ec22558e83807edfddfd08a0569a8ecf62f85715e589abac2945febe4a73d9ded776ef450bf60d5fff1c5751e4d6308d08ea772ab3040db09590d6420df34c74966aba07e7274a7a12e3d586814d556f6cef9475420f7f99f133a366f041f59beb5b8de6acdba61225df771b89980eb59c406c6a1e5c7474aca2def2a98d336b7c33b473fd161da33e6950685d0a22a353b13fc608c216392a0348f0c191ba4dd43cdc26a0d165cb3ecadc1b30bfd522302e6f3b4c82b769af04eec1b855d52a22d9715144a77084a20b0ced1a070cad2b6afa1e5ea5f114075edf1b846c83e13f4f98129bc71f5b1328d2bb3ddcc0980b25696ee6728fce1eb65a5a594a63a662c1e8ba7de57207ae1bfead247a820628d80777cdd12b587923913246dbab463713c4388ef05e73df8c8464ddf9c5fc0fe61a9d4dab5fb149b8d444621816acac061f390d5d0fffbb3960865a70d4667228ce7bf8151f6089d1411936e9c6533a3b3125dc6be06f6dc0c419d5c844dc88f3ee2d7babf18dbf27c8825ad2214b79dc9f359ed1690005a3d0ab289b05a891b47716","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x89957144ec42a8a3571ee6b488d76c1db7960d9fedee81bcd041112e33b8263e","signature":"0xd53053194fc2125059911b21f7c212bf887a522a50a67fc25a8f9eab82f93a3eb0161bfbb5b18295263e86e4b9323e05ac42a9665ad43055e0f58ab0612785b13abd22a20495445e3620d1b099ed7a14608217b8cfb573e1c5bf4f04ee1c9c3bd08460aa2d89de1541b164d7e1a6ef6ae3cfcde35b9534301f279c23b17981a66297db08d1260909407d325e58c4eac8d1d5c592be4a9e6de1fc6351534253112247c8c4cea86427fe27f100f5d404a9fc5f7fe99958347bbf2c966f78e188a118b75d03a6e20b7e2496456ae8a29ad0702b27f983d6c3bbf7eaa8274787c768f2b64ec58ccd4032267d492fd2cfc3c533df4bd435f39d4d6b126a001bb862da98bb653c6ab3c98bbed20a639888f67fecf5afef01ab86275a99f827abf4a0978a72b1d66b8382cdb31b053509b8d83825250593fa4c4db4f2b351aad8e79ba153c96399473822a2519736bb73349977862f979e105746b1f68a40aae965cc832526de6efbdb0349d48673a9b8bf34e8bbf17aed45514c2c2290b8608cb6678091746151281d8c99080fb7c0b0eeb2fad3646e6e03312d83dfd659508e7b9be869b5dae41d298263d13edba0ea65e6c49f2c632d972a2529f9cc75ae6e2be3a59b16bc756979da85aad3bafcec13d5f871475b44a769727bbdab18120604e2cbdc5f140c70d44a6aa0d2169219f319e8e3aa3c09688bd95f17300a29fb77c5a2b434df493ee063b382fb4eee5cad06033c7f86ae9684de136ca61536b59a84ecfa8cf4508fe98fc6e71a0092d082da8995cbf4dd37bf320116c4caa574a2bab603430e03d486c514ed965f5716feb353a89845b9f6266dac10d040a0d866aa960200b9e31b6b63169147388e4cb6c3d039f1bc25911d4a847f817c91f09bbf67baa571cbc069fefb3ae4a58f4964b8c4de877581bbfd68aadd4596f5b3788aa4368dd6a52842954ca4e83bbad9c197daad45c1897345375f73e104e1d8948c14f07029b082390a3a3127ff151f80b8366781820627f0401fd0c22a5c19eaa9c1ad0c54bb6a155f4a4d63542b63513f39823aeed167ee136c4e698eeefbd1ec7b5994ce522b64900ecb2cbcd025d2efa6cfeac8ee8c6e0d770b78a93ffebed58ece1bc40b4c9f4e8bf932314dc5c81d9530560a83e35715509dd2a9db8f9b35c8552d576a2b50627cc6554c82ba26c5dcc5c813f571d9d21f8610f1a2b400325d9338d2e7bcad0fbb60c00b1796f8c6d8461d2faebd46025b9631b82ec7ae309cc2c726748fd094414d77223ed40d4a9b9a4e1e2b8e66c6b2e6d167709991d641cffb10d58a8b97944661799320b2e5658a3c1b09fc75e22c50f47471b582f8c2928903106d6c89e4c1ff49b59f95ba5d237e432e98a5717f9d9eee1a64d0d90d124ebf181d2e311af5beb3532495eb35028bc9953b210b1f7937b71a6ed2b3a5fdfd1c7785b85b7a38873a1354dd03fbcf6eeca82c3669f7d8a5b8b1dc9527896ce98105cf47e74672307bc8fcdb448121744fceaf1f7d5073b7769c93e570b3826341891b9dab5f55da8fcc437f9d501ab4b832966bf5382c46cb5ee25881883c90263509f0a9b26eff3a3f789460533e822287ff040b741cd1f800979f69fa96a21a8d32a4516b5003d0d4585df750b9eabeb4cbcd8edc9ceb478f2e654898128b8a257f15fb072e4ad7180e0378eaadb758bc792c49f2ecf33143b6c8a1969e24d4570d045c311decdd53dd2528f30b1305ab5f624be6f75a33f4c63e982b08bd3292d9b3818c9bd5832c1b68c34c80aced3281ab2bdb27af56b762e00f9fcc020cc46eca51e81102e02b038be16fa5765cf63dfc156bffdbdc66a495ccc5d12d62be4f5e788e2a5d016375133756b4ddfcb87af6d61751b8a9ef7f9a8c5a5ea1297a482866690b6a5a31083a7d74347b9eda1f29ca7f02b3e7b68ea8b7f92f3cd54e3b4f39a00f90224df06b26e6cd062750bd0e2711257cd2340dfe61122700e76a184479e821c8ea944638a0b4381782a329d0494f91e14012a25cd92a0ad1bf99a6c3026e56af550d2a4c4286c0da55184ffcd2d7f176b27fad127f2e62af606e9488fb06942c1e95e84aaec032f81dc77dcbc202bd4dc38cb390f62f32034611132ab8ce5cce98a9075c16d2abb936c527c4434ceea17a9ee89db73f6f871fb74cdadecebd9b804120c9ac8ec660632defd4ac2766c66df808efd41d8ba6639713b5596e52a02b6c9044dc4e39bf79774276ffc08cf3e9a9aabbf89e0863dd8ad5d1ef7b73663c017c7c883845038279347101a697241309f6dd8b5ca8ae271d4bc4bd5a6d6abe5ed61c182e69bdb1ed3c817ea7dc9d67f92a2cb3077b65bf3f3ac9b575e58ee85bc2024d02fef253f0c3f37ce35a495713984e7965c23779779e978486747159e419286c2e4565d5820722e2868da5d26ca7b41d688a5cec4a83ccc677bb6034db07a0517c9cfd8524f58078cbcfe56cd812c5472d709bef683e2a069a18974838cd0e65c53142e38a89fc6a0c917da852fc137622de093d47c0ac2073d85453040cfc14d97913559a1135879f7f693fcea58e0865de565b6dae623fc8214e98cf6b63f66a246c0d59a1bde6621a5d1fddacc2ee9fb08426c0d4d0e19af89a214ff0151fc8c742b1bc67cde94b36ee2e0122b7ba98803205dbb9ef5f4dd481c74c30783d4dc5093350425cd3a3d9e357b87161d33579d2682e96739eaf1fb99964c19278cc58846b742b2ce8fc500434c37cc6f468014ebceb7e985a0df99f62e391aa66fa17aadf21808e86ce9f5a86136dea82a378d19bffb8c576785df60e5141e2d1de11631a629522e280e00a26cbd3f45e8f627a11fef59c8716554d2487bae19c14770c088a81c6ed5d0a79d31bc1faca514728edb0c3b50d1ce7a4a6cf3d76ee40eddaf086d26abb654274a569fbd9c74c3c6e0da43e321c0c8781ae4bd1cd55b927ac622804384e831cf062de2111ebf48770687ba61747f0272306b0e90c2c0919c0116fc24d1c93a24a18ab0e8fe8f38bc50b6a1c6e9f3cb6d0b3eeb1e78bbfb799fcbc271b4bdb6c807ca11474c9ca78c05a7d71dec3ec32e80208d6ceb76da763c2598e7e66f09898178ded7703b8021d381a18be5a34dab5293fcc4f35ac9e19bbc6e6a2f439991739b15135b660b2c0a4bc8b1babc8b8845d8531223b0e86d0657eb0ece7e22ec864a59e220313c0b701035dcbe3484316b4975ef826859a89e2c80c8cc6fd4a8ef407cc9a641904e9a43901c1590e845160b6ef95834408ead189e2503f6cc6f3499dcf321fccef984e98ab0fd65ea9c6993203a55d5b3b03afe461124bc605629d77bdd6553bb2f6c62245ffa25f34d17add5777b64c16f450c6f9b081ee33199e419dc5f43a335360e1c0c554422639bf641164f0250c2b13628a9ee83b4bc6a7ace7ff5d220bd2266be6677579d2b98ab2c72fa6b9a8db0603f00d418f288e76c51679e3c30256166662e35eeef37f40a089d45cf85e29214e1ca0dfe250dbdf3399905a6934aaf2a0a43edc3e08e94c828f2b688666600ba6db8817f53c33bd2c4244908b1643770f3096780a78df2352b4a787e892e0779b8b346d64965840b5e41f3c0aa25e4021de2653d58bbd1d97bae390ce5b20d678c9b0bcf73f5b08faeee920e41271b01f2292515732df30cabd4548416948e2c718b9a6b082251b98b7490220250a055827b9319c0622a837ee4860be42cfdffa51183a939b5a5922f99fb706d3427b693afc4bb138d6016d9aade496aedfbe81c3302e0a10babe0efce57c5bd0b6d0b8c6b1a2ef185f5ce44a364639f2cb36aeb1b27f1e7c0ce4e0fb7dc0e63da3a2687068b1c81cd2d371f2265d8b9b0ba0516635f31902479373a79b62b4852da225a568fa7735d09090443cdc0c8c9c2007ed4f5d60023ddef834a7c23c2300596a62f318307ba127dd4c76b2c0f27c13d64abb9a8c6ecc1b103e380521ec003b84bd88ac1d03d5ad6b6adde7169546f0823866e73e6894cda6260ef613c6a58bc6b0a6269947b882203f2b8274cd8b1f1fe6618c79309e2338e82c626598015d1b7d34c19b1be9ad2e2be961a36848a84c72ff91af84a910d8ed4eb0fa07643b5db8df085874fb4b7b3b3cd13d4225f6396e1789394eacc0dcff331ba15b3e6697f4b5a73e3a5c94c19b2d490e8408387e5f2cf06d6f8764fa9570a6e5218a7788f45265e02f74c09b6b225815152d50153617bd87d11e9d08e7ce36dda9511374f85cebe1c2b0009e17821f29b925a965d771a33d52aa328ba8d1282e030dcd8ec3953fd5db171a34a2a2b66c5cab2831cb912e425dfecdcda5bff3c7eaa5db3fdc7ab507e60a6e0b4906ad537ec4dd370220d0b2883b2760e49b94d0895c08b987e2f086f49f8b375fe9816ae4214ef2fc12961bc925ca9586f590d23cfcc9fcc17d8bc5fd1773e5e103d93f27b05b3d8bcb5fbbfef0a9a693047c487c1947a7dcccef33b52b0b09d1dcec9be42c521c675132f0539306ba05ff9a5caa92eb6111dbb881c6f5541ba376f91e46009c39f4fe56dd4ba8a4798fef1d1e58e86df1dd92b5228b0b1cf807c09aae13032e96c2a5161f99dd75ae7823c1fedb253f1ab9ace527a3928781965f3f083ef01afc0dd4952e67c6a6e4be0c389034208a9831242cc87bf7320c149880314cec2f82efaaa112c050655d7eacb3c4e0f1bf4f6ac4265bafb2582aa94f50e0023f4ada85d47a4ea54b2b2cfbb6543c53987912134858fc86946673f8f8a49a5f9829cdb642017b2a130c763d087f7cfbf8fbaacef4e93797fcf7c5c5bd30c13b486536078defc2555875daa79abe038854b9ce7a3da83440f1497263db369814c4c6186dbec6c0bff393956f36ae1304225dfda2ba282276acea7c0006b0fe4404b7d1c87386b3f5b85a78960fb12f16bd204a932599409afad89f753f92dbf26a5985fa53e456e704b9da39900912f437b00b1a7ee3722bb1df86e8bd6bbc336b4142292901abdb2ac2dff6f023cb7923149a82c20ecdf4e35e975d2a307c1ffd7a0181139692d5b9a5a871a02d3c17c554d09329c0b878716c7d247eadbc4848844373de3c8aa74270c8d0a273b7ab470c99fe1aa24236d8bccd44b97bf0f27b2d07f84d533b4202e88b6f7a4e33844202fa4812280af451ce716bb39c1ce99250f2fc104db4c30d422d838b0c8ddffb60fa3e6c29fc18da983a81d41f897a89dfd7b93bdedcc72b82a2783888293d3b287161d96388da6ced3b260b0af63013c34faff9fd7ed1969a96d55dc556bff59cd49022d0275b55c72bc144606d0c123913eda0ef35e5ef1a60d293276ecbf6f23fca50431769dad328457bba4304e603111352141c559dd702701c07360aac111883465fc32ad8f8c1688de757d3f0104d231e913a754d79e0e56f28abaeba63de46045525599d2e5eee119e78dff578bc49a187a219dc36866e153a82b6567d958ba2d029bcf9984019ca0f3509c96ea0806aa4c548c9c3a5b0af5b715b5bd9921f23847ad20187cba8826350b5a121f60b977a7a52c6e742f62d1391c2f80e798bad497e4bccdd11286a12b6373a0d936703dd33acf2428a2ad9eb821e07404111eae1373f377f8de386d63f9fb2f26dd2a475b1ff290f80274d5b81767341be4a08df45551e1d9484e84ce0a07baa8217aeff7b3a8aee5f290aef670302d62b0784bc470bfe493eca943e2307c301a37c1e5e69e23e559fdab4f22ae8f773405d50d5aa2a89efea4a916f97b85161f3f6e64aa0f5e9bd3f5edcd17aa733e66b9007f55e26e39ab907db4d49e175a0034ccc8070188f28a13368969d6df4a672a614c4ea393048f0b4f691b958cce889b14aafd9c251863fbc8c155409b4a1291b87fcb2fbf315a4a7662295efbf96c89359a3f3ee5404600cd3bda8da5384f9622aff4cd39e0854b7ad96ad3e04b3fb7a77f1956babd1f87bd4354547f1e64a802e36dae5e6e0655871c3e9040257dfd0f86c194b6a476eec3a9e27aa3bf752070a9a7d4f93161f384116a65716d1c5c31e0a93ba70e3085077dfea5585474c0b873c38f75d5f55501c404f89e263d22a9e1b050b3774e2bd37c27bc749a3f936c0a82ef9992482cc53a14f1f90f2376eff56250a452200046926ca968b190654c40f9a3370d4b7007fd3304a8eff9da26a5b97569759d623427674d4dbce1aaadffc2c567e34ab33ef921ff38d2787c92c5f10b8f82f7a116fd4a79df2b806ebbdb6b339195d9549aa668c67856302144ded475750919a71624bdaa62e3b272d0a8fd8d54382144612722fcc26c9974e43fe76d994588b95a155f41bf8e6cc7124ef9fbe251e2fe5b86bcd86bc6fcd822593e59fac46b85e171803c383826f0b6013a7fa9d3cdcb1cfcd7cfc1f7a14bd4fe90fe02d74b12f5566411d3b70cc06157589aecf065f657477dbdffd093b4f7c89bae1e3e5f0f22e454c5759dce9fe0e2c2f314352d6e60e53666c8fb1c62d68b5d4fa000000000000000000000000000000000000040a121d252d3439","message_root":"0x34ff6bd2c1d6db77a1afbe71ac1af62855986bab12ca30dd9bf64fafdc266a49","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""}] \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json b/scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json new file mode 100644 index 00000000..d6b622e8 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1b0dc2c8042e25c87a82caf22cd13bc6cba13fa6035ebf830559e10e168b950c","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0dcdd0b52804d87829dd556e"},"message":"797587ed0214554fb59ed6a8365b9a4f1af3ac177c4e7de72a48f51233351456ccbba4f53ddc5804a206401eace0f26132a6692afd6aecdc766e78bea08da473"}},"description":"","pubkey":"0x038ff5b184b10156a32bb8bb12bdfdce398c9ee5b612677835d99c3c4868374db8dd161e4960103e3dd2986f4a6bd82e466c49b05e70b05500b9644a77bf96af3c176e35649e898bd80664ec03d8cf45efce6b5115d6b98b59697ddd0a28342424257376724373814c924aa936103783535d5c252a0b58517eeaf610b153d9b95008586e23300b82acf8346e0e47b29eed2d3c5b094489529bd7a77ea401996660a0f8b036569f51827d0eb532a6a00b9f877ea52d2022ce01c9168bfe4b2b5a8b5b8d0dc33af9728d29fd84da7fb5d0d663ce2d9e202a566a5035075828d6f2bc72a7792973bc6fc1fb2a2154ed51a3ede52a0bad16638b19eb36838cd28e0abf23dbed92df7eee71d244cefd9089a3b8408bdb251ff811b94d2d3d66d7c250e2cbad106b82001f53145ed301cb0f493dee9936525e37659a2d81dcd3c8fc386799152ec1ea0f7bf95c460768af0ff0a020ca8a7d06400f00f4eed2e283562aabb56a9209d8f079e02e28615ffe30855dce1df07c3de4e1b4f9fc8c05e30b4dad6623cd22a70d6bcf18771124ee1c48626a4b893b7b613b01eeb12058acb6c415dd8fcf1f3c34acd44b5959062d3223ecc6ee390ca5bdac255e504983e9afce3f13fd7086fd199863294fb41483288f10d899510467e81e9bb9f486ea2347d8ff0fb876a6e69897dc554e85cf7e3a365c73f701a754a1f4edd19fde0beeb9a295556007c539dc9215a1748325c2be2795cad1ede52a8c19b1c98793b366d7ada1099f11072f3995da902cfed0f0f797ee88fe75425c65fc9c67c3e5c7ce8004402970c944e075c981edaa5b8315b8e7f7b955a626c989599c03f317284ddbc8d6b0e10a77c8200e94e0c8b70ecd45fab1a3cb73210ca71195c0f3a89bc56add9d043357cdd3fb1a5ee96d7d9846f6373f95784d32e59dc010b58c0f354a0c88424940d26f487424c63efc89ebc5da6b8782cad2e3019dfcc08e9877df864db1c636752f8f86e5ee4d05ec4fd72ba87b7fafc3e7f2dc63cb9239f87636a3a112d3fcc767e71a4db949d572f67031241a91ccaaf9315ee6b41f5486d6329ee9b1e3582833ac317503c7a7594a6637ad75ede44ce66a23b6f0dbe2f8a876776655c1383e10edc4ce2288720f7a7f22b65dbf232efff1c6a26c6a3de47a51a8d1c22ed6649d35818a5f15cd8a8b11bbecfbc26aa0daa0d21db6672d8e066c51bc743202b265ad833757cad61b3481dd2892767bddb8355308a7c3fa422a48397225afc0e7c8689b3dbedf179c9a0a1671307bd3b1160ae4903ebdf4e53daa00e2697e7c4778066f304ec0acae679ae4587cf08b430bb867ec67aa1d982b7afcf973d14f00a0e58301be80381f9db958c5876e43e97c5558d9bc7d45af86bd7a57460777071e8798e323a25f38eaec76dc30d542cedfe09b17f35bc915c921432ac53db753368b3e4876fe2ac1abab9a2502f697f6d23d6e761068245677331ed565a844adb2ad39f02f67dd8df2b5907fbfc4463934ed6aab10c86b9c568457a39e2814b3bd2f09020fcd71c9c024347fb71c5db25d8f0b7ddbad08f7bdfd7788cd3149913fa98d9dd6bf476e34ab49af3bdef2af169b12dac861675b64617dca5f4886d58db4c49f80f95d6c5fcb1d09996600476fa9e90c9f5011da30a6cb74de71589a5ad8d56328f8143461cc215d2274219f549a7d1efe93daf8db6ce8da589220f15b337081e744f05896bd195b4180bb588385f15fe7eee3b6ccfabeb355ccab4252df5cd472b04c16934643ce2826426ef486a883f9d110f5b19b4c7bf3c933132d3f005b24f1756e0ee02af695994a555bd7bb745b8aab7ef91d19793e95b5150e4880ec7b9ccc337848936eb118451890a9fc9ee66e0dfff68925e536c3fda7e000b24cbd352fc6607d2ac5e215df230ae17a36d92489aba55b216ffd21bf75f66361d416ac478afc82f237ece4602ff580f511a3e4638c84d0357e179f21ba9573b7a53a996be6d338c8d6dfa456864be8961c0a52ace77177af74552a8c3a7273eee6a6e2888c680d69a31aa6784bcb45a4bfdd7117857042979283165ecfe0fd89f4748b584a1564ae6261ccb00d2b3c2c7c359f461b498dd285cbd8cbd0d381b1cf1bd4ee13a15e99cb4097db16d39f2bbf3d21ce8c9f3dbc78270cd72affe6f571341d2d91025696ad85c38a4ff0f5d06e6ee02f44c85ce12456590c0fad1a8dc69e530472d193c11f77d0c0dc623a5f84eb109482867c56cfbe31bd46c7d59a79117e89a359ef2d750037914623807196ffbd587d25e7d044e9794b91ac5e8a9b53ba544e19a58466c67309bb872e77bcd1ab5b0cc3774203c9f7a58ceb928c9fb394d9a9373335d6966672e8434da5767a82c7bf720cb119cb4b209f806d4f856772210fb09c46cc07063c6154228591969a0ff56cdddfc9d10e502c4ec7c3ddb6d20e9d394819ae313e1c5d2f02fe5b4e0fca23402889fac45348207e13cd33c82aefe75271d521ad00d10520e75fdfc4c08cfe161756c57d4fa706672ee87795ca8c842a6f9f039ac22015c71719a14672526849578fa942311fcf17632970aba767a1e0bdc73fb0b73feff0ee5dc80ef4dfe5cbb8ad22c1324bbedb94b2972258c81b7423076c09f8623dabaca56cfd4959df2493e210c4e513bf8d074ed4332bbae0636021f9af58b20400d2ca021d184f3b72cc7ca92a589c2939ba7f073767188089fa410e7bbb0df3b9ab373538f43bd00c562d0ad85e523a038220303b5dccc59682a63a6d39be170b3b2943ae67e3f0ada3dbe9c9fe9c829c9160fee9ee181f55453b582b05a73210a9b34ce79ab767e9d2f98365e5ed41e0edd5c315bd3a2966d6dfb30a00028d7dc3f6a58194f0285ca1dbc13e31ba11cfd308e1cbaf6e6eb83ee0fdd1add21d91aa306415acbf1fec703a4f23aa7d7b5c5d8f352652ecefb64bd91a58f5c9c2d907ef2af4011893a59cc48d852ac3e966dc61d9c5718da782a959c746e556ff225883d4029dff18017a35af60c4b8cbff2c9abeb72fbd5a1ffa4eae9ea7abe2de1808248193b6167fd10b024ef797ea5fa13921c476d189792d9508a5620c32ce5dacc4a2afb22fe8d8109cb1195f6f94e8eee4acb61e34c8c9c55ae4e1212c549da3b5e26cb09a221bf1064cf7be27940df71103844ac8f8c7972997f7500fd6314be017f131c5373dd0987f33a968c45d51cc7b58d9e594c82b0ad78e06896f4859b240b9e78b40105cd903fdcdcfa123f57aac6e9bb845b49cf624b4c4d5cd9e1ddf7c4abe17dfcb3e08e88bf63692fa1d046ffddd95604123cbf93a0559408803d71950960ea84c88ba9e57c9db48ed92c5e736e8d501c4983d7a33dc9e15d77075f928143c8a5e6be14fa8a26982e87d29365a66ad9643179ca1e19861b72d7bf1e3c6803acd9c9129d4187ac97b7b14a5a0ffcd3d79674c610daa89360df4d38afea7db4322cd487f485d9660d959daf8adcd63ee9e7f55c567e62f5e949c6a21003feed5b52d5fe90e5313334d8d9f1ea8e0f79d52519f9ea43bf028f362b3a5644f9af7fe162c4cf7e0c5fc825dc84c78497fdd38237a8a41c0baceb503fc82e4ffd0b9ae4c116f916c1fa2cefca28431e13cc088baa45bc0f6a9883bcabbc920063ec04ab2c58cee","path":"m/12381/238/0/0","uuid":"5bc2b767-3206-4a7b-a894-a8b20927fceb","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_0_0_0-1751540595.json b/scripts/consensus/validator_keys/keystore-m_12381_238_0_0_0-1751540595.json deleted file mode 100644 index 4053f896..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_0_0_0-1751540595.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"98990e328eaed6467e64d69592147b286d3a6872ac69c40cfdb93ae67bff266c","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"29d6014b42978e3434108972"},"message":"b9090afd74f400bf75ebf398d1ae820a97492d2f5dfe2e694499cb1ec07c384fd2ab15eeb7286f90429d53d520f2059b8ed927d678752046cbe669b103837b6c"}},"description":"","pubkey":"0xc566f3d122aef9903fdc17a3529cee59f3dd8eea2a53e05ddf1752c8baea23982299b1f4646e2e1dc5be952dc7b43052942be1bb303d6e78889e019757e9cd8f423406756b21821bf0e4275a2cd1d5e719e8d4154760a25df942b04786e5333b5b0cd7093b569e99fd17ba8b9163a36686d4ea6554f07ef97756803a3a041130782cec37e600e3e8287f6f881d5ea7bfa7dd5c201195f0f0368ab6fd1b03ccdcc120ede5c591c34063184732a1433c83be97911aa15229750f5ce8f0f42b5b9a0106746891c3834a81fc3515c23742bfca802b3b89fc2a0643c9d0691ca8f4025d09d16f647ed409babc0d95d54fc1d57a93090b344940951ac3244cb3ab42219fc07302de7af2ee8da5c0c5cc997af5a964bfd2c1812b4d2cd8f194f26d6926a93094fd9bbd69310694d4b2dcd34dd89bf0668ccc187648065f2ea9b8968a9b87bff781d1516b6415d7863bff6e1ad53608722ff29a3053272601426fd6981ef4d3ef9640022b4c59169147f89afcb82fa2fd0a6f17734473903ea609d590666b79c165368777a45aeb158d00dd99a91dc0a0b1f7b1aa1f14f60757cfb9dbe3ef54e6ad44cc60a1ab8f629cebec885f063ba46243f081fc8c6bc87a9b0fded957a8e121cb69e9cea4e7462d42c35832f464f56670952aa84ebdc273df69eaab9653190b83a2e18f6ca8d661bac85a4e7dcf450aa67b16f68a7525ffb9b4a8d7ecf502e1e30cca85cc481b2687b8a8bab77338b051b8998f4098405377ce1ab0225749d7e8122e5f0494542a00d54daedfa3871f2adcb263bf09d5c5ffde14bcfafd21754059df0b993099ee7b27f329e43c5af5aa2a86a7c1c2bbcc3c092c99a28ad361c55e8d9338e60d8e479012421d99afcd738b1aee3561eb44f4688d41f77f881a2a20cd6259a69ad9128d4d4974d53017b865236cd7f374e3d921195f7e7c25cbb5c4fed52f103a752d13c9e5757472c4f4a136ede07f984c61cbd0f1a7f533790ae8ba267987e237ef32ae58e07570bd9ced0765f61efbea61ddecfd109e32b8835ef94c9a1fa1f85ebd25759030b4bb0d4cf0c117c8c11a1a9828adf7145b768b4d81347c371ac5163cbbd2a2193ff4ad26bdd469e5a9e62572257b7377d9ead08875821b41ce62ec36e72c305a58e05164837195e086863a3b7fccc1288c3057c251341b30c07ba5ad0f70c51e4c0281a2ce9e509e5ad8810c28e3d4d0e6fde49a4dad561c1abe8ee75ad98153c1a5723df9575d387d8be3f349debb36e8c82dbc6ec5014d88f6f35955ef10be4ad9fd6c0e9efff0ef56e953a2ba65c9d1b9e2af2708800ec0e022e9e2e79ca0831ae29635d8a3ffcd927fe832f236c8fad61242393e1e810284b68d1da73e266ca1cbdc55382a83bbce1d1b3bc3e4d149186f9989ed8b98ff92f7ae636540af5e188d61b90d4b66c0ead4b02f1449e7d752ffdb9bc6a68ba30ae8712b490653d85b5074107e14b7135548095337d80980d80d0cc3425d352f4263c6e93c7f44b2cc2d9b03e676cf77fce36f5c10808695e9aeb3227420b61fc912cc94c13b042bc3e15f847710f99b415f120fa484c5c7fdb8c04cbcefc49ccad8dcdf53e13e17aa4072695163c19483b378986e550566c49c7a2aa27d1b2c33c5a5c0fe385c35d034925ab201ab8d6b9ef22c5716522cdcb779810c238c16afe3ed5891a6a7bb467886245881a641b00c489bba4d7f349de8e039c001cbc0229c49f7633c680ca93e8fee4d9332a28ad6c873f319239978a75fc695ddcb6907442e18539a37901ef6c9b5aabe1a2b4e28fc40eeafb26eba7dcf88788164811b1abf2bd47c6a8c79b04a48b6df3dfd1bd16f32a9b16d579af89dac088e9d6a65b6d602a8c8897814c983d22b1dce7adeb88c5162f03cdd1ff90fecbf87f8f0afeeb03afa223da9d25f6711c022e7c0d83d3388ff3abaa5a746fca5dad2d786b0fd7b4c4eeed0885dfb7355f20391e127a47598b6128f2daae5aa11a7a64b1128b628a8c98e23e0048293601f45e544bba065d2a6a200130f1f88787950fb9a74608d2937a189a946ce0ee8cef7543cfd22bc80a246e489d0048498ce542bb6d40510244addf9cfcdbb2d54548b3c33b7ebb7a351872fc5e5aaa795b0eb61b95e2e09f3bd079ec6e8e852fdcd2636a7b6ff0e7b83e72d7920caf6a1306d12b8a8038512a254cf0177eb73b3febf2be083f8ed27f0ae6ddc99b23801120188dd3bdaf9e0e7cbd2b5ee18482fe44d54e2e30ddc464f463491eb6c35f712455d8b718ed487a9c17dfdbffe75a1e2a7d8e9d5a3e6fae12434c101bb144231cf02b0c2fc1a0cc93b96e1778780dc3db0f70f03d41aa4daa41cd50edc15d11ce31fec2b765e21973384f54659fae3608d55767d555a3de0225b86b5405fee0d351baa0d9d20e5632a50fd75af44061d78c5a6a9a657f3da9d3ac6d9a658996bb21e0f27134647b5cb824b6569da4df1381e14f3b5fd54a7964cafc4d64b1e85e241afe5bbc253eb1030ba1baa59cd73cd7ef7b475e9f2b2a0b33c91ec761cabcb99cda60b8830c0e358da3e1366995682f6068b6722c5e269b35a9bdae474f30f4be3150f624e223ad22f2f613d2ae5015148919b62c3a6d66d1f12f63e864da19bee745ff471c3d9cb07b0674eae86a83f43d2a7601f5ddba7b5888cc530cda2fe95b15eba2a5ee6e452b5dd272ba0109dcfb223d2509aac6fd3ed656a84f5ed5b194924ad5f3e54a177d60f9cce430270f976981181f7eceebd6629e65a2fda7d855823a5aa6c78c9b15b8c55b30792c733086cf1b548df188ce0d9914feb09d2a03574b037b37a470acdf24291ae69fa6cfc53c52642e2e328c52db43db6b523016ef234a93cbb1bf4c35f2c28652b15c3cd97c84c2042f19cb03756848428458a3623e139ec2ba2662c889ee090c2e194d3d16bad79c28d0efcbdf0be6b293a9f1fef780550d45b413c0e36b86aab0c1c6a3591adc577082541a3dd2d82032b2d7ee65b40336b26318ff60a9d08586ca0c0cf3843f3bace5db16088d7846628ea8fc84fa13c77cefe8db1e20103ba9cba8b671ac35189a5de1b3af03e995f826652669d9e315b639d2de13f68277d46e4869d1ccc4cdc8d61d0cd9096f3c4c49e691385b3a3df25c0db52b151e79876f0c215b427814b15cae0f50842c85758bff47af2725c2d1cfe4363623144d93fbd9ba064aca9e06f7d30ddf59d0293346320cec68ebd83afeffc104bb0ca8ef7e1e9e1d5054b67833defd09fb4eaa0cbe38bcfd01d015c27f54c9796eb0b7b036fe85cc9bac3976fcef95e729f42e4c79dca445116ecbf77dec173f030619b0175af58bba3a0cd23e5f7c9a3ab7b88f5868187c62d03b1c637abe0044db921c178b710952871b2b0e1723d556f80b1a9a6275a67c9c62fca457ae7a4d975a551858444b6beca13a04db4aec6d074dbc4e470265c21547fd878960e10f612fd94049371e086d34c933d79a0974fd61197218edcb1de795b9ce6a96d31cfafa3bcc5750daaae60212bc3017f0e6cbf0442906749a5f1a3066b797c43dc011c2e18e32babbd7e9992b7729ae500d1e562c0879399ec60bf3858a2ba4326d772926521831cccd63e6ba6c0954f79a4e2437a59825f39834a11e9ee1d7a2ce644d6a35defc0409413","path":"m/12381/238/0/0/0","uuid":"b8122bd7-741c-480b-9023-c4d607384e82","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json b/scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json new file mode 100644 index 00000000..ddd61f58 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"8fad12e508ff399220720fb031857fa05df6d3dde9610d06e4c589ca94496b87","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"ab1196866adabab55ae1aab6"},"message":"64e99e6bcc022bcdb7517a89c6a7a303b7d6f17d62c3ab2b7a2b446ec827877f14195c1e112e063647d710a04fb19e9082f045ba061500c3c9c26761b24ea6be"}},"description":"","pubkey":"0xb24a92a79c252d8936b82a239c07acede09e3b4e692ad2c6e384f8fdfe3c3a0bb5e44392e3b9a47af2e5f717b00dee3780b46aedace26ff3e6641d505f455afeb17b1f56deee581b3c1e3606745ef73a381a49bd85b59249a4c113f3e95886f8518bc7daa10f521f305ca39854eab449926543329ae90d57ff552e0f1e9bfc8b8fc0268de5d08094ee86693d402482e1f6da142040d69292aa49494745a2912c5083460db4eae2fda38e878f037aeb21e243ea7100bf59abf4c6f520e190b584476d84b4b4cde07f2dff1319adbce760c088293a68496bee5fb5b9927e3bf412a09137ff79ab6c5c49eeba8a7de96630011db4c5e6e6b254581d8e1b8818ad65c05be192cf850c40217deb78f2f24f19fddcfa5505a7a40a328562b6ca065d0cf378d3da136d7dda5764b3f2ffe8208994a8e7ded9d8f8dee0bf839595e76f01bf5a88a7786ef0cd57ef4968e5fa0fa771f57ae9196d5868cad49f0bf52703eb1b8b1834a15cb145ebdb2dde30ae3362acb1ef543c3c050ebe41ae98e26f02e6ad7383c5259d4f319057b2d6e6704ba22e9b9f1899e1a371c44711b330299534ccad746471b779b9d561879e91b812714bac03d58c8da1a3670ac4bc4e8084f691bb8650ac0bb2881525204599d5fbc8414b3136890ff0f0cffe2a3e6f0d92f7898d2ed5fa7485c69365f64fe72152c98ce9ef79b4fdd58e967c01cdac3de02f739ce26a7468855c7d2a85f59bdb47d2b23cdc8f5ca07df94c212e2d1b4c752ff3c61c1f99b975823e5fa7ad6b5e860b329119b5b15d5e92e5e76a791bf807d003c7184f892af761c48a354cdd68d17f37b6f3655f0bcaaa7b2a45965c6c5156cf52f074739ef6df932e93623f40dc0cc5fdd8ffee90fe364d217a7e89a5c80a0479a18ed5bd1c52ffe2f0efe35b3724a4687ad7b23002fd5b793359032330c777d15250a6cb98f103edb24552766b27ee7c031462378a6123f8a076adf895f66fa5a8cdee29c6f0fd2645b30b5513159e0b1e88017b7369f3f3ef9a3c35031916df51be075fe0b55986b516556f08be7a72ce15f2eb7af550e463aa2875566fa8a28fb6d845cc5b212e6b74df2e1cec5d516f3e187ac5083ad3882f60a626fd7172fc4fb53d9f18d2dbbf442dd345455e30dc4fac97abc6ecff7fb9ddc604ee36a70aa1a7325acf806f56695faa86492a428e859190c238e6802fcd2e62c711a74aa553f8b8ffe1faad8ac25f94c863b3f682a2de3df3c739ea2952efa19f56afc5b2702dee81ed42afcc8f29efcd06f0a14c4f8009a504020b8d0063e391b109d8898dbcd5428d53269bba7fd2671e34f543242308bfeb79564fda18a821d64fded8064d347c27dd2e94f3fe1c6d85923fe0a3776b9a3137ebd56ae173ced6d06d92fea78dda23c1272a0123d66ce04df73561460dfba6c6930389bcc5291ac8c3ea9fa03a8b5a62fe8a1a239c25ae193232f9a2e1d4a343419c2afa8566d2fc5fa9d5400907a3c606c7d7020612a469524f48bd3c04f0cd3ef3a21e14efd93ad226d081d332dbb1758107fc9f6f3881bc9878d045b4a997c5cc875f96cf7e604b172d99c15d1060571b6a3cbd40e4f9104a1d9200227e3d2bbe363f93da9d192a24089330f5ff2cf1aaf2c522f8d7dcd40bf28f93941bea05f31b26fca466e0488593e46167890147229d929ca3ae4ec7b9ac7d8a48319e13fea21fee7c8cbdf2a5329bcb1d4c35d83c79e4f71ee72feed692a1f4b7456b8aacf3271d80d4464a4f5dcb46507311051d7dd72d4d28b9dde4b0b715d071ab86e6c73112afc515594fb41ef8fccd11ca55d176fbd3aa029c4520115e9101beb1ada06c5007e96c3b331361c09e41263b6b0b807e7c84dccf6e17c212cf36a6243dfb9edace18ba050cd1ea0d429b8569e44d0a80f8ce5834b606c34fe51e279082d7c69a358ff507d1074eda802df766c796738b13aefe0a638e57e1419b2306cc9f42d6b16d40d7161dda389df2f9bb959e850ec31c3785f6135ecc3e3f2e2b66656aef9480962ffe4eb0725dd9f20fb0332dff63d4869ea5f7ad02bb77c90a3f0a6f0f30b2fac2693327fc24707aec0b7c36aeafb5e2cdb11a54cfc2f04c308ed5a7260640c73ebf950099d0e90ebb315501600a3ef018bbe5b4acc5f4878417e20d1582cccd29cd99ecc66d3e402973f067e10001bbb78a9b1ea82d0120e4d70401dd4a8b91d3e8fe1485ea2dd977f74d5cb1d7f7eb158618590bd007dbdb49f6e056317e7bca7e0bbff2871715e1d0a3ca02d66d5f8c56cc7d60255106b99b7cf7f108bf8a3cedc6b3310395035c9ad99351bb9b8d7c356cfe641c254c6b4a0ba08b95ba23c1a71c4001502d9f107692edc6049f682c386feeb326202f4aa74623d4ea20cce93328b70e50245485b2dbf51751a09c43dd2cf4afb52c1e7b6bb52b79f3ddeb29d228e051058796a0593a1b8f93be312fa882cb7a0852037c82f51b4cce9b1461e853d9e2f79b8a20d24c418c96fd64c7950f57c3061405f01fffb2c8436758a712f1f8bca0f03113a8f731107afc12da376ec99bcaf7c69e0ffef248bfe1a3ef651b2a1123fda4d4a7b7fc04110cf7fc1f73e9e2479c4b2627f39c9940dd59db1cf68fc101c7d9e485ab8a3f5b99b756dd6fde10bd01edc591fe016350111874f712207763581adba34100d79d22745b2e712c362798b8d3fbb873f5608ff1a66a49926b4e0e8de37ed273b27187a550936fb2a012d1c4eb3f1b558ce1f2921e608326de226e12e5671056a58220760288129ab118ef2ef397f42d16274fdb7582bba758f8d8d48588a6ed00ff75341467ac796f10cda7b04f18d7c95b65b94a3555226e5dbda1ea76a7db15a619e1de7d7f2497fac4e3790326a49ace10848b56be781b9c366f555e92c8fc05c52137d3658e74b522f8d701560a36aedfec80ed6acdd6cd1d7a6fe78a54fd82dbc179809e9590bdbac9bbc194ba2a00ca10b6bc0363016ac580d79f632ba62feb2535d7824ebb7292453c8a11c5455841fe1a22dbb3e8641efc5195ea798fe776838ac81c016199ff5d3030a2dd9bed56158545c6489436aab690de4fd47203554fd80782fdfd87df42d4ad35579e6e5067abd08cb2f773c1c0d8b04f2184b22e591f6322bb6fbded918e78ad9cc0c4900c6445ac0fa738e9ab28662fecac0c40fae41df908ecb7664ba51ac8ff0385c99aae99897fadc8999238d16cba55401d1391707f98b1e74cfc777bba409de263f0e6b9f407f2346430df80b6e31196470e33337ec81fbf089bef6fa8498f05505d1846af4f6b2d85f63dbef4b39830012f8a62e615f8b264ac3d751282b5dfe40c03546e70992ad6bab426f38752e862ece2e1ab11b38cc1455a3c9e458c015e0fd72a7e0c3f657febdc1713b8e5171eff090e13339a3f5887512eb96de2ba109aa7537f5be62bc4d0ede8f154d003759d15a56316c12cc5c3923b9611352563f93d56a2750e66665cb6ab2cde2cd96ce76c9f2198b7624cd1e2b953f3e927f4f3f1e0af9544151290b3eba04d685ff28c1d02555fe21b3d0bc95b423560ae8cd52761f07ddcc8e58b71a94ba74d835cf22c2ea797e46371cfc9e24094d80cc55be3556d566b26f9b3dd9aa2d3abdec1f771cfa5f01329235746d7a3ce772f8e","path":"m/12381/238/10/0","uuid":"9de862ad-59d7-4bc8-a740-ad6eb444ba1f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_10_0_0-1751540609.json b/scripts/consensus/validator_keys/keystore-m_12381_238_10_0_0-1751540609.json deleted file mode 100644 index 715f88cb..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_10_0_0-1751540609.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d925afc114f012bca3f7a5f568ae19993c2ab17340ee7c92456b36bc9c07f320","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"360c17d0243ce295958764bf"},"message":"287beeae7add0c5a861c65a62ee8ae6f6be69fe3065de058e8c259b2699e93938d766a5bf784691c58d30dead6fa6ac6fb50231c85f9ff48b22e22596d110145"}},"description":"","pubkey":"0xb20b3207690a2d27d375c9f6abe4c35d841fa9bdc5184324c63c8583da13993814bdb64d406c83a263998d4973b97db648a15d0a62eca9fdfd343778491679f9e4517d4690e72b4b45a0638cebb5c6d04e93cb4536a00c255ec599f89170ccdc5231c178a491e85cfe615a1a6a05a2c80eb805ad43810fa7955bd605c8e1b03b62fd7232947f0b555e542a5402c6615d9ef10a8040a61cdfd5bd96c69018087ee2fb16e9298dc17af9923daa8ba3865e248e654db2e0deba692f2c741fb5808c9d68a5eef6c0aab5e16a956862e57e2c8107b68e790bf446408a168185d28a8ac08b450390266c2122ef76059b2cd1cb20436ca9996a170d76067affc61f89aeee8062d950efb0041a0c30cf5acc6038f5ab22ce266aaaff7ab2bf9ac53a80e1187e1af3b41d9f486b0946469659cee77ab21eedd73c84ce7376bd78f209026963af2c6f605e5db18bc08dbf744d1b8a4f860d2f04600ccb8610ee63cd495c46e368bc606a030e1cf495485446632696efeb0cde497506373545c2887031de1825cda7b78564827ab7d1a82f95dcab6e93123dba6fe9ccea418065df19b85628bc8139b645317b8e4df2b2b1ad74750b4b601422f814fbcef8d0607ec5b332e5889e71394095135876fba4e77b64c73e603e7938f9bc5fbdb5dff842ddb7d3470bfe5f1035dbbbd7279d697221b9fa4e2a19087c7ea269d4f2fd2cec314e06dad92a62c6452da9f850c329c29691f6a608f15ee082ecfde2c248e68a86e96a39a502e0bb21eb5a5e2963dd7144aef85aebaf99c2aa1860a7155cad698239a7d359c21e3527e65c53694e248160706a2e1eda70a9318dcf7e40f744d19cfbac4e35b04c121375c134ebae96bac57dfbab0b071964162cf99123372551409cdff1b405606447c86fedd5657d9a7508aca13f7a974c8f28724cb74f1bb4f23f3c254a5f1683cbb459992cb5813ed5ba13149d5a7bcf07400970cad0ad490ee58326f1d570bb2c2485f33a052d0f65c8ecec489a8d3fe6d4eab5df0996d5a7411efa6fe6f5b2fe925591448957855e39b59a17ea886a441d0595ac555b6a6a3aa79433fb111a17125fed93853a3b5fb5d1440cad4f38236e0d7e8e1df596f2d7259752c73dc7a68cf80c21629a835820201362e9eeb0c145c64a4313af8fc9280e84739de70be3e56a973b31e781ebbb829f66d4f789d9c5cf673551bbe92359615238d3334edc69c441bfc42880ecc4d0a003cab667bf8afbdf44dfcf291d581eccf9dbeb61beec2c7c7cd0b13818a369df99679c79b546dd83d596071bdadd873c4dfba82d98ee20db16733d892539e3e5f254f155a9c6ec523954cda2c280b1b4148b80203ca4dd0011880c23fc3c434fc1a1e6cc3a83fd22cfeae7a121d5f9bb75a664de27defaff81c13e9b4a0f669d3e20db6af2d1adffcb1db9adc0b80851ae4e98f80787fe84f600e3982c6527b73b55240469359979605c19d96277cc6e5b748b4798f39c45590fe17a52fb81ea3068d07202f086bdf9a074215c76c30b7ea2c724f2576172fe0bcae322a4181adb3e17b922e7caa086d1f4943ecd4b5a286b4b4b50db576e815e90cbd3881e1c841fb9fe25d2d1836982e63e3215468f2d21a49e2cc751e08d3f1d4beb03714c29057326a49e0d1e3d483057dafc29e1eda57df6581f369f1bb0de9fdd369e8dde15c8c841ef1fe220a47cba3ef7d467e7526800ccc7c03e778074059c6909ac02764694441e1932c088d240192b336a365378d524facb27d4943a05f3624d04704bca4af7c9fff15a606023eb2f03ac0e60a2b6be35017190bdf559dd230618ac1023c74047591a8ffc99e42982a4d2260775d9983dadc0f0bc2dadcdce2b61f6718edffc4843e4461e7a0a40a1b0a47982d6a0f560d73a007a3ccd29b40f41dac10a945092d0bed2c6dfae26d4f5442929e0a06d2f6225c9c27ad2d25f4152ee2ae7d6d05e007febfc7bd9ffd13b90a7a18a2f19d070b4fa5e543cb525e2f29cafe00de9d77883cdc2bc8dc9ebb777230c587fe6ea6415be64822ed4ebd6a0ee5450c6a09d9f9c75ec1bead465bf5f2d707ed19d20f36bca9eefeb80902879c355bd289f40999727bcf6772e3b84a5e8f96cf18ad8e2bf512683c4f3520c40c20237644e25c8e3da667ee0e8745acc7ca0a6aff0c7eb426a339ae64136eac8d01f98951391ce1b09343b277b607c6637193e01a2c668ac8686c763f4392994c520f9e44b7b4808bcbb73423616e06b0dc8990d65147af78424ac7ec49ed685056191c6c5e2e47db33a6da387b1fbf37328e5e17ef98b7d5489afef2afb808543bf3a2e098a63f5bfec2218b8dac646b25401962ff328961d85b91f8bfeefaeaa72b54edc59421e713950cde3e720cbbac7f2a48ee21d2a973efc377befc9ba38dab063aca9981b4efda941d74384b2bc03a754dce47ce360244ee8db97a10db86f9a0647dae7d4bc8501834be4ea4f66b4407d5a984d324530b89c0baa5725af60ddf91e238d79150655f3aef5fbff7ed0617588855a9be59f720f831f34f89b66fbdaafc5f1b74b28ff0b9f3595bcd4c7ac8b1697abc799ce8bb40687bd437ae75380676cff214ea87d768f94c52769a4714f8ba90612fcdd86d2c0a96ffb335cf0a24e8d0867992d55347eabed9be7f381e13d77142fbe99cf62c3f78e9d0661d366b6c45d47e075b1ec3ad0de1e63ed19c83181da8fa61d1200461580db9eb95398697f65ac8c4f74350cb37148616efd1c540394b91146296354e305e7c3fa72e79a454516bd3a7bec5e32d0a32d4ace5e79776de9ef65ef78ba11cb6ae83fcc25a13f71fa01a53114a04eb5944a21442dcb47abf9cb35e06afd35fe5b37a9f8c0717803bf7d8bf3dd98030434a5d00125be624264cfcc956dc5f433a44b4e761e6b211aaea6bab1d7d44d85f24feb440cfb404f861cbf554cad27617cf38c06c1cce96c9eebcf93a3875f93447e1984659d68c817d93e9323ea60a96ec6b1fbb0761935b69b0a4a71ee7a8a9916d92d45a59ae6665de01662f0fd9f59759adc964ba25b7bd56268dbaef15c8c54e7c264a8f94378f088bbd32d40a5f20ee3e85f5846e313671a17e993fed1357a7b33de60addf89405c957faac6266b103538bf6f82b7fcbac59918c8e476a2a100925019f8a84ae9156179c0fb7b58165c09252e746f57ce9bf1da49745a8e33163c65283887a97d55c9357122af2aeee50ac73888ee6862f88b369407213f17b604fc36567d234ee013aae0d04147983bebe8e46765cc27a2ad692372e27dedabde084c10e8996056bdd98450a1ff2275ec92d21d4a7dd40084c79854c4d558d3548e008ac8709cd4a0ef192d0338b4992a7a604b80651776ed32367523a2249d209fabd64d4b5fbd5d66bcf2895bc7ee67510a220ebb50836cbd81c5e348b2429e6a78a35c19789f44a30c419b0099080ba4c0b6a6cb17f0a50041976830c708c6d106649d0f4be17172c548d9199c1e2c06a0b2e6e95e5121ad1789e0478245ffa0be8be0179198c8639a72ee9e4133756734d96f44661487384597c89decdb8732c632896255b9363f5c1f98781d69845b3d8da015cb13350930ea199a80f684d5aa8fd02e8fe27643d7f81f1b80fa58461556032b777197547c78b9b4","path":"m/12381/238/10/0/0","uuid":"b3f79f32-692b-473c-a0b5-92637de6d421","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json b/scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json new file mode 100644 index 00000000..9a838b90 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"840ce70ae44861416b57c0f1145a1da8405a4fa6f26dd1f6f916f490aa188934","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"1368b867024181e8f09f8d3d"},"message":"79b7710ddad44935dea969c6c3c80fa3b414b093b9605ecce5cb1229e74d1de4fe4a15b2da2df740e4464ed5b75b22bc815e2c65008a0d7bb6dc2c858d630c70"}},"description":"","pubkey":"0x8792e0b5ab96f2f8b507c31f9a5d58c4916c70b694417bef2fb41adede0a0d5253d44daa10f2cc0c025954b51998041f854897401104b02ab31450369a1244461c50e9f415d2e3220dba6539694460b66a8627a8a76e76493ac24bd5f0b7b33774389b0d02e21c623b1c9efd3043694c2174f31953dc134f7234f70179158292aa7417a84b4b4f72dcdab96706a7f4ec977761ec7c65a1841991940ac63921102fc1c211b2e2e46e43cada2f052d7adf9330c9b96066441b30071c2b5ada2d1c20c72933641e83c9d84b06c74f6c103362a2480774ae93144bf60ee53f3bb3f8251db59d073f10086ce373bc4cc003e44e2ad244f7d667b31c46013e75d2f47e28bed8548c06f806d6060ac938443b22400079f8208f770e63fbc2951b54f97d9cfcd35824699aebf83fafe6baed79300de849d7abc2d8046d894d2e155b5d3da86361a8ec611f2a95ac805a55715d70404e7215934d5f27b520477f96ec610e6603d6e643f4efc7ee60ecbb36779794dcbc0daa45750749f4450cd2c1f4a09921da5b421c2907b7401d31405c86f2a4dc7101b4a6d3448833fada7807a8c01b0dcceef64be05f8f585c2f9a9e1a418df8e8ffd6e247b5ba33627dcdadd8f13b85fc7458364dd082a4b5b8c89b9634f5274a101de2de8eee4afb018dd164f4f45ba7b67e99d39edba65001fcf5a962f89e17e255707c40f3c70d953feb796eb5f708c1eef7cae835ae37e08e51dbb80bd73f3679116d27a3fd52d04928cdb5126439a184d61f8f3a4af93cdd9a0440e023cec70da10379f34fd5e6c2e29e8bdc40236c986c3ccded22dd7e5cc06e5efa73028184637c884b079bc2c2ef50dee9362bd297e1a11b0e3b04b196b4cb14306fd365960c7bbf3145c4a95a361558f486059907a9c7b01051ad217fe890ca3bf5ba7f7646ef90ca3e4774183605a14bab77d28baa0e769c837ab940d359cfbd93a9945e26451e041692ed1ea6917632cb479d7c0feb941b2f5f2e9238e52810587b66667db854c7c6eea38e7380161bbe1bc4fdd711a86f3289d61b0f1470bdd01f8de50df78188205f0e6bbe0425f66b220329ec1dc74ab92f240d43c655d126b54d1f45dbc771531cff730aa9298a222213e73629f89e195484fbb43bfe676c7db4087adfdcb373d9f8632d2250e73458dfd9f4285c431906d327c85a308ba6cbb90ba0dbad34013b02da60bec2afddf6d7ded0bde993f5804426573c45b12621a8c061f95829c4e72c95cf21dc46f50004271d0e40a9f66ea8fbb88e919617bcf3696963aef77ec4a38a80e140d35c91ff5a32171c8333eb53fc928e62ddddd59b81d3a9e375ad74d2efe910babc1ea15f7b245dbd91d4d42a7e027cd5f53d97cbc079d9a526485d8cc8fc870e73ba2ef3dd29ce2f72db7c62441319dac7a9ddc1befbbb9cd08c96b615a3c6a99a4faaf91540fc0e705459776e524ca1ea19ba660e4eb97ea81284d00f13115a5ddcc6ea781c173cc2568ba1a629a04768cddba23713f19713b7cd2eeadaa85c4fcbd438ee21c8c7d2ebfbf0ff914810aa845fc282aac9a9bbcfa940e266221ab11e6e8f5b688ee2773d899daa607d87f2408f6202bb6a7a2a668475f9904e61d86767c3f17a1e777c11ced330310df21c40f1cffbc030eeb60db89f210b99b15a40ee97a04fc33372f6bd3159b860f3300e07de32a0e652e3fd1d7bad16bd85b4a9411624383f677542b9e596059b572d70bd587f7a9e49a3146d83a45a4ac320535cc3310163b079ef3fff7b518ff932c821587948a0e84429d79559d3832ff2c5262a39a50ae2ee4bb05aefd6f804c9d26af41c11bc11f04a71c86abc7efb95838e672ae3fd688120cc43e100452fdbaee2f9e07bf3f610816c0be941533b29026751e649e673c7332c3d8c41cec619b3af53df02e1d62f6a67c4a48ea8139a212bc0066293de5ec2ce082413c494ec0de695c744c45155bb96f2e6d9fe52cb124aa0ecd1c0bcd15b63634a0c8ad3d114b9d40cc43cb30c07d89fa4c13abe1e6cd0d9b45b3c7f665bdaff136b7f41a3c453c3f1a488e5893288075709c8e859e49634b09d5ed190e19fe2146b4340383146bb4fecabde0194c7f0ab06d0e0aee3b0ce228d65ae5cf237fbdea5c402f938057c6245d72a791aac60a681ca4c26f04109338ffbf4d1b98c2ba5f5db0a12aa6616afb01cdb26c56d78a1bb8628a49cc914d234fbc5968eeb9909feeb5ea586791f545d6b462bc48c58120abada72fc6bea405d0f6a3092ddbc8e53bc0bee5e57f44d6043f6b278809eac7ede97fe6c52bdc6928a5aa93032a006bf1c0afda167b19fc010160b68ea6b76f88b5cd87a072058bd91cf792124f8272b3d856ab7c587bcd60640376ed25a33caec038fcbf205d90f2dde4f40e3be7845768f946635002208f9b1514dfc50c4f7006468b377885a16c598ab60fda572da9d24f7249bc857f69c87511efadde74045cf9d588a9de67a38fd725b57a08a88bdf7671882d3266a2987f704cad365f5381ad00bdd28f0593245c2df2a8ffdc17364127b4b3933f5b6eb1b78d23f91a61fbff340ebb34667e0f13209d1594a91c7aec020c51a9b6fbb4d22658cf12504d4da22e4d95f8a96511080d5d20849bfc2fd2e46da6e78ec0a93dd60da25dd77ecaa8ba2394f10038971e1fca65baee8b6234636f01815bc81262ed08cc00ec3a3c4d1497b17a15c04c62971e69677bb11aad5698dd71c4ec03d4b187cd7cab662cb5c999c4fd1294b8398fbe9cd8567eead0698d26c650664fe85b60deaaa6e58b947bac2e05a2256c1b06d2ef1287257034ea015b2a35631933549a299ecfbf5316a97aa99941367cc88a5a01d337bf5d6d7b4a106892d0c54bf32e2f504e86f9fc76c40bcdd7a60be3705e4e9a5bc17927e0ee08a6a60ae39c227216b01fa01abce64d9e75ecf1748b042860e7bbc78aedf67e3b90e84da6079692c0284c93e1e2d2c647d415395cc84061f5e4eaa46a596079612f1ec6e51053926932c36eb9dbba099d5cee4fa08b9ecd88a5c78e56703d632ec76578e800d37494f4a6f19f4021fc9f68156915a3c19a6aca3587d390cc6be2b2026748604a98741d540a915f57588c59279f96bf79ed6800ffc3f4e1140f443cc0a3e5a60186901369bf721363d7ceaf700230c6411ae1995ce3cceeba51e04d2e4d329b405a8070f4934d3e4252736d05f7bc1f3251ec2e6a53153ed10b0800a1917f51b2b2183249b78f65e2397e6c7ad723159c777ad702fca485a1936c1ca4b91b65d3e507667e5335d51711d5127b9776f2ab90533b6384d2e1e59c12ea229187cb50fef0760a0067abab9555e5d50138abb6ccbe9e6d59057e0ecdf68035c29e55c58f78a1443ac1de4eba14f0a9f1af6c3d0e4b842d439bdc6aee2e6137d6f6c67ffd32da04612ee17ad376999160cea4943de620f25056400b10ddbda96afd6e6407d965440985f407e769fd4f161e65fef9daabe767de55d647993d1980eae33379ec4e262fdde1d917144508c3ee0f0504dbd155bdabccf770008b2ce0c6cf7f74889893e18abb5fd1acba37521a9072ff4f368898db601696a0edab1edbd367384efd3fda8e49e24549edabb72e65a1e1890d96c9ef1c3c664c723adc86fce98d54a7bf61f3df9","path":"m/12381/238/11/0","uuid":"cccad864-10fe-460f-9e31-61198b922040","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_11_0_0-1751540610.json b/scripts/consensus/validator_keys/keystore-m_12381_238_11_0_0-1751540610.json deleted file mode 100644 index 9731fc69..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_11_0_0-1751540610.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"73fe7631e6c0fe74b6b46c1b8711549c4c86ee47812d96745daff0da66e5e8e1","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"97e818bbda728e47e7d43a30"},"message":"2ce732249e35975173c18c7b2d18e444ce4b9ff7749a3bd92fcaa13fc80a4b4ebd1471b0a6cd4e3f5520e562570bfbd80e820b4fbd3b8b8af996984733f262dc"}},"description":"","pubkey":"0xe5c391a183f4b907439f07b9399974805b811da218969d1a8c63ee98aa0011a4eaf5853e96a3fd7226ef0ced2bf5460b31c0fe9081968fa9eba232a8d04cf60298b1aecebd0a5c95537e23fca7da2636664f555c1cdfe997700682956d3d0fd5f6c686dadc32411c7a28dfaddd0fbd0490f8be9f0b13464357f66e49293c5d5e187bc8c003f4913bdbb6d264b29dbd4c8aa110dad23be55affa800483ec722c73f1e8ef6de0a4ba8e28e28a7e49eaf3c468c8e46399eda5804b629abb61cd8da93f18b9a46980d24ff3f19739a7f44c50bc452a8a78665abf351f41cbe5117ac8d50663663d99b9796f1b987d451df556b02c8b5ebae1bf195dd496e64aa7c842ed2fe3ef3f70a21b21c6f3485cc6fa70b7316182c8568966c16e0dbe62b44c5d6c73177cff698afb06a99e5fef3f60df42e453fd752322b5bab5d732f7ceee767f3ab20f5cbdc8f5c1cb49bab68aa2968ef33d3e4ddd0367b1804fe2f3bfcca2708becf1f30aae689a68ff2ba758c8aad00c2304e8d3dc267f94b9388ad4dee807b4c3a0901f82ae5af1de15f49670b9fc9e3bce901040031f3d66b997b9e69b2fd384681aa76790a8ab931c1d15e1edf831eaf80f3648e7a484cddc3a83c7db79d2a0560032c9e5528955793139e115031b0d50b6f445d945a43cfc9d3c83f8fa75d5201656a9e488e263e4b644fbae550b6aed99e2072764b5cf206d995ea0a79fa4d4a8af4c7694d57fd120f13f1aa7e20011521639d1bef156e872267a345ccb12a63a085d8f0008be00d6c9be84da7ada3ec0899e30691e673f752b976650f9a6a8becbc5da4ca5b5c3d2f5591233aca107428a91bebbb2bfc706014a6dc7c890634f2be3f6ab93f81ab922939bdd427eb69fab14b8efee11a35d5df2d13197622375cae2a4e13e097c3db1f7594b6de6d482d149e762ff51603baa08b856b657e365a6ab5eb1296efc5f7d3c027f3b3d8d60e957be9cc2e72274cc01011720635fd6931f5a94980f0da0c27561b7d362ddb79f85b2c70e34c69a4bb88eeda00a3ce338a266742c37b8d3308254b84918b5fa17418f696eae57635170a0f3539b50c1c8b408e777d68ad3463f8500d84e284cf3d2e862bae0c96f451fdaaa10169d0259586087e001438f643695360f0ba969fdd5ce9d7251129f3237cfde3a96cf27ea74e6c1e931be28481d63a8dce5df625249304041d866aff945b059e64f25d9ba086c77518884bd59daa3bc394379837208d8e62f4bb5bfb8810830c9fbc10c57b50b37c7311097b6a3e565af45a64ce57e9633b4c64728af2d6f4abbad9032677df4ccc7ff834e28850bccb9eff42c85b3c690c816d97c3be0fed024c84fcb3b448a5691a91abcc9274df99e39355cc3951bdef86e708568d29c2d66ceb5f7b139ffc465eaeac7705109d867f9ac871ff80404fe8a1eccbc0110c7406f33ae40aeedbdb06ab51ca7598aadfb18a1f03da0e5b6a95e9fcba2bfa12d10867cb14c141042580d3a7857666a7300804b699960379cdce20690c5cc5746b451238281651fa1a0a2fbbcde21ea6678f426f3ed14048427a933fd6a53b3bff6e96f81ffc7d188a158cf25047d1477115de6d1d103eea1cbfb7d3f44ba5fb9365ad74c1eea2d0041f3ab635a8a0a93b7086862dd46e825ae7a2fe796c69d77712659d603b289481611b0aed8cafacbf372185287a0503ec65ecf06949602fc066728f299411fe7e89d6e0e437ae6bbb7e82a202507b9476627f34e6bdd0cb526aba4bf6e03b5f09067eae13942ef6fccd6a62c54376eb88483a38bef570cf5e17e2b49bf5e8f06dc2a9b5eda3daf4ec0a1e10ea57c11377f6639ea9ab9279a9ad32fa4b1eaa3ceb16c678f65cf00be2fbc8c0c5a14ad6bf201b402cd27a27d893c8dce7a05f6c221b4ef869c2ea4ea6f0834245aecf4aa431f4239b4e33440257325af10a21ebbd28da445692b04d655532ae2786e57c9d97dad212f13e93f2653adb4c6db7cc6172b337e64497e0d6d419af57d527afa089132b599449a1747feda2c163cc0276362fab9ac8827faa8b1499f0c81892fae5508f370f5e328abbf8f4da9e58e89203585d230b1f2cda04721c0526bd4a076be4c7d7322b9b6187d24607aa06c68db85023808e5afae70e0784b96cb5cf46bc6930adafbdbec6b030df7205bfe4f1fdfb646c24fcd0bb7bc40d9bc2808376c2e4c1c4488c473fa052c3a31b5db24c9fbb6f7d33b168b69279a288440b2e4588c25a73dd4d5b3896b54e5b0376756f4c3844df1291b086ff51e1abe3e27aae93647425fa132c292ef099a72d3e4fec0247f12235c30f125f24c8dac7e518d0b1457e4512b62b97b22a4734520d3c3e906eeb7ff07094f3bc54735671da3ae9c288586896460db617d47a00eb528689811081ed60caf5ebd815c1f4d40b9cc8a12c43af77776ef37b5a66ed26302a6c14d75e6d5dcf3672feb33c2a4d0014b0175492b0461241e442ae14002d83cf61903e9b6545e08ac70209e2e7a52efaae4098c852fca0fae1424d656c368ec304cf3e5d9ec227dcc977066f5feb66628e3804b02c6168108fe5da91f27129677212f590845652db44a71166f535e604b4afeb0eb100729391f57a0db0cb4a1e2bf0ad5fda646367d12539a66581901fbed6b1fd2f0f477a028c04fd26887e5d808d2d030a39839651fb66be96a0927c87d4b8a232c22d288007b1e85dee4fa7791e50bbc4d75d8fc12f548e9dc36e749222dfb478df0079729c11574d934d7333739d99823ddeeb003eb1f68721f6fa162e3ae0176e7946d7078f8e443f2023adf4e55468f4c9143d6c58da9fc3fbb0562bf55d704f5a608b33e61732c8f413f99db73a9b22a856ba350187a91af9ab1e8d03e0a405accbae1851c908dabbfa7d5ffe3e0ea6383ca8e7d7643e89ba8d77f3abd03ca900fe1040fab8c3103d806316345b223c59848cd9d9c815ee7889f835026bbfe0e3d3f31bd6363f68847087db75edbb63c7871ae29f61c40be0c6311638f4c79217c7c4f7217fff6b448e33099b00bcf26cbb714a146f0ea63cc09125b2fe7a67bfc87268b25d99acad432eff45d9381bbdc55f2552209caa4d75fe2a890aba0305fc3768cf6e1309a88f2a11176c241afc36326612c893cb68de804fe6c9c05183160a950af989c673ce88cdae3292c8807c86bc33ca8ba1939675a4e865c0a67d5478d3f4c89d7c5bbb437180c1d06a3e9f3f6647934c07605c9668d7cf26b5f3722985386f840afba94a92ae31cf148c8e7321527267ece6f3199108b33f631200c60e0d6c12ebb89083c637cdea539b2663f0a558a44bd401d21359cbc8e3c0972b15485c162ba73a9ea67dd99836b906bc529f5937faf18a32dea5674b8ee0c6a2db838e6bade377a45255f68036c1923811056d8069482858375148ede413ad08200d256bed7be74ab051fb3609e0a2f86d3d773c263aa6d67e411f39633ef83907dcac3e3ca82e51f785773b83c77e42b0f5f87bfabd9603469c97ca3f0b85c2b1c2adb65707adc0e42a47127204fa87b10d48649db35864b9a7d61e0c89d021f0fe6ede4003301188bf7e4923fd09375bb5aa52c6eac9cc3221a9604b04f8b6145a6203dfa75c3a013881e6ce8275e60694a9432829e38721f693e3d2fe","path":"m/12381/238/11/0/0","uuid":"5a98406c-d615-47d9-aa43-78e851f92691","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json b/scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json new file mode 100644 index 00000000..a3499128 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"906811b9014fabf064f6a8a06853b7e7c90a8443ba3ad903c422a26fa5442381","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"6d820f14e6b1b2e70c087b56"},"message":"2e6f18331cd7252e734f166b6a70b0bd186c15c40871d7744f6ebd431734999f9a8f55721b2af57e8ee25bbb7aa25c64f21b6f49af3c066b72830cda9819762f"}},"description":"","pubkey":"0xaecc5314d096ec639ae76b9f0a4f26425111a54c644614d8ef7243ea58bb4b397d693ea53a53a14c9d2c0043919372fe2be466d5278a3f2edee5003a45325f6a9b6c357f5ee330f78b0fc5d7e6ef35de297d2f5756d90fd42a79d79e6c358a7bec4c300ffb12170c47bcc815e4d8eb750b62e7c0c6da8061113c4bb4443a66cc2c20c18b6ee8eb5f6c8a38f5f37267221869f1bf834084abdd09275eab660cd94274b5ed85ca85cbd53c12056a59c9e7052de78033a65f31d8561d396683dcf4e15fca00ad11849c89b25427caac1790942c2cd79e095d5403fde03ba219f91de8ef31ad0a46ce952df66202d24f32c204cea279cf46a99d81908103d3596b49b72206393fa82d030cb53685aa574fd1184164c93d8345690950148cc9b26690fd6643f5e346414c673c4589d51e47913cc253ebd66d42f9690b5a7c2cab017d79bcdf5f5b06165e313542e541a804379b7ec21a1857ec11ba9124f8f4a1ec86e93f3c94ebd11c15f13d3be175865808fb7aaac439f64f72777f28f832235bbb6df6bfc27cac3a5d621eaf90250a347a44eba900ae1e692cc3e70893544334023c0ac2fc298d20b85a7d92b9f0d0a34d712053b8288ca69e440503c6483f8e93799f11d73a9f3e531fcd3b179963dd05da772cfc7efa55f215586dd8f192bf464b327219fe72f0eda6c7b4b79ecc9e69bb23045b42ba1f1eea85c22f86f39336a73c470f2c8ead3c0aa9a7a9b5ee35f9b48f1ba0f9a3075f5147e0b13dc961acc0cbb4c2dc71472e1cca90d72077e6df65bed8f04f27a2587270f14523615501b8a7ad09f669eb93741c2b91bb3723a67b6c8387b77beab7d0c466964066b130d6d009b3dd5a69756f35cc82bbbd09887d71c84d10987d02fb1f3b3c57dc7ea0ddb539502d5fc753fe354c6ba5a651273d9e058240b2b771bba2643359c29112a7692a59d11efe248d119406cd6aaf577779f9a6150e850b5073b22655dee78302376e225fc236f8bb5f6dbaa231449a44a938a469c3c5de5e486b027dc33526197b917ab291f73d17fe57dff07d7a6de73da1ceb13e4d1b783ba3247e28c9678e2d8a64f29ded7245e931753c21dca16f36cc753d871e956ded2bb17b5424c9e8769c3a81c7f9916f1527ebec0af547b6f6dd85df09cbd3c1b95f55cba943599a65afbdf00ccac22606be8d6b3d94c73dd51d3af2e73bd02982c8da86ad9d7fbf30b28083ca6b66dafd2000f0e6f7ae04e9b0f314283f1ab8add6879c482ce6e51cc935f7f348f92e32a3cb7f1a74ba3d184ed398586d2b910fabad3a26bb73a285c33da24edec8157fd5c6d75746d50a8aff9668f47a4aa9c4dba23782f62c2d57463147d32fc5c7c21975d90065d9e36310628c9b0969bb92d2df0e03e534b64859491fe2f9b099e5fad71b3dedef0ced34ac94bec8f75d7e69a3e170bb825e9f264e2ce03e8db53cd57fdeec283959fcabef3fac05521920d6b9ea2a08bdb6f813009b8df7dba96874219a98a6485a2f5cea4efbd3ab69956dad106b5804ae00919fa186bc499d8d7ad3b1c2cd623b2feab88f4a7f8a993e4e0e91d353c11bfb124624db1f7e25864642ace304443a930d7e4a88f40f6d688cba6c81fe2d948977b0cac42198be83ffec7c1915a8cc2192f29a8ae2b50c45bfc1cecd416afc9b788b6efc6a32ab174cc3a8635038e75c25eebb4a0407899074a5b5cd2a42e445cf320a1aa414f7996c9f8cb39228a58c3fed8feab6a1514a00b4f4bab3f754af465ed81e3a0a82bf6a1ccb44035b2b2dfefe8b94f8cf7a4ab0484d88e8e0ab51630892af9b3f1bebe2e68b15e9cb9d4cd2472b1ecf8595a019fb0457179be3313a0024448c7fc9ac5fdf8cf22462103d795a035cbba2e949ed701e12fdffe72c7da25d4610b9429dc1ca89abdabce819115ded0659bb4d1e51d2e778ca26ddcd3d71f20ae7b8004bd09bb59aa9a054f5775d2b85722618ef15c590fba6b5f6da24c2dc32d46335381ffea8058c330f03507b2da62bf68d79090ac6cf5ebcebeaa1d902ccb957de4c497e8321583093d67971e669e390f8215f27b32ebfc814cb0505fed589b10a208e52ac07de82dd3e79018961026f0eff7a22e221b06cb950751ff390285ca122d2889e4a9b509c020c73922efff8a001eea12fb102c215667bc55fd97a3d8fc678fb35f7bea20c2adf7987fe38d364178811e6738327a781e0defa8c85c64a5fadd27bd44ef68fe2ecca993c554d77e83c27170fe383880d4686c3da4ce6ae178a14890fffed1c2e965604d032292bb496a069cb1337bcc2abd6544bed320a7bdcc99493c1431557523f8f731b3c1bd7f765b48c56502428ccb9a12914ca7dfb63283505ad3e9855983a582102669304e1559a86113a9c6bcf89cb26dbe45644c267af5d71b87e34b4dcb3b2bd9893db453d893f71a0d5fe0677354ac1a1cdd25fb6da112394e0c286dd770e4c894a272be55dd4a9343b38e0cfb56f308a1e2d8f95a4ab8305537ce1aee1b9e858f421fa50320dab3169b2b37a82cbaef9ecdcc5e3fb7d01deca00784b9922469185ce87e3d337b5c126a32e5672f654f1ccaabcb612e14af5f0e6e826c7c642cf967820ab3eb4235c113771720b59620864c112019b9956f1b2869d7b330a966e5fa3d73d7bbe2f22b63eb6aa88191a2d260f9f0df3def7d3d9c1c0b547b9abbb65bc6d047dbf5a034d13072f30122977c35f07457ca45abd85b77f480504efe18aa948277829c728aae5ff769855cae73d677d6ac5fd28f34519b1c954bd403dd1f7b32ee53c1a3dfd43000165a31ffd7c3ba61337f8dc212718799d3fb309695b658f3af4a1ee35a68aab84112efe662cfd09be8f9dcc750f768364dd56a098f06d2c36893e299a92bab96e8fe95127b97da5d0ac2cbc464376161dee876c68a7e2cfb6a88e9288ed5504c6630ba2b61ecb0b60aabc368e83187722c6ef03b055dd221362e3c8bbc377e0ebb7061c8c632af0c1fd39ff701095e69d265be1caf94b548c0acec8825f7f368835ddffcbc0ea1b2957df8a213dffd20c057ed670668c40cf9b6466e438243bdd269396f9529bc1877a98e2f3ec9b7e4936f4ea469b71e5ca66a95da0beb7efc4471eb4e4b7a60d53c1b6ce5f0f07aeaf1c6f28b7aafea29e7fa0cc77f8bf38911ee39c0f9e3fb1f6cfe3e735c68da58862dcedcc58da71bfcf183aea9cfc2b4e0bc7bd7ed779b20970847b684c30723a5e343e049bd48f85889be4cef5f78f8ecc6e38a08f71fcd48e493d3307a65507dfb596948f289fb033ace5a2eee413271f0b48624cbd1c5188c7561dfc2bad90cf105d42dc482832b6dd7b7e5c5dbcc8d24a0486ef6e1170c6fe8b0856825a8b14cfe7755ca478f2f6ad74096ba094e102527f170002b23907c5064f9ced1e547a1ba9f879268a748eb600189c0512639e04b786235a2b7f0fcb5ef0fe95b8944e2b9c16cafb9c525c2ce6ced7425166299315bfbd650994685e558b799e3057cf2fadfdb1de07354ebe851ce582e7148e9dbe1ad701896ea81f4e663b149f080ac7da3cbc48f1a7b7629ca492681df53090292de22b9c2fae0aee76a2f4b1412056d8069c5dab4b1630b38de88b7bf902324d019ee2f6299dcb70f310599a9f4f765d1100f87672ca27f006","path":"m/12381/238/12/0","uuid":"7e17baed-0e2d-4e24-88b8-4f191e24f9c3","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_12_0_0-1751540612.json b/scripts/consensus/validator_keys/keystore-m_12381_238_12_0_0-1751540612.json deleted file mode 100644 index 595d3e69..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_12_0_0-1751540612.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"63ad166dcb2b61aa28b1ae408b8af75b72005c4073af25274dada91396cd5986","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"8c5587974ed1ae7517875995"},"message":"1a2bbd69f12e34822f560d825a08e4f5694872effbd9c0d8c03a7f9500c18c24fd40881ec3c45584d670fcd9cb0a765a020ae88b452dfbd890e5f6dc91747118"}},"description":"","pubkey":"0x996ca9a3d493a35ce82fabc9877eec0b83485030e0c229da101a2c43786afc31da35cccbe5209edfca396a04d43acdeccdd2e060f0c7354cdf4c386b07b7f8087854b979652b56c0470c1010fbc51547abb2edf7b5365af209647d75a466b5ff48e35492f0fad7d7824a60ce2f6a4b6ec3d8faeaa303c26b7db63a9473d536cb993554627928e1adeb7a019e9ea5504bfb1cf6506d236cb1a2e7617d29287487fe017b10175c1d65df9605df539338e03e33d1270eb9f9869daac9403be7f00ffb625b10f2ec4881f6541b41f75b51a20b83d4cb6c14cd27ceb244ab62a3b3737e2252232eef59f26ef74b2abd87f23d3d0057e6106afe004ee1efbf922af81bee0869527fefea1c3d6de1a628a4ebe3b9b99eeee456aa65629df790665011813cba50bbb752e18c82dea6e78d92fc1463414a3c424225178434aa308bb38f171496baf11fa0a2a87fff3021765ed5439077f9ecd04f906ca4d38eb32efe78f53ec766658523607496fed4bfe499266dd2ab6c61b7825f90a550453c9e85da4ee9611a2ae7211221f3f0bfed1a7f8ec1b327e5dd5ca9aea556915fee91664cbe43262ee9bd4a1d2bebdd16779cd77abc1e582fab1d5ae0edbfaaae6effec8dd3a568f38c40171963925404831a574f4c6925d46cd034b454f05a535d1c866977aaf2333dc7dbe48f0e30616c07f3ab3374138b555bcf5616558cc836d715e83bdcd2a27832fc0c5e60b52abcdb19131859ee2ff8ab178eed627d0b3c89ea7f32fb996d42fc387b8abf8201d9c5928e23ce73560da0ce48e6a0909936b81d13981da3b15491ee9bd5c282dbd96ca4b9b91e38255699a6d1de07aa2460e95c5139ad187079756cec46d2d6153b303e95f79e99d713a3fc15090e8951014d96ec2e6f83787e414825b979e5ec54086b5a964ad3de17377fa696a408a842d01998a4e940caff79c40a8efc6d6427bbf395698b99cc87ceb82625b1cb4d1ca7e4f69df9694f84f8f370940e722f2e6cf93f81efb08199bbf079131ae37a3a0c3856e6cf3fd322598173f446e5dc813f29fe1204b7c903a3bf30e66e0dc8305d5a5626bb9b4882b8444b42a4a703da4479e22fd28da1c0a1be6d68f6fed388bad35e57dafbf80dd9958bbd04f5c07fc5b1521b447e203b043a996fee26321429d7b72b5cea8d56c9e95ede58b661b50ae1261fefb2ff573bd2f2f8fabc61ff887d971195624e5b5e4dbdcca2ba8c3032592556ef2b0ea41c3272a864d1736a7acab659201dcf297c53edc1211f4ffcf013715c491f52d21cb84904439397ea2aa07ae214cc0fd2b24317cd7011b07123bbda46649065d76e839425100f7faeab690c04bd6ae9d12e71adb9baf0983da027843f0afa110734d6e2e8aab4939dc06924f8e5e8f8c8fbd1ac48d45ab5f7a8731c101034557b094bd58396835455fa5dcc08b895c867669a649b5d01dd9bb324e96166e13ce5327ae8041868672cfc6dde2ebc0f62a232c8b75dd37ac6ee42c3a24bd82978fc0457070c46598df5b330585bc4dd6d5f1f5df5e7f1106ab91e759d4b8c99648a6484e39b9134caa3bafcfe47647b26d6c281d384b64729643e6c062de3a62e9a70b6df3dac1b716ac078eb947bd3ffe2e08e767e5cbbe694e8bd1dd006c5fe60fabd44cc3d1267bbb04b3f03feb2ec7d971cb3d7882add1ca7842ef23799c682ec028952ea5522da744c40658e0c7a94d66938fc02e4d656b4af491e1c5380a35be132237318b902a6944294864fc8b976aeaa0e7570165211fcde2d5a0cc36bd8f625ef08e13faeb96fccf567a36aee382a00a290a6c384af3f18e52f10c2c278d7aeb1184b411a8da6699950df58eaf90a1480bf577c7dd827a08d567cdeca384a21a0f16b51bb8b06cc299957f10aa14f6719e55bc5c7c701f3cefa737869ef8ada3512ba12232c92fb2165f1057ed8fd54f07349455093eeeba4209dc587fa8a0fc08843c964b276c0d74d0468d097a7802baa22fa49d59c1f7958caf0a293acd69b84d4761ece87df0d4264e332ab22e67891bafc696bae8e1f82f487840fe971492730cdb7761000494d380272e68b0c3928d3a3073bcc953e1b4aa2cf443b32d0405b09d1c69aedfc371da8223148e641fc524f80fda03b766a711c157be62b9e9d8c135eda6d8ce078a893cf811207650f325c687f7eccc2b28f8b3c8ebfdb37fa40259abb0fe9eb16e3ac3638018c1bd8e8d057931fe1e527bfdd16e2774201022a53cc6324c31481a0b137d5c0d636c8a0e615642dc8883ed7e28b81ce1a46057c1af8379b6d0fd25bc79928cb52210aecd29e835b5dee04b743427fbd2d50e76af44f9d98f11b535dfcb4e9870af235166676e9273c32ad4786f55ba69db6c52f2e98c199b05f5db025e1d10b9d4c1fd072a927f99e33528b086b2e628a1bc546d8500732057188fb3cc42fa43a82151f5d6cbcae797418b7dca02b5485e7a16f130c10484c396da0295e75a2b49821a0c27b899217d8f69387ede898f99d75d513bf4ec0af420733db2484c1242ad346e5c7e7f039c8c18eccd76823c090aa4901f005c0ca6854f2f9b099baa69374745e3e0be4f40e70268ee105f8879368a4923e53169713ed1e2ef84ecb48d6a4f31721cd1debc3a4c8be487cbaec19456ea0d68008e81a4ac36cb0e677dd330e37120ea9c77917daf6134fe5f78f8cb236a67f0dbcd119b703f2ea6e8bebda9d372e251486be43b4f7b878abd83c346cfbcabd7451c2d8fcdd2253265169f8d42ec3f61c2626b6b7c5a60db79191dfbf64c3cfdf5c5f4a35958a47d8673fc1155aa4d62a2b8ee1fb17e2829c2f4bc2bae650b071f89b53be23befd6a1b77cbd575c70a20a60b6ac10b5380e1c6bf1993598884f357a3c8bd4b2ffad2c5ae553ca1009b1b2ad1a7391a4b06f4a732f6f58989a2f0794f4dbca9aa1c33a1012c8cfefd58cb7d6150c7d797f507cf58bf25a7650d6ee704ed9b774b6542356779cddd9ac2816dc084770ec803fd0fe7758675df79a421f4c1067c8a925223c9645adab106f7b1ce017d75948d0812b833afa14b24452305a4a64f1783adde7b90b364f934b60d77b6ca0c59c503d30ebe223d1571f623e51a73f121f85b47274bdf49fe11ee8008bc6e82b0e0cc726481011548c0921a1879fea1abaebc51ff57ebd55205efa698fb026268e2951ceffeedc489e92a669880e7f3dde819d0f47e751a6afdd71f63fdc89d4e1a157d049c185ba02f9b00ec33cb66983424b7410a0da2f7c20f8f0774593b21e58fbc415172f4270461949cdd18b83b378160927d4ec8ba6c8b14de0d0832b7b9a556a09dd5ef770a25f0c908555d7d201e473728fa27ea49aad3cb4e6928905efec1301bebb4e6a64927b7fc84a56e63b0d56b5c9fcb82418e9e382be6502690c85ee9cbd8d3739f3b4da82592b841c349379d72e6f9ce20bdd63adf1caf7946240ddaf4191f553a9de2518aba102020de436d9bf19f08af69e2d44e05c456147bfef230db202c9af5cb93ea5dcf7d9d971dd830a242c28ea4dc4528e09c739df14a00911fec2235c61d4d74676bb52410724d7ee4f96b0672e4ccb502e3423d0c3f5c336d6b0404903df9f5eea5751b45372a2b5efcee7cdc03ffa323b0e738b2a862b1d3cd238241bdc337","path":"m/12381/238/12/0/0","uuid":"e4ce28bb-6f14-424f-a1d8-787573f77d99","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json b/scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json new file mode 100644 index 00000000..bb6d51bf --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"3b89f0a71eafc9b32363221549b750309a55b7f57b05bd4b094bde8abdd95e75","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3bd61eab091fd5e03ef5082f"},"message":"3a34340bce445348998be6ba30ff6e95fcfdc03c6bb5eb5c78e5af2632ef99832b018ef5e3c3a22371a6ea5d1873b3b1f2d83be30fbc935c3e2b06fcb3c66388"}},"description":"","pubkey":"0xee809e24590da57cb3b3e4103bfd249323a4ecbfd8876fc816e2ced4b3199dda0e79c024398d7735bab7c076f80f440fefafa16fdb81cc017d4addc04ca9a1ffa444dcdd8a0afd89e28e4ce774de7d14babc511611706be3751b65fe22a6fa8079f06e913e8d2f46c1ac964ac5b429b047bbcf1d24c46b1b61b0b9a8caf337ce650b7d2955fd69dd7a4b7ccf30ebba729419690cfff2180e980ff5483195f3441fc94176e54fd770a6c4f7ec8aa2506cbf5e277c527f9699086d2dcb393f754698138366780a5278002feb9923569ea6fdb26a7e3a6aa38c65d5ba6420b7bc3f4823826b10aa9bbd37eb38809c6b4db38d66b5b9a34c507daf88b0b849a5374f2d82043c53afbef2052ac6927af9b10e07b6786b574b414653526c059ad1ba923c47adf0277074e7d2f9aecdb5f70a2cc9908d6274c47942a556169dc7bd634de147f16989aaa352f05972866de8cd324b43f221a6d9a7d49744585466dd1d663db2fef5448e3ee915f84fb8c3625877a37d5cecc6f2f975ba5ec4a5a13ee5c1394e5d7a2b6d54556de4b480ee5c30d8bcd43276c53be37cb596e737cd01174dd5a44ab886c13ed44d5813387360591bd9c461367fe155e89a93c26f7ab322acb7c8029dd1ffe2c1cdcb6d90fb173cdd6c12fc146153e23cc1d3f3c71d56b01c3896960e9350d6485c803e0170e9a11b9cf0688f3aabd53600e32630f33389a18de3f143b9d8c7f3f5e18315c4a71650e57c9808c49507106086928d4f02ef0229d62fb08eef5bcea4bc474ea69ab244927b00d5c0ac05e3326287d54f8d4044a1c82cafced24e76085c942f7927a95eae41c84276a4ceb0b0f3ec2e0559347dc982e504f011d28468caaec1d8020e0ea9c9349360c42c208fd928b44f7c22717888dfa77f857adaa5b06bb18a66eb3b3481195ae0d6aa246ea17beaa31746576ccc2179c19a15bc4195bce7f5cade4f72407a1a747412b82f061e5c6aa1bb1802556baf5603028092f174496742a69a2e3a3413a8f7c6b58089aaa3c82c149e07ad72eebade7c8653d52b6ed60f3d5e0c5b756ebb4e695c7d6d483a64a7e71ceb3c488494597806e0b5039a478507a0b2596fec1699dafbff4f9759de11103f6803c7e9a507d0ca40fb9b8932064aa9960d06b4929bcba51bfd6a9eab7b56e45e93b842115677c84797fcaf176f539405f67c79b6df78bda5d147eb16ece19db319642550cce456ddb28020206c781161604bf94c76093f8f6c8e08c6dec4154686eea15b600a1c0a6eae1cf60e246aa65e21c6cb08c920226dd7811c7e1dc374ce4bd4abe713749ba68a9c137b2f0542d675b25390a3ce082536d8b1b3e592ba1b82bcef9d3b51ea00f7c3259ca320d2ee8755a42d264cbfb474beda9975d58cd5e6268eb26acefeae07515ba10a14856dbeacf2b8c5189231cfd18081760912d5442ac8600a202b38f087c05850b6ed323c43f706fa5eece58c8d497892bbfc51eb9830d2af66f2f96c19f5e9d3af70672b06b15d88d17357a0f9d1ec91fa5f60d0c30d266a8d91711c2edf66d2200a7de661d4cbbb6df4b3bf28b8d33402481351373fc0dba4e39fcfdb515f8ee69a5e269fd8dbe86ea3d090baf13205990bb8c23bcdff32b7492a857c64c68169d9305bebc340af808d5898984e018520bf37fc05ce16e98dd9b7becb9a204b2bb7515cc8ce3fc164ed04b8d4290b208a9abe26b346d4fc6a00aac8e90ce6589cb2afefb3d543918e555116844ef6c14345e63afb6a858f86642744bc9d0c1b824be12bf3e46b5a44021bc46c5292de199a4f6c756878bcb7758b3cbc80ce3f126823e4e22f01603a4a9cc4be4ff57b7bc82d33a7e4caf280b4f3e02a97f2b7f0af1f2ca525ee25c4cae3a65502aeb8df2e1fed7124aba4b4a332cc04f83dcfe6d643c8f7538fe13818b4f59b40d4cd1ffd7301c3710adbb6326c4acc4af0c2479160ce1154a6606ddb2cb7ee2f036eb9c95a6c445c906bde8d73ca3f40ec9ae8662607cac790ce2bec5f883e6c7c93bbccb2ce4d251569c57ccfea18425bb34c2203df8b61c1d9c0e007ac6d81f92ae02f4da0fad297da37bfab36385a6cccdfb405a465734e707a7e166c3b203eeb5c28a414fae875b0957edda318f3b1dc7c1794834c3abf627660fcd509201418cae1ca049a3d79feed0bfb4a655058dbe2801f662bd4f3855662e5f6bf58fa77429dde07351036ec61203b843046c7d6489e93d586d1ca5f96250a9c09215a0b95e23befdc65002e821751509dee41d23ccb8e5c3c270c30d04cf562c422eb434237f46c6cd52d116bffbe7c553a782560a0b659891d6a9eb115c9b010411d60664c6e0d9b3d92a3640a599d7db8dd859dda6c15c96c43029066ff1f997d3bebbcecfea5ff46a5bd40a50132dbdb6e165758b39ae3494058f36d7edb574407fa87810c33f78f3d31bbd664a1db96cfddd1cb30910eca0c78b1a6e76e36b8fa240b9fa3bd8b5dc2b2b9b6525b885742c9445e36a773ce25cd2ddc8890c46f3dd7363239bd39bf30557cd9dc66b972eb78b3b50c5788c3f78026d3d68ff4110164298c58f997077196db664d136c6e4ef7c0032b9f7f49c78dd8faf6bbfea27f8b17f798c0bfa2001d5fee3ee2ebb95ae001f35bdb41dcf200ff909f2db586d976b40a95d16de18c8a78b349f71e90f12b8ac75b01e76a23bf747f5179f1fb60911927dd5972681bdff1901ada559cd57af41cdcdac0c9ab0ce7f4ed923f3f4536b089fb9e5abf24587a3b1e14a29cf7eb64909502ebb918f23d0e302dc8e7941fd1f90be81c3a44196b3a2ebd9c7627195323cc5519e6d7b0499b55f5c20419e17490d3905079409b871cc3df981df69ec17da3a4d45706e7d01fcd023e7c5267117dc169eb7271c85bda18865e0ddbcfaf59f0f49ebd0daf455dd8bc776c68ffe4be873ef11787ba1c479f3768c143a85b1e19c6a0e449491d2b4077e2a02388e6b90d359e83f57ffeeb98f264775f3b820ca9527aebfe4c8cd45086f1ce3b29b10ae94ca0628c33a15086c6b43e2beafd63f73bd6901f24ac7768ccae10a0c342803dfb6e820691bcbf14a07cae8bce9f8ff040f4a47e86bf983413c670b9797f7f5b623bf122de8e98a2109aa8c45e4a36ace6a8c41ca94e84429d72e5a5598fe650a2dd7b47bf62cd1f6ce72e40277dd7bc971ee027b18b72734275d0de9fd65666e37465f4e9a11fe53e2829d674a8288a0c9be280f367d448b3a072a4328cdc04233a9b2bccf9722885107e559fbf3872c5b68752ddac1d7d708ea43caac546b620956a9cba2cb62b3450e59b1e778d55531d43def25c07b8b3b344d9018dadeb126ec635a345b3deafc32f7cd7fafb50cf9ad026d8241d8f52fb71b403807b5ecf8e0c7eaec677e2ebb069d41cf311f277b337ffcc93533ad2a05c6e3729c74b828722354172d36edc014c2101793423bca2815ec805fc748af2c3920da6aa9e94ff77def2ec2fd6fc94045be3171caae6d3bde0a192d6c113354f988c6890a4bac749792f60ddbd5facf326603c4672502297e6fdf38bb2a78cc5ad6171f6d67283ad953bf82cc844d6c3f153436d2d0d90e904010f6483ce0f627c60cfd1356a06ec0edf2bc561b546998b7079782df0ddaabb375f23bcbc8018ba1c36","path":"m/12381/238/13/0","uuid":"f89a84e1-a2bb-427a-965c-f9c6f2a4e9e0","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_13_0_0-1751540613.json b/scripts/consensus/validator_keys/keystore-m_12381_238_13_0_0-1751540613.json deleted file mode 100644 index 314eadf3..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_13_0_0-1751540613.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"27c973d79d2d96ca3cd0b3d7977d8137363a84daab9fb6a9463575faaae00674","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c70549a82a2937fdfdb230d5"},"message":"13e0f4cb24f39b92507fb4bbfaf8d8165a9d485ede119a61818c178f756e710dad147708feef82a29941f3228011846b29df8f60ab1e31ce8b68c46545885edf"}},"description":"","pubkey":"0xf5cd290c94a25c299ae39c7523d7cc83a001b9f2bc51fef05d6ef3a77a2d298e3f765f66408fab72097f126472ebe8360419dc6b7e35ce75d63aa2913a93b6fe9c61ccb74a28ead711c99d4b84acd47425e5a2d2f17b3628caa0647b20f4dc0da09edc038d158aed3cdb5521f8168ef280cdc089b4c617714f3ef08c2004d12887c7f53a87fdf1c5700a8f0b5fa7a1a61d3e0b665f618b12508985efb4bd5230ddf5c79f0c1bd7989c259342c07d4a8b0091643d3fc9e4b3d4c31c43580e462f25f9477186b9c40517aa775cf449fd3539449da26de4332699014d2e83f31feebb183dc66041668bb595d9ce39374b7071fc8baa32bdeebbd9d4a8debf7e4c71e0e0542da4b2ecdd0e94190f9ebe8a022b87b96eafed70998a449cdf6083933d2633d415b00bdf54be8eb03a36e23e43d67ac2cb4e5f8f93f106ef7867453b1f374640f128cc806587134e6bd094b8994c2e7c0c65b021dde5b6fb7968700d5e18ad053a04c27b4172e5ff6e6251aa5d533997ff8f8a3cc79d214bd831813b418b5630969a176857c6c1a40169a2836976ab273e8e41acb27fc32db6ab96d512f2a533c205a87ae823e64f62f0ce82f9a071eefd225ebeacfa48f66d9717c77b26fe1b718a9b466177ca7d41e7639ecc6c82141dad75047d1caa6175f97cd69a24aa022ef9130722302cfa4bcebccfcebc404269f7c53e5f9babe25155ee157aa36b1cd0bcc327b05fa8f8d366ae0993fd13228dc5dc9b5cb1faf782168acbba6ae88785de5e8ee04ded5e02c60d4ad805463871677bc9f74090a0fedd1fb4ec000687bd625b5b7204d6ba71b8b509d24e81c8217dc83e66bc21edc207e78ffde53ac0f0f3c2521f3407c8a1098aa939d8390a7149e032e3afe1bcdaa8a7806e2916436f676da52e18f7e09e4bd5f1084db96c65df48793a8feb636daa263416295340ed3a85f6429ae710763bef63e8f4db6ff626979979dfd859aad099871cc7672840a61441fa05ad0e23cb1b8926d3d97a00249eae53a2f7b308f84560b27834314c03af2774957d1161b007bf7b79d73c306d0dcb2338489d61e86123a8ba1af5ccb3e6b496758f77847e0d0d29f0dbf6d93535cb98ddc38fd362a0b7db7e307bcc9e373347f9742e4afc4daface2f987cb5035a98063d882a5b715191040a1e0697d7a34a2a7625b3f85c4b50cfce141a223723dd1acc6890277b07262cbeb6e7c01954058a274331b67dbdfc0ed9fc3517302e42694921c212dc08f93f14b49af5d91b2e3b4fa8a4a7914413eac472097d0f71687222c44482a53f56c33a0378687a2963e9ec0030a1ce8b3fb4c7369810f66bc037d664d3cea738def0e09dd983a61d64c90029bf00300951b02ee5bdbf83a0d7f91430f3d358c7fab0807f01153fa293cd052efe39e80a2f16145b9208589a0ce0da22f9774c753b7a944b367338b55b8a4cf068eeeb64e338eed8d717abce86d515aa91260834540de42d929074a2c37616ad414ed29d93bbb67c626d51e9077e70f62a0f47b754265b8a8a08a2ec1fbaaff509701abb84e141cfdc0c3415aa933ab7d0d08ccf39d764d8de69cacec85f304305ebba0de0fcc887c7a7ae4090654622b46838b3988715572414aca8ad8ea1b57fcef2ecf7c3608bb851304c8cfa293c5892e8c6ad7995e45d5f608dde3df6fe0d152e6d6a50924d9183ff006aa15b823fefd54263a085e3a97fba323558afd0b10abfa1649fa11c118eaae11956cc1c97af0881a233c16db1a9c07714815d58171b8b5a305dbc0bdb050f51627f5395170e0191c55fff02d2712e3ef72ea7a767fe87decc7ed9709fd33c5ac9743fbe5ef3d61e7ec66fe18b0ea248bf16ea4d20298b30770bdd19cecc713cdf7dad5ddfc8edbe0bdb72df0c9520e980a77d4554c0fb4cf1462dfb4e680833bcdcc995309f9810c984d84c6a0c58ff34236f9f339203199f6d4224857dfbff2c58a6d10942baaf8f106cd1edd0d4fd50121f2507dbb330783e2be83796a55604465057f509fe43c97d8621e131ba405ad9deceea348e89a4a2273eeb9add91d90c3174d0ab80e5a9f9625fd9357a71775f40fbdd7deca22db3fab8b994770777cc67706d050d231a26c6f13ad89f803240e9477f452686dd6b756d14596f59dd7789479a76ef81fee979dd870ac7f61a8db9c759171c91f4e35d72d4e0750774df8544c19ffd573347327fdc39f59d5e462c4df4fa7f7dada43e12b337a56db42cd6cef666e734f20161d2ea8ba1ccc10ba884c61bcda4a811a355b6a0df9c7c3ee01c460e554f82fe7f3cb03229b19151f76c4097a1bc67f837ae66772aa4c1eea0245bce3119d1d4a24ae1512aaaa1f313dde29f316bc0dbc15ede361d7f6241268c6102a70ee0dfc16d0989ef49a78a818474eef7f8db9ed17131e823437d69c925ec980f4b7402ba5de9004f7aca32a468cf132271d30efef8b59df751ac81a25f5a3f1ca9233f427e01f09d2034dda3535cdadcea593e6e1c0761fb4c12048f4802dd06cd28745a26ff31018386c96be53385a5d4fa9d32c0005887b74d795713e2f1ef783cc71e368f8e717a667fab2aad6681e546bac3fb3a2abe168e8bcf1cc2ee0fb0aa45c63b7f4e91b20e5a2cc6ad831b34ae57f61cd3002bd3b6c7f8a7dcf0f34e60806796db60499e7cd4291bce78325f3cc4eb57ac9f29a1fad804c69ed4783748ff7785ef167f98a41075e99ecb223fa11e28e381f5e6639344525da7ed4f7925f256f7691113c5289e9b4a5b6036750196229f65ea44e23ed0e2820bbbb256575ce5199ddcc7dd6a0fb453e782470a4456f50cd0b5b10bac24b30b6c07c8d898daa884f7dffdc0ba2c37257000c7bfa26882c8d9a264419e7f7361aaa7cdbe62da58b7204f33c7a5bd22b4c812d503da36cba73b85561961a9b17827e36726d400c0d775283179bbde3967f065002af153959ab777ddaf77818457bbc909fd6cbdd9e200af8fdad9abf16ba9ad36c6dcf532f86fa40bd1c20d4d1d5b889f2e10cc2f6adbae8a70fc4fdec135853f365722e62cce47170486d178c643a82381f8c6a2d65b6d7947734c818c8d2e19b3711f92f979f915179d31daae2c29d1af4172a75d911ed0ab256ae91de8d37ccab9a472436bf1bdff3285a4e964c2ed4b42062b13d1665df3432096290c711765da42c6137eb014b61815c5b9e1d467f8338b40c6088dd93b155150da5f0ed1671d5173a6c5ca7a8131f092820f65d06eaa95b8e21722992e21e8614d9756b6f0462ab7bd5353d9d9ce2c0736ac470c701b563a4cddbf04461347b0f9c07238f8f5a446bc7865b78b8bfe6ed0b7677dd803b4d8468e4d0ea4416bedce9a9ae966a88afe8477f6c459394691ffc83856b94dca73a6beab7ec6d32b8d672645bfb2e4977c7369115e705f0932e6adfedfa51c22a216be7a0da35ab7e2a11979b54a9ccb7002a5378c413a71f408dc3aa08eb2bba3f06342665da272e4acf7a56a7c2b750f67208766d406f866d3b2d5b3102309c3082bedb3496ba7cf2e8ce7e9bb966de102858b9ff0136bbbab0078e66b3653ef82e1be69b337f22a4ae8cc4461ec5b88314a4626fc15707b5aa5af2115fafa26246f251b30e29bafda614f99d0ef215178e257cb84e3d716c6d6bd97acc74","path":"m/12381/238/13/0/0","uuid":"85b1608d-caf8-41dc-a56c-18ebd4baf417","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json b/scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json new file mode 100644 index 00000000..bd8f0cfa --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1e113a5dd19fe35f65a72e4326a216a5b7b79768a0d6cefa5f7ce4d106a49184","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"558772ebfef48170ba49f295"},"message":"ff4cb246d67b0a209dc01bd28bf7c304f177c701c1a7210eadefbabc2dd4762f3e4af5dfe41e7db8a157e62c762fecb40f3404310e91f2cbfbb8295fec66268b"}},"description":"","pubkey":"0xa60ec75e057dc9a4153691a48043f79b3cbe20bfd73e68378e86e3bdfac182876a6ba9cc7e36d68679f47048c54e469ea9860a2e0c2db4d9b50768413fdd3c7b76a8afb9255c293c477158c1cafb43291e7376d04ab2f51f04ed5ba446305041b5acf2f101d3386861daec96cebcbacb4a9f39af5ae2224cfddc357dddeffb33d44285ec764683a8e0fbf9215836aedcd118540cfea8c30f3f3e1ea68c0b5110fd8e9b38965d88e4d75406295128fdd6a50fb8b387ff40e73582fdc681a39a991422814940275db70fb038d7ae27ffb38b618b966740e4fb9a50a801d9d447870dacccba3986186e212ef2a40a6b71725d2f0122784d80740ef6830b866e2fddcd2fe4e3a3c080c3f19dad5ae7c3672e6b2460c4287d4d3ef2f2ec35c86b68d88bec961204914a115e6fec934499fd2639780200bded78951b085af3542ace43f276de195df6b5dbcd4a8c5252a47927f79f009356b95496493da05cf435e1f442a2c3f2c382b0e562053d36819fc9824396acdda245908dafaacddd8b30aabdbe03a0f7c277ec7a764ef48d34285877a38c817605a08fae049734accec094597f1576f7b4798bde03a2fbac34f4509524bdd9fc85241ca0cd5a2fb831cd211555d9912cbac3d46638f6c894c739ac0817be17fb187175dca31e429833ca905f4472d003134250285d93087938d39880936678487fbeb972fe36bbe7869f74b9b85753200402ed1a3c73ba0669fd3fe2cf46fcb75d9389ff160dc982325b55f7af53c0ac6b93939e4caecef3f914f4c4fe6770dac247af5bd964a94c307769ccd8052e91f267e612e8facad9df6a98bdbdcc0038d837ec6fd647f0321b99c1c14aae9e49e9fc2edfe4369274c92dfe8bdcf09a153d4624c39909beaf6514e700a49b01e81623c53fe9bdad61349c7f37a3316d1cecce482f6554ac822085765d2d403ef8775a87c155c946cb1b69c37cf44f107654692c024a3ec436fb63a72a7254b375d6073dfbb06103a5769f870f5a8b4b1fa717ca07a4f2ec50d3d63229975de604475a28ee5dde29a7387e2dd1ece81018ee4b8fc52f776f641610bebf24e54489a4ac633071b969ecbd514b44029c833d51a85a4846ee6453ccfde15b00c29486736e1eedd2777f2899972677eca703c45f00ba38ced9f9c4587e59ba8e7be8407bad8925e931f5dc970d225d770369043f0cf14962b53618e5b8eafad136d2abccd67d7dce62e666aecef209044016b70e0c33a534b937857134347f5c429f1b179ccf2f9a896b09e6ffb04b4c5581bacfc9df7717e6a12d9aa06a608e94290e2cead5049b9a3045a59b0714ee359ec8823e0e6df3b84de1c62016d9612ec5a7240cec5ce27621de7ce44b371996b2c4f9c6625e8bd8d74d56c7997102b164e83c2082880060be33bc0f77cc24e7a6e501d6b04ef048a45d3d0baf6d41ac03e812d30fc4b5b0a76cc22815688d5bf6332c532d8065d23f742b7f8cf996257c5fc072ac25395e8507c28abae242b6adb2caab16cebc4714784c1516ed90f5899f3aa3fe82703e5f093cc90f743f0520de3e54f9c68a3142ee412662a2bae9510181a320675e8e7257890587a700153127a0104e613df9f762e6a03253a9988143158046a361ae2794998f77397f770732a5551d311489a1e7bd6f9bf668047d76e2f1f3089968c9834c9d7920bd2480be33155407c8ab4bb5b0a5822a93a16b6eb969eff1b43798dd15b8c2d25f80961d545b9235808fc68c88f5361898e5b9badab8fdf96a663d020df366b708e8b9d8f35430b42ce6d611fedbd69c89fedfdcf418655feba0d6c615d8e67fc5262b077591455e7995642e0196c3b801c888e70f701ddcba34389b1b401477fb588bca567900f18ce7cd16a6f73835ea75ba2b7dff9a5048504018cefe9d88c0d08ebd86320a8039c29c6baa8b5c488968d9208d0bfcf3125ac72abfbb090c944c0fea6293b2a64f910ae53947d2c3e45568076d3e9e174fce2cc35af0de70a2897891c9101492deeb728f7e546da3a93f8be9da938d401576a6140fc221d8355616270653a5782f2a956e599fa86785df24b34f039727d3873728b391c4d4c6077859a929f4c4123d6d4d39731afa01acf0f74057f4c7b67fe827d9552953adb1fb614be0e92ad270e76ebf4b2992b00f287c866f0d547572851493ba87d146f86318265b7e5e385b6d00daa5dfcb56c6bb7e02b908cab4e6fb58fd10033b4f9b4c151d35a3f2be0e7e34636b999f93b1f74af47744566320934a4ed2c05f7fa0a22dedab4a2da9315baaf571deb6c9b11cc61487bb6bca896006cbc478ca5fa60da5b2cb17b76fc552b46706720e0fb6ba6573ce7f9fe4af676edcd819ab4bf7ebbde5dfade7294edfa571f01388ae4e992ee89bfd90382e8f2e035339b33a7a0259e05fb3ba3f026770e2bea094132dc72de6365dc9c00378a033b1a7e3a9b4a7eba4ff4cdaaf5b4c87049cb6ee113ef22a7afca02182f493dbe2d2b4e36e8ec2a039fe6f9d515d6d1d5219460fd58299e8fb8045fb23fc1657243fbea501a318f1c6505ad05ea521cd8e608f582ce065bbe9160a3d3b37d73063f2085e77697ce500da92246bea0dff9ecc87fe074b3079ee5874c735e451e9ab2b224b20013c328507c78c017c876c42b8df015ac54de13886ae18acd9e4d52db78f099c3aa8536d11d87a74e80ef5421133eb2985177edf9dea2ef4d1ffc17e2ec1fbc25e4402a2acddf720aa22183ad9c72e6b89afc966d87a84d392dfbf758b1bf0dfcdee12dcee34454385e8177199d3438d56605abce9e593edec86254d8ced2de99140aae5169b493418fbab46a6d8b42732f37d9d535f25cf7ee90f89c348ebc8429d44fc78b5fd9bfcbbe3974429f42075ad844ff3c7fe029dc013b1fd25efd514241a423c0ad6947bcaf63316f55029c7868016bf8b81b5a95e16e41056cd1a73fd6030910175a5758865d6f9ac6d39680e1ed100fbb793da0715ac2d5324acce98e3d3ec791eb7748653098dc5f4d437f4efdcdfc6cc02c6bf221279b2f09be36b5302c07373712f7a02fc370a561a33654e1ba1e3b5d8f4b0e2fa88dcf5db2b5c87a695d2777e2bd5b08ab0e7ce1c9a157c1eb1484c6852b8c2f6c3c6f6e1679d6350486640a6b4354766ea6c9074642aa0971032718d15f4ea2de95b75944abe33f03c965af371d620ad2b78d73e752a566512813b105e89de612f780671327a49bbc2848f1e8c5e2e07ccbe97cf6af80e516fb9232ef946f5ea6fd844a5c42eb3e8552f06e999bba2acf3ea8294bc74a5c0e750ea0f48fb2d119534318469977d76c7c6f47623ebbb28c24cb3cda691ef08bd1e996ea345655d162335589139c8bdbfc7b5eacd70edfbb92b74ed4b1e90cb70c25fe025ab995ff323fc2f6e68766c7713dc3c108ab6794f959ad41dc1df6e0304e17b0deb8ed73ca31859a816938dbf2cfcb910c0e73c588da34a734ebd4ef2dde61e7a31ae122e91cc3a86e24a241fda93acc17fd87a336e3d8374787fe19f3c8c68a00911363da2148d31a9f2aa7b7a5276366d6ec9540808987b4a785d11cf69a5d6bcdc3b576e3a37b81e170ef4e014620febd3ac1243e4c5bcb582d493e93619ae192b5850ba88a99f1528171bcff6a276509e443f0c57","path":"m/12381/238/14/0","uuid":"d52978dc-b04a-4814-95be-7bc1a34c2fd8","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_14_0_0-1751540614.json b/scripts/consensus/validator_keys/keystore-m_12381_238_14_0_0-1751540614.json deleted file mode 100644 index fe5fc60a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_14_0_0-1751540614.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"7d44910724fdb7b0d303c6f7f89467dd3d6869a78f8c2da1026ec61d13bf8df6","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"cb61dbe5b873ac21f4b9cbb7"},"message":"dd52901c53c40eae7f10710af3f00afed633de03fe25fd2c496454d7ab9ce421e57a2a1ca2f19d9f164d8af6dd11feee4dd121d7eb98243633e4524afd43cf8a"}},"description":"","pubkey":"0x7a8508040c4bc5d4b4b0abecfaf83a311d93e490b3f7e5bbdb91e6bfd2088345b79fdd9ed7d247739c03110ea2dbcba8ec1261b136c47230fde928eaa6bc1bb535ebf182154e945117baae24ac94f6f8db519e2f3bf85123b7bd9e2c6b341b1423a2aadaff32d8207ebb648da0996e381dccefcb29c16660bab140b8d66cf85ce56c08a7e5fbb79d67e132d96d1a96cb6cd635c664130a515110d3b8974f561117307ab14bf2446ca533338ec0dafe4fb38de833712821ae875dcc729d89470d6e60899d9afdd8cd819a9c2e5a799f7b81c040a4f1e1ca2f1b78e9ccb2753f3c38872c111c50d901d25ccd9f4fa3675df6bebd5391893ff66f93e5ed68866ef02f2253f4314530a48aac422c84d67c4751d19a544fff686bccefbb58be9eea39fc3fb42c6fd034a04ddaef17797c55881d31ec62f6a13ac370d445c672b8d73c60edb567618b1b8bc4be576dd8587df26ea528b4dc48275c890ee19d82554691f01ee3015b2bb46a14933b4a1172d7cc34659ead286d9285caa20399af63b33ceb7703cb05bcaf3c96e935b5685ebee7fd5ddeff7533c305ad5fb46b3cf3daed42bc4de4a391616da991c7886280fa5d0aeb5ea12e0ae6885dadc22421901e9aef06ee8caa3c53de461859f4ce058bdf2898ace0b84089d0384d90d593c4ccc8df741d5b1d26631e82d3712e365c1130c9b8d65f420b9ecfda7f678e30683709cc51a17a49d119c57877e9941518e1d700457ae5bb4642e95c0cfa5e715d323a5147e068a9c0708d4609e5904bc8928e89174ccba340bfd411f2c680df5a99f458f682b6fa63cbe848cbb1a7f5939889e3508f62f0db783cdc0baff0702f0618d497d30bd037fa56e4e51fb2cf60d0171fb2b808f7620978728e8ef9243cb472021fee5663fd17c9613aee71d0c68ccca99e9f35245ff2e395c25943f69a5fdd2016049bf6ed1bd9818cca0cbaaf658631e400301c705bbeedd0f6a6322f7173e7807b787a4679160d62d4acc4153e8f27f2565ff92d8ebdc1ddf8b8f5770be085b8884110f311b7f26d8a9a21ed468ee614b818239dc8da889c520899a5e709db46f84fe045e256743336938e5c356ceb0734d87ccf9785b9e064acae04832d6c00f3441ce7616a482885edd70d0caae5d9987fe133a30e8d1aae8b950a2fdf7d4e593bb8c72ec4ef420211c2df6a774a9233bd7d2c5512c005b4f07374b8f10db85612c849b3147c317ccc9551aad1ed92138a8e9e9a78cee51906bf582321879a03ff6139bcf9c104b9e4e37ae9ce977a2822554a293734cde0c735a2bb58df33bc95ea235fca9783e84c233b7384a3ad7ef07dbb28cdf978128a209746c5316c1f8311ab32291fc1e2d2357793bdd1fe3e13f035d51d80c2c7be6e30fdd7095a114d88b0059d74b7087216673f89e51bcbf81490441e92a03e36e684950b6ea4b099bf8dab4420f7cd900c89b0c86d89fac576839265476da926b60f25fc2ae2f511d053806a6e49b3d3202ce9c87221db852455bb093ebdf873b201162a542684325c32d3579fee24637219c77bad98f2c53cb2536b29a19805dcece2b20f1852b5801705eb0d929db4af8ad671522eedb6724ca3298a07f08e936068f1073498218fbce0fd7d4ea82dfe9b14d9154249ced87d6d5bd20d20d00c1667f229ea620bb7fd3b8bbf4fb50e2b898011bd0c966e35040635f8848e6e5a098d3437ee00193b8bbd5528e88553351a6c1da502a79b503145e959cdef366cfe2792476c524bbb07badb402b80c51e97a84b598b6176cfbfc05f523e763c339d04301b90398a7fab62c63aade4dd17a8d03b833aedec16b73530dfdb77c8f4b2bf1dc1863229d2ad28e411f546d0220aadc1dfcbe444267f433580788a1ae86cd0b397978beec86d95a787aac36843becb55e58a2d60e83903a89f516b9a38b9103f19d40693284a46c6d8cffcc45045f074976b7412cd4c93140bc19ff5032ae37d215002f98dc767e2e4450108bd3f397dd68b9f2b3ad9827d69aece26e0901d6996351c391e345e20f02771d1b1c24781d27025d1f68b5d4440f86f3933c4d9835428e3ffc66fde23f9d80c88b57f5386adcebcc95048ccd3821b5abfbbacc9a07c68c7f09fc92d290328e3ed293c7936a406aea9ccc56c997f334ec6a7d095620596f563bd3247de7afd3d5af0bc493652152f387d1b7092a4add3f4ac938aa80188b4ad016eb9c4ddb97d2c25c9bd253551677afbada3b040f8b68f74adcafbd4027d853cf2b640860ec7c1565f4351914c0dd8c04e8af24b020b087ce5dded82797d89f4cc62518b7b68ed888afcfd7a2811bf8c07a1813da71303f900bd2f20cfea9c6251f58986099791307c707a723db5ede6c50f0d6940baf4e3ea23e5f36a29492bba53f6ed8061eda2b57ad7737e2fb7be49e9ffd00e605a38c2afb2648c795413ac56cd0e99a88f1fa1a58d80e39f549f0a8bdcccd38f2a78cc09d1d4ca38ec5916d93f9c438e4b47f7123fb55a4b7542a14c907f755173682a1853f1a9c7cbbd0963098f0a3292773863a681b6b8df68fa8c4613f33df2b01670a4752560f54007dc0dc4fcde0eb027db22af71cdac7561dc030ea817f2e815a6399de94b4f6c1d7b64cbf129f9d1a430df22b23b3631b7d0fe48a2a98f98a20222ff2fad0defe21a8665cff708fa55c2fd75f709e2cb62d21c1dede709b354590c6e79b68cfeb5ee2babe164b82dd71e5a33aa51a29b345b3e494747c9daf10bc4172901943ad8c4e06d76b8a5c6b120f97f80268e80910be17fade464f2661aebfcf4e3065b96514450a3725d59beb2fb6ebc6d6916050e7dd6907ac4595dd0d507a1540b9f8854042806215049d5f9fe3463f677946a89d57f98e3b82bf4a39bfd9d063d4a4b66b0d890e47d9a81f62b3ac3b02d23a8d653933e5a46f0e85e774dc72693eac31f501159fb68fe2ea3af8beb8bf32ea57110068f423e5fc25b92f6229339fac0ea1c21e35c8acd93709e5188ff420b84d0b206dbf805a10d2e47d4b5f4cb4a9eeb213a2685ce6c6d75b7ab1ad98dc363e6d0ce872c1cb79dd654594c4892491dc8b55e3b57a49877496445514150d4ecd6cdc822a87946ed61e1402c68d47756a77cf9c2bdcd24fb1f48edae1d5b940e21491325c833ae3ef3ca829e96c43783d0156df9f9829db83d2c90b35bb5433e6dc0d6ea14ea022a3a7bccd969a867bcd3e6148f0472f4a7dc5d463651c76e3cedd46e55528adb7632cc5faab29ef8bc4efef87d3a60e91912526b0ef156344141b382f0fa4ab46dbe94ae61afbdb994771b6cebc4dbd7823e17ce7d3ee9246d8353e21a696d986afa87b3cca3741cc35d068494100901c2ccfb13e0f2c2669064dbb253d98a3a9c0a3848c0b5082883934ba92ba95dcd429e0d2ed359293231c50847032f3d05bf055a15e087c9c92b6972a534f1febfec7f59a7828290e34602ac28c23ca71e411958f2d494c86256f5125b92edb5adb3cba71fa619a7af722198b95f8f69208dfe21582b275a8911ac975c0c5ccc3b29bd731945b0839cf293b156f4ea542a8facdc3ffde2255964a55248cd92099c462cd4f33a3622af08127bdd259f556ddddadf5de2fb4fe4c629a0e74025c9ce230af488aa067880c946c4ff7d057b4014f093","path":"m/12381/238/14/0/0","uuid":"08b24b8b-9583-4fb4-bc11-d74e31fc6bb8","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json b/scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json new file mode 100644 index 00000000..7eacda9a --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5a5175eda8951109bd4f3601961e0416790a1b448ef3a1e52ea9860e05f4fde7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f88cfe5d4ff139aa5e470aff"},"message":"74cfd1252eb74ee616f9b8ffb05d9f8afc901d6257bd0dfd5f4d7b62fab425ef6f5b9d6750799c06ddc312f6bc526a0b6695f374502206c3fb5c138331c5b8bf"}},"description":"","pubkey":"0xb80867a513ccea857a6f7e7ec49c1b1b57c81d4612d3dcaab66f611c0a30e6ede460e987fea4dbd60222434c1f2afd869d2884a5e107b723c457d42a1a0405c9ea3cb04e64efdff78406ff191f8c014144b3f4db93ded5a062f06e1ed73b40d13ad7909a7229e8620c02c21df6536a1a76e639147649fda8a6b4c38d34a68f979852bebc85287fbd1557f3fc946f3be128ac62a4b6e2295876adbd9fb1bc30082ed8a939cc7d5fe512a0a9d617564d19dbfa9b9649a543a53fca26e1e4028de786d1304cb6e3dd15969545f3d7d8753d97c810e812715a5fbdd18d83b1109b0ae37cc6d06ec541e5e94e9e0ae6b30336120a92b6990b326b626807cde731cc6260b3dc3f68ae69689e8e0a5dbf728e8c89534d943f8938ceb29b8bc6c93b35702c3965b13f5cddbf945e03700a4ce29c11fa8950d264f3a5fbe610fc2761181298fca4b8053289ca0aae00e5972bebbbfcf2ba3bd09203c6d071ec4b4883eaaabb3827406a024c96da745a8ee52d88e0cb0b475f15ca6a4d05f2bbb7c0a2d57764d72415a41e6b224e07d947b23f2ec5c9fadd85f6906f46a72d23de741cea4f405fc1db713dbc2ad546f6753e16f37ad7bc8afa9eb483060833d9ca2af1d3a558cdde3e360541ae508f46af2e12982ce8f13dda2ff9b5cd1c74d591024c751772da25d95a283b0e1d60c10068850fa9f2a51c73349efe766f1d0d9e886e411bbc71c75501c4965e167749b98ff9d0d10f0703dc5231a1d46e57b8cd9324d72fd1aaf057c8c2a622847d513eb00f30030548c1a0cf1b3dce2ac561decc2f4f8def1bd743e220f841a36cce298e79e37f521da4ae38ff8a7d6e07b327ecbe1fadedd1dc2bd0f5106fd4bcaa22243219636cb06b6cc1fb5d245f594479a46600bb79d102f5f37a1882178bc4af98be643de085349ad6691465d86eff738117ad323c68e0dcf12d551dc59d28a593eafe926df035feeb6534e891aac69201e8cb97af542c4b437b664b4c6c62b49c561ff98b516bd1db775e6ffbbd3cffa33bfdfce263294c7a7d1359f7163f46a5d853d0ebffa12494fbef20e3043fe2c4b4882ca65f20c1c1c98e3e0110fc8a704b185995e92ee280acae9e64efba402c342a389cf993be94e997b036bf0ec9c6f27da03fd4e89a2ee97bd4dd00130267b1721fad0f99527efde7878a67bd7b564910a363ffd2a6fcf2e67b41526e4f40bd2516cb90bfbc609d996c3d5f596d4ba67cc734d55c171e018abb2164af3803104ad82282a04d3fd5dfd4da0f9964d1ded3cc209f4db23f3c2cd941aee4755784a1559ef1c3b6c071c8d044044b007351e3a63cac8364f1b9485c3bd8ed808e6ccffa250276c8fde7fb8502a5d3b042106b2bb790b1e7e59f46c8e46fd3298ef0bcc936afafda711d2af0e96a1f7d2b870232596e4c31fe37965148eac29044ff33b724f2ad89896c7654514c751bf9ceb541437380217a38164055033ebea526e2120309f045e9d5ba7e113d6248453651c608d75e2695589a2f168ad1eb33d2d413b0ad53cd97b1c20eba27522f2cdf0e5b94e7b4f97e7abf148da8b2cabb0b5be7866932f0e4576fbe335992390b2194725e0823be062f253c538270bff8e245c597f6e985b45fd1d81bf826d64f14443c08b4a7b2bbba49bb17d276063521d15feec6f6bd2108df545843d3eb0298cf901d890276fa929250f6d5b97d4ed8589d3cb49a9b5ce4a5ca0b4816af21ed7da9be2e7cd812d5b9b27704a0c03c5b7ef7d7d2a9f0f28738db0b61391d8aad6c803e9f854b2bd58dfa6b92deb63338e8b76813a7cba2e929fe08fde1e9ef1fa48ee95f42e66df7c1eac7ac2e1e9d08b86fddcfe356124786a9c0abc4581c547476bd96c1b1c80e779a211039b487095d53bb18717c9fcd6533abb7a0568427075d8c7cef2ea3a91651991464ff1d617efba1a602bf762e40a83d1f1d6ef9e7d6e684ff1e6d2b8818bf4e3cacad77253a5250c0e13aaf55590553f56b293f38aa193ad59197d81ee1751cf40fe49b421c7dc7e777c1efdd1abc3fabcbd6c0e3115753a5d67aa519d4fbcc7f667079e6c41e27830e22be9ce563c72c9de697c94544c0afcc2e1a97c79d5d2112cbeb9b9db57f95ce9ce0de88ec7fea1e7eb417097de331a4f7b64ede348a78e901cf5f568eb66a40854003f179708fc749a501ec3c6f1a1ab25ada8f71b9c5bc796e43ca558a6f4255f22a92bc1fbf67dc0eb149047dd5984d4a18e4b2b79bc247e26ba5f06e0b25f96be62a7d51624a7f36248820048b92755cbbb9b5bfead8c4ca3413964c867bfeac53de0d0b2127cd7bfa388e348d72181a2f8918346c32381f474b8a864b9f67e042bcbd1d3ed0b96c07d73b203e5cb051600b250ee886ca21b0271e27e797282390ce95b2d89bab1645021f9046d3d0f5864d372c5c188f332d9cbeae620a43fd44d7ebbad1fa52669bbc8021ecd8fa3c39e07c248484e5badd4d4bdd3b4794495cf65d64a8225752f24fa931278b9c2404586cb8e29aef2809decbe25cb2b9141f8ac9226f36bf300b41b8f1081c3cb105e0e6363ba7f6e1f180974d1b06486c1c05117e71d800ab7a7de72bd37967862292aad18fae1415d1ccb547f06da97d976af1be6683bd11d6e546af4de573371685878ae11ae314a90c5d69d5b7073d7001c4805957014c40546de9f1917c038d91147bd4599e7443b84cd45863438767731b8ccd67680a3a209424855c5795678c3fddde7c02ee2f1b5a3d22ab7a7ed95bc0b6ba7a3992c84a30b4e8a5defc33555cd9586745d381391b7c8aad2496b165a0ba41d518480b99902ea516a0a2fbf41058bb327f67a6c6cc7c97f156ac2df1a3b19c254261a566572504bacbac7da11e28b82b92f3be6a7f1b62030e98a53ab2414c435312a11e5d08c5439e76f495e1a009a0eb1880c6453ec9d27e12e08979def76d93cb1ce215d521b15751d68973230a38466a58d7c67178ddceb533ceee69f3533f3944f8cadc9b538e6176a09e846f5fc98c4823a9eca34b0f3f25a888d4f838ca67752a402bbe1baeda35fd03f603f5f36359fdcd227d97e20cae3628c0f8b380f0cc5e4484c191310b1fb3223c827970961afc900b03c0cb97f392bc2f4cc84a921df82155aba6fede48be9bfd123848a667f270923b62ed8a52fccb77710995b0ae47e853af1079d0fec45e87ee4dc8984ed804216005d1f2e871224911fff209d07c00ebb9e11cded5639dff30db11de31889bc052dd506f54f761fe4bb21aa2ff1288d5eb030905be83472ce9f6f524ffb87f203d444ccc123be8b465264fa792bee3b674d3cb967c801acd056f2514ddb9ac8777d50e2391077e9ecded43f8481cde8a7bbb38fba1663b65388237c0910c9ed815bd97987ed829a0a5662d856c77ad4d22c69680fe333a309a49fc4cd263bf78ac4fa64c2880f57e7d9eb77e7c21d8469bc3e933b5281bc5f2f949dd919be2b403cfd382d81f826bd9b15d9fde0e84b8a58ff9af1f6c90b76249e2561efa881497f8ca74057467a549d115da787be6ab6ba2b2bbe7af5ebc41362d1a071dab62375b15d3610f989083f5a82dece4a3e24ad5dc4ba1d5dd5fbcf7ba8003177ac7ac3ba16c12fe80f93e7eb470c3479b97ec8511e1248808b8e598f9a2e29d19","path":"m/12381/238/15/0","uuid":"89cee703-56f6-4e1d-a55d-77a821c9069d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_15_0_0-1751540616.json b/scripts/consensus/validator_keys/keystore-m_12381_238_15_0_0-1751540616.json deleted file mode 100644 index 8f75e755..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_15_0_0-1751540616.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"dac946f9fcd1552c4c5caec54fa4eb95db17f4c55bc9e79b7d939b8173b6bb8b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"39575efd56d7a6db8a6cac37"},"message":"d0a939202bc50d38f65d102d6913aa5fc333c2e233d621bdb3adfefc6c9eb6b42167471832b9d020b08c999a2be1acb4094bff729b601b3776d2319a8f2d1561"}},"description":"","pubkey":"0x8353d22f0f2869f90d6bdd306e57c4db93c70e437e927dd9193ee66279007f1292411caa509fecbd372546b4d5cda446cbe2a7b6ddec982213e2f45df5e4ddcb622d6e8c75f7c04507112c8ea1056d5d439da70b93b2399fa4f70cbf77cc105f597069b802fc28025740a4ea5eadda31bf8e20dc52ef90a378e75269bb1ae9ac547d6d51cc169e6648d3ad41dba6dad9765fdbe987770e1c81e4800caaa510f870170fd21b5d1f665a48f51a6589c848e3b742c107fb05f652272ca3e12e603a64f0e2afb0f6d3eb06eefb065de80e1d46b5c73d25248dc689a8616f0d46284f60112b98561134100653c444d68a60a8c77f576ff6285ccc60442ec8a3873a5f570119900c8d62b5c56797e6561d0a8cfbf9e87897cb884bf86907e7f2a62e34cbfcf4f0ff0694a9235c3e4d111454a52bb5fd2f0121858f41430f35dd81885d0864d85e07cd1f8c23d2db7e0b39bced05fe7a52b0ecb7ad4919bde71a3d9b63f68485b70d6e8171077e993db4c7263f54bb0c1d589db5949d8871177286cdd8b9da2e5b279b088c47f7b146af0a0ab95f3897810c601c859880ba5ce97e03e3603182ef31f1f62c7f8f33846afa68f16fa98981d3516c6f840898e9ab1e070bdc0ab423cde2040e04dd74716215eed7ae703b3fc98db67a0970a2c2643a1ed19d50c66a9e5ac3830281ddd87a92a42f933fb4d2ee84ee00d7c17da947cb4ef10d88b14ef7aafd8564ab45d8532cb233c0d62bc0497d73fc43d789d5e17ff10f7d1fad4d3b808c17af61aea7d7582fae2816fa05f8deb106b25cb7bafd36124747d83a06bfd3ee57c235c61088c68ca19dbfef19f932f0d37345fd9ab117a421c4975aba217bde367081a9d9d4bc91ef3bbab9aed1d8f1faeb2ef51f82398f79c3d3488077ede08170c7a9738bb227c9533e8c43b0afae755924fb8a6277dad1e7837874969ba244409a40271152a93feceec09e0c4ce70f7adfc2571f76e42dcc6e2201367a9474f138bccf6c6d520e700099dda456f2de8a03cea482bd79bbb48dc491ef882bf88520a4b52091ccd673cf359d27375c03d55d1e3dff00e9348016ba1b5d93e220795f2d8b76059906f215b90acd19de3e2dd8725da6f0b03c5350ef479b42b153a2a6b865a4b6ac00cb604a8f7492b8bd313f3ef22cd2c8b52cb10ae8571fecea48206a28080bf05281bbce96a9fdcad0e2e9d66129c42fb17970cde4b9ed3ab256fd5dcf0ffd1d2f9c55b64c9b71e5cd97c4bf6529c880be411bf4c98d7a1c4b820c8e46137dc412f1786cb481fd4a84bf9b3a5b7b67a625c7fec0b88af53f70c32c6917545a836b36dad4f9136a8e3037fdf85d67bb490aa1acf0b392ae36e0239f78fa258a5405a7dd034268689dc5a8f26bfbc8d58c9a07b003b06cb9c4b6be686f126942f4cdb407894b6c85ae84079c98d00937b842a2757b493e12e36eace7346735c28197e4b925d8b1c2dd0c0f9828a720fad9eb193de7d12fba306ace3f4d0cc13eb064013f864208ef6b45257eb022913f8cec1e5e4782eaa256449504eddaea94ea5ca9aec624b5e55bab46f694416ab17978eded341b69f301498d6ab76dcda6862bf9981ce9fb221444325bd8f584169d1737e863f982c8b5d6ab04c322dfeb0bfeb0ed0017887f73700152c7aeace37bdb7beef113e40191c453816814ea039aebf786983442a12abaa90c86ee78100e2b367c82414e34885b94e220165ed21cfb937fc3cecbf70ef3d116f5243276bb1a890e62b8e44b4ac3bf8de598174dc6260addb90e2f7f295b96f861abce4dccca6c6cd0d0e58f6c2098170a7df4dfa0e755b4d0d16ee4d3538e75ce4f966c861be23c2bd60d6b4056221368d5e8fc878cf4e6250c43261d686813ba09f02be1236303a53c7398e7e56246088ce3bd8d45770d60e3b7597e27b381d698c430d4de6ddf00cad2cac97838b099bcb312e63ddb39e3dfde959976ad0d7d7f695c7480e607d804d66e2e457629d8cf18648f816349381de03a1223c7d8a94efd3ceda1ed50d96f93f38c6c526692dd489ec56581970394b0c223a042ddb39ca7a042b11322a74df38ef899a04c30681d460574631844a0709904d7ced69bf18f22e82e379ea611664d2dc411efb8677e1a3c982964974b9fbdf657fdf12c384a6e491f88175f97fddd9d854962595da77893e1d70a6daa4f4df087f09c2d838c2e46e8227214020d9f3d952c80f68a6cdb2f71dc29b5f03433c24364561f8a807c20aefe17a0e34356e90a6f67b680de770d166f9e521874af48c4bff778161f9a3d5924d6ad6fa141006bfb7392921a8fdbcda29cb138389f5d1445e08d49ec88ea830148c69f6f9820b8bbdd8af01743a678ee9eb1d2cdc31e0f512f4a0d320767bb9ae604c9607d3a63d872ed862fa19f3cd41f778936a8c32fbed2450383542fbd0b1c91a909ea95395fe50139c97410cc1e53254aa99162ef8d8c3c559bf544944b556114241ea4c40114ad72671c115d806350a3aa18265ecd7b49440ba1270f385a3548dae86f4235359e02e845f417eb95fe5ac6e063467a3336634c12b5268662910736b5440203625c08f56e41cc0776f38ccb5c085021b81ce3a613e70ea30fca462b17a24f2a8a725835103dc9b1202bc7c8a8bdaed3fa550c28da7013e65dbdff1634b6bb59032d4669d7da9a9899b5061c2e00454d7d5cbbfc3c819e2f58b3c8033923bcdfa64415e4af19671b3cdc93ba304bb9853551f9e9bd123e81add9fd72c5e7e7d41073aa8f289a1a4e2061786d2a17ffffb09dd79360ad127233ce7c63420a4bea90cd54f392e6d9e6d9047cc6de98d28c5ece503cb6f7e2ca35a46fce1e44744e8ab9b447d6df4f4d0adfb8e2bd707ffec6808750e7179b83dd5ee695668325bb5879153a56038c52170b6a54afdaba5aa1a76877d12dca9704695fb2e242f20be7718c680f9be56307e36387dbc0ad8d3902fc9b4504b20d1844e696a06887949f981a2947ca34a9ae25c6ef9b31367b8da83891220e1db2b4996b71c2ff1ee5ccbfefb9c2d5d2e44d5928a407c4f558340d70e16119fe653e925fb997ca55578ab8b0088b9e1353fa5d5f039941b2b6c2e5d20cc8b00fd9caf3f0478c7cc782f0387124dad9a91e96d994c4ca37fc71b3145ccfd0e77f4601571a83d5ff23c41bb9e04e1ec4807172b396ed9f8fa902715a3a719f73e6b0c40af51b4193f9da2f1de83bec9628f408370fafee40f74eff3264b325ea5d5aa26bccbf62f8ed177ea46a34786d98b4baa0c6fb8813aeb4d7ba0834e7bf4f03c79777c6fe4f7a162da6ab3ffcfed5ada83e3ffd91e632f15047f90c6676acfddebc582aa5b40f1a69ab3395b3a6c7e4702baf1b108c6c30fc3c139f52a53909fc56cf0fa9fe3d573e701f55b58845e94c3ffcce014793e30d295c3fd5831d8c55b32a7ed18722876e7ad5b8d988337b7a1748af2d1ca7755603ddbb9c13cbbf879cf3be8b655ee5c33a2d5491ec0e1bff038b9866dd98e05866b2b05bf3f47f6433fdad558136d16a591325a16203a8eb9b6bf8387153014c8e32af86f53b1e5c91df974633843421456938a167452bce36ce075ca9dfe782aa01101c65ecde54c7c5d57c860720ad4d92e66e723c57ee5a61a8d36313028591a637f18394","path":"m/12381/238/15/0/0","uuid":"cc18e4e3-470b-49bb-b5bc-76c36dcd12b4","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json b/scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json new file mode 100644 index 00000000..24d2110f --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"6b9d7f3efe7ce3f4970655a69891850264c70f28589951dcc615cd91405154a3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"60cfdb5bc1e088de260c63da"},"message":"211167ff18c33be5dfe098a18d85a40b71eeafc8c45ded7f89e013acbe441a91c2d7f47eb632cfe4440d0fa41c2acbf6c95ce916d3b2edae3f0e6cf0996ab81f"}},"description":"","pubkey":"0xf1343356a2485425f358bfd06665ec441980d49b16673ff7537cb2fd25effb4001621fd59b2e64c97004b562770cda105ad816945a288084a23799fc6f80567608ff16e644888c5c33d06c766138d952e39531854c1492f946eb4b76c5859686af5992b94ec018533d893b74dd9e2e43bf4703f0f25d28aeabfd7b7d66587cfcf43abe8e0e908863b5e57f82296b63c8250a52f32910ef976939837b58b915d19b1a533fe0e77b49789fda75480c3505c787b67c924c673a208dbaa5324c9d28d0f5d1a3f02883cdd0f3c4909c673441f8ae348b5582163e35844ff624fff7dc0c6a1ffd12077e3e0ed36f022146aa389d625fa63741ad3ff715fd692ec13d873fb6253f9cf1ae3add5608fdf9b603c47f4bf99ef0875ac4802d664b7bc3ca5c751d56b6ed7b9ae265414acfb097bcf43d4df24328d78fb86d43b0e54cb654a3fbf2a6157f6cffc8ef83be3c71c37a85f3f4225713522e22c0f86f11cb14800523cd567296299757a526a7bf1b28b4817c317c9f02866ebfd5b132d99962edb4692bbfad37ba8dc64459b3984e3e73b82c07549d193ddb08c117e01493be3c4a58fd9d3265cc83a6e605c38ce0f78d9d3827b2b5152cc6432d842bc1276491ba1584773f4a0bd009df90d3c1e09653bd80967a269e30d9973b4c38d9b180ec0029fe50b55f887003f5cd88f42304604d801890ba98bfc8a6d61301754cd30a64e9e2921d85eb7d3c1efaab71b30c98e68c04e21d7f48cf010c5fb38e71c88cf3208471ac2de84560830bebcd190f8681f9b10ac98dee34ef1a7cc7dd644b938516ad2466abbcd3194bceb76a219a3c0cf031ae7292ba39f7fbe0abd15134c0f008695f6d260534fb913a3a5fe1f9cd58e15cbdfb545c03d1bf3877500a4f237a828ee83673d52db949075148f632df81cea356d693e7909aa5c601a28a79ab5741d4b24a569ed14716de02b4dd86cd57a898390aeb99b670f9c8b98dfa3d0ab0a2ee6df648956d3e5a793a3629c6b09ff5364ab0ade60e940122269f87d77c1706adcf8696b47cb86ce83d734a4486a877dbc03d71a6adb49085b21f1a9c4632d2a6a0e759b6af49edc4e3c9d32998bd9cb16df1f5f722099a974d74f5a236f0d088dec5330aae159a82b2003fdddc720842b11165eb2f732e51a395534adf5e09efebc08367839d0dbfb1ac07efb03458193032b6a996d7ca152953d988adad8f624c154196ec8d82a1c675b80e679caccf204be1caa6e7990fbd5e76cfde8fb35304f0f87582ad720b1c610ab29319b8765a004a74993ba9df46f04e0ac9033e71e9cb7ec086dd55fa7bbeb5ffe619ccb3d688924369574341c9270202e495c5decea0b9be80be94132dc8416fe0d6c287c4f50c553103a79c4c7cf8d430068bebded31d064b6c43dbd6c8dbb37cf5bbef5e107be5fc53537a2bdfee9c030217b8b5ca698cd2fdecb31877ee487f2e597c289cc0f0d33135a90887d8101f0def276c4d02a74600ad2149055fafca5870f4eae320121a3c070ebe9c28bd874acc475c29aa0e5a274a40f68a96144368d6bd295a2e4ec51428be02876446d5e53e4385db7bf9cec6cb33a29b3b555ca043d5135dade294f4a09f63066a7af1274cf52ecaada3527a8f9e08da73ffed073be4db358a871f2ab5cc9f644ebb077ee4b751cccb7ad5d967d0e86720b9bc5fe7614dd6f7476e3b942d4e866c53396624ffd667a7fd9479304b5cd61015c737ddd5a273442a45284fff0898a4a1b9aa39513d40b5c546ea32d1dd3c4083d565d667afced81b517d593d9bb7dcef80b3853a8cef2cb82d8819033295164d378cdd37a6f9e87747f64a56dd36917af43cee52e9491bda2a6b04ae04a0c8a884b2009b90f65eaac9c541b2fafb53d189d2cba25c308f6d977b641d5581589af7e8c8e780f866510e04e05e0f30eb6d1957cba4a22d52158e848e30a2bdaa7924f69d7da198ea1f91b1dda8d27c3512ce1e9e89a8e31e4a4582d030fb6ca75765645c2ac15e686ddb1bd7888f43395da56d25e68e0281bec87974e8e5cd64f2db429395e2da15df96ef34436eee390521a72ce825db77f87022e426fa59f2f8d4ff16ed03d7e5118ae7e422c3aa4f06eddc960f2127ae81439e51018c4d0d55808bfc2835fca08f5c97b106ad9736da01582e238af5ca9820162be819d794cc075ce073be04194272b27341e856dc3e77f8523ff428b3bb28c25e30db06340ac5573959ab26ce4d3f56c3e2dde217bc08e18822f68fecdd4cac331db6f004479b1b3c24de041b56611383d76e713ae4aeb02db1238eba0e6e77fc637b73338c97d7286ceb52b9d3b9623ca6d1b9bae419b0d52e33fe871362696e09a0d4398e1ce3d11ca49445ea81b8bd014c641c523f2977fed41e599ce174cbaceee7b896383d0605e0068f0017eb3bdfd0f97da9406a5ac8a8f4a62ab3dc75e0852494d01d8566642adb49c4c969eb98df462cb8051839d946ffead49c81d31071e11f55164de36c35f71b5be09cef8506e7374f6178a321f34151cd5494d692caa1a073eb4732b2084fac1186e7af4ba0a7f9a77545c6c021750f9dafcfd93b1aa79924c2f9329036c438168cc3d38df8f5a11d6837fef368e0efd248d92a24da4ab5cdad88411f250ac03a8850634f40600f62959f4ffc9dd3dd3977abe0362345cd13a295ff0940a73c20c7dabf459726d77a8b7d65692ed5919dab42615dcee173306fdd74dec000eda1991848a206a753a11aff8505011d858da8b5677678a7f87e177afd02931cf492bc13ba1547affff407449a9bfcfa6aadd198c73c353d9b4c619c1cd8fb696e8fa565dbd3e85a98175c54f25b0ebd375f6afe830e83970f4f68e7da4b2e7566166f0981d935b2514875d51d1ad5a85ba8e4d969cdcdff2159dbd71083eeaab945ef8dcd7a66d7b8053ad001d281fb08653bbc0681953e53beb9143a318db9ef95123f08255eb33e29fbe2b4e95052301dc978756516a234105b8f2522ac4c96b71f8d0bffda9d8f5c431e33c0aa184e4055ecb6b9875c09c7013b15cac3f7bb884008be672b366084a45dfe786dce00bf4191b07112b964459419a9a2a0dfad8f618389a0f6015876ead40902afd66c9f595dd93cdc33b723b981700ebc34930b120262bbfbd27c9884b5ec6c6a12f66d3f578c5eff9c8e9d41580b7da20f04f7792b431d310fd7d94096d63412b13f9e660cca26dcd3761412b96a03e5df92e157b2b5ec12e8705339898183226cf73cd043f2e8887037871f2ed445b7ef364c1ccff1a080b09ede63019f47e6bcb028b6baf6b9e868a8de535172ec707ab6004643e40ca62df11618651029a3fd9a4a609483a7cec22b0d8e917e0b044e8c6aea618c5e64f1c1f2d5d87ee36da6023fb003e29a8d06639078296c470bee2078e460f5aded75db841d1f6ec68d06ce4cd92fbb39163f3a2014f511ded2e959182b244fd6743f8867b878617720622e53e613c36336227497cb14c49ff10f26faad668264a015924c56cc455004c6d7607b48e56da206885e7c7f4588519f250857d1cb8b5bfd158ebdaaf63dc2bc9aa7c84f4a1a39c714095ae346c0e4261153cd151abbc6b55d6c709dc15c3727e33516124a0a399970878f496147a230270d6aa0ba3eded632bd1ae7","path":"m/12381/238/16/0","uuid":"d92767ac-f1bd-43d4-9127-aa1418f5a4bc","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_16_0_0-1751540617.json b/scripts/consensus/validator_keys/keystore-m_12381_238_16_0_0-1751540617.json deleted file mode 100644 index e626f584..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_16_0_0-1751540617.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"93e2bf7482f1e734a8dc29868a09ddb5ec1864af0388f12439a1dc5d1570a076","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"4bb187bbfbdf0fe76cc34d45"},"message":"23f667bbe108c6bfe2e4c6744e94293c22ea3beb86c59aeb7f55a091bdd05078ef3a080227f2c9de0b0a4df9f285dbe808214d81e6dca1a60491b8c1fdbe5d3d"}},"description":"","pubkey":"0x67e8ff4a0e3444530ea7b7f753d919ae72c66f28272270dd2bfd1ba0ec1771e28f17ff5047be88b5442d90b3a3559738563cfdcfec764905190eca89b9aaacf40b4ab52569b7fcbd3df809fa3308adcc826259060296533119d83bdd638925ffe13585bf183577ed8155bebaf70d3b8cc59c2aeb5fdc1edc4fdbf3095a45b43cb9dabaf5569fb2e9e60c174b3c9571cf3f099554321445efe58bc5e9f794ab34c3fe22e4a0c38ce3b8e832713c77b1dd61446bdb95f5dfd3f212ddd45165e5b5b50b176544b7e54dd7dc715a0efa3a2e43389c9701c75baf693198d6260572ea1b7a027ff9316e9ff85ebb53639096befffae87b66fd9966058dfba708efc26c8ac3a3ed99f38a8ead917aa6c656186575b1c149f64cca6321695cad2f7584e18131d9eacc17ad3a1c44275200b3d2ec662ba5f7f394ac38470196c57f0e252c9cd3f543f17a4ac7c550582dd35cee8cb32c066566395765bcd9a0837a3c6d069b94a5c5cf9ed6c0bd79d41778a03b6ae06b87a039b6df0d1548e9b22075f594cc235c53084c1af4d6a8e5c05db24f765de4cc7acf6419dc43ae6e1e44d4ec110b5716a7aace1a990f61923916616d0d0440e74ec6bf4620b26bd18131b72d0d75267a2840d630a451a4cb2d2adb02311444fd867ccc020ff4ee60b6df44e37267c5ec85c2adaec353cf10c93c53ea5c8587f4bfd8f5c314f3cd052ca99542304d537d33384410f40b6ef66059207e98bb253c0885a28d9f515ce90d75bd13442f8631d4ff1ce8c0fc667afab8fa34907eb81b3e79871071a76d74313e54e7e8effd563ff780473a71173c537429ab0867e3fcea234aa2a2658e5b7375764686edb1160b01354640c94d5a282e707cc479b720079610b8c83f626b83f0911494d8f072bf373294d4def4ebfea252d49fe2cd1ac68a6817372447e0a2c8cce75be623d020264f906c5c625407731b6fbeaf0c25931d3601bdb47bb111d682b17467f12d135375192a652b817c87804f9476333502e7e2d070ede1fac93188cf1b2faa39a180467f351378481fe57e1637400c7f221338f835322a545cc07ecd80c4f09df1a958b9041acc6dcc6ad7a57c0f0d03a1229d4df6ba2ca166a711c369325f812e5391ab5e712555653defe43e6aacfb1d84cc697212f4180a9025bf6aef86deeb9ecd21017473359ba594d98464517246c64ad2ee7df6b11a1cd49689918f492a0a746475aa49487da9bd318e86196c49a9c9fc43d6942e12ce028f7b19ced7c5e6e728ca1982c3f6671cb9fcb6d99cfcc37742b989f759198910198f17ba8d9edd152ab6e8bb609bc01e38dfbde970083cb309efc5cf3a09ee77c4b55d3d72392200146eaf51e5544d61532e295968f02986edd5dfbfecfa6f3e32aede46f260c1f53388f280383fe9503ad2f379acd30027dc7a3957412c227dd0b80129ba3a38b6ef577f630df68d5d5dc8543185d37bc7651807ce470e669266ec34f86749293dc7c302c17db051744ae2edd9c37243e48aa9aa0b3fa9ded4d3c4f6b74f84ae05a72f56833ac6e59579c3e3b564a1e3fc6db1dcd45fa6755c5d07f1c45b9df41082343adff085f94deafeb80c05e6d9e0b0fb56ebd9d4ec0e20ec49c600ce758b304fd254d148919f9cf31db8540679fd422c2d9dde0fabb09696b1da3fec41771effaa7a4fe91441215be7f27340037cfbfa3c77b6271711327c4063e2b6d1e5cb98ac068951db019304589cbeb17d74f36d5c419000c5aa7f5a10cd8cff28652b96c6669dbabbcaec1c2c0fc0fe98db507e2f0298873803574bd49d9067acc0ae4fa1c3f471744f92b4453ca7e96f37e3e67c472a10abdf7369497569af733c02e38d37f89ebed139e95c324e8a1939f77bf97e1526c2d65a5cfbd7e2722ccb1bca8a82bb44c83b03fd92d26cece797284ecd62cbbfd91bc4a75225f3ab0c8c86b6d4796e9b03568de61c1f875f13e84775c3decbe0a971bd5ce046ddf7c9634c308606186e9ce1c1be4d8dc5d1d0013e4e93a839150914949546c083ca8410f43072b17239ef98e2df808cb0b47a2074db35aea6ebfea618f92bb51c47699737d1b57fd9f0d2124ac22955ed2c9e7e38d01b78c6446dde6dc08824fbcd21c07b11d47463666afa07ca3334021bb3cbbc7d4801622affd63263219e7ea5e9eb97f32e79e8f7d863648d4bf2cef683b835f489edf7ce8109569958d298d5bd24b25624ddf88529f0f43e0ce9300e19370d7c388970a9a4e0acc90784f57d1da280c412686a52dd94efa64d70a29515d2a4f801b12c91d43193b122905a577cf5019375ba072485f6b805bbc74e1587322b4e072ee5de77d006d927f52dd471e210c07027714fb296489e233a6e36402ed92b82120168b20cf4adbca88914f165cdf207eb615c30299079b7e2789134bd25ee3dc39c073bcceb057c41f951b1a400023eae95b85e4cd7d4e179e1522bffa27d78b1ecc7a763d3a288944560126cf8f6ad0c982d631de4536087e61abac3040994a30b2afa06ac4a3348d8b2c3a8705d7f891fa3a549a0c197380b13f308a02e567e4420caa43d8dbbcfa5a6992a549a0bfa3947115d2a0b987578d7b554ae09e7ef4fac230296da87e5160c010effdf32df25114ec09867ae4b9094a4e3bff7f74429af617c935813d4c9e2c473ad240c75b54131653e13b6bf3c6f4e093e7e68834bc3e111456f8be1a92f6cfceaf0e80d81a0e121e4d11933e1773f3da0dfbf2448f189c7cbe19f7918782abb96bc8336451a7a08797148d0947b19110543eaf1158f68ffcba802e67426a2419e2a0c8c298ce59b0648ebe35f007f9310218ed31fd81be04b4a8ceafb927b0216511992d9a268a905f151f7f9e43acad6ae7f9e6e186c50c1e1586738fe884c6d78e5b9127d20bad3764b3e61f0832c0aa1191eb285781116c161ea0d87d836245adf446f3d927a0e690264147df035f681ce8f922b381c91d95d3056b77221db6068594dc0fa9fbdba533eafa090f815fefc5643616caad18522136a00c8d5c5dbdaa23e4be5151a2a7b126a0bc6144d9781deb9c31a49fa1ac47ac7e34780a77c455ea34d7087dde79a9f40417974fd71d2628255be98f01abb7258444c5fd08656a2b709fcc1acb8743a58c12efe44b9d08d0d6cc5a2f11459c22aab28e0bb3e324d823fe02265c54766d1a64f1b0d67fe06ae217ffded70ca05272f5b4e9b3e400db6380de4afc8d1dc00a8dc642573fe802ea78799000400eaaa8785f32e67e3b5c388848cbe1ea3ede41b1294ae5434ba7a8bac4677d4b4fb85b4e2b3bea364ee4856fad63bcb96a4f0f23e2c81aa77b7c2f4e10fa66859efeaeaa1236ee6d2c8590e7cdafe5e184a3e14d08444331c32bdcd4e7d28f475d316c33c122a394da651c7377f7fab7a1e6be99d6b51c305207bcfbcd4b9f5fce2fb2712ab6c3ec01e878f2caada04281acd56b86cf3a99c45687c5238c0c47f918feb72bc95178a145a3c64f8f139f38cea75a2ea4aeb0dc6a92b72aa4ed0c6bdb81f1bc798ca817ae7fec5cf3120cef69eed80c37b03de1771609fa16d3432de241a50de0b5e35fb00181f9719f48497d4300b77270c83ff081bbb047a8a3ef0303ab820da15b5cb58e23040b6596be5317c3ebbae268c3f40ed63418c89","path":"m/12381/238/16/0/0","uuid":"e0346c2c-8fc8-4d57-b36d-a3cb37dd5a6e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json b/scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json new file mode 100644 index 00000000..1d43b50a --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0084c7cd886d118d2c4a4b920864d416e27ea7dd7e33c61dc71a76c93ec50020","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"42958e1d464e44c664484d19"},"message":"a0a211b1dcebf0fad61c8b86f0bd8ddd9e418c231877a992a0148f14fe12b5ec55452dcafafaa034178b211d843f4441d29fbf3360c2fcc40560cbaf2a7ee1f6"}},"description":"","pubkey":"0x5f96465f5e2620ffdbdc34b2ca4c6c553e068275a1e4effcc73011c5ce90918df7d3a1968bee22bd8379371c93afff9e09b6c400c8cbad1a6b80f2d1548163881a54818976319155493b9a5038014bacba9f28b9e177e75de9ad9b327caa3d572f6eb3184932e42f27883ce5a013263e74cdb08fc8d3f1f5d2576dbf81621a240a2c77a8464fcee445c8e7fda84e545f1b0604dddac216d9eab98f1c0381dbd0dd571e79e2dba3278a587900c5e3812375a86acd3d7445cc239edd920795c5e54ee8a308a987f6e671b4b3575216bcff13f42d313d207d4e2edf9a8fc69aa366aa89a38827a3bb2f1501a4ebbe41ba98ac932ffb56a3f0ba561f91c22a7e414b28a30e409d9173c57fde87bdc36956399b9f662a49060d960c8d09236a49a510d75f7d1724ad3401ece8d21f7806e3defe68fdfc0734d46ca7435800df800227fe9bba8fc14bb37ebc18ce31bcba4d2e6571c3fdeda56cb15c5f9601302c945bf83aec00a20df02efa82642f6cd3cd46b5718181e3a483698ae1895d7307530efb020851bbc166c7d167212186daf2e89f4bd7ec8eb43f0ee0b37bb1620024e4c468b172f71192e334a5378fd2556090e301c2d40f31e1d2394d3cd89d2495de730c71bf0e0cc82accaa7d4856c6d78d9d51f6430f2f56b060ee457aff7f02a317142c6ef28562fbbdd9ff88f1ba758e184e15124f96530700b396b91cbc589b631f87f10ec76dd2c8e09fd3287ffcee61b67d004cca2c46c0909c53d8554ff54efd7f001e782322c45b424421ba49b92656f2082198d0f0d0d42fe12df87373a0d4e39dda65002a12deabb4dfe5c3e7f89d5dec3760276db70a721e878f270d84df66e47d5aa56bddcb8e921da00daaeada001fcbd78a1928ace083b254485843ccff0a6acfbde642af85ee0df4b24d5be2cb5d05483f23245455541b5e8c3d92c6ad34a6d07791a85b3053639f1a2d06f97a3ba1eb1165e6d54582f738691962946d793201e40fecf3c63fcb84ef8fb437d5c8f9ed64be008927f24148611af16e38fc27b735841d9413aa04cb3afd605553f09084d6e9f41d4faca404c62a66ab14724fd7b5b8dbd9d1168e5492ee914dd8406eefc3caab1060dc88e7bb19ac75287cc2dba1fa93910bd91bd4799a0845fa8a5951876b1ba635e1e84e98d22a791017b6d69c05f6067c53355bd153ad4e3f9317692c5379c857c3049b7c72e48844340da8ed5f2221354c3505ec3742a5e1f2a5362edbd33dc59ec942dfd66872271e305326c0bce0c87750c1a855511c8ada2560aedcd49f06b1314e16ba2168d4079beddb349364ffcf0c197d15adca19f94fa69e89f8ddb050d4caa08a7697c479292663fe0094bd2d6786993c410eaacce1cb187c83ed51d7fbea0a1bee11a790c593346c4a0e1db402c603d213f1aeaa33e414d00fad5b632c07d1a7db1a2059b887c2f1db6d5ebef70336cd0badf6a82c4a4f258044c46b77c2e3b801f38ff9219e916d36e14a317b844d670083adad6e4efb0c7eda6a009c63e6b7e0ae6c8446ab8c75d9a05e06ec55fa9e8be25125ed4f849ef4311c237a242776d035d17cb856dd50d5142d312faac0772f7ba50773282dc17911e9de30890898c5a36de431e95c4e6fe6521d986a5187af496532429a7b284968c05fa365f0fa4be0f6101655f40a443ae71d16af958c65f4a698c12deec1df0a94beb8513fce7adc807926c56e1ffc08307b48c48b6efd101c4413b1e638025277af83aa89f65db16b1033c017b5f29e5a5d8e8f23f47e8d03e6451ebcffd4730ce396cbe95fa2c199f87d31e5f54a71197001bcbe74c43fb004a6b9fbc46782c8d7f414149eb9f2fd0216379daf4e16b49d9d258a60c8cd56ad419cee553b333d4c0095ee229aaae7cddf828bd6b21e9c93c01360f6a731af2fd96204fc82a6ff3552d08eeba9674c529a03357f69f5a25ea4fc974ee36b1f384a4d6a0887c9f7d1e812752f1d4630713fe798544b4c1df41d080f9932eba1cca5c7cb34b53029f9b7b695364398f5c77410c39901c363435b5e78cefc06987a8984f0efb0dcd88f0b237bb295038f3c108769fdd58e7e59ec1d917f44915ca05f92314cac4c79b8ae29a34fbab9659280b119bf06199fff062cc5ad977d3df0996d0bc1b9ddba602ae16fb980d58afad0bc7154529ebe02d8135dec63386f9c8fbf9aa6f46e9a59cfe48924e56e66d0a38e4e335584b6c72ede5c2466e5152c4411193d960f78c582212b8708feaf157f07ffeaf074a72d06e578f799c7661b401864e65d7387018af42fd54ff58e7d33cdde874f672e074bf82eb6a8175dd0c394fa36b4516f5f984a49c39aef8813e88ada1db0db86a0e5d0c15a26b14067f28e902c52b6045b000cacfb98190a8ccb24eb1cc1c20666f902f2b97131bcf9bafb7f946f10556a2a309e41e58d08da4ce820d98537733f9ee44788d481b22e69e44cd5476ccff73b391d1683bfe49e97730ef72160db2b92258d1dbc21f4e08ed238c0a1ecbaf9551123dff2d5849b62a598ebec57f051960a37ad5402c39cbe977643d3d294c894207208a56b6e20f7ea7c411f51abae2d9b5924fcc036f865638c93642d4f643c94e696c2a9fba74bc0bc6ba4caf819ec0d42f404b27fa48cc1aa99c5282498e202745237290c6c60d052195ca60ee28bf7856ee309325c41f4401c88e805922b0c74019adcff36dd4f0b98bcb6f5cc4201561d2130b2405747c36e3923d7028064dc5fdf3da4bb29e3606de99608ec9af6075a33edfec1a08f05903ce09c9900b9eb203fe53ea6f67c8f7b6584759cf39559314e840f876fd702ed56742063c5b7c8e61f194df8a8440394de61d323c2e6985d220d68377b9adcb8e4b91f8a3f8bc52ac5097e2b719c45582f35f8f028188aee7b5eb039912e80725219d907152d06b9e5040e51a81be141d28f8ccb6a2056dcb1eac5e066c8dc3a21df21a8d4e9ef19973875aaf88d906e9d27d8c885727be1691be38725cceab477f0f19859bcdd012739c7281fb6522ecbec2201f67129e0d6130b4a48df0738c7c1f2f7c9b13af82a02fb3b95e0b860e0da3ee8484f1639068b79580b3979fbde6c9ffd94b404b28423c83b24211c12fbab0fc2b8f23fe3b4f7b31ec09c3c30ee224e248d17622f3d356807d8d76b3e60e5a9eeea99bfa46e5cb7876367a619f92ac8d4d771237457915b94a6818aa570e29f714d868dbc5ffe40e48bd442af23e881151be454c4bbf01fb0a8e12120eec9240bf819695608cc5d36f12d99dac9a77c9456c45ee7fc37ff0495ce5cd8b612338dd3d19f6b8fe4077dd86b951bb12286f8df4f3c5a74e197b2f2512fafce01017239b12155e500a5a417acbd3fc83599e3f4bd19ad46c212e1fcb340245b9f37a9af657ac7967a47ddaeec740da70444ced8b5de32362c0f32d9e46494e897cd0fb989ac581af17d09bdad6ad854e88eff5dc78f785a47b8913d8371034f4619b04e4b862bcb355a4eacd0928070435a711779d73cfe6ef521009b69d0fa41a2c4c5eb2a3ff01b92b3a8ab9ebc0169dceb455cac73d97e8478739b4a508d151f462c5a33c224a2893cedff2a945419e55a1bd952ba7c4ab511da3069903fb37a3145aff884afd754b508e62f9c18fc96c56307f19a","path":"m/12381/238/17/0","uuid":"68cb9b7a-9334-46d0-bbac-1866b6643107","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_17_0_0-1751540619.json b/scripts/consensus/validator_keys/keystore-m_12381_238_17_0_0-1751540619.json deleted file mode 100644 index d82e9d81..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_17_0_0-1751540619.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"a1524b8502878e515ab36e986dc39d03982fe37f8f9facfa06a5d7b8d69a7d47","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"94fb1f86b2fd481b2d5cac40"},"message":"40c96d082b53a3c02447735ac65779a8ac1fec663d8279a9d6297aa0f9712e974029b2dea085fb72a287911134c99d055928f09b1421d9646aa14f5feafd6382"}},"description":"","pubkey":"0x61454470fd02a9c7dc66cc8a7000a7ef50f63214e77a3d6705202e5aad2225ff9c3402d15d8efb09909bc4b493f5593386f355781dc7263abd2d321979f214bc22d713ca85fd8343ac01c323d4e6486da8718529d90d622c517ef618eb8584bc1f1ad13d2b1952d3284b8d4a5c07be9b8f3b527929f26c4aba38901c8474e2acf60a0661ae64a8606fb9dd740c808e35e02dfd8cd0aad66d1b31ec33739c1b50fb3a0fa99e45e250c59e517042b49f8fa91df6ad9ff7166f0cbdd478b44a24995375607f2f84a375cfdccca75ceb1b99d33fd1478a3d888bcb73b42040d02e996873b211d7010523f26971ffbd753c343c9dbb7e8637860f011ddfe3920929b0e027bdd9c7af04edd9169a7941a1be6074083a6e49b6ae4af3cb5845a9fd2d2b506ed254796c50be9dbbdc9ac4c5a4e4972c28acb988977bcc3277f31c8925cfb5a4e7a9fc5ab31295f9cafb32fe37d96e2a1440fa7c6e3988dea3a56f10052ffff9000c036d64f325128cdcac65b41ab26e0d1ccbe8d84f38ccf4eaa2ee082c6843b3b95cabce1c7ec2f384f41d76620a59400bb1745647f1f83f0c47f6e9e43659d7b5917eb51eb0b96094ba7062d8f69ed5f5057cf9dadd1790ff05811fd2ae2156b56bf26d77502cc3dc5a923c89a6baf72b0678a31b715d7c2f278cac1bb0b44e919dda2e2eef091e85db6c001b79f21b09abfe4e29376be632df81c5bd3001cd53be1116b06b26adac716752bf60762e11ae67f56e4c4f8c8e1b0d37b35b8e0373484760ee44b1d7510b5f01f0806fa56ce0abcb60694bdda9b924b5eb51d8b934b5e92a6b6ddf433f8a80a58fd812b958988581ebfca4f129f64ca80ff3c1cf3e50ed35b7c0586dbaddb99f83869e2caf722d635b22132e05a9348b4414f22fce9e52b79c2e22bd64ac363249b430e1899d1bb1f19999c67ebfa7a82911c27eeb31aae89d118d0fecfa4c5cccf7a823b0724add28ff5ebc122858429671abd34ef1e36501f0b68e2703d13d162ed8dcc2faa470cf40be1b49afc13e6d27b08c10b672e155ff9eead49c6fb7235a7299254244f3455e134b2c2096a3408727b4fffb4851ed576ee3d04f9c717a13b5a4709ec5830d6321e016d8c8d095317bbfb22bc103040779252c6cc6f29ef0b7fa1bb014081abb02a96a9bf06aebdc2d0e0dee58b6551f4c11c241e7201ba937b1df9df2ebc6344bc5eabc5468321bc837ece64c490abcc779e7ae67918c1c50316180f05cd3ce43bb7e3876afa118651701c59e7e6f73cebae0b01043342bdf51bead99b436676d6219217ef3121c9c50e6ac2dcb44f3897862b44968c7b934b8b46113e77b1b716e56eb0d7dc16c21990662fc48a285d6670bef96b7a970badeee6cd5ec1a38ed42cf09d0132a46f05c6f28a0b5b2ce440c50a725f2d6109567b8d491faf48d33e6aa5b41a924fb2fcafef3a303e2fb6116199c7959a6c2886085ba33f2c6a5c4c2394f4e1faeb59ffccfe558155901712359f788d6fb6bb025e7d1255550dcd54fd78edb1e4ac7f4111e0463ba2c02d83e566426b3f581450953c19a6af15ab9f12f2fa73a1576b72bb834fa21057cfe69d372eb66cead1ed0cbddb36a4db0d3610f0ae220549db773047c40b666c21881f6fe33e25287daed93e6a5cbbf5c7603aef0da26a4a577025c1b24d23cf04a5f5207048dff395b2d4901defc9bac81c95085f9295ff62b5c238da68a4ac384439af01b2703adc323c5c69772d9472e05d61f503df54ea321ed3c3319037aa984a2755ca904e8d63ad98ff1200192e973b3151272ac0a0f2c4d9bd42f52eac8fdf37461cc2e11de09017fda29327e1ae193455763a4a16483f3286662c24f06d8992cd0143f3f788a6e3be753b3e7580294296a13b53282b1d62806644aa3fa157f6bd5a78e1e234318f3caa7b07df6f639b25547d490f93823161cf19766d938c4a57e42b9fc5c33dbe7ff0e748935e6859ef14db3b0f2e979eaab28c5ddb141bf66112bd367754f65e9f6bc5b61a8c26e22a59283c7663a0a39ef8733047912b75408ea4d46d91ec27bf9f192111a6e0902527d00214552d1dc51160dcbcbf388c5cea0c4b74afe4f1cac3b39448cb465f8474147166baab2deb14a6331f6d45d08016e237b71bd3c4fca48812ddd219b931e7c2c3b952af5dd585e318a5a3b996e071a10715c08e438e97f4e5db2e92d5f7e18429929c0431931bac174e6395247f11ae48f8883d2f9d1ef603c3a1dc0e0d40aab06d6e6165079c5154355a768837719870fc0c28aeba1b344195a1f04451b5d54d30f2ab4404c87e7b827aecf869d3f13ee70e0022a833735edccd66c23aa9707fdc5e3f4daf91d9a43edf06b89b2a00f5b595099a5c4f7554c8730183fe2e771ca62358090f9b96a625c04200127b27523ac324256665aabf9d4ced12eeccb73918436791c071afde8a8a0e96c40b3472137e7ed27bf483fe274ff5d5aac7364cdfc90a4741db3ab23ac90d2761809ab18176ee17b92d67dece1e58e354ffbeba19c8ea5f71334149c8bf39a1b1c53b7433b938a710e984c70ba9fb884cc879e3e8a030adbcaae6558de2889a81aba3df2395aa5bfc7e271de68d8772a0a36f45e9605c38ca59f99304de76272071fc5bf5c595c14b393f5aeb6557773517cda251556f2376d37035fd2bd620741991878fd55436882c989964dfa8d7224346c7fafa730bed1288265de39c4c49e400e0fabd3d05e4250e6918c23e828e306e7fb8ed1639bb3adca9cff22f92988eb167f388bc7d14424932c8be5596dc83c8cde772cbd27989bfe5f06880f681dc2cd76306725b0df7581b7440f566af44fd34eb9c4f7c39076ee10a73a8bc9506557bb2019725f2c68dc1097905425298f004750749b291578ca518ca1f80450080f6bc465f809725efc6fb895d4d3689d8335bed8facb9a404bfc2cc20510b1543f26a705f703459aba11a7ade97d2a60114b965e2f3e8506feb7f7083ff48ab9b057eca9c8019ea83d936ee6fe70af41c5c9f38981e5181dff75fbed65d19a716ef9bf784a3c284f61d586e59bed9a7347132aef6cd40256cc4138d04142793c25a7a102545346bd3f7d6ed920ad21c32aff30fb8b0195d07cadfc71053501ce74091799e9116fc240c93658ed21a1a77e92f0755eef284168c3a35b777cd346e94a243110f14be262d959a98d8f1139b8becd10ffc31d6b3c9c61e5cbd3ce1232d5a607944b229acfb6402374fdccc17cf33533d652b72739c701d7be295bc333211fa8274987f3ea51fccab7830dcbaecfa9e1cecfa694a9637fe780b5a7a259fe02b5b08af4c891566930a1112e22391c5b9f573b753decf48125afc5a2bc871aa3bf86376dff44bf2c23fc4b5fbf14d033b05c743f9487e2578c57ac245a46c8fe1e4ccab3b5a5dbe832f2acba348396ff05b5e81bf223d620b3631c0878ae85d07957a3d68c916669a9214bf4986524d47f83ce8869a569eb175871a0a2a3224828df3843f270cf47c5c003d2062259b91eb1655f2d10f28f9bfd669c93245b28a3deb612e2e06be3d448a0c2af5d01584e1d44f1644b5aa6871864d54dd117128958b6941408969047c11e003bf9dec3b15315b2ef398c19ea46464fb24da69f150a63273c41181d918dc9d16ab6","path":"m/12381/238/17/0/0","uuid":"6971883e-a145-431a-93a9-9717cae1ed4b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json b/scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json new file mode 100644 index 00000000..246f9ba4 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"2c6f2fee6f1ca389872cde112fcaed5b5107923fcfef7971634a041d67d00c8d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"acec42af6d81aca307affcbe"},"message":"ad4a112867228a1dc5174950a9a9c43bc69e0ec5e7ae97f6fb04ffe90a2e019e2c1417eeef14013c121326b38be347df116f50de2d0e1e2f0c6b51677746b7b4"}},"description":"","pubkey":"0x19469956864864f17f1ed9ea2eaeed651cd0a339f51047fdacc812295bc1bbe96b1f80338e9d16109014e435cf7081b4b7be46b906c848cee41886e2d5862724660ef635dd4be2133793a9b91ce154ff87092f3ad4be708c51a7a722553138924f5a73e07524ce3526a3a2c49f4f7ef18ef22d8a980d8208d862f71b6a5608cdfd6f3dab8bfedeeb6f00a2f82779bcc2e6b6db7ac9a0a37eeda1b97530d575b9a9f2a49120513ec493c867b0440c111bcaf19f5868c7ffe056a5a8e098df0ecad9e15248c1d2c66ee453f4bc48709271eddaa6dde1143cdda2a043ff1270d433af9aa1d293a0b603259fd5a4e6c7a2cc7806a0c97504b1a328007669efab682b067fa2152826875ee0638a708b22f98517911c086a571409d902ec7fb7d6986b9965bca5569d2fd6ef5835a4d41dee2c10dc1129f57f562e9d2a7e45fc6eef573bdb4f669aea2fbadd4e633d31a1c7db49d7a8ecc77d98aa1f16b2f17b031e6454040573ae56b0447c4f9d5bffb7946cdeefec760d1f274d1c71d55f35af2ee37e251f60721c358bfc9f2b9460965fd2be0afb3cd272addec8b49ae6253f375de9803b6cdfbe9cfff39dd8ff52f3dc1e194c231b90e7dc2ecdb5d756f7eab6cd75b93f1efed9ee03b56a655bf7a8fc12dc3a4f7b1b1fdce32f5ea30aba7a400ba47d1cc5ab848cf9fbabbd117a70729ec6e0a29fd8ec6a377be6cdcaf5dc8439ef42eada9f5ae8c9d6fe51edc7b6012d6a86edf55c03fa9592f35fb4ef9e287ab9c5ae5e61a565d56ef04d7e5a5a913d795293f25dd0731f897a5ab96de54de331837695aebb66a6bd70ff90c10fe8e34edfd297ff73419cda2a11d7f7cfb5f2cb38d6e90b9ded0fcb51c985c87ab116e8d3c4a30df2231a1a7a49bfcf2f527a6fd9c34fce8f14fe62f030702f267eaf748dd18d0548222c7263131353381b3657b7d5fcd327bbdc29d9f76e81a781e7ea6311275aa944c757a8a7af8f914c284d477d5076b99c094757592e8748edd9dc5b6b45254fd36d1a729c869e69a1407cde3bb319ec1d87ed189cc0bfabfc2f7c839194a38ca33d9d92318dba532510eb2af6866949131b4112759409a123827c533f264c219502d28e2445b5633d5757dd25e6130a260aa5a8448e6c623da7654fa0466257d7d69fbcf57b52dbc01a8d34015e28c7522d97675055536dd9e12f6bf5e3f2e9b1fc9b67ffe23d45f4b6de053999c2d96cfb69410bef2d694035593462d299d697d54c3955c55f41e6e1d54e33653fc0367fe2ed82efeac10a633829cb879d554900f019e9f1669ea600b25647990b30b36612037bc174282b7644cf1b6baf014e3ac7403317479a5d07a02326c2e2380466556326466a1ed527335975c75f707becde3941fc22f7a55bb53f518a4f37982fea438a4244273c7f0415d6bc92632124fb05e7fee88ecb127c2be902ae2de9633b5105c95a9737a83ac1b2cb09a694720662c9161647cec9d518a0a46006c056f5a8932892bf251b8f25d0c8e77382ec031ca03af0fa5c95ad0efcecbbea5d6d8596ef37575a2e03c31f31b62512e6ad0b27623d04a6eafac438d9e80b48531e3451d48c9ab5d26ed93efd1b2e54b38625a719690e32607b86e395324f0681168264fb40f9fb9b3377a8755057e669aaa2c0b098ffd05203127120cbd986f4983306d4b2b85c585a39d2caa157370b0039bb0ef2a45007a78f47ed1f267a2e23b418456a6cd31119921362340dcc109736a4325508c61edb1e8ba996a6d24880cc8e02ea81104f64ff5f18746eda1a52a79675ea6378ff9bcf33d9b4cbcf240b55fb6ca7eb78677c4d8f9b7106624cae1fcdff738be1e89dfb952d3d30076f44368aaffda7ec3bf637e4e49b2824abf40d1b8f9419ae414fe34f1a22aae2a95b499d48be5558671e2935fc848ca108a368e45030286bd27ed8ac812b431923ad0e00143e8ac22084f9bc0d226b5f2af6e0f19962372209dc585051d18965afe4c94f13b9ae6d315a61aa1f4e4fdd96177986e455c3312b0128a641d1c169f5610320fb3359539b2d4c900599cd51554f6334094cb1f89939ae1d1a5e77db1f2c808e99b97cb0e1ab9ea314d5163a0c789d772bab449d662d6018f95a916f7f2c7ebe52a4e980a7dc3275a2366f99e9d5ee1d533079e28d50e531284f3152c4007c6acc8c29e3a65466503b39fca7ed53f8c5c942bb70a797cc2dec9011f3ebcdd8bd68c88e2d58e5e5aef42d2ad39654fce04f40279c4589bcfdaaedf64e81c63ce56657e99c82c146b241b3ffb2d6e60aa07b277d699f0ec249574cbdda564cb6743ecef317322c68298c8776f29bdff0163e2d4829acdb3bdc4fa9cb3475f5379e0d6b3381648328c53f19f56ee00f8d2397fb3fee227984238fb3c02c878d38c780889aae2d0e68d36ff4b01423ce4f35de630f7f3b39b85f396412b8863c6af01a6cd9c592143f38c2e23fbc58ef2696dcf3eaca791d5bb06d0e8e4d49c8f2c228da9b71ec96d9bd74de9a28994885e8358671745894a6282122426acf0fd48e5244d8a1afc3301cdc4431c7259ce824b5101666c2da123c111923992915590ff8998cd6c706cea078805a05daaea42f30014fd649d73f5c4ff1c7b7ee298dafcbdd92106e62c4d38358fb9e820b30beb0b0adee2044f3582d43777235b24483e4134196fa62559caa88315c8f1b0c34b723f7ee504ce38d614cb737ac9c01b2b18af46166b353971868ddc57a44ddff1ced358c6cea7ac2a47eb8630a83949073269291b411f4221ea4efaf425f99c263325fff562ab51113f0ee6465d4d768e665fdaf4207aede02094c38da76280751321589a54c869d804dd58a9f218fe0a69d9e09581d896057e0cc583050584343042a62e91342bf066f872d64bf60b4f14e949cf40df5f915b7ea8f237b3dc89160dbf60e143c95655400c2a83dcbac890ea51fbf4e8c64003debcb95935348b299b8fcf94b2dd5af1ee53d6de7c02216e28b72fb7e5f51987ee3dd5935ef6b9f7ddcefe2f7b1cd39455fc8be66387c21bf129ce79bfcbc27816630c2bac45bfedcd8fd5bf40cf5ec37471cb9a0276d732db476ddce0267c969d3521bd3da479407063474e2838234190ab817806785323e228ce41b2910b9d5d6c8d5d4040ca5affc6d7fcd2ca8586bd96147baf1ec4c9d3fea2d6ab27a426da3bf8839e0c263683dbd5611f3a151b744f5fe5da58aecb2daae016344f4bb04ce1c34c1d4d88270c89d9706de383fb70b64806644d15e226432fe521bff07a6934221d490204c6ed0cdeeefbe5ede223ea8bc744d17c90341860c887c9729d82689140f5c6cf2381b7a192a1ab0f94ae663fe177f79e14051788e44ff2ddb8284c7d31ed99e8905b834fc12563bd56c88dc3486b718c70f252add3ea7a56adc582af8dce0019a308719fd55e30f713e8dd6a8168c6d5ff6a4bc46ed3b1e9bcdfcf048f81fa2c17093d65b6fdf23f2cef74d75c5abe06ad79ae9a2696c15982d20219d9e99d031ccc299daf0e4d0c0091d80b073d1ba7ecac8199bcb746ed558bd8e4b6e04a2722f20146307e8262bdfc7566b57e5e7126aad90240eef2d577b79273b810926c35ea03283ba1d56bdb5c8038d96d5b5471889fd47ba14a18769440140ae09e6944b3d2ca038","path":"m/12381/238/18/0","uuid":"559c3c15-5e04-4f12-92f3-331928b01052","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_18_0_0-1751540620.json b/scripts/consensus/validator_keys/keystore-m_12381_238_18_0_0-1751540620.json deleted file mode 100644 index 36f54a66..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_18_0_0-1751540620.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0c734df91e432220018634147e03f62339f095a8a0078400aeca9631f1bd3680","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3607af5b69d927d6d59f12e6"},"message":"cdf6db3b5a7e3d0b479344589da560fda42f7de8a6a5d1d5c2c229cfb12aeffd53a1a249325765a54a674157b3e0a1384ec7609adb03d03eb5b9af589eb162c9"}},"description":"","pubkey":"0x3f074493a6fef03c0b311ca4cbeef30eda394223c2736d3f0abc041594573a2b806a02a76e1ac610e62690054a134858b85ebf4135d025c518ca1d520a26583083e08d3cbdbc9045a4364e1a087426e57952cab8547eeb5b1a2923de74a5e8236899cb8e539ae72d4ca6dc9a28462c75d22ee79e16f9227109bd53f4ff3927d83493c335bcf1f774c9e1bc89da7a60f51146f159a414990e4d18e371db497729f3c3774697fa245e928520822b71da0957da83e1ed866ddcc173f66555cb4d221b15a5c59f0ca83215a89b6a315242ec1e52c7916b1936dbd2410eb44aa44ea5c7f3e09caebf06b56a9bde1b94fb33c62f19af6f3c05a694f8cce036d2335d6f3541af1f7d885bda736b907a4b6f01f3e1b6038d0b36e255cece75e11505a2410eb4453dea23be07fd89be190c55f688ca98eae7fec2f06cece5174fbb7b6f8f4c97d4f148150185bfc7a0747c90e8953e30d630572c61fd74f86e79ceb43752c16352c8f2322d1647c1211ed944009165abe69bede532bf6fc32abd5d663fc57d6def690dadd16f6e12aa515aee055dfdc91a13b80ad274acc1c2b22821e56aa0c5662c8cc76e8885cbf993d9eeb0dfa3d0c142e6009514b06557b0686e94682f4c03d8c0f93a85217764f6806b1a1ad6b74434e6a142b12fcc985950121d5364c0eb2bcac113a8725a5297ebac341b06e0068e80bb802fb4573b106f3712dcc3ef2654bdbe687b96212b592bb3558150e6fd6aac69aeb8d9aa531cc3e48897550275f392830e59e5a80803d89ba0b759c231e689315db8340b92b9bc7b5f76c5fe9fed7cd65dcf24b8b0b93ae467698a37815b9b1554c1cad359e575f393a37efdb1a2046000b495734b37696a394e5892ee061b9e0e6cdda571e1f99b619024c620d298ac01588d3f3ed89246a1e4e15121700448366e733362093cc3309886af4be3215c0760f3793205c22a05f14afe341c3bf3bfd3c89b66b08db98d444d1ff458dd08ce8ed3272f0b135f97fc4b6ece868828115a5990480633761efed5a88762feb6935135fd65bc8909653987fba9f831467310f53af2f8d35b8bf13deebebec348cb0a612df39c5e197faffd974e34471b716e3207a6b2d12d8685b56d1f8f4c56b44e23662b6f774ccb46669dc0de3d6a573c1d9579e0b5dd83898a5470ad42e064178288752ffb82f5f4f2459b1d65225dbebbec1f9422c1bf37e347021dc07a2b9214802157ae71fbe64a710d7d20a0ac266e542bfb16bba587d9cf3eec2d2d82f2a819b997104acd0c41b74713cda64ded7b162a995a42600434ebedd98c81ecdddcfa419d4f67ac4b7d54e46888fd4c1d654fd56cce06ee97affc3850f6fb4b66a9bdc114d8ac21a0510cccfc00457bd1e906a619c3b4c28276399db36b7576f09e2ad0a4b1479b645691f6e38f6ea4e95c933299031237ba10069599925e08bf825c0df5a627af3b47fedca3a18b273e0b678a262661df0fb71bd5a6255b10003b15d876d400b6fcc5b263d816645105644c830f948df8999c3f7fb25d4537a4f036bdc3509db885fa91d5260ea7b88895bfe68781bbb3a0edf367a90e447ad3c218808d1ec877cefde402e6f43f3db242579c89a2351a465c0571341300a3cc42416cacc6180c41e93730c2fe474b5892865978529a591cdeb408b31be1702e28c65c2b43ab01815b3e36a246e9e27f3c5d42f0028c1ad588f7556e4659898a1995e52a06eb972014c1a25bf91fc350bae39846e05c9b07063cebc8b675c9e9c5679f9c579bb8e76fa1a127e7680d237919c5aa8ecdb212f961bc4debad8917554272841b694ea739f8ad8565add6619e09a390a7f7805f18f735046194707e69bb0c19c91e9da970d80ae302f91c68a116c77cf3da0de32c64a3e93715c2dce81b6508aa357848dee3c1f0f2fe558f5a05d99ebed291bd5404b003a6a03f94f1e9769191bdb62f384cd06e90e91fc641e8e34d8eb518dfadd037dfda7b10a63901c401a728a61a218ca9a729c6814553c6a7651eb6589938881ca7db437a75995915426a78e7a09fccb6c43873680493e33108ffc826f46d07b5b7b6e8af45b13aecfa1b92feb389b68b67c3b2e7e5890e0b71390d1bb621b067cfbc3a197a140bbab96d1da9331a8f7c9b4c00c6ba721c1e1c5582dcf72bdd03186e4d9b6ff497871bd1c07f75b8e63c6b966bdf1bccb5313ec10947191dc7f16b7c617b910175cc34d72eb288106fb78b0ff73967f495071f9437c16d27b6b52a2863ad3d2e060c66a2da04bd5991fdd7a6b3f6b40d4a9318ce22e1a402849aeb8c5f6511607826109c30929c4147bb6846db7243871a4633b185f015859d380b1edd851ee13981944173bf8165a1ef2f5d64e752f194ce28a652609df5b8e0e3dba175375a6895a2fda5c0e7891529b45245f2ab4fb61ff3a7b16b901a3c798f1e57c5470982490598b59a642427300ecdd120810aa2eafebdaafadcdf644ca36e0a559c3ae38fa9647cf49f1328e070cfc7c23bbeb36b8b81c29062504f100b236b00e97a0535cf066af6039cb249fbdba99ef63ebf02c736bf0b4f8dd115abd67c5a5cb24c8b970d460f0d39a846a23d534bf7bb3eafccd7674f0a89d1713ca9718d274ecdc271ee755d6289d7cc7d305e378b6170bc56902089b620e173a36e24755face4a01aac3cbfbcb371a6078a23b153e859bae17da24813e170bc4787ca13af2fa3c3ba1dee6a0a7c5d328d4a7bf20c1da90b54853eec4874d3c4146830283ebbb50ed68b4262b7b790c74d0d0427538e8cd4a97718b40467c2942f68bcc29b452059f5a075482ef4f6f7a6a2f8f9547b35b8488cccf2e2932a983d67bfc89a1d355c19ce17d2c82264e58fd5b7346e135ce24725368eb6e4860cc9ab0eb9de80097462ec19af21ce843446e3c94a3ff62ed9028fb5226798cfa9bdeaee7c1c787e82a5f4b3a4cfbcddbd2d478eabd32f0e958c4833398f34a76793d4b895f9d0aa0c0351360ae208fd2124985770b98901e295e97ffa21f765c9171587bfe07c565da066a87deb1466e61695b53e072d919d990dd8b4ba0cbdb3ea6a31260ba5b926e52cd8266b964fe528d4aa474bea04165bffd0415290f0b661479eb3913674a0d783fd783c6440ba2a7785d2aac169e6ff4032206a351f17eb66a5e657718b71d97c8dfc61aa0f1f2a720b5ba2f7a0e83bac22b3f203fb55f7fb5b5336933cda34622224499824ec59151895b815641d777698b0bf8b8043219fa7b85b3299b098f8d96e01f6661e16943db8c7b746475c5b385381f427615622c2877d8dec4fed073c05ac54e1fd94068eb044eebd966947d17ce2ceb0a45f8546df778d86880e96bb31c2e1a9cf69f905c8f2470f51aeaeb39e902d5e714924a1d8ef783caadcadb3835159f9dea19c22b49921b0fdadbded707a94c12c987a5a6403caccd465750c568bdebdeb82813162603189445286cd49d3013c0f77d71612df8c85064e5ec8ab90a2fe05664a5d944be9513a63584521f527186948524cd385a79392ba80c7ae39a002702923b1b684d74bcb7727bd44fd5ef5e5274343e8c5f9826ed1ea8da3dcb255176f5b60ad3fabaed0765902a146e50a815a27d07456a53e81c74155fe74805b4f964e18f3f71b0a4f98bc7a37cf","path":"m/12381/238/18/0/0","uuid":"e5ecf97b-befb-40c4-a705-a22c15e85b35","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json b/scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json new file mode 100644 index 00000000..de3326a0 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"005672ee0aa02f96aefe62f4122af0c3b2dc64e85a12782e3217579a2f557954","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"cf040c6042c30c0c791f5a48"},"message":"8eb89a8676bcf9ac59fb3821bab59f19fb5ef6f8b2b268ad38baf264b769d21c99938db792dee5e0bb424b7ed5e78b37da5b7b0e355c44d528da3e91bcfcf111"}},"description":"","pubkey":"0x8456c3068a302b754ae74a71e12debe7177848afa9100fdcbe0ba2eb0278b6bb0e76c2114e9800f38d508e95ba8bb116ca1e190a0a1c2cc368442e9802e0689ebddf079beb5e6d99974b34ce10c3157694217c549825dfda4576f5df1353a9bfec7b2ae015d4724a3d66a3c081d6ee29ab9069005aae595c5db4f7e308a756e7c14147c7679eb83f85e1e9e8591dfa6e5c0db17bb598a42c17ca5b4831d99646bdf13de10cf3f88af5c1a96e834b9c257a1e59e6617937323581889d5cc9c4387565c423dde73234efa061b4cf690e8c5c261242958ca4a44d9bb54b7440ba4440bdd1d44827e99f54d5bd92f3040a2872999df4c2bd973cb2ce52ed38a22bcffebbb782c57a1ebcd8f446ddfb24371396336e662afd54d9616dc88c2c6248d61e0b02fd0fd931905dd798f002bd8f8c568b48dba361cf628609cb1e2174f6230efd88bc4a670570bb9f863b8e8ff496bcdd34b87e4866f03aace60bff64fc9d058022a72bfb8e630f6d29948058631fec34b494f14f127da57d4d4b0b133bc60d157872c1e2bf0b91ed1da1a42f104a3c113bcbce0a41f2c3521ecc92d2b91cb304b83ce07242d7ccfa1a7120cefe0bffd25c3fa6e48dfba0cefeb18be7b97b0164b598bd307a108606d08675b1ee0dded0d80bba7dc75a6ba710700c8c84e2223aaf470e7f8b6c4726d02c91679019bec4dafa596c6e4eb09cff72e2c5f869cb4d3a0944d35d649ae8c2d9625cacb6f31b719e7250e52bc35f3fa3952bceb036613982481584fffbe745104b7ee14bca823ba4b8c61e047edc2eb9c4818716a02de03a00fce53b585a3dba28939159362e89a7e0366feb5259081ce2921ec383388ce17e6fd7449acd26439f2f293a46244e433e5dc61c1affe31e23b8ad6eb7463b6c65d04d2db36d7f07d360417bc0cd4171799c26d613a6f6f8ce726abc879e86cb192b931a05b2d3a7ab1c616e3ab309d4dc7acc100a3ed5cc16569674726d67b0492a1c81deb20f6e1184d847868b36c5c230f59a350cf4c1ff7e8f7bffe2c5a10e01a10be75a5610bb616991b1c22e01330e06dc6aaf2fee06ef5cc332560d60b4cb25b8f7b6dc76a88772d77fcf609c5d2949b4f0b48cea3931025ba9e7c320b2d08c188654deaddf76a7a28198a56a87fda3285fd882503606805401f744f76d96da4d5154fd1290e2204b466d2e33401ffde1dc62db961e631b6074ab8ab8f38fcbe1a4c68661bccbb2b964a0cc5cd81c821158d5ef6fc6674418dfa9ddc68be4d065fb941933a415f24081f861c907c455f451437a6486ad00ae0997a558fbfbb15e523cbceeec0566baa56a2f5ae762a5c1ab550ed46c3f201f7e4da864747d3ac2d049d012be1a0860c32819b80e316ac5156973f6ad72cd4b9dd2f2968f99392abfc674c40f9d2ff3d386817f7f8466a7557ac2cf30783bf5f44461831e3c5295fb87aa99c23e253372aa0dffa7eb33dd561f2237701f5034762797d2bbc48a701a8e53bd9ec721ee51658ae16b8bb7865e610adf723df728af6fc5392243c2e250a5b3c31b8e1cc141e66fc565fa5380f27bf08cafab7a2942675fc504caac893b22740ff141dee9b45fa1c544dee4ac65401ceedf0aa212309cc71a7ad4b3422e13ce12cc49764cd7c20dbf42a717a54b455d58d7c49903e2b7877507a3eb6614dfbd4ccd87d017bea2567a81055930b888a4b9cd25079d927aeb8180565ae3a4608a6636f1ca239aad81a5e3934e11204008006f66ca06bbb99ab0749b70448219aa3dab5221b28dbb1fa8bfb9988b9248d39e68e7b7697e9bddd22781600847ec4750f735c43ea71c20535e23ec9356bf54e89315cf4c401c99bd9dddcf09fe105bd0bd377f8f04f32e6c1631de03a827a00834bd78a9a129f76a705ff65e7ab6ab7f92706dca12ea01880d2a37904b714496f61b948310056b3dec04c528bd480066487f24034d01cf4082fc752c150818ff7b919acc7b881516f76538c740a80fa54e8a713f186ef803da58d25051ddddc78d5e44b8541c21bc2153a68d94d583cda389c8b240219bc4c6bbe332797b2507e1268215b34047b0a37a69c383be16c17c65910e5f59617a231a1943fe32f7ef06c3d19469010189ce6e2860fadc9640008c07bab4804321f8eeff08731dff1a78e7a23308b7b2736ce2990719d3446480f5108dd66c12bf9e165dbde4878a9f9cf9a463b36273f95462c2f1182fdac2a99a03fb8417164c4196133423af55938542bd4347c15ae4b0fd0f99267e6b9d55eed0ebb86290eeb40d968519d32fe1b0d2296282e774e9571ec5f20f6b8ca6151de3429df0284dab860c06029a6386d4a16508a894b484d54bdc01ffd8d60725dfd80b8125212948746a20482f8db83168274274269a6ef713f3202639b02b6aacf3fc4f1748b8185403cb61b6b4a61166456471c0c998985d06a5bb628c666848c2d39194c5d1a0387c6e20c6f2c439c0caa91f48d5d242ded755665803752b1d836227f43b4cd9dd9105172bb20f017041107dd5a02a231f7b04b324d52d057efedda579739177484d45c2434721fb50c47190216f80225195189f46f0d5fbaadebaa25d8f0b3d8930826e67043d1a4739594259f515339003f5e87b3c912bc4f2300f2b38a7d9cc95315bf4e79a54fc8c3bf8e2440ea477079074efba268878cae7349811d3e53ba01e56f82cfafed3241638f3e0969cf42b13adfcea0f2e459237efa3df787e3ec499745e214f14776f8a9dcb705cdcb43c5e00a53858b0966c5e61485fbd0012a46ab5242a49c662ba5ce2b379745dd258c400b52c10b67518719ac93449141840c2e9bec0c2f6aba7be5c35f9ced6f3e00bd8f6bdc58d7e3fb188be2d10ff996eaab1d42a1083ecf6383789e17afa6d7b67ce9413ba98ca7a4f707ed9bb46469a43c143fd179ce5a6b572f55e11a86843343bcaaed5165193bfa9b571b0610dcc72f862c17c452bd21ab9ce82a6578ebe7ea98e5630f7f42d595baf405a82d8d3001cf0f7a0b92dab77cb90767d5f7d35ff07187b9ae27c90f03e76c0a37a1d57d35a24ee1ad8e21f3a8c1157e74ed083c4da105869073089d4baacbf04657d3cb0a37a8f50d0052fcd6fc22d370159b3770f7bfeb518f6761a1a7ad0f170799ecb366acf846c24d3f452fc945df5d8a85664a9de04dd75568822d93f6279aade9b5329042641c0aa49aaddaf2c88e5ee6ea780196564b2b6905931c3daa22cdeda836a26651d2081367b104c499722c587a816303e692ce2add66da60ec3dbc05186552a4f5c517769eeaed2d503da5152cc1d0c5f7504b1aff0df8da0a91ecc3ad3e78d5609fcfac4ef81708ddc677a3c541405ffbd2fdbcde11c30779ded4802257eaf6367d7e6ca98a27dfe527eb4a3b647542d386f839f7f4efc9367233ccb054a1b6620243b2d672d5b86c57c2013a3e5114c7977c18e9e0cbd6628ae845571dacaab525ef7c0270623eaf54a3a6f6a7799a41a84bc9c9a2bb5bd6ef7f8d339c965ccd99ebf128ced17b23fa439d9039fc3283685690e23075ea2b1c9495ec0e3fbea8826e3fc3b823cf7ca0dbbeb6117ad42f05023446aba925c14bb0b71bcf5d3dc8d893640b4d950382b2617dd6c3fd8b73ca2ac4a7a4c2c5dd208696388f60edab05073fe","path":"m/12381/238/19/0","uuid":"a985e1d7-5226-45b4-b814-88b5aa161169","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_19_0_0-1751540621.json b/scripts/consensus/validator_keys/keystore-m_12381_238_19_0_0-1751540621.json deleted file mode 100644 index cb600c04..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_19_0_0-1751540621.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"90b59043a205a11484b80168a32a8cda8d8e0360cae79724aab2ebf4444be9c5","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e6cc1c6dc230769d5becb012"},"message":"809145bd9120b72233ddc0ac14c00ae6bb9753596ac5a8d74bb0aa8cd87ee6f3df18fdec06fda60d7c056b1c3420cb87bc5b819d6b47826a91a554d95102d630"}},"description":"","pubkey":"0xe94bab21f84adb5881fcd2c7d1c3380d686dfa119f0a3a8e7468720269c0600ff05bba1e8304f6de6f207917d7a6e21f40238426eaade0f807921f3d49cfec04e5f000cb0d69c498a0eb98d43eed5e91302120c853aa8163a1e764f04b4b098f9bcaa2852a6786c9260672a0ebbc63d7b29043758106205f5805c4a6462cc0ed98f234bfa22de634d7b3b27b7ec08dd8008df778c194cc6aa229760e0b8da5a2dac20290674a07cdbfe71110fdec56305e1ab404fa58fcae0c4e02596acc849f5e0b6268f6c33659510cd78d7dd4ced0abd95190e0bb26e0b257bf8bf826c92712d2708b0246307f582513c1824616d02e185f3b72bcab18861fd7d1c6f7bbf36ecf20efc647e597da15aa318fff269e61c5a30334ecb99f124b70e210d709fe727712fe6246f07c31f027007281a4460169432fe7a3d15be016701e5513df62f8aa439daba7380511f606d85db0b180685588d1985065e01f6ade1fc37f15961789144284b82d26713eaa02af4e37827e1176448fc2709d66b599c54ad4b0b30848bbf25f5b3ccde7e70e8661c716dcde9d0893ea249f6d9bcece2602e644eaf6d99e31a0f07d1528f4ce576459d5022026600bceacb11e138e11d8d26f509e1e52d74d9cdb44d9a4493cf57175cf403a0b592738429d03f5b716445557384779ca6ec040a047ecf7cc2bcb18fcf507d9c0be95157e590447999008eec797f5f1a4cc6f4c96488adcb101d8495a853fc9901c3f499e9c341e4e87afda86fd42a9f608c0e50fae8fa2f7fd15502124c47a621fd107b82efcdd0e48a0cd4aa0005550a26eb778aa829172989fb6292542d7553eede272931570420dc8eab18da3002b74c7fdeb23ab14c412b078889cbc9245144aca032bc7f6b3a76b5d74e447ae4fd5ed2a98f49e06497f517f74b551502161bba0dd0531027c7feee50ddeb4e27bc9deb980c8d3d58aed939ad10c632d84f933c909e23a51c628e60addd7a3ab371c598bd02aea381db9737d4b064e98bdab88548636143a43203e7758bb03286961c8204d3ed796fc3bd7a75e40b359f4828a34b7cc424f0dc13aaaadb5be216a898f4aef6c7c2da7c55ef3107a4406b5d83fa6a6390e72eb7bc90f89d8eb01444ac413c523eeccb5e6afac029d4105ed6b6d29f88fb6b7f8bb489e2f03d685d64948f16d41c2b0b289520f82436c4aea0958dcee2e9c9a59f78720dfafc4e7e968554d143798e782c8302b6af068a0b2fe12d95c3ad9608c8f4e5d6537d0c367ed0b1de5477623c8bbadcd6024a930a10c5fe6724d24429140bab6660be23fa9fb8fcb4e39d33ac5881470e9f504ea56a3ef1e367c42a5cc8e40391cf4b6ceae308fdbd1efa26d1560b0d1342d57902da2394e4aad26d77ef3c30365d40dbe4784edf0aa941bd687242eea8a743e3bd1377a587533e6faa54a50e2884fc7e995614798f71c965afebdc4c500093413d5af9ea82478f2ebe28e6aa95a5430416f3d0491f654aa0916b431b8d13b4afafdce7e156b18c4a6c10142ce8b0f2df8c422ccc81f64f4e5c96caec534aad52591cd63f0bfb4972ed504816911d3edb2cdd1eb95dd98ff597ca5dc8eb5d99357ac2fc2af2f677ae24c0266e5868e5d60dc14a953c348540db4578d9d11ddaa1cb68baf05a8c366b57bcdad0216fe0e351c426e32cf9dc86156f57709bb8b94e66f9ea8b28e043017e3dcc3bf1f6764ed60a4526b5e77501ff8f77e89507ed41006117d2a438050db55309356b672d15e86e5ad1a9cebe9f067b2647ef063fc493d1bea69565d415adfdf3016ee7994ff585fbd9bf65b3ebe57035f8506146857fff9dc59c9a9f933428b886d1c5c1efe9e4616b75bbada690c4b5309ca08e6b0e3d893c8ec2dd2b993fd63dd6a46117d8730b9ad8e1abc6590409c8e9ab87f8a4540e2de2ddd556fc2e479acd5db47d6f4e9a3c973927cfa3b342db03814a4a01d5127d6102b0f139d865933c8e1838a00825a3d3cb2d9d5ff21a46c05e6d803e9b3a242a2dfa5add2627a7a472b48ecdc488b688ab81d050adc0df2f94b6175177b1221e5db0a9807c3ed9a69ed87516efc4061ebcd4c250ebfa43e80f563012cf5ad49bc3e6560305075bf5ce9252bf1b137924f3eb46645100109b3c5fb867a8ae9e38d4f7edb259019b0392f90c858b9b83b6fa475d5da5b0aca3e64ff8e5b88f3ba2d1152ea46011b92eb6b110730e398d7d1f55019d12850a520198748cef9eed505d408dab3be44314b244efa12fa330dccd348805359eec0f9fe1e7488b45a4e6cab0989718a1685763a4febb5cd1e016a1e40033c5e820aca09ac244de715a8dc724c196a16e56a30d1f2309b30fdee67d4abf94540cae7b374335221e479f2cd774a09be2de93f6addb9e547a01a29de156047387a4df52b964c25d4bf340cd14eb2b68d250fd9068ca7302ec326aad13ca8d76c9315a64ae7b974b3bfb9c39f5346797117c2df231cb880a42cd12b19acd7128bc795d7f64659280649487d4e9a460c9ef8bd3141f4fb3b71807be7c16881a3291379408fdf62af769366dbca84d8432c0275dfb53e50932b38ce3a135f83943db842bbbd04ef4684fecdf0a674eedc02238236e1be2b1bd7cba6808eb0c470c8874a171ca01a86ec20056032b3cce6ee3f79c8a8f23c66f8b0ce9fa8277005adca368420d9e95cf347e7276fc46cf2f4e3601f2de9b9c1c21c4fec01e1ba1ba41745e9453de84f7e9c95a14e92986fcf3a5eaedf7d2cf8ae395082f3afdfe5a3f00831fea12f459318d82a77c31f4ffc1f0058f27554d65070864b115e3c79a79c2e2df3fcd4d6284f4c3c0d051d1ecc8c8c14f0a3188fedd7d3a6e1a64dd55587503db04275ae58f39f4e6fb0901d8efbced82c6bf815dd75e617b5c281d65d2f6ab42c318f5d3950d47e1f4384c42e4d929a184da1d7ea9d416d1720b96d9df935dcb4e3245d2b6c367d288c25552a9947c628fa69987eadd34bce4c91680283c71243646cf4f60f0659d31a968ab2c5ad4a850f80c95bd864d27f17e27d6946cb53d0c9123e22062137d9a2447aaae6c4629a7e9bfdaff96f6a387bb3807e676f6e44b0c82563cbb9eb255cf3f0aa9f927fa3a6466ec888ed2d9e5e84378d1eef1d7a012a4281cce56be06d2b743f4c4ad58504208f826f8d4fa569ecdd5ddba823edefd3cf5591e982ecf4af29d18312281ea448dc6297dfc67a2a6cdede3f720479d40fef4767205c45b73e32fbf304d63501a810ef7f5568d4a3015881e71548ef7531a53f84ef70165cb611c5dd1221141bdbc3d8998948497318ffaf4b8b46b3d7f28be74556494c2883ab8acf56887be8076ff06785a4984b4b17177d236e15db0e3c81bbd6dab219b20d9824e570e2acd320e854e19ed789150dd81a7c6ee35c5cb84798b88ba454fb7a9dc468048db5e214fb8f874e60e89614f5a6831586748b56a549526ba8d1016ca5d85a74279de1ca582f2721dfcde89612f83626233e285267afe44c4ba34ea0f548cf1f4b74793787cf5b830f108e6e4cd2abfc15cc5efd5ea4f8c44e4d4fbd35508db2cae603db3df29d153115d2a883141e4a0c8c333bc5b6ea99f3726623e23eb8a546bccfa91fd2f613c6282f2466ed7f16c127ca6a16c52f22b411f8e65ed448dcf83ebe","path":"m/12381/238/19/0/0","uuid":"015a292b-857e-4041-8b84-db0c14ee5d88","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json b/scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json new file mode 100644 index 00000000..6559db59 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ee049cd95bda164b1b51f425cd2e85b49604e6c70a83399d21096b638f35ba37","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"69b7e6c43b748b852493235d"},"message":"7f10c3b6b1c7507204259240e51392e977d3f85aa3a2d79ad571c94b8b67fe81c1d39a0d5245760b4c74804fd67583b987860bcce387c1d102a4949e08937999"}},"description":"","pubkey":"0x80697e9482ab8323fe56c63c616fa534dbca19e628d502bda55e896ce9950bf50076b57dde23da20c3424581612a3c052446661f892b4977a2fbcfacc8929fdbeb4e79fd4c0026c0169202c5644c4bb75ade8b4f00029291855b7d986f03e51693f43f57bd7175857693c2856c1aaabf38c8ca6225172c98acc5919b5daf68fa2673e9da6d9be4e2c8fdcdf7b66062368615aa505825915aeb3d6614507c09c729c36783f0ecc8bd232b657737190f80f2d9d48ecde7281337217c4cb2a231726eee148340c1b356383ca8d85ab3554a0c7e7d19b042bd006bfc89ed97078a75cfe6c95f53589cbbba7ca98b3679eb99d0303f0d2fc30c66f123fa04886789a7234307dac4d5c4cc91d72cd165ca310be9a6014b93fc51d63854521845e2ec2383792c76ca03140ddad5364942399c9ac52c279fcdf6ea4c5a3df10c17afa5e32c75025582a32a357fa4efee3c341b46df692e8451ea760eed9990f69948f27a78d9f29f3f51b2199dd108b2e4b52c5520e0f9c63be6efec450f3ec0947016be7569fe1d626cb3af87c561c8dcf34c4c4f82845f84e0fdadc9d6b7b9f92bd7ccd4a0cb748645fafb815d9a630d15539d4a3e7e8726a549da7b171569cf1ebc2b9eca032a1caa716c5ebf2e0e179c01c07c05f876fc5e423cc5d63770d0fa6333533fd844b8158a8615c219928067d320f445b044651e4621d8c4dff368d7ead61665d16a0029370f562d4fab2c28becec9cc6f8e319b8f4b8b4a851b54485d6364b060a209d010a6b70f1e03b574fb15c59cd982cc049028dd0601926e9bb128585b38052521f8342932b7feed4a901d50c7bf36683050acb04cb117bb4f7d60a3c2c58c99e61c8a39a75c71e48ed276531e308ec42e0c1bd48d63215373814f7058f860d8722314bc3ea9b37463ca919f11144a85ef97e37a6cf6796000e9b8e244955c100ed4a5a4ff570157bf5391677fa3176a1eeef2a35f0675907dbf2cd7783be7baf1b347b5a233522e83ff74652a2cb8a39ff1a1a86b846992f0f924fa0ccf636ab9385764c0e809e572d81dfd86a8fb21a82b709b76d0074b2a31cb5fb40a300d0088462de26752298f7c8ec856bc7bb232c5592e98adc38a76604c42232a2d2160fbaf4c9fe489dff2f9a9dfcf5aeafe92b0340559bafed4ac2c29efa8e5542824c579bca0b2db49695d1820fe40f0e26c6f42979becbcd1ec73b13b47ae0d1804ab3f3f9aae4daad8893ed183cf5cebd8787fb2f5463c5ea2c08c85d4cd55ee9451aaa07d6beef681b0b927a84333baad2237bfbeb99ec55525c7f5c51866fe52608e004d16f3164851414f9ba2d6d7464365c3d8eca5ecd02a92cd07c005c8a8a728297a4846c4d5c8a752660d10cd1e46cf93751bf1e3977c7a567dc08e78351279c24725ec2d70d538a1816865e12f153dff0bdc195c1228056ef0b6f9891aaa12f522a1a0f4ad1d04fcf767b3907aab9e907dcd74a6238ba40515793375efcf6b8548cfd3f3f6e1c9efa266fb58288b05e11d7d8340c31ea05876f94ef5406326bc0aba6b1786a54f8ecf5bd1b5e542f4918b2c551ae5579dbf9c4b81f2c8e8a1f7b34ca3124cee290ca9abf2f6cde475fd82fbe3024e9ba5e02d03feb4d856ed115cf8b7814c89e556753b45b87a439bb69f6e6e5bf8fa4d6f7c2e4dcbb31b0e703df8972358977255cc1847c3479cd4658953b38a0da6a2682564cc5377b6001732053d3e21caf2c502baf0380a8589d21754a7f615225a482a90c0d9237935702ae801f2503c3ad2168908e2b991c7b95be4491f6f87620dc131b8202eb97df777b8a196cf4ff2f523b71e21d96e9508eb1fbe813101b277b8939d452b891ef3210b4ba1f3c08721f85965f288f26dc5227396e4eebec1dfebba35257b8e05d3e11ef01d211120370de6fb5e67d30eab61017b593e4865f35bca89ff938509f478b7968cebbae77587dd8410f4640762fc3729ef20f56fefad73ae98f7d45ff35cb32c8ab5c7bbb5e3b0bb72ff16cff10c248a379de2cc7f15db4fe9722eb9b485c1949b2704f3223168e41658bffd953c1b534af75125dca7c6da96f6eae12b14b97d71bf5ee9a5b03552f7e5014e081b8ead1226151a19b9efa037d81d69786138b9a6a4cdc35d3108eea45ac0fb1ce424fa7ee01bbf2b1511d575aa305625a9f5892ed149a09375a7a85134d14f0be482aacac644c97a829fb6d401c43bc2a6e05e5cea796b2960fe07000f882ada55f03203b643b852e013749db01e8b81a85ca97e40dbd0bc4bb8e5eaa2df109b2858566c5744f708d5b8d0c1dab9521039431374e80ef306de9dce748f464264a0d31af1d113d9cd81174be529d19072b4892108f81e027bc8de3d6134e8f9f6bfbb6e940ac5a814ed091a0233e9e040525d82c98e892359ad566c4cfb135c2cb099afafee310411bd6837c213718dbc414947819b43ef25820b22660bdd292863f4f4ad416154510d17bba95195388907a2e5227e550b6c783d9538edd3df4fa2edcb69dad97e2623bec6abce157276547aa13c3f3f386dab15ef37cba0287716d5c494bd96c7d365525c6aa4f4ab5d2eb61417de039fa78135f1f7b4ea050a68e5ca83a48c9a42baa3a4b0d444d4f30e9f9f1ea6b0f0fed8c64ee02daeaab2231089acc3399f009c7cc830b4672e9bbebb77da55d0bbd0f95d8e93805b92c0ea024efd152dffb022796c0b0bdafcb2c4ac9eb853d5f1b3f732e5aaa6c95c137ab2095226bc94794c82caca7f3273bdd62a19a2b0fc92e60a2db20717eeee1ffddf7382df223aaf9da4e309b2487bfb3a93a30a23b0ee476cf13d938a8379a91655172c40dfc7629dd76c33e8ec21c10937cc72f220eb45bef93e50c8b49781b78f9054ae466b2e2fb456d81e14020be41e14b8c0f41b19de89f82f2559c3f93858f3c7eaf6244a04c84cbf861355a957a446f795380e4e86596a4b3b011b81e810c11c90ed790ba5957d8d23db2848dfa2bef03bc9673449805bae95ca09be40725f866f91fe8be39bfbb1b204c188a10149957d28a1d5543abe35834b641957daf536ad9ef13873fd63f89f2e5ef9adec45a2f2471ee94d0044cbed81be282bf8759e9a55ffa6d9865b9d3f748f1057358ed9538b6437587bd08caeca88caa7748f335e1339bc267855aecb0096d372c9f31b0d425678b722e62dad97a97f47afbe913fc44836fae9f18f6e6b045f52b47768210fbd3fabea091c20c7986ce87c179047c3b6cb7b0a60234b93954c967213d6ed14fefb0730b341e91216ea210bef39e649aed7faad67a86b48fe003a7359982302218f5cd95e814db53a06ddc54d2cbe336abf2cb7ba685fe974fbdc3162ab248fa7decc33023d6b4f1cdb5347003bfe5dc060161c903927bf0e1873e5d30337687154050d2f70241ee250919c7182724d3bde1d42872471f37e9abda6948d5cde9527d80586be7bd12b4bfea140dcc1831bfe579ed7582e917a3072dd87dbfebe023c17b5144502bb036b90903c4b669f237e9c7e6c330d91efe02a03bb5f62013e8da0ad96f35a7300c3a8df8af56b72dde8df49c31e3ec0c3c6d98b2d6c3ec1a77f1e9cd04ce68468fe1c2b6711add818d5f2fa4eb8f53a789bbdacff10bac0890d56d90371043c2b717c47294f372e28","path":"m/12381/238/1/0","uuid":"3aa9d020-49dc-4009-aa14-3a47df98c80c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_1_0_0-1751540597.json b/scripts/consensus/validator_keys/keystore-m_12381_238_1_0_0-1751540597.json deleted file mode 100644 index 6e1af356..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_1_0_0-1751540597.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"c44ad426a9bdea23ad7ba3c4c21990f4716ef96d01d3ac91293efc0704750818","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c633446a0202ed430ea79408"},"message":"e2ef34478a5c6814fb8227e6cd632ede49bc5deeed27a9c551dc9200bcd2981da5613b9b6c0e16aa418c03a00bdd63c17bf03284452266a9479656c62e05fa42"}},"description":"","pubkey":"0x86d4b966f432ce0de0633e1793bed3c683b9e3247c04313296d1fff0096eb657938d8ee62cb9b4f6b5f53033b57080a93fa9845d0fdbd27488ca282b2a9d4a3f8273ed3c1dc946255dbaebba16e87d215935c5953694d29f3ade0edf9d411fe5c9bfe3d07205f715a1609522e8403b05ab1be455d78f71fc87877e0a1dd1a67db01be75b3dc8b30d948e502a05faa118f712213da448341bbd3a7c991a4e9e91c716a0cd4f03b660d5eaf056a0b352dec991f35c4a423911fc131c73fbf768e8fcdcdb01b15a67bc4130f8c7bba987839159dd1f2fd5c3883767583d15a31d83f7768a4e309b5281d8c80ba2c2f8c5ebfa99295ea15d736d1dd8cb1db295274ec355af71a4f8188df7c754e06c9746832fb0345f290f40983242cb6ddacefb1aeab9c61feb1392a661b8226bdadfd324c2be11bbfb2d0e34a54be8afaa6239b87ff9c133b5eb979089ea0e089c328e8fc9b709f3135a18a2a98f0232bd3a407957a019a447093348758bb1bd302dfec8bc0af599fa6f6f0407c08767b69df72abfc13a3309b60df2ee37c5054f544a218ceeba93c7317cacb7a87968c52bdf05717b6ec6007806bce214d8d7f85f51bd9d9622fab3464b2e995eef17e465a2b91dcc5c32ca61e85aa25df10a61ea0649d0b32c7b3442613efe7a3b6e0e3ea464050613f1288f0dbc874d3e5247b5ba0fbdd4560b8fd82ad9cdf32aacceadf474f1910731addbb653fc4410105a03049169dd7fed17c978b3116e8da40359ebf6ae6c9876bb193f67a6f71f7109fa824ea206ec566a685905ef3fa4114943ec6e8154b680a45eb8cad4aa2f93c298b4c2542c68e8904840f9746f42d8d126b3d6c535157aa0832aeaae5aa4f52195e9a7ebdaaeb1d5afe1c680825a91192c5cb1615b3e1b09096c7601a1941690a7cfef443e5c25ce62f8d9963eedb6b049a8fb3d9d79720b1677d10610889fb4bcba882ebc533ebd393de67f7d05111cfabe3d72e32b374dd6349b0ca3b7b3a3402f07ff2069cf406445c528b28bbe97e4f8206be2934b0c2d05d981fc265e1111dc387169e79d3ca0fa5b9f03a0d23da1282399b9e48863e939ec76ead515d72e866b938795b78eac2d43ce53948de9d512ffd2d5479aa424d9623194273c2167cd03cf8dffe184d09fc6af4ff18ba21142a6b8a105b768ab9e342d8f16b31ff82e5efc1b6f6a729d2cfd469860a7ccd1d36158bd0e83c57ae7a2fcbd88e79634123a678a666b79849f54e8a9034e0390b799c2b6f05d8bbd60b6dfb052f7598c089750e21e0d203144d63109a00ca1d76173bd331efd3556f43720070d2ab3a3ca7c96f88169cee67924667c291bbca1cc6457e8c6cb268e3fcc968a3aa711693b43999e117c9e312d3a721ab00e32416dda16124ff039fef6bbf6ec0bb95e2b563e98a95632b27cf16c5d1d68ce8356b3d8978214394a1899e61a5eb01766e605cb3030a5b91a80875fb7e2107cccbccf79fbc789499b8afce8416a79a8ef34777ed9abc399df0a4e3f52213689b826abca35b0a2ae5c0e7283d5e5c0889218cde2a0f1ab7d290d98ce29d6a078f6d9426ab46b08ba7c1341fcf9f367952f2bb4638c9a1587f449e80f89eb133dcc630c9352727c7302d273e9138a9526d8288ca41f8fe141620233a47a3139c8814bcd7e518e6fb49522c3ee85cacdac7074f9a6bb46c5c4856a8cb136d3cd026ca1f64945f1c4f1f8f715b629dcabea048fb59a7761113acc5274412d3e84580daeee93d3137960be668b6da2fca08b3c8af025109a304760f189f86a69d2f3d8cb66542ff950026135fa76db8ec282e989754e9766c661c177357cdb46be30230f908b718ee9df56a36ef5912ebcd418ed65f436f1c3f1c7314156040f7162153e33f9c9f576d109a42cbb2d1ba0e4859e25bdf88f5726cacb4f3b6573779b90048da51c71e5a5559034382e2d87df9c7f577a8012d861ff12e98cefbfe10fb992a48f2e25fc34615abd0b3cfb97fb5b1f68bcc05b7c378ab7ac32c6c07fe6fd5e7b2c445c175b1833e26b51ca9ea77b5d0e887ad4938657fc73f8e07a295d1b23c439875e333bcc5cce73eee9987783b424cb6019ad4ce680f57a5ecb34d9438544ac739df04abbe08cf81d9ef49eae950d2934d9f6839d692df4928af89a729110421735ba81816531c07b8d367d2a690e26478c3aadbcd42ca54b14e946d4d8f3de691e68d42f7fceeb2498e8b0bb5837ad30d5a17f6ae81ed5698279a051f974ec06e92bf1c34bbd88f8ba949711122bfa12ba8221134e3208102ca20a30fcd0ed0e71e972fd18ecef553130a7a2d0da3ce92bbc23e75c83d216566e6c9b41d3091f2573e2474b839a5a3199bf4e9eb2ec335b9efbbb6e29c7e9beae286e52dd7976af1feebd58589a3d324508b96dbdf1cda07af8689d552ad45bbadedb43fa5f3d1ec0fc1b387b5660a1f17868294f3d97fe87e9ff85f159d26a6281b7f73c338b314959005590a15e2b9745ab63188f3030aeed90ff7a1511c8c963be5b6d44e59151be51621932ac3cb7668995977ddfe555a9cac4af689372a0b75085f0b47fb9f4a71ff36f675cb9ba048d6f8ed3a9229b975dad45ed530766c9e3c0d422756f7ce2a8311b330d047eb4ce5604b7556b43f27e9946ee29b7726394cd4327dcb6f61dfbc6abe0e57d5c3951051007fd365cbe4c0e33b9496f58d73d3304f31440fdc992a29a95be8d91afd7498ff798a87a46327e75a5594243cc50f00cf47bdecf53826eebed79fed6e8657450d4cd16902b5de32542d217f9dd74eaecf9ca9f2f2ad35ac29db7615e1f55227030594940c88ab0c4c440c097c4166d86816089b9bd36048764984d2476f5ec3fc349772c1e6c1fd73686ad5d1f124da3ddee180b06fcd3f958110eef3dfff1a9c8bb6f03281b70c25248f5ace27d8e084d8add954879141adacb45f2cc4985b21d482d90d70ef9e1896e32f18800ae7cf5c926762c67e3fffb63b005f4e2545f4252b6fd8e2469da01e853691ceb6aaa0fcc7b50fda0211be5b1c8e15afd2464d200fc31b59c0f08173d38e9a3a50dac2d2c634207922b75b7191626d348d48951c47542d2af01dcae7b5ea516a3b3bc7cedb48f4e88ff18ea12e295b975091b414aba5a335474507944ecf51c3c314a27c8350f8e8f5dab64ee2a0fa90251f5c53516edebd1f1aed77eaa2b49b79f921ec486b26d7976d6fcf542b013a54a9c85ab3102c95086d86e084a2c0363fa6e01c80c7f0e9e37794be4ae5134d7f2b89258746f49b2e3c141a0842eaee4939516f2059ad1b89f6e387addac26b52f6d7705f8a3592afa10b8b37191de2c35687e7b8a072370eb49a179004b7d2fc8322acd31d8bc283b32cb7cdb8fe855110927077cbba00dda932673e4dd35453eb790a4b396ba7d7a7934406d778ee039e74d57efc9ac1011a336192e51ea274c91f35b41ed211bcf960ff9c9473cc3a6448c361db981b597612e8ed8bde16bc371a270fb995496523f5d8586e6cf60230fdd62b73d9a525303b37081bbb3624738e59e18e3375b90aab2a6dc6748b35163292c5edcee8087380972aa75b0ad745672424e725991b9681dbda782af3d801f0b06d23ef857c92eb393fde7999e06649459912748674388d0785980d9b18a88c9","path":"m/12381/238/1/0/0","uuid":"e4b5314b-70cd-4d61-adb5-3c926d1525c7","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json b/scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json new file mode 100644 index 00000000..474cfed3 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"dd6d8902dc8cf000678753df8a08ce368b78fb0d3eebf630ce994c0aa2a9a055","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"27aa10920f4fdb796f8a6d78"},"message":"60caa6796517d24878b5e3da38008c17b9ccdb9dd4a1bbec9fc973baf7cf09ad961fe76ad0f76a344455d49bf9a9d6027f6b4a7bb06c2100a06f01cf815e42d5"}},"description":"","pubkey":"0xe41c368f5f0b48af8edf80cd36d71fe13647bede157405fb01147a2a351152610f5f625b91b74bac4ba8ead02d55986fd4ecc3f1ba950c64a8829284f22a308a9edcd68d609d7b666168aa30cf49d6342d05ed0c37b937c822bc66dd677c19d8e4e1de8be09d150cf1f7261beb866d0fa25ffad684346efa637ba6ddb2f6c980e7fe6148021444bccb8103c35e79f1110f57c429443f5dfdb4a50f53c08f48ea6f8940e24e15cac09f1afa4b2ced54058cecce8e4808597db2bf4eafa2515a66c95464c050041f872fd08b206c357e10d8221509ac5b31c814471eb57fd31f672f0fad1fbee65a692bf28634faa0548d60288f4836606627347f24aa73488c616054e8aa127b3d6acc94c7c72e818b9b7d89c48ab551776170564f15af048d4c79261c89041c0dddd992cd0cdbe92c65abed8f9d70b5275b8f5433f056e906701e3d42f8d1cd92178855e1fc0a1e2641608a6768176a3e931fe77e850b816a92e063137e6365d4ff703c3060af8fb9776e542b9519159f9179e06fb600056aea27835d95508e0891c83668d6ecf94024c9f84fa6271c70b5a7d72c92e988f91e8be9020787dea94709b4f4e71661c09a2687bb15495f491904d47bae025b10706eeb8ce763d79847cb33b161f56f5e17db33300ba83807a814d98eb68b938227f9d32de9d2dac9a1c52af06465f9dd2a7e75a67402f1eb403f6be902044a854a64aceea883b9af87afd5471f2379669b8061f21c9fbc80dbaf28c37c8898f52fef624d394a17f70ea0c9b861eb789e1fcba1692977e102fc8bc1c908c7844486576a611b291f8a68dc276463618fed6452828da3ae15be2c4dfc2fde2b5dea2686517d3ebdeb57c6c3fdf711b475102c5a69cdd4d80153ecceb94ad5f55b95d5e2512a360a94bf558c7951eb32a93c81109c3e21ff167fd0c9de1fc488f9f2a0321a5fb91105130b9285b60072ab6c48b873137480c8b51fca39fe9bdd3bd4cbe5f0f230acd9bd132afd4630fefc116ce94d1453097fae5ad483e8f45865c5b2677a095a5407faa4f7eb7abd75490b1380a033b4e3a240fdaa7308b37ed9cd487df08d4eed504ba3265d291640a9bda0a24dfd176c6277f100eb35f3aa1feedb686c66f997d79354225e6ac0423f9fa2794acca9ea512b38ac5028d28b580c1f8ec58c2edaa812584fc8eea51d629c2af2361545703be6af94176487e06b660cdda81299b0716368ccb2d186067beee33f2abd8fed1a9958d380e199142aa921065e50e34ea3ec14ae974e906e007a8dadf6db3e9b6a820c2512f320764a4c235b15bf0409de0358446a4f37c8bfbfa2f3ab85fe8f05b34af7763e14990c2f4ab31d30bbb9b9fdc3c945e95212e7a8b3f869ed38d6cb1010c0f7ddb8dc63546b426f85800208bbbe0a6568a642f83c45006eade8cf7703cecc379aaa11ecfd50faab2f4d0df69255b477c4c4882108208a9d77a6dd30b9cc966592beb60d5475aa67d0b3af8dccde3dabea0aada6f6b525e70d63f490c4510900d432cc2ac7f3aa0d99ad9a97f3e3f2907681f2c7fd2b87de768f4ed9a4254e84acd3f98c6a1bec6c04eb71dd6beef7081ae56c7f44bc661b76eef8d2299f223fb29c52e9e9223dc66342105257f8c14d08de5a447e4b540920e09ccd51284331b23682c0957dd9b4cd83201dceb57dbba72c04fb773dbe240fd9176cec4ec5ebbcf078a01a6fe8de1d99cb9825053c44465537df60d95b328fec932d096c23e39f803d12ccd000da260396fde6971f79c721c7d6d3da041a8649b37e1c761f7e48970b3dcce0516c7c740a0f3c4cd8ae00861a2a0407c21e28c38d6d8d77a1b7a3442be200b959cac19b799fda9f58b10c239986d1d92f6ac2149aa6810240ca29b51ad15d8e2ea2abe8a3d213cce23ee7137ca0078bf50cb9a6e1bd2b092f749f86826c67a2643bcc9a93e41513cdcfe10110b2e3f6274c185b573c1910039cba090474e5e01004f4198235fe18a641ecc914c462a9145f9337626193010a57611415ddf4cb424c9b3b83011bb8b2ab45acae7625d59db9dc586f434e87c64bb9f281cb7bd02631c3d4f6baf39b0e6bdaa384fe4d2d6835b3fecd133040c21d494d58f2fb8e4ebc6dc167f6a1cdce50cf113662558aa63012b6b64afd64ea6e34e54003ca5d50793c13a83b43ab2b806532d411836774f3acf1f75389ad8c016c1a05573a5c0f004f193a1c0cef2138b2fba894fdab093aae7962960f01be55dc64d10d242e9563c590fb61730c3d23ef26be91794ca7b9fe2194c21b17253d1669d527699fd92eeb2a93b6230e1292a15dd226339a98ec8d57d5b1362cb359a0df00fe6b0dec0cd0933d2c7d6d87a1ac65b02bb0b8cafd82c9433dc0e9ed8d1c08763b74513ca24e4dce89b35214bce99ff12d1c7af03439660e2266e1b7002bb79b6d7fc3acf9ea541cf8ce950f4f9d30f658135abb50f77b643b1124aaf915ff5a838893a385211daa070c06093d601e7518cec5f8cf296a80b290f103b89ab810ea83a01533b3f88135ed20ef1ef140bba0557a7d181b5163719c77ed863276ce978509a9387fdba0b326bea071055bb9e1f2d698ca7822aca75aa0aeaa5b63bd70e485c718514d361fd8b180f0fb1f9fd7bcfdf40a313f521cb77ad7bba809bb606822afd19b978db087cde62b628f9eb9e5a4b4ef695645f574b3f51951698f73e788a529e75e3f11c0b0c5dfd3861df2d26c97e6eeb15d861c5968b6ec20a3f9b208e0955d0b1a54915077a612f7ce13a48bafe1de938850732be432c11ff3973ab86ae3ee7cfffae9011dee3a26cf9b9164edc7d1ec205ca98f2889c80eaa2faf3970b9987f9b29dba0e3c25b99c944180a920d0218c201180773cd2b92952285df774fca5289c0f9aafbacded1ad96f968db948fb2961ba0192bd82457ddf432a5a4e8e1b064ade32abbd58a53b85a3defc6b3a7d81e4381bc2c10ef164015e750f051e34eccd9819e4efcfad7f7ac6baec25b0e1475cfe787980e16509510c3f3604d54162687b4b452b20ead28b8aa3b7c2d5700cbbffe5a16cfc9f2c8d8c3349149f27606029756ef22d51c5bb5d5f1f9b573a1e2891c43c75e84dffc8bcd2c245115307ec5d79d201ff2502be38af732c18a02ddf7d56ebe2df4ec6bbf248a42436e30ab428b2ded8a933308ec783779d0c0c4c6231d9340faf8e1d9b9bf10af211cad9071f5d33bae311402483a0c022a7b1d97470171750e714cbd7c50f5191557216654b5022fe25b226c9741a6078595da8dcbd1fd68720f5d3c964adfb64f4d07bff5568b96ecf5276e63dd974199aabca6ea046167034adb62bcf71e5754b1d5056a2e6a0321af43824f6c935cf695f3a85a514e999f018393144f26fe343d7af1995219e7c60d71413bae1ebaa132219877252763401b08de2cfa4a1a40e0c372ab996f7b51c8c3240e407ed99f8e75ca622332ec5eabfe5b4b19af521ff8ba674dcff59e5ea2b0b403100f6ab3dad0adc9af7748594c82b6b5b23a6c6fe967fa4c418295d6a6bc9fdd77eb7c8004a574220fc7dc3757ffaad1fa96d703f7bb047815faf7c76feae954a792cc276e5737e7eb889129d44807e85d25de7ca77e6e1c8cd988c868a08c022529ca11c98ca4803e4413436af2a6cf575c","path":"m/12381/238/20/0","uuid":"967d6a0b-d598-403a-a2b5-288b1741fe45","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_20_0_0-1751540623.json b/scripts/consensus/validator_keys/keystore-m_12381_238_20_0_0-1751540623.json deleted file mode 100644 index 33504c6e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_20_0_0-1751540623.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4c36fcd89a6f4dbd89a9bf11e35f5577354377b0f9f6f058870e7e059d5cf48f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f7eae5ad9e28a30e85cd7ef2"},"message":"7d28c0b56e732920ff98ecfa398b744a406ea6388128650bee5da085ae4c10e4b05428a0a3fd07050ea9f5df4e6319df03ebf004030fba2acf751c817d8fa4f7"}},"description":"","pubkey":"0x9705f8e5ea766f057bb31d63564af881d8a254216493c2d18f94ca2fec37b6599bc4d8d544c03f49dbccb01aa465cba24194bf02849dc653fe0be86d9411755975c53bf2dc751a372ad5c02194307b0dfbe0370ca4448e28ba645e4c489e8574cb2530896e69d8dc7a37193b56962564bb688a5a03a5a6376296e7ac8966a45442b4c5bbc13f89f1a96e967759f992e398b9e9cbadd52aff520975b554b888870112d311ac6ab8f0b3dfff549c5598fa5c9b9a159132e87b062dbb07e37bca965d8182027ef3adb52081d528e6bb2ec80bfa63c02a0da2fa347b70d01f7cb8a465b09e59213c75a9a94468755ceacc4256b99a8856f41f7f3c124bd8cc9e89122d4289c47386baedfc8c829a27bacbc673cfc174f86cd643ec7a1e1b0eca5fbee4eef600908edb5c94eb6ec7cb21fdcb1d00ab51decd84251a29ac8d3f82aa1502d088d9a1d30bfe5475a5e4cc92cb88fb811fe117d5cf41d328858fa6fba2aefaa6f1772d91d241d0a2f7c6c9a3ca1de24ca504f23fcd11db372f6fa8309d1fcbfc47cd0d4769484629daf2db0a1b63b51be03ec5262ff11fb5a29635b8845264dc10d924cd40f085bd5425e0a207266e33dab9a09fdc74c6b0b6a758a524b51ef6c03b2b291eb9c4fb2ea8f112aec4933eafaf6cc8ff3aae8bf6e2035648f0d3fc34a2127485cda2d6a48dd70be7135ad3f39c863925dbb41b2c3edf5d3150f3b4761ff04529f6afd479a3a14ec44ef94a8da63cb1ac93d17013117d993aefac44e201fdac4c08e24c20fbfb8c0842ab1298372e878fb89470e8586933f8965d33a69584eeb106790ffbcdf16df870c0daf2678928eee916c3d0c1bb1a0c8430c2bc1c08cc14e7799f884be7123424193e6d173547d952608f1d43f1e44a190067bdfe31face1b52bcdeaf5d94fef97145d2fa74eadbe3151acd7e6aa4766b0efea18dae27b437095994ed3506f557b3c633869396da92f662cbade0eb504857a82f42cc883e4b390b7617848854bbb00ce95cb344b26ca254886599255f4a65e6d9aa456a7ba621f2b5b682a199b69412209f9d36aa5ef824116f5a168098892140042ef0e39ee2e0001774401e278e809588153c8454f4fa157f818ce0b813a98cebe4ee361c0ef15f2ef42dcdd82b209bf790a0b1e48d01719ebe24de4eedb833d0b0893adaa7594762b07dceb85c2632ad6bb38bfe69dc0739fb34347a1dd07fff048740f0049aa62e2d9a2f70475a9c7cfa48a5776d643619c33acdde24118465829bb52eba64709b00e1789cf5510998901e42732f351b498bfc2c77d83d540509808368c5ba72be4284c0102a23c2cecd61e3553d7eae4475090bfb5b1a3185c354ddc51663505ad02a11d9725ee70e0306866f0aebbbd8ada5e90e57bc392ab7dfa30274d559cbc5638b42e16cce58d4a0edd73c89a105a45c015d4aae7eb9a4aae6ead8fc1598b5a4ff88159d70480830f0e146ff83d368bf9fe1f6a25e2b04769e7ee415ec99728fed72cb5ddb713d09e6959274a6613fd9e8b3947d05c25472288a9a7943cd1c5b5d226c04055247556db414e66d0f6745d522f3ae70486150c2094ff07c22e8f92655dfa0ad68054290cbca82a0f879c6ea3455690d1e86ed4c433217c322274e53c101499468f7259f9d007f0c8cd1146f0573b3a692561c13c8b1878f515ec75edc3ef395c583366fd7bdcdb91f549b9f2bf04be76abfd4341b55567340b02640a1aed1b45e85ec4754b418a246b1c201eb9651658f02df40c66618377c208d45213d1261728e7e33edf1d05b9aea610b8df2b4ecbb0d030ad95724446a356ddc6c5d98aa7f8c43eda91d677e039aa1eaab9e857f0c467464e3927bc62f8fa5879072d6aea15e6466e6f96684e6744fab7fc0812b860807dfb73d8a96305d0c90b95aa8dbb11f08feabeb53884b98432e1f4573ddd7d16279d297873a22713670bf9a765a943835d91a46e8364bb72ce0348dd495136c405c56d1d7ede1affa59b133e23381b1864406148ef5092285b4d6da2aea637d82d6bc8ff80b26eaa4a6c27aae63102514b55648026b4e7638fd95299a1b379aec3bff7d93780df115df4fc70dddc508262908a21a00e367f58bbcd338e9295930b08208c92fe6dc1811d266200360d8f47e48c828907728f17f6ce086d225e29b89f98c5031c67f39e76d46d46d51d6b322804bd1af6ed7d044ca7db51552b43b10acdbaa690f5b40f02f1aa261067b93d9ce71e5bcb6ee3a068c408fe21e124f17d250f7966dda2bd120cecc87a65532e417e619b763aab60b66fc150037134124599326e862019ce794851df444523247a0e76802e5bc84e7f54bc7342d8849ac738a56b5ada2e63c132f0cd2fb0a95f2097dd204224acd045f6ffa823efb182ad5642aa51456d32fa93e7cc4a8b2eae40bc30a7bc800a1f4034f1ea47bf2f90fab1d40ac51b69e5b39d8edc55ddbb2aeea513b37177634042f481450cd35a43feebe55f0cc6d133688203d9378688d29dd8f8152ecbbb709afe74afa6ec42ae69c2c1f6156be0ab1183ebbbdb7b0ec0655ebd5c59a9937dd3b6b504ef857e7dac8c9e25ef2596a2357b7cd1abe8c5b27b2d58b8378f76398fd81da0a65df5372e0b3f0480ec9917dd5ea1e77c1aecf7ed674089d872138fb1d3c446c92cd0bf4400c96418432b2d89618929939eba79e29005638c0cc821d0a034f5f0f81466e8a76e7968cf5a4f2f0f732da207079dcad0e1ca78f733873438f7cd1a4167c585201d86a065a06e1acad76b3e42f5767759bd6a558c9376ca415a7809dad52149bdc11f8b40eabfa7ccafe036dc50d8aed0dfb11568a60d0613a0e7f7d9a8c841343c0671a1cd031708e801fa648a61b21f3053d1f849ee73018fffe0d1e2192d23a421251b3aba878246032e5e8406dfce71387338e20cb4d19eac6464f8adb5f67bcc5f97f7afed59527651610ba3410fb69b32a7eb7121b769167071edc870befb6c0cad1fc025d35533f5ebbe1732f7a9f6b72ad6e75d2fe3e03533608d64284021adccfb78d57733f1df71e4cf90dce76d79000425743e02ff055b424dcbff77396957bf0f6b3cceecf8c6684158f1c74ceb55a25a8a136ee3e2142494a02b1e4109a7c07c182b441368b7d7caefbd7be10442304aaf485e27c5e64a05bcc036400881539398a3b415ec2c5df95a60c2c1e62955abd0300531d603b62c3077ad07c7677c960fd318c4c99d85b0d5e01fc57c096113d92cb7b0621681288f7898ab0a5ed594acc90b0b2fee61a853183b73610700b0497f0a123026ff7e6d819a45859961919b4101fb5432c515b1fbcfa9af92d52480b74bd3bb2df049c3ebeb5714019909ee879b038766d3c68a45833d8b9c07cb5e43cce39d566667900829493f8d955a07968e24509ccc7d7e5096bf2b4f87840ebf7cd1b8bb8f7e9f1d974ace625edf1aa0f03d8af2e1f113e6eb37248a9de216a4f92d6047ac922c193cfb63bdf186b169dba0c68adf10bc4f2b862e9499ec1898825faf0103a37f557ac9925f9065ec963a5a9e46bc224d70a1221a75967510dcdf49476e8e2131f77428f12e7c53ce4f4b733b90568e710c319990456c9bf905bc9a35d88e09a9c1e7050200b056eab4a05c15939015ef4eec65fad57ec4f78","path":"m/12381/238/20/0/0","uuid":"5934dc93-c969-4d36-a1fe-42e472037292","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json b/scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json new file mode 100644 index 00000000..65ec2ed8 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4ac9b8b27e10daf578f7878109779dbe4738b1be6ac174b724b032f4d7413e97","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"4eccb067958570acf54b61ee"},"message":"78048bd17943ea1bed7e0ec2d2639ca1d333c5d2bea3807974776625de815905bcd8969d08ba0f4b3f9e949a92fa8d9f35b719f2e21db7e5d9de3500b0b4e2a3"}},"description":"","pubkey":"0x022a1e115bde8852a469b9183661b5f807686b33c0a3c0f4905c7554cb2b767b690b86ffc339040614c3ea8068455220079e4abd25e678ee08686c040141939cd097627b4a5104dc075caae404be7d58f4ddeb8ac3fb68d7c4fd876c447ce0d13e5457e8051c262b5cf84392825e8e1e5b60460d55237f682cd57acc4e5e06fa2332d6842ee4796a0f27f39b2a02ea27374b3bf80d5fd48c18c535ece35a02a37b8838d468d813169f5065a4374c3eb531b0411ccdab6ef3d02be627391636523039e4b9f63f8472571cd5eabbe376aafeb58b013706fd197e1aa1b931f8fd78e727ce32821dc0faed89bf3b2264926d943668c4ee0bc9ece79e2471f183b74d7b6c893b1acaf629d08672b9083c50c466079ef4f522c61ccc28ebe5c47a6dcaaf7f679210339248258a00ad51aa1a6f22639f143dcced659b082ddbf9a3707db9c13cf700cc88be394d66d7b17b33d76385042cab1bb096f67c54cee6c2648964ba26127a34a8190f3ed5319929518d82555cbed3f041443efdc191dd038fe80c734c527b09f064b27aca07cf0a3e49d54b707d4b79daca90fcc1d630efc3a7fbb45d3bd241c2f9cb39a5aac2b70aecf7d7979487024d3571457b054c037a3ca9bf2712db73df4f7678a23ace36dea938d786610c42261dfb1a15a7061f404e9320f7d1a7efae58cd4be3425f1a042d1ecc69a492735a7610ef38fe57fe1c7ba003d20e29e0c4f4a91f11cf3a842108da77cf01536c67c6ca7d431856297a9f0b51270a7aa868ffff7ae66c74c06ac9e78cf44eb5fe4518cd325b1f0ee83a35910fd21500d3e7ea84b76f51990ad7754da4dff1d47c21536ee0c77b89e23b5995444bfecffc037e91fa6aeb20feb56d2f0e1a19acf5e8ed085cc71520e7712113e7a8806fb467448504d400b47f5849f705c6603a5500398a6dd29334c20aae29e0e90595f333ff134e94a9b726b6fe7c4e4f44066e7f09459de366e6fb2f051ba1b991ef07ee1543fe4614b3d493d623b31241eb4a7dc16c8b26a94fe17e9177fca010efc5f8cf5099f3420137333a5c8ec4609ced1cb4d148cb07f4d2cf20879cd0efbe4641e23ac85b70e11210fc9584312ba475adb5c33b5b7ba2fd30cf93d5f4a4e50a4900ba0398788ba264fed64d3c973d440633efac5629579d39a42f4ec49abf1288e4dff28fdb9572269af9d48c74c462355c2ab39700dbbd4d7a8efff605f9b096723fc8efe793bdf299aa445a43de1abc34d130c50ab26eed8d3cd17c3b160e3418edf9daf9191efc9caf2b84c6e2961d7a63f3111b6c6031cc21ecdd7959cb2481830ed6e9ae562387328b3d99b9852fbe04a0b9ee7dcae328fc660962f6ef64c50b6d9ea55947c02afe177a6d28fbc529787e2ec633842e94e525b2ad2c49f092a55a5dbcbd37a60b8328e87e7a04fb81697a0bd74d33c3dbb1314187e2775f678a693e5609ff9a404767c0e9ba66b74fc04c7d9709617ec2568086345333ae29e9eca227d12de13336afe25a7326806d063ba2713521e6ded8de38d25bc16c890cae6db18783911ba8628d3e47bb2f9a99c987f2eca27b63e3f41464aa6906ee0364e216e2665fc203244de5d425e5e78697a1c901af189115a65ea2a8af8b1a88353ebef430c6a8d92316e6be7ede9f5392d3415ea9e03190af14a28b402b18f42879cf99ed5d3e61aae46fa1906a0d7c0aad475eb0d9caa0a6a577f521f2c5d3e8b0411f5b2ae3f9f915272fdc7d4c13c8ae66048268d024591966e9abb15555de19c280f8e3dd664be3ac9b8d6570708a1a68f896f97017da27d1d659f7bd5185fdaca2eb083843c742eb860309e98699d3ddf40f9beaa69e1d177c9d7023b5042722e55fcabf6e7325b2d9b1c3c82ac689461a047e37fee539dca595ca314132bf8df10f161ac4ee546d439cd1c7a9e5e436482fc5dffcda7c91a6982f594d43d127aabcd4cf97da1c4c3308c099d83f31d342c34935d666f7ac85fc741567341675db85c0164d5946b47a78b1144cc8b42b1aea321bf8211443f32c53b6782e45d762901064c6b48e1eb6a9ee2faa9aca9af1e514bb66aae85ecf330ae059ddd146ee664b31c776fbbcfd52149be3ebcc4f21a715bcbee9f9ee1805b3a1997c68b23c9c247c114c1d38b734b61225642b4843ad248376dd44602368e243674740f1c9714ee75bf5d75b6f169a41d5a958ec5be793ffefc615785190a5e32c007770f1be60d9435837926d1169e9e1a0a70f136a3c8e31d205ada081fbe7c2eae09f779eea9638285b29b6142286f83ccf5783a7bdf0d7e5b84b95c07caab0635c632629653aad7dd50347fc8d3cbdfdd9047aebc1fb744950900fdd1bf2fe3b060e4f0390d213f715843f50215c6b1202edf358cb66bc27ecb8d60a523c9eb8fe0b8beb53345db84ab5283b90d7db08ca4fcced8d0756eb37c2c8091218fbfec0775c846d2f3e9eab318b58addfd57cf6ebd3e2b6b63f5e23a041a8002dfdf266b8251b380bf9e78b074a7a6732d55f8166ff58a700f67df7e64b428574fbc20f4a465e521c02344cc675c1103378568d4b3932e8c57bf1c8d04757cab86d72ac565158037ff2b352e731836a03603a491e10cf56715aa79a532807dc7102907f09335efa037333aae8835b2387111ada7b2dab78d789e217b14ae67c8b2994300aff1a873993d90f771b04da64942b35f27e953ba1e4cd4541e5018d3066ccff6e4ae01296bf579cab7b0ff5c985237f32b87cde40c3186cb1dbe13086c2f8dde7bbb35c033414858e37a994ac1f6255522c19dd925d44fd88f2d02dfb71a05632c6412b08d2d07f05d2053d5df04f6e0273a0114a93b6889e93047dba819017c8ee7ce0302cf6e304d37813cc231be46c9441c63ef983f9c3f81ff5786660d4606766254afff6a3ade708c76c5608ebc078b112d72e42166b2f8784b2b8ad101f9bef9109d410667b9227765a5c94fb5a1aa9cba6877b835898fbfb31c64aa5d101360b46ba0412fcd4217507a0a6f08e96d5f50b9e40474c936a0daae475403b7c87761503281cbdccf32be2a274527bf9665de16025eae4d3898ca0cfd773d426e446498d97598988a328cf007868adb3d0e5bff1212806f0202fe03ce2e67aa15839d8c26c8dde37f9f96ca762df36d405e35fa3f5a72d27ebe770e4772ab442f4f936bcef21d5f27d597b2e0d9e8596137a425830a792f3b3446de3ef1719589e7f7f5e5a976f27bbb39633faf8e30e6830593b834f0f2bbfd3daa82bdfb65a43877fed8d51ceff172b1c12e7f8e43524debc15324be71408770eb6fd46075d4e9bf03df301b34085f757f8b88d9e6da612d553f037a8e6689d792bf567d78002eea837753b4dccfd0d3b3176f373861f4ab90bef98d9c92040a696aac248b1349e51307b96064420bf22f31aeb81b22fbdeb3a0681ff8e3eff9111d8984167201a605296a2825ed28efdf91e692fe18171d0e7fe0106145b6d06a648417e90ba41d000ee5b00bca3d4c905cc309ee83633c3146dc2a96c4f4f89fa472cea7a7702c307dd9acaea35bd0707f1556dbce67bc63d15a5ca64e8bc532d1909d20035398e21341b9c909d36f91dede58492b3b2a60cebaf73f500c37ff9f6d931819931a2b330904f52e4b2cf2f1361fbf8442382","path":"m/12381/238/21/0","uuid":"246ba845-8604-4a58-9ffa-2023fa3cd88e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_21_0_0-1751540624.json b/scripts/consensus/validator_keys/keystore-m_12381_238_21_0_0-1751540624.json deleted file mode 100644 index 6e7b989a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_21_0_0-1751540624.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"30f568e0d0fffce8cbab6c21318dbef9d219fff7d3b88c65b96056d88f546cde","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"1ca6d93f577f8edb00986ab0"},"message":"6c65b00fae884b7f0e53e47debc7d73e03e639e2febb0dcfe75a5066192b6af0490064597758ae451906fcaf4a5154232b798e5ce70dcc4b80a7526f496edbc4"}},"description":"","pubkey":"0x9e28202ac268fda748e1711c4e9183357e160aefd9a2194ebb1b01582da0b9ae19f80da2005c8361cb819cf7ac401cda22176ebe180b56c2341c057ef71d70fb867faeb18caa48d2875b71c18398edafb3de53fd5d1288696dfb2fb5942f3159edd10529a29ca72525ad36b099fea5bca78eeadb09a598bf14a731bfc6506a868f4befe8300c95574012f081030c5310874de0b537aff94b63a1cdab96cbeb145eb5df6ebf7525b64c192d37765a0e1b87e86db217a1982e4ea9aafc79be33c2e1334eb9d52e2af12d91b09bdb3ecac1e0fb6d5dc0c2737e742b5ff3b464b89061547574733fbbd8b6746b22f1897cdbb25bdf53d9aa597d32762bd705f778dfeff10d4cb89cb0208818402b3005c6fc157941c656530adef92da1081698c45e4dec15f1616ab9098779ad305685167042bfdc125cd27ce725922c8657e206ce8f8bc39a863134d5c3775d56bd0859c8de6ecbfa5e135e3f50b424379aa5ed9071786528760a7cbc87c46f058a98380e48a13240fbcdc26f175a0d1a5a8ac848425750c8405db525a1ca6ac35d164c9b4325cd35a1ded3d5315d7b468e8363ba1700bb3e501874700148bd066111776df48f0467b72206101473ac210cc42a25a5810228a09ca302049379d3f71abfdca24bd093cc9064a9ad23113b6c1fc3ff03c5b9d5a0fdcd64dd879984b4227585ed7918fc587c70255ee7ae888e54d0df3086611642dcd8bc33509d88f64044b1d009410f669a2b500d95fba397b8beed495edaa0655f6c473ea75b308dd8a286b33f111db96baef81e954e224b163496df3f6535fc106e42f81db3fcf3a1646ab17fe0555f088f9178dbd592daf19b3d4463407ade72c2a3cc287198bc0cdbf19b9a7106a7dbd170996282d8a164aaeb3b8824608e507226a88bc751e3ffe6179c2174a86e1eeb09867eb52b257ff9a5a82b7c7d36af18f47e5ed4f8e86ea934aa8c32071fb4e070cd101a2f69f912fdd7f80b1e7f384c2c9a12c78581ba509deacf6f3aaf423f7201cfe0b339eff33c82e282493629975c15c9a31047d777eb9ff9697b1eb4b0296128542a63f12c54f583ccb2322211ac3ebaf1a0cf5715269905f010637db7e2c5fe1b9938f56d76ebad6a5dd88e9d3555e7fe20a7289cdc14da23e821757fcf56c4976fff318aa3c5583f895a91d4e242b6f61f1173b05e5c61ea6f99505c94d54370cd394e5aaa8e75e4a85d1df66f0b5a89e9ca2a2aa081131071c5722937c8178e10c84e184dbb40db7acda74e8dde6f0b1b32100732d1b31cb4844f19e82851449e328145a1b4883f5de0b6636761d77bde4ec5f70d21ef71cc056e8ee07d829161239bfb21e0a89c0aefd9acbb30e8fdcbff5761df130a91317f3b611a478f566290669820a8a6d9242ce42d5750886e40b46540cf92afcbb00274cab01af92acb2fad17ef6b25398318acacb9519dde2f9db405303739ddb62de728c31b08ca4860dd00bc1821367cb15d7dd519570f3eb8086832095b4f270b8decadda563059073331cbb2c9181f589380a6e2d927b0aff5384db460afa4f3bb38e6f1d46be628e87ab133083c61bcf02889f91e3cdc9dd4ef7ff36a8a86bc9183359313415aed54dd9f8062b26863f95e542093c64dace349b65ca7fd92b252a3418453b921f96cf3ab9a329e7d7de3b1a583247242cbafeea58438a7619cdc586a85d377adb5635fff39e0818bb9602281951e534faaad8d02d4a29a224676eee067d0b4ef10034810d248dbc0f1a984d23a63ba41a37ec01d6bd5e96cdfcc0fc2a9213353a63da5460b2806896980029cc81636e4956f12f2198a8f634777ecead766b8e32d686be2a6c5d5bbdeeb7775593cae72fd3fe6b7831a62847f4dfd041cf608f4691d8fbbc3798aad1a6d8028d7d5c906081645d44ddf4777a41781cd6bf561369691e0b72b74ef27a114fd62b8344e83dd94cfefec334316e4d04a0a3f0edac4b529f83136c6971d191de3bf68432559829c02b9d1319993d9313a49302f834da2734e3940064e37586a7c926b5aea0a4012d776e720a256b66d01be134715f4064cf437d20c224dcf7c47a5955ed6acb1be148cf4f0b7847f7d41105fda6e2c0d335142dda9507f53dc7779a6342440e06b82f6ee3d5c9a68ad0e4cabad432873be035382e84c757335e6464730cab9b19cb5d19370b48c97fbe2e9a35888ff65b560c47ac6f303343a585b9f5994458f26695fd30760c4130a237bb086d118cfe91979577019550d7f5fc5285d6016d28c8bff49d4635897e6e4ec9356f161ad11fd735837cfeb6529304e7c543e759f9c9aeb866c29df2e562174667a9bf357ab5d2114a98dd42fac568a9f2cfa013773f156a6e4f9537030673472b9d40ff793598aeb5826adc33cfc7be830331e69c304abf4857f27f2192269d21370e8f21d91c82cdbc91acdd6b12a63c10a50dc501bbe0552277bc1307e99c5b46c108bdf0d6222d15dd4ba952cc57ce28fbef88fec706207c552e29ead42388620b6e77d1939aa50393f97be2fba5d9ac24803383c92fde9ad580e354e2c03529afae436ade622803d60d1de761290e80ab392bed718f177df7e2ba4bd5b250254990de41cf617467fd98f9922607caba1a34114f859b4b43c9f6f9106858ee21b5492d513423262f2c1014be6d40864301980c807cf1873d8f061a32bb2504bb6ab3b012e392c2d6daf3cf6dc7320cff9ffcc5ecd485941d217349ae26f247bc4cdb14e2e8008b2d6a0efd37be4b02cf63ff74a6ac391a2a4d0150fa8fdba1b6cba6955fa2cf1b4087ab22ae4b86278ddc21e0f19691cb7c318fe7973dee658973e82c34076764536fb00c693471f8f5e21a820fc03669b95464fb09ae111f0b648326b34e4c4b4515e52f28f08659ef74fe31f6308789fc87c3445cdb257cbf59bc945e2c7985b892f63ef634c99977eb2763b7fe218c23d8971f8240b2da9077b20543c53744616f03b0eec26b332f242f4ef4163dd391d5bf77a600ed7b55a46c6ea8d7f46d9ca26a00c3830cbacae17c0bc3cd483a44dce0ffe94a59da7241d86aa4d44dbb0d7f8f6520fdaa6b6c9a3f9fcf86cc93d2a7228f668a2dd0d66129f4c96a623147378f020c3485d23d7643d691e2b02fb58f4ecb50e9d3461402f6a49ae7cfc0cfdb743bd44c3c5a8a39a149b1d6037e09f978504626056497a4adbbe9464ad3eb03fe0cb751f54919585e2d4b0c31c3340704398cf06a369ad4178c3ea5d4b7fe48a6661e1bba4f96ba5b170316e75a0c9943bfc446a9ac74910bae2defe48675dec316632d2a3d140174352645ffcb8c6d2a2467beb59fe07791076edb53234ace7599d72bbd1ca6774167f161c876d5abb36a28db67a86f7c9d4807e9e9fd4d1aa9c6f49ebe84f1c9f7a51d8b3c3e485b2767077e460309e8078c1bc2033e2346be936adcad4a489e9f867d325cf20c58282d4d09a2f0682a618571621d8a077c58d863de42686a5c9c87b1fb4ae0d1dc1cb0b55ed921e0ddd057c0127d2c81d0a5fe3b83bbb89563ed18481bee75ea64cbff1b7ef9567a1cd9b9e07d813576644b2e5790210a59b5cc08ce51f870ebe50219294a453e78dfe7af86043023214655fff241840abb830c06ba005749b8dd60fd088b304d86c3a75efbcb7","path":"m/12381/238/21/0/0","uuid":"14654c86-4245-4a86-a7a5-0850f7ce7087","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json b/scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json new file mode 100644 index 00000000..e562eb28 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"75208124a0847a1371c75b328537e6fc9c809b239e0ee5ddf50df3586cc5e8d2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"2f68865f616244ca0b6b5cfb"},"message":"b42238b35ec24734939430231cead666f12225076d799ed60cbc1b92d3797d594e27f699bbac0a20ad3dd54d7cff8c9e848826f9db0dc556500dc50cb4b91dd1"}},"description":"","pubkey":"0x7caff9e2b19c958c8ff310af7437c91ca749bb0dbd149f03f6fbf87d828d3e989ef5d4b126012fdfc3ef3e7f61d4be7f3b2c6dd77e577d661c43a2b2e12e57cc29b9dd2f6c3bca4bf501e686037c76f5a2085a269b58bfa4b0d5e71c62115bfd4e0f423b7cb6b69f1d668b7f259fc1a5799f53505f6250ac3998961d7d0342344a88ff0ee5a000816564ea84cb3f598a2879526e6c30f727142e123ac52d1aa2f07930b3d671202c7bfdfa2d7b181b4d965d53e8931f17c8d2e2e9765ea19f91c9bbaaac39cb78fa21d14f1a327a45113bcda2846b3bf075160678cd13f14786f43f143e55c9194a4cc15d24f4be294a1dfba934404d523e47b952c18437c6a127e95a56999a272ec9e7da6dcd6c5eeff0a5c54c82fd0a8d7f81e0ac13ea3c4a4c8c542189ee89c423e1242066f8a53fdb59a3cf1680bca5a2f3e0d374d697c61c740d1bc704551ed2311b7741a51c4907eedf8c081efb0c5b91d0e4770ae23540f9da4c1a9c0f163c339b944a5d4b82f6e62675deff80609beb18276893992d940aaf310a865cb2f8086d690c5d292ae06169ed55dc9fc009bcb0985804c6f8767d8b6dd9ea26ae5a982d72a308b21487e45e16caeb92b63c4ffe4869bab26a4e5b30ee8e2cab273d4a96c05dd6e38fce23be8eb3cf9d78169357d0d1c9fcf557533d20df448b7bdb580a207ac6c2f90a76f7a5d0e0308633096815c29362db0766c7de99f29fc23b3da793f7dcd17981e01df9a76b9bbbda8f25c3cce02a7ca583400d77c8cef0398359d8a4b185227f08a8feaa13c5c471e00f08c07362cbd2fc792458f051507b1e223978dcd159213d6e07313efa3e401a820341848872f313c278108fd3df25bdb39ef1b890611c3fed368cd19a3250c13b3673d871bb9598b3906b1a5f7cc9496bdd08118c3d3759788d0a223bf1807c3784df404c2d7b31ef3b6f909a8908ce98e6eea028a66ba72914d1d3ee47d1c98132889f1687240e7eccf5d0c8215d13aff8dc06343961694a5d6723dc6258827337252c90ff9a469029e8c456a6c41fb0bf1074a5e5f3894a8d8ff71d81248a82db48af024e6c3dc2515b771ca88561adf01fd09f10048a597ea2eab641935332feef0482329618c263c8182845e24af2331234af19da44106616dbda35bc405dec2425084f5a1bfec79d93435caad7658d5dd999190b0ff13c8a5ece03035ab8aa7321a6e25e03e1c272379d07c0038f37d4a95951a1d088af429e5c58eda3a0e9505d86bd9427df09c2a8355c2c85f45efd8964a9fa415c0cce8553965939d610931fda4af8fd64056b6b4c8a26c3ea5c21898c6925364de6874a22e03e856dbe0c963a9cf000bdd83e4b9455dd5b07bb8adfa3e9aeab64f05ded78e266925f9987ac9af36ab8a42b6ff53bb3f2e6228d90cc4e2a28eaff3dcdf280c284531f55ebc2d5d2fa7e528b426154b0c16ba211eb7b6a447467a156c077f23ca64a143205cc91689b2c970abc09e94248aeede248b2e2239e000f54a725c4e1d5a64f806d0f6d203b08a03337e20ba45a130e67d89de1a3ec4b8ab01a2a2f5c0205aeff28a2d630bfae21bcedf13923db3ae2b5057f73d596accb3bc30784d52fd523b1bf8a7185187d49cc1a333989442ff87402afeb4745e40f2268889ab3062b4f07da3cdc5f4fc7ff3d802509e00ea38f1ed6e6ae01b35d0d11622a2ab9116f1f4a7c67529014059a2c3cb6e2af58d53b052b75072e119afeb63f3eb267edd2b384b11b2af36ed228ec98980d49873b3edeb6743fb757669cf45adae7fcfc666f60b561e586724047f95b5c4af85ddfdabc1ac202d42e7c8a607ea7fede9bc0d34650306030cbaf74d732d133e953d8729f16884e81e532828b59556d5343cf27c4047da3bcdd3591b7f9b5539b748f100e113850904ec6d565e4963b403d4a59cb6309e1d4f37c057a863da844c05b42b0bc339ed095343cfd36b9f9d8f0dc2fe3049fee3fe79853fcf1dac18829b411dc8e8176be2eb289056ab37f5780272b1ea52207f4dfdb430789ad24477a4286413fad0ac249a19280a60fc67c43a8750b1bf952cbf538d3422984ff675233d78e9e95f8b4282e3c1573a315b427a80f612a25f6b9a6b0904bc648476c8654734eb5517cf49ccb1f1b4debd32dccf2f9b2c7aa2321e2a630f055d673f23b6ef4a2b9d031c8c4dcc1bfa4da28f976ffb39dd6ba88fd916f55715f592cbee9f2bb8176dc8afdae600a1e35f9d199fe247b764e35c8d4e3e47d91faa65bf1f20bf6d9e824e1662fea5fea4ab1b2cb8e44ca274d87a3c809e94e209e5a655662cd5e3d22ae9db662886cb5e1b65d15efee12d48c203220f14e6bb0534a615da08c229faec6ec5c0f5e4a7c7c4521b0c78c772dfe8d8ac6da0c53a464a4fae93459e56843601b96726a22c5d8a380a58f689494e6a6e6545465aae8e1748c4c8c41c07437802c97a37740d089f809def266da170bf3bd3f7c6901edf7f8fa5339b1f33456a9ab52b3f8644963b630ec6122bef30c471ea5cee233a83c33a64af9554566c4823f2488ac03a2314d74fdf95ec6d1ace813b1118d42ad66514311d3b130a444c355b3e44e92bb43f2528687df8d8ed10d69347561ba6178958aeb93b02031d550b1b49c30b08700e9ce92a71e5648836ee19d3a81576a890f307e7b4af2b01f9e4065febcea439cb1ca73f10fa9db45cdccb598530c0eaf9bc3bd84b0b5adac8812b911ea661ef02fd9a20f3e19a91a0b314b4f9c62f574881ddffe3c0a6e93b7144fa7c4602f1519a2e398499543adef7ad0b9e61ccb9dbaafd3c9dfe79fa9e1aa2d03fb28c79ec8da6aba7a039a441b587bc68d728ddcd1f33f1c275142d747801f8f59161f6cadfda3bc3507a3dc6742af62b7ca4d6f1850a9abcfb02eb814b6a9dfaf6bd6545a8bc044a4157b456d45b21915d7aa0934e374d9e1489340c5e98c4f5160eb15c299fb9931e6654acd66f0535b57ba33a1c11fdc265a2f472d983670c9f47ed8b585b37372a2d6b8b4025b98e995b8e9c3d072415f50219f0cecb14dc8bcb34d420662b0408ab4c4d1e89a95e23e9821223b3fc5f01d7b5596c3618cfc34465456b84589bb0e332775e78f9707d0024aad1a082dd7ed11be3bb586621b19eaa033a6bd381b4654bcfd993b5c55b1b47d1d43a77e1030ed2ee635e2b72f113f03ca5a301b023f6b4e4f7f0841597da5d171241b4d5d475f3ef37cd17809b0c8f08ce6eebecccb69b316c02339c89d1300915843b945984a7a5b4bfd3ddfb463e5de0ff8870a39db5641a2a6929f88f56d2d31fa512a3dff9c8b39d02d0659307ad67c1ab55372b23b84034c81f1162dac330949fa51738f94a2d3d95b4fa7eecbd01c863a2f6b704371f9c475fbdd58b16be1f953b92c06d8cb5e48385cceffe3cad56ed3bafceba4511c9eefad2a163b2e8e07e34713779e24969ce38cf83824b0ad984c314f753f0bd81b676fb2b6b2d2ec9425d764a5f636e6e27f06b4729d02d8677193479b9133ee88776cec7b2338e9a0b57d8dca6cbf0fcba948fc1b6c74b6eb46f7683ee3d2311faefcacae62c44ad2d02e89a84843af490f57b99a68bb79809381bbcf549d3c664330375860d56d0fd46417bbe44f55e365f42c0eee9ed0a9762302ffc91cc15b","path":"m/12381/238/22/0","uuid":"9167f0ae-492a-459b-a1d9-dca67045adfc","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_22_0_0-1751540626.json b/scripts/consensus/validator_keys/keystore-m_12381_238_22_0_0-1751540626.json deleted file mode 100644 index a186f9bc..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_22_0_0-1751540626.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"8b3a6db3b08ef4895219a7d3660c9011dc19d7ab49219926ca8492a01a35c8bd","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"5b2cab05d7daae7df30dabec"},"message":"efbf19a0ac86e2bada5266d31ddbff34d940af62652a300b424818cfb0c7abf63a70530464e39e3e489d25da2296599e424af60f835b30f8eb30b4687cd1fb3a"}},"description":"","pubkey":"0xea939823c579f8726269d564122ae5223faaf5a3d94436955b857749ccbcb9f0647b947149e25437ab5c1927d7cb50c68490f2e54fa495fea4489b8b83bb26d973d707366926a13a23f19db5007e2958bf7d5c828e8b9ddfe56191e38e9f5f673408f27e49780e4ed3336e872e8dd260ce76daf4c5faec8171e5ca22e0421924a7da5b462cf8df16593d3ba6a870d390e7af2cf420f9e50a885ce6c976c3ae4417ede965e65844ce0e1169687f445fd06d93077ab038d10ea7ecd18bae1c76ecaee771c7fefced4c4ca2a2c8b666093e8c9a45c130e011680e732d23503ae6f31dcbfa6f01c661d4e55c7c78b4deb1df711a08a6b4c7bc7e14b774bf9eb492bb8b85c1435c64ef3c3389be4a71345d112c33f7c0e6614418458b65d6c94d54d61cfa869ae0f9b5a02ed848cd9c9076e356b475ae8a68e7701e8646eb567b738f508d87cafbee7987db169dd891b8db0dc88ad152c3785571bc27738ed07d75f474d725de7b8e8c4ca6392fb61c8fe277b2e615605aede07a1102378fb6207f254181372fe9f30a2a0ef32b95c9fc4bb68128a0f1f7f0fe6177a19791333f01ad8f9101ec29d7fa1221293e8e05513b38e21deb1670c080bd43636119b21f3c1ab23ecb11e1a9ef8dcfad86e0ec3eee326e1d07c22788ee12aee84fbf64c814ba053b17efe14e9d668b5fcaa3d9f48bb93ed2a3066c4bbd5adadae46878c995a1daf1f28be5289e55ff8d88a4f8aff1e34a7f4a080eaaa4d8f9c5dc79c39f7594aca8fbdada0cdae4dbbd586eda0bc4537f0a9cd498a82377d1da2e21b9cc8de0fbbcd89569c8d2c2605bb1679ec51788b500903fb0e4b49d8aa5c31a60850ae100f50d464211bbfc09acc00fb9e639d8cdb65db018b1a2cb1c2c9010ae6d314e3fc2ae12be41a7adbad9bf2f2f37c56f98ddab8655e5d098ebf5d31134a5cc30746f7c360efeaabb709676acefc995702cfcbe3625718e06fe05eb74732786e004fdfd2d0a6b223228af3bc443b2b2b969675000b6fe666ab83088c72055caeede87cab646fe43e8a1c8d554f15fffebda0b7b96f8197c683a785b76cbf5611dc7127b8df0833ea47415553378aa3482de5277d1fc532af43e44917d7974a9b6539127f01c844fed722da145732f5564a1f79e7e1c9bebc6aaed62d6a2a3115ae34ec4691b4f7dced71a2667c6c00c4a30a0095dad28f32f459d63ea2e6f16a6520c554862c3739280beba56bec2762ab22d9f8ecf6816aedac947ecabe064edf603be1bca67b477750d04fb1e7a8da0d31927f720954429ec4c1ee16111b27ec740f51dac5436c31164d50d162dd51207f79d6c317b31fd0928a943e607466f0298477b11cfa8adf79475ef0da4830ad2a83c5bed1bc73e7573b8a3ff27f078d8d804d6d2dc4d4a1e0c228be37fe81a1d39dc3e3fee29eeb2b3cf2d954c84c4a075a889b7eb68a3b296bfb8b7e9379a64d76d44c1f90ea91ec09af6c58be320643fd512372e18bd007cd1932c7255bff0b58dc4455d584a015eb422d7d21f9014dfbd0caeea2d25839659814eb326a9ce45a5fd9d0d0d0f6252e2db6bfa51a7612abb457935a7694ccc2a4ff32d324ad61e8a8c283c596530bb6915cf2cb2e1f3817acf550d65ff7d8e5058f5c51b90fb87a1a8826a5bf1b01cd22eda776201a89b90f5e9ac0c3255d34143c536466797eba926403dc8cec2a44e5400d9af771c78fce7de5d21520c82b3ab37daa2381f79caec9b863680b78853df6bdb5eee05b2bd8eeedcf598baa5b0e7f60d3f2a7d6fede5e3319ecc9b0ca1cb882cc4962daea295b77cab13a9efb8babd20891e669741a1677929410b41d7d8788b88d93fefa51c6b5f7b8cedc86a2617dc146c770e7136c363830103290c6df78124f2c9f5de9e762be8d647ee9d2c8e18a5f6592433b3bc0cc58ef33050c6dbcee9ff4796378fc4b7fbcf16a82e1fd62727254fe40660061f6cea6cf35001677124e28f331d94513f260eff3742c95372583e3fd6bc0b950e5ba7b7aab4d4d09abfdb634a1506865a4de08093e07b309bd2ac873a2b3ab0f5ca2c91d4e2cd0ff899f40a29b7d3b43ce4b2f8fb3ceda2d6f243d521fc9051f0a7324fc4b57084553a1a407815079f8b4b9b0bb709d23ed4ec3187c45ab6c45617d2fa34eab3f71af6e552ac063d0025d490c5d977e5ed7514fcd586a017abc65846e86d4d46f2b6e61d4a196773f32e86ac2f10f44e7331737be09fa6cd7135db63244aeb7704d8e4e7ad2aa39bd2899038b03bf0ca22c7005d14eb14642157bbf37204ddbc511c65ab3bc55dfecf42940306142da51eb25df188fb430bbfa5c73f63a4d6e069fc127713d57ea86a45e8877d0a419a4f357db4837ad0618e7c2bbc722fa20e3ccef1500fc630930890c33d320f7e7419ed26fce970b911c84269c40dfd66925ace775f0857aef2fc2ae4a70ab76d9c5974908546211ce799aecf9098deb38fbd19ebae429a7f516d34ea05f4fa86a7bd56a5659c15cf23a53822eeccf4cc7e64c2fdedc99aa1506689fbd6e5b2855b88f14d7ecb5094405592dba6aa5ae59db1d7dd2925d709248ce0e87425e0f0d03cd01b27ef5a3ad9886365a00a786da1eea0b98fe22fe7e8af6ba98c7ac7d889787ce7e9efc90cec3ffae18b27f9343c1f8bfc61e6c309b009c6237925b538935c8d14e9b4c2563202e79ab08515ebc1da689af3111e9f8dd3f1997c8118b50a3322408b90695964ed4ad089cdc43ecca72ef28b1b4e42e0a858181470c91dfc7ba6cd1e85b978c5f51dab20eb110d868bb5f75376e8772b5cc9813924ed28186ec8ea27fddb1290d38d53d57fbe8d03f148acab9b4cbfc9455e8bb9fadbe2fbb02fe2e51f2426cf325d0bdd7580554a8641dc9972b6d6b9a4cdbcdd66a8c89c1af141f785533353c3c09355d5723757510107cc218adb9b702089e0c69d0c382d334cb8d06e47fca891fdef1ce6ce707c47e3ee79b38cdc35763f4443a3ad4c37e833d1133732ed08b8ef6fc423c15fc195d7e9c4717d8fbef82eb6217a7217cd19f92e29af669f9793f8558b9cca13e630e0683a126d7a1a551bbaccee66f696a7820d06b3ae886f2e659f6dbe4bf9b6ac72720a26bfba7dcc906c030afcb51205655b3820dacfcdbb13525346e51fc5a0222da4949f164b6dd6169865a045f10521b260e46b5e32dd0af67e0b02cf6b650f9ee22f53c2c5050d31667d5c30de5ba1af48d474d66669e3afa8008ae6f3e20259c4bc948d328dd22049015b5b3d8f20ab6fc0f0a73b9d52d9054ba9f35f53075d79db43d9af7615101314a21a19e470a86c6862a217bd654ac93c3b6dd8e5f34fdee6ffec99c7db7640e5b35aed422e82aaf40e1951320917971ed2baa4fc6ab1dfd020ca196fad3cc42cffcb3e2d986c0eebf6427afb6152e1365e81d4aced3a96c08899c9bc986d286b6c9b5ea579af17e04d75615a88bec003e3904da4b63dbd78bf7e3c9edb414fbcb0608777da0f9f14e07ce13413a02be820bcaa283297ff0986a6cdcaf6305b7f2d9be161d61861d3e35b422820c5940c79d4ce55c0a356c2a5941c09ebc0bd5f3a2f613d44520e13bc4795d3bd8b93a764d5957c946c0f7c4aaa68f70c3ea4ef0a431e32a4c001cbbd9cb1d98bb8e45627fe56920502","path":"m/12381/238/22/0/0","uuid":"afd6410b-13b4-4d62-ad8a-8d800225b9ff","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json b/scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json new file mode 100644 index 00000000..ad0c2d90 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"7685558c1cd6cd70e63c463f40a510970e2f3674f383b6947e2009dd858bbeab","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"646976a0f76a7494f31eff36"},"message":"2c1144210e3d57122c0dae021673b0e009b5a7f5bd37ef0cb1c71645520ff96c1b4588c6fdfe57d33f1971064b847f4008adeecc742d262d8e5121e11a0bf819"}},"description":"","pubkey":"0x97bd9b7cf8b9e78379c66334d3a238d366225a33069db3c75ec9761a05dc4f8470f6ea640ec6efb6daf1e60dd814e1d3161a400f6252ec72554e143cc4e2cbe30e847e4d3d8a4e501374d2e38ec4ca165b017c55273f9c597a5c2c07a0115fd68b8e7f765963c6c9f93820dc7218a21a4e83ceb2419a84b32db53a5eae839bb6d531fb3a2be6558c41ff9067f2d25ae00c846860ca9279901f2e74cc07192605d1c3e31bd2d1027d4f02f370deecdd2c0248ce0330a1bbe67ffa9d74c2ee287e4220c3cb7dd639458cdb2c2c779bcf74938ef1e3b39eda2855c71268bcfdcf02cd7dd82c4788fecb5240780895afadb2da583090024b89ebb0de152fcba18bddc6b85afb6a1715fbd807e5bebae4196f506a873ae691a4ea47ec059e52d0e1fc1e63a5588f9bc85c88cb439e2f24e6b4f504ecc6c24a59dd0537d38f3198c49b8a9a7f8f6116be16c46f1bd698a8a531a49b62c7c4131cb64d54a1ef255b490b0322898dd03f9a9fa79caec742968db51c59bdca59f01dd9f487b9e8b62c350a7ee21cc023a845456215983ae2004b77e5f957e124d0fb91c99526a7cee7c087029ec283ee768cb56dcd0c5bd557f13d699439c5feefaf5d1cdc2314b1a28e5c94964a9b8f4d45d9d309de75e60b985fd8e51f1fe8dda42c0ecc9749667cf842c8457796a2508ddce465ce6781ef79e7f938de89a57311f16797675b78983d2ae07775dbde753aa4db2354c1bdb0ad72a0e5cb98d89e8d9cb84c3f9c8a1935197c425601a944ce3eaf7daacac5934d4bd1232f29116f4bcc2793fb0f6d02c9fc377ed1a27b1aab33db4f2c30b50af006f252d224434e11d2c46eb080d9bbe0b6ea256db36ef9c00376e845ce9d854e1a85f14b56d99112c554a8012f9c173bb433135dae433e548d4dc94565811be4e5fd5cb9e1124756be84739477267dffa170400eb395a436d79ed403af7c310e9d25d782ed87ae368e1f9ee71f8a9be383cc85fd15a143ba45bf6d94db26657827cf4adf879b8695a973786511efe52bbe4d604b3016c19ec1a059bb90e8ca60157b809600bbf4f9ee4ed6bbbe6b64dd0af518a49c0503bee352aea97f55d7502b2a169cc2dcf1df2c65422753f08bb12212bb5d07f22ab99d56000a5d0efcfb6a7933c75b35bfe6260313c41d5ed1336a52c03fa12fd686da989aee33fa0ec87691249299a51eb4b5b947dc27ccfb277386e4d3f721821769f096a44d2d7d0592b5f183bdd16e78628d112b4c900126ca71462361ce445d64750a41341e7b0bbc1c0d93d6e892542349a6d5de746765368a95d87f70d1cd03f656a090ac71b58a3356fbc06284f0b0d7f9b32d06584f6f2e98649e05629e0818c8898eb952b6603214a00a729c6a01bcdb572bf3892ab862bc8209bf92fe2a6768a524f4a9d3ef9f4fe11af805a5d993009d3f41412fb4b8415bccca128aed03b0cc1c7bb9c985f8cbf6aefbab5e964feadf4ab161641d1c073805deb889c1a318ee27d332eee1f5a1b6b78923943ca1021cc4eedd88e3bf5442825f5f3f78d089b3773d313244938f4d6adbaaf63666eedd2e3cc35bf82eccd9493ed7eaba0f085781d82db32976bc0323ad25d983407842de0a59bffca6d1fd31c4f4e6b66ad8a2524ee5a6f083cfa4286cdb4b5f1336c46aa2854a0fc8a1ae7544424c6591b08248287065979f8ef61ab8438cf6614c0d4a3ac5ec6a17e1cfe55c2d29d20f1a0557a2b6e9a76be622036241c8a7cb6ef17b0db775aef912b69eb7eda752e33148eafe5974a91b4f1aab48546a1aa006a6bb809d18941e2e956c104289c7a0fecb80fb663d94515856bbaa1bf838024a0580f55eaea2d490488bf97be2086906916c623cdc0ba29703f2795da0b428edf3998515ba742ae988814508e3819f41e7d05552f0cffa122636def125a70cb451aebb83eb848ade35540e2ac02bb28bef71b808d094da39e33f222d46a86ee206af2711120998b15bed588dee841d33c5bc252ecd41d0574e53efde1066b17b43ae78cd4bc5ee9b44acfa2149f4ef2fabd077ab646a51e4b564894481be52ae44339d6d3069e9fa0e10a96981f008b59d1264a94612ba04024b3131b318f09480555223272e5fcc2c5a5517b7dec0b01aa662c2ab71f7fb2b3b38458c971ed27c3318bf47af55ef6177df2ab80c8ed28f1c3dfb72447f2a5d99123ad7f8c4a9c927c3b02ee01e023e716a59fe9811eb978967238b9e71fc82e7aa1d45c820c618fbfefafb028a82b0a2ecc2d01eb80ab3e2e5d48d9360eae33c0793b9ca5e2db06e062fc886d5a510dcd217a6ee93ed5d2b26ac3826dffaf57dd4a6399bac2e1407979e801183e4c8c37a6acefbf39e9833d68c6c2168be1ecb9c83f012f15e04ac27ad986ffeef612270faa7883123904d2f16e098dc50cf6ce7863e2317d01f5d1dc85cc9c2ad889929fd1440f44396315d9d2ad0c0fad657b1227b120e8f80e8bf95b77d6fce349708c9affa4f259231cfdc2d5441c70066a2482fcee2ca18089547bdaef210e81683c5d3cff9e75f6d2f7a927f63b8ef09e92948374e78bc02ec5dcded16fab9f3da0aded640a260a701fabeaaa6dadf4b043b99718d0583799d0c1fd7fa2a7d6cac6b961adb569b34799c0f813eb043db88bbe27631b0d939a7a98cf2f932d25f89ef7bfd3853426af2f2001b8cb89e24c822661ce362829892e62fc719d83c4248ce70c991361ec03490b3cfcd142ebf0b2f92e299c2865a4a7dee5cedc366ff39fbeeeb0695b0dfc051aa15cd51d88ea88d95e77340760ae8a5d5c3dc3c7290a0eafb9912d627d39f3eacf8a7ce9984ff7259e8d7ce1832e55fc7bb041614bacb9d3911c9931e9637862a3c5610f65d9ff7dc09572e6214830552a7b7df6a30f5c53346449bbc630a5242b8141d8e4db93d845c50cc91a81aed8f5144375979d2289680960d3c42dadbbc3089df99a14b9a7d419936b2d0e26c39f458baced0dbe30a20ba5db626e877be60993d7eaf3d369ed06308a4634c10a1311c0085318a4616a26e225f4741738fef7753a3445b40ca728184c72f9c0909c6fbc30c6c88d456ad969a07fd90bf02d1c8dce2fd60938cf80a99a81d2e3ad2f9917abee2d2c1273001e8d897a9435c495fefcac25672aa7a10d0d3110377a57efa0c9770c0d96c9bf5496c220d05e42bdf95dc22be594dd67dbf91d9cef661d7578656f27694431f9140732372d9d42bbbcf83596aea82c89e319397fea5a7c411402de1b474b72df870a63a7232514b08cf33e166daf9357c0c6a932c2db64a47f47dbb1b9b571aba37f9f1519aa1e6293916669b4744cdfc0709b5778129b51af2555bb5391d48dea7442e50b7cae644707ba698d015393a9fa1d2c090d28b46984022957a8e91481acbb95c706f15396f348f22f233073cb94a12da775f8cb97eb65efe45347e8156b6618390001e9bbbb3bfe6f3bf6a39da4834902b4a6caac51e03ca38eade043eb0e156e5ecbe171b5b203cfe3453d4b60f62b90ce2d43bab1686b9276c5c2dcff04917e7dda512d12ff136f34830bb65dfc957c3352cffe5d2981cb5e03d5414cd7e69d6fc426a8819e11771cad7916d77f7ed48eb0cac9d41d56879d7d88364d78c6a94e2facafca48d85d2991f69988451f1b0ba04","path":"m/12381/238/23/0","uuid":"2e6227a6-643f-4b12-9581-60c2fee424c1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_23_0_0-1751540627.json b/scripts/consensus/validator_keys/keystore-m_12381_238_23_0_0-1751540627.json deleted file mode 100644 index df0fff1a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_23_0_0-1751540627.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1316c84ba85de454bc082eec0f8c5f04777ce230c581e48ee96571115b76100d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"afa5963a5374057e5323c1bf"},"message":"903618a182503a4df6552791a171873b71d264ae351376d13324857c3987d4ce8f81f9331461f7df901d2996166a9ab2fa131cd83583623a84a9e2440593a288"}},"description":"","pubkey":"0xc71880501b7d69f42d11bddc69f7c0ff62ab66adfd6ecfe93c67628304c79f97bf1fecb99858350b7dc6471911c508a8a68424cad86647d65e4c9f5984bda75092c5e0baf7f365a3ace44698c1b15393684d3e89b9cc9fbd18e11c54556c1fc6325a2c6adc820f7331bf70c45628aa4bbaa5d88f43c7f6648d0736978475b276ddf55e961d940119ff8fdcebf0220557bf1b81a3840a06e339d3f22ea03d084212ce463f463e9eed7df765a17de0bf244026c3fa99052f8f49ae261ac340f56db4d4f8acfe6ac2aa0f8cc9f61fca411f229bdeb15c294fef68797bf7017e0b5ecd651b86905b42f51ed1e32014374d88856cfd20329a0a2b7f99cd21aee9906ae16e1fffc0c951df425d46fba2e3fc20d744028f0beace7aae253df856c2bc61b31805cef2a6d42b497a8dd81f2ed9b313d2c1b1987742a3783d2f4251c40f97965283adcb8c17bec4a560b71ead52aae50072f24a941ad563f09ab485c684661c6d3d2792bf3b742e622cef06cc351f64b21b1ea0fa628b68b810fc2329d607cb63df2c429540d894fd3f8c9d9aa51e8cc05065ad282d72491db56a7be874b65e7b97d52dc3b186d3f8a87191279ef26b8aa26d8f4ac5562ac785319e1b620cfc235440b617621f23457e0d5f9facee2c7807c8fba0b7b683f0ae2c99b91cfad6dd6c18c965b0027de91a23326f00b1e3761d7a659b9857a0ac79ee2e08246ac365bc1c60f45ddbdd77815e56f6ba770c8db670604e1ce868a9f529dad317a4d6155b8dc948b820c74d772bd8aaafbe082036cf0ca96347dbf70ef9a1f539e98587df682181d30e907b45aef9415f71b5d89e47a03de198b126cb7f86d21da7ca12c54a949757bc736adaad5ec6acc8923c8384bd9372547c3b506d11639846a554f65ef9bc5daae5648ae4e3c3733e662e5b44c43ec76dddef20bd4635bf2766a8d89e2d03366f4b208fb26298f9d95ef79083fb0b077fa73818770eaabbfe3adfd82476d41f417fb45fe43bf171bc2c7dca7b52e813a989ae4916484b28676fafc058cfaca6b96b680578bc7c1788450c19fa0c2127bb554d9a57df802aa1dd4d2dc80b41147925086945d98fd1a83c278f2611df734fe67e8767d889235820c59bfea9f667b03dee41e533bd47ecb2eaf0bbdbadf554d5bafda8d9a2b883f3d48f7eeb535011dec96192ad2af20b7e8d8f63fde4b89156f41676576b36b8645dc0f263c4c2009540b3dbdac90e383eb686288c613eb798e4ec9e9f58d622a4256fdc0644db185e2d028cddb020a66c251340f45cd12af337a08f5828ea362b0fd4ebe7e1e1d83f48ef8567af9bcec69ae2e58e0817c996dd4c2a7c4a95193aea35334c78a5f0efa2cf5881ae450e6d69cd5ae402bd8f7eb1fc6621a74a306312891a59a6854f4288e2cd77c8a1142ead2ca521f369b4cab4aad1773f98d58e1d0fb828bf6788c7a87f6760a113eb282ec799bd2fca7d3f2cd3c7c1d890b58cd13e65d3796a68bcc73397f94e8262ef94fb108c2b34c1f9d06fc2357617c9296e606841b69f9b2928b87d8925b456f484da549fa29ad11c2dfdc3b669d6753f86958cd6b358e08ee34991ad03fb69935cce8c259939b28516c463f9b2945ef917e96262d18b969fcefbc1cfc8dca45ecd0f96027204646ae7956fd559925edb96f9f1bd8b3bad16d744604ed846e05b23e4bb49c9d7656b1655720af713519cfb941e624c8c7210703cf37c76b7af0e545ee47f928201b6fc684d64ccce0e27983e7a72bd5f89b2f4ebb1b287835ee84b58c0c5bc344b2c14ac499116c81336ec539f56e657b0e2691b99d363a131312d308489d2a30ad79f40f1617e5867beb2f55b515c19029127929e85c7a62581847fa48440ca6fecbdbdf827c8b86e314c2905fa8d00879bdb01153eb9e3a5e8cff1c3a1f56264e5162c8e1df0d64b19ba3744ff85d0e61a94716ea85cb12a94d3a10dcb87a20c523dd47257a32c8822c51d8f8dc32a13dc4d333b9acc30b4e3ee8a4c2155c9f59449062c70340d21ae591ddb43b3eadb28e3a6e23d52424ba7679a1ed3039b7d1a8ac2b2390a713cc959a01acb6f28b83ae073885f9fdcd0e87db6303eae7b741b558416714b55384a59016b9363ffc9f93de3bf3fb9cd2ecf487414be1b77c2846730558e619483e5de00e662cc06f25f013f72dd51ceac1f3d7d45c8da7c6eff356ddbf8f8c46f7ff78ca08b13fbd780b665d88ed5d17a30a5921aca658dd0f30a12d984c6ec6e9f5d358719a0aaf423f6e1f368164d85838a04862b39f74305d14c7100172bfd43d50fab2daf0d157470e668b0cca1e88ee51ba39d1da633de586cb75fd49c59cc50b96d6f4fb778cb2850cf120f6ae4321c22e534ce8c89bb0d4a96e448ed89c706f082b9c480c291b92034b7b2290e561f7ccc1496880271c1691beb0e84296a4351fbd66e299064ecabd44fb2ed348eaf65d4ccb3b8181edac182c0fccc730c7c1f033b33b4ee87702d5efb10a1dfed233a41ffaf9ed8d63566311f628401ca063d6e8f963db4b3409f793af5bff7e9901566bb20091c07c3a1dfe6dc1e5fcaa0617430be7ba105cd128497da38cbbc75c547b4b83f0665fa1902a478d3fe7fee6efa1a7ac0db62cced12fa178a11ff552985dfba50654f09b1cf2c946db01da3c4e62e11d66021feec15023f987d96aaf7d8a560ed21085e714345e281be6742890853c4f217b281e8f9c2a504776afb289c2fdf9e71adcf65a6345e7cf7ed1f25b58be1cb74e2f1de95d8ba52a93658e8f6e6d957cc875ed1dc2b5e93c88b998eb9afbaa553e01594dd4dccf6ef74ae713e5791e16b3b253c9bd2090bcdec0b35cdc8aff84add94baf107f6062c6b8b56cfe14a93a901be2268cecf80b36bc309e441a25c221010ed207bdb5dabd89a79d9d6df8081080ee691e75b08f338d88884221319d64fd81fca323ecfaacca2775cafd742c34bd19ccca53b2ebb510e0faa980f54366854b72e2ceb920fe7b2f5ee97944246b1d52b1df20fff384e6e247fe9f8916a410f156c2460b0f7cd0e49aa2a422ceb32bcc3d20dc64dc4d06ac26764c331ef398d8b974f26a995a5de5f9909beaa44eccb2c7075bb5bb7ba3693fa6f3a727b56ed48a9309f5da4a4d3e0de8de8eecfe8dceda39725cc15c0ee16d0518a3b78c28acaae7daaccd122d0e1e5394bb597af9036848cc5bdf96976fc79295527ea16ac53b1242d6f2d5b179f475a0568c0704113e9e5f50f338c4bd501295ed188239c953e54e61cb12670c492ec4458a5787fc04705a4cb419d57d51aa44c75b900d836158bc0d22a5e4bddc5152f00b87121b82481a4140e3e4614de4214ea0e653baddf1f0956e57f49752f875566ba318666ef1235647514a313048e7a10bb013ecb8bc11072ac10701cb0ffee176645032672b77efe5976ae686878da6da1afe6b3f60986f1e8477f1ef3b9c5cf52a4e99a15a559ebd40254ee8936663d62012265080aad6dd29f0a2bd08904e8567b9801727217fadbd1859a309dbc6a7e58591e2469fa19c3725b1a06c1b4bf815fc8f8d13b25e12e4385a7f609417b744ac5a1582b8cd793478396b71c36ef92a268cb282615c21cb9fc8dbf55449e8255086ea281a847841c20beb4fb61651400a06f4f11ae8b2b","path":"m/12381/238/23/0/0","uuid":"6c24e755-8ba2-4449-905d-f655b3853c7d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json b/scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json new file mode 100644 index 00000000..00d65012 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"99d3f6fe52795f5b1ed52e08d057956d6ab53cb60b18cd3af7b7675452c478a4","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"933850d638bf9767e90900ed"},"message":"6dcf31008991ab4277cd5f2abe8f817bdfcabca133eeb15e1a7e4e185efd2e7f2f9d82c4eb3d5c0ad2a7334380b9ca040c3ee04f9e7ab51ad5671140f2c47a78"}},"description":"","pubkey":"0x5a46e603d89faaee3eefbbd28e97fff17169733346919ea013ffd3a9463a4c58bfb8d10b1d6b747c7d29d78364b2d22b8f46e63eded3ae8803dc4e52b8aa5a556896f66ba6e7e31e2efedebb1055499e6c4075d9a6f12ce499365cf0dd22b9692724e9b10c55af6e09ec47f6f9e8464a4976dcdff460ec29293c1ed02c89416750ef68afe30b5f44a8fdb2c74d0da0764c66022647abef6b51accf414e36d55313acb3343b830a183e90ae30291f92833401d72a9211255b3e93302510261243750930934aa0f5678f1c6b48dae96a201f1b9d5a45d367a67baa789fc5eaa2753e3bd98bf8e54a9c627232518130c1e0328cd6b8e93c1f3605a55caaf62c5d4525275ae72594c562c265c7af5890229011496a9ab9492fba85a228c9e253b4d6cbe2e2ac2bbbd65ca3a374edf27e21b802959467d69e954051414dbb0f5229ba8eca045a08dda4420d714a49ab16d7620737c038457aa13c41935803531ae52d3322667e511a6571217c77af226524b82755b27bd0ce1ed71459c90798472efbe5fd2367bb184f51a9c8ef48e52de1369f7412efd94926391b51f71d5ef8f7c84568e12cb2d558f8456d640a6322b4b092e530836b37b43c0548e1c10a83d371dd2b7116bad4083bd51bd53d825df5ec623930c48e0192792a7ccb2f02513225f703de4eb402993b2321468492b56311da1c0a4ea9a1fc43ea6313974eb71aa8c85ecde3a93e986ebda373937bed54e1a9fbed064cefc20f720c53ceb3294f05f85b9c317167814cb556d0297590c534dc6dc6751057e8f25a9b76224e2cb8480e9c07cd38955fb392e3d2bc2f6dd110bb7aa61dcd931516c9eb358ac6fade578d75069e7e9c27afe814ff1b8ca8976b413a1d460bf549501f7020a56186f5a9951d140c7b5dbf3101071d19eeac8b11d5bf82caeb20c5a4648f9862258036b237a7051c8c271cd2e46539af001ac116e137f9a041b95d8beac786e9853d3eed750e77664605f99509d78e0336f8fbb8fa9c0936c60e10e5f260eb415d4970f8890f1321ebeef80241668b90fd08f3bec953772b2849a9e2df24928901649aebb8d8e6717d9cd3fe013abd403cb6aee425cd0493b9d8d7eea42c1c37d2017f9978744ce217110a5b265465ed658f09a88f60828b9b213dbc306bd38ebd388152b80cdc8c59fea0e58b20f6877c2bdb55e46b11e7091915dae1140292687d61a678ec4228144d6b00ab0c5b890cd1f226b37a78a6724f6842d37cc33aed99e0ab94ca4d7efeee41cae5b153cb47242b01bdf9d1176cb7728a5790c8a3a3a5438c34da48f4e58eee2da9987f9ebdfa2bfdfdcefb4a12732203396cf53ba73a4e2cd9982a017a0ad7d783faf460381d39df77ea455689d0073cd13d5c20ef5d82ee8230ddc99b971fb6f983c910853aff4276b20361424a1de40c5d8009266f9465490ae4be1bb6772c74e66edca73ab16ce498d579d0a985e71b09c14a4f4e83b990fc0fc6fbc39dafc302a876b54324edb85e700839058744d87f9b777c4dab82d7e8ce876bef5277551ea16681d3b5b311efef8f8cdd9f73ca4cf4d688f0dd532c2f92c4ba0b13d76b7f35b317001e415efb9e5411f3899db42e354e76b2790add242fdc489b8fd90309724c616d6c7d532ab2d682b5adba062b8f05e931c5c231822184ea4a15518c3427a07e3b1103b3ccd131ca7e9051a74128bd93e7f92750a25e9d8cb5e35a998c945cf18670ef55dcbb32266f90c431f763eb3a77f21cf12c1812fe3c33b6a22e1d7b0dbffc1b3d136b2b5458345f84c6b7412a88735176f5fdbe558c8221dee00abc02ed518c547b6cb9609bad758d42ad701d768d985fd65c5f1100d9068085cd446b827b94a362f4c17dc63bad2fbb6c68a23ed4f002d6ef331f6c0380bdf884890b2d053585ad433fcb9d359e6f7efd8b783b2725e20d98e9e94006e09eb387d0e2228ac21ad25f0c40a22346501f86e7fd7ac9b05d1cd692acba7d661436234aee982451cfb40e2cff4323a5e060f8c3cafe54f77d15feea9558fc72601c14878e7e4a0c682b438f8cf8938a94c497b9d64f6ab9ac169a77313a7858ae91e8b40b6349d39853c67c027ab4f1480f200522894ac7497641fec27593dc597cafffd89a156a88c1054e7c95b5561edcf4430faba40af3c4e661d619fc96e68da504f8d058d69a7842ba2df2c23a150df931bef85df7d92ad05d1cbdd26b1f8980cb94bef24757e24fcad9631beb7ef411bee3ca3192046727b2175927d6a630551c7237bf166cbf0fcbb335a18bb2c00f80344f56c363927e83a323907613d9c279f35806973afa8e3f86bd051e1e310a3a95bdaad6cb75b826644cdab8e7d2481d3cdbeeddf7c14fe00f427f7662b8806a2fbb0c753366f38a9d129405dee7d4804cc2a089d53b6da0183c0a3428b50cd5a7bf0641e53395d7754ab811a691eac0363f1fa7498b4d6c3e76f5b3aa11682653936da096ad628b878dcbbaedf66e86314343dcacfb5e6380138f949ebbce5d3b5103e352d53b7214d130423880b8eb1c6df97ec6afaa8ca58f6432f790eb42b6026238befb0593b3ee56778a639abebb927032f83bef0a3acfacadeef227ccce54867d22b6d07cb3941a9b12fbe5d4a74c1d503c7b38ea7ca9025a95588c9367b2bb4ea25639b9180ccb3866f1ea3ee6885d436c3dbfe9cf7e07e73b271051c5aedd52e1931a9140900bb191c6a92755c7c0e14928c36457e8d983cc6e907fa3a324cf02962ef929a76c971513e04e49539dedca49c9acca050534827010e0c91c9f979da46212bbdb88f51a2ea41aa43a671a2e3fba0761475e49d6db79cbf8da6321c4ca1a260e1aafbcafc9246b932b67672a9d45991b30d1d3da464cf93813ae7c805fce57579a9a2af1b8f6231bb129a3ac989c74f4b969ec52362d349ac03366708d3edd145b0ccc8fb79038d388c4258afbb95a8f5329c5c70f55a87a55daf5d467e145459ff26f625bab1f2a95a6209434f4dc76bf3edafb7f470f2ecd5baa29216ebf3aa8ad450def055c5da10d9e535676cd35e68aebec985e797463e4fc1e726be4513e7fe6d3f882848a779ada638119c1e2a4ebadad12598c3abf0f62155d68c0827fbab738c32dded40136d756fbe24edeedbc5003bfe9a60cad66ca1bce1c44c0ed3b2244ba6c3fc518b5410c93cb25de6b038496c4ce240b8abda60b98f625cff74c5ac30012c01ecab907066258ab21fa47d0f6272e5d95d6fb14cfda4fa8a0e968a7e93d95a700fb9becf00de55341a374b5ca4c0bd5bd347000affe692330c8e83eb221b71dab0d6634885cbf84b73620c10ef7ff5179e016ba2f1fc233a947a04e4e6e01e2f7460f205180e61ab827bcaa5302ef96b2478c5288e7a9a8e6a55f6945e549ab936a85015585ac035c9c10bf355426943e91df845290257f2c66731ebc1e5ade124a1b6373c0c13dfbb71a8baf87c3767dc06c10847b64011a673179327ad4526340988212e754596f16c2ac7c071c177ed15c5b0fac66576c9f3300654d1c0b2e835fb22f840e8268525548334ae9a0fa5537b1bb1500a564b131cd47009ece8940a1b6922881ee34f2008902879f256f02bdfd043d42bc19576ad78e2d2e9662be15e77c56e4818214e5c036f6d690ce23ffcb","path":"m/12381/238/24/0","uuid":"ae14110c-4b0e-499a-9fba-67485a479364","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_24_0_0-1751540628.json b/scripts/consensus/validator_keys/keystore-m_12381_238_24_0_0-1751540628.json deleted file mode 100644 index b6d0d47f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_24_0_0-1751540628.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"c9ca36d525e844a8840f77c9c357771c2e98e60c8bb93f47d72c11250ba5dcf3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"238003b4c12b04e16065e4d1"},"message":"ee8409ad5d7754a2867eaf2fb530e6b85f7b831d6581722598e44ec8e02ff8c362b2ecb8e4973c7f017aa92709121718dcaf82594a72f55edbebf849b461761c"}},"description":"","pubkey":"0x7afcd68162873a5cf295222e8bfb96049c28af7210a3d7bc40f271ad7996689580673167557a92bc7c304dd76cc06e86e536c6e2685baa6c396d90edf16c92ceff33ed4ac98d5a78eb2e6cfa7161406a826c95e81564a037b9ec3480f155d807def4a2c1f9387f75ca87eef8c2dd32820620603996e3244ccbd86cf1afa11b69bddfc4fe4c2625fc657a67e2c111356b486c6bad243ce178eddd70d86c698732d3f38b35e1d5b1ff427905850f71ee5637aab6ae5154874df15901f8d4b43dcfb18bbc4a8450defbb840b555552cec791db7ec88bf0d991906ce13de65a701accfb4cd74d06da01a761de5799d66a25162ea588954b61efb980050cd51df92055120598d8ecb44b40ff3b19741eb9479628117e40469543d44db4f9ae4efa47b9a6e083c191f72dd931bb3d72983f2676d9cdbfadca7004e233cfe264aeef35ead369cbd0d62a88d0eac23bf0adb215af7cb0e08a2b07a80c2b09556a78e3e1739e91445c056317d50e798b2dc9099f321881733da0cd12c90153b2bd007f7d8b634d1a146d4f9399883d9235b2babd7d33bed242e0449b9b98cf16bffb5fac565f7812f46479307058e1c0deb7077d22f063041f95098a53dbe3ae23901606d0a2b781bfb3ff2b60b6c37755b6dec50045133dc0085c9a214183efeeba98b4b9a522c8c30c2676b04939a769319ad98c9200f39e38b0191345a7860831c4b22a81152ce389c11853e2ad5d40aa2d4dd547da3828543822763ff721664c71a2c77bb6c35047e8e77e20ca8d26d01a816f0acfe045f79c94e610f2f14289d99d75e8f7e16c95224de5c5f49f22bfe1ee085bc867f1ea204a0883a2b550d1be596cdd29af9f7f1b5dfdd90ba94f63aee40fc9213a59958a3e772af86a9ddff9dd87b2b430fdd735b45e7b6a7f1f7b3bd4b11d38d09da01eef5b45c6c3e4da6672632c246cbc383a557dc1fcdf1dbee8c79fc49f99c8f89aaa36d6d564b14a16a32a545267a80bfbb6d731969aff35a30df2eff7d88d776b409ff4431128514d5dfe6f3218356800816af1a028f4b70c176fd74b780056240642dc34c886d2cdccbed8410a400293426eddd7b110e3141d0b7dc12ad0418f3672d9d0dc2660f5ec4a166416e63c4fa00249cda1f654cf176b295bcec9e9e88dc54c746224b43875e9c487153ad22715a277cad124511e09949a4db6f89e8eb450f98eed45efad9ca3df497b2e8efb894d8054e27688524d4a3d316a03a6eaeeacf985d232102916894410c8b7fddbe9f7bc041cae9c4811578ebfb003946025ce0397f23834ce7cfa795966f8b3f12c699fc4ae09fb92a7f3f8476dd04d5648911a6a78375b8d2e46ef7d9c6776a749b4312058f8f0fb708ab6a302da7e62d705a359004aff0a3ffbe3f01fba9b3f2bc1ed48cf0a5a52782b4573cfc1c32a1cb3ca2124c7984cf6e829866e503e708ad96dd31f5fb9e70ec0b7d2d9202239733e47d479fc5a171ae1d42992ddb6a61cae0681c4b9d6c92203f7ce50740e8917d8c3488698f2c05fc596ca88444469a2c65af4fe42c05ccd96ba467528ed0ea0720bf6cc87e951c8562cb1629250a923d04da3f12cf8921f5742f384c7a0ae7a00bca6f85875651ad21e12728610d564dcf382eb0ac3cff182c617552db57ad053a453d20bebbec1f330e5bf0d9c929da911a6b0595a92098cf5e7eb782577997fe59c77c08eec6858461744711fa2190bfc717aa5e9d9127dcd6f5fa45bf914dcb0331e31e5a9d3f349a85ade2267ad4e96dcd2b7630d234c19523edd5ab85569a092cf8cff94b2bffc165dd480013509c2c21e45102d88791646c8a09a42436be1e7abd714e5c8c140b5c5434e1d1ba8e025eb3ac5b89f61b7bc83ccf1cf3e6568563e592f79632898fc7d60b5b84c624f5aeb3c52c21a148ebf01bb9bfaadebfc1cefbf2c3aa725b2b6281d6a2a6665205f7169627e8210bd0782a1b3755313ce32d5635a52c70102993e6d7933ecc0055b181f05b7dc66b191c93e69eea387302a6f74b3ae46e552ddd9314e5a7952e4a5393140086a4691925b18c3703a95c803f54bedc6c87e10cc2abf6d35fb7f201c3b4cd5c64dbce78f9be6afb1a68309054c4ba343c3da93853defc50212a78a32597fd1445aaef309c2f455148e69a150949e7dc613e89b40e96bd98cf7d397d147a3ff9424945748544a0172d2688ff542ce5b0b201d741ffe720d498162e88692a14b6078fd86b494680f4846bb1396fd0faa92a49a03b6c5f1eac7a4464e77422ad74edb4038ec8c446f42cc0176d25580ff2ee0358784010284f9915b0d32e56ee51d63e5d53fa25b55ebb4bd6b14cec359b169d7b3f1f8f0c67a42ea4fddc31fd810c4404e6e6d40c5af0dfc7943be6668be5c47cff3ad6c70ffb2ae813d93c79caf239c790818e424e1c2e73c4944905d8a466e38a15a9c57f0929cc0e6e15bb1fdac8bdd0efd2176c92dd48486ebe6c223c6538ccf7ee7b7e9c7bab16a1f303daf60e9e8d2ba8c704a21757f66a61b0d23a7a7bfb071085a6c572d2206f2693bc60775d1df189193a9b8c9f183fc3bc6d66c195e6ec310285fb1089cfccaab9bfb5ddbc875682fdc0c7ac53b8e4481c827aeaa6b9e8d9768794a4a7a67dc902d2e5754dccdcb0dfb7ad2a365fd04aa9124efc91d6188e1cf3a36eb01e1e4a6b89d2c7a89fe31ce212c61556269f677cfe89d55213ab81a80ecd6eb51527f0cffeb905531879e7075fcdb439aed4a016368ac13d4b26adf99c760e945ec01d06cabc5ac275d3087ed1168b0843f806549deff133fc913b3b17b9f3544372af6812c33b707e4e8e461b09e3b59e18b37d948d392f9ca04229c8e2f15f022d07d9cdea93ac03a8364b5be1ce613ee7c098305b6aee5a03ed6acf679007aafef6d7742dae8714e420d9f730da256f29a007fc12522486ba63e360e1d7ca9f4c37087c2541dd6674ea6a150b95a32db072c11a680f29072a13dca94a36918b89b39f74d3968591e68cfc36170c1cc85b98aaa7aacc6a388f70a181343d45cae96e9e59322c5406e722c1d4c404a91376fa159f61e1f446cd475b69692a4ce7f97faaf3c440ac0d0e39a0b844488f4e8d44833e21ff9170b81cd80fbdd18cf1871a899172c5e869b12262f265ae548692b78c39acef0e26b7f0f2214b64af7defc71934adceb6654fee1a244d1a7a90e51397145403e00a704e02d60461ec62178511f3347fb5a2103690125afa1b75d5ea90255991906854c32963d502d3ae75f523cb84193ad72c53c52f12019810e670d737d3b92e7456da5e7fb055a6dfbb4c585da5ccd671decdce97fcf7999509005a81cfe21adaf4564f7cc18665dcebb712dba477e09b5ad1d0085372bf684adaf8c5e869d7a7a5d5c680043384c431c7628aa3360641e3753e9930ac499936067d9ab55022b24283c30130c7b36ffe47022f3a06f57decf7aa37b8cbe8c9089d2e7de8c38b203ae7b0b3c29ff69febbb9b05332a1ad35d942b35aeeb13b8124eaae820256c771ec1fe8c1de0c76570a01d1b9f4ad2d97bde9bd5ff64ac89871e5f2488404cf010892bc4d090a2fac3271279356f6b9aaf6494910b8e9cc158baa88daedf0f8ef5c5569265724cd8a80398e7f8945d3e661e8feb21b05969e81faf3bbb95","path":"m/12381/238/24/0/0","uuid":"79a229ea-7bf6-444b-8a90-ea5220fdf772","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json b/scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json new file mode 100644 index 00000000..7b5e9d52 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"80562319af16d70b12c0c19858ac364ee8d72d2ecd4e4bfde797589fc3ffa5a2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f126d5bf0e06e923ef013430"},"message":"1372a39408d7252631a0277de235c17551c76dd197e0ba0bdd608d690c42117149cd83b885de2c2df421970fd402f37aaec82ed019489ddb4f2cc015d6910df0"}},"description":"","pubkey":"0x0112e3c28c2646efc3b661a866ee29f12f648dbcedf4d2fd4951a084d5f8678228b72a11fba2b19dd3e021ffab7ace56c926ec13fb73fb99b079defba72be144b6947a1936133c511bf1651d881320febce1496b7865f5695535450e45ed1db355d41e97be1179d9b6e6cdfe0027dfdc3849f7e18e735b1d2d329b2dca2923467aac3508d69be8377d394ec7dcbafae21c6f73cde6046ae2d6aa71d827d133cd8b5ec90dc2847fb584cf4a79a29d285d509e91d219c16f4ba297e0d9c0a62f94d5de5112dc602ddf7079a02213f14e578899da478b0c201ece163f0a16e5dc1bdac9c0523cd92c56f2621371d27b693c4f9b57152b98ca802c34d00506d249fb3e6e44f57079619f9efdd2dbd3628409be6e83351b506338c39704c5888ac44fced1ffa785c99c988c4c7a4dc76d0c060e0691002ca64012ede2cfbeb8dca20c72f795017f96d9aa4fc00b24064b784e1ec8cab375e4cb296a8aa7765ebe4762399d912a297fd0b67e50005b93be401a2a6495eb4d4024726e3c6c8b2853158c7b5b505a14ceab72750aceb21fbec930703adb1ff11f4eaaf754f9c6c2287afe714a2ca03a5ec1dbf5806ea30e04caf872afd4d5916b9471551e5c56fea483b17d73ee0063b064a830600dc100d5f69b5bc72457efce4752756511184e07798e05e6017a087dc3b72c93f9ded43da75757e94e07e8001c73b675f784dfa2118edd4639ed7e3bc41a1d52222bf3f92438b83daf2cd2ffa890533be253e06bce57f4f01326dabeb34e3bb3fc3da41c43eac614e5afb7d5f248112e9a4f82962954fa344eff4ad10177d35dd4131982210acc69e98ef6ea238ef6b790a627459a9896389c2ed0e98f21bc5417a74f3cc9bda948b485dc975f5c3e8726d6fca1f7452ca815e75563993deb6ae1d5a13b141048efa7edb00935e8e3bbe829b0193c83018d4d01a4cedd45d0434b5aceaedd595de9509b1886d3429428f21996318226e4a2fdc5b3a18590cd8664068d747fdbb4ef1aff32858c90812187aee99fc6fd4245c3bbc0323de80e2164235133cca13fd2952740e4665ec669bc4d30f96c2f893167fba0f5d81e5eeb5c9fae6f39c935072cfc8bc8c25b514c1dae507af2f10a9772c34f9f3ed77a5382b3d00b12055e25e87119241e6b1a5e428e6229fcd5a0c8ba3b227d113594a878e034b7ed3572eabbcc77b0f0ff366af27568eb23470883284bb048feb48f790efd942c4f0a0cc29959fc8be4bdb1a4a3b22f21e80c625f4c4acf4bc8768cc92e9a8982499b505387abdae4b6d08ee0043da6277346c18db24c7c41f8c48ecdef791b130504c05de577634fcd9822a9afbebd88845c140bca0afef6e13a15ee9f2d90af2e82b88c859048f593873215e98b1a8c174277980203fbdc487b1f18127adaf5b9ef818e8d087e4c698448edaea5d948364d748c5b3d2adca1e7b38b609cae235161c803e1f554da4efc35277f3b08f092d64ca544b7a8fce5de5c04b2d998637ef437073a16b9b00658060b315e0291131037bf44d4f344eae19ff4c67bc1376a7a431877cd18b282c9142f0260ba36d91d96dcc194d1b6b26d9201ea70e067837d261bc3e94d6ebdf321d9677b7b89e4691916af644cf46da23d087ccc57846823f5092e41fd3c1a3e934f61823bcf58789eed993e42c4e894a34deec31d26df4e0dfc26cad0aa33dad80b258d539c6a11782aef1f6d9ab95af93d2fff959b7c07567dbd5ebb5e6bd52373e3bdc6bd5dd359add44e6a801ff20e3069a0ffe5e70f8abb38e27ff8ac387a1dfc7a250345a694b0acb6f5081ccbea88d4e88315845f77532d303fc5d077e66610c7fed5d3bce29c0a5608bf71382b4aa670769eca61196aeb81231494ddb0aeaec3e6e4306ac31bf2f472152f8d4d93542e5ca12982e8bc9ce612f7a9b6e8f23758a38e382a03a527f61a04d36892b0677d0abd3d481310cf5b71bbc6411526a35b4be18824473c66f949e1e067c9b46442ee9f1c9415e45a6a1041cb334ef8577936d9f0cbe0596ae1c1901ab603b3b6fda36365e732a908fc234a2226c306f33d80ea296ce2c5c6a2200810423e76653f1c101446f269a2ece2dd3d4da2f100983b79d488388ef93f81ccfa63a22498a4fc381b66c0021777ef361bd0e4f0c3908277b8e6598f44847266b50e3bea08b56a8f25192018b961ee5e409ddc7af7a2b86fa9d2a76b998d2214e6b75ac104541f72bff0f477710d5a301825ba5b71d47374c176b4e0f60a23d36493f7d1221ae7a925651e43a9098245eb4bb4cf9dcfcb14c0be8f3eced68b059b08f9ae2ff41be423f650bb7035d7b7bab0accfbb2a37826580f25f1072654e4e36f806ec5c527ea77cd6b3d5df7e7acbc370b75c00429994608c082ae54cec4b78ddf0831f8d95483b67e2e77059f8f263104c0252a38da1c1bdccb8f772af710b91f1e596b332e4375c3a82e05795cd48f2d1adafa8638afe86baef576ede38e51e2e9249029fcb921bdbec145621663cabe04e7915fad52fac918e304309d40a22c25a83f4c0b3b755248af1b0e294ca214fdc05d4648685e3a6616bc0ef5291b07ec3022a39db1ab8c889d02925128dd6469f1b8e86ead2e4313da33bba9506dffd3ababfd8adbe826723a7eca818dbe08d00c6745523c91cb60486b2a4e214fe4d497ca5e09021a3b7dbdb4df82e7fb78f0b8ac0a726fb3967037c639821c8cab4234e8819ce40dd4220d2b370d20ee30a25d60a8cdb83a16aa1907b601d9bd52dfb130fb33cdcd9576255afa03b6b980968a1228f70ab6c26b5c0edc76fb27f862e2b461b53ffefe75783006c96ebd7181554bb16e8888e5aa64357796d2f0221cad01d94525aef6d8e6e916ca1eba706be0d751df33b232529e56564c6873d90ee52ab6f96103762e6bced287022a5c5d144fce76a078f7b008004a2a434cdf1bd3a34fbdc9b1d6164d8802f9cae1be09fe3f2cb63a1dec309327808d8824c2de8d4dde4fa32a90ebbc1e4b51339a29671e4f034eaca4e9e113d6ebbe7dfc04ae9a2d8b94e1b0943303a1f473772231993fb59975fe1a1be3c3be85d17e30bca9b01f7e89f08c0f5768d98d051c3ba5d262c681d0b63480ea1533211d897589147894c6ff0a117affe3e87b1a65b7e05050660f8d0808d08ff0b13bb3e1d1014ac8cd2b7e0dbdd43b2476719e9a578fbfdd24ec0754e4f89d485c540904f12a0a32218edd2b7ee80d1fe7fc8910ae7eb5b9c6c3c2bf70afe8a731a15332c54dd145f6798eedf4a54eee84227a5721124381ce1d9d0607b13197216b5abb4ab182f5fa15debcc1bf037129340cd51d53d04935f86ee4bff787057fe626f008163d3260d859dc087ca1d92bfb4d4f504235d47f8f8c430d2a0a6146f9a2904042f7d5c0bb672ee79cdd5d9aa47b7a15a9445a03fad8fb2357ecf17e39a98514fa88812c3894df4e4b624c1bfd5762e72b24b65a69e55831d4e884ae6438e717590ce9fd928d5e619fe557dc86b580ed0b89f5641a3695af47e2ec08a2eb10a8a20e6a290ae2e85edb3512a5b0030baec89a27fcc11a9619e8a549516b119da300958cec8c407931a49651fd2e8fe5e2e8ddef216f759b2b6fb523aa154ec1419b51463004e78b81c3ad4b074b7a38ccbf64680aa465718","path":"m/12381/238/25/0","uuid":"408ae392-dfc0-4592-8d36-e47411801a4a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_25_0_0-1751540630.json b/scripts/consensus/validator_keys/keystore-m_12381_238_25_0_0-1751540630.json deleted file mode 100644 index 31065465..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_25_0_0-1751540630.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"76867ff46ebda108b9e329a1411d0ada8bda574113891a12aa43b0b960512a4f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3d3dba203d8fda0e339fe315"},"message":"f0be2f040a8ae91b577317b25e48c35fcb3d33b1f63adfab91a47c4094179740175ded0ad112cf6c2e576ad97f0f33ce06976a5c9061e893033fe0143bb7583c"}},"description":"","pubkey":"0xef818f07f6a76bfc9aaf42db94e834922838ad444ddaef445d4627e0e97238a5547199d2968274993065885aa8628bb79f449c4b764a4a3649a1a93e7a46574050d03378afe0e0607fc589e0c87d1e2ce5e5fc974a0a7ee9ae555df9fa4fd4fdbad312aed0d30faf6219cecbf33ad0a134f64a493e852cd7c4a7007fe054ab1e4e84ecf89b002e0086ea0c81cb2ae4fe72f6def3a6ea8a65161ea8fcbf306356d95356c124065adeea10f25ff11435865980cc54540f31d41782e1d205f9e800e81c728c78f6c10335e66474294c3b5bd6c69580c8a6d1847838f3296dcb7b146bc53939a04fa90ebfe06cfc07ea4c69c4a0c4ab9f6432cbcc8747501d9d1da595c9bc160509bc53fa1471a6075b85816d97a430fd310578cf7ef014d74feb2abd742deb206e7049d3be4892d092ce35c570b2c20cd167a0fcd24ee546b390a8d2bc42c50e161e00ac2f57da98e2d8f0c6e5a73bf933b1f2034de20f37625ba0a81bc2d975c833b1f09078eba11faf8eba54c4a9556bc1d1631b625ede10f21e497eefca7d1f618a0a4c1c8d3a2cca88058d93782e8c1257893c076b6457358d2f8b09cd49c54ec512853f515ed569b22f39a7936fb0f5cb5cffc8c9cc7b7e2ed116a6466f0713b6b89e59e3d731f5896aa200f1c32ed93b1130ed6eb562e9647e9ce51071ceef7b07608571848e12fc5511b5170c7c1b24372cc78e1a06fe24a1d01fdc39aaf0faba0a553750c3cce0aaf6c0ecbdad3a65e82d882856818467e686bd96e3f8e64085d390d8d8a184a6ba12700c1e682ee446af3fac1013537db34d519d5cf553f00aaa5b85fe05b561bf50946ededbea6be1238c099e2be169ecf4d0e2e4c4992aa1c32c79e6a4edefa338978cdaada59301de60881d960f6a82ab777402687ad49d4d8a85d06c75f6c0d0dc1e808b5c7c5473fe75a22b615191037538aa2d157ad5c88b733c82d64c6f6c5618a6af26b492d9d66e6cf989fe7a376b0232651ee1c0e9594776a83e2ec9c29d8233d7e8be243a91e0da1c14c83aada564d5971d24cca105a89efa751654a90b53b6f163aae3f1af8dd6017850f8be8812c7cdf11a709169240cbbf9b9b605225f2190652da679fdaee264aa73a6f63dcc3d5487a39550f1bc8b5ea425b5cc85117f247b1b2963b33ef64ac5cbf0a64cad35fed9c66c7563c980b53b611ce10ae035e89db754db81417678bcd54b51e8d2ed5c477bb4b6485e84941f909f11be8a4f069d7e0ccdc417a1ffd31a7df9dab7c8e299697c0440477c4b4acdeff5b2848bdaf32efd81f902c90c23c5e1891bc239ef4d961a6d984c3ab7da921c5917da8f06f4750e63938d8c53bb97950f5d238cc1031ed62fe08da96311f4dfa20d5812e79f8e68197ed33f4f495ad86f1693a8e5e33ca26ddc1e83a77c24faa1a5006590e6c8705e08b7a18147db0f8531b63cdc029d51c0fb0ea4225931c09c3238fb463b07c6de7f00a12ce92dd586777abb48a2d6531f3ad6967badb1d6a1f5a07ee8876126a83e3e03fe00d33978162009ae169210d0a76c6f587fb309253dae2e5ebf8ba0b4f6d699d9dc434abeef215ae3ca262b863abdb6399540c79e7a8a4e75176bfd4b41b9034e0edc9a5f445277d5cb98af7c63768a0701d483454ff987c2cc091809fbfb24e740ce0963f83047816bf927a5912f4f29da5456f92e821271fce4c7b819edcb4c4c71c9fe0ceb359be48431208ec451222b9b81f20f2d2b434b544676327a499352053d44085173d2ea3de944cae979c767e926897a302b16b3dc1c034fe6a939bd171dbb33f2da53a7bfcd7f681371f27b91877e56d1dd4de92fe8f62a7f2b73c676399257e62736408b76062ad9b1cf8da1462d62098eca768056beffbc314c6ef7f35551db6a5e5698150a3f705651babba639504cd415051c514c9eb8f36b850a27d9ca6620cd4bbfd1cc0af5c036cab1fad299a4c4962cc39a246586bc0c5c0d6df323c86bdad15654c0b904119d9591d0d5d632a2bb4d59fceca22dc59af974c007140633a5f14daad39cc1b39320655b3f40ee437b4a7669f70964fe6d053f18084030a75df9c83418b38bf7fbf03ae4245f34b589c2decce2e11faba2fdd0f2a9b3f615dec502fc4b11f591757a3013c6d8e2d2d50e32538794c8944a5bcc766c36769195f27bbba63f342d1a0543db93c894a8763574dc07e10ef773fa366d5d65c4d768632037477b2baaf5908e2b892196e40dac35d547ac5515aee372ab918e0da5c85aece02cd82c2f0c8bb724f134b504709ad6891b7d5f283a378d69de270ba8041ceece5908c77fc3f8d0f5e15406bb5cda5c414d94f2519e4d3c254b43c3519b740964c25f6a12561e9ab139d8f0d8351b6b6ef2cf5afc184ec9a405cf1b90aec73b82009bff0a73a927b67354facc2d06ddd3513e5399f355c3868d45e4a9823f21c16c99b7d8c09cd9ec66bf5dbc794927f0705b6aa30107bc29533b3e278683e016aa9969a578667c50909766e5d5b53ee34a6ed4c6110f38cb9cbfaf82317bb396ed3383bcfede2b2becaa5608cfe142ca9f6506b3e7c5c5fb4c3e9b1241a9ffa2ec0191fb7861bcd46de124ab12b5b9887e0b2444568ba90a6a7426c8db281f1cd68270cc70b5c24084aebb864d2521c292806b7e0f99e36410d7deac248b9fa77269c4ccae42b14458cb63c5a6ca94be252a24c3de46f331616e4c0272d1551e0bf45b81b9d6ecd8acba8641e391cb3b1533442f726e0f1667e6c8b0d2128bd8045c6e429bfebaa1496a586b7575c5e206e7dd7e7b07f2fa0c02c1021b4bb843a6e0121944eb3522dbbedeeb3fa02676280db890059ebf3a7d78f2fb1ac4b20ee523c9fdb279e5d31cbb88071b82e5a1bd8c5c08b026061de7956d4448a9d3d15ebeaa30d08af3d864720a4fde6510d20e262080438d515798cd0dde4973c9ec27a6a4e3b259c44cd7fe5e4fede87abd8abe5471064c3c8769e3d6e9754a4cd64cbc13ed1657602393b1fab5354249ccbf094c098600a3f298334c0f86f14ee7b057c7d00ddd5b9cc7adf4ff677e50235ec88118ac4b2736f6041b3e81ec48f73132e7822880928ce09e5a2387771ed8f3a22832c018ed8b3113fb489e539b672f0269301de4b6513ce32615edb57a66fb7a61e1ccd402dca8836a50ff807f11d1d5e825ecc07e552b56a34087fd23a77e436f08e7413940ed23a8ed453980df619f6a888ef33d030a7cdffcc2511ff600a4de75782fd8746df98cdd8692ea0d7f57e9553d9fdeee7cf086c52222682cd5291795d941a9aff2f5718d49315abaef610aed223f161bc4178c108eaa353d3475eacc24d98f8949bb75f7bca7f244809834adfbec4fa84ebe82fe3a48ca67368dc0eb45a124579a6b4a2f47ba0aed9abcf09eb1098a6b5bd68d9735ead9d46d803be1b3d98c8c5c1787976bcff57a20104ee7e6abc86525a6285acbf2b5e3af0dcb9de6da68b166b0dd778eebf77912ef09b021c6f5de4d4c38acc560dba90f5ed7d168e8d34b4604af232f64cd525bbe3263449527ad73f965233524b598dca686652c368cbe9685f9fe55da7add3ba7b4cc444cc7f8b23285f560635cf3880e09b3aaa80b7840dcc64339f725de65e488856f5c74a2326d96a0c4115d968d5e54ff969a9e","path":"m/12381/238/25/0/0","uuid":"2275047f-b23b-4d77-8a7d-11a26da4d17f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json b/scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json new file mode 100644 index 00000000..677b1024 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"939b244e769837694cb8cf2afa5fd14ce4b09d53dabf955b7132e26e55160359","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"30987bcfe98682dfb7677856"},"message":"e2cf98b4719e3e99faddc3de7e29c0e4fffd6d96b9fd94e90980708a9d4287a86b1c22976d126c5cfb0d608919a7b3708b068ac74f0c95327e5994dfaf68ccb7"}},"description":"","pubkey":"0x4f9a383fc29f4de94ea403728d42939832e885f09c1af9168befab5747666f54c61132fb3fb4ba8d4f39acc14ef7e7778be28bdbd1de54333fa1c629e2df1ac134dd584f7f13a39c876007b0ec2fcb1443f955631caf38b1af8e8ccb04f4a88450b332ff7118373d7c8ae60ca744037f5c6d732691cee0a84e7c6523ce5587078c6efeae9d8f80311ccc7a10a1a0ad1c76adad2d5efb49f2edc16d7eb0b4e8c8465fe9c0e5cc15e10b6082e7e9796f42ee66190e012335e3bd19a286a2e3e1bf327ec439e9004f057f0398154948ec8acf4cd866037054c9baf718ec17a95af69c13cc6d022fc4a46d4e016b1b47e1a936c8330d00152e5149fd1b8a49084295725df170f9d9c2275da27da0a31b2edf705f5888db95897ecf3e6e84046c706536e654dc0a18b42c0874a0fbf7330b030baa81b0185147f2bc55700ba684234d6cc1160805157d0ff687be3b459bdb6a762a22fa520c38328619919ce3260dff7b1d2be6be1de95e57b5ace50c1667a8540a73219f5a2e14fe4e47c12e0f8202b77d7d2a1ea08427ad734b90b6661c8b38d2371829f39e5f6571d0d47cb2d22df4deda4661598cf518ea688b532b74a0840e073a91be15caa8d8a68ff87c30fd3cf8ea082b2465185ae4380e291651d2f7053f58e2cb9a9b1189b9dcd13063d58bb6ef8698c4a519408d9ca907bfcc486b0d677927ae6c21cb7c351188a3ae23cd856e43c1ecb4f167ebb1a1453dccb183f1ce9c78785d07c12499d13cc67d05e88e1d7b6eebf1c10277a50ba8bbe87c3e3193c71811192e2135919a8478ec050637dc7fae21bc947eda9f5e48f4d62aae8e9bcbf50e2eb40982de2fd673b6e74dc3191d2abac92e6b6fd79516bb30d9be2b8a6b786d75787ee7b1d46918ea9c38a7d780746efeda0b9313db950b9636681c56a0d11d94222ab4d2860a6ae90e9c1287862da0fbe70a4f0dc3a45536f889db48ac30d1830189df90d1057dcae1dfe85184a2b1acb277d8e33e8a6cdbcb4fcfcc67d31a6518429f5da14920d9fab92c7305a54ec79c602a85bc69a3f03b037b948952d75b103d801ef72cfea03e9b1a1e593f22747591592ca5f0820bd2f170d003d7a95029905b596a7d701ea22791ac405ee67fa98203a82b478172631c1a3c6998bf50a9228500f7d3c6c5084f55255bb2b37be792cf9f14d3537f64e4db2aac194cb7ff537bff8630aa60281050839a8fffe542b8da12a62b59a0533d3fb40d47b024e2e9293be7a6cf0e0fa8b8ceac5829791ad687fffc8a082639ab864e2e1baf1637343f4709313efeec2ca8118a415a2b21b829cfc7e1de06f7efdfe475722df8b4c023c91ab61cdcc6b62dd84f9702442266887e6c6eea47a8683f00f53f66747994874a4b9c031a3e15be3f0654326d02eb7fcecebbdfa23409a54578b2b375ab2c2b2ab6215dfd526012a61c6e8c1efcdb799ed121285b068bc5df3b5da2f283291d906be6375337d6ac293da4080d98cda40dc1d8952fa0f46d20aead4e62d1d38c8517266c09a8ca004abc3ce997cda95d22c006bb5ba1ab52f140eceea293bfc669bb2d40b364b3902070d32776aacd62c8748926d088b31df11a09384f14479bd322b67cfea0f2cd47f11c98426abd8035c568092ae40b0f727190b09c78a3d70d3ecb2b319deaac491c8bd4defd15b78576899220918709ef4f02291e481bf03dc6e0bcf41db6c189a21f7d5a986f2de2cf1ce690c906582177911e90e7efddfaa1e10f9c041343765a884235efe2c8dc86bd81820d6d69c3fea40c6cac559bb5ac7bc039256cbd2217d16391b24897e8e4aa7e3b10a7dc76690fd1f50b31208b8d9f7663e66e4bd6d188edadd0231f5d11b3f57e8dc0c8ec3e8ce27cee4af2461d7ab0bb92c8cd67154c3bf9b13a54ff07d0006f9308d2b7cfb3e6595632376b3e8f6c625a8f7983fd2e98be9f9e3ad71d2da50b3d134858424968927efb5e30af6a62f6778d66e30146e9b7ad1ba68ffc5a2ed275148cfa1220645173152af1c485050a10a15b6a39ddad6fe8964d936f2af0aacf5c8c3e0450f311a8a310613ba38536a9c2353b3986c4ca6dcdb514fa38ad8e838f15bae410362b180325314ff8e4f4743c41c43c0723af85848d90e1a91c8bef99a2168e0136f69027249a1ca630ad2bfdfc78cb9b715acde503660bd8b976c244039db944b01f06a2f7f8693c7f8e9986d6b5bffeda646ef6c42da63af50bc4ed0ec493d836dfdc4813486fe0c0435fa8a5a8b546e1cbcf8ff414e88e5c6be9138751bf3ee86aa61a4739964c27655d92354a506a4400213fc78ed427e54500cd5895414843f7904b89362abcd25915e2cbf9aa53e303e90d06f1e0c77a7ac9a05e6858158f4a0aeed034456a0ab7df33ed9788c32cad312cc94758b25434627a61c6f418c06444069a398c40e3c7632f846ba11d25cdc79ea65a65554beada062aae0c0b6f05951765e4f13c621f5420256a30e7b8310d50d5f3fad27b4575725089031ce2a0943333469ff18f78a2ee15b346e6de6c75c28e9befc1ca8c772f791c98700168fef00102d7ac8a4eb3d9d6fae3e2d1ea2b866fdd47fa79bea18ab4d87042a955a84ce635585697fbd1144714a9ab9e89f7d26f7a1225168a3e544c90b80250e83377ca485c7ca07e75247b7af4ce69a600c60e0c292e0ad1532c4045f92d0068ccae5dce393fcc6e9204bf775c287d841fbc40215bf92251c83c80f993e25dfb5b52ca603443762a0715e76d5eaa4f33fd1d221808273bf759cefdee4a966c7a1691e9e6e1b4e7530d653ef3e30b12cd0e75291b742f5d3fa6dac45445d3885db02dab0ecc19cc80135eb2172e88705a7132ad3d3790ede74b0eb50479323cbdcfadbb49ab0e01f3fb628717cebf2cdb327381fa782e884d382c17b2d1bf9b8757c14511bd3aff82e1c2c7585394e4462939584233b6abef614f0384bd4a61facf4f68d27832f7b1152b14c91af72ff08df51594568e4da7c5cd8034b786fac313af9b319a775f4adde85d522fafb9af0f4344416a20b331d69eeeb38173e30fb2532acd3f8378f68a36bbb3d9c9aa7b6d8f3e6752b2b40b65fe1f2a0033df56a1fe86d741236dcb593a0b92bd3f76d39bd68a1649111eae3ef17343295b9968515575fc1db13d8918655d92a715b4198de9c80324f5ec9f631e0299870538ea87773ead8a7104c651660629eea27b6a1a9afad731a3c00b4ce05b80c02689701ccfc88517060a159b8179acbe52b9c9709646befc2b1637e464aba7d2fe24d6c6f09ae9a9d04389fd8d87812ff7bc6ce2edd59bed9346de44b8eb8c8ecefd070dad8e8610fbeab5cd51dbf4808e8e47fd4de335c3c57e06db02e2ded7bc65226191ea1837d9dcffedc76274049af15f7034a1a207aea9bc9e40d5d036b0d1baffed4d03a4fa3606b0e5a918035e4f7cbee79b417c5083a835c21d01b82dc0eda5bafa6fba4609d6a3f9019ce5ac7565b441262f7966990fbd0447bcef6886c1e48cc9120f1ef523e5aee62d45552262a72f854c331f938555658849fda3c719c2ff5ed906ea7670424c83b44c9ae4824ecd4a2aadf18494425261d68b3924e60429daa30ece6a5f1d328d640b5ec29e27a1eeef86a56ff62cdb24ef4bbe746a3b8ea9223b0800de1f","path":"m/12381/238/26/0","uuid":"6a5a608f-071e-4eb6-b1dd-b739c929427c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_26_0_0-1751540631.json b/scripts/consensus/validator_keys/keystore-m_12381_238_26_0_0-1751540631.json deleted file mode 100644 index 95ce490b..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_26_0_0-1751540631.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0b991ab3059d5a23d809594bfbb7ca36666daf4dab4b44be82b6d3901e8745a4","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c69917d3fa1edd856b634911"},"message":"d406536e70a2d324585fa0a79d0cb9f7754fde1d6b04aa97560675faa73075d8bc1190bfe7aba9779c0cef962448f45a7c7f0208b0fa842cdd76ec4efb52aa15"}},"description":"","pubkey":"0x762eca7961708e4e7fe498d8a4ce8ed1031ff7d9ea2a98de3258d63af75c47f6191122ce854e8042acadbaf939870e4dc9d8a266c7924b365e833a021314cb84fae3c1edcaae71e8f0a10953707b751091f0dbfe8d0674bc380236994b36af783fa36600358be9d5a3c1a8f81ca9fe53f4e0bcf27ac56ce282e73d7e57e18164b8215b0d07addf3bf42b8120c2b5055e18f342d43f0e5a71095a3650a48599abd9c03d6ab44781435bfc04596f2a80c91a9c48c7accecf7cc55dd9902e34594bede8a0b70f5e86341ce05e606ab674ead37905066d1f1d8184d41b7e12e5956f9a7d4041968f113404ee15963cf71fb5da21664aad20bb2979ec05f4a855b24bc0a4befc3c61834a79025537deb9c0e1dda6625d6c08ff031ffa868d2896721df3bccb5f7c106d90f4a7a2c803d7185107fb20f268bed2480a6ee439f892f737302fa5c888b5011895e53da6d74754057c13c0d049c1d2eda7d625aa23e68b264adef69183d42e18d4cf5aa5af601ab5a99d3f26aa2891b9c0de312c20f1ee2abdc0a364b76fb179fd80c46e2cf664a03fc3a01d1f920b0f004457e7eb264c9876ed49635644fe507e89ccca728fbd30eaf811b14cf6c3e383b9c6a18e3bbe34e440e2b7e0a566313c63f1d704ba3ed10af53d6aeaaa2df0d509e83f05020d836c65342179650f7039798bb31db09d24300be3c8e206bfb9a0528cd2e9e8f0723dc6aad1a5b5a97e2d95e8b19960e0429350df917ae056feafc65b1b521c2e7b02d344adc217990da3c8bf4d3dbac659c6e528028f086b7be24979761cfc3b5519f63ad2a031fa13fa06abd0ce323686f36a7c2dbbd3480f4a5d09e73511fbb38b79396799abe5a32993d68d9736ebfc56740351050c9839c417f680bfec0c765c744ea7f2cc4e18d4bd6bbf48f6652bfb4a692ffac7ef39fe6c4d868d3093b5ff9078bfaa551c3c3f4a7c7b47954fd6fa5c90b1e4337f7a9f1b199cd56e468f401242200f0da0bd989acffcb0e0ab5a0cb46ad0fe704b55a6b5531c785a49a7677abe139c40ae7d7e8f306c48d836eeb9c65ac7ac57dade76b658a4c68e27bc8d0e523d2e157a62b7f3b3fa846361cb5903c61cb1419de457bc0e1a3c8159c1af2a9b10066d36fe32ae42aa40618ee295d3ae4f0e0e3027b086b3865401cf7b04545bb008e4791c15e946023fbc3d354f89adaa2a6f2ee2e6ed57917699e40b95ad0911ede9e0608338de89218ae3bf8b0aa388dee9ab4650549cc1d03528820313636b59fc2d9b7e0a29fa9279d5b47c0937e8718d14619ecdb9196221e05993a9a69d0562b4418aee87469a667d1ddfa31f03f9785061cdb121680405667ff6f3a50f79d6d5b5c9d2bca1d6d6a4445f2f35a35544d2a5f867129fa15a83a2961e8a8034a41fdf5a660647436e88350986d0b953d2056abe03bf365c795688aa7d6ffa337ca61b98da584ab466090ed67c1a78898ef710c7f4fce3b8e844ae8b28ec102b74cf5d26b010c4dc5628e541dd7cbd3361ec2c15b625746cb9a5f13aec608f8ff98966dfaaa41837e22b361b51f7e71a8c7052adb1eee976e42a859f1628b32a1be9a91a290f8ceacf74efda19ef091e66fd1a99bdc7e1ad6525b6b57b2bd9613c8b1c805e6f3bb112f1bfd056cb224d852999a9662e6c4fec27353b394fb363dccedf6fba56f197cfe4b6bffa957ce482141f719701f0832be066288e4ff050325bd6a4126149440cb1d9da7ec1068296a54f6cf7fb7143a8b3cdea2440505a27ca72a8744d77dc0971c369084b8aa82d6a049abdd82808b260070c11305de81e182d693114186268f516d2cc2402629c393a73465c45d7fff394fdee813299d712e3f8d80940d62460264bfd8734a5df0571627aa5442f48c390385f146a0565c0f8b6713434f72d969b78ad55ecff790b26431eab7b2398c27bd248b0252828e5270006a1b8eda0bea3346e36be24df76691d469b34ae5831419949575287a9f28a8a0b4d32276848fb8f039a51e13ddc9fec300c59bd874b59ecebf48e968da2141be9fba9b9dc7d66eb8be094b57b3e3a4fb3138a1e871250d531c8968d4619dd8ee0e90273a4214bee43f843545f1909ca6670e1e3f38068192c3a9c016ff2464e563b156eb9b7d29473ac4fb354507c261b9203854f9a00385920413e4d9bbd89f11631758e08be51f1aa5adf907821a2c0ab81d24048acf543ba827213e628f80e7769b82829addee7324c3e700f90b767d8a3a2acb1de1b8bf90da7dc103547f1d7db0aec2573de5abe3b3299f20243e0d7942c2a4e70a4f3bfa27ba9b5e5d1141346ae783dd8cc65c151d547f9aee20d9f34df3689d09459349982f96321e1c871a9cf84103cd83efb5a1bcb01254dac0e1b6ffa762af078596dce8f61f1c2ff681928c2408f7a96762d831d8d7b50dbba98c8a7fa93f0d5ce490c1e730e87319debbb72525fb9652ffbfdca122b2935a64baab9e4b25464032685767386831ad19f866c9985bd6ab1eda86bfdea71e8fb75fc9d44505852b817222ed964e75b97d46263e0de85f98b57fef2f482e82d56746c8224bc7df0fba4ac041366c62a8d8a5b44dff34150824a14e459d6626b735a08eb22ec72b7876e4d6e21370ccd0c457da8778c0505a6e9a4f69e9ec3e47660353a0933f468a139b46fa1c647fd689015f7c5894659ceb709d40a1dddd74b7eb53eb7391b24c655f8170ca5cef2f373f7b09d89f264e75a4ef98ad441b3f50a12b52130506da5a814f28732f8f1b12d9cc7a15f5fd34acffec003d7bf5d691b376587b66343626403c913286901f20b3aabd912d139adcd8861327e35396ba193c54cb150206776897204325b5dd25619662421a8a712aa6d9ad8406fc265268ec040fda8d1fc33654fb0f0151b2b1b52a3758462c07b2a340371c556589847116ed4d72853e37b83f3eb25fd564391c96344bd4b2e18e453406a4fef38f2fb4a5696db40c43a4c4e8918908be3bd78f79c716231f7a78173de0804bbf20b4a944f7389dd7fecd1a915e1e7ee371124a49719627181064e9412f3b70ceb7f9bdf5a5a2afb17d009e41b413481df79cdb18ef9a7215773815bb7fad19097e1fd392d65d94587f9e4ca7c4bb6427eae8dce47fa1c67c2251ded0fec5d2ee80a0b149e81ce7150d5468e2739f7981531fc9a5f96ea3948a0acbdf8fcac846b0d87da695c2d5e7a5d4fbddeec2cd2519609a155f4ffc19e7edc72f9b9a5ad0db173b919e439290e99df0ecbb4ea73a713e2c93bd5b6e6e6b5daee0362765b6d754fa21bd432e31cb813b6cdc34b9d04e8ce974628322223e0b8ae1c488793289e4115e8acb94df86f260ee9b08bf16c2007888d5f9423c66bcf2defa13ef18f3f133faa767db9907209737cdd05a7f8b73e14b13100fd912fdf2ff9d34dd565283779d01387ebaedc9ff5ed07fba9223f5af80eb4999d9898433453c96b0b658eeba3b2901ece82c69df967ffe38cd488210ce4149efca7c7e5681541a89e95738797472b8c9ea44812999a7fb4da4792a8c9ccba28c20a13eb80eccd99f4ff024516268937cf3d427866b653e466d131fbcfbbe6289d30e29d7917acd648b570666e4e52d00ce5a27a29540252f4cf55fbdbe5ebb84a0006b5f8a265848a6e5f5bfe5b4be6","path":"m/12381/238/26/0/0","uuid":"162368a6-f29f-4b70-a1ab-4bc0356747e2","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json b/scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json new file mode 100644 index 00000000..20e9b420 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"6574bbb8370a4012a767aa1abafbc6400bb31111ea72a938564e26e84898c8c7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c95e7d4e620cd6f5f26f4f26"},"message":"dd21a9291b2bd9f42c4439c3081d1f9a357aaa450a13186a257ca1a75468ca7f18f129f343893c8671f9e7fa12d092e5a0ed95d575144c1848010c0c3b55d60a"}},"description":"","pubkey":"0xd5a19a5a47818a4d939d0f5d05378e57da6db52aaf55f1b233ea5abdf0817c70fbf3082284d3de9ad904513b811f478c8f103264bf96f844a414dbcb8fa9326f955e5e28be39ca062ecc4844f06ee57b33c42bece4afa6230f843ad5939213c58f43d0922b546ec9abcf16bde44278e4e41f39f2492bac1f2183049c88d75b0f75da8ba9db00d29ac401d965629d95c5643968a38b13437d45353fc49d6df606032b5a6f3d0a0e670b586cd9e8e111511e2ecabe3a18c1b6c63b51d9ffc22448bf778debb546707bc25c7ceae6a6b28653bdc00f4a3143e4af7764ff3477359a2da1d30b2817370a7177219e6d7256eb953c5a18b91c4fd78477e6fd13d1481323bbf41464f5f1d1e559513cdc18462f01579a2010a77a0a194438cd45d7b0742a9ee9679382a07e666e8c1deddea4f3a715f489a1430a15fe09f888f5105855922e437daeb2605215f2bdc70989c1389dc7bea769afc5bfc4cd1aedca38cda139829aca787ded06770314724a0b17e764d370b2ad947c7429248bb43f90e0d3f5c47f9511d3c985a9814c18cdb009219886ae0a626f4bf9ccc3834c711c2b838c87e36d7d88e22dee3b8c1b5b56551161d8c8ae4b2d6a81348293026dd5378eee3e6d619ca0d9abf72409cc783c03e4eff67780a9f2c2c8e070dcba7c71e680bb77400c5c0ee9b50bb5ea68b1a41dc89d6f2d98079f9dcab4cd6a3d06ecf0f11547da0555514edc34156330df8ad5edc08a66271b080eae05f9fa9ecdb8499960b5cfb2d199bf683393aa3575697511272619ee195be5b99f42d0359698983b80abc9d0107d018e6535fc14486b774c43c263a9f2769195cda3c828f913886525e04ff2b93eacc3d89ba01e536fe75ead647319a9c151e29ce88b0d57f68009c1cf43c7eb3ec1aae6041b1c5f73e5c063718f3f0f50d3f0c37b09e2b1ca5c96310b57eff9b6d62140746487d51083f0d6e6c3e452bc8bfada91f54953696e7754761a8cd90d96b618098358e70f8a0f6b07d402a4db172b6847ffa48e7c8557f12b298de083c5836d47d1db8c1f86397ee1f9f04c62e9aacc7c4ad54339863f633aa97fccb46d421add9ad1aaa6e0b4bdb1046ac7be2428f00654b7f6a8979585177867340d0d1fe5751bd6182b85891f357649e92588e3aaa00f3bc2ee84ca2c9ca1fd890274b9811d49f7adb204b1a2f758e62052e8a317be94a1b450d3d6dc1ab1e8818d54ecea9ddee903a0b0471a61595327f38db399c478eccedfa25206ec356a0d2cdfd9104511661ccb56683974558f40144ad0597d52c35aa339919373171f2890480e78ab4bd2adbee806da7a58e6fabe91ace282fbea9602c4c4a71ae67e5b7120143ad008fdb1e27b983bfcefcbf7a164cce99e865149492e7e0db02cf29893d2b8b5f5b3a72c2639c1dcba91a4ff6ed4555dcbe116f69f08e111a1d0335dd6c76962cf92335948416246334395429473e707eb36a9379a096fbdf9577650eb23415e64630fb678ce89f9f11de212027970de93edb7770ce11d2395b743392bcbf096f8b3b262b6400db4ca674e73d16a55017f3bc665988d90021d6603cb92f7b01eb1a3b10a49d1e457718d814ddd9821f5957524601aa35aeaafb1a3fb3b766587fe5548619a7f0ec3d98a645c69624209047d755dd2d02a62644e1815a04ec4b287bc4f85f2149a5fe6c4d56c8b479d388e04aaeca66d0d2697daff38221aa45815816a60f9dee805d6e1d4bc13dac73f1d98723237ffcdccd7c7787943b68171e7c72e050fcd36fda0d64fbc5065c16fcc3807e6f313e313a5541826bffc2ef06922069ac4f61c13b589e91b7e9d9a9e7085e18587dce76ba7fd0b1e598e24f164b7efc3de3ab7733daa93d8a149c5ab33d5e5ae360bfaa351bec06e121c5e844f9e5bc3cf60c99a858585613b35e777484a83e7c0fb9522f7554b514f84d7a5fc4c3bf866167e6d5a288ab6df23756342748926025cc8b49b6be3ffe7a74e9d8d62c55c9d2bcb33923356f68bb2d97153d4d7202c5c243e2c16350d9b5dc3cb621c95a5abb7a626a2710b46cf769bd4d83ff7c4d82d98a395ec0c4fd88802969a3657be44efaa5dae98bb6445550376234f3d016934d18f35cae1c435d506293a861e0586b855171ba615e1fded7397511e1b2606d69a70ef291c2d8d192b0c59591b28abe8b438e2d8afd42feb4a9e2799da621bb1f56ae088428ff9bd6155ffd602b75955bbc38c9f778b5b2e9e9fc0c276a73dced06d55c95608f1149a8f91953b17194063ab7b2d9b31d5086f68c86e829308601420c304ae15d1fb2625ad18d3179881154c9a24df9640be2ddc62b7b024655791f102aebc9c05611e69b79f76faf7164900c334ef123a96baf22b669b9dba15dd407962b974d9d96516c3abbf02e79436ce88944937b388da3658cf547d2eeca8fbe7d53d3ae8288fb6e82efc49724db52d73ebd03a65d1840674a49df5ff380d038ce62b1c54c465fb53385ead1cd3ef9b72a9062f40b308bb5b55db1b925154b16de79f2545046fae58653dad58445162382fc8cab99dc84a7f42308e43920864661682b623f4407e8b7fbc499697d3de66308450402126754173b6803fa72b6ac6dadb3d60d4948d794e37c5cc44baaef8d2404de9712fb02590abc343f3f5b309594d6854adb02cc20efa2560d84a61041f52e31827dc76808cb537ce630822a16eb04506f89aae493e9be24663cd4db15eefb4f9f7e31b0c3c3d7125e1690e778120ca84a1684cdb70c09355248446b8e1e11e64da13df1eb3594664f9dbda93a0f65c6a049f54f0c813ce876ef552550d094f8916a7d6db20835b35edabbc3c3ad259c5b9066571738a707841615ee24dd12b2f16415c493198ce0d162d0b96b338609d2e2bf844f73f55b5dd383cced73581735df9b453c7f583a2370f29cc0e05a7d5315eabb5d78e80462a1ece131c9943ef00c2fb481f8504d43df5825ca4f2400bad7d193ea45d10a7d16b2e661ae20c66cc16264429708e35d386291e279323e1c4c3c28f0bc477722435801f4d76048f9e93512e628fe5d16707ec58272d84a259955bf34aaa22378288f13420a7b408dd5710167b6373261b58c7ea41ea334800fec2742089fa3d701310f30bba7e826f5e5a7cc392d3882bcac100d1707ff12af9f36e513ada88a98cb8e30f29373dbdd0dffc924b521085dd10cdf5ef716ac4009be5a0a49df62d6ae72677be7e9de272f808f202e90bc912804d983eeacbe9ebf9c8dc40c57e5c1dc98d2e15e932b626142b2c50b1373dbae9d4e571ca73644fc5eb06a1961fd129fceeb203425dcba793b1f0e9aeb7e6f12cd4c517a5e8897837e25835d5b5034578e017a25a64d30da408b4ace2d965f8109889d7052976abc23d851dc496803d6db7d1431b939d34d7b07640ce462f8a01cfe2f837df42c9f7eb7755702c69ba7ecce2d8df221c3b6b1d9eaf787d258c28f420ee218dc085365ae3e6f621eb9e5a5df885cfd20e5f1060504c639877645c9476b78c4830860caf29dd9cd08f1e3edc33bbb5dec741fefae2ffdeb5b7dbee98fdb0b668d00d2599cdd16be944b66f6a06f4db6702d8a3b15e1720ad500154ffbfe81b666f1a8dcc40f36eb2a77a1cf1a28bb2272b95a8881389dcf2c2e3","path":"m/12381/238/27/0","uuid":"57561e22-cbed-422e-bdda-752f0eca21a4","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_27_0_0-1751540633.json b/scripts/consensus/validator_keys/keystore-m_12381_238_27_0_0-1751540633.json deleted file mode 100644 index 3a35c6b4..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_27_0_0-1751540633.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"7425ea0189b41eaa60777ccd86c5f31c019aee075d20c3d4d5e6cdf88d413661","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"1591a0264a9001a1422e247c"},"message":"4725cfdc6061323d91cdebc6c6ec7114d12224d292b7ff312cdf3d77ca5b8ff748f521d8d4b5df4dc6013ca5a0685611316abb90295e1782ed75c8cd3719197e"}},"description":"","pubkey":"0x5f5407af64bc45c2089c28bc51aa9bd60c6033458b2413b63e2250a765c3ceeb3881ddb9e5a8fe8b647c3d24a9027d89cd435636b030a385409d6fc4a1595493734491a52089ab72eee1046ce9c6283e7f753a73a30139daa9019f2994a657d7092ca34533dc11465cc60a13c19b1d16f0f30ce9ba0e587df8b8b4dea6adc290d11cbbf28a312ccb1c3264c43f657715a61b7b00291fd3fca7fb3108e51fb41efa7174f8dce7d6ed5c80ed3518bafe3106554aee8d41649a232be2ebac7e366063a56f7bee1f4b1623893ec0fb160ddae12e70502836d5a3e432203f1850c403b52767e6ab59e74d34d5e9d5cd3b3bba07ff10c465934a32d33e5c104420018421e269102cdefe70f1e93e598a4c48a171ee0ee00d27bebc8e9dad0973f048d92c32cb37d97f81dfced91f86b774d648eccfdb2ac1c88bd5267040199a08ca594d4ddca05593397c6e804411d3193c6e673536b72e8e4af6a4d7ed95a0692e8f3ca51d366c56035ee11b131f3382fe56aa9145c010b9236772a1ee2aa1d36e1cc2bc1573d4fce922f080f6c63b4f23e17cfe09adb3e8c0fd7214bb9911500f58570edc9ac97de117127b06f807b2cb9869bd3cc1a1655ae78e7a1e9af2281845b14650932c3ed504c023b96d7df3215aa17566269bb68dd7a0914f5280ab9f9cc08bab019d195801100f062a720d785f1f067f7908360792034eecce143fc6103a6662a7237b6c9824fbe723562cda53a653507fa7417d552a1447b12416ee599389acec73d851406f82358d0fe67471cc23bd9eba882ddb1ee808702a848ba6ca432f1b134ac0616af0cffd98df15124f99d3c0b12aa8e562519643801a965737a293ad9ce8c729ded3e48622969816a0cbd09b5eaa391d63d28d1c94d81af507f25e562d7b75f58b7d2bf99e6543a2c5d5ef5713d6212742f22fce3221deee0624fbac5ef0c12a881b5916c5db26665515f786410d69be2918d58ffde53230a7d5f42b7efd26499e5f01a8eee0272da9f7d267efc1d8463ba36be7a02ca6502a9825e2c60d304572d9e52257195cc9ebba607c4ef19f04bea3af24acf5806db62e23ff70b0d9e08cd05a7fc5742ce576003a1822232a867b94ef539d7a60f787a04862d834a05ee7dd196f5a5954d33f6a80176f1096777f12319133761bd10dfdd0237c8078794974df14edd354fb4822a7099646ac8b7388e11bc866bd7fa287568ebb9376a8f832d4a5ea02bac891e028993820747fc8f7ed228180a353b4bfa9e78b488eba8626d791efb31ec4021ff9be0f1f74f8af654bba932d799d6b441ecda188742718ceea7b94d2067310015b66117878c52927b8946a544d0084c5a922a3f8b425ae1683a48a994616040b4fc4b405da0e2f34233bb84eaf2dd71d775eda7ba64f8d9ce1335afc2e63a15ae021577ac7b587e958b77485b48e6a0ebcd0c115287397e906f044469d147904af989628f4b105072673af710f63c57cbe1c25cead1232be20897e5698d969898355fa4811ccb1933f6357dc405f5c0495f2c413ed283cc75fbb8eef33925e54405aad6e051f2dd40202e17a17b535693c97dfe6bfbbc4b29bd0a63e2373eeb16a8f29274cbd51349b41297110960e17a99299c93bf15f70fda5e647395ff37dc534ea12320619b370451c40cb55282a0fe625a0fc56f89c2876916ac98962fb90a2801faee6f4ba785f0990c337de4a3182b71230dcebbeaf19050ae7eac8910cf6ac83dc35af9cd7402250784793af0d417282e4106ef1458726e786f7acadbcd51daa22b3a96b01925caa700638f16f3f55c18d25da44261222ffae24f7ebb8d70217a7428c61c83742835fadfd8036f2beb3c677404663fb2f02240e3a8ced02b7a2e582852247e03775134befbbb64d04ad8a54a70b10898e1d74bcb18b917c56acd621f7c3a0f916ad149fd2b61d24cb32397ddb16bc83d3e52e5465af0443e2035be4bedce47ef89466e1e57cf9ac104e221b5a01508c7c202dfbfae5103798368632de72e7fabce61df34fdc2a45ceee7f5588624d7e5f4668758814cbd8a2b3751e03a6c499050f3a556e16b4b6586abda25108c2eaf4c4af0fbd921dce4b5e1527176f5a7304f5a6498a45542bf7fc6c69327711391d49956ef622fd04cbeffea899b16f43569cd9cef320d2b8830c8b6c3f473394814c915b98c8e844cb2645991b6f240cdcffd1fa7e36b301a269323eeb00fbe4f614eb0f1a0602de1f1bc36fb106f744ee8a24c5af365d623d2db5932db8ff797360a0b0c3b66b95a502706867a5d05d5d7bcd982b4d63a6460bb11dc0065246662306f029a324173977c1ce6436de3f74770607cf33bd7fbb8c4ab23ee85b0683025ffd45932e0a1aa072859746fb43599770ab79c3630582a23ba567f348c81feda0ff4756ca160855108196b91c74b21a0f9fa751b437fb3204204ef346697ee73361402a68d49572813ee840ee0d54af377326b36ea437c85f60ddfd9d5de4f1ebe83f9688c9b2ac5069f63d9ff99f96246e6cbffe6f00e9a86c1043c36fa919514053ff5c38eff8d081c518e9a5b8fb41b09aed163a42acb4458c1eb2d7c641b20048d572879e5923a232d6a5538e53cd86fb1799c96d352fdbfb9dd2f5564c13ab9f69455125eba3ac6414315844ebfc21bba4c2d91a94266e9200a796ec2a725b603478cbee2553c55e2e3011a43a88ee450392a6aeb1127c87dfcebfe72ffd320acf460c6407a6bf0faf6e3679bb2dccdcc39656d67bcb4d886310b7828a303d60606e1f175576159c6b9b7761863f0d6215fb3c1f53037366fd5f249d9dd602899ad286adb85960877ad97ebe858c73a82046a6a2a3c808961281fc6fccd88a1bb7d7bf053581bbc80bcf68f1c61feeb51159ebd1200cce29e47e9cd99d39d271087841c0aeecae3ab194171290002218fbb40543eec0a7a096754a77c6e189e48c085e0a5cb9fda7f518432108848186dc042480ed56b4673af63164feadf0e2c11d7b68583401696db1845ee5bce2946d2acc00d38f951f926f277115fb30a202f48b38c3d97e5c45833e6280ec631d6dc96d9e27d30fc32ddaed0c49c917d27d043acaf64d298e0d5fa4059907d692b92e978f23a91db66d6f1fd57d947ef3fe6b2340de6f5f90f3fb1eadd63c8d098761838cb64a8b6c12c525f029af326ac2f899dbf1043bd335e0f06ad4e2fc96f0fec4da64c23916e6a9935653cfe3f7a6185e4b46cc9076ecde8cc1431a5c8609d41e56b68544a0c84bfb06ec1122b910f92712b24ce59e4b06bdb7433ca92c1bd025b2186e544aa5316507f3b60124c9d321d2c6b48934b35b28ab543605c4fb203d5fc80643aad39b3a540f3e7ef45886cf2fad95956619aecfcf56b239109dc6b0ea197b2d5bdb4ea85d987f7d87fd5e60f0d09eb46659baa44d27472a569872a9228bb9062ea067ca79518f1d7382e0917e83e7bac01e6f3836ebac52402dc316e811cdb44b98b254905fb239bd7cee27d0f4493edc1341969ef696151396ffcaf8ff40eb4a7b31702f654865ff9809d7dcecf6b477c84e3a76ae226f3a2f0461656f40b0f70fad820da52d3c342ea0d844248cde2c43c1076d233795a8ced2980ef076b74dd7ff1c30d1cfa57bed5781b9e266b7deb35a058696af91","path":"m/12381/238/27/0/0","uuid":"1f4d4c14-e78d-40de-ba6f-98c4974844fd","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json b/scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json new file mode 100644 index 00000000..cac7ac08 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ba8802f496d4c9ac0085936211b7df1768cdb233a209c3cfd83cd984ad249583","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c04854b7e54b359d83ba9b2f"},"message":"c399e75ed0b75faf3e8847ff6448dee42e2c72c2eb0d5ebdd4e882120884e16e96329494c9fe4c9da80ddc81a879d61d86558069668a5cc0b9f37a243d26cba6"}},"description":"","pubkey":"0x42eee732e9a531f5f929a1e2300822eec96d0dbb31a3f9cdd13f5721932c2353f7b49aaa562a2b2658a7077c174d55472e6b2d1020cb9c604de8527a32e5eafe6cbaaf0074ab1b125aff39228224e85b47f4d4d8b1d5951ff8e02a15611647bb1f76017d6c577f2a443859c778d1f1144c14f9752ca6f24bb439afea870b8c6dd802f8758e73989b179f8e0b44b6782ec38cf7a4810f8ea8a94edc37b90fd92b3f4aa3d866862d99c95f7b452df879a7ae5fcd131902c725cfa7f7d9dc75a6ea68c00dae93a4e11f5b50db250fd40177dd6826e325c128496fbfe25101866d2148547225b0457f84ca9d46c7353b042b6a17a8261e1f1f1465370ff6738ffb109b7da5f79a13056db47a345dc06f41581c171ecda4a2191c77de0659a40f5a62a6d3573f71491f88bd3e70bea1899e4cc3c8dc226026fb060c901280abde2019e09c2f0227b50a64593f667b682f275b2cd3039ab931ad59873862ee5aa43b7d8afcfadc879410cf42b03bcad9f83e8909a7ef2d9188bcb446e50f753a1995ea985730fcda51a9c5d996481cbb39dc136fb58b8a76bd6501bfb0072eb43f3253bbb5f72c555d0e76fdc9f0118a1f2f3845aa5dad6ca023c600fbf79bbb452738f0bfdb57e3206c254267aa88d85997baae1feb25d9eed50cca0c97e960cc1a22467e23b354a1fc7fa2d0a12f271c6d5b993efd545dfb60ecac55f1b7e55206a01aaca865e795c70c6b9fab600de103d074b8e0b4b05ba3ba508e46d6880f9b4f1056124327ba8790b3a2f948c04cb7067af7d6eeef8c80c5d42e5b02c2f25fb759773237a2a82e0a173e8a32d1e566bf1d85770eb386992819f0b98e2c32bf4c586f68133e4d6f7603138016ebfa4b86e4a489f263446b15cd107fcd4738f75da0400568de6e106f8f225208c80fd79afea3f10e02ca23bac764cb4647373279932947caca02151af35e80d66fd4e73c572d7567f2b5d730535715177e843111b1a72309a797557d93bee582266bb509ad33f5163d57e80506d72825e144f68af0167d236275208536b7f4d1f9bb10e5e454d66bdfba3be0be9897faa834537215a7425ea6c8072bfc18fa88065cf2ba2c1dca843fcf298edc041d64fabfabe4d2e3c21a512b93f05b7d2a1b7a25460c6ca11a14fab9de2c55b653e8c63f57e890ffe2e80d7550a0e83a2b563aaa32c06dc4690038fe36c47f44633d193d1c892819aaa18564cb7bd7b4c44c26aa3687694e5847df7c53ea2dabfd8ad54a9cade7b537539576a954f326a01bb8709cf76164fa3dc0f104fb90d05e5bdcf92e58ec6426b6afb25cfc37f244589ff06113a3280e7982b04a72f43a9f8cae4eeff7bb2a9a412b5481462c3947555b23290e42e48b9117486d8ec5f6646a72d54d810de6c25c1c213e519463a235a3fd823e7e98583b90fc67753ca59295db2b765f639bf66c92c1293671fd75b227af0df24f96d5c10eb8bdfaad2b7e5f3d15bb3136aa40dd2de23c789cdfca893ccfca3fcdde801adc67318d70b03dc38bac32802b835368f951ce246567d1c30b22b70517719a9d0aa283ac7fcfbc6513e848ec31075e34046a96da1027166211c7e14b0052b7884ad83404538a5e216bebe95fdb25a5e199cccc65862e286a536f469263bde773ce9617bddbc09a3f247fc07d02471439ca9224178f9f1932ab5edd41532ca5a8d6b3a3d9eb0bfe3167f97b2dbef8941d2d43f810ddde078225cd6e2d16fd84bfc121585deaa5c98983adf369a3fbe989b3ccef092ac33896e8ec1cc203eb21c226f91bb710b7aeb0ccb917ba28bd1ca116957f8218ccc85708aad603a410839246abeba2209ba7e4e6626ea313ff36e27985b08be52e6ebe7b455d01c35e440cdb034f45cf6cd19ef33a6e801327940b2fabe36e60083631c7d222741ecd3fd8dc2fa0056868e20e6f8a8daa1cfaec7a9f6b9496c4ee39c0ade3dca827137484d37adcd1e038c40cf747c556d49624a81dc12748a20e070d695a474a101911272018b4b8272ebad7c90dee9157e6f1399d97197f7585d4190eef2af89afc383e4c6d737c277669fedca383c551d167546655942373b9165ea5c440e2da8e8c94a9225f0598056e6d7d196f67cb6b6fa0873c33cca23402a906f56997c92c7d58003a984c231dca092f3d6b88c18013da3a95e885df7320000ea46ef840fc21a79b7c569e0618f974b2554871f823c39c91de544a0bdb1e34f8c9a3832a066a266668cce55bc09239db5c2ebe7ff3efcf65ca97e97d596c6d8013c31d74f53bd0cf1512b48d7223cea545ce485e05e021a91f0ea0ed664b76f060c8f99fa687195d4b292cbbc6f43cdacfb3e511cea54e5303c9355cee24837b7c8d8ef3492a4ecdb57afd2fafca99c2e527ce89a867b4e60908e0378528f69cb5b3a48249ea83e0d991a0678e5a8f5b6a6026d545a833503c416e9c308430c55c1d00f1f829e9b08b32ef89421370fd92723f70d7e53efb45120364bbe651a78ce9c1f66b4763ef1a09ed5ce163b0ba4bec925c9f4ff4fc5eae3e65edbe9f3101088e572ec8200609eadf79828375425a625f0d80b3ec3978d001b4f38ad61177a5f94e54db3af141fa46f1783840e7880c430efe2437bfba61033a30525a85d3aff54c74a5a45055fdae3896ee4ec7966817d57f375485534394898e829ba12d8f0fd6939d729158b82dd4a4d876f019053e95b90b1ccada389efdcfe22dfd54c2fd42a3dcd9e83a12516ac454bae3b55f6f8de3b7ad81eca716a8f474de93cce0e090f3b4bf61430d15530826b8e068cd57785888d904a78161d770079992d9ca74f4b81389c7d7d167e5d3783a8d3ddd993ed497b65bd6b6be0541c1fbe2d2ba9ceab994ef26220c7572b9ef66db61ece2d5b04b692b9f7ba20b50427080c744b142467cb05e61c3c255c9df891b036d7246a595994b494a62a475bb2a07f22507de00a28050e6ec7de89a60504e777c1d195e9097a5f1e3cec7aa506a3f047966052e821cfa446a1c01a7eba56b36822cf8a44337533d6e6072318f9c0822d8e1763522d169e7354c6de25a439e73248d0a04d226dd9814da53e96bbba6a24d2c82f8d46016c53cb38d9cf54cff99d4e71e0abad53d08994c4016e538a3e70229069cc56ba6a435ec667f73cc3d82be62d19da16ab63fec85499b0bb2bc671315ac3adfb06b1d2f2d98c5fe071338f56aad2fbd59148f7743a071086888ae63c118607b4c5e2c0f4c4b491cba6c212dbca020fa7fc773d912f4341421c3ede276ed77486939f3f03fbd24c5207d8803d620f09793b9687d5ab7715aa593c0900c4aa7745cdd820863d0e60e357886dea51a26acbdaac4147db07ddda99d759dad813e8281b773f9c833978a4ac57e064fcf86cc0d2fceae699f0481be18cc4e85277ce9593fcce8aeec40948d2b9abab0634623a01d7719933998cdda53bb1e649bd46b974a61fd68f2404b4c226965c48f9519f00b100db7f9796d2cd3bff2b96165fab92da5b7f7c41867a64dd1807653a40527e432e21973ebca02f0bbeb8ed82fe15eab0d752a4f3e2c5c954043d64b1ac341804cf84de2d6f78543182019a7d09d5d87b93c667890d02c7ba4297db972ebfe0bf0cca3aa43ae66364d2ebabdc2c7558db7e8d899470aebd0f082fd","path":"m/12381/238/28/0","uuid":"581abd24-bfe6-4a5f-868d-167ce3a93fe5","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_28_0_0-1751540634.json b/scripts/consensus/validator_keys/keystore-m_12381_238_28_0_0-1751540634.json deleted file mode 100644 index e7e99f60..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_28_0_0-1751540634.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"3351721bc06852e828a0d93e532e36d9f343d2f4b8e181580044f631b14dd1d4","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"8d59dfea82bceeb619a32702"},"message":"604c86cbda5a718b7d7102de50e82a808b50b80abebbf90a7fba1d68b25c55ee12850f497a96d873be18cfee55300c5e4852724ee1e84545969d0eb1d393d268"}},"description":"","pubkey":"0x9288172e3bc10e3092e8b45246602cad8af60f06edd69e452b9ff9655c23df4d7c06e2179e61d00643986ecec13364eba1299a12d33f2eb61b6fa66173836d9df50b4d7d327d1b34335945581f54febf7552f25e01921a7be090a268f3ab8e8df0a69700a8aa1c136b7bdefe0d05a5e84bba4e5967c85f4625eb5831274218fe506157b4a4cd037dac6d7a66a862ade176f8ea3dfd7498434319c18eca2d6bb7bf1f9c5018a5fa1c1a123058fd05ba077f41cce3efab0f873786a615be3d2211db86e28fa52a86ec17751960f02244fc9b32781734ef94c6a6d779f41ff0c4a4469218635bc959b8bca94d32896ea0d49b66dfaadd914fd357abb36c6d2c4fe82eb87f2c7268ea4f9ee2337375e77e8dbd35c6f7458b08854af40e6f238cc2ccee54039c5cbefa63386b57d33139ae59855c4df238c0f622cac91a106dcf90fd09cb998c85f44d9ddd3a7f0518d9de3eff1d092a103628cf1c44ee1388b290e5a136b161c93067105f6ed09d2e648e6693d74acbefa8c092fc8d5e54e4a0a69dea51c8e52e93f6f747e978ef8b1c980fe90ff7168f6b86e84baad47376ce30d40171ee955a2b8f3e3d6a18f1821a3c7867cd0f2bad6fafa1e2005dcc9338bac3c54ac3f1cfdb5c1413f197ef077d18f113c4a72a7fe22df042987c03a697e1248eee550c213ea00b65c38a20062008092514a65463557ecfcb12185eaa4ea8cb7768de446aaa35581e1a58fad58592c15ee0c426867b74494d9dc7d08c22fd320070be51ba66f7dfd2f4bf3703beb4da5ce17f13808b9697caa467a10d352e95a8cfbdf2c83875a78a235b4d77b9aad2be39c4a1352b2555746be4e8c79088b2463f721b108a7d71173b588e0359dfe59e32d7af53e9a78a951b4c5aae81971a83ff77f54f5412084207f2e0668354f6d41a8d542d940494b5b46fadc4d10ad8e925499a23c8ff3e2b65ecc8f6df6ebe8e5c78d4fec483b982dbc30015c504321f3e1942bf20f245009f8faf140cb4d2ebf3052f2db8b372cfa3058039c4425a0b0a4bc974f76abbd673697036f8a6fa6f7d75166e625e69ae548db5e6ad62a246439e506f1d9f275a1b8820dd122376282334ccbb1f29cad3f8d5a51b10dad1b25442a86d32634e7f883346e37f5a7a77a554a9ed2846ff033b4446c8af120a4f1454b3bfb903d5ec6de6275d04c9a430808799d96643a8b48e51e9165825d108bee8ba07a636bf894ec76ee0eae6125dfae284010cd3a3bbef9b1ca851432e5b91e9db7094a15446c235b3a291236661b780ffcdabf51d2f4d55ac5f68ac094c57b4da968a225eef4fe9290ee5d59d2ba0466e4c607435fe74904c9f3e18b9eab5d633f5fb49ac2d7321a3995dc176a9a212ccf0a6df68fba97502a0a2e679dc3caa330c641a3076230087d6ba469f90d298bf407ac82d59cc70724aed74b8cd60b18a1107ab786c9f5723715aaae7fbbaabe203fd50220d9f3a6b5c3a7dd0f6d7e665001956119f771dda8c9072845bb00ce4372028da5f0db48855f80fb69d9d501120a56e161e03c21c0931eb4b385578083a4a13870cacb97ebb847dc9ba2a7d9818253eb1f65a25dc4b1f57018da0db8ddd1e2486d4e82d739ef41b00d63c531e859851c354c9e131df60a80c6e93f18086b6428ded0cac2ad20895438fe671c8996a8117d0aabd303e361e8cd2da8a79359ec23660c126c016154aade6f49f16a6c65f003c278384a19f6459b07c74fe53d4a49f1e4ba9d3ad34d7f3bbbb4c42fde2721a56ff413a17cb9db51f6ef59038237f8cfab350dd02415e94c39607236e2d3634dc49e78f86bd20e7db28538e50da3f7cbbb0b7c1d5af2ea0f643ff87889735791eb20e5cc1d3d7208409851368dd8e372b8a105b62a0ed6735db5e57b517785483a3212646eb220581bf4ac83f6894a74dfb9d949a7949ead973a02e788542b334c373f2493df94b4f9dd39f4435aa48dbac89905a251fa36a4262643ff080e5d9c9e200040758ce3b1ba9effaf1f60d9c66731738ed989fad6e80ab2124e78dc2e0d77c483dbb0fb9782d7764655039eae67b5f2c2af2b300835951246870974dfa4251e489b0f65d24b9131fb213bd31d7cd6f867024e3564e4b905cffb5fd24f45dd3f6e68037e958ff90157634f8c4f40e35350b199f1797fcccf8221c1dfdf2a72ed8aa3d7ed3851ea578f33d77239965c3ef0a88291fbb659021b055d02b9999445f92a85da0e41ba7ba5a70d06b6aec299987f1c412f5a9eaf4e24555e33ff0fe35fd8eeac081d52003b9f4a2d26ff05184ef6031b634493bb30db2b692fc33df11acbd920b1e899b50a3b9c1a4bf18c6a8dd87a634fba6dbb13b9a055eb94d7661de4fe61786b35799011bab3ec2e6aca32706eb8dc3feaece346b82c3dcf54e2bde9f26764727075d02f5141989a4c47d047a27d247206fbf074fd764c80d153fe4b342b47622ac19dfd1eae8f5a56aca05867fded7504f550c42bb4c92bd0e1839ef37de2ed9af96719f307eb6115cc24fa7f74a26710785f61925baa45d562d6b7143652485b0a70eb0cb151893641eeecde40a8e822cdb2c700b95bee796ba63655cdfe653ffea8983cb9b01baadfb8ee2bd146f421d255c7cbaed6d605de00dead94dd02c57a97ceff46d3ab8d534741555e4d9532df39becc10f5611454cdf2ae982b9d97181a062c239ea25699c235f3cdc88f44b4b13db5b96da314b33e46692d186f9b83e2660a9ddf66d2bd556f1ad4596548df700319fef631f90a1913a3eca26b850a854d120bea9ef5c0223fdf0b2d6b9a84987589998f3f56a58391e84f4061abc0ac5d28a225906dca70bd2cf92e94a2df7c50c80cf1abda08c92139d8b89b0e33a4dfe550a90c1829ba9559c1fd92887ea37915e83d0e5c6da2ceefb37d8332f12c0fc4d6459820422477e1530cd7c7a3536df38ce96f6b31a9354f9d9e298148008c864790500e0781cfb0cca74aabeb08e3cd3829110b7ff669b347360ce3bb8c1cfdf927f8fc812c400ea55a8a49712b42589a8210d1c012f1e16188e08702f57d756e004b4caefac34a8b9831f366ccb58d818874b2221fac37d2e39c0c0b7ff8f024630efc40bd4d80b38629d7bcd37e3ef1e3362f9dee5fc88bd321243972f713343a01653832723e311f0b2a34fbd71cc152658e6677d29ec215c315a60124d1b010d8ae0fdf5bf3551ed47fe778e05ee690b14166b226037fa6b6a652d7f69e68ca179ab9988c76888c3911e48275bb4c887b790302005bf9a4686de8d729f52827805c6a09280a001595118b21f0915ba2b5420cd5a81949dd5022f3c2058a20045aa35910ce9ccde763ebbc66adb732dfac6bf11130c28cf556ec7c113b336cfc2e6d005d76e0c999d3b5510ecc1df281756366371db659f8d668074db21e641cdc5fc7dd3b5b0fde85eb71e6618ae2cfafa999308c5d9636ea05015ffa0af6c0f94ccd032160af0878c621a50253f1204d3e3ca1ba0da65c8054c9b9cd55d559a8ead6421a5a0e04c30a912c7ba90bb74dde89612f83bf2092ee87008e0ba7f2f2115204485d5d9865f0d3f2babe8d98a8727d4e58010f3301e8731ea8d52f5f1c5605d3fcc8a9d2aa0f0caec1a363210c09d7c74775439338272e7dd39a15c6557f2bfad436f","path":"m/12381/238/28/0/0","uuid":"18ccb479-ae8b-4f57-bfae-fc47147f0603","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json b/scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json new file mode 100644 index 00000000..5bc7cc5c --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"302af48c8006f100156add7e3b354900107cd43b4fe5bb36bdc7fdf45d21b7c2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"99c93098f451328398a86e20"},"message":"23361282c1adc7cb36761c3161ca9d8e729aacb4e0d73830edca58a8f8d6a426657422078454807b5560f2fc338d56e73e68c9fb460a8b35698c4d259db108c5"}},"description":"","pubkey":"0xf3177d5f7efd61748328832701942cdd368750550c92a0b8a114f66c051c638d10739e0f8da5148ae8774e6de230e35b6e4d66491741af82456974485ea7071f659027ed9606d3d663a7073c72a03b2a4b8b127b83afa0bb21def227fab18888b9c3b677f54164cfdbd9519d5e01411237a2cfc6eefad2e7009c219ff8d1f573fdb838c0509458fcc40d488c785082e4d25c4e256aa304e2ea4fc261398570d8c4bc707d82dc049b9192ec5ba27095a9152d17f630f569b9fa9e69b8189ee6d890e6a18a9c765ab23a1140e84cd1e21b4d282b15b848464a5c9b3c8ff312308b5f65afff7dd2fb0c87e0a02432ed458119fe8264f33f3f172a4efae0a5b74480e8a3f3e5ec9e5ff2633e5eb16676a1ff520c353451261f2af8ed8e14a36c1708b1f7bcc9702aac0f02ec1de83628091d5322eb32f94d1256ab462d90393c5e79ef201fde0483f8ad7812a090c3c6d60a540aed88f314c9b92b81d76209ffe9211c84211a39053adfd16eed1c93856f3254ae09b4e68b2f95801033367eff2b865cb5d6d723e04330972d84dd5c785ce489971cadd5d652d96d9a43fa6d13c01f953ddb41616eb103ed6bae3be3d466b31f2e00e0cd1806748bcb3b8d7136d2d87653f0b9ac0abbd742129b38c4cd51dca077df218647ba9bad8b3af3ef80717c65fdb1923900e739775e7bda92b6531d71b65c73558ac9977c3a7483add8106c71d3492c5597165e02b52ad078b23c57788adfa147ea28664ae3658f128964cf0108398d9cb08441bd0216edd6dd3291196e4a10c6cb22f8a1b50f3210589cf06190d2cb2bde1a3a7154258e0e4f3e5e243e58548aa0ea9270dd55a0c12bbd28e1e0a1be80b198870ca55e31c91ac89e00d0b828905cd0cbf1844c301c7bbee37121eb090e5aef3cba2bf1402d2e2245521d4d40d5a2891406ddb9bcca7bce91b978a65a7cfb8021beba2c8cf810b2f1f43a5ee2b594f6cb25025c8d8b465085b7be7d3238332052632df09bfd32532c1d59ab7b1f1fceaabc030ab0dfac6d199730120cc139a405a2105ef109c896216e495f81302556be4e4ef7e7794c8bf1a75e3e32a9f75a5b159674c0f2831d839dcedec10e69f7ab2ac374356562d82d6f597ac7cd5ca94ce941d5865873bd58352666427458c3897e6c6e5a81ce729df6b41f5bd28b648e8b915e957a621ee94ae06a1581030363a5921b172d6a0355253c6803ae6f32e681503c8e4832cf94dfad7e225174e3405cfac99d7dc243614f4b74fc43cfa4f6c4241f635ef08b40bf17cd5345e84d7d0ac9809c345326dba79daa9340a7df8116d22551515d9db9ced113930313ec0cad441eeed86a63146b3b041e2742018d3df08364a00a6fb7ea119b5873473003450fe5121581af216a9e3cc1fc0704c50d9f9e22571d141ad7d517db3ba5683c3e734694b3530bfeade2efb6bc7bebddf12518826fa18d376c1308969638f0a720672a50ae2759cf6fcc6fbf63274d3a4c7d0641f8f101f19c694598165cb65ab9f01f0fc2a18c61cad6953182e5693339e7de6f4754d83ec0c4c60efb3663e263a048fe75c2c0b618d6915f3f927af31236690d50114439e967009a37610b95c2ea9d432cc1ec30d87324a8d3a88661cc9938a82fc467f400f8f74111f6a898abdf16ef4da39aadf7f6dba498b2402a268d5961a5b2a32bc538cfdfe8bd192649e6da17930bf2f4bd9d5e5d37b5c6e4a89120a535ca224f2202df71391bdced344175ad4d08db565b03e5ae42237af6e2d16c7fc0e654364c541d15b5fb800e78833acfea4a9aa7b8b675c81fbaa96792ab758d73b5c171c362e72a2fe539f389d4be963265be858e42bfbad2d5bbea75365fadc29296d1dc1f614785ec509d51f1db7122da00766beaace1c6467e63fa02b382dff8f48aa947d2c1f313a3ddf6207f03bc16a10a47195e581be28ed2c411ce9f2fcd538e9b525c3b6673081aaa82e1166a8bf6b2ec68236e231b3073a22c7f92e793e045b0ff1fdb459d3a815e2e403d93e9875e4382e5a3bfd9ec395604abea042e2794802a15de1fd0cc09127feab063602d7ea0ff144be3adca4cdfe3e230c4a00630728fd09afec3cf8703b9b4bf690bbc6080d4a332d9b013f75f8ff6b43bb153262ad0d250ac555906871e807cfaffd71bbf731c1f77e28e9193aaed2adf20bdd17e01c6201bb4cdab09ed50fa33309620b3045f7259bf711061ddd8f23504bc9fc04173750530fb927c4aa3cb44eaf4f642cafd34382b5fcc66e2dda852c1a0b899587f4f32f8cc13a92aa1d390b06e5d41f066f94deaf65548727e6bb413dc391df3c7ca043e04dce3ad5da63fc43a9649fcdfac672901b64ba3399c34cd4ec382293df75143ceeafe54eae432a04bcad344d38fda4dafe44f4901f67f226159902efb4c673402e5ba779f674a0acaad035de1232f0b5b8db160b4a438577bd6506a51818607b696beef6e5ebfe6275a1eb9720aa3344b49bee6beb62fe207ee24e2664b1a1175aa0a6991a2e1dee727435dfb9d4eb53ecaac0f5805da5abc60ec7a5b17320274773cc3d81c412a5581b17883a38922e94543354175fb90c753e65eec15df51e0a45d959b07ea0ac93f70102ae883412a5e27ca4133fb494b72f74c447aa911ac5fb66e20b2aa39f60f8ad40de4002ec6ff752e512a365dfcd781fe6b56ca7f02f0db0629ff772f9d400ce4f17386401eff095249ffb8301679d8d73143ab1ec8db89817feea8285ad50a422c0a26b420e5b37e4cdac7c7d7954a7a744a66bd4a0eabb5c4cff5dcb19ccdf9f0495c3c120f6c9b9c7de99a419c6e4cd0fc90b4e46355628f5f9b4f28cc256589d49541b8b2c7e3f13f29005f61d8caf567f0001a54b27b6db06c8ba0c6b53569216d27bd04a2c1566b98062d72a2dc707010effddcd69c2d31d8b2d1340a05773f7ebe9faac969deec65cb18ba84187567ddedd04cf8bee2b166bcd45a914fcfda9f602d26a24dc36ab9631fff34995f8b8093f631b446480c2e7ba6b73a7dd0bb1c393aa8a976116835b9c8d436ed600d2a63d4eff732072b6aa6767ccdd16dcf5e3790e8e3e5f246e6adc4d0d0c2c70b0b516c5c620850c528cb01b301236d80ab5fae07b91f50d513d14d26b346b4a4b9d668e94fb0aac3e1a0b8ba1c0b2221e42b040a9370747901cb00cdbd1e788f257a3d1098a0a540479ba8b06ace63f3d75032f476e5995a415ed9175e5f73e47314ed135dad80d3fa207daf70d773d744fe255bdc7a08124922a09972b9b292b50f33fb8f67ef139dd54fbe848ab36338da85b87bce9e4631e741f9e8b328427404a7ccce08e8cc702e530618d349879bab36c182d743b06e4c987b38bd0516f6fd7816b67649272908904b180306aead7d0c19720723f40ce2855a7f65670caee81d48a3eb760a6b67052555e356b877d955dce14874abd614d8d6d58348cd2c353ba3e63ba69a0d440987d642b9a1459a0f820d292bd48e4b0f3f9c77fa5c1cad6552cb805c660db7198af8b08bdc10e3f2afd6e314f0cee2a1c0116a6c335c827e2f65c9216224ce0c1de7d4a21866c1f29ef9c4adfedcc087ac42305039a478cc4da9e76f83903f7bd46ed9d1402cc9b696ce29a1fd5d0634fdb69b6635a1de094a300af74ed8a41432","path":"m/12381/238/29/0","uuid":"5b1ce8e4-20b9-4a03-b51f-12b2d74dd25f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_29_0_0-1751540635.json b/scripts/consensus/validator_keys/keystore-m_12381_238_29_0_0-1751540635.json deleted file mode 100644 index 89c79e02..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_29_0_0-1751540635.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4edfa6f9bdf737d75bba61670a765bc0a2f7476119f994baf674ba1ce91db25e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"ec43c09cf4a390f538f4a064"},"message":"dec65f3c6e3af74d9ca1927d299f99144c3fd41244bb91c3bbdb47795f32f30c2b1404b77719374f1945fe99715f78c1463e5c5cc10c9698581cb126704037fa"}},"description":"","pubkey":"0x035838782f1cbac45bfc2d587ff8ef659318a150559b59509b227d6f7a13145d383e4532462aecf34ad2ced2b0897c9d54aa2148e813c08afafb4ee159b6f0d4b172e7427c05166a061d3069b5a169d78759cf510eec8fb4fae3ab22e5a35382addc1ddf014febcc6c37a27ae187b4729eefb2da17dfbc4834ae3e4424217ab832877bc492b759ee7e7044ede586e7eaf81efcdde14a9050ab93163eab0ad293e6f2bdb37de1260889ccfb4da98fe04e401668392a2dfe35b2c64c9a1f2f4143a1e4119ea0555cdd0947adff69e849b8294513066535a3a51069fa21766800c252f2523cee4f4c7bf82eaed0122b97111c219761ecdd5ec04fd7a6501088284042bb6c67637e848c7a514cef378fd6762f458a10c97274b2cb2b358c0325a4efe2148b05fc77e069ddd05a847690eba6abb86df2ba08ad76bcb27250746766eefd71ce56fc577b9887dc78d978dde7dbf4ceda57b328f0db07c130edc1111a72db3a838b23b7faff624641e0e74f5da22e5e6adb4db7331d49efec9ac03865ad2b6c95c96afc649c482f1855b84374ed9a03a661018fa40a6fc1e97cb5da0a0ebe10d2650d6d979c4ed9d20663ac95e0eb2c703c47fb399127ffef3f398139810d0affd8795f47d813a3dd2f97c197d52c23178450fa3533b8708c0f1211a1f3311f937a782c5f926132827636dd419a9a878b840db31e64c8dac16bfb971632c3842bfd672fe50d6ab081cdc272d62e6d8b51dff9091d416bedeeb7fc3cf789d7aed9cbfd81f98a29ceba9f4cd9dfc1a088d0c6d7de8534b6059eb7807c591a2547e8999db59b0d85597607a1df5894b85931c30d5d4a60c8539c37434755b77959f9bb7c68000110289215ed191bd31485c92be4ec40d2054be406d002f2948092997684f5776c49514db54efd718b86a487328b2d03e7a940a8ada5b5664a9f6dad2121d1ff93e0fed6067cd716364ee04ec7cfde9f013b70aeb636b4b78c32b0b59f18bb491015f8908f897146bb3f52cc2954a045a1b130f211c00237de3f5c8125aa9487b6b1b9016bc9dc3276149f67095fee82d6c0650d38c928216f662d99a5c9a7e0173eaa2a59c9551658d673b77c7ef88c4cbd0dd459311b9d10e550893ed1f1da4afb76e0a42f7512c3d3f1c52ff9c9f2eb38f1cb96140c9c22f6755d1f90fa9eca7a93613a70e82a018cf3569157a83dc68a404c185b4c125a334a7e322899fd0485ac7ba94a1b8390b2b62537ef55cfc8030cac55287e7269fbb18c3bc5125350f4ce4271d5336feec8659e7e6a3df87dda86030f37f8b1c857f3672e411fbf0e3dfc84ba546907b860d262cad8d6eed2541d278578f205a97e05874a5fbe0caef84b9bc3015c0fb6c71beb8f3f6b8d8dff8ab7aa91194cdbbc64200bd88590cc5a077131e3b1cb7584800b852a2b620d1a83eb49c1fb78c9f587f712a0e5d6d3524cf5ab67eb6fa53488d3749b5629ee4acec1bd5e830fd791eb0aaed65cbe241f747d40ea3a954f86f01cd61edc8e7617aa41f752152255388fb806eb84f053bdf718f85391ddf0d119caf8c6232b04c9850aadba9b5f97b9a7701365dda288c360f017fcba257f1e5e91f1c1215af305cca988f2f0278bfb433c7bfb7b65f58ed28fcd7ac10f9eef5f670fb2bf0bbd1d1c57f42d3c754c21e4490be4760ea4a44b83864a9cbd22176fdc6baf46a81de8f702dc7552f02f5fa12749d100adb6f29c5427c2ed3d9b9b098dfb6ef1ca38ade2efbce9b60c912449d9f97e3b97be01ccb8ea6c388fcc2d04c2402c4aeb8e0b1542883ac10e518d0af3b598cfb00995039dc128da488a4e1452bee5b675c8ef0f9e97bb1de81b6e12b12b7e5cffcd2bd49c642a2661bb013e81bacbcd33df6969a823f791b1b92ef430ce873b35557f69d266f95912aecf03a2c79108e3a5c375a0857b5e74553445eab8dc8cb01108ba459567126539dbc18ca9314a7110bc751f63e906884acc259eb9a21b2873842ebe5d8b07cb4b6487df03217af127dff19c98125b00a9d6f199e9ec0c760f13c72fe1abfdb243c00895bf88977cc362407c4da008750f0cb487ef0e6d85899b5d02e9200b9902edaefaeb12c4bb3e1569d786cdbaa4426ba44af71a34b16b86b2bf0977322af46266f7806d2dbd3e1be93787dc4d2e1a5f4ad29c33a03f8315d06ea4343159539faec2dd43a7e75b0933276c1e2ea264ec7965cfd5a7efe46d16ccad0f830032cd79394b2144a0d23fa03bdd6f1a4491199f025edd438157cb1b4c5d0bea6243e2c09f5ee1cb9ac5725c9c84b9498af8355935e9f5307ceae62c10259f1c73f87dbf6a72d53192fdd7866156af0f4cdc4a3b339e9e7a3df8c2c3540d80eb5e9b02e88bd42088beb345859efd4300eb786d2863b2044887757b52b1b0aa6be59ff129721093d57636db126782b981bfce0774eb7015c66589f6ba7d0303a6b5261943c522fa4d5b6c9747f9a1c866b22106fc64f7b1e84c414fa0cdb8489ccae7fcca5f18999b8e4325e92fa0fb1dc454781d96f3105602b35631fee7bd04b51c46710e15c7e8e9924e34dd1a79eea98cc6b4b1b5eff655f60e7044492215906b9152fc213d9d7f834f87ffd5ea4e12b1ac083fec1d6595f7e6cadb2fd50887cbdc99b0b28e7989c50de6d857630578ef83c3f956c6a7316097458f624c0e2d755dd2c919517583b3e921024d3174ff0a9a9d029ff99180cb770c2ba062063b162a6669f01ae097461319de84d65c7e5f1ca45049fe8774f1b7470d7276fe95190a4741a25c2dca6cc92e4da3180523a563e1c7f10be6c99394b4af75d9def7ad99701fd4d27103310c80d866360feb8de59af62652d0f9d5f0c98ca08601330b7ad551858ae1a3fc62a266328da708c9abd11291aa015e5e651da1f37b308925fe6fe0f7c63cea7080af7eafb205d74d795ccc126292e6e3cec635e6b0317ab0ffe2b65532754c9933b62b5b80133e88f226cd209ac45d044e48b3284be777f906ce7921479f136b2c690824d58883d679c643102e91c260b7843ae8c95b668b7fca4a704e8ff7afd86168ca4a21d8ef6ddd231901e50bbfa172fa685ccf68ebcde3b78d0832e797fd4e5e5e826e471fdb653877a8ac888695868585b07c8927600a9379533f92036333b218f5e226a6dd2d707ea478cff29034816f66ce2cca6c7660d9b6aae30dcc9ef6cbe1c519d8de63dd50540381d206420cc794b8d739df0228b04ff6a24f387b73a1f299446dda61d16fd7feba2eed2a32bd99c501b8bc9d9522c446828ebacb4699432961aeb38ab6b7f6906688e9687fd6b677c5d9f2423f4be9be9c237bc565d42ebbac453cb94837a40cb457bcdc72796ee1d8adbb8304cc83f8a720707a84fb4022da40c96536b70d265c7dd009e59377b781750d85a7c942af99ebb428631d6bf553bc89dd9ec84297394d5cf2ab89f1e4e83f86544e190677ad37a5255387e0e7bc40f637626eb55e321495629a09920deeed83dd95fd1f028234b4a140b29191bf78eb8eeb4d7d01497d9b81fe3b4d1194568aac614d5317786c72cfd1a1e486bc9d151c5c046df5544e7c351b7b5eccce656eb012770a77361df64102ec4198d97688f7b08f931ddfffb5b6151ca6cf0e6be6b29b4f217674bee71c7700e5020aa5","path":"m/12381/238/29/0/0","uuid":"b847a6b9-b229-49ba-8e41-77348d509452","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json b/scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json new file mode 100644 index 00000000..96fe68e8 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"44554114672674288982c93d1586cb17d25073385838ad945a166d26dd20c70a","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9280913fd1a937c3b052735e"},"message":"0d4865e77e2cc2ca6d776dd043de39d9a1ee62181ce3b20511a5c4eeebf4402ce2e4e47543c98188634089f2eac371588b33b1d4e11f6f4281c905c933a6c0a9"}},"description":"","pubkey":"0x54be3e77898c376d46fc352708848e60d9a2cec984a93643f84a26172f480cf3200143d7f1d909e64629ba2eaab6e3db35d8f30cbe05ccedc0498a8c17102bb06083ae4b8f31262b609de77b06c1cb73faa15988b7fd8917399dc8ce66ead04ccd0c94e0483ece4aefb4a5b5f9462fcda0918816d896b9ac3edc28bd35c4c39df5e327786e6609cc712b4c383503efa1c1d8fda0c815fe2687f2689af7de169b5a717ec8dc8cd4e9ea93bd1736ec1d34ea4e656f452003ddfd42f0f79135b864c24e71c3d8f98cd64c427bc08ef67818e000785545edb5256dff4ed27b9e1e95c62f72a7cb1116a31b46764a593691cb2fc9777b49c92dbe0176ee60cb4ecef71f726dbb459ef335c1cd6f956810a457c796510f374e979aa48b269ce3c273e5d86bbbdcb53783af425b66773458b789173661eedfd6710901af8a88c4890562e5a29cf1b61258a9f1489f8fdf78848a6943de8bdd96ff807ee7d30755595c0cc45b8100e0dd8a8a7bb5cbbda74025e8678f76a5638cb69be4690dd2715d8c15c6e703fd183a96cca25e040ba3218e1b4afb0ed64062a045aa79e2a3a21b98580ac8eab194305a4e9480f91bb7f94baae8011233b8a3ad6d6eca02b5adf96a4ab8b51b89b9899eae765e786905f217fc20a9245560b976cabc19950fa5612a0395299b85852675c7f09c2b6eb6c39a1fdeb0d1068bfe420ac8447f4472b7cef66f0ecfb96478a5543fca43df52ac0e6d025f598559c00ef7e8256403d0c2bf1569864857981b15ba8bc336c5ba942dd41de7bdd4db5ee1e67c14a8955fe1e20d04355ede38f0269554b53f219a175956e4820c0e33f6d1accbb93879b0cbe8cf2a267425c48a1a0fb5bead0491f7b24a5570c7a5d6557bfa882fddfd777a3a5f27b8e2683534ce3e9f482ae191e2ec786d3829324021f55254f5217b477196e58eb7134226b416e9d3b9cf4fd71f0260ad1a75771b4c0e2cb4342359c33d2d2b78c25f9780f72e02e8bbe25a646dc4f1e9e334a4219bec40c314dbad9e178773fa3262d21be5b30ce3ef09b9cbe0725973f3917d25b3ba194a3040d88e153948e9099465c8062f80e3ed67adcd6eadc749f13c66939d72de3f3f1be32ebed157f435a35257ab373c42373aa0c30ad6c5a951ffaaec953296e2f845417edd9761be82ac7718bf45ee88c030dd2277d0f1fd0053f0dc16fcc3e63b8c8edb754d17d7620ab0121afc9af912705c9c5f3cdb832a727814e21a7c792a95e83d35c1ae2d3d37df2a76e36bdf85a05f37eb3efde041bc7a8026a6ad4a57094dcb12cb6f0cc0dec06c2384db4f600364ac37995eff087ac8c4c599cef630f33ab6bbfce9b5fbce85f3ae039260930a3465be29ca2da8131bdcaf0cf53aaf602871d856ee13dd777c160ac9aec45ff98193556c1026a2bc6281aa17d1bc8ed4fa68ca0eae790c1dfb04de62730f62fcc0759cc04d925ab4ce80f490e37d5702d1ba745217456dc128dd049ef34df22dd6551348012a1bacc6b943d9af09a76c99600dc0662d6d171bae2f149bc891ceb7238a260e8c769f0ddd0ef738451214073466de8482b83195c9c61c0a4e67e4f01c10a740dbf76c36ca6e0b55ee0dd61de856ef77728a60279c34daf28685bcd9019bd8a7e666fa721ca461c8854f0999d65d5983e23870a27020d067940444aa02b640371b4e2673bfc5b377c264ed4efba0411ef219417fe77eb0a08045e0e9f473a35a3a6f3492e101d674d2e0f43ae0255ed376e8a1a759fba88b17cc4269f9a0fe8863b032765e33d46ae226fb7d9328ff5a7a4fbc45ef193df94c7ddfef91405f01faf4c6f7b5d04aa311ff07b0f33087c545e20dfe415bba8fe73ce5a7346ef306d68c9b44721e1251cd432f3d09f24047745275c3df5ee0734aca8ab56e58a00388b73949b8b00e2de24716cc7bd39796de029f83f532ff850982eb6a36b8a01e32e61204af111a3580169ea7aef8679869b9eb7d02a1056870191858f094d6bac0c0355349e5f49ffb1a528b29a74f5a14265aff752e097be8bb54b8d0960c8fd2aec7d5df064892d11d2f820abd7e56645e06286b84a867ebcca691dcad8e7127705b428569ad91ad8905738f82f8a9036902a81054819bc2efe50468faa4a090d3c7c6e231e46f866ff3a4983a8e8c51bcfb69ab4222cc41fbaa6418b3a7655bfcc70d187b466621597b22667be6247ca0055247a33c6d854bbc9581f84353e46cf9b76ae94f2e53b504bcbf603daf352384d5e18f8f71f5e80e4fdba5837de52f7f0274ce7e478d147d6c1e6988edbc1ed6d65f23e01139de892d73c13bf03e87cf2caa75465e0deb41dace50616b59da51f858dc83e79503fcb6f9818b3be26a1bbffc516c76335c01a6062234a3e4818d058ed1bea3fb8d957ac8af1b09bb680c8e1936da390c1d1849736fdcd816060e7105e1e88d0d034ce0f1a12623b4cb8b920e46c27ad301a9b80ceb7b48cf718424c427cf69b223b26fc921f7121a5e1095c87bf8a3836caef5dce5c8ee492c2d4f0f0e05e4a8a015e33dc9eca88934eebd212e50382611780bf8ed174d995cde0ab292c769a45ef50e087f82165406637f77c753bc645f7f16327fb2cec131e9dd8a38242c05bec704950b4f303c5ce71966ea5f7a9a354c8fd79cfe602dd0a28df2a036df8779ab295eef6ece56fd739323d3238b509ad7bfd3a75cfdcda9ac3254a8e013a29abb978ac27e4dc1ae1604aae2b5fa0169ae8cc27665aa11c632eae64ce6370bef97f29d259d9f404d443ee2f2a18bd4117a81ff682f58204ca109ab505af085e9bef58c2dca8d3a49a0a60def443f34571140cd58cfe5831add14489fced89985e53643c08de51bb86ea79a4dcc27c86551f9b4404bee90535eb4582dc714be9d8189b54ff8739b9d42c8f23de9d6fbd3317f3e5859dd9a5827a8bf19c3cdcb1115824cb927ee53d3b17cf6e975a96003cfe71fec74e9bd8c20dedfffc7babe99efd28580208a844c4678fd67852d8ea5e5f18e1d7d214b90b1cc5e8bc7865b40337350a35911caa7c0531e7b0e4731913eea2071f31b485795bc336ccf35e4821139b678a5867e8cc9c179788813ec66500feda012ebb231643ec516480bdcb3fc6bb0dedca69ed61754d6f519aceda6acdf5e4d31376ef69bd3290cd20a4c5219376ec9d20e28ce680895834e067a9b736accb700ade599a7caa0359c6098960b6aa78250aede45975e5decf1353450ae3ed28ca5a42d454095f345f03aa0e9629539d64c80e52d15b729ec984f7fa9d0e6f746893afec1218a948086f22663c79a0818b6bce60ddd8414b4ad7a7374f511b032fa7e55138fd1d015d006d8b07b4f56a5fa3f8f347e800c4d1b5c1d821570f92be4e9f87ee01753bfd669991fe79e096f09b9288f8aad096189cb4441c95711c4c855dc96103681493ff238df60b3c7384d334de92edf501d6ad3eb1270afece2d8b931d24c9bc3d4139dc5042ebede0b2c9b1afba14e2d753f920f4405b24d09813ca91c62ed367e95ed73b985ac930f5e612018ebab13fb058415dfc168e311f24d0de53646a6d53ee20a2ea73219d11123916acb0cae53fcbc46710576c96bc166af5bdd89698d8b295478c17fcfa7a0e32635a9913a84c50e82b7528896cce432","path":"m/12381/238/2/0","uuid":"a020774d-30aa-4d08-93b9-3e5c3ec7f074","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_2_0_0-1751540598.json b/scripts/consensus/validator_keys/keystore-m_12381_238_2_0_0-1751540598.json deleted file mode 100644 index fde1c294..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_2_0_0-1751540598.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ae31c03bb3cd08c99fae494adb2c394759db39686aeb764718f5b0b825864e03","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9d531eb885766fb5b71d1926"},"message":"0782e4b4fa40fe9bc5b994ea1306b7f402ff677f836e4e61d5c51af98d9aafcdb93aae6f41f0b63699c6971ae0b6b847bb7fb55b32687714ab8173f683d02a38"}},"description":"","pubkey":"0x17957949f53ec6f6f6e02f201f49e69d5710579f76b95d793340398d75d12fda6c3ef13a8826ef951cec9bfa52d5c40de665fccef5b87586098b4901a7ddf1b3dec947ca6c16d29fcc2156f8c3a784724cdf833a7f19223c51da053db6ec42fab5de2bc437b4ac33a6562c62cdb48d19590f6e67f2443802939aa015ba5b444edab43f3fd7dc460cc05d8628de561468cd76eb4324e8780ffc5081985354a5dff8528b1a293a42ab28b552fba73a3c245be13b85e4f82ba2d574146560e4e7822123fa11b17fdeb8c93083b484a3b701789da7958f81eecfb91dfcfb0ff10154eb7ca22773a73d727214d9cb3db88ab62a371eae89113609f227e72c75e9b6e279c463b68c5f9a9519b45290544d6bf5d1af5d4fca0cdf5dc1aaabca0199b41c8d53bc50f46199c94493de4e74d827fa43abd292959e28062b3669546c99a76b46223fdaf254ce38bc2f4e510b4c0a6e77c99d70901ca4d1fe7b744f8170be9c4193ee1501244b8e434b2d8590c8ca6d278bffad518a51a91c412839d51e9062ceb98c53261f0bb3e181a3d933b51ca9cd9daf59236f6f9945b5362757d2d3477cf28eac3ed174ffd02d2f73fd8525e24ebd86c647f5e867494ea02ece53ed0bf0d9ba656df646cdd15f4ed85e7429354e5932706ecd8ec0c5aa43fe41a9e71e2e6d3142dc4c3e064add1b6f409cd337a555dbdd673b67252995f7e31d1015c08e298427fd17ac678ffe60ac37cf8b46bd66f9f53b7419ddc4e471eb89722e33b81536dd649196175f92af508d18167c9895a2d8f7efc278dd516627197b731083ae331db57c391aeeec8e8afa48d93dfe2d74b2565a7211480b5aa45e08621ed16e59a25d610148b9e29495cb87d20675f02339adde1b9e2997e247b14ab3c2f2c240bce10344232de483e59859e37b332c27059a3bfddcf0f82973b9098f46017fcfbc77c472c5c59e80eae32abf7d7e0a3f0f8e2a563f57a3b3031871034cdf74c8a02c9b2aa15b1b84b35de2a66afcbe45294eef548276b467a24b624687d01f85dd6100732b45e9bc2e8f1981ceb584b2b3c968644363ea26468a0d611938de80b0a59cfb298b820bc92231ceffc4b90dc25dbb78c0df8101e57d9ee6bfab5d470307836708101476a5476a485a3cef7c6cbc5406c1d8642b2ee50f690ed4e4a02516bfc2357c3c10c7b8082234241f1cd214cb68f837f7b9c6abb1b7da09eed7161ca6117e0acbf96774904c87313d4424e9b733a729bbd2a4a3eb0b973b362a73a4441c0b9c26b9dcde9cefdda405648d85c96d9ed44520b2b1c077b01b3998dacffa1a7c38e54b54571d0b6fcdaede3d39c512690ef862241239ec4729a216251608ec16cb8e9a75cc443e206dba5536ebfc702b5882cd3ef8062f3218429d0fbd14fc8b997184d8c37638a652467b9b8c7852f5cf08da076ebdbc26d2103bd7f795f2b03519343a036c8e25496948026827442c2cf79db30bae9753affc8543d984efc7617ffd1b110274346a16e922f07f2d27a7bde433c2d855483634766c20e86dcc23e5dd8f8f5e2c89056999906dd5b3c98730fa0dfac77b8641cab1941b11c349105ed763c6124f08ac32e07a15d26aa869920e497b29b11aa7b81bbd829242f3b11e6b3bb7d1d0e5e0e2804c2b17ea6a5aa894be225c6e116094f923569632c1f2e4d4b403847bec77865083cb3c5463cd42fd063a0366eb64ebef792a6c3f681094d9aad9579ab0ef702071e45d75800e5130b74bb91de3f7d1753b243141c7cd7fbf31b4fe21e3d34a2ff634be17eab1ab2eeaa969f9511b87dd058def65653f7aad7d54d8fc898d0ed7f7b32ea6834d8c68895af0228e000b95c6dbd6472219761e50970ed5aea5ac1ec024315ea8a13c6497c4941077e99826ae547e83e869af70872c87ae5e7065776c6f480a17b86e7dacc9fe267a3c46fc8d29ac20f84b4a28b61f9294c8b2db260156877bb4f6194b4b762c5139a4f34cd2e4c294469e90fa6f30d23c0fbf4b2830243b3154a00cb40ff573155b87879494a4b556adf141d497afcc4436959f36b59cb16dc31c1917280e929a33449e87bb9b6ea80b7d9ec75db356be877d896ea48d720513738cb3390e27e1fb7ab7eec892344618e7551e00c3bc40500a90f9566259bbd3868ac41850c7f2210cb26325d9091858df29b9320a34e9b1b6658cd20f3209c719b503c9b74c407199cd451d0ad1fb017392b22b20d5f3fe5bfde1e8dba24187b1ed9b8e06940ecb0f411534ad04c837612ef49f04a5b1dc939b41d336bc6df27db121e42a3770453e7f41a8c1d91c7921cc22acb3a6ad9404b2b33709b7d4e5cf312890208da5a0ad90431fdad0186e6f1264d54e6f640f727ddfa67e58543f8229a8bdc4b5aa482651400c2716f53112866a0e63879393c6038b259cbebce9faa6d6cd29eb8864cc3d90b34dd75048216b85f79fda01817df14193314c8afc9e17073015ec28d32cca2bb8e576f43033f26ee22367f370c6ecf2826d17121ca108a209390a92f8dd5cd07df1b7d7ff1e29f5d0ceadcebe9586423a6f3163847c44e2d2d2608c30b743ccece140a5c7c10b0462c74688c046ee2a4e1f777a61ff38de8c3a4870f2a153863c77b8fe517740ca84a8b2f4d7a96892615ff7afdc06bcc3d849c24cfd0d4aa6294a0611df3b206a9156dcbd7e6e5bf0507b1752a546199fef3b7f6cb84fd731183240263c1ca2b1b3b5d37392989dfc6c89ac8b97608846601fa14564d0208b22c2af9fdfb608dbb987e79d604dcccff8bc524ee170dd8dc0beae31d22b435974486defc57da39d949e005b9eacfca523d7cdf30a3364cec2522465e1d587bbb8fe568633cf49abbd9cb5671528e75254180310ae75b2af1deba093c9f5aeeb28b5b0e4f87de8ffe95d365a33577d29139347f075716121d0d75feba04f079f4d258d88d62f0fcc06fad7ba59b647e823a4953609564d0074af46bedaca6933b369bf728c4fbe8f083cbcfc3b061f6b292927feef98fdf826e58f8b8b67f8305f3d25068a94eed87b6ed775b0536f264e7d9dda2ef22848c83c62c9ede97198c5d358585d22720bd944c763c59e2b96b40b00a6161e8f5b9d0052ef46471208b057434e34ee8ca9ee0817aa653b2fc08b143b167bdc80b4ff4fc3236f50c14d7510a375c20aa3bd9d4c7253a380535ab128b909bb9836aca5e3024cae3238d0a317e3814ede84b485aef985223b592d9fe4d472c06a2cb6c26d13085bd33d97aa91667af59931a466bbf8ae763776f85bc21b53b3dfc9ae666b866fc945dc1cf51de1d01bed7276fc033f559d9642f14a43e88802428ffa87ed5ba6da7da7aa7358a3c849021fb4d34546794fee244c7d613c62e9834ddec7df16c91d68d22750805e808a5ed39029d0b5d9ae0ad8067806a52d36f585fb441eab80e4d72a9daef2bc484266388d90ffdfed0ad700cd5f3b3e57c30bf779b907a0dd79ca0ea71246af830ee0f93d36414ecd383bcaceefd234d0dc3403448dfbb67e1338fd0d02270870957c925f42005feaf1e3f75f7b0a5c59c47085c509f5fe12e0a60dbe44d2e33d3e858f9925d5a0022581dc99ac2a6b19b9e9b5df38d297f528d3409cdff4f31581cbc0190e7deef8b687f5ac42d6a9e9d6163ad36bbfb919dd","path":"m/12381/238/2/0/0","uuid":"d5d48cbc-88ac-4b4b-870c-bdcd5dcb71af","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json b/scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json new file mode 100644 index 00000000..21c2b713 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f95e5cf3c0f372881f7e18f7f0869bf619a55e1f6c637654ebb97849fcc5ca38","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"cd406bda731c7a624629cf65"},"message":"f9e668e77f0b8ed18998aff562551a7d1dc987c56ebc48e8b93fb5ed7f0b7bdb04d584c19a0c8a87e13acb384317e5c838918a73065754a39299a135c04c94e5"}},"description":"","pubkey":"0xf02df6a0b872b892ca71f86193ddac4e4e04460b10aec4ca5a0ad80e70208d913d7d30d889f6809b04b48fe8025d4b90e608e7404886c662d57c1df3e9bf0159ee475ba31803aa4a0aaf450cb955213a327aac858daab9159d4f1850b1401433ba72a83257e06bcb8adad06f01bd0ed37e1625ddde0de0a6f78f7fccd35c18296834bb3b8e8daa7cb01746bb1439da9960be9cfd2684db9b917731eb0a5c64a860d641a61b692117599061bc08c3bd13afbf85e120b4d564be227788b3896d2e794f442ed1b3a506f55705b4e1d4255a48b6b12092c86ee9b590a01419761d378396d607141d8e17f109e6077a91db1ae7333d44d92912d9e1058f4fd2bcd93dba3361e67ade94d8c8b755f88d31b8ee74db54e3254faaf140508d0599fff34f88b336cca6384a406b0b0c3f3de325dc455a46145e5a54f4ebc1d6994329d7db2ed212f0fa5d32b836579e3d28f789f482e464854b0a3b3b58877001459e5e0cbe5aa5989637b09838f9a05e26ec6f3ec5de1e74b6f21a44ba5c6145d8b747326e7301f70d4fdd3baccdbb744b6c79a115816fd90df8502d65dee97545ffc5974149de9b3410fb643a0a028e2ad969d071241cefe5eb5400f48f9bbdafa08f4e25a79fcc29bea98ca43b4d48bdd12c98a0412b93f9a1482b2ab4173af045059177bb50b3fb63e792c852f68933003f6f51522f70d1588dc5597a2e1d6ed16a2b8cea21699ab36c8821e027215f03daef4a9a835642d816dbd001b192f356f2a7236c3829c4c7b7907a393a8d2b170456be37c5884410752ee191bed3deb7ed250bbe7909578b7575d5bcc1c85fa765ecb176cd664cc92ed3d601ba425d66f68b38c286485041aa3e6504bbac9c9c822b5b87e1f9bb286456bf4132c19ad0eeb5b5690ebfab6f9c03765f8b73df42abbcc4c1cbb03dfd4b968c75350fcf32510f9e987c33a3c6673f4d96817889e6fafa45e82a2a6f6f7bcb56105f0c96247b493b95c43b272619fb3afed3f4bbd46c87d647c09b2dde9274a551c9829bed9d4cc3936f7737b27840c1d0074c8e94737fe7eaf5540ae7e1c4083757c242d650fe5314798a844f41d9151707d125fe28779d91a97953743ec9940560b6f470efb58897cd9d436c6c412e9f82a554ffcb994565371e077766c67bb921dd82624b71a53520a547c633cc2f5f870058fcdb2437be21474790eefe861acb0f551d5eca6739b19a50b804dcd63c55dc85f4a3789ed29f8205be32c2e30e2af894fb3139913fb6d490887018497eaa815eeaea29f8c22c9ae55bc13c3a2ed5b009acb886c22954bf69e6b182fd4055dbb0820da36e3f673d512d2218baccd6cb2d5be99a1ede8f830b1d8776b13b4cd6bc62fccfd9a110403cdaf9c5a2f4d8c95d00cea7ae4c743f2e740dd6c1494d079704db5721a559cc3be98aea664ac53bfec215eb43c0dc3d7afc00eb039b5bca0f1b64c5133ad1040178910364e6a6063fafa11981c3b422a4d15fd5fac7ad27727bb0f27b52e4571721adb81d364d160f79491bb50d70f597f15e455bd7e055063ff9bb4bc44f2cde3d2bd961b69861f707bd6443720685d9647faead11f37505d1f782a104fda28e387971c5d02031a5c3e857abb09e4bdb5f84a8cc1703af670be3c075073f0f037943c7adbb2b9c58b2bdba6d7cab9fdd95203f7a65aed08398916825086c004d386d47892286ab2738b8517fa9d291b2afffbd6414aa455748cfa321ad1ffd0e0f94a44a86f8862d1924da7c6fad8fcb8d1e6ac51265efb3a3e7d2d17fe4da595e1765aa78590622bb06b4323494610b11c4c28664a9d5fd44983de12091d58737fb940f775d8a3df5d9501189a835eecc7f597f3459d25fbdc73106c5283e617e1363fb67982603b0f6a60dc17be00c4c6ea33f122e2c99d1e06300133b50267dd93317a2dbba27944b3629bbb3408859a8776c95e233b06efa3efc3f93b7eeffdb944ab31d50e0101726302d802c2c38393345909d6bcb4083e239952723cb1191a9bc1da20728a26a86d6045ef07c9a7b4d365b39d695fa51d2f1ab44fcae6ce538e84ea2151753f6fc7f4bea241ce437430fad04fecf3da1fd2a746a6675e4735c3a78b23e7c4f50d4725d179868611894019d96fd1bb132d12c887af7bc6b07460b3f68becb7959c171c1cb9032fbc666c5b5c8d7eaa44e118a9da675c5c929860c7b2f32536f9330c11dfafbbbb448034cd8e64ba786f391ef5b8a3c0be6d9accb343661e0413904744d21988574260fe640650dbb7d33d512982645a5bacf800e6d5a6e4215c61f0e1bb9008eace68b5ecd2437675cd15b5a9f7334d6aa798d6a10a06648b711ef208cdc08be03abde08f192e7be4458f5d77dc40387702cfff9520dce841fc95078f7cd285eda3c85dce275e6f33b08941f87c3b765a762165ef87a9e6bebfc1efcc9940c56d1ea16e804e5ea5229bcd6a843ee79f62990850a21f395a657232d6bedc96d00e40b67240d9554157b8f291efe533d6edcd50d92f939210f0d05b83b18d379a07f02e0f4b1ce8a09cd69e537034058a6ef5ef5d8e608ca5641f6346c66c3a6780d6baa2a482b8f447e02def24a7c6d361dfaf21aa0a3746f00934bc3c88bdb407604edf0fe3e9a2857b2e2ebb5b468f9918f90f5da839b8a62c68b8e4a72a4b733235912a99bd876b8009656321f6cec19811aba6c0c8106d9bb998a9f5a8d377c32f873ba717f19410581882256faca08c64eb6dc1d02f0395558829bc50fe832067ea55fb8cc26b71ba66bb5bbfb34373b8e5ca3d5b8eb175b436b46b6c01469a824d5d0310a02bd60a0082c7c489347d54ee92e1cb72ed0c659e0d8d8ab5a18132b6c00c012b6aafed42a92fe653b4b15e0e19b8ba0ff4ad3e7bb8cddba41aedb5fb33bf0a37bd7afad0fef64276faae77e2a0acd8e4b07b3f70b07e2e1b03390fb60f48c983a565f2ea2f7348d628c86e0d0878481b14d56482c39ae3a0aa9c8a4ae18dd234b22ef7e3ccf85cd1e12513896525f09c32daed2222430f150104705443611a0127235acce19acda013c8bc55dc0e0cd3cce5be54e5f9819afa6e97ad0462d5ed396552166543c75c9263c9ad842fe26cae0f6a646ff4a0cd2b4dd6bc93c927f617900f5f80993997779e68384048f5c7d6f95c4069e4a41909ee3f7c76ee0fbd18d367351a5ddd8391ae7839422db99badd760b5ee4984ec6be470c9b33d52f974aa8f99ea097f35c6933009ef7ddbd74f0adf86cf3408960f7ba819aea9f7cff024bc1ca427ec76fa940ef042f791f5ecdcef48d7073034ce49446560473e845ce10d37dc56b3ab1c516b49a5aeda594d10f7684d54a5d720c040da7027110da586dbb30bdb51b7b62b7af49724c02072ca48f32cd02d86739b652ac52df8e3fc471b6dfafdc3878cb3c0dcb70896d64b56475d6182212de35b0512f7c3c0c2396e2edb1b1e2a87243cbac1ad3571e3bcb46565f01d8aa2aac78c6f88634d367e73bd9eba9beb81ecca882d828b0629f53aee7e4bf6cf24837f52a39168c2f1040aef14eca9c76510280d680433cbac2af4bf3a623c1ce28002421a9fcb86a45e042131fbce1545c756675fd63367edf453e2a1a31005ab94b6e1131e3d56b104e314a6c98c777fb1c647f46020f3e1c4fea6c","path":"m/12381/238/30/0","uuid":"101d8152-2d39-4a08-b2b1-fc50b9c4ab80","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_30_0_0-1751540637.json b/scripts/consensus/validator_keys/keystore-m_12381_238_30_0_0-1751540637.json deleted file mode 100644 index 072fe09d..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_30_0_0-1751540637.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"a24741263a012fe00c6a2fdac52b40fb6d718f46460837168e45580594c71d7b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0e4a433647c9a9f2ff83bed6"},"message":"55d046abdeca7481041607654532a168d4cff69c50867fc1948f9c9ec6cc16d4db1fa4bd0ea2f2c1803ef4a1a7b0e24aaed2459c2a550282d9bd4d7dcf76fcb0"}},"description":"","pubkey":"0x476eb6c4fe82bd231abba56774cfa6da64286b7d30df3d98da861b3b8af764b5e87f915fdfca8c6dcb92c53b04ba488320f464711cd5f1d0c58a3bb1b92dae69dc96c7ea67d952d6e8f55cc2a6a8e4c6229a8669a74885dfebb2f9b81b0695b9cd40e7719f81889084eb71e3af86b78b0e49b583c02d377de1366eb4b52274140baaaca769f436e05e1a625d89ea3204c241cbfceb8f09651cbd45f16151b3a6ce517f38fad9276b924fdf26f7cd8e95b58bf67d08ca418af7cf0cf81ca77f1f6484f6f2a3878e65534e908b79c172ee1f5f3c33572110c9cba2141e442d1b3479bceb47f7d19b840e9b27756197862c5bb1ad43bc2dc6138a0b1336d867e1af41d5bd5dc25fa2277708e5fbbba14159d20b29bd61a08440edd44f3398e38557b9c39fa8be85297682880c1aad282443a7bf7b6f498f4e4b140a82c7aa7a7fb8194a82df7d6966fcad42a8a5393fad5ad75b3c1ca29a46fedc670c4b15841a8902624e85ab73ec636ab5a24b6e98bb12c0ae9c6581b09427d6c50937afa26afe00cd8904407b0021d5a1a018926aa55cb501e21eced61b7f0f6a2442502de5cbde7a9cc6565c2be9dd7b6a328c2baa61835ba72d0f634712784611ad390aee0608dbe24acecc8cafa4c38e796cfff8c41853ea4380e325783a48fac2a024ce77989b09d7c38e5be60db74b1bba2503a0445433d9dd7ff8942da25b9226bf3a9e2c88e0bcd0e8fae92e6563b1b3daa83b06a3e3bb6e264c2c9a06b1e1a46fda8be3f50ecffeb67dd43f6e946d08cd94064df9b1c004f6805d67ea98e7d774eaad0043f22149c462ef8316ac2cbd4349bb80502ec8b76ec684c9fb307bb1e337db1bb08034e8b58aa425a72b3ebcde81e3d1a9d13d12c694618e7aa5fb2680c305db756c5dcbe21bb0f025f6a11a8905539e564313978a0fd36647e4a6e7a4f7780800fd9a3b534ea4149c49832803f204054c64324be5161ad9dc2137e7af1158e6213b9dbb2444dc5a5f7277892ededc08bb7ebc1d1397b1c3e19b803e30f4a2a6648ca1b9eb156836a8f450af88b8b67cc2c0393268df2baa575a98323676dc4b95d6a5366281241674fcb1791992dcb58ae30ac0ffa8c92b458b9c86558b2f667a3bbffccb1969c00b0f18a704fabe6b7310ec70efe886007edfe2c71175ddeb43272e4923a2df887e836bfdac78776181ccd920a562f03d337f6dfdca079ac944a0dab4c5ab11990b9c531296d794b308094b73c206d6ae368285a11d75513947ac5f24f5876efc2dd9f7a8d87a527a32b025343d0d15ed3789179a1521a95006c52eb63619421364c3836d0e1dcc91a17bfd0935c2f493f1fd8d619d5a6e12eadeb35bdecb591d8981908c3dcf2f39488df341a826756ea81f714d6eade2ecebc21525ba6666ede947de3eb66f526835458318c5d43201d60635fce8c3c79e1db3e2790a7bfb45e9c996d4f7a717b2ea9caeb2c8bee949220b3bedae8cb73ee6b1d54fe5a84f6d73cfb094c98d36b7578e06d39b70e539c13b38662ff49a2420b08989ae09fd6b4fa0f9f0c8c92dc7c1a99a0b28dbb429d965e53e7d15ac9bdb76622e26348d12fdcf362ebe45ba890b9d857b47ecc056714e6d0a5dcd65afd861b625c60f5bd93fa48b764f453ce69e89607735ac84e1bb289e972032428908180b03250aaa41c78bfdf6d8a318d9ff83990fc2ef3a8fff72d8a2e56e19acff5aa768863cd719d741d3fa72290f0d5f32419ee45c22dffe5536f21dc005b279af8b6c735243260cb75229b05d71c6064f89d2f6ca9a4294c8be0030c8603f7da32aa4ccd8947b5a374b0fcaeaa5ec0b4df6ff1087456822dfbdec2afd769f0205de166ce4ffd6c9de469d8fa6ab6500d1763295f1aa4bad460c99b818383f2b529f89900478264c67cd02664f638a18dff10a88b9e03f2ad8359e394e3c1028f6a78c280dde78439ccec75184c03b1a3afc6679e98098a9f4cbf099e028918f0f29950b26f49bb67aebbed1a4de987c3e4c19ab686c2195c4e0aa3d8c783b8806a69b3d10b7ab8e19c345bcba2234d23f9e4022b097a0efc9c14a852c652c86e7100c68f2a21baf9593ae8871b7f1bdbf65638eee7b3b6b9172d8bc276f6068e49eb3d01a26eb0eee25d606e5a57e96bd3a13524e77d547f8a7afa1d90549f4970bec95d46d4928cd036d0773364e881e3622e12694f3abd33fe2bc377e35cd58b323ad642c2bfae5fbbcdc1697100ec4c1fe8a1ba1bfbf54dee6e3a1a72096a8a58b8592985ba6c74015d4c4b21062b5633d325db1d411be95691508dd80f246991de05406789de87ffebed96b0e490d7e9d8c9e3e348237bb621193d4844207cd9fd88a7fd2f0502b6ad35f46b4a8dbdf34113ffd1b72c3ca47d8048f6d25db78330c0daad40baa618314ca2705a6910f56d5a54d1ec48bb6a858db9e25c2a1e923dab8d4f94d55da15b85b9c83acdc3810e50e205bf1bd313dac143faee570dfc2cdf373b4af330852ad245cd3d73ac5bff864b8c1023c620f5ce2f957b83a8c508b55302d968cdd334831756d6a9b34e49d2abd2681d796956eed3986fa26c66b708bae8d6e974dbee8d48b6cd4530212f6eb8db46f5e8ddf6cafdf27d77bc90dc09e47c9b6c73409415f87bed38af07fa86d3a3dd549ec07154ed6e5e7d9084650b302f377790a2104c56be26ebae4031f9935b383fd98f06517e26be88c58c7a8ae043cb8219ed3078f043af69187d92cf3b2f0f819f25366a74c6c5afce65d71c8af20c53ffb80a8cd5c4584c98da5a140f4c3b39bcfa8e5702a2018dabe9b49128897fc49c6054276da5382c81465a22bc883e12488e17370a6d38e9aef1b142d35f1e90f9ea850f5b6be2bbeaedf37fb9a7ec911170e882841d359969ad6c48dc7910d4a54540be14d59c532f360f0a57d2ed299eae3e29e9fa1958b81bf922e441961d1c6eeca12ebe1bb68e291716394e799e1c16dc0c71d81b6df8f8c5ac453554963771a68df5b4089f0e78bb85c81e407733b7b1e1c4120fcd4ffee085b5f18f1a8f91be8f840f0aab05fad181ab383cb558329a2b2184f2d5a0f03bc5c985fe4161f21f987505079c525408b51add0090388a7a4522bee68996f2d01edd21606f99b820e168375a1b96e436701693ca313ae69cbf93f8343db7c4c626692d782b692cf0045feba2129d64710f5bbfc061a4701fb51b452e020e6fd2f1f27c3ecbf2eeb17b968be45eef2cb3aebbcf5c1f022f1fa9c3c860930cf8b46c1c5f85b7ac3447f83a66c3d684ca1f0b08671857e6111a3e7cbc36fee4dce097df09b76033653f46ae31d8ae11ccd141a88007bc46273387479476e4d3c553b10172d91f8f45ee4b435e9dbb2992ceee6b9c35559e7cd65f56c0d3985ce33d965d15c509acd080c5aefdbc3bb00cb6b12a817e62cbf421a0382228fdcd41fbf5666ef3d8198b1e9a45172a36e171129766071002052be2ad04cd506da12fad36e37871b1e0d91ea15421590d3e6431b6a43496a97ca95192daeea2c59e65932d897a8c00aa1a2b078d4f564cd8d48c2a5faa15d015af4de937a5ce6bc36d5f87f8996b4537cd7dedee848567eb5e2196d7ab94c07255f2668353155ca494429b9b8abd525327c28fbc69674f3c8f45323d524b868cbf4010d6d","path":"m/12381/238/30/0/0","uuid":"c759b8f5-3118-4e6d-96ca-b344cadbc5ce","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json b/scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json new file mode 100644 index 00000000..569ed32d --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"04b6302f6bd0ecc0eecd839014317271956f5caa9e42e6e132d72c9f15e0981d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"346384235f821d5a011391b1"},"message":"ec3c2e4cadd49a4a10cdfc92b71babbe02e23782fdb8facef7ae82ba77835b77caed0b4a78eea6220d93ea7ee6d1b73eef93db9124c5be163126c91be186b293"}},"description":"","pubkey":"0xefda6a12e3ece6a9855355c05458d5b1634ab894e448746fc32cdf2a4a2afde9403bdb823fa1cefceca8edc594710b9227c76b4850f3b23b7d6bc8975a3cbd48fb4faed10446f3bebf3eab188c74aa4cc133c32c08359395fa7a22fed780013cf85f422cc63e9b0f88c9149abadc9ad6eb120144e5033491a6f39f759df0b2ce4d5df51f6e9e787f2fa7445305eee4c74e4342dc16570608594e185e2f5884032d9c0db73986c0552d1dc3419d130ebac945b6ab3d8df537c7a2b52816fb3bad761754e6b9c4dd85835b6140d36734359b34b56465d7077f95004b14785cadeedd480378428f171c5969f21538f494e2b8b6f01ad8c2508c0fb0e6b8eb3231972ee2da236abf240c6ab154da3500fe417288b1e62b1d88a3071fb4dc59a04c43d8772dfcfc791191b1959e812412bc9ab8e5012ac77dab30186701dafa2e11e5cf6a1a8697453c0008a2e2cedd2e983223fc659916b4fd8ae96d2aea2c7ef756d61081013ac902432f032bfc72e45ef139f0caa987c86723997c1ff214c8419493c3c4cfcf0387b5368f8e01f5cb1f2950c937a6cdcb069ca17b565ef4bf444be15e6ead09de9dff198d148e9c7af2194ade80b95bc929b36e026718ab2cf01aae9b7bcf92829538bfce580e017d74acd4a58f91151c9b05c655f5016fa74966ae5fa8e81a3dd47293795ab8b21bb21052df6a342d4e7defec8dc88751a7bc849a5d0e60b726cafa0216e15eb673c6dd48a9d2d3a181449396b63a3ad06cc419bfa4e1240c69e62f49efa1e5261645d53e1f46d7a853c93f6f24e9cb9e9eb88e5132688cf15fc2f9d006d373096ef89af87c58b2dc15ac9208ca21afd871a369cd3c25fa96279ad3fc4db7f4ae27a3b6b8f3671ff7e06d0660939e4ada6e3024bfabc1901c65f199cba0e0d2a1115e7476e50f6f1253656f7976cd67cf4703a72dd9acd004c8b7f64cdb68161d98e4afe8f7e3cc8c3595067e7e0c08e3d1f79869bee61dde22221136b9ce7d633f34b70e736d3aa20d45f8c90f7af48a7026a056dcbeba97b3d343ec3f4d6f20c905e4a6d6476b2dcd63fe9abeb399b4c52328826a5423dd06d5a4c7303e67fa718850d7fe0b1afe23b7cfb0792aeffd6808e826808bd06e0daa93fb0c6abcde49200ed68540d48cc3dabe078e8b3335cd4d6a2ce58d571dd1d8cfb60dbd528750c488a8db415986d0df30b6f299af06481e1d2302366c71dad29e1025da77180ff23064c776fbd7f1a92684bd524d55e78d4d9079f446d92cc643f863ad8e30be6f6afc23235d4885934f108fc7f8d47fc858f42395a14dbeb58a5bb7384ea2bba24baa9bd54bf527ff6594ee0ce46c9dbe4a41878992eae48228c052afea69501540c86f80b2b7ea24ed644587ead0e68fadac9e78433ee57597ad7d99017fab665368d16f382d1ecb067846617f9f8876b3497c3a39ff02c98be61383ee7658afe5d1574a1e793ab58a2a35d7d7781d3838db2fb40ac512f6966f3eb6549553b01681959844ac04910124136060e65c286a7056952563dc58fe89362ac37ba4d8f47434fb83a31af5b12b29be6f72a118d873a5afd4742235e69891eedf55c1fa2de92212b21252db2731a0ca3b60ed7b0e5b4de85f523c0304f7811137c0aaf4833afb6887a538919fa464a3d7dbda978b003e60792e2c6891bb0cc71fd2b103d4041ed215cbd0e4c9cf06cf7d8acf00d81d4ef357eef29db47354f3d22666a5654d920d0c5bbda0b8d78e708fcdf97d4617faf2a3ed29ee37a7848b8311752ed479d0ec92cb11863e1dbdb119beec600a02734fc5135e718dd86c862beec44bb8f3069dd580f27698c42227eeb6efa58b46ebc5a98f66b818da5ccf0fff9e0b1bc97f1b2712870d55d3930d59032c53438f600a3f6a6e1f22a73fed920d8876b048f7d1dd254b48f03be6f6cc8fb27eec1ece1bfb9bb031fbbcec51e8d8a9111697349da4423f59de3f3ab07d8d8652ef20fd819d4de0c8d9f5d59febcf6aa2d40e39aa85ed01d1bb80d9b1e854d77b9481dd5c0cb3be510e41013c6bd011ffbc03a5365cea55c45d7257cae06da5d20f323110758d469daedb2afbbaf2addadffadd502d82206abe7ea10306ae599408b67e1e5e7f9a2dfe8033c175dac3b32c9e52efc717fc57886c14e0b95456a9e9ac175881e936effe84da2aaa21d50d19ac9281cfa7ed9e4effe57517854274a0d96ca4d3bd669016ec39875ca3fef8c8cbd9d21d4daeeec63ce2efd01f9bc46a5a27fcca3faa6e9e0aca43d921192362fc81064c8ee1c2e9a920fdd91be7f17bf13a08ee45b70f331e41f8019a8ae3a936114e8f66a1af4a3e3acc57b1f088d42d184e1a447c0cec473c4288a98128a435af22a6ea8fce81c0f1c79e8518e6de9b46a666cb1c82754789ddb18f2c4d6e353eab18bc651c634f4483c3fda2829c88cb65f915ff0283197475850b36f1a281839491ce0589444154b23c7815d9ffa9734e2e6cb95b1d85c7ff769373ea658ee97e1d3172adb5c71ec0159238a89644054b8e5e34fcf74c1a64bec275d999bdc200d346a253bdfc15e9ad5ece1a66e71618d35952d2108ddf17e15153801f50ad32eba1e49d572100818162dee361a391dcf4c137e77a1bfb35ead66198be531fe4a05fc8e0f33dd442dd51fe72940534d50cc7357ef407d91f78ad4efb53bfe8d64d33c9c2c4d57cb2a593741db04d2bc90c6f0cacf82d703fe9c86892290e3917665bbc753522e21a5a98c2da87597e3834a7beed1d6bde1ef67587434254a9488b8c7d3e74800cf02c784b1d943c418efaf7ddba4937eb209dc6ff1cee75b5998ee905bb62bfbf311ce61787f910dc6bfa34eebf3acfa962e101c387f9525d40f3b30dca15feed284c449e0ee84869a71cf03fdccee6060f7fde119cc4c444048b86c48311766e7b11717fb2526f93467536477fec267af8bfcac6774fe60c188d5b8b824a125ecd8dc32b0249d721e6fb3be58036f2d2ae0af16d13f5757a9e5f895f2faeb34e8aca7f009c9cd7aaffbb36d0445d3c127f20cf2af1e194b24f9ab831e06691254c4226c15fdea41a582a86a3c434288a7ab0c8f989dddf83f13ed58ea119df217e32f55899fb172b0d195cf742be4ed5f420878b2ac18b4824b318771d5a16736e750b9a91b3476925b93b66185ccafad9213e360a1a78eab56f3df7ecc89302bbb46e450ba5a8cd7c72d0a99dc16c9a0244e5ec481e49d3572a2d551d8a0106c310a1751a95d086f31645f348144f8ffd30ff6aaa24c69943bb9d0cb509e774c156d3895a68002f4ed42e18feae718a0c61dc29f749fb0eb8d91b2c0b6363beac766046f83817394ab5ba27a8da9b9aef4c17336adc54eb0410631c599b780af575d7002a8bcb04d328c3a843f08a8b59fd0f9b52968d5be3976146b38e445c03b80d24364db0524b8568f949595b3026eae67abed5243d7489d164ca005d4c947a7b9d2c5bd4e8fc178a71e70d876059356c4fd5691367ff1f3802fe82c875203fcebeffa62c95efdde1e40f07a38e8e63d3aeed6be70f9bbf95245f68a46e506494de3c683869f3b34c09e22cb515ecc27bc21bfe4276d2128e612c55d4bdd4552c04a76f0b19e696f8fbffc83ef81575c66aa93a8d20ded8befd4ef899afe38a5db9a356","path":"m/12381/238/31/0","uuid":"fa2eeada-dd43-4674-a1e0-bc8f9a6a2a1f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_31_0_0-1751540638.json b/scripts/consensus/validator_keys/keystore-m_12381_238_31_0_0-1751540638.json deleted file mode 100644 index dec1ffc9..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_31_0_0-1751540638.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d1511ec1f4d0830da726cb8de7181089728795ef5a33ecac2a4692d898bf279b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"6f79229f49a7f5a2177be01d"},"message":"9ac69d2a0dfc451b70bdd87d277c5d64efa4a8b131b1ec0638b250dcc602dd553493274c932228b10cc1067157130cf84cd061c846817429155b8799a505c3b1"}},"description":"","pubkey":"0xe4af74b32c2365f19d3dfd2b9bc1b051e4dceeee964de4b573004e522201e3dabcd4599f551272fca4a421feec716e9b7dc671c69b255e3c9595a2875e4d366639c46c3c512d34cde8f3b4d75f61bacca27307df1fbd1d1d29278916ad954a33fc87d929d91625261e483ccb7b77acde880ff7f8bc361da7bfccece14098a49af1384a5816c7ee93d68933b4a94d25bfa4cb4424cd8785f82a8231b7aa56a7e523a1fc81025f4c23d78f3fdba4ee636c6fc7ab9acd460ce76af010a3a8e8c19a01e7fe76a922eac59aff5164b7c43c6feadc3f249cbe4d9805ef86214c4957caa61c9360ef20ec8cac82835698779e091e65a7e58a33b92891d942f10c1bdae8305bdec9ad1564243a185244b73f55fefa64d6f4e400c3dffab6c6888d3c3b7aa207f001a8bab249ee784f253f910d2b331d4c597b64867b0d840c40858972f6753ecc39d4c82a472746a3d773d3589fc2a9e651c755de8cf50c7ab3837e83078779aa58a015432155423bf815982ac04f87fa36bc816f63d4b8723b30ad791d6560865932d8adabb0b8aa2b21a11c8644287cfc03d0424ffabf8a20eb738c99dd61acada899c5c08988eb8df73acbd338bdf80da210ae2dca81b846a2727c8955e8e766ca259103e4f4888fc6405613845479b0ac1310e0ae7fa9c68a2a5309cf4057e599c2694e0db315d1ed7cabe0a585d6482b14d305a5d67a6035c3d273a6509254f64b8dea7e03cab722bb7362aa06a7e665e2877d2dd00db6f246d1d5239167a91e25b0e2760af9e26ca53f42e62c49f052481cbcb6f4af4147e95e585f1f41bd00e5c3bc4c6e481cbb1c7ccadb9393baeed2ef485a3c2644352c5f639233d5f3d18c616c59952292ca3ad6deb7f37b67c5cbbe4c7f516b31420dc770379cd3c7ab3ae2ee853448d54a4ba5ae2ced7a11f49f6a8984db7f9117a41665e09c64b68c538cd9b4e274b4e650546fba99359eafbeae7e4eddd3c88f228dea330f5b2fce3a3b5628f9d1933b1f0485b6c2c6a4adf32cbf4ed84647e1bbe3770b51fa90c1890af2f31a72a66684274af788236980416fd256918d63ce7cd9c47270f629c77ae73779f02e729dbe0b3a8faab23d5ff77ac9718e74135397aa83e5977361d9f831a1299e30fb62a85bddd825eca0577bd541f45243df12721354c3bd79cf912edba737eaba845bfced77c644affee59e672c7b5fa64a8dc13dccb7dec645169674bca4c7fd1cd99eb01f52aff9f3270f258facc8b13f6588881ef1a4409f425657fe3831641bf414a82673a37fd4633daa405bae5a2670f54af741a9a7352cf125011363dd95c0f4474c0adf4870e6b72298968fcec24b55138abb2de34227e891b54d0764803fd061f5bf10939beaf3495ad761ec49d3fb5ff5ae5df4eb9867b3e26cf3f5ca3942108b0174da7eb040f0a15158678847dfed3c0085ba4c35e3a917fca8640f4feaf3e286be0571abaf84e3fbb45dd9305429f37318b0e34fc9be664f0ccff868c2c4d6ce94d57b71de0e4da9cc66cd69b9799e933d636baefdd9e27e42b50a32460d902cc50e9da4c8d9276e7e265a0437afb771cc6ee1dbdc952d2e6b21693c00c82a3c7c3b56d6de7c70facce6992f1c63b108da25a33186818f185e555ce93ca66282db438251bf5a1fa5d7fd300fffda37fce213ac35d03e87ab2e7ba9e013c7c00ae0826f0946c33ae5d2ebd4130d1ab4dc82def475fb12bce4437f0a417ba984035bae75b898893845c8c63908778c4b5c75ac7805d04bdff3061a9f75ba0fa296975f7ec2ccc10ddc671a795311786effa0be68c0e887509f2206eb181a2602b7bb88de5c69d93b5a8a6328d0702dbeee2c81fdc8d0339d79cfe3432e0a55440563d37ad0f7b501afa83df6c1117ead3a0af8ea73ee59c13f7127d9796f32bcbe5d22d09fd547927d9ed672f0f328f6746a856a92a45004528a07275447dfc8c11ae632ba88668a0329fb687f0e09fcb54fe19ceadcc21ebafa99790041051d888739f056c34d17fd6a8e5cdd006e5edc7f3233b4cda98409e943dd4159df7e0f40b4e27435c79738e26c9cc608e2b3138e7079680159411976840f96cb112ce40a29afa0d94d2c7dcf9d1c75090f5f80e0e2b1c4eeebd8198209a4b5d15f3e1cfaf5c1be829de8aae217d1f890de969f9d72b0a89f0e42a45443749a62d60a18ead0aa34cf69c3fc2867e6f331998d588ce9a5f2585ff1af3a7ca9263b07d09de626f3388e89ce645fb67653943fcc3ec3ebf65517f774f89abf1b018e3a3f3f2436c3c313ed09be93bb745cec87131d9e4bcfd5afa1ca3c2379e02072665364180238164162f6f3cb5926df595c5df78736f701ae2668628f4ffc1e4b7370cc65b29e442d6805264bbf18428e6f09ee905fb5cfe64bfe5e245f8c09578231bc7573a18be5f57c528dbaf72923cc45ca84128f53ee471f7280b88ed67e2814465e66abadfe6a0535ab09704b66714a9ada3578a3ba03671f4ec5f55e86d7e0092bbbe7c59ea8bcad51516f2df719009d92516b6e741bdbeab8abf7ba34cdfba93a46fb60db64e2d3c053441152e49ecb3f21749088f1aa48973e4e7476ec002a6c48730b8cc0cb0ee5fd7ed7c6812e4dc1d78dce4e74a82f3ce18cc12fae2a0947860181801c0eeb946096108f6815520a905c756004b829fbe2803d8e065390b6c8af4f16e115939a24bb38741f332516ebab217d5728f0dd805b14407facbf71f1a8d365fa00045e3bbb95a3c3551bbd19c86576dfe866cb434ace6fe66de41cf7b7a2c458208f86ae5070892abce71799d29a6b5776772d37c2ccd2c5ca1ad19dbadf9cd64e357e7566ce0110ab0a83d3329250c7e4668d63108736234cfe147da1eca5583456f21940dc976d43954d9497046d172742eb5e318494d30e752d6680614d50a3383130d3e5b4f068afc92a24b4dc4fc85f06d811a1ef28dfa167ba3c3789a4f510acea9b6327904dae3a2c2a88a1b172b1d926e3ba85faaa0881b874964cc33d5305d4f45f1f134f84e3cfb9b16be3c07ae9ed645c223e0782b9f4205298400077dc7d8739d2b7d43e6f4e502f8b55c093168c7ec980a6f1aa38f2b467a98900ba50013710ad6d6c6a8ee32f6a505d311e65eab3f8aac6e441289b4193bb4ac8c6d8a6f505a9837e515e7ec954c24663f13a224b0628e390addd1102d2c75325e46af95414b9fd86b39b8fe711a36a72c5bae24d1a9c3987a830130dfc59ffb889c54d480181f5a178b0169128d66a273665912ab10b7951b61f079ac2de54a164cdbd7c7c93a5cf6e62067778a27322ebb2b0a1e414ea69c22f06f289727f8e5a2d311c9c8fdf39e0418f05bc9d8747418fe2a73b8087a4949762370d169c15c976de65148269764283a4116f5b4f927182a373f92523c17cd2aeb1c86b93b8475702bbaf202d542b5219d2974a7cbc437efef4ce8ca51190109ea190b5a54d0fbd20ad0ef2c9224e3642e9d7c0a60793c338927ca191c87aefa1948a40b52f41f4d6062e9404b2f2c5e930cb1402fe541f90310db09e2c3ecadbe5d83f521a6f3a9dce3fea63bd39c27af52daf549f1d6ae7a8ece91c3bc1f763707f74b0c6b891ee34330175109669f143f1f361181ed83f8587a61bb69a82fa98636de61acb1e64262731b7e1","path":"m/12381/238/31/0/0","uuid":"d2d09c1d-864c-45d0-95c2-3a391bd06088","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json b/scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json new file mode 100644 index 00000000..0791ca6f --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ad6346c25ead9f459bdec45efc6cc396ef68e50c6b775c9fcf0e88b189e7d897","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"b988892e79e32958400dc19f"},"message":"c21c207262d5ee252c90d0c512b32f6e85b05f29be35b1835fac4a96f9cf3b62672ba5f3a72eb0e2992d18d799ef6505a8702bfe90ba095cd547927a13e8cfc9"}},"description":"","pubkey":"0x916c4b2371fc51d73f0d187e6ea85be9a381bf196258a2252a38d38bcd8dcb72752d0101bd1ee9b3b84024958e3ca0474852bf50d4641d6e5f5463c6bf9cb0e904efc3bdda49100d24a906389b44dc6f22a17a8855e0d9092e50922f0575dd69a7d96ee4c7acd89877cfad32256b9556e239685fa6d584b96116dfbdf6d918ae768af322a8bff38455d962f79b8c9d59935dcc857ba58125bf2a1fb5181057cb30a00940d94b37e00c056c409dc5b87ec86990c8840d26b75f996c7e0acbd74f172e338c0c2e34222a9f2bef6c35cae5459324f267d48f341ee552ad5d0e19372f2eed17e45a20b62cb91be4e5d8963cb487ff8a385e0c77c98b5c37809cf275260da3c4686cfe4b8563de7206d1b103476448a046cae76f39d5209f63acfffac5cf941623fc0091409bf9adb78b44d1b60a3e0af9721d16f691d0b2ae27d4801c64fd7fa82dea9e9a3c485a9f9cee208f09bcb71ab77b1d9d246e4579f7a27340b156bd0807096289d65aedb5745f69a855fbb4a14c93351a20e26f58ef2189a1a482828f6318f70bcdb6bdb1a53d8a89532d2d66b428bbd7073e44effec439aca88a27260274ab4cb7cd1c97249615a7f483b6a6429a9f261300da3b7129745954601364936bd57b12c664abe64d0c208610ba3ca3b7982a38162a69597ac117f551308d02ce8a25de926a222d1abd1398500e46375eb39662aad4e93b75aba2dc4edb28637048096258dc81fb586151e70c809d31fbd92ade690996bce632ef9534c42c5dba7f97b24b15bc723c0f7ed5347bcf8bab9d3ff2c73830c4dec06dfbd5bd634758f28f856571d3aca9d7d74d327f8f85341715efb792a91c0d7306877adbf660e6cbd3cfaca6c6602ad02ff65abf65734d5a03ad6419b49729be3d5237d9be15504447c920de7575dfe9797126a37b727cf785aeb68158efd48873bff9497551a19fb6da727b4ba2fae2792d8d624efcf4c52a2173eed8c7249a2cdf626dba66ce41f828fc67a0946d316b10bdcf4804593c9281fc005364c17bb7ec82a8894d765189d6f91b62cf6c8da9b05cbfc901c63dddaf0ecefca82510818aca219c847798235d4facfed6e02a6028eb84d21da33abdab7b5fdf6e7140ce4ff70a17c476cd47f0021cb3d661b3f360002e7fd1ae57d5f01dae0860fd3352ac6af5e3af5d05b4237e616fcc381ce5b074c7e593a997ee0402e613aa270654716a2c8bb23ec9aa719fc5ddec89bf83dc3ba353925f1fe2cba8098ad1984ece0c300a26548ff7dcd1f18708eec197a53f3ce301a3bdd47cc16b44eb98f7027a8a53b9d96d59d2778abc3287c08ef69bb7fe8c0b04f5e21b3250ba4409d2a0985e9c9ce2bcdc0f07806cb00775b22760d94a28e67d64b01fb0ef3d255c0d4d1b9ad3fe9feb11290d36f7684a1fef83a20dc4684841bdcd024491955c84e04f8298dc3f179bdb29bd9479270915ac5960ff2496960fe9a0dd86a36c74d280ef95dc351cd428a4ec6ffaabedc1d72722264a95f28c8275fecdfe46c66c1d7ba9aa9a814c032d2b5a0507a16c5de521c7f36912a505a6869eb43e3c7e8a549415ff893bbdbba5bf5122cdb68865a4fa60c2304be423d6c8df63bc6b232fb8f4965f8f7782c4ec2c58c7d8f2c83f725ecf784a0a796befeb1a3b76b5096bb371212b1a9d1d91578c6a892e9de62335eee1ec26e43588a76ee3678b40c39aaad562a3f57e4f465a4148c6f1ca5c368d86daa2dc9bc78d35e9969fa0f9c3fb8fbf9d240c5fad1bdfb3e20e60076fb59fb49f0294635d36681c5db3876a1a130b2e9f7a5a2f91a2a279f5c98a464ce91765d0255de6e9a22de45dfed93906f885781339edba79c02d2d24672649e0e85ed4f9ceeaa67a0d82c32a5e0fb3f0f1a3477672bd6ab973180766dd01a814e4df55966463325a84f0b0b3508e86adaba66198b8f3db3d7909c677ed29d50a17f6efc1a30ad4ed801414ece1ca929795bed57eeecb0523b06810051e4c7564e3c59eed5faa312335fc8cf2d89307d477afec0acc060a145417f2d938bfc925013f26eb68381c68ea9dddd2ed2d0e42c1603e2767dfdd4a17540204de7a26627b5f4c974029f7dde66a67492956d22d689cfac49025465c444dabfdecb5fefcc68eaf633df2e99919f4f8029553306ad23bf432c649013c53f105e6041345023676e1eed68c009f12f31e8c4e280208e1aee225b8dc8d46c1837c41ef7b385cdf95fe5c4c8ce0e274d10b96a358541d87bc7dde14d58dc46d39fdb24908cf496fe5b8901f05427506addca94dc85b4647c5c898157dee2602a6d4c78e0120497d93be8b79d338f6f7b24dceef79421d437008ea50bd27f6cdd40c9a0c7eeef11819cd0464ba7655082455f80156fe6a8a482c3c8a1a0238a2b3527e7fd9df73678015fc02433feade9b7159e30997ce9369ad5a98d80392c59f039a66620d6b0d6e9347f0a6ae00ad1a33eaf437089485b8c2bf77fbd66b58a9dedc0a6c6796df9e0b47d3b991ce1dd12c04f49dffe94bbd154bc5d77229f63dd3dc091ffdbab9e0969b69b2bcdab9c59f3f7316c9e5312dad0c07cfd623bcb7a31c0e7cfb123391c4c3561513056be052445e5cef6fc51d481adfef9f54e5ea8b42afcf9ced53ee960a243d8676e57b5bf9479691fe21aecfbadb077c95a30e12e730c20ce75d00489c4891178e145b04c1ed4883466e77de8fd450123ba7061526c38443595f61d4619100b6a7a3740a9e45bb77c075849891b8bfc829ac0b270da779a6492403f237e3321cbfec4b08473a2ba467645e7435c8479951ecf0e700d547f9b2373e8f0add90e9e6cef1d4f68378e91dc112a5c0e847fe88141d167d7b5896afd8d6ff33c87aa7b085dd697e57e03929b8373118421c3fe89971c3db16e9b4bedb276917a7090d508d48a1567fc3768a3a09ac588bdedcd4930d290cb91cdca29699ca686645916c31dc5e51e014319b6f4050301bebb2e07c4dbf10f2330300cff992bcf1f0eb5b1261bc34fecea7d0c095dfe3a55306e9eecffb6c58d576f37d5f5de039c65d66966e6748b05959d6baecaa4439110b4b31051f7ffe89584789ea554c94a696dbdf96eff257e4863c1dfd12722b8adf7f70f5234bf27ebf8db2580acaf416b1b7e99a7a5b0f86bb854e9f79c23f0bf4cf37fcf5818c29e9507270ae891faf3ffc433789518afaa8ca9d60205e0ad5f497bb16392e8751fa6c19af140531add9697a3e5b80226a0c3600c9a0d0a9799ed96453fd64186916bb2ffc04e970a7c8427ff9e9ab356894db6a2d3788a8324c5d756df55a275416c40a580fa20f369b51947f7ce1d87cafe871c22664532fad5f2fcc0b891fb10ad04faf61d090b017fe0326975d46127b9d189c30dee1e0e5dc437b23ef9e07f8f6252e1c6384fb9b0cfbe2a6cd651214d2785dba1ad503239d2d89cf9b1a9e1d44af0cafe063fd5c195719c822daed5567ac74e08c17b14dbf64698cca54579b19d372d037285f1b727ccbd61139c98c9de6083f30f9fbaa66683f8d7e32e600bf9ef5c293aaa357954fca72bb8309148809462110d2ee36f6059e78a2a54fc8b55dd386fc6cc9cdb665478a62472d1c0ef38288b7844e92df3febefb1c7ff4e01d556b7f6e8cc10cb3e40c23e5ae6d4200e9949f2","path":"m/12381/238/32/0","uuid":"35d726d9-9e65-46a7-8da2-676322f121bd","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_32_0_0-1751540639.json b/scripts/consensus/validator_keys/keystore-m_12381_238_32_0_0-1751540639.json deleted file mode 100644 index 8aaaeff2..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_32_0_0-1751540639.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"de22434db2ef39aef0c1fbec813a10947ab1091d4c70d295eec0916af7a7365d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"06931339c68e85ca70331301"},"message":"2c356ea6455a1c6708f5f85d739383adfcc82f785ad9952d8a9b5b604b26c21213fb43ea19631aa0cd959a25b1d4f23b67e1e6171f5c0f77c90dbde1c0a48368"}},"description":"","pubkey":"0x2b852ac8e2b165b32f3ccaed1cc7debc77588c9d9f3719c5ef72ba3f3f1549c9ae698c238fb03439fab40823dbcdbb9e45201042397a8a8b216f54af05f78f7a1e867bdc4a3d8e0e0f2621ead60ff374a741e0b812456c6c704a6f84c4e0c2ce703e68558b8db174a8f698c8a7154451a235aaad7af6b5ceeee4b900d45965abb335e3b8074edd89b3eaf50c535d68ac16aba05c53fdd2b5bf3d9118ebd08786cebd4cb9bceffd040e0aab64de0c45989118f8dacc18d0de8a05cfa5c345c7482b7bdcc35d0ff3e16c0e8657ccb8e8d4f9ffd1d5b9a2f4cdfee371926338534a09dcf99a11ccc0379edf769fec7c4aaa72c77d31454eb3f64fdcbf0761d59080b6b98bf47a09b72a0273af8c5f45e1385fa5d5a4461f488cf2e9891592c67f6f09601cb2e042e7eac83754e236cfcb788f7be7587a7a0e9863de7dc1eb0c61f286e4e1aecc81b17185ad4bf7cba2cfa21feaaf71fb470871ac15059bbc0a72a568a4482d3f13f62d51c7acbd5937d823c60f93b2376a0b24994ae2570d0a42a32cb521031e7d58d425aa49c35b22e2a504988ed1f18370c227ef281fec85d624900fb52828b2666e699b0dac8e9dfd5ec8e61e805b02e5782b62154a7294cff420193c86c472587e094ac8d0dd14d80b704a3f0b5eeca210c687461ce9490c79309b75d325ca6e5c2dd41b58e00de4d4453b0b186b29694833fc346f9f1580592e0e6a20fe2f3ce97f89ab56f9222b11ba17371fb17838c319b2141adb94edb8fe39a98d851dba8dedb6f574d974a13c4c645e009489045c994e42edeb36aea25842d24f88744032ea40234230615a4e55bbfd6002d1d8f7fc2316849f85b5f149349c5211e2d12467e5824827c8cd92b7c7fdcddc61a42812c927a8aed353905b95f51ff6c5130fcfd3ad05a10d2c617e3c8323e86700176e7f1418c770c1874bc0c27ea18930b8113a9a99b2f657ef186ef4dd9c5676e9deb7e6513eb7f7ad30e8ba8bfd42c0ffce3665b40c57f0322549d5712a65576a2b6d6efe39c14568c3df20551d53fae6ef5b2c5ff315dea6f6e4990ab12be967c96cc8369887eee25efa51a2ae6e61413bfe6b127793fa8fb28ab0e08d5e38f19f8e7b6f1b9a065634ee33155608b21ee0067b5f56b12ec1f8017ed4e0c32119a1be7adbec0e77c27e14c42a86c6abb38cacf706771d78c80906048d6931758b373c328e12c5c139d6413eb72eca439203695929979bc588b38a174fa57793718aa4191fa30ae22b156a57bde52a1e9408ba63ced226788c011c890d7cbdad86a8ac3065b086c3633331bdd7a17e6e885b8fd0746bc2793ce58a480fccddf04efbc01b036de97c8f102ad9b7bb7e3dd03dd22f3d6cff71fe4aa9e83548df518369117a87779a817dc397ddf739afcc83091ed0fc34fc634e293e6c11eb26503ea23deeba1115a3f890c1198bd8a4a6273106f6c9696c8882c5bfd411f8a705c12f66129dba10524e82a7efae2c5268254300e0ff3825b8755663463d4a670d88bbd330bb76c52006dbe89f1e91a131ead0e6838e7e3ae12ea12cbdd7899be54f3223b667ae9febfd0a20967cf0491467a5659fbc28bfa7faba54924ac89be338f544692f5dbec2c4e41fe08ddc99726c80d17e294547c044c707a8b7117b53045bc268cbc09ac9952682dd185b284356509326f909c265f81d5cd34348341b9291d49c67070a0177b5c7688bdee0078b6ca015573fb2af3d3dc0d905924af77d8e969869f2d1ef810a3032835792460b4211ee0d0d3f03ff5950525f829ecf144481677a48438fd6d6d4cb8c4bb71e7cd0eedbbfdc47e961dfd046bda9121957b84c3730b3ee6ea796db5a697a536608734052ee7c19a5870f1cd407af0e5a9541a2a6c62e90d7825192ee8555695e2549e97690484d361580a7e53424dd27834c0d7186c80516ecc1bef83a18adefffc20849e8632c2af22aef77808d03273a37c37d40e516b06361e69599b50325a48810d80aeed3de15d29491f8687010b06daecf45bbac580fdb1d2e66aa6a4eb9fe74a9a2d8df6b37e76a7b3ae851c461cf9338d436e55d9a875b773501189af4cfc661046432a23a85c52a188ba32383dcd34fe9ea466e2d92ea6c9976fd29aa43b60877bf48c10d0825624d2795ffddd75c4e5386a03cfa870f962c5334fcca9ce82ca90e4186d6132c7808324c66ee71372c829c270e422826de0208b48a2b59fb349ab54fb28fba48588ed48fce91b66604a303faa53f5265f5347d48637af22b9ffac20866eadb2b7ee96527c337d4298fed5406f56cb77402cce1dac92e1e51b61910fcfb85ae113d1c2383a90c5ea1e12ca875438e87feab403fb2ae09496064b4507405e8cae3d546b1959a1188d52a8fed7bf50289a04d941d225d85510204f7d461d0678f96155270d0d2f6cd3d7ae66d3ea2c810ecf143082137514531830162c2b90a5b0fdb5b828d8318d4cd7be993e0dd7a8e3c2ec0bdeb37d0b9b1009c32444673fa4fc84ba896d6574b5c6d86d68e33cf8bf759f5bcab4aa869bafcaba69bb8bebc1adb8d44663392e4f042f1e6b748882844cda2e3955fee94d1b4365b26db282c3e96924227e439882032274303199964a3def91439a4082d918b98cdc22f27bd16fa70a965417f40908a964c303f30fe633bc66f4f8248941a5e5b124ca2ab1530b6e7377aaaa3481f6bc10948bd714e6b8d36e76eacaabeeef21ff19ef085439e94aea85f82353e816abd45900e72e3a0151eeb7187cee97033c6608a76f62912ef435b401d0f83522c9d606fc1e09c826b5d10ecd23945f25e61cdf11c7ea146e3928e635d0c00322931e51e2ea5fbe242d085fb9d88962cde484438a1bc802075a29b7fc915401a3f2b5575345ce10aeb1a30adbfd4a44438c7d9fdf2c18dc319f73041693c914dcb44365bde1697addcae7627129d8349fd926df8dc8b560859ac1f3633cacf871dc5dd42c29329ce00f87985172dfbf8950b2ff1b3071ce9b4d51f9a6548c65f024a84781aea9079fe9ec3202647cd78f3c94a51c73b3b7674f7d2e39ef7c4ed46bb27b067b4c230f73a8759a8d6abf616b1ba514be3fc854f96f42147c6d5a832ddb366ba34ec8d399cc524af0a6fa13f64e5ba5fff385c583079c686a52193a11557d123a10e3a48a0df3720bf8ab581b896556b3f13ac9e85b2c8b46da628426011917024b7d24f0fecbd508e33293d87301bc092f73128d655b66f41df797e1ad6494afd3a7ff31941f025d78814dbf00774d9628502511df8dd0616324c4b38d60e5690aa80a5f1b4ada4d7ea894080a6ac493694ef29aed9215e1128f5db922254123238af9f19803f439a31fe73b0ad4f6a67e5a8def879d671656bdc6aed1cf972ec1e499d2c0528bf73dbf557a57f1429240739e6fbda2451900426786f876598d434d338c97e32ebc5b748941ebb0d9f7ad054f6f123b08da5977120263a99d6187cd8d1bf1f747f2e1deb730e450e5abfa45082bbfa45aacff8ccf1ae9f9b0df5159ea0c50272362c0cb7d56eec5d45a457e553c756e343e8a69f79e06f4886d6f03b16ad5f3db9301fd31b39b5f19c6af968d628931e55a778ed5d47ab413827097a890a3065b28f77e2c1e9550f135b00dbd5bbc1a57461be9cc922f6ee8726","path":"m/12381/238/32/0/0","uuid":"f42fd3b0-697b-4e15-b5e7-d067a424df05","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json b/scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json new file mode 100644 index 00000000..c6412368 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f5bbb787356df1bc7bc6b5875de9ce07a9f43939555845fdda6f39005bbfc5fd","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"40f3ce7ec29a56f3c6db1e4f"},"message":"b5a4add50d6b54b489d67c001bdbc66579ebcf1540dd512eba942bea92202a5546d11e9986d502e88511b467bf0730ace0b04cc4b27825ceef53f49d8f644d1c"}},"description":"","pubkey":"0xc4b815e6020b7b2f2a155980a91c8b354106e6591c8d82a74a8f6bde02e3dc539f1d0015ec3b4e10660a8f79e72a8b148affc6222d2f6ec756020322769cb05bcbb930a100e1cca5c47c6012b151c9022b8a8e50561602e39d6f6316a7abfa027b7cfb906c2589def99f0bc8cf0b63f5ee0cf644f6f04db3fcee29354a30a695687b7140fa43a9d0f96f5b3e2abeea93a410dbce3c3084ab27f77aa207eb43c51462591314b995f3073a2ad0b45008c15979a7106396d363564d2ae79063f62bb3869e8383e1527995688006b1e2c5309423db82c0f5404af8a520c902224ee95788464c3ed8c8b63d234f977fbe73d3589a6b144fb77fa29dee95322e19f63a2b30a757d0b086c8640a27ceefe3cc632556f4029e1cf70f36202bdee4c042a296f7109d486978f6c0bd55daa054ad234ce666909ac8b76100bd51b802a31214d732e9f2b9063ada6d537095571d4ecae2a679a848c7a35b2f764e0832f81f527e822ddec7bee78c07f5d86449881ba1a340091b7c07d411652203eba71d7f5284f870bfb130a94aff51a77a6b3ab5c631662c804b77c9579acfc772b9c49f90f130b4ac439d9ef4d7569279353d450eaff10885d52bc3aef671a15770e2b564ffee78ca1ad0d44666d0aad1f0d83ede72cab36cd1287b4d045a9619bfa3bf596eafc09f0e206d75bccb69d661f3659e2bac66218b7a52285adab7a770d9d184f50715574334385777ac3fea9c7d4bf4d6d3954514da49cb3358f39ff9d4af56e3bdca72cf21a68982c31b7c26f1c852e1558b28261ec56cae8ffdafd891eb0756b0f795a3e36960ae99ada8b8acccdf64ca14848b839b86d470feeefe9dbbead15c8f11c16ec12027a04b96d91283326f79d3a2a8348966b28413251467540591ad45b39fa5071114bf60289a98e352397450f46689e283bdaef182e8737b63a4200661d0bb08eb5e097e4ab4b57901c2227a86386b53d9d6a450f6a4e605165082c230b0357f156a4fce774f5099b98175dd0574dd2edcb1f8280c0b5e709678046127b35e6bfb6ef4f115ce98e270780f5ef02430c4006503c65dbf33d9cdffe601f7ac2a159ea759eba599ee9f28a73173282513890e917f19fadf7165bbaa9986289e13246a477d023c95d9e2c3e2c8952dbff64785097438285a97d748be697eac1529d902a9175e1b7a47998f1a2a310eeec717fa914b5eff2af6508d6a5724f0c88637782f742dacffd3b755b67a7b38b065ba7956eae7856523f446c818ab2af51a06f90951404d6b20fae713291cb65b4cb886c1523d72b95c7a577cbbe947d2fdf0752204e512ff4b37c14f651b8287205881f23714f65e64a7f8c943814e0a16ac9dd0fd7ef195847717308000be6b427e7b77a1644670fd6025af4fb100165cfe175a8e6925a532c68bddea46a69522500a226080f3f5b8f865ebb373220bcff8187173276dd186e117699d3b285162abd5b9ffe96de22b87d080237b563c29a46c34beb2e8f257d8e3b467d5175c4635881c6c0fbd52b0d9205418dfde40e998ef2ec47e13ecf09ebfb56d14b480986a40a5d102322069c8a12ef85741c0b0b779c69e5e046b67184e1d70bdf867e45a55890151f34ee3480aeb9bcfc7f17e73861c7aa4795f32c759e5843d219fcf19b5a928ce86eab41b4277339d31da88d0754ccbc53545f97456959f13e506b1a206cbf7e04ed2d58183db39b9b24f39d6f9d6da4f9df843341ba048fa06e7b77eee91cee8da1a618676007b4ef3eb42c3a93de8f43709c1c7fdfa2e96e425f078ef8d249e70701b4bb564b423278a1d143d850e0bd66f3d0382a10eef740e216d56d7f0dd5b5293c52b36269efb35b46583d1a00269b59c327f74321d381873c00b5b9e1e50ea14dab07653048f299c1d4cf1a1b6161680e3bb7a9ef12e3b03f0e75c8ec613c968e39f033bb28a041ff11420d6e06c018380d03f4552583b5930631e25640a1c24b6662693a6b0c2245f9f7703249b7ddaec411c834712d1f56d5374e6497f89922a078631bfd0537faff1379d3c6081a67c3e7e68470fe8338d88868296900127fa0a73e505e420958a3205f03c04cd267b8489158235f3344d558442e2510e74c681af9b6c1ba3054db3e6f89057a458f16a0d964c4a1af080538158ff193dc163d12ba9944872d64f3b250070a3b37af2b0198ed856906cfd6d4e02e92b519f3f7d828943ff3130bbb822fbeaefefd43f9bcf9f8e2232c318c1a669c033465b816ea3fdab8277bb7fb5d2b5f0c081d4d76ee8d452584ae831a5e8c885f6c5093b8438f4513578337d7133171795a22196ed746daf062925db45ba44c96159f93e19531be156fffe394cf89ecb2de24a606de9fe5f81ebde07b192772650182fa83dd1e468c76410fbc453c1717af62bb2fdae825187e8d791bda75b7facb3eb032e7fd3e3951bd5c7e65e9d33dfc5b1598b43240ddbb63afff95b624ef61c30a334a54f7c6f50a4db78614681ff49e3481d861566fba0bfb2aa29503207e2bc59b618321202c1edc0199673a2732d02977089ebeebd1def1369ecdce4e886168ed665ac5c8850b41724c94fef4ca0a2ff58ef0927fa58534009ca7dac92ed7c592fb9808df9fec3596d87c6abeee12c4f9c2b244d9b0a16fd58f43fe68f87e3d79a2244c2b2cbdc078876e394c531a6fbe64c325932f2e6130fdebd3722de9762f712b215c4f5645c795eb92dfcbc5031b9b09c60b1868328ecbbadda48dc0945ac329970c6a19895d9ac5ae3794966c32439080147cbf7007726cfebddda2e0c306d86c4d6f5b0cf8a949ba08ce6cbab1ec183935520419452777ef831f157aca3b9c737a5cdf6b0e76fe57ba32fff65685669fac88404fd8d0d3048b81b35b084954eab5824cf4894bcc19ca5e85f8fd6e22c2f361af7ad187352a1b4ff8f4230cdaaebae05f70fc48e06fcb91559012452b09a30652e92f21ba80bad1e5684f4509f13efbf43713a7df93d99cf1768b5306019aa3746244e36bf3f5680a0dd57a851d5173c0be12a8e46f1f0e1a7cce912174a175a791d64689a0d813bcd18644a65892faea6525a21655cad58ca0bffff53e4d8ebd06b26e1eeba3e9c0a9935388483577dc6fb8e24fac55b5938f4ce60f5421e4b5892524fb6f3eb1fa498a8655078df4cf9bdf8f672de9e0468b396dc07241c6948089ad67e1297ed7d75bc09efcc582d3b68fbb7f8e23361286da6ebb03562cfc91361c258d7e75ed783a4c1a986c74eef9431acd2f4b5a6c687349bf0a9f44ff855e19ef9054c2368c100eabee517264e835fc30eb259fc54ab39b779a42b3f83c10a92b93caf774a7e130a853e2a494d09ed269c5f86072307093fb84ac187076f6fe24189440cc092525f7f81e0c2514bf4554d4a4835e3c2be962bf4b9802c3a4c2de8c49d45017cf127b6fb162d8ec3be4c51027ce24e494849b4e0eb89cc244752f17635e1348e707b1992f420002e38c2c2c73170d21e61107983cc4085cc1dc0b1ad982723adb36af4956585eca7de1325f40c84f900240b47b5b62592e7933776368d57d6779e10319038b83a893c0f259c4df55dd0bfe89cc586c91694464fce78b3fa4633f82cc994430f7cbe56642073b2d422653d7bd792d5e41a8968ea62a38f46be587c","path":"m/12381/238/33/0","uuid":"09ac2764-4451-48f4-8b89-c2a383f30414","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_33_0_0-1751540641.json b/scripts/consensus/validator_keys/keystore-m_12381_238_33_0_0-1751540641.json deleted file mode 100644 index 4999aa8d..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_33_0_0-1751540641.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f91475559aa20ea8bfae3f3bd3e9b7eedfd3440a721e834bfa1e48947b9be91f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"2b3b65e878440364be960cf0"},"message":"0c9d14b84df33d77afed27b0dd82dfbb5464548a55ed9626d73f4611ca43dd1d3d1024048dc7b72c65309437f0dce16515d3fbb62850c9da567da181575d2057"}},"description":"","pubkey":"0xfc788f463513efa8e65a95ccc9ae05a4f8ec46df22f61c0bc58ccfafcf54de38a50bb6e8718298641c36d160d00ca77f7bc2c169e28dc2bc310623250c10821bededbbf11cdb5b43603fa9f4901c9e675b463d8331b1d3d4d2fb78ff4e0be02bb71f66526da89a58f02d81a1c20853a5633fbcff5984f19fcc43aeecf54d3e99d0037c239a804690ff3c9cd48a4dc3ff6e5e68d7aeba27c8ab114379f8c78d81a7a7be7fff2dd7469fa1ddee8c2759a11b2ccb33375549b069dc37cb57d88d531b1bc9b691c61afd844a1c5859543b4394ee82f3fffc93f6030165416058de7c7718c4fea6d60c83ba258714733e51d254b046396e2674f1dc0b887a56a28a7be3e38ea91dc3075058eb825a113288dd3729950abb8b41baad4172fbc1884d6e71bab7c71c849710088245ff36fa8acb55d08d39e907ca8a2f9b103312de632766f6b3d8bfd9e90fb0ee77975eade059e157574e17bcb28bd6745827b4f764ae7cbaa71af5569cdc16f05e15a51798453cd1846286b2d4f8932cace055857e68f2da4dad1941fc9b7427e39e7e175ff16998022cd56f8be410dad584b7eddf439449d1d4a853716dbe6417c2ffb6878b895d93c5f2360e522911d554e4f605da1a816bcd43439bc688ec8f4b67d8a05ee87b61b4293319e18064fca1361552ba94cb6f35329a5b9c2864cd2b15b1992e6672eb436a79fa040f175d45fd1dd80f38724d16c629a7615c3613ca02a6c7550756eb1452a97cbde65bbc38821b0e5eec239362ede5edb7de1510e5afa7b465cb48d9c28a83d379918e1fd9cddabd1dd35b02e2133ed9732622336132fd7aef53566119387f4e7564fd0571b0cccc4048c7ec27200326104a91b16a1bb238cac83cb19a2387251f131c57bd708488f7104fb52e7d0a2e110033f98b6ca416efad10c03083b04da73d6ba5204458956127dd3f988df16d123ef2db151fa7d719bf09a08fd52d22af41b77cd04b2ff16a0dbe6de8e053704c70da6fbd1b5bd0fe4465f6416ab1eab025108b07acec2f47beb32a94b1455541552a3233bb2fc9c2e1b59825554513070dcc924b6698addca2c263909529234e0f6b4d464927c18d0b0c5a6e552e8363038ebc79134e010293dd5199732841590fded1ce69b505d641dc8d2c1c81cfcc75b3424f52b2c4e8881412301a63e8cccc638f10e8d1626ee29b1bc38da7e66e65030b9ca8bf41535402d253068d81e9b99accc224c8b2a168ab20482124e234ceeead609f61a1d984cd925b2e01a1fe0c883b37fbd41ede289d477c8be73133ab50420d0c3f8bc6e31c63713771ac575bf3e4df11fc6e702ca27b704ea3ce27add7d00f47ce06ce561a7efc2249e9c21a759fa79865273ec8eb70ac25855a73a9e55c81c537129604b2a47c88b619061a49c7a1f05812ac03e7f2afe01e0c45d1c8cc26ae9c5a06cf91edd9dcf0ed9b9a6de4ecb169b980fc85f9f8d07cff5773318a68e94b9a2b27e68c3bf5df60944601d70b2bce5772a94aa70009dfd47c4cd3a838fb6ed323be68ffe6195957811ec14a20cd9c859f6dda44e9fc1d818fd598cf62c36700d92f178960e427db9e85c0f3077f6acbd7f465a3eae2ec964a645804214f536fe8256f03e8f981431d4206dec16eb6a271187031fa705019342534e9058adf8a40c2526fbb3c5895997338a769e02ce972d49c059caed39d1cc3a0151973829dcc00bffd114f87a031511f20f4d16644cc9e3696abd2f491cfcb483ab386144ecf3146b0226dab68808d0912bfe8afe3aa7d7be76e3210d6d21218819b4c8871c1574368bc1b8703b50e62916dac71f836f5cf543ac7707e57d15ccbb38a14a7904e977636d9cdbcedf627adb4a10ee1a160857ddead62047bf1ab3ab5cb62c2ec2569198375b2c44e23dcdceaaaf8779271f707cf4e9cfbd50f83d4d5ec84df4968e49377a150fd2fccdb9ffea2ee9166663bafeb3a1064c885dad0fe7acec038d1e7106e3cfcca31d0155c656073c677e2c0659bbd930178996f6c54b6dedb0bdb92947c6cf5fba5a3d9ea78febbb6093224ef79a662b7ac79fa95a1ca8eb625b386f22211d5b4df9527ffcf7edd5bf62b7151320b8eb34f19af0c35bc4da2407dad24504ff2116b2ba124213f50bcb4541e577e54dd5abec1b0453afa77f600b1d9de1db726657a2f7682bc9c3c673859b308b2c48674499e1b9c7ef290ec53fe6083bfcef1270c51e4e349295c560f926008e15e7e8c2fb473c2011fc8b9516348668f376e6037c2fd91740d800deb5dd8eab0ad4f7c7b5aa9eaefa685cee77e12001c1c61d2aac9885183f897c4aeac46904a0bab4f2321e999340de8cba0a267ddb99a0f48b376a64d721f72547558836527121cad1633bd9d45ec5e9d7f371c40a251718b465c2054a4ef845268accd91d7af22270ce54744766c084ef7df54654e105d9fe33f6934a1f9d006468ced5312085cd8f72ad7bd5db5bcf90a44e782373458de6f9eda87ef63a905f366adbfcf3a8ac77ebaaaa857dc8be039a20129b8925a61697713947469f7838daa5d41630dcdf3d7c340e5ab0d15bf0f08e1d0667c9c11b04de99d3bd43c8a6ecf5df8d2f37b1dd076c700d863fb5b6b6386b2e01b8efd427013a7007e7213870102d82cbb0057f38ab74062f2d415edd2adea402f596fb8e6c706a59098ab667d6ba9a96e131daaee1a32788d71499bd729bdc333b4ea1010b4f5ad783c0f06bd5307f04b9e3e232ae5934d674be7297e42b1d8c576f6ff70932798c8047372853037869947b2be1e67a91469993f9c35f153e730c79dc37b66285bd8470e2de273cc033ba3c1fa7a208445a074e4201e6886eb4ffdd9c41f26c88d116446b156e057afd13d620cfd1cf82864341b4ceac400aa9946b56b70470f08704efb1c210cd40fb75f8dcfeb72653391266522a7b4b6a6b82ce023993279095cf461c8ea0d3128a0d3d4390c87e654727cf7908ad5fe25a3887f4865fb3f0d7343f6378c12bea1066cf816f9f78d0b541700c2cd803328fd14ecabdad0b1be04676687a9235bce2c19b8b561b774398ea430ad2c87ddfddba80a14accdfe34d5d47eecb2a11da6bcbd29565bbd655457a98cc4c54151f0b8cc79cd61319e29e360f439360aada800228fe6f6984c7bd19720f55729e578d96df8bc84bd86e5d48368b8b3263f26ddf17e3d9067b0dec8a0d7bdc6f3c21b1e15da87c6019e468c0638015a74bc322b30c47d63af74e22ced8b7f83cf236251c3907bcc02019c36f9e45b240845e4205938c967bbe99dced5255aa5a26d1d2d6f559f9416dbf7a0f9a10944abe69930ed3cd6b9ed01749d4d57369aff9fa2d6f684b290f4e0786452d68762df0c3ca938924c5fab0aaaa1c5e23f85b6b567abe265dfaa4a567b051230586752727a9dfa82f0992bc1a221f846d34536c88eae8369914b9695560d4e799b0d9a6f5318a193c022c9b83ba18600728032de598a9bd227bee89ca79a87ef75e1ad72ee6f508fda52c203e7925f712189c7eeac2fc894b472e59c5b536981ef244e8b83e0ac9538d30dd05467efc3d0463db66a123f58ea95d1b6dc237f89dd52a35e22c78a68bdb6fdf27724a2fc898c06333aa892a5c2ed0f698911fdab2c3e87fbbd7d7776dace14a3ffe295b0a8","path":"m/12381/238/33/0/0","uuid":"55cfbe86-5d8c-4d2d-85be-3c641ab5c6fa","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json b/scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json new file mode 100644 index 00000000..dc96f518 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4b1678915fec9e774c795cdce40bdee8d55375d346cabda0886e32e9c8f520fd","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e86bafccc26ec5c2cc93c48c"},"message":"e789112111aec1f837a6ef602791df8e67f8688c6e6d21f3622a6cf13006012d0bca9b59e9fb948ae0f2191891252aa8eec9cf27cc41f676e620e2b1afe86bbb"}},"description":"","pubkey":"0x2940dc170427e1d57de833344e35b49e6cea1b7eb70be01957edd7a8e0b15c66acdcc72d7c888c5365b0d8f95678ded73737df554da5b68689fd33bf90241a73ecfe268f695937e09c39eb7b5aba092f0f585f7c0fc4ae7533977d996d2d89cee53d2037ec6a2f1fc6059fc47e0d4b332f5cc6b609a41215a5c7f62447403dd806bc95144d8f8bda18d3ec7b31bab1dbb1dafa04f573f42a3e274c5f6e15da9b94580f8d0121e631a6dedf42db36a94692e96737a77fe379c0fb131747c6c1c8287e3292ec4658c9c79ff4a2bd4680d64b1b8005d28335200be9f8be335009365b1bc24d7287b4e72d8ef324fac7eaac95da556d286b26ed29fbe2abfb4482026026aba5f28d2ef70feed353b93b0bd0d31c59a50fc9720631ff16d47e67cc89cb0ba9ca3ff60f8dd9124d9042535beac393de4e13570a9bc26f57a5cdafaa0a0706a2e29b75bdc6f66263976a11b75a7ac627c94f5400698be130755041ac713dbadd74d7ab0720d5d8831c6f60320fc20018424e60224fb44b0b0f8e47f6c0aa8c942142b420538910c3382d3f9ace9a7827c290bacbd2a1caab5ff594ba558a57ea6039efbd6bac900095e108807e03e1912f7dec0d569879b0a098630c13489ab85153ea6b740bdfe5d5c062d16e3870abb8011eb9f51b8de2cafb36276de84544e9647e8c7d7be78f34f4f851742de2f1b0501ae31598ed77d81efcc827eb0a8f7cb8c076bf64e9f11e10d73e99b816c44095c919e84e4cce93492f9d3839033d738c416921f81ec15c6a71b9bc9fcbc8fca08684d74bff985f4e40c919778d574b68e8741e5dd3fd49957342b6d86f81445d4859d2865b3b528ddc5cae14120d0b0df28f938eb8fd462a767c2f1ad0e4194d19728b55d110218bceec8f3b2d21652a49a9e654e825fed6b1e56d947d1dcce4eaf42ac26aeb0f4f1b32f5c11840f57ecaf8141a8a4ff8a5233012b22742ed6d6f33abd4e9b26ed5d91a627222c35d6ba2f484df2a58d89e56c9ae5112809681a1b34226c71dbb66b50a5ea6f51a168bcf368687fc7e00a396073515cec5e43103bc547b2ef7d513788b5f760c693c008fbd611ddbb1714bcf63847f40b1dbcc1895df8f83112e9dd92384c9a63b74464b4982ca5e542ea891d017e0d3247e8e45b1fe5f58cdf23064912b810b95a68501128f48346dc57923edc5bbbd0dda4d8bfa03dc5c2d5606ae9aeb9a30262db3d0dcd97a9850ce1663d1b99fcc570804304ed646cd5176d822cf20405994ec6463548a917839f076488eb1cb5e141a6d1fc009e5e970bdaf913bdd3935bc5c557760a0c70102488cc8020c19561e7456ce04f253ba1ee23421d88d649ae5662bca5ba9d78577db124a6cd8348be544efc35a46ec9bb4def5a46ecf01a2ac8074d444c852058684bf808178b59d5c0da709f462c98568352c2758030717dd9046d488c4044b46341439802532e7163a0258e69fb356bdc15e559ba21a073b437c4d06befb98d937d567dd5c24d3d11f6a476d11d5f3c8401b3dcd09a3c1e34f9786effd1674405e538fe1b8f4673d77f0435f0b8e23dd8a3e0738b735a4b541ff0b2d8a2b35c39a2797eba414e11207cd2dc2f7e20b03163e2a5dbcaeb760b6e14263dbc398136bf4a36fb30b2690a1dccaff3b7df29a5ee56343766d7dce8313cacf5e1da16296bf63a1b7524ab906e9fec569e09209abf5f6162a955ec1235ffa365fcb2da879427cb0a193bf5adc4f51123c49e29568d5b02fe01292ff73579c78775fca1eb31d6f4f1337e79e9840d34abf753f038843a3d7b73a368c7247b22f55666fb0e0055e55364cf3279f826bd5c7fe32bb94a13c5fc3510166e6c9bb195be6c67d792934836ed5d8e2280fc8591f6343d7245a6a96dae8ff40730cca465c1ead2a9cc75dcee9e658dc55c6e8104f122136eaf9ddc32ff7050b6a12af35dc312511a53ebb98ad04430912ef41a05cb9f4addf6e09f1b3c239cd80bc06d4901470ab4c69ce08e8a909e03fc25f691f727b0fff8596695e223d45f1e810d3459977c368172834cab471179424f6c4ad4c16e3c65861fa1b47186e66152c9151822118504d54d8eea90df8e96bd6466f41c5314aa26cfdc0f47110efc8c03c08db7c615401ab81c1990562681d3da0d013e3c62ab52729054bd7f0992fbc190bd074fecb99f90dfc1430a1a8865ac48bd38dd382013c93c1531c90c02b22c68c20041a422d77dbce3790772132fafdf85e977a51be150addc40213aa9d4ad87a890d9eb9611e473a857bb7eed0965df1d9ec51d2c8120e021e131af30f18e15d80c7843e5aae462bff3aaa9574c3b1a6bcc76aca76de054ce0973fb86242a52de8c0b1fb92707705db700b170456dd004e3fae2b3ef9ac4603331186bf788606b32608b2c2047a4413a73af50c4d50f73cc35392e6c2d9159071856b1b68703f2f85c3e262c7f234083faded9c2ea5a7e48482127f5ee5e908ede1dc03e0308833047bb7cf513f79a5cfa180743799630296cbf3ff6b639020a30dcbf8b77b9a9f0f7dc69fb6e8ca3b65913c3b76d1bc11735821f693b238fcd0985b6696358b01175e5355c7c9053990b80924ce2c8381376d098f7023bd84bac760d6ae5bc8a44dceb1e54c48a0bcfaaaee1569f27b13142dbb1c7aaf813c4289692c1e0a4b71af80d30b95e9565d452bd9bb4f646c4fc513ef46d35071602f7f4406696c312a455211a7f653718ee586f3f1a679689fd86ee563ed44ade1ea5978c7a779e028f474883a18c67456424cf6f6b8b0a6c7015393924c0994ecc50add1d1d196347d02d53721644ea071e77cdc515d63e1dff39f1e419f062c147639b331c43c71d0b1780e1880b40e253441c1e8107d8888d426ca3a10a887fade2b5712deb0f3a1156af3abefd164574dabab333544fe20519fb1c73d4248819cebcba407c85a465273ce13bd60c970bd98d3d4a6634fdaffb80c39a8123bc39061a4d92e63bef8145f0c3e15d80d074071b519e6d11b8eae458a87547ac5bca1d7a76edfdfb6f7d47daf1186bee7ae087671a0f7a5a4de2acebbec4146445fd833632de0d7d513a65da255f759d5870eec3ee2862bfea26b64038afe797e4a3664dadda7eb48a62f31650f8aad637b3c9935fd36989c1ffa752d93dec4419f2f7cf9740a96751548a6673fa7278c9252ce958e29ef86a8cfecbab6ced7fbea106d21c6c1663789cf10aa09651d062d8888f7293e6a806130ca868f0d07c5f36307fd3b64cbde2aa07490863825c06c2e79ebc15414c2750b30b6b3ef88c735a0ca029fd864fc0298ec76ad737bf601c70042d8fdcd0abddf54647b306fa5e069f3210c9fb870d67203c2a149ed2b90b7bc6f96ac039ca1178a823a10f329c721064565789dce4a25f4be6c80ba8242f8c3f371af8a95164b0c4ea4b101a5973cded768260c4d4798c6e5e93b65c5f76ebd9ad6af2da03f2fd681a48bdacf84af6532458d1e76978483a0153037f9275640689304f5eea15577edc532ee20d57984b02a79aead87990f8803ee6580a8d9e934f4645ddc33d59796cec3bcc9077f87fbf6735ed016b65afd1504b2a355a057e4173d52a6def0ef916a8180be31f3e005706b48ce1ee8ad78618b9d2a4c62a5baa973f260bfd78d9eea5c546","path":"m/12381/238/34/0","uuid":"7b0ee01c-e752-4894-9112-55703bd37a3a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_34_0_0-1751540642.json b/scripts/consensus/validator_keys/keystore-m_12381_238_34_0_0-1751540642.json deleted file mode 100644 index f95a83e1..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_34_0_0-1751540642.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"2d9bc410293e32cfb53d5f412137908f006349c99f99a0498bdbf08ffd86f5f0","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9799f179a68e95c88992ccd3"},"message":"4c806866f7e83910c7168c2c181483f315344a11194f48b1adad6eb2b162ad87c27e0a667d349d2f77d41c25d601d6ede45f77cbb3db7c90b3e008fec9273961"}},"description":"","pubkey":"0xe28eb91c12f435cb38d939624333dfb2e7b04db593149257536f5e5d3110b7b3f57b4098daad043c7be118c93d4209f3bf906ee254e4da634211a1c3452ec3b5733865c89e7f1bef288a2d2e56773ab4e5b5f10cc2cc941449d0c333031c59d8988a7f3c39fd8b17edbe88901e7a251ec0a729843c43a9756c947d70a5c0962bb89bfee6fe1f6ec18e0f9411f9c208083e8a377adc5c0b28fc977f7ba38e22de1e1644a43bb64be3a8cc1aa9fa5d17c2fa042f9d61442c7f1bbfcac0bdc48e67acfbac2a97e6a49e05bd499f8bbc734d7f92d1e9e8c6a919d869628033252f591a9f3a407304392b13d015e50f21a1cfcceae3ef368b8dcf60328515cdae46c2fde96159e712b13d1e2d63c80636289859ac0e1e4b70457fcc894b8253e7ea4d1e1ce91e55da21f02066dc8c5690fa0554d512a1c3159a8cd082cec95720f2bcac00c344b397e896d417f2dced03da031acd60a50d478e085243360c8f84696b1f7a1e229bb0f2b4dfd03a1af9cf412be6cd466cbe6919d4b87757cddf7f4d0b1247d76a9f661aa7dc6a1d4d912ff3986a0804845b75ea841231ca0b40f9410e4d4ba69b6b777540362f4692330cd09795235fa5b6aba9d81b08fc28f6725c9c0b959d9bcb7120dc47b3d628fd1555bf8c65c1de45306cdcf645ab18a2fcff8c4c8af2474b48d7a7310f83cc4da346b234d4b6cbe3ed03cf3aca9dd85c60eaa37866fea19d09da4bee5a5f1447e77c6c152ddf52063126cd812ec1f0f555e731a6e2b9d23a7efc5234696ea86495c9df7ec4669ba01efd5afcd4b311af56db3b601bfa21ba5c8acaa472bde49483a1bf10ea0ed261e872f4b96cb15e25f3e6742d9df3dd98caaca880f69d26208579ccb55294a90dd5f97934df073de8bafdd4c965b20e32a3545d928fc4c39d7dc9b3f70beff47895c8c7d3ab00f849223dcf2400af7affdb75518f10940d2e09f4c417fbd0912ff6c4412f497a2ce1b7c74929ac1678c97d7b977df2f6709f6fb291dba59ffa17327f7cc9b5830ca10a39d38ba765a1cfa46d036a519b5904f7a9c2d98495b270a26711c36c3817865b2c298fcb9b3ab9f36095dcdcb8ca961e49306a3f234f3557d5647280a9f996a99d3939b51325cda458b758d4ff3e9b426e89445b42d4ef202d1906da7b7968ca506dd6177cdf197e5bd38317a9677fb7f9d760ff56994fff065f8c9f98a6953805c3412fd38660a306341fea36f0d0ca60fc709f44f423b72e07cdff207dc3c9a5208a4622382be80bdc0ea9fd1c28488c05302d04412c9feae4bf46f411ccb949f9e7d1c767039a1f799a46ef38bde542b4fac6184a307ffb749fc00d06a84d9064ec8b39977c3cbd7b3c750efc363ae13b3d12625b47e1e09268cf0a3abae2f108f41c13da740417bdf886dd4c92703410681af3acc2ae539e7e3620ba0a71e2585a762b64bd8134b1a25538910cfe39beb13a9264c340d9c349a2f7200876ce8a903488443856944a4893e181c481ea09f117740aae49d1bcdc4fea9a496c8283ae9a17efefac9ef8cb74612846cbff60ee93ef5563105922e37241e17fce84ad6549de1f074efa7a89760edc4bfa75f0d5a434c272c64b77e35f836beceb296fc32151409ba6d868a3fde151c04c9794614a97dcc475d95d150ccb2fd863dba1b25f90d9077fdd734d3787b3e9fae9125793078311acd175d4cfbe586f110eae1345a0191d077e14cf7f61d4e7bb7db5dc405d40115a07104a0acf7c40457952d3d5965ad1cc2fe3dd6706103f9ec14b9a8fe2f6d7d4f47e9857cd58d862be873f22cd1ef4cd7faff15e5c5464af56ef21cb2bf696418450aea36117b8ebf15c3788d5472d7c54c100b165be8c1e2fd4825b6ab3fc6ba73714c59c78fb2cd4d26c90b2262ed1aacaef790504d927985d53ac20ecbf3a42080cde78f550dcdaa72a0032f574323d29407f829d71fc3fe6d10a2499752e7f860dc3414c2bf6479be0249fd52a116ce848e18f35ea67137dc26fc4043a4b993c4e50823505443027c609523e2a5aba01d25062c5a2afac3b7f9d95da84082c0631ddfe9614a9d430cf5af5383f8bdf6f6f7160be49e9e45dfc1f7862990cb400102cf94c305935517dcf30f5c30b7ebed615124c0a8afc73f3b0d8f351e8722fb108a7378e17cebd840407efb2dc9a89f8196aeece6e82df58eb1910f5399a9df70a5afdee6ea1e0edae1007916155c940e05ac5a0c9e2f763a019c07d6dd147fda8b68e6ea1d9f24133c4c69b2e4561e0b6e4f45a141ab6fd49fa41592aa94c3592d0f88d0a2d2c2b3c0c6990c70c33c3ff7164e511638083b4b1163330767966d511400ca0877bea35b7dc267b40f72a01b3a542da3192d46bd9a2c3da75e9f160617e9e6c8642f6c712c29c8ddc22551de8ce094856b86a219b536b083d585737e194cdf9ec3506813d28c201fbcf9905f99e0dab43219e55637ff42e57762f17a3540cfd327e8a127e58ddc786466c46a03a9a2546c8721dbfdb0e9f47d8efbc964cca5f30808e6c5bfe12ceae7a56f6527aaf12a0b229662f54fd7bda4e86538a343400ff1c2ce1b503dc168d3a6aa23fa857bd49914428a3f0c7284c7397164385c4bc8c9e4d5e8c16f0c711f5d6dc1d14b6d5d4627197d0720d465232949fa94b0cc54e11f1043bf72db5c62b62aa4745c266af15ff37b6c0282b9bbc3d7a3d25784789765992211d5c37fa96bcb369dcaf451ab0556e524f4667baaa506fe4d89be2f501a37704b9056f589aeb710cdef38dde13ab8ed7cfd8883a0fb0b3d62487f5ef90cb4348642c5c231cfc973113c1331bd5fe2d4acec3ca80e112a7db42f5f345fec71efd2c848b3dd708d0e90966d273925cc514ed0f8a645dfbc6d12aed97b7b2414031b799c7052ff2cd0b72db41d34cf7ff360a9215dafbaff0cfac761f88482792eb52d7ce850b641840afbf0f3bcbf05b80d612402b339369dd6814ee87cd96a597db4a4ea4380fa32f52290c91f7e93ae3bab0c402d07db9bb3b307506295cba353ca11a703ccaa36e084ded8d4071e06f7b21f5fb7d76f65729f3166eccbbd1d55637c6878b426ff3350a383bf59d6171b2ea58936f6ac444d269d17684f7d178c8eb9bfc8ae0aa9bff2884d49747084f5640882a022eca17e937e9880fe709df56485cb28bab637a45dd2eafbd250195f18ccd8b65efc84d22eba5f5eac39838c0f8630cef9ccd42b5aa2368b436b6457c88cb48b9017dd1b052689236ef6c66058497de3383ad3e53ae786e5414e19ec07f23439b33a03034e30e09d987ef29e1601e20201be979b387bde28984d69afef61fd29683ba0e2745b271472813f0f337103a4dc7dc4d638bc5946e5a233dcd8d16704dc4fdfb11fcb1874531307f41be25d3fbcc3079e6956a236f8c006ce9e63de802080b2dbc923ecd077ddad318a7366009824fa269b8da26da33419cf6e4da1531f89c9e71cc379bea84db1b67a0eb784c7056af03b3cf00737560edca02d01e222292960b5cb55a220be3393d3e583fff03e6af8f670fa328caea800cae071ef19f7cd9b520977a61d4080e7b191e6e1fc4901634b686cdfa920501c48d28655cc5b105b16b2b0b6cf3ffc4f954db6590f4d68c3ccf603a059f05c61d4a661c2089bd1eca5e79f424","path":"m/12381/238/34/0/0","uuid":"75020997-fddc-4a46-8092-f0bece7f4363","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json b/scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json new file mode 100644 index 00000000..9bcddf11 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f62c6c9f84e57c68ca569cafb5da6f5329dab936d46da8c8edf334d9d1128eee","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"8c38ea58ea68679610edd020"},"message":"13d9601e9f8c0a971564d4aa0748ce3294ee0453b50531ce52ab3fb406323590ba0d885b27253de3e839cd0ce0e290f523d08446d46512a6a7bfb4f9e06374c3"}},"description":"","pubkey":"0x193f4b22b6344a5af6fd404dc5a9064bdea41666d9eff70d420b172f9bf13e24150d93d05e316a46386e900760389135d9a2bc1f3b12e83ea16ed8412d42619bb9f100808d38ace3cc4d078cf33571bdd7c667404e77555cd5a3533400d71eae05add0f25da6cff078805805204192261180eec88087c78a08d31cd6a394ec696cfa73b34f5050e62ba443635f79acd4b79a036c022dabc286030efa0e4086091a42347ee0161eb736e25a65a61f7a1465f3f43ecf777ad3091865cdd0eb582b2fcd9fcbca132e5f9f409ea332726b2aae716a7502261612265739e6af602eafd831805a29f99029ea499de9e0f3e3e2d318be5599e4a26edf5e2997f415fa9a7dcd298a8b46e176e32f33c8f6581f8a786fd3c76274ae70118313b5f8340923df9e4f9e5502080b00822f5dc1df63efd454658d3ff4ce2a80b49f21e1eb602c7c0a1a8617a308c8841758af3c402e4d60e00300e2313732c7022697bdf8f837a832e60229bce953c442c4ea937c001bb994a9598bc19caccc61750195b21689f4929e7e5e570a3076f3aa9aae5d25d3154e3daf5cde4cb4334ecfba3c12ffc19a3883be83ee796eaa22676070c5e7ccd9addc305a15a45172e360ea7cacd1f6f29a279806d6fed696c30d7643f4530164ea62fc71939c36ec298a4f0430b9df35324b47ce01e7bd843188cf896775490a8b58132aabd7b010306949dd4b3f37c6c4eb778645d52108cdd9d2381a7e1d772b5b734378a4c7b3fe43a770cb191a187bd10696ff4f014434bd0ab5624e53eb18dd6fd4807e47ff826c158c20d6dd6478c8eb2c3ef8df00a8affa8473d0cbfd16fe6319ffcbb2bd604efd557d6fdad4ee60ef63d2bb515440cc5c3e946a45dbe6bc8c387f108362ee63e5a84edad80116e7d994f0068cc8915b6d0724853a56074f721654d9fcf070e03425ed6d579b3f818f80e6826cb21fb5bc9869f3cc725b99afe0b77f4f12a07482c350d35f1b3135e6eb4e3268ad398733021b168bdcb3b91c9fa9c74e5e4e71cc1db8a905e81b0d1863e8a3806ad338e4a48efe6ce0eb0f49f92b4624a2512ae6ea42f835b9c012d67ad429ab1c516112a3f6aaee398303029fb24018b2b755d40b182e344aec6cb3d33c1cc73f775a727336a9bfd80e207211be064a63e6d107ce9b53b9c896a73d744e760ff3988e24338071baca41f36adb1e1f1ec9f5458d6cd92aa6e6de992620c37d1bd52e44ab831e5ff844ddf2aa97164d8d0db9b4c2b88d4ca30021e10411bbe34167a228209ab1fdaa9d985757030015f2d08b92d6a353f7a815a9a847384c7990b0fc306265ccb33bd3e6cc63b3534c5d4da370b2159c333ff58fb81d5051d18b313605deda633f1766f36efb8015af390f854e104e18c7b9f69029b0b11bd5dfcc26e32d9eef0d097d66f948fa98bc852f68a2d010c8fec4c59c645ca99e9aabccb9feb87d23ebd93909708c38854733c349a9290e29d9c6f755a4116fe717273b2cc1bcd12a6a5084bfdf362ddcd6eb8128c93003b145c3ec931eb3197e8d42c5310bbd1571e7872660ac49042940a017a8cbc03853169ed892448b84d4bfee9181c3761edefc7e1fd4024bf6028cc61d722ab9b8ad7dacd65b26236290bc923d796f1e9b16b7533f58d21dd8d492371a7855f1ec9c585aec7492acceaea22a8fd8a1192ad27ab0e8e3f293b26955fe81ebff30bc9a584cf72d87f4928a5b7e9da09bd6d0fe217bfe299c5bcfd6ffa8d1b1ac00fc2a394aa4a9f6207112485c1c4af80c600ad84114f8b3209012f66ab0dea6a469c6143d101e9684237fd6f0f59c256d62eed69bcebe1ca6f7055c22f1626abafa5f4e0230b1c2ee82c064715e89491a1882c7fe5d314195afc7886019ff4275c99b9838e0a8342082821d2b519c5f0d47202071f1ddabfd184c0aee59576903b3256e11928f0a28e9605516bd45d8ac327304642db93abe20613b6a35d3b85cafbb69485059ca47973d7a6407c180244b9eb0ecc0eff1b33fbe28baefa0247f467b56bf37e05ccd199e92480dd12219b6d7511fd536c334efaf46e755da02d1ecdfa52a96cbe17db2fe095695ecd8d8bf15263b9f7d36c28fdb291cf8e76a7ecc61f1ae3af147c566b480b2c1ce1e8111587367c5fce7d67a62216bd6e597dde5e7d5bfd71f8d17f5f3a925d740c7bb75f7dd5a836d66d22a602054f53a24514ffb13747d879e2a96b67830eaa7c9a2d0aaaad5d8680426d1d9dfbf1998164e846f78796a42520cb7f928aaaca047216c6288f4955a1f27ef96d9266e2eafdf2343b1beff7eae9f6b24f7052e0a56b5666e7f8dac2dae860756b70d9ef52a3de74ee776a3f108504bfc7073fe10998a7d37be76e3b19649d563d63eb5c2507794c8543302575de6c6999173b2adf9153700179b924686e5e2c2c0ef58988f0d96617c6e7a13c960e162910624c092138f6b1cecea7e4b137c9c59e3a8c31ba833c0df68fc37c82000f03e7e06ef3910665c936cc83bf1eafdbd76d739a02da34bc4fc6da181c0088274653a5e9f998c43a05dfbcae5353965638b63ef3f06240fb2e4612692e469183b1e52c36869b76ec800f72657a580ba1870a689a276a671a059587ce792d0973be465a161b297b9498ac16b4ca0a778ce2427fee689a60ce21ef9ad88dc355271df3ad23ea487b87397f13dd52e2399d79e11424a31472ab90398ae2e4d3935309ff38dcc9261515bd704cf82b21164d5cfea23544d96f612c62d11351febe66a4472b59c0896c9029f5e1ceb1d1f62e9b60285da25697a47d90c2c18a0e5d66594e8bdfd2ab8ca00114a8cd4bf63d6e5d3f30ec16a97c2b5cfe887a99ea6590cfebf64a78b8714b5beeb2c60fe4985df315102e7a0e8df55de225eb2847125a4fb473967bd476726972c72683ff6fe1f25856dfe0ce85cc0652d44f0ed1997d327617a739f80f6c4555a6132e31bde87a367849e3dc08ae419db9d3691fd6a82f172f3ef2d31c15d5974abcaeb58e4d4b25ab1aec1b370ddb961f50aac86486d6009fefa637c37dd3e42e3ac32abf3cb89a44cb28de5ec9ccd855ca05c119752922c6a6c94a72bf8b3088b6e41456f0bffe679aec37174ccaa4997f0dc501c39d81d1f48afb04f2077ba107baf35f47df7d926a0025b67a564bb1bdcbe06bfb26a2d9c7e2da82ef14ba800c9b1ee4a7324eb7aa56d2d4ce14b76839e047740c8f0b0919babbce90c15117cbb8d2ee75ac580792b7c76e2459cffa81f0ab6e83183a0541ed7a0b53221c20185b9b8078acf45e4d9170970e43a5f002a24cc8c6ce5a14b88b00657ed9097e3ecbadc752d30c0e13f16e53c7aa98c4f78d2aee46ba5b3edacff5bd2100ee4ae17237b57d0b4b68c33caf5f54cfb85f4f85526bbd67fe00df7db96893067f05691b7524a1e763c6714fac20be03be18be99e69f71b41acf7860177781f2541a4a1c9b40d194d25ba6abc9c21c01e1bcdebaaeb7fa0d58ac2b9057e72250d23bdf57f5c56ffcd5e7ae78a9684c9a3cac8fefae1e5d1b8fef99841b3e4d19478afa6ee05be71bb8eccdbb7dde2af97fa51883b795a0f3338f481328af89ba4eb9b471d35806f0e942cde9301dea12bc1843e6d016b5cc023586f42faed34a8c17d74a4d63c71e015da5d370f7cfeba6b","path":"m/12381/238/35/0","uuid":"a0737408-6791-4606-97b5-55698f05cdb2","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_35_0_0-1751540644.json b/scripts/consensus/validator_keys/keystore-m_12381_238_35_0_0-1751540644.json deleted file mode 100644 index 83ae7b6e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_35_0_0-1751540644.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"b92e81880dbeacb19e4d5a11c8c80ccfbf872832d42d268bbaceac77a72225af","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"af5f10383160aad68ffb1e1f"},"message":"89006313f776667db499b243550c3095cf6a52aacf8bb36c67ecb7bcc191db80c5f84e85da4a1b0cb250852ce235453d1a81b8a9dafa37aee153a1b3394ea3c5"}},"description":"","pubkey":"0xe7df620156eaa04971fd022d460252d07f4e27401f137edb3015cf0401183d201690ca4ad40254c46930ee047691d6801677d976566a2a404d1a2d4ed34e3560a46f04fa8a0bd02011e67b10d15228f7c317efa6e70c24e1e01fef35f7358216425ca6a3c89e50687fec2fe8bf9674acca875dfaf29a2130fa07a611977699f8aece80dc116705baffe750cb00fe9b8db240080a07807e01ffbdd3c89e7bb01ea66d086978657843dfe0b30c332e427e71b2a528af5fa25ee3d33b6bf41cc2bd3edb8566467a96c357885c2c86a51b003f541b751477473f03b481128965f9ea450624a0650cb2bd5d54ddc62dc33df3e20487ac8384a7ae80851684484a14f5f0f5788a12fb51da1eb77fc7d1fef861ce29bc996ba186c2051f1cd1905c3d0a765571a0baf2ddc52bf223a8760f5442be3fbe0996b48f2ba263678c3c1f700f641ce7b045e978ecdbf941479fe4181403a4b383d946a8b8927aea13c51a4d742ab6b0dfd6db0ecb7352db190610bacb786598381b149df2642f0248ed07cbc0a12b38f799e3a7791af7b7b13ba034388cb5e1b8da5b9d129f82593e0c52d1f0b9776ca1ed182d03198f34385c3b974631b1ee11fb6361bb4defd52dab5107b14b26b927bc14c7dd3b97b2f5a96c21bd9c8667f662b890beb540d723c3ff749aaea018399cdd9f5757d58e3fa14a2eb16c794cd92867c87cc61d872577573a79d41158411e545c68079cf19630a0a44270f73e65995c1d7862fcd56e176a31af48fbb9912e342631ad5c2809d7bb5207f96a36024f23b153948a6abf7fa681f545d008d4742771b5db8295e31a6f0360cb91bd211ae276ca947bda47350953e92e2f8263f6cc06dddb2fe394bca63cfc52f9fac74aab47547612501776557a85823994ff5876fd77505aff412faf8d31f75ab22fab8508685e51421ad0c32a038561b8eefbff5d7e535bfcf0fd8459d89c0f6ee7a7f90cb5dd30ee131a34af2ec29dd501729e41613514622336fc4487f0bc806878b3595f6a49e9cef494bf14a1c92c17e9eca3cebc59cb1eef81cb0ca926b70ef420df7a0c7fa40ebac0b14261446042f8e230fd92ad357a93fa60f7b7bf38b4e9125b80dc8a6901a4d7a3cbcf48a1da02902a5e73020b5f514b4129b40d56fccf37c424b21f2bb233aa1bfcf2187f78333c17b779c5922fbb19a677b335a7c4c29030314c2445aa9475a863b53229b528c68cd2a28864783e2f6fb7bc099abdf139736bd1df3b1a03b5612004d190a937a66d2ee49274776215656a2f7a280578dcd8f1c572d85c26459fd90b3ef75c0f9b81ba26d2f3e00fceb2985bf87a0794bce8e5f2c74a0d2788092c5e8d3fced9ccd9690ccb80d72d59ff01ddf14366c47a57537416391936486048a15fbda4f3c89b37c5333c78a9f3d10556a8ded941fb80f31c01d5bcd96faf781e612a61a869c017fa90af1c8ed147c66bc9154697e6c1473a9d41ca026b89f8d7f7971e7b47076b9d5623fca8a7d8bf18278d5b00989972bc1503e371ff46f57a916432c53e9d9509027d9384d2dee8475ff083ffdcf1371fea9d1b2ef1ef3765b5ee969e6bf442885a76af5384e011ea70681ee086dbef69e75025ace81a7af88cc90d50ea319a29163e57d447484d16158d1427d5491c2677077ec5a421fae7b3292693c16e899856d62ad4bae9792dbd404a8ee35a8fd5071755ca5a689870714ff9b04f597c0f30391274768a64a3f9099b934e448016f5088946b5ca581012b4f2def9125f627f4854e8af318c1d6e42e44cb2f915fcaf8bc3c82b8550b86f81b5dcdc523794ffc8987d0dd43acc3b7751f604585ac8df154ebca2d12cb6e2f2371a7e320546946079bf35c0a9131365d44d2ee62054355c0f27cfef38d56093dc76a0bb51f39c3de11582e0bf73f402fff67c395e4ec0ac0e41f550d6fc5c32bf70b5b6ff0b1eb65d8b316f1202ca2d92da21031d663484cf2f1b7ccfa8483067815186880b81e26d4da1497fa2378a42dd1dd2899aff1ad441abc32b19c64df6bd9cced82f5fbb7dd5a77556a0fdfa2f734ac88973fd76418f9ca72bf4460041fe5f93cc3105f735743bbc1f0f8bf3f6c511ecbf38508c0b4860cd0a76dbae5331832718787e403a0d134905744bf7bb848f0d817ac03cc39436350f309577f19667e6d9a823c5ecb9cdd1c7fc0ce7eebb76304f19d759330f1c34dc83c83b76373ad9c5ecfc94cd22faf0ac85ec7fde6266f41bf1e021d656a576ab7239d258e0846e3427ddbfca65c6b7995a152b3b2eb6e6980d627d19a76168ab34ff8512337c89d01e4e77bd2b16528e3205fa1060f3d7f5485c3ae6e3b44b0e5a2dc87e554a093e85ff98f76fcbda103b5cf4ebe92975bf1d390f9e565bf0f90e9b890caa986e20a107e73bf49383ee159c3f848eca5c7d8511025d74327893929e3d8f5451b6f5e2cfd6b5df876880781fcf8a78f706936a94e63840e255daa33e032eade0afad4fb1bee2e792a0843a57c9d7cf8358ccf547025d1eda50e1d4da0a089ef6619db29312065f92396249a981c93bcebae5c2137f930668272cd9e1163e4107a1dd3ab884ed5cac54318ce29ada34dea738a635ad6f2ea496504181e6b358d4909817e3cb2786d0fd869b45edc24b932319f66d68b75f2b13b1a735a7d7b3eabde2277f136d148de8a5d899b0d1a5af5b172cbda445950cf12130a05ba6b26858de5c10c6d0d8ed8742524d26e279a34de7afa4e9ecd5386464e6980fed0c7af7de6383975af3facb5be66099f4e46157d55a2d26bc9b8afe030e53c08ccb303bc4f18bd90fb8e6c36b224f38dbc971ee2f0b69dcefab4b6bc79c62c2fec55b060b8ef11f6db573e3a63f18b859f59c21aa589b3540f059e50a03932f02fc65d5660b117df4cb1a81cabe39a68269dd75049164b6ce2d9a2076128149f0ea4b6950005716ce83a9d8d997b853743a6c7d477a1a569848f5cabc425a8ea7b59e1a4ebcec52b790e2280db3deff3014476c6541279c309bf0199ef2fade7c7d0548cd24e9b16b57a6e3bcf16f648720b2e74b79bcaf5e5e67d6b4d3b56a6050b60d3325f26ec7df8f4340fd3de5a94016e70dcb93081a937c9b873ed03aced65c7b053b7c3b06cb6380b0773edb52b2331a9a2d8261f5c83cdaa5ef4acb68b936a5c5eb1b6aed832cc943f9f3e2bfe20b0f8f45670722ddd6dd958017370246089527615ca836c88259d5fbdd4845bd8814f8ad05f6372a8d381f5fcb5d3ddddfb8914f71224a6b8c10642a294643378920c56f0968b454423a5e572d49fbaeaa34ebfd8ffe2cb929fb0e043f34ca0de505c6f3f028310a6be75307396a548e173d992fbfa484e069a413f2ac0d432eb8bfa813742b8a3d23f6751cfb32386b71917a1c483d709a200687a115871f7a187df9b1f9f44f6c0bcc0c62812615fcc4eeafab636bad809f3b7f678e5b83e35de654b3d3a178f6034722939f78a129fcdc2658f0dff0e7eff188109f2c38dcfd2a5f83c214f7178e41485f621ce4bf7c55e85ee46bdda3195e51eba98b9e174f29390eafe23df8b7a76dbf0485ee722d4dbb37fae7b171591359c65c26c8c518eee6585f5d8d232990bb40a99cf7b7cab1ea463c1f25cbeeb75ec7f0565b0abe2c21d59d10a84eb84364","path":"m/12381/238/35/0/0","uuid":"4e62908f-d690-4e6e-8daf-43a4d33b4bb8","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json b/scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json new file mode 100644 index 00000000..90442c73 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ef0a31e83463965ab382e0bb21a2bbade3ef05b822e6a2122c31b1e65ac09532","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"60c25e12ecb1325203fbca3c"},"message":"079b84a31f98c2dd86d1d58b2444be8146323074255e41d0c66bb714ff2804693797a2ce716b549d8cfe68be33cbbeb8b297838ac3c803fe8c3a0163b0dc1114"}},"description":"","pubkey":"0x7f4b0a4a9ad08239998a15f981247679546d86a0f90981ab38ec469c8b4c5b33e084d71a097302281cb4fa4a5ba2ed409f4925f8936441d0590af8be72aaaae9753f77074823ecdf8dd1c254ec79094c80b6f2bf65bab52aaac00c6aba50dbcefbc3d2f6fcb76195affeeecef3be765ca2607a1551e337f214587ec7e090bfaeb9a767093bd8a1015a2c3a60a1a039f68221f7f6676c74103d7be48518046c074cec081259a1d7796fab2617e7258bc0944a4f01b84601985872a02f760cff3aba58364f0d872b3372cae836bf0dd7d35dd4d624fe04f497d13bb477a6ca72a01fe207c84b29aedbfde7d7a8f4025634b77f6d1edda8d2b87ac383aab02d816e680ec77dca412ae9beafdc48fc9c837c11b2a58fb6cd0b8e8cb97dcde54663eb4f6735a7d74488f4019856260746fd27b4df8e0dcdd74681a76aa8b449c97acbf435de9b04eedaa379e281604f51882d8d028f931e1094651e47aa109240f0cac650452fa5bafbeb4ba634d07e53914c443322df38fdaa0c0d99e786a60013854032111fc869e403499bad51a02b1640c76d4ce968573ce191af6d1154d93e9071b3e366bc438238fcd7172f40d0c7fbd3e8a83b44aa637032eabe3626aef1cc70eeaae269dd89a88091b9f78ae3964ed9ae27a7fabe1f409b3f9c03a2d3755a91c36d0509e91470b2b862060c640be8dcefc8dc26a3d4257c24f35fa77045e0218d09e950b1a5da0ea6936a918b87edae6d2fb571fd3cd592bf9fba97c953ff6a59e91eb2c12a4201c28379feee52ff3f42be6418c75e75b8e1d5380046c2b39ed45e194c3394c994d3fdbc286f2c6ca8c94aa05d7176e557b306ef83d952dea3057684bc93df019b40378f2376b0a5a6776e648237fb738dfe1eba1ed5ebd421a94358423483a3a8b0b65a5d37df8d98d625141f68844b99a2a7314fd7a7188998006b55c62316eb6dcf33b3226a53305af4578a35f7ee2e930f4be28a7b4528ee18796d8b3df8f532316394259018d1894db6b1148915815dbd56f2d6c53f29f09445600094a13de91fb29daf9e8fd67e0a1ce0e897763fa44fd493a1cafe6b1e47a7a31965315dab1680ee860c1f57b11517ce32bfbcbfdbcabf5425feb0a66bf4961e49b0bf0c818db95f30e67ea718aba499bcb0f7b63e7dfcbcb4b05b68bd2f8f305b8f909c9b1429d8db94c31b3073401ececae3220a112c3d79f320866d8aec804731f0222ccf46c2dd70f2f70cb5fc3f6dfad7b48a42acc8e90f9aa6e91de531d3318fbb52585ee39fff093b90543f136b6c727aa3cf1f155649726f96917477c4c2999e9e91a09a7b63efde6b65d5c596937513105623735da0339c0d030f831f55889034c11bf934417793923d3a859dea95567653e76f8c9120b77d2af8ed1080ec9e47f2eb18f7ebf54053ec0958faada08937b79665c060897c1618e8a3cebe7bb0ab8c29923d3f261ed9c70a26b7521fcff516ffdf9eea816c1d9903e149301a90ca8c049efe477d403e9fa05ce74d914574bc4ae57b0eaf5da152b80d419854e0d91a058a9c073410cb47b3e1f41879585d4c4534d673572f377e46cc232817b347baeea196aea65907ea29c30195029d879467dc7a578de5edb84073e35473c6dfa24e5670c5b2f53d75ca9affcba2800effeec752f8c6a266beff8ee07c2c17d8a8a8ba84e6dfbfdf1f1cf695e018d439ed1c9218d37b3c5d7c242387b12e7785d9d5b519dffe7fcfc3e861b2ad73a028e1f09f10a1b19bb9f60416dca09d406931b8f767bfdbca0a09dc7053f89e4fad9e7b9018d4b13473cddf72c51f5dcc28e27ba0296b561c817a17640fed3e51f1dc9fb59a1ff098839ae44888846611aa0362ce18b97ad62f7983a1f095d030f0baf83c72e32ee8921227833ebbc6d63eb6acdadce1892b64c11279d2ea66da3b8201e7eba6af9590e7449437d0967744e2c6a782323286cb47c0db705f1a5bb22ddf62a05fbecd90fb853dca0a664f089c05d744ae73840cc1a4ad166fec45e5e6c6618d8c37e5ec89256f76fb540846ff49186055402221cdd9cf2a34c885c8a15f0af8899fc21972ef24ef39d8aa542a3643b47ea0c11b2259b6c004f1aa2487ac7b87badb2cc1131d4f939435352e35cfe44e7a75609ab0684038c5925cfd05ee02dba541187607eb0683175e3afd026abfc26a0744e7e4520e0df50260cd97dbc18d9ed484652bb5d997395439a95f09e6c838cda1791ba8d8fd61b0d2746a3352d55bbe871777bdd247fddeaa989c3abf8f11a3d1166cb4b88325a3594a78bfd301b707533b8ebd3aa63890374589d6584d78af50cb3e5c8bb27fadaca23c810f6fe0d38716416b042c2244263885ce30b6edba2e6f2cfb3db0ce90935af320ca2846e2a9da396a576bc8890725fbf598b4ac8388d132ecb13e4c7572579074a36fc31bdcf41d10671e34d839ddfb0e07fff2b788dcc19c2510d27b644e71b4e64422ec4b2fbce2c585bbb7fd5e50632744fc68e27bc37abc873da16bfb29ea117858dbfebc80642b8a4c71f98f35e04003a949794a4f3d3281b2913cce5c95240adc4618b7e97d13dd68fa144798212dd48ba8f623ff5918fb5bcca59c69b2f265563172093d451623b427129cbae16e3e24ee16451c7e245767b720442744961e484c798e44a95f3a60919fc872ac5b053c2ab32bdd35c122dadbd83c40564aabcf3b2e64960790e8bcf9cf85d0cb17fbb6d087c0f66b0304a75e434243be1c153eb0a47996903504b07771c12a3ec39387f0e04d90b003cfe2fe02e08359d1b7d8c66abbe9fe1fe73f199b0019b2cd4b6bb49b0cfe28eb35f9ef40251936dc96506754cb80885df439cba85fb408d1c32082c0974886cee84e52ef6cdbb116dfbb734c477df10f944d9db325c50cdaca8e8de15b8df9038d7da33f1872ba2538be34ae1c7b52c3da439d2dc35a022ee0d942f0b4b9895b2cd3b9477eafaaa63485388a9692e5e8a6d3462e8ef99d5c92a7e67fc2522b7ff87b19c7d52211cd1a6e64d3c07f0d2e2d075615ab7f1fef824790104c588e2389e48eabafccfdb2a6a4768f2de7d9be3c890bc2918398bc409f8c80631fe0cf8ffb88cdefa47c0aa98a13890803370f5b4e05a5259bb0454dcf9d7d50348e4decf3c8126c25f5563dd5d6af9577d7fd8fb82e40ebedb84bbadf29ce2ba6fdccac82ef5448fdac074dda4dce1a3283b1e6114afbc3bd94ad6a69a4d92cf56ac51a3ff3959485d203550d65cd6d7dc7faacbecd09fe3344fca23eb09b04d516ade41e80cb4469b0b05bf6cf32357001be44b240a2289e330a16413e45d49ee8f69ad1683110bbfa95bb5e8e5dd83381c9bd1199dba719da653b85d86b6de7f87a1679bcbccf0f6b234fc37b59491041f755f4dbd3badc819ce1c33cf9492f60f30df27ce118c8087fb9e553ec7cffd566211ab5b42e9f5afb8371dd778c73820de5bf046ba8da7f5591e169df86fb74efbfb884ad4954a924a6f4e3bede66f3169be90fe895cef11795748e47ef6cd2c5b612231d225e7455818d23d07b6369313e54316922d11e0b112d4964d76ba10855b4f2894cf40d0247801a0d0143567e164449694dc1f8c23f98632ca4b91de9dbbc37827a822ee178877c98ccfa1c2e9cd1dff67c7e07149941f4","path":"m/12381/238/36/0","uuid":"e0933ed6-5855-4ba8-8e90-c7661b6a10ef","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_36_0_0-1751540645.json b/scripts/consensus/validator_keys/keystore-m_12381_238_36_0_0-1751540645.json deleted file mode 100644 index 793e5ba2..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_36_0_0-1751540645.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"15294caaf143f402d844424ab5a3425b940b8916943b119e08b55bc9ac4963be","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"561dd2a9c4d666b0302aedb5"},"message":"3bf4172cf3abbeb5c0887a2f8db68286ec8acb2ac6dbba91dfa0274e9d1c04f0e0d8812416ad99963e019f7244db6398af2ede64c60688636bb01da537d4abcb"}},"description":"","pubkey":"0x0e385ae617111026624e6257db346dee75064fbab09fca17485a3a3575af4ac15893ad461a9f03414911fbafd4cd4f1c34564480cbda0f1b6185f798435ef6615497feb985b6eafc4a0588eb349826b87535197c7d334172ea95ab70d4d203a32a663f28a2a5cb29c9766c1e5c4bd898f50a0f024af2bbf7db8e0c63a1ce427a9cb58b8bac5c3c01b8b022f71c7c699c8074da0cb0267cb2ddb814ed5e6c19eae3e98ec733030a349156f02adf747725b2bd008dd6d018c3618e29152eaf2ec8352e024fd8341b5cfa9f9654aaab82251eb3780ce87a2016ba10b0d7c027945c42fe977f8bc149d190f2abea0e40d372d2d756cc2edd105cfbec2e2b32c1e3e569893751d84869a6dff00c5c0935db6e897a9d1d70485b674867d78a897ec42597144ae8b0fa89776f685b0b9d731fdab374d61fd66a235fad75f7d3ed89cf2700d06fc9b849a265793ffa80d462e177d832b22771782d3d8833612eb13990b6177b50919a50327ec328cef83cbdfed03727a873f4894cd2e5493c7652ef1dc27c16798609a1d1a57071bedd7534d8be10466fa5c1b32c31a8c6e3bee21ee4f8e0a58f971fc719054e99b9c87919fabc37f845079aa81e030c56359a6d2f86745c4045c8bf464465418bdd650f950f7f381f4a387647aebdd4548060e43fabd7abfdc8faea93daa53b9ef20dc1e8adab5dc144a8c35e50390b9473b770e678c7588ccb8884f9d9311f13e5c8af666529ee169f8294977d26886efa8b61fd2aa6939db937ddd2a6159e63d3e2d1d71faa50650a317f38b544fe593af6074a9a19d80b0c55f9e36cd7411bd74da5cd95fa0b175a926fe1d20e2d8de2367b1caf8294b4b225299d0d2718900b942c88a4722e0f1b5cc0e738b868347a942a27ff99bd17cbeb984ad9a7b85d352d05bda6fe8ea5ddd01402904705da546d738b044b5ea7e60d696022fd444ffb13a6136fd3ac56e2cd72885a098782048c77a9a1b07a9cae79afc3215f188a1727880eacf5cbc86bd20a305ccafef035e60afd3a09387dbef80b73c5c9437eb9d96f9eaecc37cfd41ef9730fcb1697c0377674999a4bf398288810b2990259393279d1620eff15294afd21e3d9a782e116a685217560ce1c5e49572187c73706967ce86479105212828d500de673256a7a7dd861f6db2471cfe4bf306b355f21713786eb214b898e3a15cedc9d70343597b1c346f63cb9d6e5d178aabac886fce5cdd9cbf8848dde74ea154540b1bdadaa8db408d81a8ad0c7d0279d37f1c52d8d4e613d55bf189d7cafb55f5179ed27eb95c766c5920825c6d3c8948825da2082eca81a1a180d6fba6b003330f8d1f1a44fa600d018daba4bfa675f6860ccdb335e9e6756e672bea8cc54b098477e3d3fb6e79083cd1c59b8f2cb34755b205b00178f343a3233122247bec7fa0536b0096aa2dd6b7bea6cb124651a6feae9239e85e6daaa3fca9572d94c0b3bbed51b43f2796ec375c560cf0608dbd75d4674c81d0ba88bb0acc4b58a270c5afc6e3a7d9f6856b6347b8899621341d24b813e6289ba5e3f548d6ce64a6b822f457027d4fc9dd87838a370fc56569f8778a8d2003fa5e1e5f2ff09bebd3567fe507bc6a591abd322b48bbe951dde630def5f7548f35967cb66b59d0c57e9a899d24cc7ea7e76676874efc04e97ee3d181fbd2e37f61d71569984029bfb297adb05054e7f837ca258b289c1f199af49f7d1333bc0382ed8be98ffb7282fb04f3499681353c65f05bce6d369c3664ec8355541619c51a2eeb5d7c519b1f08f0d33f0eb69d689dfad8c6b64cbfda3a0a04fa054a010a31689849799ef22fa08effb2b5fd806737f75be3820c13084d30e7d4d618fb6ae0be0d7e6a0fd9ce1c1b6b1078067cee188c93ca01ede324f9c7da6aea5d488009b803644629b2d4eae93ceb81ccf0afccc6e3303bc579a2bbefe46e84e8237ac5cdb0ed2cc808316fff061ce598492a40090391ffd14a889cbc5a77c285b42caa960063dc309b2f31bed8ab1f16be4edf53aa243cd478d01183b65ad5f72e4d6854c95eaf6d2bbbd392f193edffca747d09baae4b176a3c8fcdfca8d02d869f74772154e21d1e9bbeafc5f120027553e4fb1500fe109f04c5ad94062a52414ac5ba8af6358062f0555d9ae8c989e4b27fadfe9e1985159a782480d6b8dc4801a2d0664eb21407235f9885917e13a2462ac0cef6880931fda8863982131dd982e7569a56b765b7fdf57a8add280e95f0bfd444b1890c9b5893dbe7070a0487a1bd91e8ad29e58bbf22d7bbf2efa9b122c0cd30d12c10c100a3cabb83207f08655589f7ebaac921e9eb548f01b6755076180a3e89b798260a926a0f6abc7c16d39cab7ad5f3c5a00d60726bbc03b00f66bffe5e6deea27b07860565c33643c7bd6c39f78ff79a4e77bdc0b896f9c720d0e91440feb6d6bf090252c043e6c585cdd21f6b7dd7006413e59d106341becc35a3ffa50e5241b5cf3d6412323a562d97620a52ddc41eb666a3455e95c61e18dcca298c1f8be3fc3eb9ac1e05a1f2dfb64c032890c4a758552aaecb4e48ea110f9250bbf165cf4f5dbca87c414c093a717c3375644694e95964ab94f2f3e3ab844cd589d39da5f9923805779673fd831f2e1b1b81441bb89e8a1ad73c4585ef8e10ac803a49d808bb969c6b98ec6992d351abfb8ce3d96d8d4e9c59e551873f765a71b13e0e4c191bc7ead6d56d40d3d4ee841e733e719b4aadf2a00889229032e4289f84817ea840eeddc77a9d828d5169c4a8195048eeb0033dbe389d2ce748268fb46e611a32433d437c4a2ecd0d00bb31f9f6824ecb9108cffd5d4588c954defee1fc82fcf3d0fbb4e02d5044ef25a4726fe35604aca8c62b8bdb8252f0f54e2727861d8dd698c84131cd54751f2b0d1cfb71f848b2ae170a9d0d7918c467a408f0e9e1281b6d0c4fc04f0bb4277e5d712e0b0814e27c3283b57e5a532667ee5f1d35265a98effe038eb16c1fd36603dd92d66d9d61ce33df35298c732f7e37f37bf1c8131b41d7b317af25339196227d227ad177470614abda3d41de7308c1deecdefc02c5510e4889f0643e435d771b91d219b3c5f8f03b9942aaf41f8c29b264852eb970794bf6611217493d404ecf10f8fa28457f9f81f052e65626cc8899feae755e4816ea60da51b32ee5e34030b23320ca4373bc6b8f993554bc848ed5969e4af3fdbafc451ae7c8385864a440dacd172f4ea5d73e8408d3f0c770feaebd52684606b43869e6dfa75f51788916fb32fbcfc874ea844310157d61c9b29311de3b01599b55ffbcc2b174212f6e5316a8cd335ec781f7fe0239090eed60089d719f2998e4ddfa92a6db88c2abe64ffa526959472bba2d8c27a785638663bc3cfa614cb0dcfdbb8a0018b8586cf1e3e37f6facee481b3e7a0be15021877589817bde3136b6cef92286d8773c5196f9fb1a30e3c5639ee6b08ff15f249582feaf4f9b15ec785f145a3c1fd949acb9f754b4725f0d2556cfd98b6d6eed0ff92bf89f1d5092bb967aeb1dde482c8788f37b04ca4ca85041ffad09378cab3a1f81ae390445985a7f7b8619a9f4c8c6ccaaa7557c199040420dd566b00bf0fdf0c712f135c43f5541024655c2a5d5b8cdda09a9fc2dc4791860e0cf4e438fdf13f253e","path":"m/12381/238/36/0/0","uuid":"ef000e0d-44eb-4e90-b4a8-3da7cd4d650b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json b/scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json new file mode 100644 index 00000000..10c13c69 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0c48c10fe6f7ce5db28e9ea36b88d16031c1bea6b4795248e8aa1f697a39ca17","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"66d3ec9173077f0b785707ae"},"message":"b70e4b0ef74366e842116ac58ef8fbbbc6d41bff02c99c621dfce7db830cacbd37819c21fd4a6c2b689eb6a9e689726e38c52f86e32225f5cc0c286963a4931d"}},"description":"","pubkey":"0x82386eff3d996a481f8c88aeda0bc41aeb715c7cfee26d496d48010b1193944494f46881aa19ff319c1bdf32b2018b7957c9434558c21797ed0903751d2414ce64367d6a833d2da8c3c45920356568147c1917fc95da1c7b10c6ee80430b2e65ad0553888971fdde85435e4efde22cb33036cb6c77730579aa198c7413a14ee33c2c35fb1180971975ee74acf9b0aa7c7556184120b992f9a9b199864a932965cbb37719e4d34495fe6bb507439f930f72697be66d46ce84139c6914fb068193b0abd6910b111e662add87b685fda0f86f5fe7a6ee9746205ddd21c4e51d68cfc7822902b48be636e47c1d6625ad55d2edd0695c97f0d98ea1d5d81fc207b322e0577ddc81dadf79aaf86ac15d1cf17cfc108f55e52f3f5e686aa13acfc059dbbc669dd90325f0f9fa4773ecf80f647a585326ba7af5731fa5a9d14e4a8066ba7aad9d0eb78dbe0e11b9556b21fe7392ca51c558fd204446923824aac6970e6a49c9e4918a33802144484ae57168ec94cc46fc790c972baa37a80de6c09c2317afcdc0be6bb7bff9f738631c1f1274a405b837975d01abb7772bb3ed5cc110ef841dc8ffe937f9456a5d1c546c77f8a292d18121a3bd7828990497a4926455fb9f0b705e0fa9cf522e6cd476dd857a0412d8b67d08d29ce5f5ae41a1331685f150a53a480cf3951543c890c479ba2990bb33af4e2e9e4f5169aad5ae9d7073c1344f174f2516296db2c7d3df2a520ae1d8b1fa69244dcc798e4d7a21c857e047ae301eb25e6423f2bf00a89a0569aa414a4813b2c1963f77366346bd496f875c800042a4f5bbfbd70a0af36b29ff5322b201c002b7c4649a54ce008e4ac7509c52af30e8fb3c435ebaaaf3fab349af00670094896df9b51ac013b52cf30c854dc01282c2d4a4799e5c01dee694dfdb983978d32f3c48e6e6275bc35c42b09ab9f02314930b84efbed0b86eca6b3064a77ae7bb16dc1209c6971b1dba924776c037c437c0cda4749dc8e764212a50e248c89be64490b49c84a560f07b886585776c4d4fca91c5745c55f04b45e6aca93ef25d58e4faffacd0889519d121204c7ca19882e7370e868500d00fbcfaaff469a698a3eeda096b7077886752bd18dcf200744416777b601f9f381b9b2758ed2b565d30aa9e17129fd0589a8fc73c68a0672ca883b6977c3c22ebe90fdb29829a360c5587410a35fe67576c848053a6f68ca94dd7a886574cc05fab3c9b2cb35e3e2050ee58620aab49322b75b7e1d344b39b10aa73e58d5811a7dc9e8bc1ea23e4ffd826a69e83910b26879c4d0ef0905bae3a7bcff568ce1f290581457377551c712815c37daf5037e0a904eaf0a8ca48028552acf36051c394bbe6279961e1721968678ed4e629d7ec8f252b63fa133bbe8aae3d6e212142ac8e44c67fcf454675a36310c3e446ec2c496d5ef4d4c196e83c83cbf6fed36f878e109204ec8e43919f90c642aa06d8024a8df90204ca7b373a7acca089789d7eed3b3e2d836580949405566f230e9c451686ff283a8f337acfd90bb6cb07f990e115b47d32c6a144a374d721b9be79ca7ab74a4693a70d052bd8a4b93d57955f8e297ec09b68a2acf77e29b44ff825f480e44010c927f573fba1d588f1e287cb5481e536f4451b38f8e734f3c9ee97a74a4c06a300c3aca31be19a08ef14139a5a3c37084905f3374a291074f1792a66421a272236e510e5af19761ccbaefd2fe3f2316a5551cb24320892e8a05598d7308545a6e10f10d58fa0ca3b84dd3f5d1c1ef73a117f37ebaaf09758ab36a1a79394ef63f10ed20e5fe90c891457057fe254fca427baf2eb41122b7551d87ea5624a3c363138eaa978f1c58e479e9b9e0ad959f5fe253061f2023baf3b4bdf5420f0be199bf437aa86e245f2cd103962851d20c2010f218cd46166f2a474c055b679311d7dcfe27dc0d670f6137e7ee3cf78b5a3c5bb3421494e2d99a8a22f6abcac7fba8ba53cfc43e73e385c225466cfd5877607e67aff8762a12d0f522524fa7580eb465be4078ff8dc17334d91674d30c0f483e5479cc6276b26dfe762a9e6cbf0e5a5aea95fda2437c10b4b528bb7a9c79b0cf66b6fd99c422c00765408eff98e5495b19d69c82b6fa70b44d0f9012015b6b9daa971ab2e469b40b8bd2dcbbbe4a5a49eb844ba00ad4f15e6ad666ab2465fc8ce97a55ccfbe46632b1b2e8fb464b3673a3546f34f21e0a1e254fbdb1b1d418cef6c7df1db050577137cee0896e3abea2ef3c898f1a5e9ad631184b074b49b46be463aa04c11354ec903ae336aead9df3cb451b58eeb03efdfe39e69248378f38463557d6a3d5e3ddb8a7ed445845b7495cf624acd4f95d86653d570cd17dec2859bc8e64f8398376e0ce1879ef6729b788ac3307b84944d1eb95ddbde2c94610d4285b4c6743ec0265155007b69f5defdddedb3d37359075af492ac9df032e7bc4a60431bb6b53a3dc927df699f59e6636122b7d86bcaa7e9c4dff52c84217f24a5e30243bc2bcc11b271751086338fe81c689655de99b3e1e9648398cf4a928b2d3a0f4dd261f8dee8242a01a92647fee7aa3a9a025bf462250990d83afccc7ab20a68e25ec8f2b75992d5a45e98ff111d3756e36affe8eb6a0b8e3b2cf5e29188801014ca735fc96c1c61ab81d9f3bf7be028358f3580e36c619cfad60f19f62df57f1885b1aebb1b902a8d3dabadec8a087e5622bd1fb4f295c157f432c9ffb5719aa08d99414e1239455305ebb89f1d4e848e161150ef30bbe162fb6f55dff7ebd100947a1ccccba8b8a2c277b014ca433199175b9aab5d66998dbb9afd9e7238562cc8af6a42aa8fe88a0dd4f8f9ae8d87868577eeabf273acd04f2f2a2613d3a5b5398e856ba163710ea9af0d53dd99d423c308610757b16868826840eaf0b8eb6eec435ee3abda6a836ba03e4fc240b7eaba30ed5034cc812f5176c677f6547ad6a9f3a5fd6a52e9b00b06af1cc35dd844f067b0bc2ec9103d23716fee15595c2aa1d34393410035bff2b7048d2b32148fb4344fd54431789fbd2f0a06bd04c0a10fa820ac2e2f364a191318c1a32a6d020e3da61175a618eb366f3c2ae76caa64f44ee7688076dabc3aca8bc93fa3869b4d065a41e7ec58717569a62f86dce4b673b3085a5e84f19ed2f1f0b91655b0e841e4253f4f01e4e757d18e2d4e909e80ed710597cd234bf2d5f45fa0563e1722f43d603d924207d7c0c82165700b3f05c29a8a8004efa5572056a9d31021d935e002eba16280dba7a610a9c83fa82e4ba43f5f0e5f33bba3886c800ccf6add6795b0c48e8996a183a6a92236b4efc69f44066fd1e2b380a258e83a0d945613a7dd6bb52e17532a057acf7ac3e32c8dc7d4860189ede9efbce36301521a66e7f20df4ed44ae71486afc8ce5b12ba4bd8cd3b537be316beea2a53241095c2d56aae66478d397a1fcd0cfd5b8e28fba11230d1bb27281bc9565476a3824da1e7c70c1e688dfb173bd56a43a53bdd4909dee35539af53b020c5e0abd41723e21d805dcfbc6423b7323d0ccebafd87e13ddc6828804a70ab908ce8902da5c6314fa90db1c88d15ce3f579d5e7bdd580a716a3624fb2fc6aa5362840715aa31241c21eb0de680f268d54394e870eab3d75fbf9e30536838d3c7c0b4dcba4dd","path":"m/12381/238/37/0","uuid":"452ccdc6-48c8-485e-943f-6c08d582bcb6","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_37_0_0-1751540646.json b/scripts/consensus/validator_keys/keystore-m_12381_238_37_0_0-1751540646.json deleted file mode 100644 index 72f8bfdc..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_37_0_0-1751540646.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"384f9c1f3ec037ae1145ee0863cc81bff16b138d1c96e2864a38e17e28f4ed47","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"b0bcc037119d2c754f57a5de"},"message":"3fc256df6fc48bc915857b7c91fd89af1a6145bc18b585dfbfcd14b045cc465cbe5402bf94e0cc3a99c3a83460e160944636afd4ea4393aab7931c488b49341e"}},"description":"","pubkey":"0xd23af74e916dea57f5f64885895f3976141c9b20408b3bb30306e7451be2a5188f2ea4789c07879ff1279869dea5db7aaeb6ab49652d61085f38c29c03da2d69baa92d450bad2e79037d9cfa761359e5171bfead11053322f454cc9269748bb45acad438fababb2efbd02470a8eff0618ea425bdaee6db19ca282d489a36f7e312994fd64d44a319e24f96c729b452c5921c91f4aea6c931e84458d42771b9ff9b14e2b4faca19b15af2be216fc78b6665b21c03673d1bf265ce0594543aba5f385f07581f1a746035cb77bcda8f14a2c09604fc0ad53826dde1373c6c66f7d4713bb3f471ef2bb34ccbc9c31436635f85370b969be4f1437a60d7314667db7bf3233bbefd1b977258a4c7d593f91f9b2fade6c750129c9a0a072353000429d214b399b80ac16106f93713f4d28a308cf1abf339ce17967189bb9d7759f7ed308d0d6cdb7f632f9ee39da8519be52aebbd8b9ad12e69a02f8198ce02f414e8d3634b64387149ebbf3bee6ddb3e13ac3c9df759452443772d5ac170ca4dd1938f3b168aee466861aeb65201f2a3fa4f427d7b12352f5c4bb8bfbd23456e6b8089544d98e5f6131d57f00bfda9c88dea9c5535e66a8ab6e86af46a2cafb197840dac4beab0384df5772ce97a7500c96a2fef7efe328d067ee93764fd250ddf269fd8fb372ff0b63603eecd408e18961b4f37f39182e828645768614a8437b32967ae51a67827c56ffc618c2aedbb8ec32442dd3afc660b789c5fd83a76fe7f354ca5e7d192b07746060d7ae2a56923eb503d5258a5806a0cf206db63b26f8480ded7206043b8fba79cf04679adbaedb94039b4dbeaad5cbde5593d486d2c10370f7046fe23ab193beb2f1f058e654252ac1cc3a50e68b2c9a6c43dec27b67a5956c27deb97a3a51db836a838b09464c4cbe1dd121e803faf67b427b365955fc12ce96a224ddabaa1a469a7700cf6fb875bf4e6af262d562556d54fba4fb1b3e852f0c49172cd7ee9616965f1eb8ad5f91a36b44783fe08daa8d9389e29cd3d11a74228b91d0fbc2bf3afcbe5e7558116a9485c24a6564f4645c73615b87d9fc6e5caa498c1de0ee586f0d04def1aba3633ec7790fe9d5e383940d40cb1ec8b1dc0fcaab8da127eace4ab37e8b1cefbfaa182e069d48b6614f8ee1d40fb27bde01afad4d323dbaeed3c067f2af633e544b2e45cb67a3e3d25cc203a86e1739cc0f375e622942ad9dc1c70461110e581c6c83660274590de6553a3ef5d47cd4b807e4437d45ad25f5dbcedb7d7a7d3b140a5249a5b6ddf9866a13b0194f9d7825ad80649ed0a2f7c6431d08b4f004726cba265fdbd01b92123f4b267026f52db61ca3949064f71a22957b1c174ff079c8f0f91f89171ce0d565cffbdc3ccc9514925a13763993b511da7175dffb5a652db559c603a1a1310fcc50017608c6db60886ed4973e5e3a506715539e18e9976375bcf81279cb8620bfc363fffab2556c3900db256b9db15501e722a7a64436cb009b09658105661dab72141028907c6f3a244b4d7c6a5e1ef26f74f164b6974d7bbfbf54a160ac9e92f10ed0c57535b74b4cb9919da8a81392ac0a949603888f23024e25d0d2f7275f2e71a94514e8e83e1aa63a8db6676dd7d85dfe874fad9298662b20998abb9911e2f6e18c07650e95d4a083e75168250fb83505f72ea5910f78fd85ea4fe04dbffd9f810f975e142c09fbe97d932c00a9f800ab79b23f047dc531e4a710ab41ab7a417bdfcb126f3dbcea0f19395f04ff0f51a8083727ab2ca81451a501b5b8e66daa6f6ee0e607a534e3ce53391bc065ec90bf00f5a31d885dbf796470baf6db0fbac4812babdb9b6cf1ec4719a18a030dcbba8f7cd2139dd9d9dff26db4702ab4c9603ec0ff7569588f4d2cc369edcb462521e68742de329fb5816950744d157c7d7fc0a0214e3ffbd2a692a952ce4d5d5733211508e4eac66af53db50838c9cce8645f959644e8b7aa66b00cbf7911ecf93175eb4c530eaef7d2f38304ef68f489980b3be0511a854a010bc6fbbaf6d4aa59d949ed19d241d66cd543446991c8b9a046f0f7178228357abfbd048675353341d2961caf77b7c51fb86af8065d2d6c69e457e5830f4d1ca23b6feab85a3c78c15ae9b7715a3bf2798817e1d54ad0e11e86c7b1d975e1215106a046209b49eecd3c0dba2524cb959ab4623fff156caa9e6260762ea4bb0dc9ef889c91a15bda45cdf694938aad347bbe703aaf7f2cb160b307f1b42a79e0b068bda0a607576b108e651a35826a3920332180dc1a0299c292c575735a6ede0036b8acb87e3555099637a1144e22705dba4a1265bfbeebca038a4d8e0262d8537fb5596442667f40447d0dabdc95d046013d041448fd06fafb9eceaf0637d40ddc0a1e3491eb36d1ab773cc40598cbdee9a117d4ff8213b05d82ba75801f793d54471fee6cc777c515be40111ed661ca8193d9eaab64135576a9e5daf7a6ce9e181c0b60978b1aa337200fa434c3cca660972b7f5a28b27c81cd4acf9df8f2334115ff88d42d8ebdaedc05024a84e18aad5889bf1667c275cf46de7cc82086a3e3b9939a67a93db70c709f4ba815757926554e047eb7f1f8da77246c62ac58de5602e96c94aa33714ff6530c9f267073dd60056acaa787ceab41dfdeb33b575de854f980db1c2a350ac91b02abfc312046cbe51efe887b5310a30c86885a11af10f14cf76a790bbb5e13c5d02d1ac94fa32755b7b69fef5f6aee6b2ccb758656d81dbcc099030a2b69dcd12a9e0e385b5de207d1920550b20f7abfccaecd817e001756a7eb68c7b53caf46576aed454db1d69d9916b5774b87c478600d4f139333291071497f23a03717f9934ce76b997cb87a3a4e24cc97348bbb4649764b7769a6be58bde90b2342a4f8bd5a6b3e3964de1cd950b957da4fe3f542082863528e5eae13bd2d0e35b7ed52b00c525278f333e837a0b426be250f861a32417a1ddfd3173140d956dae595873d14dc99992e7b2f43707b5308cfc55616466c410a9254f93cbea7dba989e7a9aaa4dba570178ae4055871d29638301506c128d158241de6f09179d70e0fc436de3c16c140789034a1df8cc861d49bf3f408abd0db4fd68345c8434d96b51f81ba3a58399113f27e6cdd856b29426c4c2f7890bb7774615f5879f0c7afa7403c7dfa86e0a51b72d326b8f2633d43f446def5bf7e4321b53aab4e9ba22bffbfcf9197c6cd342822655486b1880717cc58de306705a211598499f102fc0f49e12f4852f0df4d67314d09ae825ce9f475571116326630c38b06aae82f74e38c67a1091662db5b3ac7de2784350f7461111e503a92c1721592c38f4e59f27324a62b1e7be463750b8dd7a851db78f56d1670d82604ab74d574ab9c50caedac462eecf2305e1ee67ce002811551ee8a78434be501c8116e256265bb20e1573f436a98c45e99efb483f3d027887046eaf9639a5fe51efc3a08a6dc481f85d6a2fc392ec69e2c60d90d7d5c534b3cd4393a39c17699fc0b25a90a9148239f9f1248fdc6a945ae1d25ad76207691685238a7d65a13b4ae2c75295fec30bf63851e2e1924d37e6db53b1c80e16ed194b903cfc085bf0324f3e0c1cea28ea3a8ecbabd7dd3c38c45368bd7c99370354579e60193c7e0715","path":"m/12381/238/37/0/0","uuid":"0d4229bd-198a-4a26-beb3-94f6e2068621","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json b/scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json new file mode 100644 index 00000000..c533287e --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"7422cde27d1d1d2911fef20bc7099f669541bf06873129eb4eb24d39cb5b10a2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"b22899a1c0745cd021956580"},"message":"4d84bc989ff0c1483400403ce0f16de23186f2e8ef4ab9a2b249d69c2a741e8e2455bc522eed289a433066631afe88a7577df6eb5cfd4bcd75c84b888b5da729"}},"description":"","pubkey":"0xafc66a7c61f5d4107132536a970ed4513525c4845a01e7b002c78b05ef1a2d64bee877a7d5a14045a94435e807e6d8f472100bc93f6f3054e8e1399cdd0365c8f2329006707be2e67d0fedb77603739854d8206bdb10fd0fc54674b1cb58ed43214b1c541765b0234d804cd2d19c57bbe4daec132deabad1d4df947b670aba00dbe88daa151c18ef35eff336da6c25363694d4abee40f2ffa87a289902a4a23f3a4ca1924b1267fe46db4700dae7ca987a5e572671c5b4ab0614f9513b5572effadf22e211045b409aeecd3c8d3876f4dd7b37905690d23704c19065764ae3274676953a6635915c7d5cfbc25fda0d713bebfe25ac65f6e67c8d92f82d480d1a4e52f6eb5a9e2117868cb9c4a1eecc9a130ddb591fb788500af7ee66f959c01762161ca0c7e4b78b674d5c34f6235629eeee695f3923f180a8a293193c5417097b7398743ac7babc97d4cfea06e1fcf1992aeb912902326c3960e9edee8b948076d7b47c83fd9f019a71bce815dc17be6a0fd0ca9a2a4283c4f349d7aa70e7779469662f1b7f16097819a40288371fcbcff2e0978228e506372086c96c88c887fccac0cb730b60d007fdf5a47bebccf0b93162d1fc2150095faeceb8abe73317b2f4f93c383f7c495149ccd451a1500d97d213beb7a9b928a9b423ba7b60bf91a722ba788c633dd8cfe963aadcce51c41fdae0e48f846a4c5b184b0b34dccb55853ee1ae3c4775df09d8dc8e3180ca1a842e821837336bd5ab5e3f285f99324df55ebc35fa625d44a0c5033b894d0b436c1ca728db5d18d12f40f7aa2268e9aa29d5cf1fa93aa1fe6913267c5599eaf24d516abdf7d12a6f44d468ed1309b3a3c60fd872f3fc96e30fe7868fd712095f55b24144c5bd58ab1f0be345c6b205c2392ff8cb1236299dd65fb88e36e6aad5efd3b125b9e0c2b341903e311afaa417b1cefaf64187843e0d5fb9f72a6f16f03d760ee4072ea8ba68c529b6de653b9c7edddbb7305b72e588ac3b75d5f5c6e3465b8abc5add50f2aab5651245cd0382873c471d00a60accdd434f8a64d2c4cd8df8d003cdfded47f00705b0876f8d8e3a6bab198afc16f8825222c7094e973ef9cc607f1e1f76df3839a452df8953889ab0fe1dd00b5cdac95d163122fa38262f34515380374685f7aaa6d87bf81c01162310ef73c23545ae2c5cf31b8473718a69e6357a3130c61519066992f9823291151f1aa93b49d7eb8a07c296ca70ff591752df4867d88a19f9da09729623eb9c1989a70798b2eadbb70aaac4071f4ca776ab4561d525cc1abc637f1a52bff1daee85184674b6f1600c6ff264415b1a18fe25f4f088e585ed01fe9d3a728eba8025a2cbdb8413cd77e1f032c14c985aa894c04ed17fd19c750f43674c2b8abb0f74730bb623cef4ca6e43f2744f83617f8b6b770def7abd079bbd747de739f2803add932071a7079968e2bc0fcc3b6173233734d4b22f30b154ba81b20338b3d6a369de8f5b57cec122a6c833afbaa8d8c311930d95b8d2847571957194ce3fafc4d16136d75ce60369142dc9864b0517ec1c91f8c761696cfb916b69c7024f07391ea3bc292c1ebae2947c28557e81e2df2bf7e71c98b48387f8ba35cfe4a39037dc8b23c12f4de7b6f9277caada7adb0e94f8de98440b3a9dabf28167d165c9b82692cac4682226c30735d9b93308a553e346437e9ee978f6aa5acd99a14cf9dc0bd6e05403dbdd730678a4163fff9c5f45a713093ad01125882cb12966afda4af98178e79b3abeb4f4b245476a52f2d4da9063888e7bca53ac9979e9e10f880e9c579c2beaae0adfea2a3fad356e3a7a5e665da7137e4d7dca3c1fa49a5d67010581059a7134829482999ed54dabca7fbd67222747175fc530237f80cd909f1c767372421eaa4773247eaed819c5be16fb3db1c75a5a32b70b3c825893aeb850c0d507e9e537d383f1d3122b2ea56aded04fede13e497e6947bacbd10747e463abc65fcec097e58f667be6e284e97dfa98e8b6b87d011d7ce0540ebe649d284c04113d2430880aacb0c97ee891a377c0981fef76b34a19fc5686bc65edf4a81b8009528943f13bcd7c9e5b0522eddcc6f51d25706566831b7e3fda1d31f92ddf773b7218ae6a554ed7865392ec3efbaf8e526a3dba81ef1033e51d9111b55f20be4e0455a97021511c0709899183255c383581b9fa578cfc944fd9f430f1722b6ee8b064fc0b8796de5e283d6c92b47395ccf53469962ccc63b4946a472cdb983765e5b7f49b3dbb733a2aa248e4fcde6b3605c2016cc663926172614eb1a3fea5b6abacd9465b883ae6c555bc8a3969d86c82bdf66f613b1d70656328a619b18ce82e494a11360f91952941800aed6bd062eea96955c92349a0270e7dac9ea2d46a69ff2059ba081405c6dd0c47b18fbe3588302e54b9b8f13dff5af49a972cab8e4b891607b43412004fbe83080a1da62e88dabe53c793c295971b484d265e5d6cb98dd5d738e380ce93b1f17b1c2c0eb6936db3d5cf18bb892b55255cae2ac482f62f977057ebb5a731d18354e0b2c239fc7f218878c296674511d9678d9fb22d378ab4940f163c26318cc66aa08d3cc9ab3e70ecf54fbc4944434a1c145222a62b523c176b6881a6840c67565faf5c8f3ceb6386f5495b792d2ca48e74dc5dcda4e04dbcb84671c68efa4ad1cc14413c9a7570f2743239e897df236b6ce8768353335295a163ae83d0b5ed23bcec47be3c455fbd4163122f9d53ad369d7c812e479d606564af9de30df33e105981aa7e87d7d7b64e657533486324a2a9ac344425652bfd801aa4e1c2afe8f719ded03ecc6799e8767c90b04417be8562573f607c348bddb1b331a49c94be10d0a64e280620a1a6de23b42fc9e4ec67cb93a6061119dd529c0d2a67d0f494888b9ea0353163258afd6bff3d36e1f1e637741cae2b1c9f57a1e335be062a55d05de939d0cb9af47c4dc552005a51269671d441c8c50cc5e37486b477df76e7b8f0db8f6f3143e47ad7dab9e1d7d494a7916722bfabb9dc0154a0d25661b5b7633a3cb0f5599ad3b09274d89a93dbb01596cb607ef2ce2e8dd7809167a2da80dc1a45bcb42809bf8c07d6a94d235aa697154e4cde3754457e83cc930badbb876af7cc583697f07b629a72fa995073a3314161c85c1b163b537c94d096e11267166d232f630454e457cad46549b1925d78a7b947b3b5c047ce0be0ff21926606f4c48eea7d80b04c4e425fc2ec32f0fe59b5815b483324336a055372410ba38dec798e4da3451bbf6d3cf7fcd6db1ffbe56e3f174fe3b6eaa192d9a6b2500b3ea835960d8bc4b30e94bd70c91abf31edae4795afaa5b7f3344ea6cd1f31e877ead00dd9899cc007e6901f21e7e5c317d36ae587567d3b79d1c899f0843e1cb64e564fb541585d9794d2c202598af5e52fba20cf057dd338d90d93df2e9b0f8a30da085754c3163dd94ac76842bb37a6d019ec75586582a78d7bc5d8122a252460cc22a92671272974d3447b0d08ba2a8823ee17d3bb92883ff912b737a75774ce1677b18d572e43e07e843a21109ef1274d712640837f7bc24e343fda02669f7b44fc8da044e9f3c054eb3693ae4bf0811ddc9eaec9481971f45b5c657103c2bd0467e1256e5166f3d136de8e01b5a3aea","path":"m/12381/238/38/0","uuid":"5c133074-bceb-4907-906f-cda2c4c84c54","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_38_0_0-1751540648.json b/scripts/consensus/validator_keys/keystore-m_12381_238_38_0_0-1751540648.json deleted file mode 100644 index 09af7acf..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_38_0_0-1751540648.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"fdf4954ddd6b9723f3ca2e4020ebd25d1ed3b2208cabd322612c6ac417f6404f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f9e0eb12ac65685596653276"},"message":"06f3fc08b7461efd93a722d4b461f8951c8723e979587bb4f03d696f255266f74dfb795c572ac44a45bd34aa21f71bae9e76ce5c4d075286a2e9b74ffba52936"}},"description":"","pubkey":"0x2f66c345666e2e7b734b69a0c2d1142be4fab348d40898e556a366e229c95dbd1d5f8ff74f37ae8716fc191d88a100e1209f9b872dd752646645a88c7f9b24e3b376f935aec39694291dbb7d10eaf966fb589a0c0df3798390ff648be3dbaace4a58c798c32013135e0155ea134089c6006cbb073189dc0079987cdb8d354006ad51477e95a1a8cc0f5b83cfc91ad459ab5844119afb61e9ea31e0c06b030a3e188cf04be079602bc486670145e6d01ddd5c0c4a283705beda7e6e24ce75c1c13a648b482f33fa6303516162fff5a65ec7534320627dc2c14ad7ac767447a7bfb80516e86bd0e8cbe93e75aa2fcd3acb06fda4574fa4d150656a2fd8525161e79c21ad78733b18e4798ad07d64d879733de56350291f9600fca5c5a6933a9e746ee77b5e7295f2ca85534dda02eee024be50cff23a7d08699b5fd8e56544139dc0b2d9bdbfb2c4ee269923c3a07ce71f3f59a289b9995cd95844884f4b6fb0a508337c39a5409216f595b883732f94c2d2198013f92eef37f8681af48166f1cf87b87ea4ecc4e28203d64fab2fc53926ce0d326be14555e8c51ae65930c5f731fef711420050b6c5868dff127ccf522591f44f10c06cf8da8226639ec203062dcdc86a7052b73d2032f26588a0ef163e0a138e8367ea4f77f1ecb1867725bc54dc30c451d848373c6ac0297d274de68d9e706c771491707d72ca17307157bb32f94b0b5202102745b82b7804c728f7724ead3226842a43c7c2119e2cdf2dbafa22b28cf895dd4e11e7841142b4ec111c90a039fa41d2c53bdd14728cafc8d78f60ac84e30df15730f9711605913bd7d224b02e390e1c3dcc00a6dd8d6e27abf8f45a48e743b883b78c0ea5f9959c9d1f9e64b0181b63111189268aab1a7740f0cd2df975be3105b01a9338513a34f644bee67bc3e6b52c4ab2ef068a38b5b2547dd8cd1819695ffbabc703654ae0e5bdecab5d685e8fc6b34f46232146ebc7f936f248eabcc8a345e88ba1e4f06fd42ebf30bb4218ccc9ebb001c7d80752b14883b01f658614dbe7f7be1d8a7a159acf86e3e94295e08a910478e5685bbc9f49b9328f982e9186f053d4b5ccfbd6757749ac84b0a6af128e5d3207d263c8727d5bf8edc4dce45eab41393882004ab414b77c04e00aecfd68509e11b8410c080cc77e83c0d8674ad526829fcbe064d6e2b902e09e425c3c501ac56e774ef025c06e37ce4c9f9561394a59bf84bbad840b74fa8aa2170db525eff18c7b317b84864d131eef6323d525184fe532c148d86724a4751251194f4e792eb9e98c42a5cf45e1b2e65c8c8f6dc7ca5f59c9083f9c0d5547fe57ef137e470b93db8e9d8f045a620179919b3750625f846e6fcf1bcf292675843b54cae7660dd7448ec0e9a2f393f1dd799eb49213fc5744e894819ef8b24640987a79d432e2b781429c085cf343bb279fea3a22f26797e0a4e87c0f121cbb5c0ef9c4c3d0e1dc9e1ba69fb2fddc0ff19e61d11dcaa369f27bb9cacb4db47b06addf1f7a7471936582ddc672cd9ebcdaeb76024b05f6ae81f9165667840c9e6bce7038e87113846aeaa31383a4b3f9e46f0a8b0a36f60d67e8f4299d5d007ac47bf952412233af21baa8311d7d6ecef37f3e839a031f291ffd6ceb2da70f0ade0161f1692cde418f63a2cd79df7d4b063ed0130696a060a0adb87082de7d4270a64f68c1bab53a478f8699f7e828c30eaf86186f757c9c85da0e1940212bb0098ede8a20714e57ddd8fe26beeac5a5bc4d389a7d6c3e16385b22d6fd9a31fb1535ab5c3b3492c5ae9184d87eec3be817d547f44c247286c167288a556b29bdca1d876314fe4bc8d69445edf34d6c62ca791d56c0d1dfdf0d66c94b3fa1b6232a9a43653f09fa10e15f38bfe8e4bc23d0498f694f4d8bf1c394f854bbe62124fd6636599a2325cd949d99ac4e5e5d436ee274f9ac404927e708a83cfbdb286c433a7c8905949ba94b20624cc5c7698648896518650db4a166e38cbf8d952c1c2963541dd0c60ddfa3f8e0d59105e6ad4932052d546cd5cbb2d2257d9b96cadbedea94daf804f13d1936bd0a3a9016863d17a3174041e0392d727ae9dccc1f61f427ce16ca54b0f275ff88b012d51ece4842f870f8757346a44299dd05ed3a8e20101e7e61e142ded4d867e0f3f0a5328dea44039eb575bf9c3658d8a6e0c168c296b8f71a7bab48344706e729a3eda6910b78e888b8d131b1a6ce4b01280931e0de2f3ee61859c183eaf5353712dd03c3bd35411cf2a7ffe6a453d50d5594109f01b34e4b42c0b0ea79a43e10d9057049a79c2fc6eb648c7ec1bdc3216a7806f54cb13d982201c0f28906138dc12da030ef00ea583c2fc6d6b453b98b13781cc966e8cbd94805e2cac8880fa0210e9a555d3bc36d1ea8a52ee3839b8254afa098633ff8fa7da9db21ea5b26b926e1ac0c1fd02a06b031b6a17d293a5dd4b500fa73b2f537c1d4dc330e70dd1bb3b351197873ecabd882160edaf51ca9904ab16b527c0c34a2c38d7a7c962f0f66cddf00df1931f56023b4c7bceabc4a4ef013218d22227f7fa4c385d8c0c49002bf9740d1bf391fbe1060deba00b7bd21d0b3305e41558a4e450842159d4a02637bbc858168582456565567627f7688ffbd1ce7ca4df2bd1400dd46dd1868e97cd6039942e455fa8b7ff29cfc657a5c08ae662bc85ccb6e35691774c7448be818897c46105014b4b29c608918c9cfcc7ac9442c8cf7f7d227a26fbaf2044e8f8e5c41c8c86632e3de646be05a6ffe3ed9b1ace267151deae13874406af1a7aa03413c3a7aff295776679ac434eb4eb0f4bddb72e0e26b1f7845a0d1f89664af6bb70fafb2238b5e75999273fd91343e222a9d41fcf0527019a799e835f16da1926a244a09a25ffec51383afa8f7479359a2c07ad261ea0b306d9928e10d7c11e2ce07ffab781780e7244ac009b7a0281b3d03fc205b24fc1096c09e5df80c50fb0fbfef834d4c2efb0074b3e2c437f31851460b3df7349d440172185273488aaacf85d4d5257a7814a3af114558b1fb131c67a06f356fd712d02e0e9999748839e3653c7302b4b585ce282c8aaf0958c1fc63bbf6ce31ccf7ac78e9123f889b3823f1de2f22cf61f9dfa4db4dc8a4a06abdb8a492246ea7467e433b2d461d9e0d267290fe244ac17f16f4b5f5ff1ab4dc3b1e81e76d200203cbfd9f9d3a9cdcc3e7ef89baa0d90bb0895f6a88afada10e10b8c1dbcd12dbfcbba7f4c120400dd7a5a04787b6c51a35a2e0e4184055094d29c6358f16d8e92258e1cea25b2dd176059ecc30a925ccaa836a7147cf8eed4a81c3f4be29c80539c8416aad48683b86a93ea30139b2ed0113a2bde0aedd7d4270ba8f3711f2a2e39ed37f33eb622ad45bf987cbc13f2cec51af6a34bc52e3da072f51aec2b07deff980eb3c744f7b143aa224fc529b4c2e2a91199ed04473eaa37e521e11a1a5157a2767cb7f2cea84f4c550a4ed6cc29d2faa64c79765bfa1b379b8b2d4b7f1f1ed2f9b8746210bdd8c087c43926cbde61c46d3f7bbc5f4efa90e26dc3133e8d89106905ba4237f68fbd7be4555ba921a9fc490baf7ad63ecf3faf712e7c3535997d472e22c5fa9ab56efd97502b272ada1be77c6208ae10ae7925c6b2bdead1ac03f90489b6ebd","path":"m/12381/238/38/0/0","uuid":"fa570f8a-a603-4f4c-8cb3-db3172449029","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json b/scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json new file mode 100644 index 00000000..cc5a0b2e --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ec031ff6786a22075d3dc7c06d2a22e14c26459fdb09fed4798d8828ad338c1e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9f7f7d485d9de71d76050840"},"message":"ff8d9138f08a1c9d7dd67fa7decbc63da43195f9216aef29cd1977f6398fe9a28e5eff7d101f4cf1c75d0cec5b760b37d1fb9b3f0c05b3ba9e59c265ad3c25f1"}},"description":"","pubkey":"0xe0f73f55a0f621268bb6fe95d3ec22770294ccbb9abae10388884c5147c389261e46cf101fd96e8e93294c13a8645f0a4d1159189e5a45dad3679498bfae55b68a588150be4cd5c3ef103cf6bec08dbf02931707d203673403f5997e4a45426913a8e62afe381f0a5fa4bc3e925a8c2e84e75bd1c69931ba6e26ff9bf51447ffe5b91ac1111fbb1d0ef8a213019ee89cb159b32a0ff47078d718e5a02310dbab95255be95b5e34c68c066718748c9645820255136a6d10c25fba683f03a5fabab2f95749302cd3bb92f0976e75d8790d1e577f998af2a5b5bc5a33ad61d8f9840e7ada10fe6dd0e46853017e17fde51d536727c817ad2cdb6d178bb0857184981a4fc84e3d3c08c11184e31caccf1de392753cb78cedca5c507bb02a4248db3be70a7e85b667c13a82e33ab2dd79a71e37436ea3af899179e68752df1a4cf557163d205b2b870287514be37fd1c6373b137fdf613894c32bb63424e45433ea8c8abfd5d433a94c7b5e85b19c28821eb8fdfe9fd969e26540a4144491a8558df6b4fab48318adc3b278f8393526fa4a4881743b8f728da55f31abb50f05556714f5e3f84a7d03388661affbb94683e936a5ddb0a5ac8f2211c2d86578395a5186fb1bb7618b4adc0fed64b4fe86fe826d81cdefee34083c1ed314770e7c302db8fa023509b11d83dafd750771e085d715cc51561d41e0d6c377c6aeb0b0ead300fd62977d0977987b5c8d9876cc5b664d965a77baf4b3945262bb659270ba0c085c0ab6938f3e02ab2ab1bf7af83bb411d4d1d9bf9fb086d94dde521c670f5871555987065490e453155b0427e1864327f3e71dbe1131a167557a322061df678a37c01760940d3ac06a1eb15dd51d287f1fbcac268bbc6c919f6d04c8fe6838b3ac4563c964f27fb4b08b39e2a7cd283241e8176c9c63b4004a7e96f8435563746b95a77f21c2bffe7d216170ef33fef55d782ba73b07c76471f3d74b51f5c87fe758089eff17aa36bf303f64b0c579048f13eeb6ba0e964600ead9b546a887802e3717aa21cdcdb3665fb3bff904216d3702d6930ce8fa86ada1a4846dadaebdfa1e9027a734b4acc2e67b2786b50d4c1a2de8ac663c6bac9d5da1d4b80d52d0dae4d04de68fbd67549ee923972e1328208d450bb788a510ee14aa638ba31547bdbaec9991253f48b04fbd5c3a1ce78d690f8a336db2c92a998d0d428695b51cae83f1777ad6d7b4a664efdd799c34ccfab9a889fa77fabdf1bda660cedbbee0a4d786028e6542b966d5e810767f71d4bb7ed9a0d27532462694acaf49fd14bca17252daa6a2e14901c6041141d0318998e2b9d0cee1af8fe7d3136c62c1cf18abe9eedb24f7e25a7d548d1e75d6f4eaca391d5a9e29ceb6a7532b8db8b3f60eaa27d036c02ca5d4ff91c38580266d1bf130e8f672043811abcb9f2b7039e7f5880bcdecc7b1808bef082073e70269478d5a7b561190e840e2a8b853e9374360f5820af7e104a179999ab1c2af89a43f8e331b209a54aedf224b8d399e70ac4319b972f8a30790642603d6e55774aea9614835fdf182655968ba983a1c725de3fa5d4bf9a87103527faae1e2d8b2d768316a22d5c0b6bae55a0d28d23d15e40af5c3b657ab811d69f5a502780decd58ec258b3ff70b64d58e0de9b90ae5301b9c0531d6f2ab9c51c4b925e77068912a2b1821fdb40a1989f0709a5cf7332fb6af3ecd02f09e21e0f752c2c7050a6ceb8ccb8409b9d25293bc633bf605301ef665b88a706163b495c24b1e73614c6e955458e2fb77e117c74bad6ed1151697df0b16ff24460c032c0d5f2aea25941e9ebeb5e512ce1e1a2d465ddaf826937fb18ee79d2ffdb9c9646a5eb8a05ee32abbb7730ff242435e50e792296c089cef62794cda8b40a5963b50f46b15c9c88b4ce9855d0d11e464f96ff15521a239ae6af8b579cd9a92957c91629240b5f5a881b2fdc7adcd40661c3579bb0960e845f92c5380ef97addc04e8896019d82dcd655a44477868d570defebbb7c797651913653f5b22144f3e00e85e08e472cc2d1889f1e7bcc784abc36ef6a2ac0160588611c01a74ac4d955d5595e335ff66ec0aa50710d68ceb5eed5d8d0ad5decf04e687331d326b700766b457de4935b4a621acff50a99f27c91831109529de057bec256aa6b2b4ed7765b15d21abaeee841037610b0dc05cc16dffa40550b25f657e3ae1b4108d494f5275a0a9e04ff10227f19743f76cf9be1c004f609060c1b0f7c1390b6a3683548e97617e3e72a49c04158ba8ce5451df6140ed612218745571cb7685697da8eaa163f6bf33b1561890717ffc9cb4943073220052b212c486c77f950ddae38e4a6df97696648ea6847e0fe296f66ce46d953bee501b4a63be4643bcdcdf6da69e2c2b3c4e3d304c84151862731ba4cecac1b331d9d46a9d12ec90716d8cccafbc96320831a267edd3cb8d4aa8f80029a8cc16ee657ffa15513b22ae871f8a0c7d5c51f1ee0274b5bc00bd446c8071044c8ba0a6d3192b15286ddadd0eefdf59a7434de9e2b23fdfa8c7e28319f11e45a647f3366637de53c1fe85be902bb86527026908afb362fbe6d281044360f4f9acad3863d18c4eedc31b1bf373d768d24d0b61f48fc96ff3ccb88bdedcb51daaefb4649d213ceb8bb179cacbdd07fb08495705be9f4547c5b7ed7e92278e02300d04cc8678918c5c74544a2d86df4071fbe9e80e4980891b4f095cd39636dfdda49c94dc3077357244a6c236d51894445a00e7fed7a4fc1c3045876f7fb0aeefcc512353564445b0f8f916ef449c8974fb44f1481a5f0a1d98c52219e7ffa183281f86f6f53254fd5462de3bf88e07a917504409a8777b12d36defad72780480c1c77b5b9c22f7bb9f59eee557d9fb143e83e94545706347ae5896ea152a8cdeb89102ca0d16477e8b4dc11ebfa889b02f946ca18d444e8b6caf715f2376777a89e67a6db38e5ecfb61cda300ccf91ce6c305d06c11b8a4f5360932c8eeece095f90b2d8ff9867a28d2f3a70a124873a626db64fc497da143e82d935a5f466b75a7cfbc05e29e89aae5d2c43259e0f9dfa2f86b313a1b51c3e821a48f2ecd6465d2155d40cac7b231b7e217ba139805de04ec23dd70c9655d8958999005fc83eec562e026230b62f9479818d62eb9ac29f2a0c0cbffeb5410ebb0140563e11e9b31fc5a85b2c0aa8146b9829083b513b5aaba1850556616dc69c9c936c459093ab76e259c0be6fe6dfa6b259783dbfe718799032f6445f9a82174de9f10820a847c28333f9dec8cd3d74b2b9df1844cf2d728b89b81cd86334274696bcfc6605db91e32e7dfe53ba7edfa9a76c5a2dcc0aae35cc0dc5ba618daba4ae79dc31642677be3d77f137251a0c1d3a7997d2f75817baae2d1455fd810451f42790332f0b91e1d9f6ca9708920d39d1c53d3497f7cb6ee70c009a5283ad857df3dfdb25daf68b77ddcd2637c63a2e72e9cd8f59b621847ce21c5039b63c808cd290e7f73cb6c1bc72d8c52f30a8a4db1a1d56e5ea87ef6b1764b2eb8611f1f4b0e8acece0a38fa8c8c6842b9fccb80efda0acc8772bda99a959e62aae7d42b73b262bd3b5e93aec7dbef34f228bab0408f618341048495aa72dd7ce774ce3d23cfaa060e393bcaacec34c993fba9","path":"m/12381/238/39/0","uuid":"2d2ff6f4-6700-45cf-a098-851c4390501a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_39_0_0-1751540649.json b/scripts/consensus/validator_keys/keystore-m_12381_238_39_0_0-1751540649.json deleted file mode 100644 index dae34a4a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_39_0_0-1751540649.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1daad28f285c6d00330ce2fee06fa44a074d9dc566a7e7fa73ac3188c83f0ad6","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0ce0109f18118d98f6d5cfa7"},"message":"c9f8eac406ceea463df77c4e9b5299c6fb4b3e76bf4974c558cc1f9015ba5a271fd1e56833bd08adfc77988e7bae5253d152db513ca9b2954b8cbf668b36ad79"}},"description":"","pubkey":"0x234d67c1be274c2f09442dca02c3010bb631fa67919eca374b26eea024b75c12ce3fa26bc4e5513106b86cbcbf54a48401dc63552535e194646ce928897059f562a1ebe7e54c5015d3449f975a27efaa16659b3feaf8b01d57c517e4683649914237c8f56d992c331f7d1ab102319196b0c81ee4ad9c5c34e0b0e8dd74d12314cbb6f64c0822db1bd890f532bdce08172910922b7e60930fee9e899c79576ed44e0718ebfa2bb6819b7a33960205c1ee77f3ba204d5b6603fcd73124493aa293af0eadc5b358bc011d96cb0195d879dab22bd7fb5712cadd4ec5288c49d92faad73219cc06b2a49ed481b29443ec00eccd4b1ffff8d313402756162da3a40a86d409a6bb69df04d0eea83ba4424bc632693ae1d29f478a7c01febd27c9715d093c9d6cb00d63b81e89681f677e7bbdfc1bfdfc417a4eebd7b70f007c3395896aceaac9527085636de4491315ab3f1abb907536b3abc3b358560dac8b53c631c24ad3c7b87c4f5d1ec473730c2c590b471c675521ba3482c8fa03380821c470f6c8ce7e1ca93802125c3916b20e9e2d8b5bbac6cdbc0a34b8c83ad4f43c1e9cf6dde2d6ceb7a4922067dcd470bd4a0af80a98d9cd025543be800b161b55d66cbc96a0d66eb13dc183544659c2ce19e8d7bd12e88aa3b9e2be1250a911516e4551b44e53db1fee112c795b4a4b3a8ac796493cab57a00bc45c5fd43d7eecc21c499dc7ca6d4c7af4d0222e3a61123c4ddb530ac9950676fc361dba26bc3329b7f464dd79d8bc4efb451e7a6cfd0abb954e0afcb91dc2316c19321d6ad44a3b4c69217bd5c4eade072fc3209aad7577e4cf74f95c6ce170ec2d3f47db8558f8a2acbf16ef77b3a5b0e7743d37d09831faf09f3c8e9864be41453d8cf9c92c41552d5c9945cc3c5bd5ef86da47ef68efbe9e98ef75df8aa8c959d892c1ab3a90bd6194f7699ebe787a42e58c386c2b69be232848f6f5418afef5de179cb0d213dbe5e4680141240bc27cf27a6f61641bb4f9f880e43afdf2efd85ae362b0db4f53e3d55d998e8f08fd209dc1aaa063e62cddcb6fa4ce64813011d34f5488edde77713408815a7b5e24dcc0de262420a603e14366b5855cc048ebe84a167d81aca3fe049c4df0038d19f1f06404a3ae4905e3b3f0d8d39fdb7e15b49987c9ce59573bc440b0bbe1ece40454a60608f644f0ea255f8d4240e457009db72de67ff311bb0fce43cb859fdc5dce0bf6951881944e9c4980a94179cf470dd19a7f653a7b1161a7ce2d62a219ec07156c0e26f1d7a40a84d10dc85e12942ae699fa6b8acddf930b20923d548ef0f687275afc5c4bc4a045b733faeb5e1fabe95ee8ec27a9f500b9e46a617bc3c93790b2f4ce14c5f8618e417e530c9ac0ab9bb7f77b526cd83fdce335377a17a7f6a804ad9a9739f860e1eca58effd90848d3a2dfa81663eff288def2ba390a2a39b38ddad7fd563971c73e93f33e5a009fca84293268f7a933dff159e49e5689a58bb5f525594c36e82f376c4e87cc7511a2aad247cf0a2b747cc7fedbd2ab79da9aa72610eb6298e545d741d7410486bec609a97e7b62e488f3b6fb8e83cc935ed227281349a362f5a635597b830e3b9a2d228f56daf8cc540bdced70999621b910ee0cf35d269d736c4ecc5e9a6f5c9f78b3c3184e32419b99c3e9152709b576fa39da211a06a8f2883158e8aaa9e690d7871c416b92ef063281ec5f81f5b0ce1ce5286b70563e807dc44bbbacac0405175b040df12a2866052c3a0695b1373c528f1f95c14957f07f6a0af9d1b43174b87fa011a748aa419fe78c74399afda61415d282badc0bd889e51e53c8c9674881ca2170b4d8abe262d8bdb166031694512859c59b96bc2f86d1627e0fe4ab1abac0d210f050fb227b7fe508da957a1bdc0db056c2efdec765cec2d18955cda9b6645891affb1a56f94786d3045279cf0acbe1b6057cfc6cb0191287c3a44569ff4e14a816680dd2ac20fe4a07342a7a1a7b5454c2963b31cfa936bf88f3ea9cb0a9bcdf7766f63107557840bc6c32333570811b88f90bddd4f065cc624d18a558dde0ccbbfc0e72da8be85bcab89a390a6835fc1bb456ac6872f35e8da88ebfdd0951794078a3751f902fc7332bd13efe7aaabd974785b750d9c12b0d638e42aa7566f4fe5adf5cf14068a77e7a10f6f4eda6675dfc9644f830945307485afaefc5c1f42d0cc6abaef7568da69269dd284856a3a37b784333fd7f6627dde1b2e25dda992a0179fe8c3a3e0fbb7f5d1b2bca0cdfaa9572bc4f76e5a8e5b70e1013fdc138f5936fb891f509f892880b78ef970a1ebf5ae4d4c92c4d7f64b75476b14cfb4163ddbbce0578d2be29dc23e8524a3fd4e7593938d05686eb3f36e390f5e445f4fd3aa9c9a3751ab4a59829070cf5ff4d569128206926b5a2ad840372d018999c21cbb4d7b22d73b7ea28badd588a727f96433642443e6e81cffb47cd89a7a567329badc2a5afd261879ddda9475c00703d62a0d6cf6da8eae9138d6a39445b36272e559642ea7d5e670027b5ca6c0fd2cddc003bafdd749b23e22f3fae89861a6240e2764b946c0635de624ec6bc6eb9348b913a9259048d06f6f7083ab8164df7e14d614d679163057e974d96cee5ed9d2aa5d5a7f479d070f2dd82e254632db8f93dae7db237131976f9d8b62a69f3342b04ab866fe9f85601c1368f066432705fb0e22a9994131e5fd400ad1055982226244437d019cfad21f1dbb21ea1e45edb3a0cdc713ab8df4e0d047e2ead5e4815ef36f9fece2eae4de039cb8f46b58c52f5e874ee4c57c4fb6304cdbe2b2c534f637f095cdb8afd61800ef53a4d60a2baf3cb92b5014c221cf8b30ee90bc3d077a1e1d543a4b71ccf411dae1ff316147a260ee3d3de727328f94285d223a0f49018e570d98fbddfebaead51dbac5af099d8f299cf6864a5fc8e7e2af5a3eba6b711ad299adbaaa25b3b744d5936419712e9d38215157b77608bdbcaa33406ee3ff6fe57076aa390a46d88ab94af6b8f01c8236f15b057ca6e914da0c8b74fc187e9888538fa5e61e9611383231be82be359779acd7352e98e22603cc9ac51a991f58ce3552b6bc32c217f548c39cbddb663bb1605d0a6d7f68275b819240d0ed2db4622b60a4a72fdd6f27b3de36f07e2534656bfc8dbc9699991923b79dda948b15aab3ab8259a1e156fca8f982d761b4de03561c3709ad05a56883b4f56694d2f43eb9b398de2f40d3753bf42f378e88a172176b6ad075a4042f11cedd746b25aeb852de8da576a6d7610170ecc38ad7153c544f34d7db924abc3d82e0a6f42b301b2b945fe986188503cf76ce56e2fc738f0135282df393696ddd0c38bdf91299e0aec9ccde23f2f83a21fe69b487b28e787efa28d72f00a6dbb592d61b2e61d21a51b90a67f86fd0379fc604721151f4e9ad9a1c2383bce4852d42636dd9c329d4e289b79c4e76678cd8b6a276f0e0c4c61b694e6cdaae9c667b8bcf191fee951c384fb941eec9c04469fb3c3997cb421c8627ecbffa20e99c8971a7b1078829268688d7545b3c2282f66acb5268bb2c41f658e03cad3f81f79ccdb9691f6f436f24a4183e808512f9f3c300c0dd214466c4f66eadb43552af5e151be2c7a0c6e77a3633852cb66835d5ee4c44cf2e5","path":"m/12381/238/39/0/0","uuid":"1808b4bd-03ea-4e0d-9835-e00c19db0dca","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json b/scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json new file mode 100644 index 00000000..a12ace43 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"3d737810471068361fe393f163ed4caeaad40e6c471beb40074bf00e62f69c62","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"8a8c90eb8f149f87f4cfad20"},"message":"ba06a2a538b90c85ef332a7407d11aaa260eec9a0f2ec7b080e3eeccea95dd5204aaa51f91b654413e5d6eb654bac72a66d91b307da04e53bf61eb2149c40503"}},"description":"","pubkey":"0xcdb8621463fb0e4d78b4bfffa2a95672cac7a89094312716a2bafb1b2d97a84650eaaf27667a5db6ebb7473e3ea65f8da92ce05589d4266370a262c6ed3ce2c6cd906759ab0b798604209dc8a57b71a3c1b9f0fc55e91d5293a99d4c6fd6eada8bc7165619f5ddf13dec4c5d51c6b12bb026a21fa0da4a83347a27e0a08d4e92fb74f76d8dec56ba6b331881ef9f044100badefd32ac131f4ad74f0e4f4e4034bec87e4f9a9c5be63c1477e9a59d8c0dd0c80099b59891cd4003416b82b5b8adc2478648622055cddd4fcbed139fc5ed1bf5e12e230ec669cb6eed9c1caa030ae3b1399d32e517902e3d6a966ebcb64e47fe968f9e19ea8ec436fbc6e5ba0f9c8e864e43dd856fc1266c1cce191b764633349d7854efc2e3066852d509812d1f3e7d98b49b12c7bc5704681efc0d191e9623b2de0e8c4793bfbfba86c5a59e13c79b124f85c055407fb8ae68760ca08ce2628e35132c34eb881b2bb47271de556860f252e429d4debc0de5b42439c1234874267e2f6d6e0b43e11924cdfcca88688d07c5bab0bf33a9d7980970dd77060c96c2e939fe9dd627bfde455b6d64d939aa43c05ac44a375c783db0e8fc089015be5d7bd3143eae9cbe4abbcedca9850e75649a0ac38358b49b95a07d47c35cb721bba99a0627e8fb86c10fc91d7510472b4d8eb53fffa3b5fe9bffdb84f281120a6466a0eedbfa39057d9b0a13fa225f52395e0dfb3b1957386c5168c2c0e847d948cd2679748b2a2b772bf6f73b7d464d8e66023b9c09d32b7c3577ec489a829e91bd5dcf05c0cfe7584273e71dfbb1efb7657b6d45c27d5b6cd886f43068f7b45b9bece0b1bbb66fb7f9a645faa9729c390ad309612d7dd4055de1f8a5d2fa99ac476d23ed7557db5912238cb8752cb4ca63a1d6c9fe6ea50d2b7f36e309ecf3c3b591cb807ee74f6c92933fb6b7d176ab1e97a078ac910d3d60273ab73d3c5f0e2beed0cf8e1be6749ad49369154cbe2f4d084fdb50f28c8c079c39d5c1091acf374c6cc778daa47ebeb932fcebc79b5fa8bd45b690cb914198ddce6066b28c45ed85a9073bfb5707ed8ed62bf0f3e3a92d71269952f5d0ad3ed5c829ddccef030f8304a7ee068075f703199c90bfb973f379b16718cf62a99083525427cad848bda67db0519a12ffaa275dede9820364420810811ce866ec2c26fd570ab009bdf052d900a04a6867137c7fd219d28e381da3700ef9f6571e5d008a48191772dac03850aabcc6620680ec37fdc3bc680d8f943771a0875a07427ea1cfee52445271c9bd48b45e30317bb5dcbd400c128d54f4f7cfcaa33c18bf34853cff396e5b9a41f43d4c61473f1ba1f8e6b39711913bfd2d1d3d7c8906a3690b8719ef8dcd49d28ad8aed19a91a311c285f117eec98326428525f7bb5946749ad5b8b11af33aec52b1c01d935902bbb1d86178d0007a841297e93412924ec3a67e6dbcf2b41e46549d337f2e192e1a55da7217720fe7e56e57746e98f6fd84340cab16f296f3210de6d6cf7bb67a6eecfac6773786394d2b6d7f49550f171aa4a8026cc3a5a8d93ab4e203157d0d5e2d9fe8f7375a120a5eab5bdf449b9cd003ed1c6b13b94b225a6f63a14b0928d86f35eca66214f4e0a3aaf316ee02b67154a26c6126c1335d70a92229fafd19019d407c263ca706e3225b38affca09e1b61a016f602ccb4a60a33699a1cc6335620c596c8d1f476a35453a5c8690a05ad348e67c62ee12a21c34a6e96cbd4906f9b560f476b3b582772f007a78485a074d63e0d72637ce3508145ab671d3b11e8eac69288c3e8cd45cb029b01776ed8cfd8cb3fa93d057b3c2a200208c64b800bba4ef9a2654a3204eda1e05c9429057304dd86ad1419107fdc63831b50b1a04249019f9ebc6d7132d76fa956053f1c5b95637db0fc85ceb8f994cf410a27037a9ea78e49837f855a6d9d417e885753b434060fe9b44354ac3557858f5d97e4cb26f2710025a22a658c10de829ee276c9090dad0e9d08f71f5c48977160e0159941afbe39710a9afc1d183e2fbc4effa0a70e2c0005b3d813f49ebda28f3882c994157439cc870168f188d58d887a5335fd299e7f0bacb63041c7092d0b7a68b34f988eb33e2dce955ffaf887b398b35cccc797f38e48a28bcc73e2eab5f7b4b8d3ba0f73917d054570d77c175e9e520925a05745d6917f5ccad44b70e708afbbcf73cb5410286cc9ac95a8cfb3979e27d3c7ae5c083d5d924795d406ad9f286a1b9b222020864c0bb606733a0e1bb591b6fb51659aeb3ed673b09478c318a96c0f0a5ab57caf1fd226822fb220ff665c90ef82e2bd00355e05021ad1bf2d2f9608872910344e6acd1de528615a3af841cb1ca6f1909434264131774ada5d12a45316165879d37bb0ce8135c549dac66e21f1581b80a882bfbaf3b83727f87c74339d63be62db1de8938dcaa42d0a02b4d1447a1d607529a20ac7f03acfcb6a29386d758b83d9a8f16dd5caf820b0ed41405c0911a2bd77b6da826752b0ac5aef05b44ff8d480eee3c8a5a088a590f95f4a08108562c0610a7a041f5a7b802f0aeba209390302cdc9a67ca1064ca383d08aa68b9819773ed6125a1eab1b68f367a118e10bda3315edce8db5b50028ec55a55f01fb2711b5178db4d5eafc218bae489c392f90e8dcd1e4fd9ae2d7938edca841918ca26f7e75cd5cbc57175f63be3b973b94da20b1ed8d096bdecea0fb18df5af170698edae33631de6ff47274673345932a73c44fdd81f159289c8d31c80d0c81cfb8a9aabb71963a900f2c6c2e8de1493df703cb9e430f61819cfd945b786f8eaa1c0625ae3c398a3ac82fd24100e0af7ff498e81f30bfbc80d178cdc40dc325179142b115436a87cf9726cf9b165ce5fe2209210f819817ca8097ac842a25b01d89b902f5db6314e6e8f9f6e604845114d0b5628e18ec1bfe607308dc6ca7c6bd75df1251f7ac6e5d4c80d216d6baab8b6645a90511d10788eccd86a72f406a6f9524f411b61f93ed30139cefab8ce95ee21a7087e3aac59ce1c3321ac19055e1059bb8868fad016db9d645f22d973425b47299e6e740a5b564d8d2c8fd9247e92bc002857df4b8455fd28f4717b862bf79a3825a7e0655be209f07e0ea5f3d24bd194707e2b604afba15718b87c8bc6345eca90403ef80994f509f6e08a0e530d0508cc9f44653a5beb73b057227e28abbb88ba53e6500aa73756484315746f667d80236eb92c1f388e3fdeba18f763e3b55f34ef08cd9790ab713497476e6a856bac71fc7c190bfbdb9a8f9ea3fa8166a61be5dd7e24cf5cda3d9cb8d4e4af2e067b552e93912c746f8eef3f4842f6178faafc3c30ddad9681c16f4c44ff9768bfdc543e0d06282543e7e24fe1c2c368c0e94f050dd3e1730120f61069b20a1106d83e368f1e1479eb60e1c2c91ff3f9560135365f945b18dd10b6ec1cf64a8fbc5a9ac144d03785d71df4ec0fb651c9354bef31c1f5078c4bcb7446da807567e8e368db2e433d5e66f3dc8f309680435d665598ddfe68d150ce77178b558ed734014db98983ce9c97a6b6305ed1afe638be87d613b5defa741e595281eca726395fe8bba43479a4ce83bed2406792fdb5c1ae174dc11c7c010c8152243fab56d5fbe486bcef9a55c7a50a3f7b7d1","path":"m/12381/238/3/0","uuid":"bedac17c-1639-443e-ae3d-90212b588e9d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_3_0_0-1751540599.json b/scripts/consensus/validator_keys/keystore-m_12381_238_3_0_0-1751540599.json deleted file mode 100644 index 56b2e52d..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_3_0_0-1751540599.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"02a945da2eb43484fe3c690a648caa14489ec2362d02d8c86a35af2eaa5eae37","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"362e290471623817bd97c926"},"message":"d87a1f79754281b45aa5fedba35ce806100397739c44601725909c7a9451a8063d0f647c10522bc3bd001df935b8647ffaf882ddc832413d5943e7f29b9b9b8f"}},"description":"","pubkey":"0x96e752afb9a946f1d592e59edcdf4ffa4e45bf58455fe96c4fba67a2e48700d72ab4763f18e46e72b819a2f4aaab12a277326d613c4af148c15b1937cfd3edeee76059241905b13d921f8bf0c9c0736fdb2efa7fa2dca4f87dc129f574b9b84fb8787a85e09407e9a1c67715e814a1bedef7beb8cfeead920973626eed3cb11aef90441ed1834f808147bace359d256a55faa6dadc867895cb8df9abbaa3cd9c449e1242c201f3c5ed79d5b9a36ea2099a602a63204a95e2e5b80bd3894cfac498169796f729c887d8372e6d06c907b31522b63d84ff40eaa457ce611191b1c61c949eead42f1406fe817605eeed4dce9ec159df016d425646a94bd43a1d167abdc3d565111cf069aa255549d080d3bd7b6258ba5b55f7dda1412119d94b0ea36431943c4e74622a628d876ba00eb14282cd8b3b83a943ce290e1269cd8601ea90d8d36a8319f6ab2eb6a25676d03fdb360a3cbd9afe4edc5a02ad928e65ab7600ca09484e658c24fffef370e93fc4602078fcef25b7535e05f3051b2fbc24c5c623b46ced8dadce83a4ea57299015d1e330edd66a934c343d7af3c4a4f0bcf9b1fe17212ae3e6f9f9dc32bfc8785754eb44b8b24c5684a17bad55f972979a824b0d502a81fc86c1e8079d791a970dfe7eea1cac8d9e9eae83c5fb2c30f25ca60b9b92f352ba40a5b51bfa9f17640f69b00f493c32c3d2b7ba7d719df0ce0b00bd5e6194306a126a778adca1291a2d294cdad8be7eae23efb04757dac653688bd0ec63c72113a9cdbb634480d8fb7fc9d41f6e82ac8ccdb13722b38645d47b9e9af27f291a12b1404a1b441b739a21fd299705c96aaca9e100f551d33f7b3956f67454d97b0c27f41f0dab3dd17c40f015e36d9b459451cf7b9266fa3bc3da9b052d7707c64159dfb2fe35f50d727f2f87febc2e26d8c855d8087d499b67fa74a4e47aaa260354128eb9c682675b0dfb07b5451f5097f99c2ef8cab0f82f05c648dba45312ee7080574090f956a3556ac205df3697bc8c20cb48af703d14b874993d77c831fab0e5631560a918860295c439dea22478fdb77d875613af639288334c10c134c4960621795a80d095c2c6afab29634d47d09d323f1159a9d720a78eeec85e87f6bdfab70d341310ddefd6f7a7a781fcaa83f8d8b5cc0f90ec1a599ded9a8fcdc8fdf5856e2c566207ce01e016c00f584fb529eade4d22cb7e55d4e152a666f8454c4e6336a01b67524f28d778550b5bbd3ea0f1049343a2f3f1c046dd05d45c114c37fa8ad8bc924c2b871ea344b407758262d6e3269e15f090e3bb5d6f7dcedc8ea9aead7b73acd717d740ff72b561ba537b16644b8bb70ababb1552468ee538dc78b67e2c2d0be953b9f98cd2d09a6bdfd957fe9957e2d71470f23110d62a05e7e597603c95020a5207b5ca553099f2faf7a6ea893e899073e381d8b1586f60587dc0ef6a7ea4a9b008d7d8548f9b0e68e5d538c988ea676dc86da2e10d99341f7ed2371edfeabf78ef04c37f7a18ed6defe1dfee8cc5f3816aba43c89b2a0e902e67ee368ae3d53f979b3fbc2874ad31dd9412da4b087d53c56be7ad54f7124932746a941d1ef0407fdc5e65fb2033765e5cf1c162cd331183fcbaa8d3e1e0750cfd74efcfefd10c009c4cb1309b86843948858c8969aa5d5c50178edf78e737f2a8a91a09fdb22c7cc8a694654eaeb559bda9e64f79cf8bf390cc996a84b98f9ebef163fa4d7dac9018262f2affe3f09e5849f8fc69b46020f31b9a9e7cfc129414ab41cf56f77e646bad7d5d5f8423ed4e32aed06d9144b700331803ff2090cf3dc409e114843b9405a34fcb02b854f54da14f96b43761ac09ac731498a5bd5912c9202bcdc5eeba6a95cf813f0a5834741376b0d4e196441d1f066b837759492f2044ec2a0354312ba41c911d9f04062174b91fb86be95be846277d02a3af630a41e4581bce9d951a57b3d8da4053105bd5bc119f49ef03e92af921c5938a00e8bd8268253fd30bf797c23ae99263e44953705456f016fe8dc9c582d38d19bf5fe35628980c212aa390ed89343d69efb79ad57255d3c0a496c01b0976721707f6377dc3b294af1a7b586251f532d9674a9538bb1a8ed256f2b6dbe1667f4d30f2174a75f48a379259d986a1e6688ed1ccb0503f514fe3203dde64bcd5a7be38f2be432664fc96d6b5a80d4ed84ff4826fce510f6e99b8b611f8d3926e01e8ea070fdbb9edd1bdb4bb25107df3a3a11523ceaa168b1bfff06d15e1d7cced8774b54a267093289a5fa9e961f40a37196ec0fb3d0c84112baf6e9f4529aa7ed12e062bc5e07883170fbcc3f07739d4d9a52788611a39ca27f7d1363b6bc1b9a11efd3cca9962a4c15d8b204fcefb6642a130f78aeab0849a63e4c254297583c18a80a1df12ed05d43bb03780673aca80a6853d4f811c3477230078dc6b0d6b1c69c857c2b9b4ef415fde50c7a0208f9cb67f961f5c98accab390ef0e34c014933e7071760d3b76db8fd18264d874fefda829051ebb2fe08c0848d408ee3119716febe7a604fc673a85d0f85ae2827cb83d539f52ee87f465f3d85d47d72da44e5d1b19de3e7cc9caeb1c745b663ec85f88012810f2b832e60149d31a722cef19d451e95f8125666cfdbe09c5254341117a32bbc3f13f4de26a1807ce09c8bcec490e829d318ed95d878d046013212260012466f39e2a56c95161ce6cc96ca8d7fc8a77fa9fdd361312f39b45406874f447b168916656da22dcb090721d9c4e29aec72470b37ebea254ce7e666bf35610087f8f08a73066a73c24abbf951e0a98dd672ebb0cf3a0cfc64cb90b932ed7d159abfd4f886e9123eb29059a9c2a2106226c9f17468965b3e427bcc15c9b2c1d2132f9a46f4b00441b7de2c52205fe59d7784260133afa3b586f37e5c2193c69c71118aa55c3b9758e1f040918a58724decba01f011a5fe87c2232368075bddc24c6d60655b10c2024716611713dfc6f913281c04e205c4b4b9a9045e6dd5d6c5e51665cb952cb64503133bd43570afa68099c7e43166c187ba2c0b9b3f18d2da65267501e6b9ccb77948f1faf91420910ebe376d83f1da719a7caa52e5116533649de1b0ed85ffd342595bf05dba2963ebfdbce1c6de260432a8ce7d6e697b751b38e5f8274466f1d1e29a12ec01025e98f52dcec3e4ea2ce61c60ca3eb109f02bd8cda2ecacfbb0c464189955e175df6eae009b3283973cff2ba6be60972264e0c001c40b508be9c2fddea8b1715125791afee51ac2f7181eab5e2ab8e3051e096ebd4310cb6930d4458c313a320fd8d5298d0b79991f06d7057618b0286ab46e5aace36723c35ef8fadd7e6cc843c82e8a23d916a33768c9f22966cadf75f3848af812323cf4e9854ec213c218cb9fcda1051206c46dccef643b1f504f2a403e94632a04cb737a09c22c3e0a8f84421bc7b1336e29754a381b77c3ab51013bf9bdab4aece2dfcbd5fc10617f14740efe9f21fcd3f732a26c0ec81f8057febd142d2d986686a2b7e3b05a0d8c69ffe1f9d32dd109a3add85cacaeee1ccdb8c2198ca0bd515254a9ec9ce85fb7f285562d31644f588b6daa128eea1be353b8827daa6fff97a1ca9b43856dccff3332142e28e6d6a3f67be99ba47fa2c309f756486ee4c82fbfd1833","path":"m/12381/238/3/0/0","uuid":"a499af96-1661-41f0-ab06-561a6a4073a6","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json b/scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json new file mode 100644 index 00000000..e5ccab78 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1ebe256d54184e4b7d79c94075a6f752b9bc212dd78e02fc662907bb1632e7f1","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3640581d6d3fa15351a0c39c"},"message":"3e87722f98ce9e38c0fb16bb2f38fb90ecc46198c20a02815488d2508ab87cfc363e58690600f13a122358fc19077b91b98142dcf342d849c80ac4cca20cc835"}},"description":"","pubkey":"0xb0a15d9965cfe10cc0b4a020d0c9490082cc638640f36272c8226154fbe987c9d82d0e0c8bc27d524cff5cf8aa141eef1dd5612454e570648fbc3b245e69ddfb0bcab11cadbcc2a2b6a6566e9fd31de1c36741f843fb418b7f44bd434f5103dac9f34117eb563c7e223feb1d278e158ebaf77c5fcbeeb4e2b91bfcb1ba1fd3b1e85ad2ad332cf234bc067188cdaa5949759246dca9a1b86dc1e70f58f445cf418760b27456fb89828744a86b8f0175a19497657468039da4b1c86678e39dcf535ce22a77b3e57193eb666d9caa3ff7da1aaa460644e3506feec27d3053493bee4ee260db7f8ff0d0feb4e4db2ed9a9eecbec969c9fc1586ffd70ef792dbb8bf34c4b4ec775c642d088c297816b71b79501fe1bd6ee811953b71005c70646be65e668f200070c65867ae3741f8ff203f9f4488bb7139f3d81c7a0c0be5bdbfb1c832dcf8f791d4aa1178b07e65104dde76ba0f156bffc4791e4ec265dc5005279ea803fabaec5f926c60bb1d024281484170ba8ebdec6f13aec4667e5dc17500623ea1979ca058290f000ad19d7e9a39ed665a412f36b6653f0c917cba3490e908935486d2b669b71d6461f75f2843fff98aea095ddccbe0f30e675658af6d3c84ecec503996c1d40dfd90ef9987cbbd175f2b56d6370b58c1e8b6874a6c2873f3e2f212b69e743de50572afc01c81ab3678363025c0620e4bee4eebcc1c8c1722809d4f307ce1b6ef5166720ed466d1c4b6bbf80ab66a92ff211ff55b32d1d79b73a1c483f382b33d8a8b7f768251ad31e063a2301377522d582cb486e55dcda449265a1f51e3f7c046fcdbdaf1998468144127f31126e7a452a845b0c2548761215094a16018c631ca4fbed39d82618b75be050253ed1ea52c431642d37bbe193eb71729d42589bd443b3104a0a01e617ef8a447d0686cdda26107764f729259363f2588d2d2e1959d68c9759f53ccb328d3633a86ff4a23b104345c0179ee4c38a44068ee95c9b8d3317e5d527314b29392193eb3576044aca95f992558447079ecf3b2249a32ec09e9a9c44701c4ad5db549c1cc67339bbc6446651088b5761040833862c7fa77f4f5a9ce552196bc58466c6ad8c846193ab4bf8b36080f76cebe411e2778a46e14c4b49bf960628bd16c8bfbec0d760e0cfa0fb70d9d8c2cb471118c5df70d3e6d646afc277e1b0c50feada4373c709a6c177024d245a3f2cb70ac23bff5687f2a89e6fd29c85d7922dc4f5dc997f1aef9d0fb57c70dde394825c0e822dbb82839a7a32c33e6249fdb1710301fb0ecc269d220769fafc41bd4ca10f7ab18217f1a55b98bf468a79c9700fa979bc0bfa93acb7206ca1b7dbbddfa8f46c3eb522726799924f79690beae07e9a916b57688ae191f5165132aab2184a6f43220af6931c73b0f50d66071c435a6b5241ccb89e44c93ebc5f65665f7147a6e529d9e857e43b996ef9a13419ebc952f6edc76e7765d32bb3d1275bf9a932cfb5a385559798f8ad39aa8bfc1b272f136588cf86f34b456c64069182eaac89f2321a5d92e66acc11e29d303934bd3520e4e406698fc5951476803afec7f28be333d09295cebda56b0c03cbd701d8f210635d6f0b8a510060e5c1f0815e54941c567cd3589686667d491bfef2ca6109ea0c023c83512699436ce6ffce9edf711ff57049a40834999b0452779003c1435558e386ae7251e7d337f75c7b31d69c129d4763e80090e2436aae1e5a3916d6daf3606d082a280d3f328923baaf6d2ab1b5ff8681ddacc7b157380a599cfe32e9f3e305903f460c6115c91134b2fc3d50e3a2984386a76025c9c7ee2f71c4457ae7b5912584c08803b4ca34de3292223c428416f6aafd89a74acaebc768dd671295a76d04a9c289e882c588bc6f1e6ea53792080bd4f03af3c3cc6bd0d143d8a7d3ae1b06e639e9448ba29d95e52383f285c549b6a433ae9dac3f641c361dc14ea2bc7f2af3ec3d7691a5c02333fb13f26e0eea52e80bc1279acfbc8c56df70b37d2c7141e6dca8161ec38e09dd8d5b788110b84e066f96800e8bb96d5a92076369436586ca1768355ac96d1bb4a0efe0881c10900a33a7acdbc50cf345f9845054336027b82073fe69a7379e1869a896da89e9e73d61bdf4fa92d0062b6203545226fbed5387a9aa48ec859f72d42c935bf098dd6a60b1e8e8e81125b16f0837d342894db1a01fabe02b47ef626136ff50862c9ec12b6cded09d815fd4a4e3cf5185383691cb4fb306a887d87c14b9d2e13de4fa5b54cf0a58484ee69656f93848572832eb6c884d802285bb2731097edc4b07c6c110bd3455dca745d08df0fe3dbf9dbd176cd4c648773372f53c6f0734c864a3c4ebe6e9d44f761fd85ff3b26cb1aa7b5e18454d034bb9425496a4e26c7383e758de36f558f847f0329c37d7cb83c6f1069809458440ffe5c40a374d4f9098251893f1e025b0071fdd2ba3e4523959117c19701454e2602cca41369991503eae361632575374f525f720b89770df63533cf4ec8a3c3926f08a9f9548ad779e156a9c18feed7f2bb9661e3678ce43b6a1f777fb1bff9c7241388acb8e29b5217254a01edd04b440721e9c4df53d03c0dd8007e031557b17ed2841062cff12a5b12be10c7dbd32fce5dc3f182b5b275dae2e08c67d61ec3386248d4e76fcf3899ad5b46ea3de68690d7518432eca1e6244a7b34ade014c089067680f8a5f3e9ca17c99c9ae7a211ac18b5beefce7f14951a995a96356e3a0d587970ae1f6b9ad9a50094cbae7bbd5189c5ae229214a1d22043518595c92de10c5024c4fe03f146819703aa8372f77662d63007e901f2dd90a1df7a2517cc6bef68d89e45b00aa24ad352b870f341ae96f35bd6fc76fb0b277bf9a32f913e605496a4447f4447e8a56d63f96aefe9a509146db770cb427e277cdf9b7f4838478e3accce49fecc4d35210e4e09f599919f3278cedc4fdc2907923090ba2bb45bcd4e6c0ffe16845275722837f2411fbe4fa105a4ca340afe99f2e508601de2756c323b47956bf0550bac6bf9db153c2fca5eaa22eb0a590fe23c7dc0e6be609af17f1ee1d6c087d59d430781d7a47739ca913c8684fb9523c4bdf76f3783162e6a240996e22b1416cb991591b0e350077037cf4f79f3dcba80367dd63d8d6dae438fa53f6ffc559bd926dad18ef3167d785b82ee0a295a97d6ca1a1b81927c31e3c311fbdd42d1ff8bfd12bf368d87f8608b5dcc4d3f87ad85cd0fdcf87f4d827b5f5c2f7628db94e9dd8c82b21406f6228f3940becd56bef2c65982c65a8db5ac38852f4fb3b5241e66617d0ba1fefacf4dc6d26776fbf7c2a19b62e4e02755490fea86fd5dc71766c94e0bce444fd238a69187edb1973c918e52a76a4a221481db5d5e4a822cadb2eac8f0a03ba9941ca1edc842a138d3083a185316a177452d4edac0eef5313a6da12606ba82db1fcb21f943045dac931bf7eca0c9d4525f66097cdea5839e3f065064410815f9dc2a0cd7c5683f83a149a5091af5e82d293e93332b7e66367520951d7a14f1c07a236f4b072f77dcc9b0c8dab1153316bde0466ae446d565ec0fabb62e2c7012a5e49768f3b33f90dfb0766d0db596e7924494342c46596af4fd7fa48185d1e260c15126faa8a67d032887957d9690f0db0","path":"m/12381/238/40/0","uuid":"1a93ab80-fef6-4a7c-9f87-955ec09e8497","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_40_0_0-1751540651.json b/scripts/consensus/validator_keys/keystore-m_12381_238_40_0_0-1751540651.json deleted file mode 100644 index dfd328bc..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_40_0_0-1751540651.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1f0fa291c0076f039e0ef10d8915538730befb34bd797d12581c8d63dfa59127","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"6ef3bf29d886ac737399feb4"},"message":"ea769b7466c6d5d9b02b17ed8d9c8918f039ab5c0b0a1ac1ff6e55cf24233ab983d0e5ef9e934710dd350eb819de2d41cf60e82421d1783c83716254cf605dd9"}},"description":"","pubkey":"0x39168ae81e148744664e961cb786100cdac6dc0db6cf093c4bf0034d8773685eafbaecfdce50801b505ce741da1e8d8cf9075938879ba372ff8526ea2f9ecb7dda01e968983f63ee1b31e54daea31c705c0946c4cbca78e6b30c88e11eb9d32d6232bdfa109a4dc94abb1d6fce4bb60e7cacdc1b3461c0fe9e4fd0352e38450d37bb57b69470b5e20ed4a5f68c9ea7bea91c7c2b6fd34d6a7dd3edce2775f1c94b79bc55e4f51f8e104b67777cdf78fe2575241c0c1c5e8d1ddedd4c9627b93492c37f095714ecf113f9aa12f95c5e27b0b195b1347e3584007396f164c19f8843d00395b603f97021ad1fb52fcd3aa31f6be7bbaf6c88471f35e073cd986a281f0d1d4f9200068043062ad1a549c385585fdf136ab667a18fe84ca9202fdaaeefe46993791b6877fd0ef33224670929cf62c7ac4585b0f482dbe156e9254a2359d9c8bebcdec59223be11a0366130e173ecb221ded7db6db27646fde1da13e29fee6dcab73033ff62df79773c5e45d96051aad5fac3e03fd7482cd067d1a8383e3ededdaa764b3e49f3e0717cae3f32da5260f208fbdcdd3e12a75cddcffaa7e1e0915f1c5e61e4da79afb927c72a4ec963910ebaffb27f6b1ed90d4eab617d697bcb57516933bc12cc47eae9678a1d4d17f924dbf219e436fa41f172b7e79da72c87e33a7227da8ea9e79dc4b636562eaa3f7e64c1059805ee211d645ad6bc9d29e6c53800b61fa5e93e7382d3e4a742e898daa11ad4bb1c11aab037f139cb3458ceb56902078bd443eaab65687caaf691a2a84c54c739746d423d2182454feaa5f0cb4d66de57b058db688846465ee4e74faee2a7b9c1550ebea25bf7650d0e21293b59c4e754c14d307d0ae43722c8d9a21d7178a4a7746da3bdfc5daa1ed89c0f0b2dda53eaa89c6e0b734702cb337fba561112da2a01299a294756cfa0c7d6b207c07858605cea919d719e77ed6dc78cb956649dc023af28eae7b1c8149e3e0e5fb43612d8de85883f9cfa73e142dcc16d295cbd4151d7c3d7fe7b7187c3b056bc07ecea9e6571bf5ab981faadab40eaa220bddaec8ac2489279e52243ce511b2578df268e852c810745f947aa3bdb4c19b301061fdab8b2b13c1224da443780afda2ae8ac076f98ee08fe51f9a98da548634e038b75d417d6d27e2763c29872ffb63aad5b34f5e1bdd68b9795eef9c8ca490c93f0cfb908f010ce23d22e5b0f4ebddb43c751c13bb98e512989427cb510c1d71dce1b3959bb063bc73bccf404311881c80d122f9a8a68ac68048d1ff5274ae3703ee368f27a097eae6392a6eb2c47b73a79d040f2d4a3103a3af7b65b7fb987d5cdeb017c9639a3460ece74d3053128b49a452bf9907a4e12d1f98d6039f75084236ed4f49fe4a7225d647cb624edd51b1dff87229af60d54ea39c8d023e6fae35019c5532e5611c02284dcdfd57676125567218e9be6ed33e7ef1a9a2b503df849ac4916c8030dc5569f40e4abf3ecefc36d30146cfb75daeff74ea1b967d20db697eda029da7aa163b4d5650122c2fe4bbcff581cf639e46e2312675436450fe743f689657c568775dfa2d039e4bb663fa73e8acb17d7c19194455f2350ff63559c5016f9434b50aa2590f0468861408d3872ef36427f77924190b7efbb75516512cdacfeb494b09bb4a0de8d3068d8a6e6ce1c0cd5246d58b6ee18dde76ef12721a5729751609b6d7467aa50cbc1d210e6f4ee750f0a9100616d7e2a6c9be408b28e7a75ae327863dec682ff0d999309c226e95a7c8b935b1016df1b45150521b0ad9325547b55c7655e105ad3fa38dbfa40e893fc1928e9b66af348dc200083bba1426085b4287118efc753258512aaa5d81e095cda2b4a98b387e5361f534d0e0b112594fb9cd7437490bead688a1384b4b4b09fbae5bf4dc739c76b3aaf7073d40f5b54a8ba2d953a92712514f19525bda4e70c8378d336faecb9ca0e3517999a2eb4189754a4bc74a1ae1676a146845b007d1f0975b904cef716a33069f0a659b38e0ef9eda2d41d8f904f9c8821044d736631bcc4072aac60a27c44c5911b7a41aff212304cf3d3f068257d6a53a657509b9b9a683c513ec10eaa97f83edf9d7687ffb818897365bd6e70823932ee3f7b265ce55a9ee921e60538fed5c3cfeb089adad3d9d4fde74d22de22096592e1d415c5f279317502a7c621465374f682138fa00afa8791453f4f3dab44c48a4b8f6a6d9149b253050cbbe2a2deb7f19f737cc04170f4eb38bb4924feacd0c65b6d31ea9e6cca7077c0fe6d2ea995d5920168aac58b77a2f6311e648e37716c91925d58f233fcdc90f989a53aee3be6fb9367ac90fbe25fde4ccf9a603690bd6596209920d222f0d200ceb4dbcfc8dd2818b07453877b90f6190cc4c52a9a4cd4f796dbbc5051e5572f9f09fcde81b3a1beb24fb867a6624631718705ae8c21bfade6b71d03a2ae6d259e34268b2185dd42ebaff8396b87fd7f33cd0e4b7849ec5818c0b96dc4ad62cc555f12faa6d047fccb47d5b8afb855fde7fb673d1a7a860fe79e70bc77e5c1800e606cf50d0594e626bb0292379c2df92e8f60c27d6abbe7f79619a7636914d24f2922371c15f5f78504f237201b630cce71f1fe86ca900bb30a1a91ee44997b14ddc1144926296a12b3838758546f97b5d70fdd0dc6f848ca662674838fdb1fb8c716a6916468fc8abbdeae303ad6ad607dfdf776e8ca71497df34e35fb255a96df952b48101dd9b3adfbe970d1fc240cf877c7b1c4810fbad3e62b14a9535e6bc94e7703df523b6bab94e47faf0f928166095d55640289a773797fb0a027d15e5a06ea0854609d5be14a57c8ab33d5852b6108b1285d074dac829cf8ee194a3675366e89c5d81d9c3c7c471f7929e76da2e56f20cce00710cc7b8575e166fa881f107c393561baefd7fb67ed8ae8f140338ea18a013049371d6826af75ffa3bcdeb9e3c66a617c9f517b93b8f5a9c09a07bcf12c53ecad12648822866806271a116ba7eaadb25d45b90009cd3db076e857dc830440de0db8e66a6c46aa87b96d855a180f824ec817fdd972ec1f2438cb8cc56dad4fd1a30d87c34f060259478cfc7bf54bd8458baae620e75c9e51409cf11362689870d9dc44cd10e90d89dde454953de124f87df3d008782966ddd5ac07361ea243d5db44d0a748516e70e4417331319b0bf6b3a3009e29a1fd5a9914f8a87e831dff3865184c7e155cf4e326734fac59be85b2ab7ce11916664d2b8a2f899524c8b7fabae64f87e4de71044892786e4fd5eb9be6aaf3b6e805d437d39cc7b67be41fbda0bee45ed3009e59ac40b71183acbf8b30e55503610b8281668a7a4abba927f6994b36988b6e3f5aa0fa503d7906db0cc8e8ddd4f763e360e0064d1d5daa794b436064129854ca4a0991bf418515b076869be311625ae429b5d0854c85f808a2e19d40884ba819aa5caf5d866767d72287b8d32d74c07e36140c173932f0e7df083c8dc5abab3841d1d7bba9b4d775f669259ec559923f05c31e567376d90fc3716d6e94232e9c06ee6830867a7b08fe6ada91503055c78c9ae85b812d926f50c021c9d244e683682785ed54e2fd7bf2583ebec1f8936821a8b1edfd1b31fe170e39c17029fdf83d25e76d356abc00bb493297ddc9","path":"m/12381/238/40/0/0","uuid":"0b3143d7-756d-40db-8a98-b376f7129ecf","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json b/scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json new file mode 100644 index 00000000..4ca58661 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"fa802831e70b3f4cce04edba5ed9fd2b1ace519a4da45377e56d54983d9b6433","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"d87dad9f56b2604ae50e1b53"},"message":"9a202daf22a7538c1f5c9d02cc3452a3a8fd8fb68f5907bd5cf3b10ff9edd8f815acc981061fa63a2f656965f1951bc1b48fad2857d76970a3d019dfa3259846"}},"description":"","pubkey":"0x3f3b98ae8a8935a6a815865af445ac92be161c2fee826f31e95ac85bb43d66dbb14fd2eab3b703c08dd443793cbb0530d2d642b3b05d40e955ea0ba67c836e8fd754a66d3f7380ec2bfda14f4b43f373e058e75f1230d9fddaeaa31ecd7a58c81d5f18935af586cdd07f6f61da6cbaeed7987f2b98bd464f3b8ed40147bfb2edfe04043f558409f0e82d90db40286971bbf5f4bc0e5108078f8241141a9269d92d84597a73fc9f13555ede85b25869f7180e1749f36f66c6516495c54b4ef642bf783d8c9db5fa992dff8aaceb598a565e900686a8688aea5e66a212f920f3e848e6c45df9af6f9e5a9dca000e47ea85efe1aa419878be8be2440200c87087cac5b5183886f699573fd189f7b9d9fa9bcc5fe2e948f8f93ed0c77272c97961b76ae6f00a82ff9e4e9a2f2d367aacc02e10216bb13b833c27ac56a91411f340f027fcccb667931f350c14227306188fdb82c0bdae7b20cb03df69c7c43bdeeefad00368d53d4795ebff725abaff3dc8a6b31e4b64fbb46e25d626bbae5aa7f7d3dc3261751a41101d8b712b31ad5d23d8ffbba6afd27eb786c5731477b96cbf958230aff711d0b15b100cc32f0da540b2645f22ab4db8cb79563cc8e0f952d09df7c1b09dc8567f737880fb2f1ee5a26e40f40f74dc24a655c713c9d100d996e1fdd497ecfbf3866a055d87b91c2f8c2f611cba8d02d81f91160568734fd0311fc9d7228dd8fe0703e22e4abb6292782f8c004557b03e38afdb4cb5dbccbf70ec39a0452f5c8849d9dd7a87e0c865c67b6727e40e1d1b8087c1b61f7e70c09bff7bbf2c6e577fcf479db78d4cd2587779d70a44ded40d48e6ff4f9be5cf4ac7167b1042e5f4ebeedfa41cba4bc7bf6fb2c284650fab0ffec33c68f080fc2f5a83feca751a8712170ed3f73fb396cb1ef22a3e6a19b35f225050cd7b81eb7aa387d1f0f193496e3a17bb0f84ea37b8ff96a129efe73da9fd490803e2d3d255e6eaebe4fa46942f3232bc22670f20b6131f67ffa34f5fdeed3c363c29ba1631669bf00d897de59c101e4d3fdb06336e02e6e707aadfc64316fc2faa3d2b3884fc5c8e1f699f858dd85f3b6d2411da46fe0ccbd5e158fa418fd2869469cb145ca17bdfa258669c50f0c5c4613683204600ef91fafd7e452ab44ea2387e52cdb6744a41985ae3482b96a6cf97b9d24440f08b0d1f6506ce171736d3d1df9c74b528523ad417dde7abbc8a70936460561d70971867adddf32031c5ca6bd41142fd37d259cd3c73cc9e43b69cc23a7fbfe141099d7a3bca5d5ac24d5fb4660f28d0bfa7028e7d65969006e1229b67c0e6d35a66f74ffe96adf3c48b1f4e3b48635edb71a562449712ad2824a0a4f2e5ae3dd5f2911adf7ffa9612254be3c99d1681cee2a52b219eefbb21d5967adb6586312c7754b9517971535c81f1c6737e5e869165ff16fa366de56e112b13d75b1f4911c9907ddabee02bd900b9f8192f9145695cc0d20e77fd2a192b30693b2890b42fe94d54e822f7f18b247b7fc177ddf1ce7d4ae680258127bc285410f6b14f5b89f75b157d95b910b45551a8a58d3e45b728a3f4fbb817cb795080e7170ed251aba6a7faee40d78a5ba5125d69161f1deb8839c56fb856ba3e75344920e3aa99ebff7d646784b5cbc5913c2f7bc4dedb1ac9c6a1b5ead9fc219229650202a05c359dcf863350cde653fb713f47917b2ee92a68a500b26cbc92370f9d2683d1bcaf13359c9fc18fd1bf7366b95f500537dfda865888728de6a823b48e5dad9195ff5b3892da53d232488abfa6feef9af75b2267c391766cf82850f219c5e887ffccc7c1f21840b76953e3b7dbbd6e8650960e2cdaac3dd64206afc62ec243336835f866ace92e247db27a33bc0be558f5f7e94bcdf4a4447531044ef59ec21c90058f8e12043d13cb98327656c337a0bd119f3748dfe990b743f9c839656148c972802dc8edd511b0bd8451b03c260802a80c36e6c144f228dcccad9a3b933c55d9d8df211cdc61b465ef61f94686b3506775f0b3b1803ed9ec6f4098e1264c66873d5bc35382a1885619ecf49888fb0ca61ac25ef042f12e747b9f900dca22552ea6bc3c7be0376a16e5ff9585848eadd28e27b1d0aedcff498a453872775ba659197095a96ddb4321d671da65464fad03e2a060aab6c123fe15618d97503e896b36330f2cab146a4c776044d8ad7977d5c135d9c4c36403659b74fe5146d47dfbb280c932df5c5bb0f2ed474eb729ea01a71d6f7e0d6f76a255a908c034e71b9e31256c06fc12951cd34a871fa60433dc67a1a1ad7914c391c418ef5a337108cf972033c445a08d34337d0659caa2f2f10260652cd82c59ee1dd7778b9b0a515367473e2d8582c4c0a3e15921b88836bd9896270b6a8fe57d05fbc544434d453d36eae313102b6e05ab6398c09519c7ae18fd69b6c532adbebb3103b39bce78fe43d4c5ba9c013368d495ab59e4e79953287b7ecc2daae1b75a111d850c2bdd835e92861f8fd20109258f91de6025330d5f34aec5f5e2afbbf5369f49b11f9b5f896e91e1398a22e9eddcff8ffcd87c0dfbdc8d56df955a9f5b387e62cd74026848c7ef2e4ba00119c358f1d8c9c3a002233ea1a252496b8f12d4305ab485ecdcf5a5798bdc51dbf15c843b66b665a19f360127229789e3b5f935fe13f1227aa340c1f004614577cc93952540965815371c5e9a2285ae5152c014815b2cbc29d0c89a24d5814482de6e0da471e817f3bbdb1ca7cb618584ee09c900a3421959baf649283b2647e974adee016899a3e338062f27d62dfd0358fda6ef509480a5dd8b76ba6fc27e2ea63544913981a8c5777415ffd31c18cf36bceaed8be41ca1683a300f010639af2a9c6a73dc93fb0f346fde2976310c7d758d233ba74e60533b6bd10eac62062fb5d04c4f606dc50f7b832e4b63ce7fba9a8279822d476642786e7b58fab9a20f56cfd7784f691dc5c9355f9ec7eed89f13669d8c479eb6d9200b98143439c3b33e662a81d13dbf7a4acc7cc02325e88d742abd57b3ed15354ce28895b86350f4468169829a8eaf3938cdf56719461c77a17c215fa0f597bbfe332d2b5ad263570cb30fc024f30594a8c71ac37bdd0213993dc59fac5023b48a8dd0bbbd9df7cd43ab4b6055be525f600bdc220f0395767f63a3c3b04345e53c73d13222f57f654ecf2e9e3798055823fcb218609b52612d30596991d8bdec4f9d7a6785b6a3f4757c7076e85c910f1aa198007e8ffc3205a6fd41a2eeffa44eaafbf2f637f78006555292c09560f0d8f2043f0a694370f4e8d49ba7a8bb03790ded1807eeaf419f91ceba7efa52d373a715ec207ef0248c2b82dc83c9e6e4f500ec66de408bd75ea800d05f6e714553f3c20e88638add9a5997252efc81aa98eeca86d6dc7ce6f394a935ae030da42a5b4a8594698be501677be95940ff6b461b70fc91f00e537a230ad8e2bf75dc16487a35fa3e7a49a9ee6ae0ea7a5c2d438a1de8790dd4ab1935211793ae2b2b62e53229d67c099b90ca0a51428d7d78d51d3ec170f5e7e6995bf4e4d3cb6cfb1dc2c3b93f709f56ab1638a01e75ca1e1e76cd044bc7c2bbdf97cfcb8f4eb042f1bd09e812cdd57ea0343999ef218d19dbb028d3210dc8983e0a89ae3f2d862ae63d","path":"m/12381/238/41/0","uuid":"b27e791d-6c0e-4fb7-ac5c-3f08928d604a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_41_0_0-1751540652.json b/scripts/consensus/validator_keys/keystore-m_12381_238_41_0_0-1751540652.json deleted file mode 100644 index 5a1bbc42..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_41_0_0-1751540652.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"08106aa23283051812d36cf2e9dc995f10c2b0bdf6a239cc4ecd56f4199e3bec","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"2522c186a53245d55a6d93f3"},"message":"b2cfc0e91f3b900694fccee5847cd5027b993db1d1fbd8f5295864a82d02c96af8c4482e99f5bfdef2ef9fa5ca058e0df791b6fc3e326c98ec9325f373c813c7"}},"description":"","pubkey":"0x9203b5875cdc8e302ec98e9fd42325b16454473c1f47af961a9e59e523e7392c694b54d8857017a342c42db7b68c323fa5c7fb05acd423a573818943f51bedc32eefdf3fe3c5ea99a44b9c5456868f1e3858b69068b3e5ee74e7389ef4d915638dac8f71967a9c7933773fd1be53e85fc58abaaacff8ade304f90b18a90093c5a50d259829f8f15aa6657f0aad4a62e232e365e3bd874d616331b1d8bd4372de3ec090b6802045ede95b3e07445bdf793330cdde5d1a936bd28a0f232553777886ef6a2541fffd2385df851504b2da4ca68981d5e9854977e1491adbbfc1220628fe90de385404b734edf2cfa0a841d6a20027515e23000b4d37580718dda368abfe200cb128a14634d1ca0db028459cfb1ae82cd5b6ccfbb421ea2417b161828637170323134c8becdc213401b4cec5ca714b3903cd52fee46dee6d270878574bd2cd6618720b625b378d567e768a707fc4fdb369889e9ea844b8ff0e4cfcc4b2c516d8da563628cb20f6f01c34ec1a8a9f792528a53d8be46874983bff50a45d145a61619cc152a6a9c2d6009ada234e2e35fdfd07b1c40f78dcf462db74233b5c9a1a971ffd78a170421c8ff89caf2843cd253a0925cfc1b86193f066bca04f21494874e6beeb11bd43d5339a4d7c9004a420b947250ffc883ff960820879b2ff420c9951e6bf22aeee269af3d7cf4d72e949bbbf72653794b395368e7ade3fcc40ef5d4e2f525b9b125dce06be0b5a7021dac34dc9b293f0f03d9882aafa6cbb59caab09b7cc785b3b7882ecb19dbf4afafdcd74360d349267f1a53836eb9329e95d99e58809ef97dacaa35d0c3c854cb9dd85947d7b739da5afa15ef24a47ab3ecce51fc268bcc5cd76206c6f12b3915c5513ed4a6689888aa4ef46526fab72e470ca374e3d2a0d1a837235372e887f85a1d0478ea8261275c6cb8cb598a9e566161014fb893dcac2cf9885e70be72b94a04728ae37a14ddd29223406151787b4e4c6b04f088b2bd9ac9791f8c71f4e3f85a1006ceda189bad3e7a8970fa0d258ed804bc4e91051bbb54ab0ebd4e10386704d008f715dce72b650616239e65047d7639af019f0b651a933ea2d9f1fb505f8a0cf3ff2942126fa6b6d378e7ef1f7c6a168e0694356e7b2d13b5264009bb763a6caff8964cb7d1179f265e9bdbd57c020e4519b2296db47bee0cfe33144de0ac0760361e1a6e9d38125ebda259a8eb99fe2f92f5d49e427eacf00b427ebb70bc872fe53325c28df4d9fa79df9100dce44ee6dfa31d20b8e08a9d063a017f94d89aa2bb1a8ea6dd5397db0a4a4c663ff1e688342c46b65678f2c3b9c4ad7bd469a069680d640adaff3a1448363fc8267909d1dd161ef0f0cbb27d2acfc95cbecfff55233ca12b4cef21f79bc8377417520fb4439192c9152bc2d6578d1bcb10cf07b82b3725e076576ab47b047a184bd61df1e97827402d3e12329a3732f2308b567a9fe5544e05f079f70a370d9d42d6219257ffbc619a80b198991f3bd5af52060defb666a48b8d7a71242c8d47c9afdb270c95304419285911a3088878d54c6b56067498cbea68b927d99a62ab67c53f6ad485a4231f97c1563264500b8e7a14060f90cc2ea1ebd63aafa2b7ad46d2d0e140fa7db97eb4f6d81c09a4125c1f680540cc95b0051ecbc221fa48ac7840e80b9967b2e29d144b9194e502741cf3a3b6fb951f131b44a836c4cfcbf37ababec712640dc4b95dacac3c9d1794cedd6ec463f474832436a58d48ea5eb613c68b309a3f4ea9662b0d99ab43766eeb7d15f3f95d48481f7d23abae403af75ad78301ad026043bc3baaaaba0cb6e75d21a791ff1870d5f43d3c3265fea7037e8398196fa0b3d8b8dcbbf0a4481950897e1c7cfd8b40fe711a21631c8eecd171b87525575fea6c375ac07f1af455c4da9f3787a8cee38d2f20bea3ce81068aefef47abe1b199565f4e99ff13e409984f73d473b1cb0468b77b641dd0e010a6303065601c93aafc1bb2e47d9dc6c498974dc958560b08cb5c0e759323faeaecb72e65a129f9ba2c166c5a6f990eab17db9d49b53b77532d29d5e7151c4f48487b3dd3f90d203394217e6e7a6e0510e8ec5920fa7fb04f2b59ca5fa924556e87a24f675e493d0cb0a030dbb7f52d221c8ad3c412a6a948fe4dbfab558041cf6d4b650c0bd44d6a7ab31b7e6e46824b0540cba3b8c80d733fc40c4fc2ec2490f87e985b7d282b1ff64233e3a6d841baaed8cbbeddae6353bf04a8a25670a6b82efdad14c943b55dfec3d07b94f372dbdad6057854e638a63a16f4813c4be7224d1700fbe78391c8f88a8dd3e38149212202d7328255893c714ae94d24006c9c3cb279dc603dba117acf8f222d53e816582f3b1602a75fce559021a0cbcacf5a5d1da811dd7b9986b15fab520b2efd53fc76fdc275a17b67e25744151f20e415866a5247f91f69f972943f9303a94dd663a12a755dba86b8f4e6e1a4e2192ce43fc05b22041af7ca81398779fa8ae1698e2cc80cc21d69674fa1d728ca1f32373de0f6b7365280dac61faa360f211939c8debcfd33c4966653881aaa9f68587d1e5def1d0654c8f9f2373d08760db8dfd3d06f48fa7825cd811feed6dad4a18b28eeef280ba1a0f8c8d965a93be65d772bdd24031336d239efd4df6aa39788ae19a90333d4a48db25bf0292025907a398f0f9a3b951b786fb107d65cd219311777475b979db00eb2d3d7a4f5c083be3418bf8edfddf30ed379713053eec5560c24ee7e5e7cd4332f51ed1a77313c6da67e9decfe43e8726408a92b8682bcedb1c2dc8215e31a17b084348e33867110056df1f76f98c87a9a404671fda1d1201e52ea7729a624eecde12ea5120f2fd4e11f90cac53efcf7b5f73eee40e78ab484658b552230c66a2af387c42a7c9010293990cf2783f80bfb9e27b992f3c4a77c5371fe6ac0c422fbaff1a39cec6bc2269faae80e372d9acfef76629b4fc9f3af48ce3b72a30c06e49dfbe99eb71b44c51c0130af3c91e62cd9e753ef231120397c0763f742c5246e60b5ce6e7511d738e0319b6d07038854edd6333a86b55e757e230099ed5f7daa9f7e30925b9267c79f95b2afc59f8674d6f56ba304c31c20b43d5ab5a9cb948fb3bcd4220d39f5ad689fff00bf2914f66815b51d5df7a0fce3a84ceff429257609f65b8609aedc9d067f53bf0b830222aa370cd0aa9bc87203382e1e142684586c142e6c26fd6582061e43d84a0fd43f464f71d6c305a056c7514ccaeb52806a5e9e73f0e1abe3f403c19a781dc3b5ade2f7d8051904ea60efde5cdcbb414fae0ae3f87c77f567e03eb0fbdb44b6f351c2aa11d33c36f0ec0b593882f354205aae36b0bf74fa6f3d3e1f4f56af65235c8edb9b7a9ec5058016bfe57d5dcd01a6514d034283707deea4fdfecf095ae509869be1ec3d09db672c795835ce608b1b0f75e4a7147187f4ea401b64bbf5cdeefb95df73a77d1e9c8d071b68a5d1e1492047e3c788f67ff7592619265c4df0ab64668684083bd8e77ec2599da788e5d09ca89bc529ebcf0abd677b0bf54d8164f187d65d6a89a6232590a5647ce9d277ab5db420c02af170f8a4efd438ab95e77bcfd52fa2cf0e771e24a8092dc8df01b0e496ba8a974cfc4041a8cf58f1558362d48f1a9be11","path":"m/12381/238/41/0/0","uuid":"0b4ef379-08a5-4f39-8e7e-1c1fd097af9b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json b/scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json new file mode 100644 index 00000000..cc8dce9e --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"2b75779a49c92a2bf5fdfb23661eaab76539d3a234b9aafba5b16e12f5431838","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0da111f08823b2bc5559bc31"},"message":"f9664cf2f1657ffaf586af02bc5d89ef6ed3c64ea925c387467a1e56ad416d21bfa16d4269b4300534005169134fdfbd4a50a866923d7c50e9e2803987ffe002"}},"description":"","pubkey":"0x004dd04052842e20bc0eaedfee1afe2e4ba36971bd31b6ded366bcc48ba7477b84cdac6409a377f2421634ef26a8b0ba8f630538ed2deb8aba0dd89965eb5c34861e63fa5c19bd247b63896e461ed83c03d8c313363916a65e852519e056cd5dbee22ba53cd2a4f134c75ae04870e4d7f18f5c911e3989e6f0949539cce258b9e3c7f37477e51872accc6e057d597ee3a0aa328196ce81d7b71d0b65f0287eaf20b72c004f5f05a5d29e5cf6ce0aef8e868805d4f412a41e68588c7beb5729c1efb6215853cec16c9b16b4b893c2545e4abbf355039f6f1cba3fa9ed6c85c7a2504f0034db1759e4dfa4c5469c3a91f5c28f6f1c27f0ba2af019818689991dd0646add65e03d6b143cb0a29a315dd63975b3235dfd0366b004a1bfd9eef745676c3abde20b115bf49bd0265cdb01f5df0dca8ce1d50c4c7d50649c1d267c6a637988dc91b3af6547be68ef90ddb788494f0b675dd62b5dd053b3636eeeba56504d07839d25c4254aa94d2ffa0db828013d63d52e2d6204cc2f7da480b5dbbfc7f6d57b7c7103d97e02a7e6533a9a0fb3946323a304e554996c2f80ad99cce18b29f36d81babad2c3e402e890655e6f08bc7be77adc56e574cbce4038a1db3d2928c75c915a7b90ba9cb13893bada94e3c315e865d4dcb5b8ed5de9101cee7d7f8a88438f4b7fd7bcab2dc43dcec36cb9eba3c3fd9981b22f24700d90e857a9a2ee4c30de8e2ff6998ece0af95d8519d1945defddfcad9863284cc2ced40f6873011875006d48eb623b79c36b569839941183433dafa8db799172291718ddd76efcf6e2925177a2b7855ad2b3b9ebb5d753465b29cad349f0855a1f98a8d3b8244f3c5278f10d87b0e17a6ca7b1f5c55ce63df518367fb5ce51a0c4518c1d4145e5c9a7c95aa4a36623bd46d9b72a929caba5c6a2b4452a45cfaba8f073786c3202d2990594b4531fcf9c9b11915a8465fd0a211f0baa4559e15b01f89d45853b7ad1e916d881fec3815dda3043b2d5817be6bce1d9f12ba1154756a4cd026a3fb621c8a73729d57af483ac8d4fe85f54c0428fdb22edee1c1cf5c67aacd91fc29d4aafdf0a144cccc692d8ca4725fe89965e1c0f3792dd08912d5d5f13f102f0d5b61307bcaf30f6493617e930c5efea0122e02d042666f502f525f0a140abcc55d8a2e1780c69890e5af84a026b43fca4fdf1df652317dac7406646981e329fc74f71c7e9d5b0b8c13900fec5f3aa9baf52310f2742c49a96b2472f4a83147b46c8675c6085e9c3290312d4916194809938702a689f67a482c665808116852b412712e457573391da9cbfaec93f179fb171b44bc427975068b32f0b3ae53aa4bc824a0ed6693599cb2bf5db329da00c75d861803adc5177358c7b796b8501f51e0d4da477060639284f39bdafbca194a027f39ff78899bbb236d0e8204dc4309be219335d3d6a49173aeb62533ec6a2f851312950c890510e494a491b2b5f0d2fe65cd50a2183abf8d6da01333a1cebab122d1d6c6843f6f1b4f63813c948258d6f4e30b5bd43adaefe63ce648dd9d3ef79b036e86561554c97ac0a6ae3e9a969de311694d989030f6cc78d8ea2fba5f511281ec8801487ce01b0929038eb1052c252e3c79d794b2e011f743759da66003f714af391ee42af6132e31a86a5ce4c0f6342ec1012420fd8eae9473e0d7599d5a901f9c3c8591f5c20d5f5a6021c7d8a455a4a150a53fb0b80479cbe45f2fdc183e3752451e68e29bddac97cea5579bde6acf8df8c7de38aff6bb38e555049c3e837236a01f68b72acc843ad296ea7fbe6fcc64ffbd7195e86ce70ec89a84a7643a2effc96e08bbe0e750efe3931a03fb52b8ed100b79171ade279f4dd5aac12f43604a241903156cfc02d1c68d86e3952073087758460822cdd8d0f61b5a42bde6f4ef3b41e2667dcfbbfff33258b7c970888ef54163378ee757c10fe538a334431d6023d2ac67397de5caaeaae7c5db75fd656184e7f9d27992a229e726d68eeb60cdcb969652fc99d502646fc0028ea2b32405b22029dda49eced04e73c473cf202acec677dc1cd5a78b6637cd53ede41d465ccaae07fabcd833c63f8ec835bef84f9ff4f97b3582868652e0c5fdf5692940ef363b09304f3d605dd3d9ac8fab16eee1edf6e42f734def426a5b6f4417cd34a15676918cc5385e0098b43ab9640b664c0f00403eb47ca1f9168ad6f6aa1335206f8509a5bddfc832b7620968624b4675b3f55121f37d94e1d36821d5917531fc66d439066aa3c41d51a7970e5e187b094d568b48f2cfda84883c1684701fe1de8452da1b0f7f4971a70671fa7561d0a93325aa940cb95bfd7bfed0b7c4cde99e7fe092186d86ee654e7f69e5459f39a0c82de6331177b04f23786e0dbeb318f0ae80edcc430e36916109cbfdbe9b509882ee1b7e2c6da5f8b8a64054b170e3c712ef1b6d8610c5f0b08f3128e60f224a8b8ed66f29a1fa732f63b913fe98ee1cf6d9e77e581f635aa82208fbde945cedb865a8c4917ca4c36fdfb8b95a414a26beb8209c3c61ffdc58e84baaef782076bed9b32db036a7594bc395cb53813ce5c121f9e26218c796fc944bd3a11c1f82ba21bf76c31a1229c009bcddc06ef04d4b0e539c5467bccb73a7d47f80d5c74832febe22b8d5bba880bb1d54d160ff130e46b7bc5edc7f7f84960fe3640a370301fcd5991dcab139a692a1da52cf72559b1abc7b3b6098191d82487c8d00ae0d46ff1d823331493e956c79924801561180a1d6b017eadd1c7d1882e8dec25e52a0ff8e9787ffa0f8126f82371f385f7e78239f40f054eb20c9b296a396f52d3b9c93c0fbe44dec51bc91fa854e079f69c3c0ef57c2d53d7bdca46a40686c05e89a627fd36bf95aa7614728c43d6f81f343465ea2e72e435f877890c385462603c848c73c7d19a54857e949c723c1c95c96ee2303428758032a3331d44c727aae97f1ae8524ffd9e29a85276b1c0050b7177441f220434748cfdd462ee405e0132de882101a2b6a8448de512f8b7e8caf9cfbb8896abc83cfe0de0bac54fcf4da5094f16543459fb2d71bd605cad3c5b3c7fbae6954e173da9b79fa06aabc6c82a843a9513631f455d13257a2040658de9a56fc87790fe0f8e5aa8936c29d8da4d615c3c82dec114e4bc30091b50f6598f1846dab2921a0ab2d9d446cfa2f00140708d66330b0832d4d687432bd466caa0863c4cc6ea0484542257587e36f1b0a1cb8f2116b2483899de49ccc35be821c8370ce3f5088daab4db7452d0f0b97ace4b02688abafd4d627cbdcb0286d0b3e6623d11fdd85dcad564171f9a2e1f780a9e167e0835b457c9b2d53239e9f1d376d64147f8264eca4115e6613717c69d6e6e55bb0e45632a9639a03ce678671543066656a5b438ce1909ba0b5ab682855de752e628120405df4bfa334357e08587ad3fc168beff1b0233dd9bff94b1c70d4bb51d45a8aa7f956967cd1ec50165d44d493d3759196d2ca582b4e54cf2e4bcae5ccd9764b51a35030912c85aaf59b275eb2888f1592423bb898c9a7689f8b887d4192bd5584ebfce3a4eb13b1d98fb4a29c0592423c414b1a896150f0489f7bc7616aa25c2a3c4db3b89f98b43d529e7a0998ad50376bc4c48f5e046c648aec6a897e69338a6f613","path":"m/12381/238/42/0","uuid":"99befa6b-abb7-41ff-82c6-a1251688ace3","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_42_0_0-1751540653.json b/scripts/consensus/validator_keys/keystore-m_12381_238_42_0_0-1751540653.json deleted file mode 100644 index f061f3f1..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_42_0_0-1751540653.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"51f9a5ef442c6aa73568b83716ca949f62e1c02c603122f26ee06c4709912414","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"49fa7b32cd3567b7a89d5e6a"},"message":"289adb48248ee2395af44e7d7680ce81bbab9e4fccfeac6bf5a94b6104bae225a52e98ca384db79b196e6aa944a1dbd63482a8d91a732f5a416a0137efc4aeff"}},"description":"","pubkey":"0xc82f5d46dad25e9ab4fc64d0dd32b13f3bee2874b4a0318c3193058d3907c3134528fc8cb1052084795e6f78e39f4456fb50dc5039c9f2949099540af29246cfe1dd2ae560135ebc9c6bdd98b1a38732fad36c5a47137412cd4f5b0d547bc1f7b4ccd79d4040d05a0c4addb352930be468843e549cce57cd4269c6a6a722e98810ee5aae5656a32c51ad4cba1f43ccc8d401df813d528b3331255950c9326953d4412d76638443631c1c4c63ef3301c97ccdba6b6c6228e441c329a90126cab2f14a45364d273b2729df21590018c91a05ddef1ebe7365160825bf03fb9f0fc85592267ee2f39cb34e3b33ab628c26b39fca55fd4a4d687968c81ed8ad3eee87e592b809663e5ab995e91d5a92b1368f8c648ba817deb5fd7efbeedac8031caf2fce45b1e56935d6f564008a37d396a13decf91df952110495c0acd289d0331e40e7d0014810fcd49d3633ff3985556739287367a74432bdef81a69877d8e71475a32a1d6390bb7653f7cab66db678ee6fd6a30b405e4084c577fd9dee2a1cc5866906aeca9b853a7ac6ed4afdc4cef29dbc844936f833c40307264e53f66ffe2b984ec91c265efde721b20eb920bf6d928a5573e4d880e3526f803252e9efacca0832facf73fab894838bd5b3bab393c7aa3433f29545e5aae54771dbfd776eeda554e6f70a9d692b13d30a74dfeecb935850e588cb186fddff3aede9b86914edd4abcf12626af656b8cc45596de092102aad8eebab819816c02b1ce4278ad24b652e6c8f55eafc39441be5ca8480ab6cc06f43a18dd870d766767fa81abec85670c42ed10f4a7566e5b8773c59d4140bc9b28591bf4253a668bb5c38ae7c3b5757673bdee6d9d23cecc82cce8574ee7564d69e117a4cbd8a75f319f1fd5ce1a648b3135400635ff1c2ccae4b3672ee0a0fa7ea6bc98205fe6fd07cdb79ce27b8550fa1979ab2391e382f8f545c0d41251348a8e2ec3b24ce038f212e4d33739888707dfb98004d36a7ea5e59798304c360cd7e803721e64231a7c34393c7254399796ceee3476b7e1c6e632c231d23f51cc79411c9960f6ba39bb7088d794411835f4cce70d1c161ae5fc542b88f54acafe65b64303daf614342e3b0cdb36014987bcfc21978d2f490e0a3cf934f864240f01bbca184af279cf9985e0e4176c68046fe08b57a24d667b2277bbb35b3619888fd42859f5adf20e3127b67c213be275ad4b8be1bfc421c0eab0846005cd9de77b4e687cf78c9fb07830ff3b8cc8a03d0907d67a4ec3a2e23d335b7d6c195d2f8a51a6e857baa84296ae226953c153077688098ce19844526f52389dc54f4d2f41a71f3286e0af07f1adf68e0ad3dc2453670bda9cd22a54240e8a9143033263183457bae06a7debb35f44a48ec821e6adb916c74cbc62ca9a76a9b1caf146aafd8369a2d7ca247290eadcd59d85a6bc5f9c0df685066c38be425fc2dce9e9e485241b5075fb1e541b99180ab2d210afb652525667225750f2295194d5593db60e8a5f758e9394b0f023a49aa47615dbedac47b7049f0bef7ce23a014eab903289339d9b62fb44b677832ce2d4c7ccf81f2b20705f993c15a7085bafd520b8aadc4eb5247e880fb4823672917f56a1aa89d198f8e1d665abedae26fa08b6c5bdf8bbdbc7311ad3c55b31fe3045852207ba0f086c1d6ca1837c7f640334c2e1c845c9a577d6db16fc5bf09aacb5e35db36ce042d7b144bfab8259ad6178296d8f73c6c50dc1d3e518b8c2ba9b62e9e291babda2ccdeac437f72a3fb5235f058aa3f2c6eaee9196d921cd4893d8aa6968069c9d10ff8005ee374a9f49fe0f9117711f2b90afa57c16bc447cb13c0a753de2bcfb802a08b21bbb08e3f1296830ffdc5e8c5a0c26045ee93c61d109ad08781c3d1462496428d39921e954b03dca434a40387509cb0fa11407149c4542739c72de923dc09e9a5c61b6cffcccf6dc25cfa1a70c4e6052811b258cc1879e51230e2d5a4dbc29696cfd2763bdac2ff3263e83926f6833e75d55975bfa6be009b7cf3a79c4a9a2c4ad3b4ab17b4c7b28e4fe5c3c89aefa515c67c8bf34a7703007ea1142e0eb352c13a30ef8c3891054d7cb1c98e95c0bae6a95e2de4a9c062a951dbfd5705bdef54e181f4b2042aaa578c68bd7cedb8a808a15621d7f80dd985b46cc1858d0926e39e23cdfa4ac386f000d61243cced3902504f027966c7c149d1a80d0bb82081d67e34244329fa3042ea220279c49e7337f4916654af7279a5fc2623148be3f7f20e21f85803e2db7df115580e830af9b07b5562ea55004e2a4c0beba77283895125f34b37668d99d7e3b2e710b021f4ff74849367a1c6254fe3e9539a3d243c01dfe29eb5f5284a05d72d712c9a5bcadcab81b7683d9d8461b3ac3d30cd786338b9daef622ff6b69bdefa5b8bf28992539f6716137f2491223eac615888a29359a31682b591faa9a36b615285c50ee1d233f456e6fb17f0261f67ef568064e5ec739e55ad16d3919f7317cea8e951f45617690b09fe1e167035a1def91b8bc65831daf326160ecb12dafda9941ed2c493fbc4f4e41b23bdfd607d75cb4dfd45d88e0451ee19d3bec7134b4cb55ea93f31bff256bef423b4217d31e9f01b326289949f613313a9fb116a250c2d4aa56a0d529dc7af4da7c3cab0eb55fc5b53f867716db5ffca96d9ef6b2b7069ec029a3f8dbbcc4c97ebcbd79ae673294220b7e54efabc007a3e954be953ede6062e2f29074bbf92b47a53e8a42ecefb89ee27a285e5fbcb05b0a98c45ebf502ea5606563413502800c31e7cb9a3433f09e772bb03fa6a2c01d92f76a6f335f2b9b01608799d8332f5e7bc9b54a64021c7f753c40074979b0f9cb678256bbaaf95f42d835b42369c2a701ab2b2553563f763a5f62c94a299078cf54caafcce75ed8270dfdab1696238a14bdb0a7fcaacf1cc80c98c3368163520dad294eaaecbe311599cad2d6fedc21516730fbe54418653f4f2db97fb80dbb5d296b01069f35a285af6957eba0d6d793de83b3c1e2a6d215a6c8d2bb9a44d0f54ed9e58c50408571ca81326c92cfeb2fc20ad30a0d575ab156eabef74c71b62ece8112b4ce62ac7b26b23d8d5402bb9c04c1f6f64bb1df4e22895440b2feb75806afbb382d4f6732717ba12ace1bff6d0221decc5544d695ce41e9c13141f9dc020b232dd1471aeaa4ec3a18178df853f5203fe791734aa3e0336a41b024e1ccf5f84b9acf6a49a5f1adb7f4d30585158a58c395066f0212504430821fcb8f19aaeabeb921b1e976d8d14655b06665e7021df0cf36386dc4915182f17ef67ca3a190e628820cebbedbbdfe2c2f18fe6fcedadf0691784b5c558597d45e0609f49cd24962b277a16649eb76204b6339bd684366ad83b7c2cd8e7623860e43f62043fb3de6686d0006ca6d8184ce5771485d19872cb8155887d79b9fd068c5fc34712a09483a59d3296c80ff8817f3a0f82895eeaff4124c64c39f9b5dd5840bb31dd5db9bc43a1a7ba06a7bdb827f996689ceaf8c9988039e390b93ab82e9e240b885d7d282adbb2722b9f2f88056e3a3d73905eadc6a3de6f651c0e1bf011ea634d4112eb6d60d30f36e71c20b0639ea2b74e04ce903137576ea35a17a2a7564fd7dc018395f42a7f33e35b70e211ac8","path":"m/12381/238/42/0/0","uuid":"acdeeddb-7dd8-4df0-8031-e7c48ff06ca7","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json b/scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json new file mode 100644 index 00000000..8d00d121 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"af9ce64636fd78a49981870a13cef5a772a319bd7863a69ae64e296014c08291","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7133ab85e173da310d65af2f"},"message":"30fc514902a7c94ae87a51a93b5f978467583569af64276459ee84e1b2b68b39690f348e47bfb84785438dfed37461eaa4ba902f0cd7c1a7836d74625a09fe62"}},"description":"","pubkey":"0x08cc8c1c36bdc3a96c5b1c94d1b78df7c18457a19bb9589b701306532b6bfa2405cb50613aa66cc7571b1f7dd35c21cb985c3c4d1a162dc6fd6cf5c299c594e4bebe4515135efb9a8c684329bd6ca12d0bbec09425c0e2a10b689257fd9cf19962edb8eb0e136eac6cb581db26184f5887b52ef266fe77bcb8bbf4275d99c4761f76654b8b0dfd9e7ab3fcbeecad3f8c3e3fb41c88b06b68bb8d3279b9c9041c6110747f1b83ae64825aeb4fc1e0e07c4a62f921418da47f2fe8460f9db7d0da87eb2dba77131d8ab3f21a086e097eb5cba7ea7591626b771b0ae78f0b8ab2e79fad7527588de7e29a543e0195c370b93c196fb1c5c779acdc2bd7df6a46d221081d8fa65a12fae963aa5cf549feb2442179c2608192388c2ca0d407a8e40d67bc7505b3ed32786ace775250dcf45e931e788849a55af914e949670a358419a1f6b9fe04398d36d6250f4dd2f59a7f62b185141569d30bbfe3e0d109a8d71b821822320f384581e9f6b093b6a26679923244a3c8288c290d17b7096c7de378d89d912d5c444e4e3d1fe003675bd6261ffed7484e97a5fb8ffc07b5d8d16850c07df6493e8c0091a9f1a24e03336ad3c2b07b50e6d9d6a3b8f7350950d1846488d8260817a9b4a992e44e639d7c779fc3834ab1fe8ddf4c0ad014622acd473e32df3a19dee4672e095def935d4ebc6528488b6b7de94e59f50646ed76b9908393eae2d295c3db585ec5773c8cd0442a2551d14773f49b698f71d14f29eb6174d50af670db2c3483dec9d6b2f400e91de2ebbe4f2f78d8465e0783d5d9fa7e7159a555ccfd199b71f916be67c41a11c6d8059937c6071e908635be8427f60076577c614004f8033a5d647a4625e0433ab5fa85517f152d023606ab3cf1012d6d32b894fcd585da309d6d34a0d5aacb210adeab9db5b62b21cee08513d40f1667cdcb8cd2e343a8a669fa7e22eeac6ca54ed24da2133736ad3df94ea77ccee50f48201190f4b87f5097ef0bc27dda8068cecc9fcdbd0899ebc29874d049db13812036aa7121afa2d5495ae6af5d386b1fe725a434e8d464a617772f0cad805773a909a0361c922c8166819d1ac58a61cb3c50d9d20c10db6b12cae935675e02d2df658e4f88b9461b2f03c965b6304c4e5c271484f12743d5c5244b4aa8a580bcdfe9a971d68c1026347d468eed2c77e4c3eb77d88614f56fb85211a7bcde13cab2ce8b964f1b683763832a273c05ddc3ac55d7cb7271b0e68e6e3a2cecf7e10d1480163edf5a046d18cae52ce224ddf4e458a70683b8cde8a2248c482c777cc65369de57e1a3c0652197c05ddca832616ca57de4b87fb840d7e098a8c557b4acdc6ddf9b76a172e7f95f8aaaf85c109ae56e7dc388aeadbf7cfb2f9ada6dbcd48b84efa87be2f8c915d7f1e0ca59147ef3e5fdf7736c9a6899b81db992a36d702a4117597bb0e22aea4da339bca1e5bafaabbf94c5da90b3fc30759c0bb764d70db5d55e63fb672ebe7c550f806a84dfc6f3b2d858d3cec4ec374c3249745e3fe7b08ad4420d0b51bde0120cb6a87ef6b79fbfdf5859a4753d07480d2c18ce8de722d35d2381e3d1722be8a18c6d2497e3b3fec2525d9daa0592d3743d80239a8cf31bf9aa66b32e6ac803432f627e83ef8380202145dd9acc7c04746b4048b5adc2ea2fa1901d6c0bcc8a5e03fd8f5900b6a9f2ef9fdc3baad08e8e1422f1ec9a912e443ae950c129bbbedb9810cfb0cfa059106bbe60ac7a903801a027261682f60b9f673366d3360f982b539b0f72f511e7af7dbdbb9a6bb5fdb29969d46c4ae53deb705453746017499ded7316541f0f55870fa77af091a4a76e5a230b8409ef1eeef62e9a315d5673c23139910ba13071a175009448b71e555ea3d133490cef9a9bc560f2fe47f81f13b09141cbe9654c9aad7b45268435fa4306ab3d9dd115e45e5ec7420550e2093ffd71619901f212b37330b0c76e7c95d948736f0f0b99db156d98c27b735e48f6ff10626e69d230f5dda80fba9cb7cfd20a4cf516e17b03bfe1a6d4ea99abb97303a9a1c07a3f5562cc8bb240e55769d62a3848181c0af58bc9c1e29979a7e2998f86783212bd67647ca7e520fcaa87ddf833a2f8f8de761861d16a71f639973530febb34f243b50a205da7ca2d8a2938aeaafc5bdd46835d03bdd04c749ccf8165818c98d3cff6e6a885158b5b916b4205626902d31095c2fe83d0404516d8e9b17f67df1194817cf6c0dcd82f41ae13d1edbf84dabe1eb4281f21ec2964ae6ce12d7ec78e060a1b8c866f4bcff50195ecfd0af5879cdf188b62ae811c85d96b7270b81040676d90352d3c2bee9c8cce98577874e7a6f15828cb71d6f914e88a3bb812e01bfe8bc1b4770ec978396aa72fed11def452e9c98c8bff3c4716c8f4e505e83ab08f56d04996fa185f665bac2e1f026c3bec5ecce63729a60a411db1ed55c5b99586aecba060fb79bb6cec9bf5ed9b86053a39db78ce6941f4087b837c17e0189bd7d9494bc8a7ffe11fe005cba9687e9a89348c896db4a5751e6ae8574c49185bb1e527d6ef616733ee8da0ceef7a6494a8fbb8c114cafc486dcc21b1633a1076f3f86790f2c4785e05906f9e2453e6aa9e2f045557fc5c1d2ffe98d31104083f071a82fa1b6d2c802d49e41a8206f24c4a47fb22175a11ace257cc38a13af921f293fd9cb43aa81ff08fc09a450e39185a24c2ada02f3420d14d23ec0f23c97b53362864603d852d56e5709080032bbf59bc4759a200755897989ebec19a6aa38ba660f4fedd95781a5f2d52cd366fb1df58c00c138bce4de86d411e1650fa337ecfd8d4deeac35b9343a06da1e1ff53309d6e77492d2a1f87bca33e0c9bb4226cb291e3ecd7a0028a3886d1ae562f4463ea5e688e7d25dd251709061de84eb0ae8778796027213cc41c606bc16223ae810a4986996d95676948063e90b133e7aa1300ef6f5c0392e34505ac2331c37fa99200e12fa3ed1127305ee0f506ff6309e88a8c5ceffe123865db8aef626cc3c7c95abe6d8f806d844cd229c356f68364b5a64334d5d0f1a83a4ce0c3cb61a34646f8ac44cac02a2cafc31ef74796d87756b543fdd7626ce679fd58f75cee8ae5e530e46007ee445734c1ee06aba7b190745d3e8d329d9da386078af4da534a01225b933971d79878e80ac6f6075f8f91c3b55048e7757183ebdd7cdccaa6d548ded8247d41c81b910ca6b375ce599a45e11d796f08eefe6acd765cc0c5192c2fae91367b147925267d78c905e616c63a5efae4506531ab1a00a6b26a2201286013441180dc742699ec1642c108afb5ffd9f89037b4434a91c44be10d41573f7423e47d2bc990047407714ac96f1806abdb0919b9b3d3e4cb3d495042c05de7aff85b5588bcc7efd659e6beb3fa5059009945e6b70ab2d68ea77c733b0024b2a4bc8c1e7efd1b2657a6060f2350ff4c1202912495cee36ff9c407d9d4ddbbe6aa46fbc010779fa1879a9a3d77e441cad84b7d4ca0b6130413099b3b4170e7303e7ac57c75927406d73516d9846fadcd946a3c946510efbe967965e6d37bde6274f74e989ba3e5d47e1b2a4a93a081792176c8b9b044fc79a6a1eadd042bd3c824b0b673e2c0ac24b87b44e39ecebe1c5f518033bbb646f6c06aab54dd78378e","path":"m/12381/238/43/0","uuid":"b6cf0716-6238-4ab5-aa33-c92dbbbed9f1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_43_0_0-1751540655.json b/scripts/consensus/validator_keys/keystore-m_12381_238_43_0_0-1751540655.json deleted file mode 100644 index fdd4476a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_43_0_0-1751540655.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"113c138c3ea37e7f93046ea22771e4065641a6e5efc14a2ba02d69c3e5818ae0","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"89f61ab1abba42c9badd6858"},"message":"1975bca141cd0c05a848071fe5e313b73624e1d24415beb3ebbeb8209b3879f6dd6cca6e216e50b6a500cc450aecab84b44417586e284c432c7fe15e701d3b6e"}},"description":"","pubkey":"0xe21db53a7c76e638c0365be43083b3922adca3324488d8bd4a0e39e37a3c9e6963b3e884a86e9addfb15aab18dc2a79a2976773cf2dee6db633d15251aae8ca7af0c9418ea06a5c2be0cec70ff30edcf3f2d4fc144fa0f1a2f75ae52860be37bf69a84cfe51e7ae95ecc8a9e36fdb2ed2fcaa143be42e68a0f68513618337aa0eeef3ba3ba155b5d19876ac6f1f09124da0135b11b0d80a4147f63cee58426ff3dd3405eb8b2de609c82bfaf1ef9c51d81f998fe7703aefef70a897ff850d5b3d4161cf2ae23a4c5dac68fc6bbebe54952c44dbdf2d3d1ade591e7cdb0061021e38e88a93d0483794136cfc704561cd534b29331ae27064604c8ac130df181c439b700bb9b36621cbd2424453affe53322882ab8d0ed734af4b2634ebffbe5ac1352fa1b67ae58ed571c2f9f9aa6a8fcf574116af05534c6591189f6f892859de6c3c58f732e807e62362724efeb1202aec671452b9a513d714a6564159ef3cee5c39acbfb039268252a349faffc4dadf07077bda30d9542f8fd2417f0fa3f85f57cebc084e2e1daec9437e939b45779de5a1115887f2d2de4697183d5a738576f6c141217f53a9e270f6d15e84f6c9703630d0238fa10fbe3a6e7db38d2c5090129bcba39a746647d691ee1e59d6990bf82fc5cac3b4508a1aeb641cd652985f014323ff07b55bfd99dd8c15602da6e20b901d1da04d94ebf09db79a3e7ae33654ac8d576b45b8d2b9f71a408a4668afbaf371da09faa7ee44b2c5ef00a76bf8a088ab098c412f890c8e5d8e5978ad42727cae12c15192cf6777d8da8b2530a124ba8da07aabcd8978f33765728ef37b4e23268ec62831daae4e319d3f56846dea6a2b92fcaa680122aee12f8995de5d11f854a26147dc32cac6731ea9e16a4c608141bba4a07116b88f6cc798c4baf3efeb07ac08b04c0e28abaad5c59dd59bcb39ec860a7b11b2b536cb3cc70d967c729bca1498c5789480733f869c2132229305629cd06921ebea19a3c9110d84a2c71bed67dfe3ec10e0f65bc9cf6fcf0372c0e1761e742ceb05378f0baf66b7ad6fe548dac25884bc1dcc34fbda07d3e56bd9135d92713fbd55fae7021afdf0f04bd785b00097a5cf5e28ea982fd6e5c24f3dd23567b44818dfcff0a66d049afde601a1c9b95864c01a50156d8dda0eca54ae6c386ea549944cc9a70272d2d80fa6e127dda3b89a785b31bbba8972ef8091d06931110e56546dfe38e8f00d3860f5a31baf99f663a7686893f738e35ca68157441e0fc8c6e956b7bc2330a133ca4dfdb1f3e890e4170d768d75f5927379e5f918a93d06c2708943160887e86fc0e2cce1be58f50e1ccc703ae8cf567f5ae4503a696fb0953cde90a4f5cd2c3cee42a05da0a62b20fd4e32cc255bf2f611c3a7988f387f386d3fc67119ba341d8c53cae4701bf9f06a72bcfe4b387e0d1094b4213882a302de1bd3dde180e02594c5a4bcd6df77408475e21638beebab5c38cc8c4cd03d7bf547cffb6a92883cda17fdc7105ae55e323b307ceec2de90c2d31b65a610bc0e5929e56ef51e73baf1b5a2b118dbb7832adf9d26da59b7500d6f6da534b242ce9eb653a1cd4ac137469cfe7788b603a0bb0fdf1072b63f79bad15d5ee1b5ae98719ea5c782dbe7e6adce48688f74ad94024d0a40b8a72514dc1bfee10ae1bbbb43dbcd21e70224df167d3e8a8234712e4afe0ee3f5af7376d33cea451abc799502c6c478b3c3cb71a5a4c9ca8aae7d69a1d09e77d106500a06a67ea3eb094e6cb61682c876ef01480902fd130c07ea6ce82e6c97fe8cca896429c168a916f65c0d72dcb5e1818b85b9c548ab437a35878a1e29ec0993213ae9a243f3bc47fc8dd33863563dac7e98923ac1e82a58a4b10929347ba61f0c4cd15f551c5f0c9a49c28a01331b1c037e964055c0458fedc8cd903b194248eeb03e20ff18ae859a18c3f990cc330a1f1745e5bcdd05b470186322123d0ee287fc98bf1cdbe7bf6cbad47484c849541b9558812b203b83c61f43b3d07b72427e56b137ad965647ed9617b7752767ae54f4ea01068b5ec7d74e1f4ea7b15c852c494e97aef22161e01bf88b5b3dac25d8296a52190e051ea31b9ab4b83b4fc9eac59687ae60be8eb6577d94f5d120f1d6314f68b2101624aff0a4d0117e5d248ba1979ce7606d1c01c1b4b67bf59cb3679c17def5309f9ba5811897a168a0743888f6682bcf7a671e58df89eaa46ea2acd47ee0c81a06ef3652f1bd92870f99bc22981af7cecf48031461066bcedebea0cf6b8da97f56c89bd5f8678d522bcfc1db8a0f9354079a94fc71bff6ceb823a9b09061cb3d8f83d4f63d893a3eb2c8773170e8b6ea8384824ef292587e932a0b0e0992593bbb3b5b5cccc55ee7e9b321dbbe575d0394cbef8d68e5c9bde4a304081bf0960646c990855959ab651b05f5b2e65d05713e5678135a15bcde4063bfe72cf589566fc2bdf57dbcc0f33b8e7f0c8b1a7fa5533685ddd017ff2464dfcac90a1aa13bef46f29320efcdea1e07ac55cbc5a6d6912bbfe2ded75e2ef8fb6e7a94c890a4cfbc08e5b8011ef4f2dd6f19b1d475db7d2105b14413d043567b22251fbd7b5ddcccc2df250bfc2e2d9252f9c022e7f918297c9d2e2bc78a6feaa30e6010b496e6c1914f0fea81deca796fa9e3eb16d0342b85ab4758a4801ae2b95663a240447b737df26db4c5980071b6b302f09cc5fb5b874e528db69ebe1f677eb467c1a852c9040f8115464ea5c5812a377edcb01e80bc62abfea37e5fe9e2714a4de4a05ba09d8bf400fbe40bb70608d503d39df8faeebfacd306a11cdcd6b46d8616660859bb39d4a1c2a5a01ae74d5ccd5512eecd7199185b149d5400789c976765796625cfe957c6d6f6cadbd64ec2198a4cbb3e4efb512414408d09491a2cea8145947f7348c0a08a03cfaa84635a94e87b113ea43ece55cd2b828003a5f2468074ce28ea690969f2c321738072d3d5842be9ca9c74632576d9aedaf5e69e7dcf4e00704be6743b8ebc2d44ebf31268bd7d48dcea845a87f3ba86c7be6695bb297252486c195b6e197ebf86b873f89d774d9fa8be3fb840d973e65a2422adcb1ce4f08d2856f79ca98d3b24889816c5b20108d8372657bc178d2cb80d4a2b9c318ace535477e8375f93565bfa622bd13c2ee2ad880cb8ce60c0268f5f16dc100105974c0bef1d0a2e7ffd877b2448db73267f7d27ed44687e2400c094f1389377f7d91aec375afc7c1910c87ef33e0988dbce31acbe19a04369d490e3494ee53ec62e05ff6b32fa4c940e321807ff1418b410d27feb27c3ddad2dd11d2005114f27cc68cc0b07180195fca60ebc55e180243e4b21677b62b41f68437a21437901ee24ac9cd0aaafb50bae30cc1515506a44bb501b236c02eb794894b6186049da1d8ccf82e95cb0c8226e44bcf3b6b699c36749c6c2e7c0a85b9fa3caa335e8c656ca79d230ad03ed3361d9992c8ec8243dae79c4f2d72392cd822eabd748674f46277f75b6950533fe62bc4bc4cf978311b9475ffe71d9e1243eb68ee0fdceb4782f0d1671f045f8c9196422c8ffaa620e7f05488e1da690174fda191ca112d4c9b192ca72f602e9f5e66f5fb04c2eddbaaf6baa7e2e8b3b83fd68448ede7f042ea89740395696a39612ab42370","path":"m/12381/238/43/0/0","uuid":"83ddebd0-9cb8-4ccc-b87b-5c845279bf7a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json b/scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json new file mode 100644 index 00000000..0d5e49fa --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"848d592ca97b10d83ab07cb1a3fef515fef3349dae3969ab9d96c5fda1d82d97","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7adf3f97101d4e146c6c4faf"},"message":"c7b1bea20cfbf90153ec1d67c19a66d7e099e107032f8c4246a83b86e8b1f25419586b275f16494f0ac644c8bec330a35bf93f3d7cb8070c72e561d2825ca656"}},"description":"","pubkey":"0x6839f0b4ce0dfb34ec26bfe4dddd5bf79d07f9aa0fced1bc6997463209d85a63cce74748c6249c8fe4c1266a17e16641287de94d77532cda0fac6f7f38fecac38a190be007149134b508e3354f07243edf0ac11ea1c48ffc9ae38ac5e22336a926ce4a20f9d085ff7590abf356726b28d6be66986577bff5d28d18bb4538a96da11f56458a12203a0af2eb05826e01b4eccb7016acbf0b8c6250c1abeec58027c61043753bc6d8bf94ef07b0bc568d140b29df2d608d948187a0fe4ab7dc10aac88ee658a32533794cde7f68c2d3aba778b09305151b72db64923a2937da04f703937b01afb9a522838f8ff8b3d6ec14d42962715f3cd9e0339a62554f6a84afb5ffb96a416b8ee0ce75e2c5d17da0f628f93712a1aab6a18600a269bba4a807c84e6671c7d21bc67866bea28a09d2497a6021f74b34f0c708090698d21caccc08745e0723917c4c638d980ea9848e77e62eca6a319a8c2e86291d03a06f097c2122ec07ba344dc145a4e78e655308b4535f94d83094450e80929e06354e4dffbeb0c0b2c972abc54c16f1f288842f50c20b249d9a61ffdd1c2e2412e6ecf968df516c2dc672ab83e9ba1180dfb89c28167ed833189fd2d28c6d4c3d89091c1d1806d08047ece10ee74eeee2fc92a7ca55c4ddd89dd1e146c094f0d29a8f3544f4739e24cb62395ef20a87206c7b3763047779d688b8eb1cd3f99c5aeb523fc934249bdb980edfd9e9ab4a207f6d4778b0fd90382da427663f238ea8db6238b4f9321ed07ab4f6a8b1262d29702e2a4c5e0cceb6ef547723fa502d6d55cf7f8484cfe8939dda23e29db651f550c9d90c95ff31a211773ccb2bd06ebcfe4289894ca0e46ac2aafe41538c069202fa0ff1725000157ea8fa396d14e16469e7a8c60ee38b947807320c8bd3e4e0e0dd54b2693e5773ed7785da6bd47c71676544b36a6d2c782fd04d3fed681a7330309f3d4fde63681b24d5b4d658688bb5d27ea0c8b9152973baec704360483ab949f4605a29cfaf292639ca1ef922cece8d072edcf666088288859eedd2654004384221d63e5d8b78b1a5aa6d26d0d37306c746642bd116eb73c6bc4cbd227b17766997ba6087034da323541a5b4df01d7aa97f8a1ba8db12fc9f97243f217bcf1f376519d0b1c1bb2d3556b2bb9159ef4a5a9e0adf0f5b109855d1dcea9b843b951a773c43dba23e2f57cbf8e7cd9badf7aeca9e18c1a2e640090589f0b3c96029d53ccc7b902fefd00dd9f46f6421624bd6fd7c205afa7d4bc3f3d40a77176b99e423bf67c43bd331a25b720dfa3002204c4b54a457d3eea6b050463ef3a804f0f7118a9811a8bc474c50263c76f10f4bd3387c42304f05103394480bd007a86ac581e5c73d84bc27792f932f8ab3c56282d5d5cf13eeebce06b1097dfc78fed081123184b42a238046529fe1ce446da50fe4782764b396305dda7379ad9582282a8e970c54882499ae82335f36e93d1ef913e1b70d78da7114fa7f54e650101ef6090be8f719a247e205c8afa5de6a48b6e27baf03ee328198d80441b97c44c6ab9b5aaaa8d74ee18600428862b337b8f70bf417cc18134fcb1c305cecfb2d8dec99e903545f4be42bf8804f763cf86fceb4599e20972a383c33076f2b932a183d46d359b88c69b2986f60ae5d1e55c3a40408841aa050a9a1ad21a7bac7d224311fe4512d717a576e1a2566e14790684b103ed1df5ad614c04a5affce3bef5b1e2e346283dee628d2287a28f4f718e651f83a86a02d3f76276e7f07297b27ddfee5044b30170dd2b3b36cefec5dbcbf2bcfec06109fc4eccc8be6ab6b54f2042a38f77bc021ba2d15634c0533ab7d3abcf275b402f7ffc3028ed8eac106183d50c8eb9251ac3c7a46f79bbfeab23ca8fa3583d326568875d030af8a97040a4ee4846592f03a9b689fab11ea49f5bb21281d67309198978447fd9a058fc917d6896c87454a6e0a90c3212e68c152f78934cd5084c299d07ed4d4795a82f53bd41e12ef1f6c27cb57a316899ce9c1707bac47514171dbc122bc0622a46040212fc3795e355e6afe70200980f5ecda4b557a28486f662c95c00d48ca3a3368eaef27783d82c1a9edbb9b1654f11145c0d099b17982aa5f9fd6ab9a1b21ba495418bcee40e7e1f977225994c1332f1bc01c13434fbcb18fb8261184401f27c2796d7852afefd1dd7fb7023b1663f2c75220c96b9adca2fa068403c221f7a3876d5fb08d332c538fe03f6064afe198d787c8d7f2c1b9b731d5211fc23d48a1f6a497a7d038c6dc7b38a3f993d9bcd0b09df6a0ee4c65b89506f29613939c7e8e5d22e551ef966a227dfe9129b129b9529b4337f9730e0e0a94dbcb23ab6da2a3924b6983f363f6e28a5ba5b10a6e960e329d0f636a6d70f10b225ff7392c6089acd6334ce92d77ba938b18e1f201ae6666d3718a4e7404ac57ef4576b2860f2c1384d1957229febe6b8598a9f43c89918d572f20cd1cadb9f5d52e866db80e7aa028a6b914538fab4bf06ec101c4d4911ac0b049050a331cc22b79a4d5a49e4daa2535ca2a5d1e316d0150bfe68c3c360361e43f105976bdc79b07fdcc3be17660c9a67bb36a0a230867a8a8481f271464c17a33b69eedd8b792f73f3f0f0a8a1a2a2203bba7d3b5c86472666fe1808c9f5e090cd4b1cdbc920b231fd4dff83936929b7b807b57e143e39a35151e5ef62f5c15ae9685c677b180075748ee0b2a474309b98711c1a56934e7ed1f6d74a98203364a4851c0ba94ae38c723234b42815cbaea90cf83b345354b55c8c3fd0bb4c5ec8bf6f9b136a1e450d8af58ef06b4aeaf66df80139518688bd2b55a98ef8faa23f94e9ae593152220ac3331bfb22b3d7ee21aee5e19f86244e4de513710cf7b1679e56aa3cf444c61a33c9976584604d4dba2667fad0fca9a61a678883a8b65e3b7b0a0ab094454c59e35464b9998ad55f40a95d9038e913981be7853160ce71a8fcaadb429f2886a4a09ed930da65a730f23572cee0ad2bd05a328469a7a56675613da64f55ad47bae62433296f873d61c8744a173e7cd09a6234c517c752d9f6fe01f832ec0124809e0d680e1c1a1cde4035b4509b25555d76d8d50133c82e9b46fd9d52966a125de73badc47eb1b77308c28011ec123a0174c7b22a67363ded673dd4987f56265a1873b5fe23c77a2f39f1763cef1954783125fc42e25634b6bcc0ca0610de573a61ec9eb19dcab9fd59f2965f7e83a69b30bc6175f3da68ba5a1d6286d223f5d558b0812979ceb70dc60426edb31825cdcdcbe7f7e1bab6ef6b8cd4303f718afadffa63a58f398758728240fc525aeea2508c9fceb5db8545d66c85497f0a11f8528a084604b7c1aecc58d458ba1920115d62d3a4b9f7f191caa1a6d87b5abcddc1976ab0d85a034644fcc129b9a4a51e5845f33546065d86db231af1e638f80d84622c32ea8a47cbbae8d7df767f16f6a8c74be957405ab1e1cab593145d1af9eea425cd5b67123447b7578c44d7beafb646dbaec29113dd3160a946158f6702586047b3732eeee709d83db1e402adcc690daded5372288ef97b6992237df9aa66a3d3e1c3a37b69db0ab70681ee8f6daeb184636e6167088edc45f5aec8293b6640ec76ea4ed9e315ec91f89081960c4dd50c70e54cc9fbc","path":"m/12381/238/44/0","uuid":"8da8bbf6-c7ed-4a99-a25c-7c3af856bb47","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_44_0_0-1751540656.json b/scripts/consensus/validator_keys/keystore-m_12381_238_44_0_0-1751540656.json deleted file mode 100644 index 377b1b7f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_44_0_0-1751540656.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"3f3c0a4232a7e4cb1bf7e1b7c9811feb59a20d98e1837f5e7b196670ce0f0abb","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0987435bea2b1e33eb830edd"},"message":"6e4452aa914ca7cddc168082a049a6dc814030abbdab1abb85a9e389423634a56bed5bc43f152ace4c084a4ea52bedfa7e599b0da504c5b08f550cc38239fd59"}},"description":"","pubkey":"0x3e330299e567fe6c0e542667508f02a4c53c3a4dd9ec197ea0f419a9d2a113942a37ce49964eeb6dd7c6c1aeafae130e2bab7d4719534a1b8fd0ad357bee7c73f6c64f7d4539fddb3a0b1c6fd0c48c83b3d85d82b0809b6b28575dcb0d5945df95c6f13d10b6b25c180b98bd3926220c6e64c55fffa7a6c5252efa3c77396da45bec7ce23a119013f01f1fb380050abb9dec494ad926909c2a4da6b5924c1a151e09d5b9f2440bb656673bfa770ac7640db672dca35779082d0be0dcaf7a5e6ca3833bc1e36ba2f909aa48cfe9cf8245854efa2c109dbb722acbb800b7cc8eb13050585c5336506d00c6715d22b3cc63bdd86ef3c5e3850ba070175739724d918086c0c9abb7e6859e80f701abbe0c7c018c4e2f8d0c3d02963f2c22718195a0cdc9b88dbfb46730768ea73828479f4d7bef1b6e492bd5f8953ca432753a74b79c47b00433ca9fc8fed69fd4168d05fe32d2ef33debf54aa31fe09294b666bcf1c4e5399e97fb3031c6a58a261a2ab9a767b568873851cf592a901ca091f9ce44c35e27c45260c2a7f6691b6b9744ea3c5c47c7a8ff6cb121da27f30aabd4785d7b537abbff13622639891fac14e0610d7b0a142e52d8d7e4a61ff46866733fbb5f533eaf24cd139be8f1f29822dadea59e923500fa592fcb7313d0a5e38932f32c4e359973b7bfcc67050529ed977cfb15ae0f0eb527e6ca566129d31685b952a648b7543cfef4aba39ff3b6c9939c76b3ed3430f46dff3401c3e333cc2d3c493c9e33342830aad05a5b9fc08e5dc31b60f68a1af3c247eff1ddaa6fedb430138e11293f0966afb9d7684210271f4c2da41f668e6ea6fab0e9abe78309d6a8174aecea2f41f8df212d3c254f050d89f5816b659242dd3ddc102c3242cd2b494db808d963bc2785714106e0203a8ca716e337aa543c071b42b9b346de7ae21aa8a554b20171088464b53023a329d26c5a22b21d70f9e769c0baf90e1dc493bbe6da82eb0279e3c289e12ad0aa812806d07f644437f0b02ea3ae8d8cad567eb112fe8829098c6e7ae45a8c2fb400f08db7ebba6c753e1fd8cd1ee984eca6a09afa8cc1d6a089cc4ac5f9be56b3013c7e51627311d5266e9e88f37b88b881983a73e877542c68707862d6bfa7e4651e8885a01fe9bad1536d775201295bc64214e09a19c8ac1e025f25312cc60fd93219fbb51d28a18901e84f97dbe42fc61c4445fc82e88ea8539a773f309fe087857855d533ff901624b5cab6b558641caf47c412c8144efac3201e6520726c6872a300d674f20cbc052c29aaa0c77b30a8851007a8a9cd1d9828e753a2e8eaf7211b9b1a64630cd60b29a32d28ca3bcd0509b4e27b0f4de49d41d16129a91daf7d2224dc386bc59e8ecba6d0582554afc72fd919dccef6581cb89e29926881a83e74ab444024569a11210db9cc7d383b5b148e921a263e58cd90119d0b0c8fe7ce3122fb5557d735eff56e98e15162a27f0f0b2ada720c4abb2d2928507a2441aba22fc23a640e5a23ae4ceb00c5e3ce3b91b2d0db435ab83e52c947002431f0145c40c23221f390993c02e323838cc00b7fd2956716b25b40caf4e3086ee0a4beb48070646652617ef5e5a966f9ff78ac4972c208b8ce474b45a14ff48d0b25eebb467deaffbf4d41352bcb450a5859d622c7b34abe403ec3431e1a793e388b3347da64a04098d96f20e4395c3e0678a898998167de9d74c87fff3611c09508f070b98a1b1958f65bc25f72e1f25990f7f36d8994a25f93be2c4863d63afd558c7b365e605eda4f7eddfc183f45554916acc60b165425870af4d3b6eec16ca4c75f3aec7d74ed0bce5642f4f06a7304cc9fcca8402978c9e6379b5eb32676cfe22aa53051a0b14126910ccc3ad6f434bcba5d300cb81961d67c295d4cc9e3556d453add2a4f67c11faed7d69354baf47ad87e6ab92c8820519b87a2a28ab6368e29e9a226d91e434b4393ce206e234ee6cb665d8128fed56c5ec379d64e4dc4012360df5da1a702e860261baf3af099567a96abe9baefa424d435c51d389aaa3fd7051e88a115b6508051856ed4f157ed5e9b6dbb5a239d73fa296e5bcc3ddb250978e7b13182f032dcffe52d04f6bb9ab7bff9f3effe583216ace53720ad6049a9d21beb469454736bddcc54e79b061c753d8005df5ca96925ae5eae7615fe3d56bc43cf11e762caec6bec88cb6a63be0c265e97a1aeadb4e2ba4a2d35abe24880e8480c5834e6655c8e0ac1a98b5887a76f7c6e1a7943f15836a9dae2fa2a576929edfff6d51a491788643d1a6a4f90b461251d02658ce27f0a680088678fe25697ae16d2c8da651f92ec9129311215fbbffdac4240dc0e54370c842105f8e8b3cbfb0c7339f01d074edd6183dd12f50b050861dabbe05f6cc92cfd9dc1ec918ce11dcd1d34f6d6c2a815fed33b5f0765e4d1879edfbae8be9beae29ae15bddfbb892c7d0c60336cba593ebf530450a758a096036c8dff10b1b3d4ff89276e695fc44829217fac0f2f4e74a3a9ded9bef3efb7e6256d9399de45cfeab5f9ca9a30ce5ae774650589303e22cc011f400a68dc8273facf8639d1fdf9731e465a4b9d70a4dfc547cd0f0234847779c4fdf04f8cccd8d55962b1c9d3e9e53f335533f24ba86428ce055c03fb0c55679294eaf14892847d276f0ee617fb943dd4373fdef0e6e3aeb9043c1234fb0878be82b8a9f31473994173069ea6583d8823b3a8da5e943c4e4602f94ae028db3e547335753eab1b98d7f95743b5a30ef6dfd2108604c79af4b6d560e4e92ed3a714e14db3569ee9776e411874593682dc6340f345f9a31c700fc1893eef77121452b29aa2de86e605fdc978a5aba33361720946a262ecae037fd3c55b0b0340d145d7b5f5ef7235332ce866a882ba8d8ca988df64a123dada9c0a5d3a01ecf1ba3ba6c1628f16dbf185afdbb85a25fade2df2e9ad4fd77d3c2ac2d347da316a22deb44700a69ccd5c0902734b54f8c625d782f7e7eec1e1323f29393bbb10af6d93bde24a1cc8927510bae9f8a03e48a75ec950cac8b0c1c87a38345378dd9b0d98cf9c7945251b97f5ecbd734fad027ff76d7b565aa27a65788a9c6e2122ce232e8c03cb0822b48b84e92b9e51cfdb5523be16479a14348558b4e9d6317ebdffdf4335e2e0db2f662c2a0a6ff1bae90fdb0c4db84e85e0a382a1e648e464937d78cae91d4d0b7c08f42a323b51b5e02348c0322e6446f8251c6eae8e54f3c39c60fcc099209d551d0edc77c761383574553b52c84316bba59819705e7e0a16a5691de1edd434baf2ff835aaef0d117cf7b0d15218a2916e42eaca02ea944b3468fa0858535f53837de8b2b901affd63910335497a39de0119933b57671c73dea4968e95f5197c987e5fc1ee14f950477bb1e5f03a6013fa1a1946d8a9ce7d4a87cb72f2f1d4bedd9ed010b1bfa6c3766f6e238634b02ab53f8e420c3468f729767da64eeeff8165467c75533e99f11d7a1453b886c1c0937bcacc6f39986232d6c049bce4990570d66367b7af1331eb8c004c4080ae7d84293fb8b02a53fc0f4f171ca438b0c0f9a967183b4955f6d2c760f56c410ef36148e72caebaa6747d8bc1a2a3e0707a30143742daad5a2c02aa94b54da67ba313570a9797fc8e56a9abea00421","path":"m/12381/238/44/0/0","uuid":"fa88849a-d916-4d53-ab51-6d53f1ed79c2","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json b/scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json new file mode 100644 index 00000000..b05f148c --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9b099c7086c02da0c6968ca44118e88e4ddf6b67985aa937d68c71270d897bea","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"fd021ef10ef01a97ee35d28c"},"message":"8dbe0bca473146c3a568ae052acee600d7849165333f09c3b2c82e2c075d187a605c0e8c7146e8bd1c0464732c435d0e3576a1abc36946c0fcd83a019d21b57c"}},"description":"","pubkey":"0xd074313f70db545cd19ea053c31d752f60a19645875dd22381bdfe7178d304f1fca1884749de6c2b6d8cabe169ecef018159d9774c9c87b6446d76cb0ca90fbec0c38464228b05ccecd231d0b33380447dff63b91312ff995a06459b5ace8f7faf875fc848bc7ba583ae738cdee274972bdfc6be227129d9ef7aad4672101ac5cd403706eb43615ac07f0bf49f93effd6eeaa50af3c7617b58149e947731de1bb276c14d86d9492e35c42da9645132854123b88fa13added82aa01f3bc21597ff47c0b6507808fd49350119171904c7947aaac5e43d3a4464dcef8424934b450c28c9bc2a7827bb7d3c45451b6beb454310732ddc1548f99a78329c02a4487522f7627d2d85671de8f2a7cbcd397a160410c5c39ddb2769b05fa2e225fd82474aabedd8f27de018d977335398541df86cccf2ae8408f58751bb663779e2deff1701aefe7607d69247e786555fb74da027c4af9e5f950c63410d3326154503f78ec831db3d34422d6f9a5bea19036f9e34fcda271c104d6268f3c9ba6a0cf07c8b7382fd72fce1764680ffcaf1dc0db7b02b698fb67236babf67fa824ec56a1b6ba22d8403fe9c7a6fc2a5379f8c2ef3c17ac3de5079fd82b11b9dda32ebdf63c69b7eed5d24461c7f02bfcb982b8dd99accf072001f569c5f33de420a49bd714df7948ae3681318c5ba12baf68d18a7e31075769c6ee22752ed5d4e90b9f679edd727d073b92a2e482069e9cde7cd571741ce69be0688947ef9a3ff42eb2348e621c41cbe6b3401836ef52985ff953158d6adf99628d3e58a12b5ceec0225f97fbe6b3598fba57c53182bf483f09561ea1868fa9e2d93c0e5ed30c48be52b49fcec9dec2d0651d8aa088211ad04f1cf6b8c97e378140c0f273ee74767d0a1df2e0c95929aa1dd57fd1d05e3fffa6311b5ba605e18c548a077430a974baa619ecb8f27410efd533a3d751fbc07e33055ea01f55e8f540724b017fcc4a662b47a3c8e92fdb23fcbe0b32599243b5c0cb2035467ae38b3d1ae2cf1e3748a329cabb174f3287a65580d7ab83d517c1b091ab7c4e8a7f0bb54b2cf88006ac4950c93e299183b09d6e7fc3158a565001436dc3242d5670bcf56ae97de525392e0a15c7075d06ae170c163f21a38f5f0ef2b7fc5d3606771515078926e252398be611f415ffd7437e323afe37dd8b7fc29f9699228d1fa0ae83ea7522ba15f3041732d67224b05847b5b48d3d4c25b74e302d181819abbd16e5b89e3d0b1eb74d8eb8f7030d924525bdd0bae39ade1c41393f45f919de51bb5a6fefd318cc0f246cbdcf5aa3ca376e9684849063d0148614f54f4ab650bb722d8b5a2454f327e4889c934ca72140900d95d980e0095bca2404f881c7b1646b5fd06d4ab6ffe043458ce25a8affe914307236ec1438df343095ed96fc1df4bb0184c1fcbcb130b72b38275285bc118dbbd71a22050084ecdea9a3aee6b1f5db86a13d9b8ecbb634d050f097f1fc2d725ef5e32cc3bad04a0046fbc5b9e155f4fa572eb0b70eda4041bf2d2d8cf9556e220393b9401f0fd4a7c1b1b8322751ecb45c1d6cbfba4b06518e374875ec4c66ba192fdf5dda2e5b78fb49dc015f036936e602c4965aa155769a52482cc51d5b7c3a1a79f6aa5015d462fb1d0f15e71390b20ae6126c731018e0c7313db8c5da5d14a88a66cd453d02477e3fc99314b40268b417130bb4ca68af0ba1652c8d28445b2ffc4126804ac77bd1acb3cd3c83470c45c8dd106787db5a5f15fc96ad681abf07bc052b4a554ad0939f9c8a172d193513c7b86edf0a96da3802d08fc3f43364e21a0c48903d2213e48267b11afed691b9fc535b1d666fddee9a61e58890afded44668d2da4c32f9d07c3512ca1469d4decfb27b081ae31e93ecb5ea612ec358ea6ecf710138b2d7a6b5ad2e102bd8d1998ce9ad0669471dff1bb012e5761417e13d7d40abea91922b31ab9149a09e8124868aed5b6b602f95b07488ca84477d5f5ce9cfa2d4d6dcc50ba8b461889c41da7dac870fb796c1975d8ab9412b8d8a1bce31875fa5d03716c372f1597e61f7093a8bdf6a618fcb234095a8cb2fc279655721a789b299d284f5913e3778eb597079e7da2bb37e0d68c3adcafd1cc60002187c2e3a0667dc61ac02b5d90b0e18a8d21d85d36cd5ab906e49bf403537c1c3d0fd456a93a6d93b4b079851060c057a84af19b6858f64418509030b50a0bf7b3a38db644229ae0775d5011211c8f8c3083e0808bab077d5e5a84379714dd5560cbd846e54871aa92c4d3b6a1172c43b98d68768b1828275db1b03923bb8d0c2f8ce1523f60f19f8fe354a1efc0df369867d16d8c1d5961057e97fa3a262fa6852c417fb34d9b55dcddc13f12d3fa88ef85ecc9febb5717999c47232f568ab2554767838edb1403bbc981a3586addd11f70f7175ddfd46318948178f94468b64ea93ca205dd0291b5802524bf7cf946cf20f817d02fd24ff7a8c64b86ab899b6f5c3c6ba806f85081407fc2f73e77179b3d69eb427d5192a6053fe4362c553224f6c9d1f883e909c24240539ad59adf1896a3dbd137bbc1baf2920e0758ec650184596e9c2ef50e56136a51fd694c5341d591940364c664c9d740ed0700e39d239974323d467b855763aa62e934c1b604527066ea093819c448ca029d06197345b2408ddf7aa44983ef4841d59ef5524280fc20e8be2d2a0d4554b956eba1af381df1b40de1faf3867a7434fccb60ce018efdca2a83c22bdde195883bdcd72437a1fd2bdc99aee2a10c888cbac5ce86366f07a21aff181a20ad40194ef054de14fbe730a547661b3308fab2ebebc4fa87ec7a4166b1f6558a51fb10309c2e0c82007fcca877127a1863366f7a5c9a6111935f516f9459e63d19bc26e12cef1aea7fd29d242e31bdf9aa8253f1107c91febf22adb85d8613d77fab7e6753089bf1e965ec30ab7079e4cb531c6b5d3a9304df78bdb070fe07c3a4af17de23aaba9d7e5246d04cc97c40128a41c6cb470262558d003ebb66c17cb7ecea1686d08bd1a9319de94355eca7057f6f4a3f427b8d0b06b4b6ad8b2cbd90422362318eea152c5571be56d218468a354b576948dcd086241352f2f24046ba738e1ea5dc27f541f3c952f89cc6c0e3c1091545a55a9765ed3fd68b49e0544bd4d2248a1e408aa372568b6b7dd2e6095a2856b4d6925e882f8c88de8896d9081581cfc756473ef1af17573a3e9021152b390bf5e6b8c12f279da39945b89411edb305591ec840c559592b9071521c4b8c2e1e97745dfce26dd05283825dc521eb462d8bb9c9c6180a0d61240762533566ea2adf19490f4d762e901261f7340b8ecbc4f12cedfa9ce27dbfda7c84e2dfad3264f549f147b488dd8bdd46ca7668197f512c160c1b6e44cf353cdcdbd2b464a12adbcdd35ec050d96ee8d4230ac8b8e777ccdb26d0cc55aa72d7590c4e284139289d22ed56370f9e3670f0327de0319d79f505aa2d9e9acc82ffd645058a215dd7118c95f1579fedae26f664b316601a76f6b809d05f4beb13fd6d946f42a3805f28f1374015a361f3d7c819b076695acf83291d2e1112ca6ebc721178978570c5a1c7a904cdf28af2e1cd234125d469dffa288617ed7ba4cdf961411115536b551b5b725f38b90c672e2fd12","path":"m/12381/238/45/0","uuid":"bc8414c9-4513-4ab0-a4f4-85bdcb33da1e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_45_0_0-1751540658.json b/scripts/consensus/validator_keys/keystore-m_12381_238_45_0_0-1751540658.json deleted file mode 100644 index 925cfda7..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_45_0_0-1751540658.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0a91a1a9278d8a49880be2ffd54fab05d011b20a47cdcdf75267cb0a6f869459","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c4f692b5df8fc5740f089caf"},"message":"cfd130273f366a6cd68b8b85ab1a2d36f303623d95cceecbeb32f778b31f48dd7ed98aee293999065e0fdb31c5c64dc4c11508564b44643970e91acf24411098"}},"description":"","pubkey":"0xdca28420150a98807c027d3adee2fafbb9f8265b889242f690d19bfaa935064ee06cc5a7fa94d2edf5a531a8fc7259998da6af2576238399c8e31eadac5d9c12014f2a71742c235ae406f1c7f75cd113f5b77a2531342a816e2f838c938eed173fd81c01b05d34a1382b5d28c78ff1190840d78033c45788f14fcbfc345be6d456ac73c1257e4bc85ef9c7235dd54dabd86a9cbf7e9f8a504d187da668cc613462033b6dfc379ccf98b43c4a4106d0d7666d77de002943016b14c9e12536ae6b1eb109159cddd5e9b1ba3d668ad4e0dd9dfce765f3cd848bc8555c3c5ddfd20941be78607e81135350142b2820c873a736eb7f583c7195f32275846bbee14fee568fa67ed1eb0bd72e2e0b5eff98e312c2602027f5481f2828ffe67e1dff2e7dcac7dc4a7a11f6c90c1793d15ba4ce3edc86c42c6cac670cc65845b38009ce6980aeb5053c2a69b982873266692f6dede94499be9b45ad84c79335ced18743011495082cf9e80c541f8be79791e47d13e525feea1ceee5d75bd46a6c18bcce51e024de578b3129f3d2d552eb349ff5ac8be1b728e42d9f8e8e457e33bb67fc2391f403f9ae0c72ea17bc9abd0d03234851c63e624e375257f24e647f5d76c25479cf3b03d67e1d4dc259e2ef9518f5729752953e0b6755f44f5f79f1b82c80937e13b5cddf5c1f593a71baf6043ebbdc817e1e5f57c4af92ad3889d82c624dcbde0399aaeb3bc785b47c6f1b845f82c0e8263e848cb908a0ae2085fbeef15210b8ad9ea8caa6c1f3b6b8a8c8c8c7bd8b70768ae2663e2703423c5ff05ff5520da1d358d144b4337ae906d3ba0d067c12f7f829d4f4fd7fedeb5461e9e735e660a9d24b4e3208bca384b807424c4729790a8a0ac70289b551ffe4bf609126ce181bbce3e014c884bef3144cf9d0990dbd88672d643495431762584def7c6c427a344d6bfbb9b70da6891e3e8684bfc9a1f4a321bd4a134f3a27a1d387cde353e742290211f061248f092237c56012712799b2f73088f991a4212e5cd7f3ed5c4f608d81ff2d0a30dff46d188bedbf9b2861cd1d2e3f8df4d7740e4336d0828100771a5969a97322cf9f84bfd4ad10057d014f0faeeaeba21a20735d9c3f291b1af39ed3e4519a3ddd7ec4f161238742923f0e18f7a8fb0254b710e6024a9a3ff73dc2f5bf08ff30e3c23d452823a90fb69d787907d66f58326843828a0214b1971a33e43cf1f705c0b8f689185614e1b01097bf5ad1e07683a070b1472854af99f0355ea85145c74cfc419323c96948c5b496ebc9512c0db7dfaf04ae356cfeade6d13714e14c8959887ca05624305b050afac7b69e59a6153fb597ea43d9852804ae47bb3b61c9d2fc0aded8bfd8d069fa6cc9713d334f7493f628359d0ceb50f71fe5b544f08e552e8e9b8aae8e46d44bdf8e26e572f52d5873547e8596368c597cb81c3b1ee067ad1f24706b648591c310e0ae4675eaa6ba32a942d4ab4c9c78190e46dbc46722e18707dbff9a724f2d083c425407827b7c25cb9af334d32bde13766e1cae33c22af5c528b554881d9bc8b44295a26539f9239e97446ee110947d45e7f2458d3f8f361134a63f3fc567b600c581bafc43e6b21498a6bf115feb4befaf21e87afe2b57d62e0a1ed19cd2260d1dea392d92f750dc9c4f2109417610ece5018930ee3adc7e1a499d124bfe0dad4e4c7103ed63dcd2f5fa0a97d3c103dfee46d6f04fe676d98c2e1d697d0402d931216cd3c53dfbff5e966dc4cb4158943a5965947df64f9c8dd76b4315695a4bc48e4c4e7723b9b3a2a4a3100238a75bfbc75d20e8815471f11592afe8b67166096650aceacc02f0bde511e2e92fb250443ba25554fe5fb00a8b63e737e10175adb2a814cde8f0989121b942d51215161faf27974adf9c80c92280e62aa6160acd524f565dc214821b17d8842c393b891fc095db623394f717fd003ab93248c6a5eb6efb0683f08a2e780e5687e58ec92103b44b2b93e6bdc8bd018683cf23f6ed2c5934a219ff3fb3e9235dd5b59e9eab22be009a70bd4492a503f795c81e0ce4a0a45e733ec20747ad99b3730d7a3e427cb02480ac7e0e9951f52c734b7ec99d1e02dabd7033866226fd73d0b8df1c93ba6f4341830e777027abaf64ecd9e6904ec85ea0f483a50f8c61c419b5c02eeb39b80248dd1c9adccfa96cb4cfa915243c31d02fa6480144848d6f1fa866f7a89d34fa831be79ee6dcec7b3036b107e19d14724453045f605d444fd6d60a094f1580d1b9a86ca36dd5f84b8f520ff6f9e4f56e3374f3400d4b07811fdc8f40267f3456fd23266953a7a9754cb9ce28cc777a517924aeba879a8e56d57ce6d085b01517b6dfd1bbef02e542b7b8eb16dbb23277c060a7d817ef9f2191f5c75db2d454c1b5468adc77bcccd0de5e02d72d4a11ab6437343bab028962925eacd51b9de517eed79791dd25c0896a46bbbf93dfd80fb65644574a2a98e41ab7c86c3558e3915a4e55d2bc1db9295d696d016e748444d621894739bafa069adab0d6cf820066c73bb2ba11f807ca1f6f4e9cbe1d63b314dfd12463511b9bed79dc3d49f9d824a6114f816cb52b0998c596adcdd88750dadb5cfacd6abf253bc03dc12b494e95b20e03c40992590d2dcd62a09a58cbe7e7613ef558bd383b30e6f0ef0b5bfe88c27f934556a94530e1cc7d922bdd5ac8667ed1fab03b2246b8f374a3febca5379d13eaa92545fa38be034bbba82f50249683ef5b1926c9ad53a75983b193de4a808b88be8f63e2ca2210c7e61864a216a91d9301746b2638b3abd6b09c20887a75411425644243ef1cfc91ec87412fbe6c9ef3194b444a689199f82a59d60b9c006268357dec0dac78119dc7613e276474c9561210fd7dedee3e2f4fbb76285e2583e0c0458bc4b9d9c105857458e57c470ca0b1be7fa89f8f2774eacd19b20381121d2e5f201a920d598937bb74663de27cafb6a59b0d2d11b3c868d9ec1cf47d72bf7535e78e6c0822d767e9bfc9828bd6cfe3bcb539a4258d5bf616c6927b4d2ff9e5a53ffe0640ff234de41f27f0b2db604e4eb325ca1b6a2d0b17fde2abe32ca7558d234a2c5d772392e97432787dea624dfbd84b869bd692194a736334b37272737397b37abc00c36c762304634724bea4a80493b546d3f4746bc0f4fdcde7a586f7d2b3de1817db085efb36df9365660ccd408f7e1ec7afb59a2d333248b116c44d54098396dd4135a5e6d124ee97e9859e3dbf0a9bee695d0f5a9e73c040279ebeabd3a82ed5dfd025542373b0e69acec9ab8f2b29b5fb8cd10dbc662324d499ddd809cc5ff3b8da4c708974f879edfe210f534ca54796df105112434291ae1551a422c7629edbcff8a85cf0e22329c1ea7ad54a195f1e223080ee323d752718972393f92510439c2f3de83f0a089242d153d01357450e2fe6f89d5caed00f6a007302464037b89f1812836b9b967bb93a77ca19e1ee7b9e7bde0a9e08b73cff2bc452c882acbe58401fbad192ff5e0616bdd7e7e307080645d044a012f5964d43ccfef6d78daa4c0f2acb40924e2c09a9b99cfa26cba9cda52029ff2a3001d0ed5d90397b2dec48dd965b091040bfa9ef05347fcc35f6edb4d9d279766a6f8c216f787319a7f04bc6f2f6cebcdbb851425b0d7a3b","path":"m/12381/238/45/0/0","uuid":"6685e863-0a44-4618-b6be-fa95fc47a6ea","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json b/scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json new file mode 100644 index 00000000..568f7334 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"78a15d9ed96162533b6e570e2ead3154a1ad1fe8ea98af453c7f81f6bf4d0eeb","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"1b549dbef2ac2261134e4b33"},"message":"47907a9b6150070a2412cf3249b33b88b59426415d20c8da312afb48c5334a9b70b5c60c231ceddfa2dd1df7d3026b7342154923a3f03eb986dd2d61dbc569e9"}},"description":"","pubkey":"0xea3c076555acab3c5992be1f6fa2befe3ad3a146182bc3cbfa24e4b169f32e0c85d05fdd2fd73d9e6a536465ef26d616295cb0d62d05a9a8086127fb7e09f7c8e84f963a77a54a7cd702340b3d0ef8e14ce0b928e7a18e7d216862cb2a4a44a9a89386cc76679e3b37d21f4bf09dd2ac092c0f9b42b138afef08fb800294dd3634fe6cf256dd77e6f9e1d825c574d6cb6d5fa4217e7cb44b4afa71b69ae9e538e5d9cf733556b6d01dc36567f687df02dee52b298efdad025a79d96cfc5d3e5cea0ccd750b6a361c651d115b45bb23738e815e430650520e3419d095d0031c9eef4afad430166fc7448581009b15d2d8a164bc2c9ce8a4b374d373382dbb82d386d313c7b083164b9f69148b20bddc6f678e2086df03f8997ada6ff33ad085b4a0c866781d7476381aed0c206c9741ae93ef569a036fad00a48dd0b73225bbeade4cbd751ddab162fc70775785a08817d057c77377695e63ff3c45d1187ea09ed86f9cf99dc5fb6fec3d7aefe29cfe490ed0438621f9bd723b357f8626ff191e21be3350c1d9e64a9be5135c3c820a139a3880b43329927fb926661b3840ade546b34eb8e00d219c90ba0fc8c4fe0edc76e4b1c1f6b6ed39f3928a7e572b180239567a34746e52a550d99501f8c930a0389edfeaf6a6ee779c38abbe9dba8015bead8a6ef2a6355265a6b2c47213a33a6d22664772c3bfd2978a5288024c38186f0099f9a5da65d4f4bb90681fafd2f7bafbf8862f33535d7ca4704251d4b8505e6ac5d2487295cbbbb58f800b59512c654372bfd4e2d03f64ceb6e51483dcaff80ab779af8f6ebfea3690989c68f76b6c9e574e920dd38a017249ae6ba1820443da1ecbed84e555a2cb4e0f2e0710d1506521c9a38e39334892d47acc542ae1643c3036b3828755542e8280d2b85604cb536f5c2e8f62e44fde40b18ca717b859261eb9ad58dae9b8fb115e26a704ee9e8fc98e4f82263b5b6b149d98a2195cbcc7ab544c9b66f3bbea72d4256b7a38058f9ed0d2c8d1d26fb1166937ad7a7344939c6eff97f1045a9bc6d9b090adc7a2d5588738e9479f484095bb32706aec55edf16c2cd5f4c0b4766d45063ddd3f17d290186caeca0f5eb70188a4d5bd1ee5b60031240f8995776a875eb6b4209f64299510dd38d8ac6ffb4cec66fab604bd8eac8a0d67ab75d41fa5173eec53950afe38c597ea9957747c660497c390a46e802aa896cbe710ef5a5c1332c13937324d9a744d8041302d3ec08f309d7e94509cd82a5fbd5251cf3a872beac43bbd8d5c4b3fab63f02461a7f83f3115c97f25c96aa0cb910a47dd48d7df649a89191251714804277f8e9dba52514e770218ee891ab8fc04cd23fb9f77c59f686d0240e550045efbd92c493d6a01b2396e6d5033f0d80c27bd0277ee12417410400eb858ec3894827f2ff1ffe3d219db9db9a78993f47031e7f8d43a9cc5cc08f42167e1629c831dd8d64e78742f12a6dd00be6aafc95749cf38abbf6eb1656c21cf4d477f3b8f3f464ab4a7133223c31033d067d31fe58bc58140f8255363e102ef3cbb914180b7def02b0595a69c8c11f1b1306052618417da58a3a43448537e66feae76561901eac8520f9adda44c0141b18c03b4eea0fa67984d9f352ee1e7cf38aaac58a5a9c3432e52b458fca83465edf3475ee0ddefe75d51d869b39428dfa48556067346196b878dd8992e55f18fa16e745eaae04f41bf37127637ed14e132356d1a6749c8da3fa2121327ff281a4bf0974097d8a2ed70f6ac65b232eef9302fd4096ff13a37fde54674bcd5bbb31b204a50eb3e4f1a4ec72e923f5f461322957c8fb5102bb4d6530152376104fefd676f36198d34a8d992df3ed158c8c7c674d3b3a2adde063ecea0eab5a9fbbf98c55be06dc352ca2f03c3984a6426b64d94453ac089bfd7aa618b20a3430ef00c3e11fdd3a77501bcd1f5f4b4e5ea2f055553c491cbc56384e0ab958654e7898d665c03f576ef4e54575fc97efa27618b3d1bb8dab3e70a82b5eda292544d7589fcdfb97c54417fa94c187b926158021cc2429d13e40fbfc75e8f72d48df2ce4ea2ee64f46ca662a14bdb550a3160c75dd1b16bb53e398625156852b2e66637d08aeaea7d54ff6c2c65092061d4e120d4eab10973d5756dd40bd925112fee9ca2ed304aa7637eed76d2c321b49b2fb297af4a0110dfa17ebf9b3c91876435a6689d1ddec6d1b8f0d774bd52ab35f7353d7e03c53e098e2c7e0f4e8a12e27b25e64f9231d2e03d15a4af721a8458b922b8e8eab4844741cdd40bfaa69ebf26d85924d69c8bfd52885a5ddf08cb173527aa6e9c2d142c6c195b6a94ef2e284837572457bec261337ecce62e194ddb44b7ebead55463a4414b698d0e19fbd01238e97335887501ce705be3726645e03a1c70906a91859854bc4baa54cf9e46b0f863d561f55d975c5f295ca61e4fa09245a00772ae033d38d178c55848cd5b6b0a0b83cfd901b51d43bb648afccd3501e90a8d875180f3f66b78daa30aa8d49950b204c0c4038321f7ff02dac4cc5253321627687d3f4d93cf2d9d8df2655b786d84f542844dd68b249a8024714567cbce722adff3001859c6c0a489f278fd4e0abbbe2f4565bbb573d3c10707b90c0cd727bc716a2f87162430dc25a52034062451d7121a415cd99ea57606b2a967e01ce06199859fa705e652972eeed2adf52270cfcfc93710cdd9cb0938afebfe1ec84c093b593fef97d7bfd8833e4e735423d5d774dd719fb11ae3bb483ff4a2ec2ed28709a5e313ae275efc8a8d2c04061591ddcbf38bff6c7d99fbd92e1aa8e057d79eaba574b65099006ad99ad4ebce28cbde06b8a6c6956ba12da0ec7beda75ff5e7301867aad0680a562e3fb24be2ad523c4c6e375b50ac27f8c61fa5dd666eb993983b3e73f7d8cc89e73f7d3a1adbf46ee89e2573e31ef28be07eb44a6014d3107ffda35a840c2c85a604a1d8c26f4fa8f157e00da97db5be8bac3e8f23f1bd795679c09016178e3fd73b969549e06ad2da2eb4dec48551c555379d1f52bcf944feffafa6454b7863b28ae9627ec977f87074da7810b1872b943aade1ceb09742edfa45936481a475e0d1c62a1077e4b42909aed5e8e954cf6e9a5519bb37845e7b5850e4e68091ec0489a465155d6ef12c26b7036e863e3fac30bfa12cbdd94eea3848ee41747b61559d9713c0b8625f7880c3fd11fd004f7983e75e6fa51e77527de1f9c3d45ae58651c647ec1a4f99051d341d2f081df35db3de95f2504c7bcc26452198ee14520f843dc33ba3834101c68c99f0d44e88985a8644fb340eb6f080d3c0c6b4213a5b0c739072ff6e8aee05fc44312213a4a3eb1f639920e8db3730f9f55260214a1e192ce515827f49bb269fdae5fd55723f3d5c831c9e808d0237012b44581403ba6724891e58154570ddcd73543bacfe233996774b532fa84049c429b5f327a7b1ec659eea86aba42500ebd9f1a46e3c408493bbcf35aaa6138cf739a2ce3aa538cf16d251252421f07410ed815f84f419d32196d52dde9d7d92e4b11cf031f3a0cf1e5c6932e95939abe911c4d66afd903be59f31832d0124fe6252b14375e85da7942ded20c8b41096d0cd2a39dbdbbb9370da1df734121afd53dfcd327e2ef1b767d1e026","path":"m/12381/238/46/0","uuid":"b4c73ff2-c4e1-4fc3-98f7-b035cd575412","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_46_0_0-1751540659.json b/scripts/consensus/validator_keys/keystore-m_12381_238_46_0_0-1751540659.json deleted file mode 100644 index 92480826..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_46_0_0-1751540659.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"a1c94e603415264228b5cc8ce25f5f481a2f36df3fac14514560b8f5585a9498","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"a0068b6249d76d08ded74cc1"},"message":"6421ec7feee38e58f11bc8ccd395e0ab135d98e2b182f013f6e869dadbb06dd2b99c1f94178f725f6f2b2852462b2b99d27e79b50ce0714d07c695730f7cadb6"}},"description":"","pubkey":"0x3e558912a3a3bcb4fcd420feecabcaf1942b18325a5f5db61cd9117143f99d3e07c70321fb6e93f482de8bf03925af4cb86ae26b5bc4564b561029f95083f7e67e88933bb58c5e0298cce92ed26b76d6a105a7c6aa87c3d2aad1eea1f1d043695ac0c07b4253c7216f536c1cf27178688fd42c9f9db8440eaa721c941ef867422d65cf742c5630f3fd8b26c68ffb55ba1dc906fddd8727ab9f5d1bcc703306dc2770ccd16a4ff9d54262f83bb41505201c0a5f3fa737af32733243377260e53d4e8d77bfdc15f7e601036fd0e73086520cf52ef1e6f2453830bffa34a59fd9fc61d8d54576d576aeda61f5081246ff86bd1eb6bc6b0f9e7b1b4e69be205b0c641ae9dc349e618736affa974ebb8315e2b987e5ce045a573efc4b64e637d90fbc87f250bf5d2855ba06b0d303b5a21d16f194c188b9562198f7b6098ab03d52d083da8d94f3abaedd663246be89627d2370e3fb56b1609f4a02839fdf55986050f5760bc16934178640216bff3b9f41f8a2195f9309ce31a03437e753a68a3aab941c623ade9b8ca679b644cade780f513f3612ac2b803d6306f95fe8fa12b668672f5e80a53dcd2c163ef455e4b4cc6aabc703865e68320d28dbf323e2af091c347fe0ed239976a2842c5ed0c7735d255e534318637d1a899bcc725ebd702843ab5279b13f7b026d644686f1f41dac4108e58df73329936deb8e95471e6e768a9f2c848988fca1197cc88c74427410c55af4964de8fa8cda6ec18d77b28f12448e500f8c2afaca1706bc34a74774c6edc6bf4f7e24c46fe5bcf2e1c3c3889ff9eab00bbc23c67de24edaa1015655ccfb6e2bfc69ae9560a3f634e357d932ed877a50ec7bd9cfa88324b1ad152b2f64a4e152effe029eb7713cccd7d862c80769862f73f8f80dce2ca5a964e66c2aafbedd2f2bc315b0b4c2e2c8315272039376e4711d6cd88b97ae8b38993cf28dde2847abcb27de72162b859b91eb866f8a1a9ea66239278b0eec413ff95fc2df9b2788cf306cd52c754b52cad226aee8d61164898c7259569d3f3ad8e299fa91cfa3629c603740b562c187bf07d50b6e77d24fa5f17c1cb9e936d5547e0b1ff74deaca4c57d313515064488d634f972eeb039cb362ffedc45a74c65ea4ebaad57d9cc8914b931ec3982ff7f0cda83630aaab71c9b48e967de5448b862a7532978f79751efe45eebf5a93e5def2d45967ea7722a1cc69f69ab0a2c4f770c80e0612e6001d85fe4837a96bc1394ab2f0c375e06f51808c84aa05af4ade0318dd11934f31a7128309ede10e8fa931ff9723a2aec5b83f683cc90b4157f9a1819d2e2c9e44d7540367e4c69305db1ccc8dec84cb28fcba54c9c9a09c6b848410ae7320f02cc2402b130eac636abb8699c9d711f2f969e115fd99c33d5174a43a729154f98080e5c34eb498119d381c196e865942404ef1fb5230c6674b5c659d18631ebed85b57d00e7a0fb544d089370dd98288fdd39fbb0bfe0b06226456f21481bda730b75efac7c40b327614d12c655014e39e6202248691d8d5ff18ebf271ebaf40c76aca495453daa2bddc6b5dbbddc3c27709d5ba776ea26265f69d2bb004620333484a3d4c3769be049bb721d83f2daa92504b5a30453a5d17b3523a7776180ae90d6518d2262cb53b744d5ec7425b260260d41afc738846a96f6720d1a5e34085df367e5e0a925588c253769e1d5b5d2ab9823e9b63581f35c92096317e1ebfdcabed15aee307c4af1d1cc8bc4e3d370e2ca91d88787ab6347b4312a661e8158a367fc667ec80f958fc36e2c5a9f04f9921fdac8467086039905f8bc5004748961ea7a1b7a7ed6760d94950cef1ed93bb8f49f561105b4b75b81a4cc5f30afb78e45cdf7bb81f390ca569116fbfb222ef2aed5d6200e88730dfce63e1c0df3782fe3a4527e41a08b5c48fd7c377b6f920792696c9edc063697445e7bddaacadc194003ea8c0adea9c5d53a00712f9d8cc9c57d285e1342ba741e17892dbcaf1b6adcefa0d37dc4679a127eb0ff0d0f29e57f8bfd098734e6ce81b68f9ef0f0d3143dcaf5236b62e91e1fc561dfc6ade1646c11b7d6922412f1c0ceae871e092a3fa4abed18a38d54ac0f5637d8c69c2276060abc09c0b64afb32c0ed3518a68b38730f465cd84ae0d2245363cd1e23fbdbced29d66ba188168c5ddd8b5d86da990eaf9b0228bd0e0814691414d0009c5a23f36177c4afaa2023f8c265ea3d047f2357aae3459b50cff11ace810a6ca147f9247eefd6a7d61700dc0bbec3feb12458128944b9c4dbde12ebde4b6d545bf51420d77ebab6124cd3506a9ca3c17141f53272091af453ff255e5754bd18c3ce34a1db1fe0f80f36704950c76fdd04c9c1f9d25ff4f2c404cc9a9d6184ba1773cf520d013bd422afd616b8e2d22ffb76971ab93f2efe1791b702ace75e9c4c05490b43391caca52d11f916bc935dadefa53a75a35464913d70bc65b08fab5d51f0273acbb01b6813311cf00dc8dd155e2601e14ae64b76be9d94495964e477ccf16adf928b1ae4fdb3528f0a1c37fcdd02354622664cab1d813198b353810ba39c276ce4617d95d2465605568859062c230f11098da47ab2a635737f8b4c2114e90cbe748b4f5c27b45be43fe49d6e16d43221d4c05e1b077a85ccf9f2edc7a7b43cad2e203fe4f9c270598fe6c9f17790eb3005903905f05ee15ce4949fa0aaed572c3c4c663d2b49fbd04095d778ac7164ac13aec71c6428fb99fb3ac180213481a518d3653d50483602349e6a06b552e3f671cd87479942b009978b0120f0553c202e740057b34e858c1df6013edc42c054b7e7c1076c6e3db5ce08bade27dfc1a371fea3c07cc0a7b264043f1f95d5acdcd35204d17310285fde1acc23fd41692561f0fdb6df6cfbe1b1e899b470bd49d9247eee0ee53cd2bf95d99f17154faa43fc04095afebaca8eb95581c801764f0a8a2901607132465d489d3739f26caf64ff43fa0d605a8fc66acb240d0be0727f6c2a3fd46aca635cdcea80246863fd85fc93e4d65c9b6c3fe0f7395160dd3ed05e70e6c9236209bdaae1653f7c1fef40488a114504ea56cc8d3444e6d9122dab5349ce894114a0bb2891e67bac23130c2c665d540d269cad3b2660c340b29fd77d762e07be0475b65c2ac57048b20691217df90100ed8707eb3fa7a6a5bc129013087f52f419ce6b1bef4480dc2dbbc69b330f54ea3f5e5170b303f10be328686555f5e3827a0ac7aea80c950ab255e5f49383596e7ef5b3dac59462a244889927d592b18dcd0c41210333d9e376d2dbeeb09ab6faa9a88c6d4244f903fb33518c3ffc4166cf5ace08acbc212de4db4219fbb5f2da878ca50716b6385cec53d3174ecfb0d0ee0db08025de55686cecb77ae6353416446d360fc2b5e961ca9536dc6c37c8ced555ac714acaa180847e7efe4b6bafcfab28be170dfa4f12e105cfffce22f94861a24b0e3ec9ae9a8f6eb5296f892cd6b4eb2ce581039b9ca5288ec8c64c1d86401d179e9469ad6657f8d080828488bd9c3def9314cfea7fbcd4f153bc6c63420f6bdfa9212340c74b632533e35361035e25a238e387fd495ede99cda398290a3bb34aa298679cea11649684f9366fa6d8b1397302caa1d11d867218923fc027b5771faa3b0f04","path":"m/12381/238/46/0/0","uuid":"f4dcd291-805e-4cf5-b144-456d9b24f05d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json b/scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json new file mode 100644 index 00000000..e68fe7c5 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"b7afd5fb6b45cea4290bca6e7881de12058f9b58bc4995fd8b0bbe670a0627a5","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e5d748f016998b155c08951f"},"message":"d3b54562cf8b5a4570a43cb64f5a9f7fa78e67d2e781a4516275370f3dc1c2c679f50ef2182745212a50ff47411f7fca9aa1e4c305d835680002fa2df9fc83cf"}},"description":"","pubkey":"0x098a9e3588306365967af0ec18b173575e66a3ae3cb85c3ccd977b66373d6dd5033319d2807acd154797d53b779ab075838c0062478213f696c5010bce27095152939bb4fa94c2771817e79a20ecef07660853c3770bd84da7a37f6902f0df8a2c109318f66583daa303c69b49b76d1397967e4324c678bc0c246d32ee829758de6b6aa4cb95c4e2bd8e1529be317722527ce26abeaeb9e954b3fecd4cde2485a0953d1e876f6dcbd8a44411a23145e1108cbee20e2a2f4097cf0d829a2751e70d101344d47b89948dfe3bded84e68f4b5c5c9c3a164fc3ee4b5f6bba469bae1d43cad1cd5bb49795881c4aff84320585794e369e7f74559c31f14d6799a54d06fc2fe295c43f7f3d99274ebe272d2489d313a0605b506216403ef80028129895d58606092ce21d0642d7846637c516b9412612d8b9449431b18755a6f482895201985a34aaa8ecfbc079321e90af547f5f90fc3389f266b9495210df4af8968361edb2620743a3479edcbe34436fc0de0d39ba6f521d83928e3f9c411b08432ae37155df9db15386fb75f237bdc2a1255eb1024cf1c6aeb6d9bc457730e3effe3b0580ed7bccec43842b87bf0066a975dc798efc15630d4ac677c27af5f88d5353d69701aa4e317d072d3c14f86d35b6965556cc5aec1350b74bae05172951e8c5fa4569f08b4f3203ff270a6d1e2e7039bea56e9da90ecfb6e7bc68e3ebba77eb437332deca15c611d92d5a694e75850803181ab164ebd92feae3fa9e0ef52a0c6b96d5c20b4b3bbcc3d7e805c145a0265018747f71ca92df148785db10b25724f0ffc3eb1a778955b572c6fbeb27bfe6321116d628132aa51c902226d12fbc04502807def568e80ab6dc580a6cb59524d49c128c6e077ea6464ac3cf844905ff5165ff21138f19f8da9b08e790f3913d4ecc646389824f98cb706755474a224e4307fd35bd038be53986b3c0aa1361ca9298306166bf0440e3d5194d4e6122d6826c6ab3adf0dbd07ee4cabd10cb2bd8841dccb66d52b31e66fd92d82768791faba599ccdf4cf320c971a243515754a3672a234138e285057a9b20ff55ba451ab51062b32a8b073e2fc737c72f07a7180d3d5cc52d084cb2c5de8f65141eb13d7c0bdf5b792d5dc586cb3dc7913342302cd0bf464cc01270dd86eb27e0e5fcf69f48328c08c2cdc1c3829ec5e4a52dfb9d87f65311974b5ef501442f5d757a132c5f50c43acc4f7517d18ffa7898987de76aeb27b210307ed320d139502ee572d85686646c93550a16c8a2b5b22e7c47f1569ebf8b558847d39564089d964e18aba5c04675344aaba6a11414c5711afb1baed2a7054bd5ac680b6e6b96105950231bb83121531a3517ef1aef588e4fb42af8f4c7223d4df5b6298be81e0337d762580cb0956c0eaedb7b36032d50af27e09559e362871c35a68dbd9f28dadfbc8ec1c27cf8a408ed3568b156b77da5781cc1c379cda8ab00dcc4c94fa674a0ed2ffd4aa5ade93e43e97f5a4c9974b5ee540f7b8c77784bc5583c3051346f431cf268254ef8ef0a3d3fd027c27fdce07d97f25ba7564fc1b0e3f0647e3e393615cb354903513733172e60fe79f93495728fa917dd2779218983bb99f2fb5055b93896a02745ccd2df85b2875be1301df96f2fb73269a548af28743b7ca8b7fbe2d58ad3fcc44dc49057f342fd7acab4a332007464920bb967f28739f3cb31d9a7903e0360ecc903d0d7feadd285dcbb50cddebe4921c1fef053a28130a125b670e8e81a16f4cdfec975f1227a63580de55386ba34032ad9755f86e5cf57ae2145f8737742cd852826052fd210b51f7989a14cbe0fe2c817858a25f566d3efa1070f9427073fb78a505a2627a4a066afec662c837826ef7853af732a1576efd0c03bd1049f95b1dac0594d1f87a19df2c39f959d1db4bf557dd217d1016ec6c536aee22452bbf0acab8d9646edb744f3567c36e94664a5b98d611dac30859b7996b9fe9eee8a4a2c217c08badd9313f38b2c51869b0bbde76c9b9a3f4059a61d79b793e3e91da0021ae78a1ffe39dff090fe79bb80016abb60d5d5787aa30444864a244ea9a7f1efd61d14c0784ed35507746d06f2652b86e8ff9a4241d3d1e37e214096328040b6dc97c7c6371bb200e829b90974e65b3f97edc05fb3b2c53fa613507fa61fe293d51e9f6763bc2073d808ff9903f206d057a526370223482d4653e5198257d8ee2fe63690d93347c6bd6fbf0f8cbef91a8f88b9b5edfe01a0bf349f4a018683c96a9298b9e870f30289d364727e26484b63b34fc96af61aa90ee12e687f9d58a2eab6671b2290da6657af94bca9a5ae509e9944152b1417f5d591ff938dcdc81b267036ea6f1b8bd58955cb93ea423bf914f6fc7b5333ccd9721e92eb8a0a4381ee97e0cd51b9d24ac210b116f7c0209152c8da7c30ecb28ae13f050d019bf7214fae73a5ddfcdb5a4be971495881aaf073130b93b59230a432ac0eea1f9b896cd1f1006bc12afb8320026279bfd538fd3be37d4ff0db28147ced6ce0d093be49c13c1f3301dafeebd2e982143904e0c1dfdb857b10389f8ecd30f314f96b2db6ef601cdd35c511a5d74c8a22e8f5a899cc998432f11b5a87257e24173c3345915c8d0fd0c1385ea28a0a2b8af7cd0919d8ce5d0f2e8b39fbebb4aad68258bc4c7b5a6cc7b01bfed9f1f1917fb10f692aefd369af70b95d267e5bd5e27c2ca4a51ca8d7d5b7c83ac02dea2f4eecdc872d6162ca8d6de14a8bd9014149094dd1ae388563210ab019a58f23da285cb374f64fefe86455850d8e2c5a495a6ca815d200737fce2be0e1ea6e33daa520c2cad87b6c95eb009ba821035c3633f0191742b3d6205aec95f3ec87e2b21a2fd7d19a4aba388c2c5913c85b6def6c0a6efefccb90274e53450d5ec25182a5347b872321dbcc71984614459670339c53cc7a54f1e178a875aa7a79148c509e24eecb2b068c42ce443a74fc33ffec3f1c46437e9f7923bffac4bf320cefb957952d183ae9b4fdedb1ceababd89d1298d0012f8aa424594b57b36c3ca3928edc508c73f586d135ac6dd8114662e1d8e82a047a1f86344ce1676360ab6ba8c18898ee6be68fc51f3ec975f6753be43b28293281bba1e9e16e5ec45c7757dc3a9f1ee6c84f89116761407ffdcb07986bb70c770cbf2a1624303eb0791440e213f402ca88c91fb7f60297047bbce2a48e7d32de52174485c5f28756c22e6ceb05930cca054fbe1a9df1f06533d2cb1cff9f6e67438c7f60a5281c39279d22d0f1a9e9e59630241cac19edc38f4ac527df821f5c387ba891d52de5ec74950d2b63319336115a7d9ee5802bef07bf6f631ffe6ff6b7089ecf3c5d8c30350ae0880d660c39dfa572bf43d880cbe56e51e8a7243b9c65921f2fec57eeb286e651a23d28d9087e5d9e9908199dc6cdf112bbbc876e257fdded50b6dd4524b439d855ca6591a48ba38b1b0b0c83ed7609fbbb00caf4cda4d1a97f954e6a2f127c817fc6f1c4d8db4822d65c6f0fcfc8d095e683f55c5e14d397e9378c481955aa43cf5e5d01955f74a28f00a842fde698c36611775dd2d78e43f38451b01cf9f570202d469b66b410bb68c3ed44a4fed536f636edd8fc9458e5b23f601676436421fd77b0bc2a5aa131356474150e8a7","path":"m/12381/238/47/0","uuid":"386b120c-ec26-4346-9bc7-7598d3cc799b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_47_0_0-1751540660.json b/scripts/consensus/validator_keys/keystore-m_12381_238_47_0_0-1751540660.json deleted file mode 100644 index cd080c1c..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_47_0_0-1751540660.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"6463fa6a68b1eed00ce66d09d95b40c4f397988eb6f62d3d61e7945b27e4b3ef","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"25660ba72a2118b32104fb44"},"message":"2e651faa5a0e4b70ca54f8f8fbbad078ad91d29d2afe3fc6dd091973c69e317427fa085056a69b08e455e946c11ea5cc528052366eae5b92b66b4ab6a0cbc85d"}},"description":"","pubkey":"0x09e3919001bfb57cb3d947920c54e7abf1743b9b35dbc0299a6fc891986c9f36969942f3851f010ebbed7acf96567fd24faa278b3cb648933b2cc75b9d35dec3a7814a0101d8b5d272b1c40979a881a2cccda8b72a660e94815fcc1c4791ed5b78ae57a91cc6f6417a45f18aa68fcfa50894978c9e222b4743a21e51a97433f11fe46f3512189fef4cc03f3cff42e584d457a087cb2d955f185d83e0adafcf0d2ea8edb6788dc1e44f89562cc16d1225442ff7cb4bb3459ed8f5ed028a888f60ad02874d52485ff4e81177f8af3d96eb92d5476158a4ce4eacdf3f76e1f8c847438922077c6074e801e9e4432ab442715a15c32721a2e93b0202b3eac41a3fddbab4ada164317075bf1bc124c880ca02adc1ec592eaa097149c674fbc0e4db3778e8a1be66be5609d15baf20182f7fc64fe1b4625342032611079c88fd92ec54e23cd10b44b44c490bec5a913b6bd02e9173c0efa53df0ba1b88db97f275626878847f48e94309d713bfef6c42f0815d1ae295e884b1bf4fcd4688e12f0fdb49fbdcbc4eebbfb6e22af4d74c54254ca79e341b71641d33f9f7554881a6ef1df5ab7f5ebdffbbd20cf0c9ebaa3123c2dc293d03568cb9635440f9879fa8635ebe6c7867554eddc3851257654005208716e6bb2741dcbb1ac0b87db63644e7169a7931e1e8eea36507af024c57b9291178b92963a4a4faed144d1ad63b09c3bd05a566f73cad1c8c3c65ddf45f3625c77d5724520373a59f54d8cfa4bbe75a9a29d9460a8e6df5b08b4215edd79d4b99b36b0bfc4e99a8c83ebbb5b713e5008921a705d846f6649fe432929264e440918f3c823d8173f4490a9d34c8efa841b07a6da8231fc0499526e175f162513f2f8e929c4cf96b303f4863a940db263df485ec0cd829854bfe9fbf0b758880113c904be40abe7770f3773fa67b993849a86491cecea98a3c55298bc8c0365da09df5e03767dec5ac5074853b34a19c899bd79c2bff48ed170baf40a8a1f68b9e96cbb7e779a110fd0356b26e2ce430196ffb686cf804371277ddb5e35372ed4123cdb16214f8a814e44e3742f43f06298f644e67f0586db53c02af1f0c74252a3baa072675f7ffb59ebbac68f7b488f4e907686d7ac9f79aeaf6c721577eade982e48d28cb39549060f84a44817c4236fa23fc77a3aec71db1f8f5205a9f8a90fc005a9ceca36558bf01fdebb4c6e27ebe7f7dbb963e157599d7aa2020f52625de2acddd2d330f8bc4d2245ddb882e8600dd5e0723073b4084d98c5c923cf0c48bcf0f750d1b6d8142d55a64fad63f7610d9c09924f15dba4a49722252dc261b8af2e27db672a001fea99e893386ccb4a8d46d7475e5c8bc44eb8236a84473b21ee379a50beda3f5bf0c4998be0bd7092a075c75aee8770cfa6f4ce0f8a287deb3c0a7dea715343aad26ae8cca99870c3c651a90d57a75bc72a4cfe4333383c8e491f5706c85cd92733c9045eeede4ea0a9ef6f59aaca28ab9d17b8a477a02144c4b631be3d247200ebd1bc307538dcb55da4d0fa01539b74a9f6962e077e2e3a84aa2ac16a4f121c169a7f7e584088ca9e24e9f66239270f3f6e73e69ae4ef870a7d5f5494374c639da077a1502b5247c7ef82e1591bec5d2f8c0cc4945332b130ce5f86786092ae1a75e2da777464ca1a449b6500f02db966d1aeb6048a56d2be9c6a7aed0a50b17159894f25c381c85011e2345eb5d84e49aa89dd9f23f7c2aa2d54710ddef8d4d9d8cfe1bb4e040f3fc4170a1e757c70560aa80ef26c39337cc1d3823b6dee75f8deb46e09838b60612824ae1df412128be86e7f497808f809dbb06c8013711e9a8b01627ce3b43bdada21c2a577c31f451311ff01963618753d9495cd6c074e2fb83a5a7b9bd27da6012a7d17d16058d25a02a63acee33585050c1ae063c2df2d1d0f2f7a28711f06cb24286badc1903015cf037ef126401e17e4c40068cc5b97fcca9a6c389755a8bb9daadbc1fec6b94fae103af284b3b25946c75223e1678fae8cf173a11f5199e7a9ebe3fe02dd2f285ce89d5bb54468b7e4df092cbd33d9e290f3b999cc331ebff56c9ac1b0692968e67605d7b96f0ff4c4a0fc4258aafe5f3c1984be863c63a4fa9b51390c07a333e5c2f82bbcd69fb806430cb243e46bbd2beaeae209a7013ee5bf4136550109e624cd4c943e47b62b129f4f0f48f7af4efd3eb73a8e56d97cc1cf80e00c40aaef0ce9a559927abf85beb0c229413742294ce3c5dbe84adb60329bb2c938b3639f3703195907e4093ba6f7a2eed294adcedc60821052f56854a7fe99ae9f493655dd43bf9048a97b0f636897614f2575fd9a5f3e6acf25ef5e1b5e31c80b507131263d01a5333587899e14e2d28611df30bd5b2c3e31085e4c1ba4b50591a8ad212f877b18f6e6f97f34388dd1449e500d74c90c8cd7a67e4b3f5b7921365c616aa92372efcc5906057fb5e8f3411b35d2b2054f3022a8364a93fea34ac33203abb1e43b2b22518bf39193a2c9c8df05fa94c8d036bffedeab86ae8472ac988a43cde7ce8471e3b9ba7b60201d3a925cdd30e22553b046ca934842d5fe84acc86337bbfbf89f2ca9f0dd099306de8935d92464e7a614ff807961e77fe618b89c1e43f1745cc5bb9d9fb525fdc12a4a266a1c761795e4786b256620c6ed8435077882774cbffea5d793062c3b76969165ec17b288577001a90de143b03a7db2d25d47ff8e9802d05788d820462ac9b23fb0ad830ad13eb2a20afa5047a9e3c913326c8fba3ae77df2e6380598bd6b137fd4b139db1832cdabb7e41211bd5bf1dcc8c5e913fa8c7cf21459f90a49711ee5377e8db09bbdc8d87ca64c62a2d53e92b5676ad381896e1b8858043938646d74966cf0a2b650af49cd038bfd56eaf073066bdef4ae9a9dc4ab32ec50b00a8a90d806ceb9917f9138b9b65b6ef70f17635cc090288eb24749c72621429df53bcb1d7b0314cf25c3c16d08193eb319d8d11c40ac4f6a41b08b592e068e2216e4aff789b09417488ed194e9454bdd8fec837847f13ec4212e2c4e2f10f4eac6e27f7d5661e160d3b61bc08a4df692289524e559cc26eb2ec67dd75e4813b8281c82f1f567390aa22ca8d8a5b4fd81785c5f18db7449b6828c4ee33bb9909cf9b343fbd73ddacd4a8a79056640f38c51b5f2252a8e2e15e475e15f8a2c45e9650422e318bd4259734a9b9e13a9d1f84d44e8cfc16de5a344f436e37d762b017b680290b96bd54717e66d53edf40c7da1f1ab51799aa1d4ac6c5c22e802d289ca276e3c6ab6396e1f59cbd1e8ec3adc1dbc7368acd2422d66922ac7d1b52367f50f0d775d8db454de5976ce30889e62bc8b2eead9499b6e71dc6df1b6a001860b1c983a540227153925818221ad7367d6e330c6dc8841f251c67306500bc91510ba5057ac20c344fa92ab138c19981d47459de9033fd80be899b67cc1ce2cb1c0306057f6f93f281da62fc418f99ab96de6e0b1e228776b7c921df5e19eebfe8b5ff844a7dc76b267e59dc6893e1dd35fb1a15d31046e6e6cec57545ca2ed9c6d21d8595079dda44a3fa9ac44fa3080d4cf865ab6c99823054a370f9dee114e0a37a30c23b9bfc076da27d2fd9cc53ff9c1c20b14e94030d1ebdf52f01cea1bac97f4c548ef629090b180b","path":"m/12381/238/47/0/0","uuid":"ca6c7e68-fd5e-4137-91ec-441edffb8d1a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json b/scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json new file mode 100644 index 00000000..54cbfb62 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5fde8e42d7462430b4d95330177fbea1d8c93fe547feaa1500a15ca5f40a6cbe","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"92143bdff90f8ce1fb88c5a5"},"message":"484f3245dd98b948d00f7b8bb2916e1687e01641ac28bfdb634f8bc5569d1cf3fdbcac2ac76a74353d7d3e60c8cf8200323a96f1ce32bd2f2b1ba3674b9bd3c4"}},"description":"","pubkey":"0xbdad75161e495022af7e72e56ca158a87a294d15c91b845f1626f267dc759df3a33ab7d6bc0fe637890bf2164d9a60a9113b670b14565cfeabe84db66b5c0b470115a13399744e6ff3e4210f8e992b38a30c40c6bdac857c05393935a07fb2da3bb6d2afd014ee4264c98db4349ebcbd43b22d490f98ab93ee49b0f33995e4b25ac3e2605e1aceef9a879b1b7946ed7eb01d4f1eee3d364aa4a28c215f861f5b5836e947e66afac831e11f3e5b4a4ef9c7b25d5bbe09af15c73fcc3fde151d6e3f37b187b952ba641c1d00c047ba6725aff7eaf87c246a4046cd7d106e4d9149417304f0083fe7b22b39e3665f93ff69e30f7639fbc21f9bfaaad7543a276c4ca7a546795ef1eb9c31c264f02859c965b92180ac56d157c08480387afc79c442b9ce3dcdb868406631acafbae276c9216cba448002f8f1a06058d118072678072a55940bd86fe0739a6eb4695543a37ce5bcff749a49b5d64aacc2a560908a4a53a3efd0563cedc2fa8521bb1537241e41cd1dbc369b10ac53e9e5909bb206469aea5f794d7acde98a0407e7c2b0deabbef9b0483e34a94f795075039bd14a30670c41d692631cae23b5ad34145ff4be4e5edabfe424d9c1056e75c2a40b0ced3910cd023893f3b9fca68b53a858c659bc072c9c057b2b44a0ed14a17f9b9e9e0a32b9025454c9dedb96714ce0c56da14324eded1c5c279e0feafb44f31af05d652f2d6d27489fb3cb301eaa4d04702ed9d18818bbdf9e27780f1e443b65c670cae7dcc636bc7cc5b05d2f892265d500fd4e85c8579bf81a8ae1a17ff19d492155188fecb72883c5fe47597d1b0da3d7c8b4f4ed82af20057c37484af21ebefc6938ebe18e6ef4c65b13b324efe032ad516264f86708da3a3f87e4b9d8538ebe08872b76971a5e878f05788fd41903c97b7a360a46243d73a49b5fcb92ce8ef87215af05dc83cce1619c0062f55a57a156ed1d2b2605b0ebb1984d256ece67fd76eebb8f56f5856e58ab725c3e9c24e46ab1e260da284e619d1482dcd786b186db8a97c1c8e3dc947b422805fe90c171144c167805a6b07dd7e265ca96f58799e0a252b7b58372b498b8b1ba07f4e21839de864a27db914d71e80f90e9efe84780d5c0a99f6d7895f9d8147678259e04fe4683ab90a3e636d01e9d669b4eeed02c6ab8b3fe54d5008b7b3313385e4a0e7e294e5cc92cf8bde5fb34ca2d5e03149aa93c35603e3dec41cc89d485f25bb07fdef71dbb57aad9ab2f23e71b7382652314286955dd443230b0f29d44b3d130fd7626e2e075bd7cc7469dea77cc02bfdf3a171c8910dfe6b72970488bc928c32b4017572e85e2a01950ab1ada3b82d7d1193e6b463ca444c7175ae9959a62bc8f1dcc6f151ddb09aeed56d7f3a3b932c522123f8e0b0204a8651a5a577bcb7701f6ecf99cac2b0f4af8ba5848d27f6e8871d676091fa42828a6208b31348f3dde14fa6f1258c7416ff5b6341237d5107f861a5c5a83ab0b6a080b74ffb2c2543baedcdfdb643a24c574945c7f47935c85c6fa7f38ec9a77c202fc4799abf23487de2b93a067778c393c77f25247398f3dbc36ae714157b4d0836428a658126f7775d213cd03e543982da8029521bfe038839f88b624f3f9ea033aa1cac01b9c5b243639e362775ed4b756821b3e338e4c410e396b68e49e30dba4af72427f6fd55cb472d8408f3d43eb34d295718a8397cf683fd7af2fc6d815b8a194d82b7644845f7673b631a3a3956fdae3fa3b384b6cd80bf03ce00b7a20f4f30e7b79e4655e284540c4928d3422d7dadf03c019c8d04bb2d2faf811b571771e1e562249168a958e4ed331d479943e73306520c4ca415d509732550ee2752db758e3c0f9444f62b079303b2e61325ae5406c12328891023de7456ceb7abc38f184fd59e0e86cf2c35f5032ca7ece137a5718cc093a775062b8f4322f1bd713da291d534b15c2e7078478e9d5994936150fac27b990c0b1d84906aeafd287ef71d788105b0821d02fb25f9aa5728758a10bec4be186b4cbd505208914ec0e67abecd40959c1d160244599ecf702f2d11f7964ed9f1a12281339e937a077311ade57896aaee0550144437aa930dd5463e3aff6aa74fba8a5742ee52affbb3b7a461a3684b67deff4bf39abb52b1677817bbe9439d76f495e81f5394e817d1e8495b20aaff142afcf983d57079906551216e2274030351f95a0a1900fa4be790bd8e40944269f39df476916c8e7ad51d2e7b344ed36108e3df3a923a0545d160c56b98ff8a722e82422ffb29030852e346dd85006b56698658b4b80c21cf139a5a48319bd13b00e65f108db85b6c9b86bdb68ba6aaa300fdb2b3c2c82589d1934ab1e1e28c4a5e40c8302c6d294263aca70375f1a229597f8f0ebe36f8ab5dac0eb698bd3504494e58bb0cf51ae5349d5f9fb08c7430e0f7f68eae37b75bf0a4b5cae6994e57847caad173a58143fe72941a2311df0afb84a6395b11cfa6649e42be4d6baf05f30b6c431de975ede6651a1c5f9f6771f7f1977a7815001bc68fc298c6d9c6760536e51f756a6479349b6a2caa788ffe46e70e117ebd85e4d22b99c5791a67ae45d5a245ee237a55a802b7bdcb4a480efd43743bf0ae1ee89d4166fa1125c88502427336ea50481bff97c7cd9a38be8e9b2fa5ec78e39f15905d8950376d9bdfdf2f6553a1cfc1f5f01c8dd9237e96af7d30a0feaa216f4d3e1ec09eef793ea0fc0ffcacd20a27fd52d7caff3d908e523f15bf3f4289b08b74f456a8e30d91113e57d8a3101f18736dc727deac76744e281b245826bbfccb6ea58746891fdb0cfd64ff5aba071e6d9996955f0581bf746881d1a72fc3959c828d44882db819a90947ea43cd4def511f97ffa740d2cb4b56e4a3d10eb1a6b42a8cc66a35b8bea184f6367368a38e0630925e90c8b140d6623c5ea0c852ac5fe333670922d8d80f341bc55bce4203335c7f7f1e2c714ad19af2f6926b6976ba9fc24523e492b95638d5b0a42cfd59bf2eae84d003af2487ccb560b41d6202c747610082b07c28647f2464a6fd74d725051ac88fd81dd9b4d15fb94aa3cfd5528b06361c5e1e7902696e36409befaa7f9dbf06f77648edd43d6135c4fbcc2f1c94f24ffda50bb9b2bc598fd4d2a708383eefc2ada7fac457f6543d03c68d2030e23ac5772ee8c4b672cf1829da2cf0cdc893e81930db7ee7f1fa5af881a43317d30ca040955ab4cebbc2230a768015f54a8dfd63dec73db00c58a4cc3cb756cb669cc1d4f3327ed66eca1c8ffcb336e4ed13cda1edd1738db8b764a7f7520eba168e983cf4248a95b3b0c5f262dceaec522d78e239bd6cb5c213fc38b165fad8647014513829ed8fa00da885b95a4431aed9535c9c02f6aa5952765849210c2e71984d04b03ae3698ec38277343f2b725c2d2bdec66b99b45d4b77b64ee01aacdd19ffb87800ec57f400d732b03afa1da31b78d074ece11ac9d0e987b6233c86b9004f78be9466177d77f77b497559600589714a8935ac813d8cf4f859959b632150f09ca7587e0f52dbe18e47202a62f3aa0d1194df5deb217d62c4dc96094f7608a673fcc52b09c721e1c001d0592a2669494f38f9c6e6a26ba09eb65a7529d8d0b893374506e7b3e4b2dc1d88bf6185c7dc3c6147c41","path":"m/12381/238/48/0","uuid":"afea1c28-aa62-4c08-aa2b-cc5f80259c4d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_48_0_0-1751540662.json b/scripts/consensus/validator_keys/keystore-m_12381_238_48_0_0-1751540662.json deleted file mode 100644 index 86a832fa..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_48_0_0-1751540662.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"83df648b309eceaeb0dffd6167a024e6c765be42028c083046fecc591879c420","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3a7f338116ace0b23c938c5a"},"message":"99057d28a7a4171c0d3a92d2b8b3512579638d7a4abcb85c81f3410f1d925dc41cd26c742e1317085107354e32d945143d4f96c89e2a5654a3f0a4a5a8310667"}},"description":"","pubkey":"0xaab8340e143527b389c3752706c4974a4d31ecae672336424c2e27e0228a4fc88722a7ebbf24030e1c109a14223e2395463b4e4618dbf88ee8b52f895c01da40318360342481dfef1a065dc6a3e11a8a833e1764d298e45de1b0be5213b7d6d022433e55e0b344f704b285830c289887a7c83f3f2265961e1598dfdbaac721641b6a2891b66d76a41abe71e0a5070258e9217b00560af2269515b7d9c848aeb1a32735ec65f418e283dd4b9a2198debdc59b9c3cd2101772ccd09a954299eb3a3b21b5b3eebe7581dc9187300e07fe06f0a9021b9da491b4637948e15a232398e5011d44a7ef59387b07e5bfa4d4bd95adae410f807cc7d02c65d00ddf3252a36336caf2a2e8176dc1806bcd4046f649c20ae37fe21b746bd42e36cfbfbd16c531a85bf16cf4b118fa63938bfff764b27dc5b6ab517a0b76fbe674748c10224bcf652ff13a27cd5573d9111fcda9638092e97319cee83cda3edb2dd5b6654b01dcaa6901a871d5a90cd91753221bb907f11ff3c8877416d7432d2dcaa073b238786828a6d609193d22f9ba70b13c69996880f87fb8f1da1658764d58619546fa22aac83d6508c6ff2770f2da21543d806c82086dd5ae4bd56662ed661197a9afb066924401a5b6f611397cbc56eebf04d4db8956cbd70d79e5b5e6cd4058c0455579b12f700e1690114b255a35937f2776d531ecd92eeec798f118ff40c6fd6dafcd12c6c8a58583254eaee907167e44400ceb15e47303bab48f8084930b9f37a33a7cc1994721901da8d428d17cef3394720e6a0a984e92e546ef93289a09b85be2aaf4e641a10ff8c39e68e4145ae58e7e7719ed57a56f09b5ac3576c4a3911fd43e9db46ba7b74112d912e9ce5b1d3d1fdb21e7b4a0ac544a8d38b3242342ec497de539eea74c24e8aad84bd19582d5091b19682a9a91f14483c830301150a7a534cb84f270c49ada0ac3b45b50d0bbd4f7dc67683ff76db7dca8a715f26c842b1906dbb5cd279c756a12765677c7f4fed73dc7e2181bda934998a5e846e6d4a05b68da3835b5a4c25695a2113eedec57f5bd9f899e234d72e228030f61f17fb5e87ce8222386433d58e06e329818c2beb5e84cd0b24c2d1172a4c85b56e86c4d1cf4a16dc62ed7cb835dbe746a5708737dbea797dcf5e00184c1bff0859e97b897047afd07442869fb9f01f36e6983f0d8e462cab78c2961ed07ca470642aa80c45c5be7b3816ca09fa8d257ac933d7c83212334f24d68703abd32764e9b6506f59c14616d7ddf61b1f7014710de00dfc59822fa74f968f5ffb0c68325200b09af3ff9ba02b0e26799635c5e5e7614548c3eae0470dad7cd3f86516c189a37a5aea8320379f387adb9f47b68774c1f4501053a8cada53b1a38e3c1059cc599ae31b079ed8af9795148ddb34d588892fb16de923ddcbcbc3d4efb476c0f7e13a641225ff55dae463834401dcdbbba33246c2d8154aa3a73babe0981b353e8975b1d32a5f9cc8578a28e213c7414b23b4305a8d3afd44764eed8f6fa8ca073920c02bd9c6941e91de092ff7cf7dd71854205eff0e73d8cb8f40e9a48f2bef9f1d7d83a96d5a8b571c619dc91fb2879252eec4e5c4c2b979cd0e4b951efaeee1ff22f99adbdb9ae7a23363dcb3447c39329d716f2c981e9187d9908958e3bbb3d3fb37b52febae1b38db49e7314b16148b452dc812290e6526503be4d750ce47ad03500f1deaf0cfc91c18cd4fd3c9592b924e71e628f15da21508a77d87f41cb25d8be0ef86b57dc3a72055c6886b3da7254956bdff0956d501c7c94a6a1cf0f25ab2c2643dc977c06efc815455119b90404b7eda2f7e53fadb32be35ebb5f85f816fb536946f8a0c34af66b456559a35de28c90ecb6ad8d1c253d42461f268c8f6244aa1b95e0893b484104b1a45a2a98517adcd5bc1de15a2963fbc9807ec54a19b6511318b3932b7bbfefafc140fbf7ac380f29cc432c7488c0057003b9702b105e82a18bb69a241cdaeaf674ea5bb137f589fb8bcd9f8bec236b33ea601e52ee71c6eb172d4bdd4e2adc4d587ae8c85b9df2b1a5dca40049806a9c4094432be6584c89b04120672dea7efdcd8a24ea15cbbc3aeec9485eaffa90b55e7d777ba4b5da6dbd1ee3eda6968a14c309c1e380fba85284b4ccab03ff1ad12310fbb4dac446518a0f812d546d3924bba91d4e2056a6838e08d4c74fc0bf441165d905d5ca0c0b593b15bb259e8e921b324071bd76281a9b9ba0d64e2bea67695506b3325271608257be8f867ad9ff61d2fbf928ed861e4c7ddb8dedb250d4efe4c17be3d8e2f784069d570006b3d2d00c9370cd76aa728f179667fad957d5a02a67cc8aee6d1634ae4c449d4eb766ac13bef360ad8e44f2c9e6c9a20c613daf52bcf9c376c0a82e2bb0c4b002b46562700ad536d9f974dd00e39a59d0a0ccd3c88aa440551bb0f637a9ae150acdb68a72ed60abc77be14e81ef3c6dc4fc4e0888c872307e537da64924518e291f6ded897c8fb20c160751c25462dd1e42e7d41cf31b002ec39c4f463bf877bbc23ffb2cb3fb839c6a4a023ddca8445b16dc4686961ec1180481897d0c6588ed631bb53adba3a3aad4de0545670069939f81f084f7d016c83d954b761f086ca3eaa4fd717447cf410e96246c737e8f318689b6c1ea85def96bea0f51676766518eb8a42deace0e2dca30c43b90b500edb49818383ceceaf2660447191de707f28409e464ab047d5d297bfd70f786ba2d1ce4c7c75e513874f19650e67e6c7fb6443c348c19e84077e4bbfbf0380f33ee17cc0411b72c53e083c6feae793c0cbcc11dc0f359a143618c2a8a3969bad42cf3a3ebb0fa43e80be68e343c93e8b4e6f2ce0bd4eca3b2617c792a10ffc2eb165572a44400aeb608e465bec076e7a53273f2529dd15b0968caca5b087147c7df1df86f34094fb687ea9dce5f98ad672624a360886e9c0cd2a1a449d882d25a9e1e7ea1aaa2327a5d0288d8c7fa08646bc39efa60fb9918be628c2a292459d7c7e41a78f7833d7633654dc41a0f2361b3a00a649f1d33d4e32028be7adf63b422e1966c99d1d4cdb9747a12f89f496eac265d8a413aa96bf7414e9e2a5efb33bac5edc37c9c7607ce0492d7baba4c4de639425b54cebc39c471665e94eeb61b91426b6a9d10c65a9bc5645bde9499757b5020d1b6362083f048a4d02e793b47fedb5832f70e403d8434d3e678349fceb317c4f0547b1412c0c5acecc45902165844197b4675ee71df6446d1d27a6cf984d429cc81d3e12da0ebba7c11fa93dc6f891a94016bf8193647dd13018cb8ea3eed03ff921161ca2e083ff262c83846a66ec351b4c3d10ed50e02779c23dac2db87a9309332ded8820f5a3287fb722fe600810ddc4104efd7e6055ccb9da8c17b5fda79d08e7072d6ce4ba198ec1094d2bd564bc8b2f27141e2043ad85e572e18eb684f19a2fe42504cfe89fe9b4d17ba8d9112de48a594abc39570e3ac051a2cdbb01cd073650361f31aaa93a1d3f783e51e9616fef0c84f61210e6aa993f8efb91c28f1020c17e448a8b9081cf1dead5d838fcb28502be55ac64c0f9df0b2e1714f5bf0be938a8258bdf69826ad16bf71282c3348a2eec304fc96601f06fdcf4283b5dbc17137b00f6715b200f7f1df1b0f747b","path":"m/12381/238/48/0/0","uuid":"db7ca04b-e945-49d1-8be0-070eae04823e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json b/scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json new file mode 100644 index 00000000..c5830daf --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9c17d9b9bde600dfe0a7c225fee135c5ac20f7c2edb59c3a65a68c7d5764ed46","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7be4ddf0b6a70a6a5af5ce10"},"message":"b770e0f3ee71b975cf03a42b6541b5442db8946d1cdd72fd669f67ede641caa2cf7c6f7b722bb3ecdbfe99b39ed0f138e897c20350836edcd7e08b78ca193942"}},"description":"","pubkey":"0x46d70da085305155619e0e26c4fb62fd843494387ebc81fd6b5dbf7311d21a3102c2f172fa67fedc9113150783511c7721ce878980c6aba45c536316a29fa41b119740a5af2aae819cf2b8fc0b271415abf3a473fe697508ffdcf9f3345879cc71ccb80e9078a376507ad1f8e1147f4e1ba601bfafdd3b5ad02277d41c63df8cb780cdccaa7b61f76bd8ac23fdf23a7c2c5951a39ff6264fd916cd831ed3e126e25267d9d935af7a7ce93211a1dfc13a93310c5667de8877a7cab124fce8598414b00c4dd8c6a81899e7c27bc81a1cbcd34b770432ac836520414fe2eb8419684d7ba27d3f780ab8906df5ecc8b9277672ec0b36de60878ff7d0a6d2b184f8851c2bc42a3dc15fd36deb2775a6e23ab604c06724793e45502c4f19e677302595e4968f491846e4fabc33be7c3fbcb6bdca879365b660d949ac85031d5ab2aee1c900a41f909a27cb0be5f9bee6ec0b776f5b9e5247b8c7a53eabddd94d8ebdecee69ff7e1dbbd6c956ad39dc13b98b52eaa9c9a52e12f65fe28f16f863eed37cb63f26147c0dcadc005452c7c8dd738197bc5baf1c0646337bf4f11818d5d2989f2f10ea9a66159db15560d9a17a11407163c4a694d4926998e49901875aef606a702ee100489e8b981be94be88e8d5b81d3fb6b431afe10e9e4acf22a96eb34e70155d114b8696be8ba9fe0051028e242ceb6ececeb07d89666fd5b32d6063eeee9e5cb04d110de3f1f1fed6a12a13cda3f84cd0d9018f1202082664426ed65ad49ce442082e535ba97f66e8c1657928a942c26825d0dadde2c49fb6524ca6bf8ca2a58f4b28b38d5cfcd1d4a116b57eec43bca1d8f6142df35833b06ca015bf9e6961b2ad03a641155746deec3f92ac00d24eab07892423210cb4baebd14ca97b005c53017da421be45ee7bbd37dbd8b972d77d4300d3fb162192bb1dd177cfca294b68277e37c6557a5bcf36311327454cdc91b4c4d179c04c3be5b5469c6d472b964131ec07c680110ea8b5c07687f5b427573c0a463333218f366a071c7e6bfad80400c5afb257e184c9b307a88b1a1cafae902f35fbc24755a6838a23e9ec5dd78c4375ecff2fd8ad63692d63bb6bafd66d9173ca7cad67b7672fcf881eb545695673b33c00c671b3f7efdac6b11b1aa8c4c88885f3a1f9503de934d0de7be375943db497a2470af2f09179aaa85309c13de1762ce6ca416cefe72ece54f098b1a066681b4c73f32eb73bb2df96020c052b91626a2e385b1feb7c3f78d999baf1e98d269a180702109c0360a49e5b4245c3ff4d00a176df135b7b0244433afea02610f46c02e8cc896e523112b8333f11c0012881cd7f4af7814a660241a98e0c9f2b6fb749ca6ac51ec8acf5bd95886b5dea9ed8e0c1e1efc080ed3952d4910bbcc63fd9a7c4b9fe7cc18e82e8939d10117462de7ec536339773857be6c13d53e87a101a4c9ad23bb8429d4bc0c513e53f9e23870b61473ef6bb18cb30ff027a794bbd2ad5201e57651a4a11c71417ecf1a489593f32181525e3eab91086b7aa6ab0d58885ea78aaf003f1f0132fb365e38c256efef4b4043f959f081c53a16d0b9eb7962da77168646b407ef3ade90b4f6b1857bd04dca39afcfb3ed2f35ff8cf52add7823317863df1b3f6df49a28165d26677ac6a2c0c18512437e504dd37552321e8ea6a4e158f11ca195841ddc114507aee658db3afb2e3179129a425975d08e89f123476e49c6d0185935463db783303d662265a8c05a0eb0aeae55e157435348eb1b4ea2813bc0588ec9c1ae7546cac6bbc9d431ddf8dcd840f770cb7126a2d1bb6d5c3c687b4bf782f4ee8e22e6cb01292a947942ca8a8afd1c55be588fe535997d9d72377ff4df622bdd67ab1d0beeb74d605c0e7480d76221f65652e10509eeaf3e659ed7016ea8bbfd53fa8100662838b7f0d598b7a2f7db78f48c8374e8d22e164a038e951b607225c1852ca31cfe617ffd676919de8297e42973ef1d899ed7d870b3328c981bfbc30d57586e4c7e55b5ecd47e14566b3b4c9f696df7781c45a5c892917329d5425f4a63a92104d4c0c5e59f7965f320d0f4fe5e9176c73381bb7f221743d29792712611546af0ec9a319bbd01e21bb1e64f7c408bb1e5a1d7ad088a38118ced6e342d70e3f5b4a046f35c05b08f011eede6fdf51db1b80652d4f645f14896fab964c1d40ab011b65c766127b8d772654a3a7eb9396ff3232df866bf9ad7fc277200e284121954bb7be5bdba5e12845c5eba8c03069d547aa5e041d9b153ed41011db4459b40848938599a0ce779dc029c3a742aa47ad432054c6e97559b18b86d799d636abbc320f9bd95c2c0bd6e5d933ad1bbba08222db31ee8d9d6f4e3155aa016f0725ba9ad434e558b0324efacd87d6062d4807bfa9cd71c4751d20284383505441083016b37a972e720d7f5a137f986dd9fa42f605a85189a9352964822009bcde88ce498aedda6d3cf58e80e2842c2fd7ab963bcb3e9dded04871d41277e0443ac3b08c235cefdaf02e2eef2434a2f000abaa61673bb9e3da511a8fe05d70eab45f5774d4749a00ec5a00a38ecc5a088fab08cf0be05ee71c03f1e435797aa190ac3c65784a2e87af23fa84a854bdb8ff8939e337339a3872073de1721533da1491673dfcdaf1c2775a7f166b83fa8a7ff0291044a682401ba45441007838cf41af809084463d161d6318639f0547ff6f467e7d3daf76d7d46ea5e19a9b19a46057185dd76d44973401dbc29b759d445fb8e740ef1f24c71112382414bd8a38209b2b7cfa9f1c1d896686db9e93737fb2a450e7acb2c0e06d656673cbd54b3ea5cfd9d2da49e95654ec2ad8cb70aa10f036f685d57f6f9f7ad5e85909cf22ca23c4271089916a441d82e481031dcaecd2b2d10bc7de87b7f78ce1eb1e627e871e51b5b5f941b5053e217a55b318697439b0e59fccd6e92bab5bfedf1e32199d74e5e9e7f10b5be30ea7ffc53ffc1e29dfb3e2075cd6de979f3d47df07177f8bf08b51369d2be83591ed35ef29fa3b35b8adf562d1771a33fd07da7df142ed5b371e98448c1d15004916f3fe0f1147ca0ca9bac12535aaa9cc53b8e80c543af534c76759d1997bcdbde4f5e0b261f7dcdeee182d765bed8d4fe254e9b840b607fdb0ef8f4502ef347d131d419ca1cc3c09a7035230faf3bf57194fcf621d142f5fe4c302b883893c3aaee53a8f380a72de3c8de34439c85566c3f6f2715373d199950a733a8acdea5da64b6d8c1c12a6462c16f205790be89516117cca31f93aaf52c5d9f03c02ffad83cb214cd68fdd228ac8bff75c332cc1085edbc9483271fdb953cd071158e9fa001e53eb3f1db0cd8123ec2a3c7df7a9a206b93c5236876245b853a4b9b9a2a1acc747034e891f98d7ff923714bfd913f1da7c7dbe152b6ed58ea29a0b271b6693f16ef166da5031f990494cf91d1cfc43c739ada2516bad298f92b288b5bb90224e2a77eac4af0eb43d550978624cbe21cf6e6eb8ecbc4f6dd8c8c60e9d4de1cf4fe432e24619d63c6d993639a91a4cdbd072dd6da3de6be5359499ceff2d3654881f2804539f3ba105f9a221423cbbb0948130cd7b328f29b6f3358ed5cecd73fdf1e8d1726deabbf2c478edf7d1fca4052fdb83684e0bf344618b5a516798c8d5367","path":"m/12381/238/49/0","uuid":"b2f94c6f-9edc-4c1f-9acd-388eb945f1b1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_49_0_0-1751540663.json b/scripts/consensus/validator_keys/keystore-m_12381_238_49_0_0-1751540663.json deleted file mode 100644 index ea337f32..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_49_0_0-1751540663.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ea7921906594d17cc54bd7b351b6226a4273fd6cc134bfd3e4b126905a090a1e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"2be6e504e9e10ddbc5bd820c"},"message":"a5356339de81cb49333ae4d4ff1b7b21c8711483ab2e7329b9397533906ea476d2f95ebdb75e35bdea7335f01584b9d68756200308c3d2bf22ed414cf05f45a2"}},"description":"","pubkey":"0x769d228a7997ccc872e9fe51e77521d666a8cf91dc113c989b8e0c94e1c337134703a781789922a019067720d2130286b85d5f84c96a7d5bc9cefa2502b99b4eda6c398f0a3f9fd0ea0934985c42a5991d307e13f6c86c73e52588a9766f24b9539dc1316e506d3202b64489ddab09a9ab237aeffaf086d40b632d9ba6bc0ad6228bd161a77d6116d82321d9ce9a23199cff8f365ec59a448671bd4f5d86f43ba37bd0c72be1799a3a8eaf15f52af92929d8d2a429d000e110c623a7ee50921598c3193dca68e24e84ea0c68456aba71a64da298a9249f117298d7999f4686ec315f156ee5f2e6b9afe04585c942c23f7d034547350d95e0f764ffbbcca2a48f83dbabacc4fae5dce79e7233d89efa19761be6d8816ca207bc8fe3ed1159da96f90f16cc22bf8385a38b7356855ee99bdee638ba107d70dadea2416dc464348763f50983c2f0bd9993669c590159be19da17716087382adaf891c58cf87fdb3df281556944af148143b5855c84846e4023811f1db0e7b5f6314ba4bcd88b78bc94ee32210db61fd496dc546996b7898e4585a0a631a827ab2e161a38e299ef5181e6ac0dde0235558180a61262873cef8e8031660b54019952cb3384d1708983bbfedc644a94d98b9980566999a3d6259db3aebedef3d6f0c8d14f63733bd4abd973d78588e438460499a0b41252cbd385ea6f688dc363ed66fb01b951a958801c969b322663f0479e0c10bcd922be4b4539375029d8a462092444e378ae0e19f6e7e391fb85e4cfccc1b39d8b85352edce86b948a22e2e01d6557d5b283a8341bcf45bf83d84d795977368168d7a4a52af3c2c86ba3927ec5f2b4b75fc5b56cbe72b2083edd5e1d8e5b29972fb38d0601d27962a1d52e82228b69f3c856243f8043ce71cc46b27e556fd351a4dead82639632f126204fc1fd855814088b62f87f04655ed5bee2a38301a1337950542cbcfb9451c4f982db41d009bb1e0c92e3b84110743ff51fa4d744e3b07a854b37950824f1498981072786f20f50d023d08b80db6bb8779051fcb211b6723e0a7ab357aad6e91863086fb567cf9df40a470e0520c38da618f3c74c8de111d08d5524d5a25ad1e5b6a6c538f36e136a4f6438d649390089bc0d267ce5a7fa4a273e17b84aecc377d3166bef3dc03a7f16099b88c9c28e19aa64d50a7e45c24106c37eb992bd9e4f6d53f04c4e6a56e708e72e216f327a2f6ed9d058d78b49c440d2fcf383789067cd45d76a3ecfcd052139f9b15ca9bd24031c5f567a617de19b0f90e3f056a29ce3726f43aaa126a9da3157d9325ce814933eba67a389cb76ab423ee37bf536d4606ad825764326e60defc430da719ba87e43ad96dffc47c31b73409076edf03f86331fd06c370060db7566de32315841643d8bef594d8309afe57cfb6b9b0f86bb5a03bbe83b101dfc52d0fd0923cebd0ca46cd4c48dc58c43ebae2c6b5e677d5d4e8d56dcf9fe3f29e4ebfe02a3efd25e4bad9c00e5b87bfe93ca7d980d9957764cc23335e44c9ead8bb88aff133a1b5e32d7f0051c6615503e02245231279600facdc6b64b9fbb13f1a89a41835b6afc1a7141ff28093bd21d6570aaccb4f1b21cb18c94b033885f42b7daf5049370547d5e0617900e1519f35b518f1bd922adbbb02b80cc9844a3cda60452f40f99fd0b3c568c11528fb921a7cff7e2208ebb8380461aab1ead17148a6c9d32f40ebdbf88827704f9280ebeffa9c541b69cdce8926149b4bcc244d013e9c0cc823fad7de7d4672f191b17a31f35192ebdad5aa66479055c1b6e0189bcb0a6afd8e9fc1e707dac936e7c99152a37dd64f533b48af8f828dea44a38546dfba0665cbc79e0074cfa1df5229b5f10902c794d0c447c7fac08d8c937978d5783258cbb928304e5a822195fed964614a1d743dd4c378b14c04d1fcb5e891d6b9a7cdc8ba06f47202d2ef387a06fa5a8d92212f131d1dd9b28f28a2f0871710aedabc0decc20519f021f371f18f4a8cda9a18ee845d66c230109e345fc14bf124e67e713af7a943218da35faf622117a723de0a10dfacb9e781bfb7b0c908373e18eb0eb227e23460a3bbdb58d246766ec58be0f063d8d42fc7ebdd2d25eb33aaaa863ef0ea7c59e55f6d8185ece2d56c6ef1bec8fdeffcb131bce5b389d3942e7add8ce98c5895ea2758858267b4d010cf186c478c52013e97ba1336f5157bf5bcc5ef8f23a2abe76cac3575caea07ebce848fc5c5e69182b5d5e1a16480a4bbbfeac9f94d8f8b0be914e100a06e53b01bc11dd4b1e957058c7b4628fbeafbaf2d6f3516ea3e381e147c9179fa51563bddad3eb0e38306a304886235a7e458492b67b3498612379102746aaba87052eceaa1b1e46e192abb644bc55d91b1811c741d5fd189bccfebc7cca59cb3582dd11b432be1a9f75b961278ecf3b7463dadce314cf2818e119bd23f8124aab38c955f9ecf57a0d62537dfcdf7f8b5d19f3637fefe04741c881c2875915ab30aab2743273a639913067e5910c04fd4d0ab181c43ef468f0669e88eb9ac51041223a8ab64b62c2d468e0d63c2187678dcc66f932e7684480a4246d5b1e61080a885c7bffbaa7308c7dc49dd78d36d6fe11b8866d159f034b154e5b378bff34ac3c76281ccd294507aa06630fc61fe01bf868f35d992d75633df840d7f0aee9753ce6a4fb184dfeeb1b6f7aa886656750f75083b7dfeb880696a19a7bcf47609159257185005c81c24dcb8be8e330ffeaa84724feea3793068d3b3cda16d32bb1c95148e894c48723ab88edebfa90b9886b7840f584bdf1116588ea91dd6c3ad8bce82b4aa272ff929df0ebf30ba30ba8a46f1213e1ae1f75a64a7185dcbf894befde9279a1dec0620757efd2dcb5a91cd457ed4db286efa54c34b362645f8fe4dc8d4c6154fb99ac1fef5fa2f42655f003c3bd9ed5de75acd0f7ec8e7abece62a11343dd6426a029a1eb2f1105bbb0ba98a8bad7b0523231aaf4a67b9d2433cc98e466639a49b3c27b0e2508385bb553cc3413bed29e606009a10b4c4926d8e2c8907e91b19c1aa00e533b99a2f507ae3754c6fcec0449afc096b9806508632fbf28edbb3dcdfba88d6cbb54ffa98b4136f760f1e3eeb6c194ca6db6c7c28a221371ff46c092bc40c1544725151749b43f06774ae6602235c9e2f6e93a154ba9b5ede8829a1322e1e30a594223ebcd1413bb87e49b20d6cccb3270480046189ea374b5a7bed9b457e76e8beda5c2f388a7dfc21b285301aa573c77f21f43524f0ed4ed2e784526d1d27be3c3dd11635ee255328f57acf6887729fd8302ac9858d422b13b33f966b4247b676588f56c48578c5b37455f604282a32b067e827e8d3564be31c607e587c108a4a25dc5900c4d67d9fade22230d65b60b20ac9983188080c28ff1d26645d297cedcc81de661e911eb0fbc14ab5821ae51108289b60a9b83711c6d93ea7a2ebc48949a1668082dbabe447c4464d6c385cd37455e6bcfc2b4e1ac30dd919da763a24976601c825969a4c81f86c157fe673265707738630a3a8c29283cb5033b5150e81e661926716f0a4d133f840e342e7d4a8b97cd0e5cf27564de7f918a2df007791a096cd6f760da75cd51aa0a49ef064a9eff5c6907ee5388fd707ae13445a9753e941bddc1","path":"m/12381/238/49/0/0","uuid":"695858e8-377a-4d3c-a39e-4221303ee577","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json b/scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json new file mode 100644 index 00000000..ad4ea13c --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d504fadc3328ef48ed83dcfe89e4c1c61bbce674942dbb9f8dc1b6882c66506d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"ed0c20f4e69d2d0bc8af695f"},"message":"50b9cce335c5691b5cf08eb0c5777253cb77c79cf4b0331aff87f256c94e034fef47dae1a9d738e7b680fa62c3a7b61c92a4d96c35a5dd7613c3fa07a36f4498"}},"description":"","pubkey":"0x36a8f7929c9ebffad586c00e4f50cf97c65cb06ec4dfae94843240b12af54664062bf2f8f2e14ba1d3438c0af6691b5eb9217e1265b1026988bbe98e0a6f581c3addefc5501158712fb12479cde38fd8fa3997fabadf51d692d5134609a3dcf08dee0c8767e8d3fea61dd7396edd646e74a3dff989b125f53c0f45020c29345f640d7567d427bf884d1ba80ae8fa11feb32f349e467759c375e57c3d3ef55bdcf4f100016ed71b891b4cdbad5bf59b63161ccb84d52effcad1fb02c6167898411883fea5f60a86fb15d0a2b3e910399efe163799ca4c0bcd8d9da59de6602dbc555e7e719c13d3deaf859034637df3c137927dafa6e3c6cdea49e4bfc692bd5bcaa7064c22873c23291c964f2b7142ca3cd76abc5511932b9d319b24afce5398aec632436b90aad2d4fcba421677bb35038d05826610337d2ee5e2bf35da793bf5df62cad563290c781be1d9b500907f0714ef80c76630b3c1e56f076642e1f92d8862355aba37cd8c0d8e343d9137d713b7925b7b50a75d8686133fbf1a7bbcf074445fd53a06bc12404a773d4a6ec391552219299e26f4518577f3fdd465e08372b8bda7eeed4f268d7e82105371ace621808011e35338ebc1277f9e11e9e233b8854f84dfa2277a4085a01ab8d7f1d7b9bba30768f2c6e9561a3126f9144c95e4f0add0e4bd0a09c2f16c6e8009258573074e8aa8f8176729a925dcea302c91e220531a4aeba4dc1a9ab2ebd670dba34a104991ef2843d90162462497e5a40ac00b19ebb913333f21fc0f2aa9b4a79697961f24f1d19f808a84f9f8e2c3de7b5d4cf91bf1e52ce43bc60c7bd87c8845e0beca383073737a30ebf61d277d5f97b39d4dab580fcd820055832e34f4acb052b4d0edbf83b23aaeace77791f9744693184c384b11cfa2d72237e9ba2018306880e860d8fb1777f614e857ddfe3ca4e4623f2dfad745e6f693b5a0bcecdacda2507cf6b83b844ad989fa004ab7cc7f3241be140b6a6bb855792750eeaaef2b85d84711cf165ad5b61237c99a5b209a5d034924a27aaa5fb1c6654c70c5b2e2e0d0ce4bbb6b8f8cbbae2d86777a08b4e1c57e2e18fe37ef1e38206cf74772a22fea5735d24e08389edbbccb18ae787a6757b8826e7ef13ac32d1686f89104a0a529933bc16ea6e1e81d5d60f6be72f6267d232875aa976d2e70de0e6602ab1e7d0afc38fbce22e73860703faba50106f7150a713f5d14e66a7417e2ee0bddbf14b368af49283700524cf0d795324899b046e9296f3af0f30a83d564f04c784d0375f3aba5d2990d7695292a57c2429b387dd76dd28aef9a29830e45d1a98bba42a9220b28348ee1d422bb32e18aef39c82a93e06c0f8df09e7b551f5c95a4d3444914a7950901282bdccc3290a82f43e45da40127b4aa2f82487ad347eb935643a977742e4968013bd8655255f44cca75daa8b67cefbe8f03638a58c1bf251b3f63dfdfbfd6b9299dde0326306727beef346f523b45bfa2b3604b70fa7a8368dbc23e4626c157a992fa4b9d2be337076bcbbd506ee2a365864c224b5251560c60ff11e3be46a6b51746f8196366473ad420927c6abe5e50f20ec49fdfa2d52b7a52ed8675492c3cb47b314131f9930d2e2c1b170c8bed57fc27b1412377cceed235d76746a90b2d8ca8d8be892692d2e745a9b49a8df675b46b87588ee4e9b9b12da75c9e6076652526ee9c8013b9cf9b81c1e37d3c03d47ec1cd15e795e6b71cb812671a3d4ad4ccbc85d478506b052ed70c2e598c1001ef7b56144eeb8bbf30f77c2b06842874759918ed41a46eb65fc6e49835a1b4cbe4e8d8dbc10557b88c41321afa6f4e63b5ea329bc2a86b3fcfd42506a6fd8737bd72b90c62a07021097ffc7df34a4a899594e3f73d9b526c5740521e4ca10fb5ba16514701efa01168735352aa25f3baf77592961447180fa7db145b664f0690e77766cfc21e982e4a56fb2b498db9f8f742af40e21b2f1d915c8ed31f13371e7e4544c5f9fe16682dabf5a40085f7fe97a55efceeb43a2f96b29a78605ee31aa5d4c1d3bca693651f430a9fe79d81aa32c2e2af31f641eb4bbb480e44e51488a9eb2971984f8733f89d6e5461753e6aaef0c454068ee9c368e327a7733e258e73e063ac23706f4cacb6325d9419d14cc4fda69838c6db5ccdffeaabcffa263ef9f4add4dd0bf51f4522a9f7a015af41d8aea4363a1409868da614d11c4f19a80f20e19c79ea7819c7f2edb1a0117dcb77531d72d0bfcb8f76668800db9cecfa745e9d9c8c64efa551c54c0f15ad3c1c26f50a365772a65fcf581cfbf711f5853a0f0f5e98b980beb86668a5c3f2dc1a2f998e21f9dd17d90112debc93399d6c5a6947fa27e6595f00c0f849a65091b0c19f6e403de52681aa431898579c827c43a529e8b16ad0dd0de96c7c072744b24d756edff3bb8eb92fa3e16d189e5bcfdb4a31c79984e903130382be6bb9b9390ca058554baffd890be24dbdac5832e55847c896a1816e91d28a034c079e0772bc16369784fad910e45ef499f2c0b1c09c747f232da8dc9c01abbef5752221a169bddd07c13db2ed07e36fd9a099c4dd0112580fbcdc439819f8840ed2565945f14ac931a7727555c0fc48189e490ff8254772a4420512313d3cae94017ea91d3954f56ef5b8b83fc9b4a725dfad27ef19a4c6606f9069d549dfea5ae1dc291cc534d779276913a6f1a9898172a8fff140d767203a22dea63f544ff53238bfa1679b23f3921204e76c4e045d0a36f99177ba8d4b2c09315647135b6ecbf9f2020b36df4390b5eb4676266231107328a177bb700a027c6f6cc7d033399c3362282cc1b5031668e36714c5a204fc53c77df77932e2813c537206a76d518c1223a0d8306f3b59f48e6ac5551676ad68f62ab6cbd7e171c1e14a9303cb3a5ef1f5b8236185a5b0a38ef70beac4f96d0b4564d251b3c06abb5fbea28e11cdcc4519c550f136a03975040ceb4dc63a64e6e7f4ea0ee6eb2ea76c262cda2b38615e40509cad05c67fa0e25fb3c5539c9724455e3da9638afa13a38e4fe14a3f2583adf3d7f81b6d8cb161cb569a6ebe5073f1639eb896c101c2b09f92520fee9df62450ea61b9648785d3c4d6c32ea80a8756e8c5dd770d9c003ebcebd4d14ac73e71292161ebc91dff50a10c306dab5af2c0df731654f0c1cca270692dd6d155a14418d40421d4dc46467a30c73b3371b7fce8dc9b306bc15e8b2189a46a61c0018ab58860f1778af72d992e1f6fe99e88d408a4e7e2f8e4b2cfcd8d094b5e6a276b9b10356eb778b1cb598ce28795dfdb2da6d6e9fa664d10061258dc88ead825b3cf1ae9458b6cd6846628f8dd2d3795d5868bd2edde8cd24fab0b80f56845527a734c231d3f568f4b38823075886b0ca58fa57dbee1228f7a6c472390dcebfc027e2b8efd79155c244a2ce4d30dc87545b7b0f628ddfeff00aeaf2901925bbbcbd34eae7fba4677bf54af2e0de65020aa063e33c7135cdc855f473c8cdba62f9fcd2071bacab8a0a680e42c15f5799edc84f033f693e52e64f9a57d2912a0ab04e247a8a43750a8464aacd539bc461b1c010bf500e9a9dafbf76e94e6c8ba8929c280582d53e9cefca823c7cd724c70db1ee37d72831578479a8a69492daa18e52eb4cecf6ba5f614","path":"m/12381/238/4/0","uuid":"4c6e5457-d370-4e12-9789-12e915aa2f9c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_4_0_0-1751540601.json b/scripts/consensus/validator_keys/keystore-m_12381_238_4_0_0-1751540601.json deleted file mode 100644 index c69c4533..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_4_0_0-1751540601.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4982ef858ef30b98ef3f1b7570dff6f612ed5c37ba9387a9514db6fbc2f8c06f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"36cb754985fb07a3c34eae75"},"message":"c61242f767ffdd904c90a805c102dd0629cc4dd9def45ebaea5aad7daa721aa7b13d933c0508a23f3c3ad0e6d98ed8978e2b7e6a070c44613d39ca86ea83c89d"}},"description":"","pubkey":"0xb2e0ce8e2600d901434a1424390fe9b4779f583f775d84c83d54e5ebb2fa1bad6565f0df9f79e772ed9e185eaaefec29f8b56762670eae37bea6d93412e1bbfb7ca6e7572096921f9d58f019e0168e23716c0e935daecf9a349d543432c4166c74fc69883c2423cba51a3cc0781db3da53c0f9a2111022519c22d80398d2ace9417241e4ee827220892b6ca07407962eeb50d5f6e07b20e3a0177a3eeae4ac36b5365548666dd4f266569d5627f551075217ff90069e899bbeb8bd661af93201db4db3a978ccef6d3a2dadf8876bba2af908b67d0f52392f145d4be6417736f660ebaa986c816168f7c336ea2d89020856e4dfa854d05c0a6444f2d35ae0521b24504ace419a362f57385af64a92e30fcfe50003974e59ad25bc58d82705bb8fb2a2839c502785e854e64208548eb061fd3c01d15c207069697fc32138201d43971c9d1224ba8c0ebbec03d1ca2f1d90b2b57517328431a8edab5a4b65cf7be205dafd107edddc8f05690531be022b4d90bfe7d7b2f08d3d9035850c11beda0c603d46c18a1df08d53775d603e6f20868f03b30bd85fb4caf4d9acfd53727c38039e48f60455fda17ce56b6bd7375e4865d289d8883809f423141c5213ca1833031d1c53a245238b073d039c5f8728807296e90aa1ac7429002b5da9247afde0e453fe6603ab9b4476908e06ee774b8ea305ec90732ff5b44875eb0a5c3aa8cec41d7750dda6e146671296149e9b434cf0beff925c74677a08137b226ea66efb14284425773f418c1a218b93a3e3d4ea31b871dcff07fe4620e032005bb6f1b0decfe19b0e284e6a3f9a5efa9ff929774058b5b337abd94c5db6ea6db9d048572650aa3f6442e47b2180e689274723d548a39584095e14575394a9078844ada68e5559a703f75a525ba25f263a3f3d4cf9833f42ffbde6d9b2cdd70563336500bcfe61b270bd5b5386a0ddf0832a05fb11966128d7a92eb461de2b97f805043b193751474acdda485d9c75fecfcc7d64398632f81823c572b96f7eeb2fd5e634a6fcef1bcdec722b6e9ff73bc92e0c4b76fe5791a2bb3777036b5fccdca188588ec4745130203cd9c6532098f30bda12c9b26f3ef772bcee3a27b4ecc230fc9693fe9cda0ba1d9554e33a658c99576514156d1d9a97b80e089c814b1a4fd31f8b1372e03081dd1179ef198d4a45ce65f6bd5f4371e8a734bb971c784cfd6f080a2f2d264f6756cdd14888fac559cd9d691a8f59504602fcd08c8602b42fb0069968b61e78ab5032c48dbbcac48064d30daf1a1ebbf7c5ed372a784be066fa9e4d8df2a60ec8a56e00ee6a3a636872ee51597df628c4a3071567c47df16b964835c0137dc54265dc5b33e1ce357a23640f5296d7e8d2d3636bec9e7e4a50afb42f006aad1f530be516f717e08f1b7ae301ae67af07a5eb8c067416ca63d40e4ef935cde47b02f6dc8387cd9bbfa092015179f781619fb159c7a91a23eaf71ce5e9ca24e4a5121c2725ec723f47262fcf834206f7ec65b4dc18c8481d8406085b8ebc5d1c26640ba168db9f9deab97a0081069bd335d1ad773fb8720485c2b1b0cc5894f3394f5fcace35d78a5d43efbc5481a44def18b85d3a86fb83ebda13c189a9f1ab1ad9efe496beac42c6edd4243eebef50d446554ba046351ccc879bdb7133a134f425d7c7c44f9e6cc7b31d529a66364e5cdb3881826c0f1d9bdb870d842903cbbc1af4879252d93058febf7acb18f1b3ddbc08773d4eb574f9002ccff418311e0c6b14c180b094144379b876725d735c837d16f53efd271b388749f68d3e1ddda37c18ca1087daa8a43d3be74032db451c1dcfd7be21e0b9b72b5c9ef449376268014cc13ac68ca2f2f3ca1106d8023ea35a25f607b859c0176e14f17fc80ffd740e220efd47c32def7920377f7d4e5e94f08762c96f4003628ab1264d420a8071bc13aa3a15dac58f8d9d6cad7d50a9b887499d800e17bdfdcc97c1caa6e759c9f9496dd18049df6ff6f73ca3e30f7644a68dd7b20491da21b028a687f803813bbc7a28d6fa43706b4d2ff634e3b80a21836b4de9df9855e928311eabeffea29c85e53f4885ddf8f2ca7f3c9ff15c3aa029ec63680c5c5d0652784e07a8e1036abdf1674b1a7f9ab0cb90a09a6745714d86e54fcedd556d84df2e7a95fbe2797ae1bd1163665079c970a2128e600fd474225f08b8c1fde81c31cea625b3427e8004374f7307eae58c4d2a1956f690992de8e269443366617df7c3ced7b7ee9910a40f39e8ae7dec99a17184eb42841ade19a49ed8806c7d79988066c88eac655c6d93cfdc89920714a50ffafdb4a6d8d8e29da0e22ce4d6e87974b48fb9ac97b9475edba06c1e21b2c79450231c47c79939ee77dd3e6c8c78c2db424ad8e2ff09da7facb3ee5db5a0706cb3ca1d8c27746e8dbd16491d8edb4f4d99e6091cd0921ede88993457b507d353be593670487b51e187a58e364bb8129596e6a61fef77714693bcefcb72b243899b8dab1aef523853fd3083f271b6419d0938ef07bfaabbbf830beab432293ee19f16e06bd192b35e19d71a495cf501e4dfa0251f50c45a0401f70943143bec5975355399e231aca00fa8c7dd6d23de244deb4a6f3bf888b9eb97f88fa3f6190fcf0b3749d000e72e102dc88b39944963184ba55bafab3e20fa4b73e95b1d1fecbc0725594229fbd29e8dc8db4f494c06b0549953c19d0105c200371b73e19ada37fd62d7ef9bd649b5e87aab85b62cff43864eb5530ab9e2cc5e1c2ab3c6ef5b278cb395272b391349d99c5c72edf807b706839e5524406220271c6728dc7c56d75f836fe09f2aca6463fa7c774e2c1740bfaf295f83b439bb17e66304a4c5be40e32f88954fd3391426db56152ade554fc9f7749f8fbcfe354d2e4fd28de8d1cf430ff95b38616c18e57b9242ee952e1056d8d3db421ba73b4d55e390b076d3384bbce091748104b92799f173aeb904edbb4542da815730672d62b0079b771ed628fa440ee30204ede3f22805115d585db26193be65af20578879282b78c9d93c24fca747435455927722c81de7827a25820dcf99d7b4a3e6ccfc08bea99535d9b6c64d71a13d4c3de737395427a96fcb0bc764c52cd36bd13ccecffdc943ebe873134632fe6397f0e7a385e9e039c1547de9d0f499568653108ef13031be8deba1174af75e70cd366bad379dee7df696c6269b21f65d8fcf4eb75461a71e7d93f91523a3d0cf57bf7e1ed70fe350f6217d44f3fb543cff70eb128103c29a795bae3ec26a6f0e404450aa0ca515d6a019dc8568bd9716d333260489f14fdd1aa648685fe8231ea70a207015cd88e1efc8761064ac1d2bd49a2d0f98742cad3ce954eba7248d96e6f85945a541a4f78c3187f5171d5ab86d8b86c3ac169380eee1f7ec4b7bf16046534b6872910e169dbbdd352383823e0051bc5649343855e7caa458130fb9ea1be400eac6d423c48876dc6eb7fb7098a1a3f253484b46dcc94557228323328a2b749cda39bb7893f48db49b1ce2429794370efd0c2d1fe1a6c3c6a9151cedd092a0a0476a3ae76714a2f39541c7e2657c88c395806d89083e3444a629a97df85d2201ea1fd3da5127d5cc144197c73145465eb9aac276a03c0168eb267b355311b56458bc0e66867e4b4","path":"m/12381/238/4/0/0","uuid":"69670a86-27d1-4c5e-813f-68b0785af571","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json b/scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json new file mode 100644 index 00000000..f88215a5 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f57389e2c4123940aa1fc26b6a50476c22d125b1b84815f260fcbe99a940770e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"bfd6681f22a38d3ad7180f7f"},"message":"a67b5e8973794ec1222140fc1b78821f9889bd4ac24b699e6ec0610a514b58455ac4db5f259352c53faa894a15c611bb3abe0f117cc4ef2f3a9ec73f94270cef"}},"description":"","pubkey":"0xa9f86c07457adf958b9f3ea7c192efb095fa93ca8e98044a74dab066fd0a41e2a8ea0f69fd54a635284299ebc75bfc5153e1cde6acdb555aa5457d4c3d37d0fb7a84e9f8bff02148fba1aec2ab1f6db14714d275eeb7dbd9b707c438860b18d074204b6c86b45125bccd3e288edcfcfc652554d49ca50c32872e84904e82821de29ffb45a8f87854e90c37a259f6a99e19dda01c86b910366dc86c523c87a14d3a206c617d3e140c922a901b9b667eedda4357c9043cbb47d5633477c146ca2c144a0eeaa921f20b8279369b43ad7d0298b230d39f5746c737783250e23af7a0037bd2d5e17bfff8ef89d4802323aefc98bd5c19717c0535775332587688df76b66c149f7ea09031bffe5fc287deeffee3f6e695917c2e3ab678d1887b7547be909ce4a85a29bdfd0837eeb995492866f57b1cac3f77432cb405cd7a5eaff3e1c134db83d78e7e6290279a15b69e3a8402cbb5363ac796711539b78e30808d210c8215e17296244966ec525e78bdd6234bb3de885f25ed9a4ca7c57a992907784ff41e62481e4b1908b289bb4f6fdafb8505ef8506eaba7ec8de326336442317ed5d900a19839fed9e87e13b73050056d9a9f20c19d7576b1ae4f9c50450e351d6b97f65e6c6d15112b1fc70b2a8e7fd4f6a01fe29c9ba2fdc710ad4689c37861b2c80ae0dfbded3d2a96410927b4b236ac0368c33393a39a8a11345ecc293a0d024b2c8b3551a440e01bd5e015e36d168f04d51d01571b3c88659fa6b537d6d9eedec02dadf51e0caaa9c3acf4a69057a21778d28ac82466e3812c0438af5f0550b35b253dd04f0dbc30462f4783a2ac76b78b965c6c27df18ee28377fdf97302c43cc79bd255b511074de954da60cc5c4e4fab538ce4cd1a617de01d83281790a87b8ff99859e893232a05238d19178de936f7c89ab71d59adee6288ee6230eb95cf3bdc370066b9bc352856ffd4f4a9895b0e4233973d25c46fba6da68168e39dd88c17994b6922583c722bcce89d48f8deb65b155c6f68f4405216fb4e39e8d36090b40eb26345c28976570f31477ebfc18191733fea400942e7a5bc415aae92535c882b46e14b8fbaae160b930344227626b12acfcf0c4372be597a55e5e7321e320b9434d8743d20d06561213a79da0233b1dbb023ab92234488b830d9ce9e28a05ae0bebab87c54c5727d930b46a107f45233175dab56be657403aecac4d16e48b8262fd703fc6e1b90569d476be062be461052735b1267d91d59565310df595c3eae69f64987af6e1feb409ee6c4a55cd523e6524104da421c1ff1fd8a69b4dcfd8d65676af84b671aa35a31ffb00117fcae59f9154fb9f32cd729376cbdc90b9b3ffad6252ede0c3b176f6655665fa3fbbfd432cbb9181466d05daad382bc144d46ed15d8f3c88d4b3df6ac0b3f8f682f667906ca8c5dd9320a3abaa462ab23cfea13f9d82f170df13814a11f13188b20c5ece7d5fa47fd04723fb98ee75bc0d771f264a4c8a4d71e8f49f8eda0c2c353ed4ad7ffef011845a6eb1cec502bf1b46f152553a1415eb38bf04b38ff7437197d26d9026e5d96ac141fd51b9fe5065d2980c35aee4db621cf622a8c97716bd2228821572c073156e9af71247a8c39fe00a1a6780e821115dc6b2aff1c38d9de8e9ac7dd478833916ee08f0ef86a2930c0bf26c53b6e13d9148e4ba124c5c80d47c1ff6761b47a4eeff26e63207bc6972d54ad4d58e1da5acbf5f0bfa48ee71d06ccf4a98b486fb4d7a22a1a7cf742c67305ebd5bb174e355507920de17044240722fed83f0258a100a55e0b34baf4770c1540eb4028a10231f3f131df36d04ec5d6c0e4b7f3730c6325f42006ea7c6e6f4c9b0ace09be37bd0e3e30740894a2a7969b0d3a0464f84204e0214e736b62392fee865bc5070a4631219be91e08b5ded7e5726dcb196cb52ee2ead6a8f3f2646380212875f08713a77b1f18d09650714c5c4337d115e372adc663a5484f3f56f1539b511aee65141dd5efcf8717a1417d28d370b02b04c81190c81d5caffed53061b40adf2f36467e00f99959d0172d7772745d459b96e90d8baebcb5ca4fd0ce00a83b04d2fb5e21e60a27948a5bd49523bacb5193c08aeedddffeb3ad5388c5f9ffd38bb3eed705ac280a4196c33c8369f5c29c34396ba843e723aae517cd7f63b735f1c4aa59672ab098aa3bc594f483af6dbe7a2bd95734e8e2386566c714ad106b02b6d02af92413a94c409759f09ab7330ca605163282d98a02491525bcdac04331ff759541719899fad0d581b4b3d5161b854fd7e9b850e8dfdf2a87b10b636151a66a8983e3284dd767603296db20ddf162e5fd3c926190ee095472043b2ff5e0338b23be435bcbbd7f099bd9130d657b0385161f9faf720b028d4713849d9647e85d110af11e62273a8a6e89ae865eb6cb9d440b453a2b4f7b022ed86b41a0f0e58c7c86290af21dfef3aa19e02834bade8b76d25a37de8b7ca271d522fd86adb4a6bccbce5b0db49c7d5a5d12008737b82ae7ab3f2853c3911713d7785554a7cad794a8f674c2e11b2beb90eb2d25cafeae71f41ff2074c5b03bd3e398a410c6e4a7c1332aa7e3b03533813d32b9412ca9aa8e6ca99ff79c7c8782e1f7786b7d827f1ccd7036d401b1ede248ac9f3fe67e42da04056847b52080cac773f6c0c7f1f6dcaf9d064646e0a0ce47538c83e1bfd688794484641caadbd0e2b3a9ad6a14b2d74faca19c2b83194fcb0a0fe11019b51057f21a4da62e154b84fb45137ee88eea83108766d342244309579844da9d5e62bbe567218219b8b20f91d7b8c3473047aa6c67dbcaca816ff008b5db111a771e69ab8f1ed10ef22602dd1230637b0cdc577af164a3438c52cef725a5e335fe1346bd8fc59473b2bbdbea85472b758ec1c0c1d7c9f1f0bb6f07ecc1d68071f745e88f0c32a7ad87d394dfa2c83f0863e3ddfc45a09658c5125fb3c36bb702d95f94e4d90fac99b2dae4ca2d8b093fbcbf73f995df7f813ad3349d267d7d1828c37ad001637fe86d399f3427d2962d166c33593497559fa267615ad562f38f231445ad0790a9aecb923be3d866444dbce676f0be02d91f0065f424331f140c3ac61fafa31f544cc6a7e841c48d2c7b26e896c26613340125fb42ba78a8883db9fe821225c21087732ad8b413bd0f5fc14bd704fea2983b9197706586560b23379d3b18544025ddeb1a4d4b878724d0526dd407bb2fa7a2a7d337c7dfbd4517069b53e7c2803d7fdd25e9aa92b3524a7457b4bec4990eea1a9aaf216e70b9c43351755cf28f38371fb0e8848518f3f407730970e2a2cd82648d03c8c172c499f4b4eac98e518b76fb165f94b25866a9ae792df8ee02bbdb5b6df4ad17db20b7a3176f9442f11300c9c349f528ba092e1233b8e3f04f20fdf9ecb7465f0518125dae33576fdf733741dad08f5a8c82cc64e4d75ce078ffeebd71c79ef424a69f2d6f55f6aa72dd0871e052a1b641df48a12482c32dd3bb4f29e3b1493250b855b11dc7f11cc0161616a33126f12d1688cc7d8b393c398ff71cfb43cde75a2cfa31368e859a7e3f9bbe4831d8c4e52cfca6e3a9f5bcc74bca97b25ac42ebfc6896337c68483efd41801b9de98b817277513bf43b530b8d28894084e40582cb5009fdac75","path":"m/12381/238/50/0","uuid":"ada1283c-cedf-4094-9a40-92dab373db1b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_50_0_0-1751540664.json b/scripts/consensus/validator_keys/keystore-m_12381_238_50_0_0-1751540664.json deleted file mode 100644 index c96deb8a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_50_0_0-1751540664.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ac7dca6041c6b6c12f56d581394a0931f58eb06fc229de981f36df4d7138153c","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f183ec7e1e43df550e623850"},"message":"d213679bfc48e03caf4d9018525aa759780e75b39e1e149da1aa10e20fb2a3ea5f1736840c7678329ebfaabd0041a0369b823cf6ca1ea41ff288b4ae4f38f70f"}},"description":"","pubkey":"0x9298d14fb52b09579e01419f2c918bc4b260f0d2c03f88e9b1ff96d428a3b57e44abb097adaee3cadddfcf35d0627dc6f4031169fae854c4e7097bb0b077b501ce1d23616816f11a04046d6056cfe01adec16498ca9a7984e9de8cbdd00111441714f0e2e816c60c006f250aedf4e1873a726b678288dcdf387116e8c41588d085a85ed3e4c7903bb3ecf81e1fe6c7310dc2d672f65312f0a93f84baf3bb5874d0e3130101a959d2504d702eb24155bb5476bf9910a1b3266dcf3774695e1d4ff3cbfe43e8675e585ebcd1a0b97da9353908367ec2868171a00b19462810165903d636189fcda09dfde7266bd153dca125c61e3ac65a80e01425a1dead8afac27676c7485b63a5a6bbd3897ebd0ad5e473f38de6bac29f11ffbf05aea649c9010b795f643aefb661cdf73b6c376371d4ddfc2db7c2578bff0d98a279931628c14e2346a969f7018bc31cda4f4b429a9a5199abb8c9e0142a4aeaef9985bb31f49cc28074f204d779f2b80db106d5ddca8c2d08621544e32aabe60f36e2ef40a4b6d27a0889a4aac0c45d7ff397e182b99fcc25c4efe49181d77e5abeefdf10e79673e6a2960da1e3eaf7be308cd6a800a663263a18890e1f30b82949c388356e98616e12e216baaf4702c928f8a32ee6cb586fc2c6be6ee1adebc8371e2ffe96d02ac33325227e1a7137cb0ab3e8b8b73d3525f05567c0f8a1273b63fedba2acecaffe354a221edd60e156805a6716bc7fa53f85a9b885f0c6ddd3b7b70d25f3d3911e8700fae71d1301d0e74f8729af5b52b507170cfbe5e253e144818e0b55f51dd0b8f88e1abebb8949c4746801c7d42812d0a97e024ba0b5cd05bd68855a4bf9a0b34000ec431a7f7a192432006c4538e1e6d46188e861db8f0d6a18506babd037bc74e243dbe3a11380c9793c85803d9ccae74829bd6cb359c93275ee9c1910ba3eed82cb2951ab06310b097d5ca812fcd1310db84971add55a3a6acdf716da9b03407eb54f2364c816605514c0296e3899a4165f951f233f38c3a280dcc0d3cc551a177ac78873601afac0c00b6c26978642ac135400fc534267901fa08ffc18ca8c3ca4a57640de2725cb7918f6cba6c44559a1d2a670fe9478fd815094f13a4f70ec06420edf0418510f11ada383b55fc07df23dfed4dd80281d005fbafa85a2d0e0133e221009e25cd21fd9f02961c7159398322f48d42dad63ba6efabb9f97751f4a06a609973ffe1813ffed2bf6c287276ac36d03f3b1c6e173b1f36b63c9cf6df872ec8eb60c6842e65aa8585e34e4bf774aa86d464606617691f6033dade9ef8df9a176b3d92dff97c226b6e5431153d83d7f3d7d400d3f51b940a87822ca9181c4105cf78effe556ac59b7b4270110ac619103876f04ffb1682ac7841b6fa416bcf472be606e186c4f6e21013f60f84f99dacb987fd98896fcc9d1c716101618e27c3811f2470055c2d45721b04024851fdbad96d10ec8b0393f7cff8d1c8d9adad092602956e54bc202ae3fd0fda9ddd4a11ad1467984d4c51ad0195c9f7115ae6f98645cb7b72c35a8754cbb1d6888c43100dda47e1c8be2bef3dbbd1b09f9ce691913d320ad8d97489c11d3d7f8796aa65662fa107edf415ce65ddbdf01fdf7e5b2f6062964e682c98aef417d29dd18ec46c02dc83e0c512a265ce2a1edf854e15e5600626e560380a927fcfaa02b2120ee7269091ad0f5ea2e88cd6afb3b7ca7045aac9e5b2c5416d752737b3909481e994e09c5c2fbe630fa87cbbb4f6bea89883aef04ef2821df81e302986c4507442e8eb74f478bc881b6f60bb406671ae85232a81c651a5a5faea954553ae5c749d5cd7397c6224d0cdf0dc5c4b2f05cf661717afd7242e6bb979a1c218ff51fa583a1e8b0f76b9d511c02ba1bd62405967c11a418361de1a6f4a69912139db8632773c9dc9dc7361a09ddabcfde91e69d1e9dd96af08908634e151b33d9826d8f6b2bfae07c700a059d825413c637a99a9f114f3636b8a009e8cad219b7a0b1beb62c2136e8bf6764ad98a2d27ebdc7b286fdd9df994b87c5595bdd7c0b5dce6210e8485e88280aeb91aa50a8e01579c9ec7179fd285e30e71de5dbc826d7be6a8f653d1f65b284ebe43a143607f356509e5624000edc1f6a87623cb50061dedad2278c7678e47bce474726179a0fcb40f2229b76dcc4669ecfc49403dcafa13d3e51e97eee2afe25eff1f668a7ab6fb643c6292e313f83f6fb800ba0488703225c1770d3178359685a26489a4921b32bc1747892cfa11890701dd4bc65c2260cf5024a28686c986d3909f4a9918d141f666465378bb579f735976f09474a2b76bf73c1499c64adf77db13f2bdda95148bdd68190e0303b346109358883128afb22a5a5e664858406aa01288e4bd495fdc7d8450830914ffc70359384295477a48ea01a4874a30de193aa6bd7b2921c6c1ff71080beca4a474a0cdb73f6ef0085486bf4a87e4d6a66d80325f6a7f020639427c47f6e04a026bb530179ceb70ecdefae5391659da8b7dcbc1b2d5ebdea5a321371497519626c51c9a827b0a817b5ce916f67be28e894992e55f848c718d74e7a8508b4af257fe55632b9533133619dd52b347d4016ceb2b3d834a827ff17e6154b3250f2f82806e47ae6e2c9e1f487813d269f579bbd18d8a95dc4214341d74bb8f3870faa67063db5e77cff19e44e19386e978ea0aac217c7ddd08afc09bba72d85221c33f732b43d85f6d55c399e5768f569097142abfea1d4a9e4f8a3ac0038a20f2b368701121ac1fcc178b24fbcb7495c14e4ca0db90d523ff363e59d74abf45cb0aba98f8118266cdf77e298759e0d407281142d990e25467f827b0a1fb361a7d94725bafca31f72395c3e084ea5501dc0280ba1de1999a2f57362e903837dcb9132244969166f742f91194270a3e650ea5826ec22c3e871d29155ffa393e239600130071c56825a45cb15af97e3bf10221c53265b467f71ec35c9bc3180803e533ef4c414922004bb5fdbcf7391ea57ecbc8a82babb7d90c3655fb80e0adaae7c2987a928f2e94b2d5f4e17006fb0b095216728cf466530ef484606b343e1912d2bb4ac4a9340f7fe52464789e61d930483f893d2e225f00da0201ae64c085163fcdac0050b9c619809e5c7572b561e4e089be7b0bccf1f98de7b39abe5167c7d063c08a22fe8acce41bfd87553fbd3c41ac199216315a0f6a7bf92beba2e92b29ec1b8981ff271d1d0ae50e50bc732e8553c7d8732067140988c0f22fd3114127e0a0dcf10006eab78b02b74b9a641b99188c36e1a5370df001e961514bbcbd48d5283f46235cfccf668f09d68308ec17fbc17dc14df0ca626e26af22db898986c417a6766e618ff0d7245f3482d561dab42970ee2f9922ba34dd96eea2f6853fa48756c2bcb1a8b99563433b2e4c7d38f6fcbab87a12a9bbef0477fdb52ce689d42705468e908b2135da3d5979c6b1bc3a74ca03a2f290404672fd1965917760f9a7630934950fbaeab2bf4d02ddf3ddc52ab213ddb9d38ffe3b0a95c3573a66fd0ba2f97e5992ddc40fd9426908ed89aead1f5f0fa22a19d9d41fa1bf7d9cca33d2ba707a93b3901960b9703eb51603ac7042c42a7f30d2b989951d938319d1de59c9c8a5859c446cefbee06c40ee847","path":"m/12381/238/50/0/0","uuid":"b1b7ad58-467d-4b9f-8645-c6e01fa818b8","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json b/scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json new file mode 100644 index 00000000..2c3dfa52 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"8434f857defc66750bcc943d071b21312075931d0b0cdc84c726a99e25b01b7d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7b8711154e01d08a1b3fec06"},"message":"c6274cb29280cf3dbf0dc06f160fd22949a197324efffa0e05a546d4494825d767958aac6c2ef18d637fd92ea3ec375b8d8b4a7bac96a6b9322cf23eeab77697"}},"description":"","pubkey":"0xd343841b1e31d620107f45611c9101755e66a299518cce483335ef5be34f994b869b903e1802583e1d8d979359ecbc29298c223ebefd08e08dfb41daed1e704dcf01420c6901f76988793b40fea4273e9f535c8b34eddf2311b9a9934b1915c90ab3b7879b35c1542ae13c27c09422d77a9028d77cd6e8647500833841c29730651092aeba99dd73d8b7445844ccb3b6662d49586c1e33aa2eaf206556f0acfa22d5bf33f38c31882ae0bf5230042649f2a94f627318dfbb0fba0a191563c43ee0726ba0fde980f8ec9bcad58436776cf7d07698b892918eb861c6447aaf95bc2ecd56c8927690362a7ded4c448dd83aecb9d030b8193c8680a75ac167d0c1575311d07a69460595ed94f2409e4340c3d56fd198e2de9597028c2e3ef8fb708294786158ea554fdd81d49ec09363fc80937787758dc83d368dd60cc3e59d36c14fb3be4e0d4647574711a7a4fa22cad8ad9e71497c61e221b82f4d84866a7edac4e96f6ad73ba4823d6d1a4117b44b87304c769b63bc6a5b3fe496993f1b71ea357fd71de609ddf43c451cab473543fb21133c229774d4001b6bb434e18e1271be8c847d8895454efbf77d4d9ef1793ef03eac547315a2528018959e1901030938a994a12170483b0f68753bfc1fc65c39477debc0f43df90ebf4227371424a222c8d74938b36a2262378e432af4832c0ff31608a313c83731b482dab31e6db342ff3d9c230ce4a4e7835401575a79a4d97efb45407ebde937c7f0c750d2183d94f3e81fe52fdbb95536f3bdfccb6f573f8c2eb435a46bfacf22e7bce0f0142b4c6760fb00b9fc442bf65e4a09983c3725fd33085e64e0a53a3fa4fbde6263c71449c9ede670e36f1d905e4bdee40deb654484523f54a5162d60725cb98565dbe6b2266c57896a22e2a1143b87558f93d14c63e95f885fdf9adab565ce66ff4e435ef79b55255a549e9b5ca056a957044722a8f1d99a7ae70f2843799dfaf68701638f01a7020d9a9b041c3ecf44b5bace17b391a186ce9a3548f22d50192f784d8b6cbd259fb31332972117fb7377cbc49b3feea478b22080631b9009e40e7596d9c7acea84d41e35dc22b4c892ac1cdeea31e51faa27c7f3211752e1ee2d8c3fd615f1f38489a130362eb256ed70f585e8edec22fe25ab93db725056a33ce8fee07d5a18e5cc6c384695a006b84ee8f5e9ef45623a0ac97a879bdf5acf8bc3459bbc4e50b864f9a0ecdca74201afd5fd09dfef985930bfc1526f3bcd4f5c19a5626928db560aa446d304e27ba4793bac5ce7f787c91a961a4f00f65a5ec8186825ffae1454fb93a8e61d8d4f4411fa183ed43fdf55fce878f5aa2c49215dd0aa46bba6209d6070e82815efc992636241c3ad190261356aa2e3146695028736f2e8a9376820752d3d2d39feadb9d52aec06ecb15d7fc04bb5a63d45dc5ea65e98ce9447356a55adc777ea10569ad1b3a6a99a7761b0de42704e792e25d97ee1568660b687dfb5551ec513930889426a23f25a5af73257ea75432ebee43d701c9d20b7bf3519e986a8d36288e84105c34203f2a9355f274dd27ea3b4bbbc396374c67b7e8980cadabec5da0c3b4827c70c8cc04708e39251d0306610667fa77184beaeb5987bce3866d21a0d7f09c2a6b917cefcb750b5ba592d8a53c9695d26abe1c6cbbb8a8b87e431d835baec6d304bcdff6ad4009092dd7be918575720fb9e6ae83fb6936e96dd6c1cd3f86f501f6e6d5bb6e9d7d7c7f402547b05dfa5768947d7cb54a0a84ae484d445a5e39299374cb976f126acbe5574d6d2e408e97dd6212c9af1e000870fd71d3ca2437338d9f2ccb638f692c5152f3abf49489952aa96783c8cf26b0d26c0b6afd11c3625598f0b4faf0cf99c5060220c399e648c9402783679080a76923806a37b3a16bd8690b3d5ca862a2dcf5add31412658d45333da69522faa70c2022986caafd59c2690eb7857321717a6f9b7aad634030eb93d74cc7950ddd11e0288f9fdc15c8c99d124ce968fbc6860770362a6d824c5ee36cc56fdf1c1779600fecce58f60dfccc1ea4d3bbcd80cbedd42f06ab39a06ec655f476c3de21dcc16dc57d4d6dc624b2effd9ce2ba2a19f7cf4cb53560da9460acf38a01c36f11c70678a6cef3c71f266b7b8f0c42ecf2fdfbb4a099d2192f5d18d583cb170108c4a291388edbb6fa45c5e31ec187e7507fa39ac0c176767036c6fa0fd5b72c28e2431cd42594095758e40f84113730d505846450fc96a5626fbaf09e14a345d829a394ae2f6907caffbeab343a337575193aa56b140dceaa1fff2725b033d16eb1b0468da1d03b7f5289304618c28d97233bc0d94d65e69ffae69c500bdeb3ba7460296827c299aa87f4e5a9afeee63c9a4827ea4461ee6028850a434213d04c0bb997bb56718ffc3a39ba76764b3eb0b25cfae63af1cad47e94ec2330556f32896e0f969df80d411d36785c7727739a58478a736f3e4a257ac1c4083b02e1ce66db038955aae1ed11cdedc119dba05c7ebafd9cc935e42ed2184207c1540c4141e1f2f3c70c0806c83618d8cc1340fe2eced0b3e711ab78af8d62b6cca64f0893129b1fd950de93729812cf4a65c311c7cc5045c056b9c7d64fe88ad4180d7e3157fa665e498b495455460ffbae7935527bb0f6ed8aec90c5b1d99cfaff954335fb31d80709382eaae1464275d69221ac36bad72823396702296bd1ac3baec397ae12922851d30ee3c793dd8ad08cedcab5ab07a1baa499366e21291907a80806f9301862e46a0ca93073ba0277dc61693264fb7039a84999aaf983f08b7ebdbf2a818ef8461ec3dd61f72801a96e946c9e96f0a27808d0ca07e26b1cbe025f6a095a5a4436be50a1a9f4155675f9f3954507f90517bfd41c400f0f326811f34b2881fd913cacb2cbefffe7ed1ab16a0d04af1320c56b919aa01a799266a53c075a27f7060890bdd32af2f7894a003370193bfcd8856d2a5545d8b4199f9ccc55095e049ea845ea68dd476b6f11567a5912d23c21583560e0a4558f8a6f21765cee8adcaec54a7b420eeffc248e434328df43a12c22d7d9bb1546487f647b577773e4f727e4a1fba52af566b90123fbf9c4db3410ab077ede61327d01a22712cee9cf931bdf578f157968b25b38d2e9a9ce40944decca470f20b11332b240493f186fd249967eae0a69352bcf238bb675e19c7b7bcd429f79b1edfd76002f983671213acb349a4f74bcfc52888f25be2dae8ba40ebab73f3a28647bd104ff57fecb76a44f9ad110eae231e647b1dbc47857bf5195bde0d43f54bf1ccee43a5fa85ee221adb4760c36f47d34ea0ace79702b9144fd075743146cb8293a64ef3d3c3266076d47344e5db8f702174b6949771c444c88dfa8daf4c9ffd584d4093ecd4e2417aa42117f2f7acccdb6699292df32136f3131a4c072027c0fd8d7488f1a3c9f403160c15bcff5c5da9b3c939b6e75db981e30ddb2be165794dea182590bd8d6366abf5bfe2989e69a10f310a745027bd3180a9a8cdc1bdfe09e552141d55fecf6942fe7fd99f9b38fed3191b5501c78e8e5c9e1c195071c1e8cebf3595a906867081b245277a319c732e872d01db21d43dffc2558d522be10fb968cfc608a60090ec5dfc28b27ac43be1298652aef62437113e5c","path":"m/12381/238/51/0","uuid":"a9ae50a6-a2b0-4b28-8691-c9caa99c7f88","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_51_0_0-1751540666.json b/scripts/consensus/validator_keys/keystore-m_12381_238_51_0_0-1751540666.json deleted file mode 100644 index 47141750..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_51_0_0-1751540666.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"034366b89d6b2bc65ea94d970c8dc319bc89142a813f51a1ca7a131da4190158","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"195fda4fb016bbb4b9b21e56"},"message":"878c8a4bb6c0f75990bb20cdb59cf0522522b09b593a9df9d891529ebb48b9570ad123bc7b4080a50a39164b86aa23ab4a722c81f57a2147237ade72b832120a"}},"description":"","pubkey":"0x5c5783eb27a648915161e54427a9c27cbbefa78f5d999e3a4547a96511b5bcf5a77bcf24bdc7ffec231acaa60ccbb9b10e26641fe4513461445504353a4501ba354731c6dcc29f45eb45ac94541647bda8c885406a0bb8c4b8b20af74bbf8a79b0f3f1d907fa53fa8fad7093e108d3a2f42fa309204a42f484ef10bd45adaa5775d049ba061d9d6fd21d7ec3ece120006d8f609686e2e5d4febd557db8ca67002749a7ffda869d56fa82c5603d7a2b8a425809b7835bdcbae404b2ad18ef17ccb1f86153e94d4fdd42ec90a0055fcf6c76e0c18e354dd14b9c14552eeebecc5d011e798f534bc3238d62e293fb6d496eff479d96ba03776940fef5846ae80c090081bedcd0d3a814ecfd3c0f2ab7e7905d9bc1fa3a054f1a1d572b55df8a65b79cae57decb58f756e83fe5b8987be935df4b4faae959b2209c56c244b677cffab4135ba3c4fd8c7f6dab7b62e815dbbef6d783482713cac14fe361e8486cd9c4e554245feacfd19f068ce7a098743d715f21230a06d22450fed6bcd02835f7db5dcdd78601b2080990f48c132d45a10217e2ae45fa86e3601c77b47ed5a8d425670c7d4b5e4152f336b42cfce1f2b0c820ac51552df6ea4507595b788e891487c0fd38d9a6a0be6ef725f1464790129204ecc55dbab49fbc04d5a535c84e1b0b6e4c1fe604623b4fa30eca9b3d18d9eba70671d20bcfc2c5720fcb773fdb1a3f5b4b36fe7592ff8a65359bb9214d756673b8118cab542065c38e09acb179b31d71fa1b57921ce7bde6abfd392e806ab480242d7c1ce31ec870a24d8eaf179a8fa825de961524e362368b3a30b193b7eee27236e3900c6e51ce4b19ccbc8fc115191e0ecb80496bbf230528bc7063addc348b3ffb5d3fd92f01d70a9a15506e1d4e724d87b32d084492b3581725265af97d6b8eae28694760603ef4f366791fb477c6f437622311b8f17b728fce866cd5bc23743e8b97b4a35853e05037055c57ecf2137e93b2599e0d96c6bf84285338f642997274e3048663b3f73a7e17f9c1ce12c3a620bdfce3711e456b8d248228491cfec2cab3677d11905d9f3f14d13695ed521861147a4a9fa9803cc6f00498371f473f5574535047ee1f9c0fdb315f30cfb9f0a75e0cb43c6d21f64f6cea6561365e484f68977c1acd56b8c8a5fdf0890031a773453e2c161428f5ca1dad3e44eb8d82c020d73daf960dc5e52c3ff29452056ecb46741f3e7636ae82b5ee5deeb7b678e26845fd64e591a7958fba8980058c0aecaea2748b68466d5167826e04735b746663150413cc3f8783fcf10c31ceca0466287c9e77d8d821b17607f0dec4f5516ca204dab5c5904b8b3ddbfab4424a3195e47473dcbf3b4ca889d9658385395b38f82dcd7c0e622146d87fa57ff0eba219a2f4450762e5d48839624516af109a7ad80343b8d66e95043e6194adb89d111891ff64f39dfc7bfbb765b1715d6b23e8a4d7bac6508139e6bf3d62c33cd7eff55b0b45c9b159f853781294b0cb703f97574dfa7d40df6f44f0dc50814c294f8315c9294620d06d202e25d0ee67d3032fed94a8b245b360b677e917f4d1e800aef3f82e7d049c7356d51b513cc125c6687c0a272d5d8c9d25991ec3b3e395f035b15a8309d4e113bbecea4ab198f9d2c43ddf1d672fb3352ffbdce4ac6ccadeba8c860269765e6a81e9e26f287dc9b4c2e65b891b3afc01d0606810cd9054a16088e58c234b0a2ca404b787985ef4cfaab923e51073b34412a1f07601a5aa5fd6141d467f628b38734f8a1c017c9ac3a84892df865cd4abd7cefd9aecaaca2e531066ca26215ee92cdf10ac6be0c57d9b8ce009930c3f3d3ccd71dc7144fa8aecee466e56f1ddeaafcd891a4f4d9b642f74472a44d4722b37430daa0047feb33821f77409be5cb8fa2239881aaa02460c8f064c5e707f389fd12c385f733f6a8ae62b69f4d86f84e6858aa43ee5aed5a55c3619da761e36476d1c210aa324eb6b1ecb3a9ee0a7bd837e46645552067f8b0c557d17fa36b5f8dac18f754b3b9e77be91dc5c7249c714cea53ed51beee6ecf7bbb51cae046dd4ba1c77b56416dac7a4a10ef9bb81832040ca56e3a188ed40c9923ba208071996feee6bcc8bdc6bee9315cd49228e847a2d7c181d44129c3e937d5f6c14f11efed5f5e0cbdde06a51f8faac40c183cfda380dab52e59ea8a5e13fe1b66365725beecb626772425e487fd3c601f6605e22de6d208a97ec464c64659a04e22aa9782835f3e903d05af737af768af91669ba8d1eb84db35724684ea39a15f17f73b153f6e9d5fbd971311aa0d5715557a5fbeaf6439b71569757e75f5e64882ebe4870586ec45f5c802f4f5e0faf5c83b987f0adf5f2413d89ebe0630e8368ecc6b5373746aa93617a06b62db5194f3ff551837b5531b3b4afca51b75433b7472c8ca039a76ebf190bc3cae470d4f7537d7d4555fef2d6c44c41790896834d53f42daedbeab85332e1a13be21fb9fcb98a2cd433b0ac1e807de704374269481b34709d954eb4d584ba2dbe6fc0579956fbc2d9eefd876fe2e38ad211e4eb795f82f9ddb2559337cd9dc9ce9f48b52109e2ec7eaae81c25e54a4cafb118524cb91ba72e28a0032b780c9ab53f2aa4f9e8e9e9b6574ef2354019d438623d9bbcaf3605865c556ca8f1883f1ced6a6d330a2b901f1ae81ddd91e4d5ee82a309322bc8bebb9761bb33afb90f92b0e81cf4948d9cf10ebe83ed94b61d6dd0f13d2ee1b3dd62a3fcd8a1b2949ac7b74a2cd4612f139ae416aa74a27024a0c960775a9f9eb8552a3af51af9afa67b4d554ac8274eeadfcd60dd6a66846cdce434903f70b9e37a18ee4b265c1cc4c54a13424183d84ed432446ad7667a2a87eb1f0e906f338331584566bba0145efcf1cf728872681cd6b78e6a1ea5a3465a4dd88af216d0c8648af215ba51804051b75ecbc6add0985e4ec14bfd861f087c5af59c8063efde8424ae36dcec75976465d2e445b24fca71e0381aa0e8b3c8ef90d9a04194e8928052f9dc08e3de941417ede4fd034c6c9bea0849dc025aa6401ee4cfa4222b49e8458ff9722ea3ad18d637f2e57ecabe65f947dd0325a9ab6c14ac24e9d51ab26ea8c168775932816d7c4ba047a710882482866c3b1b8d646b1e817fc216e84a1e3f724e5e878a588f25e7653cd1e5fc0fd5aca6ce6080b7ec355da8dc34e624c115424a81d8e192ab7275ba5ad6bf855506d42e56023b4c076e0e2a42682405993ec867f97dd5059c24292b1ec976159007148b7ad29ef1c4eb33347bc133bf8b5cc295e42a05a9a548acac946702f88da23f471439c07e426fff6b923a5628cbe943177c53d4ce6f5b0d3998d3593f0abf15b44e7bffbdbb332e297e0cc2525f91b0cda06dc06c3bbc068b639fc690d8140b0d4bab1e4b399f7f6e50d400ce40a32076c9bca8e6e32e130d06ea80449ab6cf40c454283046062fee53dfe4191502a7c2778eb14609c8297c6e009a00856cba2dd2cf6c93d848de9b27e5c3ee49682236f9bf3b3addb0e9213d9ab68395d94a0898bb358b95a2cf0512d1e1fca3bd58a66e72db57ea47e6a6d11b61147bb85cc339bde7e44297ecdc078d576b1a49514835ef465089e1c12a63cb5e9e0d9df02f3fd1620294a0028a20e1365bf9eccc","path":"m/12381/238/51/0/0","uuid":"fce55cad-5245-4fde-83a8-8abee6d191a1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json b/scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json new file mode 100644 index 00000000..95c87376 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5165738e3f2f8908bbb641fe244cbe1f65d46bf2fb3013965dd1327b3892f25b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"856b7a34c0da7bc5c04bc875"},"message":"fb20ab153bedb2831dcfb74555e455135c89670d2bf9086e39da1e73e8543eb0d99c59819868cb60f072e90878a48e36ffcff726cd29b0f56d3c2339ead05580"}},"description":"","pubkey":"0x0c4f0303491d7cbfce86b3d3c2d09386544af5f2ba884b9784bccf512a93039d73064e8d2c33d8a351c7002a6264a1036a1a93c8e6623c21d67d5bc092bec5e24d3139e0f4193fea85939fd51ee387f133463a4e7d9124d99de719a9a5ae7dff223cc57467ebfe387f3f70f27fe81e88bdc144f3a330fb4a9dd4691e4b83b9dbfcf467d85541b88a74fce12fbe0ba0cb24944f59b38267a70cf1288b52a42ceab0adf61a2e5764058e1cc2ad2e8f605e67e98b429625490730e38df094f9192d7834d685ea39c2681a57ba2a093a9f9cdd00f8d7a6cc163e3394bfbe90f63127a581b33e8cd8d79b9c9c991e6dfa0c1c99c70b0caf14cf58b083d1c1c04f805c6a76667cfc232f8746e2c2a7e96db7a2a4ace6267b4af96165e86b5a27a34ad49d19ffe1e6c7fd833742e8966e2234862034e1819dfa1584341223a084fcb0b9847f1d12c9071ff0395e227667787e1baae240682e14ee1c13a20eb9099ec8f730bf6ca6356ddd149d000d5156d938c7a75353eec3f03135da94ba0d7c6c6962ca53d711417be26c70ea135a5a1b926fe13dd386d3ecce0a284dc259787bcd23ca34c7eda3eb51886ac5d22ba13937c3c98e9911d39a95dd38d49b5ea48b0faf6dbf68bc0de95c0cb2d95fd9c740eb10d3596fc4a818a0f045b8cbcadf58b0b19ee801d32d1c015f3cd11df7924106f09b190cd9730edf72212c0bb1ffa3fb12994a430db2c5f1c93467186715dc4a35d2ae715bd5c7e354b5a1a5e5d41ff339404e78ce5cca3f84869e0bd866ae273852f5c0f631f6dd250fd1230f8bdea98de3422bee9c14f198cf8db3466aea6d3ea2f7c3810e8071b8a0f0da05e43f7ead13848d1ba77292595b5167d83c98e8d0a2db2368495a85de2eb7e2e6e8fbdaafb123ec787e68bb9fd7d9b5cce5f64bfb1485eb6e3ca2a42849092c7dcad2ce7ca24a18c897e59c3833bd09a6fdce5d1cb8d892161da4c911cdd46bc789927fe82f01f5557540e9bff532634ca1b30ded04083c1fb7326cd2a999f5071f63de3a79f5dded6134bae5e02c50155e749e27517b98082cd86b55e5adb86a32fcae56c5ffa64c593f8d2e5a5ddfd24287cba436557d3c428b429fdcf4dd9092091523f909ed9de231b88c14818850fe776ee0906a1e3e2fb32f41a78a75000c02ae4849eeb772e145d7b8af6fb81f3f4302b091f893b495a39188ee5096306c55e7642cd335c31cc533a02c9e5671020ca0cc790279c6400869b3a954431e186863f646d85ff024fa17b6d9915314f74151ecbe8ac909203864578328a6da772484f28ab929420e0bb54f542eb78e42e532d722e5457b11e3787d8fede90c330faaa735066f29c75f66f85f93c5e0e22d129b58825d89fe79fd6a05cd58f7b167cf87512013586d1a655a3958b6f966f465edbf26fc067b5b19ef37aa3409fb8f26103bdff7fa0dfe69942f71a46ae32dd1573baf21aececb8aae2198273af71fd2c0bfde6ecaf311a158d6d223596657c5d825c990969c43f46b7cb18db64e90a698b477ba033b41a6e00e2574c90319634e0d367beb6b66d699f3b943129300547f9ff7c30b03ca5d3bd7dc39698aad2ced847446ba5f364ed05ad929317080a593f7d02ba6601e3ec0010b4d031132b1d451ad8f8ebd15ad49f7e2f404596da0b7ad139bc8e94593ba57eddc3233f60f1b8bd0d92ac5695735b2a0fccdd84d31ded2779c7de704beef03da10b52464839b5d4093512ba6c356d0751744e9023543dfa6b951be2b21b4a1606aa468b354f53a55fe6c889a027c2fc9868cdef72f6d14a76908cba36f778480f30792f8ac7a91c12636dfbebd8c57e9c210623c3c8857b978e4910592d096b9c5a188070fbac6da4c58adf648bf950fdebc0124cbb747f9b44d9fb3ac8ebe2b1657bd5dd693024f2bb547605bf1449537c0d06433bb596ba14f30b0293c720b1e05ebe9ac0bf08add721e4aadcb7edfb689ea0b52fcee0760acea28c4179febe1180032f44a7861aab10945e41546e1b54411723b6ba06309dd353aefdf7995a97361c2314e8c569f0f821c47dc1f228738ca98cb2c3266b66532266b08768ce3ce872a5dd9d64067dbf834843cf87ac4e1a6ddaf0d3ec32b2dc19e6286fe276afa9ca9ac919326bfc210c7de7569cfe05fa5aff669c567892498266d86cf53c37d4ffa512fc017d3ef3e4e0d6c8dcc4f5c37d1f93283f71e3db66011b51ef79a9bec6d68edf0e7c092d32a49c14b4e30049308a7d536f3e2ea88d4cc9fb61e6660d09aa77fbae6887612a3dc50c0f4346b51e60d90b2baf003c55edf196785e56fd138e104516e71ed69f013037348d32bcd203c2be081aa389c30f02f6fa05a0752fe85967be3ae4d2af9be62040bb59ec13298b4064983a6791813831a8126fe91fa040adbfbc5bf2f7b10e570b1e4074f882dc9c10cf648778baae1c8c9369d75f176b10b6595936c573710a7f2b762884cff423ff45dabbd67bf22625e126844be71d80c53ccfdfc55bdf1fe13f21913f97d029fe86599cb0c48b0d0432677fb6ebe6341867c16acb5259f90cd12981016eaeb7ea2930c872fde9cdda75d3b3647359be058d6b995f1a60948fd79fdf690c918782d90496a6239a92929a7607834de2ffea9183ba61db4c45513bcec5bdba09be6b5ac24076c6d03d4d382ef0c5c9f8d7f27dc01517ca39c58696747d2ba3f45c7939d20d93359322665d5f0e9cdedbfe970d9d8dcf0f270ac38cc71c5ea323240df4de85e6a571236e932769eb3306a18dae2d956ac4d9f24e9897787a1860a2c79f541973f0802b67f49ae34fb2ea09e3f9526e6ae8535356503e20d61627edfaebe7b0d0f3327c7cd407d6b257a512c31c1811d2006acf5ddc6fa7b8874e069da5af529b95315f96c73324482a4ba20f0df4392efabd2b8734b2f173d71e9710a76ebb17bc07eec2bafbf5f5a66261f7c82e0265d4606dd58dd8b1de2095212522a52670e734aa67b236c18e518840c5585380836c491e62cc4f442b9fb781ba1ae1b33168610970d4ce4cd4a886e8a683befea71533e5dcc63d7bb4435870c65d4b3ad289ac1c0aa99c35fcf57f7f02a634044a36011a2f1aa51df9cb7036c3714c6f61ac249df24eff26b7fefceb22497200bb345413f8078c5375ce7cafa9133d3e4fbd29851815652afe45ccd33efa2a20b10ce4963ad6346f6d4c4c9de639b3dc0b536bea284544e7f53347686714f6db6430866115f0879732eb61c38339670b328779124d38a8e60cd18ccd7992cf19b9886d9f1cd997f1234a333b16d433af6f1bf31758303ad81cb63539c804868117fa3ff68090c5a7ef6d893b9b575dc81c04526a2a0ce0a79dd343aa1a75646951f4787b3a9b4390b072c749ed769a80977d7f3c9805d79221c49d9207330e42a3f0d94086aab17c2f42a1028190b9fd96db338deca8384d4bee8299d42310eab676f23377c946be222aaa961d9cff755618d54621219f749653b524d380c676f2f09e04c1cae7bf226d0889423006882b4e7bee3d6f24c8343f7df766f8c4d5a2d70f4ad51d3289bf57bdfe52245035fb603ff6b10b824c017b95e7c1ff6919c3255236aec59899b5948aadcc05a93510b095c5c93517afa2da1633bd4f67f1a375555e1fd53756f898024","path":"m/12381/238/52/0","uuid":"d0ea7121-83f4-49bc-bd26-21d02f87899e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_52_0_0-1751540667.json b/scripts/consensus/validator_keys/keystore-m_12381_238_52_0_0-1751540667.json deleted file mode 100644 index 4ea71b6e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_52_0_0-1751540667.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"064b0bc1d68e6c03c1e2aaedc8f2302ac65afb41caa4a46943e24e02621e780d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"a46b2c1e2567a7507ee72b1c"},"message":"a9920a004b2c6d47f1dc17c4a1298a8c1953b9fecbffcc7e82f28b339e97c98a7c12bd08fc8db07b701607d437836249ca273bd3367b5ef00e0a41e213535eac"}},"description":"","pubkey":"0x79abced2f92067c8ca4b02e3669eb69a304b8a09894f589e665cb1682e1767f908a47af2c20ab0556d8ee53f0b36626a7023a00d72760190c0469b989789b1c3edaa0b60f918663bbd762bfe2e58e224f44bb80e759fa1c5007601ab70640ba08c41c1ff0847cbec065267e5e2a1b43da091e2a1cd5581fc29140eb12905411210caaef6c98f9971d08a88b9320d086852b1fc0572d10f747d2f2694890bd277a1447b2fea7bf5f42407f12f73e682ccb47bb26a5685089d80739bdac97f9d430a83b6893ff7a4d41032f5ced5facbe5efadbd093f9227ba46a50af988d9dad1923ba1b9549928e0f6635fd7f96f59e091b8cbe572cb873136988fa352d375c7445418e7bcb03443f488276133fca94c10e15012fa3a0d6e434e4e72c9088201c3d66d0ce1770d2693eb3efa2ed507cb8922d372f3f9b43ed03c19f4225c5bbf04c041a8462dc4e6ef17c1d92cad3486580aee3c2721de0ab2a000e4234b6410f0e1792a9a06f91e173e1b4fb9fce7bbb30fe5104fc008398b1431c7ae6e5288c30951699b9facddce2b317988d4259bfbbe31ce483cffa9c00c0f7fa389fcb28317bd532351286de707bfcb6f7dc086903a13a18ae41c12c93c0bf15650033e5d4261e4a134e475cabc63b13dadee32e2c89c4a209a1df4af9fecbbcb995c0535f9db1e222613db6f73a2140b0997ad02719f53f4f824ef672b481a55e27bf4327f7bff6618a10eaa8b351488abadab497f522e41ba7e4028d49b3df604f28d3fd7a3c5f3ab5fba4e8dc9a784af5e6365d6a79c50df6206a2d403ee7caebec0833fde15216efeb63104a2502e9a1007111bdd25fd344bbfe96b4699b5506c744b02f90a68ba9cd0de147bb85521b4fde6a51c1d1200615567f9592515381b4064228de749617b136790d0ab83002cdd1b1fce2625669250f2a1fdbe3675c4d20afe716968adec2f4aa0a4030834dd5f46c72a151ced064974508982fef5878ef5eb9c3e0019ea0df4626d98cd2ff8b7ca14aa1714100643246ed61aeedd12beda8f018a72ce0bc11d43e2765f473d21c88677247d2f73e9f8453c41d94193b59c6a7290599fa54566ff11bd9dca30abf70eb9febd7da9dcde3ed4de5d1cabc6211af498d01a23e577984870e63869591b02bffef95e67bf0718c7a3c1394505c84f0013b2f7e3545adab5cce37f77e93677fd3501eb327234bad6a4c80f7fa8d248b6a2fc9d89c18114211af0c06e1a4d89a39473896adc9fe012096079989891bd856c724a38cb4a358dd60fc5fee262a87f0c76153b3db538158a337dd4cc8cbf91f9ed21b0752489bc5db2935624cf43404900fbc34b168a75687e0af36b6991a214f856e0eb4dd80be972056ba7be1bb9564d8d3b16c363dc6c3c114495a14bfbe4900f98a6f2001a8a76f2d60429e6aa10b856728adf2afe7d2713b9bd83de91ce1b9f4b7e915b8b84ded4260b4c277de5ebfef2e1758ae85bf1c769db1ff4b87843c489a53bfa0e696e01bf9947b4157269bd0918ae729187dfcee585a6d5bcda06d6c664167d9892f3ee857e1f9dff26e397aad91a5386707f0dfd0f88b2fc5b20f5a278054d6382b907001fd9a0044a151bdec75a2986c43f52f822f4c7cbbccfe5424e26394a79ea39f5cf08a0fb4accb10250527edf167ec579fc0e5cb10c341bbad5bbbd049c393664c753abf2413d4d60a757a8724acaa45938c6e805d8611b9db58090ffad8f6b5c463829fa299fb9eb6225663bea5c729a85c72ffda2917e8b801fdacb5508538b873a59f3783616fc1348594f4d8b9623f849953cf6a867da6bf516b1adcb1b38e07f1ef906b0158fdde624136ac68eea73f871543aa202c371055de9b00399e9f5d3e2de74b43bb934663532033a01e5c3ac5dd447daae044aeabd08b72ebe442cb5efdd39e1647cd2baf19d71286771b9651d262a871f52a539b6e60bb72d0f7f2807c78d9c6d79cad0848e2e3385ad9f37b5c5394ddd31ceddd4be4a16b6298bd12ec478970aa1ff0f6f041ce329ce1652dadaa944fea554dd341fd5503a448cc9b6b06dcf7bea6ba5f5eca3ce74347b2ce2a055ea179f081707654440f7a9ed7ae2097362f8cccebacd3dc0dd0a7971aa866f97f10b76f632a03f0c5c385ab6cffbc2f068025c38329eb6a99f4ee15fbc140ca5300acaf3e3e111207fb5b0f11c9edd9490c341398c5e949caf10c3935ddfa31cbac4af20c7a4a7a890d256a9a9f32c1d4ac069ee8c22c2fa0d74ada61e7364df9a29816b579ded3b18adb9a66d28b15dd01626a480bac8835a217e7863243015ed693731451feda793577ddf5774b174b98d9a9d0658235d47baa782dde8b1e1d416b60b291bd18559d2228b8d90b800433b6bbbf9e8ee1243656a50c856cf57a56de000e3cab82b90f6f42700df226ddeb9bfc9a68b1107344d26b75ca870157922e8c5459f8faa54ed731804f694c8560d2dffdeee159c35a5da34d494a3bf75eb46d23123ebad97064f91f67936c5aa252ed18fa07422091ae74e349df0845b8ccdd5a349587072329d986baf85258349577d312c2490432ffb3e763943ecd8d2ca1730c1f6f74900faf10e52bb4bff717f55b32a26c6bd805d75d7e36fc435ed4bd4d67272645df5f00b35d2705f30fb02bd2ed75447edcd874754ccf19a13bc44385e69f26136087ae0c116651b3d705eb03fe404d6d737b83c86910a44ba3d288b7aee78a5a79f3324d43f7d54c5be0519fa083490fc36b41f2580ea2afc798a30084f8d39f7955c7e7addf410145662103669d4cca74f9670271e7e5e07134c5d082340e0086be88521cac80574d8aa97f5b16cf9a51a699ab7b426bba8d9f147cc10f23f38f0dae4273f3f547e512a2735e83672328e4d0bf2427cc2b05d2403217895a6e91d63e18e7b8edfaee09b9d7574da4d2b2ef2b26c36673d39486899eaa3e14f6433ab6838b0f4a0c3970d7f5e5f562645c60691733e3ead0e7d3365135e5f17c9f0588a919f38bdbbc1bb4aaed94ed2aa4999bac05a6545ff5220deef82b4164e839de7fd8d387757262137470fa11812994e9935e54f599a9ff625c1294b3424be7765939082ec7b9a4772d597049a36b311978e54e3a6596ac17e69e174e5c73d5fcee2930e7b8fc4e05701846efc64101b80f2a0474ef5ccf16dfabe1dc4e7058053dc7a1272ed8dc06aec5951bca45ef8eadafcfc60dabdefe16f074f5ff2febe729b14bb40a77fc25410436849a8c19ba42d711c6a8031e2a4ba2f43169a132ae59dae5ee57691c012df469c114fa37e8830cb22a5d8566afb39f0f7e44e16add272065ab63a2c94857d751ed9531a38710dfe816f3f5ef88eda1ad2ba664b0577d768ee1e20e730d487ebeb95e185565f14c41a35e1df286216db50062b5ede02370130c043cb97f289e60cf5cbffe093287837fed49345da1280baa54aed814a587b22ca4daa29c7467f97b6315398bbd5f5d760b3af3259a6c2f523801d02bf72bd1618dae270710e1a70f84a75bfd9b62f56739f8d9e4804d5cde60ae0a08294a52e9250a54f3b3cc775e8563e0d295371fd4512cfbb461e19b6a6077e74571b81418f6bf20861d94f1b2736166d5a88c30fec3b2a6aa113526efc14b100fffe9f471f53369d2351939015b3ea654a","path":"m/12381/238/52/0/0","uuid":"15601a83-d97e-4a22-968e-31471a1a05c1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json b/scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json new file mode 100644 index 00000000..2b5cb766 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ff92293f290c3648837b799de5a9e6f1cac88a66004c6c2bfe8732d0ec6fefda","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"55fd8ecd1af0d14f05d5c94c"},"message":"002cea794fb73bded19f30763034054c0e4e9dbcdfb3973aa016140dd383e32eaea146e0712e36dbce53ae837ccdf67d966ceb4c5eed4639e864a9f8d3644a0e"}},"description":"","pubkey":"0x433f4a5a47074f047c4ef4f2c568458f347a58fe6c42ddf12d845d622032323b82e177156589ead1d3e31dd98920b45c027eff0fc6f735cd4a5defc6d96ae43dc7b9bc7a862fec5dc10e64be8810a1f45e6cd95ce395c8880aed816da0027dfa570c62b10ba588120089df8c6d97073b9d1e84b7bd21bae2f01c9b92657e3f458b50900998ae965a93ecd09e838e313187672f8fd68c3fa5a1eedbe3a7eaa50c6bdb8d8f735d47a0df83f43b0453dca3b4f1f34db53ed289f652c99179d5bee87acdc8b73b1050a1aae6fbac17ec6a8ddfa23b1acf70224aeba42be3cbc850088486719614c26092c4a73d810a58ca418a1525dc2c95e515bdc53729fbf937fe31700d0bb52674768f8fd14a68d434a8230c52c7dca31a5cf3c054d938098f6f9b75cba750f50f153817b736276491ccc6db4d99d7bd4572ee2f93c872d9749673c8d049b5292dc6a1c80cb03891a25f17590f1de59c3f316bbc6ce77fabcd991f8b3417c1e29b31651f6d57c0313f4b92768a290c5df09220a192c55861b3f30790e9d3f5b5a4aaeefb4ab0e9058b8a0d62eb6d5850885e3215c8a0806446b5fc621849ce5ebf426d3c12306b309093111b6377d1458a1fe30ac6fe6ff83aea10f8505edaf671f811d8fe9b1e51c5ae456acd583e2b69855b6ccec57140844740da01890f14e279872b6062d1990662761c7552704aefcbebc153da1ac7ebb69d1887e6ac8c6e1ab4201827194237ceaf609421dfdbea70b9ec7b81942c0a467841831380749c47d02a9cd00105652a22a9978d94753d84d165df1d82c79553a9a23d16d65dd7bfae5be698da9bd474cc7ca21f7f59f601d1f18569238451f72cfa0e9f3450fe737e5e4d6332b9aca1ac4f24741585dab9ad93253f14223d0f3cdd7fd143c1355060b3108329026bc73b78ec340bc2504bc20cbf4e44c97882958fd5fbac66a6d9281be65de7176e69a7c2eeb4abf084e6cc886c7c927015eb015a9224d018d376a4d6abd540028454484533cb30868bbc4a3bbb0d42e9f6d7cdd52bf50529bae992fabaaf09e06cf5499e78ec7c57084225d6f5883caf5783a7f85238969e67b99344b4268f28c64f61d447687dc1900f1fc2d56af0b228f1ea69f353a18c693438b8dfcf234ec2a6e24318b76b3e372bcab1ca593eb430a52a7b82bafa37605576b17ce2453dd399c6c649f99c4739e072e43f4a5f334b719e1add049520609bb22595e560177fad814c58c7688dfa0104fe8bc6f5eb52526778d06d3ce307a09843d595a6da736ff781c17377091d095c6d4503931c32122c8a026c02f3f89ae29e3bbef61e91210066b2cd23eb169170eb822910ffc24a2145bcb8ba9a721a74e7110ad52f75180139192b086b644f9e555b34ee65d8d010807cc860a612e70a4add8025394929e9ac88361aa6f598aba16ffbc45d72ea62c2a0ce7d64921a6e7000cf6c6b95b21ab8f860f8c0913d3c2a0c5b8dd76701be566794b61e3b3a9e7d08bb51a21825a0dce2fcdbe84ffa7dc3cf08ee20e02fdf5de87d77beff3051af0b4a202032cf23cd4c8282a9d9a1a08673992927d5e6be8eaf3e01f3f92f94bb5358d54753a6c657654a5f9ae689e5e2bc23d5dace682e849ca88c829789a0ff140c0e3b1b4a98d437ff21cdeb1530377a6e83dde41bf68b6165e0b9a9c216b088cccf6cd3c82a926418ef5e198dcccc268214a55918ee9ac8b74a6600dcbb643d126622316ce7c3b24d43d78e00ebfd4a3ead365086a0d441281b039f981b73ba2187933bd8f0c7bb05c5a1143bff04c700bbdb21221c637071d20f0479372e0b01e41a53c522f11902724a9ea4a4e133bf0f63f141ed4da1628be35d225e0766c37603abda02e73beedb1f3cdd604ab0792e205cb41c5e7bc2df43b633aae6ea898e3f4496b45f9dbbe89c47ee312f7168d5c44abb8d535111ef8f57352e3b3123445c7457ec5df323bae8c0029f10c7dfb56b8ef68a42f7baa8287946a4f4b73bc5303ffa308b86f3b5728ce6a7c8204bc5a7ad3210039223d7204c0e890b60df873ae03858a2d326199c6cea7f62b84aeff84ec18a0da6ba1d9b203020f6a479583bbd3dccfe950b6c6ed22c45349dcbaba5ae8886c788351d4fcb7153ca2e1f53b0eedfe874502636bc40fc8ef58b7560b6532a881b4947d4bf041d3dd99ae44331423efd27e2df51513fa9d5184594beb1aaa9feb1ffb860d9e24f1cce90b9d57da556c6196e99d7979bd8621ea1bc1d9b297604e352544ed306390ae755e3d1457431a31c014c49aad5a39ce39e80cc2b8938f73b0f28325daf820630897b2f85e1729ba0cad9dcc9ca424ae1a020e52666ca35474d5577201361492f65bcc326222a13f047340deb688b7cf1a6ddb2d37d66e1cbb9cd5bb16cdbcef2297ca3be809cb05e5d7ef5600d6066f41adb6c8714c7717e3cf72f0beb8e1d059fcd800dd944cf0bc50d5366ac9dd5bff0b8c1cd94351f8c767682f877f4d4a87dd8445a1132ef16699e8188cfbc5b1ac2266679bfc9bf1ce53e2e19b89b5594bb6e38b9940d79c79f37150e1cc22391129e95150d24478ff624f9f858b73d789d501f972d05ee35f808d66e4b754fe5d7ab5b628d650bf2f780df251c96c0bc6c8f7ac5fad845cb2f2a8373278d29ef5d275da0e92ab8673fd902b92f68e38fadba673c1a978743440c68e3d204d1e1ef5b9988494ea3ece451adc977919e9e7b03d778882d74e426002fc627cb47ed1ef476603ff21d3d5c15dd767b0ddb0ba3b4b038705d68b38b18a4ea2d275f190d713dc55b92a67cc285b6cac1a9232c060a12dd84d5abeb51dcaa37f7e8fef2a4e78de4cea32c23173ba44d115ae1bb9346f6dc735edd78f595b7e26e7176ffef86a836178381e0cbc7754163754034bcca57b317dc9f6c1688a245ca07b10198f7312272bdf1922546ce411b6057c20cfeeecafb8bb2ed2d7ace2f603f8c0ef8112fe7a86ca03367a23be92bb88ddbffeb275e3a057b76faa383ebd8b5c86de4a213a1c7bf4aade5d9758d9d5b3d6e3f0358415b55e05995932fb3fda44f441e381a89c7f2dc699134a5b2095254318f9fbff291bd831af8ef6efe7afeeb32b2e0aefb66086b4a39dd26de8018e9ca8622469d5cf20e6910a65e9b8bb2fd5c193e8b880fbcffc0aacc511c2a07dfcea008dc2f7db22475850d747d7571889b24e5029aacac5d84ed7d50cbfd4b3352385adf5d04db55fd40722779f57b77196ae453a611329257cfeb985b7672b6194f8a6f8288a489c661a8bff54c300802204b9a982110e2d12971d969ec8e66ecb9eb242506c3d4bd8c7591cc5df4f0e7ea3762c150bab4e5025b4c8a8f353610cc5972c2fe9a7fe7f4cd8a5d14f817f9590a767f8a85daf20d67901c033471532c2ba64a1455c69425ee004c8ec613320c10a2c4a5fae570529bbdbd55991c423075ddf34e8186da0e3ccb1d2991ecf2056a32db0892429603cb1d925774e7d1c6965941260ac1a9eeb1792e467b649ceb3f26a20d7c7354be42924f0ba1f8e1ba39da38114385aab0eb0f3695dad50ef7672b3182222613fadda28c3e7707a8eb6861bb865cecf08b7962f67a3f7c15737995c014cdbc94cf9721d34a51c3046ae3db6a9d573c500b7e39c7b8db8787aaabe5fe7295","path":"m/12381/238/53/0","uuid":"65325c56-7502-4c15-a1e3-2be2021a2b7d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_53_0_0-1751540669.json b/scripts/consensus/validator_keys/keystore-m_12381_238_53_0_0-1751540669.json deleted file mode 100644 index ada33a48..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_53_0_0-1751540669.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1fb284bfb6cdbdfc072546aacf6400e90c8988c89bd7bfdbafdd28fb8d04e779","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"6062550ce0ea30c7a74c745c"},"message":"71b86f7983bf103216d434c9e718af51024b9da3148ffa5493d27690f1e40fd08b802c631a37a4470a296a5543be7617de1a6e0f83455f3df79355c3e12bc59b"}},"description":"","pubkey":"0x092200e5397ea167e826e9cac5cbcc5dd51d12caa8952c1e4dec13cb7f4ab953fcb8039baf309aef9b9bfdcd44c388ef04a64eea798a6d5e27fb6c4b8fb1d47893fb64ec84e59167bfb17c9064757f3adef19660f5c2b0f7c4c9534ff9c01709f25c20ecf20586b3897507d33aea50a01b0fba7d93843033707b1443556420ac1c775f55226843943205e8679645729484aefeed7b026bffdcb15bc4f19e0d93d9943f6ae6b192f75ae772ee301b1663446aa043b2741e10d2bee2a1a79400954462536456b300b41524b48b27908107167afe7332ae0ff1ea40ffba2cd202df321fbb0260e7934077482d738de7c1d99d9b7a2c90bbf10258e83e6671dba6eddf991e04380abc624938aced1e143ed88755b32a3b4ddd53131a6d1d0fc96b020ee6dc1cf95a9ae4663618bbe8d5ee7c28077991fe925ef85c1c88951cc4e880d8f652ee744e8ccfa0bde6bc515d73105880734b06f8dbbe231be85f5a6ff69f399c7e02315011e9e460210edbc0fac83fe8286abc62c8519f078cb0cc10c3ae476bb4bbe0510752e11940d066cbe086ff664f3e124a69aa7745e8b15c4243518e5875e932dd4f8c0da4a0ec5a24b4eada08c9d62f3040c5df79941e91e013251e7c6e5e13dc01326719d1c88405c7aff85e45c805a7d5271e12c0bb9d9616a4a4bf41b31ba58e86c077bb240b33a537630dc3649ba10ff2cf50f8853c74603e1fefb2d24e50db04403ee702f2db0db41eff9fbedc061458d6ae37c062b7f386bf3fe2e0441876fe3a564ce3f6add723f6ca96109514b808eb4af7395088cbcf333a868c871924a2ec0e1f8d5d89430f7bd5f5f0e22a28f547e09fb20e8a546575c78593873186aa555855f1be5c3fbc1cc926fe75d00edf875794d106d50eaa2d13ae1aa60950e3f4fcdc57db29298f6d754fd70b5879edbe8316522978ee584120674a457e1cd17f5f47e07131161e242b56c23e127e4e27741bb448671eab487741701e7a3e91720952342c79df490d618293eef6fe5fb59ca061caecde833e47c18de4bcd3cabca9ee740e48d38ebb863f4ea4c292fcfae06f21975ef8e1ba0d8e5240b578291e5c50b6ef2f829c9df061b974e096cb2322f023cd70b1eb7b090fa5604253cf0025c50800a3dadac0efcdd0ba381324651c951141748e9399bb68a85fe3d942f8686804d12b813ca16ab230283d931bbedab1d563586a0ece8348be216bb7b82fd9593eebfdb64510a096264fb5ba70910aeef1d33c2310fb288b4cbc197fdabcb193b733454ce5f9cf056d99739388b72d622478f945d4c3a22a6f7ed7cf9d98fc3ef8df4812e226c9516ffd08540c3bbd085e4646c3481209118c4e31ffcd07c858b353682582fb1aa773999eb6375a512d00fa72ab0e36afc10822003312d625c43f6585f787e0157d4ade57f7aef0d005e6948509b81d9da50c8a5a859475924b66681c9e01d9bc992bbbd72a9e6770685039f2294603b346b081322f24b66fd2075c3754866ed3aa7afe913078d1704c8fac36846bbfc081e46e97bf2aa092c7b2d29d933325ea940e006adfc9f4b3ed90008fe5f283fdf7f523d4c9d39281f291c10a4aaec823ded60ed11695e04b5b1d60680f03ed5e057ad1529e3a3f85c2676774c4e72bb9f8d5d3f9328112d3ea7492167d45988876e75fb7581a633dd3086b3b2d134818c57a0e030473b0e238033cadabe0980c021bf88e3182b08fdb322be55e54120efffce43056b0f0d5695487fadf91a3088fa5126cb86ca7b2cf56f8d327cf3704f223b99da1428875fe62199bdf071ffc9cacad051a69345d7151e7189472afb6fbe22dc776abc1351b387861c2291b7ee5a5abf157873323129b4345d38007e1fc96936064c7652db1b74a20cd17c9806665f9400fa7c2439e180dabd9e4d14d4b2d0af4f3ffc78e6e39089b6fa0ba268a311fc79542d0d063c4f6460ea6a404de110236cda483387328663d026e4b1d2b0e0a03dcf728ebe2c74be4a2708693413a2135de9ec1eed0ad029ec8c5f91e92b509cbf1dc19002b4533a989170e14198e802b7611ddd24ee58385f0d7c33fafb766ab7c96aba2a6b589f7872250d7f44972a8742932b73d60f904f9bfdcb309a6f6b0fe1ae6cafef20ef586db18f14f39254895112e14e38dcc537b328f3a764e053f72d08454ffd5251d3f426209d2029cfd41c852c57cf36da08c2b65e1b416ad035c7d5a4019bbfe04940902fd372b9403cc766501ff2b378bf9cbe0f428409398d2750a1e237d6defaf9beabaa3538492d67bb19ebcdb7c6a66aa06dbd43bd538c2506ba1bb514ace8986423eae1b320ce1b0eb4fcb6a603cf006e1237ee1edbff3937f824e547a4b64d8c84b3e61693750c80226fd166ca2e66b409cc7e704d0357481840aa74cbc4ef84f27ef413ac745a18d6ab87c1ec33435216a723b8f9020048f4429887ae3d59bcd774e8ee83fd4f9db09a31ae091b7d91154cfe39ef6b42be0d56cacf5051cc9b1b467a7ae85de637123728ec3147a8c20ebddbc6dbe359d7e29ce81c86896642e3a1b59d4f9088dff1ee7f5a3bbfd94ff8df83629c47aeb81aae4f391864aa86b6e6ad47f0cc30d9a0160ba1d2d5356c6e7d5392525c3e27d313df4ae9fda4b1c8b53d97390586d13fcc7e9924e5938ed35631f0890da6b9035d3d627ac23e2d6aad9b3e37ab6e607d36add8f6e47eb80269feae702603b688bf175b967fabc61e5b2ea4612aa023a895f55bb6b2a8659633ae0d64cddb10d8597b4aa1b64916d16ac427437e0626578a7dc8e3fc2b7c3081eca33ad51dffd1fd32b004e6626e0ad7a1ba45d67d82ba79b6059d66b97e5b1d5dd156e7af3d225a393d34651eb3fccdd012facd89e31345cc4c7bc4c22063f435e4d1ab515d89176f402232b91c0bc78ac1c3dde87e9159bacd6d40e3a1820304d89864620e3bea1885abce2c5ada854d4e1fdd274c063a7688932f6988f1d257bb77b21c9ff9bec3a9f1870c015338bb417c01d46a6e2fef34fac43d0c36b02c85de87524c5699b7901d1fe8fac62e648f6af51b88d98f6dca406e856a33141bebf1eaf5d90908231b0748e7cfb329201b19b0a009523870c7d11edf3ed5f5426329aa4fbf25a908c4a490d7e84fbb965c325bb98591cebb427f8d9c66db11ccdf36378905f030e0a9a78ee895ee7b29ca448cf7b63b5012724525d3c73adb6ece08648c1110c9b9f07b76d02b7b0dc0b267f1427c803c93dbccfc0e2dbef4e7d2d508279e9b3eb3498eca424f1ff2d3de33c1eb637d6b35ac49a3ddd7a62bd1c72cfb4932e879549cc0f263520b9bdc7b258ff5dd9b625aaf9dcd0414ef7d719d8359f0dd702df7446c2d70f36e2c352f2bd0b13b75ba54d9b5f61faf539ea8031296d95dff4cbe138771d4088d6569b544f769bf0b3e6fefa0e23979bbe9257e7b90f7e56c5b242736856f08562198e37b1d2e4f084f48400de3d3c7a1876a8045fd3caf81d69323c3e11b62e6971cdf5a60520b7b23a6c1641215f141081cf21e9fce564db59cfd73870a8902cbddd21ae8b3b0e510c527c1f0f90e6f020548710e6f5518037c302272105b9fa91746bb2412bfbafdfc86337bc6576a818724afd59c3a5951069c792b9ffe9c6198699f3ff2d87472576d5dc5a36","path":"m/12381/238/53/0/0","uuid":"40768589-2699-48e0-9317-8b16d13681ef","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json b/scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json new file mode 100644 index 00000000..e1ab911c --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4640166d030d5702ec7f9304f61b782c99627f6a26366f181d94ded4269730e2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"5ba9308431a282100eeb7c2a"},"message":"b97579b7876dd5b441509d819b34363559b56c80c2078607c7e0b9f1ba6a8e6b36676e9a2914e645a244d6c125922bd09168c1403aa1110a02f679930ceee323"}},"description":"","pubkey":"0xe8ce092e8929ade320bc6170f631ec803067f9dc19ef8f38b362ae276a215f790454a9a80e91d1a9ecdb77910b590b6dd2826a3ef372647c51b7d35e0c88fc271a523cafcdb19fddeebfbdbd13aebabb4c53226cb28d6f98b78f6d257ea9e6e2a3eb87589faf64ec8e2001b736b3e46d6efef8f4cc4b210ee05e7291b62a626478c11f2701439a10b6991c3117ef7fa770d921913a51450d1dc378645c7b383a21b87c5f14a42410daf3f40ef8ea75c5fb6be206277273091eb41e26e515d29ddcbf7d9bee50ff9e359b5b6a64c756f1b0531c33a372b20bf4fc9674a90f6fae27f0c50981c0db12b0f55e5845d5d1961be8a38cb5ddcb51da9eafffd97b7e280887dc1514d83fb81d34641894ff557d0aa9187b6b1dbbb4904ea1fcc3dd5960ecb629a9110ebad1fc9acfafb3e62e577d07bf4c240140ff2c3dfeeb4f99ca5839dff7d27edc38eca46735819eac20031ed637f1fefdc0b0448ca66df074f0ecd576050b35300bc2d8c2a9f560dfa653e20e5b8acc31db6b582df19260a94fcec9e70ca789070e4371e1851d4a53484502bb97ae6e02a4ed65cf87941a4467ac7ce4973de09fbf7bdd25be48995c9fb15d9cf4d827a7f1aec58d30d743b1e6a3b3de35353e5c4774e65e4d2e4f2537d551e8a177eded02350c3dcf668b5c1b35504d972a943c03718aeb49be2b95981caf25c3db4c217003ed6122317e572b17e59ccba55fa00c47349e612c480a661d96260951ef07eb100c2bf6be2128c64017340cd2d4a6a5e50065e64561e72f0f0c28ce3c1bf5253331095295c9f8dd8f643149eec32a97df1f7759f1e59def16ed51d7c570ee686eff85ca2f68d563fadd666b4ab49721cb13dc14fa6a3679530936cb5f606190010cc7138854b04486493fe0e5066d914308f31792e1f77a43a71ebc7eb0c21ba127306cc062e6990ca9af5574d6813b346b940f553865e6e1044db914a01ac0d920067ef8a2fa897d4636c899237a8b63adb882d9672f9343eec53f18edbdaba01387a47b3b44eb8ee98a28e8c8429a932cff504b6ccd7c6a22874c923c34a4c6f38262472c4a54aa24ac6b839647880dcbbef3233d483dc07951e83d7babd05e03edb7577bc0207ca8af5499e4281f519ccd0a017cd3af65535ed1a3402d9fccb48e35602259982d9f19ae648c4467950d485791fe1c0883da43ec70fbc91cf898f0baca1eae9e333a3a8641a080ea2cd20cecdc6b9d870527340f37ef795f493b0a0c49ea2fd79f3aee49636455dad7de7ddf2761ecebd1980970ca9f59daa9f0e3d5e2cab7ff99693f21caf11db9c2ae0e35a85303763c9ec1168279a73ec7012d61bf4fe9a517e752160eda14be6b49d0af54e9ad8c0601a7097ab9de26bd50ce3ee6f56f6cdfd1467bcac8afb890103702f97e37d07dc8a21ee5cd94deb967c441ac6e8121581bc7b757065bf3236ff62b18b9f5f7d7c4f95aff9bf2cb9f4c9a38c682becb76ede9b5ef73f6bf194f3ae03db6cba5a38df3aea39daaf758134b33e22ee40949aff11560153374d6014ebb3ca3892bf6b43f9de530ddbf8f248a82d5029078ee0d34cbb56d36c0d036404e26a938f8c02138342da43a32d0433ffdb1760a04bfcf50dbb8c32b1553b358ddf43081541130efa27116f0b0d5c81ca5f9b4d2a43510f2d246d4775c7120034141841d6c4f9ff2582d5fa82d2397b89aca871cdf48e163693a6f952470dcd659a88db4b21b2eb251af5898908fdba54994d86336e2075e06546531d5a2868f84f8f61af17051db23860054cf0b23d90cddca2aebe54fbb56f73669cccc1a95fe9a2f37970391084e8dd8fbf08b9605164ba9f4ef26109db3177b2289a66b634ada597dc56502bb251e889fc44892dabe4afa427235bd0a154706c7dc4b8ff225b594792cf53cd9e65669a5139b27a3a07880a4bcb267209961eb070f7a476badacb27d564361725c970b47ed0baa960f649c21d476a4e2dd4398dbe1a43f816190499ca2da53a4581688449a12b014648da0cf15aa7ed165767675b6b3a358d7720a389c08c7d243ec8feeb0c24821c2b53477ce6412c234f5dabc336ec873461537a76f29e28a6a534c3c338e4534a79a48466ed4f6e4141a8bf44f1f988dc05f8198f5105a542cc58e470a79d2240de080f181609fceb12a40c400837f37bc37c892f5ee4cdef55ac828c510ee0129b9af6cf3208b722fcf7e9d12339a246ba527286847142a3c2d2894ef86d94459ff5c044cd1b0aba02f3670dc45291584b70633c25fe2dcd3901e0f3ab168f232505040216caf120e9ddeced306cf2dc1790fec2ab867ce49f6bad93ec84b18b76437e8d2595db11d6dd32099f33fa08e3668f3d0b5ac614d1e5bb1bd27ef8512c9e3b9d9e8785ebb60eabbce5070a9f77b9b8df8f244aed2c961c4f2107f82a2f7071c8d09c83febac726070d8752fa10c09188386666ff6273ed925db6d8899748698d5d8aa88de878d2c824eb994fcad653e1d628cfe258c70e31944063d9bb599ec86e8396ec6a88d4748e7a7fdca3fefe7c41bacad299c3ac1f286d717debff5c1fcb170d26affd77dc406465e9e4bc3adf250bc95407ad35d3c7fff11cb03b564bf8944bf6f56a6a91effecd770d898b89ea5de8a2e68e7b35f8f80803ecb026f43e77f3acfe6c81e9951f034248143f35c579dce10c304d2b52982387cf10ab59ee7183e46c525bdb9860767fef15ed30147c02a1a452acc86d91d4fdd9d64defa7a94c123b9bdbf5050bb5e747ce55c82e41c27e462004202639892255d99fa7890a6ff126da5c625cfb2d9f26f50889a7a339f36319b69e9058c87920a50766d62f4e3055c0cb24b4914b14cefa68581709fbc7f1e9b8f2bc8e4ba1031cb4f9893a625714f4dfb48a263c1626eca77eeb994cc4106ef90719e2052d9fbb09979a07617364c2cbd7b9184ffd710e7fb3e736ed537ff57110338443ff102cd2b059e1df06b08bfd7b9a5624b266823f0d7fac3f4a8cef8c694b6cb8c8082b19c6cf6aea87aa0e96699d298a316390e10cd064b10f79ca1058064b635f5b388d818650467b5ba3b9f7e72cbd5ed78886e831ddc13149006124e56b992268921e26aee3a2bc04bbd3bd1fd47e10207410d5a13dbcbd24b93f630950afd2163996614f0d7c1e75ea032bd5a36f9e7df333559c53d6eeabb2ac9eaf0e8cd5d453d354a1e00a9ac3df1d672e424f460378129417b66fb6e1b9c12b1989fc0deaae74fbf83a87c690341aa0869eae6b4335a2ae8492f8074404025012ce419865fc22d7af1eb5f32424294c1158dcd39d868f36e05ba17e69d533b0bdba4d8e66fae67b18c49e954cc4aa2371a10b33be39f04d807b1a2d468deab1d01dc85941b3c57b31c7c0709f18c302359fbaef522d5a5848bcbefaf2a3680c9103eb74d8f02ca06af42cf02c837508969f5882d44aa8c53dc190116e200acfe971b87fa084e2d7def2137131da2fcf1919a8cae39e52fae6de0f3633b44d86ba2fa556e158846733de0f80c71cb20b9c47ac1ac627335e6f0b7795fb889cc248e3916f98911b624837c8659f2128c7271f3d0de97d35cf1760e19cd01f0de286b3c6286ec4bc87aa406272926689fceb86ba72ccd9199e499780ac24df2004e36ad59c940d91a19b1","path":"m/12381/238/54/0","uuid":"a733b764-2ac0-439c-bddc-2679d5f5e591","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_54_0_0-1751540670.json b/scripts/consensus/validator_keys/keystore-m_12381_238_54_0_0-1751540670.json deleted file mode 100644 index 96e53893..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_54_0_0-1751540670.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"e4e399c04e660c740295ad3bc2cd1c92707e5c26fc5df7ecfdc1d22656f82761","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0a6069a4ab7b937346767b8d"},"message":"f31f6b59117abe460054ae922b751ed60cab9390475f390d0f6954fc32546859eb5ad5250ff1d1c5f29910991812424141521db67add84612e31c44ddb7fa5ab"}},"description":"","pubkey":"0xcab5d1c4d3f2a6888a78123e98bcb5bd690d544cf27d93072228b789d0f1e815d86a0a3fc4ae809c0d0966077888987bbdbad45577d866738c8e3a094a39b5644f5468fc0c1c573aab84ea7b504c79173208513ce591df56e47d30af7d9ce9a9664b2df9f92912e51e8923868ea5f1f27391bd4c0d3cb2b0ad18851d9e96fe3a17d6e587aef113f644b2ed78febeb49716c8222c6a6e3b136052b6148c565962d4adcec0c6ae1a3c7d8056d418fb4bc094e38486fba3087e74958b92040066e1d8c204d2da1af435f924b930ccfa10c5e6b941dbfa7b9d20d2c2a4098468045c664e4222f1f097bc74729790a53fec7ffa127e41f23bab168472d4b12e0674c38c9b5087df8d1e780dc5eb51c683ca3a3b0f23d6f8fcba45e40967555de6a2902c544da1c0903c3f1f8b62f562f3806c7c415991d9414b2b5dc79624af2d5bdf16c7ec41ab3d44f2e718a7596534c6f09b766e640624e2aab1ca7ec4bde1d9b18e6570ae0941d4d0e89d0470bb376933a6bbbfba57ee973a0f2d0ec636a2ea74af151f1021a0c68a75ddbf6260fc251ef4192386d95f2ecf85a0f723a095e0c8c23ae29bb345c0f31636ffb47f075ff5dfcfe96904a15e5d46384e85ea7e03a3f2d5fd9cac718d8f08eaa6cc5f71ec6213e88ef831128097c5af37d2cbe281156997e015a66b2fe3c56ebc943186db8280bb348d2f5bbeacf52065a3212a25f2086385948cf4619e8faf39bced375675a886dc16d6129de8dc548dd7c8b458a86eaeffecca9ee4264e99957d2204298af99d0e2e92df62ff88dd4df0bc0614b6b5a4387d4e4c34de35db6bb6d34a921bfa98211819b43eb2b1180d824fd915ee266c16d98734a2b24e824eb56da9ff29170c0f86187ad888e1216fca84f1ccd7f80354a32d534f64ff8c1a95ce849f72cf661db3a3046570c52f62bc72c3a5411aa44693ab7783bd86f0c7c210e5da1b454b62d211da04cae52a56ff1b7d35d2e686c7cea5791c01164fbcd27965794e60815531210c082ebd37214d9b19f421e7c9ca0567799a73ec50f8c44c421012722690f3e0ff0acae3ef430ca6e2c7ea4a356751244890dedc307bf582444517cf4a8f65ebd93dcc7c5ed96a3cad53db55f27c4fa9bac1e359b26f147faf5995e288b95b18e05cd82c5efe9362d7464b89a7b1e5606c1b163e1bcb075f31d0e2799749bf537a35139fee5ca5113c0a77fa10d19095d76403fdb6909ef3327486b3c15359192d3c46ac7fbebb280c72c294d366da90cc2c0dd06ecf42d9415b6b7344564a254f356c4ed8510734d1bf4bb35e0013696b4e821ffe94bd726b1112a70aa65ebe3adc8638a2c00b43ec9548ef40df1cf54aa3f15cbccf89bfdccf2a5366a73fbead9be5b404ddd6254ecbb12216c0dbfd76c6c129831b6372c616147ccc1a450f00c2007c6fb60ca5a51551aeadf830acb1d9e57ab8f9bd2fb76c402119f68784ad779248b8c4cd662001e1e3499d02468c89a30e1133a377eda50253d3b3cba9e622bc81b59394e0a2ab0d9c07095ef3b6c1bde0a42635f63fc57532820d20ab1cf9dcc6fd9458cfe6993671608d166a5bbdd5ec2700542d765d03a554f398eb74c2a24d8f3c7e53f6560389071a8c962b3e0176dec57006f2895d6faa9159bd989883c3c666f2aa91a65626e6f92c7c629a144c51c9f44d0c0e741eb7675625f525ea4bbf94f0a5d563cab9c5f1f650ad435ac179679fde674b5d7ee5b8694cfb9ea3d957bf7bdc0b49c83b296e4c8d4d1e98fe03219d61efd95d882c7e7bda8c32229c62a957c05502ad6cb463177c0e25e1c71b9ead8645a6afbd3c81a8953206af69c2e327022627372aaa10c0dbc95aeb8f2e23ad13200936809ba361aeacb4fb71f088f5db7e12c48788e25aef1f89366f08ae8065f6f7b130939374ca1a80859e77af82e74ac1f7d49e1b4fd18645b24d3edf4c542dbcad827d2e5f36f41d8e45c86e859d711a9d35c53d6af411e1f731bd4569cb18b8f3a7796e5452cc3165fc7f34da87b6747c43e4b14edd0ba0179f2367e959f772de808f7cf9bc48b626914df9216559e114c58099ec5a4e6f6859d66c5757e2f83503238e687ce35dd65c17151db11169fae0cec29ea05b00dafae74cecb50c1cd31721f31e5ec54c2d9c9b64dc388b5a1f60bad61792df7ce5a2233912425e1e03928473a103211b23e05c4f0b54380eee67f89f181efecdfba6c24765d80629ba503ebd0698245748909870bc24dc942483ce7379becb454d99e68521cc7cfc2ea6ec8fdab6bb3ff13d2cb950cb333a249aa2ab31a34fb122d7c6f3b8335f5a39ee3605053a4bcd39b9fade629ec65f74a5fa5985d095eb5bf35339365e445f9bf39bab5419385b4d84d19f36cd74e914035dd3b24924467ae4ddaff9d856350b65838bc97581d58e3945326ac6be7bea3f01f0af5a92c8f76e5f0ad301cb33e63b10264ba06f66ea971035959d279a160f0a8bf9cd2c1a3508426f29be02d22865787530daed733ff051b0f8c3e58f31c2a9fcdecc8ea92afbbd7b7244b4c92fb28a5c7eb26685be3680a8cdec4e36274bb71cdf20d0bb6b320701332ed763a03eb2106cfcb4799973eeb5b187249cb7d8cc12692ef938379bc95fa52203f6023b5ddf7bb6587bc3d732fc036d84e84731a869dafa0a632f1c5550add8ec24077a11eb868deb9fa11a206323c5006e30fc77168b9b590a6348f651ed546bc68c0ebed225d6581f27e224c9f4739947a20002a4ba3c7504354af35fab36bcdd61cc4539ae6c1216d4f2d1fc2cf329f24398a65d851cbb8d27cc0396abd250ceaacedee43ebf34bcde13ef69443ed237045600a914597fe38ca9caf67514c7c55562c6fb7bd53cfe78db90ec3e08e61a46568313a3b8677148a21a65a09a935818fbd2154c2b23876dfb8f774de198870d895a3b6a8f73120f502e7805af4eeb604c0cb264d8661f1161a558a862d35dd8d099a44a8e9010577c7b9240bd817bc2595943f29bca059619e6280b304dfb748fe436fe7cd794db4420aacd127fd4540ad33534a3d972baaecf18151456fb9aed290e38f523811785240e07688e2d86eb6fcaf0f25102fc341525ea25247387f691892745c092b2d25a1206e66829fc70908198b21bb5951992c32d8f1c4308b46338eda9200cff858a298dc3214cff053c0265ba5e5c92abc25060779514b8ec97fc92a291f8eb4d5aa0b9976dae3ee27fadf65da4badce8f389b6b116368a5eb57aa8f13a67ecbb3d5968090d7a95cb2824e505fa70206b9a6646a516a85350dfc97a14ed308afceca4a7489875206204d927e9cdc0b039fdc8d3e51fe0036cb8b0ad816283dfb52d26207312d4e347927e8b3a8b708bba9cc09e23e88fbb8e11c182bc0fd27b3929dd79960abcefec5a29cade7e2c16d691b053bf11fc36dd9981c3fac54202bbfec5a4444a685e355cdb435022be39e6ff71c16e267320e6d2dda79f1a4ac0db359e70c001df1192374be362d0cbd9661ac62293f4052b8d648feeeafbf02e3946afe37a437cae62ae4ba13cbc90f6466ad3e9a694c5f12ba4ae9caa4bd1434e2c6d8c268a4a5a436c72bce64d706f37241b69afe4cf55221f4ac1d9a05e38d030eadcbfc2662abfa8b8e5f3b8a12f191beb697fdbd08a","path":"m/12381/238/54/0/0","uuid":"2d51bcf2-0166-42e8-85e4-d338f29e3d28","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json b/scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json new file mode 100644 index 00000000..125a660f --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"b57d4bfcb6ac4144756935d9f93fdb21376f870588ee0ef632193d348f12718b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"42d02eaa03e8bad9b366dcbb"},"message":"cd2bfdff5d28592ab859fb8c9e6afc493f6919cc6b4544b066b631bb79b80ed78af45e1ab117ebe5da3690fa0afc866da66e2ef4542f9449f845bb8061f3f940"}},"description":"","pubkey":"0xc27b0d12d20f613f80c79f3d326d9312e5dfdb7472d9f36fac31fb415d7caa6e6794499ca52afeb7f30d9d33af1cbc24f4bb69e1dff97148a6dbeae81633d996140ad547d8c3ec8dd1bc01a255abd6a9e72d1cd724e2dbf207d610cf7c53257f6254dd7874d53fe3f00344caf8baa46c26b6d0520c5117acaa1e06be4be415ead1b23b5efe1ff8fb4410b3837ac5c097e06f19755f4d92b816be0396c689e3e091a19d68da892a8dbcaa506a02308669e08fd8577c697dabb0a278c0748384d990b24eeec18b2df19659f6b98a0d4007679604286754149837584b42a62b11c98f328d0dcd6f3aaaf97448a42ddcaa507199b896d3943dfe16f1681a0577b364ff37da9afa569212310c292ce5f76948b56daf3ff23cabb67b9578d7eb72ff357bd1822f5a49b113571ff4f3db681c9c1066002c00fdaaaaf05436fd34f8d0b6e13d1a4de963e6a0898e958288ee6535f429c229df0778aaede4d8471be38416c7cc969407bc84103a28373b106856971746e60fd3777f31405ba6b0a9301a9e079fa45079f2eb8d9ec1f719011a8e5dc9411fb5d97c08dadca4cb826a496a5aa2c2a88f21ebbb05b63d39929d97199f45523fca2423acd294b4d349f8386f7761e71f2f345017d93cf6f9ee85ec2eff57b72110303f82c6ec45c47eef92f56a827e74d2f3e5e3ba7d3e9bbb7fd70edc1a1bc98fc4a6aab1d752b9e701ad19307351c50f1ca4fc0d5ec1d9e2453d9cafa62e1543dd17672de3275c50db2ea9207a6fc31dd5ffe681e44e224a5de0ad656389e79e18879ab7dfe55f5a4c9677f3b2928fb3944d4e9ff0c3d37b79153089eb4faaeb2cf705c65748753325a2bda3eade6ee9e90c601cbd5a39475a86434bec509f7e2a96f0c1d40ecf056499443b4278576b855371a9f0ba37f76e719f7b7e89a9d5980d57d38947ec2a46709dca4b3e61bb2ff888c832bd693f3cc39e74fc81a0e51a154e9325f6687ead234d668988c5a2fcd0038ddc56348e5a5beaa746a0c89ddcf0e1fe87081cd0e43580c9a7a86edd61c53333c15247bda8a0a7420025ff35e655589675880b8953cb94232fd7cf936a0fa2cd858451758aaed560b2115c2460e3bf933fe466f328e880385fbd48d10476fa06148b8b1fb57756e630e230fdbd7cb52387afc4bede6ba29082da7a5fa7548b18e32807b7b911ed0d25a07dd38593a62fc9631e7f11d72767c78f2f9eab9aa3aa3c6365123dc6e7b0b88ea5e5ecf74deaa5ae4e1517a1cb39a9751c3588ef962c06ad2853a4234b33b2cce95c9ce96462ec8621ecfe3d2fb6f7741a23a83c83a4b1c44459517795ae203122e2780f117c36520f98d0fc4793a2c35112eaf527aa870eafc37f21771c073ee8a1aa627f7c2c3fb07c31bc4da2018410212280907e7ab3d73e11f4effded2a066a2a1cd9ff9bc413c44812bb6df3f86ab71c21b2d7c402244ca916d07686b8d2d9826330211c50cf12193312293790234625bc8a2adc8c03b56da720c43383b694c459f7013e2df269d4489ac29d87575ab5c84a27d196390b10029bb4ff269ec50367be79b20d1a1f5bc1c8e8f7f5fd132a2ceeab4d24ddf893b914d249f38efced1da56a9168a5032a1317b6a13c8b96018ade1e5e1562ff10636b7d2e1f458c5f0de60280c08e5cd4e994ce7859e9038d47fa897ea3826edf104ab0a4d388b3ae16d564291166a3060b450ded29339e6070cafc41f040af4f213994e57534745d695277ec652b5f6d70a5bfe172ae01e4e1c3729a504bd46ba29e9a19f33845a2205bd03a4329a942478890b10bfe2db843da0c68e7ffd46a86ab82669f83c1ab004dcea2617d6d17d8fa8a0e1aca2f5b39c363a9762d152950e80fbc10bbce95559ead8553906008a6f68cc209a84d683933fce53e0981d1e0b8db4ce29f0027c464be90217dc33287da730961af1a2d8452eeddb40a690ae364b19d467a01685ef17625a58371d0edd60c2d71c6675d0bae1ee734102b603f1b72cf0f28f5c97b688084c0d312331ea3ea99ce9e206b628e301feb535e8bdf0c5d0772240e7e7e1898cd25cc96b6e6956e12663d58524274cef283ee88e926c76b7a368c4961c641a63f37b0deb1da1de4bf1523a6cfbc6ca4078e73997b0de7b40166376d17830e4c5a5b7459df794c6c685afff008661342a4da1a5bd7a57add8d8578f1f05da30b4c7ad001b9e846629c89b229c10f51ae46ed77f8ba4613d5c65ab71cf5b6263b64e3561acfbf7eeeb639c582ca09e9cba17af725ac23a9e64bc2b5936a0d5033da11b0aad90f7acf1cdf35912fe72c03183a26eb34d2b6a897faa8217690e587d9a5344a80ce81cf6622d2a59e2cb7c091be508f85a9501bd4d5a30636eaf7652e1376330380d606115a157c2266878a0a3af946ed670b698c5f7e2a94128753e5a777667a1e0dfae08e90a9a0686272e7fc056af646e84b11c6571029bc804c5714205d203056b46a9815b954649b2b0eb167b10b4b5b3c41704b9cf5bd0b3dd71e97d65dcc7dd5e972cd390aeea963dedb6edd64e47f1849294d1186614edd54eb87bc95edf06c8d4907b0805d84aa7564db73e1baf22666042a3de6e6f888aee200a9ff86d115bd88069a39611dbb36bea8bb068d705dbc2ed23753486ed660fce0852288cda70ffec5e8917074f21a93e86867315495ee4d88cecacad4110a5364b915fe88f636966aba94dd828e196ebc01476a35b87fc9103e23602a0dc41fea86b6dc3f1b433ffad1f04fba5945796260fa80a8e1d015cf479a7132937893abba5609430c700d4f7a7a55f2f6eccddb44a7c8dade94b6941af51bda75415c28f625a9b74e4350072dfad6c52952e85cac541d9940b04cdb776d7015da32bdea65a559c2c11382fc46a1e5adbd46ec575497473233d8e36fb57a0b042a5974dda28200d2482bcdebc17dc295ba1c2b6ecda113af2b4f0b9ca708f8374fa4a83abca8f2173cf84abd6aaf9c4beb03247d3b8831128a3f909566a324d8d4584479263be31de884d1c7a5c69e8ae0a3bff169a7a9953692487433a70468f9ba5eb4dc1e61d43f4cabe86b1d22dc7b0fba0091ac04ce4d2960cbad04573f2fca0fef79a0f50092a6a40b51766a67445f0488a5309792e744d2c1ccfc022ce11a03510284bffad4c3b63120d1c1132455b8860aa19a1e83c4e8575a5f28d215faa7d3756cab9e3349d667d3ceef4d86a39131ce4cbc102046f46dfc69b42feea6390d15133ecb788a18531718b31da535291463962f848151c790546ef10417afe0b2a96534cb77b8f8ba5d42bccd47c2bd1eb5ff6a6e3a707e2de34db465cf77330635f37458b099e5177375d83b599a971b16078d65b2689c4d9b55e3540789da4b7161b1bb55efbe70e6fbecb056092dc621cf3871f387baea273c379a4f6b15bbad076bf97b0bbd06b506299801d156ba1851d5c84c0e80ac45289d2e136a46c8e534b2d8ed5eb897ad3ae0d792e767e71856fcf0153e918bc14ad60f8cab5502dd6fac26f46bba65e824e81df268cd8c8087db38915bc4eee6dfe99a926872e97280541760d09bd35bff484ffe1925772930c660c3fad26bb5771f24f12e3cd9486370346b0b2900185038cd5eb81cc2051e22894ac5f53c595dee0a511ee918e62803a8d7","path":"m/12381/238/55/0","uuid":"ce62c2a3-0b57-4b2d-ad5d-620e8b0811e7","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_55_0_0-1751540671.json b/scripts/consensus/validator_keys/keystore-m_12381_238_55_0_0-1751540671.json deleted file mode 100644 index fed38763..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_55_0_0-1751540671.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"18493863db956986bd606b9e6ec04e4f9ff3dbea6a0e192463d7b5da55256d82","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"99479cf4dc8d5169ec9f822e"},"message":"da5bd9f7612cce0c9ec244cc6718b2dcea009def9558535afa37b8162960f0cb40ec3693f3f4ddefa126818dfc940a47096da5c1e730809e9144540f932f264d"}},"description":"","pubkey":"0x860eea9643d9196662f8136714bfedec6a1e2be0d4731257c9501f3a9d89c300452ef78b20ab8ba84903a9db8a3e2ce73fd6dee6b987c11c4dfc0a97ce96e3d92e07b859c58c9e62163f49e3cc6538e6e42a82042552ee51dd9cd36b83abfc3f81a5f3d402a5d7947168c5cc38203034c2bfaaf9020ee9900ad2071f3274ccabdecf8cf4b7b6299e62267ec5382f17cc0ed055a2226533a29a514d31757d85d04239e085b6e9ba6a724d105fd2d6f0f7ac118d6017517625e1bd96d7eba9aa20cf534be667d90f224f12778c63f478d017f4dbf89809ac0d366950d091402ce4e7387bca25007e9b4f585ff1517cd03d5728a956d692f7569d8b39590d2e0a6b0f8c845d55527af58be40eec149b9f8c3793d78312907292f6c9e32b6ba7ec80b4c474a4a7b1f540f08c3819c4c8c867895ca80fa10f982949698013d17c0542115e2bc7470ca413023990a566ceb870aa5ead57d292151d7f52228ab133a36deae9fff4b6a450feb19a16b063e5e407baa8e501c4d36eedea37daabacadb10bbda89e70b5b13ba6c7a1463361c2f17bb53090f04df0be78565bfd00be6cc83f9bc5d0e28eb9caf4bbac9efdc953c7976c6834bee3b1535de4495dfc66e699956409a530c19e5e99e7bf3328cb61ea90c786eaad70df35bbe0b141988531cfcc6040be88b994a1fde13426ce1e72bffb8166104fc23a8d4a0d6d1efbe71990eff84100291993560cbbcbf5700924eccc943de4518c143b86cfe1b59247db63778572526e4a0637995c59b0a44701add5fa4ee2c4f6aa4be9d243d15f80e3f9bc18f4c47b0653c033ba94c3e20a091cf59a3bb8a6d63dd00ae543f7f534842f3c5f436a760b89d7e533025f7e9e6d2565601bba9d974c9d9b72a1f2b8f6214612554dd026fa744f648adc5e82ec2c226c5ba61c50645035fdea4c568e7a61e68ec5174c90a9ede789e24048699695b17316c16bfc44932b834bfec26f61b86b5b76be5c4e6dac6eeece14dd0cd1d8aa62773ceb34069f0fa2c39ec1ade271eddfb297bcacc4e5c867bea9cb74bd16fc1f3e1915223feeab421cb2aef5caee00cadb44d553b4a1e8d973679e34f0e72969e4fe3eee8af2ac02183c47a67cac8e6cd482e172c2905b2cfdfc65e1705e8e037ed1734265c011f1ffdd847f22b16090e381a909dc16f5e8741233f13e6ad316107f70ba4634c6f4bcc2a01d0dbd11cb27123eef7cd0c354482d737ad2635900274dfee2611c5728ce20217e983d2f2bfc2e234b649602ab055ba36465714d1bbdd367fa5ad68f5ce769ac811aa314268576b4d270c126ab072bc8b7f78c441345a814637afc7f40af3252de6a31c4e25ab10f34f2b83fabbdb0332a079f60bde3c070edfb401e8b5fae4fb5c8b60ed0a1bb36111630881ed50f0f57981a372ffe527c5871fb57abc16b750ea3f3d817b73c9e5ba802f59a64f5b25e3f71b1bef3167465adf0655b13638e00db02432d418d35a20db0674d398284973bad6c52481b764c680a5445374c7104829d970b542ec18e301477227bf0837de31733bc3e2b8c3022463b023d296ca1aa56b81510a5c6450e24559070a9893c258b7c6a7f9369045e4c2bc57d4fb8f2616d9edc4b837d1332113e2bea7e11e1c7ddfaada3ba13819677970bd29babf54facca858acbe0d6d0e7fa3f6d90c2142d2b16c590a5fa48d6b8ecb49e2a5a03ab3d30f357b95ea859f348ee377bc0951c16e1bc204e32d7a478d234e8ac073e31025b8e51d71c4a6917725c79219ab57b774c27a826ea39e3ee50c02a2ea3cac766b922ec7b89679335a7453c4756f902f43915ec890e7995828fefd54b7a5c058f85ccda55e37345cee57e6701bd7665c5485b3576f50398e01726fea986886574966bb06df035e9394e98cecbed3fd987c88fcc84de7791b357645d564a96e406afb5420bfcce43dff356ab046657b86f3c1d098defae5465417cf3f457beddc30bb1fbb10a0bb80016e1b0c24ff4f6d4f9a2c3351c19164da5c5c0773c3e31c76eec4fee8319a4d1d701b9c93494858d8f3dcb437b7394aa40704ae798065a198acae5438f6aeed2c7d1abb905681b93d112c85e4d0c30d8f9f718c88b053e8c656899859dca35e1a5c4fcaac6f297f9c2d08250060a3e7ccaac5609f628719bbc3f1dfa54080dde3595249df86decbf6838e000dc42a4fcff1c18e151f79b724919e89179ff1d6d4d514845509849e3db018605c33a9b0681d9279bcc4e511cd202a3cdba2d13dcf499dc139d6d52123b8c6a71eaaf62be6b91eaac823dc0a23fbc8eccc9ddb3de8d667eb0638c644502d50af2b42952ab1f224b2d124c753554a178b0dbf11cd3d010cea1c5fd36871af9669003383622adc39e55f355abd0a375cdfe5f42115f666910db7e74a1035033b539266d62e46522003a437f66f183fbea526e01e4550f4a266a25be2a3b663e22ddefbd06cdfc40fcf2e548863b97e62192f4e9d62322b455c94452edeb9c3a2c60c24759f2f550a788906f469b459d68137b6fb7fce37d722c4522146cfe4de5c67172a00d7da6d6f22048f2ee053ceea1d4fce694131941f7e86a6d209a2e5ae450ecbf0ade0b4f581979d653cd5bd7566fc46192000dbbe8b9a4df3566bb61ae12faf1cb7d33ddee569a08431ef03f9062beb80fac43d22ee0f39148ec0b2ec096e9c5437d25a651467ce7f264bf06d796c1716dffed559ebc78a8312b209ddc0e4eb5e46fc6ff1397bd2c6c335fdd8900ffc4e7672ff3395b6cacaa33c39c363e5b12b8a517ae618a7238bb45010c6d39bfccbcf35bf5b92fbfa377a8bfd4b4aafd53e0190534e38f38c40e132cacc04894fcf5d81e8b513eeea9f31f067b461320a76e7146543e6123a47e19e1d938b496d981a78b76217f184f3bd59cd6a90739811963e6694e9d77cf3cfebb2fab626d5a29aedbbd967c2c531d490f59e6002ae4ebc1ed219cc3028e15f5157850cd8556e91776cd0ca26530f1ddd2d4881d2382595d59ca738997584b941b6f1523cd858118870a8d2bd01044bd4a3fb661f3ff5e0cafe619bc7c8f4529faeafb3f766056fde93058508dc4c7a2a4560d840c910f47d702215126f665171d94efbba42c4a465b3426396b6eab03e71f595758ddd705a9aa362d8f3de07b88cd28250136b3a13ccdbba506a4a350082b9fef2e37af0c92bea0f688c2e9720cb2273200867caf7a468a16d8a6d9ca53fb74c66a2af47dd5527f7ca3142640f6ffc835504d946bda04271a131f6698e187f751deaf7eb78592a850533c33b022641ff8ad7e98c2461ac896117c647292ff19ebee89bd05e079f65f2a28f340ba5dd61e7041883c431623458a44995984885ed2f3259f9b1f2a3d3250b55333961380e3e234d4cf12cace23d51bd87a831e15618ce4f9451cd1021c143e8bca42c0917701fe9b7de3b8f1c05014b06e04fe4d32bdb4ba866327ce9499caef4f2694d59f6cda8dd8e139b4ed4559ba27d5d086e46bd5816b6c3f0f75102c54a9908e58f9ae9777cba9ada21ca579357d37860e5c132d9e43990db5414ab1ab4db96ff2a301490229b3d269d2f85b1de30ffc73edfe4da6869d171f1470e90be3d69d56c7e532094c5635c09b56fa6ec3e9a5f6c626b2151117fd09ec26d0a07802","path":"m/12381/238/55/0/0","uuid":"49f0a2e3-0131-4624-a1b7-d3d056ba8e6c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json b/scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json new file mode 100644 index 00000000..8c751b42 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"024ba549b11e5525f429b222930b7a870bc2f585c3d48873f228bcd1272a767e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"aa7b3df74434df08ad6731ea"},"message":"3ec3873ba132a909cee27a00e790d0b3a4f2c85bb40917d5113a02d696152a0fd10f555fd24c4ea6083355c6ef0b30403c8b73d0bfab987dae51f2d2d589e648"}},"description":"","pubkey":"0x5940f2acad6cf4d52c14e0b2eaf32fec12d1b5c879df97606d5510c880983fd9af9eaf034dc2f34a769c5fb2817b97af9cdfb72e359835e3baf403cb414008a892be7ebffd7d2d75c64dbc6328bfc43ba94c00eb072c97a405bb6ce614833be3ceb4392d8a79a5297c52df68f01ad7d4689dfada30da9a9f674b6a38c63600ee7502ce2f3dbe56580e2bde049a3fa088dbeeb4273a4a243546aae7515e29f309022880b1db1e466362420b760e65f135c3a2320f82f206313dabfb610b16df409d0f867035ac66039566cc135c74eea45e412d80aa419ac89191389f9470c6be8c3b1e680faaa5a7bdec3028a2792d978ea47b7d0d08a49cecb0c5682db412e280acce55caf4783e80f4c01ad537cdd1d413744ef7783116b6e4e90e0fe516253096ea955f24a18e7dd291dfaf7a86e4d1457f7eb076e74175d963152362910a8f122ae7628ed62d83339265da9db5e4b9ebd39b677962a9a72f1303d7cf8e2b5ce76a2e0bae0b8dc1a9e3fc4bbd25a1b257b935660c6d6c6afc7918814543afa9c855ea1c09d65201cfe99bc98cb8ad7413e5c8300162dd68faf83549d366b97ae1a9802c962f2e2949f1a33be864ce21cc4f61c2926bc77311890df6181b9d9a674650f5f88894a3f5dba350c703f8701cca14390ec866ad1f4ba924f17dd5f1fa336a184c7535cd864beea0071c75d9d445078f62077e7b519073d4c4d5e690fb3a4e67a29fd267d36e2191294c73ace7a04cf75569b20e73610943fc59d326d561631e9ce2864472ffedc8a25b01fdf057f2e55998dfd578ae6254bfe6ad08e2b5077ab12f0993f24c058aaa1dbe1581bf9f135e94f24b809c063d9fefa2f2f82a8832e99d6ef2904c253217c69a4115dc6873d8072e9dc698f526af18f307c361f6769bf996011f3fe3bdec5ed2eac321d07cc2f94c4d8bc835d85eeaa98447bc123ad9692327ffe591420794170b8fc47cee060e3169ace894171ade90fec96510b8af89c45214c091cbe82dca5fca12ffc3dd5e2bdd872af4e250435be00fc2c88407cd5b8a72d3346ef8fcc85f470f36d992f3e248510325fb3adadcc4edd54b092f502be48e828a460f42babde553cb270dc9bc8bc933bdf3b1b4f6748cbb319eb143b59db23d763d21705306a662e00cb6f240776613a95ddfc0370067a96d571d0aaa0ae69dc0744cd7ae4e84791afa83911f4d520a75b643bc5afd800d66866600945781d6a691ad3ba9382ef5cead94a3da9ead5190d2bbbc15a0002ef75d8036da13df10cfe0a88765ae2d22d62ef2780f51aa08d9d3ffdc6ecf8b8834d830ee16147e3b500eac60ba0cd87ac0609110b1a5b5b7fd177a0d5abcd479c340c4f6d43ecf8ac5c3a7c8a84b91f299c0d3cb74ddbbd7719eea93e59a9f77639ce271c75250911e48c65493b31af9085d1e3e8578e8a850d468d283f62b034db205250908e9b5d1bff82e3175ca1f4247a207a2f6a5c8e04c8e6fac740e4b2811c8c7fa731515d4c3544b8542e71ee7b1352d2ec107ba8443e1bb778fa7cf6494e894f101513084fe79a6462afea6e134ea59b2b5960f8ef1d58afa8882f3af280b864965413b2a57c623036249a64ba1d50870d2a29ce2fa9a74c23dc4ac025af83f19f6b69a091207ab74b5d7bae66bd3a63dbe4cae39973cfaa74aec775ce9cf185cd2c42c5986b3c0f29eef20fca149d8f62d7563b98ff5a95eeb3af2011f3cfc8f2696b0e821add4a57dbd54eabb24e3944d908f1e0261c1c959c7d5220d391c3f84edd23b8313814779a1b164863dd94ac0a44c8bdb07fd26615c61443883f011e2f611c6ad510c3f352d1c47ae9b4b3041c04ff6dda2e08612689c99f1c6c8f6e75fed2ded3dc91f7ed0df1deaa8a03f329fc2487f290b7ac54910e94549e4bb8dd983df862ad087a7b7fbb630fbf68d6bd9278aa6f6d0ffe2e8092f26a79f8159446f702a8281605cb96f6cca7f3b880bc67dc794bca0f179ab1e09069092c4f67cdfc3830ea58007dcb6fcb1edde30d5e9b14beba3dc1331f777c354ce1722a80cbc7e675f8eaec074c12f347d3e3ad285a6e8868859d47bfe8e05de1f5bbe16dbf66de33038ed281962eb4ead707b6b458404fa164930e80eb50d05ec29d7beee83e0bf9e394a797b3d651099445ba6c8aa05a40146a4fc3383ed3a65018b8592f9c244a8bc379e42848dd33f1514d056e87aedcba2249989507813cd28afd83ca30fcd34e7fc56b9d52965263d6856cdd681c2cd32ecdf1341263dae5da36fb4213185fd37deaffae7839c2134128bbc3248ba614039b3234fdda73492210d537bab3d7de4729f80b7f4d9eced74d0815716ffa862d7bb92e61ee1d1b543b02fc8ddeab6df576c7f9d8fe5ac28d98b71424308f2a5f124456ee6a78e96f5ca7a074cb87c2c24e6095fb8f857fee3f2123732c293650a1208ca3617a45334199a52de098ef1469fd0b40b0c71e92f1f43debab0620a728789791bcf23cb392872756aa62c2b341a5adda8377eca111744e1ec5dd53c3ab7cec40155f4f7c0a496441c78af5fb9d0cc3df0c98144109607d0d8c016f3a8725a75b00ce2b0927ff38967761bda0ba581485ee408690322025484f5d8faf6a940ebdfd268b144c9c0e4f1005ba3672ae4ed42b90c4164b60f5c04947d20de0eb0e5eee55bc1af29a8e507487018a617e08719321af6d4893527f188d731d7fc1fd496e2069f2c9273a5a802ff37c7bbbd516c794b5887165fa5594458e32d1e0b7b5abd831b7aea66521fb0c3365f48399e29a44d270a0ac7ae2e4b1e5bb9f28278beb271c57660d1cc92e6d62b86f5bd6933f14c007eb3672401bb0b975e99bacdbf83d0403454aec9f1d71ad7752b75f14f16158b259b83b45e104beb16a4d5c7f417af7971df89dc97470cfd8cb6aa09038c4f5939fae3e4701973dc7954b383b334a9bd42cf73a6cc1abfc2c1f2c096fe15a69ad55475d5a76c5729b0c22749f439a4e055edc221428ffa4855bfd0201c38f2971cc80a6bd68eb4c9e22122497073f63303eabe176ff1e032d4bd5bdfb00b5531dddcb1598e2b3d92801dd4d86eae82408fb2b12ed9298df58594fe8c6b40edaf62c60c4d6d6066b6bd3d0e3128b74d98dcd520adf1efb6446c7813ff6f0028b225c2a0fac46c58ec8b8756efb501136a595426e3513f482708c67b7e951a886b01f532c56594e71fc008c3de9dc80f21e00880ec0297f96ab16d03dd87ea69e5b6b85038eec5b399174d73a4c4f9bdb7c458c8527756097022dcd5835f1d01d5e30e6116b7a5d9d92e28f14803fb1f71816caa4ee7e7f65f76e015ca22cc0a4ada1720dabca995572b9fde2b47880023b861a1402f9241fe2a9196c8e3111f3a4bc455840957d09bbee8f5a66f85858f59db0c93d524a56538c0270a667e85554dfcc9779cad554b242a161dd096dad07e58328a7803c631f3f19d2189780615ffc1b55f344a49fcc6fcdd526a89c9e83d5b7146d0aeab4a6986af1f04d8c3901f4ecbe96551c5ec17b1a4e74ae29a28e01ea5743ac43cecf4183a9e2d73d66d553d2ec72de207457857f7f312e3c9fb045a935c9bca240a8211c33ccaea8b340be89e059b5f66e2e36b443696ff18da2dc6f4ff86234bc2156f99f41ba85fe050bd306466f2462427","path":"m/12381/238/56/0","uuid":"4045ffce-d44e-4989-bf9a-7c2139dcc1ee","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_56_0_0-1751540673.json b/scripts/consensus/validator_keys/keystore-m_12381_238_56_0_0-1751540673.json deleted file mode 100644 index 8642a611..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_56_0_0-1751540673.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d803fde956b6469513e2946032b6a195937422a81a2a1dd49557149628ccb9e2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"418d7c85f6d4a0b1c6df0e8b"},"message":"984870f39b3b6098a131b9ec9056b6743b1da6356d12b00dc211030ec88a751ab9700a2bfbdb543061654eba5f158e44244488a0c0350aa3107f542cd18ce28d"}},"description":"","pubkey":"0xe99827e06a72d185c85f75fc8e6ecba93a771e51509df59a3dfa613f2f7bcb328a1fc482986f1dac86b92a2133f2cfcdcd35a32fe8f7c6bbb94de720f750a01603cd40b015d015eba415d44d92ae5ae6b7458a8ed189210d4227bd75db58042a11c284f99c25b3a9c08ead8ebef76484c8e99df6a28071ccee8ee7bf0a9902cdde85555f743ef9dbade35d78f46bd726a7fcc373f2698eff72d55dfb347653d19d1d92666e9e043a197007d4dcda362653b7e91c6dd8235fdf8cadde6d71649e707becc2f3fbeaf3b8519305199bee89bed1d105fa82d24b71c4dfeaac3c9a1061bd91b3298921d6a209b8c94fbb9b64d699eea4009b2cadca9934bcfdd77fadfe97f92b31347fb9515e943a84ed7a5cc5a92690c65be661bd5e50fcb7d418cb0cdddc422186fe8294617ead7f353c43be72fdf6faa07d7a8d353657122315573fb1e76f11af3de78a15c874dd7f0247e825c88bbea248fec2197cf3f531c8f34c9944ef00bad144ae697296185e622d62f58539d220cd5ef9c1ffd5f7be3ee329b8dec5bd4803ebac52ac3c6943d4e2db4e149e9e922f25e5086264d46a920b1ca1414f91895cddf020278cb9a366d1f05503fa345ec58abbb1d2ab9a739a7dd5106b0c014d4014c3ab91b5432b90f0b43ebaeae2e5542da014fac3f9abb6b3c16c8e60ebdd75252dabec55b55fce570d2a6c1be21a32b43257941484c75de1c5a7dd0afb02c835dacd9b090f7e8a914ca7669e4d534ba46e3797bff1741009a9aa239f17463419b026df6817bb03648a3ea4f809b82dca44bb8056f5ac10b8849a7f5fb7f8c5829da8a130cb8d29fd55127b65d00bb7e64f133af99f16264a61ed6d11567670569c32768e7a5157701cb601b2cb521dc2ba45c6eb35fed7d64b378f3709b2502f2ab2b9cc499ac6b398718209e1fdf3ec94c399821261e53e10acfd6dd739641d5934b49fae676838cc066b178dd8f2ba6e61e07dfa07c6a2da81da033a1383d7a81eb782da5b6dd365baa1c9e3f0275bef48e971352fb1e227fb59afc9666bcec26f6de8861913ab45c5a4fb3fe94bf5a2dcdd2e6561f42165d9ad905bd11bba79fdd5d4c2b0b4c739cc9263800e6456671f8833141afe7362545dd8d3dd0782b8807782ad756cbfaf564785d75cefb46bf0b74b196cdf1b131a78c9fcb1c39549aa1a2fc4ba735b9976db6989693c21ccb0b2902a0a3a162313f13a62eca761f9879f09146b9511ac64d875445ca6611892049d110883b8274cdb984114fbabc7a281330df32cb2867927ccd047529d757d815975f384969db3aa7098e65ecf0e80bea9197714b376585657409e193d2eb32efce4ff94dadc6c9e135ab324810aa7b99bed3900f8c0e1186d40bdf41dd7e198d0813f8a586c7d87a9bc555f110a28ba9dac34ae92f1647f5eba2cfee8f9290f6cce3e71b160fa7fa16a6e298c86ad4ad7430b3034eccd44d6d70e4b55fa1bbc65e801eb6adc8fa81d91aab45d9e1f6cf6fba74bfa6b53a1e1e968b1825fbdf22893754716a8a4950d1f3750c2f07f48bb1d9b2d245a49af0ccd3df75b47761fbb00e7da268e1c31bd6d9d90a38c1dca4d4b49db9ff9c5d535dcbc387b688590b072cee11d4d1b5efa6e899ce304e5a8d2f118053ebeed4474f517d4c85f0fd0978c81ac883e32d301e0c3894e9ad096b11f0bfceaae03941d4b5324200c85d5632d721c45ffeca74a1b0e0624de79be7cf1d958267d0291dedb7ced5af4630af727425b2be3562766736957ee3f12c841fffe0292a781c51f5e21ea7c1866f2086ef4710f0c1ac6ccf274a35871a9e6a252cd90f299c5a1d260678dc38c05918bc33446368d2e92e3bf614a6f915f268a83814744fea71142b46f3582fd74f2cf9bab1f0938ab300f335ce109c2570a36e8495fc5c3dfd0fdb52fe6b51e3623c1db739394bff72f06979426bce63b808910f39803508bf4abb7250358cc65d5f1d64225e3fbf58ea067df00978bd4dbdea77287cf05b725c4fc5049e5b9a270ba36329671ff0d5521c34b57645f72a6917fb694bb8c988aa48fc526eb8a324faed93ff41e7a60aab6c6e3d90462ee64e32a9feb107b559e90e1f9d0e5c902da0920835fcc80f3cbde244610e9d5e606d4368e7f52c22ad6cf059b6021d0a9c2a0ea0308d7b43483d5cfbd3a8e103fdd4449e80d7fd89d59ff3317b8967192d623eed43306d5bedbf4b8b84c4316af577a2b8dffae6972fbec7dfaf038b7fa3c02be8d31df2ab0a3a5874b761a4b3e939a422ddc0881cfa8ff344d4bf91c2b01585195f75bc9d6717b61ad0546930df123fbd1c79f0f15cd768f4787c67045537874169285a5665918de5779793136fe032d5fcc816c9a0487e241bfbd8fb4ffbf96b7c8a9885cac0fd20912fe2430127b3de1d7081ced7715cb8b141e790a277e79c5c39a22e5476d79aa1e4e6dc91ad301f6a92e23a62b076c9adefd7fa3cbdffd2fdb11cfaa9f803bedae3a110052bebab592cd82a9e1f74a239e9df5caf887b3e7b460e6da15b65ede0d6ff2f0d795deff811e91daf4aa220bb25fdde771ac70c3e5bfa3c47bd3757acd93c6cd4deaef532dea0d1593bb7b5d21ad99f575a33b37fd7b7de4b2586e2c46589cc39b5f658ef77602ea6625dd54b292807b8778c9451d6630dab3b254a02d747263e3b7fb387a76d0cfe3e19aee8a064a5c959ef1be4d88e84899dd2fe998ff0d7650ba3752a2eed1ea66dfce59427ea73eb7e0a84f8e19d80c7fa9b0842c6640ff0d49197075bcc85a7b640bbdab3d169d30cbef986b155de1c5335b560c37606c0b128c5da4e582409b3d66623f5223ae05cc13853fb750a258bc29a477a90a922d775db7c72450dced05888c9914fbdd185a10d1b6e20281d9ca7af728adffee5e2de14c62055c4132f04d584a586f16739b2ffe90f3f2ea17ce1b9b2579061660889564362c7f1431a1dfc40cdc90f7e06b35c88c9cd4effb1ed335eaa9f5c9da0d2c8c8b93f9ed985ca607f41eba4bebcd8a44e4e05b080c442e9694631b2e9709b4e7647937ad3641120a8ec644a436a1c60b68ebc8356b33401903cbb755faf3d533ebac447b2f49f5e40df0b988aa9b51cbfa270e516a019561adf18cf47cedde54d4f55de1da0af1d79c313171dbce50cee9f04f18b59b2fb2f52fed731d3dfde5bb0c55aec3142d1f1ae59cfcb67beb304066cd730c290a92a8ea7d00092d7512ded9f903c736be70a3e44018eb5acaad4a4df63a1c29d3ea12b42b585af992589a5d6896b56e8333807da26eb3b7165eb322b830303cfd57c7bb9c7caee97c7ee6ae505dbb8e8cff600bd61a7e90652dd80206b64338c5743a53273d6ae36f8b639cce2dbad0ff423b227206020e81a6bfbdfba5a623ef0cea73a9eab0c11cd33b121c8460f7e3979da1e880ee9bb9935ce153366d9d725e8192a85bee2567c427e899ec343f87bc6dff5b2d62b87a738a97f543400364e205b89fbceb7a66000e9122f5c6817059a73b32b9808f11962b212bc4ff0987e290981c4db0423eeaadae9c5f05f51e2bb7b35c68014590eb484b50d8a0c9ecba04fa717d851da4cd71b4ba4399c8aec2694d2d763438453584404ade0d7aa5900b07734e6b2852f1f011a675bdc7f4a083658ec612a11cedb968","path":"m/12381/238/56/0/0","uuid":"7b4d2c88-d7e3-452e-8dc2-e26596bb23d3","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json b/scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json new file mode 100644 index 00000000..d3400643 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"030c798dec8de45656573126f357a9be179366e89595dd6dd4afc7a37df73780","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0497f9c47ad963b6f6785959"},"message":"9908d306f9272f30d2e4a1c7f55acda3b65767f80887e41e5a88ebfde9b280217208557a4e13ad6ec2b03ad2d6c7beefe089d3a3cd5b688a3fca4033bcaa3345"}},"description":"","pubkey":"0xa5aaa55ca6416c01098be6b88035453b9fcd9447a541d261d1b3bb90e6ccc59e1c349aa3bee14382e8c0139374ac344d368bafbad76cee33337142bc8637350a688b2aadd484ebd6d46353fffbfa2295ed09953f6d38ffb97a22621104ee5b3cc328e4b2da66963f18964328a564c419e4c07e6ebd3eb253e95cea316e5b6ca01535b6071ecb991473adcdab34bd6634945b8b9ee6b31bdb89bd320fb0d661faa0c160f6777f3e54f4307ba1468d747ffd2455097dea45d134993439c58a31716554948904b83c61030ca48b7e917394eb6d34a580c2af76540f6646e6bc357b15132805c9740c8a863fc1efa0980a90614110bec17a8c76ca0fcb71116b467741788388677538138875b00650f5876ec08acbb088f2ff87f69f57dfeb7bb6a0e5fa1ee233b8eab97d0ab46e444fd552a9b97cd54db715d8c10fabc7dc73ba4fce7cd6a4142bf178e7e0fd8638665eef8a037722f4cb675d725f15cb9f70afa4b9a2803e914e22c44af7bd74ceecbd88bd7f12c514c0fc20034f7ac04c7a4b4dbc110489112257a18070ebc3d8ab034fa2c35696c130f72953816930e0c12c42f05caabeffda60e00eb290d75bcee16093b6088969d6ada474e365fc25ec4d24b92b115cc9fdc5cec54a1c90e04f050f8943dc9bb9e221dfda46242fbcfde325a9cf48952ae0d1975e2399ff029ca4d24c9874abd0cfba4b15c8f82d58852cba512be776f829ad9fb09f721aec04c135ee19d3f44dfc61303918a8b80c829a0b469b990bfaf805ffc0a81da08229b9b19f5e2dfa6bf1c6aac3d41943f9fce1c90edfc4a8144fce6e2e1401b46e17119eb8919a9e1e370ec3d7fcd1583e25096c38c2baaf3e89369c6eaaef844b282b7f4110a2ced34b3f740cf129dec5d605bdd505036fc8651dbb81732648fc396d6406da967fad82769b1d2c1d4fab7e186133819e7afb19ee4787a6f13e51e304ca5de78becbb5e233695477e5cc73c505d47a51cf66e2b2e060b1b33be97973c6ff1fd5b75ea7da25e20f2a7a59a7c2332cd612b79876600cd7c4fa1bc05573c40ad81fcd25225f04e827d282b3bc266cdc2a81b8b5a584afa5047cf042890a1807efbdd5bff95cd6dddb502a0b562fd307a96ca8b19070603db48f49025fa62d60127ef51d90af946ce7b39d14d50810bca63db8e810cec1b528997097fd892969cb2e60dd2a3bf2d5d6eb49adcc9f6695482fd80800b25ab0b044d0d069d25f27bb36c48e297c7684e0a1b1f2b5e15862e2739cf9554748be8ea8e1509a9751bcb63a55731d46c3ea7bb1f04b452cdfc5add79678d49088b4190f7df7c3ae89b46033c8731e5c0af2044d4b2ce935f0ec97404499b37263d121ebc2cfa8cef5615b63edbd23d6f3b6885f57bf23b6bf3ac4cda9385f6b3c9c58c64739d92917ae89c61bc8064c4b819b9f7a8d3b4eebe2ec9e3037e55f9a4924088ab8c19b826dc46823987a34c2e996f1f971ce1a561c6a269410e575c38354b90489c0eebbb33b167073d7decf0a8e255553dceea887726208a69dc9864b615740657547e105738aa7ae19bfb55a859c1b221443ca17816d543ed2e18b57dacdeda3a7ab380ee3f7d85faf0f76199cc969afcfcd97be60bcd6d838f04bfaaa093cd9c9cfaf855ef57c3c1c061fc69c9e8d206c04e944d44b2dc377e4617091e2f25eedd58d9804f308ef9faa0a73499857d73efcdcafb67da820a2635021139f7371ecdcf060bea9e28ee591c549fa58ae1ecd81348997c459aee5df128e626573c593cbd71d9f48476612b8de0f8fc29a1c09a3ee3b7e4fb9e0adfbb5924986b4bbeb329634a086936524654114009b396e54880e93b83a7502db850a8a008f8479dd35b608aca86b8884d21871be69e67158d10f4a8047ac1b76a54c4b503971ee5c7453037a1895fe206562d04e540e224172f1a7814df1696900be8b18f4a9c141ba1b0267f9e496ee142c026e16cfb701f524f70306c5aad95aa28ba4d8a58de262d8b68af34c2361377912af3cee391d86825399e06c029918597bad2f921ef79357e102945a7c740fecdf083a927fa6c28f269ad58fb2fc49512ef3809164dc5154b1f2877a480d45631fab7d71e86e09f271fbd575e1a9cc76fe84faa7381141fe18af60b093523bf4fa402dae867e99d5027d8a782b0ded407af0e61bd0389ab25092ab42859dd30b75f29ccd14d5617dae0535d5f8e451f331a7fba10b6ff012bc5a071a82929314763adb0373aad39656ff9f65011ec87d821e67c85d1047e2fa4fb4ab76503f8c64cf1714d94e2cd103eba866b5a61158a2e8c620dc4b4c4e01adbaf514a149379a0216704c5b9d859ee9631c2007f51df7bf370001e38538460b7534b90e1d7d37f4a99adc97ce42d0b2a2a167b07844239e6af12ff9514d446216c959df7a14bcb977136ade034f203d2c04020d6fbb53c81bbfe034b8ea2ba3557ce6ca68311768d38bb9f56209afe441a61e8088f4e9138f8741ad4470e6f61bf1236c689e98cf39b53e74e0afcb29e63d7603e5847f46c7d2f6f1fc64e65fa15bd663cf6efdf078bcf24a5bb5023e7949690db1587461777ea28064af643cb734c11521cd95418b22d6148263ff902ccea8fa1e9158c306e6ffb802360465b87c1036f4517a0f36b7e2e6e61bea1e84e48cbc05694da85b64643332da705f1aec741eded191eb61f9ad31f77586df5217e7007745f98c763b1bbb1ffac46a0a7803f3ef646962375096990ce78ead74e243fe02be4597e1c6b102c55cb408579103498d8f5ccbae563955b6ddb26dbca9d7715e3977b926ef752f28519093166abf967c6b144419b814017a4a82871898fccb8f088a7c91f99eee90c5ae1c71812a24afa0a04e109f586c3b4196a7b85975c253d102ca76ff4e1b43da05189a4a437380e921e3572a60d639c5bb9a9412d31f58163f60fd66f125e2d38ab8eccccdfee1421316897701ab3c0e2fb7440cadb0bf2a8217880fcf4adfe0cf79847d5406238d0cabe3eb5c37a877bf4da52eb8e132fa2773bc6940596a51504c1ef50a6435e1f290d365a17bec18e71883e924a8e288ac3037c1f0a19be8831ba38ac0d8087120a458abd8c8815b5c37f24217251dec932355b3e4ab3da54eeeea1c4e743b7a3fffcb8e949f6f01c5b1acb033964edbd7c64a99e64c9b69bd4ebd3be385d54ab4963219db42d131c76230f3304f66fb05e8e19700eb017a5908183d6e7c43f2842f167c683448e95898bcbf8877743576b7296f73df0e4054254d2263f651669342073c1716c5f06d64a253fbf771c0a7545be68873cf819b02dda9a2892671b1902ab5ba4cb000a490a62bbc1d5a9c9a41c1bae52abe2a07340451812f9e80672bb40467288cbcc84ed7568f76c6a849469f34f0a8d953658961e379f753f7a39801c65f5283c4532d77c5054fd32f5a100b42551d9f0a5af269e15b4b756f6af711d4931af8ddd0b1b8dd75ffc3e8f8f2478f719bc72f4671820432b311628ff4fc990c8ca0583787e168c07c8c5bb6d58cf1a2d457b4439e4370f6f5222683f44182a3a3ca79c6b7d5c1fbe46d6580c9bd964b59de34a14d805e9a2cd63f55e7147ddd6f247d0d9b4baf98fd5b216a1aa953d08f00aa6649e2ec07a36334238f489ac135a4a19","path":"m/12381/238/57/0","uuid":"128e59c0-6aa1-4e26-a6ba-4418e928025f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_57_0_0-1751540674.json b/scripts/consensus/validator_keys/keystore-m_12381_238_57_0_0-1751540674.json deleted file mode 100644 index df941d49..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_57_0_0-1751540674.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ba936591a55e1d03cd3d27ec34a1d45fc8abdec5eafa1167e226987ff7b80f10","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"5dea5260e79d2da99eaf9795"},"message":"7702444872c9322cb1e7bebaa5eb2c7716b6a67895c2cc92e679c6433b5208f7988905f76a22faab155fc23195378512a59eb62357580be85c6b005a93376ff6"}},"description":"","pubkey":"0x8e743d41f9442b40961015994e632050e8c6ed925d87e022db0ad40353f714fdbfe1a779baa06b43ff12c7eced1d25f66942582eba5652b3c8f71df1fba508dd637cdf057108c3fcd105acc739b72c0b45eba4fdd203e15444464a27814d968a5a30ba94ccd98ea74b0a7b921a08015720d539a996968e14f55243f124f20b9a980ee5d3c1f59200a193c64c395c6ca957d8a2a587e96f690e695c0328cf5d56c2a2158f2544c12be6d6f0bdf957c2b5cdbf9c92dd8fb7d637621f1dc060e5913304e4ca6db08182a9537e85db03204667a370080a2f4ed9ed2c8a41257f151217f4a360e1ce3ccb350353a0fb3dfd5c7bfba7fe0c1743fffe67e0175d10fcbed6f66890bf18aeb2a7e7c18dfc0c1815599e9f04cf13793b07335c4f373c336b80a3bdc5e1ab8b5ab4dedf95fa62cad8d0e98cc1c519c61ff911c6fd2175d2ec8155f5800b8b8b055a1eb1b67a48e826f9f978a26b7dcee099d51728aa851ade47b83cf3d53bc6a45ec01f0250f10d987405ddf07c59ba13b842f29b898d63242b849d293bd19255997d734aff6fe9a49ee72afbc13412cbe130d35733638e45f429a01cc6de9b28ca479a9970b9240c3df4c369dba8f89a638571ece83f181b5bccfeb5f43c9792e04282ff85749fdd7f0289443039564bdb8629095594321cc165db0f29e88312840a7a9b1a3bfd16aa6ffa1768bda97a42be0bb28de0a604171ea671229212f94d7c535b2000d6b7dafce69741a143ded5180c230375c7f994bbd11cb84a9d1efd11162f1eca2ebbad3e72a1e87395add7629d5f8d89536fd89585a204aff41a1af7f564ba94e2888b1bca883f43044533bbc327f455119142555d13a1622b1094392e8c99bce1e5cc69131f6539b25b509f575ff04cd1e0b753fbce5454ccad542a1344cfdf8c3b855d806b8da88741cb903585ad17e5d12285f66b866edc87ab8c4a72ca39bab7443e6f7dbb8ac276d6bc4ef8b6c0ecd4507ffbd39b9e7ef2145f904d90728ec76f071b2aad9581afc4319c4cbf29cfc9896f5d9a4cda6fcfb76f34d10c076dcd276fff2296d15a3b2705c59b11e2ede1a564a2d0ab6b5a2450b42345016ac99970cdfa1f9612c844c43f8077851210f6b35a8e65c70690ca09b0026fcec788dc44446ff6155024ec636ff84d01e50fe6b63403d0a5b6f7ccba4e310bdadc7a4a66ff3438ad5ef638a0d326a9b561b614edffae5ce2ee2f1215cfeabd2a29703b6aba3de1d825b1860bed1246f222a9efa64c6982891f9227e14c16fa1023556226d159b090f0304803bbe7b1affc6e0599cac229671c586516e4fa6d9c634e0ba3ebe0a08922846fb10824a992eebb0e390ca504f4087834101dbb3d1ca53e33c0888fa03ce0a97791750795507c06f5aa03d8d82bae80160c406f3492e49633bf91005e3fa24cb09b7a46eb2e5746afccec81c11053c4f96f098f0fb0a72c753fceb414c2d94a2a98017cd5122cd3aa17f7133a2702602b78fc570ab6b5832c029d80d7a38fe0ae5dfa7c1f7b2b4910d44c5b9dd5f210742c66308b2e148cec4798780662d1d04d15dc217ef544baa6a56ed59bc2498b3e571dbcdf9d94383c981e1cc17a6133e51b79a89206d2b2648a18401654629c27d7128454ae26d4fd4d85b5344ae7056b0b5f2cb2d4fe08a65b10e609feeb16144b331a0d19e43ae0d28ddb2290f2dd10209bb9b9dc297c4a20a6100e2642d1074b11e2b12d68fca2d4264d9690978e0dd944d67569558736d4e356c948eddc22ffb845581dd718e738157a79ef10c28be8b01e9a8c42cd52a772bca4536789675fd532c8d2077e77d196c9718a505c7659db8cab5bf56192a6122914277ad9292c9ce156236f150f8d7a2db99c28d206557e601ee681f4f772d439eb8d99b7f1bb00269bb0c7fa2f46a1f307d3e4290a969ac20e416205caa903b224c3d4fa7d99dcddef00e6073e00f22fef6557d2e754fc933e5f8cd8ce8018d225e8b653fa00e53a33489e485d52f693645203b4996f06552020a0a1c96695bd07dfd10f95dcb1186ebfc2ee2291d098edc2154463256c58a1e17afa000edfa175a3cb19f7ae7538ebeb5a79c69ab38ab989ba4831fb5ce167deac61fde6e1b9c85e5b5eb788ffe3cc16685baa65d90dfedefe385f0ae0e8c21bf85d5c699a8b54bbe54d7312fff47cb427f316b3067e9805b27d78a4894f4bc6779d84c6cfee32495afa7e5917b4c1c474031730854e0216b3ae698c8779defad4aa3e1a17500e734737ec3bd70347ee48b9e0dd80ce5360625647bee55ecd631b6685e092c313d9b2cc7c481b6d0816dc200b8c979bc43052445931bc95041e5a448e896637f04f165d8e67f15a0a1563f4424578812175948679cf08c18716b6871ce1a00b2e58dd0968b1f0608f3471a97a8cfde484b829164139a5dab1c2fa2c88cb88fb05f68d3cd24eb30d46d00e4f5d68ed568b42c45bb30cc8b558b62326dee22225d0cb6005e39a6b1910315f775e2f3fbbf9e09c114fd4ff2e55e5f2d0d8146104bec662e65445801eb8a2ea253301ebd144933d37ef9581ea0094f4fa26b64d7fe07d2d2978aec3553ec04790a8c761cd8c0378fab31ef4ed9a4207261beab859e17db18d984be3e630b201d548a9ec23a6090de94bdc766123458a7e0ad29b5cca1581b263a27095f22753dd410fbd3837abc21bdeb16b514d111bdce4ac3260510e65515eea154ca80d4f5f1570ab9577479f8234bc011d894248ff09a6364f3b1d59b6eb6dbffdf4530abffb4637ef00ddc314ad3a9d6d73c3e130c35f3159637d7e13794c132ea1bfb6648ade4db7f280aa0b0e97fea7ea1d8334ef1b3482cb62f267964d63aa0d169637983f23a63d3ef08e4e5e8c10aeb53fc31b3a7ae6580895567e899aff69a0574d76c4042e50ab1577969a3f422dcefea8e141ed6845a2d411e138f5261a9b87bd4cb0d8f9182db271e30ed51c64cc6377554b323debac091b706f6edeeb26bdf1fa9fe314b7ba0d7e2a7ffdf04af6da34676417beb31cbeea72fcb73bc7f86357ffcde96596881c7e51616734a3f3099b2a17c59888d17c7913a1096bdc55fa9427d3f29f8e93c6cefc56566f546c9096c1c5f94b4e3dcfbc223b03730a06b6939da4c7d88e0118977bac6450c59cebfd4623a4e5c2d4e1f7806f243f8e1d7a85756137019894e3eeb7e21636e79797d913ccdb50729142f10e7dc610136bcb3fa317338aa704ca84aae92aa25f6bd8fbe7f4120c5f56cac501cfa4ae95e6973f6148a76df4929fbe3414832e721ee45cbf8223d221d1d9a0ef3b1746f2e544feef608ba99285bad92e23afbc1189886951c3ae9ada36b4905385b7d27869820b7f6143dc645640ff5933523c17acc6f15110ac7d9a9337e1a1d1ad82977fdee0335f8b313874bb7eedaae2e8ddbe130556963153245a745e1df49fc670d86a0c0fef2cd834fa5b5f16f175de76c6057ef0b3776c83e48577e73435d540a60af6a72abf893d0a2c930f194e8fc2071854b172d843157d62a5122bdc75b6e33dcc09c3e8c5e4545fedd5b1d8cf59fbdec32bc5c1c0f0c4480e46c56f4b4e73a1ff70fe94c44194a889bc9297a75a2c88d4d75ddb143703238ad478e83265f96a5c8a8ddd04a95197cbb8dab235c5f5bca3b8","path":"m/12381/238/57/0/0","uuid":"6bf0210a-0926-406f-9ac5-03a2c6cecfe6","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json b/scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json new file mode 100644 index 00000000..0a8e498e --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5d1431e0c35f98f16b6170a72b5d75a5d5354877d6f0ce1b0be5ab04780b81f7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"bf74e8135acdcbaaa3b31e97"},"message":"f91300bbc59aeb69f992d5f2b08876e7f0ab1ae1df1f4b3b361c5d22f462b01d9cbf99b68b0b932d90feae379bca276f23141fba658c8068db1c407a3fe93ee1"}},"description":"","pubkey":"0xa31f32448823e5df841ba655d3812bbd4669d48fce52985da305b5253420473b559c2641121af6c3afdfefe8698f79250c88e9e03631c36d164089a5ba6aba7a9a6f0bb048ef6a98383083c4024ff37e49bfa7ad371703a479e872bddfce56007c32a57fb355f00828f563c2b836d56b8c426ca1fe8042799276158695769c3a076260ec081ce146b40141e56ed47e96c7a59695a3ef45a1e94a1db607c33d15dc701fa1c9af8f15b16bad6ea0f72cf104a94098db46209cb02ff387abcf2a1df6bd9c34c3f6767e6ddade93bf5440d7e3fffa4cba585f25de41f773fff8cd72ee54c59e7b4fed48ed90f88d5e5a6ba8b8b5d2cc85de24550b3d4dc89c05c90d6b4bf33fd996a6f9de97633099b28caaf96efdbb836256950986065903328b6d000c8fae143e56175697cbe9e86fae60cb0cb7dd3c1627fe167b49bd3c64867b069a44fb34b87628b981a4b9a243bed7f7156c0a31e5f602abb1798fff9aa74dabeea70ae0bed94b3502b0428522d6e7aa8f5889c74fd52366059645642d5cf0cfe190dd6ef1175a3b21baf0f2045971c75162f023525e5eeeaf3c067a82e38ab915ba10ce44ac667a8d5763a39301689670292671643123bc0c2acfdb402585b755b9320d8774136d92cdc8b153d89bfd10b4a721a74dc28df20c1784539c165d5b3562dca57a913b198dc94f715c7b3c822f1dcd05d8fcff5ac7bad166d456f7251d921f7ce2efadc79b99dfcec140617db521283b573ce09d80701d586f46ae726714dae37abae04b6fb05cea50bc181f383bc5d71969ce936dd6f053e63019a2ff53d7f1b68d4e1b91bd56286803ad1af2a327cc4ae977b6ee5389b6ffc1d3b14afbdd5f73e0dda2a0b04ee92c3e9fbe0edb68438194f0315f215292edf4edb680df7f5ebae26f1ac92150ee2bf859826234258de6012e5db526868d4a62385fff0883c4953dbadb2649c3ba0208419c9884d80c71a6687b7049af30396bcaa23dfbcc0623efe666136eeadd77ea4e089c8ed9b4732dab21c16d767ea36d10e9613701b2ac9e3052ba2dc4b9da7942146ddcd61ddfeca56cfae1c75f9f3bb0ef7cb7db06e1a9dee3eacc43d050786a01536584bbbb803fc7df9a4dcaaf132150adb76686adb9adc629f746b88d289b48b1e6ba51800e90cf6e7a6b26fd555194f3f07ae831226ccdbfe0320b364ce5b6288cc3488cd4bbc9ac057ec33bad9ca33315c3dfa091c8908a95f44f3c4c612deaa757ac1235c9cb76c344c8e33e65876f5879a4af5f0cf591d5957c96ffc4853c70df0d68e744c875c2531097356188a3af103715ade09d3ca0c9fbb638d6a36702bb0c31eab32f5ba38fb2de7b3dc2836efb868de39a3db498591a176a68a5902c8035aa31b944d23db028a7af5c84d1995f28b02572520ecf45398a7aa9c16753829fb94b2d87afdbb8146440b402f148e6708d50a6b058702b614133312aae6e90203cf5aef388a322b4e720b9468065194a369cd18b6f8e1411dbdf2978391b752e1c477a14469e723474e4f8c78646031de0c0c19cb2b47fbb97db3948a8089e47527d4109a74fbbd52c46792f179bdb512c06157c332e5378cf121e361b930adf4da693fa60f38656644c86b4f8df64a88e07b82be6c378f7e2ce7fa337a7f9acf82fbf05e003abaf244c08c7e03d0f3a7fe24fbf1c728b849e1124ddc830b334afced2635c2f6b781930386c5bcfb607cc57ff583adf8729b156f2c40653831ca427e30a1fc50d22192e06ab17472d4ee6723480a85cc697b902ecccc547dd85c9a2c90a0e907deb5153a903b8b87b7caa740c786b887728b49c4f7d95b8cb6fe8e799ceaa3a388df25a8ad6cbd785a29fc61ccb12812252a78d4458b6fabe108efe57ec611d1acf5b0d7535ef9f50ad01365843fe33a9ce56b2646d7f13ea50784e642f51214fcc4b54c2f5f2258df4884e9b3b2e830d9c0d538307d48bfd7ca997457014db1fb6fb079903f9b294deb18d16761e515fe3380192dcd507ad52e41cf5d01a6d06de8f11be68ffb6b3adcbca2df820aad0b50028b068232f2b8666b2473214c432f416fe2d984c82f268e9fc7d6f300c3091040f735c62b75c8ff2e68d58006f39a5b71109e1d77cbb63b8b714f8691d0137d9abae8a94aa6e08aef1b623a0a7b583486267c0185b41a867ef14b27df92c3b102843d9ce61f0a95c2d232df97b8aedfbf0ab01a8e14d6ccaa4a13137226215eab3afc438bd876c5e53afe94132eece2faebd7b8082e7c029a0b9fb45e3dc4922e1770d1d9de12f3c79f65d2a9961876633890d80fe4d32e94a507dd690fb97e325c26363b41c7c99cba451dbd544ea2bdaf5fb326507b2be0851e16841e043be74848d6420c0f7bb193b38c13ce94c0e0522e2f766bc92ed4189f5263374893643e71dfbe87f29337c0f9484a6b948582daf5df68967e33eebc3113fc172600961ce0022181ab34b39e4b3840e20b4de81182565eee41af93fa447c47e93a1c9aeb65903cceb59785cc5a7d4a65d926ada2aefe9dbd1c23fd2a693e2e528d6c0ce85f1130c1a1c6ba87efe9e31c506dbeca6f501470a77a1eb1a2e49cb0cdc76b71652e7bf06b3486071b1d7f637b719c92231649cad4e7a09bc34cf8a68cf567913730cd80095f96e14cb63317f6b8080437cac79299e8a21c7befc1263102e8771f3defe31ed9862b2c572157815f274591919e9f5b9b2fc445db525bbf8d644c36572d98a5534775efeac4c147dd195bc987a592345a272afa8a84194587d076dbf8aa965cae5a0376d2b1e97b782f7c33e7eb6a9b1c141bd8d5ad93a7172501b1cc303de0c3846d7eea88536e60407873a28ea65e7bd51d81b627d42d29a8e0213d40e1b03bb2fd31d7e7a766a02b7ec275759a3af44f46f0a18008914d2883ce87d30488ed51cb79c540c4beefe5d46b9a097153b027816fc07683235af7ac0c4ebdcabdb7964d4b52c6f5aac9adc4e4afc1ab87367541bc2e1f7d01e525d92944237bc0568fe016834c25a3902d8ab212cf86e94901581a277e6c6506e2708675f0156a9bfcd5a9254909a727fdf5f56645d2f6b816332f09c7732c28a7c04a501a171fa330a84bc53740b103f3e20e3f9f945d596c775011e170fb1a591f49c30d39e34341b8248831d5605db70b8b9547d44fd8520f304f0d92a34e91d4bbe53d94fe838bb21445d32b0ddc0fbd5c2b8c7d81314c9d1727b8457becc92af1eb3618aba7626e85cb24d22af8848c333ed132147a22aa5140ec7f21ce7c435bcd477cc3895bf9d23e512565eb62034ac93301c7df401e7afbb815f3ffcb97b0113d635979a2215b6687851a1a871ce9480855ae220d0cafb41c0fac1d7627bb474974175191f7ab20daea8ff0263967b8a79cd6e714707dd5d98aa886275cd8b20e590678930902647e3b207ad2d5750a1568490e4c416be72c73226bcbc5e761ff408277b2228d556038e0151832b9c34f958952f86114ccba62beae43935f53da229cc8d793938bfcb16e02b63e476c32b3789e5e8eea02ef3c2333ea3d8bf537e29086a9c7dae3a58a87de81dc8199c80feac592ad28435c985e9e86e185128f122ca8012e1cb29351da98d5f29a9f3934ed1581c50ef29f2f9c48b16d413aa13fe59a171ffd3cf49d28121a5","path":"m/12381/238/58/0","uuid":"d9aac83b-5517-4d3e-88cd-0f2e56f3ba7d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_58_0_0-1751540676.json b/scripts/consensus/validator_keys/keystore-m_12381_238_58_0_0-1751540676.json deleted file mode 100644 index 7ae0c395..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_58_0_0-1751540676.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d5def318a78320c6c9506243b67c0e8aa716cb3bba7b18789aae03d0efce711d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"fc685b3dbc6c05692da0aa57"},"message":"6c9d3d2bc6dc6c742dec4f1e6c905cb2b6ad039a21782b2f36806fbf251eb140706722a5d5bbfa9207b6b77daf9375cc4888bf0471b6713294ccbfeca6d21bcd"}},"description":"","pubkey":"0x5cf91b1b1392a620748f79afaf9ed4cc798b867240f9177376c30da51957c7755a5c2e2a8b9bb9f81cd0f24b6bb0d177daf973b54a6d7edf8a386d4b8bdc2be9af2a3acd05ac3ad18a24cca6dd828803795542b93d321a3ec87b75ee41d8e290c0827204e3d20a8fc89f747c05c41c857faa123c2c053a96183e593d3b99d75cf4788e560de74782ccd89b338cc819fb81789cea0b63f02d63bb169a6a5aca399183949e24ab52ef24fd013899c644e7a388d58a7260e8869f103265e66af4e3fb419f1a29866ceb9e055c06e9d535b2a256ed040c2900cf19e045e76f61ceb688f3d73bfd49f128c0b04ea3820335126b25d110ca1b58102fda19eee4c1296641c5c51ce4a93b31d2661a00caaa9ae0b3064c53591e850af3063ef16c0231e257ab66812d8872637ac4ef2c432216c881358f8a1c88758d4e4151754a63bbc742a6be73ad4b8079d6dfad7993bd744245c5c0e9833e99a1a3f2eabaeda222041df2f34e918920d5229c62a75628bfc89a0db239577cf41f905631bc7c0407515534c01a313481e7b668477d2036b6c27d4641b62cafb7d9814c7f8b04d50cfb85f94da945f3e070c5cdbd1c4724cffd775b7c5c1f5cf1482c0c09e90aa47f235215eee8afc27287f4c155d7a1646dd2272d29d6fe38ee2753ab93e0b98d2204ba02d1e70c9535b8314607ff06ceff1478e5dec3e0c0f7b9329bd55693bc5a61d304002648a5142880c12eff4fb50e3288a75f19c6a45e76c85ecdc2a18faf28de9a5790abc58f3aeee3d2d9a7ff6071bf6029970f3ce60907e1f346431fcc5e3e6bfbd42f30bce6afe2fdd7f0f12d2f94036018ebf6c22a48ad1d7fed2a3f700ca4065a4c6d5f73c390f6b7e48fef9155b74b9cbe8b1f4a938572e9f795773de793ee6250f182266ce6d80ecfa6827038782309d19be5656a2fd5c1bb13595d2b87b4b5aceee84ffcf09a3b6aa9dea4d5aee26105d32813b9561f0101d2bb57f8fcc1efdebaa07b27e097958bf1b4aad8fcf203647503c5b05f70d5498df464aad506d36241365051bd8a8ec5f40138339ba4ab34d5aa5b35d2860114087a2612b43bc5a42a106124d5cb17850720f6c3810d39c30b3a762ce89b4e90bf7c0d153475529b58f22311a0b306774200523a82cfe2fed354814e1933a26f0d5955de317a5ceb2ab92f83e94e963456df82a16abedfcb1571655cad8bcfd2bcb92ed35eea867f74e6fa4cf1e9171f0d5dd8d926efb5278e29383d41e9bbd09d7b4295ba86dfe74ac283d8011aadf288b056dea3d2fa5137199d01130b317c4bd673417c4b6b6c38f31521c4f350e618e1cdbf31abccee936deeb4414b3b4b4cba7774514ef4a2ee83113878832750c5743da2accffab60b9446c6003b48222cbd250e4542408734bf454b2c90d1502223a1f698e6ab42723d2ce415f86917797365f59d396bdc7ee883a30a57196939abd0bbcf7af002a7d9edc715c62e963ed2d7e987509acef6abc7e093287dad51e6a476df08f5c05b7178144f1114b05a119a07350726187ddd0c7824bcb768f882f9d808f5038d56abb084e7af9170f3ac18734b2277bc5342e016aa6aee8eabcf292db123e0763810b614f665dc4e5462cb24c7ce06864e39fa6f6df3f868b760fda45bf47a1111e1148d5041f02d79c545d2a98175c82e4ddf278f9573a972bb8e7f26894c21827951b48ff0091d67d41dfc8b73d3fde148aa44a14b40dbad872e6b2eeeb50a613e6cc54f61671597dcd4bc993a3bd6990883659360ca2016c8debb41260f60a60a46a6c565eec6effda7386faa74654548abd5f563d327b5eebad79052a45a396cba93d480e833caccd0bec539698611eda20bc61e9e75b9fd66b1ebc2ca730ee248dcc30c663cba2a48e63955c862b98ecfa9abffee6e2856c6fcb00f1b6184f33147e0b600122e6c9a5c25548aca1daeb0e30e5411cfa2ef5d89b1928661bce8c359687bf0bc467f2f9c3b33c9e027a35217e7551424721ac0333cfea02934115bfa1be72573c76ef6dfd53f3203d4ed25321495f9c3e9659792256d371cce778d2ef10e3aa26275408f9d14d11ef89ade55c3b76910932bc38c81349d15f10fb42604daeee483731571e9e9d8a061c505c82dd17b410aca04ef26afbf6deb4cf93c2e65df695433db69a21b82a0685c7633690f4ea8400c585c1f9e0a74eda00f04c189e46ffa65404f40ebb3b3fde7593dab929450c12eb8c12fc9060189a1cb5095ac9774ba2c1b3c3a1b0523a4b694534a3fe0fdb95d905b1fcd5b81bde7eadf3f27ad9f4415d4bc7a6809955ccc79d7de51987b5ab54aa9739633ea41a228d81ff93f3c48f7a5d45db2c9778afeebad0891f899f3506641cdfa275c61d3da0bc8f884c8db8041bef3a472e4b21c1018cd98b8189ce5b6b3a209fab561454dcccf86b8e501ee3d9c4f7850e2fd63553f375dac0ea71050d06907d94fdfa0ac8fcedddffe38a65cedbabe3b649ab22c9bcdf1b43ba83300fd3a8e9da45c2b96ed799d947601186ccf777353bf144e5740ba5b3c814e63c37ac0e29ee1491bcc1f90ad5025d642dd4750ae634226a4837bcdf59fb77aa18d13996ec1b72a98692f353442b56ae61054878da423c1d940a6c591bb7d7c5aa4c0cb10d222504c0f72c2bf26993b75115e0b784d54c9849eef3a9dc9267624fd5244faa465b07b76ca3fb86682f509ab6055a115c2d6e4689a2d692d4b258d5369bc49aecb2306a45f860b9b0e1c3452c50aab1e7f5ea813e2c1b716195ddb7d6ba1e8eea74d604bf172e0cd11a6de566b3204e97c92689bea496f1c5f6273a86c132539580510f06f34774b3c73835c7b6d1aabc1ac848cf45ca96468a4114d971a77cf58d516195f9094e579a142749af711af669d8a24c2ed450fa34fc2f8529bc28c1767186ec21b1523cb73f512f5ed1c03ef4aee65123bc3e2187f23a6f35a606b427cce4cf4b8627a7a799800b1ca989e71a7e0f03c9989a6218ee0af64ec4e4e74703f828b143b11072d37bfc3a1d0479f69914873869f26cf18723a916fc0cb7c15a6398d1cdd08bc275e952873a6d8270333d83dc4a52b409d39e500d29951501172ac0ab40252d0be80927b08bbe181a8cb0dcec1be2f75878569bf4b2d860b0c42fcf489107de7506a843f1447851ee6e5fa3ff99ea396e66f66ea4956830cac34a28fbc36628133c3e3b06d336b9521efbe3c0f59143b8d313677985a832263b9382a930eaebcb9f7938309c07dd963b4d810634b380473199e7020740873d8738fea3df10f6b3f33a80935852b1370c0e93c96ccf12f7bacddf91e813ba87c65a906fca4815110ed821da3fe3f32f011054f2aab249e3d21cf61aef1c337282a601d488cf0b695f9c4c6a6e03748f1e509c1f443251cdcee182fe029bcb7368df29d1578de4e0aa2955dcf66527b12b93289a54d6464d3e8aadec575188a1767842d089245f530a81db0f9b9b497ee1ba297be4512a51e720a0434744dc2c42b39df4795e7d9126a2a9f7759eb4818f11adffb3b0bf65d45201df2f4e66f0bbf3c3b764841cfc7d5fb0e48c21ce36b0bb297a355eda24a71e19f24fc5ed5aac8f86f7ad43e995c73ab329fbfc3fc600166de34c9e2d0ffb227d1d374797994988f7fc7db4b5bfef81e","path":"m/12381/238/58/0/0","uuid":"6adc6f99-8bd5-4fc2-b2eb-825970b0cf5e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json b/scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json new file mode 100644 index 00000000..7290ee2a --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"cb375eb5fc6b7613241fcb635cd3f908a72d4f6a735f960ac5c5bf839a9f2745","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7f280cb0c89ea7120251305d"},"message":"90f8f35345eb81018801ef447de4d5d71a0409512455dcd3b6f16edc58b9d5b3e24934ddcaf2ddbf25b16add6817905c24161b8e8d98f18341f316cb0447b1c5"}},"description":"","pubkey":"0xd7c97392e413cc3cae4ee16ad310baa84e3dccdc15c4c3178e5028f57d1f176ca068a67c7af37ec82d27e55a7a60fa4170bbd4851edb2a134a12157e4c839121a4b5b64ca13c2359307b2b9ef131b0766e4aa38995d8caaebc55c2a42f0760658a3dffa034e900d5da87382f64763a362556cfb6cb66668621b4ce80c3150504f40b13132f08f060d914b1e9dabbe1eaa81e9f00ef6b276c636d17c8774e412ab09faadc8bc7317a34b276ba27b62bf005d68d6615ce37b9d375087ed39f6b60457653f2a6bb536e6f1f8599aff4381749e0fc8e5b3d5060ae3c09e07b36b77f7ca965c7bd3ec82b4d55d26120eef411867cddc259aa0d88de5c9efa811fb5c1525a73656cb3ebc81625564784840f082695379720d649be78b6871500f561badb03deba8b59de36ddeb67e5d0d0b78f21fed0ce17ff82a4235e9f795ca5aaef35c1b5e7bf8c36c305134876662cbd53c5fc3bd13a4c47a426e396d714ede942a1f7a5381a41febaa63e113725a71780550b64ed1fc14fc3adfa07d0f63e9810cf901145cdeb431fcad5f65b680676eee98683c8c51fb16b9e8b472fc0b2824548e20d86d2d635e0c5ce81175245f8c220d0d249ee0cfa8619040d3e3deb00d19e9b09d515ac933c76f5c90b91cffc45347660f706e89fa5f41cb1ab227f8ff05ea5c7203017ec81233835c72367a66863ab5ee9670ee9675c0fd665e7db216fa9bb3d7d6ab71fc0fb0f5e03b7ff41ef10505ad5b481fa435c4ea5e97bcbe4a8fc1e209af87d4be42f3b9b8889237fae0a7d376edbc7860fb576bda64d05a58475520798dbf6dfebdc0e91357f07bb0ba7f4951b28534cbcbbaf3837c1c7c6cb40595c921999ae10aaed6b488de9bbd3acf053f5dfd5bb9dfb6b3d5f5fb4c043096cb64f0bee836eb246ded9011bcd95266eb88ec23bfc0e8903a1fbed08dcb90fa3770e07dd6389edf7fe05a2356401a57173701b2e2d21d0ad6b92fe163e20e27c38f482b4261c48f90430f8c7345c651ad31c80bf8fdbc595ca0177c57c28cc96beef30d7fc245b7e2d21048758b0b9417ae908f47b24142d025b2fbafe3dc592f007d2786bb4d153fb760cf39ef1bc3a1ebeffa66c8f2bdc6974ab5162eff2c9bd1039b0f9f825a7e395d3fc6d1b6b04ba1f870ab4305b776e8b42e2d2a94bfbbefba3ccdda23cce08029fdcbe406c40d5c9a9b273e9cd06946e335f865b58407767ee8903a3d91e1cba03edd5e546064b4ab11d78ee5aa079300bd1dc5284955cba849d7e87f6d554baa50e2634b22e61b73c44d69a087452351c9ca3d5bb5a0809d76ad92227006327a63d565f26ca4d565eb90508be9a38d62f7340e96d37602e7c62dca871993f7ea54a7e416d78cd959a49af7bb166330c0c68ff5bc921b188388e3c44a02304b0885e2e9c809de60596db746199f4fe25e243b9319d4e2fd6bcd08db9eb6f8266feca0c48394b1ba73df0f2df71380ab1fe4bc37d1cd29d7c9c87ac2f342c3cdc3a47af1aecfc8211939dd5d4ba8a1827787331c2538a5ecf0f2b93a3cc535b93aafe2d1f79c120c8a2c2ff2db811745538a2f52f15b5e6236b2d42ef98bd4da58c6f424301b24d0b6246c0ff072c917ca0de4b7cb2558b522d2761048641e1be036a250cb9f186fab9f59f7685d910c0589fbf39acb9f4aa97470793755bf4e3fae42f19a220dd275ad7d52d18abd54df0fe88576cc755731c1177a6b113230c90f779b1edde29e980ceff250b33494c0e640b079478d260a5c37c8e184c55e5932c56bd8bef48b57bf8798ad5b5518f1df3ab63a434780365de4978c5b5f74f404ed9b649f1be793837d345c9cb9878dfb4702d148c7302170e3e304b5ad8d30997456674bd85fe539af7a1625546c23dc695edeceebde80f5842b2d6c55803b2538e90e47e7fc35aa42ec2eb06425b6f535691c51ebbad2a72dcddb4a434a36784b8c9f3e39bf4e3317a739c7c4571c56fe29ad7e562e7ecc9f10002c51aa15fe88256971d39d3b6598fcc92dccfb9a0bc01abfb9743b4c6c1d5be6f86f57edcbf956318ed568d51123222b43c600f1aab9d367a0a81ef68441ce0ebe4f757d6b0d79cc0fa86e400b1276ae630dea4374afee7dce567ef51a8bd3921154f98a83f6eb39a06f62391f708df391bb80ce6ab7dea171a44ccc8e71f2ebe12b569316fdabd7a3cf563115c40cfcbed50172dcb9ff6af0aa928406291588041b7b1eafe795b516e7c7bf4c4004ce72abd6817b48bac9dd18b54f530f6f46db2955c96a7f81d8e87892e31f471cd36715ea65dc466da2c4ad3b1df8686502de72a4917c090330d0e5cc645d18609cde5d8d0906b4672fceced1e2a2ab3df8ea3dec74ed4f5a47d80f1491a9069b114d2977eb77fe99c69d77c4daed8e9368a3dddbc3485bc652dcbe18c58da73433ad577e0466de65dd888f6cce5be616c7f4778ab1cd400578f63bbdabf49463f4d09b677bc27a38a3adf336c1ea90c3b5200b21224473d058a5af5e96fead04bb2388cba999f52f7b0692c789795ae0301a4a365c129f628a28f1806a5354211821eb2c57bfe7ff33e751e5507e2ba3a2fd27b6271a2c469c5e6a5bbc107eb44210dc261cd42476b2f960f63948d76ce9f1de12837b92206a7eacbe538f7689db63c5ba62dd601886120cc7c77e88adff819cf6490d41bc2b55f297c33569cb3ac5adf2e9dacbd48e24c4e13db39843ec223c828e9fe46fed6779ab746b6505b75b3baac2330dcaad4964ff6a2428d631aa0c5d9782885bfd3f387518636bf02fa575af02a44da65361fe0d4d495c691a7556a84fd0ba91f641eff25bac123a8dfffc97c81c05abe1dcf20f61699397d3a37e8be8ebb8ecbdb3a04154b40adf4d94a463c0e153aa9aaa5dc25465752fb50b92bb694bd1fc5f84232157fd9ee0e2985e1cf628102df2406f88b30018087312a045d4929247225c58aa8450f24325483d24535fbe4a68f17f4afda6c1a83f208d0583fbfeb179f056e43be981c4c55fa0fa4a0bd9cde11056095b2b27e529a3e15619256e979ac6f46ae2b1f7e0349c02d21be41941f150824439bf234fd6da602f2689e582619f6605cde6a8f7fea074a1b9ed8d8b315915ea62cb5c0d7a5f2e7d2ec618e01e44aeb0f3e7d796a4be8ffa80ff761578ce2a91302071df3b6f8cb3c702d3b8b50a2caf6165f4744902e80e22c82f7353b378e4d1ad2ad26c5a64e89bd7543a8c1b1104ca8277dbc535c436935e7e1a1f661c7e657a605742b785ee3404a7031a3808565e3c6baeeaaebad5b324f5011f8ee8c48511b6731d7d4f83f4b8518a75af45a6e909a7f824dfbe31f79307e86a7bc6d449eeb8b07bcc234d587099cef8f0905eb3e9894849102d2c5c769ff928d606907027ff1d6dc25c73efd6408c22a1d013564565f470c3ab9e51065c2126584edc3ca8887fdc2df4e050c42d58eeb63b50ef6c417a31dd72b9bab8eee8396746493d6ff7b350b26183b794e1fe45a8670cc00967448cc826273954b7f386a900eca1cb722bf91a4f1005608b334c3c2648ba26b2889bc2f6113b308915a7885c7dfe0d082f862383c6d6afeb6944f84eac31873e98cb99245597a26d8d506fb45e60d1e92f6e370d4dc0c9b51856b1834c80788e2a9ce52d99241d1be63","path":"m/12381/238/59/0","uuid":"d16f7c84-963c-4c93-9671-5ab27f9a28be","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_59_0_0-1751540677.json b/scripts/consensus/validator_keys/keystore-m_12381_238_59_0_0-1751540677.json deleted file mode 100644 index 16abb6f8..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_59_0_0-1751540677.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"99049b45e1eaa6a3c9dc569bbcb4abac6be53f5b34be8ac28d33ca7a59ba9315","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"ffc10e485e30df8842a31aa2"},"message":"5c68a60d4aaf2de714bbd45bd22bfacdbfb61b6f19163b1476d2b85b55f77a5f984727b31f4ac0c2e4f19acc7f387bb793e26e5c50b85059c64433ae95f50bbd"}},"description":"","pubkey":"0xb633939617bd142bffbcbb23f2e31ca405eab42413604ff5642ad4065d94e727d872903363a837d35fa881fca852369837f1a7f41e2cd1c6ea47415760e9dbd0b4d32d0e3c36c29a29f24721fc47df1708520ce6c7b87606b350ec928d203d90e3dfa14528d93c4810dfa9d0718c1988ae7871c43d43a30545ff7fa06197dae475b66d8cd51f7d857109bd87cd37942cb84526ec67984aa0317446a6fe53cf21272b00d73325ca4ab7e079b83b08bd5e29c2173b29a28baf6eeff2b1f4bc0ac2d6f424aec3f5fd2025ece2fbae4fd24c65ca6dfda3104f0c36e645b56342ed5032152dc4e0b3a258d162fca82f05088b062428b2e07bb38eb518513b8a83a6c28a2e99ede4890644a496f565d91b365025e014e79cd810e37255398dce68493729053f1476491fd565754c6be7e808e9d99eabc5689c3320cfb699ff743d58cd190656f545e26b760e61983c2c9ea5800d64040e4bbc289acd19afbe223ccdc4fe583cf32f0cb86e0bd4fbdcba1f4156ec15bdfcb4424a53e693dfcb00a37c3d9296ebdf3db706b943ef93e970044ed1a7dad25020524dc4c511ff1df8df28375f417fb68bf9cbf591873a7f098e3d3ed1cbe550f0e61d755d20e645de73fe3d65dc2c5c026956abb8ed2d9f9546a671b9115352c11d42d2d6729c4562aa9d5a75792d7f640c2d9c9cac46dae52629757e000e0c6041752315efee5d5cdaf9cd3141064fc77cbd19de2b8a85964dea86d0aaedc2f20179078e6ecc13ba5d192102c42d67a0f2deec7494b88d1b16f57076bd0c6a85f5ed5192adf6fd7a16039057b3245a279ab525c7a295de1e34face6d3ed4dd06f0d0c9b858fe2897b03634abb2b8194fd3f61dce69d77f320a7f09d991facc50ee791b0920400505c8611f24b0c67b69203bd8c9db928b2b6ad589ae9e67a67331198b88a99476537af611a89f06fa1709e56bc1fbef7fc892789db5824b7d9bdf1ecdf35fcfc60413410d1d98766f81f64725dc9db2d63af9a1d6af044dfc4392047b16603386a1bcc8a355edbec51091f6b5d322d9024b805e6b964c8b7796d16981a308149840b29c138eea531a62eee8ff3d156547f28bd2c76b704248f62cc58d14fae745c461290d2a7b25560ea3cbd14737b269e858b562af0b0c31bf1b33fb557144d3c51fc7937e9255e50379802b39af3bb34ee6549ca0103b8f28b8d2afa14da51b52b2e4e2d7fbe91f121dc2fe22e09ff99ee5f5a3ca71d072d9abb73998fca3ef13f2d2f3086ddf70d9e068b2ac66744ae1b07abf61e67a62589a0de99b713491bbf9d7548235dc9b851dcf7a8d2fd3a8eb2e60823bf497b1662ad122ae52a233c92d6ee48c1f8ef81c5900a15ecac479c4dfe9c3e0df51d55d5bceafdbe0d8b237e03952e68004249a2aaf1dd6e38ab13b897c1b9a1a3546a39b6ceb87a1679443c743fb34cc215120e9a49bfb551592df4cddff57ee776ae69b554778946d5ca53d5974a9aa38d8babd0fd04e2137dc271a3b80fb049bbaab8968844f8c85af8212bb143eed8a0e5846a2f8072fbda8273fe595911f26e442bcf6b6bfd75d65047ecef58edc56b4e5b5d5473cf9eda2a63c7147529cd9993050df3a5e3e252fbe10166bbd4a9a9a14b8c92b14683b82b66738ab9e32e0177a49bd88bda6f141bd6b9072351bf747a6eaf8528dbf53c8ebdb974991548407062704143f32442f8c60872d8674b61e4bd85cce35193d31b56dd753586f62db334fa19038af0d79e03f106dae1bc96c0fd07104a2c4448b069c676a8a811ef1db6c0aed5e14615692bba548c4dba43db20147d11ead0c5c921cd87afdbd0e6abd628ca9f4b26af37edffc58ed3294baa514f52489852464290ce4a70edca5160c24845da8aba585e7ac103ea2858640f154f0cd4a0f5502a76ac1730b233682a00af734d566b66f1ac7827a283466f846be4cd20bc2fdca2fa439fcb4ca9b5f23a26bedae8efad8690082b0b3f04965f65e7ee3f26d557ee2ed0e8199a8b2d263e72fa2bf88d281bc202f999c43f49c40a156c51b4e097050108c168f3cb55d87fd16f1a9939a33397f26d6fc844f1c4ef1bc05f8c787a6a8683a589c7c98e4793aeef769e10b1fb441aa1cbaffee63684413ba5b79682e956e816a386a929bb65dcdae0b3abc6ceaeb199716bbe5be72966cf402c4572b8680e89e26770cec4e7036133de19ac75e7710542d044c858806c8bb7f1fba53e784f4674cd2b6eb378aabcc534a8304cd6c191d73d38c31ba3326f1d403b63ed542dfdfa0aea76f315504f285b588f76c503c511e71c2d9981b91737c41d94dc526b6b78b5d69888d55d0d32f4e910e360840eb0cf0a6afdebef9433941b5e57342f0c42ddfde7a7f60bbcf71e50a657963dd109a0dd14d2f92ae601d0a007604f34a049c8454ff4e1700dd4dc8da9e713ea3f80da2df5260d7b73f3707fd237c2f3ea64c40128ba67b2de521022fc022fc17a4e802344283252de1996e165df6f254548b9547c63d355fd971c8fbb8dca76b5600e2dce8acfce582c95cdf3c8c051d09052f81401c0ae7bf815149bcf2bd9113773735b7f7b750b99218aa62ce9f3cd1da15c3bc62b0c35436fde002d148d731f3f4568d2af7275f3e4092645b086a58e76aaac0b8733803bcf5931f55c62f10a39c9ff5d901f944c7c55b2023b4ed372d1e575bc6cde4ce99aadeb9aef7d9a030efb964852b2be1556e1732fca4ef9c8b4bb646ed114706d1e745d90c071db9e9e0c7824164c104ff989d6755c30a344edf0cfa3528329cee7609f58494e9e6d76517b57752c5a7453c50116f6c2a33c6b92d0e6b5d7851713b2c800550cefd5dcb975fd1b6e558ecca1c2a4dce255f904be0f2d4d7412f640cfb3a46a965663610b1bb93ffa55d09457acf02b7e91d813e5b68ec2108bfd52db1fe9b26651676aa9806f086f19eff9e23c5d7c80487018ba853fd022f60adb515dae112ef3dbc73b55aedce760a52cb0a0742b0944ce92683cdf1897d693499a15cb43a7c771b1247d71c5c708f63b99ea4be5fecf7f54eb0bf85588079f6393be2ae6006c50f547c0941bb097c110db6a9a04b15dbc6fbf2c8b186f7d9629ec19979ae025d4e4281f65a98b9c22152f290835539c2b085f142de7cf28c6a8ea695db4daa2d3451927a7df26b518e3e1cfb4c0d556385f95859274c01cd3e7d4abf4ac92f9f709fdf11287c3af3ac64803f49d8328788a225367a37bb44a633b5b49f790f820d8f4c9357775a278f2ff7b9409b04158e159ca59e69466e041de3505e0436bc368d24beec45b3f45c951ece58ac0d6c4fa34bcec4f56e34bbdca0e7a8add2325a84b1acac244f626238fed831cee4d8af91b30cbc9b4bace29a80dd809d29b2c5ed6032439dccfbfd923e13567e1510827d58431e9ce3f6f66ce614e03073d24b713c8af48c8a6e8c32c54a3cbbd94c9ff94e1ee912725febafc17c300fff3729f380800c5af3f1f89799015a178fd225a5f0d8451260285fac9cea883903b0972fd57143e5eb0aa36c511f22c07a9d9f3de0511a0d610291c34f4a407abae75625fdd46a9526eec77162cda00648b64fa76f93255d0df6de9af1b1536c89f424a7f3695914b01f4e61be962d5732d41fb9ac0867e1ba1f8896c12f1612615f","path":"m/12381/238/59/0/0","uuid":"19a4e48f-b1e6-41c8-936d-308ebf0cbd13","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json b/scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json new file mode 100644 index 00000000..53270dd4 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9015b1427df95e8e4a0f5fac6005b70cd135dbedfd8e86494047dacd151a861d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"a32b3f35a761e4ee285f2f28"},"message":"fcbbeae1b8fb29ca6c7a6e12b2d914ae79ab8a0451b9a74371e144443f465080acd790e038b52f5f1a8e331194f0db30276f342b87f71f0a3ccbf7e1ad0d4a07"}},"description":"","pubkey":"0xe2c23203072648e6ddd095139ff6fd789e8ce94537bede707f37cd031571a3ba61f7e6cc43bbba5508d761f88cf617f4953e7bd1d62e03fbb92747ccb8b8b7a86935a1530a3fd703a8eddf81ef08e1add8c13ed01313bb820f42612c40f94a21500c3266781b56d158791db3511f83fe610bb5d269df39d6bce6834713f6bcdfaaa164f8edfd142b04808b54cdbc53bae285f122718aadba6c3f8d9c33499fc273a656c9981c8348c3be24f5c0b019de2923e9f8e7d5c902d5168ad4817f8a8be95ae9ddd524812c2f7fcd4f6acb243b825263533ea52a7c07b4b1373bf70b3f26fb3c88d077ad866ced1224bbd476165958ac8dc21b43409aec1dd2e51c2fdbc2ac72a61dc5d1345c7e36de4617efb36786f59da3881e842ea5b880bfc07fd8e969892db426a68839ce7593ffed06a1eebf5fe539b01191ab41014675101379daf8673a768bfe13350bcef90bb31b1d4e9c3cecb3697ca45f1a435ab625c8632f43ed57da7f32dac5bc6e297e979ff644ce14f6b230bbbab730d357425caf3b79bc3438df28cb4ab33f63a4a0174b3744e7266d0e47e2e00b86c10d34390294bc35b12fa5390d3cb08d77e26b3b8cc80a3d12e9465d6818a4e4c97c40451e9c04eede8df9340b7edf04501ad967e9584d9757345b6c52351181bfdf8958dcade799f90ceeb77b586a95d1bd1d71de9492da8bb8d72a3a29555cc08d1f4e508642f549797899aa1dbc0a8b94385307def2f232e1c6e7ea2e6e3ff1afb35a0ee62930191cd51fef2098dd86d8cb212a33778e1a8fd555546ca793b04146ed39eb64534f211e09a95b9b79ed7b20b5c0055c7c9defeac4ecf7607a3714c9f4c45d9c694ef8250f7e0477bf47a9b923bef4abec69f1be1e2af10d4341c34a0b67f07c1074c2b63fcbfbe6044f1dfdff4bf2eff03e3ac421e4a681c3640b330530918ab2f4d79768e174fe852f2d744e65b0d1bb017addf8b45a2bf96fa44989d8457404172d546464f95daca161137fc75dee8420ebec298f718c80c0ef014a467e1e3e7505e9aee1ccc59c14ff54dd394269f6e6b4a52d18f7ad0e2e7fe9e4a9b8e739433c6bc6523b967d4c0378e8ee251dfc7d1a45610e8fd1540a7e3775c7c379222e3e58a2991e6cb5e576703549388e91240fbfcdee22e804be3b8e4dcf528ecffdb9514fc82e766cbbfbaca90dc167f417d8b57c57a6a85bbbb955c12447baab0dc42c0ba42651471dc5bb39b913a007b4ac3a3a8604d8c041992e9da73917d943dc88b6d7f6e130bd5cd8f122680c04d7027ce213768a4227072f0174a307bcfc327c7a3607e4f5ff84fe2104167a808b574cc72b2e2b282f29dec014dd6bc0a3ec7d2f65eacac4e315cbd1eebc1eb2596047018d7e32bfa32e46fb821750006efc5420d59609644e83c12b07fecfb82e39fc7f3916a22a6da424168e9b3952512916591ca3fb5d8e42a1af17b6d9808754e05b7eada827a3a5c22dd99bca1ec4f4f5da44886c880e85f8c1d500a0c87822b4bd55f865b4ab4b6b4890a60f382c1ad7400756c842cf9eb0fd755fc9a27fb950319b3f951110e7ca75db764f84ab11d26c746474c7affcf965c69d9c72e5173b5090917ff0fb30eb7e3398e1535f5fafc63c5120e7faa0ac90f0fc30d93fa92f01b7f2ec0dc9c50202552ed9880d70763b5faa350871ea8af65c0f0d44c53723683ce08c1f8cbe09958bb0fcb3613ad57cb3833a7ec5fd8bad5c081b0d2970655b3386eac765fe15ca55782825e921683d9564835bfcf48f6cd2dfbf074baa3771faf4abf2cfa688bc3f52bb88b4c1c6d4c01bbf2a0a7499f7647e58db6df30409f991e73389266fa677bd4a3e92be129f34cf2751af6e2ddce174f170e089b159fd5457c208f29e67af62bc19988448e3594692a6916c308fcc5ea02a00b171d020e8e7568c5db5625aa1dbf7dd495f3cd4db12f01ba353137ae973ba4b48a5fa461bff06d69215cdb088a988c7c3396176119219dfbb881725d029180f35c3e785698536f9ce241d401ccd3200185f85bcf9ec238bd1d467e9a9338871a723ca6b73eae15894f79c52f3b43453f165e42ab16673190a380b976f5e249a039ae81a5dc2dce61468af0244f066d5b405495216698c0a52868d070a5b313920a3eedffa28e32df9282034f0978c1cec1c917e404e02fea18f0894be5be274a57641152d7aa0e508ac346ac560cadf47327997fd6ab6e7c281b82729750ecb0a8fbf17ace9981d77803f4d24c70741363dba2f03a5c61aefb25842567f45bd3d88e1d1a114110636288c175498998f1ad1f07c9843feb4a67aa6d23392b0db99d90c6f58dc35aa63cf765e06430f7443c8cf60f902c3c5cc7b9de90bf0b2177d0d8716b9be8e0806b4189ce9a31d27f5143a53444b42ef16c65072964aa2f1a11aa4b350df753454f790f157bac12d962f9445bb9b0d0c0bb2e391d640af093525c1f8e372b1edbcda951ab783ec2598d8da0ddd4f67793c6ae613edd74a15cc8812a45c6db01519eb7a6929da87576c2c01f648af59e1e9eeb0b5c88983b37744c893161203246aaa9a06d4182f255f08d15e2fd80cb7ddfabd62e359a4a36da30d1c82a33bc15c352c5de6c465fd12fe70221d6c492aeb9bdc9fe31428df87dfa305659e9debb4ec7e87896971111cab074a8e31e2b2f62a53e566744f3564e2f7587bfb43d3e4e3744736e8e2ec040da38f22c8ac3e6cbb97a17f556b3f56caac59fa5a181f9f659de181a564f80f2d1f423aa8f3c7b12a39abae0b4fce305fdc2ee73f25236c4e5b12971079b89d9acf0958d0d06d0670729428a7ba29e796c9e9838dedfe08dde00ef5bba6c449a3128fc853a35e177f2afc3fbc6441371177ace8d3f795ffe7b92e39be06ae2378da2a4ea41195eca4f48c6aaf73f66cbe646f207ce782730e4eed7dd4816f58ed43f330b594b9f255d6598b9f474caac62e16f45c5a64c66b88adf4561ccf93f8526b8932525673955a2887ce4403bc8da875efcf21068d2ff86c097ccb2291e5c6d5109e002751a71091e880830fffaf028ec654f5cd4a0f009b81feab15da6073aa90601f2facedad18a8f8b0bfba2875aeec3e392852fc1a363b1f9c40c17cba483aea9604ce4de00844741c55b64224f1ab87abc8ff2e44cb2ba769d85a4c2cd77b1a2464279a1fc93b838e85fa472925ffbd6d4b835f026e1048cef006a8ec860715ad0e715fcbd4b472e5ddcc94e614c6ad2b1c0a1bde452f1345a9ba362fc262ca54fa234add099e16806a090ebcb207355e37e510f49b7fc5e910744a86a787f9537211b522fe01ca68352b36b4f0de3c1062896be57cc831c148de6cfed8ad47e4e419f7491345d31717d68d7e9194c4ef3b98f202f7143a27b642ead1a31d95c5a55a70cb411f5878cf2709811333e2191951f981159d507d1601cf0c82c74e9566eacd9cf06628d975193db14150eb873d15e81283bf320fce805cde1cc71bad9c6fd9af522b29412b5782aca05edd1b88dc38bd6d2d924524445de69508e0462eb3ce05046d6c42c281edc428706e9e23985ffad8d409007869cc707f2019e95ca6273113f086a47e8a64b6384250298795b79cbe617d713e9285d2372a84cf4d2dd3d3e8810956469abce0cffba091bb9726d4ec9f","path":"m/12381/238/5/0","uuid":"b66b3f66-7eac-4a16-908d-fb3a233d28ba","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_5_0_0-1751540602.json b/scripts/consensus/validator_keys/keystore-m_12381_238_5_0_0-1751540602.json deleted file mode 100644 index 2d0c5f6f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_5_0_0-1751540602.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"8c5c2e4fd96c637b0121a1fe925f9bb81f4da5091276b5963fb3ea962fa97e3c","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3e00bceb322ed4ca16cadcf9"},"message":"86ba171057a6f451f924ca43829dea5a2ab51437e2438459456a83c6fb920fda0b14f4f8419e01ab1025831e2940ae035d0aa10e1c8bfbc90291e6a6d7dce8b3"}},"description":"","pubkey":"0xf92f8eee7f8d0b1bcd391c47afe0dc5a9acdabe4a5408f3e40e367c18d7f19993c48349e8d0be7a0d55bb97afc53a343bd426ef52273e4608c45032eb0aad30bca90f7d24c28216d7e39963528bb202bff09cc318952d43e595b9a8bda11bec0d49bc1d3c1017107bf562d80994ea819ad4b4319a994a8a393078f7e1517962c6838c48b9e4aec6ae4e965c8bc73b490b91d57832c0d7c12d0e946f45f504bf6a76451ae8f71f55127c9da755a07221e59ad7ce17583d928122e29ddf425b5e7b5740c510b2ee0cf74ce530c660ae04b75ea1d4149ba415256ef45eb2c8de5c30d3b4fd78a1820b8061fda58ebdae010c9a2418bb6eca68cda3d06b2f4fe527aab84dac50c8c1fcfbe3db31b2f1298e100f0848ae2f66cfe0725edfb12165aca2c314b1d6b32c45e2cd19f19a2f8946467db01f875c96642d8dc012497a4f987b3d49b7e89b19263630a61d32fab10bc66a69b64ff07598bc2a5b8e584c9c44f0db704a8c054a9bbfb0206d3c3f11e741df7d29c354fba43dab270d28512fbdc23b5302b35d1aee2b16f6d87912467656f16f07057e1181c56fee9080d0ed2d140840cff9389aca1bd429f2be95d5eff7121896248c9c0733ad4c65431b77435982a76af150d81195b0fa4b9e3d6494060b0c239b9e25fca5e80349b42fcb0e0170deb027b3a3ae92fed5c19c945b402cbf6e2aaef1ac2b7281423b2ea1dd50363bf72ee87af05b25c2dec907ed5a139f101c4bb2aaf983638339ba6bb0a943a3b112509352eac5037086689d1e83408c1135a1d582183c44235901d7ae096ca047b383bcb082bcdede727dcaf7e5a28a58b3f488b0dff51f7c679c006f7016295f1f371872ff3d4c7e5bc7908e77e8f160ea48e4308e0422c9bccba5cd694f4482341158cb3ef2dc0613a668360811b44de2d2597aea3f02f2a03cec7d713822c1baebdf8af4a54249004a44d800212d693368a72a6cf0e460656c7a2649d196bac36ad1f6d79942ae2620074c5b827f6401b590b9f50b1643533479eb323ca1f8d30d6b4e14ba53a4ec83195a2004ed3e837d2527f2439afb2a633c3124d2755a9dcf53e460ae078a49c9fba16d7b27d84c6a4c60c48ff63c3e8b62dfc130fbc10a3b1c6b0a934d821b64d71be0ff60a36108b5353ef5effe03d3ae95605f7f38ac4cd9ab7671060d972182697a64d50786d3b784b5556f500c5212e6d7143e1b418610d148afff11c5ced0e09bad4c8384ccd915aa5c10a2213606efde550517baaeaeb068e35551b3d45c60ad4569c509fcd96a3f01941e882ab3d993b3ba3a9fcbb88d046024720fdce5d448444643449c9ce94be328d01fb407b2c2799cf53c65d5ce673199faa1dd4dd1d168ef194f9f92c57f2161b590957fa6716f5fe0fb8f2625f9b05969ffe83fba63355cdffa1e29cfd2c4e635bf3a2cab2ab9f5b0b49fbcc732152b369f73e220d8706d1723bf11852e7296ec546b2a03bd55fb0a62e6305f8596b05d25f3d51ab90c9f5856946b6ffb56ccff4447f7826b23affba279b891ebbf961b639b02d3fecf0f1f2c127d1412555f87ab8943f793e472e66e3f041bd9ff9f28951f6d2bc6627b3c0cbf520ac05fcd4a74222e839ba8dc51b3cd673d165f6c122c167a70d795b630003092b55160e27174c38ac6d15176963daf82cb7564ce2a18ef9c33c4edf75215b6fc5cb12ea14f7af5029f8e5291f1a1e5e0184e53651ddcdcbffbd37e5a8223a0269f12c230715852ec2738a80f80141eef34cf21d3b3faba0c809b99ad01b8810c7fe1f3cc7e4337554d79584d0a561cd3f73075ede0637726aa4eae6ba7b37911b7ea266c267a17406b0317c371c8278d6e2e0b98e5b7285e8ce70175d306a843790319a45a6ad0639373ea0be85affb7a87ac48fb120c4c6911bc2bbfc827ab73e2dde7648497d6028ad03fd9b8e034997811ebb0bd6be4f5571fb7d2b13bd8a6a1f1134a5c7c6adfbe8edfb35093b80b0316eca8fca2a573e7f0e09fb294e046f6a082e88604f30bf17b756488d17c178194f5b630d731fb6c4b35f77fca43ef42a6e0fd9a4798e286b34d713c03d358c2b4dc677ac84c71408680caa75e18ca6067e778649e842e5febf055a29e01f8393ea9b16acd72fd2070cacdb0f29ad07ad7582b1835a97d950f626e7d04789bb1e29aa4d4707291d45eb94f3d7bfc97b6d70a6272d3f3641ff979650b773b3ec15ea77c13ef4a2f1486185bc579984bf1cf8c4cd554ecc275c0a0ef65c6ed3d11cd9d53a071eb9ee5915d2ff3ad2ed9aa63791181c89ee13ba14a0670033b92dc77b5cfbd4dd1aea913f10abd1934ff02885638378982b9fd10861b3f869f0223bec8869d090d267cd3d809a9b9f07b4293c34ace30db8c6f9a1d9fc065eadc28cb0bf22969aff8050999c80b4f1a835dd08ed1508469a238fe1ee42992e214c44cdf14c17283441f251e201e99ab0f8fb74b58150e919b181dc8ff3983ade18d5b0a304ae4bf175d762aa20fb568220212d846b9e5a243c75a93984f8ed64ff0c154e8c470abe69f5f4c74bee8427ee523ce8105fb2a13706ec12c2fe0b4600c240e04291360669f709931c5b3bf84f42f28e1302bc3c8e02cca6df45ea860ff8b048019e34cb973d35cc7340a3f814b3525c5293b037e4f43e3b9d7c98634c871bdb1d60c5d75f02fac3e81341e5075980b75c6019f1856ff5d74cf558e86ff2121465c841aeaadac4faa7119c971a3e95e1939ac0c8a0fd86a7d61b1f2cc0e7a7ee5ad5574b356cb847d8c00be1cc3ac9210b81a02b8be80f4e748920b414c3bdee567255cdbc55696901d5913e4951d624423ead01b7ead56b7e8cd9c4933d863e77cce90b01581d00aed6f872db4b18903b0a7f16792c1bde4e6c7e6f05db9ddd747fe62a6ffeecd41944721d7215d55682f250b22919be0bcb27f3df3a28fa7134143f0f1baa7629ecec136b258697f26413327ee3bc4030ab2224667b1c9699350aedb83f03b6b4142fb717f4388134479caaaf8d2908a3fb7f9de8c8902e01f29f52bbee85941bec48720d31cc36c608e0f20f46ea619144ea392894397aacfd1d2498ea39b52b9f505469b624d1175c4ac8f9a0079b1e98efdf62ab9451f1c70be3d3cd96658c8d114ed986568f09dc88134123fcd4d4c9e69dde13b2b45a8ff30576f7a5235a79e32679844a3b4204e24f2f7262dabb044d9fa8c665820ccd2100600df8fc70dee310da578b45555f65f1308bf0496a8d929c6586fb18a32a0629ae4e0a75ec3c49881f9525788870566d71834d25a52f3191e3c9a1242ed8ae0a56e2e853caa73e4603a4fab47894bad75c8eaa7633b9d123448ea0dfa0747802bde03f62db3e042429f3eb8a3b9ce4a95e632e636d9e3b526235aa05a151875e4c1cd6cbb5f907e3c266d5a5660ee2669be8836fd4573bd9d03957f5adaec95fa54230acdc156742db03488f4715dcb887bcb1fe9e1d8768aba6118a0df7b35a71516242211ff15ec00307199739961f65d0f8741b365e93d1982b71899c67c0eedbb44d11876ee3bc6a848f448d408211eccf276acceca871e03f243843f969fbcf28ddd6906e7875c1a56a130fbbe7c40486d18eba4acf4cd8f7a4923a4a69d367f44c114ea8f946414bb31e66ef6a3e1989760","path":"m/12381/238/5/0/0","uuid":"776d8e25-3b69-40e9-883e-c6fd24e5d71d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json b/scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json new file mode 100644 index 00000000..b5ead721 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f84feda01a886a343a9e4c45fb931168b4d692a632762fa8c89e8316213b9b53","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"643b4432dd2d499667dc6a6c"},"message":"2d1f7fe3d652789f11ba70d3024335a15dbd5c30dee4e75ef373c89700dbf82d1738a7b909839d31a033ae7c9f01d933b20df748f88453978b02bb1ee1433319"}},"description":"","pubkey":"0xdc304b79ebff13030d2bfc0af8097bf2e2968d6d96d1be24bc48052169313e840bf2f46a33f0d638cbabff05639232b94e96ec1e4f76d11df4affbfa79da902800877b59f1c8b04074ccb5274797e8772a1ce2b7a704445f4843292bb6e2c7971c4f9c445c3c40bb801cf8c98258905f93b82882d6ed06662939f13e2e4d5385b4bbdd68cfc81cfca06b9c64c5eaf412f7a89e13adaa1a1b5f2f97a181d4a85799c3a24e17ddec32739acb127f53d52d7b63c9c9c04f10f44711962fa428b47e1854b8ed82437f553058496e1223ec289353802177ccb823f31cc3e0b3d0225aebe95c6abf9cea6ae8b03c98ec032cf03517dae6f8c866689f8fa424ce651d1121a7bdc9cf00002779d11785afe5cdc8f59f412e0f6edde0b5b1b382e381d4d94f974da53d1de9e9291b5006cbdb3aaa75400c38b9db8616d077585c306789e843b72ff6ee90367d417f842ec8c07d92d114eb079974ba5350b74b6ffb868371bc9dcc389c12af99762ddb81e9bc73d05b91bb597aa546f7878223c23a675647d833de5bf215a2aa23218e737d90b8c273d84f9a8b4f76dd90cec641bf750d851d1a883b041298c39cc8958d764c6c855808848b1e5240973469a07b7b6ed3e8dc3873bb285096b760c5c27a0eebecd26826640867a67ad1106050da4b9e8280e48d9b30bcbe3f03439fc1b61cce0f79c3a7853d45caf295219aca4f47ab5aa32166ebe5690222a514bc409724b8115d71d62b7ad2d5112081c5bb0a55a8cfe4e727b7e74805ee89b66cc7b1e0fb21eef4dafb871fc415fe7d8efef7c775cfe6c152248fdb9e8bf9ebd62516a07cd38a18d5587e063a2a92b71f458d8707543202641f94174c0776485a1805d93edc1a74b518f45c412feb40489403f4a84f7503d3c0d200a3c6c03b8f07ceaeb6f8af15ab99bc8835303d9699648fa64d2fa966f39ef3f003c5599859456f9b6c3c1c6259752d76480cc0c48cf6920c890fa53a928f824fa483ffbe8f4d397c6ae14c3c107f4fa51f7e842672e221d692ab4b0e846bab3fd13fd10dfcda23d7468c04c9316c31bddb8cecf69c62772db833023970a4462560ed162cb8925c5821500c8a1c7a27621bccefdd051abdc161a4ebf7f99cc246e7f54aa37b3ae8086e32e92256c578173146c525c2a123ffd5299b507fe0a19cc339d75deaf9c559196d7b886da595df280612dcae67e1b4d0d68e742bdfe3f3407e029767927436247e6a3a340b13a2bc181b3bdec45f772c4865264ed42988debacc5d0edc13463338368473b024822e04761bced83c4cebe115e0bf77a4469a559b5427cc5ef5733fd80cf2785ac387e7e96e1a5dd34f2d166eabf5482459801241235a4d14feb67cea050d7b2ef1ca37cd32ff71956405586e4220ffa12bb69afdf4f5db8ef037882148bf71b01b85c4931e45b428b89f1acaa8aa9062fce4fda6202192c1ab62a30837cce48b407710f58b61cd66a2feccda196e027a035100d953bd44dd33da37158aa8f1a9cb985c76389ad7d270451753f40510224abc2f9283c9257ba925697d7b14b2e6807bf7b39fc58cded841ae6b7b7e53749b5471d9c4020f044da929513ead92c757f28dd5c7fb12983e667126ddb928d2f1526be765b09ada57b0af28099724a7530bc648daba1c11a4751ab4db7ee9a280ab2c608b7cda0f463a70238843ac846615b5d734d4d70e05cf3f381c2663581f9cbfeb04e33f6f845ce4d2f854a447ac575e7dbc2e0a8052038289d7e4fcf3a3f42f4e5acbf2e75e7c8ac1e376f37eb44755da1b478c141584178d5c219de0797b93ae48c93839b604ae685c1b9cacd5de19bb50ecbfb19cdae14d724b80f3bb7afebef40c7ae78254728e23aaa4bab51bd1c34530a73d52028585449c2548f2a57a5fc6b11108bc1951294f2df3085541dbc81328aceb89602620aa542d45296ac7127382db0098eabff88413d25455382aacaef638383effa788649601f1b547af1d0b3b19f69db8e4ab59bf1eed6bf5a8394854a97579b06880e4e45028789ee4d979df5c50bfec72d9d34f15aa3163d040425e7bba95536876a40fb35153e5f5286b1f2d217f3faa88c3e48f5b86768e87084fc6d59dcdafcdaf31b1a650935234a64f009cef376c4ccb1933db4242a22ac87fbf21c81bdbfe40dde5ba569eff1110e14e9ea24d021d069e46fbd973d49d4213c54463181852e5be83d6af26e43a8a354c18c8dd0e1a711ce4b74b279758712373769c720911d75f6f6f7f5c6101e80a39498df3ef4ed205b22844c401c685800bdf56be00cf0a9b96fc2220350cdfe99339fa6c48d9e890f5ae65697713a9511d466b2f491ffed4ab9619a1a2b9a733c6748ef75c1f9bae6863cefef949a1fab1da553a7659793c899151fffe50d3a45f65f725688496b93324e9de87c96279137f038aa4f543030732b4b8f2431177a28b988769a32b073c2a276aaa000b520d5dd7592afe258cc36b8e8308dca45dc3ddad31dc746d68ff7d1e3d1efc12d87f0b07a96b941d1730a7b02d7d7bfa292b6e48f8b3d0ca1d858006aaec439da2cca1e4bab0aa38ec096624ca8ac61b0686469be4dcf2634c1cffc7a37dc0a8c434d7b84824d798254d1019121c56a5257918c2e73b717d60069f33562a13cdf33600d5a251fd473c1eb508e068a5f79a6a6c87b8e23fddbcf69e971090d6901539561a7748d434c60194d5671f7e4bd3ec2a9d90efcd4fbad4abd7b6d7b2baad9418d4ee4c0f47440b954eec5268d7e83761ecd2c0b7a597d755403280ac0bbb512cfda7d40da8c69fa7c1ce33fe9a68d8f7952672bc59cf312536850bd3c4321dbcc43c0045a3e0fa8c7c7c170e8a3b6a52c83edebb705aee3513f45f2b75c2429854adb1223ee77bbcc4aba7d5da423c62122ae09000e93f7d92c4565c79f4fbb122503240bf9ffa34afd85fed9f2fdca1fdc8e6147def5a0e4f8bd0c9a55b2d7edd7a373d604aca4b8fbc28849f9683e465a674d6842213cb6caf18bbb874867d3e88f34ce95d9a992ceca41cb039f518f36ee3d4ec2532adaff3e6cf970ec8a54162c23a690c20f6bcaadb835639203e3759d63cf8ce4eb9511889452b7b7a518c2b83411a082bc98b0ff399361cea8a6aa8d8064a82ed2446321a2fa2ee61e0bde5622121065addccbe3b824ccc9562a45ed297a3f2a9ac81e98b94a87bce4f1ae18b49eebc706694607086f555acf8c944654e35a759182bc50fdee24b85d086a67b3a97eab0b1341878c04e90a6ca764ee24b131909b55f439f4e65556a65032ce9509fc032d1c4aafc4bfc0c96befa4a22ec2502ac88d958ec3fc57523f14fbac35d8a33372f236b8edbb108428426ac00bc8a9b50faafb09293599b0b9a880ce9fa7c7419b52f1645d148b3c0ccf7e6ebbc9de39347e82ae38049eec5c96129cb30a4592ee0865ebec550f0e8b2641c4ae529e99686a8330d8ed70cfb8446b9e7d11cea250ba62326ed3ed769fabbfd954ebbcd2fa7f0c0ca083aa45802df1efac0afe1d3ffd2c0f5a52de406603b46fff10206d35e850a7ca01a1785051c718c37576783dea1892552d02f4123ddbb67820e71fbc59bbc1718f87f48fc5e1ae33f8ffc033238179df1c484af3e325108b21ce7700b7c7dd90188457f4d1a6d858d","path":"m/12381/238/60/0","uuid":"8f3d2575-e136-4e08-aa8d-5bc74adea006","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_60_0_0-1751540678.json b/scripts/consensus/validator_keys/keystore-m_12381_238_60_0_0-1751540678.json deleted file mode 100644 index ac204a53..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_60_0_0-1751540678.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"044aa384fdfc175ef7161e9624483cbf763c4cbbf26f143eb8443eb1bdc70a00","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7882fe1600e3b655396c11ff"},"message":"7d105541619c0b3096d735bfab56abea3b1bf1b4d81891afe903623b2d344f44ffd58ac4a9a4edd4feb32c5e90880dafd85ff700edeb15d47600cf9aca4d6080"}},"description":"","pubkey":"0x4bc4917e48637735802ee92770a4e245f9072ef1e72e435f5513becd78aab9f0e245591b22a19040ce2cb57dae08b6443451a01eaf38ef2d6786bee636be35dc735f07d7069087b7224246c857d31f301147dd5fa7b0fda7381419daefd3636577896b3f28b09ff8a0c4f6c0c8a089769ee3df8f8e480cf858a1d29cd799752894e470f7de2ac8043fcf2ba305d930baa4743e1682175b21e682d6c95de797ba63caeb0251332a11040510304722dd27df3258e26bd39f0b32e66e8fe552e0962ff5864cb301e6815391b17ecf5ba2e8485d2fd9334e9160df50cbb49c5b6b4b5c72d55cebb8861aece23fb459b83e3ed6c54d2b80ddac1d45b7e63c7f61a219a726d2886b6b585a5c1edb9d1bea6c29756cb59c2e9846128bf494b3daa28f2e9b8fdd087bfaa922e689edef28c45dc6c87cb3bb5ca3cad3908908455e11242eac1e0e7fc7ca5f6003dcdc2852a09b183b0116be26ded6fb229fb4fc83718d576f698d8c1430f1a414f9b8cbc59c0937b671525585f7c54317bf41f77c3bba91af08117a601fbcb6046d3e6ec520105f19bbbec141f75878b1e40b01f51e766263b438cdfd1bb49b243b4afabe9dca82a0b59df4fb774f8773517415661db86076b631ed626c3754601a685ad530efd8ec8dadd8b6b7bba8962890e8c899d9e9d3816c91762bdf313d1b8f4ed7e9a818eb58c71ff65eb3d4b0d09bae1a084306d3ea4e7e2a85d5df6ccb1f39de50e5b1f8cab878590ae36ef5bbdceaed04fffa39f949c1fefe4c18d9d2b3fe5dff793666ba3c4c4483661126297e8d1e5dbfe25555873e92acf7de6430671ec92cdc755eadf28a2fba3feba856c0133923c23c3fd99f8ea7887fc4ca64c8a96fea2f87c59edd8e58ba10a6a0213304a3239bb3e03aaee1dc3d52d4086994a5fa961c82939c203a3e0b0d7c47f1e9c6ca3c069a5f38a175a200bdcfe313eff8db1ac99a9e8075c49b5e08d1029d70360c71a1653ff65118d4ee71451f429b664cbb5ef22e81c48beef7f8c79ddf577ad40efec1e89659215ce48f9d0b481d2bd5d6e7b0e1b259215987199b2abbf5c7dfab0de82b1e747a0d53b632ab148d99e23585d7e1e6e33dc58865243623b707232a77fb4e701860e10ce0d624c7ec188806b84e7cdc34ea6a98d8a3bea61b62915989016402acc528aff6adefc7853ff766adfa52004578ddf45f4377e02c5e707381c59d20a5e6c6296796de199442bb289a8ee374122e7c9d5d5e063fa1efe982991b090ab42c6582897715686f52250778152ce054f130d4f3b14b61b4477a12a1ff123706b2169334f564d9327132970ef81790a3ec8193b0b75cc04afbebc565c966699e186b7affa368a8456b86b9a4ee2a92b71305001cd8c348babbff7329592de61e71e2b71cff3c870ab98e6dd608e043f9c4fd7861fdf4adb85ac08da7eba0dbb35094ce730fdf02093bd5735bb60d6799bffe9b9aebb3df526232805ae46dfefe5eb6cbd013cc33765e7b88630f9e362d2e81797e419b7bbb56adef37b141e8ccd0216387a2651b0071002808e6acb28b34466c55dc713b430face9ecc56addf8d253b3d095f77330387faf00abf0a4246d600265d99ac79bccc562f99d7232958fc694f258853169c5c0d3294da5bd25fff087ebaa6cfba990bb53bdc14292b7d7fda78ecfa13cc1bef0ef701fcca4e2521443c4f5deb89c0086c47ef6ee004ae379512e7c371ff1e5fba928370db357d6a061e7a22f25fdb098544a2d8f54e3f90baf7c339d4c2d8ad4989015eda47812e4cc61145d8786194213bdcddf7a416293618be71a50ada642a67eb90c9d085517f52260cf2e2e44ef2a5ed18419ee049548d0f72bee13353f833d4d4a1d748f3a3b34d1ab85bfdcfd949a16a2c4a107fb4a189663df7eee1b52c4baa7c4010f584f6e39f6e6bc649eed816906d76ede4ba4ce2d29da67c8a7269aa9818d7a3dc691ce9da25239b41f3e78de93040194277352cfb8bad6be25db4350353f8e8cbf42f3c68dd25962d64a2a84bbf0fdb9281c32521942100c350418a4d062109a5f88be0964a0c91008c520622ce6eea89f72e0516e50401a603ddc9840e21f18516ac4863fc8f7cc0578d42ce2836a88c52e6ae53fb833faff7ef562921a66379307f8ccd64083610e8bd1edc525d69ed160bf0927a23d995d7391cc023146f1c7e8ea069b91a439a633a1bc2427aecca8a617c14b581249aa9be6c3fb2a9b4467da9fa3d441ae770d314787a307bf62ab9c68851a19758de092c29d52c34cbbedd25df25ddadee667d8a815e1c3964235c33354e1ef2ad1377aff2a0b3774d954d8e7607113ec44b6bcd3e458036ff8f256829157e0be9491058033cd85dfb5b41e7ef96917a6577c339d359730afe57cada87394345e1b04ec859ea219bc48a9fba0d168488d22477b049baa037def534d6be99b4164f19624c6ef3e767ee0799fbd2960cf296fb133a47df31117845a4eedd6bdcae14b3f2462471b1e4678c55b4fe61755792d35ea9f16188d1ec7420ebf7b176e1de1f518e55f33f42366688015747f24ebf5d6df0e2e1fd03700260ae98d3561ab3c30e44e712daa16fbb9a951899344d668f933ebe3f2a232fb68331b965f05276237d3ebf5a1cd19dd76b31b9d3799d83435df8ff55b020722fd3721ba7c6aa829c6af309ae6d1d9eec556f759aad083ce592d138e5f54cf169ec64471cffe8dea92bb1315b22a434385bdc51fa9fc5bd699f72f287ee4b359d2a1127bfebaae215c0fce54201074f9b304bc28c4d8e7ca4939e7ba309992da7fbe43cfe91d77426936db270643fddb76c0a856e1de1219bce5b802142748cb73d038b60744cf93e4879e222fa12532a4b791e5ca2830af2caccbca1459376e253e17b741509e2bc92046031a25db83897ae0046e93cb919e8d27231519c389b6b1b2e6d0f6d67c760258809d2bdd3635d27b7c0cfae3b6e927e59eddc4f312acc2c450b8dffaf4925200c8e724c2aed0b10d42a6238d0582cf4a3c1aaded782e100d5b879173eeedfe5dc8d049e062013be69a13995d34bfb1131c7bbbf780fa6e6d823669d7559416296887350b7668f0c936b8bc672f7eb5e3a556a64f6b9b1eb0f83d4fffb819a70eaea858539d51ac70f5f33856860c094029bab80cb88d14cd0197de837c06a0c9751fab8b2aa116984bcc0e0886baf2dead559aff4aec5392414e56832c2006d4812e11d39a8badd962559c16a02bab944dcd22dffed681eba3f52da6f161a40d2defed882e90662f48aaf289f1964d9c892b9af2aba99f3355d609c13bdda8e945ae9776501d57a3851675184ec7e3a91a5699c6d8c000c6967a478e99bd1648086ef26199b10e6b6d3f0d63be6df70ff09fec098da6368365880aafa82678e8733c86fc8b3e1c62a47345b03475a5d2c1b70c79708fa147325b2fbf862e7f0866a108d10b262baa50e9734c61b75b818770b3fc802be98322d7acb828aaba24110a94831fa57a4a795f35c96c42fd994133ae787f5682499dd6117627ec3cb363dba680cc9add74e0fa36100fb6a860b9617ac4202c8fb31a502c31ab39faf4358fc9c8eb6c48f9232e5cde217de794fdf98239d4d5f1880b58fdc236b8fca608c72920c88eb1495fc6c684c80fb5d627","path":"m/12381/238/60/0/0","uuid":"a9ffa275-bed9-46df-a858-819553789c25","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json b/scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json new file mode 100644 index 00000000..6b0b77d0 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"60f784b8753ebc0f0feecae6f714ed96a12297ca59cb58407643981fbcf3a2e3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"03ea4c8ed115cca0854e53b6"},"message":"a01c964b402a1ba83d8189c49a9543995db059092392b5567fcbd82adb73bc8451f3bb5421ecb22b3956bb0a74f5f41db3cb9bde81b3e1c1b55c167a43d3dcf1"}},"description":"","pubkey":"0xf4a0bc2a86a19cec578b68d504e37019c2de1b82ba9bd33b1310f74413fc387c27b6d6b0d1d87980188bcecb624809185197f1fc92e552d23e05d0c73a89c88462d7599bf9a6f38cbf5583a4fc05dbe15c1edfb4d025247647ca9c8ab747cc309de032a81a4c60e76cb935a5f2ee74febc5c1a5e1fde5a9e29105afe8ad151603757c5b81853feb7703d059503e59063c0145466ec036d05dc24face9e08129691f370a499d51fe63a8992705a1f797aad3fb27079896500977de9f842ddcdc0e4c45de125313f9db1713c9e1b02439e2824e33c4ccd782d6178ef64b147454ca9b8b538b26c05e5016540f896db74bf374cf4223920a68f29567dcfe772a2b2558c33cc1e1b2e991568887802948bb99ca44fa942f1cae4a14ba383034a4374fc512aee112834ef83bbfd974fb091ed2310b9873ec247d5648fb610e937739bc8d60e1dd45a172cc27b6c0a0788684f8670e9055ca3d59bbfb8d18b4bab45740a011e96edced66c45d9efdc3662adc1f68af6c1f7f4e68b66329c15da2cf983068c263bcd7209ed35f9863eb9e1816348adbdf82deb080b46deae2859a790d59f86d696061594a0fe45278376ebea04b7f9e58396f87079667864322c67f50e6ec144931e1ce339c4925f393fb2fea862b8d40e1ccd406856bf0855549fabe35c8fc736bc20588dc86eb6c451537b8aed9b43cfe1f3aa1166330e4aa3dcfcee9a104e96ea802ebd9888699ef61173a6cb66f888069f890557c222f2db960a32bc00e2e635f7e4c64c38739cac9df71d24fb5d7bc877e77534fccd3df5aa3ca2858fdc13995a43b8a7c32d567474ee947cde2fdcf0e137549213486ae9e2d6f454a106f3608503c0b79567b5b950acd42b577e54a57fc5109aaed706a7ca0b2fa3144847f79553ce9c44ca98e0c9c6dd8472c94205e7e6351806a29fec503e5908a3d1772cb5c3c922bff903985c1c66e1a253eb6158a64aef200c2c15e7bd454cf5bf7511eada6220f170c87335dd4f850ad13f10ad1d1e8f5cb746bdfb1f77f8bd9e2acc4dca0bd2ccd9e12eb2a80a0fe7153dca1ab9d7022ca138cc6d852edbd840567de1c2b4d885a389db56883e5ab22782ad54046951e4b55ea4b03d5768510c6c27debb23933dcc2f028c7f655fc9ca1246460c62dc2f5a114f1400d580023de1f8cc6ba4ecea872beb7324685147ad128b61a50ed9b74829cb93440c154f34ed650a151f939aaa337832cddb1aab8778deaa8e85bbcb620cc144355688e87107f9043237d19e68add3bfef5fa45da141506728c5c09ce2c087cf12a944f9f014e7d5221c16edcb204aa154e7e0955dd46ae41df74f1be96d24d5dfce401b6091d16ad7377879ce4feb281f20b3612ef80649dd99ddb3346265d583f3a801c2de15172f66c2d9c32bd685eab1508be364149a52f65904d541199ca01bf5fe68eb508a843e05a3dbad59da64952a1a05307d5faac859d326248d97ae7fff9d4cd3a9cca2d733415be96e756c8548a500d4c5bc32aeac6489f25c38f89c4a8ebdee99143c785d9803eff0158cbed063b0474ae34379138f89a78763f924e3a2dd082bbad9a0bbc8bd9bd7e4ee5e656e081bf8dc496dbe39c53bcb28636314003d7eaf5faf55ee7776301ff87955b5f72ecfcbdd27a7879c055b96a5e7ce6609d730b5f9c4f6b68f61ff5bcd1cec97d2dd33ca69934ee2672cde2e0b9a9ccb913af8c0f8b58acdc457b6efa1ee3aa5d26496bd66116edcf59d9dbf62bade9d9709453a5c4a27a009cc819985639058eab225bf6dcf913d239a75c4ace30b0a3b7b535625193f258dc62bdcc1abc7cbf5679ce88ea9190c4296c953969fdeee34d1413d05f5a48575c81cb840599337f7af1c83c7d1dc9d01e6c0cdbdc5fb90561bc4ea0e5a3feb208b532a2450cea8f2e40c305d08e5a519bfacd80fcaaf98f45825a50fd9158be151154ccb8605b6469d3e61429498a3e62c2f77adbb329b57b9df1749628ff9e269d5eaddf4cc3a171921cfe5840c1c0effbdc641e72f037d24d1d989cc02e4c6885bb33d3333fc529ed97fbf1d95d477bc12dfd9598faa9a6f67bb9a77f866e6e62480e2ce5a8c3fc333563117a7f70ba131b2abfd450a002fa2d173d41febfc4a0a7b0592be46849401d39e4b6c77638480a60d34348c9183bfdc18980254d8349c24c2f3d3b2b17cf71fcd4bed6b53cc58714fd0f087fffec63bb111a2655564297dde49ebba7859190a93ea610d3460f56918bdc84b8df88c2d0f2dafb442566dc2ba59d8e4c2afc4b51fd71a915a3da750cd827bc80e0e839618d2be4e50eda83e5863e070fa2e4da6d4f2fc6af1b427c6917c1baf224c8100ecbb1513ff7ea9e70347a15793cbbb0890f6e9af7495b127f2b7c4312ee905d6a22391a0460fed6454f831937d1054b364d19187e8f5c0968f2022bfcfbd88aa2711967cfb8c235269745be3a39a33e35ddc4ced81a4c89d2ff073fd85dc48a1d4e662f76626cdb8c516943900f93f61acd7f563ef77b7d5c4b5188efeedb52ddce61bb9aaae5e51ca5682527d71fd2f49af5bdd78a7153ac4d58007db75af17a3ed5b2a56dac9a1d4a4e05870adc9fe6885766b462760d6dbab09d563b8f7829e21deb7107435eccd2b540a55142c5d6e83436788aa2ddfc393b5e07fe1505dd932189e41bad5e017a8290d06af0b351b609e3b6398f7bfc859d5773b8d79eee061018e260014c0416f2848f3e8c51c498606f0c84df305e634c80e1eea1f4f23e89e2af00280d4c9d495214325d402ddde03d212e67da71f4cac924ace26ec644072639fe3f07bdf194be2a4fbf9ff5d4db68e9dbbc4321f7ab09bcbd004f41cedd2843e4f505df738cf2f50b741f51eba63632bdafcf95adf2ae906a0bd07f67d6d5f1cc8f2b85a235208e7d365c79eacf1669e76c1c8b51a27d54c20ad4d059c37dd1c5662ffd066441607931a3a2b2a7fb4d7899931bd5f4439412a466b004f784434524083ad9866a6c755a476e523b49c1521e0a08dd048ea15ef24757e725c1c92b92e5d5b1974815767e98f4cba8980876b6a55fc0f8f76c416c1e409a92834f6216310cffe2556d7cf68193e9648a9ba9cabb8c6e3b1e58fa6fa0b0fde870792c455fb979395ee8b3781de481da66ac99ba2bfdec83068b6a34d48c8a35454ef7ae5f451b0cc2a688020e06bfe9665e3a592153c9a413d9b55b7a96fc0b712f00db884c48cd81e7de669b89e22ebf21535e6c31e32672600bcf182daa4433661ed5ad83041f08d5a26a24ef099670e2e4668cf47ebe4949beabea4c9e3474b7c18b571aaadabab012aeb8d48969f6431c1d6d5582391b269f16e115a46af35945ed7c19a1d711945f4af2f4276d7674ece57446a125f095a3dbf56b763ddff9eefd40f3cdb795f898dbc67caab407106c3b15b6b39b2adaafbd69890d77007c0bba17dd703bd4bafb7a992978001e832b26eff37863d494deded100ec1b1e5c5561c0db56eac2d9f6f372285e96b61296dd22b6fed647ff2129f34ea0df8ee8a23b02a5a4ddcdb0ec01b30a7512bc65c79fe90bd446689171443171028a40f088a8043ddf9ebe525c4c959dcb94b5db13c0439969c6ed604830015daad0ecc1ff37e33e1025c22ef5f48206affa4738b25d5f87bf354","path":"m/12381/238/61/0","uuid":"dbb81c96-1bac-4eaf-9d86-099c2556428d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_61_0_0-1751540680.json b/scripts/consensus/validator_keys/keystore-m_12381_238_61_0_0-1751540680.json deleted file mode 100644 index 01c803ac..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_61_0_0-1751540680.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5c40d67503d0be57c13c4b9d767cc3ec20edefe4dd50a447b9cb1055dd8b9de7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"815b8d5155e92916a6ba5e6e"},"message":"f8aa43676c32577aa4af53d72a29ca0aee6afbee9284c82d86cb6c4d1423323964916387a8edcc2a1f63ca352f4bd8b062b4bb234e7ac2ad30d02784d38f2068"}},"description":"","pubkey":"0xfa7247cb805f2b8baec9f33accc809cfe21b9ffce47f32f98f8856dadd5eb3c77a925a0072f144737cfd59e0eebf6ab153792a1d06b370f9d8078c2c59135abb5cd8984f5e618a8f3cea0a527491110347270f0ffa574a7d0e0dbf7525fcb52ff80286a37e1f46a15b825702eaac015f5f9db31ab5914285da0233279760726c9030f27c82f078849d921a6967326c41477a35f3e82cd2140161d59d0c94eb9f2a2216afd85929f75911bb904028719220282da84112f25c85d7639cecd3afe89ad7a6d727b298ea27d5767c09f63c455f993e143a4c7ee6b389ed15da87bfb78e6ac114a4c0113e62cf15279138d4c5fc2641d63caa79ae651de3a83fea2ff556229e2d4563551bf17b3f56377d7ef6640004d16eac5f5b5a45a73c32a6ae9f2a998768f9ea797f1f618e61dfda261f4bdfa01bef2ef00d143c32de53e6ebdb4f06c9c7386b8d94f920d36b182831e0d5551bd6d4af37f81a3e58751809911751d7ae8cc51e3b31f4a6a866c502b385809204b23acb2c2923ba8dd19fdb245655fb1cf9f1794c01d91193159ac36e2149c675f92bd22abeeba80d447cbd4454cedb289e0fbe855475c58e6702c87e0cda58c6f2d779dda323a1c2277ba309ee3f31dcef9ea850092566308377b10570119bd14fa0e10ad751a7fd95b7ebf255e578c48fd3f0491b53284fe934db933ced67e598dee1f2ec270753650957046c6ada12a2f91c644c55d7033fdb6228c95acbdb027422be3c5f71dbe1a1f122794b6b29b3175549187663035fec88bd5fa4c5943eada0715d42d0fccbb0cb863c747c1fff337b192b674547de8ba3917371b52403df5dbcced5bb632f61ba6950af26cce96b8f73162aef2c30c733a398152453f99a4b78a7b5a4fa3ba27af5cb03077819643d8310a54291264d8a7736b7b7a3c047b40c4f1ed162cec9880d3afce170782671bba8b9eb5914a317847cf910f017a673a1e3d55102743585433b5334331fe3ddaf9979f85b7f5f3fae84efa1c518c7cb9cc59e315afb6b0785a8c2f102dba9975c70b523fac965549e3da6086d1cc6f024d35fa060e34d96f03faa627633017693bb6cfc81ff4b3235c92edd6fb56ccb187b0ab43e6c3bbaa7eab149bd2682811516789235998564e2c43f6f8a8bbe37496bd7237cdedefa572af2c2d4fd05ccd30e138d3af389e321e89c18d17ed5e32bae29b0cae716285a40e977016b14475737e5012507fea65b6f273b48b5bc34b27f2814cdca344a9c345807d3958832313bdffc447978b0eba06bbbbb979bec6f367bf474e9817f6d5679bfd39670191e1501c326d2b3efc9dbd17779aa13ddef0cca0aa46a2661d6c39f02672bc9e275dc99e2a339115acbf4e8f045c2dee879d25989be08a4ddff67e28de43f0391b629b4a9b3aca2a1aacdad9902f5a64b609b52b996097b23e5d3f490ef4e1eda959df3581f20468b9612455b5a6b17faba63ea229eb1900e6177c99ead228067c8ed019c2615b26cdb7a7c5f2a15b0303c4f044f95e957ecc65e6391f89416668feb1745cfc8a368212a4705daf733d26e993bf5bf71e5734c7191000e2816b6be904992336aad3da61d7e2bd240bd6cc2ffa18346bb7523adc27f6a2e0ac0c11f86b6cd67208170ee51f631282717cdc2013bbe8cfd403f42e376d979d1a0d06aca94f615c7a608b856a63e66636980c6ed549775ba40f1fb493496abd2350c12e243d9c06ee0404d23c2e1d3a0388bfeb1d810679913fc4b02291feef4805ad45c1e881c56c4a971ab359b787d751fb2e4225bf8e134b8a7b881a49f4c1c4208d5a84473d71091c339b0e6e851c891886c4b4332ad167806d9e1f706ec7ff38c0ce404c74799f108501ecf2829fc502130ce44e148e64134276529cf8d749ccb336a3da9d91348aef21ac884b2c7c753ea63e42885d896e1566ed92df1b4135aea5e8c0a4ed9b346979fde02b78d684217518fed5cfd3b06bf696bfb6278554f4fe578dd9d0be81c4700f27a2219cdd6377f111802a0ab1b3884a19b3ce11d096878015958135a2936c3d200ae56a3e9777f5fc0782228e0cb61a12d55ec64054795c8d9ed5d088ac7e051e49dad92c2566d3b118b2a9bf30afd9fffa7c29e169be1c3914b717b9046e9e29a072eb8370b145ca433c0721a1ea8bb9c35e52cd72f28325e6408ccdcdab25ee6485b6a6af48f343e6ffb52a01282c0f586c46cba1cfd396ba93dc6220dff0960ced35813f974dab39e71590dfeaac4e146f61ed5b002b95327b8cb14bc6ca6a70c9a6ef0c0993348fece0aab9b3660e1d7f27a39b396f9c190d63596ff1a406e0f8baa7544bc93971443efd4390a0a14f52a9a5c6e774362472cec6555a2005cf38ed3ff3ec605b6e670d09d74152a6e7625ef58da94af8dc512ac024070c401e71d3dd14d6d895f36ca7a624faff1910a21cf65ecd3b363af443b4b7a9dc01cb76f38d0ef8fe63c720ec9fd9c55010db29bf7fe64e4e122053b6bc8fa2e2f7aee5ec84566ec9c04178200b70290171777426ad851119c218e43d70e373604bec3a7daa4e9a5118943dfa3016f820ea7ec61bc9e6033db85a28698d54f0ad2f55d89069ed50b17b1a4bcfb48f08dcec14fca3031f76930212c06e40dcd606658645ced457bfca8f7280e99ea1ddeab7648b1531d1cf05aac757d56cb2aa093f5d273723d4bde90bd775814800d6308d6eea13e63b0ef6371b90d3bfa194f53a2a41acd48dcd61865c7b9e39c2e615c9fb9e39eee563ed555bae5d90a60057a0eed3ac08a5984083a116d0eea6edbd79ccc5c2809a841e8c60c432f221e397f9e6c5145b05c5922ac4c23312fcdbdf4e1bb87e69827809e4d46b8983514fef4b623487183ef75c4463fb526e29d74c01933e9da6ca70e28e6aa73592fae3997ebde948fd2c451142ee6b33269ee6161cb7d3561fef5e506a7d8fc9f8ac42b615b302672baf0ff5338201161241776321a50b73910b9f415a7f2e0ef9e0e0fa51d3afe7299aa15e9347374c5c6bb09544eb5f464a938a3d8c91163fc4fb43425a3a97932fff61a3c95e7b0396c59709cf204fa783370a21a4fd6a26e72f87eb9ff12f6857ced42e58ae05eec100ac77f542b656b200e0754cc13359985cdffe0df7b30a350ec999488d539e792a5380180e5472ac343836e0745b120b7410ccdce8f4ed06a99f2f00e1cb6dfa3c2ea00c82058cb1059d02880efff461eadc05c873935365e0ebbe98eaa1b9cab48bb60d1e26fc1af1c0648a835f88c66a9258f9bbd6ec93062ecdc77126edca20a7e79c2bce5d76b856b5ac5190c4df79e343415136d7e56c54f63691cee7f5308e756b2ff3a6d28cc779ab35ddd98097c545f650ce46ac41c53bd4ac8d08a1aae0a5b0b079163f1243b950553d3f5c6514dba552ea1d9ea5c2efe66d32c82758ea6abee7c868fcfe9b4b7c9ed7929c2809ac9f7459359448629883af968c1d1b599165fce0be00585a580e10e8decd0d06edddb020c822cafed97b4a5d1c020feb8dbe5778315e762bac720e9094fd50bd019b5c9d90bb1d8ee1d8aa36f85f9e09560483b7634ead0898e1cb9db652b0f51e95004aa29b1655b92757bf456c8eee0c67bb3d35b7dbbe915634d194976b0380857f5f0f0b61bedc168eb2044c8c0","path":"m/12381/238/61/0/0","uuid":"63a84357-4b74-42d9-8987-8e08931bf891","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json b/scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json new file mode 100644 index 00000000..9decba9f --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"02786739842135ed69bac8842332a2c605948f5f0ef705efe645beb20bee9f77","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0cbe7cb150b229a4cca54976"},"message":"15154a398b3872a090d57a2d8b42521ac3265ae97e686535164893fa07c412ddc5ee1b8a908996f6a50900c97e848466f24ae5e9390d1df350d5ee6fc483fed8"}},"description":"","pubkey":"0x8a1b2dfc42b347458adcbcecb162b39514ba5168bc72a7d00816ecb22a52189d70802654a3dd90beb82c8fe64849af245bf4bd53575f66fe00a7ad699f9085fda3fb72063f726cbe1ff13e9c57c3b8e304afe0990193354831683ab6886c5b63f1e0832803d7d9e4d238fedba252ff7f0b427f72723dc8fe879a0aba1d70ea5320cf26192c7e43679e859a4f7fb976255ff965b0bb4b3fec3759a608e01f1afe2f3bce8c2401eba05dcbdde558c3a514dc3b56ca5fd28430f8b95f0360dcbaafacd14af6d8d8f40aa68780dfe77ebd45b776618a13f67046d4ef05ff7dede1a789c271228248d695da2a7dde3190f46fafd25065d2165cf40a7868e92f0e611e5eba3c7f901b278cbd8078db6c1c6bda55a1c4c824bbb1cf7717661668601b4f751fc756b7f3fe9d508df480f77cc589151c75d121f21490e7e572d1775885427ba41f49359eaaf097c7da05bd573ecfd28b957061a38f5be8781a1ad3ed776ff4fe488ab61f8cbad99a7887e92778c5715ad37fc88084ae9a3f283e4a16c1ee7c04ff44933273701afe78e62011dd82b3859d2e68c2e803fb040aabed19509d7b07c4ea1480598757820d0bd0e8e11b6f6b18f35dfcbeae91da13934e7edd7b57ca92089cff95ce47bdb941e366226ab30a6da74adc28f60f23ae989c44e58692c7597607e8d5aa3ed3ee9979cee1622b94596e44ed926e52f5268b662d27d6e3aa46dad76eb2f5e01a0d41227c9280a07f81e65f0718a8bc8839c4e0647c2763974a1d03d78abeebb52b7585e9bd58e5628280a7f60806eaf42099890d56c9207740868d810fcf9f663f41ffd31c1d8c247b7544e516c27f6c709602db487d2cd78039f538eddad7b1615bb0f7bbc5a92daad7d816d52d8e89938e336eb40ab2542ce5fbec6e5c08f3005eca03f89d049507b8040586ecc824d7b78b78b03224eae02bec5450c0262f736a691e28eac7ebd7617af2354747678f01ed878d9e0a3ba5a87eafb41d69e7220fb86a032784ecdc41c47258ef356bd505a37b61a9aa1eb25102fda0c0e0d405f0546c5eb28982e95b2d5b077057a8ee616f311e72ddc061bf47bd2c10935f189daaf81e84e5f993dbaedb9ee99976a8dc9d94737f3cbf8caba5af45eabdbf1eeb6c141461fe903544e2da560b733bf3ee252d4230c3b9cb04625a636dee4da09a36d1121a9191a5aa09eb9fe6744b46d224e5920374537a91dc2782833836784bef175bc6f1dc1b61145079cd0da7e9bbfa3d9abb6bff9661e7ba81e45f94048d9a3aeb0071f29c37d30bc137f6667186ac3029c02d83ee0bff8ec57e9d533af59a0fe0569802927d1e40ddb6e572b0ba4a2b9817cd47af740af392395ff6b33997159774ff81cae2c350feaf0373825d3836881d24f2935b26ecaec72a3c17ec27bdf42cb7ddf414cd29c86c307a27aede28ab1c473484a2456c670bb3fc72bbf7fa216d7329a8090ff4917f02d0e715cf6fde7cdeea69a9c6b71d0eb2efdd5afedc3bb8896cb4ebe488986a13f8f037c68255d7745de9cb5e5963eeb49f6f999018de0e15e48e4f4ea808d849081be8fdd1a547b4737cea42bb73d6b069f62eaedfb6e0afac9d3396b58374bcc65f64831f8a8475c1174fba4bf2c066c89c223b383c5381f112a44dd2cb7500eb133382f35e9e7f58a7e19f8227cbc280c4478119bea98cfd47010800f3ec46a0475673976327f4fc0d18711f2be532ead0be6594d0846b303b3af6342d752f940986f69b8866d2a442650aa9bc9165c5d2370ebce2d322042a3cc69bd0d044516d874dbf221c76da818d4b08171fd1a3f1cf3de3abb50bea0bedc2fc6a6cb684bfca3b75ab4b97f7da60e1e1c154d64efef297b7113e7796034d16d34e933f27cef00c781f2df73a946ba5c801d0ea1d764a4ded7545d92bf30b24c33922b10cf52bd46daaec083ead772e6b6992941aa118eaf13af80e5a20772bd0eb66173cf291ea70897148b4a4ff081f4f260be236220f124ddf51d98d3d65be6f173e5ace6a46d9fae5d9b915f1f65c9cad10cd1b32dd4fe74fff4b919a999be1a759d5d6707a5c905609777ff1949f3b21c78d0fce5f29189f00964b5b7a2ec3935ace8e6ecd8719277e13e1b043f89d2dda685bbb39ed2e34e463ff575edb8420567b0301df41cea613b93c3a38c6882017d918a6a247cd33dca6a97f606ef34c1d5a06149fa060d075a86e4aae96bdc46bc044ca4b159d23d6018c376fe780f0739506f010ac38ce473bbc61f4badee43969dcb4c42f49f16e835a95ebb592dd3380ea3e0b058240219106fff2f32e43ed280636b7e3a3a278088a7487bf6f52e4783033ff95d0128ab3411e1495ba115941446df6742146cd7542b28c2813f36bc6600a944ca7f763a6c54c68f948d54e2a979a066d4360347ff773452eaaef57a167c29ac7da39119c937a7ff69bfdec029a38de96699bb6498908e8e5192da628b2c9a1ccd0d8983504d923c40609e9d3d0f74aa331dee82f4fe7ac8cc37a6afc38fe0df8c442317f0c7ffc3bda9e6775ad88d5944b95659399ad5e6ad4db8254c700477efaf661b1b8ee5af14896134b60998ebc1e8d2e9edfe700b415f832c9cfb6da3bbd4639824c3de17b65f88d9d660e965f9d6f466157a9c031c7b388fb49f52fa75a6874e635d70e32b417749b6f9e0f2bbebe3b38b16472c7466d0ad5a017f4ebe3d73e33423888a3961ae90f64ee0bfaa60cbf529b4d30bbfe987cb7f08faf26a3e734bb5930dc37f11f7d81ab79687f8cf68535df29d7e54900055c1b91141a271525d581fff6d4abdf329cf481dcc8f880ba3993c913b5e9c33516219c975d284d45669f855a7af17ad47628ca5aa183b424471dc2ddafc88ab28b7ee7b4dabb0f77df51fecfc69f92982278f5982a581fd58d2b36d38f88c6e76d93d2d72926a6a9982e5ba55bc39144b83f1d8ef3c893f666c49a5d09a89b98ee3a7dacf6b0f7c775a345e2f7649c8b33a07854ec1d9c5d5d3f1ec7f91397163d773abc49554836508f4b8f4a7e61b2711652632ef72c5d1a122d3afe88b884e2836a1ac419a0656b62d6358f0824aac1120aea829f11133b9298d9cd42c09fe8d18ca8c4127c3057832ab849088aa40814767f584993de0db8c2616cbdf56faa9c1a74bedc0689816d23bc17056a9f57a1e8206107fde206a197e091c88e1aae6814a5e668154c0d184f4dd404af657389c48ac7af437d8c2fca1d8a9397e8f79f88a910971ee150c7388a56540d716f6eaa41e4293ec40b9b54facfc41786361e9168bc1601bffff2318330e06cc442e52a2585f5f5f36e78410064042c789b6991661aeda4e43794990209eb195cafa63f5ec8bd2437cdc9d48d0994e8bf48941c54cb4eeb7982febad6726b542e29ad04373d4c55496b5adb5b0e6702ab7319a38d83eca8261e88808184c5706eec27b620624dbbaaa46668ec9829f051b943e828afcee9221f1999133b030e4ea36776eae59b6ead264cf5271ad2f622d72eba4af704742cde0455f8ad521bd63348e29aac6eff6df095e912adacb80ccc317c75273af7644d999a3ffd499929ad64cbd5bfbf5ed045ba90dec5cfdf14a3d2888f518d7a1f604de8e2824d3f0cf11d2a591361de789068e30c630d9bd2426176e6d24041","path":"m/12381/238/62/0","uuid":"74522ef8-4e35-4fc2-a75f-0fdaa532aa72","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_62_0_0-1751540681.json b/scripts/consensus/validator_keys/keystore-m_12381_238_62_0_0-1751540681.json deleted file mode 100644 index 2d86ffac..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_62_0_0-1751540681.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9b01124e196202d49ea454527cd232d5f419f091ca35cdab6d64b3facfdf369a","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3c7fdd4d3e4b896b127eb4c4"},"message":"b8d7e3aa63063d3ad9603320eeda014ae2a4b42a179583df27229686b2758fc97696d0870e1f0063b766de8d6fa1366d08b82dbe08d6d0d0080f2a8647274590"}},"description":"","pubkey":"0x63fda6952cfb958eda2b84b1829d0f96e05979a8b09112d3d1265203a5b6c48c0f8cea9f4a5edbe90231d51cfc9558a62c1a9cd74ffb3326ce21dd5edfc682e2368cd3f6aab57afed32f4cff515195661524768f252749576ff618ea904ec8b8802d6f848bc4fbf5d336f8f9c06a995aa7870d063f86dc6cc3e8cf3b4388287d620e3c36441854294d7de417e572433a620f35f02465783cedc9745cf63fcd8537bea90db129e3cdae0f43b609f7fe5d22abb6bdc63385f91ddd33ef49d7892f394958063a56cba153a48ef8f648c434980d8312d515f77876839ffca6e1da9e9e0ae72a95e0415c14d301c27c68baf6fcda2c61619618b46d41fbb7ebcfe035612a843451c32a7f9fe432459f139966142358da74bff340bf56617810034396b260cfa7ba24144d101615c5060325141c7d265ed1989e1db3a6fdc140e8ad34250f7c668399a752fad076da6d4e33f8cdb78242779a76ecc4099e5e6bd3f930564baedfee12bce29c5fa478e951c1fe6f59240061bb5a740f5c69749ce90e26e6c82f690b16571ab15017478171c346efac879870a64e1f4d42683621726e27eee95828ba553a524e7a5464dba5027bfc9afc8bf73a811fbfc62a1ba94cd4ad5620c6f1676c46f4acbd824bebfdb0f05f328e1d71b7d8f4ce71df85858c00b76b750167f2a6b81709213abd7c5315ee04cd5e99f20dacc722373ffeb68c3fdf642b534e986f0e18ffe0c16e16a6e3a6faaff6e4ea4625105d9a2403ebeffff814f73ed80c88686ca57267cea3eaca234ceb64e0acd4b71f1db10a2da4191f2e7d41d2d77b806d525941741ec2f40af2abfcbae3a84da67905ccbde580763d52117414121b5c7ac9ac47ba7947f6b86db85a0f1b68945dbe04788d191a2bc6184c3aebe4c98c7e0d311bec6412a1b89b8501acb9b2f25edc6b86427cfc57c216e1777b125d31aad023430354ecb024510d27930029fc28028c14775d7ce3b24a7ce0b183f27c75dcef07c36813dc0644de2319e049b115e4814e02c73fb9e9f23c2471064d8ab20614e269b33cfd9381383fb8472b8b7de4a5328dc58c768d522f65425d60f0cd1e9077fc099453c54e1501350fe5b1b00262463275c2c09985471fb158a66215ac2b30eee7dc52759fbbe9d60c28eefae9504c97759140ccecc0398a763e08991a07ed024711ce07f787b4e25319a534d3909b9c5d649e4f16f09715ed37dd1393f3486665fedb09b0cc182f1f037e34c75494f07cec4395ea392c07073b89c67ebb35c85bf8a3f1c991d18d23bb5eaa84d8d4920fd56a5ef92db64af72f2537c56cb0cbf54ace1bbe9c20b18ba000edd384088d94d4604c1174dfc8d9677437e743e9741f5824a3986af82dd05def95f70e99e77152444202b3f7adb300d6821fba773f142aa8d492422f9d407ebb4d65bdbfb2fe5268b8f319346b76aa33cd53ccfaef5cfed79a20a36db820a29dc759aac187d211d66455a9c4da315c6a30f6ac14546422451683b8df1f944ec2ac2a44869bce58092b49454d6ed9222358c174bf7b9c285e5d149145c707deb2355ae562bac42017a6ceada53cea81eec213a332b9f543e74dacff9cab494c2992e1f5c6fce2d662b98ba2cd73122e007bba322dfbee4aee6182bacece44798da98461b51870cfa774100626019489c62fae0d4626a7e4cbb061f530bd5697b5079faf842ec2bf4e4781f9eeb2ad548f25e5f8603f3e8a267c18279f12d38f4bb98ca08cd7192328582dbd73ef539353e2dffbbfb9d8755d59b1037e16fa5d5edfbed3d406abb2e000eccdd871a04537093240056a544f440a87e5a6c8124e4a9770dd1e1e3bddce0a0b3721915417fd95ac6f0fd1270223f8d825069ba848409e381d7ee9dbaf71059ec0b20fea775be6d4680a050d71245c53b2da02833aa63d76244a1a8e40f9ee8660b4f60dd0c1ffc51c68e7f1079823f26cfa122d9a5c5f11a640eae06b687ec16f26eef7b66fc300a93b6ad06d827ff5b40f5b902be20521c6222be98fa58f4d503212fdf0ebfdc609ee414714acc1c24265541424d7a328357a9b89d0fa2cfb92678169449a670619018ca5c03a6cb08ed95161d0a9b1e53b6870997fffae05e3e7252b5a855bb3036d6b1d0f29a0fe1f6119d0ec07c5831fe1d692cee046f4eac0bbb00040425fa5f24a9b89c2238e2f63131010ed0c5374fbd15429bf4e4023e4146bc38c496a0daf9f9394fa59a00617af4f4d8d56395afc3e35d0609e565c01fcd1bc313fe8b6d196943a9c681f0608700477f345eac79d8683cb41d9d37cc141e201c49415cb9a2a52e6b48bec578aa416b2e15e0210663b7c1566c59256ee695dcf7cfbaf1448fc586ce86afe1ee712a21056b635fffcd8c87af189c5dab94614177fed109bb700047cbfe3ec66c8454123cc017108e28a148ef799c5fdddabce9a95035afbf7732954e4380729bbb6e135dbc821401654e3463c5e500c0c90747a1b4e8d92bb111b4d34f65cd25393b47e59c3340e5051e3f651bb1346f1b93ba07167e278fd9d5505efb1b788640804ded27d8f8e82a8be1dd31946b0a4871fa66fb7fd86d36ca4c27ba31d49313707e96fcbf3c4c5ca4978750eadb2f84e135d4e137f3c644903debd00cb8f175a4929baefcba21c8bda3b55923c375df93fdc13ae9aaddff14de7885fdbe8d8a318cc8b4fe095d02df48adf9c357d3a0e88bf7ea43bb329318de65d3aec6d2a2b1dd9a0472afa5652e7cd2ac385b03752bd1be8ac2d45696ce7a4f57919464ae96ed157a563911a48de9a2d93b59bd0bc0af81511d47264384f736df8bc2cb66ff4bdc4574c9ac0275452be4e7518537a43ade5b742d3b8f9b1c5704a9ae36454ac546d7ee01ae57b6d1a28674a10c7fe22e0fa7f9fb8f5c8f5c910bddd5a1499b1dcd9dbe12f20795b39adfa26b26fbb293f903b8c6cb247d2eae42024c89253a8f2399ed1be6dc9359a2afc0f194f707b9525a3f907caf20ae38fb70f09dd6cb36d72192b440bf832fce4de7c3627c0f024b26573e7c3da93010ce2489bd13e29cf1abffccb057a79c84b647d19bd345c26797995b5df171e3fefb89b993c7390bafc919b25c15a9955a5baa665fac5a0eef126f8c2d8b1ef1b3de53bfed7b50bfc6eb39583e6169765b4bb9d0330f5bfc6553059b0aa9552e53172b5501c6ca6753a6368fc3a8d90e41690dc2ffb2ec7a63023074f391b528f2ec862950c92bfbf98a0d42eb5d8928f889ac83bd960917fb2bc613f56f9122072a381a2dcffcc56737f15c01cf09bee57fece6a28f8966e22be8497218761a7e855161f0a014d9ae62462bbe3f996851c06f6a881d6bda07b8bd3fd7d14919947b8214e3666dc83efbefb0c77ce033f22a1f3f89c68d1cc8bddf55de35ad0c9763269558979a36480d01ffddac0ff7409644fe072b348ea83f4e3f0fc2ceb624e99e80d511cbd5123ddbb2d91af6d1d32ee9ea5598e51584137fc43f535f4f717dfda8c71565e37d6be14ecfa769592419c0fe82857210f99e0a389ed95dc1d454f9a055545ddb0c973b56ced1987081d894ef2d217391139da9ba7e198d09143921815fffe4d1f5bf9045397ff0682ab0bc330e8b8163ae793d48517f2c044b6143950fd5316cc4caf16243e347aa8cf0c5b","path":"m/12381/238/62/0/0","uuid":"920a0076-de43-49ea-91e7-a5622be1e032","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json b/scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json new file mode 100644 index 00000000..db527634 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d20d36f53efeba6f13e1b7a17eb4dc28dfa505a0182aea9ef55319bb1c2f8e4d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"498eaf0f75f9a579abdf4432"},"message":"a2cc7fa5917c4f2d497637d6e0ea7e8baebea2d51858d6eb185b8ded93f0df072d5d44d7460efe14c842e938dfd7ef6bf495cc66cebe307ac7e041f91df2b42f"}},"description":"","pubkey":"0x5e00602af3781d835eec7030f570a733a0fb8b29835732f794eaff1b0aafb998be74aafa9ffa303b125f1f39b025e3bc09f035dc710a8b1299768a5a4331e738f779c4ffd4f71a0cd5c4d0d00eaee21633b5b8da0b4a6b58ca641293ac05657805aeb546bc9bf58cadca172a12da92b38b4f11ce66bc28a70627ebb836350db177717a290486d685c723d99d5d30069db6e87f3533ad56741e88c78a0916014d0edf8775ad210bfe7b74dd359f38213a7609c709d019c558c090c475f018acefe56934e8816d71c7eb66bc4d45dc284631d3fc2489def12e78f22041f953c7e046825cd518aa929e451094d8371cc7531bb63eacff6662559b96b631797c96bc09b7da3e55922d4c77544f5ea9d553d89b2549e25fd4884d3a32641481bb19bc0eac601e15a77688114446cf09a6a9c3b0a41bd7bde136a2329488ef452789e40ea78f849dde6d5f4d5a19359951e368ca1c27d84d1f4cebcf88fec013a5f33dff2aac49957e6095868c6ea6111312854900c47c90dd449c292abc0b292e05a3791883490bb8142f8b7097b403683a0e8b8e319c303b4ec77ca79852f2c7dcbce8a89b2d68f4e38523b50176428c76764c4bcd29b846298216522a1509c5c6d1fcdf560b2c4fde83091c29fa0fe4ee445a7f7ac6e87668270b5311b21bfff8052985f2bf3e16dd8f4c01859ad9424c12a2d4d507f6414078f833efef3202d36135e826eca72afabbda9578e9b1751dc88b16ee7165b29d360625662245d84a50389252f70c762816af11004734999a48c51629850d1daf306fec8dfcc4efed76927b8798f6d74cc72064c3a81d3d3e64e10d7b0c3c3035df9de380e9c26a39b171a831a75ff2fee562c121ffe47d9be9f36c160db62f54f1fd522d0c8761d8b51d551be135e10b3894f1938edd4a2813f6c471cb092592c7a396308b50f851acfbd5e078284593a15feab2f73300534e5be66b9f0c93ce11f652a009c2d3873cf3174f9c2d72848898cfdde8558ae4d4826427a6d157e848a9676a8aae4f0a1bd2c2f2f7fd074a9d599b4214bd2fdcf628140d0c9e693239962e076ee3f87eafb3252c4480c42776ef7680bcd3762dd1d21266242ce6954224798ceea3f36c6fbefd46d7fc88854486f5f83f2e1ec8a0526600c6339ce7dd5aa03e5fa98d912c223360a93789461721ff8d762b1a50707fc914adfc6c8df7bb4e78c672a571990aca7a283b528a21d335fae144e91e0c5b8c7587fd3d8323ae1347c28ab911623f47237a79e7830d9e118365af4c7331a633b296f350100cf419ce7929d31bfe4bd3156cbfc3a37b350105c8dd106830a2b733be854ebf258169a59b8309840784d574dd9ba40e96941027e0b7ae90715f02cdad35b4aeebf030aabcc6e26b84f6cb4328b24b535dda86f4b6d92a0874f2226d7c44a41809109592d63c7a6f95f698bdd744a33919930efbcf9a9972f1a403c33a0654459c9290e44cca034496c7c13526d390af05d70d91b56745a2dbbda26350b2656c6103e8ba9083baf1fdc1156491d5f6e40d211a6bce3db916c06e118d85f0718a0f4512e539fa906ae445e8cdccfddc029987e59bc5529dc386dda5d70b085dbabf48382ba1ebf73b82f54612fa0fa7e112430d1a173c81d84ca99c14c67ffadc9e7b09fe5b2fd25b50dce11d450357ca405e80153c5b3a569024161de14cdda2f1466bda2f552c790be24a5f7e5682b8300771e47d3c749be5d14793a9836af55c325a74d2fc9e6fe6e6f6c8c08cb9aaa78fcdbfae2fd032986cbf86580f115ab2e4fbc5e38e4dd66a00580fa36fc8f9f900e5b2d3191750cabf4c43a396702a6c8a34133b5e344ef8d8f6a8bde87b4cd5605c26dfcfd503a34453a4a54ac6b01f28f4b9374478a7ff3ad9cad27d2348ff8e136bdc725f9bf6a4b12db13906ab9ccf4de1ea5ea2ec626fea12b2ba4c950455212b04bb90fae9390a03b2602c19989e0d43e884dcaf663d7139a7a4b5d30269cbd86c6c3d49e6ce2943d74103a3d7fdea7dabf6859ee7b69af9a159f520c763f32a1595736fefbe426a59b5ce059a9c61e7c428b874ab0db3ef8ece214f3a6650698a0542a7433f4d82b5f54fa0ac46529429842aaa287524f98e3a6a5452a2dff210394ac7522240315793013776a418e922f90985ef503a98a89c6000f55231e3c7af6e67c6c229298f2e6294e104d0e7ac54153493e8a9714e1cea982e6a3ff82da5fbfdb691092e620b312ac7dd1bbe3716d466a0f442918dcb23b7703e7dd3b888ab9d271b14601ce5f1fc9b7ba0e8c2cce10a1d5509b308de884e6e6ab935417af48d2ace87a4dd424c7aa55d5eaccc2ce87ebc6ebaa97d72de013433c890e5d45f35456ae11ebc306526e3e45242668ee3dd3ea4d023198365455733458f2c6b402ecca3765c7b2206715dc29bb188685c5102df5ddc4ee287e89fb6ef4f36c30ee2b57bc8303da88766bb87ab079f4d65b70b3cd1c650de3f0ffe0169c37232b3933bed6dd02e242d9cde4f58d35108dd2db04cfb3fe6353b498a8ca05c9d52ed6cb74b0f8ff506982674d8407284a019e5ea020bc60318e969de248accc29e19e4bf3ccfe398062c41b351f5c20d0007747665a8b060d95a941f5d223b9fe314bf73f70aca847ece5b81b0a2bcbb04aaeb2e25d98ef6c52096a0a796b34b601e475781eb88e860abdc796b3d97fff97f2f4375ececda9cc9fb7c18b3f0e5891e42e69c1e8f9920dded92e423199223f952b7d187b0122c218cb981458d7896bf3a30721f40ad7b67996af4641c8d1eabdab756d1b5fb8ecbb8937b9b301d0bde627d704397844f0f95f7a191c253c72ad1732ec68ee5bc7b8dc0ae1b19ccce0acfbba2f0f666ffc9fd22d176a99436a2048beb2e6fbb1ce1e80b41fca71ac7daf0277af70b92f8ad3c403136b68ed9e36696b1fd64568a14431923e3bfde5a2e930681af70c901bf8cead347b66448620beae7e9a4c994e6034aafc49354726d0ea29dd118cbb751c31dfd8c9c985068d9569689288c1bbf82234b57037f456628094eef28eddd8f69e648439acb7bff4e555e81fc3871ae286610e56783ec22558e83807edfddfd08a0569a8ecf62f85715e589abac2945febe4a73d9ded776ef450bf60d5fff1c5751e4d6308d08ea772ab3040db09590d6420df34c74966aba07e7274a7a12e3d586814d556f6cef9475420f7f99f133a366f041f59beb5b8de6acdba61225df771b89980eb59c406c6a1e5c7474aca2def2a98d336b7c33b473fd161da33e6950685d0a22a353b13fc608c216392a0348f0c191ba4dd43cdc26a0d165cb3ecadc1b30bfd522302e6f3b4c82b769af04eec1b855d52a22d9715144a77084a20b0ced1a070cad2b6afa1e5ea5f114075edf1b846c83e13f4f98129bc71f5b1328d2bb3ddcc0980b25696ee6728fce1eb65a5a594a63a662c1e8ba7de57207ae1bfead247a820628d80777cdd12b587923913246dbab463713c4388ef05e73df8c8464ddf9c5fc0fe61a9d4dab5fb149b8d444621816acac061f390d5d0fffbb3960865a70d4667228ce7bf8151f6089d1411936e9c6533a3b3125dc6be06f6dc0c419d5c844dc88f3ee2d7babf18dbf27c8825ad2214b79dc9f359ed1690005a3d0ab289b05a891b47716","path":"m/12381/238/63/0","uuid":"31dbbb26-b857-4d4d-bbea-fb59b6604060","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_63_0_0-1751540682.json b/scripts/consensus/validator_keys/keystore-m_12381_238_63_0_0-1751540682.json deleted file mode 100644 index 31877b0e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_63_0_0-1751540682.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0662552650ae904aaadabaabdcb6b5ea8d3dab99b7dd58c1bcb64b937027e1cf","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9a98377b59bee74a12954b63"},"message":"6eeae227429d1be7e2561547246686172f8e70ffd46448dd39f215a9a9d5fd4ddfac2689f68eb5eef9c247a9f5357ea3638a5b80db8cf79c18eaf8a21f9d235f"}},"description":"","pubkey":"0xbd597a05c62164c7159ac0c98997773ba7a9d3b6e16731f65cd9bb065894e8ae67603196d9908dc3608dfc25770a885e5dfc353d452bd5b42eff93e698e27f5e57cfb22dcf2d65be2963fef1f6cd49a952d1573889cf5267415efa27a7d19df42d734c3aa3f2029bc2f33fac62d792534816aa4b2119823fd2d56deb5d9372d92a125163acdd373170c57b6a277ab998ef063882121f9c6f2a31a7f96cb81e73fc9031399f233f944389776e5a11bfb66fd1053ac98241bd7af66753623843c832accb87f665768245bd7475ce7a8a480d18c9a3b884b4d6ba3e1dc78883c6ef53675b2641fc2eadc155ea518bea36e0c4b765878d07c8b46a615e8937b29276b7d214c028d8dcee962b1b5cc50586925307ba8a1e04a0b1009d8110bf3fff534af3e35ec8ffab7692b44c033441225a4f20faf442061edd4480ee3580a0ddb6fd6328fab1e74d9eb080a187155b9f556fde64551bc10885706cc64bc639439a87123f3cbfc34644089293fb1d71f64e224451f8d78bee90126c66288f5b18f61fdaa57848c0b3bcd3ca4c348beffa334565a6467b6bbc10a73c5284ee5222e50508e26d702e8f176982e8cadbbbb70dd884ce52f2659d16825d219607f4f3014469da29e1d0d7028c641e7b663b3b20fcac536d8308969320f22cfb0065ef35cb45a69bd98dadc502875266ca911234f5cc56e4f8827c146952dbd527487e78025cf1bcb54969bd559c4663adf974663afe677b3f8a6fc18ab6bd08c513a096e4439ada03b1d796fac58c2dd7f2cd5715e4cf9c0bf8de95840f1c7e7471052125cff4cec9760cc6962db2987006dc8d1aed8130c936422aa59a6a1e29731dd1296f588ed1b1931a5c42cc377f88dbabbf48295151b3b0854990dac8417122ad11e2e5c7893b252f1001a97133bc3c87d8662ccae2002590b61886af9de79eec2195fb65f8173e66bac6997b0b54eab63f157eb32816e896fcc8d3b262928016181a74914566d377259932764e153aaf682fecf2e034d26d7872350a881f67b554886447eea358e19fccf5de65dbe257c3b00d09bcc535624364c10c3db36c4156de9c720cf8111ad88b0ac03b5b4b6afef23c025e196be0f97dd5d2a31765c4029823fd95b9eae104e8fd45164f19dc069b0b7a27d4e248afa9cf81137fd56f36b7189470695b3d58049d1bfd53d3d6e07dbfde7c115e931bcf205b5982355e07da8d69a5bbecd213359399a40569aa16cdf410c3ce2ea4482b0be54a5f3a96e5a4534f38f83ddadbc7f06cff7bc6b5285279c7bfbe93c9d0f0a623d2a746b236898e04b8afe774794e07da55c54c56e7ec92ad63acd099ae1d137b1467ec6d6738c7ed05b5c6eda6801fe68080e0852a6859232eed9b8c54ea33c096a05f1cd71d11f149b62eac3af743caf392f0c492ad1ecd1575e0d03a66d829d0c20fd0890bdffd9badf3da14561a80ec2422ca8b5c639a3d724cf2fbf28cfc55f2b63f8b9bcc7cf184175211c35f459c54f26812f87f7281b25a7a455b8d97d84f2d3c3d8cda75d9b0e679b45cee0822d629459735478e9cd354772f8dea48f413139db9991162f2a29ec299859776bc3fffeb0cb95b5963cf3b9e7e370d417b20ce3df9d481b8c4c8aa07a8c0ca862877fa34754811026a2a489c2ba0292d6e63c9a9e3e74eb9de55aecefa83aaf7293a8e02d88c17c2a223f6e5f7f87c181e660ee4f45b8189fe0d76c58384678e5e01123a121e616553ab4cad296623f8383e0503a73e1ee7f84770a6a882450cc7db06bec089617dd7aa1c337d5a9e3a5248ae581f1e6ba7cab8a670f6e10d87f26f79a16b3303f85a41b622343f698cea1f69a55ad46b84db46f221758a21bda7f96e7919b3659728f16024c2297f47a82da0ec047b7b17a63f9bf1ede88c17b7876239d1af772448024df69ef12f87f53e5dad462d17659195a2af450b36cf608fd86ad117f470fd3c3af8985796326f941e62e02597a2198b2a57ccf5f97ea4d328839d1b38dbb5ffd4b9602698821e3e0a9f33f78f5381bfac4322f284003058f84b4fe1d4bee33660471489f2f2a7cbf1db7d5f18f05bda9e15f5faf78435b7279e4e3da649e31f30a9793e554ee33359d01d837e8180ac92b72ca406909dd72746ca335ca1649c10ae64ffb03b960fc582e6d7332b6e5e0a9914abf22caad1e05731c4dfb2e4317c054bb38250bdd209c805f925dea9fe666cb65e024e620c79dd4cc8b7fa1cdfee7da63dacde23bb2495ce9117aef1c09ca7523aaff8c4db923a50781a33d00b19af9f766c1db8a3568bb4e57398e5da9e77efd4ae6ed5e253a2d59c89ff6235b89802e91e4ba0ddedff65d51d1a31d1c2cd6cb1991b596a04997866c630dcbb0d4fe904a9b324702141d02b672ed3f20c35d3696987c9f8c6015ceee65c50b5455da5d164a9aad7e3a7e740a98a8b4b0fbaeb381c88e7120eb48fedfa80e7e0afab393d22f3bfbe0e0e027941a8ed3e95745fca565d38f57de5438d8dc059a203c1e095e43a087b2de928e51e58c29007e03af4594cb27c52d6d1ffbb607aee72cc34da83af4724a952d0a89a04cf7ef8ec5f1e3d5af60005fb3510a9cf0a7bfcccc1d1e07aa1040b72348c56407a2464772340b0d8933cc075451f4395ba2d00f3f78888c360740394e6eaca3ac66fffea5e8b2a4beaa0e2f77d205eaec67691e8dc4eca5ab9e5e071cf0115e45ab7caf565a9ee70b7c75cfbeb701b8a66aaa8e9446b5b41678f54ae6b0943f4ff86cdc96dfb1c35738bbe914362f91e7ac946dc99d0995da11f50dd79957d0d58ea2fdb98ed6cb1df0feba1c2fe88646fe246030da025cd597765b315de154923d7d21562738089b0217db65eb481bcf176968b84ecc76aecdb07a8c1d995dfd8bfd3519d6a62441695b005d54ce51577cc76c0c23915e4aad6552ac9c2bf31e26140f437fd82ffa573be3c7bf56be06c75c2bd57e7fd9a4bb31d5d72d909f55205da54ab2c8750abd234f6c055797fa430cc572fdcc5ca346a158a443a4c6f6553a9dba8d194cc75bfdb2f5759a0cda57a33e89c0dfe2e86a87c47acaafbeb66c767ae55002f1a07410fdbae1efde7269f8d11b4583abd953ed43acadf00136617eeaa75895090c9db7f15614f90b11cf3626ef280a242122dfa50c05184e8c2950730c4d75074d7a8d535f2e10e7e3a0b5f801b5419c2ba20bcfc07801c924e042f12d36f12ff6cb8b4d45f81726013760d9ba62bf04f79a98360943194293bbe158e35ec2eed6ecadbc7bdff451750cc67f719ad58edc163380908e688828487b80004820939320b8b60d46caa35959680e0156a0754a23216b92787cfaa4019b0513aac3a2a2003210caded247c8524730d662514dd20c3df567cdb08fac357a5a7b491291c4fe3c370cbdc0f7fa6007d98985def4384439d6be586f68e48b6b5a55605da291dad9de0027f766b5a21a1f17b1cfcc3e47e35556d1d790a6cb474cd513170862a7e61965b02b5b6dbe46759c03499652cd32a068a6f4e2e3b7f94a14d7fb2f13b49994fe62f605347623a170a2e2696e6f8e6056aedf637596dbab0ce6c374b821f06dfd284d94efe06353e45eb88ac6b90b8342962c25a67c90cb848d6fc9f81b6078414d2b89458e717caa143f3602f70bd91","path":"m/12381/238/63/0/0","uuid":"8000cef8-baa4-4292-81a4-76a242427fdb","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json b/scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json new file mode 100644 index 00000000..5ca01b72 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"473a462eed9c5e07cc2b966bda4a3c9da23ae0b9c99a2e86c4ff1f1e025ca9e3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e38879cfed6367f44add1a5a"},"message":"0faf12de1cced845c9bf7a45889c29f34672ca3fc53c0e4713c4f7306efb33d914bdbb9e55ba5ee8b0eebbce1daa069019f4c495cf79869818e85ee888e63bd4"}},"description":"","pubkey":"0x4a9c2d2c5176c7508685af7208a78f30898786e4bdb56fb1bfa4f1ea9beb5815622532bba21ea2998d1a4622b6ce66f0b5ed1b1edbccc1672a18ee70962d6253ac18d0fb15f24d6d17754d597a35fe729134e848cadf20009fa8e734b0d9fd3959cbf26735bc2f2f26f412f58e721bc7c2f7a242516ee30798e3decf1e5a8cafbddf0ef0d7ca6189311bf7e3a1fc53af3fc0cd7f91456dc9bb04d86acb08b2c45ae51a09b860b7504762c0b84593550ca0487ba7290bcb20b4bf22ea75f6515d011b7593a62aae493c470f450f326ffa2477b99e2073fb36ccd6b7ebdc75eed080b3c7eea58ccfdbc10a61a75e4c0212c7770a24d1474a2adff4acacc66089593d0152444714dcd1eff6e0af4fe0e097106ed12e6f46ec77e2b2143ad2da425c6b1762779a775953ab67d62f4e6d070a7203ab19cddbebc41950db101bc7af197ef679df28e7e99f3201b7e4289788a085ee489140a4a675b184ec0d2e651b66f5de1e01f3e4a1ce319c55582460f82ec303b8e9ceb2c891b417f539328fc104879421828705b93f26393c021f93ca6d75482ed0dd1a1d8fb062c5de7153df717007ea033acaf75a891192bda9f14554525a3e50471bce213e2546b02c08f36fb61fd6664df5dffd0460544214d89c276fcaa9d0e1f1a863d4092e41fcdf59930c72b3932102db8e54cf376887d1c808a9338ca02ed0d80c25202fea1f9d6ba5463e674cd891c1cec5573ac43920bdec17c2cf91e49ece986f5ca23a1152403b272cc4109e48ab4aac013f021a00ec3b46df3a4b5b419e3017f7a0556c3a3bb583abfa2d34df880bfd9aa61156e8dc7e9b41e36683293a8ae5c0e77df8592c718c7abb36cb9b6e0b12ea6055e46f41e589e91df985f56a8600294771897eb4f8477f8b3c18b0799fcf0eb60d04b3698e53376c9d6076240b850b40c1ba7244961b0bada425d551ba606bda235342fba4605fe8433bd90d908597e4ec38e788a13380db071d3236a6c7c9ea97decbd3d6b4a8e80472eca2118c5ada6a90e8a130ea75612274948d3611930cd98f7797cbd4a5447fa39d5db21b35a71eea62ee7d85b68a152ed1a7f1b3b5665300d64a6a8c2e1c6a6d1e2951db33e0a9044d7909470459070955a385e46277f581c4dacb18ba42288b940cb6672f0c2ec0e7005c0a8ef2b8ab75c8c85fd19c22b9d06c09e3e5fbbb3b13c5e7aed1820685a3eb174fd01f6043c858e7ab85d1f0235ef1d9f52733411edf15de98c6c727e12df3041e42434f0dc8f4c814e705217f8052b842ab5e8c91d292390efc9bd0c4e15b84d5fe1fa418a1eee3f0bf742e198433c45d001883fd875dc06d31abe6456db1ced3fa2a606fcc3cacc1058a30caf51b411cca3b7b9897e2cd467a663154a965539bee7adcbe9d5e164bde0bdff9b40e80653b082a42d8e35f53d7dfcec3eadc4860f30b2329806ae4e38c11f904cb40b15991b238f1fa96839476ec2eb750d1882fb86d93d12107649232d09053d8706add188ed32e02305714ac03bb3fd63318883bb9e523b5e42781243931de48429177342c6da81fe32fed103ebee86677ef98c3fd36306a7c245fbd57c7ed4f802da18c226cb059cb7aa3c0508d9742aaf60e3d8cc475398c448ae18b823a61090bf8ee264f7b80d7ea04e29eaa9bff49e687393a5c237b186f57e45d9cd8283b2f81211246fbc24aa090c4359c46f51b8eaa8ce9a93ae952a24d7da110a26037f50494bcafb67c6b957979d43663bd88a3a9197aae5f12a1d572e5731b7314cb74a81278f976ef2fa6837b767c04b9eab9f73d49402f6ad8c58e6501a20da2a27791385e4b92c45f5287ce006080ad21027fc33695b76555b1b121ffdb444b572ef6bd576c5dd1104ba4e99e55bdfdf5bb5d7bdd02d4d8d0ad370f5fe83e07e4e60e18b9147225cb339de1043df2c45bfe9ed67d7a31ae8ff9bf8a0e8ca4feafef27f30287f611401395368340735bceba2c60149f720e34e5016ee538094f30d341ca09e775b7be54d2adc7800830d60e4f09382da8e9ff0a08fc1cb7c2cffccdee7d9f2b9915e806826121dd47990a7821766984f3904095ce45cb2361738dd050ba95a8b65ba89d8fd0788e8a7eb7d1cb5b06cb57bf1054602447cee33c45061bb587a189465bcfe3a8c319b8d2df52a2b89442f571aaa9931e2e9c590cf60bd21f73532b063193136568cbd1427f4ad8afb1b02caf67f35dd51f3386839f5aa21d1cd6e612a504d55ad9dc3c227ae34d6113c849276cfd048dca702fcf9a307e9ecdde5cfc91ff364bb8507d3e818a6d1a15ac66a02745f64be3153cc81ead57fefe0316599e67560255b57d14bec443eb338580adac61bf43527527773e4429fb7ee37679dce1ab384d93d135a1aa472b20f567791792038e4939a8f93164c278cf4de024216067af654916a7dbe9241a3c969b8a146db651a459accbba0e6fadb18295b8a4e78b9f305e29dfa533125734dec8ab0c72ed60b27ba3327c4ab3ce6ad0fe4a376b78b4de5966e7ee4d1ee13f415c3141f4538c34ada4fb814e309677f6698a7404fce2db04d41476c692182bef050005c0e6dccd6c34e2d7fe699fab4b6d984059e2e12b09d4540aa48f089b080217f738f0c75642909ae80d9f8f5deb39f72b8f67b99c9fc39619167882d3584cc60278c9d7bcb112e2cb3327250b6e33feed7b8b4f0f058957ea3fa15ff26e40bcb17b26f2c01cb48689d9b01ecdc8442b7f2207d0fc47a25010ed8654489c664956dce0ad78d0f17164c23738f0034876c84d11e13c7770ab77a97788c616cc645c210a324d459df914556f5d97f05cbf4483683a8379fb33de3ea9d90f7d78d303ed01f33e7f79b6919fc64f4d49e77cd414937064353d7f5c98f4be202fc1ad7ed554407b3deee1b7f27a2c521b917aa5b4bfba9dc1a53eca36520d3a04544c880fde49ab2750efe6fd2f26ff1a55c5a849a9b5d1d559fc75dbb802e13843e80a76a47f0d3921584eec669def017737436cb7defa693a0c90019cff967dcec8861878997da2e1884e21ce96406ae9adae0a9df39f4930da34eb5ecdc67c117a9bce1eb80a52aa29d2e9540d226f56a1149e7d5dc85cc455aa6baebc3ee05cc085cd3223f8030acd94403b46de14ad5efafd399f3bdcc229d32af553314f03f00fe9007c06390aded5fbaf34bc145cc4e72b9fbd3e65c3ff3cd2492b821c70e9138fd2f327fa0827412d154da7c01b1eecc4b472076dbe5e23154f9bc46cb0724a7d9526796c89a0301a0cd0b6b320370d9b7e37f881ab8aecb8588f06d10a8649832ba276e686d98cf3ff2aa4e57c0902a80ed9476128c948b86c3bec161f623f349bcb19b62e1b398f4cfea8506a64285f7cb3011052bf510929f4308f11787b5d0b12eb01ca4f709b38b2c9a1fcd3d9efbbdb7908165d408d5db3c5c09ee6332bbe8e0d2667690aa580ff37a9101d356607f3a7ca1d9a12e33120222f40a798ca6142bd8292ac3cbcfed25d4cc194ca975ae4ecc99a6336fed67275b8ec18e7b7d077bb1995bab632ac381b58ef13865b374e2f51f310677c394d8f12c32f1e0b94cf19c6d705eefa0999adf907513fe9b693416e5c3a09b77f7f631019fa8fcc317f8af94cfa4a3df8c9113a46268e8e823f58406aee83be","path":"m/12381/238/6/0","uuid":"cb4d87bd-9857-4ee7-b068-f4d37eded7ef","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_6_0_0-1751540603.json b/scripts/consensus/validator_keys/keystore-m_12381_238_6_0_0-1751540603.json deleted file mode 100644 index fe87c528..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_6_0_0-1751540603.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"e0bc18c95a6f81b4fd5740c134e2dc748475d0fb4ed132189e91e55d46dc071e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"384fd79bacd304bc3f5197f8"},"message":"7f82911d13d40d9d0a1913e13fbc261621a0c79443bcf075eb4e0c4735e43db9e8190bcfd990f1975731531e4bec76861f0aae1d7b9a2d1d2a6d4aa193be4564"}},"description":"","pubkey":"0x5bdc202e99b1a1a14dcd9fb845c5fb9fc4ebc45add76eb77e4a78a3c0b4e652f7e6cd1009ab15ca500b03bf5811f9ef4c4567423b883849218bf0c69dc899e516a34e330dee350a545c662ad98e2677e01ee802f6e0d64fd4fe1a7e433f13bbd4ab80d7f438085bd791b3d750fdff06dd4a8756605f6e5d645ea875d6c60499af1d226d14120bb159fd198bea18779fe5893d11d75ec004d3cc2c695cbe1209686ff5dd8ab120ea29f7f9b719f9bd106e9efead2c09be3c66bc04674773eecc667f5db382ca96f7cfccf23c278594ea2616b5f86b57a24ebd170648093916848be3e20f1ae7f15f8dd4a71d2f310d9b1caca4c4a94daaf521700954bbf91d4df4d893312ea02d266db93a25d4177662374f494cce34fd0ea4c8d4a42135866aa6171f06623f683f4a0d5cbde810db09a79e678647a972f7c5705e3668a6ed42133666b3b09faad46ce76655419e6d11967df38cc07d59d679138636dafa32290ff618d4704f70ad6de318da3ce3f617368cd1df1d319df8d89ad338d0f0faac42e3373e6a1be18b2caec474412894dbf9081323454ffe3a2bda8dcb291dab30c7898ef936a669a1e910971cbffa7e542b26b8cfd2f2ebf950c7ea395a6865ecb460430925226197e796779119db30117108a98707deaa4866698f902ae1f206f6f4fadf519527658db8c5beba8b76a05fc0030bf15162e255826c38800466d95f07bfbf87ad190ff59b683fc7a6b89ad67f8249069f6a630ec88c18998aa36f66e29b3bb113253bfa14a6702fa04ea27f0debb0b04227c9fdf8482e084bf5131a0565ca7401d18f07b717f54cba38ae99fa606e9759ab2d6f5236713b31334d6aa6e15d5fa5a905adfc8b8950137cf6f292ed28fa6a8c92fdacdb96be487d790e59a072254b3bdca7848abddab74799bc6e72e891498c739bf271accb7be9555dd8290e711e13fd5d3429acfbcde46082ab47cc47bae326d0e8b3c12be825e6ce47b5eb2344c67fd853fd6c3a2af4d72a2d2c4f689e2aaf11c12c4f4fcd98950c7ed260b8fae13f8d4b2a3046f110c428deee4fd5a38bfc6b2600fc666eebd8219c71c6d6b23157ae67ab61ed9c3ffb3d819857d44f7183d5d468fbd7a88d751ef82259db98e48433ccbf1196ce950ad5f0dc30ca98d29570b53335a53bd2714fa057902bcf6c096a893c848399e6c98bd938ebca21818a94c14bdd0fbcf6c226900918b10d76243032098331ce3f1e8844ce57d050d17b3c1a68163ce6b4c79aadc93401a740c1d54c055b0d582032e4b5a6a5af516e149e1823c41b1a4fd7d5714839cfe132ffd6c7370d8cd58ef9c2ed1aebcf70aafe71fbf7528f0da174002018130056923bbdcbca1177ba9574397a25e677cf5904844212f07194469e45300e8ed1a1dbb7c5f5db7100ad25aa7436948c04161e4be1172b8f7e8f53e62fb0b53c42adbf3cfb8c2f84cf888da4161ff0959548d5580d9db8da8c6bb89662223051979a0da3423aaf1d76abbac8d7fbd0245a3b6651274daf476f0dfb7669bd55c1167ca97ed5cc4a911d8f2aac6f482e430d2663ef33cefaa701d51a48fa5c3d4f24898cd73c63c67fce20edf6199dce8a378f8d994dde450b2fb92254ae5c4e9f4af9f9a7c6a4bfbddb4a778bda6d08ea70be679d061802843e201be6ffd15e3f543559570da10ae465a784b5c003102c4d2323769174812229f9e0fd7f9647084dd6f24b27c404d29480c755d93243c0da322a037e1d101d568c5f29151776e21a7ff3ad15f324cf7fd71d5954f4b231d2550cd97e4020e96a5757397852612f459b4cf4f8f8cb38e5121e7216c0676c6608600de9dd1337331b75d776004203d9445c33aae50138e232457b39ff9cf8c2b2c664ee8f90d18fc908f24b68ae8cb70c90f357e9f8e76bf53e111f492f3861c5c6189282fdd9ec2d6cfaa9871af66ef4d2a4660deae751916abf04756481cc53ebb8af12470792aca1d7cfea4862370538a01d148f980a7133b9f8382962f41f482e63f20b759ac5ad1c67158dc71db8a12b8ae5fea187f0642cc3a55de1466c36d2709984049b0914724f9630a1ccc7926e40c66c9c5cad1773cb05bbb320ad298228d844b901daff65f37753a902061e54878a7197a87c3554b0d6980739ea4c03b88fca16afa2020d579764347b2e50125bda51165f7e03e594eed3262b56c5a6d6af2ae9a6c1fe255529f1158ffb9446e30d6f3b3e77bc82bb525c9ccbb2b72db7ae92ffe18328a876d0dcb7d5729cc9ab1bea1fa2a735f762d7941fccf7a48714df43617259dc0486dab159dd6e3e3ec1f7f0c3495fca2a55ff22cabfcc6ad4b11f21f966df57f60833a82eef358565db2107884dc871d285cc1b04699ae3c220870a065b8df3446e54bf5e813fd2bb6505056460cf12e20667b652c1c10606369512b30742d393bac28eddbd41a24847def946db77035da82595073fc803b5bf434d944167cb774ab9babbe616e862dbf577d1f435f3d99d977d95609ca41a97f6d5288efad24a1ff2457ae70b565e41b19625708815c3ecb67e035cc78e52f8ffb60d92bca001ff301f2ff6964c542d0962242cd73a4368310bd31a762b02935a44e97fc1b87b08cf431c9158509d483c2a76b74346240f82df91703c4455317f91eee7f984cc3edb72778f6894c6bbdfe18da6ca046ce76920ba697ef2a63355630be784a022bd999b0a9d99f8c3eb46710fbd8162bff8cb01cf3ae15e9b1855fa347eb54834bbb767380be04620b1f32b3b265f749616953a91f6738d229de77d810780e4766548c7c6f806286a79bd6e6c757af0d6f2a10405c5e74b6b0cbc99dbb6d37222e08a061fa2feb849165b975411f8c9ee4dc8dd069f6f26d8e93df2bf2f4e5e6006f10118928a37cec129d1daf3d459216bee3a07ad30839a1c7b50758b409e17e544ec1350b992c3c8dd464c1a0247a5093163619cdcb7fd29d141e1e4dedc621a263c4e915c95bab2c299257caf8694ea2d1aac2680147d72cfc8e776982f96a493e633a5eab7613c1583527fe70e6d136ca0fffe303fe9b9b841065389f28b28c30bdcf13eeb60c88371cdf0251d04d2414f77a36a432cf3d5183f9beceae2e94608ac7f724887dc6805a30d6a1214f93b9529f6aa7ff0849eca2c749f366d0805ecfbee1caf00d8c996cb4dbd52265d211b1e974c8c18f86d29a32d34c19886bc6c882ccccafead215c31333ec8e2af700d5e132179e09f854e1fc13b8793a0c9885cdf4aad944c3740db85ff6d0e063125fc97aac269e91cb80a236668c910835de35ec6c754a3cd70156ae2b740a1b12d1d9d6bd6a35a812046f3d6d4c8576f538749f993b3baa0290c7d5d09c1fd76096481f21c3fbeef9245b4f218c28d80abc4495e0ec174b6fc78d2d3cc41a7dfdf0c8ace538602025e4b6eb7dadbdcbc3e455a37da2e4b47d9caff3e303608246098682412d4df5644320f02b580f67effbad02a95ad3ffe5b48bf4b426580a43a211d68fc5ead8e20b60f19115d57c827f1fe2fc3e03126f8ab4d53eaf90b87d7a53cbecb26e1c90fdb15fde136973f42bc08ab22db3404fd83aa2f1fe1d4579fd851eeffc0c8f5e33e9e0508e7e516de412413b249596dfa7fc8576c0dcc66c15cb451415627432b25deb825775","path":"m/12381/238/6/0/0","uuid":"39f2c0e6-13e8-43ef-90ab-9670e60f9a87","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json b/scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json new file mode 100644 index 00000000..0b1e020f --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"741d0448509e424c9c338c47c9d7cbb29b58af06cb5dd8b64a36cd70541307a0","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7e7fde963c39bfe4d341f954"},"message":"7375457ee15837fc2582e74b58384d6104596cbd802551c06abdddfd976a5de8f32fdf18e9f03a3ba159b0de1320f87efb3d18c1af528944d55f45c29932f2db"}},"description":"","pubkey":"0xf3f5e4eee801ea3f58a324a546781d6a26eebd9282146636812397b3db6676884deb14edb1a2aa19ea83bfeffc4007253dcac41501a94ee3cf96d4c7acb88802bbd876205b7adc5d54678956744c47b7fa326940df2e6405d22b46c1af76e79a751221de5c065a61e7bcf587d8b9f40b84a5c38cfdf7e1f14fcc091bd7a8bb49f67f9ba04b1b2d29e430a6f079a9a3096d1f19438b3e241f1f1f7265cafe012330b7dc75b0829c9aa2aa44ada74b941251f1fdc590ed357ec6a45e362ce71799220d6c14a2e3c7919346a402fcaac7deb83035f4fbaf6bc98897e3a2640d58f0184ee4f0503a295e8455e7a77e18db3afc036e7f09a1ac308673e5c775e7cc54f68323d246dd52642293dd197793fe98120d063a810232219a19fce656a0e67d405022a9743cf24aee2510fc709d4a42d3d458e5092fc0a70a458d2609dc70c5a295cd456cdc0d74f06731c51e4da0ffe484993b394c6d10ac1ed66a22df8bd612fcf7dc27f26a0adaf6d4e6f913791b92b4ed9a4a75ecfb656973055e6820b27e855a95a0aef4f44eb7d21d633e6aec9b7e8fa0d1bf7a20247d679acf6f3aee5464d2bd06b4a484937eb7ecca8177b45c848430ef87b1784c0e0578279a334bb22598e311ec501dce4fe48cdc10807a34b3a882e2c41604c36dc6ff4fb41f37263788d1765a05c9393b46972b96a0bbe30d5f39d97c6fe2d59e1031161c67f607f584dc4200641a01f6819db13846891e1cb483279a385808c4717783780ba20c16a81562652ef9d13d6bfcb4ee646319f9436acf4529f4c7383a309f5a013d964d54dbd035a49fc7e4e81e5fc212d613993d14e9d5ff0bdf40432c5b4cf398ff76a9fd5138f2d6f54e9b22132b8a50223d9143973e78cc39bd8eb730459df334936d46f2e626b8d992d5bbd8d9aaa637ae008387955d95419156151b913d44f5c8e74476b00475d62a44d7420352bad745f9333cde82b186ac0fcd1ab5a34a2b6674f91d62149249bbc4aa3a6581a5c658bcdf6e637358df75ffeaf590368838d933bb5994582082fa4590ec3b4157578ac2512e7443d7709e7e11fb7b5f23f0732d35a3f19cfa9f7ad20fbeefaf3acc74d51b20d44d5dd2a590e7d520d6291aba9069b5a22be175e30adda82cf22c61371a8e3f8da8c8d5aa3f32509e904ce528d4f9e77446ce0b95ee41e30fa7b74b9eed8378b3109644634b533978336c03143004a55d76035acc0ef7bf606c66b611320ce9152266f7d7354f7cba2619f007ac452b6a0ee45c46e96c50c4613ba07662c8bea11cdf2147e9807f0be9551b775ef89c3a0c754c08846dc2458f96d26af57e2e6493c68531636e8dd341856f41ac425b766427e85d2d1d024386523f2ed003f280fa5d820ea86bd9c1019de4600da65e499b7f02ee60e8e67da17a050e9d9353614ad38a58073e8ee09bf4a3a9d0c863be737afdd14b1c835c14193ca3b4e7ca8015be22e0e6475e7d51c77d33c450626823106d542f08627aa1c804b05d22cc6e8cdbd4b98996df1667165bdff653721bf7449fa400a4d182c8b4f83a53cbb184fd5c2dcf24277fbffb7fd99829b28e724ec0622b01fffcf49f3dee8426eb9584cea47e8d66e648cdfd6ae18c6ae0453eab2fd0810431c7253b01fafca16f44bd1c6727184484118f6f585e3a71008a9e483a1a8ee35c8023201e640dea5514c712805fbb86c7509d9a26930bf1576829c2c56b76263491be0e0e55cf783f44d3151b12e483bcdd7c41474e7e904f1125ff093fda37d8447654d7abaf1bf72c6357213d8dac9d178917e556e7c79e88d244e6c6c36e935de2ead036a60cdffaf168aa55319e22f9b36d9e44669a6b0be53913c4538f4465e34c9ce7bde57241852e9f3243a89864796a3880c53babfbd4d37e52685f0472511c1282023b3bfe51f994702ac660238ebc5846ec714c7e0868d7b626bbbe13b25254518e9c6deec76741b9aef3f44e98e435079803fe3ea45a39f17a35d88c26fc1b1ea85fb39819f27fbaf4c790440289d26c2234a13c724a6c7b3b506539c521f15b9a46f8e96ca5bb0b316d22cd1ef23c6c78a254a46c65d50cb1f51a8123dd97632f4fc4a70ecba2123879b562b5744a82868c59f983b47eb5c53b75f249def12dda2865f7f2935622f1bd8552b4155697b95560026389babdb4ff66cbb99ceffb8abc7bddcbf5c8c64d438a67659f109a5ee25cf6277c76829a1e7a08892da7a4b1e38156c4794b9dc09d81ca7d806fc1d38f0ed82791ed12124df2bd8d31d64ae8859cac9ccffb31d4db5baa6dbf9609886a4d53d6b5e9ca17d00ddb2a7d4c0d7f688974edfbe4c76b263febe6dd5bfda17ec85d5af051ce550e83845c40e3e2bd733019cde7efdca4b2d48a02101579e089cf8b4ec8bec41aa6fb224f5b90a71bbcf4e6cccf8a3b83b3aa943c5a377cd50892510eb39ec82f347eeb2cff8a494205b2a9f5ac9840d5a3863b8fa4c8521aa8ac8e9712d1110537b8c5245aa1c84deb0a02970cbadef762afaba6d0083f551967c7b5961f3ad421cc0206c743220937dcfdfc27925998b16489ccaf03d936ba5a15b7d9678e510e6b243496269eaf6b1739ff6ea5a1c94ee7ff10f93c2ba0e8ff3c1943476b170ccbfe57308f76e59886202bbd703dedb91fb3b05f4cf3a9efafd21b425a3e8233fca8bd3e2db8795d6977b67da294e4bfa090e56b8b35276ccd1e65f50393967712b79ac5be0176765f8e8dcca113c0356fc4bda515b3d14f58d34d5bdf38514713b4710370c5bba217597d2a081dc44862e91379bb8057d6d2c0dba7cef2c03cd03b39fee41a32427e214b06dcded8ec10f1ce65f2e9f0dc03fef7ee24a12ae2bdce2635d9dc4576ea5ae41a84120cad0f758d6a5f271c9e770daf2bf341030ac528ddf365568d3130e9b1a7270288b6fa0ed2edeaf5da6d9912001ed6df99a516e222d2fd8fa408b44015797c58b7048887dcad79140aa26ccadf9d8ddbef5593e6726402cb793e51d5f0599618b39c1b710389db1fdde94fbea581603e10a833515cf8bb1b7e410d1f7fdaf8b1d2d09507ec840fad88eaf22ab9cf7b5e3c3d98f687287c2ec21daee553d4041cda61d98e5741c4681ebb6492862f7e50017b79777acadcd5d3f38e9eb0482a0903bc8ed8f286dc5c215cb12d24c057858973107e0fbad3c1ce6f9f3fce3d7a97035424dcb28f2aca21227241a77c16ddf72842387467afa083f4fc426e0bf20b13f4bd820f9b4b5a1c6f4efe5e832074c0df3265aab28fd997967b7f206c129a7f5590226aac3e84bd566c6441297fee1ed58e9f434b9d64926d5491448441890cdc580c276b12acbe0f50f24a9ee3a95db0494940780b3cccd3b6618716d4a68f65e9661d5eabf7e00bcfbeaee79ec5f49521df7d1efd314dcd282066b4b8b7897c56aaa9bd2a11f33856cca2239ee5265f35c966a2796a018760d986bcac914d677891d1eaaa7c4bca805a8a5429f964d205648e6731ee83fe2a1ba43d39b075471e1d05dc24e4b178e5f916dbe895c62d660909f16ab3dbb38ea42f7ec87dbfc609d4b09b6716f850d4b18374822a3cffbbc19448df753336c550dbe88db678b60de5443c073f63672b81f74b9b0125fb673d0e353aa2086aefa55ae8fbf7492256ce9c070d","path":"m/12381/238/7/0","uuid":"5949fcb7-c83b-4de1-b39b-8b5de0761a49","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_7_0_0-1751540605.json b/scripts/consensus/validator_keys/keystore-m_12381_238_7_0_0-1751540605.json deleted file mode 100644 index 71f630fb..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_7_0_0-1751540605.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"413c7fa6e0162979372070599c60941130868ba87d1ee1a11141505056f0c13f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"21cb5ad929bdcd2582e68540"},"message":"a12fec83b7be628f2a8278f2e9aa83b339358824ec79a6adb9728c8ecc0fc852842b8be2bc8ceae7e039c887070b844c67f4fbb6a33ae536077c852389d35e63"}},"description":"","pubkey":"0xe34342a9a232ac26870727f5691d094e402e7fa2209965bc5b6578f001bc0dcee52199cad16a6410fb1c7850d8a86a36c2dbeb2f06e87cd7edd86f98357fecd71051a892f6fd806720c0ab297690b7883ed2d7d2040341ea5f0979d270cabadacc5e4184c30d233bd4719a68281bd7be8f7bd0d5e1535fdbfa409c8041e1ad3edc946b028a7e46cd0dc1fc4e76b4ba0f98587ae6c80edec2641df0538c3197071c3e49231edcc29799a25584905913d70ebb894ba9208416d50411ad1f70b9d16355535b67b5d4fb88b6583ee6830ec449e760fec0f23a097592110177a0e28561b7247c89d5307339122f7df6d1c381256a3350b2aaed04aa6802ffb5aac1c2f5488f93c41b7de96585a7084d5b74a6ee1170dd650471e5c8113623ac18834fdd3ad9c184a59a1b99ee95431b5b268ef01afd50a7db1b1561befe53908a140d4d9e8bdd4fd8d37550d68d57a6d13fc0315071b6352c1d4959399d791debe92ee9a1814be3ef076797a8dd5da6caf303babc318ce4ff8baecfa6a1a4a4e7fa9af52ea1a686ac6043db8c58bf7936340434fd3510bb8e75522a716a1fa1b09197638b48b505be1cd4f4904d16e47c1f06cf50586a671e86e7408c2822b212e7ee98391fb7bc22fe3d9f2561771f8dc9e232b8554c1a5691270f004198a570dff61bec695aa52e9485de19bd99bd19febcf5e39990afa5926214c68126d6a7d4e0d7bf7757c06e6c6aea4e9bc3d83d48ce424f102cc90130cade50a00cb5659efae669a0b3802e5bdeca942a7b890a1f514a69417fb3a67869b460b39e1d3f36cd0b40bbe35911042861e013db22448bef0ec548edb534639289eac535a31e70817050d57881cb36b9bf9483e2817f9a08f7dbf23e4273b68fe4ba71c3d45f9169ebfd78f36eb6cac6ed12ce86acfba7cb71fcd3e1550a6eb3edbcd59d1365bf2f35ba41df67fa1bcb989dc653ef4fa0a039ddae92e1a1b34a953ec611589570472979ea481cb466edc4822a570633a426d0372eb9d8ff45860b0b644ea26c1ce42699f662b3112d97feb16221a6c9053b884c3c1350bc2e248cda7ad347ac6331fb654b92d6a2951fd88b0eaee5a29ddc3af81a07cbc1a6a318dcb6c180866a1a3fec3768e5d46cf65a12313831dd3c43843e5f916b2bae2b42c8932f7040ac6652c834a1542ac12834938618b6f86d007b14db2e068dd97da29558c93e9c0d6bdd670a9d9ce0801d9bc26d7443c2c78193c247e4009d48a5604c289c94ba7ac7db1e5a3936cc4d5a45541b9b39755c9befa1867bcd1c464f6b4f7ad4294287d2dc5da77c4ef395ed58b4023299d60b9fdf10bb76f0ba6c122f708c1ea45220f0002b843225617670b5da55cf8201615dc5909731041be6c417e24e474fb45a77c92fda33221f3825e6ab5073fac3b8d6e37268a5c6e78c3b9e61f61c1386ae150dad4fcf67fb44022fb895034ed7ed40df225c6a98fcaccb525820aff6cc44bcc19c521b118c8c792679f599c7310161de1039525b3e92d1acbe426aa2dcc42a2035a4dbd304c5091aef112797803e7694fd7a90e1acd2d199c941a9a26a584d8dff7f1928920d00344797ad829596a016aee39458c78d9cd4a203cb5ab7ac943260446668887a10f5b48337f29bbbbcb5e3c0ebf1752c89c8cf7575e84ed46967aef31135ffe4d44bb8af1fd583225ae5ed37af8d21e6b28e5a6a290c344f64a0264c88ca749b9ccfa0d735430dd79a210bceb7a410ed3dbf1374cb1a09177fb3c7432ff7ba6d741483232ebe3c8085681f96c56f9753c0b873faa21fbe1a41c7ea9d222fc5e805a6eba3110d7acdded44a5bdf9dcc832462a37328a9f99027aed65b30f12ddb40a75ebd5a8e0ae74fc7b17e077a3d5d61e09d905fa2ed5f3e8f53cb7907ce4bcfbe3c371a657d919979642b84ddec0bff96f4f6611e55ba910b8f2182ecec3138480378ac5309342aa0b43d7633c1112c4c1e4cd90e904613ce31e2b187c8c810413e99c9c8fe20c76449d76709a9e3382a52324b4f5b4cd38970fcb4b3538e7e0e48129778da610710b71023f963712ecdf498e575386bf08c1be7bcff7bf87baabc413ada657ea913c51dab5e80ddb4071495f351213f4648942efaddc624b5d2a6743645dce782a8ed105fc9b21e5ccfc999d776f3120e9699dccdab6b0fc00804b8516cc59846ac7f2b11f837e5acfbc93e63f01009c4eb86bde6d8384d2f5bdefe400972cb3057b64042b7d48940d1ff22c5264a11ecd0c0bbd6eb93ec23d84cb3685b3a9894b2cf1a5d88cc602854471bfbf395c48df9688c3ee0b1d64d680018da250a99389e7745435b3555393f45d6a3168340b5a46938eaf44a87df9ea59941d279e7f589a6c8c7700485c4cc88ab19e0832ad577c9f702c56295030d93e68966f00e833f7d52ae3e1207bdfbce816524ee4a93d59a7418687e370f9211ceb80cd531fb7f8f6f28cdb9c4a1319beb054f2e4fcad638be121b452367643190c4bcfba920ec1ec966aac339cc05d5334305fee0b0ac656550b1ab137c21da5e5f5730b577354481420f2250d04c051b11b6bd7a2f9d76ce24960d655d913ba4f6fbaffdb24a99dcba84df77db8afdc4a8b629ffdff661cf84ec74c695c996aaa4c4c35ff0d959154dc5cddad32880e208904034326c35a4756cff7144bd7e0480064adb8076b54ac3c8ed129ab15a919e17cc0de89d4a2f428622998adeee73ccd0a6d3ad075a024d9601dbbe520a6a21c3fbeefd6fa0e705fefd2c0de710ca8026e292bf8a34a6150ea716edcee82378b2ff1eecd563bb34e4249d818d281b5a179396c4f3c8ad356c98136830a6ea8d32eeeaf2817255a39142cabff43683d9a98c450dcd5a31e660a4cce0f1c7780da6217d22c7508c27a18954f33b8a703577d9474c1c2b410a43e21a453aa34cf46e7d158573c956f93147ed4fc745e43ff68d7f3178bed297587cf93ac333d94db8494d6cb6603f9e7219659adaaff2815276e05ee191c4e695ae810b538895ee44370d8abeec3ac86319acfd2dde622aebc6ab77f95bdeaf7e33cf9212a706134e5bd72a578ff20b3d26b09b4bae10a7aae8c91f9f2fdcdbc651296de4c6f45f4d3d71be2b1825faa3ec899cdfd58a1143a16ca811e59b678beffdcf08f7d4f4464623ff1a9e35adca88a47e1f507989385f407ca1526f7ddb16d0612667c9b6991c0abb808975f0d32e8a4394c6cadab2c1c2d93b85522f28913e9f2c7d60f5d4d76886226d534a82d6d3222d523e712af1cf2a8faf0aa036d8cbefc87f8c9546d3d0b046ac905770bc922f798ff79de4939b06d1bf75ee4bf5d2f989d463ae3e3b565d96d3b188facde0bdf2730a6f4d9eb2ce7d587f910858f2af3b7837b5f3b05a125d2c23cd5b45a8a360adae1e95299f14e8f366bae503a96412511e79bc3cbcc0ac0b86d1fa75e58ab414623a7cf20bd9961c29837f771439db52077c74f8b00c24b4dbed902bd282f15db7aec39a1c3ac2b90fc6b709e764579aadbad4cd06eaff2b21741ffede6c25fe2f622efcb5dfcc107e240813a5db45d740c718a2a25885a27fe46ca20a096a05b717fcdb7bab4e46deba9e990c2a8b9fd92c575e30eee2ab16b57f41b726faed8341ac74457f9209e87d9371b837338e1519b1f0779f","path":"m/12381/238/7/0/0","uuid":"673bf8a8-06dd-4339-9e57-d980d90f9157","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json b/scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json new file mode 100644 index 00000000..50debc7c --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"eb6afe7ce1d03f50b8b428897bea06053662168a4771b8aa6b7179f7e8212715","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"826fc497e9a30899e557b8ba"},"message":"dcb91f42f3f42ec4cd325f06a5daad10b099a769e271064fbc71b117d92e1e36952079588fa229b74fa4d18f2a88cb57365c3e155b18383fa13f0d05848763f5"}},"description":"","pubkey":"0x688f4cf076b609ef339374a36501625645a9184e2cc6be997f216872473eee7147f413575752a228792ba233d1b9ecd8724c3018111dc5d083d9a39b96efee1fc0a7068ebfef62cb1bff4dde2faa87deeee567dc66089cfc17666f8aeee83dbce2f193c2c6391d1de0b00f8fdb28b9174294d250712c93c9f84f929c0beb9b4c7dc22dacf02cbccd41d6d5f4eef76eeef883d6f481306cab28bd9959c3cfd4d325829c26ac2597fd8454872771dd39475de81f80dade23d853ec227167708e3cb5704fb874810b611d919c2cb565a9fd75ae413ca25cb7bf018963f745652d48fbce23cb5d56c29ba495472aa087e01b641481b6e40b61852c6d1f3491989484864560e2a21547c9e9d8546765598d3025ac2f6a937d6b89085f63ff05cbdb339261855f38960bfc72ebfe4002cbdb0e5b83b5f1581fa4ab6c010e11d1716a27329be461a4274da3484f5a3df45e84638dc669e0cfb6ce5c1cd1277eb7f65d80fa1cc4fd8b196aa64cc3dee6ebf8d2c9df4a05bbec7d36c6295f95735a5f7c8c166f0a89133fda9202f974b521c828442793cf58c3e367b79dccb205e19db69befd6158e95a0e47fb71af5809277bd60eb9a3a8e8ba3154528c347b815232b586d559c814248b5d9a54c01915c5be45bbb0ebfb4ed639929511fd82179160996bb1e2dcca2e4b77b2bd7f7ac7ceff11e74fc694c48cfc58efb551754659270d4e7645e5cae3ab1489f3fbe088df155069bea55aa4f5c76e9fae78d43262ae355d24eb1ed170889030826c34d7ff516afd3bfae3a73f7fa61e08bd09ba04406f8741b86deb0ea83009d8126381ec87f05c655cbcce9e5a9824ba68318814e730de807ea6e7c7ed2e0793d0f717090db6cebff02b9c2819ce98d31cba04425cc351d9c60dc765f4f58a414c48be7aad870d73b8d7afa411ca4639511e6741cab3eaac5158cfb42e3ac6fd51ada38d94c298eb34bf3f3d50fc0025f13082059199da8775d4c1df54bee35ca8de96ee50c654f5fc0a63f724e6e71b61c13457ca7c04fd139ef9139a6624dd887e3cf611d0ec36c5c7ec4345bdf020fbfc6c33629b3c8c29ac894a546eba0a3f28aaa7aeb008b972704f22e997e2f4969b123b76b894fa6f693c1c96940d95ff0621ea45c500efc166d251b3564b7dbbe21bf78d45ab23c110d520c8cffce6159bf66234930ac047d5cce0ab4fae0f900af6e6e4422ffb8177c2dac23793cb5029172dccd34059969d7c86e9a7384321f5a1b61725a619278fbf87f17217cfe7b2047fcb029fdb3f5c8e1d4bd3d66e3b0ef2dbe19bd8cb43fb50c9e662516c3cd2bced8711f798e02a210fd80a045c20b1775f96e8cd7ab1c612d1852ea3a3f3fd0b400c5ef9ea405d83bf5a0acef7012c518fd5f42dfe5a6aa62d5997a4557e3789aaeb0dc9582822d72440fd2f8844d3046ccd03c1d4902a09f74dd07630675e0b38bf7b0b0da1955fb2cae40d44a00c6db46fed28a08e189d650150c579a2ec14227331c5ceaab7c431ad4565b2c0cd561c52510f667dd2acce8bf5f3d4569e69dad66ce2c6561d3a7621f685610a43fa5b2df4a1ae8826bad291635cb98a2a5b662133570a7ec4b0d6820a18c7b628c536aeb0fd265088e499d69f921ce14f6ca70c61fdd51e0d3b0d040b18ee585942bc0b1625634b4f9ae8b8920b533d9c08fcd003b5588afffd57b099ea32a85f5ef8313357f79d8185add2bee6d2ac05d19841528a6f3783afc1f7449426f539e65f01a1f387ea577168bc62d9088bba27409e21ee3ce847403d8c4f1ade7bcb21c26dbaf8eb9226593c2ccbaf4a9fa71fa7676c37078ca040fb8b2290f4a33308470d82fb7cad1bde6c7ffcf60f407e95cddc7caddfec5324918fac6de5aaefdcf368d0b6c503eac062403db5ff31913c1d5a4d006403bf2f8a39b39853005d1917e6b98540e6ef0eadcb83d006111cd3a4860986fd3feddfdcc1f719cb9f12ea3bb06cf97942b0888f71cc1ace7569b53d9363f42596e19fb4c9c7595c46347228b0b419afbf34dd22615df410aa025c9f2ee673094ad3580fb845511925d773437ae468cf1f4e74785b047e277684e97a6af421cb4d80d709c1f0493ca27f8d5eb7ea64d838fb278c737d863c7b2ecf66df640c38c0dd5a9282722f12cf3c30c511d932fddcadf49f9cc9733aee1a3f1f180f1cb0bbe966525baa41eef1ccaab2a08fdafda4bb812769edc9028de00d04b81cad22fa70bc5c76da13c5ab40247c0e95dab4e791cbe877fdf0a84141abd8a2763a724d99082e8762f3775e8e84cb20450c19640b41c7b057cc430f7cd5e0b6df59ba55db737567065e608a5f5cced72c042584cd4ebcafd1261ac9e8d4799220787af0621e2737efcc05e2b3380b94dabc87d5521c68fc8a25a1fe217d0cdfae32cad94b093c5a272508c0d08c4a12e5863d9ba36a35a4eafcdbc43a1791391f13367d63d533326ba0b29c4f1c311e4b3bd23fcff7a175fe11416a2b687ec611fcec6d1631eecf1610caf0bab7ae85dec5ffe5efc15389fab3d4d264ab79183ee416630d7ce36de415ce0dfb1b98536585fb2a25a3d1396660801bbca1a01c7338564df173a483abe995dafd1ad5948ac7f082251859fd34f47bdc357e863cf85368a557b43d92bf8f2024821768332ed84958007b12c4a5f46cf6476f70fbc4b386c5945ace421c966dbe7cb43cc87c9a72e76a4c971da981b2e5b467bc58c8de2949aaab95a0fa8d7f0fb427343ec6db937e8297910acbbd98605f77467df9ebda746ea5a3813f12172ba273ae07f5c5b02bd6eb4fa71e347a5c611bed1b356f7d2ceb0f173e22629fe899eaaa132227dd8aa71c039fcf4f18ae51048a1ef3c00c5888db2592745c452a2360d48bd61ee9bc61f0e6eb2ea1788a1bfb63f0727647d5c1082bbaee1305a7df22803eefecf6d72a69a6584681693a8b9b39e16eb6d1411b609508bb00d02fe431f6e171050b981c00748e1c5f50ca02daf00a49048b2e33c0955ecabe2b7642c0b5f341b1a7690e4cbfd31601d703c7f41849fd76b96ad109411d5f4b3cb50cb867ed04b5381b3e4b09489a07cca29e58884ac5cc9f0c074a9622f23563b9760d00c8ae2ba36d7bde8e4c987b6f70fedf12825e12206f41623c469f032c3e409cbaa9bc7b6021dd836ecd82c843b4f61095a3be922d0994427107ee0282b0ee82702bd2787074fa161ed91da0eb01272b1f7d29cf54c334afc7bb80b2a44af3ba975a871540dee2269873a96a3c37635e4b87aa8349c17f85335eaffb2c3ca1a8c0f9acc042bb7f29e680a51688ea89eb15cae1f4e1638562531f2de7fb87dac8a45200bece6b13310f50ad3379bbc1b3ca1375b57bf699919a9cb9d30fc6936627114726386b11bd380813f1d019c03d1da5861af25a708b486fb32debbc464d1f9797d3d07f17a046f413cc7f735803e011ac4c3663d36a28e7dfab6bfd7f985f48782fc126b78702711ab92a1acd56078c10d0b818c0eedec82299792608c0b3a14f0f4eb824b7639b998101d97bfc08cb4f4898e402a1eae753eb21e39949f9a2ffd14b4bce37d3df65fd0a0dcc4c7f7611d2442243abdc77f6108217f0984a7c26a0d30ec26854cece3dad5619bc84096b7d523e1fad9b003d93d64d3e4fd934d3f","path":"m/12381/238/8/0","uuid":"115fc60f-8c20-473a-8adc-9fc4160e2ead","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_8_0_0-1751540606.json b/scripts/consensus/validator_keys/keystore-m_12381_238_8_0_0-1751540606.json deleted file mode 100644 index 0ffa88a2..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_8_0_0-1751540606.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"be0e959e370d1b315b9089fee0ab2ba4bf8d6c0aad0a6d51d0f302b15232307a","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"b6446d35d69ad5fe51af5aac"},"message":"05ae232e5afd85b41fcc4d25ddfeb881fc0b996acb519e99d49bf65c63b152db3e240047b280e4e48264c4ea1c3c211040c4c13e1b9dc4f4fedff667e44a9322"}},"description":"","pubkey":"0x5f8a823d3f904d02d0f2cefea8269297e522ae0cfa342332b77858e38bf6c42cbdd107065b96adcde51fdcb209786725f2f8921f38657d41f96fc0fbbdfcc613d0acca756c324bbc8f9350c8e804a9ccb8bf25250b8b7aa67b5ed5d6b6d9b20ead69171721d4d9232886fb344433499407a077fd0b5496e3ccc503e3a6e34b7a5abe0844b7458f1b0def3a4b04322efa46f42d1c3a725c6f9c014ddb1f8e5893a2ae7c049579a0f165176e40e575302693acb4876bf02187b0dd3e98fb8ed40a5ef34ce1e52d0fdf6b378621c0f864eda88481766d9e5609f134431ab9878880268e4db0e32ce3d08a44f9a10c4548f40811fde214a83793cf5f5fb5d0af49e84de4213c6194cf0132d665ed3ef9285767ff6d44994d40028ba1396b1d4e223f1a35b8bb0ac8d01ba6a1d4b5dd67254d4a4f706ce20dc03e63e1dd94477f37c41cac6da97d623518b7549d19c383b02c9a83cddc56033327d5c96a0ca2a4a563730eb872d6fc1e102ff588508061898e64dfe4d9461d95f1d491015cca64c6cb262a4106787d7a90be20cadea8bb71d4eeeed9cd0b31eb9ca156d73ca62ac529093f7256eee4e39eabb4c560192b4fe0a9f6667328e6ffa7389dbeb4172fc064225e414f9454ef85e20eb7b89529509ba9cf6120a5fc672e01e25ddd2df589529e7e83d94c73c7f21179a1f53fdcac730a35a1e9e47dd5396987e744dd93a0287432b40951026741eb857f9c3b7d6afa4a092fba6b3249212ad17f6702b386fd908f502ac27d8d05aac20b191d5755a0403d0e9995bb86a46eaa1ad4afc6ae67625fead5695c1719f44867ea6cb110515b12055aca17d05c5915c9475e0a45fad586e422822a08d8c79f9b6ca6a147d467018330e0f3588943ebaf8d9fe0b909f90ab29c3c2ead42d4fdb0cf3316e21748eff8f6ea8f09197b63d34aa9d196482f7139421c049a27db94b93d998d7a744a5a98bb8d3c535888fce44a404b5eeefeb49b0071ccf683f86abc45a0afaa31f8a038d3567666b0dd49e75ea03732a42d8e429200bec355aca1fd2bc99a08e591fd6d31386a67c42f6f3c72bec66c6dc6ec6cf00625a86c854c1ce7d9c26d3ba3547ab61ef3b5798e9d9d9018aab7b4d9c381deefbbf34c92edf3fa8930d9366b26ee8c47fc0dc4dbeaf19fb799afe9e6b99ae179a33b17dd5a16e8f8956e44fb2d9e4d78e3347284e6d90527e77ad66868243ab8697e3b8cfddebd4e39bfcab0e3282ea02b0355bda642f8ff5e5e74b8ed3b9332c541501099196f5ceb3780f177beab2f2671e4578120732ae8c738d0d9771a41c43fe38e23d96c7acc25bd32e249fc5d01e427fe0650fbe83acb8685dc0c18801e8a762d20b85eab96fd8777c544a020b39d9bfe73b12ca5ed7a20a5ec41d9aa695a96c9779fede06f3981c6423272d967c28659cdf0484f0027af2181ea4097926b650a855c2284d60ce4ec6f49ca3432fe3dbed9ead5a799d3a38279e956fce783bf33dc49e90331ac09bf1e791b563476c3fb5c24b23dc80311bf8478651b8c5cd2239dbf0edef76afa5000312e8448504bbb12457ebf206553815612d88d8689609c84273d5503db650fe440a003be2bf059801c219c71d7f2eaafe2191ab937299f2780ea286a3fd69614b827a0a14e060a7310af408df0590277cc3c6a0fcf72e3a07f3496cbb3e7d74cce8c0e719ba05bf112913e36780d10b54225cf4b2e06e3594a08debca3ed05d8d4e4b380d3ede03d5e5dc9744a5e2f50399f2332f16e7f3e77504ee56a8fc558b8928c42ec81956f828b3a12e053934b1f41c2c64d1d26f2a5ec930f49628fc8b46f85e52589ac29afd775c3085155679c3ef159eeeace1cfb304dba24ee670083fa8cdb2c2db0a3299932f54460de8d9ff506e48aac90d0b86819f558ed83b68b334f2d3c430e16d7168c7639a88b96f674044883b9e6c0e1a1088e62c29424d5d6a749b7aebe512b3b8329b070d6e642f72b71f549e13a7c66a1a16c5f94a5766199a6741f4c6898357675e0cd9bf265985953edde1d36674dd7a8040443c50e53b1f145e10547f7bd50fb5fa0e10ff33e200f20515bf712ed71a2b89e08c2045674131f84b67c2e4e4a93e8badb14777d77e9a7d73d6859bfa9fcfc062ec087d16147f17a35aba2be3bb3e58d59c35a6c94d58fe7efea762a5beeae37653cf4cb9d64cd2e8458dacd852f6e0d4ce41d625119d3b8eec12d3f6b981edf8c5f5dc2bb4d8ae2f495193c2daea75a305ad237e484ac3889073b7f56d09ac6a99adfef5da47bed92bbcf46dcaa748285749be66b4cbfa51ff7ff71c536bde04c01139dbdd29b84a414d0f044e57d49e7b30ea578855c5e0ee493efb330290e34d3a46d952813f59d571dc7287cfc59556340894f6003f4ac54280e7a3b41bc3059d7b85c4cd9699da11052f7897745477e8d9923622b9eb14081c0ca7282f80aa85d8f8f54b51fbeb96eec4f27739ebd5a5b5cd36fc7ad33d471bf587fc547349af8ec256fd47150350762457eec225cd07523a7ec350d5c3fa4f70cca306df860c5598281aec7856315e6e87b7d6611fe30ae1692914bf453721464194c82e82f87f16dbfe7109c51d6a4634ac72024635d2fe76abf49855eceae8e769d5f4178673bfb94588777ce8fada803e882bbd34e9cb8516ae2876500ab3b4125aec8557813ac024935ddc419c850079214059b1a590398883f7aa26c60e72d0c677096917a7d4edf61a31ce0e204aea4af7db7ed3c2f14f4fa1a34389e5539199f176b04f6328cb875457f7f0adbcf2582e8f526a716dd9535e49aad2626fc7eece289d650a208bdbd3ba844d4b142327aae1bea7bf9321cc95a831bd91e10aa81462ceeedb9da9a2747d0ba5f369e90f12447b5baddc7a02ef8dc18e47b32b0f5ae4175399b013b5d7bd8fa67171f5c2877be2493b0f57f1b9f7784a8ac01d8e521cacd2fad7ab45db9180ef9ceeff511e3b13043c180dee0b900dc7a00e88d29a8a7dd17ae25699e8511a1a11e099bac1d4fddcc1ed3a5f83b053f6470866e9ebc4f0de6c69619004da0d8c9aafa23fda9448981d684a8882988b507f633b26467a8c2a42c1589ec55ebdd24f4db335e0b8bbacc570ef8d30e94b19726b19739b02c45d2fb5e48d1f8e4716acb341d3e6b39a2ef3cdaebc7552d1dc8603105bd0a65f34f1225fb2e367d37e49f3176bc03fbd85f704061beeb1226eb02cddf0221d17541aa527393829bc58eb0825ac918722775a4ef90712697a2dc2c687e0e2e637622f22faacac62779a58da6c886ecc71f753a232127a1211b1a32e64b1c3f4619586287353c16d3ccdefc75b1f7eb2ce4dc11a52203c6e5a9759b20067d6cbdc63c996e7fb2137951c7874733d792df846041ea7d8236af981bc88de1b8281213127ce9e7b90db4539be455d99ea025eb022761f71fa0a5359b5417cbe23a54e2f8b28d254c5a0abd833e339d4ac3033262065d788a91104349c5b325262a76489168ffb405ce4bec29cb98ff9dbc532effe906888742042ba37b6934241c44469ee2757a2875a79ca3124999f2a0f15cabe476e850cd3a4dc6a41794dc3ff15555d70ff277bc1bc2b512e65c134b6cac3614c93f3ecfc14fbfbe6942ac8ce941322c5343ca8830af8345c4a3be","path":"m/12381/238/8/0/0","uuid":"ac472eae-7a62-4489-84bd-4d2dd4e8fb6d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json b/scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json new file mode 100644 index 00000000..cc24e2d6 --- /dev/null +++ b/scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json @@ -0,0 +1 @@ +{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0b16b39a1fa6ecbbe467271fd72709a8f5a745be729bbbf6ba75ba4f7fd3f28e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"daf183fa60dd2041a321c84b"},"message":"8289f56101f2ac955f935535803869d225faebd63632a1d0c4e07ba5e2890d91904eaaff224d5d62c05a772c7bff1e4856dce6de52d5989aedf237dc382f1bd0"}},"description":"","pubkey":"0x73dadca9a3bbca8cdc8d68706d839953942b47b3035918d8079c39706d2aa8e9597b171c6aea10062beda8a87c6f1636d3d6d43b726812a69ffec4517d2e259dca0d3e3befc173dbef8c4b9e6d475e101c4527b98e2ae1a9db3764689fd1c15f89ddb973e92ad02e343d346903ac56a69fbacad80e83e37cf875088832f9a4672644225cf9c63228006173eda798936239b719a8ddac64c11640d7022b6762be9fd8769c2c67c9a670f40681ff3d5b127ec6585412daf15e09205536e212f451f10e29e040b4745c0f6aa64d39850060f51725aeca33cfc0ce07573aca6ba6f673f4ee54ed6bd997f233a94feac0a37bb089405bf18481bb32d28452d4e599742221175bc40b96df5cb2a6d7fbc3f831be1242dd579bc4328547d130fe0f325aea0aae385bcf00ca570ef6a936b815f8257d99a4bd3311e21ee2f71863ffc399a78513bb4ba8160d23f3531f7fa10a0bad46eeeab5774f057a971b87e7b69b0a6d3098c433304a4de4e6bf8c3cbe37892dc1c7d4dd97c09ec59956fd154011244b9536aa7113feb162ede1f820f0b542059df48eb917afe0212534354aa0d3e5359b30ea13eac95833e7c1896672b0994e5a9405bb297b3b9f26a98028dffdedfc88fd56ca1581d057b19bc93b4da32cd38497832dee2962896aa1f4e508e564e88ab1ea92a53625c6c676f0c2e5d531232ece771e5215f3414a8022336a8ac97774ad38126ac8f8a554a9a2bbc90c32eb4360bebfe428336e789fc39e24e469275c8f57326866c1b40592d0f9a75fdf99872844b1c42f9a1414d724671a63f9b9f9eb1ccaaf5c4293852e4e9b3b36ce5c962293a59cff356c3beade42c765b4c8963ec56788c0e53afad591008c3e9b08be9c5b3735847094cbc1fd3ae00fbf992cc5012964142827e627d8a34c09f14426cb76e484294279cc152a7215e631205110c3d754c80166bd7435855990b05cdc19b300665424fd37b94abd4cb1c89e9a90d5fc1003d7bba44a4925029e413003f7a1aba379836d7d687ae40183eb443b8538aefc2be90610dcfb86e2a1cffbd21b80c12692e3850cf797f0ded1ed719b410f724d0e8bf86e74f6b16883a47f54d45252f430c3f2b779d550b47aa86869b02110e8bfcf971af04f26b635bfb0da255bdc1e32d23b10c24c04690bf423792dae45d990be9e1d99efd571343ce578c754f9a380aed3438f4d9b84e73bcee688145e10c7658c3bb4d9ef8d70798beb0ce8c00fbdf75a1ba20538176422f317f687f9e81fc52d9884cfd69940079d3d34d44c2cd898c926cb4fc1a64c4cafd6508f77df2de8176cc6fea4da00cba726bb5b287c12e485ee97821b2a73b8d87b2c33f4939ebcb20d14a73753ffb8753599b58727d32e3dbb16ca7a451bf1db9cf8d14eb381a2360596289bc5632e5c32eaca19071f36ff4549d2d0f670b18a11b796a3a6e63ae665d8c256544f4afd0b61a6f6e9d4863dec3527b2341303aa98a11aec45d41f34791cdf1b6187e403461e579d5e75691bd1a83c450041757c4c26ba40f28b4c46ded14e76aeba09c48196b61fa8cee72331d4b7fe4cce59bc09b13009eea592c3f92f1d8b415f6aa5a31c1a0cd1eb98d88b01b1e2a14f7244afa6b32843806309be32ed75e7adc56246f19da86ca33bfca6f22d6027efc44cfa582ea5d33b5c1470a7b2c34e26a40b4a7390be7d2463cae6a5b6a2da74c577b290ac623fc3e5ab0c1efe7f6e50fb90449939d693dbe26bd0a3aef5b87c52bfcfc9d030c291053223f52d19344a16c9a7bec28f9e00021aea63b6a69704e4136ff7f3951664aa10ceeb1a9434a424eb07cb20038edd8daa64c3673229b2c52f5e214416a7ba3f604f3e53d5181be39e6250d3023808b05a71ea3139b0ccc72e87fd08ed407be3fade1d3d9b6be51ecc105c1ee3db0354bd867aca2d1b45bd580a9820b86b656f21aaec81d9efd9e4878e888d7375be51385cfb8b5f4ec0bbf33dd8779ed9a38965fdca77422a7de52db53a29a0598787eed54682c559a2f75f49b14e8917fb4a5aca3259b0c4cd6cea2f54a6a8ca7101e62bfcb1a044d3f4261efdff18c6d8a4ccf635dad0c314e8d59cd6ec3973b1d3092d1628129752227cca76fc300e4a5739aac66680d31a001b447d743de9cbcc9b89a12d3aac011da62b8b1d8e1af7419be3b46c7373a4cce89df15c8b3251e39c06a08a275b58ba106bf6215633182b645337e48d338c4a988599dd734380f3345b84f2ab0cd24d437dc746747abf48bff1a1007b3bb206359940e3b8505e0820bcff34016cffd791e0568f5bd878bb2b109703f848c3ff99adff59efb437cef6645cf8c080149e74fbd270d700e4c954c92ecf72ece3486ac34d624ed180ce8c866c7871f8965a18c048be3cc764afb05362a976faa2334906df45da236a8d57a93c04cd32f129ba15fd0fb056064c36b97a3532400148ab32c7a4753079544dbc06e36a7c5e63e089d608ddf831bfb15f742907f9996b8e71a481ec9c9637d32cf206ab98e240270e2032b66a8ee739cb8840de3e691a7aa27b8f56123a4335332ab779991ef61e1410539b1e604173b44ee9bbd39a83127fe5c33c78f6c0dd08bfaac3c90f10c2a3bed0aeebd9ee603a33fe730b8fbd4063b6685c5c73d7825f8c11fd387d0b52819e41a2c71b3e07e1aeab62e3266a2d4b7254c4420861ee666cc3b443000d9ae1c23bbc0b585a9a7ca879b4e1d9eb254a630d3baf1034833833d236ad94500675bcf4d8934e761299d08f6c8e8d77e5a758dfe13486817c37c37a13d3ae2cd08c330d1bf33272aeb3990cc5eb916f557b8ee01b7dd136bb9084a2c7b445b629e9ab0e4b8e609d566c9fff48ea9a3923ce73d18cbe162bcfa4a2301a1bed82c3ac6ab88877284eddb421f05f388017488bc34c4ecb46754ce614de86b96d5ee588e758fbf990bdc2fae9f1cb69423c87fcf06142db0df76101605ecc2547827b8781de09c263726c18d6fe897c169cfbfd2384a34a5c8008f2581f7c702f9179ae70b32eb8f023cdc7d7af3bef213766d792869cb02ffedbdcf0b24561c702b9a546833796cc2e40ccf29415ce7d80ab64338c9b1fc34ad880185dfe77b38bd7a4de43534b3846280a401e1bc6fa849550c035d14d6e754b34db5b93fd14de4b68ea5625bd3b76decbe0221cfeb16aa15367d5b08d76755c8a9aed006ac772db4791463a6bb03a6ce02ae6ea1af99926d100244e719a3cfc0a3478438b80ca36d49771ac4978b83106fd3f5af37c73084c9fd72ca521130bfd466d268769f7bc4690a613a6868c3e0416bf7c2ed8bb7822c63b1dff8db9f3e4baf8e7a234051267b043138ecf955a4d9e4540956534e8885f65616a2bc7b2ca9afe11fd5873bd41e97e559392b05ca5825e6cb5d803a1743ecd6ec3eb45cb27dc6bf5953e233b2adfdc637bb882c25bd31d5cfbbcb400ffb16fab434ce9080716d70b335f802f86461275b2588bb055226c49a1ad4d8c563516436f4605472b1789cc39a4689e7f13136015bbe924db5c2c7d01fdf842001796ffba8dd0da2beda286b700acec38b1d9af97b04476ebeacf999766bc0ae18e72636ec82436f177019bea3e6c1fad6c05fc204e56120680605291acb9f5415b617ee0c5003bb672a3641dedb7","path":"m/12381/238/9/0","uuid":"57eecd0f-43f5-4c43-a468-a653dab5f72f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_9_0_0-1751540608.json b/scripts/consensus/validator_keys/keystore-m_12381_238_9_0_0-1751540608.json deleted file mode 100644 index a8dc2636..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_9_0_0-1751540608.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"a0e603d8935481749188808c1876511893138f62723b75ade23e8453d7e6205f","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"974abb850e08ab25cbdb5b24"},"message":"e6f419cbaf0a65dae2a9a5140f45a9144435b44a45dee5d47fa5f4c4c41275b95a15b89a32f15dc1372263ade023c0d4656341c56189876cd38d838143cb5a87"}},"description":"","pubkey":"0x71bc3ecd8d9f80b08416e704c4312293939bc3e90f913864f5ba422fd2c8e59d1d3f3a1e42a4f33f8874eab0c6dd02cfa6d7ef166df2e1c400637bbd79ed8442a7597e49db289256d536b6689a5ba173058f5f2faddfa3cf2268d20eeb36c63e3886f33802159835f1aecc7092e3b8c84daa213882c85160a715da25f8cbc4355da571c882776790ab84f78baf6bbbbd0d07ed8d0827f417e9dd64d3f9999df85dcdf0a3e591780f217c56f241b185950306b4f60ebed3a06985e720d73e7a7ed567305245e14d5eca1543e39b629d3b1683cdfbf3c0e6ceb42151f822852685634cef054d8072539448d15a49e8075849a81c7fa0a579424d9b09c9c8c69a61d9c202dc5a669a60641025d92001186f5f822d6aed75d44917c82ba057439a78bc1bf69f0d07527baa92beacbec5f596106b5fb042be10204f4f658b3c7d771b5a7afa9ab36be38374798d738e4eed7bacae86a05bbe25f6cabc2a088e063ffcf531d49243726eb66e2a8d59be853eeaa403f6bc00c17b92a4b847d8d555af3d373550bd8b24c2f93cf330dc1326ebcd816c5e58151bcd980feec71a6910aa58fb9d00a2fba8aee46239e1ca04e77f254fb29ef7b9fe1f643c9978c0e214679a7536474b93db748fcff573a5cb49491b949acf81cdd2808ac04e8fb5ae1db79d7171517445bfc35e04a405c2a90638bdcb5405bbae1ca6f10538466b4c19d1bc90fbb9e16709bf7a265ba1c4c4d44353d436ea7a0c451f57f041d97e71810113d899d0c8ff5376b993dd7a41a339e0a58426691eb260399f9ecedb08020e31037bc3882bbdad0a72cfce75f91f617163520c99bac1c9b1c2dedd7fe97c453030920b4f24a8626511a1ff5290eabccff6d42378357ca602d8503ba9aa254d9d3098b6772aedc4adfef802fc67b320372a1e910a73d8053f5d34838dbd1e23e27e5c4ae48ba804bfe1530663b5a769c13576e8827766af2b46949771bbedbca63f9d9a9923341d2cabc26813453267cada7c4fc987d343cc0612b0a848eafd2d6e782af62384ea35e316bd69d66d643f72f83d7556046518a9048e47407224366ae56543d852b33bea9044d89820891df99b9b1afa7d698cf88d3992fd2484464633d410c127c613f69be6992866f224fc46d61f65ebc1f36e010c792e5937a01960728939955cf652c2798e8d1fc53d91d979b0bed91d628a9557bedf8c4dab2a1047e83a56e5e6a07692f83701eb13fb414e921566de9d96e86f761a43a87fd98819e9e0ffc98e1f344868213217fd3c59ed28a29857eb9a4287d07ee3055a9e3fc15d32e10679c814827e715dccc83d13b7196862024a6c00f27d8b29a88c5f00cbb3558f63dc649bd15aa33aacfaf353b4b2331fb9ee2f42668442eea5c8cead108c30e45342ec30c9c9a1bc4c5d3572311b09353acb6dc7d42174333768854db10c6c45e13be9785bb403e354bc143147205c35147b6b023429bede48a845475b9adc7ad9fc1580cb0ee7aaf1845356c573ec309dfaf602e694628c27b7723f588d86f7c32a676bf59c789f6adbfdd36e6c824ff2a0040b6690c65b4909e10595505d05ff6ab299d1696b80e8128d2ed9b708087e972ffe4e406ad9e448e0e6b76adc6e1d6b17a5d7167570706d92c481e967eae9c2c6c0eafd53d70ebcfa91486c305bac01d0181b9a54bb1a2f345da1805603c82e2c23e3311a7a0d2594041ea31f8b612903facfeecd6cb4773962de52ce92749ea4700455dcd702287bc6483443b96a00ce03ae02baebaa6509a8cb7d1c4325e67252feb692d6361e0b3946e487a125398e9fad5eb23a7e49d7e04d9dd3996c13217ef56e014e047d8f1ca34a5b670b7917ec02bab49f7e165d74b98d0e95a0faec35bf5c305ba6013c71a00f87fa037ffe084239b5c13d36143fd90539bd0b55e543145f65813b97e6920d9145dc85f5e7d66951649843d30c042ed3b073ae37092cfdcf35fed15af8fc963c8c8e567b85375ef3f0203f4287394c26ba44945f78a6f2f4131aaf6f3c32b973b52e030acf8e61290a845fcd6da882cb27dbeda8b32becd83e6b770f3f967e7992f800007466e2d7107e618e9598c32e6ac5c69a31ffb27f24587c802aff33b73824c8c5c55bf0d1179e3adde5dfbc4764336e39942d3e1199452698197a93bbaf23051fe3ea7b0b0d1cf0a46c2b813f790e71ff9876a87d8cd9cc364973e87f5fa06ab5621c55c474645adf37f659b2197125d771f35029c8da291f0b4206a443af6284f0b2144eb0abe1b93aee2ffa0667e05d5811743b8575912a9be950eaa33c27b50d0d0a070f6f67c7cb4a65989b7c8ba0cea6c861accbf40cd2c2881d1dcac9bb539017dd72cf189e40476fdb38cd7b92a9e3f0f0a5fb9e8664a7ca067f176e7bff64a9aeeddbef90bda46b0e7ef9d00c7ef74e476b4a6a842769be5eee40e104d1b26fc318682ad367e719e0123f60c46fb01a255d96e0c7d83088d37ce533fbedf54d26e7de928f69abff827c146fc215f6583619b37f3e9b137d96608d0175d3df2a7765809396c9662e3d668b01043efd279a37e8de04f226e68f1301c1badeb4581ab778fca578039484ed412694f3c0a836470c23537235c4bd4130352d7411a6ffb15a8e371ea53fdaae59b402322eefe25d849747477e6f11cba675a03097c6160da508ab4686470494b0b016f904dc9e46258ba1fd0c36454d7bf891b78b32935a7c41d6a2bb2a5321ee2a657d640e36d4a83ff1219dd1b1c15c349dd66025421c15f0d99638e0edfa7f3d5fae6dd52880af629ba05a70018461471d14697d433e9daf243ad79c646be3a39362018795245c16b29e6c721e1cfae91be48c947f394c2cd0ec18a323fdb90243f3abddde882f49fabe63bb8877bcbbc24578f6c2f924a457b645ed777387993664caad1774d8f1ee47761bf1632e3e48e7b9733c68cf81b9b1909a72fd2a67d0e0b79cb64e72d72cb0c09ccdc3e246ab11d716ea488c8b0f71b49a9ecfa80ccd1b1e1dc7d4dc51287102d14edcd7bdcd0880787c3f8557235af15da2c7ddb786c20c692fbd5fad5c43c7d8590adb2aa645d5f6f48a8eea2ab89a6f792f7274138ea1a88fc42ddb3da634e1c72c00a4a794770d1d88a582386f71ddb7a20fe6105c0b85f3d06ac7df7e5db29d6b7cb22043b1ecaa7af65fb216c2bf6aabd5ae9503a5e369e3d6e77eb932c486d809293f7d55f4826dc1ec23f75ec8099c3027b362e1857ab5b5ccb878130f879663ccd32e4aec7e78e49a5dca99e5e82d75cb413ed6cfceadc8050403f9f0e55d8e7addcaa47fd5783a9d1bb7f65a9c4ed65f860783af7934a3f5ef1c2ae2558d6d8e781ad6b7f3f07d6c7dca47a38840c96ab757d18783182af3a8c70e8e19599ea966e52d666bd897c585aaa497adb539da0797b757028612d51e712abd9043e2a359d200b24aa554d9ce81cb4f539f67ea9591d542ba14e3951a84f061a394a55933a607a3ec6bda86cd34a88491d5f6906984c84bd8deaa0dea43b4503beaf4cb9e7a9d45622b7ef2af30727e2c831459cff61bd90319676ae3db94ee8f82999c1831a34ff3d4167f9e1562799cbb264f86fbdc4908d3b7a31880a31d8e3aff95d434ce29c114447deacb547dcc5b2e860add9f29ec350babb723","path":"m/12381/238/9/0/0","uuid":"73e31835-9cd1-4aa8-a850-32795a88af47","version":0} \ No newline at end of file diff --git a/scripts/execution/genesis.json b/scripts/execution/genesis.json index 474418bd..7459b59c 100644 --- a/scripts/execution/genesis.json +++ b/scripts/execution/genesis.json @@ -15,34 +15,34 @@ "Q1cbd3b2770909d4e10f157cabc84c7264073c9ec": { "balance": "0x21e19e0c9bab2400000" }, - "Q2086ea3853acf31bdeaa7d46f34360e8996d95c5": { + "Qcfec0cbee560cbd6ed89580204af71448f1fb8c5": { "balance": "0x43c33c1937564800000000000000" }, - "Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5": { + "Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87": { "balance": "0x43c33c1937564800000000000000" }, - "Q20d11a90537052ea38350402a4fa4fc3824c170b": { + "Q73308de47979b11dbd527534db61118010264612": { "balance": "0x43c33c1937564800000000000000" }, - "Q201c6c39b78bba5454c8e78c9a13148d501097b4": { + "Q7e93e63a4efe335543278c450914ddd021367956": { "balance": "0x43c33c1937564800000000000000" }, - "Q20583d7d1511f8f7eb011fdc53666e0aa94bf554": { + "Qfc9ed32c051759c88dc5e673940b72fc2f1eb480": { "balance": "0x43c33c1937564800000000000000" }, - "Q204caedb9ea074424df0305d7e5dda7d8594d4c1": { + "Q32b364a797bc307149e9caaf0eed125a99c148a8": { "balance": "0x43c33c1937564800000000000000" }, - "Q20747da480a37c6698c61b045947192ae2cd1f63": { + "Q5880b045f70db5a8452007f8a7fdc21a4c114f1c": { "balance": "0x43c33c1937564800000000000000" }, - "Q20e95124c8cf6414db2357e106fade7a8ac72ec7": { + "Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd": { "balance": "0x43c33c1937564800000000000000" }, - "Q20080fecf20684e664724db93e5d525b8d38c2ce": { + "Q50847b98252a1ac43adb267c4d396189e5954ade": { "balance": "0x43c33c1937564800000000000000" }, - "Q209b1f8a197619d29018a9b5e915780c885fde9b": { + "Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5": { "balance": "0x43c33c1937564800000000000000" }, "Q23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": { @@ -55,7 +55,7 @@ "balance": "0x21e19e0c9bab2400000" }, "Q4242424242424242424242424242424242424242": { - "code": "0x60806040526004361061003e575f3560e01c806301ffc9a714610042578063228951181461007e578063621fd1301461009a578063c5f2892f146100c4575b5f80fd5b34801561004d575f80fd5b5061006860048036038101906100639190610b67565b6100ee565b6040516100759190610bac565b60405180910390f35b61009860048036038101906100939190610c59565b6101bf565b005b3480156100a5575f80fd5b506100ae6105fb565b6040516100bb9190610da7565b60405180910390f35b3480156100cf575f80fd5b506100d861060d565b6040516100e59190610dd6565b60405180910390f35b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101b857507f85640907000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b610a208787905014610206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fd90610e6f565b60405180910390fd5b6020858590501461024c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024390610efd565b60405180910390fd5b6111f38383905014610293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028a90610f8b565b60405180910390fd5b670de0b6b3a76400003410156102de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d590611019565b60405180910390fd5b5f633b9aca00346102ef919061106d565b1461032f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103269061110d565b60405180910390fd5b5f633b9aca00346103409190611158565b905067ffffffffffffffff801681111561038f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610386906111f8565b60405180910390fd5b5f610399826107dd565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6103ce6020546107dd565b6040516103e2989796959493929190611250565b60405180910390a15f60018a8a8a8a868b8b60405161040797969594939291906112ca565b602060405180830381855afa158015610422573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906104459190611343565b9050838114610489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048090611404565b60405180910390fd5b6001602060026104999190611551565b6104a3919061159b565b602054106104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd9061163e565b60405180910390fd5b600160205f8282546104f8919061165c565b925050819055505f60205490505f5b60208110156105de5760018083160361053d57825f826020811061052e5761052d61168f565b5b018190555050505050506105f2565b60025f82602081106105525761055161168f565b5b0154846040516020016105669291906116dc565b6040516020818303038152906040526040516105829190611741565b602060405180830381855afa15801561059d573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105c09190611343565b92506002826105cf9190611158565b91508080600101915050610507565b505f6105ed576105ec611757565b5b505050505b50505050505050565b60606106086020546107dd565b905090565b5f805f60205490505f5b6020811015610757576001808316036106b45760025f826020811061063f5761063e61168f565b5b0154846040516020016106539291906116dc565b60405160208183030381529060405260405161066f9190611741565b602060405180830381855afa15801561068a573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106ad9190611343565b925061073b565b600283602183602081106106cb576106ca61168f565b5b01546040516020016106de9291906116dc565b6040516020818303038152906040526040516106fa9190611741565b602060405180830381855afa158015610715573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107389190611343565b92505b6002826107489190611158565b91508080600101915050610617565b506002826107666020546107dd565b5f60401b60405160200161077c939291906117cf565b6040516020818303038152906040526040516107989190611741565b602060405180830381855afa1580156107b3573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107d69190611343565b9250505090565b6060600867ffffffffffffffff8111156107fa576107f9611807565b5b6040519080825280601f01601f19166020018201604052801561082c5781602001600182028036833780820191505090505b5090505f8260c01b90508060076008811061084a5761084961168f565b5b1a60f81b825f815181106108615761086061168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806006600881106108a3576108a261168f565b5b1a60f81b826001815181106108bb576108ba61168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806005600881106108fd576108fc61168f565b5b1a60f81b826002815181106109155761091461168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806004600881106109575761095661168f565b5b1a60f81b8260038151811061096f5761096e61168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806003600881106109b1576109b061168f565b5b1a60f81b826004815181106109c9576109c861168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600260088110610a0b57610a0a61168f565b5b1a60f81b82600581518110610a2357610a2261168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600160088110610a6557610a6461168f565b5b1a60f81b82600681518110610a7d57610a7c61168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350805f60088110610abe57610abd61168f565b5b1a60f81b82600781518110610ad657610ad561168f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535050919050565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610b4681610b12565b8114610b50575f80fd5b50565b5f81359050610b6181610b3d565b92915050565b5f60208284031215610b7c57610b7b610b0a565b5b5f610b8984828501610b53565b91505092915050565b5f8115159050919050565b610ba681610b92565b82525050565b5f602082019050610bbf5f830184610b9d565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610be657610be5610bc5565b5b8235905067ffffffffffffffff811115610c0357610c02610bc9565b5b602083019150836001820283011115610c1f57610c1e610bcd565b5b9250929050565b5f819050919050565b610c3881610c26565b8114610c42575f80fd5b50565b5f81359050610c5381610c2f565b92915050565b5f805f805f805f6080888a031215610c7457610c73610b0a565b5b5f88013567ffffffffffffffff811115610c9157610c90610b0e565b5b610c9d8a828b01610bd1565b9750975050602088013567ffffffffffffffff811115610cc057610cbf610b0e565b5b610ccc8a828b01610bd1565b9550955050604088013567ffffffffffffffff811115610cef57610cee610b0e565b5b610cfb8a828b01610bd1565b93509350506060610d0e8a828b01610c45565b91505092959891949750929550565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d54578082015181840152602081019050610d39565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d7982610d1d565b610d838185610d27565b9350610d93818560208601610d37565b610d9c81610d5f565b840191505092915050565b5f6020820190508181035f830152610dbf8184610d6f565b905092915050565b610dd081610c26565b82525050565b5f602082019050610de95f830184610dc7565b92915050565b5f82825260208201905092915050565b7f4465706f736974436f6e74726163743a20696e76616c6964207075626b6579205f8201527f6c656e6774680000000000000000000000000000000000000000000000000000602082015250565b5f610e59602683610def565b9150610e6482610dff565b604082019050919050565b5f6020820190508181035f830152610e8681610e4d565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c696420776974686472615f8201527f77616c5f63726564656e7469616c73206c656e67746800000000000000000000602082015250565b5f610ee7603683610def565b9150610ef282610e8d565b604082019050919050565b5f6020820190508181035f830152610f1481610edb565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c6964207369676e6174755f8201527f7265206c656e6774680000000000000000000000000000000000000000000000602082015250565b5f610f75602983610def565b9150610f8082610f1b565b604082019050919050565b5f6020820190508181035f830152610fa281610f69565b9050919050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206c6f770000000000000000000000000000000000000000000000000000602082015250565b5f611003602683610def565b915061100e82610fa9565b604082019050919050565b5f6020820190508181035f83015261103081610ff7565b9050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61107782611037565b915061108283611037565b92508261109257611091611040565b5b828206905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c7565206e5f8201527f6f74206d756c7469706c65206f66206777656900000000000000000000000000602082015250565b5f6110f7603383610def565b91506111028261109d565b604082019050919050565b5f6020820190508181035f830152611124816110eb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61116282611037565b915061116d83611037565b92508261117d5761117c611040565b5b828204905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206869676800000000000000000000000000000000000000000000000000602082015250565b5f6111e2602783610def565b91506111ed82611188565b604082019050919050565b5f6020820190508181035f83015261120f816111d6565b9050919050565b828183375f83830152505050565b5f61122f8385610d27565b935061123c838584611216565b61124583610d5f565b840190509392505050565b5f60a0820190508181035f830152611269818a8c611224565b9050818103602083015261127e81888a611224565b905081810360408301526112928187610d6f565b905081810360608301526112a7818587611224565b905081810360808301526112bb8184610d6f565b90509998505050505050505050565b5f6080820190508181035f8301526112e381898b611224565b905081810360208301526112f8818789611224565b9050818103604083015261130c8186610d6f565b90508181036060830152611321818486611224565b905098975050505050505050565b5f8151905061133d81610c2f565b92915050565b5f6020828403121561135857611357610b0a565b5b5f6113658482850161132f565b91505092915050565b7f4465706f736974436f6e74726163743a207265636f6e737472756374656420445f8201527f65706f7369744461746120646f6573206e6f74206d6174636820737570706c6960208201527f6564206465706f7369745f646174615f726f6f74000000000000000000000000604082015250565b5f6113ee605483610def565b91506113f98261136e565b606082019050919050565b5f6020820190508181035f83015261141b816113e2565b9050919050565b5f8160011c9050919050565b5f808291508390505b6001851115611477578086048111156114535761145261112b565b5b60018516156114625780820291505b808102905061147085611422565b9450611437565b94509492505050565b5f8261148f576001905061154a565b8161149c575f905061154a565b81600181146114b257600281146114bc576114eb565b600191505061154a565b60ff8411156114ce576114cd61112b565b5b8360020a9150848211156114e5576114e461112b565b5b5061154a565b5060208310610133831016604e8410600b84101617156115205782820a90508381111561151b5761151a61112b565b5b61154a565b61152d848484600161142e565b925090508184048111156115445761154361112b565b5b81810290505b9392505050565b5f61155b82611037565b915061156683611037565b92506115937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611480565b905092915050565b5f6115a582611037565b91506115b083611037565b92508282039050818111156115c8576115c761112b565b5b92915050565b7f4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c5f8201527f6c00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611628602183610def565b9150611633826115ce565b604082019050919050565b5f6020820190508181035f8301526116558161161c565b9050919050565b5f61166682611037565b915061167183611037565b92508282019050808211156116895761168861112b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b6116d66116d182610c26565b6116bc565b82525050565b5f6116e782856116c5565b6020820191506116f782846116c5565b6020820191508190509392505050565b5f81905092915050565b5f61171b82610d1d565b6117258185611707565b9350611735818560208601610d37565b80840191505092915050565b5f61174c8284611711565b915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082169050919050565b5f819050919050565b6117c96117c482611784565b6117af565b82525050565b5f6117da82866116c5565b6020820191506117ea8285611711565b91506117f682846117b8565b601882019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffdfea2646970667358221220d50b8bcc63f95cdb172aa13e9a5ec51dc2f1ab189547eb65ddc4d2f80b175dec64736f6c637828302e382e32332d646576656c6f702e323032332e31312e382b636f6d6d69742e37393163303532310059", + "code": "0x60806040526004361061003e575f3560e01c806301ffc9a714610042578063228951181461007e578063621fd1301461009a578063c5f2892f146100c4575b5f80fd5b34801561004d575f80fd5b5061006860048036038101906100639190610b67565b6100ee565b6040516100759190610bac565b60405180910390f35b61009860048036038101906100939190610c59565b6101bf565b005b3480156100a5575f80fd5b506100ae6105fb565b6040516100bb9190610da7565b60405180910390f35b3480156100cf575f80fd5b506100d861060d565b6040516100e59190610dd6565b60405180910390f35b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101b857507f85640907000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b610a208787905014610206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fd90610e6f565b60405180910390fd5b6020858590501461024c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024390610efd565b60405180910390fd5b6112138383905014610293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028a90610f8b565b60405180910390fd5b670de0b6b3a76400003410156102de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d590611019565b60405180910390fd5b5f633b9aca00346102ef919061106d565b1461032f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103269061110d565b60405180910390fd5b5f633b9aca00346103409190611158565b905067ffffffffffffffff801681111561038f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610386906111f8565b60405180910390fd5b5f610399826107dd565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6103ce6020546107dd565b6040516103e2989796959493929190611250565b60405180910390a15f60018a8a8a8a868b8b6040516104079796959493929190611328565b602060405180830381855afa158015610422573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610445919061137f565b9050838114610489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048090611440565b60405180910390fd5b600160206002610499919061158d565b6104a391906115d7565b602054106104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd9061167a565b60405180910390fd5b600160205f8282546104f89190611698565b925050819055505f60205490505f5b60208110156105de5760018083160361053d57825f826020811061052e5761052d6116cb565b5b018190555050505050506105f2565b60025f8260208110610552576105516116cb565b5b015484604051602001610566929190611718565b6040516020818303038152906040526040516105829190611743565b602060405180830381855afa15801561059d573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105c0919061137f565b92506002826105cf9190611158565b91508080600101915050610507565b505f6105ed576105ec611759565b5b505050505b50505050505050565b60606106086020546107dd565b905090565b5f805f60205490505f5b6020811015610757576001808316036106b45760025f826020811061063f5761063e6116cb565b5b015484604051602001610653929190611718565b60405160208183030381529060405260405161066f9190611743565b602060405180830381855afa15801561068a573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106ad919061137f565b925061073b565b600283602183602081106106cb576106ca6116cb565b5b01546040516020016106de929190611718565b6040516020818303038152906040526040516106fa9190611743565b602060405180830381855afa158015610715573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610738919061137f565b92505b6002826107489190611158565b91508080600101915050610617565b506002826107666020546107dd565b5f60401b60405160200161077c939291906117d1565b6040516020818303038152906040526040516107989190611743565b602060405180830381855afa1580156107b3573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107d6919061137f565b9250505090565b6060600867ffffffffffffffff8111156107fa576107f9611809565b5b6040519080825280601f01601f19166020018201604052801561082c5781602001600182028036833780820191505090505b5090505f8260c01b90508060076008811061084a576108496116cb565b5b1a60f81b825f81518110610861576108606116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806006600881106108a3576108a26116cb565b5b1a60f81b826001815181106108bb576108ba6116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806005600881106108fd576108fc6116cb565b5b1a60f81b82600281518110610915576109146116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600460088110610957576109566116cb565b5b1a60f81b8260038151811061096f5761096e6116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806003600881106109b1576109b06116cb565b5b1a60f81b826004815181106109c9576109c86116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600260088110610a0b57610a0a6116cb565b5b1a60f81b82600581518110610a2357610a226116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600160088110610a6557610a646116cb565b5b1a60f81b82600681518110610a7d57610a7c6116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350805f60088110610abe57610abd6116cb565b5b1a60f81b82600781518110610ad657610ad56116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535050919050565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610b4681610b12565b8114610b50575f80fd5b50565b5f81359050610b6181610b3d565b92915050565b5f60208284031215610b7c57610b7b610b0a565b5b5f610b8984828501610b53565b91505092915050565b5f8115159050919050565b610ba681610b92565b82525050565b5f602082019050610bbf5f830184610b9d565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610be657610be5610bc5565b5b8235905067ffffffffffffffff811115610c0357610c02610bc9565b5b602083019150836001820283011115610c1f57610c1e610bcd565b5b9250929050565b5f819050919050565b610c3881610c26565b8114610c42575f80fd5b50565b5f81359050610c5381610c2f565b92915050565b5f805f805f805f6080888a031215610c7457610c73610b0a565b5b5f88013567ffffffffffffffff811115610c9157610c90610b0e565b5b610c9d8a828b01610bd1565b9750975050602088013567ffffffffffffffff811115610cc057610cbf610b0e565b5b610ccc8a828b01610bd1565b9550955050604088013567ffffffffffffffff811115610cef57610cee610b0e565b5b610cfb8a828b01610bd1565b93509350506060610d0e8a828b01610c45565b91505092959891949750929550565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d54578082015181840152602081019050610d39565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d7982610d1d565b610d838185610d27565b9350610d93818560208601610d37565b610d9c81610d5f565b840191505092915050565b5f6020820190508181035f830152610dbf8184610d6f565b905092915050565b610dd081610c26565b82525050565b5f602082019050610de95f830184610dc7565b92915050565b5f82825260208201905092915050565b7f4465706f736974436f6e74726163743a20696e76616c6964207075626b6579205f8201527f6c656e6774680000000000000000000000000000000000000000000000000000602082015250565b5f610e59602683610def565b9150610e6482610dff565b604082019050919050565b5f6020820190508181035f830152610e8681610e4d565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c696420776974686472615f8201527f77616c5f63726564656e7469616c73206c656e67746800000000000000000000602082015250565b5f610ee7603683610def565b9150610ef282610e8d565b604082019050919050565b5f6020820190508181035f830152610f1481610edb565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c6964207369676e6174755f8201527f7265206c656e6774680000000000000000000000000000000000000000000000602082015250565b5f610f75602983610def565b9150610f8082610f1b565b604082019050919050565b5f6020820190508181035f830152610fa281610f69565b9050919050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206c6f770000000000000000000000000000000000000000000000000000602082015250565b5f611003602683610def565b915061100e82610fa9565b604082019050919050565b5f6020820190508181035f83015261103081610ff7565b9050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61107782611037565b915061108283611037565b92508261109257611091611040565b5b828206905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c7565206e5f8201527f6f74206d756c7469706c65206f662073686f7200000000000000000000000000602082015250565b5f6110f7603383610def565b91506111028261109d565b604082019050919050565b5f6020820190508181035f830152611124816110eb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61116282611037565b915061116d83611037565b92508261117d5761117c611040565b5b828204905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206869676800000000000000000000000000000000000000000000000000602082015250565b5f6111e2602783610def565b91506111ed82611188565b604082019050919050565b5f6020820190508181035f83015261120f816111d6565b9050919050565b828183375f83830152505050565b5f61122f8385610d27565b935061123c838584611216565b61124583610d5f565b840190509392505050565b5f60a0820190508181035f830152611269818a8c611224565b9050818103602083015261127e81888a611224565b905081810360408301526112928187610d6f565b905081810360608301526112a7818587611224565b905081810360808301526112bb8184610d6f565b90509998505050505050505050565b5f81905092915050565b5f6112df83856112ca565b93506112ec838584611216565b82840190509392505050565b5f61130282610d1d565b61130c81856112ca565b935061131c818560208601610d37565b80840191505092915050565b5f61133482898b6112d4565b91506113418287896112d4565b915061134d82866112f8565b915061135a8284866112d4565b915081905098975050505050505050565b5f8151905061137981610c2f565b92915050565b5f6020828403121561139457611393610b0a565b5b5f6113a18482850161136b565b91505092915050565b7f4465706f736974436f6e74726163743a207265636f6e737472756374656420445f8201527f65706f7369744461746120646f6573206e6f74206d6174636820737570706c6960208201527f6564206465706f7369745f646174615f726f6f74000000000000000000000000604082015250565b5f61142a605483610def565b9150611435826113aa565b606082019050919050565b5f6020820190508181035f8301526114578161141e565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156114b35780860481111561148f5761148e61112b565b5b600185161561149e5780820291505b80810290506114ac8561145e565b9450611473565b94509492505050565b5f826114cb5760019050611586565b816114d8575f9050611586565b81600181146114ee57600281146114f857611527565b6001915050611586565b60ff84111561150a5761150961112b565b5b8360020a9150848211156115215761152061112b565b5b50611586565b5060208310610133831016604e8410600b841016171561155c5782820a9050838111156115575761155661112b565b5b611586565b611569848484600161146a565b925090508184048111156115805761157f61112b565b5b81810290505b9392505050565b5f61159782611037565b91506115a283611037565b92506115cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846114bc565b905092915050565b5f6115e182611037565b91506115ec83611037565b92508282039050818111156116045761160361112b565b5b92915050565b7f4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c5f8201527f6c00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611664602183610def565b915061166f8261160a565b604082019050919050565b5f6020820190508181035f83015261169181611658565b9050919050565b5f6116a282611037565b91506116ad83611037565b92508282019050808211156116c5576116c461112b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b61171261170d82610c26565b6116f8565b82525050565b5f6117238285611701565b6020820191506117338284611701565b6020820191508190509392505050565b5f61174e82846112f8565b915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082169050919050565b5f819050919050565b6117cb6117c682611786565b6117b1565b82525050565b5f6117dc8286611701565b6020820191506117ec82856112f8565b91506117f882846117ba565b601882019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffdfea26469706673582212209428b2686f73d1b556ed9c70cade1d962c2020a5589ae1d614f3019df9a4b0276468797063782b302e322e302d646576656c6f702e323032352e392e31362b636f6d6d69742e37626437346535372e6d6f64005c", "balance": "0x0" }, "Q5678e9e827b3be0e3d4b910126a64a697a148267": { diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 b/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 deleted file mode 100644 index 8e239894..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-48-33.872599000Z--Q2086ea3853acf31bdeaa7d46f34360e8996d95c5 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q2086ea3853acf31bdeaa7d46f34360e8996d95c5","crypto":{"cipher":"aes-256-gcm","ciphertext":"f670ab3fdf520fc2bb6f8763d4908be28d539008bf3c5257ee48478d68c381624f64f392a55f6f181aaa8ac297de89d026e97c5cbfe9495729b748eb17e56ffa","cipherparams":{"iv":"7248e797bc55e10c375bedc5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"078ff6e25275808d20a15d264ffb895dff39268d36375a2d5ba08453f2272212","t":8}},"id":"4a7b3f47-121a-419a-a727-b28e6b723cf2","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 b/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 deleted file mode 100644 index 547236d6..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-48-58.150708000Z--Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q208680cc1efbd4f95fdf88bfcd4bd99efae790b5","crypto":{"cipher":"aes-256-gcm","ciphertext":"8ee04d450b4b28aeafa4c30497e2177fa8dbe0bb6e2dd832c2568fd3f95ba27aa1b170ab76ce0cf37a69009745ee7ea905d6696f6719e70bd7ff0331830a5f1b","cipherparams":{"iv":"b6566c8e32f68963f2d67cd5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"8ba26742e3970750b227d406fe7c294938dd18a24fd7fd901a96a2a2a191fcf2","t":8}},"id":"dd66c70b-cfae-446f-9d94-a2f36b9146e4","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b b/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b deleted file mode 100644 index c1866b8d..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-49-24.971746000Z--Q20d11a90537052ea38350402a4fa4fc3824c170b +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q20d11a90537052ea38350402a4fa4fc3824c170b","crypto":{"cipher":"aes-256-gcm","ciphertext":"33394d5beabf8a849e434b80a9ba8957cf97818ba7b8f14cad8cb274b1da250db53ed7581feaa4a9f2540577d5191f6178c6e22da4d7bf83fca5aa0c27634e80","cipherparams":{"iv":"4abf9fd06a1f447213ef6cdf"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"2bdf5f1f10d5ec21f6fb35b8b654938eae5eebfaf370e3bd7b42b90b7c0703df","t":8}},"id":"c5045209-b074-4163-9b37-b3156a9c7e80","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 b/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 deleted file mode 100644 index 59193077..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-49-45.836943000Z--Q201c6c39b78bba5454c8e78c9a13148d501097b4 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q201c6c39b78bba5454c8e78c9a13148d501097b4","crypto":{"cipher":"aes-256-gcm","ciphertext":"a1050126a9c3983efe8183ba42c3f7da680b65ca675d07ce71afbff8443112595b06eb8f7ef071a86f7746b6e0d054488d7129f781183900229da97bd40ac753","cipherparams":{"iv":"615579941594eba4492e45a5"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"f41465e9ef64b158ea7340083b0c34fcdec5728a94372a8cc2162916586a0b2d","t":8}},"id":"bddb55d4-440d-4fbd-baa4-53616b64e0f4","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b b/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b deleted file mode 100644 index 4438ca97..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-50-12.016366000Z--Q209b1f8a197619d29018a9b5e915780c885fde9b +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q209b1f8a197619d29018a9b5e915780c885fde9b","crypto":{"cipher":"aes-256-gcm","ciphertext":"089fa3fffbc4c3e6e972be426ae8f1405adba32a787aac127867c2e01b3a882bedf87e44adb426aee757b0bf06ede39c8f8d27c8ee694a1f222bbad4bf107b03","cipherparams":{"iv":"47e8614a75ea354e6043cee1"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"9d8efba285813a684ed45cc86395a707056141f716c412d78faaa1206f44ed4c","t":8}},"id":"5f2e86df-4097-4d6b-8fdf-a409569c8104","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 b/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 deleted file mode 100644 index a4d6cf87..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-50-33.195042000Z--Q20583d7d1511f8f7eb011fdc53666e0aa94bf554 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q20583d7d1511f8f7eb011fdc53666e0aa94bf554","crypto":{"cipher":"aes-256-gcm","ciphertext":"8ce6b53815d066c59e2192cca19eebee48f701b101d190fdc2aa19e0451fe17c51a5378a3362584c87212b92e775df2f91043d9dc099b64daf34c5444be451c1","cipherparams":{"iv":"4501afb02eb1c1c8371e54d6"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7bd69ac857742cc754e68e95d7fa18df909359a8ca63756a8a6a2e3bfc2f882e","t":8}},"id":"73cb6f19-3f8d-427a-9ccf-7d486681238d","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 b/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 deleted file mode 100644 index 2b508f99..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-50-54.940172000Z--Q204caedb9ea074424df0305d7e5dda7d8594d4c1 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q204caedb9ea074424df0305d7e5dda7d8594d4c1","crypto":{"cipher":"aes-256-gcm","ciphertext":"7fce48f64875bac00203ffd7eb6db7390ccc1ac8f44a562054cced97e43e9d4367d1e2760c85e8517831b9495c84a7e4e5c4a116645cc77fd2ec4fa69a1afddb","cipherparams":{"iv":"ad67e7b6b6b045683cddb999"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7b536bc15040e3044d8c22cc60cc65fc718aefd987fc2a21c1a677dcf66f496e","t":8}},"id":"93853996-e28b-404a-bd8b-1d584af6e421","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 b/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 deleted file mode 100644 index a8112117..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-51-16.676527000Z--Q20747da480a37c6698c61b045947192ae2cd1f63 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q20747da480a37c6698c61b045947192ae2cd1f63","crypto":{"cipher":"aes-256-gcm","ciphertext":"f1d61b3fc5f7fe4f102d533795499a57bbc5913c9fb4d01ed7adab82e49c7b39c44812ac4bc68110fd7909c0abbe4877bd2365af8494d4578f614d4b8283bbdc","cipherparams":{"iv":"792036b5f8f56e8c48b3f013"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"06f2a462ad33493f2f6affe088ce30a30dfcfcc90d344437ec410e675d0b1807","t":8}},"id":"b6bb4dcf-6f53-4c45-885c-2434d6492f3c","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 b/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 deleted file mode 100644 index c58f202d..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-55-04.852349000Z--Q20e95124c8cf6414db2357e106fade7a8ac72ec7 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q20e95124c8cf6414db2357e106fade7a8ac72ec7","crypto":{"cipher":"aes-256-gcm","ciphertext":"bffd548bc36893cf9699686f0faa340d0d9246f89a2ac19f516bbfeb2387f3a16317163ce91fea76ae78c546c3236fdb378581bc8f9ad8bf2967df19cf254992","cipherparams":{"iv":"a0006e117fefb6ecc3d57941"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"96cf7a6d37e4b387172dc08bc86a9b90ae99aedc205d4b60d1c513cb36a8810d","t":8}},"id":"5b14c773-4b14-4f81-8ce3-02435b85f27c","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce b/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce deleted file mode 100644 index 6628e8ae..00000000 --- a/scripts/execution/keystore/UTC--2024-05-27T07-55-21.007300000Z--Q20080fecf20684e664724db93e5d525b8d38c2ce +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q20080fecf20684e664724db93e5d525b8d38c2ce","crypto":{"cipher":"aes-256-gcm","ciphertext":"3c2776c576fc6aa9332edb47f93e27969b15d329c64e46740d43559a8b71146e3200cda84c812a8e9c28a37d3577870255dc5dd11c64ddd8f3b34f490baa75b3","cipherparams":{"iv":"d52483c34c603af84fabb1fb"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"d7960351492f955d1285e2c01b31e73ac7f0d737827d5fcdb805f305e61df09b","t":8}},"id":"53ccd6db-f2a7-4421-9932-57f89ea997df","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 b/scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 new file mode 100644 index 00000000..488e4495 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 @@ -0,0 +1 @@ +{"address":"Qcfec0cbee560cbd6ed89580204af71448f1fb8c5","crypto":{"cipher":"aes-256-gcm","ciphertext":"1f342c1f7474cd22b6f99796daab8440908e08bf7e3c49afade925a0dcba39b976b561ab977d362ca61525b6c883d605dbea9a2a9878e0b9752f2566cfac6843626956","cipherparams":{"iv":"29111057e8a85b322f2fb5a0"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7b64eaaa2555580d3e0bed4330991d748a296a7a41105a3901e7bf670699f847","t":8}},"id":"3626f8b6-9c14-4793-9313-a07ebbbe4d55","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 b/scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 new file mode 100644 index 00000000..11ab43c5 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 @@ -0,0 +1 @@ +{"address":"Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87","crypto":{"cipher":"aes-256-gcm","ciphertext":"6ff66084ca874dba310205a49476be2db48417b0ee7ff2660ba5f12aae15231d2ca9c255aaad176248efc405e23b3d445a9719f4ffa7c38e3d783f7454e815e5ddd01c","cipherparams":{"iv":"575d49671c8600f3f398155b"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"2edfa7fef5cc987ec4e39003af9c9bc3310202077125fcae50758f5152a2401f","t":8}},"id":"8fd4c710-8733-41ed-9923-370f202e4ac9","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 b/scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 new file mode 100644 index 00000000..6156b49f --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 @@ -0,0 +1 @@ +{"address":"Q73308de47979b11dbd527534db61118010264612","crypto":{"cipher":"aes-256-gcm","ciphertext":"dca1dca7f75ec9060596e9904ab4f7f12679337521ebdc2fa7b0ebc1bd78b87fe0b80be36c29cbd2c3f51d29114d26292397833715856d689ccbd6ad25605f7fc7f141","cipherparams":{"iv":"23edf2f46e0c001c7500d242"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"237058a3a5dabb4d7bdae37570bfca41c7d90c24c152544d60e200e15a9311f0","t":8}},"id":"21d1fdd5-039b-4362-87f8-e90648f68089","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 b/scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 new file mode 100644 index 00000000..86e27f22 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 @@ -0,0 +1 @@ +{"address":"Q7e93e63a4efe335543278c450914ddd021367956","crypto":{"cipher":"aes-256-gcm","ciphertext":"790bfa51e5995be088e9760abffa4497993ceebeb8f08430edc69aec4e9a67ecf177abeb2c4e2037e951b59a7522a3e140ff7591c8e8fd844f18ca723665c10fcb2ba8","cipherparams":{"iv":"b8d00bcac8c2f1b35897b7ad"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"af38ebf071b1740cbd821400b7100fd1432bf3115c1ee43db6d73512ee8d392f","t":8}},"id":"9b84fbc6-4b50-45c2-9ab7-ef29e3c095a4","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 b/scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 new file mode 100644 index 00000000..7ff4e5fe --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 @@ -0,0 +1 @@ +{"address":"Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5","crypto":{"cipher":"aes-256-gcm","ciphertext":"c7bf3f6d40ad04f395fe73ef356d7127ddcd381aaf94d79649375ea9452fd8fa7d1a200defbf0d638af902fa8964481bf4c78072d3a6e98e884f837410252b043b05f4","cipherparams":{"iv":"ad49509057ac831e6226d31b"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"552cec808c935b8a431beea4ae4e05ef8325f2674998d61d69df8f51c8c52c7c","t":8}},"id":"b830dc39-aaa6-42d3-a905-f55859b34219","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 b/scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 new file mode 100644 index 00000000..e5cf59f4 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 @@ -0,0 +1 @@ +{"address":"Qfc9ed32c051759c88dc5e673940b72fc2f1eb480","crypto":{"cipher":"aes-256-gcm","ciphertext":"4225df23fcc05e8cb1892c04a89c99f20e1071303a997b3ca157bc612117f35e357b96757f0d5ece37ecc86714a2e26cbac2185a7deba5a4f012038594996cca14d496","cipherparams":{"iv":"38bfa2f7bdbf5f4658b30e31"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"e7ca5af9b30257028342bb75e9b6286c079dcd756d1d498e6fcf9e762caafc7e","t":8}},"id":"f1b778b9-2a32-4f30-80ce-172d1e59e31f","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 b/scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 new file mode 100644 index 00000000..4f8fb749 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 @@ -0,0 +1 @@ +{"address":"Q32b364a797bc307149e9caaf0eed125a99c148a8","crypto":{"cipher":"aes-256-gcm","ciphertext":"9564b66c9e31cf6b0030675760e577259408f6e34a91d9c8dd7b37895c15d534b017f7770ec28bb8426f12730bd61613f881542a1cfe827a9f98afe1efa03496662636","cipherparams":{"iv":"61cb957216e4122b38f6736e"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"4ca4e5f34158fba38f00d97d1d234a6f2a943bf51798ecb53b0467e4f0311deb","t":8}},"id":"000adabb-5c7c-41bf-849c-36ce464946a7","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c b/scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c new file mode 100644 index 00000000..ae32f2c0 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c @@ -0,0 +1 @@ +{"address":"Q5880b045f70db5a8452007f8a7fdc21a4c114f1c","crypto":{"cipher":"aes-256-gcm","ciphertext":"752eca8470d3f9f6acc153bd5b9c6fcdefdc6a0c8d4caf411e7a4febeec52ad4db97c9ca4101bf59dc1b42372f9e91e13861d67a7eccca03a9d107f35f53bc38ff210d","cipherparams":{"iv":"4daa2c91e74019a5eba7cb54"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"77939a12ba83b997b2747e19d58c2d3a8d0bd8b46271782fc45ad47a57f59782","t":8}},"id":"7198fbb5-fbf9-4ea8-a3bd-9dabbcfa92e9","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd b/scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd new file mode 100644 index 00000000..a54301fb --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd @@ -0,0 +1 @@ +{"address":"Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd","crypto":{"cipher":"aes-256-gcm","ciphertext":"2afb6ecc18a229ed5370da74b15d61be169eafd12282537d63191dbe6c1c8a4f629b8553e3adcdedb6d6bcf4c5ff6e264a6467e250fd2e31491879042de080ecf28ea4","cipherparams":{"iv":"3341cb90bcd4a139fbdd689f"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"fdb467085d29a207d60994258c9c826070ef51a6b4623b843594d3df10c4e693","t":8}},"id":"8e95cfeb-5080-4dd8-bae7-af4edfd23049","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade b/scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade new file mode 100644 index 00000000..392dba09 --- /dev/null +++ b/scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade @@ -0,0 +1 @@ +{"address":"Q50847b98252a1ac43adb267c4d396189e5954ade","crypto":{"cipher":"aes-256-gcm","ciphertext":"0206fec81a15888f933e367138f06409c3748f6a67f3eae604a919cb684e3ed5b34484b32f2b34f038f9a8ff9884f28c6741102a0fd25e52b6691b096f60054353a0cc","cipherparams":{"iv":"87de01ae54f4551b719899e8"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"d6e3cacf5ed332e08a133ffc1f51a9784eb6d1f5bbb5cad6a1bbee4172670c63","t":8}},"id":"8ab33331-7983-42ce-bd60-11c0510a1233","version":1} \ No newline at end of file diff --git a/scripts/execution/password.txt b/scripts/execution/password.txt index afa9e0c0..e6199aa8 100644 --- a/scripts/execution/password.txt +++ b/scripts/execution/password.txt @@ -7,14 +7,4 @@ 1234567890 1234567890 1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 1234567890 \ No newline at end of file diff --git a/scripts/pos.sh b/scripts/pos.sh index 8e47e44d..c24de957 100755 --- a/scripts/pos.sh +++ b/scripts/pos.sh @@ -67,7 +67,7 @@ start() { --gzond-genesis-json-in=$TMP_FOLDER/execution/genesis.json \ --output-ssz=$TMP_FOLDER/consensus/genesis.ssz \ --chain-config-file=$TMP_FOLDER/consensus/config.yml \ - --deposit-json-file=$TMP_FOLDER/consensus/validator_keys/deposit_data-1751540683.json \ + --deposit-json-file=$TMP_FOLDER/consensus/validator_keys/deposit_data-1763367182.json \ --genesis-time="${GENESIS_TIME}" buildGzond diff --git a/yarn.lock b/yarn.lock index 1020b197..a757898c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1080,6 +1080,23 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== +"@noble/hashes@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.0.tgz#5d9e33af2c7d04fee35de1519b80c958b2e35e39" + integrity sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w== + +"@noble/hashes@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + +"@noble/post-quantum@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@noble/post-quantum/-/post-quantum-0.3.0.tgz#cbc765a736d17f3ea17f2ee601ed91e52fe2cf51" + integrity sha512-RrwI6QqgToSwhyN9E9p+xwKi39k9pDxLy5A60u+murRupwUiKRrIrHMhKEuaZQ20+aAITU3Z/ZHtZ0hC6EKT/w== + dependencies: + "@noble/hashes" "1.7.0" + "@noble/secp256k1@1.6.3", "@noble/secp256k1@~1.6.0": version "1.6.3" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94" @@ -1829,14 +1846,6 @@ "@ethersproject/strings" "^5.7.0" "@theqrl/web3-utils" "^0.3.0" -"@theqrl/dilithium5@^0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@theqrl/dilithium5/-/dilithium5-0.0.9.tgz#f4b80654faf0f345fabc6420991c40063673baa9" - integrity sha512-GZAGr+XBLEcqNKnAMEDSJ7eubJv9Lbv9wfqZ1ELNo2ZFdaeqgeZDN7DxhT23bIyQ1/HWFssbJKHGJMaxFRYZRg== - dependencies: - randombytes "^2.1.0" - sha3 "^2.1.4" - "@theqrl/hypc@^0.0.2": version "0.0.2" resolved "https://registry.yarnpkg.com/@theqrl/hypc/-/hypc-0.0.2.tgz#9030fa95906d718f306460e9f90f9ca7c5b05aa0" @@ -1850,17 +1859,21 @@ semver "^5.5.0" tmp "0.0.33" +"@theqrl/mldsa87@file:../qrypto.js/packages/mldsa87": + version "0.1.0" + dependencies: + randombytes "^2.1.0" + sha3 "^2.1.4" + "@theqrl/qrl-contracts@file:../qrl-contracts": version "0.1.0" -"@theqrl/wallet.js@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@theqrl/wallet.js/-/wallet.js-0.1.1.tgz#4a400d6aa8e886a2953ddbf6f43de1cee1f6d82b" - integrity sha512-AmR73Nbgfibi9L5tOS59m1E8+/8Me5VG03h/qpRZFcHqVYOYb1w0+PB6BiV55kEInavHVXyhUWU1+tJByv1tjw== +"@theqrl/wallet.js@file:../wallet.js": + version "0.1.3" dependencies: - "@theqrl/dilithium5" "^0.0.9" + "@noble/hashes" "^1.8.0" + "@theqrl/mldsa87" "file:../../../Library/Caches/Yarn/v6/npm-@theqrl-wallet-js-0.1.3-1e94344e-d6a4-4496-a3fc-b9ba777f1868-1760177357479/node_modules/@theqrl/qrypto.js/packages/mldsa87" randombytes "^2.1.0" - sha3 "^2.1.4" "@tootallnate/once@2": version "2.0.0" @@ -9532,6 +9545,7 @@ q@^1.5.1: dependencies: "@noble/curves" "1.0.0" "@noble/hashes" "1.6.1" + "@noble/post-quantum" "0.3.0" qs@6.10.3: version "6.10.3" From 34a1c20e02ac43a6674ef3357c0ecf043b6d2dbb Mon Sep 17 00:00:00 2001 From: Ricardo Geraldes <144315960+rgeraldes24@users.noreply.github.com> Date: Tue, 10 Feb 2026 18:42:01 +0400 Subject: [PATCH 7/8] Implement transaction spec updates + migrate e2e test network to qrl-package + fix small bugs around ports (#13) * Implement new transaction spec * Implement new transaction spec * Implement new transaction spec * Review files * Review tests * Review tests * Review tests * Review tests * Review tests * Review tests * Review tests * Review integrations tests workflow * Review tests * Review network params * Review tests * Review network params * packages/web3/test/fixtures/transactions.json: fix tests * Review tests * Review tests * Review tests * scripts/local_testnet/start_local_testnet.sh: review file --- package.json | 11 +- .../test/integration/web3_net.test.ts | 2 +- packages/web3-providers-ws/src/index.ts | 2 +- .../web3-providers-ws/test/fixtures/proxy.ts | 69 +- .../test/integration/basic_auth.test.ts | 9 +- .../test/integration/reconnection.test.ts | 17 +- .../web_socket_provider_integration.test.ts | 8 +- packages/web3-qrl-accounts/src/account.ts | 9 +- .../src/tx/baseTransaction.ts | 38 +- .../src/tx/eip1559Transaction.ts | 45 +- packages/web3-qrl-accounts/src/tx/types.ts | 19 +- .../test/fixtures/json/eip1559.json | 20 +- .../test/fixtures/json/eip1559txs.json | 12 +- .../test/unit/tx/base.test.ts | 19 +- .../test/unit/tx/eip1559.test.ts | 24 +- .../test/unit/tx/inputValue.test.ts | 2 +- .../test/unit/tx/typedTxsAndEIP2930.test.ts | 5 +- .../web3-qrl-accounts/test/unit/tx/types.ts | 5 +- packages/web3-qrl/src/schemas.ts | 14 +- packages/web3-qrl/src/web3_qrl.ts | 50 +- .../test/fixtures/format_transaction.ts | 44 +- .../prepare_transaction_for_signing.ts | 100 +-- .../validate_transaction_for_signing.ts | 135 ++-- .../web3_qrl_methods_with_parameters.ts | 7 +- .../web3-qrl/test/integration/batch.test.ts | 2 +- packages/web3-qrl/test/integration/helper.ts | 5 +- .../web3_qrl/send_signed_transaction.test.ts | 4 +- .../web3_qrl/send_transaction.test.ts | 28 +- .../web3_qrl/sign_transaction.test.ts | 12 +- .../prepare_transaction_for_signing.test.ts | 26 +- .../unit/rpc_method_wrappers/fixtures/call.ts | 7 +- .../fixtures/estimate_gas.ts | 7 +- .../rpc_method_wrappers/fixtures/get_block.ts | 7 +- .../fixtures/get_pending_transactions.ts | 7 +- .../fixtures/get_transaction.ts | 7 +- .../fixtures/get_transaction_from_block.ts | 7 +- .../fixtures/send_signed_transaction.ts | 2 +- .../fixtures/sign_transaction.ts | 9 +- .../web3-types/src/apis/qrl_execution_api.ts | 6 +- packages/web3-types/src/qrl_types.ts | 7 +- packages/web3-utils/src/socket_provider.ts | 12 +- .../web3-utils/src/web3_eip1193_provider.ts | 23 +- .../web3-validator/test/unit/load.test.ts | 4 +- packages/web3/test/e2e/fixtures/mainnet.ts | 5 +- .../e2e/fixtures/mainnet_block_hydrated.ts | 672 +++++++++++------- .../e2e/get_transaction_from_block.test.ts | 5 +- .../test/e2e/mainnet/get_transaction.test.ts | 2 +- packages/web3/test/fixtures/transactions.json | 2 +- .../test/integration/handle_revert.test.ts | 5 +- scripts/consensus/config.yml | 15 - .../accounts/all-accounts.keystore.json | 24 - .../deposit_data-1763367182.json | 1 - .../keystore-m_12381_238_0_0-1763367092.json | 1 - .../keystore-m_12381_238_10_0-1763367108.json | 1 - .../keystore-m_12381_238_11_0-1763367109.json | 1 - .../keystore-m_12381_238_12_0-1763367111.json | 1 - .../keystore-m_12381_238_13_0-1763367112.json | 1 - .../keystore-m_12381_238_14_0-1763367113.json | 1 - .../keystore-m_12381_238_15_0-1763367115.json | 1 - .../keystore-m_12381_238_16_0-1763367116.json | 1 - .../keystore-m_12381_238_17_0-1763367118.json | 1 - .../keystore-m_12381_238_18_0-1763367119.json | 1 - .../keystore-m_12381_238_19_0-1763367120.json | 1 - .../keystore-m_12381_238_1_0-1763367093.json | 1 - .../keystore-m_12381_238_20_0-1763367122.json | 1 - .../keystore-m_12381_238_21_0-1763367123.json | 1 - .../keystore-m_12381_238_22_0-1763367125.json | 1 - .../keystore-m_12381_238_23_0-1763367126.json | 1 - .../keystore-m_12381_238_24_0-1763367127.json | 1 - .../keystore-m_12381_238_25_0-1763367129.json | 1 - .../keystore-m_12381_238_26_0-1763367130.json | 1 - .../keystore-m_12381_238_27_0-1763367132.json | 1 - .../keystore-m_12381_238_28_0-1763367133.json | 1 - .../keystore-m_12381_238_29_0-1763367134.json | 1 - .../keystore-m_12381_238_2_0-1763367095.json | 1 - .../keystore-m_12381_238_30_0-1763367136.json | 1 - .../keystore-m_12381_238_31_0-1763367137.json | 1 - .../keystore-m_12381_238_32_0-1763367138.json | 1 - .../keystore-m_12381_238_33_0-1763367140.json | 1 - .../keystore-m_12381_238_34_0-1763367141.json | 1 - .../keystore-m_12381_238_35_0-1763367143.json | 1 - .../keystore-m_12381_238_36_0-1763367144.json | 1 - .../keystore-m_12381_238_37_0-1763367145.json | 1 - .../keystore-m_12381_238_38_0-1763367147.json | 1 - .../keystore-m_12381_238_39_0-1763367148.json | 1 - .../keystore-m_12381_238_3_0-1763367096.json | 1 - .../keystore-m_12381_238_40_0-1763367150.json | 1 - .../keystore-m_12381_238_41_0-1763367151.json | 1 - .../keystore-m_12381_238_42_0-1763367152.json | 1 - .../keystore-m_12381_238_43_0-1763367154.json | 1 - .../keystore-m_12381_238_44_0-1763367155.json | 1 - .../keystore-m_12381_238_45_0-1763367157.json | 1 - .../keystore-m_12381_238_46_0-1763367158.json | 1 - .../keystore-m_12381_238_47_0-1763367159.json | 1 - .../keystore-m_12381_238_48_0-1763367161.json | 1 - .../keystore-m_12381_238_49_0-1763367162.json | 1 - .../keystore-m_12381_238_4_0-1763367098.json | 1 - .../keystore-m_12381_238_50_0-1763367163.json | 1 - .../keystore-m_12381_238_51_0-1763367165.json | 1 - .../keystore-m_12381_238_52_0-1763367166.json | 1 - .../keystore-m_12381_238_53_0-1763367168.json | 1 - .../keystore-m_12381_238_54_0-1763367169.json | 1 - .../keystore-m_12381_238_55_0-1763367170.json | 1 - .../keystore-m_12381_238_56_0-1763367172.json | 1 - .../keystore-m_12381_238_57_0-1763367173.json | 1 - .../keystore-m_12381_238_58_0-1763367175.json | 1 - .../keystore-m_12381_238_59_0-1763367176.json | 1 - .../keystore-m_12381_238_5_0-1763367099.json | 1 - .../keystore-m_12381_238_60_0-1763367177.json | 1 - .../keystore-m_12381_238_61_0-1763367179.json | 1 - .../keystore-m_12381_238_62_0-1763367180.json | 1 - .../keystore-m_12381_238_63_0-1763367182.json | 1 - .../keystore-m_12381_238_6_0-1763367100.json | 1 - .../keystore-m_12381_238_7_0-1763367102.json | 1 - .../keystore-m_12381_238_8_0-1763367104.json | 1 - .../keystore-m_12381_238_9_0-1763367106.json | 1 - scripts/consensus/wallet_password.txt | 1 - scripts/execution/genesis.json | 111 --- ...-Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 | 1 - ...-Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 | 1 - ...-Q73308de47979b11dbd527534db61118010264612 | 1 - ...-Q7e93e63a4efe335543278c450914ddd021367956 | 1 - ...-Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 | 1 - ...-Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 | 1 - ...-Q32b364a797bc307149e9caaf0eed125a99c148a8 | 1 - ...-Q5880b045f70db5a8452007f8a7fdc21a4c114f1c | 1 - ...-Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd | 1 - ...-Q50847b98252a1ac43adb267c4d396189e5954ade | 1 - scripts/execution/password.txt | 10 - scripts/genesis.json | 7 - scripts/gzond.sh | 36 - scripts/gzond_binary.sh | 104 --- scripts/local_testnet/README.md | 29 + scripts/local_testnet/clef_autoui/main.go | 320 +++++++++ scripts/local_testnet/enable_clef_autoui.sh | 108 +++ .../local_testnet/import_accounts_to_clef.sh | 86 +++ scripts/local_testnet/network_params.yaml | 24 + scripts/local_testnet/setup_clef.sh | 36 + scripts/local_testnet/start_local_testnet.sh | 72 ++ scripts/local_testnet/stop_local_testnet.sh | 16 + scripts/pos.sh | 152 ---- scripts/system_tests_utils.ts | 90 ++- scripts/update-time.py | 111 --- 143 files changed, 1678 insertions(+), 1288 deletions(-) delete mode 100644 scripts/consensus/config.yml delete mode 100644 scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json delete mode 100644 scripts/consensus/validator_keys/deposit_data-1763367182.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json delete mode 100644 scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json delete mode 100644 scripts/consensus/wallet_password.txt delete mode 100644 scripts/execution/genesis.json delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd delete mode 100644 scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade delete mode 100644 scripts/execution/password.txt delete mode 100644 scripts/genesis.json delete mode 100755 scripts/gzond.sh delete mode 100755 scripts/gzond_binary.sh create mode 100644 scripts/local_testnet/README.md create mode 100644 scripts/local_testnet/clef_autoui/main.go create mode 100755 scripts/local_testnet/enable_clef_autoui.sh create mode 100755 scripts/local_testnet/import_accounts_to_clef.sh create mode 100644 scripts/local_testnet/network_params.yaml create mode 100755 scripts/local_testnet/setup_clef.sh create mode 100755 scripts/local_testnet/start_local_testnet.sh create mode 100755 scripts/local_testnet/stop_local_testnet.sh delete mode 100755 scripts/pos.sh delete mode 100644 scripts/update-time.py diff --git a/package.json b/package.json index 6350800e..cf50bf13 100644 --- a/package.json +++ b/package.json @@ -42,14 +42,9 @@ "build:docs": "cd docs && yarn install && yarn build", "changelog": "ts-node -P scripts/changelog/tsconfig.json scripts/changelog/src/index.ts", "clean": "lerna run clean --stream --parallel", - "gzond:start": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/gzond.sh start", - "gzond:start:background": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/gzond.sh start 1", - "gzond:stop": "./scripts/gzond.sh stop", - "pos:start:background": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/pos.sh start", - "pos:stop": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/pos.sh stop", - "gzond-binary:start": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/gzond_binary.sh start", - "gzond-binary:start:background": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/gzond_binary.sh start 1", - "gzond-binary:stop": "WEB3_SYSTEM_TEST_BACKEND=gzond && ./scripts/gzond_binary.sh stop", + "pos:start": "./scripts/local_testnet/start_local_testnet.sh", + "pos:stop": "./scripts/local_testnet/stop_local_testnet.sh", + "pos:clef:setup": "./scripts/local_testnet/setup_clef.sh", "lint": "lerna run lint --stream --parallel", "lint:fix": "lerna run lint:fix --stream --parallel", "format": "lerna run format --stream --parallel && prettier --write ./scripts/**/*.ts", diff --git a/packages/web3-net/test/integration/web3_net.test.ts b/packages/web3-net/test/integration/web3_net.test.ts index 6c547d42..96cb3246 100644 --- a/packages/web3-net/test/integration/web3_net.test.ts +++ b/packages/web3-net/test/integration/web3_net.test.ts @@ -40,7 +40,7 @@ describe('Web3 net', () => { it('should be able to get id', async () => { const networkId = await web3Net.getId(); - expect(networkId).toBe(BigInt(1)); + expect(networkId).toBe(BigInt(3151908)); }); it('should be able to listen', async () => { diff --git a/packages/web3-providers-ws/src/index.ts b/packages/web3-providers-ws/src/index.ts index 1db822a2..8ce93fc4 100644 --- a/packages/web3-providers-ws/src/index.ts +++ b/packages/web3-providers-ws/src/index.ts @@ -141,7 +141,7 @@ export default class WebSocketProvider< protected _addSocketListeners(): void { this._socketConnection?.addEventListener('open', this._onOpenHandler); this._socketConnection?.addEventListener('message', this._onMessageHandler); - this._socketConnection?.addEventListener('close', e => this._onCloseHandler(e)); + this._socketConnection?.addEventListener('close', this._onCloseHandler); this._socketConnection?.addEventListener('error', this._onErrorHandler); } diff --git a/packages/web3-providers-ws/test/fixtures/proxy.ts b/packages/web3-providers-ws/test/fixtures/proxy.ts index 37747506..d88a47a9 100644 --- a/packages/web3-providers-ws/test/fixtures/proxy.ts +++ b/packages/web3-providers-ws/test/fixtures/proxy.ts @@ -26,6 +26,7 @@ export const createProxy = async ( originWs: WebSocket; }> => { const originWs = new WebSocket(origin); + const connectedClients = new Set(); await new Promise(resolve => { originWs.on('open', () => { @@ -37,47 +38,55 @@ export const createProxy = async ( host: '127.0.0.1', port, }); - // eslint-disable-next-line @typescript-eslint/no-empty-function - let closeFunc = async () => {}; + const closeSocket = async (socket: WebSocket) => + new Promise(resolve => { + if (socket.readyState === WebSocket.CLOSED) { + resolve(true); + return; + } + const timeOut = setTimeout(() => { + resolve(true); + }, 2000); + socket.once('close', () => { + clearTimeout(timeOut); + resolve(true); + }); + socket.terminate(); + }); + + const closeServer = async () => + new Promise(resolve => { + webSocketServer.close(() => resolve(true)); + }); + webSocketServer.on('connection', ws => { + connectedClients.add(ws); ws.on('message', (d, isBinary) => { originWs.send(d, { binary: isBinary }); }); - originWs.on('message', (d, isBinary) => { + const onOriginMessage = (d: WebSocket.RawData, isBinary: boolean) => { ws.send(d, { binary: isBinary }); - }); - closeFunc = async () => { - await new Promise(resolve => { - const timeOut = setTimeout(() => { - resolve(true); - }, 2000); - ws.on('close', () => { - ws.removeAllListeners(); - clearTimeout(timeOut); - resolve(true); - }); - ws.terminate(); - }); - await new Promise(resolve => { - const timeOut = setTimeout(() => { - resolve(true); - }, 2000); - originWs.on('close', () => { - clearTimeout(timeOut); - originWs.removeAllListeners(); - resolve(true); - }); - - originWs.terminate(); - }); - webSocketServer.close(); }; + originWs.on('message', onOriginMessage); + ws.on('close', () => { + connectedClients.delete(ws); + originWs.removeListener('message', onOriginMessage); + ws.removeAllListeners(); + }); }); return { path: `ws://127.0.0.1:${port}`, server: webSocketServer, originWs, - close: async () => closeFunc(), + close: async () => { + for (const socket of connectedClients) { + // eslint-disable-next-line no-await-in-loop + await closeSocket(socket); + } + originWs.removeAllListeners('message'); + await closeSocket(originWs); + await closeServer(); + }, }; }; diff --git a/packages/web3-providers-ws/test/integration/basic_auth.test.ts b/packages/web3-providers-ws/test/integration/basic_auth.test.ts index 17106beb..220d55ee 100644 --- a/packages/web3-providers-ws/test/integration/basic_auth.test.ts +++ b/packages/web3-providers-ws/test/integration/basic_auth.test.ts @@ -79,12 +79,11 @@ describeIf(isWs)('Support of Basic Auth', () => { ); }); afterEach(async () => { - // make sure we try to close the connection after it is established - if (webSocketProvider.getStatus() === 'connecting') { - await waitForSocketConnect(webSocketProvider); + if (webSocketProvider.getStatus() !== 'disconnected') { + const closePromise = waitForCloseSocketConnection(webSocketProvider); + webSocketProvider.disconnect(); + await closePromise; } - webSocketProvider.disconnect(); - await waitForCloseSocketConnection(webSocketProvider); }); // eslint-disable-next-line jest/expect-expect test('should connect with basic auth', async () => { diff --git a/packages/web3-providers-ws/test/integration/reconnection.test.ts b/packages/web3-providers-ws/test/integration/reconnection.test.ts index e58c103f..4f59791f 100644 --- a/packages/web3-providers-ws/test/integration/reconnection.test.ts +++ b/packages/web3-providers-ws/test/integration/reconnection.test.ts @@ -27,7 +27,6 @@ import { waitForSocketConnect, isWs, waitForCloseSocketConnection, - waitForEvent, } from '../fixtures/system_test_utils'; describeIf(isWs && !isBrowser)('WebSocketProvider - reconnection', () => { @@ -71,14 +70,14 @@ describeIf(isWs && !isBrowser)('WebSocketProvider - reconnection', () => { it('should emit connect and disconnected events', async () => { const server = await createProxy(18545, getSystemTestProviderUrl()); const web3Provider = new WebSocketProvider(server.path, {}, reconnectionOptions); - expect(!!(await waitForEvent(web3Provider, 'connect'))).toBe(true); + await waitForSocketConnect(web3Provider); // @ts-expect-error set protected option web3Provider._reconnectOptions = { ...reconnectionOptions, autoReconnect: false, }; - const disconnectPromise = waitForEvent(web3Provider, 'disconnect'); + const disconnectPromise = waitForCloseSocketConnection(web3Provider); // @ts-expect-error read protected property expect(web3Provider.isReconnecting).toBe(false); await server.close(); @@ -89,15 +88,17 @@ describeIf(isWs && !isBrowser)('WebSocketProvider - reconnection', () => { it('should connect, disconnect and reconnect', async () => { const server = await createProxy(18546, getSystemTestProviderUrl()); const web3Provider = new WebSocketProvider(server.path, {}, reconnectionOptions); - expect(!!(await waitForEvent(web3Provider, 'connect'))).toBe(true); - web3Provider.disconnect(1002); + await waitForSocketConnect(web3Provider); + const closeEvent = waitForCloseSocketConnection(web3Provider); await server.close(); - const connectEvent = waitForEvent(web3Provider, 'connect'); + await closeEvent; + const connectEvent = waitForSocketConnect(web3Provider); const server2 = await createProxy(18546, getSystemTestProviderUrl()); expect(!!(await connectEvent)).toBe(true); + const disconnectEvent = waitForCloseSocketConnection(web3Provider); web3Provider.disconnect(); - await waitForEvent(web3Provider, 'disconnect'); + await disconnectEvent; await server2.close(); }); it('should connect, disconnect, try reconnect and reach max attempts', async () => { @@ -111,7 +112,7 @@ describeIf(isWs && !isBrowser)('WebSocketProvider - reconnection', () => { maxAttempts: 3, }, ); - expect(!!(await waitForEvent(web3Provider, 'connect'))).toBe(true); + await waitForSocketConnect(web3Provider); // @ts-expect-error replace close handler // eslint-disable-next-line @typescript-eslint/no-unused-vars diff --git a/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts b/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts index c4b1878a..fa6bb3a2 100644 --- a/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts +++ b/packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts @@ -64,11 +64,11 @@ describeIf(isWs)('WebSocketProvider - implemented methods', () => { ); }); afterEach(async () => { - // make sure we try to close the connection after it is established - if (webSocketProvider.getStatus() === 'connecting') { - await waitForSocketConnect(webSocketProvider); + if (webSocketProvider.getStatus() !== 'disconnected') { + const closePromise = waitForCloseSocketConnection(webSocketProvider); + webSocketProvider.disconnect(1000); + await closePromise; } - webSocketProvider.disconnect(1000); }); describe('websocker provider tests', () => { diff --git a/packages/web3-qrl-accounts/src/account.ts b/packages/web3-qrl-accounts/src/account.ts index b5b1ee0f..11153e4d 100644 --- a/packages/web3-qrl-accounts/src/account.ts +++ b/packages/web3-qrl-accounts/src/account.ts @@ -178,7 +178,11 @@ export const signTransaction = async ( // eslint-disable-next-line @typescript-eslint/require-await ): Promise => { const signedTx = transaction.sign(hexToBytes(seed)); - if (isNullish(signedTx.signature) || isNullish(signedTx.publicKey) || isNullish(signedTx.descriptor)) + if ( + isNullish(signedTx.descriptor) || + isNullish(signedTx.signature) || + isNullish(signedTx.publicKey) + ) throw new TransactionSigningError('Signer Error'); const validationErrors = signedTx.validate(true); @@ -193,9 +197,10 @@ export const signTransaction = async ( const rawTx = bytesToHex(signedTx.serialize()); const txHash = sha3Raw(rawTx); // using keccak in web3-utils.sha3Raw instead of SHA3 (NIST Standard) as both are different + const extraParams = isNullish(signedTx.extraParams) ? Uint8Array.from([]) : signedTx.extraParams; return { - messageHash: bytesToHex(signedTx.getMessageToSign(signedTx.descriptor, true)), + messageHash: bytesToHex(signedTx.getMessageToSign(signedTx.descriptor, extraParams, true)), signature: bytesToHex(signedTx.signature), rawTransaction: rawTx, transactionHash: bytesToHex(txHash), diff --git a/packages/web3-qrl-accounts/src/tx/baseTransaction.ts b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts index 4d32836d..3b2e7e85 100644 --- a/packages/web3-qrl-accounts/src/tx/baseTransaction.ts +++ b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts @@ -54,9 +54,10 @@ export abstract class BaseTransaction { public readonly value: bigint; public readonly data: Uint8Array; - public readonly publicKey?: Uint8Array; - public readonly signature?: Uint8Array; public readonly descriptor?: Uint8Array; + public readonly extraParams?: Uint8Array; + public readonly signature?: Uint8Array; + public readonly publicKey?: Uint8Array; public readonly common!: Common; @@ -86,7 +87,7 @@ export abstract class BaseTransaction { protected DEFAULT_HARDFORK: string | Hardfork = Hardfork.Shanghai; public constructor(txData: FeeMarketEIP1559TxData, opts: TxOptions) { - const { nonce, gasLimit, to, value, data, publicKey, signature, descriptor, type } = txData; + const { nonce, gasLimit, to, value, data, descriptor, extraParams, signature, publicKey, type } = txData; this._type = Number(uint8ArrayToBigInt(toUint8Array(type))); this.txOptions = opts; @@ -106,9 +107,10 @@ export abstract class BaseTransaction { toB = toUint8Array(to); } + const descriptorB = toUint8Array(descriptor === '' ? '0x' : descriptor); + const extraParamsB = toUint8Array(extraParams === '' ? '0x' : extraParams); const signatureB = toUint8Array(signature === '' ? '0x' : signature); const publicKeyB = toUint8Array(publicKey === '' ? '0x' : publicKey); - const descriptorB = toUint8Array(descriptor === '' ? '0x' : descriptor); this.nonce = uint8ArrayToBigInt(toUint8Array(nonce === '' ? '0x' : nonce)); this.gasLimit = uint8ArrayToBigInt(toUint8Array(gasLimit === '' ? '0x' : gasLimit)); @@ -116,9 +118,10 @@ export abstract class BaseTransaction { this.value = uint8ArrayToBigInt(toUint8Array(value === '' ? '0x' : value)); this.data = toUint8Array(data === '' ? '0x' : data); + this.descriptor = descriptorB.length > 0 ? descriptorB : undefined; + this.extraParams = extraParamsB.length > 0 ? extraParamsB : undefined; this.signature = signatureB.length > 0 ? signatureB : undefined; this.publicKey = publicKeyB.length > 0 ? publicKeyB : undefined; - this.descriptor = descriptorB.length > 0 ? descriptorB : undefined; this._validateCannotExceedMaxInteger({ value: this.value }); @@ -236,16 +239,19 @@ export abstract class BaseTransaction { // // Note: do not use code docs here since VS Studio is then not able to detect the // comments from the inherited methods - public abstract getMessageToSign(descriptor: Uint8Array, hashMessage: false): Uint8Array | Uint8Array[]; - public abstract getMessageToSign(descriptor: Uint8Array, hashMessage?: true): Uint8Array; + public abstract getMessageToSign(descriptor: Uint8Array, extraParams: Uint8Array, hashMessage: false): Uint8Array | Uint8Array[]; + public abstract getMessageToSign(descriptor: Uint8Array, extraParams: Uint8Array, hashMessage?: true): Uint8Array; public abstract hash(): Uint8Array; public abstract getMessageToVerifySignature(): Uint8Array; public isSigned(): boolean { - const { publicKey, signature, descriptor } = this; - if (signature === undefined || publicKey === undefined || descriptor === undefined) { + const { descriptor, signature, publicKey } = this; + if (descriptor === undefined || + signature === undefined || + publicKey === undefined + ) { return false; } return true; @@ -256,7 +262,7 @@ export abstract class BaseTransaction { */ public verifySignature(): boolean { const msgHash = this.getMessageToVerifySignature(); - const { publicKey, signature, descriptor } = this; + const { descriptor, signature, publicKey } = this; try { const desc = Descriptor.from(descriptor!); @@ -275,7 +281,7 @@ export abstract class BaseTransaction { * Returns the sender's address */ public getSenderAddress(): Address { - const { publicKey, descriptor } = this; + const { descriptor, publicKey } = this; return new Address(Address.publicKeyAndDescriptorToAddress(publicKey!, descriptor!)); } @@ -301,9 +307,10 @@ export abstract class BaseTransaction { const wallet = newWalletFromExtendedSeed(seed); const descBytes = wallet.getDescriptor().toBytes(); - const msgHash = this.getMessageToSign(descBytes, true); + const extraParamsBytes = Uint8Array.from([]); + const msgHash = this.getMessageToSign(descBytes, extraParamsBytes, true); const signature = wallet.sign(msgHash); - const tx = this._processSignaturePublicKeyAndDescriptor(signature, wallet.getPK(), descBytes); + const tx = this._processAuthValues(descBytes, extraParamsBytes, signature, wallet.getPK()); return tx; } @@ -314,10 +321,11 @@ export abstract class BaseTransaction { public abstract toJSON(): JsonTx; // Accept the signature and public key values from the `sign` method, and convert this into a TransactionObject - protected abstract _processSignaturePublicKeyAndDescriptor( + protected abstract _processAuthValues( + descriptor: Uint8Array, + extraParams: Uint8Array, signature: Uint8Array, publicKey: Uint8Array, - descriptor: Uint8Array, ): TransactionObject; /** diff --git a/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts index e91712eb..a3a1b7ed 100644 --- a/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts +++ b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts @@ -73,7 +73,7 @@ export class FeeMarketEIP1559Transaction extends BaseTransaction { ...txType.txs.map(tx => txType.class.fromTxData({ ...tx, - publicKey: undefined, - signature: undefined, descriptor: undefined, + extraParams: undefined, + signature: undefined, + publicKey: undefined, }), ), ]; for (const tx of txs) { expect(tx.isSigned()).toEqual( - tx.publicKey !== undefined && tx.signature !== undefined && tx.descriptor !== undefined, + tx.descriptor !== undefined && + tx.signature !== undefined && + tx.publicKey !== undefined, ); } } @@ -227,13 +230,15 @@ describe('[BaseTransaction]', () => { to: '', value: '', data: '', - publicKey: '', - signature: '', descriptor: '', + extraParams: '', + signature: '', + publicKey: '', }); - expect(tx.publicKey).toBeUndefined(); - expect(tx.signature).toBeUndefined(); expect(tx.descriptor).toBeUndefined(); + expect(tx.extraParams).toBeUndefined(); + expect(tx.signature).toBeUndefined(); + expect(tx.publicKey).toBeUndefined(); expect(tx.to).toBeUndefined(); expect(tx.value).toBe(uint8ArrayToBigInt(uInt8ArrayZero)); expect(tx.data).toEqual(uInt8ArrayZero); diff --git a/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts index 2b380764..60646ea6 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts @@ -44,9 +44,10 @@ describe('[FeeMarketEIP1559Transaction]', () => { 'nonce', 'gasLimit', 'value', - 'publicKey', - 'signature', 'descriptor', + 'extraParams', + 'signature', + 'publicKey', ]; const cases = [ 10.1, @@ -123,7 +124,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { let txn = FeeMarketEIP1559Transaction.fromTxData(data, { common }); let signed = txn.sign(seed); const expectedHash = hexToBytes( - '0x3ebb3ddca319928727dae2ada78d1f6ce078ea17fdba92e728257ab7eadde8e8', + '0x9ba79d169e993453d083fd3cf48b9fcf9c4d031be42aed0a89c5a57ecb211b0d', ); expect(signed.hash()).toEqual(expectedHash); txn = FeeMarketEIP1559Transaction.fromTxData(data, { common, freeze: false }); @@ -173,14 +174,15 @@ describe('[FeeMarketEIP1559Transaction]', () => { { common }, ); const expectedHash = hexToBytes( - '0x0b23ffbd208965302cabc5422c0cdf5314b931609ba18bb97d713afec7c12e20', + '0xd901a3a8a24477c4d032ca89da077bb710ee581f51f66d087b9732e78d66833e', ); const desc = newMLDSA87Descriptor(); - expect(unsignedTx.getMessageToSign(desc.toBytes(), true)).toEqual(expectedHash); + const extraParams = Uint8Array.from([]); + expect(unsignedTx.getMessageToSign(desc.toBytes(), extraParams, true)).toEqual(expectedHash); const expectedSerialization = hexToBytes( - '0x02f85d04808080809401010101010101010101010101010101010101018083010200f838f7940101010101010101010101010101010101010101e1a0010101010101010101010101010101010101010101010101010101010101010183010000', + '0x02f85e04808080809401010101010101010101010101010101010101018083010200f838f7940101010101010101010101010101010101010101e1a001010101010101010101010101010101010101010101010101010101010101018301000080', ); - expect(unsignedTx.getMessageToSign(desc.toBytes(), false)).toEqual(expectedSerialization); + expect(unsignedTx.getMessageToSign(desc.toBytes(), extraParams, false)).toEqual(expectedSerialization); }); it('toJSON()', () => { @@ -201,12 +203,12 @@ describe('[FeeMarketEIP1559Transaction]', () => { value: '0x2933bc9', data: '0x', accessList: [], + descriptor: '0x010000', + extraParams: undefined, + signature: + '0x398ce9d7a0dd6f39bee2d35a0e3969d0661e9b46734e8f83d95a1dffc2495a91864cc2e7837faa977b880508be7adb974e575066412d3692907d40645e2309e75dac1d6f327f82a04e49e6913dd09fb7a84caa213b8ff3db74507f775930f4286208b43dc1cc71a45e7f4b6a8ddc056e3956e03b2f135ee4e20ce5efd0bf5b451a1773c216e6251bbc775efdad3038939e9d7059d280166acd235584f4830beadfed8dd41bb5e4ca28855b6f369f3661a45393d4f4f93a957b6324fbdf9f9c11ec267200e59b8bf394f054e714fefee60b86e0be12d79264bbd2467d604ba714c13c90eb60240638e142ddcfa739f137829e00d39222b781ecbae14096450c756ec58f03c79a19000f6a227675bef9bfa83ecd6f9fb382dedb66dc130de4cc7d955dce97398a26173d5d8a5f24b6fd8b65fafbf5d8a48f2a7f945cf0d3185892343aa9db2eb590f9ba9d3afdf9aecc2cd642b57cf50d9cffb040842aba6767c9c57236d1920ae0888b3fb5b2441cf71e14233e6124666f455f4cb7fad0bede06c131bf2ab277b3bddead80330ed38ceba9dabe69ddbee703a3b763044464d1c04797e3a6c27e99b6d10302dd8c2bbf6ae915e2a1846b33be28313b3a63a6322bd7fe345a93ff526d34ef8622157a2f552217f21c0a84e6e1d5a8b153d73acf77422c82eed49a2f7029c7fe802133ba8aa0fe2eebb9dbff30ff292a1bb0852f73248d3e120db522b865b8770ec185187a68ecc9453cd2494d303cb1cba9b89f1f6b66c47efaab1ab6c8e5bec55208715c143e0b24a33607e5164127f3dfaf8b1933da9f286e86c65aff6df21dbda5063d21c98babd1ce0b5988ed65f328bc6b605a82ab5b440502cfb93b497b0632bf15c8d982e4db1688cfeacef9888aa4070da93737e0ed153f73a6660179206ffdfaf70cf37b6c8fbf0618ec0868d6e97d3c5a7053bea0090e7f8e6f33a220a2f0bdcd449e8f70d68151549c39b3bfb6342ece62fa45a9152fc717a98b4a5f68ff63a866737de80889c8038949665b1b1377cabfb646cb7452fb8820395d388e41736d97262fdd047bedf6e069a3a41c8fe4981846815e06cf4781136367351e259bc655f9f96465628ed5f3367f0366dc58b5bdbcfa4e0b2371c0208a7283b3861c6aae5d5a2b6e45b1af780e7aaf266cafaacf2b0a36416b3f2f9bdde11d3508421fccc9f2ed1f67807e32d3eed8cc41adfc08691165d477d37a06a11ef3c76323ed47d6880d1863a895a77472cc87ec981e640a6e469f11d78a79822639f9618bb77986e6cd93808ad8ba80326a9a86f8b395bead73572c86ff96280926deedc700c8129a521377da080b605e417a909e709227e4e0bd3d2365f95b1917c919c5dde739d7dd465e35f4998e6cc978597bb3b18ccf28cde8d211c5dd805bc59fc07a6997bbfcba48584593700cda965a049390f4d31c86a160d21e4b30238d77bd19488a434079a7047fb43f77d4b04b004fcee9741f3198f0bca47045f8be02eea8e0cca1bb54068fc2b840c26afb1aedd54de6255f1e390545e845873f34b1661b1e4b1122d97ce1d4a2ee658969cc833617dcc28433893dda979155870bd0d46aff8ee5f32bd3b91f85afd6b85781c4439ab6fec51f4ea5ded2709866e0dc3c3d72b070c5a46d4e099fe624557c6d9b2955583f9b4edaad3fc299a3f3693abf1ea6fdc60985dc5242de5791172bd63dcd9698d9102f9aba4e9ffbad74954cc65f8873699dd72f32380d2c44466f3d6803484734d9981c9d76ae53b84e3b5a0c351385000f272cdb915fe673342f9fedb3dbb1347bf1c086224cfb1abcaf7ea65b1d478269335cdc5b0efdba2d8265c3853f17efea5cd1c2b390001b84429bc73525c97d50dff71f6b364004af08ff17fd9df25d6a1694153aad69fb5cb0ff2fbf833f876ffc9aa7db72b6a4093ec26be80d75173eb1e43b5bff1d7dc13564515da215ff433960b8e3c406d35de631bac7e156fec205c623a7a3b30d14a0f4cae7ca1e10f1885b7837407ecf67b38caea6b3a76724abf0f3763d7e0e88fa7d51f5807da4fe204b7072b9c7fef43565c4d09b17cd3bdc0f546daeed24a213e94dc12101f569ccb36fd62b7972d7aa499b7f1472c52bc7a7d01cefdea6b9e5ac0a56e8a85ed1a1900d2bc25dcf490c0b0d9637639bd855af7ee99ee59001dea32ab18dbf3dc7f2a14be35239f775e535a58d8b060163b051527b873ca39f0aa7b4a5a82439edcad84189c16add182a1921c94b3f49019b20edd413b98e2a587b44d1bdcf341bd6eff7fcdb3fbc7b3bf5d812956b3d658c2413e35830d7c8972931767d0182ce72d993e9bcb1a954927a6a3d34c0fecef89a19e3d1fe19738d98a06b5e89d6e657b033e6fdb1e3eed34ed114d4e8f0094dfb51a49c6ab63eebf88978b388e516ba90210c8ad5c170fef2577fc66b717a2c1c3719f34b96060702c3356b5eadef1afd0aceb6ae79c01fd9cba880b0962ab52d8483a7be4a3999c89735a02097e0c49e4895947a461bee9e0aa34b0b66f43e20682f7ecd227aec8f658a2778f5d1fc378cb0c12a6cee3edf1cd3d3dab4924d8b9787f12b92a2780c00272cd5edc8111dada9652d6b194864750e8d5b4866292bbad5bbead34c3bea328ac7665363c1c5b4df726ac8859b44dccad91de470e19805cbaebee3dd5384f6e9d689dc063accbf0869ba0c0cd68d918109562013a8e107f41fc23365744d2322c3990585ff77f2e8fbe1c7ed1e5a367179c98bbe2e3e8344156b83b4d83a1b16fbafdeb2753b4490be73bc9757a96b7abbcf28711e7d8a815299a5bd140c3760ed31b8b5c93cb6e5c6715721c834464304b261876391ceeb6553b82017890ec33d07512c5705431b89adb0a7629a61e9748a38ae7b6b4b11e4306b359bf0cd7b61c716e4ad95431991ebf8d6d5f6907fa47e9bede3f94a25c0a030d7e610d06a9ff2d515037655dfde19de455466ccd308493381c9cc24e914facc82af5580686bebafdc4aa93a25dcb47dea2d4ce84af63e428c55c852b57bcddd3b10dcd3d703056d4c56deb06d9a78455586240ad844356c4520f3ae4f7f4c81699dd21847646d196ced724ea6e6da5053f1cd3b51e7e114a8db032025c63655cb87c923d38bb39e99475b7564d2d187fc684c7d7f27099897111dec0131beaf44cf6d468278275b9a3fab1b787341d75fffeb99545b50ff7daff616abcba983893758b902b29f554120b1342832d1fcdb8e4816fb35dabf14fbb044c0f13eda12c5e219ea381d0329b17469b091a86f365ae40cadd776b404aa7e3a6c8b0d395be8199cc2acc9bb3b67c31b02fc2b3fecd11e14bacab2d42234330fd60db0461c8bb1fe7eaccd8bc0daaeca7d95c836b77cfcc281da050b7680b4e97ab522edc5c7b092343d1f529e7e67d9d79954858a751433eefabf0088e694b0b323964256fabd1cc66144b3169dda7eafcb5ddf2cc39f40db820aead50d9a87e6a38e90e42f1bf088d8019ade63e155590e4e7f762068404eb712fd6af3d09ea583f5be1824c57c72073b3c97eca5401ed23f8e1f93a3daaf379bde7f245e7993624d9f6f70f803c4918f93beca2f2dd01c929cbd91a1660f45cc5fb151fa70e6749d67018ed13140f7856ff27f8ed085b27dacc2a1e017071f9d1fe00b900ef3ff0f7336c9d163126dd311d1824620c33e069bcf409362a2d5fbbc77713144e0df2c4000e6b64c13bdae6c6396d1310e6e4206464dec119bdd4c267c3de5488f609538981b01e91e1b916b5e455f3f4652e750dcb343581f462f91196e19b56ab380d1400c19c46083bb5a6aacfb8104dc8e77cb697ab55cfddc48f2673dcd593ecab7159dbd56fbfb8683dc1c05fa6f6d09272a23d3567f634e389cc48d1471415fdea38cbc807e20280464e518782ed63b8578ba9532ae15b21d90afb4a804448c957c63c6cfd21f1bdd6ebb1d7c9a9303976296ff43a37ce31a1d55fb0ebf9e17c168e639ae92b4cf285180b87dcd4aac112a71817cec7961c73c5696d0bdd37642dc4bd0ed8a7d5ec56f186c62360ee83dfbd8cddb515599559bc235e7affa9d6f7e2eeaa25df2a4072cea06a1a115852c3680788351b7c0aebb4addf5d69a2ec2574ef8fbbaa4d20e02a35764dff647c26da7fe10e21f679110bb0737ba871ba7e2638096751e1f5f08d4e3ec1ea42e3ba783d876d41cc0d7474fbce062a8e7f03025f4178cd65c6c260bc6f27868f9465761295c373373a50bc98482ff906b0d816a14b0294946441b95d5534e85c1bb1870f0382aaaeb4e2dcf8b4756b47963ae34d21f74f1120c51b7ac4e9641314da230b220050901e14cc14794c8798ff7d33da5f0e3e326ee7ed367a8cdfefc5d5ae5db28b2635386591c242340c60fb4a1e08c5431054b7610d730db217ed0c4b64006b213f59f91f7afba0e1a2fbb357b646af25f276994bf971fc7655588d5f8e633bb9bb6156f7669f995f6e513505bbe443486909cce39da35e3f33d3c078af5ef521e409479593e01966ffc2f5ede6c8debe5cd26fbab0be7efcf643ffdbc69bd7639373ca78a1e9b283ce97089597aadbc53a08467903374cec663a2a734737bc456740191a2c272d850b44c31ded486dd36da086748485c791226e9cf343e3dd3d7848590a4bbde8705f5b4c06e3681b58426bef2b0f6ff445a2c0ca64f999cd7b9f46cb685e09630c950935452e9ecc34803f461e8a7b9d156086c52c0890ad5eed23bc388061bab9610bd34ff7212bf780c43b38ec63d0a9ab58ea5ebba4c843a73b69bec12840273783d78e9c96ddd2d558cbe49b98a4af9ec48153221b3120aecca14b360a599ab2f36f6e04e033af4f9bf10f80f468dbf3f66b2985c8e2603352eaeabc5a3151aa7f4b4a882005d37615f56448eae85a4f8ad8bc97df9b79abf5c170ba03a2d42c2f3a3ff827a7f30a1031e456cdc43cd2847163d43483938a80865ea102d46b1fb1f7e9915228783aaf2e9b236e6c3dd17946c68d23cbe2bb40d5d30c809316dea93faeb67fdf4e212ec6aad1e6760b440e87b6b6826caa4ee9831dc711a2260170daaaba39c944d84ece10e41f9f64f494816b74c1222b1873365e7e374d2cd574e94dc45957fa2f41bee59b47a1987d26375b08f074c8682464f8dad7a3c79d1fe4e627e4acd10f571f3b7999c0c81f71e1302deca39bfbae824ed3287c47dfc51ca7877966450c1f05b9db6623e669eb3899c5debe26609c271ad213d98902c63971a110351d4890fc1960209dadfbfafcae7b0139282da2bf0e71c34b8d9f4b44840b803c4b938416e75463a8e1c13dd5ba9a8cee1e359e1586c4123fb62dc6d54c397f8536fb5a0c0ede0c17ddc49c1f0fd9f6cef0980f13e347e82af8c8ef0c8c964deaefb6a97b2f5abf3a5b88f3faa167d119b7eb441f025434e55662d24efcfb6b385cbac62d3fa4aa633e90ef36e65eadb096513e08a18dd0606a2412b8de4ba0a7873526d3515ac76d5495134eb297170c29146016a0cb343fdf9857154ab969226891c38a42b0b6827613a66539306f6e49e7af49c7e6815999e70b608aa45f6a51f6016bb0d73cd79b0f2ba47eedf07a452b0a7df524bacb2f715054e86dd6f30fa2f3765e98e785c0051a2299a3b0d53905de1c83e0b260f06e9c73d5a0667ef65a12ecf2d1c2c3014a78fced450b4537f18aee256f359125d53fdec77e44d950044bf89166cce8ab0dbf761785e1d2a0789dadb1fb15b1514567a6dadd42024f1bb735ab02e77b55bf711d185fe03a49d4450944ddf6b2f05b250f95289fe352bb16f4cefc03cd4413bfb886871064631a470f919382406e0349ca8e5a9d399cff01a4ed9c1137bd35a7e99911869a6e266cea03e6767b3667e403c712e8690a8241311e18e40cc52c293c3d97234d202ae4170d52fa8ed3eca7d53fa7a786bb62fba64d16112d82f88608d7b75e2f3e20afbb81d09a8619da3b60cdd8cbde71d8bbf8505363d36fc1608e54e85549ebace896d7c76147dea34ca52c0a929b0a7a4f66086c05d23ab39a695a6e3b20285acd4f67fc3e07fec8d0d3fe4fb6c0027bc4f457c54e474a18cd079db4a81ba858cda1190dddd16d097327aca53b3b43d41d946a9c4e1856532246153fe50e18e9c3e6c99e204b26f01a7b29222f344cbd600bbdcc3ed2ae317ddf2b3c6e5554294890db18a1f88afe3c3c5ff54eb90730d3c0403da4904aea776c587ddad99ef39eb880c39f3fd4909866cac21776aafeb9ee8b9562cec0300bbabcaf30b7a0e4d03354da4dbb41ebb6ebaa68f45828951c23d56642fa784ef1539558975d0c1e334c4419a5a943785769137ff0a74d3c8c768af9eba94373f7519abd4c437534531388a98165ecc411939360c74791a854655d355529ef29f5f94533459201e2e6f7b7cb4bd0e5f9aa5b6e5131e7db2d61e356389a1cb05297f80abd25b7a95b1b6d0d60a3f4549748b949ec61221767988a5cdd5000000000000000000000000000000000000000000070d12181e252e36', publicKey: '0x71a7f60efdd1db34fe06b952141348ee175dde117f85dbd3b101102352b8f2493ef8eacc112acf27790f1d6efb1aa0b60a5345b2cdd155d3973678e0b037d404bfa3c4e77964f3fc050c071c9cc13530616dc2ff9a571644b1a53b78acc88aca1c9dc3d370585f2d2a0be9e38551a92590eba009639e566e2ec33965401d07a0a1ffbe373cd9a22e203bd538ebb670c06c33f2349d94b5c34a54454bdbc6bb7fca9ea3d2d04216ccb35456016c79f21e95e3d3e7e7368f03abf5f19369b94892c7144829f3130e8fd2c9fb691c3b7802f9fa01a5620a9d54fbea791669305b0d2b05f6d604d0569b2f90caf4280f3a0f9ec93fcd0da626527b68543bb69a8a48cca9d4f8a506eb38ad30382b31e5a3374654a63ba38dcaf634fb1b67fe487ec16fa1919f257d28aedbc476db3a1695a0e505c7e70b3ef350d6eaa51062b21771dec52e68082e2b6a378331c5eafbc1e11812f76e2231308844bf26bf8b2a9c379353a7452366d681d71c8ccf84f6f0ff284f7c783193c535965d1e43781ae8491754b52eb78db4939ff13f9c67f501d0e263d5ba1bea74ec2aab7a2b210127a1408b9a9f2ab46fe057f6148df2813f2f759d5207e385991f3e0b9cf71b1a518ac2146ecb5856695a3cfb7199456aaf366ab6c7de30fbc534633cc9ae738ac19e2035bd201966412f1a079dcc00d656bf39e798013a26bbe5ac9cebd71aae628eeb2f013ce9181d65c7cc6980aafb3c27fd7dfa8b3959e6f86c572cac181fa70a9178f206201e6a31e072e8d1ee124aa3ae720455b1b9b370e8179a3ddf14b56a9e1d378ce9060f326784f305dacf2a824597f448f239efecfac889e46e1f5ce9e2901b57d4aeeab08fdf31e4d178949ad7fb0eba42319ecb7d99eeee44b8647fddcbe41f3ea2e417cf57cba84eb88e4c291300fbf2bc4dc2bdb79759ef764f8eeefe5661bedaec67bdccdf046cdeb9dd80004e4e3e1005716e89ed2f3881009e602a5d6fd8793e0134a4b807797490b9f2fe66d9ddc40438e8a9810d601677307eb328496a9242173359288bf90f1157e77acedc8ce2d0186a5f9cc4ad79368dd59b67a05442a3478be5f8afe5afd15b5d2b7d947afb01fdf9249d3149ecb998d1ecec12e39969a6d57715043b66c09d447c3dda6ee6dda5838dd701c2bb6fa352e46b68fcbb5ec2a5a1c079fce91d34e0321571a1c02431d240a054d050fded8a2b3f53301ec16ff7cbc994ee320803e5e72d7d4ce7566be875fcc78b8bb31b78203ba056b8f50c6ac24afae4b2666158cc1aa370b19c47d90bf769d094ba9c715efe14a18e7c08498c0f402d3b5f5c324616c4b60b27167f94050e5a260cab7170d1a9ef29f6adb066f8f6a16e6837dbd9a7f54c3bed07c4b8482a5b8d22fa8ee54ec6b59dab39df7a59671a1fd26c9f633efa6217fa4b6364180bc64bbb68c7f38e0bff57fc2ada98eaa73fd103fb57c15d307d4e08ad94825cbc1c1e96d00cd0d5b61e989e3c8c94a65a6d8c36d07c5dc841cca9d12fc0df3723403fba0f15ccfa31ff02d62079e8f62c93d4b9782cba357f368b0405b2fa96e140b25d6aedd17c199f3542604f22df8bb9d6c9693c2677b3cbbb9a9fe23af1d2a5c0083734115445dbfdf67afc1979e2f1908e07bc72280ef2631f8825dd59638566508737abd709bbd53356e8cc877716ed4691ec289a9380d401353117b828daa1ec2e67800d37e277c469fc9643d9c5ce28edde8e7191a085cd368196d38941eacddf923af99213c0fdb0c5f2d90e16fdbff0e35bd7069a0ae46d1d4433b4a565ecc51b0f257120116080b77911e3530368ff0d7548e8bf9f2297850c3f5f235f81590e975cfac92e6cf84a540f65902f5c651d3f7cd484b33bbd379b4f2581f7225fc7285c7fa3801d4ea3e623fd2b82e48d78bb20db1f13b75383743a72685901944137498b3e12e13707538f54341ebe5cbe4419aa885b41d3320938e0086deed3c2c57805f6c83be4b5c2d8fec72a476f8948e7cec28bbcd6510bf0c94ff3cf3cdc30a059c2815e5df4dad1e2ab9d7c3f71286b188d1e11224a2de99df1f5d9cd6220163fe2f28b8439038c53ccda938425e76d95bf7609b41e766416e0e707bc13c1372f477c7818204a66aa659ac280f1e66e8d164017c1d04cbac2de757ffb3d3551ed6117e345c0a30cac34642ce5b682497920186c0327e87ee980eebd5fb25ae8e3d1543d02218b51c80224e2ba1c97f2fc003fea1cf4a4682cbe75dc3eaec932e510d83a9f1e62ca72455b60dbc301fade0f20fdd5d2ce32bee28cc4de1e267b8137e1206cd8cf6005f8169c95b454f2eefbb039f813e7ea0c909bc1795582d5c3d511ea4ab7d62e15ebfe90f861ef1274f256e8ee601cc97aabd453f440c72c81b0e7c8d39bde01fd193d234c7c2bf558a07ac0d193be8d315e4c1c13312bbd3e868bbbe2b38bff2ccdcef8c099b0a3b2fbcc17ce5d1806796247205e22ebadafd237ba14de17b2db83870827526fe3aa49deb602ebde622b565a4d3363fc7e61815ce6c6fac07a8898e716eaba1bd0f3844ebbb6ef41bfdfad829669d46539ad8729fc51cbace5c0f5b90c7d6aa3e29a283c4c4a66580f24a0050d5d716d8ee0f8ea132004c5d4fdec2d0ffc59d8297a2fa46ab685504dc97ece15814931595d45feb1cf96c907e58cc2a6b752894db00b27ce0ac8b7741164c1b2d5af29632138cf672bbb452818e69a83d3c1dce40a5ad038e5529b15bbdd1a3a33a890b07c07160e550a09b65d2c7f4fd78a08fe81137afb57581579b07b6e137646c25bb5fa00f439236d0cbc8df982ac6aa2e49ab6ecc7fd9da423aad0e7ad60401e6cbed611172fa72d6a422df88426439f047babb7b8fe78ce864709cf4574235f4d59c6af5aba17c95ba2199a6b4cafaa8af86a2fcc3e9f179e54ecf956b58f3b90b0b88add4cc8f2ebbea272d6aec63d73b2375997d240b9d672904b020ebb7ae7f898a814b2bacaf0e3987bb303c01b13d4c31763def45940f2215af9c4a6e7558189e69480897402566064734c469385c8262436fd7ad96a7d7c9d305536baa3276777e2e10f3832808c2b2a9bf15985194428ea97c48bb9eb15950732a132043cac6d43b819e6fa4a7d402f85034867f4ad6eecbf0545eb9867888efcd25055ff8161a4dbdb69837824da5e6c35d2c32a2dce6c3459a7fada1008c424f0e075ede5ae2e928c43bd4a617c613735a18a2de088165c88265ee164cdf2b66fb0934854dbf8be9f976fa1fa96c29de1997c82455e12964db5fd5e872f8d9df48f2cf6b4965145f1f750c7f61ea0e0dc591559c08c732563c2bbd2ee0ba593a0f4ed251cba45f2469a8e75b28a2add7ccae163565d3ab140bb9214a75189186d1b450db171c201cf072a92c6e6cb8a88441b2729599ed795d4ab35c9239cb97fe7833ab173a3a0fbbf5a61fa729263b8cc08b5de7257a62b6c6d36d0551a3af8d601fa48a73578e3a5ea4040f7d97512325340fe94e46220766c8d3a10ed1738acfadc152a225fff3f6d99d5669dd4c25d9812273dcfe385068dafab7ec2196e0907539ce7cd26a0853a276bfc9a470707100f8b6e01b6359bab6abbf2aac5e86e1ba4b92e8b348b041e8f280cca6228c2a8836cb952f0408004a68170fc49', - signature: - '0xa72c80462ac2c4bb906a251e1614023a06691d8b92881746f571ea1c9d95903ef5b0ca21dca31468b72beca3d9c706ad1907b28425530a31ab984d46046346eb1fc5bf8853799942a7a4cc3d9843a9bb9d226f1affc433a2de5f3e16b86d4b193d62d849e6e1e3784351533dbb19ef0051c0b86d0426edc39a08877efa250a165d43a9fe97749b3372c779cef0145ac7ce4c60d89df9724d2685124371f871dc4ec510c1f27642da4f00a47b26791e79fa3cb910605bc51b1d5e86e11e02030178ec2e30929cf11925081f3930ceae996f9a711f8111a6d0634762efbebd6dce173c1d22be60ee0a37a886a76583eb3f568bd333f30b7424190d5ea4be0344c112b61e8ecfbc34aeb6a481e94d45ab1940e8d9eb17e23fd0941e62d6017c1012801d115cd950a22a0a334fd9738234bfd71c7119fc839db4e592bc10de4d30fb26fdeb39341c8142ccdcdb74e784a57f6b1d61e58ab632b19f3d2cc9d3943d1d6984bf6879ea9bd8f6e7cc224b7063ba2774a5b93bf7963cfcabedafa3974f6e9bd297b133286b294c1323acbf4f209cbb39d7f06db1d2dbd2585b9bf2af2f3aae262372008233664589abd83bc6bb3246317eec920cc712ea0c82bfcc01b052345a772872d1fcb98b9f9f140d673c1c85cef61bbacb9ea82b8987d562a8cbe0efe8414959bd6408796ba01e1fe1a416e158cb459786a9afd507def75dfc62f24e3e85228261e34b0bf81cbff0b3a478425b78568f3d6c6709cf8042e4e429bc4a3710be57892236459d934083b69a9abeaa9295cd7c9b49c4ba27ce401aa9f1ea2837d36430ca1be3a3ce14d3a72cfde0da427944dbdf613a98e1b3b08dcfd9d97d09d437491071025d96ce7a5bc08336a1096485460f6699b5c3d4873d021830d1d8ed9217eb46b3dde18f2687cc66733641abce006d255a2574d70a3196b40ba3618558624e96e59b6a3dd4a926783ab8588c86a773bcb4f77b85fd3319bef42c34dc32159683b4dd0a02c0f4bd47e136a81db8d3ebaf1accf8a9dcc3a00810d309414b2f193d560776fdb85cc1d512f92668fa361fcad15b282a5c8e893f8c1ed5c71d743938cee8a01e83bad8af29a327d18b0518c29dab6f490a7ac040e7232f13c1334fb145211b3ce99ee7dc8aae4e414ec47049ecd663cd1c5dd93833fcf01ba77bbbb8b7c1436a10d3a60e3da8b0cb42af9b3e89f15a966f4b4f5e112660ff4a844fe54797fb509b4d38f4ed41ca234a591bbee6a99b7752fc5577ad04375f6c790b7a3bc473763b6221d189db2c206cc04325d475e406d0f69f3c88f8b944db6143ce2fda2168f98fc14a025163ba68750b1545c84570eb21f636eef5138759d7777201028fa4141766ae2399127ea067e3a577b071ad3ae6d2952a513e6ad3f63fbe528475542814fe2ea34eecd7d8a872ed9009a5d343f880c80bda9a39a39017b0955945335a45f6ad6da2d6e36d574148b0266ac78b76cf685cd6d0a3beb7a13374324729b053ac33059ad856f066799d46dc7911b552219ee189d7120269eece6b609bf4742d5681dffec38a1b0a3f9e31f721ced3d430177d2c481c5cd75d6e882ec88d42ab59b628875f1dab2393e9ca5aa1bd186f0e7e5f7fbca1e8f67f5135790dc3b912c9370e30748dafbb6cfda197b6622def66f84a8a79d807f847a7867849578702406f004639510bea8db3f9f02436fb13b96dc6b16cb69012422a7464f27b96a7425d006c4c954f9a285315de10f84a7146c4aef5906c8b48c547c1e694766412ea2436477f992e45f5046b04faf2c6719160a3c4fadc36cb6b6785de9d44fb02aa1ca770794932fa2ebccd5acdf4f3e8c99691a10a525a4b52ace4b71ad2366bfbcb9a4dd72af3172cbaa457dd2a627697a50eb9af17ffa6fc344f86318a2896e050f84e4db5fbeed7bf3953c3998463cd7afe25874271bf0037cc6be4f4c4ffe3f9ac39d2e32232fda1387674ad39dafeee02c75cf075fb0da8f6e72eec88b6ee6184a94d5253c0f3e5357d3a483bca6a595f594bdbdb0b89119d4948d5ef17d02678d7d82c11c83bb1207981bcaef0b283a1b113e2efbe16820851c9a2de3d88a39e1298232d3873107a14a7c7e19eb62268f85f9405d87b4cd85a5df027fb3b3ae2512c1810c261c56a45187dc392cef7bd1e9a77041c23f2e4415d3e5d11ea5831d1875d332d4e52168148050c25c11b68290cab2d2a3ba9cd58a9fe403c0566c3c51ec484272dd4631fc7a505e821353427ab308df0150220300415be117607e150cae1de82fb93ef0d8a863046b7f9f93ae0bd1dcd10e97448217c24ad3b25317fadc20e96a0e92d25e87f249e30ce3df74610146a222c97545c06ef47e15b433abdbf03b4bffb8abd5305b46cc3cb7c153bbc3b3349cbfcb6cc3f1e17ac8aea39f68d3631c9e12564d654985193f79c30acee258173a6d3dd56f64048aac29701ae3660424c760535c7da7943431f7ca0d0d17a1778e51a7e0fb059f11427e020a6b4554c8bd95c22663c9ca556f09583813402c561a3ab3cd6843cb71d2189466914a024be42cf721ebb30b31ca63bc712e24455870a664cedb5a74741d650940bc5adeca88048aede3faf9b871ae324065eb9cdede84c7b6356f9708f24d51d21f4eed6f25cb093a1a28a611143f80554663b98b012f34b9a140357343225fa5e997765cf53f203e86ea55ed4fbb00e1063d541ea1d6ef1d8cd8e912d731025840eb80f0e50b0a5b533871d6790d6448c0a7c7fd8e454483ed0b3aa931790f4a2bbd9ce6da506bc01f8c5404c2acb5cab5979d206bb2d51c5a590b381a3bd2d9e14b0afd6b490664ce5164552988a96d051b7dbce38ec8d0ee39212c3135eb8dba3bfd7848ca7460db61df1432e2c58bf4adef67dd8e31c1950402c7501bd36abad9680ceea97db91a3e7c2ce96557419482a88c3d0286ebead0cff186182b69a19b9896e11eb29143e9e1b8a94f6f174e7bf976030c1f659fc54ac06bbb230ca33bc176c25bf114d95a2267d3d3a0975f7d8097c73a412d3a1614b2d8df907464aacf76e3596b4db50d330766fb2f53b249d922ebcb582309072c125859ec5dbcfe6d06ca85a045906c867c07aa27554a900c1ef253ab7577ccba56dfdc058ee923cafacdb243e68eda9d482e9056f84ddf510f3882e5af9f8404a0df4ba69d4b41d142a393f1dbec9e73e6f3b6fcc4f0c59c122405d8ededee69502c64ee2ba0594dde2d5d151470893fbe7bf651a484425976b92fa19152e41e51af501c716efbacfeac8be1e9a21f378be76287ee5e9176ef7872cc34d566c67c6dc180918c2996b92081915e1a034f29dc1a0e2ec27b83e67bd46f416b9d78874da99615de9b16d8f8df94b4756829502ad0ed8ef36972d519da7ae9b41a9b19d732d76d81a2c7fabffdd517738bb674d4f8fce95225c6e87c87b1319eca554bea4f4268db22f087cff5b6e344b6e51f06acf78471db51158a0132a8da0fb157b08fc963e07cbdd6d5e8f6b7f4f2ec8d57c40c8cb63f28a6a1a4e346749cf8927a5bb8233fc3971566501b9ca78248d225d553788ce2592f99f1f74933d9a0899bf591618f533b3d93676eae047a5e31069fe39ad460c852741f60bd518d245f314e3c2a23ee0611d0dc40d618214c00b1d197e0a490e9c9849bb5243ac9e4845fa7a777cf7c7f0b5a8a9bc34a8323b615568fc5bc4ed3debacc6727dad2fc5b498c438728a042b20d4b27a64df3b959dad45c206a7cb1f2e8906f910524cd122c5fcb5842dca066de486d93ef41f1b77a651a551f824fc017fc951dd253eb22f802853efe9c804803862cb5090da4b9617362e06438bb57523172665100e9214ea669cb6fe31b7f5285645c5eaac9eedc15100f65c0dc23265ad21d7cde8f04560143eeada1a21d377d512f274e28219617a77b4683b9bd99f058022e1c46b2f0a3d685b0ec5e1ed05fa2758f88386b1bcaf89de572648df3e7bb144bfdc4892f526ff3abe1e29ff7461053fc5fca681207a338fe128e9943f601cc0a39a21d11204f75b94a96509968dbee698497f7542f2c0f94cf783dbd6f6a288d27145a46065a1ded549d851aff2198e90398d19db272c3cb3fafe0e7d5025961275adbc6c7f8153d58b25a3dfbcc62dd5b4ae0b24f71f3ebbd09fae55ffc0e45c15be12e5cfe41addf9d2d73d258debed241be7be6e13fb0d6af1b996ec1096c1878a2723f623c5f89c3b95f9955d74a37d23a3b0f28351fa94a6dca95926f2036e9c2dfaddc6e3d072bc7aed30b274553f7443b191fb31b11dbb652942be3611f4f8e8ff6b0e3e821e4cdb95e3cdce4d11a6eb769bd3a439dde2c2f06fd8f30ff153e9763ddcbfcfda76fd0ab84c2ddf4e1eb27998ae0611851c7b9664759e6839673d4519e3d50ca65c8331a727d5332bbb3a0c31ff399e5c974c602cc2855cf59bb5c8dad81cc5b3f47339df9a37ef0c87e25d7ecc9d08cfba35136442e0a686664d627b3f56958796439aefa2812933bc8c7f2b5f0c3dee3f699e100d959e086e2ba51f9fdfd7b07b18796606f09cc505e1c92e0e5b6381bbe4c112c43f35e5a8583ae388ef38f824c1e49c1ef75ce610365777276522b09592d5b2f8fe4e4683e0f96853ee6b6c1291c2b984560d608ffd83bceef18c4a3172a13a98b7864e3b528d0c632a2ab0336b52636cb6ac6cb9e9cdda3a799bc88b07f6251cfecc14871951229978179bd6daa5721ceefb943e339008dee7362ab985318afe8d5ec5c1dfda9215837705dd29a337bda21397c0f7f7953606c4912583080ff215953935deb911c7639f1c7b3f3e0bf0d5bd9c921561d1ba51e47ea9b59971f243d400a572d56a0ac7f2ea826062d29d54067d62fd090bfe7a732b5eb8a7df4fbb5d61586db86f0bb2fc45540556b19dbf5f2c45323aa87652b5f47b15820d832392d2ef1ae965c14fa77333eb99ba863332e40904d6c573fad4beb1ec8ec25d8daf614cabe127015675c231fcde49f2e854fe326abd12071cf3f7a4b4ec83a36e0bbb621feada966d89dcd506ef91196d9f62cdeb132c1cfea1b3c6f95b07e3037c75bfe8bbe3d6f41e5177248e0260b38e03bc9106bfa60ef9c2e31c49bffd1dcd90f5c2d8369d819eec4348631f4c95296deb42ce24e41f076d2a725ed72528f746855104bcb0a30f23ae23d20ca5fc0b1c0c77cffc770e5c93df832eb7514f5481feffec4cf0e3006184de1913291b6425bf3c63e3222435eca7aa24933d3b55d7e01cac6db3b954c6c9a372a43ac98944ab6548cc44813d2dd9ade740dc9244cc37dc25b48a3e6266e128e92a9e8d53d404d8a2f388c4d0f8899c0b94dd0df3b988d5847570f3d671ef508295c8e089d801ea21bd6c0a775460e3d8cbce0633cb30ccebc787a97c1f26e1ce9fb73349fb3e474aeefae4a255cf36a8efca02f0fafa8e0eee3f3ed9b78b3309d2d6a1bf8c4034fa845a19ac7e86ed199495359b72f54053d38370829fef41faef2cb812e974ca6869db0c93dc62e884fceaf8ee837ea01dddc8a8f149fc6a8b2e0338d533968e4ebd89b75a0cb7a5fac2fa0e16c3343c97931187b3b4c8e1133daec009ec3e65772260c64affca973b640ab5060cb4fdc983b105f14928740ed6ec95e7825a70e4191896394eedfe486aa9c77a29d355eb8802d0856b7c4b9f230a8eeed605e43f72fcbdf7192052861a552c2cf1d8533039a84f9fc77afdb9d2c88b38184d40d6d50ed9e7823da53763235b4c2669237c7857be5e71dd170a4e0ef341de66dda9ac79df8c4aa8aee3e00bc5644586a40e415e8fb86e69e4905739e3d7b9540c82739be25be458df9296479fca33d75bbb9b4fbf7a7d7e64fd90bef65e9f32f40b6e5e37db1e410782b19de579599e769d469ab6a4dc0d6a8e2a4842196fee2fd1203444e7e2fb4fb5eaebd6b84803febad33ec48a7db89670c6df982c52f16241c0a36420c0eda485921db74d8ba4ae091e1cb9d33f170cc1687bc544e2cd605ed72a05697e7fe7d0383745875365f970ba58e403ca806d2091378da9fe32c21c49cd60647a1978eadffe79e000e02da7030e0008801777f3e060b448d89a4678de9dc048531a83de01c3ccd77c9371005a3e8cfa82cde828f4b5fb89ce49006d80fb492cfc7301419d6285819a4ac369787ee81ae52bd4de2136ecfa6902a53218c4b37b51bd4e07c3ecfe92073fbe7d8771a17b3bf779773c322a20c40ec9e8e055b0974bdc91262c6bf0a3f32d9f36617623d6b61b563bb0da1417d1384af2a1c1b31929732a93f15166de9faf49a2045f20c754a9419c1ddcc1584a900c404166ded19e22160da71595f44d026594feaa2ffba2a4637ac1e20fb9a5197df7736cc5ca7131ab554f4634ae6e1e361985803a9252b9f2fe521553b75421539c28323e49637f949a19364b4d537785c2d80b8c95aeb8f71e3d4c579bcdd0d8fb33466569a305363b721d3181dfe1fb909eab000000000000000000000000000000000000000000000000000811172025292f32', - descriptor: - '0x010000', }; expect(json).toEqual(expectedJSON); }); diff --git a/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts index 07f2b74a..5dbce56e 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts @@ -110,8 +110,8 @@ const baseTxValues = { gasLimit: generateBigIntLikeValues(100000), nonce: generateBigIntLikeValues(0), to: generateAddressLikeValues('Q0000000000000000000000000000000000000000'), - publicKey: generateBigIntLikeValues(100), signature: generateBigIntLikeValues(100), + publicKey: generateBigIntLikeValues(100), value: generateBigIntLikeValues(10), }; diff --git a/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts index b604ea65..6eec35d9 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts @@ -92,9 +92,10 @@ describe('[FeeMarketEIP1559Transaction] -> EIP-2930 Compatibility', () => { 'maxPriorityFeePerGas', 'gasLimit', 'value', - 'publicKey', - 'signature', 'descriptor', + 'extraParams', + 'signature', + 'publicKey', ]; const cases = [ 10.1, diff --git a/packages/web3-qrl-accounts/test/unit/tx/types.ts b/packages/web3-qrl-accounts/test/unit/tx/types.ts index ac92217f..39fe4db9 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/types.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/types.ts @@ -28,9 +28,10 @@ export interface TxData { to: string; value: string; - publicKey: string; - signature: string; descriptor: string; + extraParams: string; + signature: string; + publicKey: string; } export type ForksData = { diff --git a/packages/web3-qrl/src/schemas.ts b/packages/web3-qrl/src/schemas.ts index 4c79353e..ec24d588 100644 --- a/packages/web3-qrl/src/schemas.ts +++ b/packages/web3-qrl/src/schemas.ts @@ -135,13 +135,16 @@ export const transactionSchema = { gasLimit: { format: 'uint', }, - publicKey: { + descriptor: { + format: 'bytes', + }, + extraParams: { format: 'bytes', }, signature: { format: 'bytes', }, - descriptor: { + publicKey: { format: 'bytes', }, }, @@ -202,13 +205,16 @@ export const transactionInfoSchema = { gasLimit: { format: 'uint', }, - publicKey: { + descriptor: { + format: 'bytes', + }, + extraParams: { format: 'bytes', }, signature: { format: 'bytes', }, - descriptor: { + publicKey: { format: 'bytes', }, }, diff --git a/packages/web3-qrl/src/web3_qrl.ts b/packages/web3-qrl/src/web3_qrl.ts index 0f1b1986..4b4d04be 100644 --- a/packages/web3-qrl/src/web3_qrl.ts +++ b/packages/web3-qrl/src/web3_qrl.ts @@ -469,9 +469,10 @@ export class Web3QRL extends Web3Context { +describe('qrl', () => { let web3QRL: Web3QRL; let clientUrl: string | SupportedProviders; diff --git a/packages/web3-qrl/test/integration/helper.ts b/packages/web3-qrl/test/integration/helper.ts index d701fa30..a62dfcb0 100644 --- a/packages/web3-qrl/test/integration/helper.ts +++ b/packages/web3-qrl/test/integration/helper.ts @@ -87,9 +87,10 @@ export const validateTransaction = ( expect(tx.to).toMatch(regexAddress); expect(Number(tx.value)).toBe(1); expect(tx.input).toBe('0x'); - expect(tx.publicKey).toBeDefined(); - expect(tx.signature).toBeDefined(); expect(tx.descriptor).toBeDefined(); + expect(tx.extraParams).toBeDefined(); + expect(tx.signature).toBeDefined(); + expect(tx.publicKey).toBeDefined(); expect(Number(tx.gas)).toBeGreaterThan(0); }; export const validateBlock = (b: Block) => { diff --git a/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts index f3336022..71dcfc50 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts @@ -66,7 +66,7 @@ describe('Web3QRL.sendSignedTransaction', () => { const transaction: InternalTransaction = { nonce: accountNonce, from: temp.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: '0x1', type: '0x2', gas: '0x5208', @@ -260,7 +260,7 @@ describe('Web3QRL.sendSignedTransaction', () => { it('Should throw TransactionRevertInstructionError because gas too low', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), gas: 1, maxFeePerGas: 1, diff --git a/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts index d97bc114..c4822aa0 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts @@ -57,7 +57,7 @@ describe('Web3QRL.sendTransaction', () => { it('should make a simple value transfer', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), type: BigInt(2), }; @@ -80,7 +80,7 @@ describe('Web3QRL.sendTransaction', () => { const transaction: TransactionWithFromLocalWalletIndex = { from: 0, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', type: BigInt(2), value: BigInt(1), }; @@ -93,7 +93,7 @@ describe('Web3QRL.sendTransaction', () => { expect(minedTransactionData).toMatchObject({ from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), }); }); @@ -166,7 +166,7 @@ describe('Web3QRL.sendTransaction', () => { it('should make a transaction with no value transfer', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(0), type: BigInt(2), }; @@ -179,7 +179,7 @@ describe('Web3QRL.sendTransaction', () => { it('should send a transaction with data', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', data: '0x64edfbf0e2c706ba4a09595315c45355a341a576cc17f3a19f43ac1c02f814ee', value: BigInt(0), type: BigInt(2), @@ -245,7 +245,7 @@ describe('Web3QRL.sendTransaction', () => { it('should send a successful type 0x2 transaction', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), type: BigInt(2), }; @@ -260,7 +260,7 @@ describe('Web3QRL.sendTransaction', () => { it('should send a successful type 0x2 transaction (fee per gas from: calculateFeeData)', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), type: BigInt(2), }; @@ -280,7 +280,7 @@ describe('Web3QRL.sendTransaction', () => { it('should send a successful type 0x2 transaction with data', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', data: '0x64edfbf0e2c706ba4a09595315c45355a341a576cc17f3a19f43ac1c02f814ee', value: BigInt(1), type: BigInt(2), @@ -295,7 +295,7 @@ describe('Web3QRL.sendTransaction', () => { it('should autofill a successful type 0x2 transaction with only maxFeePerGas passed', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), maxFeePerGas: BigInt(2500000016), }; @@ -309,7 +309,7 @@ describe('Web3QRL.sendTransaction', () => { it('should autofill a successful type 0x2 transaction with only maxPriorityFeePerGas passed', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), maxPriorityFeePerGas: BigInt(100), }; @@ -323,7 +323,7 @@ describe('Web3QRL.sendTransaction', () => { it('should send type 0x2 transaction with maxPriorityFeePerGas got from await web3QRL.getMaxPriorityFeePerGas()', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), maxPriorityFeePerGas: await web3QRL.getMaxPriorityFeePerGas(), }; @@ -345,7 +345,7 @@ describe('Web3QRL.sendTransaction', () => { tempAcc = await createTempAccount(); transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: '0x1', type: '0x2', }; @@ -455,7 +455,7 @@ describe('Web3QRL.sendTransaction', () => { it('Should throw TransactionRevertInstructionError because gas too low', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt(1), gas: 1, type: BigInt(2), @@ -480,7 +480,7 @@ describe('Web3QRL.sendTransaction', () => { it('Should throw TransactionRevertInstructionError because insufficient funds', async () => { const transaction: Transaction = { from: tempAcc.address, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: BigInt('999999999999999999999999999999999999999999999999999999999'), type: BigInt(2), }; diff --git a/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts index ba398dc3..3a2fa181 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/sign_transaction.test.ts @@ -41,7 +41,7 @@ describe('Web3QRL.signTransaction', () => { const transaction: Transaction = { from: tempAcc.address, nonce, - to: 'Q0000000000000000000000000000000000000000', + to: 'Q0000000000000000000000000000000000000010', value: '0x1', type: BigInt(2), gas: 21000, @@ -67,9 +67,10 @@ describe('Web3QRL.signTransaction', () => { // Pulling out of toMatchObject to be compatiable with Cypress expect(response.raw).toMatch(/0[xX][0-9a-fA-F]+/); - expect(response.tx.publicKey).toMatch(/0[xX][0-9a-fA-F]{64}/); - expect(response.tx.signature).toMatch(/0[xX][0-9a-fA-F]{64}/); expect(response.tx.descriptor).toMatch(/0[xX][0-9a-fA-F]{6}/); + expect(response.tx.extraParams).toMatch(/0[xX][0-9a-fA-F]{0}/); + expect(response.tx.signature).toMatch(/0[xX][0-9a-fA-F]{64}/); + expect(response.tx.publicKey).toMatch(/0[xX][0-9a-fA-F]{64}/); }); it('should sign a contract deployment', async () => { @@ -102,8 +103,9 @@ describe('Web3QRL.signTransaction', () => { expect(response).toMatchObject(expectedResponse); // Pulling out of toMatchObject to be compatiable with Cypress expect(response.raw).toMatch(/0[xX][0-9a-fA-F]+/); - expect(response.tx.publicKey).toMatch(/0[xX][0-9a-fA-F]{64}/); - expect(response.tx.signature).toMatch(/0[xX][0-9a-fA-F]{64}/); expect(response.tx.descriptor).toMatch(/0[xX][0-9a-fA-F]{6}/); + expect(response.tx.extraParams).toMatch(/0[xX][0-9a-fA-F]{0}/); + expect(response.tx.signature).toMatch(/0[xX][0-9a-fA-F]{64}/); + expect(response.tx.publicKey).toMatch(/0[xX][0-9a-fA-F]{64}/); }); }); diff --git a/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts b/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts index 7ef1d0f8..f8e71ec6 100644 --- a/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts +++ b/packages/web3-qrl/test/unit/prepare_transaction_for_signing.test.ts @@ -34,7 +34,7 @@ describe('prepareTransactionForSigning', () => { describe('should return an web3-utils/tx instance with expected properties', () => { it.each(validTransactions)( - 'mockBlock: %s\nexpectedTransaction: %s\nexpectedSeed: %s\nexpectedAddress: %s\nexpectedRlpEncodedTransaction: %s\nexpectedTransactionHash: %s\nexpectedMessageToSign: %s\nexpectedPublicKey: %s\nexpectedSignature: %s\nexpectedDescriptor: %s', + 'mockBlock: %s\nexpectedTransaction: %s\nexpectedSeed: %s\nexpectedAddress: %s\nexpectedRlpEncodedTransaction: %s\nexpectedTransactionHash: %s\nexpectedMessageToSign: %s\nnexpectedDescriptor: %s\nexpectedExtraParams: %s\nexpectedSignature: %s\nexpectedPublicKey: %s', async ( mockBlock, expectedTransaction, @@ -43,9 +43,10 @@ describe('prepareTransactionForSigning', () => { expectedRlpEncodedTransaction, expectedTransactionHash, expectedMessageToSign, - expectedPublicKey, - expectedSignature, expectedDescriptor, + expectedExtraParams, + expectedSignature, + expectedPublicKey, ) => { // (i.e. requestManager, blockNumber, hydrated params), but that doesn't matter for the test jest.spyOn(qrlRpcMethods, 'estimateGas').mockImplementation( @@ -82,22 +83,27 @@ describe('prepareTransactionForSigning', () => { // should be able to obtain expectedMessageToSign const desc = signedTransaction.descriptor !== undefined ? signedTransaction.descriptor : Uint8Array.from([]); - const messageToSign = bytesToHex(signedTransaction.getMessageToSign(desc)); + const eparams = signedTransaction.extraParams !== undefined ? signedTransaction.extraParams : Uint8Array.from([]); + const messageToSign = bytesToHex(signedTransaction.getMessageToSign(desc, eparams)); expect(messageToSign).toBe(expectedMessageToSign); // should have expected public key, signature and descriptor - const publicKey = !isNullish(signedTransaction.publicKey) - ? bytesToHex(signedTransaction.publicKey) + const descriptor = !isNullish(signedTransaction.descriptor) + ? bytesToHex(signedTransaction.descriptor) + : ''; + const extraParams = !isNullish(signedTransaction.extraParams) + ? bytesToHex(signedTransaction.extraParams) : ''; const signature = !isNullish(signedTransaction.signature) ? bytesToHex(signedTransaction.signature) : ''; - const descriptor = !isNullish(signedTransaction.descriptor) - ? bytesToHex(signedTransaction.descriptor) + const publicKey = !isNullish(signedTransaction.publicKey) + ? bytesToHex(signedTransaction.publicKey) : ''; - expect(publicKey).toBe(expectedPublicKey); - expect(signature).toBe(expectedSignature); expect(descriptor).toBe(expectedDescriptor); + expect(extraParams).toBe(expectedExtraParams); + expect(signature).toBe(expectedSignature); + expect(publicKey).toBe(expectedPublicKey); }, ); }); diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts index cd8bc80a..00e62ac0 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts @@ -32,11 +32,12 @@ const transaction: TransactionCall = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: - '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + descriptor: '0x010000', + extraParams: '0x', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - descriptor: '0x010000', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', }; /** diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts index b4f39352..9e94a3e0 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts @@ -32,11 +32,12 @@ const transaction: Transaction = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: - '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + descriptor: '0x010000', + extraParams: '0x', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - descriptor: '0x010000', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', }; /** diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts index 6630e1c0..54cc14a0 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_block.ts @@ -53,11 +53,12 @@ const hydratedTransaction: TransactionInfo = { to: 'Qf02c1c8e6114b1dbe8937a39260b5b0a374432bb', transactionIndex: '0x41', value: '0xf3dbb76162000', - publicKey: - '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + descriptor: '0x010000', + extraParams: '0x', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - descriptor: '0x010000', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', type: '0x2', }; export const mockRpcResponseHydrated: Block = { diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts index 6152ea63..19db0581 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts @@ -31,11 +31,12 @@ const transaction: Transaction = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: - '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + descriptor: '0x010000', + extraParams: '0x', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - descriptor: '0x010000', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', }; export const mockRpcResponse: Transaction[] = [transaction, transaction, transaction]; diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts index 42a45010..84f2763b 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction.ts @@ -30,11 +30,12 @@ export const mockRpcResponse: TransactionInfo = { maxFeePerGas: '0xf2cec3661', maxPriorityFeePerGas: '0xb2d05e00', nonce: '0xb8', - publicKey: - '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + descriptor: '0x010000', + extraParams: '0x', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - descriptor: '0x010000', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', to: 'Q7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0xc8', type: '0x2', diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts index 021e81e0..8fb23bf7 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts @@ -32,11 +32,12 @@ export const mockRpcResponse: Transaction = { hardfork: 'shanghai', chainId: '0x1', gasLimit: '0x5208', - publicKey: - '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', + descriptor: '0x010000', + extraParams: '0x', signature: '0x6a0d435e0c61b820d147823e165e94eb7145cad30a197e4483b74f2361e89544d30a6110662137cf20c88fc2a25e89b52c2a291ff75183e6faa07b649674c3fad1c1efb4d831beb19dd5cf64450935e0a862cad65a3cd21d9c886308e7d656e8688604b56ed610c908403731e5d1af848fc3554b5484db50308396cbfbe47e72bf1d2ffd6c3e92798ce243bc6165c25e9bc5a95fafff0761bbd5a36b3b015e801bff41eae440b572094b2d2133b66b75e556984b20e72f6c29cc0bb2c6c8fd1f7bbcbcfd6894daeca9779f75e4fe27b7fcd45da3a90c79fa815f660a92e8ed7f50d81fae8ede6cbf754c780460e041398b33dcd5178bb2987e029c967a2c20cc73bfcbc7acc946dbe506cd224a3816d6c0524942746ccbda4aba968aaade03cbc146cdc2336eb0ad832bbdbba9cb6eaf8cc2c2a5861f591d175527f759dbdeb562f164638f64bd4dd72b80b8ae4d2516bc183343c046726ca998c0db0c05759cd704fe43a57995673d63e6ae605e2191a6d3b3f875662ec7ebbce7506aecc33c49a651d15c27e80bd0cc0088fe17cec596f47ece16fbf0ec857bdab65488830928594455e1f9bc8c862a3d31fce7ad1beee32175e94e44753f8f85713cd809e563c3dddf384c6733dcb2df0d8cd490bed092c20cbf43f7a957bd25a6f8534f857f5b4a87c83d248dca0b7f876df3347a0fa1c98a9a9dd48246ba979276518945dd8cf9a6275d5b34455ba7144c40e8fc7a3da32ccaeb1681d0bd390d3211dde1427552f3474fde89d57593c87ac07d998d3a8330ef707f30b79d905ab6278517cc316bd391cf9622d83ca7b6bb6a202b69f50f2c45b0c2fd868b2b72a67d7a810146b750b132d704c9fc67a2b0895efdeb4c52292c350bc4d9639a4bd4e58b704a1480225e6e0c335f74f732402fc3c0e5b4f46ab6a4e2b6ffa1efe894eed451a930c43d48ab1f20ba0e1e17c30e8b7f0df3b66dbb69c6aa3a9bf4471234a6cccefb3690a6cdcf9a35ca8c2d6424bfdcf35bf6baf8123c540235bd6cc456a006ace0538fe33adf641364054257113071a5ac8addb3de5f85e323c6d7996a6888e1d4138f809815d91cc299a7ef08c5e06251db6d2c524f9d62e7990e89ef6c0a592967441b6462a07577325cbc6c98112009f12d233d501aa971d64933e7032a92b2ff86980944d9bc4dea2f6a2fcf5b3525bea80edcec2f610e7afeaa1b7ba3b0f58baa2d6045941f67d645f97fc5e502134f1da844bb539a5389a7cd8100b0b70c5087c38e9987c849cfaac91e11afaef613be2e29250f61d943e8916fe485f751426b4172e7cc6182d9f7c4d2f364c6a904e575aa765556682ac1231067e4ed33866158eeebbbfbda3b29008fd96ed45d22bb46a0debe59dfe8fb7d3402572ba2406d5c1e01ce5c4114deff10fef0bee2ed1abdf090daed961006c9e100052603f050dae80d5e5e6ad207479f02b8e9299ef65d94881648e0bea436bbf1f04ebdfa732098d4b36ed61e5552682c2f290cea2a35674977724d33d4451591f644eb958e8d30680906d071ef865ebc8013599e75fe54fb97b331c69c5d0e18659f381b4dd1ce8c411178572557b12e0dec85ac9a83c02b2c132b34f8a48ba78a8ba6b58eb9733a3cdd01328940ae5db3e9290f0c176c00d0f59c3e64cde87a2350bfd3523915f071a83ddf8b69563c5cadbabe2974be597de008f5913af3cf415ac1839115c3c24a0b3e2597cdfcc31b8d3c4dbfd3fd02c10978a52990c3cf98aeeecc1ed9f8267b7392c2188b15f0ca14a3449cb9b1a7ffff7f1f62952fe61db86d5c9f87a23c8075cb582b2024a4762023b02e70a44b42cbe534f87bbc64d46c84a41b0b76448a8c42dea1871509f78dc516e5229f3a151ee49f16102abf93a2231114701a0b6e863dc59963918171372ed67d7249ba2b1876fdee8fcb99fa16b468940b959b3a9b68c81d52edbcaa54fbd383ae94882cb47fdc935cc837990ee416b2d0b09fdcfaaf0b9ec066f1cfdc7b8738148b96e337a91b7d5b003130b3028ffe47cf1c2e174beec34ec1c5a969494ab8968131ee35234ad7360cc27dcd964efe247a12b48d56b39911f2a3e57ef98e08c7e49c1d3a62cfbb3c9c674992fccf3b922d7b3cba6c0eb97b6b3fb8960750e489de7e1da100e4df245e801fc0f01bb96279c418b34cd98b6ef703158cb315c5e109934f751db7599b9c519a6182029e3c77f2c915ab55db395ac0e0a0908c8c775022c6afb9195a4ff9b9afdd6b9d899175a096b1f57649e51498f4e9476cf645cb86428ea852fc07880830927c4f3676af111aa2ffb590385a95006221bc21396b19d9e3c05149551da806e3de0165fd676d08cb39612d796d99f0b2384a5dd30e5bd10da578e2ac9da5ca4db50e50aff49aae329f9e484562ce2fe1739c7abe2799594286cf4904c0c9f9082f0e05ce4a7ceab6a83c07086ba66da27737e4ba2b4d6120e24c1d723326b60e6ed2657e1c0f61259b9f1a23a80851022cf9ddcde2a337d5a74a5e9413fe2f9a8e66cd34c20ef97efccd276dbdc6302fbac17e97a95ffdc797e59fe6dc5ffded4759ca19e8c9b9e3814a27572dc1c932862718bbd7774d5723219a77a65aed1688db36040c945a5488bbe75475c1bd4ea9ef40a93e4f08b1bf258768f9b2ef5d1b5c52bd369612ecf95c18f0109f5965840af5cb73fd6bd07cd1a30780924cf3ec88bf14c4695895354c3408b2bc33d001d5bf07d940d32ce8658ae19d43d27ae48bab17fcc3c7b08af6dcbd482aeb9dd5986c82fb9a7abc666a0abcb49ceb81ac50a71b84ed0afffa307d889b1a8acef7cb63f2bf00b42767a586f3d29bfe60e6e10783db7197219e137f200740cc760494607850c32d7697765bf9710161dd1d19b4280c0c6072cfce1554b18e9e126456be748e0b90e0d93c0b4ee9754d56852f92613031f722f3d57bf0068eb55a11d92881df85a98d41406892d48b2bad44bce05d6b2f05c486dd7f55ecab561433652669ad27b0974931d4ab13cb5ec9a2fc71071f8167331e5dd7552efd4d7b01541162c934edde318b4259c64fec894b792e4772d684bf43bf882d76f8f60f6e6ea974f8cdcc67503c99fff915fd74100c2e73edbb7fd3c0bc02fbd18a15894ef1efab7ea49a9f00e2f4006159f1ffde9d4374763842cf3463bf825a95c7e6ce22c3438cd8531ac7e4613a72b0540d02f9275708cb7944d8b59b2a5aa19a61035a0db38dc4f0efdc4e9d3cd02c4cb8d43ae7540b3f66d00e9a82fd7dcc51b305862a3ac97e8f3c84df7b3391c45933053b16b6f939049e4fceca224574454407e35675fd16d8d4f48f77a07596c50fd5bb02f51133c049744e522a86aa82932694f129b3015c706acced2266808f615a43f836755e601354eefaca99d30c184031c0f1bec9909aba6c865fd2e992b5b438e88ac82cb025c062d9cebed865975a1369a01e4ab56d2531b522d6873127d569d8f0f5bc0c4dd40f054c87ba5029cc28d6dcd3e7a6dc089fedc451769b23d047904a2398289c16650c4721921c3201646f193aaa46b9ab7741ffc8cbac4ccdd7524134724eb21317891f6ff3ccbdbef8ecb10fc5aa4c8c141d1c52a56ae091666a828a0ab67053be248d22ab69cd89d6edd46fc29a4f6e4e009a3aa26c67d015dd915c1c0bbf9639a57ab50032ac0e524b2ff4bd1f3a036edda5bb957060a71ea1d4c77df8e9ea49c46039d50799ac86bd0f17faf4c7c82265f0ca2b4cefb484a179923c81b169a825790204d65e9334cdde6f767b673d77635603796108c48273929e377b7e34ce48d9c9fb3e4f2403fb9dbd64a888b29e0982f37e81c2d8d7fdc0e5b9f9fd2b5dd100ab1d5baf5f74fc38a1f801847ba98c107c0ff788c5a4db0d29e27004c6b3925fe6164816c1028f22facb60fd8f1d4f1c692c3ead673f2b0670be9a1dd49299d0c5dfd2cdae9e19136a8d07183220aa19e6cb5e259a715be07e4df4057dc6a51f10021f4d859ec85fc50b5388da849939fa43b270d16dbc221b2bf6b670a8912a247279344af155e1a7c1a0b786cf38e2d5292e472bf6e4b665b0b2f659b75ffb2aa3d3c3f743b537f0d121beee52fc6deb6548954c5ab938a4eac96fe6e501ffa5a1c63b1aecc527f869d535b14aa3847444639f570bd30e70c356acc6f72ca67fecc378bec7ce782421fff39c4985a64248d75b871889bc7d7964c484340ca60fba30664479286a0862faa0ecef624bd7c846d0ec1fad65a01b9947ed572ac3c57e8d849be6e17f9c79229bd61337cf4214dea289618307a3a5a5af622ea6b5ab5706809f481d978a18195235741349d6177d0703b63664fb8c7da05d096905064ca8ba317bf7fe2d7b3ab94b53b367b097ab85096b240b94c0d6805b95be88ece2083e8ef73e0d29ca88a2c0cf810b058326f5ac89597cfe1f0104dcc7ae878fb93bb9609b603ca304b82fa1a9e3a3db9902c01053889e3383125e9135bc8921af25b761aca9117e4a8e6390d33693d46e31e2b62ee8aabef2b74f321d6b42bfd2b673559efedd4e1a58b1ed3b85fc5f2c8cb240693744d3b9ec1d13b03ec2ac39ac5204db97964a2e6a52d343964537e26a2c2b660c4477ceac60b2eb70f2ff85129fe6e29545547b52998b3b354d9cac5b54149b149fc22126dee957175fdf638e75c5457fd91cee888164944fb794a91beed4e776c2281e62a130911c1b8c2639c2638ce39d8f1c14df6a30f9f1ca3786fc11270e0ae8ffe8335059fd7930bb0daf74470b5ec2fa57bed5eb59439e3a245093939248e31dc8b85da0902127d5717239c9abd6beb21cb87624cfdfebf5425a7ebfb0463032a8768a560a7a6d5ce86988c95ddce8d4458d09e0856fce6dea0f97d5e50927e6a5f4d5d6dc2cf4954811f0dbc73af4be8b182fb7dce630be402b02a247df5264c0070c3811de7dd5581d7dffa9220f8fa41386b8da967a2a0a4743c14362b6f78123974e6724ddac7fe1aaca82a8baca4cb56fa62f75ead6fdbad5d6494607eeba7237d2e4ac8c3f2197790551fa6a3fb5992d8a9f998a5420da971e04ff4d4d7210e016234052d4a1ad0886f50ca117bbeeff789a167c8d3f2aeebc01397c3915d94023ec6054f8da3bbe0ab772aafb9a17e0bfab5b9b5e02be98e8c0a04c17799052bc9a6574b942088864522828508cb4b086e8c674673e5fef1c6bcbd08f2cc69040ed901edcbac3eb355dff67970de2a2eda7a7df5b58ca380fec4ee88ee25d8aa654bfa145aa87d79662252dfdc74f5e7a282ce922341eebddc514986135a423dfe3d8eb6181cb0a78ddef6e7fd7c0f002996185420716cad2366a92d56ca7497940bc406ff2a7f36c71e9fc543e441702f79528122535ad1625302c4b879111ef75af7b3e2625257de306247ae04eee1d3c3eac6764a8a4d20f46491ccb23ca9591ab3b38a36e7e7cf3e3a3d22c4dc258ad2809bada96675c5dc2dba868f729cc4df50811fc91f93ce49542f5dfb3064d45bbe9ab5019bd3dc3034832c5d526089805fbbc1142742b426767deab357d2dcb9629f4473826a6b1fc85ef3bc79922828e191424bc0ec55dee974802d70d08e5008fb9666d4df87f8c446235c6bb7cb0b1dbedf7df69a18297c3918b264eac0213a1d760672584681b8066daf7382a8a8fb4d4a09fc9d9be062fbd27ca2bebabed73d6a5cf7301cd86145b2d1f9c2c341cf7b71b2da3c6d37ea3a8b02d81e60fa3a77f575be11284a1dc7531b18b388445d86024c6659e90d6baced6de3ade963955ce5d944b1ae3dbc868d1c8ad7eb0812350c97008ff9e641a30ddd649bd7ab3e974bcc601386addb7c18f141167b4436de279df282608443853491dd07c520af956084c290ec221b2863a883b29ca3756c72d81037c6a99015bdd5898993045164eda727ff8db717ed174c1d552137e8f3809ece6566b71a868f510fd83c65d0aa0a2c7f9ec9a87b364cba58f9c1b6af78eaae0c5eb30427bdb8a6e7209e114472efc6ff3e52fd65155e0e4f28c8d3d3abf06cf484dfcb9ffe05a670178ac9986c8a0db86a9737a9b28f3a3460d8b5d47b67e395cb951c53763b5f765004cd3a15aee7422ef67fe8478860d493022977a26f202c6de50072bb9b14887022be011ad4d42a1f1d823da4d649830b72a2c59fbe7520ed7d133280bf43ceca325afd241f88fbd15402917bd29f652a072e5a3e593537258189b517d9a7ccd53964304af81b424cca587f9c9fac0fa2628fd7fb4a220e4cb195b80b01e164231590925e604dbcecc59b54ce967e7a8fad6c8c3db96ed4daf7ffec89de66ea189b22b00c1faf0dc3d11adb18b8a7a2045b074652b085fea9c22da89ad17d8778ac9e031969d2029317e9fb9ec2365717ba6edf2096f7987999aa8afbbc6e7e81294aaaeccdcfc55bec3df535a8ca1bbf62dd4dbfa0e2f335484a0dde30000000000000000000000000000000000000000070e1a21252b2f37', - descriptor: '0x010000', + publicKey: + '0xdd7c87d17d3fcf7023c405ff0a91e22113a611447b16da12055af7247f624bfeef35973ffd35cde534367e66a6150714899be22b86b93046b1043cc0b4b606a69382946ccc07d2e407519c94204d5ed8f7448dbbc39070903bec56292045882275cc620bd9365cd3cba5b3bb4410eefaf5577b3c75a7ea98369256e2a3c6b0b310507b1a0f2970fcd891cdeb6277674a7581e168f2be7205a5797d1b75c01d0d294574333cce057b0f67ea7c902ca7a121b8eddf408c78b0f2ec21b4285a17a443225d285ec4ceed14864fad3d71b2644d33244be0f76bf56a6cef772e2b8774db90e10affd4c4960a519dce5b0a7412c43c00604296cc03314c2f880156c191b7a034524b5f2b069e9d36829565d35c1155973e1a6672223d7de965ea428affc1d372302de26d8f109788da68c05008d150fdf7d9164aa3fecfdf754a7fc1cb69f7537e24f87c396ed9ce19625df470b2d83be5fa8df03ec5f52f39d10cb81d3a6b05ea9efd23670fd20db01f3d08c3b1ba7cc65e86c73635ac3ecaad70418d8779b53de4fb786679d7436e81646262710fca67743cab7491b5763b1e921996633a4878ae4f9b16481b236054226f0c2951b2bee0a0fc057d8248d719ca3c1404c41c972d8ce3d7b612066c0dbe7cf8ee871f1783ae3da2a32a0908195f44e81992bba297b673989bb1dde9e54bed429cce5d0e221107466b06dc53e4379f38e38687480186f09300d3b5e80adb80120dbb1907a75bd16b08d102ff2df1aad42ac61aa08500bbf79ceaffa2eb470be257d48580910fe64c536e52b87a458d8985bb6bb896ef95713a698f90bc4afd52054042326d8230cf0e66e9841bcd7e1c06900bd773d4bba7cce6c577f91c40c2da18e8da1681136d824388efb551033e22293e2f1b44be3098307a3bfe71b568fc1da14e573ba1ace1b604b5dae5ceccc4dd3e2dd61fd52db4376feb2d528b95d476711c9f940923b8f41f1e06bae5964268f9ba57de5ae2ca9620a4d3e2440eb332f9d88fd59c15a73b8e226ce0a30a6f5a85547c0d128a9e04c248f24a3afa21e32acfef6c738edefcf61ba3683a3e5bd73d0372f00f51c7e063043f4a3601806df5fc971c4542d4e671597cb02a9abf0b0502d46b6f98f6e73d14923828dd1297a664ae1e8e9354452885077932148bbf71f9a3c7354201dcb5ed4e75591ede7d85fe58d72ef8989be383ec96d71f199e5aa21250bc7220cc98bb43fb4fb9dc04b01ded4f8e0b4cc9d57a8a741bd368aa2eab84073e880e1468d215ac46c6d5b6f839cdd4b38c306a03139763efba6e656224a3a33f0e8992b3e592eb2311337e08b1990d625d2afeb6d62295c6eb5c4db4accec883b526182b5f8a848ccb078d20c9dd168917c4e524dca8177c5a39a2a8871e3413077341283f510a531714d9becab7936b8c5e96c7489b5a2cb8182c1fff7aa4a7a0f98b2a5eea94932c77c25c7ac38f802ef7f1615f664db8b72a03a78485b855221b1816655803e5ab77e2e171a37faa53a06655b1e65e2531826e0135f41bc781cb3515cf0d139290c323e7ecca33321d42e19b0bba6d97914d7bbe97847bb1bf2653910c055d8d9b159777cce143d15a9fc606225ceb6385a20ad732893198c68486ab6fb9951fa87fe0e38f93241c52db6d854d058f3263716a9784174959efe0c97cca6d3d13dff9d1633d7baa76d52b8e286623f19a8298dbd11cc592506a33ceb7b28e261986fad5154c8c648203798673c4c8b5046b4781ebcb2ebd797dcef0ed03c6d10bd54e4a4adf71fc081039b88b24e9831cb9046f59f55a63ab187ae6e4abc30f1c9d1f9698914bfb08b83dc6ac71cb09ce30e41162997ef59177748f7a5328b2c36e2a0b42d177231cc4ede3254f06c29c716c4cff9c97e7f6fa1cb49c40cf844226ff59bfdb2aee689f2b89e6d72c7499fdf81eec8e22babc28e2749c3459090138899b5334839aa0eef3f247f22c3682282697302290e89df81d5b355e6316811f9c6946228ca04d389ebce3942eb6daaa441fcd0d921d52f06b9117298c3fa5f404669a1e34d7cdc16b12ce10ff830b5ccf2fe3407bd06423c849afe65479e99c28046bf729ec4e4a748d7547205998be3f5b4904638a677e01d178602929ed91f5818d3ecf57d2126fd1d36a356a5d37760e3877a02ee0ae500db1e096289a80b9ea3d22ff7642a2a6311d4d74838d1740bfbc264d71058e3b5299316730358fbf498ad4916af0300c852984e1a5a1769948ddccbe3262f65ed15ac60af2d7d9101381cd197d51f241279ad81e138236e993c272ecf8f2dc6ae4632866865d7a4108c9920f749d1d4ec95e6e39297407c76a1296cac5737d0762a8730acf26dbf79df34bbfed0d6b1774e4f14bf891bf9590a104885e1bd9c7e00d3e51b93c7af0e2e79edbe6e0729c9bc02fcf90fc581fb9b7ca03e2fda0c65f45314043a9f7ed84b4849c19f020c73b0ee21224d39a47e47f66d2145948cda62a0caeadd22bf50a472537f1088410afead959841ab74820db1587ac8a642fb8b56d813e15806caeb5ce245f3a5fe48a764f4054bb7852596d71aa013b40c9ded467a715c91fc965b97fccd19cd6ab899ee2d46fd619ec4fe047a2abbe9b7ea4ddd3e40cee964f75ea61d960ea312f8c36f6f057dc1bbc51152391c093cc0fb26b67ebc2d6a6d986e35f557117fdfdd9943b8e8cdf3c1dfdfd64b352f9e180eaf5934591f62fafdf129e85fd0f47a6a30cedeb15ac718b7cacd54b6011e5c59491272779b8c9a5ec806db2c961286546bff5935c0e6e14644ca0d46471bed78950014915551911d610fa380a9ef7bba4ca8add1d22e992ff009663ef19e14aee1027da01959a2f5a86d4527d3994b2aa9b4a0c83a4543d7f43d1fb23f38c1464ff1c995f3d4c00eb69eaeab804b9d02e7c887b1138bbf684028ac6cc9bf47caecadd843c69ae717a3526bba50d355ccec4b3dd9d929ffb0b181a9de278b1f77d629265092d5b210d786b8624ab90353e224bbd57d911b63b50a67c7efd890311ea2fc8e65573006783f35234e89936f7d15daab14eb1d07c8b915c66c8156180ec78502e9ddefb4b65bf4e500029ce1a43a5dd0202b132ee3cadb32a1736930cfacd46011a0d6f6c580477e4ed339454d308be708c5f584604d4c7ac71ba7d66686c18912a010fecdadc1e5472773b2baff775b6d4dd6a6f951bec3746b78070ddcdfe8332e1847fd83194e5c03aa7a58d46163a65e3561b139fec15e1d172c4b64276f0f89aa86e8cc54802af590c9d162e1f91fb9dc64c5b1db838f6076b48d4586dc69614622ae48da679c42139e08871345cf35f04bb6a56842924803b576f6d2931856fdbcc37b5b1b920307bb3e03a8e31cf28eee6c9541e91d25bafba7cc92051b912afc0c4bf0ea1bf98d4589600b28fe80e360354165a0819f874b8391b02fb575ef5a61215afc0d4e8fc2fca54936291ffec578f68b5c6622f69a2b9dd40e48e27a8553d4a85ed25f1942ea22ab9ca568508d99da5f717849cc9597f2514652558aaa5292df584e0c752df5e14d66de129637129acd1927179db44dd74510f569379bdf88ac1c2ef883eb70eb3bf94f1acdee2c6e26ff222a70cf257d7239146b46ac1b0b5630442097e2f5a52bb65110d', }; /** diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts index a0992535..493b2f73 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/send_signed_transaction.ts @@ -43,7 +43,7 @@ export const expectedTransactionReceipt: TransactionReceipt = { * - signedTransaction */ const signedTransaction = - '0x02f91c5e820539800202825208942099d76d9a34cdd2694c4dc703930a6fbbc1d4020180c0b90a20f4cb73614efb10dabc67cab12a5ae183a93ddaaf774891a9137f566755d9412a361fdb7e5046cda9b180b4557b6c84c3883258c52f6832db35a401117fb3515e7283057b87de85261c76a898b134be9f6c0ff17366d963d5c50f1b0eef24fd2d671b92b0bec7fd0d65d58dff648c3cf0c2313136d790543b7f868e43b9cb5e454ca6f4a7e329fa80a74be81b6e18018d1973910913cef60e6a4d7e2df2a4c3e7442cc063f0148fab183e5bfd11f94312b20281bc0d1bba1df4a3389a8a4a212c7e36bdddd1be148ab8a4fe37dccba27f2f1c3e7c824de433047fdcb5d48937441600f05ba956f51edd0b574e293f69aca5f21d9a7ec32e7e4356ce2053bfaf1ff546af7eb2747844222fcb3c10467ef3b80dc94e7444ba4acf958026bfd3471d03981ca1a78d2971fd8a1e23faa8ad7f4ca8f1e0e4bf07a1f1a1a4e2cbf350d313a7ca15a0f7ed7ed45c7a64c24762e44d27bcc810966aac625c656ea2c8d4ba4cef2011663580e855821ac02e1e6e68baa00bca80f271baaeac84889202245da53eff8a702afccaabe3f68f86b84e41d796baa80113b58d1bcba85b8299fc597f0af8265570d767e9d37dedb50f6ee0288acaa1a65ac5465eb856ff728b94fb81ce60d82921e6cb0a688e4f3d142e0ebd8f0943dc0ec52dfa9e2c4cf58e098e13cb5a8d94fa9a625fa47f96182372506081abdcd3d238442463407b334c1874d76df8b6cc0c44fad19875b4d8c8346fb231dda6330435525b0296d0a2bf180e9edb9c0855bcc1ed882c05b3c9db0474a0093a7f2c054d016f11cc4f07a244eb1acb63e2678a9e646a95941c34d40ad510e5797c637520b85450e20bf3dad0c099f594b877e910e6567e00abd4c2b008a153a5d11f6e069976dc84c9bef824908b92910d2785cb4cd231c540f512371e7df71fd9a8d2fae8fd9a63759ac5dc0a1d209a5e5b4b15f5bc9c3c80318f21cbb0678bb0558ace4f690f7516239f59f4d59f4e24c59a141118ae1eaf54eaecd2e019137a1792d958d01dde49ffd6be7775d64f81abf8f3ecec17745b06d1f43749e89612ee487f0e6af166ba86555fb93a0f49093c1daacc87da42276001350449090027ec4e461a4102739be5a91af4518855ffcc25c874446d2c7bb77ba1e88ff415984384716018c13becb05122d2cea001ec86b6e8ec0b5e62adafb6e2659ca145c552cc707673b7ec6733a55dfea96ccf43f1cfd11bf7b1668258232b0b465d23a3e05d93bd4b74afbaecb5796a0bdc1581054b4c7a227c3fe53908432c6945b12d7b0c9e1f83942b3818c6bfbbab698d9a5158f4749787913943147699c93d008edb302a9770b65a3373f4e0c7763a3e752913611f8a9aa2942b9cacf535ed309769e911cff6858ed1bae01ba7c8fb6af02c2d1e41d2880ab263d40e03b220794a0f34b0cd34689f7a68a7182965797ab86279c51c83f12d818aef5ca9988a1b472e2c17a6292ca60dc3dd8439c46d46afae231d272fee5c3d3d962eabd536f657c6e29fccbfc90411f3e5ef90f503a894f37455db3631275769803bbdc188ac3a257fb8fa07792490c978978dc28f6a0b3e6f79e825215f0dc684b4c071900ef8202947db802b8f4fb3af185281e201f9ce93c4fa830e0ea1112e61604d4afe774f716df5eb29d81c60dead319b9bb0561f37ce462704e18cae8f98ced51dc955ccf0001b16bae93b9412a044ad273055ef52c50b260e4e90dbc0dec3123114adb61a64a2c41e296fcd6abb149b1dac4f2d47d77ff9d10aba2e657b1f4a6a17819b7c685d3a1e8c0ae8a0ee62a2f856736455d13236baed5413e362fb82faf6f4cccac24e2f0fe0e6e83ae56581c8c2fe7c94057ffab1c76218054c325af8a7cf792260a41d2b7b4e738366ef618b0a354899141937739929a641202db42b5aff31cf22822134e06a3937ef91eec55a19f918228da0ecf6ded3290f8907619f0e043afb1ae14e597036d5a95fa9dd2b4398b099fd9d16065e6ddc08768471ee33497e8ce745157a1e655cb3925f3debc436f0370632e27b64afdd1136e78ebed9a3392a30652a8a0459d69e60043cf18a8135930560616515d0743044c4e968f366ca831c5e6063b5408f46ade9140f344b03ed1c897a5525dbc32465aab7025796b9536051ef976c9864c3f54d6663a0b31638921dd052b8d02b297401650b765b0cb2406989c0a1d2f34b9102c42c0a4767134e1c2b0be323b109fe86f1e963e3ee45b671a2668cc814d5aa39bc5e6aa7c843045d3b92b578c3da964e765494cd8b4c32b026bba0768820300ab6d1107945b75f54d425f0324327821a70df9eec11a94d8ab565a9ad2c44f2032d86f6680530dc25ce4474684bee0c46fddd0b05c95a78d0c0427fc836badc8bf2279b4538230dba46ab78bf1ccce70a99aab4c268ad3eec5943519177990f1d5deafa06e5e19dc45e1fc674ebf14be652cf88ae61190cd588717a46f374aa010dcb736c52bd03a7b5b153dcd77bd3fabf3ff314978e6dcc72aa68f89b787d0fc21f967255364d34cbc1abf0941d904284c98b4c2546d105304506c7a8d532c4f0b16f6d1eae57814fd2693b90a17f15d8f16d2b50e51ec046f01a017428fcd0fe8088f17e6d77ce1fbc54170144eae4d6b9ee66915c4e820640e012b2c8c67ab27984b7be739c21381f3a8e7061ca8859e90f3d3b9401f3d107de45866908db429e0bcf3eafc62ee5d16e5b00a2f5b0f0a9f07b6252455eca3e0384eb164ab83700c109db40831363d8f39b81f6260c6eb16a5fbd68d9adbede07a1a8bbb96a5028b532d52bb200eae4c9f7ac7fa4056979484d1eec950f5dfedd01e6b84502e2a47fa18437933b575194e9f8d75e850941e6a36d7efe837951d35c810f8e72e449f1153d7d5b5f4dbb1bf72de4dfecd4ed404774f5be4b5b527526916f7140a13da4bfe9fa8921aec23ab88c0c9dc9eca234f61c3d2dcd99e738ba9a7a9d70e0ab02d5bb6b87085db110079624d8322458de2954322d28a4912f171d4ed3b8e01042d24a52fbcef41e5ae7eb5c3c04d4f204733549ba0501ec31e6f0cde266be0209ff33fc2c5cac5d2d78a31a917fe1ba7c964c0e692cfe67e485eddc22277d80dbcf0236d8a01e6f7ff3c2b74bc14bd9b44cd0a69f8c8c4cf17b784c41ef04dd1721420ac2c001c3d8ecd226ef1bdcf2077c9bbe21550da863d2bec5ec274c673cdda79943ecea96f7cd4e535c891d478ed704be88f30fa996e0e63d0f77295a0a7cf7e2e3e900a56d65156e31a3a3e3b91f146014288c0f676d8a3e707a73eb603130287570f9975ed592e9747140d2c71917929de797ecdac94750e831adf47009dc6ae80acb9b460ad098a318252a739ee0f4ff242f761fb1a14db4ccc904d291686c4997879a10e77a310a36643d8257f2816e791ffb4a5adbec1fc734d377a5a0611c857e7d62527d3b2a5be37adb309c44bba1edead572f446b3b6fbf5166de083ba2b0911e6ab93a9f141061ab36050c8e5c5e014312a2885441fd7f0eecc0f84e45934cfecccba557265e93798a320baace40b7eafb258fd9e9a5d84c3491e0a14821aed12ae7eb6c1794fc321beb5be568cad4de4c3392fdca36d58bafd0b2ca853745b251f33d9c49b3f32f15536cfd1255b29bccdf732a7b91213654803528f12e67dc069e3cfe69c81832eef3646be3aff145e01f227be27ca391b4a2593d561acee26a1da6298a21f3339f97e33be51146d25374348e037f9895cb81922cf04f1e1b59938c8144eeba0ae009029e16122804487876a492f617e2be983739188e8b47527c673d9d984a01fd0eb9035adc9aa6fbe75aaf2e265a3e599149b878428848352e2be24e0ffa30b7cd231629c2a64d20c2b8ff6a9ea8e1557417e92fef110b283269b698a8285652567bdbb06b62d4bb55ecf69fcf54cfc4043e357ad0cf7198990a9c06509af88ac5a590d6a1fa3639571ba3553fa773c080629bd6afd73318c0c62004adfe153b2da7dd4993829dcd1146671e63e04428cd19e5a6589a152100d94468a5ae678f6aa5c919c84b4087f403db4b0ed7f03b4aed42b57dcd26cbb4fea6e36458d0ca9aa6082f73ccb823fa25c307639de305d2c1a1dcce9a1ad2d650139411257561b1df6b8307e7273aa585ff04fd70d8dea394069a3f7e8e1c28fd93441f1a1a7c545f10d3795a804a8f4e22a34da826dcd96859094bcfa6afe04cb3762a6c9a4963cab639b9fbcc904a69c613228322051d7c68a0f3ab1365642e8ab2c8da3ab92af4116136e820b3a410e5edca85b137eb66230a3b9e630d48a57d6b5fab4a788bc71534ef642ac5b4d0f193d3567b2974734331bf8736badb681d28b6172d8185cdc0785aa6bf8a219981e32ab450e2dbd107307b7bc6518befbf427d0447249fb62eb7ad6c9ac5e6377cfa323482c58e3a1df66761641b3647f5f20c23485214038720235ed76e57512836bfcc6da7826cd8d1f82c952c11d7b06297807a5e2257c4a830df6572f8fee59f63726263a4cbfc171a9b653983fb1c14ac1bdeaf7a1a1f2cc82fad417caa1f2da5a5bd2405d997501fc52f1e117949aca485b58e827aa7e8543e37caafddc38d168c30dbbc86864aa2d1ed7e07f92e5d534cc9261cb9fa90a43f241d06d95ec327f28d2ff53dce192c1e215118add22e8e68aa92ed1e73a1d76831afedcf4398a90da1ec4f71ac07d5677eef1101f98e09618a1e915d50380ea0a30c6fd341f39c75bb668be71a4f92f9d1912e8d6871f053a320fd4f3a2b6a477403a9371ccfd4ad4498a06299fe85c411c0b068bc0d4c9b13065d94200c3edbf58a4d7a5e907a3fb18f9a5711cbee4f9005f3b8d8d952d482f7b4e25e05621e366f8146dde6c7d313a0238ab74bab8aec3ebc4e0c0e2149109024cd39260d7c25a87099903615c91dcc534b2e269cd45d7d2f278363aef94cea4108169f63be7442fd3fb6fc05e95e8c174d689ecad4a03b7023fffe1695c496affc717e19dfeaf6748faa04bccb96c58ecbf472d17d75829c43781a7962ddcc15eb0e6dc3b21bcc67aa9232d899e33f9295ccf822117eab4ef64f7ad4b9b3eaae623dbbf4bb7b2baf06988d4c3551fea0ff260e2c1ac9e29d1c500a5f7556bea0ba6c47a68dcef7aae4b53b67ff8339fa0d5ff18bda0dddcb02e728601218a20770a0a89d7c85ec609feec9a0357d317e5571cb9419d105a2bdcbad9ac559af3f00260a0a28ada7217a23f5630d285bbd7a60cb6873963032f8bf2772646896135729b55bd1c2ed761e231ce2f36f275cfb3fc678c762fc2062131b2121db70a8e1852be583d6d28aa831eb12c6284a25717ec8f945a9995e9aa858b36bd3e794bba8259964a8a533b102f10ced4827aff837f0ddbc749076ff858323ad3db52489d7410c601de02cebda68b3b38785f03bf9eb1775686a41416ea5edd54c9b71f14f2d9698a5955a3f50cadc001c43578b7b97ea3ff6f7c4e14edd52f0ea8741cec66a52a4b597efe6ff44c4e6a1daefcddc20bb41d67629226fca433e70bf8eace6dcca957fa55b3053407b1d3caf2f308e0c3382ef9a5733cf79f4a8b3569555846b43e5ff1c8e3647326fddcc7318b2f6c7b3aa225be1203fcd03d31ce5abbc26873c094d4b74cf136fe91cb52e3e4d1a2759c5694e86652bece260a95937d68826d4ea1ccfacd7a54b22e0da4417d6dcf3e4c7a1bec381e6587a35f3f0efaee07d6ac8bc8b6de2c3dc9c1316901da597fa1ac9f97e5c9bc51b2199fb751490e8539b0e414aedbb6e6d487d798dda4fed857e9594a905bf4dea1889284727d80ede826defc63b7f6052818fb79bf79908a89fb723b06b80d208b646289ed7917a1be06294ec1f28dd7516d173c41cd3f44b56dae24148391f6af29de1146fa5f3654e493fa4c0b7e28bd2f150087d366503c07715e874cfed8cfd7547d0b34818364457193129aa9cac6afb5e79f5baef1a8e09933d3bf77bef0087d5ee72b88a47a2706b6577084c7d6f70e7505d1a272a8a3e9e9c4ccb102b64e5aad1ff0f4046771aeb08041e090ad68d87ae481405d82545b38ffa2afe23ed649695fb80ec475f8fa778d1181e75dbb98e32d667e9cfe18e42c4eaf1458ab5d06f5210bb5967650bd797e0a8f9d2dd87b3ae4d19a40c420df8ed04675563a1fbbf64ea5b7a72e871d23926e45525e9bd08cd55ed58f84c16c52fcfb7fea5c17fb830fda9b1851fb0c0856c2f4a028a773c4f4f554843e9045f851dc77abd6aff01c1f0e8c0cc33ad6abfda245fd749eaa31e9dd2b2e412db34bb8ff838cf9d9bfc661fbb9c26da3e09e4ac9b070f85b1a800daf69afb43350aeb4275b3fbdecc43041edeee08804006733f89277a36ae324610884b56e35d50d7750508f8b4a952d7a62ed1b89f302e4806ceac3dca4ccb6789ee49d19693a7902848c6a46269e461e8b3f3b5665d8db1b2a6329c636b5c29c81c12ebaed47e2e3da2b8c93c0b1ea81636b62ce3f0b0c2770e68dfd9a435cc9b81a6aa968d850a5c1784562980458ba340d1e46321898ee3ca39aac588317d5bc7ac46007edb33f6a5d2fec681254f9979b9b0ceb85882437ceda143d7543bf3057b430a5c21f892f4d2e3146ff90d0e90f22b106b055f43ffc56fd1b18b92efa13126444b39d8a9221270aac0a3b15f873e3f1942cfcab1d287a33e101be659001981672cc6079433b511184f1633cac77675b34aa8bd33ffda387f6d452833a0ce614f3eed71a305dff5571cbf5cd8086b85eb492ee9bb6691ec1c00fa5cf9b408ffb21396537bc020dd218809b4407ff7c33752ebfbfcea26555e6f1c4ffca05ad4827a530b711c454465ee32f7dd2796020eae4dc93d9a8fe423de2bd90bedb1b0d258b04625af895784b61ca5b594c92720764a29bc798c63f27345135cdf531eca347c5addc7136de02c538775b1e5a712f43610ec0e00fbf29105a7048887a8bb8e09b25ea574924cd247ae87cf53c09f62d96ea50b2b23ae01e3c7f76195e96e371dcce823a47a54b9910b9083643ebea478f9512f1be257899d7191aeb28aae0efbafee59bd311cb97e64aa76cbc55c017d96d7b4ee440fc998ade5d7a03676c5cb3d41cca879dc282ea07cc532269d5f3b50c3eafd0cf53c6a5b11bb3890622885dd6ce7c5c3b7bc79b2c27378a0f559f7d936f2bfe0eee222e8d933f872115f7cabdfccf98cf5fc8dd4eca63f9c47aeafa5f36c255bf6681f981caf24bbc8f672c5299ddd056fb38d4c29d4eb68e318dd1c1e655f318d96f41c75b71dac46c0858d125bc77e50463fa1a5172ae9110a54af834159a5df4d7012c1b654054ff4e8f8a1fcd6768541c4137662b27709fc81295c78ae04146ed33a603b840c0faf5e93572fcf494d952e29dfe3fc4a7feea0106045743523634f705821d36558e10df9f0e333cf9923774c612acb1864b8ca5bac12f6bd24c457bc8c5876637e329e08d7dd1735cb870162a5c99e5984f0ccf8d1d7db4f6c201d36d89d64b9886cd1c0728ab9466bd611339281ca726add0fd523c1bcc41ef60c87773257125aa6deb57f41edd96cde93057fb824ace87a99f3e6519cd29951141833425dcfbd263bf8b57cb685f4f5279fcc02728f939a4a8af2afee64903380680fb53b3314d83b1f1ad46ec2f60c571476ed8a6a39616b807ed76c1af044b64d74a32719003361e92d7cc0a12d7e5560c04588650e5aa003ecd6c92dc2a7c6a39e1a83d345b228f308f598367de89842b7ceeb3533e12ee5f0e7cf64eeeb945fa8198e7498502611deb827a0d3e0d7937a65e3d7035cb23543d8f82f78eaf2b98f885ed63c0cdea30ed65ec7c0d5494b63f98bad2f8e5d1f35c74ad9b68206ca1104414c2a46e2a43ba5d6029fe48cbf681579ce9058a988b2f5b12deaf572298fe2f679f6e0106385f5b3bb30ae250278a9a97077cf2e34d3ac1ed9086003160fb34910cb7beb1545fe26b9426c7d01d3aa88f5eeeed3009146014f0e5b6731e897eb86805ef31dcf47085fedb4cdab279e4d3ed19cdebe2a65fcba64cc50400966917ac50bb8f2008aa648621f1a18fc4193c079b0dfbd898303b15a1ef61bfc9526734c47ccef44c25916fe212a6f5f10988d1d1085677bf0d833c53fd951d81678e40eb65fb109a202b53a050f4ba4766b06cff384e8dc1b78afc6605f9d5fe6ac5153a364480787b16a8b4e56f8752db632ef3eaace76139ab2d0d3b4f6074fcbf09843f61f6b7a0e09a1b472559015191c869590daba3aa4c9ea75a4d94ac1a7e614d8577da239e54d3a00a051c43654fe551c17dabedd248e0ba1753ca2939070691a401d08c1ea3dd7bd49711ff7192ca040e89cc2b9bbd0f8e8d97b4b38323419114b0a3614f19e4acebd6e2b05018016fd6791c7acb4290e5eec82a7a2156243891481527efe0c4df95d038b91753a72e9ae5e9e484049068eb1d711df92dd6378479ccb6ef1cbfc6ffcd2a0f87465c4e4218485f0dbc8bf643389548ecfcd11425eb854e87f0adc857bd2eefe17919417950a01704752e9fd46bd8524c60c54bab9fbb15fd4a225daab38a3ab9fb3c9c482fda8cabf0089f1e7d8a37d58f3de691fd737686c26fcc794dea7cf34c5ff29301b363653c8e32531ea11992e76dd7df9d2063e0dcb2b3c501527e31352b1ffb502cc9b9a68c27fc23c56d3523b796e95c0f7814d454e10bdb4c55c0e6ce9621d8db2285506bc300356bd6d06764f508a2a95a72fab27440f3a3d7df24150fc282dc896f9d343543e52646f48b6acc08bf216f8ac5aa92472d182ce21fe412725d36526cb480b3034648c5f77ab29cfe9f5adee04cfe9ad57c47565ce10aa23d54c913018b712695bda2b813062544625365808e578ea599f4d12d4b4787e2145d4f3ead4b259ad66370d198d6c759a9b07562503a35fc953e633a087e5365ca579248f1dea973ea10ef043fd5577ba516b8bf1aa5e09ea8f95d500479a0f6216237a8b651683929a5cb70dce3528f3e0b3919f7a66e0ccadd2a2d9b3f04a07d1560394d36edd2f7c5b0f048ded1db86f68e48720804fc8f052ec5e131fb55a2c8105604d0adcf8f2b34538d0a98e461346a4a0457e605ca989c6cf0d08b50b2e6e28f4af6fe92d344093a9cd63628677d216dc6ba7811ad30098628e77aba749ab00968dde35edcf01578a7567acef1d6b6687b59d2ca3949736ac7a78a19ffc275ac7bc9757ecd983759b4fa7a9ed0df8430595d56444c5c2ed7ed78fd5d37c6bdb1fe6b92f66f5c03d55b87d615b51b23452792d6f0e8eac8ba1af31b37d926b375de99b2207002c1083681ff21feb6c016e61a64ab9c0c1437bad2b4f5b88d98b9d557ce8a57d7ccd3b9459601c095758cb9f5183c5be5357192a6932fe2b493ef97735ae508146bbbd470341191fbcdc5c935901ea2e9c24607247240c387fd0b2e9e3549ce3e69b78c66e6ed79d3c01621f2bfc481c20751e0edc7bf684f14c688b7deb3c96f0cefd958ff7829690c56821f8c8bf8d65a0af6e9b81153680c3908135e7c117210e82b3b3f65015b08dde6326b0572e002c9ede90a28432b5bb04cb4f58db465581329edcba8a52c0395dfb288e38236ba6554189ebe14e1b3a19b14ef7782768c3c13102e59fdd4c965b7887de0f0b5b6e990f94dc9046c3a069e1eb2097a2d7ecfe8cee95c30f9b37aff19769c0308303dfbbb04067f6c35e36fec29e478c80b9ed5a3f6177330f47c870dd61384afa39105b10fb2083307cd01b3bfdc7d75453c25a1e2983634f482e27542863adbf15b6309eb16e32a2d18a7a1b407363e7c68385fe571bbd4280daeaa6a2bdfee09bdf476dbfe3d8d6f02159d239f81964ea90681e04c01246edaa65b97090d4f114059ae6bb358b2adc1ecdc116480dc80fe2de6f9494459f6f75d6a5771a2194f992f1d25eea405c0de028df8b72366263f1516c0f6111154c4e04db1de412ca542af42c3636d62fc99fb20067dd9ce3ba45e9c1e395e6ddeb3ed36570b1a8e14ff5cceb97510b6699f35cb67ed91bbaf507f2258b04cee01cef656919ffb4cd188aa7096d16758cea697a8a52f89101e2144a3b24e6a748badea152135464b5876a32772bfcfd830334050575972a6ff10317f86c5f701212627ad052c2f8199ad000000000000000000000000000000000000000000000000060c141922282d3383010000'; + '0x02f91c5f820539800202825208942099d76d9a34cdd2694c4dc703930a6fbbc1d4020180c08301000080b91213c6dc69273eec0788da2ba858c936f6e6dc945a67689a54ce31dbc3c9cbe4811897c2fd54abe98967d7465c0b5ba238e82bf657ccbe0991c39f0a0c76b018b9f6e6bf3dd3cb77a295f01e5b5bd99ed92675a247bfb2fbf039de0d0c1e3668e59f18aea373df645fdb4d68164693d9e828fabb7a8192e4520346dba2bf01f9be6e5ce80205da58dd63f34397a93ee5f64304f353bacc0f6c5d7863a787f44ac430f2e72d90a0c32b64d393794c9697fb436490ab71407db589d3c455ee1c2cc223ff443ea6a51ed012471f6179b55456511295bb1ec1416a0ede9fbbeae8e36520ad72312036c4c0e848709afbf17279771d94dd41cbe459a2b768c029ab2791a243b5ee404523b105d9e816117ace8862a4d3810fa40cd175e755ea4e21fb5266744cde6bb8d5f177701ee4a947a8e3fb7ec622305fdaa10c05e34260d683405ddba2dbd5fc5e1e77b50c822209d3a0d56a9a245c8eaf507c1bb70c753736c9403bf4787e881d7e6c64e6d3128ef0d831eaf9c853b273569fa970a4cf644a7249b5efe9d65c538b28774919d2e10c6d846154f7e1a40670eba35cb7925f884d59463532b3e4ec720dec854bda54c41fc2a4e699a87d5f713f63462c2f2035935c63391ac15f0fdbaf1b0f66dd4c1dd3b5d01d8599abdc0a57936a31a9e4a5ebb9f23af8de6957b02ddbdb1baf935ce8ac2f220ac7e3ba2ba4efc7109cbabc603a46157fe66b9388739ec0a918508835c5504d75844075eaae60250996fa28b0990b050aef34a6e57ca20db4ddd2aca3c75a1204b2e1c3d622c63ac5fab26608b175584d84b63d4162f05dde7b0876e29ccfba9e0858922690e7c8fb78c40b0b8e060a7ec0a305a5dbbbbf1fd95f23b6f7ff696f429aaafca2f084c0d2fb6e690d3b9b1b47efee630dd6b50f2f9163cb2316911262420654063320a93431a702a8da9e9e30b4fcfe82e5e1bfed0e50506286d664e63f907a4dec970337fed23a55e1d62e2988df95d654818ba6ccbc1f67e025b5cd3cffaf6ceb78fea96d5317dd389aaedeca1431b01430220f3fefacc476b883c2fbd927b08f6cdf047d79e7574ff53f534f14fe16eeb9dd1b8988afbd3239eb993ef43d1445aa5174ab0f2d66f7bda127d1572a35e441e4c109945a09f38baa6a61d52e6d0407618cf670737c5db496ebcf55f69e77d8319353974fa577bfcad7e3c92ee24d2e6743474f55917280834b9a8215ab6a9a6a698a9d76c8047329dd05a1505992ef97afc6e1b5209e7aea73f2d773722730ba368fa98dd5bc40199f313c95e9440299c5213ad7a04db5480480d387508ba16d797adce9048e19205583a1272be7f7e27b40e09d25e4855b745f1e09785dff253d622148789ed104352d81ecc6545d267dcfdc75b516ab13581090ed212d4300d1bf58efd057bb86992b47a3c482605008164f07ff7a1ac9fc85e48f4389fd964d7084794d390425b6b1cd3983366a4804e405a8de38726ff0bbc45da1ce584a6740611f996584bd928adb4ca24acdf6de15b14e307e936479ba8a97580646d4018a62a3b73cba62f68ad4dac9bd072586403892277fc27e4b72aac5c9c4d0b66939c16bebbc6b37a38ae73b7dd5c174df51a59705ac7405739604cab54fcfe3316c52d4b53ca9e99759fb53aa643c85c2b0555de7053532d154f2d8fb52124e0734dc6b2e6647a6ec613cb9fe927aa7bb3948104763a507eed100cd1dcbe963a940cd5e1d9e3b89a7cc77eac37fd30fe879bb8088ffe995ca5b3ac99f60088907c68f225c10167089d93a2c228c7ac4c5e09aec16b254da4a09e41de12e5d42c347623d71c0d3410f48c067464b0eb99489d518b5493566e8fe140fbdc7bdca13c932abcf14e27cf579cc750a32096d86afa37c22fd8881679f9a121c04e112755d74dedd05c4437e96d4cf5f78eed0eef7b511e6f0c133f6b6fc6872067ba09f46f23896b5784e1632b672189f85ec798cc523490ca8d7e9af21736733354b3a9b8ae1bc44f5b8d334c1ed5af3f8f07169122040e11bfc2064a64f2b3325852eaffdd28912a8ff89698755262a4fdd04c1cf52c17d14a55f876714b07f6a3670f71557f25494964767288a1f43f3e3400866763eff36d7e3adbadbc20ba8d34375b2687c4c64a8b006766d9002baf9a637031e3300ea24f75d27cb65ef8328b6c27565250b716780ec627c3a05a88eb33b10630156fba483bfd536af021c7bf2cc8096cfadf8c43e9f08b48dcfa2459c11338e5556ecc4efef36f7f7db6c555d0374cb3f1451c7da05ae0f86129d530c87d84278f9839eaecc8f119b4e4679331244c1506e7d5694f759483c9b8257375117f110d345259824ac4f53c2214c4e0c5b0c7dc42991c8fc1b8522655914f262ec8e1deeefeb0862d0d632ee737cb827c96e482c85b16969234fa10bb588bc6fe6804cf87e64674e82aed1191f6022a8751fe81d33c6e9f1632ada5451bfdc3c3521495cce349d43f5aa1fb140e2d888a0ce7ba846ea1c51ee03ea67136fae6c88bf0b66ab13377e8adc310971621fe8b5b393f6e15fd8b86e57f3fc5bf0915a1f9e1bc082836b8cdbbfe02c118b262fc614631fc390bcd5d2fcbe47e4b246d869117f51c465aaabeaf7ab0d7642a797e83cbf772e48a6b5d5d5de6cc90604ace277d4908f408bb9629c604cf184c1d1094bba78cb1639c3c8c2c7f24673221a32dd662d1c8bfbde61c2bb38621a5c1ba90203430062685ba5eb0b1267a1c63f24ad84efa1873bdc1098f4ea154d717ffe79b3bcee12153aaedc6a3a5641b7a0bdda465d036b342d3ac2d520359dfb5e1908565842a2f5e95d26cea1e0cce64a32ddaf83f1905753d6fc8955bbeeb4e76e84eb3afe3aba12704adc175547a0f789de4cb0702bef7159353aa0bb6d3ec5bb0e8eff058d833b80e713eb712431c74e43ef6b8e4c12861737d50260ff9176826d7cb316b92dca7e9da94fc72711b5f42c34ae3d6615fbc230f582c3612ec78e446b67cfe5e0574db7f591bcc5c9f5c24e5c54f510ac701f113b2d093e9426f6272efea800595fdd8836cdafc10bc292d4e01ab44473e1fc913bc510d0e0f39b61ae79a53fde00190f54a0729040c6d1a678398bab8e755adf08b6d3cab2a7262b920ad227bd252254b5279b7307d8944c795f6279c4005a6aa1d96af9baa2a36a73e554869576fb330b1eb589256c4793f9e3bd773012b74b0e6d1fe108cf052e3a9b8ddb0c57daac6143f1a672969e80048f40026e85859213aacf57d330858e8f8a4089093dc3aecbe9bfebe09ef9bfaf47f605fb2dfa3c521ab43a9f2bc80ff0f91182a670a7b08f674a85890101fc1cc32511f7200516f27f6935bb7d227c87db04b0d092fac6a5620f67dbfb77b557b7257acb82c8c94960a95be0b95d091ac6f22d2e0519f50f0a4987096ac4bd1156b264941255a65aaa81fec6a72fd4330436ca8b56af8ff6931e30c7e1f514842dc93b6ef6defd003bb95ab00ac7dd843081d22f0b18378a4a60c6f7328be5dcb57638ce47b495c3cf935ec9e8a3a23c681a07d3bfc8f39361080a53a9bd81ee0a88e8c54f5359913c20dab0fc21e754c0673b50c3dca00b4506f877e9a8d48dc382b5c6f03e30441ff0b131760b8c8e8ae71a1c9778876d7a0dadee1e252cfe2c325d1502c7a488f91f0fd81c7b05088e90a08964dbbaf230539a5c369f4052ca1591a7ed21a43cdcd21d85e04941e7dcd62f14d3e2dfc3f626b5550ed48cefe2d307f5a10679c4e477283cd91914e5ce2aac4b09b121af094ab57ee266831b42e77423a1d170e548173ad84ad379c23bebee5ba5c30623a3f1954d965e2fdfb1d8bca4c01b1fdcf21c548b8b95c3fd9b17e63eff2658d36803fb99dd602a6e05911fccf943b38630c16aee4418d8ad2ae4836cddf371d2e015e8c15b7c9a930d1d1f1ed18444967717b49bacfc3a2d85604f6a850bc5559d6ef7e2af632b5d689717e68f2a275af68902092c8abbe612224a0219c1c5dc050e890f7d02bb213a8b86731184eb71d56342925608f3a7caf805d45ec590b67e602e267844e112760792ca082b54d5a56a9ad1627e6b1338f6b114d6783f340cf22bbbe19b3207a56c039887e1016bbbd84f2f1664acad871699d27699661d9ccabc810772cce8f2671e9852735baa38aa84bc41a320f0c650859ea7c3c34d8b8ee3f0629d758fce679d4adff89cb9a8524c8693c47cf128e92e88c66ce5c8917258ca366f2c70300fd613d3aa035cbaa7056b254062ddfecf4cbdf5f4944d54b9b0e7ed541c5d6d6e92218c221d4846c8c27fa881531b39e400ea6c97118b3c653b66c826751d5517dd1f40fa98cb3a43a478d16e6c0088f57ce3c43dd4f0003e32ad0593a75df3493784a014ad5710faf689bae39f842f1d56c5b6045cf055ef012618ad4eac0a2bd8920b65821c4244719833d24409917ebc361381a811d2db98d0e21d96e9062da2ab40d9bbd09fe86606c70c678d85dfb649d98e94177a84da091207fc64c7eab04462dc0638f109f28afac5a41d40e8a9ee50e3110688b6e531f5bce75b45e70810e077cecb43a6d5cd17a7d31e38bdf50ebd87467de375eda778816a6d61b274955e9a34f5c4e3c2cedc6cee5d686170ea55ed2f515814bf070cec9d3955680f8e444ebb760950495744c470cf78fadce7038a23043402f2ee9335cdee6771a2e4a45de145e057b814d64eab62121bc50ebc3b343e278ed031170a1a4e43e53215ab18dcd0a51ca8cab68c1803089d59f221caf90cfefa9f703f316d23b6743f33d96d17586e4248881c647437652c6271e39318df679448dad5af9cb45d19670a8972af0fdf9f8be30215aebac0973db4ab57bf0afccb455a8f1c4817802e739aa93c65ffb78aa02fb6c679657680dbc8eb12fb3f5a934a69fea07788990ae8ac0484efa91bd9ec7e5999aa1f0adf3450f392f7aa4b6c1997b2690eadebd8c7d46cb2597e2f31b486a7787f8530f217ccf3044cf418aa3a11983bfabd6f4b5acbc04366c8ff1c2d1eb5115f43a97a81e99f505fa613f68308f04e8004696c6e3004a783888748ec3753ac92cdb1f4ca1defab78dffd26951310a5cb8ea863d2c7a37f931b533f246bb47147e8bb288fcfce2cb10a30768703237f712ff3336e6668308a46ee3afcddc2508e6113a6e14338edee9dbda620c5dcba51aaa15d8dfe1bf09d32043220f69736d36cb17c12ab6dafb8130eb2224f8a0a593d2032e9a17add9f21bc02db53bf0680771cc0a2cde2d6f190f67be81f47861541062ff3ceab4b5bef03249f0f3706127fdbf184d8be779b1d12af2f4fa5b6b4b21155e04b6f5db00aa25ab7a1ba05f30988a154d73e18e27ff783821ed80683dfd4a03df0e59c7cbda4a42cbf913e57bf3f354cc86fc2e6662b57b4ee63976a1b4041e024aa3921cd9b14880d27d63b6729a41565f8f3d2150b9f98934d8bf5121a56cff995ad9afc732537dfdaae226771a07ac0147509d933c84a37c94a5d35f7a91a733c02eb37b519488adacc4cb9cd77aa736ed177d674b7959597243b852f86a08a1d01a623118eaa6849b68117b5fae9bfe1769eb8aca0fd568d6598b10ec9982fc4dc6f8752d0bda9b0db0328b8896e6de958439b76a40eb65d21781c9643c17565be70e53f18277750ebc7b571f2e1778832069bf24edd1888048d4e26c64e2022b58dc02b60d86de299b073dceed41f815a469251564a98620855c43a4224cb2e09b17eea76b8c150b6b3db3a4745ef920a40eba09f1874fb3c70b17e508e6f78c2e5811618b1d581144c59a6a22b03f74d76093c9bedd0fbcaf501f3dce1adba1dbb1d7944db03374cc5dae2d4c9d3a0cee70f92035eb9bba5a5b46b6bfed7576d1dc879e5de9f0bc72af749ad24908d5b198de8742fadc55f9a2819e079d19e222e07a4507f6f772c0c4e3615621951572d792d7d8ebd1af79f09634434e69af98142ffca5755dccef5d76dc026f5316af90a1e377d0ee9139eee199465baa382809beb8db9b885dd609af4c6093527f87e00e4fb3c8c1d74a8b1b02675ca71aa57b2f97c17b37b7d30524018c214b7aa2d0ca82ed5511a0d7ce519d00f3f5200123678efd80312a91054f933800157824361104f1f90cbc13745340c2baf6e97c7df89d56b5c97a587a1183c8e1edcbe3b1d8abc164f7ffc5e8fbeb77b630708c3977537a399778916e8dcb4158f918878bce5c2726c34d00e02748cddd3e2cd8c6f06bb42b6336390e8750fff9e140089d4bc3b9e84d5692933d464228769d61fb1aa99d4591994578efcbc92c517440717069d7c7d42561a7663248caa3d6d98267031f6ade8a4ad2629dd7eab511f06e4fe87e848f4750077024b3845cbbf3f6f2bc80dc2d3ab79a808bff9ca896b041c44ad52240e68758132375058a1a9c3cdfafe152c5ab0bbfa1f4f62ced8041c2d33c9cf3960719c616de021296e749d020879bdd8000000000000000000000000000000000000000000000000000000000000000a10151b1f22272cb90a20f4cb73614efb10dabc67cab12a5ae183a93ddaaf774891a9137f566755d9412a361fdb7e5046cda9b180b4557b6c84c3883258c52f6832db35a401117fb3515e7283057b87de85261c76a898b134be9f6c0ff17366d963d5c50f1b0eef24fd2d671b92b0bec7fd0d65d58dff648c3cf0c2313136d790543b7f868e43b9cb5e454ca6f4a7e329fa80a74be81b6e18018d1973910913cef60e6a4d7e2df2a4c3e7442cc063f0148fab183e5bfd11f94312b20281bc0d1bba1df4a3389a8a4a212c7e36bdddd1be148ab8a4fe37dccba27f2f1c3e7c824de433047fdcb5d48937441600f05ba956f51edd0b574e293f69aca5f21d9a7ec32e7e4356ce2053bfaf1ff546af7eb2747844222fcb3c10467ef3b80dc94e7444ba4acf958026bfd3471d03981ca1a78d2971fd8a1e23faa8ad7f4ca8f1e0e4bf07a1f1a1a4e2cbf350d313a7ca15a0f7ed7ed45c7a64c24762e44d27bcc810966aac625c656ea2c8d4ba4cef2011663580e855821ac02e1e6e68baa00bca80f271baaeac84889202245da53eff8a702afccaabe3f68f86b84e41d796baa80113b58d1bcba85b8299fc597f0af8265570d767e9d37dedb50f6ee0288acaa1a65ac5465eb856ff728b94fb81ce60d82921e6cb0a688e4f3d142e0ebd8f0943dc0ec52dfa9e2c4cf58e098e13cb5a8d94fa9a625fa47f96182372506081abdcd3d238442463407b334c1874d76df8b6cc0c44fad19875b4d8c8346fb231dda6330435525b0296d0a2bf180e9edb9c0855bcc1ed882c05b3c9db0474a0093a7f2c054d016f11cc4f07a244eb1acb63e2678a9e646a95941c34d40ad510e5797c637520b85450e20bf3dad0c099f594b877e910e6567e00abd4c2b008a153a5d11f6e069976dc84c9bef824908b92910d2785cb4cd231c540f512371e7df71fd9a8d2fae8fd9a63759ac5dc0a1d209a5e5b4b15f5bc9c3c80318f21cbb0678bb0558ace4f690f7516239f59f4d59f4e24c59a141118ae1eaf54eaecd2e019137a1792d958d01dde49ffd6be7775d64f81abf8f3ecec17745b06d1f43749e89612ee487f0e6af166ba86555fb93a0f49093c1daacc87da42276001350449090027ec4e461a4102739be5a91af4518855ffcc25c874446d2c7bb77ba1e88ff415984384716018c13becb05122d2cea001ec86b6e8ec0b5e62adafb6e2659ca145c552cc707673b7ec6733a55dfea96ccf43f1cfd11bf7b1668258232b0b465d23a3e05d93bd4b74afbaecb5796a0bdc1581054b4c7a227c3fe53908432c6945b12d7b0c9e1f83942b3818c6bfbbab698d9a5158f4749787913943147699c93d008edb302a9770b65a3373f4e0c7763a3e752913611f8a9aa2942b9cacf535ed309769e911cff6858ed1bae01ba7c8fb6af02c2d1e41d2880ab263d40e03b220794a0f34b0cd34689f7a68a7182965797ab86279c51c83f12d818aef5ca9988a1b472e2c17a6292ca60dc3dd8439c46d46afae231d272fee5c3d3d962eabd536f657c6e29fccbfc90411f3e5ef90f503a894f37455db3631275769803bbdc188ac3a257fb8fa07792490c978978dc28f6a0b3e6f79e825215f0dc684b4c071900ef8202947db802b8f4fb3af185281e201f9ce93c4fa830e0ea1112e61604d4afe774f716df5eb29d81c60dead319b9bb0561f37ce462704e18cae8f98ced51dc955ccf0001b16bae93b9412a044ad273055ef52c50b260e4e90dbc0dec3123114adb61a64a2c41e296fcd6abb149b1dac4f2d47d77ff9d10aba2e657b1f4a6a17819b7c685d3a1e8c0ae8a0ee62a2f856736455d13236baed5413e362fb82faf6f4cccac24e2f0fe0e6e83ae56581c8c2fe7c94057ffab1c76218054c325af8a7cf792260a41d2b7b4e738366ef618b0a354899141937739929a641202db42b5aff31cf22822134e06a3937ef91eec55a19f918228da0ecf6ded3290f8907619f0e043afb1ae14e597036d5a95fa9dd2b4398b099fd9d16065e6ddc08768471ee33497e8ce745157a1e655cb3925f3debc436f0370632e27b64afdd1136e78ebed9a3392a30652a8a0459d69e60043cf18a8135930560616515d0743044c4e968f366ca831c5e6063b5408f46ade9140f344b03ed1c897a5525dbc32465aab7025796b9536051ef976c9864c3f54d6663a0b31638921dd052b8d02b297401650b765b0cb2406989c0a1d2f34b9102c42c0a4767134e1c2b0be323b109fe86f1e963e3ee45b671a2668cc814d5aa39bc5e6aa7c843045d3b92b578c3da964e765494cd8b4c32b026bba0768820300ab6d1107945b75f54d425f0324327821a70df9eec11a94d8ab565a9ad2c44f2032d86f6680530dc25ce4474684bee0c46fddd0b05c95a78d0c0427fc836badc8bf2279b4538230dba46ab78bf1ccce70a99aab4c268ad3eec5943519177990f1d5deafa06e5e19dc45e1fc674ebf14be652cf88ae61190cd588717a46f374aa010dcb736c52bd03a7b5b153dcd77bd3fabf3ff314978e6dcc72aa68f89b787d0fc21f967255364d34cbc1abf0941d904284c98b4c2546d105304506c7a8d532c4f0b16f6d1eae57814fd2693b90a17f15d8f16d2b50e51ec046f01a017428fcd0fe8088f17e6d77ce1fbc54170144eae4d6b9ee66915c4e820640e012b2c8c67ab27984b7be739c21381f3a8e7061ca8859e90f3d3b9401f3d107de45866908db429e0bcf3eafc62ee5d16e5b00a2f5b0f0a9f07b6252455eca3e0384eb164ab83700c109db40831363d8f39b81f6260c6eb16a5fbd68d9adbede07a1a8bbb96a5028b532d52bb200eae4c9f7ac7fa4056979484d1eec950f5dfedd01e6b84502e2a47fa18437933b575194e9f8d75e850941e6a36d7efe837951d35c810f8e72e449f1153d7d5b5f4dbb1bf72de4dfecd4ed404774f5be4b5b527526916f7140a13da4bfe9fa8921aec23ab88c0c9dc9eca234f61c3d2dcd99e738ba9a7a9d70e0ab02d5bb6b87085db110079624d8322458de2954322d28a4912f171d4ed3b8e01042d24a52fbcef41e5ae7eb5c3c04d4f204733549ba0501ec31e6f0cde266be0209ff33fc2c5cac5d2d78a31a917fe1ba7c964c0e692cfe67e485eddc22277d80dbcf0236d8a01e6f7ff3c2b74bc14bd9b44cd0a69f8c8c4cf17b784c41ef04dd1721420ac2c001c3d8ecd226ef1bdcf2077c9bbe21550da863d2bec5ec274c673cdda79943ecea96f7cd4e535c891d478ed704be88f30fa996e0e63d0f77295a0a7cf7e2e3e900a56d65156e31a3a3e3b91f146014288c0f676d8a3e707a73eb603130287570f9975ed592e9747140d2c71917929de797ecdac94750e831adf47009dc6ae80acb9b460ad098a318252a739ee0f4ff242f761fb1a14db4ccc904d291686c4997879a10e77a310a36643d8257f2816e791ffb4a5adbec1fc734d377a5a0611c857e7d62527d3b2a5be37adb309c44bba1edead572f446b3b6fbf5166de083ba2b0911e6ab93a9f141061ab36050c8e5c5e014312a2885441fd7f0eecc0f84e45934cfecccba557265e93798a320baace40b7eafb258fd9e9a5d84c3491e0a14821aed12ae7eb6c1794fc321beb5be568cad4de4c3392fdca36d58bafd0b2ca853745b251f33d9c49b3f32f15536cfd1255b29bccdf732a7'; export const testData: [string, Bytes][] = [ ['signedTransaction = HexString', signedTransaction], ['signedTransaction = Uint8Array', hexToBytes(signedTransaction)], diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts index 9d03a611..18d994a4 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/sign_transaction.ts @@ -50,15 +50,16 @@ const rawType0x2Transaction: Transaction = { }; const signedType0x2Transaction: Transaction = { ...rawType0x2Transaction, + descriptor: '0x010000', + extraParams: '0x', + signature: + '0x75e9c5985fb476b42633b86d5187c8e7fd08ac03e1e331cf007c9fa6f5d2b700d867852c0f4bd8dd737b0df220d359435fc77b2ec5f2fd268e52cc8d0694f01d0bb8c4b0998ce7cd9b3ade54d2bf3430a84bd6dc137b88f12307a765cf2db3c33e384880320d7b33f9c395b47658882f5f953f9746f42884b4f5710ff0c245f9f991f7d4e5f70752f2258a118a2c866a9bff03b1d24487400e67ad57efe87f99356f98b5b0976af83b05c4f65ec4a21f3c0c52b8378d1c645bdf73cdb22cf02eeee35e357dca660e010db3f3d91c892682aab6f710e819492ecbfcfd0b07c7530504613baae77d72c754fb4de8ac6d8bc737496cb40c13205c6271d52d42034962b2cb2b2db14ec85833937c1d184331da9b984ab6f6abbfaefb81530e2183c945f418f66ccdc2c3485a6a6eb4c00cbb02b1c80c07fd7bee664f2917674544af06a8d4bb00ae8f4af84d94e1d53391ce88570f36735fbb376cf2d9e3d7a9b2e864db9dda54a163c8e3d5e54f0cedbbb79523495822bd61b8c38f4f4a6f4b80f3acebcad33ea0b5fd9cdeedb0ecaf02709627f86e94408b194d1b0f9b301732e1423bb1495a710e2fd286b79fdf769207344142ccec24bab8b0cc3f3af68083f779e2e2058bcd90add12b03f3f8870b05922e496d35562b8674951076074c63350d9f3addb86d18d9f3b74036b8a800d0028f389de7290825527f055b38ddb3777f581b82c4f9600a12910f7198bfe9d9c11b7dcbdb8b95ead10ee97d96c3e3870c7645d7a9fec101c53ec277a20e247b1715ac714e44ba434be7ac561c6ded35e5ddddde892e923ccb3d80d5001925c797c74415671c88399684848fe0a9c2e8d53409f17ddb4848f2e268ad714c355e40fe65286e35be17b6396906dc311c3081bf23c93d83cfdf58eb0bab3552500aeebaca944f421984f13be8b92e67488bcfff67a31bd3380703819f5bf485b832a32b38717357c81583e13b04a4c70445ffe85118035a43434e409913af9c481abb033411eac52d6d869bc9db39c9f3f60a497730fd7f1adfb22e6df8d5285db5275f13176e6dc93f6660d706209f09c52d9f366c78cc7c426f47cfa6a64e92140f501234fc3925ea765e003fc1adf3c34c2009ed2c6c22444862d2d7b22262f59b7d0b685b7428510385c388eb157c663bbdbf6eb00a75b4427488c9c4a90e47bbd389fc83125523fe4ae356df600e08d6823fa1365db9bf2943b5728cd7136cdfb1e967d587a8f6bdd7955334fd675ecbbf4ca637f1f9fc254690a46a0c46cfccd1109f6c294e8b4f069b7afe9aa27c5dad186b84ae5e5532111a244bed8bd3feadf1568d0e961cf07765b779d6670e234a03d766508a2fe7406ee3f4814369fa539ce90cbc94cda3ae5981c1a2a6747dceb96cf06e9785859d270d25dc265792711a86d436e6f9c9f28e0b72ed1325a45d335365848800f65dec0c001563a5dcf456ff940736886754233aa52bb45755de842fdac920a7d0f6f506c631d8413bbbc28876c95b3fae12251ac2fa1b813a05388ba51326d1663932836a5a9120a6172e5ecd50b6f87797e769cddb1bb5aef08356f9eaa30c38ef471c486feedfca9b27e2ba2c64dc7cf62c1538e96358ea8d0322af323b26cc470e9f801c3bc91051a49f2a6aced5cd412780e71a7c354eb96fbca1995b97754f427f5ae0d741cfc221323fda79ca3285af193d07972b4bc34ef5e5d6d75db86308a919897326d2abdede256a66b076553bccb9c9e755668b339f2af91fe4f1e4062eae0f62625a55031392e756621df7c6f9fd71877eb5566a884a9310447e7f19e95982d001b21aabfde0d4f6872afb7d097b5415e713cf68c3e436332895dfce13c87074614e1dcec327215cbd2f57aa4aed2aa5d4a840c9fe270fb39a36025ff7e5933d26559e15d9195464d0dd97e4b6067b1e4c795c7313062d108452222f3f7b39e86a0d7bf0fe1ba625d4b24378a6a9bf95c2383beab5cd7cf233dc6bf0c2f9dab487ae7a53e617d68a44d74cb9738cb92f7c36d5c52a9acd5cff044b3bf40be9e2a11f0f8cbd35bc27108c433b1600c5db203d97f8c47487127a117bdb427d886f4132cb3fd2865213e5ed9a04b63244ad720552636a24c82bae6f279aac17ec03e8dc1d1ed3a14a71542edec4411c1db6df550bd456df3bf34fa1fb1b140f72211840597868ad0c1a70eb1db98adedde4151c663ff432aac1f80e8b8823e4875016a6a1887c6f0e126de8dac1bf54c780001f89b685f8eea47890a81ef097cdaf3115feae777527cc201a16eeb939afc765861ab26a2d59c37b86a2e0174419e88d8347e337fb69c2699f5ea0f89621aede0b7dd56049dbe7b3c7056c1961ae2cf3f1ddfacd39b83fa96ac4f40a9e9c6054f8ee01b2e92c7c322f3be48cf7179d219c57e9c6864739090a306c1c8d23c29018d37a19bd027514859209bc175f2c07c9170754b13cc2c3a0904ae503269e4b4f1b53425617a8e8ea8d3b421ab32995e9eae4e9de8f50d49817e2e0a930485c4ac939ac097e892777b11969a7c2931fbd7aa1a2e511b4598ce01f1b04706f92530650bb29a9f6ffc3207ac551fa96468b094386bbdc453a940f7eb727fcd76ffd8eee73d030691d45eb5b96fb60125a7c14e6add3b2dbd0e5a12a0f584ad54ad5e449e085279b534c8158e98d343fbf9058ce61175ee687a1390fae377a4fd0dfe048a62ed76ac066eaf96970eb83b5418662ce38881a59724ce098adaf3d15dabb97ef06ed8c52b3ffbd5cc4d82728544a2d66e02037c97d60eec78fd3d188807aadc34f9247741e70662c8ad60ff3a5c797bc3c0eecf1439b5d59c5b04b2383c8635c4abdc0ddcd612a5f8b6aef71a8bfe4b8a9ce4bc99ae9974941e4a7d16cd7dbfb971ae65b47cdaf0ee6086caa79b834b4351304957a5301e47e9e40bdd7c622daa40abed05530d112b35766b695326957bae2f38b47b9f3f3f3f16a0c70f072d772efc122c2cd8474f0407977bee8f600b25e78056e96e9f9ad8b813616ab27619117d3624367407ffbf680778d00961dad506b331a27368572dbd6ecb6c41dbd68d934331b1a5b3aaf02c159d87fab4a244a013118727433f557ceae0d1c1f51b9e346a1198e4878a449e65bd25132177542b92964ed4dc31ce6498d4e4ff137ee7102e24b463c8880b2c1d18e29e9f2242880f241766551af08ca9e9a48a16fd42e34e4390e7799ca3cdb546dafb93ff998e30f070b4c3ff1659c475f69a16cdc944aeeb4c79db7aaf415eda3220cff1b27f721689cbdd1e1391dba9c36c84a5c8a4f09d66b7e1077e40f1c57fbd7eb56e07b582156f24b13e12bbe4b805415df05fe07b2633ebf0180d9bf69526134c37e0cd90684c52d3c3aad0da1e570eb2d2cc6b1b8517c3951dcced2c7b975e48e3946732e20a39c423e763135d56edfc32ffff92ad6d4b506ae77047b76f3382654bef66b521105196f0a13ccdbe2b297dcfce341d71a6cc4b30a8e6d4b7c84262ebe1ab271af3a3e67c8fa43ffa6b369bec4850b5bd8d2b03e5bbb749de4f76990b309e829cfd99ced16612e59f59f76d08676b650e03535778c45ac2e24bcd577cdede0ce58453e3914399ad65b7775690ab8dc125dc27c22207ecb1c488d73eb72c87c61b7707dee7f6681d79cb86717837d5a3fae8f5a16e0dcc698161969191c9055f7617832d256649cea8cdd5b4d33f320cf2dd364c95550861dbca12b70be9ed85c7c72b15526d1c67e2def7c59112a9b18651adcaacf5056535057a1ace023e078e9dfffa300f0283a63e706c326264be69364c338e969004be537974c388e3be14b1cb3cf9ba6d9723e757b418b775d628f86f54cea05af753278e1c58eb314f5b197f7c3bb233e5bd6b1a0c48401eff815970611f3452f68b27b3524f2d6de85642ee84ca3671091bcd4564b70ddd07b93a1ac0ade41254bbad514af620547fd87efc9fbbd91cef6076be0db38f15f5235303e1ca76df9362ba117de8a7b5aa146140fa433e7339a750c1f95273c7d7a56e8e4cbcfd840dc39b6030e6a1d4c9e8c76fb57aaf7a94c02591ff5edf75efe5e34880d999198b7b29a6f017a60b58e6c3c50c7d9faac389c41f29073c6a121c6dcb947144860cbbad1bf20545330e536bc38d5a4ea4bf364f788b3f516db88abdd924a6f3d5089ad1f9724ee43e4d2ce62907ccf2f1930451ad8ae7860849146804bd41f255e2f4212cb8e959609db61dc724affb3c2329951ea2a3478c0d47fb56d18c183125b1df7e360e2cf9909de26b2a4286d932fb9c30dffa1e9778b726d40182415d09ef108ca5602101b553580f349aaec8721469ba4c8195d94b031f27fc792ba3842aa7ca18b250e7bf4e5fa7e8c718f4a5ecdd2a425357501e8eeefdf676adbf61fcf7173f69e99cd54adff82a8cfa8323f2d068f8b2a9fc5b9d207237c90ce19fb7a45ec5199927f4fcb4e3cf25f5e9b8f8c939c3d9e568b3706c5e8b6758bbad6dc2a7c7e5a852800852ab73e5da5c12d08f75a61cd3dd68d944b0e8edb3a98ba6dcd67995cc338efbe914c580968de513968e65d2e3e866f12976ff6645f92cb4e939105c47a405ed4cf8e3e62e6112d7204efbc78c407d889e9ec324af301afbffa88a4639a73755a5cd2d21a7f643c15df971a5a7b437bac3637733c45958b542117d8e524bc40e508eefacc17a267581046e3fd09f176abd47c7a65c89e2d698dacd032558fd02b8367f8875a989b7de96b84692e8e9bebd84e5b60b7ee61915d8139043e8e43e469988c3ca53e3ddb016788cc40c2d7181f69ca4040d01d0683a51c838227012fbd7c9e07570ca9dc8c422cdff4cff050f6fc2810804f083a31593d40b9a13d543868efd1ffd6ad386f3967850f4e8f2e40c88ace195471577cab1b5965fd6a85bb3b90972d1aa2fa9eaf5c04a3c9926ae1b20b27a8a3f01110d47d36bd877b6580d4ef2337e8fbba3e145964597f1a058275ed37a061805998cde74184b11ca1a4c389deaefd9ba9273e84cc36f21f587841974ab3b792a4e2a9328bfa3d3f416526396516ab662a7cc40823cdd01bbb83a6633b0cbdc7ba77c278ff35a9ec8d34c0065a62bcba196778c1cd16c4aab35a1878636df8b0c3a1dfc71cf36b1ec48a4955d8376cbc282f6f7d65af752482759d9200190b997ff7a8fbfd3a1a15d5b11213d7e20d056de31b673827dd3e70d062bc1da700edab8e19395e22d12ad8589746ddb8067d17566dcab8a68f97d5efeb05d46c6cdb557ec3610b0a9311908616fc5c0b2254f2273b8821ca5c45e7a9415ef0692dc49638319af05bf5f8d68e234c7781f8fd57cc269396e419ce2bca5dcf6042210c5e87d132c1f876d3599e99a8bbb7b9846ac01de60677f131bb78f4a9c3db2297bc99526801f1023da2f62e26bdb5ad8ae4578d3f0f2a10833271bf6feae46d8ecba0767b7c52a5ce09e06a04eda646d5a1a242d95cc7e35a16102a09ac576222132d70f2dc4e37fc6fe58ea936b2c3e10117a29d924806a2fcfa3ad52bd322a611f9a417915d35b184c0a2150703978bcdc0091d0df030b35c8dfa80ccdb6207edcaeda838c893f7c7f97737cbe6951452994ad483c2bb19d7bf9e1d7cff87d3944806abe62bd297ba20784aba8499a5f6661e612beb26a3246839142a2bd4f9cfcfcf55697bef8cdbebdcd2e4e7cdeca755694f7be3dfd0215ff3917d8331c90abfb35ec6b94b570291b55adf44e8736cb141f031f9809e441000fae4eb4932bf4cdbc18978a953df2b2fc86e26387403faee624741626749a179c19453d8a84fb0a984aa85449c4a0c5a3cb43a7f6e2c8780aca924eb08cbead95837556210bdb846a7e53b738bbc5dc9ac5b7872020f69c3e2524f2d33f0ae41896491d2bf3f204c7f44cd411e02ae482a7144a8ebc95f5b57eab4feaefcd412f0c8ad7070cc4f076b43474120f936605f1e3fc864d5af3e083379cc9b440e2d0589c657cca2e8c4961f3e0ab6f690f81682844ae0cf1c62f2be4f6e80d0bbb2429f59d424f66044291667fa3bc2e39753b0ce35ce1c16de70e94aca73ad1476cb8a871a12858d516f1a3a8ea80d8918a4ef63ef7e496098a0abfdf918bcd3214f7426e233eb57c29da9e8e92c3c970dafaec955d986545f08de4d4c1e71d4b06e126935f6dd1e3279dca8a23c4277e0aa74c18b979369c405ff37c112b474b40dfa95d500db1b330fcee68fbbc6007a82e4f5ad34c398c56fa2f5efa14dcb659105266a642d03ae7de9ce6472899e2b80f23b0178115b8910e8d1cb33ab51b5e5ae67a228441e85df3ee1e74d2266466e3a0ada7d9b2fe04015a008893f78c8e279d7c01e82f703d3dcb26f2277da0ae2b80eef3254e861bb02c8e7b3f3407848e73e094840cd946173214bf9b23a9ccd438e2e686a9cc5daeffb121d254282acc0c4caf63c8d9a0231424a7a9e081d222a2f3e3fc5fa0102061c1f2a3f468abdc7def1fc1f47a2abadc5dbfe101b3b43446484acddf9ff0000000000000812151b24323a45', publicKey: '0x4a0ca7140398fd048682e1b9f6df935aad881fa739e8edf166b786b20adce239c80c5988042c6aa0ab451395112111c2cfc98ab181588fec866ea22d5ae1d0e19f36e387ebbd6e6779f37dc81c1bf3a576dd6dd46dbb5a16106cf3013ed832560782b09886c7c6898f12788d7f4bf8703b57f4e782fe0f9faa92c8d669afd937c20c5d331586f6145ab1d15c617197abe4f0ba365a35d08c434794dd44ac62f84d772eded0c8a5c7c507c59acb9a7f204a661ee68816398018af802232d668de0d6d09cdd1c1237938b04470ff6a2e881e317e3bf0a83c1b340a3f4d9f3ce47af0621db9344656a4f5266d49fc6c3c2361505b0b38afe0da6f0694cbb0ec418d1ec41f12926b19bfcfae3cc83ddaccdca045fceb26919997a2fa2d86a3f93f5528bea251bfbfcd49617d7ca9db9225b3e3aa8894e4f4915db6ea040e9a7b517fb41bfff3825a9019f7c970ad9d280de1d3cb95e5d0c7488fd251d16ac8aafe410f84e87d5a5bef29a5ed237de73eb0dea82d4f74b36af7330e791e0edaff18eca7d0a550834c3395666aabd3f7ed313bdadd918f126c379eaf29f9dfcef3c9adbc1e6818a132e65683dae2ea596492fba87cc9876566f4b5d38e6b6e3aa7fc75d3c6870cfd4b3e6fcdc0bd6c87d9e3ef50e93786c5ed12ea1611bc5ef8ade809093a3ee37c8d536b4a209c9b7e9972e58a9e42a499cb2360feb5adad7e585897b619e9ded5b09febda02855bf986ad6246adb9e6bb48d16a50cafbaa4b0d4c3c8931277feb6ac475006289deb3c83bb546ac1176fa651c272faee492e5bd80418d7aefcd8c6a870998f2dd1099b5f6d3564e77c1094196022cb32b79ec45af13f30105b7bd9f48bcba80ecf73c35ba141d0d9c901697cba47f7c417c60b4df5aa0697409aeb729a8050518eb4081597852da86f833f991382cc33f0684323918fd2c262034ccea4e43a7f4537cc98c83f5b6c4733932200a2e5feb58f5c38d36f1ac5fc341f92b6a4055e5e69f37a53cb9922826eece4992295eb5c754092ff1dc22493ea34c9e3215ddd6f0a84cf9d5782f346a9e76ddf7b0f7875851b57431c54974ada9934726c09617578359928cc947c2aad847489ca70a3cc05ab1a982c8640bafd57f42613afa9725762a9d870b702aafe486dfe644053a07cb0ba4d20dfa49041886f050236e91b790f6f54a10f905d63a2bcd44d9ffc6b801a94fb853626d400e203e63e2d2cb14d0f8f921021a3cd117721dcfc22c2493c31cacab65fa8f5f992f4b8fa3e9e162e8bd860b4590d63ec52696268c70e4f3cdc478b408b74baa7b4af4557480c889603424e2942f2cd4e8b790771151d14980ee55cf25fcbb566a5c44cfcea9abc8f036831e67cd8132d89735b12a34e57fef6baa3b06317d50963ef29b463eccf15d980c896f2aa9a1d238fb684b6792fe2001c08fc0a436eb8588a56684b0257576a3210376a751a7795cbf29561e551b407259239be91e7d3f8c4adb1ec858478807ec1160d744bead021363dfda79cbc8223194e35a31958e1250363cd5ff952ed0db61191723576986368ec94473179ba3c231763851b1ab1fa8c8361b4996b6aeb0bc5fdb08159587c8bc13720cb8219d4827495bb5f87c71e3f2fdcbf09a6096ebc67959a6af856abd0d49d633410a9bf3033b364a5af76f96372bd4e91c9c933c0cf90fd925c5e3d52fe0cac075a43fa097ca317b92ed08632cc7acc7adf8c8c594274f9f7a2a65e4b899c4c6c4ceb421355e73882654895725b563d0f08cf498aa76b6ee4fc85cda819e6897d284e64221cec1ea7227b38b8e34cc1c767f745e3dc46d4774f28ab26679f58e6335441d616c329f0a5036ca1d2143cdc23dcfd30b9e8046bce1301cbde379035553681f23bd4fee6bf7a903a24fa9c6526daf0ff9ce7d1d09a8a2c0aaf083a93e366deacea3023d2668dcdb8c48c93a39109863842fb4f494b0c8deafd80da16fcf2bc681e4f3f9604e23aea6fdfde8001658a1e50d4dbccb03d92012c246ff01960b50b2cbd3c5035b59987d1d8a908e26d199eade1e55088aef26f84293fcf0d13111777410c3bd06c16419e953ed512e619b3a0790519bb6ad2260f991c1e3d7a8540c07b5176547e4935e0bb9d432dbf1804af44028e3249809e6789348927e8cf2594a3da4f4e6951e9c1d5fddfe3937698d0403d4ff5ae3309c930850c1d7e2dae197bc910c4ce124a18c19c78c45c797a877e7c6a677fb221798a25797f271f1eb422aa97643a468a69fcdfcde9e9c6ae3d0fed8a7a51dc2b250cdc47cbff38330ef71b51a38a80d046bd22d7b129b20d89acc8965555c40d5ade09714bc32e712c43f2d258346d3b2900e3f08d1153da81b3318cb8d6d33f057073063648480ee270e2d7dcffad63ae21380f897700098aee55e75d9320a9c3fce10335578975b9d15336868ac3dee7e03f49f54a3f7085d578fd1a2f6b8dc9fef10776ec8f50a614c0f8c38a08681f49dcb47edb496c3e3d83fdcf18108ad03cfefb0a7834397bf20052acacd78caf2b081b482ee83d5c72107e8136d63fc7bb80a916d3ad38f0b6259cf8f21d8dcb8289003dbf501fe814ee7da3164151dd5237c90a5bcbb157b04f7b7d9b493b4d83938bc647f3a0c9f0efaab6c5dc0da89a6b05efb59526e27efcc5c5098de85ca3feb4358af4ecd96de45acc58a3e953a5186cbb44d4c2284cbf5a9776ad539246ac8ccfd648be1638d412116c70224d85395fd5e81359f2055fe44fb26c518e5af7a64ef7462e5bd753cecde2e04dc5608a9e9ae1a6dffd3084e3dd277c3ecffb813cee81f89658f950c65c7389310b8a71327a24f35d20fb37a0384484db42eb5a9fc687fed74c5b366f3c92b42f3884ea7296df697fa33bf6640d625a5403da69856fa551d19874d4e58b15a52ef8016692318bf859f3db36a6bfca805110d0d517f80cc72d04b2d604a7be69a8ace0e4cbeaebe7bfb8c302acddf636dcb75feac74baa4a9c1c2f986053ac063beb7fb69be72e1abacb47681f463b5ad6bbc196077fa8dc7715e849ce0f7cf345aaf6d82a45827b7e817d62c014aebd5f7ec0fa6f0eb5287f90997af91df7b9fe6d6250913d2d8ad2e3d6e7519806bfceb4ef5165857c3d2fe001ac5ee43076b29c483663e93e98cf8fb5b0c7eabb8faf9e3d397c8473b7a38974ff0254f57935f121327e68afb0cb41e019e0f3890235b8e14af27b540a60151fcc5d8ffe9787a035108d95ff65ecc028536ec8edabea794f7ded04ef32d5c78187faf763a83ea33494ff77cba4a9e8af5838404d018fb5764a04ec51bea872664928dbf5c39b7b77a38f44d48869f2a5256ca5e3ef774cf2ff12b057baeac50f731b63d5cf28e662c3af34bbd4aee3d3c66758fc169f45afc309673db0ec6b7a376e12aacd1f0478961102f7a14cef96aff747ea4195ab1df8650307ecc665e7586953e1ba4789486bd8da38d467c1bb4530e890f05ca596db22c4b5709bf15676906e16292c46e19ccc55da6e4ae82da55e4f8f047a49fe0412e1b7b8ff317f18fa90d4d0a3c8f02e6f37f680961407a451fa61cdecbc9991a85bdae76535eb2f598e4eb27f7c1f00187688f12b30d5de9aa8dd7c39110396f811fedced0acf696c57c33ac70c274a0b7db730a23', - signature: - '0x4ab6f25ef80ba48058c2d61227fe5d23e361da025f55a132220efdbc7f4da66b8a1ec0ad32b24814d5a6994787e196f9e67aa8a39f2842283760c11e22824ab4d1c76862f7626270068f43df66c4185a967a7e3567482eb786d56710c22b72fe4621d24eb6bcfabda8a6277a4a93edf7e854e29f09ec64671bc2e5dd3ce6fcf365a96a76d510f4866ff6bb6f8499d1fa05bfb4a4ed4589bfa7441d48c87f3873002ec1b567f78ac00c551f658c7e9387d3e4335a448dca31f436e74f48d8c094b7892ac727e50fe2fbee08ab3f35800bebbd5a08948204f42b501026385e47413d7ffbf340872f5745aa710c83eda706e06e2e2f6acdf76ca29555824551461f142c2818612cc7c0db8aa0fcf367943f462511487fcb7f0ac1f3f32fa0a1fd0081204efe0afec37cc7688ae3b42ef393b44e2a6d525019e7044be5581caa746b3b52645ea5f8c51e1283f7b96643ee2e555e64be25e61b977912b41f35f220754d75921b8825fdacd28113ace0f92fc16e8b1832a49a31fddfb27e86cb13796b4d93969a2a01e37ef145d7562b46373a40187b92f5bdc4000580092eeb95ba42f3bc8c173f24bacc11da78bc4a41aef9ed4f15c335b42d2d567df3205bde029bdb1f2aa4f9fd6f957e117bc11367180a1146a72215c4375141c2eeb23d94347c60ecfe2d020875f7f16713d5700e1b0a06828ed02188de568232df5c2cfe3de06f1ebcc18bf73b1e697558935ca815e33dcb016c0569e89958b785fdfba785076166ebb4a7fdedb38113e07e0fd78ebf530b373e852794d2c75c7036987dd67a353afc82b981d636fa4af4846671be5e9592cf96968696e410332c00655c6a7b0cb8b963987eaab5f362c4c02407eb7e5ea87c168ffe10e09850e58be664f1baa9cab53d4bd505d6d5601275ca11ac8ca556540a08a92cc6d3fba1074c4ee25b12222dbef35cbb02dfcf62bfa9023a863da55c9a3dd5496127332435877293dd3a5e261fdbb86e7d06a51e01299d4a1cc059d0e230f3c6741e81de2445293e2e8dce38c9733764ddf42d1d02c1ce0e680ce4679ab0724fc7ea826d424dfe3ebcd4f51e69ff77188050414638e079e9c244c23ddcd18eac809083c2d9856d4272ddf9228e4a283f3b504c7284838f2b11f66e48faf8f08740d4adfbc8dc06e1255db5b0383960b20c3c609772e53680dd447c5d5c12c8b2a2dae8c963f0356ded9650b35ade53cbc3daf7bfc5cf8d1a00dce0a1b8105aa8fd596f50ada58aec7de03b42c15d47e9663056b0704203fb06917729281780a6242528a6f49197cf5381c3991fe116490d77c622d7e62272094f04cf9148ded57af716d87e5a1fcc276f0253abd21d1e1366d45c6a5a05617374b7a6dfb524c66d1a4539d0c8a483d8ed6708dd491b475eed89c46d6f7d2fb547363923e95fc545c0f4031227d4666615c9a2c9352f78167017bc7d644b0032175fb98b6ab4f0ea498cb74508f68ecc05d5ff18f5b30d178db0a7b3f8fdb1997266f72cc889b159c202a719a68ad69e16f413e777b5e660683cbf3d6f7cb1582e14e2a0e61943c68abf2a0d51708718a3dea9f0152930df8bac86855f210b5502b49940f672f32685bf0cb0690be09a2366f64c37aa4295d8cd7bc12f01e6664634dba8e5ec15e773ff8577c7580b9e8689c8dbf0e9d34e7b7048bcfd1e1198b18f408aa8ec76084cbc493bac11924193aa06f2c24ac1ebd44ae5973ef3f5c9a074df1a01172590db513d8ebc763c26cb70aeb7bbc6a8ded27d2cb62b44a719a7166bbb2219d894c512138a62618810c7c350e9c60532c08041512b74c585a5f927288f95287d83e21339dc6fb09c23a19f6978b90597f96d63b3fdf0f35c5b875eb6271a7d0b2b14479a078db2df4557ee8c026c199f0d2fd3de9732a8a94b954b7aad12dbe5039cad36d6dc1957d8f046f7075810a40829f40903eafb2c4631ec27703e1a5fbaafc8b04a52006ee70737e2bce9ac283031dcfd29f595cf81716ab6b77a95f92ba421e0eb1a5748f9033c26203e9f1e4c1bca6aef7d93a5c4ae8819aa4ad4b2319f485289e40f845500392faab0bcab3498fec02401070760edc9a081c06e0df5d66e700c66a0f87d1710591d6e4f8b87b7231a4ceeb7afd19ef315bc8944beb24a07e9a6a30c92309368053c5e12473162a59f2a2e11125b60367bf8c3be631cd5ef5e5f8c0cebdf777fa067664f3d90268b2dbeec6ba991c1311a89910a63c2eaa3b3dd2ace7a75f3d0ece76ddb4323173d66ace92afca183f0b1ae5e390df4f229fd61886269a7fa40db4ac3c20019e9104599ddff2b898ec94bd6775e13877361c597f8f5b172d39e738cb88956e6a3317c0446da4048d9c9faea8c406918ea35d4ebf5109ee5d94e0ab836ab45c1ce0386ec6abca692153108e36bc0b807a57ea3d2e9fb9172f4b88ad3102dee2ef106e75930b62c7e7277d2d40dd9a2038fe1c1a22a2e63e2fdb5524d300259ef4c89c8bc3328661403d0b83add0e985f2710faaa45f045187a9cd58d6637b361cdc13759f6a1999dfc0688ccac2e93403c331cf3a41390b23e2a1764858fd66035615bfc56fe441a714f601c3113b4f10084ea91590f31298d88bb127fd6d881342a7c4b73b46ac92c75ce820fbf9b6cbbf2d1a6d1b78fe3a77153e8b8c57332ffe77f696d08498422e5f24cf1fb50635906f9772c2ab96c31bfc7485ebdf384c3f9c81135c561aef62891980410a9cfd67c64476fa00b3c5f97ea8aa019c8a588907c3e56a52ba15a3ca9bf62b6201f64eb099991d32da6f3105b13426e6042f1eb9e322ea3cd7b44b2a7a5aa0bfd11470569eccd05263dfedc19c6446668d11811a41c1ce786a9f67468de65e7d5c3cdcfd4d87e9e4e1167142471155eaea5a13acc1107783d46e6a07ce300529d5bdc0b994a9f1fd64b05cd444e2ae6c46d13a621800eb5aed85bb7417c8120038f4a464c056beccc15edc19794c5637851a5ca2e3839e61b96ab7bdda4b753b45f80e0c7617da2c93c94654cc4ce493179725dacd4b36d6b1fdea2fc36666c9a613efde6393a0124e7ce2a46682006e9e412deebf95857fa1268eee47db8020cfc396b1312bebef7fbd91f3068578132823172d3106262932189c414657d91223be54c38f904da140e8e7698e97c638bc3da3ac2c509806e0aa8988b6f67a4c21129afc0ef81a12fd7167e62a8d099cc5b53d1f0f178d6ace34e332d946e2381a3b83a7acd728dab5f9289794d97330e3f268db3a7f1d1dc3a64f76abe28a90af02b4a937307aae47437efef47203077c09102ddf61e5b70d79cb863d3c7e15a4037a27ad558964b67a53152b207a0a653f18f2a57b6393b5d205acee98c3237540c81ce7c0c0302093ae4eaf9d732cfaaa249a33c0ce9adbb21ab254a8e0c84b455b59dd79e586a7005a33d250229a5905e5fd095628a723f26e25ca355e6cea5bd886f15d51bc9d57284657ff29553ee12fa5c7c7e9f583cfe773fb7e0d8be81126d11b49d86f3a684e6474688ecfec1c63568f78aed1ede646844d975904d5ea1afc5b1534b1a79bf0fe09868c08feeae4be403f072138cb04553d5d33bca5069760f400e1d346f6c38cef5c76972ab79263f29263f6eb488941bc19d16d04b59a45eca76075e4e192350691a08016334072b220c4f773122aa938194ef102ecac003e3c722d6c97cd902bfa2fc230aa1b91324e08edbb832eeaafe52d190f65c7f35a3fbbc6324322ade3c77f95bbe5d10eefc3e93288c7d197f6208e0fe32a7c32183d5cc6a5b48104ffee13e08965bbe3566a4d467e0f8f5e2ea7901bf50d3d8462adc9420f1a90da4697f5cfbc266a08a1d5062336308fdbc995c3b149787be2a47133de2402a1bb1033f476428a7a18142e9b9db719305f28f623f8b2d14d3136242d430ac16d1d9540f8fc5ed088b6d7d3af598299f24cfbcee4787a7b947d8d8f6abdc5bedbf8368dd276a9957834187ce902ea842e14b909f919d4436e4ffef7e0542de98b64d466a2c74b388b065d596dd77728bffbd701f82f5fe4da0fd519f36eb12065732872ebe24be1286a6e49268b42e412439df4f40cac39f3ffa54548cb1262320268714b0873adcd571eeb75a3cb6fecc5a1efb711aaab8576e74be9af05cfaaff71bb4c0bd680398534c43d5ccb9af62cca045fa3652e947b257dd0ca7ce67ab6250e1e072504e6fa07888d928384c30a4c87fdfff91a65a010c5beafd7cb5048694373fcbe1afe8021fe40800e979f990ace6d6cf4b84d256cc023e31c73833e39bda5d0e62288ab1024302176de0f72b95e73ba74b3381b1e2560a3f493ed5875a9cb760df5eb977eed4adc1c050b5d287fae59f71082d51a1a668bbd60907e7f7c32bee87893c24d998bf4cbc9a8d26483b47844494f6b53f706da267b6b29d65caee12a65a8aa79487272e8ae9a5ff98b7ec7f3fcac1cadf035b4b51b4a304bad8f1268b73c948fcd51717fe7acc5e51da03b8080ee16ef283f88592bd089957f603462ada645ef981a168c07ac746d93bd3c84516997b1882d95f576e53dac258f32ed0a30d78c51a6c8e91ad5a95577b3900333bf0df802d5d9d1a254ff4c465dc520d0fa9c1230b97718c927f745c2a62599577070b158b2d00bfe611e67c66659484168f75ae434ec4bf623480637724d65a1bc6b90b5d35de244528d908f1a9c2ad25382369385624428c151ec63463195b99d671fd411fd2a551a26c88f943e45d1f02c73bc63bc05cbaa9c7fe7105f2527ade0c59fa23449d38c8078ff06090053916c4ab1676ad5a6e7534a33a2a0b1cb6865b9aae44780286bbcad6ad9b4d482b2ec19953c9bf56dc1f8f80d418362274c802391d8a1c54796c6790ef5e19cafed7a620abef18d63ef11e876c5c1706f5908963da6df8dae608eb465aeb7ae1f07fb6dd4295168a9dae96f59a535ca17475972ec4815726bc3afee58ffd5444be1b61f96f1423446dea23ea2f030a3516799d703fbd056c418eefaf10cb1cac18313a2fac22ce81cb2a160d691e600e0698a8af49cd27e2d6d4bac34a64cb9e9a1f3e52b64e9535f52fdc74b2c6e582ec61f1f1b7ff57e0584ba6b260dad03d2a6bd5dee24797455b04ad60d8834943eacb2a4c9595d88478c57bdd62a64a01ebe89dcfd133b480058229186ebfd0c741baf3ba5a732f805f2fdb8bdfd4c42f4ec0b504b1a7f687b592d69556619b632ecd3c4034b8db6fee9d4e39602f055048f727615c157dd91a8eaf09cede634ed3805a491fd92360855f65d365e1671deebb83409304c8ca56fe04a179f05ce86866a098cfde962961bb94df31a0935864e34c164abc64e150de42c9e1921c9cf8653243afc51d3a8994f3c35cb38078ab86986d68b31317544e3c0f38ec7dcf35e9f3bc1ae2b6e0f317f75f86e1ac263458500760fa857f499ea08bcfb692210929672f58155030db610837c38e45362796aff35cdab241704e1ff9ec2cc7ae04f9454fdc01fce49720d68c564f68d93fc019776b555430d46b9492eb01fa45facd6d140ce34e3ea75d2ffa5f420b81cb3039927943223c51ccebf919a94990918b5abd030e4be6a43d4ebe8dbd04d4c93357744273fe7ba0e637d987edfbd81ea9dca08435115b620eccd91f16c9ae970f13d7b14f5d20adcf75b414f7934acbdc1849ff8ebfdea9081d398d06edb9e624ee9ae4d2d514432431f76a77d9a84a6004f624f10347e4daa76d3d9a30217ae5c9d6f1eea22727779c6ebf97ae9f6b1dd1d5b9979322d5d2a71f87fac9f9ec4f6ef0b9cfa482db18bb442204da7b92291fbf161dd0402da358a67b4f93b647c24ac4dd2a7bb07171eebbae5a4a7f97fe5a9e14b152e78acf13abecd2204f7446d69f3d1f4b87eaf6c26fb0ea2041e00ea3d410c721ed5c3182bc2ccd881e00e254065a961cb7dcadd08e2fbc6dd092fe886ff9b0690f1f7fdc7527f4dbd897d680bebaf75043727b19a489304450d162ccb772a82415bd8469aead10a7d100e8170f6d4c2cfe82e173f79a78530f0a4237edefba5d385cc412c93cc55069a417d9b75ca591b80174bccbb32d2206b15eadbe79a8879749908d5ad70648de947655ac9a4e4c1d52236e92dd162c53bd060dd546aaed958c6ea96e040b28a03b379d69b02cf8ed6157561ca76169bb605b421617f88d4540abdce8aecf22725035c1b694dc9d73640a978504b8380f8ec3ad955ec6880a6441d1db8b8c6572b1e70a4d8b69c21fa4e06ebb9d74431e1ba952cafc4fbe7665184d2d50877e580b4ee90769d20379634ddf2f840283f577e318166d9c97e9ae662437cb3bcb218bcb3b5bf61f1c24857e62b30e14a6aef237feace9dfbfcef5ecbbbed2f111928a0a7e95b9df4fd3a19fc6ce6904e9c33b4b5ba83b2d0c0b4a84d9e510151634686bc2c3f31745535499b5e0fb1f58699da0ccf2f5fafc6d7d9192455f6b9db9d100062054757c91a2c1db0423344f889bf1f400000000000000000000000000000000040d151f2329333b', - descriptor: '0x010000', }; const type0x2SignedTransactionInfo = { - raw: '02f91cbc018080843b9aca018252089400000000000000000000000000000000000000000180f85bf859940000000000000000000000000000000000000000f842a00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000007b90a204a0ca7140398fd048682e1b9f6df935aad881fa739e8edf166b786b20adce239c80c5988042c6aa0ab451395112111c2cfc98ab181588fec866ea22d5ae1d0e19f36e387ebbd6e6779f37dc81c1bf3a576dd6dd46dbb5a16106cf3013ed832560782b09886c7c6898f12788d7f4bf8703b57f4e782fe0f9faa92c8d669afd937c20c5d331586f6145ab1d15c617197abe4f0ba365a35d08c434794dd44ac62f84d772eded0c8a5c7c507c59acb9a7f204a661ee68816398018af802232d668de0d6d09cdd1c1237938b04470ff6a2e881e317e3bf0a83c1b340a3f4d9f3ce47af0621db9344656a4f5266d49fc6c3c2361505b0b38afe0da6f0694cbb0ec418d1ec41f12926b19bfcfae3cc83ddaccdca045fceb26919997a2fa2d86a3f93f5528bea251bfbfcd49617d7ca9db9225b3e3aa8894e4f4915db6ea040e9a7b517fb41bfff3825a9019f7c970ad9d280de1d3cb95e5d0c7488fd251d16ac8aafe410f84e87d5a5bef29a5ed237de73eb0dea82d4f74b36af7330e791e0edaff18eca7d0a550834c3395666aabd3f7ed313bdadd918f126c379eaf29f9dfcef3c9adbc1e6818a132e65683dae2ea596492fba87cc9876566f4b5d38e6b6e3aa7fc75d3c6870cfd4b3e6fcdc0bd6c87d9e3ef50e93786c5ed12ea1611bc5ef8ade809093a3ee37c8d536b4a209c9b7e9972e58a9e42a499cb2360feb5adad7e585897b619e9ded5b09febda02855bf986ad6246adb9e6bb48d16a50cafbaa4b0d4c3c8931277feb6ac475006289deb3c83bb546ac1176fa651c272faee492e5bd80418d7aefcd8c6a870998f2dd1099b5f6d3564e77c1094196022cb32b79ec45af13f30105b7bd9f48bcba80ecf73c35ba141d0d9c901697cba47f7c417c60b4df5aa0697409aeb729a8050518eb4081597852da86f833f991382cc33f0684323918fd2c262034ccea4e43a7f4537cc98c83f5b6c4733932200a2e5feb58f5c38d36f1ac5fc341f92b6a4055e5e69f37a53cb9922826eece4992295eb5c754092ff1dc22493ea34c9e3215ddd6f0a84cf9d5782f346a9e76ddf7b0f7875851b57431c54974ada9934726c09617578359928cc947c2aad847489ca70a3cc05ab1a982c8640bafd57f42613afa9725762a9d870b702aafe486dfe644053a07cb0ba4d20dfa49041886f050236e91b790f6f54a10f905d63a2bcd44d9ffc6b801a94fb853626d400e203e63e2d2cb14d0f8f921021a3cd117721dcfc22c2493c31cacab65fa8f5f992f4b8fa3e9e162e8bd860b4590d63ec52696268c70e4f3cdc478b408b74baa7b4af4557480c889603424e2942f2cd4e8b790771151d14980ee55cf25fcbb566a5c44cfcea9abc8f036831e67cd8132d89735b12a34e57fef6baa3b06317d50963ef29b463eccf15d980c896f2aa9a1d238fb684b6792fe2001c08fc0a436eb8588a56684b0257576a3210376a751a7795cbf29561e551b407259239be91e7d3f8c4adb1ec858478807ec1160d744bead021363dfda79cbc8223194e35a31958e1250363cd5ff952ed0db61191723576986368ec94473179ba3c231763851b1ab1fa8c8361b4996b6aeb0bc5fdb08159587c8bc13720cb8219d4827495bb5f87c71e3f2fdcbf09a6096ebc67959a6af856abd0d49d633410a9bf3033b364a5af76f96372bd4e91c9c933c0cf90fd925c5e3d52fe0cac075a43fa097ca317b92ed08632cc7acc7adf8c8c594274f9f7a2a65e4b899c4c6c4ceb421355e73882654895725b563d0f08cf498aa76b6ee4fc85cda819e6897d284e64221cec1ea7227b38b8e34cc1c767f745e3dc46d4774f28ab26679f58e6335441d616c329f0a5036ca1d2143cdc23dcfd30b9e8046bce1301cbde379035553681f23bd4fee6bf7a903a24fa9c6526daf0ff9ce7d1d09a8a2c0aaf083a93e366deacea3023d2668dcdb8c48c93a39109863842fb4f494b0c8deafd80da16fcf2bc681e4f3f9604e23aea6fdfde8001658a1e50d4dbccb03d92012c246ff01960b50b2cbd3c5035b59987d1d8a908e26d199eade1e55088aef26f84293fcf0d13111777410c3bd06c16419e953ed512e619b3a0790519bb6ad2260f991c1e3d7a8540c07b5176547e4935e0bb9d432dbf1804af44028e3249809e6789348927e8cf2594a3da4f4e6951e9c1d5fddfe3937698d0403d4ff5ae3309c930850c1d7e2dae197bc910c4ce124a18c19c78c45c797a877e7c6a677fb221798a25797f271f1eb422aa97643a468a69fcdfcde9e9c6ae3d0fed8a7a51dc2b250cdc47cbff38330ef71b51a38a80d046bd22d7b129b20d89acc8965555c40d5ade09714bc32e712c43f2d258346d3b2900e3f08d1153da81b3318cb8d6d33f057073063648480ee270e2d7dcffad63ae21380f897700098aee55e75d9320a9c3fce10335578975b9d15336868ac3dee7e03f49f54a3f7085d578fd1a2f6b8dc9fef10776ec8f50a614c0f8c38a08681f49dcb47edb496c3e3d83fdcf18108ad03cfefb0a7834397bf20052acacd78caf2b081b482ee83d5c72107e8136d63fc7bb80a916d3ad38f0b6259cf8f21d8dcb8289003dbf501fe814ee7da3164151dd5237c90a5bcbb157b04f7b7d9b493b4d83938bc647f3a0c9f0efaab6c5dc0da89a6b05efb59526e27efcc5c5098de85ca3feb4358af4ecd96de45acc58a3e953a5186cbb44d4c2284cbf5a9776ad539246ac8ccfd648be1638d412116c70224d85395fd5e81359f2055fe44fb26c518e5af7a64ef7462e5bd753cecde2e04dc5608a9e9ae1a6dffd3084e3dd277c3ecffb813cee81f89658f950c65c7389310b8a71327a24f35d20fb37a0384484db42eb5a9fc687fed74c5b366f3c92b42f3884ea7296df697fa33bf6640d625a5403da69856fa551d19874d4e58b15a52ef8016692318bf859f3db36a6bfca805110d0d517f80cc72d04b2d604a7be69a8ace0e4cbeaebe7bfb8c302acddf636dcb75feac74baa4a9c1c2f986053ac063beb7fb69be72e1abacb47681f463b5ad6bbc196077fa8dc7715e849ce0f7cf345aaf6d82a45827b7e817d62c014aebd5f7ec0fa6f0eb5287f90997af91df7b9fe6d6250913d2d8ad2e3d6e7519806bfceb4ef5165857c3d2fe001ac5ee43076b29c483663e93e98cf8fb5b0c7eabb8faf9e3d397c8473b7a38974ff0254f57935f121327e68afb0cb41e019e0f3890235b8e14af27b540a60151fcc5d8ffe9787a035108d95ff65ecc028536ec8edabea794f7ded04ef32d5c78187faf763a83ea33494ff77cba4a9e8af5838404d018fb5764a04ec51bea872664928dbf5c39b7b77a38f44d48869f2a5256ca5e3ef774cf2ff12b057baeac50f731b63d5cf28e662c3af34bbd4aee3d3c66758fc169f45afc309673db0ec6b7a376e12aacd1f0478961102f7a14cef96aff747ea4195ab1df8650307ecc665e7586953e1ba4789486bd8da38d467c1bb4530e890f05ca596db22c4b5709bf15676906e16292c46e19ccc55da6e4ae82da55e4f8f047a49fe0412e1b7b8ff317f18fa90d4d0a3c8f02e6f37f680961407a451fa61cdecbc9991a85bdae76535eb2f598e4eb27f7c1f00187688f12b30d5de9aa8dd7c39110396f811fedced0acf696c57c33ac70c274a0b7db730a23b912134ab6f25ef80ba48058c2d61227fe5d23e361da025f55a132220efdbc7f4da66b8a1ec0ad32b24814d5a6994787e196f9e67aa8a39f2842283760c11e22824ab4d1c76862f7626270068f43df66c4185a967a7e3567482eb786d56710c22b72fe4621d24eb6bcfabda8a6277a4a93edf7e854e29f09ec64671bc2e5dd3ce6fcf365a96a76d510f4866ff6bb6f8499d1fa05bfb4a4ed4589bfa7441d48c87f3873002ec1b567f78ac00c551f658c7e9387d3e4335a448dca31f436e74f48d8c094b7892ac727e50fe2fbee08ab3f35800bebbd5a08948204f42b501026385e47413d7ffbf340872f5745aa710c83eda706e06e2e2f6acdf76ca29555824551461f142c2818612cc7c0db8aa0fcf367943f462511487fcb7f0ac1f3f32fa0a1fd0081204efe0afec37cc7688ae3b42ef393b44e2a6d525019e7044be5581caa746b3b52645ea5f8c51e1283f7b96643ee2e555e64be25e61b977912b41f35f220754d75921b8825fdacd28113ace0f92fc16e8b1832a49a31fddfb27e86cb13796b4d93969a2a01e37ef145d7562b46373a40187b92f5bdc4000580092eeb95ba42f3bc8c173f24bacc11da78bc4a41aef9ed4f15c335b42d2d567df3205bde029bdb1f2aa4f9fd6f957e117bc11367180a1146a72215c4375141c2eeb23d94347c60ecfe2d020875f7f16713d5700e1b0a06828ed02188de568232df5c2cfe3de06f1ebcc18bf73b1e697558935ca815e33dcb016c0569e89958b785fdfba785076166ebb4a7fdedb38113e07e0fd78ebf530b373e852794d2c75c7036987dd67a353afc82b981d636fa4af4846671be5e9592cf96968696e410332c00655c6a7b0cb8b963987eaab5f362c4c02407eb7e5ea87c168ffe10e09850e58be664f1baa9cab53d4bd505d6d5601275ca11ac8ca556540a08a92cc6d3fba1074c4ee25b12222dbef35cbb02dfcf62bfa9023a863da55c9a3dd5496127332435877293dd3a5e261fdbb86e7d06a51e01299d4a1cc059d0e230f3c6741e81de2445293e2e8dce38c9733764ddf42d1d02c1ce0e680ce4679ab0724fc7ea826d424dfe3ebcd4f51e69ff77188050414638e079e9c244c23ddcd18eac809083c2d9856d4272ddf9228e4a283f3b504c7284838f2b11f66e48faf8f08740d4adfbc8dc06e1255db5b0383960b20c3c609772e53680dd447c5d5c12c8b2a2dae8c963f0356ded9650b35ade53cbc3daf7bfc5cf8d1a00dce0a1b8105aa8fd596f50ada58aec7de03b42c15d47e9663056b0704203fb06917729281780a6242528a6f49197cf5381c3991fe116490d77c622d7e62272094f04cf9148ded57af716d87e5a1fcc276f0253abd21d1e1366d45c6a5a05617374b7a6dfb524c66d1a4539d0c8a483d8ed6708dd491b475eed89c46d6f7d2fb547363923e95fc545c0f4031227d4666615c9a2c9352f78167017bc7d644b0032175fb98b6ab4f0ea498cb74508f68ecc05d5ff18f5b30d178db0a7b3f8fdb1997266f72cc889b159c202a719a68ad69e16f413e777b5e660683cbf3d6f7cb1582e14e2a0e61943c68abf2a0d51708718a3dea9f0152930df8bac86855f210b5502b49940f672f32685bf0cb0690be09a2366f64c37aa4295d8cd7bc12f01e6664634dba8e5ec15e773ff8577c7580b9e8689c8dbf0e9d34e7b7048bcfd1e1198b18f408aa8ec76084cbc493bac11924193aa06f2c24ac1ebd44ae5973ef3f5c9a074df1a01172590db513d8ebc763c26cb70aeb7bbc6a8ded27d2cb62b44a719a7166bbb2219d894c512138a62618810c7c350e9c60532c08041512b74c585a5f927288f95287d83e21339dc6fb09c23a19f6978b90597f96d63b3fdf0f35c5b875eb6271a7d0b2b14479a078db2df4557ee8c026c199f0d2fd3de9732a8a94b954b7aad12dbe5039cad36d6dc1957d8f046f7075810a40829f40903eafb2c4631ec27703e1a5fbaafc8b04a52006ee70737e2bce9ac283031dcfd29f595cf81716ab6b77a95f92ba421e0eb1a5748f9033c26203e9f1e4c1bca6aef7d93a5c4ae8819aa4ad4b2319f485289e40f845500392faab0bcab3498fec02401070760edc9a081c06e0df5d66e700c66a0f87d1710591d6e4f8b87b7231a4ceeb7afd19ef315bc8944beb24a07e9a6a30c92309368053c5e12473162a59f2a2e11125b60367bf8c3be631cd5ef5e5f8c0cebdf777fa067664f3d90268b2dbeec6ba991c1311a89910a63c2eaa3b3dd2ace7a75f3d0ece76ddb4323173d66ace92afca183f0b1ae5e390df4f229fd61886269a7fa40db4ac3c20019e9104599ddff2b898ec94bd6775e13877361c597f8f5b172d39e738cb88956e6a3317c0446da4048d9c9faea8c406918ea35d4ebf5109ee5d94e0ab836ab45c1ce0386ec6abca692153108e36bc0b807a57ea3d2e9fb9172f4b88ad3102dee2ef106e75930b62c7e7277d2d40dd9a2038fe1c1a22a2e63e2fdb5524d300259ef4c89c8bc3328661403d0b83add0e985f2710faaa45f045187a9cd58d6637b361cdc13759f6a1999dfc0688ccac2e93403c331cf3a41390b23e2a1764858fd66035615bfc56fe441a714f601c3113b4f10084ea91590f31298d88bb127fd6d881342a7c4b73b46ac92c75ce820fbf9b6cbbf2d1a6d1b78fe3a77153e8b8c57332ffe77f696d08498422e5f24cf1fb50635906f9772c2ab96c31bfc7485ebdf384c3f9c81135c561aef62891980410a9cfd67c64476fa00b3c5f97ea8aa019c8a588907c3e56a52ba15a3ca9bf62b6201f64eb099991d32da6f3105b13426e6042f1eb9e322ea3cd7b44b2a7a5aa0bfd11470569eccd05263dfedc19c6446668d11811a41c1ce786a9f67468de65e7d5c3cdcfd4d87e9e4e1167142471155eaea5a13acc1107783d46e6a07ce300529d5bdc0b994a9f1fd64b05cd444e2ae6c46d13a621800eb5aed85bb7417c8120038f4a464c056beccc15edc19794c5637851a5ca2e3839e61b96ab7bdda4b753b45f80e0c7617da2c93c94654cc4ce493179725dacd4b36d6b1fdea2fc36666c9a613efde6393a0124e7ce2a46682006e9e412deebf95857fa1268eee47db8020cfc396b1312bebef7fbd91f3068578132823172d3106262932189c414657d91223be54c38f904da140e8e7698e97c638bc3da3ac2c509806e0aa8988b6f67a4c21129afc0ef81a12fd7167e62a8d099cc5b53d1f0f178d6ace34e332d946e2381a3b83a7acd728dab5f9289794d97330e3f268db3a7f1d1dc3a64f76abe28a90af02b4a937307aae47437efef47203077c09102ddf61e5b70d79cb863d3c7e15a4037a27ad558964b67a53152b207a0a653f18f2a57b6393b5d205acee98c3237540c81ce7c0c0302093ae4eaf9d732cfaaa249a33c0ce9adbb21ab254a8e0c84b455b59dd79e586a7005a33d250229a5905e5fd095628a723f26e25ca355e6cea5bd886f15d51bc9d57284657ff29553ee12fa5c7c7e9f583cfe773fb7e0d8be81126d11b49d86f3a684e6474688ecfec1c63568f78aed1ede646844d975904d5ea1afc5b1534b1a79bf0fe09868c08feeae4be403f072138cb04553d5d33bca5069760f400e1d346f6c38cef5c76972ab79263f29263f6eb488941bc19d16d04b59a45eca76075e4e192350691a08016334072b220c4f773122aa938194ef102ecac003e3c722d6c97cd902bfa2fc230aa1b91324e08edbb832eeaafe52d190f65c7f35a3fbbc6324322ade3c77f95bbe5d10eefc3e93288c7d197f6208e0fe32a7c32183d5cc6a5b48104ffee13e08965bbe3566a4d467e0f8f5e2ea7901bf50d3d8462adc9420f1a90da4697f5cfbc266a08a1d5062336308fdbc995c3b149787be2a47133de2402a1bb1033f476428a7a18142e9b9db719305f28f623f8b2d14d3136242d430ac16d1d9540f8fc5ed088b6d7d3af598299f24cfbcee4787a7b947d8d8f6abdc5bedbf8368dd276a9957834187ce902ea842e14b909f919d4436e4ffef7e0542de98b64d466a2c74b388b065d596dd77728bffbd701f82f5fe4da0fd519f36eb12065732872ebe24be1286a6e49268b42e412439df4f40cac39f3ffa54548cb1262320268714b0873adcd571eeb75a3cb6fecc5a1efb711aaab8576e74be9af05cfaaff71bb4c0bd680398534c43d5ccb9af62cca045fa3652e947b257dd0ca7ce67ab6250e1e072504e6fa07888d928384c30a4c87fdfff91a65a010c5beafd7cb5048694373fcbe1afe8021fe40800e979f990ace6d6cf4b84d256cc023e31c73833e39bda5d0e62288ab1024302176de0f72b95e73ba74b3381b1e2560a3f493ed5875a9cb760df5eb977eed4adc1c050b5d287fae59f71082d51a1a668bbd60907e7f7c32bee87893c24d998bf4cbc9a8d26483b47844494f6b53f706da267b6b29d65caee12a65a8aa79487272e8ae9a5ff98b7ec7f3fcac1cadf035b4b51b4a304bad8f1268b73c948fcd51717fe7acc5e51da03b8080ee16ef283f88592bd089957f603462ada645ef981a168c07ac746d93bd3c84516997b1882d95f576e53dac258f32ed0a30d78c51a6c8e91ad5a95577b3900333bf0df802d5d9d1a254ff4c465dc520d0fa9c1230b97718c927f745c2a62599577070b158b2d00bfe611e67c66659484168f75ae434ec4bf623480637724d65a1bc6b90b5d35de244528d908f1a9c2ad25382369385624428c151ec63463195b99d671fd411fd2a551a26c88f943e45d1f02c73bc63bc05cbaa9c7fe7105f2527ade0c59fa23449d38c8078ff06090053916c4ab1676ad5a6e7534a33a2a0b1cb6865b9aae44780286bbcad6ad9b4d482b2ec19953c9bf56dc1f8f80d418362274c802391d8a1c54796c6790ef5e19cafed7a620abef18d63ef11e876c5c1706f5908963da6df8dae608eb465aeb7ae1f07fb6dd4295168a9dae96f59a535ca17475972ec4815726bc3afee58ffd5444be1b61f96f1423446dea23ea2f030a3516799d703fbd056c418eefaf10cb1cac18313a2fac22ce81cb2a160d691e600e0698a8af49cd27e2d6d4bac34a64cb9e9a1f3e52b64e9535f52fdc74b2c6e582ec61f1f1b7ff57e0584ba6b260dad03d2a6bd5dee24797455b04ad60d8834943eacb2a4c9595d88478c57bdd62a64a01ebe89dcfd133b480058229186ebfd0c741baf3ba5a732f805f2fdb8bdfd4c42f4ec0b504b1a7f687b592d69556619b632ecd3c4034b8db6fee9d4e39602f055048f727615c157dd91a8eaf09cede634ed3805a491fd92360855f65d365e1671deebb83409304c8ca56fe04a179f05ce86866a098cfde962961bb94df31a0935864e34c164abc64e150de42c9e1921c9cf8653243afc51d3a8994f3c35cb38078ab86986d68b31317544e3c0f38ec7dcf35e9f3bc1ae2b6e0f317f75f86e1ac263458500760fa857f499ea08bcfb692210929672f58155030db610837c38e45362796aff35cdab241704e1ff9ec2cc7ae04f9454fdc01fce49720d68c564f68d93fc019776b555430d46b9492eb01fa45facd6d140ce34e3ea75d2ffa5f420b81cb3039927943223c51ccebf919a94990918b5abd030e4be6a43d4ebe8dbd04d4c93357744273fe7ba0e637d987edfbd81ea9dca08435115b620eccd91f16c9ae970f13d7b14f5d20adcf75b414f7934acbdc1849ff8ebfdea9081d398d06edb9e624ee9ae4d2d514432431f76a77d9a84a6004f624f10347e4daa76d3d9a30217ae5c9d6f1eea22727779c6ebf97ae9f6b1dd1d5b9979322d5d2a71f87fac9f9ec4f6ef0b9cfa482db18bb442204da7b92291fbf161dd0402da358a67b4f93b647c24ac4dd2a7bb07171eebbae5a4a7f97fe5a9e14b152e78acf13abecd2204f7446d69f3d1f4b87eaf6c26fb0ea2041e00ea3d410c721ed5c3182bc2ccd881e00e254065a961cb7dcadd08e2fbc6dd092fe886ff9b0690f1f7fdc7527f4dbd897d680bebaf75043727b19a489304450d162ccb772a82415bd8469aead10a7d100e8170f6d4c2cfe82e173f79a78530f0a4237edefba5d385cc412c93cc55069a417d9b75ca591b80174bccbb32d2206b15eadbe79a8879749908d5ad70648de947655ac9a4e4c1d52236e92dd162c53bd060dd546aaed958c6ea96e040b28a03b379d69b02cf8ed6157561ca76169bb605b421617f88d4540abdce8aecf22725035c1b694dc9d73640a978504b8380f8ec3ad955ec6880a6441d1db8b8c6572b1e70a4d8b69c21fa4e06ebb9d74431e1ba952cafc4fbe7665184d2d50877e580b4ee90769d20379634ddf2f840283f577e318166d9c97e9ae662437cb3bcb218bcb3b5bf61f1c24857e62b30e14a6aef237feace9dfbfcef5ecbbbed2f111928a0a7e95b9df4fd3a19fc6ce6904e9c33b4b5ba83b2d0c0b4a84d9e510151634686bc2c3f31745535499b5e0fb1f58699da0ccf2f5fafc6d7d9192455f6b9db9d100062054757c91a2c1db0423344f889bf1f400000000000000000000000000000000040d151f2329333b83010000', + raw: '02f91cd4018080843b9aca018252089400000000000000000000000000000000000000000180f872f85994de0b295669a9fd93d5f28d9ec85e40f4cb697baef842a00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000007d694bb9bc244d798123fde783fcc1c72d3bb8c189413c08301000080b9121375e9c5985fb476b42633b86d5187c8e7fd08ac03e1e331cf007c9fa6f5d2b700d867852c0f4bd8dd737b0df220d359435fc77b2ec5f2fd268e52cc8d0694f01d0bb8c4b0998ce7cd9b3ade54d2bf3430a84bd6dc137b88f12307a765cf2db3c33e384880320d7b33f9c395b47658882f5f953f9746f42884b4f5710ff0c245f9f991f7d4e5f70752f2258a118a2c866a9bff03b1d24487400e67ad57efe87f99356f98b5b0976af83b05c4f65ec4a21f3c0c52b8378d1c645bdf73cdb22cf02eeee35e357dca660e010db3f3d91c892682aab6f710e819492ecbfcfd0b07c7530504613baae77d72c754fb4de8ac6d8bc737496cb40c13205c6271d52d42034962b2cb2b2db14ec85833937c1d184331da9b984ab6f6abbfaefb81530e2183c945f418f66ccdc2c3485a6a6eb4c00cbb02b1c80c07fd7bee664f2917674544af06a8d4bb00ae8f4af84d94e1d53391ce88570f36735fbb376cf2d9e3d7a9b2e864db9dda54a163c8e3d5e54f0cedbbb79523495822bd61b8c38f4f4a6f4b80f3acebcad33ea0b5fd9cdeedb0ecaf02709627f86e94408b194d1b0f9b301732e1423bb1495a710e2fd286b79fdf769207344142ccec24bab8b0cc3f3af68083f779e2e2058bcd90add12b03f3f8870b05922e496d35562b8674951076074c63350d9f3addb86d18d9f3b74036b8a800d0028f389de7290825527f055b38ddb3777f581b82c4f9600a12910f7198bfe9d9c11b7dcbdb8b95ead10ee97d96c3e3870c7645d7a9fec101c53ec277a20e247b1715ac714e44ba434be7ac561c6ded35e5ddddde892e923ccb3d80d5001925c797c74415671c88399684848fe0a9c2e8d53409f17ddb4848f2e268ad714c355e40fe65286e35be17b6396906dc311c3081bf23c93d83cfdf58eb0bab3552500aeebaca944f421984f13be8b92e67488bcfff67a31bd3380703819f5bf485b832a32b38717357c81583e13b04a4c70445ffe85118035a43434e409913af9c481abb033411eac52d6d869bc9db39c9f3f60a497730fd7f1adfb22e6df8d5285db5275f13176e6dc93f6660d706209f09c52d9f366c78cc7c426f47cfa6a64e92140f501234fc3925ea765e003fc1adf3c34c2009ed2c6c22444862d2d7b22262f59b7d0b685b7428510385c388eb157c663bbdbf6eb00a75b4427488c9c4a90e47bbd389fc83125523fe4ae356df600e08d6823fa1365db9bf2943b5728cd7136cdfb1e967d587a8f6bdd7955334fd675ecbbf4ca637f1f9fc254690a46a0c46cfccd1109f6c294e8b4f069b7afe9aa27c5dad186b84ae5e5532111a244bed8bd3feadf1568d0e961cf07765b779d6670e234a03d766508a2fe7406ee3f4814369fa539ce90cbc94cda3ae5981c1a2a6747dceb96cf06e9785859d270d25dc265792711a86d436e6f9c9f28e0b72ed1325a45d335365848800f65dec0c001563a5dcf456ff940736886754233aa52bb45755de842fdac920a7d0f6f506c631d8413bbbc28876c95b3fae12251ac2fa1b813a05388ba51326d1663932836a5a9120a6172e5ecd50b6f87797e769cddb1bb5aef08356f9eaa30c38ef471c486feedfca9b27e2ba2c64dc7cf62c1538e96358ea8d0322af323b26cc470e9f801c3bc91051a49f2a6aced5cd412780e71a7c354eb96fbca1995b97754f427f5ae0d741cfc221323fda79ca3285af193d07972b4bc34ef5e5d6d75db86308a919897326d2abdede256a66b076553bccb9c9e755668b339f2af91fe4f1e4062eae0f62625a55031392e756621df7c6f9fd71877eb5566a884a9310447e7f19e95982d001b21aabfde0d4f6872afb7d097b5415e713cf68c3e436332895dfce13c87074614e1dcec327215cbd2f57aa4aed2aa5d4a840c9fe270fb39a36025ff7e5933d26559e15d9195464d0dd97e4b6067b1e4c795c7313062d108452222f3f7b39e86a0d7bf0fe1ba625d4b24378a6a9bf95c2383beab5cd7cf233dc6bf0c2f9dab487ae7a53e617d68a44d74cb9738cb92f7c36d5c52a9acd5cff044b3bf40be9e2a11f0f8cbd35bc27108c433b1600c5db203d97f8c47487127a117bdb427d886f4132cb3fd2865213e5ed9a04b63244ad720552636a24c82bae6f279aac17ec03e8dc1d1ed3a14a71542edec4411c1db6df550bd456df3bf34fa1fb1b140f72211840597868ad0c1a70eb1db98adedde4151c663ff432aac1f80e8b8823e4875016a6a1887c6f0e126de8dac1bf54c780001f89b685f8eea47890a81ef097cdaf3115feae777527cc201a16eeb939afc765861ab26a2d59c37b86a2e0174419e88d8347e337fb69c2699f5ea0f89621aede0b7dd56049dbe7b3c7056c1961ae2cf3f1ddfacd39b83fa96ac4f40a9e9c6054f8ee01b2e92c7c322f3be48cf7179d219c57e9c6864739090a306c1c8d23c29018d37a19bd027514859209bc175f2c07c9170754b13cc2c3a0904ae503269e4b4f1b53425617a8e8ea8d3b421ab32995e9eae4e9de8f50d49817e2e0a930485c4ac939ac097e892777b11969a7c2931fbd7aa1a2e511b4598ce01f1b04706f92530650bb29a9f6ffc3207ac551fa96468b094386bbdc453a940f7eb727fcd76ffd8eee73d030691d45eb5b96fb60125a7c14e6add3b2dbd0e5a12a0f584ad54ad5e449e085279b534c8158e98d343fbf9058ce61175ee687a1390fae377a4fd0dfe048a62ed76ac066eaf96970eb83b5418662ce38881a59724ce098adaf3d15dabb97ef06ed8c52b3ffbd5cc4d82728544a2d66e02037c97d60eec78fd3d188807aadc34f9247741e70662c8ad60ff3a5c797bc3c0eecf1439b5d59c5b04b2383c8635c4abdc0ddcd612a5f8b6aef71a8bfe4b8a9ce4bc99ae9974941e4a7d16cd7dbfb971ae65b47cdaf0ee6086caa79b834b4351304957a5301e47e9e40bdd7c622daa40abed05530d112b35766b695326957bae2f38b47b9f3f3f3f16a0c70f072d772efc122c2cd8474f0407977bee8f600b25e78056e96e9f9ad8b813616ab27619117d3624367407ffbf680778d00961dad506b331a27368572dbd6ecb6c41dbd68d934331b1a5b3aaf02c159d87fab4a244a013118727433f557ceae0d1c1f51b9e346a1198e4878a449e65bd25132177542b92964ed4dc31ce6498d4e4ff137ee7102e24b463c8880b2c1d18e29e9f2242880f241766551af08ca9e9a48a16fd42e34e4390e7799ca3cdb546dafb93ff998e30f070b4c3ff1659c475f69a16cdc944aeeb4c79db7aaf415eda3220cff1b27f721689cbdd1e1391dba9c36c84a5c8a4f09d66b7e1077e40f1c57fbd7eb56e07b582156f24b13e12bbe4b805415df05fe07b2633ebf0180d9bf69526134c37e0cd90684c52d3c3aad0da1e570eb2d2cc6b1b8517c3951dcced2c7b975e48e3946732e20a39c423e763135d56edfc32ffff92ad6d4b506ae77047b76f3382654bef66b521105196f0a13ccdbe2b297dcfce341d71a6cc4b30a8e6d4b7c84262ebe1ab271af3a3e67c8fa43ffa6b369bec4850b5bd8d2b03e5bbb749de4f76990b309e829cfd99ced16612e59f59f76d08676b650e03535778c45ac2e24bcd577cdede0ce58453e3914399ad65b7775690ab8dc125dc27c22207ecb1c488d73eb72c87c61b7707dee7f6681d79cb86717837d5a3fae8f5a16e0dcc698161969191c9055f7617832d256649cea8cdd5b4d33f320cf2dd364c95550861dbca12b70be9ed85c7c72b15526d1c67e2def7c59112a9b18651adcaacf5056535057a1ace023e078e9dfffa300f0283a63e706c326264be69364c338e969004be537974c388e3be14b1cb3cf9ba6d9723e757b418b775d628f86f54cea05af753278e1c58eb314f5b197f7c3bb233e5bd6b1a0c48401eff815970611f3452f68b27b3524f2d6de85642ee84ca3671091bcd4564b70ddd07b93a1ac0ade41254bbad514af620547fd87efc9fbbd91cef6076be0db38f15f5235303e1ca76df9362ba117de8a7b5aa146140fa433e7339a750c1f95273c7d7a56e8e4cbcfd840dc39b6030e6a1d4c9e8c76fb57aaf7a94c02591ff5edf75efe5e34880d999198b7b29a6f017a60b58e6c3c50c7d9faac389c41f29073c6a121c6dcb947144860cbbad1bf20545330e536bc38d5a4ea4bf364f788b3f516db88abdd924a6f3d5089ad1f9724ee43e4d2ce62907ccf2f1930451ad8ae7860849146804bd41f255e2f4212cb8e959609db61dc724affb3c2329951ea2a3478c0d47fb56d18c183125b1df7e360e2cf9909de26b2a4286d932fb9c30dffa1e9778b726d40182415d09ef108ca5602101b553580f349aaec8721469ba4c8195d94b031f27fc792ba3842aa7ca18b250e7bf4e5fa7e8c718f4a5ecdd2a425357501e8eeefdf676adbf61fcf7173f69e99cd54adff82a8cfa8323f2d068f8b2a9fc5b9d207237c90ce19fb7a45ec5199927f4fcb4e3cf25f5e9b8f8c939c3d9e568b3706c5e8b6758bbad6dc2a7c7e5a852800852ab73e5da5c12d08f75a61cd3dd68d944b0e8edb3a98ba6dcd67995cc338efbe914c580968de513968e65d2e3e866f12976ff6645f92cb4e939105c47a405ed4cf8e3e62e6112d7204efbc78c407d889e9ec324af301afbffa88a4639a73755a5cd2d21a7f643c15df971a5a7b437bac3637733c45958b542117d8e524bc40e508eefacc17a267581046e3fd09f176abd47c7a65c89e2d698dacd032558fd02b8367f8875a989b7de96b84692e8e9bebd84e5b60b7ee61915d8139043e8e43e469988c3ca53e3ddb016788cc40c2d7181f69ca4040d01d0683a51c838227012fbd7c9e07570ca9dc8c422cdff4cff050f6fc2810804f083a31593d40b9a13d543868efd1ffd6ad386f3967850f4e8f2e40c88ace195471577cab1b5965fd6a85bb3b90972d1aa2fa9eaf5c04a3c9926ae1b20b27a8a3f01110d47d36bd877b6580d4ef2337e8fbba3e145964597f1a058275ed37a061805998cde74184b11ca1a4c389deaefd9ba9273e84cc36f21f587841974ab3b792a4e2a9328bfa3d3f416526396516ab662a7cc40823cdd01bbb83a6633b0cbdc7ba77c278ff35a9ec8d34c0065a62bcba196778c1cd16c4aab35a1878636df8b0c3a1dfc71cf36b1ec48a4955d8376cbc282f6f7d65af752482759d9200190b997ff7a8fbfd3a1a15d5b11213d7e20d056de31b673827dd3e70d062bc1da700edab8e19395e22d12ad8589746ddb8067d17566dcab8a68f97d5efeb05d46c6cdb557ec3610b0a9311908616fc5c0b2254f2273b8821ca5c45e7a9415ef0692dc49638319af05bf5f8d68e234c7781f8fd57cc269396e419ce2bca5dcf6042210c5e87d132c1f876d3599e99a8bbb7b9846ac01de60677f131bb78f4a9c3db2297bc99526801f1023da2f62e26bdb5ad8ae4578d3f0f2a10833271bf6feae46d8ecba0767b7c52a5ce09e06a04eda646d5a1a242d95cc7e35a16102a09ac576222132d70f2dc4e37fc6fe58ea936b2c3e10117a29d924806a2fcfa3ad52bd322a611f9a417915d35b184c0a2150703978bcdc0091d0df030b35c8dfa80ccdb6207edcaeda838c893f7c7f97737cbe6951452994ad483c2bb19d7bf9e1d7cff87d3944806abe62bd297ba20784aba8499a5f6661e612beb26a3246839142a2bd4f9cfcfcf55697bef8cdbebdcd2e4e7cdeca755694f7be3dfd0215ff3917d8331c90abfb35ec6b94b570291b55adf44e8736cb141f031f9809e441000fae4eb4932bf4cdbc18978a953df2b2fc86e26387403faee624741626749a179c19453d8a84fb0a984aa85449c4a0c5a3cb43a7f6e2c8780aca924eb08cbead95837556210bdb846a7e53b738bbc5dc9ac5b7872020f69c3e2524f2d33f0ae41896491d2bf3f204c7f44cd411e02ae482a7144a8ebc95f5b57eab4feaefcd412f0c8ad7070cc4f076b43474120f936605f1e3fc864d5af3e083379cc9b440e2d0589c657cca2e8c4961f3e0ab6f690f81682844ae0cf1c62f2be4f6e80d0bbb2429f59d424f66044291667fa3bc2e39753b0ce35ce1c16de70e94aca73ad1476cb8a871a12858d516f1a3a8ea80d8918a4ef63ef7e496098a0abfdf918bcd3214f7426e233eb57c29da9e8e92c3c970dafaec955d986545f08de4d4c1e71d4b06e126935f6dd1e3279dca8a23c4277e0aa74c18b979369c405ff37c112b474b40dfa95d500db1b330fcee68fbbc6007a82e4f5ad34c398c56fa2f5efa14dcb659105266a642d03ae7de9ce6472899e2b80f23b0178115b8910e8d1cb33ab51b5e5ae67a228441e85df3ee1e74d2266466e3a0ada7d9b2fe04015a008893f78c8e279d7c01e82f703d3dcb26f2277da0ae2b80eef3254e861bb02c8e7b3f3407848e73e094840cd946173214bf9b23a9ccd438e2e686a9cc5daeffb121d254282acc0c4caf63c8d9a0231424a7a9e081d222a2f3e3fc5fa0102061c1f2a3f468abdc7def1fc1f47a2abadc5dbfe101b3b43446484acddf9ff0000000000000812151b24323a45b90a204a0ca7140398fd048682e1b9f6df935aad881fa739e8edf166b786b20adce239c80c5988042c6aa0ab451395112111c2cfc98ab181588fec866ea22d5ae1d0e19f36e387ebbd6e6779f37dc81c1bf3a576dd6dd46dbb5a16106cf3013ed832560782b09886c7c6898f12788d7f4bf8703b57f4e782fe0f9faa92c8d669afd937c20c5d331586f6145ab1d15c617197abe4f0ba365a35d08c434794dd44ac62f84d772eded0c8a5c7c507c59acb9a7f204a661ee68816398018af802232d668de0d6d09cdd1c1237938b04470ff6a2e881e317e3bf0a83c1b340a3f4d9f3ce47af0621db9344656a4f5266d49fc6c3c2361505b0b38afe0da6f0694cbb0ec418d1ec41f12926b19bfcfae3cc83ddaccdca045fceb26919997a2fa2d86a3f93f5528bea251bfbfcd49617d7ca9db9225b3e3aa8894e4f4915db6ea040e9a7b517fb41bfff3825a9019f7c970ad9d280de1d3cb95e5d0c7488fd251d16ac8aafe410f84e87d5a5bef29a5ed237de73eb0dea82d4f74b36af7330e791e0edaff18eca7d0a550834c3395666aabd3f7ed313bdadd918f126c379eaf29f9dfcef3c9adbc1e6818a132e65683dae2ea596492fba87cc9876566f4b5d38e6b6e3aa7fc75d3c6870cfd4b3e6fcdc0bd6c87d9e3ef50e93786c5ed12ea1611bc5ef8ade809093a3ee37c8d536b4a209c9b7e9972e58a9e42a499cb2360feb5adad7e585897b619e9ded5b09febda02855bf986ad6246adb9e6bb48d16a50cafbaa4b0d4c3c8931277feb6ac475006289deb3c83bb546ac1176fa651c272faee492e5bd80418d7aefcd8c6a870998f2dd1099b5f6d3564e77c1094196022cb32b79ec45af13f30105b7bd9f48bcba80ecf73c35ba141d0d9c901697cba47f7c417c60b4df5aa0697409aeb729a8050518eb4081597852da86f833f991382cc33f0684323918fd2c262034ccea4e43a7f4537cc98c83f5b6c4733932200a2e5feb58f5c38d36f1ac5fc341f92b6a4055e5e69f37a53cb9922826eece4992295eb5c754092ff1dc22493ea34c9e3215ddd6f0a84cf9d5782f346a9e76ddf7b0f7875851b57431c54974ada9934726c09617578359928cc947c2aad847489ca70a3cc05ab1a982c8640bafd57f42613afa9725762a9d870b702aafe486dfe644053a07cb0ba4d20dfa49041886f050236e91b790f6f54a10f905d63a2bcd44d9ffc6b801a94fb853626d400e203e63e2d2cb14d0f8f921021a3cd117721dcfc22c2493c31cacab65fa8f5f992f4b8fa3e9e162e8bd860b4590d63ec52696268c70e4f3cdc478b408b74baa7b4af4557480c889603424e2942f2cd4e8b790771151d14980ee55cf25fcbb566a5c44cfcea9abc8f036831e67cd8132d89735b12a34e57fef6baa3b06317d50963ef29b463eccf15d980c896f2aa9a1d238fb684b6792fe2001c08fc0a436eb8588a56684b0257576a3210376a751a7795cbf29561e551b407259239be91e7d3f8c4adb1ec858478807ec1160d744bead021363dfda79cbc8223194e35a31958e1250363cd5ff952ed0db61191723576986368ec94473179ba3c231763851b1ab1fa8c8361b4996b6aeb0bc5fdb08159587c8bc13720cb8219d4827495bb5f87c71e3f2fdcbf09a6096ebc67959a6af856abd0d49d633410a9bf3033b364a5af76f96372bd4e91c9c933c0cf90fd925c5e3d52fe0cac075a43fa097ca317b92ed08632cc7acc7adf8c8c594274f9f7a2a65e4b899c4c6c4ceb421355e73882654895725b563d0f08cf498aa76b6ee4fc85cda819e6897d284e64221cec1ea7227b38b8e34cc1c767f745e3dc46d4774f28ab26679f58e6335441d616c329f0a5036ca1d2143cdc23dcfd30b9e8046bce1301cbde379035553681f23bd4fee6bf7a903a24fa9c6526daf0ff9ce7d1d09a8a2c0aaf083a93e366deacea3023d2668dcdb8c48c93a39109863842fb4f494b0c8deafd80da16fcf2bc681e4f3f9604e23aea6fdfde8001658a1e50d4dbccb03d92012c246ff01960b50b2cbd3c5035b59987d1d8a908e26d199eade1e55088aef26f84293fcf0d13111777410c3bd06c16419e953ed512e619b3a0790519bb6ad2260f991c1e3d7a8540c07b5176547e4935e0bb9d432dbf1804af44028e3249809e6789348927e8cf2594a3da4f4e6951e9c1d5fddfe3937698d0403d4ff5ae3309c930850c1d7e2dae197bc910c4ce124a18c19c78c45c797a877e7c6a677fb221798a25797f271f1eb422aa97643a468a69fcdfcde9e9c6ae3d0fed8a7a51dc2b250cdc47cbff38330ef71b51a38a80d046bd22d7b129b20d89acc8965555c40d5ade09714bc32e712c43f2d258346d3b2900e3f08d1153da81b3318cb8d6d33f057073063648480ee270e2d7dcffad63ae21380f897700098aee55e75d9320a9c3fce10335578975b9d15336868ac3dee7e03f49f54a3f7085d578fd1a2f6b8dc9fef10776ec8f50a614c0f8c38a08681f49dcb47edb496c3e3d83fdcf18108ad03cfefb0a7834397bf20052acacd78caf2b081b482ee83d5c72107e8136d63fc7bb80a916d3ad38f0b6259cf8f21d8dcb8289003dbf501fe814ee7da3164151dd5237c90a5bcbb157b04f7b7d9b493b4d83938bc647f3a0c9f0efaab6c5dc0da89a6b05efb59526e27efcc5c5098de85ca3feb4358af4ecd96de45acc58a3e953a5186cbb44d4c2284cbf5a9776ad539246ac8ccfd648be1638d412116c70224d85395fd5e81359f2055fe44fb26c518e5af7a64ef7462e5bd753cecde2e04dc5608a9e9ae1a6dffd3084e3dd277c3ecffb813cee81f89658f950c65c7389310b8a71327a24f35d20fb37a0384484db42eb5a9fc687fed74c5b366f3c92b42f3884ea7296df697fa33bf6640d625a5403da69856fa551d19874d4e58b15a52ef8016692318bf859f3db36a6bfca805110d0d517f80cc72d04b2d604a7be69a8ace0e4cbeaebe7bfb8c302acddf636dcb75feac74baa4a9c1c2f986053ac063beb7fb69be72e1abacb47681f463b5ad6bbc196077fa8dc7715e849ce0f7cf345aaf6d82a45827b7e817d62c014aebd5f7ec0fa6f0eb5287f90997af91df7b9fe6d6250913d2d8ad2e3d6e7519806bfceb4ef5165857c3d2fe001ac5ee43076b29c483663e93e98cf8fb5b0c7eabb8faf9e3d397c8473b7a38974ff0254f57935f121327e68afb0cb41e019e0f3890235b8e14af27b540a60151fcc5d8ffe9787a035108d95ff65ecc028536ec8edabea794f7ded04ef32d5c78187faf763a83ea33494ff77cba4a9e8af5838404d018fb5764a04ec51bea872664928dbf5c39b7b77a38f44d48869f2a5256ca5e3ef774cf2ff12b057baeac50f731b63d5cf28e662c3af34bbd4aee3d3c66758fc169f45afc309673db0ec6b7a376e12aacd1f0478961102f7a14cef96aff747ea4195ab1df8650307ecc665e7586953e1ba4789486bd8da38d467c1bb4530e890f05ca596db22c4b5709bf15676906e16292c46e19ccc55da6e4ae82da55e4f8f047a49fe0412e1b7b8ff317f18fa90d4d0a3c8f02e6f37f680961407a451fa61cdecbc9991a85bdae76535eb2f598e4eb27f7c1f00187688f12b30d5de9aa8dd7c39110396f811fedced0acf696c57c33ac70c274a0b7db730a23', tx: signedType0x2Transaction as TransactionSignedAPI, }; diff --git a/packages/web3-types/src/apis/qrl_execution_api.ts b/packages/web3-types/src/apis/qrl_execution_api.ts index c58b29c1..b5079fb7 100644 --- a/packages/web3-types/src/apis/qrl_execution_api.ts +++ b/packages/web3-types/src/apis/qrl_execution_api.ts @@ -30,6 +30,7 @@ import { TransactionReceiptBase, BlockBase, LogBase, + HexString3Bytes, } from '../qrl_types.js'; import { HexString } from '../primitives_types.js'; @@ -69,9 +70,10 @@ export interface Transaction1559UnsignedAPI extends BaseTransactionAPI { } export interface Transaction1559SignedAPI extends Transaction1559UnsignedAPI { - readonly publicKey: HexStringBytes; + readonly descriptor: HexString3Bytes; + readonly extraParams: HexStringBytes; readonly signature: HexStringBytes; - readonly descriptor: HexStringBytes; + readonly publicKey: HexStringBytes; } // https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L144 diff --git a/packages/web3-types/src/qrl_types.ts b/packages/web3-types/src/qrl_types.ts index 0df43d28..06fed068 100644 --- a/packages/web3-types/src/qrl_types.ts +++ b/packages/web3-types/src/qrl_types.ts @@ -23,6 +23,8 @@ export type HexString32Bytes = HexString; export type HexString16Bytes = HexString; // Hex encoded 8 bytes export type HexString8Bytes = HexString; +// Hex encoded 3 bytes +export type HexString3Bytes = HexString; // Hex encoded 1 byte export type HexStringSingleByte = HexString; // Hex encoded 1 byte @@ -301,9 +303,10 @@ interface TransactionBase { chainId?: Numbers; networkId?: Numbers; gasLimit?: Numbers; - publicKey?: Bytes; - signature?: Bytes; descriptor?: Bytes; + extraParams?: Bytes; + signature?: Bytes; + publicKey?: Bytes; } export interface Transaction extends TransactionBase { diff --git a/packages/web3-utils/src/socket_provider.ts b/packages/web3-utils/src/socket_provider.ts index b0acc97e..ce9f0b48 100644 --- a/packages/web3-utils/src/socket_provider.ts +++ b/packages/web3-utils/src/socket_provider.ts @@ -344,7 +344,7 @@ export abstract class SocketProvider< if (this.isReconnecting) { this._reconnect(); } else { - this._eventEmitter.emit('error', event); + this._emitError(event); } } @@ -386,8 +386,7 @@ export abstract class SocketProvider< this.isReconnecting = false; this._clearQueues(); this._removeSocketListeners(); - this._eventEmitter.emit( - 'error', + this._emitError( new MaxAttemptsReachedOnReconnectingError(this._reconnectOptions.maxAttempts), ); } @@ -422,7 +421,7 @@ export abstract class SocketProvider< const deferredPromise = new Web3DeferredPromise>(); deferredPromise.catch(error => { - this._eventEmitter.emit('error', error); + this._emitError(error); }); const reqItem: SocketRequestItem> = { payload: request, @@ -441,8 +440,9 @@ export abstract class SocketProvider< this._sendToSocket(reqItem.payload); } catch (error) { this._sentRequestsQueue.delete(requestId); - - this._eventEmitter.emit('error', error); + // Reject the request promise immediately when sending fails + // (e.g. when the socket is already disconnected). + deferredPromise.reject(error); } return deferredPromise; diff --git a/packages/web3-utils/src/web3_eip1193_provider.ts b/packages/web3-utils/src/web3_eip1193_provider.ts index eb862fd6..dc9463ab 100644 --- a/packages/web3-utils/src/web3_eip1193_provider.ts +++ b/packages/web3-utils/src/web3_eip1193_provider.ts @@ -37,6 +37,12 @@ export abstract class Eip1193Provider< private _chainId: HexString = ''; private _accounts: HexString[] = []; + protected _emitError(error: unknown): void { + if (this._eventEmitter.listenerCount('error') > 0) { + this._eventEmitter.emit('error', error); + } + } + private async _getChainId(): Promise { const data = await (this as Web3BaseProvider).request< Web3APIMethod, @@ -69,10 +75,7 @@ export abstract class Eip1193Provider< this._eventEmitter.emit('chainChanged', this._chainId); } }) - .catch(err => { - // todo: add error handler - console.error(err); - }), + .catch(err => this._emitError(err)), this._getAccounts() .then(accounts => { @@ -86,22 +89,14 @@ export abstract class Eip1193Provider< this._onAccountsChanged(); } }) - .catch(err => { - // todo: add error handler - // eslint-disable-next-line no-console - console.error(err); - }), + .catch(err => this._emitError(err)), ]) .then(() => this._eventEmitter.emit('connect', { chainId: this._chainId, } as ProviderConnectInfo), ) - .catch(err => { - // todo: add error handler - // eslint-disable-next-line no-console - console.error(err); - }); + .catch(err => this._emitError(err)); } // todo this must be ProvideRpcError with a message too diff --git a/packages/web3-validator/test/unit/load.test.ts b/packages/web3-validator/test/unit/load.test.ts index f9ebfff6..59ed6aa7 100644 --- a/packages/web3-validator/test/unit/load.test.ts +++ b/packages/web3-validator/test/unit/load.test.ts @@ -115,7 +115,7 @@ describe('instance of validator', () => { validator.validateJSONSchema(hugeSchema, hugeData as object); t = Number(new Date()) - t1; }).not.toThrow(); - expect(t).toBeLessThan(15000); + expect(t).toBeLessThan(30000); expect(t).toBeGreaterThan(0); }); @@ -126,7 +126,7 @@ describe('instance of validator', () => { validator.validateJSONSchema(hugeSchema1000, hugeData1000 as object); t = Number(new Date()) - t1; }).not.toThrow(); - expect(t).toBeLessThan(30000); + expect(t).toBeLessThan(50000); expect(t).toBeGreaterThan(0); }); diff --git a/packages/web3/test/e2e/fixtures/mainnet.ts b/packages/web3/test/e2e/fixtures/mainnet.ts index a6d97d12..4fb67b97 100644 --- a/packages/web3/test/e2e/fixtures/mainnet.ts +++ b/packages/web3/test/e2e/fixtures/mainnet.ts @@ -285,9 +285,10 @@ export const mainnetTransactionFromBlock = { maxFeePerGas: BigInt(108571383800), maxPriorityFeePerGas: BigInt(25415778028), nonce: BigInt(6346), - publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', - signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', descriptor: '0x010000', + extraParams: '0x', + signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', + publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', to: 'Q3f1b0278a9ee595635b61817630cc19de792f506', transactionIndex: BigInt(1), type: BigInt(2), diff --git a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts index f9fb68e7..21b71f09 100644 --- a/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts +++ b/packages/web3/test/e2e/fixtures/mainnet_block_hydrated.ts @@ -41,9 +41,10 @@ export const mainnetBlockHydrated = { hash: '0xfe87d41469efbea299780c8e218590753e0893ee2d2d65f867d9c9c7b9ed591f', input: '0xa9059cbb000000000000000000000000913cec99a2afb5ec7008831998bf4eebf1ddb830000000000000000000000000000000000000000000000a39bd57ecedc547b000', nonce: '0xf8', - publicKey: '0xf511d0f14c7ad3fbd118136e006dd7327ffd0614cb415e41bf2dddea1c733251', - signature: '0x1174d5a1e42be8c4ca43acbad607a33d4fa39dca036dd7c7a981f3fceb465c77', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1174d5a1e42be8c4ca43acbad607a33d4fa39dca036dd7c7a981f3fceb465c77', + publicKey: '0xf511d0f14c7ad3fbd118136e006dd7327ffd0614cb415e41bf2dddea1c733251', to: 'Qd04e772bc0d591fbd288f2e2a86afa3d3cb647f8', transactionIndex: '0x0', type: '0x2', @@ -64,6 +65,7 @@ export const mainnetBlockHydrated = { publicKey: '0x601ab6acc74820bf5d8d8675ed0828447937869c985ec46bf8010de898aabbcb', signature: '0x17da59e605337ada87592aac2952cbf731575a8eb0fe4bdefd4fa8ce35260bde', descriptor: '0x010000', + extraParams: '0x', to: 'Q3f1b0278a9ee595635b61817630cc19de792f506', transactionIndex: '0x1', type: '0x2', @@ -81,9 +83,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x8aeec0f9c', maxPriorityFeePerGas: '0x8aeec0f9c', nonce: '0x2a', - publicKey: '0x66d297d50616d83c4f46b2ecb07bfe58785ddc1f412565c1fa19175841f314e3', - signature: '0x42d0bbf71e2de38a839d0016c5e2fd9a387621c8fd511d83f554aef09c94a3af', descriptor: '0x010000', + extraParams: '0x', + signature: '0x42d0bbf71e2de38a839d0016c5e2fd9a387621c8fd511d83f554aef09c94a3af', + publicKey: '0x66d297d50616d83c4f46b2ecb07bfe58785ddc1f412565c1fa19175841f314e3', to: 'Q15d4c048f83bd7e37d49ea4c83a07267ec4203da', transactionIndex: '0x2', type: '0x2', @@ -98,9 +101,10 @@ export const mainnetBlockHydrated = { hash: '0x199eb2a37faf1af74c752de5f378859c40a8929c52af1402bf98c9acc309438e', input: '0x', nonce: '0x1e5511', - publicKey: '0x209ef9dbdeaf6807ab08d3191c00af17727ea4ae22ed8fc127a55cfb287b0672', - signature: '0x51551c439baf3cab9a8b93cd1502e3a40a9b4cdef927fbd274d40d0dfcdc9329', descriptor: '0x010000', + extraParams: '0x', + signature: '0x51551c439baf3cab9a8b93cd1502e3a40a9b4cdef927fbd274d40d0dfcdc9329', + publicKey: '0x209ef9dbdeaf6807ab08d3191c00af17727ea4ae22ed8fc127a55cfb287b0672', to: 'Q7a408b5230d123574eb8c057904e4f364b980770', transactionIndex: '0x3', type: '0x2', @@ -118,6 +122,7 @@ export const mainnetBlockHydrated = { publicKey: '0x4f68a9a02c74f6ac4059d3dda87db886050847822b1a3fde4fcde65c175a8f38', signature: '0x3ce0ec0d5a776d84f835a6eed0f2cdf59356ffe6d014af9b283ac84e2c5ad362', descriptor: '0x010000', + extraParams: '0x', to: 'Q40fc4596608b20c97244922060dcfd2de7fdf9ea', transactionIndex: '0x4', type: '0x2', @@ -135,6 +140,7 @@ export const mainnetBlockHydrated = { publicKey: '0x644543ff07aa6aa3197b93f8a6f333860c1f6a51889113c9b984c4cfe53ddd84', signature: '0x6cb061b61f1bb84e5435927a904884b0196b43c93a872822e1abd35caf38ec1a', descriptor: '0x010000', + extraParams: '0x', to: 'Q0d2895a34520624ad6171476d62837b5e285d8f1', transactionIndex: '0x5', type: '0x2', @@ -152,6 +158,7 @@ export const mainnetBlockHydrated = { publicKey: '0x4b06ba58fc3f9dc92be0055c55cddad9205e16c7d29bb6dede6787559e858b2e', signature: '0x2b4b4f8ad723577860d89b6311573260e450a74461b1324b727097cb1ea3f0f6', descriptor: '0x010000', + extraParams: '0x', to: 'Q15d4c048f83bd7e37d49ea4c83a07267ec4203da', transactionIndex: '0x6', type: '0x2', @@ -169,6 +176,7 @@ export const mainnetBlockHydrated = { publicKey: '0xfeced6d2b4be2108e88d961423c3ddbade22425464538f63c047829bf1d8c2a5', signature: '0x7ee24854c7c79582649d25c66bc1b462c57ecb73925d94881b081577ffa04920', descriptor: '0x010000', + extraParams: '0x', to: 'Q795dbf627484f8248d3d6c09c309825c1563e873', transactionIndex: '0x7', type: '0x2', @@ -189,6 +197,7 @@ export const mainnetBlockHydrated = { publicKey: '0xa89f7f812e3b621a89a218f2c22da423d87dc0c2eac90505799a1b63fcea6337', signature: '0x449f43dfc141d298f61728c3f160c536ef741d4295453fc19fb22588faca1965', descriptor: '0x010000', + extraParams: '0x', to: 'Q5ebe4a90a99d8d02204552079572ff962ce554ba', transactionIndex: '0x8', type: '0x2', @@ -209,6 +218,7 @@ export const mainnetBlockHydrated = { publicKey: '0x201f89c979366c6789dc138b8d36047fc0ebd78956ddd1fcff547d982ce74af8', signature: '0x4b469d49d4dcdb1f8f91c8f75713a77851c020d7d19e6e9a9859896a277ffb23', descriptor: '0x010000', + extraParams: '0x', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x9', type: '0x2', @@ -226,6 +236,7 @@ export const mainnetBlockHydrated = { publicKey: '0xc2886750f2308b50265de5c28daf2d7d05087103d8879a63064e454031fa7f9a', signature: '0x3026bc52e581f4ba9233eaca623d7ab55463466fa5cfcab568e6e86b153c0b72', descriptor: '0x010000', + extraParams: '0x', to: 'Qa28c1a1330d7634c9bc5a04cb2a3b64cb866f19e', transactionIndex: '0xa', type: '0x2', @@ -243,6 +254,7 @@ export const mainnetBlockHydrated = { publicKey: '0x965cd3cc650e1592528d8acdf957f1c588c327513a1ae1380c996d3e129099c7', signature: '0x263967109771cb590a72b9383d8822183b452114e8fee7800184857b15b979b0', descriptor: '0x010000', + extraParams: '0x', to: 'Q6dfc34609a05bc22319fa4cce1d1e2929548c0d7', transactionIndex: '0xb', type: '0x2', @@ -263,6 +275,7 @@ export const mainnetBlockHydrated = { publicKey: '0x97ade2e1fe48c2c35194fbb64becbe062f0db4efb96dfd12e578d35a034b8d98', signature: '0x55ac6721ff4947496e861c50990600dd8c0d108d848c6cd84c0c0745a4f09f58', descriptor: '0x010000', + extraParams: '0x', to: 'Q3db52ce065f728011ac6732222270b3f2360d919', transactionIndex: '0xc', type: '0x2', @@ -280,6 +293,7 @@ export const mainnetBlockHydrated = { publicKey: '0x86b3a704ae340159752e67577fe3ddada1e797fc1b73108377f42ef6f33d3406', signature: '0x6cc32eba9bb9d489399e4c91a9d08225462de2235e12652b1f9474fe67e479d9', descriptor: '0x010000', + extraParams: '0x', to: 'Qcbd6832ebc203e49e2b771897067fce3c58575ac', transactionIndex: '0xd', type: '0x2', @@ -300,6 +314,7 @@ export const mainnetBlockHydrated = { publicKey: '0xc517daac09fdfa297b8ba5c19a6edf0c6c84321134384505f3cddc759eb11e18', signature: '0x441ba8e95813878382988533fbd81f8e3bec9425d7c721679306e74aac434517', descriptor: '0x010000', + extraParams: '0x', to: 'Qf34b40c1e9fd13f3aef7e31b69926b2ae97cc5f0', transactionIndex: '0xe', type: '0x2', @@ -317,6 +332,7 @@ export const mainnetBlockHydrated = { publicKey: '0x230800eb5628222c1b97d09d1cb91e26e2e4e003cea1b1061d3f35d0e340f770', signature: '0x250c820942d9a1138a731a5de121921ca1d2a328e64bd35c42531b02f2836790', descriptor: '0x010000', + extraParams: '0x', to: 'Q52a494dbf47107cc0c624ee10703abecaf586776', transactionIndex: '0xf', type: '0x2', @@ -337,6 +353,7 @@ export const mainnetBlockHydrated = { publicKey: '0x81f54732c008f3fd03812f57a6deb5822533e3b5e9b50b97574d84c3e31a40e0', signature: '0x25ac62ba0d877945882f4430861effec04ce0e69903b04fd38124c881c395d2e', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x10', type: '0x2', @@ -357,6 +374,7 @@ export const mainnetBlockHydrated = { publicKey: '0xdb8d01754137e016371d9b69b1516509ac98eea529e2b027d853be60fe3fb0b4', signature: '0x7818762d95b751f04d905e25843191891c8047d7bd3ad3a3d11366aac70cda1c', descriptor: '0x010000', + extraParams: '0x', to: 'Q4a527d8fc13c5203ab24ba0944f4cb14658d1db6', transactionIndex: '0x11', type: '0x2', @@ -377,6 +395,7 @@ export const mainnetBlockHydrated = { publicKey: '0xe04214b243d0671e37a53582b0eab23c8b313f6391805053a8ec1bc5d3494c3a', signature: '0x76174f10b93f6cb35ad6d51e2931b0eb3841353ae17ad0583b4a78ea2a4428e4', descriptor: '0x010000', + extraParams: '0x', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x12', type: '0x2', @@ -397,6 +416,7 @@ export const mainnetBlockHydrated = { publicKey: '0xd19f281c9210eff7c37c0bfbbf22837cb6fd997e8aa3544d9ef310abf139f4ba', signature: '0x260e9f08a252f6333a8a6ab4bc604a56864c7baf0262270e4d1e90f851a4fc06', descriptor: '0x010000', + extraParams: '0x', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x13', type: '0x2', @@ -417,6 +437,7 @@ export const mainnetBlockHydrated = { publicKey: '0x5f9624fb030af3719a6e80a5ec7acfe618c5c69cc339e1ee6981deb160beb577', signature: '0x024061ab760e7608b5354782d67bddae9efa30b4a9046380db24c53734cf33da', descriptor: '0x010000', + extraParams: '0x', to: 'Q1785982cb0386d9862ec1968e0152656d44d14de', transactionIndex: '0x14', type: '0x2', @@ -437,6 +458,7 @@ export const mainnetBlockHydrated = { publicKey: '0xf1c2dcc6602bda7edeb16a34321c9eacc2d8501a4ffcd9cce95e143ce41f3ca3', signature: '0x4729ae054e94b1460aeea560cf6809203d61aeb2f6ef64c052eea07e4b0a421b', descriptor: '0x010000', + extraParams: '0x', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x15', type: '0x2', @@ -457,6 +479,7 @@ export const mainnetBlockHydrated = { publicKey: '0xb3360d4cd6c110385f6e6416239ddfd53ba09a49425090d899b6fa286f062a17', signature: '0x038ed6befae17a39a04d0da0c11541a8ae3e34a81d5e0218c2cd59f2fc106db5', descriptor: '0x010000', + extraParams: '0x', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x16', type: '0x2', @@ -477,6 +500,7 @@ export const mainnetBlockHydrated = { publicKey: '0x8776838f6f0b5880ad1f47d293a59784fdfc1da6a213afaa394dc39c819f66ca', signature: '0x5e06ead719af63b45434941b53a7235820e6392652968f704f47f7ac88a54da3', descriptor: '0x010000', + extraParams: '0x', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x17', type: '0x2', @@ -497,6 +521,7 @@ export const mainnetBlockHydrated = { publicKey: '0x77576eb7635253c0111415988d87d125cccc034e3e0a5537d45f542dc6d9fb17', signature: '0x51a3782c39cfd538278762b099ae388da8e4563110cafb577e14387e7bb5bf8a', descriptor: '0x010000', + extraParams: '0x', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x18', type: '0x2', @@ -517,6 +542,7 @@ export const mainnetBlockHydrated = { publicKey: '0x77cbab6be06d2c0d7e7e281e6b74bf86d54b1e6eb0d25164e34f74ffc4b13491', signature: '0x76ddd4fe48f97b00c8222b87d281531a8602657c5fa47b1b1e3beb0a68f76db0', descriptor: '0x010000', + extraParams: '0x', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x19', type: '0x2', @@ -537,6 +563,7 @@ export const mainnetBlockHydrated = { publicKey: '0xdee01e58066f39f49053a1caec721704b27d4455cb7f66051567babff2eb0207', signature: '0x5d57933f7f188c8bc3df76c4eddfed42952b24852cb5e99cc46c021d032635d6', descriptor: '0x010000', + extraParams: '0x', to: 'Q5e9dc0b770db326612bb31605bb928ad125c95b3', transactionIndex: '0x1a', type: '0x2', @@ -557,6 +584,7 @@ export const mainnetBlockHydrated = { publicKey: '0xef7fa2775201d5e1f5101efde47666dbfc1263000898b2ccb39302b5f57b0cf5', signature: '0x0c36ff2062572a18a4ac9452b0530737d655c4cb0a688c5219a8f2b40a94ef1e', descriptor: '0x010000', + extraParams: '0x', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x1b', type: '0x2', @@ -577,6 +605,7 @@ export const mainnetBlockHydrated = { publicKey: '0x27e5b0cdb7348293f5deacfb04ae58a846bf98f175a10eb24739e972012365e5', signature: '0x3226f6635c7c552345d376494cdfb148e5a055f4ecb0cc478de88ff8786ea6d8', descriptor: '0x010000', + extraParams: '0x', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x1c', type: '0x2', @@ -597,6 +626,7 @@ export const mainnetBlockHydrated = { publicKey: '0x04702957442572f72da0ae712be49cc269bb8f2974b340a7df77394d4ca8e853', signature: '0x20cee42bc08f88c23a9a1ebe77475786f1f3459a3d14a783caa38e4484066d39', descriptor: '0x010000', + extraParams: '0x', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x1d', type: '0x2', @@ -617,6 +647,7 @@ export const mainnetBlockHydrated = { publicKey: '0x2ce125ff66ac8118b1f129c2588ab2ea350a8c63c5b66fdfdc95a0910f92ab1c', signature: '0x317975d171208e5d462074dd336c22f95b81cce40e9689f9f4df9249327335bb', descriptor: '0x010000', + extraParams: '0x', to: 'Q85c4209f7965d36742291f9222bd2cdb104df75c', transactionIndex: '0x1e', type: '0x2', @@ -637,6 +668,7 @@ export const mainnetBlockHydrated = { publicKey: '0xc4935d7c1a6ea5a50d1c66a75518c30b60646f6bfd1891aef7d58f0fab97353a', signature: '0x03a60cb1ceb8d9a92e170cbf290c99a9b97492b471f33f92e0cdcf7299e9f33f', descriptor: '0x010000', + extraParams: '0x', to: 'Q29d0b29472432459eeb43003876bc3124334cdc5', transactionIndex: '0x1f', type: '0x2', @@ -657,6 +689,7 @@ export const mainnetBlockHydrated = { publicKey: '0x58746264bcce9d42ce4d35a4677aa1adddc9996e9be421dbaa99f3d2a20aa391', signature: '0x334e4d5cea9d1860d914e7796cf68f97677c87772b3885e0f93f7a4379abafdd', descriptor: '0x010000', + extraParams: '0x', to: 'Q0bc529c00c6401aef6d220be8c6ea1667f6ad93e', transactionIndex: '0x20', type: '0x2', @@ -677,6 +710,7 @@ export const mainnetBlockHydrated = { publicKey: '0x59b0898abc04ad8077c95c705e2df2ae6824b40685159f03107f68188ea5361c', signature: '0x4a1e52473086dc9cb96768bdd8b02cc153aa6b0bdd9f08e12c047c176b800ae8', descriptor: '0x010000', + extraParams: '0x', to: 'Q99383ffe2031379e1e829e106e29a785c9f7f498', transactionIndex: '0x21', type: '0x2', @@ -697,6 +731,7 @@ export const mainnetBlockHydrated = { publicKey: '0x41643f403bbe3262d39ee6c1449d33d96bdd1227f2d6967ab193a53f1f0bfc48', signature: '0x31ae8fa9994acb3d17ce5ac4028f139999a674732a0cd9e095d6dea890d0c550', descriptor: '0x010000', + extraParams: '0x', to: 'Q1164c6c18b6de4831305050f5b32e2807e2bfc32', transactionIndex: '0x22', type: '0x2', @@ -717,6 +752,7 @@ export const mainnetBlockHydrated = { publicKey: '0x673b786b4a389f7fb0df5862ab0703e3685ca0081d321b8ac8b8c2ecbf7ee412', signature: '0x6be2172fda36ea57d7c77dcc46de306545d4f3abf96e7db6e24a3c9e44427974', descriptor: '0x010000', + extraParams: '0x', to: 'Qc8898aba27d521c47055ed2c493cbfd6b95a31d4', transactionIndex: '0x23', type: '0x2', @@ -737,6 +773,7 @@ export const mainnetBlockHydrated = { publicKey: '0x93f820e51bbd9cee9f3f1b94fe8f7676d4346fe9eacd549a2d07e434ab807cb6', signature: '0x030da66baf90a7e72379224c0863eb3b4e31cc94b0d86177b91950d644c8f406', descriptor: '0x010000', + extraParams: '0x', to: 'Qc18360217d8f7ab5e7c516566761ea12ce7f9d72', transactionIndex: '0x24', type: '0x2', @@ -757,6 +794,7 @@ export const mainnetBlockHydrated = { publicKey: '0xee36304a0224b72a556eb71ff13d8cc1d3bdf6d864c6ee0ab0e9b832d556185f', signature: '0x50e293db57ca81487fc0f896665b4e9d5802a15c24fa0dce5803e1e663a84c10', descriptor: '0x010000', + extraParams: '0x', to: 'Q69f1918cf0661b1b8dce3aa2137e4659d8493e79', transactionIndex: '0x25', type: '0x2', @@ -777,6 +815,7 @@ export const mainnetBlockHydrated = { publicKey: '0x0a45e7222c8203898f7f894dfa7ade58603a8d7d4332697d37ac69a7a027cd75', signature: '0x06ff5b1b6e1fce12a9ff1f52acaa153fcf89d4fb6ee4e6afcbbc146630707c40', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x26', type: '0x2', @@ -797,6 +836,7 @@ export const mainnetBlockHydrated = { publicKey: '0x4b287ee6e4333f64742044706f5c8c00e6e60d7501682c1314cb5211b8c8bf4e', signature: '0x37f5eaba2b575d587d019257d29b5bc097705571aa6280526a9007c2ae8aece1', descriptor: '0x010000', + extraParams: '0x', to: 'Q8412abafccf6f5756684f14e0aabd23834af7789', transactionIndex: '0x27', type: '0x2', @@ -817,6 +857,7 @@ export const mainnetBlockHydrated = { publicKey: '0x6faa89b9d6e984f3df4d9c1fefd468f54099081ae3aa06de5fc80a9251ccdb55', signature: '0x293017e31f66be92bdfd04c3302a0c2ed173751ceec4fd14b9c4ef64656f8c62', descriptor: '0x010000', + extraParams: '0x', to: 'Q6de037ef9ad2725eb40118bb1702ebb27e4aeb24', transactionIndex: '0x28', type: '0x2', @@ -837,6 +878,7 @@ export const mainnetBlockHydrated = { publicKey: '0x883dbc540ae0a26dabcc4463651a74b8d2782a590e0bf0de731df0572429b928', signature: '0x207fd537c0809bbc87d42cf79f08f7f73795c7ae21ef01c79479485519a415fa', descriptor: '0x010000', + extraParams: '0x', to: 'Qfed930b2dbbc52996b2e107f1396d82256f41c41', transactionIndex: '0x29', type: '0x2', @@ -857,6 +899,7 @@ export const mainnetBlockHydrated = { publicKey: '0x78a34604e863d7e6467d40f21d161d99794bcf9424b95d5bc6f942c6d2e7d5f4', signature: '0x3d4a493c0aba95406299f7afbf026ca87e9c21fd9d864d16884ee777979c54c5', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x2a', type: '0x2', @@ -877,6 +920,7 @@ export const mainnetBlockHydrated = { publicKey: '0x7cbc768027ad0dee1b9d3d31f2d2d9f95c116c24ec80efc69fda640fcac35705', signature: '0x6d0cf162a13339f2caf1a4f323671a88684ddd29d7a8fb554e45abb00599fea4', descriptor: '0x010000', + extraParams: '0x', to: 'Qb64ef51c888972c908cfacf59b47c1afbc0ab8ac', transactionIndex: '0x2b', type: '0x2', @@ -897,6 +941,7 @@ export const mainnetBlockHydrated = { publicKey: '0x27451446f19d4db1ec9a7523ba550878049af134e6e91bb4cfc706bab8ac9df0', signature: '0x2924823e0512b4ac49c5eb479231ad53d15459f4a78309d7c669bab355e27086', descriptor: '0x010000', + extraParams: '0x', to: 'Q8bb27f2b2240f2ee95648a216bda95e7d7ad59a9', transactionIndex: '0x2c', type: '0x2', @@ -917,6 +962,7 @@ export const mainnetBlockHydrated = { publicKey: '0x58e964390fae81b120e526d35bdafca451d00d77f72cabcadaa63b2141ec3eb0', signature: '0x2fdc669bc14bc9903b59ac152858f082f534624a501f2f0009dd0a956918be0d', descriptor: '0x010000', + extraParams: '0x', to: 'Qba11d00c5f74255f56a5e366f4f77f5a186d7f55', transactionIndex: '0x2d', type: '0x2', @@ -937,6 +983,7 @@ export const mainnetBlockHydrated = { publicKey: '0x3a36d0faf9eb3c59ca4e7bbed74a3491b5fd2d05c17c34fa02d84cee2071c7b2', signature: '0x64bdeda9880342582fab87c9b05e98823fa49bb8dfbd772dc2a246fc863b7bc6', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x2e', type: '0x2', @@ -957,6 +1004,7 @@ export const mainnetBlockHydrated = { publicKey: '0x6e69d854012faf58c3ade90b0953359b8d8f3f7619960e9fc6a745be6afad0cc', signature: '0x74473994719dd6c24c8d850b1dabcd7a8a993217c16d542ed7f4a1ec34a8906e', descriptor: '0x010000', + extraParams: '0x', to: 'Q655da9d1fdba5d7cbe0738f71022918ad75144f8', transactionIndex: '0x2f', type: '0x2', @@ -977,6 +1025,7 @@ export const mainnetBlockHydrated = { publicKey: '0xafbb17abe38e32f14f34cfa09f93876fddfe80b07f2bc54b27cf5ff6093e3bf2', signature: '0x553821eca4f13c424737eac999b1a7997295252802abe049884554766202fc68', descriptor: '0x010000', + extraParams: '0x', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x30', type: '0x2', @@ -997,6 +1046,7 @@ export const mainnetBlockHydrated = { publicKey: '0x5da32c14819244d81966203f8ece7d4330dfc90d43237b769679b89e308ef01d', signature: '0x0bb911307432a6dd7acc0155a43f398a66865e941202c8f37fa31f87a7be5748', descriptor: '0x010000', + extraParams: '0x', to: 'Qe66b31678d6c16e9ebf358268a790b763c133750', transactionIndex: '0x31', type: '0x2', @@ -1017,6 +1067,7 @@ export const mainnetBlockHydrated = { publicKey: '0x526cda6518d213796112450510e637aab66ca0e7cf37e17ba16c95b05e799bb6', signature: '0x24e98f8aae7e8393654d1c5d6ca56d07776bba3985d930fc13753729a8b53fff', descriptor: '0x010000', + extraParams: '0x', to: 'Q0b38210ea11411557c13457d4da7dc6ea731b88a', transactionIndex: '0x32', type: '0x2', @@ -1037,6 +1088,7 @@ export const mainnetBlockHydrated = { publicKey: '0x60a123cc67d102617f60161435641e16dcaea9dde4c80fc1a1c4b3324f8c57f2', signature: '0x4dfb246eebc7ca04821a922fca1177f453462a2ae8803e33e87285fbd5f8eb9d', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x33', type: '0x2', @@ -1057,6 +1109,7 @@ export const mainnetBlockHydrated = { publicKey: '0xed0cc2008fa60ceef899c73967869cabfe3ca8aaaa9abf6c94fa0c7f211fd82b', signature: '0x6644f22c84aedc9f50595a80c99641db7ed63487cef46bc98324f214b1ac1088', descriptor: '0x010000', + extraParams: '0x', to: 'Q3593d125a4f7849a1b059e64f4517a86dd60c95d', transactionIndex: '0x34', type: '0x2', @@ -1077,6 +1130,7 @@ export const mainnetBlockHydrated = { publicKey: '0xf9f8024c8a5a8d315e8a0ccf510e8547d62c69b9636919f377ee842232859567', signature: '0x5390ff89bea1d8b8266a335008feec1c358b4bd1becf0dffde1786ccdc31201a', descriptor: '0x010000', + extraParams: '0x', to: 'Qf229c5f132d805bc540347f4f09cae4beb1ce2fc', transactionIndex: '0x35', type: '0x2', @@ -1097,6 +1151,7 @@ export const mainnetBlockHydrated = { publicKey: '0x7ef2595e0b05eb9a2780638182a91cf79fa9a4176f9664c429812813729fca60', signature: '0x46cb312550a3e0f046798aff756ab0ac2517a1e44272e2928351d0ecc2192359', descriptor: '0x010000', + extraParams: '0x', to: 'Qd5e7c8051bb55471e65c77735246037b88887794', transactionIndex: '0x36', type: '0x2', @@ -1117,6 +1172,7 @@ export const mainnetBlockHydrated = { publicKey: '0x014efa044805a0b57331d02fdc260ed97eddd05a65671ca559349f0740c02f5d', signature: '0x5acb03bf01c45c1d54cc92048c16cfb0c1502e37977351dfeffab81516b3d530', descriptor: '0x010000', + extraParams: '0x', to: 'Q7959c8788c426988cb5dc3d7d164458af8ffc1d6', transactionIndex: '0x37', type: '0x2', @@ -1137,6 +1193,7 @@ export const mainnetBlockHydrated = { publicKey: '0x26586b1e9ee91d0d5a1a67c115e3ef25af632bd04f669dabd629cc2ff73b7bad', signature: '0x5a5f39c4da031bff3bc027f717750ca4aee70a2fcba228fd3cf89a15eb1208e0', descriptor: '0x010000', + extraParams: '0x', to: 'Qe0b27a0f1bae4128dd35cd1cd9591e2c9e25c14e', transactionIndex: '0x38', type: '0x2', @@ -1157,6 +1214,7 @@ export const mainnetBlockHydrated = { publicKey: '0x06a9fade08677d36f80060a150829cf89b6a5d93a6bd49125ed445c06e8a2070', signature: '0x71caad84e2b4ad5abf4f0e7819a0c75b78d82cec724bc00f9871c6cff20cc1ee', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x39', type: '0x2', @@ -1177,6 +1235,7 @@ export const mainnetBlockHydrated = { publicKey: '0x71ed70b9d1c74ae1ad4feb6b4df85667ffdb140cd33598a671ce6132b4705023', signature: '0x522d3672a3ccd0d19a9219b07cfa50330016c40eb6747a3b0d01d429de6b9162', descriptor: '0x010000', + extraParams: '0x', to: 'Q53d583a2e9d318f770355a502730e074a77704a5', transactionIndex: '0x3a', type: '0x2', @@ -1197,6 +1256,7 @@ export const mainnetBlockHydrated = { publicKey: '0x79abe4e602462702a701e8e8dafb766b49e1d0b5090f7d07067e8712d0fc1d79', signature: '0x68fae44682a2c1eb0f4c61013f26716b3146e0874b46ca5f3956c882d577c3a0', descriptor: '0x010000', + extraParams: '0x', to: 'Q6a53202a46f1d598bb3e1bd75e76325be9e85a62', transactionIndex: '0x3b', type: '0x2', @@ -1217,6 +1277,7 @@ export const mainnetBlockHydrated = { publicKey: '0xdccc9185a0dabffd612a8e3e7965e7e3e1827ea11375eeca23fa17f0e313f092', signature: '0x242f817d6ac64b27ce324d57167990b12050ce197d875b7a77407dfaee1fe34a', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x3c', type: '0x2', @@ -1237,6 +1298,7 @@ export const mainnetBlockHydrated = { publicKey: '0xd42ab7d5efa8e62fc0aeb51c5f9b674f936d282c31f601fe51bc4cb00d958f59', signature: '0x04b83091ca937fc4f64b29c36406d4fed6b47f6c247ca86b5c0b4b3eec3110bd', descriptor: '0x010000', + extraParams: '0x', to: 'Q0bc529c00c6401aef6d220be8c6ea1667f6ad93e', transactionIndex: '0x3d', type: '0x2', @@ -1257,6 +1319,7 @@ export const mainnetBlockHydrated = { publicKey: '0xc30f5f8b8d05b1a5c3b74669ff383d2588fa86c0f35d5066e2815b144a61199d', signature: '0x16b0c495b6cf1d01675d907a480460a57e715da42365140dba84cd035629a213', descriptor: '0x010000', + extraParams: '0x', to: 'Qa294cca691e4c83b1fc0c8d63d9a3eef0a196de1', transactionIndex: '0x3e', type: '0x2', @@ -1277,6 +1340,7 @@ export const mainnetBlockHydrated = { publicKey: '0x3d047d1e1b05d563adc9206ffa9c210d01018ec50bf674c50783a6428347bc9b', signature: '0x3063c3dc89bba20743758230f5015d30926c7da5ecaa150bd969d8fc80d1981c', descriptor: '0x010000', + extraParams: '0x', to: 'Q0f5d2fb29fb7d3cfee444a200298f468908cc942', transactionIndex: '0x3f', type: '0x2', @@ -1294,6 +1358,7 @@ export const mainnetBlockHydrated = { publicKey: '0xdc70f934495c5a38a3e2418e0d075223094a899dea70cf95f10f1c5facbb772b', signature: '0x063b2d0f20585b959447460b5daa22c5bd0696c074ded4d31d4078b0dcae653a', descriptor: '0x010000', + extraParams: '0x', to: 'Q6d1ea4bd89865bbd8c675261585ae566dcda9d53', transactionIndex: '0x40', type: '0x2', @@ -1314,6 +1379,7 @@ export const mainnetBlockHydrated = { publicKey: '0xd96426125d5a851dccec746787824af395da54613e62f1a5d53ce45754c2d00a', signature: '0x7a089b28b3426eb5624136e3fb7c7336eabf8d3a7b4f10f11cd1d3c86bea8967', descriptor: '0x010000', + extraParams: '0x', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x41', type: '0x2', @@ -1331,6 +1397,7 @@ export const mainnetBlockHydrated = { publicKey: '0x6364548a5358fd5fd6a6d7693261455e859e9e6e12bc1571d67e894992c31836', signature: '0x377afabdffa95ce2f6b7738a9663500e128046be8f7ff08cf53e1a7fa54f9f13', descriptor: '0x010000', + extraParams: '0x', to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x42', type: '0x2', @@ -1351,6 +1418,7 @@ export const mainnetBlockHydrated = { publicKey: '0xd3a28cbf01498f92e51523725981c11a34f07b11ac6a7ef89de5ce17e4b868d5', signature: '0x779ba46af5a72f75f32fda1d33f9f7bd8330e75dada67021deb98b72785820f8', descriptor: '0x010000', + extraParams: '0x', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x43', type: '0x2', @@ -1371,6 +1439,7 @@ export const mainnetBlockHydrated = { publicKey: '0x958ac379821e137003d336592f95d3d095e2fc38b02de6284bd4a3958fbe0f84', signature: '0x1c654cd5b76f2e9ab14e2f1b13d7c9b80a05176667e13ed741b77bb6605d445c', descriptor: '0x010000', + extraParams: '0x', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x44', type: '0x2', @@ -1391,6 +1460,7 @@ export const mainnetBlockHydrated = { publicKey: '0x5bfb19d897e19784d61a740277f615f275a80e32252d643860ade726d304feee', signature: '0x6d43017d363606b8a2cdf87f79c4becc33358b9cb8da6cc472470bfce3cee39d', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x45', type: '0x2', @@ -1411,6 +1481,7 @@ export const mainnetBlockHydrated = { publicKey: '0x73c8c63f06b84cc19a11072e7a94b969625a0d11057268cba1cb7c464b3ca61b', signature: '0x6e8f89b8254a2ca4af5b97fd25d331c6aaf334872dc7b3af13982ebaeedd9576', descriptor: '0x010000', + extraParams: '0x', to: 'Qbe8d2aea314be080df55bc01d79e98259bec836e', transactionIndex: '0x46', type: '0x2', @@ -1431,6 +1502,7 @@ export const mainnetBlockHydrated = { publicKey: '0x471c79d7bcb68cfe81aca71eaca7fc70a90dfcb9ca8669687266add051625b44', signature: '0x4e284dab507e32122c3fbc9f46801f3790af234597bc420f063e1f4f3e76bb83', descriptor: '0x010000', + extraParams: '0x', to: 'Q908edc7e1974ecab1ca7164424bc4cac287d83ad', transactionIndex: '0x47', type: '0x2', @@ -1451,6 +1523,7 @@ export const mainnetBlockHydrated = { publicKey: '0x8cf782f3d4aa7d417fcd9b0c9347b4f7539db2cff70b07ccd35974cc1e1c0acb', signature: '0x56d09c40b55fcdd1d62fa826aca514daa096571286ac77dcf05f00734dde69f8', descriptor: '0x010000', + extraParams: '0x', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x48', type: '0x2', @@ -1471,6 +1544,7 @@ export const mainnetBlockHydrated = { publicKey: '0x7527fd3053f801b20b55ae53a479a4fa15ce6fc6fe85f8f651995f65921d2c0a', signature: '0x7cfbe3d717d5e8db13d0a72c30e6716a81ae3f79dd209b9fda4a10c38f43a0fd', descriptor: '0x010000', + extraParams: '0x', to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x49', type: '0x2', @@ -1491,6 +1565,7 @@ export const mainnetBlockHydrated = { publicKey: '0xe8c011f8dffc52c797faa8deac946b39ffca8bf3ab44126a40bb506f1cf02386', signature: '0x5313b99bfba1bad60fe829b008341fbd8269cea4d4fb5843ac7f4b1d130088f6', descriptor: '0x010000', + extraParams: '0x', to: 'Q5f5cf9f5eb0e1dbb2b9ec771e015575d2e80eb6e', transactionIndex: '0x4a', type: '0x2', @@ -1511,6 +1586,7 @@ export const mainnetBlockHydrated = { publicKey: '0xb73372f12b0891276107875cbf41880a5d908b33cfa4e7951f193de4876c16b5', signature: '0x058df26ec5a80b5b8796524849e637c97bb08e9168f5f86b68eafad64b1b4f5d', descriptor: '0x010000', + extraParams: '0x', to: 'Qa1f7c9c6d19e2d0bf20729cb0bf03338a90bed9b', transactionIndex: '0x4b', type: '0x2', @@ -1531,6 +1607,7 @@ export const mainnetBlockHydrated = { publicKey: '0xbf67e3864f000307e7af8acbbfc7961a3fd0b6b1372eb29d42de824a161068b8', signature: '0x018ddbd9adc27937567010cb339711b2730e534f81e34744e989489246c3a01a', descriptor: '0x010000', + extraParams: '0x', to: 'Q585e94276ead330002fa0c51f3952be45404e1e8', transactionIndex: '0x4c', type: '0x2', @@ -1551,6 +1628,7 @@ export const mainnetBlockHydrated = { publicKey: '0x759cf933d5eaa4ae2424d1b0a3f738e6426f46aae34fbfb728fcc5d44bad86d4', signature: '0x48ba7d2d59c11b2924f4c5cec339a13f2e488a30167db2d5f5e0e66c9dcd4f45', descriptor: '0x010000', + extraParams: '0x', to: 'Q88c5f536d1514800dfd328d1e8dc2d8f3b4d60e4', transactionIndex: '0x4d', type: '0x2', @@ -1571,6 +1649,7 @@ export const mainnetBlockHydrated = { publicKey: '0xe52632ff849af71f4d046b96682c9dbb1ce0991c424db42d45b013275f8ae538', signature: '0x09bbb3a4b6135e7b48116ebfaeb37c92fbfadf5a5ba590e11e4cc96095110326', descriptor: '0x010000', + extraParams: '0x', to: 'Q72cd4e3777e0df0a53a991f55fe816329d9f7c21', transactionIndex: '0x4e', type: '0x2', @@ -1591,6 +1670,7 @@ export const mainnetBlockHydrated = { publicKey: '0x41f1b4ea4b9948a5bdd2e92f0f51922c450c6fa334d9fce39d27207799d1c2dc', signature: '0x2f09fd651476778e7eb470b5c1b1f5987690b09c4140b95b601b0f89d37cfe95', descriptor: '0x010000', + extraParams: '0x', to: 'Q5eca6ce07dc82e150f23a988d2f6b29631ae2dbc', transactionIndex: '0x4f', type: '0x2', @@ -1608,9 +1688,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0xabbb0e178', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x33c48', - publicKey: '0x56198513035d28dd33b6f52996425678e19068c5aa465426b217e317ed060ccd', - signature: '0x34774b646c8d2767ceb4ae3eed4d1c4a7ffabb76a3abd516500dbd3ad92574a1', descriptor: '0x010000', + extraParams: '0x', + signature: '0x34774b646c8d2767ceb4ae3eed4d1c4a7ffabb76a3abd516500dbd3ad92574a1', + publicKey: '0x56198513035d28dd33b6f52996425678e19068c5aa465426b217e317ed060ccd', to: 'Q6bc39906da272535c3cda74aada15366c44badd0', transactionIndex: '0x50', type: '0x2', @@ -1628,9 +1709,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5b122c283', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x290', - publicKey: '0x0ffb80eb321c5882261b75971226c4ea3280e4e7f13b699ac3655b1a918ceb92', - signature: '0x12b0f3cdf17d32f848d129e17af8a6fb1ed15fbdd089bccb9c119b4ddbc16c56', descriptor: '0x010000', + extraParams: '0x', + signature: '0x12b0f3cdf17d32f848d129e17af8a6fb1ed15fbdd089bccb9c119b4ddbc16c56', + publicKey: '0x0ffb80eb321c5882261b75971226c4ea3280e4e7f13b699ac3655b1a918ceb92', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x51', type: '0x2', @@ -1648,9 +1730,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6b5cedf1e', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x1b09f', - publicKey: '0x7e01f3f231b2d8a9fb7e56043e21e8896ce19fbeb33517d407427d87631e7655', - signature: '0x16f1192dd60fd55c7f917ba2a9fd6e7241f9330e795d08a4a38881145f3107a4', descriptor: '0x010000', + extraParams: '0x', + signature: '0x16f1192dd60fd55c7f917ba2a9fd6e7241f9330e795d08a4a38881145f3107a4', + publicKey: '0x7e01f3f231b2d8a9fb7e56043e21e8896ce19fbeb33517d407427d87631e7655', to: 'Q98e3f1be8e0609ac8a7681f23e15b696f8e8204d', transactionIndex: '0x52', type: '0x2', @@ -1668,9 +1751,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0xa9b736ffb', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x42474', - publicKey: '0x915fabc6157bd8cd9a68c1014f8b732ba10e45933c47132b6d8d2ed13ca7a3f2', - signature: '0x4f83e6070627d7255faf3ff9bd831a78f7704b2155263edfeec7008eff435ba9', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4f83e6070627d7255faf3ff9bd831a78f7704b2155263edfeec7008eff435ba9', + publicKey: '0x915fabc6157bd8cd9a68c1014f8b732ba10e45933c47132b6d8d2ed13ca7a3f2', to: 'Qedcb80a23f36923377ca239aecb6e582ef6362c7', transactionIndex: '0x53', type: '0x2', @@ -1688,9 +1772,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x45d964b800', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x10a90', - publicKey: '0x0eb75546ed9b0a261b663e095c7f93f10bdc8900a2cf9fb0a1cb4afb0e40a966', - signature: '0x76961fa9c1f5c5054339c79950581cc8b32c5fe15e9730ac2af740cddc9b2d98', descriptor: '0x010000', + extraParams: '0x', + signature: '0x76961fa9c1f5c5054339c79950581cc8b32c5fe15e9730ac2af740cddc9b2d98', + publicKey: '0x0eb75546ed9b0a261b663e095c7f93f10bdc8900a2cf9fb0a1cb4afb0e40a966', to: 'Qd44f54bd8cacb0bbf5f568be436f3ebb5204022e', transactionIndex: '0x54', type: '0x2', @@ -1708,9 +1793,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0xb7f54b003', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x186', - publicKey: '0x300c8ab86d498fa6ca5368659b988ca063d6795c0708ebd6797c7932d10671ef', - signature: '0x4cf593213a0c878c0ee7faad552d0c5916162a5a2d2a64c335b75f6194ca9403', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4cf593213a0c878c0ee7faad552d0c5916162a5a2d2a64c335b75f6194ca9403', + publicKey: '0x300c8ab86d498fa6ca5368659b988ca063d6795c0708ebd6797c7932d10671ef', to: 'Q7a250d5630b4cf539739df2c5dacb4c659f2488d', transactionIndex: '0x55', type: '0x2', @@ -1728,9 +1814,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x63ce38e90', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x2', - publicKey: '0xa453f3a177d595a27298500aa7e77787bc20907c9b00f30826c998ee7c1dff85', - signature: '0x7369e5b46c440dfad01acefe6f26c5b708b19210b52d31af4be4d73b262b1d3f', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7369e5b46c440dfad01acefe6f26c5b708b19210b52d31af4be4d73b262b1d3f', + publicKey: '0xa453f3a177d595a27298500aa7e77787bc20907c9b00f30826c998ee7c1dff85', to: 'Qd37bbe5744d730a1d98d8dc97c42f0ca46ad7146', transactionIndex: '0x56', type: '0x2', @@ -1748,9 +1835,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0xa9b736ffb', maxPriorityFeePerGas: '0x3b9aca00', nonce: '0x42475', - publicKey: '0xfd42464897da80d7e801c323400d9fd9023320a8b3d4f0567793443d8348f4ab', - signature: '0x40e14c1cc01cb5170ab3f0a1add8b2b2d65b7da65e29480d3c87df1ee67c3d77', descriptor: '0x010000', + extraParams: '0x', + signature: '0x40e14c1cc01cb5170ab3f0a1add8b2b2d65b7da65e29480d3c87df1ee67c3d77', + publicKey: '0xfd42464897da80d7e801c323400d9fd9023320a8b3d4f0567793443d8348f4ab', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x57', type: '0x2', @@ -1768,9 +1856,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0xefa4ff21e', maxPriorityFeePerGas: '0x3473bc00', nonce: '0xe555', - publicKey: '0xeb2632aa69af6c352644493291a00b9ed63fc8eb439b138bf9dd298bc5ff2545', - signature: '0x405b026b89862bc6b824067d2c6a6e1ae354ab735d1dc3b47c159d6449fd3a22', descriptor: '0x010000', + extraParams: '0x', + signature: '0x405b026b89862bc6b824067d2c6a6e1ae354ab735d1dc3b47c159d6449fd3a22', + publicKey: '0xeb2632aa69af6c352644493291a00b9ed63fc8eb439b138bf9dd298bc5ff2545', to: 'Q34b41725cf934866a4b89d65395f15af2cb9ae89', transactionIndex: '0x58', type: '0x2', @@ -1785,9 +1874,10 @@ export const mainnetBlockHydrated = { hash: '0xf062f350fcb7ceb7eda9cb8265e9a5922249ceddcb1a40b67ba1af43bb5c8597', input: '0x', nonce: '0xc89e2', - publicKey: '0x49b22ad44cbe9b0775944b6153021b501f2bb5a4aacf9a10ee8da7df87ccdfcb', - signature: '0x0dee73e0614bdfdb0e5d2e6b30d4d2f53a96be5f1421bb9d903e814989790ed6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0dee73e0614bdfdb0e5d2e6b30d4d2f53a96be5f1421bb9d903e814989790ed6', + publicKey: '0x49b22ad44cbe9b0775944b6153021b501f2bb5a4aacf9a10ee8da7df87ccdfcb', to: 'Q2c3113d1a6433d6c88ae92888346cf7f23fcb171', transactionIndex: '0x59', type: '0x2', @@ -1802,9 +1892,10 @@ export const mainnetBlockHydrated = { hash: '0x76a287becd9daa920e1d26b9ee1843d03ce6df36b5434076738b90c323ba3a82', input: '0xa9059cbb0000000000000000000000002c20b005df1d28e09d35b2d2b683779faa3e06cf0000000000000000000000000000000000000000000000000000000005fb7191', nonce: '0x97e97', - publicKey: '0x316288aa6f36438a65c22bd08bfcc8a6ac6f038e17f5b704b0ef00d770fbe83f', - signature: '0x2263c2789374197fde54cd758502ca6b2b58de839d0be37a3ef2537b415329d2', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2263c2789374197fde54cd758502ca6b2b58de839d0be37a3ef2537b415329d2', + publicKey: '0x316288aa6f36438a65c22bd08bfcc8a6ac6f038e17f5b704b0ef00d770fbe83f', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5a', type: '0x2', @@ -1822,9 +1913,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x4a817c800', maxPriorityFeePerGas: '0x59682f00', nonce: '0x7', - publicKey: '0xf3d9a7ab2185b2d61daa3e9b5aa4536817f94f496509a849ea882fb716c58f87', - signature: '0x6633d928531f98b3f501f137a52bf139918608181de3957efc41238b60b6fdb6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6633d928531f98b3f501f137a52bf139918608181de3957efc41238b60b6fdb6', + publicKey: '0xf3d9a7ab2185b2d61daa3e9b5aa4536817f94f496509a849ea882fb716c58f87', to: 'Qec5f4829854d1f0478b5b7a1c6f7dc50c4545fc0', transactionIndex: '0x5b', type: '0x2', @@ -1839,9 +1931,10 @@ export const mainnetBlockHydrated = { hash: '0x0d7b43abc4b92337b064b74f7e2ff87c337cf0a5690a54dac34f2edf555d0733', input: '0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', nonce: '0x2ee', - publicKey: '0x932266958a75019c8b5b922453b1a17acd707cc942d51fc9f569aeb256f44b82', - signature: '0x2378e8c4aa7059f894ff3dc7ac65108d6649c75d347ac99de96997486a931bcd', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2378e8c4aa7059f894ff3dc7ac65108d6649c75d347ac99de96997486a931bcd', + publicKey: '0x932266958a75019c8b5b922453b1a17acd707cc942d51fc9f569aeb256f44b82', to: 'Qee8253a7c009fad5fe047af648d29586c24d56d3', transactionIndex: '0x5c', type: '0x2', @@ -1856,9 +1949,10 @@ export const mainnetBlockHydrated = { hash: '0x6d9cf19ee0ca152ae9c5634caae877ab6011a70ee330225d9546589d74b3e087', input: '0xa9059cbb000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1000000000000000000000000000000000000000000000000000000001bb75640', nonce: '0x0', - publicKey: '0x2e518bb0c931b43e236d7c56ed2526fd9b0842a8add6ece75acc76380237a762', - signature: '0x2b411dd4544bd94c7dce7f65c4dc0eef761568f12cb56a9da80a847545d6ac55', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2b411dd4544bd94c7dce7f65c4dc0eef761568f12cb56a9da80a847545d6ac55', + publicKey: '0x2e518bb0c931b43e236d7c56ed2526fd9b0842a8add6ece75acc76380237a762', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5d', type: '0x2', @@ -1873,9 +1967,10 @@ export const mainnetBlockHydrated = { hash: '0x1fef29d91355611b129ff67f970f6d1da96104df0310bd3b72237367723757d8', input: '0xa9059cbb000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1000000000000000000000000000000000000000000000000000000019b45a500', nonce: '0x29', - publicKey: '0x486be4009aab14d1968cc4f6ea0f60bf2e60333737051ec4c16be637ad9f92be', - signature: '0x3fdaee939cae609f0d789d54d5bf5ab5edbfbf927a83bd4e5f5376b9898cb594', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3fdaee939cae609f0d789d54d5bf5ab5edbfbf927a83bd4e5f5376b9898cb594', + publicKey: '0x486be4009aab14d1968cc4f6ea0f60bf2e60333737051ec4c16be637ad9f92be', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5e', type: '0x2', @@ -1890,9 +1985,10 @@ export const mainnetBlockHydrated = { hash: '0xa1ad417520e8fc7d9c8d480e98b929487614daac0c8864879182dfad732054ef', input: '0xa9059cbb000000000000000000000000b8001c3ec9aa1985f6c747e25c28324e4a361ec1000000000000000000000000000000000000000000000000000000003b9aca00', nonce: '0x0', - publicKey: '0x50e569b6a8052f1a7f8c142dcb5e9a6f0b0a9bc008020551cb095c413b8cd0d1', - signature: '0x5e8e22aea92826c27fc90b46d5f104b95ec52613d3352efa56af8023eed21cd0', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5e8e22aea92826c27fc90b46d5f104b95ec52613d3352efa56af8023eed21cd0', + publicKey: '0x50e569b6a8052f1a7f8c142dcb5e9a6f0b0a9bc008020551cb095c413b8cd0d1', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x5f', type: '0x2', @@ -1910,9 +2006,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x60cc725d8', maxPriorityFeePerGas: '0x22c92df5', nonce: '0x20a8', - publicKey: '0x28ba948112aa8cee0b471ca955055a4825f6f563ea34d36a9da0e6e146a2c433', - signature: '0x03b1bb8df287aab578a3dd40f302faeb043ac5e5c2f34b22ab9e0d27e73b11b1', descriptor: '0x010000', + extraParams: '0x', + signature: '0x03b1bb8df287aab578a3dd40f302faeb043ac5e5c2f34b22ab9e0d27e73b11b1', + publicKey: '0x28ba948112aa8cee0b471ca955055a4825f6f563ea34d36a9da0e6e146a2c433', to: 'Q1111111254eeb25477b68fb85ed929f73a960582', transactionIndex: '0x60', type: '0x2', @@ -1930,9 +2027,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x979be1ff0', maxPriorityFeePerGas: '0x1dcd6500', nonce: '0x6', - publicKey: '0xd9d01006b01c45425b865e62f65c7c8cddc2816681ccbb29a08ec5287b49ea43', - signature: '0x7127820875586008d07fafecdbd55103e102d921d203c095e9992efd51cef753', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7127820875586008d07fafecdbd55103e102d921d203c095e9992efd51cef753', + publicKey: '0xd9d01006b01c45425b865e62f65c7c8cddc2816681ccbb29a08ec5287b49ea43', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x61', type: '0x2', @@ -1950,9 +2048,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5057e4dc0', maxPriorityFeePerGas: '0x1dcd6500', nonce: '0x5', - publicKey: '0xb58385ce65a6a3cb5669f5f1ab1f6f2256ecfa7518ec314ec41eb98bc0837e60', - signature: '0x29ea698c40672c0dbd004d705439542f22791af7a1c1e37dcbe83b56b9e7c9be', descriptor: '0x010000', + extraParams: '0x', + signature: '0x29ea698c40672c0dbd004d705439542f22791af7a1c1e37dcbe83b56b9e7c9be', + publicKey: '0xb58385ce65a6a3cb5669f5f1ab1f6f2256ecfa7518ec314ec41eb98bc0837e60', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x62', type: '0x2', @@ -1970,9 +2069,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x9474decf6', maxPriorityFeePerGas: '0x1dcd6500', nonce: '0x13', - publicKey: '0xb43ba165e5311936a02abdd5ce68b320deaa86957455f2b81493e7814266ea34', - signature: '0x4e607d1700fec1e31441aa8b1f5c6b0df6604dea4e2008503bece4fc892f82ba', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4e607d1700fec1e31441aa8b1f5c6b0df6604dea4e2008503bece4fc892f82ba', + publicKey: '0xb43ba165e5311936a02abdd5ce68b320deaa86957455f2b81493e7814266ea34', to: 'Q599f79493f478a8899c9e0b9ce986030e40b8192', transactionIndex: '0x63', type: '0x2', @@ -1990,9 +2090,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x491f600d5', maxPriorityFeePerGas: '0x491f600d5', nonce: '0x14', - publicKey: '0xc529468d6f5ac6d3a93472c2342c571a7e173217fb2545fbe84d9698965b87dd', - signature: '0x4f2bbee0e0b09d3030df61f434611ca2c7c6fcbd3a2172a0f787a1e3bee3bb40', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4f2bbee0e0b09d3030df61f434611ca2c7c6fcbd3a2172a0f787a1e3bee3bb40', + publicKey: '0xc529468d6f5ac6d3a93472c2342c571a7e173217fb2545fbe84d9698965b87dd', to: 'Qabea9132b05a70803a4e85094fd0e1800777fbef', transactionIndex: '0x64', type: '0x2', @@ -2010,9 +2111,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x4e3b29200', maxPriorityFeePerGas: '0x1d008cdf', nonce: '0x2', - publicKey: '0x7a738a0fd33a5d35321d30e38e983c559b4959da75b4047b6a24a7b39aad42a3', - signature: '0x133773f7173e767f09f91abbc05c0189ea2b4523f4a0be0ba0cb608fa1bb2ecc', descriptor: '0x010000', + extraParams: '0x', + signature: '0x133773f7173e767f09f91abbc05c0189ea2b4523f4a0be0ba0cb608fa1bb2ecc', + publicKey: '0x7a738a0fd33a5d35321d30e38e983c559b4959da75b4047b6a24a7b39aad42a3', to: 'Q98bc423fbfd9935ab439c70eaa2f503d193b8827', transactionIndex: '0x65', type: '0x2', @@ -2030,9 +2132,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x7527ba338', maxPriorityFeePerGas: '0x11e1a300', nonce: '0x2311', - publicKey: '0x4d9cd6af35da7055ec9f7666a8775974617c78416497d26b607a4e00e6e24df0', - signature: '0x0473e36c9a23e1f51baf6e937153de71c26c04be9d2d3086941ad041afb53160', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0473e36c9a23e1f51baf6e937153de71c26c04be9d2d3086941ad041afb53160', + publicKey: '0x4d9cd6af35da7055ec9f7666a8775974617c78416497d26b607a4e00e6e24df0', to: 'Qc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', transactionIndex: '0x66', type: '0x2', @@ -2050,9 +2153,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x83a687cfb', maxPriorityFeePerGas: '0x11e1a300', nonce: '0x78', - publicKey: '0xffe855a41faa47c558849944f960e16ec0b51b50d7232588df35649a53d3c8d2', - signature: '0x780adf86a100a512bcb52d4d5b7942a0c2ffca51f888f606b0ff57da3182af65', descriptor: '0x010000', + extraParams: '0x', + signature: '0x780adf86a100a512bcb52d4d5b7942a0c2ffca51f888f606b0ff57da3182af65', + publicKey: '0xffe855a41faa47c558849944f960e16ec0b51b50d7232588df35649a53d3c8d2', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x67', type: '0x2', @@ -2070,9 +2174,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x7cf9f675e', maxPriorityFeePerGas: '0x11e1a300', nonce: '0x14', - publicKey: '0x5913f6ba1e292387d9edbd31c42cea5781ef507a54f5f0ff9b24d9e51324ae1b', - signature: '0x0062fb9c767a87c8bc796bf3d813d8a078f6a4a1c34edb566910d0c5b853d16a', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0062fb9c767a87c8bc796bf3d813d8a078f6a4a1c34edb566910d0c5b853d16a', + publicKey: '0x5913f6ba1e292387d9edbd31c42cea5781ef507a54f5f0ff9b24d9e51324ae1b', to: 'Q32400084c286cf3e17e7b677ea9583e60a000324', transactionIndex: '0x68', type: '0x2', @@ -2087,9 +2192,10 @@ export const mainnetBlockHydrated = { hash: '0x0853356e276a49527201727e5e994403d7071fd8c20c4fe3513be09eb26422da', input: '0x', nonce: '0x4f', - publicKey: '0x6e20c681c7547f14baa4b1d4433abdaaa06f8df72dd0266e81f0d5748e71f7cf', - signature: '0x4a388342be339075192c0f59bd1cde4e18adf73cf794fc74fd04c00b7d465eef', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4a388342be339075192c0f59bd1cde4e18adf73cf794fc74fd04c00b7d465eef', + publicKey: '0x6e20c681c7547f14baa4b1d4433abdaaa06f8df72dd0266e81f0d5748e71f7cf', to: 'Q974caa59e49682cda0ad2bbe82983419a2ecc400', transactionIndex: '0x69', type: '0x2', @@ -2107,9 +2213,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x897d11e3c', maxPriorityFeePerGas: '0xf946946', nonce: '0x18ada3', - publicKey: '0x41d5426a523b9e1045201a5145cd78109077cc1fc2f9d5882f6b58d5f691a3b1', - signature: '0x2a79396d96f9c362f0dd287b9fdfd6f39367a8964b3b96895a3f9737b1f67b80', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2a79396d96f9c362f0dd287b9fdfd6f39367a8964b3b96895a3f9737b1f67b80', + publicKey: '0x41d5426a523b9e1045201a5145cd78109077cc1fc2f9d5882f6b58d5f691a3b1', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6a', type: '0x2', @@ -2127,9 +2234,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x897d11e3c', maxPriorityFeePerGas: '0xf946946', nonce: '0x18ada4', - publicKey: '0x13cbb4f6a61b5bdcb4950e324769b71a02eb937594c8aa09769b27f0d88594e9', - signature: '0x261f42e105031f0b934b7253f3886c1e89e698443f33244429195ee5a7f07746', descriptor: '0x010000', + extraParams: '0x', + signature: '0x261f42e105031f0b934b7253f3886c1e89e698443f33244429195ee5a7f07746', + publicKey: '0x13cbb4f6a61b5bdcb4950e324769b71a02eb937594c8aa09769b27f0d88594e9', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6b', type: '0x2', @@ -2147,9 +2255,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x9ada766d0', maxPriorityFeePerGas: '0x14904840', nonce: '0x18ada5', - publicKey: '0x052804f66111beebc748bcd7926ebe9d4b6a9d0a793656213b15c33415eb4112', - signature: '0x6e27a106d4b2d72152ceb54be11b71538539fc8c58101722bc91da558d8d8858', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6e27a106d4b2d72152ceb54be11b71538539fc8c58101722bc91da558d8d8858', + publicKey: '0x052804f66111beebc748bcd7926ebe9d4b6a9d0a793656213b15c33415eb4112', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6c', type: '0x2', @@ -2167,9 +2276,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x9ada766d0', maxPriorityFeePerGas: '0x14904840', nonce: '0x18ada6', - publicKey: '0x1162bd0ef817cd7729fa1bf0ebef928242f0a63ddf13de691cb9d930c250107c', - signature: '0x4486854997407eab272e2af97e6a7515ea40f5ff7d21710b413c6526c5052bd6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4486854997407eab272e2af97e6a7515ea40f5ff7d21710b413c6526c5052bd6', + publicKey: '0x1162bd0ef817cd7729fa1bf0ebef928242f0a63ddf13de691cb9d930c250107c', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6d', type: '0x2', @@ -2187,9 +2297,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x92b229fca', maxPriorityFeePerGas: '0x11eaac44', nonce: '0x18ada7', - publicKey: '0x4fe0a6957957717c5ad46c067e30a0902e445cb77f908a033dbd79b98b9888d6', - signature: '0x392ce598e7c79cb36da56f19ec951194cc1d8941c53664dbabf14c9e3fa5d11e', descriptor: '0x010000', + extraParams: '0x', + signature: '0x392ce598e7c79cb36da56f19ec951194cc1d8941c53664dbabf14c9e3fa5d11e', + publicKey: '0x4fe0a6957957717c5ad46c067e30a0902e445cb77f908a033dbd79b98b9888d6', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6e', type: '0x2', @@ -2207,9 +2318,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x92b229fca', maxPriorityFeePerGas: '0x11eaac44', nonce: '0x18ada8', - publicKey: '0x650a4b34cdcd4631c7829a32a134a4c4fddda05d6ce3740febc8b65181fcaf0a', - signature: '0x5704562d0e2b28f1513637b6162897b6f9b0b7b5127642970fd053f761d178d7', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5704562d0e2b28f1513637b6162897b6f9b0b7b5127642970fd053f761d178d7', + publicKey: '0x650a4b34cdcd4631c7829a32a134a4c4fddda05d6ce3740febc8b65181fcaf0a', to: 'Qffa397285ce46fb78c588a9e993286aac68c37cd', transactionIndex: '0x6f', type: '0x2', @@ -2227,9 +2339,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x91d3fadf6', maxPriorityFeePerGas: '0xee6b280', nonce: '0x3', - publicKey: '0x15bc32bb35846cd316ea4b2ef352cbde5c4db3e90118a155f7d6d9d56ac42047', - signature: '0x332c8e70d2d73246da61880965b6a8e18e2a49029d5c9f44d70a757a40632347', descriptor: '0x010000', + extraParams: '0x', + signature: '0x332c8e70d2d73246da61880965b6a8e18e2a49029d5c9f44d70a757a40632347', + publicKey: '0x15bc32bb35846cd316ea4b2ef352cbde5c4db3e90118a155f7d6d9d56ac42047', to: 'Qae0ee0a63a2ce6baeeffe56e7714fb4efe48d419', transactionIndex: '0x70', type: '0x2', @@ -2247,9 +2360,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x57339f031', maxPriorityFeePerGas: '0xd1cef00', nonce: '0xc', - publicKey: '0x4f09c205bc80daf565372757b4dea13e8f38b49f6d61f59e59dc244e2237e9f3', - signature: '0x09856fc5ff01fe8b4f8771d78e7d3793db60b112cbb01fa113dced14f6d8d587', descriptor: '0x010000', + extraParams: '0x', + signature: '0x09856fc5ff01fe8b4f8771d78e7d3793db60b112cbb01fa113dced14f6d8d587', + publicKey: '0x4f09c205bc80daf565372757b4dea13e8f38b49f6d61f59e59dc244e2237e9f3', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0x71', type: '0x2', @@ -2267,9 +2381,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x17c', - publicKey: '0xef833814a5f922ffb7809d56150f90cfc1ce6d151c7620447ff9e8670b10193e', - signature: '0x236c8b6eedb771851d6d7de5a93f6ecf039250754e169f1caee2a45687b253d9', descriptor: '0x010000', + extraParams: '0x', + signature: '0x236c8b6eedb771851d6d7de5a93f6ecf039250754e169f1caee2a45687b253d9', + publicKey: '0xef833814a5f922ffb7809d56150f90cfc1ce6d151c7620447ff9e8670b10193e', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x72', type: '0x2', @@ -2287,9 +2402,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x3e', - publicKey: '0x6b04df15be2426dca5090d73052f6eb01d4b495d869ebff7da8f85298cb5868c', - signature: '0x2f25a9a6120c3b912ccad0d7ce8eedda62ef4e7bc82fc5557a06f74ed1c27582', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2f25a9a6120c3b912ccad0d7ce8eedda62ef4e7bc82fc5557a06f74ed1c27582', + publicKey: '0x6b04df15be2426dca5090d73052f6eb01d4b495d869ebff7da8f85298cb5868c', to: 'Q1f9840a85d5af5bf1d1762f925bdaddc4201f984', transactionIndex: '0x73', type: '0x2', @@ -2307,9 +2423,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2', - publicKey: '0xc09606be9f624ec8f63206c830e3f769e7af2bb6084f63961a786996e408d252', - signature: '0x1953afb0eb09319d8aca73c6afc537db8965a79a8751e398c2627ccf70e79737', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1953afb0eb09319d8aca73c6afc537db8965a79a8751e398c2627ccf70e79737', + publicKey: '0xc09606be9f624ec8f63206c830e3f769e7af2bb6084f63961a786996e408d252', to: 'Q7ab9889cf7f17ab6303d2992c874bc583f125a2e', transactionIndex: '0x74', type: '0x2', @@ -2327,9 +2444,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x29f', - publicKey: '0xc6422e0c8c19d97517db3a0e4e791ea556c8fc1a1eaa5fe4548b06df398d8cad', - signature: '0x1da6feebf8207e3c861173dd64f96e636ca0681383fae3953ef5bd9885b3e9ec', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1da6feebf8207e3c861173dd64f96e636ca0681383fae3953ef5bd9885b3e9ec', + publicKey: '0xc6422e0c8c19d97517db3a0e4e791ea556c8fc1a1eaa5fe4548b06df398d8cad', to: 'Qd44078705456c4f4517a659953f5296e5328f8b8', transactionIndex: '0x75', type: '0x2', @@ -2347,9 +2465,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x6a8', - publicKey: '0x560aa95ec05030c84f9edb33ffa6a64f14e95c7edf902b9762c8393e424ee8d4', - signature: '0x4fdf9270b586f36d185097e54832e318f1f1e2dbdec3a5b70b678c6c98374387', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4fdf9270b586f36d185097e54832e318f1f1e2dbdec3a5b70b678c6c98374387', + publicKey: '0x560aa95ec05030c84f9edb33ffa6a64f14e95c7edf902b9762c8393e424ee8d4', to: 'Q0000000000a39bb272e79075ade125fd351887ac', transactionIndex: '0x76', type: '0x2', @@ -2367,9 +2486,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x39', - publicKey: '0xd41571e5da0691205d0ac01a2752e6ebd93adb2ab3ee49fc8eca982a5a59eb34', - signature: '0x1ef672723869b506f46d903606f702b642a499958642962e358cc3633488dde5', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1ef672723869b506f46d903606f702b642a499958642962e358cc3633488dde5', + publicKey: '0xd41571e5da0691205d0ac01a2752e6ebd93adb2ab3ee49fc8eca982a5a59eb34', to: 'Qc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', transactionIndex: '0x77', type: '0x2', @@ -2387,9 +2507,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xe44', - publicKey: '0xf65542a721d9f35f30d90288e4e416fed7c107a802adc0d626d732937e3beb42', - signature: '0x0cbb23391c0657b540dd143d84d54430d05accf1391a192dce9d4971b165becd', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0cbb23391c0657b540dd143d84d54430d05accf1391a192dce9d4971b165becd', + publicKey: '0xf65542a721d9f35f30d90288e4e416fed7c107a802adc0d626d732937e3beb42', to: 'Q2969fed452f73ea8a87ca427e27b13a40fc390ee', transactionIndex: '0x78', type: '0x2', @@ -2407,9 +2528,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x39', - publicKey: '0x6ebc6fa0e15b11f8b528105d10e0a5036d80a65b5492ad55c15682e096bfb62c', - signature: '0x742cc33888a16df24ed65b2e6c29df694a2ada7e217b2f350ba01598ac641430', descriptor: '0x010000', + extraParams: '0x', + signature: '0x742cc33888a16df24ed65b2e6c29df694a2ada7e217b2f350ba01598ac641430', + publicKey: '0x6ebc6fa0e15b11f8b528105d10e0a5036d80a65b5492ad55c15682e096bfb62c', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x79', type: '0x2', @@ -2427,9 +2549,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c2f99757', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xb', - publicKey: '0xaa5a9f7a4e46e240de1a97541c078bdec6c38d01385a12c7417a43a9535879ab', - signature: '0x0f9668132ff0306a7713e6d6caa3f37d2b24208cb1574d72707e3cc7d0786531', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0f9668132ff0306a7713e6d6caa3f37d2b24208cb1574d72707e3cc7d0786531', + publicKey: '0xaa5a9f7a4e46e240de1a97541c078bdec6c38d01385a12c7417a43a9535879ab', to: 'Q52a494dbf47107cc0c624ee10703abecaf586776', transactionIndex: '0x7a', type: '0x2', @@ -2447,9 +2570,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xb80', - publicKey: '0xf6675a6518006fec1f26f7b84c188c7d59d8f41f9c289cf7805733be3c36078a', - signature: '0x5996c346dfa0606e2a9982990428f1da60bb5af13cb3ff213530061533fd6f84', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5996c346dfa0606e2a9982990428f1da60bb5af13cb3ff213530061533fd6f84', + publicKey: '0xf6675a6518006fec1f26f7b84c188c7d59d8f41f9c289cf7805733be3c36078a', to: 'Q32b30adef7c9dcb888d97f7b743db457e67f2142', transactionIndex: '0x7b', type: '0x2', @@ -2467,9 +2591,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x33', - publicKey: '0x25181587b27718980f719f401a5f6013cd6925827d16c2ad44be78edd2235590', - signature: '0x601f289cfde285f95add07c1c6248a3257f08683ed100d58cb2816edc5619e91', descriptor: '0x010000', + extraParams: '0x', + signature: '0x601f289cfde285f95add07c1c6248a3257f08683ed100d58cb2816edc5619e91', + publicKey: '0x25181587b27718980f719f401a5f6013cd6925827d16c2ad44be78edd2235590', to: 'Q090185f2135308bad17527004364ebcc2d37e5f6', transactionIndex: '0x7c', type: '0x2', @@ -2487,9 +2612,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x8', - publicKey: '0x8b5040ac315a9c89b115670c17f8535b9598e5bc87342a7f5c3071aa637c793d', - signature: '0x77d5b8dfcb4f235dd14f1cee059c49e7d8218c7190782a969912c68172f1ab25', descriptor: '0x010000', + extraParams: '0x', + signature: '0x77d5b8dfcb4f235dd14f1cee059c49e7d8218c7190782a969912c68172f1ab25', + publicKey: '0x8b5040ac315a9c89b115670c17f8535b9598e5bc87342a7f5c3071aa637c793d', to: 'Q4623900e6d0495cca743665dce8fd815b0433e5b', transactionIndex: '0x7d', type: '0x2', @@ -2507,9 +2633,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xfb', - publicKey: '0xe679055f660c0595492297288a7e9503f489383c7a74849d849a125b153fc770', - signature: '0x4aafb347706a36f9be7196c27531f8c43b2d07c0a51af60da89532a33f37e22e', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4aafb347706a36f9be7196c27531f8c43b2d07c0a51af60da89532a33f37e22e', + publicKey: '0xe679055f660c0595492297288a7e9503f489383c7a74849d849a125b153fc770', to: 'Q39ee2c7b3cb80254225884ca001f57118c8f21b6', transactionIndex: '0x7e', type: '0x2', @@ -2527,9 +2654,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x1a', - publicKey: '0xf347daef28fd1489cf97fb24456ac33928ff5138d8f607957d0001e341d37f33', - signature: '0x3a14d4de05e89b99eb732b60ba9aa187bd71898ac7e941ed370efbb8e49b2021', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3a14d4de05e89b99eb732b60ba9aa187bd71898ac7e941ed370efbb8e49b2021', + publicKey: '0xf347daef28fd1489cf97fb24456ac33928ff5138d8f607957d0001e341d37f33', to: 'Q5fdcca53617f4d2b9134b29090c87d01058e27e9', transactionIndex: '0x7f', type: '0x2', @@ -2547,9 +2675,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x64', - publicKey: '0xbfe992343bd6b9596ab42bc31ee97e82f4bf9c80c63c67ca0cc96b708c3cd032', - signature: '0x4bc0740e037b12397c1611036fbff0c71179edc73db0f9089d6f8e886b1214ca', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4bc0740e037b12397c1611036fbff0c71179edc73db0f9089d6f8e886b1214ca', + publicKey: '0xbfe992343bd6b9596ab42bc31ee97e82f4bf9c80c63c67ca0cc96b708c3cd032', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x80', type: '0x2', @@ -2567,9 +2696,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2', - publicKey: '0xbd79bee27f16a4031e0e63d950fdce905c6252022690654106987e87b7307dde', - signature: '0x13a1b7292f7bd63906e40c7545fc3dece31bba4423b475e5c113109e1996a532', descriptor: '0x010000', + extraParams: '0x', + signature: '0x13a1b7292f7bd63906e40c7545fc3dece31bba4423b475e5c113109e1996a532', + publicKey: '0xbd79bee27f16a4031e0e63d950fdce905c6252022690654106987e87b7307dde', to: 'Q881d40237659c251811cec9c364ef91dc08d300c', transactionIndex: '0x81', type: '0x2', @@ -2587,9 +2717,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x133f0', - publicKey: '0x7ab0c2b5c6dc410da3f42d236a3d94c7da6c12c182465c26fa0c17b430e6c956', - signature: '0x6618d10da00ede136502805d6375a2596085183a79fe6e508024d9cf3d2c3550', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6618d10da00ede136502805d6375a2596085183a79fe6e508024d9cf3d2c3550', + publicKey: '0x7ab0c2b5c6dc410da3f42d236a3d94c7da6c12c182465c26fa0c17b430e6c956', to: 'Qdef171fe48cf0115b1d80b88dc8eab59176fee57', transactionIndex: '0x82', type: '0x2', @@ -2607,9 +2738,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x6', - publicKey: '0xd4c34b8c853fc0ec5a5e6684de1b416439162be033d48b3d01abd294005b6c9f', - signature: '0x6fbb55f270eb517a4eddc48c57f912188b7d95ec7803df7f943486022a5cfea7', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6fbb55f270eb517a4eddc48c57f912188b7d95ec7803df7f943486022a5cfea7', + publicKey: '0xd4c34b8c853fc0ec5a5e6684de1b416439162be033d48b3d01abd294005b6c9f', to: 'Qab22705c4adae6503edfc3077b2884ea1761b7db', transactionIndex: '0x83', type: '0x2', @@ -2627,9 +2759,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x67cf7f4cd', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x7b', - publicKey: '0x171001f29b776d199fbba9586b240043d587102d654a8b9e9e5f06131dd89a60', - signature: '0x152d296ccb9c487edb05e4276c2796414c5a8929c7f127a3d08d09fb3e8219e6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x152d296ccb9c487edb05e4276c2796414c5a8929c7f127a3d08d09fb3e8219e6', + publicKey: '0x171001f29b776d199fbba9586b240043d587102d654a8b9e9e5f06131dd89a60', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x84', type: '0x2', @@ -2647,9 +2780,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x0', - publicKey: '0x12e091f6e84b915b7c343453731b4ac8a8225aab24f57fae2e37b0fdc9eb7625', - signature: '0x3f14a8cf96eaafc238eaff987ee29e462b790d83ff7aeeb65c0635d82f94f8ca', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3f14a8cf96eaafc238eaff987ee29e462b790d83ff7aeeb65c0635d82f94f8ca', + publicKey: '0x12e091f6e84b915b7c343453731b4ac8a8225aab24f57fae2e37b0fdc9eb7625', to: 'Qc4448b71118c9071bcb9734a0eac55d18a153949', transactionIndex: '0x85', type: '0x2', @@ -2667,9 +2801,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x6', - publicKey: '0xe28a0a218e0699a8c592d5468c915ec4088659ce637c0969533bd8a32f00deca', - signature: '0x401ef72021a21de34b623e75fb01293d335e6f0ebf4389eba6b1a38076e74d9a', descriptor: '0x010000', + extraParams: '0x', + signature: '0x401ef72021a21de34b623e75fb01293d335e6f0ebf4389eba6b1a38076e74d9a', + publicKey: '0xe28a0a218e0699a8c592d5468c915ec4088659ce637c0969533bd8a32f00deca', to: 'Q13f4ea83d0bd40e75c8222255bc855a974568dd4', transactionIndex: '0x86', type: '0x2', @@ -2687,9 +2822,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x6f', - publicKey: '0xfa9298dfdecc4b63821071e864c0cca273ff63f0d8ad3bcdfd03dc9883d7d905', - signature: '0x0d234fb1b27f627e25edded27bacff2946b348c29e5c89f268a405765a7ff65f', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0d234fb1b27f627e25edded27bacff2946b348c29e5c89f268a405765a7ff65f', + publicKey: '0xfa9298dfdecc4b63821071e864c0cca273ff63f0d8ad3bcdfd03dc9883d7d905', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x87', type: '0x2', @@ -2707,9 +2843,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x94', - publicKey: '0x089406d0133a909552145bb4b3b9088117aa3fc80fba3d91e760a649c2529a3d', - signature: '0x5ba6c1e240821b42d1faa648e9324421a51053e5c06659a2a727d196f6ec9b8e', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5ba6c1e240821b42d1faa648e9324421a51053e5c06659a2a727d196f6ec9b8e', + publicKey: '0x089406d0133a909552145bb4b3b9088117aa3fc80fba3d91e760a649c2529a3d', to: 'Qe42cad6fc883877a76a26a16ed92444ab177e306', transactionIndex: '0x88', type: '0x2', @@ -2727,9 +2864,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x12', - publicKey: '0xe844d08332e69f6dd257146dee8d95648c43056b5163ac81eca2f5773b9c3852', - signature: '0x04dd4396702a1dc05e74ca5e5cd39b506d991d0f5dced3fc3bc3c0d5080325d7', descriptor: '0x010000', + extraParams: '0x', + signature: '0x04dd4396702a1dc05e74ca5e5cd39b506d991d0f5dced3fc3bc3c0d5080325d7', + publicKey: '0xe844d08332e69f6dd257146dee8d95648c43056b5163ac81eca2f5773b9c3852', to: 'Q3c19a291b31f92ef45b847a89fe5d21acfacc632', transactionIndex: '0x89', type: '0x2', @@ -2747,9 +2885,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xb', - publicKey: '0xf472e0c5841a33dd6b12f27e3a0280f41beb8807d57b21166d4cf4049a8e523b', - signature: '0x6c9ffdb00da3b3afae3b7a197eec25eb71ef0fec9a77b2b21ba1e5e537fb5326', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6c9ffdb00da3b3afae3b7a197eec25eb71ef0fec9a77b2b21ba1e5e537fb5326', + publicKey: '0xf472e0c5841a33dd6b12f27e3a0280f41beb8807d57b21166d4cf4049a8e523b', to: 'Qd1420af453fd7bf940573431d416cace7ff8280c', transactionIndex: '0x8a', type: '0x2', @@ -2767,9 +2906,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x45e', - publicKey: '0xf48152acd401687a6273974d723be29405c3ad5001f0330f2967d87e88685120', - signature: '0x70d0ecf89b9d2b8351e6ccd728034add7a9ffdbe1ffa70a20862e1c30a2941ac', descriptor: '0x010000', + extraParams: '0x', + signature: '0x70d0ecf89b9d2b8351e6ccd728034add7a9ffdbe1ffa70a20862e1c30a2941ac', + publicKey: '0xf48152acd401687a6273974d723be29405c3ad5001f0330f2967d87e88685120', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x8b', type: '0x2', @@ -2787,9 +2927,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xc8', - publicKey: '0x39287564d388296ef932ad463ef6be1d3cd70e421c3db343f2622f814e848eba', - signature: '0x6b0e433c0f0577aca309ddcc2144d28da94a9033fa3fa10846195dc3a602afa3', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6b0e433c0f0577aca309ddcc2144d28da94a9033fa3fa10846195dc3a602afa3', + publicKey: '0x39287564d388296ef932ad463ef6be1d3cd70e421c3db343f2622f814e848eba', to: 'Q22769f975be0632bccc29392a66bcdd353246f74', transactionIndex: '0x8c', type: '0x2', @@ -2807,9 +2948,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x0', - publicKey: '0xc6d1fe1d09c919751d1938a970e92553bd0ce6fdbc5a257607b22fcddf2792f5', - signature: '0x16f43b2fbf8d7a5e555d56707e3b8cd91b7a4fa29d046da608c07ebd5f437f40', descriptor: '0x010000', + extraParams: '0x', + signature: '0x16f43b2fbf8d7a5e555d56707e3b8cd91b7a4fa29d046da608c07ebd5f437f40', + publicKey: '0xc6d1fe1d09c919751d1938a970e92553bd0ce6fdbc5a257607b22fcddf2792f5', to: 'Q06450dee7fd2fb8e39061434babcfc05599a6fb8', transactionIndex: '0x8d', type: '0x2', @@ -2827,9 +2969,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2', - publicKey: '0xd2d2622af6f8847b9d4cae57e2432e51186f916ad83fca7e596b862c1d3b779a', - signature: '0x5c1a52734132e091d26f17eb9f28d2379b2b19b67b0d0f763e269374acb852fe', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5c1a52734132e091d26f17eb9f28d2379b2b19b67b0d0f763e269374acb852fe', + publicKey: '0xd2d2622af6f8847b9d4cae57e2432e51186f916ad83fca7e596b862c1d3b779a', to: 'Qc5b1f58cea87704cc87510320d8390964b6fe88c', transactionIndex: '0x8e', type: '0x2', @@ -2847,9 +2990,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xb', - publicKey: '0x307eb7a3dc0fcdcea16fe4cf43e3be64ae57ee1700b95712d065a771bf5b135a', - signature: '0x134b00a67f5d7188ed38752373ce88f4e81226b2fbd514cca6c418d94e8e46df', descriptor: '0x010000', + extraParams: '0x', + signature: '0x134b00a67f5d7188ed38752373ce88f4e81226b2fbd514cca6c418d94e8e46df', + publicKey: '0x307eb7a3dc0fcdcea16fe4cf43e3be64ae57ee1700b95712d065a771bf5b135a', to: 'Qb584d4be1a5470ca1a8778e9b86c81e165204599', transactionIndex: '0x8f', type: '0x2', @@ -2867,9 +3011,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x1', - publicKey: '0x156cb4ab98cba596713e343fd3ab2f8a90203f8cd7d316bd375d111895f92ae1', - signature: '0x2117eff2c33ae5e1103367254bb32efb37abeec4cf598dfddd663c1cb0c2fd32', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2117eff2c33ae5e1103367254bb32efb37abeec4cf598dfddd663c1cb0c2fd32', + publicKey: '0x156cb4ab98cba596713e343fd3ab2f8a90203f8cd7d316bd375d111895f92ae1', to: 'Q68b3465833fb72a70ecdf485e0e4c7bd8665fc45', transactionIndex: '0x90', type: '0x2', @@ -2887,9 +3032,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xa2', - publicKey: '0xd1d608c88b68bd71672371bdfe112966a15d6244cceed691388e836a0e6c5259', - signature: '0x2e6d9e638035e9e493f0edbd874205e1d1d4c4d7a8d0d826e98e7e1dc92b5c83', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2e6d9e638035e9e493f0edbd874205e1d1d4c4d7a8d0d826e98e7e1dc92b5c83', + publicKey: '0xd1d608c88b68bd71672371bdfe112966a15d6244cceed691388e836a0e6c5259', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x91', type: '0x2', @@ -2907,9 +3053,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x6a', - publicKey: '0x128e7fe55747469b4be913e4706a22b206f994208b64aabc39d3825606c00555', - signature: '0x185f45cb1c7c6d16f30ffaabd347b5b2cfe7c2c0f17f4e48b3e9a6654a132ce6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x185f45cb1c7c6d16f30ffaabd347b5b2cfe7c2c0f17f4e48b3e9a6654a132ce6', + publicKey: '0x128e7fe55747469b4be913e4706a22b206f994208b64aabc39d3825606c00555', to: 'Q2791b93591de3fad825e41bd593c53481f407f82', transactionIndex: '0x92', type: '0x2', @@ -2927,9 +3074,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2', - publicKey: '0x69d4b620c6a3d91efadbc9b3e3d8be839e226d0636eca2b3b472a07404d22630', - signature: '0x1dd6083f4de1ab299ea3afb89aca0fbe749bf4654f0b1595caf2dd36ee49cb8f', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1dd6083f4de1ab299ea3afb89aca0fbe749bf4654f0b1595caf2dd36ee49cb8f', + publicKey: '0x69d4b620c6a3d91efadbc9b3e3d8be839e226d0636eca2b3b472a07404d22630', to: 'Q9d281056b1591889c481b48c9ada12afbaedb758', transactionIndex: '0x93', type: '0x2', @@ -2947,9 +3095,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x3a', - publicKey: '0xe14680f20870065765c3c1e48dba3ff8fefb013b84a98a9eb0bfd11e8b535d45', - signature: '0x5ac7f29ac66342e710db290258958d7f9dabfc475cf71e2ec01a92cf91e0b47d', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5ac7f29ac66342e710db290258958d7f9dabfc475cf71e2ec01a92cf91e0b47d', + publicKey: '0xe14680f20870065765c3c1e48dba3ff8fefb013b84a98a9eb0bfd11e8b535d45', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x94', type: '0x2', @@ -2967,9 +3116,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x4e1', - publicKey: '0xc83c53992ea82dc9ca2b48702930f9e296fcf84c6cddc12dd36f5cb36f771143', - signature: '0x52e4d4b69c01b5a39874c92c78ccddbd47afc5b8b72cc6053c88b6ac1985b555', descriptor: '0x010000', + extraParams: '0x', + signature: '0x52e4d4b69c01b5a39874c92c78ccddbd47afc5b8b72cc6053c88b6ac1985b555', + publicKey: '0xc83c53992ea82dc9ca2b48702930f9e296fcf84c6cddc12dd36f5cb36f771143', to: 'Q5b235e2844eab73c073a54f6928b7f8358e51e32', transactionIndex: '0x95', type: '0x2', @@ -2987,9 +3137,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x7', - publicKey: '0x3f518ed2dbd15a13948873b15a61e35a685a2819d330c17a6c896fb577887f92', - signature: '0x209ab4820a10c06cfc24ae4dc64fe98106eece4bf69c5ef0c26ee6524f1b88d8', descriptor: '0x010000', + extraParams: '0x', + signature: '0x209ab4820a10c06cfc24ae4dc64fe98106eece4bf69c5ef0c26ee6524f1b88d8', + publicKey: '0x3f518ed2dbd15a13948873b15a61e35a685a2819d330c17a6c896fb577887f92', to: 'Q036b16b5067a1c0c6923c9526bf76fb125619a9d', transactionIndex: '0x96', type: '0x2', @@ -3007,9 +3158,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62bb2392d', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x32', - publicKey: '0xfb775bca5c6dc8f9920b24e4108bb822cd272a68e46c22ca9599d234a309e572', - signature: '0x6a9a15cac84e1b5f1cc71130261b746317ef68066b46806e783324ada7583854', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6a9a15cac84e1b5f1cc71130261b746317ef68066b46806e783324ada7583854', + publicKey: '0xfb775bca5c6dc8f9920b24e4108bb822cd272a68e46c22ca9599d234a309e572', to: 'Q6131b5fae19ea4f9d964eac0408e4408b66337b5', transactionIndex: '0x97', type: '0x2', @@ -3027,9 +3179,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xda', - publicKey: '0x7755f3a5db7f2d6c3bbfca52413d7231f949b00cad3ca483f570d7da82d2b58a', - signature: '0x7f7853211ea73c04bdd968bab6856533ad10b6aef7c972796ed816ec817f3f44', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7f7853211ea73c04bdd968bab6856533ad10b6aef7c972796ed816ec817f3f44', + publicKey: '0x7755f3a5db7f2d6c3bbfca52413d7231f949b00cad3ca483f570d7da82d2b58a', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x98', type: '0x2', @@ -3047,9 +3200,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x7', - publicKey: '0xdd2f51f56265814170f0f1829001633009f61a04a79158242ba614804a60f925', - signature: '0x24e18bddb2120817f0a86f22a729a249ad74f88f846c86dd616e9c57d1f7c3f6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x24e18bddb2120817f0a86f22a729a249ad74f88f846c86dd616e9c57d1f7c3f6', + publicKey: '0xdd2f51f56265814170f0f1829001633009f61a04a79158242ba614804a60f925', to: 'Qa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', transactionIndex: '0x99', type: '0x2', @@ -3067,9 +3221,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x204', - publicKey: '0xce97b3a6b4fb2bda791367c6566290d8ee38a5d39625ec5260cfb21eb3dbe73f', - signature: '0x2f50aeaced4b502f667f2ca74d6e929a0b4be6350f4090a4364d58c8281a0514', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2f50aeaced4b502f667f2ca74d6e929a0b4be6350f4090a4364d58c8281a0514', + publicKey: '0xce97b3a6b4fb2bda791367c6566290d8ee38a5d39625ec5260cfb21eb3dbe73f', to: 'Q4faab2f1851b58c26028ab7ba2873ff3c7b52d4c', transactionIndex: '0x9a', type: '0x2', @@ -3087,9 +3242,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xbb', - publicKey: '0x49c82cf38ce3a5299818ea25b4e6ecddaf08763b39dc9c280625ee6ef154321c', - signature: '0x0de8fb753fbdffec681cc6803a71f93783a6a1a8f2189870e70db2e6cfe30559', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0de8fb753fbdffec681cc6803a71f93783a6a1a8f2189870e70db2e6cfe30559', + publicKey: '0x49c82cf38ce3a5299818ea25b4e6ecddaf08763b39dc9c280625ee6ef154321c', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0x9b', type: '0x2', @@ -3107,9 +3263,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x0', - publicKey: '0x4e8f50c8c6a483fb296f7c10525d1ae2ccf45cd1156cc6c4a04931fbf89adfc3', - signature: '0x4ad31852b9fc33f8cdd02ac393de63af02542aba2dbf1cc80c5d410c26594356', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4ad31852b9fc33f8cdd02ac393de63af02542aba2dbf1cc80c5d410c26594356', + publicKey: '0x4e8f50c8c6a483fb296f7c10525d1ae2ccf45cd1156cc6c4a04931fbf89adfc3', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0x9c', type: '0x2', @@ -3127,9 +3284,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x39e', - publicKey: '0xe77bef1808fb6fe5657d92b672e75390856cab77a4e3bb6fc8e5651d262f077e', - signature: '0x303f114a56069f8248e68b97a1f567f06c8329658413e66d6a1eca8f331fae29', descriptor: '0x010000', + extraParams: '0x', + signature: '0x303f114a56069f8248e68b97a1f567f06c8329658413e66d6a1eca8f331fae29', + publicKey: '0xe77bef1808fb6fe5657d92b672e75390856cab77a4e3bb6fc8e5651d262f077e', to: 'Q74312363e45dcaba76c59ec49a7aa8a65a67eed3', transactionIndex: '0x9d', type: '0x2', @@ -3160,9 +3318,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x221f', - publicKey: '0xf8b669d3e358375cf0dd8d88497bdf4769b2ce9897468657d91a96b884bdec63', - signature: '0x36236400a44bf6bd812afefa5deaf53450bd3597e57932c019a7e831ac05e224', descriptor: '0x010000', + extraParams: '0x', + signature: '0x36236400a44bf6bd812afefa5deaf53450bd3597e57932c019a7e831ac05e224', + publicKey: '0xf8b669d3e358375cf0dd8d88497bdf4769b2ce9897468657d91a96b884bdec63', to: 'Qd6fca65266adac7a35d679ad53dd3aea1f94b95f', transactionIndex: '0x9e', type: '0x2', @@ -3180,9 +3339,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x48', - publicKey: '0x43e933dbf91ec15bc5918ae2859f34eea3377a27c6c9ae4b03fe54e7d8e68970', - signature: '0x57de9c8cefd00fabf794f6902d9b3fa572e4ef7d89bb963476893cd2a0fb475b', descriptor: '0x010000', + extraParams: '0x', + signature: '0x57de9c8cefd00fabf794f6902d9b3fa572e4ef7d89bb963476893cd2a0fb475b', + publicKey: '0x43e933dbf91ec15bc5918ae2859f34eea3377a27c6c9ae4b03fe54e7d8e68970', to: 'Qc36442b4a4522e871399cd717abdd847ab11fe88', transactionIndex: '0x9f', type: '0x2', @@ -3200,9 +3360,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x55ae82600', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x1d', - publicKey: '0x77f429777d123871ff3684cd1270b395776660622b5418337126c8b25e252e6b', - signature: '0x313052affd142ecc6d29050bea16d93f419c6f03f42a2bf36d05c770b43bab4b', descriptor: '0x010000', + extraParams: '0x', + signature: '0x313052affd142ecc6d29050bea16d93f419c6f03f42a2bf36d05c770b43bab4b', + publicKey: '0x77f429777d123871ff3684cd1270b395776660622b5418337126c8b25e252e6b', to: 'Qa456dbd1bedee6467ef103fc58b079b0f790335d', transactionIndex: '0xa0', type: '0x2', @@ -3220,9 +3381,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x3f', - publicKey: '0x744a97f9d54ffe6b867fb382b4f0aa3424b65d7681d6c21d9e5357686a5c18f3', - signature: '0x44a8ee67be7916293e2e9aa0c739741026bb4d3f8a4b902258548e99b2b14f21', descriptor: '0x010000', + extraParams: '0x', + signature: '0x44a8ee67be7916293e2e9aa0c739741026bb4d3f8a4b902258548e99b2b14f21', + publicKey: '0x744a97f9d54ffe6b867fb382b4f0aa3424b65d7681d6c21d9e5357686a5c18f3', to: 'Qf063fe1ab7a291c5d06a86e14730b00bf24cb589', transactionIndex: '0xa1', type: '0x2', @@ -3240,9 +3402,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x19b5', - publicKey: '0x83d760f376a400bb79c0f72c49d735ded55eaf3052823d309f46b823001d12fd', - signature: '0x58744ee0289fafd6b66b7284defc673650cd37b56802b96a6ed786140fa504a2', descriptor: '0x010000', + extraParams: '0x', + signature: '0x58744ee0289fafd6b66b7284defc673650cd37b56802b96a6ed786140fa504a2', + publicKey: '0x83d760f376a400bb79c0f72c49d735ded55eaf3052823d309f46b823001d12fd', to: 'Q8fe4243374d944921e7e2409763b558e217c7467', transactionIndex: '0xa2', type: '0x2', @@ -3260,9 +3423,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xa1d', - publicKey: '0x9861b090ae2e89e38637a8bad32fe050497210a735651e5289796cb5366f1c15', - signature: '0x014545f75104bc56668f7a4ad21417ea7c75f4b38b3592b7701d232177fe231e', descriptor: '0x010000', + extraParams: '0x', + signature: '0x014545f75104bc56668f7a4ad21417ea7c75f4b38b3592b7701d232177fe231e', + publicKey: '0x9861b090ae2e89e38637a8bad32fe050497210a735651e5289796cb5366f1c15', to: 'Q73d7385bdd6493e88e348b3b6c0b02bcb77779a4', transactionIndex: '0xa3', type: '0x2', @@ -3280,9 +3444,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xdb', - publicKey: '0x69a986ebcab6f5c0f19b849353b3de5e576c866e72577d1ed8a92f3358e4b6a8', - signature: '0x70d0b38161ae8f4098b59b26d6f3fd613cef0fea5c8b08b33d5cff5fa00de22a', descriptor: '0x010000', + extraParams: '0x', + signature: '0x70d0b38161ae8f4098b59b26d6f3fd613cef0fea5c8b08b33d5cff5fa00de22a', + publicKey: '0x69a986ebcab6f5c0f19b849353b3de5e576c866e72577d1ed8a92f3358e4b6a8', to: 'Q5b1085136a811e55b2bb2ca1ea456ba82126a376', transactionIndex: '0xa4', type: '0x2', @@ -3300,9 +3465,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x5', - publicKey: '0x42b676d851eee42c7402532a95e6bd3c19cb6f97f5372110cfa2caa965d8723b', - signature: '0x7106db6691b9bd61e380e5f9b9931e54f94355aa4a93314e1875ecc4059ce445', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7106db6691b9bd61e380e5f9b9931e54f94355aa4a93314e1875ecc4059ce445', + publicKey: '0x42b676d851eee42c7402532a95e6bd3c19cb6f97f5372110cfa2caa965d8723b', to: 'Q06f841244907a2c886f1e292ca19bd0c3e20fe4c', transactionIndex: '0xa5', type: '0x2', @@ -3320,9 +3486,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x11', - publicKey: '0xe913c42b7e398941841f07b7c89b4016000b164e8794f71d66e6caac0493ef4f', - signature: '0x7433145cbf40a5b8c40e79c1ec6b78761ca2fa8e00f8c1d288afad0cac8bb795', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7433145cbf40a5b8c40e79c1ec6b78761ca2fa8e00f8c1d288afad0cac8bb795', + publicKey: '0xe913c42b7e398941841f07b7c89b4016000b164e8794f71d66e6caac0493ef4f', to: 'Qa9cc6d2b54cade299c5a86d959eeb8efc80df773', transactionIndex: '0xa6', type: '0x2', @@ -3340,9 +3507,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x1d', - publicKey: '0xbec77779f6740f8b0cc2b3bf3541136da1011d8e6c9823110696501aa6b4ac65', - signature: '0x5796326ce663e67c69f9d1da51c610c25e4c28fb254344342333c7402386f268', descriptor: '0x010000', + extraParams: '0x', + signature: '0x5796326ce663e67c69f9d1da51c610c25e4c28fb254344342333c7402386f268', + publicKey: '0xbec77779f6740f8b0cc2b3bf3541136da1011d8e6c9823110696501aa6b4ac65', to: 'Q495f947276749ce646f68ac8c248420045cb7b5e', transactionIndex: '0xa7', type: '0x2', @@ -3360,9 +3528,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xb', - publicKey: '0x17eeaea751accb34ab696825afed4cf5852c84836306c73b89cbc4dcec7f2e6d', - signature: '0x040b0bcba55c653c094ed116f2fd453770843b3cdbc6ed861f3a09084cc5149b', descriptor: '0x010000', + extraParams: '0x', + signature: '0x040b0bcba55c653c094ed116f2fd453770843b3cdbc6ed861f3a09084cc5149b', + publicKey: '0x17eeaea751accb34ab696825afed4cf5852c84836306c73b89cbc4dcec7f2e6d', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xa8', type: '0x2', @@ -3380,9 +3549,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x15', - publicKey: '0xdbe15946cfad124c7f3dc5d895e874ccd4431168738359cc4346f0b97ee7fb32', - signature: '0x1ca6cd3b3433aa8051c582e77fc199c7db72cc5e82380d4eabc5b9afb90c9c70', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1ca6cd3b3433aa8051c582e77fc199c7db72cc5e82380d4eabc5b9afb90c9c70', + publicKey: '0xdbe15946cfad124c7f3dc5d895e874ccd4431168738359cc4346f0b97ee7fb32', to: 'Q3666f603cc164936c1b87e207f36beba4ac5f18a', transactionIndex: '0xa9', type: '0x2', @@ -3400,9 +3570,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x7e', - publicKey: '0xa992964c4535a1200cfba38f056d0700fadd5c5e0a8e5b0789a260fd3c669aa2', - signature: '0x618b195d75a3d2a791d0e4b75040408edd888eab7c165e92ab22fb20a9ad0b59', descriptor: '0x010000', + extraParams: '0x', + signature: '0x618b195d75a3d2a791d0e4b75040408edd888eab7c165e92ab22fb20a9ad0b59', + publicKey: '0xa992964c4535a1200cfba38f056d0700fadd5c5e0a8e5b0789a260fd3c669aa2', to: 'Q99c9fc46f92e8a1c0dec1b1747d010903e884be1', transactionIndex: '0xaa', type: '0x2', @@ -3420,9 +3591,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x74', - publicKey: '0xe09dc226594df121c0d40a9652e941282a521edb26ed138e3def76954a990141', - signature: '0x2f7c710c8d3e3dbf9915a1607e223cb0ba78f27be41f89261f7e3b2d1885b089', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2f7c710c8d3e3dbf9915a1607e223cb0ba78f27be41f89261f7e3b2d1885b089', + publicKey: '0xe09dc226594df121c0d40a9652e941282a521edb26ed138e3def76954a990141', to: 'Qba11d00c5f74255f56a5e366f4f77f5a186d7f55', transactionIndex: '0xab', type: '0x2', @@ -3440,9 +3612,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c8520e5a', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x4ea', - publicKey: '0x068326fe3e2ef5f98b8661ac64adc95a38ae966bdeaf3b29f00a82d9ea6d9557', - signature: '0x1f6b5b58f58cb4aa7c2491ec73fbbac5bd357d8fd41cb1602f602c9f60083114', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1f6b5b58f58cb4aa7c2491ec73fbbac5bd357d8fd41cb1602f602c9f60083114', + publicKey: '0x068326fe3e2ef5f98b8661ac64adc95a38ae966bdeaf3b29f00a82d9ea6d9557', to: 'Q5724b5bc7f54a52f4014e5f496ae380f89c881a1', transactionIndex: '0xac', type: '0x2', @@ -3460,9 +3633,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x3b', - publicKey: '0x7c1fec91a460221ac132cbe6f3cc850734e3e825f4391fe25313d2447c3a9724', - signature: '0x3c1881ef1d6d43dafa41cc91572fe3f4526ff1f19007e85e98d4c6df2c16147a', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3c1881ef1d6d43dafa41cc91572fe3f4526ff1f19007e85e98d4c6df2c16147a', + publicKey: '0x7c1fec91a460221ac132cbe6f3cc850734e3e825f4391fe25313d2447c3a9724', to: 'Q626eb7f29d179e0e1e9deb97b3e5938a646616c9', transactionIndex: '0xad', type: '0x2', @@ -3480,9 +3654,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2cf', - publicKey: '0x64fb24029162079701a1163f1957f15aa7bc1160f13450c19d4f7ef69441441b', - signature: '0x4856e9bb26f1c490a9866ed11ee160ea127d80861662b5555aff436ecf889180', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4856e9bb26f1c490a9866ed11ee160ea127d80861662b5555aff436ecf889180', + publicKey: '0x64fb24029162079701a1163f1957f15aa7bc1160f13450c19d4f7ef69441441b', to: 'Q92c93fafc20fe882a448f86e594d9667259c42c8', transactionIndex: '0xae', type: '0x2', @@ -3500,9 +3675,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x15b', - publicKey: '0x90a309abfe52ff76a25c3ab1fc5d38c53eaf9c4f3ef9728c9a88a168dacf365b', - signature: '0x3b1af0c97a0f88c6c4800b29549eff3b757b6145074726ad4c20f29efd2b7ff3', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3b1af0c97a0f88c6c4800b29549eff3b757b6145074726ad4c20f29efd2b7ff3', + publicKey: '0x90a309abfe52ff76a25c3ab1fc5d38c53eaf9c4f3ef9728c9a88a168dacf365b', to: 'Q8967ba97f39334c9e6f8e34b8a3d7556306af568', transactionIndex: '0xaf', type: '0x2', @@ -3520,9 +3696,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2', - publicKey: '0xbcf5af6296d751ce07bae4d289e54c3c9bdbe0629de6d170bce00f546a24cdbe', - signature: '0x7a18cc73b88f984a846a03026e0ba64acf3a0e6d892065cc01a51ccab4a5c76b', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7a18cc73b88f984a846a03026e0ba64acf3a0e6d892065cc01a51ccab4a5c76b', + publicKey: '0xbcf5af6296d751ce07bae4d289e54c3c9bdbe0629de6d170bce00f546a24cdbe', to: 'Q86b050c27d689ba91917377de4a39310e79c2b74', transactionIndex: '0xb0', type: '0x2', @@ -3540,9 +3717,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x4', - publicKey: '0x2b8aa171ca6a259fa65f52c397cc13c5a9fbd2b295402251139ae33a3a28fd24', - signature: '0x3bdf546fa3d5a7c07869a23c90539137322d30cd1ac6614d8566386629b4afa7', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3bdf546fa3d5a7c07869a23c90539137322d30cd1ac6614d8566386629b4afa7', + publicKey: '0x2b8aa171ca6a259fa65f52c397cc13c5a9fbd2b295402251139ae33a3a28fd24', to: 'Qcfcffe432a48db53f59c301422d2edd77b2a88d7', transactionIndex: '0xb1', type: '0x2', @@ -3560,9 +3738,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x28', - publicKey: '0xd4238279c5197a8e85d0bf2f68f7b73fcd25002e5d8b692dc6a7b53521bdf075', - signature: '0x7ed6c80b5bbda6257d52f9b74989880865942dcd324f30f8defc231b1ee5cc2c', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7ed6c80b5bbda6257d52f9b74989880865942dcd324f30f8defc231b1ee5cc2c', + publicKey: '0xd4238279c5197a8e85d0bf2f68f7b73fcd25002e5d8b692dc6a7b53521bdf075', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xb2', type: '0x2', @@ -3580,9 +3759,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x530', - publicKey: '0xaf5eac6b32b9d2d8c4b0273bffa0f32b180c4beed468f92379d56ad407d58138', - signature: '0x620e4931e4c0cd991109e04f223ee4f3fbcf5630fc4945d418dfe9ed3a9561a1', descriptor: '0x010000', + extraParams: '0x', + signature: '0x620e4931e4c0cd991109e04f223ee4f3fbcf5630fc4945d418dfe9ed3a9561a1', + publicKey: '0xaf5eac6b32b9d2d8c4b0273bffa0f32b180c4beed468f92379d56ad407d58138', to: 'Q9c4c49c3c3bd7ab49d91576d0103a25514cad1d6', transactionIndex: '0xb3', type: '0x2', @@ -3600,9 +3780,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x2', - publicKey: '0x7fc9b2ff15c31daa91ea1875de068e4e12a7a7e86a4ad0f281c3f3b2c3c8f2c5', - signature: '0x1650b4c74cd44f7e317837bc36c7b3652312adf404835f60053ed18bddd70af5', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1650b4c74cd44f7e317837bc36c7b3652312adf404835f60053ed18bddd70af5', + publicKey: '0x7fc9b2ff15c31daa91ea1875de068e4e12a7a7e86a4ad0f281c3f3b2c3c8f2c5', to: 'Qabf7d7b1a434b684541aea4d6bf2e65b57b1aadf', transactionIndex: '0xb4', type: '0x2', @@ -3620,9 +3801,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x50', - publicKey: '0x9bf9c27d293970699ecccca63a6e691fe6be4095e348bd7c06df516a609471be', - signature: '0x09113c049db4b93fd9129b188fe3980727b1f16ff32353e2dea5ac40b63d3ffa', descriptor: '0x010000', + extraParams: '0x', + signature: '0x09113c049db4b93fd9129b188fe3980727b1f16ff32353e2dea5ac40b63d3ffa', + publicKey: '0x9bf9c27d293970699ecccca63a6e691fe6be4095e348bd7c06df516a609471be', to: 'Q9a5132e149c547f254c73226da7f770d43d9ea44', transactionIndex: '0xb5', type: '0x2', @@ -3640,9 +3822,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x4a817c800', maxPriorityFeePerGas: '0x5f5e100', nonce: '0xd', - publicKey: '0xe7393a07e07f04a9b43a841014852cd12ebc1079a4290276e67b7c01bd38a4b1', - signature: '0x2e74e7c66a3f46e2ce31018771b811d16c1544fb3df6664588420111ee36fcad', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2e74e7c66a3f46e2ce31018771b811d16c1544fb3df6664588420111ee36fcad', + publicKey: '0xe7393a07e07f04a9b43a841014852cd12ebc1079a4290276e67b7c01bd38a4b1', to: 'Qef1c6e67703c7bd7107eed8303fbe6ec2554bf6b', transactionIndex: '0xb6', type: '0x2', @@ -3660,9 +3843,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x5c2f99757', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x19', - publicKey: '0x51e49b423093e8f7d580d349423b5a6ff02b8677999d96c60a106b9f155cd571', - signature: '0x7556ea05a4035a9863f0758c2a9ded646edaf9a76e2a7810dc7b276421288ee9', descriptor: '0x010000', + extraParams: '0x', + signature: '0x7556ea05a4035a9863f0758c2a9ded646edaf9a76e2a7810dc7b276421288ee9', + publicKey: '0x51e49b423093e8f7d580d349423b5a6ff02b8677999d96c60a106b9f155cd571', to: 'Qdac17f958d2ee523a2206206994597c13d831ec7', transactionIndex: '0xb7', type: '0x2', @@ -3680,9 +3864,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x62a2ed895', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x579', - publicKey: '0xe9eeed92f4dd20c08048f7a1ab85d4a998cfe54fbc4f8b1ecf3d152a4ec87648', - signature: '0x3e9e7796691c23617522a914b7d00375fe239d7e006a107906bd576c1eb0feb6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x3e9e7796691c23617522a914b7d00375fe239d7e006a107906bd576c1eb0feb6', + publicKey: '0xe9eeed92f4dd20c08048f7a1ab85d4a998cfe54fbc4f8b1ecf3d152a4ec87648', to: 'Q7d2768de32b0b80b7a3454c06bdac94a69ddc7a9', transactionIndex: '0xb8', type: '0x2', @@ -3700,9 +3885,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x4b8', - publicKey: '0x78a596b319d9980c3397d80f55a2fcc69453cc762174334eae561ed558364894', - signature: '0x39f35a020f30acf5b2911165f8fcbaf9504cdf11013715316e8a7041e450a17a', descriptor: '0x010000', + extraParams: '0x', + signature: '0x39f35a020f30acf5b2911165f8fcbaf9504cdf11013715316e8a7041e450a17a', + publicKey: '0x78a596b319d9980c3397d80f55a2fcc69453cc762174334eae561ed558364894', to: 'Q00000000000001ad428e4906ae43d8f9852d0dd6', transactionIndex: '0xb9', type: '0x2', @@ -3720,9 +3906,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x0', - publicKey: '0x6c57bedc3293558c09a4ba971650c9e9c334d9d30afd1af7f8b3afda4b774bda', - signature: '0x4c73428de95a5847aa1d9cee18d65ce3c87c65d118460901240058fe0e531036', descriptor: '0x010000', + extraParams: '0x', + signature: '0x4c73428de95a5847aa1d9cee18d65ce3c87c65d118460901240058fe0e531036', + publicKey: '0x6c57bedc3293558c09a4ba971650c9e9c334d9d30afd1af7f8b3afda4b774bda', to: 'Q1111111254eeb25477b68fb85ed929f73a960582', transactionIndex: '0xba', type: '0x2', @@ -3740,9 +3927,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x0', - publicKey: '0x60734366ba975b8870db2c22d943cc0cca3e255f4a28833794549e2146be2561', - signature: '0x18ac390f8fee9fa30c6ec211b36a3a4196008e52cbe862eecf4de33f3f244ef1', descriptor: '0x010000', + extraParams: '0x', + signature: '0x18ac390f8fee9fa30c6ec211b36a3a4196008e52cbe862eecf4de33f3f244ef1', + publicKey: '0x60734366ba975b8870db2c22d943cc0cca3e255f4a28833794549e2146be2561', to: 'Q06450dee7fd2fb8e39061434babcfc05599a6fb8', transactionIndex: '0xbb', type: '0x2', @@ -3760,9 +3948,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x6807f15a2', maxPriorityFeePerGas: '0x5f5e100', nonce: '0x35', - publicKey: '0x18a1cae998156ebab7452e1a352a6ddf9c89c25c13c7cf329a37e7ed92b5c6e4', - signature: '0x1dc0a408aa000e858bebbf484c3ac1bc3cf31791d5d9fa03bb9e3c48c84aaa28', descriptor: '0x010000', + extraParams: '0x', + signature: '0x1dc0a408aa000e858bebbf484c3ac1bc3cf31791d5d9fa03bb9e3c48c84aaa28', + publicKey: '0x18a1cae998156ebab7452e1a352a6ddf9c89c25c13c7cf329a37e7ed92b5c6e4', to: 'Qc4448b71118c9071bcb9734a0eac55d18a153949', transactionIndex: '0xbc', type: '0x2', @@ -3780,9 +3969,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x4d225e2c8', maxPriorityFeePerGas: '0x59a5380', nonce: '0xe3', - publicKey: '0x2a379538c84ab1c570861f806c4d18a8d99a00c0787aa4ddf9194389008af4d7', - signature: '0x6810427871577c34d495eb563158587559e2380811740130c1342c3d44845b35', descriptor: '0x010000', + extraParams: '0x', + signature: '0x6810427871577c34d495eb563158587559e2380811740130c1342c3d44845b35', + publicKey: '0x2a379538c84ab1c570861f806c4d18a8d99a00c0787aa4ddf9194389008af4d7', to: 'Q000000000000ad05ccc4f10045630fb830b95127', transactionIndex: '0xbd', type: '0x2', @@ -3800,9 +3990,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x4d225e2c8', maxPriorityFeePerGas: '0x59a5380', nonce: '0x2', - publicKey: '0xd5502ed0648a8a7a02cae26729c382602009560990d904686de10e00e45c4250', - signature: '0x70587220f358a55dbc4529f918ebfc7f823fc4dce3f09b0d1d4a7144f9497b48', descriptor: '0x010000', + extraParams: '0x', + signature: '0x70587220f358a55dbc4529f918ebfc7f823fc4dce3f09b0d1d4a7144f9497b48', + publicKey: '0xd5502ed0648a8a7a02cae26729c382602009560990d904686de10e00e45c4250', to: 'Qf2665d9fb3a0ad17a7454da077bec9cc159f644a', transactionIndex: '0xbe', type: '0x2', @@ -3820,9 +4011,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x99e7125a2', maxPriorityFeePerGas: '0x55a0712', nonce: '0x16d54', - publicKey: '0x2526349ebcb7239ed6f66843a7368519723cc3316abd509c7cef841783f81ab2', - signature: '0x0c7d6950bdd3fcf6045dfb4455b93930587822ebdda88377f3df852e0c8736a1', descriptor: '0x010000', + extraParams: '0x', + signature: '0x0c7d6950bdd3fcf6045dfb4455b93930587822ebdda88377f3df852e0c8736a1', + publicKey: '0x2526349ebcb7239ed6f66843a7368519723cc3316abd509c7cef841783f81ab2', to: 'Q1c479675ad559dc151f6ec7ed3fbf8cee79582b6', transactionIndex: '0xbf', type: '0x2', @@ -3840,9 +4032,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x91e91fa98', maxPriorityFeePerGas: '0x55a0712', nonce: '0xb02cd', - publicKey: '0x0113be49a7e3226dbdba535e64da2d61aa66921904bcb5c88138ded11819f160', - signature: '0x02f8b000478f11787977257fee2c20085a16c7b8f460d7cbdee5bb58c372d491', descriptor: '0x010000', + extraParams: '0x', + signature: '0x02f8b000478f11787977257fee2c20085a16c7b8f460d7cbdee5bb58c372d491', + publicKey: '0x0113be49a7e3226dbdba535e64da2d61aa66921904bcb5c88138ded11819f160', to: 'Q5e4e65926ba27467555eb562121fac00d24e9dd2', transactionIndex: '0xc0', type: '0x2', @@ -3860,9 +4053,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x57ae1ff95', maxPriorityFeePerGas: '0x55a0712', nonce: '0x13', - publicKey: '0x891c8e4fb5416707bffdb3796101e4bab549d6d809bc8107dd3c64ab161d6ac5', - signature: '0x739b527d8da18e099b86fb623f6a1c8436a2139c2ec8a49cde40f1cd35c70659', descriptor: '0x010000', + extraParams: '0x', + signature: '0x739b527d8da18e099b86fb623f6a1c8436a2139c2ec8a49cde40f1cd35c70659', + publicKey: '0x891c8e4fb5416707bffdb3796101e4bab549d6d809bc8107dd3c64ab161d6ac5', to: 'Q8b70497d9ef243a66111d43f567aeda3ebbe608b', transactionIndex: '0xc1', type: '0x2', @@ -3880,9 +4074,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x57ae1ff95', maxPriorityFeePerGas: '0x55a0712', nonce: '0x1', - publicKey: '0x8c2590402601bfb04153ffc112a7b649d9a2e810fcb287acbed5fff1853d5a9e', - signature: '0x2d4aee8e065ff06be42d1020b95bc35d21249c6b66b149ec15824f41eb3d54e6', descriptor: '0x010000', + extraParams: '0x', + signature: '0x2d4aee8e065ff06be42d1020b95bc35d21249c6b66b149ec15824f41eb3d54e6', + publicKey: '0x8c2590402601bfb04153ffc112a7b649d9a2e810fcb287acbed5fff1853d5a9e', to: 'Q1fe0fba03dcfa2bb97ba9047a5c523115fea9c8b', transactionIndex: '0xc2', type: '0x2', @@ -3900,9 +4095,10 @@ export const mainnetBlockHydrated = { maxFeePerGas: '0x91e91fa98', maxPriorityFeePerGas: '0x55a0712', nonce: '0x876', - publicKey: '0xe7a96ca63eab2a40e2a1c137bf0b2bf2133fd9fd07c5e05fbb0af11cb9ef28d0', - signature: '0x128151f2fb774ee942a67b98b352e8b52bf07065bc07809220c115c313ffeddb', descriptor: '0x010000', + extraParams: '0x', + signature: '0x128151f2fb774ee942a67b98b352e8b52bf07065bc07809220c115c313ffeddb', + publicKey: '0xe7a96ca63eab2a40e2a1c137bf0b2bf2133fd9fd07c5e05fbb0af11cb9ef28d0', to: 'Q01659335fc8ad471c7079f6f04e7532c7d001d43', transactionIndex: '0xc3', type: '0x2', diff --git a/packages/web3/test/e2e/get_transaction_from_block.test.ts b/packages/web3/test/e2e/get_transaction_from_block.test.ts index 0e3dbf7b..4e693ca4 100644 --- a/packages/web3/test/e2e/get_transaction_from_block.test.ts +++ b/packages/web3/test/e2e/get_transaction_from_block.test.ts @@ -90,9 +90,10 @@ describe(`${getSystemTestBackend()} tests - getTransactionFromBlock`, () => { gas: expect.any(BigInt), input: expect.any(String), type: expect.any(BigInt), - publicKey: expect.any(String), - signature: expect.any(String), descriptor: expect.any(String), + extraParams: expect.any(String), + signature: expect.any(String), + publicKey: expect.any(String), to: null, value: '0x0', }); diff --git a/packages/web3/test/e2e/mainnet/get_transaction.test.ts b/packages/web3/test/e2e/mainnet/get_transaction.test.ts index 3bafc323..bb921ce1 100644 --- a/packages/web3/test/e2e/mainnet/get_transaction.test.ts +++ b/packages/web3/test/e2e/mainnet/get_transaction.test.ts @@ -72,8 +72,8 @@ describe(`${getSystemTestBackend()} tests - getTransaction`, () => { input: '0x6d78f47a000000000000000000000000a6e265667e1e18c28f2b5dc529f775c5f0d56d4a000000000000000000000000000000000000000000000001a055690d9db80000000000000000000000000000d67da12dc33d9730d9341bbfa4f0b67d0688b28b', chainId: BigInt(1), type: BigInt('0x2'), - publicKey: '0x72ca073bc16b35b3191b35fd8fb0eebdd536675ecb8459b110fcad2890a98ec9', signature: '0x45496fc11c7bf9972cb732bdc579f5d9d01e4df276dd49626e75fc3b5f8b6ec4', + publicKey: '0x72ca073bc16b35b3191b35fd8fb0eebdd536675ecb8459b110fcad2890a98ec9', // TODO These values are included when fetching the transaction from // Nethermind, but not Infura // https://github.com/web3/web3.js/issues/5997 diff --git a/packages/web3/test/fixtures/transactions.json b/packages/web3/test/fixtures/transactions.json index 315a71d7..ccd69392 100644 --- a/packages/web3/test/fixtures/transactions.json +++ b/packages/web3/test/fixtures/transactions.json @@ -18,6 +18,6 @@ "chainId": "0xac9f74e3" }, "seed": "0x010000d754de5c11c9e78bfec4591ecd608871fade842f10840846bed1684745f06140cfa6078715b7cbc1c3d6dfce427d5f76", - "signedLondon": "0x02f91c9284ac9f74e30f8391bcff8558e8d1dda185331bce0f9094d0f118afa9c2c9cc50f10d94ccc1cbdda2758b368591e32e2f5a8be0d1a7227d34c2ca72e3c0d7d694032f5546f1b932555cb43e2b16c844d118078430c0b90a2029d07e55b9f3406a5c4976c0c8f52573fa5ed981b7e1ba0e1c2673467f1872a1ddc1faaec591a710fc962c51cba11f08eaaf4aa88b333555b6dac00d90e16a8ebb7957142a9c2495a1173ff2a3808efacf7abb4085c78ea2a9849e0d4da4935a90f4b4feb7a7f2d135a666096478a738843d5f46e39da979d7a1f338f502187499da25557a2499f028310af783db3fc70bce07d72803851b2a44bdf36c80a5b0efe8f49eadc718d1ee23308a3f83c04d15ac0a3a371dc55c8893c22a097bf7443a8da44a725ae7a8122d7b4052859e54cf6512c4232e7f75d7c79b356da3a2d12fef3845be108d12e99e823aec6811df179a6e6185fa3195757dd0c4c58d3a1ee46f0b0c529ccf2eb72d21db67c412c93cd02172a35baba250f0f143a942549afbaf970b0a698893dc395659ef17d760c2756d3d227138ad27f76c6b665f985569156c3b2c67fd34c4e0b873f2f183306abfcd3d89e3d28d6bed0cee3d10c2375d8a03a9bfaf72bdcbbc790289cb71f306d9b0f4562e7bb641fc4e03e8086360875504189001c5c5a40c5ae9e725bc626ab43b3338a02fae50b64113fb57dc01412e8ef622d84ce303b268114b79cf6ba079e72c05d90fb19015b191949281b81c0760a785d707e715afd6f4902dc35a01fe61823603efdb1813b7ea9fd68fb6e1c171f9295700c19b876f9b8b27866664e05490807781633750034688f76643ffa730990be9fa008c02687b0f192c7e5d867d7419f22029d88cb2ce6ede8bb38fa010c1e9917e9cc9cb4d7fa3cfc124ba57d1fef63c6f0f1881e4d879b5c76464b5cd8b5b14eab85b1d2d7af3ad6e5b716e8d3e26e3c4fe8dcee621a2887f5434803ab04dfb8c8a2a0b22a04988addc75371f39c75c7ba03eb38e77ad3d6ca1a157fed0195864fdf655d79de74bcacd0dead0306deb6385293d8ad8e850558edf3ad91a896e9ef680159b28ab8d589fd0adb981cb4c7568756493b0c1546e7939bcbd1371ad63e56cdbf7fa15c7fc227f74f67a8b98be152db7ef23c716df0e62237cbd7635b9f106d94143c0e1e95933ee795ec60563f9ef66bce60e5ecd3d82fc75e35c24ff9bbc2ae75e6445b7acbeea55110bb16e76a390643bdc53e867a4673d8e73bc15ee64c632c4d69266f7fa0759ea082afa26f3404f7dee4833cb9a7c28b2cc882bcc6b4a8a3e0c7d8e9e2ae29f529603a471ae5fbc180a7a997afd787e7eaf2e1852e5d2b6b62bf683c08aff8551f873f8d34a2dd393b15919769210c386825a450a2746d369685546ea23601391a14b2f42d60d31da5052718d933b1978f52f8fcb015e11f3dbbfafe54b1d8f8ee09ddce8488f9f83d1a54350b0fc47d91efc86dd27e664b0587a9cae1ef50b346d0e67a23b11eb1860fde7dc574da89f02b29c485e3a270a47ceeca99248b407b5f70d34a51bf6fd7e34bb710ed0a8d0ca23cea3d7de6930b10de18161d94b21f70d5243360c09c61c07da1dc6f5e90ff854f6dd8bfee8e78cdd5e40ea897309ffb4b6bed08d0d3ea03daa50812de115f18aa281826cea7e69311e84adeb41e519f95a42f9bb8f75f832c77ba68cb5fd7105b8852ebbc5a00e69b64e2d6ad379168a587151a3f9a60f4187e7410b0ddfc18411d20e246c8a49cd2ead8ccfe36c7d3aa60456c0965f62c88fd49d69ea180b0d8e72ed5c5a45c735e152ae36a4a226c1e989d1c417a9ef37bb09ca068dc7e78c5b14c27646de055de14dc9fa5e6df9b0e6cea99f1092f2af6f0edb9c0a1e77fb10051bc6b465c78cc05bab345a0b82a6bb1401506ca551d9f6e0a5f4ab9f5c1920d98763f54c758801685fc1e2b1ab0b5c6b2c4311bf2f3cec42636af5d13ec911cb84e5a83a7e8b5baacfc43535f51734665a0bfa68140e40ec0f2cc8e56242689b59d0631feb035d203e653ef6ccd73bd3ca22daaa480dd52947aea706595c2b17b98ccdab914c5580f65be25e43e4bf00dec5d44a373f9e8214b63c9d820fb49ae30737ab2dd4a141deb18612362312907a0fa519bf2ed7543952cbf9737230119098610f94d51eb1b9e155a111672b6c88786407aa53532ae9c0d112175404f16dbbf6a5b24188ffdd5fdfacefbdf4b4369039379d69a02c87eafd228e96c27b5884231a59d1ffc458e7d02678a10fd1c95004801abd7a9d5e258642e7578cf835d176616779178058c0f0d74986667bd926c532b0aa4c543a2ff64a4ea1bc2ee8a126010e3bdcbde79a569362b93a656b8b368a9ef5bf014c63e2da45df18892ff47d7833b82dc98fcc5d8da0c4282d6e8a33498ffc2ed576cddc3f4a765db43b0662164a88240e8b20b4bd3d87ac10178d16a5f56537f3428a0488f74bebc88bce565829f97ec639469dba806bd99701f78aeef7d21aa2267c88909a8c1a725b8a69c6260754d2b20207d8f6dc10afb4aaccfa4975663e635303ed2935d943f4fa23df86fd87b7d86db8d419359511c4a1325b99dddd6b87037045f9752d15cc07414b5f2ad17aa54f8ee1b7ce276efdd05d62e775d347ab1dd6c066d927850001bc17c8e48e1ee2f0786c8489ecb8da7133f2b2d5a33898a355802d906a94dfb71176a5881a00dac33821703b3f7e15c2b4637eff14d51adffe4de73a9d3f73f62a3f6bd286065cf6b5db461eb9ae04f0864bc9f256b3546179fc43e18dc8213e9be41bc1d2b7cd9155f46aef1c4fff85bf2f939486c7a3d2cfe2ab242a91d5185e96bc2e6f830f86ee4cc0f9d60a51ccc2a4ec73f4ad7eb071346f980f9927cb79ead0275351dcc4739346ed7001e3e7018645b77ffaa571e338b28f0c3718bead9aecbfcace7dfb4cb79ee0667a51f90a31a16db43f1b29f1e245fcb02188cb083b35a438ec44a754a4816bced7f773322b72eeebe6ad53876f421d8ead321b9bff04c7700e3f8e7a9c135152a7619ee9019778e85d358937d2737cfb60173381041d27e630968d83d8e42afffe51402f03a1db13e1f74b75c9397fa4a3f047f27e6ce35ce86c27ff0b24543f938fc757490e4a998e4dfec7ea3a7338f83d98f1d33e79d6ea8f9277f209eca6d8be115a3cf09f766076e0e873cef914796a880dc524f7eab7bb6b58bc399b88a75ba13e500397c59bd396cbe3f111693e88b19d2eabc1049deb5d0fac3cf2db7a991005d9e6b6f3818b403ff11d88def13a33b64835635c3e8584169f922c1bac049223c893cf454c666e39b985a44cb684c68dd38a194e9bcd50fdf2827ad4fdfc2789b2c8498c84ec879a85256dcd5bf9fcc939b8f706196a3529d69e21a37c37dff04bdd5efdcd991c7101a26d86ff98fb3dfbebbd0f39cd472158fdacad2811d7aec79dcbf0e2802d9764c96b279d45733a2f963a9a683b19ef34aedaa5fe5a2590849f08e50e9d1f488bdc834e200073d4326868c8b8c323490fb840367e2116d8006ac4902767e9093771ab11a188d6d438a7072d352e21cea41a1e11e1c7e7554edb781c94d904221ad376f48881843401b6c8c654d134cff32a532dd2168dbad64dbf051e59ade52b75ded01533122cb450eeeffe2bad1b5cd62ffcde7cd120ecb3bf4e331173bab02b13ece5bbe93f53ad52a1108151291225ec5ee940c7acf6ff69c5060fc5a98cb70f6c1258ea20c2f6732fe65db966d50ab691be1c266732beaccc81b91213aa648992f58fb78008f14def9e317b8a14c9d252d8d30171ad168b6f66d9ad5afc4097878f411850fd346cf9f8f28071dcc10b2adaaac135aaa25ff50e39348a641eb57a9def267343fe4c898fe106d3ddc99a85234d6bcb08f0977ca32f91ceb9532ad2f89116dcd2625b6dafbcf6fb965da495b4358b5b3aecbfdfbbd62cea4cb186a62d9358b393581048452c0cf9868566afdd12953d61d11037df3b9a185bf56e73efed511b1d3b3a7f681d6e6589a9ee6b6f15789cb88a773ec78612883866c02e9dfd553fcaaa2e07b48fe84976bf440658b9c34260703c685623ae181fbde79d3a0d021e983035ca65088e5a53eb78cbb09036b0bf350c070676e0efd93744cb07a42e6dd23c7001c61886e8de89e40d2c187e6db1a6ffa6a9fc7d99c1fc7b09da7105983924f089f1697000ccfbcd30ab59590ba0309247912fee4ccf42d0bd818fdcace6b0fafe369e47332b3c1ad2e0998a8f44c841d6e26f7f02bfeb88d4f0c397673a8b6c3e185ed6b7a2e7dfdc407bd5c1be24c465296c9c925172063c482fd0052a5525c6f1827c93d0c62fc0aa47187eec97553c786db1801ce6b98201c164c27d43cb5429915d88dac771deb7df0bab8161ba6b0072a7f5a382ac9f14fa42504cad8945c9d22c2b76ddbab03b5e830fe55d3ab050d5120559dd274267ca2a60884946167a032c6d5edc0b937b9b1e74b251e6004bcecf699ffa24cb8f7d7642ccb5d6cc74a476f3d3d6c99fc23e30d24bb0a54f4afdacc2739ad160dd68891bf97b6ef19537f01216dbf820c85af44e2e653317167f83a2feb5d7dedf7b6abd6b429a80166dc4bc7d8f77d6bc6691e39f3545e549fbc125ec7e005c7868d8994da1c5918ee19e9b1ecbe61169c9c97f6e81f71b92b48a504380037b2fa78987cadb709b6698742a8260eae548572293e71a3c1a0a82fd9ee434d5e82020a68843fc7c6a554be47485b9c2eb8bd6cd62989859ab5d7296b749436287e5f3812dc1cad6e471db9b05184cf44b2c466d8c53f86e5bef6360000632c80fb8b90c69d94e12990cf8a2564faffbbff4c75ba609eb457f58fc79d6a7837ac428fdbdc3c6621742aeb975c5aeaf53f2968a7a2c85abecb474b98ae62b1dc0bda69a200cd8cf158725fbe8eebfdf7107184dbb0ec7094e86e25bc9add5e68551254183d95f6a17355a5fb0b454637c4060629ca3ef62cf148f3e4345c5190e288c04e0ab3e0a821876b75188788ea4551469e6a6109661721c08721494a8f81126495357d354f96fe0d82c040b6618a279afee680fd4802a6adac8b0c16085869fe36d9f39169393bc445a1941175347c4279e4835cdaa5e8a5d8d8e147261490f157f790b9cfe4cf05ed96e50f206cf7a81d9477a522c343fe819e2d140053c6a2299180ea5942defaa54e052743cfad6cd87880cf141726d62f549f29755f6a0f8db389471090874417c69929b0b352ecf81d828d6c59f1572f83d15ecda7fe49f27576c1e9172947ca0a30a50be98195d4f717620f018ea8bf6323db72ac016f8eef0ece45cb9bc7f61173c96fe887ad80de99cd422e9aae799c57e62b15d629377dba3310437715689368e478d337108ceb084ab95a9f23d833e7ac7ddb0541a2c669d67b80ecfd6f171eddd81b78505d7e6d127673d2bbc4c9b48ea740da62dc44a00c5a300685ad762f4904efbdeba2bb819bf2cc4ddaa9ecad9fbbb5b5c45d1ada4470da6a797fb89d38902b07a87740563227ef1882b97755000c241228927554a2cd15cb2e2c044daf70e6ada655b9e2111c23420d3bf8a819cc5845f15f310549293d7684493fd219b17b05e2ec3077ab7f6585df97da6ad8bbd7c382280cce19423802dd5823792fe2203e4fcdccafef720b0b718b8ca23b7c177dace0288565a7b26be87f5f8a0938bfa2467ff4bf9aadf20fce0c9ca6cdfaf911fc4d022a630311a05e98675f11d18c7d88beb1221e61aa4df98f8431c8fe166d112de44c4f1b4f6680b870e0e261dea10e382dc82a99c11be9725fed036299939672836d9f9d6db4dcba5f65630b054d41c39f1e615552786076f70a6177cfad57d6992aeb70cd89d19cefdba8a41281a11a42b240a201732c1d9dc75c6cb3c95a37b669d66cb75374d2aa54835f0f1652f74dca171b909005e497d34af094bbc550cc99d8724a7ba3e6c5bd8c740a1b8f9acff8687f23db8f8091dac279132df6f5c4930a9dc595df34a5a6fd3796fa16986d0fdb31985464645a49ce875292037bc349da237b00c496b9a228a53a08b76870f8c5c27b45dd2762c0f20c075e45dfa40c94dee2971a72dbc2aebf9caafef9aceac51efcde2029fc7d65c4e34864ab9244e97990d2f3d334d0bb2813c8238b9fb44c4c3841df32cb2edfdfdca3113437269bc5227a352ce33cd0484d39cbb62941cd2fdd31b7c7b2a362b64342a6bd4ff2d5d6b14fb7265748bfd9271a7f9c84aacc71cf1d1977cbc04fc2838f04a46f6480b703cbf92a662ae5c648fb604b18c0c0aa60b660d300a86d70b2e61eb4496c77624349113b18656c39b5502157c8f40fa65f81c03d60fb81b57197a711dbc60aa459bfc1b74bac82d762794338b98af65a3aaf1c00eddf8a4c51713298a4195938c6407f0e377e56a0a7745dc048ee85736e9f27976ffda5c6fb1ce1182e9d1aa4da879c8e95df95dab7d4eb6ed9c01bcfa375ce864550cd589ea5588f60cc4fa45c7a5d004e1a48f1b4a923cf0c717a64a8a4da2235fb8f66af301cd618d5f598802465a30669959a53920aa400b71baeacae6fa713d389f4edcc1d6fdd744d04b96d778e3d4d5e2af9c70e14ecaa00b3e102620714d74a37da8966ddd93f59bbfb058eea31de03b5dc58fa325e68edd40bbaac0e5f6ee4ac6ca9d7acd3d5b86fffaf0ec9925a2bc5c23d682f5b792dfd628f5e4022c5630fb1e7b4f2b6078cbe6e4facf0ae09cd5680218b1447f2c777b3ca9941cb8ac1e4daa47e079830833375e3f2a9e8a4432b3e76a11ab9a1996fcf1175d1ded272e1920c5ca7fbe129e249dbc423ca7a41a91a144397ccbacb5c2887302316efb93ae23082c103621f276a171f4319d9f1f17133391d715553a01fe8e258caa36faa7e033392496eee20554bad51b7542a5516f998a3a46aa631f232e9c0393df609171a7c8a55b17972517eeaa9067c27897cbd2d316b6099d03b0203deaaac0182d26ffa86ce85bfa2be5b27124f7eb1332d7c3e7fd50ca0bbd61fa7e98361d70143ee9980e3ddbb977fbb58ae892ec15a77fad2f3ebda96a0c89137c9a4fc34a32efe0daf5f44fce448b554eb2dcf5b21e08f13d1e542baa6c77118f994747f9f5eca79f3744ccc0560119753b09809acef730fb82827bc9dc857940718f63f1e209e8246bc549966c1cd25abf7aeec82a2ed0eba9e5a2ccaebf181425f96e228521cf89b914e1a110d8e44ef81824a790ca1e84ff98ab36b9e98d70627f0bb090cf85126c5454ade0d012e6bc61a14ef00104e79cb541225aa7b9c8dd473b1021b89a9121f5200d98af4e8f1328ea8ae8faebb906c3087df6b0af10e439eae2d3e3639cb4c5bb2d321446750162b7c182a920153a01fc2b784dde64fd17f3d74f199fd0c9ebcb139570d4b873ad01c11034264463a5e7306a773275c353a53700a73b7b35eafac84fa07a8e6986811e8e2fad581c6b58ac0736ca9ac447c520d91aab2c4814c285c703d97fd4ea6ab265efe004814d577834b5bce9f56a032d60566f322844cc5285644c2fa1e2de707b323c6717cb8dd7d6babd692634bdf9352ceda9629e020759bbcf5250fe5357039d81d6b8f954b910c30367ef78c197e136a8177e28386d5aec1262362a7ca3cb2e335942cde2e4f30ee415d9490c373db369dc2a062f8a8e7f6cba39b09990db79d6e1626a350a9863954b04a4d68001e513e19109cfeef064cf5a650751cdd1f43a875b57e1d0405a77a3e7601470f84d0d9d52d6ca3066dd850672722416d30e44e9307527a25a76f7c11aad3e9085b509d22986cecd83ee0342994dc6812653a719372ea7bc8b19fa24606c69356aa07bdea1e50699ada659e767f30a1024e8a847d6cd76a3c0037cf5d2904a0407d355c930513e66720ec2236935a4f8b748e72221318f880a76b78d67c624d14d30f698db26633cd16aae0757d9686a9bb1d78568e56a11240672ca96bb1346c43740b015b0eb9c572f2b0174a8354b8469185465d48c1da0f1f2bf0b1bafab150e0a90d37536319fab657eb8290fa230eb383697a576b6cab69e0def27b5b152794cd0a7635fdafa89bd6026db43d179fbce11ea039656e67f84a2a3609ac2b2f0aba72041e006ca22f5bb08900a7dfce879d22e14603af7c141e87ce1f6827dfccc937d51a32faee9daa811655a682ba799c0ad1e253a3bf718e038bf5e637b64333345dee15e9ef3ea3cc2ba7a22acf8dd03152cf604ef0a18ccd04c4ecd5872bfbf5cf5e4a628513fb2755de23158b7b3eacb4a1149b9f7227ce63c60ed70022abbc4e4160c5360bb0c2f3afe62a0b385fef35f8f9b50a1797ecc129555204c7440b76fbcd2a3474bf72e294f9a55360b482ee4745ebe36e784f2b075cd2a14b486b3ca6e952a32751314dc499b78d08546c04c0e63df165031f39ab6cf9c515355be0365bec1203cbe3ffc8456fd0ad8fa6b6fc3b4944f1adc686ad141072ea45b2d87ce4e1af3850089977717d6e51b51dd0a533f39f9ea16ea2f97c07c7e2d614b2df480ce59ec37b62d764c04e89e5172ff340f0504d78b441e33c3bd76415ee48f6c74885f3134ebcc278b503b8dd0e1140e29bb505d19069d402051f03449f968f71dac4b4ac2f0f1584ab3bf08366e8458eb7ebaffd61c00bff20add62e5ce781edfb08bac5d087615d4bb5eb8e424fe5beb48425c98d5008219fad1bfeb9f723a416d8b6c611306991ec4a00af582df9b75ff0d0c7e049fc01c72f98bb3614f01c9fd4939461498abc4347d560d79efec471d3ff488809de810277b16ef5d29d6964a49ed67b9ce097e69d3a35b34e6fb176564b5290a167ed209f489297950855bb7e61158697bda0e358ee5f30ad87f79e09dc8d27131dd3cc57148ac7866892e70d3d0b76f2cd3429e63be71b509fc5900df0bea02f4e9b63b872717167eef483e3ab6ac6da01547e3edb429d060dd0fa9a4be362bfb5552504ce7a8bdced172a2725516a6984ece59fc6f4b55b063b1cc87c0c3f3ef2b92a0aa413ae4348d818ef0024a8d303879aab544cb58705ed7a4f3e9fdb31a332230f0a52e2a3f9bd2d668d700b6dcf744265cd229b11245d658d86f2684d0af8d877154c80a4783b1b41e1d20fae69bf5f988a12c26dd7a5b1060c2464c1f0600f5de093f46c79d6416e7036a31af0fb5a2f924cf6337a41e854196641151052a2e57e42c77fec9038c24f9591ac8529b2b187f9bc6bc10d9f87c8ebcd3122cb22ae7e6073793369e0cb4fe0a403e513b625d94250e664801bfb049adf269edcef72a31993e8e36993c988a2383c7ee6f997b0b1eb9f0152dcf2afe0ba27ef389d841440ea4f09ba782f9e3c4c2ad3c5ee65e7e5411df3cc7369f720238b63df06de66fb7cf8624db1d351c1b429637d1bad3ea7ab5f9c2600598c8bd2e9a7167d96cd04b0723cccc52d3867df9eabaf60d639498a6c16c1b61214c0137c4865ca9a0fe0d85d0d56e1d441f28c92ed4246d0b969a49272e5acc41b9e936e7d4abae90e5e3e2a5b4c4e163f54c19541eaf3d5ee6559a03381cec85c038b9f643109f07a280163102b3ded5eb84bdbb28cac36a9b29b9931d7871ddedf65373e386985d430e73024c86af466a253e296dfdc2ce42dad4c7d70b8796b33b8e5bda47da43446422a4725a18aa300dce93c1f2de3c54398c8cc6a208f135266fed9e1651298ede90977659fdd4a4ff216df64f2812c4d126f2d7c3cd05917f429d31ea61fb4a93acc48e45a3b832f0747eb35dec6fa8f05458bd76f611957434e021624b8e4c9ab7188b2028d7ccbe7ba9cd9e56792ddbeaa87cd9c7ee8c5b00f9097f71e2b9100b3438f2addee74f47787e2699a115dda17335c3f26cf20841e9e9dae9e4a3a68eea4885d0f4d3d47046a96f2e666b1c1eaecd4441d6fb59caba05913aae6c7876e37a6bfbbf689e1ef185c632725569b8281278a42b89d1cd436b3d8c8ad029bc2421aa7aab899b72b8199055206bd1c28a61a9fbf9c43125aabdf1c7b89ee2c2e08d28c4fda14805c87b7c0e6cac75f7693e12bd15b13733be53619ce6c7c8af15055faff4b8810e44de504666d45c81863c5c406a31c4cde0f24042958b9f9b61f1b8b1cb5ffe273b34eafc363a085c3d99872591aed135adc849343926aa70bdafc75a28338448d501fc50a8301627abdb26599038031cd10d21294b517ac8d7da5a5c7687f3054179848eb1ced0243242939fb0c1f51f24434699afc5cad2d41020272c6a6ca1b3be2e48708586bd000000000000000000000000000000000000000003090e161e28313783010000" + "signedLondon": "0x02f91c9384ac9f74e30f8391bcff8558e8d1dda185331bce0f9094d0f118afa9c2c9cc50f10d94ccc1cbdda2758b368591e32e2f5a8be0d1a7227d34c2ca72e3c0d7d694032f5546f1b932555cb43e2b16c844d118078430c08301000080b9121380de78ecaf4bfe4f7931ca3d9d761fa01aa942e0e6d4a1063290f8528c322e146707be96a1c64c1c23754fd38b110dda6368b0bf18ed5e13610bb5eadedba769c30a32d1d4bd1fe5985407abfaf68fa4833671acc3294e267ecf145551ed1cb81cb2a34db04358c3f31c7a957f980bbb47219d2c5e6dd598cc8d495963ff1ed5c1e7d778ebd7591000fc1289981fe3fa3126ee0be192604171b253b1b11ccd7d57d37332f72e30d30777fa818dc1a74d5b8674dd32f22103a4c5e193d82807230dc5c9355149941f8bab3d151e44f23257b3f5072152a0b1fe22e31409debeb39de661fb64d82e397a29a67d6434b7f711b2521834fb2f5474ab16f6a777ded57b9f3451914325065b02bf4654c659ddfd79278053b9576e4165fc618f64efce746233937697ec82ec213df2891b4ef5d0390060df2770a19674aa24fa132d5cb3b22fb29ef9645b3e7467bbc66fc71b6fc544505d30ad6eabddf403c4c8b695503bf07baad8391bf15916a866506dbf12f2ab913f7a90354bc00ce3f820f52b30936bc3ec4a69cac5458ecbc2babb67b2712438f319a6ff723eca0b964b59a71071a84149d9f003e582cf4f3eb9568f93807c6b65c9d923750637e5befe2a7361d2ac9de899290f13d30e0f2c14b5f9321470aabb657337317575fe5b80bc51ca7287c8a81df579ca2523a2cc5119353d7d698d15b7c9921c26bc8084f10f11b0afea8e62dbc9b9b114502c35e6598465606e053caf99af8fcc6e2094cf2d7b9d0ea0380c52b9976fd43504417979deadeeadd240603edc346654bf9ef94203832f54abc223d3be4828f71ae6393041ebf94709bc81128064f22b61211d14d254fd5bb3ef3d16631c4c46e38f03804de4339431f41cbee818d2d886bd81eff7cbb290ad5e516626ca6418dc21effd1df4ac8ef530fc8ff4fde71a1012dcc8e53e53987128e735bc927ba28f222d2b1b7405ecbc6f12c2dd95a4a830333ffac40e7e1ff1b592d63b78c1458b2fccafb24c508cfb2b91c58f5183782788850e7e990d519fab8bc0719572ebe6030e57f7a784e3ff0b4ee725498dd6abccc0a6d3811cf51c446236d9ed873a2be62de23f43425635b96bbbfe24dfb66a617966e33536a620bcff458c50cf5b2e6402baf28d5b785808708e89ffca7bee0800f381c0352cf83d99be76e11e2ce92c7b84bb3f3a79e8bcaef8a8a8abc5a2afc9b4ea859b1a1ee201a9f26367091ff730b9b36bd2ae5ae15c02dcf9683e9c603f8256cb5c048891b761f2580d047753829c2e6a0e994385fa8964acc42e9ddd0e97a463cad9d90e1bc7dd8305e22e37807be3bf48a754262c39259f68cb3f5faae2d565110a3379de441f66d6ac8d6a3548c4566e9520f142d9b98838a8158ca59b3cb19b28b547600efeceb8914eca75ab2336f51d467884c3d9cd680c1e19166a1c2de12b38099e7067c2a385268053d8e62c2a8cc88b1c73d2b2c3e3405634b6f16cd65356418c84d6200f5ed5bcf466cc5021c5ff1bebb67aa2ddc61e04135fe5c9f26a6153a4eb1a9eeb7589223fce222a162b69ca1de092472ceb141b5810222c24c2a690afc39eb587d593b8d5cb6dec55399ffd8768d15e1bf51bbf51e5b17d9a147c0ecf420c023eee3bbf37b5067161624c1529bb4df86f14feba4cbfbd2a881c31985ccbf5b0c149f76568bea9831179509f3ac7a4e4b203f8b27d6d2ed6fd39d429489278804642cd026fc8af093725b9d714b95d6ad864962424b6a13a2b6feb3fb624da593bfd02ee93fe2561a34fcd04070744aed9452f24d24f07669de74dbc491dc3f176fcd0f064cd64349585173c65cef0be0f31b2a342e77f4d642604d8c5b303e506af4caf8b9b6025072f2cee06039446010205da47adbb598eea4411af60765551eb02ee70e71df278d850a3abf2f71b710719651afc5205e56ee6adf051a9ff7492bf28ff9a38d740500be71560347c496ef1eb08a0cd3180f62cea1702a44f407d960f98e5b6801520a35ef6fdc81a56a7666de750e4a9073d9dfe38b90ba2083d8cf5d0c62e48e9855e79d4fea8e0f7144f64d40753feb6106bad1ecce7b80c80d7d9bf2a2d7188d6c50a44128465094ee5bd4a52b7f7d9c3f0fd96502a320d94e2c900546a063de0b2011bd8a033480b1f87f189dad4f6254e8871553c12d5ee574cdddbd87a9e1e804d46420bc3756a2a3a3609a4b1c285854d02a5e491dec338b64a70cb53de0a76ce07e0f6c13def652ecd3b7caba6d954bd2d7f49521d3a9662342369c567ed5881229ea58710eda8f244a28f210c3b8f2f8b75c5557653302f42f5f23fd0977efa0ddc0a7c90a00c04c86703ba0c1b7fd5eb162cc0b61cef3d60c666cb13554322dfd012adbcd25beeb8ff88757699f4a25ad5899fa7b0f9b512476bc5ae0b1ac33108d3d6d7ffae90bb1ee05d5cccccef76cf25db8f9f33fafebf03d91d09b1c9dcb9f966d9f09ffb4f5cf1fa709665fb4e5c3e810e67257f3f7e366bf5bf29259e1f8388faff9656ab7dc81b7ed97f287c533c30ce57ac01a55bdf1d1b16ac001a8e32ca9de1592ebca9c97659e019e2f662225efd357a978ff8ef631cb741555c1022f239e511f1d8ceba2d1a4eec8ebd842e12ecdde69f11b0c1402a66f5200bb41968a5b6586bc33f0661eae4f732e0cc4e6835f07cad77dc7116776b85c2eb796ae1a7b167795943c095ba4be8bfe56031129071a9e4c70d7f70a820f8cc0b88e8e865770aa4554ab2e41c70f414daa2f9abf4b0ca143cc7e35311889d5e36ddd59fd37545cb201bb7640c3ead6ce16abae5a9bb3dd4bcb4f6c14cbe0a938021561d19acd123090ea525a410e119c904e9ffd53892f732973dbf7041100b19b674629f9c5fd18d5ac2d3f5098f99a0aeb034b5690126e9473fe16a12d11f9fce2f91d084615bc39977fd9dfe952cd80b4a5d2e125e0c7be81d60b1815af5eff31514307d5bfdb3a8461f86b95e5f5a4edbde4e57e54115317da804f3d11ea23ea8669eea6d41e89214cb9a7b93f951d5b9b0fd34572c1a0235df83eea78a14a0daed126f5abec7a0f6c3fab5e271f4e8df9bd686c96808a1e490113455c46ffaed336ac615c61a6af3769dcfaa7c9f8660536688873373154578bff31723dfc4a0ae64f21b301ba88fe8b9b313c776b088ce86bdc41805e4a1b85db0ec4be58dec7c45605d4074ef3aa6866a6c1226ebc816bf123b757bd69108a14fd9cdcbcdf935f1130089df8ff0d45ef3ca2497d9b5f261a5fdc353a96b0dff3ef6f7ab10c22158d422ec73e124737fe97bce027640cd8eacdaee6018b0cf77ce20d5ab1836f1c0576f4c67fbcb2de8973557dd2fb2538b4bbcb847a753da6917fb7c58bb5060af082a19a3761ea3b9bffb169c5bba41de60702277bfdd76ad6f9ba525df0c65751273b6880dd84d62d45736f15cdb93a313c822fa6ccc7e03fa7d177c54aa30738759458166990975c1a774a24560035945a8043aa69acf70dc6893af60c5211dd7898e23643ac39aed56585529b8c576eb350f3e4a498c77fde70904585d775332e8550b7f414f0204c19662437bd7aa3f4bb202e7549e0c0af4c8e72ab3e8b8be0bafbe8eed0f8e09901f49d748b96cda11fb37ad1603139d071d7eaf9e7c95a98aefaf8bcce7b0c1460fb1bd772ff7e91e48a7ce95db2b4ba4a7adfe84290adb3578fcb9531fdf8539484c67ee5de007a06fc523c02f8ea9a4007625f4dcfd5e88fefe95d71015655abc37d9d588bc039b3566c4a490fe4bb0d8948fe311d74b9e367cc0829366a6a0c50c4c4917ed1a714d07921b5e0ea765feb066ab930c782b325e8eaf965ac9c67f3adea94470455763147a81e957e249d698691d574dcbc539d38efe4f9c7c592d0897adf4220d8c84fa32ac1f9fe5efec86455b4698f82e8d4dd5a960e2ab27a20c64d9bbea7f3c9fdc98584020d7e5bd419d39ae4603a51750e7f53a087fdcb9e4084a01812bc630c027cf641b9f3ec2590d68696068aa17e553629c696c24f23736edcd6c4cac24a286ecb00ba7426425d3bcb758c57a66eb4c2a9130374aa6ed541ebee75773f39c805c252481e21c393d0af66076820ecb3d180f6a900fc0358f68a6463492529f9f0c1625fbff8da5fdc27a7565dfe63f2cca2e4017fc3366b1a11e7f8ede4c90cb879783ba25e7886ce201c3a9130ae410ff1f9492896604a08d94ea45ec9fb223a03a0ecb3f9236a04cd11a9bb61547656201cef2289d6bd03c5f079c2fdfa4c1ac1aa611dabfe6fb25855d9c5dc04934781500540706c57e3f8c54b91874c0da671d8e10806a8d27be49df3903e8723c2ae3a2f0cba930e9b3da5864a2cff57308ec5954f73e25aa19be7d36793b4b3130343e95566c78875f55806eea07a9e094ea9acf67d74cdd7d572827fd7dc4f36868506ba725b22c0511adf5f1aaa7a4fdb34f393f6f27d7d003659a789f5fb5e13541b75ef996f438517af613e195dd7779492b49d0357d402bbc3f3d429b0ee0f8ed9cdf6ff399cd79136fc98c88248268807b16d692f5ab8998069f21b41fa1515cc39f87a29c4ed2ead66dae1abe43d13799addb0b9f9a9f71454da78f3e0d036412945ba9e57260e9d9502f8bd46b4271fdb545a51359bb43e33f5d2c4e06242d97d64403344189c4f2bdb9c7c6bdc2459b0c6305e2fb918e34e009aed139c65e31c9c33a9da4c4af4d151a44e1dd92aa67ec03a41290e823cb562d0c31b68150c47760e02469b6d020615554cb04cf4960f3c2411c20144c932a5850ad69b796f36432dffea49bee0c52b25a592733924a36e19f21cb5be726af0f9fa3eb66c1a3f12203edfe48e93ccc0891e33d1c01b32faa060f8c80706a0280b96824aee27330c55a2f0567211b55415445362c37322f886dd4a2df0cf453fbf91e1728a7ecbe80735f0cb13628f7eb9406c8232a963eb6b14cc650a7ac129b5065a899b63ee169ce30d5f58f380b60e7404b734a1f98aada80a0874d3da3352008a82f14ac03567f3132c01d8850df02b0581b752b4eabf3660a78afa26f158079837812295853c0a7e40c70770935ba502803bf478851e02912f76c6c170042edda76441ae6b5e264e1a2cfb5e191c1f912a192b81eebebe47029ea25c9c8094ac2e9efd0124d1a7eb8a8260d42d7d189839c3e9c129b584fa51a82c4150a01ed3a03096fa069a03c8b8e7e87e06556b7967205e3d18598d8282a4927d7c2fee2b32b317ee6a10f7d869d5571b0e961f07bbd5f0b779c2ac77a82ac8414581ffec637adee8ad7d7b70056ca65699850800696c9704a312728ea52456f587b0f610bbfdb01978b57f55b13868dadc353a50e7755d3de46b67cc1486cd5296be4239fab162921dc5ccb9fa317e4c98d4987c30a2ea15269ee228d3c82a63ac12565f340fbd973b789a29010dae3b37cf03b9e6e3e4b65ff610b3ad7a762bb433aba2a9dc2e4f2999066f12c0500c09be6daad403500916660bcda62885a2bc5c6af1f113ae4855be90ee2ab7e7fb16a9f8e7150cd491b04321343b26f8e5dd5b41ac8e63899f059b251bf75b8bd972c7f41491a011f90818499ed5fc7c732f5393e43ddeef72f8b7ac3937bae3917ce0516c5484932ee10fef8cb57cb63edd3c86e45f29b9048a1f97210f519b8ccdc51916f305049cadeab5ac2f3b1e71b2d93e1af2cf15d193b05b457f0addf4cc198bdd3f746bd90056c32d7b43160ff689692821f8ef1798753f0b356849e1f920abaa817dab5fd96b8f39e7cbbc9dba9036de59d94afcf01a33359a25ddbe7b5bf4aa61aa3dc06863540215c29660f30b956d9a32f4a95e14ffc9a89837435433fc9c65dc51ecbf2d6bc319e49127f98b85a8ab6d580af72c8d4e5466c5062f7bb920daf7bd30477022d84b3cb58330f986da4e1761c0a5f480772ebf640d8ca3a17c34e55574ce3bc4536e453686cfae1e41464c6630562a03986750d9555d6595bc0d5190416be1385b68b6aa81fd84e01ad47883d224a3f993e13cc06c82c65864d6f9394e194d4b8272a355303a177385f1589c5fb5c2cc17cb778c4c3906de2f00ea64af28454f249425b211e7687f99d6d9718d7868660e7bc1794ab1207ce9dd495ecf48e13b0731564664a19553becb9712ad0f259197ab13dae3b5b37ef9bc0a40dbeac4aba964baa54e7b430bbc17becf72e3a3f3dd395ce26dcafada3208ef71f3b346ac4249767e142aa9360695b15096b433858d8b3b96e2123e4f9a0319a1e4723c491b2e6cde9f364bfd1b80f07831e45e87e11d4233c8f4063da33de3e0810ae8635b5e5b9e3921ba14b0a940ac1d749ab92d63f542622334a3212d071083eebc9412366c60e7d2a20a97b2a1872946df4d368da50178becedef51a643f4e42089960fad6f9f716a2aca68525988ce555c7e0c112a3e4d51536676a9b3c8d6e2e75b88a1d0f01f7c872a4d5b65a5d0030d2b527c899c9fa4b3d826353a4e577695a5ba000000000000000000000000000000000000000407161b1e242f38b90a2029d07e55b9f3406a5c4976c0c8f52573fa5ed981b7e1ba0e1c2673467f1872a1ddc1faaec591a710fc962c51cba11f08eaaf4aa88b333555b6dac00d90e16a8ebb7957142a9c2495a1173ff2a3808efacf7abb4085c78ea2a9849e0d4da4935a90f4b4feb7a7f2d135a666096478a738843d5f46e39da979d7a1f338f502187499da25557a2499f028310af783db3fc70bce07d72803851b2a44bdf36c80a5b0efe8f49eadc718d1ee23308a3f83c04d15ac0a3a371dc55c8893c22a097bf7443a8da44a725ae7a8122d7b4052859e54cf6512c4232e7f75d7c79b356da3a2d12fef3845be108d12e99e823aec6811df179a6e6185fa3195757dd0c4c58d3a1ee46f0b0c529ccf2eb72d21db67c412c93cd02172a35baba250f0f143a942549afbaf970b0a698893dc395659ef17d760c2756d3d227138ad27f76c6b665f985569156c3b2c67fd34c4e0b873f2f183306abfcd3d89e3d28d6bed0cee3d10c2375d8a03a9bfaf72bdcbbc790289cb71f306d9b0f4562e7bb641fc4e03e8086360875504189001c5c5a40c5ae9e725bc626ab43b3338a02fae50b64113fb57dc01412e8ef622d84ce303b268114b79cf6ba079e72c05d90fb19015b191949281b81c0760a785d707e715afd6f4902dc35a01fe61823603efdb1813b7ea9fd68fb6e1c171f9295700c19b876f9b8b27866664e05490807781633750034688f76643ffa730990be9fa008c02687b0f192c7e5d867d7419f22029d88cb2ce6ede8bb38fa010c1e9917e9cc9cb4d7fa3cfc124ba57d1fef63c6f0f1881e4d879b5c76464b5cd8b5b14eab85b1d2d7af3ad6e5b716e8d3e26e3c4fe8dcee621a2887f5434803ab04dfb8c8a2a0b22a04988addc75371f39c75c7ba03eb38e77ad3d6ca1a157fed0195864fdf655d79de74bcacd0dead0306deb6385293d8ad8e850558edf3ad91a896e9ef680159b28ab8d589fd0adb981cb4c7568756493b0c1546e7939bcbd1371ad63e56cdbf7fa15c7fc227f74f67a8b98be152db7ef23c716df0e62237cbd7635b9f106d94143c0e1e95933ee795ec60563f9ef66bce60e5ecd3d82fc75e35c24ff9bbc2ae75e6445b7acbeea55110bb16e76a390643bdc53e867a4673d8e73bc15ee64c632c4d69266f7fa0759ea082afa26f3404f7dee4833cb9a7c28b2cc882bcc6b4a8a3e0c7d8e9e2ae29f529603a471ae5fbc180a7a997afd787e7eaf2e1852e5d2b6b62bf683c08aff8551f873f8d34a2dd393b15919769210c386825a450a2746d369685546ea23601391a14b2f42d60d31da5052718d933b1978f52f8fcb015e11f3dbbfafe54b1d8f8ee09ddce8488f9f83d1a54350b0fc47d91efc86dd27e664b0587a9cae1ef50b346d0e67a23b11eb1860fde7dc574da89f02b29c485e3a270a47ceeca99248b407b5f70d34a51bf6fd7e34bb710ed0a8d0ca23cea3d7de6930b10de18161d94b21f70d5243360c09c61c07da1dc6f5e90ff854f6dd8bfee8e78cdd5e40ea897309ffb4b6bed08d0d3ea03daa50812de115f18aa281826cea7e69311e84adeb41e519f95a42f9bb8f75f832c77ba68cb5fd7105b8852ebbc5a00e69b64e2d6ad379168a587151a3f9a60f4187e7410b0ddfc18411d20e246c8a49cd2ead8ccfe36c7d3aa60456c0965f62c88fd49d69ea180b0d8e72ed5c5a45c735e152ae36a4a226c1e989d1c417a9ef37bb09ca068dc7e78c5b14c27646de055de14dc9fa5e6df9b0e6cea99f1092f2af6f0edb9c0a1e77fb10051bc6b465c78cc05bab345a0b82a6bb1401506ca551d9f6e0a5f4ab9f5c1920d98763f54c758801685fc1e2b1ab0b5c6b2c4311bf2f3cec42636af5d13ec911cb84e5a83a7e8b5baacfc43535f51734665a0bfa68140e40ec0f2cc8e56242689b59d0631feb035d203e653ef6ccd73bd3ca22daaa480dd52947aea706595c2b17b98ccdab914c5580f65be25e43e4bf00dec5d44a373f9e8214b63c9d820fb49ae30737ab2dd4a141deb18612362312907a0fa519bf2ed7543952cbf9737230119098610f94d51eb1b9e155a111672b6c88786407aa53532ae9c0d112175404f16dbbf6a5b24188ffdd5fdfacefbdf4b4369039379d69a02c87eafd228e96c27b5884231a59d1ffc458e7d02678a10fd1c95004801abd7a9d5e258642e7578cf835d176616779178058c0f0d74986667bd926c532b0aa4c543a2ff64a4ea1bc2ee8a126010e3bdcbde79a569362b93a656b8b368a9ef5bf014c63e2da45df18892ff47d7833b82dc98fcc5d8da0c4282d6e8a33498ffc2ed576cddc3f4a765db43b0662164a88240e8b20b4bd3d87ac10178d16a5f56537f3428a0488f74bebc88bce565829f97ec639469dba806bd99701f78aeef7d21aa2267c88909a8c1a725b8a69c6260754d2b20207d8f6dc10afb4aaccfa4975663e635303ed2935d943f4fa23df86fd87b7d86db8d419359511c4a1325b99dddd6b87037045f9752d15cc07414b5f2ad17aa54f8ee1b7ce276efdd05d62e775d347ab1dd6c066d927850001bc17c8e48e1ee2f0786c8489ecb8da7133f2b2d5a33898a355802d906a94dfb71176a5881a00dac33821703b3f7e15c2b4637eff14d51adffe4de73a9d3f73f62a3f6bd286065cf6b5db461eb9ae04f0864bc9f256b3546179fc43e18dc8213e9be41bc1d2b7cd9155f46aef1c4fff85bf2f939486c7a3d2cfe2ab242a91d5185e96bc2e6f830f86ee4cc0f9d60a51ccc2a4ec73f4ad7eb071346f980f9927cb79ead0275351dcc4739346ed7001e3e7018645b77ffaa571e338b28f0c3718bead9aecbfcace7dfb4cb79ee0667a51f90a31a16db43f1b29f1e245fcb02188cb083b35a438ec44a754a4816bced7f773322b72eeebe6ad53876f421d8ead321b9bff04c7700e3f8e7a9c135152a7619ee9019778e85d358937d2737cfb60173381041d27e630968d83d8e42afffe51402f03a1db13e1f74b75c9397fa4a3f047f27e6ce35ce86c27ff0b24543f938fc757490e4a998e4dfec7ea3a7338f83d98f1d33e79d6ea8f9277f209eca6d8be115a3cf09f766076e0e873cef914796a880dc524f7eab7bb6b58bc399b88a75ba13e500397c59bd396cbe3f111693e88b19d2eabc1049deb5d0fac3cf2db7a991005d9e6b6f3818b403ff11d88def13a33b64835635c3e8584169f922c1bac049223c893cf454c666e39b985a44cb684c68dd38a194e9bcd50fdf2827ad4fdfc2789b2c8498c84ec879a85256dcd5bf9fcc939b8f706196a3529d69e21a37c37dff04bdd5efdcd991c7101a26d86ff98fb3dfbebbd0f39cd472158fdacad2811d7aec79dcbf0e2802d9764c96b279d45733a2f963a9a683b19ef34aedaa5fe5a2590849f08e50e9d1f488bdc834e200073d4326868c8b8c323490fb840367e2116d8006ac4902767e9093771ab11a188d6d438a7072d352e21cea41a1e11e1c7e7554edb781c94d904221ad376f48881843401b6c8c654d134cff32a532dd2168dbad64dbf051e59ade52b75ded01533122cb450eeeffe2bad1b5cd62ffcde7cd120ecb3bf4e331173bab02b13ece5bbe93f53ad52a1108151291225ec5ee940c7acf6ff69c5060fc5a98cb70f6c1258ea20c2f6732fe65db966d50ab691be1c266732beaccc81" } ] diff --git a/packages/web3/test/integration/handle_revert.test.ts b/packages/web3/test/integration/handle_revert.test.ts index ffc466ee..291ac748 100644 --- a/packages/web3/test/integration/handle_revert.test.ts +++ b/packages/web3/test/integration/handle_revert.test.ts @@ -109,9 +109,10 @@ describe('qrl', () => { to: undefined, value: '0x0', type: '0x2', - publicKey: '0x1ba80b16306d1de8ff809c00f67c305e8636326096aba282828d331aa2ec30a1', - signature: '0x39f77e0b68d5524826e4385ad4e1f01e748f32c177840184ae65d9592fdfe5c', descriptor: '0x010000', + extraParams: '0x', + signature: '0x39f77e0b68d5524826e4385ad4e1f01e748f32c177840184ae65d9592fdfe5c', + publicKey: '0x1ba80b16306d1de8ff809c00f67c305e8636326096aba282828d331aa2ec30a1', }), ).rejects.toThrow( new TransactionRevertInstructionError( diff --git a/scripts/consensus/config.yml b/scripts/consensus/config.yml deleted file mode 100644 index 82af54cb..00000000 --- a/scripts/consensus/config.yml +++ /dev/null @@ -1,15 +0,0 @@ -CONFIG_NAME: interop -PRESET_BASE: interop - -# Genesis -GENESIS_FORK_VERSION: 0x20000089 - -# Time parameters -SECONDS_PER_SLOT: 2 -SLOTS_PER_EPOCH: 6 -EXECUTION_FOLLOW_DISTANCE: 8 -EPOCHS_PER_EXECUTION_VOTING_PERIOD: 2 -SECONDS_PER_EXECUTION_BLOCK: 2 - -# Deposit contract -DEPOSIT_CONTRACT_ADDRESS: Q4242424242424242424242424242424242424242 \ No newline at end of file diff --git a/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json b/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json deleted file mode 100644 index 22d90f70..00000000 --- a/scripts/consensus/qrysm-wallet-v2/direct/accounts/all-accounts.keystore.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "crypto": { - "cipher": { - "function": "aes-256-gcm", - "message": "b4f1be460ba43885b9239529052bf14d3057009ba6e10836586d39b5d055130433465cbadf338b0dc0c28e6fb35f520a27c6ccb03fea41162b3c952208241e09af719b4295703cd0d4738b7d02a7e45cff9307fc04fb96b727cbbb802fac5c9b9b41791df2b9eaebdbd513e0236747ecdeff2f1ee2ad9920a65eba1bfcfc3daa8551844b7b5c342cdf261e6c9c3f2a6d192b6265506ac5695085588b86bf1833e045c5e9cc217272e922327cc8c5647cbfafbe91b4e659b592d0a2d7ed8e6c81a9a543a6bd014f066e3c10bd1b37669a2e1764bdf2e5f3d851c893c107e4dc328df3bb5a2de6c6e98b978324ff127ab2b5f1f9489edd3c7d0c24ea66dbb2bfcf86eb4d4a8549e3cc69bbd74d87b3e0fd8a56db5ec92e7017b78ac4265c15390e3102f541b224a694af06b663fad3efbb1432804d0a66d98564c23181b3f6c0ea1582f0a78da1dec95d6be9de55229434c45c972c0dd578a25dfb1c4411d3178b428cb6babe515e660b9abd91cc9ffcc550d2f9920e9b1d176d8969fe22a35bc83644550fc0a5af57d94473aba28681982bedcb27f18d266909d73125a021a90e93708632684087ecba6e2969cfb64532dad1f9d1614f0dbbe48b45d6dc62acb3afd2375345bd8d6a6e199f7d37bc2996cdc3879a4860cad19139d4757775d6781d1f4d467b3ad6057a139eef29360dd04cdbd691a014a7dbf7942c0302a74c141eec9e909decba938fd52c0a00ee3fa798fd5f69a6b70576c9475eb3d910b15c3dc542581aa227e1f2428883bab7656a49e2545c3324432279cd01ffe5a8147508fd4b36ba30f2f686c80021b3f630f987eaa21943ec583fe471a416902d7b1727a9afb211a104aa0534ff36fecc093a84263cc82b562ec7d1171b9ed43b28873faae291b0c52d88497b7b13dade51cc0db2b5b1464fb7aca44424b247fcc65f72c266a895b37aab4688205bd02b3c1b286876704fee6269ccc6e3c3ec533e24b2da6b8d5df39f08990d10813cb308c1ac93401751d879729bb73fe6f40ae2c9c01183d703f242583d0937d53d046f245fe54e29ffe92b3114a8691765a99d33f8e9d9c37ee77f256bb3ca2f2b9dd871d1c618ea6f20ab0e19a2c766196f4abca27ce30043f1f17e69598376ef4e29cb51cb49a6569cea3fcbaba8177139a13c1053a09863c3bfd2165306c93ed3d5cbeb205e2bba2c5707237510bc749c626be9814da155d570d8f372dabe6b6d81417bc857801676d13093aa390633896da512c2e00fce612ab431c0f2b03c0e085aed8b88bf490006fbfe7b48805dbcedcda4bda288c9e518589a848fa99f332bb0ff06d293916064b175df1d828f8fb38a8c5884313f1b9f3c1b39c063bd81fd56ae29b5ffadf0279f248177013e2622f541e22a8cbc022dd723260148bae3129ba12d2a5772dcdb3c45e5f55419b3151357b19712ce2eae840b7ac8f20b43c335007e82f355a1254cb80cd29a46ce95d0f70bb3163468ff648f9a098ebb8dc4754208d95c194e5bf745f63a378526c1f7abdfc31b73f2407f4ae6a26738423d892a93072257a584bd263f10216c4f948ec252431b1660fa22e0762b442a0281b7e4826582490bd8413a2e84b8ad49657e45230decf7ed4af3b899d14f94cdd32c9ab890276ef0481d3864170dc78b5d7b8de71e187c825d4eb1c89907826290660dc7bb3662758ad3fb32d07220629e3a808c00ddcdc111aa1a4b8dce929e31075750f0a37a22b86aee11c91dfaa3c3d27b7800e9c85e0ab1bfaaa1d541caf6f1224f260cd7d216bf0edd948418c029e26c01581dca0e8540fe55187f747f5f88e20847709742c6b1df3dba3fe99ff17f7d5063d1210753372afc9ca447308ae398373838e5acd56865b31e42ba8a9c55e2b0f5d4c48fc488485bb25112970b91809f2a91992f678ffc6d45f514b7347cefaf6df152f68c41ea568ce6e44616b3521a2bf10424a387e8f004f71317d253e2496dc1719c0402e9f59ab3bb627e57f1d6679e8179735ae8c2aae28414efa96f2cec6a2ef15c40b9b509bbc8696ee9512afc3badfcc5102a4d6728e9ada3b5d27f59eff9d673eedfb590b57f99a02ede2740844229051158059e601fbdbf62861a0e857bfe02027dc99844c24d5301366bc5c79656acb2e8d3c26691d453ba8e1d4e7e5184b2274ac90eceb53d58b2a781538b139cefa6334616651549702ecd10963c23e234e4e2e81527c501dbe4ba6c38eead6b016997605442b5a43104956abdc208fcc276068388f82fe532d03e3ac6737b0dc860f2fcc369c8ffd49255903df1bf677278180dc2f64eea3e3a95c08861fcd398a375a1da9e6a3977bdee3fafb76039dc1e0d6884b92225f93c88b54a7c4cf633f52c74459623fd8ce297b73be15fcb7405a7733ea2bfa19b39872bcd56b38cfed10843b1645c990753cbaff53d91f633da6d4b3faa8632b471fe1964ba61c3e55911bf4ac8a62c99f7406fa377a56425194d37ec8242c50ea4dee4d609fc191ff129c62d5ae152edeb056a34fec2a42f0afbad3a00165b0197f6e123ea51bbf7811d9a3cbe915eca2d72b172430b4fa2316f2285514d5b500de3c1384a904239ef9619f74e7452f82a4003ec06665c56780e1552b60dbe3e0e04a9ee97ee901a9c32a6fbab09fb48820067be149595d1d04c03b6735075c4742bd58202fd262b59b8f30de7869e95694e6752bf3a0df7c0a629e7c23636c6b8b71f3d458893d82e0ce88a8ebaec9291eced0b537bf37331782bbeee526d0e619537d984c2e16aa11f280857323be13575c426c2da0455323eeec1ddfeb28a4a7216539dec3bc6fa2c9b5649c0873482c239d453e83a9fd706334642ff185d35d05823ec4520d06de5d5e486d9544abe4ebb1e27a6384f5cb45f197992c5dfccbcd91fd4db6745fb88f5a0c8e54116cbce108a301df9c7284b55da4897d0712a9a900b0210ca52da0d09438af9044a70e3ac594ddffbc65180382ce85db470591aceaef3c79fd4f5fdf901be9e38ad190da28225603fcf2af5d3908d7f3a4bb89406435bcf05ad9f8951af29e564bd4ef79ffd9ad931b0a22bb5021b779bf9660626010b686b60c7ae27e22d7077c680477d556099188de44ac91d594267bbd06b60a22eace22cd2b71b56998dd8b4e3c04e30c4b3d5d45dcff1c2ac74203df86291430878044f2cd42c9122f73f4b613004e49a1429c46e79165fa4850a2625886418837f063a98a40cb5e25a01a2c11ea2c617b5306bf6b309cfb5794bd8b61dfc2bd2200512ea436d0e616221c54c83759743b2274d38c54e3dc1ffebac32fa6b61c65dbf0c1a977e0e08f47f96d46754a42cbe6bf15c4f73b46b97301245963369415d57626e4e6411b73d74b484dbb74b02dc57a75c105140a18c3a34ef1636ea7b54b9338042f84675b0d3900f48ca893ff22dbb013f556450f465c1d2bf895d7698d649a2ccc7d99fcecc52115a6c40f1cac3234cd86e80cb427bfa288aa57998e32c01a5edae0fe49f5a159f1d3c0f222a4ab0db5973ee4f8297cb772414784fd3cd08c4fcdc857eba904b1953f888bdb20d866431585bed4e11bc8b2804dff226ad2e359c7e1d790b077197388cd60d57920236618dd1eaf0f4961f643b5b2033cd4a001684dfd0d0f57113820555b6aa666e4b599ab165310fadb36e72d2824712ab0c01836abf96c25fc9a975a811e4ddba50a17dde4b5efaafc0bca1b4a5c3273c60f52be9f5e07cd5871b6585148540f16885f3e0a98da1bd0aa4f01f9ed48d6d2af87972149f0224aa598e6dee40fb00aec299e8200091e2b334667a88753ab721bb2f3894162b6e637c8f5a57485347c185066c91f2bd2aab3604b1ae8b73f6b93a351ba34b2e17db08569f29ae2b4d0e2335c82f0961a04ffb090f03cd466fa404309498c4ae8124fcdd24b3d410c1428f363ef75d8c2cc0702fc5e7c3e6665f25314543f0a6395cb0f902542f8937e62501ea9ae53ccbe9efc2d05ce23001021e9a0484ae566dcc820275eae0dfcaf9c37ea92734be744bb7ee1b3f4c67f08d9caf006db57fb971a1f0c91db29b98b675c67083362ca076d0cf87efd43a81ebd5fbfad7c5c9814d3634f8495230a7210ae55c197191c0a5ea37e17c3ec584ae4305cf352a6a3dafe69016e41fc3eacdc69c28079c0001a43a845c11c9379d4f31893d72d035a2a5d821f39a19302f041db4d0a7ee59bf822bd0dd83ac434ba6e922e39c484173e05d237f52d73925081879b1dcd66ca87c5d4b9bd2d7eafba25d138a07b4a1c4c9db06a8481532ab63b3ab33f5c84f41cad8909f285b7372f916ed3fdc41d92221fcfc0b1a4e7a15bc0b159b13f967fcd88eb6c13956279feadea88956b8a73aadbb7f876a2a7965fa90567eb6eb0b6c445ad8d7ded3a51e113f6dbf320bc0e13d97a36a890bcb30e3d0ce302dec39bd2d23acf56c8bac5f8ae8a6883877f62157dea262823a3fc536f43dc59b5d5a1115768a46829d3b819f997a0c5372701eb21d15543bb7a354faaa55ebd7c0c938c0ab49655e5b0a8412ee823518d1734d7344c08bdbdd3d1512ee44d07b54b98d2497bce5951c3f6f28e86fbf0a468b4664397b31cf5323c6058ec36cbc9801607b3c08455e973688b14fc3cc158f060e4817d0ad3f3ef59d79a1677c7aeb96bea8acad4fd193dbf05983ab89035227b88316494df3fbacaead59d6775fb68ecf97bf33de533aa8e0d95452f2f8bce7b7a238fa70be857b02f9ed8dabc2869ca2b598ee6bfbebbb589d9b844205f2b5f599ff9bac5feb7f01558d779aac823b95206a28fefc28e147e248104af25a865d01089f0fb2353016b8e7cee7de1de1e0052363b480eca8bbc66087b2f60e9edb15e4ec7a47f66fc781593f8b1f8d4eed7d4b8c82a149bf912a2be55a0cef52462fe042df13edaee14ac561e5007769182f7dc1b7777285a4548373b0ea81e5e6f6589aedde929f950ed74ec08ae2eb712722ba676b2d8ffc08b16fc3f4e171902ef77311c5db813fd57b04fef010927daacaa77fd7c7a0ff99b7b3a0105bd46b93048d262336457aea528ac494880e97de0ca9df81d43767336e143dc3a2db81a092d881efef168bf2edf71a3caada248f7a24a9fb96a1fa808ed70594e237ab31932a4f915affc0b451d28742dcbd8908086526c59e44ebb559ffa5d2d96268104a23b6c4252a0c715f97f8c673192d3b6121be38013a817bde6e8c74d89753d34426f8b1570ccc630c37138bb7e98447670ef3fd0d19f72d0b07d0b590d46afdc1b88cde5044593ddb406f14a50f83769e43b944220fd91612f0b7256acef3bcfecb26fba1767ce1d6c624ea74dbdf062d38a68f0f1161bad483264a79350014547b9e5cc29cac0ebf4073c4f06c46078efe202d3fbefab41a2e491fbc7238205baeff46a0e2f2eaa994682dc38a4f8866416e3a73ed6db9995ee5f503ff8e1176b4a964276bc0a92f71548687b617baa1be4e40937e532427b934a08799f4bb8dd25346377b5b124c62832d37c864a53f07993d22074550469d4117b0a2e296d2d2d4f5ccfd046c8bb019905fdd9de24884a112a66d8d5ba9bdb48c42ba2b5173eb7e8eb395aae6b8cda156ec0f0ed57c98c73c1b63c8e070dc3adac38014ae0443c148b773052e909b24c5b1915f9e7a79213bcfb4e0ed426ffce0e49cfe625e43405777b9e168ddb1d7cf2ed9608930eb21bdda0522d6a0aa621f419dce115b176c6e0461fad1f638fbba32fbc97fcff61ee21a469a217a299fa42e95ec8c5d54cae487eb6e360c56d5d87280d57288ee9be3fbdfb2dfbf8632b475549ef734a332b7bb2c314e3140492cf2317827860f486818268492361915105d3314b94b0ddb64c15165ddc6cdb5b1242ff794292797375741e980111df96337d407c34171f7d1a7ffa45fbc59559b225827f105a897c299336cbea1564b8af05036ea271084c64c95ec7bbf08737c514722e0f9dd6b9705c5d32507bcfebe08d4c1065d184c5e3585210eac0fbcaaa73cedf6f2767d8f9229140d7b492ec7fb5a00a2cd529cceb1033360edf3215c88e39aa1807f691d14bd9bbcf4d360fd42c63f24f7de0a099e5fdddd72d9f3a3c775491b439fbb3f5f5a69b141871f1700829749c3f36cde6a60647305410588d28477f679870dd0ab356cf804d39e8038a8f0758fc705a094154cf30c60c8755f3bfb8eadd8a8003ae0151be80b07c3601657e19b5f8379144f9e2ca1d42186158f7c418b1091fecbfa45ff6f661639387b2479154ddbe822b558af7e764a7f008e1ac3929e0504899b29a977b427b373482cf8685081ec970ae41524072d7e3fed6bc54af1c55c36aae3a81fc53597f5800aadda334661820c5500887b503a07b6d03f54cc1af1252137c18d542ac50c4da230af9c81cf85ce8b1ac4924a4a588e1deacf00e88bfa327612e32e16ec9cf405fd6f6efa058cfa4b11acb3d9563186be3ea01ac67064e5698b634cba17b7aa12b520b41a5b4926e9720d75286e0d42e0db96afe8e3878d624c85c958ccc00b7d07ac11041d44798c07bb405ed8d8d88b69e73058276402552dfca8c1df41d965e151df849fddd4a9863c0e3de55080d6c4f66e6f95b8f5e0dd1dde042ccc63ac0c921646eb304e5ab941194fbcefd2ccfb3a8e98eff8d5a62508b31c8dac9f5c79e28c22c2ace8eaf62d2b9109b80667c060eb49a46aad4be79c94683304e2e548041aedfff2ee082fc48daa491449535723cc47fd741a9cd2940a9bd9adafad8cca54351304768be99e345b406e2b8498bd2692176d2babe76409c08659261159ccdc6e0cc2c6182205242b3a61501c6f8d23881a49963c758e3c115b7bbf3f47cb72e0cff42ced9781bae73586b80559b2bca8c1bcb6e484f83c33a5a1459aacd9120fdd260dfa3e4af8615375a245054672b37304ad03551384ddcbd7487051267c19f40f151c1d78477874096f2b5529bbe9773e09952df7fd702389aacd57bffc823e70aa844e67c2dfe663335e0e40f076dcce860f46a4456033f274841437fd47334ef5c3415fac8d447ea23c94c56307d6cf76b96d4d429e6bd58663511537cb51d7fd36462ad3f918e05bb345ceffe7ba4e1ee98f653d689bc3d47c042daa6298d48dc1746a9a8d1869318556a8172dd5e162f5836adabe07aa3e91064ea7af400cbf2ddee01acb54603ead729608baa40195359008b90870b3ed8dcf36f7bf81f120a84fc64b8566c96830d1137b4ea7ecae655e6ab4ec78b976a791b52afdcd7994394a242afdd522a14fd1ef63e8d2ae1873f4a0e4b7afa711f07606d2e2cf81a0c8e4c2fb4e0b9a8d2e797fc1745ba07f5b169f392fd8a80412efe50e83433ba36c2034d9451f8663fd0e87859bcbcd5ca426abf95a26b678be06856d37443e30500f9f1c6f1f33c9b756fb4db2755139d949f8559867e7477e3e479e409247bc1ab5879da9f2c29dace801ffe282a1830ffe46df0c2b4b3979798d73be7bde449bc2e3c092ed7f07b8578d07b38526e83716cae07015d053062394a21aabf0c7abfa3cc5b3b86debc31d5231691eb49c5a9aed10600145e0b693bc05a4caf44c217eee0ad637a2575c641ce62f364886a3c5a28c3522e19da800a90cd42914260a2196329d5f91558d6cd8e47dfbb2a4b177533a9dead95a03bacd15ed4618244b118269ffbcd38562c3e65afdc7207a6e4eba5055e4ed328a648f5301f91b1ebf0f7dd6a4222de3cba56e6f64247c501dbb154c3d3a0e51935a841f69f104fc5449b3df7e4efce78628913abc0a78438554d192012b74faa1f760c32383749bfa96f69a542498f9ef8490275dc1d2859bef6f5d8cb61e12f0e86422a44538b939aae53377a4995f133cb2d86e1ad9ffe70ea675196999e8257c5dc439a975829e3efe3476a246655c1f56932566df583c6d4f412cf094cd68475f6c1552891b7b5ad7ae0b664ec83472b7ebb15a35e5c45e6b1cd274be0226ff228fd48a5cb3bb724dc9a87654fc17f3fc1e5fc42241636a094168f95a642c021972592088a0984d394f90329317786636fbb5d67cd1df51e4e861a34b47d0c840052b659f0ba2db492a364af9548cc19f83b8ecfc8ca7212f33427809211fdfc76fb4d15cc1bada9c226002505ad34333db15cea5dbf20cdfe6fbf29b82c2f31bd54377c4458236c64c6b80ca56c2bfae32cd717e4740e337f9832345d6cdcc9a9043e94b6eaaa1cccfed4881dc8251035d2716016fb1d732f67119ca207aeffe0be7ac1eb42d63d902ca25b176861b44319d47f0b93bf89c139b9b8edcfd572dca3b0a580bf013c5627c58cf89498f9db6fc62ea23a2017b3c6b3b4ea8b9c4ad57dd41f9514450aa4197075ea8079f0ef3066f29a4a124af472166287125ea8d6e5d1e55db0b9b1bd424d26a135d831928a81e1542657b7835103413aa6309121df6cd4db456e0e3de5370be8541c579352d236c19b7a1f18e54872e551e43c5e5a2d51cbcb28f7a145263697b8c729ec54344c78fa95c8e20d4260d47bcd37a7229b0ad83eeaaa0f4baa1dc37b4461cbcb390508e1e7a1bfa742407d7f0421db2589e571e153924e3aa03845f9c955a1242404b83e3ab6693881361c88072bd4fc5c1c2817c943bf319af89d7d94d5575738c2b6d8078b7ac871988e0d51c6097a97d98437e70b4af57d924159b7e80cb82481e1f0786de733545347a4cbb4d7fe780875fd7b4952783141ca4e6c5eeca3c9eba7e76a315efb65abf07cd8fc2ce5066c12f01d7ab1a5b8a0f2a97e3ed4038780c7843366f0025d1152cd4726b3b38444bac127ab7bc1b93f2e44418fa6137e328417defc83e5cab1e7378ec20978501a9ed28222171e55aa7e4bd201ea0b42582d9f842a914725a730a9c8774bc236209dc06bfbaf7e6841e1492967801292a09681fdb877225764af74dbd654652bb5c5548ac31e1521f29c4c01be8a54f8291cad3ed9714c1c636abcd837408762289f1a96432260513393ed4dc3d04cd69924722ebef7b9f7f8388e02141f0a748fab641a2da5c2ad9e80a292ca65662633e9a552e8451b98811c6721d184bf482df346d0d5c4b179b9751ad8b789cad969fb04927af9c240a0a41a4300851f2b07bfdc0ee9faac984fe2c5d34570047c001ada362395bfe43457897532612d0926f6dc7a9e827d2932d6addd15bc1ae102068959caccabf69b76e5eb462ee49abe75a66092c5c05a34c1358db0bd78b7875b01025465c0862882ca8e2ba82c6382e172f453e6bc975bd1b86cd68306821315fdafed2a5e0965f516be01bf084f8dff95f67c992f3b0d3408d9006504bc73b812cc55febb91dfb77a11ad89d21eb896f5986d7553c9c7a703cb76352807231b24fa7cf3528001a4c6e9a5956be84ce7e618ca8e44d13f121ae1bcbc2234a62fb73ceb85d0024eea2d484fb5e5002a263d387d9b0e632195124ac1642fb5359b8590272a792a85dd7c986f99513413adfd5548e301f12c08548f165b72e574818cf3e98c9b6135ff3efb10a6d481cb289f96659dcc2214a7b7b80274fee6e36f28d86012bdd32cdb1214b6e668987ae26ec30e6d91239b3043f0a1698647bcf48c27162ef64731eb9cbd375b6ed4a7922c2973c65aab7c907d37e7023823911d5a7178121bc76657f696416eb756c319a2a7bf9c5856dada0d99a8687195c859763e701d69e4521363272ca642a87c6668752a46d700c8afd7eb2df2396e64142a81cdb3f5d57c524e4f0f22703bbb399009831fedff2ab8b5ce062e0211b3fb612d3d7ff7d9a532e976326e936f813658748073cc56bd34558b4948d5d3bc13e3db46d1cba993e7206ecf3bcc871ae63659b1c801b2f921eb5988889c0e64a80e04b85d841a79082a59ef8a5f7ac630a0bb1a7214a7178880d349e7f8ff4913a69827667fb19f94f92b0b3a92a419826cb1aad138cfdfdcf909327c1afc5221d3870c30652d121f041dffc8c9551f806ac98bed16693c70cefad9946c856fbe59b0761bce77007fdcc8137399c76f2fd43a0da6c15508f40afecc4eab0c90e722fc309a7aea1dfbd62adac222b179c36bd0b48c3e18db72c7f3a96fb836e35b598205cf2bb5723545d01b8ea0bfc31d80b5676362288d7891f441a59530a2437b2b35766b54bbbab9135a2a2f7f857a46bc7fc927b40323d294bd81fe64c02d21f62205838b02caaa687607b1a3818d452ab1756917ec6a16aa3f01f6549709ad2a81e34b5e15aa68b3b2b3d10154e933bdd07c12fe0fad5f2c5b1d1df4adb09acb48d18386badc2baa148013035ac4c481752ae933cff9cbe97ad3ab63f094363da84a2c0fc89445cc2de09216393c90312848ef942d1820ca9f4954158f04693b324889de2837436c51244fa100f4e6b94d607d1811ea0e3d9aa4822bf4b95474814cd7ae3653b8a92301f56e56cdde3108d6c6fcc5817761e4e3e113682e4c0021807b7a15dc64cc64e372f0b71e141e76cf870f1f076630a41afc740ff8def8546dc3a0fcc594446bb79f4dca040b29aefd43eb832fe56bc2294a2041e8bd1da2e339224ef2f339cbe3da40427b95cd9a5e25bce48df31511a1f00582f50f9a2209dc319391f216b3670923555d6fd4595f5187f4f2304dd13b3237a63c484aa0eab814e83075f1bf28e0e57b438477fa980d4d35be10551ac5c4876bbe580187f7f3f50e430519f50aca61f8be7174a3ef28787bfeff1747f71c28e56a914d77172804a360ff1b05114a227b69c07ca95db922d6c88ae976d7153b90423503975824ab5e0b8ff4cb9e64a094417e2ba4d99f3ba02823f5e83c7febd0a5edf1cefc27dd447db914a094015a712f6feeff0462131b1b6ee8fb2a84210f07a88134354cc1d2b04c6a5cb9704d94cff02dd6a33ec3965c27b954bec38f646c39355423e3aeecb764ba20a5c8e2451aaa2059e62e03426c442b181f75efa9c274683bb597a87e851cb4d0a6e8eff52b1bbd6e5bed2d3a4777ecbfa30db0200578afdf2956f80df75d72a9a211bf6167730be19cb287ddc6df40d8e398d773a48238c6c041f9239840c676bfe6d5c95ae97a0c621dcbb4e02c7f648aa3b569752df57a4d0964c140abd33a2097e6421e9c9cfcd277e719722856032aadfefd6e98116043273ba646d6ce00c3095353686ce5e66982b11e1ad05461a720ec28073cf41b19ef9e32a575a52d1b8c6785b9cf0d2cc2fb8456271c7acce3793f60f8a53c783cbecb2f8817fd42a20b001d66ecbb0438bd25a88d52dc56e90fe7dc423cb695aca8259a92fe7b50cc7fd3c6b79f4049e329b3bf4035a7db3c107b475a4e113cbb44dee57d1c9661c228be8c2ac20f229b9d901fcd94d853ea5f4afc64b54f97b1f874d9ae1dcbfad7875936b3fe809f8f4134c288d6d8b0a8c2b31ef558305b3be65b961dd5d1f1e3a91a83bc76bf8235100858d4da74b956f4a4d1c9796743a4f406eec51ba3bde3012d45ff424325e9f093e177eef0de35cbfca75688282978ec9df2202246a225dd996caa712783ce5e0373ab9324f5e0d43f41efb7edc38e97637bfa036883e7b67a255efca070b560f0c18350e62ccc808fc57a0f80c63ab6ec4ca55ce08de4247cbd695ac419564341ad8c4ae66eb439bbd84bbb67a564d1212c38c706210353f53deb7f342a190373bb5f7315ce3584484ee29ae9d5f5a22596f21a93ce5fc560e8319b8881f130d9ce303cbec39fc4334e7cdd62e9a9e69933dfca6b4182eae90b5cc5ed04d531c32999ad68aa2e6c6ba9de4ef0d08db09ff5118823f12997f8ec72ce16c255d78770fb5ff9194d571faf970fa9d60f8804319240b5a6de3ac461f3e36f8e5981e785de971c8a8779ef0bab9df152d51a31115ab1b808a4e93ebe22a90cce76ed628acfed9e11799b933003b7ff0515ec27cc9bb379a9cbbeb6130ac116fbbec806ec5b5ca2a0ebdda1ae41f69dca5c5d46415f150113464dfae3e803153d4bc9b56ab623894da411e4531ec2a58b9ff6cc04bdbc21a84d58e32266d1992610b3d3cd7b9c8545ac1624f9392b50c0d127112a5a50f945180f5a125cf75279b9ff84ce6a4b3de90918a8a4dd98c4facac864eab41b3fae57d30e59b19b8deba95770b9d2f6e848b9893eec787670d2066146b0ffeaff7ef401088d11cd91954f2dfc1f9599c472ef0434a3b2123fcae75a01afc65069ffe69772ceec68736522bcf72c8e5fb4247a2c0dcb0e7b0ef309f0f0803b5b43655aa1c0507c9fe7d105c796a4f594a5fb39304c80847a843f7a8f5dff3e45cdcaaeee9691bd0de6a2ae61a795d78df6172acc89b8e6625d2e6dcc3e5d33c8fca1e9b58c23413513aa1d2631f8447cf2bb41f71c6e229fc64c229b308037f750d1ee1b405d1e889d5bfdf114ab2f10bd38a31feca99145984a470a33645ba7a4b5e69548ecc75d21f7662e742510d24d061799ef297d446261b65e7950a1b664ff695f56e06aeec9b7955dc666e9aa8ee440aeea6e0b2b8f52575ac2b70fcece77830bd44a4cbc86c5e36b973df877821643ef3bbe54f34f85834f6de1f25fc478b2894b50b202cc9b186404a9ef5eb863eb466a7a013d9cbe5593d2a02aa13842e6ff79b9dd26a91ef68ae5b01df0b6f190b5299d778c49f6abd79d7f49f220f68ec811bab730183cb52561be16e107e89bfa1a4c86bc384597faa1846549bc19f921c169fe0aa523c8d378288b996e06cac69de46cd5e9c6d0361ddd7807f417dd08241f44b0edbb483c4da22fbc061dea9e9b3e23bba08f24a89df7f24346663aeaa307ed5c17b897084889a84ea4a6a557ae4bff2736cc59873adbb6c6fc1f0d160507a68e106bcc943703085bd6599f0d0a19ced807466b4dadf03b9964827b38e688cb8840c5ea548c879391001d1adf8232935e53ca3e39c9ae2798138c35413953cad7fe2cb94696ad668edd67eb28b8c0978d2831e3d737eae7cce44145e700202a0a8954a573f3d593d15c37bd125c663fd215c5279a32d822f0dae216d0dcd3d02786251fad25a776e4ccf166b5753703751e372e0c6b1ee0519cf033241bbe480aa89f1dfdf7b47ff07833497c4153d354aa6e4919220091be466111154cfaad76d6dba5a2a25a8881996a1bd5c1c99e355b5c5f426aca446f1c9475217006ea7f8297a4ef62bf7ab167754949c0871561261afcf70ab6cb6b5917d2085c17508c6848bb6ec46b22c1ce5a526e4f1b8f782a8d5e45714612668ad4a1ac1c7dc53d8a47b0958607f17b2a66b74bafbfbe5eba7a070c961994f73f4d1ab392ea6bdd2e3487d28d07ad2554630b2652455c4d3049adead8b4ce9a061a789584c79c43a7a85b0d9c278de69695251bce82440d3bd81e421fd2d6096518ac2657e779159a256d046da243f1fe43a6ca26513ae7d6651548f3e68fe33e4c7a5a93143d0707e5601b687c70a414166bc1bb3bc4b6f954a035cbeb1396315ec634a33940d197f8b73cd2e734aa6369b75cb4d6f5cfbeb06831c9a2e3c9dbf03e89eb3dc4489106fcbafbc8d3799b6e0e74c26f06f0f8d3bccbeda103681c3b4f93599e6693095d4dc3296af1e004be54e3983b36e8d2c885a685f81b3aa2fc4c389ff934700416958810102bb3f2f58d150a104e3b08d4596648727f3077a81dde07268b03b7aebd9ddc32991f82e7b81075cadcf456bd9325db5739c205d8219044795ffda471536e6a7022fa889cc5108d6e67038dd4b8e7dad90d89ba5e2de3c64316aebe13abdb69c00beb1aa0f6bf89c325912c8b98c09d5b5237afb39d98bf3df2de8129a8bfa20aa1cc2397b3d516c7f3e265c8baa096a8f46dea7f584f4390c3791746ec0926b5e08d79d34cac0138bbc1f5c7c89f53b553fa2242c6d6f26837bc3c139b8f9fd6258feee0ccaedcaa546307677d099db5b302f0b447ef25f9b6a3237c05d4081f016178faa1d20ca1d56f84cf66cb18ffb590240ec5ffe03410a380a48e464ba2688d63c998dda93158aefd673ab536aa114f4a80292df2bc4457f87d3743d2db0769efdc0ade54177efe231c79ffbfe59dd7cd44d5113e5af69fd5fad8695b3fb55c91dce340136a803bae7c9af5ac62363dfb9bf5d6ad7bed616a4f885689db5c56e86c397b5051412c1f34611e8ed19d8a295578b722c69db1ded2a0b76559f629f26518a0d7aed60100196ca9b8360c6f6b573fefc01c884ee938a72514a20c79ffb1712887c95c45dfac6b902352665437f1d633e6df8ef4aa4cb1734dbdc74e545cccf460ce0cb483128be08a03360f6fced7152e56cb3c8a9678510327245d52ad51598338c8774d6451b76ca35517e0681f668fb34aa905f4e51f573976713cf539102d697c87039347fc7d42da410f1b36854292afe999049ec5f65b2d4b6700f9d8efeaaf66d53ad7a6b67258fa1788a91d517c5388e7bea7f8c6831f26101e3075c606ffd015702cf7cb19b4e8d861ba01309b91f0b7c8fc449676481782f4627870639278a38732f63edb7790b451b285b1c608c8667bd8b03c550fac0a646b51c68249a8661c851c75a2fafbb15c6b26124b3cf173132c0d0c189c702ac24d8e1790a549c15bed590d9e0d1cd079f961136b9deab42c8086dc9423017c6b03edf6cabf51fe10ae5a9a2ff31098f1a66f8dea9c751660262114a546ebf577e921ece0cca169b7d41cef452bb160cfe1caccaed977db9158c87f6e9775cfd9695465e193629f68f18fd9293830883506774648c3ec6036b5b0f85a081e63956ce694c69cc2c6c946cec606320cfdf7fb47f1bb8d3209d57d37f1cc4bb0892d8cd1ef551a66e3f61ef3e7de13e7030e0e24225bfe696cade8d81af77ac30336b44428c6dcff2a599c05eceda607ec0beb339b328914fd091a339796548a201156ed5c447c5aea3ac38082b8ec968392a8413e7d58c4c0019f108bf482f0a4257d79a2b17ae22bb2ad902728ad3e7bb6339c0c56f3f993e29c30ee5c0099742c87fd4a1a3683c1ba6ffb234277c5260e2fbbafb5b380afc192409bcbd1a989694b54ec5312298dfee7dee79542037ff649b823a84667066b895701ff4d5963a93aec0331becddb9c8e8c99f0cab79e9057ef63e9c45cbfa4a018ede8adf3b644a69b420e277ae5fdf7241d9015033fc661aa7852176785ca92be80fda7200f9add120da70f01c94661e310fc8528a51f47fb4fb425e2f826a8cf396f96a62dbae75b08e4283e3a8d2c9ca2d159b75b16c63af423149aeecf5e102f569470339d38a9bb04996c5339815dfd7f563afa9b8bea56cd348ae04f6f6ca932addd5b81c2621a8c93181144c002d0f5825c048a3c35d9a0437e4df806ffce81d3ea7cc667ae231e8f499e28d0971c86a2e3f512d479f44fe08ea1ce986eeb5db6b275b9d922e1d826023b64a724f0a1a7f85fe4ef6d8029310efd3b94f81aa74792c6fb7b37946810b0b85cc6775d0532db7765a3563bffb3f2225dd6f515ad459662fbf2a3858c9cf6e648a0664d9b21336c9d11d6a3fb19d2122195fe984b8acddaa72091e4a10b2bcb50fd3dcbb218e526ea4c6f1437ed25995ee5e03bb58b97d1d19395e3099ac15ffd411d2aaaa12599dd94d0cfc9accbc2a5999a7ba25efc5a3779a205221b94bf5ee2dbca6388c8d5a8c13c680693cc0e9352005ad5d5e7891be967d8404906b120fc5165e1d1b983282c53a5ab15739d88b584a418aced485876fb9ac298160b19a89761f20dc814789bf658ff67e4d0057d44c050e35be32e6a2d2479da596dd3b0480a53dd6de52a62bf518dc06eec743870008970ae11503099abcac8cafebef9f352dc16dc74c1c38f1290e6d3cf6006c71f6e056a88309440e13520bbe517ad081a5fe3e68645a9c810609f113c5c66a1d9e551ae0b9ef26fbe26082bc2a8b07899fa25e83c4f3b21ec37e8222333266a55c0327a7ce21760126492cb2b4eb59625ca0fdb8fa1ca4005a7dee60d08ac0e2f2c523bda3bdb503f5a8a854b23bb55121d26b648eef8fb5423011544b580a9e11828d0457f77e3aa96dce709066cd75ad372472b7af189a3a80a9e53c06a5d7825f62f615851204aa7b69ba65609b4f29a70535c4609366d6d9f1bd3fcbd0e24ae01611f26209157ce071d1136dcd04dd34d58126a34c9dbd87eda27e3ae7ea02ef6336dc1e7c3f02dc1a37748c7bd4b35a05ec017f59d21c1483ab64fbaf006a49017eec2689563c2e6a67e535d716e9fea790c5336bf6d40bae381430be77c76cdac0fe3199abc5d96fc41a651590534a31d232603d9dc5eb9173aa77dfa829fdf543dd60c598dba4326459314c7a230ac98bb5cc806ac92a6fd67f0510d40158a795dcb73d1076ec7120bbed92c43b9b2d876e2179c05d9cb285672c737cc1f6510e0816d995725ff90ad7d2ab0397c4940eead505d890b7dc1c5979c0eb1e80f4f4138a6539261e6a759c6028de50f33704d292019e822920d89e04a1a900766e19a46cd8bc14f9dc2bea4f4c38900fa3f63884460108ddeae0b890ce2c8d9ad9e52f920d4ffcdcec07fdc05663a9cbcd12e03c8e2a73454135ceede6b77b74bb0e766e42666b3caa7f9f5e6d3d92c96be6e6ebd243f58ee0ae43462dfe089e962411a58a22160c4a6ce2355b2ef3729ac91d80cc7471f41abe3412f91a4bc319896c513eff168cee0990e9c64a9f76645081568186806f50cf90e7abead936e8a0e0a7416e54732108970979c7a21bbe53d7efc0d1793c85ee630ad97fb9e3cfe7aa6b0273159473f89787af79a761e0e4ff301b906921d28f05f807ce406a8cf87381a10984b063ffa60d13b4153ea88776749b2308980c04c58830103db8ab595434121d9a595629bf12f1fe11adb92ec3515ce5332a03b628d998e24dacd6f966d394163a7705c2316778ea1c875ed266ff34b23662350fd24f25b8c51a7155dbe3dc99cf3fb2cef6336fddc4441d48e48f76362aeef2cce14cd9fd54e46def6c96a3e551c87a817a4f55ced8d44db23889a3d89216adf95d36d124e8162c917a8616fe5e8dfc3676092b40b21adfecb5de5de04920a5b14d865b86217e0bc877c5ca6744c572736455eca9787aa739000beec08a60c0f35a4b9aef9e2949c1b7cab8de2da59c8e2f60747a9656004db807a93dd234fb1e1f9703e9e70365eb414596e0e528eb7426d8d41cc65bb7cae926a818918200958089a8357eb0fa7520d29ae4eb16d8043c6fa7605629ed3e099d858a30e4f2d53fc775668bec15076272a4426d95e279b0686258ba28e03591201915d63b17108292a3458eb8aafa3e188a8fde186211bc45185614796ea632c322e1d624606e8e8f1c055947095a6c069c870757fe59ed289b6edef76bb0b468895599e241baf38bb685fbb4f5c831861b0f9eab35d1dc4f7d0ee56f21f8570d3ebdcdd0093ef5ae85fb69d20c8b2446858b6ad93b33bea7f4e8bbf41b37502f871b2a4e6014bf3e64a420730eee717beb049b1e44874c0b47cab7f0ce8d1dbc7935429791be71c95eaeb9fd507103c58bfbe1a2e42420f94ac8a3380cbc0838daeca7298af205423ab1aa9a3436f2fa3d642c42121a4db4c09718669a66ca5bce721401ec7117563b5e897987d63810c3b008316bf6fce699df46013d9dc7534e6f66cfcaab70f562ea922032ad2c003ed607416ce15125d29e5d2822f98165c35708d8e9b94549c8f10a2ddcdfce73cf1fddaafdd66cb29f0dcf4cf1cf388b48797cd0e03e657cbf9e58ea6348d19baeb24097afbe7fe160a82d86a6751752327d1c94440b63440c5cd829e9849eb0b4e6aa585c6e1c583063bb5419ab2b6a4e37fb0d3462a4517a8605db32f7f15ec415d16ef8dc79e275c15db90779b8d64eccca6e432c6890f7df22a8ea8f8c4c69f4ebeb2b0b5c28849e4c852c4cf83ec7808b50bf5652713b93010629e2eb01c9ae4405049086afdebb5de27a689c13556a2b3ebf6daa3e1d104687c7269ae143cf98bcb72a0c0ef0a695f85efdb87b0a10821b3489dc628f140b3d77eacde7ada3f6a5b174d4d9b8bcb96a67d4c814d8eefdfbfd4c9126f0160b43a2d58a99c0e8801caf8d979cf350a5b2ae06f871ad2308379acc5b892ab0ec6fcfb5799c79a9031c5c4149057f8f095f7e4b40ef9157749eee2fc2ee1dcde3994345e2d5d4867e126575bee2be0a81875fe97974dacd0e60347ac7868ac14ab54df91660d515f6c01bec47c8382f90c1678ab21220ec3386aca22373dc779ed84c43f6e03d087d9001763d33de06502614ccfa6042e762f274b4d622af8fb4b662b3147d90ff9a3e68fda71e89913491df6d725f555e2b083d1127f37fa96afacb820991466db1d20d05db55b9d6b784efa2caf62123c768319987e1375bad198c5d0aa3f11435147287f16e9eb384cf65ea3e51e249ee4a1dfd410ff2d2a86198f1a18f9bfcbd82e663ac54195e5a925ea180444a7e796fc3074fa5ab01389111607420048c5dc28fafc1c2c7b38db2cf9e7036fc778825d0e77555a761584907ffde5245775ce81d4560473ee16afb20b30535e857a8cbfba70b30c7bdc8dd8ff594a0a194ec42aede2d590720367c8366b360c724accd1c74de8d2576c774ecd8de84f7f4894966dbb6ef37dc4a12362539731fe4cae99c2e500143e9b48451120288db649789cbf0b2758ef75735d6b8b54b22b8cd87e6b02114b50caed5abf65aade8864781f60243acfdd1ad487040b6a5cc5f76079132d34c33eb2b210223c5722d02d36d5ad1c2272c09eed4eb70e9f1513e337f03431fed402d9f98bab83af6ce3d7f4e08e82b7d00c5f7f0ab5c0f7473c93bf2ab634894b8db36a355b90302b79d41e3271857226cde9873619191a630c58f81616cb897ca4bd1a902f744d42ae3ff8d0edecedce006b60e1e11ffe59d060fabe690348ac0f9874c6161bd61a3b53fbc606d7e86284586f62f70c893710fd77304d8bf181d1b3d0ea29d2d922293fda189e8c573e66896fac18fd519ec357c20dfa64070c957dabdf866abcc22069c56d4d0cfa412ecce9e70e2f9d7618139a7690e7dfd3f90ed2f2657923f67f73e0e986ea88825a9a4a920b6e901a532fac02dc1bb38d31f1fe6ccc6b84a16b90d16a27f8ff0fa580967a1b99fb6ee69ff323405441b77cf34f48c23acd3678cb3ade9cbcfd35051b647a91cdd5a49039ccb4411dbcf53e0fc611c2cebfc39259ef9f54bb43f4bd78f68eabb7370251fd0d4a72e4c4fe01304938a644caea48bd394b686c6d29f2c0e94af5baaa4a599d2a11cd87f3f07d5c4fe65e579c2e8d1dc28f050c4c2661dc27e3da69b0ee4ee3af5ee6cee16f5fea176eacf9cc8d1c0f9165f949e78b9daa8eb5cc32515c1d9f4bfce17c62d36091ef270b71101cbe07d479d48eaadb9cc35a8009e7891d60c6cf86471071fa5632b67e8dab381ffa9b3e83226fb9bbc9efc0f2aea9413be54e343720b8a14b2122eac1de379bcb9e2c44720969b099b228cc4db8d6845dda0a36b4307498e9060f1ffccdee7fe85ed686af44cfda987188e192902ec033bfae1eaecc547df9a9fae757c7c780a93e02496068e24b8f7270a39d480a8527df6ded3c9f4012f6cd201093f3cfe73518324b7ec861c6d9cd973accbefe9973f8b36db1c756b0af4bd2d9c04095fe33b41efc6a7f600506290620eeb53394ccf441fa58ab6df322cf4b35ca7000c8205b6d941789b4009dc164528403008bc6353f6b6509b99f50ea656fbd3ded3613d73526aaaaf122949f24641b68b6123a61e19cbcbe8119f18d66558e2485f79bcb0de4a8c94fa274fd7fe0932533d2222874b40694b6a26236f781aad6c78b9a4d0285c677cd01326c059fb1aa1cf8b6a73a5276e547506ee56e91e8b9639a444fbc37fefd989c75f48f8dd1c1f3a182b5c9329471e252c2d8d304d4fd918910bef8f8240a297b0852f52bdb698cde27967175687582d4e7fb0287c9b1e3f9621123ebe94034325c824b1f53c11905c312297b3169c9dc3ae61259d69b2b1d0c440221eb8301da715e8eb0881e9de4162ffc5a78f181f92af58bc2631cdb81caf71475e740167e197cafdba70b0b91c67533667001f5c97fdfc850dec60f942de9ca926402499f65048311ac810dd14c1e6dfe8c41cc97711605a47cb824c0cd12aa234bb3ccaefbfb7e35d4c4ed6993aad46028486a104138ad0272e7e4baea9200cc0592345ca7e699d7387c7b5d4768d469bf5a4c02bb92788578a7da491e70cafd0f6d2102a045e49ff9ab9baaf6977e18457a0943ea209fe0a03112e7942fe8105236fa3e1fbbf3942a3805d52ddece2487b0774ab60807effc28f82e2dce4a417f8e32de5da6d48b0dd88163c8bafea7ce3b9485e9fd6bcbec23b4ea64177c929578617448d821c6accab57b2e8f4ab942b237bb11b8b49a7d282ab9af0f89dc01f8b892ab5ceafad26f4e9eb218e08844221c59200eebab9e4cbbdbb5352263860c3d44ff6fb37c4965fe75b87a67a33709596c2d5c382ccc56b7cec0de77d64a75aa283ab0c884a1d00927b62391ebc83653530807f0d38b339df5b881265a0a0a4eac7deb9dcfdf34b6cbed0c2799144d3ee3eff29d9f305371b3ac93c1d3c88c1600ada88fd7f5b36653b277221042a0a08db44e6f0f5c9dddffb50d3697184bf159ba304caa9e07563dcaffb12a35b3cbeb0f5c4eb765968ea542f47f6f8d11282c4784342261437f56bf40253c97a78fa3a223914abe6aa9d7526e2daaee8eaca5cf3d07300becaab1250c94e3730e870f25ed102893d69b840f8fcac615d36aa9bb8c2935430037f1f74534c0822540654393c21f8ef0d2556d716990c6880456dbeb4c47daa18af914fe0a4ba7a24aa054d62c7b53453cf5de3e86f11023cdafc578eee36bc133ac5d668ae758f1b6fc0c8fd2b33ccba993ff1ad5f6c33a9a90f4c3b18c0cdfa0838282b93b3cccfe6ede2a040d1be0780486f2c1a1b865c5e76fc66cf09fe960600fb659e7bd3e5cf50e3012d6edb3fd7ad9f4089e4948cc3050575c7967929aab8ef8fb9a12c888552d4db09cfd052e5dc20123c32bba4ee55cd572f1d57099a4103a5823588e76ead892944ade574002afa539cc27bcfaa91bd9a5563366288998b53bd89970f960be7cbf7459fbf22f089b20e600a57501a8bf9c1230bfdd4f7496c85e0f59c9c92854df7d58cb5b07f9938949f98f23ce6614ea043c42e2e119929b2f5665068751bed0ec74c2953cbd20b0576880c9c926f599adf6d5eeaee77435351401c21440d7c517822c7cbfc292ebbaa99f8ea237b23362da07065454074fae55a4f18c74f5c31fd4c1ba9e0f6bcfb58ad6212a639f87892866ab7fc8a0b11c456eb0be807e68c8121c99f28b75dd06252f2a555aa27b5effa0f5ff2e7a2e37f47b56190f44a7527bba99d3a51e15d121900f5fb076f203633551c5460428902d16effff0eeeff46dd5c35956be7aebd8fbc06bcfdbe8ff46a991933055bf090fa270b12142fb25ba3749e67dbcf7a373f56828f52f03c7229227b17d6fbe27837bc3f42c8b005cd3681fc4b19ea59ffde159345c4a28157809e1ec4d387152371f0afec0554dfc529d7cc8c2a6682c305368cff40cab343f5fb54343d8a45cb99ea1a8ee5190e5b5c80539126a3000ffa985f52edbafb731481b329a080f804b6223e471626004084e909c8123bd49bbb7229692e94e78d16aa72503d6590a80cebc69df490106900eda712f607ecfaf6aba9f2d75cdd58b85b6f1265a4ca1b63dbac20df1fd623e792c3e2ac7290979adcb5dff56668d877d8e6782e97f924334bcb6b421ae294f1c0e0e363a3cad62b1eab35f60e3a6648d8dc5662a48cd913474b76d938d7d888babe8acc9900773b66f7968dbe3168eaf475843086faa517ca5a3ceb642399a2de47cbd534fc154ef9d3449ec4d0e2d9ac438268007701dba27972d7599cf2b72d181329925c6337eee1bda4d3161ad5e30f8e65260d12c813bc1f5e6ce5e3791af24a7001651cd49d354ad62e9523111aa83ff2a07daf1b70831b6374fe96acc7f220c8dd792bc474318bb30144872c7be77c7e40f668b37a8d0018b442490ef6b81f2b84eedbff88aa2eecc4fb0c9fc889f2f6ea5f949a04750a04b58b822dd4f29a1a55b125669557c7e5a4a463e08d4894874551d6e810558608ff3a3d2bc5f4f7212f8259831b38e2e5145d80ab274fa792e0b6dcee8f9be708514837de4e89135274ae391d746404aa5530817d86231d123f79300fc17840bcbe13f65d7e1803cb2ee248c406fe369bef4ab54e19a47d9e0ba1adfe8d396705458f0de58bf9fd439e082b80f39b8b02440aad38e76791a122a2b928556ed0f5edfd47db264dcc03021660a4f3afed3ece617f343b8f298a953e14bf0bede5cf51a3a3ae110ca1bc23336feb4050a62d5b5efdfcfde42c08a48673e8720aeee2267559008a2e8ed578aef1eb21cb28cb1627d30908d97d59c9f91baa482d99da9a3be7a61b936698c93e08c1dc763ec6c3dda9577c1af92fb7f4bdeffd13e1177fc5c17eabda715c078dff0e373281ea3313d910ed952e4d36f0f400771242a59a3e81b86b9d22209674a55db12b54985b8c82dce626209f94c7a17cb7b259ec4f88fcb57c4c9e20fefcecaa3f28c37eeaa5446aab848a3e25e2c39f56a3f084ea6d6fa0faa99920c5f488d47d6a3d1fd98507ad68b944f972830241e823df15f05faf79ff3a9476e48271eba62c5e7176d6830dae5be73a939d45469e7db112a067e9949bb829e2010bbdefc70bdf61c191ce0321b4b12abefe03b84ec49e51a15f17e5d66d3a920757e807d5d375031e2432efee9231dbc9e95d72fea1eddf7b275baf9cbc590824858b68d5ceb2b1b558c9f8ef4e82653e2db2af04f95f70842c7803ba95e604d6cc5de7c2cae3efe1af94fbef1081f7750c884942a2fd603e92ed14f15bac1f7619fe4cb9f04774203d2ba76d6583671848fdb69b48e04082e4d1fc6fac8503b5d8e7230bc105e89526b0b794701edd19a88faa021dcaa9f804a957e23ae3ca121ee330addabd4bf2d9355d43ca98a6e650c8fac223007e635e10317726c5017b12e383f8762841227b1b29d893feed4eab513107db030bbf9d6ecfcc7f655162a0dc6d99d6fe604f037f265f780a5047fa1cba1b642e92d88e9bdadd4a113b698484d2a5bdb9d0967594085210787086dbbcbb33bb57b06475766f0b31f2a39757ba1a033b9016578022a0703736a3625381e6b298697e9b9ada90f88bbb62f584879fcd736729cf32fc9127f4a6530908603025c980b45724bca4f904630184299ddea839d2fd8228706a31fc992bd6854d9f1efa7cd0a0f7cbb4cb445d761c0e3de908081f008a2064954833eb04482a4b24aeb21ed5f2fff12635ac2ead141cd2ff9eb2e417621961233c6433647c46e97d3d5c71eb30b5be5fde3710dc7684497f2a2a0c4ce5a15a5a68d2c15a2ba1d5fd88a2f170e24c4abf5be8325c831a70ec8d8d226dae0d2cf8a42ee7b8ea87bc9c9d8af1415ffd3e6a5014743e0488abcc0b6728deba8a0abcc57925b8a813bd4933b4b936e2b9579860e4cc84c99e4c0505ffc16de991dbb0fc7ba29344eed1ff09afced226f6a55b98d7c3a1683a92a8111e522e543e56d98c9491de9b0e2943497eddd0d8593a1c4f70619e05cf4abf882922c1a46764a95c955c185ecdb0c290b4a4083a5ee0e8824e3462c79a2e1eea931ea6eca65ee63c0ac5137086acb8d51e28e0b1f9d1676202fa98bb1d7c91f95a7570d50c8ea448e514df8acdb0dc3b319d806cc5edb9b05751e81a69903ef879fee729361b36ca67c907a9607fc25edfe34d0930e4dea14b657e8a531ff63e3b91272c33f17cca4bc8506b170177894d0a368e5d0da2747d9c6e5e039fecf541e307328ce4fee7b47a890856c53393aa2de1cf16384860c6971a7fca7a3d66204cd08245cbb781c4baac731abf83142795d231c15662bb639bdc7d121e7c98079cd40beabbdcf87c8a6cd2afc8adb402be7a0cbbc35c1b658b3a3e84f09a3e50e5f1e09d7fd378aec2ab770356073bb83000f621576ffc0881e4eba199682c300fc4a5b02b381c6b98fd6533a25c7389b1bc176d7e810227b49d63d8df4192a3a95d23ffabee63e0e0cfbfc26c11795b919ac54f0fadacfbae6a6770f2a90b6aeae64eaa3d3a3b50e7872be1107c0ca747c0cd22455c1c514f9bf6dc72e1ac3c8ab850fd8d0822a759ce9e8ebcd4dbed57526d428f2ada06dde51a4172c4ead491cdef1204057b5874ce1f0e9885d728a33501345e7393e84b2e4a5b1d9faf1ae6b03a22b935c071053eb2eab99e1e3fdaaf19164081c709b8f8e5cfe5932294e057d1e13bdb11e81fc7fc977330b72ee8772db1197c1db923c6a12d3f98672b73af02c34350058ac73bbd5a31fe8c4b93bd444bbe406b9f020014f79bd1403f32ea6358dc19420146a13f2b1a78251f30be8170d5525f38ac223aedf62e4af198f7259b334d87d83fa4d7d9212a0d259723476cb3f728ec6eaa8e77f5d42240b0d4612be345e0efc05f34a3587109148c7973caab9aa69987758e6e4fe665baa3eed691741cc5faed312a8c11c34755cc96100479f3190f0a5f316c0c36d1d3a4524793866319acb2aa3ae60357a842b5f6d0098cbe3986d9598132aacabaf273e3703d5aaa649672dad1d7cdcbdeb9714146bffe4ed9f1270fad832f6c39760b6603025b7e553531b0043e4eed116f2ea8ca71bd8c2c8ff94969d9c625947c658177c078657daf9e1aa56f8d2f6bcef9c1d0a98c57ecc06aca0cbdd0f6bb51439f02644d8933d2b5effeeaf3d004b18977d827efb8e665e262a6886108cf9230215b4ea5f2117ff8a5323e8ded6d760c557dde030351dd0f2364fb4fd92b96ddbc032d12e2fbe26f84f5ba5883e38a49175809c5d8e112fd853f5c88bb6563e5ad203352ba1002af8e3d60518841f7d302e838fa3e677cd6397709f2bbe2e52a09c155df2c883425a7df19ffff1383e3599f4bdaa1b3cea8237cb39c64a3c8f8f9d75d311942f87d5fc5b36b901acee84a646c814de22d3cb5b22ae8a94141a86f0db9102b03275db69418a62ff39b0ab190eebc7a65513c19e81b932d605d0abaec77caa5051839df38dbf880460ba8faf3962a17ef6c1aeccc3da21e07b385ea909e69861f2d665b408c36180bf3906afa2d95bf6a50f2654c5a0db917c997b1f759f5847aacb4b06f82287ed28b81429bec20abdb5fa459cce0c9989563a304a5037075a557d0e6bbfd9efb4edc13b0c4b3f57ff0649ed8283569a4585b157c9f85e88dc255676f1184e3a5ee9c9e43eef22ec4f3704cc36fd03e8a524b0a67c3374757dd064afdef69a3081f0a02704feb96386212279804c35ef70a1083e195fa942aa78be88bd8ff8c93c8365d5749713c0d4a16ef07a3b24d7a6a20b0cde4f0a6a9040d2e4ed2a416021d587c65a3c80e22bd3354b50a3012b01e739f831ff540f4ebf2e59a2bee9e28ca7f2ce4a0dbce4c35583fb765927270301aa0926a81c38226b8ffdabc13e517a1e2474061c2c7eb28351af62f83b86f4b539d14b6483a02b8d8183eccd2a56240853313b045934a4dbf2c674e98d055fa8d1c0e39c7613602c9e8696e999a78366621be3f58c5296b485556c57c475cc10a2da398b4f9304086f82bfd82e4fbff2930ff795643afe0d5bce4e354252a8a3ea2cc2360988c6f0a1174216da2a9d732a19be2855ad532e428e91fae68aaded9f499b59f20d7e6ffb65e3726a6dd5fc0398b90bae9504268a0d2172024261f335c82284b286b45c660d4db203bbef70ec4c3f2da159d64dce49baf25979a61ed8ee4c338a89f48a2bd72432584ee1147fe806721df99215e2b139dda67e3871d7dc5e0cc8cc2883a445fa3f9d1d74cb659658f79575ed052ea07edcb28b6d33648d732a03fdbde7728eb404820ec644653e4c96647d18aea8cb8d98ee5fd828cb4e1f87b860f4053e9d708c7833a1da789e83cc0036cd745cb12dacaa30c071e4cac64c0e5d5ddfb0be16cc1bab143e721a40db5284dbab8d98fce58ba6363a31ac37eda5637a0127f2bcbd200b3bacb64904c013dd21c7d5e7b4d638868095f3aba16dc5d021d6c808d98c8446e0fd81770ae67d83b83774c8128d9ef88828c88f09fabaf96c4a93b48dc8dae1db9b866e1a5a7ca304906a9418de2c134e4d127930de5b3ca3a90eaf9c83d1d1cb96786bbbc6a986a9141746d28c69c2896ffc90c17d307603a73862b8fe45e703c9ca736c3a0b5e38e498a6c8920e3b13ce50f75c655932dd8ad12f50e7e09fa185db462712d513dbda5a61b9753e0a66dc9c9a80f9688a7ba611b8f92873519ee28e6f9e0f685ba3ab7864a6135dc969282abaceed7144e7c06b0f8f6735a7d3f035738c07fed8d3a0a85b00146f1a70ce1548b07ef5ee3e73e6f155437e277f6899f6d270ed1f7c7b2ef7b7a1d01f5df84ae6e1456342e56db7777ed4b5427244b11366c499a07d612c31fdadf655055a8e7c1d3affcebe75b3017f4ba41ab7d45051cccd316c2a8ac2c57ac58a1e6e20562f3b84681cdab832d67b169e99999ccd508efac1a108c696edb347323b7c397c1187f5ca805cdb8fe211fedc2b8c87c45038724cd7fd99bbcb7ee839c4ef0d7b483f260928fd9a3f30e8dabf2702e80d6613d081a61f33dabd8fedd80c084dd80ab7dc7ab3138831c8ccb1add39f5c606fb1a79e252239bb22d021fdb7fe1a65325dc086723787216b52924678a267a332d4da089afff861db7d64458da34eba09e4c12018f5b2aacf6f1d10a17513e6e04160105e7cc6d3aa8e9dfc6ed985a1da1be4b79511eb9f9e7caf522375de57b5ee8c1dfed3a03dec45583e094920da24fd522a07021aae8c61f8dbbdfee68ddbd426b65196d721bf6f8ce5e0a76863f9f08f97d924dd0d113c906a1a4c5a31210e110b528795e3ca9ac91904c9c61e24dac10bc2c5a9e7be434bf245822961077445f899f0f56ca6d9d3cdf99d75cad43f425fadb51fda5db464cea63dc6a8671581dcaf8d23af6fae8876a97603b1ecf94e7c535a943606351bc121d7382daec47038bd4878c216f08202fe71e055f9c82c8e900ac108f4eb33abac0a46ccac35299d902d88371d8bb1a3444cf4ede441cda5f264dae77524c5d0b59e1749b6583e7b870858b4b4791014f5502b536d51ead97b1819d02d691decf09ff1c79608679a1f2b8ccc401cb1fb379f4572d546d5ce55e9487a938eb126feea5e4a0db90872a1ecbbc880c6f42c53bb7b67b1b3a148e0b9fb4beddf0bec0dfab574f406c3772d998bedb4818214d6bc4193375f79ecd2c24a845e7cadbb94ab76450d49acaaf14abffcf838d9b7611b122b6cc56d5c69eb4b30afb18bc03c34289a9f8cc348dedb259f78ef287df5dd072736898bb0dd9e97cbd831e7f7674ad6226206bd99b1d4f9399860e2eed37eed3b78712aa9ea13efb28d326087bafae5148c6fe65e1c264cafa020cec7f20cb5627cfad72557fa6135cbf62159f55447ba591de7eb2c11dec2734c8e2ec4eda6936eda42717135f96639e712f151df97894218595eaa493301b9d185e27b7acaa60a24ab6afe2638c147b2cf2b32f18c6c97474df5de17c3704d318c5627f227c61099465f09848bc63a8b903162e13b7357ef4d421fb375d037b687ae1c4d37bcea23b6a92a1810de0912f49896e7ca6e7f9d26bb7ae91176c6a6dab72018b10877b66a62b782578e7982886cb14c9a6c2079a39908ef8e5d1c949fe253bf16fc87f49265b3e42bc8548a36e9a4b1ee64d382a841f88220436acd1ba16eaf0e72cec9fcf3de180ca7f3806b17815ae2e6a873301bc0008b00c2ec55f6cf866a9d2687b55c483d3eabb3e93e52032179bb22aa6cd912860d73ec753de72be1686df09904a5a1e0346d6a3425323ad9ae43eaa9b42c0b2a9c12ee2704568c0f710a99121cdb466a3c3b67a96f28b3e63c7a6109ffd2c47992612857b21ac6f371bfe579e0e4f3493858571328ade050fec74946ef2ac2a1fc806403cf1fb45aeed8c127a97edc050592b10f3b5b3d4698bddce38df38cf9222390d16d62f30a8a5fd5e2127894fbf0b719786f47b585f8d2f8860e3020f13cb0a85392bd747ea4c9341ab9ee467fe99d99da32d65872272b82ddcee5ac9382b33ea0c1f5e549ac8ae1817461fb5a68c8d5f4287b908b68c75f9b07e4f05aee13c03f2a527afda3c8684149a75aac712fdfeaf3f1a8b87f9a45ba7ac2e017e76a1b9977ebe76467c9b2b254e648d5cff9fde5e8f778d67b68a0eb303aa6745e04b08b9a26570f337ca5cea151bbd6dcff53331869a7ba62c9e0cd368190aea2197a472116e456879237f3ed98c101e97a1f08c6c369991cb3f5159aa83fc43bef30226c9a6a2ce5b4665314e3ebd7fc89f3f0a4d10946b3cf428999d2537183a5ef416a4112876ce7a408e7fca66784663272ad24fa690689526d079ae55dec289655a2efe4a05b845eab9378503ef4c317c6c5ba619650ab97533281eb2e141f83e4fa649c5a096f1929f51e217fbcef226326f4b142d582c6d28b6399db517efcf3d9407720ad364add34fa8d661bec2c50316e39a64c83b9d3b2344056afb9a1f2fe63f25c40c9aa32b814b5ea110d363a13604e364a4c148022b2002c45837ef21db5b8e2472d2caf31c2892e0d3190a1d885380b5cd3b338c11fc8da787e2787169cf33e37151b0dedaac151920763e5794ff482e1bec51adc1bc7ac20c47e15594c63d8a42270b0e2b4948f6b34a317cb53156fcc7b4039153ecf6c02ae27dcd9199108a9a006fcaa1ee6d879066d4acc8b14a6d8131f649fe0a23ffd593ecc146556763a2679ce4d1e0cfbfb3bc3fa758b27383e3883eba6b85ea1dc2c9c3ab58dba5a15873e67108b7f702df77782c4aca745a3b8cc8ddccdc159196a616499e2e12ebdb7305cbccf7f231f9c517d78de797fb8bd3681aebaf159d89ff047b372285502c6bf0fde7f0fdf33ceb4637a115c125314ad35b38e8ef43f7fa46d5c7a6b054c8a2e1664bd103243d6e28389b35d1761b970543c2e59cf0e34b3af3f3f62123371690cd89dd950c2252f2e182f8b38f236585b0a47c46e9e3a408916dade23d4db680ed8889411a88781b85feca9125abd816cb7600a23c32342cc71025982a0f82abe5565b354ac9e85f36baef52fa6d416ac43c5e6ebff070491e062b50e388aa92d22a92d75df72f8d153380d939680e28194177b2d593d03178639a9060ec59b24a8aa2f213b57ddd23df5d0c9f112b546bf588ed549ec27b68f32c8cb3299b625b8fe2be87857343ffc57257188092199c059e3bbf3a7e938799a4eef3bbdd58cf1b98c5a608f0214bcfe4ee6ef10ead3a7a543f92c51a15109496a98fca6adc6f292b17a856ee712b25aece90e0db6aa94f60d91c6d91fa9fac29f3e6a0b6d633fd0f0634e9e0d0504a9395e7ef8523a8322061a21334474329d6d8496bb4395f5c0953b766ea0452da16fca90d91ad649f919afe7940f5e876b69ccf9f819fc15aed49947e0a77ffca76fd05cbf351ff6ff2a5e3cfee81398fa9c111d6e0406a041bea3e211a5485565243e0735fd686780519998b70a5023c95598d70375d35bc5bb3d5118ff5fc8ceaf124f17bc7378c3f7bc97e97ed4982754979417bbd66ba9c24a34c2f6d6f379ab04f8f32e3f67db91ed769e615c6a547500e5546f5edab5a562dbba246639e4d8a2ebf5a11fc19ccec541e62246f8c411e75e654be2218e1b07ed94ad0f6541f5c176f90b398e7c442be630758018b8fbdf23a07b6195d862e32bb95eee497cb2d93acad3043ab477fc59147199b5b17121939335deb9456b38c21dc743e364d4b90df8f0527d9d57f145d1f2fb693035179a9b55333b8275492d2d4ccb6c05bfc6ff04cb400280dea13111eb42f0e823b0c0b8f2dc5292c5cf0cbb5367677607ee827f5584d9d3d9a136d89f67202a8a044b85ddcdea0fddfd7e465364cad297ad58a9280f7e64cc41471ec76d330906a197faf74c50d35dba687eb1161d600ac41908609725c93414e74a6fcec0b89cd67cf4405e682b7587e8a9f337d96fbe376b068532ddf166c51544ad5d959487635274803832ff54166ceafc6eac61b1c0772c5c39e3599cf7b90542b58a0af5bcdf38ded06e40376ef449de25f1de5803051da84fd98c65ae5c4d81e21628d3432fa508959cf88f30280f596c4d3f74538c18053142256834eabe776e33858a618f71a31a02013fc59292320d796c4327eae9fdc0f4913a902ec35f66ad3e0bae7cdaeadd470dd0b223dcd6865c41e0d5591fca705f56f337ff14fc31cd2e0349d1b39ea36da414f7a1b7db39d556b85ddd3d6d88a60144b47118199c1a50e3117dc67ce899ca27613cd2cb7d764ea8b6e260e6b245d22f9fe79b1e374e9b58423b5718b13a97ec5a9e87d138c24b2840b20c2283d0478ff26a7381700eab6b36bbce8e9ab799cc12d697a03769b36b969cee0f36eaa7f54fdd2b65a5a5c482cfeb2cb7150cfe17ffca12145a3361451ed1e3842ede5a21357d19a8bd3ba29a8bfe9e51ce00fcc7a3913b496dfd2a473c9877fbab3e0ee648f171ceb09c3d38540aa57255648552b04669edf1c1c334d25aa7c3426291e7123ac7b7d8e13a2c75276da1f746fc3f69c282f2291332cffac31a0bb9434d761a178cc957fab197d31ae70a527e99e06c5ddac1d65a4f5444ead2768236fcd1d5454243b3e8f23d835491b4945ffffa323bf7ef7203375b2c31c4b71b47de7a944273824d6f7e9fbda5c24b4ba1e224a2c20a0a4a969effa1ab1d1c83838a80ae3337ceb7bf97513b0a7fdad4a8b959321cdeae7fd0dfa2d41256c24a719644d4ddbcab59884f036dcb0c35977788e0f02f96217af7162de98a1a5f6704e2b284cdc5310985980602b323bd90209c0ef76fdd3ff2d1bec4894eee05155a1f98d82ce2c92c7ff088284193fe7580f2c6931ef026281346789f0d030f6618f47583578cf875d6d2a1dbebc0262706b53967c09a89c3c6316b8d34c8856404ea13c104e534d56b9328088582fc656bfa219bbfc5e3eea3e1753a04f6edc89b713056cb7ca9c8176d5b02f7a98695bbb93549907bb4004d9c637c46a25b1b6abb5b5807004d77351b176d72d3f54964517288c5a3d14240947a22593f0934c9f73185d69488af0dc9509a2834deecaa990357644b4e17a856b1c1148659a44b854a5698df7b490d7f1be6c3fe75809e723d504e19984a07e248072f6719ad981a171eb283a62bf6f5be6a10cac944097f57c131b1de69a162cf5d06d27da1fba790fd48cdb1ba5b52cc3c27f282cb7be43ec5a783483c1170bcbfa65026aa25434f9d79409ea03fb0babcc2be3992a90bcdca7a522d6fb2a7d4ec43eaf4d79dca1f67324405fdb6beb7fd2e9e82aae66f5acbf18ab390f25186bdcde5702fa5812fbd98f1a0d96367a8134553e2e099c4e006279fef0564b1dd5bd5f8916fa5de35ed2d0bc58233f813043bd9e63c3b1e2ea395d086a519507cc6c02fe4293899ea5c4a939e215a8d5cd9328c8938de10ce62440bc291e47ddf33decaa0e8400d9fdb5bc40b9f16394281975a51a66a453a53b435cc88f58de7b30450a50e77bb2d20ef0cd7c2a282a05add7fc2aba49ab4e1efa90cfd451d55414680275ac52c93a2e5481f65c6d7c1007aaac3e6439ac2da753de0083f112dbdc29958c11a0612cb5d7c346f629d6fd60c0af9d23511e0134549086070457d1cc1c3f3edc68f87535d516dad36d674cc31a17306217be5fc6d67047af4c2882e9d517f6f0da2283f00c721ef6a5564272abf07c3279f3085704177852d1bc626315d4203a1357b5dcad39c1ed7dc5dcb500f8783fc6bd9a11cba02c2394e70a67301bf5ec6e2063bab83374177042eae0985c565255bd5dab62daa9d06eee34516830a8ae384504eaef4e0ebd2ca19034447376251a68bdaa2d091ffd9708453081c3bc1dab90e858f8a9d65021aa2e9788bf9908df433567ce72be3145c4500435290484a18dbb2945a0425de21b26cd34c8b2f8b529d357c535910e6b4179638712c46fb33ff1a0d1158373b9668ece89c49ff645c1a58bb8fab86fe0e3a77f2405f36e38e676137723b7ba97861198ef474068a98582c44d1854ce33c0fdf2acfa84b2115204391799544db15aa10542f607eb616f5983191a89ed0c508726dcee460ccc2bfbab6d9091ae4c32f1037944b0010f9eced0da417573bdf640cd116651207d75ae7026d48301daeaf1ca95a4e1f977c9b80a1b09f96f060f4e97fa497f0406af3ddf93d4bb618994e1dad19ef360a9989be858ef670c4204308a7314c9d03bb8c074d10e742a5995ecfb1764629babd3bd15de5770a947b7f9aa60998ade8a9b857c1ebfe101e8c76aac2cb3482f107eb9cabfd4a803fe23a1d57192722daac91206c0ba07f9639490bf4e03e5d973fb19ffb544c4f65b9a58880ad36304fba96b0b339cd1c95f6c7e29aacfc62a81ec91a19281c1a40a07ff77e1775c04a6d234eddb2dd4c29fc46985f2499bd011d29574906c5c06bd97372eed13950d64c6bc8573b311d3405f9d4b2ab7068b7dd95766f4be3227dd98081fdc4ee717f7e2af58226c41a5334500247e2c624ceec5f4dae3d9d1a8480b6dd044bd1d9413e500181506a47a5da1314f688af1d26e217bc6cd14254d5305343539906df483a3e992ff053b2f790c298aaa1d9136778e0991ea9819c37896a6b1dcbb2e6a0483012c1987ada5ca3c138d26240c8d0aa104681a46e7e3a905bc334bd09bee3ac358747d36aa26ed094fd098bbfb2bdd6ccc75eabbdde61b25a706c2386879fe3c0c630efa0f1b9e3e86dd199558e8f80f45a2159f1831788b33a0efc608545eb295561aba93429c2407283c48f0b8eeaa229697bbd6c9584da7016d56fa6b21285ec08e970db8d930d394d53bd262c63a5183ddc82a03d97e52b3eee1a8de0fdae5c49eec9657740c6c8f30b9c6dc55f6ef0cc75c1c0c56a1a4ee52ebdd0ce9990c1fc7cb6bdcc1125cbcadf9b50c805b799e50982ae6c9a48b401a631e6b1ae3c0bee474c8cb8f731ff2791672ea94d8cc3f2c575de43c4adb71310d546e011aa4d06253986da6ab1bffa6ea811d08ac3181accc8fd4975fd97365882e8ee52041fff56e8bd09d4df6ed3cea154e5c24424e34878e0e013b150243dcf10b6328b604ee8325d2fcd9e9139503a2e970376a34d2699b43e2ae8aae86129e928e6c79d40bba5e39131d5243919fd96bc0edb4a810c2ebd6996af58e9aa2e9f56affa8e36af315b742b22aee8739c269d1029018432ddb7a003cc37f4e0846f317c822db9dd8e14bf010ecf3806a91724238f0057d0ac9f45538007e2d8d9a9c1cdd71fef504561915d906038fca26f1a019ad77b5e3fc95cdea5e22c54b9405feecdb35b291a1cee87395e4622e605104e025fe2365304f5f80e8b2df97ebd4d9bee61520a3cf265a7efc42e3e4a7bc6e04dcd5f98f95efa6f8fa67490af87216faa418b4982b3682b6dbf745a62b34b53e36e7c078aa562af738c2d2198fe6ba0e4fde2b941d8f0559584357c9011616f57c12a7e67bfe82fce2fa895267e8e2df3f3eab98477c241c6fe7b1826a7d7fef9b9cf966de60f8cb26df22ffa3546a2091078b59f5da3ae948c139b601854365a2e9202c6f4878af040d67fe598f3ee9d068da3816bfd04732377435697b243e2880a3b3e4d1997c4362baf402527ee7dacad27472c554fe7f07de30764e5cdeae55e6f525cf2a21120b759416ee59cb5287056ca5bbd2e1d74b398a791c96c9ffd15c81bda031868b01c2eb8aae2e41768e15f6b3e77d0a8405f8bb6330247f8df7b64288c51e8777c4293ba9e7ced2534809327ecb14d70ae4c6c8457aa1f7572002c939d74f87030cc75e6bb508342e7160d241cd588b32a4e6153a28aeab8f15054bb4c5ffe8fe8091c9bbea5b8fab13623425b4c61e1a312f9c605b19df6eb8711ae8123050c721a4db9236948e65c310a19c585f1dfda8c6f04d5aa831d478ee5a5e11a2ff8f9087233b663b9cf004041e4422f48a0241a384423916167b614fbce50938ea0f4eb3a181b877d5890be8b513d36cb099093e3182f272b92ce98a12d5a075bca9a8067a84a16e432a3405b39c44c2d5146affbaf657ec2ec91f750f0db8c4c8a4a9d6ba96654e26e65a0c25256bc3bcd6b0951c8ed311ef799484f1f6b7f07552e23a4e99e6a1a286080ec6f5ec5ec1030a8d8cd8d72c3b75a78c28fcb415280ffca0a72b5d05807876b0618596446ebb31691aa03b3f6e7caf30d8584a4b4cebef243a7efe0c30785aa6fbe7c5dc983964ea6c610b4959bc98981403e932909109bb68a1d1bc949712630798ebd73a58a590c538611d30b8e1f5206d8553b49dd5a532940818f6eda09f0ee26a4c4804ca04fd735fb9495fa2749c937eec79ea68ed33d13735392396219892d4f294a2130ed60cb69461f4ed613bd584ee73f90e4fc624dd5740938ca3a4d6ca939b107097920eb114fb495d08983dab07e477251931cb2507f4ac4a9044a000f49e650e60b1a9e3255bed2733b1f6cea4d1e388128143cbe1f733aa55d82bc576e0e3a3adcaf2e5b25c84c109de8651ac14f3e33efe0989c79e202881db897bd90b258f7d5d6f4bf5838d1123711e7387e872cf74cf92bfba861c9fae0eba316bd1ccc072130684d1aff099e23a59bface80c9e584d04bfb2206721ef09cfccdb1cdbee5c21a79f3476c9fce2c0dc0411f2de48bab98544644f28ea0d96380625c46ffd170adffca883684a1b6c9e4900383f291dbb02c41c4f78458494100f8aa9a0b4690727ff2b4f459efe287192fa841c54812876d9ae46453a56d77f21dbee8aab52da1b131b85e05ea4f9fe6d0f1827c7b72c6f0e8a78dfa7e4c884f1cf6d7cc8c2df0384350a4350e45d47ff442b2c445bcd941f768c3406ef0974c95d9f7e4f48ce3422d5fd95d56859d5235578e99be0e777444e36ff7f0ce4edb55f0819dcfed7b431f0c793c63f31e98ff0cd2e8c404f1172790c6b02269c7410295b44c1f60d489fed7733314dbc747995c0bf94af91197f22379c2be0305a28b3bb6d524de548fa5dadf5459f8650c6a653944a923af769fe170449ca6f7c3011cca9a45c39f464f42d31a612a749989db4d82e22ed8f1d3959969a3cee622e206f712228216890b0664be1f74e893a6b3f2306fd5cd67158861dc255598861c4a38e4a68bf6f4bbd2553b019ff88ab1e526f5f7955d14a12353c47959911939e8435be49f4729ea7615e92df901eb04999085249cadc3ce05646ab757923d1cb8cacfecc60ee7a3d1648c916a0d2ff852c72443d90172626dbe53bb1f7710aabec4395a245c61409680d71f7fcec312079199d46541540440156d59ec1b401f1e5dd6a0c3fbc07c26bf139c01b4218554bc846e4229f523c5ecab61cfabb5127bd0bc0fdb663e336aad9feb8b5b6f6752a1b1c2e07f2ba2bd91088a222da056a257f8f72aeab25c3c2f0f88fca19cd530d14713e77bd16d3eb77c496e7add27bd5a485f406e4ffaa8da1c672d45d1821074c3d2ec4bbaab37d2ff54c988e2ea372cca4e3217ca65652c83c284cbecc36c1cc12dcbdc9b18f21e8addc7b4588e5cd510f5a9b30abbf76cd1f9662aed52595df4da23e93e4d865638f1f89d417c9ae09ece451e9359912804cd1ff083bbc6fda90201ce52537778938d0b84aa2e7b9b6ec2b54d1998f085bea0c6ed5f48743ff13d8ad258dd0122d34edad2d1075b24a28b2b33feed48f465c13c1f7c9d421c7a0c7ceb45fd5c36c141d8d2ea8d6e046d6d656b3bb73aa311b7c2f88ecff5e0b91ac9efdd86e7848c20d4101b2f424343e9f517c702748c03ffdf47b37c27081f9799776cb16935c3ad52f37f6b0629a1aeac0bfaa329f8dfe007394b9e9e9e65fa5739801e38ca145bfcb55e5cab838da8dc98ddc9231c0a2893e196504c0aa9efc6ed1134910681959d78447c100574c6986f51ad3f68ab71937a6030cabe707b278dee8e50e9ba051f8bbff08200883b1e72842f37bd3b52a2ed7111c104088abcd740521249fd34a3db469980c7d968520c91e74e8cc54568d6528c37c00b7260a7429d3e2acb18b63d072eb8174b3c1654359111b580304ffbc98418f6e852ce8f491df92f6bb5cd7db7a1bab263cc1808c7ce0c6df47c32e4b48e60a196fb4ac40bc3377d8b411c4ddcda3e1de03d6016cf74a67ef58cee8df6528bf078fb845a3a30294b6d7943dcaf6003a97e58ea155cc7353a1492c62dfbbfb443ff857bb7c177b5bee97c7d87c57b4d7120410530a7f2e7232f217c7c31f076def017f0be1dc7023c0169873d03b3bbee43309d65c09ea0189703fe149ee6f50fd0f649c1351d5d0255c2d56ae5b68667a9b55104fec39b574b04f5f06ac6c81c03da3aaf4ad652354d55d6ef6def19bf4c8fba228105f20195e2726084e22e3e19560b2f1ab09a53237f4842ce3bbe10b06a5dfd13287fac9285d949782f0fa5336fd0251f8271bce7197c2d418b88f2faf1edfb806c6d72c1a087fa5fc4dee63d316a972851ceea504e9ac41ffb2cb28c2616f6a4c6b7facca454c984debd8ea433d043622777ee81697510de4568482650b5a16faf280496d07dfad0c84bfaf6134011680db6ddbe972f365610fac938c574dcabb5808371eeb73f6ca3e2caad849cb086acac9868ba78caee02c0bec34f0b9298df46e1506df095fe1e473c05f2288a5e1f6a415cffec64af47676d2db40079f1c44e68ee05c3f1ff3e3ef0905e81dae02f55631619f6d11a727b3b406bc39d51851087fa3e16d0a48f2bc549ccc519e14a001bcb149b6601de106920024f21261885df3cbbc54e007178c074ea48ad14115b4c386197241de0cebfce50c1cd9bc1ab432082213fc781f20ed4d9f9b15f2dffa89e265a2976690acbeffeffd8e11aea4dc93ea9a49012d99aa60abb80682cf7c2fc1443a44c488b7b7ddb2de2a8712f7ef6b748f4b96862a469d31c466134f224e5b8ece0c2ef257450e7f4c712d7d683a20cc1a99a4a77f24bd7fc93df2a07ca35dad7ffa2bc1032a99424b6ab8bd2f7fd26a0a53ce35d5cb4b7cbfe5d8858fe4da820a44aa8bdaf9007cf87feeab98d246c5167e6e4c6063524fff5d2ace52ace0dba9156cade16735904fced861497ac9934314c996541ee5339398c5d2299cb5a1ece55732d5c0e47a58ea4c189e4d7c8158a748e852143f13372e68c642cd4ec31a7661c0b48312019fd07454c43f441921b99f5a6b380ce7743e2569b6839a8968d3fda77a233796e49ac9a9fd4245f255f46560ac168b8de634e9cd7b335f507e235ced980a21d608c7ca61818b756746569b5f4e0f186d2d5a972d882d14dcdb481d56ca2fc7ea35d2a0882eae58f5df62e7acc9f25bc75f790f7c1fd6388f0d6aab34002cd726812eab1015bacaaff39bfeea835d891e3d5b1be729aa41f3fc7026d66469e60b68d11e734aa91a78f97c85509106eb1ba04b72def7d1a3909140e4fef40489470cd2a27cbb37eb2a798f0035606858910fc8778cbd1edc944110edd50fbfcb6acc8e5c866ced8b1671ad41bbbb474c6639a04e697c46eafa754bf82836387076a3d13edc7ccbd106dca5007e197f076ce2d153aa7ad198f882f7f1a90741c524238009f3bfd9583d97abe048f4b36b0d9157e7f1b3b6fc500734a210a18dc20481c910c2f362ba660aeab9133c8617c8898537a32d06dcd74d10d921d34f107186c2ac34ee79b54d927b418ab9d910c7c0660f7db71bef93d5e6d53d24c743542282a099fad8d858c3ae88fe367357efccaa0e5d063a9308e7b035887ccf0d84fb8fa20c10aa4a580261a7786c9e723612f2721c17483e862a81a294832a41a2bac2b0062f0b4213880d04efa37fdd31967fc56c452a4b8a3b8c9468d79b83f4c489fcbf77ec4a52cbe17ea554045fa628a66ca9994c1b920f238646c6a62903f8263457abcd1b46d5a1661feff2e1fbf62471f97f25dec77c354fd49fd05b1c93fcadf0f036fbde3f7976341f804b899d549654bdcf8e6224b110c849ff01cc5681e513144b3ce276d3e04a7af98d6ed80d45d9741dc07e564fd72dcf0e4af61582454ba1608c67fdb8cefe6540570e4e4dbf1a2df627320e8a2b3e1f648646e027dad9b8d30649e8f21196104b8dd87291b2b9b6000e863096c6c6c63572773c7fb04af195c0ea787d592b23125959d10764bd1e85ec7e545ce90abe8fac24f43a6040093a0864d8f784bc462885d583d12f1a4a9f41d803d3d10d359aef6bbb017d3186a2d5e32e4ee53417b6d5a0a114f5a906c092b7cab413d64ead2b1453965869d2e5d6655011f09fefceac0165754ca566200e5fb8335146a91f4ecbb9d1a37d5e986f8b5c188ecdfb17063a92e4ec21eded2a60e838513256cba66cc77e3955967d968f21da47946a626258a4619f7880ecff87e861f10b087b09d6cd6f10e5b410a4295dbf43a7f62db4e49dab458f5f2319cd58c0c89d3b9207edccc1e6f63ea79b2898f35ad182a780eb85855f80b070bdf975a4c2fb1334cd2f79a815ea52fc43097e4229731da698a50bc6ca738b137663491fe72518e113627a1c2f542e5375a5121aa11452f99a7aca5772e24cea210cef81dc980d1575996dfe573d4e13a2078ee49a730b9d3fcb485028db9288356d1687e9f34a52671229348e875413568cbd92a0b6148098ac7305f4b05c2248bcc92100cebd56172d3749da328449add1fa60bd3e4842a696190db113836c06467cd73c913182533590f90434ee14d9875e3e8bba1504ddd8d4336890edc6e8169f8b56ecfc80fdd4a6fa4f80024901ebf08e8b071124cbc26f1fa70901ce98ae669d9e768e921437e0f54ea89f4c0590b737d2901facaa3db9da25fbfd9a6a8c7993bcf7698d3cafcc975eae30c0e04f020ff1c9b6fa6de040455bb9c0b27c9f3db9643e7b68468a772d783b43dc9e4d489c9f18212e60a8d69bb7689574040f29f2a666ccf3fb4ed1cb4a449f12b80175c301f9cdd4304fcc018739cd32d0218f06aa907f4b801d309a865f5052d53acb2a3f861a94997dd40c6bad8a8b576c33485204dcd14199fac3eba7d0a58af12007c7ec56d7a66b8751e0ba4d8bdd937a1075ec856ed82e35dfd91d411142ea381cf463f3ef4d0133204968235043211914f03bbf2c74ad94a07ebbb00314237e1100558a2d2c6b334f803395edbd5cf0574488ec65e5f8bb135cd032b35e6e3027190492be23488ce98d453c96a5dff762a907d324d8a89efb6d5540876b6146d00679154a648264254bef09214ec329f49460c240ee543a167a316e10c95adfc65f98c5c73d61c77dfe20dba02c2763212c18f35fc8bab626751e947c31363be78a15227ccefd567ee6735623c823fd6d06c76d52d411edf5379bf99498eb15a8e1a471442d32e15590d2661b402fc5469f63a282967033894fd905e548de957efdd9a47e3ba726f128a2f2d9f56bfee7c851d5926b8df3dc4059cd68fd7612075c0222a3937c680b77ccfd1076171456b0f817248889b483e579fc648882503eb2c81e7e1142928855b8cb067d2a0977378bd998ff5ac12c946b39f7f1d30ea477e52f4e60ed308f32198c7a1c168ec03656a59c0ab98a69119ca00b6fa8d21c4988976980a776ce99f30a252b03df31b3f40b01f7534f9df38a5b089382f9fa5c740f1dbf31cca8f8153322220509ee717fddf5eef709f17b404a9cd72fc2bf0be3b410e7ca65beb39cb240ab0bd6732b46bae1f5c08beb679763087cde905ba36d96d8d3c2da991028c73756b10a4bb4fa0172729707c58dafe16ac8532a966b2700fa0da21bfe10d772c73f1b1a52eb3edbd3f816127481939bf076916cd6e446caccb6708cda2b617674b37c6c1c089639517f618d38d80549f42d0fb82afc987c4cd90a99749f77853ee9e70e933387b5543c9d1a65a1f185110bbe64ac2b3cf29dff86f7af058e16caf1ee56fda0a7dda037c4b0e54cfb8c4d09921910576f79eb0888acb0cc1947dd26c6752ce7024abffc6798f744f12c1db713b7e3b0fcefb8e6939c761f6d7fd224f9636109d4e21e9d11161106ed7b2bd5f1471b0aedbfda1b6c324db429b4643b1959b9815bfd8403ddaa6830f6849bdc3b3a68a7f74e07b255a2187f3f104655c779003a1c83af4fbb6a2d85e8b1294584bcea4599190847ca1265dadc5ee8281a2891fb1b1c251acaf2e8c7e8e6e4b02443e3167f6cd613abb05af7c94e0901efa041eeffc8cf763a323e4a00c12e3218712d77dc65bb6653f68d6c43dfad1999ba64458c2bcebfe1dac822230acf12c687e58b0861ad6ce5cba41ee2259adf9b5e3f399f98443bcbfc887a8e428cbe375380028f4d8f15918cc8e948851d7e4f268e7e5cdbe9c05b3523d30282a86a861ec1268a9277e29afe084b16adfee75fe053f633063a4f23f878ca05c1c1f37eb13de38a2c358fc9b71092bd7699e47fe39e7907fa5133142f131eaceffec71edc046569604d01f9fdb7f6744d819e0c375409cf31385567c24eec86e13884d1863284602bffa4635b008314253078648025cf9beb7318999255effb8b555a8af7dea2b9b2472cf1ce613f7f00d0348c6d98cd19151cdbf382fe18efe9d6026d1d153f5cc0287004b971d6145ba6ae0b0411a25db997f55e0314fc857da448c624a9a10df9513d655b7b1fcc73187b734fd0a3b5ff67ba33f94f7c5ee00d40338a3b7171a2a16e4c7b2ed4a12cf9679c222bce30687de85b99d22ae6cc54682212f2e5f94bcfc5add22f331019f5405f9c6190f0d11bf9748e15be4837cf45bbb38afe58b57f8eb9d5600af03b1cd8b02647bb0164fefc25e30f1e46ecbaaf67f6a8c415dce15e735324d4eb3e97c39ef566f87c63a83feffd78c52b3f50886d551f14d7fbe7b10ce199f89f430c8722a63e7e9d89241bd39666310f3c7b37f7d97d47ba88aa09ff58f3137aaff2bbf1748749f7146151148195d0d04ffb1feaa580a30a3241dde5a7ccc72d354e1b21b479380c65d88ab2baac405a75c460cd4727239802aaa4a147a7f50799a88c656424e9641ae2be566de191a4ff2ad48cbf17b7293b65ed1b202e0e4d9783071ee1a6a849203b8220bfc821257802065173ce12e2d445b6fe945f4990e173e69c00d5ec7bd2e5547dab863b2340fd2dea665493ab1304d63bbd2346f3649287f8c8377bbfe9075b92182f779c0b6ddf9aeeb12dbf70ca2c5eee5d695d07d0e3d9528265c48effb2cd07f2dd916e263fdc9753a35d3393062baea7176f19736b34e793a11a02288840489a1113a859e4156140e747240b7cd673bf66f1768610dfb7e9a9edb0d9e11ee1e95bfc2b50ce76b1f66b112e762b517d08b3ab754a08b3c7a32e337ba9e1cb6a5a00d235f036579c275f044b54ccab35cbdeeaeee7febea8fcf10009dc1cae26caf4700c2d31c0e36cabc722e39db0e3ba1085adfe1794a80e1a68d85f7ad3a3871b50b7ad852f529ae8cec02aeffba23d8f7aca7777befd2a1fc7019aa541943e6cad3d614770de7aa7c03cd51c21a30d6e5ebc25ada6dd212ca235093093465c9cd1453a6c0bb77afcde641ed62a6f351ce265cba6773765b221d9ae6edf950486112499479e2d3de8bcb562a018fdfd988d5f3df372c020684e0a8d8773ec76e6836791e11ce7f717e9b99ef7f6ee814a8df716b3a7d11eb745bba341513147c5da4c20e34b8d8a0268e6bb255148f9fe0b5331fdae7be00de343eb205e0f4a61a194b1a836244e4efa6e47d52099c923e9c72be0863ae57c0e37c9e45b422a196cceaf458cfb8845f6b533324826ae22a19907df43e6c6f63dcdcbe2a99cb6fec6e4ad53af08c7bdacb92174626ce0d232aaf3c0f33a0ef47d72104ec5440e8c1a154b0f92133b92e275214e5d446fc0e309e64aa4fb810621680e99f8da3b47347b3ab2dd0ccd6b14f08b70689ffa7fbd02f2b866c30b8376c427eb760a4ee5b8fd4c574f7e3606a66d4af822442589654f7bfad23aff7d9ef0c09bedc2e32cec12f58def7b4c74805727eaae0b75cdc1913e129de18a9f2dedf8411a27276672eb20f2e3b4a838132ed09985c6ed209dbf98ffd1370189cb2678fff9002679eb4c814ddb2a465abec2629d1ac64011a27563ee8ebc2ddcaa681f7324b26b2be154ad9d3c892a27d2d39980c7478b59d0d66d08e9846aec66c391d812402a484116e4b528594775632bd0ee2d36c261d47a74da270ee47c27d941fd9471afa7baefbb816b2ac1e5292b8cbbfc61ba4e882b5339891673e8164a62aa9fd21657a93dc992fd0e3d0d985e3dfd10b6d1deef0988a73d8f372bcab56abf1cd79989a8b943f7dce3a773f2f8be2470d33f5052c6e2b32ed5a5299045f443996ac00be9ba97665f75efe17a41f65be1cff9910de4329f866b2a8b7955bab24b0382760c34a2015988de7ed3f02bff5f0bba73459a550b2bd8fa155ff42e1b501c42cf8981f1f1168c3f8835ec56123f48a57365d4c1d5131237fd3ca6d6b4783ea788afe5952f58272cd1332298271b594b0226f50d5074417d30c2bfaf701022331291453df007ba8208d5118664f4372dfadf6831bc09377abe0b0624e936a739a897148091e635d6cf46b4711eb609d0f0b566c69afa21c736a1d1466a93fe2112b1cfc950bf82eeb546fc4ca9597e27c944850977ffa1c2c20cb42902440d2637b3d2df6116ab8f8aa0f83606ad9b47fb0d4e857b2dc1d8b5e175d1a71be55d3b60aab13397745265c2156b939684cfe26b26079b31c32c9dd68a8b1e2424c6673cd6c2136050bdabd945047040ba6497ed9414e3a76192feb726ed60a8620b02549751d50d8cc5b2e22f6b344c04afb20ba4e533bdaf68a8774c7ceb8cd595d4acb58fa0d2947adaf38fac61de1677c3f8c8d40136434ed29e439ad67c0d708490d04fadd786de2040f7fed92d68cd20d3e645710c95e4a0fc6175a850e698a4b2c3d569f683fd2057ce2492f0e729acfbd21fca299ab14ae4f188eeea79aef4fc098886e76a3238f20623d6a2feff16f86adc19079afcf486f4674846fa053ffd2b394fd9a931c3fa24cbf2f7540b089059823d0e02287c671172222016c085893a3501f9ec7632635eaa23ae50ad8f5fc224d1f5320a264f55b198d00cfba33d3fae152e38cdef10b12bbd6142b1f2497c1f94412db8102a9bf689c56419324bb4b8b97185c60206ec5bb093371634f7e1c521ea1f7615c453076260eb920b50c33939bcc9e3a946b8b5f99a0757ceacdacf87aa475e525bf16d93024f8f0eaa4e2a78e1ee6f5626eadff549f1fc92b4ea54728cdb64e267f689c114ae210395d95b32d3563f87ddcf8f81b7ceb09c372a9a2d156e43efa41ff8cd470e27949f405c741ca40795ebaa1214920b09d4a04d5e981c3fb6985ca1ce7ba57f76baa8d244073022e40f0f2ee82af823829bd188ce4d49a8e2477739c33784f70ed973c349ee3cffa78d618fa39e9c4d58cbd22294ebc197f79e4dbe6f5104c66f0afa54fb7ff0f459cccca56cb3faa78e673b779c42a387968921a1b3cb6a703f74bd0f3debbbcd8907d5f149d2dd86646230259cb3161f9aac5b1e88f9164bb7be166c9cdefe5662cd597080e8aa5ff8f6fa2f00bfe8a8a6cfde304c89a14faf284e902bf8141941d12cad71b48af66280e902ccd1dc49e3913906411d002eecb27f8445d843421d10d089ade7d6cd9626d9611512179b38a0a372152f5f2698a479941d2dd020aff89d779e3f138be68a0c9af7021d04e41526fed321fc6853ca6c65fbace409bb69de05b5dbe03d0845171e060b75dbd12caa59beb936f8b12a8d74173f3fe7cf4388a0e957317272bbc875ad7f84692999e9196bc8b0257940a4e51e6e9d25edc8edfdaefdb5205e344971beec79ffb99195bc201a763d53b473ed1c50ec171635b67b94a3d1b1364f1af25cfc5f4ec43720ed77b7d6ce2e0059d6a01fcc1994081115bcc9d4411a7f3ccbf69721b303428acb77bd2410ee9113b200bc50c6343380ea6aeefe378cb53536bec16132c838f870aef9108bc3a6e9922ac5f12e3e72e91c9af4a560e50f895b0eca4474abb5320c56c276557c35b1563bbc2ed46be0e715f8549c2411748f98882da40e45a8fc1cce62ee8076ef3c701211880a887bb1c75f2f931b7f3bbf3952aa7c4925410d0b09763bdfcd37ecf3fc3567db74c0dcb945b1f7f3a7e12692f303aacef8448742fe890c141e9a3dfc3115e39787ff674b675ff9629e698597b216701b15e0d6169dd95293b54a6bacf9b1c53ca3ca6b0a91edf73b24879a2321b2268c833b35e26b8e0df600093352dce3e6df007d574e7eeb8dbcb2bf3aecfba20edd4f92826948322ee1f4015d7c8be1f910eae8823a314d74bd0479e855a750f68956e84192155ad56b6a9fe1ac9ca4e60d2d352cf2cb2e74da43e5bc53e7f7904cbeda7d2dc2bbae6d9d652bd4c108c97e41233472ece6163991589087e446c6de0f58341d79be68e86bba291c9e331818081faca56603c397994f872b95cb075157854af6b0bc5699cd9b4dbe43e68dcef86e5bc00607044bc4ea2aa2b15da34b86c8f14b8ad95464fb9edf912619f6a265fb281096fd9a50367cd0eabe4b319cc04d32bc9b43d5a5cf1b791f1c8126d8ee9c951a53c55cdcdc84f5255ed474b95a19f5bb4c72e3ef5f5ee0786bd77818c6512cb2deaa77ccf672b5407452d8ef85bfcbe321a7f057197682dd0135259f75247c2381052b55a12e77d8878a9c606765bde8fe59b424f429c06b7891414e3c081f0b4a1e743456c886b1e6af638be064f03f6af8388224755ac777b3f0d26ffc02cab59beaf3644e8ae3da67ec3e9a8cf5d415f0e71430a5b3bf24b0337d79b95cef313ba4fb87130e1cb884382e5e4a174d7e3d68161f82deae6d01ce76ff8f77a6afe8047332cb44544520c922b53722717f5ebce75d88a7d0124a0e923fa84878b1bf83d24c7070a64c0258999d6c39fe663b68015fc62aa9ef0dd2fb51c7b751e3c7593b29e4dacaf26582894526c7579e947fdbe3508df2417640ebb24ab0f785702590f745a5a35fc1595e9ff7ac63fa349597fe9cb6e5935b82432d55cfa5876b59ce983f0a818fac9b77f37027b504457b0af559d06afd4273d235897bb37b85cfca588f79cdc20664c8f6ca58e1befbc4aa53b0b0d9b80d6a563d3a24af6d7f89c81a775dedad2e1477caf6b3498b4776ba844f2d1f0201937173adf66ad89ff2445cb9064f641a252a6abacd370aa1d0002a25bcb6b4865d41c8ac88a951e189b370b2b07572e6b428d93906835086ffcf8a106fc11fc1500c2434e93f96c36cd905e1474717ce69d1b3130fefed1d98eaa878d61501a14cc41532a99ee7f9ca648fac33efefcfa05d0d3e974f6f31b8db4ce2f22fb3f03b0cff25fda2f86f89dedff993627904239c78afca8a1a37eb7179e6c671f6319dea5094e93a4658f35905ce6e927396106e385af37eb966ced44a4b2a44f9e0dc8b6e7899449ff172726c3549e16adf2e05f6562230eb95fb4017b961b32f363b23fa1b5e335a01b5972bb6961412d1d6c9a82d0e21bc421ea69b39598ef5ad2af252d343c9a6391bb5577f3dcdea55573f507d0b935a88f831b72a94830951ee48b21260587a935347308eb43d147541be8061209bbcb5697ebdeaee5ef04a4535a1a5393e1b7cabad549e1adb68cceb2bd9b52ebf23d6bc44bb4129d88e7442a1dbda2b1a28e149f2e19d0cc206af8720ad856dfbc23e752a2e4da2510ce0c004a8bf7390e42dff824aedeeddaf3339abd6b38e71d40ab9ce973981d93a5cae376336ae78755426c3dc44896aad18d4c837bd914d0e5029de041d41b6ed7a16b702ffaf564bdcf26f0c46e06551b0ca84d1734ece4ab888adf0e2fcec4505b5e6f44fe4cbeb258dd220deb60b686d0b233c1be8ac39d683adea96a1d75351d683126d4226d0af9e738fed0b7857e3514a4bd6904fc9ddab44def1c91940c45d8fffdc82612230ea6804e529e0f88541542ac257c1c841913212d66a568098c1c7607aec23f0a8a3bde322419b8ce38296255f019e696a3822b8f998239de7396e759e3d7bb62e17812f1b6569856e2347bbb513587d5e1feed30471f96d524e5af6f90e76ee11e9729d5f49c4883a663d17fda0b116f3192d05f59742c7b4c596581c8b3948aec2cb5e55fb9d866eb328c459de0aab9a1774e4fa183d63f2b1c1ef3210d470b8559f486ba969dd60a8d5bec945daff3049fcec8b7cca00b043cb2ef943ce1beaecf21dd6a5bbd7fc445510fa28d3581107e0ac74ad40e6e64b54830322d10b0aff53465d323123407786ef5dda92225612d5ca4ed44774c43d5f05594100053aa9d25e177b3f2a5faad266659981d89c093d611f996b9df1288566305c5a5707f5bff4b3cb49ea94b290aa5fb27238f887ee950db9ddd59de5e3ea5d70fde5a473d8d618e67bdfaf2e59abb0ad5a06425b615663ab80dfe9cde1c847dce997fe2e38c901a59e54f4a339c77fc15d720ae8c03cb4c3091384962686e46c70fd0a4015ba1146764c153b030c9bf7255ab0b9b02a40fcabb10c49f6913e7d6bc5402f820a67108f8b1116ed05699600d81dd858e5321d79a99e04674104f8b22849722deb67cccf9064bf657adf28e0e24e588fda5c5f701aad30d71126913542d5931f2e8bac40f8fe88400f6b1d0dc72a573bdecac0dc2ad37abc78133f814d159e6a42ce12242396ccceb9cdb565c2d7449d0b704d98a0e5355e7c57bb03a930ac472ed1cef8a2f1c292581f3cd2b722c889c6934d9acd46a591c9a209244b88fa386044324404516f017d8a4d3f01b80209a2bdb9a92413765770f5a2f5581973dbcb9db658ec69ad0f191d9f517e4a02e43045245eb564dfe68057e4a94b0b8985da87a969bb370787b1030dfdbe41be5bd4f5e56525402bc9c200d70d9e1e0e703b26bf0b3c522f9f90b81d61dc36669cd3f254150fec5680ef1146972e437ecbcaa8748047939f72778c11630bd5b080a11f5346c14f9731957605f430dba1cb5260fa015284a7ed661358ead91e39f80ed5a3107eacbd29638bafc8ded64db00f45d02befa8339994fe5a66fd18e9a65e5182059c8c972ce8e8146a4da0ff36d3f4cc625f9e0f866bc4d03e7704195c939c1e7f0aade20061644abb09ea5835fe4087bc149b42cac5c6c4e33f109050d7bb629fc59e021fd42b2316206961c5b3e37072bec4337d474747267fec849218a32ac6b51a309f2d24d994878aff271ff892af517def33289a676188f0b696fe50d9b958e3de4e283b11368a87ac6d32251033f0600e3214cd14c5749f67ebe707ff2b09ce75aa9a083e6fe6a8296879b9b1f1f30af8e8809cb27785223ee303987e8f18b2ac9ceb4696c94ef3760e9598e80dd4a1e63d05f0d155340644511e678601fc9def8d035e361c24838d465f4819669a7927e13a7e99b09d209249243beb8400eaaabed80e8d327f9d859972b3f36da96d81840b5af4cbf4d22f2b02056468b97ff4abfe2b439a15d7de2054014fbb4695f4a81f9355401d4924ecf504315b89772b3ea4b5b608f89a7117eae92122618d29829b3e85d860f1e2293df267aa19c544ca57d2352d2f24aeee87ce2935136dd1a4327a0909adb2656bb271362d03caeaeefaf483e0a8c76f4eb10ea3789c1762c1904d7438a769ad6dbfc388cf4e5de8134a1712608ffdfe4b51f4153de11de2a79b6317dc4a5cb161754aef7c4576640f2d8ec0847fc9e593d5c2cb1696dada27a9813f2d3600a87ac8e88428fff19367c7d5e44cf46ce809f02f54f81b0be90e790962df029137e4c49662a861073073b8cb2814cac072a08f55dcba4fecde351835a4db86a7e9d69969493986c5cbad8a3683f9ddbc6d8a45655c950c8a5d114816d04905523dd54cbfffc01f4ce66adbaf2e133906603f3dc2d9dc5075af7ebfd669468cfbdd87aa60561625c7be7f9c4598fc5fce44ba2c17dee97ebf802f368201acc69d5dd092703bfc6feb8dec0280d3c77183ee01948dc02e90b184ca279f3fb32b0664710b5591dc224bfb67071cfe9ab14423d7dac777faacc37641ca5f336bf686bf9e6249487ecaa3a2f5e08c7cd4b212b0393bdef2152f3f90e1461e9c5e618ed039f7b4aacf92fc4eea72bda995d6c2b715c670cc82697e4a0223092ffa6776db384ced79975ba46e540f74444e30bebbfa015e4530a30dfc8675450460a5136f40b7b240a10a0e69c30c9ea3df39083e89d3227d1304b60bbf041b5069bd1cdfab1c1be699086fed6a0e6df2a8c00f0ec4bc954adc8444e4a7a8c95498be2ea249ed361cc6374ea15645490401205c546f7d7db2380154a667d8a2615c7ca55ea9f65b06c4b9b73152e2ee4f42c2ecfa54c17ff538d74c6e308a0757204a063f2aba6263ce05125ba81e607f7f72dfb41dcad58869d4a5baef53b46801f77dd373ce9c003438acef9dd582d5cb1fc2032b475f96a2f52fa3d3d69795c9c3000e4d16cc20396f1b7e7a8dd0d3107201c3c283d652a66e91b34d51e0d67199fea1af7df0a8b9b3c7a5b2fe03b43fb56c2743238b2e7c3161cc4e59d3849114fc8a499d15def485f3de43915a7f7f1869ce528faf0345847c11de20f3e387c7e77984f81f863bed4d16ce91c281113ccf67ccb25cfd23506035295c52a95ecef9779e92dd229261766579db5d00667a317e1015e8c8140e7ceb84c9c22449b765c7189e0cf41c03c582cb45cc45a1436212ea453111409afcdfbc0ec90a60b58faf31df438f56f60e2111d967b943ce378c293650f9c5d150c74777fe166b03363528e06dc692d15da4a1609999558e3f2f5f748362f4dfe6a47b8c6de06b8ca32209bf107f3a0f53bf628eb9db1a9397801157a2d9ed3438a81d8fbdd92f2e7727b5301448b082e1d86c75291b6242b19588a36f1ef70951abd49cb333d0865f3b2c66883ac6d297cdeb5e8e95e6c4f31ccadbaec750e45da00b823b4ccb98870b0c6b44f3ce64616e1722d04ffb53d47ee8b91af0ff767489da9f176d1c33f4919cd6b43a848ff1cd92db4ae2c97ae0fb5fa174995d456acfc1c91aca29cde3d456602c0be48fe11f627c89e6fa20768b16921b6b152f7445aba4bd6c6b7137fd1693c2677a69d8c9847fed1e7b9e30c2442baa53f97e0c3455a90fc67d9c9c8c319112c1e387045b604a5e6faee0f12bbd7f65bd1401bc89c0292f1eebb7f1a8b53460ca8f37c162fa4243613840d8075f1dd32a9879e5a502f96f30c2a7d01a61ffbfd3ba68680d671f182ddb8188f4f3ae340c2cb22c579557ec5c49796728826d9c35c9d5c19c203a08025738daf294f3bce0b833dc28185272f1c7322689cfb180cb00a0bfb974fd32d9ded8d1768644e4a9e5edb807523f075070fc5e0a73b6179c9d69eb8b13bca0d445fad0054914faf2308955b06eb419bd42b4c1990541bdd184c7161d21f51e8337b34143ee8ab1b60423a1c86c5138306a1cae4237290e514f86c1f4d5e078ff96a2ee79a52fd0c52ccb96e35217d22bc62d0f6ed05f3159f7490b850ac072619d249233a12972f2fc14685f0fb4a54b9eca05715fe44fc37b713804e3b1a155af80a6cdd4b12588da1e70a623ffffa21e5b7b41b839bc7ee605b875a6f659a3dd9fcedd267351197a853fce1e3c446d9bc0ca16cc26992b9162f73ad827dbc9514a933faf6b313ff7062448cc0e4ad3d658023eaf24017121980fe7cb801a14f8f67ac5f1066d5e931c7907d13a220ab4d007575712d029ffcf0064714fa3d2d76f940f2cfd88d989e0dc251d2c0caa00093b69dc6d4a74d52c12766b436f1debcd95af386533ae993ce5ea3a86995add2dd7ccd55fe5ecfcbe4b9a6da6577bf6dfecbbadf15102bca267f5d3515f239e79322a3ee061336c157eddad89f98ce6b094d4a9bbc8b7d8ee77ce83b216a46359a232158b778a6107f944742a357ee6b9e624a6129b8cfae6c5e6642f8cd3f391aecbfd6513d2bd4461491ca7b65040aa912ff5fd222aac517e6f576134571168a45ae41fb393c4644111706060a1e2e2ef3d5fa1c262d0f31c6e084ff0f584cb5c5328cd8b97ecde45071e6adf05227a442ad1df33ca04739ff47fcbb258dd8b62d5e690d91e560576d7e9f7ee256582fb76b39bbc1b86c96de4d25d6467eb2a702d0ad2802b43378482eacf19676f957f6e02ec28fb3d5455152324cf1c9404272e1fe9239b42f9d211d44a57504b4a610f01b577240d847ab8c7002184a4ea12f0c204c7bcd8b3a5a4f026315aa1f3d66492f437e6860bd107ce7bc11c090d72dfd19406a0587d0618d5c7545a158f3155bee1c70121c2c682db12728ff655de67b44f2cf982e4d37e6ded3d99524e9865536de345afb5d21c504f10cf8c7d02d98725dadc41c3bd5ba7bfa98370f9cfeac2b8dc7669905f38d83e96e738c6dfdbf64fde3f05f34f0c8c5b89da385aff3e35110ab5c801bd6e91d4fdbf536a0be391ed4689d8f31d7bf24b17a2580661fc047f25b1a82986746ebda3a1037e3b9703acc9e58b40f6a0ed2a646b20c7c248c7d92f0b150721ee23b99f985326b36e1ab3866acd7f7c80e416f9f9e9ffc8e61c67d1074ff6c5166b90f4a95f45479690154c888deaf784baef0eff51ccc9bf2e380984e03f390809cf5cae1ab1e0690692a007ed59ebf8a6e67de428ee38425bd50890d474e6c22fc3a535df0811f16ea080279ebb24f120be9ee006aedc2a1ffa7f0d54eac6bdf7d0e204302e8db1b630374a4b32156b13184f222b559f5f482ce83e416f1cb20ae96d78b6de2ed7778d8ffd2c8c0ecb1337b72bde7ed98b337fba0948c27caf09acd4990afb478ff1dc74dc46039464f985e07ef0e9ee8630eb5d891283a07197c93598134c4c62b0a67b7eab82090ccaf91fd30923f9c462026ae3a8d8b43d470c6383167befd8937eb37aa2ffcbc643a9aa025a276628ad9115c9824dc2c4916703e7e05b86ca2c82716faf66908b6fc0b670e43c70e0cff7a0c1abe45edd1534f2211173a0b27f04741198cb249a6978ab573665253d0ebc3455cb6ed35597739a912b5f7720ea6e038811c941e0d4d8f3eae22f03f73224ef2402c13d20b947471effb5cd055a1c1b10b5385032d546fe87a2999ae43b6fb328cc86b3207f5c94c567de8a385a1695d13c683ee381825a89e8848720bf7964d58ffa69f66a7b04b4258971491c33727f73d516878c2b8249f9d9541fa63d068cb7d169dce0bc1a114f64e32de5232b746407ab8e42649f2b8af20a0491e5d59f8cf2fe7a01cb4a599622080f02130fe077c7e00aba5e503bb3750ba3444f52031040085c4245b687bb466e2113e1d85b44c72dea4c140d1ba02c347564bde8449fc539d1444c4c9eb4ac410254463cd2d49c70aa53a4bb411e938183d25d3c044db60e175370046ca23e25d5bab0bd3ca60bc08c981bbce791a765e8ffee27c7793bb89e0033317e59d0e49bcfb5a75b4624b8b9bcda3e6e02f43739d739e3de9c5754c80ec6f21c2328903988391e18bb4c491116e7aa3c9e00befae65465472cfb8ac4d9cc1d1d301ab204c92607732921e54a6497060093fdac348bd0ae2b0744258438e61f1df7ab72af28cbf20c05964911fa9338db9f8fdc525798eba3f585c08e0abc7a061912734e9b69b71a0824601acd99177ac80c7582f60773568706b65539733b96a73d23094257656d2fa9f3cc2c4a87e6ca1c6b85cb0c2caed9f9ae6d2691a17fa429b429c1bfb652c04cae4ed89b2988b6cc1bbf54471ea9b96c40a2c74fbf5d597d2cbe5416a213692b69fb82c738b21c1be10cdfc2f9ae32a5d99a26f5751e268dddfb51bef8dc80f0b86a300448a49c6e6b9a1abd3334dd5508333ac4736acdcc1838d0959cea0c530cfd58322d8f2298b0dd5009e86e243473486ad75a835d6d42d23f2f4e64aefea08618cfb34870b9991a182cceaee9794997302a4e53aa8bc3e0aface2b99da0ddf3cee8372d660a15e6f99d660820ccfe3cada0c84bd93990e85be35fb6959e9ec18b05b3f6352050946055e84ccb26c9b5dbbc3b87a26531d108e98d98a11927da3829d59564ab8f7f42268c7f3f60480f4f5ccea9fa4f42102360f9b2029958910888ca0a3c55a51699957677c8bd624e9dd740532c3f3cd455b4a8cad323a15e918b831617babefb9d018f00461a7b2165319a7e759e2d9dbea1af4d7b07ef43ec6d365f3cee558310296ca2aae5dee671ab4e4b78f3257adb0a9d9b64c6a39da97f8779754e74399f23094ded47bad765e1472317393256a4b224b37d49ccb5be2c73af3a2526c463570568223561f6b40bf15f701c259535929e4df0123e72e237cedf571e2878e6d41e3550acc58afda78c4cbecbbbaa2259085c1b5b20f1a25f5b2fd79d5b0a61f5ae15ca69efdf8a04cfddef6aa13f3f9a337b9369fbbfcc1b4e53c28bdafa5c5e345f51b0e80e0c3c03c73b6d21de31c9891b313cfa1a5f5bffdb75593b4c03a5328c889a60c3febe0eab2be52fbbd952d21044d65cb92b830641fd6a464d2d435da34a38f07c759207ee1694cee36ba0ede7693d2a65f0f9450a3b2271e877b5cac8f1709efe0d1b1933389b34153266f0ef0546390503a292ef2e9a3b0cae42b8faf95ca41924a89bd4b4a21c58bc152297277360d0833c898f3e17eaaec9377e576c23245dfb393db9021747f59f90399ce325ff590715e9b6b3f9eca89c7f133e8c71da6ac4434ccc6715802ea6619f44afd54fa42500803e92d49ce45994f5055f51eebec6f30c3ca2d7557809706d52b482049b6ff45e250c09460fd233c6f3556982b1b28a50748c979fed8a00c2323a7490a7b3f41b4029eb9c7b5392337e6896c475cbfad7bd9ac8df0d4e7a69dbc28f16ab6b1f00bfe4e8422b497c0abd1cebbe74ff77cc83df719ec13429e0cce8ace294797bc5c3924ff3d8bc701a778b9afe71d47b0f456e7a79dd2e4efb13815728dcc48687c49b9b7bef99355c3b42af6ff6a6f7e73fc5e513ae6ec9905ccbef69a4313c436bb299c3109a4a38601626eb46665be5e04d6ed9eecef42fcef1cb5efb37c66d83d61895cbda547d51135ac4d5967ab792f54d13d3aa14f73bc2b8b4d7cc8e321b0ddff1d357e9b04378ddf8501ede3448e5bbf55f704ecb5143ba73633c92dc8dac04ba917114a8c6fbf075c141de10bbd4ed30f3144a07020867711a0ff88c0fa36a445c10c0c1e308d834dacddf3cc9e7aba0661e844c07b52abf2bd5aeb8a459831c033be4756e6aa015be5ff1d9b999017ec77a42f644a91b22be83241650bc66b4b0388f4b132aeabfcb99a7658a308ee5cc4bf436e040f4835f21bfdc6cbae8c98dbf8353c34a2113555122df1798ac8b50e2e5e89cbf2fcb7a75d137fa4bd853044112dd5ee55269501317975724e319cd805194820a0a6b1cdd4b67a33f9a0f4fa3f95bd57252e71f57c7f7b2ba6b4b35fe877c3d0ce31818604372b1eb0b2a6983e41f440d405adde0a68c926d8b37c609bb5e76f9c25333a63838a739054ce1176ed34f2e4908049a5bababacb7d12aff2c274d68c7aa84b1c67cafb00cc8107dd96b17196391bf5e139aa3700e7274d6c2dd974287da4404b7dd829f6e1fd39b98b739790ef0f1c8b4053c331108d74633f010ef85aa18eb4e0fccc0b16f84926c1bb47175966e563477fb2b64b86bd254a4482c6c89625ab7ec16fbab9fa9df2215e24fefd86e8ee7e71d6261484a08ef4e565ebf23c51d1a9db7de26bd04a50fd568eed80c5bbee069930fadec46ff66a04efb59077d0f2265c4c53b61fdca9ddc1c34019d7c455c690e39201a4244939bb7ac4d349af4dbf94042f6092433e0042bd4118574cfdb997d262334eebff4f5bab22f4e6b82975558cbd56ef53dd41bced66f451b7f2f891764e63cf3de195b2d9f769eef095b8884e6d6bdf3e0cbb48ca4f9a049f89859f94decdb8069e8614a11744dab882225f5e44466b9fae60911fa74e5523a840b3621f3c65a3b2361717aa0b74d14233e7e30572134f13e583ca5c443e1205898b623e3474349fa514613c468c4be7c01bbcd081b035a8a20c8f05429d147bb5c2e3e15367070ac2205dc00a5d559dc29537384e9ca3193284aa6b9676d20df5b3a397f653d2d5f505e0deaee848e2491a3e6f71d253892ff1a8b9c0a4c4c6cb4bb525fa202328207892a19ad07b1be2434334139671c3cac3f5fb705954d48bd918229e71d20b64e8b604a5ce15e6fad15ffdebe5f5f6915fe423ff6fb7682e1bffa6bbbf01074dec651bcf4b40f9f311b81fcb112e9cf8e7d4446293482a43f7405415aa6b707dbaef0afde84d8a299c103fcbdf319c06974ed99f71f7fae5cae6b21a7be200b65f3c083d75ad92a493d9ecddd802452b0d158384a1f296207bfe53ee0ee6817c904a3ef4ca03d9cec604a091bdb4070df31086737f51f2e03479a681604853bcfadd78663e9f0037de854197e39fdd55797280843dc695ec9efcba33e7a0591644b5b5a4cb45fb1a8a12af4bea189b26ba464831f5ad450c1ed78b6d3fde88bb5cc2427cfe7f438681e3af6a0705a5c514809407bf14491a31fb7cec616089c7fc1ce9cecdcd58bd05bca3d96b8b5437288827fffed98c32a875ce7f8da8f2baca1e23f66856bad4a2eacc70d28dc4a6a8d5ba6e0527325b2bc9ae267de7f4ec0fc8b0ca61fd972c6bb19ab7ccef90d9f0b87850e68c1baa9ab32bd88baff3e3b5eab899ad27562aa4742a754707daca84f531dcbd5ce741a4dbf0cfeacb71f1f067be3368af13f787ce5ad71f6439f420c401647bd579610245b40d58c64fa4d6fd211ce18f87add19ea737a5e92a5387eb04ec5e83a376bb7fcc866cccd1119a7d107e5d1b4ea3947a65b7067e4cdc0277dd253bdb2e404cc1d0df9bcdee5b6442545470c1be78f2dbd2494bd02d3d06ffb8600f7f678384323c2ebc3b65a53c448a57bc715b3ece670828ede89255bd9b00cf9edfdff5c8fa6350f88fce8c39fb8731f4784130f18802118ac35d25baf0ebecc6df6362e70f4d134c53c2b3a27ab628ca257004a90d4d08b54f463dfbbddb85d3c898a8bfe1054147bb848c9ff654e7be80959469c9473d4bcfd25e4c6ea8b3a433779f4e1c1dc71380741d37cd0d80a75817b0a1fd24ccc31a3df95f92b6c187e11c529dcd225ad9c8db9f4610cb089d4a27d067f8f72c3a2900431b149d53b7fa05e0c803775b3e5f27b5ae36feafc72709e1c5b7850c9957a5a8d5ee57f0351002e1cb2f3fe493af61e0a4c26d65f4b48bc3d1521ac431e533abbe9457013ea929071c41664555dd2f52e4167146402acaf6907f4af531e92fffc7c2913a57c8f260ce645f970800ceafd6b7eb04f1ad4dfbe244dfdac4ee1167c5681b61de97d01fecdd6564bd22148dfe885d478814f94c12db5965b8b616f00ca0473d91ebf769ed293b446a34ddf9541308e1c68b4e5ed8fcc4325302a7e75b4928fffb312505779237ea311ab5d324448e67524350c130a840d8864a1ef836a59fa23833847e1ba7d4e78244e3f1a3be68e2a3237ebcbd8ba55f72cd8d6289451edcad41f3903b608af3a61be9810134a3368d9e5fd1094a7b3c34300db19b799e50789cd01654221be11c866b9bb2f76cdba021d8e20e79ebedceed8e81810c83a901ca6c142b63c3997f69ece8b4478b6ae2a73b7f1a60257adbeffc7b449541f897d84ce438aa3c6dbaee72d1e1cf4ecfb871a776a98d0702bb6dfbe435191a41855c3e56378e27c2bba02061fa45effe2fdb0c59eb37b6e96833ab2cc86c62413e5a8a77747bc5d235f74bb33bff21f522c4b0cae225347ff13c25ae3552f95eeb28a4bb36a4edddc1c16a4a9e647ac4a2de1269cd3036c6687a2c0a1aa835e81602af8c56dfac24e11dce93f57a0c80ddb21f3d2fb5a1019b454bac8eef6462e5123e6308ef6d2daf87a416c22c3c9debaec5c7bc71dc97a39657f9625a42584b054bbc2ca4e5dc2685583113e2b47187997720dd50e05223115e50b213b2841e55e6c23e21e8996dc2479a426870dae4557335372f091fcce7a0b1373e378fde423011382fe185b4c04546842d69c41cbc8ee3f87a991073397f551c5108157c796c3ccc87b63b0d7b2fe1153cf1be88699226a25af2abe278880f9910f7d92ff6f48c299bbd74c5fba17c15948bf43d4e88637ee21b4d4dde9852243c2cad0b9758d6fcf516b223fbac630a97ab35f05a0bd09a8720aad5dcbb192ae750fec290c04d91e95d03a3664d8070d4a925a467d00abdbf0aaee062d6b7424dfc214d7cc26097e50a86c582f0e2226a4001fa35fb32eed869e83f99aefc169090d44e031127ab5f8fd530ea0995d3f3890bb8a41c5f32c0431752bb9ab840a44851a0bfebfa9b9f6a26bdae4d39cabe7eec91ad2d818d3510d8024a081091cf18f9da62feedbabc73492dfdeb4a9b40e56f2131102ad43d7d3e87dfceb79354e8ad4226ea2eb945a5299d4f7a38e86975a6ca404d94f25a723d8ffc605772ceda70a18c97ae400880c74895a2dfb6a8dc18fee76a022c0cedb28799cd8f58f37a101a2dd8830020a5ca0966da00277364cf82e23ed0a1e4269f5733839042cfd78d783648aa7fdde3d2480d9f3e27c689a62014615c9892686c9f620be18e50091a54641813df5a175e0a13895e4c150a2b3ace3eed084d4edb9fd107a1f6168f7ff093a5b203ac979b072a5304ca2c145911d8b505599c8dbaaad4bb66f2062fb516ade3189883e1b1dd373dba442215c5b0f72653903e701cd9c96dc1a1f9d012c6d11dcd2c273b1198fe912e78b26f0e14b52e013d68fb5e1713f970b66caf3eb5c3a7b3bc92c7a35bb18dd418072242e2f2f3a5854d19dfa3130e932cf6d76ba734dd841d5883da779c2f3be58d9e00a3b78eb47732d5b384a1ba8257704095966de3a563590941abbd632582d64e328cc0a14d07adf34bcf5aaf28be25bc5b772be11d028f354a31f78a089a1284c51d74ad6b1a919142597958aa3fba210ba763a50bf0ccc395171ddc11e9f1422b2d0014954594d1e5757fc99877410ef7708f6b3a6daf861ad422bfec036676dc94d7fbce58d4c26b4da8df25f8cb3e0f908cfb9f29f8f386b92227e1e1c82f143e69c2d9793dcdcb3045496e4d4a660aec05eda247141de58ba00e270435e650985ca725f192957e995c140fa91c56726d0a29bd2ecf46a2769cc84634361c1780e7977992ea08c1d25b805246b77df6933ccd60e45617a30d68d320739dd064b367b435a32ddac53b593cf929675fc0e1d7653125cd4bdb4b987232975cc801a7048bcfdd4131bbe799ce9d38149d49181a716e53a6d9bca74698a17defec2814e67133320c68cfe08d6bed48940b2499984011aea9597dd84489f6a81587762ce41ad17a0ed0224a8749dbc382f4d4d32449dadfe759f3d26a3620f6fb250e7297e2f23334f093a1a7254d5672b06606c119d005cb0c4e93b35f77451109be4c998d2cf49d9534723fc4474bc42521c91868c0a6c9db4c56ebc0d0c90effee99d6722d31e58d90770a41c7f9357983b1a48d08a584482a9291e6efa8b67cc0140dcde606ee7ad5cf8230369b43d2eb4160439ab65a5ab15dc84277024b1b78cb0f74d7c4b6ee56c3c10573fb1f5905ddfaf5e5cb4318d8d0bf020c267bed53b4bfad7fcbcfa43cd1db4ec45524db08b53062f1e0ec9837d9f0dde1a2770ddf1919ee3b60921eeed53d7a21f908777d9981a76aa1e1ad061185cb433aeea42e69e74fcc1194b3d1a73c80ec0c55ab3050425e876958b1fe3f417dc8b3a0418a0915d3a2154a5c724f41a597a8c8e2fc40a9cc901f47d738cee2c260bbfa1ca7fe8d1506c6fdf1ce820232855bd07381064dba4a15d1fc9c43d784282febf61e869a73795598a253b9269c063dedd716e9e14a28d92d358ea1e64c0c4830ec63c74404f50f1dc34c4da3bb4e49f77cb98392c115064c3f6f574aaec2fb3b1fdd47618efd5f59af2552cac808228197e55db68cdd8cb572137210ed53a743e730de26bf5aced6077a7902feff97f8c412bea578c13a72cf16beec02c63d4c227f8e30514ea914b4dc73606f9d42dbb947eae8484c2dff580dc8ad4887c7fd097c6e6c82d937fcf620dd68e687102a070ab3abcb567dfca60d49c74dee948bffe127896b06c80eda81a9b8fad013ded8084678533824236b7961b1cebd11427bda43112d418d2a94a6a6047d4f64a3ea0036a97acd29680bd4918e01df1fe674e34718c107f4453cf1909902713aefe3bb7ae879bba4c1416c43ddccf6614d70b9983760c1a8df2cce60db445f5332d9521426441ab9dff94a4d51f20b7591552e45f90033c582e782b8fae24eb2cb5325f9f4ab139ccc990dc462d71f501cfa4c5cdb3a6b9d6a477b25b5173e8742927d04400ead6b677d2424762ef705bcab70a0497ca01850a8e725dfcdf60dffebad0925baa22ba5e2ec3d5840b01fd5a66b7f57720990259b9de94eebe808cd2b3fe7be626d822346e9d874d486a8c2bffb6453fbe538daf84331eddb0aa87f0bba0ec27e2f0056754df0adedb7e1716f6f21e193576b44e5d2a0fe66aa49f36b1a028c52bef7865dc1c8aeeb4e806492d180de54c7f4e5c486eb05b5821ae743fde5772e687e4e99ff11be09baf3e79de472ecf685dfed96d8289e42e0644bcb3eda5a0d84f8e7826910ed919bbc1212f833bf66a460661cef924ec7fa7ca015f61ca5cc6236bfbee26984bc191e8fa40cbeccad205aae09b817edfb275f76aa6803d2382a29d9cce7e46c3d108b38d8d10eea3bfe6cbe5e6e7f7afcbbbb6d46c05affa0223ea1197d83f60f5274b5586d6dfc8d4fff92b32130af84f07ded2cb61b22c9e4cb211e8165aa16e7081f58af5e9a747d8d7379ee11266f6c41d429bfa3de0ea23ea84faa2928b0a9114e424ea532ea5bae9b2870a81857ed5f1f3adc7c877b205e3df98afdebe0f41b0bd169fa3cf309fbe6a3e2bae3faf575b9c2246694aa7b1c4b4bab4bc3d1310ab7df6566f73af2061ab5fc1a7c41fba6b91c8e671a0869c4fa077acb94ca9e268d0517d95168c5d0bdb32698e07e517623912401ffe97dd18edbeeba80d273ade4e2c81a0dac9db53a0e0adb43f4600c8463d4b0028884c1f8ecc0dba01fef6454837b1e16c4a9ee119561c2c4d8182d1af7788b2572a869cfbc8195712b758f76f5e43cf12c7715d8e2070e728cff7dd9a00927f3b9a268c416101395cea391b5da0574f7fe2d63801e46240d878e5b63cf82e69b89a204b3e408f68c56ade52ad31c35782788d65856d4e92b3a7ea2a7bfc42937fd9df491f9d7c5ee4b392723ba1deb71edad216486b32c0290b1055a9b7b2d702d441c2f60ddae4e5fed7a96a05454a4abb47e6b7dfde87f304e23d201178e1b0d8988300f60c2454c732f5df2065788dea71791744d9833266f7e90b6ed7262f9b562dcd193d4eb73f0ef1f609b4b78d4840a2d3541ffc5d47dc9b3d338487d9c6d63f0e59b4996041da4c62c744983bb2e16241fb6656cbe7aff33479843f3dd3ec31eb8f80794d1bf45b00781adb07384428ec3b0a26874840778c51f65222366a6624bf537bd093c15d1ec85172e4739df6181d51495815b589fae14b5d4bc590e2293381a3220e395dbaa25541ae5ff95260a8428ef77885ce5dc96341391d799aed740be173b8283d0f3678b50529d0b91ec1fef16371c5ba0c57424edac118d26e8ea59af009dd7df46fbc686a96558c727d1ac86d34e6214d59257e10207a457a5d018ad72a2001c4db1df9d4e2ad0275aeeff92e2d6782980b200a8408634aea0eeed1de9004144771e4082141de9997f86292647bd5176eda22b5b82f0838ed05980f27671a46093844373a68f495a8520a545bdeb09f82f0875c073318ae0c393f214e2fd3d58e6179ceeef0f8964e099589d9c6a45e98c3bf1649c4e07a46ef32846d4c29d88d073f0910a29c61802dc45da8d21d35a038cc394e72a6faaa19182853c0cdbb6e9a1cf558fb7cde301847726a4df361d3ce565e6cfb107eed2d68d39d0e9d45a5e80564ff2ae9277409776dc7bf2963e3d27c6b4fee56a896e030af8e83a89b254d5f64bda36eb53a4e01b5677b2d9fd7e1be0e31ef6d993e44d5f2cad607c86bf50f00f3622ee5735860884b0453edb2110ebe561de98703e8f3c1b1e699e7425418da5386069343b737ccc2bf363a6036158be231d1edb9e9673de3b2f0f3fccbe1ae08f85ef40aa32e6a12f7537d05e4acf43afe5760312b2769d380498caab40d20bd76fc21298b46600bddaa26f2733d2b2f972dede99449443757d90dd4b0e4c6fb071ba6bdd9c1262819e70b6ed379310d4e846a79ab428203e88395a5da3af16eebc34ffd0396184a7e030bdb50b6c4bc271a8ae299abc2e333071fd6cf75bb4610dfd15cb4e94c3abd4e7d9c9fcca84ecb7a2fb2899d7fd9d903f9761ff2bf327bb5e8916bae239dc348e854ae5a69071b59bfab1872b96299970308c4eda8998e937e7df0147be175dac1dd7072bb868c0c13a3fd014531111006026629ad01dbeed406b7e14f4e0572b967b2006af4ab22eb04d7477d62ffd8d6eada3a15103ee51ec81942ecc2d3ff90076625f7cafcec62a4940291e559d7057da4973f45324547fa30dfc55b496b71c61ccfa6d17240624606244c15b749050997ff99b7794136940c38fcf49efcb0d14bd5697ba63ccfc440b072fc95f56d5733e8a2f259f45c1afc09551b46722251c55970c15d6f2b5d01fc461ec57ffdbe4b2f1ca0c893ee372b5231fcd61c076ca20d2163e7a3391b6ee7250a75995e63d3f883a53349f6a3fc3df1b655e9600d331bad9bb99f1a5da260001d3994cd9ea6c549a5235bee6f47236f7358ea52afa75d95069451ca0da7451338088524d8625a7908d877b0e26a98caa5c4b0b258708ff8545b8665700098f65b66f2776a6ed99d79e42a774f484fc4a7a32247218efba7d8c9ad2dbfd756e56c643dac055073db6096753626b3c9492fc95f9064fee280293fc918bb123e09ab4f7d533b2d25c9e8186ad74cdccfa600389e6a0ae2133098be92ee7ed88538b12c4a2d139e7fc7bd7859cee09cd35f012420bb89e88bd667be5fbd11a815f46f851549f45a27f002370bddf22f687b88585dfa3be262db4ac5e9831d438d8262ea5aacc3abcb511b7eff5939a686b5dbf75fc428b1d4328aa6530d2a838da6bdca2d866ef4167541597da8ac0003cf92254dc652b31c45a6483617e7649fa5a6d42ffeb47bbba4e3fd588f585ecb3e17f918ac6642c1f5211c0f64863e677f9d663301ee776b60b50ac7f3b95a98455022de21fda562e9d38fdb5a3a8ca5f3583bf149eb09826330fe48d421b13e5ec667ecddff09f5968bc9e4cb428e24405864a642f3163203f971849cc13d0adb4dd3eed87442dfc200d1ef42b13bcbdcd6bc80b29327837deeb91dcb7d048a4cedaa24e240a680e6b58dea111f691d5ed71b15133c53e5b8e5f34c6010130f77f5472880ae639b27335eb8e94672238b0822ce8202ac3088917a17b3aad89448eb6c692e00d74266088aadfe24b70ba6dc856238a6a06403af8a98afefce56c2ace552f5b01b8a1ccbe63a9461b1c321ace3dac1c46963713499bdbc03d234efc513f7f05b2f00ad06f8ed9db84efecd13679c8fd44d4437415c08a117702d9f66fa66d1a95b52bd889101ef2a9f820184d791476ca4af637db19e583df3772b5bc0a2d902c64815e06c0c109a0dbd2cbf3d0159da0d55ca454425beff08b30501a0340ed9502404458cf4545ff4ddd5aeda012ef90f2e3377916471977dfb9d9eb7c34942b6d90ac93e108637c1426acd53262390fff6c63a22e49af866e70d1652ec9482155811592f90e31d421c26804c0984eb5379df7d617a3dd2e9f13bd32b7c174ed653dbcb78eb6a87ec493e23aa15b47b4c2171d2e4d56342d80d97c25e4a9ca02cf9f7a6935f4419438b4bd695e4609fe4cf4a868cd5306685f9eeb5829ef872575e4f6e0a040b2871b90dab2df491350083c047bfe15ca7a70602c30a34f15a5b7fcc637284c0c263cb39a16ebb199e5cb4e6e5842986d4b336295cc4c48942bfe0ef7e1a43a947a84ab79431c80f230b616a3ac1a265b3d821ac19682c2da12799e28cc636bcd447df1ddbbd96561e620d1f9c144e39f8fb9561e37a562ec8cf23ac66ecf2b47a4ddd4efcdcaf11044fcccec4be5f84cd0453be9cd1e4a272b505e770a158ca05b5955a5cdadd7759acb7fe892025e48454b04b2607a81627e70f13d6b5594dad9b33f4a2aef6eba7b7d2151a3c415b1397cca382a4049770ff11dd807207f08380e0aa64a92a979b5318beedcd0aa1fe2f77811373e7756d1517938284d2e4a56aa45f058d1cff398d6326df28d2a694e5102ec1a3430c1ac210c59456f9bd18e9bb68ddcf6e9fdf083155a92d3f673c21c2da781d3b20f763699d2a9af11be9272bb80427cadabe2127362e479d1ba52634cd18c41271b5e9e9293783a7bc238af3a489b05e6f34d46ce5fbd3c9c99892fb2a94e5b5375a4b8e69fbdc916ae502e9f391e9a5591d0031f2b68cc3d9fdd09d0f6082f27ecb3fb7c103100cf2850a5a574aff97877010252b68be64843626f7779c095743a786aa494e15a761b0e5386d9f1b84fbd62635e2173c8df20209c1e1cece59607ded47e8f560f01df807da57f54f3b041c5bde05289480a748155b37de4eaecb1fe933d6de9e38f49ff8af4f8ce3252aa253228ffffc0317efbe4800c5c43cb891588a60a87ec263791b9c9f1f0a08596e62292a99c500797caba2ca8f9eb32e653110921ee514102ae8841ac7dc7727315632cb747f9e2ad84a1fdcd6552e06a06a6b3d750bd5fbdac450a86a0c9b377547897247e91e31d7e59115f029735b677dff19bf5ebc514606fd925e42e0771374955052e5bfb4d0c01abe91ccd735c0bdfe9360274d4afaea28ee9268b6e64b1739ddaf59f122d8b5876571b1bb4cdbe23f0ec96a62a1978c185c271e19952cc4d24a4ca2bd3d2527efddea264fe875553fa443841ffb43b103042331ee414836965a7c58f10d9a1770ec415ce880c071078b1bdee0987bde1aee3d69f095105c78a252ea8a43a0120cf13cb7576115c735d66a5dc80d0e64baeb053a4c2281a9754fd7b56435d47d189c0c9c48fea5adebef149d13b23056df3a0a895ef33fcd5fe2241fb566c0cb2022789af23ba56012c45209f4348e9801d1418a830aff69fa67fd8cd8978d8ea554b2ea413c9949791cc14b3036616279b80f6d778e955f69b79be19d57862a1edb89450f61c1d033ac0ef6c2fe61fe101ab7634de65e2641ee77d669bfaa43cf259b6a2284e84ff8e17c5e64d13ee7d34a7669b6bf110c671eaf3712187ece54bbf8772ffc8229fb0ebfd84b74e9a91e3301d832bcd6d515d0cd0e7a924c8326d9db6dfe0fb70029e43c54bf014a9bbe063f1e88475906d40b10d8964e83e747e818858c805b2bc7c51f3038fa7afd266246ff39601da09c75646ab6d02b665d7be4d8940412e091b23fdc672a09b0b6ed9fdff1081119a2746aebeadc9d133114204b26ff828edc27e4c916fd39a3330f8f2ebd3b5d3c3ae6925541ba8702639007d83f0a289c63903d52ba4951aa6f44f27cbc135a814518a9be3e041a4df81d996bde9664fc9549e66ca39c2eb46424b360f6f2e7f92c9cc4ac0bef7badf4f8fbb83ed416889ee2c06ce2b805ac5fe2c97b8c9b16a57d2334361cbc531b8f935287f4f7fefff9103433f332d17377ed58908f7cf11a7874a47585dec041efc3fcee9cc27aa6d82a7d74f78e878d58e9af99deed9088581c6c9afe5893a65794e9e4809dfa86eaa386f46ff87fac3e6596e2aa76fcbfdbac68478a82b782f394809ddfa2978996ae4951147f2b81c94e73d3a9bcae521c93f7688ebdac9b9f0adc2fdaf835f5ef1ec42194a8b2513569017e3599add8554b17aca3cf45d3a2ef18b85798494b4b5b1f06ba74fab00cbd8c948f64168399ae652a5a37748bfd8b75a198a5270e786348e34e02183168f233f42a2610c47b79bae7914cb72cb3a6f5ab295bcdee1449d97b29890d6bc2ef570b0d1cfe9b7aada273757daa0cdc75b616ea92991a9cbd60e5b3d7f816ebfa37f27a271f33b68936c29bae4973444ec9fad7c3abab726be04d131033e970392592fb60e738b0c62f2585e838acb614d437fc515a7256bfcdbb22e2421270b35fa1e88050e47bcf5d10f8d5a28bcc352eaa9252359fb5d8755d547e98a85da91922780a5e46fb47b2c9bc1e40db964bc73f4d09370f8d94205ff8304739ed13a20178ff63a159fab2a3250521d4532222c9395bd4dbb3ac1e86b8e267f2867267357a8601e7cdfffd93d3252f6d9bf955765cd517c78926e7065d9c7cea5ba33b15b9dc8eb39309ca1ebc4eba44a79853eb2b43f1fcaaa8ba2a1ad23ed1273c25f06e6ed01a38d5ab4d00f152f353f8e84635187f58314a3392c7ed8a6f24087f3197b8f6bcea2709834f9f02a9f915cb0979afc5ebf6bb8a6587054ab63dd9eef8560d6eb329b83ff91cc5fd2fcf34fdaa24b24c5c2da2a2f1b56a1b96b0f7b97f0b44b758b58b5b05b7633c554dd47cb11e91e99940ddb5e1f2932bab959ac04971a7c861da9d8202a09926ca3106f95e0514bf4db48df509b4c044453ef3648b2735f26d09cb3119c338ca269830b27798d3777b27167ec1e60e520839b6d24dee6de3ac8c04fc25194a041e58983c5b29b90bd45fd1b8b110e3b747c7f25449c7327402f90d5c9c609ed31c2ecb81bfd4ee439546eb1337e9eb85f6a516f4949c76d3d946e72eb3c1c351f75b435660eba47400cb4e2e9741528e259f3c291159298550f6b4ae8e2235a11707908ed6517183d8a19daf5fca4673b5053121db323303c97e0eb7fa990f91be6ab940523a8331fc8fd312f4d6094c97f8c30329965cdcfb53cd2953220c4bffac40d671027d6b682cbf436db7234a84868ddde279f591f378d99aebaaa5e2449daf57a6652db09a12b46ddb3e4a8edba405b2e11b8910ba2b580410e00b35e8ca148649d80268a68b3baf4259144cc100627128bad29aac31266663afa159eef0bf055dd152c939cf946be96555dbab160e49b17ef3793cc8cefbc013f7071f5994fa260c3f0ac3476ca5004f773afd5291058cc00326eb9206148cc4773060626fc8245119fe7745a04b9164a3a805c091b7939bd7a0d8edf58ed52183de0a410f63243bb3fafcd6b5b89b0450c866ba7ff66333a4e09c3f35894a2a853f747ce237d1587c0d2255c374062cb9da51372ec023201f0cd3493268a9642604ece5310d826a9dc2b14ed81265ec39148cc4e561af2f9dab02807f3bee6389084b63ce1d04d3651e955cec7d4320dae7af0b8aafacfd88ff9fa09578082c29c182caff8f8f5183f7f4c21665fb2e7ee49a1cc397575d9bd1558164917b4e025b4800464861c0cb34fcc6a0b39dd93930f9044f62206dcb93d8347dd3b4ee06232ec07edb08ee30ecc48ff4d2207245127216a39ead0ed6006e02407f71bce6bb644f0b279669dcba60e314120358ebab44adeb2c34baf4943f07e4d0c9468406b4aaf3b6834e4930ecbe88009271b590894d2c1f1e544f778f5c43d65cdebcf5530cd61ba3801cfea399d183c0469f8709ff4fa3e3e62cf509a5ca4c6a9277c52c9a5ca615d71a226bbb9bbe04e66163e1bd098a498678f648ea9d9275033a94f27250f2c87488864d9cb6b1d54184e7591d651730d838e2d7cbb10148f68860ab5662e25e7fb08bff5d542c8d232b1d8dd7cb7bc9074bb0d7ebcab67eaab86c0b337dbc8bd584f37311cbb67bb678363bfd38f9ea8b5dde29f33efec8057c96df8b988779ec6168b88f3cc4d527ad78bf2f646736b2b24eab021fe48993630d9542c4a5d2c8e49232111261ab2b6b02c8a7c28e7dbf5c467110a5f1e8ffd32a5ad50970713812b4e4eb01b37b35b9a41ab07cce43e38f37f88744aa83d2584954c18eb0345fd80eba69d197c348f74a094d395ce09f9957562f1c0a4624a619a5ce6de76549fa979bb6b580151b99be467d45afeff55f2668c459bdf161cf95d5cf586c36a6dced0e820fa277258715c08b0380b71f238b55afc42e08d42d7c387c56afadbaaf40d23bae5059193f654cf73c7fc60c6dbb798d0c5402f4b2136469a4574a45bf62957f1d556e193b482f869f899653bfbe9757dad1e8e1011b33dab4a430d443afaef0118593d26057ec2fa8fe0a5089708edd409b29a96d4f196a2a5d027e69c94e540069ed56865464baec9c8967b9c16fa6d9e7a26aff5c5332b493285ce2d473c8141ad4bf1aee9a9904f1b970e1c22720829980bdffba75c484e322351943471ca0bb330274ccd9a842f991470041196972179eb2cfdb712037364eb5907368b38b29e46fe7be54ae5885e72bbec52498702ac9f55bd37a8ceae8189c772d50004dde72ba01eee77f92e448e1e7b9bc68dca5b38e8819cb20f00ff080e032834be03524d5192ddbdd0b6e57d60bad0c1a40486fe4e3dfe46afb66eb87ef1c47ae290b4c7544aa67ff688ee7e03844211a779c52098769d33432c737b5f2d25c11b7fd5305c8339660696407b5dceb36c7408071533d211dccaef86238fdb86813022f3e79c829c7290b7c22e2b4b3b5fc27e3c4a9b9ebb3782cdc908830ee00d323e54b171a697bf8680a43b752f8bbc8a1ebb8ce5de29635276719ae7900d8eb7c1a8e1dadf475bdc0882b0e8cc0981bcbbc085188d856ab203a7194af3f4ab77430c0a634d21d0a949382321f82eda2591cde4b49f85dc02520ca770da8de6a1bd601941b165395590fbc3518e0f21e78e6eeff4e79c25d04629311aecbda17cc2f14bfea4a33e09a5dec436d53dcc689de85d3bc1b48a235ee27c335e72c69cdb24c773f008db3ea1a87e88bfa9c0eb8839376f443fd7cdeb86b4b864c857dda7e182a19e5bf57b42cc076347a5b630ae7e97b9d3a50a71261678dc91cd8e565e32f110fd383afe3cc9fb5c52152b4b3d83bb9e572dc4d2f63246526c4b7cb3092032ffb29228c9ac66175f1118618b315a203f3a2106593161cd3789f3bbd5a7e2d9eb6c4c194a3914813a212e423e9d802db5cd0ce0463f086887133a7bc19210c42530f7d12448ff72282bc17bb5695e857c97a5de47335668c573a42bd161fb71ba157091e48b4245b4246cda54948a7676bc373694469fa077551cd11760717664cfba319f00e02028ecb82083a83c03bce7374ead113accf4740b17e51283eafb5283af45df6697d1c3d2821fb30424a3d29c9953ee56187cedf30efa63b7d2f7a26cb768901fe49fbb767ffd6cd569ebb42a83c28d2f555640413be2f625d0d9db89fcc8daa12c48b066d51689c763f450bc785c097c19f1ef5d576964b1062b1e21027b98728aafeb6aea7ed3344255dc114a0f275342010cd31ea745d1d4c02b079ca993190434d8ad3ebecd7fba94cd51167575b8d9fac1cce7fc1679d73433ee971be4e8ca3988e4565a67622d1eece259aa6c36186ec39b9d81003224599d395660b9ee8463ee7171e52bea182edcd163209d28eccfac5422c00fbd9375272b0b8cda6aab3702b43a1ee6798f9459163268895d7d11350a5869c971d565bbc306f8df12fe21912469d0f2c8694f37655949e0f13292461fb6b3331ef61fbb62b21ce73285c65847befecb2b67bf9f1c8d0169d74eeeb43c90400e4e3bf48bc3d8ff098630c7aa9bdd95ecd162da0661c0bd1cffdd951e6278743c69d162890008f9d8154f59ae1e7df57b13e6206347c9bd2b664354a247545c173e865922b68929e00ffec00306502d510ef8c107378cf46221e8832af1e106f2851913576d5131ee3c8e31dbe4dcc14f6ffe05ff9c40a3900eae2977592fe85380c402092a74d6b743a3c6d5c69eeca62c4615fc1573ff0b49a38b47b1f3e533cbf97b5c7a7c3ad78541d1269fe8f9e449e03e8050e73bb73ed84e21d6a5c1df67a04348e6f12c0739e3851844d61c655c74ca490842c02254c17b6c6f67bf2ad42ff9af6e7aaecaea619f95208d0f494e24540c72eb34bf61fd6b82c7247e7bbc50077fdb0ccedfe6a8174b5823c68a50c0fcac377aada059bf261cbd56c1b74311b87b135f34aada65cf2607dbbea106f90dc91789473eb8b40280408993b2f2ebe280190c804809cecd4c533cdc314b6e72c71863153acc32efae1cfa2a08d226811ea81a9bc323a9c2407da7c22c8275bdd98450a90216bc08b24f836572f17892fc08e114c08252bd6c1d73301eea5246fca03c3313e656751f414239fb12fef53ae14a116465d95f887011edcb00d71fc6334691d9db8dba907f8bca9009fe3d7bb18a8cff17491aa94097f1916a9777fc7d79adb8f5f5ef3030e4731fdc491e214207cb4231837388f26642aac3aec192d77e3fee4e07f38086c89b3c2fe0f8fbd044cdb7ea2d0f9df8f5f726ffb2ab11b242606a42750359bf705c7c637f22936c02ebc9aca2b46b2d2e822e3341a6fd8d7a326009f27422e5a0e5e3a45bfa84147896b475beb2aa4f4f0386b3f1b0f941aafc6b47d44255546864f0efb7b0c8419e8fe93b651a5ccb79f28c35307bfd419809da57d2d6eef8504f6f79a30fea25305a0e4199f3c7bf770a968162f9d46ca4efee6dadba993f5b58b037335518c91ca38459b805ab5fc5b6fb137750661753465dd02cdfb8ef1a3e4b2329c179c6caaacbccbfb447c6f791d6a4f3eab3bd1c6b2e63b218201b81ef461e087e6694f248a9a423c3b407a84e30e2d09bf92982c6c5fba220fbcbd1ffcdaf7bc33bbe05e6a81e92393b51676e5a5da381958ac728c9245d456d57c29e0f56ad2634ca6b1c07d7a563754c446631fad420abc76e97cb015bfc643bba138bae8e18e805affb2cddd73cc519b4184e624f383d4081c7a6acbfd2f7af59149b9b7841c1304348ec2408982b2ead31e3d2ee1ccccaeb7657ddf1f809e073c010e428903e14ce2b45332c61cedbfd8b35e8cbd938049af727ac9815dfe3546c93fee4e858519d8f6949588f8ea54a836298d085131ecc27a519559b4c91c6b0425fc0adf6497043c4bb61abae609f5db290fa6e9a660708a82636210c6852ffe6eb6e566bb065ac3d284f53b8ced4816861dc63949edc6ce9a772267cc5697e11d826e4b5d1c329e56e061413ebfffd768048b0448ccea13fb77bea6f000dffc82f48cd27b2df75dd436e00ae2f87a15ad8ab3cdb97264a8b541428b03f9b202d89f04c22d22b6e3d928253698f0668081a7d21e4310c0c6e6f4da0661489ef139d473e360d6c6e9bc5aab3a8ac3f409302dbdecf4239433908eff562e596bf26cf95f51027a52a41693bb2589a1fc0379189e1e4299374b23fa269992efc661bb4cce154ac82a0c055ec6cb3fd2943790934766c64ceca8cfa46b4f4f9c060dac7c95447c66e072da629d87ef1bc983cb618dbe79258e29cd96b1aea521de56dcb83cd8b4ebe9acb3413b5cb5433dc57ca62d244938ab3ec5b49f051a4138759a01a4eeb48b491e2cbef272ce2662bed67f80ff3eafb96551a2de9ba43aa1a8b363941241cb5705650d4dac5c13d6df1de705f0d2845751b6ebfa71d21ecc78387d0fde9e52123148d5c1c5dbdfc84dcb7edfa135a179216cdd14bfd6b290c2b6128ab704a376470fb5f8dc6f000618c4a5d5d15d8c7331678201197ab207088ac9d4d8e3179d611f9bf5e59ea31b99eb7e2cb8ce0dd62a8683f9d050b73ef2e8ea5009186203c6aec285cef94ab281b26d0f3cc84865fd83c5dab0834531159bdb2064c1541a86f2fb8c0f5510f93dfb265b90ac2294075e92487caa4fef97b146a4cc82541e9b83e48ee3465fdc204f0679e50fb02a66c15963956c686d14ad2c14d546a8cfbb71d178692d156195c4cf66273e688257c6d13faa64a26c8f397be600c38c0f2ea8dcafb675a4d0e94595fdad4d80981c94ca70bda11fcac1a0152b67d0b583dee78a5aa98d1004b401ca768438e9af0858191aa754cf68f6230e574d4482fb0fdd4d85a760bac1de2e079a8c66474d9f06e7b84dd351ead2ed3fb1cedd38450b5ef9e5c75a8063536ef5b45e72f0dc5babcecc353e3dba0d6dc86385e49047c89584e499e14f893352500e29b44c230fa6e09b2aafdcc17fa17ffc4d70269e9a6b277e3ab9bfeee7fa76fb368c926ea19d3d16c816635edbb952f928f8a70e203b93e27d851a026f272b1787a02953353cc026d3276bc1d71b373888f4c5c824b9288d57ddd51a18f51c75532ab61ded99b44828f79eec0727214928db822318ccd4439039c0d0289989acc9fd8b423c2147c4e2e1a02dfc0deee539761ec3789932f98757867a5b7f46d22916880b04d8f2de9e2476461d8b82d7097f3beab1aa66556c50aace6cbca8e5111f9e2b652c106a279fbf57c585ecbdae9a3cfe6647fcdca76babcfe38ecc3a11ae315959bfab8f214f74eedfb473759fecec491c71f9ce456689f37bffece6d266f20152eaa09d95730727dce7da7ba4792c55685eb447ad3fc39217f64c454634861a683fb541f0e7c20c1f3d90550fd5bd4e421b8498ec910bbff59c2b29f38378cca26ef53e21da831e53ddffdf90c3ab32da00598628b63dd8b182c9dd6af470175589e6e61024a7f73d35f1f6f36b8e00bf447c5f38186457792cc1ae3cf1ae09c8cb8ad66e9a0a33e3cb9151ac017ea90a4be8b82095a65f90651c1395707f993ff3de540e6f35c50b0b4e6914cc158276ab0589bdde66aba0d1050bacddf53dc947c301bf22d65dbdcf69d7964dd1d7f454b4e9dc0c81bf32eb106911850ceeb9b2dde3d75b001a59b19b516aac80aa0a1f666500fa1777ecacaf71f3975f9a5c6336eb05f644d473b7bd7ed56e107abd3daef2a0138e528601cf3587454b4aa347e00ee66e37205445f481c04a9e1e3aca9eba1a730f2205a970af360433f30a7cd2943c4269c0e8e8975e7787f34a9505effef2dd4cedf57abd8ceca1fd5a0afc965f60f7e4e021cbb011e453c231ef6ad83b63fe6a8f1db017a252d8a06345836bd42a55c48ec3e98ff06ff7f4f4664b00a73175bb5bdec4be5993c78537ee14c8b4053c3bc04aba6f1a381bf7ccbba88b5286f8333348f33f4f9001109f3aa6555309442f9d9e3904795ecd0417beb2c38ea4433776faa51e66580fc360fb102ea3eff28b9d8f934ec39be250f81fe98bad581daeaa74c51127833b1c0670f095720b23ed7ea7b030245af4c41b0d9441a99785c569041dfea9fb5275d3a5863e4a960a0295a07ebf7467502840b5b3f570db177ec21b12407eaaad95a2487b5c0a3348e79b02f9cb72602c283c711997f8ec107abe65d04f2076b50801cffe23f98ebd8892a5baf39248f8d84080a85bd8108cbf6ab86e2ecc284503312a822f45cdeb18540577996c30fda31a0b8ab31917a88182040058cc29e31c4d3e9551582d7325d9f9e259cb5b3fa6cd0536efc8b0394a9f6ab4375e0d65fa86aed84b1ec99a1a4a607220bba3db49d138f32f170b3a5a21d81087a325704c7cc19e634b30b11654a0a2843bcfcfeb8d056001c6b64028b8ac115eddb1bf9d17add542f7875d6eab765c155c8629720518cc66f7ef4cb1665331c51267e15c59ba648862748eaa0c1a3604bdcc2c415a21dd718a51ceb1ce6d2fa3db97fbca03009466455f22a578611cdaa85feb8aac57c1608a71151e0a891f9b4421133744b6e149728a0d2d338c1e3e68383ac68d079cbc088ed280d6a973897d963b1c16fd41adf43c803d8b2adae7c7357296e94d33adbec417f46ee782bfa3fe231e4624a17dcb20bfbbf3c1853a521d686788d3847d2e84ff3c52175d27ed50f0161aa2a51754b200a8bd70fa59503688df04cd8af3e92505c2e0c9292b338806628049e4ef251980c54872aa8f710e5e83661bab720dbbb5cc54dade2b8dc2dcba86c77fe48bf70413916bda19d894cba025f3e80f8ed40ee0c7eef74cb6035f088e0049029a5b4a550acca349e3b4b393664ca92136f3bb6263dd3f1d429a170fbc47f4aaf37102b4927be58d0b989490936b74342c1f38b9bb2b938397ed698cacda3eec29468b555a51d55918081100678d61290647b288599eff9ef88ab6de17769aa6394bb879080e70f478acf8b52fcfae1abd3cda2993903613e28ea8284179236de19a4cc814a61ba1eafd9cbd99be440774717a5ba76dfe430a0c5a25c0bc7e0842e12c502837d7260d2c5d2bb6317478fd91a6df8de934a12d433924408f5a053b37769ad5e6ac4a5bb45677ffc9d0489cd15b014d252769b4cf5a675bf3cabfa4ac8e5390759b5fe73b27420ab5e11a0918e30c6976752ee5d837fe4679ce1b79970fe1b251be8d7717d57d6a7de82fe52dcc45f3b5755bece13f222c9ccdcaee58ed288335e587e4bd1cebeb36db7a089313f3e2af1db20b7838444e3f23ed465503a241b00798fb6dfcbbebe4c798218bce2dea27c6aba93277ed76d4379bfb0d2412b81eec7b73f3c078879f664c91ddc7af1f71f05a2a2f6d5ca86be8c435d319d4f2d36ac41c7b8ae27e6e89e228c7df06fa7e63e8bb1cece980b186ad42d46765dfa492f4d3029eec22080a53841f5d86678b73ffda2423bfdd9eb7028f9877c4b8d7d65af187148695957fa49439ec9aeab3840eb5d89b37f8cdf9d8f4c2a1e4aab491d84f52e30a1210875fcf2c0e7be4066e84f673da9adf243cbd4387e7dd0ac5ce50c7d2ec9f08ba02343176faceb1b1bc6c3d8a6ce936899ad7c484e6c74dca62dca8602dfa5cf3ec67532afdcb28b0ef301a2f9efaae1bbfb6c4992f7d56c14b7c90153d305172284eb98802956939e457f659640367f9a2fb0a4448b8805d610cada32a24639dd480a3ee78d7e6bdbb6f1bb5deac38896dcc5374617efe0a87bbb20dda8d3b35a0f1d56bd0da59f1324ef6093ae184482cc155428c8887ec887c65b2511e15aaef7aa46b0c6e49ed26cc0fa1ab86a6f007ee1762332ecf13c8468c1b97ba9f7090dfcc640cdf1a0e87d993472bb8b2b10371cf04a463dde46fa27421e95733f8e2f77d695525635d57b2867e5e350f29f8c81cca42fc4a809ed1c0ca6603880d0c2c6132cbe6bb1b74006acc8f1f48354220c7d150decb5381b315860ae50ba4a748753fba474d7689aeb1d35d9821d874d7819f539e59829b722bdb7bf982ceb4e812141279694a83cfbc7ae40a5de3bc688becc2ed89312ac0fea36113a5c340a564f15c72b658d8bf2b9d9b3f821866cb62e9fbd80aa3ebf7b7bb098f34dda11b2f5c57ab3b9ac4cde915a2c6ebf47e19c433cbb3894e3dc1d9f5e1312618f2f9306b95a90de8f671fe0277c7e5d2a2bab049741358e91d272b575048955c672594f72ec3ae04adc4069fd44ed9e30600322d60508252cd4a2030c949a5535e61edf96d2204880fb7407ce7feb7b2a4cfd10509fc4782515c7e92d451441eab44afb7124e6005b3a710c912eb584bc956d2cbdc2b8618984b12f55f344802c978cfa9fa986147fc34701db66c1ff2dbd030ae83d5c4d1093d88f80921961ea18c5370419910ee29b3d13a3147c917889ac2adadf93bb0176244a58d6889cc5eca99e77a2e0b2fd3d1f31e0b86d082507cc0026abd657111cf9f1b5854e9ff456b5caa2e0d6f21bc84b974921b48dcbccd532edecdf5edea485adf7daf8bf23b8c8febbc5f4e49f58de7ae8b5f743334f6c82d0d37a18758fc21598f417edc64e1efe74baf1dd6bc5afe908e043c88a93ceb6f073c1825ce4a4eab866cce9b008921e49b268a0c17f01eaa0c69c6ebefd2186adf1d6cf448f1f465dc88e6deb4c82d21107449cd1d7b45fdbe97e12f65b14a813e676a9fd30b0c05e01f62bd9957bd0f639962e3a5ccf6913a963fe330324cf3c8b4a8ce5b2ab0580439d83930dfe3c32925e10d41769b3d65723e64b2721152e4abc841e5e6fcab7c1e861bbed154e3d92b65f37da7f5299eb847619641ccb8f8c2e3be22382c3aa049362430b419335a3cb4557201df24b7f7b9dcebde01f77049fe0b234c19a75d8ec3f9874426057c26de493a8c7e70e2296b3241f1b6ce8be6d624bf18ae3eddf45f131fba94d88e2b1eac49307c6972b097022cc3e7b1403d7386487b021a09aec0c51713971007f650b1d7c956b882b34e0ea9cbfb959a7c98d567022efb02a425e247c7bf833adea87c669544c14435f72ef8753f6fb174ef6e70221312de90799f194d4cccc5929fccabea7f4e643e5d50b2f944f4c124ff78b1787c88a9dc376bbfb51385ff791cd38ae87cea03926604a87eb33793df7f72a357d538607af23ca26d84a2a8f1a333173a3e3cf771ca21093340164081a2f75a1a0c93e851954da9f66aea83909bd847f20216835bfd6d308b8f52ec20d72880da538f73324a7b921a31d67c9c603564208d57f0a6fa121222ec01c969e3e684fdf25a5684000473e14a9f3974c92cab6df6e55243ccbf917b660010e65c6caafbda1fad5b598259abc030ad929284adde1858237f671db95ebb6b29b7dc25d1e506f9bfc14bac1b0ae47a45e29ea79e6f49a3d07ea9e9530c2bc3e2830931fd4365bcc68eef72c41a319b7dc56a9419d982360ba126d16e0f965450bed365dd79ab3d70bc72caf6ad086715e60ddd55704150bd9292b05f9810c6ca8663ab7664d560f75745194e3ea2513f7cb509eef0026c1fc408776e77a6c438c82f9410f545d62257569829b58218b8e49cd65a48608769dbe7f66866bf0507d341a7724fda37f6f2e250982a3278dd9ea4e7292a3e4d84bf01e13dd6593a32b71ca94d24809c9002c9f8344018626bda8ceae6b3683afcc2045ad7d1c3fb4d08e37872a5ae03b0528a7c56daf3c2130482109373a2e27e2319a12b53abf7ce23c5c87053d05889f2f3a65729bfc5b0f20fa0f51d7e0a34529ddd88245c08bf5f6201d368a8ed1486ab1e9984e89a383e80d051fbb85ad7a84c5b2cab7bc0155f210e8f7d4d24800e8fb6e90e2b729c2f9237701fff19f9d33f61b44e828546e47cdeea297e9b7826e968dadf69bd42f45c199aa924fb77f2ea1f03c3fcc2456591682e54bee580a82ea598f46616d0a42e35f7b8af02a5162946b3b2f96515a43961c95756bd7c5f45ccad8bbc81c841ed77741b58c762bf08364017f890a41e509fa31709270cc5078b465047a3ba145fc85ddcdb9837adbd48d5c8a5b7e0741e4ce187edac0df8632d0ea14ad0247cb3820d11e65baa126882718837bf71c70a24635e64c200e32cfb117c5308623d46288bc2dfb9fa96b796a147f6b152837fad5ebb2ca737ac432baa35277cbadb8d7a8e2dbf6a592a7c7134f649f6f176b8c5dd248c4890031f0677f9eeb368c745932a235313a38c9472ef0643739495cdfd72b8c21514bdffa6002c38b7c1f151bd85e1616814f882a697bf9670851fcf787b9318a2b4bc04f7b06f68dbb3d133671f8eb5fe296d085f0435fa131902a0d47674cf31d7aa9362b8ca0eca310cdbf285994b0784f47d0ec9cbfaa9d8518b45547a78a253ebc3151566217608a2f09be085ba465008e4ead37776d6725383026ba574e0f2d0e3e47cfc355ae3e88380cae56cd6555971a5ec2d5725c277d9d8333d3b1acdbcaa6ccc68075cf7e57e87240d0593d4c500a27357e5aa80f3b09ef8abb0dedb74cd1494e427de7f9895603cbdc6bf00204403a336a7a33421978e1708e4017ec76b5b2823b20e39bf80ac10dd2afed1e13c1c28e1bef93d3c50ef510c56b47e5a3e9f3cf3eec36f5d3b25a9b6995892d94690c164991320db28a66a88d73f3ff73cf6f181eacea6a8285628966dc065d0697bc9dcf9b51aaad856c57b66a61fac6f2b78ecde6caba40cb8e15902f75795dc82b9a2e1127bd95e6ab99b68db7e54b5b51c35503d4dad7100dfd6217e08330189fe06b6fd35d699845ca8c3e245f4a9d88f6fbe999e168973141488b34b513b4036c9a0708f13ef9e3553e9aadc45df4b1d30428cad1efc9365d68af02c415a9c157b89e7ada805c5b049aa3e848d915c480625863d9462d564b59a5bee5729e5936422380ac4e93a3302ad1fcbfc44066b5a8feaa249ab8d64eedac05c82db426aa7ffe7885a1174ba0aec57af0e9e2cbb9512ba3169891732dc2672edd789eaf0fd690805c8d833b0a5de62785c08b7cb4e7dfaca24daa04e39e4b5cd5cbd58d2fe1d6172b79366b0607ed8ddb12e262b546392d13f54778ad21fdcd338f93201d1d461975c2fab7ddaa52acd45b1881b781c5e5356a3f23143eaf4fd8c4c4caf7d9a7a55cc6469a7dadcfa03d0a1279aa78cde5a85df62fed9b2554daa41b7ab37509874795dea8d76d6c736ec68a1235ae632235ef3ae717ff94b4372eb1d19768dbdc3b615824c5d5023b243d11d5e3f26df325ebf593fbd5d8b7d4244a08419012865067789bcf93d38bfee77ba440fb06718e76cf7167e9d5491c4966f86c298182029ad0e84acd7b44970209496c5e7217b9c48e0ffa343340f9c73b0e03e086f43ee2fef20d9922e83caff13435a3fa7e0269588effc85556433964171fdf72995c23ce9707c5cc1a297410cbdf68da111a7fd29800189e491797cdd43af6583d97cae1190b330341f7ab95af8e187da8222e2faac3204c8dd8da9eb6a756d9e8d82226301fbd2fad009245c54e259bd66c3ba64479b48b7acf5c3c2dea7ee5c18edb05a85d61a774ec045c088dd2a552dbd86dc6b4722621ceb7ef44bdac9fc3c6b4531f433d06c89c695da747e5563ce3513f9d825f0db7e78359ab2413650f5f76afc6b454c9b207fba293723734eaec2df36041992e9d730c2f923b5044bcab1afa7c0624d16132b3bce5b09ece6204e19c2d6b7cea1494adca53d36fbe4fe40c56525edc169172f9fc42306077d6e211e3e19809a5fcf192e64820474d800d4e5aafac8038f8783719c6e3ccdfcc28c56b91ed921d8fd70c4216f81fa044e9877128ba9a301554996315d4fbc912e6e94191e4b287d9517b704c73c3c4996bdb163cb9e3d512f4502fe820101bcbf0c9bfae1c7725b1b8ccf7c2c15dbfb82285ac1fce009694dd614c482fc24862313a443482c4db6a48f3a010d18022e75ca307d9f79b0331066e40d990491f840131e009ce4340d30dbc19e2cc61031296b2e00e3d9e31d9f2d77991d30beba0fbd7165bf0771e4539f7126f11ba8b357fb89d1f4dc4f60491bd7441feaff6a2166bcbb4768fe1a32680a053f3bb8a4ed4a0d1ba99aff83fd8169e4167e98d235221df09f805977a1ab2f3610dd6f78b9aecb6d188534b4c6d61731dc18e08510e00726fa2f582d1da96fd556b5759bce7d0c99ca98c4a04e3910028026b021b2bb1b2e8eb9cea35c7ce2e409ac889fb3a1d4b4ff2796968b223e3a4e7c3da22fbb81d5d8af294ca68d1ed1685362bd476676534b01f4e35e355fdaef056729f2ed150f1b24137d244e9b01dec84e1318c673dd01fbed518e6c45d11866855ee01bdd8c48af7d1b066f33d97ba2424d6e211d814f47212320102eee311c025764c830682fdffb66321eb24e25d43ea8c28876063d94815e67554ddebd75cdcdd64038c883d5e0c1e4af8f5070c4160674536a9bcbb83eb0ba1acd8a1919b439161bbf73490f6701479b2377703e59aca7519ebcff5921394c5bec50453a4bb233d9089ab279b9f836f0f06d53f93cd564ace24a8644a7d4313044ab1069d18233922d1e97697781e219cb0bced2cd8d62a2901e1a483f9b48cbb2edd74ba2a18be2d492c928f0a521d37e1f25cc6f5401f1a97623707f038e9bba205d4328e8a478dd8e937d0452812d6213679c413ae9a2f849fc3fb3e1b39ea4726e4d3880f962ea88431273cced069b82e1aa4e98a579d4bc7d21747c5601a1f2cfbc652fd0be0dee1b4c8bd19237465e48850aaf1df99e0426781b7f7523a7f5e56666d545fec6b1ebea9335acf4c740d4a15d2abddb1b49ed4e9f47cafdaa40084503c0b08ec705ca99023f554984367b01a82eb4801035f702aab395eebf929b2da2c3074d766b2d475d29d1fd81f7ab7f6f3c4e12a9f97e328c39efe61b3c3c4c7999d84274d296266e36eb3aaec0f80bb32cddbdc616ec7eb6d3ba3f2d14b8963c5f2d70b78a9443734c46125ddd9d575862600285aa30891fc1fc301333a8639c5fc7eda428d526aa895614d2659f09fc7aa788106387bfaeb09a7374357e88ef367e20c7820650f09e90be0b12ee8f0c3278fd0f5c866e4e9bb1b0335fb8f9b4b69fbdc7afbdfe8d9effc3dfce5ebb0dab48496da01211fcef2aa211b03aacb55ffb19c9ef063bb631fdd385185dd2ad4d43c49b438b435c4c675809b4d97f9dee587fff05692abc73a035348f54323f207377e035e0415ed7b6340e28520a914a39406e40483f3482475ff98c195ca0404f84ad4066048a3e60b0e2a4179faed1bf0445dc8f386a78e90c537012d13236dfb192cca587868298009d907baf6d86ec93ac01566ddfa7aee90c0fa3aa7807a010cc85a38c929126c6e5021eb2f32971ce2cb93bdebe3f65a6e3da30b68c49fae13dd136c298f19fa03d8ad301cfaaafdb27458c85b2970672477b53aa9562e5b1cd28f2cc3cb0d48bcd0594f1aaca9ab9e11646c53991c9db171f0c3ef2f6923a8aed912cc3185e13da96beb79565a75f15497319822b88e44d7bfe9260e1b8bc3c2f39cf0ddc1d9c62501432d022a9279305b05f04f8928efa7573ee9a4154b6a5220512dc7a2191041cc1764df1eb4c0400bafb25724c774cbbe40fbe517e080ee477f2d7b120ad65680cdf437fd05564750cafa8f3b37d3a8918f4cf29fe0b2ca44a12fe956f2a40fb0b829e2e93476a3465bc6942ad2cb0e55b6703b5f67b4dd535f035e757f8be01e35a6fe271901dffb5f8294c9188855375cd55a906c0cc6f25d0c66bc8ecdb77a6cd0fc9336480bd0cda03442b17964d8568b9505600e78f2f2f58a235e404c90c7d9ecf786a9bd82aca178dc0efc5b21d1c2a4548a6eb47f8866d7ccc38538e21c8ca80553b6fa511a9660f412ff4352621c032672b48bbe53fb1e2fd1c538667994780cbc15bc04d29633b05360f86e153af95dd3958637826912e9ae05ae659dd858faa927bcf8f5e782116f601316b91e1a149af111f23f149562f66f4545cdb86050904c43b732e19c85d10d82a2359164dca988462068133ee9a93c83cc8d6bd145add77d335dc8cbc1f198a0f8dd37c489a6b83a64be5d9efd13dc756272e28d34fb06e2ee84d48984d5a25fe5793153fb5476d97a4e3788dc6eea7e33a7e9541485d2370cf27a8455c6f92ed3ab4c090fd166ed7c861d59382cba77d343cb8bb23912e3a01a7e6d5c8b6e696230d548d515a3177980820eedbbce27ec0e24add542f8f223c3042bb30a17c6b43acadfea6faf62de338b42935e860347889fc642c9fb5ca1b48fb134dfa8a107c15a4c3aa172946c9f5bf235931e69552223cb6011190d87ba33ac322b1f97d477ea9d6a43a9941c198e4ad2d3d57cf94d0d7f08342c68d9aee22df23e382eb0da99ba3b29a884f656a63c612d1cd75eb8f5285925ef27b74ef4ce3ba3d2e36c4d099e6b6667f6b09318be2424095d5c16a0355296613314652faf2915c15c482bb15634d6c0c6443d4c3523c2c9d377dd4b2c9cea5a353daf221fc3c0563e3d151f2ad6dcc855883278e88bccd49301aebb419ac43145d7d0f34b628bd0194b236813188cd62b65df5eb6e7435728329c28f1a8a5e7941699949057978fea588b497904a97a890c2e990dced24906328b4c2e62b12e74a82e0c7efa66666201d8fdc0e8bae9a0b72f8c9bb59b4d74a7fe551885644ca45e3c2a789ebe0fd67253e72a71c70f3568a78d3046e8caf578da398b262843bd2024eff76bc39c25a0432fe44f78d1c942a1138447e86a263f054fbb665daac13151920e1a86756b864ac26c18a2d373fc64ffd4a1ccde6490b944d659335a93aa19789c47080f713eaa780be95303ebab52eeb2302c1d4b2f90493ad74648d3cd9dd5c693fb1399772736e100671658b8a5f037d8f0a75e9e1bccbb3792702ad08891c5cf8640b7735a46965614870b52992dfff08c14df166fb41a8d66a2b2dfb49d74706bad6e37766a9a34e4982951cffc47a9b205ad3732293390d4ef5e9de01f852b40d9c1927207a24625a335483013baa5ab6e1c6d7e02d58f8084380d68cf0eaa2c56eb3415e941739cca4507a9b4e151b1163ed5d96a3f83789d12bef0df7f5205efc1b3ca024c3c581bba8573eb7a8ae0d284c453f246dd3af6a7ee1cc79c445fed1019facfc4c78750ec23a0ff42578a9bfba518e537dff871b92ea315893209add87f2377d9ec330181fe2e6664d6aca182f506d1fc900a7ab167e5229a73efce63fb2ee29c6f6246a96484bc03a5f7c2318c2c2334d1d330c21cd5c5aaa9821b79f3d2c981cfe1fbbaf33d69a9deae3ae38dad88eb72b505b3fc8dbfbfb25b55a056ca0fe10128c153a3979367da76f041d71e8f107f41dfaea1912958516c2eff5934654c3b1a792e0825aaaed72807d280edde487677dd4e68a85527af4f7cd2b40ce3ad223b2c0330b96f53b6dfdf55873f37a3e5ec74c10cc5ee508fa9414dbfbe292d36a33b03ff24075e8cc5820102627f261388e480b709f0d52accc3fe6b8d8420a66adc29b6753b5804207768d907890ae2af2b66c12d483438568c1b454cd42b0d162f0f95a8405ec5e8810104182441bc95832862fd0c9b92525e1a873232f69e1e7b28c6080dc539e065fe60570c673fe42aa770588e98e58974e36f162ff8092b7a300a29083a3c8aa4d3d13e2102abcbee0fef2e014ae8951ff41f71391709b2b2dd2f7b1f7cb6e1672b86bea196dc9754f1fe857aac84c4264a326ad3d99a59e071ef016688ce28a424e82ddbaf931ff3c095ccac72a26b0240210de8404918344f2bfcc28685fd8d73f19e3e79008a3b8fcd8ca2b034b5a015d627760946a21b3cc0d161e56e8f70e581bc9831b3dfe9399939940f054ed0ed2f280cea002d8283f14b599aa7e44f48ff36e602a2a6502c74a33beecd84ed5f77ebccf785a701b6892a3ce32c9387e23ae24a4b5d8f121e6a20651d48f0e05c0caf19828ec79dc0a75173b8dade750e2661937e8c9b5e54f4441867221a1ed1e94ad1ecf776596984f32bc5ea5ebbf3a7627fa92ce9763dd1e8068e5f985859644146194bcf6a56e4b5df0b4731ec8acd7b660b6efcdf17073a6afde2e1da5250cd0b75c5e1e3ddd2cfba809a2c94c8a6801104c983f137d83394eae05773eee3a308c6dcc9516a9792b977d5d1f6a450a51f5094f6fbae3cecb883fec12ecb181f0a3640d77df323849527328605ed7c4452ca6604417c64add80c33a7dfc7e0f41f78190ec5e2b2cbe7ab10750f1d07726dcd52d1d4887812174d0816f6620e3a70cfe0d0205f815c7ea2df61f3d0304d8a5fa894962a38c6d62b29131bc7ab5c11cfe6546364597ad4245a53f7de236de7240966b96b74990c4ccf8fc74544cba853eaea147677108ab8793809578b24e57cfe33d4f89350fc6e6d42e4eb25341d2ff56b016fbcfea190f6d9b3aabbdf75edec5f6c693731eced3d8c417ce0e5d0d4455cfeefc7b894f0f5d6f01794293db37178126cb1cc7b5741957bea57fa59011db3a862245d9643ac30944936da725b7f8bc6841c248a3fbf601db843c759f6c1b6372cf7244b93888e7b6d76d17e348f7b0bdbf0172446d6dd129ea7948735a94924fd8142b90427287996c5dbf537136124c1d23f5443406447bd0ecd752febd339e6d227e0101ee8972e24b2e6add8ce0d449bcbe7a4dd6e0531906b74f0168350618036b04a82d86cb224799d9d2cf6c0567ba51bd46179e362b505d8830735169a9591f3141724a6ddbd6b6bd74267ba2e8d84d60a60c1e7b83bb79fa2ce0c13659248d2a1ab5a47d6af33602e5dcdaf580401504c6b82ef9c674b50b95a2e5d702b56f1a4cabe01d8e4aa8ac6e1a8d2cb6d7f172bf6f027a41059a1146b0a2e85390aa1bf7b06f3ee1b82fd923c824a3021d97516e8b6ce70cfad3d2a0be5d019db8e3c7309caf302f1d2e95d4c9f108a88b648bd55cd1acc21e3382e676b40e89b8ce675dfba16ffb0641c04d160d98269e8255918166990fbe2510cd24d132ac30748b958acadfc4ddc662d88ae2b25189b003177c4a4bef44c9e6bbbb03bb3fdd0ed5624249aeb038a91a180ba77f2a168799430d1887f4a86a9ccf3a0d58129b45576b305878532e6dff882d0a2ac043eb5ee0940449d25ce36e9bfa5425d1a1fe95c0229c65f14cd5e2e8ce04526b9d8cdf354c497499394d53863cb12d885e5a716a4ab2eb5e0d81cd5544145b16417761ea7802c2710b4ee0fecb3331d8d50613330780aa5beda87b6fa09979157b4de1deec884726f08a45eadf1768694a4a239b65929439abcb1e08fbe6e90e41b9a19d90c15b5a42c2d76a1d36a330680e2afae4cc37f25863474c3d20836b143b6856fca50567f1d9b3def29220cb78691344b2ec72ac46e7b08555bda17fac56c09ed7e4400513b2682a044f46fa6ac478723c5b02a2c13d5b13d5182a188e65ab2ec0662247fdc22317dad9c2ab1edee03db34d549be4d6739ce296d94fcc5cc7a409d9d0bef4fef98a83d9e4d2a073e07fa30c5fb732d411b07ae565c3f9399fa3c90659cf2e2b1ddf191fe6076d1ce42a6b73a39ef50779996de35933fef862133da1c57ee19b376e160ddf3210082dab76aa4b02dddea2144a1cc14d7557662cb6707fc3a859a07db397d122580ebe064e37f2fa3904dece587c53c8b8410a68fee06c578cbf1aeb7461ffedbab009fc93370bff7e5c3163f5e3420d41b44cc1a2c59d130a61645d363ee81afb16735a6cc3042027f27263930cd2a95233ff12789be59d31a1e4c46c80c65b93ee6522454d5ab381be1ef5892b51fdbf30822e632bd5562bea952f85cb07922395e991ca8b3d667ae22ac3f4c378142e3a89ae71f1966d1f4347eb5fb27ceaf176942c3aae36afe8c91836a73d3f0db1beac6d9c773b0b842ed0cf151b972ee4da3d552d802f2c2e2d604e5bb7d17382e7f9947ddfde9ad7cf4e0285c28830f2de0ab3bff9008166e8fdedcbcab205ddb9581353ea2d04acb83c3a800102ed03cb42060c82cab474820470a9241dbce4842a37933fa3f1b40507f12ae8ff50df33955bb821bb8f5574af943736960babcdee72416d0bcdde919c51f1815bdc7a77ece0e1bb0a4a9e8010fc1deca1f2fba2ba3efb9f531f3d6bd4fee83182c0662668ec0b8d151a943fd24ed9d5ae3fe47fe203e2936079be41d0aa1365002e465fc78e134e13d0730ae81e86e3041220f67ca6da64b9d5c9ccf1a4405d721486117d2f7a120315fba7e7f1d6db1a4adbd9f389582a95fbc3886d186a7e068ecad356b04c34e57aa92f0cb1b2f2eaee963f74d192e1a95dfaec62fc593feb1a003bc085fd87dbaaf561adab376747feb655a07f86669636497212953d66a831f6c95a7be739d2ac10a90e4941c08e99a388f78204d1b0d58ba1647fa91427420e2d14b884a56f704f46647f9d030bfe9b67f222ff939f1b5fade7544245786458b7ece59c082f7dcbff562588ac095c093eb048e19b06203730f2d3be69f0d63ee660de283c27415b253983a11004454c3cb32051a2d9a9523d2cf7c768ae8d59c11305ca08ad7d1bcca3d2bb8bb458aecbfddb058ca58ab6dd194a71099f1f879ab25fd6c818801d51f7246f34b198b41a99f6339c87c33c6c41bf433a9faae59e2ed54cf2fccb6b41b30c4251fd0956bc96895ea917ad06b663661aa8424160c74aba84386818b752f54bc95626487452a2d0c8109f0451df9db96437a8d6f01d51e3b08fb975d8572ed5049374c21ca4903854fc3763ae5226f70251079fa146998161fb1a31b9b7c69037347a2bef4e047db27bc61b6613a8da4f88bc11b2bc9b943fb3c02a918e979de18f669df7b76700aa9400458747de4d8e0d9cfc743e32f28226dcfafbdb2df5a296d1c7d32a246bc96c9212c3d68daa01ffbfa1fbd923e3fe4d477e08b62adcb9446ebb6f199d2c22be960b7537e8e6892f1aa2ee7fad3b6ec2212733f26b8d7c973133953678337781da8cc53864c1e91244a8604429ff1e10da4a2d23aa8b4e53a318ceda55d68b579aed4aeab612893c155c2043519e845f1dc643557a018462f791d5967b5fbb172a2a71a372535d29f08867503ff171ef8e06c59e6fe5a6ac0902bffd7847207f26bd7fd2d790445680feed81403b10858e41576efc351993d7f4e129883afef0fb1076c7ac92bb452fa366e7f04f38818c4b3f687f5ffb46ae6f4a5e296a27a8dce747d0e6309d0514201183114abb99444a96e320f931fd1f80a20a60e58c3e43fbf16e6f8f50daded05397277debad4350157bb9cbc73b546e024b94f8ce38e01ee649e9e69c5f8f0a4db2dd2ff3cf2e96dc2e9b4e45f7563524584d1fd6b3e18d398f75cf5a97e158b929412a7267ad61e3d22073e41f4fdb403a4f185f3263e8189b870a1da404f45300e3bf56dc932632eaedd5cae18b7215f25cb233babc4f42d8423ecc1b34094ef17b1224eb83bc6a330b11eeb2ae26a3e37201f9c6f16b794a6f16d8b2efd3c0975496f95a7e1bec6ce73a97b6144e9bd305c8e4a9e861a00ba840dd1ef2c5c3373c9dc4c773614be6f084cae96fc88e465394c6cb3b4c62ff4a1a3f80f4dde02e0cc34836c72d6c5c311738266359c59581bf91c56bac9f78d5bc86cd8d336f071a24ea2cc9559089aee9e936d94692796c2796d0d199d1d38ef0e4988158a19c806b9eccfb090d3239d337d93e2c6d6ea0055fb97cce57cfc9ca210016133b8f54d66561e77d67a29af92fb76399506f40c54038ab9679f64d124ef98fa753560f4e0e856c5ba021b29c2f50bb5bcb93673a017f4de9d12c6a6eb2c39c4c0e11ad7c24e323da31611dd06046dc2fb71334e96433d4bf5eb010b7e0397f11e6f5582c3385a2dc7f9c2758ad88d3fbde8b40ffa9dfc141b2c9ac652a2535550dddb16dc3fd802831a597ae66e384c550b848cb54c1b772591e69cdb8a028b812a23c6ad2e3355b8d668b963b2e583dd413c687621f75c50a79905fb82908f03314fad00a7d75ab48aae1db13fa85ea22d8d6674169bed2e85021432e3d33ce99f4e78cda4a4057b3f8c0646e3e763fcba4674744272b0dd74129f6e2c6dfc39d893402b99cf94c6d436a169cac8c95e4e850c35691cf9682f0e7b8068d8f762715b29308e78af3d906d0293f570d171b51babb12dcf89b5cf2c7ec306a5feb0709ba9c34b851c52414af973a826cf862ae924f6a6868ccc8672ea834c201e7ceff36f712c2fb2f7b19d558c9ac57942b92632f3c7cac19d784bdab4ba49a3cbb56cf1abee575f653bc12b922c83f7a424ae0df567dad591b4041ee51224752eb63517bbe799be4c6d9c4febf3398207d1b78b8b6460f01a364d22a22263c9c3599e8269fdda9501a3ae7c1c8298bb5e51de0d1cccc82647eadb0302611393ed11b41ff79feba91a286982900779d35b9335c0582dfb3cd0de1918ba3ca9fdf8c52deee9e80dc243ead5c6fb83b2ac368393d2c1d5c76be1be387a51ad4b11f955aa1fe800510970b5619c9ce39519c1e119e46addd11515c61d1ad21a4fe07d7566688e8cba8cd6e216e2096bb0718ac58e5231d9c6ae024fc84e7a5a712b1db6692f1e7588efa21bdb71a4290c976a207c171a83ac6a80061a585f315382295e0da0d0e29b29ee8430c81ab2cb18c2730b29100e584405966f950f9d881f5f62d22912e7eb4eaf54b14a8faad242baab22ac6beddc88c9ad7ee3c33f4576e6f04c195e67cc2a88e2a67e3ad2e62ea3c9d9e23dd9d901ee38c0ed93f74906effda4274e7c9958d18dd2f112fb1b64004c818259b6e55103df793d48efc46ee57bd178070880bf6e6f2c52d332258a36a19a18fc908b8e811549721d6184ad85384263aac91dccf816b0495db5b7e85fb013be70e642817d8a683d7bf4b47cffdf701a580467780d78ba4e1f9ba343033d347d06eb27d4d0dc4bd4a2726c35b19eac512b963290df43da30fa04bf097075335039533c8f72ae06490d0b46b22f155b4049e344f2e31c36df45488a702ee557a5d6e4bf242939bd809cfa7f75788917654302ba2c2a4287682be37408d23914a01d651d2d2fe6728b50a3aad68a60f526238a415ca644e5367d59b625e3cb5f04feffda0e2afa87762def121e9eb57e3ff1e975bea0c402eae7061d91258a9a2035bcb825416079f4ceff688ea2724c523076822ea98afe8fba260654dd33b7f8a18fe89dfc929a548f804a94f5fccbeafb20ca527aa0321248b2a2c811b6cae8acd7507c2ef854197b242eb9cf5ad6a9f79d8e4204fa88729c92efd7b78209fa0c951a4c7d821dbc3b556d77186362df293cc0cfa4e3931a7ef55e40be91b8a1afd11416336d968d2ae4b160abede25c23f4bc342437703805e1baabfee4a7ed4a08f98d3ba782ebea10a044dc4a2c1a1924024c8bfb4f1820f9ebc39ccf4f2fda918db5d93f0f9e1a37cec7c19e041042502fec6b043771558a6749df1b8344b797ea0659f71be97e68d399640924c6974fa52a27335e32573260a96fad93a5be6e132e4a1160252f5277f89e12a6214c89a74c7d99b01d954d78f7875669d8313b8d3b1ee76ba344f69836520361949651307732f076b4ae368df5957f4fd2db23be1dde3c0fd54eff675b30e783e825123c09e4ece19ba5c59e6625115cbcdff43192d861187cabbf3802ddee2d42cb32ddea5472499f5e75240fd7511f1e08da30c1ff2d4347689bc527de64f4ccd4164227c9f07439cc545ff516729b67049e99a243229d502d6eef232d4b51dd9636080b611af592e4e584746e1e3e74decb4c21ca460afba472a774d8ca61072f1f9954d880a7d2f850fd1f799c10b7e1131d17788324b2d01538449c24968b82b29ab65c446d43ef5c5bc5ae84d30ee9d02ad8f646de052e55b589ac5a0e609c3b7d85c98df07784d362c3b34888bd4cdd89e170ce0d9170ffda951e3896aaa4b5179f4734b94b3d64be7c2066a2599978ac4bc69717f6d15984b39027c53151e361d090d4fd3b5befdd53533a0eb8665e46944886d3d694be8607c26ef76b653de886e66ce6a55bea09918417a6cf5e6383708f51c4da6ef498e95737355f86be738f0519be008023fb8bb19f86a5ef67f2020d6721724a6c04a4d21b2dc2d69b02d14555e9bbceecaf95348e2fd0b6b460403e6043d8a127c46717d648593761fe1924f8e948fa323cae0b2561513b129cc55367b948a67d913b867696542d0d6b1e4fb3a3c204c1a9dad0421278c8655c20694e378c04a96789b169e95a47b2649ef638594b5a882d099ae9ade69fda1fa528c6b6d7de383eeb4c76f6b52e103bea50d4bac89b2a4f79415160d396b37ebc240da32aba3780b90818c20732c017ac69683a3da32abeb81008b7b0077a79b57ea277e5626b49ea66f59f6a68675f515dc47d2f92749bfabde201e8f054f6ddbbe545b6f26a7b254dba81d7ec67b8ef5457b8045e087766d50ab2df3391f158646757e9c33b31a939801dc7912a971ba1467a4b195033977f37f68c578d5007c4b7804cf14a6c2d8ed33095e2b3a1b42d5372db5892551804d71dbe9dc0f3a0f3834769d5c1817a6d18c046646085e189e2471ac112ebddb5592fd54d6338c9e1e1cfee3a47bada2f22e8e688bd9f557c5cd02005167f84b3f9951b078611956390a79a5128ceec042032a70765ea0cbe7f371858d70b1a83b7215d69f9a628bcfd8613d84dcb94cbecf576af8e09fd95faa0267aa7fe4cc180bc5d5650eb9e79867b06c4048c696a17595099d2b4511944335568a1b1cb484d92a9275de1bb7548ff0456781583816cdfc47bdd5e075a261e99d081c17c7be28130b891adc3a7a6728ba9777348f6df465fe580670189e6f023c2c36ae0c005ac39569bf9a627d4e8f325351204429367a535b535498fef8ebf876ec1e6ccd2b1f0979567b9b8aa6b4c1b9a2b147f4cb971fdb7f81319198b6cc21c8e0435954c138e618a832e0e132d8bf1e921c5dbbe734dd72f723b8c5e3b67ccae554d1fd635b03023b1278bbdb2c1bae59b53d10313d17d098155a342d5a4dda5784880758aecae698c1a911900e033fad23af45f91e4eb8f1e819ee3823be72928665051897d40eaadede39c7124ccfd7ef0b9bdfe302b31ce2d347db2d1ed8f971a7dee9585966396380c5b0608e3fdd5ad156d5fcf1ab4feb7508c3a9ae55d4e28b2cf7e8a2d3b27ad7277aa0be496060fd7806a59db34ede33f7e357d2b9e098950c7cfacae475e152f297fd5aaa0715307955f2e9efddd5aa072400f907b4160e29503549281d48e0ea86c69a583e41bd5b6bed885103af96a234fc5aa265864ea69ee95e38081cf0934f2cfd000e40c45990a875b3157745fe5392b29540023d24c0c357472b85b03c49e264982b50a91e2c4b0078360ef06cb126ecaa76bdff930bf7c19124f03346d3b27399c993b41534d88df4019adc013a3d5e12eb058a7e6899de679890e3c34d8bd0843f8d0fe61ded4ac537806afc0ef9eb7a1361070a3698b62fcc0b67cf650e5b204ca6088045d5a6befdfa77a5d4a8d7c1a6f074a06881cb12619f12f02268120e781284272874378819a2bb931aeaa838627636fe01abb955e4e33d2c531e209f2541fcfe3cce3b2c4b12b6c278213371a582a7d57b315dc4231a2962c981e0e82c0c9bedf05886ccda430aac06915b1a8d1a5643762abfcc986b103d8477de4d32c180fdc0464b549b3068921340a9fe8162a397e12d44ba0dc297bdab570f4031c0b7807f07b759f89b5d8447a54308a0b8f35c57722e8e174e3cd15e211fec8b8421d495e7b650266f4ab70ad6926d288fc0819b124d43413a441970bd5efaf1eed6796313f231c0197a0e39d9b7d446e069460d558e8e2d14029c30ae743c0be5912443200c2b5c14c5d7fe1893cba300a5724abe19a90c8b71b7af82135e3000805e83a431fd1c8319a45d4021197d959ef600fe2edf9cebcc5146e8b5614e9371850ecfcbd002f9e7c4db3d73148ee57b6195113b08c239cbd81cd452cdd394a60e33c9034b656f204cf44ebd8b7ec0cf8eb97d472e641ac04df3aa2927571845e88a0a7ffee377c6dd99ff094e2043c0e11b8a68b2bc04b7d162654309de6d9b8f9a44b94229f038f3ac0cef1c133de3fb9530b70fa724a2e85a593de6c4151a651f956ac412ade6dc8e19aacbf108343f54f262e60e7d2b7991640f268ed1a989489b2ce888bc702f9a2a043c01adc055beea914b0c9fa6c1417f0857868887981927936542eaf2bf8cc2f1add3c5d55af358590e21a9330d2453031b5de2fd43642d4c72d6b5dc3cb430a3f7e34ff416942f455eedec8aabe144c2f2aec495e712080aaab3fb265c2670d796fb2620f6460cbe5ae7f788820b28aecb564e75e0e8c08a0e7e09b975c5cc2254f49182d868f58b8cf87e6d34843a258dcd731134d5211567a2f1bb69ada8f71616b6739247c6f5c3146da931baba680a68dbfb816fbd5a2d8deb550285be24676d291d8dc2035e4dbd686f61a22dd51a9c83ced7b2809a7055cf0461dd032c92d8af686637aefb41c4ef1ec53b520f351dcb56d8be631e12a2fe3d3ce2d0e883995c31b53d22da9334fceb4fe040fa9fee86bdb9104cdf1d129601dc0ef8f50c61a06b5d5c77ecb6f57a8f82356a133dfdef8f9787644811932426e8c6eb3aa4820fdc623101683f3395850ffb590f4a0c7e23817689a54e9d7400e6cb4739e39131c9d858648a335149d8c6c18fc19aa93360cac1d353afa0f94edd67095651750eb0de46fb742ac601a938a26b76be52ee05cfa61bb8214ae31c496e13bc59cd586675806eaf1eb210d6d14098eaa86fc84733c737b0f207217e28bf3be4c549a61f73ca0b9f401126b9855cd2a4398d69ee028c0c7dfbf59cb4aec95f619a034bbef0b03570e2c6342afb3cab53cbd2466fb25892aec0db780f37318f6ba5e07606a92222b7191d199ae2dc9140029ed985548bb1874db1d3de17d9cc58d191d1408c0fef77a549814b2813e7fd2004f047dcafe13db9e5535290a2cfad2569d52ed397758b159dac6038447ada9f1720550279050a0d73124e8f44c98d66f2f98753aa0d1ea4a43abf7303fbdfe24918d15aa51dfc90478f16cb96684ba9b2cd2d44038a2b26dec0991daeaf2ef641dafb591b29f25619a7da0c632d4eb443313e44216f11b0c463ad928cd50f9bc7f70a654723e0cb6591506c38e3d5c92247a32272e71158586b3298d68684cba131c7ee4ebde2e1b86507a02a42aa5441158eff217a2be74b34d4aabe2829b7fb33699d52b834e74a24ef9189a8dc632a602112336f1c0a24fc0cc7d4c233057833c7c1105fb8e4f6c0635ee4cf33974db7e2ae0bbfa3202c0136f9e079cfea58c48041d525750fd40c9d7e05410f0b9e124bb22bca241c2a04133fe5370ac0eaee421007d6f3e4d33781c7c2d36963b4a446ef6ed640d6b03499d6b160ff58b766dc848a001c74ff7495541759862c3f109303e4f013cac94189f555bf3aecf66bee3aa69c951ff329a488472ff6dfd963d86b9024703a5bf25167ef44d8c0cab95ce81e925691364af34ae8d7691026c27c0756a70d0c4c2836decd5fc0ab2759d4b037bb723a2448afc6edb91954325d78611575d2e6aae4a06c1fa003b7c7656a1d77f598d7e5d5db51f203e7faa32349a5ea625f2331e06f6d14eafada29e25d27395f1ae50de3ff943f47fc8c0fbda8fe5bde867045242e65f4ac23f375404047978ebb731a5c09d97da5c128bc135459de51f881a47368b5a97d18578c3fe3ac4c9558a4f370ceaf9cfb52d1c458148a59846d893a2cdc1fcc2ffb851a125f2b6deaef3d63c994e0b6246433d9a7715459d69766bdd0168db267fb7cfb111bde82cb4bdef2d1b0039f84d16165e749ce7483606d19cf73f064413821bccac08b099a1b2f88371191c85c83513e7de7dc95db6ad2735d80d839bc9f17fddb32b0591ff32f76788ce45c838eb8c468a3c05cfd5f50174c58459cd38c9036788a5cda34795c4adeea84615b769aa460001ef800f9c11a05c6b47e49a9f564a30038c1fd3bfef0ce29ebc28ecbb188fcfc9cc6f96e5c8fac3f1be5b1dba9b845f2b3a15ea31b43b5077ca9f0c48824a2a6ac6d4c7337bc9f2d3a08603ba651e5f35bfaa1ab4ca7ef28d4bc5eeee95a95261c519c2e131629e1c7cc2f429bd1c8a0d5bdf93a1783675ed4aa48673de0a23bc4bb6824e76a50d16904a2df4acabacf47fdad260b88fa163c9727d40c42c313406ef9b2976d675d3404ad76a0ae438c160e9eafbe94b48921331360440c827cb4985abf92d5f76efe28ff977e4b300e48aa67920c32f4f9484beeec1f8a9a0908de4d36feac03e0554c59c055a1a16c7a7828bfc1693a92591e8e087d61972eaafad6177779772e1c3f18bb6781a95e249ae1fca0632da35e635e4fd404b75f5bacb742b9571cf57cdd917e9d7a2d3d16d9ad86369aa06389d3b4939f0d4773a8871ea3c9d6183b171d7e7f1211b96faf4b15a64695098640e89901ba0bbc3a5bf71f0e4dc7e2bc004f49005daef8f3580c9533486e45af63af6c76fb7a64db963fae4c32079e6925e8e4cc6ff2c968ce383f160ecce4ce123aaf03eba7073ed461d5c2d3ae33ea0e4cabc44e808d705f82df62808a41d7d5ac9d34ab1ff589803d2a1153b807f80a5e06d929075ce445ce632a43f22db88a65d2a37efbcaf87f9ab5547555e1d81e2a9c72628f8c79171fce83bae4642955495f74cc00d43706bcf67d291893a950c4d766ee93b89d04e862021c36440044a765d6ba9eeac8aa3ec1a56a511b6ca403420bbfb453b634b857dbe6da8dd2ea1fd53b428ab8c950c98ccb9021587b581ca6d4cd73ae7fa74bce83195fac649983fbfbfd6cad1e991f48439a359603d9f1c2de0296d777c58162ab5259a408dfd3772832dedf1c3a46bb82bc1dd0e0bfcdbf2196e6ebd0cadb8da21401bee44cd006a8e8700dad75e977ac813a448ffeace7160fbb07bfca744b9f40f70ed65ab481921def349c1229d25c29a1935be7216f4d52422d354ba7244b23a5ba5e692f1350454fb29d9190707bc078a7cdd294cae0dc254cc50e4fba4e5a07180a4fb05cb5e696fca0f10f92d4739a02ac908ce304463c7676f5edc81d42140717980bd6ea302454a94efaabca733bc8686d82b675751d878a641645fa720e7cc782f881477edfeae41de060466731755ff8fe45b20055347f7d027ce17b46c1504c113be92f6c9053fde7fbd0c4b698e36a49202510a4afc09e5fa81fb330218f05ceade5eea9c6ea45b8f76c3509bc18de840be5fbe4bcaf4d1400753af6ca7ede588790363a5fdd24db85c37e914e989b786dd3f76f6c37ac70fb149c2bfbe0564a95b5a158aad3d4bae4d305a0739c56d535116e271db9f0c677f44e73a3556b232cc14d04b5068ea8190ae9d7ebe865af1a9be472e1d6be72e9371e307a9cadb1a5088f055dba361c21668e834e4dfb5d60441a04234242126062455500c5b21258f6ad265010db07321597051d727f18c5915fdd690c717997cc8ebaa823bce1276bf4f63e96aee3532c101850a64ced4356f8defa4cd88eca2c6ad67eacc55c4dc880cf45d3dbdeb905106eed31be16c74aa1c6a7606fe51a47ba3847d9324e40afa888bfe277e18eb7d6020b880ec2f98be3f43fcab9bdbd169d0eb628e170a7db31bd227c80317c126ceced048cecb650d8ec26deeba5dfd60955911d77032eb763a0e82ed6fd0e21aec6bc9b193f6f818ab5242473ceee742ecd5354fd36e99a88b76bac3b370bdabafa421587b542a2d02f634e34274d0e1ef83c5774005a28697d6876660c23064086242d716ea91bc36e7de8f8fea26ed23909f750330ca31a199fe52fd8de80b1476d677d580bf2ddb2e73d6e12d36d311e0f6c9677569dcdfb5fa1d4ad4d97e2b1f02b12651bb553cf24d88dd202488c0cd3029b457e33347ded67ad0d7daeb792ae1e86c3d726eca491024307668ffa82de0bb272c9306d23e59d19e3b14d50191feed981b8c3628811ee643f93650a49e9645d69245da425f2f51e6839c1fc4cf551caabefa9723035e82bec85280493e83e3762765cc7fabecd2adf30243bab57c6b8c8f44c6c04e9a6d39d17b6a9ec789dd0f734a0f4acf46f7163997e66609b88542d4090376d1aa947d1b9eba3a6801f0ee40e9b972523c7416049a9010be8b4db3bf6ba2acc18d9f12acb5d12b90bff9128eeac2aca9abdae160b310d63d520bc65e92f9d16a745438cac115c5a948434c2172c0bb4e091e9831e806c5684923a3c30f9f67961ce99953c0b9229fd6faa1b272ea4b09c6de82ea7f02ae4f1367d204abe175ff171d5015d6bb222615dd78a6d34e204c7b2c498e3280a9f48558bd9922a303b67259e3d410b5cc2b51b70252337b1e26adaf6f040639f8aebf4a3327d1253f31b313ff074df33f4cbf8455754868739516daf877f936a19bdb032e4e4df686f2668a473f48506d7e695b948990c90c4be0fcb6a6733e84a9bfcf241cb57158bd31bd965484446e790091c61f917e846f421d45936500e367fda2bfd33c2192ab30f4f5b697ea540f065e62a4a84e93a4ff85d5c27809eedad23432f042338ec7aea4d97c130240f893d44c22e21bb4a2885ef140fe5d134cab36a5ca47d9cefafa15cbc6edff5d5dd74624ad0441984d17d76c8168a85cad554bd3b0218bb8e32cc6f1497d227f0efa6e8a34cef1ffdac9a1a4613f8f2b9a6604190d1bd60d837dd56f5ac13677ae30fe95884110fc4a0a9e14fdeec6fcfa364bfe46c84c257db00ce126de025275ed403eb682e40ad3f8e34459658bebaec1d2ef196b86d70bdfda76c8a3fb138c9413ed9bd2df69fee8ca9a10bd4f0c0261967ce4870eff3df6dfa6742c1734df7455aca7b3163c456a584f64e4d7abcdcb80d7f6a33768997a7ba9cfb2cb7893c32f2c8496f7d75bdb577b745b2c1fe9eb62e4f14de6be03c532ee532bfce0c6fe602d3b6e4559aea879dc470b73e8de5162831d3b2036eceb1f3dab358954dbc99f5e85e5ebb5fb335d15a49a50c1b8f028079608e8e06013b3235c31ef98667be58c3c5c7acc9dfdb19c8b45f5ad087c250bfffd7b1972a371545d360ad4a23518b3b48b2b0fb660c64ae03857cb12aa34eba0328de276f5ae2a764af64be019b9d5ee5be2fbaa3cc01dd71c7c772ff38fa151080463b6f46edbdb5be544428f7728e86df6a1d563df594946e01c6576a3744b4404262b8cee17d2b9a2040c3c0c3df183fa54e873afce8fe9f493769dfd34e8089ac1af7b7010deba607753dc44cc3f966f6e43cca8ed101a10e669e20ff328abf39e87ceb645ad74fcb1767558124a4bde999b777d445ff964133078d006ab292dde92df1ea4310b3f482a80b8b20121989438c33d1d39e154cbdc596a48c9f85d5b4bb19d5cded015afb3142a37510815da1ebf9535882adc02f634b6659cc200bdbff157ee221bf69e98d352eb04d2a73dcdabbc876e096f28e163c5e84d2dfb64a6f19c7fa4bedee592388187e01c8e3b35da758713aca84c89c6e3fa5559abbe492fb101af4a19cd93c3753d991c259176aeeb0a06245440b2760afe71e37af0a7a8328c87d64d2d91ff13daf61f101b2894b9bcd47673f6791e496ff55c8f12a37171bc28e21e367311da18534365463f097028448be83377025a2873cc4d7ecf0bdca24c6fa43d14ce8473d089e4b83be13171d72ac7cb768f354e14aaf68a622de8d17309c8a8719c79cb0500d5622d14fb1f203573f0b8974d6e1a854be3c338b6d03204806028d535faada9358657f1526286d3077d765e697aa99af0e3b47793c44bed40e5b103fe6442837edfb485f56163d78624634f2a5746506fd6116530d8795fc568d8a3e782f5f0b7e799dde1956d56d9ed2fff245220021146e49ffee4b8deb40e9b4133e0e79379deeac241279e8e4fd9d9d37b7e428963d773a54652ec0a59e1f2e967ceca53dbffb1c29fe787f91888d1d902c016910418d90a4fceababf5f89eb9ab18f5253a7b0cf15e044ee4e7b6515ee2375ceb7916dbba9fad09bd10d7ce5951c19dcdbf2494f681a3a1577ee88becb6be8ce21513805fd65538aaf75d37b141cdb8f2be70a7bfeedc5805936f0c9f2218f1aaf8653fac2e1df1285d1d77dba96a05cfa03e655b554d684fd2cac93a769eafca5e6578b04cf5429f32c75be305bcb461549d735e0a808112e2575986d922b0a059f39ef0366230980399abd1d5534b46f3eed84706a67a2c7360deee31dc4f69e507eca40fc923ed1580e5fa931b482bc49a381d9bca10ad28de85567f904af5a6f428524ecaabf2d19ee7b9090c04f2824bf7757aab6b2fd2eb71c7abdaffb66b208239d1691d4e41e1f947ec2156883feda0ea0540549833deccb78d9e7537909a31561826462035a4806a9bab523bcdbce1efc0f1e99c4f7a7df9d981e35f477295b30ea8347e15ebe94cc0182bc5438129ff5e499b724cb4da13981ec96a1fd9045a15d7ba6b37050ef6790f312673c6179fb94569c92c3d08997d21397a1d35f95b85de09a21be09c12a6e127e7fa4da804e72da029d36c96df7aa9db8f9bf99bc0ed3987fd6bd419e8d9db1e701dff7d6ff77a306317f6ec91c47b433e3e7ceb48e422cb7d146a762b405bc3c5f9acf27db5224c06026e98e2b06efdcb70effc65868ce3bdd079f308c5e4f26418cade4df799087e344ee5133e9ee824ade1f2c7c185c5b8dcff9cfe4a2504b8a28ed8c078594200b6b9226f22c47811eeca5389ca78f46cd88307f697e59d53e5bfb56f1167e05cab4b0ec417716a41e940e2d748af681b993f1a132f76c78ff8690cad10408481d5ae534b364e4dd3cc2f3b4ee502900687bb4e9c066ec689244b79777cf293229a464da9f132e99ff06c77cd8e6d125e0a458f99da6ca0bcd08043dbd540d0209dab08f1fbb01b9f2a25b5ee68541b976638d45191cd74b9f30084bf1ceb5f0c9008dd3d1edcaa0e2675ce8055b69f31b8778d35786a103514fe375ac17e65b9719a9e612c16628220fe272888d19dfbf5f799b28234f3accedc167f627d62696233f01a928659eaac45eb1a465d68e58545480fd0cee5863b683e7316da02569eb3e33f5509749dedce57520936baaf27d49a4d908657abb4ebcf0879db4aa6f2dd06a9f5846abd5dfca1355c4a62548b8d5be84262815961aaca60723c89cb38c4195c994eeec63f96e642d077e871e25c60fd4c9e3da32a4266a2b40d84411f2271462731753fe9025df39e101f52a67ddf1743e41333303e0eb21bb2602c86643b68d46fc2442803a922bef3b909cc5b911930e995ef2ca594a0b3ad71fd2eba2a8e971fe450314978296b20819fd05f7b0cb35706d649e7e2d5bc9b2a064969f0ab229f73c32c7ba9c949c78a11b52085d2788d984260ee950d0de68a88bbf8fadc84359987b6a2e8d6579c5eae24422ba36d1dbfab366927b117f34ae8fbe576ddf27f3ed5537498a99177da6dcc07ea8a005bedee84eb27182d59eea654483eb2fe68d5fc520f59e4df559194d25c073a5d101fea0b98d235ab3f38777b683389dc172e03806b68e88ea18ca81c76deb9be9de6da13a734d85189aaa11eed3e4c0dc294e0a68c4feccff614be43e939c37f2fc7a23a27ebdf2a3b4241ee7ffabe70e77f193882aacc96e2a452c515d9965ae84fd1c6e3213bda1038588e3e8752aed3d2adac5433339fcb99a7f7de6568720f0561f549af50f7db5e5aeeba18e4643948118c8381031e92d0a7b2f8d056f4d48fb6c95ae385a06ea59c027f3529641f04c84dcb9ce0d73024854b75514a39fe777d9d547d811d2cf11a305f2296f5583f30226a56108c1b768d40bf44b6b2ef36c868c313d8bf19148140c36347fa357172d3e7ee0ec964712de22b83b875e9e601dab9ce779f1acd801b85949dab926989c3f0f39ced771d8202f75a8c08dbc9df63ae23a787ebddac4c315991c0901b34137e8767815c35711a3c9a93f0e9a0ee24138bf4661ea4cbd436683827ca8cc84c4143a4f6a4e5bc9a247cd384bd8171641974ea8455313eb592a288f4a70bd68eada9780225d499956e0a561f0e5a67f79668a30783d7aef52bd9f332ecb7b7b974cc9cb69d10438416e45dd1d56705dcf4d093937e276c5cc27213a07198952763db1f437ab843ac09919fc74cd8ddf3b975520a53961c16c5f33cc95480513c80dc03e02f2c9ea868210678ddab4ebf6ea67ed5f47d55015123f16171aef1bca7fa9faef46aa96f5eb73b55f48877e23cb4ae2c6b840b45d239f51f6e306e682e9157724c7b92ccc79e0c5ed440245c1b6dd1c9f06e161793b8e4f4469ba9906d422ac3a4c5c57234ecde055d08184f48e2ef5e42a96e1c530accb255363195e73fbfd60efaeedf5ed0b2087e27dd6619a8e3fe2407089542c9d74175a585724b6a12f956edd7ee950f3064c57169de737eed8b538b5e0369f7166235dc79468ef007a56060197ed55853486a393357ece0c35e9f6ef3ade813630ed175e4cd4615e0a982d6710ede7af70fb86f6f8e3a48484f5c02d811bc2010bca30482e6e684b852d858553ad322d0a72771821baea7e7327d2123cb999f0a37133e8554deaef8596547f2a68188fd600eada9f6bf41c5ba75858499a6d807484bfdf8cc62029dfa2d66365756b24125a9421127d40b9825854f6bb0a4b163b02b361dd7a6a0966ab7e7b28e6943fc9dd904fcf51e34331569a0be814e09c38d74dad3c7d37ea7dbda49cf83d3c3f9e99ea5419669b6af05b8b613b118a9c818d14a8a816b911c35cf344d91614ec853d9dff4277061818bea7d3e662759e302126c908de3dac3d32e72ad2ae386e35d415af2490066917660b110368d3b215641ab5d1c1624dfb32c43b9b77a5034f413c5064daa72b8ccfc9abbe9d3811f5f4d12c37feaba6e968de86d83bde5dbaf34eac4b8df73e688100385a57f01a91a2b15c57871a1ac5d508f8856dec7bff88e1979ff2b6a0ee3218a52e66e9c5228e98e3878104557bdbc0f4a627e9ac8f0af8b2bb0d177b9e68ffe4ae707731b889953899c2231a1681b7cd13bce6e321df8c52a422866de417f921a6c29f18a25fa7112221a124c21e69fe432f06644c3d685750787b7cf60acbe993f3846ea13d1b2fd1eb012e2f94c977babaa03fde6bef86192a08195b67a66ffed80b1ffab3ba1e1c986c4a330d3f226216a7955a98604a5d999373eb6c0ce7aea8676ebb27f5a64835f4eecc082ce553a05cabee04565e72dec6e15fc27eeb18c19922604451c2ee1bc0862b631e9114d473777ec902cdb0294fbc94f01969d52824bd9b390bb472ad31a4d7b12393c60272ece45efb4981bfb25e1253f9e96a4b214bc02db693672ac64e4a3e0a16288bf5592b3df1211e47f38dd0c2fa5fef75bfaa2ae8706cd08cd488e66b9971ef0c6ef0fb0cdf95ebb24aa44a98a3bc738cea807f5dbf9c2e506b25000ca8da8d71e5d857473dcb9cac887e0e0c776a75c974cb5e194c0992dcfd146fddc6d97f4e67d2e2a44854d2124454e224caa2fa6fba9b4aedcf774de59ee86c42c66ce043aba4df48499da47b04a71d683ebe7664e112cf06efcb9975e56110f5e97abb728fadcdd62d52a0a903ab1248bf1ed450ae739eff63c8835a69d993f9268fca009536f0ed6155e3138ae4eb996d00b2b4e3997dba9c9bdaf1574b28ff2085a7631e9d89d058e7f8c66fc09156fe702b84a713f7fdc3f377e74b1d759dc88969ffc85cbc1e5728183ccc2e4d0f6d015b7b5edd1d3505162402ca7c01acf4d8786a16fd6afce149dcf86bc858403b90e9935e56e159dd61dfafb1abd735889b1f0dbe9347e53e78bab3d7fec9010cb4c2b34defd5d41234aa851e9bbbdeb9fd07197622376d0d8581befc627f7be2cb3c04dc45ed3d7a1f76268a90884cf9e1a4427c6fb6bd1eb74e836cffa4d059da6d2ed308b6dc48b287c5ec3b687f5334edf8b508be8d96a9a3819085beb1d046155513279ee0cac945fa9ab0502cc5891a33162692603caa5305ae2ba77f8e982e2ca8132286534e718759010d021208e4f97fdd66258c74fe121ebec3db6962909fd0196b25b16a71cf4745ea0b834a6b474a7f2087ae06643c6bb63dec79846e9b3e27bc003844cfdf6ef5c5cc99e9b2150fa73b21542ac987af8e702aee2576f2c94121425a8ae0d38948e5db716f8ef57347849fc4b901df30b7a689c28ad96164dc4a4b75ea94a5d250ee3738d5251d61485efb392fb4cf0c77bcc1188a7acf2d9c0b3eae1ab16bcd942491da9204fb579abec0f05440822b268b6d688cf32e12cc7cf2e11b782f0e1b9f12eee32c31abef0be50a21bcf8a5d2dd85e4651ea6bfea1a03dbdaf73c584a3d7c5c5cc52c4fea7a53833bb314269646575eb256a299239a8276dd8fc3ec081c05a0d27f507ae80f9aa0fe9342c5e1491d802375acccea991d6555af404aea5a20b609ebb8dd785868c89ff64de242ab6a5b52f0730e68a09d24848fdb52c88964b0fa253de36bc0dadaa1ebef3ea3805ac88fc9be47746c3b2a70bd92fdaa6b33997218f2978abc81786e2c4a9bce88592884efc356f131f228132e644238bd2f615e50b4b0510abc68c7abadb3fd70443476fc174e647e9ae7811a28911a654e53a0802b12615fa102b081ae5f75df62094477fecbb50780a1d0bdf1287dc7af821d53b8ce7a4d1881bf9a42cb61ebd656a47ec8e33fcd906a659f056b3415784530aa3df52c601be27af0e6fd66628fe7dc05e6e5bac6c9fc24e591e6962eda3287a70df94f556233c78d28235b5387b3b4deb94d8d142f9a913f328a87a8425275cb2fbe8ecad5357e19d9da00c4b19afb69214e1f53302cca3095349b0de368dfcf5bd5960ba50ec15453e6deacede9bfaaf50ad00e028f17e53da54043e709e34cd912287111c7d637917378dac74f81ce85d8262a3486768fbc3350c67ced987f342384564a421a0c15c7679b3f4392609afccc89b031deec1a310892dc99d8634e3c41d0be8db5c8d8f6611358fcb204b34e3e4b9de56fc0a54f2c78343a606c93a8f6e1458dc1bcaa39922e4622788b3f2ba3216902b7a70973504ae719cc47a37e9c8b2e1ce564f8a709286d45b2b47bfd8ec53fedfa28c27fd0f41acb82bce7258b0716745e28b70c521328f15b0ca0dc18eee6ad29e1df7a6ebd8b49b7d46701ac350237b9df9fb0d74c76c1c9f65c3211444aa88f29e4ddd2ef9ac4621505fc939d027c63abef62f7a294b27f02d86c0c7773407ea0adcf9fccdea909bdb3e9bcf928e9f9e7d56d34bea03be59d3832ab1b8ac8c8ea1c213c86da6e2cd7ecd89ec477f863212f42015b7ff3a6d217306b2878d3277f9f0ed5d3ae9fc0696b9bdc6e1fa08b2ef763a5d28a506b0db2a4b6d5b8b79a83c030e207e1f9edef4fc1303fa2db7caac1882ce24b742193cd0a7d36a9617a8ac2543eb6404d903af9a441baf1deaf9a46cf75de595d95aa679801d03939b9a6e8047dc9e898b97c0055e0fe0e9560a3f788f03e42171185818673e38f9bf530fc5d29d656986a0c8dd91547139eef2b666295fd52bbd1ffa752515c383a8adde1cc6466775b4403ab31e05bf1189fbf6579b3a453cca4c5050ef1c60041d856ac86ade1fe5fa5ad7b7852f80612d64ddb046f4176b909d99b8f2ba14f3e4073a399c0b0ec9fbf87d8786376937df03df3e848e84297a6bb83300ab29ccddc63eee6efcd0d41206bc80d7d8353a4933819e782441d26ce128fd06c948a89b299c8b38cef0351958fd2ed88f65c6b1b8892a7cf8caacb292bed6a6bebf6f50a6f190476e02a3d1dca30c8af08f39ee28e9ec8d20ea5d5bd6d1daa20dc946d22e86f4d647c4e59c71c0915709a1bf87c0a2f74f6abd917bd1d3f4688a6d704640e7f3448dbaf8e2eaf119d1419fb28975d5027966738154bf0cad1db39fcd959a558e8ab879df9a762530f7439621ab2dcdd0cc13c2879e1339b0712014d33bf5358db1141485c4ef47b800d75a59006dc2a5dc2356e84b1030643f44b88148d8b982a0e4e746a4e94f29311f8fc6ad9783beed7b5ecdb1680f5fb50a333387eff1508fd67eb05113634a0dac3f04d65c5d0392918b3f87fbe8ce4e959b36b375ec69780f0bca9894413613147be2d430470940cd99ac6b0cb20f52e099ffcd849731d422684dc2321bb86c94ea74c398fbdfa561bb73caf57de992fdd4a1fa3955f77a0a9041785cdc8db7a451cfcbf5bac5216847680b29fc73159ba10a38de5b0de0c539a7a97314a83756af28bfaeaa68ff851f0732391f504c5cacdd54e1f91683d6bf76b2a2bbc2839a12fd17ac085698c53e6f1f039a2c673227b18697383ffadc0f018ff5878fc8b8c2c0dbde9c7aa2ce5b3c716a39a83940a7c0d1fe55632cb1c788a90a502f8010a86cfd0292fefae34ef8dc4d7a138cd93b3eea4e7a2a47119b58a0bc55746d0547307d22f6705cb2fd57d5d7b1b170c84ad2e5eb7587dc695e0c757cf4bf67e303016dee17dd3abc56ed2da3cb292259fe13a14d9c2f83991864dcef06deab5e3d45483ed7c0d603aab3076eeeec444cae7bc11e80a25091b1eefbe0c16a4aeb726b9e70e5f3be12e8975864b1e831c171a280f863a94a9b34653c8756a7bc8fe4640d95d322eeea9d50535d12f93550d9e4d28ac3818bfc78b16f10340b1a37810982072ae15e5cad092877399a0ec08886282c84152d2377452124d101c9fa009bf1f431560e748adb05c01fc205314e94b77880a29402d71c4e9cbd19b000b42aae555c7d4a789eb773c116185a1ba2dc14f067edc82d33adad1409da7bbf70d097c4e0263a95ec14c90e76b43e3145bc332f6404cf8e87e30bbd16ff0a115842140bf40f53af6faa0f7b2a8cbf8f8e3d42729b41a388862806862a9e6dc9e777f7ce258d0831bd808bc01314db84990a717bc8a1113ed385044f3abfd33468df3fa19bd4687f03afa849a203f37c890f3741388d2162d843d944570fec6696fcba0a7114647bc228649b49a43ce79c7cc70c792958720d413a33290b30783d0f5730b89dddcead15a8a701028943024047e7202bfb3167f3fc61419048a98a829cb724ebc7b4350413757831b8080acd470b3db5f3fa32dd7dad3dcb49fffbcde502dec9c6cbc5f19a5803b619f683cf603aee5f7c5189ba9a9b596ec5ace6eaaea65991f1e9fdb3fe8aa8296afbaad77f7972047c859bb08980f96a4b1075af7166292a992e8dff4e4378d2ad4447882060c7fa221a821e3886152250cd03d4a4b582c136617d651734e61980ecd5c5a79a33533190dedd03c831e2fd716b5c33ccd446277fc2f16567315845e62c3ff5cc4b0e8013988496870c0cc5503f077d8ecf520ba00730c78187895e71e203b562c6021aa10247b7019a69a8846af7f87924d18767ecd9735f5d994085695cb2362df94ca28c4c5198f398b5eaae97a60f84d7006a4254af3fd207ae76517e7b30731230bec7b56dd42568380030c3afbc61a253848b1def8bb7dc5190707fa149b7dbe9a26fe3b853fb0cdd472ddf1a9ef5f2897573ecc4ec3481c8d2b01a6167d3137f39914d0e14c33235b6fc7ab0e7da3bc18b8234f605b5434c062989f0a0667481f5c03c0e367c58781166a924d074ca6b219aa5f118bfb8180b4be0e2a41b1882dd061f45ad06ac5b682339e0fdd73993421bce7fa5700b7bd5fb10bd06bddee954df339ffa94461bfdbd69d7f5286547565b49135808928041016e1fe7323e2f619e44dbb411cdac00a581846d0541734cd82c6dc32f919b70e5cbaee4405bd5f1289595e95b708c37cd9623b9ab37b84a975c01cff7ec970c3cddf6e4d11311d8d98d59da6d79d3160f675c8334c32ebcd890721f157eebfa8d0f67fde13905bf9eded2e570011b124e7123d4afacdca95bdfa450e02f3cbe3786f1ab2b26afff3187bf3fda513519ad21a258d855596da4e6f7a0d0b6ae3df32bd40b187b19099e3983479e70a6fd538c205bb860201b7f5691f2ceca414d37992dd87adad86914ec651903164366f7131c795d37dd1ed3afd6647b17c7abfa8d798b43c5dde7f9c3a126ce0662b759f56142c65d4add6340265b5d95b7e57ba4b968039c46877947069fcbcbb5ee2e263f3af3a3a5e8edff2e268ce5f2284c4c13d48f1806cd57f595ae599d56be7ec883b875260713e4ed744ebf905b29e7722120e38602c9893fae14cfc1db4f9a4b7e5ed70be87dcf63f8cb274ea24c2c7027615a040cc383e3444735d82a98218a6deba370898899ee5cfb720981d906aad536438d51003e72da713f0d31845035189dd86cb5b25aeaec868eb9d79c2d2a4189068b569fa4bb0e4f9596c07fac4ef209c584197f6eabefda457c80738d0835e1278d1f9a881d1d09ef3a41ecd29e23edca56e5b18da608c75b3c271c99e78cf5017cdbddcb47c210f6b590d61057fa1298eb58aec4d10da038b10fc223c5f74f7ae74cc9713023ba2b35dd49ff063aabc0662d688f65df5f7bbd76cb6bd04bab5ff0ad5210c04f5f68630be8e68046881c202edd59dc4aa844887c029901b6e2ed9e2f048a026f29ee0677a2902ab26fa4df6f2cd154437bc939eff8a52bf4203086332d1bb4a9f31814ad28447c0bd328e2dcb9a1ed9ed99085d51c113671cabc78ad0be0431e6502d3da28ff631d07fd826e070659968eea0eb2f12c913a85ca1ce1609e7a601c2258d9861ea38f779785cf7b03fe6ff66759d416ff5ab927a6a0733935af04a39f9f4252e7cb9009128f71f04d472b17205c11238d604c843f8aeb0c7b79aa1935edc5433a198c13a67f91f4f55f9e80e4362d10fe24768b955bf23ba07ec2b74c7f9ff7576349ad22de4c233ed5bb83c077fac4ad0c896183121456843d5f4cf305e9353b588b5fb17bc3dd325e388288a40dce0bdd9dfcd5a48d631e5ee408ff1ea18708aba3ff29aa47cb0987e944bdf15cd579ab5c84119b34842e97a2a4ea8d9ec5cd76042bc2e42646e71d621625fd73bddaa5ff2973237299b7b31badab0cffc092327c4234050207efe53ec902745546980d468be453083486c8af612d37ff64d26409790342d5bf078bab146d2db683286ea8353a83b9caa91c7d7f476c3c54237b7d839bee4cde81fbdba9d827c80f3ce593950ac114414e07d956db46b7e11246c0b032b95cd0129bb30d6a0ce9734de8479fade2461b2a97d761edc0a8cfdab7933dfdf0aef9b439cdf6e350feaacd8f32aae8793f8539d833903412ab6531e8c1c82db8457af4ce379f9c2ae3373fdba0f4d2ee5922bd2c442e49bd9107a312bc5d9e1f2be0a5f0aaa88a5b8a0c149530d9015524902d3997651da9c4f97efd145464a521548cb553b908621e462e32bf0b672e80b1fe76755cb56f5ebc8e4b23f1c71bf6e4e9bd58eb75e990c6c91722781d6ca8e098b713380fb0e168c348c1e53b4c490f92a28506fcc139995b8fa9b21573d935eae5b4b3ac9b8355c04b9a0f240a2bd98284e07f0898423a50e8d42620fb85f5136c149442c233441c8521c3641c33d20bc22ad367d91d20fc17648ee65d73c1a39451ae809ca96be9c5aaf2d13333ea8cf64b57514225ae8d6f4df2866f5788d2bdc4772769fee4735a8a79421d6fd948d4076cb5cc5daef99886795521030115234729166b8aae125d4bb4b309de669f26aae10389106754afd8f6bd179e7ab80356c1fa1343d731e170cf188e4db6efd64c4b686ce71766e3cd05c5e8588f958e5061e5c9cebe273f380999a7c06a811ddac3361bb2e374f51bf0ada0e53301a8596bf1907688734df114b223c25dbd864991db766edd9d4e781693bf05cbe85cbe165fdd6bd4f408d48b3f8281c9f033a9b57117f2726aa1d0c2eb6c658453d43ea4e316d6899ad13cf073ff515034a9bcdd282a3c790a24845562dbf1609d8ba46a119c58bf0214ab182a7aa88ad1cf1b95a6b5a36183611aadcdec7be51427f89631e3f58269d9be9f1c470af9deff29ced1c906e9a002556d07a5e445cfa0ef84da9ba3a5c076d83af5a02407f0e63f03bebe91597db85ac7bcee47ea5fef7a6f5d22c95f3e2abdeb499af3e17f6b1c6954633283c08d7c4a1c414564266b0ca74bca1d86e0030f666dd06ac2c64e13afee899bd762348aa2fd10461692479f888ef141146530541ff54186f7b92ef1243619289ea8f620968e92ccf27e7715be836fa384088d1828a739db9b6c11d2f8bc44f60c6b4ed909a58054b7bbdf8b32c86c44e90adde2dac51847639d4bafca462d815f99ecbc61e6b8ad8c8801aea435c536117b894d430516eb289b667d6f071f5781b263717fa1c80627455769d2c35a9bf4f786513b853be09851bffe4fe064061976ac1710dee7f40ede092e09265c1dbf17ae8bdee63f7d33b4337922b4ba74afbd50746de95e504529a295feec273305395eaef80a6d8aac117340dd03eb7fc51780b8afb1fa9f7496d180b46d438263a055fc28c2dc2c57488dfa001cd346ba4f4b06bdb37503e6811a8e17eefcc4ee3db7f557e3f48fd0bb0a700f7cf9d7cf14d4c6fa8c90c17e9a9a711fc54f267f190995f328a70365dd26a4553b18a0808445fdc7e6a73419f520187e842ca8a1acb51d20dfe50093c6ac2d732a13d4d464ab5004414b1313676991825520e1ef58aa34891b928aefa0d39d97b6da1a46341b9cb4546ac5c3eb7015b0ecc2d879e76ccc3ac152f10c2840da490010557e002b97719e3da77685d0ab9914bbbbd52f65f03104607862f70938fc3d9f6661ce281366ae4156dd991fa92e047f2df2f46855ee4acc7f7b1990e6064ef408e92a1961ca27ebd3590227554d6cca66807da9191336ef42c673f4218d532c06fb1d69b73bff2d93cc31da83ea6e2e4f5b90f0265a61ae1033a2577dc9b9a70df82c30dc104bcaa4ee45c47b1ec07a9a7624995872f13bc02f67652992e04d4a5bd84be2237a2253e26e0b2f10b3400c7dc4a69d606cbc66c12ed9c1e79b6faa5f72d27fa647a26469d08c6bafb3ddab7cd5557d839ecf144af88bdb7b461440692b631f149897f53bb2d3d3e7bd26378a156dd43b9325b08965ad9f2bf9d9645cb81dbf9a31afd33660393fb83e07fb9fe95e20cdb46ebaae3c948f6b535993559bfb73ef431692e2a4e1e9e131b9ce24b0c6d74764a02ff37ad2ecaddb4b680fef4046b276eb6d663ae4f434632beaa1974ce0fbdce0e391f67f4b1903ca3ed5026f53c993b0a2a5c3132ea0ce0dd126ce0194c7269b26e1e3053ce8c5dd3a9d542bb98db57fb7df5e08a824f5ca9df2143cae8a01e83231bd6d110e26d2f3af8deb6451a2cace8adb1b26eb915cfb00f118d5144249ff617fb3347d198f039bd27a580d71ecfd64983d732635bfc04e950355bb1a0d73f1b8ee39b582cf247867573a8d907075bb97f3c86b6e12bc6abb85b69091f412c89c157ac6e4bbe11f42b5af0967056990fec776042aefbff52797add3d8339a89102385904367a6485eaf9acf9b6d5707fa8820a4740083c8987db796c8302d87246767c61b76394261c6d8c067ba11d743d1d2bb93d545f51533a630e6d2e279f3fcb99c51f7558072cd7f438294ec20699dbde9dc87905c35c28655b0187ec54aae30ba7530ea71a590f1e1af7d839f8b4a57a4bbf41ebd5e8685bce87edc6d45b6777525d9917f8bf9a3be43a1802dc29ceefb44f8851b175d9e661a7aff6b2b66b16e223f0bc034fd8400f9fa0e7c418e3cb201e900fe76d01da187864b6a111632f453c3931cee386745d54bb78f6cffae8d85177c4a652f3422386eaedd6cfe1066c342b4ed3482849831c7424096b791ad5147e0af9a6440380d2f6b7cdeca51c9b38a8494d15dbf17f39fe42742081983297c0cdc29e3334493dc59887b2b7068077665bfcc9c0ff2a126de95a38233ab147d0206c6d5463ff1589ae1e42453996e527e425b690677fa32e960b9650cf41ce4921fcbac476e0741f52c7d19a1ea8f5386b39f27ebd166eebb8c28fc0a15f6b54dcec33f803d0148d29dee72d71e6537d804b50aa24935bf88f5c0c861f16944797f4c70f027bd87bfc7484e37a1bdd9ca69c5849796f7eb47ce92d1d9f5101da0cb18b285c451dc7addb42021397c322984ce8ba6716c72a98aec5486b49d9a5db889ee8036058f6d8b9286f1ff8b954952bb7f0c2475f0efbf40c4e6df846e47ae31c3bdfb0bc7c8202874722619e45391cef4dc40637770489c70d0381288a58c77c9d89a3370e642496d3dcc8e7948c03c14acca19377dd26aa48e1f5cd4b8440a4127095b9e8b61add2806c33a7b08af082d88ed3a4352e83848dc1ec4f05505844708e3b63db0238f719ef95467efa1ce91a99f4499cfa77ac3cbae87370de28cbbb9c48253adef16288fea427fe1f95cc698b836750855fac6e4136a2dd12dae1353446ba2deecd380859eda86277599bbade5bbdaa476ad34cde440ab904560662fc754d624e8ac1267f23b4eebecc5236f607a971ec7c6f6afacce30adfd221924d7c1fd26628dac0312a167d95158c12a51dd7d9c20cf122c59a57503eaacfb1656e1f3dd03871dcafee8745b2ea507bef26bc1892acd9984ff8871e570bb8c7e25579d973ff6e418b7b1affdec1048391cbe6943a03ffc0e67a5900853d665f71265b703a764479ed8673ea7b3f8bbc4caaee4c9dce69331fee51ac371f7dc77edfbef5cffc6bb4fbbc7b6a8ae3f1052eda3893e028b00a92183fe7a1e53f7cae0ecf374f8e4e41cfeeba9d59e8c9b896b4d8842e5d8275ad5f8d3d49d131e472cd6bda530cbad47ed98d963f3d29a84422fabea67d43706ee051569b8d8fc83c12d64ace42024fd6badb05a1a4b7d26506e053fc5bf72314065a69ef08daecb1e1a98f0e46b36a935ff7182978fcebc95afdb7ce769680df0459edbca15eb8c9f233c4bc059eaa1b1e5eda9c87ba48facedb256d7f3c86cf56bd313a57a22237a9c7bf03eb91c86c589c7ce2261a3dcf75c86602cbfefb4bebd2296468fce0441d78df83c429cd5125a370868e1b2cc680b1c1785781b39685ec32866fb4bb8dd4ab7f1ecee1426e9b00d5e3a9ff49a2b93302d531002cedd8b6772ae47cf069404a83157c6898b2bd4975d178720d384464ad7a3c2faad83de34276dc06fa2e23844cadf43353203f4e078904e526f42e1c096ff5866d79b647c4d021f69218624cebfa111f3e1bfb5cbe0773158398e69aaacc3b1f0a1b23ee1b6c2b1d0b3c8e2aafcb8fa4d821ea43a0eea6cc683a1aae2dd1dae88d32926391e6774d244359749be68af51fa42b11f8d3ce4adfec7b4505c7b6e91871e288e8c2c0e775f28bf4cc24753fce99bef52b51e1231b0b3e502df5a2773bee984c0d332f4def43492ee2dd33d116ccbcaa217549655ff979d183fa4d9447a43b8f2445d899769020c3a743d4bf28c8d59d045648f60acdde055992a9a3887987ccb4ff91a11fa3ef0aba2e5c41e5da3242862b3fe864f7afa277ab3513c27e3d294ae69a2b363078003fa59994ad7afac8cb40c055851612c8ace743d5c60eda40454ddaf543d7273a8beb8dd03947f9939149074da35ad88ad0c5d753c1556ffb77d56860fb048f77266e35fa4b8bb3239f970fe11fced9af4c41973e2b18b2b57abd58a3019b619801b0d943df958e09a1d8d1fff25abcf3b89ce96f8de86eaa9ddad6990c7c2d203540107ed63fdfad9290e4dbeb371da860375f795bbbd3c6f61ab9552a4f40cf1d44445c9c6aa9fe0db9ec02265342384462a347710fb7146865264b6b3e74a53427ec004768df8a512a1460c66b7c48f3bbfb2dc391498b8772f778cd6059f60aefe425f80609b50b72b478f9534b4e6fc30441a4ce24d04ef9c71ec8497a857ab7657c90fc1911718542ab963891f1cefe89ff8ccf9c862741372360c14886b65deeb68f1a8c0cf46f1b9d8a28e57426079b4b756ff113c047568e4a3dc45ddb19d2ee15628b1b0d02ba0e41a936ad6b7db1cc17c7f6b3fca244c22ff54abae6b2e70193a6f3c5a0ec3a9af935d0059c65c3fec023b56a7426bb3155d0d9c9a23b12aa62c69da9aa51acb20183da56c3e3a20033209c2124e003100f7b7101436beb9dbc044a78782b8490f45ba1ab25c6d8453431606888fccb863142ad7ebaa365b46df45216514c003ecdcb57d3ba7f5a4b08cdf47aa4a259448bb0584eff8b91c81704bedff3a63a36e79b0d95a1106d5f26de9b7c29abdbf4cbfc31856af84e25a57c3445e21beab670e4d0b4f8eb2da805eb63f8376326a12c7e5df763d31383eb06252d0e90f025145b9061881e9a0d521c7fe18c7e418f927fd333de3f3bf753825ce0ee603f62d4df8edf0f6258593a56734e0a1ffcc00a09ab9eaeb3837ae8d805c8a3331419c35189e8b14389ac743ccef02ebbf8f2d7ce52facb53fa49ff4079255105cbbb92d69521b99c234950ba2533702b0660ae4d8c09668deecbee605ed24748997a050b503b0f9f9f0b9ad93da0330748b990d634be7e4ba0d29a20b07e0eda4841f39f5744d3ddee8a728a0da550035c90d2c1e6639bcfd7ed4e328439428131318bd2261a4eb5f5ba8e5053da3f6f31217e1d79fad6b70ff60980b261109031438be25a6da595fee86387b832663af00ed805c38f7da98f5a733498f3aeb57fd640f381f3dce295fc0d511c2c145a74d79176675453830797178bef0c2116183e46b60f3593d99e5c36a3cd06aa27ef083a5fad498f5911a2d736e7f107e5e414baf9792ee0d0752bd6da27583fd2fec289de8f4928cd4b9dd91b9ef64f296adb240f31d87a3b419dbf4ca2a471d813dc1382ca0bed60c7f286a97da8e84b48bfd8f64922153385cba8e90edf11f98461728c13e1fc626a5d0482957fdf65e6c1c15c0f9e3ba70284bcb4f32ff183e8f0d006a1a7a0de9ade9a17f244575ddbc9c69f25189ebeb1d63926c8846ad84f3d683662a7295e1568d032a9998c06d30eb310a92b67bf96b7333e763a77644a4eb5f33b612380f20f5f41c3df4590f9cc822bd3cdb61b4d17ffb4056c56af96a7d9e8b724f94110e2a98674cfc582bb8a3924d55d6d96bd14212f3403a136127037347b5975fd35ea78afe38f6694cc6010b4666263880b38120338b979764e0edf4c9e01e48e8c9eae0843c02a329295efced98cac125e3a1ab8c028f1f2f41cf484880c455df38e5e20521ced455f679119df9267762533f745e079d765844be89120d598781a378e53ff8084abdd08de1f8424be713c9d4d83e52970b93f5e73f29f31b1410de89366f09069dc133ad66b10ee08e437a2c1a8902e89755d09d1dc93b8cac3f1527309943cdde8bb23584535639061db03232b1fd4a65d58fc4d0ea57a9afcae70acfb5ebfd4e91b6b6e8cc1045822cf7eca1526f5e9569280ff22d50605fbdc8ebca328d4a47403ab022143ca31a13ca0cf1bdfb2205df879af8fd0c696fc423dc4e3d96088ecb7b11618cb24b1f8af774ea0c9cbf1a1e38e5af94689ca69f55157f16791dd87041860afe91738b02f4984506a278a02ec09e5eca133ae97cc96c755472d84cd7f18d94a11c30d67eecaad18a3287f48cde51b88bed3a3a189ef621af3bcc606389ebe7b2793e25d6d3706fa0cbabd015d92f09d38e0053db5fc5551ef02d6228abd2d0a84e0d387ecd26253b702e09ddc9e75bbb6592ab9191d2d33af47096c07038c993a28bbbf6f931dd58b63fd78ebf66fdc9124108652177fe62ab3b8d0e8b4d9dab667821aa8cf9582f16486baf34f8c2bfd5139826ea884cf8833fb82111be2c5a92c9d43001c567392b20731dd985add7f66c6e53ebab629d7364a514c34d5808db334224771aa7fce649493e792dbcf5b54f9513587392fdd53a7d642f248bb21ee477fb4ec5b8f696d4e302269995f7b0fa651a38c834ddc9f4134359b4bb14b06d317a41bf98442de280e965b4889508a3a8e2f6257c901d0e8a3a776ba0b265657fe87bf8495b69180bfa2c80c27992aecdde6f416202cb30d0490f2c82c5d884a770528a00dfc6fa98bc6bddb7d773da9d3adbaa8e032bc09269584ba22c406610fa87325b58ccd65d9279ccc3ea2e23129439752452fd95a7520e62a082a73ff9163d283a22b34e50dacf77f1eea0fc46d1f1ebc96c35adb1688a769291836f708867e1f0b3b0af13352b6f8aad894e1ef7dc5f8b0145a21851432c947e769fea4433daf5b727e81d4956f1d3a3169e955ac9b27f42c48f087cad853c710ccdd44f2b5ea635c343cff7506352a77da01035d9f9ddd86fd4bc022e78ad0d41cb1d675633a531c5312e82be2ff095f5ce262fb06c5b60a0f0a56ff8c5ef393cb3ca119af464c773db3b3aabe043e82c5ea35ed4e0abc16d2c30bbc2434c981374e5e56494649d3dba0eea9abf6b6e8bc675d124c4ddbeafd2a504c524dd3252f07a863e46a8e3810d0cce50172c5af112bd66a79209c245a15296678f9ffcd516c9bdf2036c6ff019888af1ef8026ac5cc84af36a627005b16cbe793dfa39897ad75c47868d8d05a0e8114c3586fbca27a2b7445e37267287eca60b7efe5d39c9c1d43652344f4e477bc50452e6097a2d67561d720f90d70bad67086b5f97c96f2a7b875924c436f312248069ee1ee6f6b56de478410db8c4e7a421ee09354d949f3be8c255e1a1bd147cbd606aaa86d70c3e675d923666c8b0f9fdfe68508612069507b37531c9499f60631db13d64f4dcf88a0030d0c73831bfcb2f9e6d92b14ad2fc319940b35a5b02ad1b34e9621f28489d51394e7491c1ec3b0a1909947cf191bd39ec31e60efee85383f1505c240a0e5a8f36d854cc20a84115d08963cd14bb90b6d61fcb576f71d718e0cb48f5660f33b4d353b75f01f0f41bc65df6a87132c9f0537824b27848ea11aa911de6b1a558cd98bb73553212a0b4192a78cc8451b0a6d4e1b95d108108309a9945744df610cc527c4f0f65f8401c1decc5c996856c30ccc209bfffc5fa1ff2d3c68575985cda6dd173f772318ee8281e62a002645d3459dc60380a313e25e7b4aa5f441b4dd90f7784b9aeaca3f44c62782f2d00f499495e585a354ed86b81b234668ae8f20112797e2bd946d5f57a94af0ea3885a7a5345fe53958f0694888a6c9a70dcc46e0ee8e2db68d488911a1a230feeb8fe078c675943a38e2a3865a97794df5e244424bb102871dde865da94b47583ec51331e7dd69960a0db273d73dfb26f26c95f48cdc1a78c2a698fa11ab268ae16a87f6cf55ac7aef55ea569b782a7412c7141b7b67e1079021b27a314f0a6b379b86744e07b2659feb22ae6f30deff6360ce565ef63c4811367f6a0928d231da87978e53d875ec7dce8a763558e370f9760f3495923a2e117534590d1f0488d79c6556074f1a1e96f83b69225df5f6c29a743454050ad24a7d6118f32ea01364d551c565fd6710e0abe6132181ab609b0e825f130d2ef9982f080df55d9ec31d60d60113905e09fc1de7221cf711362f12180cbce4991d77e91d26d3fb8b18b2e6dcf5873c48107ccae90d878b47ed5d3f2fe667d820eac0cab32e5812e5a41e3cca18468cc84e0d326b7020582dc0fdcdb55c12f456b791d90d746a1f0065ad54da025d91ac293edbd4fc54d68d529bf599b25701db6dcd06f0888caaa96d361244b6609f90fb1e176b8771ada7b84cc3751ce11ed1332b2861970a19dca8ae2d3c0e27deb1bc2f74d467bcdb40ecd6a6035f8d89bd3088a0829b2bb1160005efce3b43c384098e612930ec67313aff1bb55ada89c5eb6526ec7d94d7bd5dfe42b70749a5c6506fe2ff4e14c2da490451aa9aac1a72cdb6b7af8e39354b996604fe18163f280173ae52d859e2ef3b7d6f34b6b8ccde7c4acc3cc44a5828f99359c5e9541509346b677dec637133eec6001eb4c311dc7ab25f4eae7bbfa93a2a5bbd6cde24fb6f8aa1ba368c0b378b1a1b6b0eefbf1e7b67287d555179fb2c4f47ec1ee90c85911ea10b78c1ee204ea6396277862793c6c33988322f2701d084ec7e1a2efc52727219c989e3d745ea9eebb674a2617d69469dc682f3c5bb388073123f8a3a27d727c19d184d94963fa4ecef712bfd6030e9d5c6bb501a4ce3a3a945fd68ce8f02806ad0d55915df3a993768814a5704794e611da8550907a220a9eb3b0de58a4f9b678e2d2f749c7a6e44b57da797dcfe402d88a65fe8b990f4a110ca6d9eaff0816acc389155738be764f906766cdaf42abbf70ca9ccdc012d7a722cc4edbd55d331ff6d5b5a7260fc1bb3e9b3581ec3712db5bb70dc224cacdc117adef188465afe7b964a565a02a1cf19d8376272fc16d05b21508cc62aaac29683cbd4b742e1397ad59a147e409bc2c55787cbc8f542ff80569b8d737d27b1016fd2d88e2592cf2d931c2112dc83f12bfbedc78f87b185b8b745742ea8f9d5c275199ebde1c2818c401e3e695a98547c1806359b4945ce4f9ffeb7526b629bc66042d3867d21d9158b4c785b39f133c203289d2bb93414d1d8029b39262c122bc9b990c3e5747e335ee22756767c889e8b19e59c29c447a9d752ee7d1d633170bbcc61ff6cb564ee356505ecb146e930fd78a64ac922f6105c93472735d68b78d11194988ecf44ab3d3b3f373b5daf8b02b083a19807ab0314cd22f246030ba34d3c7311fcf99f3e8d20aed9d2a8ac45a0972ad026d9114ad4238b7072b7cad327d489d93f3a07bc00998acea7a1ace8f97118c6f044b1f39831d0065b05bf530487e572dd3e2baef9b7f49663e6758c4f95bcd2d5e45f9cf2c47183afa848e74ed614a7c7ffdd0021bc4dfdb56fb49bdd415db3f65f6837dd93f34bc243f2ea0605c98f9c8014a028ba0d7fb47fecfd8c1abad3136a65d6a309f1550032897fefeef3e215e00df086aed492171fac1390ebef3af5373a9ab5f52973e209c8ae4129816986c9e3ae1f996bad7d179b156a16b41a99c27bf02922fd221120d666d71da6070bc21ce2c421924b1853ce4f256983a3118a169733083651f33460d11d6d7236509c75fd77bdebf6b77646ac9d11c5d167d8d05b0b373a5e692c02e3485f58c871cee144fb38ec4aaa565b35afe8f4dd6ae2adab46a863a7d2072c6f7f94b55d81fe922b96bda7f41e61999f5e4abb8a93381e421ae724fdb9389202975f4ae45d2590d207a17567567b1fb366a589384a4d708c993b189ba46b87e160fc3353f4fe3f2dab153e98cd9988733d7238d695bbc0db355b487cea85a52f2846715eba661bd14f5c1cfdce94d05de7204ea19ec793f817c4f3ff75e40aac61371289c50e4235a5f045a2fc9aaa118be61ee852f6edf3dd085a7fc03ff11a4e3e6226d39e1809044c2d795a6fc9bdc84839bff130ee65b83ffe2877153aa1e9fdb3e1a6d0bc3378933168eb0d897d5078bab03812f9ef92417c6e3fc3f512468f08134f6032e319a57327063176b61f2d406f49ce3024674fb4b15972fa5236fedc88ad5c4755a19f336d4102aa68a3686f56db16cd60066729a080d8003fcd43490a5ad36e7e8c55c721f238f84bc90a1836b2e846dd4aaf8b7fcf3288aecb62239e70c351d394681b253a3ee3804c55a5d1a732d1b2da99cb9b406ce25fd675a801f9e3dad270e29a9df33e627b9ea1bd6375c5d624e91da3b9e327f681da21dd0dc073a95edd98b30f1b5b036604b49f4bd9d7e7d43cc2b516ab4b61c66b67cd8df7004d95d41790d903580f8cb54587024c2646f0ba1c908506fb061f066e6df5594cd49eaea52ae8dd22c0f091a609d56c73923e981a541c48815afa6156a9dd70b652c0a8bf4d1ab890156a0fc17c9183a05e4dc8fa73b1610692861b58d4a12c11e9a300cd73c31c99bb008a9395da9ec9e8a4d468a6532d5c5235290b11e6511cd45e18dd0e8fc64d21a9f54d093c9fdb25be25bed13e7b2d6e572ccf2ffbdcc3161911a3a973a79fd409dcaf08696884b823dd82e039183a4f5debce689ad2e6388aceb728599f3b45e3660171416b151b8204b1c0ef70a596ee1d9825cfdceee273b0ff0f676a659ce132455a175bbc4640a625544dab5b9a818cacdd0e3343f2299feb5b2ea0f3e8b133a1aa3002d1ea200b0623bf5f775adeede98b42e48a10f171338fc34d697d435d5de0cf5c19b0c7ef5907fb66e7f360c61d9ddaf70125c7dd061461d6ef9220be51c6ec1af19eb414337388b31087f24c42fd070342e2baad2923742b6903640bf7c1eac862ace6f2dcc4f6cbd95bc159a9716152a4e3c68f83123c8eed08692f38ce731c4e756aee20059306b2bce5ee0780254982ed652e71d7f0d839a01fdd7aff98e305ce1e7d3fe085ac6a2f2b0294e435539fed2d8532fda1c28a2f6a32ee1a7f0495b93f3a1247f3f88f9b2a5dc19687c63aeb7b371b583ed228dea31071a644ada64bdaf5931658492127aeb122a450780472626d3067f71624e3f479ed03121bfdcc3d9e130c58997b9259837403c88c8c75f1546eb1a2360e889a6c7bea769e08acfbf01553f27c48ffc60f7a2f88099bf7fc56d9a4ba53647b383b45888320b3d2cb4384b842777e326022a13298d31e575259cabea16d46842a66e8ade118d42df85ac6a5ed9afff777d1a0370fc6137d71e3dc077eeb50435120968566dc9bee4d217096074d631588c1dc43b571f59e597cc58d014908eaf8ce519dc9337a1f3830fe615c2a1441d5e195f1476fd29e62172072b7b38c35dc3bc70d314727bf966053f0cb0b38c4170235ce1f4c2f243751967ee66259cd52e5b99ffc45ca41e83e4323064c674efacf30ca6c144b89224341e19393fa86b04659f181326893f8fd7df9354365f4651dc6fdfaf04f743b06f5412fb3519fdf971eee54e972dffe4c189559e579d2a498e94ec5bac6519c5758a19214af8173e748ea92ceccf1fd4bf8e2740b494c56df3acfd9480d6020bcbbd23d03176770d5fd1545113824a4f46f3ebed0d167f7005922dc983449e400b54b2b7049a0362f897e2d38776d3d99a7c90629dc2af4585ce806433fad934c7d119d4e9f4de3f7c62534a46883b49058ff6e265b4480e7f9253f7004ddabdc7e917889ae3265115311fa58ecc3f71c7b4fca4bfbea184e7c1fdb280d7127d12be3a9e05a7d2baccc22100913761fbd4cfd491cb158c8f95d76773552ace1437fe010f2a46614bd7b738b79bab0884f4866355577aa99b5c8e12b93bd0e853e98dcf83a63a7634d3f810ab08163558367370a6f8408bb962e4af51f96ab015c37499e9aa76d9e4832c58f51f801e8dc3cc04f115f5db8804f05fd93e3d2a53df253baa57a5973ea7b20a465af36e9c479da3c5777d202a0683381260cda2ad3b3c45c989de4eb891aee7be20689346570b4bf5600e4e5adc91c3371916c44ff212b913a0921f94f0d64269a730f85e340277e4b383241c5ff17ae241dd96d0d2b557070a04fdb233a8bee710bc3f24e102886eef8d52b7950abf4e6edd1a830917242a5f146e25fae8ea5aa74693f4d80d4bbfa3b226a03a4ca26f532da2d3d592cf98d2f5ec3a6dca0f32bdeccd2a6e36e9930ed7c3ea80b600b3aa08deb61c6bef07f55431309eb8d57274325b17bb545a748411d0f68282eeb743d87fa2884d073de392601b3497aca6a2e8f74f16a04f295631bbcd29f1af0d0cdced585d875735e8ce16264a007471c625b37690942564fb8da7c82471fa6f2592759a07fb655313eee516259f8eb4e0a482d3dc75c6accd36565d7d852e36735b5e166ec5408505449a231982feb0f884315a5862b9e34f565d1c7c19ab2ada61bf29ff8cba671ff30f96501374a409d39db76d36708d088f7163c5eb5dcc7203ae4557f79f0f7e87fbe213d551def4c17776e296e0a8abf2b2e56dd0c7feef9ad83ac237e6b12bbf33652aea92e4dc8e561a3770fc5707c30540dfca62c9b93f4f3ef95e3e62ef7fde3cb4667cb2a36ca4dafe8de485d7cb631b073f95531d3e6a77e8732354f3e54607d1f27a25f862a166e6941658a36ab0c40e8f429193b06c24de1f44be1f0ab70322bd24023b33be1ed093fedd90196bb6428f9c1f395fca1fa0538cf31ced7d764b88a86e907bdb91ff10aec7d909f7d4b1949e1f27cf511c41d52dab0991e24ccb63fdbc2886cee187825a7835f01bae72f955802c6ccff1656ae230fbf29151a4b9a5a2452bbf4bf7762263d5c1e77c4577025e00d3bf45ee4669fc20a6a9244c9181b97abf3f0c1cc2b873e86767f4444d18c6bdbe82c76065e247271c31221a651177b9f3e6ed94284178be095d1fb9e7eff128db33481495104ddb2527969e9100a4fe331cf40f33360a7bdb3bb0a47b9cd16929a0a9988acbcf2615e691bf0d4d765910bb03868d99f8a3e43de501fdebf2c322e086f0ee78abcc7c2c5a61c4c54848283217707c20477d882c79d4e501ef9bc5c97d930fd656afa466a46944b526067f491a4fd06cf90a9e7bd775672a24eea432b4988bc80705ab3074e50a260a7fdf0aefe49d3fcd25e2e8d58ef1dcd41cda98f63942ed3702e123f678d1127972d20b046d4b1c789a0bc1bc6eaac82b01cdf8bffa1cde066a0143cc093d08fc0c3478fd06057248a3425adf76455d76f9328a5af961303c6f24be415f09dc2719765200b5d7cd75b96201f5b777c93054bf1271016168441b8db2563c56f1fcfb831b4fa0930e2a43f7f4ae120e5cab7ba8b07ed5934e174da521d70a59da45336eb476314eeb5d23544bcf8cece4cc50c7bb227dffdbc75b198d16047d62c2a39dbb1441fee0b4fd55f58a43ffc9683c82f074f14e9a45ff3be1a9aa3d99bffaff4fb0d6284fcfc32e0c6355b532170da1a7814df24c4b12841737c7db70ca60704cef74ac9db9e4df7bb1e027d2a1cb9067f7ab76bec2ebf8542554f1de857983a3e6e24f9189e57e58cdb701d7a73207e212dc5177b3d3c52178784f0e1b5712d7bda31ea8143bd10fb07d7686affeeefc9115a1513646c0882d2601ef589874c0c3a38d18c4e99b2870a142ad4c3257da4e5993ed34e044eb49a35197ace3ef723f9daf711345dceef44810f975270648ace5c5f297632510451523b56d3137d728441e21ea0cd0572fd8a0e4a7c24b2a01ea702881879687879bf6b6a775116e9609fa1524eb7552391e8484cade2f13a7e19d1329323b0f8cd90b73e3c5c9b2f13319309542e1ae862fa60ac085ccaefe6ec87a8e3ad518fa99d6f50a0bd8ba82093d0da0b2ee36e0864efaa21567c017664ef27602273cb0522ce308553b3aa311abde46c704b1fdb891c846346b2643836be2a381a16a5ffd006d54a764495fd24f5f6f7a04554d6e837059d7af2a7506c9ca14c9ad863347c3ff3c344c078386a29a33af1811c45ec211e4c1cf80257ebf22dfd0e6d1512780bfbe74fc521af4d924effec25af0528f43cbd83c117ae289fc3d1d9bed35835a93e63eeb2fd5852779315bff0d2ca2e0ca4b5fd64b026054347940703c5641c44968747606f68fbe6d9b77531dd4c1f597d296dfdb317664a075203894d66e200454608994a3645ae5380bf7fcc515d483ebfa0d1286a61a3b4449e1638ffae67b408fc2c6bc27677342c82d3bf96b2eeb8c95e10ebc39f75e26ad82c3cb39402df05a2432dfff4ba9eff2473ed0141b2b85fec49e3923eac38144934cf7424c22bf144c48bbb4473a8388d80fdc1d5e76c8a32aea248c1b4dbeed2576d0112b3815ff90faf917bbaa37364d87424264288a144e2f8fe47c84923bf7976d46a0b75c720a774f703faf73ed58dd19cc2b2daf51da361d4fab29fae0ae3dd287b186f00509d4a3cdfbf0fe9cdfe911d8d19312a3a6da0e875ee2f8c7cebbecff4483c69f7aa70ee231568728018f71e4a17d11f003875fad6ac457a60e986a94395a0c0c29d800ea15b3e51e04684a34c8ed43680f9bbfb7dc0b8ad6ffe1e7a8249a98975d41e475179766f314d8df0f6927496114113b7184f08a09adc6e9e7e371d8db7678dbff4d828c124948665d599c3ec1becd0837f83565de0c5d313c3ceb94c0c73a71fa97739fc7bdf6adc64589f5451acbb71fbb0ed3333a19c2f1d513d82e910df0671ef338ee0746a2ac14a3a7626edd5bf2942b27dda41b8f3a5f805bcbefc88764bc5231b212db67d46797e4c4557b19aeaff375e73f32250d26f745ff70217f4ad6089e7aca70525f8f8aedb6765988d37640fc3c49673a6e3134bf9fe695e6aaae80f2b0eaf6890b891bfa47b77cfcd6194969c9833f43ccc3c980933bf87f3460ee253dbcb2677c52059400f5ddd83b9689d19ef6c3ee9bf0fdf1739fcec6757423ba5879988325e1e539895b3e7134341c700b0e60fc5cc4b671a3255c253ed14ac04f6918ca9bc7ea934e191f5c16ce698c780502b40eec092e1f181c6a8498fa7e255b4e38fec735f733bc05c0181a750f05d457b5e31ac2bfbb6c70b86b48bae6679c9d853dac595a8bb1b48ea6446baa74e8bd19dcbb83f259a6a84533f502532026bb3996198c4f0ee95596e084fa21e1b8d2e8c96502dede442826b1c29fafbac2ee0e30c55aa20025898b58047958f7b37d51fde22ccf32cb05392aea027ed49ff3c5121ecf4552ae6ff87b4a1e462b60830f34aa2dc3e5ef739b44bd4e365d28773a057beaca537a9308f7068f6375edac8647d0eb3399b7026483739b4b373236463bf260bc5368e5dcf0f937b612d16e8b3740713a984324cb251af2ac778cc41e40f564da0792ec430f5f4dccdc0d46613f4dfbd7b6dcecdf734bd3658dd3d2a4c04e8a8faf9c4f0957df0a279efc882329b12abc1cd17981a18b3e7962981054b8ebacde1dfdc384cec65f6339c7de96d6196cc3e557840cb5cb080aaec26f63a1af8826d72741c90eb8c09875653f19b8db3cf161a9be6a043b07030f4fba00c11eed17e43a28d424b37b2a5c1395ed8faa994a4bf42a53c0f2578c6d648478c83f61ddc7b344ae13b5a1b488b3b34b25d7affb9a238779c271542e1f39092d44f1fe4a2a9929169745101af0e6d27e4d57078d8b77169d891da0c3f0420a7902d41766d74194e405af2fa483d44903291d0effc1ed80da745730a4ab4455676c094b3077a087630b27556ac80126ed3c42bdb11807287d5a4039b7d671d4f318cdfaa7928c86cea4d63bf40f5f29211c922077a3514234ec0bbe3a5fe9bfa57e0b91b4a663a37dc910f4822519118efea2441ce64b819065f94391bd5cfc0aab6d973eb88c9bd838e90e7523b48105274b4b7f85aba49904291ae34495e94dc9dd00552f505b25653740e305e7c7e0771789f8505f5c6c66e16334dda47302c58d208b7ea10cc5688464c581e48084b78c25d59795ca67e42e7de41a745138b917961bd6c260c0c82077f37d02dd64c15f47c83a8260f4f80ec44158959fc5a52117acb1255f22d5a9b9475d72ed5520797df170186bb08b2e773e9f657c12699089c9a2742ee7f3a3fcd23a506559235ed52c44b962212a78ce82b7940ea8af408be707b036a0d5d015ef0270e70412b2ac495b1c978c9a90eabc4d21a8028b180afb73b34cf4996cdf387e03e30ed8f9a415b0f2e2c0f27f87b46411976304274a4b7d96c7971f6ee06145a6ba5b62ec609722b04bfdbd60ad4554d68d9972f54f6189b9f29a9eafe5c7f12d09c3b84856ebf6c9869b96c91ef4abc52e260c3daaacb72f3b68584aded8ce4970a30e36824c4441a8e03dfca8d1bfacda2e61be7a382cd8f39f134ed468e7e1a574009205eb8e28c9420ae4f07a219e2a15f16556761a82ad77d3ace9a67d5e6833dd18c224de3c4d981eb3d14b914e4f31e9ba7fcb395facf06814f78b80ff5dc574e69edb6860da508ef2ec83bdcfda64f9eec0004e8623f5b20624f263e99eaf81be8b61312d01b4ccd331064574079081ed9736db803590507b78494941f6a94368876cd0f9772ee0de4d0f990b2e2be2aa77b64c9638a7b81a8a27c9f27c49ac24b4b89524451b518bcc2a3709f91febfa44666824ef1d59f02341c03e1825e9be3af3c9b4dad1a12a6d38e69a2d0246903557e67911473f4e2935de399b057b9a14c8a13b4626f3ed8bc6d3198e16f012718b064d074f980b4ba80b131a56382c1937150304a48bb3333021150e9a071c03b6d95a450ffe284b0f4d70f8982b255ea8bf69aa69132f2d98301c35771df3dc9d3275ecb0d9aea2cecd8ddb93fcaf63b15780ea9a3ffbad6c357349f4b04f8d7775706a399878bfd7bd90b870b430ce33ba844b25a4c1ee51169c61d8bfb3e3b7bbf703a022dd4ff55a138ad15dd540fc75feb9408ed81d998d5cfaba20927d4f843f3c40150d97c3be5159811d4d079abd7e7991ac30c75c49981d8897caf34ee811fe287c5029a9ca616608f1e9a979fe40e0c44513ca440b4c8b73fefc6f31506152f1c128badc1e824d4a8b53356e5b893ea97edd1ad34baf1347d9277cb6ed4e863ca41b3a5fcfdbf3abf461152a4e947c6e710bd9692ecec8a1702c3f1a78c2f268c9428eacaf5d218c7acd24965953d0d4ecdd5b481775622a50c2fa6e60efc2f6736da6a2842d435a043e63529afa02c6082293a20d2249d88d93a5ffa69d241fb72d6c4055c9885e04b7e4966b1a432ec64de9c0ee6838f5d394bc73fb3523bf642fb22bbd8ff48f96596d9e19a633eb4a628209df33bb3b134f90dd0e2f64bff26f9f732c284d3896f426ccac3ad19dc2df7bdbc1fc44a304ab07fd1086799a198f355c6cdd2e9bd673952a5034b14b1f31b271d961c08653b3b2e16bcb4e1cc790eb89e9f92d672b4c24ac60eafc9503ae6b69aca0223a9bd341979e42484a051ae7be6081db50edb12c4c7973e19ac3b0f4ce3769f796af57026c81526b778a6489f9a7ef2fc2d6a812a1c51b727721af694e8144b10e21dc310d36b7bff57ae319a1a5379073301cc3e46c0f2166d523623a4bf63d7f31b692e9bfbe8f2ca4d5e2a2d498c015bbc46d3b34a7d6b0dc04ce204df1a7ee5ddc163f643d087a1c2c410b99a657ea75ce0af79aca9502a4cb3db1e3cb91e8e8ea101fc83b92fe084a634dc70dd1baaa493d4304c02ea8110322ee65d9196dbc8c4af2a86d03b1bc35a4316203e343ffb711a81f3d53038ece4f60a2f351ebebe65e68e983f6b4250b52ca79987111f7c8cc6189708033baba79ec9651350dea18765c6e745352fefac7472e02129591157b568f37c587d82a90c56d0c1658b9065d115b001669e25ac3215ffe9e9474d20438e791607894a68a6b14f485446958d8e3661b4249bfa8b66eb6ecbd7d94e8813a36efb7011baf60aa42e146ae8de4bdac41dec9990baaffe110b50fea08e95743fc07a73f47aeba5d718b383284820105c5ac36fbd7cc02327ea9f921ff9412574164471015cbbb710f5a6a0977c27dd9f7b53a9c5583a1df75a2472e069a79c00863d671a20a2ce1a03b5e8dfac6f74b0d878b353cd473fc0efcccaf937c0422881a2b29a147ee766ff7348b96c122586eb87f1b56b895a7c5e47d88d23f5cca25fe83f9d82fec82d9ec62b2e46c76624d209850ab75471735b3a0421d5be52cc10d26df5b5dfcd8a2542b3802ee80492b5545d1b6eca623c8f3ac3777e801cb4c09f044607a95498d5e4017d8ba4b434be5966550a41a38055d0ca1842b0350464f1c7e26f679b15c956d3b5f7eb818b3e8a9883db56788f0369bcd81bf840636e611e474fa5aacb584be3fe36b2ffcb16baf6044d347ddc1bc1eee15db8e2e10e4d3d3ff866d6a141a259a67b1f37bc30b490e1e71acfb47cc22b2168d106f1fc7aaade59f7d4c9291572d80d0917bee3750d2a6a4d2c60a475820ecf35c9e093c071552cf760d9349a0a6df109b857889ceca8b317d6bf66a3e724a2aa56520ab6c0e85af040e099f922aed7e7cbf64a7bb82b042a7196568b9c1bcfa6731bd760880d3f7989e7fc10eedc5551726d1f211c2063a8e576755cd1b0659c0bace5734ea5e10c01cde4266fa143da680b35265987e4c23a7a5ffc7e090d1931762be288cf91d7d4495869aeab41eb380c83b9a44eed5a4dd005382abaa8974df9920b844f86be63ca4d154627eabcc0d98cc2cfc5483b79cfb2972e649294ef1163e1050c9e6c73f53232861ea23d7b08443aa3eaeddf0f7fcd3a7a9d1f8700c8166a9ec631de52738d87a94a0a59bba1105ff46b936ee8b293a9581c05abb26568cb4e3e5d779aa260eaa05fe9eb5e262bd7789ceccab1170e9948953d3a5dc8625039d7dd766388d0f122a128c7c926b3d9618c8f69bc2e14a8e373070af8494ade8832225cf99187190ff8af629289c90d0c42f06433598d650762fca27fb047b8fdc6c817419199d26a1d8540b364b0df0fb77138892d97eda00d0f8c2f0724f43568091cea336dcb52319944d2cbfaef501f583efb2bb5bc0f57fad46a1e0df834428788b395a8f311ee273fa892f97bc23fdaf50f1b3b62e6d8b5a9eae0d5d7f6c57de170effe7866180f13c37c4cc63c3bc0449ee918d749f47bfa170cdbf201e57abf0eac7d6cffb925cbe36f685e6f8cf4939d81f8da373dfaff41b917ce1db46057abc3c318d42ba9d4edfa731e0dcb7bb8ececef58609a20ca8462a648c237caba559e53a44441218f4f10a32cc34bf09edbb4de4ded99047420fe8a5cc2109c3623433341e457f628a0ace6c5c6d6150a3998cca3412dbf8a2b73fc0b860c15e3212cffd65817ed3d0898556f6fce3adb44978f6a7869b718e7536e046e57f0f2f199af27deae6db9ccd8cac72e06c93e9e84a937eea52b7407087da25c925ea1e12f0b45dfb53a3c59abc7ded82f4ce9ac99be682fe01039ecadcbf6705d0266a6d2b70a7206efc20f5fb3df4239c288c45398646bc91dbf59e7338bff10b89d3b1db8c8d1ca85c4f1c47d4c8b4d8ba0c376607f5079774cca021d0f84bb4508803e9c27a2ef03aee981893772da785098f43fa111d834281478af4dfb5eb34e628f18a4b46c033487b8ff98841e1a0cc58339e7c091a7f35d4cc3cee4a350622763005564272718697ddefe8519d1d7d1047c9b8e696a16d912ecf7b78716d4982853f66a8231399246c193bd13405b01b5c0b76f1653faa64d15a2820a30f258d7cf6a59f2aeb2dea29f16a3bcff093e66811cfdf32ca379ef9bc28236e782d701cf901afe20119103af63b1b25d66ad9df6ca678ab46b2d8e8a4c320ef7fef8602267eb36aecf5d7df65f7f49e8436cd5b640955b6d93f469e88ac4386eaa7221a1394c92f1d116be76422bf3c1a6ccc70bca807ceb01a25365874f428e13bc7d9b111b4e3c65b7e8dd34c319b2079d99c34603bcfc8640fbe7b89ef686fe595d570939588dd9682e14d86e8359a026566ddcad8f2d2ec5c7daa0199097af0f6a0e0e389447fe9d7b13272271756ed5fce29485c83af0547c9fcbdecd720253799b9b468cd5713f2e4b31a7a85acc0365be60b957b0253e7e37f6e9cb6d6dc218c7a0e8375b604a9d86e95ea954444d073b9558c1356a964d8c1ee831742f34fbda6ffe983039c9a36b41a8e7cc7de34182dcab5e61a7b5a4caf8c45ee3bf198edec68331c0aa9de9478b8e4b0e833e962f980d149a140dece4a61eb3604684d799ab1ad24032e62c46857aa721cc575a11d210fed54e6249264a374e35fb3ad0c8a2b6c9a9b4e6e92c3a3215544b2a592e16152487ded2d442df0ad074073b77fe8f073eef1a8aca0cc3fb53fed6712804587ffc7dc127d4d6b06e6603bd82c62eb368aaf808bba8f3eda5ee38b1bae6ea3b00b2c3de551086eaf02950e4f66cdf3efaa913855f5ee02645ac982a6b5c2a36a0418ccb3864be5e7dcd8786fb053146170477b36100530ae61ae742288ddf296145d015c06f5e1608099974e4734cbfb26ddf9c439b10367d67dd1d3411f91031a23194781ebd6b960916ec81e42dd14b057af7df13fcbc69ac1d06ba123c3566e5d166062ae9530fe4653b38fa9dd7ce4eb4df3388b3f5453822f97dc65f5807370d500c108ebbf138abee29848b74cc13937986f801c9270d07034c809b8f344145b6455ea9234674dd6b8010f5e0ef4f7abb8b29c807849b8d5a2e61ee33767190da7fd88d601ba9b777723a92a15d38e573d3164a395ebecacbfeb43e3bc4cddacf6c68d1a584462cfa927f0fab82d73d3250ef031063c615d9cc2ca138b68a41afce8275993918a888bc1cd6cb028d113b0e1d5d01bbce4fefc3c9c435b0a7b70dfca0e4817af5c7f517fead59e63790c847f8fa5154f6c09c0e5d451e5f65aab8d2f053f158a52e899fab8c6bc1e447e8a9c0ed63667a4716f67687e7b09cb1c099e1c7aeb1ec85f879e28bfc3815b7901875e12bb60508731de106b828f5d9f62d373125b3c444a3553d0c57b47d50cdd2214e12284f35b0b0f78d059c5fc98c199c34515fb256e9d0b6160f6cdda57abe48ca4de1bd1449b3923cf8a5f25e17e2f28ee54a4ffe64639007ad1617031aa0709bf76e9ec4eda5e27b1fc8ff75b68bee958c54cfbe225aa20058414f48776b8b12f8a23545112a0f5a163b51866bf2e298e38bbb28ea75c2e161d0a4e85118d54ef4202e2171330ba4e0551003961e45a08bd8d879554e4cc27642891869b74849b63e7d54ba5b5f7fa482e6441d29f0d8f88f438c35017d67dc4f5b97735b4900b361e334e19b6ae34cc051e86d8a5e70e4c18dd8fdb438b53a5707145f526cbf11778efc1f6ea4949a5cd4c17d8e59588009088b28fbd6b30bc0d9b08d85bb6b3da6eee042fdb8eb98287820aa80c001743c102b7a0d9215db2770e6874150fc8d87c72c8778a43febc3efe318cb25403e3a04ce6c2619ac95b8dcb6a80748b267a98b66b7607f1d69f72c871bb2ef3e66e36ad35f51d32f282c11da1a753cb06448e4578cf055227d719b7cc0be0cd3945499d80a933988d0d61006cb4e49bf67cff0e4d18e17c328d38f82140293439527f5769bccf022041e12427fe27df519acdb470eb5e4e184c18af122eb4563292a322af5e56092accd0d2a8fdfe95c87751c73c2bfe46d7663b6ebfba0befe64b9bfb81ff818858b84eaf8167a09210e8856a621688067e8403e52923042c55832e5a585b37962f30b373a73e82338cbe3e44038ffa9e5351b69a046f2ce42c9a977002e52af112a9874f4b034591576658a88b0a3d68b5e7f9b091e4dbfa26f5b0634a18f340918ce9451a85f34c3eaed55ada873e5300e90d9d59ae472606f405b87950ae3c8b2b00afda87852caa57237f55f291e46d7720623c3e17c78684ea35086dc0b5c81a70967857d79b70bcf21dc1141d23e52725af7cac18bc07cff09e6f1218c11b06705adec777ee8120d43fc91aef776d0d92cff6713d3e3130d2ec1b189557b864258b597ff73d4d3a44bc01eb28e3d46716d795221fc1587a4844a4d8fd428abbb8d15ba144a442a64d8052bf5edf4369282c981ab5a2237c7fbddbc4d8c07023556aaa31c9d747fae3dfda20a371d01dc2696b05cb291b89796d6a1a8d16ef17bc7e50014e7e260bc45469b1e1570e08413e4c46f2a7b92fde790f69bb7a3e58c1f9e0c1f4eb637980f2714f097f1746be81e7136a65aed36b9feb182037e9a4ff1a35b01b35e1295956fa8c254dd5d968e8d55aa92069cfb732f17d6df33623e7237c2ca065d77924c2311a631e0a45c05548f95e788401765dd7fe58d2926a0e62f18aabf27b59900f48fd8969a94177a8b73e469eba8203f91e781b8c49955cdb80843ca356e10b1dfed7287c3fdbaa85f16daf3e1ba83c4c1cdf84439bf833b8d8ff82f69414048bee73f0f2cb417859ddb55b3faf535848f3b1fbefce7b9cde3555ff4bbd619b375a97b511367dcdf9a4d83d81901f1d864054bda9128efb210c6081a34a266ee3f232dc3a00295002ff28a85891bbb3aa6ad841b052e7594b46e5b7c25536418497bf18df6eb11d65478f8c8624c9ce5cc756678304c316ff8800a5e607a07e4912ec00922c7174cf2f5b7ef69eb14fbc10793c0e5901be0246a58f689e7b3668aecad6d79ebf467a1a39828db1c57fbde83ece07aeec380e485cb1df3291a90388eed2bedafec89dd7b3000e462a9ecc495fbd1834e34e5e0c9f77b2c28a7a55a140c9495e761ab4c4f983c452443f38ce3efeef5ccf6b2fd4c28f5e5abf6df3113ee7e3cc3467fe5a9d2947fda85fd14d15f9395338c77da08d031f29af3a153a284c182563c763b32a70acc467ba0dcabd61f8fa7c2e798a32189d4614a2432a23d93f0ae7cdb93499813686e1c8b801375eb4892f1b499a916e40c16fdf955edc0baafc93895424482533ecfb8db56162fa8aba4562e0f832528fa713d4dc507f80d58c3fdb117ac72f0d92d90845cb6ac6e14e79f38dcb5558550b4e04ba1d272b37ef49389b65ee46a5f634d637e5e3c6ccec575b1fe5f287aa5faf785da846a4113d6785594d0ad62e3d392abb1075c6a2b8eb85f68ea461964888367639a0f6717feb580bcb86081d7353b90051623464e35359d2cb01d47fe39fd144cdf83e3e5e264c6afe4a2df40191a4cc948a333d57350751a9f50288b337248e3587a56f56f766eb3c32955fa13bdc7b9c16dca13b1b5f17d0240d7b2a30d174a0dc90429c8ba30cd14da70b9f794a95ed8e0e897696ac1c775fc7ead28a9cda3e73200f495acccc157e99565a994e5c58e40494565c84b293531b3ab699732fd423305dc5c4f0184686d2383f7fe4967bfd5d472364ca80a2fe0bd33bca7695dcd6a79ff6928f04b7def45351d068b3944beb6c54f4a4d05e41d391fb724867dd2a7656472acf7fb5c99b67e98c9322e4ac72fdcf552e3530d7c9992311305be03477f9b296fa49dc7efbf0e39c3f989cedf39d551f55fa5ec9c9a45494a958614014fadd7d6f0d175cb6a1917a5040be25fd959338ea357fdc051b6d09760fef695c74adc20ee223fd1ca3cd872b8cd05f0d66393567b323273011d895ccc3a274fce4f707c05b93710ee63dab8ab0749aa279d1a937e9d50fcc6780c08477c71d190c2cc296299485820672726244986fa902c144d312d91a2e772d1875dcf2c6af66d9b4ac6f930fc7e99047a53de50a4608991dd26426b83e7f2c18645addf1a8cef068f21a77f0de996ccfa2fa550b7ab8a1bc126489c5e4522a933645720e8169bca8d18300a7086c437dc9ebcbf5e35de296e7ed566186593c18acb1218c879c70395fcfc206cf4aa8c255ef6272a5c40788a79369724a8086c3a3da6bb5d062c3762319cf624e18063bd332df563fc5c975d3640a94f117c1d30043a42e67a9031ebbe981b3dda6f88c693593742b61ed4ca9ece2297a49d03bba679216dee4543fda8636355496005d3cc10dd5d58796dccd42708fb56bbd6dd944ecc5d47e0273a299dd6c19866554fd9749e820c1e171573da1bf2e2c1f3bd70b2d61f97d07aa68f94f55ed3367054d705d3b6aadcb0f49b5831962ee6dd7d8fec7eca5c100a86366707bb8cc169d2ca9da9649ab23811f0467af7b0d9dbbb8cf7ec93e3416167e1dd4ebb206b5ab93f3423d9de39cd16a6338ca78a57436574c4ae03b7d3b99b2af2315b420f47d5d3753fc2acdc3bb3bdea20a033fc09924ca7bb1ff8d24a2a8d0c389b14e1629f10c95fa5793e04cf0c5ba18cff8ee8be9db0e34ef7454dee1fefa81781c1c2bfd9b473327b3012b2c5c1f7c41294405d4c8d96ca0cca040edab11d1860ab975100f1d96c68e343d40d60228018666dcf29ab4ec625e4fcec0c6b44806f7efc02f273c6e7bc2bee4dc1974169bd79900624cb9b5496458981a531425473e077518d6ae4405c5a516c3d139f4e1c7c55b515078471002f38d888d891a834dbea855f43f7cfb5cd6bcf0d5096113bff76c881dc700c817175cc15d9c56bee73dfca4a445cb0533468bc54909156945a2286376296823cb8d38d7d86cc3ba5f33d2dfa9e5c140dec6c4f8f2aa2b0889346ae72292e593d3cd38daab929043e7b7c96abc0c5a2b582d28726af47c4d486f8792b5eb95766426d41f89fd598189aa2b7301cc8edb69aa70110897666521e39254e0f63840f6c715d113e341bffe99cdd4b2c92beae8aef6e9787cda65d61254b380c9264c0efec3a409e2203b833b7b8cfe741c832c08407609ec66ef7501381f24537b76728ae64208293bf4fbde362692d726fe6d589f924511644185e559bb4df7d49a4050b8c65888f45a8864abc6160961f389cc4a5815f9b5e817405bb50e94b1c0992a3aef39589d8cfb1d2d7e14959d9e1dac289fd3425df6030d84fb31591952cb0aed7512bb7062239706a7193c7d86f55ff2393aef1075e2b4b7b667444e04ccb4b7df582720eef93b6d15026348428fdaa56c399e11b596ab2315d67c4bb639cfad35f4b2520c543f5374187fe82a45cdd00f2c95ebe60ce78d9db5d36d7e3932df4b3b8eaf8002aaddfaabde7a4d5a9f5910b3d48d063bc603ad82998c847fbe09fd26c95152ec6e49f41dc96b30dc2c374a2c5a34940371cc3bb27e9ff3588b653859b7ee32c5bc5db7648a7fb0b005074f20105f37bd753f0afb3110c382047c2dfb8433cfaa3058feae9f45d0cd5e66a32b3b7dbfaf6f2e7c18361c763cd9ac4345f7eb0e572b757cf93e9d6979fdc45b93ad69f9d12660d2e85677a4644b67ca382812ca369edc705870b90eba74255c751dcb29d87b2f1a13ee824c3eef3541cb5a87a8e21292b69a6e44b8a5f375f95486ff896f141742f1a50605fc9a9b9629f24be8325105bc63bec7daaee9b0bf4b516b111628115bd0425081a1a1252453ce6c6f670a02707aa07978d874883adb2c7f20f0d90dbadf5363a8a8a5d62608fc2604243c5357a1275c7d3d38fb2f6311ef1c4f0d0292a69499ea28aa8d3ec3fb3afa13361ca8d7cd67b25d0779158164338d5622a8f37b367e6f987e7654f843cbf4f8c18ca2fc5477755038c2766bf867f12b0bd8c574766d7c1a7b34b892dcdb05bf975ad1fbffec0ae1122d8c2233593d5f76919b13b4209112b85fc57b90dca732e58b6653c29a1967e08095ba1b54b6e3ac2a0ee79340f9962d1d91f88dcd9ec7f64c7f5328bd42092bca1b4ea56aa9ed8093888a0f80d88c4d122a49b3140691eb31a0e6205f2758ff5195c276bff65473598d1454a9b82526cd9bbe6e2c45a32e2a47ed7762df7efc0fe1ce25016f207af5d64a088f098294ee4b693d85db5be0891d99cbd049bcdb1b51f7d138dc1ffe6ec6e697344ff92a5a6ad2c033fc3b94b37b046492a9f16f6c45c51de4b4ee9d487627095a248d92e564ee01ffd6b49a37f6e5116c106ce15136904b60b0b498d50ddb9da1e7cdee3c1462f32cc2af4b42e4237ce597f953439afee194909469e1f9a42b05ccdbea90f520b0fde79802785b4f9577ce79270f454f16f13718a080e2a8316b54fa201bc3f5c8bf44a129d681214ca611abb6f777758ba35b608bebbcc2e9f3897f301c135063ee9a8624cc4725e05a41600d3d7efe8cd0445a1c7ca266a9b3fb48f854d03086e4812d41a169218eba530fef705b0002a9ad36a2f6094fa5b514061182ccf4a5123ab2dbd5244dee1380d7f844a4793979559a3293955b57cfb779cd6af60a76042f627966ea48fd83cdb9a90e5c4dbc6b2a564b14b90ef3594c78126cdccbde9e3f849fbd855dcbb06d3148630f0c8b2cfa33f0014f1692fe296cd25358525599d358e114bf840be53166eec447f22a81b8e6daa59432841faee6b6706752cade467aac277e5c433d32da4400f891809e001c283595eb62ee2953a24d271efe5ac4710b22ee5dece4a52b37328d50a4d9a7c277c0c7fee4efda8d0b8bef8e4db9452ec049b31af3d54cea25ed3c84412ad56371a4e494663923305907915a47ddfb39a4919ba481a3df25c6009ec949face781126582d032dd720873701119bf75875e90e9499b252084296f8ad73ae3216f7794e51c296c4d285df31bb01b14ab511d0ef4a3b63f5df977addc513664442e7e32640396dff03bb2c7838a5b4e66bf2281f116aa0e3ee4d653af88011d66a6dad44feda5bff333eaf6cb793fb44745c4536c9561768f64aff94385349258491e7368870c0670f4cf825d502d85927d2c6ce50d09f20cb68d03949ffd58daa2a6ad2685c5734d738436ea4544d4800ec0dae964b8e1420732bc62c496292fa6e10af65ff3192397b73380a21572bd02fe94dd0ed0a680a51a65f9877347dd2dc479f36b78829988b72e9af7a369319edaf1e778445bce9592456ad9a7d1d993803aab393301abf8f082aa83496876676732594d9209abe2133c7f23f41ab16eb175024ad852fd6a20bf9c19b902d5e9e27e6ad4499b54f3750ce15397ad38b5fd296019c40a4bb0f6d3142be96badc279c16448ac33c9ee595a81abb6f78bc59c345343b38d29624b5651d1cbb144ddf0b61792b7671ab7df8caa622a765b1877b348831d201642ba7dd5d3cc3e5dca2252efc8d49722f729aca2e5188fe6c710c4ae00213b7bb00d501ab31bb155adab91d72dd068da1dd787aa2e1a3380282a3aca415d477a93dd96125882a21a1ae86537cbfd3f28d3e8fcc7c85cd167f7e3e37cc884f53bd269d627100e0a5e94cff404a093ac6afdcfafdef010b214f3f0d4ddc3e9f7cf94eeb23bc05bc25fc5eca4acf81cd2aaa53d35a4c0a46db8dcbc017b0c58205306e59594b899a9e4b401b8d3b4b1eb7ff593f00a4f5bb7d0df837feef505c2f3a19367ff53ca9f03aeff256d62c22fee1d593df8991389b910cdcc350870231dd9c012bb29d6a52a80d123860e437cc33f2dd7f25e5aa1e783b4448d55342b3914f6fe84f0a82258a224081852ae861984a49d823c31422f3ba61273df519bae78c1bc05308f405531835ce355f81523216b9839d3c6e6b14ca603bac95a462763fb4357e487d9d15916fce2acd8c4032fc438b04e307bc17fd51c77d23f8242b8123d24290f35f8f1e25ae834965987fbb37fb66809fb89d39398d731175f9ca870b6ffe50385a53ecf4a5c572c638335fad71533d8fc33406ba97e6b52de3a43948f81bbc72829a668eb96ffcfefd56c2880f1defbe610c816dee74a984a7988d4d4f7df5dbde3b4009836e7c3182edacfbc0f8c4ed246dbbaaccf79df6615e394b8cf056278496c4b9fed26dd35f3ab28daf2b4e30019a23dfc742e5eeca27569758f9f3089c093e2ad8cbe55931e31d2c14b20c65b5be3c011f443f283db9f5f4b9c5ecf6fdcbc50f9df653df25ea0ac7132d1c7d5f9516958ac89e8f762a9ceee60ceb1e2e553b43613230255a84f1c06330a2a9dc17204da29e5958e2da7c6563445d884e083fc7daa60701a4a0f6925bbc4104478b987006b3145a07168c649e8b8d7295ba8bb53d293ee302ba90058aeebb824b1dedd6d511dd86736f18bd8d368019d0da2faa20cc157cd180319833833b3e2b3cca8676b74822a0355cc8f94c97d6c628cf156ac49d872a2f0e321008228d73cf404450ec381a73c3295cf01a0a940b79d24aac2422eef5e816c0256525c568902fe2dd86f7739bcbae9c1d5e8e81e97757882d87d0a0035b4333774eb020348975f88ba849f4ba61d2e61bae0c1ab1b76519ef06e06042fad21d3e1f87406d4824e8181145ddd3bef024b8af3861b3283869dcb2c6cef4141e2da3c7b86cb9a393bd57f0fbb7e90ed2a192736c075a04942c5ea7171063c9a2ca0fb0b05ca42daf4c2cd3524ba28b2798ea072ba80a320b37b2dbdf792f7668664629d01b804221a64eb7818165ad87e09fb8dc662ee4e240768b9c144504b51524a0a0b6dd8769e782f0cd51a8968e13758c90740f125836257c3d9f1eb87164ebc3ffd9c28e685c09a34d9866810f26d519522ac096483ea8e3d09cc1c7e1579a7d2305c3d2dfc7045f02bc3b46b994a79d261b677bd3daa13dfab770f89f3ad4efa19430914c72a614de177fb12dd9b9f841c29ece21e26d6b36d7eb332a9887bcc13b4bfa22182b9944c4e4aff295c4e58064b0a249a05ff5d34ba902e0d88ea1a7e710ca63bc8ebb235392c86f846343b4f2e379687b48a8a4c9c3ab2f6f876744e5fb4cb819b24e25ea6b54cf2c42c5abf2d0e455cb2673b738d2f6435796eb25ee105757a7ce69ddc685d494a52fc555bca959e7de76b093a24d1e734261f959be5d554bf5cb0feb67f2b2b566aabcd339a2f416361b70a295d4b202065b4799a40608b15767e740cb2d873cd625beec63a81782ad0c1fa1fb4b8df83411cb89b1dac7869ea8d0632361bbe22082a6e165020bc2d97a9359c50f44609cfd7dd21e866cc8163ad7d9889a903109076cc5cbcf396e9377ed5a55834d3352c91f1ecbc756126ee5ae2909dbdb26da620d880310337c69a59be029dbc1532ad20860c92ad11fb68e9290a8cc4e5913b57b1d99bbb853e98533fa10e1cbf7571175a7cf3634559523761cc846e845f75c5c8ae7535ffa053f6b7bbb3e1090902b3ac987797fcb4f6d063c3638915ed6576a5961e27eac1d7077134814f0ca5fbd61eb0511a87f270551dbca2248e47e72508b49ce411d1476ea7bd59957f2d8318497b7a538d894f9518b65775e410c8f8b4d01b0de8417837703bf54b9368d6801d5cea310962c8411d92f1e46e01c9599b16e0ba971a787dca6f5f5320ba4982cb191bc8e8927fa6af76606368dcfbdd2618c543548c99e06e07ef538bbf93510fc1bc2035c770177d06b364a0098a4486cb21bfe4ffbe0ad4061ea3baafed39bc642a4c97a9eda8451246ff70b265ba1bb0c25f3b05807afda83363fbd9451ab0b3f2c0081e5c4a6e5428f245e17a68c331af529fd2e8d390efb4e613c5fdc31c90227d76684c1e414496e381ab5ac80f37077541bb75ab67c2979d875e5b17efee5b02ecb1f016c647acb1d8438ea550ec9e7f0ade5117ebb47940f80c6cf077b8fa7c5120ef2a3c593543560b7e8e013a2ba78cb1107f22365f164178241431c75169a9b5f9e90094e855ad0373a9a6781c88bdffd5173ff59e97bd155e8f2ec73559904645f720cc5da1f5ad554eedf5e86c44326f1a9492b1711af859b43b482f1ad57c36c4ca5ed02542d521fb0b6bb127f012b27a9aa6314959ea7bb624c551b951faa66e75e40c9f1ac21d36f0f6dbf34b582632b0e2167269fe1aad33e67b5c583feef5cc130e2df4d863a913c9a54781b135b810716cbc399689d59eacc9aad085700d6d1cef95a620b37acc68cee092e3b69e3695dee3dd260dfe7bb47aab23957cfa718f1f5ae288ef2762dc7c19961138c6629fb463ae9fb42c553e2178a866c7bf76d034b143489adff2b92d8e67c4716c91f23a7e37388952ad395f3542ba4f8db9f993134b5659d8af5007f9f429dafb94a8c705e16d425badff96f10b8012ad30d7331bd830cb4e538e1d21688bdbfb6a83cf2cc719b2bec85a4481058ee26e1317ee056f63b4909a56a10a3265a51307085d73123d92108a4998cb0be98a13edd1c9af8c2d125e4fe54a7e0679556c39ab1cb4dbcddb1afe39a32a11f4239f679c7403a18709afe4f0b47a55786cea9ff3abcb5925dc2d374c8d875703de74e3c4f86a20194b2ac5e8bade75a29e56d07128f975032a07e07f1e9d550b77cb5644572f3a78a2e8e429224f60ae8f8a87bc069b84024843f7d3bfb4054b5079958bb4422bd6a1675e6dceb14e74494b24ab36c56d67318781888f0f2bb7704c201e72295d5748d9fdea5198662038faf468447ace999c4f205d9cf83217ad72bfa962656c166a8cc5e62b5bf536e5328c07f519e674c6618c97140f27c2bc34b34899425cddd716b452a63b8e337b5eef3fcb5bb53aeaae5800869d82e7668d5e3f583a1c6f752f1cd86ad02a13ece4d44525b6ef5ebdf0d0cbe35c9297b172a4ac964137bb40e00947d9e0920c19eea4762535ace87ff793e4f917f5bb667662eb2252e1bfa73eb748c94b00638f07ead1c59c5ba8f04a1eebe86313a1385a016e589edb2395dcaa3ef5a912fe0bc9c4de49387e30d44dfbc48dc178dd6f54a4d570d8d9b574ba8cf3900d71bc38f2bd1e8f0f4986e79175b989800c6b580e3f73afa79aa9ed435cba3c23c41bc63b588a214c431d3e54dd84f164a9665114ce7db3eecd80404b1540e56d62cebbb9b980c485c10528268a5b4e271424ef754453027777e7435c2059015aaf8fb2224d71323283dc05dfffd66ef92b218bb6578819a4ed8c32b912f95afe5541cdf2a0f69093224b3c10d9b75ee96666e80e1b51148ea9ff07fbec917e5345f70cc1b05c5d5e380e242b82c53ae3c5f72e7691b1f9426541c951f4b368c79015ed573500886058a54dd313edf38ce61a0b075eface519eae1eea7757de214787102eefcd0759a9c3d5c88a7871c3c565c0a39f7a7ffb6c59a8cd79c136f236b6a85a3c1c62cf5dd34031668d93e183aed2741c439ba608c69e7d2c51106c9619c23c507253858ada15f122d773825e5c0013e31bd4fdddeb707fcb2d512d2e928d61aff66d19cc85a9032a664ec4ae50d7d1e2c6d4b291020ad784a6871217e3a47cc32dce2c85e8c839d784c085ac2339978b7a25d78b59c5ec32274bb2c1b79187168fbdfc26391227b3a6a31db2648f762fc6a5cc324de694f963032c161e0bc0b3696a9459724fe8c1e8e7bd4fe3fd1be9e50ca9d08fa6ffaab6339c9aeb1c9a70b76bfa4d816e7805ae58c31ef6e25a29e058f7bf504a4c81f952baf15454dd1de8a5c43656c98ab8f25039df1eee3c0da643fca3c59aaf928329d1f81256b4f33e587e225a7107440cdec3b81d1021b82ef448bccbf5a6157d2cfc66d9e28959a0a23ff3818d4109eb2e26fe10ffca9a50728af7227c25d0bfb0f1736c696550fa373f407ca86f427f01ee17823d8f4c9043941021f23787d3abd2848ea0929531e2d7ffb501e02fa17f0580b97e5e7da446533f1691144e1ca7b9112611e11899f377b8f3da1b7b95acb64401ef27d80c56c1ea87f1864c621fcf8d329d60f9348ffb8282232dcf3408abb963df7b0fceac968a2acaabc7de95850176010e2b761e4fe5d6ec3df057984972e64627be20ea12f2cd45af464683bb2d819ba6b04b6c2f988574792a4afc1c344ca1789e45974c33317a1241a0775d14071c144fcacbd88f5bc0ee628b5e9081858ee255b9209944324db74bf14a8ba4c7784793778d29d00d6846e22b838734cb6b71d564fc1072dae31b2fd5e0e85b46a30b39131bdb118ef1430205a22632ea2e63dcc5eaf38369ba42a111661cde0e58c84219882280a174ee8b4edef14436cf83f5630fa312bc47dd7b7374aaef839b6c0a796ca3ace76af5dee81f2d0c1e1151f91efa6ef01219e9952619f47cad13bde140d92f83b157d3cdc83a4647611e32e2cd0ea0e67d233cc5c56cd043950d4d8266b35e40a050831bb4bcffd66e4f768941f3f29fd92e29344b9df8f760044b67af0ef76912209d3ccdf48438d0bd8e656f0a4620fc3b7de3ecf4cc57f9fc3b4a0e422ca2b0c45b9bd2f42efee8fd823cff0ea482eca4a1947e2921454a70c5d986b181b44bd4f6161b636396c8b5438ef3b12efadadba6c4a99b8b774868f266854f0463c0231ed01b650b8366d336e8f5a68b376bb7d778c53c83d0be5e75bd84cf2dbbe26666dba67b089ccbb495b914c83840596f6e5911867469bac576b3de5bdd2c1ac414a138f508642d80ea7c8f87c0b24185db7c73f86cc32ed37ff905fe59064a8d54eee2b74051f8ec76e2bbcd181e54f7d9aab3b6d015d89a1a57e0a18e94bf3fd6201ee6b974f66d6a676461be351109e776f2f4634e4107c8e4d07addc9279d89dc8c56274332c2e6bfa001e16af67f4595d2206257c5b1de4119dca81a624d624d0f06874c010d7ca13ac36766312a4ffad3c97fe5a285cbb7616de8ee8c905d1613cc0f9cb9a62998d9be3ab132b7e66ed93b915acf5976c1c7d4efae5b3889d5fcdddb3cebe2156afa52da97b59c6b77fa79a1596883618c494d80ed4ce0bf2e5b6c4a2a2fd1249606e13b600d26e2d58ea5bbec7f286dda78be2192e462184f81825695ac1c6e89216a599d5c138a83c2df9dce8cc897bbdeb48687c6caea421791d76352eae2418fb746fa3a694a17ce262ccad777bf47c54a1a0cb5041dcaec7e35b4dff31473efc4395bc38d7da4d81303796df655328cbddceb4d17b7844b5bd12046e29657eb060209ca9068ca975acde3727852b7b86e3bfdc6780add6a8d9395f88a9cc027639aacbea79e0df88517475a39c3347986bfc98d20ddb3a7695cfcec07906e801210fd7634fb47a775d0a735cea0719bbd05f8012a7d8804322c518dd89417035f65ae3829245913ed08a2ced4537fb8d39424eb1bb7335e722ad0787fcb15fd019d043293c2d7b766b9201e5da55f69444659e82b2c5e2704c756e145f202b662b5d6dda321bf8d51a08d5a2144060c36efba6ef7f2ee1e24586867c0707078286c56273ba45ce5947b6a1d7abbe9bca1068e002a9227b2aabc150f2c5e3666fcc2644671f5f6009302cd18d8e2c83f3f49d39ae2fb6802a006ba092446f1c10faeba4def1036690ab1cf7b2e7f69e67d843a2c7de19324ede8f83c39a3189066c920db547ad52b500cb1f26d71f320ee53be5b11022842e81e1610026ff9906e9314f48a352136e1ee7c2f418a4878cdac0b893af388165627a9b59accf827f973d6d687bf1ac1139fbbaead85b93ec3ef2a29bedc2e177bfe58bdfc664b566cf3f8a2322b90831fb96f667fc10fee4897612b08abca18953e27d2ba053c57770c3303d5e2726fbdcacf09062d0cdac6482e3310c73c61e2e6564b5c9d3013d5487d79c3c30595e0f470071ce6602d1475325b6feacc715642648c9700804d94ac72810638aaa0c8d2bbaa11892a0876574c33b42a894ddd3c6f9d3b1d6c02bfbd9da7e59f983f41be140f46d54907881f3e01f1651c23217cd98352ece00a11996732506c00b351e77eb5eb95b9a3b909c4d646ac702363746f0d000f0d5899a16d1aa10c96fb31581e8f82e604f3837255a52592d81d5dde1747e9ebce76ccb0b1f313b2159320991a77163acce07e7d06955d5cfabca5b5230b111bb8ce2402e09ad2d8008c25832891558cf63f37aa52af8a0cfc4e71cc34089df2be0ebe68cc9ae0cfb5afb7965f78883e1c10e57fbc2b124ebd422a5939fe1b0b682c293772c0d9e32202c8cd800a3e7f635a69c8b56f443151f97fafda00da22d737d64128bad2a50c02c8af5f3a031f832a69bf5e052e6045b76b374d7e9bd1e4570e224b64a978eb0c3289fb7732189bea45a25084e5426597b9119c502622c7e38e99513e148ce1703c9662262ee89b77a88f8303227d6d5b69fa0d87d5cafe47c0fdbd196c5907150a783e38f2d86fa25a626658f2625d55fcded1aae81af7a5a38f10416a56c3dd50cd1e35aceff34a6197e0c6b59ac25012f22444cee30e4ab6400cef7fd438c2faebffb91aba9813f34b656fd5b2f4022faf87b43f21289b7fe73dd16d0c738264049fd8bec017f89c32dea71091dc082d4b836eb4c27e1cbffaac6d1c09eb42e1aa2a0dd2d4d175fe840023754a3c030ebc2c503938de6917db562cbfc3a4fdf7cfe44ac0a476b6e5fd8526b384cff742f89b0a6014f7fc6c2fd1e1c917fb796406ceccc79e1bc5d096ae683cce47667abed30bbff28d05aa99029ba0bbe92609172ab91c7f01da5ea22cf6cc5a747a25289fb833b9951f7c527b86c52cee0603f91d56663b8d37e94fcde166daa6f25975c5f91644f0a9c0e0376a86d9146c859480703bf2cf87cb75cc89911accbeaa19ca96b6f7902617baad8843673abf88e20ee5eb0710930a626129a64d48e0af70a1b100749bf9e26a49c431f44c4a5d595d6345faadd1711a26f0084316cf8dcf880f045eb0697ece0562352a93e50ee4d5cb25009bfaa717723e695efb64ff7c2cedaed93f5fd08020927843193662c1e66564aa7a7aef5a10d907b941f27d06490f3d24684012e119f97427464824a01c84b893612126ba130d168a5dca615c4f06f05341bd5e30582288567d200cb88201ba1eb629e581fbdf5f8cf4367fa319598f04279bb61a4903efff3edff15139b8a491cb1df03b0bfbdfb13e788d2b882e802e51358cfd9152b93ac7514cdb578ef72d0322e3051b75d99d0d11f3e56fae7dbde38650a53a7d15b363fc79f675280518d439ad21c7d66328041454718a996ddd604c9bafe63d53857ba233b2f434fccff4d74565f46b90df3cc44258c4f132a1cfd4464284441beb197e2297cdb89267a560f0695e9292683ccb24355b117f42754ef1bf178d24ee0019553a8b8df6389f35849e0b7dd9b2ecdaab055af7266c2cc34bf51723dc7cd1332ac80ef6d3a6c4f19ade73327887329a303c48cb0db5a782781d60bc34f1c05658089081728f1484f267e38cd1f1e832320fb4918c8b86eda7ff387018ae13af6ecb8f30bfda4c73f09c2823bae330e486408f9becaf2b02be5948c7e966a8afcb0d9bbf776f6b37aeb2d221b10a95ca204dfbb3961c1e9db7cc0b1fdae39d7eaf96fe26154ae6316a140221d47ab3a4feeb516a15ebf8cf22d8660ba68ef5c92d044f16990a4aca063d2954bbb9f7466338812affd4d4f2495e0d5696bac32d178e6ac4234542a1f293c95e4caf4319e1199e056606530f7714859b2b8fcc3f3239bf6be243c396d5f0fa61850088c0662dc62c625571ec4d94a8daa1c5e0a5b5df94f3fabc85d695704cb2e098c49409cb2da1bc54f5ec6e86abe7d65b01a4ec7a92f6541c455ce2ee640ffd6801763cccaf5d646aaff6e08bbb3822548926da4d17e57ef47c2c3a269a661d32942d6e93f4eae80abd8b5382f722713a20aed3e0d499be520626bf534ff4d77630a0e0cf55fe9b93f8bee97c3ae7aa047e433260f0fc35be9aa07ff6688498124a0790af6f6ea85e33d2edfc0f1c05a3583d15fd88f659ca9e41538f0f06745961a3ed2efb295cea1b10a81853e2ab429a9f7fe7b6925dc09f081ed33a49713d288eabf15398373319aeed8aaeb7803df543b18724910d7f012ca973eb8623948240a4c0393c5bc7401c1f0e762dc6babb0d0997ad318cd93e9063be6353eb000eeb182ebcf7ddfd8701fae2390d994269b50a6f10d6b78416852e3ef092cccadad6a96c6aa2c4bb02f01c58108a6bae8f89852e36735c99d89f6d5b8d9edd19363aa96caf76b281b6dd935c3944b951dfc99c47b8e519e188fbc3c638e09da264be5734cfe951f81efe4cd0302f89111d2c42b7889ec9149e00836d91d5e80889cff321db84d831e6e8528ecd22074508be5956fb3f690a20c5e5f29ccb7b8680e1e4a45a333f02602a9c4a481e3973a85dce3375aca2f236264e14c1bc9efa2cd22ff2580579882fb04aa9b5e17a7f37896939b4b50b1d39ebab42cdfcb7b854e21589d03feb28a86f013a85b6dbee0471fd65e11cfb22f46e39725bd03ab5ab092b64407103f13326b827e3798b9bf5b28038e4fdf438f66ee1124b4fadeca023e8ad7f299be7e3a8b843b29e31593b64b0f1f0db5e5947bb26409164f81213a307e86f8f34188234fb37353f70ce54a6afd2d87329ac2b4fd1746512e6621c5e7d654e9e1719f1939c84ac370dcdaec05258be3b10eb42edea71bc032b4a11b8c779c41a1fc361c5390236b8767eea905057002d94cb66e41817b540143c1a724c8789875252063ada84f292c16e90676fba569147dd819cf62e55df26275eb2d2c0beeab6e580952032edaa55391dbbda26a256d177cb6ea4cf70423d24b8ac87845aef14c48977834de4349bcf045cfb6f9862248a3a99f46ff39f5ab96a712c83b24f91c5a928951a0008dfed87671defba3aee9a1d989ea801aafab02af0536030a7621b6f7745366afdd893c23bc7c00785f7b1503a4edfd6dcb2c2b2015ccfd3e1e9ffd16f5fc5e296185bdb5084b6aac987704aa66fc108aba6404463410435d9a461f7d6d06e8cdbc5d6dfd569ca194f82031a911f63e1d7f7b19ec51e0893674e78ed7b360ac691c442d0604c8613437c99594cc591b754b6a0993a9171e986d6af0a9cc01044138ade0b5dba5f1d6804c6b669ebd5936e27bc750eaf26748897f4c00f12566fafb9c804ab78074fd136a101a378a1d609dd6d21d51df43df8c5ad42a4fa07c1793a9c6a0f30ba385e2a40d4c36f182cc538181026843e407b9beb395a9cd78ff5b0154eaad97b25526c050e8d131dbeb5fd604fd7e159718a2ea081a2c98822edd3c5baa79f775267dd62d10d5620e7712b54ccdcf116d0a0c6c704f1a6e1a0df23fe8510116ab016a86243357d2702402fe3d038b98a63aad06a105bc85594072484800aeed497d5e611ca67dc560af223f9883fce76a013652e6661ef9f61458cb97b2b3ee3a9a096f6719c2dadca842a0bc22373934ec4be64372b3538bab1ecfa3e37b5cd9fec7e6703e2a523fcceec5ae85a2ecc9e406c165e3bcaca43771660963ccc5d090c358a5fba53b878fc580fc875b7339f622f88910389d05a1100ee19348600f8ef4c25a50ece31e805b24b08b65299119e1cd003f297a34323504ea1fa8cd021cca30dd77a8ecb951fa84aeeb89b2388d17bc8e2d3d73b6b30475ea622c417506daf66f15003afdae3bb978f96e5c9b365c4a6d78cb50d985ca2333751f2bebb75f70a65fa78170e46ca0d8413ba5535187468e3a941e25c08c941877b104f67aab288201abdfa3b3599d9c500775f50c02e7234b8a73f9fc619225686498a64a222f766b6253cc1884121ea5dfe6515b7a4a3ec420d0a1dacfaa4eacdd9e9a8e519f976d56f0324d3d9e93cc75ac20d7b2978284327052e2c92806001c3b54db5af8795694a92265ed3ba0c74918d74a2973b1aee612d2fd75d79f9ed46cf74aacd6879072e015e124dbc1d19503d13556d968dfc46a1fcdc162afbd2b55d6533c9776b36d1a127acb02a624681053c5df659af876310a77e991cacc32f01cdc3e2d09aba5a0389ee48332f8da1bb59e8c14517e1dbcfe8a2849a700fe9c8d2a5a13fc7a6bf5c5418af33915d39b0d3cc890194c4af270cfecb803b92222e56cf2bab7d2c34b92ff4dce837995015d04f1a1670dd044acbc34f5c8870b4e17de1fb005dc61653c1fbab0d33fa475ec2f5eb5d44ba8d1a0c8f92350bf97721a9ca0f734e565fdc9c64659879ef72716ebb6612669e1dfb4d72a1ebfe055aaa01a46e932bd0cc9a9eb96d13542efc07f237b5d9306ab0f2874a5ef69c0c9609e916d3ff8a1d9ce48aa388949a5b323a49712062f41b0e25fdd30466e9b729a46c30f1725c084f79de694582d9aeb7ab68c124b4c1ce5e33922f39b88088192af57f1e70e55e3e0e8a6f74aa8deef47bf381f95c1bc1b99861770c9588bf5a5efbda6b7c974aa86a01372a08b8bfd2c63a8adeff08cdda97cc8761d54a8fd0a33401a02feb29c24d4cad5dc5434f52cba90c25eef3bd47141c7f0c32880112d00bcaa0529a1f43894ab052c5fb430f0d6505037d41fe65463b7d4c2a2b3a6f0503f78c7e9b59f4ea5afa19c7ceb2988f83a2bfe37ec5e5dd1cfe04575a120460aa62592165fc0910920df56532857a1295c17f67b74a64d27e51b34c747665be4c226a631a5d4e02f13df0de246beda51eca8e8022acbf7ee51222aa7f08a57df3e2d008eafab3e2164ad5171b15823544a61943f69eac95ae95bbad0ed454e947609cc403e021f1c7272beec54a5cc40626f9dd8de133c732de9c4592764af8501837a5f6ed303b27bcdd8329db0dffaa19b1d11e0957eff24149d742083fe882c57fc7c9f6a68abfe0fdba741fa1f9dcbd25760c3f349bf90d3f94f235925d8a94537194ac26389daada6d7c83053caeb4081a295bc5faa7e0572f450f0ecb1daf716730e4a8a72cee0ca659bf4af6458d493cce64c54fc580d02dddcf7365fdc44683cfb8088925b2366594bea851d874764e4b10a297241b7f0eb51e848a9fa3e963c6f08ac26ef24ef570de871d3d989dc0149f39d3981427e7aeba1cea64a58d208617ba0aa97bcf6c5260cf88d9535e0a4866a40dc1aa766e9a28b8f3ad9fc5455c7373d265e0db070d31865a49e2f2db83dbdfed0e39e282a9addb279e35cc332ee12ef3d5812f67fd1fa905f4d9a9da48bfe428c93ac8f3450803f0ff5b8462de2d2dc1dc95d4009f5c38ebd3d973f55290cd174fd75ac22a03a0adea7354c41f312a12053ed4243efad1acef7728ee0753445c9d664140019cb56732001666e44f1c626043782be2d921bbf6f8f164c9be00c7111f90aaa9ddadfcbcf719de80742ffb44806ba689dcb6a33e7b557b3c7b9340d9f3748a5bb975428fcae5492c52ee86edea236fbdb7887fde8968f0a44f12505a0b016db76994d5c6e2b11a05c8b562b6d2c0403a1b9fe63b213f6c4057ab6a6ba1039152e01820b056d0b3d08d530bfa5e67ab372a3d43d9bdc71925439bb696964e5ab32a10c27d7b69bacbc2f305470770750c88005357a6b0dbb32540e8ef3982283b7f7f6c26ba769e1e4fe67ce1b0ad289e82b3e79a7735a4fd2368f8a432d6defa9265a7e5b128a283e237c11d2fcd56e22e56e295fe3c781704230ee984c66dca0157cf099419423c6535f3ec223765e9d7b1d68b830ec85c0c9ec4e1075622fb56e459fc103e1c6703c3f98125ade2b98c44d53d69edf1023d9f10da8f5aa6e587f4435bdfeedf77f29ce462090c4ae0a29c368b63c78c0c1fd15aab602e40fbff46132a8142b717dad325d0f57f328dcc8682f60b3792a9db6ebecb3621fb2473866f7f85436aaf5dd51a5813e6b405c0adbe79a14a52a3778fe90d7f93a4fb6dec37379d70df2cdc14901e46d888840af842a2d8c557fcb48ee0d861ed3077fd816b13ef97b1dd4953b2cae5962fc031378af6a9bef35e6e70da2592fcb49d8b13c263fc8d38690e40dea578895090f351080c33ed0b4be595316ec9e05cd36cc6fe857cd2eedabeeacaf0d75041d3d83db357876bab1a3dbd213fa2203dc25abf9c6eea5f16bf59d099115807f0ed609d815dcbe4a7ec178f616659cd9026da958e04a3655acb242e6b9e0d9f5e41761ab5dfe792b3508b88a30767250e99d1a121311affff04440e5273c891c2733bfd8e7ac032ee4fb1bda71eab076666c9088647d884fb3f22cb597f1286fddf26f0264131ba3ea07ed18434cb15a8d7741641889f427ea6d89170ac858c8518035c6fe718b257177c06fe09daf7b32b267ddc6572a420c70223d3ff076f962c07250908ff89dd50009c222146dcacdfcce0eb57aae49c78181ad6658378587b5d9ca5c1f3c1bc05b9762e28f2be25794dbd4d90a568b2acbcca60281a301a2c3f398f0c92724119553b689f0387de37e9f39a732f64e0b56730241b685d2bc38e20157ebc0617c2853a8b34cb07ef3c17ca38aa3ab04dff768b6607f20200b9849a0d98c018a53ea3ebdac3bd2ae9e7e75061c0ff326343d433bab6c13d80a5d8d006b9f83ff9beaf19a6f68b11fecfa8e129dab18b92cd7cb084990aa2ad8a4f18d5e44de49189d60f8036d3faf7ba8d00be01934881214b1c38d0f8a4fd95209d2852184db6ca800b645b5a0eda3e9bb7e083ffd889686a576a67f5c0d57bcbd27dbb1e5802e4e14943c802874e10ab23a775eaba2b011d10c09a1c73a1a89b3ff00c6d8c84d246ecd8438a7d17bfa8734dce6b2bfe7c3e2a61d8fa9d645cdd6dc592e519aadf7629722345b840ac14102e93c509fa393d721397ea279d1d7e85fee84ac806dde9668c8fd0e3c0f4e9061b56d6ab8a2399b40dfaa638090194e98f4cc79bb077aae93bb3b17d07ecdd243c1fce065ca659f4a593b7299285f7d1626e0cd6b63a28456bb40084dc995ab0f3fc3eef7d27311d6cfc55ff894c7d72bb150cf4054321367beef45b909317128e73ba83e631bce8657f583e9e2838cb34f6f0e2d963534288235eab23f94d67e126b5525c6a557eab2f94f519bfb03b50d3bb819f031aa0b7b36ebe28a13912b4232e676a581ac23207471de44ba32ce3fd5ae46966e97fc40c9349b481d0da9fc46770faa0b1d4495957432251dc0fe368f6536ad1fcbf60bd0bb2d081021b1fc5a071be5de40eadabb4120fce37dd3a1e82b9e70bdb8910eaf0c01184c4a5e3d741a3f2190c9d6c2bbb6d9c013f03af6e1451c36c60c3284640f6814413d8e0692a48f34d5067bc85bfbcf55a09502765906c37a07a79ffec7c9d7e1adc8998f31123e21be40182f98c1944d6a92d6fb90062001a9984baed9ae60b8f829ca0ab7c2592b3bb545d5fd208084ab99879d90d641090f59cdf7bbe32b4a01600d586c108024ee44667d79dc2556a018cd2b66f3363d465bde2f32f2e4e68fd04f329a2a45516844a29216cafb8918945d5ca81ffff08cb440d193d3ef34590bd3779711282a3247ca5a33d785fbfaa1e3bf040beb18a020683977a9899b9ef89d64929896cc265893f3b408093cd7393155e3104cd4cb8ba98157b722093c7b152fc074ac18f5bb07f5c11a7e1da56438b457a1c9c4c2161efd13cc1c261d0b98964ed0730f8abb88bc4a93a163c7cf6772e7aac6f706fae7898e3b6ffaa26a3815fcc934000ecfd8c9263861c2c399ab44614d9083cf2ef78b1ce23beb9db8356233291af591b02538e6b63cb69851c96ec7362dc65d760447d9aef7782d57d22a1b5ad4f4c7ede74ac6ea21ec54bfecb93ee90e92905b73d882a5877335de71d626931ca47ca8234b92d2b0a40dfc175198332cd4b6191f7cd5db91d183944a2dc444931e2605e7a7daf8fb4844829a9963ce699947255fc03197655d8de44c538c226e1967ab633e8ccf86930a8cfb77ef34d08980151ee228cc4c6d0432af1456c7ee8632aab91cf1c65fc4ca1a2d92162b1c09e9df20d01d09550c8a7c904f12c8608d1d08032904c37b73be9cc6e56b94c2ec412697e2eb2050bdb01be9495c2e74bbce501508058b5838ce762add928323cb1f7a1050776d87fdec9ccdac5a3c5af584cffe546e8c291274d7a82f6602a3dc6e13d3c9c774350af64422de551e3a9ec19d90d70f7375df02e5a1c028ff6f5262299402d4ca34488f69a9d77eef1fe476e4263221034402515938fe383e2c222bd54dc54aeb50c61cbb2f0a60c25cfc39e98cdc24465f8b7764f2131ed42a4f4fdcc4363a5a352d80e1dc1a3e0415af8de6ceae5d5f2c5ab14d296be917e8e59213ad8b4219b6b6c9a3cdb28fce4481835b54f7cace283634d174b3d3d2b5caaed0cdd3271f78c1aefc4697c37a8224352b58345488fff10c471fc13ff8151c41c02e122a40a8278ed85c8f8624b3c45f462ad480c44db4e4affb88ad608dbccde4abe8d560db7d223232d23978af77182e6b6df6ef139ca8f268fd08290baffda039c532d1ac819d58f9a3ad3755f8da371eb99cf7bec1630b9d054f0ae6f2bd290c3cdf549ec17b03904d6361fd92105b71756288ddc349c7be21ea9dc33ea5f3188e40de348ef4ba3b816a0463a27f6a72e720a0f147e654d73936622a6a17f7eed7414f41de80aa35212fc1e56ad5aa4eea530b8f454d9fdf8fccc569dca2a64bd4338efc308a4ef8ed09d8fcaca4b162c7673d30bd9062c8da6b1970aff3f7d5b09fa7e98e86636cb6563de354c46620c0b3487b955dd8c32166e2658fc534f8e1e0371e293eb87432ad6f46e57de24f8ee60054a73daf87372f1944b173ac23636bdde29564c57746f7541122cb64cae7f2c50867d3fcce31207a3b02acb58d922b539bf2307d540e6c7ada6cd629d18f2e330c96edc45339caf20f19bb46d66dbc1deaec7bf1aff72cd6824b005c8943b9e02d13ba91680cdbd13b1c70bef18504891044ad8bec853e1189c3752c7d3f31a7572842fab98206fe4690ae5ee9cb2d2bf18a5ea20ef0efbf00f67880728601f08ae27c49cacee1c1e1f63a8f1751a7578d114ce49e4bc5ffe0b12770bc59b4b6fd411d51daf25e6306cd51dbb3673551928befa766d3a27529dc06d94c36bde69fcca4f749cfe530c9446a7a369252b0649e4d5a2b8021bab6f75bfdf061581cc633314d8bba29a35ddfeba3539d381676e5edff23d155b600b780dcd92395c91a4189cea8c2bbbdb4f3f400254bf0194d0a134036ea6e8b53770cac2226c5dd3ce1a998043a0253515c8a31d417ad6c100b3a4b33a1d09c389e593f86cb0066d74c7fb347bb662c010ca118bd07ba79825d20aceabe8e13cba3aba25b520b54e46d6bc5673be08900fc03c3cf8970a5a15d7f58d5158cfda04601b5d9df131a33da5d375163f90bc39974690cece9068cfdd10d10c05f462e06af961f252d84c4de61a2b8a65414112290baa286ea85165d4f4b5e0857d6f4e42df7112ce99d9438c1a137286efcb2a14ec6b96161b01173edb509aea8d1cff1054f8b3049afc598b331d44709e2a32eb4c0f734c140e24308f46f806a0d42d45e478388a76b9aae120d37fce5602ec1877ad69d984d0d588492de51bd7a6adc6bc6c8010db6a25944844f01ae0fbaf02d712a106be258b63c58bf35da4c6a7c6ddbc0573eb804fe14a18e3923293b303a7d59c61658b5dc36fd60a05a1a1ffde058ffedc56b1c9d3bae62d460b57c4fe06cefbbd4a9ac72d93b2a2aebf931b59c938661d558bff8b842b1e6e3ea50009d3c0f618d7f83a0c1d93241f028d19af9c4ca4abff9caa7cc18432c472f21dad5b5c69131f7e7798d208c74a8d4f9fc4e3e858f5690f06a1afcfc0b6d67565f50c3ca466d2976f672a81782fa5175b07b64741c9248fac52e4b63d00f0fb421225577b9faf336acb9c33a91379dcc9ee199c4fd003300a7d30f9f9c8b1aa3997be2d4421ae726695ae0214db7d5d291a09c245fb24bc3d187706d1b7ddc23372d9e94ad367948d8d52adaf093c94b6773a8248f734140977991cb15302e2eda1f0dca04f2a841f13e8da1afa9cf0e54fb735634bf7b365869b17a722d8a2f06c053b2786cc8c2d8fc9d38a0a6f95b36a9eb7d43e6a1164f5fd7e8b041020edb5bbb181e043923670bf3182a04c08980b15d5aaeee921e1f019a0fdee0459aa2bb7075b369de3b136419a04f11d467ed01e6e7562f7618f8ee5e1a445bf9ed68e8efaa29f765e52342036a41414b6ae1247dacd26340dc4ecb0d65bed3edc56a981fff584c72364c6b294c653ec5990468511f2e1067dfc42a75a745df39fa46c90641e8c85926061810f2cb8812c8267286cfb63a87025e874aa5e2f41497eb7f7da751e2f0d14400c3b1fc3a4387ab267864eed804b5bd6771aa9a598ae28457d9b3346a51182043225d12b769b31a75fef9c97b3a2666a098633aa6d4bd1604ed5938ca3fce94ef5a3f68a1514871fec24d1e16d806dc585cd23f3f4f5aeec776779cf049e2b334d8b5f5c0c1ac23969b6512b2d84be08b4295e772942daf12ef2478d99bddd9ad782797cd8e7eb2ca7c95fd43a0fe01e6e0eb7db5f6b11cd8f09688b890f6cb0cc1ba5014af986f1785fa848ac1e24f41b937a905f8a80288849c10a7146561a83175722c09839a8d29e9275eaf77a70b504c021d7e1d78ef4bb176d18d10f4c6deab204d6f6c305f3fb46d073290dbb9f7c9fe8885fe5057509abb7735652102af45b8572418af05495185ba4a48aa420b0c42a040fea3a6f68da3c868846674c2e5408e975af6f8b59bf057894c94f354f627e336c58b51342aa6eeffa9d2ef94f4fb12698bdfcfb25ffb94e87e11fef28f7039574f8d61ef02cfa6c9383ffb6aa91b791cc61455c6920d014b5ce8ef0f805998b2c3069fe8326b4bfca1dd4c7816752c5a3cbb6e7105f26b6e290c824dca217bf834a8dbee7ce901c9d496c649a36ead18839d7a5a807a77584480ec405890a592d07bc5fa1dcac3537d377779e0017ebc3cd0c52f684346d291b9c4dff13d89cc363baf916a246910054714169ef247152552f58eddec4ce6b3899043538870daaaeac2b5ede123d84e9d0497c94a83eb05c6e623c0b0a7b140e4a8219319dda79783444d88bd9d1b6c60ea9ce0eea847d845f77981f26abb2c4d2827df874188e153ea6748c9ab6230f11c41351683de617507976b4f0ecccd7ae9dd4850b6c64bf99adee1b1b4b123d39eabab62d15dca0fcb092e16d4adcc6382d00690a41b4b42ecd1c86e0a9848bcdae7ce98872f17c9d1b9f1700e5fcb286947462eb76fd9116349d9ed9a80dcfa00ebf562a63ca9fcda46c06a331219ed42594d1eaf8a13fdf8f3356c9577af59cd2fe21e3e925f425d88eee899753ef3f45533c029e4294ba14121faaf6a24a64a69ab9084023410f83b1b27235adc9a6d7c5a2e08b256d57d5225905f4345cd309197029d1b677ae7b29597b8ea456f88c63a1ffd1f96df0323b6b4271e5193705d2da0848c44e7b2a4303d21c0bb19943ab9f79e583cfffe764b580ca062d23912396948be83b80744523c8fa1d0c966fba9fa59488d3a50632d75d72db0bd807bbed1f03338ca62dc82d661addedffaa3ca234585137406f4e0d98337959561ef6fd2f7be2d65392ae005ee2fb777b8d61ae57edceaa6cfae7ad08ef7ba51d8008649eb17bafdbfea490e53b18812401c84a7494ead14447af79fb34ceee2308c7fdabf5080a225def7a4e5823380b5ddd519d633be52abe4e18c9f6fedacebb94cb8a249596f5dc717cf7ea47960033be9b2de5aa34390cddfa745e40b8def740ae34ca784021f2d2125fbcbb2c671bdbe71789d90ce92ba961aee90436a7b5352367c789849808aedfbe4558d23b7c3c734f8a7605719c524b81f4ec55665d9ae7960da89f97ed2a8f1552e35ba8ce4d15b92212799dbeef2d625e2c9fe85b5ed9b077d1a009f2eec67e03a91c1e993421f61f6e670a8bbfedf5413c243ffd2143e9e308f30f432ccc638c66099a81aef6163ad2c54b637e8c7989dddb392f5c40af3db419f431e2b94b84c0183c8f6cea25a3b5c0593963859a6129ff2bb69e435c459cd5fb134385d02fb8a5ce3393be0ee775f35a78275999e8893366f0b93fe2fd8cac37c917b7e0062c848795f0fcaf9eaec5b4c1997e8498ae61f1effedac45411ef4a1da4eb459b9c354a04e3ea42a7955145f05b6ab09620b3c186da99afbd87776b26d95112cc7236241168abf90082ed449d26689c242469f5fccad88018f88e93ae4e87fad5e6585e6a77e43475209c97dfb52f3def2c151a494a3fec3c468889332e961109636779bb1f11a68ff9dd9b65a3eaef82e7750e0cbded7f25e783bee6affeda91631bd12bf1773ad3264bba3bc5c16632bf68dba111dcec6411622215f3f05d785776f8890ca727d70c28904c51e85f000d06d46029d49541325c5585c1daa96912aaa27468df4a2cce1e72ccbe15c38fe7ee9bca0c9367b94cc2b39f51b5c9739b214ff596d54a7ab9dc53be43f0e984d62133fe40abf572aca6aa6f689b651c86d6fc6b24f01fedada92b57a0f5c0e9222e2bab58638ab8ac1d5a7bba9b0a18b8f40bdc5898575642ee4e1158d6012922eec6cf600094a7f0a2a29ff87f05c16b27e02393e3a43051cef9b048fb6bfeb89e5b755cb55d4a86b35921ebe4c1866a99965c76cfab013ccf4af7ba7af91f706253991869be1b970c4d857409133d785be4253824daac3a6d549c6d1fd25ea09a90dc29fb23ed855bdc09402824309193bf82cb43b0653b33a994086a9e20ea643e2eb43ebe765198507e56cec240250436388772bf076b3ac1d32b4f794cda7db35a48c7dcb831428a75d4471d2bf57916feb7b32897acb7357429331d8c307cd25422a848d8184797ff3227a5a25d0b1649dc5eb4181db31c3157d15a2494a266b70758b5ccb13bcff9ef209b1171215b86c85624d2eb2490ae2b9a8f266cc61ab7e286c24b0ef620223cb9ba7df18b42ee23a3f678d21f9a8a691fe97c5caa900162a1ad2300037d58d5d2f6d63604eab267e254a71ff655c3cd2213149c6df071524068e97ee6b836c3303d9b5a1ef5825e6862811169553c76bd7f791b58bd9bfada1a1acb6647f86f9d0a08b3f6de49e200d263c216ddf225eb2bcf9d56a1858415654c65002b72f67c34f403eda77ca1dcaec04911d01e3dde8ce73e64b9ba3f3a1fc5e7edffb26f230ca889fb243ee640d97e62a909ff7f6543a2ce1465c8ab53cdd245b81f0041fb5933b673c49dbdb726ff649c3b366d9eca6640728342776134c81823f4cf4749be254af88b15bc918a18c51dd44a7b03a38124d1f4dfb052af205a25b44373976d4fd18262a27d3290851a268396707b4802e65c2cf22b197ac4686b7ca64532f6abff4d7753005ace2607307523424e8fd2acff4d1aca47c2f6cc3614fb3250bae96fb2306f43421f558336d122e4a91d66bb6879041641223e91862b41abeeb15a2994229a4537ed8868ef654f9d3b3f76d70c254c795a9d444140542ea29433b754164171292f0425bb0de0b3488781c79d183e24316e1a107e5a75f9ab3d999a60c4f9dbaa4a25b5fbe36a3c39498ebb50592e25e858df0ed9a8e39b0c08c68595a2fb823751991cb8accfdf8a51bc3f0a10812574d9a3f50aef85c54170d474d1105620f39a7a4886de10f8d20dc0823bdb9b3b9b9c39a623fa0b191b879c131582c8fe52f1a8c24f1a51fb3b6d11586555fd81e7a7c77281f558451b9c674e028fc8ad9a97cc40960f1f04775b8702b623ed984c3378c614ad17a3a4225094e6e6b1a0ca8272ddfffaea4d0985eca5aa5b95d7e367416521f9ad5ed18dc64dbf030c11ee796e02d6afb89ec2271c65df5ca2c7fa1c68fcacfed1be071e71cf6d7b4c75e6847223eaf3df6c146e5ba51e0ad0c8c5648f124e81b6d6550db21de5fa5495e9714a67bce259a76459506264368960f22cbfae639466bfd01d9d22a69065808a8dc4d158eab16e619ee8d10d8330b759e66ed00d4bd978aa658bf29a64ba7c9cef9be6a1a94e43a4732eb43c4f2edd02b1e7dba4b94faf484522ca9218dffee51c54698e61455d96d5671bb3afdfcdd1be9b7b486c8f0811f4991767a302d7730f9f974ac78c808870c58f3555d5fa7b3956523f47a3b88641cf4e3f5e34df71c0237adf771b2e8b27a8fd7f9773a0da933fdcf3e7ffdcbd874662975d347cf33dd970d997680ac09a1bd1e7cec61deb9b3403840757fe09c8a522acca4c5be53b9c50ed9ccccc93b18cca62f9807d6606b7aecd95bfb8ce1b443ebba7f3523fd7ebfe0d11d73ed80cb80555f567124a3c28834340dde9516541d68ac3b634b85f196977698644474ff2531f4f9d04d1d5dfc4b3c2350c5682b6ce33af7d76eafcc538cb2c20d81a3c0bdfa58d20d7a9b375f6d3ce30be77d8026c2017c86958289a1778e8d11b2ee087ed7ca39da281dcf2ca4a5a79fa75d54c7bb040b46ff28a058d8526f592dd6ad80c595c6dc812bd3dea89bda5794b33a27a84e7267d6c44f1daee8beabf2bd284facd19d658b692d341af6f91266fd72e8d1cfd24f49aaa492a6f24278633257d9f15e9e2c0740c9d4058e08f329c851ee33df079db6690249c1af8afc64c08bf15f5034eaf9598bd6552ca3ea880f98aed1a051733b0a0ecc3365bb125092d80583cdcbdf09ce72758a7d72a1eb3d8a4ec5dd9bfe42442eeb43eb7ee11180b6f6db57d778d965ff44f8b7523e1fff5ab0c34175fc4be578f68bd9b64da2c66dd9dfb94b6f0229056d7709b0a38a0bbb2f7c1e2639e33be3c18dc571a8e634baf8043990ca1a1218e36ad3d17ac9064625e185657a9b15dc8909e5eac7cff92a4f90b93ea701cfa255293be5b4628fda49256be22b5a8150f5706d35356a399da8f76fea72b1ed5d9ef6184826f9bac2210ca6f1321c3f49c9acfdd15b3e9d0eefe8e60072da5280355e3de9da2101730993ea80019bb00780f39e530228e94c24b580c2d49a5d2db66bfbfc550cf41c994d3177c8b7f37bcdcad8bf53c87eb18b4d1ef66514d80b9f7a5ed99e0800ba7848aa4785bdebb065fcbf61f361446e2fefe70d8eca5d2ba3c8ff6bdd0bd8024d20c08404b4223264b2d56b47914d531548b1a5d847675774880f31aa9925de367a33e28888e0537827fb5bda4b64c3992b67fdc451d2616980fca098e31d106390a37d0f2e30241577fdd5ff2b61ab880be6db364154e7d66fe7ece182806b62952791b4ade15d6ce3ee1163fc21e8f507381022b485a6e0a7215f14cceaf29817749ae9583ed7fdd1dae06350b95173912025a14c450f6710639353452e8edcd4a89792010daa45e85fa02bb0816c7607e9320511d8d0388cad9a2e54150e30b9148300ab2df614c7f9e8ef57b69a3d117a724dc3fb3be26ff3d840470d4016cd80d83181ecf2be35d961e76514052b79daa728bfe94861e6758abde95903a6cc3644a713854b10330b23fa9ef092104821a63a8d5e188ac735fcf87e6c26915edc28658d8e1ee1dd6bd1d69ad2a4b809a0753866918e782653fabec8de50d7e5871ad2c3cc6f3a3c8287af10fc78e37733cdee887ad3d11331194a572849e48adb4dab0c1471e72a3c511e42fafe9eb642a18593de2f850199d1543b88631cc086f2a7b70341f8267dce8569fba2688272f841197ca2d869dc318f7b33020695c7760fec718e4cc93857ca00b402d28660f3e10bad7b7d47cc06ad8465ce87dc1639506acd218616ccb4eabf03c3431809f26013d6ddc2403760b3c2116cc71b95c326a2ac922ade4ba23cc5122069c7d5bf9826f264ea2e9f7391e9698bdbe776e6f4b58604897f3fb18afae02083488c062d44275e11ca49beabd63def39997a7244ddf1d5e8281fc8fe3b04db421a5de4645d67c5cda11b77a15be8cac66599fe29a564194e52a571c46aa933a0b2a05189654cd3acb67c43766f0e4e19c6656fb1e32bfc4e7c7afa62aaeda0f71118d2931396ec0b5f8705c618eb34d215dc1a4338ae751acfafd1f0e1f59287578d5a3b7996e65f5103625ae4f4d2baacb56a6ab22dcef8da4d089291acf9be943a56cc98121ccb239d5136548d721a926239149edc4ee4b8614742e69e84505052f29eba353994d6da2594b3fa8d9982660e55c886ec9dafaca994e77853f1b8db0e175fdc27f4a03e27c351bbd26ef5a97054a2adba88c33696db3fca9b18ab7f357b2c9fc6dd37dee11a6a3f9a5d3e87a2f5ff23ee7a7d8df8fa00eb02913e2acdf1f5a3c5d33273d152a6bf1966489255ccc6e802db5dca3c806d431360045942c68930ae6624e846bab7cb7bf0a45efa61a5099f22668db101e6d0e237344f28eb875550594175e605b073dc1f131382e607ffdf508fdded2642ecf128f68fc259d8fb33c93ec47ed6c243131befe845731e2638cb27468378e7b6e9d723401cef83ef4e4a56813577a94b97b3109b0a0d33d79eb5eb29b818e266a4f55b18e37af3a3835bbf6058ed8af2583a8e7c7e4b887cea89faeb2438e8c62e63eb5d607177e2399ac6d1c8fd88d16ab0ec53ce3b8b33fa37c199b745621dc0ca1d53aa34b159e4cec6931f6363289d66e4e52e170a2a522f4faf2cec956fe7ee7c08f18228dd89fe2a06cb04995c6da71a4ed7eb630eb28ed045d4e48d053e89e4a378397de9bb0d323fd23627d5fabeaff371a418f4bdab228df111bfb328619aedd7066d534e53a2e6763d3d9a6f59fd273ad74efd7e0cb2bf1147378c8eda327aa65d54bc2a07ff4607ad0b45d0e3029ac1ed51b5926e0a3ef602fb83f0ae59b8a23d39aed14c3f331add73597e3e5a021bfdb3709161e3654e43b21f530206b1e62f7101c82f5866c778dd4d792dc43c6fb16e949b1d8a8916a51493f5bcacdbdf0164180b6a546bd84f671ec69deecc31d934652a780d044667c72a64e91e0d99601f9df113a339c3cf4a61b00d478d8bec7a928727bf8ef0a4dc0e0f9833d640bfcee3955ddbc2f1e0ae5b441609518c609af3ff94b96e128244c9946667064f4b12c9f5c06c7dcc086db5d13d44c61b588c7fa2534c0325a94efaec61e6624ae800cf4f82b936b8aefeda4d04c1e2fc76aab3a361f9a037a56172ec85041d4118b80c0034bc018a19a1fa562a2862557bd4f939e28816801b080c32c0b54ad920d76c73c7a38d07892b5a6fc6402d3825dcd6f0e918e6ba7865dd0a206e87d38039411df308119524fdb62cffdd01f902e7329dcbbf7c55d47530da8d030fd121af74fb5010e9ff296d4efd194cfe356a0d7c061da876df44c25a34503a78025f132bc36adb3b28fffc20c2075dbe6b8878f3b75ef69735cd6ffcc662023df3b79c611735f1135a6835c5af335e2ca4500e89c99776bcc2b83ad5b37b9a2aec05f5ca3cb42628b6502811008dbbfc489a6a6589567c64e8a075739e0aa5ec2f91724d809555c6875ea624a38afc0395fed64d90317ec5f84fe4c6366b0d25ca6107fbf23cae3e8750f37fd8acc6c23631ed8b875a7f17bb2a42fbd3233f2ad183f6f0d01b6334bd86c7a4f3ef3eed2399c8bd801efa494be5dd5ab96bf4ffc17846959bc0a0c85813ec46c134ed1f65fb07959e5787521b63cb7babd6e21b2000618b9ca1fe67656415c091448d4a3d7ad0ce369735b4716eea4de4fad123545b3f568114572569f3eb1b9d46a989a29641218b79406e45d0f6c366f7cf9f2da2be983500305002e023260b62bb5b957aa0823c9d97074bcd4fe39d5a36963f46b74ecca0b1924d09786e271dc9e10fcb7b3290f0fe1b237bce8422e5cd8706460afbff475a8688cc66ce175921ee32ef9d5e226aa679d299b068251ffe6cc4b5393a64c37122fc428d88eada8032b8b866f2758a5644d95b85911ef36e07896c85b71bb10622e43a807502486bcd0687b7220a85fcc55b52a53149f38f01f857da193277405151bdd78d13eb236a3594122ec4da3fc799143048c139e646189a02f7beb083fcc01845a3dc54bf565a61cbe5a1cca64721239bd3ce0fe4421ff2aade969e0d8e5197503129cc727e74c9aa617e3898e12f62007f945cbc52f0f50a98579cab10deb5ea6511be8082a101c7113e20b86d3954ad36632f5312c72605690d10556ba4ad118f676aaac88bfedfe3f4a5d23fae419f40877464b387c9a04a78a9cd09d445ef7de1bea621741ad42570fd371cd2ea2a9cf13249c6af30f43381081ed651229544584176fdfc5e318ab3c1f68db47cc1e1e0e01f3cedf5f7f6f0cee3cacc4d2c3405dd0df056080f1526fa22902387787a65751b9d81d2d4fa21dea3511d9e311e0221a7ae7f3c32646504fd864512f5f2b4d660c479f3dd8231c2162bb09e3d29a7241e02a353401c80d1b49cdccd190d6e834799ee4eb1ab601c39971a10caf2f7b877d13ad58ef9f6a0add84d670566972a30bcd78987e526ae0265a038ffc1026216368952f04e64cd69a192e68db0d9f599c8551f8e170f4dcbf606aedbcb61fc8367667c2cc225efe698aece5e6064ab4b8e30c0c5e28b2254dcf49777b61f237c0b13610d05020974cf9ba31a6439081b7d126573a8b49658624b27a27313dbab8596e1dfeacd5cc0e26370e22b786b375e2bb4218ef5fb24da0acfd140d3d9a6655425b825eb453efce3b336001e969fa0c745a1cbcfd2abc2a0d6fb6e5d3c3a6d3219ac12e6e2562c7e1267412b18566e913c034940fb1679c9385863cca7108c52d409f49bb86ec0439f4237f0b698855178a611ce91e7a0cf5075fa7927300255167131d1b367baf44851af8f05447d0243e05f7c53f32280acdf4349b5fa1ef6ff3e775a417685b3d7f62ed54fc14293cd9e836015db4a525883b0427b1e7e3928c344e9d6ee058e341df82ceade4cae0c8e52f77dcd70776afbc393b8b612f970bde959dc48c0a7d9ccf68810bbf0f722d206c00c21230c4075af736941761aaec4ee2c8d7c1bbbf74bf124e9de5c8f25a09d85a05656061c0627bf77bad3d43c6e2d907c577f6d15e97f1113e930a4f027ba2c26abd2cc4af4ce1659855048959849c6f96b1f8580637bd05cdfded29c432b965e9548e6ef4cd70515e3c77fc99e607624eb2ef8174538575a80927b396b7d084cbecccddcb22136b7c61e1da0bf3e29b494b9c6cc91833ced5440d8b59c059df3ccd0eb69e69bab346b0ab5f82265f31373e05190c3cbb8fe2b863cdae6613d95b45659239616f3cbb4f9e81eeb0bb47611bad36cd84d1a0cc7ef5139bd080c6a1cabaaa8fdeaf512c93da42c5b5af012aad67e8465e36df592ad274a42c43c19cf34413e35c95e7e4bbc91c15b8cb42f3787e207316cb5bd948c30409d43f4f9a01c0f5b647e0809bbdc03c919632ec643cb18338ce4fbeebb132f464b185255ea7a3a057de0b54b3e0166bb421f560942113e9633c93660150274580a70240ad54f441203b721f21ad4defeb3b82c4e1d70d9e94309a7313a4490fe51d86d53e1f3444e2f2b8c7679248b32eedefb3450ea95fbc78347677aada8c74f1861900ba444d2750ddb9857033ce19149ba9020280688c747c339f2b3e15a5ca5b030bc513edb1f0a020d33dd72050b391328c0ff7ad2cf1eff8249dfee7275593cb4c71f112c3ed2d86d859d857b23663d31f2f2172dccbc107a307743435f4ad1d946b2e458c3057ce4cac1d2b60acd5aaf127c9eb669b632a1ab39ec302b6b331e50163458f5b7e8e229437a4e26a24b0bd9f5bcd26527f0159a06e67f3c02272f3ea299b664583c28973216f463463070058df80c6dc57fef82a98d872800692163d73db35c35856b846135f881c28f1ccf3a5feb5d8f25f34c5da49515f751e86af502ab8cbeae2235ddda5802b6521ea6819ef08089a4593645cb550f4347a90c5ec11205b9289ee3966c87310367fbaa3b8d0cbd5c8605b3c45d3423740de7135b69d78d6ff0514045eb1d3f178ce4b7271052e4f58cd26c0f2d1816bee044f433d9833365b9c7b2f8b65bf3cd88759137c95e45a77e6314a93c161fdcb71da96a20a59bd84562934f1eb820059b941bbfdf201d84899974a3ecd7c5ba9de66f96c4f8fe5931d51f2f724c044db574a045aa016388e06614f17d808e44231bf9c5166eefe6ff8b32349ad456a160d87b23a34b52c4d0d5eef04f1d385e269487630c05d7b9d1296d85e496d8e57b8cefbff08766955cc6d234b1a51265c065c7bf654ec0770e414630d242459f087363a944de69a32fbb740e055d7563873b3422725e49f6cac71f5a75d90c923ae1e2f3e44dae520e98ade8cc81ea3e07695522cebeaa1239851dd9015d1fa58885499e6406e65518b48dafc66682f2a23a4ed398e18bb39587b7af40deadfeee99940e183242f0aa6952c01189de8a755a74cde8e776fde14c14afe3fd278e3b3722e12a13b74a62c929ce2f5ea1f966db6a6acb5b6beb2cf91dfb469f38bc097f6c06db1011fa0f91c27897a69737051dcba4a63efef7dfc5d47ea06035fc1f13f4cbe305180c7e4104b50343428c135e4fa24191636eaa348c4dfeec546ef8f36332b58440e59063fb314a8d48831853916c5fb4d8c518ac751014792a0128f96afa4d0283d72d22e5aa2a201429ff6500c885af1718e99d80ad34e67c65dd8d1da85b07584157d7a29384e01a07b0e0d04baf497c4cbb261ae0ecea0ef71c412719f81f5612fca497986556977e37ac8960e2fcdabe951c70f2b2e5116590ac01360af55fb0df8925a073cc8558ce89c8266fecbeb64c2d10ee30a3347fb2292256e5344dc7fa109486eeec4722d80481d31349c2f21db00c88c0ed4397f7d1285ee924de7cd1f258630016b87ef2c0b7b4a10c32ad4e55f077cfcbeb437c8d02dae9ab85adf7240f8d9c3ed80e7cecf6c62eca3edfb53172e7f33b2264f6c71316d663e5ce88d9b823e80c6974c959e68fad5d7a3cb8700da227bb6d3ccb4d0d9a492a1a267081c104145c60acbdadc2dca02225ab7f8f3486911b9d8df7d9d890507593ed84988038ef6ed36f240be830a8d4a4c00fffb455170f72ca5caf8d5f7ff4f6c5685400cffd12dfea4962c433230fade8d868b6aaec320d8ed512149d94e6f2278023406aea1971774c2b9624b7c5838af9f33d5eadced7a22496657633537e486606f84f35913b16aaf99f98bf4936ea4bf801f74fdae28775625f2090841045fbcc89431a781130bedaf2ca6c5f22f5454b44957d3c8157da5910718b4d8c9bed758ef48d4b7277ecf3dcb67469b1f926efe92498a3c0bb956ffb25bdb54833b4e5bdf5d6750072ace26e8fc3b2c0f67cb2ce59bfbc948581d8af2caa6d28be6de7516a94abf0493a9d29f9c9bd77813bffe51470dc33186763345b9416ea4394da4d42e18857e3f2d004fb00d923d9a5d1831ff160757887158feb3cd8d49e6b55eb231ced816ec900acf0cce459c851f35f75fb08aac3ff00cd44113c6eb3717bb64ad736c30c4d959b9a23eabb8eb69fa941640d9abcf02dca1fa2d3122c214aa30ef2328dc1fdcc1b60f6c1cdf06994f587dfd3bbca0817e3eac85669f4ea213f307923cc104af86547baa5821139fc2c2aec0b1b58f11c50a8d152d569abbd825965f18dbcf43dbce15e98eeb74878521f7b046100cb76d438c899c460a083b83bd421a2d79818c88453f10591100938c0dfc8748f13044eed35af3705edd105fd792c616958e9b411d501a0996b091ae1de383ee3d70a995e9ee38c5e7db7d4bba3cd2313e4d3d8ae625dd7cf9e12dae638f85e8b2da6a7105be0865c3b8a15f9a8202486d01ba216f70f02016df781ae9e19cc0ebbafdd7bc564602a694cf28d1910ca3d56a7916809af034d0e5e29002bf7c2e7afedf6acf42075efcce41465faf8e36a1c9b13413a7d56f9401ebf6ca2c7b7132729b2b56d06966a7171bfb607af4a36754a67a79e99617bd0609645576ab2fa3621121642188c037c83f37cfa93791215d88eba3c627c3edf983721229d6153ed4dfd157e1fefc43a07d1d43213986dcba65f020bf3b5612c114bd500bfe55270fd32e361535f8da51caa66873604defe982aa093a816759b67fe3fa9ec9da03f50ba5226f54f1eebe9b1e7939acd405beab2d672788a233a28dfb4c1c4a047e8799cb1cd5a476bbdd2c3de547a714abd7d8e8723367f52c626cc2d0e98c74f8cbed8a4524cbbdab389347271038c5de33304fcffc8fbfccc2565768cb4e91692296a43a00de227ac1566e6998d8675ff2699ba6aa8a62bb77a70e05e8a79f55f947773e73452d4308c551c8cd87f360228d73e75e9a67950e76ab72ecd75cd1295bfc80ecd4d54399e7b42d0d62f8aad04b57d27a0d3490bd39b1d1a8c8d8b4f792d141820eefaea687757a9483f8a51d22814f9833f3c481e2ee118401cbdf2f46b6f16a280dbfba5f8dcc2af080bf775b7a63770b8249c51ce3ea326cab629dbc148d923dad6c6e8f1d2dea24530e58849824e6b27e22d6e85b7a8b21e90d4a9e3db73347d307b4353fb482384c032251177503edcfbe710e5ac5fda5557ff4165f0026add01575bedae4fa1e46daff5ab23d23f3aa47f747c6aeecb2567335c18b220a17097b8aa9c8d3a27078d90bd9e4057e8d1e4e9235d2df16e36023ebac648381c854f31ac19ca91a24ca53016547cd02aeeb3b22b52fbf42495bf92b624d28c5bd8094c76b9dc456ca5dad9d340a0f8ff3a3e7db1063642e4f0131b4a168c2296c4c1d5ba8fb27225cee4d6cb7a4aa0eb44e4afc7112cefaf35da9035b13ee518bb86a8d4fcff831fe27054ec972632f9453146a94fde6d5c8c46c82ac097a1433b68a74b4f9182d3e7231e10a00e56f54b0da73286840e9e995e9ea514f94904dedbc9fb1f704bc425a29d272ecf0e749d8c2fa85f5430e086542017761ef8b12f1a4b68f61ba371c446b86fb41d4b78e3984df8776286b8fdc1926832c99037c770137635f7c5c19f39cc32a6aab47fd731f13d7fbaf4f251f404671165cd951a6007a7ec582c4ff03c275a3242890729cb6a82bfddf1a61fa9110e6083cbf9fa69a3ddb780320aec0e1d4c8341a337c020c60520a136343f29145fe1fdf798269c83b186537c3434b966a9edd36f48b1795f3e53eb9a1bf784487d346302bd1dc4dd393e3d264b9d4642074b4f9cbf5471cf68b427ba82b01d9e90694375e395bfee5e183c12aed1e4ddd11a1f8f9032f688f9555852b7dffc8083cedb016b943ce2d3ac1f9a2abd2fff928a0fc4f999f7abf5b8c8b474bfeaeea05f8dc6ff83bdf14e2fd1d00970acec1d42aa7c3fec2dffb37f0df73dab1cbc4428b5f75b0dba5c07fd640440f4945f534c6c7f7588dc9dd44399d0d64fbbe0df5e431308486355e09cbdb30aae0038d77bd0edbe93f0715a1563019409f298e2f2518b43f80a6dbe55d163396878d8b14b9975c48e5b20d6ae17f21a85296d2e3da1d4bd57c3a6f9265976e9ca0b3f1dad122c5c84d9c8490a069dd1a8b65f2e8aef210a2eb037b204efdc801ccf75a63bafbcae19467c6f3d7cb560857ce81c30239f1ae00fd35ac69341671e3df217b7a08f70cd6b862f96ef34b3ae3223a29df0ad1d7085830d78bb88dd18e823230e49ad5d7baa748afa09da9909cfba752e352c41d86ce8747dafdf949b05cad249878c4799d631913b36cc81121e108efa5ef8a05c3bc76c21fd75d454f70f23680f6e13af357d09c911e569646670582a95e1261fe6e0d688bf06183cfe02fd45e82fc1f56423da090e6c7b8ac6c0c92da55c49295ed8208289cf7e32de9763b055af50ed07a6bfb420f869b36accf120caa798e059969b007f8cb55bb9c8b854ec3faf6ed479afce7c92f9b5ba87399f1782cd63ee298133c2ad603d8214243749ee207a1343090df875898e250c3de88d2ecd931d9d8dc460a141cb51cfb2cf00e0e4ca2a7ac7f834d8f5e57e87a89b4fe8a8e1cacb7e359b2eac3500c311ab6ceaf57e5df0c2f17b305424bcb9081bc3caabec0750b7f5f66572f1d93a67972b589208d8b593f0bceb62e6313fc9546abd6adafbe79f53149122d8cdc020f1d89f11e81d488626920866a055de772dbfd14bf26766dd460caf22e644a355abfe14b9924748f1deb0acef562e61c69de3fc075aa262fd998076761dc05074597c4e4585e6eba22c193a297c1fb873475ff5cdd79e13e8110b7d9647e6b6eb97d44a6be6cc3ebae3199f58feb6d39a095a400aff0d29b2d875bfbfc83a1072b77e6cf5861bd9f8b0ffe20e00a6c3fca25d199f8ebfa5f1f6c8998e736e9e4a0d7bcff8481c637ac569c0c3ed19c0ed11ec7678db2912b63cadc6f8366034fa632bf27c657809138298a432bbef64c5f928ae55b0fbb32e40de62cdbf63cf96a1663c18667f37e1b4cba3403403d946d14289085e541f799171186092c9e068eddc651b4fa6bfa79ed1058ca4c3fb8a69d6065e795208145eecfd9c519fe4cc08605aa7010449d41e5e2a3f506feafa1a4318cace5a4125692910e99378c6e0c89c4eaca6c668cb85854722ba4ee5165770d5a601fe8d4aa30cab314f845e50c6acffacd1b73f43e70a48540c7c347d6b633c727d9a47f20dfdb057d64dfec3fdf6f3e033025f99b1cb776732e9d5e69d61f2e42b1a8f65a521891037001bc01ac9badd2816179a8a70e834ee35cae6038ee62d69f8f0c6a6fabf9ee3e07e9cb07b0544b89186575a26dc7f4f9edb3e19b870a956956f17e1b843a6c7c8b8e4edf737e4e1b8efc2258a496b3477416e6aeda688ac44cc0b9561bf953660d499dc5ced14c109dae9787094ea013ac092145ecc33291c69f5afcac16aecf145e2781b1dd3124f40848eb8dd3ac5c3d6a5047e33f1e1f873edd0785785782f0ee2829af52fb2245bf7f266c9f6b886971685ac22cebfeefaefacd3bf5d0d16871f7ba540c792756eb0cdb87acacedb733ba8f1f449de1019a5438c6a10be9537685f8b1170ac0a6b87b01e43eba16f2685af18e4778314ebeb0c90707ff064ec43ef3f4343bfa44b1631bac10044d6fa712dc2414f67d4a70eb3da1dc3b7988106dd2330f14df48c73c5824c4bf3cf60e054e1e0dca03c738ae90741ca473537c345f6a07ade3808c06ef9dba4e391b17910182cd91ac3b8443da0d36d105b305a68071ae268656be202c2d3d0185ddbe6f276b166ea122aa0d4ab5d3b77aef4a53f392b7d5bdcc9f67eba7e04189794ddbf8d65988d8398996145b72b90caac8853bed3ee240a475e63e114b5c869c49aa9c59d04b1aaa8429da8e030fadb09ccb0b83581c06984e1bfe673ff2851a508a2b9148355302817a547a7dcb3321e2eb5ba22cfa65f87034d47c806f7d3d97c368ef5e974fddf46ee50361ac885955f51f77efd0313078765228b42d1425ede305a861aea15d3effc87769eed7955be90d181f1b9960ad08e9730ed1ebcce4f24787b7d2fc82b3e1ca37ea48b6ad4815d46cf1728ebd7b1a061bef223a3178e4894d567e247c2e70d547e4c2686b9e9a7401833a6ebbe73e137ee00759da2db7c9243b1e09e776610acf1b2e87d05cd69c5a58a80a377812d9dc2cfbd6ebeac9932e2087f6dd6bdb960764e6dd1acc96e93ed05bbd5a63790655ba4e8d0ca9d934751422f1e5ddc7f13ed8d01ea0cefbb5bf53c83e0a29145722bfe079d0ff2983302f45b79cf84e5c04a59d3228229f132b1a6e7e4ee603d022bfdf779046ae3806b7396b2b2502eb380f2416b5ed4f684f4c948fa886d0ececaa83f5a97c02635209780cdac25c56bbb0847328b84ca62267ec3e6115f01086b51f9b9b1bb1e16f41b89ae98fb8033024b44fc721615d1831923f644136aa854a10e6f37a676cabbbf72a78f6dce300a18cfb3ad342af618cbd3942ebe5b15f1565ee0688487ef27e7f1fa2f187e44b1f86d24d49e407966d7a48ea6a2e5d39ca452b37782aa66744fb214bdf56c401b0c56aba2c475822479e3168138045e0df91ebfc3959e7e968f113728fae4f9ab5c84bb59996dbbc0f9173dcf7089d66992e3472341512df8d6fc0c98da0b16fd129e94097cc0d0fb7658a15b2197e7ba42475c13c2fab8484e4ff235722514458d243e1d24a02afb205e25994806be0f567f2378f6184fcbb9fec48894ab70e7316c7a689f813a83523992e62ea0dcc55c94ce222c78dcf5024a71d88f6ff0d670fb020f7e2af6c39fc03f86ea509250394970df6359c28b3a83c98a2c5ff5821960d693637e60075824a91326643d04856617a2e5b9415927579f0f9f40c3a41424143a9d94b5a276dae18553a8582bb010bf25b7d35ed45e7ef024fe1eeb14cc1cfdb3fb9a9736ab07ef8eaf70f98e0a1e613bdcbe6a3920e5ed4fad0d0df08190cdfec5ea8d758473d1a7a5ee094b5e595ed375cc62e5b43d0867c835a5039df2d322fc6156c03ed9ea992d59fecf0b1207db9049c3b12e8e35fc1e9974afef563c13006d4a2e3bf12aee4945baa4c20973107cdc9ab9c429d7b3b987f4bef73ee2daffdd634854ac1596dfb76c41fea5944719424b32448bad8f40ddec84bc2c43b5fd00c29870bb9b4847ec25d423ca92c7184a222db8e11211d4242ce6723189f6e986493b7cd25c348ea71a0229627f0093cad24c64c72757869625746e89b0e9bb967f91ed85a75cd79ed7bcf3bc35697b10d2805fd78c8df1a700422f3452b74a01eb0a011920871bf68d2c7db8ba785bd3c176db3ce665f8ab0ff86f3da28cbea63df08982929e7d1bca053878d4e71da934964ac53396f7f1df7637f593dfeaff4109b6214ec040efc28178b4d68794e76c992ad9849c05aace867cf1c18ed2c3fca30ede565a931c0ed5407af66a458aee4221384c838d9fd497081eedf0c331c9ec53cc15a548f6bb261c7eb0c6e4461375afd441ff0016724af16152638f7560c361f43943681a3269d3fddf9420166382253344fc146fb2ec479a8743ac699697e804e2d2f339b39294a914e429f012915addeb75fa1278483613a6820d10c55688904f1c0ea5a67f8d224ce57571240cc1b928d413280ce1e4ba0ec951bc5b1e77a53a8713d28ae4df864f24f27c40222d0f0f07d7ec64979eb06de953d20bbad48b1870332a1ffae41fef207d0093c5b056fa45f4966ef408b12a8200fd96434b7c041041e459637ea5ffbc0388b92cc6acdac9cf0df68c6b1912bd462fe2b564f3a666f896608ef1c5a3b0d1af2696dce660027e7bdb614cf981a7c9ee4e675c75e825f3b0004bd0c57aa98015ee05e9dcb645cec0db980d9a3f546caa67fa387369db5bba538dad1a489a4e886d8ee3aaa5528078edeccb13bef29464e17db581c43d2233511023fc30704c5c12ce4fde7c4ffe470e74148f9041b76b9281bbde81dd41470be48b1a25c8f698a2a19e17eac5927aa2fb0419e538fca0a66ea01f9ef0e4e6aaa5a0f828628692d5541d28d5f5536b9b956c43d1ebd1919fd2c02580fce6db73109b36b36bf9bae91e4648726dbc8e1a056185203971a816790c59011f452a627d7c80c73005e0b738bda6cbc6ccabf82d4bbc9be4d9fddcafd1c94784b983556fbe8f7335e5be6921f268e8a01cbc95dabfb440822a69e7d69bc06ef87e1fe655dac6b74e1e0491d1cb999194029060cf1c66cb5b8dba17dae9209518415a859447fb070835d9170a3037228425889efba3c8d7c8b5d29d6e155800fea9a143414c439762cfc8926d6f758cf2117dacd016d2f2d34c43ecdc01f765a66e3493a88b9732cdd3e1ad3de09be015e572d923060d8ee0ff96a9918fda5df152342003737fc83ddd94701280d155d024f3899a4d2bfd5f2296878f195c7bcc2fbaca9f6487b2252c5a2a5e08c536688adaf90b3ac403009c9050d22962a1a283df55f50c66570a252740273f120b0844ef5bd75304856ce82cbfc1d2e33faa5edb5bac8a486c40399724cdf9d19fc9e476d7588364959f5e21658c352210ce38f2e21848ee4da19495457402bb0f919b877640524c765abfd25f4acebd16964c650b583fb5f9a86ad9d2e00df5d8acb8383a6a47212d5485082836375ed3932fa6431a65876abe17b731fde5f8dbd41f314fc7c48d29955cafe60ce91076f354a09d59826f0d97c294236a4beaea6971469d91e3453cce70b4a228fddf0c4254839bf90562e3567f38d164a0497b35a01f699ae4e39143f7e18355cce8c89de794bda947cb55ab5e7f8a4adc944b11b12c928d5a2206e7eb6d26b514e90bce2d81ecaa5cd3ba726f063eae98e05f6a211076097207a51bcfd77a0c8fde9aa697d07bf7e09ea4920874bc65fb2eceb23568cc0657c8c6da913f1f742742de0027a53729e09c198823f520f9609bef74fcb79b78ef5fa5bfb0cf36d4b1c07f67670852d7a30fe291edb63e1d7a8507d424e90231ae07bf43a3c2306dd62ac052571f77d17ef1ce6967b766adb653f8130d656ee8b2acd560b0fbfd591f3c11552ea0958648b38112855e4dbe9c1ab3cbb41e90777f100726af4122c1a808f7e4dc10a8e8573a65b89cf86ffc64ab2411a3245599b3e32b889f740e1c8e515a09d0aebbf656df2760463f089c02b2e6a5e8ed084eda06640edacd862c5cbb6af3d8fcff3be08c8b01cb3b6fbf9994ee652bac41b3a2d02db0fdd3948f7478d7393314bb27693b9b26832a27e504a120c86c427fd137739dde0bffb7249a21c9a5611e8556e1038ca511bafce667c84dc1d8f06dca026f09c8ab9fa883fb68e230872a008c0d9f0995749cdff6a4d5d6f64a33762686013e5e674c0186abd0b8ed15ae155f72990b17a5652e9d8f991c6fa16f085510e58b42ad6d9f15b010a4891a67721a345f9525990bac299151c6106ea8a014076c3ec77aa52208d2ba129893a71fd5c7d1edee9e554980c551ef673909aa652fedf906fe600391539fb8cac5ec88948e66cdc3965dbd73ca7040b668c3c6982a0ce0f5eb1e47487f30fce2c28adb7d2cb08aaab93c65f48efb02854da63b91b48530428705080791448ff4b29dced1c46c060c8ed665625e54acb31d52dde933736a5d224abb33a22c83379f7195e00b66ff133d531b33c2c9d2d57ac1210aa754888d33a123dd8f634a48482512637f891038dbde2aaac90349f08ed487d57465e6b9851e31e32f2c631cf2eb1f8f61f4e133018e471abe6c30a6a075d111839f8501b376ae1f9a354101bcb0397cd866a8c638c597f6a98d67cd36cd87728cf20301f14806f988321f9fdcf68d85045e4b467e3f9e6abae5545253349af96fa80ee78e65562ea9d856638fcef832a2a705f9e104070c92fa6d790fd6430575c4cda543ce1bd444ecc43c4c69555eb9c8e015fad0634ea1a79543064c9643ccda624135f97229579e5548b71b5e86f3bd585fc09554089170d9a2fa6e1a05f86e76e1aaca08f1450ce21cb60e85e5ed177f39b90eb2c19aa6ecdb5706364a6259a3e429baa4a9db94c8fb03e7a7bdff8b30fc8dcf6589f46145d461a0c730b9d171992b24426f3536682d8cd1051f0f27f1528847d849a93103800f3d5426831ded076723dcfa4fb5ac364150d641b371f5ef2b1c405d02eefe67fc4000d5c1134fe6e8c9f6fb34bcea67f394a31ca6683a7668b234123681d0a81c45bd4ae1201422e047c2760dc729bc9c516fbe2df87445f4356fade9cda90e460770163186f033836086a0844c73ea6bf6a3004b9556866fbb9b1878e8ea69d5e92fc04e9527e433415ca366d56cf07ecf918c1ae1f651ca14341e0f4e3bfca5d52136d3a121083632118f0f5be54c4714d54d32300d004cd2ff9e244fab915cda225a224de80de5de3a1454529e4e659d9243903902facf00f6351e7b3fa2e3ef4904faa0b8158aad790b9f22b0c5946dff573b7b30cad1bd68a8e91a1fc481a0344fa79577d26130c78ecbab10b75f7ca86bb47f1ec66f0e8cdfc8bbd6d13de70c3df0b4238728f635823d295a269afdaaf1ff4361930ea875e969a948ce966a6729cb87e7ede9a87f9cd3edf758f367ca1598971ce9fc6d6a048ba3bd0530f1866297c45690289177a8db3e236477157896508ea4fa042446124386813c4531945451aa217bf304d9b98fa6fc517fff95aec386c53ac167c93ff086f272ae60aa356e4796a7fd4687184a18567a3b00654fdefb9d17ba0359ad97ce32c276e72316f1f3a780128e9f6213018bf3f0e0a8debd9932f00430db7f4529ef72d60b047217756ae686a70f5d50dcdcfaa838b612fa551b0591f6c6c3d0ebb2592c6c66a93d464b537bfc61c100df48891f2118ec69bc7683433101196d53678032cbb2731b87e908830f3c18b5cd6cfadc390fc472b9bfeec46903df9ead794c52da762f9ea47591ae897b0134f126b83d2e91cf4bece934d8a32e2020224b7dbd960964455a807cec753346e47817d8ba81a69cd061e4bbe6e87d4c347ee903b1e9483bba09014cf2645ad3c27e4e8bfab34cd2051fde6c7d34fd1b23a7bceb67ad321ef82e691cc15b44f16025618c67fd2c8d4d52db25a9e51180417d3f9d42e88c0409fc7e4a87ca04a87aa0c739cb3b1beac1b01daf0fb3305d7e4c120ebd06580ee5348a27a48c00e5085e1db440b0022df33eedee91d1b59ec254bf27200675e13a55cd4aa3a4fb9def3a69890519d2f599fc820017bf5d5a4962e6c2d3bbe954577841587b908032be869ed0cbdc60b59072d2f239d68ba3e254da15e7c8da2baf4daf099bda7697417bb97ca4fdd1cbd49ec9a39899360b33f76b010220f319f6f9f96d9b0ec0a583b4fc74865c168a6fd835ec3c3fff9ed7965f2525ecad50acf69afc7a90c84433bb665dba6588bb01525a70369dda2f796ffb72e91be2e041c5f660c05bda3618b2e6a669f5bf481ec62597f0c610d5369d3f8c681206d4e54ce3bd229aad2e3ab918db7b8615cceb101614e3733def9f5a81ce92fd4e96c07f87c61cd3ed8a23657f1118b29394623f25092dd043a1142af8882e872ec6b33a8305e40dbb4fbd3908c82fe10b6fd3d9efad8032bffeae8efa5edf80cf18b795cd35f3dfc5fb7167b7681492636ba88ce5c0bc38dca5a8c51035afb3b328a895fb38a51f0856b8ef5c6df8182202a86e2dcd0cc3f56bd5854db4c5fa6bc3540175902be0f3f437a6acf94eb987cc34de482eb2eaa0ac5349d5df1b5bc1a96aec9c4e7b3f0cd50f17ff76adf0181f3d8b64263ba3a5f8719d44f3365a2476de3efa3c6ba83ccaddcf3bb0e7746740a829be7d80211a8810406d9532b290a7b2461a314086ae24e24d0cf18bde9cd1d613808546bb76731d58f23fb01ce7f2a113d0ace61b189df4855834fc98a4f20dd15c8ccbd738fdfe84e76516badb62264d0e3b95aee2ad0afb62e0296f0660bbde9733a4c4ef85467e42c51be91e243eb397a853e28dbca1158555135123e8fdd9df07a2788ee2c44679c321ecf46430556da226ec8de2e824d558e5644e8d6dc2a7dfab8de64caa69f1467a0b8aed96caab493e9683b84e4a547ef151893d66ad6e68ae77294a92297a49c56dacae911420c66ab604cfb41ae07eeb60f343de5ae24251a2dbd025921f6b4513ba77668478a4536c0c5f3bb2e1434d0a4f9d92fc804adc7fe68c8c8f8e347076d8fe31d91ef1dab447b96393b24028b1a9a6cac07e76270e37893d5db0bcab7f1fa1b9fe78257c77deb3aea9348ba3acec07c203b7df33e95c50433d46af5207bcf927dd9c6dc010125c756e585d5d9eae68676b4407eaa5362166c1ead11818c97568af79942e0b5a15455a7972be0b8ae7b22bed73fcf969c86efb115f2bc54455b4048a25fe5d86a8e915bd24f484c688f323495584fb6621383729b10327f3c51f8c46256a66a823b15d1cce5d81dfb60dff1fa7efb5cc52ccf125da7ce223be77d195cfb594360a0cfbca01c2dc3c6124550026bc9e6564800d9b5759ee78b2b3efde7f7b138a6d2f58c14f508b3db67072beb7a0200b667547bc7d48e1a3b5312f7bff40a22a3d41fc144bcfd509fe33b0181e4375539ad51dabffec854b229781620a56fee9a9288aa0a4fce3a11be2505706848008e723fd603b1e8ef22334fa2d8ec2317b39e392ab4444b6425bdc76ba9a63be6bdbbeced81d65a957952f73aefad66deaef1941014e79d767fe1678b74f6078529349ae691d99e4388e986adefde50809791a8e26f378ebe1c87e5d9ff3a99e9860654468eedf4a83faa2afd91f73cf2f86e0e9cb982980663a66a8fa3a3c58d195ebbe8373320d63c150b220c44bb8d30ba82d755c0683e7544efc39b470bab0d63d27362353d5aa4ec8c41a97a8810240745957e31804f03e9d9c4ea7a1d24aff5fbbe51da32f02b0801984da606e29c97c1b43bf583971e68f7e1783379255e72eb5f23aea12b115de2d94f34d51c60be3cde784b245b340349a6546333a3595664b1f9c906309d5f6cb409fc0cf460c8e556b0f4fcbb593b70b8b390c628ad7bb72faab32d459ec6f201344a426110057005f07f77001d1d4691fd404cb006c15be4bdfaf4136182bb88f04f994a4309f0608f65e69dfa1d51a0c89f70df4bdbf929ef57bbf18248519b14ccda42833c73acbdb9eda2638b951d14564a089992748bac4143ddae25bd4600461e14ec152c35fb13b97a2dfb1aff56d7c189e52d2a083e4d3e71cdc907167f7be662b9dbcb9ddda8f7517d3dde8b80b4229b619659c10c76d8fca749a80f6a4c47afc79fde4741ac5e4bb657440c2e428ac3d21f43753c26fc455ebc5644c3298ec87ea01156a8f81cd965eab7d12833b16fffcd6a9e97891ec124821df8db7a5890375db6265e143216d55663ca4c2026539b095ac229d13bff7a57ef296b23a3d09566726188784bf922f40bc2de79539c31ab9e3f11840822b0203d98822e81f9f96f05f774596202813f12e4f9530cca87089ede4fbac69f6d8e556e0aa2ccf3c609c24905431c9b31f163d26a45b79eb1a14c88003129dc688cdf093096737276ee6bc505fde4945e71b589999fcef53a24b897b4e631bfa8ad70e0a00cc1ea8c6a83c734e94821e8b3165e8c9879d4fe2942c8f3127a9cd447a9a290f70823d859c42366bd756f8ccfe5e11a7160d225e3c12862b6d1cbaaf0feafab4eaef22e2031005c9148e2b22d6b153f9d8a4e35eabb603b6a4cf19006ce68779800108c6e7ae23ab7736eed55d89a14023bc49c6d58de774eb0cdcee8185dfae1fd20e0b61ea8070ad92d9b88e36f7e4c5446a8db8239b062b3860e5978183a2c45b2106a21f5924fff876964302447bc01d83c2ba00e9e5da318aa7a7dbb5069683dda660e938e7fab1503dbe983c00c1f35a83468e649ef1d8072f48dea73840a4fd4496c0d23be7389b084b7adbe1f9f17e21d9a01d4d2b697a2344c6c1bec5b50bd81b70a6277a7d1ff74d6620c13d91aee764cd73673c6c61b64122be2345bf48dfecc55d9149a69535ab6d007305a861666c05fa4bb1862b770719de9acc0552fd2c08e524a54108807829ecb3cbc040a0082e9638811ec0cc2827ef5fb13e21b3dc30afa635b9c93bbf2593ef0310510c6de76ac80bff8ef3c1c3540f79dacdfc3c50399b206021213b30e471d55e43acf184ba9efb165c85eee3400c74eb14a5bc647540303384aeba1fd7b019b0c4964ab4c8a38fe7173471964ca3366d15a5d89c89546741b224d274f7aa386f5994478ed7a6537953a1f9166556460e4e337b31021f03e6a20dbf201d89840657063a43ffa2eabdc726e4c797bf451b368affa40a20194ded25b09a3eb88121cc3a6f9b582290054c5107ecf359fcb4567b5e625db95a9f5911fd39da549ef7e1713601b2bf137254637e405aad2b05b25cd57c8204ce851b3d0b65e0a0d35fb6a3eb2e302cd9a414c4f6b37db05fee40bca8cf48dba5dd9dc2edc9342a6ab6ca7ebaacb6bafe4bcedaca2d283d1cfcc870b25e09269665e027e98f549606985c773d799c63c1d0ca1c6cf15af6e58e74d956d7136b94efa54d1fe5b74a98792d397e9ca4e57903a4f2d48a33ba110497581d3a120594234c8f3f32ba316c096915555c9d268e89b773a309aeac9a502eb27dbd2c03dc22876c313f3736944f3d2647639e24c76fc9c185415197ebb7e401178aa6494ee2ac5c42673eb58cd0ad58f4b31de1082d5fafa3763dfda601a3e38f137fbc42c53c7a472e1008ecb5ba6458eab047832ed6d04b4d4206418e956575e9b2371ce3139dfb0857eafcbf01c65bb3ae7d77e72ba88f36e8733e712bedb02baf2d51369cb5db53d779da5578d4499b7a80bc14d85183c43ccf8c5aed9f365502861fd55187eb7d0d68e5200b02e6bea17c612a8f6270dbd744d5219ee0583bcdfad7c76be4e1651631a8accaae34dc33fba928622641404f1d3e910819f97d4f9eeadf33c9d237db4c5136e131f08ac4b6e9fab5dd2c1a0eba18d0af822816f2fa61d50985850a2f4892652e8f4527605e04e392ae29f9acea0ac12e4e5142a202e58cea498b4b28d324510ff64a3c33ff6496c9c928a8e41271885368256af29a210402f628042bfaca643fab7b651a8b36613c3df6b71e3ec65e8dd4c08db0264a5a2134d7954977cf6a0a7db4a9fe2c87e843f5c8e8c3ce1a7ef9948aa4a266b53273a340670a55c8058f2f28e145de6463cd04edf8eb80146e8430dd2cd6fd711ea9c2dc74602893884a18455fde4555b756f68ba44de047141442c38d3e6aef78e816c9d373cebc4f2a0c9151b454727595d6153f0af61a8d37cfc6b5c397caf2820b9a0efe3055335a59fe6efa77925bddc7235360f6c9259ab80ee96695f25ab4e3b91b15dab299ed44e09570cea257be0b7d616130e942a3130a828286d53661a192b878b8fb936821f9e96c0f25eff3436e70392fe4cd018bccb0a1fff1e06cc2fed83ceda317af46898ba471b361bbbf49a980f386581527e4e072b6338e94a63db8bf077526a17107d69174b9ae15b33f7a77141da10b5c5a356eb39ff373edead21157406e2c58204d7e62b29b43522ee3b48c3d38d02ffc8853b2308d0b7ea5e55645e52649d3571ef54633c011651ae7d0272585e5fdb2cad62cdcb2b5eae1f5e18c45b39b7d8a4593b906116692c7e96a67d698bd4cdddf4818581026a3f688ff7b508ce9c068f67f3ca3f96be316e8e41dc5493af0f838bd503c8221a22d4b2c4fd76e52a94acbe956cb705d22190e5a642785b22ba4cdc872f35f2ad98a98b8cf52b9cb2b17d6cce8d662082f9de9be936555d885737c1a8ba1247a1fc2f2af1b266b6ba6e1bdae5449e94dc6570f9ea6bdf936f35fe8c8a129f24da624e88e60d334bc81a47ac65b8bd6081b709ed818f668ba67f90cde2649f0de2ed54dfac1f876a8745f93b0fa4b6dfce8d7adf1c11ddf9a43ac5885d3d4bf50215704d34bcd2448cd72d55ecc0974f374e6baf26a3286df9c48a95954efc9ee9f8703a67d5e3351a4fef724b99e8b547d984c09694e0c21e413fc8377340dce1458bdd1b54bb4d85ecd150ee3015023c9a540dfbd1f2c3fd309084d29d5e56ab1f06909f34645abf60af26f97b1b7ca07b6c3116baed32b1d588bd277390eb4e9ef0bd75ef75ec3a4b4867704cb57be79babdfc96360e012e96e515ef4056adb365749b6cffe73a932f42d4a9b6626d309f886c0429f903b4fb96c97b8367fba6a4c381eed8619f688e706f84fb8546ebec05f00e8eb792757a4dee57d82d53a61b336d7a1bd985a980d11ed076d8fcbaae923a2aa0951db9229a7d6de8fdce882910b9582746a8b70b39595fd3917ebb083565f8512df502a85a63b727650cbe10bc7f602cb786ef2b8d5f420f05c93fc7380cd99ec52985c1c5178b793d2ded6b3ce465862493ecc8db40fd0cce3375a0e4082f3eedc44351d11294b15cec980d3acae11edc3f837aaab9d47be456c7faf6e9316c9dc1fb94d7d14c6b5b442e30885b6801017f8b825a5c20ef8529d090023845ae4cdfa6312235b6ce356a9b57ca02d6a43fa98c2624b088bb72debd1ef2787a1df884a2353350b11cac55afa6b5b59c87d10cd41028f934fb2201a8492f9b4fe0d9ee2b6179ff71c693b40ed80cdf4e7758c827f744a2450d3aec9b4ef867d409df0843c59061f51a044d7cebc504a226a9f0e9c8faef50e702528b88c85f440fa07cca724ae5982a11a23ccece6b97b69f2cdc13e3c9e5aee0f4da525be788bb6814f1ad69e233d041ff4904a57d19445ab56cb2978d946170859e9c18bb6f48a7f621ea2f577b38ea3e0d06d9810ef6522e1087936baaf2968fecf4439705138f83dc6daf9bec2ba9ce9df1a9c4081da49d08a12190a8c40ebf8c0e42bfb7a8d73e8e039966b7668c4142dad0a0be54bf938d2b936495e466851c7fdfe466b0d8169d576dc20eea0326e4bf245c538c2a84789b6a7ec9227c33808131f7aed47661998c274b64793f20505165361aec3b41a63c842bd52bf701bade2f5f92ef446b23f737d926c97cff1fab2fe22c37570cf85993324d99f3d94fd9c71c8ffb461720feabe5159e0590790f5185c05a74187ed4a254158a7f39b3d6bdf0fe385647f787a0a6f3c9bc1164a73535b9184ce8f68549cdd551063b60a79d4207537b474f54d75842d39cc71325422ece7de79560f28847f182c1c3007b0b7b2d62bed415579b1bc918a9caf17f5939d352dac86d043074c7c41ae8e4bf6281707d9ff87923d60bb44cb140eb274f53a7fd6659aaa370a9a11b42d8acb8ec7ac5a6cad87f8a6b2cd58807b1c3c87f5fb6e4f7f8d0262d0dd233388fb3c6c889135f6e47d57fe8dd556b79d814fb156fc2a317170c75a36614fb8e8ccc3e2ca616893a8c8c2d1e2364a4abaf6a01928bfb97f9b774479d8a89cfab027d49cc2c60147da79a44f0e692f0accdffb542b45370ed922ab4b41fa60246c4d46c5b584c25252b9c4a7a0439feb8659a2fde15fcea21772fbb14613c663a0764c018b48063904db80c99df1ca2166f7a70ed7155beb17c1baf607d4cc271afe3dbe671f1d669661d9b3cbfe98d42f3d817b9eb67c435f6a546e533eef0691884603efa3f03f3f59472653b3d9a6aebce628fc03ae6616d04f5a65e4646bb235cd031f116602d6ae2a47995d81993f2c32e839c109ee0a96375291e155ba43d7dd19bca3ae2ad06024bb48a9e6075e97a4a2c85c24bf2d94af9ec3f8ef7fe11e9332aa6fe9a8cc472e11a6637e38cbe5eb4634be6de7f61bd8c144476a36b8671f77d8c6fc52eb719c7d948ea0c740a86786aa3623e28d5ab1a2c79ef904770154d641369ad734999b272f7cc1e9c7d2b9ef7cf8f1978974a151546c525613a4467846c5ce044b719dd8557f5026eecc1e33972ab8dc0f187df089352f9ca43b3da6641453b1f55895ad701d7c0ba9346b2048c0f159bc8dca1c80e6c0ea5039e7fec60a8403e2d596869c8876c8c47e3f15def9660e948e8ec408ca9a06c2842fecb8b66e493a7dd281d9d7d44d747d417cbb667d2dad95e63ab8cab9ea61ffa0297b9f824cf9f91a66efba5917a8d0fdbd693f7ed7c466c28eb26d2f3db3a6d9526c0cc8ed852261357e2e279586dbd8b8851dbbb4dd1bb213ad4f345fec2b7a979892e5ab4450d856a7f10e3befbbe4c852f59ac92f434fdf69c76ad820e750f0eda491ee04f1b3c4307d7c75943610d26409d8c9bcf10c62120785f1303624255b3519ce6c8a0d4afa4565e2ec8925da1b9c3e64020c1c57113c4f5c2f7c2956555d54b734bc81970c27ba89ce72ab1b67ec90fc7a1ada0efdf89ff5f2d2175ad8f8a943406daa0a106ae5fa81283ddfe27dad6cc700d47432ec3ad1456792e6a03655bbddf920e65bfe8b764e648a6fdab952c09a100b828241893ff6bca9b458431e8f5525da1185023fb806a6c61423198c9346c50b78ebcc7e3d34aab7bb5131b5ff53c798682f0be4b1bbd6b68c35599ab65edefbd58ffc07426c4aef0bbded37141a1e710494c088321269d0e6841815d7658f4d68fcdcb18b6024f978916e00d56824307e16ad8512de96139fe38ed6271501436e0beb932a57faaf0569d8cea3527f2a11bbaddfa63503c34d78a2b5848aa68ff599fa9d8a0ff70345dcc6b81b337d90d25057e1a4d7b6be4c31c188be29c9c999240a5934bfb397de32e8276750f0f9efb7b84a026a15e6c108758d7d82ed41550aae766df85b761ace6cd5bb8c5dc47861fe99f3be704bf002b9b5d04043aff48289b9bdc195c06418b2651eed678849e1cb1100151132cdbab584f3d7b2516d1a6250f1f8a8061d589f7f33e8c975398f8c6ce945177c1cf135fb7df38e75dba93bbe0ad8533200023931319ccbfff434107fefc704a2c83d89784d927de6364c2d51364fa5391f2093bcd7bce429cf55a7b45872e23bdfad6b8b8201ea3a52a4c908f8a4678e15324cf9bbd277b3d82ae30661d9ef729e8080eb8b95297d14cda9af5d7038d302b30568d9756abd4bc4e7fa3d26a0157f7932ba89d4edd5c8158aebd336e9334e4bf1b3431c9df89cc64901d4131dc2af7364a6642d404f73e5bb12136503168da9190fcbba675be11ff4ab229cedc34e587fd6938753aa94737a487bb47790825e5e9c3fcf16e7866968bc7e603f599b7791cf2550faf895dacb7810c1466fcb2d71e106e80cc68c98f0ec6c6ffbf34977c39271914a67ade0dd87a82daef55f10bb777587c2a61cb0032310d4f8c9856a2fb2bee72fc9e7407c3506d3d2141459c912bec709c0efb8fb6eea191ae7f27c3532bb2ada0b06c470ce50d4939a299e9cc456543022a6a9f0e2f4ab774326961af0b2ac2dde9ddc1aed22592a6edc1de89904e88b23aca28d6a8131bfefb55526401c46ab4a3d5cb01810f6001de92b8af31f5e2e576fa8cf49dac67cd49ff99ac9ebb1fbcd1830326886d3d210e21047da49051010e8f6ab3c9f50166b85c6d48980b99a2951c55881d577422b05e921acf497011d166821ddfa24bd1106e50d0186d77441c24f2ab19927acb800b83c004aeff7fa0c85163585082ce080cd45d7283d787d5c9fa152bee8c5efbf37373ed39b8835bb7cf5073f9f6d9bd37125fa6a70c1a501e5336fd0ff8fda7990aa7b85962036fe09c60fb88243103cb363cc6c622ce36b5708823291c50085668ff316a63b1ba3b961e045d57d04d4592c94105ba977198c8e8406a94258745f1a5adba272320d79b095bd1d7e3493e745736c529597f30f0ea3a7e157d06d8fe8d45eaee6490a78a3fae8eb68fa535c06ecef311bd7c53001dd123898ed53352effe50d442f3d63884e87effeaf13a3dce60cd7de77307429df8f9dee52088639e1a82e1b930c3dbabf1f540032fb866404aa694fd7f6da6668e573505f80f25d1ff0ee82c4d96aa225bdbb1a7107a600866372e5f70d0bd56b9ca7fbf62e9de9b4a2240cad8620eacdfb3104723cdd9f8fc9c3f43eb0cb51dd7c6ca99a0d5d18947f3c08f4836a7bdfdb09e81b64498074372941c16094a1a84e92c43e5cf179b4996e0789bc151dd247c293d099c48e71ff4e5693990055c887befcd055b401faacaedc65b75df0f0b27d6ee00cd1b270ab1496030a502b7832380be7e090ef1dadaab0eb7840212a27eb957a704c647333a2f8a86477bb008fc7e338d039213caebd400faf15055cc3fcf1930da36de04985e3573e1fc64ac60e38872957f80fa85484aab336b2fc0b6de4bddc8f6031cc3ce052b4f066994143f98699d4457a0ac30d726bdfd351b528109f2597a652356c8583eba5ca81344358cb40d2051134add97acd9c1faa952e2f1cb5b48bebaf8fe52ccf60295435572b14087212110b7d05574b1b4b150febbb3a3a7da386ca207e7d8701d9dfca6da45cb41d559422217321763f9e58e29d3a22872ed0a5042932b815c12de39a86d75927b8d71dd81913a6189701c107684c175d4092e55b9582ed5dad162a5688ef1dfe6629747b8fa47c0aebaca8a9b5708d92ab1352e451aa31e54829396a669581e4b3613658e2953ee133bea2f0ef44dd3a693e6c0a1fe0a9d4a543bd576fa7478d8b678768345d05a159dc8ad3dbc7dab5c33fd6654867ed49fdcf90f13df6857e04999a4a19911107e04d5ea90617404e4d29481e4183ee5bd96f0b78b5181b4dacbe14b75bdbb83490440329fed84be62205cf4bbd1c3845f209294063adddf0843bbfef2ea21088ea1b59a1cb6235c7148b6ef8458e3d4e60b19870f5f7e3ef4b0fbd940cf3b6c80f9ead89cbfa0e90dda576824c03a9b265ef960be49b8ff0ab739187264271f6b44482a885c99a91fd4aba574fdbeaee5e6b5490437ba34baf925c76cffccd8e61dda180f936913dcdce61d1f14b1d35718aea7b2310f4b8c324ff42e709f18b63fb8a2b7d4fe27658e9814d2fea03732ec4a44276613c52b65b214df8f01eba90a30a96019e3e1483c5c5e01b7a98ed19369ecd113f13f97e32ee614ec36994351cad0fd41017daa285aecf7cede94cf5377a685aaaeaac91e6c7b967cba9147cb276c633b7d8538896f397ea343f2d0c8ec0694ba99815d98ff67e22a8c23762f09d9cadbdf9e44be7c9ae0c5d1ce74f581d29a29c560e9292e340996f145c1c906246e7b133996d72e213b525eba1c9859bda26ec31b5d1ea9b58b0b6d07a276904c5dacb4ff0893003efc26357912c7bc1e65c3cf7ab40f2565dd7f6cc56e36466250ad743d5f1b892f95ebcb9d5b83d5e2aa164d16a23224e0fe00c064969484c8b791e1697381a969d978af96ebcc2c7337519fb4adab706a14faf45bc3406a23399cd41fd7958a263ad582ae0ab08a38005cd58ccc03fc8dc6a27cb5c27eb60b1274f56e777f1ddd8ffadd6565e9b31a75a18508d61c6da9839f54c4f1e5f3f4c957262221cd119670ef994a3488c23ceb235cc2769ec9ca3681b4fd5a98bdd293f3c074112327f4c33b0f39aa86e855f6337e23b0a0b2c3fc803c150cb2a666ff967145494c96b4df981db19ef8c19a8ecb81104da3967398599e258e9887d9cb78d21d14ce716d1dc2efae41e4ae8afa5ef87e4a9e96eb2aea5d14d4c04da354d8de87f9ed92ed0414fd09fd1158675aa06d732e799b8f3350e31b8cc0f479d19204e3fb3a94dca985bdcfc856d0cf07e164701afdb4de174cb29ba2621a8d88c7ea65ff84beb2d6a24f7b2d2da810d5fde30394438c825a704d0ab30e3640894697459c849a25089e4ee4109efb2d7ddb94b8107dec1482193e8b263b2f9df187eafdf954040226725024c2e6353ed7271c3077167bf1c2af28f33602b8ffeb9be9af409c05ef911e9ec1a4021ee0545cedb34f1e09892aba28703935f00883325c2a6d0849865a958c9d98fe14a0375ac3ab09e31ef656e29f7cdeb31f4e986b59b2195685669e35ba4ef57f63904b6ebd7e139497278b3047e170515db5d781cc3383c7d58eddb0aa476aa71e6f4a4b08a489adc9c0bba8f3e4429887eaba71ca6ae0301f29e980c230e88de8df46d9e96e5a452b5c4931ea6a1bb528f5dbb05e2b9f6b3e6ba7648dc374ce23dd5041da4a0abd146d7d505220a484a17885246f1aaa6912b3417c34bf8045fe39f42840e5aa97df9a6d862246678d9ae11d89f79046d2002364cf337c0b4be17736b7700e3cc97865d06d335d283739a39cfc7921f6c3ea38a24cda952728f9646dc580cdd9b9ad881e15752f1727ad1a7db38b97f81e8314dc3cfe97cfcf7c3d0317a3ea219315df584bc54a0086ed277e7304379c573ebce838da6789a2e0aab80b837c47f53fe5a6137b2768163cf92743101cc2f63bdc5092f83d430ec7fa136fd3d7513adc85c4976be3a01b700c35202f81b806677d6dad3a7aee5af47436e8b32f40326291d2e234ef075cead5f0dae616bc7470a44f2f1231bbc4821cb3e88ff997c942787d8bdc060aa692d1e185bbd29523a33c68d9b4f59539e1be27e0b074f743a9ca5b1ee863fcab4d26ca55e01a164925f0882f26232b1825a0dbbb6f5bf2f782a5b171e120a55f37170ca1ac6bdbe3042b7da3bb5a857bf1723ad222361b165f85c931d04d655e9f79e79f3fb419ceefc5a671ace9f8d5eaf8d759fc815a8eecb414a67c9bb203a123455782f88a59940b8229524d0418a0a4c352a2d41fad9f83e1e2fdb59b2e9bf54ce5e3b36c3b9f6c8666c890ce7f11a015e4b7f1bc2d9d7ea4f4b7cdd0b7ba8d3371b64d7b4cd6bb103b2b2b82535b926f77664887bb02e32f8ec4dcde8598dd9272cf0915a448e7df6b90f1a58a75095fa2bb2d493923aeb5a849acddc756c39fe7c548704bde16ddbdede0d3328bdd2648443e5434d690877c564d5fbc8c4a496c7df58ee2d9e0e1c8f5be363daa9c014f02736fc2d146ed7f74943c7e67c6f2785b52c598e020a1d73de2d7d2ccec1b4ff438b8c6bfd17d041fa6017c58b5b30e2da755de8f995f9d741fea313e8deefdfacaaebd1300dbd124e8b8f5f89b8a2ed04e4b680b7e41423a91660133ea91c4c2d47af645a155bdbfa14e27bd26bf372d353de0902e1cbcc9c5041a4d912231ef8730edddf9392ddb740ed650e9a734408560959d52994bc33f1c318472321f584d584baa386fa811c461219c685fa9906bb02068ec402871ad6c94e7b5907471733a17913c193b36860f71326a1044372071812b63ce3edfdc3c31b2d0d12bce6a2e061f959fa770a79eb54b4481cdc639a087847d15c848652f6455f4d05a35f775d263fbaf4833048dbf33a29d7757bd0dc07ebfaf1fc8e741ae96f89cf36f6863384a808dcdcf6638d14160a0d4cfc7239d8284df7e25c4856a5e03717c682d4818eed786fa9c00eaa176cd101a566043b1710775f2afab9f345d0aae5d4dd44bfd389c746d6f34d73598dd9a2ad9f480568a4604a0c1d5e06431c1285bdc733b3023ef571b729bc9548d67bb9b19fb8f6268080fffe9e444271b9eba07b5c339ac71fc71f14bdc3c220a8a2558236ec757152eb0ac4546d1251e781f8970d552a6f7cb6d8a91cdeaa84bb0a1cf4eda1dd429a77ca9dab7c850430f2eb65e56de99918286ca221874a7931f781294d8d1914a4b75278f44d72986c6a17b1b0c662c2984465f10b7bcf5b5c85f786fbdc6acd37a40a85ce11a1b3a32e28bcf7a3775fb435c5f8e08bf0def7b31174fb1e0940ef17269c12fe52767c8a294f5cf6c4bb375bd04956fb580c4ba15c8732e7dc8be1ecd6fc7c085dcce878da3f8c39ab345f6f3fe5d7acd4ad31adc1bcb6a85975157cf82ba59156185aba4f23c6ad37ec30f4f9a998b920624427b114c044eea93f0039b324f9d6942b2f950073a15499babacac7509b76bb832d5e81ff4d46169c8302f1baff269238c6fd9d89eddaf66d02bd0789b01da46b63f183ea8f16fc9d4f33f50ac1c236c8e7e4dd647cddee2815d2a8df492943c2ff4dc4537ca7974786b20b3ebf4c73469884e7322a47e88c6513712cc5263d165f96c58fc6943446b8627a7103af168bfda992dddf1db7e1eed1796b955e5b907fb416fc77a3a45ec2215dbb23c3bc723da7fcd73463b7f2b4cfe1ad1a6b627231e1af8392e1d1d690ce04404ed0512683ea283ad066eac5e27094a2f63725f86c11336aeefbbaba6e54ca5a3d0fd5f41cdae333a67b15b07ff6091fbb1601c4ca549ba1ed822f2f3e239f4333beef98f50c78ffeb2fd43984d50414328ec70362200e55f1a8cf46626538f9c6aaa197689c4bd9f733b7d7097dc8ed352e1e5039ba612267d3a72530b436ea34a0333f481498b01ea656376a4304dddbe4b0b27381e6d7d8eb854a07ff187701bb5fa88e08f1cd4810cc5dd49e9d8be81e5e0f373d9aeae7eaf8d1dba69dc9a4133768818d4915a3ede579b2deae0d9823c238eb77bd156e651fee804a5e9039d2ec1206baaf64735d6978dcb723cb7ca661ef8b6af01b14d4c6013468d87d1c63bf52c5dc003a85c565ee9f08e9250b50e4e640e05db1a6e3abdd4930ce9984b2266915095f7d299acf091f787a06b97615cbc2754f83d62e07b474e7a8b6d996387487a2e30b109cf30efaef6775384a617a8215a954bd96fc428677fa89423a671b98ca856e8c543830b3ba2f9f59f2ac1b3d90da11a1cf5b9a99bf306ddcffe0a60eb2a5857ef7c6d5d9ce9a5a90e8ca8bb4747d425e8f69f199591b04d9a60afac5b8ca88f61ac1c0fe0c34e8658ff9dbaa3843eb3f86a3f927ac9096644b3f964555b6952d3c90def1aaa83df5463e7fe24873d0df0cca347730b252efabd2867e2d777dc570ee419d45155e8f86833bcd1c97ddf680e8f2d9ce1671e30242f5fc092c154cc2cb0a976832ec61b4b1285b1108d3545eb0bdbd01a7068246c71d8d86c4573a2e07390f26f471f7e87aa2d8e8c3ea9b9c5ae22b6ef842ac3d564e5a4af730d8ca81cef5058a5132ec8632f63baa70b2f2c73cf18ff747b94a573cf84d7650e0ead8b87be07ecbeca67c96f1869a73a8db28a1fb407cbd71b9bf741492b39198fb304e73ba668aec5a5cbcd7cd7502f5f8b8bc06740d1401dbace5b90e877bf5d258af057e06ef402542beb5494fb1ad99370594db9d822278e04f52a7f388348720731aebbbc091e7395e31f8ca12cef24ea4c09cf91ef35c2c1a4b8305b856d5cf0c1887979684c7c44369a4eb44ef9c4e144c1c93f73f9eb20ed2690a15f1e97e5a8abc4ac4bf723e56ee46418d0c1a4e0c258089afcd82f2f2510a918c802556deadbf46d2395a70793aee1703d92b5d9070f6bbff47423acfcaa92577e173cb3a7fa6cf5eee4be789c0e4559052ee00c9e689cd21231dc012874d164c509d3b77d28b5610a953838d28afecba7aaac18826b766f6b8a99789e5db1424d156e3ab098613683d91b220b427587160f4e15297c3a63a3c8312a492022c79d688543857144048a721a6a994c626196757be398fd66b3238422d61524809036359d2476c7456a25f048382496f831bad546dbc259afd25d36ca524a44b7190b49e26da0ed2535e9b752beb46f44e690f824cd146be92b4472a01f12211b4f851bd3701da2de8ee191042017f7fb87f511007bfc20db095a5a3c3ea8e6c862106c2e418fddfbdcbd9fb7c2c0af08a381061d684724f096767f09d8374ceeb6f26e83c164f4f89c8ea99bc52e33cda3fd06c581353f6f21bd5a1085209bac26ce699fdb1d845e8ec6a7c24c41e3ff103819d4e11a59193daea3455b16a4a1a667fdac528ec9050d82dd08fb4ba941d4cbb30d7cc84f5e35099798a1141b6e4c547c714a17969a1a7179133daa9aede984c6a74c3ff80698e206380d48a9907ffcb6a5058fd8f9f07c8fa435c9463f39db97ffba3c862d34fcfbfe1417d6fcac0b2ece702984cdb5e93f043385c0115da44660e8dfc4aed72212ef206a2fb04bab863d7613ab2f46d8e93890f4bcb7f789b8be13465d239359e9b40e4ba6a88a01f854249f2c12f783e68e6e33014bc21e7529d5238b44ab722108315f652dd2a942f1ba65deae96345ad94b4f453a5c1333cf6f18bc7d5586a19836111f0e1950eccf0112c685987912db8019b9ce7de4c0e178f9de1ab7c0a0b331fbce4d5c78837717480350ea8525b14bd9fb4fad4b64e96f25a38d89bffbc18ee965756f33a33061cf78713f054cb53c00305096a9c26525f560de55ab9cdc41530b803f40fde4dce757d1be09c41fe82a9b019cc01ec6bc6d45f16bcd91f172bd42f0e8d4579bf1561299c215fc87caac80af7ca160dd0949e4efe343748198421372aad1e9d1bf7eb1fe84c7b39525d9f08324145df47fd835f74e24de5f3fe94ab6e34d98722031adfc68735cc36966115919e98ffdf691f25cfd6f8570e33cc3b304c33710d30b98d1ebe7d43798ed41a37348ff918f8f4579df311a608efceb470065e385d360b01e46b841d1ca7ca736308bc596a647d01f7c1a225d1804b1c67b2893a68e00acd8b21908b4361aa5c788fce4fa9c0d0946e09df4545d2c22efcca43c69a392483466120924cd16782137bc09be272627b49b90912bfc01f590f539a5319421cc1376ff79cc1f90ae432b2d486e7e78a9f7354d1a21a0786eb6f715c068d52d98b525a3f7682a9a95333847d781aa23f2c250965bf76024ed85b997cd962dbf4c11141c5990a0321ac082435f395f8180d335a96560c752cb4634ea1018fc53c4af49fc53a4ecc0cdc379814dc5ea9764787aa618e1ec814c285d309498d3618097f3f42593e830450741412f3115532170bc6e2e5a1962036fb9e26a2c6e70904204c7ad93d4963248604dac70422dd27c4baec8f8864fec99d0a434045bf8260671c4f6893eb333d972d908d2956cbbba21310f89a5e044220fced65c409fb64a702c20fc0c11d1ac45c80bdf6512aaba4febc8d37acd4be744092b2ffd2871a17df544b511d9f0a9c052c0c99051f547b81b42f52f18dc9e25d59f752fc01271efc44c18ad1b53d06f700e7b111bb0500de711fb971ef4714cf6953a76a1c9d6802d8dcd14f3c2af53f165f15d096a3eb6642764dd8116d6ebda4db43282e223236b7eee9fdaf60663d2477c625db408f1324cda83af268eedd35f5310f74e27727208fd1217fc1e22bfe9d8443e06ead310b59b6a726a5eb3a73d0a60d305f7eadc3533649f1ecd22ffac22323e57ecdd71b700b3ef9d27597cca71a97faa6e029338d8046a581f4adb2fda597bbb4c7f7bdc35b150631701afc2cba823e30c321f1127832c239fb1f3fe7addd2f8308e1ce35f69591728aefe8f69fad0b053a066dd112cc310e46dc834a5cdc4cbd8e967400585c9e9e93180379027fca419549efb27bb629c377be2a16b75c8bb9c715c3f14923c947e6fc13c93571771d2c37ffbac50606bb9538fd4bebe0cd4c386372ffa703a7537b09ab039459295df9678cc14424be853141b439a46cfc26a7c9f8468b42d562a73f216439eaa66cead9642b36fd69a58c7a187acd29dee7669bd903421360dab56a278d0902f267cd468a4662865f8c5b2f0aba1dbab8dd9664db04fbaea6ba57f2823d9286898a21946ba6f98f30ef82309607d86f95817bb3954f6268effedbaba989f419a1cdba1934d1b1382e962a6c8b6eac2ea230f8100524913ec955d5eac9c223d9c4d549f5f87e2230d8e7fee7587da8c95573c5b6bdd1511ea988fec53079c784dd3a68004c7e49cbe4023a3d5214a22b35f220caebaa30564a9c5c218fcf3543c9913b276eabbd9df2f03ca542b93a027977e25a4cdab3baa6c1a4bc00bd45f47fff91a344d45f06ef0515fd16bad7fd5daf6199b2e89c42c00762e87ebf6e3dad14a1364168edb2e8185971b4358a2a39a0c5b68f97953076d091ade1c3a3d517666814f40803c4dcff5532cf9d61167cd090196547325cb96ec5b9b053d7a95504de6835bb1e8bd429c111b10a5c4b626741281893b94e833bbda781ea8c240f8e77d34622d374301299351a8c696a84637f9ae5a35939f9809d9156d0d30f716e193b38fde4ec8da4cb29610af7a8133a7f6f0a55dfdf240acacd97d75ffb00e9f33a70990f60333cd19c2c61fca9376f97f2c6bba430fc37f0eed358c06a64c58ece2bb8ee98077d76258256c756cc21ebdef9990ec202e5797c1e88ecb59787408a947e0f010a94d0c4be70f912e57ceae440644f509fdbb4c043dea61e2761b8baf644b0b0d39dfea142492c9bfa5dc7c467ec87245901887315ec72b86397890e41dca256d9cb0d28f07955935298955cf0dc65ee0943a699b67bd5003cacc831cfa6ca775259f55c4849f4474371fa7e98f6ecac04400f9415ff85b242a788aaa7ac7666d230c6444385921490fa341ed9ec9a4d968b5bb43b7dc423235dbc44e6116dcedaa58b681908bf4cdd30631e644e90590ba6f35d7db37e1e7bb5936d21accd1cb2b7720ed376783085f5c89cace4016d2c4d5b6d34229b4b46990ed2b48049683c29a03142d896561bcc754d34b501737989a09e21d514433bee8ca7b1e4183014967aed8924dc734f4f791d5e0fe6634d37fb105a989f3f06496188a31cd337fff96c330ded7fc2a17e72e238c2c5dff1239770036726ed89e77d18fcdd4a0716d61d93ff401db012aa9297ce2b3b0df55314dc4da9970b89f84d3fe16ac80634cfa5699febd58245a6893afe9d90344f05130e11bb3bebae248c8f46b70b30fb86b56e8218494ea3a51552b0b6f7fecc63fdd3be497125a73d4e41b09a70de80f49bcd23c4185daa0742b4c4e41c8c93fdf1e0bf85c591ddc82d7957410fbde54bcc85822dc7b8006ec988feee91fd5a9fa0212f8758352f2b3b397228a66ce1f02e539e34767ab8b47b0b6e2f0bd453d5b956c2157055324d54a56be66591153359fc46d7435bd48f6083333934e116d99838cd8a25cd0fa2f40185c69402d43a151c78d36332ee62a5b15aa26907e71183ca9692def20cc641379ae08f5976b1fabbd98ba5abec9dab04b5f64e09f1abf3053e8649d5f364fd8dd2461195077622b62a6e57b803e38812a62e90f5c355b6679c06aeafab2e0ab1cb3c20394e03d1363e7a663eebecd0bd1e0c6dcd649e422b1edc6a2aaaae6475853fb284b77b443d7b299f04e172132adde6a67d9a3ee2edd2bcc544f53e9031564f1effe165f3cf6db18b03bcc087dd771a863a43db286cd0796aa6cdb681352c3bdb8fa7d50b7e89ab6d692b7554bca15394c98712c291a43ad1442bbbad00f247b5610d083943f5ad8f9a122323dae808a492533ac01c425b9b4fa9778917f8d77fde6df8f04a84287cc4b8754cf7ff2b9b1cc201370d96d095c688fd417ee8c4597398cec255a89d7a740a7e8d8ca2ff70e88f952673f64b7b9c91adc3791fc3894b4564ee9861c4951cd46f6fbe8ddefab74c35da5a849de03fefa3f5e0fc740ea01ba85f78b9e09c854369493386fc1581cc20ae925c79af48c4081c7c587170cd3b2e7aecda8b3d48ad41483c28883e81576fc2aaaa7a6ce180b549a1608267b749ad930b2a0dcaaca531ec9e6910147044c2e84b693e9da799e71c55df04d576b23b1ebbe560a73c79164f9eb02e226eda3af70022c281267d5ebb2ae826cd02cfff35f92fa2dae121005fc38c8ab61da0d3e259e299d81454d375d5e7355148155b8d5e54755b9047eff7398994f8817f0223fe7f6945c98cb198c7c098bb4887eb9b060b9da6d0bc62701d3d5cbe25578855b013687be748a7251668aebf42d96cf1b2bca04fad9b282a025d688a8b1f1fc64fbb49c78b68308f8cfc875f334f10d4499139cb5761ebfc95391ade62dac9818acae67f6c51b119013a3883878230c174f303c48ceac237094f65fbd115dfccdbc17130dbe9bfdbb7aba02ff56e02cc933dc2c392884f2facb420f280fbf246b18f9f9a25e291405075dd4579afb73b7c307790931503246c532bd5d0b053727b5c28f39665bbb802140ef46e759dd4f1d4a37a00ab8df66129b3e6657f0033b7b9a1bdd06340820b809fce61702e96132153d29c5717bdc04af8af0e33d749372d9d60ca138e2e9ab71b3d7a0abd71524520e0fc3a8abf777c9a5598cb9cafd22609c4bcb21641c9b9920d3962e1dda980ee9948ce272e31047dc2800b9028cef498ac76ab5958ffe5e0ae115b7c3b2f035d5c46524160df00b99610d5b23cab82134ed2c7dd778a1ed766e7bfeb8fa84b19c9e99107c60da54760a128ae9a72782c4c092a2b3437aa372e29c0d8d0ca85f008d90beb10c3a91b8fcd9493db4d0535253ff449e29a0d2488f66097ebf8499b4e87507faa8bfd7bb4aebe9134e96d7b832fbf82dd68ae50d52598dce82201f19c68ad02c9f8b546dcfc1457378d084e5ee7cea7a1dbed0c540b2a6912a300eea349b4c6b129e215f1fa9cd7f8715bd6a3a81bc5bff432a5dc2e9d549698a7ae913719cd491901fe26def0ca14171576be24084544d522b883e44bc3834c23a50a7eb14ffa2c20190349e42e9ad7db387ad38fc0eadb094263b320143924ea54bec91f8c667d928b8366fdb78273b82be4b2e4ff885a3907a14668bce7ad924b88f40d553a998451b63336580aa692c9554050705765e991454cbf4723faa622d66d4335915c0e3b22ad7f93fdad6deb824aa88d458e2fbfe59f8c3230739dc21655e37df86e5028a70e7b39503ae906e4e561239e3fc1c32b1d23e016b454bf708a76bb27ce96141ccc5a20418f5448f333beb9cc9e95c1c2d6d95636e7f9446a6a2273bd585724de539626e33b43608988b499fd6ede1a3511dc972b9e74d424a7b4ff3cd40a86a4ecfbe9ab73e5ca0c3bc6de100ee5eb3c003579ba6c9ad53595e3bcbd3b20c3d266a6a2584acc38b0d2f7eabd353c159bfe525c52a3f0a423b5646bb95604d3804df1e616f98372ada6a6263fae29382fb477c3b3e9880ead597efc5e7c082343c90c45f2886894354aedff1eeb0fae51ad3ee6b7cbe14c11dc1aefa1b30eca2c08413be68169010f75f33c8a080179d44ca2bad5af4b4f60ddb30b2e356e77a40236a2ff330aafd9340bfa4b69652d760fa02f59eee2001416b4f3044edc2e4d75a27486f1d1ee8b462af1aaade24b2717c04e357d4288704f515166114c7264d209027a222aef75b4e02272627e0b6727d03439c8f4c15c52e4024ab98a31c72679f6be1183fd45c5f4ab81d78025b445f0b2146a9f6459f2f6d05f60f9dc3d6ccb3040b44251a635f175787c80b147781092046ae1e3086f6066ee84d179a4582074dc332ab160788185ba8f675406769f1af9fb20c4f4db2680fd263d343d5c378c9ab83bb6a1a1b10961bbcd2ea81a0d05dc4da19ca5ead249c1981a864bdca9f1fcdcb1af2c71f04303ffddc7ca0615ceeec560501fd7e370db7893c5c070ed9acd429005f206be39c986a8adf6f16a9cc621cde89687b5f56c3662b56ccb76a93e633f11d8147e825b94e50a0e220cd789ce0939a01972cf3dd1119cc0a92f203a53225e97533c626f4fa192dd3bc06e83231d204822bb0ff9ceeb6d3cdd26cf7b3325682b138e975b7a85ac997efbf1cd4d231a64799835833fa00950cc0867b49a7a056d38e64328a493faa24503d81c0e85610b9be656594b371448545d71d58e74317e0165ba512a00101d5930552401886364f18112af7558fd0bc8309ed91dd57583982e879d55f5db8f304a3e348ac06e2b7a5b2ca137ca2c36e93641583ec66a8de3de3e2c5ead4564483acf9f9c4b27f931ccf8b9a41a464075730477ef52f067d46f5f0b76906ccb75246fcfbcc007f9bf55bae37624998c9c0d3ba1f00c4c180afe5f067ff1e70f971728de627e59138a9a4fed3581d3571d3b8f450fdffa4f55191beedf1c31d99f95d8eb9595d1b47980cef6225a2108ebfaf026f065c841d287deda3b5da2332ad2c6d7f6872ce9e291339e9ed869205f788e84f30d59299cdad7a71bfc8e6d099ac71ad82d88efc91633b952ad9e0e82029f80d40c3a0480446f2374abb0a4907723dd89d6da44620aec5ab2e25c5072ec017e0651ceea6bc63c00ce8e2782fa65e1cc256fa9bc5470fe2505cf65296d06e9842963661b520c0bc2e74e44c4a4af2fda566cc6fb87d3f50f1857443cc1471c4acdcc46222c269824bd32ae48470a81ca61b4863a78734dc10407354cb9d5b0e5ccfb5a75d9ee03d9e6027c36fa1c08fb676b1e9c2be5fab0ca1482546de9837a54e56b2858205fa57a9b31f15098f21edc89932e5576b203b416838f8a1916a649c2d88818e81120a9c58a0201d5f8570cec34fa2bd7a4b16996b38c6b995621ec51462843987bc93e801ca103fcc7f4a031dc2f31205f29d03a423ee4820096c9546da42430b7fd3729cc619f4d575a137b701e79804a53139ddf134e42135ecde142b11260e976228c75b22884513a8b937029023d7bf003acd87e41c033e8825e723f95fc6a17036426f494ad34d9e373abc242d6936d010cab31f87fedcd175532122ed6120591c62a5d5168c3dba7c3d1d89db222cccbcfaf4b333a307a978f3b3195f0d6187b288012bcaf9e78e9b02f83f112ecf4793bfb730e253244886242b40063124f99782c99e18051e7fa97b3b85bcac3b36ee78559e9bd0f613706573fd0f974e52ae41271abded63f6cbc5ad9fb1bad4a9257505226afbd3714e4ac6a75fb24c912e2c48c5724123ec056c8df8d91670ac16233e08db6c0b1a50c43e689055d56fa8818bf9587a99f07651db0d870c942dfbebfa6145e5e35545355129b1cc0fba5430bd881e7938612a43431a864634ad267eed33639bd52389cf14d0e17edb21ac90e7c0030caaee39b844640971534021e7995154790e9755a89876409d4239c0b36b1655d510886637fd7397ba3beac5049dc3b743bd4995816ba5a620ffc88664c7bb8c57ec3fc7a6ca33943a90beeba0117a75025d26865fa57d42ad88fb018c14d9d797c34ea25000f18af46a0745b5cf6e3994fcd4625d0cbfda1a814d99a885b37667ccc37043366be339490e6480903de3752e925ad5e2781fce8dfcba530526d61b47255402a0a83f7e5e4f16f5b4665682ec34b9a6fa11fb14e443766b1157da35c992280d06e5714229cd1d714bd3eeb8562e36692a5c59f4d7f2e7cc77d05abb945b8898f605cb9e01b6c9bb435c9315e62093f14de94fd8c9c6460f0446f0d420875f48acf523abd0f3a75109bf5dffddc7700d92b5924ddf8b119a237755bf21c561206d2d1c49c56ee44c923a65e0b41d6e6ad22bc9bcff5f9b8a045cf0235af7909884686ffbabcbddb772df86e835dc0b111054a34fc9a7a8b599aa666f1a3a75d900deb940df2fa735c5b4bf78457d1b09288aa1ecdb4f53123d0117bc6b1ff56aa686547cac704b7c03f8c38a941082f1f3053f69fa316646bf971623143d3b65bdeeddc4259eedc97ec1e48941de82df0d8422c87aa494429d600e7bb8252dd591bf1d9106caa49fcd531d78281932011a86cfbcca8165f2f7d5b82ee3285410b2507958fa3194dee7cef9743906bee85c0d6e980b7941ef13527040efff07c41e812bf920d6f3aeeb062b0914a020543f854b995aa821870a9ba7229c4fcc39999dece7198a0321f049334830101fdb635ad192abc5ddb4cdc7d0f6d11f39b65c2257207dda5a2a598490544961762776d17dd17a7ca99d4893b13d1de6ff515ee9ff3a6f75041382bc3cf841b7f975368dcde2a99c029040fb7b76dda6428b296fc82023b2e9628eb73e7ef937bf9bd34f664c3229f8b28ec6eafaba65895715cc007c1ee1c8f566b1effa4a898441e9e5ffbafffe19e4e2fc721d9aee2f64fddd89c57ab477a52ff65fac4fb57e140eae781c44fe1f5b2f74957d7b83601860313a47262028e38e671c739b249dec91b4f4c73ee9f32f14d965d82c91dd4fc76133a76c86766f48be329896f37d070ef26d51662b0ace45f6206555f8eb24f38f37b5941fb59ad8253006ea27c8fca38e409879b076fe76aba69b1765bf14c88cd9cf3301586f7ab497b61d37f3ef3546c63a97930c49b6b673041bc467144ecef039b3e4c5582ff6314737fd3657f4d7794863e5a13a937ae964fa1284c1675a66af2d8b2a2950a75e46a1af29014567a84061a721c35de378779f3bdf4f5fe38ae5be583025647aa2a0ee00f6d547a1a11746f06dc5053098e0dc8262e256f5ecf62e29ddffe1de3274d815ff29e362ba785abae65249f3bb354b3c5b21c906084c19c2ae28c8eae8c55696c4a00e481fa584b7fc40c0500fa55f082671891437f0f2e79fce09696d5eeb3e914f639c5ad06f1966fd9d041950f7a57ac90b5d2fcf6b6ae20b2faf9855453164ef6fc0c2723b0f75d43b8770c6ec057700852ab0e8eeb4cb5d0903f6c43b61294840b00452fa8acf26fe76e3a0a3503888b53f5845d48c39d8d5a5753db494ebb53b88e81116717df3cf32a553c8a5cd092ae0797cf9feba6fdb86de2c29931a0a5519e95b41b7de792db4ed5c70f017acce008769e6b4f7ebb871460df448154a561b8cce739d017e8e04b27378e1c69c77dd5077b454d464671d756f12eeaababa995a1e9032864a6e4efb6801627b382f1f2747a69e8158aad38dc8c55c066f7e501c6a01b2eeb953aa77bb995526eeb9b1400c900a90e01c2d5fac695a6450d4e304dce783ab436e8487de41a3584af708e1993eb67b6d73f10e2a1fc49b614ec25e290c8cafe475ace939ca99f0312abb287b41222a45d6f33bb7c1611e6858514c2ed56ae29bf01b3e33769a90d386dd3bbfda13afc53f3b3212d07fd6033784b1d0ac71eb700b86a2d61b3ad4d2726b696583cfe44a17c89884a27dfe9745c1b29b8820d309e0fbc4c828a4a562d0d146413fc9e3799d01e445b8aedc2ff684608efdaa4824e667e641003531ad7343112e7c37b706735edffa1c836d14f751730da2a56352022649f7f8979a938599be1cbca868d02cf32c013f8a76dd904118ce7ec68fe61cd0dda0667f7383e1c96c6fa8c958e822055c84c24d3f2cdf7ff24a4e1024af616f1a404b48672a56ddfdb381a2a9bd44c8b41174c221a8bfba9f2917205b48e073041002faa247f73859e575145ee6aa56e52e67375d4d938dd26768fa7f6b29ddc97bcdc960859d6cb6d8101c09e3c741600e2a8ed22310b7456e72650b183dbe9e431766889d31b4691d2d8e25a710d820c1b127c34680ca2381ce050a949fb3304557c6cde7a1f87e8b4e25b4664ce8bfa7c925f79572903d5b875e6e1063a8143b5f4549937991a397dd1c7799555b3a259e2dd0f02f044a205fc7120d7cce7aa8fe5334ea642ca0026ea6d8c738f8a2b7ae708a8f9bc7e3362867c7040afa3bf1b6550bfe8286eaa6e7d4177147455b14c876731448da38d5d75f4cab69ad6bea16c93ab3189757140b70f9ec4683a8bf4dacc7e062029005aadf80aef70f5ef66b181b5616c7312ceec0f1546a764b3cbb9728628b1ec685268e226b2e28c4a44ae916cbc1c322741fb32720951bb44ae9664984f23d7fe3c3d09b8ceb3bb32da99e28d7434b81480aa2d0569b78688674c24b3a56ef72e84055480c9ddd67f9ab6a25f85f66d274814f566b29b22eb93d0820d9f6bdfc41c039bbc111c20cfa4e329e982bab98c522949a286cfc22cfb0dec5ac3ef9eb73cbc75a5d078da667937b0335b2b7a779b1e0180fd6b0dfae50cdd65123c51cc52cc3903cf564228c516f2ce7fe25847e094e7a1627dc2632a9a45576a9c589c7b3d861fce490a3d4a3d56fc4f6f0114c79f3023072229a6f1f55bf187eb94d62a8bf7e80ef05a28e451fc8004abec84fb76a17e382480516856a9651835c5abd6e11b664c8a6448662a64d781eef7a88d262b17149035c115b19245038f02a133bbf198796495c9a62cd68d3f6976570a7105d4764669cd6f9a2d3dfa8ebe1102a4dded0944e5af156fe6526d416763398760d3be3b3a09fcfe9da771d6df341616f5cc2d6ed797fe565cafbbea333c36fe1296ce0e72d9cfd0b2db73601284eb7b995420c16e1428517f11d0ef31f1e95aa6d0b03cf070d365e309fc00bd3e32bb684551613859a5724ab80f2ab8dc0dca6f106da26a42eeab043814e31657997e943d063cdf3e779f2815e45a62029477ea2e9b5f2e59a8bb8edb184079490667eb8b491750011221e4dc5412edeee8023d2de21cdb17f1f7f8a551be3828a9db2fedd2cf61004b0c6b5858bcfecef2396c5ed9da68f150373f58b7145eb40b66f45c6a2d89205b93fc9158a69b98b0dfcfb3686054861485d719d86c3e74bbb7d6b49e547979a2a46a6f9c4bac94ade566156f1cfa71252f82d4ec499af7a7065a2470cd56df5abd3c86254738c3dba979770572c8ab477620fed5f77b99bbcdc838800f0b0b4c85ae5ee50c12c31a3a10349a8e6b5e50a3c02e7ecfc3c77ff1723c7c04aaf05c4bd04d8d68047fca66e922c39d8f5b38a7235ad731a683aabfb9ebc14111cb84d01695c4e0a1ba1bd056b0346a529f6bf0a9e58ba463126c82bf04bc91e731f6a116e794d967432700833e79f1fdb420830543374df705197ced4248b0956ee03fd0d0a8cfd1459f00209cbdcc196c44ba7ca32c5ac5f64401a98f670810d726def7fc11fce27ddd9460ab6cc4d1c13138b334aeb46e0c67aceeea7f3b03dfda770affeb9842b5002f7b270bb9429fc92e75db3f98e3e9039ed21b2448b4925c5cca9c13ba7eaeeba3322e8d97e112a8a42e26389e6f5b1ac1a3853cfbce5c789ef10780fe20b208e644cf41f7d85480635b6186477c50df77557570e900c97c2389c76faa40536648ccfdd6739b5edd6646619f568712b2f1b74fb4d848a947a9b85db62cf0797628264c66ea7af821d726550467b64a062731af42999beae23ab8f10c3216286eaa5c130e4015155fc867879c6590939db808fde127e6209295c9a1d5c9be62b46df3a938890391e941560c61c141716272f644634186ec6f66c0eec95854da33d548f9dc682c2c06d6759dfd21164cda1b92fd38d7c128169597d124227f5f54b25b9f50df68088c42412d8051df759d06b4166079c9895c5f39f95c5361ca7bbfddc4059488e664b20fd4327466867a4af8565aaaddefcfc9236ee7050e7f3ebafa4ed348303c109ee47e8317f51d3ea0ff76caabae662b2a9d91b0c830460b61a1ec6ef35e49bbc4e5ceae354c7ebb3ea1f239c83f869cff6d25528d485ead79e03cab6e882c2d6cf9d6a4c7ddc26670dc50f9fe4e65f3d76ac6af590e59795b33a0f02b0ec8af6fe45db647af7cf557095980da59e3e887d875e23d3af16c7eae55ceac22b8b4e7338ca4d07613e90bdd281063ae8f8754c12dc2c67e4894f9b2c944918d65e96c06b46470877a452a59826f72e8bc4cf5419ca94f2ca3af06a12714762839625ee5c740020d5052d95bd0be2f08f7c9eecaf1ce478685587667a40c48316fe950c7a5bc1e6405c5676f310c699afb03b5fa901ef70f12d9fdbeb5564f871a194cb7a0f0b41aff648d84c85e186d06994497db18e19a33d5a1c39677e3927ffad715602a1d8b3472f68a674a4c74639d38fc2aea6510dd6ad2da9b7faa126bfad7df9ad644f8541cd09fb4894eed715d6cc8879ee2bd1ea1bbed29b111cf0e868ff160ce467055cf798e13d146a1e34174efb982b48c1a15325d93680546fa39d4b15b8cba611e7aa8335d81a15a2948037b54f6a4282899817e338b7e8e214312d500d47122eac12531d6dcb1f59e5e0e3b7bd2a5cea689f5265ea00457c5274c5f9c7d5cbd66181fe86e489d0a2a462c99370d712efd2e44e796334e9231c99676da938c9db6ae32771292bce0207dc85fda6cceafbbcc47a5992d51be5ec1f5fee58a7b9e8730ea6d491c06911573354faa9fe12b8a39bfd63b5a45d074d6f911de88045ade5fe9bd307ccc656ad975860f3258f2b988bffd709eb618a89373c49ef8f2ec0a09505eb953bb803d443e33308f7a318adbbb0e0b920b81d39bf707413b64b053b4991b94bc832d258b386eda30d63882c0d27b90ad226d68b25891fa09514ae6a62815158d83896511dac1fc3ef298a061be4be9de41538aa7875c2c06b88d2fa512a40b9020fcbd4e988796bdfe7bc0fa12c492626c409e8a5c73d53c57973ae7bcbf4bc179ca7d68ce5afef40eaafcb044d5c0d4528fd3dcc1619b25e9ff8a452c9370cc5f6a6740a6f7f7e742809fd9945faca1adcc0cfb36b2547353434822112d12cf5702fdd7dc223674e518a78b43efd81780853a6ef4800058d9c0851ad71e80f849f2566a80c61b4c2f6a11c481726ec343e8a17aee94e40d5500f580cb66d6a8d088a5d81c6050943c041c6432bc50fc4a658a019b90ff8bea85ab1752fd06adc84a644af616a2cbd2cfbbb0bd12c6dbc6b57424d029c61b6f3561e1998ee0e9a54cea484cdb709c09ce6571d0c1366f8926740e26fec64c77efddf0fcd8cf20381642e8f0129fd03c09b2b15db8704f5ea1b1585e22e3e612800ea46d7309faf2ed99af0a247a1d2607b74591a807ae7d06ff21773befc63bf279036bd6fdaff1a8de41b2df312d1af1e326faeda54c3fa8fda1dfd05e5138a47bc6a2243aa2365df6b6972131fae2fa21b4f2ec3107d8cdc74e437d48f0f0605e9fd87f066ceaedbfd2069806e0ee2f784e83a886f3a4cc64e6cfa15f1e2624d72923ac5d2a132629726454255366907ee696dbe7b41b0218903dd024ad6b60144ad7dd38baad9804c8b8858954766817f75d88534c01f373d115b6ea6f609ec2544be483d49e3f947dd3327ea8adbb36b7f81dbf0eb082a21ef815286bfb5af41244609a0d6dc789d5d67688d28f384c19308f42b9d69b1fad64a9941bad2459066f77f95d83216c2cef9954be6c8a71274979bab0df286eb88a8433fc1146b5a0fd27cf81d25c79de5a0d796a32316f6e8c68d4f04b3af74463424f6fe3e9f503aa05166af55dea5e370d0ac8d639c9cf05f133f870a8f368518831fd807529503d2697e26de6475e9afcfd9b50e36b9ffe83617491ee5ab916db6e671d2d0150067e96453aad667a1606cd5127dd0339d12cbfb7a7ed1272a101785550579f3943207bda752a11f88a598baf558dadf4f7c42457c94810a79b628a95166223941d5a3ac5bf25b50078f15ebacdbcdd2149802d674c652f880cc8585488f20b73d9a224d701e037804f4a6c0fa32aad93953a0529e27fe9d95847168332a291f4d67fb6547c5f2543ec79d5e01c069a8aa943c908582d38fd8d5985155d1590ac7dc32df89c1d2d9658f4c440e97b17495b1d68ee000466aa3c9e2ca0be1d4e7086f88158856440e4a9d0b40e30af067e1885197bf7b98bb1c637ed6d966908f4cf9d25cbfd9182ef872a9e29dad448f7fb7a80a5b61cecf2ec1e5dde5ec052724bdf00086d0db7cf5628444ba680d2ceac0b68d03dfda9cbb73c9493d35a49f5fc659037ba0e67ceff508ae243ccf1ee495a69df70e0d722a18495b2ccaf3f83219f04cd2a8e9494cfe17ed2d7bf66298b8e4fc3ade167f6a75eb61b3ed3ac857fbb7a8789b353069047abe85c2c2699b06449d2dce82c3f7184e68a4f7fedf50e84dbf5ecbfcf5fa1c98473b1356395cf2132cf4c046c615ba4682d718067ed1d226cf28c5122ad5fee392903da2414dd4c9fdda47a4877fc9bf8b466a2291aac10a00c6d653e7dbbdc897dea783da999e91e1878f5c9103af85686a0abc835cc5bb8c6dbe2596c7f3b35ddb26a862b7e1151b511ed8cf3fe7bc8e505a14956244265e0825fafdf196e6e4453a48956c1dc7f9e297a007f7129aafb23e5e66883f8f962a81d17c0d799d1b7c59b2917a9a5a52a5a67144a0d44ed3f29f9d873c47a4fa2912c18a06d435d9358406349ebea778f4cf7fa86086b9cb9642c772cf58b9834dafd818ba0e48cce57fcfdf0acf0abcd6f35f4571f7b69620bce994be028f9deb41716b146798d91a37387edba6b71714cc845fdde2fb3193595cd75cde2966e65d5aca46680df03a035195807e2d808e914ca061caa00335d218e5d9bcf7747c77ce184e7e8e3eefd0c0a32dc1dcd725f4db62222fa8c01b3921956f008c89827e9edf9dd96138aab02cfd2aa374c276aba9fcfc07a7b4509ab6efb15363b140d7043d0b44261bd19a017a29f1db154bc9abab76bb3c93af1b1518565503001048633d410a900a3672f324ce6be08324814cbe88f69b25bdb22724f594aa806c77838da8f4aec6c9462c4ea5e1613a8419c5cd4fcc56a78e7e0dee72fb511e61411404949b2b586357df082d2e8c673b32e4ab816a565a219b81bfb8711b781d00a6d47a59934bb78c373ebf74ca2b8545b55f730136fed252edabb441b83f4e3d9c2f7225e098fe7cad83ccd44c040f8ab7d25cf6743e5bc369eb436563a7276d512e53f606a2634d8ba5790dd8acafaf104fe8071a421a2112976a1295a74e683422898b70e4ccf239a8c28d811f829ef280232a9060ba2a88ebf6dfc83b79091d78dcd7879bddaa3022f2e682826ec5562ed23fda3be09e0a11acdb9e3b521d8977941c3d923df0a92a72cc5cd88988980e2ed955f2bd188dd6d62444228be32c6d56e74e87415a2dd6c5eabff131bce396056858c8beee31538df5d2768f8162a27cad84df84c5bdfc2188271b6e6c5da23f7942ad1c9bb5c19de0a5b67882ef429a53efc102daf7f1d3477c3987a4730058d961924c5a6ef032241af4d6a76132b53f579e68debc520356344b4ec7cd5eb4f058ede9847f07f4b10a15a46adf4c1dc13b80f1ba8204a2621a9401e7928941d8fda775f1960b00030e986994e320d95d369d41bf303d4dcbb2bf48621650925969eae0b7f28109ef9de69155ea53f93060472ce1783cbb1d55e3dceea35d40a11132e980b25784f97eba29be4e8d7db049db18ffd75be73fe2073ac7e3520069bd2be1240533655a1d502b19029bdcab0c02a3fbf4a0d7c8af906c4a70f64f483eb5477045169e3f268ec073fe21244ed0d481db0c921eddb0e9689a8abe300b2c73e4256202cd6bfb4b8c8abe966b1ca5cecf1ebd71bd80f59e9c1e79a9fedee27ec88f02b22e4c51a0d8d216293ab65776a4336e1000f0cd5528d88f6e7dc3d494c7cb1618350e934a15b5a91a911730c1f172e6c8215f9963244746f5134d5d4c06729ddd71c3809822a76093622cbe3b6847e4ece8611d330a281b4334570db555b5f2f125ecf711ca96303adcacffa4b4664cd189f3ae66771be88c445b482735d64ce344f429c5f1ba1487a450cd287895dcf6e44e7959aec3e6bcf632fbd0e3543a913a3fc4ade22d116b229963c06472198ac83a36b2123ea4be4204b6896819c1180080276e6a1050bb1009014efb2fd04369b6e5766f14e5a40073e6190492c0cc9b717ab7447d5caabb11c7de663bdeeaff086b9003fa32ac0ab35babe76c4272be39930bd072b51683f94ed888c356f92ee05bd42302c1ab80c68de0f9e0f1551954682e61053e482e1464e3b8d93ac8f605cf11e3be0e7561e2b265af184f0132230584f67e1ce30e61483b7c48ee850fed9d349487131f1a9b930339da1e66bb87044d44f0afd673973c6f61c832196fe23ae68d26b2bf799b250667d47e123f4c9ee4c3e266e469636563939be6092f7ba14118e1531d39faed8dc9f82d0410077fec0ef3b5e1d9e5e19b7196589d28c75e2a33fbbf3fdc6d5387a0be2ce0897aa4e3d208915ebffd72b5433bbfcbf4624d4ca0272e5c8fe6a530a48d7aaec382edb7c5d2d82f9b78a7e64a73f3880c802dd3ed773a1b84b75012113d247dc90dd5db3f31df39b86b265ab779ed09b9e81811fd14eaa2d1d25eaa5eb1052b09820e8364a1d40db57719c53dbeef683064d428ba98b84f6a9dd68656b69c72eef4d2d792f08a2cff0c6eed351f6e6291d30150f11f70f4e60edf60b061b774ba1a3adecd87765e27c3869a1aec4ac69150cb217c16b392d55df901c6a5271e66148bca5943d7f842096a703663a03f7ac773fcc784c84ebfebe9ebbc3e72aab4520ba772703863c3c8bf350e1d38ae6991183a58c0b1d584b4b1e798f602101ede29212c6051766e0fb0fbdec983a9b9069bf75ba5377947f55d6df77f5cf9395e72be23c084031e8177a5471d61e445c95dd38ab76311edf961c8573ac7fd39ef930b8a82c38012409169e3e08b4cc3ea5a33750c4ce1a71c8bc117708ca620c0f7c556cc53bba2915a6218a545a2f246a34ab6180a8ae5dbce6680ac3c1127c2cf218193dfc61650e7409088be5dcb803ae80c10f281771ccf85989a732e79b2ccb9668e2320d44cac1d79ad8ed0f5aaca43272a476e64fad0e63e0f91edc33e1fee57348d9a3a39b46202745860da46bb3d09e6dc66981eb6d453bf32f2de181f7380f851844f7a1810223ec9e6fd58061328d79b949397220a9beba2f73791d128ed23327af8807bea61908690e9857c20a6ab3a9e055ad400bdbc3034176ebb8ccdd37db4cbdafe8de7861a41ee8c58208e363d3dbf37b46bc2f32dfcc37c01fb3ca836bebb4d15488eedc60bad46a2e379a1860303218bcd19a63f048a36a3c8333e740d92cb851196ef38603b514c8509159ebc66af037e299defa6203c4969228e8816770099c2bf482b3d2d31e4d6d7f7c197d000af2f9e096dd3d820dd02f62ecb60b2fe65c1ccaa5215066080e8a5cf411de7c056f086f0623254bd04361c606a2df18cce4151c7de9ff6b05161484eaa27f12b58446b051e0bc4c7d9c5f9f090abaf43ca60f7bd56a328721f82ce13b63631a714acecae65f64d90431ad3fc8113aa98cf693401040f73fdc27fcb1d6867b8d869a671514a8d71e0ac0438040686ea25120a60324c3c910f48d05d68fa06cf781c4dcbbc551022ca2c7ab8b3bdd70e225858f381880d67a9a0e7f9ab99a4f85f85d782cdd2dca105c5477e4cc78a57fa1c6e5f49d3eb43700336c2c23522bf2ac2951036611e7ada01eaba977bfd88ce947f267ecc39acc9f430aab4a3a60b38c201cad2407ef86cf833539c7be990cc15e411223b9e2f89373a4d1cb0ead319f1b9583d9f61ba6df572607e67fbd67b6210551f35769e60fd4964a99cb2b27103785f16fde264429b93bd35bba2917ddb136ba8d3580f6630259518938005ef4f9df5508dc74e07631b6134f552469cc25d80415a4c611aa592342bbeeab30be1eb52b19e92b4fdb2cff5dc9f04a690219bfc6edd2433e72cdc7fb63dc32ff9e5d1fa65f87bb7a5850492089f8bb61ac4420600d83d5313128f9f80f988608a1beb0a20c3432270b6ab7d226430551218ffdfeaa0c7ea6ee587829955d1800bff5499bfc0bd6689fabab72bca3db305380c7395ad509abbb55afa56f2b5aa7c85f4c60aeb66697cc8b4f81b3042f214dda33d5cf67985d9265c1035052049c2cab55fb3c3bd58589d17bf10436f3222bec6316975eaac8baca79a31479da0075abc3c417f1a19093b5e790c763117f6524b14ef94100c677c3877a427478343cccd6e8ccf54a6c9fd5a2a61481439451edb9407bde72d5546adeb63f0a3766f7f161f9f05711fc36e132caef097edc29857f95fe2ec5ce396434ae4d5fd280b48f0c82e20766e97cc8320cf5594cb0834c54238d309354903a6d32bb1da95e911b74495cd88aa039a66ebb6d86f5e39bb05c9d9ca404087bdba03365658791687919a426aae76dc5654e85565fccafa6c0a0647c0d5fd7af35755e55409a0bb4e45b2b04edaafc8686622526e8c5650dc7d321e2e8a84529d6225aaf41dee6e7d6f23ed0ee65f9549688919faa640209394639be572807e0f8dc9eda25602bb7c91800d4cb44a92cb66c3a6a966d51be86a1ef08bbfa0308a92a9ffb6d681ecaee168ac0e56dc39db147cb1340f12deadb9f4458b0758e8b03e66d027fea87f29cfcb5be3754c3e74c6eb378eb96860c1b8a6466ef9675758e97a1836e542126a449fb642f651b2cd8eb72da4eb227075dc095049b7e586b87460b337475cd1df24ad212978905bbdb45405ad7a37bd0314f41835be358e813d2c535f026689435b48339e092f11d82604be749c6fe97a90a117b5e8584b5e0272c9dd7a7ac392ecc8c69924fcee0bc2599ba896859685b7c008d53308cd5ed2436b84cb3f49cf42c109fbc738a277b18f5e5385960abe35b80bdb2bce4ff1b4289ed3d5de0c6fc11eb630623476693ac954f845783759d22a61524ab107d28003b95b35852eba6b80cd94766531df5776ad3bbb032a63d10b850267f708d3165196fd37b813ce0cf05014d09c80c985a2c3fbe3420ffef458ea0e87d86cff57d784910af47bae33cfb95984a066d8a8dbafc4967cd95394ecc454d0a9f24974cf266173690e643a8f2680ce5c48835e23e93f7ed2887d38d14b8f8376858d95af5175b135cf4976246bc3e888dca3b7229e853c891dd19bf7dd236eede66af40d3a33766acd8cc4adb27193144350fd539965707405b27e33d53f4178c0aeccd6f96269159217e0a00f7126ad930ecd0ef08c46a4ac25ebb6f7940b6712282be79aef1ef3c6158062960b37739d00338ad087f8a55df53b62be28ee269bfd79acbdd6de7607d252612d761a0d1142383f0a6cc373c8b05390fd7f7976e03b79d6022e03b0634935b1ca86209f2700324045980d765231581340d7c9ca5bbe2b7e5c370d9710ae2c1d0773f3e26686f1f64856d3925d1e5e6e41c0ada159c777470c7af142e9bdca0b221bdfb2dd34efd65e5aea6cf84cf8282f547ebfc82a66a7042300b519b29b1351a74b242ce45a3eb52e6083178988ee99673ca3ad066590942540509732ba409589e042d8a068c0034861c6a097aa5b4223e65e1d0895db5c444a551ee267a07fdd72bb4c2a3c19712a4864f86dcf8939c09030d294a06dec1bbc11da755fcd38eee05847ef4afb7b5422bd50a0da0d0c15ef3d05ee638cfab3a46389eabcc99c6b71f0443d64c97a185d9c76adea5b6aa5e8fa613b2133a916f53598497f1d6955d9e0bc299c559f43340a51b83c03522e4123e022defd0d55b94f70615c2162259759eda4d83d1c2506aef7767a313e3e921ba682fefde7af198d0b6a519551f2411c48c785c7186be6976ace744d90c0775ee26d96c22e4cdbec41f88d4f58423ef5e27932117dc87dd60c412dc40b803bc810e21196e011d1016bebaaa5f43972957d95601c9b334b974586d7bea55f0a49160ab1e2a5c5535a4182590b4068c702e5701cda20d4e7941bf93806691380d013a4f4ac7718238876b350209da6046c9ea973641340276e609c1056f6fa7972a5da7c82c31e354def10b83d3c2cfb945d198db9d7bbb4ce8a01aaab8903cd1922792a0db38af713455d2e90f3ddec206c6ed430c6d08a2839be52a5a074ca2c8bda7a76d0bc0c4463c73d9db57be0e9109d5f897b785d323df68eb9e16414842211cbe6c13f91312f9c0fe7cce73de96428a696e6dcbaf63ec69747f0d61c68fdcada5d01d8b53a265824a731ac3525011ab357bf276e3b113aa2dceac72c6c71b9211f33cf4bb92547e45e225e9e5f2b2a3fdcdcb6d465bdd715f366ac5cdf87e8db36a3bc7ade5237242d9500173b82cdd65f10675e1dd4853466e059465cfe62b837790ce0ac4de8a169181eaeba1f87e49894d20d49f04e6a44847c9ae363e033e5302742961dd17d7f27de328e2d70cb5a1c0bd4ac40cdc1cb156eb2cf7ec66c66cf2f1a0d2d5db186b2dae16a97f868ee09978f3fc6876fc008043329f55cf216b4cef7e44d1adeff2a1350bda3be4fcdbdaa1ad6a646b87ced8f65268486fdc71c4a00df2e00c6cce4fcc8c91c342d3fa7b3bef0ffcc6aab3f2991c427b0c67982317a98336dd8e548b0ca2fc613b786211ac42047380661e48487a9a7443e87bfcbe6cbb169d0ed9b762865bca42673cf349beef3b53957fff92e09656f23a160ba9fd12410fd338d91733c01998e2caaa21e06660e36ae168843527d11d601f2a283107e8e9b5dde086351fb5f158452f69d2daee3dbb214beddbec5ec6be2d4d5a9a5861da72342dff5a255963976c24e0f51a9ad80792d1e873f9d2d57e8a62d02477612e8d7461a42110f243152dca04491b77740d321995aa4ae047d18c032ff2bca2d8daeb2cb06df2c6f1ab230042423d1a5f7438cc0067200f0dd860d1a709ce9d639cb0ebaf86a4a5bf65eed8d595fd378e93a4cda3245846f1baa14a0e67e1a451a2cd9bb97e54c92172d9cf6c60e170d979596e8113ae991a1b4a25da0ba17f881e0ffaa964f295a894e3eaea1d5e696ab3480dd49069b5082626bd973fb0e87c5adf5383abb7ee2a3a523e248396c67bdf06863198d98f4b9f9edbcc1f382e20174a51e574946a65e6da1f9bfa5a288bd2ed5bd96e47116e9446469a603263bf28c32d54566baf68d5ab292a2e017f03b0b3c13a2224bfc134d0be4f74ebc375c0b2b00157c767db88d90f15654aa31abda160ae40e18b66511e1d6d2705f0fc14d0ec3eb4b52eba6ff0465542fc2249838b03b12ed44d9d847e3079f8fdefca32c2da7c53a3835c3e908ad3b86ec8aeaafa72b7ae83d9de59ea3a012f7f6525651d211d787f27ea94e815346e46b1013f959e326a58b37755c0650bd84e40226e3ce2ce1b68c64bfd4818f47ca9a32e6223de4908931791c2132ae5a29ce8cc003d0966d881f828e423f571f4dded55c805eed8fdfef4cd7c8ac149974a71572559fae82285089bfdf29f6bd8f54e81a41da97d91002c4680648095e7a9555d74f3007169f2bc3b9a406c35113def7cfc198f18de3f8c1b28c9ffaaf2f31259755a93ce1ae7c7ffae16ee6e531e4381ef774e7beedb8e57ce82b445a2c2d22878eecccab92c34057b6242e53d63c785c1e8b4d456a5502ec28e5faf22559a4806a1e8cb8a81e5e49c2d98b81a03505615664477786c7773764c5e10a9d1a71bb169da864cdc3bb0822bffee70839c4ffafdf9e188bad1cb192a9c9832420606bd166a0d6a5e6124806e2c4c5af02cdf9507cb8e567ef363aafd9f15019a9a577315ec3112442e48448e0e4c12cfee33de630691d4f832f1a9edf6077d4e78fdc715fa38bcc4e5a3b2432af6bce47f75cab3e58b477173e05ceeb940c11b5f746c344b026e6586d95f8b113e04c6f0cee4a41ebc5861d93fb28f3cf7c21e61daba0feb3d7bbff0cb7103a6226b9a7c95ed5d0a7f7581e9424123bd9878de4877ada3b96d9d3779a20d8fd457a7655792272bec5f352f030ccca65d8cf44ec711bd966bd18122b63d2e285daf76dd7e7636be196e31e360696bd5b7b81997de17c89c1b63b61c71c22c58702ca988ffa12607a08cf3d2d6b315c4d3d378ea7318909027e2b2635e89f475d35384cd04dfe841a10235fd7160222da345277e7efc541c5455f73299ca1e43e6e36122e04d667c21e380b0d1edeadb076cd49194c5bc515caa835e17a667551efd093da0bda85c9f0ebc4dfad8042c8205e0629d6461ff92d128f0acfd93062f00fa5aa4216ce9c1b8f51313935eead87f9a7254843b8edb23b058830ae194404b36068ed650bde7d298a72c04d7e54fac361c9b3bb5c6a5846927a570f42be777623dcc419e9d049e8010dcb1bb97ccaba29780a7e461aee31c9fe81fe20cd9dceb4e75c011fa82d0fb8ad07dbd8fd6cf520afc2d8ffb365fe44aae25f53b871ae46d5ad660eae7064abc362c7b15bda88ab45d9e49f087287081c19e0cde9e3770b68b3d4924316bba16362655dff5b6e9338ca3a6fb759c1d354d826dd618d2726f54e2dd6bcc39c7f9b2ae7a1918ee319c481c44a061bfdf9d6b667431c94ee16d3ff9b1bd3b5531ac119b7b7ee203153565237ee8d46e22794d30e0fc26dc20d72e4a13ae1fa551f58dedcfe6198220f8695eae1d8156a9b57367eee444feb25f550ca565b1c8db64d4528e409b3261329569d918c0111e752a05b71ac489d0526c1c9583e546a40253e3027ae501e48a60204f05221daf320bac85c690a27d6f1d76d500a01a09d719335cc99452e547d9bcdf11a82fb734c9fc9eece87d614c17f6023793c14531fe3bcbc496b34fe80ebb1d1f896dd788a59fcbdd7755194c82a5023d5695754b04f36355d494cf2e27f7e316c91409db784c83cf202f9ddead2c27fc6e9367cbb968c0d9283343f83e54c97486ef4e731c32bdfe8206708c7a98e84c8222a8225a034b296876d41362a57eb7e989a3af014729e25855fb1be8beea92218a82e406d4b17be6bd50315c1009db5d99ff1de9767ba1ecd598e806eb2c98b80c92b6a577b7b4a79cb1515bc00f0cbfb644c47435e2d41b6416e4a42014cc0d7b04329ef921acb14a4be796bec8045b0351f8bfd1c7ded2e61e5527cfafe3b71aa97a710a582744a8f814f77b14395ee4fb8d6abd705e2f084583788f1b8fa7ae8fe7f5b072fba7890d00b2581e2bd6d4d55a527a8caad2ffe317e86d3ffc75f8c512e31e680c3c3f28663152180fcf888820af73dd632ec350ae6044be30b42887cb03411f65c933fa61f28b464e5e2dd57e732b8909a4e53ff32f48bbdf7691b18047352c4ba7f2684215138c6171318782c73282fe7af686aed14bb2f5c1044cfe5bda8b71777296882741469c7d4d635631e61594b4fadcae1c031570f3dff01126b62cb97a19c6bccbbb3ec7d187c28b8f019c5d22e191ed8091b9c16bc00ebfa74cbac58b4cb81dbc27fe9188f536a01670d1c7dae42c19843cec19c2977fdba0063584e7d439ce8d8ef3afba9f24a8e403b48a6356e2cf4496d9fda75aae71afdc303a0cc53e6d5a22105b0ad2ae233e2fb3d969e2253a97c97a80dc093da6ffd4ff96ab542c0e4be42912ceb305d710af822f578204a1f281ca11ca7395352ebba7f5fa821582832d89e965d39f9695dcf9e840e130629ec95bac1ea336631978a0731d024b4fd6e4fb7c5647c392e67b0e36d99ec08cf93fd2ed566a3c6960aab82d53fef5229fab493c62f501829de332846a6fa8f6ae779588d414a5632ccad244f2eb87a96f46ddfba9400ff81538bd36a808333c6750d2e655eb4755ea96568c8e2674320f4dad28d2303ecc744c29a6835b7e0225a9aba506c09aa6a11a4f94cfe579cc1f2731dd642d318a9a22d870ff09543710858c06292618f301f6dbf39eb8c13ae95433dcfec33f0ba58677089276328c7bccd9b4b148df5f7ce257d1b7c26fc5a5b95fdbdf635321d4d9e78be26683579ce79324d240ad32baa54eb958d755e15f0a061b4542d1f898843fac3fd27df9fd3670c93a5391e4db15557304c9fce1b725eb3e92fa74e27a019b13231f025a2b1840a1f7ca946b302b669e729bdd53462a4488da0875713f5c13b8dbdef673ce440bca5f3369a33505089a79a81170d8214acc1355ca41edeedda60fd4530a2fd584ac7eaea2a81ab641ca184923d04caf4cc656a7d113995867dda013b454a0e58b256fd67296e8d33fae57d3950c12805e4f513f5793d79edbbf1bde1c83c6d7e7278bdafc308d55f7b41d277bb59c75c65888dc1bea9e6b750e8c34a3a3385cf68d0a4075cd2ffd33942e7d01912e8c32932d1eb17c1c7e552be469790da7d0fa255d82d2bec8551b12a5fa10a5d1e97fe4e71e5ca5efb97e8a878868dc42ac553d1460c9a41edb338fbdee806d55d2398e3380688ed773022805c952f2b8c5c7e253572c68b53e81ecb193b083448844bf610e7e501499d9e664970d5db4fb61e67b2d575a99abe148a01fae2f65f132fcc539f994a63593911edff4bccde03af20ab072338895552d246e03539b4cdd694756c66ce688b679b0cf4ba65af1e61e0b1591b8cbfb4bbbd172edb4ec60a9669222c6fc5cdb1eff440465a615783bcf07811ae404909c3d9810b71143c63831683c5efe90be5c3c93bdcd0a75ef2bcd42b11974dee01c3175bac68cb32809511bf04efa48ffb66460d2567f63e3c1cedfbae6768623d982b9f4da7077c999d8afa8fc765b05eaa225373fab957cfe1c873a1fb5dc949cada179cc08ea16e9dcb915c2c3460ce4469691dd4b5e77e7c8f16c3c05f5f742aa4099677e880fea064ce83995de988ee8569612813ad50b77654bf0cf3b693875302f3fffc42deb95375049a9a29068b525956f8c6e228120a953c970f174c48006b42d2738166a688aecda511b195ad8953c646bd83e54fa37303ee3b172a233cc350654b4c746fee00c098de87733fda8a34c0b660c77e609fa7ac8e93826152a49d1cd3f6deafc88f0b9508bbf9d102264f5bd8379c292105dc17c6ed8cfccc5a70e81b014cd3e4e85489be7d55f71139b55355bd95eb92f788c30c9191f21afe303a1b24830b0c6ae6c4b708ff8167c79956bbb516bb9be4361cd072acc0ca43c1d85573039dfb581662ab4522ee9f503303afd391e8934fd0b3244707910da23139d2008dac63a6dd9534dc59b8605637868fc962430a2c8ba0f70472c24d2ef17db6c26c410cb1962639a3c7f949ea41114b55732d6c2e6aecccf1a798eaf40800abe5e3f7fda82d762a50dd5abbd87a377c3521f353c519944c462d581e31a0b0a6043968711593ab01b793a7e3e3669263399bfb030627623883a3ef8099ed3aebe4b0d7d04df3f6bbda0df5f9ab4fe602f6977cd1ee6d8f4316e108985c80651122f3b210353edacc34cda400ba5b7a0aeb6c4ee16dd2316620201e57ff462b4155d0e9ce88f0df78145ae46632dd6af191a486382aa271bcee6647f9df4429c1343e9b4ef6d607a450254fc99b49c6569b6d42024293e54e163d6f497073a1807dbd734aae0b332ca24b018e4ee3c5ea1475a02970775f0cb28033b105f9b1201553284bc908cd3d3fee4ce1fdcede0ebcd6fa946dffaba91fde16faf262a8fa787089198074e28fd64d5cd0d846ebb4d49bdbcd45cfe16bf12085f47222ebdc6ece68501fee02648219203d7b512335614e0ccc82cdbaa20e3d98a30c1642461bba63d898d17247900d758d8637d88872e00bdc6888e6226688b22fc8fb8e370867e6fd1646a84e1f3319bd041a6865fb13880123e82926485649187d894243ab1f177328eec070fd9f2f273eab5b594f9cad5b8a6c57e593721159deed5576a592563e18799b8f7744767836f506cd38a8c37813d30fda7e7d6083c420e9ae6569d3b2685d3efb7a330c1222e94cb0b78f52e877a2e354cae6b5a6e83aa183ff8787ab47902f90816f695555566eb25775912d5b67785909b64d7bb68f25428b58036ecb393bf6d79a55300cce5461b41bc6066bab65bb69e96b1268f1b76dfc0675a04e7e3a25f49f91bccaed9c00011de27a74af8f784ccd374f1849009b5c7a10b56917d962cdec15fcf003750f2881a7165e1907037fa2f0848810fc4fd2169cc169e2595091e98d68a0e4d2bf04a3fd2a1b17b5575b7c6bbc16325487d05b0e2d27ed94edfa31d8912e38ca6934d56f69bb577badd50bea7212d24ebadbb9113b7f67cb5da1d7e6e2546606dea9e042963ca0726b4e236d5a0ee1c6c8ccc2ce5ab9d9552bc9b8ea84424252a87a32717928a53596685ada60b8ec1459e0d849c9c3210557e53b91728ee2d410ea34b1a6c9d5682246652abaa89affa1f0cdefda6c94314e7bcf5128f501312b937ccd0ecc6263b0093a91e5a1af02ee4dcb6eb2cd2f1cac342667cae0f029e3acebe26508bf1aad79eeef209fc741bb098daf2a7c4885875769b657f1ba6e1c503fecdab90e100672197e2896506c681c33380bc3cba9170e5e772a941cb63ad16dc1f7e9716fa6dda0b55808bb7b3e08fb02c4fa2159e35d83da45cb0f24979a877172d331030f212c7bad97d1247f48357f265d1a88ec27a2dfa993b74d23b76824434a8f76e05b113f22205fd867913c1e389b79189294f0a3fc795f0dcefdcd599457bb64737226ee04df8eab0f0a41893c7a0d865e2b0cd9c4a1799d71cc09a05aca6e8ec9999ec3da2cd9252f029060fec46e0cb9c6dc1987f7c40d7c5c08f7c42122dd68089f05486a2f7ef85893002e5b6699a66258d6aab0d633e516cd2262e03d6ae6fe04dbe429f16af4ae3107bb7d171f0568163e98d87248ac5e5b3ad041b1199c1fa925eb1eea1d817cab87e62f2a21f12a29fb074abe285bc568b2ec274198b6084715a49b1bb3d64dbbd9335cfe1cef6c4922b57e031bb9d4e88e779f9941e068dca92376011b042623d3f95592c49e410e0cc8f38ce223fcee29c3ad6a8fd7cd7db8fe04c00e811c3c4c49ee818357871a362b860614b579d6dd29458fb1534f3337da46f7da8281300add439ca6ec256d96ea0e4c331e4bd03dca54aa5b7940a71f2eb9f2c50863e18e87cf8e312f504cd55ce42333a2877ef403c20a7b3ee1223e648a6283304088c25a6be7dc8fdb73f1efa67730eb4b3e6b4012ee2e874dfc592267b4ff44620132b3a0161a2e024f9c176a9419a8b1e662fd2b41520c5060559f17d680f3cfa2ef842781de823ec87d6c75affe37a4d8a800dee773a923e555b1628a822f79673ab614a9400dcd969d8eb5e3f3d49f72741adc8a705994d4e62bd121baee6c6266f7cc0c5ae8251ada2cec0c6a0b8619af2ecb2038081eac4a77c0c8e3a742818a0cfca314ae1c4e62c18d8c84f47aa61c734daa0af268820735222c948ff058847dfb285e0b9850b70094051bf24a145451f4ce609d4338a0805908111d54ed1b33dd4c3cdd3e200b156a7549fde5e37b737b883b5ab05350679c7945b65b262f4b8c2f7cf3c8529c2b38427c8852172fcaed5ae34452af6c75d11378468e39256ef39a5dd9f476763d3fba6ce5e61013645b4d91391ae10b2ad9d3d51bff02fa5f29931d51d9c6ed8501a495bed6d90ee89300b45fbfeec6febc722ba60fdedae840b3eaeefdc0db5149563f4dfd1394f0cd5d46fbe5fe90590ba4c0b7ec11845d5bfa4fe9186d0ce152ce12eb1e5cb8c95964591ae912768bd9a350fbc4f098b3b46e3e8abbed93ae8776ea057f67511d6e72a47d1fdfe38a726da9ca80e169af3507ad9a32d53157042078faad821f27d417f115d1a5a7e372929e52290cbf3520cccc9fa2a52fd41458757ce260a865709a1081699c17b1bed2c2e7cd5d98f157458ee61b152047935ca5965413d4f50adce8e633727daa98575b8dd4a32c2b24e1334e8ad45205f3c0a6e59220fb084cb9d3790566198bb1f87d110c1fbd603d644e96b0237db239347131e7a8fc0bcff615fa71cdb48f5412251bb55dfdd007cda6a34d32e45f69af81c919a69907d79cfeea175a1fb579513208aee2afb7eb84c38e1dc71de7b5f6ba39fc6b020cfca7c4beef797c74ab0b931f396c70c9ab376745642e2cd70ea8d541dd0f1ddde6b33b5827d8ea54677e47746ee8f0d2b304dbc61dfef37a711957b20513a962967c8bea50409c232d0fb4b36debef4a81909dc24cbe9c1c21be6f11a6220f28d764638952ab7eb2b7ddb91dc64ee55f512318a1738e5e4c8475e46204587c8751135a5415cf7255fda5a015de2dd4e1ec1dd36f235b1521ab7a179d0c77e56414d06800349a59f55ce5739ab1120996272f69a06038111079a65690bba594cd78a9ec1924589da79dcca06c7913bb2a9498df66eaf5eed797d25cce24db2f7215b71acc88a9830dc2cb751ee86ff95957157bd2f548ced88afb83c0ba5e58a1198a9b6da7fa4d44fad94324204c9b81e5d0fa419948bf719fe765bf637282619a9856c63713a14f46e555208026911bd7e2cd76d3f2fc3d93bf1f9782de908fb04d20a7e687b48680779b363cfc843defbbaed0353424d906a4de4abbe9700757dbc7d4d1b49f61f9110076194ac53eff7f7a92870d3abb5cc343657c4cf93308dfd558bb16d4c699cb839576bc94877233d938a9d80797ab02169278b26615f840f086ddcee60b517f7b545c5b8db9d4049b71a6eb0171e8cdfb2b13b3ed1821c0ee5a217c1d01b4d8e7dad78f658f99f4fcb3c29149726f0b2d0e808575d0ce63d9eb74aeb661d75a94e0bef9c81752bff0540d91b1aa6dbbfd75311fe61eff9c12553e79b5b62e354f36ef842c6c9828ba548e62e7fef06ccf03f2da150071449028c852c9626be7367549288c4f1e9886c443c69ed82b211c4cdf672d34723ad2f18e72f53188c02b81b16e3452e316ef64e6cd4faf17cd96e15de339de55f2ebee4870573750d4b8053e90524754722bb63b8ee98d18eb93fb5efd27737ba14cd2e4974017dd5c924040d864639de43388271215b708693aac8f9526c70947af6d689dec565b07ff9230bcc23e85c0191ebb601ea8b4540adf61a260acb2ff55b8e37f253711f7d317902f6304fcb587b6fc72c95735c4e696bfda6e24a8c7496862aa0d3b0b94a76c03b911ce3504f66c45b4612346aeb695e3c0dc44fd1e6505f475b8eda0c592ad597587515ec52c9671790e7ba939a25f43d97bf6840a1eca283a5b9a20850279bb1ba4ac66906a8853ae5ef215233e9457f89076ce81d675c5d5a8b9b9bba000d8d0689449015f72dfcf1d0a48c98d7be5383219082d49cec35c9859c674acabd485ad80e7464957136d0bf70bcc665beec55e6434a408a5ce9b23656af1273753e9814c22a808f0565ac1774bf7ba80f42bc961af31b7f810fbd0f6aa242dc3a475f3dd7d01350db05bdab2921170a414825da45c615812c5106794577706666da3a000c328a3c9161d4bee88cef52ab0c1e6d7a2ae7b8b500497f3054af3afa582f94abc3e6996784417a3f794b20d1913337364acd963f5ffa7a83af260a3a97ead383b959315088406eced2a7b2f459168d58c0e64943aa46d273e4fcd0faa60be98cd6947dd6649b71a560a6d4bcb078e55b4955b735a0000f0195274ead35a6e15f442d8e46c8608b031b5a3c806b95383dc51ad99efc960a80240160194346bcd2cbb03ff513094b9fbfb1930eba54c5a944c9c29b662980044f41e82cc680aa1001460b5e53780d5e7464a181dcb1987f46962d24d8ec21802087aa02b8d15da1b2c6580ad99fcee0873c6b97f8e690f0cc59f6a2c5771079fa54bb866f2500116db326183c79e12f178bf1c4839699d84c9730b14abe61cf5f7135c0e59a93e573c9002b44bdff37ca5c088e921496bce38a362d43e7e3a0e00a5a9efff4c68498e0ca5a253f47bf8f5ec346e745704ffe2f9e68375c8e13234ffe40e4b80780761915d9cf13f14ab2e22b6b625f3698212200136a4c534f519552a797d8bbf13ad3b6f9de215071de9ae034d91d1bfe2923fbdd372d5fd6e76ed20d22cea17bd62cdab298b1169a14d9acc8579ace40db5e77f01b4a12355b05e4d3cba8041d52aaaf6749172c223c1ba50e82d299a15f16c64e4721e958de69fa54e42045f5a79476ee5afcb4bf76383eda1d242acadfb5a846619c9c47a89b4f33c5929fa814a0070cd0ebd71252562492124595f62a80baf7d80b5844d672c84664fa24a04416e35513d93daeb10e382caa1056f857329b7bd4336f49b727dc8a87f4548df9ad60c08ba7a5fff758622796e7fe476586bd5193ee1c419ead30053c88c946d29afc80d36dccb02105f77b24ff8bff60d036d1398b99c7b860530503362cdfa301de1c9e5cdb983e867110f81cf6074fe45edf5ad3ff8916bd772b697192af25b37322925f3bb2c590ad44c8687d215c25c7d8340d260c96d4fc65d665f83585e7aa11e516e34c51788bfd26da11c46164aac9f9f3fcc25a99185c593a03515c8993e42ada968235e25cefe63e638f3778e6c40f33ce79daa7d4523e029418e5049bf71e2c5d693448807601e663a219eca05ab217197e5ab8143313b80d52fed9d140b7a0a236d13d7bf80e85f6c404e27a0e00b9fe72a1cfa8f210bb474ebe4f6f1ec54d9f1cb1f772812bebabe9ecdb6c9c775eb90a8197afef66ff8a89f6e7a42d955886e90329f617e0ab3c9203ca81c75f0ae4f3ae6a4423f1efd35a1fe7e16190ecd97499d7bf03a1cf80466627adf2254c666e2331de8d730ff18f2fa8bfb1f33e542d5ae47e69fa006cfca797e5995c8ece5223656d38a1a8dce8bd66ba7274980cb6cf9e3dbcd03955cf919658bea2a8df2ffa5dc9a4af06b642698f667fd0eda05ffe6040bdf9ceba2552cb07bde480dbce9bf407eb671a7018ef27ed0c2e864c9215eab82788a4b207b6051b79399c13e7afe06bb5a663b2141268dccde94e3e77a361606399ebb6038786ac8c23f0bcd6b969cee53f1bda21e567c15f7edb2782f9ab2f8e20009086f4b6427ea98fd5725c969284b9a686bff27679814534d2b9b1c6f150f699e7100942fd6a4592e7998585744cb16d0cc9c492194c36017ac09464896ef1383315045588010f9b6d448b9fbd68a25a31dcbd5fbc0364ebde5ffc9126529c82fb3f169908d0ca3dfa75ad8cf82c6647e591e893a0256e50b19e251c0dec8af6b14ee81c43ac5e98ac071d7b91542a9bfe8eb7fb68bffa7fda1c6e386b7eb3dc067d231ef7f09d5f31034812852fc73ee973819a59afc8158f4794fee5091c03422c2bff11d94db5aad8189de13f5afd86606e1d6bb51ec8e5a93fa229eff8053b5fe67458702095e4dcc5fa0be2d1981c184e16f87b0cddc1618ab068c8edd1356c662d3e38418435a2a3a19120d24761ade50d461152701b4dc9b06e7712a11278e0baa1b2a38615333873512257ed080c2ba6892be9ba168f7c9bb44891b95c2d7f2b20778969e2920b55340b598eca4e7713e7972e5220ebd703ce1edd38db91bbb898230cdfa36fae16926e1db84dceb6ff6d9eb46449f1dd5012fc43685460a680f44fdcef4358fd521b9e3cee78facbeda6f64988b3804d4d145f549780546727a320336ab8848e7eca4210f9d50e46c5ef64fb03e3239f010702273245fd91fabe1e7357db3a0fa82c12f750a9f9e3a9ab63a50ba795ba9b743a236338555843a01b3765666690159436e96ccc725faa07e7dec802d4107442cfaff426a883281b87fee035d57dd080706840cb83cc7720a4a3952cbc8ba592a78a0710512f817e409f5e1c101e8f71cfc5e4600666ca6d813aa92e6a285eff0550e4be7150e276712fbc67cb09dce372db8963300a2146b651becb46f9069df4d3829ca02d737d4f22d23485088437a2bd86b83a7a2145dd9758dadcc4a9fa0d69b778487a0de4c204bf2e19182a0415b5b3e1c34b9f4fefb1bf23e3d70800b078a4ea29a7714111aa8c860227c313309861b814f476587bef1d47803db420f4a818f275702ec8a5eddd2d15ab17ea0ecc1009edc8df5c03d7c4b9ed3173d44607eef2669bf29ab2d6602210a135ed83006e493586b60e589f57dcdcb7d1087c1f3b065fd608ecd7180ec8c95250877b0b788b859d73db66865c2b82121e575b1b22bad4335c944cd6e2535989e0b467a57579f68fe381d3383346fa323fbb71e9b72326e3580806cee8901f11cc0fdf1355480adf5bfa0951bdf159f93ca07d067ae8895e28264c696818c00d34bbe60b572e46b5434372240a485d2e7d026e4eb6423fd7c17b528c6fceab1fd208115a48e52c896716940f5c07014ce60440ec8ff161251864f92336413e514d68ed4c083cbe065319b41a4224c30ea0d6b4da3355bc15d4f4e91e395fcd16a18d25afc197b5583c9e89e21c9c79722f7ae617105a6971b765cd28cd6895e8a315640984f0e9434999c79e8313f785f0f00924f8d30a5ec9ad37cbbda70dab2decb4d844f88f300011c980aaf14a757bb73b302a29162b1c4c1509c4de4e9642ffa2337de48e9197a3b78ff7f88bab92164336d0abe21b1d88195544ffe9f313ddc0e8bca4d6256d7cbf5e84d87c178dddb160f8383561501933707f0fe7d62ea1529ae431b10dcb92d90b5d79ce626bef273d1725956221ab6410508c1569784d52b3741b477b14f7a1dabb1d6dd6e3c0ca074d4aa47978c78c884ac6bf21e9d0437885d8fde7b4125b7ef5f7974e69d074b969ed546196f60167091b326e5511a4711a797a4ce6b3ffea8166274b3ac308b84181ecf41948a299b5bc90972e359b2327e3ddd6c8085c780471b935ffb51910f924d303178dd6c9aa152be8b297851079e5c9fd83268ba65d7c5a35beb3f818cf00aea1cb0a730edb55ee6c1c28d041ed25b956e2aa165fa955ce8e9a2aacf086b5fb56dc66dfce5a8fed5715e43188be42fa404bbfb8c6fa583cd03f8dda319ea10d9d5de6909579e1a0d15c6c4555fe83ab6344e1aba12f5fae91f23e046d192e7a979e811e9f35451b867300993775e5e74ec370aab7e2c30f3f8a9fde4e69d30263bb6e5306cd2c59e0fe5586ce28ac3503cfa71ea24696da613c14290433454c3a6e163b17ed40a525fdd7e05986fc7468447651d09759342640ab37fd096fa5dfe1c7fc4ee214c38c5fce4d959a11f0868daca17554d9f1c904510107d8f42515e5a77660695a0fadc4aa38eef70ce99273d37031790054a2972da1765c2dd826bac34cb37188006513e5c455dfda1a9529f88e123af95829d9bf5fbcd788bd5ad858c280e0e203537decc5674060f4e7ebb92fc88e3a4f424903ea99c00df3685caed1968033fd38ae56fe406b58f9e48f575cfe4fda5f6b4e0971a1c0bcfc10227998666140ef0505b7426372a4da258bb5fb1bcdd0423d2203a859dfcf294fef14e878f7e19f4b5de2304478c4d86e18d5d02646e49f45d7777f057d16498453394aee576a2eac369f4c4a2e77171ebac2d5d50a6f3ecca2743fb340dc5836e7cbb453e63d549e47ecae849e38b98ffd615d1a33ba69c46f4d08648518188d584099ba939bd300ddbeaf2255b4a5f98bec5beaba23632e8ddaf600bf1fe0777cf6eb0ea996ee9e31572416fc1eb528b0ecc8ce9a18d6843b541f0955ff5b16ce9538b8288f7ee8214e459e8428c9480ebd27ec60028fd4b9dfad91535507dab0203c9b48c52ef90eee2bebd46db5176804b7d16a20a24cd76e33a3494338484265653dadc706b0bfdd26a5d328c6d5eef82b318c758c93a2dd82a5cac58e9e41a4daacf513de8e8affdb3a97b413596778ed264cc334314909c199d37827a4bffbc54d09357a70a715eba91962ae715fcaa1400fde67ee307d3b074d28997b0872c624072e52b4926828f7bd91e5a12787f19aa761ffbf0bec02e1adca31f24d817da90e67dd90e1530979c4b5f9b4551980830924e23fa07d38ef9101df27623d57d9122bc9523345e7ba196368e8c474a59e2dc6f9f531ffe4de2d9d88dea5e6008ad4d4f5cdb559a1b1f2ada2e30e89eb2b3cd55a362f0549f2ba8872ba5d653c8834fe700454c3caa79317f1967a0704400ce2c3c5dd8d56bed782e3a964ed7e407158a4d3cb5a3feb95d0fbe1c60992f8f893570ee7300b7a445d0e9d13249eb2dccf0ba122846fc0fd99524ba9c53cff3f3587788e2e2020dbecbbbe8994211c7684408abdff747edc670d11ec74d4ce3f65d4628652b32b9d780394a1cbbed7efaf92efb8196768a9683bb89f1b5aa73e599cc632cf2dffa3b54069490235d70185a66c88ec03a86b21fb178b27ec348ac716855ebe3af844bfb6f4275dc6a6b016951d1e4cf0b5ac064d3f60c4f5bded34a299c76c2475dbec79ab8a78803fef7f515d22ea889d393187d57eb67b80f6a4d640e19f785dc256a76b7734132587501c14e36902c7e194ed908d35f4d22cbca4226402d2837e7bc8a3c3c2f0be9f198fa4a4605c112b94519e1e881bf2ab6fbc0e10c6d1bdd3d43c87880e9ac9005afa23ed8dde0fde76797ee0fc66c571e6589f0bb9b28bdd4e8e140e61981e369aabf7accb90e00902c36676371457bef8f9eaf35d35ca31f4c7001d01d396221ca436354dceac96bfc139877f8392b07d74ba21dfda797bf32b1d14809e364dd87dcf102e2ecd52846244c9d223eb132cac05bb4ff1eba5f1474537681b6e149623c70d11828211a1b222b8f48122349b922057162ca95e7b15d85dd95218c34d04d96f61aaf9efb4fd6977bf8ea9015c709cd49a0ace6bf41f757e7adfdfa8a3ec56475d6f25a09c79676143c5f78b706101fb9c9e9fad208d12f8b07ded4e8b23c431b93fba439ddbbf6f20137debe8280884b7fa718c86796b4dd6da5d583c77a85503488bd592d4b6614da1d91248f009e9adeb7b2eca6e88669fd8ef566be0197afd7c1a3c9af9ecf783ec10aa1ed96034adaac47f342a07009241a7cd643cebeb38a8ea14ec360f47abd3434fa1155ec7aba4571ebc769784f029e729eab8f32dd99a568d951e6947c86484931d59e50dd894b4945281b6c1220b407bebbec64aa90a86a8a702075013a453d622c2df40d8f58ba4f2fca4372cdc093270329d2e04586efd656760f26404f226f3a10901dfebf22a8a4578d210b5034a0885308f8932093e030cbbada5111a40d60470d7eaaadfcfc6e4100945ab2b96d94d0a2e59038ae41bc54a47d84f66859107cf75aad6395dabab2dee5780811eaff878f7f153dce8f3cc555bf47d1dcbc0bc0ad88fcee414a202a6ff17ab8a04056df0850ab0a941de9ffaec8526fe7350cb15c5745c2f002de69babe495d5f7314120ff8ace7092ad98938afe735d4623d7eedf3fb98ae921ff754a01ffce4cbde73b1e05cdc974b1c944227a4e6d66a9e6f8b88fb31ac78dd82475c28ef4b4b758db1835de48a97d19c1738c990d1cf67b843dd65cbb53c54beefcc0e0bf26bff1756004e03189ed464aa67334d93e273b3a9fe01be66e494deccfba0051b123454882b6e47d2dbc1f8d80739c92a54594b352d043474e9a1bb663323d4bc7f2552aed48fde31a728f446e0d69e9846315f72f0500924adbf9626f7ed7b725ce236e00945b4560af1fc4552c4b2474a85b1c3fb16d18b8c104ea8377e214a240a47a6c852569f0b34a98e7c5c40669ae89a2c8e6c00a79cf966ad2b6da8fe612c32bc3ded3a426c292cca8ae478b80ca009ed578cb03fe28361d498c984f3d294b2699719c0ee9afa293097aa64ff85e14f74188494349c551b446b2d5900683a7f2b383304359021a63a5b968b2bddd9b11c6fbbb71c5262f4c5eec6e5456ef1ae71e26ce94c2295f821130d358611f2c17e46deebaf4c37f2f7824909b04faa3b9e5e26beac9fdefd3948704220134d6683f413906bcd6221d3b3c161105d6abc8c630c225a727afc025c856dbc6c49be96bca20b1b54ed4151755d6aaec60c88f58ff9c27a679366b793ac32dd5f572a79073e825cf83b2dc50d240b65450e663d41a6a6523d8cc4b7bd5951c22ed3db59c761ad6f6afeeb638ffda595f82766833558b838612a1c950a3760f9ec8df8f66938e2827433a07c7042cf73e291056cc791d1124aa60f2ad9298655fbd54af68bf486751df3b4d7c9a6b1c0321cac91b7e2198ae6bd65079f06fa870d59ac843ffba0669a44aa4255cae2b05e44f40644fa49aa66e6147cdc04888906fe1a91cf8c7eb19aa2988c98feabdd99ecc65cf06ec5be5cb1ca3d89a95ffb40e30b2b956666c8cc54c15c0a413899c9880b4fae0b73fa1aa611adb1d3bd6d4fd5cf06b385b785b192219744585dfd664cd4be5708a93d85909cbcbbb0964f8991bcda9ac83e65efab4f81c31e764fee5ab852cc0d63a993ae040549ffebba88f66cf4e507d7a2de40426dfc3e0682be1b3e7b6ceaf417faf2a47e48106640bf859789a9d15cec551b2f3eb2cb00e84545cea0bb3d5e228c6fc92545c46a8ff68a7fce7a5b69c4663acda47d7586ece0008a66d20e35ef6d0eb39528a6125a322d68b5f406bd300ba597c7f9177df007eb4e4e32c8bd06e89303c68e0f032c00bd86c7e4e79edd5c86fb07464ae512d20ff6e5ecfeca07550e7355508156b6524a50b6d94a4b121d46b141bbf5957e9d400ee074ff2b079ad40bb5d88d24095e5e5f8ca7584c7b4e892677a3401795e5e0506a96d6ecfeeeddaeb434b5dc7a455da7c964d16986bcff4765985b1e7d4560be515b6ac6ce1495045f6f7ec1343d69f17e6ccd4bf179a56f00c53e974442197a4de72712bbb1d0c5a077750c1d46f76379c965b95f92da2a8c47c187ab92a4db9c5a742a456c806be7874ed2c0a8da9c18d389fc768581e7f5215915a841b793c56e0bbcb51ccf0201852560cc63ebee176befed77303bf01cd369a727a2bd31c13ea36efbb78c6eb4a550fa886230c62dcdcb1842bac62272bd3defe8f2860a6364d382350b5ce56bcee66a59ea8cfbd6edfad1d76694d9454ee152424b30b622866dc89456d0b1f0d2800f57ae5749283de8a9fc56cab0adf51e1e3b6acaa6b62c5e89a79139e73182df1a3a0766876ab998eb44c14eef6fc73aa4a68b3e89164b94fa90b417f5869062a499e3e188845a4df774a90abfd30fc6b3589207fba4afda7dc249ebe5128cf382b64951c5c683edc0c6b02a73acbf88c7e885e45fbf06d067e457f20637b65ba5b334e62d170f20dffded5a9e4b52edddd3ef3467d118a6347126d7b8661b25bc449a5d228aeb647ca5ac3ddc2cb5191f607907f254654ba31d960b9406acf358219953d4f96b67dbdddfd9a3b9f068e55c064716469f28d84d6c8ed8d588e45d9bfca9d2947a9cbad2dafa4da4a799bf5344fa1cef6afccd590f564c4e27e58fd76276531aefb7f067593e29125ae585c0490df6c4d7ad5efbf2d40f872fc8e8bbd8e42d1886ea0e7aba331795cb34689fd67f719254c02122d68e8f12eaa5076ce7af15b91e1175671e49b538979dd26035f74917febcebd9898eb2518556f48ec3f03eb00bbdc5a524a298d812deb0550e1600ac8c211cd0cc063eec8f21efe932b418698f37069f70fc531c9f4fd5780de83c1e68180564280086bb8b2dbce00a08f72bff053fdd6969803c0c94cf14a33ae13c5add6b29919a120525df8d83c7ff309e5ab2147b1368f87d057cc9b25a2315d617ce9c988481e6f9a33640dd154f94cbd13274ccb44af48db73fa4e18c5ed6a4c1c1410e5f7d48fed8c64899817ff22a7bb5b1f73a80941acb3ccd1bb0761dc4620a17f2eac3e636bf839c45093bd98d7a2fc36782d2e27bc02402a41a70b44e2e3926b642e375410d0492c7b5cbd4a04022081bd52fa041670a8a5eaec87f90e456cf1b1ea4d1f6e645d2cf37e28f0154f64da8d36b9c5b843bb2a3a53699d1f338beccfbb4e77f929736f661b3a48f5f6013b32b8ae7ec018094d93ef2d9cadb41c14a701d8f5a1e53a86e89766be3e2ed4e437d5d09c0aab8e6ec1aecffb52314e1c48dfeca7b6644ebebb186585b450ea698e6bfe1305c32876452825e608d37f3d9552da0243d19f5c653beb176a1e0821ab43e5d9fb0cd3d336bbead4a28bb6b7a0881a1b7f79857330fc5b23cbfdabdc5981717163da4c286c0c00369cb76b01aad6b5ff394c017ff7a6fedca52f1bbdfb148c6803edc2fd463903d1539d71cad4a05bc0a252bbfb2ff83c8cc85a7dc3c4f3c36ba1002a368f19955078079a5fc6f36ec6bfb33caf5e90a9869a07fdec98918fefaa8d9210924763d0a01be8b005659920894354797def5fbd0932ec402a00a4f5466a1adab94c5ab85654d6700892e30063a89555d28c63ec89eb7dc24f68229b0cc1b2322c454b6415febb27b58f0db26dcbd16927d1b636077bd4140f7a8caa4d3b3f9fe1ae00c920d4c6b1fac783900c38185a6c7c89c81c7deadfe43ce53634bbdb8af2c7c782b9562ae79977ccbce2c24e282b8694d279361ce2be4c995180dfa0bbf928b8eb9dbc98623027cf466b80eab9daa3a292b58d656dbea7f5a5ae9ce338870b7f4fd96962239843bc999cbb728d81f7058309f4c226d7a9c2f37e0f820eee2bc07efc9f5cc9538e9dc7bbcb162f03fe7c711fee633ccf40f7b0cb5f1d75fd40aba1196d6cf76ab1201dbc15374bb14397df29437fa954adfb72b6fc395324948db006f5835f206eb10e02f817da3d80b8587c358a269424705accc13d2f5354ed9eed449b2ceec6af0b8e46d681ff85b45c4e7d1e284440f69d5b2f6fdb67fbf5a5047a63ab1c57d5c42da4a381bc2e8aa8c533bf00be268634b745688f38c33b16f70c7aa77cdf0dfebe04b7326ea07d342479305f49fcd8606029f591160ef3d6fa643f1dfa759e183e4852793bdfc5f5d028acd36b2834d26b38a054daa7be224d48762c46836cf055a7ee558da1cd3e5b3629b071de9747e2e837aa76632ebc76a29f584f2f13cc8b472cf092e52e04033915ac61e2bc2e1ff8363be834f06b51edecb2df50d6f0f28835dd829c2be62d226ac0e75173abf5dd6da8109695c71589c47d4d05514bea3cb6448ce5f26b16238319a4750bb8419e717e1568875bee8932b67044871b9d16d2ed642575491bdcf71071ff03cbabd4f50a735f3168707f4d55cd3263585d12256f5f5a01610e61e3bb5515b1f4d7eebc6694e3042a522610b7b21c70801389f3a3513e7c47c1a58003ba83a58b5c2aeb5db4d3b532d56011d9404f4d07065f680f2612a6c77e67c657fdca2836c122670ea1fdcbd388d551df4d5b392836223fa5d6139586017d10e5b709283d6b70e7605a0fdf37fb7cc14f0fc4326f5d5ff882ad55bce551252fed6e17b1deb8b02bf6087d33d4d7e2b49750e76593641957eefc29c443f441db787d9d147f03d7770201638d36a931b7a8a1a072e78ec8cc0215e819f8d44a0f1c1f25337f88f5e292c0c4addf6acfc1ceaee6be8cfc802aa5cba5ef1df30d753929c24fd4a89bf383fb0ddf7c726d4377adcad774bef382b810d789a5e42b8ee8f47ea5dc2c868d11e8a5f9934a8d8a9a509622f2c0c17bf89360386e85d66bd4eea460e802defd196cac2ee2c2114eac80a9d65f89a117b11a0b962c8d474b116a8436dbc4d8c070a436b6d2abde115deb48f277be473f446d562c75221f368214466b8c98af9347c7f681eda2920320e5494e6f669a3197a993d4c2a8b751effb70b0208724c4adea28b15292f3835bdaf3cf36e8ef3319d3b78c967b93749fee27cbc65d78558aa37675328fb92100866c0e528cecd34d5b5742b40e12dc50da9f968d14d138970583a70d345b3dfb8670d24908d6c9c6425374fe409126f49ba6ee836c209b8040e748437294d0e9f7e7e2345ac04b3b4065458f2990e77eac4a72af18f24da354bb8a5ff47467ede022c7acc089f75ad246dd518b1232cdea640a9f1592719e2150ed431009461747e48710157a18c54b7057093fb2c4bfa8b7e9e31f28650e928d0fe7512d4dd0edd19ac5968e60b8ca4c1e6faa447598a8336a45399530878a5183593af1121f7177bcacb40048f6fc985c627c7fbfd6d3c9ca77f1383a932ffd1522d2ac32db2b892002d632b4e64927b63284cffb9d0f4a27cb3d4e80e3e9de834084d21de76276c026ab59a72f67f2bfc4993d32b6470e53e60ba90f6d35d40c4976f04420f106fe165248f313f533ff975dedd05f32c0f6d6c851d616cb3911534caacc37db3241ce950c83a28578872f3aef701f04368e03f24b63bd6af7b039414dc385899484a245b0e961dd2a0708bc6f8d62aa38ce3258866efe5b58e692a95b2ae7b7bc3e2f2477d4920cafff3bb0af6aec7dbbbdf6f120250f9db4a12bb3642d0261b4a9c7150563863bd1af5faa3f971194491c79118cd9779c0032ebd172aa2b7c794928edec11a6303de53d3a52086872d7c4553a1a5096137f3442a9eed17cee8062b6d43c40b1770cb8d24c82e000a5f0edbeef316809722f7d7d660648136631398312dc5d6277a12ebe90258cb8cf25811727a43070c3e8cea463909a945585e92c62a2cf61b7e24a9764a33822e971d4bbdcfc877920fdda1c7963d2d649e0df837ce727ba0a8d0ffda54ef965e6e8ffdae8537a5efc5d503d49e43c547e0ae41464d7144716cb85972cea5b969f48d8330ebd7042a119215fd6cb1a2aaba80e9496d2efe3aa71ba73d01366c8bc653d03c08a341880962e540616f8822b4432941803d22247eb2eeb08d24201da2d1cbb4dbef1064b3d358db4d826fc8bcf2e6a0a0b3cc1b8e27a6c5b5c53812d57954f41d749b4ec59f36e57e9a50c001a6fa5d122361bd54c7edf73375d9b1f790f48684d1660c6d0322e9c992b620bece552414c4fc787a56f354b96f53a6c6b5abe94a57f2ae0c3d1ac5bb2ef1b8f568377c431d89e0aec47bdc7263a71525ec22db365241b05c0dde1f171cd26ff1762b04033c846c7eaac8f334e800da056704f287d7e6a9118f0b39b6bfa616c534ebec6659d3ecf1bef0ca3f6d19a39eb531be5951efd0b02336a7f057cb423c08ba484a83bfa45d0ea1d7732a0c9da3274b4a8fa118bedca2b338de054585a5d8b8210cecc0afc8cdd4f244315e1a47932173d611ce59aeb9b460dd80415b2e385896d248b7dec1b669f2e82a51c6debfc5dec71148c646b08c70bad7239921536005ed85494cc2dbe849f2ce3cd27c689c3eb63b9bcdc00522a6f26fe8350e9fb3ca7a6726bfd5cd3e628c6c69de63184c3e47bfe2cc9807b507ff9a57452e776c08bcc697f474c767326d1fba5fe41b77c519b45004835115970c4020d377cc2e6870c25232d6e4d77a32f1b853308522d42ba613ec414ca49416fa1f53571ef71530c45702046a01a05a290351b3123c0180835a1248878e592b1b25f543d3b0d7c6cd03f9e5fb1a5d2cedadf3fa18c869bac559aec685a8cf5aadf2d719fee4ceaf7110894972d2d21dbdaf1f6f2d00f7b907560d8850bd605be9bc5b2bcd9ebfc03498962fb32250d3bbe8b6d4b665807336712019b3b489c4cf690ed46b68b341f540094d818bbf151e3ed8d25047493bf4bbcbef7ea1fe0d269a0b31b4f31e5626f2561e96aa493977c4de7356e712e57f399d64722c564cf2b602930b614e193992835e2fa16effd90fbe317a163859d6ba85cf5b7e7b8f53af3d66ca721ee73afe2e2dceda69184527c660baaf597751e81726c22d958454c24fbe5119d88e3823937d54806708491f7260e27932e00c33a10f45902cd4797c12e517fed506768e689ae1116c952fbe339553f520e56a89e976138630a088cd2a1b1363fb4d11e7521e40b2ef002e24539ec2a03cee1d2f0b724d487eae30be22daa45ede7024e67b6015b5157ef756596d4f21b0e8c049deed76387977cd30ee89280b4364ce209779a9e65b9ba5627af32232ecb98608e7c2927b8ac9e6a4608582d9025cae61a7abfb8c041238e65dcb1553a429d60ab88a1dca9774e68afddca15257971f92de383f5589a83e53a7c4adf0636434f33915bf23e71f88186c89c7a9b6415b0bd8093e4b130b7fe0d68c985bdadcdbd9822284a657caed1913d7aa2548666e6e1c0afebc46dbbf816f99b7623479ab4cdb3fd34bae1e4805792d55574a52ef48ee9d69795d8cb1f05ac928329d79373804e3f299b258fdaf4c1e2104ce54843c938bff3dd939780dd1848074a2ad026733788632e627512eae759dabec42521eff10c307a6041b854c6a4686fb30c00b08dc8109021b91711a6bbb12f17b5245a90678dda882a5170cc0bfa6c437a1f9022bc25ba942926ecaebeea1f89b7a531e00a1c3f26999e6db0ffe53ca97f8ac392450868e59600dba4aa77a6cb17c5d3cf27f5c397618fe4c5973f39324aa717d36c3f0ff776408b275aef288690df04ce8dc3448522864ea7cdc434198ea214b1369540d7cd2e82269c86e89f42aa501934dccca74e8d4d84b99b8c9b20e315747d9c7290f1f62891d149bf4dfc7b78b6ed5e1926fd00220315cd2cc0a9880c984c2e88d42ce288c24b4178982e039fcdeb0d8b2a46d9f1336666c18b6db0290f0e596b8d3486fd508181cb7427267059731c2c349a6337f65b329a546268f4bdcc56efa3c99d61646931454805c7536856dc2bc92299bf27c56f9dfae8eed82deffaf8945c23341e5c7a141f95d5ecd393cce851df039c99a02dd1bb806bccb60cb46f1c12efc66b1efac2e04f0b65b9d245a2c6b5755168edde81625be288cedcd0dccdbc294f0db4cc79cc123fa00b70b79fd61d103e3b94b43008f02177a70f89ab0670435243b873b8bfd75a2f7049088598a4548fbe2d52434455e989016e44de7620428c64a68291874affb3dd138604086d72c8123afbecaabc4d28504aba95de423c9d7a08a0463bfc1332d9a38fe834b2f8018d264704353d144ef6ea157f7dec6dd5cf3937935466a2d8bbfa5a18102565397193a2c96f5a0c2376dd8c5de1c134fae00fe65205abf112b6f01f3b6bf8d2a6b06f5f1b1c05a05cfaa1ee8c838aaa4ea0686e9f51f81b7eeee6fc5ff1dfd3e02733c3d6584e71383d21d1cece8f1713c1df483daf89b5b24dc8ecc51cba31f1534f1a9beb7a9f20f55aa32f23fc6a78255b39c72f8e147beb87e1f18a0cb140dd128d15a65cd89c3422d85ac723eec4e49edf3f65ebdb847bfd7f9037d740d530f4be8711bbdd7487d6b55b25b28d150922d94e0c4aac54cb2685fb62cf2e307069513a6234e5314d06dd8a1290358dfe67735e96924b61e725fed6be23a4db9ede3f9af7b3567bac59048cadb762efebb4ccdb7692f84b40bcc3f910e249f75cc4b914365f134462e7f72aafe83b8ebf3d5cf0e550ca42cafb73434dcb60fa42b853a5d4e316f57df83eaa784bbc8b2e20a082aab67418820ebce6c7d4c7b137d52d8d462a7a1956e2b7f6c517f4b2ded6e61dc98abf70d8a60c86c755369ca4fce303f8f1d99575d3ba5d1823122fe8b019505c39c824cc040181f8cc58de4df152e0b6a9b3e60cb9b17e3b95348fbb7278b9333494456a24337152b11309889b2bf0cc2293462bf95389810ae4caf347e4e498cc904e8bbccd8a341df739ab0d1ea7353458d239bcf56ad0b5e630c97c2e7ab0e9c7add528784c552969529b2b603491c0c209e751faeae15d07d5e999583113035662cdf240b9556d80d2e41ae98279a9af97af44278f08c3ce86de1dd7b3220f90c0b9e920e990228f5d6772c2002ca43439226b05d6cde1c36f2447515a191a433d370376eb9ddff6b10273499c1f9b426f170aff841d44bd58687020fc164f2c0e7e48730a1d4caab5c7ff6ed3685d395ab6b3035f3e80f86fee710cadd42ad2b856e065dcca8e93cd168e0a37850434e7682c15850a7022db5f78cb23c785f8abfa12035d774e9c753a7406236dd9631353acf2a76add439c69fc0f7e83127a1fddc3b35419a8f1d156cbe6a3c61417470bff1094c25ce5a5ee7f0b7b8a8be7b6f18e27f1091ee1fa3b50313eba0a8b0ac10efa4c61b7f9cb0b5b7193a151778a9da65f02256faa01a049e7456fffd12a931d26be6cc9a5b83e7d07e148e9334e9110e2ed713f9bbb3c597f29575d7a426bb8030c99652cbc16901c214cbc1183d145cfafdf9116a8d25b79ecedc94573a0afadc4393e6988ff98a45efd15980b253b2900e471f84859b04d0cafb0c4521834bbdc081b2056f096ae453f50454c7afe91a34fde789516df1f560300ff3e7ac234421d3815fba46f57d7dc7db83b7036e6e88144190377c1c2f1d611b632ef8c95b3616b1b84cedeb3bb61be3721624bc05c5eefd11c62b407f21789cb1d8204e99ed01ce64b7f7a83373de3c6604e796733fbc6122f241f90e2dafd6da32fdfb78ca64f2a003f6375818be8cfccfc8ba3c834b7e64f46cf04be71b7d2d2fbfe234048ef082a65de1b5d694982c19f131092471744f18ce35f9067ec98d92e2de618cedf5f7de25c7de3613ca0f9e8427b9fcfb1323aa1d8799e8f1451a229f03cb201018f732d60d4888faa47bd822db6c871b4b8d812f0ccdaa1485ce8cb37540ed4a94822d31a78ef7ef030d39409d143b304149533abd73b57f87d91ff0e09a8027a850af38d38e72695e8a78c3624a52c6b92eea1b06d5d30a582f0baee87b6f34c5507d75741fc84bd2e15eef1b90b9d9a6cb9c17e8a1811527845ec914b2e9b72b5a13178bf6ddaf40debab45caffcff082542547df5784dd8aea16b3c04c0150c9a93f24dd4f3f8f74cd57cdc9d0dd04913f27fbb932717ccbe6627e0d95b73359ef7c39e4780140ed50546b2ffb0cfd3cec2b02c33afb1b57b16a844bb464517cc1dc606c89deb5919bdd183752fbbf77fc3456c3fc868f9f87b0811cfb5d764ab8a9160c9382b72c1fe098a166bb813ee2e07452f0d07ceb235d9b93b1891b464e459d00121e858648de84f1e4dbc25e40e597858440668f675694999e1b24f9374e78711c89b2d4025d398535f9a9fb264bff29475fbe1c75662cd73b7cdc32a15ba6fd2bba5fe06eb8d2f7c7d792f0fd1895a80e49dbb983132bcc6bf23e1bf34e8bf267c0f426829500c6a8989ef19ea915bfd5a8ab537f6ed163ea368cf88fd3e156ec4b87345e2aa5ce4803397a7abc667193553ad18136c4b8609f4045a2032cdd77d79db53d0fbe9edd28564d2f5932bb60f580aded14b9d9842fe6fca5ca9b8470e70c6aa41cc86206e10501ffae8bd7eef0ef9ccf8fcc6f7a30fcc3c1a1b6f5a3f5d39016021758438763591b813ca69e7d96f8d7e0667d52db6e9921e4f155b66207e43bafcdf579b43f135efdc279bf8b4c1e270a0d643d43112751f5ef1f2c058a096532acde120ed245f96fa1e7fef07a7e86c79fc118354b3039952513bf415a548712651c2c2c4eb2465aaac8e104b158a2ef2d4c5163e5b6ed0625869c3785eb23eba4bf55bb7af5cb1b1b3c1d27f79a8c7167bef2a8630580f4d2df46b0eeb00b2a4ed29007b8952c9b29691692703ab78bc3da74003b86a04d8f1047b7134eee8dd785426abf5e6b468cadceaa57a6cef6c2e61f5543e1a93d606462c7cf128d5b9973d4c5e7f22affaa18ec56e76e190e935b6c0af840eb997f05a95b1f1871c5ff654e110ad3f75a2548cd78697b9e4ea48b484c5ae84327a1f0dda322ee3344f5747d2edb26f657e9f2e168603fe6e6af9e2150224bd7ac71c45bdc904021fd1b6c18fc29f6caaa100eb024185b806839fe61b868ca4420e4511adea9f302d74c413d2580dfe297bd7c178b5ad9d3291bed9413fba4b6ddc129a18bfb9a061c38f061385ceef8009d886111e1cd2e804a3ed0edabc5442923e21e70c394686f6a52043653676c2b63a119ad7731a6940a1cbae4cf586d72ed7263cc43e20d9e8cfdef1ee223edf97b009fd76363f083995f6964a64a2f85e6f470bc60809caa39fcbc89ed57de1190cbb948900f0a602ea7d881982e6dfd23247913feb47973cac2c5a7395ff9601db3f49ef2099320ce93d798c5b6cbe06cc8553257f7dd08f027c277f260cfad1834c43eea21f4ed43896563f14d6a7ad7eca248e03d3fd87226c2ddf88f6c385f1b1c01361393cf0eb2b4a1450d668acbf310bb58e1e9e713ded07d5f72a87fa6b5e7ce4815f4839bf82896eb5430d392568f689ba96f0ea6d0c0b06ae4c86b85cad625b0aaea84cbd6f8155c5f416029356a50ea406b971e0d892c88e126ba16a260a58d674b816eab2bba6eacbb7b80cf5578753aa45ee276100c0c8f9c5f69d023b467956c512a3f6fa15cd93c1bf7d4953679f7460ffa3b4be047d6013834dd70b35b731aed9417bdf9baaf2e0a687bfaeeb6b17295528be743dbb3a322190ac95b01a97c29c149c619e4756cc501f0104ae7eccb236bc11a89807f5bc28f2c9e4dfaf1768a590e7e2981e196ca95acd93ac2a21c0da78bb5fefb3142d4fdc48ded6d4abf99de40b66aede252477203f48868bbb96614b82368e94e508a0605cbf1bd66e9ea76f8b3a1ad0b85ea2f1a904d3d2010ba575800c101bb32222a4b07b113c7915182bb9cce3a5cd335440e7646c900be957b0dbf27e965c8badc3b3694139bbf34125607920ad8307932dc707618239d37092eee3235c35f1e356e3dec6a07e75219a00c135846b1dcbb2bf238fdca67d5f7fe7c8d33ccd0a9c4dcd41035844cdf973b40e6dc83cac39fde9a520874495e6202f5795e21374d471c1af5a0a6d8143d25a407e55c8679fd457229ad09955f3c92b5529c6cf87674a7d6a5a31979786ff5aaff91abf6780d5f237bf44725828afbee2c4bed51a4a9648919d73928d8bd0b3db9eb32a4ba392cedf36bdf1cc9eb2130dda702093e73a125fb92d4aacbeff014d31f99caeffbba409a380a905f3c4a023e879343fde201ec250780af0c281a2add4db1b783a70b60eb47a1354ee76ee9de7ba9502ac9021c42f8ad42f749da432d3e3deef7a24ee81c54335dcc2414c8fb53035070b9f6c9e3990b8973fb055cef97158bb790ff0047ab32506f265f5f04ba1d0ab4c4f6e70757fadf0bc6a8f794e685266140fde19169eb7f57d870ce2a44dae499da83c4bc19e593e4556c3bc2ed69bcca5668aafb8532018ee1c02d81a34ee1b0ddf3745f6f47de7641fc99cf8026756b4f727c66f10a046498a3273f8ff5a0fe4fa07090b05fe266abd71f4744a32f161a06edff850f6c9de3b4cb42157205217b779fe0b6381922153f7a21f7549ba6a5fc885affedc6901c638a80091f4a4db9338235cecc111af7b8d4e88aac017dd1e312c5b6d6afb03258256ca4ba75e64a9be98d8f17ced22e0fac881aa55e64edb60ad14e95971df3318b03dfea4fe1f91dbad48ae3dd54e743404c292a21d40d6eb2b9ebf2a01a467402f8c0eca4fd88fedd675488dff001396f250c4e425165563cf39f70253b43f87c516c4e030ff7bf95d844703b31139d26283b81dd990934a67a5b7c8c32930f943945037d5c5e1418a9bc8b411ffe731a4ab9aad62dad5386127417c3fe11615f9fa1bd836e539f69649027200c5770f9703cd5c84000b49b614e0128023f5e828eb4105f042b572ed4bea97275f9ff65bde1d96972fd3f93834adabede2d96e4efd801670e6b7242e65078c9dcf63f278235e89667519c196505ecaf25604ddc2dc476eecea93ad0cc0c2e0b20872490be155c1a77e55cc3039483b1f7d06bdf89cfec88cdde89c502a4b9128a29e46be4c33ed5b72763b85a67a767714414eb0bb4557a76f92c1121c8bb9d492b11d4bd4512882ccb76f833dc9f388e3bf8857cb5d037fc241be9d247a980c6a602f91fcd4ed1dcaa922945f1e7d40661884f430a78cd919826a9e60c924ec33fefd0dface51b97dccc6c1e12a0d3810d299bfd761d8ee05e49349f0dffa5b00500184273b8cb9d0656a14e51f1ca94126a29de23906390da1e6b7a447233a43eb214c421cf8c0207ecbd3d27aedd93c9072ebfd9fcb08413aaab1f4236a699a43942c188f8a88fa29d7de556896cc476f408400334190f52d23bd1c089bfb5fb75d846ca250d754f77a3d970a916a12d80a488703cb35186a4682b329dc6347bb7eca61b203ed1851dd8d2b1c9eef7ff93fddc10015f8251d8e06212f1f41a3da4f7728585fbb8447e1ade385fcd4e8b61dbd9fe941e04527f3bb75035cd83aa8fa73cd25d29b0876f729316f410d46328651d9722a224f5534ccb4531433fc6fae62b1320f57684443c0314c24e58c2021f3d598ef306183c6ca0629dbb90cc847a77653bcea7284cd242bedf5312990ee9e64c6a6bb1b1b62ce2e4bb70ead2b03080d4953b6d71c178bdedff2d4b041375d777f263a290bab235f957ee520a682f396a1c7bd0e7b93da9f73501704958d7f2223b9b3caa1c4ecf82b3c51d4b083bd152b777e6944ca27acb22c3f6162afb2725380a7e4eb5b22a690318f3125e407f127cceebe850ac02d21a03c212b346881e66d445e958042365b4f23c8b3da014bb10d8675b2c6707cf1919b3aa5ccd8b5ebc332056f5d863a5e4bdf2d0ee90c1483647b8594416e5258f13a9ec7db7612370fe1a8d5bcb41d9a37b45a7a34cf94abb40cd826620dff3c3d139874226bf04a67659af28f209f147cc0f1df643ce552b7f8514f765e50312d6f961bfd376c042e05a64950dfd51323fd4a19068e6b5525cf4026127afa5136e5a62024cac5ae12c843b7e93d1004a63b92fee2d7caddd3feaf889628e6baf0ca74ef110854809229dc5e8c66cbfba8a52fcedb74405d03a9240013bc76f772c6c4791ce51739861003312c2684a89a7b4ca1dd9bd8fd869f24ab08e2b676cec0f9a48fade6502840e28e6dd48d40dc4b4d365b91405e4ee6444d05b59387ce45243ea948f85e0a671776a3a927390db854870fdddea460f0f9dce953a71592bde7d0bade0100fcbe75a5c26698a076e0de7fa97bf9d2243c4648c4f294b06f9bc4437d0cea8ec77af2b64c4172e5e8af03f1648dcd95788f542ba390c29fd6c3865197773392fc1fe64c08a6e47df3a434d966cf174049cbc1bf1f2a1300c4aba44d02b039c805d9a0ff481243a277fe836d61806038e79a62c971b7060d1eacbba917c75558de8506f53d8fe586b677f8dbda4aca59043bf0882c2100589afae1ffb33a2a2494365ead410d020e341c4c1a8725617e676b1dc7a3a46439b0f937c2f1914071897d17065dd702ae947895be6734e1199335659845f5867c5322b97d59ddbb2ba421a19d388a75b9172bcdbe19c0347ef57c6ee7bd6c168173405016cf77f7bda6e3665db69c0133580f9acfc69d8a8e9898a318f99bd53289d9642bf6baf192b7956adac71fe754b5483c48edc2e987ce41832ab0e0009b372cd5050c6e516dc86a4bd618b04f99b278aa014d580be2c7faefb695c9f7d85994e27a7a8a6051dfd572c77c1c8f115f442f35983988d37da0819177bc63a1ab279e3204a25631a357ac35559ddd62431b884ed11f4c5d3241b7ed4c51ef244e95c6e4acd13fb55f65773631e6cfac2c46c4519e339d6981c47fbe8d9dd59a94513b71d2bdff55c04042c0965fcf0019750506dcc8ddc415aa54dfbc58a75e4c01a1ae6697a6f27db2424cdf588985dc6b4a02d4403c289182226e8a3398fe947fbeab9a2de013851d605be0879e7b21f282d56c917035eb5248be7032a2205ae4e3d118a0e42c3f96377bb07a9cdd7a8145838befb2815e52c95f1fa2880b2be3d32d9fbc26e5176dc4acd7ba28501bbbddf9a25a4334fa90a619074287f8570d96fd851e421272134dd078c101cfdb9a27cd20008116126cbf8863e79267c6604473cf1f4e9253ea53960d98c11b77cfab52e44fa338e8465305cc7d3bf3719ea942de860be3780dedeeec07ecae9f937cfd82b2793a232996be0c653b0776456dbd6d52f66d334d4a6a1de467b0fac9b9739591723369e443aeef25fe589e569c627027187fa62bcce6491b8426538cb82ed2802056025a664e48fec27e48c92038d008db51cf77451ef4f5736334c6a9035865e7f8fa3838c87eac530b0330c77f281a8ab13592ceeb1db51d76f58003bf93029dada0f8ce304ee9398ec94d6883e19bf77e40cc62c4bcbc480fcc67a876340d7c326c4b07620751a1e5506a9c0a49d8fa5a9870f6ecc0662403a04252c2db55190570fe2cf9400bd9bab0f6339f06d674bc487b706b34a83ddfe1de0c2e4bf9322ee52bb5bbf08d319dba37c7d0f51f6b9595b631434c98abadda82995859e13983fc12b45c9faa2cc9307400ac77f29328c0e033686de4cb322b8a97c996cc8f4960a917929dc6ac7659e49328f93c5574997e2884e79e8c9296aed692a6060d3ad9f4499ca7622ed913aac3986db659d9068d622805a601cafbbd213d7c983c21244488b045f0f0d9625bbeb58a9c08746da53d1f41f3cc84d514e5d85af729819aba32a03276053892d3d215eec3be011b6fc1d569d34301f7c5e561edb7aa66e138e489df15a9e17f33333f614f4f74666bbcfbc20aedb87c88bd759981a743e773eef1d219b2a0349537aff238e9870c7138eeaf5336880f084ca6c3a2553b2dbbb40f0c58e6ae828c2ac0d611581152391c46cdb7a7229cb0055546ffa61bb45405b6498d8dff26316d15daf20478809038b385138281fb5464c8db83ce6bc8b32383307c5758e05610c626c0fbb5f169375ff49b3f9be85d6dd5843239647392edf7ba633895a913c9d84317aee81dd552288bdeb8b65619b901d83951721ee6a26871ed70726f7f6ac5c2c1b734e3084d1e4451e4c9f74b8eb3f07f8594c33191b800fccf52e3710f130dc399d4183ad45f23a29858eededc57d33eb6aa5d15d8152e38935f9f0cbaaad50e41fb5fb38ff3c1213ec978a1682241a039be8393d76bd1cf3049e70634daaab96570c3904d5d6d484bf0c48e09d77f33c879c038ef656e4e1543e5020493d2cbc5d6a031f4d3c45af01104157a2b7862d254f3965d7792fb52f1c1c7217a71087bd4f029b7e57bc4836c87a2454ae6c3ab41680cb9c151b5df9a594c2e6b7c95d05655d590938d1ec4f032d0ebab7d0ee31f6ed94b6963e0f35d7218b7ff8321cb1340ec05bb0d183be79e675378ac4c3d78e7f5bab3e4ff346502fb1c2c5b6fa1226c05b34ddf6c70c861312df9177899be10716098c6fdc035da3a94467090179bf5e97c75f28b5f313b3dacf65f08b95c107067bf0e2994a3506701d6e8234f5962845245b017b807b8e2f80f965bffa681de6ae695bcc5f3836ecc14d84f27ce4bbb01b75a34420449dff66f44414041aab4e1abca861e23901f8a49dcccdf5988366416f8347a2ac24bd8e570aae96dd40a18b052dd48f858309c96432ec79b803aa2898baac69b8616f124a4d0d287e86011008318eb48b5fe9e4bb30734eb8149cedd93eedababd44008abd59b91d4355819711c60c5fafb211b8fe0c55ca8c3fc771e77cfba391f606582c860badf96db40132358fdf70930505839dee828f248a06222a9fb07a64152a94be0f97243d0238539185cd6c8e120594d0b8ec80da640ca99462e6d890c3b722594c28f8bf1d2734e8a273b9d2d23cc0c77a6a936d2a97c6f95ecd33d1647944beee706eb703bc76d214d4f44fe8c9115d3e54639fba49f50e02c07c15cb298c9490189129b39a33a2675689dc8ea036ff298335f59b2b0cadd0a43dde9dde54416cd9739d7b6e00453e853d105e17275ab6a4a1d15953b0511d893a4f08fd49551610194439cbf3cff6a741611de4ba6dac8bb2b22cc05f3b490929eec61cad12fdad40f11c792f6287bee06ec3ce4846d97583de110a910e157238cf33d7caf080d141338d5510a39043550ef14a0356e0a9d8f94e4e91bb36727218bb6591fa884e621df914a03d512e115084d0e0c4076b1b1b2932ef762ba6721e3e20e077719759c4fdd9b87db9651b621bca7150ba34c7136ca0a36cc79c34008b24f62a0bd5521eca305984c8f94657f8b714f02c98f179f3f3ae7775accf62cebec75a9286bb1cdd756a42b6319fec0dd721bfa0c07df1ba04168c808f76688d16ba730f71e84d42d30cc6215db81a002c7e50944521c38c5fff12c9b8c01fc7fbc5272cf9f844caa9ed94a05f8aa411ee29a6b9a282ffb64e49009cb463a025d2f90108356a501b1a29ec26def294d3e77fa79a64cc223570b2f0297b507b89917dabf5f8af4ca3e1ee71a9720e2277f51103df97285c12318f56d8073b30ee0ad8230f4a3022d6b525845c7898aaa5834a40bf2d607c8803ed1e4ad2adfd19b85485ca3925165079b3610ec6fdf26b53820125264e696ae9588279e1634bdd05ba7aa657ef91e7c887e0c4486b83c32cc443bf4f28a5acf273da82ae072473fa99660f73c208fdc7b28dce22d27b36614307ac9b54a2a8adc769d02642e4371fd03075e740f64a4d722990eb863ec04eedf8188a29d64c74032c532756459730aef5752ec394563aeda41837e31694ab547b257fabd02dfab192eeba1035bec69d6027a773f086e597af6084d4783a4d820d945f3a2198f6244a1f261e8bc67963707f1451fecda1eb5ce6ed8f75f8077ff40084f7345746f689f79bf68c0fc26d9088f0b38945763576aab831df5124d0fad0d6918e2610596f1a1f2fe1a3d24a921795ed717c37cddc042430e530c49ab06993a55b4d1cc69b997570284c77ca90a41c5bc3864808e84805065d012499ad25b9c8b18005a4a96559fc8169dce6ff621755c7bdc41da5fb326d429d414e62a202b2c5cdeb959001bbce81aa6efe0f0bca2175499bc89890009e9dbd2ab9344d87c9725f58d873db0175c413c898fc1f431fdfddf864e7d67c8da5542ce0ff75080721568d1061af841b72c4813aa149ce590ca96f1232881db4479f9051a1b334a314f35f1eef5f6582fc750399a903adc88a0a28eeaa51a343278464c74b8a8f57b9a85f7ebc60af8e73a1e60327976795e05605841fbea932ecb0e2a26e41b6423d109717da0836cc34a7d72e1f09057bc0c74cca1456217c24190e40c782264300817a03a4043615e9414b7264c764445591d4891b448dc7b38ae8c6427baef1946600c02a11dab9745b7194c57c4a6e636d41a21e949a47bdb683032119d6a1ad7ae1bf3554eb1bca2ff1f596acc449b5bdbc7ec81971dc6077c77bb900c855fb7b4d882a68c55352a707c2964ee0a8731626c86284d700876111f62b1fc9c202fc1a25da3a1f045106502b3caabce333f8f4e0d86af7e0945bec3c425ad45341a44cd7881b527a0f3fd73643e302e588eadd929a364e5cabc5336829e807c4403d352c2e358fd4af5e7576ad86d57a58a0d1a2396d6006a096d8d79053b470e843cd083c70bca0c5ec9180745315bbd3fd4752ca85cd6f52ad0c3862b837bb72361b18d8e1b6930aef1c36666ec4fdfa3416e2d435d17d289eab0798faa4e8872b3bc124533f8e71ae37e87efe729823f2ac0c7fe33ba3d2a7fa80252020fda973467a367f2b03c12b85dd5f7ac9049160470a0d9f10d3573ae810ef415369c38544b2c0f4bd6dcdde1058d22dce3013eb0fd6d4bec24280a36f80cca509833b97c380f838d6f5c3a4a10ea032bdac4381ac29f4cb775dddd3a3c5cfa1e3b12a3305f5b42dc5a6e40eb86194c17192ba0d602ecae6934471e5f95e8029ab65d0a74179d55a229a81d852d62e485740566c123f6fdc420ee15837af73a81120370a82566586db329bfaabe6e22b8a6d2b5a64a18549257b8388763450d3175915072d1f18bfa5ef6f2d06886cc3118ee73c2f38d0a4ee162c313068b29e54a9e5e73b9180beff50674c865117403dab7a51630551dbd0b5aeb38d9cc6a9d991c408438542a8bce444311724e23c25c6747f1d2e198b6d4bd207baa8ec8a2b121f509ed261de5e883af337d8a0cb92022ea470000764f82ab0c22919c99d5bcfc3a9a264912e8a1deb9204b072ce901d72ab857cf729fad579c8fe8e85ffc370c1ebbc4b28c819e42114a09abba810b762c22ad07cad938bc36981a86d9721b706bca025171f3a5528de7c080f0c13ff7aec0301f63af6ccf3dd043d57c1624d51a1bd57c588505055c610d62db9d2bf3de179a027c520b4bf24c76a97a3ef2bc4ecb9dfdbba58046e67e7ac9de7b1ea42e934cac452f2b9f0b711188c785f737a585ba7ae16a7520e4da04a8f0d3183fad0af6e4804df300f42c8c6bf1ef52a36f47af02a393fd6e1d2d10b868076d9b99136dee0ca5f96d1a50506620c43b20adf0cbab696f60cb8d9e228ad49234e3ee184eca24e1f2bf8d9bd9e88ce39338b887575386106fea3186de99f13b07b55c3db20a46de0ab658aa1dcac8aa7183b8d741c5ad255ddf04d2729b80bd6c5dacfd83a8d6b36573d012235a055c40f35586d7661e1bed21485915951c04e37c51e4b08b264bbe2d4d45a1942c32aa0d45f53e58f526b479cb0f582d7087a50d64ee38efc4a6a39014a22d76db0336912e4aa86e1022fb0553ef4f99e70ed2bf49ae750bbe25e2dc524e293cff436528a644c7216570bce7a92d525bde5c7c2ca50a6b23973066db4aa0bfe113fc76d86550806fec285bd09870610798ec3c419e8fb646f7e341407671caabae25478a8e10c63d59c82f79adb484c7f4adb92a879a4e7b5c872025548ca6b0427d5c22846befa3d7b8138c77d905d850400747f9288b4d9e7e4501ea7c3bec829a2cece3f96254815b258ef992358223fb741097aca1946433185f2e6d05746d051719eda012119ea78f4a57cc9b63985d0a609ebce5ee0fd08af40cd070c6f9f39dba16b2535ff5902ad313cadf0302231c830f81c8a2603e1e61516cd49af319e6b2b47d4eb0d1aa5de0baecb87119a817993ccff4fa93ae5b2250508a7ec9ac60f136238d6e420841974b8ea12c0fb996aa084528890c45ea9fcbe59cd1551c28b2fbdafb5cf938ba77fbdbec323cb8366a4f604f7d1e52e2e96e2a8f4cae02151aeca903e2586dedf6a1b825983ecc231848902e59cbb38baaa7a4a8b3670c1d08143afe3f3a83594b55cc53484009e09336be8dcd563b1fbac26ce26ddaee57410fdeea7553cd3a5749f70ce1774d114fbab7d11343813b8c0cf112ed0212105da0ef95050104d4c367e41ad9fb23b93e6b5233db75880dd271279c7cebb3abb0ef40ff60b6e81ad2fb8df5da028ff13fa34fef516fbd835907013e567fa1c09a6b9ad3193177f9637632ae31b1fbbae5a2db65849d20985be2ccfb1b2544f73343622fbf49e51adcbb88f5fe5931b7ee475003f2f1dbde12af301521c0a970c148bf6c74ece19797f3d495527aa1a2f8ec9361b76b2437da886f884392024ec589d510f1a035b6bc663453aa1a4837eb81510d58300cd2852104e7753d8d673b9016b0906835893d3da3d3afd399df52770ac9f0e9382056478f06aead048dd8d4b9832d8ae0525462fe324e3a7eb550a9698b81005541c0e49e050683e161a5f67ad9a46c842135ad3a6f787ff094662d4a716162ca1f7dc3f7fa0f7207fde8ee58d1001357c2b8d3ce7d6056773e6f8d6db9ccb4f7644ea0faafd1ff622d2b6f3ee78339c36940b813e1bb3dddcfe4044235e2e2a868fb527ef388573a44af5adf89552cb9a665885eb29c8aceb56aec471c70668ec32cb171c5fb2e89b3553604411c73b4a5c7edb69581e6eb202620b5ae43f305c73af2f86bb996a4212d42db05d593dc988d5107c2e555e3901995d7a9de0c0c6bf72e86f75c0197b0e86783a636072e18252f87a3038a0dd3dd4cc8f3baf018c1b7120b8e43a782c3d5093058babe1230d692709e88e5a962142230c30a2b87a95dc91504f9637e21dd993cff34ac0b23b96a81e7f4dbe23b83be3936ce1ac873c03021f08879d15cabcd3357585b62a9ba23d37576c24adceec8eb9e69d20e9733095541f1243707516a46b5ebb14fa49ccd8d218868880ac153229b62bedacbd1bf4f39def9162ba43df1c496f2428723a74629e39ce9612a0021a15847480f15474156e16adc28bd05f905d567feb0824b95f4d31e84b1a32a08909e8e63ca619e7eb360d3d7ca1df2d4acc3f09e90902bb1334ab11166ab809a4229962e5a37f5dc6a0417af58dd67beda2aaf40b706504ba09a2bfef4132dbadcaeafdbb3e7097b51e77bd06df9674787279594390ee2da7b3f5fb3751795e879a12341a1c13a23d7dc7daa32bfb5459f9b456fa206e7bcc0324f339de3072a7a084a4f4fc334b8dd3a9c28b24a48e824f1bdac62bce9a62e367185e083eedcb063342de563984a0112f6a01be41cc2189438555055e582c280f2fb0bd70305632785b05c8ac32ff98de10aa05380bd22368474cd97722a3c16e182b9b70c4384fa4a6260a4f21213bc6d9c9909600f4bd5667ee02430d0e4c382103a39f78415142b0e315988282cb4f66d396bacaeb4840ec63a20cb2dca84e988ab832bca1c92dff129f0eaab7db26cb1dfe745315032ae6ec58953246e458681ebb8cdb59a156bd23e1176a8b13ad206ca75b4aa18c372f1ed7906098727352740d2cc0cbbc142afe86fbbd5eb957bff367dd43127789bed34556d31e834365f738e1cb846d79170cf992c1e13e8441b73ef7515c3731fb6698545fa668daa8141900ce7d1a9711c11074fd1bab0e5672e3366fe402eb99e3c3385b9c8088714889d67b4bc939156b847aaad104c4cd0630f38c6ecfcf275bb8d34de37164c22dfbb013603dd156d7b7a88ff649a57cabc20b406e3a0effd472a879033851bf3f44b547b18dbc33d6ffc681d18e99196c13f7991739eb3d488f43405e05bda1004ee8043af69ca344c25fa894e5c50f9b8b9f07db2339e068cb3fa02319a2f84d2072a6bdc0f965c2838bfaf45cddb71023f59dc1d9d91d94c6f792287cdf2099dbb1b625ae5bad065c3cc227c97cfd18dac9772fba6dce4c16b96c08944a192ead58dc7290b5e2056c6bbe456ef58f2e9501e0e65bf4d84d5b2b84280b8a08fbe51003f60ccd90b91e67de0e8963f0825bf62355a68edf484e8c7bce700d29fb1027dbd126d15d01e6aeac6e82702d75567c2487a8f7bcdfcffca2899689bd17bee7f1e26abcb2962e642fe39f12149cc8966bba5d8fd3f229e54f22eae7ab4c705f59443201cda78abf23179067689a67aabd8721d9d2749ca4d7aad98cc5fd2036db9813e780c25bbb99343b436d2022946e13e7965e4e1cae8a65521ba545efb4e0560559e4df5fd50293cb58f1875cb9dad7f6d85e2edbd26e5fd313c14f2c18a5d46beef9fbfaaad79300b7a3f80fda3bbb925ce3ad18628816cd190b4356574a10c20f48ed8109e5ae3e0ffb1742ca9aaf367460a755f05181aa9a42130714d8f6584d540eed7a04c2f9d53dc5d46326f559565c433993b5b2f1859706cc26573d38ca76b9a7b9f81d1546afcba3c769a148524877d3602d9a6549a54a0182f49d849f700e63e4896a8a1c5b07e17c0d1784523ae36c23b0ea0e49a132c07f693d1ca1affc61e9dc2de9b03934b50ac246c5c5d86145da196e7770138fcc81dbee04a0e36a5ff14684eaa478a37721480bfd84cf220e7f08bd4a00ad8c886b0727dfa933a344958ca1930f94265064f09fde462757d36cacd967bbcd26d03e0b7c679929438f3ee3ac6549df32f558faebf7e597f7fa3208b41548a751b8a4e47b5ce3ca06a2ee6b7d48063069fc197d833ac6e7264c4edb4e23e4d719297088b6663c1073beb1256fae654a0fdb9a2a81f98ee0aa1607da6b8f2fe94a67f7dfd001aec0fa9e02f00af8662d2f7cdb60861a3dd36334f0c321a20eb0cc10f27289f25a520599013092d3c5e73e226bcb3fdb0f3d36f4bf7a629f021036267cd3194971af7579d6e09c54753fc771a23e3b0918fa72ff60278caefb5653397f8728424a98fafffe30c05b99158ac6677db6e1a0de549c51edb5f05983008ec7b8b6b48794a6abf74c8d98cc090d26f56d16c0b9c3ec65ef0f92b4b3478f704e66ca917360db51dde125044aa662b4204a6cf546f4fd1f1dce3b086f3b4095db98eb547e480c013f5efa0dc98b7d1d07b464d9cee358f72cfdd365c4c0e1fa8ff4c274908ff03930df5f2e774d6d4cc193c8cc6e3d4252cf54bea022245fa744cad46666d72b1535f3e03ee786e36469eec2d5c0765c6bb49a05d49ff1be12c2755c854c3cbede30125ed4c73105abea0f87bedc306b4082510b4bc9c85c72c198b2d0c83bf55eeb03f200283fa5176aafd88a3b9db4a7d30a2d4a7a6a7bccf0bc881a9ad6a3fdf61206f5ac6f394de4cf4f6a1663a2c6938a9574b6a8a852bfff44a09866dec822f3f2b79822814587db3c937b052734975d8646cb4d102f96b28b1f5e9a328c30424f592cdc28f649b01ca0e2abc6a6ee271387ce866cb9e660ac638cea7a12b8c47cf2176e76b22940d9efc778a09a61c79f01d0395c738033cfb2476890c6b6d3257e76e59197ee72dceb1070e2084171d368d5511cbd6c4bc91cf8776cb88716f0659b8190edfd2ed6c15b8871d1fa9c9d890d6e0a0fb660ba39861041d96a19e336a535980e3561b8d0cb7fcc0e1f2c2b6e7635148e188138933f5dfb3afca90e4dfee39cde9ab07124b2885da919e333892b0234fdbf89d6713fa537c4a31139dd99baaf90b73afbf4c1a37b3307c0243f21e751af9308a4be49f54e83f302b8a5afd46fcf237d4160cdc2a4d6c302844ed747cf55df9b207dac75aa15b4fbb22397d9208344c9b0c98ebedd04330d27fc07bc4773270e80b622790ff573e6d2c008c3e5e0d12ce7d05ccafb6efe2b891aeff29f803152d128cb696f5d52131c3b90d66c7578e4ebba1d0c52a89d57f6f4b4f6384e22907327ec1c701028b64768500f6824fe72b64686f5f4ee27fad7df927254e228920a70822788ffe26cbe6e6099c7b5d564f945e2292904b01a0c1e7177661080c169ace7a148494f3dcbcd213146671a0681969ce94d6d7131f243b8ca1ebe4ea7fe287ef32a8468354c9cf02d2f6ad148682aac3ca0c8a52b967f8ae043a1da08ed852cccf5e492af508b767a5df594c0742471ca920759da1a69fbd6981e70fe790097bce4f7469b4a59acafb2c94f3695df90b654974d4e05c59058c938c88606f6175bf2acd19fc05f18ef5ada4500d725603b17bcd0dbb949517eeb20eba9be2986d512e5cd2a8fefc8deb20684f51d66b0ad4132b122e241b2074b94a43c713144ab36eeb7253971323299b8efa5062ce60ed0c9a23f084b4c58cf5ec29b3999bab37d025ec3c0161c1a34fdddffba4d6b6e273fa29d1e101443d3882054ec92d3833a3f22500562244cd945e8240faa0c5600d54314e5663a5202e012b3b9969126faff2b8f47972e22e7e79e90b8e72373b70241ef7fa43dfa4421fd50cf7b013cbbdad5b3497444307c402864809964b5f583ee8470b64e16db6a440cdb49dbe3bce9f09dc77312345898905f49278109ef21eff540c5caaad289bfbb043ef6110eb232d197f45b71449c8ed9b7511800fc5ded893cfd492f53d7ea59e5e7c79ea73dd43dce98bf2d7fd74def0608999690285abd554257d7cad8f12bee3f05ce34b09ada45d18339798fb0b5bb1a32e8b20c586aba3c273781e288f79139b1555ac77e516eb5301d4853c5a67ca08a358b99c65373f975f74d4264c9293002675a25956abbbb1ae270f281120805b6e75b86b587b10614e7c5dc63c5f5f1ab47a27e57aa6a8a7adc45054deb42d33f88d4a27fcb0b0b3eff78bc1429b583fec4219172d0e5e55db2ceda3bf0212e8a3c249f542b7d30d99a4c9e7b62b3332571f95ee8aa325b5512106874bbc22275255b846e4e4592393cd7a4ecb2fe67c4bae7605d5e37fb30a4089bcfd5ebd2bd8554731ceeda0a7119ced634043f830c172ad572e31e6186ba32a04cc300271d66a8b8cf3dfbb15ad6a692b8bb02f94a77c12fb99a0c014ecaf78887fd4799e6a2abbd29f15e81ffa4b2780fd0f72e671055a6c641e2d218743f84fc550cd73cfdf2b3b28f5f946e28d89fe650bcb2b7ab8e5b4c2d7bd12a8c4cf7f29edc341eb2e23ae447b4becd37f6103ae3b7acd1d71875ae6effaa0bca210d99d53146289dddb895bf8975a29e017c42c24012e1af9bf81d2dc112f29ce68248b56dadc47ee109914c04060e4d1f7a12dc0fee513303bf1e9493838ea6db9b584d6a92d46d9acefbace5a78c816709ea1edc409e17520197f1e9ccc9fcb23db80cdae606f91e722565381ea1c60c1d7e69ac7cbfa3da026493bfc0fb5ec26b747f4ce15acdc1ab3d4861e36e2ecccb58e7c3b215c1033f38bcea2566f4a80aedae5ac706e26112d3acb533a4bfd40da98ae27700f843f1dc449b9222067e0d1e27243bcc3091b82652bd91fdec7b6294ca29bb1d3ff1b0d2b8c4614aec05f9bd6ae69e0e992e550aa1af4f995963857db419628e1cf75fa2abcb37eda0337d66cac755ee1ef77bf8aa1d09f301b322a1f7760efc75a0a33ec4b5a845d37558b373acd9f43fa11156d176eec0070c659ac630f7a2a9d656b0d9648dc925fcda227335c10641fb1fe0b306d7e11c49c9c11c7213e07c674b6b7ad478fe4f21db4714709f8dff4640c65ad542f0ddfcc75afa74093469ef6d4f86ee99b4c32427c5d5d91209be9fe079a8f5505b91e1c3f39f3d6b9467b0352f5cd2cc5ce9d7869c3ec839e41d8c18048bfe8f3113df5606c29616a94a41ea6d4ecbac9daa581111b1f2d112a3414b3cc87ad0dc06c00f7f4441ac692972cd65b53fdc795bf1cb0def25c2c49e6fc15b9f6823c74ca995f31cf5363e29f2da745f02089bee6583eb26fa6943bfbd79b6fa109be668bc08b22b88a97dcda8139e9e97f83f6e331eab18a74d894762d77326342dfd497ee0f0e7385de37b1739f81a8d03207b380d10358dd7158f53174334513a851ca40a3e6153468edb22ca9c0f854ee9437c937c4be4af8f0f1c51d8d853c1e390032b51eee357191f633c5fd6d8efc5fd8774e2954ca3bd94e47de1941b35f811434ed0ca04cb30343ceb4700c4656a3050333613d2489a95726b231732ddc6a482fbb3eaf2135ebc26dca1aa3163f47e8fee7571574e53a98dbf0f7a3df1838a2ae1bfe59742092b460d15d56b77b5b853de2c8040085b15ee120652f9d29a7860d57c26a11ba12a05438b44f492cd1ff2523f81d0771e391df7382db4d915e6f5400659d20cf22a0f469ff3350e6b739cac4331c51a9982d5425fb052ce3addda366f34b7f067eb995e5a59c059a3a795d0990a31822918c96f3721402149b5a635431de5b4aefefebdfe20656483b054e497239f00f5120401fc3af015913ed14a30fa1878071a2e076dc9031db0d3369c6cb778da451703c469f70ba91f736da77883b8fa0bbe9f52625da85254fa20084e4fc84bc866eb9c3c1eb27b801b30ee28a03c25b45edbda38de785d799e87024fd16f21b57c0eaed865315466db34da93a378dc93f6a5e11629784953fe51a6b750e86dec90b9f0aca349beb8f11170df7b360d83bb78c4d2829c56e277f813e75d118445c28df2ec071d7dee43be9937d4a3c91def987d7eac9e10c1a78210f3ae0b54d58977b530d13d9fe0de9eae3f8c8059a4957f966478416f7933379667731f1b079e607923f150c614507f2513056bdf6905d990c381563f5de9b18c62a813b1a3b845aa3832ac04477230896ec6dc19827adfffaaef5a30e83db4bab33c4c4235a0d9348abf3b91d0eb7a465c88064547763ce830772d85a15775177a5a07f122cd333fd6eade208483ee7c18efae7379979333245e0d407fe033e3adec02297318e171e7ee3d88199e621f8173197aedf9851f85892c3e697325adca1ccc904bfa88712c4e1925406ee139520b6c8b12d0b87feead00329f9440867e5bca0567e60a7e86119a84c142228bea11ec7fb44155eda731afd590b2862826bc1fc751b0b8045676b9100854b27b8050abb6561ea9a35d87cf94f958bab75cbf5f5e6ee6ce6c560b22c1f26d7f35530631cc7c285e20846a57f9bfe68ccdcab738ae84206de49e1cd46301f7c7951ccca76816cf43df85596b48609096bae57e163d9c9f090c3bfb0ac15576f622694e152e223de4b09c4bd90315e1d2e40ad3b3627a26ee0579e6471aeb6e73d285f967348e6339f48db8c8daa080e868306d2388aef7c5e63b505136ed509349cf349bed6771bbe6aec88750b06f839eb921bbeb686a4ff6e03a8bfe4f8b89e8f1a3da9e4c98b65614cf91bd0aadfd45c1e9ca3ffbe91d3a7464b7748933b3f06ea6a56332e9913cce08173283bc349ed353018468655b1c3cb939788c1607dc7ba4735e9860283240da5a3f5aa02ffea3ba1ec83e274d786343c33a764b70382a30ec22f7a8ac32f345315a05d33bf7ee947f74f6733c008a5b1a75904082979acfd719e39ea8fcd34c8883d26fb8119947794725a3fd19d1d076b4e1fe6e17de2c0f21b5307f2c1fcbc7b30f29e95c1fc266854eb7016206b536cd5ba10a87ee2ab51b5a72e084fe7496c7eb92b892875cca2ac8423c95cd156edb274c052be0d4c4f34b7200d45518d7b4b058508c069f134c6b31c65d8eaaf581dcbdc76f2d794baa54f876fb091bcfc64730f92a3951801202838726836e8421b9b2720463592b32d22e766c3e4e16d390b8c7a44e786349f6cbff4f0c3ad93e2aea0108f37b419c6625a9273ef27050b5fb417da3642ed7bf0e89aff95042c8e533a73827a3e5a9a6182d06c196b70503fdf7f7341ee730d43be78a9be7ddaebe3b4bb2e507639098ec0579d0012e4c00b8615a349e9b959e930e96ad4efe874de32a9c878fc5d44318b89411f4097a6b693a5b32de4cdf9c336cba135322293d05fc8abe6531140040c962af9925207c1c8cbb318fe79c4f51a0bfe485c0c3e3a596a4bdcdf21a9487f6d374a9fdc02d730a8a61fb9e7006dc89c00326d92fe490e17a986821e898268660d83aab32011559df326d50bce408d806843199edca25e3f19625c247c2bada145a988075378ac9d4b1f19907505746db17d40fbea57bb75dcf2595710b7245b75e96be66d9fd1493c4a2cae0b79530b165c4ff5a52f58ef322dbcee9f52a074a2748f542bdbb269638a54a27776383943530712a93b565cfd517d5191a3e838c4e48f89de63ad282cf0eaccdec8258f0b5c1e920e80d389a52e24cb97923a08c18f1c97d72033c220148c588377a8308dea4dbd2ada0b3d37080edb3d151dd16354a6c99013fd7e03a67a235cfcf7f1fde0611b18d4fe65638db7130cef1246022b7845556bd13a72231b754a27883a33ef3767d32e854643e465111b0716eeb816f07f1b028fc158fbd2f85c06d931964669d7e58a3f5b8f36c9f029d3e643aea1423ab295e246d438344351fc6e1b57db38ffdc2b906341301abfa0b83987f1f10a1f959d688a23c6616dce50830801a9b2351deadf70379c027f03c3193cda9eabdda67c487feae3b537580d8423abbc2391583299af109a92d01e2ecb2df3ae30643313d37596cf74dbd3a9213752d26801a800ea2d6a39ba1446194e089ad32c2cafef3e883f78d439c8ea1e2f54191c65ac2e7706d5c46273c2bc12e36ce6ca0fb66afba7245078d17e4f634846aeb743a40704e4ab3d03dc295330727982fc207b63b9edc2930e6044a35b2d377bd1f861240500ac7009948ad29f6947c1c9609aa3055c5ab0890e8be07b5d0b0c6272f25a28e868d167192a0aeffe9a5d6e4504ed12e036b09c3ff76c0361b59c44e19787e2832f7b058aef88ff151f24caebf76ce91503a36e5920112c2b80356a55618f17ed778d0526d0446d6ac707d741bf5955b4eba6f486a89b3879ee2edbd3f8fc072bc95ad33bb0d5043980f920c17884782654d7927d47c9db37ee7c0edafd9ca46b7189d6170c469423f73c24f2a7fdec63ed4235e646b8dc16070d22d255b6ac7dafe77055eb0b79a2002b2d755b75044851da0456617ce0380151fff7c4d712c2af4513bc7e260012e1a34f510436cf596880968c4ba6e4d46cf0e60cffc6f0fd10980230ac7f77e895329d4b017f36e0bc7115b0bbfd38495d9c5573e8d7f1893d500ef0b9332f63f4a2f54b13f4e6929cc755d5c6a7701cd4b9aa4df23b926d2de1bf8256093cbe7597d743ae89ba3d8af4e722ff747a8454e21760dea9d0ee7ad87d133c218a76a7abe8fb5f0447145c257a367c8aff26fead8d551a20ffeca56014d03cc44d06f370631710ce56ce7a756e131acea1e6ff6ef3bf47f610b8adebdc713d884b2203da4ff8cbe898d00d52fb628731c57c630154ed8bf90f5d9c991097b7b6fabd4f6f939a8261cc4c762ad800090f827f444b4afe441852c9ce1e33ca4e5e9c7718f7f9e8f7edace7dd5b6a3803bf1a91b877ff2a2921da3ab3fa5cbb851a8f81e0a2af8504524ec1f941e6a2bf61664dd91a5e3d3833176b2c202e02feb1aa66d2d9bb4c873a95612344b1f792a1678cee28e325e27050de40f06dc46a06214f2059e2522931a3c4e73369cff6016e308b5cac624b59cf066857c9d82f9e106d181b841373a7c78e21632517c007a84449ec418bd7adc0b9ccd119856d06f58a5ab5bef4d5970a04ae57e37187da69414a3fa1b3d185879e98e40132580bf89250c8b3dba5b03a9b2c9b1ec079fa18f5c4b7b6b1b2dd0282e4bae386a019e8006c84dc04c7384eb63fd6381793221faa97de4eb546da165f72925dcf7b13b28e5183c888cc5f5756869d41c9f8cdb7fb574d61e4b18bd2c0786b7eaa5527dec07cc07d332cedd80b63657ebfa39b5753e62a56b9d0b1799b6b6720852d8ec3e27376e038d23781a105d6cba8e80f7a6840842e305da9f6c77bbfb3b09a6d750137bd10a4d394fc2d655fccf6a40f9c0c17e4c9f097406525f730853396199512d2ab233ef80421784617812bd1844861fcd378289bc1c5eaa09311308cd993ecb61c4b6eab64f08f9324f0a591f39196cb32c116bc338507d5415153f3976946c341a314584cecb3f0cb3eaf49d203b893cf51a612dfa066078b680caaa532257eee7e0400cc3e9a5b2f196c92ab2081a0238421f32e42170d5e7c8be5cda14985f327b2e60881674f92db030c71cc060bc6bdf281228f1a9d8153ced2fcee51fbbede8c74a3573ffb8f05ada9af4c67bb377b6615ecd296502d20c547232b450c2c90df9f85c047879348f2581b61284752a60d1aa39009303f6724ca97ee2988aa350890b1b435a73e1fc2b05f7b38473bfe78114eed8accb6480e50892c2c21e2abd1faab329b6effeb8cbf8b31981b2e4488a63dbc28cb97724e28674d8bc10928b1438f043b1cd5f925976f03c3ec1b1fe3790a9ab40f81c8513ee37a294b5a16bbe060b29d75cbdb048b9c64d86c50aee34d0fa2d6f4a8c84a4b032df96e4d354daf61b122902247599165448032ac189b41d213a3fd1fe8083526c6e1e80f52613799d27a78d111fa57b06fe5d11ca75549cacd36d5e42d4f2a3455fc541eee9cb777404dac8c19ee1ce90424ec6d74405d87eb5b34b89801c6f1adc913522960969c5284ddc0dc1c2497b69b940a0435b88a41e069cd5f91f70c72ca63988fbd81a33a12edc8295d08ada0839c6b5a03c5b722b8192e93b1727be86e86c19a0fd2aae695619fae6b36cf7bd6b3da4bc954d236a2a2ee4bdd0f358938ea31dcc2c7928540980f89a20b619834ef4ceb74514065157bc374b0a34e3c5182daca2d7d2388ea6a485c3a0fa85bf0e740bc40e63229a41f7395f2e36257895c9e8f09f52189ab060c064f03a2f78b751d37ec4c7c50d89f46cb349f76bcf91bcd67b4adaffdff009a93a05c7d95122512252f3c55ceea8d89d128a2defd4672960e5fa6929af5bec8640748d1474ef5f5793c653b203e38334995cc86f78ba8e5cf33f22271bb6b602c9c4ae4c9a0d6a722ba606b9f22e175a64def04fe9af9fbe279fcc38f6bbe2775482450adf42d622fca10a75fcbe58e45761f8436959327e9fd77b862ddce9eb4200ed09715352f8c9c4d97b6a3b39a557d48f9060f4542425a6ccdd85b51ac3e4aef7073f3a33200b79863ce8568c5f0bd52e7b48b25e24f0d9c5989833b0dd2b11552ac91b78c971a9fe733b787f4af06059c06b4ebed24f13f1066b99a808e0974ae92f5003678a463424bd4ab9815a70a422f6cd0d7bc8945fc6a9a07da3d7f3858c88d43f3fdfc9133b4d5c4e89983b0164eb5ffc47b19e88bb14f9ee27298d37b4719f8e746b0f47f7662983c07a5f28dcb09d9378642742b7e7692e92b11807ee71cf1e9815222760616ff98f07b6624542d8adbf62608799fb157f194a286d8c90a619664557aa9a68b9a4561130fd8f0e0edbe1659d8fc9d286a76371f78160da56ca57319001232d5ef6a595fc381832726bd34b17137d802fc9febc987ed22a3bb6af5230c08afa01cb4293a8d983fa4fb9ca16a81c84a83a2e0157c5084397299911d251372652f806341729b6494a7351489a96d883805b5d46f794f07e79aa421efb3e570d79f1d46ec3e383492d8a1cbf401a74fe88ec9a023b76bb5165f740a142c7e2b73ad6c884d583a0bf46c6c338d2bc52bc4856c94bbe987ee9436d050fd016763c6b29f13b2a99f506ffb3837c242c971833f436fad43e7bfb8ce61dd6897c64a31b962b2928965993b112b1f1ede589e1c5229873bc50f8913b1d096a94f215be51b8bc75d56651794247906ddfae5fd242bbd609336f72fc112a820c0e47ae340d6082a93f42215b0e872f2926e1b0350392fe006d492450bd936b1f0ed9ae0d038869ef1724e98178121404edc3e90c2633c75f75452cd3a7d818de521b0aa597da2da568a430555adb678623ab11c8dd1444c25d68594aaf9dbf2163d956a6e433bec6faa3c851631da7300d800fb6b88af4d1fd67a694daf450a49c065d406be7a6ec7fff41120459e6165d30bd475cbbffc432976b8a894d8a7ad774e162b0ca8c1d7170bf8c7da9c02737ca27f290e5b3fe8052229027900e745849d62668991ba063ca0916a5aa1a498320cc37bc235c8f8edbf736b44c528d0e13519d78740f73d216a8559066f4033a48568a551130c3a4a7bec52292ebaf109d081be5f08f99993366a98acbd76f7f2638e03ee3d272cd14c404aa099795d3b1e207ed117c52ebb8493b9cab819338f34009db11b2ea0725c7732f6cc1271bb736963b6d8746e04c01f41908786e3e25e87e6f34e78fc3cc37d816fb3868c8cdc225c961a4faf51543bbb090bb7a8bbc922122538b82ac3e5c910f146cf24d597162dc984ed9dfb292efceaa88de3d9a2e31bb06516a5640d3f443b2a34f6e9d20e00afc62969f8f8a106f0900ce0c75a276e18d4ca175bdf7404a7b5d0f68cd8ec8063c36511d1edbed533733d4213a3413fe5270b92407e3962474aa67295eca1a58a87af7055f38977621898e66bf4b445085deeb45f89e0abd7fea217b9102d31fb53af2fca022dc4337da0f48d52568c342135f119eb3c8d215215c6e47f3a9e1c2e85ad0d68ae020f94176024558c3a79dbc558df014c6d0972ebec5d3cd1f306d71303972731d2cf83ac689ada28b82e147ef0967664597c1d9f3420483053503d264bdf3709b685164960082a5309721ff9e32e1fe90150bc261c38e29a5f404765cf7a3f76bdb36c0c19f56ca88ef09df84dda1af777e1575d9a161abb60d2ad89ef007d5329a8726cc8190486fa1a9aa3812ccb1eb45799a421a19402a7f4e862db03de4ac4e5ec62e4deaabdf9d77cb6e7a042bafbf6bc06e80e7492c33f11e3b9ae33f684e4d5aa07f34204a63cd88f6902b2892fb7a298fb02178405b5ded4980a30c016e78a99ded063a2eb9e818e837f972d8a46291b255568bd5df2ae752da95adc6a56ebfe5610294787bb358396da0ca154f3142414807dbdc137df0c0e2d478b5d1f60ee0227f09fec1163e1463b676c02da06925403ff3a3383855ff057a6092a6bc499b379eaa874f8f3878f4743c6ba7d3c36e2a475d77b4d1178b8b70b9bd691af72457b92d4422c21e7849fb860b811858be8aa3b3a2373f55f581199062b9b01efdbf58dc28741d6de4c6f579a00acc20a8232e7bd48c57da0976fada528a3ab78b0c5e10401bd170c62fb31101d4bbda9a15cf23a72a74a25400f3fcd98fab9e7f37497ccce624d6c3ffa3f2a9f6d639d0f8d45302f0291054d570cfa64166dc426f025627c24a68a1a3f5ac8c6c8ba54b6c53c8c5118963a70a934f0c3d4687afaeea1feb881bc70fcc1f3025d79d4e41c0fe0a4b4607270866f3e8515d44011c911317db4542ee1bb198e4b4329d5eff4a081e2da246c07a37b622990aafd4f0c9663b0ae96a0e0408c22cdd2e6e8f419c3bc3c3cb2744dc5911f1d6552a4d8960b51fe68582b526553491d9093dfde3310c4a1cf8311079173dc706dc89f224edd4b734f8cf1554fdd6cc76371f188aa963558f0b30e237d2363d26cdbf4f5d60278241284dc29489c191debb582ddda3d9c99fe08eef7b33ae97e158894243306656d7cabbb20ec02c0c36550591ba604b915e67b0b93014e6677a17f32a7d24620bbe7a469e2ec29e09198944e253465513cecb1e1300c5420533e2fe5fb3894f5243a34fc48e9aeb1b096281bfc9b4cab6db592fd4e8675f87215329165885baf09a8d9f6acee79220ab4628aa29860e5a4cd6e9ab2a92bf6edfe81434036d244acd8196142ffa5073fffe53233ae5bc1bd76da3d275671d1273d4f06d4db3c62483ab47eb08ed2d6268e71f5ebe6615a7fb242301baf877ae198f9b99b4046d97a9c9fb77ed062f2fa028f6df16786291c68d3232c179fadcbb0a2cdff35d1732f2607894c935f387e2af3fa5f125fa38c5018dc1c61da68378af3681654291e8ccace100eb0ad6e6e8e8689c86f3949db686fe1677ee5c7fb9606c337c9d956fb4e4218e177e618d958aad2817d8a29ae947eb3362e6d92657aee9aea459851c2d03f88107ba3a59fac199021ea0f7c5acebf48ab47e8d2e81b39d187de1019578ec83c46932b0aa607db4f24b72ff06ace3d17a121b7c4071569526c2867555b082cfaa247732353f5290f81137de9541fcd892ee935cb94a7d3f42d9d162a7600d86a426e2c4bc633ab7deeb235098565cdc8d65ef78eed3e5706cf7d8b232b039279e71f9afda84927f8cc2e46e673ce97d79ac62c97232cbcdece84b99ae078ebd1dd5316b3dd7c13869cb62e29471b094b549a0a915111524a936405a8e8b621bd072ec9a1fd54a45ae002894598d16a2593318aa9ebd1f8308d8c4247a0ade56ccb383febadfa1e0edc5679d64463ba446dd21870c22f08c9bae0c477c6791a38ef001aca9c77025f3326fae55352e6941ba257f5cd83bf8a70a86d0f77ada6c3206f053de52a68c4142d72f8a43292d22e93365fa9bad1949b685ca2809be599a6a3524df3cae5fd7314c65c69c6a0c0d2d91584c028e831996b17b1cf962dd894554cf88383e6b135c8bbcbc20fb3b38babbcaa0a564d22d72c397a9a12e26dc2bc3a17cf5e7797ab481a1667069c0e5104a24a56fc970ccb6cb4f0d1de2fb7dfd4b9d6137eb5e4de9099cdc71b9e5728b86c7884072cf22b736f2b8b721f27a51add228946416c5abf336ef2277064704b295710cd292689899902faee01b205bafe1ce76ed5ea1f0932a39e4d8d92c4c81d1a0be05e31d1be514be25a23f0a79a46cfd626a1d97219f11844eb85228e489c9fe97d091f32b62a1ea14bc7248e3aba4976f3b5f8a8b2d3b00aae2a2d1a05eb9df2d36f57ecfaf2d5d4761a3a9e2adf0b4d8c0de8dd6f41acf8495724ba1c9ff85046fea0ab5d88af9f7ffb3aea17dd26d53e826ef867de8982706a237f9df4c146581a1ceecc159b127c013672442dee812438b21b10170de487b5df75eb85f713c0848c900ded95028e17a00f92a2976429352bc46cfa1e1f425a3a106f4135363b1fadd2abffa6fea7384b7365e3432c00714b0456542ee835ec6ff67d8fa2b5ff1e81e39fbaa42ad29706c47be0492cd11d99c186615417397054c0b3afe7c9117c0634c2c7c8648f5a0f64c38fe7e019da0e4e28c1679a451820bb5ea074f3611eb127d3d6686c9bbac29a6e7628625e7dd7d7c651f4b79f7a21778f3818ed64da35cd5f726dc8560dbd7d144ae8e9aa9383f1910818f70dae637dcab351560f32c0cf53795af58f2792e53aa88e84a628a29da392a7ad2c968df32f8be3dad4bf60e235e9914bda7620edc62b345fe20f60e4e85ded0639798f04f598290d833710a8c5b4ab571ace8cf6e8d9f61e08bdf677e500774699446b4e3a4313d657316ff7a6dadd519395a0c58e4f4f3094ec2f7032ddf17c2400f115e953d4d92d05a69429c0122b5448b20c58974c4c9eb8a207df10d1c4a3677fa6a2ebf64388432bd977e005ccb7d8dca07badf88dbf8642fffe0be7919a98886248e8b3371a58b039cebf1304af0f9bedc94f23c6cd187f627b7e24e6de8be0f8476465582e3bd0043adb90058b211adf92f8c200fa4c7def946c9565fae58b7db9d028993a921fbfa64ad140a8025824b8a40f008b0ded663d98ffc3a79de70dfb6e87789c0b9bd959513db800cd05de7da04739075d2f74fca4302a2a2343cb2285bf8acb1246d741ce4dcdf5cb357fe6935af57b71f5fd063845a5b506ada5dcce71579b5a19dc2b492618c1905a96abcee461c3e7bf321b1795360f75cc14638af22e5081563b7b7e0b70a6d27e101cf47debe4ec5066bbd9c43e498590fb5a70da15c11d8b529c63954a5d73c6c2f95fbf37d0fbec50805f4bf5c0d71473c00e2220214df1690807d8e409e007f31f91ce1e87fa59a9b488c66f2ce30f6cf8fdac65e7337af1af1d5b4288eb8356818eb408a863f71b967f3ea3f150cbf7f922daa5d5d8ceedc75014316a307dc43e68aad1c910935e5146005ad865dd595f0c8dbb0a22ba7441046e36894722efca9ec960c12f90e6ff0f5986ecd81cab99873226813eb477d3222e1e53d10ab038f9af560c57c9692fdbb837fd91696ca987d769e82f4211b89d8da762369015caed63c1235df34179b5b56b1c998404d7d5fe7500ffb02e2b5fbea7decd1f5d5db5a4896f94ffe9233c9541210ad9dbb98f4ed671f798377a145964f81f19cc767681100a68de8b041c507ec298670eb4667ac3caa6aa65ebcc6b5f070f0884675cef5d8d7a414962192d7188a130af8a9d1be6c1c76295cdc4f6f9123c7c1fde66642bee9ec29f97b5979dd293fc7a592f641c2b7a093bb109e17ba0bc33fc0b96418f53e0452396c316bfa54da66fa8089f51a8dbf591d0dbfd8e3bb43798c08eb13facfe0c49110bb7cb5c712911802a5895b4dece8f87976f0e8b2a41820f7f141f5feb7d361f6cd702fcbf05deb55e0cb677349a18fa23438aa2772b7ade2a866b53086a63b8c1cf6eb99ec38e3740394b024ad2d798cf22e8c7cd57d441d8e3adb0fe334219d9b176411ddf3ce5223022e117aa8378213558ea59e3f29611859c5bcd5c1bcd75306b99fc758d13f4ca97ab7c50cfbbb6b92a3b1ab833506dd42f5a2c8078393c2e91fa5611c7e41bfd120eb82a167356e0c265370fee5c15bac7a692072b0abd273226b6cb4adb6c759d2e7006d84a8ac65c88c68b39c54c0bc4a66f5196137a5cfd697b8db39a45364950f942f176d0ca61c82c3e27265939ffebfd630adacf3e2562731dd27e9a3096479a838722ce03cd3aaa34d587168f36271b21d27e737da168677fdeb2bb259dc6ef327955eab88ae5866e6dac185c852811f0ab320710ab5cd525a059af3c90c6561a77ba6104da744ec78b99f210feaca1e8a6085887e46b3663b4e6f7c3fbab263583e89fe3ef99173c4d05f6cae59be035416416c2c56fcbdc6104ec6a71e5120dbc69d3879faf31debda8d901669f5e27e54c75b2caf0f041844735ea12f8d299ac300a21e86a9516c9364effdf2db4b12090dab913f3c04ab12400b0fa42f83b858fcc3aa2abd4d4f80e5f341e3dc6884d1800c405203c89d862d1714a0764d5fd07519fa0de6f7c963b9c2ff4e84984d5572ec5e9fbdf1d5fe0de2373ef996b71699a5403d48d7ba8cdc8c16bdfbe812aaaf420d0f430b35016d3b2a073837ff3ab6d61cd463267bab41ea958a9f8964a0d687b212ec349ac2a466943f68406fc404edf89e528b12e403079a2d33252a8fffa71738b958e62205906b1b294c44db1b4212d8460860b7cb245d993d7fae1173209452c7acdc46a8930087f1d63a2df18efd9b40b62e20454e4aeff9e987a21bead1e7fb1767ab84624a8941f459f14c20d9a24bd61523aa8a7408c10fcec764d9ea42822894f1faec9f3729766c24d5c4050de296ea7a0f2bcad728a3f2e8a236f4fda01d624a95f0b1bc76d5496516820b943ce842ad3f4ac9d7d8534221cc369e1d0047fe6ca1b26189a7d572134bfb70ba8f5003bb94431bb0cbd772d18b2a6c07923a9553aca044bcbb77686d16dcb7e77d040d622a16ed9fafb48bb5b9bb434fc4843aa281966d0de380667a40e9855b245b56cf810f937c36ad239d2fdb53d2cb662fe906b16a7567fad96737382d9d4e92c1cff726c5d335ea60b04516c8a0df25207a1d2b72487db71ff6aca97be89dad0c8bf77d405daca87713f5ac346ae42a1fbba27df1ed4444211ebc6de87c90f3d78c2a2a9828eae60d470870c483acbcd04048c99f39610f115204dbf4e7445d1b95cd654c8ac7d3baec169a89967a8ba8ab498eea4da3903ed671ab4799079eb19c52cd2991ae2b5a92ed39e1e41119749a8e944cdae0d8159e9006e26889f123976c46dcdc2bbcdb453c2bebfe00eae5831b66f2ffb6306dd485a0c1097d3b5111cdb50847bca3e874a7e868d419840701939f6d628042a7913bdee896630b2ad35d79637b5e8286239d71264ea2b8efebdfb79ee789edc3df46157ed858e797feb9cc7d71b93782eb84377ae48d1025e6a64d310f74c1d37df8a4181cbda760e4b131ecab0f3c5c2e4ca64a2b18bbc660227f35199764d5ecd956f68898c9e05137e75fe16ceba121a419fb99181b283924fadcdc15fff984748f96c60682b27705edf4e9c173d95daabd9c95d29c06f90921aa6810f36663c68ed1244d3d5a984e4d6f0f4eb288d0697f109e47358f57798fedd7179b01bf1c5c1d6b100f1ffa3ab186f10b4cb5bac3ea4fea6e34469011328e2d15b5cb716b2704864618f948244c895d947584608c757d7005d05435451a31b9fad31bf97d53d7ad236315c103c24516c10639d09b9641016f6c9dd629c5499805dd158a6892bba49a75075d89ea74a683220288c07a59a1ad8a03bed14e767d86287d19d9a12a70c99aadacd7b08b9694d652892bf727f3779be03d150b99d00cebcae4bb4f3a130b7dbc4e24b3d1af3a1cd0bfbe8913efe2efba9399288d8fd612634ebbd2e46b7db5c640e595dc062ac408df5575668d1dd053d0967536f67e3d934b552b7105d5b3bbf09cfb30e7a30cd1deb6534d4f47299e85448ccd00535ff9536556890f1d0953a0e2b0e2772c891d21ef69328862561e89c94aaa529e12c94fb504c746c8a8dfa5e477d0307a5739f9a10f641f112bd92a9f5af1d6db4135ec86c432ed3416ad47db2ffc33c0bd7bd9bdb2eacfbf28e3e32bd8926d0f8765f44d9eb22d5b9fb0a244f3fec945ebd016b19e5ab68166da60f94d4a0db1c2236a9fb56eb4d5761666977add315731a22ca60a558e60fe87e87ab8af812a24f8ec006173da98563c59f953c6cee08060b625e51365e2d66593a484e203e1585f83031a1bffdc623ae30100d2d6f966dbafd212a2ec9212c1f412c69711ea5a018424f6dca8c2a9f619d794dca1366b8d42e5b58975eebdf185141157d497d6ef93774f08ccc0c8ef10e32b9537e089d27f1ef2c1759b1c3f758d38c3f41522dae246348529fb6ffe0d588028f5fb0d182df227d22cfa0db10eb9b0c612bc2022bad3248cd99a2771f549be06f2dcf38f43ba3456911cc164be1d06b4bee4251f4dd3be52164cf4ba581168a7f498ff39fcfe7be0b54720aefd26619ffe15d4037271477993155a99d00aae68ccf73e9c489c9e6159740d36d8f95c28e5d0cf69e0a4ee17f579815390661e3c9a279cd90955eabcfe2634eb4f9ccf51d94fec9d64fb1d9bbf416bf7235bad33701567ef06155ac3289e37a0747c5cfd49df80b9dfe04896a502bbad9d596edf8ce8c736835027e2373e2cf55750731ce7c2e2e64f810d2c0446a9fe4e3965daa3387a8016b4a90e5d61c4e0da4d5642510fa149082d7242639dcf0f35aec51ada46941889f8cb8b8eb0cc3e159b490780eb1362f5dee81ea4df4230782b9f626eae5ac3c14dee6d5685e29168ae02116b63f543c647c35e652c698255968d93f69ba2bd9bb2e101a81d74f7e94a8f02a26b3fe8307347665e0f0e19521d49417eef942eeddd2113a9b0b2eca66788dca62382ee3248733b207b0265149d74e7d96de2547f32655c4080b5b24eb0c251d783092d323e83e40f2e0e0b4b1b0f2614be37791563d3230b20ca71ff880117c0b52de428278d74f2214a531c67c9c56f8cf29f66be124612078b88c98a535f7195b9040db15a4a774522d16eb3a1619d2388b72b5b9176af5fa804a4ac68be4ccd182a32f62cc4b1fe7feb75d5109141f7cadaeff3a5339d85c87b0efda8a68741e6ec3ccfaf7dbc0cdfae5fbebba5056703d48a465a17353d0fd6d2e3c96001e071e6f14796a69dae925779bda6d26ba67dffe7a332b62a49d08af52d64c9a2d0ff01a11ecf526badf1953bdbc7741dab99704d403c02523c5424772802e987a0cd0a080a2a9e38bfd069be358f71b9409ccc584625ca08d0bcaf1a2488d3ea528a9fd4301ee059b46a1086b6568ffdf3b7f8776ddbd74ccf893f903d2e8b71dd007d643d115f7cbb1c25df2d6a8c42dac4880b06f0d4999eca561e4240eff7cd3130008698d2e6550a9620f1ca54e10d0fe17e99bd84b4d43f61398c205a89e9fcdc7f1c8604658af5b7c95622fa87328980aa217c97376b674cceb90feb43610f5db3ad15d36189a2fcff14ca1d32ebccf7f2e2073d2b4558587e883c762d09f111615c46cacb31ef7635063c14033f6d83008b92b3f7db4a591daa6552d736a1ae087c61080a6f5e03c743dfff4d973c2bd7e44aeb0f6f1e5bd445b9234e620e550495725a485b996b34a1935f77d6834349415650aa90999deac2eee1d56f2d683f64f51e53ca5b11bbeb770792da1d7986e2b2605e027afe4f4e32ecbaa42bf028cf112752bd14c1d83331cb9916f0e8d8e49899172ac5ea65624738160a738fe4877ee4c6dc81c508fcd8a98d627f0ae39aeb58bf1c039ed415697be0c48076d750ea29058ed932a5806a69c498525a4feb21807087f09dbcefa5c320869b523a44bfc662b1c91c5685bf81ca990b94bf3e55da955930ab9b4750fc206005100fea58c78acaf0ff727e2843aa58991a1fb3bb93ca634e3e023c61e608628c6ad9d4b131cba9354667fb5522a15666660c801eebf0c9f404ec031db2acbda3e21c1e331e57fb1a97852904a56122fcb507f1696196187c1c2da322c0e6e8da030f1c3d09b4c610130bddafdeb10e43abe2859e0b8a13a4647600c5996d889c6be76c010d25489bd42d5ea30ae953d14ed98e5cd4e0b0b68d2a8c981f8a3eb7d8da6b5c3b8a39faa5ace24019c4c99c6e0305970f450a3478fc5963c77d126fd5971bedff2604436fd95d575749470b13c32ad0e6e97adaf4a7cb4f0ad46ff8b0bbc6784c23902a170fcb3bdd0267037761a587d3af68fa7e4f7d9109dc8e88a99bf4fcb3d0a9a3762eb7da050575a03a431f6f90315230205cdfa389a90cf4590a064938ad461a31f6645c08203d36e727b1590d68895f09b955514ef0f83f3b65b653bbb9c588e8114cc5047545448ae946c5ba8ce4a87c228d57fa196f1b1635fe928e9f068c3d3f4162647c2c76feb8fb95f162dcaba4209a9997e506a6af997566ae5991ff5aaee97916bf1594f932abcb2cd35437cdbd59bda7576d88fec5aa8773f8a7f6420a538c3147fdec6b8914248a2cecb692a5aa6398e9a3d524de34878ce18f49ed86d1477b485c83078a432f69a012bbb97e1a87878f80255ecda059e64f5e61443b9b65325f326574780779d98b48402de6909593fe45c3fd0bd753d1041492e9a1c1cca0580f8e5303f6495d1654914b6612e8e3174e4957c61485657e802779ae41b6a7cb157ccc51624c9352dbdbd6ea38e134530c071d58f60d379790ee2487e949d71234bae4227e4ef5debcd0fd0150519220ce463756d90fdcd4627510440f9c6641d59ff60f2f37b9fe6cafb46c4d231e424ede0901e69bee8e7a3ccb8f2ec0914fe61e60cc9680575a1ff121b187504b1f9bedcecdcb0cb79bc9cbba130f6003939ec0a6e2ffc43a3ce8eff424a770b8c2630d9ffc1f046ed2fa6d5f71a90ec907b8529b68b8b5aa127d2585aa11053600f8cd58b8935a80c0fae67b47c3843ee1c8b7c00b1a4952dde3896bb1055e7b4ad03f78767e8479fc255105f46e3e23b4d6107638284ccff92db949f8df4990d69d0c049abdcadedd4054a7a355e79dbe3dd76bac15fcd03f84bc9d03185f27d0a55cd3b04cf8e9ae37ff55f9545a556d1f6e16eed9965e9dd82b1cce87a756ac3451da8f9092b2e3c810e404e80f24206c26d224688078bf6a8e15d7df1f12e4439c914dc8d8823ad9932c8d21d9f6a323fcbad86459432754a74343781eb04e035b64ec427f455e8bb685bd43fe429130f9a81fe6a0a9f5e02a3568395cd3a1559dceff961057026d84aea96a9b63344542ff8cfdef1a82889509722bdd97215177949751a45bb3facd830d75ebad8e7da9d34229898cb905fd8d0da9f1eccb0b1bcd58bc3e503e9eebbf080f68e49a4a7e26fb9c59bc7f1b5abc69072d9d0b15981643dec2955d52735ee1ba677df8c6071fcbf6721c478d9a9ca6f9939911dbaa7b35625c6901c3945c0764fbfd8a0647732a94c438b6c6e79ce1d91eaf06b341868c66524be120146ec0b7fe3637ec66bc02cd2b6ffc554e07ebacf1d6efd189819c4592163a2558df4df8d236b3fef0c248222aabba5a16e5e0376a7843584bb051673a673496f5207665bc3a9e382251bd0fa322eaf4719a3225004e2959e62fcc0adb0e07a6d290b474d4227caef85fd631803d8a0fccaa43ad9dadddbd3f7cb654334d65b970bd80d3b5b3de9dcffb779f7d0540b170a361c6f6b3b3e949ed7fc3687306053a18da3b468337bf7e3c8040ef35c1e703b85be27b4676f9e728c04ebf6b9be32d6214306018d40cda9dfd0d527dcb5390837225babfc84bce252697be5cb2c64eadaeb017431431957e3b4452d566a6226d243a191d523323abd7c0812e87d504593d86d0217f1799ec7145cf31910340a8b213c882c081f00e177e7b0143d331e74a1638bfc8a09fefbd246020d518c05487f920b0e71181e737c15b889a5341ad094474ad65b0157373dc40945e745a896efff0b87980f5b904a368f6e70b252f0fd96bc5c22bacab401ea8974be9c0f56cc7fa13a57d6858db276782e05166483a19b4d7e5e43566f4d2ffbf0cc8652cc10805611bba9d1d0be992fe81ca374c3139d0d0e091f34f6f4aa02630617d314c34a2ce0731dcde0a638c3e931a1fd99872a3d5c82ac42f2a114df970378afe6e34bc902bf448d30c327333acb03bd8513fbb53063758a098fe4e6cfd9b7466380f81424d7653ff865b9f86b576f49569f30a1f2ac180da54f3784b916ad683dc7a322ae91cfabc05ff9e557bdc47f33372c41ab843095271fd0d122231ae35efaf52e9312592cf5b70efff406e2b86645e7b147d669830fc26acf665939630b52cd31fc7814dd2280a8ec95498e29cfc4244001242da150ff20f1c4bf1c307e38c2bfb2b5adbf90d89d3c4f7dba81685f294f1d59514219c92dd911ab1963cc42b5d3d060b3782af4b5f39e87d476bde3dfcb69f619d7f7bc28f7176e81756154020c172f55629a9bf38333f47a10956a8e04b46030cd511b3576b233a074ef92eb1d180232a1adb5e061cb666c7f4e78f3a5da1d36212aafd879ad95f13585631e053ebe2a674774c1986036c37df87d4fc3b34a852c9c63623cb0982ef5f700cab180f1b2f73da875ebc07d4242551107d139029c079518806a10f3f059a1d0af25452929d028f1f11b1c2b4ffba22480f04fde43e46e327dd7f581489a9b5db905a1f10b29039d114e2ce2885ff37b11c8d4ed8209b83c1d30766b1520df811441744323d476120c380dab5b21e3fdc0e355cc17da4abc2768303e1cfe6fe3fe8fa99fdd1cd8c0bd6f8bdc32f8d36760d3b4fbb4b8eccfb0d8282ab92eaa29f8479376abea226b2a9e408b687bc9736004638c130dab02a5727126ab9cb27bdb418bf36ede371328cb053eb5d33f8a8fd3df6f3d954b3516c9426b3ee563fe62701956b9b6bb4acdec2aa0b642106e83eae11f7c7ccd4c3272649fc3ee901b60c0622df2313b2e9fbb386b993b406a40f6c889e6706d387b4cd8055b7ae4e051f954b2465fca60b90672f288f761b0188b5486f612716661ed4e27e80c196ede9d7a21cb4ff50b1e014c9c761a11d19ca2459fb481b8838ea5e584de8031ccbede7d84d83245ca73f36522454e8444c2d4688cdd48347b3295628002f4166d975b79ac5456e04cc908f58a0a873bfde7df2435355db41cc4980c6e89296f0731ea2ccaf6dc36bc35aa15ff910e68ebaf855444326ca98749f54af3befeed97297c748365ff633487b650c26bccd2f1c511410773e06aa8f7e0403c8f38e9825a411d2bae8ad593d08bbe4c16f81b8e97767f41a539cdedbd598c66a159206035ec8b59ef7f251f3106d4a065c34c2fb23e2fe205d49ed52a9b0d3e3aa939178167170e8cddae498d74bd84cb52117ab21bb79437407dd79e0ce77a2dd43b6623e54082e1f2a5a3f6344f503604745d60d507779dbf14e31724168a62e22c4eb121eb8264449a8062d76e367ed349d0163dd98ad305e92e355f52742576a88c4dcd63c52e048e92cd681350601ee6fd68e7833191c2b71843a38df251ec17794392aa080740a14b3b94e8a234bf631428f95c23473c1231e4e0e1649623d0b49b5318a6280028ae4c215b02810aabfe4715f17a6c997123384609fe08d6e3075de63e53225b73a7427af3734c2f67f2c541853f040f7c43b827273c723016481bd031cdd1e371564bdbe728d380b6019a7c1c2209194107b43a038e61ce626f48be4d61889e9d325634e020bf68357a2b72fab845bc50500f21cdeb87fa92c41c3d58f66651165bd44ac3f17c5f5e1b3d7c689141c55dc31548e8999c76af3bade9cd2ef85397eac2d2771c26fa230cdb11bb889c7df8841247cbb1330fc05c888b0247443934cd4bf77ed82ecd572af152daa34757afc8c294bdf2dfd2c6714d5f3e0ac71b4fb21a5eeaba53eb27cb2b1731b6696d91435bddc8c83456692f9fb61e206b0301e0029fc6f0a46515a22005dcc5228a64e0aa5c316a387d9bf2d0af591484684bb2bcc92e289522a023793fe445df6ad34f98cf210be4422b6679b7d789ba67c47877ea3348e397a21007b8b036e79e7ca54aff9d06420965f78e00f808ef9caad3cc464eae6d23ef7bcb7b0625dd046b5543013a200e9454b0d7af4d01aa142eb8682202d2b45d3df4e184b5159ffaa64f19cc3c21046f8673697aff020592f498362f6cbc9529a00c4f2bf6d316a8b19ad7c2c26bfdf51cf5db17f82ee8aba1361427fcadf4ca6f7333cdb85b03562bd24a1856d0aa70556a945552a70e89ca39039038d012c17520e382ade4a92faa15e4907faf6bc2c373bee09118b2b8f3d3d81d97838b76d0dec8f9ea998ebc5962d65eb0e5d0da6174d04ace553f2457e50d8153953f7499c01c1f3e9ec404509f822a6214961a8f36002bf870cd55ae7aab92b5bff4f82ca41392259bb5a5ce99bb813d976c269ccab6bd15be257343bec8cbb7d9c46fa40c63c075ee5eaef359cfc5755a612affcdf9102e57d17b05a4d8871d10819f0de06ebae5bc516a7cf045abee8ff4099491448ff5f635ece6de4292f7efef34279403914ad742fee7481115c77fa651c53e610936b2ba35db176814df45f0f2cf96cede69e15ed697095b872ad00a4d2eaaae2d6fe2d3959cb18e27089ad9482dbd8b07fb27e2adcf2ae4febb48eb00f811f3a49d757a6d53e1bfca2f70487a76fe515919d4ebf90b69842ba4b8e4d5c9a374db5973f928eb678d4b46d76ce715613837fe31e953e0200664c6d9753d798345f2da24058a065135c69812c2417f9ee96228eb37e8124a2c6a473b8a0d592944c748f66d1cbe2b8f8f95a51998a09ed27f102c7996aee35aa65063ac03cbf2c3bca456b87df26ebd25d0598ba608814eeb024828347dcd7fab4c122c1065722f9577f88eb2b3c7c90f12a5b51896c712f5690681b5295a6102b07a5646f0d584314e3605ea2cba4068a1216058555fab16b9cb982b2ba9c256adc186af1bce97583c904bc190409e4386df7df7160316600e8081e09d75176195636cd946e3d1bfb85eb8f4456f693e7a409c4ebaaf3213a228bae3c83459deeca4b3c5b99947c0ff420eef7ca73a9d5f4d4f75da72f7696856253079b882c8d8c87f19888c16961a9b3a7ae0e9d50f42617b52f6db7394ee83648b522cadb39759e087f21b212fb081951b0317d58868b926bf42420d5e730ddc5ede6beb52a0e93458d927d1efd4fb1e2fa9fd604a34fe2aa32d4f5bdfb5dceec347e5f3a9961274ba30abca22e311df700722816c56ae816817a0a0cdf5635319c00bd588f3e2d55658c0d80e45932f26faeb773d278f57bd719b28c8856587fa5e6fb2998944329ab39ca14cc9c3c4131995e3257dc9158b04ffe34e2a4c8fe2ddf3c7d7a689d6279f95557450a6170f23a005235d18b4649c76ad570ba083a30028a45f28c6f398be4788277f04aa6bc085df8ad83c54fdfe2e0e9c41ca159d8821d5984bc3cddf05a75dc2dc30e74c874b55fe720dcff17043c77e8896abf661c5123105cac97f221d26a9dd91135233389798bbd90f4b364e95001aad0b05aa0abe6704f8226696fd7dc9c323f88fe039af2fdabfe2b8bf07f06cc279279f75bcb4c5723f4717e8adf1150618ef6897c7cd5a84739fe0590f706d8939a8f5d25d61a942e332de110c65ea596f6ae6678568441b13a8cf545f71c648d28f7e16ce59c3eccc3302cb4bc7ed776c733af7c573e2921ebbb0b52620feac34d91108bc9324e667fafeb51a8920927bcc8243ed2b35bea11f558a36a541d31d76e47efcf309f5e253309997c89d8e1db85573c6b0131cbb034851facd31b74beb57b836bf04c8c428fda6bcc629d8924185370919a73f9ab8cb50ad2728f9f45ce2ecc32d1168dc7345ee1a0a8379f1e664a6d00061c0586e2d64aae28e7e3fb3370d3a2991701f86daa0088690fba54cd18d64aba7e283600c8b5b20e94f24396174baf44bd02c9eed5139f7cdebfd8cf2594ffb2863ce62b18ace91e9e9014b421c51398289aeec859c0665f3c6dab9733a26dda7f7568fa83ccf5abbbb8e6aed0fb7a8f76e41797f76afbe38032c05e4d42f997665e14935b73f622f47d1a54e616b32d5de1008209ed09b25e0c72255d8f7143bb98a80966d1d4421f8b3ccf31ac5a1d2ae3e93f0d70c6d29e9655a366667d8c9f69858dcfc3f3ffc06ce0f528bf33fb506bb743889d4dd0551cc224708cdf4fcfa96f6e76571e99ec7ad4c6a86bf063754210de38550c4bcf9c38123528f62d6ec24fa527c0b54a9c3e6589dafefb1de197445206eaf991d5ec09309ccaa13bfc12ec3239106e46686db85775949df9f2227e2e249e9301b029bb7dfc9fa388b8b6360b646d508a25ce039122e3008bfc0b9f731de398e880d92c4f042ee86a4d48c68faedee08819264ad626f89784d509c6dc9805743eed2b2b124ecbc6356346ce62f12f8ca96c7eea291d3be511afeee7a3ac60dea9fedc43dcd4e6d58a18e5a03519c2a0077b0505403aea24d36c1db19fb4a7ab05c38f8e59fd9ba1a8a2aacaef59ce342db360e94885c58f446f1df93f22e2bb096c731e3dda944ac3d4869968e0b94aa476f594ce956a298f8d12ba5a020e2c43b79b82cdd0459b8409d05cd1578a5d448641163fccd5dbf2a29222414f029145cfb2e7f2b7233d729307570e7d216efc51f029a46063b2fb903f55c409f4aa9f330b31db60997971cebf4d44cbec841bb5fc1108b39c38d90b93796417b76d31a81ca971fe628462f557ae8be9fcbbc8278d2633b068c52392d7e9beba3a595753ab810bf59aa8cf862ab0f14f8c74de85541d3955c08431574ec954c1484cef52d1673927589d909a12215d4fe6111668e48cf81ac016934a181181baff8384186c257e8289e944af68d003f144a428579f5936f365b1860f1ddabc4905bd01ca71bbf870d0196fb5fcdcc2460ea2344db987d3e0f2683072be90b63e50adf02fc97c7670b4722463ad3f37d0e52c5fa3ebb5152bb72f85b42df294cd8a6a19720422e4b558630d866de53c46658f89bd4dcb88bc5daa58a8c58e375d656243509fa3519b7fc23b8d8b25dd36ccc8cead4e000f65104773e9169b2e02084639ca14f1dce63e99e624510039c0e40e059c80bfbffc17f55b373b321b997f2ab5661877c768d9b4e933440d4adb0ecea15d00c7a4e63db4e4bec6b8bd15dcd71f2d7caf26756d0323d35cc4511b7c303082dfc619e3fc9794a7b8a2588b31178de502433a16ca446124c986b1ebba2c899fc311405b83313fa75433b1a2c1ed45dbee69ab94553aa672a61ba8d866e393d7db4510c271ccfec60a5eee3ef0f12455252f99dddb2693bb136e050eab225f515b00c5e5b3260b064631c817b2295f235de9df0f5ff15f7165554e0914aa3382e90ad4c6acedfbd08552c780d263062d5d48194e3fc3e1d81082c9a6b01e85468a692ad4ccfe6621b26d99c45b8a02aa6f5ef85c64cf8b2b6d077eabbae1f4815248e2737116cae7db8b06200640b65721486d8f1feeb703d366502bc99d146831b38ba9808f0c438b583476a709153c4dc56c1b4bf4414dcbbaf23f814120ee3a9d8fbf5342d8a06697cce7f0c6fc7c6d059c4e2125817985ead94d7c9ab9fcaba182a65ecad51a366861b8bc72e9319aaf891a774cfea33a414fad3ff436719e914e257d5f984eae905c063afa61342797219489bea4c8fe800e6146fd2533897be05ebd9f2d4432c2cb10a6b272f15bb10568461a00f886e1cdc302e5125444c00510171d3dd057694a58d8acea12fd80296b66ddb0d9be488172f3f266b253e4d7125722eff08fc5ec52f1afc3952030bc52a7b5c1128ddb3382117e702725df00c28cadd2d4738be5259e22b182b01eee6f0114a3dde9798bc166e063010c9d9bcb52bb3eb6fc0a8b997fc990ff4603081d92a1ebdee0ae4e50b0e3b422f1b7687260c20e184d2ccf2206a1a24e1bbae492645607ec5192945a88893adbccbaf3372c45f2d267fff282ddbf79adc1f44f7b84dac6c0219be408cb4789d66098cd3f1937533474523745ff4b24b813a32e126e36f233bbe258c1fc4dc1ad31660ee41781d82cc067d57e5a88bf2f60ecd956a52fb948c3e83a1e40a018a79ff101e976d9c193ffb4c80f225dd09f955312b82dc0ddbdad163d73e59c6a4d7e25c6ae8b5ec94a46bb6d6e2cfaba3345a8536e3f44176f79f087ade797928f88743286a69b88fe07551f0de0caf1ed2ba01a614184d23a7226f95125aa691215742bbb61cdd863f86615c1a384e1244303941595ef32ceb87e86d39b369db5a8272fb385a17a8d262d473445834e2fb927095f6859150caee2d5c1fe61790250bf522baea1d5e2757d0c1d302dd47d717549f338db3ac908162b2e7a0438f6693497bc5e48f517684877fd3799164da461bcb552f3f5ccf37055406801decf0a03ebd7aa63b7e7f47223dc2fc669e67f64fec3da1dce1ce6879a97ffc8b6f16bd8e9ced1435b55ddc0bc37d622385fb821adff385369633a64448db444fe1d033b14678f707ebfac28b63b4fd1f0c4147409c9379c375dd0c78f9a0383efd13cfbefe2eb70a8b0afd58a9c9382c7ef7920e76d2b44bb5b3bb436c5c94ecb83070d575448108140136f51445d40270588ca4414bbf2f20463d03f31f1359854f2ba5fa23095ba9ec2bca82b6284e41a9667db222ebea8b7c5e513b18fcd807b65ca4c0c400453bc8d077c228e73b142a35d091a337747f5a8d3873826a1ff0127adf377cad0d912e5a6800f2e3608078c6011f44f049cd4f1f244aa9d509455ce0d2659445fe03d42e5f04085ef00ef3097dae9aa22d4cc19d5a80a1b798fa2752af2d4387d25156debd10428805ffb26f5b7e166724b41bcec628567619bb6765dc01c233a9cc43a41c3a9d0975a5865f7e536e2a6386affc1b23933c3737a3bf86059af6b762d352706da252515127c998d66f5a1cb4360c87c9a72251710f252060296ed8b9158366b8854274bc218fbbbf8e9498a0f70443426e8fef7c404b18d6682d95b7260f0a6c3f3244c69a0168c7b3345e89e3be95b15655f2210865d7cad9b42cca59765c5f8d2ba23b767e13eff88a85e8f7e16058db30077335873d98c699b4d08291df8ac280665444640e87e0e9d54d0cc15f647f2ffef42bd8c98115238308b78c779a11c70f1b4491e86616c11f7c3974ce35cff90a422cae0f4dd79119a05710f2e8655f61cc6eef67bbebf1d2bf424c0d009366a2ac73823abd03b5998e8b68e8442cee071de5ab556164e6422b485b571c69fd7487326153b30eeb366adca528b1c2f316d5f856fa756aee772b50f5dd11a1aa399ea42d597cf663e311809dc88a608cd415b5fc7c877e25e08a5d063953a321ea2ff9bc673a8c95cddae6f893f29b3426089ad186a5b21aaea2956bc6f37402e570aa49e3dab72c2246ea6f54064dc121f1beb52a004b678d1053c4933ba3d4d3159917c79d29c957aa53e6d61135cdc768b6f434abde1858fa1be16e17a10e6cbef4ca5025ccd6314d66584a94cc0e6092a612e471e0a3577b25df904606106bd0abcabac39a1082e78ce2e951d0ab16ea2a6b155221ec66136546e1bf491f8f072bc94cb80c945cd55502346a185b66826f65557554555b7ed9a4b3ecac2477e9edb9f8dfcd10d6774ce10a9c0d1be149a31d248941d280352210a75fc018b71931efc32c8c2c9a609a81ee6d270307bbe57266081690ad693f8530e866d8bd99ca6d3336c12f0dbf70e3167b4e4b337dab3171e905e8a8d37d68a7628a3c70272d45db1546085cb642a7bc56e15f4059fa16445cceb01b1d1d9067ac7b6c00c77e4ed5b1e99f5a2abf0f0779a42b3223da2e6f77614eb8cb53ccdb48778881a29a10a3a5081accb39ccb681b4d0df4a1e34c5c51c681014d2e0edaac0b9a07967ed89a664dd359921a75177b18dc85ae7425025dacca560de0239a6b36f6002836c0be5152da2988b067950b022f427a87961ced212a2f93116c5e85f8738c61715e83ad750f997be5911847d804bc0149efddaa868fad21cf1d410daf9bd61862f2b9dc1408581e88624948df33eac071249e7bac0f95a023c41abccd64d5b237c60b19f68247d7dc1aec55ae8d3e7a484d84894c462d26d642a0a7282fd52c9ca7b5f720a1b0dce0c172e409dfb4be562d388ab200936400a4339a677c1c2f48112e809b1e0b5868900a40312d89a6ad133d299adc0879973ae188277bbfbf96d1591dcda2bd00dc76da6e3a92fa25c39586b38967098ee69e50d0819a26352eee0912b720865d70205c2237cb3ba3b3b8177029ba12345425b74ff33a5ed7f42fdf4738413dd2be441895f4ac5692df66c28be8df9d609f68f0492648c8b994a85f3a53cc04723e2b45877dacf0d6975a684b35aa4867af068423ae6c784cb2a41dda04137e9b9f663d6aac58b725f53a21bbec1c1cea139c507ab5ff0a91a7c280de76f59710a574df22a2054dba8bcac09f2e5afeafa2dafea350a59ee6c9a9c19317eccdd3b095b4b4a099c515741b048f0f30b31c91297785e27c0bbd45cc05256a82b481559354182e0714d5c33c972d04df77b736a480fdd07b1af5b178deedd02723623dd515c77d46eaa02be7bb3c5a80bfc74589d6e4863808d98da29102a0c66c1a7e1d5061d0ddb5c48fc89e38ee85548226f5dfecb81a3598f8bd65235d871be492ab8fe6a26f8857967f8802fc5556df99b472a3b063f249fd4f35a06d8db42eb088917fdaf64431abfc109d22f1df45440f2289a3dd083161e28b01b79d5930dcae43d1a36698f072116eb55bfe9e0d95262f6d3876e8c862b2c585124f4761b1b504b98e2bc50d930a7b99f2ef51943c088b7dc5b4ec364994faec4143fd6605b0c1306ba212728ad26b3beef335ff7dddcb257bfebdc4e95753f6bede552d009a5e82dd8e588cd9458797834d24a495a0056a198b201a340d7e3bc8a97f7b8bf735e843fa9426099a7335e36b4b61f4331ab97c39d6f79ba4bc08d61f1c0e4c706ef47a2513403846cc3694f7ce67175080fae355a99529bedf4e70d44b7d758482a22716a7d10d4d74821b147d231da86d30554ffead93f3d7452db9cd7c8fbe78581537d9fdb4ab5cad2c52630c1c81a695cd9edab9e6a5bf1c2b72afc41ce30af6238c2d09df85cb9bb3b13394bfc6082cf5663bd9b57fee8faf05aced0d11d8f71098bb583c80fee7042887495d0b9ac834686e1a855c3372ce20138a3ab96e18dc890036436487c4240037507a9c7256ebf8f996d810ec05dc4d9ba5fcdea886b6aabe3397d04a71b56d9780337d748cfe78dcfe521c8a367988fd9012dbca13e788b3229fd26b315af52f815e74f2fdc45131a300d0d70364c0be5868b8363cad32da12ab681918c93f3bb8f133db97529dd7eb17ea48aa7469ffd0ac7af38d4f96a0a49d74fb829260b00147b36f50600721af842ff7674f02045104a1ff150e470187e2cac6d180f6aadb1a321059c9b974a62d70dfba352c19b9b7c3c59e14154cb11e7c73af53aeef3f73f26fe511cd1b44faaedaa87021244c61f8d93a44f91c8dcf6ada748f203075501fd8b7a8b92b565f59e9cadfa925f3d8f8f7c22f5a64e2b0a1b12e5077b48cabc8a29410fdac089c26cc1a29726180460a8cb95ba4a2b7f989f243b92f66318fd07fe524c4f76a04394b0a49f4db1d49ddba4216226f84760a149536ce66afed0567978607a9a916060f8ef24b73f03cdb08361420e21d34414a582447660c322e772031028b12a204e22d93d97fe5a75ffd7160d406755e2cc86dbd4a627317c4db4b139cba25061b272d3c1e8108f86f29192d802e30821f233ccf250232df20a2ab4a7579e053227fed7fa4371ddbd4d3f92c02981f3b829999eb28859c7c9990d0ab0076d22fdd00c0a35aaad7b0cc6b83200dfc6f69663f39036cb1dd1fb8373b3392b78446c4833ade18004deb49c8ba64e2822cd3a6246dd7fc58bf230f25e8eb030b7af2f88fc95c393bc635c0f95db475990dcee8e42e7e5b81fad5ac1ed491437842dc76d435d33493742c90c62c9d828bc16853356b0741142675b7a00dc3e439a5f196e1e7c7828f785724862ac341c7eabf64c7f2f05cafd0b1213c6f841feb633f29daef91f72e89247ae0b665fa9bed2290e359400dc93b5664bdc2dcb4672a654a666f73e9de842ef3eda454b7864c09882e6a4a262f08f07fee44c3d705eca5538815be3ee4b12b3db289159ed6945349fd8473bfb988a89aade28eaf3f41467e393616664af9e9c1d46db6ec4425bf8ab4f636c95234e40036b7b5a9e1c56a85fbfb78b588821e80579db1b4e15114ae88baa089dfa857a6dc0e794727f7b3a8571943a298fe156e8a55cf83467478d08be07f97db469f2383c13f53fddccec9f09397d4e9b7cfe7d765e46624b3393110429a21e2f3cf196840da1e0002de860a8213532a0451b246ec939810eca6f5757dafd482216414354ba651c9bb790c5510daf54d8d6052b6347494e09e21ff3d768e2e6b6b82b815d419a0eb2532ab85e882a521cbf640ab1694d59c0c540eca701055eadce4c231ea1a5fc695d8acad24aa1ff4b493ba33057215f76f6530f8fc710f896ef48cd27249fe84d0816c376ca15b5dcd39e8bd65a94b9a005e0aa335210fc582e657e57960f0e919bc0eccd60038e9bf385f2cdf7ad30907d6ce634a4c1053435ec63e75ab975b0cf434e3725201ee6be7f8920fe9b629aef2e60e078487a24142bd9cd959735706ecea096accb768fa02d975ef2992082152aae872cec7e32a06537ecea1c734f86fa1bfd32244c6c6328d111d158e4372fa56d1066f20d09ee8696c3b937568e411338a96c11b92164ed3a1920976884fbec673d126cfa57a9346feac5b11dc7493158129cabf7dcb2f48b23da151033a5e7f2d0d0ef73951ce9c400e7fbc77f29d0c3db5d22d44e8f4fd250ecfe1c9d28218da3c960e6f5dc87e3ce4c168f81e130b4c4621c3567a9b4b30dc31eb1f764c7477715f36cd309111c225a25cb69d7dc81911159eb1fb6dd258060bc7188eaebb0045b32f3be0a5fec83f2fd9783de4e177ac6024df887962407680dbe31c3fcc5a10e015946abafd13f9e5084c676af23a850809a33d1fd9d8412731da7848d9d39f9e2b18975cd0143f2cf741ce5d37083aa984e545198b858851babd038dfae801da403c9196f9dfe834cd2e9e810767dd918a61c4802cc5792499aaf2689ffc4ede2ff5dbe5ca72779fac683f69743c76cf9f6e4dd351237fbbdefbaa55612a2e6be5e3c071f324a5db72925024772860951b2130450401b48407f760ac7aef711cf8f5ee6c1e88e128d6af9c99eaf2a7aafece4d18146019c793d0de30225961db311fafe550a324efadc2f5df9f259f3c17d1dbca7d0a2f8ea82066ceab6ea89bb868db795c701b7a6a17aed1cfc2491fe33034583a58c44800d6c167843a57ea4d8f115406d98573ecea70fdbcad7925e9261068cc9184b0fa79df273db644eb96b4f190fe7186c61461d58d9bef99f25fa6893715e019de60049e365d7b109bd33ca413072e3cfb841d4a360fda426e8baecf537ebc4b557f199bff534661004657f61f5bf3b7b01bb461e802bf956b2de580c6ff4fb2fa5982d6117efdf2aa464dc7682266815c32105506fcba341a8a42f21e237a12444a1b1ee9ea40ceb2d35a9abccda83517290039410c2b067b21b76caf690d4a5a819cd59341038cb991050eb7c094053653fa94d57bfb9b234426386b562915bcfde3b09f06893bc232553b55ff926bebf9233f5729ed6004cf152894432e3a01eb29799d0e7bcd0419a8cdb7ca4327db32f1443337691f0eed9a05d6cc06e4e1677f0ca75514ca53dee5511a3f2259d7e1823aa94788ad0f9a4051cde6687c1f96750ca460c40ea14ff25d8952f1c5c91d5f5fef14af047bd754790fa4f9bed4e8d071a5b461b6e8a1bd63344558b1613f51f14aed400e74d71c67415046d238e3056a9d9377d6c0d5e8d9a56149c03e764e43d012da8350a5be406f78a754edeb9bc3b3a2a1b5097a9a586cd892112144c2baa78ff7923702e0c87eb52f9529cc88f9db75b0f93dfa66afa421f70a4fbc664294847d11bae309d7a6081eb1d5937f754c03f1627810b4e6800d97d00438370a3f87d0da5c4b2fd5964c5a09718c0db4a43453d9dd2e0f30f345fd778bbd98f778052348f64264d5eb174ec3d36a4d9a2c741556c490d8e4ab1672ac52cee5b18995f096d7acacdc35d89d9ef4447c685ed6153f20fba8c7a37b5c011b0056a307d5d3384b256278e29cbff419be56d23a4ae75df6c77aba99fcc1dc7ff68059ac4008202a2d3ad85c349f43b399965b4fbce35d4d949bfeaf386a5c165fd33abe54654dd64af59899656dab4a0b2b1a6c775d1b9cc61e58ebb39aeb1fc2cc501d1128c9d997f599daadf60c6301254374b9f8ca67a3f7662d6705c33876fda1f0c1bac0d1efc0ed08c98d073ad103d9ae19874414eb0112fd1420357894b3659753185155e60a23cc6091a42edbbbf8d0b676e8c76dfccb1046af8d6e53bf3d8ab83c32af9b3ed0cb482cffe51a33e8d46ed2fddd7f49d465657c17442bc5ea73b79aaccf92427521d83f6a93379f675dc00d29764f519953ce6f3bebd6711f1313970d040186fb103057e143c7dc421691fd85b0cb27d9d318962881579549097365fc658a45813366e7ceae23b0fade7bb97440202b855e2b28ad616fe0e3a2578708d40c6a2f3de21f4f4186e12f19a576b7f004ff4cc4f13a8e45a8aa98b0fae6a1920591d796b6823f65d1b6652f921cbe38eacf27448440badf4d2da26d5f19f3da7949a50b7f811072197bba02055190a13375d9f7964cac5b4e7b6476efbfc90e7909848fa6564872e871809bd085038a99bb47f9e4536fc8f9fd0411559df58d57c1f01738ec2146c96fe21c15bd44454d813bade26b894a25fc09f2de923681232da2f7c1f0cd717d9d57a3fa400db97441afa0c5dbea118c716290a56ab558dc48f45ae0c47adc1d0ded6457898aa90f0e310246612e8c48e0438ea5127d37b1604b5bac5527c81a79c0e421893b4be4e32387d5ae4249a4416f45b9167a49ec324e2e95ffb2197846bd7f852a8288d23fffec1611978d6ebd0b871eccd45cf9a86814467c2dbcd3bd4f074a8cb575f21fd379d3a8a53d7b771ab12031d7260197d41eadbdd5739b6c6b95cdb55361f36c9d546913acafe8e90657add0f3322d7f977ed85c4b5caa95bdf2f46fc902fa7f003ea4802daeb3afaae32aef1160bd7c40c2fe62c645f1422bbf499f2c9959fc55dc9b341a91f20d8afa031c8659a53efadbcdcde3dba2a480eb7d0efe9d2e7d0957504aa9ea73510b7e8de1e365eb561346a56b2081236e8b90ee758d343c64c0d28f03412e59b5d26371d8baca4ccafbd947580e776611d92f1eafc2ef4766e98c78b0dc9d36e7c90d980c5035f97dca9a8e67c02a62afaa014da595ee7d57f2477ade7cd9112a6e9a6a19a06b742ea452bf9c8cbf22716d505f7d63d947252541d3764d8b31a2cdb1dc2dcbb7b6c47d02bac0e7e21ba3340a4591501fa10225af3c733cf5dc12e835271c0bb1ea4d52e5bd7e3058681333e6f571f0a75e5cd0dd728d2f43818de0d3ec124272c5866fa5902c44d301549d538d5f1d3efa0996db2d8becdde19f1c982c1e665b551ef44d060e1e36c10ade0887a113f1650369215d4966f3ab0fb4734d0fc5e14622a74c7c5e25bbebd8cc64f5a4bb249d26124af735819bd96c40f20f06b5e217d6070670ad0879fadafb49efae3ef9c1eb613bec2a09a016eec55178b9234da4cae2ea74b12409c0f1513244c08b4fbfbb9466c7bcf1e5ce205dedd50e83f8d3583e4856416916dcee34a1213736b443156ca9a4553a48a2b9f7294acff924081e457972e28e1783dd84e67b66f4258a26d4872a955ab741a70497d6c5c52e8babad726dba4e00b7f43cbade1d669b9d78af96d7e9e6f82a0c45b68b86628eab737f03a777783422d3b8b0d0b173f2ddac12150bba7e8140726ace84b63c9899ec274979bcf10a326d70fd895dbf5b649e8797e484c2d1a7d035de74a3bf2bb0cb65139574799571d316cde3b3c8d2143e350c644e2adb78d2c715344ee08a29d3e3e93c5ba25e978b6d4d61b5805a5c8f0d6252aac8dd1d3e4cb5c8ebd8bd2636513cb9ca9ec040c9ee0749551bfb40ee7bba7202cb80199f14ef487efce0d6af1854b03645d4dc0ef072667a046ec9b85550ad1082b1932c4f671fed193d0577f4d5cd7f13d2caca05787e062e2dffa1f6a870e084971f867d5232d7dba9746f655be8a78fccd0870da93159874df36e12a43e178719abae38d9b4d8a2a37c26d73fa1b337dd450aedbfa0577534ae8473e9963ebee14032af296f846e649441dab9bbdbcaa7947a0f45b3579c6877b0ae6a270ca1f928a734f6ffae4536f793fe8a54d332e577f141cd3b1307b192d913763ffaad989c67c9bc37d65c6b8d6eb962ca989853b2eb69d845a9ea90df6a65a4c0d864393cb814d1fe22fa4109bbc30d1ef286bc1d87a39d228813dcc30bd5f77b223ba9698474f9fc6b1ca4848d9e20d85c2ead44cf23cd589f9d7ae7766866053912149597dc5462fca541ef12369e0b086b6a7890ad9f1580b56c9b2e789d4a647afdc491f007b91c64c355dfcf56ecead6ff5e30ef7ef781d58913d2c0e47a22cd5176d7d6ed08305d424249ca6a76ecfec8cfda9db71a90ba1b10eb2268bc347e764b4b38fa650b090fa9dd36c2e8e8ea3f41109a1cc90533ec329d356a99019c4466df6b07f53639a99b6305fcf9c876878ff0400980a65280ad629bcd73427dd566a2474c03f8be74de82853346c15a9bee97e16e7d416227be255869ffed66029546559329d960c2ff8f604c4235dc8b19051ae867d4de883c75e2cb35fb424786809e609f940b65fc100f92496ce8ee846fde1e02215c90822eb1f1794313f778f16c0bfa989a77c78a848d7a8f4ed4e70d9733f9c0cd3ca844f8820c7e9e2fdbd8d4bb3b88b7d0a0a705a61647f7f6619f6e2bb64538ed96878f180cfff46553c40d899e4f05ec270bf3a3d67bf10bcde0105fdb38949c85e558653632df8ea4e64c8e2db23be6eeb1e3d0e5c58173f99258b043387db599c82dbd19e766f24ecb46ca35e644d0f9e6dc7f2c38512a39723e48559005b1ef0e8080c5c941345d8d1463e8d349bafbbd3b632f5678b0b2c5627e208ccccfaa479b7878c76986962e83336949302f3d25d5777624e1229c11edf91f69ad69006f58379a68bb6ee286fb92381626fdb2681b0c703e93af0fa9d1d3bfec49f8f7c1c45fb887bda29eab76bf1dc31b7d469200275980af61d38d1b163b6be3ab28c26feb042c8c542172a666938a8941e0423465b9f19aa5233f3bb88fd7216871602c5b13cd7e83980d9521eb44be06f1c3cc940ba00bb507f88ccb26e2228015fd7f1d2fd964416829429d69da9d1dbd094847fbe67cf5903c1a5e8d8d7a967482a3ab99f8bc1859899eb62336c3f111e684f9ff413d5bec89380ce08143d10c231b6e07e819bd382252a8608e5fcb3f5acf775a410a71c7fa8ed6209e24a1121f6419b8adeb5e906f0d6c1a77fa651d5a7dc6c835e49db35088516bd55df39edb80a3eb0b9ca4419029531fe68189288e82cf3c92a0909edd038be8b0c625f77195154c0d2fb5f2575db513b7b244ae00c2a9e9f68e5f40d7f0bff19d6d8944a15c27e98d5475a4fe2b82416ea9b99f8e1f9edb5b1d7d47c366f6b82c3ae8ed42191477d982b1bbf474ae2c1d8ba06fc29064e2d0c30b0f405f747a2e960ccb32faf02b2b4eee79c28fd3106990e6dc020704ed998cb92bc909c590fdbe0e3cd1c1f537c599bee95e7a5fb555ad9f96f53aa91ef9aa50b3a4612f4b975993dcbdb65f595acd6a756df9b4a84ed08b16c8be6cffa181ad07f925ed3061061d452bd22a29337964ba4d191d480df118bf1f991ff13b799b54149ecf0c67fc1203e47126619e8345e978f4411c4e63eb507f4fbd8fd784c855d49ebdc8be8e410e0b05b706c15a96356d9cd1df10c69d247cf8b7682be1fc23ffc81f5ba78d61a62da8dc06100c621f3f452bbf52b2f56ccb8714df6aceb87898cdf123c823a94aeb3f9a5af5a15564d58f451aa47da6ec1c4c217163ab6d3484465829cc9cdd2a7c6033f3d5d3e055dabcdad0f5a8dd696b1ed01ed12e5765db62657c3a94383b8df6e174d7e3d4f40e61cee548de10499afccdc52c6013007897fd9a076eaf3b9e8fa7317b683ca7d8681a0f7a599c6313701a1c77d047bd2a5bbafff67878686f5a7d37c3225e7c2073b33dea16ab1b21fead30f5dcf6022b074f6deb3bc864d772dd45591bb2ed716487add0934a7dfc27ce8676eadd051142b86b95e0cb2f6ce41929c4addf5a6bc6a290a62730dc51c58277d1436fe0f3513442e87d33c6b067041fc5aeb55c07c81b65fd56b95b7e2371f293cac88161c4d97884ddacd83096a09bc8ccb0f0164f6f7b340589d61f54961e475e8287fab4627cc036bf7f3644555d0b156e0539ef6dc35c07caffdb8321d1596e390f0c10e6fba63f7d2d3ba5e3e47e53dd08e3d468eb53c550951e11180ab760b8b0a3e3c4a2d6837feedb959e97c25d369c8d84a9074199c62793872e42374fa409934fced28f5afd9a7c5f1d05667b66edaf665ca347c6e3b1340540b7d690a21429a3511137ddc930e555b825c97277333cd19f40458f20c4fe2da70e792e715c370d4eba8d9f65a3b317d4396d8eba7d1f64ac68087fbc2c17dc8eaf663f7292b1f36d9e849993d9fcd7b34422c8451571e5acec7af3d3ffeaca5deebe5f75041ae960f48ca6578ccc8e95938cfeff0937c0da39beb2ca21bc5f34ba4056aa28b95ec92ee3c0d438b05d77a568c5a4b00bb5faf07118c4142b0823fc25007bf2e72ff93b9199063183ff82199b6e0d1b0d6238a051c9bf2b83113182f02ea28c26c175fe391ba9e4bdb438fbc062fbd38e769551f6b6d91b53dd11fc8bf363313db6c967487ce855ca5af3d373e11ebb20cdcadb8a760ad7684d6615b43022bdb75757b883d6845ec43b2a61c933ec6cced69b5f9a290d6097efdc14cd1634912e1f38a41724be0db627b3e0fa5dcbf3d560eb254b3fbda2653a367391b6cc141b95b4f489fd1a387ad2acb5164b6ebb834c36f4d78ea0419b71b90e0ddb561afa2f16a9142f57d843c3fc52001cb14eb518e10f8d4d99fd6933e1ccc098d3b6c814884221058a83e1b478cf39a4143e54f679b2601df00171ed76fe09c44d382c57661747c55f020c045693d27bd22b7c5bfc7666dfb627c5b203ee3a5375b3a70e9a053295b428b84b8c4486e273645e834e8748f4bc4812e15a7823fdf28ed8ed513a6f89b41a89a717b08ee741b8d622fd5a8caac2d4d65aba620defe94ccd2ec3ed1c4ae33474e90a30d049a0d81b9c4fa81e5d5d6cffb956d60d9254340bcea5d589bbdf36464ba10be93f85af3e19d275ba474d14878ac7e2a5539766515ed369aa5d1678db521c6f1c15ffab0b68508926c42403c11a25d8ad8c9063a76c123f29ee5c60e56a6abba844384b0e268fad67f6e21c014854a408ce9ae01c797e4412a8d7a3c305ccdda89d5fce7b6608c49a19fba32fa838840d86ec522e3b1ac1a32ea8571bfdcbb33592290dbf7fcbf3a861bebdb96a506b92d214ab2cbc4b78eaa920b76405f04d1d243889309935dfccaddfa5158ed2f4e130d34d732126c02692473547a2d97b0ab1b768885fe56b8445d936be24c4552bfca89d979cb11b4bbe2fe10d359891c442967500bd9bc335b9def9dfc1039503fd907aa3fcc7122c755b9354e68d4654dab6dbf17b3c92787bba80f7aac403d9963f0d6ad3ffdc707d4821be0bf642ec440fcb96798c50d614f97912d42f65b54b2c0680f973d535c83d70242910561caa7e44b775a3d8a3879538c2b1e6f4475c8b0cf5ee1c968196506ea20682733587ba7865e42d29f9160e46cdaa9eb202787d0128ccb90860ed6fb386bc6e462ddddba6a9d8d5ef3eaa89344f5d1af52dd7ec4eab4a12c0a6773452a7752cc21cd63d544eebb3c95505a76e39c3502d542537e4ad71adbbd0c80a5d40a6a753c3aed669b15058309283860d067c9b313683d651aa091adb10ea228e6d4938308992913b76f73a2facb8697f03cc1dc5425547c9f8838a2059e32d3177e49abd80b37e3486bfb68f2091fddbf2ee227263fab6d086293b2439ffcfd15468a3ac7829dd0c6ea1ca9a272e579f7ab190e2161e982c067914a0917e26c1a26bb386d3fe3e0c710c5ed622e19552726ea7ee3e10c09b8b84d8669850685b7e9bdf046e491a3ce33a52a3a94788f514eac73bf9f0495b709656a436de7ab41593b06be6373db2ed30d0560abf15d4bc506fb8092db3f126d141ea8109654823d5b79d8d62d984f776e70961cc811b95b0f7491e6628914b24a1859a3717577c1fd9c82b67458544b504da5a705b16b0095804d83a77c75555c1d0dfbab3f0e602ee773e2477af42a819d84644da19f02c0a9d4cdf0e115a4b18bf3df73763d4f82ed99c70a2aae65e64fd8b0cab704abd52998f25193eb50ad24be10311e8db90fa392285d99b0260e368fce452e002a6839c3b35f917eaa1ef379c576fe9b420565c240d9186180d573e2e0c8b6a4e46dbe320000e218699f2fa499b3ff25375a62c1497d7ad3c752cc40f93733aac7571bca62b76db462d44836ad2b56ae7393daa251a5451733b5f7f7ef8fdc90f810c613a788b95c7efa5e0bbfa8a7e1b4594bc874a5b099fa1ea7c49ef9356dcd6424d5629419682e8b6f4811a1c6d9e672582479abcd2bfc0db3cf4a90eb7da4fc5f904e992640781eda9e32c03fdda7571d0cff189a486d52a881fc487f2acfa4bc9bbe3898a658482cb15131241e3a97bc7ffb73891beb0543f828e6b7f481acdd9a79844c7093fb824bf8ceeacf95a97bdea2e776b2ef8a51518b814d74d4b8410a0392e553bbf405b1e14699fa39c3302643fbcdcfec6db3d76a4e179da60a89353e28437eafebccdae609475861bd867c749730cb87eb86970e525ec3bf6f366bd268a1f4a259558743bbf315bb440fb36aaf905691978c4e099df8be2167bd2928485cff15c30016be1e3a0216e8c114ec15b7a68138bb8e55814c9a544100f601a9305693fc856b14e1d1919ccc3ae41f115dd9d30970cd534184045ca015323d6ac2f86bc7c7349fe3888fe7acd3a51135135e83a909c2b3bd6883580a74c6697faa668b2c3daa7250b73eef1c8ac4628f76c7cfea5357adf7cf0c316b74490e5ae55a7ed3e424da40c50bf173f3418519dc9cb8770524730899494ba8277762ac99526c261070f303742d58c469a23f1e107ada25fb410cde45a6e53b8642dc5685243ff75f45b65ee927575495c02a76a4406a16d9bded696bc6cf683dacd256f79a3c4c718bed714a05904dc947c0068cd3b06a3e616539a3155edbba26930dc271c76abde529a71c783d2e6120a7f6c7ea719f1d2ba2e9452a3f9e7b7b217274bbb70aad6e113c6ded1d05b02eb4ef07d584dc546cd52eb5a5ce58f8fe0433b1097deba4ce097b86042b7938295c1967200b834e1eba7116932b414186f3512c78438e9bb6b59feb6f761ee9ccd90e7adc92fa72fc305a6baa5b0aa6b1cd46e9304340d26bf60a043552b12883547eaf828050993785a400d61fbe4f8c25324a277fdac6f767de51637c69d266d84721d41f8b9bbda4dc63ab627302013eb877318defbadb816fde7df9de2d79d240d27174cfcd99f1a0560adaaca027120002413428ee865a9506e3ddd1cf81191701534b1d45f5bfe15e9890184c15864daab189051898b8c8a45d8c2f280373b9c518173d397d8b0be865518a9804489f6d4057e37f9c407f1c58c0788eed13f03abfd9c60f01f8cc7972684405687b559c7fe86422a897b49c4928a330ec6940198a4f37d17aafb0ce418375c68578714238b8bccd4fb10182eb92a8223bfbe8c97b66680065b75feafe2587fa2b17e2168a9ab1774d227adc69e7feedbbd3d9f7319e5b938ab7b349aa74598cc03415aea634413a1f4322cb375d567d4dc0854589744a57dd8bb0e2879653c5b0a8942ef1d8e29c333a2048e3af3c19d63316f7cb77a8952e55863cf55c7840904bbcfe49214df20da64d6bb470355d1e40e7ca6150dea26924dc508adae73e49a405be301599448c617289ce1abdf77e29459983970c3b68cbe3e3c6c66d5ad19fff697460de5e7c3ea911497ee89ee34766227592f5da9be812c4aaf16c543b8bcf79400a6fb18bf6e4416fdf030f8731d1e2a4a2fd9d5783cf114ae5d08433f1cdc76cec3103a6c21f89a7e014b5db72f9a879b2d90749d7b48569ec6db374ea34d220b45d054a5a989c4fe4b4ca1de4473d0be8c929a4924affa8048d893821eae2d72ab553870eacbb1885749f6225de10cf1c8a2540b96759d37e73dd5caddc5fe90e6d48cd13025369631d2d71cc2a9e20bb822713e4e78e1a577b74eb9a2debe794c84f0165e8d46c4f95273c409e5d35db29013fc2c00fe5a397e87fc82b5a1a7bdcc4d14dd52fc491a9eb2b5ed855a4c780448c73b670eca821772c99357f4253c65337f334d222c75b481c7badb8f1c41415c5d84127eba30b4963ced1505b7de2bfc2148d78292f3b9d9cef21fd000fd4edaad8b595462336746fe08c1cd1580121ad932e94455f2f3188ef9824b865827aaa530cf173f7846b087ef139a88a0b04f33141d7e9f6dc347468806a57242f527eecac7b240486117e8018896130e035cca3ce8af735208bf8098dfaa5feeb62baa4e37a91accf7dcd223071de1452b5bacd5efa975450fd38f3f27c1c546bf41b2ad497679358693b642e5d8a78f86d8e1a7e177d5a3a416f3de0d800e8e5397a29f2586dbd3ad6014c67c46059f329d78d7840a49744763a5defb2a3b0512560d55d175ac96596e1490a6ba08e091391269d41e4776f635c331f6c5435f9b798db501fc71793df6108e86588daad3945d66b7dd92625c9ac9e6d6d2eff28db2cf14360601f086a763e6cf4f2381fd8fb9c82d1892294eebbbe56b9062a249d5243f661e5fbb4f92ea5288d617c4204d9dfc65eedbc555c0dd7a6eea26908a5efe7b54a391311be0aaaf2adbc24b9c053374732443a6a39c6c76deaabbdc825371c1759f5b29fee82f3598f4b31fb5e7732925243d76e4a9f9fd4910640679820092ff4cb69c893ea17116ad051bc39f3a6de10d84d3f6bda4a2e4b2d0dfe8dadff8d224c83410625cb2c5ba6827c2bccbb4c5293540c378a4d1d16947025e8ff67ac9755af3d3e73c7143761f3d997d8e8bb015b105e39dcfd4bebdcdc0e10c87bcf807c43abe5de1dc9f760a46a0c65a75f0b20ab031b1324799e37bb0f7d551e9d3d6e1c6ee29fb50ecccc84d021f6373057d71216be82b0204abc2af38cd013992c841d950c50a297fd7dd3effe2371d39c79715cad4c3ca1688e94390a419d3ec6272489062c67e14a5423d827e1837893944a4f80c0be17d93c934764c1744fdc5c233cd11d8ccd919d2d6764338e957476260a2e2dea24a58ff05c463b434abcf8c3f59ccbba3617fe2f46d76c7d6f148b3e71dcef6d7c19036791324d3f5e3a9b036e3bdb18a8cccd1dc70ba0a8f2e0e100154a917f48713cc78763713450c5fe93a5fc19dc7da4cc61f83be1c1d705cc73bdab90fc38ece0e6760c3f1f048cb772f29dc8596e711df500ccc63b43e004034033e47b828b8a40616db146d4e64cd87de6e2d589d399104b0eb0f0415d2b41c89b33c5d0df5246d9439fffe74f60f55240eca8d19bef0966e2dbccea84ca7f0f3d54e7fc0e2f8deaf09aa6dedb88e960f103c0d7f933dd3eb038cd5820a74a60ddfc4b2b2136eecb2b007f8421515f669e34403be9d2a83ad390e9983b50598c1e3e25b73208e5d705935ad8776a6e603cb3e62e348957a9994bd1dccf04b52016848b2e1111f9de312f59b9f722bd77cae53cbc190bff2a5d60b13bb08ec4a871fac87087888c1eed934e55a5d262a416fca345c76f79934240fa9b4ba706d1958831ee45c29b68472ba29e8b6860baa3b9bcd53cda6c9e419f324df1ce7851c83c81c86c400a6e8e3b7dca0bf8eb2e7cba3bf351885c7044c05bfa2daa1cdac1add66596aa1fb02f9d72e288e9a7ffec0de2647d3c409f7866ee7340d0dfbf1157cd1d4b4213faaed8ef4a6b19d86cdf60aaeec10cf2b857635d4b922a5b2e38954f6e92f99461b55f4b88cb53a9b5fe1b3c04df8efbc253bb4f21b90e692ea2e06f7b63ab229a75c3ab98eadd477ee29dc0af30db9cdda41b37e0b81ed00929e711e80992cf49dbe7328643cd83832cc670f551980230434b9c4c583242ad489f3b5f9b039cda424a51857ac09c1e6f1d36254f277ac0ea36d0e085fc1ddedd3d68b87fe7a344d7e37d73c1eb6cce42826e12c7be4ca3f0a754aed8df4941d0af37541581777ee1f03df1a902a804410a19a47593c03fb6d46d4b89066825fb21ef5846e5396cd77c180e65365e01b38c80b06bf9321de9b3c7ea4fa60e6d1c65ac133bf816a48c3708f4f31ae3811ce42726fb553ad6ed35af1c386e1b050d004bb08eeaf92395700ea893417fb2cfa502611e26372a20821ca4e2f63989033e2a1e7aa389c6af3e93f66f7c9a5a6e92fd869bde3b98050ea566ab3e6a58d1aa210ccc2c47cca9cbcbb0b6458adbd0122e984ed5542f63fd0d9a02d5a6b7fcbf3f0b743d032ad70ad1455c5435ea77794188d89bde10c4109afbb7899a6ba4111e338fb8cea3043b0c69d205ac6ec470bd8dfbca88d23d0e6d48597a5d4c4ae15d919afa3971ee3d4839cac8f88533a829faf5d4f622756ec7fab0e0b9757af59d20d617da5602408310afe14b05bb81d3d3d07a580e4196365cf5b4e468091322796964ff26de3d3f6b74f71cb9defd99f5255716c69d246d7378b17102c09334e872335c5a003b27d8c46d0312b14b6ddc46b9396a01b04d614670406d28deb5c9efa1967fd1bad8507eb1b33bfaf2f40f2003c8192cd3f25db162b99497e4a2c87d0634dc8f666c220637ed1f0ac60828856448b1027d765cd9dbfea48758c978bad332851f1b6b24a9182f746a168e85dafd70c4915b35ade3f230dfc10f2e60d1e759b212551c3f609eeff89e7dc4058fa40a48b4eb7c73bb3b36709ae4e35b6a64624c9e97da731de8f92ca0859173bfd0fd3ab6029f18c37067ea31327f3358e018a45a7a3689d17ad56b92b5cfd972bb87ac7c20d07b455aa2946d831041af6b851ca90eaadd98610f8f077349622b53e660132deb9259e049be950af0bb7effd9690e249f8003297f108c6d2c42640afb1f046f83ade26f4683e0c3f0e1d48e3401918ba3797397b4ca2c05ee0243f60ef29773a2c253ed07fad6c77e29d1dadb710f002ce1ff51c70dba89601963704363b2364d7887a9427ccd7797555e2092377b7f91f98c0ff0a6318afe7d1dfc8c5f75d9a85cc516cfd78e92c1204fadeaaac52e0740dee821d10b26f57a620cdf8852d3516bf803c53ac74aa1860e9d707a368ceed4f374640aff5ad78c4c691e0478c672dbf04ee416869d617ee8fb33e3aa0195c84d481efb0702badac0e33753e3da788a36064deec391dddedcea1a3e743e63b104d97d8b5311e20cd8ea656cf4a586b5c765b02d7eb6e9bf4d2f6701dac5e9fb97f62d6ae98293f06a6e81ebf3cf1cb69ab2803c3775509f8184bd4dd8c96bfaf49a5aad772ef55db7b82e384f0b159910614c1d043eb6ab51a63d5dc00ebdf073fd6a35ee2e8e2ad66359a882d8c3aed7848dfec4e6d10b385357d5db1e4c16c4bf9ee24bde171e368f802fecab12d02cc531f5601b746fb4dcbe3733620dcb8b4e9dc27461e68140af74ebf635f83d080dc1e4b85e421f285c2b79c1a96470d55b43570fe3659385d23be279feedab15259deb5ffb49e8cac6edbb39a75ba53ac280a64d3825770e9d3e178131cb3d77100af29445ba5143c396cdb58d5022f505007ab7bfd65cb0af03a8b4a24448970811d82613f063736fe12c3bc4f2785a88ddd0258420de0783e16e56d743fc9c352c5068353c1561b70f645fc0c28f900afe958bb4ea5452d4dd97647450182998265bedeec7b574f4ae2e753736f53be9884eb5858cc5b4e2154141ca9d1ea84e386a972a15155381e4c92c503c3da6cf144e169da4b62894358e350d2ca1bff1cb926b6823f898f25ec7fc3aed4dbb3556d945f0f48247d7a673c245347f1009ce0b283eca962665af7ec8de41d647e96e1a83de010c9ded2782af9225c2279c927ac732b81354fb969a18d17adc32483fa96f965f28f8984b4f8ded28f110561eda4df1745fa03584f324b1948c85edaa44eeccbb444306e7c92912ade253e225845804f6bd5d3238fb5623e1cd562dad90567b1ec8203405e661e9a025dac72e7712389615eb70948e8d4bca3eb98b58a4f2f8b4fbcb23db18ac56501b1cbc68cd259e929e1153424ac17d6357d78ffa0c73e2754d828d8bd5dc68ec9eeb80c9a75d909103bc92f7c8fe0fca1633d0c343ae4a7b9f7b7ec40075669fd24880640f530189b8fd3720b3157481eea6f7536986ab268cddd4345cba6c6dc068bc03b4cde1fea512fd02555fec5185c5bf8fd6403074dd540f86768d6c392bb824c5b3cc5e0e099671d0cc70825c9dadfc851486a4f1eb551278c853752f496642a6bc34cb635ee95c33f3c59c348bd4b000134a9253af94f2d674a958f84c401f33bf48122aee2862b97ed99ee64bfdeb17698abd8c5d47b7dc7c233df2adf765fc1a2714796896c2510f07b304ad948ec1a56bb06ec5649ca7bb2a0785209a558065394e430fd9306464fa25ef86e3cc78723e0055dd3590eef8a016bf09235d51aafd10201eeb4bdf6c9f0938b9e534111e1eb12f655dec3486b7e7a70a34c1bd99879aeb9b482f573480705fd80f69e24331ad643026f45c537b642a5f40da4a43d3f526a5ccff38419e2d4650033622e139146621035a00a3ecf6d056511d17cf38c48651ef50be02f6d7a60fa0e2169580e28fef31eab9235aeee9f4e2ed63d5619e321e27e0e11dd813319535c43a7ebb465b3e51d6c72a9e664c0cc52d1b99673dad693ad5ad4f6f0d00f655eec6b9d25e6496ba1ab56e22309229c26e523767f96ab0fef8da3feeafea7743129cc6f273e8b71f656353db0b25531c1ce9086a640a413cac416b60e8f18c86457071c307fd8566692085c9d763070b112b0da5a7a8d6989e6b512966461028a929787990ea9b1857699adfc8c4da1d217d7cd2b7562e9bb92154bf282144094fe7af2791fb2fe50d932195ad875bb7095113c5e86925ce9d69b02a32da27f13fc74a5afbf4d1809b07fd37ccecc928f6b358c509536fdecedde9f6bc1331708cd248fc917ceb657f44e9170bd40b5918eac290bd7315014a8c83dda280da5dad521bf5c0deacd67b29c278ccee0fe7a5a6e94a79d3b5ba30407d5f319c2adfb79eae4795d7dc27c17817c2ba31eecdbfa84bc0a1f77cf1b85ab6431641a62755794c765b402aed38b93d8646130bbd2108d296f6f484518f6172283e3e38b3af43f695fec59ae683bdfff338a86567f6d787c620432d1bf7a078e00580d3f1defc1cfc28d603e5194bf418755425494a2edd15afa991143e6a35760746629ea8da7a135681875baaef50de6f363958c095747875aca8ffb00cbe54bf9c8bd66e81d244f0f071b14f54e3fc7a054514f1c8bcb0b501c5a40628eb91eced8f240cb83547911d802e3af09ec1e1a357c86af59e0c1e40b43d11272ab5832914e882b552d1d7c0c64c1a99e0d451d3430480e625df31404018d2803f4ca377cddc3e4f2558a2f6427cadde13b948f8a060c9dfb130116f1cc3ca5332ba0c0880c5f45ac97a44931df34900b77b3eea21a014a4ce4a97960241ede76af9348d277b04bda8054718fadfeb6c25c6b7c67eef04542ca34cbd9a8e9b2ba104bc43822d9a7f3029d156d31138a02b4d5a80e66c9420f4fa0675cdeb0af35dcd814188da179741ce833aa6e88d5593c9ebd8de80e681751153bfced2e23f10e3862fb596e580a17424072d4dc5d959b2bcc092457a58386c1e7c5cdd7de7a558a4d27af23c42528ef10e54e1b990b3cce96a349a3904cf560b16fdb5067cfb4a426e5b90f171e0dd703b5981f4587336301b69a8146a489d872698b7b9c077f315fbb6dda01bd49b91aa8778e4eb8ff62074c138dfa7e1a24bfb6f1916ae540604d538616bcd941e15bf156ee7191aa1b307e5e47670b24925c2338bc06b1b318b32005c517220ae794ffebe50d549e2fdcc2d371228aa16d9f71ab8ea2cfcc5cf8293c4ee0d956273ef0bfcef6b13e2d4c2b3f853ace70eb705628f1ee68c1d9eef0211141e7129d0d8948af819b901c2d7fa93543e612dabf2958cefd65eb260141d08363540df1cb051caf23de2da251efd6e15d52ae08407b1b01ddabbb5fbb9c8b27230966548cc575164adafceb5c242b4b59bf2e20bb42a2c00b72ca049f2f16b272ee3941dd52ff2cc31f8404c5b9580e5a3480fb9f0498a9fce83788e8d72b4b2f2058e62e3baddedfdcf9b3e95d5367b061e38e0ad5b3140a94912437683781a39f878cb0e79e0a47e98905a588b120bff6837447cd71432a22b1931a7ddfb6abcaf633a73199da710525ed0e0189d8d61519156c7aa6ec8a911c577aa5ecb0b69b06871c448c8c518aefd5c4f6fd67a0a5cec52da600685fd2a7b151e56e8edae5c6fe9ff4c73d3081bb6171a95b6a77e69fcea904c4236d1bc002e930e495a9ca6065a47ef6e86548ee60daf869f9f59e1ca0c934a5d60b08e277c99f17ddbd5e5dc4b22f0ad3a00782f018ea2ca3a851be902b96a73c7ce3076ca2dac19ab5fa4e278316e2121fbd59ee5a56f7d6de973548506eb2838e5dc0453281008d5f33c1588ad4a7cf2eb9e0bbd1590ec4db5ed4a0e064ec268dd8ba16e9a982d79a16a3c3d724fa5b80c64354e1d29a8ad4d1f3f143649fd2f65663d2906994a85701b41e5de57d7cc1a5bb35a30a9ad078e4c9b860255fd66577b686babcee13b3d78af8eb5ab3fbb3664578366094e2499b6b288729296380fdb8bbf92b6009c5e1a0742aeba3846911d2fbcf1c56d590dd6a6933152e4f100416d3ac062c410bc6cc407780135fa4427210d118f70dd2e205360374045a529996d0abc99506152f15e7947ab703ebf9dad1a0640a4bfdf8114e882c2c77f08d34a3b8dc75e256bcce5fb1a8aa8fc4995e0c49f8bde85b77b9445406f435f2dd6df15e2441c80c1f15ebd87fd2ebca7920d745541872b26b229d078d33e053598ccbbfaa77f77223b58a44580b67521c3883f1e54a8fac1ae396cdbffd4f04ea0783a9074fee036ec03e0c87bc61ae32b50140a2bcd72fcb647a09e135d370db8d508d836493c618f9e623adcd2b2b8cd7118013a093db85ea1e69119e0d3a214fcc0fc8cd06aa1a179b35be87046ff3d55c7fd3cecfd1162ee2dcac94d29857c66aef26e1bb2e34c58ae620d6e83b08ce06e6cfbad29589ecaf23141c9fff532ecb4b791a2cf8a1af18cb36688e286043fddff5abf71b5f6ff274016678a4e4154e7af12f6e111bf253bf50601a309cb176fc36218e4d7ece8fefecd12bb25c91bd477133278c1d09f54a064c5cddf633aaa6286499ad83b0d73252d95337edbabc3c71f9f8610b412c2220ce69823c0a512eef52d38cc11f124ff4dfb77ed2bc007fa8e9d5d95110f550a10eb02835c9815ee758973721e844e05111073acedefb87af9b2c75bbda7d1e7a08308846be09c4026e7735f9698d3700e2d659d771f991218dc60d3b8893d1b053c1f9793a1b98aae44ee0b9ed41fbcbfaa719f77184b11d53bb83806f3aea97d98b1cabc1d5430346c6f9e15a48738221398c6b0aa8ec776eff5b4647ca786d3b33fcea3389b66299788746c7e689c334b99f5bd175297ea0e5dc816f52c6b7e127a080ee90523e1e9b71008449bbb309a0a166e145110ab6c4f63961ec4835bf4a55f7fa008231fe2620e8d9c8eb91cba6d89f2862ec78b85822cdf49425c04252e28ffe16dc8e95c05a939c984695384e5408c61e53b263db6ccdf2557a7a40ab7808110c5b680ef17dac9b7f928136e784c6d1917256c3c33b1aaa1ef9206f80741f0d6b8df85cdf575e2d825c57430dfe9ec8d64fa76e05ce33e298c81100c470226e7c4d08150ffcedc67fe4533b21dbe34d0f5291c5ca52a58c8feeac8e4740e894c2c41b626ea25da2f61400fb1cf13b51cf10a9aa25c5c9a000aec930f8943620d063818562662806a92941cb8a1892196bcff07ba1be66b2a61c860884f4799faaf0518099839afac21558ee3ab395e1e5c1b5eef4d890972b908bd664c25845390f1f0ff76b639eb2b14811079ee9c4f232b5f3c50d5cf8f16cc1c06cea7f9836d96c2535995d596d6caf317b6dab1b5a7e9c0158dff1d93c1b580339ce818f3588b129bb7aad47dbf615c0b1b6261b4d61133d0406988240c2cdcb5fcf9445ff0c96f22ed7099bcaef45a79fecc7a0b2f127038566f80dc2a0d78386058dd30726c0fd6298de54d8e9e82db976ac16b2d0c94458882891f640fc62071d5190102e3cdc9dd3c6255c497d6fdeddeaf8a2a90404c2d0cac8d3ce38785f9b6416956a740701262022382cda0b274f2a20e96aa8de047835f41ea4a473e284576acd5e77ca0ba72180e7b3cb2cc7e9ec147ec79fc967a8bff16beddb9913409749e9b69b9c11ffcf45f558f4b35fdc1ffb59e4bfa2d42960577608c9e268c8a0bca0fa75f8176c49ca5e0f0580d387b15e2cab4d4a061c6b9f67e8603d777fbf11b29d52243c60b87fa900df96e821375463062823e05263df88df8eba3d5a1acafbdd799a4bd54900c359b524c4c533d2cfa6a95c22652df5057147a490a5f2e5e1911c6d24b4329d35f66a91d78b1a89ff1e24610870a0c45e894e0776bf91634604c1c2d7501e6b4f0e2b06f3784c0efe281d092e31a6f801c818d789a3111a2dd534693dbc71a53d514019f0ad2ca8a747da631293207e4c6f95485ef2ca4167cd4ee74c080106e2e02457ea0ff702402fee0b5ebc963f1f3a95dc2d065c39fb02bd5cd9938be393e63ad06d73823fedb1f6a76426ec779cb0a3e9f61556813b88bb0172988ba9043d3eed34c24ed2150364d8dc863a2d0d07fdc4c52700c7d7fa2ab2fde6b650373d54d5a39e94e7aee88972646780986015eba16b072f3d23a491316390434958a1265c0b185192c74316927e43f94d2fc98dd175ac2e35e96a9190432d577f9e338ea65c6e4dbfe6a5b1246e380da754b7d549bd0ef9204a19d6d9cdde6cdff76818370d34ac9c8fe781caa74c6e1ce6b9d7a7956d841416f1e7a4b6fd3745a78bcda73ae96c7f7aa917c3659c8791a407f701e557dc582065d565d0c0ed83a76d9067587a960b54c9a481b281d9d023e692175c2608de16d9b7e280df2246a067234dbfdbda3caf788bf17089d0a7621ddab1a67143152c460222ed679063dbdc4bdbf72547be78e167fb4d86d52f701375ff2fb1b0968ab7b88bf9449703a1ee728e0d967bb4cdab893100a506b60fbb2c302e9a84182a550bfd84414611c3d794c5cc5e6750b02ea9713f0f9ef063989e32ef7efdf9216cb20f2c2d67f5463a7ad065aa205c827e6122d113641ca528100e7cfce7867fa34cfa7386a5d06387a02313b261d5ac51206d4ae3d840763a7f292c0ec63570ac5aefcdc91c342494af7f9ce58110867762eab0779d61175cef2f4005fa647a88b713aca108525118503051829d76eab0dc4178aced0c5dfb27f23b3e5eeddf932e913457cecbe2399d7303840b01ac406dc21d0c3f29a91b3eaf8dfab2212f9325fe8d51a371381e0460bded7048a2f44a8f370e49d84a44a91de50deabaa097e7bbed179b478b4c41fa964753c803b029842619ec6ef2ccc596ed900ea33efa33a86ff17c4a7a29a88e9aeeb3b366886b40b986a16fea1fb56278f5e015d603560eb8d3aa4d7555fc2b14e325a0ad20bbc378418acd8d033d3fc28dad3d3291c1beb3a1083a75f2129f781617f56757004182d21390d4b45858a3f1286fab6b20482caa30caabd37135972043e0607bff228e82d6aeae02a219632051590f183d63b8698dfdb6cf15f1d2783989d684d04be2d506ea3ff030f82606a17464a25b7e922b972bbc2e776d730b366d6426321a44d2bdc7bf7e6a902323b63b848460ae4de11b215157cf00c4ddb628a3abc475950473e07f5d72ac4c8e62b7e479937a9ab0a2e62eca4e5e46ae5f57a1c522a7129f132df72c639be7210904aaa3917f92dd3ab066d53aa8f72b94289643aef2e59c0053796368cd8374b04d54eea8cda6ac5201cc0b61ab91cd68cc65eaffd7dfd6b4ab2d7795d07034266b4c066a56bcb2991a2025ad8851f20972480d653df45be7d5e2b6b26da5e042c2cc70a6bb9395633ec58e6fee88b098e0bd0c4295757a0752873b07decdc2b9196562a861cab2b9cd7236bc0ab19996c4b58572caafb3bd023db7d4b241b0033efe84e96210ae329f1f0a2f93f9b28abb2004108f3f1c3980a937d2a26a69a5d826dd8dcc343eb93e40ba1c705cbf95d341ecf09a836f597808c2b58e1dd2fe94bc4d53c0c5bc575df1b970996d820b9e81aac1779d84afbb25c99fa4d742d52c5c8b43849ae72022efc04e4943124e6cb4cde174d9ed8d7d04467cff1c0cecd3d7168e997c43767d235350d12f96738546253287eddf139c0825a296b4a4d0e2839687fdeeaa08d89d48d085c4ce095c2b27c1e1e4f94221f67fba5dd2644044d0df246cd5abc392f9b3ebb2bf3b17d59f2b0bed629988a8a6a560dd2207d02e8769f05692c3178b60fad76e78993cb255249d7ae8fac228855cb385323698173ae3466fedb7e9c6a489d46b762f22a2dd614de5d3e0ea5a0a55c2380df96f67f2dae0d0f57f50749426e19ca47dcf2f24fc20b1f6d6721dddfc2b833ca468f27a9a7637d89561aca26b220e2871f2e4af8b8917a67d14e526519ea27c6cdd905d33d3326b88e17c0af32ecce839b79a15037b81651fdd4e37ee7a6695bcac9c09204011a0463cde8dc41285bda29d1a1841c1bdd79b951df3c93d264d026b7a4c8f0769b28461b5148d3411621d1519b3b31f4fa35050cefbc89e8b3ff1c79eba3f7a3a0127389fa4fcf7e28034cfa50a2d5a9d88a643d7e008e9a2fec3ee45cd6c9b19424829ac5cfbc7d0edbf1a8c57d87c9e4931810c90f2c3d1c743f363fd75ef354f096287472fdd6b26d1b912fcc5df2115620aaf92328999b428a71fb640039e6f8f999cb7c074c3066f67bf8cb54a412557518b2b6ae4da5339e16a9c08cf68768a4b83506f84e464e7658e5c12b3936fc41a1419f666d9cf55e933209ce25a33f158b9c68148eb29262a68384754bf4b6407560f0e8142a61923077a426c837b3dc8c447f0c3382299a781f365c25d970fe780be1f3a3d551894ca607a2894a04f78ad4531dcea6bd312e14202b3459baa048d9c7c0099f4cbcf4e9b771dbd500bfe5b98e80175413afe753960712311ea5674be3cdc0da851647165aa682305212db490fc0f60029e486da89b88c128657854af75b373669e6b40c53621668549faa2a2fcdcefbfb5a09a535ba1bf55eab565f61e74a4353b072b2e82eac02e786c41709a2fa1d637b1612de4549cbd82a20ee865aba4ba3d5ca70f2dd80e7b9ac9e058a429f7841b908f353ad07a46c811a03f3ce1e7013165edfdfe6afc265b2b810bc26c5fcabc47056e727e57cb91b5d59cc49fea897c6c1d0bfe2d65e8d92e61836a3f88e13fe31b217ebb692fb34b078a389c9de752b81d79f3f7ce9365199173d1ce0fa1c4fe188ecd82d6ad1ea5cec469cd34332a76fdf340ba427e2b09e98778147115c05a01b7e12451233677936629a9861b7bb4cdacd322430fb6619e35bbce828e547b9b3f0074338242b27b29f2602750b05c57f0cab5bc5b3767493595c1bb36e2f8460bc1758210e11993cd4461bd4a9a37650d787b9545dfc6129201f655f053b2545bb7b13596b6e732293a89fa2094cd957e3d974b9caf437027b994c7da70543301df0221b8b1fd256954263635d5cdf85d429eee98e0dc5ccdcf3bf6c7910709b40adbf6ff14cb979b83e799c636c399258fb1191dc4b6d3c8dc6a2c9321b7e0c6e3c80f84942cf2fcd3f7690576cadd920ecf9f8b7b69264621fcec09299a5c8cad8ed0abc68c1e529b4fcf12c8e20494d29e554caf9c0bea301b720d2c84e05de2d764a29361ecdf5b6990a8b041a00a775da3dc68fa85275dc064964fdf9024edb2ee322a222068ca309848984a9c899a48b0aec59881203675c3efdf8c27faaeac58af94f952f6de0dae0a770daa85cf73bdacd450c331533847239b29beb88918e2167a0ee28a97fb8bc5268c96a17854dd7bbdca60b98ae0f0afb1baf0fe4176b29bca0df35525bf1e63e1dab494f9d0c09ccfd9ef6e17d2307130a05503295a60fc6e83ed9808ef0b68e44a158aca885941f96f0b39b4723116973eb85fbbc6acd8f90aaaa38c137493f7694154c8ff6f9cd21119333e9a8c30a78942c28487c09b34676051b4a3e5b873711f40429c4ec39c2aa34708c468b0d701c3ad8fc5c786160a0b060376f9406758d7db321ae52fe6d221f3f0f2f1c6bcbc58983a894c4e2681cf6ac8999aed2196eaefced6120f303d12ad42107eca5c3f186551f8559ba2c51895456819f6c73ca61da01e00cee895d073cd918c97f41760b714d2668f610c9669b018b2bafa8fa2bf7780eb818740c71f9c594335dd7c04111c85bb5dfa87d249b84c2a87b7b1d75a5c3dece2e3d890fe3f1b9b9f8f1c8c48f36e1ec2c37840feebfea0c7fb2765776233f40386254f653d6c4fa560b2ff6a496c5a817f55a90a6e4ab9a712d1257b08e9816e9862ba3a34e74a3e7d6b20ebe00b876a85ea5a5c30b29b78783c152e6b8d73ccc0fbb406e483631048bf586fcf1fb2358feb17e5a64e5afdffe099ba202866bafd0e90bd1a76c9736cfca44e1a7483a9e6ffc2cd206f4f4797c976bf269d4d98f3179cd784dd9c7b784cf3b60feac77894e16c6fce2ef8734d9fda62da4de68434af02ed2c51af18a031b811aa65f2a22e2c4b7392c8195280b8e8a961ec3c6a7c44296205770dad6327ccb7b47400edf38cb4467204b33f394e3d20b67eda76dcf6447753ecdea44f288fca9001f8f03c8b886e36c63347cab5594d1646b430f9d2babf5005da6e51f28bb105caf403b4babb09ee3c41cce46986b1e63a7986c9814885559301072ad8d34913cf02b13bc504451ecb8b983f0b079b3776db6c49495a78fc6032f1de87cd65d37cb9d74cb99ba69d41b5c5cda0fc06fb2060ec9790b9fa8c9ab032990e46e369375f754e70738e7801c8190ecdf082a029a0c4851aa407fbb85e7c40a7eb1919e9cb38fd753370eb654387d528a5951506a4ea13928145e90acedbcb759c241691bfcb5259e51cc71d04ac34527a7f79093e2da9e0457ef7595edf237f4e23b1ffa7d7a13bccc6e773b19b9380009fbf4d7afa56738987de696fb489fb9280cb49e4b93209b8eadb05f17e2fdb280d875f90e28274d88d63ed1a9a99ae1a9b8b76889a9a8e751e546a1743db5244bc331036f3bd798ee165542b56dffe7608af7bd580084afb868e6c1fb323a7a9898c02f4cad186e282b49b96dc5826233d53c58e81c382717eb343256401259b17386ee57313780cf985f26c4e577feeb8ae8197048ca318d674550848e89ccce0ceb85032da2fb265c04b3e95b4d460b65a65a59273446e6d2d579d88df4573018bf69878f9cbc1b17825e3349ce8cd15fe4bfdd668cec04925785ac8e7298e9f7063851eaedfb1fc3e0b6cc85a427066e93eb360e7834f4ef2b5be66464a81d7f2d8c71146153e888452141b062a3bb2ce961e965f209a767312846e98b48324438437468338b4468cfbbc529fb258f652b0b33db3023e5984acb4227d519095ae9846a7fdedc341dba616d88eb97ad49246b48c4a2aa4e9cb5a884fa26b5a5da72637c1dff56b4140a9eb2b148b7dcc2cc10b16f7e21b95df6aa775f972a36bdf0e0ea345b44bd3e9f99cb97c94341297d486fc1a6d6894f7a1367aff2aef9e0d217609b9cfe7eaadef72034a6cff5b73b9dcda1a30c993057ac00b66120c9d89d4a0931b0a9b8627ddf80eddc020a7f745488c9abf658f7ad57a50a817893a386550e575709d6c3a976ba2ecdbc04fe31c14aedc7ddf10ce025fbae6c40bff684622043737f504456b9ded7166cf9fc2e1f1012dbc0ae30bfcec0b99d13ff0b1a48293b13de505ca415025ac7c2c5fcfe77d78bf7e26e4b1c794d9113edb9ea39804326a40245d2a8bea152023d452924c0aca983481b5b5a316b8319542f32fd9349e7e437ab1e447a9170ad3364c3a487755ea0ee82a91925c331c2b5c5b003c253505e476f7ddc2b44180a4774b7d8a0003494c888c84f8e5e7ea72188655ec53016ed7f4e48c0c70e7c06273a9e1e8fcad5b730f601fe4ed5e89ac3d5dce4ddfb8f1a6e6f2e596c2e52c84cfc5fbed5e412d08bc3c63bbaee0c15257a9a86c91674b4bc9286891f2a09bab7deea969afc0e046b52ae1e016cd574de523c031320370780814296c59fe06261357690f31a64e29c07725a2b5d4f5e8d2bb1a543e1d9059a916ca7906e2cd32789a7c80a2facb82e305921cb05ca85ce5d405813de6009fd538ba0bf4ea0fa2cedc7b9e41ecab227c36e9c4e77780a08de78720a154611cd1e18445e25bc386063f54060dcff6b82622cb0cb7073d7432d9f487792cf8b7e320ee35dc08d7a418a051a630a16b41751f6cdcbcd8610714c89467c169501d4163f6974a643638cd4da4e60531b95ec982f6c0227b20828112e0a73800ae6749a989fe1b22684757ce6e91b7aef5908c0468dfdbdcf2940781464166ab5f52f60e0c5141f5e8127424d200f0f14406c1ba63f0017e3fdb9899a8d807f8ff490ebff8a6fc669f7c0ab5398a9d01c6185227f3f76fa5d5a28d02de85a2b694d21124111c08937cb1162032db286754092c6fbe20f5944fb96fde3f4b000aa7a64b7eaa7c55e3366952794a5a4dfeaad9ba5d3bd27c0ffdb7a887a336d809ff53023f012e2899e740e732ab1a69111b94958b1545676c77f661a150dbce3d02462786ebe648805c84868085bc78e3a7d956697e7cdbd458946c531243494cfd98ec7e7e093135a4c4eedf6555457e1695a25a8a720a98d0c917bbaaa76b9140158c7f3b98f051b38fef3d2f7989b6bd13e6941da0d1878e6f37ba7bbe2da00946c1e6fa3f0936ff326ebe1e856ab7a27c438f10ed920f3a47d0f7140c88451d7249ef92a42288eaec4b1a3f1572222c21c296e894d313769511560437d5d747f47a62a1e714820f18abce8072cef6490a87cd983c6b6b7589621a7aef55ac97abbf1760a8c9779176675d619cae3e42689d63e8a55878cf78559eb4628150c5b846db0ac1c0c51b0f466a332b98b373f467c6eff4e53f731566649246585e928bfab945fa8b6144e8299f999d9a8e36df3bd9ba7aed1f75ed49f6ceb8cf3fee6802445704c095ab9357e9b81c48706bf4b4594bbfddc04447f929f2b7e7351b376e155895bb2a9c9d552072d62a419f38d1aadd5ac3b366f2c4266a3c3c12c8a379c62bcca67fa6904add545bd7a90d2e520f5a8769d41d60834c72fae066b39ff5350cb5502f79ec2fb6f07fed02787fc587b8b03a44af16c586baf5232cf6b18126793d928a55ac07f0d95adbdb824ae16049398f1fd4ae1dd08c4a8eab3ddd7d7338b39866935636f3836e3e40dde87194fe8cf5efaf8ad6af3c7feafda415e40713b436347edfaf32e144cbe88bd5f9a2d6aa8e6415f4f48b800c17465253176a633f402ba57e71f1beeaaaf4a083f242513e96b397025d1af98bbda23309763e60f186865a137dcf40c107d626c73f473564c0330d0be019b6bc45a969aad396f8a96bc923ba61e0610f590a271bdba183646053dd2445fd1557080e5146f5869095343002dd203bb75536ad10fc0a5b3c9862e066c1312ce75890ff8d260ab004ba28e0e262d6396aa33e3a0b3bf94848a11026a39b230277ca0dd404390891cf1e86e18417ed937064b07f66249445086239625bc111a67e33fb07a100e6901ff905d4a97dc1f4a579f579ba4d9501d6f5551600507ed46d3862556002f8ba685463af88bd93cc336290c50c25a4049a0c603c07494608b78b835dee612678399ea91875be9a9745d5b2305108498e8f74b40df110d63f0b53ceff76159b7e226f8e6d414f0cc717fdf914ad377e5313bfa22eccee709c1b9d54ae6c75954cad5096eb7627bb8fc307e393173b898d1313a02dbd0752505c99a5c20c0a173ea1cc5c90250219f77af245c6962338bc49d791cf2f649c42572a17844ff862d485d6dc74316c108ef5694e4c84802002f8b277ff7f635873462b47a56ae3db4f9f722dc168c48ac5868d1905daef2a9c030c6065111f14dea47a5f1aee6eb60bb7f09047fb8fceb216f11c67b15812e966606350ce4f7dceccdbeb1ba6409d15254c6c0a055271725bcdfd218ade7cf83578d58880a675e485e3991f2db07930fdb8547add31dff7db70a26db710238843110f12b4a96d4df280d04b1e52e3652b7d0fe6064b411cdaa2a99e599fa1916cde0f2b5df5683dc31fbdd9b8e09b84312fb7d033bf75d937d626591048f60e4be1651abbb3237dd4d95afafbe3f4d886e672342f3e5bbf55e153c041599eab888ec6d85c3d192e83364cd1950ecf6b66b9d67052a4a4ed2a064aad9f40bbf2c25bc42e449209f0135d6c20d6c2ccdd9dec5610f700b0907fff368b47c6a78e9cf5514996fbf94adbb418db3b83e00bf9aee4f0a65b075d14059b23179c5aef1a295d3ca72da95812917c0b5326360b5bf3dc5ee7123b476b6f28523a5aaf9e56d7d44839f4c8cd6ae9493068b67938f32256ea3a5827d6d90160342b8af80a488b95fb4cea9fdda7b77f52a71347a1caf32e9279c28ce1b803b80eb3f273ac12f1e2e252bbab9765dcb44a8a6c57fc01b8fd5cf7132f21ff1c14a23ef2bda8ff812395b35a4602ab327e859493aa7865cc18310e1a1e77e0782cb3f99f618eccbe4b71375b92932b46ec02eba71d8e1bcedf7bfb1b40b86015b47674ae6033530abf3db12bef2cf34a9ee82e93209dad4c610796846ce797072ce25f7a5376b6c518e8e64fac55a1d9736a2c78a047a5c546d4126f864bbd842fda24051378d03ab76d2ecf6527d53412612255bfb5bb7908d52640128dad741f0ea96724a6ec5776f24669921784db149617e9a63a40388bc618f491bd5d6e3557e0d3a5c4389260cde53ff327d21a6b749e210f6bf1900dc856811ab7ccc975e17a1b6ac067c604a5b4135ac2eab439fe73defeaeeb0e0a4a7479d120389363885e4e8f1f267883b7c222437c3f507e95a2c42ca7f9c8f46b0f1b61933126dc752a0eb88e3d62d520520be6938bb7eb6602b3a0a6d0f8ed78a1a4c5ec0b624182ba8f1b6db9ebb421d5831bc5b6cc621e680b5e5c6e122dfd99665877ca79487016693a56b264d3b4214834833c0a9183831ccf42e80aea841b6e6b1bbaebb4ac77c496b1cb67bb48760ac1f89f764dd8d0ae1f4fb0270f800e653963f9fa6e500cdd8109cc349c9b31182f7afcf8623ba567a5052859f7067af04fe7573b2510a48da7b5ea0029ac8d6d6bb6a278c96afe136134138c5345fb872630a350c27f4d6a607e069da6f7252fb885b21baae1900927bd56a78a9fc02eeaa926acfc851e69eb6bdd8783681411bbc78bb888a9e3ce879cab195a3944845b1b972237a0ebf87c555215325c02d47db99fd109f4b17dcc02263facfa23e2701babe3559a53e2947df095e4155a9f2332c54b26239e20f9a53c38f40cbc87e68d0af6bbca9324c4c66fd2f2f8e205b9a885cbefd863d9ad783bf224cecb73d74f527de83e1b288594c4b03e65fdd2cb9491346d1fb61398a5159168c78883fa232ea73e22ea63681aed0ce266e8f900f9a721fa4e1c132d2c719a46356309d979d33d7008e9be73e481e87dce580bb51370a48014d39cf95d6820d592f8c89979eb028add8ebae6317b462de1390dcfd2f3d92d3771adee6c78b877ab641b10cc549fa1fbcad3dbac39f37398b50fefbf6f2265924be3238c1479a682d4f342c8bc7fe84a5803556c521d9999ca9ac0acd485ec174b7784dd8a5c14d1debb9de3a5f311edcc9632a19ecadf375ab0c4caf950bf5ab177339a9040c4d62dbfbe4f720742cf1657797eb85a4ecd4156fab9c59506d369d352c63401403ac4fb833bed412dcca7bd8c738c97bc6375cf2bcdf81198eaa98d70d4f1cce72b501b3dc2dc0fa540839eb6cdabc4760d794cd84a4c37f6ca26136bafaa8fc403b4b0e00e34b5b9c673e2b8f71b3d8963ea20a252b8afc191f5502857df52b2fe9cc8f54033d53c3301266f65d661283af51d537f3e67bafcdd051106e4cc1b92282149f620cd8623ac2808d813ec4f62040e08aac87f03a9048cb4033c02d9f2432c218a486eb4d18ebcb6d19d79fdef1131464ff7bb8d0d3aed99cc0a140f9b5f5a85b85d89743230c8f6324e48bcc717929f0c857f662765957ab4caf09f0996e548d55cb51e59c148e98d4d983712d02d0f2f53ebfcd0ffda2abbee8cbc7e8e0a4c0e60056bb39342a7f167534ce5b4cadd12cb190b1fa7494e588ebad943a0631b9bfd963b400205cbd2602f8a862de133dddc0ea7316a96a97e32f4c95a48454609ec03569096c7e6eb77a7dd571e0bc8294a565cd01eed3b7f18ac4d5b1de4ae8e56751c3f8102275ee64c5004dcb6f059049810c07add33183223c798467179c4bc4860d543a7577d779b2339de84053c172db90fc51c1c50ba8023ab53f02258c1cd6796a6dae71eaf9e069028bc263e85144a3d730a1cc6a1dbcb458bd6b2a3611e2e286caa5272c6a510476fd6bc3c82c952454935ed9d6f5cb2515bcf3187ca59e9b4212a6423ebac844e285fde25612e37b0d42d5c0441df3c100d548b13b414b0fe5c2dc53409eab054bad96f8b72be2d04e8402b2f4a3cdbd6e28760dac27c75ffc279ff8a11ac9f93b9bb1373ed51099e72d3ecbdfe129df07b164c24afcb181a338c8cf832d3c21887e56a5e12c2771677921acc518dd2fd13fd2225f62e840309b87b78c90a104c1805b4eacbbb83277da95915933c8823db4c0ecb8b3846b0913386648da71fe7360f27c7b17a63d0b705c92d192215a17a73ea66b6f5cbe8c5332d0390c5f1c9b268d38e34b992245de574a0b74f403bea2439d4bee7082d939f3dba81d334b84a00869c249f31a7fd5843dd06c1bbd29af665c94f3cad260dd9dddbcc7ed985b342418b55939cc9db09f4d71cad17026e63f53fb601107a465721f9113d35d822f196a0102ac5876d0b22807e14745f7f09ab7ab1ad0521b9fc8f6adda6b489cd3f0884e42459af2103804f1563bc9f8af72784a8bc41d435ebddc0d9c327a775430def9f14fa2038102e1531ef14fa4a3ad5c1323393969e990630b6a33a8a9488ac049a626bc72817de4a79ee2589f538e3a532ad5ce789e086a811a1e895886d57cd1c53bc7a3605178d8e5d4837544203a74304aed1c28f9f6dccf2bb1677d6e9c1055508985a0c7a567f69efbf0352d743634ba8cd10a3af1117de17035e06469d5840018f42dcdc09d124d37888d47e57abf8e74624ffb73a1521b8ed405f39b141ac6f6dbc703f5556d4456fdd06270448e339d7bf52dc39ef2b524035868e90fe4ce06a30a6d278ba5d0e7d686a876bcb128ed4f2babde8091fb692d2fbc0a4c8730e6c050071d6960ef4640272355283bf349ad09013b468adfd545b64440d09df35050ac87e24085bff4bcfdbece0b77aea219ff4598c4e6216b438250871d8f8c1c3c98ff3b23c916ee1aed405c2b0f6316494a5427f663517b5f8d5c579954ba39bd87bfd78eca3fb1e98ff251cffa379d80e6ac3ecd70a80442f24d06d33ba3bbc26e0475174731307aceb629f4b6666332145d1fbfc61e528de811d6fab3a92280a2d4c07d35a11008428bd7522e4499249a6588ca772f0dd38fb9b0965b3e2746a34c6f8d671db7241ded9118e1e3a24c8de71911ba1615575f99340907f1dbf8954e785987d03aeac588e6cad531bbb998f963ee73e05b103c60eb9b6275b31ae58fb80818acfa7ac1eb7731ade33e53c6ce3b863f628315c349197b6e2c22311fd193de40c93b5b05083a018172667683c2a421d98b755bf109eba20fd70f42f2136296fae0cc0522fb60b595964a93d9903a2818f581751b9e8f15b12e995e3e9156be32cdfc348babc8cbe93b819de23e97ef0e65daeac9b3f90a2bd4ac90d6d7c60a4b1ab8b06df254d948b017d142e499f8c820a6335527f914024acd0ab8702140ea73d5754a08c9ca4a99fb2c0d9e07331215d847b9aea57002bea0929ecde75b722c595a4e763f700c02e50caf33f6da6f5d0de95ac20f29cae32b5b5e3d99d3dd5bb5a8995ea9224604ed29db948ff687a03859580014f0fc8b72b03f0fb275a8c3bb13f66058dfb0c83acbfea0f41aa52969d91853a10dfcf9c642971969daa23ec6ae537e173014def4f81e6a66c0fc7eafa9f6f065db2391f765193f9fef0c4dd7ba91b60ec6bc212448106d1d746805fe9a00a26dc88999beb12fd0c780043a1495819208b549218cb7f9029309930149fe5b7afd11c212319cb5a5a4feed7545d13a4350d831ed74b843908c0697877b249b63fa963e0e3d730fd11222e25f456d08fd85a6601908e678d70d31d38446d3f983f17516982c79cd97341daabd7391f642c451f838a2e83d4ab12b3d1cb6278def2450c1a57f4a3675139353c06dda9e34e1e341e9b49014b41e49f68ac26da38feac294de2d8e342a61cb8a84dc5514efad3fe9a119a2e40128ba9b25801eb46383817f21eaeb657fcaec7e7486c24611496e7b7be45e93e7a3a310b634d77b5d84e8bbdfa34008b27e6c3020d4d166db1ce670079d58de7d645ae9dd4689984bdfcacaa926e780ad6489fa4c008dba23c514c66991b9a76a984d72301dbb32edf9da040da75ba0fe2792c67cef01bbcb9d33999295da9b45ec0e84f90e94b3681bd89896419e936a4f3bc93511288659974a5b7df96784076d3f0006471477ba057df39cd64f99e9e429c92c7c6a7a2f33674ca5bdafa0368bd4ad63615f3c004a4260896a13d91713fc5a9ef2f2b048361bf2116c5d2ca5364443f115b0b9f4d2c58236cb0f1fa036e792d5060355aed11aa3f3b8a7186b3736959e59f243a34cabd10d632a93bd3a98a398567f7b1aabc6856df787f4efc007674ede03b930d33a8c0ae60f316f30b3c5cdafb8e24b9ad29307544869265d5e0fd2bc603ad1cd7cdd7dde7f49c72a84ac93319371397ffe4eae534ae76c0069049dfc319b22136506cc41182c7aa5440ec5d6b87c6a7e62ca7cd04b77efe3110a6cf5a091fc2589673ac33ad3383c093c262f47dc608eeb3b7d67225a624b7c5a6c5749e192b7e92e9e494e3d9352545fac958a17f9e978fb78a214afc801257fb2207909fc11e8516963f0772d73b0f7fbf13c740df49acee005b42214050f7a1062f49b05560ba8e67bbe73e535e40b70beafd8a100917ccec88a85bec920fdba499ce8afe0e92f5d372e9a2caa3a9b7a6c3201442cdee1929c4a2b7ab5c0342987cc721dd0b64f29feb0b15abfaec8a6b6fd21653a82cd6d0a7ad9f0d6ae574f590adac26cb3726690ef92082c0d15985e4b4083f95693afe2a74743ae8f4bec76b769087a52f3f7251900e74f78f1ec9c25105398d49c63d79cba32b9d2ee280621653614e9237f58601b4a0fc17b7a7bc4151d14010a8895aed465f081d12a409c70cff86417c9966ce244edae4a50831fd701f67cfcbcc748ab2ccd11e292f3d8efd547e8eb8d23640d2fece5e33bc9fd99553bf45262dfcef5f3beac47d5a3bdf8f176a8a242c24e35de5db420cdbc11c4d383cd13d76247f452b431e8842808fb6e75cfcdb1f24add8b4eebcb89b064e3a3abd1ec00dd10c1ebab8719428ae57c0cab0c58b4219586224b834f7fbba20af304488eb7046c51e778a788bb86327441522102e41f4eea4ef9574d2faba50ea4c8bdb56a566533269c59cf298281a8d2e85b2795f82b9e84f0bbee45dcdfb563b504d04acdb09314d39f302c440d795aa74783dea918e8419621d9b0880bf7dac3a0263e62658c1edd2021736457989e3277270bd1764f284efb9c9fef2b59c04c8b0ef4f0fb680c42335d322cfd397028deeb2fc762d5b459c7b0d4dfe8a21ef4b0d4cab8f2f5be6487c7debc9183285c79edee489113716eda8be1b05496a411c4b2233f5c75b65f233b609bff244d478cc33539905e718a1b74df3276113289560955c0263abf33614a6c74cb46063687c268f2db7e62c79837dc8dc503185adba3fddcf712ba00860bece0abfbe0c4261f73d36ef23051a1c7ea901e1500213c03a2a311ec6dcd6fa3cf2d73677f2d09a1e7469cffd6e0165a003fd2776eb9fc97a509ba240136564bd799d9f56cad240ee87a5e67f7b02b847646205e2f1d2b83bb7167803c80dfee6d0ff2205403eae140c1f8d4654d14352005427f1077ac6dbe09116c95b0e99d49e9b1973bd19f1baf89dcb8224a0c80adccb886b13e44ced542ba38dfc1fa9869dd273f1b1514f140e4617b3e67d3d96eed89cc7f38f135d2350026325083923bf95755997658e6fd7b1b9c3a70be8e30e737608ed4d3f56a9b93eb854ab3180e844a758c62dd51c79468629cc6777fc68026cc3d98c127ad19e089599d1e6e6990fd71c19dc996ce2a88c2d826af0b8fce085609551a29b991bfeb3dbdd35ee45a3472bea34bccd16ec24772de2f1ae3769e47976234ee017794e1fe0ac86bd508b0c9c2893230efc9240476691a634ee9a15c41b59d46826b9e926ca33777c70d911d0d3a5c42b8af2f38c5f6fd095ef45448f92d5f892f9b7caae5952d121fd750e882ffcee76b14bb7901e50061aa5c170ce876a612a23231586e20e274ec5aa1086defa5df199f02fe5a0e2195af20d803660573f6abf8c9b907f9825a4e5778e8ffd1589a2928fb11e9a7e7862ac14cfa9bc7dd29715bd0cff0e7ae7b1987ac25811faa6f96ce12ea6370931279f3a2fea16b1273adef7826fecc6a8e7a7b55843c187ef9d6081d694840889b5949fb993c27fa404599b8e004c9f1b77fa983f89ed311175a4917dda841120f96a4ada745e432ae574ac82b08c07d6f52553f63acd6e4dc5f4a1368fabb154f59d238118a31eeda455dc3d39b9dc29f9dede94b0e7b153cda55ae96a0260b481250150efb51437e00d99660a2a13cf6569fad1dd2da4ece787b30566a9fc67389ab70c338a60ff568e1081605faf89bb99a0b1cef331cf1b4b3683f937267fee4d3fd4d61c6438ccbaf44e8376d82f0b53a869cdd472f0eb63ff00169ed5d3e05ad83fe9fb41837428e136d939e49d8bd5e54a6daac4349456ca0f922f2ce77d5a4ade7fe96e51ab600ecb6033ad967039b26dfc689480cfabb01641f3b8c8a090e6fa1b42b4f6e32d660aed671568f8598815ca0c350f77dee9f39006bf511358a4a1e6662d160fb68df0ffa71b976475a95078b584e36ab5beedbb4b90b1e1a5902a5123659c53b88e07909e095d4ebccb30cbdd50f2070295d83e0eb21a1ed5136d2abf0e9334504fc7a666d50840a7b879d32fa63641939ffaae4f4cbb3c7e2a68ed253ae703e9ae7e4e4e515d530d80ddc1286f24f015b01807933685c64fc56a494e48b231ae13b2be12d1a40e7c9dbe22582c0cd4f1ed26946d5417fa8067b46e0f063026c4e21b537b7c34d2ca29d268fd2a1b01c63eea2645cf56ac71415f5bc08cb20696ed4bff7d343a713ec3779306afaf177854ac950ea1f27a8a2565bdd8147a9f0b5ff045b01d457e2de3deafaf59b78c80742a304c85fd7b27174b2739cf15572973ee4d1e15cc26a7ac40a88f972da34bde231065959a292e13aa115cb0cbf23d52b4c281d9b72654d327387c354d7a0ea2ff585aa007e6932cf3fc52e649271f2b4b40a5f2e3329ceed80ed5b78d1a7a6231acf8f432cca7f3eea9d1b2bb987e15dd5c58c58d5030bc86d88cd36284cc774a3181e424219ef5c96ffb3e463b09032ee9ddb06b1e30f00b48dba31d1403033dbb3609fa8a3d930e280aea1e82de937d3ffd6e9178b1cf36d256156b96fda15ca5d0dc74dde08a4309e16d5fe93159651802ec37218bbc59061ae57f8feea45b3b4fb0d279a6211ea8e65237f8cd63dfee9a348722f9ac8f65d7fc870fd8cea72ea946b26427c1817f88257b774760bfd9c80e864de897dd3f4a95ff36fb069ca27d5f3ed3c3edb99649cc3cdab91295397f38017657d54aa30dae6fa4844c8f1eb80e34e93bee326367d43e45d7bb9a0fa0ad24e37a66d718d726aab51ebc7a74354d66c5be73fd63b052c300784246cfd5460236b54e9a68fad1638a8adec03863b3f472be33399cab2292815a5365f72675517e6dbfee572b2557f3856f6ff8d1783c27ac1562bc2aac989f85918a368c9fefe45d7ecaf061106864a53dc1539512e3e3eeb816827f0259cca5c7053af04b7165f03c4b7bdc2b1b143c1de730cfcf8f46b0f1ba95461f7fc4d2352f007d3ce4ca79a0734756fc1c96e273c98803097a9976d221c96fd0ffd287136fd976534a94d22eacdf86451c07d2b952b9e87086d481abf26e0f2933ac1f755c921c0f7278711b975cff29b6fee1fc8c245e4292cfb5c5a0f05d4d2e7bdbd8bda92178dfb2e801e552cef83449f3d3f6298aea37f38cbe689bc578d44af58634140a4d23c2872aec4a65d863841c13af2e59a14b3de9f0edf5a0e3fd4b26e33cefbb3722ceebac3e3010cece0d6e02e7a9fe2c21e0839c60b7398db148878e7479e4ed3f765d4cf332cf7a23df42f8e3331ea46879f4d6184be18512179450e53ef14e0afc37f64df5f50d40566e8517abc6450bfbbd473901dd4da519b7f94033247222740061ab46796f2de49b76d8d7e50f8208106c1e9962f8b5bb503c27bec16738354daf717d5e2ba481fb7aabfdfb9dcdcb0a68cb88b49068fd6e6c66d43fd466c044b9a4d1bb369e24048bb9f27bc877979e4edb1063fff9f8251fdc8cb221d69d32e30201316084e1dfed3be6b746cd40e63f1b71d8ff01ccb826dafd480ccf58ad6ca185fc9d2f3cae64bd2b0e9db251ef5755926a93d723e5e1e603b14aed36d358e7df3a2470910dd0bc7d246cd611301032c1c6d79779aa513787f3b8b8ab732da37ac6b263a1659d4acd99c2d58b46818ae305c89e2d007ca7afc55f34044c73794f973b1cb5dcfcc71ef319e584f5832f81b03e19379138b493399de1e7d062d963e5ee151401144cd33ce8b97ce2727a205308a7a19c6e29ab54ced3dd3343b1b8a0f682a623e53f0a727472ecc46932b96fbbb1d377a3676385b1ed23cf0852b917256cc0574b3f9aad2698c76fc85478671b24377fc779f7c4a4df8d470ec85d3cf31e082d2fc20281322ebd3d3b8c65e556e97a7be07277533446b3b1dc20d6cf173e237dc8014c55309c647ae9c88d98745bd024f25066c39c0519483993d4dee960241737d7b222100dc4d826fd0e302d0c01a15e8be517e88aa0fe55af3576b8e6f27ca9fbe2d08b69ccf3451e722a4e7adaaf9d5b2e6e322cf0e2847f3cf72dd1d62aa512620d067444ff336728fe72204106ea3e3680520166db8b252d107d0f38351ae4da7122a0193eedf18094760c62f650fcb8f17c6d4cf487bf318eb2e44cdaead3028fab0c48271076f3acc4ce96ae117751bf0c2ed22d3d5d12b1a5c2c3d23bd00533140c4c51e57f6b1dfa5f02ace81c53a602c8dc9905950da51bec6da3cf22a896baa1e7fc299ebbc53b6983fe54c0d425918c53dc4c56e0221b7c1a5944700f19a8ab799cae3814c8a2bee2f304b2b05e02d025cf54ed3c51040e0d69e821508064bb1b68054a170634133fc0d3144f955d7bfc11867db21f5d9bd784a89740a6bdd2f20031b1576ca6711ebb19a0d1b34a2128d5dacd4f66fce728aef2ddb1da82f2a016941e48a1c233232b713e06268195bdf03aff973e52b7271aef818d0f4eefcdbecf5fe11f2598363174479421a1661b56034b3848bd16ce23ef1bddf2c38504dc47859b8ee9a0d52e5615d0a5e31447f22a252133153a61ba9f5c69c36cae54b70b5e839b52b13046c5016b4d08d900460bd3d00e802f7628def8416f25aef7cecab3679814ad8ee04a7b69bd45a82d11f03e5bb246feb424b874ab17781faafd31c472646b7fa8307b8f45cfa33519a3457aff3444faed29eb3578fdbbf8481e7b886a49ec813756fe97ae312ec539c9aaf73f4213cf7a07cdbc017ed4f986e83c404f238c9e0206f6a9ca7e9e1e6546313c5a393fb4d993fb1253eb82c57b9d6200587acad4e50adfb8d32375593ead598a1b060db06dd441d7ffae55cd337360cc1f20b8606bf62f4bbc0e1634bc5529daf2cebc0cfc2de10dce8d496b0c8019b349b3453d6549b191b51d580c98941980472cfe00e04cf99cc0d90a8f1cad5db409389c19c1646ad101a1ff12089946743f391be4fa40d0d6b65f50b03c4545f16a44d21ed53da33ca7dcfad3716ae6172ce97978e863b847329da9de49383df867df6386152cdfdefc1cfbed2a72621650f408cbfd8762f0ca045a52be54593e409c24d5a57d6bff0aefba67f5b78aa916d6efdeaacbdde4001b04ed50978714e52f4628c671ce03a91fc09c8de4533915c7cab34a6d9845ce7aa720329634eb3b0075a344ebce5dc4213422cf5be201eebb7dfa0ea147f352bf5a80184b586c5ca10744e70116768f882421a3ed4b4f567a62510697eded42c634a1d34f4a98c298aac6cba7c696a3ca536f17a0640b28cfd3e0996e78c489e5ae568010c9502d2440b99ecba765ef77b2891d3f686dcba8ad7245ae80571ac92697dd775eee7ee90d32b6d6ba557ba899bd052fe2cfa5eab61bdff48357426959789ea9ca1be5af313aaa55a7780c6fb147988d428feb86caa8243836fd62ddb18bff6a6f9b54c41d274a41fd9927319ac4a17ed128016e288df7211c9bbe888049a48b5909cd318f3818ad88a5761f632646055e0b051a281b8da6270e7e8a771df4f48356a3d9329fd2f27b1af620c96321598909dd48c04c90ed697e7f5a103c802ba56e54a191c35163a9809436155756068b6fc7a1583a9ef810b88f001b4d762f5a4a5c44aae1d432b1dc437367705227e1bf8d815609ba37a38c3e08e15999f776133ac604bc4cf0b71f285941e6eb0f471adb1739b6c426159dcfd6f9af7314f7e4f458a70a8b216841650f09e74c3dacb83306c15eb6a636d691d48f040160c68a8e01197904d67c16210cb3fb1aafc15533d6e006e7d9f164acda95f33c6e05ccec61a4506c53552ae587d59868ca223d8b1046de507a9fc211a919c06de6c432765b13e2d2acb46d8287894cded269b1a0e7b51e3b3bf5401ae089bddb2a216d6e923f84f1e7ce1fe657e1aacc548507b645d32589f28509425ec92410b037c48089f8dfa075221126c1e6b443d42ca73ce784a1897ec127b1211afbc2ade07b726f043d6358ef85f340ec5c7ef1efcee79ccf0432a5574837dcf7b6cf69e04078e7c9dc061a4aca5c8ae4d80c66a13fd9497d296b0213f963360a21ef9a52093dd814efd56c8b0381d29443d38d63007c03f82542419f28cdb6ecfd52f26d5075da876ec971d4ee794a8d2981b914c088664d2a3be3da4cc3d88cae9c40d8e1b1cb15124733a4d30977c8ae1a24f6211b0a766dfd7a6a5a140de5aa7a19275ce4032986897d8f5e679209e47540a0ca20f08b8ba34e8317cfa68d71f69d224b91a7ec0ee669fe97c6915eac45020ef271499f5b8b2dd5caf9213cc522a8ea4701fed148d64ad7ed463d0535fa8d29839d2ed8aef98ce4898b70b52c20478559a8d011cdba4c3de1f6609b58646c419daae6188e33af3c08ef649c779ea2fce2f2089fd074edb5a14d3a369a42be8bcf936e019a9814e2989030b57027648a1714207db558e6707c700ac9e4374b5fc2508ddb5a48b7e2d69f372de05d932c93298a184a4552098ba8befa0d84c3134c47b9ba1961a291d80cda4e5f5b96b1d0689cb1a6361a0e2e50730a32b4112306ab401cbaac52231443f4372bcb57d92bf4209420e8f72762bf40aba268809cc2cb9ef5e04cf42bdbff8c742a99b265bc90b794399c1aead8c609bd5f0c6f81aa6f0198d1572a9be7b94dc32c2937a8981237b2221d4f25d22421bcdcc3f45c7311caf24adae09767c8d4a91949694928720e774db1048eb73103dd859c4f796c3c629084c2571287e2537a28055b67a368ba2cfe69700ed2f4694caeafe9fc181afeca454d600894935e14937ef96bac865bd99ee668e7aa1489c49073a1ace3d57d0a7f7b45f4ab633fbc6613453b931601c371f9dcc6092d195b69e46f300bf57824d731aa6485822d601b442d7a9a91e1f1a03952cf55f58b95882bb56ba4cef3b0ad195397210fe07f909fe5f717452b39ab6edbb6558761fa3301e8d4fe8517eaf1cdd9c72feba6a39c8c1ffdb8b8ab2d6c60678782bd3d1fe5c3267fd039740575e93a7cf032632cc8187da13ab0c6a5b5f9f8e07e199f86f4af1846af16ac395364d2442b4df1ce90442ef5e67093337bb5ea6cb9a68eff8fcda42c9e692f5950f710529ab2b7bed60270397e5d307c0ce0eadcc6752894e803328d165a041858c3783fead8bfc2eb82f1516380745e2b6b2a6d58ef8c4bdfac5d43dee72cc81c7628d27aa0242363d8b8b45004fff5ed5f98eeb8693d35b1a9c2304d2620cc458290d65089155fb30eb9bd3da4df0a36b7cdb61611df4602fa3e8ec025ab60e5e0019480d963f289a4e92c348d5d341829f1c2b74d8a099ac89511045454f79ae1d05c52ae7d0d5b8ce3dcbaa57884f3598cb65726f72107d35faeea328764ed8f50fa28a9675c9ec93f57ee872448fb892ac1a5f5c2a03dc473c0e0b0671cd8ee34c93a3488b84b2d7c248eb859481143adde20101ab5a2477fd2d68924381fc67ab05c9b7e439532044778dc4e2785b870f480fd6c2075dff702c76827fdf6e02a716b58ab0f0360e76ab40161a964c087a6cac432410719e7dbb974b4902376af1ae793641f50982494eda604cad6c580d636b15f18c2589b6e9cb8277818de5688c58f3c7f8e7bd909f7d36bb65fb341116642b23714c45a9eeaf6bf000c77b6a16a1b55cfd3dfbf606d3cda0f83aeed7bbf8990300ce4f28e43cd95b1c3335635e210f7893c908cb2a9fae959f767c119f95de906cce8b0ab7f626c0f516de684d52b56590472fb815c79611fc07b17ce660fde47052cfdb57f50e8e370d3bbc5e959ff84ebd3ccc7784f3b97717e747ca5d3cdf1232cfaaaa62b322449591f37f1178456a07b892313f665576ab43f9b08ae5aab44627f090a439dd14da694262c906f3ac906d507f1df80c5329d196663d91ed60b50b2f18bc5b97e2ea683ade65ac51108cfa35768660095ce134edde2ba12b1c72c7ba82bb5b3c06f75035003f573ac259191d9a20c9803b48344e14fc3fc5baed86d778b15025f4a233d097a33169b8cc77f791fb7ad81adf9152b34f5dcc33036bb33714865160043ef7be9ca82e9b7bafb99e5bf8c2d0d1d83c658b1b38f3e977cdd02ffb0d1e66fe3146fdca43c305eccbe9b0bf6de5987dc55442119b9e7241cb33aaff82bd3a5fa2b6457b8bda2a57f4f713a78add38d62e1872537d5541b64af45ee78033450b488e32b66637aac29e76358462417ea2e8f16e41c61838bb6e54311a063d2439fe8a13c57cebedd5d6fa2519b9893da63726660460e17d23b333676f2dea326894c026210f52c9576a0569e60b6d9046efd5d1ef2e440107a4e7d8d16b08b13fd6ab8d064e11472df50015c87aa43a49a781c3521071aba4384943000f68033caaff0ccf5fcbcda498d2dd3e17f073b8f44d89615ecc2503626b129388ae74bf5fb1573d61cfa617a418f6f0878bfa59587c7c91ebf9454f7494d8cd137747c66e7c99c94bad60f6d31980efd4de4aafd7bf2dfca270968e75fa409b34924185bf3054b61a50655c3ed176cad6ab8702e19d462708a28fb62ce2687c081783ef6d8863e7eb7dfce4cb7f1101421c3ae77139d1f26bddc1d3dc22cef4a1bbc4bb12659a94d4676e7567e5fa9eca827c41274b18e2020230638488328f8449f1719bef253435f7309fcc509d21aa73be51bd3cb53ca9dbb6ec425d1a756ae37a11f222384efd6a5494a06d59c2bdc1c2f0c026252002f0a19b229e784d7d0127c757d6123efb49c53be38b2c8bf1c877b69174888bd3dd72fc8a9bb83b0e21aa5d33919c56b892b8a822f30e0c711e0854122206a2181bf9c43d37c63d83ab5c2d776c06810f1d55e5750b95ad818571463505b3247bb5746b52b1b01dd081c74e0af19bed746f2d23b7ad7f03e0cdfa5ded63a28e682bb4d7d4bd4eeb7b64628c76dd7b1fb7ab3dae56120f37ea7a6b9f616bfcf66f2189ef0a6ac25f43db6b86461ccf060fbef731374d59b6ade36d04f6710a9098bb07511a5226c028022004d664afcc79aad673af4f8e3856fea965e6990457173cd1d3eb89650eabb09278ebd10d61c05ba80427fff2667403ab3686a3df91577b64f0e58bdeef17becd97c361d6efba199ee4cbd7fcd1a506e6c63e02dd0d99aa7dcbac3ca2e65100549afbc2bf2636b5778c8a01253d8103e5ea59faca00dabd93d55b81ef81634e6e9a7c0bd5b2f7dbed6782cdbb9227936e8782748f9bf17241729b445a13722e7f6ffa7ebebb570794931c4286b98914ab2ad1ec8ad567b36f98a425938d8fd36e314ac3c6c498b238a0d148796deefe55b70990636a98cb2d2c207cfa9da667bb57dc9c5e882f76d3a0b07c58310b1e28ad0839856cd76cbc5499e5bc5fc507e3f3546c30299327958a2435cca2b640eb625ca33a2244a5caa581f80e5c625796acd74e8936a682601b82638cfc7f90ce495d12152c70526cab409fcadac84f07f3a7e46f059a8c511f6e2f9b4ca9fd4f64deafdf8bb356868c0e3dac6fb841a87c731e3486748f352790772fabd1b0b558c45d0ecb6076f1025733d72a9711cbbd08894fa98ba5f241c0bfe143a1d959efac7145e5014eff4b935f597bd18cee21da778adbf638a5cd6807d31defca27d8d1bb53dd6eff12a195b641950033033f01961c425928156b8b6269984f94b1bdf7bc3b9173553e773d65bfeda2f46b95fc1117b393d39ea694a878eaec81e49f8694c6f52ba264606ca88628a702d71e025ebbf949fc923f11364fac6fee6288e3fb0ceeceee4cb330b42ed68d2347554c7bd2c1a2036f80f252ca8f32e2c836b81650e3724374e5c7b642f77fa53be6d2b9c996f30c06231c4d8e1dbb18cb8b86a3f61a25f96058a4202e7242de94d946943f38fd7ac5cf6631bf3038dddf74f19e1f36aaf53d172bcfb487d482add5e74dd9c573c34280d9b37442bea17cbd3989f3d25edbb0e91b0f0f47531ddad442923810af07a0818276f5b12b21b21099f964a1007e83e9e2fb4624969cdd26e8c55aaefcdbce8e0e66fdddeab55a5ebd7ccc1adfdff54b61ceca19a36603264b170213dfc19123834d7114ff2108f00a81c7006a83480d79dbb5312e403d5fa51012dbb485d2a557a9878a32ad5194b90b160f67758e6d830cee1898ad2ad11cfd83fc120ee67c43601bab3031231ef96130671ca64f5467c7978928b78ca723d7883724883b9fab3447cdc9281dd0ce2bf392f0773d8bca0dbb00490dadc1c0728ba2834a925037fe6d7716eba43b71a75190045818e5c5e6beba67101a8048167ffb189922b5d63803ce61aa089b7db72380ee411268d07e861a38cdf1c0ec252f771398a18283213d30951a7961873123f05fa10402b1b30b7b04d2586f2e6a7e20baff95785c080708691e85f51d864166729a7f9354106dce9caf1f9a3fc9c4bfa5018a3a96dfb9e899bf7a0276e19c54c5f22ab485be977922a0c1f90314cc1aa95b32ec4bff9bd052f1b134f331d7af345f2ed36b16fbdac273a8cd2174a1e2e9579bdc5f02c325652172d5e88e38cf6bbf635ba9ddb3acf1443d64190c5ea164ceaa10ea6be4a3805dff74d008efd24f7c67634e18e6259dab20b4c5170c36c17d3044d531143bb5bf911a48e58a70256c68ca65a5ce0b01bc58c6fa1c255cd4605843e6a4f0ee92dcb5c087f7fabf4af29ac646d9752f6dac1042c70bd82df35600b474ccf2d70103297ed3c2d0e6abee771e43c05b0efc66616a5f1f157b00bf9c7f26df656ed92eb86e54772d69e4ec13dbb015a98d8740a40a7042a10f4ba52ff48105a4f866b8beba5480a4a859ea6ca9505e1cf79d7fddcbe30d7b4a0499d6c52d9a746170ffa8a1fb7222f7745515fe54286d9222d19a6fb9ea0866499a75b5b343b8b3648deabeb4757daa8728931b25493198b59eb0a494bcd8a5b1f15166d1730dd4d9dc1b28efb50ba03d0cbb816a82f2ba2edf1e579f9601bc6f977778cd24e377e7a226d184c95a17ee91d3b9073ebf536607ec69a32958bd6070d5f7810b9dc2ef19a3b265db05007f9dfcd87fb3149f889d7b26bc0627b96506d0eb8c5044c9cd7054d39a8113951a978a9f5e99add86ceec39c1b7a4a73686e0d528dc9f5779452a843b789009c02d4ed9ebf7b8efe41c557600a31330ccff78ea7583cc6e51c470913c6fb60dba341cb2971b62402332eb685c6d2e09a71f4b98ecb395cc46284a2e59c1dc1dc5fd08bfdadf4bbff4984b995687ea602c99dd9e20dae2f55337b3b18109c17fd8250b491fab3f5e761e38a9609605a59a03ec366290cf78884183193e7236c22fab91ddf6ced454ae8ba4e56cf35beb45f7d3bb778772056caf0f6c8c21c232e2fcd29d30833842fa2f31f88e199299334a4872a65db784219ca28f8fbc83c01e2b566a5a311e7f2476b660e594732363fe505cc799eb98c895570b1b80407f2ea88d5b2e1caba52fec8f06fc3ae3b12733eef501f71026854da58d9c035753b0e5fb01249de05eb52bab9b1f217004385a0a435848266fe3b048d26d49e098a4cbd313dfa914f1815d365f2667d08b96d2ef933f56a7e32a1022930c52154ee19097b7ac3044f503317db236f01ce82facd9f9ab218f3824306d7a8376e281a93fdffc58075adc550e29e9484d0c7de8e55912e877fc476245c18781963a840dca3788ed64caa3d5bb0bceb403fe00a9f01317b946785e2fb6cfe472cdd25c33be273ccd295d237f4b487652fe8954de16385b14d8151bd9213d830e23eecf127ca57ec9c76eff2f56d0576430ddecfa579fd05c2f1b89da4700698517319451937fee4bbb2e13f4d04547bf9c5b71c52c53bf590dc497ddcfe47d9d4da2cb450aa175fae73344204d8ed723a92ca8a4d966b52726a3cb3d35e31fb5c78b49714109e46232fadb0957de2cf8780adb461762d9107b6bd4418c1c8f7f8e48ac6400f8aa15d0c09b52f2033e94bad68fc4e28465a8eb5c1a7ea372792e08c0a88a64c38797a4d9151350e829a535fdce7d7cc3afa27703d27f41e3b417ab643d2201d1ba7e278ab947c4a1841c23bf85355730743447030e6bfd67a46a327a573b2d059c95901d04fe06f3e8d72320366cc9c7e9d488884d2a40d121195b338dfd2bcd358696b1f601f07d7edca68c8e29ee6ab4018ced38d791cc4fea560a97c5d6250a42ddabb81a91f5cfa4b9a7d0355272c01521e8faf4c625064d58a8eeb36e2988b42495bf836aaa7ad4e2ca5adf9beb2c55b88f36004d11fd0efb63d4699aabf645bdf7f3fe455ca3e7bc1cf565c220fa43e0aadcf00dbee1768df987683bdd5ea09b8fd4f64d5728cff9628a48eaf4cc7fd421285e50d12a1ac5a75f5ce5d6a9f6ebce7fbad0eebadd665c0739594f36cf879f88294e6881e3b56145d260d3ae237c75b68dbe8ffc1562042c970464bbd4811dba939850bb9de3c7ce54da42273f58aed2568295f4e45b1e266324a3f02027103cfe65ff5feb59d54499fea076d633e4ed71ef5774fb0df3c70ae76245dfa01c06cd679cea4fe7fad63e681daf4e01f5054a47f14d652d3f82e56b22245ff10af58f087b91de30331ac9b0819c94a0fd9cede599fd565b2adfa8ae7c695f26159aa145272b6d67fe67a8e1086dce6238df9264b1ed4138b0c1744ef2868f6ed6bd97cd34c98ee11c0ab4c2a0973c44f30e24b21c03d09e5769686285344c04a5a82fff8a5fdf71574bd61e4ff73c23be4671c46a2177cecd4419f4c777489a07aa0849b5202abec36a9c4aeb6f3300de132a104c80c9bfeb69149c6c8e93b9ac6f4dce44096e5bf2a52e0b14e5c1c245d21bd547685215454b20d3a55c59fd10e09f3f81616fdacd796ae859045ceade5e0b51b24454cf1ecd04abe0ab9600a7ecec806855c81d1655870845dc7a24d9ec7728d3601f6e131ffd1a3a306fc10c618d93d3aefc76e35466247133b886c2a29365b5f95050c758c2a75471bebba034579fed0485344e1ec3a103e7224984d46eaa501c558c4b26f17ef9df801b5b20704a61146fe053543c3fe4e631cbdd927b44080c969664da076e965d4ce6f1019ef85f037eb1b81db46ed7afadf9b874f18f3a9ce920bf07f5fb86082a894468556f13419500aebacc1b39205c630510890d15549d121ec583f3251a9ac61777e1318b538ed06929aa5ce8ec3966c2f4116eb0c96404ce340d91d0e58d939ddcde620c0ac2adffd1afca6d2336c194364bf3e28a57020804f1d8768f6d309f45de5b259ecc8dbac1dc1deac30e7b7c6cf72f88e1cedbf9b4b8f3e3a4985fa2d5c6668324b217d5ff71bfd925f4af7b37b58c42ae71814936fdc9e287b74f3e3517c9b081510329469af3891e522b43783062675f61847a424bac89aecd377c0e1ac6bf73d6c7814eaff2b55c6909807d8e67a2f7a8b515afba7b368c0ee75ec681cad8d809b8410222a4a0cc2d901aff7f62a1d9a84a24e573775a67ca3eaf39d4e3f9bdd1b5fb02beab1361021f133fa3e89c633c62435e131b02de0c075c8a36faf19c642f8338abe1d9765c97d84a5d0ab6bb8ebfbeecb873d96607374385a26e6b7208b92e932152a8ddbb7109d4c267bce274f246d0c57b7cbe7d24f59f80299c54d1cc4f2cf90c106244f5c53cf3bc3ec03ed71ef9af7a1cc8d278c1cf1acbb2a116cd8e0aea652afa0a7a51b3c958ea322b2c20affbc56281fde21c6cfa2f7ffc6aeb2a4c044c8b4a30234da02b7fe8634fcbea3099823222fcbab26d722596117394abebe60587fad3a0423d69156c98ee1b65462d1d252eee3dfb355f41ecc11f20abf80bf4f008740824498de6c609b010154781e016a2449c31d6e58e0f89d956f820407ba2a9f8c73f249f72dc9beeadc421387f29c83083dc682390e5b2eab4dd80d8d33b3d0712393ad8ea86ab2b98b33338480a57c8bc1bd0949df4de51b7874534c1b4c256914d844b927352c8135b340e73834a6328effb16a01f4974469d3e7b85e6e7cf9d138bf4cbf64661fe6c0160ed780789cb516ff3690e9cb655d9ed3bb634b398c8fc81be70800dd07c254e956af9c121a42401a31e4350ecfbab5dfb5c0c789dd4cc333d0df9678752a60f6d3035964a48bb1dfe49a1ce917b94b91f8b798c4d41a24dce34e55a1d85cfdba818d9b458d71a66ad3a654d1943c321b8da63a107e9bed2aa05504383e1055fa058114b89aea6c8c554a1603e1c2c683cfd909978808d49d34e07967084ecaf1ed6bf05d270a9f57dda258beddfa3b9570f69eef0aa7010b3323ec5c9fac79d59744065f87198441066a974cae5fbfd0800d8c6be2f3ada8b0c0fd95d950cec9684bbbcc45f6bf9f8fa3881caad62a9e0a390bf671c0ca505cb7f84fc508e51e6df0dcdbdf28fbfee174f92eaeaad6b3ac19240a9cad542309bb9f41f1ee92cd6a87f412a55c2ac9ee46829243122990da0e35ba8d5a0ac648ac5183f26beb778689e030151c1db1e1328d9fc99a9d6e21f331301152effc5e2697f2b711dc9b06b981cfdd48e8e4c1c9bd987980b73b84eb8cc1077720e601c8938bc9df519888d1e689862ba32121c1dbcb336ddb67a61359b60adc537da3d0e2fe9798a588b978de367a0b9da70340412c032be0e7655761c72dac109226b9bbd65c85401fced653c7e554487bc56d24d5491c31809c7d226cf3cdc9aa9fbba12cb57c760e061154af287703ef22315b147bc9b83c9a9909267c6403741960ae28be787236f0e086fedbdc8980e9b5f8d4f9a945cc6f58bc8fa69990896fdd55f5d717cccb160ff8ba4fb460a85384f151aab583671dd4e0255a0a9f33df4448c1905c25bbf8f82e6147d8dc1e40c72fa412798bebb5db83b41b70547d4c3647e50ecee8fcbf5adc379c79e48aed711e340b238f12dd446133e5cb4f5a5eec4e2e25196a3644b1d4e7fc8db23d040fc9185173b66241cf2c14b31e773628a6b7fc36a184d32451884b9ed8bf7d391ca230908f5e5efcd2881e694a0924f725de7adc808d6d505ea4ffdae0e86d5e499e34a34e73797cd75467295507803deefa897bf5869638926123e5b8d739747d47487fce73e4e99d1466cb7e782eefcd40f638a1a86dd6e5c6a1dbac1344ab486556dce53bc9667332bedb32af04846479cb10350e3e8350748480d2e217580ed0289d719321e4aedd3ac5c79ab47fd1d22ee0448f6c409a8d72fdd097d4f4ad229f30b77eb516e52c5b0280e38b8b7791ed81ec76dea5ce513e826b01f9455c74e8becba5c3713c9432eef7ef729895f4ad21dea603401ea81d16e4edf3a4e724090e5618e649f443dbed8e0690dc958a1b10f347a8bef77af156120a27dcc05aec3aa14d544d8308d8a68eb25159eba2a006fc26921cb41e6c37144539b1b570cc5e29e4fa4c8f15ea9c88287981b73b24ea056f8a93a7153d952d273a8776cfd5dbf6ebe18a590c961fa02700b0000da971788a88c082caf5616e0fa56b0b49bd35d895e773a902effbdfa4896d117246a2c86316bea15d87d99636227177abbafe0cd5411bb72e7b14213b5282197936d2ce62cb133e4b311fc3b79afd2d0e6cf30c8b8fc2da8fc8a46245d62e4a93d61e9e2b5c433ea14cbb0e2f40f8b5f7755e4907ad0df7df2d6bee85e3969164fa0ae750fb3bc620225d772be891b3d7fad055d6be6a873641202bb416eb51ef2a5b348e61fd1d09fa0eacc9b740d6f41d1c5c1a61600ee0051edde35be5a5ed07d13f3826e19ec1b2894f7d5396fc8a3a9b3042151e033a3d8b85a8898a3d51331fa0da196ad0f9464dcfd959ea1665706e2c791b25ae7b6b189513bff2bfac3e5774d981919fa6447f0cba82c0ad144d538657dad6abc37b4380f2c3b1b252aeef8f76301ea363a4fc574d0b83e50018ace46179bdc24c327118caf2d62ac00f7c164438bb88dacc5fb58c322221aa264cf60e2657e6cc4041d107df1ac18e083e4a9904091968cee0d0d2ebf8805e80766a90752c3700129f5f1b101e5252b741b1e32d032f48fd716cd2990ef82f5714991233b6e9519b4fc09fd03a1a65c4d8caec690eb94aa143b9730bded4772776f8aa3cfae9c501884b05f7c8f5348d488f3775b9d15f9e4d547b48a2c154f6bb302d0bfa22740838a82cd2d60f77b649d35860874215bd68c0c32ce92b436073c881944ff059e5a1c066683290b60dd48333bd9b7bff40a99417e3166cc4be284ff2c45d5b9d13ba34a037940e43b08930a1794e02cc5ff32893be3e58114ecca702b7fb057334242d980193cdc7ac52aa1d86cbf3f7020cd07a027f2f3addd6acd21c53154d407da5374d8d399582dd7030ade8b3f6a3386943303128bd22a70f3395b82df0c49a9c633fb25d0e10c66dfcdacd871a975074e40b33771309f80690dd1db0c4b20dd39faa8bf38e1ff3c1d54cf2af40bb108fe4933572b41c3e6e328c51dae4e1d7ba6605bd6dcdf8fe0ff00d67c53932fd2677e7407ad8660e138592a4393b7ca94c3f0cbb2b60ee7a971fa274471febee55c3cb641077f41b71e9ed7cc9818a4dc9ae90fb866e4dacf1c663357264bc43bd920a1f564f47f3800cd26876397e1b20b3eba59e6748e32b1fe104d073fb40d854bb329653805d61035f3fe2c9568789b0b2602d44c490b78e1c4a7dd662a9c22601cc50f4a207e77a8655b5c7d3558bba9ccac7b30995d97e8cbb6aaa470d1cc03b9c673f63d66cfe160cd043d837b41ba3ff42ddd7f520b3cff5a1da93190cfbb09df9306b171148eb806b87a63ffe9b20dfb5f2d5d26754f422c2e02afa5dca7b52e62d07306e2554064529f08f1201d2ddb05db408ee51b8b28cf73b623b52da701ed56ed33aa4b1bf1512cb3c60b0bd6633d3363cce65317b0814d9f844b2091639e1cda0a7e753b6364314dc8ec96870636ad7e26af6c14de5ae9188e41d36fcc9a555e1a75168c6f5e192830990831ef9eaf35a5eaf0e7bfd6a12bc", - "params": { - "iv": "476286afd9e84f2fc6df0b4f" - } - }, - "kdf": { - "function": "argon2id", - "params": { - "dklen": 32, - "m": 262144, - "p": 1, - "salt": "fa9cc94a07edec8ac107d3123c03bf6e8ae1562f935c43213093f124bb087b05", - "t": 8 - } - } - }, - "uuid": "bd40971c-b3fd-4f48-8a3d-ce10c0f7d394", - "version": 1, - "name": "keystore" -} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/deposit_data-1763367182.json b/scripts/consensus/validator_keys/deposit_data-1763367182.json deleted file mode 100644 index 1246097f..00000000 --- a/scripts/consensus/validator_keys/deposit_data-1763367182.json +++ /dev/null @@ -1 +0,0 @@ -[{"pubkey":"0x038ff5b184b10156a32bb8bb12bdfdce398c9ee5b612677835d99c3c4868374db8dd161e4960103e3dd2986f4a6bd82e466c49b05e70b05500b9644a77bf96af3c176e35649e898bd80664ec03d8cf45efce6b5115d6b98b59697ddd0a28342424257376724373814c924aa936103783535d5c252a0b58517eeaf610b153d9b95008586e23300b82acf8346e0e47b29eed2d3c5b094489529bd7a77ea401996660a0f8b036569f51827d0eb532a6a00b9f877ea52d2022ce01c9168bfe4b2b5a8b5b8d0dc33af9728d29fd84da7fb5d0d663ce2d9e202a566a5035075828d6f2bc72a7792973bc6fc1fb2a2154ed51a3ede52a0bad16638b19eb36838cd28e0abf23dbed92df7eee71d244cefd9089a3b8408bdb251ff811b94d2d3d66d7c250e2cbad106b82001f53145ed301cb0f493dee9936525e37659a2d81dcd3c8fc386799152ec1ea0f7bf95c460768af0ff0a020ca8a7d06400f00f4eed2e283562aabb56a9209d8f079e02e28615ffe30855dce1df07c3de4e1b4f9fc8c05e30b4dad6623cd22a70d6bcf18771124ee1c48626a4b893b7b613b01eeb12058acb6c415dd8fcf1f3c34acd44b5959062d3223ecc6ee390ca5bdac255e504983e9afce3f13fd7086fd199863294fb41483288f10d899510467e81e9bb9f486ea2347d8ff0fb876a6e69897dc554e85cf7e3a365c73f701a754a1f4edd19fde0beeb9a295556007c539dc9215a1748325c2be2795cad1ede52a8c19b1c98793b366d7ada1099f11072f3995da902cfed0f0f797ee88fe75425c65fc9c67c3e5c7ce8004402970c944e075c981edaa5b8315b8e7f7b955a626c989599c03f317284ddbc8d6b0e10a77c8200e94e0c8b70ecd45fab1a3cb73210ca71195c0f3a89bc56add9d043357cdd3fb1a5ee96d7d9846f6373f95784d32e59dc010b58c0f354a0c88424940d26f487424c63efc89ebc5da6b8782cad2e3019dfcc08e9877df864db1c636752f8f86e5ee4d05ec4fd72ba87b7fafc3e7f2dc63cb9239f87636a3a112d3fcc767e71a4db949d572f67031241a91ccaaf9315ee6b41f5486d6329ee9b1e3582833ac317503c7a7594a6637ad75ede44ce66a23b6f0dbe2f8a876776655c1383e10edc4ce2288720f7a7f22b65dbf232efff1c6a26c6a3de47a51a8d1c22ed6649d35818a5f15cd8a8b11bbecfbc26aa0daa0d21db6672d8e066c51bc743202b265ad833757cad61b3481dd2892767bddb8355308a7c3fa422a48397225afc0e7c8689b3dbedf179c9a0a1671307bd3b1160ae4903ebdf4e53daa00e2697e7c4778066f304ec0acae679ae4587cf08b430bb867ec67aa1d982b7afcf973d14f00a0e58301be80381f9db958c5876e43e97c5558d9bc7d45af86bd7a57460777071e8798e323a25f38eaec76dc30d542cedfe09b17f35bc915c921432ac53db753368b3e4876fe2ac1abab9a2502f697f6d23d6e761068245677331ed565a844adb2ad39f02f67dd8df2b5907fbfc4463934ed6aab10c86b9c568457a39e2814b3bd2f09020fcd71c9c024347fb71c5db25d8f0b7ddbad08f7bdfd7788cd3149913fa98d9dd6bf476e34ab49af3bdef2af169b12dac861675b64617dca5f4886d58db4c49f80f95d6c5fcb1d09996600476fa9e90c9f5011da30a6cb74de71589a5ad8d56328f8143461cc215d2274219f549a7d1efe93daf8db6ce8da589220f15b337081e744f05896bd195b4180bb588385f15fe7eee3b6ccfabeb355ccab4252df5cd472b04c16934643ce2826426ef486a883f9d110f5b19b4c7bf3c933132d3f005b24f1756e0ee02af695994a555bd7bb745b8aab7ef91d19793e95b5150e4880ec7b9ccc337848936eb118451890a9fc9ee66e0dfff68925e536c3fda7e000b24cbd352fc6607d2ac5e215df230ae17a36d92489aba55b216ffd21bf75f66361d416ac478afc82f237ece4602ff580f511a3e4638c84d0357e179f21ba9573b7a53a996be6d338c8d6dfa456864be8961c0a52ace77177af74552a8c3a7273eee6a6e2888c680d69a31aa6784bcb45a4bfdd7117857042979283165ecfe0fd89f4748b584a1564ae6261ccb00d2b3c2c7c359f461b498dd285cbd8cbd0d381b1cf1bd4ee13a15e99cb4097db16d39f2bbf3d21ce8c9f3dbc78270cd72affe6f571341d2d91025696ad85c38a4ff0f5d06e6ee02f44c85ce12456590c0fad1a8dc69e530472d193c11f77d0c0dc623a5f84eb109482867c56cfbe31bd46c7d59a79117e89a359ef2d750037914623807196ffbd587d25e7d044e9794b91ac5e8a9b53ba544e19a58466c67309bb872e77bcd1ab5b0cc3774203c9f7a58ceb928c9fb394d9a9373335d6966672e8434da5767a82c7bf720cb119cb4b209f806d4f856772210fb09c46cc07063c6154228591969a0ff56cdddfc9d10e502c4ec7c3ddb6d20e9d394819ae313e1c5d2f02fe5b4e0fca23402889fac45348207e13cd33c82aefe75271d521ad00d10520e75fdfc4c08cfe161756c57d4fa706672ee87795ca8c842a6f9f039ac22015c71719a14672526849578fa942311fcf17632970aba767a1e0bdc73fb0b73feff0ee5dc80ef4dfe5cbb8ad22c1324bbedb94b2972258c81b7423076c09f8623dabaca56cfd4959df2493e210c4e513bf8d074ed4332bbae0636021f9af58b20400d2ca021d184f3b72cc7ca92a589c2939ba7f073767188089fa410e7bbb0df3b9ab373538f43bd00c562d0ad85e523a038220303b5dccc59682a63a6d39be170b3b2943ae67e3f0ada3dbe9c9fe9c829c9160fee9ee181f55453b582b05a73210a9b34ce79ab767e9d2f98365e5ed41e0edd5c315bd3a2966d6dfb30a00028d7dc3f6a58194f0285ca1dbc13e31ba11cfd308e1cbaf6e6eb83ee0fdd1add21d91aa306415acbf1fec703a4f23aa7d7b5c5d8f352652ecefb64bd91a58f5c9c2d907ef2af4011893a59cc48d852ac3e966dc61d9c5718da782a959c746e556ff225883d4029dff18017a35af60c4b8cbff2c9abeb72fbd5a1ffa4eae9ea7abe2de1808248193b6167fd10b024ef797ea5fa13921c476d189792d9508a5620c32ce5dacc4a2afb22fe8d8109cb1195f6f94e8eee4acb61e34c8c9c55ae4e1212c549da3b5e26cb09a221bf1064cf7be27940df71103844ac8f8c7972997f7500fd6314be017f131c5373dd0987f33a968c45d51cc7b58d9e594c82b0ad78e06896f4859b240b9e78b40105cd903fdcdcfa123f57aac6e9bb845b49cf624b4c4d5cd9e1ddf7c4abe17dfcb3e08e88bf63692fa1d046ffddd95604123cbf93a0559408803d71950960ea84c88ba9e57c9db48ed92c5e736e8d501c4983d7a33dc9e15d77075f928143c8a5e6be14fa8a26982e87d29365a66ad9643179ca1e19861b72d7bf1e3c6803acd9c9129d4187ac97b7b14a5a0ffcd3d79674c610daa89360df4d38afea7db4322cd487f485d9660d959daf8adcd63ee9e7f55c567e62f5e949c6a21003feed5b52d5fe90e5313334d8d9f1ea8e0f79d52519f9ea43bf028f362b3a5644f9af7fe162c4cf7e0c5fc825dc84c78497fdd38237a8a41c0baceb503fc82e4ffd0b9ae4c116f916c1fa2cefca28431e13cc088baa45bc0f6a9883bcabbc920063ec04ab2c58cee","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x5ad3042e8d18a09020250fe292dbf7c8c1ebd5afc03270afef9e1c9b38673149","signature":"0x2941ffeda701da21ab05fb85bacdd5f7e7002d5cc74c02c879419fdc0b3a51edb75ec5ca37dd6f68406c653b8354ddf79e3fe4aede1addf2e4a42e07ecc5232212dd90451d94a7700cae45601cea07a5ea494d084f73ae7e2c88aad0097122f8e50c7769c8b67a54ddd43cf0b7c5858e0913888ba805166c41d043c68542d2bc69b541065cb335594d4d65cfb0adff6bd4a59ef3763da176b79abf415fb1044e65cba1a5c57997e93b9f99ae72c38ebfbdd11d73d82e60a8fa9338f759e964f5e785ca3d249b4ced7ab0b78b0e6beea759b0c3b2fddaf358f0389602a90e92326cbe61b4d4dc311f2ca40112cb2b008bd79e87840d35cd3ef0a9d3988169305107eb96da3967b98cc802dabec90aac12286eaef945578ded73c22eeec9d3eae28c88543abbd8109b056e601b8efbe856f9080e29c2c769ba040a92de2ff97d53d44952966f68de50e0d5d48bb23ae7822b29603d7353322914912469ccea7efb1128c123bb605940b23319017dea3101818d4e515c7f50f81b6583056511d7ff4ea88bb12ea0477ada8fd6179213e1238cf0f34f8062047d24af4af6e89142ce71a7a469aa5bd6f769de70e9547a337ab154f30d9743d0269364d59fd460d0556718149828b67a8d8f5e36a8d86d5606fe469c4180e96260040ae2f53d41b07a5c968abd9b09702f1a8d749d250e930e44aa94da7497df5ec6a574259075203a569d6ca9da8c979846a535edd1587a0869fb3ac65585ecbdc0218b4ecd7a0d9b27648dba3dcd4973c2f78aa12390c6bd7384446182f65e1505e2c468a3ee559460abb116be80365ae24024ed8388195634412b776522c24e900afd711c8bcf833379437e9876ef512bfd201fe3e194cba1ea84baddee9555c8ed6991669198849aff415824fd3a3f200696ec40ccfbfac627557a23ba4a5643447ecbadb6b124ab3c3b49f62395996c443263f05a9fba0e92e35b4cf53ce7830d568b8eea1b122561d340132cbaab85d9b7f0e1bc9529606ee4ab82fd92b462f5127d1eedcd3d4b7a623854a87b12a98101ba7a5e5e13fab1ce19b92f5bcca42afb563574734bda27460eb21766f150429d839550d1699be7569ec7abb7d4ddce20911a9be286a76ceb3e124a75ac382c22db598373645628d994a7fa1d7649675a891793c447bf84972ed6024f21a8787f4a620bdc295c14c4cc9f15e26be9cd2b3d1f49cf315dedfb03d64c4fee151edb00fd6bfb647cbd352682b5af16f11a94f981dcfd39871be324f543da2cc11cc99e051f973549dc4a681362b9cf4b0cfe9fd7488544e270885c3089a311fd31e561930e3819de923f11a57ecab57e434f83b8e62c2633a4dfe809d6c76292e2872c84b1f0c009c618c160117e42f2a26e30f5f20ab7f33a62c121ad1b87dbfeb35b1783121efb134e6dce264a77320789a956465fbd8dd37b6cb077b4f62a403e8686bc5796933e378f696370090d88d1d9398211027189f0171a0d0c272ed598135abdf2dc265d2121d2992d71269503989adf89df1a42637f7e4ce1e97fd3879d1d3ce044fd548d6837e4bc9e0c1bcfbc689030d608d02860700c4ce3cf2a84b561cb06a0f6c86961a6b7e6bc1d92477ae645d07d5da1a0909d2c36bfed47ed5ee406931807ed5a21fdf46185ea2342af783c03721fac0497ab23104add30a6346aa6b12c3a67bdc974e492852aef33ed8f30064ff19ca017acf9be39071f6001cf3fcb007cce532aef4f067fba2836617e029e21d7738a6905196a20eacd9900a26de06264d4ec1f0548faf349b79e8e08a9bd72ba113fe72a1c8b2517b039db53232558912cb8db031aa267a7b29f509edc2b9f5397212238a845bed6c9d330dfeec488c98498ef6cc1fe02b45dd3a93faef6c344ad2adbf313cabbca7aa2652015a9ab1b0a7bc080cb1b11a1d14af75d4512fca039d680a1d95dfb0d0fd0b0f01ced3ffc2ecb6cbbd089e0b84038f69b82f2021ebfe6a5576cb1b194399fe75cf252d01c7e5d5d2684c61a36d1d8c28cd4a65e7095d13b5fe939257783ad2a09fb8c3ac672345dd829ed061e3f608f467a124a7ee6217d9b952f401f104333e1cdb49e6074091a20489ffc4b25d3f2402d8cacae2595d4b6c837fc836e5a06fbc592d7dbf2ebc6112d9b5fcc4eb3ac8edbce22852a34b1b9fd6367ebcdb38014a6601b8052d12c1975f82005a5bad56fda52b2dd14521e9ee0031704d36f88fbcdca3ae95148a42483eb57f1b28da613f3621798cd854b6d154e3c5ac1d3a4380ee463342e428916a0a46ff353db12e1c7e2abed3861630084ff6fdbbdb41514327e1e2be25264d3f8a57a1d1fa4c2ca3642173dc92d3503421dc924f54eec39d46137ee2a24546681a8c69d185ca18019342bf00ca4464a0ea6b57bf7ed61472cba4f3d7271778c23af1856612b40188ffdd1b10e186462e0b7fed8a7b7da8e028749de7a5f7b8902745a0db3849cdb7cb176d8bfaede84c0bdb697e3b95f5f227169c8e5263bffa5ca48aec859baab383592d8d6bfd68c763d8a93e42c28d7f6cced3c03cf7cc93a03500592fbb2cb80253487a5d826888c15881776c43e5c349bb3757e23778bda6022cf9408ec4e9d4918ef609e5e5ea8c52aaeb3f7e7864322e693bb5c14edf628e6ea1fe282984eddeed6e6b565b3fa2768cbd2e571f415acf3da4d29ab3cdde1a1b8fd97e2d4184d213ab2bfffa4c54e3893d27a25a333cdfae6f68ae3b6d25c2da12bb230f986efc5dbf2d92a9ec2dddcd651622de698d3bf476f804c13c002930cfcb9f77a1414c28740dd206933117f87ae9139289396ab27b5f392a3141aac3730be2592696911467ef17afbbf3f50231e479fb74cfc7c53ab4e509affc6b8d0f98e667397aa3357bf77e3af4b86360d106ca74eb5b76bcfe696993f4e8055e903e4fd49ea048496031a0e199bc30a12a7524a0edda323201793193561a3304153d213179c9ba6bb9cd8b2ce6f6804fa07900b623a08fff987cfe5a56a895364d5d539af60ff16fb9b52ecba4ff9a8455a05a4ff1fce2cd852bb81bc04391101bf7911d888200ed8fbbc2b44a9da02919a9e08b002fac0ce5008351e1168faff9277723a485cb42e88e203383c0bbfef602dc5db502b681e05d123dee0fde28ff1b32d72b21068e55c183c4e421c4c725cab51852cf862c7b1d6ece200ecf7913321fa9d84b50bcc419f554929d9acfef6716666eed319a1f32991640109f82ba75b644b93b34a86df5d46dbe636aac7ebade56f1a4ffaf721b1756d0dd8541760b6c8947a26d4f6467f663fd7336e16c8113e39fd9da86f707826214f7a65a8e02cf0cc8953140691ef449d9162e543e3c4370139ff17263890f3a6a8a7459f6870782ebfd3ad6539535e75a9771f485d37147c0344e4292bfc2ba15dec809912f4f97804400a600d819e98783ecd567276c0fc822fc780d5cfdc22813d910f486e25dc1a956f291d8d4f5740f189c48c929c4e245cb198bd21072c14afb8d247d49f32fac7d3f0211f8817568c28c26a8103c22e1a26660b30c90bb68003fcb3f89a813cc75846d8247f23dd3a3ddcedd78023c6506a608c35ea95a704cd15462e70dfbaa90046413c426d15f43df59def3fd1d1577fd0677402aa1d7eed762153f62c96f393637c2f984ed53dd7845494509f61661ca62d48161d2887596c5a232c33638c317e2743c9db58aa52277b785ec6fb42854752b3c6de00774e515cff89ceb0261bce194e60fcd9f6f6e7014c448b526af09c74884d3b724e185a822b7302f66bbd73826943cf1e5866c3382c8834fbe618ae7f8404a77441d38d9c0c3764081b08abadaf2399e744db0dbb2f9b16fb2b527096283f97f7285a6adff95df0906bf862de1b587509c735fe75c275dfc44c142f8313c49cd7ea1928daea250b0febb38d68f2541efcd49a403349dc77d605af0267847578da582276c7223b7cd3356820eb3318e2fe459e8cb79020bc01ba07d651588348bd605dc6e8f486aa2a3886b9e3b1fffab846b416ce47c96c990cc5f62d717aea73b4a9153843672a807e775d354f9ab647d4db00e1faee0adcdabd82d5b70d8eb7db523c3a99a1dfaefc2714a169d9427d10cd6f6bae9c56d1af68dd4858610950f17c6925b50e094af178b6fc2ae82ab9d91146642ee1efdd11b3ac55f9173e90756807b50dd56cdbe9ed425a7641440fe4b71f8524f0854b5a4e5fa52683bb1f4d28919a63dbaa281cadfd42b8df79cae27e0424ced2dbfc7bfddd750359a9cf3e15a8d4f7f8d080115716b715fe9bbac0e451b12a5312ad8cf6dde82e7bb6e186000fbb3fe4cba6349c7acae722c61043015fe5edb42c994204827aad02827e292b773b3aa352be145e79362cb2d56c3995f5419cfd83204ddbe3456c9979bf377b46b97a51a4027ac53641bd080ea81b5d6e82247132967f01385b066e67e8c72088303c7aa7be22a3d621c6e6d483c51f169e0291054e6acf103891a7ee61c6cd8382ff052b02be8f22bf15f84686f7ffa5fa4194eadb434de41493191966dd456f3de5748d91f9923609b7526c149c3d90bde4c4a2e5afb4ef750f683451c74c14a274cbe053373122fd4a0794a5a09b88ab02cc5214323df78fcce62d9a197a4b4820579501f5ac9a6ed97121a0b21b3f522cf313df4636c85d9e0490f0984116fdbc2e4687a6b6afc1073bd92d33757996e2fcbafe964a0524e4f8f1e1b230121721dabb8e06423c03b202741eb5c7710d1d34c197ce6eb3bd73bbeb8f8eb9d7fc656e26b47f9b8a7ba096666f11b9c8883cff6f78db7489eaf906ff426230288d9e5302007a714129a3d9bfcf7fb2b072f1bab792a5dc67c36ad4def9bcefe141552b16e81492cc88f2ba99f36deed6e04c6fffdece4f770db460f63f83324d57b5df994a3c653ce0170e3c9b4598eaaad489e732e8c1275c1796a4502c9423d7f000dcc017634f7cd0f52e91352b92fa7f1e534a0769484794e13323abc806bf8b346e6ccfd9905a46abd772ae2958643226f4d1b4cf8d59c2b7a6964e4afa46e3875541f0a5354a3f78fb126355d606367d3c55e5c78255acc8e3cfcfae8795f39bdc07023c8149cc6f4ec3af2ebe1bdd24f2eff9632fef9862d36e066ec89b94e7eda8ac42371cc231999feae5b953cc138c53af87f92662c0216c6448096c1743e27397f3c7765505a8ab82733ee2bc194ec252b1705103962d0230cf4f9e02cd9573be34356a7961d6d0e81c1456a2be3b07a5bf0928ca366c0e79ce1c1a18f2e235ab6a13ced65a3bd55f009e8b18c2e0b0938cb866b2727a191ce048dd1350150d0b7f7e679a034492fd54ee3284a78de122342eaa9fdff20cd6bef57500c461596f6e84ff054a71764c9c2b617d8b6efcc34d4677e0eb857139466e19417a8a0170ddbc1c46271f83a167dca72fcc801d1fae9c054f45cbf0e71e0131311d64e042bab3967c2366404577933c5c330f90c30bedcff7f0f8a4287ff233128d8d0a8fbab918b3bd27123a815fb1cddcff3f022bd3c2dc05c40978fd7c56dd3be158ba0966b8de7c3e166d7e628eb54be9b5da477f371db15eb90b8ffacedb9411d34eaf7a4662a1f0cf0146997342124fe2bb3c62cd4dc26dc6830433d7044700927abefce39d596a71484ba698827351f0d07a2fd6b59d8107e71495b385fad63a1ea34e4fd6d913b9d6a0938170cb203a78008c4ed2a9149b1fa973d31cbb3e1deb57932e5d927efdcd31b0ec17d5143b07f6656b884d33edbc4e316c8634519d5a8a6ad437d6b2e1424a25a9188d1e45fa5a99306a832c1737dc1e554f8b03fbade3d007706001c354130827ff5c7d69d9909a257f8210b3f9491d4230313c27e4d249b1681c2f60a1b98f7014c8a42d7dccf1b900273d8f9fa3c42e3f841d09051e0c72a2513ae849058001969261df60af4c74758e67b9cca014d6a5b501494506636657fc2bd2c20bc377fc538d8e2d440d7dfa3429a6d290e82649306259f27b9e81a59cce327c2883e3c278aa7e396942ee847e299ab7896577065a943a18c82bf2064220ecbba81b07649fb63c264fd40a9d7a26b91c4f1717240a69aad41c7608330af6486340609deeed922f8dde929ebd661fddb7a44dc790abc0269e42c367bee84080618b2cf13fd524a84f760efd7599322d279790074a1a9e2539ae93ee8a34a53396177768fdb37a85b81e3f964414613fa55cee556bd69078f3da96d2646823124055260015c8d787371ef2873b3c98eef32ccb051506c35392f4fb96f7db631b1682edcb38caf890eea53af59763e612aaf48b358e76e6686864e85219351e49ae26ffa66498c14f9d430b4cc62a8d0ddfe4ca483c3112ae48c0fdf6fa4f285ff7d87f3b64fe3df6496b768cd15735bf7bd44210594cd5ce582f0e383a93989b010a347baeb7fe1b3c697e8bc825828693ce2a4648838ac1c5e6121b1e4a9397b4c1ff658088afc1e0374d929ceafb00000000000000000000000000000000000000000000060d131820292f35","message_root":"0xfda2aee8c023e8fd6ec1e7224dfab4447edcc382de3675ab8cc80dc6c99a49be","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x80697e9482ab8323fe56c63c616fa534dbca19e628d502bda55e896ce9950bf50076b57dde23da20c3424581612a3c052446661f892b4977a2fbcfacc8929fdbeb4e79fd4c0026c0169202c5644c4bb75ade8b4f00029291855b7d986f03e51693f43f57bd7175857693c2856c1aaabf38c8ca6225172c98acc5919b5daf68fa2673e9da6d9be4e2c8fdcdf7b66062368615aa505825915aeb3d6614507c09c729c36783f0ecc8bd232b657737190f80f2d9d48ecde7281337217c4cb2a231726eee148340c1b356383ca8d85ab3554a0c7e7d19b042bd006bfc89ed97078a75cfe6c95f53589cbbba7ca98b3679eb99d0303f0d2fc30c66f123fa04886789a7234307dac4d5c4cc91d72cd165ca310be9a6014b93fc51d63854521845e2ec2383792c76ca03140ddad5364942399c9ac52c279fcdf6ea4c5a3df10c17afa5e32c75025582a32a357fa4efee3c341b46df692e8451ea760eed9990f69948f27a78d9f29f3f51b2199dd108b2e4b52c5520e0f9c63be6efec450f3ec0947016be7569fe1d626cb3af87c561c8dcf34c4c4f82845f84e0fdadc9d6b7b9f92bd7ccd4a0cb748645fafb815d9a630d15539d4a3e7e8726a549da7b171569cf1ebc2b9eca032a1caa716c5ebf2e0e179c01c07c05f876fc5e423cc5d63770d0fa6333533fd844b8158a8615c219928067d320f445b044651e4621d8c4dff368d7ead61665d16a0029370f562d4fab2c28becec9cc6f8e319b8f4b8b4a851b54485d6364b060a209d010a6b70f1e03b574fb15c59cd982cc049028dd0601926e9bb128585b38052521f8342932b7feed4a901d50c7bf36683050acb04cb117bb4f7d60a3c2c58c99e61c8a39a75c71e48ed276531e308ec42e0c1bd48d63215373814f7058f860d8722314bc3ea9b37463ca919f11144a85ef97e37a6cf6796000e9b8e244955c100ed4a5a4ff570157bf5391677fa3176a1eeef2a35f0675907dbf2cd7783be7baf1b347b5a233522e83ff74652a2cb8a39ff1a1a86b846992f0f924fa0ccf636ab9385764c0e809e572d81dfd86a8fb21a82b709b76d0074b2a31cb5fb40a300d0088462de26752298f7c8ec856bc7bb232c5592e98adc38a76604c42232a2d2160fbaf4c9fe489dff2f9a9dfcf5aeafe92b0340559bafed4ac2c29efa8e5542824c579bca0b2db49695d1820fe40f0e26c6f42979becbcd1ec73b13b47ae0d1804ab3f3f9aae4daad8893ed183cf5cebd8787fb2f5463c5ea2c08c85d4cd55ee9451aaa07d6beef681b0b927a84333baad2237bfbeb99ec55525c7f5c51866fe52608e004d16f3164851414f9ba2d6d7464365c3d8eca5ecd02a92cd07c005c8a8a728297a4846c4d5c8a752660d10cd1e46cf93751bf1e3977c7a567dc08e78351279c24725ec2d70d538a1816865e12f153dff0bdc195c1228056ef0b6f9891aaa12f522a1a0f4ad1d04fcf767b3907aab9e907dcd74a6238ba40515793375efcf6b8548cfd3f3f6e1c9efa266fb58288b05e11d7d8340c31ea05876f94ef5406326bc0aba6b1786a54f8ecf5bd1b5e542f4918b2c551ae5579dbf9c4b81f2c8e8a1f7b34ca3124cee290ca9abf2f6cde475fd82fbe3024e9ba5e02d03feb4d856ed115cf8b7814c89e556753b45b87a439bb69f6e6e5bf8fa4d6f7c2e4dcbb31b0e703df8972358977255cc1847c3479cd4658953b38a0da6a2682564cc5377b6001732053d3e21caf2c502baf0380a8589d21754a7f615225a482a90c0d9237935702ae801f2503c3ad2168908e2b991c7b95be4491f6f87620dc131b8202eb97df777b8a196cf4ff2f523b71e21d96e9508eb1fbe813101b277b8939d452b891ef3210b4ba1f3c08721f85965f288f26dc5227396e4eebec1dfebba35257b8e05d3e11ef01d211120370de6fb5e67d30eab61017b593e4865f35bca89ff938509f478b7968cebbae77587dd8410f4640762fc3729ef20f56fefad73ae98f7d45ff35cb32c8ab5c7bbb5e3b0bb72ff16cff10c248a379de2cc7f15db4fe9722eb9b485c1949b2704f3223168e41658bffd953c1b534af75125dca7c6da96f6eae12b14b97d71bf5ee9a5b03552f7e5014e081b8ead1226151a19b9efa037d81d69786138b9a6a4cdc35d3108eea45ac0fb1ce424fa7ee01bbf2b1511d575aa305625a9f5892ed149a09375a7a85134d14f0be482aacac644c97a829fb6d401c43bc2a6e05e5cea796b2960fe07000f882ada55f03203b643b852e013749db01e8b81a85ca97e40dbd0bc4bb8e5eaa2df109b2858566c5744f708d5b8d0c1dab9521039431374e80ef306de9dce748f464264a0d31af1d113d9cd81174be529d19072b4892108f81e027bc8de3d6134e8f9f6bfbb6e940ac5a814ed091a0233e9e040525d82c98e892359ad566c4cfb135c2cb099afafee310411bd6837c213718dbc414947819b43ef25820b22660bdd292863f4f4ad416154510d17bba95195388907a2e5227e550b6c783d9538edd3df4fa2edcb69dad97e2623bec6abce157276547aa13c3f3f386dab15ef37cba0287716d5c494bd96c7d365525c6aa4f4ab5d2eb61417de039fa78135f1f7b4ea050a68e5ca83a48c9a42baa3a4b0d444d4f30e9f9f1ea6b0f0fed8c64ee02daeaab2231089acc3399f009c7cc830b4672e9bbebb77da55d0bbd0f95d8e93805b92c0ea024efd152dffb022796c0b0bdafcb2c4ac9eb853d5f1b3f732e5aaa6c95c137ab2095226bc94794c82caca7f3273bdd62a19a2b0fc92e60a2db20717eeee1ffddf7382df223aaf9da4e309b2487bfb3a93a30a23b0ee476cf13d938a8379a91655172c40dfc7629dd76c33e8ec21c10937cc72f220eb45bef93e50c8b49781b78f9054ae466b2e2fb456d81e14020be41e14b8c0f41b19de89f82f2559c3f93858f3c7eaf6244a04c84cbf861355a957a446f795380e4e86596a4b3b011b81e810c11c90ed790ba5957d8d23db2848dfa2bef03bc9673449805bae95ca09be40725f866f91fe8be39bfbb1b204c188a10149957d28a1d5543abe35834b641957daf536ad9ef13873fd63f89f2e5ef9adec45a2f2471ee94d0044cbed81be282bf8759e9a55ffa6d9865b9d3f748f1057358ed9538b6437587bd08caeca88caa7748f335e1339bc267855aecb0096d372c9f31b0d425678b722e62dad97a97f47afbe913fc44836fae9f18f6e6b045f52b47768210fbd3fabea091c20c7986ce87c179047c3b6cb7b0a60234b93954c967213d6ed14fefb0730b341e91216ea210bef39e649aed7faad67a86b48fe003a7359982302218f5cd95e814db53a06ddc54d2cbe336abf2cb7ba685fe974fbdc3162ab248fa7decc33023d6b4f1cdb5347003bfe5dc060161c903927bf0e1873e5d30337687154050d2f70241ee250919c7182724d3bde1d42872471f37e9abda6948d5cde9527d80586be7bd12b4bfea140dcc1831bfe579ed7582e917a3072dd87dbfebe023c17b5144502bb036b90903c4b669f237e9c7e6c330d91efe02a03bb5f62013e8da0ad96f35a7300c3a8df8af56b72dde8df49c31e3ec0c3c6d98b2d6c3ec1a77f1e9cd04ce68468fe1c2b6711add818d5f2fa4eb8f53a789bbdacff10bac0890d56d90371043c2b717c47294f372e28","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x0c50fd8c37731a42cbe0b557b0239e82fad73d29060d2ba7c97d38d8fc7a1af3","signature":"0xd2c861af3a02d03e2993dd004edfdda0d6ea86d5325f28cef074cbf50cd6c76959b82a564a66d0e11a504676226615c9d36ebb4a9aa2e933fd97be2f3499824d2290ffa169eb38e1e3ed359144f8a9effe5e7b297beeb151d63713c6e81e87f404291137c1aa706e78b130f6ef8ac1e383649faa5b30c63b0f797a38d973c9d2ef2109e1f31365d680046844d87d603d61834efa5d9b1cc43115bc0ec67396565317557323d12076eaceb564243dbb251779ac59f31adce71bc670469d0869d5926840897f824c3b14e294a6f1769e4a8d62ab074704307b243f33c617652ef99746674008715e27ac1e23ea3c653bfc25902eafe6ced5a0e9d513c3a646db3d8eafc17a3e5d5e01cf3efc84de2b4b6a5986400dd329053753a5bf1d053afa59d10f27c43a9fa10d879b7b4b720dc42162fcd280c7325afbb2033aa6cd7ba34e14084d78ebfbed762b575ce4124d270b256b52a0bf17f96218532dc4be4be35309c3612e12cf9382ab7e8fd48c1bac413d487c16a4869cee9c0419ff3b1ed2f036b43ad604b3c3ed67424a2cd86fd5e369a860207eeff4afc0a8bc96b09b2b3a2f26e783e86afd5256db3ee5ad25525a9241641c4cc2ae4927a5f9975e22b4dbb3448311ff6bb3a8e6a452e679a232c9a29de5252f707724e4764bde965430efd5fb9d81e4a33bd642c744a5b724e5fe58f669255de08b96b21037a9b3cca18ecfa0ba431cc99745d403b2beac0817030c009bd5c97cc166029f1fd7e73ac76be9c9ee188c68a371a835c0cc20af94c81bf8d7e8e6378e43d515d77cd62a04997c7f2ce4b1c78c8e738f5a87ac360987d9566d3b9612a6d1ffd3a0521cc65a881791448dfa508ab87bafa85411bc0edf658fa702138509515e1c70a97f880071d95e95afa22b8955c94d2422b9a386d91246374211384869e524171ec0efe6961a8989c6bc3fe86412c2d769cd5caeb711ef6f9e5f60ca597a195e0c7be4744168c40c1ac0ee6cf7477f5c6796d73090b0dd438de3f8b28ff47cb2745a8af0855333a123a81e674f54139af45335a397160f473beed55cee83ef12a6b13cbcbe257262ac18d875dfe6fcba3d1d1ca9cb8a0433eae623a4cbf413ad1336b62dad18e684ef2813377b87efcab354f76ae45a9b53f429c35bb8fc9c95285b2f70818dfcb7ef32dc64ebfb6a568161ea92228c94fac1105ca4823fcbda4de61057e5ab7462755e95abe36f3007b62a8cc16e985793c0d91d6d5f79938f85897e1b362dbf20930c0c3b808c8e642e3e01d08a8a6a7770bf60cb8abd382babe3e7bdfcb90151ae76535841eed2e830b74ee4ad4cfea5f19d2f9a6883beeb23611fcbd0fb9c78287a8e2516daa3920a2eec9a7d38232aa66ceaf5343130419a7a9185dad09661873fd495c2ac08fbbd97df82fed5e206f1bdb6eb5f99f68c5e4cd574d574509dd784b130e53489dfe95334ad0cf9aa8e84c8f5c0c3b20aebcb77f4bbe39dd7b5a4aa4d250b257ec1eef49a8529f6cd6903e82206afa60ec549654c8e2048e3d7d4231a5a5cfb731e9e301986e1ede7d9ad2af4074751cbf28ab1ad01083a5403765507e1d3fd5fb1d5055ef411b3e0918f29b4db63463b4a396fcca6f4982ccc5c0593d6998c437d29db0bc8ff3388eb30ab9393322276502b2039addf1563135baec7004b07ba8f7a2322b20cadf328f50a186219a0728ad46c7b1e23f48a81e0c1fbfbf21296d5e298bb37459ae37b22e9566a347295400627655258b0d1e991107c47af7b12175d4c5829373e9e942e0b61e513b85050479a5d31bb1a6d4886171cd33da4c6801fa76f6ff618d333597e2c2b90be37c123223820630506e1a2d12030e49c496e9f6c41a11db8b16f2acbda1d7b42366c166fe517893c93d7a1f6e09b11aff5cb682a2dd31eff88c715dbb3f4fb863759aa69e717ef91811e576d36c4b28c6f9a3198131f9ab1a5074bb603be8935bff26fb26fea5a3886c500cee02e7bb2ee8aa346b667fff14a4c7d46811fbef4db09fc49bc2c83a62968201b6fca3a16bcea697270c5b48a92529cf054f5e9aee0cb3cbea1ce8bb821d3ac242de701704f2d177836f16d99937b081dc4445fd762e15f345627d1a732d7c8c62dd3870251b5c54c883c4f10f531270235e143932f2b7d1771cc783812e44ebb6efcc13e50cfef3b00a3605fd06fd3805aad9ffd9f9ddd170e3f24f4a5791cb43f32d7e097d02cc1d72699bae98351f5b953ee73fb13795f039d1b22f0044b12677520e012bc934a449f028eadd14879363abc08a41c9db386b4d333ab393004d4d845e6cdf32aa24da5bd5d14df553518562706b80c63cfbadbc557eca9034adc9c10e5221b76dfc6869a0dda070c3510435b8790f92eddc0bf8b566635de04359bb4c1f1cca8deae9b308eed85e8e102afe36a4603becf71485656f44185a54713fa5cd600ba6fda97f57955bcbc7174be91adf87b3679f516e0981dfb8c99faf8ee10e2c159706d0e4b20aefa092cb3e837b1d48e8f1def813a856ea82bdcc23d65a2955a9350247c6f73a1f9a9b3862c97b3b0f7e04538234f94f21b5a340cdd7932395a6a154aeda517247e0e62d39a99b03143e2cf73923e10c2b4715189140eeca35a2c156c3282b7236609bfcbc329809eaf8e9985688ab6578c9bd190c833760e73f31765c8a5e8875aaa621bfd7d97a113bae8169e4f943bd4bec83bb1f7fe0f575089b5be0791cb34e0b68ddd1b5d12b387e0391e569243696894bbe267f79a44ee53b3bf373193f882a36d5dfc3dd8aad5611d2f85e4e4dee444e10a0332a5a54a0dfd23b82739c626c6b0124e412bd631f07f5f60ecb015e7190da927540cb996edaaf79fdeacae6a50c91982f45f77a904d08efb34ee4e27cce48638bf0d0971bfb996bd090c804ea08f2f97bb1f22388b49d603b0585909b0d49b79d37c34a8fa68a4f63cc7b98f0060f1eaed71527cb55fd284be987e659811bbc92223235266a9cd6cc763e815ee8e25db5e86b6ca1ab47fab52ae0556a0e217300159695624e921a0e043f4584fef60343c6c4be862c9a4c01f821099d186179a6ed72090fce86dd4a51e417f811104cfdb7b5973a88571d8871900249e44a7782583866688ea1a0e24828a8d6b10071c6ca33012d36423b4d1391e76aa4552c4025cabc14acee883f602327e9ca5cefdf08e65c3691f4bfc61426760dc5dec6e00ddd727c3a4f913aba01ce7acf132f073f55260a8edf650b9731e2835854885807cf54d4a8663927febe5ee57ebca7c67feec2ddc058e01b1a058604b4f55df13939f738aa4ccc8c344c90be2b5b6ae7aab8e153486e56489321b1131835ab8af1fa0ce55c0ca4d98beba60e93ca3b5395dbfd57cb693c4b1a8552275c76774930aa335c1bce0c5be69bf6a991c9107dcde48810a80c2bb35481708cb42a7e0c97744dc4bae0c34276cb4a6ab68b8b48b5d04f2e26369b41e8907137a20e5864111323cc8981111c6c921c48283e1907fd43e1dcd6c09d6630487238724b47df2ea4815d69018ff90ea7d45a70ec4a4d4066ba8dd17237420452c9774f8bf9df6e2b8cc15e10fa76b40bca62df3729ab3660fc350fffef83725c4e97d2d36ea8d72087a38f36b9a2a7eff7ae55ab9948f1c022413490e2d3a7a7d8927b305728e1c677d5f92a2d8ca0cc8a9f4baabbd904ca061e2b5dd6a42c87447ff84adfbf7d695925bbaf043bf1d1222b537d3fad71821757cbc122cf7effe9dd001a76744d2c9cbd6565b162b0115554cf20eb326b90e0ac50799fb8cfc696964af0e388a42cff4c1a960e24c52fa2d3b9091fbc5f38458d9652369178166a284f84f36b7b9c4667461d7cf840b911468b695fd729f3868d4841c8cb934db8474c2fb5762840b4ec5d571fea7f8fcf5897903320861b41bf7b157bd159e4d6c9b4dcc7bbbffef8cbabd9c488becbc56b0fd091bec4a1304b13ae1619d2e28b2daa0c83682f9e9ca830440b4f54db341e39b7e27671802092cfbe3f6232f3437c0906290e317dc90b0e05666b2ffec4c01603d862e4d33a560050bbe6e7308452abd5daae0dad8032f7f573f9d5c46064f4aa420890db62bf3eeee32704ff33fd1c822ac704fd00b74e89a0ff4295317d5f0bc60d046f7ff13cd77590a8c9f496ec2a00060863cfa32062f450e26f67fee13665e3735b2661c33135c16a2027f0786731785815d8c2cc2afdb2470c20a30d8221c0db32ce6a9ba59616c991a441980d098cf2ececfb73daaeece3593323ca25a75bf035f9c588a4b5bb4a022ff7df08f52b22a790d830eee494bf4dcfde4e7cb5ab712c0f8e2e76fef4cd2f7ab92de4e476fb436d6fffd651de6e70ec035467cf606f84e87c0f599405195add2e53fa1db2c896618df06eef115b65336da7391e8d2c32788cf463d846b2bfd5499cbc0631167e30e9589681bcd101b43f0d0934fbc1b152c7c25a36f4d3a1a8f5b1d8f6cc066470b15d696cf74fb16ea2fcdfcda2d3c29c228c61a26f164f5ed8434ead76dab64fa7b3c19c24fd8de4846ec3b1dcfb3a38e0ee1825cd0cd9dc0be2609a8e6e1bd9a92540bf84eca40babda502123bb42f40a4cc576a59fe29a51015dffff7875be3913a96809473ab604fa6b7774f22c8eba9fb5ea70149659aa3a691287f0d480afdffdca43b6385a4a6ae268c5566672d761b2f0496f7c7bddd685ce31f2b1cda85f6a5c9caaf9ecd4c86ec7288d8c56884392c03f2ebb98c600ec53ceae4942a69a95106d6fb93f3f773f831235cef467c87315b03b76a36de89a7331053f74ac4e4b74bedab272ca11f35aba95d40fa3150b9063e403f50ec2613970d84f13326a8fcdf8baecd0855ab7e18d143ef0de6784bc5d93c4638b04843371a00b5f2dce6daeea5e9097756680ad0dd56f3a4f31086120473bac63b56650fa838d98b9919c06fe940eef03823d2fc62e34fd63d1e4abd163c8949cbc65875c0af07bed3ed41d824ae66761ffef2ff4c75cb8c1f04ae630acc7bae7362e460951f9a44af78095b035c1b9f1809df6169e945bb7c0e4f443a3f670b7d7e63ae1a86b614c4445176f9473bc51356ae4bc36b136bf539666fd7076ec81885d5acb08ac251c7b1022db2d59a95b0c5401ecb38708fb21a4ea8d2d2d73df84f67febf8829f4d6fb7197fc606e2f048e417edf992b677b24d6f8e56927b67f4e3d7818f36b2fb39b5e99855046dc024af0909dcd39c383253ccfa170e8ce7c80005d3886156c4630944d0ec3ca739251029989df581fac3b05e4dd7bb047ae75d8db0517f973a798a9221ae67cd87eb65dd8709b75a68062f522ed9f514c5d5047d31360150853eede0f8f4c88ca344d4dc6c5b317befb039caf7ff595c9dc778b11fbd951cfb2010cba6c71969237797aa108fa138ec51efd73af430fa312c5ee7a7a5b1f9b9d50b36869b2ea349616c689f02e17864362d213abb252decd9fc6bd5017865935bce3cf21bf5194928d7ee033d476479be5047d08d3eb31ab1331eaab165c182bb1215b2023a8dd8480a2c6a72561e34ac0bfddc40796a3227235f53ce6d9ca647cd7e581ab86eea24e9c0904395a75d2cccf60a04e72d8054fa65b639b93f21a8bf10d4cc64c65afd1ded938bc0ec343a98ee30c20f48a0ac7ae2ba22a9f9ef69539179d94b57059c962420647228ef104a0806e33cdc765ec3b1f23c0104756e1699e1445108082082991613974afd7e467975c0fbac41f416724a557df90b061214d3aa254a17a60242fce9fd1077374cc936cc0cd79b2e82e3f68c145a2ca2f7a6aad65ac34465bf72bba95e67e5f02e3dff9f2cb5357de99e98cc2519f46b8ffe5a0465e6071c4a0f84dc458597ecc39e17a2ca56ae5647f2f4acdf4cb36615e7518ca225a35b668796ca471463986ade4cae3c4ca9445a9c3aa95527daaba1839505e6231d0c4736d5e69257c2bce57420d47869268ae2b74ff3771daa9b7b850652352b49b31661833174cb4fc9d9b6915b09be3ad4fe392fdaf77f567e37fad9c73b798efeeeba4efa59826daf7227e60c5732a561528a12e543a3b0252527739e09ea1d875606460a28cf044e7e839cd05b83a928b605ff9a0d6ff6654f5729ed1ec3be3803b05ee41acd690fa24d72d73ca0b16255c47fa0af18fdde1c4dd9511fda21e8537c940895ecb67785e0d44461dc9a8f96c861eb1c9cab5fe23a1dbd3c3932a1777966729d3872639dc0b400b7e01e930f33462e8f63d350f0f66376042b386a5edabc7684918f9a41f00f69acff21e9e3b9f001ffbbeeb8ae8f1fdda6e8e6ea5e58a76e05498c8ce21150626bd7e494e3d5476d6894fecedc02aa9d5989d5cc9285851b8d977ae851acf84f18cda5b2c0e038d2fe477a4f99a3cea52934a6eff19d3b5977e912451e0b20207131c292f426db9d2e8101c287587ced60517565d1e417b90cbeef70738526e78acbe3467a6acb6df1b6697abaeb3d012757d85abd8eb000000000000000000000000000000000000000b12161d242a3138","message_root":"0xc83211f886fc43802fcefbcfaafc780f46974aa0305da39a402c13aa9b2fe8be","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x54be3e77898c376d46fc352708848e60d9a2cec984a93643f84a26172f480cf3200143d7f1d909e64629ba2eaab6e3db35d8f30cbe05ccedc0498a8c17102bb06083ae4b8f31262b609de77b06c1cb73faa15988b7fd8917399dc8ce66ead04ccd0c94e0483ece4aefb4a5b5f9462fcda0918816d896b9ac3edc28bd35c4c39df5e327786e6609cc712b4c383503efa1c1d8fda0c815fe2687f2689af7de169b5a717ec8dc8cd4e9ea93bd1736ec1d34ea4e656f452003ddfd42f0f79135b864c24e71c3d8f98cd64c427bc08ef67818e000785545edb5256dff4ed27b9e1e95c62f72a7cb1116a31b46764a593691cb2fc9777b49c92dbe0176ee60cb4ecef71f726dbb459ef335c1cd6f956810a457c796510f374e979aa48b269ce3c273e5d86bbbdcb53783af425b66773458b789173661eedfd6710901af8a88c4890562e5a29cf1b61258a9f1489f8fdf78848a6943de8bdd96ff807ee7d30755595c0cc45b8100e0dd8a8a7bb5cbbda74025e8678f76a5638cb69be4690dd2715d8c15c6e703fd183a96cca25e040ba3218e1b4afb0ed64062a045aa79e2a3a21b98580ac8eab194305a4e9480f91bb7f94baae8011233b8a3ad6d6eca02b5adf96a4ab8b51b89b9899eae765e786905f217fc20a9245560b976cabc19950fa5612a0395299b85852675c7f09c2b6eb6c39a1fdeb0d1068bfe420ac8447f4472b7cef66f0ecfb96478a5543fca43df52ac0e6d025f598559c00ef7e8256403d0c2bf1569864857981b15ba8bc336c5ba942dd41de7bdd4db5ee1e67c14a8955fe1e20d04355ede38f0269554b53f219a175956e4820c0e33f6d1accbb93879b0cbe8cf2a267425c48a1a0fb5bead0491f7b24a5570c7a5d6557bfa882fddfd777a3a5f27b8e2683534ce3e9f482ae191e2ec786d3829324021f55254f5217b477196e58eb7134226b416e9d3b9cf4fd71f0260ad1a75771b4c0e2cb4342359c33d2d2b78c25f9780f72e02e8bbe25a646dc4f1e9e334a4219bec40c314dbad9e178773fa3262d21be5b30ce3ef09b9cbe0725973f3917d25b3ba194a3040d88e153948e9099465c8062f80e3ed67adcd6eadc749f13c66939d72de3f3f1be32ebed157f435a35257ab373c42373aa0c30ad6c5a951ffaaec953296e2f845417edd9761be82ac7718bf45ee88c030dd2277d0f1fd0053f0dc16fcc3e63b8c8edb754d17d7620ab0121afc9af912705c9c5f3cdb832a727814e21a7c792a95e83d35c1ae2d3d37df2a76e36bdf85a05f37eb3efde041bc7a8026a6ad4a57094dcb12cb6f0cc0dec06c2384db4f600364ac37995eff087ac8c4c599cef630f33ab6bbfce9b5fbce85f3ae039260930a3465be29ca2da8131bdcaf0cf53aaf602871d856ee13dd777c160ac9aec45ff98193556c1026a2bc6281aa17d1bc8ed4fa68ca0eae790c1dfb04de62730f62fcc0759cc04d925ab4ce80f490e37d5702d1ba745217456dc128dd049ef34df22dd6551348012a1bacc6b943d9af09a76c99600dc0662d6d171bae2f149bc891ceb7238a260e8c769f0ddd0ef738451214073466de8482b83195c9c61c0a4e67e4f01c10a740dbf76c36ca6e0b55ee0dd61de856ef77728a60279c34daf28685bcd9019bd8a7e666fa721ca461c8854f0999d65d5983e23870a27020d067940444aa02b640371b4e2673bfc5b377c264ed4efba0411ef219417fe77eb0a08045e0e9f473a35a3a6f3492e101d674d2e0f43ae0255ed376e8a1a759fba88b17cc4269f9a0fe8863b032765e33d46ae226fb7d9328ff5a7a4fbc45ef193df94c7ddfef91405f01faf4c6f7b5d04aa311ff07b0f33087c545e20dfe415bba8fe73ce5a7346ef306d68c9b44721e1251cd432f3d09f24047745275c3df5ee0734aca8ab56e58a00388b73949b8b00e2de24716cc7bd39796de029f83f532ff850982eb6a36b8a01e32e61204af111a3580169ea7aef8679869b9eb7d02a1056870191858f094d6bac0c0355349e5f49ffb1a528b29a74f5a14265aff752e097be8bb54b8d0960c8fd2aec7d5df064892d11d2f820abd7e56645e06286b84a867ebcca691dcad8e7127705b428569ad91ad8905738f82f8a9036902a81054819bc2efe50468faa4a090d3c7c6e231e46f866ff3a4983a8e8c51bcfb69ab4222cc41fbaa6418b3a7655bfcc70d187b466621597b22667be6247ca0055247a33c6d854bbc9581f84353e46cf9b76ae94f2e53b504bcbf603daf352384d5e18f8f71f5e80e4fdba5837de52f7f0274ce7e478d147d6c1e6988edbc1ed6d65f23e01139de892d73c13bf03e87cf2caa75465e0deb41dace50616b59da51f858dc83e79503fcb6f9818b3be26a1bbffc516c76335c01a6062234a3e4818d058ed1bea3fb8d957ac8af1b09bb680c8e1936da390c1d1849736fdcd816060e7105e1e88d0d034ce0f1a12623b4cb8b920e46c27ad301a9b80ceb7b48cf718424c427cf69b223b26fc921f7121a5e1095c87bf8a3836caef5dce5c8ee492c2d4f0f0e05e4a8a015e33dc9eca88934eebd212e50382611780bf8ed174d995cde0ab292c769a45ef50e087f82165406637f77c753bc645f7f16327fb2cec131e9dd8a38242c05bec704950b4f303c5ce71966ea5f7a9a354c8fd79cfe602dd0a28df2a036df8779ab295eef6ece56fd739323d3238b509ad7bfd3a75cfdcda9ac3254a8e013a29abb978ac27e4dc1ae1604aae2b5fa0169ae8cc27665aa11c632eae64ce6370bef97f29d259d9f404d443ee2f2a18bd4117a81ff682f58204ca109ab505af085e9bef58c2dca8d3a49a0a60def443f34571140cd58cfe5831add14489fced89985e53643c08de51bb86ea79a4dcc27c86551f9b4404bee90535eb4582dc714be9d8189b54ff8739b9d42c8f23de9d6fbd3317f3e5859dd9a5827a8bf19c3cdcb1115824cb927ee53d3b17cf6e975a96003cfe71fec74e9bd8c20dedfffc7babe99efd28580208a844c4678fd67852d8ea5e5f18e1d7d214b90b1cc5e8bc7865b40337350a35911caa7c0531e7b0e4731913eea2071f31b485795bc336ccf35e4821139b678a5867e8cc9c179788813ec66500feda012ebb231643ec516480bdcb3fc6bb0dedca69ed61754d6f519aceda6acdf5e4d31376ef69bd3290cd20a4c5219376ec9d20e28ce680895834e067a9b736accb700ade599a7caa0359c6098960b6aa78250aede45975e5decf1353450ae3ed28ca5a42d454095f345f03aa0e9629539d64c80e52d15b729ec984f7fa9d0e6f746893afec1218a948086f22663c79a0818b6bce60ddd8414b4ad7a7374f511b032fa7e55138fd1d015d006d8b07b4f56a5fa3f8f347e800c4d1b5c1d821570f92be4e9f87ee01753bfd669991fe79e096f09b9288f8aad096189cb4441c95711c4c855dc96103681493ff238df60b3c7384d334de92edf501d6ad3eb1270afece2d8b931d24c9bc3d4139dc5042ebede0b2c9b1afba14e2d753f920f4405b24d09813ca91c62ed367e95ed73b985ac930f5e612018ebab13fb058415dfc168e311f24d0de53646a6d53ee20a2ea73219d11123916acb0cae53fcbc46710576c96bc166af5bdd89698d8b295478c17fcfa7a0e32635a9913a84c50e82b7528896cce432","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3f1f8a95fd4c8da5bc02e6527e6b8ea757bb8e0f0a7b5314704d4e4c7d2ce302","signature":"0xc4501d2b87acefe8242c03c681a2c3c8c448811698c2d22d59000bcb40f9bdda263afd7c98b95fff972a180471ad7bb5758955eaaca43e9291a35e0759783b97d4d678ad0851e49e45740f1f0f210c44dac241f345fcdeda88652892e0955b073d4bed8b5d69ea8ac8524216ceecff11f9e54e6d3f3fbf9a7854950ebade551e3448c8034c5ddf1e108555da9031c3addd54f90cb67e6c51063233fe035eb32454c0ea40c4ef4ef822348ced1a79c855d225e6c44d86fa4580b9ceaa8c546368548a3383551a0ae3cff5fa09d6ea98f0b027269e2ba72786b5bd3889cb245ee31968e8751bd253488540baea6125d27c4e6cd368eff820ffa7700524e71f010c9592045bdbd5240b09b1322a531308d4d93b8cdab8961b8bf1f2f76e1e3734317e92bf11f1764ed92f1f3e1d1727337ff5051a8531466a5a115f769509ae4138cdddd851b4b4d3a880663afd8368e73f40b7379c8642ee138a11880a556ac39bdc7c2f57a5f9fc920a2c7ad91248fa65daff5d5e41e1ee63dda9235525135d9b61cab51f81ea9e29855114acb09d36d2550ba3771d0e43fb37f9b3a70ba1ef0f2efbb82121ff4e9dcf54fb0b55153bbcf5479ce47fe083cb8b6e0e49a6a57cacccb67f80bcd2c5d00bf83a54dd019d876f7647b307b0d4b8951eec9055feaa79e931fd0e28e7fb6378af0fa8e3bd4136c406f4aea0b4ced5f7ec29d572cca61b36cd8f89023b68aafbd10852d1a1e9f3a42262a723d747421833ac6fa35210c830a6955093f8b6650971b2e0ccc70064001e4dad68dce9893866595cf58b47083ec272ee08cf65d10dd41043ad13e15e9b616b2177d7e27c535e2229f7f446840a33d83848f8847ee5f8f8f7b219ba1269b3f3084aed46d8d3876721d23c8be7a4aa0b5ee17c1f98f0606a9b5d0b1283c7bb97a1853d3dfff485f86703fc8ebf8a10f04abbefc18f86042b4eb364fb12619f1169c2cdae828f37791b7f39a0df2595fc67e29c88d21e2d2165fd1cd8998fac961abcd9114a36e9f6db8c21cb9ed19d044499da38f47bcb1ff48a27faf764551029094f90221da992da9216054ead7a40ad2a3f187227dd115d16af6cb4d44b9c0ead6f5c49d0b38d1bd362fe81130f1280da060dd694cb469f2b631466a4ce75f21d450fba68afbd98bf5ac3f87693cb17209ea344fcf38dd8170dd6b48afea5fd553e8ee3c114943e8c3b1776139cab3d08c170b3ab340913668794a6414bdb1d062173b96e90a30206c0a192e4f90f24f72e7ab032e933da361f4e31ac3f31052a743abecf4c3a6d1d4ae1d6b7930be4eba56f85c6ee9e71fd737182af08e15d09722f7a71a716159ac7041caea7b00b47fed06605f4f44a4c2839525f4b9adcbddecac9965fe419be10761f6027fc695569c49f4f465910ff8b7d7b195e5bf08b2ffbbab48bf3327dbec13ffee51ba4beb1dde288d952a00215a257cda85fb0d2a28be261acce9c8959d96943297529124197df7856c4ada40f7acab52a236ea96b9b365ffee099ea19d89de72dacb6b6e6ee16734e8e411cd0653a0e7f1aec3942140a9c729bfceaa6d1116253600361e6c9f20b165fee38f2d691ee7a6f0fa08e46df44ac57f9c4a371282b0f88789353ebc86f07b3c866977745b6cba757129e7770e32e67d1b02de0e85555a31480423ac6cb68cb78898fe695f4040cdfd6ea2b67e736124c2bf033a48d262adc2bc65a06a19234bdada3071cd1bb4c4cefeac050345e9f31bdc9d229e2a9eb60ab45fddd8c26c71ae14543080d89584362a4d01bc24576fbe6ea8d74081331fccf93fc4c9916b0ef0415900dd97f6db0d9c020c46c3500bdb13ac400fc1e9993e93c81e8ac6c35b097d627780081e7a8bc8084fa047929a61d0879d3accede84fb82f3b5223f3dfb8211a9dd7224095b67fa21ebc11bce279b12d3d218463bdfe8d8520154c9daa76e2eab9309328005ed922a02f6151ac429b017a53451ba6fb5a8dcb4624fd097ddebc872c1656413cc3fa68525d987d99c7376e71380b902c8bcfcb575450afe1f418b72bc7c849175248538654372046ac37db5df9247358bf1bff0bc31d80c7fc8700c3c15b5d06da5bedc72adb6a941e8fddda2ddf3bb7dcf3689d7e0d44ffb26dccc9ef05b282a520cb8c7e6e36bc1d77350b26da77ada9e1a43a65fdd69ec81f88f113bf6366b90f9e1597c3c54f47f2d9d276689cf2ecaf7978f450b437e1c4ccb91b472bb05ca26984f02b77492b405652fb5622ccb9987b5315db80c960780ef8040a25034cafefd4e1421319ba05477cbfa3663c7628e74ccc1de67cefb6a575efc1586f4a9eff6ffe5b8e540ddf25038bb3561c786e8ac73049e1e13e6baeefee3334e9706645dd979b36409fe72c159143c5206aca7509e5f65136dd38c4e871ec48baddac4aeb037e4baba0fcbb66780307da3f583183e1bedfa511f6a00affc963c0114231784411022c98499034bf596c5391f189cd24f6375ef0ea86714e76bb4f033d716af3fe9a901fbdf9837135e7568ceab94afcc30342982883136a91d9d87fd6baae8b465b6e5429f652530412ead541677a8e3d44b72c3f48457d22a93161e617dd4657d6350057feb1878003d9e473cb77dd5ab0c62a883b5815c9f508bef3a0c5b9c2203b96ba7a1a4e3cb6690fcea084f32ed84353d02d2846abae34632398456d01f6a669dcb6b628a850983335a1dfc993ad7daad9d2a1b904b84f3861f110eb3a33c5db4a262139cae495c7949d31e9e47dd3c646752b3a08f591858f4f37031b55c31ec5bcb849b772d641ac24518c48c7451cc41cf024fbff0298bcbfea9435f04738110c654f9a58c8465f649996d337d6ee08bb26df0f3b5e19dc203d4e9844bec06a030ac65b22d7a5f8c5c66f0efbff61268e438bbb118d88b553cd06e36abcd1e3f38381a9d2bd3564a29f727d1015db049fea92240c061f6eabe5beb384f12043541dcba476ceda27385aecc908bd2dc7ce508b6f416bb6926b28b8188eef2d8cf801feb222deff35d050c95f10117c61044460f964a65382e1d1e55ed816fae2e777fa47a4f6824a037826931ef6c55ad6aaf56b6605f8b6184c17966cc416aabc5bd8b25813396ff428246a42443c617f9afc7fea9f655c7193a9764c66f9d42fb78617e5dc730986ba9aec9f842d61f968d2b147b84283ba29946c3202d94ead85f063442dcf9c29dca76b49bab23a3cfbf58424246cef3ad4f0e1a3b6a6055a299fcd2a445d08fb23b227f7c34a3528c25733600a7108aba5e62ce3cfe2ec891ecc1535693ce53182c1bc77e0cc52601568a58b8f64a3de6645e4b1376070caa3fa265c023d922fa793bd2a4de56ae726403915a7ebe2af5da6159b4d17d919b66b6279f0e139fc12f1350fd70a97a2327dfe5e632baf702e1874df8e80e167494e0bb100c4f45d633056dc79ab6a9a099e9e57e4600e9f532389500b8a9843fff69d8e06babf6ba2cfbd2e7ef290525877e2166fe59c6313f29c4d35d468b25b06cc640739ae89077c44c7a8aa6d8fdb8c367b33c02a31d9afd0c7089677ba92b106aeadedfa6a62abc02a09f58e912848649623d317cb41e22eb8fdfb1e8ce9bb8711761125111983f80594b0f12a84885564a181789632ba148767a7560dce623cf14d52c6b6bd27df926e4289e7ba50841335f815a11da6893e37ea6f1b7cbc2351d9a4acc6b7d2ac0c10fd6f2ec317c7b497f948107bf37e87d4ca71a6881bf320888d48512ea62cc56c22128cc5b1afd125d00a67fb9738601c565df0554e173f894d44cd88e5c0205abec2397807a9d752ddc28b26c2908965b566294a4fc046383d222df94b413f6e9ee20f5225157174f2bb7b08d012d6c1621eae849423955e424da0a7501d189177748f05f9a7eb169d2e016529baf3ba7c78fd2c26bf9ad4deb30294bb13a6c224951ce78f784597e4f874133d85d7708742785d54d40cb84f871400339cf7c215c39671f401e781daacf39396694013d9ec36b065921fd302e0f99ca028e10510c1b2f6df0554373bde8ba1f59e115fae8436a0205a554df58abd2ef8ab29146f34ae1600a9b744e64e7c6d314255f7f2423e0e02ca4d50ba2ece16186ca32c04f10477680fa86996583c565593b74b5fc3458ccdd8957ff0458ae6d5e8119f2fb40017ae7fef79cbaaf57ed790d913afdb2d432db04fd2896d646bfb66c31a7eff74fe0165b125ac01a19ac5650b0e5b2997cf19199bf34292f42c9463181861620bd73a78303c9b4fae5236f5b452c120fd2e7bb2cd29c657352cd488d40bad6d8426b6ab580649f4e929800e17056aeb2a2313473b92fcb2d7b4ed783756dbc11a4d4e031e0851e72698881c67aef8cdb206b67c85fcb12717aeadea4ca760ea0ba7c9b67271bc9f2f97f426b6938df7151d4a533e0d85cbed459948457cdd9299a9ac1407080dbf3c1b72cda2fa221ed1a485dc124963074ede3443984bb3e3bf4b90919764cff3b32ca64931e4a92c26646f4d8bf94f7e1a82231b292928af1b0ee61825526593cef31e28336bb698e183f721eb1821e1a533cb204e7a0f5876b83daf041a94c0e080e3cf367b41dac2d5f53770e5a00f350b5995999e5a78c6893ba924d7c79cc56ce8a123f1618a90848df5f84e62b20af50516f27b719377f55a96a0e9a8279207ddc55c550d8c0fa76da9456faee4434a526f797b732315ac1d27085030ca969afa0573aebba4227d89dfe0ab3ed9231be12f564ca0e6d7f8af53b2a09f44daf5504ed37ef7f96bdc294c9979b2dd56d9826e0cfe5f891019d2afc210ede1a9f5e1d5191f59d98f9221b04abdb43dda12fb4ae81fe625ee52a8f8442f3d8f02d1442e69d89326da00f28b24d1271f29738e529010802c9e8c49c30ba5d44eb8f23dfa9d75d78e83f8f25ae9334fead195658a432fc659d35bb755769f1c33fe4e123823fa3d75b66d4dd73c1cacef4794fa898ce66f3e3e29864626d359bc0fe4edc03695dfe6cd6b6fd5d38da107e7060b704199603acb4286fce3051313c6a7cf1436a5a939948fc450469e6b0fd5dd4ed4c4c767c9c4d926ce50b2745ba7146e6097b59341766ba06dc417950bb6f4465daaafa09d0f635250c530947ef585169e80f76e52b78b42cce0de7a36269b43e9e2be176e2bffa28610c387377b5f24f4d1a52195b7b5d78a1dd9315a9ec63c8ddfd02c4f11b059c92e6ccff65af3cdffe5fa2931ce22f0fdbfd080979f440e4564250b66e56aa53af22b6464986fa8d48610bd35d9f1f8b110ff1366a8a352ecd101d94ce2baffe6225ed003063e2e5f99181e2277ddc1438569badc886e156339e0683b5db4978a4000ce13c8c6e59a995078672969fdb7f15cbe50b1cf1b20e4abe5fcc07b7bd885929990bc9ed124d3188dcb058c617b3a04817cfefe442820c7995c73562493dc3778dbac0746fd5fe59309e3dab65924cb7f89cdfdb9ae742d69ebd75921abfba1e9903e48b54775100912c891572ea679c47fbf4ae67e3420d8fddf80a0c57d0342fcd78b14960ee8d612e52c69880ed82b9476885e3e1effbebdeead3ff12466c83ec69f8c45657fbcad1bb2d3169fd4a068b2533231caa979aecf6506bf155b2fe03f2960fd3e62dc8f9c77415345a023bbe8722b094e6a511bfb2662eea148b892fe56f1774bddb7938541fd75ce6fd5ab85657e767255e2fd611a29b0b58a4b3c6f3e001a6556ac89d411644303aebeb8004042ae715327dc061aec897931bf385e4e229ff09b6486cd3939b6727806dcc2b336b2deb7f2c3e06155ea84cbb9dfdab1921ede0163ae5ca786898825ec142a01ec34147c3939d9013ed754472ad8fd95ce30f88f1a4adc2b22e02f30ff95987c58d0fe5df24b386525bfbc0ab56715a23f202acc927428af04256cb9993b94d99170e58748df8dd1e33a7284e2e3b19417ac0836a301b0955f08de8c0a4d8479d80b406b19c5a712a23da9c1cb7a5ddea17a2b8a80b004526c5bd9bfe6f9ffb82c4d95975aaa437e412d4ba163d8aecd374e9da8200a1cc70529b97642be2e27ae082a0bc2382d2ebb3af11f080c30b4daaf65a3ea8b3859b033ce77959c5ea2f6c941a84b88469cfed409e014550876b29b062c1d208f721d307c7f7a3b1fb5156b0c3bc88729f6a28bebc30c5a3a548695429d51c20e7bf9500ee3d57062e44336da3c08688a1d674b15a34d1edd54e82cc0d79eb5a74863dde4bf6fd668b649b0b3ad4df58fe14b58987ba9d69d798d8f4fdf411e3eabb26d2cd93c48c2c2bc37d0efed3c383f9177698cda22792e76d14ac242c49e3c2bfa3d055843f223eedd1849b7249742bcf6a6138f072df820b5929881745bec36cc8ce2d2eaee6bf5aaf1805c88062d4bce128e7e7abb60bca34039a2384180822cbfe000730383c74a0ced9e81b293354aed8e8eaf370769d0324336cb2cee4ef030a15174e587cacadd7154399bec41554616678828a9b9eaf00000000000000000000000000000000040e171a222c313b","message_root":"0xf995766b17b93f88360f698b46078c5a61c75dcd5856b13c16e3374b21be400d","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xcdb8621463fb0e4d78b4bfffa2a95672cac7a89094312716a2bafb1b2d97a84650eaaf27667a5db6ebb7473e3ea65f8da92ce05589d4266370a262c6ed3ce2c6cd906759ab0b798604209dc8a57b71a3c1b9f0fc55e91d5293a99d4c6fd6eada8bc7165619f5ddf13dec4c5d51c6b12bb026a21fa0da4a83347a27e0a08d4e92fb74f76d8dec56ba6b331881ef9f044100badefd32ac131f4ad74f0e4f4e4034bec87e4f9a9c5be63c1477e9a59d8c0dd0c80099b59891cd4003416b82b5b8adc2478648622055cddd4fcbed139fc5ed1bf5e12e230ec669cb6eed9c1caa030ae3b1399d32e517902e3d6a966ebcb64e47fe968f9e19ea8ec436fbc6e5ba0f9c8e864e43dd856fc1266c1cce191b764633349d7854efc2e3066852d509812d1f3e7d98b49b12c7bc5704681efc0d191e9623b2de0e8c4793bfbfba86c5a59e13c79b124f85c055407fb8ae68760ca08ce2628e35132c34eb881b2bb47271de556860f252e429d4debc0de5b42439c1234874267e2f6d6e0b43e11924cdfcca88688d07c5bab0bf33a9d7980970dd77060c96c2e939fe9dd627bfde455b6d64d939aa43c05ac44a375c783db0e8fc089015be5d7bd3143eae9cbe4abbcedca9850e75649a0ac38358b49b95a07d47c35cb721bba99a0627e8fb86c10fc91d7510472b4d8eb53fffa3b5fe9bffdb84f281120a6466a0eedbfa39057d9b0a13fa225f52395e0dfb3b1957386c5168c2c0e847d948cd2679748b2a2b772bf6f73b7d464d8e66023b9c09d32b7c3577ec489a829e91bd5dcf05c0cfe7584273e71dfbb1efb7657b6d45c27d5b6cd886f43068f7b45b9bece0b1bbb66fb7f9a645faa9729c390ad309612d7dd4055de1f8a5d2fa99ac476d23ed7557db5912238cb8752cb4ca63a1d6c9fe6ea50d2b7f36e309ecf3c3b591cb807ee74f6c92933fb6b7d176ab1e97a078ac910d3d60273ab73d3c5f0e2beed0cf8e1be6749ad49369154cbe2f4d084fdb50f28c8c079c39d5c1091acf374c6cc778daa47ebeb932fcebc79b5fa8bd45b690cb914198ddce6066b28c45ed85a9073bfb5707ed8ed62bf0f3e3a92d71269952f5d0ad3ed5c829ddccef030f8304a7ee068075f703199c90bfb973f379b16718cf62a99083525427cad848bda67db0519a12ffaa275dede9820364420810811ce866ec2c26fd570ab009bdf052d900a04a6867137c7fd219d28e381da3700ef9f6571e5d008a48191772dac03850aabcc6620680ec37fdc3bc680d8f943771a0875a07427ea1cfee52445271c9bd48b45e30317bb5dcbd400c128d54f4f7cfcaa33c18bf34853cff396e5b9a41f43d4c61473f1ba1f8e6b39711913bfd2d1d3d7c8906a3690b8719ef8dcd49d28ad8aed19a91a311c285f117eec98326428525f7bb5946749ad5b8b11af33aec52b1c01d935902bbb1d86178d0007a841297e93412924ec3a67e6dbcf2b41e46549d337f2e192e1a55da7217720fe7e56e57746e98f6fd84340cab16f296f3210de6d6cf7bb67a6eecfac6773786394d2b6d7f49550f171aa4a8026cc3a5a8d93ab4e203157d0d5e2d9fe8f7375a120a5eab5bdf449b9cd003ed1c6b13b94b225a6f63a14b0928d86f35eca66214f4e0a3aaf316ee02b67154a26c6126c1335d70a92229fafd19019d407c263ca706e3225b38affca09e1b61a016f602ccb4a60a33699a1cc6335620c596c8d1f476a35453a5c8690a05ad348e67c62ee12a21c34a6e96cbd4906f9b560f476b3b582772f007a78485a074d63e0d72637ce3508145ab671d3b11e8eac69288c3e8cd45cb029b01776ed8cfd8cb3fa93d057b3c2a200208c64b800bba4ef9a2654a3204eda1e05c9429057304dd86ad1419107fdc63831b50b1a04249019f9ebc6d7132d76fa956053f1c5b95637db0fc85ceb8f994cf410a27037a9ea78e49837f855a6d9d417e885753b434060fe9b44354ac3557858f5d97e4cb26f2710025a22a658c10de829ee276c9090dad0e9d08f71f5c48977160e0159941afbe39710a9afc1d183e2fbc4effa0a70e2c0005b3d813f49ebda28f3882c994157439cc870168f188d58d887a5335fd299e7f0bacb63041c7092d0b7a68b34f988eb33e2dce955ffaf887b398b35cccc797f38e48a28bcc73e2eab5f7b4b8d3ba0f73917d054570d77c175e9e520925a05745d6917f5ccad44b70e708afbbcf73cb5410286cc9ac95a8cfb3979e27d3c7ae5c083d5d924795d406ad9f286a1b9b222020864c0bb606733a0e1bb591b6fb51659aeb3ed673b09478c318a96c0f0a5ab57caf1fd226822fb220ff665c90ef82e2bd00355e05021ad1bf2d2f9608872910344e6acd1de528615a3af841cb1ca6f1909434264131774ada5d12a45316165879d37bb0ce8135c549dac66e21f1581b80a882bfbaf3b83727f87c74339d63be62db1de8938dcaa42d0a02b4d1447a1d607529a20ac7f03acfcb6a29386d758b83d9a8f16dd5caf820b0ed41405c0911a2bd77b6da826752b0ac5aef05b44ff8d480eee3c8a5a088a590f95f4a08108562c0610a7a041f5a7b802f0aeba209390302cdc9a67ca1064ca383d08aa68b9819773ed6125a1eab1b68f367a118e10bda3315edce8db5b50028ec55a55f01fb2711b5178db4d5eafc218bae489c392f90e8dcd1e4fd9ae2d7938edca841918ca26f7e75cd5cbc57175f63be3b973b94da20b1ed8d096bdecea0fb18df5af170698edae33631de6ff47274673345932a73c44fdd81f159289c8d31c80d0c81cfb8a9aabb71963a900f2c6c2e8de1493df703cb9e430f61819cfd945b786f8eaa1c0625ae3c398a3ac82fd24100e0af7ff498e81f30bfbc80d178cdc40dc325179142b115436a87cf9726cf9b165ce5fe2209210f819817ca8097ac842a25b01d89b902f5db6314e6e8f9f6e604845114d0b5628e18ec1bfe607308dc6ca7c6bd75df1251f7ac6e5d4c80d216d6baab8b6645a90511d10788eccd86a72f406a6f9524f411b61f93ed30139cefab8ce95ee21a7087e3aac59ce1c3321ac19055e1059bb8868fad016db9d645f22d973425b47299e6e740a5b564d8d2c8fd9247e92bc002857df4b8455fd28f4717b862bf79a3825a7e0655be209f07e0ea5f3d24bd194707e2b604afba15718b87c8bc6345eca90403ef80994f509f6e08a0e530d0508cc9f44653a5beb73b057227e28abbb88ba53e6500aa73756484315746f667d80236eb92c1f388e3fdeba18f763e3b55f34ef08cd9790ab713497476e6a856bac71fc7c190bfbdb9a8f9ea3fa8166a61be5dd7e24cf5cda3d9cb8d4e4af2e067b552e93912c746f8eef3f4842f6178faafc3c30ddad9681c16f4c44ff9768bfdc543e0d06282543e7e24fe1c2c368c0e94f050dd3e1730120f61069b20a1106d83e368f1e1479eb60e1c2c91ff3f9560135365f945b18dd10b6ec1cf64a8fbc5a9ac144d03785d71df4ec0fb651c9354bef31c1f5078c4bcb7446da807567e8e368db2e433d5e66f3dc8f309680435d665598ddfe68d150ce77178b558ed734014db98983ce9c97a6b6305ed1afe638be87d613b5defa741e595281eca726395fe8bba43479a4ce83bed2406792fdb5c1ae174dc11c7c010c8152243fab56d5fbe486bcef9a55c7a50a3f7b7d1","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x626fcadbb10c8b96310e9a25be5d1ef4d5e8e60fce1f354979db6ce93d67d6c1","signature":"0xd993c20d8fe5f78ade4207c4e012a2272c3ff6b4cbaa16dabddc15e41ddc348a0e0244d75dcbb54cb4c8c2780d2a15bf9ab867a65f63acf36460f873ddb48ed663b0b3ef32b81e40afe4b772c9423b168f10a1c2b94a571c6cd131577665e9ed615279fa2abef90c2b238300854fa7ccc7e3b47631c4a877f1168511526156441203faba48664b34c3995f797d8e33727e73949007f5860e1cb261253e230926bfd3c849b9e1ab65edc31d95ccf25bca667caecce19fb32d3c3853eabf85524af3ff5660d149e4c65ad96d5663ee911826f126f5f5c11ac357e87e52984e63c0830ce9f316a429f50678a480555a33d31efb138982f25c14be8f75c648e4ba6007071c4b4cc797158abb2bfcd06327a55e5277845e9008c2a62c38bf70394132b373cace5ace3854d44d2287500383088072fb917443a5a90ecf24eae60e762e36ca594495c08facb6f0d12a311fd2e5403d31ae879f9ae91e267422860b08d40b42f5523a071e3c460e2ab516a33fb91742c9afc837bd3fcdbe19cc2fd73473b9f5ef1a1d06a0480d1fcd2d5ce3d272c205d4b7764df5c8ee6907f936706691b7ddf2944848df894e3ff6ae1fcf407efa825f7ef5eac4fb6000272b892d26a4e6cef1ebef833e957e8634dbee51cda864c2f84e3cc9588204925db9f40545021da18b29bb38c202ad589505bbb00e38cd058ff18a5942edbe599655fc94a38a369217632156ced0fed6e68f6d020d6af750d384e977aee4bff935fa0ee032738231404f59f62970624c5c0781eab4e950b8537eaf32871c941f8259bec7d918d86a279b65dd5ac5875fa9c226a0eaa49885bd92a0ce6e399013b4c04ecdcb5604eb62074631c4bbd652a7cfe1a0f8dcaa61e685c5b97b560cfb3c38a10d60b0ed0792526ca534d96a59bb4987e3701809a6e53048b9a987fb2f687afa4c59bdc45a5a7fa7ad020a7a74c276cda3ffe5aa190ef6e0eecb7d9dec3daa1f346b9a41c77284db3db236fae788d4c6be3a22086f3ea34f8e4bb118c61b5d05283c42ece394e6de8025ea3afbcc2e51826360ffcb0d9af3f41bc7dd6ba8e2f62ee69f552203ef79720a908a0a1d27f36ebe852d45fe490c9934bab9a826eb3cbe5821050483d50ebb07a2118decf7a21442cc45ca36e37d8a055c679d9188782eb3cd2961f844d133042822aed62579971b15685d2750f0734231dcb950f9d30840cbfb51e93e5c6574fa085e2e800affd24da773109fec94089ad170b7950bcaae0b5163d227bc60c9a142fe13481cb6a21656fedb08e19224f0d7f126a7c25dfb1c0669176f8a1691040b609d78fda3855a6884fdf072533c941879e4d51f6702c7c9c0891094fbf301aff08fbba1f51f6a64747e513fa22a197562ffb2b0207fb0bbc91ba9e1a31933f284b6c90e1569311005e6acda59689027e7b164c9791bb2d8ef68fae56fd01f38271713d21972f5f76f343f1f696727f356c21e61409c6b62719c1a2fb13de57cc855076dac270d13f117bb8f1c50de4b1afcbd9ed498169f3a9165cf87f6e32ca88d66b7396806ebbccf81ffa95107a5121e24818ad068c820558bde10344bb002648009cda9eac800d0be1b24016fe19327a948f1c7da7bdbbaab174877c5ce3cbd7692cc68c8bbbe1cf273250bf3cc4eb27fc2db9055d958bcb93fe78c1597aa7a67c52b3a37bbec8c9b5231ea52c3f41a99aa646fc9f4fdc060aa69eabb4068e3868e47b409ee6fc0143f2323dabfd0962b858f6973c30cb4ab3daf4f1c002e1a15c0161cdf7961d58267b6c4e22fc90e77233ae568f6d2aee6d39e9714d90e1c50fcba5b5979feb70667fd60582f4354136fe1847628f4052dfd2807743cfefa0b2a681bf6cae2b410267e4c993c56aead0341684f6f9cecd5ab04103cabdfff97f64148c70ea4721837202cef828230327ec47093b58b2fca50c549dc87ef4866d35c722e692f1b3850f0cd4b4c5bb86879d3911f98cc226e9e9a165fd62c97b5b268be1268ab741a81a3d7d09c68c3818a55a79f72757f2a5329bd2ee35cc271f4f3e9d22ffb342f7089c522a567b8d7115199cce773fe96b5f8238737a28a7fa88bdf99f3bc2fb578908839241e032ad077d0a6633ab9032e1c6d6c0ae8be209fd3c74ba2f18b89b6c1dffca50c8610461b37f6729b67016a63357371de0c222a9c5ede45d89c4d5abc9daa2db588c63a10d13754690e823905d2dfacf75da581ed7e67f858f7dd5ab894052848fd7c1d49011f7c0bc168c99b68e1f588f479c001bc91aa48a6ab94577c7bb6f20228e38da1149a0be724344c86aaf772fa60f5ba3f4c7d89c21ea1835b03fc159b8e75253abde76b3a45fbcb6f5780df6d8d142faa9f76d49f1b99c21003573cd2f52a926560c77cbb8b01f8b82be6830036196cbb0d1a62240016c55de56036985ec98c2cf57c639611cabaaad41726e0d150f5a4d45d90cc77e804d02683e25b24bda9f6c83aae691039225ae8bba727651ae911ed78712bc5d5cb59555df8d77e327883c594ef3a3b02cc57ef8620591c26c263d0b2d03b06f179af5b0d0b38d672b02d13ce05e07bb707c2d5285732aae0632e240201ab7e945da87d1bbe1860b548e6ab852bfeb72895f9b73fccfcfbe60bc3f015d9b6f25d34c3b93b51f20a98d53dd804354f308dd95965514fd75a4dbc76c9ec40533e5d0e5100d1d1b26d73fb4061076a58b61555ca8786381362894b6ce3f4740742be70da3bcb7e45304de446fbe20391b253f92f4d705c382990107245b41b66f6b0744fc6a5feef54215c3c09e02ced071387bfd5f91df843ec290e5e1983736204d0124c1aeba79cebb1c0dcf5fbf6c2baea5f7d61d1c8e972bf04842766c8bf91489614af2ab2b466760fb9cb22f81c30af0c77e414d63f946f5d94a03c483dfb00316ed917d32f0962c0f091f347828c27e59dd1a6705538bb6408e577927e7e8d1684ece98e4a8a498ef5d4db05f606c4f4aa602ffecf984bb8383a2277d3603278947d85a66cb1ac2fedaad44bde2410c61948f4ab942e5e10e2191849a73af544da45a67a348832b4971e9f4db0fea7c6597b373d59cf2aff85565d7000cbc94a455fb4d8fc317e98e15641b79b9cb2272de87c23133559ff9ab3e04103e92c29324ff9e112861da0c61a22dc02b8fbdc223c8636c6b6545542cf9564b2d8377702ba026b2ef6a04b3a42b32cdb401740669de85077e942008adb46e4c75ce849a1ba09fe8e319ccad446777e20c1078d04fdc1541592e009eb85aac602b5f2c1b7368d74dc4ecba11397f9f941aa71ed6ddfc78906b1b68f5a51117f60ae80f0d1f06fd4ef6bec5363b4885f3c511600ab62e44fcc1683bed1d4316e0e33d92a3219fa260e170dd30194c0d0e5c1aacc184da46a56eb252e4e0b4579d1dc451f9b94f27e28bae9c875a6eab3e15c7d247af70c73c4c29119511bbb1243282cb2b5a4c7cbd3cf3ec487ce512d8e30df851780472baf988d49cfe4b27c6bc1a514ca415b39684cf841238bffb32cd4969f14318f5175e882695f0390b54987d5008fc1d44307317a3e20590529afc080937529a93408bb773c7571b0916c379b1a22f52289ef9813ca3945489d5d68646680ac3c6aed5cf57282b64f51f5e44f2b166428ec043c53b3003f13538a07b3a9601c0e934a5d04f912610a6f839d14f04bb26b306e1d454ee2ccaf16675e817ed0aba54497322317b01b52e7ca8306aaa91ae813c937f8bf63b48aeac8018afbba1cea958b70fd8fa176493851eedd07ea8a441cfb418b0ab4016404af36dd63f33c2ed77bebb4e61d3629fc4ee0f1fa7a0a4988f9bcd86e8ba94d5cdd5113e6e6f7313e13fd3792489b5f7e6e57b5036158ac5364301c222cf0d0bf2d87ff5473481ccc049f84f4a45a6b6d3160dcc9d27a7ee1ec4c5eafba194fbce80245fd3f16892b42f0b167e920ffb8ec8c7f9062014a7f987516a60939b6dd5a3d3641a182dbfb26704d658f72b9f1568893d4fbc3111efc79a83db50ed4fe2cb09c436798628c714cf213daaf5b116170d613c74c3d26c8e38f8b0143ad593eba431f3031863cc3cedcc8bd39dfa2e74adba6cfd759aed4e6c6b1068f796823c66ad2794b942253379a1467851fa767786c48675df6ef21c01e01eec9f7955e82ba1057398cbd6e1786847272ddce6df6f99295738d9ac51c29febf705f1a60f1a398e8095afdb23e1b9904cf68573c91a78bd5ee3c92873a943b85f69292542e220e41c95bca2804250a91d12338a436019220718f7ae7c70ac8a4fb0c897c7de518c80921f5563a2389cbf2da8d6199b5d2315cb417ef30b218e3a8990cdfba4a01f4846cbea2adf6288dc102b0f94871c00d95534ad854426475fcdcdfa30d49f755ee224138c2f687672fff53816d852796ce4c4261a7838179e0523d919d1b2f3def1a7156f5c1fac19432a058291c7236d02a7bdcc3b025a91606651f671b393edc357f89655297cc0a62a204ac1cbafb94c59ada2ac5d3d05ef153b14fa02cd84f83ae45b830dfb0675fbcfd30ac373176e53b02b645061f0a0cc91c925be503c44f886442f2743230dc80a3ccd8286d6030c11670c2b1f1967c8bc674b0714aad8d45c4fe7703adde9b7edac9e3b49ad0cc6660f29dfe3fa1a4d3b1a7f35715b61e8c0e1c4d562e3e8f6c32a909dd44650695361567573a2aa8f5f753451c5437138e25aefbd2982f23fadfd4dbf60e6318de7828f28ebf2b64a7ab110cf688ee44937678200092b596948a00377abe1d15a6e4f6ee0a734f6cf7235f0a3419c4bd2ab3f7ce422e2ef28fcee6add750c358573d3f8f34e2f9e02f66b0370a2cea57a09bae4e041f180fc6bce51461d0b278cad138c5c50a7bcd187bda1ce524656c4e13a0c9a679bbbb29cda892e3ff52bca8950d28694a2206bc639ee2edf9d2226aa351ec219de66d27cb89207b9f2300c2ee790a9a0a0ce620e46a7676563b54f685ac1063ac8be9c73543adf2583741bdbe9c31c11d557bd89d0f32d9fc4af0d40f737b615f479f6571279c6279aaac8e5474749017ad271f5f301e89e55c4274e7588127e22d2b9b9fe52c719c8b1c72599df23d08b83bdf4c7141ab5daff1c1b93b25354b57c5a804a102e0a280becb9c60821029ac836a2d6cc9a3fc114f2b62f570dea08efda46f32fd430b63af8ca74c3401a1e93c773fc563b3ac30b359cb247b718ef98e6c8f003ea2e83751d1efa2cd859c9b8ba0c4f53210054a2b58b2a820297e6059e5e9952a94ba989d1dcaad189b4ca960f7c1bdd4ba75bd5892af733757dcd86fed28d8eb051eb27f7626de32c0668751e492f5423050219c57c619910ec3c147326e8ccb1453988dbea7dee3c47cb74ab707ed19bf163cd10729125b47978bd91726cd18c6aaf8396781348264efb5baacc4b39ef399ce2ce2641427edccc16c03940ba514cb920bd9e0d4145cf01299cdd51b2195a3f163db2e262c3666af517fbc4ae6121d6c746b23bb3b3d69f9ac64a0750eb885bc82bb95fc4f5403d31300a51900d50e8911096b5b7b30a82b94a1cba8ef00ebbb2aee3a207999ea74d72223c68bef1bb89c3157fba2e7f2585fe8f210cb518708625c5873ecefb121431cadd52feea61268a2955dd88130fa19c4120017ed503d9a8b5f054b91577fc1313a9142cb33d170aa38ce68037ab90e71b0fb61026be27a263413b5d3b75da4e8ecb9e998e43796a6aaaeedf777932b9ceebfcd65c7d8bd19aa0ca3cf11763848f0907ecd8befd043622a5f32c3f348d1889f06e6b95125ec21e32af4498133869137746ecdacd2ff7e05fee8c30519fa7064bfd3b415aaa2ef5316d63ea22fab0978ea4f7dce80aba3bdb996f18b6c029c3e638fe9f013312449700c415a5e3a4f74af712db7a1ab2f4825a83a7ae77bb99858661cdc19c49967210b4c3c0ffff332547e7e21f6ed59d4a15df992b8127928176528690befe216dc69e1c44d894357dbd38ad88cf88f2026f36bbca2ea88d56bc1e899901db0756d39a44aed3658847597d0d6b6ea60d56b72f52343c802315d5d03d7a2d8861370a7b3a18830fdbc3e2973bb19fb95490ffcdea3fca4b1ab7ff9679e1fda9a7cf4516b808e37e7e668e13480d7277f0cb143c61a274c743798a9645064eead871a989a5168f2f5362e294ad37e5931479f098755afdc58e6685fcc93dae7eb5895608ab71e7bc578b3c60f5a81ecdbbe8c41b62b17efe9b0ed50dd943b440be93f65a8109034992bd798e03423407f2655a9f6656779d7e8890b201640665cc78733dde5e139092e5c5cb3363414c55943727d4234d91d2e6251363c9da7de4e81c5fe4ed725f30bd1a3f710c73a90a950bf2ec340c603cac51a07801afaf1456f9704faae6e23ad17de75bb29bff0639239440231343741548212266cb4c844a3a7bbbfc815424bb4c0319099a7b4b835466e78a1b0f34045637e969ba4a7cedae6f1f5000a203543496f7793d0e0000000000000000000000000000000070c12171d24313c","message_root":"0x4effb2d2e39a86a2f03193abcd221f0060ada4c9a25ad9390b1650d97db563ef","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x36a8f7929c9ebffad586c00e4f50cf97c65cb06ec4dfae94843240b12af54664062bf2f8f2e14ba1d3438c0af6691b5eb9217e1265b1026988bbe98e0a6f581c3addefc5501158712fb12479cde38fd8fa3997fabadf51d692d5134609a3dcf08dee0c8767e8d3fea61dd7396edd646e74a3dff989b125f53c0f45020c29345f640d7567d427bf884d1ba80ae8fa11feb32f349e467759c375e57c3d3ef55bdcf4f100016ed71b891b4cdbad5bf59b63161ccb84d52effcad1fb02c6167898411883fea5f60a86fb15d0a2b3e910399efe163799ca4c0bcd8d9da59de6602dbc555e7e719c13d3deaf859034637df3c137927dafa6e3c6cdea49e4bfc692bd5bcaa7064c22873c23291c964f2b7142ca3cd76abc5511932b9d319b24afce5398aec632436b90aad2d4fcba421677bb35038d05826610337d2ee5e2bf35da793bf5df62cad563290c781be1d9b500907f0714ef80c76630b3c1e56f076642e1f92d8862355aba37cd8c0d8e343d9137d713b7925b7b50a75d8686133fbf1a7bbcf074445fd53a06bc12404a773d4a6ec391552219299e26f4518577f3fdd465e08372b8bda7eeed4f268d7e82105371ace621808011e35338ebc1277f9e11e9e233b8854f84dfa2277a4085a01ab8d7f1d7b9bba30768f2c6e9561a3126f9144c95e4f0add0e4bd0a09c2f16c6e8009258573074e8aa8f8176729a925dcea302c91e220531a4aeba4dc1a9ab2ebd670dba34a104991ef2843d90162462497e5a40ac00b19ebb913333f21fc0f2aa9b4a79697961f24f1d19f808a84f9f8e2c3de7b5d4cf91bf1e52ce43bc60c7bd87c8845e0beca383073737a30ebf61d277d5f97b39d4dab580fcd820055832e34f4acb052b4d0edbf83b23aaeace77791f9744693184c384b11cfa2d72237e9ba2018306880e860d8fb1777f614e857ddfe3ca4e4623f2dfad745e6f693b5a0bcecdacda2507cf6b83b844ad989fa004ab7cc7f3241be140b6a6bb855792750eeaaef2b85d84711cf165ad5b61237c99a5b209a5d034924a27aaa5fb1c6654c70c5b2e2e0d0ce4bbb6b8f8cbbae2d86777a08b4e1c57e2e18fe37ef1e38206cf74772a22fea5735d24e08389edbbccb18ae787a6757b8826e7ef13ac32d1686f89104a0a529933bc16ea6e1e81d5d60f6be72f6267d232875aa976d2e70de0e6602ab1e7d0afc38fbce22e73860703faba50106f7150a713f5d14e66a7417e2ee0bddbf14b368af49283700524cf0d795324899b046e9296f3af0f30a83d564f04c784d0375f3aba5d2990d7695292a57c2429b387dd76dd28aef9a29830e45d1a98bba42a9220b28348ee1d422bb32e18aef39c82a93e06c0f8df09e7b551f5c95a4d3444914a7950901282bdccc3290a82f43e45da40127b4aa2f82487ad347eb935643a977742e4968013bd8655255f44cca75daa8b67cefbe8f03638a58c1bf251b3f63dfdfbfd6b9299dde0326306727beef346f523b45bfa2b3604b70fa7a8368dbc23e4626c157a992fa4b9d2be337076bcbbd506ee2a365864c224b5251560c60ff11e3be46a6b51746f8196366473ad420927c6abe5e50f20ec49fdfa2d52b7a52ed8675492c3cb47b314131f9930d2e2c1b170c8bed57fc27b1412377cceed235d76746a90b2d8ca8d8be892692d2e745a9b49a8df675b46b87588ee4e9b9b12da75c9e6076652526ee9c8013b9cf9b81c1e37d3c03d47ec1cd15e795e6b71cb812671a3d4ad4ccbc85d478506b052ed70c2e598c1001ef7b56144eeb8bbf30f77c2b06842874759918ed41a46eb65fc6e49835a1b4cbe4e8d8dbc10557b88c41321afa6f4e63b5ea329bc2a86b3fcfd42506a6fd8737bd72b90c62a07021097ffc7df34a4a899594e3f73d9b526c5740521e4ca10fb5ba16514701efa01168735352aa25f3baf77592961447180fa7db145b664f0690e77766cfc21e982e4a56fb2b498db9f8f742af40e21b2f1d915c8ed31f13371e7e4544c5f9fe16682dabf5a40085f7fe97a55efceeb43a2f96b29a78605ee31aa5d4c1d3bca693651f430a9fe79d81aa32c2e2af31f641eb4bbb480e44e51488a9eb2971984f8733f89d6e5461753e6aaef0c454068ee9c368e327a7733e258e73e063ac23706f4cacb6325d9419d14cc4fda69838c6db5ccdffeaabcffa263ef9f4add4dd0bf51f4522a9f7a015af41d8aea4363a1409868da614d11c4f19a80f20e19c79ea7819c7f2edb1a0117dcb77531d72d0bfcb8f76668800db9cecfa745e9d9c8c64efa551c54c0f15ad3c1c26f50a365772a65fcf581cfbf711f5853a0f0f5e98b980beb86668a5c3f2dc1a2f998e21f9dd17d90112debc93399d6c5a6947fa27e6595f00c0f849a65091b0c19f6e403de52681aa431898579c827c43a529e8b16ad0dd0de96c7c072744b24d756edff3bb8eb92fa3e16d189e5bcfdb4a31c79984e903130382be6bb9b9390ca058554baffd890be24dbdac5832e55847c896a1816e91d28a034c079e0772bc16369784fad910e45ef499f2c0b1c09c747f232da8dc9c01abbef5752221a169bddd07c13db2ed07e36fd9a099c4dd0112580fbcdc439819f8840ed2565945f14ac931a7727555c0fc48189e490ff8254772a4420512313d3cae94017ea91d3954f56ef5b8b83fc9b4a725dfad27ef19a4c6606f9069d549dfea5ae1dc291cc534d779276913a6f1a9898172a8fff140d767203a22dea63f544ff53238bfa1679b23f3921204e76c4e045d0a36f99177ba8d4b2c09315647135b6ecbf9f2020b36df4390b5eb4676266231107328a177bb700a027c6f6cc7d033399c3362282cc1b5031668e36714c5a204fc53c77df77932e2813c537206a76d518c1223a0d8306f3b59f48e6ac5551676ad68f62ab6cbd7e171c1e14a9303cb3a5ef1f5b8236185a5b0a38ef70beac4f96d0b4564d251b3c06abb5fbea28e11cdcc4519c550f136a03975040ceb4dc63a64e6e7f4ea0ee6eb2ea76c262cda2b38615e40509cad05c67fa0e25fb3c5539c9724455e3da9638afa13a38e4fe14a3f2583adf3d7f81b6d8cb161cb569a6ebe5073f1639eb896c101c2b09f92520fee9df62450ea61b9648785d3c4d6c32ea80a8756e8c5dd770d9c003ebcebd4d14ac73e71292161ebc91dff50a10c306dab5af2c0df731654f0c1cca270692dd6d155a14418d40421d4dc46467a30c73b3371b7fce8dc9b306bc15e8b2189a46a61c0018ab58860f1778af72d992e1f6fe99e88d408a4e7e2f8e4b2cfcd8d094b5e6a276b9b10356eb778b1cb598ce28795dfdb2da6d6e9fa664d10061258dc88ead825b3cf1ae9458b6cd6846628f8dd2d3795d5868bd2edde8cd24fab0b80f56845527a734c231d3f568f4b38823075886b0ca58fa57dbee1228f7a6c472390dcebfc027e2b8efd79155c244a2ce4d30dc87545b7b0f628ddfeff00aeaf2901925bbbcbd34eae7fba4677bf54af2e0de65020aa063e33c7135cdc855f473c8cdba62f9fcd2071bacab8a0a680e42c15f5799edc84f033f693e52e64f9a57d2912a0ab04e247a8a43750a8464aacd539bc461b1c010bf500e9a9dafbf76e94e6c8ba8929c280582d53e9cefca823c7cd724c70db1ee37d72831578479a8a69492daa18e52eb4cecf6ba5f614","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x411286f8dbdc435782802e25053a75064a647abcd88bc4acad9d310e3d523d8e","signature":"0x894ffa69424b05695c828979d055b0b4310257c86bc32b1d43114150592e34c351fc68c18c7953e79bad412ec0ee322f2ada8b89cb1204ff6af39c77cfcf53f8268cede16669285ea191aee0ecdec8c775bddd4cbb754154915d0ffb325b4304279bdacfa9d5c889b7beb8e1ac90b0060cb0d42bd5c4ab24df87990e5597d567fb4f710f27b15345da029d3db108b822876599d72f5ff557f558f4e56c823909626783ed33ac68741e254011ad4d304d948d3a955413d78b2f0a29a3bfd74a06912a99cf4bae4d97f8045f23bb80431d181c349c7d0aebb643842b5e5544af822cc3869d6165ac57a6a07438c26c583d6480c69aec441a625dc570dc366c5e87852e54cad3f1f08866117951c34a68bdff4ca58b06195cdaecfd30f5653b25d429165ae1ff1f38d999165229f9ca5763d5431ce8776ba34989bc5c3fe26f84e534a8a0df21cc407577c985d98dbdb027ccb104d94e6508b46d47096416df335779f93d181020ea67197a814f2f73c9666e14c78d91ebd8d5f928ace9a23ee7657564735635edaac143f597cedee2d6bc290f1355316d0c32bdf87849b5cd7ed412c57a17dc33aacf70bea3b060626207f1d2061a401faad9501142767f38c27aca43951ad832b3ef1a0af9c21d76e3e8830ff2a383e9c21386e53f1506b74143e54a9d0d932208ed6e7f5443a8edfe582c94892213c1c4fb8ae17249221a09b312e80555f571299164ff136f74d3523cd8f285012d368a37b2cc80bfe8c883789e1468ef88e00a0e1e482b215023252231b8cdb96cd05a4d9ce8365f32a25ee7313255dda4cb55e73b6b51af65e9a60375d21ca6d5f7684bbf133a398a526ca4e7a4431fd55c8dbc9fcf82c5893ce5d31a4b19e569420fbc90e7903102d0eed619b6bfdfe830603fd176356f574cc95ecad9f40dc29e86fa3c257d745156b4c2defec6bf64a14af091e7d93e93d5f4f8d1a6f6e1110453dcaa85359b1ec8faad76e75f39ae5ab99c92ec754995de592cb2868c6407cfbfff48d5dcc57c10d8bf76e4da63c6d1c1ec0fb54b5b6b8efadf0d6e832f1cd6aed5f420daae9b998292507688de29795428edeb9189a0711652b9e1b281138c556c265655c5f101a00cc1a061f4abe72ca347190732a0be7f789d9ac13401903676bd387bd14a7825650b76503290fa7bf4b3dcc73d7129efa24cd5d4d511d974f1620744af3f9d4185f583eaef2522c1107a89a6dcfbe4a95bc310f574be024bfacfe5c856ed55a327f78343e5e1ec43479ebdf9bbbad7b88565f4316e964302cf6489327d49567f20d8919d2d4cb785642d51b9e2309457a877dea1daab00f70dc1628aa9bab7a7b12e45770aee59b40784b7ddd753763d5ac13f5e4ef44db4220ddc88f8f95258f04b7742765217b56a6fe4ee7705ba9be956dd6fc581f690d9881cb41367cb27f0c835e6c4d386bdfb6b23c73e570b876065e8eccaa40e4d922bed48366d574ddffecd49398bdc616e18380f1a3504ec49ca8cd8796a8f37b1761d51029dc7c12353c7fad9e5e90a8853164f65b40c70256e8eaa6817aca8256f9b9586529e20b846b56fcec4805156e7b06b12ffe283116a20307c989d6c5f77723d7decacd2458162b07cf6cea4f8f06ce6394926bf29c6a759d787b1f42af102ff4e53e9f1691b669db814b4e2b835558d046f3cf44acb4b728a890e2a32ea83714e86ada1679e8f85ecfc71d6f5cb204ae5c42fe5315ca5181ab0fa292fb5b2722828f488be5f1706aec205547bef9c48b3cecd53fdf6828ed74234d1034a8c91a16b665e0b4bb52ac5f417ed4e36cac6bd7c5919f33bbec191206299449a43205f67b48a95e0902d4691d8b2710dcf8988214e7b270692309c808ed6304c20601937634fea88d4db99d355e92799326ce59c57d62142f98f1bbc9c9088412ad3d872e197c0f6a8318d6143a0f2d49054355da5fc325527e79799260fdc146ce969a4fb58ed78d42c4dbe8346a1e87d6f621578cbdf2cc796f6fbdccff26c1b8c926bd4c760c502220aa8ec9cb3267524509b1f5b702c18498a593ec453a0c7c711647e097dfa805b8e10e72b06479f3eec5d46e2053336a1ad79dd465ddb4ffb236ee48d78753c8a9e42c024a7175475bc8e6b814d591b8b198cd3689aa0783d085ffedd721fec564871cd2a80cb8f3e196836980ef8a047a1af6e7965a55596c42b0d60e68e3d20e50d07a5436a0d29574c55146c741be7c9f37d0dbf9a7fa1420c0feffae60f44ee2dc72b4ed60535bdc6159b21cffe5bcb2f92f1c57324e61f4ab7ab5b12741cc947a131a6da9326c33e9d4348dd5588fdfc2b055000b0089a1becd3e4d0ee4433868d245c5c0598d2e7cf2ed1eed50a291eff055321163bb060e65dda09ea136d72f4c79fd4626da185a0f3694fe9038cd34b3a3f6a20086bc19601842e40ef84ecbf2d0ee09f749f0bb2b2fd11ca8f445e8a922956291906919205c9238bdfb4e539c95d2fa3e33f4dcacefaaa4252a7a4f0efa183f824fb99e2b02774ee897c51e7520c2c17cdbccd9ff9006d36b979268450f9336170b57352224455686ff9208dce5b239437d871eaea652e06559b4fb25b19a8e166ef19d4fd9a9073e057d218748c020eac18423e96927d2f8573751dd5ab24350064a1b948dcf75513330e3f4cdfbc65e2afb1410f27e6baec4ee4f2a8c5b5415221b297cd3db601b70540146c429ef33f560f1108a70a14fc4815daf89385b00e7acb4829dd7b184da9d29df5d2a875792e9af2674bfdf087ffa89cf8fdeb6ceafc2e0930e68a4b4acb3bd7c5ba3c6c3fa75244d7c6c905099df0715d472e0c545c24ff914ad622fb9e6c4568a7c0d84bb29ce42dd720df0fe690861a23e53b40b3c18632202746039ee97c8acfa24c413f900cf574a188cdc9a990458e0e18c7308e0a3dccf170a0eecb3cb804529ef207c6f2d548da9ab0c5afe57a2dacdfaeaf4b6faf6cb24a053046d59297004231a4cd3dd756be7f3bdd9aa5965028c32eff657fd6abde4b12871b3b00f6933fe58cfcbc7e23a10b2f3f434f7ab937f5ef7cf6b9506feedee6ace09cce668635f3728452c6497f8e53a1e37be325d837348b4c28e240555883b3f097367e0a06032b8d3b4cf815f4670ac59c64de546b8115252f59fee3d0901e09a629c369e3e6bb51308a502bbfe1b5944f517a41523f45f446c78f81bcf359d6f696d47e489718e466e712b6b824f59d753679ab54cd02ee2ab57400d2f8c5cc22a8ad7a17bcb1891d9fbf60ffdf4f275e786b9ce36b33b40e02872c7bac30dab5f33604c17033b88f290e5717489d0b211bf29475b48f1dc6aa3e59f8208a67935c909e8cefc20ac4387b8249cc85b7430303a476ee7de19f3c50d286e6101a54b54c9842ed78cf9f095548a4ba2444a776895fd643f444a18de5c43d269e8651253b819c63e26a8998349876c1ec2148d3f34a732a6a853908479f225f33fb749971fcddd7da3decf8b5cdb4850c951519827a9e59224b78bf6e9309f9c8f5429ecc436b0445afc8a00c6b616cd7ad68c4ef56b90fd74e7961e1a6b267782c54625279cf508e456d9a993a6e2d114f95f2cd0f6405550c3196164ebff5c5b28051f4451c3f351bf19573c5ef6ecfaad39b8a7135710ec5e1a507e56e012da33d03dc4fc9de91fed9217f10c27d4edd3620dacce4cf494a197d9d792585561185e4aae72f2fd1913ef1d48de53972303a46b06f994a29263ab10acc5a166acddb2dc07ad9e1a25d98a58266c9ef0cf86522817e4db6cac1816386c251e5a68cc14e5d159ec2367c8fd5f4f6e52c354005281047a2a06647051f79fd78812bc3ce1e7fec1a9f05a40a9393778039149d876e4a47025b7c52faa84acc6da7228c3bc0de00be48c6c1604199e003b91bad9b5222e4f3c4f860bea1824d78c74a8b4198c145b3c9b6850c7ddf086f4511cb4defe3ca3c4837c05d20fb62f7f6f4546c67962c789e29612951f519f656fce1ded81df32d6edfd9e9c1d2b6e082520a854ab7fe5f6ed868184a5b785481503e018e71b2a2004e00e7f09c596f69478e6eab99c6ad5cce857f97c77d7b1f652f0f3bb8c283cc99fabb7ee6e3c1c2515a06ef71eae214cce7e6e0a9ad45dcb10a7726b7f23b5989ad20a18e86a73d5d492c0beb030b69c33ba2d1c4a637d13a6e47e25215dab5b42ec3267eca7fc1e9cb3d7d79d761531314c87e991854fdb24515320a629cddd475631bd193a0d89e4f81263ffc7399ad837e5efcbe52273be8624921aaf5e503f7f2b50e5f3489f5d79273bb258d820cb93771638dca18bbd008a02100d7f0978390cf2a00f415aa84e44e1cf1aa1908768feb4f450559af67289a47d432ac291848b95d4c23950efd95200d08dfb16567a9f204305213b3de20e63919103af505e6449b2ae21aef8395585f112ebc97a5acd45ea448cf1777d4235336cfb431a25a3468a107af190355994d6424d89d7f0e8d12672045008ef909fad66c4e08d92e7e8d1199bd3b7a0dd5146cbcfaecb4243eb2f5fc1a00ba4069bb7d0568442432dfefd97b973c0b1de5481b15f0c45c688492b02a7d26eb8c3407abea1b6dea0ec70da86a04c2103250d7a1996d13465d55fbc4955964311753359681aa0aa08656321d3812bff1cf195aea122ebdfd96e18102a265f3c9602bb90fcf6448d248bab8247bc35e462162b0565bc20af9fb2ce2979e8b531b1e0c1261542cdba0f898b6aabcd96db739242a53cf58a589e507b394774c6580ece23da0e04e7525a7ed8994c39d7322b50905aa10f58827bf525ec1de362674a98d0ff7f4ae51f6a2071966dd84ae8decf9aa24acf0b456ce4c152cd236595d5fe14d9ef5ec764de65ed1c67884e71955e5838be124443503abfcdd12c82fa6da8e463a297cd1a2c686ec78e71de90395d5b208fb6bd9a40c1895f5cd5219d82d896b897cfa5eb94eaf8cc1a2623ac1887ad005aa8c6b81293aecf66d04a5950b129f1906b56b5a9066d3a303e5c1ba0b728a6f846e9ac2f88131e0cc0cec634264bd7b8fa72a5e7305efdbb17b210cd84b7990a6cb15705505136d2cb28357e6e6f8a39967c635ab8253353df691d83dfc13b251a41b5cb0191d4948fd83bc464934146dab4e84548f13601a651ba749efd3eec2badce87873930c6c0bdbdfb443bf5b3e472e32e65e27e9b3f9b99765785f0f747a763b8e4777f218fccffc4fd6601907293971721eae126c99ede2c12b86db7e93d95badc3edae05893219942fccc90a4c823523015bf6bd8f4d97f630896bf2987be1ae2a6c9527240adbd73fe93e36578ce6ac731f5fe2f2ebb9ba926c4d7574f1f482306ebe72a9243ae56fbe8f4cb224bd3a360c4f114f4ecd35453caa01f4b247c3e2dfff197275b548f6fd890015bb9742b47e595fa6a049456286427542d7677f5492cbcd10e806c7bd9b7efc76e1c1fe1d98db07362138d340a650af348ec43690d67a041c07e266dd6e203c1e24355c88303d332fc81567eadd1f376758760ffbfcf133c91eb5e21fea32d78aec146331753e171155a64ad03827a7d142c26cc883d38ab421cd00917283e4684c8aaf2edec72026186a2f8e45c5f13f24558bfcaafcec3b1022b41370395da5b01a2ea3f5224a280ebbec1f31175a1d2c4e1607eec439310cb3ef418bfc7d2af343b283fbc950db485c92693fa98abb1eb3eac599f683c2a7fc825b82ae7ae156a3c8958d5851e4df86308b7dcdd40aaedf12645513af5015bab5f005f38466fe6e7e5bc5dd47f42e398d09583043f6c701fa01dc1c9ee2a94d3db4d74c2a1b0c89dee95b8c7bc0c5de35c8f9e5c57df0a7b72dee17ad555c4c50d7837e05ea779a188d8f9110693d56782ca9290ee1932785fda475fb3bc121b1fd9b86de7e0856106b313af9817e925ce611f633c85f6cc313fe409d05ca8a4ae01f34130b839aa610ac38d8f2cf6cb7156712076c73512f7c26263296cc474f3f85029ed92978bb0bbb2787b605017dc11cd8505fb5125503da407624ee5dceaf4a27f414f3a04d5932440a6453d1aa310517182dea6be7f45244cf5a5b1bd14b94eee1821d213f4a79b0b3bb41e8e61a5051f33cbac4031314f6e6671fb8724aee1170a8ca96d62b32500034d83579e15594ea71f823daba0a3226bd3f32b9ffe4e9f75c5d1cc1f60c2204bc8b3c0198d9f6240841d5486ca4619d9e003980c941b8a1756c134900b155193da2f5c3c3b668af11d899e6d21498dd7117c900ba13775b0898fccda9a92fd052642bc77fa4f157291a33a6ed8d03be834736e1e699a95fe68c29e1fb9b2620c4046b669a1eab7d15f5702ed6f3c543d2c609394ce59c52244bbf7afb0d4d02cf293d1900b0d95221729635ee4b0365e2e5efe43eb2f3a86318185a1e51077c0920438cd2e50b2581e80b2863b0cefa548291a2acc2dd11264ea4ced9dcf52ba9b8c7d5e4ed031750939cedfc0000000000000000000000000000000000000000000000000000000002080c121921282f","message_root":"0x99857f3b71428f2c3e870bb0c7775282ea227137b2dc08bf5fd1774859cbb32b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe2c23203072648e6ddd095139ff6fd789e8ce94537bede707f37cd031571a3ba61f7e6cc43bbba5508d761f88cf617f4953e7bd1d62e03fbb92747ccb8b8b7a86935a1530a3fd703a8eddf81ef08e1add8c13ed01313bb820f42612c40f94a21500c3266781b56d158791db3511f83fe610bb5d269df39d6bce6834713f6bcdfaaa164f8edfd142b04808b54cdbc53bae285f122718aadba6c3f8d9c33499fc273a656c9981c8348c3be24f5c0b019de2923e9f8e7d5c902d5168ad4817f8a8be95ae9ddd524812c2f7fcd4f6acb243b825263533ea52a7c07b4b1373bf70b3f26fb3c88d077ad866ced1224bbd476165958ac8dc21b43409aec1dd2e51c2fdbc2ac72a61dc5d1345c7e36de4617efb36786f59da3881e842ea5b880bfc07fd8e969892db426a68839ce7593ffed06a1eebf5fe539b01191ab41014675101379daf8673a768bfe13350bcef90bb31b1d4e9c3cecb3697ca45f1a435ab625c8632f43ed57da7f32dac5bc6e297e979ff644ce14f6b230bbbab730d357425caf3b79bc3438df28cb4ab33f63a4a0174b3744e7266d0e47e2e00b86c10d34390294bc35b12fa5390d3cb08d77e26b3b8cc80a3d12e9465d6818a4e4c97c40451e9c04eede8df9340b7edf04501ad967e9584d9757345b6c52351181bfdf8958dcade799f90ceeb77b586a95d1bd1d71de9492da8bb8d72a3a29555cc08d1f4e508642f549797899aa1dbc0a8b94385307def2f232e1c6e7ea2e6e3ff1afb35a0ee62930191cd51fef2098dd86d8cb212a33778e1a8fd555546ca793b04146ed39eb64534f211e09a95b9b79ed7b20b5c0055c7c9defeac4ecf7607a3714c9f4c45d9c694ef8250f7e0477bf47a9b923bef4abec69f1be1e2af10d4341c34a0b67f07c1074c2b63fcbfbe6044f1dfdff4bf2eff03e3ac421e4a681c3640b330530918ab2f4d79768e174fe852f2d744e65b0d1bb017addf8b45a2bf96fa44989d8457404172d546464f95daca161137fc75dee8420ebec298f718c80c0ef014a467e1e3e7505e9aee1ccc59c14ff54dd394269f6e6b4a52d18f7ad0e2e7fe9e4a9b8e739433c6bc6523b967d4c0378e8ee251dfc7d1a45610e8fd1540a7e3775c7c379222e3e58a2991e6cb5e576703549388e91240fbfcdee22e804be3b8e4dcf528ecffdb9514fc82e766cbbfbaca90dc167f417d8b57c57a6a85bbbb955c12447baab0dc42c0ba42651471dc5bb39b913a007b4ac3a3a8604d8c041992e9da73917d943dc88b6d7f6e130bd5cd8f122680c04d7027ce213768a4227072f0174a307bcfc327c7a3607e4f5ff84fe2104167a808b574cc72b2e2b282f29dec014dd6bc0a3ec7d2f65eacac4e315cbd1eebc1eb2596047018d7e32bfa32e46fb821750006efc5420d59609644e83c12b07fecfb82e39fc7f3916a22a6da424168e9b3952512916591ca3fb5d8e42a1af17b6d9808754e05b7eada827a3a5c22dd99bca1ec4f4f5da44886c880e85f8c1d500a0c87822b4bd55f865b4ab4b6b4890a60f382c1ad7400756c842cf9eb0fd755fc9a27fb950319b3f951110e7ca75db764f84ab11d26c746474c7affcf965c69d9c72e5173b5090917ff0fb30eb7e3398e1535f5fafc63c5120e7faa0ac90f0fc30d93fa92f01b7f2ec0dc9c50202552ed9880d70763b5faa350871ea8af65c0f0d44c53723683ce08c1f8cbe09958bb0fcb3613ad57cb3833a7ec5fd8bad5c081b0d2970655b3386eac765fe15ca55782825e921683d9564835bfcf48f6cd2dfbf074baa3771faf4abf2cfa688bc3f52bb88b4c1c6d4c01bbf2a0a7499f7647e58db6df30409f991e73389266fa677bd4a3e92be129f34cf2751af6e2ddce174f170e089b159fd5457c208f29e67af62bc19988448e3594692a6916c308fcc5ea02a00b171d020e8e7568c5db5625aa1dbf7dd495f3cd4db12f01ba353137ae973ba4b48a5fa461bff06d69215cdb088a988c7c3396176119219dfbb881725d029180f35c3e785698536f9ce241d401ccd3200185f85bcf9ec238bd1d467e9a9338871a723ca6b73eae15894f79c52f3b43453f165e42ab16673190a380b976f5e249a039ae81a5dc2dce61468af0244f066d5b405495216698c0a52868d070a5b313920a3eedffa28e32df9282034f0978c1cec1c917e404e02fea18f0894be5be274a57641152d7aa0e508ac346ac560cadf47327997fd6ab6e7c281b82729750ecb0a8fbf17ace9981d77803f4d24c70741363dba2f03a5c61aefb25842567f45bd3d88e1d1a114110636288c175498998f1ad1f07c9843feb4a67aa6d23392b0db99d90c6f58dc35aa63cf765e06430f7443c8cf60f902c3c5cc7b9de90bf0b2177d0d8716b9be8e0806b4189ce9a31d27f5143a53444b42ef16c65072964aa2f1a11aa4b350df753454f790f157bac12d962f9445bb9b0d0c0bb2e391d640af093525c1f8e372b1edbcda951ab783ec2598d8da0ddd4f67793c6ae613edd74a15cc8812a45c6db01519eb7a6929da87576c2c01f648af59e1e9eeb0b5c88983b37744c893161203246aaa9a06d4182f255f08d15e2fd80cb7ddfabd62e359a4a36da30d1c82a33bc15c352c5de6c465fd12fe70221d6c492aeb9bdc9fe31428df87dfa305659e9debb4ec7e87896971111cab074a8e31e2b2f62a53e566744f3564e2f7587bfb43d3e4e3744736e8e2ec040da38f22c8ac3e6cbb97a17f556b3f56caac59fa5a181f9f659de181a564f80f2d1f423aa8f3c7b12a39abae0b4fce305fdc2ee73f25236c4e5b12971079b89d9acf0958d0d06d0670729428a7ba29e796c9e9838dedfe08dde00ef5bba6c449a3128fc853a35e177f2afc3fbc6441371177ace8d3f795ffe7b92e39be06ae2378da2a4ea41195eca4f48c6aaf73f66cbe646f207ce782730e4eed7dd4816f58ed43f330b594b9f255d6598b9f474caac62e16f45c5a64c66b88adf4561ccf93f8526b8932525673955a2887ce4403bc8da875efcf21068d2ff86c097ccb2291e5c6d5109e002751a71091e880830fffaf028ec654f5cd4a0f009b81feab15da6073aa90601f2facedad18a8f8b0bfba2875aeec3e392852fc1a363b1f9c40c17cba483aea9604ce4de00844741c55b64224f1ab87abc8ff2e44cb2ba769d85a4c2cd77b1a2464279a1fc93b838e85fa472925ffbd6d4b835f026e1048cef006a8ec860715ad0e715fcbd4b472e5ddcc94e614c6ad2b1c0a1bde452f1345a9ba362fc262ca54fa234add099e16806a090ebcb207355e37e510f49b7fc5e910744a86a787f9537211b522fe01ca68352b36b4f0de3c1062896be57cc831c148de6cfed8ad47e4e419f7491345d31717d68d7e9194c4ef3b98f202f7143a27b642ead1a31d95c5a55a70cb411f5878cf2709811333e2191951f981159d507d1601cf0c82c74e9566eacd9cf06628d975193db14150eb873d15e81283bf320fce805cde1cc71bad9c6fd9af522b29412b5782aca05edd1b88dc38bd6d2d924524445de69508e0462eb3ce05046d6c42c281edc428706e9e23985ffad8d409007869cc707f2019e95ca6273113f086a47e8a64b6384250298795b79cbe617d713e9285d2372a84cf4d2dd3d3e8810956469abce0cffba091bb9726d4ec9f","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa434767b14d2f335ae85c70802aa589600b3e13760b648b5a2b86439262e207b","signature":"0x07f10bb9b0dfae540f93f8e2f1e04634e9854a521735d5116327e5e80c2592868e8309c59025510872f2f802765f1672056c2542b3796321683b318b03a4aac23ae2d518f934368c076780abad92adb978b06513eb4433fb8099b97d9b02027e1f0556ea1f2f352b1ce62aa3e895152331f57921c906c0630074f80c77b169a53e589adad30ceb923da57f7b06db5aa746260427209c97d0904ae037dcf8e575f6595d71dd64fc474b0ce4c949423b7f6cac13734b20a64081f2035bb29b6aedc1e3e98cde42b088bf1e271a375c4decef5130b1f819ec91e6c770f22bc885c59c5195787f6d31c1c4d5d2e912e6973dbfa7fefa34c15f7cbc78c2f18bcf1b537da39a93b02440e8776dcca487282649ed6c91d68a47a89cfd9d556bf5e4b0a6feab31ad0040053fb0ea21c078342679716027f7e4bcfacb12745066af9e1ac6eb0eef6dec7b0c091bc1d6fc574b84c633acfcf86b87d0b3d636ed78ca6378aa40ed0a2a9808d7d1d756582a46825e8468c973ba1dd45f8d70626cbdd8463512373f3c1405826db0dd456cf250211ff01656b44f91af6e7aab1c8acdd3e6ef8064be15dc42069081eb31379a75303327ddd355661bede55cbf6efdcc81f2425e77e6a678719d386ca289c019e91623cfd71be27e8ecbf64757f25c42045cc6199b03378633fa352e1b86fc49600b126f397d43ff5eb577d946411f1cab7ce5a054d01bb8866be73b0fef36fa0eb7c3fe86a63883e5980d4f6ff0cffb5f07016c15d45870eda6bb8a897391cf6da4ab7e89351fa3a86f1cd62e9bc2d0a7898fd98a40d2a68bf7157b938bf521dd923231db029a22afe7010dda186d3027d00086f3d801636852e2bbdf6946864638c97941cf639f80f5d64cecbce13aef14c764fbf19fa12a0cf074afebf4d9e8d48036766b1e82f20e5e05814753662d02e14f44eb6c97f85a78522e44c34c65a9e29697e78125ae3f2efb37651b6b6623c0740224dabd5738ddd5a65e94bb919b786593097b3e1c508e0881becd0576ed07ab9dc8cc076cac55519dddab8fff2e16fa26e19834e24a5a0dde1a6c9f8e90637b8bf282a6731a5635f1a09cc064d478755f82f706319b7e56f2e49ab537c06bf8b3a53ed2776f476039ad944d9005ae2286095a846f438c89de442f77f61b87c77ad5cf7a2c31edb9fbac8da6eefa593b15a4cd119419b2e532fe47ef0f211dd88057367817f742ebc834890ff6ceb5588e309deae25525964a351e22a9ff407f64cfc4ed3419af2d3fc17ce3e7c26c6fa9ed1f4e8f4623973b6abc8b70d2153a86392f738fb29f279812dd9a15d801ce0b3ee3d604700fee6062e04c4f265063277b512763b52bc6896590e2f568d884352c3d4ef97c84a102657eac49fda0b2ed02cd72d6848f53e5a6268a1a5c6cde59b509c897842c322f3da3c92ad2ac17dbfbfcbb5d290dfa8eafde32217acfc73e860e6fbc364c1ee21d08ef23e50c97b5914905c0158f6ab78b810d3492fca75684e4603fb21c7d0abe945c7a24317e44aec47fe52d10f8c5914d083af462884c90b545f5d866a5abbd43992141bccf2c5c3bacde5304084ab3ae628fa9f3d9bf5db0e85d0244912501161cf4fa74c5e5eb0fdda42da2406cb80d2cdb4013b714c8f4d99d42fe5382d76adeb3798ddb260c63dbd6ad0f2aa64d64c4db751d795acb5c47d6e03028a414a977baf570b7fbb27c2b77d924c57c9d1b2f88e7ecd016ee35f68106cec5f3269b0517c1f676ea2d6f697017e6024df6f656160245d0ccb6e016a9b0c9904197ff364c8442248b79269550157ba88dcd57fc39e673b679432fd874b14ae495326ce15c26031527bc4e35b6b8f3893a720c20ceca4eaa19d260b0cfca7cf57dfdbf84421aaf5cd5d9b0ad6d7712a3b99ff879874c069c58a7287141820de403eaf5bec102c5706a145c5725530d14856cd9396aade7ff4062980afebf4035f677cb23c938379c8ac3a6514bd4a9b21a9f1d8bc2a4e196fd131660af4dc21aef2989f21e6e0886956e0ec56530af95234619a540bc0f14d4e550aaf013e1da33cb90622d0d13ac50c022a7a10ddb1a87a419c35118c0015a4b1399d74861b2574a4248b44e5e421cddc27f08829b071e8eb3d1d6695e1f92640f00351c0396a3f1fa41c4d6f1323913d873ab0a8547219753d2b8e46332afc817c83c03412a9b854cea56b9a854554bdeca174cb95b87b651fc995f509994acd12cd4e7332df68b06bf651ee4b407d87b4e765edd15ee1ee0325f2dac5531d64fee52d6eb23b60c790c076671ae9378f9e7f7050b3ee0eb031062a9318f53bfe71c43a9409843c8a13cdc1090f167a6f1c066317bf86f136c0d6031c158a50fccd5d3e305cd30f9d7dd3cdd6522c063135273bdcac0f85029433c5f38aec9296a6e57ce2e717dbb8c4b63490d893dbf2ed6a96462f68ecd56046c533e672b8504710952fc8c21cd8f921240d38b34d844fc2d31d16e80afa945ef434ef61bc94738ee3808f8504458087495b2128f26148f4f3831ec62d94ba49e501c0edf6c12c55bd4352817b07149745f2c33e29b801e7011fc365400294e4b3db73d34129433db8dcc12d8273c24d5eb0a2ff42f7d5e99437fa53e20907cd4bd284dba76b50c2f4320c03534b5509191eea6820e078d854be88c35b9f55f05466b0e42140cddbe0fdf56c5f203a705303332360c81de592aeb5c3506baa304b5f809e8f6ae634098720a78941ca8113001ef74b151b6252854443e417966196c27fd5351e547bb3f02bee81efc3c7beecb55eae30068f1e02cb5a7fc8df1aff69fdefb1b5b9a13b164800bcca9d559b80021cfc8b0fc212d14c41c8a67d840accfa3c3cb68383f5bb9f1cd18d2f7203887383be612cbc2caf9e9d051f532f4fb0be4ce2a0ea5005da7388f03465b3b343de4273cff98d47a9e7419c72489e88c29505b08024b504a6baeed58f6f75ebd6488535d7fd3e0f9c9007551eca2ff4e98b76f58e0875aadad83836cb30bc12382b7268fa2cc2f311e7747b78ab60d6471d9dbbc1d50a7125149f06f47fb493951b2c7184237dc350f8cd7f1aa46a218a3dcdb971f679348ec9e0ca46b3046f3cae3d7e7ef5227b2ee51c439fa9598752a41f9d619def026b32ee20d3a3a382966f5856860ce7c8aa48f29d1eb952809aca205407712e01bdb21ddb1ea530475e9102ab11ca1c5050b43840a6ee7b6320a584e36d2208c3fcbfab26e702b887c7c0942fdd8cb881e339457d76b3bb8a68bef5cf0a877fa3245fe1d7b48db2d5481292e7a43ba50602295be42ea0b16e568ef8fa157d3dbea1a553623d3171ba2ca7a9271ddffb08146641b6d6240e7ee7d66f49aad0b0efc59f4ff31564d6fd7ff18f77b9dbd6236c4d9135c1d25f62d998c598fb5892ceb102b5b13a8d6ba796129f26b08f2f7427f9b80edc64b03bb1ec0157faffcba1de7e20c11e500ecf08164eba4b0b921c82d2adacf523dc435bd143b36bb77a9d57bb6090c802a3a7a2e1d0b3c3b3ae9028f39acbc298127ac23618f4d11118d275f6eae8564dedf8573e0337574c8bfa4b62a88285e64df3f07ff8f82774788870c63ff7954319a21cc51de72730d847b6e3824bce3550f2e19784866cb1c7490158e7e8bb5d74e56aba07133d1082e520aafbf6f49ed4b3e400bcbd0a0eb1eb33a68966da7f94c84a421ef37e2747f0489378558463793770d5b69848fa6595de124d000f42af58561bec2544311bf7f7a3111b92b7d25f68e94c61adc4e4f42b7469991cc43f6ff35a968e74876cca36bd96d0ae034db15e9a4a1bdf504242823090c4886fb2cc42c271561fd4ba62b30e8ca7b132c8cc25ae3283c4cbe8ad2061024bbe662ead204416aade058774df758b966441a50c791fb93844e520c830010bbf5cb0a30acd35d582ee12cefdfe44a0155dcac7f6269692c6a8eb13aa461a7763445c546dcc7769ef45b68d9a2833f80ed56693d5fbca1ca1b054e0a1582cb16b8370aa6a14aa2d8010042cb442fa645add49df72082162e1f3dd5aae03294977cc12b5e8a481b9a39c73e44cf83cc5e0d453a2804d40de6f564978d3a465a218f11fb40c305dd97920fa4328768c3076cab615a3afc781cdbaae27177c770e207492d932bbcbee9ac47fcc53c832f46ed5280e9fbe410610785bbcdffa9a642ed29ecba23f8c23eddf71c6abcc73c71bbeb580cfd4e748d4eaf7fea00dcf6edfebf46001ae9af02f4e74a4d0f700208688a0779ac7508475727033d5bfb5402cc41c88afa0fe04d5961d9c3b80f700763efb8bd2c207e705eda40712cc8123b8e6870f839c4a87617c29ca22677d1c6dd3652ed46a41f983b290e434dca9103ffb441134a17605c35923e685b6347c80b352fbd3b0a581588745af9abb7a74234e9f27ac19a7cdb24d4b319f3fa17f91565fa33e0a8c90615906c0187e63bcacab92de2869672d29c5a93e1c76e17bfb2a931ae63113fff5a71ab76022ae6e349bc36a394d08ca38c49068b6caa5950d3121b6342f285ea431f25a26dae330f129dc720fef86371863d0e5c9c484eef9e69f3a1bc92030a2e6ec19973b46f7767c5ab0f0bb03dc2762c7db4e753591a9a76cfc8f10a5fc18f14b8d692dcd87a11e9d662660a538a819284ba917bfceacb4336ecb3ad37d9c9780fb5d15d454e35a924260cb979128fe8a524591fe2c5c74d616853e927f8cfedf871f8c422dc34a028455e0a210528f83517c2a72259fe341d5a17e4db41d6dd3975ec1ae7838f7f66cc3f220ded447b09096c352c1b50c455348af8e9dfd0cb34889b49f3a6ce510f3e02e09ffb6e88c5961a446a801109e3d4127c3f5587ed56c34d59785aa5c5820520c4ff68277b39561ed3c5471ed01e7760e6f1ac1c46cc207bcab24b71aff162add6e9504b2d387bbb5a57bc14eb8ee26b2b5e1f76e3a5c98bef7eec68d4ca01e02e4ea1c0bbb4d2987841598a014c05e9a5191e2bb9f0d6b0a06f53a002bf8da2552e50a16bb9ed16b65fd1e92b6f79f8abe0680b36fe5b5d5e28f9ae7b87e3177f72adc099d8bb579ab87a44ed256084f5c7aab042ef0a13559404f8cbd0b5bb70fc671dea3179af7f9db0990d737e355dda4d8275c6e36d852be2ab436d8797049b4771c407e0dae4b1907566bb74018769c2bd04e5d4d093a8048874a3bcf216aab8b730ef674419c6018577e58e3893aaf61ff7de92694cc95fed324c2e3775aa3f58b157b892499f8771930f2baee01caf516b18faefc679632407bbbb31e71d89a899cc01686692b4ebf123a3189e71f4a7eaa315a7336c90673e7520e46c22796dead616c4fb91980557e4cffb5a6ed74757cd3fdacb96055d9e36ec466eb0b17a8a655c593bfdb672fbae57f3b6005a7fb60eb80fad3bdfd605c6c91f13bf2f11ca1337427e431eebf6c86cbf3a1c5aef651fb0b4e6f51b3b0ac59dde48eb517f5e4b31d2770b15621be667e0ab33635d512413fa42fd953ec6edfd3cf60d2f941b09c4bc391af41152fb3bc3e299a387c76952bc7c7dd0563687e8ddc80c5734a68b5ff0936748e03bb65515cfe9f7e1089586c2ac8f109d07cd644ae1365ebdd8900910382d3b998d8b94c08602665adcbfacc8e8634f30833e5d26c0d09ae93af287b7056e8f0898973211fb9d086ec3b06a302fcff6bdbccb000721296002e20be6313bff14440822a78df69a1d00aa4ccba007a93047ef4ff057bacc9facfcd28179b2335dfe38c0f10bd050e50706fee398d06d1993425c8779b8071a63da4656d7015478a4f311c9a60fac7bb98f9ff654b0161ef1a56228887b87501b697e10287ebfa8edd596a14d5577557283a490e24f2ff86fdfd14bc2e289981bb7d00058d3853610a0b33966625717f70448ecc8ce32fbfd962de5664284a4e549be98f5e0e09648206b58f29056b6db1d9f2b35be47fc2dc32280b35420f41ece7f731a0304769bfb8f14a3182378898dad6deb6f95901d3e2d27a6425261aedbbd14ec05f3ac82f2ca7dfa8ccf8b4f6d7ac7eeeefce2ff2b30666859c7f104ec81352ea972ebc72ac062d5d237131f0e908085d38dee9ac561fde11988a46e6aaeeb14a4e0be2b8405be62cb257dfc0c9a5ed6e535dd3fb3c3cfe21ecd6828bfa620ec242711f09205bb43906f7c9e4f9c9eb4fafdaddaa75379e83336209e388cf135acff992f29411c3f9eeeb52c6afe1abd38e3386a523c3fe90669f1662ec245bded0421a8788b8dd7695e7f41e921d1c8da2d79ba05ff9ceaa85bf28a8741b86bdd341f3a0f92154a2c5ac2e7d4aec270e5bf9c30840f008cc91f7c745c45113016748adef50c3271d0161d3a32807cd4925c75a4508185f4dcef684324a88a214cea617ca20fcf9688e2efe2ba59dbfce1ff5d697625332fef754bcccfe91118447087c5c6020754bbedf537587697b0e6fd1d5b67787fb6d8e0e2bcf1539aafb8c7cce0526e989ce300000000000000000000000000000000000000000000000000000000040b111821232a2f","message_root":"0x747ed2bef03960ec50e7efd2b95affeee9cc946c63c3bbd8b5ab0827c2806b8c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x4a9c2d2c5176c7508685af7208a78f30898786e4bdb56fb1bfa4f1ea9beb5815622532bba21ea2998d1a4622b6ce66f0b5ed1b1edbccc1672a18ee70962d6253ac18d0fb15f24d6d17754d597a35fe729134e848cadf20009fa8e734b0d9fd3959cbf26735bc2f2f26f412f58e721bc7c2f7a242516ee30798e3decf1e5a8cafbddf0ef0d7ca6189311bf7e3a1fc53af3fc0cd7f91456dc9bb04d86acb08b2c45ae51a09b860b7504762c0b84593550ca0487ba7290bcb20b4bf22ea75f6515d011b7593a62aae493c470f450f326ffa2477b99e2073fb36ccd6b7ebdc75eed080b3c7eea58ccfdbc10a61a75e4c0212c7770a24d1474a2adff4acacc66089593d0152444714dcd1eff6e0af4fe0e097106ed12e6f46ec77e2b2143ad2da425c6b1762779a775953ab67d62f4e6d070a7203ab19cddbebc41950db101bc7af197ef679df28e7e99f3201b7e4289788a085ee489140a4a675b184ec0d2e651b66f5de1e01f3e4a1ce319c55582460f82ec303b8e9ceb2c891b417f539328fc104879421828705b93f26393c021f93ca6d75482ed0dd1a1d8fb062c5de7153df717007ea033acaf75a891192bda9f14554525a3e50471bce213e2546b02c08f36fb61fd6664df5dffd0460544214d89c276fcaa9d0e1f1a863d4092e41fcdf59930c72b3932102db8e54cf376887d1c808a9338ca02ed0d80c25202fea1f9d6ba5463e674cd891c1cec5573ac43920bdec17c2cf91e49ece986f5ca23a1152403b272cc4109e48ab4aac013f021a00ec3b46df3a4b5b419e3017f7a0556c3a3bb583abfa2d34df880bfd9aa61156e8dc7e9b41e36683293a8ae5c0e77df8592c718c7abb36cb9b6e0b12ea6055e46f41e589e91df985f56a8600294771897eb4f8477f8b3c18b0799fcf0eb60d04b3698e53376c9d6076240b850b40c1ba7244961b0bada425d551ba606bda235342fba4605fe8433bd90d908597e4ec38e788a13380db071d3236a6c7c9ea97decbd3d6b4a8e80472eca2118c5ada6a90e8a130ea75612274948d3611930cd98f7797cbd4a5447fa39d5db21b35a71eea62ee7d85b68a152ed1a7f1b3b5665300d64a6a8c2e1c6a6d1e2951db33e0a9044d7909470459070955a385e46277f581c4dacb18ba42288b940cb6672f0c2ec0e7005c0a8ef2b8ab75c8c85fd19c22b9d06c09e3e5fbbb3b13c5e7aed1820685a3eb174fd01f6043c858e7ab85d1f0235ef1d9f52733411edf15de98c6c727e12df3041e42434f0dc8f4c814e705217f8052b842ab5e8c91d292390efc9bd0c4e15b84d5fe1fa418a1eee3f0bf742e198433c45d001883fd875dc06d31abe6456db1ced3fa2a606fcc3cacc1058a30caf51b411cca3b7b9897e2cd467a663154a965539bee7adcbe9d5e164bde0bdff9b40e80653b082a42d8e35f53d7dfcec3eadc4860f30b2329806ae4e38c11f904cb40b15991b238f1fa96839476ec2eb750d1882fb86d93d12107649232d09053d8706add188ed32e02305714ac03bb3fd63318883bb9e523b5e42781243931de48429177342c6da81fe32fed103ebee86677ef98c3fd36306a7c245fbd57c7ed4f802da18c226cb059cb7aa3c0508d9742aaf60e3d8cc475398c448ae18b823a61090bf8ee264f7b80d7ea04e29eaa9bff49e687393a5c237b186f57e45d9cd8283b2f81211246fbc24aa090c4359c46f51b8eaa8ce9a93ae952a24d7da110a26037f50494bcafb67c6b957979d43663bd88a3a9197aae5f12a1d572e5731b7314cb74a81278f976ef2fa6837b767c04b9eab9f73d49402f6ad8c58e6501a20da2a27791385e4b92c45f5287ce006080ad21027fc33695b76555b1b121ffdb444b572ef6bd576c5dd1104ba4e99e55bdfdf5bb5d7bdd02d4d8d0ad370f5fe83e07e4e60e18b9147225cb339de1043df2c45bfe9ed67d7a31ae8ff9bf8a0e8ca4feafef27f30287f611401395368340735bceba2c60149f720e34e5016ee538094f30d341ca09e775b7be54d2adc7800830d60e4f09382da8e9ff0a08fc1cb7c2cffccdee7d9f2b9915e806826121dd47990a7821766984f3904095ce45cb2361738dd050ba95a8b65ba89d8fd0788e8a7eb7d1cb5b06cb57bf1054602447cee33c45061bb587a189465bcfe3a8c319b8d2df52a2b89442f571aaa9931e2e9c590cf60bd21f73532b063193136568cbd1427f4ad8afb1b02caf67f35dd51f3386839f5aa21d1cd6e612a504d55ad9dc3c227ae34d6113c849276cfd048dca702fcf9a307e9ecdde5cfc91ff364bb8507d3e818a6d1a15ac66a02745f64be3153cc81ead57fefe0316599e67560255b57d14bec443eb338580adac61bf43527527773e4429fb7ee37679dce1ab384d93d135a1aa472b20f567791792038e4939a8f93164c278cf4de024216067af654916a7dbe9241a3c969b8a146db651a459accbba0e6fadb18295b8a4e78b9f305e29dfa533125734dec8ab0c72ed60b27ba3327c4ab3ce6ad0fe4a376b78b4de5966e7ee4d1ee13f415c3141f4538c34ada4fb814e309677f6698a7404fce2db04d41476c692182bef050005c0e6dccd6c34e2d7fe699fab4b6d984059e2e12b09d4540aa48f089b080217f738f0c75642909ae80d9f8f5deb39f72b8f67b99c9fc39619167882d3584cc60278c9d7bcb112e2cb3327250b6e33feed7b8b4f0f058957ea3fa15ff26e40bcb17b26f2c01cb48689d9b01ecdc8442b7f2207d0fc47a25010ed8654489c664956dce0ad78d0f17164c23738f0034876c84d11e13c7770ab77a97788c616cc645c210a324d459df914556f5d97f05cbf4483683a8379fb33de3ea9d90f7d78d303ed01f33e7f79b6919fc64f4d49e77cd414937064353d7f5c98f4be202fc1ad7ed554407b3deee1b7f27a2c521b917aa5b4bfba9dc1a53eca36520d3a04544c880fde49ab2750efe6fd2f26ff1a55c5a849a9b5d1d559fc75dbb802e13843e80a76a47f0d3921584eec669def017737436cb7defa693a0c90019cff967dcec8861878997da2e1884e21ce96406ae9adae0a9df39f4930da34eb5ecdc67c117a9bce1eb80a52aa29d2e9540d226f56a1149e7d5dc85cc455aa6baebc3ee05cc085cd3223f8030acd94403b46de14ad5efafd399f3bdcc229d32af553314f03f00fe9007c06390aded5fbaf34bc145cc4e72b9fbd3e65c3ff3cd2492b821c70e9138fd2f327fa0827412d154da7c01b1eecc4b472076dbe5e23154f9bc46cb0724a7d9526796c89a0301a0cd0b6b320370d9b7e37f881ab8aecb8588f06d10a8649832ba276e686d98cf3ff2aa4e57c0902a80ed9476128c948b86c3bec161f623f349bcb19b62e1b398f4cfea8506a64285f7cb3011052bf510929f4308f11787b5d0b12eb01ca4f709b38b2c9a1fcd3d9efbbdb7908165d408d5db3c5c09ee6332bbe8e0d2667690aa580ff37a9101d356607f3a7ca1d9a12e33120222f40a798ca6142bd8292ac3cbcfed25d4cc194ca975ae4ecc99a6336fed67275b8ec18e7b7d077bb1995bab632ac381b58ef13865b374e2f51f310677c394d8f12c32f1e0b94cf19c6d705eefa0999adf907513fe9b693416e5c3a09b77f7f631019fa8fcc317f8af94cfa4a3df8c9113a46268e8e823f58406aee83be","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf0ffdf1dc0ef9f0a87c0f726a9cc872406d240698a66cf9cc947320e9b6362a9","signature":"0x4dc760d5943aa7378fb2ff0f5e77f4b8912797a149440778ede4a23042d7aa7b4c73eb561b48acca80baff6ec3a8c41458046ead84a220260b7dfa203e35aeb50ab6d7ac02703ff8f4f1d2b4f3cc6257f290b2d9c797227bc02033e488fcb1ebddf9c0670d5cc2c3e9a808b25bc1e8cd9064ee70bc99fe1d7bbaa6210c2f89bc5e3519432994fd8cfd7e0d7acc300c1a47d0293d2ae806681803f2d4961962898ff30bd1f12bdb251e01d8bdb9e0b03739839f1cecd5326ccff05e0626f3e897a251540f781abf26e075a94417ff7438644c8c333552c01304623cf2cda520f2e0c72e82a0066f490f9a6fd86852cb70f6c214f9f4b8bd43ee27781377d50fa7d68dbca435ff2b13175a78617041cc4b775c451b8881afe48a3b645b10f6ff889e50aa368b9c133749555d99005b77bac1864094fe33d67fe5167748e54c1de00ed5f16be184520689f01c69507b23d017691c03897b38583f2442ee792db13509b18c59afd50f8ba5a97b813235a4ad3cceb48db85c90eafb41141f81c6379e5c5ac89a940d2e7720056496ab81078ee87e68b09cbaa00abd83496dcd4532eb036091dc4283e16a2feeb56d5acb42e523a6b4da77e13ddb73bdd76efb876da350fe8a851219af485c7e62db37102108ecc5ac3e36a19f753612dfaf7e79483c69d3c607e199dc4e71387795468675a541cf4d0a9099a078469947e229eb16c7a5e7620fc59ac4f3f4f31fce61b6b241edbbb147aa88a9237589763fe588cde861c0d4bc49a0aa6efe4a9f09e2cc34028569e972c1f1ebd9a461efbb006cce185504957cd597da5b2f2c4954a6b5cb7b985b2fc97f76cddac9579a5a7d4ca41e41b5f79f2160385f0defbe99f46858e1c42e1ff0775abc4974c48588d6c43c2524b7060dc5ac292f4fcf87057ef52bb8d22ce75f80cef0840f76b90e94da3fe120872c70ba827a870d10bae1815304b3660b372e7918a8c720d647ae4379496453a68f65f2393b28a97d691fe4fac9e267fa42d5a7858ad454a0c7e1d9af6156fffb0cd25172cb393954e6754fd2403c5b11d0be86c4cbcfbf170dd024e75f43e2d4658d7098f891a26f90a862b6e7b3cbf76d4ae02193219dc74dbf25e2360e0a11973962cc652f47a1bc847d254e66918ed81ce3e578b2fe3aad21050d31d5218fbc68333c0bf129757b993da77f09123b5720500ffa65a56d3643ab03d92738a4c98b4d57721e108cc19d98debb065d26bce250e3bedca82d774e3a903fc2ecb75f4f6120265b5d6c72e0fdbc0e133aa7ba3eb77ff48329f29b79ee13ea0e82cd97d600c97a77f2f67c97f8b04a73b7622a4d21ae05d96162517f83b898c40d59300082527ecc2ab719eb25b986694604d38f0171594b1513e1426d9b61c743d5c4d08729cc3e03e62ec482654133548c9711f33d419fec7c9324c83046cdbec48a4039b39fa936e56e635ef65859759f8d3e183659e0164d5966440c80748336e31aa7484745b76d2f16aa7e8b80cdae6c9fc1a53ad31873f33a44e9afd3b29b759bbb84d98f132ce9facd87a430489a23f26d87d74e902b4f01d890b64cf4c639eb369313dbc3f9c241ce5713d4dbab43cb6964e38ab41389604b9560bddf0ebbce18ff857838cd23dddd6658587d83537a725886da3edd9b9624ea3d7f95ecd543fbf51b0215244431e5bf78590eeabdcfe9609260a45cea0a22b87b3e86952a143390f4c91b059d7a537755dd3735f512a3a559a0e015faf726cc8176e1e7201a0fc517d9903ba077e7963e5f6711a55f883291fb4126b15233f3f8b9465af5924f11b23f73eb7a7aa2e741cd020da6fb298db7e9e650ac08121e44f2577c84886ff547df226d9b342bc596488629ca62b4afe1ce65f2a956ffb6c4a3ea7398ee92f13d86d9c89657583839cc9f1f4774c3bf3856df768ca97b0941df9c5b8fbc82261dfb3d4fa879503ef501c6aa708c4e4df015c0ec22d03e7a77415f1d99db4dc2ea3b823d2a6246eb5c77fcc129b8bf32bdad442664fe9684ffceb10f67456967aeb5e95e1f0282e2e7d1892d55e01fc3c3e9e4116e4bc55f3f833a5b4d5c448ea6d0d875e199e2d08657bb7a1230519e259379c86205028343c568ce60ffa5ebe3350cafd6a8385aa5ccdc3f8e005886b25c66e156b649eaa17a34ca02e49567cfd185008d18c00ee041dacf925945c74fbe5783b0052a99724024807f03eb28d70befd497d37ab1bfb3ceb6333708bf3ffb3ea09840010749e8350cebda5b44bec6aa8338da74fdc4bea4f7a94c1f207a58ca2d74fbf643eb8bf4cadb8df4d3deae9575ef53cd7830f46ed0422faff178c149d9300b406ac45ec7d79fb99e6b057ef7fffff413880b45233b55966c733a624594bfeb74d9ae2fa3130a2fe1fc8935f29c749c0f2af928c8eef9897769a9bb550a137b23fba0968d4e8a8aba629a5d4b18dad5a43ff656cd8624b893ff686f3600c6717c2be53074d070fd2ef8eb4d640480c5827843d24c60d0a7f97d95f4aa9f5b188bc4a9a9ff1f933784de670ec06b68964ab8e13cfe3ee3e0c50523884718d6ed923df410e24b4db2ce3afc9740bc5b7aa989c8c8bd45eb775a4b4741f7b0fa9513009114d7532a03edb7a079e0a0f05a151ec05e25a124a5f6b472875727dbcc241644a27a57daae34c0719ea0b9c986044aefa421f57219ff62d17bf5e04577d3e8e1718de3747a643fdf5a201c720f3d5c9c9fffbcde07487d295019b92ef654dcaca7995d2272caeb4e8d4b397ae006ca791f36ff3191f69626106b2c7d6a55f7744773d2268401db714eb5010de68ee5db7a7b455f85e4e731c1d93d4c979dde406a390ec23eb9ddce610f5f8ad714422230f9a8a7ac682a2eed7b100b895f5853d745fac41f84c74f865a0144683cac0262f93e73f2dba69c267a3256a1546b29d0c1c5c20734d02d80f1bef57c3194f8e4084a0a864f7180740a355484ab2dfba1f60833a2962394a73b246f2e0029094e6df2b33ea4e594a4653dc519b4bd938dcdbaa50cb509eba90f0ad3ae0062f38e03d4da13f9d647cf073566979e0948d3221f27f662ca1c8d732d9a206509e37bbd4de2333a3370049ef06cba7642fa6d3a239001c1dcea2ca2221d524d63850c7e76906f9b07b480b33227ee6b6429fbaacaac937682b2e2ed656e3c2f424dbb86b198dcb4407322fbb7bbe993c3f52aaf984534fbd421d5435e69c50c1dc145d5914670144ef437af2ba47e6ee38bbc5607e80bcca65459d6682bb0e939a16695184348510ef4ee1bb10ca67845fdabd5ab63973640278ee25d71bc2faaf5d3c3d790dc679d16ead2950c1ff53fec79e7deb1099528b090f9054f94eb279ea9a35313a257db921f1e73269107ec4ac8739604fe7a032ca228129ccd1ea80bcfc7da9844bef07a6e6c4343faaf7da3d31ad705b474672998233dcc9287838ca0d0a742271184d7a3b9ef5844fac3b60492d4079de0bf06f741148c33581bc3984b3ab60d057afe3bacd5bf414e0d67b6104893efe1e84f1fcff557e3bbedd5a961d6e418d095cb768052203a0411d7805d96d07039294017beb3d2224d4ca54adaa2fec7441b0799ec890792f3d0a684a6587b20be970fc36a4b6cedf933e51ba5a44c0c48a3b61ff9ee1dc6625903cab4628d760e1fa9c1328feb27b8b7795870e44ac5b0a749ed98e7bf580d673fe5ab5a59c906256fae6f8e20bc0af6d41a05009f2992dd2538a86514a6491884a66f3bffe612f79541f517e9ca2f34e2929c1f05d46d61da8099d59d4521e949be2b5eb8449fcabda809c528f8e31101f05ba65aa58869db8d680f79a23f2b8d4410b2c712a5455df55269292328c6c1a119af8b4bbe5edfbf3ff3a8d0810e7d8269e0c62f5bf5b5487b3f850c93a50633dfd9319a93f0f92e2e45dd4013e480325c490919b4da286b36b8a7ae6e14ba998e1689b335495d5cb119b940a417e4f3847ca029e20255e0473cb9e2d52eaac36871e94a701ae939d10700653901796a2e595c43c0716f763d99c7a95ad8fc76db3cd6e213044d76044f53ccac4ba2ba11128838d36567f4a938cf211c2cdd34e451fdb92d1e602c875f0a417346098669802f3c235efa2bf5d561307af3139b1eaedf89bcbec7f9b48742623746bfe26608a3f2d44e8ae2f7beb16d3eba284ceef2793c1d14eb4c14977eac68b9f21a2fce65287dbbcbec8855b9c744235ce8a2582b57851b1493a28f5c2d609d7aa5ff078f73ff72566699c45265bc1ecacf1e8871c55b5c207533ec0843655d33d85de2adfd87096870e4d5984b839dc149890dabe6aa38f99fd5d03035e1c1fe997b5fecb94b389dc536adb1668a29ea2eabc8a2a698c606c51e5d12693893f494977361aa3ef830cb161e085f10625ff784cb20baf1cea11467ceca17055a11e620b8c87b800832f1aaddf43236b5a2003c45094ba6c7e214539eaebaae5c77be4b33e09ce1b214afdc805aa46f71e6b804512271bd17c1f29ed0f0c748ba94611c15957de981cedbf0a4d30d80b1e2e294a1e917788e99b857bf09d5828136f8e4b6714a109068af6c1f790b6e8afc4616c6c543a13e145f4da66c547c6b5aff2becd44373ae383c89a9b2c2f0720690212578dbc4dc45e5a5d2fa1a519feb33d26ca9adedf2146ffd5cafe3fc2b5cbf497616cd5d34428ccf59b06a04a65c07f6329a7fd67633972acdc9e36c0e14c2f3c301c4f0773be39bdbf43fddd7125ab30c8361f2079e77365a0e989aaf6e58cd1e8c6592086e8d9dd3cec9b0073e7fb48dcc68fc8025b01dd9026b3084a349f00f04f23df88788a2c7e8e4ce89be706f22bd7dbfad9d12576d2a80ff66a9851483d26d5bfa722e7b01380e51dad81bfa5ed422a4fcda3e4a02083553ea859b956e10ee362cf68a529ad6d4f158f019680923accb6f97b1e04bba8305513901e683c32acb5f1fc030cc0c227595ba2f3fbb2eafa5045c58042c546c215aeb1672239e0e463e742869d0f3c7914c753a4b7f609d1b900085f25d64e78ea503eea73ae44854bdd9627fc9cc906d0b1d958b5bbd96cf209dd6032fc19fef14702e09deeedd61fb0295b399af515b0f85d1010825c869112759c045e86e4adff90362c0cc9934ee38a1932b0e0d5c661873122c4fdfb9d4e3c8f2455c27ee424892b3f78b6a106994db8c41f1f63171bff4041c0bd1c79b7f019a280384ac2d90efd3b6ce44e469508b8f71386f099e76da86394a50284cd112e5a6681bc624cf6f0a295a7d7a646ce30a18879487ea15db6c64159ff8c9abd26d16774cff418560e1d2f90a34fe67a77488417b15827e4108c868584cfdf575ab9a9206ed24a7882a282e4354b1842e055310b0495d96b82a75512f6118e140ab72fa32a4262399591c1a88d0028a32d17e773c0375bade624815f06f943ab84346b0ad4f0aa0624b45168df70aa5abcba73e7db4ac4020bbd17fd2d72ce78fd6cd5fa5570db1624c818ab9aa96175d271050f9ef76a3913f1b14d50f9c013dbb348f9a839160361b1b5161067d6156408221cd0b5a43e5f5c0624930ca52997c72475120868fbbe38d8e87a5fea254bcdc06712d545c9034fed85b935111607f9d9ea338986cbc02d9761f88d1b3b2775925807ee160338a90c2f29f200af7546ba41cc942175ce4131d9ccd984dc4913f69d91ea9abea3f746000cb2407faacbeeb7c89d6ede7851e4ff3160f00fb4f1c3f5219d0c9fc29cc592ee6f7c7867165f81d78cdc984df283a8457109646e6152eeb117706af074b08d4555b5a590e1f521e5c001f0cdc66a4eb66acfc3674a7f520f611bd47adb72833aeb5ae75b215210ccf67fc4755f4efe27ea2213509735dfe6f9174875214e61a6bfcfcceda46ee7743b78d242a42084383a60e20841998bdf87b96e2d6609d9991d8752c9906c50d732f5d4120a11842b4f46b1ad910ecd8a2b2c9ad8143ad61b8329251a2574c5f1915eb75060378a810309f36e4628b7f7436d8b33236a524478f13589656fa8ca76781b14d44f6d67d802e3de4422647b197f56f1493d18510b071922858701c15ff635fd0851aaa4843a87fe1c45334a30488e9261abec685ba0d2b1f4434b19d70a4679e45c322328968ec73705b19ed5968734bd38a14f59abdf902594338a718d75f479b916d825244a5b7f08c39ae23f56e756852f17af40289fbdf7e6488f722fe64abb876be3496f18bb9ba9e3c63c1fcb30f1510ed3c9bbfab7b2849ca933f2138791240deeccbc7e1a505e0afed3f55699d3c95d965177fc12c821db99158f675993bc21cbfa3b4a88e57b8bf143e0f8ed9684fa154eaa7d76cd5128501c8b6dc312920b5aee2b1814b9f96dcd33c4af464a7cde4245c38e913eea84d9fd195afd68fed3b532f545c6865016bda3a823f85a4d107233145495e818da4a8abb6baddf64e5b6198c2caced7fa6e9eb7ec0a215f7dde456c7c9ab6e0e102060f4b527a83989dafbcc915323d454b5e6578849fbac3c5db000000000004131c20252c3846","message_root":"0xdeed6e4c436847a0fb545c13c0083778c1c896814ea45f7a328f1cd46a71e3d6","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf3f5e4eee801ea3f58a324a546781d6a26eebd9282146636812397b3db6676884deb14edb1a2aa19ea83bfeffc4007253dcac41501a94ee3cf96d4c7acb88802bbd876205b7adc5d54678956744c47b7fa326940df2e6405d22b46c1af76e79a751221de5c065a61e7bcf587d8b9f40b84a5c38cfdf7e1f14fcc091bd7a8bb49f67f9ba04b1b2d29e430a6f079a9a3096d1f19438b3e241f1f1f7265cafe012330b7dc75b0829c9aa2aa44ada74b941251f1fdc590ed357ec6a45e362ce71799220d6c14a2e3c7919346a402fcaac7deb83035f4fbaf6bc98897e3a2640d58f0184ee4f0503a295e8455e7a77e18db3afc036e7f09a1ac308673e5c775e7cc54f68323d246dd52642293dd197793fe98120d063a810232219a19fce656a0e67d405022a9743cf24aee2510fc709d4a42d3d458e5092fc0a70a458d2609dc70c5a295cd456cdc0d74f06731c51e4da0ffe484993b394c6d10ac1ed66a22df8bd612fcf7dc27f26a0adaf6d4e6f913791b92b4ed9a4a75ecfb656973055e6820b27e855a95a0aef4f44eb7d21d633e6aec9b7e8fa0d1bf7a20247d679acf6f3aee5464d2bd06b4a484937eb7ecca8177b45c848430ef87b1784c0e0578279a334bb22598e311ec501dce4fe48cdc10807a34b3a882e2c41604c36dc6ff4fb41f37263788d1765a05c9393b46972b96a0bbe30d5f39d97c6fe2d59e1031161c67f607f584dc4200641a01f6819db13846891e1cb483279a385808c4717783780ba20c16a81562652ef9d13d6bfcb4ee646319f9436acf4529f4c7383a309f5a013d964d54dbd035a49fc7e4e81e5fc212d613993d14e9d5ff0bdf40432c5b4cf398ff76a9fd5138f2d6f54e9b22132b8a50223d9143973e78cc39bd8eb730459df334936d46f2e626b8d992d5bbd8d9aaa637ae008387955d95419156151b913d44f5c8e74476b00475d62a44d7420352bad745f9333cde82b186ac0fcd1ab5a34a2b6674f91d62149249bbc4aa3a6581a5c658bcdf6e637358df75ffeaf590368838d933bb5994582082fa4590ec3b4157578ac2512e7443d7709e7e11fb7b5f23f0732d35a3f19cfa9f7ad20fbeefaf3acc74d51b20d44d5dd2a590e7d520d6291aba9069b5a22be175e30adda82cf22c61371a8e3f8da8c8d5aa3f32509e904ce528d4f9e77446ce0b95ee41e30fa7b74b9eed8378b3109644634b533978336c03143004a55d76035acc0ef7bf606c66b611320ce9152266f7d7354f7cba2619f007ac452b6a0ee45c46e96c50c4613ba07662c8bea11cdf2147e9807f0be9551b775ef89c3a0c754c08846dc2458f96d26af57e2e6493c68531636e8dd341856f41ac425b766427e85d2d1d024386523f2ed003f280fa5d820ea86bd9c1019de4600da65e499b7f02ee60e8e67da17a050e9d9353614ad38a58073e8ee09bf4a3a9d0c863be737afdd14b1c835c14193ca3b4e7ca8015be22e0e6475e7d51c77d33c450626823106d542f08627aa1c804b05d22cc6e8cdbd4b98996df1667165bdff653721bf7449fa400a4d182c8b4f83a53cbb184fd5c2dcf24277fbffb7fd99829b28e724ec0622b01fffcf49f3dee8426eb9584cea47e8d66e648cdfd6ae18c6ae0453eab2fd0810431c7253b01fafca16f44bd1c6727184484118f6f585e3a71008a9e483a1a8ee35c8023201e640dea5514c712805fbb86c7509d9a26930bf1576829c2c56b76263491be0e0e55cf783f44d3151b12e483bcdd7c41474e7e904f1125ff093fda37d8447654d7abaf1bf72c6357213d8dac9d178917e556e7c79e88d244e6c6c36e935de2ead036a60cdffaf168aa55319e22f9b36d9e44669a6b0be53913c4538f4465e34c9ce7bde57241852e9f3243a89864796a3880c53babfbd4d37e52685f0472511c1282023b3bfe51f994702ac660238ebc5846ec714c7e0868d7b626bbbe13b25254518e9c6deec76741b9aef3f44e98e435079803fe3ea45a39f17a35d88c26fc1b1ea85fb39819f27fbaf4c790440289d26c2234a13c724a6c7b3b506539c521f15b9a46f8e96ca5bb0b316d22cd1ef23c6c78a254a46c65d50cb1f51a8123dd97632f4fc4a70ecba2123879b562b5744a82868c59f983b47eb5c53b75f249def12dda2865f7f2935622f1bd8552b4155697b95560026389babdb4ff66cbb99ceffb8abc7bddcbf5c8c64d438a67659f109a5ee25cf6277c76829a1e7a08892da7a4b1e38156c4794b9dc09d81ca7d806fc1d38f0ed82791ed12124df2bd8d31d64ae8859cac9ccffb31d4db5baa6dbf9609886a4d53d6b5e9ca17d00ddb2a7d4c0d7f688974edfbe4c76b263febe6dd5bfda17ec85d5af051ce550e83845c40e3e2bd733019cde7efdca4b2d48a02101579e089cf8b4ec8bec41aa6fb224f5b90a71bbcf4e6cccf8a3b83b3aa943c5a377cd50892510eb39ec82f347eeb2cff8a494205b2a9f5ac9840d5a3863b8fa4c8521aa8ac8e9712d1110537b8c5245aa1c84deb0a02970cbadef762afaba6d0083f551967c7b5961f3ad421cc0206c743220937dcfdfc27925998b16489ccaf03d936ba5a15b7d9678e510e6b243496269eaf6b1739ff6ea5a1c94ee7ff10f93c2ba0e8ff3c1943476b170ccbfe57308f76e59886202bbd703dedb91fb3b05f4cf3a9efafd21b425a3e8233fca8bd3e2db8795d6977b67da294e4bfa090e56b8b35276ccd1e65f50393967712b79ac5be0176765f8e8dcca113c0356fc4bda515b3d14f58d34d5bdf38514713b4710370c5bba217597d2a081dc44862e91379bb8057d6d2c0dba7cef2c03cd03b39fee41a32427e214b06dcded8ec10f1ce65f2e9f0dc03fef7ee24a12ae2bdce2635d9dc4576ea5ae41a84120cad0f758d6a5f271c9e770daf2bf341030ac528ddf365568d3130e9b1a7270288b6fa0ed2edeaf5da6d9912001ed6df99a516e222d2fd8fa408b44015797c58b7048887dcad79140aa26ccadf9d8ddbef5593e6726402cb793e51d5f0599618b39c1b710389db1fdde94fbea581603e10a833515cf8bb1b7e410d1f7fdaf8b1d2d09507ec840fad88eaf22ab9cf7b5e3c3d98f687287c2ec21daee553d4041cda61d98e5741c4681ebb6492862f7e50017b79777acadcd5d3f38e9eb0482a0903bc8ed8f286dc5c215cb12d24c057858973107e0fbad3c1ce6f9f3fce3d7a97035424dcb28f2aca21227241a77c16ddf72842387467afa083f4fc426e0bf20b13f4bd820f9b4b5a1c6f4efe5e832074c0df3265aab28fd997967b7f206c129a7f5590226aac3e84bd566c6441297fee1ed58e9f434b9d64926d5491448441890cdc580c276b12acbe0f50f24a9ee3a95db0494940780b3cccd3b6618716d4a68f65e9661d5eabf7e00bcfbeaee79ec5f49521df7d1efd314dcd282066b4b8b7897c56aaa9bd2a11f33856cca2239ee5265f35c966a2796a018760d986bcac914d677891d1eaaa7c4bca805a8a5429f964d205648e6731ee83fe2a1ba43d39b075471e1d05dc24e4b178e5f916dbe895c62d660909f16ab3dbb38ea42f7ec87dbfc609d4b09b6716f850d4b18374822a3cffbbc19448df753336c550dbe88db678b60de5443c073f63672b81f74b9b0125fb673d0e353aa2086aefa55ae8fbf7492256ce9c070d","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x5556a6b5d2fb5a9cbbd734a1d979be0912d7bcb07a578caa8e549079edc68222","signature":"0xf6cb83d66e327d297cb15598f5a81a79e6462c4cee191541063b1f5f347f28ad366d8e32f620871c478b919fe19dec142ea33d817e48ecaeec62b71227bffe2c7b81cff4af0c055a78d6d42cbc4f2d0ac5005c737a2d67fcab12610e81a969196417d054b6acadef7cd71dec3a4178a33762a64edeeed405d8656fdf531a6eeb58fab1607b9ea56c109f6ec681e122698f8a655ab394c4b5a17768f1e67e9ea9a3a4a2cbaa1619362f3c19cb644d85de1608dbc5c7af4d48adfccbcdbd3e1621eafe3b80fc1a9e10b6b905ff1db7e4c757f2fee4e3909e8e1f3d720836024c2a66af4073094d33b0e5bd2f9ce7ea239eb19dfbabda9b466c44237e753774ec8dd466035cde30bbfd78c1eca7618f0c10b7dbf178e665908ad558f5e2fc035eba91a783c4ff126d37f2eb7cca8c6ce709c84c3c10b1b483e9427e6834550c8b172ce16ffa74e7f8e24be239b7375fa272e823d8c15c642b149b131c421265f9d8ab5735007e57c6262cb21f181fde3c218444536fa6707bfdba7311e3f169b2465c0c991b09cef3a591fcc47b2b1c820cb5d9c73e1cacbe0a7d988441fd6fcfc7eec367702f3ccf90e406701307ff6bbb4a1e748b9b26911f8d5535fc9edf55a42c86617317ba9a5182434e3582bb82394a1725e71454b0b2da54549b6244694c3ae9d1c54c2c4e687391345ceacea178919821b6e41af18ac1f73a6aab79717a7a39da725b2ce060e1c4009ebce9a6a79bb19f60a1e61c60842467135238f93e695f7d8aa0b6d61dbe989882eece85f0721b4cf7482006c904745226f2a4ae409968f6c0b4e229b676d31faf711b3fc14f6290f2949dda9e01c5adb581c1add83c525a0cf0056e37f337c8e2bc14b274fc40bb77b2e1d69eea81576eaf423466b21599fdb46a40476895ca09d5288986587d9560e24e3f6a980e64c00799a09c33bf862708dd00a1bd4467e37528f99b3bac901029f46a768284221f9faf683e34d975d5b8117c8bcc2799ca84859bcdcd05175e97e260ab1a89f179f2d4d8cda1e07154a6909bb504bdc702ed9968292287e16a22ffc8c1f7dbf4bb2f401118365575a9bec8acb2d6ab9373023d986082058e6ef58f37183423c28ba819d5f965fe73b6a8d59101513e521067726acc3ccd60a31738af6e7f54be7c4d1727d8d87eda64f9a713216e7862287737e8cbbd8b066f6fdc410147febd696b906048b850f9f0db579bb725a51a7986d5713fc9430498ef0eaea1925027bc7ee03dc1160028e1a7e10686b87884cff10bc2a89f773792532a8a4d13186f42b6278437516c02e2c8ad503bd599b31998555a2b22412dc3fd0c738101f04535cc5878136c26199c9781cbe2720834dc9c7c15bdf45de8c75112ec2406c6f2668d7e5c6f1aec3050d85ef0f44ba639d656e7f0ab1b741c959017337970e315b6e9bf9864ccecfb0d9877acd4daee690cfe0ba0174a505cc2042d5be93901414b6932a74497a815518a4fd1abbdd7a87db6437a93ea7c8f038f724868f44b48e9c88f1f832f3e62fca47a48003fd6b7000f35be99e83579f52e991ba6339d51f8dfd9b4380dbb4ac4a7e06ad68e1159e8e2b061d896bdbad942c8a79b83251265675b7e8c1998e7b42111a482d9dd150deef1e67701a5748a1a411104b97d7d04722fb5151bd22ef70b2e927e3e61624ba5b0be44bfdb6e32b91cabfe3dcede3a4f196ce10836ad21f228a2ce06e2dd677ff39be1bfc4b7a6620959b0901418de8a8374fea67771b312ad093861b4cc671cdff97eabe1c8eb6a5031013b133d6981f362081ebef0519e96e6bd10340b6c33b54ef94fc60b99d4e0675b52f85b9af00a90fc2cc5caf2fbcb30e125f03a2bfb7ebc34d543cc4b94dbbcc1c4ed5c03ce2d53a10793eeff685b38e76c46cc0f164fc4d723309e73b7054402f27b58d5f2eca8acc403ee4706fae74555060cc38866e610c1198a221dcfcf9c51929415219b5993d8f262655a399fda63c79a341e0af77b52ce3413e42ad21b9fc9d21c0d2ed998b8061f10a4f51ff0d61de73dc8bd0c90596bbcae50801046699aaed0fe72328daac59657d5cde1af4b054ea6d769a77130b8fe90e4076569534123f2f02e938479311626524360e326a66a29c3c9894983ef803a1f07e450e3e1a4f1887530acde057b1ff1535e429c285a6a7e67432d91b9188a0c6eb891c9f2a4716d5e68de9d299d56589e6619248e61749e60b9180cedfeff40bc7df4371c907f48c52cf191726ecdfed6427f95fb5861852b7f988e7cf4be6ca45628956966823003225ff4b42d7c6d1fc2ff35fc2c9cd82069be54dfafeb3e07a7dd873d52974a45699593785252e8d9270743148942ded1dd035f83668ba902cae493be8cd2f23b003496a848909635d0209627b3ca5985147a3f59cbec8a8b15151190c69485435d93927f76d1307b1d0d0e6997de2526026b5e52b4b407b4ef3c970a44d2fd1cf1dc2f3dad295e1756544a7da6a0236c757775b622d43cf8336b1f4d61ec6281aee3678c3137e0fcb2bed5b62c74579dbdab52df9fef95b39faa776b7e5f2218418f9746366a8b31315f070bcf3d04e3306afcf3913735e8f4f0fdc55fd6276f1d27cddca2699d83b2205accca13b55d6ae390ce235d8c7a566a42427672232d73e335e08cfa2f3c9d2221ebedcd7a4a561257b747b963403c3bde0d1af72de3afed4d7ce2c0bddad9c9a44719b0c7310b640150ba1b366ca15ac4c111dab42462a5d5ef9c0b08749db60b98a61b0aee1c853adda8eb0123964bbfb70b69dfa15640f7a5440dd7499ff411a66d05acb1195345d1384623656e2ee1b0a46c552c9a659b2e3f40eaf465d3caa347c10d3bfac0788a0f67c3dc4a9646eafc30683e46b68fa182a5b173a1636099e12de9c98f1eb01e05a03fd18e8e4ef8d4d9fe606221fa14ad07b7e24407ec03dd6003146d4dd80b2532cfea446e8a9edc90a23f2f853cbc5b014dcf4d36f8516c7a1387f4c8056895b9bc43ae9d3334decfab2ca1d4436704b0a6217fdf0079023193e29b3ffa245593591945a690df257b3dd12b458583100dda1ef0dae2ae5ce69426ba30c2f7886d6af17a0326e43039df16d86ad2677598b887793b740afcac11307955f974b0ae26a8c735d5179e34b9c07e6992ffb04f942a611d4c33829aa4dbe0add9ded5feaf63cdf7d34c347ad69553d5fbf171d44f5049ca16293796223a60748db10925086b224d5771250384c874a6d965a62eed813f3ee55c74ddc33c0de1421e28c7905dc89c92e4d54a40644a683c996f5ebd73378eef1ca1f5b7b413120995beea80cacb9e39ea973ba79170dc61f9c82e053b4af93775a65b14c27033f1a1bbac34969e03ec8ccb1dcb6702d22b249fe34db71a55042296c62b2af3e6d13016841773bafbb8db15aa7d7bf6d2cdab50ffabf7b6356f7009974fd7683532831c4c7cf84882f99cd572d2dc0e933c10d175258ddb4f645cb9d5c67660e49257d51cbd9deba16c6a270abf998a86c9e9cd4a07ff1b1fa2510bbb479748c8211ab785f2244188aa518d90bda5cdf11348d03ed8143f090c1e7010e85d33763ed064f3ad9594de164ae8a670bfb57a145e2af4c8181fd37f0f84e2658170af9f70d964befabf7073e2c8c79cf570fd9677d7588e6fa8a2bb94a31a30d99d1dffbfa72f55583c41c8e8cf1f43f05af4262b878e02c30bb9f1db9ee21515974b3c37b7df1b93f9b894557c7dc9761c8bc76dcbefa9f3e411e710ac71f0fc5db94a884e5b9367a4f22feea9fdaee32cb2a2b30676f156626cb677ab06e7e9e451d34649bf9ff69fabdc4c872d59522301f48ccff1766e3c65f1ee420ccec39ed17fa5c1f999fa8db3f4012f5fdf4f1529b35fc032af70043cc0d4ffd8b7283d625f6b8406a16814e4c73d9964c71e8c487d1470d2581d4ce5e58676fc10db2bac2cd878bb5f5493db341708e69fa454fe8c436b2cdf9ca4966fcab15d97b52c759370c792bba5f1c1ec5cfe8f6432a1702760d4efe43c1b957ae14c6a0820a932bbfb0a63f4e59f3575931c4072962ecffea43786710c845f8b625807075bbc35682edf67e313de664efbee6fe7964c9b5f8fabfc0c66e1020888e2fcdf87f5aa03cc49c9cb2ebb37f89caa503c26c5b74030d4bf7cbd3602724ea7ea0f30715ba83c3cc139bce3a3351605719720fabdf8992708b64a243b568940718012630bb9a8ef4512bd089e290935c11e2a108b60a299d17241d1f9f58f3abecf84a2c8ac7283d1db8accf36f3b04ee911902a0d76af9c3c64badd2a5caba9290158b9d8e5d77993989276802996aa85f38f4eb5b95f5527ff484524946bfc1d10d422f3feb0afe66d1fb426f297184a9477c48b0aaf38a962e6d5ffe5642e62027b8d4a61c32a8e9983de6f786bbb025dd3249a3b0cd13a517573c5865ef96c0d2d4ebdab8fc30f7a47d725d025218c6f2aa9fa5aaa35b75f98ebccc029dcf5232d66e20f0bf4aae199d159fb43a6f15a318f62ee0919371382a32e575cf25ce9137542d03e4f633d20e1bc11ee748e31330dd28ac7ad9537acfc8fdc92cf47fe60dd267f4d3d125b87bd51199115aaac110f38ac2f125c08b41ce1713564b4a0638ad8e07e35c0a97ec9e88a6f53d15f4af8352edb845fce58baeb482cf1276bd47cb06fc26141a30ed8d0e9cfd4005e769d5d07e58a503fa143890fe81ec0da855b87ea238dbb5034238042af24b3de6891c2bc203d0f956266269f40ff897aa7837729d8822934bef5bb09d45ea5d3ce47efe0f6fa4339eeee2f70fec7c2a5b9fce55c1f8267346f9a8cde63608c45b9d645adce248c56dcbd526605821015b4d0f5f17d5792191b1623ea91b5c12ef66c9162da00c30d3099037575b050a5f938e0b9d96ab99f2b213a49bc91d42d99301b7c3331f777bedff30f31780891dc6b9bf9fff211e44881b3b2b7d5b4435f2147b1af54bd268dc42e7b6a4266b97dab3b8fc299de5a761002a7ba0fa574c4490d5bf7f1da240f60d9b82a2df02e6088623e9632184414958f34c5c923aa27c9252f0664bc6a695e1d0585acfe31f59d877a6eb24b3ca648a8aa31d971cf9065551b60d1cd958afb83e5168356f44b6579b75dcc721df662720e32f1305b9d9a6c60bbb6335e178a1029a9c52b0f1441ff450af3e76fc9b4f1c89f84497a36fa13a66489b3fb097daf8290425de22ac79cd1a5c96a60d674d3ff73205113363655f1ade6bc9d99b041d64a9ac43905cdafe3e73d0f08a67ab36b68008f5344369a37a131cfbebd6a92e2bda41c3f17f4d5ade9a553f2108954adc0a3e6307135f67acc1c9f82532fd4150c729b0b777e65e6f08dc3fe31b4b8b64d5f3e76942f57b4c79ad52f4ce3b4d9d4795c1ed76bff92fb99bdda9dcede965f171b291db3f6ce92d7f648ec7517737a30a61ef1f41e19942e085f7728904b69b1290bfc65b3acc6dd096ecc4da843f9e2e7611ce8f085b36c43756ab35e82adcd915e3ab895f02d3d52ec15a2f7b8407f80cf8460d27f13d7e54373c4b362cce673450ef877a0aea6f93f63cd498df2ac3e5571da54ffdfa8e9a5ac9e3ed39537d81ffff9f7d586a181ab8667329d024f818b7da5bdf5ff27a1a05e205562567d57d67eb0f3089231b24340ecc420b0a49a5aa79a31cd424d05153234f1b824e0e096f2df21896a1321d759d4e0f2d71593759ce9d61a027b11bba90790900daa846525d814035267b72ad0a501b2e564ccc59b6dee221f943a43d6541c5f9461ed4ad68a02f5746af8b9b4b16729d3785f99951fa39a8eaa76c1179c3161ff608fad97d5a008214aa9b1e5942de7770c9a36416be1eb8fe7e36a06ed0bb7d676c173f3078cb8e034bc06fbc46c2519a2e9df6553be330a034a7ffcc81150bfeea8684e1a424c4b8884e2861640d668ae3ca04b6a0d76a4c28cd42ac7dbd26936b895b1277354dabf3372996f4d5a911c262931979653d1653a35c0c69288199ba7857d3d337bb7dacc3604c812f9ae092625a92e90f5ff27326951ff22a88a83d14e8175bee4b467f37568d7adca802e3819873822ac49f531875d4a17c9112788132228b1941ceaabbd193eb5c616a3a99a94a0779c89ef69f7a91151d1876c12627ba476558bf1551002f2117b8100250a4de933a3a51e9bb44138fc7fef3aa9df5cab0c9718cba34208736a68e6137905cfa0bc6709e2772a95985f68a9a23c30d4889bb47e333793661d58fbf00eeb5ded94aec9acacb4b930002f478aadd5d89c3132c55db98a70b989b514bc46017476b40656a27800b57ab74375551cc95cd85e307edfdbb94dc52ed9d6e05ff07e2a01bbaf788a441f86ea1152f4f34259ff19a5d3b30639320787b39ac086918fc4aad537c53243726b1f907c701ebadd07ce40c1035439fdde10829327377b3bac4da15262f4961bcfd0d185baabbcdd7d80149757e89a9bed0e241678dfa0a3894f8ff506b6c9aa1e400000000000000000000000000000000000000000710171f282c3137","message_root":"0x881f041415c31a87ecb91e7a1dec775e27585bd6d742365c71332dacff682118","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x688f4cf076b609ef339374a36501625645a9184e2cc6be997f216872473eee7147f413575752a228792ba233d1b9ecd8724c3018111dc5d083d9a39b96efee1fc0a7068ebfef62cb1bff4dde2faa87deeee567dc66089cfc17666f8aeee83dbce2f193c2c6391d1de0b00f8fdb28b9174294d250712c93c9f84f929c0beb9b4c7dc22dacf02cbccd41d6d5f4eef76eeef883d6f481306cab28bd9959c3cfd4d325829c26ac2597fd8454872771dd39475de81f80dade23d853ec227167708e3cb5704fb874810b611d919c2cb565a9fd75ae413ca25cb7bf018963f745652d48fbce23cb5d56c29ba495472aa087e01b641481b6e40b61852c6d1f3491989484864560e2a21547c9e9d8546765598d3025ac2f6a937d6b89085f63ff05cbdb339261855f38960bfc72ebfe4002cbdb0e5b83b5f1581fa4ab6c010e11d1716a27329be461a4274da3484f5a3df45e84638dc669e0cfb6ce5c1cd1277eb7f65d80fa1cc4fd8b196aa64cc3dee6ebf8d2c9df4a05bbec7d36c6295f95735a5f7c8c166f0a89133fda9202f974b521c828442793cf58c3e367b79dccb205e19db69befd6158e95a0e47fb71af5809277bd60eb9a3a8e8ba3154528c347b815232b586d559c814248b5d9a54c01915c5be45bbb0ebfb4ed639929511fd82179160996bb1e2dcca2e4b77b2bd7f7ac7ceff11e74fc694c48cfc58efb551754659270d4e7645e5cae3ab1489f3fbe088df155069bea55aa4f5c76e9fae78d43262ae355d24eb1ed170889030826c34d7ff516afd3bfae3a73f7fa61e08bd09ba04406f8741b86deb0ea83009d8126381ec87f05c655cbcce9e5a9824ba68318814e730de807ea6e7c7ed2e0793d0f717090db6cebff02b9c2819ce98d31cba04425cc351d9c60dc765f4f58a414c48be7aad870d73b8d7afa411ca4639511e6741cab3eaac5158cfb42e3ac6fd51ada38d94c298eb34bf3f3d50fc0025f13082059199da8775d4c1df54bee35ca8de96ee50c654f5fc0a63f724e6e71b61c13457ca7c04fd139ef9139a6624dd887e3cf611d0ec36c5c7ec4345bdf020fbfc6c33629b3c8c29ac894a546eba0a3f28aaa7aeb008b972704f22e997e2f4969b123b76b894fa6f693c1c96940d95ff0621ea45c500efc166d251b3564b7dbbe21bf78d45ab23c110d520c8cffce6159bf66234930ac047d5cce0ab4fae0f900af6e6e4422ffb8177c2dac23793cb5029172dccd34059969d7c86e9a7384321f5a1b61725a619278fbf87f17217cfe7b2047fcb029fdb3f5c8e1d4bd3d66e3b0ef2dbe19bd8cb43fb50c9e662516c3cd2bced8711f798e02a210fd80a045c20b1775f96e8cd7ab1c612d1852ea3a3f3fd0b400c5ef9ea405d83bf5a0acef7012c518fd5f42dfe5a6aa62d5997a4557e3789aaeb0dc9582822d72440fd2f8844d3046ccd03c1d4902a09f74dd07630675e0b38bf7b0b0da1955fb2cae40d44a00c6db46fed28a08e189d650150c579a2ec14227331c5ceaab7c431ad4565b2c0cd561c52510f667dd2acce8bf5f3d4569e69dad66ce2c6561d3a7621f685610a43fa5b2df4a1ae8826bad291635cb98a2a5b662133570a7ec4b0d6820a18c7b628c536aeb0fd265088e499d69f921ce14f6ca70c61fdd51e0d3b0d040b18ee585942bc0b1625634b4f9ae8b8920b533d9c08fcd003b5588afffd57b099ea32a85f5ef8313357f79d8185add2bee6d2ac05d19841528a6f3783afc1f7449426f539e65f01a1f387ea577168bc62d9088bba27409e21ee3ce847403d8c4f1ade7bcb21c26dbaf8eb9226593c2ccbaf4a9fa71fa7676c37078ca040fb8b2290f4a33308470d82fb7cad1bde6c7ffcf60f407e95cddc7caddfec5324918fac6de5aaefdcf368d0b6c503eac062403db5ff31913c1d5a4d006403bf2f8a39b39853005d1917e6b98540e6ef0eadcb83d006111cd3a4860986fd3feddfdcc1f719cb9f12ea3bb06cf97942b0888f71cc1ace7569b53d9363f42596e19fb4c9c7595c46347228b0b419afbf34dd22615df410aa025c9f2ee673094ad3580fb845511925d773437ae468cf1f4e74785b047e277684e97a6af421cb4d80d709c1f0493ca27f8d5eb7ea64d838fb278c737d863c7b2ecf66df640c38c0dd5a9282722f12cf3c30c511d932fddcadf49f9cc9733aee1a3f1f180f1cb0bbe966525baa41eef1ccaab2a08fdafda4bb812769edc9028de00d04b81cad22fa70bc5c76da13c5ab40247c0e95dab4e791cbe877fdf0a84141abd8a2763a724d99082e8762f3775e8e84cb20450c19640b41c7b057cc430f7cd5e0b6df59ba55db737567065e608a5f5cced72c042584cd4ebcafd1261ac9e8d4799220787af0621e2737efcc05e2b3380b94dabc87d5521c68fc8a25a1fe217d0cdfae32cad94b093c5a272508c0d08c4a12e5863d9ba36a35a4eafcdbc43a1791391f13367d63d533326ba0b29c4f1c311e4b3bd23fcff7a175fe11416a2b687ec611fcec6d1631eecf1610caf0bab7ae85dec5ffe5efc15389fab3d4d264ab79183ee416630d7ce36de415ce0dfb1b98536585fb2a25a3d1396660801bbca1a01c7338564df173a483abe995dafd1ad5948ac7f082251859fd34f47bdc357e863cf85368a557b43d92bf8f2024821768332ed84958007b12c4a5f46cf6476f70fbc4b386c5945ace421c966dbe7cb43cc87c9a72e76a4c971da981b2e5b467bc58c8de2949aaab95a0fa8d7f0fb427343ec6db937e8297910acbbd98605f77467df9ebda746ea5a3813f12172ba273ae07f5c5b02bd6eb4fa71e347a5c611bed1b356f7d2ceb0f173e22629fe899eaaa132227dd8aa71c039fcf4f18ae51048a1ef3c00c5888db2592745c452a2360d48bd61ee9bc61f0e6eb2ea1788a1bfb63f0727647d5c1082bbaee1305a7df22803eefecf6d72a69a6584681693a8b9b39e16eb6d1411b609508bb00d02fe431f6e171050b981c00748e1c5f50ca02daf00a49048b2e33c0955ecabe2b7642c0b5f341b1a7690e4cbfd31601d703c7f41849fd76b96ad109411d5f4b3cb50cb867ed04b5381b3e4b09489a07cca29e58884ac5cc9f0c074a9622f23563b9760d00c8ae2ba36d7bde8e4c987b6f70fedf12825e12206f41623c469f032c3e409cbaa9bc7b6021dd836ecd82c843b4f61095a3be922d0994427107ee0282b0ee82702bd2787074fa161ed91da0eb01272b1f7d29cf54c334afc7bb80b2a44af3ba975a871540dee2269873a96a3c37635e4b87aa8349c17f85335eaffb2c3ca1a8c0f9acc042bb7f29e680a51688ea89eb15cae1f4e1638562531f2de7fb87dac8a45200bece6b13310f50ad3379bbc1b3ca1375b57bf699919a9cb9d30fc6936627114726386b11bd380813f1d019c03d1da5861af25a708b486fb32debbc464d1f9797d3d07f17a046f413cc7f735803e011ac4c3663d36a28e7dfab6bfd7f985f48782fc126b78702711ab92a1acd56078c10d0b818c0eedec82299792608c0b3a14f0f4eb824b7639b998101d97bfc08cb4f4898e402a1eae753eb21e39949f9a2ffd14b4bce37d3df65fd0a0dcc4c7f7611d2442243abdc77f6108217f0984a7c26a0d30ec26854cece3dad5619bc84096b7d523e1fad9b003d93d64d3e4fd934d3f","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x2686e0599f08d1b7845a29ac49999be9c68f000cf079b390fe1c253624e2b58b","signature":"0x0c9855abb1b997b745fa2a3b7010ae648b04692057fa4b72fed81152128ae1842562998afb1d632bd007c1d7bbce93a5b868d968ccc8312d80aed46dc49adf8116e1e0b3b77ef02524a07bbd666e1faa4ee67961829c7c81de3e9093e66d8a54a7ea81ef383986a7d99189cd0a071d61dfd3ba382b53182414a1cd34e96974ef1506dad2153f2e2127881fdb8790d79310bf69bf2d837bc95db4677ef3b3b8008de86e59d06adda7627ecf4c37734c6c57be4874e0bc3b6178dcebfd871dea1393678ebb22de195ea7b3e6d8b42df22626922ef4d7120a639a04b8afca5fd34c0374c34b129711e3cd9a4eadb976a8e0cfd95729a5f65075b99497b27184982de10bc87b7d5b0322314aecd088767c43d09ac99917096741be54d2b759bd5b6a7149989cc6fcce749fd5447886cdb12c130f3ceb0f7a4b0efa4d708888f6301502c5ee0e22ac0719f8f8f166bc4f6d7d5755539b9af129a382574883a1b9a70278737c1e042c55eb16ca22837ecdc1cef1d077f478fbc4719399ca7d4d92e8563049fb3a834ae70736ba970df35acdc9ba91ed2efd6e86c9212b7b8520bebedbcc5f80c1a071138bb3dbdb599d19a8d4d64621244b40f16b06092fa04424f7b6133ff0fbd85d4f401a7fb6deb436b0ec3d30c126b607b7412d84bcf0fdd68e75e482a8bb82a676e2d306ea810f8bffad757a1d39df8fab59ba7171ec1a535089017680d90289d58350fa287ae593d45906157f691cddc0a21e3158f46aa0b8a22c0a3b0c5428194be91d4611d0b2c88bb8e27c786d373bdf2ef9ac22d99e6ef116d6fa37283774898ebb6e887be95f021aa65671f811b2203ec7dcf9582f9286377916d162962b3d3c9241b4ccd871b4a2783e8f6803a8f9453d0377b9fd758b8db55ba8951edf38a504aaee84a89425cfb07abceefa9e591e7099cab9f347914596f1f49d3de4bf3570d4840fd1b08dd5a60a0afa9e76ba05382157b0986b462cc1ef4e6ffa801217b73421ae64d83b23d5244ff5b723675e752f7f8423b1172e2b9d3cb7c8818eba57ac2a4b5a1ec04425c7aa62fbce3d5e213c347ecc2b7b3d084ab227df2bb4441713c26163bd53b77be7978e5e829e53f8c395111b2d225a41021540869ecf82257a1c3caaf23189283d6204a59cd344e45d5545c1e11d1e25bc02ea436656a4915c8bd6e950d93c00252368a34c7db541d0ad988b364ce24df9846b698bf57762101ddac5396261779d308379eae238fbc0a9ce2c61e29a7884032d4c7ae30ba8af50f02a97bbae76473c3f0d6a96f44150301997abe46398f22b37077b177e33e44301a7f86d6f98d230ce92fea2815fe1abecbeb68912cff1689fdfb84feb7bae665b88d0716d365ba89b9e74309c75b93f4fcbb2b7fa9e10622375c649e42dc9cdcf64899cc826f9eadc6bbdfc780ca768ac2dfb140b2e11b804ec00d2e7516209acfdfe92a6a87ae6fc495fda762e4bdc8ae451f868dc366c3b53068427c03ce5eef5db47f8eebeb89f4be945f8f8551adced1bcb002eab6651f38b31fd7c925ad7a183099df63e0fe238c66a7b94368e76ff451b8bec9d92722fe3cb5f0ccc41bad4e336b4388999d8f6b513cbc0fd20d84690e4d97fdb30ba9c5ebf541dfe30eb1d70e14f2b2e25b0f2b2daa6e2e42978247b0c71f01dae5418a802b43c0c8dc8d2afb28a6e4f5e154eec2fef85f028c190587a12bf21a0cd03663e99a7343a89e97e0ff5c3de2e78405ac00aa16e2f170d05f8ead5dfafc6d737ce0647ff161899ffb125896611e39b7ef5ec895c9d27546aef0314ef10c928b2c06196b9a7c327bcc4969ba948830d7633b7b39dd96ece5ad1c8bda30261d89c6f1aeb9ee6965392e1fb1b2064b1daa07afd8b1cdce999894af9c965d431d768e307fd55271536e13dc1994f7b5a6c71c8f3fb7c6b96b74e9098fb1145e1a4e6985d65d15bd2544a77c92e1d5f17a1bdeba0ffdc550613b21c40bc1296acf806bc1d8d607e6da055abb331379a6503ff05555242d7bdff9e0ec7a09d3ca9f3b703e9913ebe8a66613bb0fc3c9177a171c0faf147751af538529aaf11e77574a7d66535e5d322ddc54503713bb6543df6f097c7fdcb8adda780eed11fe8fa62f94432e5eda9500af8555dc815e5cfd0cb3638e70415ca3529e171f24acdea795018cd60f965b9152b5790c9dcf784817e4c0e4664433b0b3c896023205f4e7b7069075c7a6ad0187e1376c8120b6507efe6926a7cddb75e1e2ccf5f3394a0b94e193c1c5e2ff4c3f46f729c0d409c4c42b6747bd505793cd1a67bffecd2c4f9419f7688b42cd8f891f7e3fccf4b829a43385a3dc158b8801d79281704a4ad9f18a0faf69d693b6e798354a27b8ac37c285ac5bb3681696179f36525c2f40a2c37d0bc52611835f84a83e0fad5484668f904b6f9e15a8f2c3c351f26d559ee2a7dcc034b0eba4222f3ed61cbd58b037cb9721b066382723acf25649ad75c70002ccca5c64dfa8495f64c83941e6693ad4499ef84a46ca0853855cd5bdb286ca346750c5f2dd2234edb526ab91e97c9e0d5989963e54b9a8241399873ba6180c1b789e4ff056f0b7211bd333c5635339121bfc67a9081f997cf47ec531bb89d7ca84fb2635adb1e34c9ece6db0797cb6228b1d94781d407c6340a858a10ff4c9c7d6842f4e12308cbba3b54bdb6cba795d5dcaaac14a9002cf1562f2400207aea89f4949ebe3c8aed81f0c43164b5f4eba92604892b2c23308f75fdc854c27b230533f0c1058923a2a69b9e5e8e05bda8cd6b269b64788a06220738e688d939f0951db7310015fed44b2eb9761d9fd0adcc5ff146583e755651be96f3d17f02ea74a20e9136c266dd0490bafca1b4c4979c038851d3c4df7de12f3bff0a21b3e10e6d292cf8388f83d0e5820af1def6589a17aa26d42a5fd6d2f1e224d58de632f07a1885ff74487f7d1b509997ad0d090c2173d849dc52691ebd1cae5cd244f5b68cf95537f392407ce9ac98a501994df5a032043267b6e9aa528495683c2b66f7a8481613fde4ee68360840b488950584cf8cf819e2503f3b22cb51cb642dad36ff84e3893376a89b1625f3360c7d78502f7a905ebd7a37fb86609bb3a7749f7b6c031b9fc0c1c0f225d6f7313a168cb5081c6070dea0be8c955ce209ebf036d9f245a5dfa49fa691e5b463fc43f7f89433e329417b22e2931c49fd30a2ac0389d22a6e2bdecc28f9f6f7c30775f455b629fadfdf4e21e37a134d384bb1f6f87e71a2b1a648c5f3897fe3bb0f609e20b7b4eba35912859bd5adcdb8784d7a9ff490c341e2784ea8edb8321132601afa73057e34ba4ed7c448c394d07b99074b53475ff0b66cd6a9940258b4c5f50f74e21b0cc29a0c503a5c144aaa43ea705c96862556f2f0cbf26be3307bd128fb2496277299e4e11c296a84f5ae12cf1f325dc7a643024b8daf9aea77e81f5593ae3fe05a0720f49382a05598e05e0cec99cd7d5629fbab4f6847e423a33c36e0175ce04d51b5ed1a2c39d147a523be0f9ae91023429f501e94bab998ca2c3b06f02d138ba01e161fbefae262eb9dc354adc5bc697f3ff24e861015c26ffab65749cad21dd034819ca5a72c186435f38db353a7aa40df56df01ea75c6eb0dddd80c58a05df84605566a2d8a56af67d5f7a596093681f811a7f4c26dda3460dd1e7e4bdfcfd06b80c69d93ba3aeb402b5bc940b79ee8f31fb72b192c0c0fe1d304f3329ee28466ef03dc5b678a94b1de8410291060ec96369a3bd7e68e27f5c40f59c26d3d6b4eb33ac0ab3ea6fb90e7488922d0e882a1b0d8d7ac25acfabde3e6a342163c5dd61f60a3c00e3a77c5deab97f36373077aaf93f8201f63958e5997fa84fcad2721772de97f9badc3766b4878838cc365f4f74d81cc93d8731b5076e87440b4601811d3599c36a22d183628734fc9666c5cbd0f0f4194edc84da95ba4de4c49ecbfd0f1779b537e19cca048ca4148ff30fa0f28e6b42e8acfdc79e31ffeb0020726771dffc8fdd58659e50df7051ac0e19395cd3d7e36ff216118a0db2dbce40b5b4e4603e0e276f8b83d4fd131a85b4fd6b9e7ba4bdad3c907d3dd3a854fe43ebda27d4057a5c901d319c7f01e10d94523af6698a2db8dad9662f00f37ec1f3390e7b19efde5e1d38f5b84723f613c627c1ce593ee2afbbe5df724d20bcb746210f4d7d59a0f067b9db524059203602fede03f0d32e91a397e0537ebe4af7379b24e4545a1c4b5abae2d6a685e15846c9c0c5604a64e7567417fe3b0bcd5b4d5ca902c2f0b153e5e1ac87983f3a41a673b2e7fbf1996b770d2d40834b483be1ea6f4b4dc11c5d35570b209d918d19bf3b05d1d5a50de9238d9652088ad4e48475d249ae0bde06b58047b80ebcd23f16fa381ffada212c6154995d5250d22f4c632ca48059d7cf8a1c2ae4d2dab12ad785d6c6b8e140d5ff65d5e144d3b95cca0521766d83a78c07f23a7a966d319300e440bd8b933dd5efd55873e31966acf0317de36ed26320c433bafa694f07f79051050c35c2751f7bc371bac375be9fc7a571cb1b6ad2fae569b921faccb8817b594e9e907dfe08b3f9070d304a711667de06e37c09cd219bf8f3b9e1b84c72d0924ce53786d0bd9b2a2dd25b5d904b1f9f2cea818eb6e558e9648f1ce09fe3488cbbf7d3a24525f85d43f121649ed816986e682cbe236eef7b9a9f7cadbd9aa1f2c82b5f44df6ea175b943e03e603b44cd90d36c66c3b3c70952a3db525d07fa337c279927c092f882cf48a4fa495593f3b30f407752bded054fb986f4e18ce86f50b18e843865e895039839725e3ce7107ff744249c9043d1bae0090acfa0cc537ebf3d0419fafd25a607459415080cb344b3ee27af3d279b70225ba0f913f23a76161c0bcb33e8fc8743cc8bacd0e16d98479769862881a6092fdca0c06930e3aff177bdcd019da4539f4b570711a3c4206c571c345bb5925902facbc02ffb6d9cfa5e74af74b12bf0b63291c36e43ccfe9ea1f99156031dff9a54cfddad1656801554a5eed276749c23c46322bfe563d24336305c8a2f19957394ab012d82dc74a7af1729831a968819cf8cff0d2572b650bfcf1c0f8a0f1f9161d4b14d08f008474afd801745836fee41a52dedace121f5ff38e0f7d85ec96d0aca8b19916c607629c3bb3ba7fd1f4d041288506fc56801295ffe03ba3699047181c89c6a6d82a650c1da7c15809777edc0374f168d07499d97cbb5d3f31d808b173b448fdb57c6eae2748dfabe18c513db1dbefb5cc9cfb7566c666afe0845067515651fd9a1fb96e536ab23a110570ec3e74733549969addba28ed1917b15568c2a8dc3acb7444f93cd94bb28592069be0ee945b91d49e52eac0a1c749bf049aab2c8319e68f969df41efba7d7501a0113206b21a715032ab2e9a3de32b6f4abc980aa67a81dfd38c105bc3a7a4aae2c1523510af63ac7ea50746eef55909fde4980885d2f1deca8c8f14337705bbb550d6b9490176e01c9d5acb17e79af43f121ae78aa0dc5f5bdd1b4b51ddec3333228a95054e7864dce13a438c30bd35f4569c7cc8013a36466d5fd95bf1f53a9e210ad615368d0b4367037b33c7c7335650a3d692142e69c953fd2eff16f588e6afc4966ed7b96b484bc6041a3d1e5f7a459e8bd2e390e40de5a2a2bec3a42e72dda2462a4980e480a7d67b6d28ef091916f0314b13fec1dfafed4d3300188ca4a22ec204c393f0e9664ceae8d2e3d89e01b3b23ccfdfd7b54371d9b839fc7988a4d07c8c7d5902446280ea054eaf1ed9a4d5fa0843e154d1f408eb56bbb6271435d05e2d3a345e542a73cc9267e8ede7f10fc63722f7479a6626035ef8abf0bdc09d54a35ee7057edd4d855d91e2317e7ecb5e5b64c5f7c675b7f5536494e69871e5d828413b983034d624fb332958a494f17d62b9a1c7dc5b9f70f67283da37004515f947646be32d7a8b183bab81521aed3072ed2475f525603d562e1bce8be0c6209ddfcb5d338dc3edc506316c03134b3d55c77e62b07296ad9741f97596cfb88884df7aa222abad6ec630e74e8518c5565f86f912c36e7f326abdc6e0b6ffb66f807e7646b241ed21b76e84746013ddc41b1dadb860d02e885fb85a3b804f6e6d332cc3741180e2fff70b96f35198cd0f3bf3c8de01fe9732ea8d0ff72d2f1874c17ebd44d104814fee204e9cef6c29bdf524a67d27f593c9f50d41559ccb367875a6f52b670bc2c5462250adfedaedbe0d311297bd6824ba9f6d1ea60843d2c314567e42043c4f9138a3e6067ab83e9f9b99e17ad0f6d0621ab6f338e5991a6d9165f590a1ad30677081517eac17ad33bf3bb2fdf0cf8cedc087c74ed2ec5d1d286950ffdebe5b12a5230423949f91e792513fc1e3eebdb8beba11dbae5c3401c08f1f58007f82b0a171e39fd68aafd0614269c9db0be040640626497b50a0b1537415d86f606676f798b94a0c1ced14867c9036078aabcc7ec0000000000000000000000000000000000000000000000000005080f161e282b32","message_root":"0x5b0aae7cf073b937ece659f3dc508827e4926b340fc0239ba811123c36bca421","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x73dadca9a3bbca8cdc8d68706d839953942b47b3035918d8079c39706d2aa8e9597b171c6aea10062beda8a87c6f1636d3d6d43b726812a69ffec4517d2e259dca0d3e3befc173dbef8c4b9e6d475e101c4527b98e2ae1a9db3764689fd1c15f89ddb973e92ad02e343d346903ac56a69fbacad80e83e37cf875088832f9a4672644225cf9c63228006173eda798936239b719a8ddac64c11640d7022b6762be9fd8769c2c67c9a670f40681ff3d5b127ec6585412daf15e09205536e212f451f10e29e040b4745c0f6aa64d39850060f51725aeca33cfc0ce07573aca6ba6f673f4ee54ed6bd997f233a94feac0a37bb089405bf18481bb32d28452d4e599742221175bc40b96df5cb2a6d7fbc3f831be1242dd579bc4328547d130fe0f325aea0aae385bcf00ca570ef6a936b815f8257d99a4bd3311e21ee2f71863ffc399a78513bb4ba8160d23f3531f7fa10a0bad46eeeab5774f057a971b87e7b69b0a6d3098c433304a4de4e6bf8c3cbe37892dc1c7d4dd97c09ec59956fd154011244b9536aa7113feb162ede1f820f0b542059df48eb917afe0212534354aa0d3e5359b30ea13eac95833e7c1896672b0994e5a9405bb297b3b9f26a98028dffdedfc88fd56ca1581d057b19bc93b4da32cd38497832dee2962896aa1f4e508e564e88ab1ea92a53625c6c676f0c2e5d531232ece771e5215f3414a8022336a8ac97774ad38126ac8f8a554a9a2bbc90c32eb4360bebfe428336e789fc39e24e469275c8f57326866c1b40592d0f9a75fdf99872844b1c42f9a1414d724671a63f9b9f9eb1ccaaf5c4293852e4e9b3b36ce5c962293a59cff356c3beade42c765b4c8963ec56788c0e53afad591008c3e9b08be9c5b3735847094cbc1fd3ae00fbf992cc5012964142827e627d8a34c09f14426cb76e484294279cc152a7215e631205110c3d754c80166bd7435855990b05cdc19b300665424fd37b94abd4cb1c89e9a90d5fc1003d7bba44a4925029e413003f7a1aba379836d7d687ae40183eb443b8538aefc2be90610dcfb86e2a1cffbd21b80c12692e3850cf797f0ded1ed719b410f724d0e8bf86e74f6b16883a47f54d45252f430c3f2b779d550b47aa86869b02110e8bfcf971af04f26b635bfb0da255bdc1e32d23b10c24c04690bf423792dae45d990be9e1d99efd571343ce578c754f9a380aed3438f4d9b84e73bcee688145e10c7658c3bb4d9ef8d70798beb0ce8c00fbdf75a1ba20538176422f317f687f9e81fc52d9884cfd69940079d3d34d44c2cd898c926cb4fc1a64c4cafd6508f77df2de8176cc6fea4da00cba726bb5b287c12e485ee97821b2a73b8d87b2c33f4939ebcb20d14a73753ffb8753599b58727d32e3dbb16ca7a451bf1db9cf8d14eb381a2360596289bc5632e5c32eaca19071f36ff4549d2d0f670b18a11b796a3a6e63ae665d8c256544f4afd0b61a6f6e9d4863dec3527b2341303aa98a11aec45d41f34791cdf1b6187e403461e579d5e75691bd1a83c450041757c4c26ba40f28b4c46ded14e76aeba09c48196b61fa8cee72331d4b7fe4cce59bc09b13009eea592c3f92f1d8b415f6aa5a31c1a0cd1eb98d88b01b1e2a14f7244afa6b32843806309be32ed75e7adc56246f19da86ca33bfca6f22d6027efc44cfa582ea5d33b5c1470a7b2c34e26a40b4a7390be7d2463cae6a5b6a2da74c577b290ac623fc3e5ab0c1efe7f6e50fb90449939d693dbe26bd0a3aef5b87c52bfcfc9d030c291053223f52d19344a16c9a7bec28f9e00021aea63b6a69704e4136ff7f3951664aa10ceeb1a9434a424eb07cb20038edd8daa64c3673229b2c52f5e214416a7ba3f604f3e53d5181be39e6250d3023808b05a71ea3139b0ccc72e87fd08ed407be3fade1d3d9b6be51ecc105c1ee3db0354bd867aca2d1b45bd580a9820b86b656f21aaec81d9efd9e4878e888d7375be51385cfb8b5f4ec0bbf33dd8779ed9a38965fdca77422a7de52db53a29a0598787eed54682c559a2f75f49b14e8917fb4a5aca3259b0c4cd6cea2f54a6a8ca7101e62bfcb1a044d3f4261efdff18c6d8a4ccf635dad0c314e8d59cd6ec3973b1d3092d1628129752227cca76fc300e4a5739aac66680d31a001b447d743de9cbcc9b89a12d3aac011da62b8b1d8e1af7419be3b46c7373a4cce89df15c8b3251e39c06a08a275b58ba106bf6215633182b645337e48d338c4a988599dd734380f3345b84f2ab0cd24d437dc746747abf48bff1a1007b3bb206359940e3b8505e0820bcff34016cffd791e0568f5bd878bb2b109703f848c3ff99adff59efb437cef6645cf8c080149e74fbd270d700e4c954c92ecf72ece3486ac34d624ed180ce8c866c7871f8965a18c048be3cc764afb05362a976faa2334906df45da236a8d57a93c04cd32f129ba15fd0fb056064c36b97a3532400148ab32c7a4753079544dbc06e36a7c5e63e089d608ddf831bfb15f742907f9996b8e71a481ec9c9637d32cf206ab98e240270e2032b66a8ee739cb8840de3e691a7aa27b8f56123a4335332ab779991ef61e1410539b1e604173b44ee9bbd39a83127fe5c33c78f6c0dd08bfaac3c90f10c2a3bed0aeebd9ee603a33fe730b8fbd4063b6685c5c73d7825f8c11fd387d0b52819e41a2c71b3e07e1aeab62e3266a2d4b7254c4420861ee666cc3b443000d9ae1c23bbc0b585a9a7ca879b4e1d9eb254a630d3baf1034833833d236ad94500675bcf4d8934e761299d08f6c8e8d77e5a758dfe13486817c37c37a13d3ae2cd08c330d1bf33272aeb3990cc5eb916f557b8ee01b7dd136bb9084a2c7b445b629e9ab0e4b8e609d566c9fff48ea9a3923ce73d18cbe162bcfa4a2301a1bed82c3ac6ab88877284eddb421f05f388017488bc34c4ecb46754ce614de86b96d5ee588e758fbf990bdc2fae9f1cb69423c87fcf06142db0df76101605ecc2547827b8781de09c263726c18d6fe897c169cfbfd2384a34a5c8008f2581f7c702f9179ae70b32eb8f023cdc7d7af3bef213766d792869cb02ffedbdcf0b24561c702b9a546833796cc2e40ccf29415ce7d80ab64338c9b1fc34ad880185dfe77b38bd7a4de43534b3846280a401e1bc6fa849550c035d14d6e754b34db5b93fd14de4b68ea5625bd3b76decbe0221cfeb16aa15367d5b08d76755c8a9aed006ac772db4791463a6bb03a6ce02ae6ea1af99926d100244e719a3cfc0a3478438b80ca36d49771ac4978b83106fd3f5af37c73084c9fd72ca521130bfd466d268769f7bc4690a613a6868c3e0416bf7c2ed8bb7822c63b1dff8db9f3e4baf8e7a234051267b043138ecf955a4d9e4540956534e8885f65616a2bc7b2ca9afe11fd5873bd41e97e559392b05ca5825e6cb5d803a1743ecd6ec3eb45cb27dc6bf5953e233b2adfdc637bb882c25bd31d5cfbbcb400ffb16fab434ce9080716d70b335f802f86461275b2588bb055226c49a1ad4d8c563516436f4605472b1789cc39a4689e7f13136015bbe924db5c2c7d01fdf842001796ffba8dd0da2beda286b700acec38b1d9af97b04476ebeacf999766bc0ae18e72636ec82436f177019bea3e6c1fad6c05fc204e56120680605291acb9f5415b617ee0c5003bb672a3641dedb7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf6ba8d1d47ba8796c4ad6cbfef04577c164f71b6ada94a437e4936d7aaabfb4f","signature":"0xde72a7a083433f11886fdc1a7d90902fca8d1625afa1cf949d6b1cb7c0fc2ec0d7ebefe95d8b687a148550b8752210d0e9e908f8f960d8cfdb6d57c8d6355baf82b290c524ce24ceb0958144f36467562c5eab4b0992bb467a2215dc28c2c241132701305fcc6a3faf49af9e9fe1b97f83e202f5ab918fe99e23b8bfb2b79021cfe95a9350f096fc68997f7c77e17417b33865221800d4aecb21cf1d876614b4afd0c52d875afcaf1f1eda41289be27a4873bdc0d159fbfcb137fdcb487f52734158fc924cb6d4d3074513a6b1084ff677763d20785785fcff6c0b3cee39d5d89d39d5e081216b9a235e30542d002809a02a699d39726f5cd2e7206a9216f4f38f2e038e414fc5f95446276a9a7d5b646c2108d9113477923582d7bd66788a07fca7a92b33d3b5b0d565724032a15ad4352b64f8c6503b563d4a93e29875da98edfdf879d5469f26e4af325f2ace01293dc678dab763407ff49e476d5380095b2497e6ef00d8834c5b59f0633a8babf6bd10b8e7774b031b7bbfb6533b351f732b2dc74caf9cddd899d179f93d9bfcebbcdc127ef8f88ee882822fc595a48333317ca8509ecf2ce3f548e2a56d05f09be7259d7151c210637930f93c2aa8d626c5290ca84dee7c61830e1578dc3fa69f06ec95b47aeda6a81c8d84f192992549bdd71d67e8dcc79d162df4e35122ae49675049daf329e243896ea665d046938b2f083c1d93d37048c7ab7145266fd37bce7235220ee2ba112539a0c8bf0cb052b89fb8bcce90331986cc6124d0e7d2d40a01edc5514035174c0c86c571db08b9978eb43989df51f819c066826fee4bf41eeae88a223fd8512c701c42fbbae856478abb04be3403be4f7ca521e13d461045b63fe6bd3d23e01df6e6e893ed2910ce347a637c3c26bcb3211c47455687a5ab2bbb8a7f3b23e7de09be253a5873e6265d6e7c9ce25017b24fec1297d2d3d37ac6ee0833114730b6424707e66d148d6b645f6ea185b9052b6c29fc63a7f664447705087daab7b18f5780b7d7ffb373f59236765487e41436250fc6052ead2bfae6fabda5e39a7e7f701504178074354f65b600f4418d8f58e4e1d18542f585af7cc49855a2b11f4c4a6792a8c99309c04bb1b632a2656524fb6494ca309e2021a29a6d0be1b9d685c0a07f0379c24c732bf8d5bd33cdd1f630d6d4385ee77ed6c8e98e34b91c77ff65d29fecc80ea6bfea48a6c79ababa72d02db5464b7664acfe87330a707ccff36c3450416782efbf4962865b9f74344e716e1210a1b36221c6efa43b7d0283172b149ed9a908d3ebbc63b2f75fbafef582e07c461c3281f7b5d6175ab2c7b58b15ca2741c5240597bba677be4c63f2ab1f9f252fbaf8d2885bd8cab88f510094555632ddfa08c8d0a4e3d8a0c089dd4a9f62d26d1b075dc16f9cd0c2105e4f9ef12d6bbac5a24f59f4b6daec6602fa330cc586140f5bb598b6f98e5f5b8fcaaf993ee1d409ef84945a7cddad21732d3e2cadf0da4a2c73f339a751cdbfc4540c80b5493637f7e03aa05dc90284f90f8f5cc7d9c60af266a95e6c8fc349dbbbe527871b550b15b10f457bad1295976361abb454eba770c5ffc1daf98c8b35669f40b914426fde7c24eb344a2469674bdb26d40856ab17ea6d34b6cf3e53a1e5f21c50b8d26e38c5a8583ceb9ef36c9d21b6b7906a6e46701140aa997b711598d9e87280444da6c2dc551631baa002438111d36952b5e428ee7286379079f886914b544eca68fcf653285200bf0524707149ab4b657c115f0f428c84300321a3a7827c9eeb135795dd6a499f541e63439ea1bf881e58b2ec283d2d4ded8debd352e97a180c95263e4301a0e8bf987fdafe6aa57fc357d48d9b2ded8662bc0104b2da5d28048d43e10f44d42be5491d786d6646fa111a577eb07f2b2ddedae7b7c0a75b70c62019196fb2fde1837ddc380d46060922688897bf23548c70bfb332bfe6ce033eb419ad967282c57d36f8f37e9a527489f09d60a16be797f957434f56d1792ada9770415956f8d132c34b19e52d45a8f1c3c23f590aa094e1a779fdc62e6a6785b95c8b04ac78e288c4a6af711279ae73f9a3ed645ec55f7579b464630ecbf341319f7cce49cdde5cb5a7208be56c04cfaca84857fd1c9e6f99a8de37c8f96e313130f13a132c08da2c7230b7c9674a6b4e0970c7d112da798578f369575b837ec1c8db7deae971f5d5c239931e68761edc398a806de663226cbaf12cefd738bd0120cd56aae475fdf7e7c4164757d0c43b7cc9b68e094a384336454cf4aa8d7020db536dee9060ac634ec331bd654157f8289e50e13fa940366d928c49377199332d44ea724973133d81f592c55aacc6c2892809d15d9366c2eb17c24ab6211b4738345ac1ff9c06b7012fd72d10c9c79ae11cb86aaf5d64e98f4b2fc4f608cd004e2dc7aa5217f874f5715594c3a59fb4074ae822664d44e51f88d980cf9596e493d27fdfa5dafe93f5d02c4338504b37ebe9794e5578dd744c0bd961a868fd84772a303c7e636c5645c3e1697028361947fa7dd676452761d0a18cd6ac3f10daef0225a8b0df45b81eda531eb837538d79d6a754f3c081ca3a95579fdf2703c08bdfd2d1c1d2e8047ac0f3aadb7c286ffc283b0da6607d19662a5a7e7f13c0f0885380df611353b6067cfc4b4d41e6837086c29015097727f590e67791788a1bb0ef1602cf5ff9ef9ca7066c8ed2df6437c1735e897a3f036bdcfe52e98cf95757061b845ae141850f2040aa065cca594f299dd6200051a4bf07a4cec78400e27e2bc7c03060b9d77177638036261acfa17ec97f3c0f49a4019ac940a3bf3a8cba10e57cf100e4b3c6d68c3553f896d8e1036712b87a7765b1383aa1b949c625f0181c398983ac4085f5defc104e86169ee79f83514b77d003e30fe1bf30b8e33919731bc6c31d6a511161fe8f02c6686beaff50d80012ccde95b8b7b0c45b492c110b17ecfd6217a29dce3cfb24a71cbf79569ce41ad8be8c6a62ec6305f42130ccc0062994ee208c1c15c5d38e3b06526e9b2a8c4f289cf05f70cdd2b7ab55e2cdc277f2491a6f9f76623386b7271e43af015125a271b7c8d79c97694098a458d8701a1d700494bc94798a8e20b532ef1017dd67c791395bd595c7fbb7a334b18987bba2de7b43e0e0561e3ec7ab0fcfb91df61c82646576eb7d484860324bf0283eec48069161694dcb145ce439aeae99f11e716d53e5e2b4e11b3f3d85e67335665b68f053fc139f708cd9f107aeda2201e1df13da0691bb537b8ef411d4e99a4a0cf3c9d60bc1858da234a544fa2bbaee54368ddf9f02465e43083606802fa6368a7fa95a34179e991c4eadadaae38d92e1e6743825bdafc4cec607b978ce4bad6f9717cb9dfa23a1dc07b2f28e7056c4ac019531c66593740799abed9b557ef9d1dab21b70a54003e69ed53d3c01bec28393f8bb28546dceec5916f584f85c3d1ef2d61edc19298566172ee06a4bb9fb6c4f16161c526cdb75579ea743905be4a7d92f1ef6b93a1615f46c9a8db7ab87b53bef20338fd63d663d78beeb78bd004528fcdd3ccf5b7309376cef1a774c042e07b5a0a33e3f63e7c5d66e9453946385313ed305da3b993508018bf7f9df32895a6c482477bbb810ddb3aec6cbdf3f717db2b7c200d4a9a798b2bf16202269e2f7faa275cfbc001572646f55592cb94a6a7b17a76eccf283b6b7dcb48104c61dbf002a18150931e654f552870c013fe1a424614b500a3b287f48f239c1ef93a029e13769b4dcc9a3792a8be126edee0c803fb20326cc2af19994837d184bd621b08dcf8cd36cf0605c472596f09a98d286ecdb10501a07df778b065558cd66b450db56095f5d90dda131ceab56dfc1d14aee76548b18b9168b1074ab0de0edfc54e39d10d9d0bf6763c6f1a2ec7f3630216edd7ef575aa0236f21280bb424c7bffac17bfed9c15d0bd2f7394367f9c58e70aa422a21704d6e5ab7a4935eea9bf7f178ca54f21ddfba8fe31870cda5a53098e4e5d0ffe89f1c1be7a565e63a28718e2d399f850c6a87128748aa4fceb3611a7759d2676a6070453d3bba350f018edb069b5368e6857fb5cadcc6fb4b6138788c5c80ee1b41a0bfd988301e0bec8f3516411ebb64acc39afd9898df6936906e55fb24acf1fa34fa18db813afec2308d5ce9329b7e7340851970608195059adb3c015f1292c0d15222c9f28092e0027d6023f76dfd981a842817aa44f5ffeb066250835af90f8421898bed44ba64908b767b6f1248b10e51fb0d2e3a0542afb0562cafd934f6dd5bc6c5857b064768ede9ee52e6246425e473f8456cc3fe1b03a4485c77157451b35066870e72dc49638f9708b518bd1ae13da15dfbc6d3d5ffbc81974efce2d87ecf8285a35a8d36cb99ba4a99d2810702d48b7a0a367ae01db3ebddcd55e6115f90a73d8994025b093f84865f6af45032fbc0f14eb3a12133f23c6554f8f01883e9731749d3d21f39e41f6a2c502a7cf5e9c97b7aa31af0a14d4d524af7310999903b2aadda0164118b6cd011823da60c93d38e7c5264bc2ea09b04ddd871ebf4004db15b2f904ec09bb2eb9464b063c89073a5ce939f6997ee4a3b92531be11dd14d5a5879926c96c784468b953f20456997c5e6403ac808758520e206c985c40ce3b0ec14df115456553025d9fb4f9b08aee65dc5f98bd789f39fd0add95c341451652c1698537a98c9163d6c61217301ece5b0bf7f074ea4136dc7debded00e696efd6fd5503fcee0e8b17bddd921e09c52e12e4153a165659b63a8c913ade34ca4dbbb72c1446da47160ff0819f2f936968d77f79ee1f04cb1ccca270092e5ed4bcf87a6e050044ca75ef3eb7dda25a578bba61f8759933727e916f5386b168a6cf0f89fad24bc5fdd4ff9e896451d38b7573e90daa90f54d30405269ae37a2e39af70d3897fcb9febe84bc582c28eb10854f62b385fbe09979a4ccc1c5090807e541a6e3feab6f5d272bc5de2e4a86e424fc150ff023f322cbc2ca8a4702dc66b8f5725a84d4180809c9e4d6b2b5e8f01a5bfac21c597faddab1f35a89325f6184a21e35acf3f13dce652832c455d31b579ab45904a44cd5fda55cccb8510a52aef1cd2641aa9be3197978d4c145099dcfe0f3476ee95b27b8c81d743effb87db9f2a68e5ed4a0b901692ea74476e2f19c5be8fbe67deac004feda1ad49e0a898e36fb3bf69cb4bef3f7b91100d542b24d0b16a0b6bb2bc4c65bd415cde186cb48abbc6ac5e89cdb630c6f6c683555c34e1add88b9b31897f6a80a2dc588cf8f0dc3d4650f6b3715b94eb866951437343e4aecfa660ff778f6f73281c8c0e72ce439493984d5ba32048ae61a28fac8f56b7724df6ba3507129234a8ef43a87078e299c1fa2b4a3b2c830b9ab95039cf5f552baf3acf26b978d5ac1740afb0a184b5e0036a7325adc7b06734aa6c86b21e3dde1659d0a5efe7d583bd67851a16d84af782cbfeeb56dcd5985c5c012113ebfef44eb2567da3e84a60e0be9bb1dc0894429961ca39d1d7c666328f838e6604bd133fb1b6fb77aca3b288e4ac39cbdc186f2383c198f0997108c6c6b36a2a7d60189e73eef62dd2ebd078d80cc23a0ccb2cd56a12db86dcb85ee78759f5abb5a5d734673710d74e8d8817687bcfd2525744c61bd977bff8eb8b2b92bf169d45a6922d42352d1cd00c05fcf7da11c090ff55341c6c0d6219b47d199b0acf0bfb14db48db7e1be3fd288cc0beee4a566dc08c2fa10158accce4252336221907b1cc4dcf2e82bf3ca90c22ebd093ab9d595f9386c975ed30b9b965a64cf606eed9d7e842989b8180dbdc2c2c34bc1021d561e0af9b9be42bc62b2dda071c499972036a115adf3620d54f6f40be2840330263905d5b205f8c5154d38ed921e8d88265cbbd2843f231bed432f6f875722673d0ec9d0a73afc994474dddab265004235fe249d03e08c7b850f98637ff340d975b32bcbec83b93706e9df600e9ff9cc2a7fdceb5885fc5131adc592e703ded79760e6b377a637a86aeadfd013ab3b86b1f5ae4a0cfe4904372ab1a0f7f0fecc6d892385a46c047ccf4ee574b9bb794352973ecab3fdcbcaf80adc30caedc2f78f645513d889a71ba98660c701e9631900cf1306f7451328d92b3fb314409a91c661153d77d06e0577d2b2e2e768f50ee0e017139263771ffe9f4a82d87ce3d13e8c5474543f3add6a558814b461f00fe9a70c9dab90dcda50e1a5f9afbd916c4920f132ccde6a9fb695b6255784f7fe93f827ee7bb617bee2c797a49ac2173aac35b2908e30a86ffa5def7caea5aeb58a472f9e268ecc6b004334adbde56bacbb073f36e51f335952d35ade8dcfd55be88a82807e3713b8ab195db14c17f9eabb734b6025bbc223ad53e75070f7c53b76cdd123f426596c9dbe12a5a8b98c7d1e27485a5b2e4e7f4ff141f4a738eb0c3d4212b314a7b7e98b7bdcd17262f37e6101c71848bcce90d3b9299a1af00000000000000000000000000000000080f171f292e353b","message_root":"0x1328dbb9b4c3065e9d5e552801587e8e36a8cf0176e81d3d1b13a217ee149b97","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb24a92a79c252d8936b82a239c07acede09e3b4e692ad2c6e384f8fdfe3c3a0bb5e44392e3b9a47af2e5f717b00dee3780b46aedace26ff3e6641d505f455afeb17b1f56deee581b3c1e3606745ef73a381a49bd85b59249a4c113f3e95886f8518bc7daa10f521f305ca39854eab449926543329ae90d57ff552e0f1e9bfc8b8fc0268de5d08094ee86693d402482e1f6da142040d69292aa49494745a2912c5083460db4eae2fda38e878f037aeb21e243ea7100bf59abf4c6f520e190b584476d84b4b4cde07f2dff1319adbce760c088293a68496bee5fb5b9927e3bf412a09137ff79ab6c5c49eeba8a7de96630011db4c5e6e6b254581d8e1b8818ad65c05be192cf850c40217deb78f2f24f19fddcfa5505a7a40a328562b6ca065d0cf378d3da136d7dda5764b3f2ffe8208994a8e7ded9d8f8dee0bf839595e76f01bf5a88a7786ef0cd57ef4968e5fa0fa771f57ae9196d5868cad49f0bf52703eb1b8b1834a15cb145ebdb2dde30ae3362acb1ef543c3c050ebe41ae98e26f02e6ad7383c5259d4f319057b2d6e6704ba22e9b9f1899e1a371c44711b330299534ccad746471b779b9d561879e91b812714bac03d58c8da1a3670ac4bc4e8084f691bb8650ac0bb2881525204599d5fbc8414b3136890ff0f0cffe2a3e6f0d92f7898d2ed5fa7485c69365f64fe72152c98ce9ef79b4fdd58e967c01cdac3de02f739ce26a7468855c7d2a85f59bdb47d2b23cdc8f5ca07df94c212e2d1b4c752ff3c61c1f99b975823e5fa7ad6b5e860b329119b5b15d5e92e5e76a791bf807d003c7184f892af761c48a354cdd68d17f37b6f3655f0bcaaa7b2a45965c6c5156cf52f074739ef6df932e93623f40dc0cc5fdd8ffee90fe364d217a7e89a5c80a0479a18ed5bd1c52ffe2f0efe35b3724a4687ad7b23002fd5b793359032330c777d15250a6cb98f103edb24552766b27ee7c031462378a6123f8a076adf895f66fa5a8cdee29c6f0fd2645b30b5513159e0b1e88017b7369f3f3ef9a3c35031916df51be075fe0b55986b516556f08be7a72ce15f2eb7af550e463aa2875566fa8a28fb6d845cc5b212e6b74df2e1cec5d516f3e187ac5083ad3882f60a626fd7172fc4fb53d9f18d2dbbf442dd345455e30dc4fac97abc6ecff7fb9ddc604ee36a70aa1a7325acf806f56695faa86492a428e859190c238e6802fcd2e62c711a74aa553f8b8ffe1faad8ac25f94c863b3f682a2de3df3c739ea2952efa19f56afc5b2702dee81ed42afcc8f29efcd06f0a14c4f8009a504020b8d0063e391b109d8898dbcd5428d53269bba7fd2671e34f543242308bfeb79564fda18a821d64fded8064d347c27dd2e94f3fe1c6d85923fe0a3776b9a3137ebd56ae173ced6d06d92fea78dda23c1272a0123d66ce04df73561460dfba6c6930389bcc5291ac8c3ea9fa03a8b5a62fe8a1a239c25ae193232f9a2e1d4a343419c2afa8566d2fc5fa9d5400907a3c606c7d7020612a469524f48bd3c04f0cd3ef3a21e14efd93ad226d081d332dbb1758107fc9f6f3881bc9878d045b4a997c5cc875f96cf7e604b172d99c15d1060571b6a3cbd40e4f9104a1d9200227e3d2bbe363f93da9d192a24089330f5ff2cf1aaf2c522f8d7dcd40bf28f93941bea05f31b26fca466e0488593e46167890147229d929ca3ae4ec7b9ac7d8a48319e13fea21fee7c8cbdf2a5329bcb1d4c35d83c79e4f71ee72feed692a1f4b7456b8aacf3271d80d4464a4f5dcb46507311051d7dd72d4d28b9dde4b0b715d071ab86e6c73112afc515594fb41ef8fccd11ca55d176fbd3aa029c4520115e9101beb1ada06c5007e96c3b331361c09e41263b6b0b807e7c84dccf6e17c212cf36a6243dfb9edace18ba050cd1ea0d429b8569e44d0a80f8ce5834b606c34fe51e279082d7c69a358ff507d1074eda802df766c796738b13aefe0a638e57e1419b2306cc9f42d6b16d40d7161dda389df2f9bb959e850ec31c3785f6135ecc3e3f2e2b66656aef9480962ffe4eb0725dd9f20fb0332dff63d4869ea5f7ad02bb77c90a3f0a6f0f30b2fac2693327fc24707aec0b7c36aeafb5e2cdb11a54cfc2f04c308ed5a7260640c73ebf950099d0e90ebb315501600a3ef018bbe5b4acc5f4878417e20d1582cccd29cd99ecc66d3e402973f067e10001bbb78a9b1ea82d0120e4d70401dd4a8b91d3e8fe1485ea2dd977f74d5cb1d7f7eb158618590bd007dbdb49f6e056317e7bca7e0bbff2871715e1d0a3ca02d66d5f8c56cc7d60255106b99b7cf7f108bf8a3cedc6b3310395035c9ad99351bb9b8d7c356cfe641c254c6b4a0ba08b95ba23c1a71c4001502d9f107692edc6049f682c386feeb326202f4aa74623d4ea20cce93328b70e50245485b2dbf51751a09c43dd2cf4afb52c1e7b6bb52b79f3ddeb29d228e051058796a0593a1b8f93be312fa882cb7a0852037c82f51b4cce9b1461e853d9e2f79b8a20d24c418c96fd64c7950f57c3061405f01fffb2c8436758a712f1f8bca0f03113a8f731107afc12da376ec99bcaf7c69e0ffef248bfe1a3ef651b2a1123fda4d4a7b7fc04110cf7fc1f73e9e2479c4b2627f39c9940dd59db1cf68fc101c7d9e485ab8a3f5b99b756dd6fde10bd01edc591fe016350111874f712207763581adba34100d79d22745b2e712c362798b8d3fbb873f5608ff1a66a49926b4e0e8de37ed273b27187a550936fb2a012d1c4eb3f1b558ce1f2921e608326de226e12e5671056a58220760288129ab118ef2ef397f42d16274fdb7582bba758f8d8d48588a6ed00ff75341467ac796f10cda7b04f18d7c95b65b94a3555226e5dbda1ea76a7db15a619e1de7d7f2497fac4e3790326a49ace10848b56be781b9c366f555e92c8fc05c52137d3658e74b522f8d701560a36aedfec80ed6acdd6cd1d7a6fe78a54fd82dbc179809e9590bdbac9bbc194ba2a00ca10b6bc0363016ac580d79f632ba62feb2535d7824ebb7292453c8a11c5455841fe1a22dbb3e8641efc5195ea798fe776838ac81c016199ff5d3030a2dd9bed56158545c6489436aab690de4fd47203554fd80782fdfd87df42d4ad35579e6e5067abd08cb2f773c1c0d8b04f2184b22e591f6322bb6fbded918e78ad9cc0c4900c6445ac0fa738e9ab28662fecac0c40fae41df908ecb7664ba51ac8ff0385c99aae99897fadc8999238d16cba55401d1391707f98b1e74cfc777bba409de263f0e6b9f407f2346430df80b6e31196470e33337ec81fbf089bef6fa8498f05505d1846af4f6b2d85f63dbef4b39830012f8a62e615f8b264ac3d751282b5dfe40c03546e70992ad6bab426f38752e862ece2e1ab11b38cc1455a3c9e458c015e0fd72a7e0c3f657febdc1713b8e5171eff090e13339a3f5887512eb96de2ba109aa7537f5be62bc4d0ede8f154d003759d15a56316c12cc5c3923b9611352563f93d56a2750e66665cb6ab2cde2cd96ce76c9f2198b7624cd1e2b953f3e927f4f3f1e0af9544151290b3eba04d685ff28c1d02555fe21b3d0bc95b423560ae8cd52761f07ddcc8e58b71a94ba74d835cf22c2ea797e46371cfc9e24094d80cc55be3556d566b26f9b3dd9aa2d3abdec1f771cfa5f01329235746d7a3ce772f8e","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa15e0b36c64f0004bfb9066945093b99b0f6e1f9cca2a0a59af379b62831464d","signature":"0x65da94e02dfaa935be60ac6fc838860b57115b257fb9a641dfd7e955db37091a17cda06d8d382ef20988c371cfe1d9d8ff091e5fcf856fd60f2cd1c3618dfffcb6bd7fabcf65fa0e2fb59b7cae30f3bc53972fbb52c78e07e4397cf9378c3fe952615edef589ddca8850940a7279844a72ca9088c107a6c33ff004f15dbefa1c55e8f568976c7c7430560bf2158ebb76ae74ecff22bc7651d6094c4fce6b70b3db27579b0cc1f4d38cfce4cc77d39666157dda952381965b43057c3ce9ece9e307f89ec5c5898393727b2db1ee76a89f05d4ea785b48eab2e280ba656cb274cde15906a323e3fb411c5e92c269f8b0baa937be0bf67c375af363162f3f8c6a78341bc7396a97073a8cbdd6c4c0f16b1217652fdd5336f8df7bd4b988ca1eac7aeaa006ba142ceeeb7017a50b9e68f25abe6f0edba7318ee2144933d4c293653a385711965b4e7a67a9e076ad1a2a97d208b17be0a324e64aaa494ee16e77e718807b7620b5d4c00f360d512ebf6a8446cdbd4b1f17753b389ad8017bccd4bfa1e73efd0502f7c8d91cc1c16180ebc9f9102afd504344acf8f4ee41d6fa91de63c2af3dab6fdd5c1d81db6acf13a1c506da7270a8eff49dafdabe96a97ff1145910ae9167903ee2144cc4677fca1e8e2d86b8bd530ef4b75ca5eb0cabaa89ddee11d881f342a041d1b9be3cf2ad22c6ef9e516b64507a603f0ece21ff356e046affa8b4ac92ca13527134a0ab18c3b8d3962f558145c78de83fbe8a8ee72fc9e0dc40a87cc391a6ba7989fd95bce5d983639ccf946b22733bc8f4c40783fbed707ddfa318f3465ac28a647e3f889ff476aff89f4e5ed2158e16d7d26b44a41996b9808f1ce0cebd6e7cde57c623de60ff1498113b7ace8ee0396d0babac15b76ba530c2b4f4026af7a9b7d6b96b655e39a04bff9f88eac6ef0b56cab80b13f5a723a7510bd1786d8bf787849d1e9dda4c3d674c94aa5701bc0a2ee87b08032282645e4e2f707c301c48ce721cc54d55d99fa24607797bdcc884300750bd6567c75a56b7d2d7b1cbef686bd9afd54376979927a1b634a5cafdac587b81b5eae46559b8d6245dfaaf73bacba99ba2689146fed666a64b168c4a59a274ccc59dbf04a382da6ef026fad1e6e6ca137cd0048a194720e16e999cfe9946c271d61766068fa86c1b08000caac638e8ff0683e12f6d14c2a60545cb539390dca37ccfc549f54acfb4139a15bbda5431711f08323f3a3f8fff902f0ff7a038f03680feefc2dff475dad679345ded49027a8f671e9f11e740649100c5ecab145ef40bbf426aca4fdf83cc9629efd0877885b1664f275b22d32c78256d2d69cb1e070b6eb1e3702168e10b7f16080c52829d77aa56858b0c8f492751661c12bdae7932043f3a4515afae549b8ae0ac76c0cb36fa3120144c4def29e6986b96c5afd2e9ed489baffe6f51e82583bc5dcb86b6867c2befa1e0e745c293b0277cf5c198baedf73300a52a76ecf22e5eba007ce1b856b9c5ef2b4685b1e088e0e931aa297e7f36d89651fe952ffa1abe703d9537fc77ee57383d0d807e8f5465fa16486fd5210a3a83a28aca2126dc8aac5f6a6ae4e668eda4f4b6adfef47c29a8dbf5aac045c3344e31bb0751e8a139c5fc7ed35694e510729223de0fdc765756030892c9ae3d86b76387f2ad123a3c071d297975d9f08e0132202e382258bdbb325f6ea5194cc168e23ada9361ef1522f92b8bcb289df738f34362df69236032b0a99ea958e390de1cc04ec63b36f359ed2737fa01358d00dd4ff0ab98bdd1f372ef8eabe272918b3d7249da061129d153453fbb5111518b1c635baa5b4056de402ba7e3aff4e1cc2cd319eb2972c00d4dd5719beaae512af6b9fb1591927475e66883d0c6cb66a4102367c754b588d223aab6fdad171cdab4c129a7d1f0ba4d34a9aedf855fd86568175d394d511e6647c40aa4c5be1f398c6167cfaffdc59be42e4a6d09b4659278dfca669721076e529a8ec12a76cabc96627c83c4be82b0558b35e062123cda7c6a18e0ad16e22c1c317b51be1d9e1a42c7fd389e3a7c49c1524db8190223605922af50d6af2be6cbfda4b0d46921f6626530ca11eb45f9d4a3c5611f151f97619063e7baffa6be9ed364f60535ff7ab6b025edcd69ecee27f8ea0bf0b283e9cb6cb820c9915a9ee7ff5c73c133794595d4c82c55d9a31f7f8f72ce8713ef08f1df51ae3434529c149978a460f9214e558cfdd549ad8ed50593080e8151c0391a28e60862b59ad24272122dbd7c8f293d0552a6af7696c2cf35af370cd8a73269c5e055cd3a6b2588946ae5bdd6cdcfe496da0ce889933c27eccaba275e8016135ef3c506fa818a981a242bdbd52eaf25cc602c21b3a5b4c62b8a8147493bf8ef857e88abe371324edbb467a075b8f8ed154686b119b2720cdc65b6c730ce83d9b3b91bbbcecfe70aa6031c21a4d52e8de03502492481cb21d04a1de80febae5b9fa4a756a5e0ed37e7368851917836161b426515e76d6a904691263dd58ed1feba237c28920f5f8dc79b447fa5dc463317003d0e4e055c67061e78821d7c08f6f478eb5940c45b79bc451d7bff528855add6139b73d9c7efb087ea3688bf45e9b4eddf27134e4a1a9aa4685d7c48065664fa1ba6f0f8cd2d0838789300b1118e4b1d16d576baa2dbff6a91bdd7e6608d0318c527fea437f13d0642e7147f9922588a53e6f9e518a03a7259c9cf4e5801ea7fe26eb9d131c54cb7c56424a84ec13cd7b55488b0e7e86d94f4240720bc99cfbb1f76445d1bb8dd648eb35efe4dde6480275f0b4b7cf9ad6826281570f0027ac4f1013e1b3e9663e293f9c0b9d9f3e55e55560fc69832c5fd0608c9fd572c859da9551c19512eeba77b6aee38b1c18ea21ec5ee483635a76760387195cc5bd9a36344e289d02863c546b331fe8fc46c53405efe79f0622afe547e79f3c0ea859d9b944bbc8bd53bf04247a7c2eb0933ec1c8895cbe7654a7dd2368dad5dc0819f3aa4c58344a83fdd42342265a18661ed26f1cf4105725853739d5fab3f086fff635839af0ba0f8c0ec5655cc8b08248eeedd6dbdfc820cd3436d9e0669d5803ed32356b790f1eab4d15a00bfe1d68ebd92fe3b9b93658ea1e3c8c5c18bcd74245e9a8fba2821d6a4df8525741871c50b3c7fa14e5358794e54760b9851e80201dd3681a650ee8e9b949703ab44b39e071b136225e6d764bc3a9fef4acb108f42e07b9d96330fdd3839e17c43dbc9bb07e5ee7eb16c60a0e292c50f7d2791fdad81373dee055f7908230876921e729f62e033420f985cc35dbc895d5bf862878ad79650ce0cb8c47dc0e096f2f8a1afa0d96de7429231ef821cff339d3ed55fed52d8fc4667eba6f9ce3c3a91fa3e28f1fdde5e7f341f55855b1359066e6807dab3730c1e0ceb9137a12a6b27dd5c784f87598946842e387d07ca9b88a438482490c01a02b0994fed2dbb2cef65a3f1e1044c4ae6d9dc6743ff942f68ee5a64e8b691c3fff3fdb95e2fc623a4fa32deeb271f7439d8b3e549d57d2ae033bdf82ea026f7e61d29d81108fa542a3395f32a5c43aaa5f5563f4f87fc20f94623422507ee08348dcbfab4df32acf74cc2bc613c253c8a5b9b834db0f40c65e0523ecaca620cc8daeef8ab3efd8860808477ef7afedb4f6e31489fc33e7c962ceb93878a78d58f6c736a5204d50560f2a2606a77138a43838de4d5d4632ad31a16f39c7f6337b04c056d6e0da9e8297f34eb4dda145adb228ab35c8b78a702fa5901a3b2cc20b8cbdbc0165ec48a24d511e803d524f3707162f4103a088ff84c8b2ea8cdff709eba9d4d84ad8d179103cc16b081eece4ceebb21127ad4196fe58a880270fddcb6c2fa87e9d1e8f10af43c8a81ea923c71a6a7f910d480d70b92a6fc2579758e19885c7d9880f96b470907d1ad0914f582befe88c865368cc0ba70c9399d8001bc12204f4ddb116eb6417442928e938efa9134e94d8531dd6cb3e906f115b5736f1f18da2eb8a118534ef179ea0f1af35b0d77c2d94643da8a299cc03441b12c379d5b84d01dda2d7c98bf787f3c725b7a2d55ca1745ed26c967132dc5f0b1ee06107c4f9c9d1068c6a665329725112676faf07683e15133d7b941a63a16586984250ce597ac22369ff257874d7a024572a99fdb71abfbc0e6e6008de32dc19a9564a7dd37eaa9ab2655f5bb486e492a53b74a50577811f1619bd8c43cedafda0b429398676d864126f89e9c704cc2eb1019d9ba801998369b38aeda3e23b2edc6f2dd27d819efbd8dc236eff7e24e68c5cdc36a959b595b9065506337fc503c739719b3485fa504bb4cafbb80493cbdc91ed34122ec5ba05b82677ebe3d0320a9e50290bda45dde1baa9bb49a98b5dd15d1502213d355e805e677b7fb8532fba8bb5237383c6036f7bb881dbdf2ab5fa0c559a3ab61ac0b7bdbae7f629da3abe789288fff6f17763176f74a0059005b15e40e5addac206a83a4d209a826cbc20b64ffb48cd38d5ec3bfcb37339e2ba73f7bf1ee6069aea84bf57367e1cf8eb7e6237973d830924ea3adaa8b8046ccc63e661109108288a5eca89fdc06e1ff32dd60756355f6a6927c32cea5276c2cc3719e46478a85dee9d2e15541bfd298ec71cf084d71b0a5f734eeb5b8e91f11a213e06f2a658e14be0c6ef2739187c11fdf3e175bd17dad66125966fc6bb8442e66ab1585cf69684db3c56b071fc2c158a7fa093414ff7d3bf8bae6299fde30b5c14986331868f4d8bbdb63239636ab6dc35c4804b46d8f5242fd7ebe9e965503fece094a2cbdfb6547198c99979ae5d03daa3dc08254202436529c4570389dded9a1ffb9c60a57ca7b59b3241851e3b18646cd038ac2d23c3e6249eaf54007895438dec20d7d1e0cb18ad4ad47bbb393e41b5a5b209cf2e7e7d51f71761f104f2786e78aa10d82a6653bf404fe5ff17cb029e9d995244ca73d4ea956afc5bb1d669badc193bd2fc58c9cde0baea977d3d8571b4577cb9df086437443e9f2b7cb79a6e8f5b47f2a54cd4bf10adca4b9a89b74de056f21e707cff15bc146f93d26310f3d60c9e1db34c9ce52016a0c40456f54599dfbf382239ca97b5d1b323a0c5157f904ea3232969bcfb5be02d2897d63599c612365c6a231c315007e4d734f77ef625f2122907a6a6946c4f547e3f9bf9792277ebc9cec2cef92e7b161cf5b4bc8db250d0db0a867e89752277be8dd8f9165521f3003693f5c4ae6e439273bb6c6fef29ca66baf6a8594f8f0b2a3b363b155dcca3328746ad869032a2f8a83a3b694497c4189336cead2ec7ebc91c62b8ca21fbf18df1a42b687710d484bfc19cf701001ead8550bd2afcb63a172031035794bcae4cac236ed8860336c8d3e765a196fe8097cce17206b51d7bdde4a40d67a17a3bcc2cb9d3df2a5a3824265858441bf4556b9531bcd9b6f61aea4b0fe46652423f60c605beecbc58973bf90981a7623c8b7512ea8b35ed42569b6165b7cd0fc0bf94c63edf19bb32b7fca9594e8a9de5c6bbc838e097ff1c4913e563b67eb7df011b462ceb3dd17d87646a9190d66afbb15f1bdf9a0ee929be06559af824adb2443ae2ac89cef2ff5a6b4e7658cea110f405c8474576433f8456748f2320ae6f4a6af00beb52dd6428638999c7974aa83d537fdbaa748ab9f50948001beea940d1c81de226de3608b8de4ddb3ce77f25c903db19a623ff9e7ab2fa5239df7b73ce0250093ad61ffd975325e1221a4a920ac91b20e3eb3049ef759d86970175320ecde9b3441e63f0a29e82556d945b6d2e52510fd15742054fea446399f3f865a20f023699988c852d38e66fdccd35a1db47c901329e4c74535cccd3b3829b7b27fba69127729ee4e80f30f06c19732a90782ea674b38c11394543368bf02cd9b0b2c2ced008388754ab6489ca9676b3f0514b4358a8d6317bf9d21986534c23c10880aaf73394dd8edbb5bd4194c357685addf364e5d28a4d91143f5c8abd053ab3f2ef1a247fd11564e4d2cbcae056bbc258207f3ea274e251504bd6d8ae8aefeb7c149064081188a99b68534b3de86db8bf78279bf0c26aa136d6766a0e047820655707b81643c15b1785dba1281d55f4970ae801829224cac57af15cb0ec075fe318ab405e9b332a8e51eb745ab2035e2f69d9a82a18c25f04b546874d12ef05386dc80416aaa87590a740065ae9b53b47b84e90e0f857fabc790fd2e4644d2e5f76699a41e86e0e48ddf5f1b5fb277111a6786fbe2162ffa6d65fb88aba53c6e740c47111c86fc59395868d0541230dee6a8ae92cb0c0e71aac1859db09e00adfaad2ce9ce5759b52fdbbfc63c4fea88d93b99468329875c3a0d11ab1020663981fdd46ba25d2bbf9921fbae5c37ef58475aa17029ee1d1a02b1ffcac1e534ba60472a2e40f0152e4a4d8e9fecf92382b7c2c4d51b2d343a3b668c8ecaf7172358a0c1c8dc131e3156585a7aafb4e3ff3152809699b7df141f2b63707c87a1a3acb6dce6000000000000000000040c121c232e3542","message_root":"0x7e26480285fb247ed25fa3b3538e004437a72e57049503fb8f0c2ac0a9ed396c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8792e0b5ab96f2f8b507c31f9a5d58c4916c70b694417bef2fb41adede0a0d5253d44daa10f2cc0c025954b51998041f854897401104b02ab31450369a1244461c50e9f415d2e3220dba6539694460b66a8627a8a76e76493ac24bd5f0b7b33774389b0d02e21c623b1c9efd3043694c2174f31953dc134f7234f70179158292aa7417a84b4b4f72dcdab96706a7f4ec977761ec7c65a1841991940ac63921102fc1c211b2e2e46e43cada2f052d7adf9330c9b96066441b30071c2b5ada2d1c20c72933641e83c9d84b06c74f6c103362a2480774ae93144bf60ee53f3bb3f8251db59d073f10086ce373bc4cc003e44e2ad244f7d667b31c46013e75d2f47e28bed8548c06f806d6060ac938443b22400079f8208f770e63fbc2951b54f97d9cfcd35824699aebf83fafe6baed79300de849d7abc2d8046d894d2e155b5d3da86361a8ec611f2a95ac805a55715d70404e7215934d5f27b520477f96ec610e6603d6e643f4efc7ee60ecbb36779794dcbc0daa45750749f4450cd2c1f4a09921da5b421c2907b7401d31405c86f2a4dc7101b4a6d3448833fada7807a8c01b0dcceef64be05f8f585c2f9a9e1a418df8e8ffd6e247b5ba33627dcdadd8f13b85fc7458364dd082a4b5b8c89b9634f5274a101de2de8eee4afb018dd164f4f45ba7b67e99d39edba65001fcf5a962f89e17e255707c40f3c70d953feb796eb5f708c1eef7cae835ae37e08e51dbb80bd73f3679116d27a3fd52d04928cdb5126439a184d61f8f3a4af93cdd9a0440e023cec70da10379f34fd5e6c2e29e8bdc40236c986c3ccded22dd7e5cc06e5efa73028184637c884b079bc2c2ef50dee9362bd297e1a11b0e3b04b196b4cb14306fd365960c7bbf3145c4a95a361558f486059907a9c7b01051ad217fe890ca3bf5ba7f7646ef90ca3e4774183605a14bab77d28baa0e769c837ab940d359cfbd93a9945e26451e041692ed1ea6917632cb479d7c0feb941b2f5f2e9238e52810587b66667db854c7c6eea38e7380161bbe1bc4fdd711a86f3289d61b0f1470bdd01f8de50df78188205f0e6bbe0425f66b220329ec1dc74ab92f240d43c655d126b54d1f45dbc771531cff730aa9298a222213e73629f89e195484fbb43bfe676c7db4087adfdcb373d9f8632d2250e73458dfd9f4285c431906d327c85a308ba6cbb90ba0dbad34013b02da60bec2afddf6d7ded0bde993f5804426573c45b12621a8c061f95829c4e72c95cf21dc46f50004271d0e40a9f66ea8fbb88e919617bcf3696963aef77ec4a38a80e140d35c91ff5a32171c8333eb53fc928e62ddddd59b81d3a9e375ad74d2efe910babc1ea15f7b245dbd91d4d42a7e027cd5f53d97cbc079d9a526485d8cc8fc870e73ba2ef3dd29ce2f72db7c62441319dac7a9ddc1befbbb9cd08c96b615a3c6a99a4faaf91540fc0e705459776e524ca1ea19ba660e4eb97ea81284d00f13115a5ddcc6ea781c173cc2568ba1a629a04768cddba23713f19713b7cd2eeadaa85c4fcbd438ee21c8c7d2ebfbf0ff914810aa845fc282aac9a9bbcfa940e266221ab11e6e8f5b688ee2773d899daa607d87f2408f6202bb6a7a2a668475f9904e61d86767c3f17a1e777c11ced330310df21c40f1cffbc030eeb60db89f210b99b15a40ee97a04fc33372f6bd3159b860f3300e07de32a0e652e3fd1d7bad16bd85b4a9411624383f677542b9e596059b572d70bd587f7a9e49a3146d83a45a4ac320535cc3310163b079ef3fff7b518ff932c821587948a0e84429d79559d3832ff2c5262a39a50ae2ee4bb05aefd6f804c9d26af41c11bc11f04a71c86abc7efb95838e672ae3fd688120cc43e100452fdbaee2f9e07bf3f610816c0be941533b29026751e649e673c7332c3d8c41cec619b3af53df02e1d62f6a67c4a48ea8139a212bc0066293de5ec2ce082413c494ec0de695c744c45155bb96f2e6d9fe52cb124aa0ecd1c0bcd15b63634a0c8ad3d114b9d40cc43cb30c07d89fa4c13abe1e6cd0d9b45b3c7f665bdaff136b7f41a3c453c3f1a488e5893288075709c8e859e49634b09d5ed190e19fe2146b4340383146bb4fecabde0194c7f0ab06d0e0aee3b0ce228d65ae5cf237fbdea5c402f938057c6245d72a791aac60a681ca4c26f04109338ffbf4d1b98c2ba5f5db0a12aa6616afb01cdb26c56d78a1bb8628a49cc914d234fbc5968eeb9909feeb5ea586791f545d6b462bc48c58120abada72fc6bea405d0f6a3092ddbc8e53bc0bee5e57f44d6043f6b278809eac7ede97fe6c52bdc6928a5aa93032a006bf1c0afda167b19fc010160b68ea6b76f88b5cd87a072058bd91cf792124f8272b3d856ab7c587bcd60640376ed25a33caec038fcbf205d90f2dde4f40e3be7845768f946635002208f9b1514dfc50c4f7006468b377885a16c598ab60fda572da9d24f7249bc857f69c87511efadde74045cf9d588a9de67a38fd725b57a08a88bdf7671882d3266a2987f704cad365f5381ad00bdd28f0593245c2df2a8ffdc17364127b4b3933f5b6eb1b78d23f91a61fbff340ebb34667e0f13209d1594a91c7aec020c51a9b6fbb4d22658cf12504d4da22e4d95f8a96511080d5d20849bfc2fd2e46da6e78ec0a93dd60da25dd77ecaa8ba2394f10038971e1fca65baee8b6234636f01815bc81262ed08cc00ec3a3c4d1497b17a15c04c62971e69677bb11aad5698dd71c4ec03d4b187cd7cab662cb5c999c4fd1294b8398fbe9cd8567eead0698d26c650664fe85b60deaaa6e58b947bac2e05a2256c1b06d2ef1287257034ea015b2a35631933549a299ecfbf5316a97aa99941367cc88a5a01d337bf5d6d7b4a106892d0c54bf32e2f504e86f9fc76c40bcdd7a60be3705e4e9a5bc17927e0ee08a6a60ae39c227216b01fa01abce64d9e75ecf1748b042860e7bbc78aedf67e3b90e84da6079692c0284c93e1e2d2c647d415395cc84061f5e4eaa46a596079612f1ec6e51053926932c36eb9dbba099d5cee4fa08b9ecd88a5c78e56703d632ec76578e800d37494f4a6f19f4021fc9f68156915a3c19a6aca3587d390cc6be2b2026748604a98741d540a915f57588c59279f96bf79ed6800ffc3f4e1140f443cc0a3e5a60186901369bf721363d7ceaf700230c6411ae1995ce3cceeba51e04d2e4d329b405a8070f4934d3e4252736d05f7bc1f3251ec2e6a53153ed10b0800a1917f51b2b2183249b78f65e2397e6c7ad723159c777ad702fca485a1936c1ca4b91b65d3e507667e5335d51711d5127b9776f2ab90533b6384d2e1e59c12ea229187cb50fef0760a0067abab9555e5d50138abb6ccbe9e6d59057e0ecdf68035c29e55c58f78a1443ac1de4eba14f0a9f1af6c3d0e4b842d439bdc6aee2e6137d6f6c67ffd32da04612ee17ad376999160cea4943de620f25056400b10ddbda96afd6e6407d965440985f407e769fd4f161e65fef9daabe767de55d647993d1980eae33379ec4e262fdde1d917144508c3ee0f0504dbd155bdabccf770008b2ce0c6cf7f74889893e18abb5fd1acba37521a9072ff4f368898db601696a0edab1edbd367384efd3fda8e49e24549edabb72e65a1e1890d96c9ef1c3c664c723adc86fce98d54a7bf61f3df9","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xc5ebc2874c348c551c9d29380776026bf8a0090c9818bba9aee1f27629009801","signature":"0x549a60c3da80ec07a268373ce69d874bea730113c224a41b52392bf306c86cbe6431377b42fdef257b0ebc83ffb5a7bfc6578305f9cdf27d790ebcd1f79d269299698e4e713ef8e7ecdf0c005d4baa24e856b5d2b5c862153804b2b7b8bca610eb6458caefeb667e2048d58d77a4ba688b3b057f00029ab1a15dc175fc926724a0b07c6e444216433cc3743bb2266ebea94990eface8c57be3fc8e14497a8ced1ea586f16e4c87a5db6e2dadcf0338419a7133340ff4a1366b110d10378ba46594237b5c6f8979a290531c9fdb9cf4416a91775be9fcbffea0cf4f8407ca4253e424e9dfd507fbac89268daffc723a55dcf6195dc18b74ecdc647d2aea8e8ba6be03c17eff1d517991d3d69e7f866857714ca3cf2edf6b5318e627a9afec007e0f736dedd5dc8bf13a7d43f51c13ebcba6a92240de9d29ee543de1e04ac2ad9cba992607a33e42725041711f96f870526b1703198d419d3d4ae32493ac85681b18b3ba005abbf23063719dbf2c6e8e9bac0d90bbb5be1c21da779796c75a1e72f8a4a042ffc2d4e9ce077fe06591dff635f45c9751ce341da27abac770692e9e1cdcc11404633cd2073cadfa97973a625c5e4e240da89f7db2fe246087a6360893615babf3740fc1859d6f92ec82cdda20cff32dd1916530b1fe5fabc0635a94e3d89bd4547185b0ef95b92b31ec68ea780d0a8a8dfcc79ec964d491ee1bd82e630d106935875684eecaaea7669ef1341bd86a1f44bfe0771b53977ba0257b980e771c3807251df5b12dddb163114900d0f3ed19fd87689803f09918d17cb810385c15a3549e0919ec914f7f49532ef724bd7c11851939e223f8a79b826a71e1b0012e9fafbe14a59afdc1a4133d3de044d9ed55640cbb823665d8c4e36b7f4dfea42528e80c19d690960aa35fcd49abef2f42dea3621461e645a9dfa0e6872ecef9124aac6b496e04df6f64e53b9a86b442f96f39a7f4a714862c7be15389c7ee4956af4230ad39f70890c7666f78f87c90ad0d08e682f873f9d84a8c4e12a66baf0eeae9d0eddecbbe14df81b451e04a3866278ce1c626bc39b1aa2680ceca849206b85e9ebc5b5d0b2e66b122d0552b41b34156810f67db0ea59ec60d4615e0b02f16d99403d1cd5ef420720585fe22f87f37c84dd634e7b7f4cc00e98014179a9ee7c110fd878295248b6ed20c6c4706dbb5d9183d5d40d46b07c615f812f76096b77f526e7d04b2c258ad80f374144ce43f61487c3b09e23ce1a6d93f226ceca57f67a1311be9eb1e68bae858ccce4333186aa61c6840a2ca7743c2b755abae0d8362c457a93cc21058aa2d4f03fa889a8ec36a4650242530ddd8c8f2f486c282c727c993ecda9bc1442cbbaaad15525200d8f113bea95e64b43dea8820943a9a94452708d060e6f5368de5b3e71396f4a5409eff353e802a18609dcfc1974db0a58196cdacdeb2df49bec9930caa1238ab32b328732389ebbabde41b45b58acaedef5320a24fe2b5de3579b770793325c4ec64c673c99050078394cffc0f86869d621ae99d052c3f6e943a56e6140f96bf19145a173b92a77438309f2d0485b1feab1851f874d790cf0fe5dd1f2a4af1cdd83669f6222d85104d653b95dc50d61c7b9dda1e7091f1b4a2faf1969582cf27ec4fc02696ef9d04e727e5929b5d30359450cbfb4e394b4af4c41b5494724c588cf4e9eff1d252dea35a38461eaf8cba7eae08c07c4ca19b6bd335d0c043e68a2b62bebffd24b5e0113999df9c40c8b32bd89d9fdaef492cd53ccf3631222650a0c27735c406c649ed8c56168bff20acf20be61436fda32e1178416bd00cd56ef68c0d3584cea45e06198703110579c788576dcb4e4cd9cee0e5a81a19a1dc75df7eb406f062e7168685238c8bc53fe603974a12bad5d97d3d8e3d9350167ef9db5b995691684fa5e258540f3cbdac4f3c88e8f444396cfe12f3c00f84f52b8c228f9fddad90ac67868f0a1c1cbaf93762d51c1a3d06cd39926813d4118f3b600169da28f93634fb3772297a12a5ce4f973c6fd857193a2b8d8ee5d15cac63a11e0931e837b3f63203035d3470dce630c4cd1c432029751a80b3c8560029cae4cd46ac7954d9b758811cd0f8f70ff5575905c6db57dc8522d9a7b50670dcb0c5931a504b9f4ba4a82fcfb135b79e88d2f31fc6312ff8817a5649bb19937a2b375afa2d60403d0e030ab38ebff122b23bd948cf952676e5b70e2080382f4fe62d7dfa3e6d2abb7669ab033243a57f9675a1231dc65a0676da729127e0ddc411ead545fc0c97347fc0e247d6e8a564d3e0ab3f9ffe19329486ef46798ace3d59db708fa5575712b1ab999cf04b231260300ff782e4968d4d4f23808bd4db4e506c5139eedb56d3df2f7cd93c03fcbbbf813a19bd34e0e1fcbfdca45ee50fbc957dbe65d17573d386e1454db730ac74d9aa60c628b7dc26acafe9a9cf4838149d3cd1c8b259b4921e020abb84636a49616018b39ff65fd27d59c6466f73fff50a8bd41d98ed3dcc66c55d1ff4912206ed279850f87d4453d4312aace2cc23283a2ad65db6241e9af5be563e6f1f4dae92db258f3f8c0a86c74b839b54ced9d16391dcc09b163e60faca6a47b4ac92102d9b7d1e7fea83ed3ae8c16acbbb9831c16907f08db4e95068222a7b6419ccd0f14763356e1234bb2d75aa45b88e10dfdd351c417d2bc9785554fa3a0691ed1930f5a3e172f966fe6f6343a87744deedba44ceb660f597776f7593f1e09d17949210367ec8d9c83dddbaf710a37f937ef730cdd67a4252b7e574c45049be7b0d60e7bc93b40ae56fc0042e43dc22c33fedf56ec0bc3ad298806678eca76d8185276b1f18541e1afb036e33181ae08b14a8d1cf2e5a06b5b9888cd070d5fd0a769d91eb74046563aba238e8e5c024929647e1dbbed0537755c49e178e91cc6c8fe98d542c3336556bbd54d15e1655eed232a46cc4b8b39e5d5795b7ca18c28e5c28bb92d44bbc2bddbe7b23dea3982526aa984a5441eda4514349c1aa268a3c3e287188e071d48054dc0934657382932299dd7e7dbaef24118daf572c567e9da247d72e9c3315ddbb4704ca234fa95b5b561e271f47ef60936810e348b1ebd8b7985a3f234d849fb93ab9165a8a7be10c970059e9ab27c59b62aee721e900e86fecda26e9374ce2805947f40d1860456640e06c65a500c56988a779884a7d0a1477e5be9705dbad1b0a2f1f624224d56c80eaaae4a54e4ea739a0f8db344602e7af725984492895f252e2906b3d4096ffe7d0df942d2cb4b2b16dbabeceac75d19dcc14212f5836c65707e3bc70ce2565276906649a511207b4c33ee939b96eee6aaeb3f25afb5ad5e20688f05b71e07eb339c4609d76d9b722bd048dcac05773a3944da12606b9ca1804c7fc2e8f44c1e7457eececc8654182ce2b95051c459189a4991733566e5257e0bcae4650565fc5180731a469d141220ac9b723a5a3d5deaec7732545fb61d7c42ade60c18d34f8258a5c0fb2257cdd106db85b432c514b656fd369eefaa1d2824282b8c625b7d33bcf20cd53fceed577ff77f6a0c61faa6f70ea5227b712c2266fcf077f0711d9c0648fd55dc0ce28695604ed7d9a2ddd41024073976817d0cb3ee3f0ce165a7846db7c2ca00dfab4b42faf7e27df5a9fee8cf7edb0cdd342b3b25523b13d7a175e756967dc238893bc8eeeddb3c83ad792a622c1fd39f15dacdd164d1e92953cfe5eb2e31e31f7eacf7eb2d22243ab60c61422f6ea1f625d8e556e9460d8db9a2df956f264acd2e03be20c6f4e9f394791a2c3987e94f4f3a3d1ff3b6ddf873eecba67b858a9fbac2e225f92e04876084f451ef74d795ec7d37c8ed0bca6e37cf5274c5a414c4fb41f493163751d61f0e1306692d07808b0660e54d417a65a27636c3a97c3604822d4eef524ff4393a486c7d16fd54a529f0b05dc09f2f60a2e566f7b78b367efb77838c6f02dc1d3c2640d00286c01260378c46b57ca125c06ceae8c22437c42af99f576bce5708144d2cae4fd8c4354522457b1c02c4f536d2ef58b65f8a7c97881dffae3ae91f74b2ed3b4a91dcf7b4e18aeb60eb3c6e4712b0654ec05c5e248080b00d80dcb5a1eceb0a6d7440be4f8920b560eaafa16d025fc463344aa02becf91185ca960f07be4281e25dbc5927ca4cb51c5baa38c4226d12f6cbcb700951d8bd497b786b98eab25da10c0fdce95766ec71eba6be4155c2211a95ae82cfb9b9920e43f3dd880399357ac649baa752a2671b99acb34e0adb7ec592a6b91b130f89f3f8d7badb84c187d4907f7e78749f61a8ab05c13fafc094ff65f4a1d0ebe1fdbfb3a5c5ba4f0b5139c8541303de2991ad756bcae12c019383d5181532766c700d8669c76c96e3e06f3e98f3b095ae5165254cbce41c38c2c9d21a2e8bc680dd0094bfac3dbc83dab32e91ac2deaefa6a8f39899ee2421d1c114642659d47215616f335eacd5a00bddfcb1d42b3bae089ea627066c87403ea65834bd4172176b6c9fd1e370bb83cc9afdf982e8be34b8bc3a0e5279b627c0d08d0f68d12cc811f54585a25a4e1e65a8771d94ec3e9ac6cc3b4dd5ca52df58f8261007f35ecd0cda4bd3f234f8fb5f8ce35d0e7e825f254992405b81da9039719d252feaec8b46c7d5a4d80653b893c9cd6f78ac98e6531fb41370c40130625cf914c22f996c9a48c683fed3ca0436dd6feebe945d70f89ad1e3f9ba1525b77b0ef09c4c5955aae382386420fe8b4377e81ec743a41bf0be0db41f80f7af150527fa28afd5a266b78a80f22f91dbe30c0462996f11021cf6479f129fdcf1e901721f5e74c961e88412ed4aa99d243281d6af65fdb46592edfcd606581e577603cda202902b687c93db342e9cabb08d95ae0757ebc3fc7a90570ea352fbc7a7f2c572815ae83e85b5920de49332bdf16762666c30fe96642c8305411746dbac70354319319101a33b23508225ac45ab371592163462e0a9050fb1fc06b068fe7dafdcb4a6964c640e02bd13707d4ad56dbaf1920e99b303e02d677691d15cffc795e218ad98c4f0e3a533fd10e70cb9da411472452589e3f3537b3ef9e6180c750d03623480f29d18a6c3f2f2e62a7c0df246284488b50629f3a35afca2c5b6e45eb47c4460af26b597af10770201f4274df58fcebd2556170b75920738bac227b1a61d36a84771bfdeb114af1d5cfc8989d16e35be5a1add71fe4d7ca3a4d95580af5f992cb847a67eb902b2999dfdca8be1cce6c1c50e76d7d426c5e157e3e6a043dff3ec3c87ac5e3fb33342025ba81e2f57d0c0b84956c368e7013e4e6b160f14f84ce111a38843fa64207da6364a0f74beab5a0b3bd2a2c0ffc211c910707c13b886d4470f8fffb3d89431f8673ab71bfd44bd5ecbf94bbf960573e01c03c55b7613ac123aed2fe4ac79066ff2f7b5049b88fbd299a5ab3f9470ba2008e546f3efca37764e930bc4559aa38142344b468a77beb00347baad4718ef86680f157d12607f1ca770015b13c03c1228f758b4e27164b9f3c982240bb7ad372f95ab606b20f5a3bc536112e4f9cc9d7778ec5e66fd380219610b40396e3a45dc53b76cac729f23276b4c6c3cc55c908e3675f056873f661dbd674f6f14385d5c8cea018cebeb0a4241331ca462109b42975156a1990901c35f4bc44e138214f86b06555bd30e307b2adfebc1db032a6b2e50a777ac658ff493031e3bee5f4740663dffbdab1b57a6536f655c126009ac76c172df4782e2638193fe2861fa3a448561e8c21e983d309dcef89100f2cca9bb956dfcfeb5c7d33fe88fbebe8bab04f3c423b26e95d681962c4dc4dc0d2a57f5a543f9b3f7a24caae702763b03ec477c0a02555cf91c5c6b9c36620874f24765a538f3807aaf604d15bb7e281904a252620788771624f36f62175774f67a697eca7664b2ca2fbea0f468004fbcdabbe0b502c39b24728ac3c1edb5e7775d822d5f679a040620b10fdee4839e2198fc123d5a0d963aef0e96d5588bb479eff08e374acdbaf872a419e2aef3bff00459070f1c75f589371958e761816ed8c85917cb2d78f817dc20abb4459b0298fa532ef4721e9bc2210fcf3686154e48f714efeb93eb7ad38cb1ada1a6bfdc398c8772064555d4b81d3f7109e6605fe0e536ff0bb606a77e719e7213c85d9ec6eebe74f2859dd4942c35749fe7c5d1b55c4167b5c6350308c541daa47255676672fa1eddf1d1b06bea416e70a812b7f3f0849c7a5319624658b5b6460accdfe26ae0495dce52e80be94871ad05ba00c7eb3c4ad1aa021e23671f2f76fa3f6076048bef38304559dab8e833db8d46328e7587050d37fce5d6e360934abeeb438541429219f21f948de48334126d688d26f237e1543d9992ece3ea51e673d4104ef21f3d1acad0e2bbb2872e0ac0542485c7a9fa5abe7f5162b46618285cae21c324a8bafcbdaf00137688998bdf51a2d5a70898ea0e4e8f31d28535692d2ebfbff0a14338edcfb0823607bb40000000000000000000000000a121a212b343a3f","message_root":"0x789ce9a6166e817efacf30df56bccf4427966066e1b57d0127014c1bb24ff811","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xaecc5314d096ec639ae76b9f0a4f26425111a54c644614d8ef7243ea58bb4b397d693ea53a53a14c9d2c0043919372fe2be466d5278a3f2edee5003a45325f6a9b6c357f5ee330f78b0fc5d7e6ef35de297d2f5756d90fd42a79d79e6c358a7bec4c300ffb12170c47bcc815e4d8eb750b62e7c0c6da8061113c4bb4443a66cc2c20c18b6ee8eb5f6c8a38f5f37267221869f1bf834084abdd09275eab660cd94274b5ed85ca85cbd53c12056a59c9e7052de78033a65f31d8561d396683dcf4e15fca00ad11849c89b25427caac1790942c2cd79e095d5403fde03ba219f91de8ef31ad0a46ce952df66202d24f32c204cea279cf46a99d81908103d3596b49b72206393fa82d030cb53685aa574fd1184164c93d8345690950148cc9b26690fd6643f5e346414c673c4589d51e47913cc253ebd66d42f9690b5a7c2cab017d79bcdf5f5b06165e313542e541a804379b7ec21a1857ec11ba9124f8f4a1ec86e93f3c94ebd11c15f13d3be175865808fb7aaac439f64f72777f28f832235bbb6df6bfc27cac3a5d621eaf90250a347a44eba900ae1e692cc3e70893544334023c0ac2fc298d20b85a7d92b9f0d0a34d712053b8288ca69e440503c6483f8e93799f11d73a9f3e531fcd3b179963dd05da772cfc7efa55f215586dd8f192bf464b327219fe72f0eda6c7b4b79ecc9e69bb23045b42ba1f1eea85c22f86f39336a73c470f2c8ead3c0aa9a7a9b5ee35f9b48f1ba0f9a3075f5147e0b13dc961acc0cbb4c2dc71472e1cca90d72077e6df65bed8f04f27a2587270f14523615501b8a7ad09f669eb93741c2b91bb3723a67b6c8387b77beab7d0c466964066b130d6d009b3dd5a69756f35cc82bbbd09887d71c84d10987d02fb1f3b3c57dc7ea0ddb539502d5fc753fe354c6ba5a651273d9e058240b2b771bba2643359c29112a7692a59d11efe248d119406cd6aaf577779f9a6150e850b5073b22655dee78302376e225fc236f8bb5f6dbaa231449a44a938a469c3c5de5e486b027dc33526197b917ab291f73d17fe57dff07d7a6de73da1ceb13e4d1b783ba3247e28c9678e2d8a64f29ded7245e931753c21dca16f36cc753d871e956ded2bb17b5424c9e8769c3a81c7f9916f1527ebec0af547b6f6dd85df09cbd3c1b95f55cba943599a65afbdf00ccac22606be8d6b3d94c73dd51d3af2e73bd02982c8da86ad9d7fbf30b28083ca6b66dafd2000f0e6f7ae04e9b0f314283f1ab8add6879c482ce6e51cc935f7f348f92e32a3cb7f1a74ba3d184ed398586d2b910fabad3a26bb73a285c33da24edec8157fd5c6d75746d50a8aff9668f47a4aa9c4dba23782f62c2d57463147d32fc5c7c21975d90065d9e36310628c9b0969bb92d2df0e03e534b64859491fe2f9b099e5fad71b3dedef0ced34ac94bec8f75d7e69a3e170bb825e9f264e2ce03e8db53cd57fdeec283959fcabef3fac05521920d6b9ea2a08bdb6f813009b8df7dba96874219a98a6485a2f5cea4efbd3ab69956dad106b5804ae00919fa186bc499d8d7ad3b1c2cd623b2feab88f4a7f8a993e4e0e91d353c11bfb124624db1f7e25864642ace304443a930d7e4a88f40f6d688cba6c81fe2d948977b0cac42198be83ffec7c1915a8cc2192f29a8ae2b50c45bfc1cecd416afc9b788b6efc6a32ab174cc3a8635038e75c25eebb4a0407899074a5b5cd2a42e445cf320a1aa414f7996c9f8cb39228a58c3fed8feab6a1514a00b4f4bab3f754af465ed81e3a0a82bf6a1ccb44035b2b2dfefe8b94f8cf7a4ab0484d88e8e0ab51630892af9b3f1bebe2e68b15e9cb9d4cd2472b1ecf8595a019fb0457179be3313a0024448c7fc9ac5fdf8cf22462103d795a035cbba2e949ed701e12fdffe72c7da25d4610b9429dc1ca89abdabce819115ded0659bb4d1e51d2e778ca26ddcd3d71f20ae7b8004bd09bb59aa9a054f5775d2b85722618ef15c590fba6b5f6da24c2dc32d46335381ffea8058c330f03507b2da62bf68d79090ac6cf5ebcebeaa1d902ccb957de4c497e8321583093d67971e669e390f8215f27b32ebfc814cb0505fed589b10a208e52ac07de82dd3e79018961026f0eff7a22e221b06cb950751ff390285ca122d2889e4a9b509c020c73922efff8a001eea12fb102c215667bc55fd97a3d8fc678fb35f7bea20c2adf7987fe38d364178811e6738327a781e0defa8c85c64a5fadd27bd44ef68fe2ecca993c554d77e83c27170fe383880d4686c3da4ce6ae178a14890fffed1c2e965604d032292bb496a069cb1337bcc2abd6544bed320a7bdcc99493c1431557523f8f731b3c1bd7f765b48c56502428ccb9a12914ca7dfb63283505ad3e9855983a582102669304e1559a86113a9c6bcf89cb26dbe45644c267af5d71b87e34b4dcb3b2bd9893db453d893f71a0d5fe0677354ac1a1cdd25fb6da112394e0c286dd770e4c894a272be55dd4a9343b38e0cfb56f308a1e2d8f95a4ab8305537ce1aee1b9e858f421fa50320dab3169b2b37a82cbaef9ecdcc5e3fb7d01deca00784b9922469185ce87e3d337b5c126a32e5672f654f1ccaabcb612e14af5f0e6e826c7c642cf967820ab3eb4235c113771720b59620864c112019b9956f1b2869d7b330a966e5fa3d73d7bbe2f22b63eb6aa88191a2d260f9f0df3def7d3d9c1c0b547b9abbb65bc6d047dbf5a034d13072f30122977c35f07457ca45abd85b77f480504efe18aa948277829c728aae5ff769855cae73d677d6ac5fd28f34519b1c954bd403dd1f7b32ee53c1a3dfd43000165a31ffd7c3ba61337f8dc212718799d3fb309695b658f3af4a1ee35a68aab84112efe662cfd09be8f9dcc750f768364dd56a098f06d2c36893e299a92bab96e8fe95127b97da5d0ac2cbc464376161dee876c68a7e2cfb6a88e9288ed5504c6630ba2b61ecb0b60aabc368e83187722c6ef03b055dd221362e3c8bbc377e0ebb7061c8c632af0c1fd39ff701095e69d265be1caf94b548c0acec8825f7f368835ddffcbc0ea1b2957df8a213dffd20c057ed670668c40cf9b6466e438243bdd269396f9529bc1877a98e2f3ec9b7e4936f4ea469b71e5ca66a95da0beb7efc4471eb4e4b7a60d53c1b6ce5f0f07aeaf1c6f28b7aafea29e7fa0cc77f8bf38911ee39c0f9e3fb1f6cfe3e735c68da58862dcedcc58da71bfcf183aea9cfc2b4e0bc7bd7ed779b20970847b684c30723a5e343e049bd48f85889be4cef5f78f8ecc6e38a08f71fcd48e493d3307a65507dfb596948f289fb033ace5a2eee413271f0b48624cbd1c5188c7561dfc2bad90cf105d42dc482832b6dd7b7e5c5dbcc8d24a0486ef6e1170c6fe8b0856825a8b14cfe7755ca478f2f6ad74096ba094e102527f170002b23907c5064f9ced1e547a1ba9f879268a748eb600189c0512639e04b786235a2b7f0fcb5ef0fe95b8944e2b9c16cafb9c525c2ce6ced7425166299315bfbd650994685e558b799e3057cf2fadfdb1de07354ebe851ce582e7148e9dbe1ad701896ea81f4e663b149f080ac7da3cbc48f1a7b7629ca492681df53090292de22b9c2fae0aee76a2f4b1412056d8069c5dab4b1630b38de88b7bf902324d019ee2f6299dcb70f310599a9f4f765d1100f87672ca27f006","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xc9a462b5b6f3e10f4f607f1b7806c7a63a1dcbd600b6d5d7e3429c7c468e1b82","signature":"0x04eef0a88e846c1778ed3291c6683432d6f95d730d7143ff98e8a73be3f93c20d5c57f1a3a276b3318cfeab9a8cae1380c6245bb05623edc8d426cb3ff9ebbdce134e5630ccb0c49acad7183829c6b30a40e7bfa87467d191ed3a3b7d70014286e966c6177b27d5d645390f33067924bc8ba683173ec1eeda1557fe6a66fdb1577a2159b4e33606a8dde3568157a1c43735a22ac77995129ad0367b3d85b39c8909b823f775d40962d2a923b01f82092c739ffe6de5fb64c2cf6a6c37d84764af3a923ec975d4a99085df8e67c0cd445753ea5f26286d16a6fac6200908a2cda1a410810c5d28d8a5fde216cbbec38e01aa87697d393d6972b793288c0bbdf243e78a4620dc54abfd294f97126269f5c36fcf3f28cd20cda9f93aadcc9628545001aa3dbddda1a52465347eb3b3cfa2592c63b2ae56067394e4b3566ea5b3d3f7181f48b05e8f8a4e4ef3b91efe1ad9b50007f2ee835d31cb74c3aae112338d508eda82d7ba2d6a1187ffde64d70826b60ef6b159cbc9bdd8dfb8787723bc017f7e7f0a5ef23d9c44fd9eff3d2cd6b28380cd9f8397081534ce8fefcb882eefbe740e620374e306259964dfcceef6d9780d7675da1cf7ec30b28433b3a510b97a098f08a3b766a3d85ec767211cffdf427a30ac8eecd588db757d8adc1944968bccbc2bacde41a24cc283cc24690f51891244f8f548386f69faba4b5d1e31c32c65a1aace9f42924ca24087b01fd54db4c9ca96ffde26e8cb30ccbf4cdb7f868ece421e4684a8efb1ec50f6cf29abbc8f08dcbba37490ebaf33b5711d307190d132cedc84485dbc78e419a593f78ba595b0cffa4d50f4cb0c4737b16d8a3f2fcb16457d75950e68b4a3b28ed24970c42f8ed30d9641841be4ed223b6c9028e948835c15ca836dd4115e99655ef3e7cf06bc69848ca16cd16ccb2d819e9c77d6f54f154755748060b6495429adc8b12ac3c43f93700f0ab2ffca1c0a6291f938f8ccbe966ee2dd190822380a6f6720fe970ae9e4d7630469833ab63f146e54fa3ca6a98e87e6141f498e4f9d257cd4ba0dee75b90492403e682807a16cf071be67ff6249ae66a0b22df105bf7a26ebf8c25030870e14b728badfb6a9d1aa3d1e3eda2f2410d0d19c512cf946d1574b32494234a27d723cd1b7b6729c8bfbb13c914fb3f2dfdf6bd73a9b5aaf368883369d5665c764ce8d1a17c6187fe7db4aa485d158240b8deba8533d997502c0672291b9ac054c6d9c052a38900929cd1a80c42ef2041407cdffa01a6c00ef7f15444b9e36ac5c2520ae5c239ed8299dbed6743ea7d9573e584a145d42dc00a3a58f4a7644220ebf4df7f9177accbac1150f52f79c78d6939c6b95b9957982f77353e853b56403c11c6bc0333b6c7bfbcdd6b68ffbd8e851b4a6d3f9fd7eb1aa68ebdb0bcbe95eefee2cff10f27c6636d543696c20c5b0153e98dcc562dee8a251e0ffddc44799a5913c2f925bb5de446ab9a9fcf41dfd139a4908dbfbbb483c7138599d7ed6571edab0433bb042d99c3aff5f93fb239152433ff75dd75209a79c17b71368c82d76fac79d72d8a3bb1037fc3ef1ef72b8c02b6af84b3fbd73dc3ff8a8f122e83eec6647286368e75e4518a786a182464d7ebbac824e7ecd8e0805b74c8ecc2d0123e02ce00837db709ccab1ea8222a062b984363e9cba66d57e53506a567068fd2c9f9dc8ef914464c918f45a597398694328e2a5c5d103c673a25af710ca5517f647c5dcfc6db8955306645e77cd1427735a3a70fcdf335a6a92585f485c8fc64f3e26a00fdd75596141596caf27951efaa354230bfc1f43bed66c657d94aace98192e3c7af002d063a9294579b1211cf87b790659b4dd81f7b78f76c60ef041d25b108f85bbd07ad71efe6577f1c10db4423881c0bcf2f26989b20d818b760309bfde2842c40ec4d546df51b5196d1a0bfffa9e30cff879c7a40834e0547b84a51499d06cf3ae35a19773496cd4c54df020b9c88de636129c182cb898b39283f020ffc59d76ccb5cdf9d39f2e7ec5a1ec15294cb887814152d5aa4d71da6c3e123bfd766c1db9c4325fc15021a4a7cf20c6a770a1a51672e24a73e8abdb137cbe8ea076fc0c641819815b2b9ba99abf39351dbfd98948cd0280e03b8a7541e5c6ecf13253c1c555a4ae65f9f3ea2e462a8d1bad38da3b60e8899e9a129dddefb5689677bcdb72eb9e04b10aebb39e31782968c21a3eca6a4b8c4eb07db2188c0ec87647b1d4cd0ff8c0018e66e02e838d79eabd87eef52ac2c305b2fc323aaf9279927450472dd5c4e9080175648f20eef784e1f6ab72e275ef2af974fa7e02736c44a296ed8088fe6e793e595a5656fd67b2a760f923305d475d6bf00484db37d065f6ad9cde2de4fbd57cf13bed93bd49c0931015c391856c93e7620dd1d2f469dc24df382726c92f0a32becf1baf17aeee8fcbc7d96daaffbf245066cdc7ceca3f7ea2c4222c21d2e69bb47d9bc62c8e246ba5e93150279dd22c17b891b73f8aa44ba650188c5e5d95bc4bd83b41c8749f8542afb32bf479d3bb6a897e9d57bce507eaf069e78d91e87e4ad3301c60fd53baf15ce420e3a74deb10187362e06ccf3a89574884825bb47ae5fbdcb47fc977ca47195f6b9e50b531bbe36fc801edc4c01a44444f6c364075bc0d77fff775ee761e113253e68118c4763ccee91f556ec038f808e597677b67f846db551a5883510dcd2e1fbd4b828243173b1d6e9eef41001f9134f0781c3934aec04f7fefbf6aaf4f5d57cf52f89757407f347e5098d57e29dc2546b8b2263a8f615b1c479610f3917c5de093510e9d370918ec0b6ff230bb6ac02291f502cea35563327fdb3f1750b680542dace3d66e7870f6cd53c330cc0401da410236d21a10d35441ee0b67e3fc54f6bb47119f2f157caced101c60b86c1c782dc3f670a56098af91a47b0452ccfe4439f272b2a9f1b8456c0b7e562a57e326146bfa5d781be139f6a88a3b29c8d82485a9262dae454a53f4724f9c81bb6a465a8cfa74509485c92cc551ac9f62dd3b00a4c25ac831254125868ba9600a305ad7f1e849cddb1547763db00c464b47102e2af7a61282f9efbcca2f82b713505d192be2191fdcad0e8716ec9d8a53a4fe584a523c639e494c3dc55ad618260ee584163103c2cec2064ae888887b56b99057a5b1660ed1c7b1ab0d258220720bc81571a118cb751d73981ea446bb35d67fabc2778900545d41d45bb61189dcb511066a93e972ebc7023590d24069b0c7c4717a04b05943bc00d99ec7b48e70f65148441d4a5abc85e80bdc6f50596882d7b904a00a9bd497d419be115c7e0170ae37c79739c8151d7d77462b250a5201c3e5376064b3eb56550405a4b59ba2e60478fb368fe240cbf3b0fab3a3ad331591f21674c1bb21f600190b49e8595d0b28cf20dc075a8b601e6b2ed4db27fc3be02a23413d980f19dc21734b53067c90d3c85e635a549665b0c81d9a0c17b9fa10f31684e8b1ea202a3ccf7578367ab6fa6837d33aea911d3dc8fc73b770dd21f6b384b4839f3f6ebcfc3820479374067feabd7ce2154ad13368068a813db23d413cf32585f00d160b1a1c7a0c9532fd58d2ea92004e5cb03822813f4597070e14c76d2da46e411128391d7bad0a71c70a9be888a01298a215332fc61a25dd507270162cb072765c3810502649405a6235d67a2a3e2e6853aab507d153a2f1c08a7f82fc4acd394fc35b64d0faa8932546aafe42ac3d8d17f8153161603a6b4e652918b5f9e1a36388610c0fe165286a3d58f1579f83ee7996c2b0121c7bd15f79fd96f97dc0d5a7755f10a8f9c539443abcf878a4f46f9fde8d1d9a71a082fd80881c0d4f278a41bfdcc48bcc0ad5cc4691f5dc33cd2eabc5a5604d8cda73794ea7988eea13fac79bbff38ef7a1d93ebcfea97e5baafb236bc97cc0b8c36e34ccbdc0b94ea110186e9d836bd1cb8824480d26fc0126cb1e0cfe2cdce78e66803a3724ced4cb4a6992f92c42db64571a5664e0f5638177695380c21a86d43265df69a7700c1cc90a9f5688392d017fb15af8eca49e021b51308fd248452627265c64026a9bdc571b701a46ab4c4722351e2606b4eb475bc765887f2d8803be08b974016430c5d67f6da8cf66655ad75a26749c00b4924d057a2e6035db75ee3db83d02a9861ee766f1ad3c45f28c0f63d958e7aabed05dd5fc0516bfc15410eb310b381f6b9091c52b472f470c64eb80adb58b34dcc04c5a220c7f2f69c4b2ef070a027216d2067c2a4744a237bfed178857d50680cf226833d52d8d7f71faf49ca2f20c01ae76d7b7459c31823c4ad37af6b3e65858e125dbb6f75daf6b2822e65162af35810712bb9d30a49e8b816249c586bde59867f0ecfbc376892898d00dc90166c0235a4b779fc0411168dd01283bc25e419c651be84bf6cff2c6a70c564fc6833a0d0dd48f61d3f08f7d5602ace4cf4b737a6fe1c65591ae3b93e313f93f8e3b9fe7219d675f4b93a0b4507f8aabd5c8677867b3879c16a35140763ed37c66c4b1dae6544b5828cdc0e57d962e4008c87f65378af674452b24eb504f2722b279e083d4d0247fc59fa7d1e9ed2f54829678993ce5115af78f1b2ebd44524be91957589010155b267cc2a97a265e1bc0d7c4da4d023bf754dc1abbdbdeb96bc9b3580477cd37341b9bc980529912fe014d80cb67b58f52460187b9f6bf089502b6158f12878b83c1092c6802403d3cf15d2483eafc9c647d3b424ef4b4cf933294da4d2f0e32859175a30c7bbc53aacc215df1f55d315d04a0ab7515b557fab1f5549e7100b1bd6205d15c538ebfccb955d9ab4b4304855f735145545881c6798e4dd9360b4b0bd2e33efd5e825789fbcdd35ab3c13d27af31968623a5bfad52a817c38d75ad41dcf14fa55a4c21614801584fede55be5f49b3b84bac7ee954315c38f51a038be6da915af4e3d44de69ad9c5f8b3ff047bdfc654ee7d096e6e59666672aa78487dd309c0ab0fd636fed57ac7aaf357c536aa60d1fb117314f548ebb20ae1e314be167fe4b773a07cb711f8b73adaf9cde4aa89b1b991fcd30af208b5bee3370e71a9d95f38410ab57bb47b07215720071975ce89921a3fb254b0869258c2836c12ab9fc4641bc8171bbf4ac9f8143411f95d3106d9ea967ea22449903554a09bdfd699640aac0086ca7ba34e1f426e1021138a05db8aae6e42361371c8a73ccdac5b9d2bf5a12a891ad084eabecd6fe64f69e8614115056656d6469f4e9693aadb06fbd8d688d45f3b965ba8de037ea268bbb5a2e07815a387651b875c2d58166345da756bfde7cd22b93efb4900014fcb4654787474c387bf5af5b9da650ecb00fd9c26d81b5c1959ddcc627d9ecae57bba9c3f03ea67e14690e9ddcd6c7214aa107ec30b86ec2e237967be2d0c928f9a11dbe1ee3a9cc2ac6c9faa87c5e808cd89725ae843f2a65d05fb22c669f18196336337e8d0f34f6e0c93c9b84f1e5bfb45daad77104bf4fd5cac00f1c9d9711f59c75338341d22374576883ae7684a2b9851ab982841d47b164b514156f5653e42df441ff7236c251181c0a9c1e4c319db9d645e7e5d103a41b8f61f1dc211f5c1662ae67c3e01b235f82f968f081ec2a889d4b3914ce89fae480c021715a09c022009a1f87b02711ebe42510268610edd9801a4aee47d8ada9ad641284f66593b5ca8a01299c0550e0d0e108dad270a0abb91129e91228d39e399b180c6e597ec18b16285428127bff3fad322762db7cd1598d0d5cbb8db22955de6ffcca023057506c90b75e7465f866dabf15b90167d4cfbb2beb93b92ce5627ba1638ff240415464b8ba4e189ac47a83eca9dc22d918ea7466f6c2503eb48c8757a7bf5ee59c84e458e7fa5215ac5fa3370874261f86fe8d14bbd7e0541a615f278075ee1f01287b9dc745c486622a2c1f03a2fb34edb88c2fbe6b398ac2cf52a0b5690937a8125e333811826d06a64ec4198ebb254c173596a32c99591c4d3f8096e12f74c0e88ce4209eccbc0b778fa6c00fd701386672ae164ca4853ae5b346e82846948053654a79e3029e60f377d34b415b80cfcbd4266e7f3af1e319e4d640db01949d4f70ad240a9b5938972d1ca7e9ff6fa615f2e754a01a0c23c7b8c3a1e179985b0fb8873b1284daa80b9c5f84c7f4ace305430e44e97df9d5ef76bf133e06289270442abf1f52e4c8a7b9ca2122dc4f59091dd62f42ce7a62a90b8ed6bba06b101234675b214aa0702d203fa7407690bbb88aed25350f3471f4f27560f91201e5793abdb223343cfc0db6f6b47b2c5eee304b5fb8258ba29ef0aefd9668922599ddfc1bce5d64ea61aa4206f1a369472eae4e0f0d4be71a3d712dfbe5bacace2decda240c0e486e62e8f36357bd67b41dcc7f68574b824ae27379abbf71c2a577a80949adae0e1e8f2293d5a6f74b7d2d8ed3346476a808ba6ccd80b244a1c767e84c66c1d27628c97d1d800000000000000000000000000000000000000000000000005111a23262b2c33","message_root":"0x1dc8891a251c21bbc6487b110b800653b657b739e6a733f5a42a746cb51956fa","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xee809e24590da57cb3b3e4103bfd249323a4ecbfd8876fc816e2ced4b3199dda0e79c024398d7735bab7c076f80f440fefafa16fdb81cc017d4addc04ca9a1ffa444dcdd8a0afd89e28e4ce774de7d14babc511611706be3751b65fe22a6fa8079f06e913e8d2f46c1ac964ac5b429b047bbcf1d24c46b1b61b0b9a8caf337ce650b7d2955fd69dd7a4b7ccf30ebba729419690cfff2180e980ff5483195f3441fc94176e54fd770a6c4f7ec8aa2506cbf5e277c527f9699086d2dcb393f754698138366780a5278002feb9923569ea6fdb26a7e3a6aa38c65d5ba6420b7bc3f4823826b10aa9bbd37eb38809c6b4db38d66b5b9a34c507daf88b0b849a5374f2d82043c53afbef2052ac6927af9b10e07b6786b574b414653526c059ad1ba923c47adf0277074e7d2f9aecdb5f70a2cc9908d6274c47942a556169dc7bd634de147f16989aaa352f05972866de8cd324b43f221a6d9a7d49744585466dd1d663db2fef5448e3ee915f84fb8c3625877a37d5cecc6f2f975ba5ec4a5a13ee5c1394e5d7a2b6d54556de4b480ee5c30d8bcd43276c53be37cb596e737cd01174dd5a44ab886c13ed44d5813387360591bd9c461367fe155e89a93c26f7ab322acb7c8029dd1ffe2c1cdcb6d90fb173cdd6c12fc146153e23cc1d3f3c71d56b01c3896960e9350d6485c803e0170e9a11b9cf0688f3aabd53600e32630f33389a18de3f143b9d8c7f3f5e18315c4a71650e57c9808c49507106086928d4f02ef0229d62fb08eef5bcea4bc474ea69ab244927b00d5c0ac05e3326287d54f8d4044a1c82cafced24e76085c942f7927a95eae41c84276a4ceb0b0f3ec2e0559347dc982e504f011d28468caaec1d8020e0ea9c9349360c42c208fd928b44f7c22717888dfa77f857adaa5b06bb18a66eb3b3481195ae0d6aa246ea17beaa31746576ccc2179c19a15bc4195bce7f5cade4f72407a1a747412b82f061e5c6aa1bb1802556baf5603028092f174496742a69a2e3a3413a8f7c6b58089aaa3c82c149e07ad72eebade7c8653d52b6ed60f3d5e0c5b756ebb4e695c7d6d483a64a7e71ceb3c488494597806e0b5039a478507a0b2596fec1699dafbff4f9759de11103f6803c7e9a507d0ca40fb9b8932064aa9960d06b4929bcba51bfd6a9eab7b56e45e93b842115677c84797fcaf176f539405f67c79b6df78bda5d147eb16ece19db319642550cce456ddb28020206c781161604bf94c76093f8f6c8e08c6dec4154686eea15b600a1c0a6eae1cf60e246aa65e21c6cb08c920226dd7811c7e1dc374ce4bd4abe713749ba68a9c137b2f0542d675b25390a3ce082536d8b1b3e592ba1b82bcef9d3b51ea00f7c3259ca320d2ee8755a42d264cbfb474beda9975d58cd5e6268eb26acefeae07515ba10a14856dbeacf2b8c5189231cfd18081760912d5442ac8600a202b38f087c05850b6ed323c43f706fa5eece58c8d497892bbfc51eb9830d2af66f2f96c19f5e9d3af70672b06b15d88d17357a0f9d1ec91fa5f60d0c30d266a8d91711c2edf66d2200a7de661d4cbbb6df4b3bf28b8d33402481351373fc0dba4e39fcfdb515f8ee69a5e269fd8dbe86ea3d090baf13205990bb8c23bcdff32b7492a857c64c68169d9305bebc340af808d5898984e018520bf37fc05ce16e98dd9b7becb9a204b2bb7515cc8ce3fc164ed04b8d4290b208a9abe26b346d4fc6a00aac8e90ce6589cb2afefb3d543918e555116844ef6c14345e63afb6a858f86642744bc9d0c1b824be12bf3e46b5a44021bc46c5292de199a4f6c756878bcb7758b3cbc80ce3f126823e4e22f01603a4a9cc4be4ff57b7bc82d33a7e4caf280b4f3e02a97f2b7f0af1f2ca525ee25c4cae3a65502aeb8df2e1fed7124aba4b4a332cc04f83dcfe6d643c8f7538fe13818b4f59b40d4cd1ffd7301c3710adbb6326c4acc4af0c2479160ce1154a6606ddb2cb7ee2f036eb9c95a6c445c906bde8d73ca3f40ec9ae8662607cac790ce2bec5f883e6c7c93bbccb2ce4d251569c57ccfea18425bb34c2203df8b61c1d9c0e007ac6d81f92ae02f4da0fad297da37bfab36385a6cccdfb405a465734e707a7e166c3b203eeb5c28a414fae875b0957edda318f3b1dc7c1794834c3abf627660fcd509201418cae1ca049a3d79feed0bfb4a655058dbe2801f662bd4f3855662e5f6bf58fa77429dde07351036ec61203b843046c7d6489e93d586d1ca5f96250a9c09215a0b95e23befdc65002e821751509dee41d23ccb8e5c3c270c30d04cf562c422eb434237f46c6cd52d116bffbe7c553a782560a0b659891d6a9eb115c9b010411d60664c6e0d9b3d92a3640a599d7db8dd859dda6c15c96c43029066ff1f997d3bebbcecfea5ff46a5bd40a50132dbdb6e165758b39ae3494058f36d7edb574407fa87810c33f78f3d31bbd664a1db96cfddd1cb30910eca0c78b1a6e76e36b8fa240b9fa3bd8b5dc2b2b9b6525b885742c9445e36a773ce25cd2ddc8890c46f3dd7363239bd39bf30557cd9dc66b972eb78b3b50c5788c3f78026d3d68ff4110164298c58f997077196db664d136c6e4ef7c0032b9f7f49c78dd8faf6bbfea27f8b17f798c0bfa2001d5fee3ee2ebb95ae001f35bdb41dcf200ff909f2db586d976b40a95d16de18c8a78b349f71e90f12b8ac75b01e76a23bf747f5179f1fb60911927dd5972681bdff1901ada559cd57af41cdcdac0c9ab0ce7f4ed923f3f4536b089fb9e5abf24587a3b1e14a29cf7eb64909502ebb918f23d0e302dc8e7941fd1f90be81c3a44196b3a2ebd9c7627195323cc5519e6d7b0499b55f5c20419e17490d3905079409b871cc3df981df69ec17da3a4d45706e7d01fcd023e7c5267117dc169eb7271c85bda18865e0ddbcfaf59f0f49ebd0daf455dd8bc776c68ffe4be873ef11787ba1c479f3768c143a85b1e19c6a0e449491d2b4077e2a02388e6b90d359e83f57ffeeb98f264775f3b820ca9527aebfe4c8cd45086f1ce3b29b10ae94ca0628c33a15086c6b43e2beafd63f73bd6901f24ac7768ccae10a0c342803dfb6e820691bcbf14a07cae8bce9f8ff040f4a47e86bf983413c670b9797f7f5b623bf122de8e98a2109aa8c45e4a36ace6a8c41ca94e84429d72e5a5598fe650a2dd7b47bf62cd1f6ce72e40277dd7bc971ee027b18b72734275d0de9fd65666e37465f4e9a11fe53e2829d674a8288a0c9be280f367d448b3a072a4328cdc04233a9b2bccf9722885107e559fbf3872c5b68752ddac1d7d708ea43caac546b620956a9cba2cb62b3450e59b1e778d55531d43def25c07b8b3b344d9018dadeb126ec635a345b3deafc32f7cd7fafb50cf9ad026d8241d8f52fb71b403807b5ecf8e0c7eaec677e2ebb069d41cf311f277b337ffcc93533ad2a05c6e3729c74b828722354172d36edc014c2101793423bca2815ec805fc748af2c3920da6aa9e94ff77def2ec2fd6fc94045be3171caae6d3bde0a192d6c113354f988c6890a4bac749792f60ddbd5facf326603c4672502297e6fdf38bb2a78cc5ad6171f6d67283ad953bf82cc844d6c3f153436d2d0d90e904010f6483ce0f627c60cfd1356a06ec0edf2bc561b546998b7079782df0ddaabb375f23bcbc8018ba1c36","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xb92a98da0e454e71cdd8fadb44b8e7aeb3dce664366c3820bbf04ffc6ccceb16","signature":"0xe4d8b39c29de19545e39690f895f4d2db7e1fae02ab6efc35eca4c8ca38e8142ff2ac57929c3f5e9964435a7dfe6ce1170e62563433fba21c6eebcbed7833fa8936b5734d218abf0aebe10b5b80d3c1080764115d1ed693351078e3e724a7deadd364318dba81d44150b61b734a2d86b2c0cc9e218d57c2b402e51ed16fcdd207753d00a7135e66cba5584c6e0df8b13bcedb2f5a6682d9d4a72663880b7386067545206f9db2e9ebcc1c8fa0bb50df80bd7d75676d5fcf368070f63579a886dd633e58c729a98a9b1219afc7057cb1eccc3fb52f33f1277f850b14062f923db6ab042fb038de26e41029bfbe0110a86c22d711fad613b6abd42ebdda276cd31bfe128e7a8747c1d8667d31b23d925fb01b946041973ba3afaa2fccfcd17f6c52d987233db56f2bf08f123a0d81719a09f3d4af0d9b8104de7dfb212c6f4e5a02f146650de8ae0d2c47a8b970df87a80265394b2a664181fc48d4028f47158b661167ff264c66ec2d3fc5b2ef5ec47830ec1d4917eac80ace1cdad843944baed7f0339f1f254508a1486331326aa29c6625bbefb577b7a8662fe2f33ef3576388d170c72db3209a24dcee76fdd5aca4f9ef6db2319c71a9f32fefa12ffd2bd6082344286f826096d078288d5ad044bba18f777aafc1542fc4d691847d714898d66b241d783146fcb803a2f3b3d8798b58221f2ec063ae3f26df412a52749854a92ccd72cbbcb34013ec9a6b8a0e2aae97dad06fe76b04b8e36728ef3b765f9310c3997bfdad25c709027d0c0c0e713d76afa23e9e6408ace4fdfe712a90a38acaa5085b0c3bd99bdc26cccd363618e54da79ae3c5c2369b3a1ef1794b23e2fafb3d0daedf6bad2a17462b4ee69590b42b8a42bd2b645f6295464f2380b11373af6515150e1d9395e4fa988520223b0204745798e7daa727d27d1312da0f3fab29b779f30a5b555e4a039c4659f860d7558d145785aa5aabe632ec4c8d1a251ab13a77e70b41953655482fb345b998a1284d64cf56d6a4e739fe6c3b473297064d441a41836ba5b02cf201fe3443458bcce4df6c1443147e703af27c3597bad8755b11516d73290943ecefb8dfee1444ef49b9f345e2abb3dc005ab4254d177813c3058a1e49a7f2f99b39c0c4253b6374d5c97ed180f4bacbe779a172fd9dc48b1a414bc015b837f577e45fb859a5995ed3529181344e6e4350a746a2b3beadf7a84c1f8fb63c9a21a8886367aacc081335fba22118e1744f009809102b7a91399ea0602f8465e8a9f308be1896e2852e7d88d69744a907bcb19cc8417518f2fe29fd4dd0b91ebbde9fe4e7ffabc35c780fda49a2c273cf37cd1086e1f7b724ed1e797069a355703d2b3943734e22f54127b2387bdab6a08cd4b25e73656db666e20944f81acf9e4c99f9924c3be66499bbd29a7800f055521207884e233181cc9cf4f9d982e32afd7539131c6cc52883bebdbf35acd138e3971e6aebc63b9239743a171299083a92d1b518267265bac56052dc8efa76bd8a7a3c6d9795e8955c580805cd46c4778ac62290e2d33b4ba7c1e890e67e77f6fb7a83db24945b2af11957e6d916fe8f7c4817b7a6675722514bcc942a4e0e60bd0c588ea0fde1b141243ec67bf9800df456f94d1b17006e0e4b6ae869d1e89f4c2c56518b06e20799d1c1888ea38a0e8d73cf712e5e7a6c50290e6d53c010cd51073a420e6907fdebcb7c62e6adaa3e0d7de438d057c5058a12a4c885ecf0391e59e94e90bfcaa83d394847a57502fb4b01075e1e9b1abafbb6685e33206074534c93d91ddb98ca7fd62bdafca7e796495ee517fccd57bc832a5ea393a9b0425a6238509b65fd115c5404eb8614f849f3a6a00b4271d64fca817cac77e4414c7d75e15fd1a5c85bc7bcbb3b675ef42ab307c9ea79fcaba0bea5d228f09dc2febbd934ab150d0ced5deb3816642fe5b9b00309a16034cfa0ff24321faadf26f0fad1be36674ab47d7724eb455cd78c2b37667cbd4206fd0b746e2ed8bf5bc168dcbdbb262e5eb9e21fe7b3ff7b0158e52c1bab750682829050bc650e0d90fb7afd10b3192197bba5aeeddd5989ad45e9c1ebd468a7748a78289756d02007a4729341d55fe4d4e7bcac46dd4619862b4633e9649de8e4757fa188381182e3d95dc200ed7f87ecba4168004118169b5be3effff12557a5b1d331dd6961a4690572d81ba443a8989470e6af4ffa43987f1b644be22f633336a98ad00e433c369c7cdf5fd949434dc137b9af66a4ddffe67a431402fe62a5aec95874932e0f6b132bcac64ba8b2fc0263b8d9306b6c4bfb1fd20e4215b4207d32b654908c0084755cc0288c7af7a83e826a5abf43562baf275b07f08951716fcec99757989c2f6d925e03e49059bf24acda6e13fbfd74fcc8b0caeac29157105a20e5585a1667042e3022afebbfa7902540f82c22b073c0f4a625241683071e0adc0048f8cc2d6fdb582330038398d4896dc5bb7a79d28171106e2391ebc65aa7024b230ba719afc81cfbb6e7d525ed39e3e000abad6670be0e3466ae3a9865a0168319b5f5072602e6fb0cfb149c08fb5a209c537a5df3d97277ff88b9105714e24091ed986e96cd9c7f63a0b670f094a7c9dde78c5512dcb6e7a29c6043443131fa0722e08c2470bdcebf11910b7d22ba1eb21f478c0f0843188da59d4b2c6c0796f2ed489fdf39e78826dbd9cc85910dcb919d99187925aefe3bb8e10cf18d8acddba655f10ce32d17ee3b899eee952b7cde768b6bd2a9f1c2cc9b576e488fccc0a907fe3e46b106ea80aff5450c661c19981978c4cc19ac4c268eec31e6ecf7c3faf9498f90d30e2b2ef25d636c38f3b5713f462da9ff699c423ec1b853a0bd4941326577671aa2c7c7aa32fab2a883af7dcd2216362e6d918638f3745d78e66bb2c50f612552d101dcb359ef62110ac215ff2aef67e8df7fd3d6c928f4d47c7cdcaa20fdaa650645176e51a850d5840df1827395f341ff81c8462e60786fc9fa3507514afb7be1a17b7034c44f815bc1401ede2b6e748380b6999b39d922e37192cda8bccd6cae6966b08f1388c24f335091d97ee1dd18744540b1a44117a14822350ba6a082c05b380ce768a896409584a0e91fcdb6b8dc7445179c51a99000a0270948679152b9ad13f2b42b6b2a1a1b8dd28cfefa82b399483a6b17e61e8501560fd68ed00afcdd469b9e61bef8b9edbf0112ec86b7dad838403413640cbe68676a74bae9257823c0566c1da5f79762c2c1f6cb3fc90cd759808861144b1a65e4596a2be00f2baf65fc7fdec6ab2016e356546a8023b133c56bac49575bc26f3cea057a54903f1c2386276c66c5791b44c2d61e3452b45929a86d2aeded7fa7825cc75c248e3f423b20fb849d2af6236f39798efb8ae665e2fda068f694be4b6217cc6e84c89bc935139e57d42b7554f2d2b543634877feaaa1cc7beec9164f122bf8df63bd2f149aa458905575b27faeb741d28bd6bd3df22f6c21a0ba309d7aed7ea39db0d13710a5f1702eb7c96cedc76fcb2c986c7fda1d18edd91d1bd3fbe2d64ddf40e828a5349afa54fa0ba9a73bfb66cd595b8c8263f4711b60773fadf77ffddf5c3b3b28dc6d912819a43920cb1a1d51e313f99b67b07217db9b45900e2a31c46be99164ea2cc5310563417ca3d7d225dd43ee24fc56e717a557c269f02921b8983c617ecc9881a3517107148d8b7299183123873df934761a3c7cadbf1149891d0018de9e6b955833d5a61d9228320db06a0773274f266c7befc4c8157bf732a54421c38683254a5ddee7fb568ac411d842a23900198f06e6bedad9db4e6ba48eac79a2dd4eb2435a4ef58775cc452f3c5d02cfbfa431bc473baf2633c9df1d699e5e93ea57d39e0616e7d452bac88abe291f24c67c4e442e5d4533f75c1b6c26d880e27ada43d363fee5ef253ae88bb6c0329f0237e675e6e816c742d462a5ab72e14a9f605c023c429dff57b8cb16548cfcd6b3fd8e25b4b806dd8064e88a57ec3f155bfdc846ac83f900cca8f4d9c3a3b25766e276e0d1b106256f53f27dc44c240eb64afb120e5be142eaf6671ba597dfca8a524cd6b939f7f42e5964267bf61e57aa11fb19ed14ee0d201b4a2af396413adabe1c9a5a6f261fa5387f420d6d54a6980b094bd2cf0670bcf008d1f30dac455ffdf9f305cfc3a1e3a96b375ff128331fbeef408df3d32b4f6850ce77a85499bdf1b2e991960a6908b9e063faa2ff48d9bb451eb3a7296278f094d46ff106cabf5967085543682404f60458607f178134c78f631b7b7e68687c5de89d2efba138c6a69e51cdcce35c71f66e2ce97b42ef28a2f8c3779de5d00acd4a2636b717bce91326fe1a0389c0b0540693ba4cdbab62cbacffae6b07081758d605aaf0893ef2cf4be5f985f6d63851bc3c41091d3e14f6478e6e7e29a9d5c0d8e428ef201529d2eea4355f75b242d4b94bc2a8ce302040436ec9deeaab557049649dca897e02daeba1578e77671bd629ace57b68f281d11417f40b9698b92cd0b68cc28c7d9f366b08d6f5495c2e1096894e250eef49bb190960280ca66136eec18eac5ab4652dd6396c9328c7826d30a50b45662d43390334e91c720c67cfda8bb42185a2a756ddb6c5e732464e161cd064405bc3501f126748188a72c0f8bf3ed00567132f57aec08f9458797a3aec2bc2b66ccf553e0532a5d3e2dc411f2bb62a56d5b50f90ce482b1c5bdef39f4231d63ab79600e7ac11c4dab5f89a4ec9ff87b00a8d713a2984ddc213ed3f152461b17457f4d14075e99bdca47a296780fe0069d6df0886f9abea0fd24a1d2754c133eb635c00e0ac30ba5aee63be12d70cf63a4d683d422434fe4d0cd552bf41f837b5a6036d50bd8dc33957c2dfbd907abbaf7b30ee7dbcdeb53857a7e796ba42e39b4edf8df7d0c0fcf1ba86d2bf0d830e4a5b5c12cbd9dbeb7356a0ced45a85971572f2ba37ad1b18b568c0738420853b8de7594ec5dc6b8209bf0e84a1490535c3b3f3faa3b49998ac270fa1885e899b2daed258d7807965e43db96ccb984c7f24331c23d670167d55acb9992a1b765e626b383b488fd43f3ba925b1baa3bccec780165f6946d98cabfaca64ee7490b75b3fc5bce054be95b9cc935a4fdd58ef4a473d21ea4225d90555e0fd92b103eb9c02bd9e1de5306591a0ee0e0da9855acc8641426f518ee088800b6e378acad7e32249b40a12856ac480d0d64bd6a40ff5192aa18a176d82a778d04916eddd1c804f4d0056f33ce41d2490722bc4e4e48bf3a8c5ff39a64b367d17e66fce6382772c816e2960f264f314b4cabee8f6ba5bb0df424c60f17d3d73c89ff6418a2022e85c3b637239f75f871c06862a50efea7748051d56d6ff17eca1a48037eaf23edf7a5c5c39fc23095b086e99463140ef9e771cbd2aa82a2c845c935be11f2fa484741bd41ed9fa956a0df8a5c4dd71e59358d103f8f0c09760e797acd54d1d6ddb7163572fb4dd98ea5c54a79c47d94bb377fa444109548521a993fcc199d864147fb82baaac3326548e83384f49c9ba7021e19bb46c22e885b1233819db19217f854aeecd5e3153803f950a837dcebfd892f27e696530512ea7761b9fe085e7a1a72ff0abcc0d5aa6baaefef8be74bc085519e246ba06435fd096caa54240493cad877612cdd900e8cde136b2eb2ccd50c88d7ba4e111772d68dd5baf4e3121e240a016a178b1c798c5b3d13c325486a870a45c789abf302e29fc075fb662103582b1534386cd06d1c3fbdfa00e44bbb788fd8c79a10250653912ca355cf7263d9cfd227dadea97d9761435462f26f9f86978f6be9a876f558d28fc981fd72c568fb602ac4216fb405616f4866a55c9781256d33542afa189da89fb3c23d5eb965c527314fbf34ba565e82a40492ef406bab71b3aca2bcb67db1d5e057894fd6f8ab6e635e03b7b3394617900bf1ea6d555ad36d6d428f07442fe7732f87d0bfcabb6028e2a2184bc66e320da7b336498c1c3def665a48abe3adb009287edd0577067d62cb6cf06bdca9e7a72bb0032dd7f1114e6119f7a83b425cd69dd3fc4665f7ba88d8bd53421bd508d06822b347201d63fed32387d8fe6e811c6db2d59932a4542ca37e11f4dcead3717a6741025cffff0150b82e2390e8dd6739cfa0afe5d2e05e7af37e737bca1b51f739ac31849493c10764b9a9f2e770b7e7f2c0cebcd67c24df7e8390cb3570d2853927744679d34cc0eff3e730b4354df1df343bf7ceba2d6a8b7796b9ec4b1e6614fe5aaedb6e7e38691cd956749619062e74da59dd0c1561965f1b72c9e37da48744b2f0be9e7102ea1c4b81b34c02b4188fc65a6f0aa7984e7fd791f79731bed30daf9a8c576142dac93fbc30f29a5178493966d8fdd09d29525e99d76e0ac443e0d4be3a527c57001f3e88b6f23d47a2a6c7e916688aaff2f4071c589aa5c7e53b666a99c3c7c9d318affa04058a90a6a7b3c5d5ea475679bac5dbe5fa000000000000000000000000000000000000000000060c121921242e36","message_root":"0x8f82af61976ee1b1ccf5ef9031357535fa75fab70e31d03df1c450903b80cfde","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa60ec75e057dc9a4153691a48043f79b3cbe20bfd73e68378e86e3bdfac182876a6ba9cc7e36d68679f47048c54e469ea9860a2e0c2db4d9b50768413fdd3c7b76a8afb9255c293c477158c1cafb43291e7376d04ab2f51f04ed5ba446305041b5acf2f101d3386861daec96cebcbacb4a9f39af5ae2224cfddc357dddeffb33d44285ec764683a8e0fbf9215836aedcd118540cfea8c30f3f3e1ea68c0b5110fd8e9b38965d88e4d75406295128fdd6a50fb8b387ff40e73582fdc681a39a991422814940275db70fb038d7ae27ffb38b618b966740e4fb9a50a801d9d447870dacccba3986186e212ef2a40a6b71725d2f0122784d80740ef6830b866e2fddcd2fe4e3a3c080c3f19dad5ae7c3672e6b2460c4287d4d3ef2f2ec35c86b68d88bec961204914a115e6fec934499fd2639780200bded78951b085af3542ace43f276de195df6b5dbcd4a8c5252a47927f79f009356b95496493da05cf435e1f442a2c3f2c382b0e562053d36819fc9824396acdda245908dafaacddd8b30aabdbe03a0f7c277ec7a764ef48d34285877a38c817605a08fae049734accec094597f1576f7b4798bde03a2fbac34f4509524bdd9fc85241ca0cd5a2fb831cd211555d9912cbac3d46638f6c894c739ac0817be17fb187175dca31e429833ca905f4472d003134250285d93087938d39880936678487fbeb972fe36bbe7869f74b9b85753200402ed1a3c73ba0669fd3fe2cf46fcb75d9389ff160dc982325b55f7af53c0ac6b93939e4caecef3f914f4c4fe6770dac247af5bd964a94c307769ccd8052e91f267e612e8facad9df6a98bdbdcc0038d837ec6fd647f0321b99c1c14aae9e49e9fc2edfe4369274c92dfe8bdcf09a153d4624c39909beaf6514e700a49b01e81623c53fe9bdad61349c7f37a3316d1cecce482f6554ac822085765d2d403ef8775a87c155c946cb1b69c37cf44f107654692c024a3ec436fb63a72a7254b375d6073dfbb06103a5769f870f5a8b4b1fa717ca07a4f2ec50d3d63229975de604475a28ee5dde29a7387e2dd1ece81018ee4b8fc52f776f641610bebf24e54489a4ac633071b969ecbd514b44029c833d51a85a4846ee6453ccfde15b00c29486736e1eedd2777f2899972677eca703c45f00ba38ced9f9c4587e59ba8e7be8407bad8925e931f5dc970d225d770369043f0cf14962b53618e5b8eafad136d2abccd67d7dce62e666aecef209044016b70e0c33a534b937857134347f5c429f1b179ccf2f9a896b09e6ffb04b4c5581bacfc9df7717e6a12d9aa06a608e94290e2cead5049b9a3045a59b0714ee359ec8823e0e6df3b84de1c62016d9612ec5a7240cec5ce27621de7ce44b371996b2c4f9c6625e8bd8d74d56c7997102b164e83c2082880060be33bc0f77cc24e7a6e501d6b04ef048a45d3d0baf6d41ac03e812d30fc4b5b0a76cc22815688d5bf6332c532d8065d23f742b7f8cf996257c5fc072ac25395e8507c28abae242b6adb2caab16cebc4714784c1516ed90f5899f3aa3fe82703e5f093cc90f743f0520de3e54f9c68a3142ee412662a2bae9510181a320675e8e7257890587a700153127a0104e613df9f762e6a03253a9988143158046a361ae2794998f77397f770732a5551d311489a1e7bd6f9bf668047d76e2f1f3089968c9834c9d7920bd2480be33155407c8ab4bb5b0a5822a93a16b6eb969eff1b43798dd15b8c2d25f80961d545b9235808fc68c88f5361898e5b9badab8fdf96a663d020df366b708e8b9d8f35430b42ce6d611fedbd69c89fedfdcf418655feba0d6c615d8e67fc5262b077591455e7995642e0196c3b801c888e70f701ddcba34389b1b401477fb588bca567900f18ce7cd16a6f73835ea75ba2b7dff9a5048504018cefe9d88c0d08ebd86320a8039c29c6baa8b5c488968d9208d0bfcf3125ac72abfbb090c944c0fea6293b2a64f910ae53947d2c3e45568076d3e9e174fce2cc35af0de70a2897891c9101492deeb728f7e546da3a93f8be9da938d401576a6140fc221d8355616270653a5782f2a956e599fa86785df24b34f039727d3873728b391c4d4c6077859a929f4c4123d6d4d39731afa01acf0f74057f4c7b67fe827d9552953adb1fb614be0e92ad270e76ebf4b2992b00f287c866f0d547572851493ba87d146f86318265b7e5e385b6d00daa5dfcb56c6bb7e02b908cab4e6fb58fd10033b4f9b4c151d35a3f2be0e7e34636b999f93b1f74af47744566320934a4ed2c05f7fa0a22dedab4a2da9315baaf571deb6c9b11cc61487bb6bca896006cbc478ca5fa60da5b2cb17b76fc552b46706720e0fb6ba6573ce7f9fe4af676edcd819ab4bf7ebbde5dfade7294edfa571f01388ae4e992ee89bfd90382e8f2e035339b33a7a0259e05fb3ba3f026770e2bea094132dc72de6365dc9c00378a033b1a7e3a9b4a7eba4ff4cdaaf5b4c87049cb6ee113ef22a7afca02182f493dbe2d2b4e36e8ec2a039fe6f9d515d6d1d5219460fd58299e8fb8045fb23fc1657243fbea501a318f1c6505ad05ea521cd8e608f582ce065bbe9160a3d3b37d73063f2085e77697ce500da92246bea0dff9ecc87fe074b3079ee5874c735e451e9ab2b224b20013c328507c78c017c876c42b8df015ac54de13886ae18acd9e4d52db78f099c3aa8536d11d87a74e80ef5421133eb2985177edf9dea2ef4d1ffc17e2ec1fbc25e4402a2acddf720aa22183ad9c72e6b89afc966d87a84d392dfbf758b1bf0dfcdee12dcee34454385e8177199d3438d56605abce9e593edec86254d8ced2de99140aae5169b493418fbab46a6d8b42732f37d9d535f25cf7ee90f89c348ebc8429d44fc78b5fd9bfcbbe3974429f42075ad844ff3c7fe029dc013b1fd25efd514241a423c0ad6947bcaf63316f55029c7868016bf8b81b5a95e16e41056cd1a73fd6030910175a5758865d6f9ac6d39680e1ed100fbb793da0715ac2d5324acce98e3d3ec791eb7748653098dc5f4d437f4efdcdfc6cc02c6bf221279b2f09be36b5302c07373712f7a02fc370a561a33654e1ba1e3b5d8f4b0e2fa88dcf5db2b5c87a695d2777e2bd5b08ab0e7ce1c9a157c1eb1484c6852b8c2f6c3c6f6e1679d6350486640a6b4354766ea6c9074642aa0971032718d15f4ea2de95b75944abe33f03c965af371d620ad2b78d73e752a566512813b105e89de612f780671327a49bbc2848f1e8c5e2e07ccbe97cf6af80e516fb9232ef946f5ea6fd844a5c42eb3e8552f06e999bba2acf3ea8294bc74a5c0e750ea0f48fb2d119534318469977d76c7c6f47623ebbb28c24cb3cda691ef08bd1e996ea345655d162335589139c8bdbfc7b5eacd70edfbb92b74ed4b1e90cb70c25fe025ab995ff323fc2f6e68766c7713dc3c108ab6794f959ad41dc1df6e0304e17b0deb8ed73ca31859a816938dbf2cfcb910c0e73c588da34a734ebd4ef2dde61e7a31ae122e91cc3a86e24a241fda93acc17fd87a336e3d8374787fe19f3c8c68a00911363da2148d31a9f2aa7b7a5276366d6ec9540808987b4a785d11cf69a5d6bcdc3b576e3a37b81e170ef4e014620febd3ac1243e4c5bcb582d493e93619ae192b5850ba88a99f1528171bcff6a276509e443f0c57","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xd7cc1430dfb4127dcf368b1ee99d170e36d15cd5e0bcdfa8c90b92a296792be4","signature":"0x124d34786c9abe6cf92a2b8b371fecf899fef8d31cf3007f0f9ada93273c1a017087ff2e76c4c4c24290e229647c9aeb558662c252a7a17c3e8a630750e37830c9212e077cf900b332441fa13c12bc8fe29f21aefc42dc69e35e5246aa136116d3b2a06069d3ede9667f2e56aad42acb34362c1285d03493b375cb3c14ea4416b37960197c52dde6672247f9977eb6644bfce7e9fa2007cd438e0ff7b9479481149a331790da8461160c539e19c1f39c3d90f05d6f59c5af08c3fff42b51e26205dd7c3466c71093fd1cfaeb5bc2dfb21738f3540651a267c0d1d90d70a6af270a09bdb0c3e41c9d4c20ddff5004adfdaf8f15ff38c192f81dac874be9e416c643b076d5a6eda8db85f2b8700aa34eb47a2b67a5240e2686ed126b19d731bd52d9292a0dd61e1af42731a79db74d15ae8b823614521a1e68f58cdddd444b85bcb184be61ec65e3e158fbcdf7970cd9ecaafe1264b169cced80d42409981fe1cf85031457b4892254b56e67a4f4233d963aaafe74d5ccce97899d883e63970d95ba09484c2de5b7e635edba9f1703eb0d7775be03481b91ad6fa61ef4b0fe70b94554fa0ae1786a12fe9c8b73409cbd8d7b0126f0c3e84ceb2cf7b6345720469bead389183ad54224506ab30b1e38ad9765b191793778183592de4dad2ab4b7bb48cb44ad4cbce1bfdf594987d4e3344505801d5ab1aea3394c5e34f3f63e152e85da455a6bb29d60e9475b09e6637dc6e7617aabde7da57a5c30bd1f86d2def727bd3af80aa9492179b6c01ee3956de0d746efe37709b55f09b581c467f585136dc1809ce1dbc12473532148e7f4ee73c4adef3a6310cab302f69e3e5f72b609e350df0d748b8f0295c134a23c184c4db12796034b7f1fc69c781ebd7d939bfe08444633f0b348fa13bc0235ee4f537c715784c3aebd4e90eed669e073927093ed1fbdbf368fe7f454e8547b2834d7befe6e885b9537478b0e0f7d6cdb521319296d09336caf2d7adbb829acfec6b0d3540430ddf79ad665f88fb085faa075f1807552877cba49daba02b8b246815980a08fc15102a07ca6b8f4121dc8053289f8e15fead631ef1552f2c5a561af4fbaeaebdddf239e627d0493566b1f56e8b3a2643525578839cb4940b662dbffef218b0f49ea63690378565d8ba89c18d33a80b15c6d2226680a52649a436932b88c407eeb0585d07ee8d94c54de0cc9f0d0d4f82b634ea6aaf2a024dbd7251d7e7a260770941cff2b56cbc50a4e5cbe3688c94edeeff1ef365b0ca810442437976628b7e405ff4d891cdefc8ad4293db3a9038a76f8a179c83cdce2e936d8b02b7e027e4a1cb91e2f4dc69de8d3423767d4aaeecc35a78c694e1c99a45cfe253c8eb6ebc6fe436aa3952209fa420e5f4c6cb67153ab287b5940118f470c6ad4a759e38b8e8554233cb5075987aaf666479b320ea9d1e664cbacf32e61379e2c15b700c31be6f6c6ddde35370b9ca253389b96c7012de425d060d5ce650b30216fc74c2e8477b1e796927e164eb0f627d10e31c00b724dd9515a68c6675b584370cfeec106052108643138c4ab5b8d87e681e607f0629eb39ff91b06fbf193f1166ab1ebfc6f3499d811655333b44967361309cbcf5c52a40fe24d30ae9c81c8a8cb0d54473d4eb1f9243c7ca9dc85b560f150177fc0d4d190bf8f357820ca28fefbf301146ac086f65b15307fbc26e08442f5c1c1fe4e206c88c15cf867fc041fea1ee5b8a38e1444628c77f56a71b4bb5ed95348f3a3b2ffc3abe3451c4e019540aad976e307705138d9297e9e44877b9ae43d7772bd47a8b038e646e100acb322fb30204f0a861afa0641c75b84a7a6e8d8130acd1a14de6ba4f510392068b819c34b333f9468555b6ecbf4f41980799170d8f4fc590b5848de6d2d2bf74483ec8bf06fbbad3c373798c7bcbee4fe82db9fd5e6eba7e1ad477aa2edaa16434e996be7f39f47193e679a863888c3d82ff9d52a7358043b4397b5f73dcb2fdb6c116125e3a9a190116ebccc10c85cd9d44250d6990a26408e8f11b7d19b4288b066d2127ac90341c7034ab76872ae18b3be5b7ab12355bfbf2bf3e10fefeb1089df881945a1415b879fd085dfb056394750988dbddef5fc901f4325d1da1a8d5ed72b97850bf537d4ce5db6d610950562990f0fbf3da26b80e197ef98b4c5f54deb2973ea71da4c02357a1dc6f799ba84b9d05d32115cb096af59be5a37e19312d50bd113837ccbe0f7417e5657f2452c1ccdf888b642e1fae2e343cc2d92697d1d961ac37f5e496393706bc4abf1f858d8e01756736f074d60c078145cc9652a20f83edbf8bdc93651958227bac840e42dcf326c7c8aab694f4ff41a227939d6b1587ab150a0123dad53bb6dbf26d5a028f5bb7f5aac9845d37faa7cd07ff1597ee3922057d877aafcfff580b629ef4d0c464825d597218644e37812b975060e85abd38d0c9657fd1b08c04e1585138d50b617d65b4d00e2d2041281f43c9c66264320ac0003487ad9e3d31c65c2432e9e599dd2b47c1392bc3a8130508d5eb4b0913d698515668ae158bb5ff7d827deddeb62da27e4cc243f9d3b5d69d15b49b861e7462bda1d76945fcd4b099cfbe9467aad0f26a3953a85e7c9440e5f7614441b29259b36fb10545424f33049e862cde217fa8aa9b9fdf52eafe995d8499e7361922ac37da3511044d102116f920c6e6272f549851f855ccfc0aeaa88d72983f4aa6a88dd19c7966d714e9ce97e54b81fe3105416eb7025794a3180b1e0607019e722b2f684315cc1ecba6c578b748eae34328fa44b453e194f22954bbc380a740c19120847d2fc4fb5214a36af9c4f7005a999e7f66cb3753114354223c274b22c48bda396015eaca9532905b07719ce5d6622fe80af392b7343b1b3b69d12a0d54b589fcc9b283ddfeb0df4ed69a8caa71202447870c347e3ec63c7a1fe0a0cb69f0e5e746fe6522f2aa37cbd03e90ad8b5c66e090ab4d00dd11f978c2c9f1f026fe8eba4c5d8649b9e421cba67e748c43ebc635ae2317c9f243b91849f83446a6174a156571c6052040173118cb8ec093e5665dba6ce1bf373fd9dbbb1f3edaaf7b3dc7a7041185af3e8d1f9d69a0dfcf339d28125a1470d2e4b64e12301c3d447e6093a786c93499acc52adf3b9cbeee7011e7981125a73983f65fa9d91eef62dce1a49743bcf66a82d4aa6d92e6eec11d5a8acf58b91a3f7851cc903567c9ec23752f3c2a9480e4c37d729b1d4ab9e556517d06755261c665447f2db8c512b77db2f7da78d4f29dada85ab432d9872f037de942449ff1cbcde7023bd28bb9a8ed907d8c28d2b48a8bb698d065b9b7990f2f00e2075ff877771789ab097fc524e1fee15ed43d7ed54abb30e768b8a88207b125f4806f33245b6cb71e003d78c13466124b646047d48d1a3e838b1af0f57a5391bf75d50fb0f017064fbd30df5138ee8faa984d310046b0fd5ae377b9d9a62c70c4ebb8bdda46b0b773cab5e71dfd66eb4c166bf3dbe4413566d4a95b157a42813d69c6535885bbf4324323240258c7ecc840448a9ee5e7d024bee52379075d14112503be263a515ff0db32f2144e23243d4cf39b0f5cd27e8806bebc9c71a631448d5220fa1109febddc0efd5904075a1e7390a6576be108878be9dd121f0e0b71a53af975a1fc43db3d69cf324c015b34e87bbe3ed8063e323d6a1cba3f198f83f4e3287e14b3cb2b0c0dd7ddda91759cfccfae398da05a3365ff47f860b0b54f4b213ce91315675f904ed00df8ac188bb6823b253771dce186371bd079e76a2990af73221d18c7786fe72ce8dceeabdfd96a74240b44501f3b503824c1a7141fef410f203a99bb712afdbe107c94f4c10c4b31a1ee7a329c6199288773c1fcbd04805c3c0aef2aa469dea2d91238c6173d71a8076eaa0c6acfa6c0d381c4df953db7b2335894ab404450364ae31950f2d7fe63df6e91da63f24a8be04dc7bdf575af77161329270977b4cd60ec162bd75c44ac886236a0c184e94687ac57c2d3bb94adbdc1513e0bb91695af6068195cd764fe893225b20f5a29526b6e562f42e830569ca5fa6c09fae71337164d86df8e33d36d618f9601c8ba5d68e6b577deb2f9019e32bc4e039e2042451631898bd5434ab1c76af909a37d302ede1e7b0afbf7eb621564f4a33ac55f2d9e6dcfe004aac7509f6bf30926c1d07c8a0be04d1806dcd2c25ff332b6f65fa793232bba8a45f78f3c29ab635b234bd55f63eca0dd9aaebf857e8611541fded97b25699f936b67d7b5e959b551974642807871621ac2f3406a3d2e7e5199315905aca2e588f3d314dcb4cc761af399c00f251609539c390e6054e2a2425026f524fe6f709ba4634c86433de943f59c0c6cdc32b57c0fc1a850199a0732a5d98beb820fa0e4eaff53f5b478c0caabfa426b37d8cf810d7944691e19c2822bac1efb87c1ae9be382bf63137ed2c27324c384c794450103562a9c72253ba3ba9caf6edc29b4ace7a23cfcfcac185ef9afcff5970172c4ba021e11acd67182c397f33223f72d11dfda3587796db77b5e860884717660450167ff0cfdc367e6a3833d960f8e37647943890c11de4f7b5705e9db629b9f2013f1c119102c0be1342be72d00c6940a058c57f05717827ab384f2b3ebb64d9d5f8a4dee2fdf1aae97ff70d8ac44329ec85170df3397c8571d92863b40a4949279e1625bb079b5c9b35fe2fd2ff0e83c89b6309374e1b42efb6665af8d46835390cddc58ad8b99b225b15550bc399ca503430be0e3baa3300deec4db2d2f1577b557f8c56fac56ef6cb03ee4b325f18bc2301c87a83a56da624ad5101fb11769b7f36b2f542e682e37ed66c761acbd383a68cbc99843ff8d028e126f4a62f210558c11b45b0539b5e6ec78f3e96cd8546cd1d9d6dfbdce41efdc030a4188388948ce58115357dea655b9b9b777200e8d7152e7e693b1cfa80b6597f37a6f4fd903ad05fb9d774262fe98524c56e97d6cab87f20c7baf2286d255b99e29b8bc32c09ad4a0d07514609f71ca06fc5142ea5f28d553d7c7d4a453be02449362ff6dfbac300a4ce6a56deb4d97413921c2a653a9ae6a98cf491b8306bfb6e5d689159c29a327f2a7b8776bda7496ce73d6a60135b33a0b1aa8f659654f61ea3be26cc0d917937ca673db21c36e3d81947e83fd786948f2368eab9d4d6c9f77a2dacce61ca470e303c251cbd3135939557960f0260e873fafb27e8ad0f97454ddde475afa50aad2695ec52ce93f3768f26b099c32149c4ff7c7bf724b658591796ad75618236121533647207a37da2755ee4d8752127ed63a2fc183a2a4f1b712c598afd03e6ea10b02c82a17cd80664d0f741bd1abe250c4adaeba8244905d729e1653d52ce084e37ddf627f7c9d6bd1d0c0ff510879ebdfc7fefaeaf2a490bb9f7fc1f378a29bc6620f75f022438012c6bf6ed8b382da2ff12c6145ce504295f51e2f243eae614be33201e12a478931a92c15bbe6d9ea0922735355fb0ae9c8fefc08e643fe299108c35a8dafa29b3a8d0ef0c7a12a3bcc420d1e0028f2dc51fc250ff1e0ca27f4deea7ead76a5a204f8df51c831be719ed5d249d36eb6295d047a98c76fac6a4743af4f833b2e5ce1a893fa6ab5b0da585c107ac0018e368daf18e36acdb9f9be3727270398fe2eb7f278a9aaa15dccb6cd8d01e605da42bef50e50aef9a5d7b945c98687e3b4c2af2b84a28ac87a3dc065b2cabaa3f9b0b62ac9c5abd0ff834212822ff710d83c41bc371267d273e342cd8abb3e3b1c6d8659fd132c6e89f6ef87b7ed5701e5dfe076718cc4f7b2ac7ab51667fcca3c1bfe597858809283ee89a3088356129773d02645cd101f2a10ace05362437ef40de58f646b1c9bfe682cb4534b1b9cb768e06c378eae20393fd3d9f7e6502f0f90322662b04d4a1869956d1c8e9195d18eb4f918a22f59b045095e782fe6e475187be4dc575aefd75bcc2a653e5df0b57282abf7b8f15ec85d2d0b91b7a2a20fa525855caf76eabba03573bc02ec0addca7fba6f288d71e129f9ca5890e24d36876fcc172a82a54f6a8f8792bdc9cf458d172ba2657aa561b30866cb0d74f47d8b66068659500caa2cfb5f18cda0e705be03f18639efb6c75a3622fd3ee67b6f230cdfcadfc4ba976a56dd9e579d6790b8bd7679af2eeb2d831fe0dfd7c5a0ac51ec0034d3089bb1766e35693d75416470ecc61dca6160adae42909a9cad985280b1033849c2a9c07579276470f4742032d1ab81bcda38a6c9554731c91d6655626240acdef8f313b13a973a8837cec0137c400faf0dd252f5c3d56313e3057a5c276246999e3141b578f0019e52c71c3ad5a3f7eec335bd41bcc70fecb3918874a140ba6a5f49bd868d1fce18b9e0de0b05b2ded227eabb2e4aba9343d526a6c8eadbfc6c910161fb2c134a3abd42b2f5397c81f2c2e51cdd2e3ed1e4aed2226293149596d7680868bb7cf0026607993b1cf000000000000000000000000000000000000000000090e12171f222f36","message_root":"0x73e92be3c13f89146b0473b53c58648adc3492f6d48548d59e2f10b201b2e25f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb80867a513ccea857a6f7e7ec49c1b1b57c81d4612d3dcaab66f611c0a30e6ede460e987fea4dbd60222434c1f2afd869d2884a5e107b723c457d42a1a0405c9ea3cb04e64efdff78406ff191f8c014144b3f4db93ded5a062f06e1ed73b40d13ad7909a7229e8620c02c21df6536a1a76e639147649fda8a6b4c38d34a68f979852bebc85287fbd1557f3fc946f3be128ac62a4b6e2295876adbd9fb1bc30082ed8a939cc7d5fe512a0a9d617564d19dbfa9b9649a543a53fca26e1e4028de786d1304cb6e3dd15969545f3d7d8753d97c810e812715a5fbdd18d83b1109b0ae37cc6d06ec541e5e94e9e0ae6b30336120a92b6990b326b626807cde731cc6260b3dc3f68ae69689e8e0a5dbf728e8c89534d943f8938ceb29b8bc6c93b35702c3965b13f5cddbf945e03700a4ce29c11fa8950d264f3a5fbe610fc2761181298fca4b8053289ca0aae00e5972bebbbfcf2ba3bd09203c6d071ec4b4883eaaabb3827406a024c96da745a8ee52d88e0cb0b475f15ca6a4d05f2bbb7c0a2d57764d72415a41e6b224e07d947b23f2ec5c9fadd85f6906f46a72d23de741cea4f405fc1db713dbc2ad546f6753e16f37ad7bc8afa9eb483060833d9ca2af1d3a558cdde3e360541ae508f46af2e12982ce8f13dda2ff9b5cd1c74d591024c751772da25d95a283b0e1d60c10068850fa9f2a51c73349efe766f1d0d9e886e411bbc71c75501c4965e167749b98ff9d0d10f0703dc5231a1d46e57b8cd9324d72fd1aaf057c8c2a622847d513eb00f30030548c1a0cf1b3dce2ac561decc2f4f8def1bd743e220f841a36cce298e79e37f521da4ae38ff8a7d6e07b327ecbe1fadedd1dc2bd0f5106fd4bcaa22243219636cb06b6cc1fb5d245f594479a46600bb79d102f5f37a1882178bc4af98be643de085349ad6691465d86eff738117ad323c68e0dcf12d551dc59d28a593eafe926df035feeb6534e891aac69201e8cb97af542c4b437b664b4c6c62b49c561ff98b516bd1db775e6ffbbd3cffa33bfdfce263294c7a7d1359f7163f46a5d853d0ebffa12494fbef20e3043fe2c4b4882ca65f20c1c1c98e3e0110fc8a704b185995e92ee280acae9e64efba402c342a389cf993be94e997b036bf0ec9c6f27da03fd4e89a2ee97bd4dd00130267b1721fad0f99527efde7878a67bd7b564910a363ffd2a6fcf2e67b41526e4f40bd2516cb90bfbc609d996c3d5f596d4ba67cc734d55c171e018abb2164af3803104ad82282a04d3fd5dfd4da0f9964d1ded3cc209f4db23f3c2cd941aee4755784a1559ef1c3b6c071c8d044044b007351e3a63cac8364f1b9485c3bd8ed808e6ccffa250276c8fde7fb8502a5d3b042106b2bb790b1e7e59f46c8e46fd3298ef0bcc936afafda711d2af0e96a1f7d2b870232596e4c31fe37965148eac29044ff33b724f2ad89896c7654514c751bf9ceb541437380217a38164055033ebea526e2120309f045e9d5ba7e113d6248453651c608d75e2695589a2f168ad1eb33d2d413b0ad53cd97b1c20eba27522f2cdf0e5b94e7b4f97e7abf148da8b2cabb0b5be7866932f0e4576fbe335992390b2194725e0823be062f253c538270bff8e245c597f6e985b45fd1d81bf826d64f14443c08b4a7b2bbba49bb17d276063521d15feec6f6bd2108df545843d3eb0298cf901d890276fa929250f6d5b97d4ed8589d3cb49a9b5ce4a5ca0b4816af21ed7da9be2e7cd812d5b9b27704a0c03c5b7ef7d7d2a9f0f28738db0b61391d8aad6c803e9f854b2bd58dfa6b92deb63338e8b76813a7cba2e929fe08fde1e9ef1fa48ee95f42e66df7c1eac7ac2e1e9d08b86fddcfe356124786a9c0abc4581c547476bd96c1b1c80e779a211039b487095d53bb18717c9fcd6533abb7a0568427075d8c7cef2ea3a91651991464ff1d617efba1a602bf762e40a83d1f1d6ef9e7d6e684ff1e6d2b8818bf4e3cacad77253a5250c0e13aaf55590553f56b293f38aa193ad59197d81ee1751cf40fe49b421c7dc7e777c1efdd1abc3fabcbd6c0e3115753a5d67aa519d4fbcc7f667079e6c41e27830e22be9ce563c72c9de697c94544c0afcc2e1a97c79d5d2112cbeb9b9db57f95ce9ce0de88ec7fea1e7eb417097de331a4f7b64ede348a78e901cf5f568eb66a40854003f179708fc749a501ec3c6f1a1ab25ada8f71b9c5bc796e43ca558a6f4255f22a92bc1fbf67dc0eb149047dd5984d4a18e4b2b79bc247e26ba5f06e0b25f96be62a7d51624a7f36248820048b92755cbbb9b5bfead8c4ca3413964c867bfeac53de0d0b2127cd7bfa388e348d72181a2f8918346c32381f474b8a864b9f67e042bcbd1d3ed0b96c07d73b203e5cb051600b250ee886ca21b0271e27e797282390ce95b2d89bab1645021f9046d3d0f5864d372c5c188f332d9cbeae620a43fd44d7ebbad1fa52669bbc8021ecd8fa3c39e07c248484e5badd4d4bdd3b4794495cf65d64a8225752f24fa931278b9c2404586cb8e29aef2809decbe25cb2b9141f8ac9226f36bf300b41b8f1081c3cb105e0e6363ba7f6e1f180974d1b06486c1c05117e71d800ab7a7de72bd37967862292aad18fae1415d1ccb547f06da97d976af1be6683bd11d6e546af4de573371685878ae11ae314a90c5d69d5b7073d7001c4805957014c40546de9f1917c038d91147bd4599e7443b84cd45863438767731b8ccd67680a3a209424855c5795678c3fddde7c02ee2f1b5a3d22ab7a7ed95bc0b6ba7a3992c84a30b4e8a5defc33555cd9586745d381391b7c8aad2496b165a0ba41d518480b99902ea516a0a2fbf41058bb327f67a6c6cc7c97f156ac2df1a3b19c254261a566572504bacbac7da11e28b82b92f3be6a7f1b62030e98a53ab2414c435312a11e5d08c5439e76f495e1a009a0eb1880c6453ec9d27e12e08979def76d93cb1ce215d521b15751d68973230a38466a58d7c67178ddceb533ceee69f3533f3944f8cadc9b538e6176a09e846f5fc98c4823a9eca34b0f3f25a888d4f838ca67752a402bbe1baeda35fd03f603f5f36359fdcd227d97e20cae3628c0f8b380f0cc5e4484c191310b1fb3223c827970961afc900b03c0cb97f392bc2f4cc84a921df82155aba6fede48be9bfd123848a667f270923b62ed8a52fccb77710995b0ae47e853af1079d0fec45e87ee4dc8984ed804216005d1f2e871224911fff209d07c00ebb9e11cded5639dff30db11de31889bc052dd506f54f761fe4bb21aa2ff1288d5eb030905be83472ce9f6f524ffb87f203d444ccc123be8b465264fa792bee3b674d3cb967c801acd056f2514ddb9ac8777d50e2391077e9ecded43f8481cde8a7bbb38fba1663b65388237c0910c9ed815bd97987ed829a0a5662d856c77ad4d22c69680fe333a309a49fc4cd263bf78ac4fa64c2880f57e7d9eb77e7c21d8469bc3e933b5281bc5f2f949dd919be2b403cfd382d81f826bd9b15d9fde0e84b8a58ff9af1f6c90b76249e2561efa881497f8ca74057467a549d115da787be6ab6ba2b2bbe7af5ebc41362d1a071dab62375b15d3610f989083f5a82dece4a3e24ad5dc4ba1d5dd5fbcf7ba8003177ac7ac3ba16c12fe80f93e7eb470c3479b97ec8511e1248808b8e598f9a2e29d19","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3d0023330ff0a1b20b784c662c96b835bcf91af2e727bc171e3dd9886ea30868","signature":"0x3996f11f7d29fc702c81a29f28c438340e70175cbd4a504d03ea0ce771ba23109b395dbe142b18ad79283644270c7943c81b06d087880c320b636023126ce374891374abc3a9dbbda7231a15ad76547948205295e58d1e939d8b9765972f7207e7ab2efa4cb1d6d93735f00e3cf340b6530d77ad20e5e74ecde304578006c1dcf231665d3373c5f2f6d727b4e521a5e4a790be1ea89a21bbc51ab904cd8c3bee894333d5a534bb689633b542184d0748a769405f3d72aa1f76a8c637ecb6eb4b821cc3c3453789c74a3e85415bf46420d4d03f6f027fefa3aee60159d68219e0e02051961624ac9da9341cf1f7a77391257caae50922eb7ed83ac46e2d25428431dea45970dd74ab8b899c97d6352d0aa040079c45f68efd6c1f08f811b642ddd91b718307695bad53d6c212f6ccdce78d1bb906e2b5f2473c544c66d21f036c3ddba11c22fe4e915e9ec4dc6d5a33e21045b3ecef108ded00f5edc5471000ca010c8c2b88788e999bc958520c03b56888bc75e959f811fc6a58f3eed43312ef395d932a08b1d0509fe581f8460b83b6fe7a1427ef5327475a1f890f4f5fd1d53d9b8f3a36d1f6fbf9f6a7e363068ae48355d4a1b70467b66859adac2df145804d346f7123c665aa25ec459f24b5176f0e8f00fb499cd5000edf19faaca39f3d855fe59fb6881fe661ba1dabdc004be1b6baacbdc3dfda21569c011d0fd1cff11cc3f5d3afe387e58c752f30a01017931a330f257d1f74475c9e4e1f48bf690092c545c94bd7983e229163cf789ccd51bb1abcdd81c5d366fe314cd00db3878df13894003ed5a0a503ed967bb53f386a1b89b5ff12584f51e5175bd5028d4574b4f51f05a95fc346cd83301ce8d40317f65465c669e015b96af53f353b55b1268273a9d9a52653053932475711c061a2cf0f962e398c3d2b4e42a890660c167c85f800fc8740071226624ca524ed72ecdef20234a941cce0d7b25072c9bc6ff4fd85ee925019121ae8b7af2f2038b289ca4a373a785b35a5c54b7aa20d82a2b9d5e0c58facabceaad5256c1d7f2009a940a2f672de5b6f3153ee222ecb738866312afd9ed605a59a24ea07e31380ff5216d1f3ce5e792810733f2a5fe438827a161a8da726d77e5a3074f66bbdf6f64cec0e4f1ad45cccd143ad2b24ec8207b3399fbdc495ea12da84db6b6277448a7e60702a0e73a65f20361308b4155764d24b93cecd8cc215a193a9e343c717f3e484d784aff1129947d58c483ab79d7c795a90f2fa447995bf4d3245c411ea986c9a4bd8691b96b7beae0428bb9467d473b49f323418a9376b2c5df7a1760362bbe2edb409862fdeca283fa6549a6618aa33ffeb8b27c2aeaa33a45ff8cdffe7db64cd7f3f8ff4c2811fda31af1664eab414ed704825f6f7af321c5045b64b54915b7fd1182e6fc3a52bfbd0a4d6671830ce6f0db3c7a3b8f2d5db39d4c1adb0b6a02bb59d06d01b9ab8b99a17bfa768ddd6cdbcc57d36c9460d4dd77c5bc31af8e84545a56afb6d6865f14405a544f8c299cb0427da304887dd843aa1f5d93e678bcc7407d33ca71281479eb47cae086d02d027534cc0b56c0ddf40de5c02991482070f178a024be8d72fbb798a08514c52846241d78065429ccd05cb72ca685e553f7d27eafc619d8abb3feffcc70cc23d2487a222896b5b4e73f893ef30cb50fec254390c28325220d3bf5718cdddb2ef6b0af40b9c02469e40a105ab93620c1830e74b8ac2cbaf316a31e17e86dc8a4ffbc9f9d6381139eb25bf86ade220981c37957b2f8d321d45870cc9869b74e465720f87c1064cb03bda854ccc9cedbdc875fa21aa1ba81a29a95084b6444110227bbccb79da4c7b35585c4f64c3192cffb4b8904f0681b1531539de969a0e9d016ca49f8b2758ac49e232481205f4e5674c1675d9215c25780be82b4d767dcd7be2f23298114fd55f77fd6d727b2d780a07df704adcc409e50568f718bf163dd43e660ecf27e02899f915872315c1afa5d97b2c945ec771525ab5b6a6160cb1f00f986a325bd73c6431ec7e3a5175a62f147bde3b3b84b53dfa7b4d28813e956c4664c36ded56f743bc592aa623771c9eacbc89dd183f5df549fa9391e3a22d2b5940e3eed8f4be47adc1970c5f9bba6fdab9f28b0b10a83fd80c0f4f72fdd4e3804f35802dd870454bdea09817874d97d5568186084569ec876514288e3f6bb63cc703f5ab0e6c6604fd0a1c43cf6ff2a4aff3923477f1202b43b11ee2ca4c192a5e0b0fc04bc3f85824d3e09f87f27360371b05948dc56e447dd9b343c691c302cca7ce3f4d4761a7bf7ddb350a2b36c3d5a38542e219b4986357541369e9f621d5ba6e9759e851476ce1a0dc84a0236c7c9c3254e2192c6ff7be009963d6e856acbdeb3ab21d6eb90527f7c7b824b3033bde169d19c4541e8d1ab941a5e541e5dfc9031c674b711261b65a554eb227d379858360810412ef00d63ae7d3ea28d77d5faa5908b99026995b629d84ae86f42abda1930b880e1e96fce0e1cdf258b119e8eedb263d650883d02462756abd11cdeeeb1643e774da62ecbbd349870f17fede2012e61375db456c2427948ebc7eac209c606bc6256a6bc847bb768c8740a22ef68b77d684c88df325bf20d4ebab2796d3fe20bd980c25f0312f85a6ecdc3617a6d88a98c7ea79b11702cfc2307c7b71a2722054ec29b96f40b85304a51f94b31b330cbb4553c6e70223922ab7ce9a86c3e96f257661ee8381c305b0b8ec15581123439bc60eb9d2cbd73493d460725a9ff0304cd1daa3abfb5fb918323cc594719e6e51d969a3ca72790334f37335f13d1428dfbb5d9f5c613037f74b9e67e892f1e5a2b3958088b4eae5f4aa46d0ea209c6b56e546f30243516ca331325d4ec9a7e8a1c9f145807e046339bf62ebe8fadbb0b5edea337f6ea6c52a7aef5d83f7ebbd3060b69969ccbe2ed4ab7c0853cd4935d4b861c322978e874b466eea16253e1c7763b8b74b2e23c7d4e09448ace6f06a3fdba494755e9d2ccc0500d9eecccfeeab279af17e2ef052aa1deec766ae7e3853335dcbf742c27c1b503d2b91491149504d435e51dd18db81a1485726a1e48e62b058798bf5e8535c4aba174b8080846c7a74e8e8ec4337925e3e24ff5d271e33aef7432c9b1e6bb1b9f4c6a43fa9f644f356a8206608a6bebfead6ea4d5fcc664020d8f76fdb2434cef5dd2c15c963bbb2b10d3f456204fb6af95cb205f0b7f9014a332a6f53b487d2dbfd260feb828ed88b41a165393bd8a58f04b7ffaa5aeb2c8471fd1266ff4c7109ee76aef068daf992f7c6067ac26f4d4dcde0b0931da4d17f713986eba70115a79a06b99a53e46598108aa809077e73fd64476973f276dd9a5fc4a90a59725d995c8dd7bc0d2595674363d9fd46a4cfdd0cb12a8a981079522a1d28a8eee98a0b00b2fe59b9f6d2af79711f5f079dcbd83d64d2a3a82b1abf1e628377c4c51a4290ff7821599cb0ceaddcb253edb2d9efbdced400df51cd8a9c5f99662aba93212855b0027a6f74410f44a7323734bd883b704af9728e362d481c5afa692879f3c26b665e7c151667ed2efd8372d434890d499cd201a2a17a635c287a39d5af1e0a9122d51f61534bafff72f1af60a24314cfb680fa76f44fbb24c840e6c26d2187a9c237d0cd5c6a6b0f9f4df8ec0574d524d86eb7879fa87ba754d956d0bbda6d8337cac3d6ef6893a01d53e60c2c73644ac7785af9d1c1bd1b20fe92b757d4d13138efadc316a574769526c7ca1cf8fa009b001d0855cfdaafb76a078160c95874fef04212c088c68293875a61c68febed796673e4ead55765fba9a48998a82016f6ec61aff1b50fe0adfef0f49aade72f402e098a4eede3f69f99110f596f923085afe516308b6b75c77250e53048ab3ed7b80361d88f089091ac446d2f77b721dbb42029039d4522985067b7267ab9dc28a00c976d17b2cea635ebcef97d6a287da446bc4e764fccf9cc045ace8101ddadcace974b9d14df522c36ebee5dceccf14ae77e8fb00bd692a0dab2a4e783b1a38422a5d41e4865100f8b7de9f4e4624a5ad40ecc53bae761f47caa59246178bad7331c94f6ab349985cacc7d57377dcdb90a8f788a7c2fd267d2303ce9cd5f9a245d878591b9dca4659d4d21ce8fcd3618fc8532fb577d289dc25de2feffb92f07087613bf7b719f4125c032f66044c1de10b9143198555a89589ed70a011f0e1bece1617ac4f673c1eb49376eed0f1a82f53fdc8f60fa8dd86497b061e139f8b46f4e7d212b59e120caaeebc44a47bf756d550b479f555e9997d8b0eda13ca1c99e2ab74e241eab7f9b739ccfdbaf8da2ac0db58332710d2b7ff4f529d365e5a302fe31e13ee85904f44754aa2125986d7d6ca04a7437ec7f73119e744b825f04abab8a7e2900ae6e5018aa33697016ce99cf92b80f43e2e6902fccb7b526a5237f5514ec71fdbdb81ed0af183e62d99acec7569a5259c5d1d2d1587301c942bbdc5826aff5842cb832b80478070e06f0f1600417bc2480d073083f2b26650904de9308a170168319b35d375188bc5475979583719446f9161b05cdb6623c0a19da26e63a0c361fce6a5c3f59e22f73b7f26db22a89c0078c39cbbe7291dffd1fd2408f7162617eeedaf98e7615b21da5fa63dd46793e07655ac56f75f51e6e499565bd69d03e806866cce29be152c4ebf3055b4d717e00f856f5b312dbf78a46fbfe45498d5f4f6970060307a5ad490518c2be33888514eec5feac9a76b41f34eea5558bb74c0d6476c28116a6a824ada59399ad121fdfe4c1536de49150c7d3f12875d31e11aa5ee0a6196b26c819876fe77f94d4bfdf777ac5f6fd8a0cb2342ba7be3871e7635ebc630a01a30eeedf79decbf7f7aaa7031ef48a6759ccfa3654b267d3366db8c54eb289c731a8274ee3ed5740526ba7fa27c55fb924c2cf42565b8ba7135870189220faeee97912723dc17255c171d40577ffd96ea2283aefe47051a63ec814cffb61d1cd83e2b484bb5f49af59543b4a325282b203ecaa7b7fe56262cd34d0cc2a412a5f244b735ad22d82ce7ec0861dd88ae8647967ec6bcdd2c061ede8fa73eebbc1fff1b0892f22acfc2991d906faa2cdb725610eff6bd9ebf791e50138e4ce0cf9a74d7028a672403b42fc3099ad5381429c378758444d150450cb7576a9724e4470ef5bcf9a17539a79eb7ecd8e701931c3dbf4adb79eb203d083a2071c6c85c5261b68fde4212659b1ba8d6bb9a82b9b842e9d5a88a74cf81403a77338b8dbf8efa680828475340d6f4a75dd4a97ee9a0b24066db8c5e27c44ef07034cc9202c9fd211ad64a0031fb4295d2d4630752990f72324008aa8df15ad499832526efa7ea1d2d17df3caad826ad71c8a1f827e33393417092de5d380017886cebea3ec133256e449549492ccee0cdf448eeefba458fb7cadb5b5eaf21294befd7682434377122325aad5e6f55abf1de6272f78412480332b20e35f48d70b625ce5b534fda9a9d04c72b4218548ceab5b57a4a7599499c6bac0134342b992918776126e05ebfd4848676d889c99c92e71e47b360d3d38987fe318eaecee7a66b25fd87e18635bcb3196704bebca064bba50b9610d34fbf7f0169198cad63fa5c90211c3655d1f41ec9c9d04947e5de1f4564f47f2aa42b786cd6b82d27059990580f6a90036bfaff3e233638ea01b292e6e028b76e57dc4a60b61133a759a1003b403cde0eb4e4efda60ea6eef3759902d8c132105a3423574a2f84b49eec80028bf3ccc1e586c411217ed0ea6df26a4e3f152ae55678531aeab4491eb2cfe41b7bbc7bb332866eee786368d0784742ae6b85387d9aa824637530e0a9bcbed7a2fd0c1d3f179de9f7a80fb26f0d0295611c251498e2cf02dec9532b07394bf9a2b8bb41b157a883d125fe8ad47c99ed75a7cc69105ba0f43a35e172a1513ac58bb5e63561cd9e2d880da55cfb8ff04daac7e156fa9bb34e7592da5b13de82c689aa7f88eccdba4e953c114c236ad7b24760f7079dc45de065a09c44b79c40a55c4d09bae51ca79c9fd8a53595ec9f1ca14814faf5e1d371f76e9051a1f1a0243df21e0b80e1ac3113074a877334ea832939d3aeb5e6cd5c87b82b368719b357e514d809216cabf657edf27526e8b100ed337b4fb3faf4777ae59404f7f5529bc26739de5301b71d6199e0f4350db519db4612c86740cf8cdcdcb6ab2753149bce27aff4827f278e7d2d61ad256b122fee371e7d604cf89bed63d336a5f70265c7d3f288eca5c01dfc038eabff8061777f60fc7366dc6652a771d942101fb1f64a6b12811db6dcf5169e28b766747ae6e9400ac48f0d286a48d730c77b96a649d45802c0b67ce01e96f63ecb8c1ec3dc5642486a633eefab5a28cc38a85ee3d02154590a3b50525b77868dc5d0e5ff25314ecfd9ecf40508091458606fae10255aa2cc182d5f889aafb4092f4b677da0a5a9b8c3f631343f45606e7987d5fb0256597577aee1ff000000000000000c131b2027323c44","message_root":"0x46926330f8101574a20b19969cecc873ed264ac5462c521c8f9f096a73e0ad03","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf1343356a2485425f358bfd06665ec441980d49b16673ff7537cb2fd25effb4001621fd59b2e64c97004b562770cda105ad816945a288084a23799fc6f80567608ff16e644888c5c33d06c766138d952e39531854c1492f946eb4b76c5859686af5992b94ec018533d893b74dd9e2e43bf4703f0f25d28aeabfd7b7d66587cfcf43abe8e0e908863b5e57f82296b63c8250a52f32910ef976939837b58b915d19b1a533fe0e77b49789fda75480c3505c787b67c924c673a208dbaa5324c9d28d0f5d1a3f02883cdd0f3c4909c673441f8ae348b5582163e35844ff624fff7dc0c6a1ffd12077e3e0ed36f022146aa389d625fa63741ad3ff715fd692ec13d873fb6253f9cf1ae3add5608fdf9b603c47f4bf99ef0875ac4802d664b7bc3ca5c751d56b6ed7b9ae265414acfb097bcf43d4df24328d78fb86d43b0e54cb654a3fbf2a6157f6cffc8ef83be3c71c37a85f3f4225713522e22c0f86f11cb14800523cd567296299757a526a7bf1b28b4817c317c9f02866ebfd5b132d99962edb4692bbfad37ba8dc64459b3984e3e73b82c07549d193ddb08c117e01493be3c4a58fd9d3265cc83a6e605c38ce0f78d9d3827b2b5152cc6432d842bc1276491ba1584773f4a0bd009df90d3c1e09653bd80967a269e30d9973b4c38d9b180ec0029fe50b55f887003f5cd88f42304604d801890ba98bfc8a6d61301754cd30a64e9e2921d85eb7d3c1efaab71b30c98e68c04e21d7f48cf010c5fb38e71c88cf3208471ac2de84560830bebcd190f8681f9b10ac98dee34ef1a7cc7dd644b938516ad2466abbcd3194bceb76a219a3c0cf031ae7292ba39f7fbe0abd15134c0f008695f6d260534fb913a3a5fe1f9cd58e15cbdfb545c03d1bf3877500a4f237a828ee83673d52db949075148f632df81cea356d693e7909aa5c601a28a79ab5741d4b24a569ed14716de02b4dd86cd57a898390aeb99b670f9c8b98dfa3d0ab0a2ee6df648956d3e5a793a3629c6b09ff5364ab0ade60e940122269f87d77c1706adcf8696b47cb86ce83d734a4486a877dbc03d71a6adb49085b21f1a9c4632d2a6a0e759b6af49edc4e3c9d32998bd9cb16df1f5f722099a974d74f5a236f0d088dec5330aae159a82b2003fdddc720842b11165eb2f732e51a395534adf5e09efebc08367839d0dbfb1ac07efb03458193032b6a996d7ca152953d988adad8f624c154196ec8d82a1c675b80e679caccf204be1caa6e7990fbd5e76cfde8fb35304f0f87582ad720b1c610ab29319b8765a004a74993ba9df46f04e0ac9033e71e9cb7ec086dd55fa7bbeb5ffe619ccb3d688924369574341c9270202e495c5decea0b9be80be94132dc8416fe0d6c287c4f50c553103a79c4c7cf8d430068bebded31d064b6c43dbd6c8dbb37cf5bbef5e107be5fc53537a2bdfee9c030217b8b5ca698cd2fdecb31877ee487f2e597c289cc0f0d33135a90887d8101f0def276c4d02a74600ad2149055fafca5870f4eae320121a3c070ebe9c28bd874acc475c29aa0e5a274a40f68a96144368d6bd295a2e4ec51428be02876446d5e53e4385db7bf9cec6cb33a29b3b555ca043d5135dade294f4a09f63066a7af1274cf52ecaada3527a8f9e08da73ffed073be4db358a871f2ab5cc9f644ebb077ee4b751cccb7ad5d967d0e86720b9bc5fe7614dd6f7476e3b942d4e866c53396624ffd667a7fd9479304b5cd61015c737ddd5a273442a45284fff0898a4a1b9aa39513d40b5c546ea32d1dd3c4083d565d667afced81b517d593d9bb7dcef80b3853a8cef2cb82d8819033295164d378cdd37a6f9e87747f64a56dd36917af43cee52e9491bda2a6b04ae04a0c8a884b2009b90f65eaac9c541b2fafb53d189d2cba25c308f6d977b641d5581589af7e8c8e780f866510e04e05e0f30eb6d1957cba4a22d52158e848e30a2bdaa7924f69d7da198ea1f91b1dda8d27c3512ce1e9e89a8e31e4a4582d030fb6ca75765645c2ac15e686ddb1bd7888f43395da56d25e68e0281bec87974e8e5cd64f2db429395e2da15df96ef34436eee390521a72ce825db77f87022e426fa59f2f8d4ff16ed03d7e5118ae7e422c3aa4f06eddc960f2127ae81439e51018c4d0d55808bfc2835fca08f5c97b106ad9736da01582e238af5ca9820162be819d794cc075ce073be04194272b27341e856dc3e77f8523ff428b3bb28c25e30db06340ac5573959ab26ce4d3f56c3e2dde217bc08e18822f68fecdd4cac331db6f004479b1b3c24de041b56611383d76e713ae4aeb02db1238eba0e6e77fc637b73338c97d7286ceb52b9d3b9623ca6d1b9bae419b0d52e33fe871362696e09a0d4398e1ce3d11ca49445ea81b8bd014c641c523f2977fed41e599ce174cbaceee7b896383d0605e0068f0017eb3bdfd0f97da9406a5ac8a8f4a62ab3dc75e0852494d01d8566642adb49c4c969eb98df462cb8051839d946ffead49c81d31071e11f55164de36c35f71b5be09cef8506e7374f6178a321f34151cd5494d692caa1a073eb4732b2084fac1186e7af4ba0a7f9a77545c6c021750f9dafcfd93b1aa79924c2f9329036c438168cc3d38df8f5a11d6837fef368e0efd248d92a24da4ab5cdad88411f250ac03a8850634f40600f62959f4ffc9dd3dd3977abe0362345cd13a295ff0940a73c20c7dabf459726d77a8b7d65692ed5919dab42615dcee173306fdd74dec000eda1991848a206a753a11aff8505011d858da8b5677678a7f87e177afd02931cf492bc13ba1547affff407449a9bfcfa6aadd198c73c353d9b4c619c1cd8fb696e8fa565dbd3e85a98175c54f25b0ebd375f6afe830e83970f4f68e7da4b2e7566166f0981d935b2514875d51d1ad5a85ba8e4d969cdcdff2159dbd71083eeaab945ef8dcd7a66d7b8053ad001d281fb08653bbc0681953e53beb9143a318db9ef95123f08255eb33e29fbe2b4e95052301dc978756516a234105b8f2522ac4c96b71f8d0bffda9d8f5c431e33c0aa184e4055ecb6b9875c09c7013b15cac3f7bb884008be672b366084a45dfe786dce00bf4191b07112b964459419a9a2a0dfad8f618389a0f6015876ead40902afd66c9f595dd93cdc33b723b981700ebc34930b120262bbfbd27c9884b5ec6c6a12f66d3f578c5eff9c8e9d41580b7da20f04f7792b431d310fd7d94096d63412b13f9e660cca26dcd3761412b96a03e5df92e157b2b5ec12e8705339898183226cf73cd043f2e8887037871f2ed445b7ef364c1ccff1a080b09ede63019f47e6bcb028b6baf6b9e868a8de535172ec707ab6004643e40ca62df11618651029a3fd9a4a609483a7cec22b0d8e917e0b044e8c6aea618c5e64f1c1f2d5d87ee36da6023fb003e29a8d06639078296c470bee2078e460f5aded75db841d1f6ec68d06ce4cd92fbb39163f3a2014f511ded2e959182b244fd6743f8867b878617720622e53e613c36336227497cb14c49ff10f26faad668264a015924c56cc455004c6d7607b48e56da206885e7c7f4588519f250857d1cb8b5bfd158ebdaaf63dc2bc9aa7c84f4a1a39c714095ae346c0e4261153cd151abbc6b55d6c709dc15c3727e33516124a0a399970878f496147a230270d6aa0ba3eded632bd1ae7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x7fed6fdf4f2611b8d475810fc50fe6cae04d9d5a128836a256bb6d2c2f54dda7","signature":"0xaa41c15ee25cacb47ab66d9b51f663e88541fc937251305df44d421d0049ebda6febe932665fed7e241baf99eb57e8b280d04dbe09ec3d9e6eb23b7e6e850210055bd42620c0ed4376d933ded4c89f1ae85cce51cd8ce3af1482cde99e38eaa182ede6c5b74732824832f22e95d94e4a4bc93de5bc78bf704529dbf9e4b04879186a38fd443cfd4ef00ab20c0b499e6b0f8f097febf1c5a1b1893ebbab521cc8cb522faed0fe73f5c786389d13563fdea4edae20cfe6efbca2cb053dba4e4398c21588720ccc58023f6f866022f1c5d21c5d85136f37deb3c15e9aa83bc5eb92336738f37e2529e782ca11ba37eba438f76b907b68c8cfc01c0f571e91d1618bee6f13e47f5a1d47317c2f66bedb0a394cc34c89354dce12d5aa4cdacdef91d1235337fce5ce1aae038f720195728d429890a17b3b7986d6c9a39676f4e72095658edc1f6ede0af791aea9a4e1cd3beef7a060ea028cdc482ac2ca29e7996c7cb7962e7e81f5cb83ad193ec81e5b3ecd383381a681253dbd942e6397a09514b7d00b90e00a8eecb0d86b5f65a96d518169791b29eb8ef3c319ebfec45b436c72b27b64e5071743bea4889025777d63cd49d78d8208b287b7cc6b432cbed1bea52d601af63a837683bcc095c64ea544b17b4c35ac440626d004fe11a312ac004e1adaa77cfa0a1148cdecb8f59d0b56bd71cb74f66fdbc70d56445f8a4c747345952b89503a3134debe5cd9d7975a9066415eae549bf19d301298c89c700a3c9fa04e0271582a3643801573681765dc7f890f553b80bcba2f25761133227cd55b073c1c05bd288922916845580559a6a478c9601b9bfb0c31e9be5abafb1db77574f25dbdb1ef0294dc7777097e6e2e409e0765e3504d3616e67d1fb302daae82077492dcf4508760c4dd1a947d1f1c7f91861200b55fb8a13db2231bb18d2c57550a418af163283b3761ecd054c3002364af84250a8710bfdb7ba05a708b8fa62eb9cebcfb4111af184ee93e17652b163c41c6b3b6d2450278eea70d589804ee45f6c55df161f9fd7b693833e1bdb555d2bd29d4e62fb64e49e9142d27e0d5b629a690d7185fb15e11f892e23a6c84c3dc9064b6de459d207c078ee746778da87f33e4d5149a391247cb4522d39bb5aa4ae97d8b6dea835941a9b48c3dc9240968514d645ee21852de33a0675d054b6389400df24a63ba97a83ccbb276ad0a4d461e272aa2aac83b2d1ae0a02bc494ae8c4dee613f313ab89e6e45f23bed191d838a8d35c8e35bcf8bacf4eced6d566d0b0286999d75228f6f19ad441134f04a9c8980522b7c014b26f51216f33414eafcccda7f70b7f37b9df4234084892bdab6dda48d5c2978bc13e0127bea2b4db4b137dc722523f01ed64e623ac75a98633a0f565395b003af6fc837f0236a55460a84914f54119ad556cf33be40bba245b39cdad226a8f5fb9433a4582f969d868a6c836add03e4674962661f244e9986f26a0a7a3127ac548940432f4da9693c95f749e277469c45f33516978475afd6bf7c83b6e37c47e815f23f764762af53bd3390dad16328547a58bf8231317d501663e2e6f7e79ff5aba4c8f86852e76f517f7eb9286944a6cdc12f02ae49f3955659699c52b63f562bc451e66d06199b23c446d4032c9f9bf0464d4f73ef025086626e9103e525d6867fbc058c629d50bb6340c596b69aadbe1e252890f43174563bf52d59bb5aea9df62895df00cb998b9c296094da991fd0cd94679a8d17ee86c11a8838a606f958f7253c5182477a63f31de99aeec0758ee697a6c72ec28a87c4d22aa1a8072dff943c0dcd93436540c56134408fd45ad5b97b1f2cb554484545cbb631ee9b72e46c086457220a43b3a21a27ee89f687eeb6113fed921350ff986e4d2d2f9f8d4684a8181f77b41c08765f08049725b239edf62c6143042ac6f8e4f2ce27b2fe22bc4a91d505e2aba8f6b0f57e482a49224f3da9d9f8e24192cb670b68af156cc1c69940ad20dd68051b863d272ca3eb1bde0effa5f1701ea8d497f592842e62d7d1b542356f240f20d7b11b3f8d41f20faaa4c8f632f03a1d6c69a5812a1fd05f1341817aca6bf25801c6a89e9b290166bcd5a34c7283d26f071ab3f78c219473d609c4e02746c67322ca3c0ab2798700f63bf9255e66e3d51d6104282ce3233a681f206f7b39e52e9760aa2c2fd75fa6117aa496a95f717a38d2640955df0712547de30c44374d588b69ad21b053a7e58f7f6a5ca7d0581e347bec2aec9aa9a1d14577187fc4cc37a94c912e463c23f3a03f717ba210d78dc7fa94beb6a80d8318334a133d20723e416a23e69e55351ed634fae3dbf70a371c71de0d8355c126d3ffeb1f08b0c6e12469408686f59f61ce90dc3e59899141d76a032f306d5594d36a9299092ee44ed715da2e88a14377eec67314cae53396c3c64f79bf9bd7b7fbf1f94833542d97690af8d220944470d215b57b7d8b52dec67699d2696564d4ca7548990e62a12eda98f42d574da19e8f54abf4cb4d013e5bf515e648015c43781ceb2b2ff570415962485abca04d79010411384f27a2dcb12e7dcaf1e999b42f511268c0bb8b1c9ca557fd1eab518703e96406557f0812bbef78db74b348fd0a762f102d17d48884e51bbbd4905c548210745a6976ee2e962a421b1e73abe536edb47c1673a9308088f8a457630a33891efb04603a71877b81eb388101bbc48e645dd5b83ea9aa8968c47176a0f85eb69f673a8a34edde9c516b1465a0c08b17671ffbf70d6830e6f2048edcbcece92f722d8dc7f9910644a6aaf75b339097aeb1fd3e1e3bb9892514c9aed2ec4eb23df64927762632b838c091b8f0e6eac3cd9d0e05a83350d2d2d9fe6523b3be635d304b52db62eaf6c6ec65b62aadb418c1fd9ab465791f9c5073eb74b03cd7b249c402ddf1c690ada629c322559c3d90547739dba5a2f817a70ab14e6caac9365a6a78e042d06a574821ef023495c006cf91193042c350200bdb77c0441e5b3504924b8b2265e2cafe03349ac2ce9128cdf31cbc803179eae1b53a0465ce3825a835be95f729269e56865e0b56f9bd9b61c0681fb55f9bdd8b28ff84cbe865e9bb3b81ffe2f5d0aa8d7dc68a228bd3fd43ae6fa766364b07fe72edc0ff1a697d2ae5dfca36712bec909be97ec2e9a9800e79be0527be05bf89ff182c8c9cce04af5831878c8a7644182d03fe7214f2ebe5ccca05d9231e6134f825f2b3ef402004ad7e02aeabaff282efbb81597fad26f9891e24ad2d5dbf66ee34a97891ee7640aa2d6f5761008600efad7f0a069df5d4c5bff16c814fe15f61bd46b220354f1a1e734507be4b9e4df9821093bf334e8b1c8e6c45548a1a36213367b9953895f909115b6230fd33d6a1121d3b262a84c573ae439edb0f6664d8dfb8e019f44f114eb749549e9cd7d887987609a3932ba52ac0db9060b621bc4d6d857de278785f9fde4eddb7e2d689c718c3b05ca2ad49959a86f70899bf15e61b015fad460df0f3929f490a4b6d559a3150b3c396346ddc524b8b41f4cf9f9e2ff82322e3c4cd2d1a70002556742b6ba140dd7e38347fe4c49f813e7182f86e20ef28725e6a0f986e6dce96aaca27a06c3f2d8aa5d774084b7228954ada53fb6e0d5f0f52f3712ab2c513a420fb1e377debb05338088ff246c9b792939a53c49085221b2e953ee7eeba586ee73b5198ed9058e31fb5f321bb76af4c512c0347e9e7d6edc3d13388f584967dcce67e6b7e398cbf141e2eed0644b8d3ea268fd6ace573bc15c039f09a1c0f5889b93e3f553140221ff7889bea03ab72f889c74a3a628017cf1c668d68757de15a1846f5dc4e65422bf9b1d62e2769911eab8d21b15c8f467efe0d60774658021cf39acaa5dc9650bff4ea85ac584e4e246abd99dd17e1d7e4b91e7700c0c36ff980d0c80b8ad2f45d34e1727e1ec375ce6ac28da89a194aabd48452e7435096fd7da65a54a2ed63f01530074e14cec8abb30a369a865cdbcd244635dee5a9eb2826d1d910c87536c897031602d317859775396d88cf58e19f0b0069a05b5ae6ae165319b95051fe4cd29f3b7efbddbaaffeb16fc60fa3b4297e349fa8aeb90c124ac6078f7159bd338453bba7a84c4fde9f92a7e00917ee9d50b5eff5b18780524d7d3a49804c841a9b9dd1c85cbd082acd4ac00428269815bb39edea24e79ac5aa3f08b44b5c32b2b4fe28ee023100060ab908036f1412bd7478d1d6b3431b9299cac78816ab46173e25fb108072890e01a90143ec7b2023774cb4ac2e0c08cc5b681101daeb6bec15c568b76b0a3f679f7ad01d78edff955d3d3b12e6ad139b0e5bafc9cafef865d4062588b919ec82474e2faf6b42536d067e1a61e15f28da0a5d64f1150e53b69c64a1580c9228251cfe24c3e8478b56aa95f9d66df3a3f69a2fdea53d7f8e92c28cb5697d5985ce7b0c437ea691964903b7b1403c40cd83baf7da83444353cb56d3f52a819a2d40c1e36df3ac304822d7376f4aac45f169565f61f34d0fdc38026db2b1c6741b62e75775cb5ee9af6119f2262cb8c04b85cbc233f28faf19d147ab5ad3791e04fb8e6ef47ca22d6b5172661d4852d28ad7ad6177af891e4193b79976e1118b2533ba613540c4f785f65e0cabb3033cc404a94a3c401de8cd8ccebba7c5499beec4c1aa5c439f394cb8e7ae46ac9217c6ad3150ea83b0bb6f960e6181032c4f93a08536c015317b60600f5d5a41f7ab67b8ddc3fab3436badf725efb91716e60ff4f73d93e5a57c952c5654d3f204a9f66452e2197d9a33b64dec80681439727cc2f911c8882c34251d2c2fbd7940c16f8da5b9c93325f6c8148f820edee5efbf5bd93d8969049dda4f35a853478a214811503846d8d473bda26d3a807f74a644e4a4653d9fbe82d2e2fc1992f465f22e000c1d527527293516ec1e6d7041232bcb596765ef243ad680c79abbec00d9d10cc30e97e06cab9c84a99c78552887e85981c8910a53e7c179b237b32da25b49916af18eb676fd3a526cb0852a05f94db866662c242ad5edc59859392c8869508361adbd52d978e6c4878e42cbf9ac4c4cd90b21b106c5da52fc389db72e332f3530e74c5f7753d94614d087c899a10d929bc733a9a151dd7f8fbb6f02c0cf2b1988a5e87faf54d1c1c0998fbb982b8eab213729cba1fef39459da87e5fd02f06d019d1147b575eb4ebc0fdae8992601f75de69cceab326046e6f1374dae11b8460ec441f10ce88e376fa4d5e10f334732f9ebbe0cf600805c51447d397a642bebeb5fb4ad7dbd55247327ee6d2774095f9355f1b6f26047476718a0cc07fce36ed697179d68c884d5434f5e46f838a4f7d3e42b1e3c37097e66edb4d04c9252271e8d6044b06304254488e1f85b3dd4b809faefb522822b6c0295d9157c46e96e19fcd11dc017cb12b55f5526a7c8e838980aa3cc771b3926737a02c7be27064aba0ad3baf36a61cc6b8084f2504eeff5fadf66a6fb74a7e92b592d1b2947e83048d30a3bdbdd382474403f23ff2297f91c620d35ef2302b44baedba701101e62144e05f66d895b7602123eda2b80a8b0a0224d0fe8791586c8ea39e4c3bd17d61bed0fbbe6ec622473b65de47b0f026c32fd415008ea2f3be25b74a483b82d3be606e7dbb02a12bd11e0f44fbcf6c9d5ee7bc498b7862e34b77affe1779ca6794d243c19398755e61258990fadab8e5593b3ca16974ecf38a899d2882036c5dcf5bc306ad4b1546a501cbc5f5f27f0beb579510074f7a4998ca7e70ecf7408dcbd6fdb8cce48da9ad4283b05f8d60a64cd761b3ec54c5210db56ab2b8e2548da9de0f767d3e46493fdee4e13d593cd9c1443d27fe04e25bab8a78dd88362b0f25cc4c2109a104fb7c3fa20f8f5725d01aeff6bc170d967428d18c8cc2b2d9fde1292b4b5dda4d1df8a79af3a2d0a47cad3fc9401b9933fea8efc3cf28a238e1166c8d9beddb8ed78a187fa07a5b40415f9dfb736a65046d9c29706946da4286d2a8d04e9cded3afa4cdfe49ae020db3321b71a2bc06fd429d69334af28823ef313b49a816198d8fffc743a97c295029510d78434dc07fd44b9f503bab23f4c5201126b32339424db115c57256395c158b7a0c09795cb8595b6e77b84a8d425ae1e43df6e706fb9e8fa5045e13310a7e9d5e55dfd64da61cb364c6544719446ca70ec5fbe6142515ea3d8b183d2f4d8ef2e89cc7ea8a6a6db31116783f2edf9f3bdd0fed6a626f905b361a7d16686f7b6e2949153e6fac40aabd31f6ab9b18c51b95b282c118e89fde28d79afa2d17bd2304cc6d5a793ba4c7842745543583dde5d313b6c2c5b2caaaf473f71a94b95c4722a915822418bcb4fbaa4d15b28285798eac3a270877da1b2c133e3b68a59ae54c013cbdc2b1ce416fbb92240a9023d0c253b40a2cfec0a4952737af6fcff2b3d41d7f5fc393a45747d99ced10c54578a94a0bbc5dc152e474a57a14f8586c9dee631457b7f86d6f8000000000000000000000000000000000000070f151d262c3239","message_root":"0xcfbea2acc14ecc0cc699edaa6302b5b7ecaa6ac28cc08b46948d60dd05a9c32b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5f96465f5e2620ffdbdc34b2ca4c6c553e068275a1e4effcc73011c5ce90918df7d3a1968bee22bd8379371c93afff9e09b6c400c8cbad1a6b80f2d1548163881a54818976319155493b9a5038014bacba9f28b9e177e75de9ad9b327caa3d572f6eb3184932e42f27883ce5a013263e74cdb08fc8d3f1f5d2576dbf81621a240a2c77a8464fcee445c8e7fda84e545f1b0604dddac216d9eab98f1c0381dbd0dd571e79e2dba3278a587900c5e3812375a86acd3d7445cc239edd920795c5e54ee8a308a987f6e671b4b3575216bcff13f42d313d207d4e2edf9a8fc69aa366aa89a38827a3bb2f1501a4ebbe41ba98ac932ffb56a3f0ba561f91c22a7e414b28a30e409d9173c57fde87bdc36956399b9f662a49060d960c8d09236a49a510d75f7d1724ad3401ece8d21f7806e3defe68fdfc0734d46ca7435800df800227fe9bba8fc14bb37ebc18ce31bcba4d2e6571c3fdeda56cb15c5f9601302c945bf83aec00a20df02efa82642f6cd3cd46b5718181e3a483698ae1895d7307530efb020851bbc166c7d167212186daf2e89f4bd7ec8eb43f0ee0b37bb1620024e4c468b172f71192e334a5378fd2556090e301c2d40f31e1d2394d3cd89d2495de730c71bf0e0cc82accaa7d4856c6d78d9d51f6430f2f56b060ee457aff7f02a317142c6ef28562fbbdd9ff88f1ba758e184e15124f96530700b396b91cbc589b631f87f10ec76dd2c8e09fd3287ffcee61b67d004cca2c46c0909c53d8554ff54efd7f001e782322c45b424421ba49b92656f2082198d0f0d0d42fe12df87373a0d4e39dda65002a12deabb4dfe5c3e7f89d5dec3760276db70a721e878f270d84df66e47d5aa56bddcb8e921da00daaeada001fcbd78a1928ace083b254485843ccff0a6acfbde642af85ee0df4b24d5be2cb5d05483f23245455541b5e8c3d92c6ad34a6d07791a85b3053639f1a2d06f97a3ba1eb1165e6d54582f738691962946d793201e40fecf3c63fcb84ef8fb437d5c8f9ed64be008927f24148611af16e38fc27b735841d9413aa04cb3afd605553f09084d6e9f41d4faca404c62a66ab14724fd7b5b8dbd9d1168e5492ee914dd8406eefc3caab1060dc88e7bb19ac75287cc2dba1fa93910bd91bd4799a0845fa8a5951876b1ba635e1e84e98d22a791017b6d69c05f6067c53355bd153ad4e3f9317692c5379c857c3049b7c72e48844340da8ed5f2221354c3505ec3742a5e1f2a5362edbd33dc59ec942dfd66872271e305326c0bce0c87750c1a855511c8ada2560aedcd49f06b1314e16ba2168d4079beddb349364ffcf0c197d15adca19f94fa69e89f8ddb050d4caa08a7697c479292663fe0094bd2d6786993c410eaacce1cb187c83ed51d7fbea0a1bee11a790c593346c4a0e1db402c603d213f1aeaa33e414d00fad5b632c07d1a7db1a2059b887c2f1db6d5ebef70336cd0badf6a82c4a4f258044c46b77c2e3b801f38ff9219e916d36e14a317b844d670083adad6e4efb0c7eda6a009c63e6b7e0ae6c8446ab8c75d9a05e06ec55fa9e8be25125ed4f849ef4311c237a242776d035d17cb856dd50d5142d312faac0772f7ba50773282dc17911e9de30890898c5a36de431e95c4e6fe6521d986a5187af496532429a7b284968c05fa365f0fa4be0f6101655f40a443ae71d16af958c65f4a698c12deec1df0a94beb8513fce7adc807926c56e1ffc08307b48c48b6efd101c4413b1e638025277af83aa89f65db16b1033c017b5f29e5a5d8e8f23f47e8d03e6451ebcffd4730ce396cbe95fa2c199f87d31e5f54a71197001bcbe74c43fb004a6b9fbc46782c8d7f414149eb9f2fd0216379daf4e16b49d9d258a60c8cd56ad419cee553b333d4c0095ee229aaae7cddf828bd6b21e9c93c01360f6a731af2fd96204fc82a6ff3552d08eeba9674c529a03357f69f5a25ea4fc974ee36b1f384a4d6a0887c9f7d1e812752f1d4630713fe798544b4c1df41d080f9932eba1cca5c7cb34b53029f9b7b695364398f5c77410c39901c363435b5e78cefc06987a8984f0efb0dcd88f0b237bb295038f3c108769fdd58e7e59ec1d917f44915ca05f92314cac4c79b8ae29a34fbab9659280b119bf06199fff062cc5ad977d3df0996d0bc1b9ddba602ae16fb980d58afad0bc7154529ebe02d8135dec63386f9c8fbf9aa6f46e9a59cfe48924e56e66d0a38e4e335584b6c72ede5c2466e5152c4411193d960f78c582212b8708feaf157f07ffeaf074a72d06e578f799c7661b401864e65d7387018af42fd54ff58e7d33cdde874f672e074bf82eb6a8175dd0c394fa36b4516f5f984a49c39aef8813e88ada1db0db86a0e5d0c15a26b14067f28e902c52b6045b000cacfb98190a8ccb24eb1cc1c20666f902f2b97131bcf9bafb7f946f10556a2a309e41e58d08da4ce820d98537733f9ee44788d481b22e69e44cd5476ccff73b391d1683bfe49e97730ef72160db2b92258d1dbc21f4e08ed238c0a1ecbaf9551123dff2d5849b62a598ebec57f051960a37ad5402c39cbe977643d3d294c894207208a56b6e20f7ea7c411f51abae2d9b5924fcc036f865638c93642d4f643c94e696c2a9fba74bc0bc6ba4caf819ec0d42f404b27fa48cc1aa99c5282498e202745237290c6c60d052195ca60ee28bf7856ee309325c41f4401c88e805922b0c74019adcff36dd4f0b98bcb6f5cc4201561d2130b2405747c36e3923d7028064dc5fdf3da4bb29e3606de99608ec9af6075a33edfec1a08f05903ce09c9900b9eb203fe53ea6f67c8f7b6584759cf39559314e840f876fd702ed56742063c5b7c8e61f194df8a8440394de61d323c2e6985d220d68377b9adcb8e4b91f8a3f8bc52ac5097e2b719c45582f35f8f028188aee7b5eb039912e80725219d907152d06b9e5040e51a81be141d28f8ccb6a2056dcb1eac5e066c8dc3a21df21a8d4e9ef19973875aaf88d906e9d27d8c885727be1691be38725cceab477f0f19859bcdd012739c7281fb6522ecbec2201f67129e0d6130b4a48df0738c7c1f2f7c9b13af82a02fb3b95e0b860e0da3ee8484f1639068b79580b3979fbde6c9ffd94b404b28423c83b24211c12fbab0fc2b8f23fe3b4f7b31ec09c3c30ee224e248d17622f3d356807d8d76b3e60e5a9eeea99bfa46e5cb7876367a619f92ac8d4d771237457915b94a6818aa570e29f714d868dbc5ffe40e48bd442af23e881151be454c4bbf01fb0a8e12120eec9240bf819695608cc5d36f12d99dac9a77c9456c45ee7fc37ff0495ce5cd8b612338dd3d19f6b8fe4077dd86b951bb12286f8df4f3c5a74e197b2f2512fafce01017239b12155e500a5a417acbd3fc83599e3f4bd19ad46c212e1fcb340245b9f37a9af657ac7967a47ddaeec740da70444ced8b5de32362c0f32d9e46494e897cd0fb989ac581af17d09bdad6ad854e88eff5dc78f785a47b8913d8371034f4619b04e4b862bcb355a4eacd0928070435a711779d73cfe6ef521009b69d0fa41a2c4c5eb2a3ff01b92b3a8ab9ebc0169dceb455cac73d97e8478739b4a508d151f462c5a33c224a2893cedff2a945419e55a1bd952ba7c4ab511da3069903fb37a3145aff884afd754b508e62f9c18fc96c56307f19a","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x6738e6c8d1680bbd5e167193ed96050be633b2a8cd15f77ae73d9865b2829568","signature":"0xf15fc3f94c341b1ee909229b6ab6bd08fe1a6322c591ed2e022dcbaf4c1035e966d36848aa79f48b12afd8a622ab5c0132f1a2ac227b633fbd58d9b5cfd25d31a03e2682cf84c22625c9e36d41260bf3736711f162ac8dbe8cec2d42a4746b271692a6f51389dd390cc55c4aa3b86a5e039263c1a964cc5cd743e8b22dd4ff582a88b5842a3786781be92d4328381ae8607c32b3c86647765748a1949acbcf5cecc9f894547606b42e102224d1f3b275b8e4491fd79a8e491e953768dd3aa565740e8840b69ae1be00771a7d5d92e136e1d60b11183151ff83dda3b5b89f44f9745f52408abf632a7040a01c49a56c96281e7383e38b8b3478020ad3bf728e8acb19b7a05aa1d518c66edbcbd0baa65b00c7acf45617b5999563f199609991b7087b52ed5a0cf04b29e9d39e892fe64e4c873d61143301153b084ef41a20c019cf8985cc2ff38f41aca9a526fc13a4336fac893f7f9a548c4fc56e9573dba87091e3594fccf5d83a57556fed7bc9fe65b3dbdb46041aa69200234b7b8fce080c0c0022ec7d5196177b2fd6eabd8df22430f5897c4f3d9bfe9975773ec614383f2ca38079ee6745b6301e5f2d31710ef511d6bd82f7b04dfd12f96ef7b422e7e5f87052779ec6e3ad5d692b0b4532432dc95d3b45bdcaae5f70ab49ac5d0433644cff57f2cbce4779df2617aee0a91874662301c8f4a7965240427d05b0d17f8480a7736c1e2cc12fd686b5bdb44d184afcb898a06a28920b4bab9a5b1cbacb1d5ebe320d7fbf3c1897a6654ce896483431af4f70c77fecc5bba08f6dcff54c25238d9190cd2c8d8c02697cec65a3da5a58ce63a99a04ce49c104d3c2f5029b0a121cd4f3ad0fb2d17e27406b2e65226b00836644c9eafb937404c3a380f15559d296a7058021085c90344ee0d7e024493aa815f1b088a63c62fa9580aba52f996922e7b80bccfc64bf8714f62934fddbe2ba6560232a4ce29d956c45fa395db9bf35b9b3f6bcb8d0d8bea47705e4c4e1a247a7b0a6767719b3855661443b420ebb5c3e9c606db10c98e3566a6b65a3b519192469c3e6076460c30811919c35a986855e7f2e673783880e0f11b07a14dcb4e6c0b778e8963f3f7b56b6109a2db383f4e84ffababbce43ba3ac8cdc8a59eda8dfbbcad2fb68588cce6604df321c5abf0284e8f8ae10ec02be8f9b7ff14c36bf6e8627bb187dde2f268630f6013682a8733adebfa5d3402d5bc4b5c439843f4069fd8005ab141ea69e4e31aaa476a9bc4e1e1850936e46a1e375c72e35d99a2c60308eb86bcbc5d8cf284faa9ec204eb44030d844353c88b1f288bb0cbecf8065f2387a541704fc8c74d223d6fcf12fe7c84049a4eb9f43e92e94c29ed1739ff0e08bbe1b9451f0eba1545e9b55f4d58d4ab8c6be91126c9fe5a848ef63e6defd65902b2f523935104dcaf1e602f300201e08103e791f81ed8f15ca8a7c1e5471ba6e3bb4da4214703f55562004809577bbb416439fbe3d26ca544bf6e3cbf9591819acadc368b0aeda4f1ec836872fdb1f12ebb6a249424e2b6dec2679712ea661982b86cabd4adfecaa1a841dc8c9d9a37456b96a180ec0406a6f45cdf3d535959f8224b55a548dd8d1f1095039803fe1eb6a3a12c50e8088a28adff55c50d931614e1df3532ee170a3fada1bc240b34c4eb768606326b21985b7554293989d54fca140a2c838e4ca7483d300964a1cca82e1ff59d0513ddd37287f55c4f9984de3c414b02195c04043ddb212466fe50f61e479520c68a9faa5b7f2091eee9cd678dc4876486ece5344c296ec2f00e5a294c0d366c579d6f61e3f4c7717947dcfeba25a7073249d0c5ba6680a316a50f572aff5835ec2cf6237537ef2963d74ae619e1af2cb1f3d9e41a2e176688cb57d60d68412b3e5cda09636777454eb14250dd09e6dbfe8e6a5f20fc11fa03e669b5ed22acf4e4a018dd65c2dc99347e4ad4c1dd7189c92a7d0cc2d17cf3d4e341b8f104ebe7bc5e2cc3946915d975efc97e0ac169d2091b7c7d1b020cc80cbc475d09de5a8b64cbb464c8f113fe1267922c81076a47614a602fa6350a7e576554234a55a9bd7496ddbeb9c6c1366ca3b8edb2f1ffcfc9c7308b1732e6aa383eb1b1a59c63e58edbd2257cbb4359d7fd3a3118735eea66451163774af9601017636e16399db00806fecea07354065443b0734e69bbcdeedcb42c770428904b5b4889f7658ead3e57fa59f5159f4383d282f12487fbe9f7cabbef007420a491cd5a645b8e39c9159bf54dd76d465dba5d20a3d7e86e239a889e538fa6287ca6cf157b6bf549323daa92c6c834d37bc1d3d17ba33aabe84ad9cc41afaea0d383d70496289367bd13b4c6e7b284c1e5ee5e73d0457e8dfa1e565041a91aea3374e56f2f928b067bd98be330262e1141a3537511b5c54aea8aea1e6c4521bfbb8741b9026c41bcdb8f05dfd33bcd1d284d9fa494f229ab5a173c752158bc0e0763f6758354b89eb0fd0b28521b287f095cc5b17210f1c22da54b9c186e3097161d9711f5c9b1c80eb5aaf59348acf57ae674ca4d43d97b8f94c683064de4964882d388a215ef9daeb5fcd21764449b9ac2d04d191146c44632f846988c93b086ff743a94784f47a8a78234e3bfce42b9e78cc069c115cc8fc2540855d76f55f8306ce691df113fde94df15defae1a5569ab898921ef821db08434fb1c151ca41903508f1cf101446dc8adc9a0f32420137e7637ef3b20cc2b9ae700472b2ab38598e006f31d48847b786e52c49ab37d99cdb70fa8584662010bfc49c2905ba2fbf007409a678629a7430d7d723eb987ae4f57c258f86a69c6ddf6821a71c1273f9181761d67ef9b0e25f52e69fe23d93bdb97cdc73e1c3c64e0bd642b34fa478133beb665a9f9c941af2d1dce855d193fdef8e124686f78964bc6091e6c92b764ecce1b9ea1a71c3b31be1cd6e671d8ae74f9252e5e6377218948d956955143bb0113d8a0c067a9a86a6de5ff641d4aeead685b1a7a2409722ffd3b5e088dd4891ad79e851073115489335d5715390edc8708d7d03d22c63d7746ba288d7d1d335e6d8a10a6af1b2448437bb6154fce8065d81d678bcb38e8f42e463b79615c08f7e9a076ebcf33ec8a1b77f89d6feaf0fda933c6a6687f248e174882096476b34c5c2fe80122648c3296de07c081c98eb2e1750f9c87b930ca374a3e960ccd6283531f669e141e82c9b45cf5cd52f8a4e2bd989f5cf854b420289990b987c33fc64cf36016e2e41a641c4b719ab157c3d6709b248efb165b937dc96664f334ae8a4d0e000c70300ea8025f5cf08f5fc734fd1fe17744307b795f56237783a518d494dbc829e43e4662e30f721df1540df5cda2d7d5e6f9c832c21fae362dfc2680b600d835a49e83c9eb1f9048cddb2ad699c5c74bc62f07a8c741acaee97d619e7d8972d35149fe6e3aceb27fa2bd27a6af130b83e534124e1035b654fde71cf1bed825cb241284cb8c88e6e2f3e5fd437ee57e0d64a40b0996ec2c02ad4362502a5413e59a1f2c0e72cebc01d847e54ca074caafabacae75fdac21f633d907461c523f3a296ecf6d3c6ba1bd85090e97139ab7d2ef0fa9f16d0153c79615cb4a1bb662fe47ef9aa14836161decc2710e8e09df35f5d626301696d023ce10846ddc734755ed0afab3dc2bcf546c63b83dce5e84ed746422775fe77ed216579aa557a2e5f65637988e1c5c525c364af7463ab04f5d8f42e0fb9bee6c98013fda577301ac75fbdc40526ba5ef82393988fe5368e28da545d4751f9b156a58d2b8d7c38e51045d39ad00d9ad839ea88776eb526b26405ef16a627b76f702ec5888bf43f4f88d7623addc298e25639ed888bdf239d36c9cc9362ed5e74e05c10ed1affebd60d757cc6edfc079a9b48dcfc061046df10570d0c2a3eddbbba195c713407778a4719e698d12e4335c7f1acd4a3efb1b86bd1768bb745f28def9f9d1d526b64ed734a576d3b27b6e586391d52b876c7e6f20fb4d7b72c56cb8fb837fc15a03d67b4152354ff68e33865de88893b0e816326906289d0a307c5edbd4ef996bbd7114766d0bb8817828dc3261259755e70236f7e66d045fb7b11238b5e6e6d822bc1c638edcaba24611a4818f83ab2a644ea1024852a7df76ad783f5b31f5fd8ed77b431fb52302f39482f71c7cdff1ab81b1041c5a1321b2f5e5d3e84d5ec60651c227395a3d50ccfe0f87b507f906f8788e3269805218c44164198f01153ffdeb9d4f6724ed573d5a355cfb7f2ae49bbb7034118f1482383d9be3c578be86c5689e64e819e219e17d50b7e3e7685a87d27eee42ae709f855f11f51c4666fb85d60d336b689d5018e00847707762537766a5c7cb981ccfd37286a65f6fa9ada2eabeeaf923faff1440d9966e6957cb71ec1d0a8e3235fae6179a0c55e04fc416dde85d72344ee4811b127a22d78974441c7d4d6a1e873d3b386c9821e3649c8a44f6d89787daef8c66d367cb46c3db737792938008c60e3e9b3051d0384c7b0942f2b7aa758f2c9a7ad0b03f4a11f6af33e4bec8d9b96778817b6a826f214035b803c476b377642d60e3074a44e76f994dbb7fa0941d1e4d6d5d59ed64c2bd5fdf74fc2f6386d2dccc48d89fcaf0b0ee1cea7f25a633241ccab6ad01f0d33880ac3d4fd0ce5765a59f4512d3ee8c99966620d9f6635fc1a80398dff35a9be4c193f2087f0a544faf7a1d78c1ff62a06d2007844ed2ece07b067cb7cf0f90f706e95bfae59850e1768020ba0c667b89dfc5f573c0850f2a49094bc75c838d278156844fc4b8f200ccb24b233d28fe9137637db349b137a1679c39e1ec496a430d70f7d007c05e103d1100fb0f617b7b09300dc57c964dd19363698e55f2acae6c48f25255d8efcfef5b12e03e7bc3cb4cde0ff31a757c316c411f108cf5996bf2fc04f02b8777d064d31185be34a82d5cf65aedbed9d87a006833072be15d99e8fde623d1239367b8767aee7cd99f8a59bace351e1f1f303d2218f0b71ff31c9a16377be04a590e3a72bfa2d1a36f1981aebcf029c34a130117680216ab5442c1b20bb2c66a6c92414723b7abfab85461c7118f8409f98c872af09021ca605638ee9381c6a0345c35a9e548361b0f0117ae9355ddcff6177b3923621087ec88c23a7ad177a3646dba95f54e34274ea0d081ba8c8c613ad0aa55c7ffedaa971f1a19961e8e3ca32a086777261ce101ecf2a1572f2cc539e161000a001fbdb201719a91fb840beaad1917a4d9a4f882c41419a5bda228f88beecbf76ca98eb77a134287d8662d82213b07b46dc89940cf2a79b3c7ce9ad312fac20bf6d0c2a800070a0fcb0ff308336313dcafe070e93232bea5dcf45f8c21da15466e51e61e64cbc2662345ea1bb1cac6b8f24d407e5d56b55bd1b04d63df1f269f42fb439f2f7279e3f9afecee9899f14495b37f5e54e9858b809243065b0ff5d342474e5f2528217ccd8389f657445b9de7b3c064fcc96671f65b4d44108159ec4f07cfbc48fdd674cc3e1b04ce5f3e3b30d70e2ea998ab2f0fdbefe74e73c554b6f256bd1b1c1443eae7eeb4ce58f23a19015125c65568331f9cf5cd92963d4f9334748d826d801fd57a3ffeb9ef4c09c9aafb2cd8189c20da967e9f0703c02b5a18993ad88d217706a782dcd88a417dd2e61d1cfa240e0e713f37d20aaf8d04d4ab2b80257fb9d5861da07cb3f5fa2681062ebf06a228ca79dd13c3b390759c69cc590ca0068f4a59a32f21af11b9fd9bea4702db68820c6218e0e00361f7dcad96d5bb1a5f8468603e5aa13ff2d66a8e59d35982f72cafd577211bb41ea4eee9b81b3b1cb560d47bd0b9af0f1ecbe86a97ba76578fba530ed427c0a7d2d9ee4fae5c85729416631c1d3570d8fee2b57e85af70e47e185c41b0b05208434feb32c228588242fea461bb1c5076e7b651a6078c92751a303ab188b3aaae9e4239a55559b45182266960f9094ab2fbe7807d23ec0e0319072ca6c20ee7cb3794f64335fe16b865255b90f33e53a092ec3b8e69e9cd25cc033ced43236a82d65102440e1b3d014cbde217aad6df6d4d200907eceedae4b9e6dad0464610e1713e170e8bdb9cdfbca196cc76f05538e01df74daaa71aa483ce7b6a247db01bbe640c5c404e8521cbdeb7df9ca997ce205df6dd913dffb7b9198f15cf2d7bac9afa3ab8aa507493594c7654a2e01321e5dbfa07c5407022d4b03dd309813df2e438f0c5fad5f7582db59c1579cd160a6d2acef08bec9e7163c83c1ff1d982783b74e4527145cfd32e8a748b81909360890a22579d66bd01f993dead3ab0cc96451c5ce5f2dff3f240125e4e0b56029bc2d347f8d0b8e7af5e40b050de227418b7289287a02169a959359567801e03eda93ecb8500ff71f3e386e4ce41081a018e84f66d0d3e5904ef0119263f4f646c819bb2befe365c7794c2f318435964b7d8fe142835426892b5f1ff109ac95f729bbdcacedce7ebed1a2a394a7b9c0000000000000000000000000000000000000000020e141b24273137","message_root":"0xbb308f20b67970d2297df1db6d23b5c4855829f9bb15f39bc48408de7c037fdc","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x19469956864864f17f1ed9ea2eaeed651cd0a339f51047fdacc812295bc1bbe96b1f80338e9d16109014e435cf7081b4b7be46b906c848cee41886e2d5862724660ef635dd4be2133793a9b91ce154ff87092f3ad4be708c51a7a722553138924f5a73e07524ce3526a3a2c49f4f7ef18ef22d8a980d8208d862f71b6a5608cdfd6f3dab8bfedeeb6f00a2f82779bcc2e6b6db7ac9a0a37eeda1b97530d575b9a9f2a49120513ec493c867b0440c111bcaf19f5868c7ffe056a5a8e098df0ecad9e15248c1d2c66ee453f4bc48709271eddaa6dde1143cdda2a043ff1270d433af9aa1d293a0b603259fd5a4e6c7a2cc7806a0c97504b1a328007669efab682b067fa2152826875ee0638a708b22f98517911c086a571409d902ec7fb7d6986b9965bca5569d2fd6ef5835a4d41dee2c10dc1129f57f562e9d2a7e45fc6eef573bdb4f669aea2fbadd4e633d31a1c7db49d7a8ecc77d98aa1f16b2f17b031e6454040573ae56b0447c4f9d5bffb7946cdeefec760d1f274d1c71d55f35af2ee37e251f60721c358bfc9f2b9460965fd2be0afb3cd272addec8b49ae6253f375de9803b6cdfbe9cfff39dd8ff52f3dc1e194c231b90e7dc2ecdb5d756f7eab6cd75b93f1efed9ee03b56a655bf7a8fc12dc3a4f7b1b1fdce32f5ea30aba7a400ba47d1cc5ab848cf9fbabbd117a70729ec6e0a29fd8ec6a377be6cdcaf5dc8439ef42eada9f5ae8c9d6fe51edc7b6012d6a86edf55c03fa9592f35fb4ef9e287ab9c5ae5e61a565d56ef04d7e5a5a913d795293f25dd0731f897a5ab96de54de331837695aebb66a6bd70ff90c10fe8e34edfd297ff73419cda2a11d7f7cfb5f2cb38d6e90b9ded0fcb51c985c87ab116e8d3c4a30df2231a1a7a49bfcf2f527a6fd9c34fce8f14fe62f030702f267eaf748dd18d0548222c7263131353381b3657b7d5fcd327bbdc29d9f76e81a781e7ea6311275aa944c757a8a7af8f914c284d477d5076b99c094757592e8748edd9dc5b6b45254fd36d1a729c869e69a1407cde3bb319ec1d87ed189cc0bfabfc2f7c839194a38ca33d9d92318dba532510eb2af6866949131b4112759409a123827c533f264c219502d28e2445b5633d5757dd25e6130a260aa5a8448e6c623da7654fa0466257d7d69fbcf57b52dbc01a8d34015e28c7522d97675055536dd9e12f6bf5e3f2e9b1fc9b67ffe23d45f4b6de053999c2d96cfb69410bef2d694035593462d299d697d54c3955c55f41e6e1d54e33653fc0367fe2ed82efeac10a633829cb879d554900f019e9f1669ea600b25647990b30b36612037bc174282b7644cf1b6baf014e3ac7403317479a5d07a02326c2e2380466556326466a1ed527335975c75f707becde3941fc22f7a55bb53f518a4f37982fea438a4244273c7f0415d6bc92632124fb05e7fee88ecb127c2be902ae2de9633b5105c95a9737a83ac1b2cb09a694720662c9161647cec9d518a0a46006c056f5a8932892bf251b8f25d0c8e77382ec031ca03af0fa5c95ad0efcecbbea5d6d8596ef37575a2e03c31f31b62512e6ad0b27623d04a6eafac438d9e80b48531e3451d48c9ab5d26ed93efd1b2e54b38625a719690e32607b86e395324f0681168264fb40f9fb9b3377a8755057e669aaa2c0b098ffd05203127120cbd986f4983306d4b2b85c585a39d2caa157370b0039bb0ef2a45007a78f47ed1f267a2e23b418456a6cd31119921362340dcc109736a4325508c61edb1e8ba996a6d24880cc8e02ea81104f64ff5f18746eda1a52a79675ea6378ff9bcf33d9b4cbcf240b55fb6ca7eb78677c4d8f9b7106624cae1fcdff738be1e89dfb952d3d30076f44368aaffda7ec3bf637e4e49b2824abf40d1b8f9419ae414fe34f1a22aae2a95b499d48be5558671e2935fc848ca108a368e45030286bd27ed8ac812b431923ad0e00143e8ac22084f9bc0d226b5f2af6e0f19962372209dc585051d18965afe4c94f13b9ae6d315a61aa1f4e4fdd96177986e455c3312b0128a641d1c169f5610320fb3359539b2d4c900599cd51554f6334094cb1f89939ae1d1a5e77db1f2c808e99b97cb0e1ab9ea314d5163a0c789d772bab449d662d6018f95a916f7f2c7ebe52a4e980a7dc3275a2366f99e9d5ee1d533079e28d50e531284f3152c4007c6acc8c29e3a65466503b39fca7ed53f8c5c942bb70a797cc2dec9011f3ebcdd8bd68c88e2d58e5e5aef42d2ad39654fce04f40279c4589bcfdaaedf64e81c63ce56657e99c82c146b241b3ffb2d6e60aa07b277d699f0ec249574cbdda564cb6743ecef317322c68298c8776f29bdff0163e2d4829acdb3bdc4fa9cb3475f5379e0d6b3381648328c53f19f56ee00f8d2397fb3fee227984238fb3c02c878d38c780889aae2d0e68d36ff4b01423ce4f35de630f7f3b39b85f396412b8863c6af01a6cd9c592143f38c2e23fbc58ef2696dcf3eaca791d5bb06d0e8e4d49c8f2c228da9b71ec96d9bd74de9a28994885e8358671745894a6282122426acf0fd48e5244d8a1afc3301cdc4431c7259ce824b5101666c2da123c111923992915590ff8998cd6c706cea078805a05daaea42f30014fd649d73f5c4ff1c7b7ee298dafcbdd92106e62c4d38358fb9e820b30beb0b0adee2044f3582d43777235b24483e4134196fa62559caa88315c8f1b0c34b723f7ee504ce38d614cb737ac9c01b2b18af46166b353971868ddc57a44ddff1ced358c6cea7ac2a47eb8630a83949073269291b411f4221ea4efaf425f99c263325fff562ab51113f0ee6465d4d768e665fdaf4207aede02094c38da76280751321589a54c869d804dd58a9f218fe0a69d9e09581d896057e0cc583050584343042a62e91342bf066f872d64bf60b4f14e949cf40df5f915b7ea8f237b3dc89160dbf60e143c95655400c2a83dcbac890ea51fbf4e8c64003debcb95935348b299b8fcf94b2dd5af1ee53d6de7c02216e28b72fb7e5f51987ee3dd5935ef6b9f7ddcefe2f7b1cd39455fc8be66387c21bf129ce79bfcbc27816630c2bac45bfedcd8fd5bf40cf5ec37471cb9a0276d732db476ddce0267c969d3521bd3da479407063474e2838234190ab817806785323e228ce41b2910b9d5d6c8d5d4040ca5affc6d7fcd2ca8586bd96147baf1ec4c9d3fea2d6ab27a426da3bf8839e0c263683dbd5611f3a151b744f5fe5da58aecb2daae016344f4bb04ce1c34c1d4d88270c89d9706de383fb70b64806644d15e226432fe521bff07a6934221d490204c6ed0cdeeefbe5ede223ea8bc744d17c90341860c887c9729d82689140f5c6cf2381b7a192a1ab0f94ae663fe177f79e14051788e44ff2ddb8284c7d31ed99e8905b834fc12563bd56c88dc3486b718c70f252add3ea7a56adc582af8dce0019a308719fd55e30f713e8dd6a8168c6d5ff6a4bc46ed3b1e9bcdfcf048f81fa2c17093d65b6fdf23f2cef74d75c5abe06ad79ae9a2696c15982d20219d9e99d031ccc299daf0e4d0c0091d80b073d1ba7ecac8199bcb746ed558bd8e4b6e04a2722f20146307e8262bdfc7566b57e5e7126aad90240eef2d577b79273b810926c35ea03283ba1d56bdb5c8038d96d5b5471889fd47ba14a18769440140ae09e6944b3d2ca038","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x15e1cc05425db5b5a907839e55f049e4d852a49ddc2697d29bd8782e9389f412","signature":"0xc845a739e397a3ed7498d8a1d248cd2bfa56c45903880784e95d4fae348574287b9cf63069b2575a31fb42ba5fd10f50e036913666e7d3479e267dee6d9a87e680f74b573ffa802e83ec7fab1fee4451cf0f4229fca8cff18a321be8be3777ac7474da95fd79d4cb621154038dfa27f2e4e90c1fc1654f983ff3a61114fe319f907db89798a80825a5c9db4c64853105c705f919dc1e996378ed3faed83d40b84b2b7ab5da8c49af42e139cadcdfe38f696e38e625a4f3f93fd9023e941871bc482a6946d21453edd8ea18da425bec9a44d28a0fc1907fee135fe3f794b041df8e40e9691f5e74e4fd45fd3fae9e733fc6213462f22ca235a43567718197826d4694a58f90da44016c5bda609667f2e3ade5a7d9efbe99e30e79b93d92fdbef0848b373fda7190ec471a6f563daed046523ffdc9ac08515527bdc9f6e11ae224a0fa7a9e8ea7998eb30875b9c63adcd4c9267ca10bc5fa250bf8ed55d4193f67ac9cb379b298c3147de08a285072206a7d48a82173bcb46fe0eed8c95a7826a186873892f7891b675e78e156cb0da77879dcd19fbb914bc53a8c6186ee6053579b54ded03bb68833bc311b9173c02d3eb5c5244f1310607723063efdde5eddac0a6f679d3afc9fba6630bb6a95d6e4dd08f5eb73cb040357434fb3edd1746512d348af7f91a3b27c87bb809a33fd512f05001d03442f84ead61c2c5ea159fce8bb8037ca3e640b5d2e2b064ef841f9fbcbc9edbc1325fd3dbd7fc334873d2f33914dc16a02afefbe1655957a324bab9beabf993622b30875646611fc03176becd8c2dbb48e4fb48026efe5e7766bee6e6f847ab7f314a8bfe8af7a22deaa4ad8a11b8926bfd83f16f08ebb91e85527cfe9149b709acfe1c4f20fec4280317e9a6a824022d08a1fb246661d8bf59f25ae0ec677aa94a2e999291f65bcda385faaaf700bfcec2255c6012e33971effde99418c6e7c24c0194702bdded1f0a732caaf90bcbdd544342726350eda2f6cddf7696b163cc4d36261bc57e2978ca1e31d0ec1c51155c49de5be1eb531ef99f4bf7cf17cd1dfa961cff265eec74b7143adac1cc45403fb10a78c019e7dd7abaa930e745ea3baec5863301f7608819e4bb9827ceea716dd20ca811aaac3812d5bb429698ec440665455db0e79e558860c2307f9bcb79dfaf5cff9469e4b0b4c6645083352e0ff875c034a8dbea995147d42c8fb8dc1a6f7eff361761368a48051f69775ca527b887b561737d0333f9d15f0ef631bca984359d3f9b729869367605f312cc4e051af046ed72817b245c020510f1af961ecf0f9a01a1aa48296e96a8cab4d03072772630cb06f8e81778f4bb5ab05afee8720322c0bba5f9f737e8dc9dcca1668c11812f901c21f4a29f90b3e19161d771ab5f617e11bfe8579b67568dc5b13f8c3be8b7ca9cbed9419403dcac5c6184aa6a0ddfbe3d42f720831a0d1e56994c0bab09016baf29dc35054a0ba8124f153d70c5c77ef3dc7a4b4c3efca7ec7b686955fb00502f957da410796d85af133643cc0e43dcfa5ee25a8653389323280bfb7b85cc7350a30f1ca677793c07b00ec4f0d6826ff9a4ffd73efafc5e521b31bfdc00271dae66016b597fc1938e985a3236a949820323ced425ceb2c3ec8d89c7b0fe438eac9eefabc2aa3beda7e89518e31c95caefe7503e8fb2842bf1929ec5217673e4853cbaba7b56adbeccfed02d8403ca1f0a9dbc4149e4111c3c560df5b0381c84549fe92742532fe21c69a8ce619b95e3243bd3e276182160adb6560e7076e1cebdee28261a162f37d4be7a57246ca2d9d1eda680c9618b0e1bfaa4b572a7b9ce93461b86b1d4aabbbd0db99900c44f06cc713b592ddcb093af2dc875a180b91752fa706487a9f7c4f84d81700191bcc02a0a9a26736bd3a11acf97ff0272dc279c659730176c1461d6ec76ba6e33ecae2431557ba61e6eac9f1833aedff3dfe3aaf0f4087c49ce45c0aca67d1a7efaef75f7836fe028554eeef4e71109682e77dacebb30cc6ebf52fe4a1f90a2d56360413db2f12ccaa097cb8e73305c1eb32af7ffa026c5c39c468ab8eb102624771c3c2d5ba4ea0af9b7c7b89f9755af0ae0b1bfc4718f47a72057b2ddfeb22d28b3738fef0c1a453bc478ca6045d6ab21d84c0b8b8189a26d04eca827cd3ef0df3ce1b3cd2c73c6eddecb2681852908905f7f24e5ef85b6ea53a1d436e73dde28f117f0af2e0cbdf83eaa516508b40e670409c7e47222ede11deadde1c8b9e227e31872c2a717212f3fd5123a1288fb73f06abed08617df03e3c392fdada485f61fa9f9023fe6454e618af98045d863cdfae74cb315dec107b3ba5820e368744152b1de5e389a9acd71e1d0b8beac81e4c180b50f0ea460e6fd41f17aebda3eafb9605563d45a535a4b0441615471a8780c9791b39571d06812b0e964d87f82cd7613eb3a963e78d438f276fd70e462ca2ce43091fa9f330463a6a0f08c1d99b0ea0a936057d212dc9ac1f6732d8a086cbbc6d12fb8fcdbb6104a84c8ab3ae25d63194282963591dfc063643b152259031893ee4209f8f56550fc61677ad11c0ed70366e6c89e88f36d11689702bddc4574a3b2bfb7777a2c32c4cd53ceba3ae65b596c4b2c09c345772b9ed37226cca964050c87d21935a459938cd1d491f33c88a6fb298f2e1580087606bc270c4320e233f2ea2dbcd1353a8a13fdfcc3e013f06414550667b331aa3e4de13eac126936db2c19a51b96aa5f114c0f3fc2af9574bc78ce48dc1789fdc6567a4d45223bdbde30b5f3d78a23eaad3ddd54710a74e5423fa3cfa4b6427eae3c97d6c9d308a45f4bc47c146aee5c5bd56ebd5d4323e2d37a3103720686ddf7020429a443e8350dee4d2ae5bdb743c90e1b336d5b7c26eb29ba1d0043bfc739ece45d69b596bc436009fe31ccc8b5c6a7ef6aa0ce72ac24ba1a57d576fe035f0724ce01cbb2c265db43a572d8dc8e3df203b970c9b8462667d1dbcb2fd80b842d5f4d8b903e3e0ccd0eb03b06402a04d69c65195b8549f3120ef3c7573a4d3392ecd0f670bd5e4a9ada63ffa6b27bc29a23cf32b39bfb7a3854e1f8fd762af52488caeea498fd5f35b1e6fadc7cd42918ddcf7f2e2d573e2784c7516769bb9ea58511bc66c85fbe4efab0e32c28f028b3e39316b5b00b3ce003417658faf27c0efc6eb513c059cf96f8b304236274a8b3190587285275d994e730b255c378ea5ce9fe3e646a0f237d1394557a785c03b7d3ff5c28cfa9dc79774bbbc00f4f643b8f2acf1347e5a9912d342ff138c618304c8ac3aa835fa74264a983060f21679a8d2177975f02268eb96daf09868896a0241a35fcca243d61c7cc04d839b73848b29e64bcda828cb52c52d745ecf124c26d8bb2b2eae93ae2b4c35f22cfb1e88f551beffa741a371b81adc5a6b42dddec8e8019d709608ffe134ccdeadf8423e0b8a3436c0e48fa2235ab60d87354e61997402c6f9d68c39c57b9fe5ebd75a42ee6214cd5322d3b25f72e78b367b555682e17a8933d853472a564e998cd1c5d443299d591e27affa2279a6f4e6a7499d5b7143013bd9a1b1d3eda092d6b8cd05866c30f69f6b36fb121adc1e1bffb211b45b6d1e10cfcc38d6417b4a805f642b8ed3ad4acd8be2d0cba18b579b221fb7d53bec9acaa13b3755e296181e8e4cede995e532aea12b20c3d92b4d9a23432477aec088b131a888fa34010a9e13e945037b9f07e844a9774c24253b5c6bb270c9ef9dd0f4871970d67de623b2c6042f38b91cc186f7f3d5c951d9b1a99e96432486151a30af6d06ad9163b6a7471c8033850802c1f89abbcc01f15c0cf38dcd227c27fa80fbe4f7f2aedfa52c99b2e571dbf0781f1bb21e8d48dc39d79be26611ddb22853d5b6b8585bc43c9cc191d891dfec9cb97a19c245855d2479754a61202707bf9967cbe3020bd095a7e815d0e4269431b81bbc7660a75fd27c75205e49824d919716a1007e2abee13608c87d162afa1a41cbc36fc7e57102c8c03540febb1d2a48d9a0fa5272e06c234b63abc23a661555076ce1edb1a6c3ef29d39edd20d326c8f60d3877a0a5f3713c60b7de8c8273b72c21409befd4129a9fb5d6cac08ae3f58255685c67ab03c5882caf75751954383d68a3d1c648ad6050b35ea5e9f8ebd90bf792ae57078747109dcf2dfc993a2d1290db45c9eb092d0e93b9535d0cc98dfb5c03fcc042a659b6320ef123340bb34edb80913ca57d064ccb68fb806b733203a7c8d47a672d9cb7c004442fee6c0553c745e970e93cdca8384b7434764e2dfbb58553a26349421c743d5dd0e81b75e8f07fa33648d30a0cc5e0a9c27df9b557a5b6f795dbb6d7f702ecda5f88d397a343e5064a4d1613bdca8a9e63adfc532cbb40eb3a89b667020750ee0339edb2ba5e9df8426ca182a0be5f7359c8ede8045d218cbc42b8abac0f2f505028c126bff1806bd9409be65f3c520b084c600b8c8113bdca123627de12b339c23707d1ad3fe37d504edc9997c6b03c84349cdcd28e2f5400acaae93e8890dee8bfa661a882122687caf0f967aa690f2b01c0cc4cd81e930665b9187019396ecdf929b9b849b99a60de964573ea2a21913003ca223603f2dca6cada5b7d14d34e84d48a68968636f95975191ea9e16c60d1d6a0ffa93ae4eb0e9e48332739ed478292ee02437bf8485c7b464cae2cc4ef3eacfed5c5478d132186a99c605f09a064920392888b58e0aab8644ad7e1b59dc9831533f05ddc2d353f369a9be2fb652f99d2ddb958e8aff06a6a40891923e526724a2a3ffd2f4953135f23d34d74749f4a184b9a67d15ebcea4aecdb081f4aa12694f3cd3e520a99779a8f2ecc896d928bce121fd9201c6e396766f221be2ee1460baf601147735e1a92fdb96d6d1a4859ae86c5c7486a760b7f4b7f57c05ebfa37523480286a66735a000336aa5dce3064cdb3d5a462fae82becbab032cb774af2cc7ed670fa4b4d3f66c0e71f9328e8b2861b634838b8ae184c4934264bb1528b95cf7d68616b6db2c0b1f635a1b27169aa46886dd7b224d5bcb1c0dfbe82fe423b2664a9254548c594a1f1853d024d68bdcf413d327d9f6a6f97a56a9a741ea0515bf03fad87f5a11cd86d6f0b319fc5e33c7dbcbab521622b0c60e1f315d5ac5eba7d0c69d2351084a732aaf2bf60130005fa40f94703367db47da070b4ebe760cbf2949c7ae2cee4250d41772d90836bd1a2adda81abbbfa551c68d5d6197a048d103fbfcc26f5f88aa897ea97b1edbeb48d992ee24d655d88d8aa5e0b3d85c1ba94f1f2524224f0a4ac92605cbebca389cba18873981ef14899e4e29e1052bda392e7d9af7e8352307ff85ca878154e64414c370a64bceaec318dd5f1ced2ed6f20fab6870cea8723712bc248e891be82a1f3a8aad6f231abf83e8ec967903630d51071f1ebee52022e288789030a496d5e969286e8164273f75becbbf0e89635b724ed7f961b3feeb1cd4a466db231f6c0917cb489dfc83be20764f4ccc03747a53b950bd4340bd64d15014626c27b52439365640ef42b72fdcccaf2dc8421cfef80b99fe67d480351833260f1a55cce06b31f781cef9eb698234b0d0d0e2cb668a52279dc8b7a3f38e3024eeba04e88be02d31b85c0288d5340e7213659360ac9bae42b825044f37a62ef076e4455f5c8b5b30d49bc31e9b9dfff4bccbe58caece8794806fb5cee30e37c40c4456802f10715fe5032582299fc96edca69307832fc1e8b015ee58bc5d30d20ac5e18ed868a739665f1d17653112d0202c05a9f3bf12d5ca373d2d3c0475021c99cb823cf9305eefba6a1f0ca8ccdcdfced69208740f9f46c62496fe7a88c263b11256253aeea4fe90bde80937725df1e2f3746e9abc9318220014a1d37e5ed6f50cbab74ecfbd6d6b2baf100fa92964dfda42f9bfbcb47ae4161d91a02204946f7da1891d0355906fa0cf2c69bee6477a3729af96c1cb50179156c7d78147ff2efd0124e908c12657528b18b8b350009e0a3de394fd5d6c2aea178abe1927cbe1743af720cffd83033dc3f4b53f8abe24e1ba60b640fffc4f80991e73061fa9a0dc0ef22777c238097a1975a0e464dfc55476132b99d425d0da8e41e6c39a66c119b0e84de0f31fb58ecd192e3ea15973c07732a9ec5ae2260ce32d618257b76e520b1e040363b9dcf431d6cd27197208bebf2fcb3e08fbc4ec7ce1d79bbcf84d1199f0302889c4f0b84160a6c392a8105ca80c8ce46ff76e5871131c7905e8f34e19175d514fc55f4476e18934d44ea2a1cd113816b598c5a00f144e0869df8af3700ca6992a3959a010aa25cf13fc48f4d443e7082efe09cc411dd8c8385e2a2f5b8a0f607a4cea0dac784e98846220c6feab7d5df794683c92dc4a0e8b7eb31602ae5bd2e691b6bd83505a5e6894b1f0345b727d979bb2cad83966739bd9f01c355ea0b1d7e30e142055777995cfdbeaef262a2f47546672909aceea093e57a3a4fd0727444d70b0b9c1c60000000000000000000710161d28333942","message_root":"0x4aaba086aa91109b634afb7b701ce053e8863165928cd37d6dd9dd0c8f5e9098","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8456c3068a302b754ae74a71e12debe7177848afa9100fdcbe0ba2eb0278b6bb0e76c2114e9800f38d508e95ba8bb116ca1e190a0a1c2cc368442e9802e0689ebddf079beb5e6d99974b34ce10c3157694217c549825dfda4576f5df1353a9bfec7b2ae015d4724a3d66a3c081d6ee29ab9069005aae595c5db4f7e308a756e7c14147c7679eb83f85e1e9e8591dfa6e5c0db17bb598a42c17ca5b4831d99646bdf13de10cf3f88af5c1a96e834b9c257a1e59e6617937323581889d5cc9c4387565c423dde73234efa061b4cf690e8c5c261242958ca4a44d9bb54b7440ba4440bdd1d44827e99f54d5bd92f3040a2872999df4c2bd973cb2ce52ed38a22bcffebbb782c57a1ebcd8f446ddfb24371396336e662afd54d9616dc88c2c6248d61e0b02fd0fd931905dd798f002bd8f8c568b48dba361cf628609cb1e2174f6230efd88bc4a670570bb9f863b8e8ff496bcdd34b87e4866f03aace60bff64fc9d058022a72bfb8e630f6d29948058631fec34b494f14f127da57d4d4b0b133bc60d157872c1e2bf0b91ed1da1a42f104a3c113bcbce0a41f2c3521ecc92d2b91cb304b83ce07242d7ccfa1a7120cefe0bffd25c3fa6e48dfba0cefeb18be7b97b0164b598bd307a108606d08675b1ee0dded0d80bba7dc75a6ba710700c8c84e2223aaf470e7f8b6c4726d02c91679019bec4dafa596c6e4eb09cff72e2c5f869cb4d3a0944d35d649ae8c2d9625cacb6f31b719e7250e52bc35f3fa3952bceb036613982481584fffbe745104b7ee14bca823ba4b8c61e047edc2eb9c4818716a02de03a00fce53b585a3dba28939159362e89a7e0366feb5259081ce2921ec383388ce17e6fd7449acd26439f2f293a46244e433e5dc61c1affe31e23b8ad6eb7463b6c65d04d2db36d7f07d360417bc0cd4171799c26d613a6f6f8ce726abc879e86cb192b931a05b2d3a7ab1c616e3ab309d4dc7acc100a3ed5cc16569674726d67b0492a1c81deb20f6e1184d847868b36c5c230f59a350cf4c1ff7e8f7bffe2c5a10e01a10be75a5610bb616991b1c22e01330e06dc6aaf2fee06ef5cc332560d60b4cb25b8f7b6dc76a88772d77fcf609c5d2949b4f0b48cea3931025ba9e7c320b2d08c188654deaddf76a7a28198a56a87fda3285fd882503606805401f744f76d96da4d5154fd1290e2204b466d2e33401ffde1dc62db961e631b6074ab8ab8f38fcbe1a4c68661bccbb2b964a0cc5cd81c821158d5ef6fc6674418dfa9ddc68be4d065fb941933a415f24081f861c907c455f451437a6486ad00ae0997a558fbfbb15e523cbceeec0566baa56a2f5ae762a5c1ab550ed46c3f201f7e4da864747d3ac2d049d012be1a0860c32819b80e316ac5156973f6ad72cd4b9dd2f2968f99392abfc674c40f9d2ff3d386817f7f8466a7557ac2cf30783bf5f44461831e3c5295fb87aa99c23e253372aa0dffa7eb33dd561f2237701f5034762797d2bbc48a701a8e53bd9ec721ee51658ae16b8bb7865e610adf723df728af6fc5392243c2e250a5b3c31b8e1cc141e66fc565fa5380f27bf08cafab7a2942675fc504caac893b22740ff141dee9b45fa1c544dee4ac65401ceedf0aa212309cc71a7ad4b3422e13ce12cc49764cd7c20dbf42a717a54b455d58d7c49903e2b7877507a3eb6614dfbd4ccd87d017bea2567a81055930b888a4b9cd25079d927aeb8180565ae3a4608a6636f1ca239aad81a5e3934e11204008006f66ca06bbb99ab0749b70448219aa3dab5221b28dbb1fa8bfb9988b9248d39e68e7b7697e9bddd22781600847ec4750f735c43ea71c20535e23ec9356bf54e89315cf4c401c99bd9dddcf09fe105bd0bd377f8f04f32e6c1631de03a827a00834bd78a9a129f76a705ff65e7ab6ab7f92706dca12ea01880d2a37904b714496f61b948310056b3dec04c528bd480066487f24034d01cf4082fc752c150818ff7b919acc7b881516f76538c740a80fa54e8a713f186ef803da58d25051ddddc78d5e44b8541c21bc2153a68d94d583cda389c8b240219bc4c6bbe332797b2507e1268215b34047b0a37a69c383be16c17c65910e5f59617a231a1943fe32f7ef06c3d19469010189ce6e2860fadc9640008c07bab4804321f8eeff08731dff1a78e7a23308b7b2736ce2990719d3446480f5108dd66c12bf9e165dbde4878a9f9cf9a463b36273f95462c2f1182fdac2a99a03fb8417164c4196133423af55938542bd4347c15ae4b0fd0f99267e6b9d55eed0ebb86290eeb40d968519d32fe1b0d2296282e774e9571ec5f20f6b8ca6151de3429df0284dab860c06029a6386d4a16508a894b484d54bdc01ffd8d60725dfd80b8125212948746a20482f8db83168274274269a6ef713f3202639b02b6aacf3fc4f1748b8185403cb61b6b4a61166456471c0c998985d06a5bb628c666848c2d39194c5d1a0387c6e20c6f2c439c0caa91f48d5d242ded755665803752b1d836227f43b4cd9dd9105172bb20f017041107dd5a02a231f7b04b324d52d057efedda579739177484d45c2434721fb50c47190216f80225195189f46f0d5fbaadebaa25d8f0b3d8930826e67043d1a4739594259f515339003f5e87b3c912bc4f2300f2b38a7d9cc95315bf4e79a54fc8c3bf8e2440ea477079074efba268878cae7349811d3e53ba01e56f82cfafed3241638f3e0969cf42b13adfcea0f2e459237efa3df787e3ec499745e214f14776f8a9dcb705cdcb43c5e00a53858b0966c5e61485fbd0012a46ab5242a49c662ba5ce2b379745dd258c400b52c10b67518719ac93449141840c2e9bec0c2f6aba7be5c35f9ced6f3e00bd8f6bdc58d7e3fb188be2d10ff996eaab1d42a1083ecf6383789e17afa6d7b67ce9413ba98ca7a4f707ed9bb46469a43c143fd179ce5a6b572f55e11a86843343bcaaed5165193bfa9b571b0610dcc72f862c17c452bd21ab9ce82a6578ebe7ea98e5630f7f42d595baf405a82d8d3001cf0f7a0b92dab77cb90767d5f7d35ff07187b9ae27c90f03e76c0a37a1d57d35a24ee1ad8e21f3a8c1157e74ed083c4da105869073089d4baacbf04657d3cb0a37a8f50d0052fcd6fc22d370159b3770f7bfeb518f6761a1a7ad0f170799ecb366acf846c24d3f452fc945df5d8a85664a9de04dd75568822d93f6279aade9b5329042641c0aa49aaddaf2c88e5ee6ea780196564b2b6905931c3daa22cdeda836a26651d2081367b104c499722c587a816303e692ce2add66da60ec3dbc05186552a4f5c517769eeaed2d503da5152cc1d0c5f7504b1aff0df8da0a91ecc3ad3e78d5609fcfac4ef81708ddc677a3c541405ffbd2fdbcde11c30779ded4802257eaf6367d7e6ca98a27dfe527eb4a3b647542d386f839f7f4efc9367233ccb054a1b6620243b2d672d5b86c57c2013a3e5114c7977c18e9e0cbd6628ae845571dacaab525ef7c0270623eaf54a3a6f6a7799a41a84bc9c9a2bb5bd6ef7f8d339c965ccd99ebf128ced17b23fa439d9039fc3283685690e23075ea2b1c9495ec0e3fbea8826e3fc3b823cf7ca0dbbeb6117ad42f05023446aba925c14bb0b71bcf5d3dc8d893640b4d950382b2617dd6c3fd8b73ca2ac4a7a4c2c5dd208696388f60edab05073fe","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x8a882fabe5c6a84c8eca6f56ba91d9edbd7d76ae0462bfeb85b1c7dc21959eef","signature":"0xac4c6900889994fd883dff1961d438cdc1760ea8a3f18d1a98bc1f57861b4d3625b2cd3355c20c09fd30cc83f4b6b16e2b92d89109965b8262c3277d8ae89a2d8540ce838d861eee6367d02780680fd500494878276d8bf94f4769f60ab1e5a39ec77f7cb58a3e152d61eca296ce2ebefd8dc96346384ef54a81cd48884e52d11006394f076b2c4c0e9241832e47fab480ed73742c604596c9b0a8712c7789f733f138a3fd6e3cbe5c52e8b29665b8e275f0d7ee1e13e031175f3207e11b3872f798ba77b732521c4afa4524a4024627b5059285d86c644dc9246d3487c6fce66a4b6f1ad96dbf6e957c8b83913d9e0fbf004cd7c25f10ea975f3f7129d835a300d18fc1d71f1f97388300e0bc7abcbde3e801f0bc44dc423db9f82b8fcdfc5387517fc19baa008cb3a2ee90ec481cf216494b0527590702f99bbf0198cbc8a1c087f9c0a8b94a8a03e9da3699d40f4f5f4e9f06c2c955e48f3e26ca116c7f33f3e64cb095458d8185451fbb00513cbeb3b121976ab796677f1a48fcc081f45414bc5da87ed054d53efd2742472f53a99f4b040ddb6b5f4779b72233cc92700b544e7874d600f2a4fc9ceaf0608d65e84dcafbd7d1f2af8b281c96e3637183f1396fd7abfd3d49589e660a1beb2960ee44a17c72e9beac5de11abc7390ac346fa54ee696e1d7b0cb747588de676eccc77285231b4db3cdd515dbdb26df834ed0f33b052399ed9e56662328779b5af3cee8b488911a8ff0e022f0a735b604213e2f1c53a2e372b6a04338bbc2d32e5601d040cd04ac7c7fa8c9709a39bddb8ed30d11563cea60b235c96aedbe24cb3bafffb65c10e47e4a039ed7282b11e67c563a872587846d1cd7453d86e76f78f389574b069e5caf1865640c58b55de5348ff0a6de41cd58f79a8a12ea377c25503d256d35ecf65e2c2c04bcba1135d1d1a1ef121faf4107125c4b41887828eca705e1dd2ed83c2c40c1fe817254a4a5d4f849406161eb31d172906d7e48cfc8a7fded9738631b69d963f70c8206ab86076ca8cc86e4952b053ae766ae699833d87f390a87613ac462db23bf18d45fafd510e915f053d91b5d20b3cb002b3c08cbae5bd6b17efd5de8507ade51107426e6d4c79cd96a1d0958b73bacad6c01d447a012744586020d6ab446dc06a4d12952588d02c113b9bf12f0194507feb510fe92b4bae708f1da5ba4a1b6906f48698bfb9726b9bde303dac8fafc2df84aafaaff1fb81ec58f127875412301894dca936b478369df91af2604ecc0db01a00c99a2202e17402359c9ffd07a7e5324d4a87a54d23c2ed4725c7e8a07e40717c93081419e7f6e202689dc4b42bda89a052ca5433dc39d2b22881969817ebdf97ec8035c74ed505a33136c01666bab42a283fd72062cd8934dc57c80bb5da280ada0e326417818a52afa199f4f0522e18e8158d8a5f1573de7d85d26b9ba47ec4ee1bd60c5e4d221d7263c9fa563a77ad9d1ab41e6c398ae63f4298411a22489980036826e3d36bddf26ba7d4b758c7816bf8d10c8eb3e9995e0684eb498f8629f4bb516923f6b37f77c3d65d334eda62dde88b08cc658fb4fba710c0509f3dd70aa4b199167d5230281a15ff487069edc1ce0f9173ccbe989de51c21925b34e9de9181e7f5564301c5678cf8d69491aed7720d325d64c698094136034390941f7a7cbc199fc4973a449716bda3044c343fbbbd1bb3107fedfc40ca8348daaaae3b6c1546d502ffa6061fec44b911b90edcd6fb202734b9fb5a598524c7a9805d76a3df17d468eace257fc8dc371478a0aff4726ac145c32d204c6e1879df16bd69b8913fbf01d051369a64213a3fce18d32dcc7b766ca60986f71cf7f98db558653afb81c8cc86efcf18a2e9b9ccfcb0e619286d4ebc54cbe662efee7b29f1f9a55fa1ef0868b82f7493d63b9760fa509f98fc5482ad91ed2b465c863cb10634f9233c4364cb9671aa3868533302053844b117de106b49d8d7dce1ac48cdddfc332bee79ddbab272196e88b4f4573031eee9cd015d88c6af2a02b6379bc77256c64580d02abce08818ecc1b3d5988c0b3604478c25c48b540ac2045dc59d7c01e5f9646ea4d9d8b09b90cef4601529776c0288708b46b70b2e6a97702b352a1c75553c95d8ec494e1abddd8c827d581115052290ff45aa2208fe6702fe7e117cebb24733de23bd3065e972da95a89554e31e0b758568f1b5f5c467f7b107252ea3f707ca142bcdc5b52278f287e60db54da5bdd2173d621f6820753d8895475117166179c98c272c959241861845fef7a7cebdf47968af654b447ab69fa4fff06b1c02b08c5b783551f99fe4b4d6c6bb6fb89dbea3e879ab088a27229ea4f92661c51c3b1ad9bbf09ea307715f6ea4e00913649dd28a46456931b154e52cf15d20f0053fa977fd3f9de783a9a48ab3276bc35c32275bcfba21073a0caef051b6666bf87d1b70b83e01c9380eba0750d5fc7c4fce4dd4760a2b476554081e0f281ad419d20834e60db3f489ddd42d6cda9d821d01c6e48a6f81e17f88d1dcd0a46366de292dec7a6eda507f3d24675582619dc5d507c06f80b5c2a8156d5cbfadaec0776b58844fbf8a297b70dbbbaa43d77a98155644713c23ce8223a7f1db83e26bd52c5f559fa5b4cb40e13023dbb4c9006a6adaf45b8ecbcd0649fc51819f73108b03e8f262054757621ab71311c9740271193764fff5218ad9728d25f156ba5bd8b9159cc3cc2be1dc819ef0148e066b66b44c496e15610d725a13eae34520c295c3e1121418187f001be4b7ddb771d37f38d8105668cc05dc96264cacf026a3594c31852bd52479b18e054e6011f7b6445c5fc342fb231c13b6f1bbedd47c19ed1e42f7610311b4744b45acededc85190d6dd44c5ed0f0a1ef70d3d1e386a963b006c5700e7d09b36fc2ce49b7f60d776465f3e500df359cbc03f82557d4499f7f3e79dad4fb12379a74dab1fc0881caf09f6981585c8cf14f72d920b5aba22903e378d670a30e37f4fca27fcf5a8fdb2f776602c0be54ea298084b4d23ee2eca290004f1629a8e2808508db6770aa55babbd144d3d702c9fd412495b37f78f89518bd2d0385738af4cd8b1e7f6c93b5bd3fee8aea4096234e273f6b0cc9d3601718f162b691b01ed70482df97f15b2c2a2d31775f2a81d200b9ebb6602d0da1c6cdceb1037cc2475e33fb1569f6b64b9d03a7ab16a3f5ff69d5e51e1b17e6fbce9875755c332cb07b6248654d1bf0d6dabb034886abaeda650b7a641d1daa1eae498f1b446a87ee46f2c398b181b3a202b58bcb72cab61023ff9ab66aed1052a22cc9cd4a8fd8f858045523dc6ce1120e3f927aa204d025c3cb67201296c4b3b99b1611929100ad5b22619a32d03621c027a75dbdcad67049e8f93331d3a4187cfece1a3de1309c5bd86969554955b786ef44ccaa52a551722bb87f997ac65bd12df20df3186d8062e288aeaa45b7895b7b1c1c1eeb239953ebb280f8b6791b2ef1199d73da4c7950c7dca8e1795f521e705b3121f1647953ffa510449b0915b14e1f07917142945056d9568087421b7cb5cfc4ca692b07af8ed80a509e6a36ab3b2db1800fef650c68ece0fc1fda436e4cf430466ca6c449ebaea5310e8181b6675609e5085a12f0da687b7614cf08c7d3fccfd1f0a690c9810fbfebb47a166bec0930d370fc5b0b236f6b3864831c9305cdf18d90d0a0d301fd8a0509ec1a4a38d52b0a224f810c17c8dacbebec33aeeb77f32dc3e6eece8a6dd29158d70305ddf9b6bcdbeb42c2c3c2a6972f35208353d44b088c4f7e9aaf9bf3964b4e1cfaa6c0a86a944e5d200231be3d179dd92ef593e0642a28a629c5abec385bebfa126d10832926298b915113dc1453d90ebd3f894ec388db65e1fc22bdb944438fc2aeceb34c596fe4faa6a4f8e46771cd511d692009e6c93520c1121d2a57b0add7309bb1b3799618553877324db72832c096a4167ff718637fdbc6f3665b6018667045f2f9340689bf47a41c94cff1ee15ab5badf93e5835fc8b29fa7a3c589860919b38b9e41f2387a61ec504dd8f45ed5070575f640096aee2ec01b62307493a9a1802340fee5aca01c4b77f7eddfdc8d4bf66f35376cd8981d59d49142ef711aa50369c40de3b8c52e07da5c1b57e1ccc5e99ee66fb9cc70afec9078db6bbcfd27e7732ac9b05ddfe82e83ea146c57344072464a9b95db95ed3ec30d679d91b7b508abb503a79d0018a0040656107d699cd58297b0a61ecc1bbebdc48749c48a9748888796e9e4e87708682edaae43744c74e9502f4c0dfb517ce656ce3689539748c1cb2427d6b54b38611bcb7825561928ff2c94acd92b003c3bf4876f00221f25246c37d57cc2bc4730b4d0cbf28eb3fc195f8506fce8bb539824aeeb4a5a4fb1b8e5ecc96accf33552dfd3f09d9002c659eda2ef863ce493fba168e4f8ff2a7e51a1d83fd6219d0e663e7caf44a0e3273865e8428549b528f1249b753b79b73fb52059cd5e777e98a19ae94b9675af7617feb0470ff05a46d723aae1f22727552321a40c652cd05820c40bbeb89080399f59ee222d0d0d291fe6b7641ef8d3e75694e70d065bcfaf6fdbdc52244867f30f52b69af88dbdf1f527373ae68478016d649c5b9d2f6fff3f71b9ae8b4d6aa663a17d39450a04a5136906fe4bcfdfe019e9844e69eff4fcff8e80cc7925a2b7ad64b9582af98d45149f5104fb5a8ec694de0b1343f7643bb225edc71cd6648257a0cbad759d4cc02bc2de98df73ea508778530cd79028f2352af3b12ffe699354627c407fc3d438bb838f84db249be87ad35b85d8bd6c974b0429e9199fca05e9e31c55ebeb98707ce7074bf8dc398f231023e31a52c46f0bd6d697546664e32a704d2795f94c6950fea8190ac4c941c6291efe91839db66ebba881b713494fd4ab6d8001325894c95e9e79ae03473bfbb21c2c1305146917c9188b62161b33c30cf2364cd62fa1d5471d112ee6207d9b77151c699e212fc1b7a73891117263df8b8544cefc264390f84621e72286bb6d5d9d029be1ee0b064324877fe865f6606ece61ce31ec74eed521f4543cf9df22321065dea225c377fb861720047ed261d4cd61d77692e6902ffaa1785911af15beb8f4c3fab150a7c007c132a9564a632581e984c19e9beb38f3b1a5e452daf9b1853269b148ce510392a1e28aca91c56feb05193ec224d08f224a6fdcb60399e097611f3a73c5df7d3bd49a530e55293d91859e08feb5804a8bee00842350ed97b1afab843795c487d168a709e105486a828eff7c53a6bbbaf3b4fc66f3bda9ff7b01d82d6d8ab438480a07fabe72ed24c4703ce58e10d6473806299651b5b6d49c8888fa9b94cb963a504a347be41be0dc22a2a988de127321f9413f0d41bc558ca10ab8b37d5dc9d77dd7f2722a17de721cb91efceffbd6a517455454754bb659c389f40459bea31cdb37777ff5b914fa7a2e6feff618cf89740818536068bc2d2c81ab9bc47259ba9eac39810f9cfc2cbaae13dc9f04bea29f8a7db0ead4ddaae661d08e3b90881243d3558b8fbbc9a1774695b8c6ed2dfc45a3ce9d62fe1b8be70b69af86abb750a5b756f82f02078a0b79ad9a5ddb1a06c854cb1bf5e4f0d851504f606aa122227f9f49c68d15e49052408399671b1fc28687806353066df4f11a95c34f2bd72ada5a5818920ae178c7e024bf9565f91c1f012b746f67bcdcf72e8f701f8469a42aaedd09c83b52e625368e421dd55e7d6a047b18d4bedb78affe56600fae79a159d230889fcbef089d263a26184c5f63d8b6d12a3e8a0224a07760397bfa1b35753406959636944ffb3537b4dfd21ee0d3ea4b2e3616e9d254fc1778a2a9264885d7cf9aa08c0376a9fc3c79acf8b4b03712ced15faa0599540a7e8f6e91a1916407aec53c9199ff4852c9a3d9ff452901e2110bcbbf74ce2c877e6469e2756764564e6d4ef11ab37f350646f4a89bc6fbfc5035957e38f8a42f305afbbc200c15ecae76595c04c48eabe7699c55ba6a0ebb1bf04653047888a9c8d65b048555243d9712a23b048e74776b185b095d291013fd28b45289ad22027a66d7cb1a8e210deafeb7ed98014ac23a7aad5c612ca92edb768bc01120d605e4db90a08d26f0640b4c3a4c0ffbbff19bd9d3fe71cafd01c322f3c1d55f5f74879c59c7177cc7039f499ddbd0b9b3e11d05993d571ffd66601ac52069840b57a3f638bf650766a0acc5353f98325a326ecbba44d3e0478985736492f56b6256873239b1d30076f337165d6c1486b893e57fe2a07d7fd32b64dc56f2937bf76c47938c3fa549d4986e7272c78b78739718cbfcce2db8aa082d47cfd725fb756519665c9d513e8dcf8c6591378f0773d168526597f6a14f3b7f8c17239e7e123a67c695a571b9c8f8336388f93df0660808283d4e53a4e678f9fa8d70715353a5d898b8de3fb0a24505b72cc467374848891b4c9da084a6c71870000000000000000000000000000000000000000000000000001060d141e242d32","message_root":"0x38b0bd024e88b1f64a8bed326244b7d22a62b40dc175e7d5eaaf5630380070c0","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe41c368f5f0b48af8edf80cd36d71fe13647bede157405fb01147a2a351152610f5f625b91b74bac4ba8ead02d55986fd4ecc3f1ba950c64a8829284f22a308a9edcd68d609d7b666168aa30cf49d6342d05ed0c37b937c822bc66dd677c19d8e4e1de8be09d150cf1f7261beb866d0fa25ffad684346efa637ba6ddb2f6c980e7fe6148021444bccb8103c35e79f1110f57c429443f5dfdb4a50f53c08f48ea6f8940e24e15cac09f1afa4b2ced54058cecce8e4808597db2bf4eafa2515a66c95464c050041f872fd08b206c357e10d8221509ac5b31c814471eb57fd31f672f0fad1fbee65a692bf28634faa0548d60288f4836606627347f24aa73488c616054e8aa127b3d6acc94c7c72e818b9b7d89c48ab551776170564f15af048d4c79261c89041c0dddd992cd0cdbe92c65abed8f9d70b5275b8f5433f056e906701e3d42f8d1cd92178855e1fc0a1e2641608a6768176a3e931fe77e850b816a92e063137e6365d4ff703c3060af8fb9776e542b9519159f9179e06fb600056aea27835d95508e0891c83668d6ecf94024c9f84fa6271c70b5a7d72c92e988f91e8be9020787dea94709b4f4e71661c09a2687bb15495f491904d47bae025b10706eeb8ce763d79847cb33b161f56f5e17db33300ba83807a814d98eb68b938227f9d32de9d2dac9a1c52af06465f9dd2a7e75a67402f1eb403f6be902044a854a64aceea883b9af87afd5471f2379669b8061f21c9fbc80dbaf28c37c8898f52fef624d394a17f70ea0c9b861eb789e1fcba1692977e102fc8bc1c908c7844486576a611b291f8a68dc276463618fed6452828da3ae15be2c4dfc2fde2b5dea2686517d3ebdeb57c6c3fdf711b475102c5a69cdd4d80153ecceb94ad5f55b95d5e2512a360a94bf558c7951eb32a93c81109c3e21ff167fd0c9de1fc488f9f2a0321a5fb91105130b9285b60072ab6c48b873137480c8b51fca39fe9bdd3bd4cbe5f0f230acd9bd132afd4630fefc116ce94d1453097fae5ad483e8f45865c5b2677a095a5407faa4f7eb7abd75490b1380a033b4e3a240fdaa7308b37ed9cd487df08d4eed504ba3265d291640a9bda0a24dfd176c6277f100eb35f3aa1feedb686c66f997d79354225e6ac0423f9fa2794acca9ea512b38ac5028d28b580c1f8ec58c2edaa812584fc8eea51d629c2af2361545703be6af94176487e06b660cdda81299b0716368ccb2d186067beee33f2abd8fed1a9958d380e199142aa921065e50e34ea3ec14ae974e906e007a8dadf6db3e9b6a820c2512f320764a4c235b15bf0409de0358446a4f37c8bfbfa2f3ab85fe8f05b34af7763e14990c2f4ab31d30bbb9b9fdc3c945e95212e7a8b3f869ed38d6cb1010c0f7ddb8dc63546b426f85800208bbbe0a6568a642f83c45006eade8cf7703cecc379aaa11ecfd50faab2f4d0df69255b477c4c4882108208a9d77a6dd30b9cc966592beb60d5475aa67d0b3af8dccde3dabea0aada6f6b525e70d63f490c4510900d432cc2ac7f3aa0d99ad9a97f3e3f2907681f2c7fd2b87de768f4ed9a4254e84acd3f98c6a1bec6c04eb71dd6beef7081ae56c7f44bc661b76eef8d2299f223fb29c52e9e9223dc66342105257f8c14d08de5a447e4b540920e09ccd51284331b23682c0957dd9b4cd83201dceb57dbba72c04fb773dbe240fd9176cec4ec5ebbcf078a01a6fe8de1d99cb9825053c44465537df60d95b328fec932d096c23e39f803d12ccd000da260396fde6971f79c721c7d6d3da041a8649b37e1c761f7e48970b3dcce0516c7c740a0f3c4cd8ae00861a2a0407c21e28c38d6d8d77a1b7a3442be200b959cac19b799fda9f58b10c239986d1d92f6ac2149aa6810240ca29b51ad15d8e2ea2abe8a3d213cce23ee7137ca0078bf50cb9a6e1bd2b092f749f86826c67a2643bcc9a93e41513cdcfe10110b2e3f6274c185b573c1910039cba090474e5e01004f4198235fe18a641ecc914c462a9145f9337626193010a57611415ddf4cb424c9b3b83011bb8b2ab45acae7625d59db9dc586f434e87c64bb9f281cb7bd02631c3d4f6baf39b0e6bdaa384fe4d2d6835b3fecd133040c21d494d58f2fb8e4ebc6dc167f6a1cdce50cf113662558aa63012b6b64afd64ea6e34e54003ca5d50793c13a83b43ab2b806532d411836774f3acf1f75389ad8c016c1a05573a5c0f004f193a1c0cef2138b2fba894fdab093aae7962960f01be55dc64d10d242e9563c590fb61730c3d23ef26be91794ca7b9fe2194c21b17253d1669d527699fd92eeb2a93b6230e1292a15dd226339a98ec8d57d5b1362cb359a0df00fe6b0dec0cd0933d2c7d6d87a1ac65b02bb0b8cafd82c9433dc0e9ed8d1c08763b74513ca24e4dce89b35214bce99ff12d1c7af03439660e2266e1b7002bb79b6d7fc3acf9ea541cf8ce950f4f9d30f658135abb50f77b643b1124aaf915ff5a838893a385211daa070c06093d601e7518cec5f8cf296a80b290f103b89ab810ea83a01533b3f88135ed20ef1ef140bba0557a7d181b5163719c77ed863276ce978509a9387fdba0b326bea071055bb9e1f2d698ca7822aca75aa0aeaa5b63bd70e485c718514d361fd8b180f0fb1f9fd7bcfdf40a313f521cb77ad7bba809bb606822afd19b978db087cde62b628f9eb9e5a4b4ef695645f574b3f51951698f73e788a529e75e3f11c0b0c5dfd3861df2d26c97e6eeb15d861c5968b6ec20a3f9b208e0955d0b1a54915077a612f7ce13a48bafe1de938850732be432c11ff3973ab86ae3ee7cfffae9011dee3a26cf9b9164edc7d1ec205ca98f2889c80eaa2faf3970b9987f9b29dba0e3c25b99c944180a920d0218c201180773cd2b92952285df774fca5289c0f9aafbacded1ad96f968db948fb2961ba0192bd82457ddf432a5a4e8e1b064ade32abbd58a53b85a3defc6b3a7d81e4381bc2c10ef164015e750f051e34eccd9819e4efcfad7f7ac6baec25b0e1475cfe787980e16509510c3f3604d54162687b4b452b20ead28b8aa3b7c2d5700cbbffe5a16cfc9f2c8d8c3349149f27606029756ef22d51c5bb5d5f1f9b573a1e2891c43c75e84dffc8bcd2c245115307ec5d79d201ff2502be38af732c18a02ddf7d56ebe2df4ec6bbf248a42436e30ab428b2ded8a933308ec783779d0c0c4c6231d9340faf8e1d9b9bf10af211cad9071f5d33bae311402483a0c022a7b1d97470171750e714cbd7c50f5191557216654b5022fe25b226c9741a6078595da8dcbd1fd68720f5d3c964adfb64f4d07bff5568b96ecf5276e63dd974199aabca6ea046167034adb62bcf71e5754b1d5056a2e6a0321af43824f6c935cf695f3a85a514e999f018393144f26fe343d7af1995219e7c60d71413bae1ebaa132219877252763401b08de2cfa4a1a40e0c372ab996f7b51c8c3240e407ed99f8e75ca622332ec5eabfe5b4b19af521ff8ba674dcff59e5ea2b0b403100f6ab3dad0adc9af7748594c82b6b5b23a6c6fe967fa4c418295d6a6bc9fdd77eb7c8004a574220fc7dc3757ffaad1fa96d703f7bb047815faf7c76feae954a792cc276e5737e7eb889129d44807e85d25de7ca77e6e1c8cd988c868a08c022529ca11c98ca4803e4413436af2a6cf575c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf1c01c42eec6198085d263a77578492ecb6270406a6c49cb6bcd10461ab6f190","signature":"0xf32e85ccb83a8879527ef0723252cb2d6275dc2caf83332efc99cc29225f80389f3228be5b2d10b882feeb1fa8f99119eee509fff2e6538865367a46c6c697ba04f27ec23118259839c79cf5fac797476aee0bb2db4bd5476c698f4c690c68815f21e82e44f8f250bb237ca22c8c05cd338dde33ee640f2eda2f87b4b7c68b33d91c9c3db7d0c0fbfc0c1169034068cc24d6a917995fe4de84e017cda87c2ddbe6125fb6d2c59c612c0c04e956eea0ad7814528104f2ce45de856b76ea2af8039a68bc8a1d1da23a9454ad6b7d024fe0b08c5af4d60a97df89d9967a783c2362d62c7984bb2e661bd84d723cc7e7fbfcaca3bfb1f483665e476e0c83416787b120c3f6aa4f679064d497019749cb0e541358a1516adbf62f8481973d008677e99418f88b597d02f8b83297cd6078fcaef697629f48fc876b122f2b3daf8e870c5f3b5cf6019a56831bb7c549c3f5dcafbd4405bab7adb40adad013aa02edf74fd59ad4267d82c2541c9ee4ed4a6890265e997036b2d7656d56b92d1a2860bb7100f5a832dc4c8646f0b114ec7e0f8242a4c0ce1f3212c9eeb5e81f5e9bfb1954ab2f8d61badfcef3a96b160759fbb5a128309464ef45a01a6dd6ece1029bf0abe7e5750c3471c2f130406cfefd84ae4f9d7dd0c186bddfffdb3f9664699e7cacf783f9b0b208c457d7ecb5857c2e3e47301a85fe2810a56d46d43e24eb5fb21547503dd6921dae025ae6327f6f4cb085e03d3e05a4f09a94a9df480dec118032acd22a6f0bb55c0b4b5a34928815e2dad5fe582297be398dbe8e775ae84ebadab6b6021aea257d8910b370da199ae03866a34df5964e3b63a1100f8ffec328b2122fb72976695e37bec70b7f8ad03edd3ad4bd82e2c6c9eb5d934b090ad717513444ea973283ddedc6a9c388e7133b76b1c34230b4416183265b5596be3e6e61741b70ebd282084f92e59027958385f2a920897b062c78e8d0cb8797b7a99458525db0f119914507dc42e2130fe6c252fd11b99be136656656fed5d6f810e8bf6e1f95b0c4e6b68f0b50033d5867b0511d3f4590e7f05268621de669c4e507c09d1d599182ae050a1cff74bcc31e0a99c2c90917fd1152519824a7d82ee5a446a32f55fb6b8bf71c80c743ce321ece3c33cb1d471474c63f38f95a7125840f3bc331afe6495161acd094d42c340cb033386e41624fd35d3148918d68ed88b0f37c7fde90ad4ba236ee73aa152913f6aa7e08375b3bb6acece14bfe377e037022cb8d081f8b896ec104c15f6b9b66728e03681e779905ca33811861199f713bf46ffc0638c534fd8df31701ba9ba71d6e9a34a3f96b9eb98b4bac59cbca267f869e015873695244e011266e4eff5a32fd832f2cd3d3974cd587fe02f748c7e133251f4f11e4e3b1d672edb6f59d25df1487963641e3ccfe6a03d7c5d9939a4470841469bb2eec55a4b25d850b8ce4c19429f9f92b0077a2d8a3d9fd3348b22d26db5501f2577a21c4ec25d41060bedfbf9b03e79cb06ed4797dda815b0f06849ab9427aecd12500deb660d9f8c59ed132e5c81d99ce6c9482c71774dccdc1101c2c2e20cfe8167bece396295180652424a540bc51fc46ac7bac82dd9bbcf5cb8c3d5191f81663aa4fc8cd4e0a133adfeac0fbbeb4fbc12a5bec60bbde41d37ff817283adde5785074bf45e34e8142f541f4838359873def2e25d8c9148d9839d9f4cabce999f9049e5ff9d12756119dc8e44bc159ad6fe6ced86bd453e06050b0281d80beb52b5f4fa4009b1e6f557469e89d126c2bbd74e78cdd33f1863ea7734b77fd48b699c41b9fb319d7556fa81631aee1ee5023af043f8ca3c90ab7a2b2fd24d9f02ec44602b1c33afb37c25202a9713dd726cbe910b4b3108653508497e1f1092ef2a4068e16a1d9ffcb09727f105043cd280dce95d7bb5e81327f283a233d1387eee2a3fe425f669cc87aff2c04257b2d9d19d1d928f4c8c29b6ccc56259bdd864a71d0cacbba74c138f0fc479f17f0736520e0d62cce95f440276faf0085f1f47f0745ac2aaa3891593809ec63f8808c629cab94fbe4e2c800d9bfc57e920f883c50242f84b83f21629a8c552ebae001a65f120e92fb92b1927a9bc435fa70f7aeba8cd516387bf6cd17084ac8b547c956236c94f57c06bcea770b6d3883703db0086cb701ab83cbf5341617c5474e44989ae7059ae126485d443f67d0b6af034c631cc85808d98b09239a3d2967d0607e34123a1dc4ed7550a8ddbcbc41ff87eb14bd1bbedc24cc8a42ce545a5fecd652b33a9528380acf15ab8754d070af0cfa4fb28707168623d7105885bbab1fa8e7a4672634e6127e6a6e59c2fcf4fdb8f6c4d9b8820ea236d11c48ae5f94e21b9dbc40f223beb75646800f16c990f5af9a2804e33db649afe8bb90b6c194094385e079dc675b6f2480d374d04df82b37ee67f974c5156f1b2894fe08e18334567aed6979e76d5de3075fe291e23caf51703bc944624b4428bee2740c866e41696d5f21cc6cf89cf82d95c373d61f253189498920b1516ad2323524f495bc64831f23eb920c0d5dc46385fa5123ddf6d5156d05db2e1491bf48b3c53bda12baf1777c43421776ae7dc5088210aeadfa993e2c07b925640df85941c8d8a1c317bb89fddc906ea65f0ca1810685cafa54abb0d754e06a134130e59a646432939e7b6e7c11ad2bde0fa12c785d2db739bab571bdffc4a81c976e713f9e3b0558fd3b16cb1fd3366592d1b6c459789bc8f3297adf2b72b1ae8fb477b9d1574b049522405c8247d59d84d5a66746514e4a0ca93d7bbf8420644671fd61c2de9157bb9e04786dace7012ad10be787455094412107c55e490f2721651ccbe91e0ce63932fed78be3b106411a89bb623bd149cb6910b5a0019bec156a748fcce3be646f176124463379752a9b97fdd87e4d9f58234f20a295a6deaef4880d72d569580a077fd04ab610828d41d23272cbdeecff4d7ee0fda6e933aa5d40ac1383feae2ea9504afb682f6f5465589da42c435039c1523763caf05f26a1ba5a6359331795fd95a9728dbe935ebe8b865aba96596a9edca0a01a03461308365617c1df36eb818a6b86cb696c634e329bc67b7d2ff43938abdd90cdcb5f452be97deb7790619ebd4331e1483fa122d1e3121f9d6a576d6cbdfe86cfe8c7aba0f7f7bdeb9401fd6418153f78fe8d95513fb2eb791312b27b172923b0cf3f3f99b8c3151e845ff6fdbc0d454f837d223e6d957d6a131af0c6087632f498e70b637b7f5bae89e32e9b055390ce2c942b9edd3023a774e180d9712c9c7e015265a62bf7eb8b6303f7512fd57f144382facb0afcd63ae94acecb7fb4ccb3da3f0f6612844c681f6c2057e021bf8cba9810bc63823958890daf2df6a74073517c9e01a9573185ec12812b788f340b4474b41365284727296da74718c2baa0bc74723163912f421937e299f037e0ddb263cf285263f25552734bd8d77b6c2ac164aefa017a239526ece7cc113611dd0cc30ef6205058d52525bb26e3da1742e818f4ef7602631dd081027d805a94b16af0916cdfbf5b7100bdb29a812dcf12369e94a3a66c33fe85b72c3f9ca301ffc6d666e0de9164c1d15efa288ff9de658077a259bfab0fa6d3e413ac65b1971b73f7d075f8bdde860d3fbe666cf9cd6de227b751c8055c88859983dbfbe3077fc82712333c563b9252534a59cb0e927ad6f6c3f3d06b0e93c72065bdaca6f09b2ce44ca5e160e77ca59592614a111ba81331f1a8cb450420bf4b93293fda114868a655f27798334f635a78374e677fd6a5c0bd8148d315b7ca5899ff82c4af198c172e233d0422037834d3afa72efeee99c8d87a080d346309714985637f873a81e8b450a38bdac12866b4a3fcce784044a01c80b083c7e23dc781a74964d2a4fecf78d0bd9520ae793613aae3a2bd4492cf1b90aaa4de2d82444aa5ca72cedf507c45219a9630113506ebea1a5f97d10042187cc40a0e68870548d497c2431a30043da94eed80c19e2fbace3288986ad8a4dfc8f1af632d018762e233c661af314862f6279720642b4f049edb171c307ec1dc22fb7782f7bd223951c1046a4d07f3d05a44caf57021af761a573425ea58f0f7f2382222f3e2a35d82831e278d76b08a47f5bfe5faf2c2b0ab8247d9369e584955fc2e11882ec20b64843891fc0a4fd1a3842d7b5bb2d72116d278a574969e362d120d36a450bdcbd607143db53f95c09e93640ae5ec8007754a3ab536885a9e6731566436165efea1d03c21baffb79ead475e5ecd05e161f2ad8b66df8206122d134ca4b0e4856766b9859037271761e957b23804da2d7e68482e4b2bb812f235cfd51eb2d7490b3ad7a69a41183ce0a29c3ad1eb2538c31f7bd69584eff5b342b0d9c95917fe6227adb5b74b6a4dc48254ddfe8f32a19174c2ea12b87ac3fc1dbb22e64d921a20eb715cb69d846c2fc207479b637fa770e97d4a90183465b420b1ab8c379c26230fc6770d1a023092480970e9bd4ac49c6ed6326f194dd20c7447884beb9a84670ccff12991c485acf9d96ebf3d03f8d69e513ba5251b2c39b668e2ee4deed50bde515e46c7921f736bc44b5501b00d428b4be660a86ad9401d4d79b1013e70378a521929c5a6ed697feafa4ed88b3b70c458427fd155e03726d710bb15e1da1334e599c79b874069fde52973b0a51667a36a00738c52fd7d846207f2e3a21d6c4c40a0afc30ff03430a2d6fb1795aad9133a2a99e3ceb6997add5e0ec4895b4f17cfad4db4009c2f0924273acb2f06260141680c6fa9444d757c63b721bed04d6e18720e88b20ead2bfe1d31be4872f0ba7e1ee6d9980d642800b663b427d741dd91809556582d1455feb1bca7b0bbb39eb85d6ca20567439f857c2b9c6033e1a29f3b156d52af80af98b8b6a19f85ccb2c757978b60c982c5631d4db9fa3031f870bc352d51b721426b2c0d4fdbbc1bec143836d4d3cd4c59492422b65f8b43444da694164ec22007f21b84321595e25826e034cee7aecf74790883f13f427e1b9baf45de76181dd3391a31d32e59e714c8d00826b71787779c6f11df8b785d573ee49daba94cb2d4c6d7db5cf82e9b768a46ee91d4d9826daa33af2143983319399b6bd4ca264387e619127c564971abdd3bf41b7f964218a9748c4dc5c81cfca74042e94d779d2f4c3e7c2ee1d4d930aa9195116ad9710e8e75c419ea19bcec441b00dcfd78ee8ba0a47733f7d825f7468ca8b2651404b7a60facfe19dce53ec85b57ec25687909dd98aa6528f9702629e79bd6fe308982ae6f43f4f63744c724b37f033c7aecca459099b70e34b0d4987e9df2a8e83ec594cc0038068a7e57a558f77a27f7a64e23ce548250d7eab30828f5f20e8bad16bd2bfbaf48b56c0f97b243bfd997fcd97ff9a798da936374140442de6cdd4b479e9bd157e7fec095f4cb8f12ec4b233b31757d414bcd12e4b22559d0dfdc9e4c16731e67667519a106ebfcac4e2021f637ff52a9b3fdee8ac64c591b6209777b2ea995a5df4e34a859cc7a457f22c3d4b7b5d63aa55321fc5041193a92849b8bfe144812abb63e5e8bca6d69fd90371424a802deb051566e7409f136a1aba15844fa7e75d9e8574ddfafd0327cfe5e146e66f58af2a80215ce2a82acd47b7620a4650ab4a86620b9b640eda25af49f03efe4632ede3fab067428eb68222aeccfcdca73a5bf38274478204ed1fe30a61c1b102f4bd4f125958394e07e95522958a2d06f76300a77e52292495c5ee8f77460eade5d3e7e242e37526a3fcdb45793883f03e8462d06de45566eb90237b896389722382c16f0617cb6481c03acafebd4e2d138eb51aaecca7b6924010b94c1e2644bc3b0b2cc4869080d237993d747439140e5113bb8f6163c72463cd6073b304811d565fd7881cb533eca95ac2e3f04dcad0cc2939f46d6c06642a0fc32c45f0a2390d66587457f65b051e17e9a0d83309958dc3dbdd44d55a9ab48117616107bf09c22c394fad141fd50f023fd8f6c2536650913a5ff051f8973411d4b90076f49d86e9e514f8a3fa8a898b400c13660cbfc07c3bb65b3d46c9dd2c9a374b3d5e983026e170363586a4155178c451591f8c9b902f093122d863b9cb88187ddef719d13fa35b2ec992f2a50a01d1488ae4ba815cd765367add2d5a8124e474c26ea52ccbdcdb886d31e6124e714f3763c82c3a7424131128ff2537fe46dd0fccad3ec5739291115b842c6d63c8d5df14f03fef1d9b160dd2d86dadb834e47b61f5a3b3c590d8601fa3deddab8d13abc4e02cc456597a9178bf4071c04df10d1c2551ae139cda80e1e159eab9406ec3479106e1537c30d9d0f5c2f8c2353b414c0711c34be3b6b72683bda1bd326ea17253d5753a54cc9ca699faacd30034c36cf692a4e5a6768727591e1f00f1b2d586d7276778591a5f3fafb0d292a6191c6c90f1d6b757884b2b6d7dcfc0811affb274f5a5fb7b9141f3d494b89c6011b5b6c7586b2f400000000000000000a181f2a2e343b43","message_root":"0x28ac4d9b3e5a0a10e03f890d0caf6dd5263126e3326e6f2ab695259515b19b00","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x022a1e115bde8852a469b9183661b5f807686b33c0a3c0f4905c7554cb2b767b690b86ffc339040614c3ea8068455220079e4abd25e678ee08686c040141939cd097627b4a5104dc075caae404be7d58f4ddeb8ac3fb68d7c4fd876c447ce0d13e5457e8051c262b5cf84392825e8e1e5b60460d55237f682cd57acc4e5e06fa2332d6842ee4796a0f27f39b2a02ea27374b3bf80d5fd48c18c535ece35a02a37b8838d468d813169f5065a4374c3eb531b0411ccdab6ef3d02be627391636523039e4b9f63f8472571cd5eabbe376aafeb58b013706fd197e1aa1b931f8fd78e727ce32821dc0faed89bf3b2264926d943668c4ee0bc9ece79e2471f183b74d7b6c893b1acaf629d08672b9083c50c466079ef4f522c61ccc28ebe5c47a6dcaaf7f679210339248258a00ad51aa1a6f22639f143dcced659b082ddbf9a3707db9c13cf700cc88be394d66d7b17b33d76385042cab1bb096f67c54cee6c2648964ba26127a34a8190f3ed5319929518d82555cbed3f041443efdc191dd038fe80c734c527b09f064b27aca07cf0a3e49d54b707d4b79daca90fcc1d630efc3a7fbb45d3bd241c2f9cb39a5aac2b70aecf7d7979487024d3571457b054c037a3ca9bf2712db73df4f7678a23ace36dea938d786610c42261dfb1a15a7061f404e9320f7d1a7efae58cd4be3425f1a042d1ecc69a492735a7610ef38fe57fe1c7ba003d20e29e0c4f4a91f11cf3a842108da77cf01536c67c6ca7d431856297a9f0b51270a7aa868ffff7ae66c74c06ac9e78cf44eb5fe4518cd325b1f0ee83a35910fd21500d3e7ea84b76f51990ad7754da4dff1d47c21536ee0c77b89e23b5995444bfecffc037e91fa6aeb20feb56d2f0e1a19acf5e8ed085cc71520e7712113e7a8806fb467448504d400b47f5849f705c6603a5500398a6dd29334c20aae29e0e90595f333ff134e94a9b726b6fe7c4e4f44066e7f09459de366e6fb2f051ba1b991ef07ee1543fe4614b3d493d623b31241eb4a7dc16c8b26a94fe17e9177fca010efc5f8cf5099f3420137333a5c8ec4609ced1cb4d148cb07f4d2cf20879cd0efbe4641e23ac85b70e11210fc9584312ba475adb5c33b5b7ba2fd30cf93d5f4a4e50a4900ba0398788ba264fed64d3c973d440633efac5629579d39a42f4ec49abf1288e4dff28fdb9572269af9d48c74c462355c2ab39700dbbd4d7a8efff605f9b096723fc8efe793bdf299aa445a43de1abc34d130c50ab26eed8d3cd17c3b160e3418edf9daf9191efc9caf2b84c6e2961d7a63f3111b6c6031cc21ecdd7959cb2481830ed6e9ae562387328b3d99b9852fbe04a0b9ee7dcae328fc660962f6ef64c50b6d9ea55947c02afe177a6d28fbc529787e2ec633842e94e525b2ad2c49f092a55a5dbcbd37a60b8328e87e7a04fb81697a0bd74d33c3dbb1314187e2775f678a693e5609ff9a404767c0e9ba66b74fc04c7d9709617ec2568086345333ae29e9eca227d12de13336afe25a7326806d063ba2713521e6ded8de38d25bc16c890cae6db18783911ba8628d3e47bb2f9a99c987f2eca27b63e3f41464aa6906ee0364e216e2665fc203244de5d425e5e78697a1c901af189115a65ea2a8af8b1a88353ebef430c6a8d92316e6be7ede9f5392d3415ea9e03190af14a28b402b18f42879cf99ed5d3e61aae46fa1906a0d7c0aad475eb0d9caa0a6a577f521f2c5d3e8b0411f5b2ae3f9f915272fdc7d4c13c8ae66048268d024591966e9abb15555de19c280f8e3dd664be3ac9b8d6570708a1a68f896f97017da27d1d659f7bd5185fdaca2eb083843c742eb860309e98699d3ddf40f9beaa69e1d177c9d7023b5042722e55fcabf6e7325b2d9b1c3c82ac689461a047e37fee539dca595ca314132bf8df10f161ac4ee546d439cd1c7a9e5e436482fc5dffcda7c91a6982f594d43d127aabcd4cf97da1c4c3308c099d83f31d342c34935d666f7ac85fc741567341675db85c0164d5946b47a78b1144cc8b42b1aea321bf8211443f32c53b6782e45d762901064c6b48e1eb6a9ee2faa9aca9af1e514bb66aae85ecf330ae059ddd146ee664b31c776fbbcfd52149be3ebcc4f21a715bcbee9f9ee1805b3a1997c68b23c9c247c114c1d38b734b61225642b4843ad248376dd44602368e243674740f1c9714ee75bf5d75b6f169a41d5a958ec5be793ffefc615785190a5e32c007770f1be60d9435837926d1169e9e1a0a70f136a3c8e31d205ada081fbe7c2eae09f779eea9638285b29b6142286f83ccf5783a7bdf0d7e5b84b95c07caab0635c632629653aad7dd50347fc8d3cbdfdd9047aebc1fb744950900fdd1bf2fe3b060e4f0390d213f715843f50215c6b1202edf358cb66bc27ecb8d60a523c9eb8fe0b8beb53345db84ab5283b90d7db08ca4fcced8d0756eb37c2c8091218fbfec0775c846d2f3e9eab318b58addfd57cf6ebd3e2b6b63f5e23a041a8002dfdf266b8251b380bf9e78b074a7a6732d55f8166ff58a700f67df7e64b428574fbc20f4a465e521c02344cc675c1103378568d4b3932e8c57bf1c8d04757cab86d72ac565158037ff2b352e731836a03603a491e10cf56715aa79a532807dc7102907f09335efa037333aae8835b2387111ada7b2dab78d789e217b14ae67c8b2994300aff1a873993d90f771b04da64942b35f27e953ba1e4cd4541e5018d3066ccff6e4ae01296bf579cab7b0ff5c985237f32b87cde40c3186cb1dbe13086c2f8dde7bbb35c033414858e37a994ac1f6255522c19dd925d44fd88f2d02dfb71a05632c6412b08d2d07f05d2053d5df04f6e0273a0114a93b6889e93047dba819017c8ee7ce0302cf6e304d37813cc231be46c9441c63ef983f9c3f81ff5786660d4606766254afff6a3ade708c76c5608ebc078b112d72e42166b2f8784b2b8ad101f9bef9109d410667b9227765a5c94fb5a1aa9cba6877b835898fbfb31c64aa5d101360b46ba0412fcd4217507a0a6f08e96d5f50b9e40474c936a0daae475403b7c87761503281cbdccf32be2a274527bf9665de16025eae4d3898ca0cfd773d426e446498d97598988a328cf007868adb3d0e5bff1212806f0202fe03ce2e67aa15839d8c26c8dde37f9f96ca762df36d405e35fa3f5a72d27ebe770e4772ab442f4f936bcef21d5f27d597b2e0d9e8596137a425830a792f3b3446de3ef1719589e7f7f5e5a976f27bbb39633faf8e30e6830593b834f0f2bbfd3daa82bdfb65a43877fed8d51ceff172b1c12e7f8e43524debc15324be71408770eb6fd46075d4e9bf03df301b34085f757f8b88d9e6da612d553f037a8e6689d792bf567d78002eea837753b4dccfd0d3b3176f373861f4ab90bef98d9c92040a696aac248b1349e51307b96064420bf22f31aeb81b22fbdeb3a0681ff8e3eff9111d8984167201a605296a2825ed28efdf91e692fe18171d0e7fe0106145b6d06a648417e90ba41d000ee5b00bca3d4c905cc309ee83633c3146dc2a96c4f4f89fa472cea7a7702c307dd9acaea35bd0707f1556dbce67bc63d15a5ca64e8bc532d1909d20035398e21341b9c909d36f91dede58492b3b2a60cebaf73f500c37ff9f6d931819931a2b330904f52e4b2cf2f1361fbf8442382","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x1a07fd3ea71a680032a9c8365ebbf1e7a74a3eb9496277cdac82ab9dad84d39b","signature":"0xf5008e0cbff7b516cd60a53411db69e9ed746d5adaedeebce4fe8f9fdafcfa6d87a9142a7865343a061c24682e9affb5c090aaa3a772c9c581815c135d454356cf45c34ed6b55765537b6de391919e8f80eba8cd81165d16fc78ed52c29f67d82441266fc64f59a44bb4422c8714650233e8b8dfefc4dfd13b3fb3e10f6fcdf2f47b2fb51e3b4eee0df48e830b06b5830450d9a412ed3e37f2de099a1aed47e987b67b342b885ad2d0715e46b9f947c9c39adc8a47d5ffd308331ab43121627f47602d3690a0ddea16c4c60fe7a0c59b2d45785c331f6ec5635e631dbb05cc18a05a3f607c80aa5d7ea53e4093d09066ffca78f7167b4c2aed9d75092dac48a3a6ad0cf1f581090c2d23606e3e52e538c4e51f09e2818a0f8bdcdefe02045dc8a32cba2c7e733876a3e5e1028ce80b265596d341fa18eacadb3ef891d27ecbc2890c61641396186ab766aaf7eb5ce89e450c68276cd0ba643e0552ca04fa49d8e14a4d58013c0f8a694de17561fad028cba468392d303c70d98102745815097a4855c1be5525bc4e25f24af73f2de34c71acb0985418d84f6c5727a956154165722af8160c06c1618296313a32d83369bd34afbbf38308537f0059f3ed63b8743e78d42f5af994069efa75ad714bbba18d47e3d4e0fccf8eee6250c410955934c70e098bb38e49cc10df724e7a9d8695ee5e3bf5c4dcc6c0926dcdae6290845741d188aa79a93ba9d5e04e915f4d21ff1f9c98819ea31ca5554c9ebec88b7e6abe753277204441f45bceebd00d6f511efd65704a6ba73d033734d2699468e6aa208efc14788403c04f1f5960545b3e4facb712d48c710d11be8ef84afb104fab4356613354045bf306c4f2c1aee93eb4f91db39d119d75664cc9482108200bb626e29911415ec317b822d4ba6faffb3766829a29e10bcd7dc8c91a45bb69ed3162e1158c6bd36b155438eb56e1dc39432fa2f66dc023ff5ce0c34a9e653376d821e6a1508214a3af12997bf501b4ad8861eca1d986905fb5b652fb8b0194c621780be490f013a9b7f678f2f478e3239f9f45798222a1f6d19ccffd7c3ae002bdb9dec25ce908ee2b1c3e10b9db2a61e65446e2fcce24c7c313c506ad5df27fb701109f53878339695ae630481b63ba0363f20b707f352482bbb65fe218e5fca782c25369ffa25801919bb4f8c87ba28193c5d0bf47c59852ec53612b2c20581f0733c7452e5aaa895a1590ad8e4723c31f02895c25853cfb0799b5a5b78deafcf221bfd3f6ad19b0e7c5bb47c8c24a49bfae4e37c3af2b3a025590b9f293e451fc738f793bb7416e6b80ffdcc48655430aa61063bf50c21f416f2c35ed57699a8217fb273a9664f187d7b1cbd45c3b7301e0ee5e1aa3d1810ee1a9e7c087cdc9fe202f702a16530813c2b80b3459d23ca80abb942a898a43eeed11603ac9d3f5e7d103d545c9e55f6c4e14117195a319500e25492c6515e00167f198a5bc817564661ba6ac0234ca542a85d37721a5b165c67e7514e84a4f9076f7cb4c82681cc14e6f7e69a6eb563e38a7ca33994695f2cc28bfb3a736745e9e975b3c3e5245d1163c2a0a8260196a078b2ef656cf5a1e0350cb97a5561be7cb3de2e35da4e9fc7e8dc23a61c38df9bbdfd8dc6839984c30373d521f737107a4a29d2dc5b144615e54fb51ca876f78a03ee26d2a1442a4c69b68ae284e3558019e6f9f4c9763be963c1768eaa131fac133c72b3b9fc50e56911181ee587aa58356ead92637d6850dbd062a46ebb8554863efa037f496007d6e0024c31482b834b0abe7027c6d20a2be346766aee6739cd790d4a5086d67fcc0a300bb8bfd6dc339fb96817d5fb18cd6d5ed69d0cdd844884e5ab782a613f64f0bcc303dc37af762c5b1a80ae6df5c40346d387d84ddc01f30552c0ba0f07361f2ead587aab51f05c0da170dbd9f66dfb06b030f680bf7615bfaaad563c434aadf81c4e952a987bedbacfa7d48a69a6f083a4f1882b37c5b4705e9a4081af21361111b0cf6728b4e8fc9b51ee13e8ee1403a09e05cc9c38cbf7446049fe165bcfdc9040d65fec2846653c362e4e45691924c04baf1182b32b915a2e8393b120f68f72024716add5b4ce2df5481df92783cd347118352ca71615ea9fc748c4333828ba6bc563fd2180e610b2546ec56122206c593c89b650a9d1887846d5a52a6ce8be1dfe3d04d2962721b732ae63a49db8fcc1caf6b475518118e13212c3765038e54499b0d35614b1fc55e0c08aa4e56b2b0c1614769adf0f854b7fdbb3d9c26f57bb4f07dc1f085ebd87e6b528400f8c875ecbaf2bbb30472f88c4cf85efea61d8d0dfba9e065b12094d719c9d82a50bf54f319d94e3754f3aacaac7cfd5fbf87151fe1fe515104c58887dad5e3b403a5673457394c4d82835b7e522bc35a163df01ae2eb024267861828102a132a489cd8a290cc0fd4525993ff3417e09e290493c635089b921d255ee23d5e2144482eff7a2e54ed9bb40c7d01b40f6a384b566f3ae720e58a446c4ff1483bc3582652e3e1fdde635f4804e9c75bd3d98a75ea46ce12e3cc2ecf9690f1b9bc010c36e5add2ffca87f8bbc5557cf6e93fecaf98e4c0842d625dde6acf8658bf3fcedf5f9b9e00886db1eb211b4809b521518b0d01640f80052258bb102028e3ca8aab2f7be82f73d366a475b364046271dcc03f2839496fa3145972efa7001a42be3c5d3d00387930396fb46d621b5729081fb98f5a52b90b8a09da0f4f12e8942930618b89f8ce49ec0bbe800520958c0b68a7a73f1cbbbde9535538864daf791423455a79e5a27125452a8cb288c96457bb40f485ba0607cdc326f148af3b24b23f95aa8deab300223fa45f45a3091d0fd3040b28f8eb1b2a23181894447376095a70edfd7c212d891a134e792d4f41aecf3b99195d2ca2126c3d7281a4b18aa70aba46243d56153ccdc08dfd3a1a2c302fdcb36837932bd574ce076333433cf66eed1489fef8df89f1edda495799cb0da045956e56078caea07fe2da708222294babc47ab356ea2738ace2f7c6aecdd5ead54b35918287acbdc4c683745800807ba3fdbaaee8c355bb663a5197f909427155d14ace56f88f7e1d6a9e3cb2f1d28fe7c5f5fcb081cab8e432f9bd49f39d794b361083925b5e9f8aa4b362c8946afbd7375dff3ab7b8adf48f2e6b7cd7c9923c3f8a49f0f9b62c4a3f1bb9a8c00407eb0a9eef6906411e54ee127594d38c4605ccddc6b777df0b8340e585b8ea9f8ce0480f0e6afef519bdc0838f5c43caf3c81f758a2cbb6e7af624143a881f382c301bdcfbeea5e360015df71f87cb26697b68a6c269b9cfb0605ae8cdb659464fa10ddeb9f8460de629ad07a79136ce8db487691e12891d22487c2dc0c1e8ee34eeb155abf7a2b7c041b4ddb399a3b4e6075a425566a83d31865acfae1b05ad4599be9f7eeea9ff8f9850061f774768dfaeda8edbd7aca4a5cf11a33390d7d29b165c2456fc41dcf94cfc0fe2f03e4994fefcd42c787cec017daee7059070f3bdb269f63df61c943d2320997fdeed9677d22e303e442f727988baab736eda5dd77b282800ed58719fce0f8e914182af87b4e52ff56a7d94123de343adc7cf78e5d99aff47899001df424bfa4af42b16dd616033a77028949642da4bab97d67565ea335b801f4b2aba16d9173ff9479b728fb1341213fea643e66ca16d58ec151424ef96ca0566bd52499414fbd821d940a661415587e0ee838aa9efdbec8460655b250568621e89cd909d66aefb43c74ee909bb7f6559b20289802dc1629450c350c000f40ad764d0d7fa8ad51ab653880b77d78c583ad092edb1478d8a858d9a077e80af44c166b5c92cbe8952e524d97a56c1bb0cd239f58cbfe1b20a6ccc55ed3dbd48224c8dd56079a06ea1b0c2bcea11a8d9cf1a8ba70aa293c78f7d070810c743212a531130d3599d4544150896c9dff1440b9b91ddb79f475b86adf91ba3477229279d3d19fe5bf05907e006a1344525c4f02d5782948c9df1c2e7c5e355118bef67104281a6284e9ff14d08cfc079b95ba36d79a4b0ac7c12f876a1e2f589d90ba23322144777d5fe71e86a82f9000d83332f763e942c7c204636b23656a225ffeaf400240011b1250a8b1776145dfb0e2ab7b746288d6a843a7686a951f5f14d1bfb954a7197a2cae0b25205b2d59e48ef5328facad5cf879baf09483d061fd3c4dac951a99f7c50610ea3739c9f84554961cc21f569780ebd4c1c372c469cc8e75d2a9daf11e15ccf94a6186bf54e8b1ad90d6c4d8150bc2e8bb83be745e711cdd75c577097920bcc8b4bd1307df64882353263699017559abe53c76dc3a1a09febcc8b213a8b6045bfa351ae82776f3da4fdfa3c5a77930b2726cccc41cda91fc4dd6bfd32e688d937ea9784e5ea3bd07112f36667e697eff02b5989265706df14fe93f291018389106924818acd599c741ecb5835d85f2228af410067f838fd0aab9679c668107e61bfcf3102217f90e2685b95f5bfc4359f28eca02ff5b9185dacf66e343f0f1491707cd6ecc9c45ad8140df6294c7b27d8462121b5d11ed6a30626fdaab9d652d89ace5b984b5290923e3f7d32ba8c6aa818d059b1ef2e4ea82604d4d45b15633e0e4aa20dae28b77717c44b3f94fa21da1f722f2a9e163f084db069ab94a03f7a58c87f11b4c07756f1601306c2296cbe11a87dcf0d8d56a12ac76be82b6f20fc16355232927529b881055d2dc44eb6d6ffe09c29a071f421d4ecd28f06f475d7d0245ac207a58830eb970d268b2764b496c0d7e508bfd414668a706f451a07d3913106b5e297ba5fa3cb76da6b1b209b368b284b9b70c06c5c5bbbd07607eecb7dc6696fdc3c23996289c6959af628a44884211aea2047944dcc26b599f1136f163f0f8344ec3a6de63410412b76689eea338003674f9a42b340568de8cde6423e280ffe5f225a2c60bdc8428c8a72b6b13f357700e2646043ff29964e89e0943e6cfee32a415e4aa243a2cb3f900c1e2bc2301d67a27fc8755fdcec00d35e0ac00411293883c5630ce44c4bc7e6410225c084767e0a58b00b29f05ccbdf35f222c93daece9dd7869de30a65981fb85ab801bad838c25550ff0e3dd02b881cd1a7863641f6b35b06e40df4b9964e187bbe9d10e08bf6c6e8371ebf276fe917e6322684c03627650c012c767aa0d7b117816a33cc9b375dae2446ddf20c9d2701d9b7115785d3dddb84bedcc82e58971a6226168b8aca314d11a6047cf594e6e07b7f7b7caf2d61cc9ace2fff071896d4d53871f0d1f53854f25dba3cb83f49e08b2bc7e2ea88bbd8ab1b9021e484b31794b97ce35175f834531747f23cf1be526ebbf758cad2c85cafb619574111e81d25e8b51647c81d91252b303f5736fe0dba28b8ee488928f186d717f84a646b17ab50d31e037afdd102896cb52d570c7661dd0dcfb10b755ad29b06a4eb0be92d8da4cbdee8dbbb38616213ec8046a08a997086c5e7b1cb7629c00e66a264a0eafb1bc2b4a482a6da3dca5a17c03b71fb00abe227b0242d519f32404191d1e9e70b4be165957f4c73c30044f5146ba3b6d359db6698b0f8d6a9c47599099d4bb4970544c490dd746c53effb617e0b58f004482d1e3828f13aed60e3f091785d44f136e24b98228fbdd4a6da14f975246363540e8b991fbd07cf5e0a86bad49afbbb23d143ef67c4b655515210f81300a5a4ca0aca040870b5f9f793f38c931799824e55dc62b734c79f325c430f89aaac675a1fcfef73aff640da6eea7c557b6f8f07892f74b2d1dbc9ae05e115dd3fd35bff870b753733dd3a9479fb54d486b5d9251d733f64d84b68508493a2151331bb2501a94a3527da7e38b5aa86a7ac397cd74b8549cc6fe6195f4c7875818724c51026b0d1211812aed5aaf63d59105ec72253a12e5bc53dddd2fe7c4f756c49ef13fad38047feaab030fbaf2375054729cff680b97d6f25d78c72cd6284cefcfae3d9fb00421b4d917283ab270032d24f1b123141a724d83dd0ce50b9ab5d90b0e1cb81729cba06c54a84f15e688038881f14cfb5a1338388d483b98d4d9ea323feb3573e9f5edec809aa91c240f7510684707e3401ea1251c19c2bfc8427c555bc70df41d2161b3f7105fa89b390964acf0a96805c36f0316930f561bd9ba041e663d519a61e75df222a4d5cdccb22ee6e740c090aa970a24212db6b6e95bcdfd110aa5977bb22cdbe4e5866bfd469e7861c120510b07d58d0712230768d679c6d4f8b1285179aa960cb34488f213e34f78970da7cdcf7c055f97f96d01ddbfad19e91b813ffc3d81484b0a1c4072422f8595efffb064161de58b9f45f2c8dde99ad155c949a5a110b90565a2384e0272ef9b9cea339fa936430d05ce051ebc0ebf12f448078c283443928223c1441537d879295aebc23414865a3d2ed1021283d9fa3a4afb8bff0f2f302061c252c88dcfa135a6a82969dbfd5f1fc70af0e2d46798090e7fa636c9fadb5e800000000000000000000000009101d252f31393f","message_root":"0x1a2b13d13ea172538802394f744e272235bbb85b30c7ef26c7be7511be8f2618","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x7caff9e2b19c958c8ff310af7437c91ca749bb0dbd149f03f6fbf87d828d3e989ef5d4b126012fdfc3ef3e7f61d4be7f3b2c6dd77e577d661c43a2b2e12e57cc29b9dd2f6c3bca4bf501e686037c76f5a2085a269b58bfa4b0d5e71c62115bfd4e0f423b7cb6b69f1d668b7f259fc1a5799f53505f6250ac3998961d7d0342344a88ff0ee5a000816564ea84cb3f598a2879526e6c30f727142e123ac52d1aa2f07930b3d671202c7bfdfa2d7b181b4d965d53e8931f17c8d2e2e9765ea19f91c9bbaaac39cb78fa21d14f1a327a45113bcda2846b3bf075160678cd13f14786f43f143e55c9194a4cc15d24f4be294a1dfba934404d523e47b952c18437c6a127e95a56999a272ec9e7da6dcd6c5eeff0a5c54c82fd0a8d7f81e0ac13ea3c4a4c8c542189ee89c423e1242066f8a53fdb59a3cf1680bca5a2f3e0d374d697c61c740d1bc704551ed2311b7741a51c4907eedf8c081efb0c5b91d0e4770ae23540f9da4c1a9c0f163c339b944a5d4b82f6e62675deff80609beb18276893992d940aaf310a865cb2f8086d690c5d292ae06169ed55dc9fc009bcb0985804c6f8767d8b6dd9ea26ae5a982d72a308b21487e45e16caeb92b63c4ffe4869bab26a4e5b30ee8e2cab273d4a96c05dd6e38fce23be8eb3cf9d78169357d0d1c9fcf557533d20df448b7bdb580a207ac6c2f90a76f7a5d0e0308633096815c29362db0766c7de99f29fc23b3da793f7dcd17981e01df9a76b9bbbda8f25c3cce02a7ca583400d77c8cef0398359d8a4b185227f08a8feaa13c5c471e00f08c07362cbd2fc792458f051507b1e223978dcd159213d6e07313efa3e401a820341848872f313c278108fd3df25bdb39ef1b890611c3fed368cd19a3250c13b3673d871bb9598b3906b1a5f7cc9496bdd08118c3d3759788d0a223bf1807c3784df404c2d7b31ef3b6f909a8908ce98e6eea028a66ba72914d1d3ee47d1c98132889f1687240e7eccf5d0c8215d13aff8dc06343961694a5d6723dc6258827337252c90ff9a469029e8c456a6c41fb0bf1074a5e5f3894a8d8ff71d81248a82db48af024e6c3dc2515b771ca88561adf01fd09f10048a597ea2eab641935332feef0482329618c263c8182845e24af2331234af19da44106616dbda35bc405dec2425084f5a1bfec79d93435caad7658d5dd999190b0ff13c8a5ece03035ab8aa7321a6e25e03e1c272379d07c0038f37d4a95951a1d088af429e5c58eda3a0e9505d86bd9427df09c2a8355c2c85f45efd8964a9fa415c0cce8553965939d610931fda4af8fd64056b6b4c8a26c3ea5c21898c6925364de6874a22e03e856dbe0c963a9cf000bdd83e4b9455dd5b07bb8adfa3e9aeab64f05ded78e266925f9987ac9af36ab8a42b6ff53bb3f2e6228d90cc4e2a28eaff3dcdf280c284531f55ebc2d5d2fa7e528b426154b0c16ba211eb7b6a447467a156c077f23ca64a143205cc91689b2c970abc09e94248aeede248b2e2239e000f54a725c4e1d5a64f806d0f6d203b08a03337e20ba45a130e67d89de1a3ec4b8ab01a2a2f5c0205aeff28a2d630bfae21bcedf13923db3ae2b5057f73d596accb3bc30784d52fd523b1bf8a7185187d49cc1a333989442ff87402afeb4745e40f2268889ab3062b4f07da3cdc5f4fc7ff3d802509e00ea38f1ed6e6ae01b35d0d11622a2ab9116f1f4a7c67529014059a2c3cb6e2af58d53b052b75072e119afeb63f3eb267edd2b384b11b2af36ed228ec98980d49873b3edeb6743fb757669cf45adae7fcfc666f60b561e586724047f95b5c4af85ddfdabc1ac202d42e7c8a607ea7fede9bc0d34650306030cbaf74d732d133e953d8729f16884e81e532828b59556d5343cf27c4047da3bcdd3591b7f9b5539b748f100e113850904ec6d565e4963b403d4a59cb6309e1d4f37c057a863da844c05b42b0bc339ed095343cfd36b9f9d8f0dc2fe3049fee3fe79853fcf1dac18829b411dc8e8176be2eb289056ab37f5780272b1ea52207f4dfdb430789ad24477a4286413fad0ac249a19280a60fc67c43a8750b1bf952cbf538d3422984ff675233d78e9e95f8b4282e3c1573a315b427a80f612a25f6b9a6b0904bc648476c8654734eb5517cf49ccb1f1b4debd32dccf2f9b2c7aa2321e2a630f055d673f23b6ef4a2b9d031c8c4dcc1bfa4da28f976ffb39dd6ba88fd916f55715f592cbee9f2bb8176dc8afdae600a1e35f9d199fe247b764e35c8d4e3e47d91faa65bf1f20bf6d9e824e1662fea5fea4ab1b2cb8e44ca274d87a3c809e94e209e5a655662cd5e3d22ae9db662886cb5e1b65d15efee12d48c203220f14e6bb0534a615da08c229faec6ec5c0f5e4a7c7c4521b0c78c772dfe8d8ac6da0c53a464a4fae93459e56843601b96726a22c5d8a380a58f689494e6a6e6545465aae8e1748c4c8c41c07437802c97a37740d089f809def266da170bf3bd3f7c6901edf7f8fa5339b1f33456a9ab52b3f8644963b630ec6122bef30c471ea5cee233a83c33a64af9554566c4823f2488ac03a2314d74fdf95ec6d1ace813b1118d42ad66514311d3b130a444c355b3e44e92bb43f2528687df8d8ed10d69347561ba6178958aeb93b02031d550b1b49c30b08700e9ce92a71e5648836ee19d3a81576a890f307e7b4af2b01f9e4065febcea439cb1ca73f10fa9db45cdccb598530c0eaf9bc3bd84b0b5adac8812b911ea661ef02fd9a20f3e19a91a0b314b4f9c62f574881ddffe3c0a6e93b7144fa7c4602f1519a2e398499543adef7ad0b9e61ccb9dbaafd3c9dfe79fa9e1aa2d03fb28c79ec8da6aba7a039a441b587bc68d728ddcd1f33f1c275142d747801f8f59161f6cadfda3bc3507a3dc6742af62b7ca4d6f1850a9abcfb02eb814b6a9dfaf6bd6545a8bc044a4157b456d45b21915d7aa0934e374d9e1489340c5e98c4f5160eb15c299fb9931e6654acd66f0535b57ba33a1c11fdc265a2f472d983670c9f47ed8b585b37372a2d6b8b4025b98e995b8e9c3d072415f50219f0cecb14dc8bcb34d420662b0408ab4c4d1e89a95e23e9821223b3fc5f01d7b5596c3618cfc34465456b84589bb0e332775e78f9707d0024aad1a082dd7ed11be3bb586621b19eaa033a6bd381b4654bcfd993b5c55b1b47d1d43a77e1030ed2ee635e2b72f113f03ca5a301b023f6b4e4f7f0841597da5d171241b4d5d475f3ef37cd17809b0c8f08ce6eebecccb69b316c02339c89d1300915843b945984a7a5b4bfd3ddfb463e5de0ff8870a39db5641a2a6929f88f56d2d31fa512a3dff9c8b39d02d0659307ad67c1ab55372b23b84034c81f1162dac330949fa51738f94a2d3d95b4fa7eecbd01c863a2f6b704371f9c475fbdd58b16be1f953b92c06d8cb5e48385cceffe3cad56ed3bafceba4511c9eefad2a163b2e8e07e34713779e24969ce38cf83824b0ad984c314f753f0bd81b676fb2b6b2d2ec9425d764a5f636e6e27f06b4729d02d8677193479b9133ee88776cec7b2338e9a0b57d8dca6cbf0fcba948fc1b6c74b6eb46f7683ee3d2311faefcacae62c44ad2d02e89a84843af490f57b99a68bb79809381bbcf549d3c664330375860d56d0fd46417bbe44f55e365f42c0eee9ed0a9762302ffc91cc15b","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xee30622a0aabf05c9ae0779e8635f8b23d2df5179fb9b2da7e5bffc9ef434851","signature":"0x54dfae7472a1a754f48aecb4e956af59f4c23e8828c2e0b9a5b1c086e0a8d6152c8453fecdfff44ee17612631f37c11fbe2c4df94f5445e8ccffba1d9ba35a0da74588e8ea0b411eed713742f1303580f789bb8df456e91d64341d6e4f854459fbe6a7dda150d687fc3644e4f54cf532d12d5429ce52b00ba79f61e0c1888bd578f9cb9dc5c265ea5f455c6ec8f0525cdf50782a7ce4da807191fabee3c374eb886850c74f7aeaa50e6c80a2068eeef82e4a2c696ab7e9f9c72161e24555e4d9bd8c7290b4acb4b05371f0c37a782698667f9650aa205dc0888cdf5594577c9efc34d563b5321fef603ea48a90b6cb29727952ef2cdca1b4a2fe97178a6c0ad07cee77bef0ed7dca4abc95a82211f0836a7ed001c6518be4b726698ebfe88f3354a6f48dac526a29a4bbfb112b7d8607ab7e8c29c3cd71cbe9237c605fb4b40f3c24e778c45aea99e30d36daad33ddd1dd92d1ad49f63532b816de5b0599074518bbb13cfc3010324427351e4d2e4506ecbdbd2392e0865ca6add73f1c952f3c52bbaed41edc792672dc5a3f678e1f3d333c4adf52fa3642884a1ba0cddd29c0b8fdad8e61a9f090de283ea0613f061c5d7bb8fa09dc8d04aa6dae8b381c18035b4065e574e5c0b08fcda35a5dd910736f6789c9d8207f6ea9130acde9c7308d46906af119587225e158d3564b9d7c716598e80be041ad30eab85e46ee5e687e3d4e298f8ccdfc0c60e611e1e064b2bc2a162b3de8c9f3931cbc774a1aa8c4cfadcd563620fadbeb67f8716827950791315e8e64ed7e93d3c46e99f9573f80e5dedebbc2c2226031fb76888a0d192a2f970ac5e0a422322fa35333282ef3aa852913ef8af2733c5afa13fcb76c07040b5d92fa59f03691cc096f15479756ad85e5e31b18b4b08cf5456af6a42f2be90005e63b98d92c4da82ce2b7dee7897f731552cc0779b7269cb23f6b2b9eefc049a5706fa8c1fd0ae0728afb900b3bcc33f92cd57632b1206c25829199b482b6eee0a2f2cb72cc9d46bb23cd47de246672dc9c189d5406dd58ff91d805d0578975a87480ac8d5e8ecafcc0c382097b0c44dd82f6dd288a7b16bf8b8da525b495a69c57905442cfe8aa778aab4bbc8e47abe465d6915ff61b51ebc45c9ed28b6aec6abc8eff49838b0befcbc117d6b8dc2e45fa783ed2c12cc1985a4978c33125037a31db653b857fd06bc0dd1303606924c0f3126a23439e9668192321b0f898db8375cbbef33d0934e47701e1c7638fcaf63a0c6bc1709669be2741fc836d96f62d3f537be9f301218f466a545bb20e9e2612b5a224e5bd886a56fd1c26a9f1c3114b480178027853283324153f8e19bec88e08cf825ede8a169b269e3a17b69cd294448b9325f4fd023f23393161d3cfaed0648c93f678db4b22ba8a06492de9ff0f90d0ddb631740c029ce26ca62a41e79b357433fa31d8a6c97e0bbe833dcab394c796e809d5953e0e387e338eb90e3a610a05cde3ad6b388d201c65c5ff186aefb0998e2d8b39070ef0dad10954eae9be460b6efcaf2accc4108ad87cd5f5c26fdaedafe3026f2b2f7a6cdcf55dd7fdb26cf83727e0a7b6f21adbd58cf783d0cb35f225df0277b18fbe79de57895b4c00f6defac10b7337219c8e0c03c9e219ff860d839eada39334702f3cb1414638d2e1e61bf0f502d6e7b1cd1fab66950557febf5a2066c5a5dee58038ed0a0c831cd81ec358606487e7fe4ba778d258449d89a5b05e5445c0cc7dcb00d0e48ef6ad806fbadc5a94b281e63fcf72a05214522dacedff835db9200de7acc1f48615c80bf75149e244c61aaebe78c578efbc0930dddc5e3f5160d1d0100feece144e3c4d24ea1cc150524c5f92f3f0a3e7558f0270e9cfafbb7d207a68cdc2e83dd6173882f1212b95f4dea0d244df3cdcc6e50c194e5baaee105704774ef36e79f169b27516d6ede9aedf4dd9f3a5f5bb549568a3f55dfd4310567e68ac345545b59f4d8dd741f1a24c8eda6c8f5a78a3e3bd9e8a1c829dc6e5934ad7e8c7b90e3f09c6ec2b962d320fadfaaf6c6f9f920b9b553914aa94db04555a636c5a080ca9acdd71db2feb5a96e8d2d34771c3056a5453fd3567d91f5fb1ca113320e0960378423a1d93b9d1def946589bf89d2a376a961e6fe971266bfaf1058203586c310d08f5c5bf1ee01d12dbbcd92a9a32df3c1d727af169dd1885af0425b2d16fde415250c7c0a64562eb04809610c488a245aa84a6a8b22f772510815c374ae7d2a5fc9ca77bbc5b14d6619aba32f5f200c64689e994db5ee72453abd5308fa72906bdff028f4be39381b4129cbdfedfbba00d96a48111c44b09ce7d2c2694e848d08cd054db7c1143a2c41e1e9238253eb997cbc452f00c0e2fc0e46d245058e2720330e14e756461ebc23cccaefde15ca818b1c8b515abc06889f337bd5a5d1e548acdfcc6aec96b10b46afb920d5a42397deb3a8b654d6d8cbf488c7f434fdd93f336d7e2c77cd7486ff0ffed0b1d6ec71886f92fe947db7eb17a17762568236559b268536643d27d78afa38c0e5cbede3d22908d28ba140fa57a76f167a27f2f80255767212ac955d145cd52c7c65bb2ac901c81a4ad6291484f2ec0094d11932b47cc9271f5613aae26d2e989ef9f6df6cc9ef8cf17c4b10f464c46bcdfa4a9304195c4c30341a5a22da6df12b17caf838dee18c6a3ebbf31e5511077a6bf0e94b7d25d65b86062d9220a73ef8b15f7f3d793f4fd0459ef08ec2a94535f3aa0e62ba2dab6fec3f4057148d98e2f335f62504c62bcfcc3f23ec4c7cc52571f1260a03f61235f8fded73b99d41f1ab1ce43db4d64d90c0173707f558f9204162e6ef2f9e918cec4b96ab871e7352aeb27871a4d07ab02dfa6b48a51932fc3e6ad16ce35f8e62fb2ff48429f9765e4f36fdbd5e3b198181884cdd1f4305ac4ded56d0c2a85eb4eb211efe76b1109e51829bfbe164fdb755f846d579a3aa9fefe166e6c474e8387472998748807bb14b7a46190593f9f26d8f48e2e80363cca79b099266cf3fa0e21cc9d56249fba9b323faee63c4556666e22768811cc9878f0b000cf95c49477ed36651edba3c2e4410dce813d2f91eeb71de90088cf8feb8af9de74456f7426b0da9454717bbc8059236d8e90a5391c5597b04bcdceb701d9ce29a51af8a18e951e03bce99d38b7246d7dd915041db6b8ec020cf4c1a696688d2a1b19baca1928ec1ec4df421bffb52db316ddbe0b0a8807286cb869befbd10089c15d80a8571dc0abc0a1d587256ab2ecc4fbc24f6b408b4c6e4cce682cacc834a959d174b0604152a53caa5e83e5385446318c2143b8bacc69aa4bf34b1966429b83dad09f05565f49fe7b23ac0cf5fab0a592255acff3e1e0c4a756052dbfe50050676ad508a3ed74c9ce3e9ca4c689f809eb27ed69408c42fa8a72fb5f14aa52840a10922b01bcf63b85bd15c008ae6b95c314b0d474a941e630d324994a99006b16fca5f30e3a22a9f26cc1995e1ce5e137fc5691d7c53078236bf32410f2d02f668108d9506fe40864e8d632b8f7c5959d8b0570693b1fbfdea901b81c49d86d54a0700b683884f87d0663967525e3ac23e19c2a43f41783787f245eead232820ff9ec1f4e46aac67d49497e8253cb93b3b6b876b178247763f89f3de2e1202802bff5cfdff0145dc111eca3f6435f76acf6d1a5199422ed1c23db8b7e2a11e713cf5f27af6a92533407ff82208f99e3e0530193a9697e4faab31e5da6ca2a5d7f6a9d1e66dad8c2ff397a81dbe3d73bd7f532972c4e450fdaa43374d3c4059de31c3ac4452e436d0e8a99e542103baa0f753659510d53baa914073e553df285d3fd7459048aad51b88cf0972763d774c1c9cfa1446d40f77c88fdd35781de7ecfc486520d46214112a9f97477a903acea1febc6447ce6ebabf3752a8e27ec3cf0966b6ef133e633753b83c40c4023304b85461bc59864027986867d983f3add56911ee87ac3a043a3372678187de54a69882ca374eb84ed1f2368de611c6fcd9050df15e8031c9c7b8068ed80ee75a85784d809abad7b1995b160bd363f98158ae40ad59f6b800ee15368eec32ac9d80ac949bc45d510f84822dc5c3ef44c343c8be71888e6b6b25de827cca07957942972ac0c3bd0eb2e858373cdccdd6ccb9bcfd7253cece3744657a012082f892167fa173ec3f18da2d40f51f3330e052a61f67f7ef328e16b20c5d28f9b5909b3e2ed4163e17841b9eb2ce6cab5878272085b91d5200c0fc501bc28659aa9ce373352ba182575abd954f33d12b0bdc67318599e70e22da4c5214ec5d3032f8de98083c34aab5b562997abe0f6e2a51ff05a67f0c06282c16982953c82d9725f0d21833ec32665a523eb3ad798af6f8652bf8f49e61e93826877ab3847984bbd992d8a25b3a32246ca012696ea61d7e04bf14d6020c91e7611b6f2c5bcad2e65efc273265cb0a2607e71051f52e10969849fe5a48aab51bfc083b7410cb4c6cfdff760cfabe99f53ba92a4ac016f137199601d3bdc8fd9ef1acf38329458a7a66a46c07011f672e09b11f5c3876b40ae10b97ae6f277a9a8a3d682a31276d32e961d2512ed1aeecbc7b4156bc737480c1488321d832304461f130638512ac31b1456d885d195cf9a2693b433fc0d17f127dd778e3899e419d1a65e1b4bc0fcb24190c7bd09255653c5b27d7318597e81c25c73f39b955e3fbce6326cefea176386617a18e79768ac796abc2d6837e4085373a8076d9b2f5f093e0c3848e392ac2de4659473dbd248c19e7b5e5c92a815512bbc3af35e720f5987bb4ae21fca9436198876cb005cd65027ef1ad9bcde5de19ab6a186b8589ade62067e38d7ce4695a8ecea87dc830099329778467dae452afa6d0c0937591d21ebe9ef44889b2695dd4aa932c79713c24e9474e98e79a9e00754d90bebc58ad672522969fe4e365b314b27b1df45e94ce0defc27ce4f3c86a9f33449c39b2534cb61a3cea117849a6d72b78fa42f19bffa414e8dcad26fd162671536fd3215b2b91dd435b5e62f4ed7c3cfee04807001d13a9ebc465762f4d6a63c4bca69c2cc3dd31ecd94b2a1c1409fb9faae25439bda580001d33761c5847283398c3599139f36fa3dbde9557613e65b13bfdf1ef11302ee85c422aef60663bece00ff979dee78d12893a4e546743a72b5480d62aa864bf0f79133bdbe1f1471f6fa168ff07b73b908549bc083aaa19f4f7bb8b792f908400aaa6aef2c156c0108632dcbc7583b10ebb20c803bbf124f0f98cb4ea209f723abe229a1bfe5606b373a7d82b68acd1195f7cea5651590e084000ba23ac63ec80a9193e8a75e8dc7660262671301ad3c3b4cfc62e5112989b923b1874682a5aa96f4d0af20393de743eb39b49d979bc00076f6dea60f0c2dd76032e3ec72e56c8273679155ff780c8bc071aae7434fc3bd233a4d50020be550b2ed39a2b664e6f8d0e92f196d21fca0ce2b9f1179ebd6f76fb1d390b9f704a2d9ed8e4a0aa455255ec216b79cad90d895d87031da47294d722e69442542899b3de49a28126c0fd103299eff2893462b84aff2c37cd421bf0f8f2bc9281fb3f58565df70f4dda35938216e181fe8a2028f8dd62be4d5846da503fb354cbe1d4a2f53c9677b89c17cabbe3c9e482d37f8f83f7d53b9c9f41af5d24096f7c5017f4a70400cd1aa44e82d41503f526a5cff397586f720556f8e05d7538e84f941b94d88cb5f0738232743be67c1922f7f4c3b46e5d56d99f2a59a9ad0836fe3ab90ad92d99f6b244c03d5fb64b49f96519c3668c2a82a1118a3bea39b60cc83b3016ff87242acc2fe433674fbf78728f3c45a39af2b58e6f14e2ed3c87d3d1f7a90263ed6a16efd14344be34735cdd22db280c82a2f799e5d5e382639a322f29c7119ddd961368b0aa62abf903c0c3b9332d8512c329ee3e37c048f60d61044372eb8d0bf40bc5135668712aa42c35d6ce8d5a62fd06086e8cbc349d9d8769cbf65afeaed72e68de043caaf46f4bcc4dd9521be4fc79ca1b74c122c2638a8136e55388d5bd102517467d9c6da7f213657335957df8dd0ed212ac4ececc88ad2b01d1d70211718b3e13c7867e5b1d10074da4a10f008fb9c265918992a4b142d8aa5485e592aea5608106d606523fea4001f7c88f7c729b8755244b19d7c371cb62dadf73363992cce6898a3311b9d870f529c68cd8060875f3cbaf77d93e68f6d345906f01f2e1ca9556b1b511098b53f47b1713ef186d0f1871645c6e7242c8eaca380748c2ee26e670c40ec37f349473c0450e72f24f212bb6b31ef8cc91b51f58f9a78e5edbed017c58957be29fcb634ea1b1e094295bc652b4b23b242605b01fc1062ed4bb56e074aae8361331ce65d4edf5628fc3202b9ab8dc1fd1657f2bdad8d76926efd8b2050627fd0dfe61d6c6d6e72bdbfdcdef92123518ea0c8d6eefb37518fa0c4d7fa153d3f8d9094a4ed2d627c7e9d41a0e0e6e71a20516b809ff1f30000000000000000000000000000000007111a21292e333b","message_root":"0xd7c8827982bd1b955eee1fa974e7598291d66cc8e66b102e212af30c414e002a","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x97bd9b7cf8b9e78379c66334d3a238d366225a33069db3c75ec9761a05dc4f8470f6ea640ec6efb6daf1e60dd814e1d3161a400f6252ec72554e143cc4e2cbe30e847e4d3d8a4e501374d2e38ec4ca165b017c55273f9c597a5c2c07a0115fd68b8e7f765963c6c9f93820dc7218a21a4e83ceb2419a84b32db53a5eae839bb6d531fb3a2be6558c41ff9067f2d25ae00c846860ca9279901f2e74cc07192605d1c3e31bd2d1027d4f02f370deecdd2c0248ce0330a1bbe67ffa9d74c2ee287e4220c3cb7dd639458cdb2c2c779bcf74938ef1e3b39eda2855c71268bcfdcf02cd7dd82c4788fecb5240780895afadb2da583090024b89ebb0de152fcba18bddc6b85afb6a1715fbd807e5bebae4196f506a873ae691a4ea47ec059e52d0e1fc1e63a5588f9bc85c88cb439e2f24e6b4f504ecc6c24a59dd0537d38f3198c49b8a9a7f8f6116be16c46f1bd698a8a531a49b62c7c4131cb64d54a1ef255b490b0322898dd03f9a9fa79caec742968db51c59bdca59f01dd9f487b9e8b62c350a7ee21cc023a845456215983ae2004b77e5f957e124d0fb91c99526a7cee7c087029ec283ee768cb56dcd0c5bd557f13d699439c5feefaf5d1cdc2314b1a28e5c94964a9b8f4d45d9d309de75e60b985fd8e51f1fe8dda42c0ecc9749667cf842c8457796a2508ddce465ce6781ef79e7f938de89a57311f16797675b78983d2ae07775dbde753aa4db2354c1bdb0ad72a0e5cb98d89e8d9cb84c3f9c8a1935197c425601a944ce3eaf7daacac5934d4bd1232f29116f4bcc2793fb0f6d02c9fc377ed1a27b1aab33db4f2c30b50af006f252d224434e11d2c46eb080d9bbe0b6ea256db36ef9c00376e845ce9d854e1a85f14b56d99112c554a8012f9c173bb433135dae433e548d4dc94565811be4e5fd5cb9e1124756be84739477267dffa170400eb395a436d79ed403af7c310e9d25d782ed87ae368e1f9ee71f8a9be383cc85fd15a143ba45bf6d94db26657827cf4adf879b8695a973786511efe52bbe4d604b3016c19ec1a059bb90e8ca60157b809600bbf4f9ee4ed6bbbe6b64dd0af518a49c0503bee352aea97f55d7502b2a169cc2dcf1df2c65422753f08bb12212bb5d07f22ab99d56000a5d0efcfb6a7933c75b35bfe6260313c41d5ed1336a52c03fa12fd686da989aee33fa0ec87691249299a51eb4b5b947dc27ccfb277386e4d3f721821769f096a44d2d7d0592b5f183bdd16e78628d112b4c900126ca71462361ce445d64750a41341e7b0bbc1c0d93d6e892542349a6d5de746765368a95d87f70d1cd03f656a090ac71b58a3356fbc06284f0b0d7f9b32d06584f6f2e98649e05629e0818c8898eb952b6603214a00a729c6a01bcdb572bf3892ab862bc8209bf92fe2a6768a524f4a9d3ef9f4fe11af805a5d993009d3f41412fb4b8415bccca128aed03b0cc1c7bb9c985f8cbf6aefbab5e964feadf4ab161641d1c073805deb889c1a318ee27d332eee1f5a1b6b78923943ca1021cc4eedd88e3bf5442825f5f3f78d089b3773d313244938f4d6adbaaf63666eedd2e3cc35bf82eccd9493ed7eaba0f085781d82db32976bc0323ad25d983407842de0a59bffca6d1fd31c4f4e6b66ad8a2524ee5a6f083cfa4286cdb4b5f1336c46aa2854a0fc8a1ae7544424c6591b08248287065979f8ef61ab8438cf6614c0d4a3ac5ec6a17e1cfe55c2d29d20f1a0557a2b6e9a76be622036241c8a7cb6ef17b0db775aef912b69eb7eda752e33148eafe5974a91b4f1aab48546a1aa006a6bb809d18941e2e956c104289c7a0fecb80fb663d94515856bbaa1bf838024a0580f55eaea2d490488bf97be2086906916c623cdc0ba29703f2795da0b428edf3998515ba742ae988814508e3819f41e7d05552f0cffa122636def125a70cb451aebb83eb848ade35540e2ac02bb28bef71b808d094da39e33f222d46a86ee206af2711120998b15bed588dee841d33c5bc252ecd41d0574e53efde1066b17b43ae78cd4bc5ee9b44acfa2149f4ef2fabd077ab646a51e4b564894481be52ae44339d6d3069e9fa0e10a96981f008b59d1264a94612ba04024b3131b318f09480555223272e5fcc2c5a5517b7dec0b01aa662c2ab71f7fb2b3b38458c971ed27c3318bf47af55ef6177df2ab80c8ed28f1c3dfb72447f2a5d99123ad7f8c4a9c927c3b02ee01e023e716a59fe9811eb978967238b9e71fc82e7aa1d45c820c618fbfefafb028a82b0a2ecc2d01eb80ab3e2e5d48d9360eae33c0793b9ca5e2db06e062fc886d5a510dcd217a6ee93ed5d2b26ac3826dffaf57dd4a6399bac2e1407979e801183e4c8c37a6acefbf39e9833d68c6c2168be1ecb9c83f012f15e04ac27ad986ffeef612270faa7883123904d2f16e098dc50cf6ce7863e2317d01f5d1dc85cc9c2ad889929fd1440f44396315d9d2ad0c0fad657b1227b120e8f80e8bf95b77d6fce349708c9affa4f259231cfdc2d5441c70066a2482fcee2ca18089547bdaef210e81683c5d3cff9e75f6d2f7a927f63b8ef09e92948374e78bc02ec5dcded16fab9f3da0aded640a260a701fabeaaa6dadf4b043b99718d0583799d0c1fd7fa2a7d6cac6b961adb569b34799c0f813eb043db88bbe27631b0d939a7a98cf2f932d25f89ef7bfd3853426af2f2001b8cb89e24c822661ce362829892e62fc719d83c4248ce70c991361ec03490b3cfcd142ebf0b2f92e299c2865a4a7dee5cedc366ff39fbeeeb0695b0dfc051aa15cd51d88ea88d95e77340760ae8a5d5c3dc3c7290a0eafb9912d627d39f3eacf8a7ce9984ff7259e8d7ce1832e55fc7bb041614bacb9d3911c9931e9637862a3c5610f65d9ff7dc09572e6214830552a7b7df6a30f5c53346449bbc630a5242b8141d8e4db93d845c50cc91a81aed8f5144375979d2289680960d3c42dadbbc3089df99a14b9a7d419936b2d0e26c39f458baced0dbe30a20ba5db626e877be60993d7eaf3d369ed06308a4634c10a1311c0085318a4616a26e225f4741738fef7753a3445b40ca728184c72f9c0909c6fbc30c6c88d456ad969a07fd90bf02d1c8dce2fd60938cf80a99a81d2e3ad2f9917abee2d2c1273001e8d897a9435c495fefcac25672aa7a10d0d3110377a57efa0c9770c0d96c9bf5496c220d05e42bdf95dc22be594dd67dbf91d9cef661d7578656f27694431f9140732372d9d42bbbcf83596aea82c89e319397fea5a7c411402de1b474b72df870a63a7232514b08cf33e166daf9357c0c6a932c2db64a47f47dbb1b9b571aba37f9f1519aa1e6293916669b4744cdfc0709b5778129b51af2555bb5391d48dea7442e50b7cae644707ba698d015393a9fa1d2c090d28b46984022957a8e91481acbb95c706f15396f348f22f233073cb94a12da775f8cb97eb65efe45347e8156b6618390001e9bbbb3bfe6f3bf6a39da4834902b4a6caac51e03ca38eade043eb0e156e5ecbe171b5b203cfe3453d4b60f62b90ce2d43bab1686b9276c5c2dcff04917e7dda512d12ff136f34830bb65dfc957c3352cffe5d2981cb5e03d5414cd7e69d6fc426a8819e11771cad7916d77f7ed48eb0cac9d41d56879d7d88364d78c6a94e2facafca48d85d2991f69988451f1b0ba04","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x53a79b274c2145a336c64eaa2422b9a3966f6d056f6d985bfd4413882756873b","signature":"0x76cd784f3cc5d10239ded88a8343b6547fa71b28eb955d557d9e6aa4ee84c16b9c3e19b16b9c44f411339e094b269348bbcad8f63c886f074ed7eb134a6a9cd38bc4f59ab2e4bebe7bafb5fafc82d529ac574a430ceef657bec6e2be24b04c33c419f4c4cd2f3cebdba12d2afd2e48cb0e2ba3620b0d405cb4c250e051b86080bb95c350cb94e009506b331a02b98d648d768992ac37b91076d90ecb7a188af7dc60287992fb65f3afdffdb7099f9138c9582328aa065f8f7755628779fed22e151cd18a543f218157b8df16a67028b32c0ec8e46020cb6b5725695e2c68a8e5602fa60b3743769c6dbdbc8a50e3d5ef0ff2e68bfb83f455222def4327077439d045b147c36a8fe31038597a5d73b6b980d249d65639dfb6d6edcacd2bf5d501409c93026314ed8f65f10262da7df67a69339c2d70e67958dd47a6e68986ef9735151d350f329b6a9c818c9f1a16e16c20edcfe69950fd73dbb3edad4ba4dd5a5b8e6d96770a6ae2b80f889ab56ecfa34e3ee052571c685a2da8249430b539bc19de70547de5be35c946fb57ddd5cbf5676cf9a21f0c92a5aea08816c112abc341df31de13c20e923db474cc4b1b4e30bc5c5f90f2dc4c8961090f366fe12f6362d990b75eaea94446c036104af7e8103aeed6d2c92723040dc72cbfe290e7ca814ed1936049f6a71b296da5d7585ab91b143ebc9d0fc48f78398f85d7d1c94c9d1a2094e2bba6ed6555821959d2075089304ec675acb1e27e6885d464184565a6f251d9edf0e43365939b173c5b2bcecfd20ec51fcb266245b44e49903cbfbb8ec3f07d670b231f657048adb84ea30916e8cdfd4f351da15c393ccac04403f8689aa31fd38776231bd61a03dd12fca2484736bef0778a431564f6274655f0745eeb31b0f3ca207eb1eed22eb88ba1608b31174956959df5ef6d7bacb75c8a454f1d882e7cb815e934f170e6f56aaebef6fc43428e44429f1451a89900fe78f9c0fa7565e15838a777dc7d1fbf9dedf97d9adab3b958e3725a0047e23c0423017168545fd51166d371f1842ac0ee55aa97614f8999a5d7321c00a0a01d231fcacfa6eae674a4cae2dd2259551ee8d35876eae8e127ff6d2e994a1b4e0d9288e0a33bec9dd65b5dc9ef193c3bcda422eb82854f34ff40314f74263c8a3c37b48d39f15d54618b30e5fa3fcbcf0f00a1b90d2c5585bf5e2ab34c9c3199578c0472664ac295d5f696ee27690dc8618b41341d9f525020e6cd6d7cb9e5ddae74f9343c9ba1fdfa93b67c1d7cbe9d7ba4c2776b28f0f66e6e5a88f3723fae4df3c7bdc22ecbc8b14c15bf6670246770d7f8404a7e3420d412a4a9c377e51a1d3ef25e5cef955214e94268be03e1e748ce70c06aa4fca522dac3dc5a4c8fece41528a9da1125b0d0479fad1652570e5fc5b24f9962d0fcf61bec8389eb40339d363e028ed71be99a5f9f088af4eea397d756f12621cffc1c5bc53e540b2c80b08ed7c2d186b1f37dd4dc78efb9db0685602e923d17c0353d194dc14683c9297366a1bb8c42d9f5209e1fe6cc548c907e47c094ccaca8c242b985c0b08dddfef51097394b1d9cbafdcd42e5dbddbc4d00d4ff8dd3c5f7288fc454cfe086aab0ac73beb2e4428564975089195314b506ad15ee9bf743f224c7377a5b9422be6c810b9ac161c3e488038c10f66c97a30df02cc0cc1b5e2a498a07d9d122e0666b3cd36c5788f02f597a48c7ea97550f9a13f71f2bfab1e8a8fac999b4c4f62876618203c1cb5aef8c38b4289192986ca44c1daed3268306f5f94e3ac3ae53491109f91d5f21bcc4e4d4ea3d6fba5687a516110ae1c89f795201b7ccb4d5c5c6c5a4d0ca9ff203239efced801e7874035d6b2860d8e98cc835364b5a9f45a595000c267ccb012ab4a03c171f5fd88ffbd691594803e39558162c291e2f001a2e3551321523f524d484e03875a9ceb205c507cdb773789b6382c6756814161bb91de58b9a8e2d31303c42598025a55ce764ea7f0bd0ff82a857ddae69bdcb7352218b2826fbc9064a3969e59c69a0f0d09ea61d7c4ad3818fac67b9eb519370d0fe3241062bd3a51ea3b68369fdd2b7cfe90522c10644ae208bea12e535c126f1c05c0f9841bb30a33b400125cdb9a7e680dfdd86671f813ca7ba8a10871e1e79d8cec82e8b8a7dbf2e311811a9d63447c3ef56fcd1ccbafa51478d8188769f880720c358df46e0fa68ce18fe60a2c7de857c4a10c659b2f67383a1b96a27acda24b51dd79265b665165568465fdbd25d7fc4a9a4675530e59081c6b4e0eb5e790e1ac8b3d006c84cf3856763271cec0382dce6c5ebf8c026c57027371812d9a7144699281985cabe6b9e5d24758912fb254cab2ce548b0ffb41121156039dca760a654d8ca6b4e6a55f3c97d1b46b6f0b29e3ed511779feb4265b347ca4bfa3266cf40aa2feca2940d1c0227c743d72ceaa2971d3b6ea8273435d1c6726cc1b1bd7c41b16a12cadb9744be33af5eab3fa9ee2241c1a360e809e1fe777ca23c110e41c0e6fb440c4e089118e18363550c893de332e2356eb0f97f30688d3e6ab328e3a8640146ebaa9bd70a79df4d49bca6805151c755fa7fdcaba42f30c54d8d42c4c4f975a64164aa3fa56e61d2dec2bcee6e4c8a7135bc06d438c15b6875a0a5fc9f37d8096aceeffd4b05d83cb14494e72dd253c006266aa6fbc5e2a6f03315b65b853a4a7779651374b59bf3cc35bb00f94aa5e659f2d2566ab98b1ae3eade6645121c5a9bf9aac6f3ac0990468cf517f5b0c3c4bb7bdff5a43172ff5942281f35cb505cb0fd5c5bb80ffa01b66052313a95903bab436dd67039c50f7c8c4ab2131f85cfec80d6d73aa1f2b8930fa7269123f5b422acb6c8f0d79a56451e98e58bf56abe534bba2a10925ae79cde4f1cf35b2ff0aef202461010bf68df0635a9fc51641b2097f4534241c011a9a93c0b92d53a681fcd2310bb670c8cb2fdf8d9c81cea795616b629948ad3569d7fcb755947ca862d65ea9300c71dbffd5d56eb5ab894c54b884f8feed35fe737b7d484d6121e156fb86fdccb3266d5ba7f0f65765e96dcdc1cdbf3318f2acbd4b3f710f6d383bd121cab557053372e4f3fc575e3aa9a01ad88c2e1c921d3bd7396a0f12b0fc5860c615a529c34feec96b11512d028f55b11bb691f1bfe126134df1821d6fbe64b0626b9103840a8d090610d075f1f9e190ec514d501a11b9074fb5479e7fe6a306d6459521d132eff299d5930b891504e165a7e77fa822bfee76cb7b939fce484787deda0ae774937a1b3a7b0021f8ff304b69c02da4c713f68467c648acf38bfce91808f2873a35f674a8354bec4e1724e76d12057abe1d664c7fe2e798cc3940a6387efd4b23cc78c35aa9a5f6fb216aa92c7e9f749223abcb31e2b3d94e04a051e2e99818ebf61b542c88294ca2e84af236580cac0b93c39ffc3a08658f2a857a220612436ffd6730cb34fc64984abef84a7cbe7a374477a27b82ca50019a479d712b50cf461f832e1dbc5745722e6e61f425313650dd23673d6b5ee1174b37cc58e490356c8a1438bee907b2872adfe0d5aee04e0699900588e38d33a42dcd08d32c26fcc2e688e73e868bacfdee38f1037d8e8fef760e2d86f96b4b5ef5fb5e1e2052fc84c1e209b4833567ae4594ef4cc9d15779192e321ae5168673c71940abb70ee2b8fab049302767f2debe456c7f7ab8e67fc2196b9b194ea4371f9d876b44e847d7530c1a596e061b1fe4983e1bb352342668f175bc940047dce5b1153650756b0b8fe0bbaf02def28fa51427615ea8c3c44b8101a537427d2e508530a2d44e846dd122a53e27def024dd56873c3f776f3b66bfe1e48b8b994554fd907af39437bd1ba246c93b7a0f83e52d8c93b06b93063e0148bb05e999c1512545ded5212644ca9bb28609af9630855b94ce866cd31cbb5b9ce02a48ac727491120f422b406c0740299d719fd4d466c1ed8a102230b21881a17e1d11a4ecd7fc7194b0cf41c725340d2cf88dab2aaabc4aa6890e6459829cc9afb06b5f4ab122db9cb0b76e8fbffc4fc8021f1153a870c241164ecf632ac6242880501ba31ef721f44200da11b1b4568ebda99ecc9a2801b77d41487118a5d1863887d2c78d790ff5556eed930ae9231d1d845f644f90f87ee98a87f7a7346d1883188fd3a0c3af7021eded71a4e40b946743cbfa85a81e7d1b59a9d4f5ae0fef9fcb9ca0797c83159b5f4f80b523a3a65b67938cc9cbd7d5eb5e789cf993a9d5812a1ea49684413162944d2be2bdce1b68924289f29262f940b300d8ac6efa1c6097656a68defeb2ae62bfd76583995420ea19a759e48ae1e35cd7735916a13429ee5f9cb193b90950bdff994c50cb129d40c5963478946f56125463b246dfcb4707d15cd169d1fe3ea7776a5af1554c7c54fa29edc105ccbb9eb4e16ab7850e3e7b78b21db64a810ccf6b4d8636273dd9a4d0097ea1db85adddee122acd81d3b4b24697503795724346b626b474c75902ddf4d59c2b1423841c42e403afb37fb63578ce9cfbd2de818fd46008f11f23ef179ef0e006fe1af6f4a7c2cf11abaa13a99d20ad14fe2be88fed7e83857e74977b521bafdae0d1056de6f8c67f0aa2cbbd6021e6a6a89e0833380ab724393e9c8355183e4b377711c6a03cf906b8fc903ac3f0243e17003068a28a8dcccbf20acc9bc802e8ae81d3ccf24e6da3c037f084a9d8d8c4e3878d6433b11b491ced3e333b3f0d8af070d21f608bf3506406d01c922b0b94d9039547edce08711a6ecb19e2952d192230e5e8e5d01f0fb5cf237bc7c3a9bf60d821d22dc257a31b981368057ec3a1b63ee6293bcc7a48e257aacc45cc005c820a2b80a466abc483760d52440fa9d2f1d155a62a8b13c85f923fd10b89d991a29844afc7b418cdbf586f73a5fed97460df89773018ca10988c01798797292f96cd8c6f42d4ef1f1d9b3520e85348681c702c62f0213cc020a073644faa9ae7197f5003cd80d7c5a071b7cb67d0e2f689437d6a4d0f16bed8d3769867503a84cf07f7379e0ed35a5e7bf09528b5cc57c71a43d74d6906a76eab586c03e018e630f6902cc98dc2e826afc16e62b46501b73c1307cd88a33068957a7ed79fad890c667c374ff3c02ecfe03d8e09df238e8c303de7ff96e026cb983f60453afcd1f8da20390971d941bb9c140832405e31fe15f0ce15dbfdffb563a64c639ec87376ef9b7a50c87b046d89cb4fd89f7bebbbaae549b383295a57dce2c5b71995f218d28f049f6eb8d7916ee8ca75d0c7015b97a3a350cac48348783249876b59308f4baddad64b1b93a8beca0744319d53a4ce27c77b3af00b567c7b7fc48a9e47dd136ba9dc80fe5e9dc12d63d7316e5da39e284d115157c2f6789d8f43363fece9ce50cf88c6b1acd50d96373c0649cf78c3ff1651660a83cf3640fc90468f92afc590f833bb373a7ae3a5eb2a0521062e8265017e94ed20171e37d3e3adfa5777bf9aec24cc0090a3dbff6c1d67174bf5b2ed43314505db437601d24d953997525db95348d2a4290a5bcf9fbaefa275fd6ed60edd1e91c7892b479ecb7a5d0f9280e56897dca727c22f47e2ad592e5777f77218e973d230e35d0ee4d70e4f77bd18923fba46e9622b6b0cece262fb6b12cb31dc69fb39a09f79ef40fa2d8544114d751bc2b6f0a7bf0198d07a616ea05e9e048d6bb9f93766d29c9b8096a4da4e3005aa8d764b4d0f4819b9eef5efa0351f7f4bdf0800c5946dd31cd94183740463ab3d45d46484b230a17987912f153ffd97c25837538beb521521bcbd7835e8eb6d0e681ac3eba2aa6084d1f827defca3a3e00582a8157c55f21314cb81d3e87295a73c656073fcf1409562d39a70dad500599c1f5c8acfdc4d438b84fda6c96ac99a9e55d6dac0193286fec0ce4ed5fc5708a555e7860c14d49b7153401bc62600bdad77ed585f4cc6fbb6a189e17eca6a15f880485383b06fb3fc3354926f26a5743c9973e50fcdbc9e651c3d1684431efe8a3cccee900185fa1218e394ef82b5acde56262605b07c48de0f105ff0c0cbdc7ea435ba9dfa66e3fe64fe74a029cb6533a442d03cf8632259f0e6c11722c5e5ceb75d5924fd7bfc1638f217523c2202c31b57fb948207b55b5c505d992e50789981246d7210a078d58e1a7804ba9c2e60066a1185496c191c76179327f10345685699e60457aacc1956cb25ee0568981e2c46e2dada5a4b4dfbbafddcbb245239a069358f4140319ddb11588f6b44ff5368ab6a3ccae0f8e57ab7ec15dacf7a741de2250df8c613d5689bba3bf8a06fab190bc64288292ae48fa5d123090876b432ccffc4495291427c32037b22728d04074b75ff21a26a9bd6e75d0abd8a4d4721930b8025ab8ea65db18813aeabd683cc74791ddcfa4fe7e522982899fd7dd152a57868e90c5d3dee6fe0708123a3c517591a0b8d74d5371007394a5c0f0f20816c5cfd20e11246dc9dae7174c5c9495a8b9cbe5e7e8000000000000000000000000000006111c1f262b323d","message_root":"0xc236bae15e89f1c84827e25d26b2f95f83307cd1c7b36fd6e365992dffc35dba","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5a46e603d89faaee3eefbbd28e97fff17169733346919ea013ffd3a9463a4c58bfb8d10b1d6b747c7d29d78364b2d22b8f46e63eded3ae8803dc4e52b8aa5a556896f66ba6e7e31e2efedebb1055499e6c4075d9a6f12ce499365cf0dd22b9692724e9b10c55af6e09ec47f6f9e8464a4976dcdff460ec29293c1ed02c89416750ef68afe30b5f44a8fdb2c74d0da0764c66022647abef6b51accf414e36d55313acb3343b830a183e90ae30291f92833401d72a9211255b3e93302510261243750930934aa0f5678f1c6b48dae96a201f1b9d5a45d367a67baa789fc5eaa2753e3bd98bf8e54a9c627232518130c1e0328cd6b8e93c1f3605a55caaf62c5d4525275ae72594c562c265c7af5890229011496a9ab9492fba85a228c9e253b4d6cbe2e2ac2bbbd65ca3a374edf27e21b802959467d69e954051414dbb0f5229ba8eca045a08dda4420d714a49ab16d7620737c038457aa13c41935803531ae52d3322667e511a6571217c77af226524b82755b27bd0ce1ed71459c90798472efbe5fd2367bb184f51a9c8ef48e52de1369f7412efd94926391b51f71d5ef8f7c84568e12cb2d558f8456d640a6322b4b092e530836b37b43c0548e1c10a83d371dd2b7116bad4083bd51bd53d825df5ec623930c48e0192792a7ccb2f02513225f703de4eb402993b2321468492b56311da1c0a4ea9a1fc43ea6313974eb71aa8c85ecde3a93e986ebda373937bed54e1a9fbed064cefc20f720c53ceb3294f05f85b9c317167814cb556d0297590c534dc6dc6751057e8f25a9b76224e2cb8480e9c07cd38955fb392e3d2bc2f6dd110bb7aa61dcd931516c9eb358ac6fade578d75069e7e9c27afe814ff1b8ca8976b413a1d460bf549501f7020a56186f5a9951d140c7b5dbf3101071d19eeac8b11d5bf82caeb20c5a4648f9862258036b237a7051c8c271cd2e46539af001ac116e137f9a041b95d8beac786e9853d3eed750e77664605f99509d78e0336f8fbb8fa9c0936c60e10e5f260eb415d4970f8890f1321ebeef80241668b90fd08f3bec953772b2849a9e2df24928901649aebb8d8e6717d9cd3fe013abd403cb6aee425cd0493b9d8d7eea42c1c37d2017f9978744ce217110a5b265465ed658f09a88f60828b9b213dbc306bd38ebd388152b80cdc8c59fea0e58b20f6877c2bdb55e46b11e7091915dae1140292687d61a678ec4228144d6b00ab0c5b890cd1f226b37a78a6724f6842d37cc33aed99e0ab94ca4d7efeee41cae5b153cb47242b01bdf9d1176cb7728a5790c8a3a3a5438c34da48f4e58eee2da9987f9ebdfa2bfdfdcefb4a12732203396cf53ba73a4e2cd9982a017a0ad7d783faf460381d39df77ea455689d0073cd13d5c20ef5d82ee8230ddc99b971fb6f983c910853aff4276b20361424a1de40c5d8009266f9465490ae4be1bb6772c74e66edca73ab16ce498d579d0a985e71b09c14a4f4e83b990fc0fc6fbc39dafc302a876b54324edb85e700839058744d87f9b777c4dab82d7e8ce876bef5277551ea16681d3b5b311efef8f8cdd9f73ca4cf4d688f0dd532c2f92c4ba0b13d76b7f35b317001e415efb9e5411f3899db42e354e76b2790add242fdc489b8fd90309724c616d6c7d532ab2d682b5adba062b8f05e931c5c231822184ea4a15518c3427a07e3b1103b3ccd131ca7e9051a74128bd93e7f92750a25e9d8cb5e35a998c945cf18670ef55dcbb32266f90c431f763eb3a77f21cf12c1812fe3c33b6a22e1d7b0dbffc1b3d136b2b5458345f84c6b7412a88735176f5fdbe558c8221dee00abc02ed518c547b6cb9609bad758d42ad701d768d985fd65c5f1100d9068085cd446b827b94a362f4c17dc63bad2fbb6c68a23ed4f002d6ef331f6c0380bdf884890b2d053585ad433fcb9d359e6f7efd8b783b2725e20d98e9e94006e09eb387d0e2228ac21ad25f0c40a22346501f86e7fd7ac9b05d1cd692acba7d661436234aee982451cfb40e2cff4323a5e060f8c3cafe54f77d15feea9558fc72601c14878e7e4a0c682b438f8cf8938a94c497b9d64f6ab9ac169a77313a7858ae91e8b40b6349d39853c67c027ab4f1480f200522894ac7497641fec27593dc597cafffd89a156a88c1054e7c95b5561edcf4430faba40af3c4e661d619fc96e68da504f8d058d69a7842ba2df2c23a150df931bef85df7d92ad05d1cbdd26b1f8980cb94bef24757e24fcad9631beb7ef411bee3ca3192046727b2175927d6a630551c7237bf166cbf0fcbb335a18bb2c00f80344f56c363927e83a323907613d9c279f35806973afa8e3f86bd051e1e310a3a95bdaad6cb75b826644cdab8e7d2481d3cdbeeddf7c14fe00f427f7662b8806a2fbb0c753366f38a9d129405dee7d4804cc2a089d53b6da0183c0a3428b50cd5a7bf0641e53395d7754ab811a691eac0363f1fa7498b4d6c3e76f5b3aa11682653936da096ad628b878dcbbaedf66e86314343dcacfb5e6380138f949ebbce5d3b5103e352d53b7214d130423880b8eb1c6df97ec6afaa8ca58f6432f790eb42b6026238befb0593b3ee56778a639abebb927032f83bef0a3acfacadeef227ccce54867d22b6d07cb3941a9b12fbe5d4a74c1d503c7b38ea7ca9025a95588c9367b2bb4ea25639b9180ccb3866f1ea3ee6885d436c3dbfe9cf7e07e73b271051c5aedd52e1931a9140900bb191c6a92755c7c0e14928c36457e8d983cc6e907fa3a324cf02962ef929a76c971513e04e49539dedca49c9acca050534827010e0c91c9f979da46212bbdb88f51a2ea41aa43a671a2e3fba0761475e49d6db79cbf8da6321c4ca1a260e1aafbcafc9246b932b67672a9d45991b30d1d3da464cf93813ae7c805fce57579a9a2af1b8f6231bb129a3ac989c74f4b969ec52362d349ac03366708d3edd145b0ccc8fb79038d388c4258afbb95a8f5329c5c70f55a87a55daf5d467e145459ff26f625bab1f2a95a6209434f4dc76bf3edafb7f470f2ecd5baa29216ebf3aa8ad450def055c5da10d9e535676cd35e68aebec985e797463e4fc1e726be4513e7fe6d3f882848a779ada638119c1e2a4ebadad12598c3abf0f62155d68c0827fbab738c32dded40136d756fbe24edeedbc5003bfe9a60cad66ca1bce1c44c0ed3b2244ba6c3fc518b5410c93cb25de6b038496c4ce240b8abda60b98f625cff74c5ac30012c01ecab907066258ab21fa47d0f6272e5d95d6fb14cfda4fa8a0e968a7e93d95a700fb9becf00de55341a374b5ca4c0bd5bd347000affe692330c8e83eb221b71dab0d6634885cbf84b73620c10ef7ff5179e016ba2f1fc233a947a04e4e6e01e2f7460f205180e61ab827bcaa5302ef96b2478c5288e7a9a8e6a55f6945e549ab936a85015585ac035c9c10bf355426943e91df845290257f2c66731ebc1e5ade124a1b6373c0c13dfbb71a8baf87c3767dc06c10847b64011a673179327ad4526340988212e754596f16c2ac7c071c177ed15c5b0fac66576c9f3300654d1c0b2e835fb22f840e8268525548334ae9a0fa5537b1bb1500a564b131cd47009ece8940a1b6922881ee34f2008902879f256f02bdfd043d42bc19576ad78e2d2e9662be15e77c56e4818214e5c036f6d690ce23ffcb","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xaa2edd375c5a0fc0462ca3f5bd84d06f243f9ed6bbb1d0dfb99b7435e51e7406","signature":"0xe5d6acdc6f89097af0c512f4f8ae53e06e3a8c35a5246387d4e2a783baa3c1351ff7d6f175412e68f170157365edf2c68e43eb9e8ee6389cee89970462c288603e35052af3d2ade04e825e974d588dcb83c7fae3425366a07a5fa828d2c43f214769c077c53fbd5b622fc728e54c06157e6687db42eeee660adbd369cee507d757f7751c2bb6f29eb5cb28f7c0c8370f73de7a77c052dbc0f4ac0326be2635029fbae03eb9d99ef92e9e5a1fa1ceea1d94a7058fc4b4685bb37fea2eb368a1d43dfb1097856d9ef82ba30da2d5fc5dac66afb7a6dcb12d29ddc2a28903c0a1941ab6c17108be743e22fb6ffe4f3aefeba010191682c82e9849f933fa00518e09459cf54bd4e967e050cfce465de644a675daca280c469b601884000e7e6e2c4eb812474785bd1893776a27a44987913bf269c2195e248679f78d8ee7c0b5462c2e0ce2341f4ce9faf63ff13956534ad92ddd9230fc275c365f9157155bed16d758e2494dd89725a9939d0c73f1931381d82d21e09fc2ac68b857c2d3a9e648ae41ae31b092fe28f505bee19fe6fc5bf19193e933ff16e38b7e6aa0c8d3bc3629e8d710394fe9351e75f2807d750f87675de3dc59681bd213ae2e026b22d5219a35d4f3f308e36ff5bf5bd76aaf5cf3830eee5718134c6aa90652c1c1ea625bb1a8ff871ef80bf9f3221dc2fb4cb7f6f5e17b8e4193287b803e1baf50beb4d9b2b9fe306012fe06a8497c90604312592755e0ba5e9792c4307da947c6237a604951205f871e45f52974f95cdcb4d960f56f0b79297157f529bb63bf9882962946f7a7b38314f2e32b08c9af4d979c70e083ab8d630d34d95baf072f88d98b17eb3e2950a9a5b885b609a1e83a207122d1722dba42da1bddbab3236f1387c4863ed76ef7a3ac0ce5a94eab5bfff04d4c9fba8fd89a69a2b3ebe3515d596468fe30ed1529e545a047286cb1cc2bd680fd87bd7d9ae6905e822f956136b1b23757ec8be66c059222924a24dfba74954ad71bead89e6ac6313bfb48a0c273200f207aa9c6e7d3034eca6c6c1278a1307c0332ed5f1c84baff91f2bd132e88150e30309dd16eda7d1c62582011b40cdd5d67306d433d8e4861d3c0b0ccd191be143c6ff0a5cfa6a10079736251cb900df9894c3a2da58966e845c696626c6a6619d28bea4afb4b0ddd205a75b239eb07361890509b76aa21606418f496c1cd53673e10c4b40c07a6b6694fe6e4bc47d50c37148105e911778137acdaf9a915ed2e847d9ef187f0fdbf31936c03f431480b148c2a8f38762cf821f9d27ec743522eb58d31970f82e86d646a992a99ec914042abc5a7b004b63fa042cc9d28678f7b83e3b738f72644921a0facb86d7a7f357c6c857d506b6a549f9316174ea53e3a5e02b21c85e8bbbe1d23faff12bcbcbf385a1ddf96abc7c74e26dcf9f3094cafa1d93bafe3fe49a619e6ba9e1642ef878909fa02d456fcceba67b0de3c2fb9aa3fcd47b4b961b3698a534f7ef83c678d945fb7280955ba96bb6c0253c89e6c6c98aabc2a2ec40a878c7cf3467a12e60adb6aa7308e10465ebace263d0955e3d99b2dc8d83dd8ef0d8b1b985fea2a1754a45a1923fd2d4310e7cd996bc3be20fc419eec095912550ef2aef1532a8ed9eddd555f30760df3a1944d2483b4de489b9b303f027f7b7e78786600b331185a9d5ae5ecefe0f1c8460810df5380708cb30168b5cd863170ea3e1105fff48687d57f18b15a6efc43430644bae9c6eea5df21d1c1f11d0ac87554549a5a9d6773e890054ad20cbdba104cd6ef117e133ae78f5ae06ba5f7774edef882b8e29f61be8b470f7ef95078d7cdb6a3f7033e0abf8ac02ee7c15169ee4603b791461cb954335afa3a7d881a276b9c44e7d18f4f02a87caf78aeeeaf89db2f8d8d789b1f5c074c08a8d2613ece38ff1c19b2a25f75b2adca52d92041fa405020885134ad2723d0548775a95f262d9a262f75290fc301191d462bcc6360ce68d4af804e62b4c65db39b3d9692db0ad58360bf726b532d5805c39f57db15d8f25974b84d850c8f0f229b05ee677e026fb192304dd4a3c20a2cc428b6ca9cea99078bb458a1a4c962e3cea809a69275a115657b123c2bc688284fd9e1673af191645dd8d311b6849d1d69b270fbf6c3ec3d05b286174adf02fdf29f5d984e201c599fb0192e94dd18bc156c4003b9ffa9ee18e9f5afd6119a86bb90709d5b04ed181582b13787d9bce8d9c15990628848e64f52e9a6115b2aa9b5e149130d259cd4f0206eea7a18f2cfacb81c63adf1edfeb05a1f8c941d178ac47ec1b6d9384027500e0cabf02bddda12d8dc79e1b1d899fe5de05712902b9b82de4c3f3378d31146371ec62da9cfcc68037ba936d504e28cdca4abc0e9a671d3c91d50f0771efa312ac37b0642fccb5d6978746b29293489c3a8f770706700c1bb00eb3e4cc98c6885fe5e53f8c146a9971959474b700b8ac3af8209f86204ad6d2b1a9f6b1a06103b3d725d17f690c6ed1d052a2d2a8191f0fa89be02ca9fd63fdcc70c1d68ac912e6819f44a6429718a88e065e5d6b85b6b3bd69e081fd4bc42e9cce583cde367c7b26182c88ca8e1d57b93c41302547ec1687ea5d3b27492f005ca978311fdf6180b5d3749d19e8cc85a80e713f68e7c8a77d227963c21e88e8b4945d41769a7815b807a53bbb2b5d44083bacf5a1dac434807fbbf8dc37e1e46f685fa5ef1d2bbcb94680ebfd93386d3da69bff7663e9c310ad856ae1ffa7e9673db2a53e8fa8089c3938916c387d877cd89de30420a7eeb0a929b5b2a624ce53388045690fbbb704fcfa4767ad83baa87172d498f98fca357f8b15c3d392d3dd66b5f4f6f97f7ce72768d890310903a7ea155f05d0d8745ad9afc5632f0317a2c9bca0a95eddf878987cdacc594d5fd291792ced50ef8300ecaf942c61a00cc512d14b7f16c60ca9951d12d41810243600f8361b6ebdbc4982003015ed33d999558ff88b2e4f3aab4805e8ab9f9023912acd740bd10d7f08af43a744ee24cb234f5e69a8280b31c903017ac6dd85bcdfd4d2b5067a6294bf1264a237caed5cbb84435e1a13f4b9a3d465ba62fe5cfbe7d6a895a2f7140d7179742fefddd571fd91cc614fb8dfdc00693728bb83c73e72fe0cdd8aa33e83ec75342c5004ba81f1d21c53d1530ed5acfcd579ca2597c7ee34305e731392b6ebdde2ff386d5e90f11448071000ec95bf90578ed5fa6a4e922ef4586d84015e387426b7191ea07499abf82009913351fb561d20f12d3483257ae4c57d33bd252a39c876e69cfa6f5d4787433575c5e1dc4887be39edaa2b6dfea20a1cd2f87407216fd1bb40de03594bb43e9286760f230d94518f9f4797e6e9beebe97a6cb70a94c66890d8ed2549522cedc61b61f81150d6b63b0fa04d2a10f6cb4972ee3b78ba08a91b890256ebe76f3f5a4603c0c35fd095242dacdfd355bb7925b384b2e0f42103b4a97ebb06b4a0898cf8b6fe56ace19f0b3eb7db4e2b5c6fd123bfc005e27457c4b6c3eafffecaf8556985d3d8df0347d675c6e8df4a811af95884a6d2575506ce7c89476c02bf8ec96a19eec25236282358b8de0a5d3027634278d6318a1a0d29dcf1b8cff748d42c8c6ba73da7475c8023e8e9c40de42f059750b51fc196ed7b80c4498cb24744a1bcab0933195cd51d1870e18967636d0a8a238e9a9a1cbdd101618a5b1b32b0d9d95df0c6007c2bae84594b621bc19810c016a74b97fc034bd5cbbc5baec5be84c5a2e96ca31275d452d1e81254a0cc52e26a0309be038c35d02afb588161ace1f94ad7f4fa3b7bd41fc2905e73d56309634bf2b49f34b5fdcc68f07a9fc22a497c4394a22365d0c047113fce72e7f135c68b4cf8280c090dc635d02c1b386c32fae13cbdbb22cf39e3d70c1a31654fe03f63b218b42bbfae9aaa4944dbb9f6e9f8fa7477c99ae026cda50e89b52ce064db4f57a2150adc13b667f5d469f48916f0e06667ae4dba4b17033f1a1e8b6ce8a7beedceede0dc974418964ef5f7cd904af87ce996baca0492459775be9ddf7b12fd18704ed28f5a5b6a4efdcbbee1b206384b36be00b9ee1ec50cc6f55d8f30dc4202c99f8a8b56f665ee43d87284766f54c0d9053e19ca949547271a17ca546542f2ab236f5a66fd554d4f0be1925c69d6dea46b525fb8f990a252341d043da019314fe58143a9d2b9f4fb6d010e0dfe371c6c24be941908c3ff87c9e7adf3cbe0aee7814a1efd10908db1a624cf8a98792986fbbe1ec69a5495139ec91866d1ef46ee15b657072a614a71fb69ec2e3cd35fd3ec5db27bdd826cbd7785914f8230cd43b3049b149dc4f7b861f9517be913d3b11b358be3d8e42baa9ba658ed38551d2f8590a5662fad30e63be3c55f686bf32e8cc0324c21ce54756d2e7ccbf859ec60112c302bf769c2088c38fe550a9b76be7a2cfdfe480efd5ff0a03c97470fb07d8b795301d9f8f3ae7c42db4f1062b99118af7fe47954e1f0478064441c2447cab071b203aa2a7a8fbad4ccdb4b4db128a25ae481e50d347965edd6c1ec59994a369ea7d5030c4f18ce91a0ef979772bf8884ebf334317603bb685f86386320c013c5058f351896c4f91244d47d633f7e45105cf45b21d3bc3ca65de9ffde825c852ab3dd11baaeba6a3f24eaded1edb5dd2da095ad6bb7efaba9c0bf7ab1a0ade47724b851fa25e23079744e275d0a4c94485de45dd1177294fc0b047d5b39c0a3c58d3ce4b93348ba4adfcb2ee3433e4ccc8ecee92e6d35797f3d5c21241799373bee57471f063991f77272390d3bbd8b19066c199f8f562e6970a6cc8a40410c08f0aa76dc3625999f78a51c8f2bfb82a2f1ca7a8afa33fb32d76c63a5970f408ed19491ec4ae477d1bd2062508f2020b983ccaa5a644d522d951ed047f030a2a0ea3ef44caa82331c29c9e771577961fef8386ff57e45d593ed1c54f8f99c7f239972adb85737ee222fd202da9aad2b22cb78075ccae1be19b7b8597506fa0fe43f9748e6273511fc8ca2e74fa236a777e3ecadfdf6a9601ae0d2999fca47380922bb9687be5c7f722cf3a4ed641a238c5958d7b4b7266f6aec3524c549ad27200b20809c0623c5988b58479a5f4baac115384a33e61089a9eeaa3824e3c1fe3d3552540cffdc5f83a454303712bbf43a1f8a52109442b8ba9c7e239690a6905814f40a4cf3f2e55fb3179ca057c94fe5ef0a8d3b3dc968df5d53f87b0dd52c9bc7a09f88444c99ae3cfe109a5c4450a9f4b9e195ad02a5cd43676a518d3a3ce6312e64cc1bca898b0b96b433fd87d75a9a2187494272a55a3a5f909b3187db063ae2b293cc2a6e498dbb7182e4aef87a00520fb53170dfdb8f12991eeae012e54ca18320bbc29f705ad656ddcc14621c3c0f14d859a0c8ce158c6cc82141741286557c7ec24747940bc0ba76dd651d14876d12b405b4c29b7089c7467695009435a1336032b358025a072b21cc492ec5c1913b62c25a4f57dbda65f356e290c6f492a1d5ecbbbfaa3bc724c8e485536ea4c50f0263c15347a9c83af88e811423a5901e54d9f7157bd250b29c64a718fcf3739dbb07cd9c821fff1e7de4e9349e36d6c7bd87413c3aa465e26a78706b403733ba923471adbace6417f827d843eaa20a1917bf554fd3fbad38843c98bd38ebcf347500659486a2dc289a53d510bb593bc3ec4d706d1270740928beb1f5ce0bc6da74ecc85ff99d08c2fa3dc57fbc08ebc89e1a4ca8aa774ff5afd36491b44d7788e4365503d6f57279b1b188f73c6ecdc352bdcc2d6cd4050747f0693498d877dda430bb2ad768cd2cd2df946a45d10ce962be13df61f27e7be0605b91db3def8460bbd0f59080e26e7549c1425c1e9997dab3d008fe4eeffe5f10b043d5167e97ba138fdcb272668fe4f323599ff80e4f1de801067ec25cf750aaac0a2be6bb1cca928da3e2dbe2fec139de21a0cb9ac1623dc96584ea7e676d8149c621f6a9e4b86393a52e863439926a0d1558ac400806394a6e5b5f78a4eaaba29eb9734d110b4e0fbc3ab1ac746ca9d5435da6b1782577aa2908f189a187e0de792b5fd96270f4949bb350f5a717186a932f3ae4d6ca37026e0287d138dffb00b359fb2bb9d84010febd2c6c826cef3fd7fcc495c5ae3adcb22ed21582b1827c9184c8744b876259ecf01385dfe6f5292af1b55df812e90519e50577ae4b0357b8d208429532964dd7d79741ca6f226deda22bc7c7562c3adff480da07e0157a76c3a1716dcf319654046f478defd751ada9ca203372572f6857f48374d83b5f28329e03fa0c3d2e7d2c73b54256f285b88989a8bd85f132b0761481d420cdd1fd4776e6e28f9439b67ad6bc09484650230023134b79f4523a86e399b1cd213fda14321a97fa1a579e223396aaea9ad1435c30627282c778fc4ca0625305e7f8da2d01188d30708367ecc010a26666d6f969ca8b3474872a3242b69c5eff0000e32516077888e91c4ce000000000000000000000000000000000000000000070f121721252b36","message_root":"0x59c5033b9b3c0bdd855c0ac3ccfcc1360f05e749224ec35f5140663eb911719c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x0112e3c28c2646efc3b661a866ee29f12f648dbcedf4d2fd4951a084d5f8678228b72a11fba2b19dd3e021ffab7ace56c926ec13fb73fb99b079defba72be144b6947a1936133c511bf1651d881320febce1496b7865f5695535450e45ed1db355d41e97be1179d9b6e6cdfe0027dfdc3849f7e18e735b1d2d329b2dca2923467aac3508d69be8377d394ec7dcbafae21c6f73cde6046ae2d6aa71d827d133cd8b5ec90dc2847fb584cf4a79a29d285d509e91d219c16f4ba297e0d9c0a62f94d5de5112dc602ddf7079a02213f14e578899da478b0c201ece163f0a16e5dc1bdac9c0523cd92c56f2621371d27b693c4f9b57152b98ca802c34d00506d249fb3e6e44f57079619f9efdd2dbd3628409be6e83351b506338c39704c5888ac44fced1ffa785c99c988c4c7a4dc76d0c060e0691002ca64012ede2cfbeb8dca20c72f795017f96d9aa4fc00b24064b784e1ec8cab375e4cb296a8aa7765ebe4762399d912a297fd0b67e50005b93be401a2a6495eb4d4024726e3c6c8b2853158c7b5b505a14ceab72750aceb21fbec930703adb1ff11f4eaaf754f9c6c2287afe714a2ca03a5ec1dbf5806ea30e04caf872afd4d5916b9471551e5c56fea483b17d73ee0063b064a830600dc100d5f69b5bc72457efce4752756511184e07798e05e6017a087dc3b72c93f9ded43da75757e94e07e8001c73b675f784dfa2118edd4639ed7e3bc41a1d52222bf3f92438b83daf2cd2ffa890533be253e06bce57f4f01326dabeb34e3bb3fc3da41c43eac614e5afb7d5f248112e9a4f82962954fa344eff4ad10177d35dd4131982210acc69e98ef6ea238ef6b790a627459a9896389c2ed0e98f21bc5417a74f3cc9bda948b485dc975f5c3e8726d6fca1f7452ca815e75563993deb6ae1d5a13b141048efa7edb00935e8e3bbe829b0193c83018d4d01a4cedd45d0434b5aceaedd595de9509b1886d3429428f21996318226e4a2fdc5b3a18590cd8664068d747fdbb4ef1aff32858c90812187aee99fc6fd4245c3bbc0323de80e2164235133cca13fd2952740e4665ec669bc4d30f96c2f893167fba0f5d81e5eeb5c9fae6f39c935072cfc8bc8c25b514c1dae507af2f10a9772c34f9f3ed77a5382b3d00b12055e25e87119241e6b1a5e428e6229fcd5a0c8ba3b227d113594a878e034b7ed3572eabbcc77b0f0ff366af27568eb23470883284bb048feb48f790efd942c4f0a0cc29959fc8be4bdb1a4a3b22f21e80c625f4c4acf4bc8768cc92e9a8982499b505387abdae4b6d08ee0043da6277346c18db24c7c41f8c48ecdef791b130504c05de577634fcd9822a9afbebd88845c140bca0afef6e13a15ee9f2d90af2e82b88c859048f593873215e98b1a8c174277980203fbdc487b1f18127adaf5b9ef818e8d087e4c698448edaea5d948364d748c5b3d2adca1e7b38b609cae235161c803e1f554da4efc35277f3b08f092d64ca544b7a8fce5de5c04b2d998637ef437073a16b9b00658060b315e0291131037bf44d4f344eae19ff4c67bc1376a7a431877cd18b282c9142f0260ba36d91d96dcc194d1b6b26d9201ea70e067837d261bc3e94d6ebdf321d9677b7b89e4691916af644cf46da23d087ccc57846823f5092e41fd3c1a3e934f61823bcf58789eed993e42c4e894a34deec31d26df4e0dfc26cad0aa33dad80b258d539c6a11782aef1f6d9ab95af93d2fff959b7c07567dbd5ebb5e6bd52373e3bdc6bd5dd359add44e6a801ff20e3069a0ffe5e70f8abb38e27ff8ac387a1dfc7a250345a694b0acb6f5081ccbea88d4e88315845f77532d303fc5d077e66610c7fed5d3bce29c0a5608bf71382b4aa670769eca61196aeb81231494ddb0aeaec3e6e4306ac31bf2f472152f8d4d93542e5ca12982e8bc9ce612f7a9b6e8f23758a38e382a03a527f61a04d36892b0677d0abd3d481310cf5b71bbc6411526a35b4be18824473c66f949e1e067c9b46442ee9f1c9415e45a6a1041cb334ef8577936d9f0cbe0596ae1c1901ab603b3b6fda36365e732a908fc234a2226c306f33d80ea296ce2c5c6a2200810423e76653f1c101446f269a2ece2dd3d4da2f100983b79d488388ef93f81ccfa63a22498a4fc381b66c0021777ef361bd0e4f0c3908277b8e6598f44847266b50e3bea08b56a8f25192018b961ee5e409ddc7af7a2b86fa9d2a76b998d2214e6b75ac104541f72bff0f477710d5a301825ba5b71d47374c176b4e0f60a23d36493f7d1221ae7a925651e43a9098245eb4bb4cf9dcfcb14c0be8f3eced68b059b08f9ae2ff41be423f650bb7035d7b7bab0accfbb2a37826580f25f1072654e4e36f806ec5c527ea77cd6b3d5df7e7acbc370b75c00429994608c082ae54cec4b78ddf0831f8d95483b67e2e77059f8f263104c0252a38da1c1bdccb8f772af710b91f1e596b332e4375c3a82e05795cd48f2d1adafa8638afe86baef576ede38e51e2e9249029fcb921bdbec145621663cabe04e7915fad52fac918e304309d40a22c25a83f4c0b3b755248af1b0e294ca214fdc05d4648685e3a6616bc0ef5291b07ec3022a39db1ab8c889d02925128dd6469f1b8e86ead2e4313da33bba9506dffd3ababfd8adbe826723a7eca818dbe08d00c6745523c91cb60486b2a4e214fe4d497ca5e09021a3b7dbdb4df82e7fb78f0b8ac0a726fb3967037c639821c8cab4234e8819ce40dd4220d2b370d20ee30a25d60a8cdb83a16aa1907b601d9bd52dfb130fb33cdcd9576255afa03b6b980968a1228f70ab6c26b5c0edc76fb27f862e2b461b53ffefe75783006c96ebd7181554bb16e8888e5aa64357796d2f0221cad01d94525aef6d8e6e916ca1eba706be0d751df33b232529e56564c6873d90ee52ab6f96103762e6bced287022a5c5d144fce76a078f7b008004a2a434cdf1bd3a34fbdc9b1d6164d8802f9cae1be09fe3f2cb63a1dec309327808d8824c2de8d4dde4fa32a90ebbc1e4b51339a29671e4f034eaca4e9e113d6ebbe7dfc04ae9a2d8b94e1b0943303a1f473772231993fb59975fe1a1be3c3be85d17e30bca9b01f7e89f08c0f5768d98d051c3ba5d262c681d0b63480ea1533211d897589147894c6ff0a117affe3e87b1a65b7e05050660f8d0808d08ff0b13bb3e1d1014ac8cd2b7e0dbdd43b2476719e9a578fbfdd24ec0754e4f89d485c540904f12a0a32218edd2b7ee80d1fe7fc8910ae7eb5b9c6c3c2bf70afe8a731a15332c54dd145f6798eedf4a54eee84227a5721124381ce1d9d0607b13197216b5abb4ab182f5fa15debcc1bf037129340cd51d53d04935f86ee4bff787057fe626f008163d3260d859dc087ca1d92bfb4d4f504235d47f8f8c430d2a0a6146f9a2904042f7d5c0bb672ee79cdd5d9aa47b7a15a9445a03fad8fb2357ecf17e39a98514fa88812c3894df4e4b624c1bfd5762e72b24b65a69e55831d4e884ae6438e717590ce9fd928d5e619fe557dc86b580ed0b89f5641a3695af47e2ec08a2eb10a8a20e6a290ae2e85edb3512a5b0030baec89a27fcc11a9619e8a549516b119da300958cec8c407931a49651fd2e8fe5e2e8ddef216f759b2b6fb523aa154ec1419b51463004e78b81c3ad4b074b7a38ccbf64680aa465718","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x8ccfd41c5416fca368890757f2723f69e62a8f3bd323032217a819c98f76d9af","signature":"0x86af113d9b87e87587f4d9c66dbcb8352071e05b3542556e6cc9920552bd66216f1659e8b3b2585b6870c4d638a37e5aaa2cd21a8201fc9e897a665a1cb188da5b20c965c62781452c6b72e41fb69bb7a1e089c5c80b8f3c84bcb583f01c9cf63bf9844ba844ce975107a6546b85724f6ecbbddbb981ccd06ad897cada139f5d2b5472dc607378d0cc7066bdc753b8122ab0738f4a29cce0dff29e0037800874711462a4207403a7951ff06942f19cd89a94edff7c96ea3ae2e04b59756bdd0877b2b62c24f4272399df64e500efae738fbba66d980e7f3da5e6e6536e4aba861336e8fb9124722f66e769a618a1b64a3d8966be81bbc9d0824253f8b632bbee181356d78f01eb91bb9600bc7033a2d4fb7996da270b511865f38cace94e9ce60b4423f0e53866ae9851ace8fddf1fbd7e94530b5a8c5d370349ecad968b49a29e9dfd00199578718b810a13557d51c7ccedfbef009acfdbfe9e7a7fcd19a1f98891926550ef96b157f4d4589ea7bdf9ccd6f9404979eec997d8debec8948a0bb431b669dc1740bd5f463d46ca55cbdda8750aef51af78ef75f712fc526151a1cfdd8edf1e74a8724a50f3630b0b35435c2e68f1c8d52d8b3e38b01073ea2c8cb31dc2551b959ca442ca27dd638f635bc809cf79c28dec92cf824df59bb9a71af5c5dbbabe610c1b2b68895d974b6e0a37d5f5e13a423992c350ff61fc55c1cc8804988671bdc199afc44717de93494800f71ea469b4eed93eda466d0bbe8602b8f495b969fc98a1c396e1e11661dae8874ec7c969ce67b40e15c7e4b18f0ff631831abace086d5ac628b9c361a369314361e447c596056a2a6de0876f83ba78ffd8dfe4d524fcbf3329cdcfb422fc91b5fcecb7b62382f2ed6b9b1da2b3fcacc2a097d40085baa76a75f319de386b6578d3558d4b3ba95456fd86f257504e60fbb432063709d9aab8a7400c5afa91174d6d257ab3f94048c78540325dcaea3228d84087ac55fbafeaa9ec75da5f3c6579f230abe7b1dedc76f74eb8c1540800fd0bfa2b21c037ad76ce16e8851e7974f9974a85e05ea6617fa042e890e941d794cd456378e05208125671707e076f6f594eebbffa05f8c1ebc628390d47bd4d6050ad19e05a0e14d43e77dfb6f8b2d92bd3c745ab4b61a5c44bf498739b319cfa3a3b25e1f3b0ae32b73d6bc766b74d40cb4b165ec3305fa23560d680fe87c9d0f8889c4fbc636e26951671e5ac5dbd9c3f8c08dd20603095c9213189c7c4f306abfc2f2bc10e1475f0d359b5ca1efecbdaba58005675475d9b69f0682424966de263d0ea24ab9491f451e6dd3fcb439785455f4e2a70d8db6b4c119b69660b043c59d2f5e089f30f4c4ff0d47494d7d3dcaccea53a96a89004592fd14208de666352b5c7aeb67c2290587d66f7427aa46e5645a8d31529bd063c0f57fed6fb11967525f6c4162cac549bb7556c080a5fea6c166ac098cabe20dc7ab50a239fb6aa0db9fc24b8a7a9d2e9abc652e0837ed5b5b23e8bd05f92840523777753a4b04477476d1450b1cabff975e99f55ea544f4b86345dc89eb49985dfbcff329b0bc61221ec0d239fd69b726f6972ec6c5d0db9a6603dbaa11ac2f632c0ff78db2bc2d0e6f2de2501028161682a326dcea9decf1d01e4058a900314081e9bfa0a78fd24a9dbefd2489cc84a680ac93827c016d476e4b677e24147de41f722e73ace0c8852a4e60c6bc8130b2ce6c5151b96228d15a7f767234c0911b9a4975ed08f57eac401f81045a318e0184c42436b9f348d53eed613c606a518df0530c962e3e8ab0adb7a0b6ddf04044f980f649840ee763c48cf3c5db8ab71f73098fd8d161a2f8a7dd0a9ac5ac8923686a14e8942c7b8077271f1a2a0e844ca7c6201ec799b62be5ef51e7f80b5a427fac27783f3403be687614f3e9475b558c0a5a58b3c0e2a646d54bd0938aa7b4f7c9c7b6be9f6e79367ee27748c8629ae424276e757c3a355124c0c1b75b12d57f062dbdb5055219637500ef4baa8afb64d38467e1b9c2b4ca05062152cfe631aef30480c6c88b816126e6e0e36af77ac6937c1b57009ef220e144ebb84d5795071142db8866e4013f95d06ddd7ff7a5ca6007edabbc0c0217f4ca863dce5db539887b520d0ec3e006c55e55653ba741d49da9bb3e6ea723920e1d9758aa96d6ebef3160c25b4f39138633e923f4af6b696a154339b66ac308471fab71d05c3d0775dd3132fc4945b78f4c071d1215cf8ef3c8f4a470907830ec1e4c6059691d6fd2717903ba111667fa0cb23b38b7ae6b77c2b42c57439866ba936c76275f8d5a9e16b5d1e2fee6cf391c6635b9d84e84ccd96281cffc022ceb9e889150fe0c5b179606cc797de1de2696c0da416fce38290d16fe64537ab836f5a6df73960ee7dc08b9b3957631ec8d8e1a86b4831eb32076e4e742cb6ee6126d6dba1585338e3f9677f44b0bf8e9e35555caff0e08fc871ab37aa7c0154723a420a326a3eec2d8aae4c6c39d9ab6ec7379e318dbe736e31171588331bf3fb6290737ebcc628c87db84d9d727283e1c13a6a89eeab6963a33ab1ff5d8516cf315dbd551b2ed5e63db72c02891473a13e6e68cce73e13f769daa60b208a8fbb7f29c856b5a4c30816bb1cb6da070e71c9106b46a32e6a898e53d7dd1cd024b7f1cd60aee327b57276c882c4f87d19a39f095e53fd5e98c708e89d857cb295c40206aff1b6909cab2d0fa98bfe1812d00f1b437efcae4e6c5dae2c04d4df9d9ed66d9d3a232ecea3b8e2e15b85499f6132ac438a1b55c157a6a9fbda74f0c7e837b2ac6da2057ff66b4cec44e93cda59f1d74e4d338e22aa905ddd5b512479f4cf026de96f68b1a497396882e0441a55dc912b58277733eff73fc9812fe8c4fdaf568060ee5fcd20f824e78f00b6101f1ec17d33ff572fe5b1df10cfb3525b2e2951e5961b03bb1daab38c933f39729703b68fef07038bef90425579ddce2cfc1eb905d04e23c73b254833fe776f20154c5a11f6e6d179f33c62f04d71bda0942aca8eac550514702ea58f3cedd029806261ac9ccd8b2a57567a2a97d1e6edef7915d82828d34b0b13e4efc4675f26814e8b4da5fd13bd4a1f8416d5ff84e0bbc18680db456f38faa57d6f39fca64168fea0cce2dc410c531b20509a727aa0ce697c6527ad7d5d1d1c19a0f45c0ded3a4b08cdc0af63293f610587eefd1abae59a8e6b7617c8c3767afbaa2673d94837d159b4fc15032fba5845509445df88735bdafe151798c05bbbc042e15f1d7e711e0c8b5ec8db82da52aca307754f60cee6c197df252df975923cd0ce3e72aed3352a7c1f453fa26d4e8de5f8f44330ce03b24a8ae269d8ec03eb7cd16fdde8dda85897835657f5d7fb13b5659f2849140e8e49f9d2c51b93a805c26442d0643688121e5806cecddec0e315819940a427245a32ceca7053d3ec03572bf146c47ecf8db176bb9bfa909021d55a22481c622354e8b04de3bff8d5702a7aa367939744f154d2819a47cd92c91586709c73227c013463eb851c911c9e4742b3f87fd4f78dc0b15c307387a0f8a4279caad347ae68f29aac0be909bda51299c2d245c8731802d9b9d900d70844ad1a54c4cf896492d5b6bccda2f1f84ae6209480871c086cfa092f000f70150443a779973a011f1081971e5428d4d07e81712c8fdc7a4b785274e988f74daad09777b9909811b607bae7f0262e0af8c0b2430d903092e1ea39a3257342a0001ec86b47eed4a64b5a37a798466c0f8a1bef1e05e9f2f24c6f44f199e5a98b19b8004b9222f1808fae57824d14728780b59bbf24bfb3755eebc03d233fdbf71d8af91528ae1115715288cbb97c12f6bf2bcb4668eb211179c2a1a86fe0d4cf3b5a146b97de88fe65ae8b399ca3f2552e7b1d8d445032ecad99dd4cb257ce2db7e1c716d019fce8e5e4471822a62110fd1fa23d731281246b8eb0486b6a2a9cf2868d65ab35828fb55fd0f697bcc80250c8a7c4f6133440243fedbeef5e42c7bd901424ba7e2365f969283e7971089f3cd7372c8816ede092978873b1f5ab574eae7fd52ff46828fa306f1b357823fe5277d09d2917d9521b79f062d12508a6411cf7606fbaf622c8c21923b202067ec1108c06d6a00f6c8f19411f8d479f4361b0672f1c53cc84240aa43ba2538f43dc70e160e55fccd1bf1ba17d798aecb0f44e56155063a0d33442f3df52731aef90d6eb497db0bb13d14abd5996fef095289c8a00775b2c09c236920cf41af399fd43eac5b6ce67e1450a2757e2953c864187ecc9bac6ccddc590e8ecc9cd2e44ba903053cb889d6fe1b77fd748d0bc7c42b2c53fad334d6fc70858b679bc58d57529e6cae502c5253e4f3559af44b095c716d17c00d1ab36e93184d9e8305c10b99f34e98ade0dfb60b14f6fa10cba15e6a85e09044534120182a9d7973c5c7b3869346c26b8d2de9c0d4839502ea5387bafe7e1909e15cffe2a53bb5231b08c93831fd5aef5bb859e8bb4ffc6236246a42c240cc303bdaeb52154883e791dc6331e39afcbbd6666d935061cc1eb6ae74de217f996813c9b4ec380b291a24dd65889b9174b02a89af92d63ce771e3cfe7f720b5e8daa0d616ea764e9dd4329b0db9ff66beafd474e8c16a5002ae50171849e5ca51dedd14426bfc52c6e8554574fd9b8a3266e3ceda3974b590791966117f502eded2fde0b6d9b66906cfb8bda15995a0e226997cc49760c6be4990d5b2db54e41605aff0da2b35c2158424272d8f271f30c7dd6cd14759d5191b94a81f881b347818b33d66fdc82e8a84438478affcfb8de30fddc41daea6b919d312faf22ca7af4874d3bcde8021b93b9142ec78aba7dd94bac9c178e9c5070f2594976d173c0a10d1d295f4e22aa01f79671b19c58d94749badc00c54551be0bf2721b1ae74bd8b0df6702da186321b2db65bf1179706f472a48744da264492bf5e8a31b46a6d7a7aaad355590ef0062a5a9b10a54df742b82f8b7d8ea1a3d47f4b0f0d139c41ffb808a32ee01880c6e6637827203a0e8662866d1c8bcccd036dc52b57b063031aac4f021a8afdfa72be284401b06646fad620a0db8967375987343460ebc2a7686d7d001dd92c48ef3417883e351027f66c283254de538ee8263b0d64677080a931cf71e8bf8bcf2eaeaed8a379ac0bbe13f27e40f61f59628cadbbdc138e4f22ce7032c5b2b125755e8da6a0ece8b45885d21c8bd3cc83995d2cd6709a4d6fe85d883fc30ea5cf1603dd4445ad9fb4596130be05ce7b7b9fa4fb1d0bef4db52a70516a1f890dbea916125c105e15e201985a590a47482a180b3d1d087e928e6359870d98e66f12a9261b027c858dbf5d9ab16a373db1999c300cd6d056754aff57c2a9853bbe90ccc5926efba5bdb02af7036c178446b0b704f5d2c41d8744665c2489c2bb4a4c81e332ed85131a0a61a8f5c3903405ec1c395cca9bf1084a52400985de3dddbf85dc5818fa5e8d7ed9113f65518afdbe23a73df3c2654c232dcef7eaea37d669f0caae0b6b93c4f6a949d6fd7a8d1861e520b85d818e2af7a8a4b3d69758d8fa906af0004c7244d6a62b44add3179dd6d9b27dbfdd26d7db3c39e1ea66c5040eee854bfc39627923b6913c3691972489f5bab917e6a6d9074ba4c035c886bc5831a8b25477765aa33c303166babdce51c41ee2218db8cf8a81a542003a156b64d12a998c92727636e79b09be1596b90dc0adc2216a0fec569e395f26f3c523e697c9030f779d129b9273fa593f69a555d79f018f3ea2994fd2342bb1b1fa2ad01f0e39df77f3b080195984650388e18d9bd2b5c79e974f53f53da32e12ec8d1e17678409c6baabe9186a3dd1b48bdfa668d601e9665f2d6dddddb4c984029de6b5d8de68f64d065dfa3eb3bc58a2e3c16a700dc7514c5394c9331830864969bc3c0a8e2d5852593cd9cd54c55bd34f1c748b01ca5f89d545dcbc56f592f1345ee322883093053ea7f8d2633559d5c9d69ec2eac26c733fddcfc6d60df19c65281187622332285d07d24e446b9dff1c748e4c635d5b1f27ba2201f01e8bd14b9f089ad88163e3de2444d47c05212a512d5aed59d1a39ecb060603eaae1fed28a7e97ee2d63abd00e4d43ce72d5ac1b2b012919bd6fc25898c243a2ac7343093687a9aa12e734bca3bbe752ab4bb6dcd89abaf590a581fdd83c726d97a09e47ec68522011142cd10c0285ba4207992a54f4058ce3bb5b70c12e765ceba5f97c22333cee9780136dfd3646c648b9cc3eaa1d51775e7e98fa2f15c49affc0d54ac73e02a9eb823790f6db88f960ffddfa20aa497406dd1c6676915b834e2d487f5a3a15be17c06e20b714c8271163130cfffd621244cc62267915fb20186442d05de7ebca84e3005aaad2a98efeb88d5cd1bd1d628b5fecc7123ca8acbfc6ef51566b709be8f5fc2c46597073b1134e838586b9c8d9f82d416d163ab3c33f49545a5e6a9cc7dadee43c3d5a70738cc4e800000000000000000000000000000000000000070f151e21253038","message_root":"0xdd590f697f543de8f0ae78ec7d1844e2b5f60e90e18f7b04d66b1bdef9e19f29","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x4f9a383fc29f4de94ea403728d42939832e885f09c1af9168befab5747666f54c61132fb3fb4ba8d4f39acc14ef7e7778be28bdbd1de54333fa1c629e2df1ac134dd584f7f13a39c876007b0ec2fcb1443f955631caf38b1af8e8ccb04f4a88450b332ff7118373d7c8ae60ca744037f5c6d732691cee0a84e7c6523ce5587078c6efeae9d8f80311ccc7a10a1a0ad1c76adad2d5efb49f2edc16d7eb0b4e8c8465fe9c0e5cc15e10b6082e7e9796f42ee66190e012335e3bd19a286a2e3e1bf327ec439e9004f057f0398154948ec8acf4cd866037054c9baf718ec17a95af69c13cc6d022fc4a46d4e016b1b47e1a936c8330d00152e5149fd1b8a49084295725df170f9d9c2275da27da0a31b2edf705f5888db95897ecf3e6e84046c706536e654dc0a18b42c0874a0fbf7330b030baa81b0185147f2bc55700ba684234d6cc1160805157d0ff687be3b459bdb6a762a22fa520c38328619919ce3260dff7b1d2be6be1de95e57b5ace50c1667a8540a73219f5a2e14fe4e47c12e0f8202b77d7d2a1ea08427ad734b90b6661c8b38d2371829f39e5f6571d0d47cb2d22df4deda4661598cf518ea688b532b74a0840e073a91be15caa8d8a68ff87c30fd3cf8ea082b2465185ae4380e291651d2f7053f58e2cb9a9b1189b9dcd13063d58bb6ef8698c4a519408d9ca907bfcc486b0d677927ae6c21cb7c351188a3ae23cd856e43c1ecb4f167ebb1a1453dccb183f1ce9c78785d07c12499d13cc67d05e88e1d7b6eebf1c10277a50ba8bbe87c3e3193c71811192e2135919a8478ec050637dc7fae21bc947eda9f5e48f4d62aae8e9bcbf50e2eb40982de2fd673b6e74dc3191d2abac92e6b6fd79516bb30d9be2b8a6b786d75787ee7b1d46918ea9c38a7d780746efeda0b9313db950b9636681c56a0d11d94222ab4d2860a6ae90e9c1287862da0fbe70a4f0dc3a45536f889db48ac30d1830189df90d1057dcae1dfe85184a2b1acb277d8e33e8a6cdbcb4fcfcc67d31a6518429f5da14920d9fab92c7305a54ec79c602a85bc69a3f03b037b948952d75b103d801ef72cfea03e9b1a1e593f22747591592ca5f0820bd2f170d003d7a95029905b596a7d701ea22791ac405ee67fa98203a82b478172631c1a3c6998bf50a9228500f7d3c6c5084f55255bb2b37be792cf9f14d3537f64e4db2aac194cb7ff537bff8630aa60281050839a8fffe542b8da12a62b59a0533d3fb40d47b024e2e9293be7a6cf0e0fa8b8ceac5829791ad687fffc8a082639ab864e2e1baf1637343f4709313efeec2ca8118a415a2b21b829cfc7e1de06f7efdfe475722df8b4c023c91ab61cdcc6b62dd84f9702442266887e6c6eea47a8683f00f53f66747994874a4b9c031a3e15be3f0654326d02eb7fcecebbdfa23409a54578b2b375ab2c2b2ab6215dfd526012a61c6e8c1efcdb799ed121285b068bc5df3b5da2f283291d906be6375337d6ac293da4080d98cda40dc1d8952fa0f46d20aead4e62d1d38c8517266c09a8ca004abc3ce997cda95d22c006bb5ba1ab52f140eceea293bfc669bb2d40b364b3902070d32776aacd62c8748926d088b31df11a09384f14479bd322b67cfea0f2cd47f11c98426abd8035c568092ae40b0f727190b09c78a3d70d3ecb2b319deaac491c8bd4defd15b78576899220918709ef4f02291e481bf03dc6e0bcf41db6c189a21f7d5a986f2de2cf1ce690c906582177911e90e7efddfaa1e10f9c041343765a884235efe2c8dc86bd81820d6d69c3fea40c6cac559bb5ac7bc039256cbd2217d16391b24897e8e4aa7e3b10a7dc76690fd1f50b31208b8d9f7663e66e4bd6d188edadd0231f5d11b3f57e8dc0c8ec3e8ce27cee4af2461d7ab0bb92c8cd67154c3bf9b13a54ff07d0006f9308d2b7cfb3e6595632376b3e8f6c625a8f7983fd2e98be9f9e3ad71d2da50b3d134858424968927efb5e30af6a62f6778d66e30146e9b7ad1ba68ffc5a2ed275148cfa1220645173152af1c485050a10a15b6a39ddad6fe8964d936f2af0aacf5c8c3e0450f311a8a310613ba38536a9c2353b3986c4ca6dcdb514fa38ad8e838f15bae410362b180325314ff8e4f4743c41c43c0723af85848d90e1a91c8bef99a2168e0136f69027249a1ca630ad2bfdfc78cb9b715acde503660bd8b976c244039db944b01f06a2f7f8693c7f8e9986d6b5bffeda646ef6c42da63af50bc4ed0ec493d836dfdc4813486fe0c0435fa8a5a8b546e1cbcf8ff414e88e5c6be9138751bf3ee86aa61a4739964c27655d92354a506a4400213fc78ed427e54500cd5895414843f7904b89362abcd25915e2cbf9aa53e303e90d06f1e0c77a7ac9a05e6858158f4a0aeed034456a0ab7df33ed9788c32cad312cc94758b25434627a61c6f418c06444069a398c40e3c7632f846ba11d25cdc79ea65a65554beada062aae0c0b6f05951765e4f13c621f5420256a30e7b8310d50d5f3fad27b4575725089031ce2a0943333469ff18f78a2ee15b346e6de6c75c28e9befc1ca8c772f791c98700168fef00102d7ac8a4eb3d9d6fae3e2d1ea2b866fdd47fa79bea18ab4d87042a955a84ce635585697fbd1144714a9ab9e89f7d26f7a1225168a3e544c90b80250e83377ca485c7ca07e75247b7af4ce69a600c60e0c292e0ad1532c4045f92d0068ccae5dce393fcc6e9204bf775c287d841fbc40215bf92251c83c80f993e25dfb5b52ca603443762a0715e76d5eaa4f33fd1d221808273bf759cefdee4a966c7a1691e9e6e1b4e7530d653ef3e30b12cd0e75291b742f5d3fa6dac45445d3885db02dab0ecc19cc80135eb2172e88705a7132ad3d3790ede74b0eb50479323cbdcfadbb49ab0e01f3fb628717cebf2cdb327381fa782e884d382c17b2d1bf9b8757c14511bd3aff82e1c2c7585394e4462939584233b6abef614f0384bd4a61facf4f68d27832f7b1152b14c91af72ff08df51594568e4da7c5cd8034b786fac313af9b319a775f4adde85d522fafb9af0f4344416a20b331d69eeeb38173e30fb2532acd3f8378f68a36bbb3d9c9aa7b6d8f3e6752b2b40b65fe1f2a0033df56a1fe86d741236dcb593a0b92bd3f76d39bd68a1649111eae3ef17343295b9968515575fc1db13d8918655d92a715b4198de9c80324f5ec9f631e0299870538ea87773ead8a7104c651660629eea27b6a1a9afad731a3c00b4ce05b80c02689701ccfc88517060a159b8179acbe52b9c9709646befc2b1637e464aba7d2fe24d6c6f09ae9a9d04389fd8d87812ff7bc6ce2edd59bed9346de44b8eb8c8ecefd070dad8e8610fbeab5cd51dbf4808e8e47fd4de335c3c57e06db02e2ded7bc65226191ea1837d9dcffedc76274049af15f7034a1a207aea9bc9e40d5d036b0d1baffed4d03a4fa3606b0e5a918035e4f7cbee79b417c5083a835c21d01b82dc0eda5bafa6fba4609d6a3f9019ce5ac7565b441262f7966990fbd0447bcef6886c1e48cc9120f1ef523e5aee62d45552262a72f854c331f938555658849fda3c719c2ff5ed906ea7670424c83b44c9ae4824ecd4a2aadf18494425261d68b3924e60429daa30ece6a5f1d328d640b5ec29e27a1eeef86a56ff62cdb24ef4bbe746a3b8ea9223b0800de1f","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xea3c70b034b36fad8ff5f2de9e53b3d14592bb850e3707e2b9b9f1e180adc2e0","signature":"0x68141b5fdac91cdfe9a9f9be506efed653400f7fd05d24a53069450a4050f9ff6f0830bc7ff88a00d35410450d55389086e788940ae275407345fd70f86c70c34aa3cb8deef230010b3900caea1978e4216b5ce264de56b9f01e67a98d2954e4fc44bb46a56ac62c10344dab1acd9fa7cf9b118cb911446347bb0f4c8c3abd99bb72c1eb7cf31f1132beaba0e530f8e4cbc93dcff72bcd785a5d8d6022cbaa79a240d689b881fc208e77f85e0bd555e8459f8c77e29625d6e141ebc55981bf73bbbfd95eed1c16cd9274e7625c1a3eaf1cdb250ffe16d8ad668ff67de35bab75f90b4a84040ea817e83b74ad145da89fe4be7fc6d376d6d97fe47f19c477ed9369a9a8ea4e8bac100c59b728693e69ff371dd443a0dee9fd42524530489b4f0313ccf6a35b0aa11278268f0af7b932ecab60a40ef44b6435b50f6451e1f150a7351a477a0ff00703659cbbf0170bcbd22c8623583892d4f3fcd8c7aaccf982b7d23dab7696bb253615170de984985735275691167f26dfd45e6fd59a13c1cb3292eed0c62b650a160842334e54e28627c0ccb9612c2d0ae7e09e19b6df42c0ef0b513e30161a79c5682b645bbd112f6d74ca20d9e4ad4b45f7295067560c367eabc50570c23ce6afa357ca9795d778d19d22972df6303be7db72d6a5efb02ef3b42c3bca9f8e716ca2c930923f75e95e74e216be431b17550431e0c310eba7e3fbe36aa256ff66d07c26d4dd9e9f7c9efd6a8aedc4ae8170bc4a8eefb6070016f5805578c50f3f092ada41f795e4fd99f3d4fd9787f32fbca63be45a5b041d0a0a35088a0642c8edd248126b2740aa4c04bdf45e97020100b5b9df98ff295d4cf727fb3faabfe1eaf59ca8b1c9256aaa87bafae7c3ade4df3154b3d1abf24af8d60585fad3ab515c3be9b32de5d123dd5d6589905b9c5df7753abb30b2f586af5f6b14a5c859a4332c967e5adff048f49bc806e7c68c32d730418480d1b62142dc2bee1243ab83e4681375246ac424ffab559770aa2b0bebdfda08c70f342ce08ee5421a4e7b3000e4e0f68eb425b755481241bb7797733bf65bfba42f85ccba2e067749a6c19dbe5bdc07c736643e6b7a15ba5f3ff71c5d9dabadc99843c674a7ed534a1149b9521851025ee689dc38f30c9233da5082f7b00b27efa1184bb7c7d174facd2e69902c3d5e3ab5529d459ff812ad9b80f27ee2b72b671985b5ff22810d1a73a6e7ab7c20a9ead9cc6af227b6956cf690fa69514ecfa46773d17879305a541977b53584f6579d02eb03c1873232ed23f9ed24aa199e6774537161db04477ea33b267ea813935dda077fe4a0ae2c5d440f934a6a925c9cf10a32dd0c54da7472ff80f7cef1c5514d723ff7a31cc4ee4ce7151c3f4fd4aa395ab1d0da16a465871651e93958164d375016a806d64ada0a7e39e0d058e98e72469cd4ea5b3645e5d214a8f4536b7a3bb192e4c2dc629db5938bd6b09cf1370062d91cc9e021043fc234c82e19650fd037ce84dd1d5ed04ddec6a60aa84ee76fd2298a87967f5831277167eb612b50e04c7459f4c11367feb9f56a241f3111593eb6e8a3655c3c16de086786fb4f8000bed8ea16379ab3e022130c23b0ab075e68976cd51233ba38ef95071d7e86edde48436b396fcb109daf98109f4ff673312dcbebf72f19395be93ca2c6294b0e4829b297dbc5f7130a900a2e9d46345a12d89d66be9feb34aea7f14ae34aa7ed035c65f6398b161e56cf801ae212c06a91d1e11bb96694677fad88908e3027a2d3d66f1c3332a9c37e93bd5ff9182aa0fc93cc483e2dde4b6e05a6e532f0c6aeb0c9ae6f44586a88559b6c8bc4aaab548233b78760ee594a4dfca6cf4c6f8a976622d89a7c4216059cad75cf37f2844b71dc5ef901d7087fa807702fa4f9ea381ce137beff3188df05c06a1085a961309bb688214be6bdf5f2bf226fd95635da97f3542ac300c270036d95f83861a9ee737ae7f24f4624323ec20a9e9adffabce1a6632bfa6e0db94a83152651166ce1b437d073c7ea0daf50cd9fdd3397ba4e3f7bd0ce13ea3aa637dea4cdb9814e995e0989fda1078463eb7d1cc321e7c215779e42c92a628ef49f198754fce2ed853f4ced56f35e67918d4e8b3b2e17db02af78ce8c1f3b58315f561c150748e7a3f99e922c98f20d4c25cdcd77f7877bee745ac7d25f02ce3d3c40f82ac7df72e3dee7e5d513aed2a4b678a6e435abb97f4df23297f758c811b6da813efc48735e3bfeb0c66a2909cf6455da0053e71b6da2860877ba8e313fa35344f623d3438d54798db1a65d00cabc38413b5601a99c2f347d1ad10eb127b78430e9ab4abf809d1318b1d2780f95a8a575752b958652196c11ee31d007a90681712647d2cf66d989799dd452ee852f8429cf887de92f0f465468d63c9961e4e367e2c2694b9523a60b557287a796fd2f6d8ef8eff2c51f2e3abdf21ddb33061a33f3a6d74ee4b62c816d24515b1941ca5dd299a16f7f64aa32b20a56b2a7705324de69ae62b5d603afd0b5f02e60350caa7b5977e2f37d57208a5c30a6c9585c34583379e3f23f7c8924d072cf8d7a1d61624f58ceadcefd9d8ae6126a7642f6bd43f4f2dc74ae059d50bed397db37080d51487b53aa541a6bc4b536477257ce143c9fb2d0c3c1e92b9190586603e119b6004d1d6e57fc3d6260c15c3c5194d5afc536f75732477b52350fd5a5baa84047387db9022fa3a2c20614114a4319a6da4d3b9e915538c6b28ff0972a33653a86095db69e3160316a61ef5473b3d4079b5ffa9e04f956a0a113989704fc0b6f24715bb386f2dac0a5f419054005ac129031997ade3da443a0bde64c06b22457a3aaad92cb226b15b2b07ba6e235be33b34d730e455617721e87c094c7116507f9390f298cadcc26f8b19d5c041a8861a6a52aad3b2a6e910c422e587c42b9c38fb400302c1261e218e0d5c727b44b36f1d8d8e718bef32ed047add0521860c8e9fa6afeb3e16c343d74b02b637bf9a93021f77e2689a45a20d587d1d520cd976b6cb5dce004db383b98155a23ec935987381a8379bd2b9b242c0aa3e3b5891e418fdb9117e8fc56bc5c4e3a33521e6ca9d66d33502e12a3b0f6056e901cf9eaa37b1fc2cd712950d148bd0cf1f2fe5143764b5f9643b8fd0b4d008f31dd74a8661ec7e5f9680203f4da453941e8b222c6e98768e525d16097cb1c4f4584fa4879ba80d121d1bcc4bb66a542634c860ae74a24ed4775602cfb388a6596ae5935b78e01f5a7f1ae2eeeaac5b3af2b8c0d994ac0d8b3b53d36542f0e11ba550ed5347c3785de5e20296d215b9f1dab3c0854aa0e58e94a5293ce67b437452ba176fd951af50b34b07c0fdaca0115639aa8adaf58430d10968dd2b6d3626d7f1f62efa01f88bc3cf2fd0b94b64b96c6f16771c396fa6dbf12dd4d03d342c9f3d754d9693681f83743949825041db72738fdd1bf1935d4626c673b2e4ffd3be0eccef262dd4fbae103ac1690dd5a44b5ce89c8056f872683d21ac36df36e9a95ab741eda922690c16924b43532af12d1414fc1a3ec443176b5881796eecbf91fdb7f1ea93cf0231ec5c7101fa15b6d18b57eaa36f3b5048f64ed14e3985abc582f3444127d2e456ccdbbf1330fea5ddfb8b5ba53f1c325bef65a4608d8cc63740e031485f86631028d8248f13493bf8a7753d4fdbbb99a628dfc6acdec536a73856fcc31cd19e3d0d17333cbd661aff96ae945839ebbfa53ea60c29379b940985d7c34c0c6d7b794d487d47455afb0ae42468224f3bef048836163a8339da05dd5e28e4b3943c18692e3a4da74f661831a08b375ece8873f5a679884fd83c069b79005feaa4902334ee3c789eb4a8127d5e9bed1536fe7f044c1a4be8ac41e6970818a750d67c54573f2c349272506a877ef103efb95ff7ad41508e8e6991a92d164ac22685bfc791f6e3f47e216ab5e9fbc3815ac27c3ed515bda2c32501ed535ddbc362fb68f4e19302a8affd75622ab8d7727297f1f4e6addc30166c9835c2ebd602f9c4eaafbc15c4c34131ec7f5dc85271ef5db9c92f89934f58bfdd7cf335abb728c4ef95422c25722f83b57db37569f92afbdd7365cea57bde87df40ee5c8724d6ce73883bdd87761d00571753a7619f7fc19a2a1262a53eb15c8a5dc634b31067d99ca3bdb4c86678912a04c7e8c5f38ac79758209a6d980cd85c3a8e4c00f649fa5ee1a26a85306ca11823103deed807f7ce14519c9c1001a80b728fda2dc75f6dee807b30a851ae5015f6d2652ac549876c947b02a523749d6d68bccd7c813ee6738f33d801ce21ca5d4c4318d0d27470f93ab7ca649a4aeea0a24a132914f9f4d5358c0e25c3e5e3f174acaeaa979123e3f776e14b09a6c171f6b4a3f2e1932f2734fc7d86454ab39e23e4b4e7120b13e233dea65ad87013c7dda7e7fe7843a44dd0c184aed38851c93d1c5133911456c89f1a107effdfb2047234374386f085e6b8560107a891684f25766d32ebe987f1081da57881b65658023082357ee4982389b9871723a48f6f0b1d333ba1477473a88056e1d730c9fb456462f6d7659316d1469ffbe131d0a52ec7933796352a63a0bbf4eef3a05b776fa85830f88ef00422f1bf9e8aebd0df557410dc4ac4dbf338353daa56fc523204b39e8da45d33c4743e230c6ac29696ecfa7b66e75e49fbb73e6ef0ce0af36f694923304c2f1da1566a482b94d17d39e0815cf74b08f2b987ae916d147f7ae99dcbf7b2b0f43fcada7b3118b5de8758e2bbffc3c5b4e9edc72ad2c5744c3379b81278d8630dd6a635fb14aa0a7eeaa91c3d4a4364f3a742368f6b099aaac646d0f4dcbc8bab6529e4ac76cee35cfdbaf664664e35b771bcd617d00c3bbf94c966a0e6cf08f6514dd6b5841b4797119df437a3435e16da165477bbaea2344176bb1c598464a0fe1cde6428a7304b1f358c184093bb8be5d914b6d3fe8398e24ef32bd92364488fa03841f5214abcc6a0d7e403e8a4188ca5844f5013e98c178aa68cfbf72bdcffe4f2ef4de74615e81c8ee20f8e34d07303bcb23b31b2b3469a97f6dd80e7b17919939a762cd0b6e125a7cf2ce7a45e929d2d4bb823cecbcebb18ccda1a7fa285cbe78c57c0159282a6d26817700a50b9c76c8f43d86c766426bf80d3187e14dc236bd8717221a82734e74879f0671ffe0baa8d1753dab5ff322ef91cda5065f0ee1819d0b9dd8f57e49663e0f5c5b816904ec75708c13fe68c297ab12fcfe0f825ff0de780fbba37f9fb972c058cae78483fb2e1efd70daa38d478fe9b4addc38be91c5362c24f5e9a8774f846a69659719cc98a8a5f3cf0797007c5c44e1d3960c8225b2710adb327af6dbb09ecd6b1f66a2c4176d41cad5465c788087f838a9525977fb919454a3ff23ab00f4e1d72ca1050a71f09e12b90d00956d6c79cf83ff01e01a3dc32fc9d7979946572b44f5155cc1476b2f9dc70ae42e5b96412a1dc903a33305b9fe43b1ce66209561ccecdeff927d86e8f621f60e7558f63dcbe8bd0e1f8654d901a16197d4d9fce9369a199e1904225648c9778f7a09f4d9b8b24f07952115c5febc7da00111f213ed16fd082bd4406103433badd15c60a50ae588e4560c9d76a3acd37b1d0d2182b7c9518895fed7d72cb6e59855d625fa34d1926ab77b8191ee8350026103b7be4f8620ab25b56e73f247e3d21cae331bfd5a09aad6d2acc434115b37a3e6a8722b3500e3458d289ba0430d0431b8fbfa88892cadde0d872a10ca865287f78daa177b845b7c080228dace38c03ff6a9d9c2fa1938ae03ae865339e0dccb176d62d57ef7d4b1fe5cbe9c976c6fa15b8a6f847e27f1ea5ecb2bbf2ad2119f42c35943a9a50c935865c7c9a86c9c3018355c7b2e0fc51d9410fb34c25994d23b2a975bd1e67f7df152d9a4398bde9e356534375b0da35ba2229ad852f5399eb42d71e02cc0f1a68e56a1b5865bbe8d5f7a5de44e82839956a386cd3c352865c3ac30d92daae8c7499d891af2001ed762bbc72b5f73fb727147fb8008c526ec6c403eac945a431e15118f133dea8d9b994c2fa092863150ace0eccf6995380b458864115147834bae84dea2736fd03ecfafe50066a769afbc18ca33a6d60b31c9ef3767d21708578e17ac8572e349c5397967951458f33a8e0d67eae33139d265c4194cefeaeeedb046da8f057e81f239bdee67ec112ad6254b6ba991b6aa22ac78274e5d3f55266c9910ee8d23b071bf0c82ac65b6f010ddc349fc467ba88c0ec07dab386d28c59a9339c5d1d19d1b98cd5e486cda77b674ac9e584141d86cfd91d82480908d8822f78743b0257675cde2c8f6d790bd321e70858dbd4edad92e7edd34c636fd522a4b8f8f3ae3652c6b6d1a8e6c4265da290e15ae3ea805ab38766a5d8808bf07ca051d082e4f9e287183adb2082f525a76ef0d657689f2fb0117192a384c5b6fa8afb60690d31339868cdef0fa21a1effd000000000000000000000000000000000000000000000000000000000004090f1520232a2e","message_root":"0x747de7db5995850a5b799ed294ca45872e679b54d1e4b70ee531e88683f81e23","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd5a19a5a47818a4d939d0f5d05378e57da6db52aaf55f1b233ea5abdf0817c70fbf3082284d3de9ad904513b811f478c8f103264bf96f844a414dbcb8fa9326f955e5e28be39ca062ecc4844f06ee57b33c42bece4afa6230f843ad5939213c58f43d0922b546ec9abcf16bde44278e4e41f39f2492bac1f2183049c88d75b0f75da8ba9db00d29ac401d965629d95c5643968a38b13437d45353fc49d6df606032b5a6f3d0a0e670b586cd9e8e111511e2ecabe3a18c1b6c63b51d9ffc22448bf778debb546707bc25c7ceae6a6b28653bdc00f4a3143e4af7764ff3477359a2da1d30b2817370a7177219e6d7256eb953c5a18b91c4fd78477e6fd13d1481323bbf41464f5f1d1e559513cdc18462f01579a2010a77a0a194438cd45d7b0742a9ee9679382a07e666e8c1deddea4f3a715f489a1430a15fe09f888f5105855922e437daeb2605215f2bdc70989c1389dc7bea769afc5bfc4cd1aedca38cda139829aca787ded06770314724a0b17e764d370b2ad947c7429248bb43f90e0d3f5c47f9511d3c985a9814c18cdb009219886ae0a626f4bf9ccc3834c711c2b838c87e36d7d88e22dee3b8c1b5b56551161d8c8ae4b2d6a81348293026dd5378eee3e6d619ca0d9abf72409cc783c03e4eff67780a9f2c2c8e070dcba7c71e680bb77400c5c0ee9b50bb5ea68b1a41dc89d6f2d98079f9dcab4cd6a3d06ecf0f11547da0555514edc34156330df8ad5edc08a66271b080eae05f9fa9ecdb8499960b5cfb2d199bf683393aa3575697511272619ee195be5b99f42d0359698983b80abc9d0107d018e6535fc14486b774c43c263a9f2769195cda3c828f913886525e04ff2b93eacc3d89ba01e536fe75ead647319a9c151e29ce88b0d57f68009c1cf43c7eb3ec1aae6041b1c5f73e5c063718f3f0f50d3f0c37b09e2b1ca5c96310b57eff9b6d62140746487d51083f0d6e6c3e452bc8bfada91f54953696e7754761a8cd90d96b618098358e70f8a0f6b07d402a4db172b6847ffa48e7c8557f12b298de083c5836d47d1db8c1f86397ee1f9f04c62e9aacc7c4ad54339863f633aa97fccb46d421add9ad1aaa6e0b4bdb1046ac7be2428f00654b7f6a8979585177867340d0d1fe5751bd6182b85891f357649e92588e3aaa00f3bc2ee84ca2c9ca1fd890274b9811d49f7adb204b1a2f758e62052e8a317be94a1b450d3d6dc1ab1e8818d54ecea9ddee903a0b0471a61595327f38db399c478eccedfa25206ec356a0d2cdfd9104511661ccb56683974558f40144ad0597d52c35aa339919373171f2890480e78ab4bd2adbee806da7a58e6fabe91ace282fbea9602c4c4a71ae67e5b7120143ad008fdb1e27b983bfcefcbf7a164cce99e865149492e7e0db02cf29893d2b8b5f5b3a72c2639c1dcba91a4ff6ed4555dcbe116f69f08e111a1d0335dd6c76962cf92335948416246334395429473e707eb36a9379a096fbdf9577650eb23415e64630fb678ce89f9f11de212027970de93edb7770ce11d2395b743392bcbf096f8b3b262b6400db4ca674e73d16a55017f3bc665988d90021d6603cb92f7b01eb1a3b10a49d1e457718d814ddd9821f5957524601aa35aeaafb1a3fb3b766587fe5548619a7f0ec3d98a645c69624209047d755dd2d02a62644e1815a04ec4b287bc4f85f2149a5fe6c4d56c8b479d388e04aaeca66d0d2697daff38221aa45815816a60f9dee805d6e1d4bc13dac73f1d98723237ffcdccd7c7787943b68171e7c72e050fcd36fda0d64fbc5065c16fcc3807e6f313e313a5541826bffc2ef06922069ac4f61c13b589e91b7e9d9a9e7085e18587dce76ba7fd0b1e598e24f164b7efc3de3ab7733daa93d8a149c5ab33d5e5ae360bfaa351bec06e121c5e844f9e5bc3cf60c99a858585613b35e777484a83e7c0fb9522f7554b514f84d7a5fc4c3bf866167e6d5a288ab6df23756342748926025cc8b49b6be3ffe7a74e9d8d62c55c9d2bcb33923356f68bb2d97153d4d7202c5c243e2c16350d9b5dc3cb621c95a5abb7a626a2710b46cf769bd4d83ff7c4d82d98a395ec0c4fd88802969a3657be44efaa5dae98bb6445550376234f3d016934d18f35cae1c435d506293a861e0586b855171ba615e1fded7397511e1b2606d69a70ef291c2d8d192b0c59591b28abe8b438e2d8afd42feb4a9e2799da621bb1f56ae088428ff9bd6155ffd602b75955bbc38c9f778b5b2e9e9fc0c276a73dced06d55c95608f1149a8f91953b17194063ab7b2d9b31d5086f68c86e829308601420c304ae15d1fb2625ad18d3179881154c9a24df9640be2ddc62b7b024655791f102aebc9c05611e69b79f76faf7164900c334ef123a96baf22b669b9dba15dd407962b974d9d96516c3abbf02e79436ce88944937b388da3658cf547d2eeca8fbe7d53d3ae8288fb6e82efc49724db52d73ebd03a65d1840674a49df5ff380d038ce62b1c54c465fb53385ead1cd3ef9b72a9062f40b308bb5b55db1b925154b16de79f2545046fae58653dad58445162382fc8cab99dc84a7f42308e43920864661682b623f4407e8b7fbc499697d3de66308450402126754173b6803fa72b6ac6dadb3d60d4948d794e37c5cc44baaef8d2404de9712fb02590abc343f3f5b309594d6854adb02cc20efa2560d84a61041f52e31827dc76808cb537ce630822a16eb04506f89aae493e9be24663cd4db15eefb4f9f7e31b0c3c3d7125e1690e778120ca84a1684cdb70c09355248446b8e1e11e64da13df1eb3594664f9dbda93a0f65c6a049f54f0c813ce876ef552550d094f8916a7d6db20835b35edabbc3c3ad259c5b9066571738a707841615ee24dd12b2f16415c493198ce0d162d0b96b338609d2e2bf844f73f55b5dd383cced73581735df9b453c7f583a2370f29cc0e05a7d5315eabb5d78e80462a1ece131c9943ef00c2fb481f8504d43df5825ca4f2400bad7d193ea45d10a7d16b2e661ae20c66cc16264429708e35d386291e279323e1c4c3c28f0bc477722435801f4d76048f9e93512e628fe5d16707ec58272d84a259955bf34aaa22378288f13420a7b408dd5710167b6373261b58c7ea41ea334800fec2742089fa3d701310f30bba7e826f5e5a7cc392d3882bcac100d1707ff12af9f36e513ada88a98cb8e30f29373dbdd0dffc924b521085dd10cdf5ef716ac4009be5a0a49df62d6ae72677be7e9de272f808f202e90bc912804d983eeacbe9ebf9c8dc40c57e5c1dc98d2e15e932b626142b2c50b1373dbae9d4e571ca73644fc5eb06a1961fd129fceeb203425dcba793b1f0e9aeb7e6f12cd4c517a5e8897837e25835d5b5034578e017a25a64d30da408b4ace2d965f8109889d7052976abc23d851dc496803d6db7d1431b939d34d7b07640ce462f8a01cfe2f837df42c9f7eb7755702c69ba7ecce2d8df221c3b6b1d9eaf787d258c28f420ee218dc085365ae3e6f621eb9e5a5df885cfd20e5f1060504c639877645c9476b78c4830860caf29dd9cd08f1e3edc33bbb5dec741fefae2ffdeb5b7dbee98fdb0b668d00d2599cdd16be944b66f6a06f4db6702d8a3b15e1720ad500154ffbfe81b666f1a8dcc40f36eb2a77a1cf1a28bb2272b95a8881389dcf2c2e3","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x73c269f480361e5299f1525a4dd3365b541a4ae9233562ef6c70ae44dc9dfe54","signature":"0x8bf69c568b58eea548920035e0cbf037a564be83480015c96d5b7ccf02267e4ce5dc019e60610b4347f2cb4ca6335296e6fe77f41304ac7372a0bf98b53ec0920bfb8987078ea398d0859153bc31a5164f4b572d406195a2ecc70b5e78950240aa00e01a68a445de14ed23b2d9a1c1229a097e45b96bb830ff686541348eb9e2b0c8f5d57e931090c556f67ed1ec97b5dbb9999b06280330c9e55d84d735fafc6140600912492014e73b9c000e83c4ec91860c974e103fe4a02200ae4bd73c0b242858c1b27a027f9a641aaf6d40f061150d1c14746f8e1207941b34c034adda957b18ec0e43bed960092ae56e24fb33e32760ac5fffae133a1a3659694837ea743e1ddee474949c9fc34eaa0bacf8d669385c7b4a86c97a18a2d1c132f7291655df50f59c3c8df87ebe2aeb71483c8e8e359261f60c81c7e801bad185b547545d86324777695beda3241be4a8169db53d306873d63ff3de2e8ef9b32df1af790dc8933390aaadb50fc7270ef8a8350dfc417df29041b819901e15b930602b2548b9a433ac137994ae7e9ba5a468be7dd99e07922e1be750fe22fbf8da1301f54f37b6ef6aef031d7c8fa288abd26541a5bd7b5af2db7d1d4bd6853ca874f3722793e9a0dbb04ebe866194cef2abbaed71aa3531a0c8ef7caf464429237e55a0a7796e521488e5a48c1cbbd3d6b6a9909f029f7884399ba5d5abbf86fd6cb30ba68e9ef4c278eed637e5f36f7500d1cfe11a839618fe54147209dc4beb648b9d8e41afe79d7fa54ffc11a429fceb8cf19b03d52b3a82ee711c0825375e61a7ef9206c9ec9dcd1d2e104d707b4046efe69d12ca41d064d3fc7e28224c5a5fbe153ca7bffc093dbc4640ef162d7994f036a1038744a88d76fc87defcd98c6faf4312ccca08ae867595400cd2a4ac4511d76359922f7a79f66ac13ba854ba0aa6202327cb5d5dfed4b4f733a7c6d4d5ca2b45bc71a8726f1eb9af9dcae4db25ccce7d5a28c1e251e9ee809372fae14eee7453dc1a9f75cc57c8a00235a6e6e0ebcd5d257142e4813b1ab71d5b45ce90f3d869dc9100ec3dae5d9d7b3f3a8507eb7f63e94e603d3f10395a99420b16cee192625f9e93ba4a59642d20f6903ea021f8960c043dc1afcb7a43615285bf88472b68956efd33c084dbd5235b5c806f33d92a734229e7fc03624f50f1ad557874a1d71774738b460e822247fffe2f1e6ce102072314733f148654f8184baf57e521d30a72570addf0678cc939a06dda9572a5351928f40a3584c2bcef418cd8f2a1b0fa349a8458f2edadb8508dd4994386c4fcb4e354a5922823aad9b0c21324173f851dab24c30c58fc02e79474f111cd547f05b3d80714b14017554fad040efe231e2ae4556afed576a8ed2061f7ce7dff08fb9332f1332db66f47bd48bf90eaa726bbc8262860bd8d9db3d70a5b1b697b5631bc4934148ae6f94589215a52dcd2f4bfa754e5974c026638567b2f6931c00d2b3d9784a07d36d1a6e4aca7d24f865579aef415c28c8cb1e7e1713a84a80673c352c63fba4591c57df839c4a79af080688afb879de5f1342bbe9b04ca096ae48a230cc4eea014d56caa12160aa09fea46fc3f5c73e74810ce60ace7e1ca7afe497e0540d1c5f815082bbc884db35afb922b3645cf532498466d481524f87cc01255807e8a7d14776badfd48ee7b17e0f18cb7968ea4629becef5f87cf4b05c9877582be2ee8f662beba27aecdc29d361614fe1ac861258862407c850e7950a51f4042e3984f2b882f01667d2a7a0396493fd24020fcd0b5678b2a4c3a9f34d568a090e304669df8aa683408924df8d61ee59d63f795d57b97224725e92a456b64e72d132512644b19efbffbb520cd8baffb91c2ce91ae013b6bfae5c09a2f29b3d918c57dfbbee3dca5bfeb7831e85ce49e26cbe3f9f6ffe0c5131d1585db2409759f8d8547b59686ee074a79e4b5ef58328dfd04cd3e68e76f92abd65144950fa57260f5baa26eb3230f7eb3042261c48b6a9dd7d1ead6278cf55ada913809c0cbaec3996444a9463bec7dfbe411e0001751eaa798234fdc9e5acb3f1c3f50819ac5ad010352a28210b2de2eb57e27f4afee83c2ac3b661e91720f0fb9500386223044c59bb9b661615ae0e82b7632f6145690e4ad904fbdefac87a92251421426f684bf86103668733509e841f11ad70bc72e978abee8bcea8a73505020b057e28f41bf711eacdc89c51cf4de6a7388ac0d7f21a81a1564125830e6a70950bb96bef1723b35be25b837b429f10e830856f29106aa380f565ff48692bc498b015c14abec93850a6bbc19b6c659a4eaea4b76929f81c3de4c78831e03a2edaab872ba933bb263bad05b15bf148c27870104d849dbb75423a5945946817764446b60f92fdb894f7933e9f6e47061a7a584f0d67786edbedffa7b4db1c11056773790c27dca4d1e4dc1f577f7b3a43cc356b6d4e7b1dc92d4a6c3143b6d68ea4b6cea918aaf2a549d39e0e6e26dc46d4487307cb97a7b6152f91aefb85f0085f4f475a6722531ef57a6dd3446ef006f6a7b2bff7ceaf781b262b8e22e6800ebf5c6f557daf61abc326112eac770ba5d4235fe33c8c4a584954eeef1db120656b2c87f127925dd8e416c1723f02e46512b008f9def8082be0378a04aa7b35c100c06fde3d25a1e5435051eb7580424c611d149209edd23204037c165c2cbe7783215f067fdab376d1db10265b8b6e6db2ea3167a87c46d841ec7604dc4ae4f162adff603475867d1efc5ee343233b45fd728bf091395475ad04a4018df39fb38a732b3d0f950d63c53472bcd091a44e92ebabd139aeb58e1945d53d31922166499acc420b3c2771caa854ecdb75da1653c7381ef506232d085dcc192057d27762f4aa3853a25af933de1784b4f6af575bfeee80a2eae3fbdf9c263b41b37028e5760cf11d718643bbc6c6ab976b7eb726d01f9504380cd5f69e7fbdf3e5f3f0b50170aa07b811da55f62de61e625b511e23f27b627366a4e10ebc46a064b410b09f3853ad40144be279a589673a5e739813bd1c606d982a35346e7a5f14337fa1b9e046991932d3fdb6d505ccaec95c4ac9b20f1416599d3222746e3a222b0173298895dc0565033a6f4394f6a28a7c0e3bea797e59565689a077ed1959f3dc4a6ef5ce3a8971912a0f56730a96a4f4d0db024396ffbd43246c6e1d9490e93e0a1397ad9d108d9a963e4728ef649ac45a10d36a64e6023a3da67cc6d3a2af092f0a52a5123631af282a8d8514813526424aa2af26420a06cba8d7d7d4e18ec4b69a4a559aad1755afbeccbd05f1288f99e753fbb8ccfc7c65cd813e4ab747bb76961ba452fd5e5b1b317f87e27887c9d132ec7f973a5bad2af2650ae5b9e0b9ffd17ee1bfee324fb0ef17ac41f355f4947f40a0b8789002de7408dc4520f7a831a82ae96376f615c1d2f992d0b7f3fa850e8eea4f4a53a4017cbeb035b6d687bfdbfea8486b83bb6b392d69180dbf77b0fbc72276428f8fb5604001e092dcbaa847f5ecb4b02d0cd02415372e37d3fadc18085f6c8b125b107eaf9661cd9b44dfb7225e2c2f3a46b5276b96533e5fa245f3dd31d0c437ed228ca8ecd6f0e79b97c9530189d3ac60efd423f92e7b4805cf3ebe072fd7b51c7c5c71ca2961b3afa0f94464da435e818753b16b4912ce2c2c53d565c69556ca40e55d156f7c4f817de2e0854b4b2f027d6c8b51c6e3dd11c08f31c68ba41f2f9c265f1adf7000a2c646a712ce1c9c412e61c3e7199c53bd924ec540caf2d5bf85bc25f44cbe0d9d15bbe1a44b4c115a6cb72ac2edaf0d528b9cad8a6855aab1de8f72fadefd7f6b8191670c7825c7656aaa4d62b93c9745bf243878a127215b5f834619f2ec0889c7f3dac6b36367e72440a34d0da3a53b536f1d9bd38172585854ab55b37bad154fd6ee39c9646069b09e531e1026cea1b9f7033d7b5e01da7088db394ced1a818864c05a03c6bf6f4841ffd01919b9f0ca16d8a750a9f44f79422c61bd16acd2e3cfadca97d84f4233f771cfbb8bdc11466967177c5cd5ada7e65e7aafd822da854e0ee915cc1ddf857879cafd02c5372daa1fe740480ffe10530edc857e04d2b758f41418ccc0a02f7e8510e4b22045947233e118c69362cbb37f58621b4d3aa88cda8694a16f6cab1b63f0f32cd286abfb7f891c8983a0d98a73a80cd6579f2b953ed6576c23eead7e3cac0d802f26c4fe14bd0e22c7794f2624c82603030291300f45047cd2a2926df44ad107f10b558fc8ca89dc212218116ec049131ed92874c1a481aa43a2fabf6334fb4ea0a23e62802674ae621c762b29be4a9d7df6bc0323a40e299e601ddb811d32541419a1aa8cd4c14840c7865c2c42ec3bf84ab3c3338418df654298345d53b271bd718db860f5ba9f4d5e6230d690d36f87f771f9ea9a8efd344920c07b99645ecfdf71aabdafb92ab22415d6704946e2217af1689d932bd45414dc8aea8bd3ed04f1578eef081229be5f43c23877f494bed95958250cf303cd035ac0e99a1279613d3135e82e66dac57625b988fd268356357b9c752e2eb8abdbffbbedd0452fcbba85f633890163bfb66cf802fdd3d05be1b2ed728fd3323b95080ea7138509ed39824635ea61bf10676ea86d4c784c3dd2c7ea77d186e3600b2c56a5264cd94f5a0befeaa0298228bec3d0583104ec5d3043a60734c270441abf88d83aef46f6ee62aa7dc252ea0916751cb3abdf087904943a9c2ee4a1d3eb4c5a57762b6d4a8d1f96c038815ea397a1e119c42fc47dd50560a0aaa93bd10681d0c09449160c05248280774a33402129fe9b40e15ff56e2d0e5ae68aff2f7fac159c26cff997555b280795b2649c51248520a040aa1bd1a666a0b0a5af6ab31d96dc8f293ff3575ed9f899d383f7d73dd495806b1daf7a638b3610b58f864ad08f54fddff6562186b179338da514c599b911393599f0f37ba30ececae093c5dd0f3b77d4c41d97a42558d951302be773c972519b27eac74017d293ca2613b6414ae8902d6206c73ab69d839b6cf6b0dcac34dd39460457bfcacfdd47431915db0324353d2e6b9b29a8ca904ff1d8a547369979442710acc758b733be74468dbd448d6c84946a58055406136ab50de89d2f516f6a822417bdcc5304b94fd6b7847638238b18f1858cfb439e77e352a8094b67983613cacfe9d50b113ff7e61999e3c5594e9178281888e42be01e0f5a1280c26ebaafea26327d80f61f140519c5f3b5c83bc6978ee63043ea3ff1163d4c65e2b2faaadaad437fbb4c4cda28e1f2ecf858ce9425707b3dc46440c2c76e2d19304726f896d6c3274a228e6a96ca5708f831d26530694af1f89bfd4eb1bd72ce2a69d74e8e2509861bad874bf316a51e922787a62b5d4279a7444d0ff68f5814afb424889d6c2ffb9d7cbc231fc3d1d0101f33b4990e447f082709027c6fb2c668fc9c92f374f62aea4dcdbabc53884f958fe0e85f6f90602cae3ce80bc3e941ca1fc6da7699e03d8b79596a95216590e95d3c267a5f4cfd5d26f5285b6c700f14b6964d33c79c51adc8e7b54ccc242a69b7ede09352d6099ae9764a538075bf0954e5c416c0e2c177a8178ea9ded1688b9d82011276f63bc2a656e56204af6701aa1e75d2d4dbeb5894dd8e6a837b4742c4962ca59d9ac816f71b51cf921c59f01be39c47fb276224e99ddea35ace5a1c9caebd6a32db2bcd880bdb6b3105e050b53105dad4887b4c34afd9a982e96d15c150928cc5cf130ff52167eef90d10d2cd1ed66b95aed63996c03a97aedb9a1d44bb821c690a2a576793e436d354b67742ec18b3fac086c07b5e0360455efa177bdcdf8f57195b619c8c10a22c1220c5aa37e147886d0d50e2ea850127449debf118624d62ef8dcaacaf0daeb6ca1d96e766c811e2d12f6ca774c1dae0e838f629a269eebe2c0890cc5f9d5353b996178446fcc7198184cf6941709dc3e244ca6ec332b4d2009e5be42616ac52d42775287fb97d35c9074872acca17cb26fa45dfefb91c492ffaf7acf3ae54e528ac07cc70529d2c82cec682e5679eefb86aedc48e57438a72c634c9220d2fcdb4bc3c99ef55e0480d95f6d16d3d613c3e725af6c92f5ee6c32ae03299e13fea35591b29bdeb5b3c97385430ffde06373637593500c5fa50d92d079b79a90447bc99415c509938507c0c5c8c54f2a612fbdb9f1a731ea4a887a292a95746c45856c68db035ef6e3df84ef78c3ec58fb73f108ace21447ca1a6827db73f76354cccb58f16a379901cd6db3de0f601f09344836c5557223b767b0143d37769160dcf84c5e76d6731e7f6f886f4c4142d4d8c72eeed99840076ba3d4ba45e2746ee8506a15f6707603b6c7d4f478eebeafd63f46b87b3d9d0fcd426cf72ddd6c031f7ad53642b93335394a7dafcee2e92c4660cb0e1b223e74a9000d141e337172eefa08204f9feafa3a79839596af00000000000000000000000000000000000000000000000000000000000000000000000000070a0a0b111a2026","message_root":"0x320a10bc31e1dca53f33a5525171721610024043237f9fcf4014b7c53b0b4e9b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x42eee732e9a531f5f929a1e2300822eec96d0dbb31a3f9cdd13f5721932c2353f7b49aaa562a2b2658a7077c174d55472e6b2d1020cb9c604de8527a32e5eafe6cbaaf0074ab1b125aff39228224e85b47f4d4d8b1d5951ff8e02a15611647bb1f76017d6c577f2a443859c778d1f1144c14f9752ca6f24bb439afea870b8c6dd802f8758e73989b179f8e0b44b6782ec38cf7a4810f8ea8a94edc37b90fd92b3f4aa3d866862d99c95f7b452df879a7ae5fcd131902c725cfa7f7d9dc75a6ea68c00dae93a4e11f5b50db250fd40177dd6826e325c128496fbfe25101866d2148547225b0457f84ca9d46c7353b042b6a17a8261e1f1f1465370ff6738ffb109b7da5f79a13056db47a345dc06f41581c171ecda4a2191c77de0659a40f5a62a6d3573f71491f88bd3e70bea1899e4cc3c8dc226026fb060c901280abde2019e09c2f0227b50a64593f667b682f275b2cd3039ab931ad59873862ee5aa43b7d8afcfadc879410cf42b03bcad9f83e8909a7ef2d9188bcb446e50f753a1995ea985730fcda51a9c5d996481cbb39dc136fb58b8a76bd6501bfb0072eb43f3253bbb5f72c555d0e76fdc9f0118a1f2f3845aa5dad6ca023c600fbf79bbb452738f0bfdb57e3206c254267aa88d85997baae1feb25d9eed50cca0c97e960cc1a22467e23b354a1fc7fa2d0a12f271c6d5b993efd545dfb60ecac55f1b7e55206a01aaca865e795c70c6b9fab600de103d074b8e0b4b05ba3ba508e46d6880f9b4f1056124327ba8790b3a2f948c04cb7067af7d6eeef8c80c5d42e5b02c2f25fb759773237a2a82e0a173e8a32d1e566bf1d85770eb386992819f0b98e2c32bf4c586f68133e4d6f7603138016ebfa4b86e4a489f263446b15cd107fcd4738f75da0400568de6e106f8f225208c80fd79afea3f10e02ca23bac764cb4647373279932947caca02151af35e80d66fd4e73c572d7567f2b5d730535715177e843111b1a72309a797557d93bee582266bb509ad33f5163d57e80506d72825e144f68af0167d236275208536b7f4d1f9bb10e5e454d66bdfba3be0be9897faa834537215a7425ea6c8072bfc18fa88065cf2ba2c1dca843fcf298edc041d64fabfabe4d2e3c21a512b93f05b7d2a1b7a25460c6ca11a14fab9de2c55b653e8c63f57e890ffe2e80d7550a0e83a2b563aaa32c06dc4690038fe36c47f44633d193d1c892819aaa18564cb7bd7b4c44c26aa3687694e5847df7c53ea2dabfd8ad54a9cade7b537539576a954f326a01bb8709cf76164fa3dc0f104fb90d05e5bdcf92e58ec6426b6afb25cfc37f244589ff06113a3280e7982b04a72f43a9f8cae4eeff7bb2a9a412b5481462c3947555b23290e42e48b9117486d8ec5f6646a72d54d810de6c25c1c213e519463a235a3fd823e7e98583b90fc67753ca59295db2b765f639bf66c92c1293671fd75b227af0df24f96d5c10eb8bdfaad2b7e5f3d15bb3136aa40dd2de23c789cdfca893ccfca3fcdde801adc67318d70b03dc38bac32802b835368f951ce246567d1c30b22b70517719a9d0aa283ac7fcfbc6513e848ec31075e34046a96da1027166211c7e14b0052b7884ad83404538a5e216bebe95fdb25a5e199cccc65862e286a536f469263bde773ce9617bddbc09a3f247fc07d02471439ca9224178f9f1932ab5edd41532ca5a8d6b3a3d9eb0bfe3167f97b2dbef8941d2d43f810ddde078225cd6e2d16fd84bfc121585deaa5c98983adf369a3fbe989b3ccef092ac33896e8ec1cc203eb21c226f91bb710b7aeb0ccb917ba28bd1ca116957f8218ccc85708aad603a410839246abeba2209ba7e4e6626ea313ff36e27985b08be52e6ebe7b455d01c35e440cdb034f45cf6cd19ef33a6e801327940b2fabe36e60083631c7d222741ecd3fd8dc2fa0056868e20e6f8a8daa1cfaec7a9f6b9496c4ee39c0ade3dca827137484d37adcd1e038c40cf747c556d49624a81dc12748a20e070d695a474a101911272018b4b8272ebad7c90dee9157e6f1399d97197f7585d4190eef2af89afc383e4c6d737c277669fedca383c551d167546655942373b9165ea5c440e2da8e8c94a9225f0598056e6d7d196f67cb6b6fa0873c33cca23402a906f56997c92c7d58003a984c231dca092f3d6b88c18013da3a95e885df7320000ea46ef840fc21a79b7c569e0618f974b2554871f823c39c91de544a0bdb1e34f8c9a3832a066a266668cce55bc09239db5c2ebe7ff3efcf65ca97e97d596c6d8013c31d74f53bd0cf1512b48d7223cea545ce485e05e021a91f0ea0ed664b76f060c8f99fa687195d4b292cbbc6f43cdacfb3e511cea54e5303c9355cee24837b7c8d8ef3492a4ecdb57afd2fafca99c2e527ce89a867b4e60908e0378528f69cb5b3a48249ea83e0d991a0678e5a8f5b6a6026d545a833503c416e9c308430c55c1d00f1f829e9b08b32ef89421370fd92723f70d7e53efb45120364bbe651a78ce9c1f66b4763ef1a09ed5ce163b0ba4bec925c9f4ff4fc5eae3e65edbe9f3101088e572ec8200609eadf79828375425a625f0d80b3ec3978d001b4f38ad61177a5f94e54db3af141fa46f1783840e7880c430efe2437bfba61033a30525a85d3aff54c74a5a45055fdae3896ee4ec7966817d57f375485534394898e829ba12d8f0fd6939d729158b82dd4a4d876f019053e95b90b1ccada389efdcfe22dfd54c2fd42a3dcd9e83a12516ac454bae3b55f6f8de3b7ad81eca716a8f474de93cce0e090f3b4bf61430d15530826b8e068cd57785888d904a78161d770079992d9ca74f4b81389c7d7d167e5d3783a8d3ddd993ed497b65bd6b6be0541c1fbe2d2ba9ceab994ef26220c7572b9ef66db61ece2d5b04b692b9f7ba20b50427080c744b142467cb05e61c3c255c9df891b036d7246a595994b494a62a475bb2a07f22507de00a28050e6ec7de89a60504e777c1d195e9097a5f1e3cec7aa506a3f047966052e821cfa446a1c01a7eba56b36822cf8a44337533d6e6072318f9c0822d8e1763522d169e7354c6de25a439e73248d0a04d226dd9814da53e96bbba6a24d2c82f8d46016c53cb38d9cf54cff99d4e71e0abad53d08994c4016e538a3e70229069cc56ba6a435ec667f73cc3d82be62d19da16ab63fec85499b0bb2bc671315ac3adfb06b1d2f2d98c5fe071338f56aad2fbd59148f7743a071086888ae63c118607b4c5e2c0f4c4b491cba6c212dbca020fa7fc773d912f4341421c3ede276ed77486939f3f03fbd24c5207d8803d620f09793b9687d5ab7715aa593c0900c4aa7745cdd820863d0e60e357886dea51a26acbdaac4147db07ddda99d759dad813e8281b773f9c833978a4ac57e064fcf86cc0d2fceae699f0481be18cc4e85277ce9593fcce8aeec40948d2b9abab0634623a01d7719933998cdda53bb1e649bd46b974a61fd68f2404b4c226965c48f9519f00b100db7f9796d2cd3bff2b96165fab92da5b7f7c41867a64dd1807653a40527e432e21973ebca02f0bbeb8ed82fe15eab0d752a4f3e2c5c954043d64b1ac341804cf84de2d6f78543182019a7d09d5d87b93c667890d02c7ba4297db972ebfe0bf0cca3aa43ae66364d2ebabdc2c7558db7e8d899470aebd0f082fd","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x05664a29b6a03084e052a9285ba8e7baee09671533fb6e3f295f8e00eb1747f8","signature":"0xf595fdae8db32a30c392c77bcd9843184a7e0660ff96c8ee8239a6e8f7bb39e7bc5cde9d8dcffc6cf57c58dbaa0983c61aea49b560b290319d0b5a75dd8e5d5b71b701a358d1078a3354aac1b07cc5f37dd3a29d93b110c6ed4cc85dce79b1f0646212f0cc213e3b2b9df34d0314ad2a3c70d874755d218ccb389a0bb43aa5c1b303b711e8bdb2d15931ac02eb57d38d4e2283844e923939fa6dffcd9522c640005ed8d175cb115485be5403b238c3af628d95509242be757f0a41d01d62e26c9e78161abb51235c15f574985b18b939db8993deb1fdc8dc84d5f480a3ac1f1e2eceb11bb922b8b067383cd0296c7ad0459cb269a9391f5312d8c761847b23427fc79adea37e03c6f718e5fd7312e0acedb24c9cbe261531e32d391db28249705041d5ed911604ca652d2dddf0d38e270f35f92680c54dc89de33b5cf522be1c7cb02ac31486aa7f5b47f7998dd67779c34904b0b9e885802ebe9dad35243fa5eb730d58064ec8f49e0ebaa078899463f73fc6f384ea90b92adcbfba520901ab8b1a90cde7127a04fabd730df7eb0679e92335818ca28504ae8a55a94d18fe37e4eb61b740473dd5b52a2798889b01fce5652d3c3a3d7c89dc073da5539b34879ba7145320c0fc774f365658cddbccb40fa886721f79aaaf45d3bd64e60188cbd00506f0cc798b6c1bb5e789e99b4653cc4ac2b65cd17eea3fcab37cc82e1b0a83badf54500c16d8392d19974ff2014bd9f6e527f4f270fccd95c0fb57468613d661498358954a766a6f96d2604613b0eddddf6dc5ffcae4ae022f662392d9bff34f1f4a8921f062a0753012e233fda7ecfe2fdff1e877dac8bebcbe7dda656fbfe30abd2850a0af0f9fa74cc3aa72caa0d3714073863d97514b92c3b6342548ba69631e63b93664bf8d4c360acad852d5dc84366a2f7cb326b21cf712c0acb6e6e6dc088bdf8d7eb8e803a0aabc5a4cfd279dc16ed925aca85ea06bd410996703bdf49d5e145de7a2d6787d805c6caef606dfc2d444a6e9241b381a89becdb125ccbf8344971f9b12390308deab0e70a6b9f37cd93a744143fb6ddcb6fd859da6138ff75e6dd995d789797239fb49ffd2a060fe96a9fa2abbdbae832ecdd31f0dfb844f4fd953f7809637afa3d49bd5a182d2d2523b5cb96552186c2377b29998a1c9d0de92400f0029df723a863e1e8459a57abe90b270282d9bf36ca9ae843d1eed244b3b1544c64dbc0e0eda4f3fc67f76766cda70ad354faafb395b00de080722ffde0905e0dfc3528e7e58fa8d771af25c5b07a8bc5c634adf785c7ef932362da5d6b7aa8d5ed76fa414608273f02077f5454600653bbac333dbdf0f09893cdab7f4b1d07961458676335a84c44bb9083be9c46378337e21f4e8e72615f10a6854899d2f1369af903721138e13e8e773a5871a19a6e95b54c1e2dc96c679d98d5f4286d518fda921da90c0c2f31f427ed4d628ff3529d85497400179a6d6374843a263fd5d01a88b614f846fa32d2e5e1a7667a7c764a9815aae6b0f0eb10cb61bbd81956385c74cd98bb3f48e5843a4a6edc9f4b8f3b9cb7f7c96a37300eff0a7ea5e8ab1fb4202bc9caec16ca36e50988ca9b6b83addd70872acfa6eaac268ed8af4fc14fecd3970ec3b1521a9ff544b39de0922f7b624ca46f46b4a0e66206b2d1a3b67b4eb48bd21be3a61a3eab43e25cf5857802bd2de027db58401768206d5780af8c7e0766adf8a33386e17ce3fb7c16e277c0f6d61aa266bd533920289063c5b095f69c6310e2f4e85718ab6ef17c275364d6d1432db032ea8477f113f5663cd93f47e9726b4360251919dcc90edc7fc89a4cb8818986017e171a2cf4ae21710cff3203fc05cedd90e28984c912f08463b56750085c1f8212ad19c7952f7b4c1cb5278b1b4e0d72acea16d178d3253bcecb77c6c43e897ea68ae61f09fd79c97eded1e8a71e52c2a1aea55b6bff0c5fc345ff47243081014b8113821a55c1a6f28df077b46e6b1b391024e8bb42963548af06365c0352ed613b8496db0f5f75fc99696f7c2c2a580a46d26e7a9676c8efacfe29a27dbeed4bf317fa315d0cbcce563bf26f49975828e0eb470c87e40e192b5022d68ec1adb7ab7348e8314d02f5b9619daa95fbf666d3a897e75418cf004ae800735f7978c79e0eb75d8d0b76f924e2467d6bb6eb8199f5200429f471b84b44e5e7f6ffb95fa4bffa4e54c25b9b650952fc15ccf0155f51f1af98d1fb68c820fba4171e6e9565392b3ff27da224059f540c0089d14371b55eb36982f550dcc46865a1d2c0e45cf523b983c247e7528dc98f5d24afc8c62ee9f0b3752ee8da7bcfc2e4df494009b1fb5986ada8385f8374677b8574574586261a096d769725ff1bc493d6d322bd78501a17709d97a17334f4991afaa3b318e1d5839fa93adb30db096a3eadefa5458dfbbeaed20d3134515b3ab94553dadf68980c065c56d9f8240352ee34fed164eb0265ee1468f74e264e2cae8570c4e95c9b0bd654070b5727453be6fb82215435fa4bdd08d94f408b7d7ce061756f5febb7f4437f934480ba9c6a7068b9e31be71934ad46f0b9ebbf0fd9b7306043b8a09aca674dd4117f5855aab32d1bce01414d55c26a332bdb9a0064518eb132449cb67ae3de2293c60041e3e54bb0a6fde4dc6e9b82b32d5df6b2181ec080f7edac15b809c5b2219eaa2300d7c0a9377b33248a7fdfd628b00bf820937e0a08aead5d85f72e846ec998ef70195e46fca594f9176f3114f542b33edaeaf913c234acbfa902272a8e8b39835cf7251f02f8a0d6c2ceb9e8f2e8fa08849e52dc843134af7aa4de5559689180691b8a9d5e0e949ab5ff053b3782158d99b194700d7ea35e452937737e30b37538b87bfd2b8cb3336350771b8fa37cea5008bfb6d7da0c98af99f0a2e3012e67c8c00a597aeae6c8a38a550a2330563ba596e7628f488298f75898c077ced111558a749ff03b2b8342fc983f625de9ef4b46c8d508f63bae809479d9a21f8d851bae8da711ab8d7104cf7bbf05a0193d41971760a7d9dff8ef8e53689901f207e186f3c71101fb056ca0fb345102785de1e9f573ddc62e117d47d0ff5d3ecf3f3d4aa5870d8206f931610c37f926695169ab5ebaffa99af3bc42b57b42f4099d7172cb6d4d0b77a2167c0c1aa6b72278e7f9f1ec970a888c6ff209e267fe059e58a284ffe70458d04c015a9c12592e16f465c4a7f2b26041d49587e372cc6cd648f8f128590e297e710afd532fbf9e370187c261c402edde79b7aa521a3d07a5d8b17192dc3753ad68db86635166a854ef6bf22f4b907f1b6c60f09ea47da70a16ef5e3412160da7ac4d6b395c0b22535346c64f57961cba2f83db3b23d43d69fc9b6cb709683780a45f73e2d4c922ef607d08ed55eee13bea80806d91ff43820bcfb344def61179b9f6584f2d5ee10dd2fbe4666fc6be25ef42e2e6f402b4d492df2ff34b84ab3a1e311f9f50fe473c481968cb39ca93f3d958d6077712012aff813d9444fd2500c1dc1d8e438a9113b5e3d019b387e8fc44e8fe420ce7eccf6cbe389c4778b7f11c8fb52ca6a3558f3a69869af676fc83694dbdcbe1b309757506de184744f8e39acf43645da7a16820e40f38fce09a7a15b31226634bb2c31ba2007ffc16f9bc5b8b653ad7e5f803c5671517f15ce6b8f8bb9c6a1180c2258da7e6ecc42023ee82e41d40343d52583ae1ac8c5b39ee47eba4fbb501b907de8f54783344876769893c07fce3c4d5c417028802ffe16a8dff503b12eb76281b541c6f2c75442057db0971fbc5f346add1eeac19ac1f3b27fc5ea30d80df511a195a68f258e19483b6dfcead8d617a415367a148306371c798bc8ffad4073c616b49b267dd37311cdb2318edd6f10c05d04716c647fffd6cf24f7a40aaccf4f769b4c20606663ab39b4128fbf3890e3f75865f1a963231755cdc8b5c3d7438cc0228cd5031357bf92dd88ae892a2662b46926e58d8dadfee56e95a13ca5c83512a88e09da6513ca411832e65298179dd1b6efd2b7d74dd73ada4caac37ada8c309cc0646a8f193d80fad2b0a767c2448354dc6d2956cc64b1984b785aa54e9b1e087f8f586c0fb4a50078c0509fd31df8b6b569158dd6f6177c9def53b141f0ce1ba7362fa8a66415db39271238f29d84eb97d95f7e04df28dfbc2a6276960922f49d60f439de60022d195fb79fcb6cfb59ddfd1fce480596e254291538da620c0efad242cb97f1541753d63a74093f8781bb09a217547a738cb59a719fbe4ecc5de02feba9b31e63d3c35d8ba1128dc032e91636f24d9660b954be2d35fd1c874fa8e4f28e6511123d38532790cb45c29b2507a44480b03b8188c427163f2c72e9a31c1465b6a4f8eaaa0d4c5ebcd2839489336271ed72fff6af1d639d0cd8a4c6f2ff9b5f1b7170f0ba9dc7063de8580ab2f6cb88b60903a11c91b4fa129f18945df82728f1c479f11a6079598ad97bb8d0c3f9cc88544cf0feb082bcc6ca937d9edab93ccf118d96563cb22233b34bd37b720175b1bc980d04ad1acd7dcb7159b23a6689b2dbbcd8aef71678bbd7cc3a86f0fb01337a7f9b40f3a73df70ce17fda3b77ac0b34486dffb046cc77b981f413b27705f18259a5e92e2960f4d72c049014a43f4abe1b60ce25fa9f027ae5ddf161f7a63e0282301af01bd93efbaa4f759ce502966f99ec97f7b396c7775b8f87a5f78b970ff48c2c5e52339e54478bf1b5ee28c3618b49d31e8b460206f34cf397e2e796e000cc0631568708d8aa5350ae5fd3ccdf8c2519d9115a08bafae6b74cf5e8e501656df8dac9146389f28922f1b4ff8e4eb0c5b3f2647bb534dd9154e64bf5daf4623a7a12f3a67030581f5fe7971b9a59648746796ab81adbbd93224b0a8dbf9f1bbd87706cdd76a86d041e3e0688d81dd4179564edbaeec3ce3a2358105f5141deae47f593bd11e08c30fc3bdfb72d34007aeb93747c853aaa5618d3d7a741f324ec40080c58568b88f25267b14192ea008661ec1c10f9358a0b28d04d45d0c8939c417ca237297604d924bed74a5be261c9a70057a148aadac7735de053979382ffe79a59932db3e368a3ccacc516c070e2d66e18f2a454d160e09c245f3207440e15db351de19f74c94ec0b663f95dcec3d69519aaf6758f23ad512c39a8e9c982e1717c31b998024743a31872eda6a0f7e65485f185cfec85c9d28eba71376c67b3168f82059bc8d9b3d5fcc88b5c2f6448c278f6158b4959cbbe07f2cb9324790346cede49a5850da3ae3a3184948e5fd8d1241ae19c0a0cdac606c7575016689518135e63e2b4032b7a5a5c2ad82453ac55e8f0422a4c4e122c7ca663a0a89445a2fd5ed9ed93af894c90f0e79cbfccf182a723c432a618a802f8deefce53a2be01f7b3cdd1022fbdf4211059266d7ce6f0f32807f03a638307ffceab9b6c06d47eb1300bc2065432ca263c963ecfa9d6a191463f0e58c6b21183fc778dca1e68b4ce74f5fc8d4ed2cb1878c1ae74edabbe0300821e38bdb675d477354a80651551b663154dfcb1d8414be7b5fdc1570674bbd9ab47ee5f67cfee597d84b5477dc5f75b0bf0316709594a3dc6ac7899ecb9a510eb29ddf8374060b37a8bf8a41ab4b446d99e7b45b7bfd0b5ea8d25f0d5b644c3c8569303cc7a1d98307b8114a007159e0179e89e5a934cd0781e24f31abc68e35db1a849b38e103a4ded6432e5569790d8dbdc9417ec4bdddc88aad3453ac20af0e0109ec38208298a705b0ca4186d09de809d6a42c7b6bbbcc259dc7a5f00866550bd384b8767d82f2bd12320e70a6120d1cfe6e596bb1277b053f88de33f7a895a7fd13d3248a5d38fe3012725138bac4eb4f26ce3beb572f2835a1766615e0607ab74c20d507092b637d117f010e07e47fa18a8960f0656330eafa0ce1ca830e639e6cb53213860883a90d5fc4364ae74c2bf6809f8923d9b8c654813e441af4a5337ca001e77ef520726ac043ff960cb53b25f68b9baa3eea300be269cef762663e2785d7ad3febac7990e9c2bce8cff07ed8caaa9ffb009f0c4ac8131fe8fa7ca9eff44cb5f5dffd0a4c90945e1902fbc1012963acc9495cd6cb040e4ec6ddc2283af8e7c68661908d4527501ead4e8e23c618e53156a12fa617cc57a35bdcbdc3a54c2a30a3279c73d22f61c4743224b08f3df7a47aefaa9718d5189ccd740d131f8484d612c3442a081a5c576919d4df794464f821b5f5c41802cde37c2adf25b738ba5aad87faf0c3b9bb5a621a6dc1122ad92b1067738361454038154f51b8779fc1885e460321e919c5ab033684cb599bf2a1529f93a67e96dba4e7d4ca085ff61c6d73bd91fc6d37a5fc0031e7c350b5ad22c2a9fe1b1b02852597b2af3e6bc1caac53669f96819ac5c9552e132d97f20c90009283c40465e929ea6e1f015434b5e6070b3cef630595ca7fa7ea2b9dfec106c4c98bbc4dcff348e92dae3e8f306292e40000000000000000000000000000000000000000000000000000c151a1f21272e32","message_root":"0x85c4a1ef8d75f8fa97a9b5a159161f9400ec8f0f7ec87d8faccd1933ae9fce48","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf3177d5f7efd61748328832701942cdd368750550c92a0b8a114f66c051c638d10739e0f8da5148ae8774e6de230e35b6e4d66491741af82456974485ea7071f659027ed9606d3d663a7073c72a03b2a4b8b127b83afa0bb21def227fab18888b9c3b677f54164cfdbd9519d5e01411237a2cfc6eefad2e7009c219ff8d1f573fdb838c0509458fcc40d488c785082e4d25c4e256aa304e2ea4fc261398570d8c4bc707d82dc049b9192ec5ba27095a9152d17f630f569b9fa9e69b8189ee6d890e6a18a9c765ab23a1140e84cd1e21b4d282b15b848464a5c9b3c8ff312308b5f65afff7dd2fb0c87e0a02432ed458119fe8264f33f3f172a4efae0a5b74480e8a3f3e5ec9e5ff2633e5eb16676a1ff520c353451261f2af8ed8e14a36c1708b1f7bcc9702aac0f02ec1de83628091d5322eb32f94d1256ab462d90393c5e79ef201fde0483f8ad7812a090c3c6d60a540aed88f314c9b92b81d76209ffe9211c84211a39053adfd16eed1c93856f3254ae09b4e68b2f95801033367eff2b865cb5d6d723e04330972d84dd5c785ce489971cadd5d652d96d9a43fa6d13c01f953ddb41616eb103ed6bae3be3d466b31f2e00e0cd1806748bcb3b8d7136d2d87653f0b9ac0abbd742129b38c4cd51dca077df218647ba9bad8b3af3ef80717c65fdb1923900e739775e7bda92b6531d71b65c73558ac9977c3a7483add8106c71d3492c5597165e02b52ad078b23c57788adfa147ea28664ae3658f128964cf0108398d9cb08441bd0216edd6dd3291196e4a10c6cb22f8a1b50f3210589cf06190d2cb2bde1a3a7154258e0e4f3e5e243e58548aa0ea9270dd55a0c12bbd28e1e0a1be80b198870ca55e31c91ac89e00d0b828905cd0cbf1844c301c7bbee37121eb090e5aef3cba2bf1402d2e2245521d4d40d5a2891406ddb9bcca7bce91b978a65a7cfb8021beba2c8cf810b2f1f43a5ee2b594f6cb25025c8d8b465085b7be7d3238332052632df09bfd32532c1d59ab7b1f1fceaabc030ab0dfac6d199730120cc139a405a2105ef109c896216e495f81302556be4e4ef7e7794c8bf1a75e3e32a9f75a5b159674c0f2831d839dcedec10e69f7ab2ac374356562d82d6f597ac7cd5ca94ce941d5865873bd58352666427458c3897e6c6e5a81ce729df6b41f5bd28b648e8b915e957a621ee94ae06a1581030363a5921b172d6a0355253c6803ae6f32e681503c8e4832cf94dfad7e225174e3405cfac99d7dc243614f4b74fc43cfa4f6c4241f635ef08b40bf17cd5345e84d7d0ac9809c345326dba79daa9340a7df8116d22551515d9db9ced113930313ec0cad441eeed86a63146b3b041e2742018d3df08364a00a6fb7ea119b5873473003450fe5121581af216a9e3cc1fc0704c50d9f9e22571d141ad7d517db3ba5683c3e734694b3530bfeade2efb6bc7bebddf12518826fa18d376c1308969638f0a720672a50ae2759cf6fcc6fbf63274d3a4c7d0641f8f101f19c694598165cb65ab9f01f0fc2a18c61cad6953182e5693339e7de6f4754d83ec0c4c60efb3663e263a048fe75c2c0b618d6915f3f927af31236690d50114439e967009a37610b95c2ea9d432cc1ec30d87324a8d3a88661cc9938a82fc467f400f8f74111f6a898abdf16ef4da39aadf7f6dba498b2402a268d5961a5b2a32bc538cfdfe8bd192649e6da17930bf2f4bd9d5e5d37b5c6e4a89120a535ca224f2202df71391bdced344175ad4d08db565b03e5ae42237af6e2d16c7fc0e654364c541d15b5fb800e78833acfea4a9aa7b8b675c81fbaa96792ab758d73b5c171c362e72a2fe539f389d4be963265be858e42bfbad2d5bbea75365fadc29296d1dc1f614785ec509d51f1db7122da00766beaace1c6467e63fa02b382dff8f48aa947d2c1f313a3ddf6207f03bc16a10a47195e581be28ed2c411ce9f2fcd538e9b525c3b6673081aaa82e1166a8bf6b2ec68236e231b3073a22c7f92e793e045b0ff1fdb459d3a815e2e403d93e9875e4382e5a3bfd9ec395604abea042e2794802a15de1fd0cc09127feab063602d7ea0ff144be3adca4cdfe3e230c4a00630728fd09afec3cf8703b9b4bf690bbc6080d4a332d9b013f75f8ff6b43bb153262ad0d250ac555906871e807cfaffd71bbf731c1f77e28e9193aaed2adf20bdd17e01c6201bb4cdab09ed50fa33309620b3045f7259bf711061ddd8f23504bc9fc04173750530fb927c4aa3cb44eaf4f642cafd34382b5fcc66e2dda852c1a0b899587f4f32f8cc13a92aa1d390b06e5d41f066f94deaf65548727e6bb413dc391df3c7ca043e04dce3ad5da63fc43a9649fcdfac672901b64ba3399c34cd4ec382293df75143ceeafe54eae432a04bcad344d38fda4dafe44f4901f67f226159902efb4c673402e5ba779f674a0acaad035de1232f0b5b8db160b4a438577bd6506a51818607b696beef6e5ebfe6275a1eb9720aa3344b49bee6beb62fe207ee24e2664b1a1175aa0a6991a2e1dee727435dfb9d4eb53ecaac0f5805da5abc60ec7a5b17320274773cc3d81c412a5581b17883a38922e94543354175fb90c753e65eec15df51e0a45d959b07ea0ac93f70102ae883412a5e27ca4133fb494b72f74c447aa911ac5fb66e20b2aa39f60f8ad40de4002ec6ff752e512a365dfcd781fe6b56ca7f02f0db0629ff772f9d400ce4f17386401eff095249ffb8301679d8d73143ab1ec8db89817feea8285ad50a422c0a26b420e5b37e4cdac7c7d7954a7a744a66bd4a0eabb5c4cff5dcb19ccdf9f0495c3c120f6c9b9c7de99a419c6e4cd0fc90b4e46355628f5f9b4f28cc256589d49541b8b2c7e3f13f29005f61d8caf567f0001a54b27b6db06c8ba0c6b53569216d27bd04a2c1566b98062d72a2dc707010effddcd69c2d31d8b2d1340a05773f7ebe9faac969deec65cb18ba84187567ddedd04cf8bee2b166bcd45a914fcfda9f602d26a24dc36ab9631fff34995f8b8093f631b446480c2e7ba6b73a7dd0bb1c393aa8a976116835b9c8d436ed600d2a63d4eff732072b6aa6767ccdd16dcf5e3790e8e3e5f246e6adc4d0d0c2c70b0b516c5c620850c528cb01b301236d80ab5fae07b91f50d513d14d26b346b4a4b9d668e94fb0aac3e1a0b8ba1c0b2221e42b040a9370747901cb00cdbd1e788f257a3d1098a0a540479ba8b06ace63f3d75032f476e5995a415ed9175e5f73e47314ed135dad80d3fa207daf70d773d744fe255bdc7a08124922a09972b9b292b50f33fb8f67ef139dd54fbe848ab36338da85b87bce9e4631e741f9e8b328427404a7ccce08e8cc702e530618d349879bab36c182d743b06e4c987b38bd0516f6fd7816b67649272908904b180306aead7d0c19720723f40ce2855a7f65670caee81d48a3eb760a6b67052555e356b877d955dce14874abd614d8d6d58348cd2c353ba3e63ba69a0d440987d642b9a1459a0f820d292bd48e4b0f3f9c77fa5c1cad6552cb805c660db7198af8b08bdc10e3f2afd6e314f0cee2a1c0116a6c335c827e2f65c9216224ce0c1de7d4a21866c1f29ef9c4adfedcc087ac42305039a478cc4da9e76f83903f7bd46ed9d1402cc9b696ce29a1fd5d0634fdb69b6635a1de094a300af74ed8a41432","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x1314448f61c9ad7f7de12f27b2a0a55a74cb71a2369352839ac3beb011815537","signature":"0x2f389348fe353978492c072f4766076e7a6d61b185f440cc69f42bf8c40cc2c2afe319d23db7fe8bbad2e6293b740865fa7b81bd41e5274eea9f65c25edf8be20e5a71afdae0d39c18d33da619a51c51ed9e26158758c4de47b04c473626ae5354fc3bc9f7044376c58e8917d0b566850149d9472986e589d0e259ef4f52408101d5ead1f2e667ce2fb4edb6083dd9f88b3d9caf3f0cecb614fc92fa53576cb8133f0721a3008eed9db562a33c963bbcc42c96b34048c7a7502db8ff6d37518b96b30a121e594a8e1f71b526256b3f15ec3dee88977213f4746b6f8c3cb4e79e6a2ce26732d457f37e3b6c0ea07fcb043fed9dcec071680fe6b67863214550ec5793fcd896306e1f46c69d2e29283e0e8ae1bd150e2e0452c89fa42fc537e8321095f2cc7c54392b659e8b01e071771b86cd25eacf150f9755a929e18af23b9439d7f9feb04650d355c5b4dd503c2a77d54c5dff7dfba0436b4ccec3953f71d48872a4e0c26485864f80da25cce8e296ef693ab5c8f52355be8f9e9f1d72c8916ecf568b22529e97f963ede7f18fbc5ef9ab234c3486695f90126b216dfa2a9053d679eaf53f8832c9e3e36a9222e8ddae0e9508cca2e73c69a7c8665a5f1b9090fa8ea6df5406221b896cd01670aeb05117f2c8ef408ea12e6c52bb94ece5c5a906f3f5fcf0ad89ea68d090f70ab46fb2797eb4ac9377dc42bbcab44830bb340be1665d09740fe50a822fe1a6c78726dab4bad9565e802df55443fac8ae25f4138b518881639584ae42b93b83a738159fa8bd950a18cc986446396d86434a03df4c5193014a984dfcaf3775694004afb118398cc7d8ac82856b025188e01f0af1e961f2042b9d2c0c1f9a9c45199ed28b0db7159aa97ddb12a353214def87dbac121aa61e182f20b4351f299540d67fdee994a8b67de54cda11ecfc6e95cf788af56d6fd1b52073a41b89c715e87788225ac2dfa68776f6955e045732a4984f3eef8db4c5de642c332c62d9b54eaeec6c95b1eb46ecbeb2a2ebb50677b2d135ea681b3a00b4b7f35a7d572f1ac39771ff3cf8305b0949e5145d04d931ce419d14b7e7bd5c13abe73e1a100400147a6a5596755e8f930f3ed9bedb02073011816938fdd76b67a57bd5b8b9bf022ea4e8bbf3308ee44fe7dfcc2a1b5f8d033a7751fa7b40351d16a861d8a88c689dd4975180e513cb0e2a3f27ef72d973fb6808d8340fca9dc11575c1a586a1a476ad145222e1436dc1a30839dbebf97a3026f5260bab5440439410e85d24be3837d83984e46eb55fa581616bf26fd5fa6f9dc383a990d2a6136cc986d0275b0415ed2139be43b4992bcb954f45451cdd4a30b1bcdb2e4b99e33dce515daa5f8ff669cffa8977a50202be6bef7a36a610cf5cb854a945fc2acfdde725bccb9930839e73edef425502b7a48c734e76d52a6d79baa85e0933c5f4634e3e2feb6c0cfc9de17c9e09c91e16579f982e37f0188952f5aac43fc051071ed9af1429a5423fa61afc74ccbaffef2d9b1aca63b327c2d9d014748123f57e14e5bbe6f1004c77bf73058aaa0eb0348e25a7bc7328bfda93cb6220e5c25fa8f1118d36e46753e24280467cd650c2eadff2764fce67a39ef4f6db205aec623df503b87e96f83ba71931f8d3dba4d9937b0bca9f52bbbf5108704ca60650b49979101566ef7ab3d43d91bf1c27e6ec0ff6a4ee1122af37f2c7e2de63b239cb86984ede5ae72bdaeb26ec8d8b60611b9e8591a984536e7a39ad8032cd1d04ecae0b8676c26a065e94d41d63e76af994657a61e36ae79551162cd439b44449fc8ae94a5a0cafd8b39e700f841d932a9a684b621d87a0b515643a2ec52a2e8d3f66af22f05617e89238ba00fd8d127474b343b03d242feb1718e9a7e59e8229127986e7e1cc7959149e4bdb73d7df106cb8bdfcd3e8c4a229bda6d2d7e1ed03b9417fd1b90b6f56acbd83ae240a74e2c4357e5bb2626755ba446662779f2fd18b12472f3ae16e34fc34ea23666f3e6b099ff32e4cef33afbfe20f4d0c2212103b38959d372df74758755eb0d45d4913cf9f1cee5889c842b385e7fbebbcb42189503a85e2443a1878c2b644e106e266f2b17ded6128b5b6c3eb9d6c1989e49220291a8b6725f26a74737fd67be70081178ef50ffbafbabce13a91e10082e48d96de70452d850a077d7f7f980a44e69cb2343c46416d29517de6c822e641ece8735171fcd2797bbf437212799105c380698e607640d9777372be15cec7b5a22dd2babe21447abdbd639853a3c28e9f408d98dbf2bf810dd04873cb0fe72668a52a643ab5f3e13227bef63f5e7ccec4014557fcca95c0e2f6ba79a1751f785fdbf4e1e6d4a5fa2adf046137a7ca161530092a20073e769353570febd3819044d238de063ccadcf761857553841c0c12ab806912967bc96c3320462a6c3b4bd9be5922b4c224d6c3c2db3a24d8fd8c737c2f35d99522f516bd15bc53f6953ab4ecf98c9517f1ef458f016ccc2fa117e74536367d05a6ae4801d79864637cc272495089959c9956471059f07bd27f0ffc0d5d35a2a6d38dce5b7977a3c5bc0c96687f5a26e0b97408826a5b23bd8fa0a87cb444b42fd652756a6f6a41c01a1fdac108e9e71582ab808b850a592688eedf8c14240b6be34bb19162364ab1ac8a1c9c28c2a57a3ebcf8ead6a4ba2790fcb878285e0b1958ce017abe0ce1d76c011faacf617309181d2874ade9e13f36ebdea2ab89bfe23e6c8081052d9f7d1d185c3b008ec8793a5aba2b65528dd560689a1e715f654b66d98d969fc128e35117198184f5bb03dac74f284f63bb54017eafc668b12bdac20beac70cb6b0a8e16d0289fbca51c5fb965fd1524efcfcdd04e46715153761d43046a81bef08d390b5baf95a31e23a174eb44add235f1ed3c94a5812561ad1d5be9bbb9c5ce349c2923327537472a1bf3f03a319c47e60263ec774cbda37e91accb854808d352cbfabf0bb966d1c91e822a97e32e08bd74cd0ef92f3b7ecff488c8e478099a026248ef22990ee6202fc4556c1d25ef6b8e4451ba612d0ce2f7109cb5e8e1a3b607c43372e8cbc0289aca234fa40b8f18291528ba5508a5f22483ab2eda434c987624a5adf05206593c355a60a967cdedcf5154f4ff10790a2f4ced2bdfc2a7aa29ab311e4df4a4fb53cb4cd55b724151341d22ee4c1ad32423540975f167a9c7ac0684b76bb3308a5d3836461f7efbf86ad29c85cc1cc16e4b9e361ad5a93988d9a7e2afb2e08f947c33484016081d2f350d75d7e98647e7415fe20ee3ba6fd4b48c76ff0f2eaf12201bb185336cd1e3c7ec300c25842eb0243c025209a056b54b3c02a015dd02c27e3bfd9b4de044903645cea369a9042537a599cb5728772e854cda9ced692c8009c8db2537ef6707f010a1d036a1ea864773c3774e63fd343d0b34eab9a6cfeba323a229b87ddd13c874c7c82c9c19a74006653d1ade27fca616c10be832e16b607a203e215151524020736e18f7cad73002580d4f641c7d098e102822b71840343a2b54f6fb4a0cfd69af5a2f6bcd4afd840d57d14d1629d710129b7f599c9f68260ae387e3e3f4c1b3af63726ae43435c8fa17203ee7899a417cf7b01cc4efa45671d5963ab45a096a262775a74613a25978b52b34faff8b3f5bef66f493c6df9fc6014c6742a5238b7a56168688a6c5c113f1d96c239cc136c610d85d8889951c668c5e3e4162e9f642aca81e99860b0f5afe93fa87ee029284ccc6060c704cfb8afb4462a0c202f289c9dea0a3cc7de7b266bee7c715f57c366e9521a4827a8cc47bb813be42938c3b5d62203f0b9c4d47c6319bc8d042a6b61c6c947d662f4767bc2832cacd3d29807cd724889860f95b4c7b1a7c57ba12e5dbca1eaf47635fbca0be299447b92b7ced1c649bd7bd6149d7db2cfccbd785693bb3dbdaeed5458eb1015441ea38b4eafa83a46e2c8b1c6575fdc3309b6209a4e105052bd1789ac4d187b6b40a5e86b88626d54d9b3d4cf30de4aea4ab3256a919d6145d647c8acefffeaea0e4f6fd7338f29af3ecd89315ca2aa29780ae13216311a52abc0979636c5ffd06e1387181147fcf820996ab849b07edf4675822b2af203d4bcf53b4cf8a404ed1d64bcbf0e9fe3049d46b5d280e3e7d0c4d27f62fea6dc40f870029518ac32ca16492d2c089b8a8f23692ddc2e396aa86cfea7c1637f3e7e793d443621ac139f33d264a8e24924aad2fc394c252ebba4e9b92fba40236b90f6c981fe622c3a888edba412df4cb0865cf15afccbdee6d89510ad9fa474507f7bc9622d664eeb63e69c1095cfe4a971b79afe4e18cc95a36c12ac0cc2170494e92e8101933a41584944b0a2820fba1aa49ba3d2f9ce338b876d10a6d31eb2d35e07f045a3964ba6b7bf3f6bd525bf2bc203610e4db2ac35176e35a5c5ae8c63ac8fa9102f830d7e58c1c4b1855f6be1a67f3c9695d0250e456c5491b55c5d2d8505c38b5adf5b6ee54cef3af1abd547c9b8c214b1969c7a098aad97622fb9471810ee8168fd670d136dc651477a9932fa1111fc119e1edcc17e18528a630cc098a5677139a15bb23dd1db5453421d99de9c414189e169641ac3f64a1229e16cdd378b1ca9c8eb45f4bbfdc253952f7d95066f7f628e7edf4397c066ac8a41a72fccd7b992c26231191a6e5c1f4fafec516f240acfb5228a633bc1ef96d930ab669663ef71ad3972abdbdeb4914475f1b5f18ce01d04f210b4c9d9457ab210f38d184621616a5ccbe97631b2ceecdc6439aef18ae0447a2d7c03d452f452f4a2a5e3d4da8bfd01f601b93a9b4922021f74ac2adf881abb41007f4d350ee818e8eef0e04f68806cc9fbcb56c398f433f2a021be771d6fec99ae4d2db9e79abe00e4af37d2825e0f4abf45670c2a74731e51d198653bf32f5bd33aef97c60b4190fb6359161f553238d209bb1293b48cc4948c6d21228450f3859e229a82daf6a7c40485116655f7ca6db4dfe2a063c7b9b05621110b7697fa7da3502122234cd6823a09aab1a192cc142d83642889f9d6559306eb9e5fbd586cb883e93829e37aa5803c94fe0bc89ad66dec4c35d95b7ae24f44d633a010bb1d51490fc420b5cadd1e5bb1aaaaa478873b3a7c27487d1764023311fd181f580c74bb77fe6bd8d65a63ad0a1d4d76320ffc2d7c4ba49fd607af4bbd7257360402b88e3e958571981241db0ed228fd95e64a88a4201fd5aff46afce45323c07a0a1433747fcb5a31b9f20eb4ddddea2f65c32c25c6f2110268ed4a0c7029f580c9f36e8c5761616657bb64ccff8fc2ea767938ff9b94913b862b0933f3165b3d1ebd7418a429c91897770dea359339e62deeb16f9e47cc7f9e1c833204ccde43e7dd8f574e4ed1ba70351ea53ffc0d31ffd1e46e5b628aaa80c9c32892e4020a573c74bef10319f9956a46ead9f9048c3ca326e7eed416b6671cb030b457f6b3614d0f24fd9c6cf60b93a36f5a777e32d25d6fa7312ef198a902a825a080440caccfc1a57597450b763508b2e4a2f40b842837d1f4a5f46facc3a572d49f1826a02c5fa1d7e3b2d5da5de22ef6e0165d2f3812ae3419e2282f3848e790ac877f2216c4c6061eb7306b262e1e0cc29532ee01d2f30c91cff0197202f5c6d3283f7158048d8414683622eb1cab9a8ea3ba2789d3c98d412b1d69390830eb3a21a086183702f622a6304f922dc933b2a2881741c24dd64e50d98d2740fe305a0fb228179b090675c87df3d073cf911010c75a3cce43fce8f200d48cfca775e40b7fa9c8c9b280199e49692e7e2c1648d0ca6bb597b668824c931e73eb485f70e635a52ddd66e162f98856a784a863b8a560750bab8e4e4698d6ec2f2559d8216156ee673c7c6c582a91953483f7e00957697a60137968c8e1d9ad9d77839c4a843f700b00e03a9ea338e0727c85d98f39636e3b8a4fdd8629a93d8b2fb3a6d2e08ac12fa4c344a5b91cda550bcbd588f499b442f8b6eebbb6d424033745b92dd176552ad83e2d6ae76f6da3b4e36b4737aaa3dad5b923160cb11d5ccfa76e759727ddefc6a51f360551ac4c9a7a00d42a266766eefd3e922de944101a0bb280f552a460a65cc899f34ac189f3aa5038080e28d73e6c85dd1abd185497a7ef3f6e50357444892f3dcc7450a2ef5f880bdf87d131422e70911008f803d5f2065221ea11e59b26c6e326277b3ef88c27c2ad340ea6f27188ae1ea888cb256e2d8883a16b60181cf59bdc6536dc68c04986eba78ae516525a9dd0a90e864d486a790ce3e73df119489051e68c0be56f93d5fcc5dd36edaed688366d18ebdc91e9d6e29d34053ec2405cd5dfb4062e621595924dc5556c5aebff11ab371816c5065ee40af39a2a4298c067123202e53d6a21ad435800655643b336050fd1afc1e3342faeea16074c578fa8465f7c96cee9598ebada1261747cbbecf4272d5568bec6cd1428354785b8d0eb021361c1031335424a555ac9e500000000000000000000000000000000000000000000000000050b0f161d252932","message_root":"0xcd9e6aba852d02db4ca5ec20377d2c98dfe77f956aafd4f36a35cb5ee1a36ee7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf02df6a0b872b892ca71f86193ddac4e4e04460b10aec4ca5a0ad80e70208d913d7d30d889f6809b04b48fe8025d4b90e608e7404886c662d57c1df3e9bf0159ee475ba31803aa4a0aaf450cb955213a327aac858daab9159d4f1850b1401433ba72a83257e06bcb8adad06f01bd0ed37e1625ddde0de0a6f78f7fccd35c18296834bb3b8e8daa7cb01746bb1439da9960be9cfd2684db9b917731eb0a5c64a860d641a61b692117599061bc08c3bd13afbf85e120b4d564be227788b3896d2e794f442ed1b3a506f55705b4e1d4255a48b6b12092c86ee9b590a01419761d378396d607141d8e17f109e6077a91db1ae7333d44d92912d9e1058f4fd2bcd93dba3361e67ade94d8c8b755f88d31b8ee74db54e3254faaf140508d0599fff34f88b336cca6384a406b0b0c3f3de325dc455a46145e5a54f4ebc1d6994329d7db2ed212f0fa5d32b836579e3d28f789f482e464854b0a3b3b58877001459e5e0cbe5aa5989637b09838f9a05e26ec6f3ec5de1e74b6f21a44ba5c6145d8b747326e7301f70d4fdd3baccdbb744b6c79a115816fd90df8502d65dee97545ffc5974149de9b3410fb643a0a028e2ad969d071241cefe5eb5400f48f9bbdafa08f4e25a79fcc29bea98ca43b4d48bdd12c98a0412b93f9a1482b2ab4173af045059177bb50b3fb63e792c852f68933003f6f51522f70d1588dc5597a2e1d6ed16a2b8cea21699ab36c8821e027215f03daef4a9a835642d816dbd001b192f356f2a7236c3829c4c7b7907a393a8d2b170456be37c5884410752ee191bed3deb7ed250bbe7909578b7575d5bcc1c85fa765ecb176cd664cc92ed3d601ba425d66f68b38c286485041aa3e6504bbac9c9c822b5b87e1f9bb286456bf4132c19ad0eeb5b5690ebfab6f9c03765f8b73df42abbcc4c1cbb03dfd4b968c75350fcf32510f9e987c33a3c6673f4d96817889e6fafa45e82a2a6f6f7bcb56105f0c96247b493b95c43b272619fb3afed3f4bbd46c87d647c09b2dde9274a551c9829bed9d4cc3936f7737b27840c1d0074c8e94737fe7eaf5540ae7e1c4083757c242d650fe5314798a844f41d9151707d125fe28779d91a97953743ec9940560b6f470efb58897cd9d436c6c412e9f82a554ffcb994565371e077766c67bb921dd82624b71a53520a547c633cc2f5f870058fcdb2437be21474790eefe861acb0f551d5eca6739b19a50b804dcd63c55dc85f4a3789ed29f8205be32c2e30e2af894fb3139913fb6d490887018497eaa815eeaea29f8c22c9ae55bc13c3a2ed5b009acb886c22954bf69e6b182fd4055dbb0820da36e3f673d512d2218baccd6cb2d5be99a1ede8f830b1d8776b13b4cd6bc62fccfd9a110403cdaf9c5a2f4d8c95d00cea7ae4c743f2e740dd6c1494d079704db5721a559cc3be98aea664ac53bfec215eb43c0dc3d7afc00eb039b5bca0f1b64c5133ad1040178910364e6a6063fafa11981c3b422a4d15fd5fac7ad27727bb0f27b52e4571721adb81d364d160f79491bb50d70f597f15e455bd7e055063ff9bb4bc44f2cde3d2bd961b69861f707bd6443720685d9647faead11f37505d1f782a104fda28e387971c5d02031a5c3e857abb09e4bdb5f84a8cc1703af670be3c075073f0f037943c7adbb2b9c58b2bdba6d7cab9fdd95203f7a65aed08398916825086c004d386d47892286ab2738b8517fa9d291b2afffbd6414aa455748cfa321ad1ffd0e0f94a44a86f8862d1924da7c6fad8fcb8d1e6ac51265efb3a3e7d2d17fe4da595e1765aa78590622bb06b4323494610b11c4c28664a9d5fd44983de12091d58737fb940f775d8a3df5d9501189a835eecc7f597f3459d25fbdc73106c5283e617e1363fb67982603b0f6a60dc17be00c4c6ea33f122e2c99d1e06300133b50267dd93317a2dbba27944b3629bbb3408859a8776c95e233b06efa3efc3f93b7eeffdb944ab31d50e0101726302d802c2c38393345909d6bcb4083e239952723cb1191a9bc1da20728a26a86d6045ef07c9a7b4d365b39d695fa51d2f1ab44fcae6ce538e84ea2151753f6fc7f4bea241ce437430fad04fecf3da1fd2a746a6675e4735c3a78b23e7c4f50d4725d179868611894019d96fd1bb132d12c887af7bc6b07460b3f68becb7959c171c1cb9032fbc666c5b5c8d7eaa44e118a9da675c5c929860c7b2f32536f9330c11dfafbbbb448034cd8e64ba786f391ef5b8a3c0be6d9accb343661e0413904744d21988574260fe640650dbb7d33d512982645a5bacf800e6d5a6e4215c61f0e1bb9008eace68b5ecd2437675cd15b5a9f7334d6aa798d6a10a06648b711ef208cdc08be03abde08f192e7be4458f5d77dc40387702cfff9520dce841fc95078f7cd285eda3c85dce275e6f33b08941f87c3b765a762165ef87a9e6bebfc1efcc9940c56d1ea16e804e5ea5229bcd6a843ee79f62990850a21f395a657232d6bedc96d00e40b67240d9554157b8f291efe533d6edcd50d92f939210f0d05b83b18d379a07f02e0f4b1ce8a09cd69e537034058a6ef5ef5d8e608ca5641f6346c66c3a6780d6baa2a482b8f447e02def24a7c6d361dfaf21aa0a3746f00934bc3c88bdb407604edf0fe3e9a2857b2e2ebb5b468f9918f90f5da839b8a62c68b8e4a72a4b733235912a99bd876b8009656321f6cec19811aba6c0c8106d9bb998a9f5a8d377c32f873ba717f19410581882256faca08c64eb6dc1d02f0395558829bc50fe832067ea55fb8cc26b71ba66bb5bbfb34373b8e5ca3d5b8eb175b436b46b6c01469a824d5d0310a02bd60a0082c7c489347d54ee92e1cb72ed0c659e0d8d8ab5a18132b6c00c012b6aafed42a92fe653b4b15e0e19b8ba0ff4ad3e7bb8cddba41aedb5fb33bf0a37bd7afad0fef64276faae77e2a0acd8e4b07b3f70b07e2e1b03390fb60f48c983a565f2ea2f7348d628c86e0d0878481b14d56482c39ae3a0aa9c8a4ae18dd234b22ef7e3ccf85cd1e12513896525f09c32daed2222430f150104705443611a0127235acce19acda013c8bc55dc0e0cd3cce5be54e5f9819afa6e97ad0462d5ed396552166543c75c9263c9ad842fe26cae0f6a646ff4a0cd2b4dd6bc93c927f617900f5f80993997779e68384048f5c7d6f95c4069e4a41909ee3f7c76ee0fbd18d367351a5ddd8391ae7839422db99badd760b5ee4984ec6be470c9b33d52f974aa8f99ea097f35c6933009ef7ddbd74f0adf86cf3408960f7ba819aea9f7cff024bc1ca427ec76fa940ef042f791f5ecdcef48d7073034ce49446560473e845ce10d37dc56b3ab1c516b49a5aeda594d10f7684d54a5d720c040da7027110da586dbb30bdb51b7b62b7af49724c02072ca48f32cd02d86739b652ac52df8e3fc471b6dfafdc3878cb3c0dcb70896d64b56475d6182212de35b0512f7c3c0c2396e2edb1b1e2a87243cbac1ad3571e3bcb46565f01d8aa2aac78c6f88634d367e73bd9eba9beb81ecca882d828b0629f53aee7e4bf6cf24837f52a39168c2f1040aef14eca9c76510280d680433cbac2af4bf3a623c1ce28002421a9fcb86a45e042131fbce1545c756675fd63367edf453e2a1a31005ab94b6e1131e3d56b104e314a6c98c777fb1c647f46020f3e1c4fea6c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x344381f2140dab2cbb4a40fefb22c12259e9f0057e01886a4a71428f3e565576","signature":"0xea11219dab43fa8ea5170a75530e28b159b124a58a799c26f16efeb9fdba663baddea39ba323272d268d560a9acb54915e478085673663817d5cfc29c9ed22686af9b3f7e8ec4ba5ff69c7f2d277f43f9a4f93ba720ea60b2983206998e68c8e93bdb51cfd1fc6a7382192628a438910d69400d2ad2c611cc29b2cbdabe393efe1a682a95e0f6bd2391405f9fd69cc41096098f94f04b3d7c9aa60198d586693eedef46e81e26d2127c09caf0b1e2fc60aab70d8ee7e52eed61b5b75c5656d09896a484a643c8cd5b87cca6109f3ec0090bec46c728027b3f288e144ad8c7900eb9c2efdcf64cf89a9d948ef66deb897c98d570649c9c9ef7fb20e9b5e5aea95f4fbc911e207121ad8a30e4bc2ba58b3c9b3a349595d69a7cbc948f1e2797a80d83a57eab74002259eee8f0c431a06599c73ebb2a3df99aa169e672c72b9d52ede7e56515ded9a363323d6702639c0f850682b1d7668b399500b3f3d79e16c24922ba409c9a1932c7b74ee5cff61747b5f9302c3dc98b277b303c82a96f253a515090b0ae0d4f4a5f0f826de9bd206630194a603b1488f975350d240ec2d5bb64995c5d6ef4ce458fa8d73057a4cd00e4dd1cf0d34e0cef528094c56664af61110631030861b7e7e7f2f1ddcf52113991d8ae00b445b9b2c8015e7adf51ec27989ee831668fe8fd48ab338bb0fee15985e1f4aaa9f569d3b1a398cbef20f74bd46532800aa254fc58037a4c77c6398dcebeefcd339b7e2e59c346fff9b9068c2a214a7d00f2b0211f63dc75684c35aa0016ce4762aaa5b1c0937cac4510c82943a42670fffcc949086b4a73c99ef72ee29a26216ae3645abd0b2ad93bfc95a16ecc246c4e478fe76ff2a69a40afe896a47ea576a1efeb9512ddaaeb9c3d516b98a7f2c3f02429b3f910b866a6a45ad4627b87073a33abba1d7d6a865ca0cbdc30ef84d623f235a611200e324e0f69d7cc7dcfa475cad50111f5f0dce7e1d03bbb37ef2bb45925b09be7a73871883b4adead0216a57dd8c2aa6a95ba9992a92500d7a3a99b6bfdcc614dfb7f1af2a1b60179be5688d95e95e9d8894e0bdb18c778df7fc75b1825be88695619db30d05024a9e375d1fccf7e9113db2037b352cbca7af116a36a0b72def33ebbdbabbeae38b5f67d9422d56da69c1a76a1c1623707de91d39b52c4319e89a81885e432239091f6c7ac585aa6e6ae66668891712d5dc34a6a5b10e545aac37e270872f7fa9c71ce726c9809ebea7db45ade361aae76b3679be47efc97b8beba123b7dd342a8ee589641896e15d408fb28cd560533c576255a1514bd1d0b47ef0dde1d051baae5598123ec95b7ca6546f967cc9eb4388663850130cec440196d356347ba5e5b49fb6ff52cc199cf7667fb2e36a2eb7962d7ae3cb497fe425b2b00246b640028a531e966b299b09d6b954b28d1db0f92e0e4b3f5762a9c9872dd0c158dfadc8675e98960db4fe64bfefb0cf036bdb952cc0f13a57676a4a572884e555ea63328aaae048b0fe5ca60f7407c49d78fc9c99ff2cb9c0acb349b3a56a1f59ee7fe0a8865bc77036da4deb507d25964a18719fc21bd6844f9065c6ca23eaad0033c1ac8bf570f7bbf9ee653dde42051777b0df4a0458a7b10874cdda4ed88cfc323e19c5faafa3cb3b30ee88f268335fa8ffbcc68d29976884cd4d4f3f9a7840650f58e1c847bb947cb8e9a3244a151df6c41889f53c119585c6a7915db44ddaf7e9bc1ea9b7b13d34b171cd728d552538c3dca3c5ab692da7b2f03175d3b771e18b7d3a6c7268b866850a4429fa44065f40bde9d51c8636a586869620ea7f20a932cc4028cf1d96cce516a5f2ccdec3f4962ab0d8bacc666992d69409b0d63e96777755f66c4abb4d5a986dcc7dc1971d94debb5ac9c86fab1f6b14d1e120e6efabc3218eb5a9f738a605e859abd0e35a628d692f2cc2d4381afd9abfc97e8b68d92cb2e438f3d2491ed82d3969fdcc9a1aae2017ca7865026fba91dfb3f5a4442ce7ed3b085898e409675d95f49d9fa5a1ed705afccb4aa5911da1add16b98ee9f7b735c1f722bfedfda93411818b39b10eb99aa7fe69e63c319a531b79ed35a134a5723eb491c393cec9f1cd734d4fb3fa6f9fcd8fa5ef71b5371e23d4bb359b28b5326266b051f617fc9dda506b6233dcb90753ac7c457e927894c3a8f841192576bb21054dd5b8df92d728243b86556f1fabb81cb264afb0d358e0d3110610ed096c4fe06b79158948bc9a310fab01bbcfcadb8570616c97c34d3b080fb849ecd95125b428a44afb04782a03d3dffdd5a48cbb1715384b49ebf3b48a6c33800ce98fb0e1e1ff5352d2cee5db128f9d4fdbedc1b2eb86ebccbc157b11f43e4b1dc0b5173e44b72fcfcc4c3ab5a5219230193b3cce0b8a5ae11cabba63487183231e9a14831903d4d4a01195b46196b7e0ef859a2267bccf3f2760d88d9b488556326f7fcd0be0f2167e40b37184b54bfe1abb69eff039f877d59c8f94af03d10a55d4ef23bab7df297d1f4f654e8931f2857a17638e5d503b6bf890c71effa6fbbc2ded0011a86bcaf6526e7ad09d77cf6ae7722a3cfd6fcc50a9b2775294ca7920f48cb0f1b3f3c5c18d306a0439a9a343686bc784266bf2899a66df5c7e16ef91ff91da2491a5e0707b6b180954ecabada421cca644595bc642f99648f1c0034aea6d892644f3301d086b2c7ac8ef43467facea76f429e7074eb9429cc3e6d5ff179037271a41382e6f2729ffd61582542e1b94fa30cbd1420813e42b7a2e4da76ddf42fd0cd44035030c653ae87ed5210b3f3199d5742585f047f1a1acde078a6a349c4a49d19c2f0d1b9d964ba75421c0039a526e0b7df0749f00a6e7b47cb871b5c02e3b55f51c6f1ab39b713f8c75a3fd78026422db8aabff0e2e119004e5b9c6b0c936ed85149889cc872fd2f9e663b3e54eeb14f7e4d27de958500467919e29db493567a8265b302ec5ef654a695bb36c33f9f01bd57499d2cf2c797ae6548dd86b78d552add1efe3a084c68b765d3fe4673880dce301613d4ad8b5b76440861b9db9750db4f22e3e7f3237543b03ed1323bd4d25a968e072e0b36ad165ba0ff51b30cb4fef992269bea62d03137e589e2d88732ddb7d66d5707ad49c376ac54d8dc7968d750e6fcb49ea6e954bdd3aabc1a8ea0cd0d068b344b3eef6013244b3056718d235efb2a6cc5c3a11eeeade0bc9927ed4d9f41618069ca801794a0f2fc256f0e20aec62d505f960679b6278b84e339582427636cb48721077c1c58d18e1e56111eb275f29adad2369fd6a0eafbe52cae2d6ae8e3a8266f5ceed39d28efa8801268d3a74df67932cbb2051f15e5fbb4d6bd22ea8d059ca2974a325baba96eff8490434661cbdd7466e943dd8d6aa3946e9dd200ec63d09dbd2f93bc7eb765bc262578a297fe07b1e48e63cf9c71a763cb12a4f41afa7af38eecb582964c8bbb8307cf41a661d58d1db04f4d7e1971caa2331a6c0d1345febf17a72abce49cf1b9e7d3c8486109f3bbf2c8870927d641d76a5847ee6b026843bbcc060b5d64833292c3c7eef78e58771c78542439f37fa478dd8e2f89227fc32475cdf31f1018b864092941d0580efe2e0a05f4b61c650a892d8a7ad06842649097750ec13cc088f0480443d6378e0c9adfc312e2d61992a19a951812c73ce0ad08e832de3a6736f7dc5641ee7d0f3462ad27a150db066934a78846df279015ac5ff1914c2110cf964c6c8df68b814e5954d19ac52f343f3af5a015d280f152e85dac45ea5e97fd928f787cb55f9f905d1cc664db553d42a9ec172e98a6c8a301d5e98544f855e0c4469750470f7366ad0867541f60ffd42adfccce4d3db81ea6079cf7077013bafdbdd353f9d00e63e3d42951971bdc480e93dd975f9a667ac866f8ea0ffac7c2859392f1200815b0b503369a8e34c6cc5524e80bddbd35133dd69fab11b91f5f70c2666a5dffab4e916cdb035637a519fcec778039fb584e4950b03dddb2d761b2f5f68250fc456788577ed7e1770104b7d8b9835a4d40cd815c806487a3f75c0f7281d5fb91deecfee165fbbdc632896aec5b9609d8286c4e8b00e8074af41abe48448642918f234a20b6f3fb12de38eda2eedb1daadfa93ed720c3dbd10e81f6c29705e06d7fc708d19f148860e1525ebcf542352aa8d8c5182b0055d8552a6cfaee95682a5b4995cb4380f8ddeb30951c4973dd0fd1918de59dcaf83b68cd0630e0e838eb9978fabd3d17bfa43ae60c6671f42cc7b246b7fd7be9592a6d31c9661648aafc988cea03120dfaf6a9332611c942e5a37311bc2250ca62c05f48936fbbe58d989f4d94b44d3da93622456b42dcd60fe5b71b2f67d43767ef3b9ab3cb1757ed555be0197cf110146a515fc3dd6886d43a5e3f30470bafa7f74cb518e907dd842691120cade1d6d326e4c5cf1d8161f0cfbcf1d0e575262a8da5e8558e03b4ee991b1e710363163a41af2279f58ad6ee28149f7dd7c305a103b052262df1714f18dff81ef4f4ee22091fcd50ac316cee39eced3e18240c4ad07f317a13aa75eeeb3aa723c8797702676b101ee90197682644a49c8a4ee9f5836edb10b497e7191a905bcf3efaf04c61045bc3b0fc539568b74d445ec5bfd38c66a9f68587aa5bca31539ba2bd06870bd543dbe1fd95257aa5fdf3d4af6fc0c020ba60888dbd836c8142c3a0442c6c3c3889988d2c0b85388dd0d29658638eebc9f4dd8b261081a6df3e66d1c23a8d0de50eaa7382644532180b8f2faeca59be57ba4457804ff5bff79f2b7bf7ce778ed4c1a3ef8403ba0211c33a5e7593ea2c67d60567781d87881512e426c2ac0c4e73f28e490e4c9ef5ec86713411994c502ccddfe056766c237fe751b13e5734313aad6df9ea31c1b5d564131bc1a39593146a634d2ecf6b35df015b8ee5e9a038823f9ed0109a37a21888c84cc167e1a8e240005f954b38613d946c422d6c2250a591c96bfd5d31092ed1f59268220ef7d9389d829612daf42998dbb0604bf8210adc1c5e3aa6a32882471f002292b1994586c44ba6bc54c3c545d527f8d876243021d397cecd6f91007e533009e2cc6e580dfbee071ca46629c89a1ce1e1bb9d55893e4697c6bc724a13f0285039d5b3429d84a7033eae60b6564d9c1c21a0c1866ba6153f4cf3ec7d4a5676b97d04c8c38455f8932c3f7ce8831baf6dd1611b05fef8d6a333cd4e4cc661a2f1eeedbfd77f956affa3b0251846a34b0ac7849bda2d6331ac69fc80e59cca3c57af72ca084fa56a490acf802bd8d4be37c5a644ee60d8ebc480132890c8a7f643056130d3362105c60866f14ed06aca7335c1d2b6a01ee76947646493027ed2342a93b68a4f7ffb72d157f372b794c25517a99c893d8d5ddfc39b89e9ddbe4accf6390437c50ac6c65e388adb7fcb7e165771d01a57e03b734b8517c2748e6f430e11100fc35700da01adb4ac9a647776e662a033cd23a9f81befc81e818bbc2d2c1c207767ae2d93c158b14c4921657911e393f4b96bf86f6ab30ca14ab25c935aa67b547a4c6b4177dc3726c5703bdf51f86df7c6138475e892d472ddd05baa91f085d820ab13fcf137a3ba425261e97c317cb2b48d23c3b17247b110987307322ce150037b3c7b67db1d283421cd56a578bc8054d21d65e5d1f77e945d07f940675172d9e7ba1acfb8e5f2a80fa46abe4bc928eb4ba61f7f64584f3d92298e630ddec9484118f1fd7f28a85a3e8abb13a7ef6bf9391df9d3c82c9b058b23f4ffd71fa50508dc5c597bb93c7e509d7084f801c2f708d17eec20b6d3e86b21bf04c2bb9d1c90e84f188f06accfcd0575de08f0b15ff00c2c06033b5dab7c353efb9c98bc468b0086ca55a79b9fafea849664c2d404b5b3a0e28b8961415080f1bd492957aaab7cd9ae24bc27d0254cc1cb7105fb38163121bba4b71bc61c8b7ab4166a504863ceea4ef4055b5a6a8a02f37a3c8704b13e30e134ec7454faf3b0e59f6be7c7b2a1d3015bccae7d625b686abeb88cf7d9c0cb265fca197a856e895e37f957186815697bf801912ecdfadb777f6c310e3e98bdff127c62ba95ff7ac352274c42a2b399d528192b54d0db50cffba8c06a76f5a09098ff67d7bc8cbb721234479eaa2489aa691a7b9c5387df3d66e379a0c84927b3907bf2d0cf3e59b2ed97cb9e495b1a5357b374eb21d0aa911cf0036085107fb9d607123a325a1454e3b41ae5b78e229f493fa2c12822d6de8bf3c0c6b9610154d9c14086dcd3756eb88e81f6fd17db56fc6eea3e6450ebfe9dcaaddd178a93fe7e666fe356f35935398d438271c5c91d72d496ceace0a6e06bbfeba62f90c2669ff9fcbdb7471a38bc5945321e73b8d1815659b329494ac77dd4720dcf10c595d81e11783a34777661e1bdf9b9cb7cca051b01c40d3847535558a1dbdcebf1fd6277bdcbf32f73e922d0dade313a515867738bb4b5f30d6378899a9bd6d9e1e5040e2c57ceebf80000000000000000000000000000000000000000000000000c11141822232c33","message_root":"0x858382e0894941a7ae0d12f0889f79d18e40b399e1dfba2c96731655efa5db3f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xefda6a12e3ece6a9855355c05458d5b1634ab894e448746fc32cdf2a4a2afde9403bdb823fa1cefceca8edc594710b9227c76b4850f3b23b7d6bc8975a3cbd48fb4faed10446f3bebf3eab188c74aa4cc133c32c08359395fa7a22fed780013cf85f422cc63e9b0f88c9149abadc9ad6eb120144e5033491a6f39f759df0b2ce4d5df51f6e9e787f2fa7445305eee4c74e4342dc16570608594e185e2f5884032d9c0db73986c0552d1dc3419d130ebac945b6ab3d8df537c7a2b52816fb3bad761754e6b9c4dd85835b6140d36734359b34b56465d7077f95004b14785cadeedd480378428f171c5969f21538f494e2b8b6f01ad8c2508c0fb0e6b8eb3231972ee2da236abf240c6ab154da3500fe417288b1e62b1d88a3071fb4dc59a04c43d8772dfcfc791191b1959e812412bc9ab8e5012ac77dab30186701dafa2e11e5cf6a1a8697453c0008a2e2cedd2e983223fc659916b4fd8ae96d2aea2c7ef756d61081013ac902432f032bfc72e45ef139f0caa987c86723997c1ff214c8419493c3c4cfcf0387b5368f8e01f5cb1f2950c937a6cdcb069ca17b565ef4bf444be15e6ead09de9dff198d148e9c7af2194ade80b95bc929b36e026718ab2cf01aae9b7bcf92829538bfce580e017d74acd4a58f91151c9b05c655f5016fa74966ae5fa8e81a3dd47293795ab8b21bb21052df6a342d4e7defec8dc88751a7bc849a5d0e60b726cafa0216e15eb673c6dd48a9d2d3a181449396b63a3ad06cc419bfa4e1240c69e62f49efa1e5261645d53e1f46d7a853c93f6f24e9cb9e9eb88e5132688cf15fc2f9d006d373096ef89af87c58b2dc15ac9208ca21afd871a369cd3c25fa96279ad3fc4db7f4ae27a3b6b8f3671ff7e06d0660939e4ada6e3024bfabc1901c65f199cba0e0d2a1115e7476e50f6f1253656f7976cd67cf4703a72dd9acd004c8b7f64cdb68161d98e4afe8f7e3cc8c3595067e7e0c08e3d1f79869bee61dde22221136b9ce7d633f34b70e736d3aa20d45f8c90f7af48a7026a056dcbeba97b3d343ec3f4d6f20c905e4a6d6476b2dcd63fe9abeb399b4c52328826a5423dd06d5a4c7303e67fa718850d7fe0b1afe23b7cfb0792aeffd6808e826808bd06e0daa93fb0c6abcde49200ed68540d48cc3dabe078e8b3335cd4d6a2ce58d571dd1d8cfb60dbd528750c488a8db415986d0df30b6f299af06481e1d2302366c71dad29e1025da77180ff23064c776fbd7f1a92684bd524d55e78d4d9079f446d92cc643f863ad8e30be6f6afc23235d4885934f108fc7f8d47fc858f42395a14dbeb58a5bb7384ea2bba24baa9bd54bf527ff6594ee0ce46c9dbe4a41878992eae48228c052afea69501540c86f80b2b7ea24ed644587ead0e68fadac9e78433ee57597ad7d99017fab665368d16f382d1ecb067846617f9f8876b3497c3a39ff02c98be61383ee7658afe5d1574a1e793ab58a2a35d7d7781d3838db2fb40ac512f6966f3eb6549553b01681959844ac04910124136060e65c286a7056952563dc58fe89362ac37ba4d8f47434fb83a31af5b12b29be6f72a118d873a5afd4742235e69891eedf55c1fa2de92212b21252db2731a0ca3b60ed7b0e5b4de85f523c0304f7811137c0aaf4833afb6887a538919fa464a3d7dbda978b003e60792e2c6891bb0cc71fd2b103d4041ed215cbd0e4c9cf06cf7d8acf00d81d4ef357eef29db47354f3d22666a5654d920d0c5bbda0b8d78e708fcdf97d4617faf2a3ed29ee37a7848b8311752ed479d0ec92cb11863e1dbdb119beec600a02734fc5135e718dd86c862beec44bb8f3069dd580f27698c42227eeb6efa58b46ebc5a98f66b818da5ccf0fff9e0b1bc97f1b2712870d55d3930d59032c53438f600a3f6a6e1f22a73fed920d8876b048f7d1dd254b48f03be6f6cc8fb27eec1ece1bfb9bb031fbbcec51e8d8a9111697349da4423f59de3f3ab07d8d8652ef20fd819d4de0c8d9f5d59febcf6aa2d40e39aa85ed01d1bb80d9b1e854d77b9481dd5c0cb3be510e41013c6bd011ffbc03a5365cea55c45d7257cae06da5d20f323110758d469daedb2afbbaf2addadffadd502d82206abe7ea10306ae599408b67e1e5e7f9a2dfe8033c175dac3b32c9e52efc717fc57886c14e0b95456a9e9ac175881e936effe84da2aaa21d50d19ac9281cfa7ed9e4effe57517854274a0d96ca4d3bd669016ec39875ca3fef8c8cbd9d21d4daeeec63ce2efd01f9bc46a5a27fcca3faa6e9e0aca43d921192362fc81064c8ee1c2e9a920fdd91be7f17bf13a08ee45b70f331e41f8019a8ae3a936114e8f66a1af4a3e3acc57b1f088d42d184e1a447c0cec473c4288a98128a435af22a6ea8fce81c0f1c79e8518e6de9b46a666cb1c82754789ddb18f2c4d6e353eab18bc651c634f4483c3fda2829c88cb65f915ff0283197475850b36f1a281839491ce0589444154b23c7815d9ffa9734e2e6cb95b1d85c7ff769373ea658ee97e1d3172adb5c71ec0159238a89644054b8e5e34fcf74c1a64bec275d999bdc200d346a253bdfc15e9ad5ece1a66e71618d35952d2108ddf17e15153801f50ad32eba1e49d572100818162dee361a391dcf4c137e77a1bfb35ead66198be531fe4a05fc8e0f33dd442dd51fe72940534d50cc7357ef407d91f78ad4efb53bfe8d64d33c9c2c4d57cb2a593741db04d2bc90c6f0cacf82d703fe9c86892290e3917665bbc753522e21a5a98c2da87597e3834a7beed1d6bde1ef67587434254a9488b8c7d3e74800cf02c784b1d943c418efaf7ddba4937eb209dc6ff1cee75b5998ee905bb62bfbf311ce61787f910dc6bfa34eebf3acfa962e101c387f9525d40f3b30dca15feed284c449e0ee84869a71cf03fdccee6060f7fde119cc4c444048b86c48311766e7b11717fb2526f93467536477fec267af8bfcac6774fe60c188d5b8b824a125ecd8dc32b0249d721e6fb3be58036f2d2ae0af16d13f5757a9e5f895f2faeb34e8aca7f009c9cd7aaffbb36d0445d3c127f20cf2af1e194b24f9ab831e06691254c4226c15fdea41a582a86a3c434288a7ab0c8f989dddf83f13ed58ea119df217e32f55899fb172b0d195cf742be4ed5f420878b2ac18b4824b318771d5a16736e750b9a91b3476925b93b66185ccafad9213e360a1a78eab56f3df7ecc89302bbb46e450ba5a8cd7c72d0a99dc16c9a0244e5ec481e49d3572a2d551d8a0106c310a1751a95d086f31645f348144f8ffd30ff6aaa24c69943bb9d0cb509e774c156d3895a68002f4ed42e18feae718a0c61dc29f749fb0eb8d91b2c0b6363beac766046f83817394ab5ba27a8da9b9aef4c17336adc54eb0410631c599b780af575d7002a8bcb04d328c3a843f08a8b59fd0f9b52968d5be3976146b38e445c03b80d24364db0524b8568f949595b3026eae67abed5243d7489d164ca005d4c947a7b9d2c5bd4e8fc178a71e70d876059356c4fd5691367ff1f3802fe82c875203fcebeffa62c95efdde1e40f07a38e8e63d3aeed6be70f9bbf95245f68a46e506494de3c683869f3b34c09e22cb515ecc27bc21bfe4276d2128e612c55d4bdd4552c04a76f0b19e696f8fbffc83ef81575c66aa93a8d20ded8befd4ef899afe38a5db9a356","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x411ec8dc10fb23863e95bbe40f3093731aa286e13152ca1e454e283648176084","signature":"0x7144e4ea5fb4a248897b616e8f860e359823af829e2cadc4e8ab42937194b58961eab9f20a5c327e99bb9fb315009fe27d25aaf1f12e174392d12c65c2c7f6dbe3a8df3f94eec2b2c9281f3e254ae8e1ba35b5eda1dba902e5999237734ff622b0680064b8bd88ce09fe94c0dbeaa3cef894e67622f53b46bd7c352bfe29d3da4b3d3f85031f35f58c8be604c302e51e754229dc4bab512722bca1912178c81c72dec42b5bdcc7e4982363139c2009e5830e17ac222647db10dbdf87fc18fd145cf531dd3afdfca12ab6539741300735fe8a18e160a663fe3a80a35299ca8b63a5e650c049d49e4bb8d6103f6a81a8ef7c3c4f465a0e54fedb754d1848336d01602dfcaec9fef9d86ba1e107a51f06020b974c00e2d5cd7599320f08ffe526508546f923e8bc055ec81623202cfbdab5a1125334500e8848219c0feba3dc7eb1f1cdb38d1b78f362c153857c46a00bf2e5a38a2e4fd4fbf1555c9e9cf9d262331317fae6227ed4f980f9db18beeac9eef8484a9e2154eaaef3184a6be2049a21b4dc30bef4209a7f4443b2565aec00256b6b5a8fa89a85c241dcb7a4dcf7e2d11cb5346e1cf171b1ed64dd4bf69a0eb76286e98ba7ba5016d7b5d42dd3cfa81aea07d9054dbfa8d59760e8d45ef4a3634628714fb9aee7b78267e38c475b5eba4c47fb5cdf902e68ac057da7e03130d4dd6708c39a0a2c3844cd7a8530a1e8257225a3c68f04af3e2da9a7897d948b623daa5d96724edf171f973d9cd347455c96da20e90f20fb6c50128d8050510c7be0a17da79f2f1cd6df7c2ac16e2c0ac27fbe8c539851ce0e66da58505eda6287e5ced857d89074acf3224f9f157a60ad52de99385658c8116d865f9e98b4fc21fa32050445a2224fe00e2198515e83fbc7741f1fd3905866211f9e53854ca63c26847921c7fe9916c9dd43997d848515bfa74c80b49d487248cad53bd9ca92729c10f3839265faa4be3c37b69781e03381238aec4b9dc717e0ec5c7a5ba0c938c26501c39e5db0dac532a06c9a88b183c67140bc0121ce2b474fa74231f905e80939a4882095595743c0313ff54aa6e819e4b2fdf5c39ef6b4abd8d5eafaf6c6324ed2be0d5950770da80886e5e354621493f47fb147e82f86d325ae91b1554d99f8914dbe8b0dff6f19820de99c94d960597cee8f2fe8bd4df34c7ddcd1941172e18e1ae4121247682c5da24a8cce2a541d2532faa3294ec6c0b480e691a4fbda8731d51115570a056b64be6465dac451bbc0909d23a4651e24715fe8c5e86fe242898b45bad78b8d93c51478677b5af210ad7697dc83e081d8fcdf1e9ca1188a16a8503ae1bab147365ef7d274e7f2a026c5a73fac7c4c8c09424d59574de57a7506a95646727403a936018523e887c802bc6cae91411f610655d2996e517b2efd774ca19da00b4766a87ee34c297d799be910be7e089e717cbfaaa3f44bf8133dc4037559116bba97dbd912f9b7f81d05ec79d5c4baf372cb35615101aadc3c09bdc5c66b4a83bbbbe6eda45baca8876f29a80345ebad3476fdcf00535cddb4edcdbc35e55a46062821f48f92903b609497cbf5e7fd09093b580ac8924dcc820d8cb029a3549d27d0bd06c98aa17c3554f77cb89039bea003b28c387291c1bb6a2f89b3e9453109217c04858a11ab11442e16baac790367198f09852cc87d65fcde5877f6eee0a335ce212219af7177a5b0b4340670824a788afb9610cc3bb0a2cc72390258ed2f2ef8f3f4f36e6f8da6a7e580c3a41960620eec6c66d7e134999fb97292efc5d57f1639ab80a92fc5c3d9bad5555a460b0d2466e7d1ec1570e23d671afb01e1834a7cc69dc323857336e74c7633221de8b0ca2c099e67e178bcc8000e70854b5c7aee899f401825c4829a1f5b2b48f6bfb53d780ba4ba560af6990541aa7f05152b932d1ea5a89815ebe6e3d08b625138287f8ecc37070e75433941547771fca032b1d89b90283c8e70bbbd31c34fd2cfd20b2db6027cd2602125520cde7ef1e3ec3be4bfef46f2702ba2bbff109d87046e53310b91a5c4cec24018507f7177e26367d07d85f46aaa7aafe2685d9cc309d65ff8da5fd7f6044f472c28a5b5d8f572d2c8bcc5dab91554c6a4be658403250e9df6f800e7ca904d62c85e784efeaa1d9638ec3528f98a7fefd1e3d1d53db1310bd3ba236da69d14f1250b632768dfb2c1d618ec4ac7abe6b4675e9df461c5ec30d5e4e60bc17e6ae78eabbb00cae4bfb22ba8e1a87abe99a2df10b4c3d6394721e2b0a3c809b51e2d24f9af8e0b8fadd3f2e773155cbf96578b3fe34173812c97e32f50bec365d54a88addcddab8cbfffc95e431b5434f7c1613b33f85733a2e7b92c655ce1b1d60b938b45c356ef4a6eb3507ff3233f453f64952a8b0ca316ddf1a681bb4b711579043ed116071b794597848887c68a6bd0ddf8dbf178b0262c8c845c85b30815e1ee64cc7deb789cd751049ab61261a6e68da239f0dbb106d58fdc89a53acb25f369ca76e21ab109f606415001d063198f313e6f62af75d3dce04074c09259850b50683cd15640f696d7ae9050c9d84c6fa1a4fd7c557c247b5531684c9a122bf831967a6a47c0551fae0be7d21e29e915c13fa39eca050fcc61b176d3ed8e6f14ae4c98e17fa692dffefb7bf4bd049425279c996727f1c60d7f1d8b8a4407cae89af2a2389349f0f4660d461053a38458bbe9c142d84842b51e371a55fad641b2a56fe3ca670ea8bd51b61e73ee19a13ac22fea25f4de58955373a75fc2ae7a476649c06bfd00f6a836d1a3a413e57937e65a0ba89d73dff2ba8f4877244ad35e54c97b2250c67342a86932bf38baaf142d2fccf15e6f537141b94547105695018f71daaee1cbf816b6d98ddb72b26904e30450bd0f2676ee55d5ef2c97a12230d31fd50f56e1b4c79753aeccff699ebd5b47330dc2a7281bae7f73c9ac0f72ba6172eff5ece89fb9d99fbabc0d69d224dfa674390395f399332d444f110d29c85ad3740da98a2ea51174b263758659e64ba5a736d82227b06a5f10859f3fae6710e0965adf6f0c88532b985c2a533c65095398b2a7a64a06f6f8143161f79337327f5e4c13259134ee33c5e22af2025d9d671e6e2d1244a82a51c125d65c75912a879f0f1e6718caf49b296bd58c4dfa5b6065ca32aca278d3ba1c8e72a99d494d112f8100da5b141fa2f192450168a4d352425a1f1f8745c08c624d1dea7d5fe0edc9c4ae8079dcd38648fe2008cf0fe2e65f64e8a4e59d4b047d216ae312916d14f76a01b57f6b86d294bf5db1710c141555b18ce020b1d4bea36d519d56c408b82572630fd90b2f570dd2c90142bd723a2b27ecbeb2ebed901a358e593d51358c4c819fa4f3ec4b8e7c3f0fa2b8ef22c73f4c3cfdcff77498b9d281f510ea538b6ed596946c1a02d9952c45a3b86f55a67a943cba6b4484dfee55f3c8b976fb482ae0690d5004e4079489255f42aeac20f383bb9c1aefdc9d814dc8db38aa792f0f99e6fd715e4c60539494f3c8654bad69af8796542df8634e378fe8e8f0b0298e0e8e7be6dd36c9b388d17b9b617ede672527ffd8b950847ae9b6ff54985dfd164ab58d7798bdfcca9476a4b2ba4b6e718e4cf717d323e9ce09ef51367964460f611d06986f736097f43d3940b6f746077d4df1bbbb0226d5aa0170e1f4cb94f0f91ec73c2da056a2a109c9d987b94d6cabfabb428de78639b09edc6ef89fd914826752c294b276d1bf2e19dae75c6a7b5a970dce16fb60e6044f25cdb8e133d22ca6fcd08db9b60a0fe1a7a58196e8e908cf1f1417631de7782a439bf5956c7d9dff6f26db698ccc6ce515eb9549dd08b41bd513e18010ed1da0fbbf4ac2515d91eb9db4725a5c177710eae996e5c2ac2ab362a2a163dc829e105cca0d8454446d979c917938da1b17d08c9fac424e7db0f696c78792d3d85989bec82b8f696a99e15431232aded5c21d5d9af6a2f02d960123e2ada362710c8f466a9ec6520cadf441621d2ab93cf8f224616609644508e8e28de23c9d2c42298ced1c7ca9c703baad8543744952fb9d6ba619c0f3ee6b7017b2730633c953dbb6d64c14d88ef9ea107d5f3d34f165904a1b1c6d582afadcda1ad1af58e058709466ca57f77dbb95d41a0ae6bb944e0056e5faadeb65e410c8306c88904d88a0ea7979152241b17f715e416e9a00b86e567d878d8d55a2e6910f1371ce20df10312bd2cdd9b19c5d5ad87585e0834eb34cb03e36cd674f4a44b76d3b1dd21ae9ad3c53e398511706853a20e0f2f1c9c54fbe031c836392db2a3c50d656a982a1476bae83f89e89e95bcee7525e09aee939d223928251d7d388f2b4170f387cccd576e5451be40f275a8f80b5fe9e9fb1acee203d65a9721ca8f5c0f763bd4b330999e64192e109d6a3ba1e08021041312ad8e6b2af3b396d3cd4858db04d8682eacec9ab7c5e51ea8c3a69b2e045034100a30b95f9b6cbde0840d78312a5fa8331d972b3d44d3f77e15bee9131d8e0d88270b61ed781fd4db55607c98e0b470ae73d863cdb59811bc82432e5d120753e10c9ed59fd9321e8ef1ef7ac7e7411b816278ad104a3e34c953401fca2fa24d85035a5613e0e6cecac4aaff0da2158241ac038c4ee238426cbfcd47e214905b99891a83898d969e522e8e4bc54a9a945e11a5775e02af610d303364cb2b1998aa4533c28a7cee5403d7707225ca12061f0f2def941d2214f9e5dc0203851a98b9786344eaa1fdfe042e1d508527c8a4786f7f91d746788a9b8c9f50186f47fbee784eec734e37218ce4b1d27f25dd516a4a5e4d8251e98ede4c1335f7cd5df284afdffc85ae62f5725ca524f61e60543bee4a7b3a355184b6cad16ca7a43a58c55bba0a5751ed2f858acbc821d0b1a3ed7ab7f0090a749c3623b30e2e20c977839e7fcff927f174bf1e1c4ed08d56a5ae7392f560e8f1198037af4afc2a8a7f83565f3cc2e3ef63d83184eccd066898af15d4e0ff86e1234e5c69d2f7513ac7b6601b38d31bec96a9ac74bdb026e0b9a1b53d8d2b821311d162820cbde6c0b415fbb5ec24b6ed12d0fd764afcaa90cc715fa8829d00a93bc61555bef58e2c69df23b216c765983879534e7e028a11a40f432d26c2a88d777effdd3f69f6ae5da1aee221963aa533a92aa0d7372032e29f28f98e0ceb370eb5b0ba1bcfb85c628c783b5d2f3e9a836969058bee166108979f06effed6539fd73c39af2a2ef5dd317382bd724778e6265ecfd14770aaf4f6a710a0ac42eb8c2ab0089b6d209c4f75686573473aeb43fe1d03d965b4e309bbed8fd2dbffc091cb25fc9468e65ce84cc64cca9a65dce4d5737f6eb9d5ad3fb837e250b6a460bd586ae2a0a82398f866bd25cf05aef26fa0e7f2e0b9f4a552e3a8dbc23bfdbe35ce73aa16a8ee89c9b75bfdab040967a5e47c71e0cee7d193d665eff1343070faead2258e6748faabbbe90e66f2a543cffa5a2959dc40bb3a364f349382b1c4962d0ae43200d02db6480f225fb7d964e56508a93750cac2f291acf4fac0580aadc092b5daa66983c32de081f7e8987d066ca008b6c201618a7147656f33c8bdb091644fe97b87b1b9f21cad3f2e8bd79148fd05905430de84355627c2b7dbd61a28297fd53637c8663b376236e031382b8db523cd8fbd1de6c7a8a84234f407d7d5684001e8fbaf44c3381adc7c4be67f2619a640cc536fe778275526b9736a799dc4c11573425497c9713f39842cacd8093a19d8961937e32b664695e134a895e8ef80c283345d46fa51b74ace45271ec397bded470ff5ef4e0705a57f89c27d497ba5ec89298c68949a95c245ee28f7e226d3100c0675ca15a08986e772ba2738d5d0e1efd748d0a92e006f2d807504605b1382a5eb994a1a81acd380b3e7f29bb6001b0eb8d689a0527bd448ec5a6151f86d1e98643bfc6dd663b89551f2669a76466ddbf32f3305cf8177beaebd36b65fc2a0b20464fcbac94f9dabe78f04cc5b5525a05e9dc2d84166d4d48e68aa5406ce583f52027ccf951a2e65bcbbaafeec2452c0d696342244590e2a14e31da6ad0eb3a1a6f784f3577d7a885e85609cad333eac49579bcc58a8d9521b4f190bf0e04cad0760d20c0389cf87cabcd18f3fef82437961c201e7ed1d4431b16af971789a174337b3b2d37247e90cf86e879c7bc5afb5cc33893005ff41a9556a2ce6cb301b59f8b0eca3bfe7cdfebb025b3e483cdac56f0c66a7966784318ee1acb18d5f27c92294bf269b366f92cb1e9ab7e9b7cf1424b470adf28cddf26bfef357fdd2ad80682d4359a6767438b01f03153a1c8bb906d9c64595c430592e8def84049df0aadeec6c4e43f47eb82e2a6e228a0db1fc46e4f70748f054b280eef116903dbe75a95232b8e3fe4395f3f3c3724c6fd7143f97000282b3d999eaecfdb25328e90b8cde146c1caccdaf5051b2e3aa9f5283d5e96989fcce7f7fe25748cd20e4a505598d1d4dbdde0e6ec2d9acce8f9000000000000000000000000000000000910161c262a363b","message_root":"0x47efb9f7f7d81c24a5ef72c674d3fa934dc23daf5ca8a9d339c1d6c02010bb91","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x916c4b2371fc51d73f0d187e6ea85be9a381bf196258a2252a38d38bcd8dcb72752d0101bd1ee9b3b84024958e3ca0474852bf50d4641d6e5f5463c6bf9cb0e904efc3bdda49100d24a906389b44dc6f22a17a8855e0d9092e50922f0575dd69a7d96ee4c7acd89877cfad32256b9556e239685fa6d584b96116dfbdf6d918ae768af322a8bff38455d962f79b8c9d59935dcc857ba58125bf2a1fb5181057cb30a00940d94b37e00c056c409dc5b87ec86990c8840d26b75f996c7e0acbd74f172e338c0c2e34222a9f2bef6c35cae5459324f267d48f341ee552ad5d0e19372f2eed17e45a20b62cb91be4e5d8963cb487ff8a385e0c77c98b5c37809cf275260da3c4686cfe4b8563de7206d1b103476448a046cae76f39d5209f63acfffac5cf941623fc0091409bf9adb78b44d1b60a3e0af9721d16f691d0b2ae27d4801c64fd7fa82dea9e9a3c485a9f9cee208f09bcb71ab77b1d9d246e4579f7a27340b156bd0807096289d65aedb5745f69a855fbb4a14c93351a20e26f58ef2189a1a482828f6318f70bcdb6bdb1a53d8a89532d2d66b428bbd7073e44effec439aca88a27260274ab4cb7cd1c97249615a7f483b6a6429a9f261300da3b7129745954601364936bd57b12c664abe64d0c208610ba3ca3b7982a38162a69597ac117f551308d02ce8a25de926a222d1abd1398500e46375eb39662aad4e93b75aba2dc4edb28637048096258dc81fb586151e70c809d31fbd92ade690996bce632ef9534c42c5dba7f97b24b15bc723c0f7ed5347bcf8bab9d3ff2c73830c4dec06dfbd5bd634758f28f856571d3aca9d7d74d327f8f85341715efb792a91c0d7306877adbf660e6cbd3cfaca6c6602ad02ff65abf65734d5a03ad6419b49729be3d5237d9be15504447c920de7575dfe9797126a37b727cf785aeb68158efd48873bff9497551a19fb6da727b4ba2fae2792d8d624efcf4c52a2173eed8c7249a2cdf626dba66ce41f828fc67a0946d316b10bdcf4804593c9281fc005364c17bb7ec82a8894d765189d6f91b62cf6c8da9b05cbfc901c63dddaf0ecefca82510818aca219c847798235d4facfed6e02a6028eb84d21da33abdab7b5fdf6e7140ce4ff70a17c476cd47f0021cb3d661b3f360002e7fd1ae57d5f01dae0860fd3352ac6af5e3af5d05b4237e616fcc381ce5b074c7e593a997ee0402e613aa270654716a2c8bb23ec9aa719fc5ddec89bf83dc3ba353925f1fe2cba8098ad1984ece0c300a26548ff7dcd1f18708eec197a53f3ce301a3bdd47cc16b44eb98f7027a8a53b9d96d59d2778abc3287c08ef69bb7fe8c0b04f5e21b3250ba4409d2a0985e9c9ce2bcdc0f07806cb00775b22760d94a28e67d64b01fb0ef3d255c0d4d1b9ad3fe9feb11290d36f7684a1fef83a20dc4684841bdcd024491955c84e04f8298dc3f179bdb29bd9479270915ac5960ff2496960fe9a0dd86a36c74d280ef95dc351cd428a4ec6ffaabedc1d72722264a95f28c8275fecdfe46c66c1d7ba9aa9a814c032d2b5a0507a16c5de521c7f36912a505a6869eb43e3c7e8a549415ff893bbdbba5bf5122cdb68865a4fa60c2304be423d6c8df63bc6b232fb8f4965f8f7782c4ec2c58c7d8f2c83f725ecf784a0a796befeb1a3b76b5096bb371212b1a9d1d91578c6a892e9de62335eee1ec26e43588a76ee3678b40c39aaad562a3f57e4f465a4148c6f1ca5c368d86daa2dc9bc78d35e9969fa0f9c3fb8fbf9d240c5fad1bdfb3e20e60076fb59fb49f0294635d36681c5db3876a1a130b2e9f7a5a2f91a2a279f5c98a464ce91765d0255de6e9a22de45dfed93906f885781339edba79c02d2d24672649e0e85ed4f9ceeaa67a0d82c32a5e0fb3f0f1a3477672bd6ab973180766dd01a814e4df55966463325a84f0b0b3508e86adaba66198b8f3db3d7909c677ed29d50a17f6efc1a30ad4ed801414ece1ca929795bed57eeecb0523b06810051e4c7564e3c59eed5faa312335fc8cf2d89307d477afec0acc060a145417f2d938bfc925013f26eb68381c68ea9dddd2ed2d0e42c1603e2767dfdd4a17540204de7a26627b5f4c974029f7dde66a67492956d22d689cfac49025465c444dabfdecb5fefcc68eaf633df2e99919f4f8029553306ad23bf432c649013c53f105e6041345023676e1eed68c009f12f31e8c4e280208e1aee225b8dc8d46c1837c41ef7b385cdf95fe5c4c8ce0e274d10b96a358541d87bc7dde14d58dc46d39fdb24908cf496fe5b8901f05427506addca94dc85b4647c5c898157dee2602a6d4c78e0120497d93be8b79d338f6f7b24dceef79421d437008ea50bd27f6cdd40c9a0c7eeef11819cd0464ba7655082455f80156fe6a8a482c3c8a1a0238a2b3527e7fd9df73678015fc02433feade9b7159e30997ce9369ad5a98d80392c59f039a66620d6b0d6e9347f0a6ae00ad1a33eaf437089485b8c2bf77fbd66b58a9dedc0a6c6796df9e0b47d3b991ce1dd12c04f49dffe94bbd154bc5d77229f63dd3dc091ffdbab9e0969b69b2bcdab9c59f3f7316c9e5312dad0c07cfd623bcb7a31c0e7cfb123391c4c3561513056be052445e5cef6fc51d481adfef9f54e5ea8b42afcf9ced53ee960a243d8676e57b5bf9479691fe21aecfbadb077c95a30e12e730c20ce75d00489c4891178e145b04c1ed4883466e77de8fd450123ba7061526c38443595f61d4619100b6a7a3740a9e45bb77c075849891b8bfc829ac0b270da779a6492403f237e3321cbfec4b08473a2ba467645e7435c8479951ecf0e700d547f9b2373e8f0add90e9e6cef1d4f68378e91dc112a5c0e847fe88141d167d7b5896afd8d6ff33c87aa7b085dd697e57e03929b8373118421c3fe89971c3db16e9b4bedb276917a7090d508d48a1567fc3768a3a09ac588bdedcd4930d290cb91cdca29699ca686645916c31dc5e51e014319b6f4050301bebb2e07c4dbf10f2330300cff992bcf1f0eb5b1261bc34fecea7d0c095dfe3a55306e9eecffb6c58d576f37d5f5de039c65d66966e6748b05959d6baecaa4439110b4b31051f7ffe89584789ea554c94a696dbdf96eff257e4863c1dfd12722b8adf7f70f5234bf27ebf8db2580acaf416b1b7e99a7a5b0f86bb854e9f79c23f0bf4cf37fcf5818c29e9507270ae891faf3ffc433789518afaa8ca9d60205e0ad5f497bb16392e8751fa6c19af140531add9697a3e5b80226a0c3600c9a0d0a9799ed96453fd64186916bb2ffc04e970a7c8427ff9e9ab356894db6a2d3788a8324c5d756df55a275416c40a580fa20f369b51947f7ce1d87cafe871c22664532fad5f2fcc0b891fb10ad04faf61d090b017fe0326975d46127b9d189c30dee1e0e5dc437b23ef9e07f8f6252e1c6384fb9b0cfbe2a6cd651214d2785dba1ad503239d2d89cf9b1a9e1d44af0cafe063fd5c195719c822daed5567ac74e08c17b14dbf64698cca54579b19d372d037285f1b727ccbd61139c98c9de6083f30f9fbaa66683f8d7e32e600bf9ef5c293aaa357954fca72bb8309148809462110d2ee36f6059e78a2a54fc8b55dd386fc6cc9cdb665478a62472d1c0ef38288b7844e92df3febefb1c7ff4e01d556b7f6e8cc10cb3e40c23e5ae6d4200e9949f2","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xd9e1965861864e8b636794d8124ca3d3e3b6b7ce8023f87c64a54dd2e15763cf","signature":"0x9c26c4331824d14d15b323c061dbd0cc448e2ef3670519685f2ac43236c62cc6d523886b67a7647ce12596eb2f9b1f61b93e3d043127a6c558352e248c27953572961a8de80397657407bb5f8a2d072755442232714527b8ecd2dba91a688116d6ce1245da6dde0f940bc289dfe0a3c7205ca0973cfe3f1c7e0c64aa7477a6ce25a57fe0740733d24036a2d8380dca74904f414e733480dcd196898d492555043b99bf53f7cdf8ca5deb560af1d12f20b18a0094be7dea175564ff3ee128fdabf773d5a2198f326fa8e2146a67e73418a4f5f87964382dfedc2094156699cd14a05657b46dcafb197827d223e810794616c5846d9fbc99dab8b78a796333daa9e4f8dde87c47c07f6746c770705c4c3bd8e3d5d21cd5fac251274482fc553950fb4dc09a4e9c16706d4c49fd57690635b63401df28af5caac7026e014522b53c1a6fb20ba2d5cf10f3501ea421207b4cacbfafcff12f28f151b9e3de09b60641d55675c899364f65f8ee5910bba96ce754d4dfd96e2fb37d22cee4986f9c8160589a60ca2fefce69366e51a70ed7361e1342b695b0de3e911a5589af9ba13b95ba59106cb44ae9ffc40e489754f7fd84fda0ea10436b8cd1cdaa384b85263058229c7c98d6b720278c9e86c9d7204ec27a1ce108efa64c0fe49dd06ee53bf512abcbf701892ca5adf7401c79831883946189dc44a6a1b3c23f28950d6b9643df33cedc972af0f9d6d91420b2b2577ce112b20b60115444515dcc1b7c85bae896202e98cc231d92bb937687a93ccecd05e28d9c8e6061adee43d0bf5a9cdfe791c7fabeedea92d6885ad26b30be134698c20d1e26cd155af29469c66b7fbf5e9500953d4c630a49a5df96768b869309a796010bcc6652eddbd8a21e2b2c4a1ac52d0b7e04025a195894e88e34c897f53162f5506d5e0f5997c8751fa97e6045a1492f8307ea591491f57d3f7fd99d43a4034a1d152aca537490527f0cd4adea4d0d779dfbd97aadd9e67c13469685445c14ac468ae6bb349305a4063fe9c01492a07ad650bce904d6cd830f461652a4fa9d1a72d0a40b0ef21b00c8f4ac3532e2929026df5de06a2bb3322fe7760c41f04b5586476ea791704518a73fd91bbfb091a91a0735f7ebe3a24453b968a9055795d0e4e6247df82e586cd80b0f6a36f1e5150f23c8b5847c79d3d0ae059160c26ee7e1c3383233afaba63dd727753611367ea2277dc315e77409958febc7be0017e1beda1934b3e4d4a3445e4cb2bc17f72adf8c825b22703f42d139a6f9087f8992a9aa9688f6824f0b25fb8c3b9528afedd14856160b01aa03ae32d0a2b40740f1cc3b7f340211a2c565c4b75de521d84cf5bbed6707d6f9e1b24d52b025b3080b71fb826f09a539ab1d5f2d5a83eb3a91ca29c2f965b8a508f285b3832e8f082f4b61fd4635d839acc9f9904ec389966dc59be260dd54756c718582330c1909605eb5b69e06e3287b7c3fa813d475da7c72c509cfa1d1272c2bc975aac2efb777bc33ea2689e2bf545790b45a3b7afe3a117db7595ea8ba26979b7a3fe1bbc639bcd77ed77db1afeacd0bcd6b4d3bbe8748904255193ac6822e0e21bb21bcf3427ceda0ac85adec4b42c7fee6944e34c46e4df8ae7b0095dcc3df5accf7acc1a7308d2bfdad14400e4078390f2771c9585e73996e35f0bdcff6ce624ad1cc1e50cbcf3ce76f537839fcb732201550f3fc1d17aa171878415640ea67abf46971d3a76eace9c4acce48a31d5a9b65f0f9db9ad06db5fab93ed9aa3ad0b19ac4e232304edf1265fad3b7420d5b5de3be027c90ef0a5f14def685d97529aa98fb85941f393137a3f3baecac4f7c5a1464f503b69bb204d125e8165629f38f231ca134439d7a84f07265bae9033351248c20e8661243b9d470095e9e4834d6ac37be4fb02e82e4086c39e747613114d8e6b9a00cda47baaefb105619c3e385321992456f547597a0a77c2de080a0e2309e79bbbc71ba914e9f2b64a7304c58fc27b1f8b9f0d8f95b3c945af230b5fa9e7a509034583d798ac4a9328f6ce89c2a5214d403a4e8e1faec30535b7c4327792e6748f93eae55a56bf60534c9a8f8caeb120e2c45dab70abd710d96c97f21285edba6c644503e7c393d024d9055b6355c3d62f33d2578b83decee9867f659185b8ec651fc7a2d1a6106cc7ee849cb07dec73f612f453687bafc803043ceb6f3ea7b441fc3b6ccef3f0e139500df528689bbf6900adaac6a9131ce9ce346557fc29ffd9999e2d054f859d5ecdfde85f4e976c64cbbfa1faafc3c3bf597f04772ad1fa026dd319c269bddc330b323ea599bb8fec4694a74ab7d235311823e25268723806291dd31b15e11d333a4992f9270115fba17cb2f540cb51dc362f090dbd27477befe1d25287e1361e1b174bda2e208540dab9b0ece0597ef5bf4245aa1abadda14891bd1ce5ebd4af60c6789c898d66c78074299f099aaae852ffc315cddecc245f5dc10e62daa7880e2154c1ac0fd4341be569f1b576221da548059169ad3da5cce7d016e7666b19cfb49d56a3a086b80e81c08d927ed50189416804e61f2cc2b2577c77ef3f867aec4b500eace824a0e3d561ee3673930bf582536516ab8880778954db854a7d9c302c8ba4459634d3f066682538f3c6d120392a5463df48cfc7b54c772a90f7c04ed4b0f860cab03a77277ce16a3c84ec84c1b7a40fb352eb967b8007190763573898a2e3f4e7fbb392668a7dd41fd83168ec3fa3c718f35def2820bf16aa2da36ffe5ed4295afd57e0e4bf83cf8f6ecdd0dc786fe0bd854ccdf9d9b23eb9bc84eaa9393a0f47bb7af12f3e801c8b6335fa89bdf9f3310a58f21946884e85c11b78f0ac88e4732b2e2bd5168fe2aca77446ea330ac1f373b6368fcb74f2cb42f14676c27ce437102f0d54723cecdbbfef545ad8a35b6ef7e9e45e6782f6d1f49218e1a2bddf81edee80656ec41fed5d29a8db7465d0fd1b1ff773e8c0bfd4c410760f0d8cb5da74faf27442d5115b2772d6561e93784ded1f26f120ec59020be3492e1f3623b5d82b39e993b26abb82995090a5c6853cba6fb2a4e51e5063c8673b53fabcbc0c37f80bb67f4fa9857fd857851c7c7dc0eada22e75947a3070807ed141740273179379f875548b583d43ee4e099e01656fe8829b178fc8a044ef5593be05d2f08d6c13876ca05986efeec433c591b7de415ed5cf33e4227d8de4ef60dbe60063c316c894cff5fd80b3552f3128607156e26a98cce3123f325a69296aeefbaa09f06590319ff816a53e34159bfea83fdcc04ab53f1915d38e07c6912efd15165559d47fd3640032258f0a6575db41fe0d769e16b7f362dc3f8a6296df9316006b1aa4585dc04851fae03a2c2695502c2dd0bacd0d22a8f9902ca4690b40206b832d4165a48b4162e02bc8047948ea6de27dd17e3b3d7b9324239d4fdb7d9e538a5baac1a1e1e511faaf03e0efbcbb7426bab82cc51a978d21d971525e618f21cafd248994113566e57d26c1d6508df2148dd28b26acc579eacddfae0a9ccefdb6289b9620c78a72c27dc5fe77d033a5b4cdb8e9a27b4bfad60e6cb2da9f67f3a29826e8722caabf574e184c397cea4e937f5ef7f2b092fc64f15858a503e721fcbf0b88dbd53a39a597374210349958fb39c5323cb1d71bbff2ae11be137bb549332a50e64a90db136bb836de353e2b71151f4c5f7e21f4393e8f167916016dcf3371aa77f3b8e070faa296ed38e2d36c64461bcfd159aac0f22aff806dfbe2f0f169d73d9dca83d37cac15537fb24c03af7650177fafa921c7da8a04efbabff4d0507d348aac194a107153db45fa566fa1f3906749963ac9a4459da958a1268a1c6740cf6708d936b37cdf36dc9273328224349732ab195cb105192afd2f7648f7245474d91ee93fa616c81d4393c0e9364b1a5807f3a141881560427da5d61613d060d99d6c5286e23389376106b4733d8fbdc3557027d071a9506feb1d88c7ede4fe571f581d665471397a4785f4556d7514fa80fb8635519e669e34c3ed9845d8ad8bbaf6457a8bf3b5eff02085789788d0246097be6d689d24a3eb29e1bca7c0f64ca46912b8ce06f06493aac73c1437463d17edff89b7caf262614deb2461ead98b105c3d5de01074caaf5401de854e3fca1604d041db32224087598933ab46c8848901d4add494eefc41179012fa9e7d447a154589976f0bd4d6da8fd85423a82373b389ba5a238f3195009c5a1c3d9b7804c66d7853181c2da30664545380009f6b06ce6180833ba943109d9f98a3421684cd1eb3449fab9cb9c8333cefb3c52d1c904dd1e20c8e008a449ba1fcd6b648d56eb86739289be27589ffa01e869854630d3c045724dc69a7266ddf5582ad5abe620d39abb022366da02fed6f831c20a0657410630b21d9b2b903227f24c5840d48798212284e7a7ecae93f914283149a7fece2427d43aa0e42ae9eebb017662d533d8b54cdabdbcdb03ba5225f2377e3bd1bcb4a9a199d505ba1ca709711e3041cfe0e7c61bcc429da1ba3056ce504903a369b20256ef58024d68c2da1ffbd0039622532b321f693b7dec7ded4a3142192620fbbdf8619d7aba68e29635a1390dc6b6572fa56b9faa77c73a661fa3c4e21a5d0c3738951af205e11891ce1081db99816a9cf7ea64a2423a87f5d11c92af51f7178dde1b529336477219c1733a0e37c3fc2a3ebef007ae7e22db5e7ee8baf7ceb363f036d6941b5a1589259785e2ab2adaae7828f93e9a9019872ca0a36626409ac45c195af9d795d753f8da68caf4c34c435c3b862692fb67850832ad15116d08411ac66282628de31ce23ff76490d104962cee7d46fc6747e6a813de8e691dcf40da10d3ffe4f4dc40f8bc627257dce200d64e633b2a7c8110931e9a5b2eb94a47250047c4bbc91a1d258eaf1090de33b2569cd45aa9799ec937ef591b31e57d3239112f72a885031a5d93bf7934a85ce52cdc5e8acfc987e7c2821a2496c6b8704e7d68ef5a49c2779a714abf9336b6ae5f28d18716be85cf088e1a825769d6ba06c1753c2fc7d729d81e527bc2b0258ab919bc6c35a8e7739be5ec5e471dc145b19a227a2dddc17199c1239714534040338765f41007b2306dca02acb14d8edac8d35361aca9b37338307a8eebe4791c75522d0e5ff9241306ec04cbdaa1389e4c60155a602896a9bfa2cb0ab881633d5f55b0cc5197d7c069c253c4d356887a44d4b7ba05fcbdedfeb8295c8e92a2c3c3a5b5eef69dfb0a0a8fda3521312fe505e9235f0d8a6f993a13d85329dc86f1b48661f2e96c0415001b8877d9fbb877a0b54148d865edd93bb57e4848957be4dba4e3f1a6ab4228b8d5937c91a75710140e0e9ee0a31a73ebd77e641670bdf9088f142b017c272ac8728ad80cf13ca5fe855a59288ec1c9af8195151607d018ffdd6c3ee86d41203597989e68716daebefb9c07defe0179baabe5c0b3f02a0dc5d049297dd50b93573fbe52ab3e3fcd11855a7136afa57bde28c94d99ea71e427604eec0ae0b0bd719f6a475eb32cb718298de58827f0338bfd22759289d73829a31310c40d5586b63e0298cfa6c591db05184d14f8f22530a33122b6cb39b3f7b9898b86460182590283e3b5e1cc1ccee8eeebe8f2b7ff8dfce608d564173c7f65d7b65a1776133339adb81b797f6cec347dac3347eafda4200317802e77f132e8cd317526fe44ae7549551b0a31e8637618f93d5564d8b10678bd769191cd8510840afe39b6e97ed7ffa496a86250eb8cca3151983fee9509040e299bfb08cda89f1fd8597c5a14041ba81f9df177e96bd6f90ad4d728bface0d2a9e1dd762fa0873becb72cb5a5f70143350b2514d8f5e2729461f6f059f5a6d458fccb724f5926505c2be8891bd005d0fd8fafa6887402bec1bb3e41b33dc960efc99836625bbbeab389715343394ca8783e31767a755273500bfcaa4271a5d8175e4cfb4960d79d5e5966104f52852c9e32a68767664ac00b292b7e0d0b2db8a8c3b0bda8cc16fa7a3083dab4d8a7c6b94bb416d1bee23e0b30db86aea1c80f1ff37bd99fc985a0b12ef00b11c0af54c8fe75e47f6caafd6685350057ed24e62556a7adf01f8544dd82f6ecfe98ce562b7a1bddcd2155d42ed2232b75beda8ebefaf7a78269e46785930e3e68e524eee1509b1b6a0a52450c9b4c426ee5f7f15c28b0c7dffb471424b776007337f1cb3a0b8b308e8d0eb821f559a2cd75c0ddb65fb434c6eca70f06bbaffb4ac44485548b000f1ae847f5fb8256d336bff379b48fd9d717e3b7f361b3d0007e4b696725d1d1f9ee97fabbe62d42de6822bd34a7b3d3b4aeddbdf6e894fd3a6d6ba6289f8d9d4b1c33713513e9ef9d06687570d31427ca14c5791cbec42e2fb3fe5cbaf3acd052bb7e493d7e57847637786c1c3cede07212f4c5bd11e295d991f415e7478a5b0d4df1b2f6e88bad2d6f14e5f6280bbc7e8679caae3074d6699de000000000000000000000000000000000000000000000000080e121b232a2e33","message_root":"0xfb177faf8030f7e2efaeb08fc298b5ca25981ce239d67f16fb9c54b06dabfdc9","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xc4b815e6020b7b2f2a155980a91c8b354106e6591c8d82a74a8f6bde02e3dc539f1d0015ec3b4e10660a8f79e72a8b148affc6222d2f6ec756020322769cb05bcbb930a100e1cca5c47c6012b151c9022b8a8e50561602e39d6f6316a7abfa027b7cfb906c2589def99f0bc8cf0b63f5ee0cf644f6f04db3fcee29354a30a695687b7140fa43a9d0f96f5b3e2abeea93a410dbce3c3084ab27f77aa207eb43c51462591314b995f3073a2ad0b45008c15979a7106396d363564d2ae79063f62bb3869e8383e1527995688006b1e2c5309423db82c0f5404af8a520c902224ee95788464c3ed8c8b63d234f977fbe73d3589a6b144fb77fa29dee95322e19f63a2b30a757d0b086c8640a27ceefe3cc632556f4029e1cf70f36202bdee4c042a296f7109d486978f6c0bd55daa054ad234ce666909ac8b76100bd51b802a31214d732e9f2b9063ada6d537095571d4ecae2a679a848c7a35b2f764e0832f81f527e822ddec7bee78c07f5d86449881ba1a340091b7c07d411652203eba71d7f5284f870bfb130a94aff51a77a6b3ab5c631662c804b77c9579acfc772b9c49f90f130b4ac439d9ef4d7569279353d450eaff10885d52bc3aef671a15770e2b564ffee78ca1ad0d44666d0aad1f0d83ede72cab36cd1287b4d045a9619bfa3bf596eafc09f0e206d75bccb69d661f3659e2bac66218b7a52285adab7a770d9d184f50715574334385777ac3fea9c7d4bf4d6d3954514da49cb3358f39ff9d4af56e3bdca72cf21a68982c31b7c26f1c852e1558b28261ec56cae8ffdafd891eb0756b0f795a3e36960ae99ada8b8acccdf64ca14848b839b86d470feeefe9dbbead15c8f11c16ec12027a04b96d91283326f79d3a2a8348966b28413251467540591ad45b39fa5071114bf60289a98e352397450f46689e283bdaef182e8737b63a4200661d0bb08eb5e097e4ab4b57901c2227a86386b53d9d6a450f6a4e605165082c230b0357f156a4fce774f5099b98175dd0574dd2edcb1f8280c0b5e709678046127b35e6bfb6ef4f115ce98e270780f5ef02430c4006503c65dbf33d9cdffe601f7ac2a159ea759eba599ee9f28a73173282513890e917f19fadf7165bbaa9986289e13246a477d023c95d9e2c3e2c8952dbff64785097438285a97d748be697eac1529d902a9175e1b7a47998f1a2a310eeec717fa914b5eff2af6508d6a5724f0c88637782f742dacffd3b755b67a7b38b065ba7956eae7856523f446c818ab2af51a06f90951404d6b20fae713291cb65b4cb886c1523d72b95c7a577cbbe947d2fdf0752204e512ff4b37c14f651b8287205881f23714f65e64a7f8c943814e0a16ac9dd0fd7ef195847717308000be6b427e7b77a1644670fd6025af4fb100165cfe175a8e6925a532c68bddea46a69522500a226080f3f5b8f865ebb373220bcff8187173276dd186e117699d3b285162abd5b9ffe96de22b87d080237b563c29a46c34beb2e8f257d8e3b467d5175c4635881c6c0fbd52b0d9205418dfde40e998ef2ec47e13ecf09ebfb56d14b480986a40a5d102322069c8a12ef85741c0b0b779c69e5e046b67184e1d70bdf867e45a55890151f34ee3480aeb9bcfc7f17e73861c7aa4795f32c759e5843d219fcf19b5a928ce86eab41b4277339d31da88d0754ccbc53545f97456959f13e506b1a206cbf7e04ed2d58183db39b9b24f39d6f9d6da4f9df843341ba048fa06e7b77eee91cee8da1a618676007b4ef3eb42c3a93de8f43709c1c7fdfa2e96e425f078ef8d249e70701b4bb564b423278a1d143d850e0bd66f3d0382a10eef740e216d56d7f0dd5b5293c52b36269efb35b46583d1a00269b59c327f74321d381873c00b5b9e1e50ea14dab07653048f299c1d4cf1a1b6161680e3bb7a9ef12e3b03f0e75c8ec613c968e39f033bb28a041ff11420d6e06c018380d03f4552583b5930631e25640a1c24b6662693a6b0c2245f9f7703249b7ddaec411c834712d1f56d5374e6497f89922a078631bfd0537faff1379d3c6081a67c3e7e68470fe8338d88868296900127fa0a73e505e420958a3205f03c04cd267b8489158235f3344d558442e2510e74c681af9b6c1ba3054db3e6f89057a458f16a0d964c4a1af080538158ff193dc163d12ba9944872d64f3b250070a3b37af2b0198ed856906cfd6d4e02e92b519f3f7d828943ff3130bbb822fbeaefefd43f9bcf9f8e2232c318c1a669c033465b816ea3fdab8277bb7fb5d2b5f0c081d4d76ee8d452584ae831a5e8c885f6c5093b8438f4513578337d7133171795a22196ed746daf062925db45ba44c96159f93e19531be156fffe394cf89ecb2de24a606de9fe5f81ebde07b192772650182fa83dd1e468c76410fbc453c1717af62bb2fdae825187e8d791bda75b7facb3eb032e7fd3e3951bd5c7e65e9d33dfc5b1598b43240ddbb63afff95b624ef61c30a334a54f7c6f50a4db78614681ff49e3481d861566fba0bfb2aa29503207e2bc59b618321202c1edc0199673a2732d02977089ebeebd1def1369ecdce4e886168ed665ac5c8850b41724c94fef4ca0a2ff58ef0927fa58534009ca7dac92ed7c592fb9808df9fec3596d87c6abeee12c4f9c2b244d9b0a16fd58f43fe68f87e3d79a2244c2b2cbdc078876e394c531a6fbe64c325932f2e6130fdebd3722de9762f712b215c4f5645c795eb92dfcbc5031b9b09c60b1868328ecbbadda48dc0945ac329970c6a19895d9ac5ae3794966c32439080147cbf7007726cfebddda2e0c306d86c4d6f5b0cf8a949ba08ce6cbab1ec183935520419452777ef831f157aca3b9c737a5cdf6b0e76fe57ba32fff65685669fac88404fd8d0d3048b81b35b084954eab5824cf4894bcc19ca5e85f8fd6e22c2f361af7ad187352a1b4ff8f4230cdaaebae05f70fc48e06fcb91559012452b09a30652e92f21ba80bad1e5684f4509f13efbf43713a7df93d99cf1768b5306019aa3746244e36bf3f5680a0dd57a851d5173c0be12a8e46f1f0e1a7cce912174a175a791d64689a0d813bcd18644a65892faea6525a21655cad58ca0bffff53e4d8ebd06b26e1eeba3e9c0a9935388483577dc6fb8e24fac55b5938f4ce60f5421e4b5892524fb6f3eb1fa498a8655078df4cf9bdf8f672de9e0468b396dc07241c6948089ad67e1297ed7d75bc09efcc582d3b68fbb7f8e23361286da6ebb03562cfc91361c258d7e75ed783a4c1a986c74eef9431acd2f4b5a6c687349bf0a9f44ff855e19ef9054c2368c100eabee517264e835fc30eb259fc54ab39b779a42b3f83c10a92b93caf774a7e130a853e2a494d09ed269c5f86072307093fb84ac187076f6fe24189440cc092525f7f81e0c2514bf4554d4a4835e3c2be962bf4b9802c3a4c2de8c49d45017cf127b6fb162d8ec3be4c51027ce24e494849b4e0eb89cc244752f17635e1348e707b1992f420002e38c2c2c73170d21e61107983cc4085cc1dc0b1ad982723adb36af4956585eca7de1325f40c84f900240b47b5b62592e7933776368d57d6779e10319038b83a893c0f259c4df55dd0bfe89cc586c91694464fce78b3fa4633f82cc994430f7cbe56642073b2d422653d7bd792d5e41a8968ea62a38f46be587c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x896925b02b7d34fe93bac293e769bec4f2909845fdfe0701e74d72025cca96de","signature":"0xe1e9012f74f7848ebb4bca24c7b5a06025f9a2345caf37e7ae878d15a3038b6b9042f32b35a4c1f83f6be251f322f6773ebe7291cee9f263c593dc6e91ae0130c302a9c75a0e96dfa748ae3bcf04ea38dd4d43c9998ad7ce87dd806815132b2fbc522903b6f862dd1acb8dd4f1616b5d729145106287bf1a8fb6c858e9b3c8c7ed0bee5c9b49c070e277c5eb7d3522f81fec4913ed088e28c1267585b8479c5d0bd213ca4c5a2208ac92e57a1bd401b9a29600e00431966ebfac7c1f449904cef8eb86c4a0f698e8307b9cf24db26f994a062ebdfc7387f878083a82455859c51d241bc44d96b6d24b229c3d0458e9751cc5d737ce447acb29cdebc42a3efd84d67e5b38b6cc5ebef5317de39d12f67fde7772479cecd5f7c459f225767b0c440be4ac9499922f4828d215004867d6dd23d569f3973f1f02549ab4bb349d85d6ab2eb801710a4b233d06e59e82f8bcbbe2a257ab565d9a8f9147a6d32750da795ddab54586f780f4b3a61c7ca20988919fde9620756eca839482ecbaa4faf15f8586977510cd7aa93b352e319340e6be8a1d10c297253ba18cc67b5d6eb4f7d9b3eacd3e15966c93dd84a43cfc66a8d694d5d67a75de3838273717a7968cd667ab9497b868f8ff4aff1ae4abab873118497acb8ee3f0ebbb6a9f083f037ed79eff849c2441989b310734c19921396518a1cea4eb7c6ca7b2dedf421869c40b55ddbaade6c8e4ca8a4b2e442947775b8e7d6bffbc006d33e9779adda33594677bc325bb1d9bc8bbc3950a6e79fec2bcda1eb490bc28ed504b06ee2a17969097bbfcccca93dab63bb6f28e3c00a4bf6419dcec0ebfb0fbe16cca0524198a338b8650e9c2bccac804a913e86a6011b23be555852e6d44e45804cf2e273b0f7b55f36da9e4a18518a6c12f864b51af01c91c8379b501cbc285fac7901fa2670f0a356e2190c3d4de94d133bffbd1d58bdef6c0c98fa990f7ede6be628a21e2374ed8203f7525e2cf6c5e504d55910f6b179f1118a13a1ecbcf522d25d3a407ef6694046581894c3af3d628a091b0ba7630c80f032b7a7e62292cc942adac7e95d579d21b62b047d7ae17ef209a63de59dfa7aa865828d9544480e272bc4f04b45768bf686c4504cd3ed2bc18f496c18cd4f8ebd23988f142762a32b599c3f737c0d6619717fcdc1fbd09adb4a7b54240305f0937e0881b72f4ddcaa71907777113ef892d746e1c8b1c85a4ed25f4ce1c8094563da96279411bf33071f05aa76c3706cb6ec87caa9b50f489a79186d0c6dbcd297a7bde77aab190d1b27cad8c2a11a536eeb379ae2c52574dbf7fb77836d0327b3a12b808fc1af793a02170409bf6e304f40936a1092a75b01f50756d3c0bf3b872e9daf95efaeb3eaf9fa6718541e7f27655148b437cfdfdcaf409a6ef71868443471942a8570c155b0eec199b0fc269c4cb3768e40dc39f0eceb8f92717442330a8cf61a06a07af02c4cf925e5ae32d07106ee62f8f642fd4eab22de797f36223ef2ef3041cf71df602c58896f7e154e7d853404af6316d6e70b55a883a47a121f237f7dd33486d560f5e2a3dc12f52974f031938d6b569bf11c4c9f10e5c466bc5f3d21c48458a1a89654d1b25c6eb57b39640dfb0017a72d4a998a9a43935bfbfa849e24392ca1f22970e1be41ad0755107610f5bfab6d972d84af3c1126c4e5791e19ded3a628b70989a1c0fa161fae40d49b1e80c35d07c16d9f60bef3f891f4e0b1602a4f7b4834cb158cfd085db7ad324a5c97dc1f498ced0ab71e90961f0ae2663bfa0173839947f051b8bfb6ea0e27340fd2e659911ed451332ebd1a9dd2807d8318960fea5ba78608122a910e9863bbd64d8a0e2a348cdd8def3ebd0086e5a8b427e0a473fdf7f54ca3915d3e52012ce20d9c747b12ad1864de47782624a96a714ff57b40bd9e86cf0c2bdf40fa45790580345436aa699c9330743b0c40c13240167a5730e5c86d3f475ea7e0f527e8b66a7b58836792c036e6d0d46cfa9153be22a3cd20d0a68728fc26bf0ee1ae9449e5d1a72d6af2889985e90c4cfb5b8c705124a407992a13379909073c21c5a159272a8197aebf2018c374576c0b6c7224d7420c84d311e6ada88dfb538de0341e54f0aa6a373f73361a3df81718c64a99fdcc7048e924245a5d8a714955fca23eea2e02acc0bee7edd3e0f9021f3f666012f428fea962cb1a1aaa02421b56519ac51d6a30fbcc8fdb9081c098c36aea565bd25bec193c17dec91162f90ec02f10ea87e52cc4b0351d120b31ef4218342d58eb227899092af09c50348723e075605646cfb476578db86dc9da350be8efb61fefa073895fea604c99500b77c915e9655b939625a715b8ff319dcbb7ebfd9448b0c8c0bfa9e9c9db80c388605dc67557b28a90d9d3396841b4e2e589de02aa62b64122e3bccec11c7bb1a8be84af89c3ae8426710f5036f13ef70c23242cb1e67988c9d19806e7cb4210b6bf9582cc1900e35f25ddf39e418c69a1e54173a6eb82eb277c9998e50a76f197448cd93cb604401898b1d99e28181cb83137b7199c8096a3fc8d8274dee455aa5c80a81d21a1f7116ecd0bbd3aa5601d754a06d910ffff0d79d2e27bcdbb21edbc105405324c4dc88d98572737bbd08578a4e5c8ce48f31c99dca4e71687d58905f87dd18f5b3923442a3169302073217287641cbcf1607c3850d0379b7ad95e47ebc770a8c6f078e5aebd0b0d10fd05afb3cda3c22ee1e70e658ae79cbc715db1f2b23e5287da686072c89d9403bedf8e445bf8845cf6fdb720624a5b9a75615aadd6f1f5fc9a84d0b7d6ae790e9bb9133cb41f35b787d66ef3836c8de482d25feb9784869e61cfe0734d3e98f984a31298bed2696f24386059c71e1d61368d7b25232adeb67bc7598f8b587ce8424bb4462ce3a8c0b1013387cab20ab244ea20f9b52f13d0f547431cc17aabcfff5f1541e305e7b9632ed6776b5d24515b0659b619cc3c6baaea3da583e4cd21a74a765ad4c3de8786e6aaf4a8bdf857bd6f353deb7b900525cf2e4ce8e6a15f40f8490504b6a067d662f7ea632f9fbd1b8247bbae49363457be21c11021113f6965c2ed7cf39903811801fa9af9443e4284fca6337bf1e3811daa6572c3cc5a6f04df808df476aa2db4e8bb579a8cfc99524d0fe1c82551a1ac5f3d1168debbc5686ec34e72e95f5756eed8a278e47da3907cc754a4766ef0ba667685f4ce9d9914e31148b94cbc5812e4bc5e1d2fe574d2b9ea8774bfaf8cdc34196209c652edcd74c76c4bb339b95bbfc34fd554a75791b28d190b0593f7566e751fa9655fed962084c9411edc6f1dc8707c5e135dd9bc03f99efeb4965987f0125cc95892dd19a9fd31b7b3a81cb5d681a91d989366f9896e0447efb45edaf6d49a31b4cac8dc58e7de7affb595ae237e83e09f359e714cdc4e9d5b638c737e5909647f1d33eb52880afe4c5a36d5b5075e6a93f8cf60cac62269532ce3ccdf4178453be1a90217080f317f42e9d131f252c6fe59eccb90a55eec886f5bac904273a4f9dd86775def8b90768a0b01e2a918ec7a7e7c22b93a0c701cf46f1a18f39703e495a8b026528d38d18c40c93006abc04ad4ad936a6c9a0c3f39d718d468d87e1c6802498859c6b1e750184647ef364e85f78dc63bdee24162c3dc20118009e572e6a0214c05f253c6836723349efd2f2922c96ce6c464137917feca5bbf0d455ed795db5d3d1f7f4655494331d20d1801948caf9daba5958b1a8be0a52e955d57b6da647e0633fda68133431f4cdef2eef5eb93f189fc9af9995a75286f585d7e793b3e65bac2ec0b57e6df709034b831b2af7faf8d79d35e13b7dca0bafef8abefa2a8140fd48802e933f171b4e3f7ffbae8d7aa3e20710e2c94bb345ece69216cb4fb3a6711f842a87a26d410fdf723df01ccc386b23c7fe1e00f8501386f27a7606bfdbb88950a8beabd0705559d738a080151a9d5ff052d4a24bd7d4e1f8f0087b62abdca5cf562722216fa71e0c8ebfba78e051245ff318aebc94a48ae2701aa9a7b1f8b394fcd663065db19c79719613f9575449dfcefbbbd8d06c1971b6c4fbdc19770268a853a887678e2769f7c3e3a279a9f1745696d051d0bf7c25f4792bf8ec3a39a476eab9dc81f16cfb1f75e36fe0fa9d8eee264741e3dd6e8fbfd68ce2ffd870a8797945f780003f9ff78d644c1746d9ac8cbc1d7af37bdc76d794bb3813ed2e2a8dbf8bc530d772a9bca0f6175239a3b66e8d394ce616ec9344459edfcd1ad8b0846c8faaa4fcb0e14c636af9096c901d2c72b8b83ffc4b4b93a87bb4f5e9f0937421e99eec7a2299d306376b5147bf9352d36e6c3d3f0303018fb37cc231700d57cbe0fb218681dcdbe736e0e54bbc03de166f6b839775d3237f323aae3e3de377b2c227c674ebcbe28ac0c3a0e288b3157486216a58575da348a43e0c0151c89ff53d92426263a4839927edcb771de9e2af1621dc3d998ed0f292f9559f333d9aa9137e9b08d243df2836de22d4586c34dba7641a5435047aa241c0ddb4d8fd7f5900e289b370172344447d0eec8df6e12a84d73418d065ec7032008561c8ffdb27af63a010d4a458fe053521f7ef1becc4856725e7254b23e5e50c0bb2af26c5c37438974dde4264d6c35924a5765ffa60b0e185ea3b6e1ebe3296fa8782bea57e3b85c43f139c41db50fc7a43ecdf8225ad60061dd653e3448c4212772672cc69e4ecbd14e4e232a236acf1db34b34eebbb3858fdb6ad979050e00ffd32f652c34f0662b6796922cf9dc30f03e20cd90ff086fca4fb674a7d9547f139726d53db3d12909eefbd8555aaebef84030890c66acc2e20c08d723fde1ebe5b6d3d9a8468f80e7d9cdf66211665c8046616df8618d0d88c9151d9d95ffc55cd2478a47047f4a55c2257d06d8074c6be7d96d9ffd337404f92f7257463e9d26774987b97af641024268b639fbf67493f816274b36e019d62dc02c9076098fc827cae34ad0622a35c1012de5e11db108d41be15ade5b5c82b43ad168d35ab54ce614ab8d0a8aca25f30b1b507f543c5f0da2dc37352a7e038c71c1c7d4658b33a3bc87e1091f5d46f3b8c81cffd351aaee440de6ec275c4b68c608acb0ac3dae48b806e4cd42af6b3e38061d020811fd7cc8ec47a1a978d20d40aa01e7bc1d406d6a6cfd64976dcb1e8a5cd6ed63384c326fbdd4737ef36a41bd5881b713a349e42a6da3258dccb4e966f63cacaf8d297823abea62f156b35bfe529609f79ce240c0469a626d44d4ff2f2eb620b874867ad3f0cdb0ced498613d200fa82a97ed82018aa414b9911cd927d0a9e1666383876a8874b454bc30a02dfcfc41794842e2bca3d5ab60f7f7e2f52ec63f97d7e57065f625487bf6dce4e837680618215897a4bb7e0a8025349036a0ed803b39f30d40de021f379de13ec923d5202be5654b3a3a5965f55a80a36bf4f44f5e667a90e51ef36ba9845cc0c20eec277d326c3c0543d7d6de3d56c79a6bb2335bf5dd18bd29c0d55adc56da6f51d0ba8c7f44d3fce6c7142b0a638ed7f61300c09f76ffa629bd326d6c7950ad7c3e8cfa9fdd99a2926dc80892087dccbb8f336f322a775372c58f9785c32ec25b0d7793d5add64f56205bd28148c9f1d04344b0d892c68406835b5be274c044a560d90fac1fec95ef8adc8ee45e3e0e1c7d68b2abcee1a5629e46ba3be8290cb9c26e85e89694773ed9e0422830d4b58f4589e27a1d974ce3232c6e1ac3f1ff6216b2082f7bb6ca3abeb5001557a8be0357bcab3c9a7ecdb60d90c80504658eb8aebfaac6d351e69866be36a1297408be62dabbd7718023bd9f0bf0dd96cb6366fedce3639ac8260bff960f6ad42874ef21a920bc4e1162ede7b8e1dd4bb17779b77b9ff681f280348f7f409b276bab2f369a26c4be457cb575adface812a8cb74decd10641d5f7263e8ced413649e4bc616e1f2ea813e3de4272d6f3347d53af20d0983a5a7705551661b6887987455c8225e23fa6a690c6b6065b0d1e8abc744cd3e68163adc550f4f88cd10a1684eb1c08c4697031e2b5dd6a6dc01dc3417450a7fa41d4a641eefa3d2691c7340768f5f06d3a56b7d15ddd7cade9f986ac32c28d891316940d01d24fedcf38e839ab8ff548ad47d93723a11681c5a50af05e4d92160d87fe0b4b7a375c5eb0e0139dfafbcb088e72e0c12ff8723b461ef2316a94817f6e6b1a27a9850c72e99055b693585cdf0930c50ea7db45babfbcf3d0366b1b4384c59a29ee113e1bd64053432d542fd04cea2978d0049a508cae38cc09f59ed406265ba78f8b3e877be85e2620f7a80c2ca6ca4393c1f62e253afd322ebb13bef7a6613e55130cb2d22d2fad8e88b3e7c7718682d4c07839e3ad041942beec1b904fd127a2d62c0ab8014e9b009161e3650c2c9243e5771172e4f509dbcc91b2c31356b6d74aec7eeff0f325d90989ec3cede0c21313960828591ca152a44585fc0e5ff0a55f9ff00000000000000000000000000000000070b121d262f373b","message_root":"0x4f3b9f32556340f7c259de497e9fdd26a4672a202a5992ff4385c0880003ee7f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x2940dc170427e1d57de833344e35b49e6cea1b7eb70be01957edd7a8e0b15c66acdcc72d7c888c5365b0d8f95678ded73737df554da5b68689fd33bf90241a73ecfe268f695937e09c39eb7b5aba092f0f585f7c0fc4ae7533977d996d2d89cee53d2037ec6a2f1fc6059fc47e0d4b332f5cc6b609a41215a5c7f62447403dd806bc95144d8f8bda18d3ec7b31bab1dbb1dafa04f573f42a3e274c5f6e15da9b94580f8d0121e631a6dedf42db36a94692e96737a77fe379c0fb131747c6c1c8287e3292ec4658c9c79ff4a2bd4680d64b1b8005d28335200be9f8be335009365b1bc24d7287b4e72d8ef324fac7eaac95da556d286b26ed29fbe2abfb4482026026aba5f28d2ef70feed353b93b0bd0d31c59a50fc9720631ff16d47e67cc89cb0ba9ca3ff60f8dd9124d9042535beac393de4e13570a9bc26f57a5cdafaa0a0706a2e29b75bdc6f66263976a11b75a7ac627c94f5400698be130755041ac713dbadd74d7ab0720d5d8831c6f60320fc20018424e60224fb44b0b0f8e47f6c0aa8c942142b420538910c3382d3f9ace9a7827c290bacbd2a1caab5ff594ba558a57ea6039efbd6bac900095e108807e03e1912f7dec0d569879b0a098630c13489ab85153ea6b740bdfe5d5c062d16e3870abb8011eb9f51b8de2cafb36276de84544e9647e8c7d7be78f34f4f851742de2f1b0501ae31598ed77d81efcc827eb0a8f7cb8c076bf64e9f11e10d73e99b816c44095c919e84e4cce93492f9d3839033d738c416921f81ec15c6a71b9bc9fcbc8fca08684d74bff985f4e40c919778d574b68e8741e5dd3fd49957342b6d86f81445d4859d2865b3b528ddc5cae14120d0b0df28f938eb8fd462a767c2f1ad0e4194d19728b55d110218bceec8f3b2d21652a49a9e654e825fed6b1e56d947d1dcce4eaf42ac26aeb0f4f1b32f5c11840f57ecaf8141a8a4ff8a5233012b22742ed6d6f33abd4e9b26ed5d91a627222c35d6ba2f484df2a58d89e56c9ae5112809681a1b34226c71dbb66b50a5ea6f51a168bcf368687fc7e00a396073515cec5e43103bc547b2ef7d513788b5f760c693c008fbd611ddbb1714bcf63847f40b1dbcc1895df8f83112e9dd92384c9a63b74464b4982ca5e542ea891d017e0d3247e8e45b1fe5f58cdf23064912b810b95a68501128f48346dc57923edc5bbbd0dda4d8bfa03dc5c2d5606ae9aeb9a30262db3d0dcd97a9850ce1663d1b99fcc570804304ed646cd5176d822cf20405994ec6463548a917839f076488eb1cb5e141a6d1fc009e5e970bdaf913bdd3935bc5c557760a0c70102488cc8020c19561e7456ce04f253ba1ee23421d88d649ae5662bca5ba9d78577db124a6cd8348be544efc35a46ec9bb4def5a46ecf01a2ac8074d444c852058684bf808178b59d5c0da709f462c98568352c2758030717dd9046d488c4044b46341439802532e7163a0258e69fb356bdc15e559ba21a073b437c4d06befb98d937d567dd5c24d3d11f6a476d11d5f3c8401b3dcd09a3c1e34f9786effd1674405e538fe1b8f4673d77f0435f0b8e23dd8a3e0738b735a4b541ff0b2d8a2b35c39a2797eba414e11207cd2dc2f7e20b03163e2a5dbcaeb760b6e14263dbc398136bf4a36fb30b2690a1dccaff3b7df29a5ee56343766d7dce8313cacf5e1da16296bf63a1b7524ab906e9fec569e09209abf5f6162a955ec1235ffa365fcb2da879427cb0a193bf5adc4f51123c49e29568d5b02fe01292ff73579c78775fca1eb31d6f4f1337e79e9840d34abf753f038843a3d7b73a368c7247b22f55666fb0e0055e55364cf3279f826bd5c7fe32bb94a13c5fc3510166e6c9bb195be6c67d792934836ed5d8e2280fc8591f6343d7245a6a96dae8ff40730cca465c1ead2a9cc75dcee9e658dc55c6e8104f122136eaf9ddc32ff7050b6a12af35dc312511a53ebb98ad04430912ef41a05cb9f4addf6e09f1b3c239cd80bc06d4901470ab4c69ce08e8a909e03fc25f691f727b0fff8596695e223d45f1e810d3459977c368172834cab471179424f6c4ad4c16e3c65861fa1b47186e66152c9151822118504d54d8eea90df8e96bd6466f41c5314aa26cfdc0f47110efc8c03c08db7c615401ab81c1990562681d3da0d013e3c62ab52729054bd7f0992fbc190bd074fecb99f90dfc1430a1a8865ac48bd38dd382013c93c1531c90c02b22c68c20041a422d77dbce3790772132fafdf85e977a51be150addc40213aa9d4ad87a890d9eb9611e473a857bb7eed0965df1d9ec51d2c8120e021e131af30f18e15d80c7843e5aae462bff3aaa9574c3b1a6bcc76aca76de054ce0973fb86242a52de8c0b1fb92707705db700b170456dd004e3fae2b3ef9ac4603331186bf788606b32608b2c2047a4413a73af50c4d50f73cc35392e6c2d9159071856b1b68703f2f85c3e262c7f234083faded9c2ea5a7e48482127f5ee5e908ede1dc03e0308833047bb7cf513f79a5cfa180743799630296cbf3ff6b639020a30dcbf8b77b9a9f0f7dc69fb6e8ca3b65913c3b76d1bc11735821f693b238fcd0985b6696358b01175e5355c7c9053990b80924ce2c8381376d098f7023bd84bac760d6ae5bc8a44dceb1e54c48a0bcfaaaee1569f27b13142dbb1c7aaf813c4289692c1e0a4b71af80d30b95e9565d452bd9bb4f646c4fc513ef46d35071602f7f4406696c312a455211a7f653718ee586f3f1a679689fd86ee563ed44ade1ea5978c7a779e028f474883a18c67456424cf6f6b8b0a6c7015393924c0994ecc50add1d1d196347d02d53721644ea071e77cdc515d63e1dff39f1e419f062c147639b331c43c71d0b1780e1880b40e253441c1e8107d8888d426ca3a10a887fade2b5712deb0f3a1156af3abefd164574dabab333544fe20519fb1c73d4248819cebcba407c85a465273ce13bd60c970bd98d3d4a6634fdaffb80c39a8123bc39061a4d92e63bef8145f0c3e15d80d074071b519e6d11b8eae458a87547ac5bca1d7a76edfdfb6f7d47daf1186bee7ae087671a0f7a5a4de2acebbec4146445fd833632de0d7d513a65da255f759d5870eec3ee2862bfea26b64038afe797e4a3664dadda7eb48a62f31650f8aad637b3c9935fd36989c1ffa752d93dec4419f2f7cf9740a96751548a6673fa7278c9252ce958e29ef86a8cfecbab6ced7fbea106d21c6c1663789cf10aa09651d062d8888f7293e6a806130ca868f0d07c5f36307fd3b64cbde2aa07490863825c06c2e79ebc15414c2750b30b6b3ef88c735a0ca029fd864fc0298ec76ad737bf601c70042d8fdcd0abddf54647b306fa5e069f3210c9fb870d67203c2a149ed2b90b7bc6f96ac039ca1178a823a10f329c721064565789dce4a25f4be6c80ba8242f8c3f371af8a95164b0c4ea4b101a5973cded768260c4d4798c6e5e93b65c5f76ebd9ad6af2da03f2fd681a48bdacf84af6532458d1e76978483a0153037f9275640689304f5eea15577edc532ee20d57984b02a79aead87990f8803ee6580a8d9e934f4645ddc33d59796cec3bcc9077f87fbf6735ed016b65afd1504b2a355a057e4173d52a6def0ef916a8180be31f3e005706b48ce1ee8ad78618b9d2a4c62a5baa973f260bfd78d9eea5c546","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x0d60e0403c4265bcbf4053159abaa5686b41a7036a50e64b6509793a17a2668a","signature":"0x26228043c8d02e4c55025612f40022942b7e682285e6ca434dbbf377eb5448102f28c469fc24655f7f9c1183762caa2fc04653387cea6c2481c20b8df9dc9227d8986514460082b395364382796db7ee12e5f1ea17d64b786d2ded592060d7692807adf9837f035417b3992e93d11480c461a5d3686218ed59c03894972c07f91ce68c0ad10ac52cbb4e49fe1ed3ae54b7d39abd18e42ea362d9e2de227ecfde2bf4c28f6d19a038d3a0a65586e1324895a7c4de21f060c50283a5fee3fb442a22bd97b00e28506e05b1a1e7e1dd4a6a4e60c64341e357081a6cabf53fb7305b4fbfdaf9ca27135fdc60b98389b9b0221e58b8c6bb0c2dbcc98000b31f9f4a75d4100aec89a504e370fbaf954884835b67d0a7515c39a4c27c1ed1aa29712c56cf115793ee59034eb43acb6bc084941dc858622d864e0f85ca614174bb7827739816282f6478107d1c6bbb1e878bccbebfb5d42681f6f9f46231c4d96f9b4c8c583274d020f31834999fad77e690cf8560eb4b0218659640ae06e13a2fa49c5c3d00ed7584234498479329f5ef4cf6b711f5bc873a4abd16285c9e78b92576d32d9e22c0a170ff2c4cbebf8c9ea0cd8c318fba219bc34426d676966bb6fff2c4238ba8a2d2eea5d2c8c37eb63446d4ba65b6b0a242ed6259a5161fccee283f5b54aaa694c16234966f12e1f387190701a038d483cc6443704072b817ea770e5b7e1933410f058d1fe03bba8fb2667aa268290c8e63682d022abcc857a0fced906b1b31a27af1c0ad613b6fb58678f144f763e8fee32f827758bf36be8237d43c35500b770bcfb05bab6980d28b8d67e4285493865e45f295cb8e85f8202532e484e6a03126246da0ebe21e077b1c8e28a7e589e25086fda0c68a64e81dd30220369dec51702ce2d2ec57ead81fe2fcd8a51569fdd0445f6d6993bf660a9914ba08a8da06d44fbc5a6e7590590ddf0bd451174fa08670f58390c88f41c7b24ab2dd37270432cc43747ef50eb1ea96b35e4813950e104eccd5ef7fcf176eeeeaea3f314e01701e7705e95630a220788dbf1208353e295e0d45036cd5e812392c719234fa6decf536aab78439c72370dfed6df347744f6bc31dabfe9e97909c3c4270157ee11aeec836b310bde8f58e413163a81411f428ba2d201f629405b484639e7d10475a9c93bffe594dcb847fe8dbad997eb040dabd020702922c2cc10a9bf958a1e57fa3a1b5085dc5392623a8bf13b785640a69b81f99454dc78f5ed8384d3ef3de86fa0808ea54720bbabaaedad327972e6b3b91c2a88b659707d3d7de1fe35d0636fe51f3cd13e0d0c85408dc0cc58cd58a47c0d2c6e473c1c324b2a65a1d8e8ed42c6fac196b9f018f7667089aa6f2289eff8c24cec604a1eddec9545dc5cfea390d3dc1bab2a161e9543c3de78415911b4be3b4364e06e4bba9d590c242498c98f225e8873abcd622ec5b461a6b6182b55ce2b76c692066be84901b5a9146f4444f436746aea7730c59d6e999b59894a2bb3a89a3600a2c9d05d0c0f90bff56002902ec18f45ea5e7423efa30f036b4d9476a706bda0c31d47b2ee0da1b6d6b84a6474357f0ecac998d6fff1262d12db1904df9c9715e775aefc78b553f1ccdda2d39544ca93f9075463734b45f704c5689a703e0247ec9fe646a43f70e84a6a4af95207782f283e3b8dac25ff1da966b570f4774ca4cbffe5ba7c1618a6bce6282ec185e2a1d2d905cec324860709d16264faac19d8f473249efdef41aa05816035bb193e6191564ade5f12d14e63c0960137d6bbf98eff443f827921a9002f0d8e36dc9334eb2d0bdacd320f73461b43fe440646faf06738f873fbda30cd2bfa5861a5d5d647c1c78655043d275ecd3214b1119108eb126f71d2844bda4f4a2961c3942f955c211f853b44f13c16833e3f0405455f43b5aa99a7098d466159fd0e64b5fb6cebaba61f965c05811f0bcb8ee25b61c4022efc03bff135e36ee363c1ebcb54191b17bd84f82cca145ed33979aa7d2d68ade159a202cf911baa30646515245d6482fb052202e6bce27a3ece7730cfd8b7ba488029cfb414056f90dd0b34923cdc73fa32ca2b25c23ed60e1a3b95a89753f3b052717e77fe6b12f145ca469ea8ccb0f96cbc0e4c0c64504c936578cc0718a75b3049534bb8b3f49cb40f294407a4a0f6dc9bd11a1185eba14031ecd8667c75dc717a3e4a646f30e418c69a0467e7e35f2e41267022f6d99b4ca60beafd34a63d73c7026313a85162231020c19413f4defefbe994fd8d2147ea8da2683ad4fbcf4821ce11c28591ece60abb3d486e7c73f62f3da5812211cdc87e10a3a5e37ef3385ca81e16fa9e36df0d5b410903de91627e41d523feaf60a2a8b39c4ff0c303ccc9971051eacb75b2bf0ef93ff4835fd4123283b153a31c96d7e7e5ad00253ef0901de43c24c293753c949bd3199a3360cf57c2322f218602f601c6b6fd43a4cdcb8b0c52c42e6b19b66e40b068aa04e8577e57aa9b3fab5e54f6527cec08ba4ba6c14d0a5a9d75cd1eb37244404028a5ae4098df78b96708a2e2dc647b12779b6e6509d1bca5c40bcf4e58b9f99ea6eb30ee5835e174aefa174db6493466e556561a9f1545adf655aee52d1bfd8df46776c12cfee04d6a2c2f32134dd4ffc72b8fac6c6234b760f321e4eaf1881810303884b102c6268cdd7ba08c6e00c768194f6ea29a713fb8c0253265439b594c34c58272e63b198206121126905be5f2eb632798efe9750eac7cbad96c1b5217467c37ad2728636f2a64a15ebd21b11077751832392317b785665e7a57f6f07fc2ab3b2aa131252c2091ca1f1c875c481219a5928ecba6e1d47d79eccc294e2b6a5633d9e1ecafca3f79d415c4614aea34cd8f02d8a2bfc0b7a03d78fdb23a5ba37b1175631d52ae184e5a03972e713bcc57270b01b60e1bb71cf78d231ce1e06437833a94c5ff5afb10f2120e486d76ed1fabb5f0d4bea40b0cb5a830affcc3f2b5386ac1e4ebeee220bdbad7d93a22470959dfb752f251cb198d7241ae6e94540b2e53f7d04cddd5baf7c7bdba8594504fd78f621bdcfe5fabc150a914b6704bba6196239b263c784e29dab3bce6bfb288fa869ee5a5d00ce31414f2023aa7c9002656ae4b8cda88afe3b3cb836a0f530375869d775707efdc313f24abadb6852dbe8cfa49ee90da7c15716e99d31990c44938d29c2f74c3197480287b3cdfd199c5572087d1c10794e0e23c5d7ca7ffd3ed93120ceeb3d2c38a16ef5147eca486a08c85956e16aafd7d17a7bb59b0084c9e31d6f72dc207eb2c984862c1105da984a77bfcfce0d43be857c507cd844cfcb1402c946b6cd70e524e144828ae369d20412e3ab9be85197e70d8c69241d8e234b908f95f47ff17c43152947d56c6d9fdc9b9cb37091db2691fc54b05055c30857c44c1cb2613981cb4f90871cf13165f0d35c7479cb12481fe4019509c777a69d2c436ef12fd1c78d1cf068a76435ed8f5254a39d0671ebee2589cc6637a25545c88ac6bfec61592adca0ca0c01f80dcb1ee09d70b93579c9f6546f0f0ccc64b1f5db8d138febfb4a782ff06fa324dde1787d4c3832d3929659783b9206120796c0cfcc3f9c4da93aa4a4f31d73aa83cba3e8d5d8e3ae2ec398cbaaf2e9aacbd21659c603b8c0ff678d969d75353c1b518ff35770711490e872a1160cbedc7ab69c9f46e2ae7af4230e8a1325ea0eb4274d7bf4f7fa73f857dc72b9ec01b909087d4e48e5fa389b14a1ccf33a5edeb8d9c16c742b53992f0f31c2d0248fb6b7af742fdb58764cbb7463d9eaa16c8f06725854f55dcf612ba57cf16555a99199c353393f2566910fd6cd45bb5eb4b04d7a3cd589219c78429887f621656c57b3440e90de635d65d73369dd279ff6b7298b40ec67466d396fdd1099e33ea4bad79417bf368ff082efb640b45505f6a6816f6968ab171d39cc676a9cf60ce25d7a6d259a7391a79e9abda7dedee89d3cab9044e093092c3b265953d70f121a2ba457252b7d8297f590fa102ac097bbcafac0d336d5eb7157ed8ce6fc5f1b9c876d4b25e86631b683ced09c7a593d32fa525591ddb5067ecbbfbe488e6a8f8950fb28ca254a582264ec587718620c9504cd81f303850ac5d5c044fb3dfcb691318a4d27db9fd244840b277c6d7fe946a844392358e4a0d2ed53cd8dd06b56423fe7fe97744c3b6447fd174222d6fcc3d2163cc476c317dfcddf28a25c468fefb392617d6ade003bebf4f5ef6f1ddba5c9d13b7b4b4d513e0fff79f9b74007be4e87cf1f49128253f1fd907a84fb9d169b0e1e933722fda8ced4d438a8a7203078be56d38284faedb44942d334233cb1a9632c46a7db5f2f2759d1b59ee3cdedd45d440562940819eb533a9bd3e8e9e7ea414506ad0bb58cf29a03cba86a696efb12e52db17715031d431101ab86a1bb2ce952f7301e71054e40517df8febf4955ae0981a1cfb87857684488b88a6d3cf42ebdc753de892bed3143196457d81a9e9a75648cca7a22faa884026a8c719d0cdf6ae4c8a649c3cde8a1767190b1f122bff8dd8a230cd260f95b1cf75dce3ecd1d9f1dbb58e8f1a3208687d2a0cf8f0d65e9f66d39be6bef5d89769948ae1761c1aacf43780df3bf25290f39a15455dc01727970a562767b253cfcc7c26e408f6b372b499c79ca3b79062fd28c6de919ba4713bf0a559fd3424d8a20d600e9fb68f8c8e4aa966b66d55bad711142cdf16071b48aa64847aac38eb16891d094d6058212c3dba649c071c1f3910fed570912e22daee6bd2c3db18397c19980231bd9402de42a9389e8ea3e02744b7d6b65146297b63bcbe43342d59992db65bc81dfe21f8005137c5cee86de00e8f7e03719877971e46e3a82bd349095d01e87442bd353c363054421799fbe677675830dfd506852484d15ab4d5f091bb91b2c902bb1a5997602e7e750266c16776d2a2bb9c808bd93b78eb2bd0edaf73b0b708f360e7759fcff7ab096bb0fceb15c0df5f7952bde19f57dde527e5d6f46575f53982dd83f4ad8399a9d970ab6588a238054a73e9704f8c0440fc89fea072451a3e56e0286e94755dd5a893f778742f78cf492bbb567941ffb1e223f4e7c061abe1b6712519f4ec58b388500b45ad79927ab3f75e3d309d915ea0b9627a73c43abe2572847e3a98825319a8b5dbd10462db8ef4d0d8e72bf8cabd7ddb56ba305ce97bce32ae272ea045a63a3cd5f0c30bb4fbb3200547ccc137160c9d0b69755b80b87c49c30f1079595e976752d2fb137cb421c1d8112ea8865fd7fcaac9371f8b863da097c5ade948089da74ddc8840d7beedf468d06b3656bee1b34acaa8b8a2b5d4607854a43059799357661858505c7fcdba41b88ef5663fa29b4191b9d15d42812f5cfa0f022f8acd7ec306f099393a3dba68b0129ef023923bf0ae4e142131440939543474b2d5c9aaa6c8fd894a5b5e0fbed31767adca1b3f4fc2c7106aaef8f5bf0671171024032e9f195605e5c02e4f4a5322858b68c17d5b6e1a94c9ad5428dd81a039e75a3fdc27556e6ebadb31780f9309677fa45459d97371d5b6440f5585696d7cc8ccca4951f9b03e81bbe10ef5fd4657f419348319a909180151d9e74c56e13a88f76c81bb5f1640817dc1d52b9c126e88e1e23fda5f64f590bdf00ebe695d34d633b30991013591c8e320d9a32c5e1fe44fcc4658027417c3caae6749af4b7d724d155ff518c1a7fd240dad4d92a09539d3f1b12232be6e6430ad3d8df8b5170be108d3258ff6fc3fbe463d38146300ed6e656831557794744f7a8908cd0fa037364b5fcaeffd71f8977a5cdb2afa582251bfa32fe0ea86be45ba9a5a254ad7fafba596cbe115930b2781fa2e92d3a444dcd4dc160c4f0a0b5b0f425d05748b3633b129c49735704555d2375f2dc55e43265009d198ef7e8dc3e8c24dbdf62793f4150ccefaceaef0dc08ba52cc5ec490e0ff3237d8955361f45e82af4c1834595aeee705b39980c2302b60ebd15beb170953e2377c98761374bc43970fabb0dfab9ae9e6a2f9e210dc4309348839ddb2d934c878bc722568fdf880930fe636d6c621462116d9fd9556d9a22ca882b3d8c511e534b555a0318c37a6cc68120448c92f46d83d397f936fe31ca407475c0c0cca9597cd68e1574374f0df14fed575a61598434b2b033b65fe28dbc22fbd30d44df1c0f3fc96cf421eba6d68c6a9b43859b4efb9e6d6f902b2b3aaf041379f98b363b22020e93576dd6bb682da3da9dfe1c1273731b5446d12e9a416e12b34dc3f4860c0f3b0b17d8d454fa39bcc10a98257bbf65d018650dc25bcafdfc2610b783734ea1a170fab44cfd06cb7c47d6eea30253a80d95ac37ebdee7c70cfe1bc306a12ef8134227529eb3e7027075d7a05947856273056344000979c7c9f343456d6f023a585c899c9ea6acb1d7f7247886a5acc8041e3f74b9cee6e91f2f3b3d5e6b9aad39536a777d82c7cff91028344c5fe3e4f30000000000000000000000000000060a161c242c353d","message_root":"0x0e30e461453e941e2808e80989b977009b63fbb7f5bbe91cbf96d3ccc8812ab1","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x193f4b22b6344a5af6fd404dc5a9064bdea41666d9eff70d420b172f9bf13e24150d93d05e316a46386e900760389135d9a2bc1f3b12e83ea16ed8412d42619bb9f100808d38ace3cc4d078cf33571bdd7c667404e77555cd5a3533400d71eae05add0f25da6cff078805805204192261180eec88087c78a08d31cd6a394ec696cfa73b34f5050e62ba443635f79acd4b79a036c022dabc286030efa0e4086091a42347ee0161eb736e25a65a61f7a1465f3f43ecf777ad3091865cdd0eb582b2fcd9fcbca132e5f9f409ea332726b2aae716a7502261612265739e6af602eafd831805a29f99029ea499de9e0f3e3e2d318be5599e4a26edf5e2997f415fa9a7dcd298a8b46e176e32f33c8f6581f8a786fd3c76274ae70118313b5f8340923df9e4f9e5502080b00822f5dc1df63efd454658d3ff4ce2a80b49f21e1eb602c7c0a1a8617a308c8841758af3c402e4d60e00300e2313732c7022697bdf8f837a832e60229bce953c442c4ea937c001bb994a9598bc19caccc61750195b21689f4929e7e5e570a3076f3aa9aae5d25d3154e3daf5cde4cb4334ecfba3c12ffc19a3883be83ee796eaa22676070c5e7ccd9addc305a15a45172e360ea7cacd1f6f29a279806d6fed696c30d7643f4530164ea62fc71939c36ec298a4f0430b9df35324b47ce01e7bd843188cf896775490a8b58132aabd7b010306949dd4b3f37c6c4eb778645d52108cdd9d2381a7e1d772b5b734378a4c7b3fe43a770cb191a187bd10696ff4f014434bd0ab5624e53eb18dd6fd4807e47ff826c158c20d6dd6478c8eb2c3ef8df00a8affa8473d0cbfd16fe6319ffcbb2bd604efd557d6fdad4ee60ef63d2bb515440cc5c3e946a45dbe6bc8c387f108362ee63e5a84edad80116e7d994f0068cc8915b6d0724853a56074f721654d9fcf070e03425ed6d579b3f818f80e6826cb21fb5bc9869f3cc725b99afe0b77f4f12a07482c350d35f1b3135e6eb4e3268ad398733021b168bdcb3b91c9fa9c74e5e4e71cc1db8a905e81b0d1863e8a3806ad338e4a48efe6ce0eb0f49f92b4624a2512ae6ea42f835b9c012d67ad429ab1c516112a3f6aaee398303029fb24018b2b755d40b182e344aec6cb3d33c1cc73f775a727336a9bfd80e207211be064a63e6d107ce9b53b9c896a73d744e760ff3988e24338071baca41f36adb1e1f1ec9f5458d6cd92aa6e6de992620c37d1bd52e44ab831e5ff844ddf2aa97164d8d0db9b4c2b88d4ca30021e10411bbe34167a228209ab1fdaa9d985757030015f2d08b92d6a353f7a815a9a847384c7990b0fc306265ccb33bd3e6cc63b3534c5d4da370b2159c333ff58fb81d5051d18b313605deda633f1766f36efb8015af390f854e104e18c7b9f69029b0b11bd5dfcc26e32d9eef0d097d66f948fa98bc852f68a2d010c8fec4c59c645ca99e9aabccb9feb87d23ebd93909708c38854733c349a9290e29d9c6f755a4116fe717273b2cc1bcd12a6a5084bfdf362ddcd6eb8128c93003b145c3ec931eb3197e8d42c5310bbd1571e7872660ac49042940a017a8cbc03853169ed892448b84d4bfee9181c3761edefc7e1fd4024bf6028cc61d722ab9b8ad7dacd65b26236290bc923d796f1e9b16b7533f58d21dd8d492371a7855f1ec9c585aec7492acceaea22a8fd8a1192ad27ab0e8e3f293b26955fe81ebff30bc9a584cf72d87f4928a5b7e9da09bd6d0fe217bfe299c5bcfd6ffa8d1b1ac00fc2a394aa4a9f6207112485c1c4af80c600ad84114f8b3209012f66ab0dea6a469c6143d101e9684237fd6f0f59c256d62eed69bcebe1ca6f7055c22f1626abafa5f4e0230b1c2ee82c064715e89491a1882c7fe5d314195afc7886019ff4275c99b9838e0a8342082821d2b519c5f0d47202071f1ddabfd184c0aee59576903b3256e11928f0a28e9605516bd45d8ac327304642db93abe20613b6a35d3b85cafbb69485059ca47973d7a6407c180244b9eb0ecc0eff1b33fbe28baefa0247f467b56bf37e05ccd199e92480dd12219b6d7511fd536c334efaf46e755da02d1ecdfa52a96cbe17db2fe095695ecd8d8bf15263b9f7d36c28fdb291cf8e76a7ecc61f1ae3af147c566b480b2c1ce1e8111587367c5fce7d67a62216bd6e597dde5e7d5bfd71f8d17f5f3a925d740c7bb75f7dd5a836d66d22a602054f53a24514ffb13747d879e2a96b67830eaa7c9a2d0aaaad5d8680426d1d9dfbf1998164e846f78796a42520cb7f928aaaca047216c6288f4955a1f27ef96d9266e2eafdf2343b1beff7eae9f6b24f7052e0a56b5666e7f8dac2dae860756b70d9ef52a3de74ee776a3f108504bfc7073fe10998a7d37be76e3b19649d563d63eb5c2507794c8543302575de6c6999173b2adf9153700179b924686e5e2c2c0ef58988f0d96617c6e7a13c960e162910624c092138f6b1cecea7e4b137c9c59e3a8c31ba833c0df68fc37c82000f03e7e06ef3910665c936cc83bf1eafdbd76d739a02da34bc4fc6da181c0088274653a5e9f998c43a05dfbcae5353965638b63ef3f06240fb2e4612692e469183b1e52c36869b76ec800f72657a580ba1870a689a276a671a059587ce792d0973be465a161b297b9498ac16b4ca0a778ce2427fee689a60ce21ef9ad88dc355271df3ad23ea487b87397f13dd52e2399d79e11424a31472ab90398ae2e4d3935309ff38dcc9261515bd704cf82b21164d5cfea23544d96f612c62d11351febe66a4472b59c0896c9029f5e1ceb1d1f62e9b60285da25697a47d90c2c18a0e5d66594e8bdfd2ab8ca00114a8cd4bf63d6e5d3f30ec16a97c2b5cfe887a99ea6590cfebf64a78b8714b5beeb2c60fe4985df315102e7a0e8df55de225eb2847125a4fb473967bd476726972c72683ff6fe1f25856dfe0ce85cc0652d44f0ed1997d327617a739f80f6c4555a6132e31bde87a367849e3dc08ae419db9d3691fd6a82f172f3ef2d31c15d5974abcaeb58e4d4b25ab1aec1b370ddb961f50aac86486d6009fefa637c37dd3e42e3ac32abf3cb89a44cb28de5ec9ccd855ca05c119752922c6a6c94a72bf8b3088b6e41456f0bffe679aec37174ccaa4997f0dc501c39d81d1f48afb04f2077ba107baf35f47df7d926a0025b67a564bb1bdcbe06bfb26a2d9c7e2da82ef14ba800c9b1ee4a7324eb7aa56d2d4ce14b76839e047740c8f0b0919babbce90c15117cbb8d2ee75ac580792b7c76e2459cffa81f0ab6e83183a0541ed7a0b53221c20185b9b8078acf45e4d9170970e43a5f002a24cc8c6ce5a14b88b00657ed9097e3ecbadc752d30c0e13f16e53c7aa98c4f78d2aee46ba5b3edacff5bd2100ee4ae17237b57d0b4b68c33caf5f54cfb85f4f85526bbd67fe00df7db96893067f05691b7524a1e763c6714fac20be03be18be99e69f71b41acf7860177781f2541a4a1c9b40d194d25ba6abc9c21c01e1bcdebaaeb7fa0d58ac2b9057e72250d23bdf57f5c56ffcd5e7ae78a9684c9a3cac8fefae1e5d1b8fef99841b3e4d19478afa6ee05be71bb8eccdbb7dde2af97fa51883b795a0f3338f481328af89ba4eb9b471d35806f0e942cde9301dea12bc1843e6d016b5cc023586f42faed34a8c17d74a4d63c71e015da5d370f7cfeba6b","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x0045b71b180f5fd24d2951b6bd669b86e4e889420b2ff1dcab64de8d3a8e056e","signature":"0x03ea2fb589a5c4ab5b8c999ea391b7b7eff1a8615882814c47918848cbad3831f3acd33a7ca68581906b60162042d7c36ab4909f51906af46c381fe395ec1610e8e1e65f5dca6416ddc9ed31a30116f3da87f778d361e47deeddcae813144a58ce5cfa6c7e92a306cd878d83d56befe7ad19e55c0dbcb2ec3978c5b5e39b22583fac6e6989356bf1abf35208fd733a75d5c264d7039de9f2dbedae46e684d2294cc572b424ea80f8cfcd69ded5298327d077d84964051668884527260b6439df995d52ed4ea894f20c88ffd8412f19a36c9a7c48177312f1cae82fab9616fa1dc83654abb9aba06b85625274a7d231aa827eda3893621a40633ba531b49d109d2546f2eed0312d1d64cdb30a6ec09235db677f0fb30ad25185bb081ebc357112032f82bb8bcfdeb7f6485361feca6ccd1136e683dab1915dd7b968b67c45db22997850a4a681d0afdc2d5a6c31e2629971940f657ba6c79e4e50984649aa80546d43839ae16b3e6c532948ea46bee43f3939664e2dee6427c4e6e64eaf2d740a7e0a30325216e3b84585d3b0f18c52f9d828182dd1342a4a29231edfa1d946cc7b380e4d27bb0bc057b792f1b72883dd88304c5a87a2f683c2f37cf3e1435f20ebf4925555309b38867b822ba9c35ca1df2e238589a4f3154c4bb8a6b7f9868ec0765ba8f2a36b9d0d5ef5a51a984828fde11710484b7df80256d37a916eca2fa2916923923ddc508a97f7892bb3885191d8bd1e04e9de0f0083c6841f4aa74989864b4736f1c9f8233f0efa189f43955e823cf677418fd7230dd3197bef468a3e5094a49f177977af9c99e76b9f3a8cb77e809198e6f987bfc60b002bddbe8a2a5c448ab3f2a137dfb37be1b40f32fc6d78e686264bde67b311469f613a4cb69b30ba06d65b047e1f4bd22c0ec6c7c66d96c2ad80e256d64e7164fd7de216cab63d6670a8802060ca2f94e7e7f505082dd8f91513a4140201f95aa3112ccf5bf6f98ad0b3663de34786dcd7dbb81442f0c57d7201a18c290a46e083cd33f6ab44b0d772815717274662ec7ffdf11f5827c989fe771917fe44d1240874297381016515e760cc1cd519e4d5ef710b6972312befb1a34078823e75282a3616b9bc6f812d3a3e2a00f56776ce9f6fb0394be80a082187eade1c7c214772ca4e4958da5bf79d9fd7b00d9bf99c25ac31798d58cfded4d249f25753455b9b11eeb41e3404f01fa94133fe5b0c7f9b8a1eb67dd876dfdaa4c437a3fcf19aa118192c3169069505b9a50a5d42a3d096075328236e4eeda64b47059daf0439159501d98674c0e4fce925658435db3e666e682cdd578b4a06e16ca9805f056881e77328323d7ec47db87b05b335f381a40738ec0ee35ba444b578777fdd39047bcdd591d0395affeb9ad57dfd6a3d46016fac6d3cbc227e951d1856be625c7de912c4c98a181bec861a8de6ed9b06ca79a6cd35a790eb1c496c1868ea7be14d303b6ef28a781b7d2fb37eed4ae6d5cce11013378953120b851678d3eb2ac33ad7e6391c3413a8ed5c120325d0c9b020dc0905418238d8d3add1887fa940210cbadaba79b13a26db01fd5f98d0b254a6e56e1c3c129c86b29bddecef626f9af5fcb8f3e8c48cf4a477d9d88f7364fd1e22c03a8c091eeba924f9364f349ceb73e91183cebceec991815e783a671b99b54dab94e9e549b88c879c52d62e3712b7037875308e8155afeb86a0a090fe4633408ee8b3abedf4a9bcdec66a4f81143e5f136edcb27c63fac862f88f9736cc1e10a00a950f8fda6fae67cc0dcba5eb9f4b85f984eb4e3be21a472965fd425b10c32b0ddbaa137453110316e4cc55f5b9bb0ee4520162239721fa593be3977a8d5862121295adfc42596e776f262a9dd4b917e5dcb878857d12fe0bd3d8aeb669e3493d5c054752c0516cd7e9b929a69290ada8f942945aecd6451b850da9ad0b0b0470e719dbf69a6155a9bf1943a09207a31dddd2f423e3ad9f499fd7c7e830a9e48b161beba220cb45d5b0e78606226771b79b48213f08132a96aed2af0a8edb6ccc4ff069e1383a73350fdb7ad8d78792fcd8dd19242cd01751b42989d3a5ab609b319a4c7c336e5663baa5e848faee7e1459bd7acd7beb44ae577a62b8b2efd6ed60fb39a23c6af38e02b84b986eeb5dd923bbc2842b631ce75945f98eb17f5ff2f02e2adfed9beae15e874bd178e7a3f8d71727f53e65d678a14aabab1b26d79f6f459a116ad3ad1f4339c935703f25f8e01e1e55a0d230404fce73fe2ef53a9801d1b8c578770582763d5dbef372bbaa0f1c0713e08f12022627a53236b60679bbc78219eee289e88d4e31b2e75b42309b2f62d5d4189379078ca8ee7ce5985c8726b8b7d9495d80c90efce18bf7b4e51dbd41eb73d8182dfa4fc6903324693e680ca1abda1726fe1e3082a7b621c46fdbe8f73b5609d8097cb3e9f5ffed6d68465c2eb1526aeac782d0bc07894039a3fc0eab6047bcacd10e1735e0645829caaa3335aa7a714a0a9105f1c1fcb75b379feb7599c0d08f46f43b8695fc958a316688ae885818b3a21c3a0655140646a74e17f8091de3d3c7c99c56b25680fb9db178b0b7dcb492bf4c8cf2445ca3a8953f5913883b50cf9ac2e2eebbfb7afa3c612e8af809442fb4824f5fa443eed29cd17138471eee219e2a0003db08bd28ef6934f7482cbfe049864f49d0edb6b9283b4607f5053dcf07f0276bffe601df6f7d40956209decc67ab66039d3ee5311ac82ea0c33827b233408bee5f50aa3f24355b52578014e49270fce8e570d2d9deee025ea3abbb73cacc2357ecc48ab457fd09d93f8865c125ec0d225a5fcb5ecf82d3dc928b57cc88116c5acd1fd8f7018478b61a10fa85c04a0dc377e396d79f7a5c86b1be872861b97e269d665e54ad9f76c9960d243ef0b787ad3fe4abd827f3843c3deff7f4ac8483abac3ed65a90ee8b85b2e091f048f0e181b0ca27712ad75ef9ca2d813b5fcb49f8b5733118de71ed108a2113a34ba6285f634d0065486e754da0b507ddac7540a268b86ba5ce74accd45c8089ea65f7f5e64cfe74ca0e6e0ee365bff8d358faa81f3a353a0b8370380c1e5088de8731da1808d72ee1768549b4718367c465d2e964669e4f108ed9c1e198692afe065eb1cbaccefcb42fa4a31706f75e0730d5bf2906860c3f6a13be479659ab8470d6ae2b5429da6a47abfacdc9769ddf1b09aa7c5f772af1d2928761af20f06d27f0e8b5eb8bf9f13858949ba54fddfda76ad8887a03c67ac9dfa2ad68967a46fc46e5efa4d1e9c1263f078b03c9a4879931523702dd0d5b252e3c1e75aa6a46c2a7506f4abae5af70d02119df3d7e8af6a82f86265b4b5c4a8d14b2765f53a3e68fe359016286fbb0d2fd4412b5660de9c6bbb59e3898ada10cb7c9ba350cf4e4dbabba1590e41ae3302da42f7d85e7e7615a2329439008742da81dc315a06d0b27955372f018dbbcc824ac90e360aff87db5131ceb2a24e0863fec1481ce8d20f1f312b81ddd64df6440dc1bd58a58502bfeba892404530cabeeb94555c96e9e040e84b83128d13b57cfcb4f4da1680a45e086b476789926acde67ec4140f2294da00174b4aeb0c6eaae63a2c400d26f35eb70e6bfafb5572c7811ec856c92fa63c83ea1c9b765e248e72073f90eac0b9d8561385820bf29e227fecd7a8d4f2c33a0b2ea820742ba6499a96091c5d0be219461cd54985918e7bf620219d07c2150113e5ab9f2e1bb6d6c6b5151e3095c6e3b13c5a8d2b10adeadc6a1fc768c03cc40f88e556e8659cf00edb93cde9fcd54d7c33c728c5ac5f95f4db833e990ac0edfebb941f5ec4aa04cf0ed811673dbf512e3c50e4b615ccb0a5ec5bb4928eb81f0db168da730bcc93af516776f35f6e72d36d72f5fa838f5fd32215a2251953db83d6e13a7b0b6a45099e0a4226985b0ea560a34bd7a67aef7b7325b4722333b20429b65f2f336644fcc49eb5ca90bcc3740a89ebda334410cd6b800552986d6d6e234911433de8a365a0a237e6c3c4c3a3c18df16e0678ba68c58adeb4f83bba14a634e3842850c903cbf1cb8ce32fc0d505711f420e8e7a29af4fe1dd1cf282bb26f39387071a5ea6f2bc0cf1ec50502f4c8918e35fc71256950b0763084e18b1b91036e21bcd1dd845993ce4abc8721d5c075f50f86b2f145a2635af6b68dbc0567d6412e383080aa66ed6fea7e72b88be7115ff027d54e76a7cab115613f57af4da89dc15081aa05e4159705a0fe1921c74ffb89634b59bc69b7aa90426c9ffb17a6c9c2f6a44b5d0d8749b8f64264546a96fb0761479a644849388277b90aaddb0da9fcddb6d1223a963cc2d53bb4926fbc4839b8e95880e1d7672afdff63c39a287703836beafcd8aadd400ae3dacfac462a2153b004ddfde535bd560037e93747da684b5e02db530ad4a17c6ceb289fed457916f3b4bec70828e948c24165b071cca149c6c66d61f6931bf619d4577d3a7faf822383bcd0d55a64d715009ab65245b33db4edc627c4e0484a9c8ca2ecab98cf58c96ccf8a40cfef6f24edd9c2945f4f1c1d4541293bc149a14f8cd901313aa7d54433a5b6259179eeec22da79c2234c87a4df1df4fd42fc06926add99742466f338fab0c9bea0ae4e7e13abe99a677720e559cd6ca58cd24983fa9d47cffd714d7bb1271394688c1e88fb29504c9659af14f8fda969f96b017afaea99c98cad1d616efcd8d7c4183857d752e14a10d8c93efc6cfd90a3313999d73ad37d5bd8ea460f07a25ce7dafde64641f945ce22e36b9aa9a69ddc95b4d701a57cf7402dd21c258668091836f4ff66ad8af794e87028f4cd4758921ba81361f3df9c12e86cdaa8480bb204a54148699467c4e9e0d498ef687af03dfac14dfd4a642a13591b401cc02ab778fadc8bab3c81365320e77c05c12570c00d55e014eebb76b7c754e1939fa4dfc1573370a686c8b61337f16a8be8fb1de9188051829e64a9a320d44a634947e75a5cbb6667889c8641d1fc8a6a395f6bad7aa6e4898ad855db84d944b00c0df69dac4725cc9d758545f71261a46377c395b77a15691d776df5fd68ecf3eef2279e0891556c453f5307d8757b7e3d171a7e759416be609cac2ff3fa58b1e679a4b4698af0b676417ed8f2e7c15858a6714ef085374952e01d87a0dced939ae8db4e77a62edc2e95073713722153605f9e46038fdea0221033ec85d3b13ba7adf3f31ccd69fad7c1453de2e80d9924e3ce128eab3ad89b7be0116af074010efa859f9f192938119a8cf133ee259afff5d1e9ab312bc36f229dda4a1fdd170fcaf6a4a385d84843f80b71257acef8f504342541d9c9a960555d564ef3001a5b17a27b848c86fb620e56bc7341669e887eb93edc7a3d00923c0c7e895246b6c6fc16a4ba7a0d01c380f409ad9b066df641f6dec7b038d1e36a91f55f579d3aa7b70f4f3472ec1251b309b0464584de732a8690366aa561caab5ee0551db49759c3917669dce24f5b32f4e652e537e68350b6e203010fe45e4b1b927ec466bd00ff2c02f10b728c3ba19bad05cc37f9aa9e2dd86088632a296d5c550539193d791b58c790535f7d39e6451725db7939b3f29503432d86c0f5ab10a7771e8f3461b5f1678d01734092f670bddab5164876ed432a94a3e4e26c063c141571bf6b61459002d390663799c0ab7139690b2fdd2b32cacc2827d390cc963014bc9817905b2c61a82d39371854ccdb0666b4b7c58ff529242ebd933bdbad8a2b6fbd3812c8eb622f780183914a72941a501df7296f1db5baec4dd2eb8c4b4e2d533ab6786e1f87174b16750642b4dbebaa7980e918910d6a2d49651b0239a267678d96cc8665d7351abf44a897e1afae79d71907975efaaf25963f8ac25bbd79436d1c2f49f5d53c7a815f6a8e1e4621a27da67d27f18ccf316b2cebd19944823c9de9147df1b4d6d1cbc562d1e273905aa464a5b3a25caa5d6654aa6cc1d9e6b68473e0aec32625bc37ef0364bea10adf2efc1ad4fba783d9c1139dd7ec1523f24e16497192edb336a0c116832118e7330516da02adfbb0de6d42ee03600ed249702b96712564220ef060956c1e1199b4e57f12469088f8916963595bf067acb6c5b0b76c6402f97b4ac6b9901920245b9c4db7a2977c346b75943ca5d761cd80672194b92a393727d1e4676c60898db87bfb9ee56248d962275f128e30bf1d32f9e3e2220edeab9c31031a92fb755bae2a523f0a82790841929f593983e7ed544d9101d27dcbec35384010901473bf8b9830f194974a0a98e0a9abbbf97c2eee30139f5698dfe80b97a51433af3ed981f7aabf616a882974eb9e7a8e881cc8bca22ed9a60a9bae785d45ca604932002ca02b7eb8e879c0b8f048dfc8dd40a3d6783b65f15a012f3da31fb2db97226be0d377da9b6beccdb303f606fa3d8fc256a7da1acbaddf03187999ea1b2b3d3f2fe070d173bff105767881e5194a4b6e0f80c48546ab7c2c6000000000000000000000000000000000000000000060d151f24282f36","message_root":"0xf2d3b32bd0c6e93100afd596c31520c03406b7dffc6123c3ca471b0e080dc44f","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x7f4b0a4a9ad08239998a15f981247679546d86a0f90981ab38ec469c8b4c5b33e084d71a097302281cb4fa4a5ba2ed409f4925f8936441d0590af8be72aaaae9753f77074823ecdf8dd1c254ec79094c80b6f2bf65bab52aaac00c6aba50dbcefbc3d2f6fcb76195affeeecef3be765ca2607a1551e337f214587ec7e090bfaeb9a767093bd8a1015a2c3a60a1a039f68221f7f6676c74103d7be48518046c074cec081259a1d7796fab2617e7258bc0944a4f01b84601985872a02f760cff3aba58364f0d872b3372cae836bf0dd7d35dd4d624fe04f497d13bb477a6ca72a01fe207c84b29aedbfde7d7a8f4025634b77f6d1edda8d2b87ac383aab02d816e680ec77dca412ae9beafdc48fc9c837c11b2a58fb6cd0b8e8cb97dcde54663eb4f6735a7d74488f4019856260746fd27b4df8e0dcdd74681a76aa8b449c97acbf435de9b04eedaa379e281604f51882d8d028f931e1094651e47aa109240f0cac650452fa5bafbeb4ba634d07e53914c443322df38fdaa0c0d99e786a60013854032111fc869e403499bad51a02b1640c76d4ce968573ce191af6d1154d93e9071b3e366bc438238fcd7172f40d0c7fbd3e8a83b44aa637032eabe3626aef1cc70eeaae269dd89a88091b9f78ae3964ed9ae27a7fabe1f409b3f9c03a2d3755a91c36d0509e91470b2b862060c640be8dcefc8dc26a3d4257c24f35fa77045e0218d09e950b1a5da0ea6936a918b87edae6d2fb571fd3cd592bf9fba97c953ff6a59e91eb2c12a4201c28379feee52ff3f42be6418c75e75b8e1d5380046c2b39ed45e194c3394c994d3fdbc286f2c6ca8c94aa05d7176e557b306ef83d952dea3057684bc93df019b40378f2376b0a5a6776e648237fb738dfe1eba1ed5ebd421a94358423483a3a8b0b65a5d37df8d98d625141f68844b99a2a7314fd7a7188998006b55c62316eb6dcf33b3226a53305af4578a35f7ee2e930f4be28a7b4528ee18796d8b3df8f532316394259018d1894db6b1148915815dbd56f2d6c53f29f09445600094a13de91fb29daf9e8fd67e0a1ce0e897763fa44fd493a1cafe6b1e47a7a31965315dab1680ee860c1f57b11517ce32bfbcbfdbcabf5425feb0a66bf4961e49b0bf0c818db95f30e67ea718aba499bcb0f7b63e7dfcbcb4b05b68bd2f8f305b8f909c9b1429d8db94c31b3073401ececae3220a112c3d79f320866d8aec804731f0222ccf46c2dd70f2f70cb5fc3f6dfad7b48a42acc8e90f9aa6e91de531d3318fbb52585ee39fff093b90543f136b6c727aa3cf1f155649726f96917477c4c2999e9e91a09a7b63efde6b65d5c596937513105623735da0339c0d030f831f55889034c11bf934417793923d3a859dea95567653e76f8c9120b77d2af8ed1080ec9e47f2eb18f7ebf54053ec0958faada08937b79665c060897c1618e8a3cebe7bb0ab8c29923d3f261ed9c70a26b7521fcff516ffdf9eea816c1d9903e149301a90ca8c049efe477d403e9fa05ce74d914574bc4ae57b0eaf5da152b80d419854e0d91a058a9c073410cb47b3e1f41879585d4c4534d673572f377e46cc232817b347baeea196aea65907ea29c30195029d879467dc7a578de5edb84073e35473c6dfa24e5670c5b2f53d75ca9affcba2800effeec752f8c6a266beff8ee07c2c17d8a8a8ba84e6dfbfdf1f1cf695e018d439ed1c9218d37b3c5d7c242387b12e7785d9d5b519dffe7fcfc3e861b2ad73a028e1f09f10a1b19bb9f60416dca09d406931b8f767bfdbca0a09dc7053f89e4fad9e7b9018d4b13473cddf72c51f5dcc28e27ba0296b561c817a17640fed3e51f1dc9fb59a1ff098839ae44888846611aa0362ce18b97ad62f7983a1f095d030f0baf83c72e32ee8921227833ebbc6d63eb6acdadce1892b64c11279d2ea66da3b8201e7eba6af9590e7449437d0967744e2c6a782323286cb47c0db705f1a5bb22ddf62a05fbecd90fb853dca0a664f089c05d744ae73840cc1a4ad166fec45e5e6c6618d8c37e5ec89256f76fb540846ff49186055402221cdd9cf2a34c885c8a15f0af8899fc21972ef24ef39d8aa542a3643b47ea0c11b2259b6c004f1aa2487ac7b87badb2cc1131d4f939435352e35cfe44e7a75609ab0684038c5925cfd05ee02dba541187607eb0683175e3afd026abfc26a0744e7e4520e0df50260cd97dbc18d9ed484652bb5d997395439a95f09e6c838cda1791ba8d8fd61b0d2746a3352d55bbe871777bdd247fddeaa989c3abf8f11a3d1166cb4b88325a3594a78bfd301b707533b8ebd3aa63890374589d6584d78af50cb3e5c8bb27fadaca23c810f6fe0d38716416b042c2244263885ce30b6edba2e6f2cfb3db0ce90935af320ca2846e2a9da396a576bc8890725fbf598b4ac8388d132ecb13e4c7572579074a36fc31bdcf41d10671e34d839ddfb0e07fff2b788dcc19c2510d27b644e71b4e64422ec4b2fbce2c585bbb7fd5e50632744fc68e27bc37abc873da16bfb29ea117858dbfebc80642b8a4c71f98f35e04003a949794a4f3d3281b2913cce5c95240adc4618b7e97d13dd68fa144798212dd48ba8f623ff5918fb5bcca59c69b2f265563172093d451623b427129cbae16e3e24ee16451c7e245767b720442744961e484c798e44a95f3a60919fc872ac5b053c2ab32bdd35c122dadbd83c40564aabcf3b2e64960790e8bcf9cf85d0cb17fbb6d087c0f66b0304a75e434243be1c153eb0a47996903504b07771c12a3ec39387f0e04d90b003cfe2fe02e08359d1b7d8c66abbe9fe1fe73f199b0019b2cd4b6bb49b0cfe28eb35f9ef40251936dc96506754cb80885df439cba85fb408d1c32082c0974886cee84e52ef6cdbb116dfbb734c477df10f944d9db325c50cdaca8e8de15b8df9038d7da33f1872ba2538be34ae1c7b52c3da439d2dc35a022ee0d942f0b4b9895b2cd3b9477eafaaa63485388a9692e5e8a6d3462e8ef99d5c92a7e67fc2522b7ff87b19c7d52211cd1a6e64d3c07f0d2e2d075615ab7f1fef824790104c588e2389e48eabafccfdb2a6a4768f2de7d9be3c890bc2918398bc409f8c80631fe0cf8ffb88cdefa47c0aa98a13890803370f5b4e05a5259bb0454dcf9d7d50348e4decf3c8126c25f5563dd5d6af9577d7fd8fb82e40ebedb84bbadf29ce2ba6fdccac82ef5448fdac074dda4dce1a3283b1e6114afbc3bd94ad6a69a4d92cf56ac51a3ff3959485d203550d65cd6d7dc7faacbecd09fe3344fca23eb09b04d516ade41e80cb4469b0b05bf6cf32357001be44b240a2289e330a16413e45d49ee8f69ad1683110bbfa95bb5e8e5dd83381c9bd1199dba719da653b85d86b6de7f87a1679bcbccf0f6b234fc37b59491041f755f4dbd3badc819ce1c33cf9492f60f30df27ce118c8087fb9e553ec7cffd566211ab5b42e9f5afb8371dd778c73820de5bf046ba8da7f5591e169df86fb74efbfb884ad4954a924a6f4e3bede66f3169be90fe895cef11795748e47ef6cd2c5b612231d225e7455818d23d07b6369313e54316922d11e0b112d4964d76ba10855b4f2894cf40d0247801a0d0143567e164449694dc1f8c23f98632ca4b91de9dbbc37827a822ee178877c98ccfa1c2e9cd1dff67c7e07149941f4","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x37a74a761b8e96963951b3a43328c636467010501fbceb00870ca31d6cd00ca8","signature":"0xd00fb12119cf7a744132a387cfa0d385f6db3878af033ddbb1b233dec79f0179519c78b6a9282dfbcb3b71967df65daab229f8d7e80f4a538d6bd948ee8920e66310ab6cd69975c29c528043bb358c9ae14994f20c94df210a405b36cb3e183ca530bec9fca704ffbf7260e6a9d3903f16fcf633732ed763ca8baefb99cd002052a77e7e6a9cec7bbf3411b4186708379592c83095c4fbacdb02ea4ab524d72f0c9a96d3d2fb6f2c5d84678e9a6a7e64dc191b621ffb1418ef987b0492eda484f694ba8746bf6eb2e8b293ae6514d6669919994460dcf89147d3480a448a657d831a8f06e3aa20474a4316295ebb01b9e28ee7a22696edf833722577717e012d724bf602dbb7bc5efe7315eb60670e9c58ed375c7df959a10e573480a1e2cb436a26358376170f0fbd1ca04145588311c6a4947ac2e37f1e188d90adecfc29ceca5dbf5312bdcad0ff1c570a58693143407234ea84f91295c4124002796b885a8a85f86aa3065eb56072ef76cfc79ddb48665aba89f5592920ab4e045fb3dee43ec2f67c5f70affe69594a20b117820cbe6b4a16c2576dbd75985d531ae1d3cf73bc78b624b4cb815d7f0a01444940546f9d22bf750154a96fb882fa30be516a606b7ba26b2ec6bce43df80b1169fcc5f39f97fa40126b5e653678445321226425f4200760000b37cdfe27316fc9cb4c0530f3335340820741e069b76216a3bcfadaccd4a976dbc4ec368da7afcb51e1e28d5b02fdf589dbe932e0a6da45ef6a797df842cbf87baa768db7aca4284c756b327881dee3767a863faae9264dc49437a19919a179b4eebc7c46bedf10c8752e9324ffb829132a2265c9f4b927be3b8e6a4fffad4596057c8cea9e70d59c67ca141de03eab61a9dbea5b7d63f24b468073663dd3c8026a135a2b0ab38143c7e0ed10dc0114000b5469d3ae27141b1925e5b59044067bcdff237c9e9799109049aad8d55866f95a551db9fa1e088d68d57c60c9ac045a7bfe80b22d839e71174d3c906e744d114fcee6dc70f61d5ee826f2db6df8b79ec7924cd75f1b0b7d7065c721080adff60f2b148350d546eeffefa46139b9465d09f796a006d6f7cecd11694e1250e75b62a541f3e5e9fe99caed82c423305be77bf7cacf82d18bf00d6eab5e0d38b0e16da0b4d7f725f940b4bc147d41ca758fb7bc478c844bbe9e0fd29451e9226d9cde106ed87bdbbcc91159cc41c53ce4595a2c2d7ef8a7fc52079aa5959fd075957fc71ffe783ec0e4bf3474264c1f754d17257bb762a249e61595434a42444c3d356b76eb5b25ed2a2af19f784d3a464d98ff47aaf6bdfe0a62ccd8ffdb74e3b2eb26db17ad01b9eb4f536f5d1edf4b13801ae308dd8b5e2e815caf76e450a1068454ab199272ff0d07d5b865e5fee72533264d10ec7e7a4bf4f9de215f7ccbfb40eafbe280e43748825dbe3cfdc7fb739b84482cd598a05b18a7e6ea332892abbdb4c89081a26dd3ebf39e9019ef2c899f3fb302de119aef42b490fbd0dbf1a60f863c4c7f8b53ba10484737567ae6fa2da6c41074e13f82a27f30d830864b2b9166e1279236c0642946d8944f2bfe5bd905f1917cc02349d8bbb9f7b83ad3dd7c440a0003ecb093bbaef39f722be16357199b82ed1cd2cf9c1861f31931a22ed0c16d9f9a444f080b8ddfa3145408b3b0e91b700f042d64fd356963bc226b93e025190aad6f9dbe548f65313ba0c277b834804d69205e16743c560f75655e7e6dd432964eab60131383296e59a68eebb9613a928e484bb3b515758afdbdc965673f4907ca8a054a58d693d9bb6df31b7cd932ea02aff50fd4b63bb0a55fa0d45a6261ac1604143b748009afa46ff8fad138cb07bfe563da737a2cabc2ea9e879638915fc43f3ef5bc7e0c04832a7820a45bee33cfa4cece4103742d4992bf44c73352d3321805184067b0bb480e6c29feae0136faf5d9f0e17459888abc49f9e6a57d985ad02b69b666ae0e1666266c1e4b3a693e748ae3af4dae39c93611f47d6da26b3b178275f9dfc2981552474004dbe7017ad337bec3cc2acccf0645a61779e48e4fe8c6c706710e9536fb46ed744f8b701082bde72a199c296def6e3ac30f9bcb9ac8de5100ad59fa82fd63680fd647ad931b3f6bd1a019a3c2f9ec61dea31fa0635288c4a1709a7114fc12eb35e629121375f5f35dacd805c5f1f4a2edfd523717e91805ba8684c023ddb4d7da220c4b3feae503ffb4736aafe53e63ae09aa0be8021f38ca9c88c732857abe68a8ff595348c71dd502d252711bcc4ccd96a3304f0d3813fd8605910eb66af41c8e27ca6bf430422d65c5e40af99fbc5a961c689ab52e67cc5cb7eea325f748a7d33039dd0ca6b2df1e9f47c1c9ca50686b348856580cff67b7bf775e11f726bda342ffe222d43279a23fe5a2bd7804a7dad7b670ec817ed7da485e46b5c9d6f35070342e61ec8d6dafe22bd435a7e5f62c229b5e2e8786efb37dd68cd185259c54f7dde66c34764f3d04b8d8ecb1f308dc061fbea7c58d181962d35c0e74564d510dd2a586976c27657e4bdc15a8d7b5f8d3d80abf2c85bffb7e0652f877fe27b4e27b4c6da098df4676e10117c938557a71ddc03386a4125baf66648d49db200aa6659978ff489a73b1930cae42fabca2f6648b7d0a1cc53116d3c0fcb59a4f3955fac3381be8f95b5822ced36a532531a27ef9eba565f782a30b3365e76c77e919190cb3f08405dc8537386833f43a86f2a9251938b3985008fff54d0d24c0e64372b4d7977565d05c2c3efc1ef6aac8ca0f4e4c40607aafa2a055bbaca8e8ead9eacfb818f61592abd952e90c18e982e6f0f6cb23178e696b72d3ffddf424df15df37a77f10061c412c7f0598559c9ccef616639d345ddd0a59e7bfc8d54a7c341dc60bee8897b91b17da98152ef96cdbb490e623d3fd968eef91ea4c37e0770cf94136aac066c9c1cda70224421ba4f3fd30658590140e93da5a5156bd07f41631fd9e63951411c50c46385733e7191a9798a0158aa149e6b3e8d9ea263fbad1a2699817d8cd8da32060954127b9ef736c21ad51192d67f6123381aa9eb0e1564ea6f07d0b45525e4f434974eeca3794e3a043f9420a10e6270957499517c60180b4fceb3a5e3f89b8ed854e0fae1c25888f05c112203fe59abbd37972d29187fc0f9693a07b91fdfefa83114110d9be671d3ea63c0e957b75e7b2b0859b9aa55711afb20b5a9a0a858ffebacfd139acd40ab71ddb28111217e5b78ffb2b996dece5802a210768d33910a51cf85fabace95ce2b35ee14b0d95c1720f2bb20e5bd4f7ea96f5a8e5bb6a8e91764a881054780fc881aa6c93ffc47cf2b2b4a1e592ea4908f1f9bee0f926c83dac7ba1a0bc966999721be9c3fca1422800971b37a942f7fc30ec9d9a466a4ffdf7ed090a5c94b0cf2a2b00e29c8bf730f2542916bcc847db40b007446142b4b2f0c4e071e210b8e4459b6697b048ceb845e29df01cd8e8753135890e527396875a20000c26fb5d34447f767e04d9ed717da54c87fc99ad0af77bd681929881a7041e7e2291fc481cfe87483799cc98e3fb673566f3b98993fadcced28450f29e74f1a3aeb097d7218c78e969fabec021f2314045d10880eac69bc5d70aef6fb31e2d9bef00f641351f8eb76e56b23066f7839e2053e07ed70c94c3ff213cabff8cadc67a5a2ca06d888685fd08c5961b399f66c6343fedcb51106c7b89a208930138f19d40928ca55ca293a849c28d4acf0b8616e1304b553aec0c781386f529cb2675d06e75e0f77e2c3ed050f8fb058256f1c63a93fb289a6833919097eba67561dd918d0c9826f5405327e7fae0b6db3cc2d3281caf21c94c3585e8b263e177c52dcf9bf17fa25f8886bec4afed3d92f2e548ad69116ee15afb8ab05cbdba0dba97783dedc8590db4b3a06d264b368fa102b3383dc5bd613632b2b37e323c0c9b187de83b3ffe6964621f79294cb2013817fb9ff0f632eaabee5a1df8398fa133315f5b2359a4325dfc41efb8a776c1bf160c170bffd2bb6095349a2475da1e2fee85ee69c53ae29c7855e0cfe8f91f84bbe0f28bbbf6080ca2be82c35293d06cbcfaafddb97e0ec45366aa768152df688d6a54f979ca87dc13ef14a18efe01affd5e1ccf1a4f5b9150ae2d8f52c9e793bd0b003e59c81d2212b3fa1e35ef5961bd0e2ef58f652a1864e8390a0f283a97e8945760e5342149b27d419bce96fa0326d3f6a303fe0fa034ec6680e396233e2454e2b92c1fd1446ef5b491ae36d0d26c14359301876a446f4b9c6b463bfc2399cbc86231ca4fdb945c326cb0fef6b8f254c7abf6fb4e2ef8384726f1c8fc7913e0027b7b2a9abf29e3f476bac876ed1b2f55f38a369cde2020e6a6f1af9c90770b4325b0dccc806fc73c1ea7fc36279fd0bcaeaf58f6753e3bbff2a4cc0110ce11e47f992fd96e0883b650f1d4a3589339ba1d965eb29a88138e6f1917847b331cf87aab98db4b6122e11ab137f6e86c78122218542cb7c5ecba0c58eb347f95261f0759bff04f9e4d044d221208ae4f3ca4b318c401e2504956b0de4e9b58a11837f2e9eee1a09779bfa2c794be1401e02dfb2bfb66add88a40df78555855de947d3a860f4f388c482589a0b28237161e2b9a3a1d55e444bb0230ee9c63e6446a914d68a3ce57687cd8a776d90b25a3e096b181c29e1967d6051680d3a6151f55b249cc401ceae0deb93433842afdf7a0d51ac382b4cad141b3d1d0fbf11768419e0923c29613371fad1eee310e7ed63d0bfbee93ce616bf89f9ca69ed2213dd66ec7435b3d7423b251235f829f844aa82498ecd761d69bff1be846353f7a03cb68975cdac32fb7305b9554735963b13c6b107e8281ca47f74fab36d1798a95e32a3090b071c2f805c01c2b30c4c5e232096779bba1f5a5c795cd927779bab00cfd19d84030dd4b0716b3dd51ac751ce68db19bcbd2a1a6e27ff088960546f9d3a98575b256a56d920988f10798d922fbe9cdb02634659cd925fd9ab01a50c78b1a741f559265fa8cc3a4689aa828649380a2e1dedf8d315eb4ac31b2324365839a14a7a2cb99207ae2051aa569193e26e20447af6ae9ec70e804dd6612079de25457a0a137d2089c62e7c30b4aa242d105f4d7aeb05ca88040e387dc9f4bc432e0d86c278f2e2c2ace8e4d571fa5621d5f7e9ca33f9762fa30c4d548589674500bc6701236810df9ba75fbe1dc7723ff273bee2c2b7959415fad336cd98c9ae5dccb63461f9a1675a32eef4081167e2f900f84ac07f4c8c904d4779dc89d763e51a72a6ad99bc200df1f917310f8ef0462971076115bac4629196f856b6e0b5d11a6088fcffacd473c9214fa422791956098de255a998dee2090c871777e5fcaa88535dd86489aa081ac97868d357f031edfbde8c8212961ce43734de616b4560d6a60e65910fe977fa9ad2e33cf67de32daf035b20ae42e441c221a43195b0fc303761c7b5f9060d96bc7045a3c9e14d9d3771d95db77338f27d78095e1eface930612fa1fb687aacde816be303777e87a8c32caf0effee9177aefbec32498d6ccd6e5197f1f27dfc60af1f3f600a29b4b060f3a29c3d8277f01c08ded2d5524e62d7ffc9d722ab5e8cde990884fb7e25af8a5df28ac804fe331e766713b4c17cf665d25ef3dd8280f879b448bfb9b2b3995709133c381a962d09462315e85b7e8842148c7576c5de9307b9d86e60ac52709d6fb288095eabc459cb9b47a1ebeec1c782aaf762743d1459b589b6beab6ff6194f2e556def3a973526478dea5afa42b22c6e15c3e024978501b9441aa229a1a8799a25f64c884969a58c5d0efd9e1ca00e57b9b18d7fb2ddfdbf536de7d86b902c21915c36510488780d3674707a3b13481b1bb62bcf6f1c80f30fd673567832cfc9e97466ff68205d93562143eb55d22a0b0e5b40da36016f0cb0d8a50e0e6910db521847934baf0a385448f0fdc2b4c1ce7ca36d922722f153bd286ce7810cdbbe1cbcf1811d118ae1c2a7a8dbbb1e753d66193b24ed7d439df7ea96b270f797c70b70042ebf690e63ab6d418b0f8e3947469107ed5f931c42208585f449f27d065a71ab078900d672a6edb58d575cbf85038be02114e9330c2bb203732231db4eaac2f5ae3c723ddaa605d7e28a3da2af2c515ac2f5bd8ea567c0e702f455766f14d858bb340d344e1eca3424a1e6b1a16ff1873ef0c268bbfd52130443ffd3b8bdced322da998b76b75ea3d49a853578a4699117ad6f88871f7f0d8e37ed2074b8a406aa7ffcb9691de035e56c20f3c83f6ddd7c59af3a3a08b0ea7f5828cfc1eea28b46a1fab19500ffcfd531aa1cfbf975f7e286ae85b1f87f439e49dbd88b37e5cf23793a6ecdde7c6f4d81599c4a3b46570dbfaae2cc4d457d2046ad7b51873b4965d0dbe3ef5c87b7d3ef417db7ce294e5d6b79feff0a1182f5f8fb052c595a8fbfcaf35f6366919ab6be23273f4077787cb3edfd00000000000000000000000000000000000000000000060b0f161c242b35","message_root":"0x1a5d0799babafa021117a7e3c9a994bce81e3667985c1b6445d2c12060ea269c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x82386eff3d996a481f8c88aeda0bc41aeb715c7cfee26d496d48010b1193944494f46881aa19ff319c1bdf32b2018b7957c9434558c21797ed0903751d2414ce64367d6a833d2da8c3c45920356568147c1917fc95da1c7b10c6ee80430b2e65ad0553888971fdde85435e4efde22cb33036cb6c77730579aa198c7413a14ee33c2c35fb1180971975ee74acf9b0aa7c7556184120b992f9a9b199864a932965cbb37719e4d34495fe6bb507439f930f72697be66d46ce84139c6914fb068193b0abd6910b111e662add87b685fda0f86f5fe7a6ee9746205ddd21c4e51d68cfc7822902b48be636e47c1d6625ad55d2edd0695c97f0d98ea1d5d81fc207b322e0577ddc81dadf79aaf86ac15d1cf17cfc108f55e52f3f5e686aa13acfc059dbbc669dd90325f0f9fa4773ecf80f647a585326ba7af5731fa5a9d14e4a8066ba7aad9d0eb78dbe0e11b9556b21fe7392ca51c558fd204446923824aac6970e6a49c9e4918a33802144484ae57168ec94cc46fc790c972baa37a80de6c09c2317afcdc0be6bb7bff9f738631c1f1274a405b837975d01abb7772bb3ed5cc110ef841dc8ffe937f9456a5d1c546c77f8a292d18121a3bd7828990497a4926455fb9f0b705e0fa9cf522e6cd476dd857a0412d8b67d08d29ce5f5ae41a1331685f150a53a480cf3951543c890c479ba2990bb33af4e2e9e4f5169aad5ae9d7073c1344f174f2516296db2c7d3df2a520ae1d8b1fa69244dcc798e4d7a21c857e047ae301eb25e6423f2bf00a89a0569aa414a4813b2c1963f77366346bd496f875c800042a4f5bbfbd70a0af36b29ff5322b201c002b7c4649a54ce008e4ac7509c52af30e8fb3c435ebaaaf3fab349af00670094896df9b51ac013b52cf30c854dc01282c2d4a4799e5c01dee694dfdb983978d32f3c48e6e6275bc35c42b09ab9f02314930b84efbed0b86eca6b3064a77ae7bb16dc1209c6971b1dba924776c037c437c0cda4749dc8e764212a50e248c89be64490b49c84a560f07b886585776c4d4fca91c5745c55f04b45e6aca93ef25d58e4faffacd0889519d121204c7ca19882e7370e868500d00fbcfaaff469a698a3eeda096b7077886752bd18dcf200744416777b601f9f381b9b2758ed2b565d30aa9e17129fd0589a8fc73c68a0672ca883b6977c3c22ebe90fdb29829a360c5587410a35fe67576c848053a6f68ca94dd7a886574cc05fab3c9b2cb35e3e2050ee58620aab49322b75b7e1d344b39b10aa73e58d5811a7dc9e8bc1ea23e4ffd826a69e83910b26879c4d0ef0905bae3a7bcff568ce1f290581457377551c712815c37daf5037e0a904eaf0a8ca48028552acf36051c394bbe6279961e1721968678ed4e629d7ec8f252b63fa133bbe8aae3d6e212142ac8e44c67fcf454675a36310c3e446ec2c496d5ef4d4c196e83c83cbf6fed36f878e109204ec8e43919f90c642aa06d8024a8df90204ca7b373a7acca089789d7eed3b3e2d836580949405566f230e9c451686ff283a8f337acfd90bb6cb07f990e115b47d32c6a144a374d721b9be79ca7ab74a4693a70d052bd8a4b93d57955f8e297ec09b68a2acf77e29b44ff825f480e44010c927f573fba1d588f1e287cb5481e536f4451b38f8e734f3c9ee97a74a4c06a300c3aca31be19a08ef14139a5a3c37084905f3374a291074f1792a66421a272236e510e5af19761ccbaefd2fe3f2316a5551cb24320892e8a05598d7308545a6e10f10d58fa0ca3b84dd3f5d1c1ef73a117f37ebaaf09758ab36a1a79394ef63f10ed20e5fe90c891457057fe254fca427baf2eb41122b7551d87ea5624a3c363138eaa978f1c58e479e9b9e0ad959f5fe253061f2023baf3b4bdf5420f0be199bf437aa86e245f2cd103962851d20c2010f218cd46166f2a474c055b679311d7dcfe27dc0d670f6137e7ee3cf78b5a3c5bb3421494e2d99a8a22f6abcac7fba8ba53cfc43e73e385c225466cfd5877607e67aff8762a12d0f522524fa7580eb465be4078ff8dc17334d91674d30c0f483e5479cc6276b26dfe762a9e6cbf0e5a5aea95fda2437c10b4b528bb7a9c79b0cf66b6fd99c422c00765408eff98e5495b19d69c82b6fa70b44d0f9012015b6b9daa971ab2e469b40b8bd2dcbbbe4a5a49eb844ba00ad4f15e6ad666ab2465fc8ce97a55ccfbe46632b1b2e8fb464b3673a3546f34f21e0a1e254fbdb1b1d418cef6c7df1db050577137cee0896e3abea2ef3c898f1a5e9ad631184b074b49b46be463aa04c11354ec903ae336aead9df3cb451b58eeb03efdfe39e69248378f38463557d6a3d5e3ddb8a7ed445845b7495cf624acd4f95d86653d570cd17dec2859bc8e64f8398376e0ce1879ef6729b788ac3307b84944d1eb95ddbde2c94610d4285b4c6743ec0265155007b69f5defdddedb3d37359075af492ac9df032e7bc4a60431bb6b53a3dc927df699f59e6636122b7d86bcaa7e9c4dff52c84217f24a5e30243bc2bcc11b271751086338fe81c689655de99b3e1e9648398cf4a928b2d3a0f4dd261f8dee8242a01a92647fee7aa3a9a025bf462250990d83afccc7ab20a68e25ec8f2b75992d5a45e98ff111d3756e36affe8eb6a0b8e3b2cf5e29188801014ca735fc96c1c61ab81d9f3bf7be028358f3580e36c619cfad60f19f62df57f1885b1aebb1b902a8d3dabadec8a087e5622bd1fb4f295c157f432c9ffb5719aa08d99414e1239455305ebb89f1d4e848e161150ef30bbe162fb6f55dff7ebd100947a1ccccba8b8a2c277b014ca433199175b9aab5d66998dbb9afd9e7238562cc8af6a42aa8fe88a0dd4f8f9ae8d87868577eeabf273acd04f2f2a2613d3a5b5398e856ba163710ea9af0d53dd99d423c308610757b16868826840eaf0b8eb6eec435ee3abda6a836ba03e4fc240b7eaba30ed5034cc812f5176c677f6547ad6a9f3a5fd6a52e9b00b06af1cc35dd844f067b0bc2ec9103d23716fee15595c2aa1d34393410035bff2b7048d2b32148fb4344fd54431789fbd2f0a06bd04c0a10fa820ac2e2f364a191318c1a32a6d020e3da61175a618eb366f3c2ae76caa64f44ee7688076dabc3aca8bc93fa3869b4d065a41e7ec58717569a62f86dce4b673b3085a5e84f19ed2f1f0b91655b0e841e4253f4f01e4e757d18e2d4e909e80ed710597cd234bf2d5f45fa0563e1722f43d603d924207d7c0c82165700b3f05c29a8a8004efa5572056a9d31021d935e002eba16280dba7a610a9c83fa82e4ba43f5f0e5f33bba3886c800ccf6add6795b0c48e8996a183a6a92236b4efc69f44066fd1e2b380a258e83a0d945613a7dd6bb52e17532a057acf7ac3e32c8dc7d4860189ede9efbce36301521a66e7f20df4ed44ae71486afc8ce5b12ba4bd8cd3b537be316beea2a53241095c2d56aae66478d397a1fcd0cfd5b8e28fba11230d1bb27281bc9565476a3824da1e7c70c1e688dfb173bd56a43a53bdd4909dee35539af53b020c5e0abd41723e21d805dcfbc6423b7323d0ccebafd87e13ddc6828804a70ab908ce8902da5c6314fa90db1c88d15ce3f579d5e7bdd580a716a3624fb2fc6aa5362840715aa31241c21eb0de680f268d54394e870eab3d75fbf9e30536838d3c7c0b4dcba4dd","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xcfa59db86db74111add121e2395067fd6dcaa103590d8d6ecef8bef5b4698e02","signature":"0x35a80c6bf36939cf4345c1338f28d236dc50e501b059a7b3920ee6602a039171ae5470716a82d010ae9d858c8f08b87ad653e1d25f71792a673a44243cf4170e4142fde99a53c1d34fda0a41c731668ea7a52493128e1c6a34221bc430fe412be996d3816c638a360a2b5418fd1635e6e556fe5f8189bcec2c5bfae850f0281ad7fe82d99f9dd7b85392317dba6ac9466839bbc65fea5a0e81a39dd33b5379feefed35e8abe1b0a56d811ded8d770cb3da0dd912b0970c9ca7d9a03800e86e01d137a38b5695b64703740cebbcf2e025904e4b78922c1e6a61ace8565e75d5a03e3811613af33abb7f0289018f6588f14b08b9fbe841c42c9061ef250724d98d3337acb30d988730332ca065aed091ca51e72dbf2dcb0b9788aa1b4745743a9b6cd0276dce26827c8426bbe8c4d7ed994bf99137fde5ed808e8b310eb28b845846673904bba620ddf0765d3cbcc7c6a2f614a915d4da7c773630076eec8c4bb333f37768e5a951a43519ff139ea37d4a1c3a8ec2bde87dea6283491bac432b51b29f01f88213ffc226e10839fd0b42982220954787ab5d671a3791f35a2ad86b5efc400b5899dc7a4644c3e834c680eca0c3bc3a7120de3c8ee8e955df0cd50ce12f8867142e496657f48d53a34acc75f27af5d2d51932eb6ad1e2915f49fedb3d04121234188dbe5969be28e7afff62b0b3749fcbe8295136e0c0cd0b628d296f918fcf4270741bd1e17d0af03f1c06274f93c3fb969d2a757f0b23e7ec81d3fee44c2d7112647c6fa73c3538635a678eab79096ca2cc8e42cc1b66e88e9d1d76552a85e4f4d41d54767b5b867b0653d2accb7c1ffaaf52b29d28eb7624f148ac223bcc5a66d0f1532e9bc42054a6969e849b0e533dd9da7893166d7890ca74640728c1e6a454ad4b7b6e6159857e22265bec40fec46d6e9509883ecd4a073a026e8d99ad10873137e50a023d58ca6256c6ec9ea9cd5472063825d450b1cb5594e025ae03a36eb08ac9662d63564cd9f86fee82b1b3fee2a895ddff2a2a0dba06a8555984c8a9384b24ca0e9effd3a96cbb2bcbba24fcec3882682cf9cedc9f9b1c6d08324baea99809dea20218bb91ba5ab640be75876590b2642c0022a0c7eeaa70e762a5a97e559d259c5756e13ba736b203eb272cfbf2ba29a38192f6be2f1698c72d6febe4fea984f9a4ae8a4a53b5e2c942301fb7d3f4fc495ad2fa7379d41b8cd61145d3d2c5ea38ea185925680cd1b4851ea5a7a68f5880bf8fc0ba30ffc30542f863a5f8db98227784791f6f41f5e29f30ac4f4764615dd0bbb773349b8e1e9918fdd84a107230891bf6630bd533da523df26316f79910b2b15b4231b3254fb3674f19e4ea817651cf050ae2786f7a2e2e467568da5eb0e6f507d5d7d6753f1b48399adae65beef81b6e73a451a1a336ba3594f44c61713c03356ce5ab2cbe225a6ea587ab515eca64bcce490954ef0eaace43a540622513a58b20d350da47daf7b232ddc0f337bc0279fb8710190e38c1e377708d17f784013e40457d12d798280beb16caefa45b9a1a5fd08a9fb89c4b743d8a520a176b180602b87a75627c418cc62bbdce874a28805e91e307a79c221debf9277183417a4b6c3c4efdbfb229a3d3817fff280374b8e68dec168b275eb69f1254b2d2eb52a75536895eaff88db595835d330294ca458055b39bf15f7b7481823ba98602b01f2c9b649a114d67775a065452fba90494aca59aa42f3cebbe0cb27fcaef3fb91568e5974acfa176a0e86c3055e39cbe8085575df91090ae6156ca0ac8e3793ddb6cf4d93b870aeafb13265fd03467bed087bd0691e6d72afa1a49ea54a47dcbbff13f020e2477a452ab683dc442e21571aa727093e9140030014436ffdcf97bbd0231e752c96098c1e677f865a783198e6f996bef3573369016e81c85049efde0b5dcb1ddcf533cb6d29547d6238af1f18d584b353803d6bdaf4f1f953de31fb7c706a56b4617638798cd5a22024ad6658912a6656fadfc00492e31232ba05e5ab601ddcd52c1eac35cd6aaaa54cfc18cf769e3d6156b4da01db87a0cb139b2d7d8ca7d208700658483f0300ece0cb70572554c94c6b039fb67c419195213892bca9304eb580921b8d84af95f76ad77ac0980473fbd3c967509124c8e6275552201b00dc1e0d988ef75eca7af36d75da568ef3df43c23ceb87d9c8a69df92a37e150b86a9a0635b947885dea7f5def113c1d577d844aa3f5449465e3a77bb70531b4e97e40d0d5fd767c8f06adbaf30b75652f02cccd7d006517dd7d6b6d9f24c17ef700faab7aa165bdd20f8934378e53ce9b9fff676e70b7a49472e28d6a2831579e4eb19cfdeab06b32cdfb0faf5409b5ad9a49aede83e3a8ddfc72ef50be088e4a57c9188f3cf4b6903e4f788c46cfa8a6e1e5462c7001c1aba071b6411201572017309003f1b1ca97fb5db4cb33e2f92a6abf8c2223a925a8f2ee707dd782e32af90ec012435a86af48a466743e1923e42d907ca3deaff8e8e564373bec93c41a1448ea510d1794d0e66648d66e53dadbd7bc8d93093487d8977e5086def92d0e3403c4360bae92fec4923a2365c24c123cd3154550a5bd060d2d35a27f054627c2dc641c549e76f14c0d93e227cfe9f4b391bf2c1ec9c71bb61fc4670df35237ec7505c3627641f427024b29d219e5686632df7fdc4b68e69e3979a7d02029a23bfeacccd9cdd769031810f9fb16b304d51502814229be7bb5f670253345f6c68363a4e4488dedec0ea776feebc38a98729960db8c555e4870e49c7bcf861735a1093bbf5932bec4c9e1ad0130eb637c1306743754c4cda737192101a1140e44b1ccd05fa730b4f330cca1039a69709e670881fff33f57188e6f5240ed6f790f631fac10400528aa3a4a518cc5b199fc395954b58dd23a7063552df51359f86ae1ece643a62d252c2d5352a465e2e0bb317b1852c7b7771c3b170294d37789beaebaeb25e28c3831ecb64ee9095821a4cf823a2447a667b3c12a1dc069ff250a9a0176a10e9a24142dd4164f636de3e997db6517a68afd21fd4b287bf021ffe3c1827e2a98cd18f87abb161e64e1840c1f4c2060854ad0f5c6246c87e1d4dad1cd07ae994a029ac0bc3ed40e94a129f277e5a4b2d2116b520119d69ecf812b22fffb88d4c7851f331ee59662554fd65bfcb1b18dfdb31f2bfdece89f9aabb3ca455a1d31a846b2067eb1534a378819fb1e08059db2afdc872ecafe2a6ea08df8f9c9c789dd3846e963b9750ed127f3ca027226831ec7691cf57b5abf6cf870940dbe87da06409801eae12420d4cacb0f6865b16ee76c89044b8597f51ff106bf3ef4a60da795ffe05948f0868dc79ba6cdc0009e6575d358896c0b0fd037ef884f224c31e962ff0fdd53f83684474447f722f7ada1d632c9b65296af673d3ca7b6c3ed62182c22fd8197ed9daee7f8e65c1eb9c0ac42e1544fb587b243f0c2cd19d423eebd176549554db2556361a25251c2660c65afba658b55044c7eda100ab89abf007f7211bf9c80ac31b74d9337e9d39baf4f5a9c966219e16d234344bdc991aa2ec6e1d012e596bbc183967fa3f21b42f4081319d97de621543994a3f34c3c2767bed5f4ddd0435e81c0508e0e17f17bc0e63a1b51874165d7a30571638a000410205f16d77a6687ec7ac5a2f0598c012797d6bc72a0f4b92286da2542ce5cdd8e0c3c14821bce9ba3e22d733d4125a0be432a17cc11c6ecb8aa9d192c5d69efc16efb85c3a35e3ec1c23738ad6c7c861499afc169b346839ac154fb5b36d528fce16f3d82ebad41ee07452690fb341b6205670bfed36534a414daf1a213a0dd1e6c18a61f9188093416161479f6c9e8f06e48f2cfd23533fc4a4186674bc5c162f9393401a5e192861eb03f490fe92168bc6986859e727ec926102dd6f680920ae2e97343deeffb44a6c475fe988708143866511b8cd8982f253e1c61c7345df25e8b18a1f85edafe27f8ae484947c71f539def1ee43c457facf00554308b7e0b1ecbe5867e3951eed2e6f8cd9393279f8b5bc63e634bf015114c0213889009e81638ad73fb6a0bf4709ab4159859ade4b5779b1e42d77346e4f9813ea9187386666006f47008d78ad7464275e154af107515598e11dbf0473e2ec79505b4c663a2bc4cc75dee2fbca7dc48285d68043dfbf9d81e898b74f8c3d6d5893180f31a15040c4bbe38cd95892dbabc858457c2e3af31d42aa294b8f90510712eb407d65bc4071945541b55aea8985f2e3a629495383862269a453a42b8c6d6d2d69ee21ad067cfa7201258dcfbc15a8e6b1d80b8b0a8d01c9a7a9f99d9a4a4d71a4dcf03f1551fdc0604249fc506f563f8c60ab80c5610d9f56590993a9bdf2f8a4131d26496e8c33d6e262b82d685e2c32035f092a545458fd1a6c46c6506987c7b7a6007a9dc8adf7431328fef75b9b253e0f29a7f113280b78fbcff1c943b4a08d6bbf10de5a206554230db08fefdac247dda02964d63ac60e630034c1d668f9c82a6ff1a92445f7a4fec6d731f298664e3ba700b15baeccad9b6d64931e5dde3d4577215398b971c32a64f267ef01ec017856a106caa3ebfa0d0c1c9d7b9c17e55869357e448a8c02481f94b0c42975ae990575cded3785418d70d72b7f042cc9439ffc7629b2626d414c305f98e9a46bdfc7c3b5a828e455a1e1aed837f8e47e588cac8ea5c87dbf0a43b698ae0e918a3f43f27ab668f8d4f581837d11b51ab1dafae954a495ab1ed5bb1b2530fbefb25166e3267848b2913ac4aa161d2fe2ff48e60360569e266c70aa4a38cd41cd11b1131d387133d7bee0758237cf4e13bd0e48b60b6976674ce1400ea153bc8bfdfea0ea6f951f7eb05755ecb9ee0041aa45e83b73c67536e78997a042136a938d30ceccd91d6d87b543485660f8b3acd4809ba2a75a15a950de7c3270fe2a93dd90f9bfa0d5ca24b683f1ff53d2a48fc4c795c06af0e9a0d2f19765d2de19fbad3a2d9296fea7a887af9ebbb797dc79d97b879a3ee326e3fdd9b6d66fff40f03136881a040ddb43da5cabd72abf4937f4693028b327aeb19e02e8868b1222d8d36c71799cd915774cf56228a5a04f4d05b7b6011257ffe050a9c6047e2ee0dee2506bcb5e4b9268a9d902b40f39643ca2666c7ed274016f7c78798ec7f6c494cb79430334e3a70fed3da63696cca846f78824f44d08d9b71da6d6e6e3b7a0e22a0d83863610dc54db0e48887ff77c1c7b074cb449cb032b53ef48393279bf3eb5958b20f580dee958dfb6fa354e938b1df9fe97cd06745ba4917dbc2895935f99eb92b2bcf36538b168ba91a26d4153b3cb710bce41f88197880672495a8df78900a83a7921d4e89f91a0581125338d63a146a4dc0c6a5dfda9761d226adcdf4a03f12b2a636ab72194be2124dd7501513cf8b1f93503cfda47fa8a097b5e7b47b3e863e6dc761b4664b951078ffb0b468dd378afc9f214a413c9218349bfe5a1b7ce00696fbbdc19c1c837bc4cad64bf1bebeece766783ac7fbf700284bb88f1f0efd913c3597441a26326b1cb4e6b52c9d61ec81b64f188a7d7a2254969aa7b35a249f0475a1177041a85ac0e910501a93a3fd978e008effd7f275bf5a2d13193ba167cc98bfdffa2447f31202b818eed641094e84d3e27a595302ba39389c6b2a2eef7b93ba0eff44364cb158e8d85206f5435aea728d1de1bfe3d9f07d431b9c563aa68b62cfa5d01b7e257df4075bf768608cf98691724158add917ca2b172f2bd869f0dab86e4b528ee8e748bb67e95663ca82431ce6e16305e8b0943e1d7d93a14bcd87a3b5dab9221c6add71ddb972dd2b8b6698822ca62b9fba7b7bca07ee325d7e814a8427063b59b97233279ce923b91f62cdefa5d722df543bf6a077567c8770699f81b2851f5e5705364010f76d7733c531c0af67f5ebfa9c87fc9eea630df7e05080e6461293338643acc52bf5b08ebf56686e19ac6644c97d57688cb58defb1f561f19631952a3ed14a56c6bbc2c109a180eb9632fc3da04d669b825680005d08b0c8564b1e95d63613a468bf90a07914832573aaebb71387b275376efdfd68cd5c1f837f5fb4e0691a07e5affa45ebaadf1b101370c71bd0cd994b53ca72fa7b1f5780b8a91e0fb7b92a321acad77d0bcfb439a75cae75d59bd2361646f7d961c5da1f5a3d188b5e477dad1d440637b525750aaac2ece76088900d0d2637848d7f7f9a23f48a2f36ada49b74f575e24487c1bc123546d1cb51a99e67bd57693916d6efdf64e42b7a63c29fe379ad9ec3d4be46f3c1b9b90e603dfdde1e2038a3029a646657d8f308f80d33254cbe3df67d1c8d531b3fb94b6ad264841ebab88809896083be3fd86fa5f137f1a3bac14e320c1ec5836a934311cf180ca729528bca996983f4a5bacadbdd3fe010209d7429cc4d2d91030647d9bb4db056ea3b5b9deeff1375683a5bdcce5edf495c4dbfc27849596b400000000000000000000000000000000000000000000000000080c111820292d32","message_root":"0x76b565c14623bf68b8b40e172c34ec6a148ffa04070c789327b79c9291872891","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xafc66a7c61f5d4107132536a970ed4513525c4845a01e7b002c78b05ef1a2d64bee877a7d5a14045a94435e807e6d8f472100bc93f6f3054e8e1399cdd0365c8f2329006707be2e67d0fedb77603739854d8206bdb10fd0fc54674b1cb58ed43214b1c541765b0234d804cd2d19c57bbe4daec132deabad1d4df947b670aba00dbe88daa151c18ef35eff336da6c25363694d4abee40f2ffa87a289902a4a23f3a4ca1924b1267fe46db4700dae7ca987a5e572671c5b4ab0614f9513b5572effadf22e211045b409aeecd3c8d3876f4dd7b37905690d23704c19065764ae3274676953a6635915c7d5cfbc25fda0d713bebfe25ac65f6e67c8d92f82d480d1a4e52f6eb5a9e2117868cb9c4a1eecc9a130ddb591fb788500af7ee66f959c01762161ca0c7e4b78b674d5c34f6235629eeee695f3923f180a8a293193c5417097b7398743ac7babc97d4cfea06e1fcf1992aeb912902326c3960e9edee8b948076d7b47c83fd9f019a71bce815dc17be6a0fd0ca9a2a4283c4f349d7aa70e7779469662f1b7f16097819a40288371fcbcff2e0978228e506372086c96c88c887fccac0cb730b60d007fdf5a47bebccf0b93162d1fc2150095faeceb8abe73317b2f4f93c383f7c495149ccd451a1500d97d213beb7a9b928a9b423ba7b60bf91a722ba788c633dd8cfe963aadcce51c41fdae0e48f846a4c5b184b0b34dccb55853ee1ae3c4775df09d8dc8e3180ca1a842e821837336bd5ab5e3f285f99324df55ebc35fa625d44a0c5033b894d0b436c1ca728db5d18d12f40f7aa2268e9aa29d5cf1fa93aa1fe6913267c5599eaf24d516abdf7d12a6f44d468ed1309b3a3c60fd872f3fc96e30fe7868fd712095f55b24144c5bd58ab1f0be345c6b205c2392ff8cb1236299dd65fb88e36e6aad5efd3b125b9e0c2b341903e311afaa417b1cefaf64187843e0d5fb9f72a6f16f03d760ee4072ea8ba68c529b6de653b9c7edddbb7305b72e588ac3b75d5f5c6e3465b8abc5add50f2aab5651245cd0382873c471d00a60accdd434f8a64d2c4cd8df8d003cdfded47f00705b0876f8d8e3a6bab198afc16f8825222c7094e973ef9cc607f1e1f76df3839a452df8953889ab0fe1dd00b5cdac95d163122fa38262f34515380374685f7aaa6d87bf81c01162310ef73c23545ae2c5cf31b8473718a69e6357a3130c61519066992f9823291151f1aa93b49d7eb8a07c296ca70ff591752df4867d88a19f9da09729623eb9c1989a70798b2eadbb70aaac4071f4ca776ab4561d525cc1abc637f1a52bff1daee85184674b6f1600c6ff264415b1a18fe25f4f088e585ed01fe9d3a728eba8025a2cbdb8413cd77e1f032c14c985aa894c04ed17fd19c750f43674c2b8abb0f74730bb623cef4ca6e43f2744f83617f8b6b770def7abd079bbd747de739f2803add932071a7079968e2bc0fcc3b6173233734d4b22f30b154ba81b20338b3d6a369de8f5b57cec122a6c833afbaa8d8c311930d95b8d2847571957194ce3fafc4d16136d75ce60369142dc9864b0517ec1c91f8c761696cfb916b69c7024f07391ea3bc292c1ebae2947c28557e81e2df2bf7e71c98b48387f8ba35cfe4a39037dc8b23c12f4de7b6f9277caada7adb0e94f8de98440b3a9dabf28167d165c9b82692cac4682226c30735d9b93308a553e346437e9ee978f6aa5acd99a14cf9dc0bd6e05403dbdd730678a4163fff9c5f45a713093ad01125882cb12966afda4af98178e79b3abeb4f4b245476a52f2d4da9063888e7bca53ac9979e9e10f880e9c579c2beaae0adfea2a3fad356e3a7a5e665da7137e4d7dca3c1fa49a5d67010581059a7134829482999ed54dabca7fbd67222747175fc530237f80cd909f1c767372421eaa4773247eaed819c5be16fb3db1c75a5a32b70b3c825893aeb850c0d507e9e537d383f1d3122b2ea56aded04fede13e497e6947bacbd10747e463abc65fcec097e58f667be6e284e97dfa98e8b6b87d011d7ce0540ebe649d284c04113d2430880aacb0c97ee891a377c0981fef76b34a19fc5686bc65edf4a81b8009528943f13bcd7c9e5b0522eddcc6f51d25706566831b7e3fda1d31f92ddf773b7218ae6a554ed7865392ec3efbaf8e526a3dba81ef1033e51d9111b55f20be4e0455a97021511c0709899183255c383581b9fa578cfc944fd9f430f1722b6ee8b064fc0b8796de5e283d6c92b47395ccf53469962ccc63b4946a472cdb983765e5b7f49b3dbb733a2aa248e4fcde6b3605c2016cc663926172614eb1a3fea5b6abacd9465b883ae6c555bc8a3969d86c82bdf66f613b1d70656328a619b18ce82e494a11360f91952941800aed6bd062eea96955c92349a0270e7dac9ea2d46a69ff2059ba081405c6dd0c47b18fbe3588302e54b9b8f13dff5af49a972cab8e4b891607b43412004fbe83080a1da62e88dabe53c793c295971b484d265e5d6cb98dd5d738e380ce93b1f17b1c2c0eb6936db3d5cf18bb892b55255cae2ac482f62f977057ebb5a731d18354e0b2c239fc7f218878c296674511d9678d9fb22d378ab4940f163c26318cc66aa08d3cc9ab3e70ecf54fbc4944434a1c145222a62b523c176b6881a6840c67565faf5c8f3ceb6386f5495b792d2ca48e74dc5dcda4e04dbcb84671c68efa4ad1cc14413c9a7570f2743239e897df236b6ce8768353335295a163ae83d0b5ed23bcec47be3c455fbd4163122f9d53ad369d7c812e479d606564af9de30df33e105981aa7e87d7d7b64e657533486324a2a9ac344425652bfd801aa4e1c2afe8f719ded03ecc6799e8767c90b04417be8562573f607c348bddb1b331a49c94be10d0a64e280620a1a6de23b42fc9e4ec67cb93a6061119dd529c0d2a67d0f494888b9ea0353163258afd6bff3d36e1f1e637741cae2b1c9f57a1e335be062a55d05de939d0cb9af47c4dc552005a51269671d441c8c50cc5e37486b477df76e7b8f0db8f6f3143e47ad7dab9e1d7d494a7916722bfabb9dc0154a0d25661b5b7633a3cb0f5599ad3b09274d89a93dbb01596cb607ef2ce2e8dd7809167a2da80dc1a45bcb42809bf8c07d6a94d235aa697154e4cde3754457e83cc930badbb876af7cc583697f07b629a72fa995073a3314161c85c1b163b537c94d096e11267166d232f630454e457cad46549b1925d78a7b947b3b5c047ce0be0ff21926606f4c48eea7d80b04c4e425fc2ec32f0fe59b5815b483324336a055372410ba38dec798e4da3451bbf6d3cf7fcd6db1ffbe56e3f174fe3b6eaa192d9a6b2500b3ea835960d8bc4b30e94bd70c91abf31edae4795afaa5b7f3344ea6cd1f31e877ead00dd9899cc007e6901f21e7e5c317d36ae587567d3b79d1c899f0843e1cb64e564fb541585d9794d2c202598af5e52fba20cf057dd338d90d93df2e9b0f8a30da085754c3163dd94ac76842bb37a6d019ec75586582a78d7bc5d8122a252460cc22a92671272974d3447b0d08ba2a8823ee17d3bb92883ff912b737a75774ce1677b18d572e43e07e843a21109ef1274d712640837f7bc24e343fda02669f7b44fc8da044e9f3c054eb3693ae4bf0811ddc9eaec9481971f45b5c657103c2bd0467e1256e5166f3d136de8e01b5a3aea","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xc7a8d8bb64cfc771a7315ff9e5a8525b626c588d721cc8cc2c5338a7ee6747e3","signature":"0x060a1d4260f39570c2fab07b7b2073b5c0e6c29857511914da6fa82c5eb289fa084c0b9a53cfc3449dc13322cf7b8ec56043be7b289d86999f8dd3907ec5b732f899d1c64d20c66863a83755758dd6b03efc2442bb84b8a8323c968d153f9a5ecb944857fae2a813f1944c25576ff9f86a184f6a6cfbc9734c87fd4599397a063c17bf39fdd924c9bf28c69dd9e24f05d773ce316369b5b7eff4d12a202c2f47991e9e5184a276d7899e93dcb0dda8b0193ad6de704048ed1e2c17bf1a6cd6b40de0239f55b6534a76317ee6c89ade8cb5b89285539d104383a9908f780499899be67f58bcf8072f0007c10ee3f9bda33e810a8448eea41ebb3cf62731f727c665e468dd4afef962a332766b54d00045a2ff4af0eaaf9a38be4982114dd30ab603d9d31b623b7901886e942928665b9a5268829b8f8662734b66b6cafbededa8277f4f11b543c0bd501e17d95f3b9ec3226a2b2194904c290f3526c91a0141a090c6c20ae258eb307b32287fbc41ac8b7f96501e0ef3c90d4e4685e7601ffa54af97b4028fc365aebf3c388acae6ac2189f148fd1d25f5c80afb8edeec9b89937763303abd156cddd5a3f48faed972e508467cc0e76422bb33a087d9483606ac8554f28e7d0d4a439bfed9e7a5369bc2a06b71bbd2628116c87d331f824856d74500ab408a3207f23f88be64711592ee8c5d182d6c94549b4c12b67ae5630af16f2175bdcab48970728a757575531582903d42ce104770e6344ca109ed05f4d72174c1186c8e8062e8a0f92426fbfe6481edbeb994ea9fe6f8e695b87d670c3900f3bec7a35ebbe39291e1de43b4274fa466575a6e6108ea3a327a60f81e955ff1eb399d66cde488ccb1e024f7a7fff1feec766eabb91accc76ba5e5721ea1bf0da327e4b9171f71f41c4bcd71313508c3077f8c48ee8a7ee391883b72f55a40c01278b304a32b02bbd9f060208b82cbe5e60b1473b7d772a8837d30d1870c459743f9479c7dafdd33a69a3471943a47f6670f9d9a85391ee43a49c8aac719a28a9b81da0fa0164cd2b7a76a7bf2953eac9f94ffdb88c3285e59eb69e0373b27e7791f4625420721c32e8a76d56fc99fe11b6d4050f098bd5755ffdcd4f93f65af6f122311cfb02d102dfc2dc15fe6b11769ccc662005aa8c56aa4e233b7111fe4dea766c4735d2d9a5f38d8a9a03ac059f4ca9931add5f259dccb1129f6bb9e621d011e3f29e3e5355e6381de4ee6db26b3af511c1aa1c5e86d9fa94ccfad2cc34a9896bb03a71d66165cad01080e28e79e4023723ef61cb77c2b5ab94e794f99b9aeccb868c4dd576d9036a862987dbde706bb615928a01b82646fca6ca75806b12a71f646f87617f543a80be3c900dc143cf3d252084cc36764b3d556ef188731d274b783d3b059a7761a89cfdc3d7441a5db395db4a7db9a49fb7cd870419b8848d14f5b9dccf330fa71f10eaca2fcfbf818c643860e76ffc540a507a15fe1665e365fa3eb8ff0ab6e92ce28a74ab26ebb07a7949b3bce2d339c282026c69191b4ec9cec188ad0c84c38e756af6a470c05690cabc2dbd380f3af29fb68783f05d25afe06cf8532785a3aca193bc9170679fab42c91a66fa1db1201c0dbc0f3bc6492abd7dd89b75c859234bd2fce76db3d1f950217569e8320f6a2871cb9765a350dfdc97f5b700d4c2e9ef753eeae6c76b9af496bc1640d2f830bdedb3b4f2833fc25107897679a972239ba404984f7a84c888d9d1ea4534aec6932d199d2ef6323da2b33a618d569ae245a0ddbb46ffbc0cb86ba58b047f2b55d29900792a49b66f112260ed70d0970b11f11d931362234a098be7a2ad7237ffdedd88e317f84c46a1199a5a5e96acd3736ede32f5a4f38644ab7d51cc13187cd3ae3696c2da267c8e412546fb2f10475a7d0ec64b75932ec98bd7a7b044035125ec8666637694e3fde34bf08053c917084af6ec76fa6ba2eb9c2231a6497dc11678deaab0212f1ae7db03fe0bbfc6369977070804b0ef25dfb99fd0ec73ec2de48caf9439df61365dc8e9d0fff16fbf69217c72de473091e4e93ed4ed8754ee70b9bfc92cedc0fddf171ff8fb3e3d5cf4cd3a3a132fd3cb29e2c8ff2fccadc03f347889fadac2b500549659fd8394011e083be03beab31d26472b0cf1b0d6989fe80e9386aa93cef92f2799431932fbffe2514fee1c382b4989d51714b0272dcdc03822aec7317f32448589848fc46d88448f24aa053083534a23eddf721bb0c3701e86d19a37e5c4d9c0d6607bdc18516e9eec42cb07157f7821fffb85ea8d6f859053a732a73fdd35cf637f0ea6738696a001507aa4e7719a72ed859870b32d716066e0021be4a71d2bf953c0b14233c3279781d1ee1f55cba1d955613af33e91ab40dca3c830eee3c3192218e3473e6400ca19a55031d6a988db5511d2835d777781f7a109cfe8fabcddee8f45119cd232506e4d67fec69239b2270a5892186dc94b8698000b14c077c22e2cfed90b988eb66a18e8feae0cb8a283ae01edbfaf2c7675e034e2a01c9970bb2e5712e01bab9c8807229fbf606b94697aa2b06fa6a5fb52818d73a7f6b05de3c1fc544227a582a2d2b5c4de1ba9db02f75f1873515f5e6e24ae6284f8327189fd17e856bf6f948043f82159d78fe413c6677f42955c9fed72fcd8b0dfba252d5f740deaf157b795a1d3ff7fc3663fbb2a54d1a9944b67655a102f33f2ccd13e8318ae8fd357e878f45cc4eb980434aed58f901bd51e749ad4bee6d9661f121a898a0d9f5fda07f73200b9fe73ccf7633b65730c8168739ba829853d6b6ff9d97afc354a9fe12dacf028696264075c3b47373ba77a279cdc2a62ce9ca14152365251db5dceebc1627e8f8089da4bb11101e06b7a4fa8c2e955e4cc1d7a367b7252bc6fbc4792c0304180ed84b64d262b022676e8995d20362287b252dabce01b2e1e7998f3cc99b1dcc5d84a6d1c79182498ddc4e68fcf672232ffa27cd33bd261050707c4ca49f8682de95d438532e39d79b8e0fad3ffc36acae07886c86dc3ae7b2af27fcf407ed958a80f42c2cab1f9e1e079b5beab02ea4f5ed60e67cd3da660c3efec6636399f04b26331c694173252a65e5199d77d906ead43048b329b8e57f22ca2f2fd1e8374845fe9ff690237c108dba307736d0394da6a1ae4f64afc793884e787babf09e8d2c650836f2eefd2d07eb1e5f01ff1bff8ab37312c502bee55750865995d33b8ef1d21f2b6963807d538d6b534918ac95058dcaa6ba6a7fe90a3cfce824407c5f2dfb6ad7589a3cc5339f4bbfc326712419b1697c9b2b37d3348f56696a5fe62f8bb83e666f34b5f07a21c16dff50e873be0cec877aaa14cf9b93dc2ac065bda84edb14d38c4ac286bbcdde2dac256ba0686f3c908826ef3381757cc3de182a2a51875a0cccee8bc2c527cc60025e6cbf27389c72e660403dea63d6ad85f151bd08dcfb1a67c1b69c8451a385ef5e8d68c4534e4f88bc9e6652d805501b8c3b4723de56517169320918e6db75b546c85193e89097938202d9c7a419f23df558dcd28f78f55b702405410005967d1301bfc0034b71a23729a3414cd4d3dfff1039feb3fe2bf0857286ea27f3a7e945f0344cfbc0d4c16ac007c3ca0467307b32f515fe045c178533424fda54d29fe6810acfef4e03374745ec63122c19bbbd418d339fa5de466fbf32d7c349f3a7c4daa7fe2d8906c29615474087803288ae4a473576b8bfd4958e1b1c06c10fb4bd113fcbb740d3ce043c7fe2ee5719c87232b9906a6fa2e78114d3cf6f9713a67827725aa82134007b1f423f5a65bb7e34795baf611e75086b81d1c1e2bb83196e2b99099f9b392a6859c5c22bd5809737eca0f6bac74e2d75251302d2aaac06efc81780bb49294cb1ad40e0e01fc3fd04b3f36ed37aa7218068f1c327b156a2f6c48cbfa70abf7243f690cc9f435be77c03967611419834b9a612d29cacf4407acb89d7a3fe31b92348c6f4e34da24b86b9e50ca164cadbe6438e217eea24e5d018291380229d6a93fc321d8dbe32d48fd378d916e9999e6da762685ce3a3021b5551472ffd156c6091caef7443c523e94f2de7c59b4c45e891deb548bf3149e3528b55d1099abe7890cf5e5947cc22eae91d23eb7af5abcc54a00e2235425eafe9f42b849dfb1e6312e8445b29923e41f65a00d6886d2f51c7d82c3908eb14f4c8aa09f057906655a160d940d598d51c708d532d7872598d6522bed62a99cff7313b2f7cb1f36d18957209f6c3fda5cca84f50e8f09e1c88cf73f25de3d4dc64cccfa7df4924b20e3d47cb2527c30cb0df85b01be080a74edc705c7b5de6ad5a9b51298c7fa6fa57866dada20ff86a43883e5b286a91eab4c8ad3857b1eee3f3955499f0f5ad81db74208e969e0c0ca2b0c353d20230e650f783fdf10312d86361202654452b7dbf7728a84c80ac34a4b7e3c047917c30b7d3eb75be569ea2219afb4bad0dec93cf21256db0ea7562a50799b84ca396fc38e1b6e6f868694aa57d6253b661e935097669369ca70323bcdb8c5f7aa5dc97384f0a159ede12d65e55f6f69c4ce8a6d337f9430993a191d5a92ec280c48955f2a527d4b843b34f7713c056a65a37e22f8c7807a96aca50aad3b68da1211318ec555be4500551b1740411d4fae63acd2e97595aabbab96d7ee0c18c9e77230b6ef5c3e16fd8fb76dc6b9587e399a20fc3ad39d361df6530905583626cd000384cff042b35243048c2f09cf604654f50eb0cad853db0b74d9f22787b66952361fd98863648a439607ded2e5a9898f7bba26f94381c0f16a03ba31900f096a9b8ccab847ea67a9368b2feeb73f55f177b07c8f738c7d963833e686a4e592fe00023cf0e32f1c8495ef1276b5f0ceed24f0dd4f12a4905fe372f218203ebecc4d611d3782f940ad63a2a2e970abf38cf16ee85a3bb035e8b2d0aecb169fbebdc2f69bdc20b7740597dbca3856abe2756e57b9c57b227d666a532b911ecf62b824eff6253cdad5c121e60ae317ab1d3eb7f5137f9e9fd8612e17785e43968d2456741517cbaf53beacdb1c739d4d78fe47999c68a65ad36da8577e3a93e21b21b0157890afef2ed7171f1b6747da687c0bcdc193ef27ec3b27f0c22ba0e782da90da479cb2297bf48c943a76c4c68c8cc66606f92a5235c928a1b8900282f8607914bf55e1614bb41ee94e5ca2b080db1ad5a39c2b59c48761aa8b01683bd888ea3809fdf4df9b3a0eff0994f1359488bc9c265b36816180ebb6f7112aa3eba738d15b8850bb7fb7253083fe1378f7e48317d8b84bfc446ecb102342218158e5b0ab306d358c6ea16242c51c4ed5838e2926bc90701afa257ec0eabd64b20e4d16930d71170262fad2f6e631e2751927d9cffc10600cdf27c4cccf38c6f853125c003603ab9345d76544ca63031548313f4239f233b578cfca319d5cd69eccdf5d0809c4c3bdd4b0fdec8ae75158ad8faadc1380bc4cc1573fb03857f494ff15ee6cdcdf99942ef81377a7ad9e82947b13000c40d0ccef4e95b9f29db08d3ca143fe77fa2139d83f67df7cb8e6cc3f921ba4d2d94b2d8dca979c465b456ce7b252adf4234a39ca7a70d4d31a767744b05d46cc144aeb7c0870721a666b16c7f5e8277e0b3600b065eeb5d45dad1a0dfd9350e0beb12d2097119206cc88167aad2eb4099de7b3f820be99be787a297f193f4c6527433ef1f79052dfa69bb24dc3d76d8f531df6629c7d817edb53d4501f804c1fe3ca2e9e34c436b1ffc2f71163a8b706e4a722d8d26f59b56704b7d987459733db0b2c0b88cc1476904c5d78343431e625119a6633de2275344603ef3456cc867db5696dcd499d384a100515fece67bd847f21f495caa193ef7e282bd1b834624de3f25e334385b337c1c903fcde4fba092524e86bc4e5f3473b081514919e1c6584986d36b24ef74a297dd640eda1a8e1b266cd6ab448034a818c74b8e8c5f9463595339f4d26d32af0afcf566d1df7ce00e190f4c10efb710a33cc2c015e06725173b845a9ce69d2548bcf3ed292ebe6471591b5bf5aecf21aad4944deb0afdd075e971f9be58adb271fa2c08e70f78e4f5511025d2df043b3635f14859fcbfe4a506a04238e9004e488ae359bace6302f30d8aab84178063983b023e43d8533f49b83e68c47ad19f3cceb1ecc9326f31fb17b310d87280d66a7a5b118c17946b0994d5e02d4b632c7d9da09911f469be8a522ecd0691c81af446e8396fbc30b5f477402ab6319ad7d5c43118225c94e6651fdc1af6d303f755aa0c8714feef308adad52a2b56f824ee562a9fdafe2732c2900352783934f60e296e62c8181dd61ccda1eab552a92bc5a1cf9c681db54c46d4ee3b020679659e7067f1359c4f5d12c02e12d472469e5a5411150f9be3426988e43d272b5c679899da11174044464c536b6e7879940a0e243d424e578ba8bcde33449599a3ed03214c88bad1058c92dcfd1f4b525765737bd7e1132445ebf7000000000000000000000000000007131e242a2f383d","message_root":"0xdd69d4ad6efba50ff50a38993f698c6d9ea518d3280195ae3775d8ce0723afc8","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe0f73f55a0f621268bb6fe95d3ec22770294ccbb9abae10388884c5147c389261e46cf101fd96e8e93294c13a8645f0a4d1159189e5a45dad3679498bfae55b68a588150be4cd5c3ef103cf6bec08dbf02931707d203673403f5997e4a45426913a8e62afe381f0a5fa4bc3e925a8c2e84e75bd1c69931ba6e26ff9bf51447ffe5b91ac1111fbb1d0ef8a213019ee89cb159b32a0ff47078d718e5a02310dbab95255be95b5e34c68c066718748c9645820255136a6d10c25fba683f03a5fabab2f95749302cd3bb92f0976e75d8790d1e577f998af2a5b5bc5a33ad61d8f9840e7ada10fe6dd0e46853017e17fde51d536727c817ad2cdb6d178bb0857184981a4fc84e3d3c08c11184e31caccf1de392753cb78cedca5c507bb02a4248db3be70a7e85b667c13a82e33ab2dd79a71e37436ea3af899179e68752df1a4cf557163d205b2b870287514be37fd1c6373b137fdf613894c32bb63424e45433ea8c8abfd5d433a94c7b5e85b19c28821eb8fdfe9fd969e26540a4144491a8558df6b4fab48318adc3b278f8393526fa4a4881743b8f728da55f31abb50f05556714f5e3f84a7d03388661affbb94683e936a5ddb0a5ac8f2211c2d86578395a5186fb1bb7618b4adc0fed64b4fe86fe826d81cdefee34083c1ed314770e7c302db8fa023509b11d83dafd750771e085d715cc51561d41e0d6c377c6aeb0b0ead300fd62977d0977987b5c8d9876cc5b664d965a77baf4b3945262bb659270ba0c085c0ab6938f3e02ab2ab1bf7af83bb411d4d1d9bf9fb086d94dde521c670f5871555987065490e453155b0427e1864327f3e71dbe1131a167557a322061df678a37c01760940d3ac06a1eb15dd51d287f1fbcac268bbc6c919f6d04c8fe6838b3ac4563c964f27fb4b08b39e2a7cd283241e8176c9c63b4004a7e96f8435563746b95a77f21c2bffe7d216170ef33fef55d782ba73b07c76471f3d74b51f5c87fe758089eff17aa36bf303f64b0c579048f13eeb6ba0e964600ead9b546a887802e3717aa21cdcdb3665fb3bff904216d3702d6930ce8fa86ada1a4846dadaebdfa1e9027a734b4acc2e67b2786b50d4c1a2de8ac663c6bac9d5da1d4b80d52d0dae4d04de68fbd67549ee923972e1328208d450bb788a510ee14aa638ba31547bdbaec9991253f48b04fbd5c3a1ce78d690f8a336db2c92a998d0d428695b51cae83f1777ad6d7b4a664efdd799c34ccfab9a889fa77fabdf1bda660cedbbee0a4d786028e6542b966d5e810767f71d4bb7ed9a0d27532462694acaf49fd14bca17252daa6a2e14901c6041141d0318998e2b9d0cee1af8fe7d3136c62c1cf18abe9eedb24f7e25a7d548d1e75d6f4eaca391d5a9e29ceb6a7532b8db8b3f60eaa27d036c02ca5d4ff91c38580266d1bf130e8f672043811abcb9f2b7039e7f5880bcdecc7b1808bef082073e70269478d5a7b561190e840e2a8b853e9374360f5820af7e104a179999ab1c2af89a43f8e331b209a54aedf224b8d399e70ac4319b972f8a30790642603d6e55774aea9614835fdf182655968ba983a1c725de3fa5d4bf9a87103527faae1e2d8b2d768316a22d5c0b6bae55a0d28d23d15e40af5c3b657ab811d69f5a502780decd58ec258b3ff70b64d58e0de9b90ae5301b9c0531d6f2ab9c51c4b925e77068912a2b1821fdb40a1989f0709a5cf7332fb6af3ecd02f09e21e0f752c2c7050a6ceb8ccb8409b9d25293bc633bf605301ef665b88a706163b495c24b1e73614c6e955458e2fb77e117c74bad6ed1151697df0b16ff24460c032c0d5f2aea25941e9ebeb5e512ce1e1a2d465ddaf826937fb18ee79d2ffdb9c9646a5eb8a05ee32abbb7730ff242435e50e792296c089cef62794cda8b40a5963b50f46b15c9c88b4ce9855d0d11e464f96ff15521a239ae6af8b579cd9a92957c91629240b5f5a881b2fdc7adcd40661c3579bb0960e845f92c5380ef97addc04e8896019d82dcd655a44477868d570defebbb7c797651913653f5b22144f3e00e85e08e472cc2d1889f1e7bcc784abc36ef6a2ac0160588611c01a74ac4d955d5595e335ff66ec0aa50710d68ceb5eed5d8d0ad5decf04e687331d326b700766b457de4935b4a621acff50a99f27c91831109529de057bec256aa6b2b4ed7765b15d21abaeee841037610b0dc05cc16dffa40550b25f657e3ae1b4108d494f5275a0a9e04ff10227f19743f76cf9be1c004f609060c1b0f7c1390b6a3683548e97617e3e72a49c04158ba8ce5451df6140ed612218745571cb7685697da8eaa163f6bf33b1561890717ffc9cb4943073220052b212c486c77f950ddae38e4a6df97696648ea6847e0fe296f66ce46d953bee501b4a63be4643bcdcdf6da69e2c2b3c4e3d304c84151862731ba4cecac1b331d9d46a9d12ec90716d8cccafbc96320831a267edd3cb8d4aa8f80029a8cc16ee657ffa15513b22ae871f8a0c7d5c51f1ee0274b5bc00bd446c8071044c8ba0a6d3192b15286ddadd0eefdf59a7434de9e2b23fdfa8c7e28319f11e45a647f3366637de53c1fe85be902bb86527026908afb362fbe6d281044360f4f9acad3863d18c4eedc31b1bf373d768d24d0b61f48fc96ff3ccb88bdedcb51daaefb4649d213ceb8bb179cacbdd07fb08495705be9f4547c5b7ed7e92278e02300d04cc8678918c5c74544a2d86df4071fbe9e80e4980891b4f095cd39636dfdda49c94dc3077357244a6c236d51894445a00e7fed7a4fc1c3045876f7fb0aeefcc512353564445b0f8f916ef449c8974fb44f1481a5f0a1d98c52219e7ffa183281f86f6f53254fd5462de3bf88e07a917504409a8777b12d36defad72780480c1c77b5b9c22f7bb9f59eee557d9fb143e83e94545706347ae5896ea152a8cdeb89102ca0d16477e8b4dc11ebfa889b02f946ca18d444e8b6caf715f2376777a89e67a6db38e5ecfb61cda300ccf91ce6c305d06c11b8a4f5360932c8eeece095f90b2d8ff9867a28d2f3a70a124873a626db64fc497da143e82d935a5f466b75a7cfbc05e29e89aae5d2c43259e0f9dfa2f86b313a1b51c3e821a48f2ecd6465d2155d40cac7b231b7e217ba139805de04ec23dd70c9655d8958999005fc83eec562e026230b62f9479818d62eb9ac29f2a0c0cbffeb5410ebb0140563e11e9b31fc5a85b2c0aa8146b9829083b513b5aaba1850556616dc69c9c936c459093ab76e259c0be6fe6dfa6b259783dbfe718799032f6445f9a82174de9f10820a847c28333f9dec8cd3d74b2b9df1844cf2d728b89b81cd86334274696bcfc6605db91e32e7dfe53ba7edfa9a76c5a2dcc0aae35cc0dc5ba618daba4ae79dc31642677be3d77f137251a0c1d3a7997d2f75817baae2d1455fd810451f42790332f0b91e1d9f6ca9708920d39d1c53d3497f7cb6ee70c009a5283ad857df3dfdb25daf68b77ddcd2637c63a2e72e9cd8f59b621847ce21c5039b63c808cd290e7f73cb6c1bc72d8c52f30a8a4db1a1d56e5ea87ef6b1764b2eb8611f1f4b0e8acece0a38fa8c8c6842b9fccb80efda0acc8772bda99a959e62aae7d42b73b262bd3b5e93aec7dbef34f228bab0408f618341048495aa72dd7ce774ce3d23cfaa060e393bcaacec34c993fba9","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x81f971de5922faf4379aab850fc2523b4d4a1ec2708ea8438ef7dce4c3073f7c","signature":"0xf159d5ad33f7faff7dfa54843caf2780ef3fe6747a296bcf4b6d15829777c7c40cf5b0baa986a34577155add04dc8bb40d387d585e807cd045429c8c255a415fd45f70566844b61fb4112fb692807309ecdd7c994a2bd186f0df75e893c0b9df270b6f0a6756ca3f8c4ee65f4d0c47c96d52eed27dcc553d58268526d53f778571888ba40c5dad19b0b760dbc12f7b5c275eed966e083a301453a228889a26b11fc24a84e22113c05579fbba7f079e0daf5cf849989e3c3957ca34c8a30005e3ece030211b229e1ee66b7ff1c052f4f0c88e82024f30ebfa62ce70934b700c56495c6071a9ef1f18fd8d6cafd774e9f86d54373bba119836640ecafca7eac836d69ee7456664b4cdaf20fdc65cb64e34e5f0e3dc5c8e349de3da67d860c41ac685a379e4d58c0b8cbb005ce98cca7a3246dd74fa745ee571fdc2cd73e713dae41c472ec78ffdbc18bf13b2fa56e03ab9fd6d17e4443c9fa3e03472351a35a6e3964a00bd19a8ae22d0b25ed61e7a7a44bb4aff0a4255bac6b766131fcd97ae50461f70d50edef46d9b70c078ca1d72c12dafc1d3709f52bd1f50b4508a64940f7bd5c8fb418fccd176880c9e49f1b173f5cca65b93a65bc637ff2487af9883af71230a9e07af36b87d367ee55329e26a39916fbc7c4c33604b28561ffd29b4897f26538ebc37ec1d248e7106f0976d9113a40cd81e6bf89e40eaddbd161d970f9471f5fe05ad2f76f12656e069abf2f53ed3de720eae55e44f0f2f94decdcd58e5f3eecad45233cd2734665538df238cc1d9b42933ce2ed3a7301861ab3da020afcf9f10328b9abd92f702e1fe6df3b12d7a3ef3defe5646f90d85f4390e3e0e65d4151a6250f499af98d1768c70413b76c07060381a2dba9b6a09356b353d32f7ef259eef98beaaa19ee251e941206f054ae111ac2eae9c4e508f4bbdfd2e9e13c112d38ae7ade0186bd9d84ed3a119a03976aaba25209b4fb2818ba31350e30e279d934d9a8de4fad56998b4b6e75391796fbafe82708b688938e41aaeb9d84488caf279d302861d84031f7ad13ec4a291cd1fdf085acc95855eedb5582bc02bbce2701107d04b0072fb4c9c71e1df928a503ba4915b6411ab2a159bd24b2d03d026c8e70f5ec122f5825f8719ec202fe304d67e5c28ad318be9f9a2a059c03f0bb4ea82b1480fbcb5cbf25f83600692d5e5d89397fae1bc532214cdf1754a310ca8ac79160ccbc392476d2d895c6bcb84ee64a0b3b79b66f9f0ecc953bbae89841e3d94b665f4f9f1acacbac3499add764dc94aeece58e17b0647cdf8ec8fc81bfdcbd1b407d766d541a032845efd2dace04a58a020b7b6fc42760251aecd291c05054f6e8ba5fd588805f794d43949621bf9b9e77abb0043babb8e06b0f45ab417e061109f5c4c90e654007378ff39464995d8a699d71bc8d9a70375afa668625c8969e576dbf1150c41a8761c9acc65a545c4f1128194f88187367da5595a3eaaa19c048e07dea9a5c2903d487e90a6dbe4611da006e7cb280665b4d12ef2011e615ea4130c0a9eaf94a92376007e84c45bae0c362b89562e6b00992835b75d6c31fb6b1cea4b463f0a04d61d44086c265fc6efde4eeab40e7c2f75946622bcbcba1ff39fc53a3b037df706adcdd3a8482ecf9f74770e1952f7667fe5d45aeaeb2cc268601ff40b49c1d2dc4ed3c832e4e17fd30ce4e3245e1cbd19402bb95a0233adf6411a609f31564ae4458b1b5260b3a057b1ea12f5d25a155bb7816bb206cfdc50d4146582165fa6e5aa04d8f5b42e4810304016c0bb834365e39cff74a70170ec7df93e5d8f8174f8d15c0ac664173484e81ac41e23069e2a40752eb11c278ef672d8da3a1555c9ecdb1aedb9cc31e8c80835261327f366274f665a8785b8c456f6b0398d2cd3801f182ef9aa62146b665ffbd3775298e8fdbb7605826a9ecee4a3a05696526b93a6939ed46784eba465b913eeb1a2190ba52cf2212228e00a618a2d754247771953fb24f34d571f4ea3a8ba4b4a6eace47551c9e6d57d7a8f10b8851334afdf0b9f8dc8c610926f428c3c88a8c9524b993cc0d64c1317a4d5a5d0107e8810d861694672f22081711d143dae21297501f400ddbfae506f43a78b355369b7284a40d716fe6477e80351612de834efacedd4d1983c722b0d12693f512d89b50bd3fc17e6bf759395d60abf8e2f84ff15fba966b17f5d0f39c3839da5f663349869726906bf1d75e9c7dfb90b2e058500b6e84fed2b6e8187e38607e7761e2bb53640cdafc5aaa1c7831577e79cf5a8be5d55a75dbecab17c0613dc6f40429edce38d3a1b7b29b92ddc8f1fa724f411e266454bf05c39b7b7f936a9fd561503592cf7b06e39f7a0ed400d6483dd17ada6d9b843ac3e6c1ba066cfe8a57f77486d7d140f9e613ca71c110543bb475788eb723b01d4f60d295d923ebaccaf7d0d38156ae7f4794884df0f9e0f2b069922e4c9e6f96e7835e27dc89406bf49d7980eb9ad950dfd0d2e70808b2e2aaf928584cc5ceac7b98911d8ade2459e9e5ef45ed2ed2bfa613f56610c37dc0fbbe9dd07e4c88e96e09ff5722df87716b31861aa9b36e1945868160c7574144592c09bf140e522037217e420980574e6f9afc0943d41af8ab931abd5b90ccc785f0c35062e2261cc145106b80208cafa5022cd7320896acdca83ea8fd4aed3e89e596efb3d6c94062577e636582bc31894bda89fcba6185d207e4e16ef85df2c3c41a0b0d8e6ff32046cf91a0d93e58002ea9bd16616b9b380328b17be16b57fb8d41cb89d28058fe7f9a60602cb7a16ecfafc72ba49872b66227d4773ba766dea0e6455c710127f78ba758a64fa8724f2cb9f4a2f8a0cd98d1ec818d4e5c79549a767224028f00df28836dadde46e3d63de857e0e8668b19233d19fc5d4f4bdceb81c7d0e9d8a4e4092af4131945a7ad05aca546732a7ab80c952b3fb6c6fd930c5bb5a4de2171aa7d9a2e0cbca978a0ec1338105317d231134959ed324009a2a7edb4ccf01d2894f58f70b2400fdf733ffe8a9a227cd8998263103498d1b303cfdbb47f4f9047d78f86b0f40e248583dc91bc4d2f441fa65a3431a188e26680f90fbabea015eaf4c3b52cd0500689280f8e77dff3d04b9b0e3ebab91a16074f509c395e762716124ad8dc9a0c5d356ae9f52f59f6293104bc41274939ed2cf5db30f9508f300c2b656a2afdd448c80b6427a902e239a1e4883f5dff70a6d3983651e83884c907bb527dd29bb3f3b82e7643f002ee1545c7ff38664cb0067d94ab0f0258a9b0a63fbb750d5cd1f5f1e92e3e966e4249b70e8a63f23840c71854ae6dd98e3752ae9e0e365fd77a49ef6383b5265aec09082909772e7c4ec4809397bd815c717df91332f023092adb902d40c86733f39dcf7ad5de372bc9aea0508ffaad9da90d394560d642901a03ab77f4a2dd4c69c82ae6d5de391cb9efe3f2a695bedec17b6694f83e328cb89209257b930238ab56f0c3844c5f2b4bce3898252760855d8b7f33fcf73a8274bc64434a5d0b62007f6ea270ebe32e9db8ac62fbb056c4b272ab3ebd3062eff7c083e5b2bf226a7ea3d33bc8a7a73f21f9e02562d0e10759762cecbba74f9f1d3ff4a98761c2868ae955519138730fa332c1cd4567097cde8ac3355b3ecf58d6452c8c2317dfbc19812ce3e5b3aeb07b4f5ccf874ce1fe69599edcb0f94fc6bb456e463387e05310132f7325e20eabc8fa8ae8c200aadaf00e0261ba265bd45a0d29e3bada0d434e4103a5126eba9319f1fd9e176fe56029de26ce82fafed4babc54fc5c3c5694e24a1bc4daf34330420b38b7c1864cd1fa42f019bc1684c3ad2cab6095e1e329e0dd98e6b031cca0433ab531ce3ff25b86fd8f70e8ab1e4084deefb176ac093ed4a8dde2dc65d32208eaf63499973d5f3ab171e26f2b613e614b87123fe57391ee36d1683e64f125106332d155ef9cbb78159de9bd0971312ea698557141e5c670b73d1a762ae854c9889c50f29efefecb2b7da108e3ba915b6a45202343b4b7f771e0f36efc95681da27098fc1e75b056538f781b2fab81214f878ced87fc30b302b9981a59c165a5401651b7cb087623137e2fe78f649cba1feacff14080a67fd7c180a1685d137b408540696eadaafa05e240fd8e3e06302f7603998dcc7da69b72ef4ed835ae6992e0ee8233433fb3a5ec5885fcbb40c0b3089873136db69f0481d05cbcdc7c48bbce96b9a5eeab0b1120e9adb5ea401fff5ce112fec64318db61505cb4daafb3fb5bb7241e4bd14b7656f179669e26f2ac67356e8993a91b5dac303e96e6b07c2ef59c3f50df1fb859f43092690fa1a43e4086b98091c8ad1907d984c0f81d22d7257ff834cc2850cbe95924d4885eb34b87bc15db5419141d5010ea7a355b8bd39078d7417393f442482febc7ca9ab82c29db19e0f09adb79673792ee36749e4d686c7fe89c2fc378b0ffb7bcbe5e7daa5f5fc7a4c8c233f20f567d0a89e0e850ee93ddc4b676ce49c7f25cf3d8939d589684d90325f358efdfabb87e30ef673a554f86179a88c953b3cbe29da1965cbff8cf38674af5f1dde86d8b72ab61c76c8ffe040fc177f4a17ae77e5330e28251b982884070750ee58f31d667ccce002112ef90ebb89ce6fc599036ee55b4e0a921be46a7d7f41da617bd5494f0b9cf53a0fc60ce716c62231ad6c422cac81486c8258192a2dbca61d8077be4417841522ffd94d020bf433ef57d1f3b11f1083a1bcb12310232b699c41582cacf5e5f7ede4be0d7fc76b1fbc1b828fba9b28c1bb947bb7eb28038a0747dcf196be509093002300539285ef83b725a35183f136530b36d35f832a93c0adcec96c1407185e5693b17a8132b90b88feb20b30c3f4e8026f6f4dd113dc06f74e886ae8aa62575710bb07521d289ab9e4e623b913482a494ca1da4d5bfb667f375272e24f293f75f2c2040ff4e7d175d2d5eeb79ac868b1a9306eb45dd7b69553639404cbcb189d84ba56cb5d1f8e50a0e6765936dacd789fbf646113d77e970f2d08402d36486a008e798b9c4b627e9c0e77bffa61365531f91b473531e745a8ea9aa7b449c7050c0e70fd6a59fce35eb27b09f029ae7ca157cf096002b8801e3b354ec60284579f9cb0dade6c3fbd37b78a2ec3d1cc8a0d71dc83bb4949cc627ba84701dd0e0c5631d0ef3d983e51b47b701f71b337beb402bbf52a5d9472e3b334a83dcc9eca194158c44179dc41dddbb8dce8145817ad84eb8a69164690e944bec93db7b55ab0fab47530143319266df34814cea37ebb0ec3c5c18c5f5a7bdcbee913d64d653dc63e6c8727b0c27a53a3bc58e5f0ea4f8b598320b5240774734f7982f771f8dc45caf4e5026f1d9ef8ac3829c683dcc135b92da90ecb993a8f7621ec7239f5eaff13b0ded0fb2f77500e04279c2f62f38eca0be8cbcb8a62443f703da6a484a7276ce7bda39aa7808553d980a0f5769638d3c4ef07476a644a4e2d42f639441e3ab3658dbf357bc431c764698b688e7d05016da011334a3961ca7f22ad9b1d58d67bc614b58fdbf627a6d687a433247d526faba8545b41b3e663d4199e40502a3cca812442cdc34620a272d07ca59051e478fa1f41d8cac909e15f1741c89d117e07bced32861b5b5842a5d49d3b8bf77d958ef998ee578599509558a6cc8751f06d44af1ff3ca789fc268fb2661bdfd3f394a9dc36f83911c6ae282d1399adafc4429b5a32ed6c14736373860d6f75a136d12218f44f8b31433fbcfb8f2d66228212222563fa0f6a47049cc3ec1627508c0296ccd44f7f95501847bed970bdf8d4f3b14c1047b21c144d002fd63179872d5e27148892d8d0fc5d4d0de6f27854dfbc0339a5d2979c28a6b4245d4cb0430c84a88fd5c8d122d75c41f88e38fed94145e39910bb5c769540506b972a1fa1b1ff10b9ce35a5439a2712b2e25c611bf9ed15b8ba66fd606a708ad5db17432ba53ceefe73278fd0a751d67bafc8b37c9a9e8c8f19f40e42ccdaa8f2142e746a65140eb5bd50f5f9a5fe2947039e0649b4ac626db2410874aed13546bd656e47512f03a56c7e0ecbeb31bd71da2a6db49e89161456a11df137e35ec4d193ee5b0d4e96f1a865ebf527b7a7f2fe6e3496f72fc8718a3794447264e4637da99007c46262748501e41e6b0398472119870959c44a3fec3e0eabbc7f09b37e1c58dc103c0ed24fb3739cdbd9cd46810c90da6ad6137d2f83c97a2cbcbd5a6fdb2faf43a141e815e41882268e7a869343b651420f0d973c7fadfc36be8a0f7b13ab9758a736e5217d61045e536ed0e2141004e8252415a433e36ae1b7778bd8fb5406f56a76527f7ce71ed3bf96d6d5847957bd277aa3f9c894ffee05fc5ef484217ca4eb39d725d7077264bc0e35b3f89b66951029f6e00fa0f06223b56677d88f35a80cbd2e2e32139577f96a7b5cacde9eaed4a57e3f1f5d2d6e80346525493aef625262a3e4158637cb2dceb32a2c70000000000000000000000000000000000000000080e1a1f22293437","message_root":"0x3805324e4bc97891363b969f66c74f08fbb926578c4324cee282f991e2ad8f74","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xb0a15d9965cfe10cc0b4a020d0c9490082cc638640f36272c8226154fbe987c9d82d0e0c8bc27d524cff5cf8aa141eef1dd5612454e570648fbc3b245e69ddfb0bcab11cadbcc2a2b6a6566e9fd31de1c36741f843fb418b7f44bd434f5103dac9f34117eb563c7e223feb1d278e158ebaf77c5fcbeeb4e2b91bfcb1ba1fd3b1e85ad2ad332cf234bc067188cdaa5949759246dca9a1b86dc1e70f58f445cf418760b27456fb89828744a86b8f0175a19497657468039da4b1c86678e39dcf535ce22a77b3e57193eb666d9caa3ff7da1aaa460644e3506feec27d3053493bee4ee260db7f8ff0d0feb4e4db2ed9a9eecbec969c9fc1586ffd70ef792dbb8bf34c4b4ec775c642d088c297816b71b79501fe1bd6ee811953b71005c70646be65e668f200070c65867ae3741f8ff203f9f4488bb7139f3d81c7a0c0be5bdbfb1c832dcf8f791d4aa1178b07e65104dde76ba0f156bffc4791e4ec265dc5005279ea803fabaec5f926c60bb1d024281484170ba8ebdec6f13aec4667e5dc17500623ea1979ca058290f000ad19d7e9a39ed665a412f36b6653f0c917cba3490e908935486d2b669b71d6461f75f2843fff98aea095ddccbe0f30e675658af6d3c84ecec503996c1d40dfd90ef9987cbbd175f2b56d6370b58c1e8b6874a6c2873f3e2f212b69e743de50572afc01c81ab3678363025c0620e4bee4eebcc1c8c1722809d4f307ce1b6ef5166720ed466d1c4b6bbf80ab66a92ff211ff55b32d1d79b73a1c483f382b33d8a8b7f768251ad31e063a2301377522d582cb486e55dcda449265a1f51e3f7c046fcdbdaf1998468144127f31126e7a452a845b0c2548761215094a16018c631ca4fbed39d82618b75be050253ed1ea52c431642d37bbe193eb71729d42589bd443b3104a0a01e617ef8a447d0686cdda26107764f729259363f2588d2d2e1959d68c9759f53ccb328d3633a86ff4a23b104345c0179ee4c38a44068ee95c9b8d3317e5d527314b29392193eb3576044aca95f992558447079ecf3b2249a32ec09e9a9c44701c4ad5db549c1cc67339bbc6446651088b5761040833862c7fa77f4f5a9ce552196bc58466c6ad8c846193ab4bf8b36080f76cebe411e2778a46e14c4b49bf960628bd16c8bfbec0d760e0cfa0fb70d9d8c2cb471118c5df70d3e6d646afc277e1b0c50feada4373c709a6c177024d245a3f2cb70ac23bff5687f2a89e6fd29c85d7922dc4f5dc997f1aef9d0fb57c70dde394825c0e822dbb82839a7a32c33e6249fdb1710301fb0ecc269d220769fafc41bd4ca10f7ab18217f1a55b98bf468a79c9700fa979bc0bfa93acb7206ca1b7dbbddfa8f46c3eb522726799924f79690beae07e9a916b57688ae191f5165132aab2184a6f43220af6931c73b0f50d66071c435a6b5241ccb89e44c93ebc5f65665f7147a6e529d9e857e43b996ef9a13419ebc952f6edc76e7765d32bb3d1275bf9a932cfb5a385559798f8ad39aa8bfc1b272f136588cf86f34b456c64069182eaac89f2321a5d92e66acc11e29d303934bd3520e4e406698fc5951476803afec7f28be333d09295cebda56b0c03cbd701d8f210635d6f0b8a510060e5c1f0815e54941c567cd3589686667d491bfef2ca6109ea0c023c83512699436ce6ffce9edf711ff57049a40834999b0452779003c1435558e386ae7251e7d337f75c7b31d69c129d4763e80090e2436aae1e5a3916d6daf3606d082a280d3f328923baaf6d2ab1b5ff8681ddacc7b157380a599cfe32e9f3e305903f460c6115c91134b2fc3d50e3a2984386a76025c9c7ee2f71c4457ae7b5912584c08803b4ca34de3292223c428416f6aafd89a74acaebc768dd671295a76d04a9c289e882c588bc6f1e6ea53792080bd4f03af3c3cc6bd0d143d8a7d3ae1b06e639e9448ba29d95e52383f285c549b6a433ae9dac3f641c361dc14ea2bc7f2af3ec3d7691a5c02333fb13f26e0eea52e80bc1279acfbc8c56df70b37d2c7141e6dca8161ec38e09dd8d5b788110b84e066f96800e8bb96d5a92076369436586ca1768355ac96d1bb4a0efe0881c10900a33a7acdbc50cf345f9845054336027b82073fe69a7379e1869a896da89e9e73d61bdf4fa92d0062b6203545226fbed5387a9aa48ec859f72d42c935bf098dd6a60b1e8e8e81125b16f0837d342894db1a01fabe02b47ef626136ff50862c9ec12b6cded09d815fd4a4e3cf5185383691cb4fb306a887d87c14b9d2e13de4fa5b54cf0a58484ee69656f93848572832eb6c884d802285bb2731097edc4b07c6c110bd3455dca745d08df0fe3dbf9dbd176cd4c648773372f53c6f0734c864a3c4ebe6e9d44f761fd85ff3b26cb1aa7b5e18454d034bb9425496a4e26c7383e758de36f558f847f0329c37d7cb83c6f1069809458440ffe5c40a374d4f9098251893f1e025b0071fdd2ba3e4523959117c19701454e2602cca41369991503eae361632575374f525f720b89770df63533cf4ec8a3c3926f08a9f9548ad779e156a9c18feed7f2bb9661e3678ce43b6a1f777fb1bff9c7241388acb8e29b5217254a01edd04b440721e9c4df53d03c0dd8007e031557b17ed2841062cff12a5b12be10c7dbd32fce5dc3f182b5b275dae2e08c67d61ec3386248d4e76fcf3899ad5b46ea3de68690d7518432eca1e6244a7b34ade014c089067680f8a5f3e9ca17c99c9ae7a211ac18b5beefce7f14951a995a96356e3a0d587970ae1f6b9ad9a50094cbae7bbd5189c5ae229214a1d22043518595c92de10c5024c4fe03f146819703aa8372f77662d63007e901f2dd90a1df7a2517cc6bef68d89e45b00aa24ad352b870f341ae96f35bd6fc76fb0b277bf9a32f913e605496a4447f4447e8a56d63f96aefe9a509146db770cb427e277cdf9b7f4838478e3accce49fecc4d35210e4e09f599919f3278cedc4fdc2907923090ba2bb45bcd4e6c0ffe16845275722837f2411fbe4fa105a4ca340afe99f2e508601de2756c323b47956bf0550bac6bf9db153c2fca5eaa22eb0a590fe23c7dc0e6be609af17f1ee1d6c087d59d430781d7a47739ca913c8684fb9523c4bdf76f3783162e6a240996e22b1416cb991591b0e350077037cf4f79f3dcba80367dd63d8d6dae438fa53f6ffc559bd926dad18ef3167d785b82ee0a295a97d6ca1a1b81927c31e3c311fbdd42d1ff8bfd12bf368d87f8608b5dcc4d3f87ad85cd0fdcf87f4d827b5f5c2f7628db94e9dd8c82b21406f6228f3940becd56bef2c65982c65a8db5ac38852f4fb3b5241e66617d0ba1fefacf4dc6d26776fbf7c2a19b62e4e02755490fea86fd5dc71766c94e0bce444fd238a69187edb1973c918e52a76a4a221481db5d5e4a822cadb2eac8f0a03ba9941ca1edc842a138d3083a185316a177452d4edac0eef5313a6da12606ba82db1fcb21f943045dac931bf7eca0c9d4525f66097cdea5839e3f065064410815f9dc2a0cd7c5683f83a149a5091af5e82d293e93332b7e66367520951d7a14f1c07a236f4b072f77dcc9b0c8dab1153316bde0466ae446d565ec0fabb62e2c7012a5e49768f3b33f90dfb0766d0db596e7924494342c46596af4fd7fa48185d1e260c15126faa8a67d032887957d9690f0db0","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x399c63e7e7dbae0dafb30bc0826ee3db196ddba612614f529fdf1c1d26794b7a","signature":"0xb107ffe897e1ca83414d8e8c474c4b0fa428be6ab917cd2e10358049a02a0d488a798beaeffca5b327ecd9fd4fe9dca35af835b00ed4b47b269907f38ff78cff80f8da0402d151b1b9b1b2e5e17017c8f28219ecbe846063a358e4b040f1f8b72a2d31af4d2b6fbc264632923795a59737c364d6a18b04e474f24af559abe156ba692e1282ac7bb33fca07a70267ef4ecfc3198f2b4ef0f47f6f4f4552cc93a5049259a18d55d8ccf19873dcbf4732efa4ca791a1978b6057e26ab918d828e7e5785498f0f87ef95434adfe2340570092a03e73aa905e29df844b0b951cee43ac772f5271904ef9d7a99967b54ade5d8382ece8328c2ab438539e80b30e414fd9937e495a8c7090448dabe5bd73ce65123765964113994faea26e9ed5d3bbbd3dd6b22369f36e19a795d3668702439de14af2e417206c09ef3aa48fabfb655dc604883009d77dd53efef60aa3e348805ccc861b44cad68dff0f1ec5786e46624a8d31c0ec0d265ac633c0c2dbdc111ac08f785a9d72a05f610f82a7bbc5099373707093e1b014b090e65ee38a067750d8224cb1d7c3951dae1a6437a2e94e83ba76a2e502c6cee122386ca5d3d09e8a7695b5cfedba2227aff69e37ff7e7f2ea6ce6e9f0530a2a26a67f3d91cfaf1417ecca5fde3c4835e3e7746cedaa3c064d46009cc34f8d54428af3c8e476996aa1142f1628bf76495fc580d67fad80d992ce9d29c29b9d3ba3f4373c2ae7ac07e624ceb15c4ec396784e0c5cd45f6ca31fd49c4a635e364c440d8b07073b7c76c456e969e06b0a802e388125ed3d18d068268e81ee11c6642267403febdd006de8a1ded601a03fc22ffdc3e3b3f5c340fa3f82ddac43958070fd96345657e2c9778f17e806595eb19a16d1088af66be7d2009471e7cad6918a8fc0c151f06a1d7d7c7c79f29ed98440a7f5dc7dc4ec27702219a42038f43259664901c5805e173ad7872a05b38ffc9d95f7e463adbb888ec563544eb35bbc41ab4253c0f30f9b6338ac246f539598904dab513ce537490f561a538f4280589fb023de6295a0ee3f37dd7afc31fe8e920ad1c726eed19f0ac808e6c4d2b06eca25d130a0a63265f90f23da09cf7b76fc2cfa33d90386acb6960726f0eccd7d223a66c68e409c7c3ae64da2ac42edd3dee188052ed3f792e5fb1786d8f4329f1d028fb8db3c85c4f4a6ec97b1e79f08c7ffee58f949788c3964dcf9399c3d3be5c41985c906c645c005193adcf7d6f1e70f2fa233f2fbccf4b4a69da5ddd6855595730be3e35ca2b1149e070f613adce888a079f7756b908602ff8fde061f7e1ee017e9fc05d62963d6b8431f25c240f98bef738ea1a15e64cff2afd70738b032f9338becf477e9fb35812682cc762f4fcfc3c2ecb52beb5ab1ff11b7e37aed85b03858002cb5cf5f7ee3e11292429436aa3e4a06a23071481674891588fd66c2544a38a19f092b74be907ccfbb233bfcdcb8947f98caebede62f24ad833ec532fdfd05a17a7e795f46c71be5e66f11e8b778d48046582de60b705250d53ecb32069dd3e0508a07ad8fe938717df8d6b97d94505055eb2d65afd78b6bea929ef156b5d6af2ea5c59981e6bf60415ca684142591764536a0fcd50978a8020542128583bac3177f2fae7675ac8ed3cafb7c950605c32560704154536d5512e35ca606e65b7552ea16878a1c873b8c850d7e3e82838fb29c6cd97ff39ddaacffc3ba78af06c0e281f0e4e3755521d3f435ca9c27cb6d6d57c82c2a58a58003846a880fad0553e79ab24d9bd566db2dea89ffb1ec38fb849ccafb037589ac1ef9d2fa1bb8d33b91fcd4d685865d01f83fc61707192a5eace01140f1b818016b671666443c516a46520d278a60b5b6c79dfa58d5f14463f4f708642febf152a9026f4f3e67df856847b9210abdc42d7f93098900f53fb755798ff63c4f6db776b0ae49b38a360793fa6d10285e6d216d2d84dd70fe1b04d52a7217380441107430744b0a7da57ef89f3dccd4e49fd2afdac094eff882561fedf5dd9f9ea621c819509b0e8be2e07b39f724b7cc13f38a7a32d4223eba3368841cf19dab483f7dafc80fbd1630d41bf787aaddfde8a3bb13fd5715f179d5dc59a7edbd99d080045bc2191a4953b3398bbabf66abb6776fa01d36fcfdf68429efd51c50f5d0940379975c8f88f153aacd2ea9e6c8651b8306317d55d4290610d813d5f6e027c375c27a90584c130c92ed632e0720d6840c871840e3171971c6f8be0ca09bc95ecdd4d909009bcceda0268beb496cf4eb62426d7f43eff3d614bf22fbf1f129c7c8a2942b25306c4af36f8a4deb4a9ec17e2109d74d61587f27feaa2dd09e7d3fb5e042e40a0fa83e845728b1bedef7c5713d9b21aa46700653fd0c78c0faa798b98c1cff05a8acf2df7c26b2f9f38c17f1a32829f93730d5819933135e0145ac4ddd0636e0fd748691b6351030cc342c4844ccb2a6c1b291150ef2920d7dfbbb51078375123450ce0b3542b74c5e71acded0b2fc615661b611f6483f518aa5b160db43ec142463c953d859b8f51821ba3cf72d9cf35ec464adb4145c36403abb5c84811f55d38255a0412fdfa042884ddbd9d6340360aa5b7c91441c74f3363901b754eca39ca8a70e14c7c41f2787bffc2be2ba46f55ce33feea66e00e9e6eddbcab264ebd9f044714282d3ff701c819feb601a6e519822f5a3411b12ae4e7d5494f72bfb2745d72cefd7f10f6a7f40af8d1e461d38f7f87056471d9e0e26eb97d4a72aee0a722f66e2deba88cedc13ce048ec788a3a83f53c892cda9f5c40d7336f11e45335ec0e9fbaa804d82dbb5493937bb45a6060cdf8588775e7ca33ce8a0d48d309b5310039e476c5d0629cb63195cb24fa312f7e380682d76486b2f9a382763944c608cc353fb9db58a1626e6d97d68a09a8b95f88cd0c60ae492c150103899876cbf1a62e3e7dec2abc4d8e28f0490f8f19eaec1d4651981e7ad149a58928012fbf2951a50aec5e308b2ef85366d565eaf4b0a7923242f92c998516056744b5fc6d89519112484add933e028a80a6c423e225fdb60d0630e0e4c343932801ad7b9dada83ae0e65af60f1d62eb37efbe2c52e311b1ffc8f32ee3edd96feeda869421c6b0bc3e7488a1b1cfa8e25f8af7b08664e19c38ec90c9230421a7587a2cbd87d04cdca5e24ae9c0df0e85ba6c76d48306381813296aa1ea8fa1fb09fb4a5fb502e026f8503c3315e8f727328c0e3f18c6596088893c5f2826b108c7cd6b7f1fddee25041316f693ab7d7eba7a5c1f24c82b448f51cf526e2842ad3124dd5ad0aaadaefad484d36f8cb5d3801fdea9a19881b9ee4d5f9e0ab84b1956461b1fb8e5b8a033308243cf7270f4eead44297972f562081e019f585984578babc0e862d76491756b59f8220e214a19eae6b39d5ee7a4c22da9fb1abdcb1287712b6e58a1119b581dc37545e1bdf6b2f6868904f92c5c03574cbcc7b12c6df2976b7c301528f611fc593ed6bdd0da0ab73e10e75aac36c900fd0e496682050f09cdedae2b3e7bfc09dc848b819ea0bbf7fa02fd95acda173c8eef46f460c61fd2e97a1ceafeaa2c76f02874811750994a551edfe7ea4dfb00569ad0e97b752173f46837e396969d29a623d3abac9933e0846fb104b7e6cf13a319400e7f595d376c373438dddda7ef10624e5fba966a2566359c661018e777124d6002aceec45c6110dbf00b960878abae295d8366beb32de99df791c84de42fc1e22583a14de2fbb50178aec02e15da3c323a7314f828e67f311c6325004876154e4c8408600551a6a1bccfdc8231fb590a9e99c2b8f584540694721f978bcc3b5d1f37310ba2c2d5db6f0429c657f7fb1cfd59e4d6ee44ebbac2a751bd0c194bb993b7544f38cbd4f4a8e2ec861075c13f4638f3f53f22cdbe3e46a4e2f778a2664640f73fcba79cda1d1f20a9b397dcfbd049ee92fdcfd8c8d1bc07d74b9ade838361e9f71c6528be4164c5f35b972b2825e0eeda21ab726bc46783ca4ca7d57bb775d9b765ab1d21d8290b65298e8b930b9d60df8c1131ddb3436cf8d2e02e0aae3fac5f6fc6f1bd9adafb568bb41d16eb74a76fa0fa57262382e6dbf513dc21f60f21fce407b0d24d022cdff5ba735fe333087f6392d0b5ee58d9ad68f70204532f8af57da97bd81060111ef97a3af9ca5beb974adcde8edf88a8a80100b10bfc313f8094009b8c3fe7c5874e1c5bad20a676b272d1658afb7160cacd1f76267eca98a1669d267950fcedf813b52da9f678670a655ee4f05ff531ca273baa67440bc0f5ac4f829fc578e8572c20656981c624e2e7f1d221009663fdab522ca5c75058e4454a1a2f83f3a082bf06e0024a99d8cffd3a5d56db98c3acf4ee0995bf6434f7d0951e11fb91d4cc1b1440f9ac93a068fce14e9d4fa33ab4919f0f183311073d5b253f21e14326ae87ddcd184f86a4adcabebcd15cff8563fc0a5ede9015bf2a1c7e81b32c8191acddf9fcc4d1d21d91bfb710ae4c3674d9b63d4bf16c07d4cf5ee5861fc32791cdaa70913ab7d5319f188155b0940765b48a58af0381d145e6b21b72012abca57af0be0f9008c3d66535438f8b18b3e5a69c3c05e9ff6d9665ae9b24de8c755e14816ff1f98ef7b0d1a2d9d8eb3c781b83d3c9dd4111455fde55b08e206f8a19c59365099a80ec99024fabeee1447d2ed00ba16332acba9f50fd340ebc159ef83e3173c9a2d86d09f6ce4e209398bbf59f6c486d0d289a21d2beb247962289822433ff4b3d8709b90496a3c856848b78a7610d8d7cff8d107057fbdce6582a16f0e1ce083dec03e6fff348a983a2a73a54c2eee7b89c25c6e26c1803ba28b51214aa88212d236390b58e38449ec67db0f0a0ba1df3ae6305f34b262e61cb954c75c3fb2276802f3ffe58f15a0e42c6020e1bf9620b91f5b2c4c5296310320fbcb532b0f7a4ad02772dc7052658d93c3d90c4f645b9b92802725896ed00e2ae512a7db3d41d153323a46a1eca9bfe90b72e1d9debb1a5e080648f495f1357a6505f046101d82b7d711a56af21b7c096b00bf33f28a1311173444b9034c9bfdc0f23767b9cde31da0e2afe66e3f73db912be4253432fd01285f9958618837dacc03b5ab65b61d597401b79bdffb9c8873a1ed71031800ad52c7af4837ec8548a6246fd32c85c1443f7b84a03840403d687214a63d4891b6173f9c39018d5dfddef2c026080b8da9c55bf7bb06070457311a2f1ead5e63d23b964f608c019392395e96066a96a55fa517d5cd88993b7f2349fc109405eca7e9dcb0fea781fa447e6bd34328fb20d928c6b10b6861c214f99b9a39234b8033eebbd2cb22cd28135bf821e35fec37fee25116e5d5d301845d9c3924da8fd66c96dfa4afbfaf5057a45edbf30199d2b3fea083c0d72703d1fd16ffae3fc07ad284fccaf7d2ec9dc2058a1eda43864c3a68238f8985a3b8c45a58400d7357aebf60b502fbaac31e808baf39f879d0de1cf3c10da34863f9d60ba06ba2353524e8841c1d2ba33a8943fccc66846bda9d691183155887fd2beb8d41faf487c02061f149afe9cc4dda7ffc7ab666cdd397c8f1421dc17bcad8a354d17ccb87761e42c3b3b7c916568da0328d8b52e061e4166066469a79e6dfdbfb802b1270e3de08234b855af54aaf6eb06d9884f65c6010ac48b443cd7b8715db39342bf9d2d5db910a813369675cc4f3a5c95281c09b2f01b4093e5784eaf2a6ec046c7be889a772b35bbdc5008648e48048735e856027a6309d56da655c484acebaf686e8b0cf5cc68433d1e31b9c84c44ab8268ce9108c4427f99e6be3ff8b1bbed91095df96fc1b288b901bb6195f77ede3864a144459dc7ebf6840a6f6bf8f3a9a74d42bbbb15ddccfec29673ced1546fd5e45f49d19540031e3f6bd311a104e7a612bb81fa9811985a70a117d6eadc98025efc0d2b844a08002463fb476b2f759a1636e4b1656837b974c9e18ff846a25e168df7fa62ebb86df9fb4cf73e81870bf74c7193d719f7b93bf008d8cf3c056840a6e1bc59109216790e73ab029fa9833b6e1c5cd2b11ae58ab620af92ad44de5a35eb55c43a3bc8319930c222a90649b8a40d482eaa21fb2263016a990b233fb59a27c1cc898aabc6670e313ce997d6cf7411436d2d59b2ae7da84ae146fa60744a56f6812a96890642b03dd3dfaa609eca1a23662a70a0e333fd9d9fbf86d4f25a2559a88a02bb4a5158e93b72f9d56335b1c02e2ae520240135b86b66a222276fc82ab0a2b85ec16fffa915a1a25c99d230dca36a66861034cbac6ef58037a3c730716896152f2bcda8a1abb7dae7dde661a7833bf48d8b89ce70aad4d3b3eda18df76361a23bd8ad2c005f2b439b9f184276db50a4ea619713e2890c3b424bc9900b3adffbfacc74ebeafa8f5350206071e44537facc7e6ef124b4e555f63b6c3cacffa4547606388a6e0e3e9000fec3b6789ace7f4678cbde3112b388d8faff8599db90000000000000000000000000000000000000000000b161f22282c3336","message_root":"0x3d1d36716d656b7ff6263cf9d258cab2e7609537d318b94abd58f62360e1806b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x3f3b98ae8a8935a6a815865af445ac92be161c2fee826f31e95ac85bb43d66dbb14fd2eab3b703c08dd443793cbb0530d2d642b3b05d40e955ea0ba67c836e8fd754a66d3f7380ec2bfda14f4b43f373e058e75f1230d9fddaeaa31ecd7a58c81d5f18935af586cdd07f6f61da6cbaeed7987f2b98bd464f3b8ed40147bfb2edfe04043f558409f0e82d90db40286971bbf5f4bc0e5108078f8241141a9269d92d84597a73fc9f13555ede85b25869f7180e1749f36f66c6516495c54b4ef642bf783d8c9db5fa992dff8aaceb598a565e900686a8688aea5e66a212f920f3e848e6c45df9af6f9e5a9dca000e47ea85efe1aa419878be8be2440200c87087cac5b5183886f699573fd189f7b9d9fa9bcc5fe2e948f8f93ed0c77272c97961b76ae6f00a82ff9e4e9a2f2d367aacc02e10216bb13b833c27ac56a91411f340f027fcccb667931f350c14227306188fdb82c0bdae7b20cb03df69c7c43bdeeefad00368d53d4795ebff725abaff3dc8a6b31e4b64fbb46e25d626bbae5aa7f7d3dc3261751a41101d8b712b31ad5d23d8ffbba6afd27eb786c5731477b96cbf958230aff711d0b15b100cc32f0da540b2645f22ab4db8cb79563cc8e0f952d09df7c1b09dc8567f737880fb2f1ee5a26e40f40f74dc24a655c713c9d100d996e1fdd497ecfbf3866a055d87b91c2f8c2f611cba8d02d81f91160568734fd0311fc9d7228dd8fe0703e22e4abb6292782f8c004557b03e38afdb4cb5dbccbf70ec39a0452f5c8849d9dd7a87e0c865c67b6727e40e1d1b8087c1b61f7e70c09bff7bbf2c6e577fcf479db78d4cd2587779d70a44ded40d48e6ff4f9be5cf4ac7167b1042e5f4ebeedfa41cba4bc7bf6fb2c284650fab0ffec33c68f080fc2f5a83feca751a8712170ed3f73fb396cb1ef22a3e6a19b35f225050cd7b81eb7aa387d1f0f193496e3a17bb0f84ea37b8ff96a129efe73da9fd490803e2d3d255e6eaebe4fa46942f3232bc22670f20b6131f67ffa34f5fdeed3c363c29ba1631669bf00d897de59c101e4d3fdb06336e02e6e707aadfc64316fc2faa3d2b3884fc5c8e1f699f858dd85f3b6d2411da46fe0ccbd5e158fa418fd2869469cb145ca17bdfa258669c50f0c5c4613683204600ef91fafd7e452ab44ea2387e52cdb6744a41985ae3482b96a6cf97b9d24440f08b0d1f6506ce171736d3d1df9c74b528523ad417dde7abbc8a70936460561d70971867adddf32031c5ca6bd41142fd37d259cd3c73cc9e43b69cc23a7fbfe141099d7a3bca5d5ac24d5fb4660f28d0bfa7028e7d65969006e1229b67c0e6d35a66f74ffe96adf3c48b1f4e3b48635edb71a562449712ad2824a0a4f2e5ae3dd5f2911adf7ffa9612254be3c99d1681cee2a52b219eefbb21d5967adb6586312c7754b9517971535c81f1c6737e5e869165ff16fa366de56e112b13d75b1f4911c9907ddabee02bd900b9f8192f9145695cc0d20e77fd2a192b30693b2890b42fe94d54e822f7f18b247b7fc177ddf1ce7d4ae680258127bc285410f6b14f5b89f75b157d95b910b45551a8a58d3e45b728a3f4fbb817cb795080e7170ed251aba6a7faee40d78a5ba5125d69161f1deb8839c56fb856ba3e75344920e3aa99ebff7d646784b5cbc5913c2f7bc4dedb1ac9c6a1b5ead9fc219229650202a05c359dcf863350cde653fb713f47917b2ee92a68a500b26cbc92370f9d2683d1bcaf13359c9fc18fd1bf7366b95f500537dfda865888728de6a823b48e5dad9195ff5b3892da53d232488abfa6feef9af75b2267c391766cf82850f219c5e887ffccc7c1f21840b76953e3b7dbbd6e8650960e2cdaac3dd64206afc62ec243336835f866ace92e247db27a33bc0be558f5f7e94bcdf4a4447531044ef59ec21c90058f8e12043d13cb98327656c337a0bd119f3748dfe990b743f9c839656148c972802dc8edd511b0bd8451b03c260802a80c36e6c144f228dcccad9a3b933c55d9d8df211cdc61b465ef61f94686b3506775f0b3b1803ed9ec6f4098e1264c66873d5bc35382a1885619ecf49888fb0ca61ac25ef042f12e747b9f900dca22552ea6bc3c7be0376a16e5ff9585848eadd28e27b1d0aedcff498a453872775ba659197095a96ddb4321d671da65464fad03e2a060aab6c123fe15618d97503e896b36330f2cab146a4c776044d8ad7977d5c135d9c4c36403659b74fe5146d47dfbb280c932df5c5bb0f2ed474eb729ea01a71d6f7e0d6f76a255a908c034e71b9e31256c06fc12951cd34a871fa60433dc67a1a1ad7914c391c418ef5a337108cf972033c445a08d34337d0659caa2f2f10260652cd82c59ee1dd7778b9b0a515367473e2d8582c4c0a3e15921b88836bd9896270b6a8fe57d05fbc544434d453d36eae313102b6e05ab6398c09519c7ae18fd69b6c532adbebb3103b39bce78fe43d4c5ba9c013368d495ab59e4e79953287b7ecc2daae1b75a111d850c2bdd835e92861f8fd20109258f91de6025330d5f34aec5f5e2afbbf5369f49b11f9b5f896e91e1398a22e9eddcff8ffcd87c0dfbdc8d56df955a9f5b387e62cd74026848c7ef2e4ba00119c358f1d8c9c3a002233ea1a252496b8f12d4305ab485ecdcf5a5798bdc51dbf15c843b66b665a19f360127229789e3b5f935fe13f1227aa340c1f004614577cc93952540965815371c5e9a2285ae5152c014815b2cbc29d0c89a24d5814482de6e0da471e817f3bbdb1ca7cb618584ee09c900a3421959baf649283b2647e974adee016899a3e338062f27d62dfd0358fda6ef509480a5dd8b76ba6fc27e2ea63544913981a8c5777415ffd31c18cf36bceaed8be41ca1683a300f010639af2a9c6a73dc93fb0f346fde2976310c7d758d233ba74e60533b6bd10eac62062fb5d04c4f606dc50f7b832e4b63ce7fba9a8279822d476642786e7b58fab9a20f56cfd7784f691dc5c9355f9ec7eed89f13669d8c479eb6d9200b98143439c3b33e662a81d13dbf7a4acc7cc02325e88d742abd57b3ed15354ce28895b86350f4468169829a8eaf3938cdf56719461c77a17c215fa0f597bbfe332d2b5ad263570cb30fc024f30594a8c71ac37bdd0213993dc59fac5023b48a8dd0bbbd9df7cd43ab4b6055be525f600bdc220f0395767f63a3c3b04345e53c73d13222f57f654ecf2e9e3798055823fcb218609b52612d30596991d8bdec4f9d7a6785b6a3f4757c7076e85c910f1aa198007e8ffc3205a6fd41a2eeffa44eaafbf2f637f78006555292c09560f0d8f2043f0a694370f4e8d49ba7a8bb03790ded1807eeaf419f91ceba7efa52d373a715ec207ef0248c2b82dc83c9e6e4f500ec66de408bd75ea800d05f6e714553f3c20e88638add9a5997252efc81aa98eeca86d6dc7ce6f394a935ae030da42a5b4a8594698be501677be95940ff6b461b70fc91f00e537a230ad8e2bf75dc16487a35fa3e7a49a9ee6ae0ea7a5c2d438a1de8790dd4ab1935211793ae2b2b62e53229d67c099b90ca0a51428d7d78d51d3ec170f5e7e6995bf4e4d3cb6cfb1dc2c3b93f709f56ab1638a01e75ca1e1e76cd044bc7c2bbdf97cfcb8f4eb042f1bd09e812cdd57ea0343999ef218d19dbb028d3210dc8983e0a89ae3f2d862ae63d","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x15f52ff8465593658304ea3db58f4cb59d45144eff53f0c59eb7a841db17adb4","signature":"0x82ee9423d3ffdad91aa84364aec3a7854fab1ac6155afa6cad2d7b1134e2a21d879447c7e1c85ab6c33a41f0193487be6c81109de033785a2fbca3bea3553ff94632761e1f17038ae94dee9e8f0ba60bfa94058907e4a5cff9a2ff255191a84880a05a51fe3e951674f0f0e834267834a64ef7988328e3478950505b89b691e3a3232dfcd483ed2aa296630505b0d3dbec0a7c08ff1300e3d2401be695a3d4e2f05212a15b7891e4736b92762647eadb1c6178d9ad5ae61ed97a3a5df6b1645ebd8bfd38473a9cc16bd02e4818ef8d827f2a67dd6b78d90f97e4c773814d2bed59cd3f7e4584e15c5e5a593ff8ef4e7c0f61cdbf08bf947cad55ba087a58b246a03ca0c053822dff3b246d551458b52471607534af147ccdcf9a271b0d4f921c61d047659ab69359674b843c3ffa1592d425a4c67174ade8e2e9b3e40fc993c209eefccad7c5244d8c6bfd797ca5c791a1061b6ee4bd292a13241597498c153857b82ea4db3142e0ce73cdd4b8de9d96eb1011fa458f5d504e5aa77529c75621aecb71319f5144dbee87e2e80bb53d2ce1f7e571500e99be6660409238b7604d4bc852b5703bcab017177235913a33e34e90d76eecb6310d49732e1c9af9b407eed8a447b9511a5ea2cab8affbd113c2e503f764367da19c63a40b9b47f223873a41586b9332bf4c5af824e98a2dcb2c85f04a6b9ab6566b657efb64516400cc989936504755a741ecb8d834cc1617c42c0b219964de95d8ff8f0b301c235c99ebd0ea1084a0cdd09c6a4d9c069a91b377bb692573e3b7f62d3006bb3194d5c46b2a44c8a9c44f76eb95bae4d3e769999bc20c992d57f174efb561f55365ce91438a69a6019a4620a448136a82326752a6c3abe1799079026e1f270b354ba4ba017f50bee4c1e16662a62afc4401fde1781aa06bb2f321be51f5ae42946d3cb7c2a0e8b5a2a127cf6e90442447ad59254b287dd65e9eb9ad2de5f06e99cbec63ec6e369d8ca88dbba171ef80f2d282c9c8388e8dd46aa9dc7b46941a77531a37833c57eb77b094d9361c275c44baa55051a2f8544d03e528a3dc6dea27184023bfe6e3d49bee13cb83bb153c9cab3d25cab0aff505926d5472e517f02d56734aad133a4842ffd55d15a3f760ae9e20f68a865799b5bcaad2680f2a4bde1b6aa982c31224332c038cc6fde891a2a016909af986887dbd48ac3c908fbf7473f805b6d658c2b8ad189e65a7d5bf02f9c993769083c6cc7f5696d71eb681b453735edaccc77d2de2c9d60ca9a4f779b956611f7910bb77dbbb6a5ee5f23db94443ac74e696fad5e127722dff4fde5228934cff6af08dc85fae715587cb3ffb25ca64f9c1815757afbdfd435e15069cf87708165a00c501f75b772d0dbadbf25920e43a30adf3294532edf382afd094ca215268d52e9e3b6e30b48c2fc3a4da7e0ccc78dd054c0aaaa27d7e278a4f1fb61a3a490c515be76bb6d4aab155f7a41a2d73d6d40fd2a5c36c0ac118878af692bf5ba26fa87cd86cb327ea020c23db77aae3b7eddae2a60ca8f617e651fbb6cb21c849b2635599582eea42074ca1545c5c5f75282f8f311aec7276bb59e23082de0dc465ce3bca95e41d1ae8615175c9f5a90b28bd1542eadb036a8ae96ff42230699a3c249bab0b2d2e0a5e445d70e189c7b27a43f03a0dfcb4f6060cfff143383215a85f77cf389c2b98d308599667a150eda3cc7f52a4320754258c0e429b097a94ea1b29a3d573d4038b7ff44436442c0ac813a0097bfe94af0b932c455c58f32ed5cc7992b4ced6a1cc30fd1d7e084a15cc87412021d9a5c865a8cb1433cde34198f35e08d322e0a6e07956fbee1853adac60eccae31642f285eb96bf9e5131270b08ef269d5c433d9baf283fd9058db5e1c19062a408e496b939d9838fa45481fcdbd91bb8414f26084344b9df423997068526af3a7c365c79deef2b5388ef2853c58e8550f65dc689b3e00b25b39a2897f9bccbf2a4ba2c2596094a25b9ad7e86a40019f1ada8c649e16cb9d02bc05d771401da1ad8fce86bdbab8ad9a810113b306152c178a86931b64d29ddb82eb29ac8bf2c2a9158095423d86313d9904d2e4ac86c8542799b7d3b0c75401a42091ea01181f3568b136aa9f9c0592654423c7735fe879480bac4d5fb088c1635e3e1a415694950ab19ca60cf58ce41e2d6615bab90f13c69765a6939dbb62ef2b7cc107207c8cbfc1e36df085542e0b2b087b47193aad557ae4a416029999a377370889c48b33aafbfd8b54f0d4d35bd758ee1e42fa1b40986cf217b3dcd2922f05584d2d5ef2cced0472e0067e471f1e3b6faea668d6a2f2f2dd7d07db579c3bbf00d68360f78edd48099b1a1afbbdc482108e09d25ce20316dba8d51a96ef94b437b44463e3026ad001f29e65a9c3de372793defbccdb2bfc173a56a6e2e52acd5f344676961dce57e27d6e442604701328dfaf146f0e92b3e6e08b5192b99dd236745a81f275c197b38627eec0fb201cb9151abd9d2e65565aa332926506b39bc5a8216a885dc6096522b983f9e7c97e0d2f3d23b609b2498c8b1e844759df6a6431511eb75052506653030eb112cbaa784f89e774b41e61fdd5b2f8d2aa81e864297f294a53ec7ba5ae661bb4df96f77c7a3a7b1adbb79c68017e04cff985794535294bc5cfed58c9fe3f9ca48f814f6f95bc1f3d73a6add8a66aac6e12a618a18593f1fbc1eda9e6e8d7bc6337d4ee39ea85532c215c5560389e4cd75ef4de3522ebebc2d1693769024e0b8157282c5f793e76b69aa7f6c18cbd29b08deed91a3d2a0a8a7343597486f643075a0b6aaf2736baaadda54697515a25d10e45d7546a7d00a7cac8e4331148095472f93434924592bfd73ac4ae16b6376d09f9bb07115360805bc56547e96f99a431d665973d40c95f164c9b614cd289018b30ffc5b5e8b99008de84086640a29fab7b34fd5fe354d193ba80b5b9dcabc627c710d4f5c649ee9c148c3d38dcb3c80f71a3fa2b3616bee3038d02b8a075fae2d94a8b87ecd0c274564d5d4a90fa2aa3c135145efb9a2c60eb5e6aa48c72d948920a196eae8c6b723cd581d13fe46da5ebbcebddbcb65190e5bdd642626575a9b2febc8b61c752a3b7736755a57fd794030667c9d0637c82efa40b76c911d84ea2f6380aa3d9693cba9b810df66e17839dca5ff8f2c74518003a95727f515a5c715105b1af82d01a357822558985138c53b631b647ae78a536db7765ca7a5bb600b50e357e6d6ccaf3efb7c4c7817850af91ba4e0f75b1ce43bec33183d694bdb5e422ce63fa85191f4e535e21b4600f2b5726867c0fa376fb2a734d837d3d452c43353c166f5d115f7d81da48e8d449d6eda8c9b2a58cc1a580030a3558371e588112ab9c688c343b04b6a29e9c858281374f7613bc3b39d301b7584edacaf97b4c9c188d07f34200e4db28639978d2fb7fe780a8111eabddb1f3d5049dd3203b95afe3cf0699aed1a2e5998659917c578713e9b7ea80bb1c5290b67c3e244be1a52980cb0befb3c2b597f35a8bf891761a242fa3cacf3252b0360b4bbc2512b00672732d948f6b3e6838860a4d7555ea7edbc061f6e2687d784a58b765401bc5d61f88e00f7b49ed58bfd93d021715ee7739d7b9d9e5c0f61974f7e866a793c19e95a7451d0634c2a0a9d6aa056a0a4a0d89799e18c5e8319f99750731a703d6300f154f305370ea0bfb84aecd06ebbdc8e6b71798265191074435047f921abcfb0d3b8c2c650824089d8748f0ee5e98f922f7ad2d1bc60ddfc05204ae8308f88e55bebc797db5c91c8f8e1e675605aa8ec6293f161d7f121df1e25ff2eb416350ea84a69a3e617dbb993c74539d87c88b267ad8d9ab7df123dfe6b898e88ac9f1753dc90022c11cc494a7e7b28cd024bbb5d9b85d323529d3f751ed1cede2024d0a6b4152e03744e73ad599b41b5878ab5b7bbb69a9d645b35c4b0051e6cc42a510fc759002d8aa62da526830aa0702434dd8300e8e7fd372f29599f793d975bdf5234bbf92ab37fcec09db753e6aa828463d2a4014df6c0536c28a24a21730ab1b504f988af75e057b87006b28c5fd2637cfa0eb26158a3c42062085fd42983158a050535c8c203982d1d866f91184fcfc42109fca331e5d790b7c7dd88578954af7c4bdc5ccee12c87641dcfd46d0d4ec23e5e7df14e7474b90bfef561b59d1846c1e3d37f46fd6bead9875b21f002c5a0778e54f115aa86a9c8209a12398d3cf46d3980063db4577864b9033cc4c29a6150134ec8f65ace35c2b683c6b97652f47ec340dd708fe93cd351e95aa89fb52672657882ce5c5d94779b0b531baf104f1e4ba7762106e0b0e4a8ba4b34ee17f6dce4aea1b6c57039a5e10c072207ec70a023b1f000a192ddc13af373935e347d43e1ff48b03358703a32e08305acf3f6339680a090df9babbee86632af83963a3b623a84c0b00323328dd18bbaa194d21a6dc0ed5377df35599e87ba27d8fdb5ad27f65111b46178b303159d42216650ca3fab9e52e79d575ce528aef5b063b0b9005cdb5f44eef85f00dd87e04009afd9643ec5c33746ac6f26cce26aa33e057692af74d5c53c3a6240dff1d86c5f59f40ea9949ff96a383633cac871e09f45268325acc428eb40e2265f8474ca357e4154e051402fd7a5fa7432b23aed840316f6d35d30a8fd544f14388abe32219c15033f29b9614dc4108012cba3c610fe3710494857010735e77f19ba7b7137d52095b0440524e5504e53c048c6d3d843f62416c73584a9b1e1d8d9671752641a64a78b29efcba32518a751a5b534bc3f0fd1c022161ec81d33fdf7e24a2603295dc7b876701e455e653a34a722df8b4772c41bb7834eeec04d67e63aab26c742f159b45b74f118cc61e895ee8c20403216ebb0be45b902dc4b823df9248e7ae31345328f26db9b80953317c9f48c72b6b0ac42166091d5eb7c04b6b0d37917ce6fb4235bf18627f939fe7711a236f4d80b74df3b0be07d36ab8d3deb1f7a33b5cdc3bbe2c8cddf9103e9bb322b1797bf0df296ea33bf7b01c6ba790cb58f9690a5d1c8297e4aa251e9784cef404e1c2876da971beed0e53303efe4e1fb9568c2bd72dd303b11bcc6ae685d152869a902251417827d0fc557a7c241eeb5ae13e8f51bba0e55606a5c5b75cb377340fec0c99471f9f03199eb47325ff012f2c7066c213e787da639f5b53956dfbf2ff79768bc22c87c5d00ed6fc9b852b51b099f9d2e1564ea172fb1437b60d7b87483d816b7a0911639cedefd741febcd143b2ba611f8068a53177df96c4db5c519dc1cbd3f36d8cacd5146b7658118f0e073471dd4e13bc69cedea12fb3dbde3cd9a6c1216ebc955078b6cbcd21a94e26004ed7571a3d4f34069835f04747905764814a4caedbe1db693d956f49999dc1b649c4408fbba59c88992ac1e3a814e849f3d0afa0bd72002097bd936a7ba586d5fc1e53929e8f3c53f51b05b87b85436924045e6a6413d3dc19cda8dc4e8bf8b8c94ee9a33c3349676691bf11a96b7eeb68644ff2de7d4525f32eef3fe44e898ad389072fd3376b27a27c5346a539d6d833ddc5d7316e7e4b6366cb1c8aef3bf56d5a1097a99f772224731dc56856091bfd43f1316030795349299f32932b359f15d9932f5e94f3a0631322f09154f8cdf1b804d9c00807958b610d4893bea880b5fe41eee89b497a0f978b448f64ea9d079cbcab37194c9723a9eb44b32a30bbbd31adf89a2ed448dce490256688050d0a831b0c57246415d32c212adf86802f1afaa35848ccd74350e2eed19b83469a1edf46d1bbf20cdfe957173bc69cbcc4b2100396843177b0992c0f5a1389788d94a69e063e7ec0239d24b586f39f589055273d13f52765b32705db5f61d2d8ceb6f23f8dbf08b04cdb9a6d36c5ba55fb73b495c3ed6b6eeff0db784e49fd89be97779fb872a9247a9916c4f2b44d2025dd71db2d64a4e4e9b5b865fba1b3f3c8dd4df7631e7fa5167225736ce61a3d7b7cc6ad41bfba02b919cd8802d4239e1989dc2d5b758dedb25db30ed6cae32466a047070e0d6e9e3df061af196ac3e082637de786e0f625309e3be9039252306633f7ce2b307682eac92ed746bbe5c2825a45a7314b6c20e1b84461514765bd28f2971cf4860e7bfdb162586620d4078124d83ce9a1c472a5376453a86ee8f597f758427aaf275ba0501e9c385aa9e905fc8f13414e3a185ffcd5ec42e501f3d9699bce3990981ee1ed4f191e8a546efa67cb894f17e59442b4b8fd22327499600be3efd109faebb41cfbfd6f4e4e0cb3dee2362d294a72cf1d771f316f70f9b82bb64ca2f50a3c05e9354c0585aae7280fb66184bb127b98b5b8da652f6ae4167110f581b42c4732536d612176353615fe1e387da215f340cb931494f86b51f7f8e91e128323d61e88f9199c9153fabacb724438b9fda22264873939aab0218405bcc11358292ee00000000000000000000000000000000000000000000000000000000000000000000050a0e13181f2429","message_root":"0x5f0a4a89d9be9b83e2f8318eab84d63ad8aeefc56a55963124d13ebcfe204cb7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x004dd04052842e20bc0eaedfee1afe2e4ba36971bd31b6ded366bcc48ba7477b84cdac6409a377f2421634ef26a8b0ba8f630538ed2deb8aba0dd89965eb5c34861e63fa5c19bd247b63896e461ed83c03d8c313363916a65e852519e056cd5dbee22ba53cd2a4f134c75ae04870e4d7f18f5c911e3989e6f0949539cce258b9e3c7f37477e51872accc6e057d597ee3a0aa328196ce81d7b71d0b65f0287eaf20b72c004f5f05a5d29e5cf6ce0aef8e868805d4f412a41e68588c7beb5729c1efb6215853cec16c9b16b4b893c2545e4abbf355039f6f1cba3fa9ed6c85c7a2504f0034db1759e4dfa4c5469c3a91f5c28f6f1c27f0ba2af019818689991dd0646add65e03d6b143cb0a29a315dd63975b3235dfd0366b004a1bfd9eef745676c3abde20b115bf49bd0265cdb01f5df0dca8ce1d50c4c7d50649c1d267c6a637988dc91b3af6547be68ef90ddb788494f0b675dd62b5dd053b3636eeeba56504d07839d25c4254aa94d2ffa0db828013d63d52e2d6204cc2f7da480b5dbbfc7f6d57b7c7103d97e02a7e6533a9a0fb3946323a304e554996c2f80ad99cce18b29f36d81babad2c3e402e890655e6f08bc7be77adc56e574cbce4038a1db3d2928c75c915a7b90ba9cb13893bada94e3c315e865d4dcb5b8ed5de9101cee7d7f8a88438f4b7fd7bcab2dc43dcec36cb9eba3c3fd9981b22f24700d90e857a9a2ee4c30de8e2ff6998ece0af95d8519d1945defddfcad9863284cc2ced40f6873011875006d48eb623b79c36b569839941183433dafa8db799172291718ddd76efcf6e2925177a2b7855ad2b3b9ebb5d753465b29cad349f0855a1f98a8d3b8244f3c5278f10d87b0e17a6ca7b1f5c55ce63df518367fb5ce51a0c4518c1d4145e5c9a7c95aa4a36623bd46d9b72a929caba5c6a2b4452a45cfaba8f073786c3202d2990594b4531fcf9c9b11915a8465fd0a211f0baa4559e15b01f89d45853b7ad1e916d881fec3815dda3043b2d5817be6bce1d9f12ba1154756a4cd026a3fb621c8a73729d57af483ac8d4fe85f54c0428fdb22edee1c1cf5c67aacd91fc29d4aafdf0a144cccc692d8ca4725fe89965e1c0f3792dd08912d5d5f13f102f0d5b61307bcaf30f6493617e930c5efea0122e02d042666f502f525f0a140abcc55d8a2e1780c69890e5af84a026b43fca4fdf1df652317dac7406646981e329fc74f71c7e9d5b0b8c13900fec5f3aa9baf52310f2742c49a96b2472f4a83147b46c8675c6085e9c3290312d4916194809938702a689f67a482c665808116852b412712e457573391da9cbfaec93f179fb171b44bc427975068b32f0b3ae53aa4bc824a0ed6693599cb2bf5db329da00c75d861803adc5177358c7b796b8501f51e0d4da477060639284f39bdafbca194a027f39ff78899bbb236d0e8204dc4309be219335d3d6a49173aeb62533ec6a2f851312950c890510e494a491b2b5f0d2fe65cd50a2183abf8d6da01333a1cebab122d1d6c6843f6f1b4f63813c948258d6f4e30b5bd43adaefe63ce648dd9d3ef79b036e86561554c97ac0a6ae3e9a969de311694d989030f6cc78d8ea2fba5f511281ec8801487ce01b0929038eb1052c252e3c79d794b2e011f743759da66003f714af391ee42af6132e31a86a5ce4c0f6342ec1012420fd8eae9473e0d7599d5a901f9c3c8591f5c20d5f5a6021c7d8a455a4a150a53fb0b80479cbe45f2fdc183e3752451e68e29bddac97cea5579bde6acf8df8c7de38aff6bb38e555049c3e837236a01f68b72acc843ad296ea7fbe6fcc64ffbd7195e86ce70ec89a84a7643a2effc96e08bbe0e750efe3931a03fb52b8ed100b79171ade279f4dd5aac12f43604a241903156cfc02d1c68d86e3952073087758460822cdd8d0f61b5a42bde6f4ef3b41e2667dcfbbfff33258b7c970888ef54163378ee757c10fe538a334431d6023d2ac67397de5caaeaae7c5db75fd656184e7f9d27992a229e726d68eeb60cdcb969652fc99d502646fc0028ea2b32405b22029dda49eced04e73c473cf202acec677dc1cd5a78b6637cd53ede41d465ccaae07fabcd833c63f8ec835bef84f9ff4f97b3582868652e0c5fdf5692940ef363b09304f3d605dd3d9ac8fab16eee1edf6e42f734def426a5b6f4417cd34a15676918cc5385e0098b43ab9640b664c0f00403eb47ca1f9168ad6f6aa1335206f8509a5bddfc832b7620968624b4675b3f55121f37d94e1d36821d5917531fc66d439066aa3c41d51a7970e5e187b094d568b48f2cfda84883c1684701fe1de8452da1b0f7f4971a70671fa7561d0a93325aa940cb95bfd7bfed0b7c4cde99e7fe092186d86ee654e7f69e5459f39a0c82de6331177b04f23786e0dbeb318f0ae80edcc430e36916109cbfdbe9b509882ee1b7e2c6da5f8b8a64054b170e3c712ef1b6d8610c5f0b08f3128e60f224a8b8ed66f29a1fa732f63b913fe98ee1cf6d9e77e581f635aa82208fbde945cedb865a8c4917ca4c36fdfb8b95a414a26beb8209c3c61ffdc58e84baaef782076bed9b32db036a7594bc395cb53813ce5c121f9e26218c796fc944bd3a11c1f82ba21bf76c31a1229c009bcddc06ef04d4b0e539c5467bccb73a7d47f80d5c74832febe22b8d5bba880bb1d54d160ff130e46b7bc5edc7f7f84960fe3640a370301fcd5991dcab139a692a1da52cf72559b1abc7b3b6098191d82487c8d00ae0d46ff1d823331493e956c79924801561180a1d6b017eadd1c7d1882e8dec25e52a0ff8e9787ffa0f8126f82371f385f7e78239f40f054eb20c9b296a396f52d3b9c93c0fbe44dec51bc91fa854e079f69c3c0ef57c2d53d7bdca46a40686c05e89a627fd36bf95aa7614728c43d6f81f343465ea2e72e435f877890c385462603c848c73c7d19a54857e949c723c1c95c96ee2303428758032a3331d44c727aae97f1ae8524ffd9e29a85276b1c0050b7177441f220434748cfdd462ee405e0132de882101a2b6a8448de512f8b7e8caf9cfbb8896abc83cfe0de0bac54fcf4da5094f16543459fb2d71bd605cad3c5b3c7fbae6954e173da9b79fa06aabc6c82a843a9513631f455d13257a2040658de9a56fc87790fe0f8e5aa8936c29d8da4d615c3c82dec114e4bc30091b50f6598f1846dab2921a0ab2d9d446cfa2f00140708d66330b0832d4d687432bd466caa0863c4cc6ea0484542257587e36f1b0a1cb8f2116b2483899de49ccc35be821c8370ce3f5088daab4db7452d0f0b97ace4b02688abafd4d627cbdcb0286d0b3e6623d11fdd85dcad564171f9a2e1f780a9e167e0835b457c9b2d53239e9f1d376d64147f8264eca4115e6613717c69d6e6e55bb0e45632a9639a03ce678671543066656a5b438ce1909ba0b5ab682855de752e628120405df4bfa334357e08587ad3fc168beff1b0233dd9bff94b1c70d4bb51d45a8aa7f956967cd1ec50165d44d493d3759196d2ca582b4e54cf2e4bcae5ccd9764b51a35030912c85aaf59b275eb2888f1592423bb898c9a7689f8b887d4192bd5584ebfce3a4eb13b1d98fb4a29c0592423c414b1a896150f0489f7bc7616aa25c2a3c4db3b89f98b43d529e7a0998ad50376bc4c48f5e046c648aec6a897e69338a6f613","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x15c29eb63c7fd4d7ea8ea49be36fd02d6eb3d82e7ce118bd24809b969f927666","signature":"0xb4da9ed680fe1972cf365dad98beb153c7308950b34247d0b6e6fe047be8de06e4db6afe2f07f902bf32ae77b3735fc3f15d2589263721f88c5a7beca2a3807cf8e5ef6748c1390e82fe12a56f0c0a94e37697c0d7fc8ca17627eb310ca4d8c3764adfd38d4cfd6987d2893d2d824559380ca31faba58174160febafd750136a371b4cefdd1babdfb1a10afa0ddfab2ac150a9862e3caedfb0d915f6802fcf9a555c407ccfdf45d1e82f2323ac1fe7342527a70a114f5cacfaef5d825dd4c28a61ed7bce25282da547d0daacc5596cff628c94713bc872a6187ce4cad204527e4a607337b66a3a15a83a3b1df4c96af98cb7a5ad5a6fe9d241e35747b8365bfe20f7c9a74b44a93bed7308206a119d228b3c0792f47c1cfa2f915d975d736ff010dc2ec29cf5d6e627cc0dd2be3cff6d915a702a583ea79cbbca4623571a1045644094e74b880d412bd6ce9c63cd798742efbdfe69d627525a213ac6568ffcd4e226a36746dbf4d34dd8c70091885f41091acd264661ca0b75a9ea87d1ea3fa6200ac45386184c14048b3171ce143f1ba23963b245afb4fd1fb3110360336de79ba088655b55e0ddff55b081eb2e5c125ba611ee546cb38389eea780b22bee2aa665d40aebed8a498930d4f84ac578049db88f1eabcb40f6a3f5cb415cd905a5453a6ba87d002fc4bc487a8d28540c52f9294c64662c46b00e5aef552d9df9ffc38ec3496656338256cab8374d5a8cf2c0c7497f8a475f5d35fafe003526a81e4b15e9631bd66b8d6062575d1d68b196e503634a8c840f38cd801a146f71bba8f9b75ecd2705d8728e9beda2094592181e0dc1e446998a15e0186d9ef64fb75c17a6b517a77d15d30888ffbe0530a2964e8b9ba384681f45e3c131641660e6783f4308d0417eaabe13a19c8e753ad92a4bef613ef75fdd0371a33c44c15a0072e94ca397dcfbd899a25727d17e8a8761c250bb4b6c30fc70b964a585fd696ef9f9c29674269eae0b17cfbafab3a8cba6153158f3257425046ce2bae91c6b1f16846c187b019bfae73dd154529a48890360008cadccdad8148510086304a8bf424b45b4c5e00ae10391c62380d1311baf7ee041daa15033bd9984c7ade411c15c54bd1cdec9f771fe356251695bafc5801534811b844eb98af4a44e2ded627220de12b9413d85673e70ecae844b275aa3a271c90ad014521e591e94552c0ecadb31938169046479127579caca3a837bf5049301dde43bb2e70aee22096773d6989df5e93b214171db6f34f6975d1c4f95dff8f12c3624f935c906cac1976082be3852690cb9319919c358a91b84d000efa3767286c0d9079a7939c57a20131ab0122121709bb6703b62914a58f2f1596c461160e1c018bac2c48df3811e8896d752e8ec9631dfc571ffdf8cc996aa0086553b0c2406eacdeb99a5d600da55a0cf4eebca9f19183c063ab32e7282627976295963efda09dab723e493b507db59b56d41180e9c5219e55298b8d69ea6d57522b55702279790af89f4ce164e93a46e22ca42f145ee7df5a9fdced8433c6315cf1c50dace8e84aeef3f28d78c37ec77c8839b83530f68064331ab99e1f4f0f887cfbc856bb8dd8f4994ae9c3b8366e767082f1662744efe8d7625c3a525cedbb9272410b708399ae0196cf63682a1a231718deafe4efd9aa1b0ad71f413581e3445c9ea6212951f941f23b59e94d363b418e0de0179e6e6e9c18cb075fdc7002b8ef52810263a8f13f1b8816b47913da3c83dec1851f30c23b30507d0ce97b1eccbf5cee42e15ef249375f4c6d38689dbbf994355bfa2f2d6445e55f648fda29a30e8ddcda4932ca4a3d0bea066ca87e8905e7f46e1d043a80d805dd15ff3a0bc8d615215fcebb3983ed54a79a1141705fe4c8b19ff63f1b5429c4c9684faa3aaf20bd02cfeaa1e7a57092ab56a2fe309099e7e7742e5cb5ee33129e3ec3571e4e7f8d4a752c847c69b95b771d1c2e4c86a3191d4eb502961652e37d557d1d0b76d58087a724162f26e412f998174c2f5805f16a7873f15d3a7c2da65ca17b99012a44ce14c1a536af9f02d448ee5422c9d8b3071c326e2a79212cfbbc6e6e3fbd520b5fcc7ac12a908836e7dfdd722bd41b5d226008cd9f2b0203fc3496a258c7c8e03bf523dbdd11822e7e90a149105cd5dc2450cb039a4ca3834a80ac7cda7a2f551a45d454e4a1c7c7084d948a8322e38ac969a083d43af2460b25f7af854f6fb9a615578533d17da02ce6f62abdc7c46ce6711dcfa98457f37e93d29105177811082c8990c31549a3327f49515116401574bfd09b246a1e85066cf1a16b00ffa312792258e3d2b507bf913ea4b0a1187d5315a2672848775f0688c05bff1928d6d3a9b541c93d97ff46f632556a5c622d9dfd2128f6320136dc32ea817d49f849b52034eada2ba2681f8b36f0b4586e1b721a220753e5abd137f2d12d2c5dea4d46432cc07cca2ff6c289b88de8d295e969eeac6eb53cc2ec42f55540f6b175d365886de82460cfbc4a38e9a8a735460b6eab14d4b96634ade61a1f22e4b197d1c5b9ca1e85982f9d65ba50ee225fff7d64ea0b9c7090cc581c85091b4c1f9e78b883c4443226e5c5cb418a9bed881fa69688fcca6856b0cbbc9ef6d759ba786afc515d585cd9ebc404a5282806a2e238452a908db576269b478108368f40edf0eff84319157b68b70e19863fba88e2d2ac7f1556a71550a216e9ef37bc59c16bd2a138bfc171cad85b6d38e49d8ca543e602ed2cff75e70db3b80a322074c5c713d80da2a9807cd958580abe71011efa3734c44281002f06f927361794d8f7988c67cd12115859ad673293343088d2863b876c31169ae9ee61b774571618d3e2dd32d159ba01615421d79e31c5a4c06c5c76867833b9b934639c4d124de0737d1d2a544a04f72f4b44d0dac2c58bf93f4660540816ce669705f10bde228cb8cc8216357c777cb85e89372f705c35b7e7db5ce351873d98a30266dd390b0895bd279cd23fce9bebe69ab09e77f6638252455290ecc61c66776680f421b9adb5ed7ec7cdf1aab3f5325ffe8c9774cd9d9bee2c1c6904982313472984dd55e3918062bfd188b30fcbdb6d4b07eaea297b552d32395f7e5560e8b7737a06609f3d7fcc34b9425b863011c3cf08d76a50b753bf53aa05a9ebc48152904023bc8430ad8009aeab4c1653141db5910dffd3393cd20a2e736ed055888d32343539b2cc83c9993862c045818ab3ebb490772292477dcc3f2d9a210e03782dc3922385018e644737ae47af2c97af3062f745200ecec18b64bb95b2dde80195e5bb7bacda24d458b37bb1c2b3d9cda494d0932de002c62d0baf4be18e03f75ef526a190d683679a6797f75f36e3b5256cb1c58304cebec04e1404fcf234bb6fc4a1dcf54ccd96ab6599d3988d1a0bdbf32650cd03c5c19a750fe974183e0e769a4cbe14211dc22c749e04ecdeb17c5273809ea6a0cd719842443e2308e018fa55084d827d717e0dffd2d6cf730151b87c57f87960d8dfb4cfc719752b937c8bfbf300406de7e9001e050104647794baffdd0c7853b58f49a14a9844b11283580b123279ca3533c5587d0f2c7e93960f2d74b614c75b666da852f2b5d5886b8e76c73fa43c7566965292b05686d5c6062ef0b26f55904842cc344a7190f48720d7f9895ca47fa1ca607136fc288fbdd30503113309121e159e5ed1eabb0e0ddfd18294ac1c5d165fd3b2a6dd6608520a028d26dd40bd1d5d254e77a7ef48cbd277dddaa061269e257f9a21f0ec07db9c23688a50a976c987dfb5bc77c408b926ecc23704748c649c8fd86c40c2df5299418b63e91d2bbf155f287a4c1bcdcd0f52e34390b5db65c70b867c9ba7367dcf0d10b471458a3c38b71b8cf770d8e1784e85120e433f2287ab665759d1451de81d42bf66224405bf14e7bb26c1ed43d69dc67a21ea746dc200d3cec989b9170c87878066ac8e25c2a701b5dd437e57a596b70a97f6154f7ee0398c50320871c5ebfd2c91fac3b4e5ac5b94fe18f43c214e8e0dba3f8593c1897996678041cd8ad41b61da41efff5dce768f9102d2b6b91a606e4b134dd4bc2cbb389534e1e9ef440244b3d6b449f34fee04d0460c065922e8da46335f8b832a3c06bbca2666c959b30dddc199d6fb22a641cfaf609fe8efd579971b3671a8eca9ae1d7e2fb7f2e5b2c1640979d1b6dce6716822910d53ed84fedd213801f11232d6ce9d73c2254406c1b907782816b28736cb6487254f797a5bb5c70ec8d4e11c9dfe3eb26a7b96a53035cc5a6efb47985e52cacff1cca1cfaab1f68c7f68e91fc6128dfae6bb4cf575a7c51594c2a031048d1764fb17372ec98d9be29fc3904a2163c508c2fbbfd9b7fbc48e0edfd37267a149d5b625f2dadb94a2a73ab064889295d6e9d2292bee6d1d92c28822b809edce8083ee0f03198a3da4c784a636e65bf1a7b2684034f6a7982c3dc592af58c2bd4443f0b4940b459ba6853255ee8f7dba5bc287b1e0bc370ee9b8b79945d89dcdbc2102ceffb34a4f902cfa5016289a9f6c57e661bc952e36f627511404e85ea238e34a14341db393af7b74e035965cf7a656715deef897ea54f52ed865ac8ec0255cf908b27735278d7f747ba270a6aea80bf0355c7ee47480966754c28e2d6306ddca78b3ec9a34b928fee60a1b38ad6c5e01cad5b01b80c74df20ccd4705acc1494a38cc48c7d5edbaf0ff9a5b1e3d0cf65a358a1b18c6738c1d814b9d4d54c61dc17abc82c8561ba26807ca3911d3f89b8e21acdbb39f3be26f0a6086f3a903d1d49fffe6093cf428f9ef6f928870af822ab9c42119bc058da737c0487bba823456deb6168f9393c3a3f19ee78c4ff10306dc74ef37c2f1594e06149cd912cab778fd98ed27dd76de7e4cb1404ff48c393918371b596bce0fecef2ca44a0d58c9a41c40deca80697e79ee839a374e64c1385c9a0710f1aeb5853f5f53d80ade5c3fb6d7993494575044647165c1885adb26d284a1284009f0947a8a67c2f597c1c7e81649889e18915c42eb7810cb75f4387d8574b383ff8752391bd67ae7f0ccf31439731b21dfbb300e9bbed26c798791c7df400143d04a321ddde070b4f2d548fe6761097ce7e3367d2a5f200e7604a7ed6e6ab5761c76caf81da7f9e34d40e04729f81ef20cfa2d56455ac877742a7bf0719c2653c8b2bc1f137647ea99e25f6be4478b13283c61fc1380f3fcfa3700058b16485041cd30448a9953fffe1d0177addcd76d4c07f3741eec138e764709cafecc2435cc06e5afc5f6af5aa2ea2cc3ed0b51ec11a4115c7d8ff61a9c3a9b70646f2f48a7d9a132f971d0fe977b5dced0fd747f9e835a2cfe6d697939ea2cf6eacc82eeff51e7eefd034b4f98381728a60f385cf934cc8f05362022b2d7800bf2233e9d895ab46cd6ecaba3d9c9e560a3392e5daf9ebce66c1b302f0ea37bca8409cbd1727619c26709d48309a90b4c37a9b629db4d32abf6fc5f9bd08f3a9643642c1d6959460f32ce44e641631aeebc3a67da9b66e5a38199a82ac224b44a61473dc3aeca740eb18d8d359dbe3de17c7fb3c19c08da251e6bb35e28703e8693909c67aa2762825236479bb4ec22996a7556a6407c08ba206b773fce8d02cd79ec40afc6a271e0ea81a4d315dfb1b11f9b0f029df1a56eefd8d38335bbb3efda7613c2a778064103603c18177f67664a2427fb4dcead9b602238b8b9a39510380898f346f2fae69f68fdb855d9c660e8f868590695cb004e0c6abf7a839f07ccb12e9beba1b31009cf2d13cfff5c64cbd449a75765c20887809b54cccf6e4f06d9bddfe37907f2fcc8ae32ee638a2d6b4dd12592d077318037e0d572af9d78d64fd2b27959a0b56a17ed4c5972861c5bac30f81f717f90ec2a346441567e9faf4f35c7ba857f608c06719e717eb232642b32f5f6d8cef0fcc65deb1b5f869cf50d7ee1df75672f1e0c72af4f13777b2142817d0738b9b14b05e4987a59a69bd4124758fadfd7847cf2f4b6d7ee5ec8072e3509e1f529cca6d7b7d25e0e04bc7d9ebd6d2662993ecb0874a81fb33a6985de5bb2d996fddc07292e25c43a323b3a6d2a95ad5842adcab82abd05f9f5b24e68ba3772cb52c1397ca71258e7701a1d4673a2812daeb6b47163c04375a0a81b9b298e1859fbd21d0a7011acaca36ead465a1ece09456ecff8115f325e2f88aac193b3bfe8dbdbdc6a329eeb15feb9a61b6cd6418d7205ee3a22615b257d0fa772d775a11897a8264c3ce9ac90c8c29b53fc68e203d485d24a6642f14e6a113322c16a30767923dcaa09b19b63db0ace46b0c2b8fcb11e626410cc6fb4c4ab8848f19bfe4e4bf4225e8ac2cb32d5213864a2fa45c96f937b1cf6d436666393bc8a5301c4d92801388177b135eb954c1fbb1293953577ad9dde1e3135d6809222b2ca2c2caf501060f121437547e9798b3023a8da2a3d6ec2d4396adc2d5e70f161d519bc8c9e8fc0a6d6e6f7e92afb3b6000000000000000000000000090c141f262d363f","message_root":"0x6577a8844273a1b88b7bb358f09d49db4626b85430a8053ef16a9185a1bb700e","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x08cc8c1c36bdc3a96c5b1c94d1b78df7c18457a19bb9589b701306532b6bfa2405cb50613aa66cc7571b1f7dd35c21cb985c3c4d1a162dc6fd6cf5c299c594e4bebe4515135efb9a8c684329bd6ca12d0bbec09425c0e2a10b689257fd9cf19962edb8eb0e136eac6cb581db26184f5887b52ef266fe77bcb8bbf4275d99c4761f76654b8b0dfd9e7ab3fcbeecad3f8c3e3fb41c88b06b68bb8d3279b9c9041c6110747f1b83ae64825aeb4fc1e0e07c4a62f921418da47f2fe8460f9db7d0da87eb2dba77131d8ab3f21a086e097eb5cba7ea7591626b771b0ae78f0b8ab2e79fad7527588de7e29a543e0195c370b93c196fb1c5c779acdc2bd7df6a46d221081d8fa65a12fae963aa5cf549feb2442179c2608192388c2ca0d407a8e40d67bc7505b3ed32786ace775250dcf45e931e788849a55af914e949670a358419a1f6b9fe04398d36d6250f4dd2f59a7f62b185141569d30bbfe3e0d109a8d71b821822320f384581e9f6b093b6a26679923244a3c8288c290d17b7096c7de378d89d912d5c444e4e3d1fe003675bd6261ffed7484e97a5fb8ffc07b5d8d16850c07df6493e8c0091a9f1a24e03336ad3c2b07b50e6d9d6a3b8f7350950d1846488d8260817a9b4a992e44e639d7c779fc3834ab1fe8ddf4c0ad014622acd473e32df3a19dee4672e095def935d4ebc6528488b6b7de94e59f50646ed76b9908393eae2d295c3db585ec5773c8cd0442a2551d14773f49b698f71d14f29eb6174d50af670db2c3483dec9d6b2f400e91de2ebbe4f2f78d8465e0783d5d9fa7e7159a555ccfd199b71f916be67c41a11c6d8059937c6071e908635be8427f60076577c614004f8033a5d647a4625e0433ab5fa85517f152d023606ab3cf1012d6d32b894fcd585da309d6d34a0d5aacb210adeab9db5b62b21cee08513d40f1667cdcb8cd2e343a8a669fa7e22eeac6ca54ed24da2133736ad3df94ea77ccee50f48201190f4b87f5097ef0bc27dda8068cecc9fcdbd0899ebc29874d049db13812036aa7121afa2d5495ae6af5d386b1fe725a434e8d464a617772f0cad805773a909a0361c922c8166819d1ac58a61cb3c50d9d20c10db6b12cae935675e02d2df658e4f88b9461b2f03c965b6304c4e5c271484f12743d5c5244b4aa8a580bcdfe9a971d68c1026347d468eed2c77e4c3eb77d88614f56fb85211a7bcde13cab2ce8b964f1b683763832a273c05ddc3ac55d7cb7271b0e68e6e3a2cecf7e10d1480163edf5a046d18cae52ce224ddf4e458a70683b8cde8a2248c482c777cc65369de57e1a3c0652197c05ddca832616ca57de4b87fb840d7e098a8c557b4acdc6ddf9b76a172e7f95f8aaaf85c109ae56e7dc388aeadbf7cfb2f9ada6dbcd48b84efa87be2f8c915d7f1e0ca59147ef3e5fdf7736c9a6899b81db992a36d702a4117597bb0e22aea4da339bca1e5bafaabbf94c5da90b3fc30759c0bb764d70db5d55e63fb672ebe7c550f806a84dfc6f3b2d858d3cec4ec374c3249745e3fe7b08ad4420d0b51bde0120cb6a87ef6b79fbfdf5859a4753d07480d2c18ce8de722d35d2381e3d1722be8a18c6d2497e3b3fec2525d9daa0592d3743d80239a8cf31bf9aa66b32e6ac803432f627e83ef8380202145dd9acc7c04746b4048b5adc2ea2fa1901d6c0bcc8a5e03fd8f5900b6a9f2ef9fdc3baad08e8e1422f1ec9a912e443ae950c129bbbedb9810cfb0cfa059106bbe60ac7a903801a027261682f60b9f673366d3360f982b539b0f72f511e7af7dbdbb9a6bb5fdb29969d46c4ae53deb705453746017499ded7316541f0f55870fa77af091a4a76e5a230b8409ef1eeef62e9a315d5673c23139910ba13071a175009448b71e555ea3d133490cef9a9bc560f2fe47f81f13b09141cbe9654c9aad7b45268435fa4306ab3d9dd115e45e5ec7420550e2093ffd71619901f212b37330b0c76e7c95d948736f0f0b99db156d98c27b735e48f6ff10626e69d230f5dda80fba9cb7cfd20a4cf516e17b03bfe1a6d4ea99abb97303a9a1c07a3f5562cc8bb240e55769d62a3848181c0af58bc9c1e29979a7e2998f86783212bd67647ca7e520fcaa87ddf833a2f8f8de761861d16a71f639973530febb34f243b50a205da7ca2d8a2938aeaafc5bdd46835d03bdd04c749ccf8165818c98d3cff6e6a885158b5b916b4205626902d31095c2fe83d0404516d8e9b17f67df1194817cf6c0dcd82f41ae13d1edbf84dabe1eb4281f21ec2964ae6ce12d7ec78e060a1b8c866f4bcff50195ecfd0af5879cdf188b62ae811c85d96b7270b81040676d90352d3c2bee9c8cce98577874e7a6f15828cb71d6f914e88a3bb812e01bfe8bc1b4770ec978396aa72fed11def452e9c98c8bff3c4716c8f4e505e83ab08f56d04996fa185f665bac2e1f026c3bec5ecce63729a60a411db1ed55c5b99586aecba060fb79bb6cec9bf5ed9b86053a39db78ce6941f4087b837c17e0189bd7d9494bc8a7ffe11fe005cba9687e9a89348c896db4a5751e6ae8574c49185bb1e527d6ef616733ee8da0ceef7a6494a8fbb8c114cafc486dcc21b1633a1076f3f86790f2c4785e05906f9e2453e6aa9e2f045557fc5c1d2ffe98d31104083f071a82fa1b6d2c802d49e41a8206f24c4a47fb22175a11ace257cc38a13af921f293fd9cb43aa81ff08fc09a450e39185a24c2ada02f3420d14d23ec0f23c97b53362864603d852d56e5709080032bbf59bc4759a200755897989ebec19a6aa38ba660f4fedd95781a5f2d52cd366fb1df58c00c138bce4de86d411e1650fa337ecfd8d4deeac35b9343a06da1e1ff53309d6e77492d2a1f87bca33e0c9bb4226cb291e3ecd7a0028a3886d1ae562f4463ea5e688e7d25dd251709061de84eb0ae8778796027213cc41c606bc16223ae810a4986996d95676948063e90b133e7aa1300ef6f5c0392e34505ac2331c37fa99200e12fa3ed1127305ee0f506ff6309e88a8c5ceffe123865db8aef626cc3c7c95abe6d8f806d844cd229c356f68364b5a64334d5d0f1a83a4ce0c3cb61a34646f8ac44cac02a2cafc31ef74796d87756b543fdd7626ce679fd58f75cee8ae5e530e46007ee445734c1ee06aba7b190745d3e8d329d9da386078af4da534a01225b933971d79878e80ac6f6075f8f91c3b55048e7757183ebdd7cdccaa6d548ded8247d41c81b910ca6b375ce599a45e11d796f08eefe6acd765cc0c5192c2fae91367b147925267d78c905e616c63a5efae4506531ab1a00a6b26a2201286013441180dc742699ec1642c108afb5ffd9f89037b4434a91c44be10d41573f7423e47d2bc990047407714ac96f1806abdb0919b9b3d3e4cb3d495042c05de7aff85b5588bcc7efd659e6beb3fa5059009945e6b70ab2d68ea77c733b0024b2a4bc8c1e7efd1b2657a6060f2350ff4c1202912495cee36ff9c407d9d4ddbbe6aa46fbc010779fa1879a9a3d77e441cad84b7d4ca0b6130413099b3b4170e7303e7ac57c75927406d73516d9846fadcd946a3c946510efbe967965e6d37bde6274f74e989ba3e5d47e1b2a4a93a081792176c8b9b044fc79a6a1eadd042bd3c824b0b673e2c0ac24b87b44e39ecebe1c5f518033bbb646f6c06aab54dd78378e","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xe8849139a66ded55613f8ba29dad771d7b2de3842ed4cdf596ab5f78a72fb2e7","signature":"0x03735acc3dd607c78770ecd34a08abd84a74b7c74637a50e98fac69eac4a34f2cb82dafbff5f2ca6f396615375b6bf10a9bd7b216e171f4a530c77ca02acadf631c2a7e81142e05e9119a36bff1b2c0f1c55d11a26c139a639eb0fe8da679957212226184d067804a6e66857f01c90f9c309378aecc3f7529a3cb2d5da1626c8fe086cb8b3db41e20d70767cf6349f53359e00736cb5e092e1562dc40f951cceba5332d6d7ee305a1d4d53a3b2d1d4319263fc36e37a83b6a7826b824e362622cada51fc5148ebf335cc03fe08440da2dcb89e39934aea229aee13aef81f98003b0046b48d5412c7d9fec7ccf98abea92c09aa4c5974d9ea7347c4af19e545c508197b5486821e2b37557ea460854e1a307193e973d7d1c18b81d1f3ed49672d683c2627a058c61adc78bf646cf18b7360ab0fa2da29ef9a99973a50bc8751ba59065ebb44b47ed8fcc14e37097762817140f80d208571d5f509371d3893cddb2090010e48e30e6d9c3732f5bdce412f14d5e58185a88660d2ef47495804b2f177ea9d197d77e00288470b36cad26a01094fbbe24cf55d05d5a61ff4db3532202e74c2af694b4a79747c90fe2561e3771ebadef8f8d5b8eb866c72e2686d6045f9f1a8d082fdc27762708479c8da62ae692e99415522510f54172c033aac08310fed9f8cd7919d5e100ddf1d47168a2629daeefc31fba5300805c45887edce13e642e0eac6fb6fc9d17a0179ef168186bb6f8ac3dc71c3b1fb020f2e5cd2175e99fda3c9580554de25e0f0764b4eaea8bb84822f4d3f47e1c3431549732ada0c64759200b05a0eacdc780f5c3aaef9d0907226aaf00be4db941cc3e3d85807c94e0564786987732a63f89640e9e6ed8a9cdc6ce47e0a0608ff0a7ac0851264d18b4c3f71068ad49b0133a6178b4119932b38947c67f362995308ab4a7b089a2b9418c1802218f69eaa399fa977c1764ee11b851aa11bd7e52c4f4ed53e01477bac1594a4672947292f5574f2c4d1d620cf02ee7b10e791859fcced9aea2a637565f78fcf44f8843009e7c6bbcafa83d4f98cadb04750fe02d325fdc99be31ff6e304acaf4e7b22c11a87a183dcbb21413723c59106e436dd3a7e18ec6cc90b476011f530f87a058dc5c5665f2dd32a4ee85e101d8ee1952ad365f9d9e143eb83725b451e05e390c618e697f57c052df54292658db4924c6dd663a3a8bd9a18919c6bf32ff920a593335e27b9a087c8679fd6b54ebace69f726c058a417f7a0c11867c2622d3e2ace7a969b1e1476ad0ef1d2cb0b32fc7d8fdc50ad675281ad14e7b84c98b5575866dc86cc1fcf2b2b53f0f65133d6394d7d562210c7a036245727d17fb8984b618e5f5444eb0a28e300e8a7069777f9b22027c4f7a6bfcb52d6e70df15ac9427d41fb590ac5381fdf31021a96bfdf17b123d243238de221daa60c922ea74a2f6f783eccef62a0c7badccd709cd23886a1e94e1068d514bad44a3626584abe31c27743dc8e5e275e2cef0d9db3a0cdc33e951ba07660c924693254af53a0c62a728448ba1be509ecc1c04d9b05713bd21058a29e1bb5e7bd5d7a2938105ee246c134b7313ebdc25ed254ea95065e8a856422722cfa009e02c39325943ec3e3b3393d4878b245fde8fbd9a757c72a10fb08883326c473317640658ec451c23dc4996191f35735edb15cab0f68b12f1c18499a06d7f5dafa0a10ffa26b1d5e55cd8d3b5eaf31066889bc17b2e5d641120045013868bea6894b178091a4e2bf9258816a2924d9074cfa96ca3a4f1ef98e3b4aba6de6b656cdd2fa330de576193446ab6a8aef7d9ea775b7ce4a9ccb24882c6f9d6e9cc380c210f588ec9d29ab8c8ff22bde5f064ac5c49a5392c8a098077df11ec8035248992f594e2a1abf9ba6509a81fabb1ea7942bc75fa5116d566123a79ca167cdf4554a8b20e986e5e4eb166cfad65286840db4b767848ebd5347156380fe53262bd7b06a3a69216955ccf46b740a4b475fe899e7e60a7a175ada42b847f8d0ef7c26f8ce05f6573af1349616cad2c025dd2a1fb083c78b821ca2c2f4c67a19280c51815098d5914543e288df194967fa8d1aa5b4e9c42e361e46f5b5429025f89875338ce395a9cc7ff00613abbb4f44e6bae43f2573cdd7c2981374e991a3c0047e4c6f3df4829675a823ea5781193a298027b22c9fcebefcd341904e2ae9678fd4dbda4ecac0440e0862a5fb02cd5fb19262476a485ee20046dd2f0811168debdd80eb88acd1621818abc7276e7fc2c103ede5a4a71c82aeb305e614071b9ebf35135a2aca76f1e003f350c276d2e04a523c11825f5c5bb022982855469475fd50a002a73ddefae8b720e29b9f101c2ff2df6b667325d00de09e0a5761cb73f7d82eaeaee26941dfed4c55cb384828c466b5f3e981e5aa4c894599bf841eaafbf1bdfa495610d57762b0425534891fd084e6aa49003d615763ba468266041183b8d9ff047102a6fea260084c2532b663738428e4025975f9947daa90913d6250db5f976fc148227f5e8d1effbc79555d6ed29760f09f644a2aa9302616f9ca1d1999f2b9d7cf7115425f5a2323fa151a56135139daebdb20a69f7603d57e7b73916efdd13821e153aa0416f933d0910759c7ea8b1ee07cc9f0dcaa009575c9bd7aed891732944e8da71848cece2f975eb186365f34e0fc8cb52eb74f66988f2d04099d5f086b8b5f759c544751d68f34e87a38336da07ba260fe0ea78fde6b0c98fb60ad97e1a7749020f12a5e1b6901d94a0bc82e3c59760c3528b1bfdd9def6c3bd224907c9f3a10044e7e998cdce555d2204896af3ee78b337ee6a1c7cd8e8fec8c1871140bc7ea816dd8f40d1bdf460b6e61a166bb103ea68d9ed0f3dd5901855fc8fca6af11db3f0202f657743284583d414fb8810bd06274639a12f77cea2d2861f48f80a2676cad31b14309c8eccf1e060bac70722906fe072f3dff0ecbe05d7abd44eb4e7f55e0b552eb1e59e1462589437dfc57cefbdbf717dac0d96e69e6f03d1956319cd483523561044454f24f128124b4246b706a73b0b4a0ad2181726bb7b2f478986d98424f663ae53723cea6c1691afdee8142c2f101b29a80086da26c0d38a1621767594a577291147e42089c903b87265ff36eef5691fcd3e60186862ab12fe6c7c072dd18074bc68d5563368d5ad47e9f9b42b1348db074a84e81ef4a43a16d64088659937f7bfb0dd83565231e7d6bae8d744be2f23fd83520bc67a729630cf9b3c6759dea80167db2ebbf765e0526c9d51fdec4b98096a069050bd63215342eaf180e38082c7e737eea24a76fd1797d18d913e537d5ac11c45f26b468d67d67bc371cfe53ca342584280d0685c47dcfc50f5c57c4c407e840cad7d90f4990da3fc7b334f03637b825c9a35744d834ba503d6059db13231e08905640e28f207800900cbd959737ef9a0503b280820a309dec5e1b8b5d939dc6e15da19e0c5f24df38887aedbb39f3e16285352b3feb7657763e458a5a743850fa24de60a6fde6cdd18e85441333ae12e2790a7898f5ba485f52d2b84ea9f168ca274b923e05ad57dd77ae6d1e279d00cf281ebdbd511232faa5576777ca2988913d3706cbbf3e289a76195e5078c9361e1ef2bbbdff7023bbdef2a3d28b4dfa078970687c76067eb17343e48e0c08f137bfd7871eb9d6e60e3783fcad2aad678b28c54eb0efe770cf653f0246c3e34906023af882a6837b6406ddbaf7a8a9c3e7c218fa5e6dfbc0f0240eb7442c74bd4095e0681aed7b4d5970212ecc127c6bee16c28ffe4675f4f4c047d40cf0ca50c6e1143e5b80dc69f4cd4cb4e2af34408659ee535cf4e0f9a39fd65063752b29dba93c732fc0746f3120847655dc83834f276fd143dc6d65fee8ef573b07bc32b306cfce290e485db179fd9e369df856783cab9dd00e2dee82b5d6578246bacbd9b72da1a03016d7012b9fd2c8aad8f3666d5911c2dbcfec97ddaadcf79d4ca6caafac0948c921b675ee993931fa761677808e530f642309fb2cff12d26332f23d5de788185c3bfe8acd6f941fdd01efab4a6e2911fb3ace26243638a75ffff7bf96f0f99b7ac591a9dfecd4606571dc3ed0a38c4ae549c8de5e610c946477f5804e3c67909135221148c39cb7a1376c366808b8d2f56f83ee67a53edcecbde32ea714be10bffa220b5ed10def338232a913017da0b2128fd535098c53097d6654f76131197ebac27846b1198740980649cad47d1216abc11b297f9c46524edf2cf14800c33c75dcb03faac2db1a06701218c96392c2f9c18a3422effdd7c5edbdb6282643cc6c6a5cc98694436e5e5de737e00692597a9e7345369d81b4c6742599f03b60b0e3f622588808a3635dce99ed5b5f33508e2d6ed01b8e7bd669cfbf870d4b3d7ab80663c4dcc733c0bf45fb5b88c6a544dd8f6a26175550842ccdee45d4bb8f204d9f04d416de1abb04be93e439c309d9faded17a50d6b951615723790bb2e544482da73af131f7ecc18e526f8567b5f43badff21fc6fa646c06b8fa4fc77c96048a0217b81014901d5f92ef1828cd6de60ddb7a285354db5a6dd53c310c55098d74856bc77754ff78190237deaa1fb0da80d9fa0fcb3089f1945e2574c45ddca64ef3b4db418a9a875aa0973ab800fe269cdbe2d50c81f5f4077f594fd591a9003e1dba1e6a4b4dc89da3dc7e92c35262b41a3cc7dd850c37f63d91317ab715e2fc2c0f43e3c3d82544cd0e34d1d861b7b0bdc702aa3dd15d0228572b2deb4c0fa3b54384492754096533d2797cc98f1fa34ccf7b28dde054eb5d67eeb1be50fff68e7b2501d96586dde0e6b16f60c4932d3d36e780954526fe048b3a4dc2b1992a23f5c0e7d121e117ea79230aae78a4e85b46b2167f92435fa98875166849b8952b2928cbe649aae5d990e448260bb4e6c94704e86d4667ffade94f6706a9d4c9bbc7adf3d2978d23d789f6d52737c7cf9c73b6eabd77b3e2130dde0ab43495035b389fc864a83b87eb2e1bfe659ef036853fac76f80d3630887535aeb4cdca429bea1d0258735ad0ecd25446680a49fbaf6f5826a8681342e319138397b3a4f331ec94b96f93a107df450d82edbff502a26977988fc4225a2dda3c305f36faef8b1d9806e5ed5582b587040618cf7ecd7a8fa3e47993e1e86eeaf46bc74e8c97e352f82e94572ec723a53a685d17fc1caa12bb6eff18d739a0ad69c5eeffa2bc2a7f9c3ca8b2defb78d867b568cb9ba2ca1698f4dea9bec702c6e168825fd7555d32af8cc787387a85098c392a997abb53deac8915df25015385503f514da6d7ca617ed8b9c898c55f4446546ef6b741cd7c3da13ec584f8f341c083b48cd2e8f00d673db4a8441b2930f1788af1b9cbbba8d13c1c7fa0a36419f64555a2a539da3b5df04ccda263aa541dcd7f96902ac31dc8ee94b5668f702a54f33e03e6163705130a7972cdfa9618a70819142ae694b186e2bb70c21a77f2517ce22715d1ad5ed02ecdbcd26181ba3d072747ea94dfe64237916d46a0799e3f9c87a48557da964cdfb71764830ae0ea73177e965b00cc9a42446e752db2fdbe1bee8f640e3356c24e4ce6e3db355c84f1e17e52fc66449e697a4af2e8c91bba21a42f2919c1d6bd19de5ddbb3706cb83c05650b0b28fa52666b3209b54438c8b6e65db91fe16ba7cfa026e2905d60b1b5b800a6ba60a859eee1b0734738ee3c3e9a6dd61e5dde1cc2e36a426099b6ed21a2fe98161bd2033bf2a02773394b4841e045b41c455e68848c2b1e33bba5f5506cf1667df85ce87d2418feea05c68c574e58fe8630b8951a4b68c1251b77bea4715f6d45aecb18058926a0a6b1f55b1312516b28ceae1e4d9294ce79387ea9f702a7543d7e2e7874278e35d38f47ad3ba941c596d2f89c932e2ef853bc99a8e19df4ecaf66906e9577b93146cf87853c4b781d128e7f2991c385525bd75a9f0ed14e701c44cd689fa3fd5f9d6219f6418734fcc6e33051c0b101c86c0bf614c15bd611a4f5b6aea07992670d4cf4f1b5dd4fc63eca7859b5054d635c7ad2d67e07c6344e8b30dec3513a7cb0f678e5a378e75d923aabf5be2024399ada4ec1ba6b9b4b59d80dcd73a5e6d3a08181c9a6ec5dcac7a555f276490b19bd909f21b394ab146684fd0605ba4f6855a616da1b47a80b9ab6f5fe0324cadc9b97654a64d6f208595a2194c76204c52b0c2934e2e99128263de7b7bbdf717d900ff4bee52a4f86e71ea10563c90543ba15cec7b0fe85e3377d65065e10b845d35a90b707abd434423419aebc96f16e27fa95fb656df7967c7d163168e89dbd095d309421340e0e19b87136aebb5118a03ab49c4a50c1e93d0e0ebafef51fef908dda2bd56d7c5448e5d3d371d6f3b3d71b36d81dc736389d24a41f66a7f591b9910285d82b1badce347627886c1f6ff406e7696acbce0e7eff2093a74a2b1bee8021d273034828a8ed7fb61849fdeef17253c616a747a9fc5d474b4f600000000000000000000000000000000070e181f292e383b","message_root":"0x1e29d6701edda76e50b9a77290d5746f633da33df7e0318366f0ec502c94d73c","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x6839f0b4ce0dfb34ec26bfe4dddd5bf79d07f9aa0fced1bc6997463209d85a63cce74748c6249c8fe4c1266a17e16641287de94d77532cda0fac6f7f38fecac38a190be007149134b508e3354f07243edf0ac11ea1c48ffc9ae38ac5e22336a926ce4a20f9d085ff7590abf356726b28d6be66986577bff5d28d18bb4538a96da11f56458a12203a0af2eb05826e01b4eccb7016acbf0b8c6250c1abeec58027c61043753bc6d8bf94ef07b0bc568d140b29df2d608d948187a0fe4ab7dc10aac88ee658a32533794cde7f68c2d3aba778b09305151b72db64923a2937da04f703937b01afb9a522838f8ff8b3d6ec14d42962715f3cd9e0339a62554f6a84afb5ffb96a416b8ee0ce75e2c5d17da0f628f93712a1aab6a18600a269bba4a807c84e6671c7d21bc67866bea28a09d2497a6021f74b34f0c708090698d21caccc08745e0723917c4c638d980ea9848e77e62eca6a319a8c2e86291d03a06f097c2122ec07ba344dc145a4e78e655308b4535f94d83094450e80929e06354e4dffbeb0c0b2c972abc54c16f1f288842f50c20b249d9a61ffdd1c2e2412e6ecf968df516c2dc672ab83e9ba1180dfb89c28167ed833189fd2d28c6d4c3d89091c1d1806d08047ece10ee74eeee2fc92a7ca55c4ddd89dd1e146c094f0d29a8f3544f4739e24cb62395ef20a87206c7b3763047779d688b8eb1cd3f99c5aeb523fc934249bdb980edfd9e9ab4a207f6d4778b0fd90382da427663f238ea8db6238b4f9321ed07ab4f6a8b1262d29702e2a4c5e0cceb6ef547723fa502d6d55cf7f8484cfe8939dda23e29db651f550c9d90c95ff31a211773ccb2bd06ebcfe4289894ca0e46ac2aafe41538c069202fa0ff1725000157ea8fa396d14e16469e7a8c60ee38b947807320c8bd3e4e0e0dd54b2693e5773ed7785da6bd47c71676544b36a6d2c782fd04d3fed681a7330309f3d4fde63681b24d5b4d658688bb5d27ea0c8b9152973baec704360483ab949f4605a29cfaf292639ca1ef922cece8d072edcf666088288859eedd2654004384221d63e5d8b78b1a5aa6d26d0d37306c746642bd116eb73c6bc4cbd227b17766997ba6087034da323541a5b4df01d7aa97f8a1ba8db12fc9f97243f217bcf1f376519d0b1c1bb2d3556b2bb9159ef4a5a9e0adf0f5b109855d1dcea9b843b951a773c43dba23e2f57cbf8e7cd9badf7aeca9e18c1a2e640090589f0b3c96029d53ccc7b902fefd00dd9f46f6421624bd6fd7c205afa7d4bc3f3d40a77176b99e423bf67c43bd331a25b720dfa3002204c4b54a457d3eea6b050463ef3a804f0f7118a9811a8bc474c50263c76f10f4bd3387c42304f05103394480bd007a86ac581e5c73d84bc27792f932f8ab3c56282d5d5cf13eeebce06b1097dfc78fed081123184b42a238046529fe1ce446da50fe4782764b396305dda7379ad9582282a8e970c54882499ae82335f36e93d1ef913e1b70d78da7114fa7f54e650101ef6090be8f719a247e205c8afa5de6a48b6e27baf03ee328198d80441b97c44c6ab9b5aaaa8d74ee18600428862b337b8f70bf417cc18134fcb1c305cecfb2d8dec99e903545f4be42bf8804f763cf86fceb4599e20972a383c33076f2b932a183d46d359b88c69b2986f60ae5d1e55c3a40408841aa050a9a1ad21a7bac7d224311fe4512d717a576e1a2566e14790684b103ed1df5ad614c04a5affce3bef5b1e2e346283dee628d2287a28f4f718e651f83a86a02d3f76276e7f07297b27ddfee5044b30170dd2b3b36cefec5dbcbf2bcfec06109fc4eccc8be6ab6b54f2042a38f77bc021ba2d15634c0533ab7d3abcf275b402f7ffc3028ed8eac106183d50c8eb9251ac3c7a46f79bbfeab23ca8fa3583d326568875d030af8a97040a4ee4846592f03a9b689fab11ea49f5bb21281d67309198978447fd9a058fc917d6896c87454a6e0a90c3212e68c152f78934cd5084c299d07ed4d4795a82f53bd41e12ef1f6c27cb57a316899ce9c1707bac47514171dbc122bc0622a46040212fc3795e355e6afe70200980f5ecda4b557a28486f662c95c00d48ca3a3368eaef27783d82c1a9edbb9b1654f11145c0d099b17982aa5f9fd6ab9a1b21ba495418bcee40e7e1f977225994c1332f1bc01c13434fbcb18fb8261184401f27c2796d7852afefd1dd7fb7023b1663f2c75220c96b9adca2fa068403c221f7a3876d5fb08d332c538fe03f6064afe198d787c8d7f2c1b9b731d5211fc23d48a1f6a497a7d038c6dc7b38a3f993d9bcd0b09df6a0ee4c65b89506f29613939c7e8e5d22e551ef966a227dfe9129b129b9529b4337f9730e0e0a94dbcb23ab6da2a3924b6983f363f6e28a5ba5b10a6e960e329d0f636a6d70f10b225ff7392c6089acd6334ce92d77ba938b18e1f201ae6666d3718a4e7404ac57ef4576b2860f2c1384d1957229febe6b8598a9f43c89918d572f20cd1cadb9f5d52e866db80e7aa028a6b914538fab4bf06ec101c4d4911ac0b049050a331cc22b79a4d5a49e4daa2535ca2a5d1e316d0150bfe68c3c360361e43f105976bdc79b07fdcc3be17660c9a67bb36a0a230867a8a8481f271464c17a33b69eedd8b792f73f3f0f0a8a1a2a2203bba7d3b5c86472666fe1808c9f5e090cd4b1cdbc920b231fd4dff83936929b7b807b57e143e39a35151e5ef62f5c15ae9685c677b180075748ee0b2a474309b98711c1a56934e7ed1f6d74a98203364a4851c0ba94ae38c723234b42815cbaea90cf83b345354b55c8c3fd0bb4c5ec8bf6f9b136a1e450d8af58ef06b4aeaf66df80139518688bd2b55a98ef8faa23f94e9ae593152220ac3331bfb22b3d7ee21aee5e19f86244e4de513710cf7b1679e56aa3cf444c61a33c9976584604d4dba2667fad0fca9a61a678883a8b65e3b7b0a0ab094454c59e35464b9998ad55f40a95d9038e913981be7853160ce71a8fcaadb429f2886a4a09ed930da65a730f23572cee0ad2bd05a328469a7a56675613da64f55ad47bae62433296f873d61c8744a173e7cd09a6234c517c752d9f6fe01f832ec0124809e0d680e1c1a1cde4035b4509b25555d76d8d50133c82e9b46fd9d52966a125de73badc47eb1b77308c28011ec123a0174c7b22a67363ded673dd4987f56265a1873b5fe23c77a2f39f1763cef1954783125fc42e25634b6bcc0ca0610de573a61ec9eb19dcab9fd59f2965f7e83a69b30bc6175f3da68ba5a1d6286d223f5d558b0812979ceb70dc60426edb31825cdcdcbe7f7e1bab6ef6b8cd4303f718afadffa63a58f398758728240fc525aeea2508c9fceb5db8545d66c85497f0a11f8528a084604b7c1aecc58d458ba1920115d62d3a4b9f7f191caa1a6d87b5abcddc1976ab0d85a034644fcc129b9a4a51e5845f33546065d86db231af1e638f80d84622c32ea8a47cbbae8d7df767f16f6a8c74be957405ab1e1cab593145d1af9eea425cd5b67123447b7578c44d7beafb646dbaec29113dd3160a946158f6702586047b3732eeee709d83db1e402adcc690daded5372288ef97b6992237df9aa66a3d3e1c3a37b69db0ab70681ee8f6daeb184636e6167088edc45f5aec8293b6640ec76ea4ed9e315ec91f89081960c4dd50c70e54cc9fbc","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa44d52f956194167f4d75b91b16c419e0818916670aa793ddf08677e4a4f01e0","signature":"0x0417da5ef40a8afb1006c130ec6159967929e0fc972d4c138f95192020497ade0afaa62f3b65b68dc9e8407420aecc300ef7ee84f54adf13d32990314022da6dfca1beec926ee9c1318eea6249de922d7a41f54601df869b4dd8c0388253927ec4620f0dea0c75a36a4f541a297d65299f32af194398d0041cc286e7ece5c6026d6e58afaef43aedda4838f249e592cb8dedd678833a5cfd19c35c02088a49b05ee742decb66299d5d28dfdded2dd0a5a1548ebd27c9452912907a5769b5fdded2086c626b18a8cc958a974f1d41058877bb45d86c3609651f98e628ee0bfe30102e60ef76fd3377b6145f4763264ad80d7199f8994bcaaf6dea3a7501059ff874a5d243cc45d34ce3aefe9d664afcb51a6e73c61c8926304d56c3f843cdb479a7664eff48059a50d8aba816e50af8a2a221437f9e421405fed8d9913203191c68c3e3a3181391ec65187568ad23669734ace555db34ef2b47a8f4fe77b196992585a07021c0d1ba561e4145280ef20a069a9ced3805688c8c1573996bf3cbcab9ffc4daf93d45099c3dd2602fa7e12e8df081aa0c6e7131ce10345a504f86ae252572b0feed7cb040cdd3207d263a3e136ac806de2321ecc22a8c36ee00f3820e01d2a472e2bc9f037250560095c53fe9cd9742c85885fcc303919469801a7e85e963be071987a6117c12e027c04b44dfb9376cfc4c07743419b46d15710aec7f018a34508f0fb57ec7e14d217df770ed33ac54f67763c9f488fc31713b0b99b340a62a3efa048c736b07a998d3edc94709d661458070f665d1486bae4024f161a5ebe4576614d043c0effca3937ee06f1fc51cf0416eeec6f2eaac7ff673b743866a00d32e3adba3b997b9f6de2acbf6f093207a908dcae096420d237ab6e63ae6b515fbf8c9501e5e523d165ea3d20727b32b183c6ecb04260d978017f16ef2dd269f5b72e3f08afe450348693a772f5a8a6cfe5e5ff4f488fceb4ee9782c41a74c5bb468d5c6dd7f62adc07b1b1ee268d554b51d2fc0145ccd481678d513ca8a774ca42315eb49860e7c697cba6919fdeae6bebdd673b3e61c1fff3a7cbd74cd8d0eefafec11ac658c5945adcbaf93244ec59d37641f2851f72fd0fc993c8c9e62482f59ea3239f4e034e93511ac44ab3dcaf6e1679f6933a9c78b4408dccf975a5ba77553771072bc4f3dab58538822bd9e2ea5eb99cd6a80bbbdae7666a1714fe2110919881c6374fc48bdf0466626615fd55c8f91836294f14dcb9962fbc4a891e2d0a1265b842af646a48ea25563125ff135f41d801c0b154f30a3410755378f8433d6b5d84ec99c690eebca78934e7b1d9f1bca5eef13925728c227e33f07509c24a4c545b2d35fd840a2b69e3011c7254fa90e4061c1a05aa8fd7a3ce72e72b71c7babd4bdbf6bba38d52916058ad2ba5a80b7ee4bf8f65251b1583090b23182e8b2343ea39c5438ad52321c9c2460e703750c80a765a4ffe0277570f51c3217a132a86bd84819bb62082193bc08ce7e17c58aa55a8dbef3b6493948071510061f3b57c7142221cdca424c927635db298169b67ecd8ebc45694d389f0c6a729ad922347a815c4a883d7e9768b80f54c270fb7770bbe93586d987f42a8030e75dad05e04b1dbe37bb45083bfe1d5f2846b95cbd6686bb405807ce843e56b1b77cf9a1fd6594ca4a01bf600a8557680a8d035e557a3829047f4440270b8b8c55c455eeec4295c6ff64d6f97c6da9c163c3fc96be1c00705d8ee7bd510e27abfa1bafe6120a2f88e888f8062f3f7b39dc6d5a6f8ed2eb5c047272c02645f7d3dd6855175fe00369dd6cab5237860474e3c8107e3e8247bc20a7efe59b077e40540450d7d20c9bf9106ca9945115c74b0e07776cf72766735023902527e4d74d81e960175f41680f712c7f3d4f8ffc62d7fcf6c74f7966ed6f0dced15839426b54c6717e8b233e0448258217f45f5f1eb5a2a6f7772cee4235b52f8dea2f977ae1ead86e9e1936e4e59099bf25cf107ba4613ada138883d7a94d606ca5e9bf6cdc6eef9e9b345b0cd924d0a35129314dfb6221696f2fed21d37a4a1a172054a6b87a37024f6b6cec99dfffcb075a1d9f53932e0fb840887988d38630c1b7b2d953ca608f79ebbbed0f60ee5db80e2de31ba4fba6c2f5f7b809da20778a57510a4ac47f1f76a787901b32ecddbd7495f33a179cbbab9099868c42c7b67fefd4e4fee7c1a55d2f85a9dc210dd245e023e63e180bd8a46b5fb0d85afcddcc878219817de10db17819bdd2c85e542c2e1335095b646578ae1f45f16e6613b07681495d1b48c5db788be06fe32326893c956ad7bff00981273eb6818cc0b3529d9862ce623f639acab01388ebe0f250362a1c105297a747e1d7bba01f287725f77aa55b577d89cd8e486aff8195e284625476671a1b95cd579ebcdc7c9d99b746fd9cb4eb022f064afdbe6b1dc46a487b068f5214b5d863ab43a5edbb5742bfef92fcc1cb88414b992cd265799a7e247ce013da79d6aa4fee62553575277681cbed390326a64a8b3bb2b737ff55da6812252983464d36b2cd5e243904d3928ed57bba11ca3974c00b4b2ad348ac939d1520f192c5f6de05c4c6323c42a62fc6e19dc26db4dd2fe9e29ef171a7282ec200c9d08559e975ab57413d7e53a72f8fced1b6694669ef4433de830e228fbdf3eb266985ff1a6573d79977a309d4d8c55abdfc1938a8888202da8ab1c94904ddf8f542b95c5bc8736c0ac2770bae9216d9492ca0ef60d4061cf80b2b8417d40002ab1e4310ac7c38eecdb8bde63e213c8794ed0b5b9840a45ab7d8e7eebd608eb9d30667d1cd32275aed0b16ab04b99f5d48a7da2c8fe3b14999b08a37b241cd2edf377db75bb5cde99efd9a544ace791e3f45479ace1177cda2676091c0aa4d7b59ec01448acd6437d4764048999085d693ee07ee510af622284dca3aad98336f3a4d860746027cb1049390c5fbd990a4c1901f448be65dad1ddc1bc67dc75404299258805696191f96b4e021701238cdbba48f72e36ca77b3ffa2617d50534b751b9e7c8205693aa5dfa7b777fdf50b36a8de940a46336275752e6dad9e4baea34eb36d76d701f42620e46a5c309281ec2e522be5abe1b1810a0d8ab4870aaab9adde3e72d00f5bbfe70e4d7b1d54b97729b424fbb3bb96682b4a233131629d46a8cdf52d61485a0a1bd3668f8de107a5d5aa7312f777392ed7428d086ec4f7acbcf6db6607cf19bd4de3c64766a029cd216433214220b30e2e862e010286fd654f36945f82e99befdaff5312e7210b29d21c23e633944b34f67ac303e0894336a327a0bc3dd3ff1ee80756f693b35a84a3b023cb2574bcdacbd6298598838e710a7be13cfbc72b0abaa6e8bf4f36b838aac365cc299f6829b7536130f0cf89abcb9e54feecba4ca314a69c275186ae184fcb0c4f14c2b3c7f34f94ba31e303906872005cc659d52d1335dc0adaa89b503639db695599e6149474fb9c392e3595c91eb599a5e64c2cbdfb7fb9c4402d4d54d433345d3210af4e9e3ed08e124248a28e3403bea64cf3150acd0295576fc38df5061cfbab9fa4a868777e72c3f4e0b84c47bc2b56873b155f6ef847a3e484ebea27a7ec02c1f89d3212734d011488921c86c36bacb3d7a9b4575e36ec0b208ba66c892eb368677fea12bfbadccb35a3ff652c458b4a7673e0eee43e2e0d5e8e9566b43b68cab4a8f544f2f67152bf1fe8003977d235fe0009ca2c77c50cfc9df339e9eaac0dd854c499f17ed2aa385f2974d7c7e6dd3a2bbf000a7ca4c226bc51f3a907eeb0f9dd3f091fba07bb4e93fd1db445335aff9c5d405aba1a813d7d6338a532dfba28cc6ab7bcabf5c374ef8639695efa14d38cbd85acf88c0fc84698d6a20027390c77ada21c421b0a24a4069eebd499f15aa6c80b4dc885822e733fb1d914146f6e44699054041172654dcf2894827558d1f0e20430b3ad01ed8441157dc44a58ff648a39dd20a5511e9cf7aa65686e1a869403f8b22fb9ccbbe593a0a35d1a86012b0a1d8bb32aad26a28b4c258cd81b9dacfc5c3a0fa8cc409c84b60a629b0b0f29a124eda694bbd179b5471252555bf0aeca2c23bb40694e2fb59b422b62bac7caee00e8f1ee0d035ce28d1741d1aa3ab8617e8a7d9217073b8dcaca5b44a02eedfe3ab52ddaeae84489a5e456d8a0a6cc3556c6896aa5f12314c7bece55bf99f876855b8d132fe94553935ea8047c2c4c7dea3bfa6617530188aedb526f9e7f6d3bf702038ee132a989d3d469e5684502200a12fbd6fa5792ef010dca2536e0824ba382f43977f78f164d2e9e716a2cbd41deb82fe81ca937e2c9b36095bb26a4b7167591fe73d0036a3e442ec9865c9468033db7db66c42b32d68257d9f9861dbcfeea446aaf3bfe29614cbe7b65130a5f618e3834208299fcdacaeccef43a3fcc1062d043ae4d865149e75e124f49f8ce4d02af1bc3614fadacb27bcd531c531a27b6f2fcf583bcb5bda9cb35017b69c4d515f9b93cd328baf0bae9df154bb0985e27138ee2af637ece83e27d3db7a011473ffff1dcb8f48329465e2a643ec9b8b25d7c8bec630615728f7836baf65bd39f9db943bb5c4c5457a9ca6298f780573a5d7345f44f561f216adf48475e64f6c6c5d48b60072c83825946f06f0ae78605e25133ac2948e5d2caec5ac1995bcc03f8f963357b93d59b4fbeda400977a58df12a2dddaeb330ec5a9fb8518974f1f7efaa200aebb25ccf0344dc572ccb9ea9af9adcf297c41460c1e94761f8253aa86e44b3e59aa198a6a32aa2b3718190f8ce6d5a2fd598743410c7269158dc4ca289aa1b8d7b0d51b84557c43470d18ceb908252d7b55ca38f99e51a468aa4947f2d1739763332e4f2dc411bf7cf130e239b036b24ef51353e8db5426d84a65d26f497341deb9ae16379fa3f2854e0c9c90281c3c7ba0176fc2a184ee22f5b97c91a774fb682b6f2ea81a444f884c9f7e8da333080a3e0784be2238d203b57e57beda2f8922e1aa880731d0d8e0038dff3053e05c8639e5d579591dfa3f4d455bd8c87a9bc80de06da83b540bcdefbf557dab9839a2230ee18567cc1cf39dd67d22e3047a64371c94a661c37b0ba7851a3af0d5dddaa071548c3eca0881368f9d5274fe95df707641d2ac7d121920231ff3034be744dcff17e55ecdbd73eb7090df693362747858c2fbe7373226f6ebd346d295a2d0ead4a9d051d8d4a075604d9930d3a0e64a2d1d4662145da34f1a01791b3ab4d01c176acb47f947f6f23458418a2c58faa721b241d1d49757d07e006340dd2393ba7e6618e7b35b2db30c5e2e30149bd6303e0f36debd3ccd0bb29c57a3c07f60dbe75c463ba4ef78ee9ef8c38bf4cc9b810bc8019b33d33e079c3f8533a9d31babfe3581409da6c21760b66c286b3fb095e76c1ceaf9a7c7acb51f732f12410876d45b0a2e606d948f939511ac3bd15485b1c46c7c0ed00c08392d3a3c75dd2949985fa137e68446bb434b6d1dad33ffe4d8b2e4043a010680da26e35569d305c1db3ea9068f7cbc662aca1041106b6c24212a36e140a074cd134172ea146bc91c861f50b6f228c0544838ea7cf0f816b82f71f765b5226a973e363017d1e319a98089ea007aede5213c0673acd95ebbb5e12b2cf2e10e1a0df8c76887b134ade89a728185cb6d555996dd32fe56a512c94feadda973352c7d4c6c83457f2a3d51d5f14b879afc002689332a00ee5b251011537b1e8b43a624fd0b3a8227061cf78aa143860075a71a7e065a6b745de2a3f803cdd03817efccd6213abeee96d9cb9ef411f6129a76d1d87ee93462a6c5c099d152abdf5c1def700a7092de4e0db16b5b4f686c9dde31aca6206219958914b07ff58bf7aaaf6fa717082f5d7f4c7b508cf981ff07b30cc11e089ab8260a630d47982ed5a4ccea37d752809d2b7c6583aedc21141842ed261e7f1e7f4e0047921df8ce02e7042d61ddebb514b7724c639c0de8dd51c730298afebe9f9e1290582ac3c4e9bb399bdfa1a8e176452c9bd6a9201ab76bd16fe6e0f60e41960785a65c515b400f58c2d20c4de098ff5f7c19a7e3a055b44d203c282e9d48680a34b36e14e625f2e39a4a199c140385913b0bd7692a56f3f5dd7adff13feff12f9929061dadc2623a2ae48c0c03a3091e6d779326168bc38546a6ca55de86af9f2e5dabb087419bf09c846d8839311f6b438a26963bb97670a08d9038915a5f976a7e5e2fd5ed3eee0f2c4150a1011fd17ac9e8d4dd8c89e77138d397ac42407e1c62f7745c15ab71ab8e3b51ed4d8b7e2a7a8d25a62b97016a987d5ab312fc8cbcc6e8940f1c548f6f8116734c606772a682fdb15d552d00e7cd61bb830154d1105022008eff73efab5f0f97cc6583a37b121d3105a44a6eb7da7810aaca6b0a464c80db090e4569b05860628abdcaeafe054f6bc0cc0a1e585a959ae10408393a51677b8513154da7caf4f65b5de5fa0000000000000000000000000000000000000000000000000000050a12171e262d31","message_root":"0xad413113953ef31f7d2a30752f8a56868063092bc4f870d7b32c516f54ce5625","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd074313f70db545cd19ea053c31d752f60a19645875dd22381bdfe7178d304f1fca1884749de6c2b6d8cabe169ecef018159d9774c9c87b6446d76cb0ca90fbec0c38464228b05ccecd231d0b33380447dff63b91312ff995a06459b5ace8f7faf875fc848bc7ba583ae738cdee274972bdfc6be227129d9ef7aad4672101ac5cd403706eb43615ac07f0bf49f93effd6eeaa50af3c7617b58149e947731de1bb276c14d86d9492e35c42da9645132854123b88fa13added82aa01f3bc21597ff47c0b6507808fd49350119171904c7947aaac5e43d3a4464dcef8424934b450c28c9bc2a7827bb7d3c45451b6beb454310732ddc1548f99a78329c02a4487522f7627d2d85671de8f2a7cbcd397a160410c5c39ddb2769b05fa2e225fd82474aabedd8f27de018d977335398541df86cccf2ae8408f58751bb663779e2deff1701aefe7607d69247e786555fb74da027c4af9e5f950c63410d3326154503f78ec831db3d34422d6f9a5bea19036f9e34fcda271c104d6268f3c9ba6a0cf07c8b7382fd72fce1764680ffcaf1dc0db7b02b698fb67236babf67fa824ec56a1b6ba22d8403fe9c7a6fc2a5379f8c2ef3c17ac3de5079fd82b11b9dda32ebdf63c69b7eed5d24461c7f02bfcb982b8dd99accf072001f569c5f33de420a49bd714df7948ae3681318c5ba12baf68d18a7e31075769c6ee22752ed5d4e90b9f679edd727d073b92a2e482069e9cde7cd571741ce69be0688947ef9a3ff42eb2348e621c41cbe6b3401836ef52985ff953158d6adf99628d3e58a12b5ceec0225f97fbe6b3598fba57c53182bf483f09561ea1868fa9e2d93c0e5ed30c48be52b49fcec9dec2d0651d8aa088211ad04f1cf6b8c97e378140c0f273ee74767d0a1df2e0c95929aa1dd57fd1d05e3fffa6311b5ba605e18c548a077430a974baa619ecb8f27410efd533a3d751fbc07e33055ea01f55e8f540724b017fcc4a662b47a3c8e92fdb23fcbe0b32599243b5c0cb2035467ae38b3d1ae2cf1e3748a329cabb174f3287a65580d7ab83d517c1b091ab7c4e8a7f0bb54b2cf88006ac4950c93e299183b09d6e7fc3158a565001436dc3242d5670bcf56ae97de525392e0a15c7075d06ae170c163f21a38f5f0ef2b7fc5d3606771515078926e252398be611f415ffd7437e323afe37dd8b7fc29f9699228d1fa0ae83ea7522ba15f3041732d67224b05847b5b48d3d4c25b74e302d181819abbd16e5b89e3d0b1eb74d8eb8f7030d924525bdd0bae39ade1c41393f45f919de51bb5a6fefd318cc0f246cbdcf5aa3ca376e9684849063d0148614f54f4ab650bb722d8b5a2454f327e4889c934ca72140900d95d980e0095bca2404f881c7b1646b5fd06d4ab6ffe043458ce25a8affe914307236ec1438df343095ed96fc1df4bb0184c1fcbcb130b72b38275285bc118dbbd71a22050084ecdea9a3aee6b1f5db86a13d9b8ecbb634d050f097f1fc2d725ef5e32cc3bad04a0046fbc5b9e155f4fa572eb0b70eda4041bf2d2d8cf9556e220393b9401f0fd4a7c1b1b8322751ecb45c1d6cbfba4b06518e374875ec4c66ba192fdf5dda2e5b78fb49dc015f036936e602c4965aa155769a52482cc51d5b7c3a1a79f6aa5015d462fb1d0f15e71390b20ae6126c731018e0c7313db8c5da5d14a88a66cd453d02477e3fc99314b40268b417130bb4ca68af0ba1652c8d28445b2ffc4126804ac77bd1acb3cd3c83470c45c8dd106787db5a5f15fc96ad681abf07bc052b4a554ad0939f9c8a172d193513c7b86edf0a96da3802d08fc3f43364e21a0c48903d2213e48267b11afed691b9fc535b1d666fddee9a61e58890afded44668d2da4c32f9d07c3512ca1469d4decfb27b081ae31e93ecb5ea612ec358ea6ecf710138b2d7a6b5ad2e102bd8d1998ce9ad0669471dff1bb012e5761417e13d7d40abea91922b31ab9149a09e8124868aed5b6b602f95b07488ca84477d5f5ce9cfa2d4d6dcc50ba8b461889c41da7dac870fb796c1975d8ab9412b8d8a1bce31875fa5d03716c372f1597e61f7093a8bdf6a618fcb234095a8cb2fc279655721a789b299d284f5913e3778eb597079e7da2bb37e0d68c3adcafd1cc60002187c2e3a0667dc61ac02b5d90b0e18a8d21d85d36cd5ab906e49bf403537c1c3d0fd456a93a6d93b4b079851060c057a84af19b6858f64418509030b50a0bf7b3a38db644229ae0775d5011211c8f8c3083e0808bab077d5e5a84379714dd5560cbd846e54871aa92c4d3b6a1172c43b98d68768b1828275db1b03923bb8d0c2f8ce1523f60f19f8fe354a1efc0df369867d16d8c1d5961057e97fa3a262fa6852c417fb34d9b55dcddc13f12d3fa88ef85ecc9febb5717999c47232f568ab2554767838edb1403bbc981a3586addd11f70f7175ddfd46318948178f94468b64ea93ca205dd0291b5802524bf7cf946cf20f817d02fd24ff7a8c64b86ab899b6f5c3c6ba806f85081407fc2f73e77179b3d69eb427d5192a6053fe4362c553224f6c9d1f883e909c24240539ad59adf1896a3dbd137bbc1baf2920e0758ec650184596e9c2ef50e56136a51fd694c5341d591940364c664c9d740ed0700e39d239974323d467b855763aa62e934c1b604527066ea093819c448ca029d06197345b2408ddf7aa44983ef4841d59ef5524280fc20e8be2d2a0d4554b956eba1af381df1b40de1faf3867a7434fccb60ce018efdca2a83c22bdde195883bdcd72437a1fd2bdc99aee2a10c888cbac5ce86366f07a21aff181a20ad40194ef054de14fbe730a547661b3308fab2ebebc4fa87ec7a4166b1f6558a51fb10309c2e0c82007fcca877127a1863366f7a5c9a6111935f516f9459e63d19bc26e12cef1aea7fd29d242e31bdf9aa8253f1107c91febf22adb85d8613d77fab7e6753089bf1e965ec30ab7079e4cb531c6b5d3a9304df78bdb070fe07c3a4af17de23aaba9d7e5246d04cc97c40128a41c6cb470262558d003ebb66c17cb7ecea1686d08bd1a9319de94355eca7057f6f4a3f427b8d0b06b4b6ad8b2cbd90422362318eea152c5571be56d218468a354b576948dcd086241352f2f24046ba738e1ea5dc27f541f3c952f89cc6c0e3c1091545a55a9765ed3fd68b49e0544bd4d2248a1e408aa372568b6b7dd2e6095a2856b4d6925e882f8c88de8896d9081581cfc756473ef1af17573a3e9021152b390bf5e6b8c12f279da39945b89411edb305591ec840c559592b9071521c4b8c2e1e97745dfce26dd05283825dc521eb462d8bb9c9c6180a0d61240762533566ea2adf19490f4d762e901261f7340b8ecbc4f12cedfa9ce27dbfda7c84e2dfad3264f549f147b488dd8bdd46ca7668197f512c160c1b6e44cf353cdcdbd2b464a12adbcdd35ec050d96ee8d4230ac8b8e777ccdb26d0cc55aa72d7590c4e284139289d22ed56370f9e3670f0327de0319d79f505aa2d9e9acc82ffd645058a215dd7118c95f1579fedae26f664b316601a76f6b809d05f4beb13fd6d946f42a3805f28f1374015a361f3d7c819b076695acf83291d2e1112ca6ebc721178978570c5a1c7a904cdf28af2e1cd234125d469dffa288617ed7ba4cdf961411115536b551b5b725f38b90c672e2fd12","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x86f59f3287e6e678fd5c74843d925fa0f371926f95eff92c60515804d115af09","signature":"0x8378972fe4ce92d98d3b0609891be24af50f04d7069f3bdcce4e3af1027960de7ea86164657e8bc95a58cabf3ff434d4db4228063a4dfd294028a72c1596bd89d9d6b92e1f9abddc4665e899937f325691ae6368ae2b0e8827f130cd9b81fd2ab60863383859d39e38223053b48986aee87d5214aa90798def6d3ca58ee0b46d91f9b4f06b3531f6a3cb856bbb28d06f1628dc4d7cf649d2827b3cfd548bfa78ee5b3ea433f408c436cb2988895500ac9be241f3eff39a6394047f6a58010477fb998858bba334594b86eae8a502b976f5b19dfa8e2344f616d1ee9f9e28760ae1527fafc48ee8dae62367e5c56d13bd96d4b564780c621b910f2eb720d80c11aa6d740a6005810bea63f7f114202453bfaa8ead0e65961883e819888c41699f3e95011a6c0d29ccc8c997fa981a01f94fe6eae6746d2f110463be1efbc4ff27d50f46aca3a3e995b758f9ebcab3860475373d101f5f532b0de9cd1a1b2ec69066b5420eea1bdae19f3f0c053ccd024dc62f264af512dce657d7648d5a05108f5eb9cebcac1584c2532b666d6b2109bc4dac0078331cb1afc263eb2a71a0e16b3236e8f9e847fad35ed6471a3ef885e7edfcfea1d56c990846ce4a55e685e5d36c365a0aa236152b4a60ee8e01e070787a24b768680f33b0d06c16d94100291af4990d6e34befa9dc19fc6719909034526c4d50dea936274303b492b823d66df5cf750c082e37389913c2abd5b5b5beeb08315583c3479ccc3f2f6297d07ce2a5dc4b25e813f0eabb19a6462d7f655f5eff35f6f05c665c9d90f239196e5287031a996dd7ee1a8c4cab30cd58ce84ea4db56226281c7d8a03a151fdf9c6053dc0bf75ddbe995b011da3d37ec30bf28980b20b330067d87baf9262a03ab83a259a096696dfcede9d9febf675b0ae8060a2dc144f821afbbf6450e20740ca1f73dd9f051b86509abcdeba93271743e008fd7c70c127d6997ddd610da4dc38dfc310b9add90c0de7579d7e65825ffbaac224c9f421541a2006f5a1352babe642c8d2bd2e8c73e0995c0a2ace98964a2dc84d7166aff9559717383b7c608230f1ae8f221ed5b6b359ffd5bb47c03308a52b190a067e5f4d1654cac48281ab284ff401d54f47f409ac2b5f890bd40676d0eb0dd845158b831204a0e429be85db8210eadf028bbfe96db1825940c964fd014943dfd2639479df952c71cf96ccd62ea1be39142b35f37752e72eef82027417b045e99a576850b17565442ce47dd36056a09759fcb95c4635c9f25a375584b40116315cb7a9a78a1628e170eb9dd73373725e3520ca5e913beca98bbbe2adacbabb4101f5357b833f352b1841e138fe3dc7df366cb0b3ebdc8e3f803b6797ceab1c279b0797a4304d11e81e1d97e34391e2e704ee75c5a0a1f5af2c9e1be8c1e35d6dca46180721ec4b3958bcd151831df83d36ef9916838670121479df50a211da9222b3dce8b1fa6a01639ddb1d008264242630c3efacd65db928728143b51e0b7e7757c7726da34a1cbad51e4ec77007a926ab5912291e537f830af8e046d995240cd0efe2f415ac5b7925b58d4b0f19479b504d9ee1a8d2520838749804db93b9dc24228408e7c56a3a407ec788a15d12a27c6a2ed5764427cc3404343666d2f0472114af59d42f4585815df4d34360b19202d1fc5476d8b1e62979457d7df0256a1ef68607dd3e4d4e6649c17770940cff86624ccf6b97c141f72041f0acc5e847a4db41f56f30d173584153328bc85e115bd1e06c42e2faf6788a64fecfd7ce2a7ad97eb66db5be87def4f0ff6351f612095b423465e76568eaa76c0e54f78f8ea9f60d0fda17cc7144f6a98068fa9e0ec0bd7171cc32d1fac1a6e9bfa6bb8cf8b1fe8ddc771cffcb8f6b5823559d09c13736ffc011754562445a00454b9972a5a3055a0e106aaccb5fa1d6ad2b60b5fca0c325ead639ea2409621c3bf01339cbd4a8c108e15ef6c1cce8fe6cab4252727b3d5c79d839f9e3966f573b0dad8250de94750fc9b6ea8deabcab9f745ddd4991c65b83a8966db5d25491842cfd8d1472bdcdf4deb982216ae03e029af9f8ebaa36f2939814af7e8871b51dc6e8c3cc3d5bd77dbde2303e30066a1c2a998dd3343c0086266dab1e03ebf3402ac129e34fe37765e845f96acc8917be8014bf85a429177d1e84423e5975ff13e7146efa3b610af411acb43a2eb4e108f6385eb28b9c9731ce4b938b35e02731e611ea7e140afe4c78c6bdb5fd7ace147c253a9dfcebba4a32d10708ec4a48368825e42e94851b12b579981800023cbfc32dfc757201a242b333a2531124fd0b6a23444dc62bb0e021f49151dfe752c5490546fa9d5a99d05b2c18fdb06f376aad470fe9a0a55535440f0dbdcf8481c3e912dba9f9282117209a400e84789a41f7dcf977741a65e087707e2e4d45ae488f41a63214e0e3cd3fb201e10e0326463a398ca72ac7445f34673dc04755577221422d931acbd68a21b60c058e65a4944c3566f44ac9a8e0f375d6f8d0f4da00140aaa38d08ee11f979c2b5e6938f51b6cbe0b17f6f82797261bb30c6665a090072e380c03d66a26176d9506e916dbbed4b13af1a8934d757b087a698e00e4644010e1ebad513d20fbe71788204278821afe4305cbd15ee8cba9a090fb6dfe5fbb0f0b3c727b47c4ee86f71c383d4b90da1d733d6e078658b628fc6a091dd94c3f3e91fb6052159f6e9a26a996753a5feff7dcf64627ae985d9f3038e7d53405539cf5286f2f6b376f7eb1eeab1dbbc1c18c983b8d09d7e8e83252ca5e12f72f98f90b8aaed191e84c10cbee13a164492ccf24de977934e3d7141a42359e397f2c1b2a6a1cd738ec08c4be434903351ee0b3be8d2efc08752352376316411852654d0dc867a56bd29b2310988212f18c89632b955b04ca99c67b346f57bec9efe5165e15209bf29069bf7065b43b04c4b9cb000350bfacd02c41b9da32666a4afb5ca35db6c385552be341dbb316e640268ce1c19556096947a2892c1506d22d7a1c0f1e78cdf5ae68a82105037fb3bf551a90c5ed90736c92bf35786d922eb9df65e7c5c6f2ecb854c251bad35db35f0a526a9e9e10f2b68e9ee1f0fa8e004400839d3b54e5a725ba543cbc015e809611e6949d997e4c5b72f810c42d56571da3ffb1b0a4f91d7a63537b1ce8d46094cd0204a8a7b60d9056e854f45d52eedff148ea70891092c85b912d8176b2502ac675888e196f642c56f8807dbd6c55274f6f2b935595f8d708aa643b046269b4ea8364aa243563405df953d83c32cd6462a18c007062c37620c2e97c1167141c6939d09d16ea98c40f27a71b0f2569f1e2fa9fefb310bd3bd40008e7de103b5c67c72cba6bc8d2d195cb5e8ddad78f49abe56e37de9ca00185862506365c39575dad8a53a1c70829cc003a6b3e81e2be35e11774f0d55f5d85b7dbb349e42029351a56a868093e97483e97dad23e6b13c57ae56166daad704dd645ece81d9098e7e3498347993f13612f25662ebf85ff4d52b6fa53598f7b4c56cc527bd858e58e9f588028fada44d9d67273f0f37b250de4c27910f7807500be10ff31721856b4f1802628b807354f38614a7f2a44fd810859c3b39df8b6232b0518da63c59789bc51c511c20404c651400da0044c68313331b2ba1e9db0f8935ec066011536e8f214248dcb5fbb18ad6511f641e815ef0c3beac01cf5ae111c331fbdaacfd27ebd19248c56d60125c07d2d5439be19af3e350c69a318d434230ec324b8c19e26fa11e1fb560374fd3e63820b98e8afccfd98d29d200c40c0890dba8f857b194ab0b76537356dc217cc368b61ed77a66f73d8aa6df35955e44b1c566812c973e00da9366fe206fb3e07862ab0ef4b12ec5e519248d2eaecf0aee2c407f70189fd15a0c0b235a08f9b24444bf2404921b40fc56109b07b984c733d36a5b01607080ff7e307bdb9045f7a0d8ba240ec56abf7f663306ab6fc63cba54a4d67968b2727fcec759bbc2dc043f402ff1f7bcaf2f982b9a86aa6659f98c5bfbd3127f78f5fe9c82f0b2b42b496ac44f90f19494155613a4b8a2ce3b657d2a532bed214fe676faa4b5ff17f4c0f78620d37e917014b5c80178d1257d8f5ca54dbea368addb4bf1e76af6d3c2535bea23b07d919d2984df24b7e8011b878b8a25da715270c4a9bf3854e2ae30af95d3de74e25e6601195bab13e56071d3d6b478d0e7c9790feb451cd9dd7baca1446a16d54b6f52b8c214522ee6d74558241c4b735d39ed77905fd70cf642112573faaca8a6e9dcce824325bd10c1949a81c423eefe5360811cb486d6e280161d6e2db309cc311710f46bafd24488ec29b496e3ce47471f7b95180d7414d4c869c893d9e13330c9aec39fe84e29478247da697980efab8c27bee7c0af534832146b056d5b4e33be5039cf80960b6b563fc152e9f213c8325ae63acb8e0a5b9395a0d5c56822896f27ab7f3c287711abb09c3038c8d6a2fbad039b2684cab0fc8f853021b4615698f86507ee53f68ac37685a0876144d88c7058ba4be9d7fc770f688ee3a6dd93cbed366aa21893f24d2381c4830a76abdc22d04f67e43197bdcf2e8ccbf555d8149d467e91bd87b5d282e8aa837a784cda4fa95b5e21487611b39f2d7e6f78225a46c9474c48515a978f3545b98b4b2d9b3eb3d0fd28ee52e7ae01322ef3407237f445516b36119ea82c7c0e2559e880229e2c0f520557d2a2059348e9702be92f38b450a93ca55586f65387a6141326b5428ef19bd7387b9868307808832fa67d6ec8dcae373ba86104eb845987735c03c7352f00dd06d7f0e70243e157b37a46db7fa098e6983918cb92e09617bc1877dc37c39fcfe04f2040f5664bda4dcfcf72063f79b26098f6f253f257d9e886ac6b84ee9c13d83eefd61084d709515126e5ff42672a4f73354bca30f64fac98f522eb3d4ab58838cf5829136640a508bab7d2c2b465f21bb3bfffa1f0ee20f0fd6e3cb2d2dccf7bc95bd55de2d1623fa55c77a37b01f114f834e2815715f52ab0c5c25205913c6be48521561d9a950e3df6da5e5d3b81bea977213c017f907987780e38b96df74a6b624c1cbdece0696d00eb8cb3b1508af90c02f3853ed9e33d60bf27a3a9f39eb60cbe6fa2c9a0831d54953e32cbce9bca4b856108135cbb102a19e0d69f7c52dc05bff199961be207140017404c9d73e2d5c03986b680b5926adc860cb865a9f138a1e6328f09f29f7b0a321a6283841494ecb3e1294253c470e6b2c1ef2d1559a7e2897b325520f8b4a0fe30115694eedf2f06546aa7269c7f461b5856c20216d8b45d8ffa285869002f17a48beec6df361f8e23992485d8a38664bf0b409d9e791e0497ce22ccac0e96eadee0eade1e875486b0558511aed6c4db11d0bf764b73aa9b93513f2769a093112bff22a3fa4ebc07c07d3d9b5ecaddbbce1a261158089226bcd66bc940347a0798410884872a3062266b3991adac24c1344e88c42763f159bbf219d2b57d8ede71314e2dc39848b97953ef30edd1a6ac6b06cb072fc62cbf7758bcf0ecdb54a52417b0e4196c814398943a7a0b094b10a337a9994cb7e3f6cd0f878cc5b2afd1f6f60ba67229254450659b548c05ba324c4590efb8d7e28aa16f55ed6a7524cbe815a58ebd9b3a64d9497e7648f6d3f429de7fda599dc5d87ad2f14f156889d2fa4a034c74ac54577f06aab7a1111f1a8df3164112b3f8f40763755f233f8e6fada57079a6eeba807580c1d3c1ccf33ec357c6e81b8b9bef233e162e7d526696b8641bca8361982fe885d59e142b0bc56c2e98d5f5bbe927df5341c8fe786b8aba884d17e169728db2010b285949c72ce0556fca6e2607484381810351340a7a995fb8725246b1c6006b6eacaf337f60be2ab7778c42b70d678c80a9a180e1d683f262619e09dfcd567c67386ebe4ef38938c43882995446ced9e8b735f867883ab102c7ffccd703cd2a5b2539d22ed4d9aa9057291e3d99332346e757cc5903afcfcff7233e67761eafc30b4ba4faf82a10a00adf132ae167177e08b0a902368b425acc25c5a4273da6f751e823037b52638395769976bd111b6b71c34a405e0e6402a4170900ee9834c2bd810800d1d73fd2abdea393636bf5a902914b27ce49963b4abd359fb1c07d84cac7f365bf6b80670d062a58880dbd82ba5883f3a1c39f8290dfd6193f0ad14d82d22d72bb7e43197f24c43b8d18a0d8c84ceaeb06340c666a21b180945a6895d887ccbba7f3057794e85e62ae7c5f57f3767e08664f41ee37ac41a7c0390b38aa1373efc9f25f4e82931747aee1a2178fd0809f8e8122da5abb94fca93910ebacf504c29d6638cc7ccb60b154353b40693e223301159f87f4f31dc23ea755c9e9b0748fcdd36358e7cd1d7bd827c9d56797a9040815252d98d6dbed0645737e84e10a1a28344f7383869ba3adbfc6c7e2f00ac1f3031b858bb0c6e7040a21242960d4232a39588ebde7587ebede00000000000000000000000000000000090f1f222930373b","message_root":"0xfec180b7a8d25956b1df55e44d7efa3364be7d835d7fc64384b7131df8c188ac","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xea3c076555acab3c5992be1f6fa2befe3ad3a146182bc3cbfa24e4b169f32e0c85d05fdd2fd73d9e6a536465ef26d616295cb0d62d05a9a8086127fb7e09f7c8e84f963a77a54a7cd702340b3d0ef8e14ce0b928e7a18e7d216862cb2a4a44a9a89386cc76679e3b37d21f4bf09dd2ac092c0f9b42b138afef08fb800294dd3634fe6cf256dd77e6f9e1d825c574d6cb6d5fa4217e7cb44b4afa71b69ae9e538e5d9cf733556b6d01dc36567f687df02dee52b298efdad025a79d96cfc5d3e5cea0ccd750b6a361c651d115b45bb23738e815e430650520e3419d095d0031c9eef4afad430166fc7448581009b15d2d8a164bc2c9ce8a4b374d373382dbb82d386d313c7b083164b9f69148b20bddc6f678e2086df03f8997ada6ff33ad085b4a0c866781d7476381aed0c206c9741ae93ef569a036fad00a48dd0b73225bbeade4cbd751ddab162fc70775785a08817d057c77377695e63ff3c45d1187ea09ed86f9cf99dc5fb6fec3d7aefe29cfe490ed0438621f9bd723b357f8626ff191e21be3350c1d9e64a9be5135c3c820a139a3880b43329927fb926661b3840ade546b34eb8e00d219c90ba0fc8c4fe0edc76e4b1c1f6b6ed39f3928a7e572b180239567a34746e52a550d99501f8c930a0389edfeaf6a6ee779c38abbe9dba8015bead8a6ef2a6355265a6b2c47213a33a6d22664772c3bfd2978a5288024c38186f0099f9a5da65d4f4bb90681fafd2f7bafbf8862f33535d7ca4704251d4b8505e6ac5d2487295cbbbb58f800b59512c654372bfd4e2d03f64ceb6e51483dcaff80ab779af8f6ebfea3690989c68f76b6c9e574e920dd38a017249ae6ba1820443da1ecbed84e555a2cb4e0f2e0710d1506521c9a38e39334892d47acc542ae1643c3036b3828755542e8280d2b85604cb536f5c2e8f62e44fde40b18ca717b859261eb9ad58dae9b8fb115e26a704ee9e8fc98e4f82263b5b6b149d98a2195cbcc7ab544c9b66f3bbea72d4256b7a38058f9ed0d2c8d1d26fb1166937ad7a7344939c6eff97f1045a9bc6d9b090adc7a2d5588738e9479f484095bb32706aec55edf16c2cd5f4c0b4766d45063ddd3f17d290186caeca0f5eb70188a4d5bd1ee5b60031240f8995776a875eb6b4209f64299510dd38d8ac6ffb4cec66fab604bd8eac8a0d67ab75d41fa5173eec53950afe38c597ea9957747c660497c390a46e802aa896cbe710ef5a5c1332c13937324d9a744d8041302d3ec08f309d7e94509cd82a5fbd5251cf3a872beac43bbd8d5c4b3fab63f02461a7f83f3115c97f25c96aa0cb910a47dd48d7df649a89191251714804277f8e9dba52514e770218ee891ab8fc04cd23fb9f77c59f686d0240e550045efbd92c493d6a01b2396e6d5033f0d80c27bd0277ee12417410400eb858ec3894827f2ff1ffe3d219db9db9a78993f47031e7f8d43a9cc5cc08f42167e1629c831dd8d64e78742f12a6dd00be6aafc95749cf38abbf6eb1656c21cf4d477f3b8f3f464ab4a7133223c31033d067d31fe58bc58140f8255363e102ef3cbb914180b7def02b0595a69c8c11f1b1306052618417da58a3a43448537e66feae76561901eac8520f9adda44c0141b18c03b4eea0fa67984d9f352ee1e7cf38aaac58a5a9c3432e52b458fca83465edf3475ee0ddefe75d51d869b39428dfa48556067346196b878dd8992e55f18fa16e745eaae04f41bf37127637ed14e132356d1a6749c8da3fa2121327ff281a4bf0974097d8a2ed70f6ac65b232eef9302fd4096ff13a37fde54674bcd5bbb31b204a50eb3e4f1a4ec72e923f5f461322957c8fb5102bb4d6530152376104fefd676f36198d34a8d992df3ed158c8c7c674d3b3a2adde063ecea0eab5a9fbbf98c55be06dc352ca2f03c3984a6426b64d94453ac089bfd7aa618b20a3430ef00c3e11fdd3a77501bcd1f5f4b4e5ea2f055553c491cbc56384e0ab958654e7898d665c03f576ef4e54575fc97efa27618b3d1bb8dab3e70a82b5eda292544d7589fcdfb97c54417fa94c187b926158021cc2429d13e40fbfc75e8f72d48df2ce4ea2ee64f46ca662a14bdb550a3160c75dd1b16bb53e398625156852b2e66637d08aeaea7d54ff6c2c65092061d4e120d4eab10973d5756dd40bd925112fee9ca2ed304aa7637eed76d2c321b49b2fb297af4a0110dfa17ebf9b3c91876435a6689d1ddec6d1b8f0d774bd52ab35f7353d7e03c53e098e2c7e0f4e8a12e27b25e64f9231d2e03d15a4af721a8458b922b8e8eab4844741cdd40bfaa69ebf26d85924d69c8bfd52885a5ddf08cb173527aa6e9c2d142c6c195b6a94ef2e284837572457bec261337ecce62e194ddb44b7ebead55463a4414b698d0e19fbd01238e97335887501ce705be3726645e03a1c70906a91859854bc4baa54cf9e46b0f863d561f55d975c5f295ca61e4fa09245a00772ae033d38d178c55848cd5b6b0a0b83cfd901b51d43bb648afccd3501e90a8d875180f3f66b78daa30aa8d49950b204c0c4038321f7ff02dac4cc5253321627687d3f4d93cf2d9d8df2655b786d84f542844dd68b249a8024714567cbce722adff3001859c6c0a489f278fd4e0abbbe2f4565bbb573d3c10707b90c0cd727bc716a2f87162430dc25a52034062451d7121a415cd99ea57606b2a967e01ce06199859fa705e652972eeed2adf52270cfcfc93710cdd9cb0938afebfe1ec84c093b593fef97d7bfd8833e4e735423d5d774dd719fb11ae3bb483ff4a2ec2ed28709a5e313ae275efc8a8d2c04061591ddcbf38bff6c7d99fbd92e1aa8e057d79eaba574b65099006ad99ad4ebce28cbde06b8a6c6956ba12da0ec7beda75ff5e7301867aad0680a562e3fb24be2ad523c4c6e375b50ac27f8c61fa5dd666eb993983b3e73f7d8cc89e73f7d3a1adbf46ee89e2573e31ef28be07eb44a6014d3107ffda35a840c2c85a604a1d8c26f4fa8f157e00da97db5be8bac3e8f23f1bd795679c09016178e3fd73b969549e06ad2da2eb4dec48551c555379d1f52bcf944feffafa6454b7863b28ae9627ec977f87074da7810b1872b943aade1ceb09742edfa45936481a475e0d1c62a1077e4b42909aed5e8e954cf6e9a5519bb37845e7b5850e4e68091ec0489a465155d6ef12c26b7036e863e3fac30bfa12cbdd94eea3848ee41747b61559d9713c0b8625f7880c3fd11fd004f7983e75e6fa51e77527de1f9c3d45ae58651c647ec1a4f99051d341d2f081df35db3de95f2504c7bcc26452198ee14520f843dc33ba3834101c68c99f0d44e88985a8644fb340eb6f080d3c0c6b4213a5b0c739072ff6e8aee05fc44312213a4a3eb1f639920e8db3730f9f55260214a1e192ce515827f49bb269fdae5fd55723f3d5c831c9e808d0237012b44581403ba6724891e58154570ddcd73543bacfe233996774b532fa84049c429b5f327a7b1ec659eea86aba42500ebd9f1a46e3c408493bbcf35aaa6138cf739a2ce3aa538cf16d251252421f07410ed815f84f419d32196d52dde9d7d92e4b11cf031f3a0cf1e5c6932e95939abe911c4d66afd903be59f31832d0124fe6252b14375e85da7942ded20c8b41096d0cd2a39dbdbbb9370da1df734121afd53dfcd327e2ef1b767d1e026","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xf4846c07916a95e1d86af8d74f7a3fcdb0e24b11f84743dfeee3eb9041c52e34","signature":"0xd18af8b92ad04373a7329ce03cff8e6f3c0a4e697e32e48acb3df97986932a0718f41d7351e13dea833b56003e048933d7b45cc2a129f77ad73bbf805fb99b986ee58669eddf651e68145659e2c059178c32d3f546c1ba63f4265d5ca4b99e688516f520504891e188f6917681d2cab10caea0493d48e8923c24fbea6f12aeaf070622106c338e0241740e30584efb8365002c9f72d74839a7bb48158fa085d1e990c378787d88ee885bbab8cf1512649928a0f8ecdf232356be7bf8ca714dde39a0e7902f5134d4d696194e85ca01fcae7652955944a6760c1adbdda25d14241877ea44060a30f6a9ad6f46b04944e3353d54f7bd1252d203f7f1f97bb155f9f00410b72c94e5c03b0f3666d7cebf4cf79dd1c020c2501777adfa0665ea3fbd0d9356090c12cdf5de8b4523d4b22fe8396d639eab40fb2c258d43cf534321524509f14614ebbc74063d9bb612ba645dbb3f9935001ce21405931cbb6f210fb3417caebd05f99d611928f78f51c8a899a1b1ad9ecff84d12c94ac04e5fe77520cb556b4b42c20fc47bce559582b47e01f411d50d3edc016762e4b3b5d558e588d9c344f0fc35ca74effedae292ad861ee2d7430a3b9d0439faa78989d0f59cdceddd1eb67250fbc62833e1baa547382700cd419067acf76152f94bda34b77fce6c25932ebdb5515dc71c09a679de307c96a0c7b1eb2fcddf1a3a76a153ddaf892fe75862eec0f22e414a414798636e7ca8216c0c7156751e1c7419edb7fe9a8e41d9a3c888c1317049aac7ee7c95bef2ec165297fad4bba452dbc0162c5a6d6b60d8552447c436d1cde92ebe59077813bf88b8ba5a5f038a30362f200ae9d516e6fe718da3fc33e385c17c5177771728cbf66fdbb2f078816925e60122633827397dc7216b30c0ac072075b4c5bb28e7de03e450064f0e31a4da4b9977c473b8c0ddfda34b7ea979ebb853318190b20d9c3255681d80be131393ed441d77f813ca089b5cb25dd40c4fb96119395b58d703a8a5050206ef2249f8a9f95084ecba4ea3c584b3f550be93e9328f236e7628bf0d62d84159adef614a811059799a7ff20815c07dadd784d0effb2d046a287f1d60d312be60b72d496503e72ec6e4c17cf362161e95c4ee95ed6f7b08a51baacfcd8eabc45bd311673bf2712a029211b5bd82f8dcf324a45832bd2b1208d3152a9c928757089ad30fe75a41b361050edfbab150ec907b11992ce729d5cac2e19edd531d176ea92ceb7090b57fab1ae3c84e4fcbb3508d731012677a83db915b2701328e4a98a145af5d8d2b02a94a9223947d58864fdc2ea050a21591a84794149af45891bc3d8802043b03804fc4a67d50f0eb04b39e79da0e818d487f478cb5c66518055c0aec6d66f554d3472c8735617e9c2da9459f069247c80b0f580e707d88b07ff6e2547d5c5ee3bb93522ed67e5ed5e2c90f85fabf12b71c083fd6e659d40a332211c26dd951b33cd8d16c6707242743f0a84dda57d453cac1614feeb4dee8b49bab51a5da874b60312347416df42f2dbc77fc30c842ad4d8b42914a7a9ea36b10de4de4d402df21e94c3d8411da3a53653a3bb6418dd414363e9ee9edc08a1f68faf289d65590f964741d4cbc184386b2b50bb10fb7b4edcb20adf8c4e91cf6e55887dfbd788058780fbb466f79568a71ae0cde1014a95ceda36156d2535ce7211108c4b0e6c078f13d57a7a95edc269d1b529c92863bfdd2b654bdcae5201ff3ec4131daef012e2174defd7b576c785887fc7762c2f07584b5b35daf8b9b8cba7a1b24a278bc576d9a89d615099f9a77d84466c90cd5b9c42819bd789587e19067f09e7de3bd08a9d43f53384862c5f171871108141ede62f1b9bcf338117a44f12931cda22aa0b9728ae40ae1a2373a9c122b51e392ce635099af55f0b52ea3a071ab2a7a23ccb2ba0d139a148abdc8a417ac58fe793ada36079bcf47261f786ec02d9103744ba6cbba7eacaf0fd198c576bc87a2b2a693f859547f97a38de60a8d20bd0e2da4c56ba8f217c98bf4a6e5ba9d103f631ce64adb9f3905d222840403d0b479918068e2fb298a919eb3f927ab99a48c9ec91325debad7a288f6677266c87333fe8aff91245dbba6ee9ea488053b2e24fdaffeaec09a3d68074ce761f91dc33cf4f9bc07d4ee3940ed684494cc142333a01532044f925d9febebea38d533c6f924dd0f239097fa296588f6e001cff9d994cd945a6a4a9ae8abab33de8b782384cad13b70c1f863598a38c9a3ec5473b51d05d28114eb6cae6dc0fbf73feb316654bb6e48cc7a5ef9c3f81918e8bd6d097b056e157ac5c4c64f0875ead2a0b93dd1f731ffc5ae00ffdd711bc7b4a3d7e43d08d66e0398b337f19453602fde114d278282aaf7d0e4c1e2b027622b846736063f70df8b6ce400d45372ac13e5100c1334f6cdc2fed1b588286a50e76a5b2f326a71061b543b55bc447b36b0c286c6ebce11285a88edd9fbd03312c07ebb9506757a8a341ff2fad280f5b87353c1640f8e231b0a6d490bc355b07c0c555ff6af9a4a9c7817bbf93c94f554db260f6e2830483ae8cae414f512acfa4e8c0c125bbf07eaee42acfc8b1ff6f896f9394321b2a38b6531e6f21f105563b5a476712f23d68f29f15d9dce30b7a462443bdde19fd38b56aa7996abb4647055a3e1acd799c31806c95f688fd1d51194759bbd77028859640875cfed347473b95bbd71f5e819689aca47204b0e9e5858a5f131882d1d290bac3603e0b71104239cf8f05f10de3ec1c179f4f4829fc0de0f8ba35fe6803df29802a2795cbd7f077f0336c3a9c945b2a0c5cea6a34ea3c1032d857d0ec6f9aad9089bb82a96bcc72480439a18be5385ad0ed7b0dbf6f4f227d8abd7fbb3560156f71b0ed9a6bc75db759482313b4ada2bcaa0d03999157d9613cbc72d0966398dd782c00e570538ff8aefa2e7a1d75d4790c818e87b59b61cf53da549d97776bdb6a6924cbc9e95f0e1a971bca318b6875eaf9ef15d0e7ff660445782007cc2716c281f0cd7b6c9141590a952448c7068c9ea00b4cf3f57e38b9492dbe10d837d15b1619fa24e38fac98fa1503d67d2c82ab7cd92b725e7342516eac50668b1e00da371c115039565013757ccca8743d88cfbed3475785ef98baf508d154c4b931023ac6dfce1294d3e5004297cc8ab212bf0e976a55a11eea87fa785992d7383ec19eff5e6b0681b1a679c940dfa19475f8d9278bcb93347f9314698654752ab539321b31108b2e9c42971ba854c037051df06d47e8dcb4b95ba69260b10bb746d85c407a2e46bf85bf71e0eadf8562addeab5bbe866333d1a1721ff50fbbf488e202f03361f19ea0bb50f81bc5f8d972f23c861f54c51f71d1f77cbe2756f3f045b0f3162be4135de22ad2e94da1ccead16162cbd10d65c0bf28641c464f24a1529880a8f4342e4c82b4680de2d6f430609846c9636408753fb39c69627423e949bd9dcff82c91652d2b69e39efb7d9ed427af63402267bb0d241fdf946a63caae0feff9186b87b7849c25b0cce1e2b58a4a5ae3ad134404509417b738faea78f580bb2a8e96df44d86921c3977531b31f1c437714470664a139ef42a8a233351edc18ad0d60f480440d0e93a7c6fc49ec98655c70a8f0fa2e86d363bb413361791d67918ce7825db28e25e0c84b743a5370040d634a772c10343ddd32f87a360da7107d24d6d2534906f9fbd3b12a418247bba5ea0332a62c955d503e0f782dc80fbfbf9b9b80ba423150ec9c440dcb1a8d98d7fc61dbd2ab0c377fe6ed39456a09abf381540073b78db6282d1587fb25808df368cae3cb1cb05b9c618c894e6ef39d7cd1c12afcdfe95ebb61c495837c5df74befa6989e7b41452be9ee624f99e3cf0487cbda8f3b0ae4d62181b17ca52b812bc7cc2d48222812f14864b774aff582e5f684d8c8e8e929ab936b72d55a6b565378415781b7813138f18739432961613713fd95403de1fe79f6fd4ce8da95d72f8540c6e93e1426f6d2bfa9b0ff00792831505c25007712646265c8107bfc9d2abaf129cac68b186ba3cdfff2ce2fd111a5c26dc39134772b82eec69f835078cbe7d013513065cc0ebbd6977a146761c0d2859b56928daa27f85e1d6a0ee43bf6d2c53f58cfa34104bce32d9d53bd1854308969dcb7e5a73017da58ddb5166e60de047ae367704a402a3f86eff005761f0d3eed150e5ed7549b8d705f73b45c79f3c177910ff232a9e4c9229667bb74a6c9b3745a179c2451cfb84408fd6d2f59f10ace0d8479538247809847f71437024c549ad998ea43c52a02948bb6fe6585a00d959a43fc4f3637ab2e0a68ee0d056df96e77fc202e9653f8e08c0b3c888c4ff8c3bdb05a7f489f46b2386f279d2dcc871cea233b7d194c49095f56b1771d06ebaf89ccffc0a1523c8f517344c8feb7654ee11d8c71c46b295fe4c70faeef9913ab78f76b46bc9cd0b76d5ffdc4ccf0a9cb40dc9fef20a808be5158acb5d7d268c663bb0c413a9659f33492e7a8b33ad98004447c344648e86223f029c1a9e917e235c9128aa0ddf6be94b1a4d9999c5b671005dc17b3fd18adc359bc6edf8e09bebd8f5df8abc4130cf388fd259e75674c4bb71ef38f2ade30bdd68d30340ec163ee8633bf132d3a2f44ad3febcdf18e61f8f1eefe5c8d86efc38664117a88dd5c6a3ba8584769971dc3894cbb3c9527ee12b90797a3ce6782397f0f7b446b0bc6a6d419b5d1dd81cabb3dd09de3b59134c606c81d7f741e04d32d09efe1b2c911c5b73285fb04feca8e2403ba548180ff31f291df65bc07d50695ecd60784614d844b7c0d99f0e5d8f6e807b65fea20b96f3ecb85d41652faa051b36797933fc528be60584414e9a24a656003b8a255c90cf0b939b4656161ef1ff48ce19484f51ced9193e1b620a7266fc27b5cc1b23e542b70486922d4b806d9d7c9f47b4401c06734a39e622db6e2f79506995c4d7f44608f485801de0850a86fbd426b77a498c2fb94adcc26de7b8e58cc809b493378983f1ba83261e083c72ad989bbcbb4024cda673ecb430cdc245e31b4edd46a3ddfccc83f660f14f85bf4c4faaf6efbe1ace7aec8dd619772eff1646d629f06ae6d62110a506073a774a8c21a6e21cc7b033421dbbd4f449dd8da84aa0a8f8e24690d7667fab3af83c019b5a5638de86034633b845659ee3b61143f81ddb1c90566bc41e59fe7485254ce2335fc3dd68d4a02fe4090d8487eafe1ac8d52bdb5dc6672de8b874de91baaef77acf953b5f29e79fb974a627a3f4b224bc004f261481dca1cc32cc41707828f0d0b5e3553d4471ed1c8bfb56958995a85109ef3aa3499661b0ac2dd471de658fd65171b23c17728581242586b07c2c5f502d59ac6b5b7f04560a1ce03baf0cd3e23feeb34dc0481d8552aba247f7abeb9e9ddf2679732127c15656142f76dae9285bd533dcd5bcfc7498b1b9c3996ac6afc946fb64c7819d191493db449d126eaf4dfc5b1050806b262f4fe8b80a80cab2cb857f47f27834c54b5e80ec39e6ddd3d547ee7195eb4a64e8f5e1fc1133121d8e7a184f484c0e53d04652c2e998389e5f0c68f5163f9e527ae8dd33a766581280b629c341a06a5e4f277ca1fdb044c72bf509975b3865fa04ac674a94ab95af261495c9e48fae01be81a41f36cd4a2ce1d742e254e0cc9ba7632fb868f2e20cdf39b768cc14fbe1ea36cebfb4225f26f6cce1da6bbafa3978e368a2ee45de0edadc2d3f184799c5a7531b7ea34f534115ec69aaef1c0c6555036c5b3961f1c92ab210776f65752bb4d99d95593b1d2b2b8fc979d55e640430c9157357e072961922ec586e89f3f676a9ca571cdc6862b204257922e6e64a3493c0fd7b42fc7ca94d0d22802260a08c2083e69391083c2d3e311de3be7fb6729e94cc01555b44c14e8b13d467eec401b4bc179011fc90ad684c9a5b060aa38b32e302adfcb7c6d3956267963e2caed0f8d301229774393686d9d98e9d4dfbef8257fe482c3f3117c6d1b131cff024d2ca20e1f2e0691bb664172498423162d633f9cdb814ef7391f7dab4b05ee8bb53b52454685981ec2f4c04afcb3928079ddd13402b3f6323c2554e644f5c65aead22dfdd1bc9f8c96a9b1b1dadfbbcbffa8a441299db4614d363b13955969d3405d4162db1a892908ac6395055c4101a3b5b4508544cdcf4fb10d55cdf3f59cb0bdfbe7f38d57ecf4a9e35727eda4d1272f33a408fac4408b38ae494bd3c27c6f7a42dc1ef2cd029f38442fb5fd6fbc97c95a3bd2642ff9e5ba10669d77f00e5ac5d0c75ed096fa9f08b44ab7ede5a88f7c2543573d84a9ff6b2ddbebaa39523597c61448cd4e3e8d3edbdece4afb958a55b9025b50336a8d920c714c13b111fbdd8d9cc69307d93cae5d5affff35c0d74e6c40d466d7c919fbbe0e3e6021f38399ba0a1a7add5dff0164c659eb4cbd2eefe11171d2e308ad5f6060a1c1d235eb5c6213745a4e5030a23243b4a78175c6c6f8fd7e7f7fe000000000000000a161f272f343b44","message_root":"0x643fabaa7211c14eaadfcc90132221c226485da90aa7f22c6fb0fdd14f61fea7","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x098a9e3588306365967af0ec18b173575e66a3ae3cb85c3ccd977b66373d6dd5033319d2807acd154797d53b779ab075838c0062478213f696c5010bce27095152939bb4fa94c2771817e79a20ecef07660853c3770bd84da7a37f6902f0df8a2c109318f66583daa303c69b49b76d1397967e4324c678bc0c246d32ee829758de6b6aa4cb95c4e2bd8e1529be317722527ce26abeaeb9e954b3fecd4cde2485a0953d1e876f6dcbd8a44411a23145e1108cbee20e2a2f4097cf0d829a2751e70d101344d47b89948dfe3bded84e68f4b5c5c9c3a164fc3ee4b5f6bba469bae1d43cad1cd5bb49795881c4aff84320585794e369e7f74559c31f14d6799a54d06fc2fe295c43f7f3d99274ebe272d2489d313a0605b506216403ef80028129895d58606092ce21d0642d7846637c516b9412612d8b9449431b18755a6f482895201985a34aaa8ecfbc079321e90af547f5f90fc3389f266b9495210df4af8968361edb2620743a3479edcbe34436fc0de0d39ba6f521d83928e3f9c411b08432ae37155df9db15386fb75f237bdc2a1255eb1024cf1c6aeb6d9bc457730e3effe3b0580ed7bccec43842b87bf0066a975dc798efc15630d4ac677c27af5f88d5353d69701aa4e317d072d3c14f86d35b6965556cc5aec1350b74bae05172951e8c5fa4569f08b4f3203ff270a6d1e2e7039bea56e9da90ecfb6e7bc68e3ebba77eb437332deca15c611d92d5a694e75850803181ab164ebd92feae3fa9e0ef52a0c6b96d5c20b4b3bbcc3d7e805c145a0265018747f71ca92df148785db10b25724f0ffc3eb1a778955b572c6fbeb27bfe6321116d628132aa51c902226d12fbc04502807def568e80ab6dc580a6cb59524d49c128c6e077ea6464ac3cf844905ff5165ff21138f19f8da9b08e790f3913d4ecc646389824f98cb706755474a224e4307fd35bd038be53986b3c0aa1361ca9298306166bf0440e3d5194d4e6122d6826c6ab3adf0dbd07ee4cabd10cb2bd8841dccb66d52b31e66fd92d82768791faba599ccdf4cf320c971a243515754a3672a234138e285057a9b20ff55ba451ab51062b32a8b073e2fc737c72f07a7180d3d5cc52d084cb2c5de8f65141eb13d7c0bdf5b792d5dc586cb3dc7913342302cd0bf464cc01270dd86eb27e0e5fcf69f48328c08c2cdc1c3829ec5e4a52dfb9d87f65311974b5ef501442f5d757a132c5f50c43acc4f7517d18ffa7898987de76aeb27b210307ed320d139502ee572d85686646c93550a16c8a2b5b22e7c47f1569ebf8b558847d39564089d964e18aba5c04675344aaba6a11414c5711afb1baed2a7054bd5ac680b6e6b96105950231bb83121531a3517ef1aef588e4fb42af8f4c7223d4df5b6298be81e0337d762580cb0956c0eaedb7b36032d50af27e09559e362871c35a68dbd9f28dadfbc8ec1c27cf8a408ed3568b156b77da5781cc1c379cda8ab00dcc4c94fa674a0ed2ffd4aa5ade93e43e97f5a4c9974b5ee540f7b8c77784bc5583c3051346f431cf268254ef8ef0a3d3fd027c27fdce07d97f25ba7564fc1b0e3f0647e3e393615cb354903513733172e60fe79f93495728fa917dd2779218983bb99f2fb5055b93896a02745ccd2df85b2875be1301df96f2fb73269a548af28743b7ca8b7fbe2d58ad3fcc44dc49057f342fd7acab4a332007464920bb967f28739f3cb31d9a7903e0360ecc903d0d7feadd285dcbb50cddebe4921c1fef053a28130a125b670e8e81a16f4cdfec975f1227a63580de55386ba34032ad9755f86e5cf57ae2145f8737742cd852826052fd210b51f7989a14cbe0fe2c817858a25f566d3efa1070f9427073fb78a505a2627a4a066afec662c837826ef7853af732a1576efd0c03bd1049f95b1dac0594d1f87a19df2c39f959d1db4bf557dd217d1016ec6c536aee22452bbf0acab8d9646edb744f3567c36e94664a5b98d611dac30859b7996b9fe9eee8a4a2c217c08badd9313f38b2c51869b0bbde76c9b9a3f4059a61d79b793e3e91da0021ae78a1ffe39dff090fe79bb80016abb60d5d5787aa30444864a244ea9a7f1efd61d14c0784ed35507746d06f2652b86e8ff9a4241d3d1e37e214096328040b6dc97c7c6371bb200e829b90974e65b3f97edc05fb3b2c53fa613507fa61fe293d51e9f6763bc2073d808ff9903f206d057a526370223482d4653e5198257d8ee2fe63690d93347c6bd6fbf0f8cbef91a8f88b9b5edfe01a0bf349f4a018683c96a9298b9e870f30289d364727e26484b63b34fc96af61aa90ee12e687f9d58a2eab6671b2290da6657af94bca9a5ae509e9944152b1417f5d591ff938dcdc81b267036ea6f1b8bd58955cb93ea423bf914f6fc7b5333ccd9721e92eb8a0a4381ee97e0cd51b9d24ac210b116f7c0209152c8da7c30ecb28ae13f050d019bf7214fae73a5ddfcdb5a4be971495881aaf073130b93b59230a432ac0eea1f9b896cd1f1006bc12afb8320026279bfd538fd3be37d4ff0db28147ced6ce0d093be49c13c1f3301dafeebd2e982143904e0c1dfdb857b10389f8ecd30f314f96b2db6ef601cdd35c511a5d74c8a22e8f5a899cc998432f11b5a87257e24173c3345915c8d0fd0c1385ea28a0a2b8af7cd0919d8ce5d0f2e8b39fbebb4aad68258bc4c7b5a6cc7b01bfed9f1f1917fb10f692aefd369af70b95d267e5bd5e27c2ca4a51ca8d7d5b7c83ac02dea2f4eecdc872d6162ca8d6de14a8bd9014149094dd1ae388563210ab019a58f23da285cb374f64fefe86455850d8e2c5a495a6ca815d200737fce2be0e1ea6e33daa520c2cad87b6c95eb009ba821035c3633f0191742b3d6205aec95f3ec87e2b21a2fd7d19a4aba388c2c5913c85b6def6c0a6efefccb90274e53450d5ec25182a5347b872321dbcc71984614459670339c53cc7a54f1e178a875aa7a79148c509e24eecb2b068c42ce443a74fc33ffec3f1c46437e9f7923bffac4bf320cefb957952d183ae9b4fdedb1ceababd89d1298d0012f8aa424594b57b36c3ca3928edc508c73f586d135ac6dd8114662e1d8e82a047a1f86344ce1676360ab6ba8c18898ee6be68fc51f3ec975f6753be43b28293281bba1e9e16e5ec45c7757dc3a9f1ee6c84f89116761407ffdcb07986bb70c770cbf2a1624303eb0791440e213f402ca88c91fb7f60297047bbce2a48e7d32de52174485c5f28756c22e6ceb05930cca054fbe1a9df1f06533d2cb1cff9f6e67438c7f60a5281c39279d22d0f1a9e9e59630241cac19edc38f4ac527df821f5c387ba891d52de5ec74950d2b63319336115a7d9ee5802bef07bf6f631ffe6ff6b7089ecf3c5d8c30350ae0880d660c39dfa572bf43d880cbe56e51e8a7243b9c65921f2fec57eeb286e651a23d28d9087e5d9e9908199dc6cdf112bbbc876e257fdded50b6dd4524b439d855ca6591a48ba38b1b0b0c83ed7609fbbb00caf4cda4d1a97f954e6a2f127c817fc6f1c4d8db4822d65c6f0fcfc8d095e683f55c5e14d397e9378c481955aa43cf5e5d01955f74a28f00a842fde698c36611775dd2d78e43f38451b01cf9f570202d469b66b410bb68c3ed44a4fed536f636edd8fc9458e5b23f601676436421fd77b0bc2a5aa131356474150e8a7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3cff07b4457ade2013788a34eb55db24781f77cb22115fbc1b7c9f0240daaf41","signature":"0x92b5955421c181142d25f0a7bdd465ac92d57623baeca4ac83af9a60aba46a374db670b63bf76cc5b474163c3b593d4c4e38a426623c9f5d101fc6b242e64d70bc60237d3e4bb3369db6b76e40c80d4ed19b83c3d4121cdfedb5809c04da716c1f4d23e1e71a1d39bb3f0911faf8232a5619f40d83ee7a826c74520fb89070cf340cfeeda00966b6f7970c5c7d6f4a35a6f4b25ee3fdc58b7c501ef939e19dd886dad3c4702245b2bdd634ca1d39210eb6146268831354a579b1b1046a42affa911bcffce22dc21c48f3d5fd8885ac2930309dbdd7c29916de929e2750d1f74f8b949a852107123c3e8f1519675ff8bf865603e955df2f4636823e37b210f325303a6e9a863f786ddaae39d4b74f7f8703cd1d298073ba69869d896683ea9168b88ee30392053b406bf7d0b4d68b330c1cd42353dc3005d7402d3a1ed901a7ab6d7dd2e3329b2b00adbedb8665045e02e347f0469fda3d2dc4207d275cad020c08f3031aeb206acb68abc9128393a9d2894fc46247a19eba697946b65b0929b53bd2b2c9367e6a0595b6f05833fa1cb5ebe28c97f7c93f968827bc65fec6a6d0fc68d702a9bca23b890fe81ce3f087f9ee9e31e39baecba32ab9c4b49e3d80d93035b7a72dbb77421b053ba30b85a4b2f70c4d59af59697a613371d7328c12b01a6e43ea8d5fb5bf8e870181cb43d0d728c34e5cfd0e18780cc43efb30b0791a26ddb868527b313022c8efa5db924e57f5b5e8dfccadbae322346c70c1b1ef46ec9b57972d27f6b4954fa2ba23e0c49d9af57a081cc2f0f4d5eabe5ac1820a96af3eba7b9a03ecc9f29c0ffb9a9aa2f035a78db888920050928f2dc2e3a31e71eb128a547885c5f2290761539ace58fe0924151a35c25cc2f232f3a6b295c92c19e8a9fde4f5fbc5a4f6833dcb1c3f205f56556f7f672ef568007b9279a457f7a2a0fe13b38d26461a5c6fc53ba7f64ff184d4a51f9556448344a839fd89387a670ef26a17cbdeaba4802486bc8ffe2a295c14d5fcf8cd91dce3eb2a082b36728fedee59385c9e3b922aaa20e99d6844d436da590925a3d61ffc1cdcf2926334cbea08afca34b75beca9640b3e969b1e11885209b30f8636533ead71dd0a57b6325c9cc17856aa796fc7c1cad4912065e0e6061b059f27a5a52d5f121f5b6e6b3d2ba6c6b233e22dea6094582b4439513cef9f881a37be59d6c872c454a408922d29aa33fea172d3a16e4f2e1443d96de817d18d682a816be1076034fbd612c7f1fb9855a8c99544a87a6143313a686ae7d935b1c65eeb88239a884a0ba9165d85239ae583e7db157e9d6edd83248c212a4503b88f5070926229853c9fcdc562b3870181b5164dc2e63a2d1c76d2d58bde3ec0295dcf6f99616e83b630bfb67bd23037118854ec362a645d57490f5b8318a6c48781b80ebeb350d398a9175cb6f6ce1aacef38927546f64e72ae24a687190d5bbe7e9a891db5e39f3e4adbfa6325d18d2b4c066eee635c5a59c349ce893e28971011d72df23520080bf360a7e929e85ef8d576516231d4221df1dd226058cf2a36881f9cdd298df92fca0118f60793c18759745de8f10fb131a388a4ab2f2f9e7ddf44de6285173620d3b7fc7430f93db938b3f57b2a60f49006e0910839b64a58616d3261f434d8c8a47246a9cdf8ee8366429a6e255f55bdbba26e0a876b3697ded505c14f055dbb3bd6a39e8f8c7d98edac744e742ff821b24491a1b8665a8a4d03b91caacf0a04ca9d7b9cad35da2cf2493f696dba68c09013dc72ce2bd357c5981917bfd502a2787c6121e6ff41f079343bf32ed3a10deeb10fa82ea9f42b3ba635121d6886b0318177f65b74f574d01c2ad0a236fdc47eb58542089e8fffc66bf1814781e9293e1dbcd5ea186b2e6dade15590f4e4a56d6a4808af61e38b6a5ee7834fd056a515c652ab36877b814fae95d89c9c6d9cb2052d3ea326dfabed5a4de36fd4d7770d4c39b3a2a5f107d43c67ef4ecb0ad530cda65f61633c5a4c76d3bb8fb9b94aa476675b9da63bce9b108ac8d7da16ca3188a47baf7152c37a2038f654856010ac5ab7cca165b60ef42895d8c0eb6bade9041f86aa1b53b81a8cc64461fd4771b65d1541db1154ff6df9522048ead7f1b253bd99868e8a1361b34a05e2447fd32484ae0627f55a04828fd61ba6fc90431d07241af199fedb28ad661ede6ebea0d46e0486b748cfa7504422f99dc4c36a62c7d8514234f0f0a68e638cc86059e7db71391cfe5745cc08d92bfa47a2b5fd0068cc5884cc0123635cf76e786be5e177f26884eb3b9c0765f845884c9609ff231524dc3703abd611478033ebea837deb0eafc25b12ce0755397f58a61d1c69debd247ba7f9a54807b343cb01483faebd827ddc83b1efcd3c3deba89f08047e212fa0b7edc4e22be86b3ec5555c9426e150e45292fb43300120e85e43d17e46c6a9b35d27ab200afa714f08facaddc467f1b1c624b28e2ee7df0edabf992cfecd12a22bdebf45c05c96ddbeda9436159c9646a90e39970e26592e2042913fd1c265726344c4622e8bf5b3b2cfb5446d6defefce2f361e53f47883a5af9d87fb592272cea7812da404c0b97b48a8c3a869f77ac420371d9d70c50c8bb5ee7faffc7758be6b0c2b8b968466501b44890deb6c89f1567e8b575778d83813a1594a83397d04bb87b33e6b21e65f9cbceb35da6aa4464c9992d46e0628eddf4de450bb85bb650578eb0ca8bfaece364e55b5b41ad994182e24477a8f3620c1a7501461658632d5579ea04fad1b4ae330dd3b23f9048276d5625087beecb4f9ab15d31be84dfbc7f1d6b41af3b47c8b34d6f8825c8655941ab39a39f28bbf43df003564e1775c5642a1cd6ad36e0d484cb8651b17d99283b54fba09dcae1bd638b87e2fb18c7951cbf91a642d9c72969512d59f667fac5c9aa09156b0c7c49f71e3ddeebf7cf037af5469bcdd41ac2812a9c7aebcc64828580ba1bafa21fe38a2f2e4ffb366fb367013fccb4b23da3f801d5654741f8cec0ffb1c42ae95ea23472f31053102659ce4b9e5acb308c2fdaeef2792a6d517774f619250f81b59c0110e8779079fa328e1a509645343200153a2b663de39c4d2106593171ae60dd9332896e5e6047a3a5e7742841a67fc91649f26bad75749b6f6308af8c1e153514cbfa79ba63d48b3a7a6f3a3efa4fb80e6e5c8e3614cf1efd4dcee5bb91b17c098ae5cd9cab9d7cbfdaccab1d89dcf4cce862955cbe670e01adfe73a14cd3c1dbd4104f60f5b123553973a85ba5ae0b960bc45cc5031bbe0e6da13597a4ea98b964fcb3c81f85091df2e998c3d8174b128f0c1bdd9ffcf6645fea3c2e2bbba1f238c3522251b44398e5b1c66043ca78b4641c247762402cceba6234d403b6db638098d4cec08e63d25643fcecad7ea3b7a2575c0ccc332ff0b09bb75c2eba1c8359d9786a27e6ab0ed3e5bb876b6146689dded0b0570a2f01089ca46220f130f127d94c1437f3d6927c7ba3d5bfb66f824d8eff8cd5674dcc6f5a07217bbf9499e26d35d6d468d3f9c1488dbe458cc52942b422a6b75612f1dbaf44b60ac01832c8cb2b4b49305e160f37838e9b7b9e9e07fc5c27c3f9a88cf805ed6e0dc5027d23a735718339708e322927c18af50e003459a429a79b9259580e4b5fd4c5fe2a7ac425f5fdb95a871d100d11986eecf56ed4b735873e1ed73781018577fcdcb214550f8c16f95dd6a481e041416ac7d697f668c1949c7a33e0e2ff1e53fcca6317efe8337ba7ebb91654909f3079627b277da7333c40dcfca9c4f4426fe678fdb1811147f1f1e2fecc7e52af5c6b95264531656da54336e1b3bb494dde1e051efacac09bc42819ec2aa649e9bfbecd866e3311594bf9ddc8348fac583ec5f39c200773d6e23435c99bb183c1787290507fdd668fc56b8cfc5089033ca4221e8f7dca4b8a2f75646488449079fb176ad65301224f465930521ee51fcbac5e59293c061b71401307335f9d92e142488ed60635c41557e5e34385f654dea857f3b18b95ea1a39abdf5c6e1ab12e919e04e0680179dcf1590be8d97ad4d701b1462f6c64e80b01b6fe779046d3083d6a07151fe1e20e75ea3cc6908debb95308cc309042a68e98d9ff26c1e4b9e6d88f1fd00f203eb3493395646a0898fecdf2a6df202ab16468217c2ad8c098589f6de85fe8e8e50d285b7d8abc844196b1b4caaf08734b2aa1fba1e05af915c553bfad9afc7c2ed55e6060137fe68813573cf424e45e14a500897a0cde3f04a632d501b985487c35535fa98870976f2b3c982cbc782814ca16601b511c4fa416ab27a69a3167aa97df4da4c881db60e36315b3e33c2ffca24cd145b814e996df9b98f2a0ff8987a085b250f02d9b2e0bb843a1fc0d035b2cc2cd12b7f04bbccfd7275c3400e4bafea7cbb255d3b535674a4c80fea13d2eec4bdaa287af10c2842e39c960c8822580974e2e1910a8ee95c6d1c755004d1ad98938630b510f31054ae7a6b9bb76527813007783e7e557e90351df56cb8fc2328aeead6317316101b9ea07026c0ac3b1aa544e97f45f71ae1f94c8a304279166374659263a4fd775414c77d036c30f26002e944ea2ad4c3e31a95dab5291afb35990241ce1288fc6603cf24f523173fcce1221bbc13b5cd5f79ce5904d297af506eb4165893ca8ee381de377e61c6717e8e5acc406566675a431f5e30f61eab15f95db6a3fec374d7fe19f9bc212bf5b6f619ed90eadd9fc73e055c393fdbcf82a2257bd48c06008c415ddef808a2b66a862b1bfd7966ed0c21ac58bfd8fb0e1af30aa60bc42e93561b9ca3f04eff67693bdd30e8472f0dc75098109ba4edf996c301ca304d5ef06c440dc537eb831f9acb265eb3f8939f4f600a12aa0d0cb0f29caa4f204df3a2c5bd205117561b997aa16b2982e498b39e4189366bcc27313487bb25a42e6aee9ce3f32eeaac7e6bb39c374feaff17ab979ad3b9486bafa8744c36ee3beeaf1bb507d8ae1bf157f85f4238444dad7666f98d5115c83ec16f5f444317150781a24b2089c0066b01d94e546f27f4e1cf67942cefb9199e73041a09ee385ed9693b91e99c51e26e354584ebc582c8b5be8946659953cf2d97d798d6294e0aad230670a4cc285bdd5787ab5540a0004224939789a6ef850097bba72b5e66e7dcae82f0f7151ef3e6d835474ba60a2b979e8e1bf430c28ebc46d0f7a138b51ea6d9d6b6b5f747ba265ab9d8b1a04a448768b4917f7feb823b63737f535b73fb03bd7a41ba0cc75d4bffe454c6677750ff707d3a64dade27500c493b89834822d6b08b442c43d9ea0372ebbca69979157a8eb03f6c669aeb39b3913ffe4919ca7ebc23cc6c3367d667e7051432bcc986918aa35a61564f3405060c9a56c1c99fdd0b914120e6006756d5f04f883fbbd695e179b9a3f4f2193d958bac550b540497d25686a8a8e559fb3e674b8982e29c991ecc7e558dfeca0c910711448aefe64801bc184de84096311911ff810c0489a302bc64abba3408c6461ad1669793c8aa8017db54ff0c3e210ab5feb3aec3fa775b9f75ede57faf0e3eddbc798a34222e54789b1ba5ac37b3228f479b0c9d76acdf282282b300bc4abe90ef3f621fe4c332c724725ed1d3d9df3638f3d621fc5bf86cc50b2e47b3c3dfd441b02e0fd5c590700a24a7eae6ae8be88012fe61eb878139b9708b0b252c8bd74b57910fb416c0ba451694816d9cbb25c448efaa90eae0788b511751bae927d79f3a0f4a96590cee47ccb1b81f8f7ba4bd64e1d9be2a1977e3b384edae324c393b14dce03951041a93bfa47e197d17b364b6dc53d2d4141b1e16ed98fc8de18c94114a596beb8a4b58036230ee77311934d7467fe19ae2feb549887ded0b0aaeba7bab3289b84e4f8c078a6ce3f87dedefb543185fde6c2ce618970b1998f865384fe3a99b1d0f3b942a760468ee935e19ffa54dea584ce7d54e8c6015952bd8b1aab2ddde334f99aafa26b8bd3619521346b36932eb5489a5a04afe0873ab5e8d8922e24ac18efd0696ca7f813fff35d47623f59873168bb3da69ec5d52ef74a5da2f7561aec30deb9a83805bcfaeb10836c835796f3af9aa8daa48e4e0b02d381be52ad3d14ccea436f622c171b8c28a585518296b6634239454aa44b15bd809e23f86fc1b68510362d1b525e4094c14b0830a62270a43f9d04070a47142b888e5537d080830a2ace1e44edb81369ec762bdce1fc9cd67a6fd4ce913b10018af9869036dc435cf6bb19347f9b0fbd89edb26b66eb9f79f0ee7b84b37552d47f966ed27899302ed4fbee1a4648763a0b4b5b3073c4a084856d7f55be20047875ed4def22329f8b52347b011b528a62c017d95e51b87410352a8e9780d3e2e8215e77af5d9722e685b2d78330b049930b7840016182f98c7db17698a939bb7d5e00a5895a7c4cbe54490d6e91b1f3f8e94b31534394c677584858caedce7051b25535faedaed2fbae9f0fafb000000000000000000000000000000000000060e15191f2b3339","message_root":"0x02ca5bc9b2fdd2ba29bb7047231abf58de556cfe5e038d588f2c1f948f6b0813","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xbdad75161e495022af7e72e56ca158a87a294d15c91b845f1626f267dc759df3a33ab7d6bc0fe637890bf2164d9a60a9113b670b14565cfeabe84db66b5c0b470115a13399744e6ff3e4210f8e992b38a30c40c6bdac857c05393935a07fb2da3bb6d2afd014ee4264c98db4349ebcbd43b22d490f98ab93ee49b0f33995e4b25ac3e2605e1aceef9a879b1b7946ed7eb01d4f1eee3d364aa4a28c215f861f5b5836e947e66afac831e11f3e5b4a4ef9c7b25d5bbe09af15c73fcc3fde151d6e3f37b187b952ba641c1d00c047ba6725aff7eaf87c246a4046cd7d106e4d9149417304f0083fe7b22b39e3665f93ff69e30f7639fbc21f9bfaaad7543a276c4ca7a546795ef1eb9c31c264f02859c965b92180ac56d157c08480387afc79c442b9ce3dcdb868406631acafbae276c9216cba448002f8f1a06058d118072678072a55940bd86fe0739a6eb4695543a37ce5bcff749a49b5d64aacc2a560908a4a53a3efd0563cedc2fa8521bb1537241e41cd1dbc369b10ac53e9e5909bb206469aea5f794d7acde98a0407e7c2b0deabbef9b0483e34a94f795075039bd14a30670c41d692631cae23b5ad34145ff4be4e5edabfe424d9c1056e75c2a40b0ced3910cd023893f3b9fca68b53a858c659bc072c9c057b2b44a0ed14a17f9b9e9e0a32b9025454c9dedb96714ce0c56da14324eded1c5c279e0feafb44f31af05d652f2d6d27489fb3cb301eaa4d04702ed9d18818bbdf9e27780f1e443b65c670cae7dcc636bc7cc5b05d2f892265d500fd4e85c8579bf81a8ae1a17ff19d492155188fecb72883c5fe47597d1b0da3d7c8b4f4ed82af20057c37484af21ebefc6938ebe18e6ef4c65b13b324efe032ad516264f86708da3a3f87e4b9d8538ebe08872b76971a5e878f05788fd41903c97b7a360a46243d73a49b5fcb92ce8ef87215af05dc83cce1619c0062f55a57a156ed1d2b2605b0ebb1984d256ece67fd76eebb8f56f5856e58ab725c3e9c24e46ab1e260da284e619d1482dcd786b186db8a97c1c8e3dc947b422805fe90c171144c167805a6b07dd7e265ca96f58799e0a252b7b58372b498b8b1ba07f4e21839de864a27db914d71e80f90e9efe84780d5c0a99f6d7895f9d8147678259e04fe4683ab90a3e636d01e9d669b4eeed02c6ab8b3fe54d5008b7b3313385e4a0e7e294e5cc92cf8bde5fb34ca2d5e03149aa93c35603e3dec41cc89d485f25bb07fdef71dbb57aad9ab2f23e71b7382652314286955dd443230b0f29d44b3d130fd7626e2e075bd7cc7469dea77cc02bfdf3a171c8910dfe6b72970488bc928c32b4017572e85e2a01950ab1ada3b82d7d1193e6b463ca444c7175ae9959a62bc8f1dcc6f151ddb09aeed56d7f3a3b932c522123f8e0b0204a8651a5a577bcb7701f6ecf99cac2b0f4af8ba5848d27f6e8871d676091fa42828a6208b31348f3dde14fa6f1258c7416ff5b6341237d5107f861a5c5a83ab0b6a080b74ffb2c2543baedcdfdb643a24c574945c7f47935c85c6fa7f38ec9a77c202fc4799abf23487de2b93a067778c393c77f25247398f3dbc36ae714157b4d0836428a658126f7775d213cd03e543982da8029521bfe038839f88b624f3f9ea033aa1cac01b9c5b243639e362775ed4b756821b3e338e4c410e396b68e49e30dba4af72427f6fd55cb472d8408f3d43eb34d295718a8397cf683fd7af2fc6d815b8a194d82b7644845f7673b631a3a3956fdae3fa3b384b6cd80bf03ce00b7a20f4f30e7b79e4655e284540c4928d3422d7dadf03c019c8d04bb2d2faf811b571771e1e562249168a958e4ed331d479943e73306520c4ca415d509732550ee2752db758e3c0f9444f62b079303b2e61325ae5406c12328891023de7456ceb7abc38f184fd59e0e86cf2c35f5032ca7ece137a5718cc093a775062b8f4322f1bd713da291d534b15c2e7078478e9d5994936150fac27b990c0b1d84906aeafd287ef71d788105b0821d02fb25f9aa5728758a10bec4be186b4cbd505208914ec0e67abecd40959c1d160244599ecf702f2d11f7964ed9f1a12281339e937a077311ade57896aaee0550144437aa930dd5463e3aff6aa74fba8a5742ee52affbb3b7a461a3684b67deff4bf39abb52b1677817bbe9439d76f495e81f5394e817d1e8495b20aaff142afcf983d57079906551216e2274030351f95a0a1900fa4be790bd8e40944269f39df476916c8e7ad51d2e7b344ed36108e3df3a923a0545d160c56b98ff8a722e82422ffb29030852e346dd85006b56698658b4b80c21cf139a5a48319bd13b00e65f108db85b6c9b86bdb68ba6aaa300fdb2b3c2c82589d1934ab1e1e28c4a5e40c8302c6d294263aca70375f1a229597f8f0ebe36f8ab5dac0eb698bd3504494e58bb0cf51ae5349d5f9fb08c7430e0f7f68eae37b75bf0a4b5cae6994e57847caad173a58143fe72941a2311df0afb84a6395b11cfa6649e42be4d6baf05f30b6c431de975ede6651a1c5f9f6771f7f1977a7815001bc68fc298c6d9c6760536e51f756a6479349b6a2caa788ffe46e70e117ebd85e4d22b99c5791a67ae45d5a245ee237a55a802b7bdcb4a480efd43743bf0ae1ee89d4166fa1125c88502427336ea50481bff97c7cd9a38be8e9b2fa5ec78e39f15905d8950376d9bdfdf2f6553a1cfc1f5f01c8dd9237e96af7d30a0feaa216f4d3e1ec09eef793ea0fc0ffcacd20a27fd52d7caff3d908e523f15bf3f4289b08b74f456a8e30d91113e57d8a3101f18736dc727deac76744e281b245826bbfccb6ea58746891fdb0cfd64ff5aba071e6d9996955f0581bf746881d1a72fc3959c828d44882db819a90947ea43cd4def511f97ffa740d2cb4b56e4a3d10eb1a6b42a8cc66a35b8bea184f6367368a38e0630925e90c8b140d6623c5ea0c852ac5fe333670922d8d80f341bc55bce4203335c7f7f1e2c714ad19af2f6926b6976ba9fc24523e492b95638d5b0a42cfd59bf2eae84d003af2487ccb560b41d6202c747610082b07c28647f2464a6fd74d725051ac88fd81dd9b4d15fb94aa3cfd5528b06361c5e1e7902696e36409befaa7f9dbf06f77648edd43d6135c4fbcc2f1c94f24ffda50bb9b2bc598fd4d2a708383eefc2ada7fac457f6543d03c68d2030e23ac5772ee8c4b672cf1829da2cf0cdc893e81930db7ee7f1fa5af881a43317d30ca040955ab4cebbc2230a768015f54a8dfd63dec73db00c58a4cc3cb756cb669cc1d4f3327ed66eca1c8ffcb336e4ed13cda1edd1738db8b764a7f7520eba168e983cf4248a95b3b0c5f262dceaec522d78e239bd6cb5c213fc38b165fad8647014513829ed8fa00da885b95a4431aed9535c9c02f6aa5952765849210c2e71984d04b03ae3698ec38277343f2b725c2d2bdec66b99b45d4b77b64ee01aacdd19ffb87800ec57f400d732b03afa1da31b78d074ece11ac9d0e987b6233c86b9004f78be9466177d77f77b497559600589714a8935ac813d8cf4f859959b632150f09ca7587e0f52dbe18e47202a62f3aa0d1194df5deb217d62c4dc96094f7608a673fcc52b09c721e1c001d0592a2669494f38f9c6e6a26ba09eb65a7529d8d0b893374506e7b3e4b2dc1d88bf6185c7dc3c6147c41","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x25ac518bb794b99a81f11e26e44892f4f6e122d2c2fc1434628c58d50ba38825","signature":"0xb21e0b9068bb1fc494d55e9be1131d272d5d6adce71587e5a2a960b5e83f5b40482d8eadae0e71806569279b474433ccfb9e51f600bd519210623292334c8749cf3a44638c9c28ed361ae8703ffcfe3816e8979ad696691942d207ffe68cf23e64c190e292c1cd7127b4fdd818e3bf900a205f07dfbd5c4593afa59d5e0afd3e829bf4f72066809f23ca254a0a82c0d201df12451cbd9ad42629f1bec4a1581fcf52a578933ae97592c70746a83e66f1748d3ca0901c85a16e97db22e6e15d15e9cdfaf62e4e5c53ceb31fb79b72fb51fdeac9e6daff1470dae1acd67f554b7d7f93e094ef16f652d81c3bd733b00878bd94183679c85953b9e6ed15814d6a6e878709d9ef82a0c191722d1b5de9e5414c683d31ea9ff8c2049a0b3387ce39500301af026a24eb9f3f6c9456782b0408193309df78ad61f53737b6f86dee097f93561654b2641786ae8fdc5762961e2c4027690e804efad3420d10d85eed8592101982f7177946486f17e0f1159e4c1e6a4ccf1090881d2a237b9699cd1f30a5ff7394786f86b4c36584f60a2b2ce3b2d73b9213708a0dc757fda78d9f053fa0fedbfaac0a79fbf433fa1a30fc37eaa46b8ca22add06082ad18ebc590b1d32dee470205a670b9ae3a60137512d0accc4c6586b24050631029c8e1398ec046970dc645b977fe369701f13592912a1bb1333b5cb7895f37a3388f3eb393b0db6b0d67cc62cd3b725363a98de097a7d8b22c37596291e3d0eaa01f97a0db27be489367b8655bdd126888a52e4933c9460ed8ca22491c3172b89d903b4107c7904eb2b6ac6552d6eb2daa8cf37643e9c960c188e957a61d74c01fc0805948e0283172ae9a49401f62e1a4b68df21b3e83d639488e433f1dd92389988176d5165a4489b18bdbf5afb4e1714dca07c9d91315ff13195c8adcf93dde6b2b962660a860fc55801e176b3018655cf388d5fc661c7fb05c29974ca953f7f8229f382b3854a8abd605c23fa4efb59b689895e397a794d7106880b82256f5a0dd874802b954fffc1741945dd3157bc048b4a434a7689588d800285001e65970e04a9b1230f7dcbb6ed60957bebbc71a0114dc8042d0ee8c4039058710417dafda17e97efe61a16230c2e3bbf5110c6fb9569746e3bc70a72d7961ab7416b0ca9f4d8acaa6e6478ca8e49525a206757d4dfee5e16cb02d5b3cdf1d630d50846e0417b9188b380285ea842147646d4ea1b9821a581af3f0d68ca7980d76512a744b6c169213597763198a586d09d20c1b79f12fc8ac22643fefa16061c464512dbe53c479d3cc535dce3e2ed43508824089373279ba122732dbf167a21633e6fe2e5169f369c72aaec4aa4d45bff4a26d46cda5714d3cce106f893d902fdf616224cce8369487a9f733d7d9d942e70323b0ab9c3a784142d6cad84fc90a099bb316395c77d72ee26beb2592c784dbfc8618024add2ce60312ac9b41d783fa56b711893717bd6ccbff1b4acdd037a09c53ba24e6d25eb292ccb913ca9a8368a2254764104c56af1bb0284a32153648d0d1c1de27773f744046c4a46a40205e4c90ce3168fda1547c63a4ab704bea4516a0e63eb2377a29a2bb5f3fc4653cd15ea410faede2c310a4a782cad05158ff5b434c9359b4f455c1ce15cd8c9648b39c254cf7080cf84301b7c412d1e92170e43ce180968ad59907d34dd813ac4c972e918a84e741c22faa6520e5430b59aafa27b6873264796fba0d88979ecf52c832b6dbc646950d1a2e69ae7a22ad4cb8d076f4358fe40c51dfebebf70c325277298da0e7a3ac9e0d1f9bcc6d01ddc61ef2decbc6dd61641646a26026b4041b3014e7b33b712505112db8562ce2806a84dd04942d8397153dcc29614b51c1f2b7867168663311d4ceb1b53e3e58ffdc513379336ca7f14f79c390c78cc8b485dd52d437b820b682f15a5bea71469e3e7e8e41b47f71087b74593a8b18579192b59ae682292eb73fc820126068cc14aa912d263ddd7cad42ccd8ea5a7b03ad82d16b17c6966394bd22f66e39213ab9a073ebcc89c0f0d3271f93939c78868b2a52445d4d5881afc07ad5a8c10a891e9ca49c9ee8483848d188c6cbef7a7d73b4f5b8e5240e174da883cae71d1ab61a629fc8247ada1f980b288104e720b959fb055dcdea6dd48daead47f4a4d1f5d059bcbf8e35bc71af7f62a721f9d93c8a64a71e9359b1639f292049a5475edb979873d87176d31ec29d599d8b84e50089c0f978bbc9f053427027d188f99273b20cc593dbe6f3b1fff562b1a9827191dc93c948ad064d09be11d923d279f38dc49edda6f6caf2630347fe6f5808eb5ab8a043074a19cb37b9330869640dbdeab4bb7a2cd6435fa665df731fbdbbe232ec91c41baa23681ba77ec8d620539decc39d8d4200a7b45ab87ccf79f68755206976d1b8f8c97a63482d9e3f298b490b9eae715d8638ba02fa4b3ad16f8c1ecd1aa3228fa2dbf8c9c9b6328c90e50654d452c3193fef64d837523905bfa8076eff3342f1821ac2927874c9726d7cc04d77aee857722fe93961010d264fe0f3abe61c60586c9a6105989c31af023672fdd68a4aa8e749b2a12e1d3742856beea538862c6dcafbe63983796f471abac186242bfbbc975c0a37d57742625abc5b3af9096c7fb578db5c6da9c2a3b1e1ee1a286035a1094dace1f1ccdb05ff865b661a7b2c75a8d9c2845ead068f3b0674ac7e3bab5811c6a836bb048af6762dcd0d3cfa60da665484bb902b369bb132d2d051f6f51f39be9ce6b1eb3b68dc4f05f5c67258aa967087591638af06834baa09ad3034a765687b7aa35790f79e56a4666d1e0e6ee22116dc77788546da6f9f6220a9d7c133de244f8efc0324972686892a09be2832fb349c8f8595109fe111f19d1c344bbbbe50e41680a29b991fe49fe3ab5e86c65be5b2e0b9b36c4df6d23f34cb934c7d85a96c59b6047526659b3d5340c5374312f9bf106c7fd85c212b8174e48e481a93609df58ed3c76e496fd068fef7be8347c0478b3aa5dad9cb9f3f4b5dd1839152440c0054dac8a85ae63daec572dbbf17cb95dc84745e65c2daf8d8a7bb47e7da121389412fe343efbd53df27f1be656a0c7acf795fa34253597d9e3e3978eb47f5da3ef3038dbbda2975557f061dabd958c3d96de3bbc0a7d62b814ef856f985c04efc43cea467c90eaf8f98e00b59f3b35d43489d26cd47635d60e0023daa0cc12ca307d592f6a898eb216cd2ede99f13ed22e792414c47969e7c76be3126305c2900012978c0355550055a1730a0aff6e87b051763ca32b128043eec54255910e56a00d3b2be146032be3b466105e71047c1e41fae76aa47572ebcceb821cba8210acb4ee79292595f110a012f5cfa40da383929ba8ecc053204e8191f1c5783fb5e238ebfd90273ba8a6121115b00f40cb7926d7c804c4c80341936a5d402051c18f10e1bb23f269dc656401047653a86e594e7ec4744cb4b24d0ade5b3f2ec78d76bdf7a9952a3f99ad5423840eadaeeb94f3bf1cd5973483dfb45b2a5c7ded04748a43e90001fdcd374c63b9891ac140e8657f2484eeb1ad5be14d29f9e600936a63e7e0a6665c05295065e3050c7d35f065ca8bb8ea97af93fbfd86e5656ebe7dfe527c22a7132a463c42c3940103aa1e437b917d194e867d3892f775bb82b626dc5c79fb3a1eb7ac1009237721936223b3f221b7c31f18b56b14e6aef4af23e71f08bc604d104126a59131e4f5d1b9aebe9ca540fb061ef7b921b1e57d4ca7700a51ca8dadcf26d03b44c037ec8b689451f686d92a002e306ca905c40e20b35ed420b45d7b9c82a167397f2ea493fb789d6556d86c3ab85896d3f74d5c66d0076ec01ea1981c6cfdaf5ebc15cd850d6ccdcdd56c8c39a6d45dc5c2a4588900c7a2a29ca32c12854bb081dfc4e6d920ee6c4c07d873330eb93615f28d9dfebf1f3f43217733d8036db6133b9457d4385220d0829d30a17009618c9f2fb78f42bf59ce221fa03b04300737624d7187c2de2d28797e907829a0e0011e7c0eb8b83c14a97056f7e8b9e357467c09fc1e1d0f0edcffa4ef1261c7f501775f832bfd19e43e7b49c7667b5abc88d8062209af94536db3a96e1161ecde76d5779adcf93e9c31766495d48240fcce2d173e8b1f3d242d3b17b69fb63a7c2a7ff2355584629c1ed469905758cfab5e817b67d395ecc073584c2d4997da7f420348a0fd52db4ab8c10c64a4469d200b9d5ff27b16fc3092e04093f8184d0d8b1ae6c9ecfab0951c8cee97136d00561799d16039df5c8850cc2aa25e496c2a529c873f14e226c765445f3e054caea963c5a05ceab2ef5dbfe784262a083c1cf4555e2079f48e7ea097ac21cd362446ad8c24f3a4a22e89ff53613c13d6527833f48e5af6929ce4b16bb311f19a09b267fc31240421e7d6198ca5dd2504ff06131fabdbb3a209b9a13777f0674e221bf9f91db1937fe81eae18fc3310725ef0b9acdd291879b8819487e9a305fd66a6464ea813da5d1dd2f1cf1928a780c073e6af133f5af5373df4ffd1db49db2b51728410e53e291e205695eb75fb02a7715b0d0cadb336eddef8f016cb4622a3bcf81b95f27ce28cd4b5d7b72fa23cd041b797c77a53cb992ce60e6ae369313c81b7601077f0790c51a7e292ab206899a5836cff4f9df66e61b6465b7ad34115e1364dbbdc5ed2bfe0c5aba2c6f5b8c48975214628e3b7d15de04d95be712086a7ea3f2be53221ae222335bc9fa339576ab5f4cc9542b670c0d3dfe26c520db557faa592f4e2b3db0498433162e2374988e31e97c74ec5b05de0e00fb2d347ab52112f3524358e8aca8d8bbda9148c29d5cb0281b095fe1f4310e96160beda9e62f6314e7d8e05fe9d1575e725857db759a38e3695081f1bbe685f94be6836d685ec5e75d077e38f1e97a1b83c847f9ca314590817be3110ecdf1d072bdd2b0340830cc59fdfc2c54a2a9fa3ed392a262493e36c3952bc4ecbf762601dab520ca56e99e21ae648e36eecd8b2d21c995fcc3fdd57c286b4da97c58165e97523a0b95287b85cde422465731452d0b6819f47a6b61ddeb2d671aa23260e59b2e43b2d57c98ed7317c362bea497b760da88fed41d2c7268dec164595a9fcbe296db03503e0ae898df10b20f4021e8904831d7c363a6845245bbbf9db8ac63cd32ee1e6f8b8cd5eebefa7005da347d0a4ba1ff3ef837098e8b82732e4829c846b19ed64974c7b502ba6cc518c03d240362173c98c53c44ac4fc21b91d6800eff9f4b74541e4089be1be134aac79cc9a8b81e0d8abc6ad428d46750866a9b536dc75438d1dc4e0e344a4c9f420a5005cd4ea424e3f6c3e41f2c231fdc12756f7b7f175eb922dfe8c3a0b49ddd0d4d33314b3f99d992cce0970f8733414b55e323f28e5ebdc2af5d3d81242f506239f361672ae586197790456f50de4e2e245e8d690eeb6d2378e58462f7b7ede7bd8543c906b5749dea2d24e874e5f0cf639f475cc2fdc7c1241fad360f96dd59abc3e4a55b458ccaab5ed25200fcc971152641fe992d797e7a7e833c8edf9e101adea45613cd5f286a10de82f7d7b65ce84c0645bc52950a4d87966049d0d8188600736ec4d52eb63cb61070a3d6a4b7c245964d8573c237ac89598c2e55bdedb81f9f3c071a97a5a67023c241a76ac92f56f74bf1cd0c5eeb06f0b1cc678082c78f57683d8c8ca85e13df1fa10e5851f7c67b4b599e940394fda738125dee499e082ecf6260449ec97c97a6d9a802dc5a4e77b7d9fe10b27fcb3d7f3157a8d307833e3664b3645d8460863032a57765d751c5e227d51bc9feafff27f2b1d7db518e2721b119597665b2f8f7b2f4d5852a529480ff97813d873ab5396396370ca131a30448b02611782356a844c2239cf0d6d03763e74a919ab26ca6af9c4c97f14b2375558576dcc0540bd33e5cc27b23e0efc2adc7b91aca85f6def8b8c0c451233ab4938cedd3d8172292eb1c3e51b15b126868a6aa4f5eca5eb3f4ff8f9a383637a61fd35ae484476c2272cb7de767587855acd4098c31bbd48b253b13fdde3386f36ee3a89d3fb88c1e2a619d5b664586fbf1c778317c5d73e74ae8312ce3c28be189f86b491e0012bd137db419958af90ebae4325c64ca25d89e67baa4d363c6de0baff2ed1118482b6742c8545ec5a085b9f990adaf5eda01406eaa1bf5dcd2e63717090b709d150e0ad267b80b605c1d348e991734a971949be915f3cb7d55796b9bb63820f0712cee7b2e79db375297ab3a4764d77e8091b6de697075fc2a968cbaab770b253681cc36ee4dd0ec4c19cf67eb6f04174b3bb1df6590e455b049849cbf9aad0c35cd88283d99af11b13fcf491128510568402a871b427c751c538cc6029a0da6a84d88083caab567d484efa148382efdb2c162be77e727ca6c6cecfe5f63fbde42a3444596b7589a0add2def6fa132c2f325158697a8fd5d88da8e50b57a2d1ff1121b3c8fd172c36576099d0eb00000000000000000000000000000000000000080b1823262b3038","message_root":"0xb03339e487774554298350228979a80864de7076d992f68f523a24543900e820","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x46d70da085305155619e0e26c4fb62fd843494387ebc81fd6b5dbf7311d21a3102c2f172fa67fedc9113150783511c7721ce878980c6aba45c536316a29fa41b119740a5af2aae819cf2b8fc0b271415abf3a473fe697508ffdcf9f3345879cc71ccb80e9078a376507ad1f8e1147f4e1ba601bfafdd3b5ad02277d41c63df8cb780cdccaa7b61f76bd8ac23fdf23a7c2c5951a39ff6264fd916cd831ed3e126e25267d9d935af7a7ce93211a1dfc13a93310c5667de8877a7cab124fce8598414b00c4dd8c6a81899e7c27bc81a1cbcd34b770432ac836520414fe2eb8419684d7ba27d3f780ab8906df5ecc8b9277672ec0b36de60878ff7d0a6d2b184f8851c2bc42a3dc15fd36deb2775a6e23ab604c06724793e45502c4f19e677302595e4968f491846e4fabc33be7c3fbcb6bdca879365b660d949ac85031d5ab2aee1c900a41f909a27cb0be5f9bee6ec0b776f5b9e5247b8c7a53eabddd94d8ebdecee69ff7e1dbbd6c956ad39dc13b98b52eaa9c9a52e12f65fe28f16f863eed37cb63f26147c0dcadc005452c7c8dd738197bc5baf1c0646337bf4f11818d5d2989f2f10ea9a66159db15560d9a17a11407163c4a694d4926998e49901875aef606a702ee100489e8b981be94be88e8d5b81d3fb6b431afe10e9e4acf22a96eb34e70155d114b8696be8ba9fe0051028e242ceb6ececeb07d89666fd5b32d6063eeee9e5cb04d110de3f1f1fed6a12a13cda3f84cd0d9018f1202082664426ed65ad49ce442082e535ba97f66e8c1657928a942c26825d0dadde2c49fb6524ca6bf8ca2a58f4b28b38d5cfcd1d4a116b57eec43bca1d8f6142df35833b06ca015bf9e6961b2ad03a641155746deec3f92ac00d24eab07892423210cb4baebd14ca97b005c53017da421be45ee7bbd37dbd8b972d77d4300d3fb162192bb1dd177cfca294b68277e37c6557a5bcf36311327454cdc91b4c4d179c04c3be5b5469c6d472b964131ec07c680110ea8b5c07687f5b427573c0a463333218f366a071c7e6bfad80400c5afb257e184c9b307a88b1a1cafae902f35fbc24755a6838a23e9ec5dd78c4375ecff2fd8ad63692d63bb6bafd66d9173ca7cad67b7672fcf881eb545695673b33c00c671b3f7efdac6b11b1aa8c4c88885f3a1f9503de934d0de7be375943db497a2470af2f09179aaa85309c13de1762ce6ca416cefe72ece54f098b1a066681b4c73f32eb73bb2df96020c052b91626a2e385b1feb7c3f78d999baf1e98d269a180702109c0360a49e5b4245c3ff4d00a176df135b7b0244433afea02610f46c02e8cc896e523112b8333f11c0012881cd7f4af7814a660241a98e0c9f2b6fb749ca6ac51ec8acf5bd95886b5dea9ed8e0c1e1efc080ed3952d4910bbcc63fd9a7c4b9fe7cc18e82e8939d10117462de7ec536339773857be6c13d53e87a101a4c9ad23bb8429d4bc0c513e53f9e23870b61473ef6bb18cb30ff027a794bbd2ad5201e57651a4a11c71417ecf1a489593f32181525e3eab91086b7aa6ab0d58885ea78aaf003f1f0132fb365e38c256efef4b4043f959f081c53a16d0b9eb7962da77168646b407ef3ade90b4f6b1857bd04dca39afcfb3ed2f35ff8cf52add7823317863df1b3f6df49a28165d26677ac6a2c0c18512437e504dd37552321e8ea6a4e158f11ca195841ddc114507aee658db3afb2e3179129a425975d08e89f123476e49c6d0185935463db783303d662265a8c05a0eb0aeae55e157435348eb1b4ea2813bc0588ec9c1ae7546cac6bbc9d431ddf8dcd840f770cb7126a2d1bb6d5c3c687b4bf782f4ee8e22e6cb01292a947942ca8a8afd1c55be588fe535997d9d72377ff4df622bdd67ab1d0beeb74d605c0e7480d76221f65652e10509eeaf3e659ed7016ea8bbfd53fa8100662838b7f0d598b7a2f7db78f48c8374e8d22e164a038e951b607225c1852ca31cfe617ffd676919de8297e42973ef1d899ed7d870b3328c981bfbc30d57586e4c7e55b5ecd47e14566b3b4c9f696df7781c45a5c892917329d5425f4a63a92104d4c0c5e59f7965f320d0f4fe5e9176c73381bb7f221743d29792712611546af0ec9a319bbd01e21bb1e64f7c408bb1e5a1d7ad088a38118ced6e342d70e3f5b4a046f35c05b08f011eede6fdf51db1b80652d4f645f14896fab964c1d40ab011b65c766127b8d772654a3a7eb9396ff3232df866bf9ad7fc277200e284121954bb7be5bdba5e12845c5eba8c03069d547aa5e041d9b153ed41011db4459b40848938599a0ce779dc029c3a742aa47ad432054c6e97559b18b86d799d636abbc320f9bd95c2c0bd6e5d933ad1bbba08222db31ee8d9d6f4e3155aa016f0725ba9ad434e558b0324efacd87d6062d4807bfa9cd71c4751d20284383505441083016b37a972e720d7f5a137f986dd9fa42f605a85189a9352964822009bcde88ce498aedda6d3cf58e80e2842c2fd7ab963bcb3e9dded04871d41277e0443ac3b08c235cefdaf02e2eef2434a2f000abaa61673bb9e3da511a8fe05d70eab45f5774d4749a00ec5a00a38ecc5a088fab08cf0be05ee71c03f1e435797aa190ac3c65784a2e87af23fa84a854bdb8ff8939e337339a3872073de1721533da1491673dfcdaf1c2775a7f166b83fa8a7ff0291044a682401ba45441007838cf41af809084463d161d6318639f0547ff6f467e7d3daf76d7d46ea5e19a9b19a46057185dd76d44973401dbc29b759d445fb8e740ef1f24c71112382414bd8a38209b2b7cfa9f1c1d896686db9e93737fb2a450e7acb2c0e06d656673cbd54b3ea5cfd9d2da49e95654ec2ad8cb70aa10f036f685d57f6f9f7ad5e85909cf22ca23c4271089916a441d82e481031dcaecd2b2d10bc7de87b7f78ce1eb1e627e871e51b5b5f941b5053e217a55b318697439b0e59fccd6e92bab5bfedf1e32199d74e5e9e7f10b5be30ea7ffc53ffc1e29dfb3e2075cd6de979f3d47df07177f8bf08b51369d2be83591ed35ef29fa3b35b8adf562d1771a33fd07da7df142ed5b371e98448c1d15004916f3fe0f1147ca0ca9bac12535aaa9cc53b8e80c543af534c76759d1997bcdbde4f5e0b261f7dcdeee182d765bed8d4fe254e9b840b607fdb0ef8f4502ef347d131d419ca1cc3c09a7035230faf3bf57194fcf621d142f5fe4c302b883893c3aaee53a8f380a72de3c8de34439c85566c3f6f2715373d199950a733a8acdea5da64b6d8c1c12a6462c16f205790be89516117cca31f93aaf52c5d9f03c02ffad83cb214cd68fdd228ac8bff75c332cc1085edbc9483271fdb953cd071158e9fa001e53eb3f1db0cd8123ec2a3c7df7a9a206b93c5236876245b853a4b9b9a2a1acc747034e891f98d7ff923714bfd913f1da7c7dbe152b6ed58ea29a0b271b6693f16ef166da5031f990494cf91d1cfc43c739ada2516bad298f92b288b5bb90224e2a77eac4af0eb43d550978624cbe21cf6e6eb8ecbc4f6dd8c8c60e9d4de1cf4fe432e24619d63c6d993639a91a4cdbd072dd6da3de6be5359499ceff2d3654881f2804539f3ba105f9a221423cbbb0948130cd7b328f29b6f3358ed5cecd73fdf1e8d1726deabbf2c478edf7d1fca4052fdb83684e0bf344618b5a516798c8d5367","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xfe5c0d076d8a953b31f748b11116344f256667cbb9fe28a75e16f7c31eeac523","signature":"0xe02a96955b72dd5b3323ef3fa03179f94a14cab83eef6bf4eec119e38fa2d1b2c89fef940608ce290ca92182372c2ecd69d1d1789efb13aefdbfe23b54ecfff68a16f39955921619de69c58682688777ab351ddf5a59fe83f1f5114377bb49af8de901f1d44d28f4b06415d846c0d228ed86c03bb752b9b8b8fbec70e7e050f836cc2d3b1d4a19038b4fbd31659cb8c2c0c4e19fdc4d7c9ee246aaf5f6f3b3afb1d129d19bb7d7fe270e4439df064433cd4b3fadac384fdef8573194545074074cd3d9ebe70baeae37ddbe8718c9751f9b136982ec4a0be819f032faa91b8a816b6db9ee398704f95d3190b4615b1a9364cba3d8e7551a8b0676982a6342cd9837d2a0ea731f5837cef70c3c75b27cdbdb09e5bb6a7e388fd2b8e268df6cc89307de7dd250320d306cb3ac03ccc455d36b5532ad91ecec2bad1cbc136b7047b5eeaf0b195c6357c6aa7dbfd9d2fdd76ec41beba3e29b5e866469431369827243a1c8631fc27c7441adc94244a61afc5ba2fda55fcc8dba27d2728a317845a5084790f83fb45345b5da35f3807cf70715134c57f922abd6564e253e407273df835440accc53d738e19dbcbbc73bf121c12ff11554c691e5453d0621e971a1f63d105e3886511fd0e145e335869d5acf2a713997131c143431d0a942b941f65195bda5382d318e047b408140bc0ba4e268621f59529b20fab47034bf9a89926bec90a60b721219c52ac65e9800cd16d9478e1d2951fea58107657807bcd4910e1beb316629ddcbf308b4549bd157e33200f9229d507a44ae639dcfd397aaeebe8de993170fa9dd9e18fede2b88098cb42a851ec1d77985d844a1f881d07ea55111c2e82287ba26a57d73483230bbad76f8b5a7e58dbe4b21e36b574ddc29d3167a49475732ab10b0590a445f1c7d89003d0586b816da9aa18ca357eb35b8e78c45a61231c237748d065e7eeb9611c15b7fb414a4f5deade68f85b2d45cb6591a0ef3b4e6e2da0128e42454319edb5f3b6240cc779dd8f66774acec6c34753fee4852eda236327ebb1ccf86d05c10615691b8cd4e0c40cd5a21b5f053fff4588a7e1484272e9e63889b9b45fecf1127281c3d9c427d835b0d929a9f6b4bceedaca46a3b816d0ffe93672bd40ab26d037383f433520bf1d6fa881db7b34b209c06adaed2a5823032e95c675bbe342ed443ee02b8d20c10503eb8d5b51a62bf15ee2186692c488d904b2221dc1a0fb0601a60d965a914711cea7f29e5ddb925381f9a28606430b98280085af8dfb314376b8dba4ceb1009a0422f16155c2c4d210f5fbf3621eced17692c056e781bb9a210a2398149b099c41360cdbadf3df20dedb6e4e1ced924fb7614160994194e673783908acb68bcd3879ce4505626b71fa640fe1fba6dd52d52dd5cb95ef553c982b0f13ab0d9875cfe586623bb019fe8185becc079b422e84a5da73b52b9e486ce32b70fdc62b7411483cbd6b6ecdee8b7483492c86ae18d57a75400025740387d6e6cbe646b424f216dfc22abe4498dea5898e4bc7956b6c4456725c5579b2e1cb85dbbb30139eaf2a0c770bea4a563ed9bddebc571a4303318810d7ae5e196195495fc03c973b0203f74807701f3eea325294fe31a94b6f8dba3ce70106a275f4ca885e8ba51fcba138d232e119efbd7d3205448d1b7cd2796f21d51c9a95fcb1278f9fbb5aaeab7df0653df70c76fddd7e38fc73d68fa39534266b17fa584302e58318b5c6044457b0d3b36f1af8fe77b5b2c5a2c1973ceb6c3f6aaac6d7da28e782d2248b39df3e4533b8aa605ebe68532e2fb66ce16f06a5fab045d45c8dba387a1eb45f8df35c98295ffda11051bce8900b4863b1ab17dd3f08e44865cfc603643fb759c300b4bf04c37618044f96a38d9d7c9325d3b89739ef720801866bfd37692bc7bf026e1df838941f1898a9faf32505e719a9f643df5a476ac1bc543962529ccdcb644eaa3e54379037caed1f7b52ef5346294ab7d31baff959c2c76473676ea2fa653bf75517c0b65d78fbe5d317a7a82337fbeab03dfe3e6ecce9fb72fffe716b5f869bcb9a2d346028b287bf9d24e27e180dc024b239132f05822127271c0fd24755aad904dc1f5ccab889d69cf61038a42f7adb4dc4ca8ea62023b1065d65f3e3c9eff0eb2bb99e9bfecf462ec815cae965fcdd2c535cfc4bd1794d7876b026d65e1460b7856e383fbe13bdbd4b7fd099475fc29ff67386ae3a0d3d86c0db5a52b7d5a051d623cbac6af1aaa689b33be3a93ef4cf543d29e608c1cceca0aafc8101c1dc02d51dc909b20a449b7c119ef12e5f7333a43652f303cfc91c85524b9f2f08b3c14822a60b8646c53442e4fef611277315698d374677ded7e9b66dd048c4df579a45d3babfa334d69d9a62a7d55c470830209fe2fee62a60a094c52dcfcb6f2f8ab59281ded9e0b173db2d9ff73150cab7d768b49ffa55a9e36561690ba02b0bbe760c64e9162bd71b0b1046d0502e7fcaf6ef502bc87d082c4eacac0a204013a2350f677ae8b1f9d04b91e61c459ca2d7fdded85b1625ee5d9f2fd89e6ff532ffaefa5dca667350c080f155945da9447cb81486c26dadeeb04fe2fee98119a979f2bbc3b07df7ab73bcd59c2079af6673e7c627bd3998c228dbe9b11d855eb09ba3cad512534fa8b63df8b5da2612d766786892274ee543174fa9346e6165f3fa05d766a261cbe6e78129dcac73c2181127b00e50d34874694decac11e6a3aa5edd364871c9134c3a21d5c3812e3cf368fa2747e102f6123d0ec50e9235c9f8bec169948892b5cfb163ac7449376593d524b2afef8e40e29b672952201dc28e4c29e1a5275d9be8d675a531b213bc30a1b8cfa5aa918a6f5d1008fdaae408b830960a20bae55eead5805b432fc431e74974ee12f5f1140b27d85ccab49a08a29072cc6b89ee4bf80b2509890f8c0e662f5496901a7ab694f16e751ed6d4824d4221fef64e2c59746d187372b0967dab2e14d15860cea40b0ba5c08e306deb2a62ff5c726a1fdbe842799f27847c2163b0f9d23a73dceab0c68249537f0cb18f64e967b8b3541ba70f9ecead36de197eaffb4f47d39752b1cabe7e2db81884a9918ced84574c6d03c70b2f16b485afdfb7a74dbe1e1cea29baafc04a062f47d18c67449d92e38b839bf94a4263de8cba9aff0a6cb6342341e95d44beb042ee8a166ffe801f8e76945faba6f5695454c8d5c8a02751b78fe76257dcf1a7a2e8e605020bdd1c0a54d8c0dbb658cba15583f54d8299ff71f9874f59ae5fa10ff3c9b2ae2c3742ed120ce53953ef0f1b3a7c43ee63f10832118d0a16e3d275f306a555075ac485694b9fb79a345a878c983e5f202864c7677b98cf9704bcb3269ce6b703adb738750a0b38524fbb0017787fd71bf3b07b062d7cc3cf8b26917f9a5fa771f758433b7cbb9af9222c6df074ecb974a67a29d891a4d862edec9875da02839ac9cac0f799547505ccc73053fec1510c8e2100d84c6c3c864d9fc4d5d0b12e0cbf45ae63cd8fed3aaf039e0c25f2a4242977ce7f90bc430b774d658f3f06305248df22bf0a6f5f7a7bf661a84fa93b63b55a3f799142955d33c04f1771d36491b60f5a09cbce5262fdac1ef04c48f2c2148480db38fd660fc5e02b0b4fd72a7ea4c24f550b0a84c529646537a4ab207aeaad00089f1609270cd10b700ff55eadbfcbce65e60b92800b6eedc4c571816e40eec42dcf81cd7b67c9ea26bd69aedd838f3f74226524efc3f9aeb38b2fc689c29d32cc51013c5e19f9f2720cb98dd118244cb3a3ac3eb6cce80738df9e2c0a11baae2feaf9bc7fe0b3d52c998f0e3a262505d6ffad9ad877812ce0c42e0ebb27a5ae3cb42e11cfa21e5eff9a2403626ec5f4d2eb08a29212f50e44a066d5221be81a4e168ac79fd9cb270bdcad1916e9ee56080fbbf4c9c9d9a82afa2f4da74a6e4416b9548400b186eddfa9bb383b23d5b582dfdca821a7759a75aecfed968dafca9c12e920efd779396975dbe48295d244f11890c993eb36e5b33d4deb3b121c0c188b29dfb7c38159a1505016aba6a660e72663475eef8bb8a57f329dbe82804df953dc2ed041506d55bbc49fddfd971cf143f7c8e71c4bbb0100639b795ea98c25211063d19ecdd7da01eb47ca526aa886d2f5c811a6852447e171df099f6c8cdc61b48760af9ef73415e58278da64f0219fb5545027ff1420b0525e7bead700a98f95b5bc38d71089c02a4a47db33e42a75c1d94877e0fab3fb275c82d2aff7e92a3122bb552d2a1b99e3588f619c33f0fa2e9b13ec08f59a35c68505476f64f5fcc68f7c311b0337fa1eb5f3943e21bd8856d62f31ae23d1d77149b56a0e78a6e5a3e753797f5d47bd5332593c5fbed961f3fdc9597cf9af1d4b3b9a92ba1e21a6fe99ab6830d53c6ac4e77c8b4b987d3315182d8113bf757c90c0dee9f0e71bdbcf95fd9be29091d5251f200192c9b1527bd288b772d0b70179bbaddb492eec2d4acab77e16ab17bd85c495f892414fabf6738718e5252eedbf036b1028066102aefa27696cb20d978f11c8c7297c4462494fe78fe1ff44b0a4597640be30d0890cfd6b09943bef4da7b6bd4fb270e6e895525b92dcec21eebc77e1ffc510ca43e2decfaedc82b37ca33094483ce1d9c95ca78bbdfa445d2eee10695f88a23cb6e7d279a4919b8fdd1d9d432bbce87dca2af49cae1602b7edebc6102494bdc4a5595580c58463e3d91d020df20818e61fe9ce7bec1ae7920ddb5a55730bd942f98793ebc1997360235932bddd81652ff60f45a1c4a98cebd21a445cfe6d642cb99168aaa279ef62fcb3277421a8f28d01dd1de237e1875b8cd7cdc2cbe8ac619ec9fe5187a203b5f459a48cdcb034b3ab14344c8804bfd1f29b5076b5d93df7b56d08f6f9a3f9b0becca3a9cefa5f8f6aea12439c26649695e95114287b2cc7756abdcc5898218766bc5cfe1722df5a0c671e0c2f173893a30a7baf786624fc98faec071893044330b281a28f24043e8485508bc053cb0301a107a1bfd1b9c2f0fc2867dc138d69ed9369be877111dd3ff697755aec03a127d6cdacb73c217a72c8da446b364324fa03e4baa17142958bb0cefea3764bc5d215c1f94e9b9c4308ef8477b17d734626245a01c45473d5d937e20f54627e9f11bffa8f6ebd105fa82f0de7e3aff3edd52fdb09a42f27e00b502ba57cea2a66bd9ee17e8d6418df7b4cd1462e99231dcb325bb715b73948ef3fce8fe901416d705baccdcbc0013c5e6eb15a758434c0358a4ff322b3badf9c195cb601bf5b45964133252e297dbd62641cbdab89d453c64288fe30e31e43443e51b2fe70bc677d9355d0f6fe683732bd239126ff64b7486f9d2ca76ff2d76698fa65d441caad229aaef947616cfe9bacfd4f0ae5471abc4e0b7d683d793850bab7eed6116493d8e63588490e1efcd83e3cd0be5fd4ca6acecf74ff9966134a20764a15144089ccf7ac4d8d4a22bcf3a5c2d9ab9934a5412f06aae240b48577f2f59e86473b24d06cee1a1af6a866e93ef55d04ba35c3972965b925a382614afe53f3bfa38385ced2fef031d8b634e46b17ca1bfec2e8a7a91c7923d1457db4f75d20cdd3d223d15c947ab0e3999399c8f7dc2dd9079ea76520ceb836320850fc3c97cabfa6938f501810cfafecabcf978caa890a271f9e037ad3b566f5895baa533dc214e5db4edf17f36017acdb3aef0a54ce916e675fd05dfc99ddc11fdf7bf49c44954005a5727323bc2171e9ac81d9a7dcb1eb7d6e651cf9c7a812d1eca213b93c6d5c6dea59864cdbdd253a458d08cceba9b9de13ff76c508f8239b853a4dc0ed2083c800b0a7f455b4531de2523f1bff654dec903addcb77808c5eaa0a607afc04b7acaaad65b07e2289d0e8e7aa648522fbff76974fd1aff157b12b8f70f23978a0aa0fb8004c53548539ee647a056754c8bf06b3336744318fa21c24537e491190d6fb9c0accf35a989aed3bf189c92d56f95f1f9e16f69f29eb55e91d9bccabeffbd543291dd07f60d692d7df31d9bbf19959df63bf59c4ce2553fb17672b638ddbae05d1011d6a49b935ee7daf33cfa03c0c5ca09069d3352edd9b9b35bb73da9114ae10aeee9e3d46e613e4bc2bd3e1812bdd844008cd9147605cb85130c035c227ed8f1d0080cd6b3bfbf2785d4342b30d99c5891238f69069e008a8d76d5c9e44463aa6699272b18cec230192570beb7b168b3d8715a4b317f5326d24241fc87b47c87212402ad7d950f21d0e0466f31be6b17a9f77d88fc22b55ba8d0f47741c0840a0c229a18179f9ac296631370ab6a70ff5338a786d07cbad1fa3fc636fe8a6bc6eb5693b944050445f0974e5ed3e0c9127999cf47965c6e092c826f7c4cb3d9f41c1df3b3b58fb1d289a24f077a236adc8ef4769db700205be6eff61d495c5d848aa3f1f5206c818ca7c4d20e0f14374299b2c3d1fc0014343d6773a5b3b9d6dfe701171d39598c959ca1bac4c7fc0e5d9b003b6e8eb6c8000000000000000000060f16202c393c42","message_root":"0x1dc6b449081161d18008ca4bb0f5264388639b97adc0bc2c2e450de45aade5c8","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa9f86c07457adf958b9f3ea7c192efb095fa93ca8e98044a74dab066fd0a41e2a8ea0f69fd54a635284299ebc75bfc5153e1cde6acdb555aa5457d4c3d37d0fb7a84e9f8bff02148fba1aec2ab1f6db14714d275eeb7dbd9b707c438860b18d074204b6c86b45125bccd3e288edcfcfc652554d49ca50c32872e84904e82821de29ffb45a8f87854e90c37a259f6a99e19dda01c86b910366dc86c523c87a14d3a206c617d3e140c922a901b9b667eedda4357c9043cbb47d5633477c146ca2c144a0eeaa921f20b8279369b43ad7d0298b230d39f5746c737783250e23af7a0037bd2d5e17bfff8ef89d4802323aefc98bd5c19717c0535775332587688df76b66c149f7ea09031bffe5fc287deeffee3f6e695917c2e3ab678d1887b7547be909ce4a85a29bdfd0837eeb995492866f57b1cac3f77432cb405cd7a5eaff3e1c134db83d78e7e6290279a15b69e3a8402cbb5363ac796711539b78e30808d210c8215e17296244966ec525e78bdd6234bb3de885f25ed9a4ca7c57a992907784ff41e62481e4b1908b289bb4f6fdafb8505ef8506eaba7ec8de326336442317ed5d900a19839fed9e87e13b73050056d9a9f20c19d7576b1ae4f9c50450e351d6b97f65e6c6d15112b1fc70b2a8e7fd4f6a01fe29c9ba2fdc710ad4689c37861b2c80ae0dfbded3d2a96410927b4b236ac0368c33393a39a8a11345ecc293a0d024b2c8b3551a440e01bd5e015e36d168f04d51d01571b3c88659fa6b537d6d9eedec02dadf51e0caaa9c3acf4a69057a21778d28ac82466e3812c0438af5f0550b35b253dd04f0dbc30462f4783a2ac76b78b965c6c27df18ee28377fdf97302c43cc79bd255b511074de954da60cc5c4e4fab538ce4cd1a617de01d83281790a87b8ff99859e893232a05238d19178de936f7c89ab71d59adee6288ee6230eb95cf3bdc370066b9bc352856ffd4f4a9895b0e4233973d25c46fba6da68168e39dd88c17994b6922583c722bcce89d48f8deb65b155c6f68f4405216fb4e39e8d36090b40eb26345c28976570f31477ebfc18191733fea400942e7a5bc415aae92535c882b46e14b8fbaae160b930344227626b12acfcf0c4372be597a55e5e7321e320b9434d8743d20d06561213a79da0233b1dbb023ab92234488b830d9ce9e28a05ae0bebab87c54c5727d930b46a107f45233175dab56be657403aecac4d16e48b8262fd703fc6e1b90569d476be062be461052735b1267d91d59565310df595c3eae69f64987af6e1feb409ee6c4a55cd523e6524104da421c1ff1fd8a69b4dcfd8d65676af84b671aa35a31ffb00117fcae59f9154fb9f32cd729376cbdc90b9b3ffad6252ede0c3b176f6655665fa3fbbfd432cbb9181466d05daad382bc144d46ed15d8f3c88d4b3df6ac0b3f8f682f667906ca8c5dd9320a3abaa462ab23cfea13f9d82f170df13814a11f13188b20c5ece7d5fa47fd04723fb98ee75bc0d771f264a4c8a4d71e8f49f8eda0c2c353ed4ad7ffef011845a6eb1cec502bf1b46f152553a1415eb38bf04b38ff7437197d26d9026e5d96ac141fd51b9fe5065d2980c35aee4db621cf622a8c97716bd2228821572c073156e9af71247a8c39fe00a1a6780e821115dc6b2aff1c38d9de8e9ac7dd478833916ee08f0ef86a2930c0bf26c53b6e13d9148e4ba124c5c80d47c1ff6761b47a4eeff26e63207bc6972d54ad4d58e1da5acbf5f0bfa48ee71d06ccf4a98b486fb4d7a22a1a7cf742c67305ebd5bb174e355507920de17044240722fed83f0258a100a55e0b34baf4770c1540eb4028a10231f3f131df36d04ec5d6c0e4b7f3730c6325f42006ea7c6e6f4c9b0ace09be37bd0e3e30740894a2a7969b0d3a0464f84204e0214e736b62392fee865bc5070a4631219be91e08b5ded7e5726dcb196cb52ee2ead6a8f3f2646380212875f08713a77b1f18d09650714c5c4337d115e372adc663a5484f3f56f1539b511aee65141dd5efcf8717a1417d28d370b02b04c81190c81d5caffed53061b40adf2f36467e00f99959d0172d7772745d459b96e90d8baebcb5ca4fd0ce00a83b04d2fb5e21e60a27948a5bd49523bacb5193c08aeedddffeb3ad5388c5f9ffd38bb3eed705ac280a4196c33c8369f5c29c34396ba843e723aae517cd7f63b735f1c4aa59672ab098aa3bc594f483af6dbe7a2bd95734e8e2386566c714ad106b02b6d02af92413a94c409759f09ab7330ca605163282d98a02491525bcdac04331ff759541719899fad0d581b4b3d5161b854fd7e9b850e8dfdf2a87b10b636151a66a8983e3284dd767603296db20ddf162e5fd3c926190ee095472043b2ff5e0338b23be435bcbbd7f099bd9130d657b0385161f9faf720b028d4713849d9647e85d110af11e62273a8a6e89ae865eb6cb9d440b453a2b4f7b022ed86b41a0f0e58c7c86290af21dfef3aa19e02834bade8b76d25a37de8b7ca271d522fd86adb4a6bccbce5b0db49c7d5a5d12008737b82ae7ab3f2853c3911713d7785554a7cad794a8f674c2e11b2beb90eb2d25cafeae71f41ff2074c5b03bd3e398a410c6e4a7c1332aa7e3b03533813d32b9412ca9aa8e6ca99ff79c7c8782e1f7786b7d827f1ccd7036d401b1ede248ac9f3fe67e42da04056847b52080cac773f6c0c7f1f6dcaf9d064646e0a0ce47538c83e1bfd688794484641caadbd0e2b3a9ad6a14b2d74faca19c2b83194fcb0a0fe11019b51057f21a4da62e154b84fb45137ee88eea83108766d342244309579844da9d5e62bbe567218219b8b20f91d7b8c3473047aa6c67dbcaca816ff008b5db111a771e69ab8f1ed10ef22602dd1230637b0cdc577af164a3438c52cef725a5e335fe1346bd8fc59473b2bbdbea85472b758ec1c0c1d7c9f1f0bb6f07ecc1d68071f745e88f0c32a7ad87d394dfa2c83f0863e3ddfc45a09658c5125fb3c36bb702d95f94e4d90fac99b2dae4ca2d8b093fbcbf73f995df7f813ad3349d267d7d1828c37ad001637fe86d399f3427d2962d166c33593497559fa267615ad562f38f231445ad0790a9aecb923be3d866444dbce676f0be02d91f0065f424331f140c3ac61fafa31f544cc6a7e841c48d2c7b26e896c26613340125fb42ba78a8883db9fe821225c21087732ad8b413bd0f5fc14bd704fea2983b9197706586560b23379d3b18544025ddeb1a4d4b878724d0526dd407bb2fa7a2a7d337c7dfbd4517069b53e7c2803d7fdd25e9aa92b3524a7457b4bec4990eea1a9aaf216e70b9c43351755cf28f38371fb0e8848518f3f407730970e2a2cd82648d03c8c172c499f4b4eac98e518b76fb165f94b25866a9ae792df8ee02bbdb5b6df4ad17db20b7a3176f9442f11300c9c349f528ba092e1233b8e3f04f20fdf9ecb7465f0518125dae33576fdf733741dad08f5a8c82cc64e4d75ce078ffeebd71c79ef424a69f2d6f55f6aa72dd0871e052a1b641df48a12482c32dd3bb4f29e3b1493250b855b11dc7f11cc0161616a33126f12d1688cc7d8b393c398ff71cfb43cde75a2cfa31368e859a7e3f9bbe4831d8c4e52cfca6e3a9f5bcc74bca97b25ac42ebfc6896337c68483efd41801b9de98b817277513bf43b530b8d28894084e40582cb5009fdac75","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x4300677978fa209434776727591c9fe4698e7208a8a6bbdcbe6bbfcc39e6a077","signature":"0x895fb5e62afc171cb03bf8ead161428f45342ebbf8e70a4f0929f15d99bc11c4bc88805fe959970ba8eb183d4f070b1d22bb665caf81e3d1526cb2d65ad55ca5b4d6ad3dc5a9ceef0bad109e693ad8a4c86c877db00e273f3ed8926a74e02a0626becd097bef2a13e39c4c0096ff4e999496c14a26847fa10cebd09883d2eb91b0a5c06052edd15e36df327eb077c544fc64ca657ece9812baa041a2250f5524a219ee1e821ae57672e23de99b4641c66c5f354059a34af2a0ecd9cb22fe59de6fe4150c6bdef3962265772c49aaeb6400ddf8625a2aa6f143def725cfc21e5a24e342fffeebb52f75be2550724c924a96dc8e2b3723f558d8e9703f4b8ae2758df2d602357cad15c4fae143db5827521b388ff41557395d64d3e8b0910ce708ae10aec3a3c54aaf7827c215723efb0fa07c607bb6b3c695bece673f5eded3c4516dfdea98243762373eeddde0b928e396cf83f9b5ed78ca32838033e7109ce340286f612a7099caa7c384338d3dec750ce2fdd764ade5f55c53a18654c8b5a36b1da771e353a4b8e37f7a79ea53dc4dd3fc274b71884197af208ff4668214e0078ac98b0e81e3efcce8e1342d29fe7da7239c89c0343d296805f7c9fb9f56f19495c91122277d09ac4bb5ffab5d9729200d10e89b70ced6940c69d22a6aa36822276061c6e96a9cd84313d823914172d4b73ea2446670bda9e0c82b041d69b50b9cc9ec9ef25bb8bcf98555e3b7f1142c1855d8f465ae6034ef87f2946158cab3834a9f654b8cdea4074ac33c8059610595a2011cbeafc392f9871b76f61ed114ac8bf195a628907ba300584834675def215bda164f96724e46ff2c0de482466c5efbdbdaa23fe6610aeea63afd8c68595221bc6418ec4673b91da3f03c9d2b01f862511c6dcaadd3edb9389b3c95e2b9ab7355c18eb71878c4bf6411d4106cbdfa0cffabc017e46547dc5876fc8a1fc0147dc80fad468cec434396565409cb274bfb58064235ec66496e5a7329ada61584edce47c5dc95f553dc345ca1b60694ed060ef10cbee126bd2f6ba1d967c768a1b2f52db8ebfb7d05476f9f68d624594dabf8277635f9214e24e4730d67b05393ce30a5234b0e798b002ceea10d661b2d574810eecb01e06b9a86a25e5af84fe2f4cb56c30510b045b6ba733867b8553d635c62ec643fddd4b1a86a7dfe9d84e6775e8822a72ea6ee71236f57a593449edcc9647e7959da55513d9c6c40f1d04d340908e9c7485a8ed347d5602166b7e996eb335d17e9d0cce6d0bd67a833ac9445fab81223d0f1473c35836e60f389513f1e29ce1c2a4bc8a0d1f17cebbfd73bd4616937565af9a50b45b53f54a9c5575ddaaf5f7c86023aa9cba429e743b8eba145f6328fece710dae77e90da08611755209f983dc798a9a7a7cd156689343ee1500452249a337ba4898d4dedd1a1e10f275762f3364ce2d07b79a9b24f55b69d3392a9b6924318ac2a50a7897be2d3dcf82b277a8725f33a0bc43ad3aaebbbbda0a9dc54cb116c1b72f0716cc16dbb058cf3325af4e3b05a1820bf67fbb193deccce05f3aad5a79379adedef87625f4384b12217b8791d6438fd4dd4fa0498147e7c06e2caf41c8da2a58c7984bb293862d78f1356ecf6898fe21eb85ccc6a0b64ca4019de297d25e90d0de3df0fbff7f9bf67713ae54a6502f1f7e221b15bca4aeb6632ad9e13b97435309b94aec495f845dbdc6cd7bf60b6d2f469ffeb4e7310aa706b941e243909ddb5730d40cd3abd539e964d1fa3283d974dfaef7a178df6028ddef5ba65021e43b5da255997b4f93e6aea6166288e9c67b81eb523db5e03907aff578c5e9b436083f87dc4b777e31d6aaa2db2ac92709d22ca5a04332613b2bf5a02c1be5ea990c1e2b38469940dd7c6b1f854b264277d4c5dac4c709364b14ad1747722efacc7fd566b19793a383dba0d3f5b26c6892d3b3a846c02f8adde6bb2d6104fd9a5a754ebb34ec3a12999e795a5d0bfdebac38991c926677ee1154ecdb4d2bea0f8588cb49079b08b6f0d45e5b7fb8c21b67b1ac83c79dbfd6f2b3cf1b8c67871450f0894c3b4f36f9923ba9c1b2c29dae1a7cff8ebb2c5ec40fe04e2acc69cd0932093739bec1e3fb2bcf952912be5a138435279dce13032da872dea67d8b5f5f2d8a3eff18193b3417c8cf8a07e5a136f919b20f025f48f1022b05c46c3a17d2b843d26e90300f9475fda09e80dae7471a23f7c052fddf1d7c8b72c4be6597e0c552c87aaa0528e5791f7ee872dca8730a65abffbabaf85be244dd295c75083411cf2892565ff9ee3f884abf91057159f04c39a63d49663231005d0e8dbcfc412c7e515146c48c7f51aaec824058380e3b67c920400972556a7f0fb1d9ac1f296d2593ad35fd9e37630bfc93279b98c97bf72f63ea7634f14b2b952a98507cd75faef6ad88e3c8cade7b1a04d75e52259c9205555bb2ceed872f57731cba6febb68ea0384acbedaac3e8cfe731b087500eaf23b92b7f191caee6a5a06ca55ab12be153e41ffe0f4206815c89ecec680892be02e57a98e95f66fd02b6179b5b238ef184a277e18110968461d969f39e8289cb2ae929a5524009002b9a8b6e7cb4a8b70f04481cff3e0b14161b76b4bd757ce13667401e607bea7e3d5fff63a58ee1db0c9193b209cba85f74aa570fbc3585d169bacc659fd5355856bd88dc6ce633ac1d58626d63e2080437353af1d6373389f4af715359c6fa2d59191d4ff99845f99469252db9b2826c1694df095d53c87c8b6cd4cb7eeaae17938bcf27a8e506b1dd4884c8d53a0e4e807eb3cf0580298535f27b6e2b7beda5c8b7a04f635ac26968c32a8d27843f5e1c246eec9085e131d6c8e27368f641a45f97b884bcab2fb66f00e72888b9e5d52e3121715f068b669013560304ce79306d55a7399d94646681b9b6294b90c9549838ed4c3ae6e8d26d9af70278b067238f98f2e7fdc366b24c8f2a0308c2cf4a273de50305b089c6a4828d5dffa2672433edbd7a040ce20e85f8892b2c34bc70ed5d129a6de28ee003c02171a2b36fe7af29e4249808613ea67b7421f983c34c8d2755ecdce9fd3b3e3f74f2cd7e1193b3e5da0d13cabadaa7cb1f7221213d59ba5563651a6489f3d3930d3d99c9eb76573cbcc70030f7da98fc338c9244e5f9c370061a61b90d3b3ba49a3d98b7af9714a493b85b67816036dd01411a82c9e3b89f0dd783374291475a3869700c0cbe219c60d1bcbfb3fb69693d52f5be21556e1d5e029d7316bf6831a25b6511985124065116099452db79133d4b57576ae6332cbde0aa0224cd958ae19f66cd92c3fe503794b511cbabf4bea93a1fd285800bc165443f49e6800ea81c89d662016151bbd1713aea2d31ced81d0fc38f182c950d3209b369d35e7eda7cdfbed94cb9e55e261a7475151e86ec304b6b77c23c3ebf4bc2897d21da5a27ba97cdb8cd5de4af21b5035075d2c452dd17f30862cccd8bbff90be94856f952d81c96e2748d5411bc1ee1d1bb95cbac2a23ab1b04f508d36ef7ccc648f7721d511f624a90a6319319d5bbdff66841195768d602d1647d581ba4c3409debc248dceb8b1d28ccd5e929d50a8704aeb29693b746995206a9d9df172eaae94af2da2bb51a7a67c34bbfe27196042e7608dec6bdaab73fb026fb3cc585169290a431551ca4c11e744c61526e5697d84be138b10e61c416aae63b1375723aa6f82a2a690fa4972aa74ab60f36be79611e13430f30830af38e23a4ffd7e9cea305b7d2a9be9c792444b234dea1e8f9690aafe1888faa4492b7a85f437b9a8652071952b2cba4b929ffdeefe19aa40838f1966fe7e7a02c5d6fc7085b77529ec9291ae00bd2a7119a3a437f9594a90d495af261cd06194ad71c70be1c91c0add0c3d5115e241b0d51dabb9d059eedeeba3e718ff129fdce2c949eca6c9eaa3ecb24fe4a0b1cf42b094df67c0bbba4ef7c36a990bccef332523a43e9a02ff742ad54ba424539ea6f98dd130157cdb1de926a7a844834586bdf924bd22115e3b22a840c0a99fef91b6ffaed7c450830febf74f9bae7f715cfea7ee0ce325aee97a544d2de59b46f0203d1b9e93a0db2446e6849d0f4dbec7293e43a048051afbaf4a934c501cfb854740a12fdc10dd670eb0c9506e62b708eb738523bd371f858c353781595f5ffdfa193454df8fe482d4c868c6c4a1ba871626f98e2af000b4f33b63bb61f4a71a45632544de80e2a3a6dbfd3746a182666458e384bc3465cdc94f984291c51b185154ed9c882c61328b3cb98b3c27b676402b19ad2d2ac7a4571605e68e76ada0a6a20766cb441d508a1ca66829222d7069061353f6047d00dbb1cbfad60cbbc23c7b9811b25c79b78e1bab8f3f78e59e1fd668b5a40851642be4b30b5b1af8d6ac9745d0912dbeb644021ef3fca7eb2cf4b880a59a24f3765a6d6b2f8ccc3646d30c4a6e4fff312e4d4678c191019c0b9e1d0af2fe0b18f97b6174b55cdaccfdf64fdf142ed91ab74bcf54fbeccba9745ccb0c742b65191f7ed7da39da8b47cceb2b33e444212d49100a699d6b6bf7103ed6d09dc319a9c98ecd58ebe85f423534cb9422d58a34b7e026f86f8fb8720048b07d4b376aa01756928ae279991164dedb453c9394da0a0faa01cdc33ebc842810a873a76e48c80b415d2be888b771249eae9391529db83a24a7156f4fa009d40c65932a73f22aaf46ec6144e76b89255525231eaf98bdf05648b1a2b1a8d931b4d32e88de9a7eeb47e3d3e5edd563b6981f0143deaae0412ef22bbd78edb5d22901a4c92284c794725dd9edca05bc023df6fbe26c3ec8511c83dd758a226af3e3aa4c345a4791a3c0229c2c0ce16de7ba0e37ae6769055e9b3d07b7d766dda0dc6445afe1012ed39c7b558870c5eab66ac6049ead1a55f37d44a365aa3713ecf862a1bccef7926e6d060b3b7f8bf4741977f885696520c90effe057042271e15a29b79d2321ff6d81f0daed79119dde9b4c1993e48cd6d03c0135344030a9ae056dc0902092d3f4c9709c46b33f57279629027dc8020c36cb2461931949e2a069bb72ec54540b7bdb27076de51899b603bb6b004fc6394697e37d1059f8206f2110290774f3dab79cf8971aef694bf1886d9259664782e0d2cef17d5cc53f422c26666a4019d53b7bef584cdf40f90cca3ea4a9a3b8bdaa40bbf864e360e0d1475a98d1787116fa296817cec3551c5b757fd65921337ef6fdf99873cc356414d06300c616863ca058988f0a5d32cb560f6f356ae9931765af21f73e9c9a764de04c084d528dd0fbdd440e04c26c357d53d2430f3349d118785ef46a233ce2d8009c55a918eb108040ba89022484d536e3e2f16903a809a0cf90b3142c5b807132df3c244d3754e114e1b4b34516a683edd4937e6a04aa146705d5de008904e51a2ab7225b3830ce279023a7dd1eb8033c9e0f68b939542ab6b5d56121bf8178545662a9cf99993e67079b60244f3807620a1c79b96a4eedf5b7bbc3cf3d314fad04dba4dda2c8450eb86522120867557ee705acabbf9fc07b324d30b6dd5a2a98389d4874202986b6081e5030f3b2d9facb064f2407521273a5b9885d0db153630cf5e98eee4139e95d133bb311b2499fc641b64eb395e5208e6625946743314a536739beea6b0546a86580c09ec044a5678d34e567f96dec4f5692cfb85ee1558e5c1f8b6c2c28219a572c9c58eaa1b491fe6c44d8837593f10dce891c3cd4dc3cc19a9f4371236e9b44f9d8a106b019e849d898034d14c6f9dca55814215f10622eab9837467f820841f8b9b86f57b2eca68e7f67c293b0fbb68781cce60e1651eeee8b62b89a758956a8a76424fdd09fd31e657478ec14194c5f47a4b74928b3421c4a24bed78f6c2254f13a892d2fc6827431eb0e89bc4c4ff67221f3e016e499ca7db81ca9a8c565083494bf4dc13c42a534fb80c63e48fb1ab2c37f8f0ac175246b78af9e493d84dc49d4aa4f93717a6537f530060d23bc1035a7e4ab843a5cb0a8c08dd92e766e99a671958dce524c49119b3d6d93bf5962295e9881ae87a67256572c3be59d9ad639d26fe241c6792b63e2c40d1a28e974ba3a2385de3e89d3d0219d3017f6b9117e41345d227269b89a3baf2d8db86b9571fe7a126b421c8bb56798cc292ae629f9476118846e5369a71c83c7361111d3fc6e0092ba3a5bbf79e56b0f0968ed43522a6b50b71b0ed030f90ff522c2c8f87c722506bdc065965d4893d1591186c3a797a79608a37c21a6a259a51f52358156cde981be79e789305b5ee867a19ec0355daf83bcdd58684974043982ed891573cfc13370f811a8aa7981b51666081401106f1ad13197823a30d5868bf0d7acf720d4bb3e318afdebe2d65bc02211f33d37bfe27b24b44e48f2bfa1309b76954dbe020304608bbcd5e91e2d44a5bcd9dbf60010719298acbecee6f5ff165d609dc6cacede2e73f0fb3d4e7993b8cae2356194a2cd00000000000000000000000000000000000000000000020a121d25293035","message_root":"0x6d9d14f92da816e69821764fc11122c1d8ecffb6b54f9b9ddbd98fe181905041","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd343841b1e31d620107f45611c9101755e66a299518cce483335ef5be34f994b869b903e1802583e1d8d979359ecbc29298c223ebefd08e08dfb41daed1e704dcf01420c6901f76988793b40fea4273e9f535c8b34eddf2311b9a9934b1915c90ab3b7879b35c1542ae13c27c09422d77a9028d77cd6e8647500833841c29730651092aeba99dd73d8b7445844ccb3b6662d49586c1e33aa2eaf206556f0acfa22d5bf33f38c31882ae0bf5230042649f2a94f627318dfbb0fba0a191563c43ee0726ba0fde980f8ec9bcad58436776cf7d07698b892918eb861c6447aaf95bc2ecd56c8927690362a7ded4c448dd83aecb9d030b8193c8680a75ac167d0c1575311d07a69460595ed94f2409e4340c3d56fd198e2de9597028c2e3ef8fb708294786158ea554fdd81d49ec09363fc80937787758dc83d368dd60cc3e59d36c14fb3be4e0d4647574711a7a4fa22cad8ad9e71497c61e221b82f4d84866a7edac4e96f6ad73ba4823d6d1a4117b44b87304c769b63bc6a5b3fe496993f1b71ea357fd71de609ddf43c451cab473543fb21133c229774d4001b6bb434e18e1271be8c847d8895454efbf77d4d9ef1793ef03eac547315a2528018959e1901030938a994a12170483b0f68753bfc1fc65c39477debc0f43df90ebf4227371424a222c8d74938b36a2262378e432af4832c0ff31608a313c83731b482dab31e6db342ff3d9c230ce4a4e7835401575a79a4d97efb45407ebde937c7f0c750d2183d94f3e81fe52fdbb95536f3bdfccb6f573f8c2eb435a46bfacf22e7bce0f0142b4c6760fb00b9fc442bf65e4a09983c3725fd33085e64e0a53a3fa4fbde6263c71449c9ede670e36f1d905e4bdee40deb654484523f54a5162d60725cb98565dbe6b2266c57896a22e2a1143b87558f93d14c63e95f885fdf9adab565ce66ff4e435ef79b55255a549e9b5ca056a957044722a8f1d99a7ae70f2843799dfaf68701638f01a7020d9a9b041c3ecf44b5bace17b391a186ce9a3548f22d50192f784d8b6cbd259fb31332972117fb7377cbc49b3feea478b22080631b9009e40e7596d9c7acea84d41e35dc22b4c892ac1cdeea31e51faa27c7f3211752e1ee2d8c3fd615f1f38489a130362eb256ed70f585e8edec22fe25ab93db725056a33ce8fee07d5a18e5cc6c384695a006b84ee8f5e9ef45623a0ac97a879bdf5acf8bc3459bbc4e50b864f9a0ecdca74201afd5fd09dfef985930bfc1526f3bcd4f5c19a5626928db560aa446d304e27ba4793bac5ce7f787c91a961a4f00f65a5ec8186825ffae1454fb93a8e61d8d4f4411fa183ed43fdf55fce878f5aa2c49215dd0aa46bba6209d6070e82815efc992636241c3ad190261356aa2e3146695028736f2e8a9376820752d3d2d39feadb9d52aec06ecb15d7fc04bb5a63d45dc5ea65e98ce9447356a55adc777ea10569ad1b3a6a99a7761b0de42704e792e25d97ee1568660b687dfb5551ec513930889426a23f25a5af73257ea75432ebee43d701c9d20b7bf3519e986a8d36288e84105c34203f2a9355f274dd27ea3b4bbbc396374c67b7e8980cadabec5da0c3b4827c70c8cc04708e39251d0306610667fa77184beaeb5987bce3866d21a0d7f09c2a6b917cefcb750b5ba592d8a53c9695d26abe1c6cbbb8a8b87e431d835baec6d304bcdff6ad4009092dd7be918575720fb9e6ae83fb6936e96dd6c1cd3f86f501f6e6d5bb6e9d7d7c7f402547b05dfa5768947d7cb54a0a84ae484d445a5e39299374cb976f126acbe5574d6d2e408e97dd6212c9af1e000870fd71d3ca2437338d9f2ccb638f692c5152f3abf49489952aa96783c8cf26b0d26c0b6afd11c3625598f0b4faf0cf99c5060220c399e648c9402783679080a76923806a37b3a16bd8690b3d5ca862a2dcf5add31412658d45333da69522faa70c2022986caafd59c2690eb7857321717a6f9b7aad634030eb93d74cc7950ddd11e0288f9fdc15c8c99d124ce968fbc6860770362a6d824c5ee36cc56fdf1c1779600fecce58f60dfccc1ea4d3bbcd80cbedd42f06ab39a06ec655f476c3de21dcc16dc57d4d6dc624b2effd9ce2ba2a19f7cf4cb53560da9460acf38a01c36f11c70678a6cef3c71f266b7b8f0c42ecf2fdfbb4a099d2192f5d18d583cb170108c4a291388edbb6fa45c5e31ec187e7507fa39ac0c176767036c6fa0fd5b72c28e2431cd42594095758e40f84113730d505846450fc96a5626fbaf09e14a345d829a394ae2f6907caffbeab343a337575193aa56b140dceaa1fff2725b033d16eb1b0468da1d03b7f5289304618c28d97233bc0d94d65e69ffae69c500bdeb3ba7460296827c299aa87f4e5a9afeee63c9a4827ea4461ee6028850a434213d04c0bb997bb56718ffc3a39ba76764b3eb0b25cfae63af1cad47e94ec2330556f32896e0f969df80d411d36785c7727739a58478a736f3e4a257ac1c4083b02e1ce66db038955aae1ed11cdedc119dba05c7ebafd9cc935e42ed2184207c1540c4141e1f2f3c70c0806c83618d8cc1340fe2eced0b3e711ab78af8d62b6cca64f0893129b1fd950de93729812cf4a65c311c7cc5045c056b9c7d64fe88ad4180d7e3157fa665e498b495455460ffbae7935527bb0f6ed8aec90c5b1d99cfaff954335fb31d80709382eaae1464275d69221ac36bad72823396702296bd1ac3baec397ae12922851d30ee3c793dd8ad08cedcab5ab07a1baa499366e21291907a80806f9301862e46a0ca93073ba0277dc61693264fb7039a84999aaf983f08b7ebdbf2a818ef8461ec3dd61f72801a96e946c9e96f0a27808d0ca07e26b1cbe025f6a095a5a4436be50a1a9f4155675f9f3954507f90517bfd41c400f0f326811f34b2881fd913cacb2cbefffe7ed1ab16a0d04af1320c56b919aa01a799266a53c075a27f7060890bdd32af2f7894a003370193bfcd8856d2a5545d8b4199f9ccc55095e049ea845ea68dd476b6f11567a5912d23c21583560e0a4558f8a6f21765cee8adcaec54a7b420eeffc248e434328df43a12c22d7d9bb1546487f647b577773e4f727e4a1fba52af566b90123fbf9c4db3410ab077ede61327d01a22712cee9cf931bdf578f157968b25b38d2e9a9ce40944decca470f20b11332b240493f186fd249967eae0a69352bcf238bb675e19c7b7bcd429f79b1edfd76002f983671213acb349a4f74bcfc52888f25be2dae8ba40ebab73f3a28647bd104ff57fecb76a44f9ad110eae231e647b1dbc47857bf5195bde0d43f54bf1ccee43a5fa85ee221adb4760c36f47d34ea0ace79702b9144fd075743146cb8293a64ef3d3c3266076d47344e5db8f702174b6949771c444c88dfa8daf4c9ffd584d4093ecd4e2417aa42117f2f7acccdb6699292df32136f3131a4c072027c0fd8d7488f1a3c9f403160c15bcff5c5da9b3c939b6e75db981e30ddb2be165794dea182590bd8d6366abf5bfe2989e69a10f310a745027bd3180a9a8cdc1bdfe09e552141d55fecf6942fe7fd99f9b38fed3191b5501c78e8e5c9e1c195071c1e8cebf3595a906867081b245277a319c732e872d01db21d43dffc2558d522be10fb968cfc608a60090ec5dfc28b27ac43be1298652aef62437113e5c","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x154838f6bf84f79f1f340258696a4d6523b0dd42a129db35d2ce75887ab0ccd5","signature":"0x5b5db937dba831e10570db9444379e097387d11fb0275357f8e1f636cdcaaa9c90bdc7dce6e0151059aef1e33af07631560208dd20d017df9f10b3a81778c5c32587414a0632b10fad31f391c87b335f782af3bc88f9bdaf44833c1d3abc55010df1917ce7813b22eff926bffb9d3b13bb34c21007ba0ba3547548755f0abcd21a52939088e92d7586e844ced1776eead8277b1b4430712e6b5f745cd75b3ee779593c6b3f2f63b7ef78717dff5f277baaf0ed3ba9b7932b28217571dc2f82d386de86db13b2b8658e67da0d64d4f465dfb3950f10da619dc4ea19bf92818d4727375479448a0b9a9bfbc1659ae756fa1923d466efaf570ed18b229cdc80cf8f2c7d0dd12cdd51a61d47654ad36cbefa7cb1da0374d74bd8027401d4e26e6e477b09c577b3b32bec2284e3663427a2a58e8a7022f0c1aaf7b1acdbdacaf5b0ad69d13848f7d49f5360847564c53a43405bb51cd11aeda105f7b8658d98c78b6189aec23a09527ad77c76462fa3e1644bfa75f190187741279231618116518649cbca9034cfe64fbb6c428b2173ed029c001b71b8ace253c68c27e82ff9909e9fb277a9559a05ca010ed3cbaa5a562c449a39a1d96cb7d187de4a2fd32a6b67464d7a44508069933a377443d6fd6576df9e16e8f9f0747bc10a1e43de9a2a533a927a1c34cd895c1f4b642c75228affb631c6901c20693a3de35300c8c7929fbf49a6e0cdee118ea8f92b6f3f8bd4445afe1e548224fa938c1ea16fdc61094487d70a81b318b93b6422e5e9f0074910d6146721290c39d4a994e1553053cc175cbb62b5712e743f2432a92a5f9e111f170d56554edaa6f0db0e42b770377a456e045d650e2361cc2706ada1b581776f2eef15987cf145723efd88befe751e4e97dab6b93090829606deda1b2bdb4c14dec9ac046ea3b31b9279e4466441f751a4c214ce742637cd9808527a569cbb14e951cf8c4dda40ceaa6eba89de9e14b86a6c38cb24920046e7db41383370f188f3990530158e60e7a82abae15785270e87ae88877938cd25ff14ff27bbf423010b523f9289feecfde75b024a0dbb9e5d7ea1f9e04c26de879d61041574174c5c58738e0411258240a92b19876c1cf081fd3aa15150ebfd41d7cd4f69ce3a981b9aacba6ef78e4cd355757a38112be87a1117b47062b17a1247a8dc34d7da431592a671ba51e2a542379e69581eb633eb21e16b73e2659fbf1f6d21568a1bae48136a10f2c4d2b5741ec9a1dfa9cf5ca657be5af542f0d1fb9b0dd00c279012fddac76c24aa97e15b6ae09500968d06f4202e38e19d1fa8c65a32b5fcda9a8f0d82daf09413a21c95d0146f9c6deb220842f7f035848f63b40c63d6434368a024676cf0bc5c749a6365b71b9b43701932a42348af3638fd2d1bfff5feedc4f05f881305f2275ee4b46abe946da9e467230df6e50e323f8c99609df5ed282c1346956b17a562081f6bb5b98b4049da425a2075925d3d8d8d1bf26699b136c33457f102b4ae1142eb80a73b8d4a7a5830435d2a792b9ca7c1c04793a1f7bda7b4166634c4c9214ca2197f02914d30e76cabf7566363a4ac756b4a680c4ea0e305813807611d2b11ab9bc0521a90a2e752c15d794c120957e576a667490a082998dcb1cc2ef3968f819f41af1db04e0d978ea0bbbafaf5ea050e5c13f72c889831a51020356876fc58b5d6e0631a326f7f56bc0fdffa90e9ad08f4bf9914e68154127fd3843882efc23fe2a9bff6294c1c4ead92e140786124703c9b66a359788b2c9bcd233f639d8a4007950e69211ff9603e066f6fc227cc42a32bfb906db8fe4835c5d33f2572eff06472a91f603aa3068019b7760c5e6c38f45a62de4c61bdbb18d4a6e785ecc34a2b6ebee2833e17fbc2101e55046c166295d5af485aa164c70a7bb86c2def4a94ff2f877b38dbd94e95dca5e9dcc8880b834c5d1301fb0363cd2b8ef4ffd2ab2524a700b7699d03f37bdd2c912a9bb783f5b883adfd05c184461f17346bd33c9def2d7f89d1d69fdaf5439c1cb169fc485dfbab085d73ddee0ff7846073f9a04d7d4a55e72a347dea3fda5667effb4e72d9eef26961f71a02cb82e1db99a2fb00f82fee4585d5318c3f64556a8da939e97d57a9646d3ae9658f7565deec7d0c0a00ea58c23dc9c8e039643bf1ce3f346cb78e9a5ab772182a60eea7676459ac2c54025ae553ab3c2e7770abc9ef209dbc02fd8b7ce2ceda342c4a67bacbf2526eb1db0aea215dfcb0a932798d9192ad6b0ab2d714c8007efa2e794d6df15345e20d94dd8799c5f090582f95f512df719c20cbcd986219ac19debd69e6252bb324dd287a281e14dd0fb00b21bf1c26d9a3bbdd4aaf0fe7c6dc54c32cb38a4cde0fa4b894499281d4ef28ae79750f5af189362afd657f5a127a8ed9758bfb1d348253160be89a1b8d7764658d19335d10c820255b88598c7002d1eff994fd6b0a5886a41a867f5edd2d40bfbcb1f47ba74e6a8a0c26da96ee3125490081e62397de38899efc2f3ac31ffd050e4d97b08b79e670cdc4a21b279fcd8df40d22a2497534e7ab4c21e016f7be0fded45aa0239aa79160421f967b4086e478175f3cae1ceba6343d39e497c6ac83faad645afbd4bfeea17c999dc99130b4d5487d05f5061a47cccc9feca1f4315bf52d1f1f270b5430051134c6144d1863399634027522ebcbe6b95dd2efb2cb479a92d6583249b7912c5339d004833f94bb6aa8ab1272b9537882dc616765ee6d83f03bba606c28f0217b2bd26c0be38d6bf0d64b0045e69c3e8e65159e57ff980b23df334fd52da59a76d4cc3c6d1a09d98d59e11f3f847623f61525e6ee757f185d8d02cbd0cfa353022ff7946c4aad3c6689fe07e85dece46228aff53d7d579275ce3f52e3259dabdcdd201cafbc2581df0814ed8e9ca7d95841443394e3ba215f9e4f11461a1ae3d014a50fece21c84eba45d453cfce9a41a1fc6c7166ceefa5990d69ad6e099cfeb818f00d7b4a4de99ffb4bdf3b26bc53eecc658fafa3478f1a3d275eae0cee01c1e5322bd3bcd879d8077cd0f935dd430b1636f1998d20b6661717bfdce7688f6f45cf08b7a56c92be0128d0fe7361fe6cefc0cc753a0dce96358947c863e860c4571c02523c0bfd8cb1cd00469bd4329c4f8c9a1decf0d2d55eecef8722b4898995916dd1487b5d800c58f21b9287bfee0faf6995d49a7354fe793d0e4051cd74a9a37ed5406503fdd3c0c772c62318be3ec6a88ab97137a23e58ef584592b2c305271cb22fb682548a09f1647ad0fb4075b04801f02367e6a81a14203cf38ccdf8abbf4e8d0720314773b99d80cfc68bb85bf3134a88ec86b57efd47af2d956846b2ed3bc75f6a13c89cf185515f3cf3137704dfc5e744b8fa1c161d711d5bec15764fc5f2ae9fdfce064315b79ac29d77777bd9169495b145199034b11c89ffaa20fbd5509c696633a29babdc0d40581df5163e74cbf1be91cea21582372db61b9151d540bc9a52174e071245e286d7c6392b81ccdd4b876f1b9b845c7bef106d2d30422edc29e6c03d9d3e579aac1351bb450e08bb4f906858104e989fa45bce49943ea1f07c5059199c07b0137863463b141e37af6f1fb5e87d8f40b224d97b7487773e72e3bf896047feafb78337b29b90e9c267fcd9f231c39ad34bc2c8d5828efb899a92df7c0162590540372dceda67ecd3a40615908b4bc00a61c20e26dc554e957e85205e0f37a27fd6589ba459a329e970338044aabd24764695ae72e066ecaf1e1eb4825dc88d87f7b403c8081959e11fdd6e0203f61bb211bdac99eae9a8feca7737f408f3059718082e0580a8c866ef8a076220ed6561686fd0bf50a3b92809e43b05ec76f6f01c8cb9ab98e802c307f30567d8a430433b950af64efa9449a29a95cd391d902c99fda03e54e56793c479bfb5db444fc451dc36a37f9b0452bc1ed06ee8983daf0fad7137aba3d8f1e9d6cf3c98c9dcc31813fbe6538a4768f891237b02b0cb6a0e8cf67a1de4acca1e8b7c159c71b9d08f16bd3c0918fbd7aedaa4e0b570b9be585242564ab5cdc8cd1a3ede27ad12021da8e1d03f9676e4da2cb1f27b07a57fc6a2a2ba670f21c4ca6e6014a77b97af9031c2e03bea3b078ae0078f8a8ae7a8e53ab6d302e7cc0ee43c914eb62b6905e19da09c413dbc4ed182656f4d2c555c58e313c913812978989f229081a2a2fd98b09917d6782216e004ecf868b41ec5d3dc7b5ddfafeb3d9d55cc55301aeea37f81e0a9ad8ac1652a1dc693ca0b27cb253d259653ad9f8c6b04da481f56caa16b4f8003ee58f0a6f2ba3f7e789818c9bb1e7f768faccd0df1b1ba9948ed6778880929804e5e98c26ded2466b678052f6d70557b1155ba06e8c5d3b1f8d0128fe9461c3a595395e8b47f688cd73e2dcd2eacc135297c23434ae4e0c74bbfc388d0227b6c460e02dcd2e69d676b60ac4c18512db502b6866605c8902503d7c073c949a32d2ae7d50b7bea6f248e1e2411147a50723c5d592578e55848165fe6cc9fe6371b6c424d4399468f3175b67ce545b6f5a628f2ef6e5b5113cb541ffaa58697308785b77985d6a8a4e7658fc162e25ca6fca957e485c1007b94cca59190c8108bb7d3785e9a53b3d90d225b7db7c39a5d3d477043cd511a4c58c019a9200b5bf28fa30e17aacd9ca3734942dedf5c4693cc2adc7d5ca5f757587660745750957c08d2243c8a40f71ed1f37ace702cdbea30e4e36280bc8e0df680810ebf702bf9785ba2f5d88fca75c7ceecb8510cfaf00c4e4008df539aea643ee9132e5287c4d9528f255be90a19bcad06fdbad50f74ac36d4aa72246ef059f9a4563272e648fd6c4476bf8ee89ea4c51359b45b71a728829eae98f404eab24f2d53c2e3c23f235671efc1556e50b779161e2cd42e545e579ed094df09b83e2a5b0219bc688ce711cab3ad616ba998b389b13bc64076193bed35696616d88b45b8a848563869226e480672b156886256120f2485910cd1438f87c0249c6e9823846dfa478e1c31c627239581159c6be6257fc26d45c27df1ed949709ba1feeb388ff92d0693145c530645fc44b7cd800dfeea78d5f5fc7c50b65c28778c0bf09a2857495973e03d0e6634e05eb2f0456718991657914154c85564f0785e840547bdf1ceceef56d1c1408e953438cc74e337170ce7f093efcb46a28f5c9b00abab3e7c21b0d1e956f44950b35b0bc77f1d6d6ca5bfd3a75e6d3eef0bea58ef8f600b16f021403254a34e5611fcbcb2b2560af3002324a0644d06b8b4d2fb4f6265a0d638e507d3ffd4da942f366782ec36ea44a5db104ce796fe2fec60ff5b5d70ee99d9342776de09b547ac66d4153ac5ee9c3b4cf21093a3ec7fc6227a3b2c9ffec53a52d9917599ee09dbd4ef682f0c836673dc7ab3074926acaedf6c0bc55a9752638d5e821a494e0cbb08bfb26a8a3360e21824e11320d081f1ecc790a7fac296700a9c8d5fd99f43a69f05999706295692b74539d19d4eb7e3470062ead11ffe8689e5be85a25a3f51ae2aeeb6610883467b75aaffb7cdc7a2c1407de06885830b1c9ac0488b2ee03018e9f48ec914e8d6549a8727a04715c3a90248c02e39ae05371ab83fa74dcad39cd7b3f42c531b421a3b966d8a0dbb7cc818e780ba3732caf2301881281b9565f72c99654eeb16a1364d8dd4a65542a58ad2009a0cec9b7dc8f527af09f7e1d19bd1d66b31d5a880c25441e27b14317e9442bce6daafaf710a32bcd61d263f4675fe35d7b2878239dffe9c88a9530ed73be42ee6d5511cd7059725857090cde40fb6f5f35f541b1cc529e86ad4b7e53db45cc89e91640ae34fca59850f05e6cf51a4bc45632ed45fbba870cd24a0de70f6a3b4deaed668618378ce4f1083ba8349faad48dbe3c3391a837fe7c6ad4505ea7e908bed1c4e925bda9512d986349b0bffc1e8303aa0c47bc45bc52faa11bce1efb553d9d7d6d900b0e82a973da0e07c7c8f95e8b16caba4c7fc1b64f5a2322f1bb50770eff978fa7ca472b243f2e1230986804d0826fde65d9441454f3c634a9a33c316c66d30af00680d28007af57cb1fb74b676a3004a1a0e3ed9de536e39f79eb9f732ef08be5f039ba7d247f4ea8fb98a71303da76aa39afbffcc60a39a7b509254192595b077d4e6e215e3c3745ea18ed414f458cb82ac1c209699dc80ab3265d8126051d41cedbba2978b39caa87800a98a1630ee68b10eb3c35c331edf07f6236119862090f50053779757eabdce1e6faadca4e41d3a5c6357c88651c1125fe5fc7a204e1ffcbe0c1b6911c2cb14d470a3f705fbc44425f6f7aa0350a5580894c2e0ce5e728c72fe02290aa59aa04a3832ec6d7088432cc80ff05a1951a208946824deb2ac12ddbab08369cd08a07268e53bd3fac8ca279c6a52002036374f6777a7fe111214384b5588f40d669bb4be347598a7c1ced03943c1050e8895de14292b6dd5f6061416225fa2d1fe0000000000000000000000000000000000000000000000000911161d20252b33","message_root":"0x36991cb64bc9effdbdd81945190a36ae5865ed0cf20a3ae014801758fd1c5738","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x0c4f0303491d7cbfce86b3d3c2d09386544af5f2ba884b9784bccf512a93039d73064e8d2c33d8a351c7002a6264a1036a1a93c8e6623c21d67d5bc092bec5e24d3139e0f4193fea85939fd51ee387f133463a4e7d9124d99de719a9a5ae7dff223cc57467ebfe387f3f70f27fe81e88bdc144f3a330fb4a9dd4691e4b83b9dbfcf467d85541b88a74fce12fbe0ba0cb24944f59b38267a70cf1288b52a42ceab0adf61a2e5764058e1cc2ad2e8f605e67e98b429625490730e38df094f9192d7834d685ea39c2681a57ba2a093a9f9cdd00f8d7a6cc163e3394bfbe90f63127a581b33e8cd8d79b9c9c991e6dfa0c1c99c70b0caf14cf58b083d1c1c04f805c6a76667cfc232f8746e2c2a7e96db7a2a4ace6267b4af96165e86b5a27a34ad49d19ffe1e6c7fd833742e8966e2234862034e1819dfa1584341223a084fcb0b9847f1d12c9071ff0395e227667787e1baae240682e14ee1c13a20eb9099ec8f730bf6ca6356ddd149d000d5156d938c7a75353eec3f03135da94ba0d7c6c6962ca53d711417be26c70ea135a5a1b926fe13dd386d3ecce0a284dc259787bcd23ca34c7eda3eb51886ac5d22ba13937c3c98e9911d39a95dd38d49b5ea48b0faf6dbf68bc0de95c0cb2d95fd9c740eb10d3596fc4a818a0f045b8cbcadf58b0b19ee801d32d1c015f3cd11df7924106f09b190cd9730edf72212c0bb1ffa3fb12994a430db2c5f1c93467186715dc4a35d2ae715bd5c7e354b5a1a5e5d41ff339404e78ce5cca3f84869e0bd866ae273852f5c0f631f6dd250fd1230f8bdea98de3422bee9c14f198cf8db3466aea6d3ea2f7c3810e8071b8a0f0da05e43f7ead13848d1ba77292595b5167d83c98e8d0a2db2368495a85de2eb7e2e6e8fbdaafb123ec787e68bb9fd7d9b5cce5f64bfb1485eb6e3ca2a42849092c7dcad2ce7ca24a18c897e59c3833bd09a6fdce5d1cb8d892161da4c911cdd46bc789927fe82f01f5557540e9bff532634ca1b30ded04083c1fb7326cd2a999f5071f63de3a79f5dded6134bae5e02c50155e749e27517b98082cd86b55e5adb86a32fcae56c5ffa64c593f8d2e5a5ddfd24287cba436557d3c428b429fdcf4dd9092091523f909ed9de231b88c14818850fe776ee0906a1e3e2fb32f41a78a75000c02ae4849eeb772e145d7b8af6fb81f3f4302b091f893b495a39188ee5096306c55e7642cd335c31cc533a02c9e5671020ca0cc790279c6400869b3a954431e186863f646d85ff024fa17b6d9915314f74151ecbe8ac909203864578328a6da772484f28ab929420e0bb54f542eb78e42e532d722e5457b11e3787d8fede90c330faaa735066f29c75f66f85f93c5e0e22d129b58825d89fe79fd6a05cd58f7b167cf87512013586d1a655a3958b6f966f465edbf26fc067b5b19ef37aa3409fb8f26103bdff7fa0dfe69942f71a46ae32dd1573baf21aececb8aae2198273af71fd2c0bfde6ecaf311a158d6d223596657c5d825c990969c43f46b7cb18db64e90a698b477ba033b41a6e00e2574c90319634e0d367beb6b66d699f3b943129300547f9ff7c30b03ca5d3bd7dc39698aad2ced847446ba5f364ed05ad929317080a593f7d02ba6601e3ec0010b4d031132b1d451ad8f8ebd15ad49f7e2f404596da0b7ad139bc8e94593ba57eddc3233f60f1b8bd0d92ac5695735b2a0fccdd84d31ded2779c7de704beef03da10b52464839b5d4093512ba6c356d0751744e9023543dfa6b951be2b21b4a1606aa468b354f53a55fe6c889a027c2fc9868cdef72f6d14a76908cba36f778480f30792f8ac7a91c12636dfbebd8c57e9c210623c3c8857b978e4910592d096b9c5a188070fbac6da4c58adf648bf950fdebc0124cbb747f9b44d9fb3ac8ebe2b1657bd5dd693024f2bb547605bf1449537c0d06433bb596ba14f30b0293c720b1e05ebe9ac0bf08add721e4aadcb7edfb689ea0b52fcee0760acea28c4179febe1180032f44a7861aab10945e41546e1b54411723b6ba06309dd353aefdf7995a97361c2314e8c569f0f821c47dc1f228738ca98cb2c3266b66532266b08768ce3ce872a5dd9d64067dbf834843cf87ac4e1a6ddaf0d3ec32b2dc19e6286fe276afa9ca9ac919326bfc210c7de7569cfe05fa5aff669c567892498266d86cf53c37d4ffa512fc017d3ef3e4e0d6c8dcc4f5c37d1f93283f71e3db66011b51ef79a9bec6d68edf0e7c092d32a49c14b4e30049308a7d536f3e2ea88d4cc9fb61e6660d09aa77fbae6887612a3dc50c0f4346b51e60d90b2baf003c55edf196785e56fd138e104516e71ed69f013037348d32bcd203c2be081aa389c30f02f6fa05a0752fe85967be3ae4d2af9be62040bb59ec13298b4064983a6791813831a8126fe91fa040adbfbc5bf2f7b10e570b1e4074f882dc9c10cf648778baae1c8c9369d75f176b10b6595936c573710a7f2b762884cff423ff45dabbd67bf22625e126844be71d80c53ccfdfc55bdf1fe13f21913f97d029fe86599cb0c48b0d0432677fb6ebe6341867c16acb5259f90cd12981016eaeb7ea2930c872fde9cdda75d3b3647359be058d6b995f1a60948fd79fdf690c918782d90496a6239a92929a7607834de2ffea9183ba61db4c45513bcec5bdba09be6b5ac24076c6d03d4d382ef0c5c9f8d7f27dc01517ca39c58696747d2ba3f45c7939d20d93359322665d5f0e9cdedbfe970d9d8dcf0f270ac38cc71c5ea323240df4de85e6a571236e932769eb3306a18dae2d956ac4d9f24e9897787a1860a2c79f541973f0802b67f49ae34fb2ea09e3f9526e6ae8535356503e20d61627edfaebe7b0d0f3327c7cd407d6b257a512c31c1811d2006acf5ddc6fa7b8874e069da5af529b95315f96c73324482a4ba20f0df4392efabd2b8734b2f173d71e9710a76ebb17bc07eec2bafbf5f5a66261f7c82e0265d4606dd58dd8b1de2095212522a52670e734aa67b236c18e518840c5585380836c491e62cc4f442b9fb781ba1ae1b33168610970d4ce4cd4a886e8a683befea71533e5dcc63d7bb4435870c65d4b3ad289ac1c0aa99c35fcf57f7f02a634044a36011a2f1aa51df9cb7036c3714c6f61ac249df24eff26b7fefceb22497200bb345413f8078c5375ce7cafa9133d3e4fbd29851815652afe45ccd33efa2a20b10ce4963ad6346f6d4c4c9de639b3dc0b536bea284544e7f53347686714f6db6430866115f0879732eb61c38339670b328779124d38a8e60cd18ccd7992cf19b9886d9f1cd997f1234a333b16d433af6f1bf31758303ad81cb63539c804868117fa3ff68090c5a7ef6d893b9b575dc81c04526a2a0ce0a79dd343aa1a75646951f4787b3a9b4390b072c749ed769a80977d7f3c9805d79221c49d9207330e42a3f0d94086aab17c2f42a1028190b9fd96db338deca8384d4bee8299d42310eab676f23377c946be222aaa961d9cff755618d54621219f749653b524d380c676f2f09e04c1cae7bf226d0889423006882b4e7bee3d6f24c8343f7df766f8c4d5a2d70f4ad51d3289bf57bdfe52245035fb603ff6b10b824c017b95e7c1ff6919c3255236aec59899b5948aadcc05a93510b095c5c93517afa2da1633bd4f67f1a375555e1fd53756f898024","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xdedb2c18f78f82f18fad4e849ba8b4e97a812def6971ba8383b6eb0f5b7e61e5","signature":"0xd70d8b5a194a6004881a3f60b9ab4e8a789e7792c5443d2691be325beac2a5bd8c3b175a70e68e314c16c49ebafdbc6519889622ca91fbeed996a9e67033e7d019872e5d13d3c8c76b43120779b74ca41c0cdbed3a5b3c9a456c9000f87b595fad09816dfeccd1c77f8168a436fc706b2ae4f4e72ce5028fcc3e839d42d975d41eae329885431677f7431a4a17059c2aacc5abae89361d69db2f2157fce362ec7a122f179c7a8577a3f4118d6cb966db16782e2464b14376c85cc9bf876f0317ec26c47b5923d677b9080f264c2c73671574446e829ddd8485724c480c13191d65de3d90333e34931854e2e8c4b5f466adc433bf59bfaefc3d211e6e138525cc6906554ab8500bccecbd663f0a9099055f8fba4d09b1747c061de458c2c71153794430fba754b155093302fdd1a6968a47817db2b2f3fad6b1c0b1cf8d0cfbb7e80557e93557a682435c37e43510ed1efa45f6c9906560ea29d41b0e7e6c24e9f88e41f37c6f258c3224652acbf2f69d268f8020a067883a097b449037f64c72ee5b70f94b768fb26bc639af7baa2ad017baba75f51e095400a1aeab20ef6313ac20e2f6bac05ab24005707e29c8e231dae37612a11b61630bdd2988599fe73b9f903f1310f22f909ba1f82295b99abeaa409f5e908573146ce56d57fe5a7ac925cadafa9ce0feab621d5cdc58c8a2ce1f7c9972dbd7db5c1c7bd31af5ce548b4426d881948bed324938b16d095029702735c4e00208fb5c54c271e07cc3e5137c1c96b06b32c0e578b5a4ca00d579098d0a53ee51e86daf6682342bd6d815bb3cce98e96b79e72f2c0011afa4dd2d65895ec3f3c2b249e3de3d6edba3f901fe4a5886772e3405402b8451cf1bb4aa8f45eab9a95f9f1c692a7156262940f2165d2b0ee30efc47d96c7488f15437211c6f66b13769870cb4b644376cf16f5bc0ad452b6c2e599374372a9fcf4c309ad9244cfe1aac6fb83503948bbaecdfc003874561c03b4818727ced5cbffa9e5eb5c1841bcd5dd3a6975d1d606efc48422cb0193e662ac0b77015e9bbd49af58847754517cda99078536fa9177f45f7e67f5a6dd64d184d778d94915ea66e7ebbcdc888834d72c7c99427e1c46cb9557d005f29a9c8b92b7777615dbddea3b5fb38619c01cb5aa10cbe94a0c6d5b825381a4ba73ca888b65b63f269d8facf5684d1ea9be3a8419968a2d96927ea28214e5095d16032a2588cf92451245b67fc100d5ed365d009ff9f454e8feb8ba37f4d17da8869e9da37dde46692180e8ba03e5123616cb49126b0a19f4f175c175a9abf8ece54bd6c71e17bd6e63a0d0cbc5db8a7754f40b4f227bc34a9d19de434fa86eaa74d68a24ffec95d7bba30e33420819c1378dd090b086a4507c1996d348b57574d334784e4acfdd8da6cea524f6e80959016bfa84736b1419673f78eb3ddef065495ae4195ad8183524c74af891cdbab512b9b5f2f225ef5adca9ed580c74f5ccda2212a73a7dcbed22689bf6b193b5e2a0678605fd24643dd2cd34352dcc6447da12eb8252b5ed0dfdd918465693deafbcb8c314faf09027950fdf4d12dd3937cf71d504d0e082e9d561b0b78918e2b695f7286856edd9efbba112e62430d21514104c82678a2fcb8d82fc1000b81a50fc2b7a2d19140135a446be1e2a52023467d2ebfdac747e4f86d61c719d65c57127b6d190a456b112abe043296f5e04ea68d30f377237d132d00c91029a08482681a171a50b0efb5854d6cbef69bd135c056f4e8eb19e842fe752f8ee6fc94d2c9d54b70ef4cee9459bbe92319dbadd3c499fce5a87bfdd0bcef66283d3a86f15ce9c59455f6ebf1ce2b289fbb65f2737e6935fd39f97b7c8024afccdfe48e7ef5036e33e3c51c997888cc8e6ff755fbab833ede0abbb3079fc6afecec80f20f46f2d2bb0479a458b22a6f2b8691830a4152e9f594e10cd2bc0013b2f645c5a9515f22b88678e19fc488fb440953e993314a07876a221b32dcc304c56c40eed23b545d6d4a78de553a1af6d6ccdaa00cd80f44120bf3b48034c1f468913c68d316b715297dbe36646f6a4455d5b3b836747a426623f2ffbe9e0d5242b40d242230c7c9c795b0ebbd3f08ddc43a5106e0ba964d11731f5ae946ffd69912ef254a25131213fb6303c84c6e29461ddda49868c986bbe0da03c61938e49727d57b1f35a9c41f90b4db01a165d2b774e267307fb1eae18d8db85793cc90deea2fca253a69c9d68a885d6b6f30717382919851c44b9db263c2d7217cd41c8d41e63f6425d3ef170a8d5c87075098e06a322d956a1012a84cfec2a191d7f631a5f341e82fd9105b164634122c72c140f5b2a03b2d30a2bcfb00ad3baad524775f3e4277e4181ff35f8aadc4bd053ac1085137cc01e8852a052a89a709bd1aa3447d087eb59923ef6f1d028deca99013f8e0dac8b872df3f3125ae1ce46bd284e95866d1e0d06be5657ebbf401dd4e6b4788086f598e44a6ae2dead06f4382b63b77d1fca80660f023aa14f4eccf4429b2d3482b4ac234d869128247a39e8823f523ade4fd45e9df717422b06cc718dc04e68c3c3c376f7c1dcaabb9d44d8bf06cc634aa8c50235345c3c8ecb24fd39943c40f70c8eb53b2291e0301f54c66f319d751d68775025347be452f6c8e050c87fe356b1d94eb88b40ecb3c5300c8b06345f0fcb3984039d8753ce73d70876b9bf59f1f841a6a7ed0860cad61fa33c86f44a72a5cd5cdc360e50d89d3c3b366aa8fc27d67089fe99cd6bad3c4747f77ab516131648506d3d1dace395dcdc9340bea8c5cecd1b0c4921d59b58a684001bafa8e9756987b4d1c1101bebdad037b8a8ebc61251405f34aab8b75f0a437141368e393cb6e334f0c02fe97cafc1f4c3fab31b275d5aa32f7b3be0b8c66ea6aefb0857764e10f344882f18e387fd6ae3e404b85eaba6443d8000992d80967eded3efbd489223fe7935fa7f6e9199f0018ead9ce478de6d856f709d4f735a5d186a516a99fa4cddaef367349ec6a95d867a7cc87d2a05279f1ba8e457d198db592e558b44a6a160b46ce8c5d29da9b912f73a3271f4ef1fcc12ac2ddc2cfa4479fb21f425476924459df581077e0981dc688e695e3375606542e57e4e0e0608da99ecc24bdb30df7e3e5858ff37ab97bf3390ada9bf420050a26a35b9a33dbc6d84a4a1b91e7e3754f3da11f3147316f3933416247b111b897148b0b7c3568a35a49a69577292309115f2f346dfde39ee035a28f3bcf04cd3c6140716b71a7ef0e75083760ed8b6b1310c8d814abf3ee6f841da0e3506c25d49e4a361a2b2fcaef6af5488b8fc8b5e6ad224a4fc9cc9a83fe7656523f30729bde730d900caff57f5a18c577fc4fa89a18aba73b939bde1291db07479523ca4c60d618e14f5688c58857806e80399f73b3a2fa71d7daf36473c7d47e96eb3eadbfc1786de3d6945feed0e1e8798acb87b6165e4ff2f22b07e11520b8d701ff566b8269e21ec4570b600a6290d540386a335a0829edadb964f8b9591500f7f1b10f7face055bb56f634f118ff28cc95fe2ad54d517bb225efc07aea176c438a187df57756e780e38e99c466a8469f1fea6c3c0b10614b4202a0b5533c6bf423b8523215c52b81a6dfeab14fcab3ab7b4331512a5b09026a26c1a754414b2ebff2f69e5f3b6376b3dd596b1da43a33a123f0663acd293c3e14d92375b3fd52506e057ed060f4fd2662079d63e1ecec4564e61e66253a0045715278cdd6181972e4c36800a85897d75f96a347dcade173dc177e685910f9b94f7c66f0209eecd1e76f5030fad0a216df74c7941440574b1d3fcdc6cfe39413dac5115a8c8420b2b9729ed585ac2e701d74f27a76c32d9c79dbc43826d70d2857e2ad4779028713833bc5927fd563605757f1a763e89b1262cbd2b14f354726ec028cb7e8495bbbc8fb83dafac6e4fd7e2c6cb60e07cfbdbaabcbb96ebbce65d12c4adfc7eb339556b9ed1f705944e4e152da417c241a24da3f95dc0650aed089111b0df865ceee169710ffc0460e16ccb94aab69d212e5a9b8b2893d7b6b9ffca53dc422a7b6dd4ea24f4e3ad45d928a1efe180e58ce273fdfca3aa90571750a2acd5f1b64d075551bb40f0de49515672c89ef083e22a4fdc42db56c76ecb1da48b04996e7f14b644c1ebb0081df21fe720658fdccea3974e314b29f6a5cf3dcc312e67ae37a6d1a6e75d76397d097547e605e346c3650497b9bcc3f2ceaf3efc5b2bdfd41a53d0f2abb55cd7c31ead7b15864fff7372beb4d3958d95d5088c6e68ae324c0d4101c983849e7fd161ce6e2f7cf0dfc204538f3d545232dda05da7cceb6e2bbb821edeea6b1a3164394a06007f8af6c0cb849e8bc47e01a9fe33cbf01661ebc5ccae4e7cfb2838ca7c8dd30d58c5ea49db6c91118e172ef81bc66672991f42b531b013c020d7ea9d898316e25b0207179c5bdfd59555a56b80dc4e8a02d30e10463af9ac7b644bd1c4e85cbe8e853e7f62b4e1c6a78066ab8c24c193ed641e0e316c9891e13ff6cbcbc71a91f5d52abf7a0a2505ea45178b470b1482a52f026bb7d35b82013971ca461f938a184da620b7a19dc011be84111ecf5cbcae63e4d5203dba98eb107118e076d68fe383ce28697b3a0eb1271043a222f8217eba50be2e179b87493afa008d4eebbbb6a993261d1e9c62b053db52a5c8396b8a8d78a325b9e21494d2a74221d0180996278a4cac7d3d2496998ca0d0817cca459f265392b219b0d85f8fd28bc5d85e04414cc6ffe8b26e9763027527f276c590966401797217895edacccf6c4de96adf5b28e1e0c9426f775084f3d5260690ef0f6af4a7b71bf06b4a1431df7324a5f5e9c44a56e4bb48a6dbf45698f1071ef78e9cd16d1c49ed721a9a1a48a95e6227cd82ad0a3969583324d166769ce213cc62f7f0abc23abeec1953d7c58ef34043429e8080059a5a841efb6116bb3129a4cbea38df492f082d2e3d9d3a44962db0a2dc9066df076f10a6fb061ad32e35024a4e1cccacc85bc6473b7c495ea93311989d6fe03b04ac151fc1504d3d5e6388448fd975efc5a3edc536dd2de881fdb6c81369d5c4ac7eb8440b318ee5bc6e3f8e778b769dad867744d2353be5d31dfd64a8a6be7743fda363471e6f8c03f1ffc0a8ff22a62f8d937daf29255d5ff962efeab85b8658ad002ec508e5d18a9dddca3b440475a7b51ce5e428fb9f3d1733c41615f53c723f6774543d4f93661a1deac0098d0ec1a1634262637ef24831a54c84f9885dbbc9943aaf0506b9a0ebf241ac2224395800bc08393daa6a4ee720fc66bd69b250eb54f8a340327182fc4b23c548c06525829ac43fee1ec24b831297ba8b397e7ab29e73f30487fee53c311c1e437cd48c6accd0e138a5bd2a1fe7647554286d2a00965031262f7b33a77087281e331553a4e51b4f0eb0f74b78cfa2748d6ebb5e844f17a82a4bfcf1887f48324f4edb7e45adbd5382c10e9656fa7d88d537bfc1230793c0ce63bf68927948459afd2eb8b6af490f11c8ac1a22c888497f1e80fbf8059ed01cbbba74a9baacf953f77fdb3cb7e33633fc9e80c8ede96d57f7804e6eff8382d68f39e091984409a5c8be4f40a0d64be30f5913c8cd62a5ec2befa9e423a8d8f3d2cb414ab63f0079b8f3ddb840be695f86988418e192c56df1a96ad33dd07986994412f2417458bf9045daa1d99948618ad7b6613665bd4b5a1bf005cba091c463a076b70abe4b7482fd454ad64f23a6ef51156add90d020cec3a19ec3eafff7db128b448f05408a2ca2df0376ac1b50bdd86d487cfb0f6cdc53860f258d69b47a50d9a2453e36375b5d3221403f5df2750e7457d2be996c9b2ae763ebd2418a0fcb32d7ad1a16d24f5ce4dd8cea9515767c9469f1520a4a39ce15383e36e7841d8c1c3d2ab19e434cd5b912d4997ad50170c4630de6ad43a0d7d375177cce75e381786a701afa54d699673e6ca23e9b8fdf680743ab65eeabb455f85c32ac9f7cbc041940a7700f8f147578316305728f1dab0a7a672a0aae3b476e1113174f6136663343f84d7d3e2118cee9e5328c7d4bbf0a651779a63d1765c16114df5a155c873735b0404905b34187adcef0144b279b37bb125fc3dabecacb2f549c8817ed6b4ac751a5c09a1f8b7e6a02c4e990ff215c8df4cdfafe2ea48f120119d7350850c84ff920a92762af417ea132bceda865aa5d35380d11aedfdf150f401d33c37803049a60d523446ccf330fb64edfece4bf833247f4c46f74f84a9333f13b2353ca85e1abf3b27076c54c673538fd18de842d2cce10220c459a4e791fddc6f07dca89b97e81635e3c3b3b612abc7312b29ea6cd035331230de811d954d49c31eba16043665817c1ace1174bde21975fc59a7de7982e694fd90a8ff24ef20bb52a8a00c1850738cd52c8294adafbecaef6b93c0ef0d133c775b688ebef1f44e607f83a4faff094462728caaacdce1f20d23669ff9fb000000000000000000000000000000000000000000000000060e12161c232d33","message_root":"0x29208c22b7c61e86f8ba82960280551befc0078313ff0aa27517f7f8d65ca488","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x433f4a5a47074f047c4ef4f2c568458f347a58fe6c42ddf12d845d622032323b82e177156589ead1d3e31dd98920b45c027eff0fc6f735cd4a5defc6d96ae43dc7b9bc7a862fec5dc10e64be8810a1f45e6cd95ce395c8880aed816da0027dfa570c62b10ba588120089df8c6d97073b9d1e84b7bd21bae2f01c9b92657e3f458b50900998ae965a93ecd09e838e313187672f8fd68c3fa5a1eedbe3a7eaa50c6bdb8d8f735d47a0df83f43b0453dca3b4f1f34db53ed289f652c99179d5bee87acdc8b73b1050a1aae6fbac17ec6a8ddfa23b1acf70224aeba42be3cbc850088486719614c26092c4a73d810a58ca418a1525dc2c95e515bdc53729fbf937fe31700d0bb52674768f8fd14a68d434a8230c52c7dca31a5cf3c054d938098f6f9b75cba750f50f153817b736276491ccc6db4d99d7bd4572ee2f93c872d9749673c8d049b5292dc6a1c80cb03891a25f17590f1de59c3f316bbc6ce77fabcd991f8b3417c1e29b31651f6d57c0313f4b92768a290c5df09220a192c55861b3f30790e9d3f5b5a4aaeefb4ab0e9058b8a0d62eb6d5850885e3215c8a0806446b5fc621849ce5ebf426d3c12306b309093111b6377d1458a1fe30ac6fe6ff83aea10f8505edaf671f811d8fe9b1e51c5ae456acd583e2b69855b6ccec57140844740da01890f14e279872b6062d1990662761c7552704aefcbebc153da1ac7ebb69d1887e6ac8c6e1ab4201827194237ceaf609421dfdbea70b9ec7b81942c0a467841831380749c47d02a9cd00105652a22a9978d94753d84d165df1d82c79553a9a23d16d65dd7bfae5be698da9bd474cc7ca21f7f59f601d1f18569238451f72cfa0e9f3450fe737e5e4d6332b9aca1ac4f24741585dab9ad93253f14223d0f3cdd7fd143c1355060b3108329026bc73b78ec340bc2504bc20cbf4e44c97882958fd5fbac66a6d9281be65de7176e69a7c2eeb4abf084e6cc886c7c927015eb015a9224d018d376a4d6abd540028454484533cb30868bbc4a3bbb0d42e9f6d7cdd52bf50529bae992fabaaf09e06cf5499e78ec7c57084225d6f5883caf5783a7f85238969e67b99344b4268f28c64f61d447687dc1900f1fc2d56af0b228f1ea69f353a18c693438b8dfcf234ec2a6e24318b76b3e372bcab1ca593eb430a52a7b82bafa37605576b17ce2453dd399c6c649f99c4739e072e43f4a5f334b719e1add049520609bb22595e560177fad814c58c7688dfa0104fe8bc6f5eb52526778d06d3ce307a09843d595a6da736ff781c17377091d095c6d4503931c32122c8a026c02f3f89ae29e3bbef61e91210066b2cd23eb169170eb822910ffc24a2145bcb8ba9a721a74e7110ad52f75180139192b086b644f9e555b34ee65d8d010807cc860a612e70a4add8025394929e9ac88361aa6f598aba16ffbc45d72ea62c2a0ce7d64921a6e7000cf6c6b95b21ab8f860f8c0913d3c2a0c5b8dd76701be566794b61e3b3a9e7d08bb51a21825a0dce2fcdbe84ffa7dc3cf08ee20e02fdf5de87d77beff3051af0b4a202032cf23cd4c8282a9d9a1a08673992927d5e6be8eaf3e01f3f92f94bb5358d54753a6c657654a5f9ae689e5e2bc23d5dace682e849ca88c829789a0ff140c0e3b1b4a98d437ff21cdeb1530377a6e83dde41bf68b6165e0b9a9c216b088cccf6cd3c82a926418ef5e198dcccc268214a55918ee9ac8b74a6600dcbb643d126622316ce7c3b24d43d78e00ebfd4a3ead365086a0d441281b039f981b73ba2187933bd8f0c7bb05c5a1143bff04c700bbdb21221c637071d20f0479372e0b01e41a53c522f11902724a9ea4a4e133bf0f63f141ed4da1628be35d225e0766c37603abda02e73beedb1f3cdd604ab0792e205cb41c5e7bc2df43b633aae6ea898e3f4496b45f9dbbe89c47ee312f7168d5c44abb8d535111ef8f57352e3b3123445c7457ec5df323bae8c0029f10c7dfb56b8ef68a42f7baa8287946a4f4b73bc5303ffa308b86f3b5728ce6a7c8204bc5a7ad3210039223d7204c0e890b60df873ae03858a2d326199c6cea7f62b84aeff84ec18a0da6ba1d9b203020f6a479583bbd3dccfe950b6c6ed22c45349dcbaba5ae8886c788351d4fcb7153ca2e1f53b0eedfe874502636bc40fc8ef58b7560b6532a881b4947d4bf041d3dd99ae44331423efd27e2df51513fa9d5184594beb1aaa9feb1ffb860d9e24f1cce90b9d57da556c6196e99d7979bd8621ea1bc1d9b297604e352544ed306390ae755e3d1457431a31c014c49aad5a39ce39e80cc2b8938f73b0f28325daf820630897b2f85e1729ba0cad9dcc9ca424ae1a020e52666ca35474d5577201361492f65bcc326222a13f047340deb688b7cf1a6ddb2d37d66e1cbb9cd5bb16cdbcef2297ca3be809cb05e5d7ef5600d6066f41adb6c8714c7717e3cf72f0beb8e1d059fcd800dd944cf0bc50d5366ac9dd5bff0b8c1cd94351f8c767682f877f4d4a87dd8445a1132ef16699e8188cfbc5b1ac2266679bfc9bf1ce53e2e19b89b5594bb6e38b9940d79c79f37150e1cc22391129e95150d24478ff624f9f858b73d789d501f972d05ee35f808d66e4b754fe5d7ab5b628d650bf2f780df251c96c0bc6c8f7ac5fad845cb2f2a8373278d29ef5d275da0e92ab8673fd902b92f68e38fadba673c1a978743440c68e3d204d1e1ef5b9988494ea3ece451adc977919e9e7b03d778882d74e426002fc627cb47ed1ef476603ff21d3d5c15dd767b0ddb0ba3b4b038705d68b38b18a4ea2d275f190d713dc55b92a67cc285b6cac1a9232c060a12dd84d5abeb51dcaa37f7e8fef2a4e78de4cea32c23173ba44d115ae1bb9346f6dc735edd78f595b7e26e7176ffef86a836178381e0cbc7754163754034bcca57b317dc9f6c1688a245ca07b10198f7312272bdf1922546ce411b6057c20cfeeecafb8bb2ed2d7ace2f603f8c0ef8112fe7a86ca03367a23be92bb88ddbffeb275e3a057b76faa383ebd8b5c86de4a213a1c7bf4aade5d9758d9d5b3d6e3f0358415b55e05995932fb3fda44f441e381a89c7f2dc699134a5b2095254318f9fbff291bd831af8ef6efe7afeeb32b2e0aefb66086b4a39dd26de8018e9ca8622469d5cf20e6910a65e9b8bb2fd5c193e8b880fbcffc0aacc511c2a07dfcea008dc2f7db22475850d747d7571889b24e5029aacac5d84ed7d50cbfd4b3352385adf5d04db55fd40722779f57b77196ae453a611329257cfeb985b7672b6194f8a6f8288a489c661a8bff54c300802204b9a982110e2d12971d969ec8e66ecb9eb242506c3d4bd8c7591cc5df4f0e7ea3762c150bab4e5025b4c8a8f353610cc5972c2fe9a7fe7f4cd8a5d14f817f9590a767f8a85daf20d67901c033471532c2ba64a1455c69425ee004c8ec613320c10a2c4a5fae570529bbdbd55991c423075ddf34e8186da0e3ccb1d2991ecf2056a32db0892429603cb1d925774e7d1c6965941260ac1a9eeb1792e467b649ceb3f26a20d7c7354be42924f0ba1f8e1ba39da38114385aab0eb0f3695dad50ef7672b3182222613fadda28c3e7707a8eb6861bb865cecf08b7962f67a3f7c15737995c014cdbc94cf9721d34a51c3046ae3db6a9d573c500b7e39c7b8db8787aaabe5fe7295","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xb6dadae5e9e0e39924cb4137ea64193645dccb9585910f070d1abfb9c85c8358","signature":"0xf0156cdd13c3fdfede7da432fedc8eff045e2924c26fd42f87f3084fc3e7ae66c9d3b7074f2699ca755fd11b4be1e2b47d8961d18eb3dcd1299934995b95afd8ab91eca03f2bbaec050ded14732452f27e36985ef1a3b216587910209236bc43d640efa2671aaddd9bcfe788c143085a15b7e1bf9f8c841a237428b0df33bcbd9c3572e14b161fb6a65dce2900a49c7a2923b86eaa25b440dce453f693f1e67fa906956dd64f6b344401cbecd0fc47d7726ad8f58355cba1c7dd6dc712d30b075edf5b68be0595c52fcbf0c40b87bc0098c7f1cbf4737ac99fb4abda5100317af60498fd9de212e4fe49bfd0454a8ae4f51d9acb1aab33167d1108cb8ab497a3190e640168fbdba95daecf5c601b41e0e5a75251c3b76c84985a942d69bdb782af5494e8f361c66a0ab7bd9aa75098fa37037e1eeecabf92feaf47536c5e8c07fe92a5fa8c1bfa855059d1f70f81545816c7f6c7fe648e040e35959657e8b0a6eabbdee1c3809e78b018cbbbe7b5276524c6c038759df855009e7a6d66326d747b3dd06ec0ced727ff43e68d72b19feeb3c740dc57bbdf85dae772740052c2291148fed1a5a95df0e33648fb39411f89368b6f767115a4760f91012e806ff3b39620820cd4d7a7f0634454357014281778a3081a5402c43ef38681d80d5a398f061d6b3842f33eb252c2a6af6893e5fbee106030136ab02d03dac048398c03082932af306f3d38a676786dd88d43c2fb63a81d4f2b3cacc948e89b3b9ab02a044357c879a7d42af359f80338182b3cdd08e98f423e3a273a9e971771af25ee4ac38255af705bfcab525c08ef00e7a6784399ab922faeba8e4412d66d49f1ba1bb95572456bf3c1b508e8abe377134cd2f6f80e8d8b4e42253b1d87b907420551d4d2740acfcb1f15a6df9e2bc58721a6601b162897f9ecc8de16ca0103bb1f98cd3e06354805d6ff32a029aa1f6a71c2fac038c3badd260ec2b5dabc8bf3f617487d9ea61f74162cff0ec3c59532bc8a8b38976718c3c7977c542f72935a3b88d56674646298250f2d2ef235ed2a3a4ba834fff31fa1510c8ce0e505343e10c61696d7364db4f946819ba5b365897fd65e56c85178272991d970b97fb36ff6dcebb14a90731b84b4400e7ba5dcaad5f16d29a22fbac5717dacaf4fa8f7bff2dfecb44c96c43549ba3966c2e22dd4f94b2f5f1e66eab08734881a72db5ecd8b2624f7101c9ea7c9a1a73358a457dd9907ee9d8c51765f21081012c2757e77472b72f7ab09eb4fccca662d39c162bf27db382249bb6f7726d42a67142fd6b6d0417a03c3d9d03b2db5f8f6203992ed935579af71f4c9a637a266f3c0ada7e5e9b0d4db18c3310af5d995824d284626f8590fc007d505010c66c6f9424557c8a88e8fc20cc85d2eb75555112c27d859e163891d3c04801b67b81051e7fab9ce2aab9e7d7de098f395e75abe813c8091a22300d12915d1c1693927e11bac17a356e7bb14e1ccbef212d8f798d18193cf3db35c5879125963ba3dbba1e4bf1e3705aa35ed6424ec6a0d6e044b267aa57136dc58fb29491da6f0d4610d27ad99181a3d450c87c5f86c0225b5680856071f80868ec551b2b0f1c8b4ad6d44b906536d5a3415195f39078b88081324643d95bf0a68df4d91b7c065b28660138fd1d57cf6f9ecc89bbf55ccd82e44a23449c458a38665985735b96d258aadd3e005eca669592c64c02a5bc63195c4f04488e3479a34f031005b083adb3051075cf41a7eed6d9639f760ce18445d9840e0838236503d0844b6c903c6513be7d0a5752d92ae80bfc6b41aa40a4ce50d06d89a1ff07a5458654fbd6e45f0b34b3879ba5dfbd19ca3f015ff9d0481d69d8da062946dff042c0f10b3a2c2d385526b362f89dfc53e31b38d515c9545780cc9c4dfcb3613dd66ac0b2601b9d2ad18208304f50a32dd3f339651e11c26eef6d65973f93850de20fcdfb90ce31bb57471bd9c94dd116a0783d1646708c7655294d6a324edfd1c3efc95cba70f553f948807768f4e1d10f0ed9fcc5380658f447575de76e1d6922eb8e0eb800dce0f42b078f78139a7bfd4fa3e9488dd25fef6cb270f08be5a8f4682a981716aa7dc277bf2b91561f1910e5c96e6f174807038eb72a84ca498cf6c0b3f8712e7a6934cb80226aade1d8a5ed02d3b9325d4ca2f09479beee788015b642c7964612c180e1883e6e3a6d59ef35baa65c636d3fb094fe513a2ed6fca7f0b1b615c8c8af1fd7a541bd1de8cea44f6e649ae528b7ae20adbd57e58d632088f18a305ab23775499ad353b8dbbafb0e6bbf1cfe64f17338aea4a9e08df727b588a18aa4de0bc36f049cd5837b5be6e88d7ea9071cf3f84946250f27a94acb812d180dc6e5a0812e5018a40c15d9f21c03350dafe31c8494b57476b3a6e72eead5c61d073f24fc6f9f2b2d5094640fd35ba94ad7b9e0a1fcec9b07dc46a225b54637c7cce178eb95951f6360fa04a609636a91307a3c886436d88896018ecf3ad6f0146e8902aca6d887d3bb8eee97ab50ecbe9c04dfda8f0050c77f4aa5e5379f22ab9906b0caca4e2fca95bed27c469e88692528a1e6750c20c62310df2a33c35bff7ff4d9d8ca49252491791945bfb1cfe416abeb93e6d3d4959bd33fd9e5e509ccb913ae7f45ece9a34ed7ceef6b3791dce350ad15e41347e9ad2c4d252be7685e512c686d7d2c93e3e86ecb55b210ed054ac1a474595a39816e0be990da7748213899831f54978e64d1aeb0786447bfcddb42aa8d902f19f0d2ef907b8916b8e88e82988adfc76ac745379136ac9dcdcd7e5fcb62881784bc9f6f888d427a805244f13f965285e3d9a03e83d40bf8606756bd1f8ce6081116ff5d6e2f5ea2aec2d39415e2a86b1dcaf6bea9dff1cd4b93f0321860040e2fc00ce0d2dba273ba63c3a0b7e016f71d3f029a7a97b8cec01a5bbca5086b0ed01b876162747be19dadb4d2ae8c2e04197a171fed9b8ada69051d44540af82064406c7cc7bfc60179e8287ba953a36ee76efcd585a1a0bfdf912301184e60a0944f459e1d8c49762e897037868df050f9da9b3cdbf92d20916e090b6fda7352b8d572c0ba379638ff44a3d2460c9c4ba3ad9f3ec265e245c22ad4a14a420b1d41de5af60c7aff6f29700f0e9b9873180abaf67a32042746758ee9e18531229ae65101d332c610e7c858cab5f9837832eb51aa9aa9c7794373b2474976e479a0042214ce8a957c22390159061ae93dd5168c22e44a4df83fb2c63a8a8e605c0a3acc2d3e84bfd8b5f2c99ce5d1cf9fd550821f5bbeef5f1183657351f076024e004d2c869f04455d6a45f9deb711ac483b0c1fee9ff06a5a0c631bd21e982aa45b3f39d7a389cd329279250d5c2866841205a058f1832dbf456c25b41c58e586a30ea9ddc16992ed71bf2089c3bdf3ed023a74626fe3bfc5de76752c6e23960336dd53ff2d8db5df454877bedda25c4d39ff23fa753a3ee7917ef8b29b3ad60c39ac9a36b12f642fdd05ed5302d62959eec5eb3ff1bad48049af6c13b901339b450d4867358d61e357540cc6422d89f908bbaa21cbf622cf48e5f2a766c9ad5b7d128dc47a78610f56e0ee882ad29f58d452e8451977db1992774a12a37d616ac5d62ff952bdf8f8f35dda8e943992e4da1c37ebea4436dcc75cd80b2376669322d62c3f96e7fe665385cee061c65133cdfdcceaa159c48f8d6ba86b759a9d0b2de6474e37432610bd5a4522bf865e1cbf79627099f679782bb8533d5e43dcd36eecb9ffade134b09275cf9f1931e5f868fa72b54c6509c3bf03247fe30313e2cd5e5f0e521ecec7bab8e288c01a841b802fc46864f1eea15d341593cb91a113059931a2a9341f27f4569bbd38cadeef302c4a309bbcbeffdcfae783f033f47ed0ffb2c77de74a95ca4aa559ac101d4216b18193675f0b62f5cc6e4b7677819ac0953260617300c073666b228333644eef5d4ba9642313b0bf49eb8057746e78c7cfc963c8141dce68856ce67e8b92ae1ac52eef5e556f16dd8f4623e0279c7a40c1a3e135558d0668c7dbaf7e5f7e3809b874f6867d3e0cf0d1692066b9d31693cd11365bf5f96a1c34c44499a25ddd4d7a1db0c07601951b25bcc6e87cfa8f868cbab68657eae6a1b86b40845f3de1986e957abf41eadeb3bb76f6b05c840cb1e0c5710292cf3f8359ba0a7b63ef93e1488e54d83f8469c901de2f74e63de41d20b2394312ab7cce75d937774de2bf9428de112474e85addc55bb5c4a45033b67f0f5a9b717bd22909fe0c8ade08579aec287668ec0af7b0fc77ad113d91ad314b064b0d86d06555d89312ff363eb371013ff16753b18539f42b32458db8ee0afb6acef516f634092c08c0b28ae7eac2c74433d7efacfb689a2748aae649d28cada87abc987e3e9cd66e656aebbe46bf41109696e3170edc8ff0a05ff35370790f69e5973116955bf7bc6d735f2e266d20ffd727b5204e9117619d0db97b2e5cbe82e8b27570bc0c18493108ff140169d41254d1ee15c84ffcd06db69a7828d8c920e16e21b3326357b0ca83c6776c8ee9437e7393dba0553695da63e5aca60c0daca79d0ece204e7ff80ad89008601c418fdf607f262fe607a2b3ca7b58332e7c75a18d614ae3d1edfa3f21eb16517f78dba3348b53d3ae5dff57a6a424f0a5235a79d9f746329c0567e88d37e3c66d2ab8bb9f10adbf50f87d7e3dac028186c4f8259bf951b9443e3ee22356711ca850c5ee460f92edcf7735581244b6c28d717c3a23a23b769adfe796abb3d4c13cf7ab3d99228a5bac5c3b2c0d1f46af4b5fe4cdff9b1811a8eeec1a14457d7ddb82c76970d3456353282d7c7ac2ddebcecbce13dc7786c28e16489c4ba346830eb9a575a8fc4ee48a386ae7dfab8d0e48c581ad159418c953ce649333a22f9670a841f5fdd16d98cc2de378fed0e8b8f6b39e676818ee6ff3317c3753c32bcd4f687eb9b3265b3a0552b0b0a2f409eb697f0d6d1b157545fa98e107bf625145dba0be36648465d36e01745ebc576d2b24b410f3cd509ca3be11734b5f5a2ab420944093b14b8dac202aa7a923b98a6166127a72e66ecb6063653c6c97c4df75fd92f3965fb550eed84123721e2f5a51c5e19efe17cd299089e92bd7a45ebedb718dec533cb616d363033af8e8004b534ae27453fe6fbd971992489f36533726d9f9e7078e958ff85df512b3f671121f7bc86297ec03d975900648c7ae499effab485b0d49fbf26ea56f18661320d3bf9ec1dc1eec8c3638324bfb1f282631d642f8ccbbe0d56cff65714ad24fd59733802110f363dc5f09bad22b8f355ffc7ecae285639e603c52933417cdc28c1e025e31bd66fc53f86e6fa55b469bcdc79c21146cfc3c9c01fcc55d4f6bb24f6b1d07d9ffcf41e350786a6ce28582f7483937f45adf16ed81a03bbbf976aa4fe5ea3d4492b5cf56f46c96a3fab1d993a8e1f5c8bf23359a06ebc86af1aba9c50d43e88943650654c0c23298119edcab9fa890b94842a1efdd1cfe6afdd0ab6d840e428801ecf4da2af9824f89800ced9e934399eb6c7ba9f682a6dec72f75f643969fd2d73d0137236ec6ea27c8e3f2dd7126ed58812c5a1b11d1ed291009d5f025c7d6d8645d549b5197f592eb3f0b4b9d683e12d6f8ac931bd669aad4c725ed2dd47fca4afcff25d10597e651f197a59debb483c041da265fb367712a12db71f7948d29768f142a72fc59c05433f9928feceb20ff5e1f43f414f4a993dcd5511a30b1429afd6f5894dcf1fa2f5961eed7f2a89c1b97a8b93bdc40b1c90efcc5bb89da687f94f7cf6eb95349bf2e23122973f9eb45faf744002b6f73587d80e31656e2cb40c65b835a6db3e67f52a7a9f64521832a28ad0f33cb5b6440d459e5691dd9b9141fa7d906036d09e276eaa8114ddfd9e3a1b33466e6c563637b979895eaa5b5803bf18cbc0c700bab50bd8a74296282db0c39a66d9b2fa7e8c558c806297d8277e7ac4ac1db0ff6b8f5bd266dba5246ddce57cb017ff5bba6da90e1821773475714bbc2e6222b9377275679222bb4b56b6220e35ddf42c82f91ce536465e29fd4379ae44c9549210b094613b96b9f4e17befc53698e25a4eacde44a92d2536545661d1b87e14fd826fe732432a9b29ef7212b127071178c906b6d9f24b96a5ea2498d66e54de7c2a6eeda909b0b9c65f0dbdb56f77c3e858ce5033aeeb2a9b913dd2820c079745ee4f3e29ca82cc6e3c2bb687645eadb12df39e36b01cf1e6cf2fa11c487ed95c8d680221dea11574a0f4aa030257b21867aeabf2ddfa50fb9b3bb169e9af10c087e7a39a5937485e57e26cccc766f738f1bb1e8235956d40447f120084666cdc34e6f74382c639227f3c51929ae27b4e34ceaed0041402e4beabb0c6fcfd33696dbab9aa49f91caa054c2a2e8c8faed8e8fd1318217e9399a5d4e9f017186f7885c8dadd0f4e59b2f8fe477da2bec4e05696b2c1d6f1526eb7315e61b1b2bb0000000000000000000000000000000000000000000008121a20262c2f35","message_root":"0xd3d046e7675b1ee438fbbcc04dba3208b073182a6ef97fba58543be4ee31c715","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xe8ce092e8929ade320bc6170f631ec803067f9dc19ef8f38b362ae276a215f790454a9a80e91d1a9ecdb77910b590b6dd2826a3ef372647c51b7d35e0c88fc271a523cafcdb19fddeebfbdbd13aebabb4c53226cb28d6f98b78f6d257ea9e6e2a3eb87589faf64ec8e2001b736b3e46d6efef8f4cc4b210ee05e7291b62a626478c11f2701439a10b6991c3117ef7fa770d921913a51450d1dc378645c7b383a21b87c5f14a42410daf3f40ef8ea75c5fb6be206277273091eb41e26e515d29ddcbf7d9bee50ff9e359b5b6a64c756f1b0531c33a372b20bf4fc9674a90f6fae27f0c50981c0db12b0f55e5845d5d1961be8a38cb5ddcb51da9eafffd97b7e280887dc1514d83fb81d34641894ff557d0aa9187b6b1dbbb4904ea1fcc3dd5960ecb629a9110ebad1fc9acfafb3e62e577d07bf4c240140ff2c3dfeeb4f99ca5839dff7d27edc38eca46735819eac20031ed637f1fefdc0b0448ca66df074f0ecd576050b35300bc2d8c2a9f560dfa653e20e5b8acc31db6b582df19260a94fcec9e70ca789070e4371e1851d4a53484502bb97ae6e02a4ed65cf87941a4467ac7ce4973de09fbf7bdd25be48995c9fb15d9cf4d827a7f1aec58d30d743b1e6a3b3de35353e5c4774e65e4d2e4f2537d551e8a177eded02350c3dcf668b5c1b35504d972a943c03718aeb49be2b95981caf25c3db4c217003ed6122317e572b17e59ccba55fa00c47349e612c480a661d96260951ef07eb100c2bf6be2128c64017340cd2d4a6a5e50065e64561e72f0f0c28ce3c1bf5253331095295c9f8dd8f643149eec32a97df1f7759f1e59def16ed51d7c570ee686eff85ca2f68d563fadd666b4ab49721cb13dc14fa6a3679530936cb5f606190010cc7138854b04486493fe0e5066d914308f31792e1f77a43a71ebc7eb0c21ba127306cc062e6990ca9af5574d6813b346b940f553865e6e1044db914a01ac0d920067ef8a2fa897d4636c899237a8b63adb882d9672f9343eec53f18edbdaba01387a47b3b44eb8ee98a28e8c8429a932cff504b6ccd7c6a22874c923c34a4c6f38262472c4a54aa24ac6b839647880dcbbef3233d483dc07951e83d7babd05e03edb7577bc0207ca8af5499e4281f519ccd0a017cd3af65535ed1a3402d9fccb48e35602259982d9f19ae648c4467950d485791fe1c0883da43ec70fbc91cf898f0baca1eae9e333a3a8641a080ea2cd20cecdc6b9d870527340f37ef795f493b0a0c49ea2fd79f3aee49636455dad7de7ddf2761ecebd1980970ca9f59daa9f0e3d5e2cab7ff99693f21caf11db9c2ae0e35a85303763c9ec1168279a73ec7012d61bf4fe9a517e752160eda14be6b49d0af54e9ad8c0601a7097ab9de26bd50ce3ee6f56f6cdfd1467bcac8afb890103702f97e37d07dc8a21ee5cd94deb967c441ac6e8121581bc7b757065bf3236ff62b18b9f5f7d7c4f95aff9bf2cb9f4c9a38c682becb76ede9b5ef73f6bf194f3ae03db6cba5a38df3aea39daaf758134b33e22ee40949aff11560153374d6014ebb3ca3892bf6b43f9de530ddbf8f248a82d5029078ee0d34cbb56d36c0d036404e26a938f8c02138342da43a32d0433ffdb1760a04bfcf50dbb8c32b1553b358ddf43081541130efa27116f0b0d5c81ca5f9b4d2a43510f2d246d4775c7120034141841d6c4f9ff2582d5fa82d2397b89aca871cdf48e163693a6f952470dcd659a88db4b21b2eb251af5898908fdba54994d86336e2075e06546531d5a2868f84f8f61af17051db23860054cf0b23d90cddca2aebe54fbb56f73669cccc1a95fe9a2f37970391084e8dd8fbf08b9605164ba9f4ef26109db3177b2289a66b634ada597dc56502bb251e889fc44892dabe4afa427235bd0a154706c7dc4b8ff225b594792cf53cd9e65669a5139b27a3a07880a4bcb267209961eb070f7a476badacb27d564361725c970b47ed0baa960f649c21d476a4e2dd4398dbe1a43f816190499ca2da53a4581688449a12b014648da0cf15aa7ed165767675b6b3a358d7720a389c08c7d243ec8feeb0c24821c2b53477ce6412c234f5dabc336ec873461537a76f29e28a6a534c3c338e4534a79a48466ed4f6e4141a8bf44f1f988dc05f8198f5105a542cc58e470a79d2240de080f181609fceb12a40c400837f37bc37c892f5ee4cdef55ac828c510ee0129b9af6cf3208b722fcf7e9d12339a246ba527286847142a3c2d2894ef86d94459ff5c044cd1b0aba02f3670dc45291584b70633c25fe2dcd3901e0f3ab168f232505040216caf120e9ddeced306cf2dc1790fec2ab867ce49f6bad93ec84b18b76437e8d2595db11d6dd32099f33fa08e3668f3d0b5ac614d1e5bb1bd27ef8512c9e3b9d9e8785ebb60eabbce5070a9f77b9b8df8f244aed2c961c4f2107f82a2f7071c8d09c83febac726070d8752fa10c09188386666ff6273ed925db6d8899748698d5d8aa88de878d2c824eb994fcad653e1d628cfe258c70e31944063d9bb599ec86e8396ec6a88d4748e7a7fdca3fefe7c41bacad299c3ac1f286d717debff5c1fcb170d26affd77dc406465e9e4bc3adf250bc95407ad35d3c7fff11cb03b564bf8944bf6f56a6a91effecd770d898b89ea5de8a2e68e7b35f8f80803ecb026f43e77f3acfe6c81e9951f034248143f35c579dce10c304d2b52982387cf10ab59ee7183e46c525bdb9860767fef15ed30147c02a1a452acc86d91d4fdd9d64defa7a94c123b9bdbf5050bb5e747ce55c82e41c27e462004202639892255d99fa7890a6ff126da5c625cfb2d9f26f50889a7a339f36319b69e9058c87920a50766d62f4e3055c0cb24b4914b14cefa68581709fbc7f1e9b8f2bc8e4ba1031cb4f9893a625714f4dfb48a263c1626eca77eeb994cc4106ef90719e2052d9fbb09979a07617364c2cbd7b9184ffd710e7fb3e736ed537ff57110338443ff102cd2b059e1df06b08bfd7b9a5624b266823f0d7fac3f4a8cef8c694b6cb8c8082b19c6cf6aea87aa0e96699d298a316390e10cd064b10f79ca1058064b635f5b388d818650467b5ba3b9f7e72cbd5ed78886e831ddc13149006124e56b992268921e26aee3a2bc04bbd3bd1fd47e10207410d5a13dbcbd24b93f630950afd2163996614f0d7c1e75ea032bd5a36f9e7df333559c53d6eeabb2ac9eaf0e8cd5d453d354a1e00a9ac3df1d672e424f460378129417b66fb6e1b9c12b1989fc0deaae74fbf83a87c690341aa0869eae6b4335a2ae8492f8074404025012ce419865fc22d7af1eb5f32424294c1158dcd39d868f36e05ba17e69d533b0bdba4d8e66fae67b18c49e954cc4aa2371a10b33be39f04d807b1a2d468deab1d01dc85941b3c57b31c7c0709f18c302359fbaef522d5a5848bcbefaf2a3680c9103eb74d8f02ca06af42cf02c837508969f5882d44aa8c53dc190116e200acfe971b87fa084e2d7def2137131da2fcf1919a8cae39e52fae6de0f3633b44d86ba2fa556e158846733de0f80c71cb20b9c47ac1ac627335e6f0b7795fb889cc248e3916f98911b624837c8659f2128c7271f3d0de97d35cf1760e19cd01f0de286b3c6286ec4bc87aa406272926689fceb86ba72ccd9199e499780ac24df2004e36ad59c940d91a19b1","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x3261f670f81a1689a45545fed8dc67228d4a8c3625ea11d7a4af7bd1a90767f1","signature":"0xde892b20f9473d9e5726eb20562f7af4698031600cc9f4c082982100f544d0922eecca2f8e7e1daf25e78de67bb090a26d4f860ebf0cff6e85005fe53fc5caa3e638bdda6ab743091610b381c0081c7b8ac9f801fb1d490471718a97f538c8c413cc6c397dcdd15a0efdc4c822cb7473829046f529fa9d587728c64669bdc1febf3712145e14c9e5748f6e0988f2b021b3d18cc848cbc0d969535a5c8dd5d2f0982ee62f5f5efeb59d5c0ff63b6aaeb9350966701047e0d41cb8e47bf6dbb04484bb21a09e70a651dfd9d24c8817d7aafbb79e8d4211cd2cc8693211c3bc9466093de1bb2fde4eb7efde7e96c703c71be27761448fe72f5a6da8107222ef0bda408e3ff54ae5485e97791ffeabefa24953ae93c8f02f7597616a1237be088336857cd9ae2abfb9a2feb5fc092ac305fbcdcc73f3f992537d48c6d881fcb015f03f2d651849ad48ce003e226dcd261f62cdac3565f1f7814df98b91970ee39f9b2574337cf23353ce7765bdd89a4878874bfcf81ee1c2daebb5265738014028ebcc45b8dc3bb27ae915bf9d8e994419ab4e9a0b6d969faee1e0b091fecc65423b4ad08e478ab68683f72a0a9e612e1bae17e98c4d2f69745b0d06a512e8b61f8849e9fee9b1134eaa6d08d215d1eae5049a996d6d5f246362755801590283421cd8fd57b7a519d9f56bc740bfb5367028fa1afa65d7f2f41c141db737f2f6890dfa19e6c8c0389259bc4f9cf9bff79a86e01bb5ca9137d044be367a73aa1cad9d89d6451dcfcaa5f85dbdbfb64376eca0d28fb0a60b35fd567f67e3a6f6fb41a9d1bd5b54d1ceb2e22edfea73e14e92faee0a01ce062b25db440f0ad9d8c124bf490a5a99d4266c2bcb5c10ddff4153a9f21335be643ce127d49004e2b4b063fbe23cdb97ddef7e9549ae90ac80828eaf9da6a5a1bb1100fab2604412828399186a5ee4319346f53eaf49e7f0b8ef7e3c19fb90181350fca8a587ed34133ebcb5e87ecdc0496bc49ac6679d585673831c6f6a2a385dd23ca37f195758b183e3dc092a85e72e4b5054e01d0886697bdb92122633a24170f064909f516aa43ee1e07231b48d1efa1e3fe6826eb62ab8b855e29f5cb9a4cef078f9a4cfe7f0545536c82103b973f4606c2fac172bca2f22c8473cc969d3606476a8408a52e9ae07ac8386bc8f395dba888b5fff9ad749a0ca3fbe3374de72c09ca9c73ca369213c269f672a06fef903c21c9a6ab4f17cf7f31a9e4db232ceee0bdb354cd3c1ecf3ea4039d7822fc8e36259cdded5f107341d5894f5c6850b417f6425cd0bfd54c4b30b3005968c5008262c3abbd0ca4c7bc78f5d358c0d316c52eadc6adbdff3c8688c6ca01c5835fc7eb21a23e84e195e8a9bb26ea19dad8caaa8fc9f0889b25bd682b6e2b17919c90544fcbb0b9ff6d3e2203641b215401a394d691a3b574dfeeca0ccef4fa3b716548d0d84cf2e686258a9593c0e9d5dc9f223551ecaed63bf23afefdcf02f2d3330790f656395ee279cd95ec4f46a424cea0058640fe4ddeb34b3406d3089424cfd744aa77f5e4440e58953b7cf46fd8c21e217808eab6c838b6b5c8f64b328461805776a7853fd499d17375e43517e23a102f93a5957bba06f982fcf9973c41a6418ac3848dc12063df541ca7a3a7c2daba5a0bc9916b75a1cd522333c2479bcc7783c99ff0ad26c5c21267051f4e80547d853e1ddf3b46e0690b1754c7c00abcc9398b1ec5b935a8ad3fb59ec8723c4a6d65be68e2b072dbf2be844c008c4d491d8a16ba6677770b2702b3cf3d6aea60219bcbc0ab8c44d0ee38f3b5a767ae057451d5da3c599b0968f6bd647a9882314daf101cbca37673439f560e34065f9a0d73d82e3908959034a5feb92c5b638c37753cad3b9315c085ffe0dfc27392cf8a9b9d45b78826d593310dd96ef904a97a56c42db6437b6c81f64479ad6d7ba08ef2d2b8a1293f0f16908edbf631c529722ba0211e3bb075e7755f24b7d8b2f0eb111416b90220fa81767070f4848e104b35c7443c5425d03a15d27adbbffbc2343d5697728a85cb4082df456dfaccdb7bbb5cea9b71cc08242d5c3585361e93b7ebcf212d8f6fb578b90e094692a7b10e872eb30eddc91c04479c2cad32cbcc427b5d819cce6dc8aaf0e1c5148e38295508d0d981d29d9928d0ba3d07732849276119dcd4d8dcaafedb118982920a4b25c2f16e6ed133cd4670f5a787fab8668fedcda93d2bd557ea3512a688f1d50b2e643d44276a2fc217019f5dd2946a9c494c5043fbcd017b42469234b2a41ca611aa7eed00e01da819ba07e43a73fb17047da376a00fbdce39f4659d1a95f40a441e94545d6e21bf3cb19802ec0ea9172d807b655a7caac69ce6eee4d5a1c9be00749a2702d2fe6dd5a634914434e680ee47f300c846ab49740df42c7d80cccfc33be769b47a69526dd732dc9433fab15ff6bf5648f53c903178005f7250924828a761e721856aec1ee4635e6090ee109139d703ffd2464679697c64d2f4d61740c83f3ba9e2c68003fc203de279a5f50d65addfaef5b64cd2ad0d468c3b597a85ddb5361e930f7861b542c21466a1938b378b0af93e0d90e707880c7c423e14555d7aa48ae78258ba05f6a9a5f95940a31559ed8626c5b60293831dcf2efdd1acf8e4f476de3060a41b674e3b1910c44b12770fb29c38ca762920b7c4283e336640be29d7b9b32bb6bccd861962694b1036d22d3f9d1f0deda9f4a24f23528d418c457263f29e0e3687f7632f40d4afd1eccc62a0c76e1529e8c89efe65baffb58ca191f677be5af5dc3dce0e78d6f51fad6bd139e61dd5ed3c68661484d297e239ab8618d4e94f6c4b6be24c3ddb779c08cb7e2f0e559c4fc254349ba8f09c11331b1c5aeb633aa4233aaefc082e5557f3aaa9bfbc1bd3d35f0edcef1762b497587e2818ad112264a01d8ccb2ae84ca8b4d2448e141329bbec0ff67980af860f7bbad6b2563762f012abf733a260023b261ae27e1acd4f1ae8f3f1aa175d47f0149bd768802f25fd859ab8aa0c4503dd43a05041c88a8155b8f0f22e690a7c4f8ca5ac0d668bb0d555e9399c222b9b8f2cd0bc79cc69fd9de52e0343043ad876670882ef6e1f4275445c1f8a7778e11cb0c543818accb86a4e074c58b79f10b7d2d6f987fd54cb8594c303dbf962e5a4628d5491a233fe2c8d048f02b1e48ef3143de4716fa4020947035566b84aea901d44445e514fbb30116925242efc814a9712f78a1945867fd80fba954268493b235a351882f3989c1d29eb35cd526e7b105d2286ef1d348a8cf044571caecc53650b1a469e8e372d75efd021a9418fd08461bfe4848fb139262b99283cdcfeec4c7d94674a245bfbf8890f5949a35c97043451e66d7cfdc366d6d920125a353982c5c3ce5107510ca5b0dc7130934deb6bbfe23c89fa13a43ffc62ee84cccad4bad615144e8a2dabd0d523757de8e57257a213fa185aa1a3781089f8a9057fd7f18756996deb4cffd73a9b7fa15d11b4e710eb15d47b937a919bf4c8412828fa104174cb9aab08c0781c9cbc0f26583d9d52b677d3a505b4796f2e22b5e8cb7222571052646ce00f245e518432b18a17fdc3cf8ce6d8e444a361dd96e28836c0721cedc92ac48a2db7245c9782b33016717acb6daa1c07b4e47b894e087b1d11fa1d9e0c3e0b086939c6c9d5d249530de08e797b4993d65344b9224bad3527901c6d68206420ef1e96801e0a76f03cc903bffd95e87613c4d9a27143291e5de11957427e65e7bf2f7ec0fe45041ccd57b365029992dc4c782652825dd48165eb608460d4afa059c2aed131ba9a11080ae6d13696949531452dc1c880c5273ea9a9aab838aa1452b2a9db54a0b74beb7c3aa22243995dad5d79e78cceb3b62b948911d3bb38178c57bf6c0c92a2c21cca1cc00dc93cf3c501a9bf24712f157e6f1272ab7d87a4059dfc96feab1bc1c9fa001951eaa435b33cff206de4d391968db02ec9dd11b7061f9abb92724586d52f76c50142992c4e1c5a8856add937e83a6c6b1807effe1f8fdfa29a5a0ac6354112b97f8a15bcacef2e9b856eab068dd5ce57ee3dbb9355fa04888783c6b82256fd7b670a1ecba68abc0eeeb1f938d6f42f046247c0c5f320ad4348f8d88dcf151e4e5bb8f158907b991a52029fc850795c13ccd766a3db558f231dcc7838f64477057fed4ecd4f253667ace41ae62f5d35d7996da9f72cb9ef31403da067ae9e41ba235fc5b3ed03be2cd239e85adb83e1dedb8ac101641d33fb0d94ec7c646c943a0299af18243a1a3b37d5d7b106effc57e1ecabac4ca8f4e7aad7b3a0f9bcaecb54d283965819f8dd2570d26795fba70ee8bf629980216735996cabce838229e6687e555815aeb9e74eb2e132050458c388220c50bde639bf3048ae3ebcf1f81e5382e3fabc36dd5684da976973b509dca38bf9eb7c4dd9b81fba46e539a7edc77cda9f78dbaa35a3599f1065917c60ea591e56e1d1c7d23ed2e785d846725162009d8c43ada3afb687f39db044772c5f8ca8610906d118e7a69f21db8dc68ea2f5898a92c89426f864e3dc588df3cb7fb5459f11c5faf46bf43596bfa4f6b94c29bbf38f99111805ce0f3b3f3931aebdd708570f45d7fdde76162fa5318c88aaa7a9f69512dc02d257a0274676f8c8b44b6416b98a30112bb26ecf568c2f6dc172611fb620bf0c05d95b32d9e43b986e5e37e6e8746301ae9c4bff42b2b5468399926825b11ce722f2706bbc7506cd34a5df89455f10b7a869c746843eb5e10f4b4a26479f4bb40588fed87f7dede4a9764d6787715a6e9ee548ab5fa2827eb18e8a32bbe0e5638b10add9d0fcfe3f56611d9db074297df08e0f3fddada45005c0ce783d8e3d6011325db309bfd5ee23cfc81de42bfde90165a2b0f7e5e9e94b28a5ba77e998b31a5bd62515d43d8d7e60ef7e03f22faae69c376ddea4eeef7c1e88da5c4af13ad1992a0d00eef1e1e1fc3caed12e8e0c8a05a1832547da134f48fe2c8eac40b159c95e12fbe338603dfcbb88e008ebe4eeb58318e1b136c98749720c6e35abfc578fc077fa14b3078867229ffe2f18df086863849573171dd14e844737cddbee0723c7dbda2c80d7fa8da8e4feb8c3dd50a141c04b47abb1aafd22778127e134e218d46c53c390b4bf1d112c4110e1a0dd926040a9cca14766f828ec75a7ce382f4cd463a73aef2ed6e61f1dff06070fc5295abde148f5c90569b5f1a542465c8b71af7bd07640efbcd71e68a4f78a01ecdb604037c971d36414f802bcc548ea9cb887dc64fcc7442d498bed2a8f793f1b794d2aee271bfe07771e41f897ab24c21426f6177137d14b378b87ca78526db23af289e06f6dde9ec7366645cddfb419f7d4b9018c05504d70897388d9ed6c52a92acdc50d78cbb6c1651ecd820cbbdd379d5b01861db4c5e8ecddc059cfaa2d13ce6b10007eb9856a102a7db584832f699c0db97e1ea67f0fcf05c03185b5983e792fce6a66b3e474bc89eeb571be9d0cd1cc6dfde3eee676b609d1c475b4eeb45c2c258bdb03bbb40d0ac19b6a5e7b9a253db7e4e35901e2afa7402143c408cd86b5d9e7522e4649166eaaf2d1121775a1385871a4ccc949bbc8fc32be46a15842aa75440cede80f476fbb010d4dd65cbeb0a541c495664efb1ca3f494c2ee9cb5864010b0dbbe08f7e2ceefdc67fd4f090fda4016ef38b789b684cdb3cf6c1141c304ab0131391397edbd48c7d9f7bd861933a93bdfa13da8b660c8d92c9c7ca10e9bd7b8b10a513f67a913a324fb2bfd8f0d10b117ce033a7cb4298a2fc97ee7a118ff2619f45c60a65fa152b89d0333d6157369df858cc5269455cb0f330569def67719baa93320448e4785e3d20b2ab5b4ef314fd1c4aeab39032cdd619dbfbf1554cdc594d4f0042c77f409a7fd7d4b3d494bdc1426494e6e274dbb513f8a259d6ca53689cc798833d3e0667c3dd97f34a6db2fe2d2729e8fc29b42602dcfc2827cf1abbbd3a2d8e7f8c1f0aec65cb7bd0e8c74cff1f626dda0a316a24b708ea4967bfdd69e2b313e063c161715147294ecb6f3db443e8fa9a42387c514b9c0b7e39cf260566a4f44f9bd6b0e903091fdd05aefdf968be3f800d0968d393456a66a5ddc150aad435412064077e416e8fe34df36f146dfcc9b6da4576fbc622fab087b3d4a4999d9b597031514c60772343c6295e05af503e32bf57d183104b3eb7a863cc166d52fe28710f1832e4fc48d0cc5939d330814a8e3943b265ac32522b23aaafede00551b72bfe46648420a69eadecba2eb9ddfd22139c81f5dd31567e25d5150647c84a37fa3df3efac1891ad0bee17847480689b92bb4671278ef547fb56a495a09f1f9d12f55a521d49a83e21d148ae3aa3c7c653336387a525f0f6c6aa684bf8ddd5f0bd2e6b96dfbee30b123235404e878b9495aa02696e7782b7d1e0e62748638a95afbabbbc67888e31777f8e9abe5e7b00000000000000000000000000000000000000000000000000000000000406111a23262c2e","message_root":"0x096e1dd9b453d30344b8eb41231b3e522f87b479da1a3d441a19cc157af0c0e1","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xc27b0d12d20f613f80c79f3d326d9312e5dfdb7472d9f36fac31fb415d7caa6e6794499ca52afeb7f30d9d33af1cbc24f4bb69e1dff97148a6dbeae81633d996140ad547d8c3ec8dd1bc01a255abd6a9e72d1cd724e2dbf207d610cf7c53257f6254dd7874d53fe3f00344caf8baa46c26b6d0520c5117acaa1e06be4be415ead1b23b5efe1ff8fb4410b3837ac5c097e06f19755f4d92b816be0396c689e3e091a19d68da892a8dbcaa506a02308669e08fd8577c697dabb0a278c0748384d990b24eeec18b2df19659f6b98a0d4007679604286754149837584b42a62b11c98f328d0dcd6f3aaaf97448a42ddcaa507199b896d3943dfe16f1681a0577b364ff37da9afa569212310c292ce5f76948b56daf3ff23cabb67b9578d7eb72ff357bd1822f5a49b113571ff4f3db681c9c1066002c00fdaaaaf05436fd34f8d0b6e13d1a4de963e6a0898e958288ee6535f429c229df0778aaede4d8471be38416c7cc969407bc84103a28373b106856971746e60fd3777f31405ba6b0a9301a9e079fa45079f2eb8d9ec1f719011a8e5dc9411fb5d97c08dadca4cb826a496a5aa2c2a88f21ebbb05b63d39929d97199f45523fca2423acd294b4d349f8386f7761e71f2f345017d93cf6f9ee85ec2eff57b72110303f82c6ec45c47eef92f56a827e74d2f3e5e3ba7d3e9bbb7fd70edc1a1bc98fc4a6aab1d752b9e701ad19307351c50f1ca4fc0d5ec1d9e2453d9cafa62e1543dd17672de3275c50db2ea9207a6fc31dd5ffe681e44e224a5de0ad656389e79e18879ab7dfe55f5a4c9677f3b2928fb3944d4e9ff0c3d37b79153089eb4faaeb2cf705c65748753325a2bda3eade6ee9e90c601cbd5a39475a86434bec509f7e2a96f0c1d40ecf056499443b4278576b855371a9f0ba37f76e719f7b7e89a9d5980d57d38947ec2a46709dca4b3e61bb2ff888c832bd693f3cc39e74fc81a0e51a154e9325f6687ead234d668988c5a2fcd0038ddc56348e5a5beaa746a0c89ddcf0e1fe87081cd0e43580c9a7a86edd61c53333c15247bda8a0a7420025ff35e655589675880b8953cb94232fd7cf936a0fa2cd858451758aaed560b2115c2460e3bf933fe466f328e880385fbd48d10476fa06148b8b1fb57756e630e230fdbd7cb52387afc4bede6ba29082da7a5fa7548b18e32807b7b911ed0d25a07dd38593a62fc9631e7f11d72767c78f2f9eab9aa3aa3c6365123dc6e7b0b88ea5e5ecf74deaa5ae4e1517a1cb39a9751c3588ef962c06ad2853a4234b33b2cce95c9ce96462ec8621ecfe3d2fb6f7741a23a83c83a4b1c44459517795ae203122e2780f117c36520f98d0fc4793a2c35112eaf527aa870eafc37f21771c073ee8a1aa627f7c2c3fb07c31bc4da2018410212280907e7ab3d73e11f4effded2a066a2a1cd9ff9bc413c44812bb6df3f86ab71c21b2d7c402244ca916d07686b8d2d9826330211c50cf12193312293790234625bc8a2adc8c03b56da720c43383b694c459f7013e2df269d4489ac29d87575ab5c84a27d196390b10029bb4ff269ec50367be79b20d1a1f5bc1c8e8f7f5fd132a2ceeab4d24ddf893b914d249f38efced1da56a9168a5032a1317b6a13c8b96018ade1e5e1562ff10636b7d2e1f458c5f0de60280c08e5cd4e994ce7859e9038d47fa897ea3826edf104ab0a4d388b3ae16d564291166a3060b450ded29339e6070cafc41f040af4f213994e57534745d695277ec652b5f6d70a5bfe172ae01e4e1c3729a504bd46ba29e9a19f33845a2205bd03a4329a942478890b10bfe2db843da0c68e7ffd46a86ab82669f83c1ab004dcea2617d6d17d8fa8a0e1aca2f5b39c363a9762d152950e80fbc10bbce95559ead8553906008a6f68cc209a84d683933fce53e0981d1e0b8db4ce29f0027c464be90217dc33287da730961af1a2d8452eeddb40a690ae364b19d467a01685ef17625a58371d0edd60c2d71c6675d0bae1ee734102b603f1b72cf0f28f5c97b688084c0d312331ea3ea99ce9e206b628e301feb535e8bdf0c5d0772240e7e7e1898cd25cc96b6e6956e12663d58524274cef283ee88e926c76b7a368c4961c641a63f37b0deb1da1de4bf1523a6cfbc6ca4078e73997b0de7b40166376d17830e4c5a5b7459df794c6c685afff008661342a4da1a5bd7a57add8d8578f1f05da30b4c7ad001b9e846629c89b229c10f51ae46ed77f8ba4613d5c65ab71cf5b6263b64e3561acfbf7eeeb639c582ca09e9cba17af725ac23a9e64bc2b5936a0d5033da11b0aad90f7acf1cdf35912fe72c03183a26eb34d2b6a897faa8217690e587d9a5344a80ce81cf6622d2a59e2cb7c091be508f85a9501bd4d5a30636eaf7652e1376330380d606115a157c2266878a0a3af946ed670b698c5f7e2a94128753e5a777667a1e0dfae08e90a9a0686272e7fc056af646e84b11c6571029bc804c5714205d203056b46a9815b954649b2b0eb167b10b4b5b3c41704b9cf5bd0b3dd71e97d65dcc7dd5e972cd390aeea963dedb6edd64e47f1849294d1186614edd54eb87bc95edf06c8d4907b0805d84aa7564db73e1baf22666042a3de6e6f888aee200a9ff86d115bd88069a39611dbb36bea8bb068d705dbc2ed23753486ed660fce0852288cda70ffec5e8917074f21a93e86867315495ee4d88cecacad4110a5364b915fe88f636966aba94dd828e196ebc01476a35b87fc9103e23602a0dc41fea86b6dc3f1b433ffad1f04fba5945796260fa80a8e1d015cf479a7132937893abba5609430c700d4f7a7a55f2f6eccddb44a7c8dade94b6941af51bda75415c28f625a9b74e4350072dfad6c52952e85cac541d9940b04cdb776d7015da32bdea65a559c2c11382fc46a1e5adbd46ec575497473233d8e36fb57a0b042a5974dda28200d2482bcdebc17dc295ba1c2b6ecda113af2b4f0b9ca708f8374fa4a83abca8f2173cf84abd6aaf9c4beb03247d3b8831128a3f909566a324d8d4584479263be31de884d1c7a5c69e8ae0a3bff169a7a9953692487433a70468f9ba5eb4dc1e61d43f4cabe86b1d22dc7b0fba0091ac04ce4d2960cbad04573f2fca0fef79a0f50092a6a40b51766a67445f0488a5309792e744d2c1ccfc022ce11a03510284bffad4c3b63120d1c1132455b8860aa19a1e83c4e8575a5f28d215faa7d3756cab9e3349d667d3ceef4d86a39131ce4cbc102046f46dfc69b42feea6390d15133ecb788a18531718b31da535291463962f848151c790546ef10417afe0b2a96534cb77b8f8ba5d42bccd47c2bd1eb5ff6a6e3a707e2de34db465cf77330635f37458b099e5177375d83b599a971b16078d65b2689c4d9b55e3540789da4b7161b1bb55efbe70e6fbecb056092dc621cf3871f387baea273c379a4f6b15bbad076bf97b0bbd06b506299801d156ba1851d5c84c0e80ac45289d2e136a46c8e534b2d8ed5eb897ad3ae0d792e767e71856fcf0153e918bc14ad60f8cab5502dd6fac26f46bba65e824e81df268cd8c8087db38915bc4eee6dfe99a926872e97280541760d09bd35bff484ffe1925772930c660c3fad26bb5771f24f12e3cd9486370346b0b2900185038cd5eb81cc2051e22894ac5f53c595dee0a511ee918e62803a8d7","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x225b482e7c773a657d25de8ccd2753ff95f1dcbfd37573369ecdfb98686e7ad9","signature":"0x032930c2592405857fbd2a205943c8c6684179574c42de70db94f1632bde52fea16f85be4adee54dfc81f4e7765088c90d748e9b4d0153e24b4eaa2ad1817f9a012027fc79375da44d0bad2ed9937fa14bd6b439a4ca163c763d08aaf3e5e700b3c4f9c0745c539dbbd053a649e5acabd2d85a764c7d425afe88e086e20f37dc0013d761f23d5aa2fa99a52ebb809a0413dcedda5bc9d3e1bee183bb2010d0bf808550dfa0458bddabcb8fba921d5f07fe63de1c70ff66bc928661cae528705cee14a18d458cdb326db61f2348c4c9fcd96078b4faa07ad6fb686e8a746657ea2300aad7f4d37d3006b68b6f674f93c6f7acc50a687d7db1483afa4cc432ccb8c7451a6906d3bc68f51df5a15c28490d86182253d5491b8894094d4771b577afc74eaedaec8ff0f30d0490bb1e743c04487f9b020ebab12ce4fa4406b5f9c195796a92fb6ce0ec8ba4819cd05bd4fece0f6adcd90a7906b15c3887683d3a20fbef1506243b5e9d4eb6d525c4c5af3e2e0803450961b86a1fcfaf9ce4fe75176a2f506f5c5beef1db65f52c36498bc78fb1b20ba77ea6a63f0b0126d69225b64f5e7d2932ed4a4461b1c60cbc17a61abfe995e7474a27c90302515c689f8989cdc690da79ed073241ef4dbb0f871e2b119dae6a156e7bba6822bb78265e3e420d49264c1b2a45059346ed2715d3638c1fd0d0be6d5a5d2d0f4b7c0ecc7dd8a8f35e926e89af654e35cd1dc87224f9d4bdb718d242059f5851a084f342385bc212b0e288db08e02ea909ad5e45c702f87c7f18256fa44f8848602aecc1eb8c0b94d98145f449ebf02461734acb83d34246c9a7eed3be145c13cb30a3c5f500e7e9cc01e3efe33b1118ff9c1a76d5a51af8c4744661bd775c4863f15b811bdd0d685a6efcd39fe1d93bacc21541c3d217712c756aadf0252aa261376987371c1df604f8d313c21a55af96a7047b4e76fbb260ed33fc0d3ce06d73c364abe05a8847133bbe793603ad7ddce4f7b4b17e61fad670aab94ffcd405d95105638296b1435bda5097894cb85bf135af6488f2e2487e78e61d62d296f704852d364409eb6cb38b909774c7e0936aa21d0d3971a8f88181732b9616023fa951139d39c2ffe99203ecb3d2ca2c6891e7bd12b6d3d27b943d269b6edb5ca546ea3607e5b2090d0c444ca07d51689d6298748ff80bfeb2caf957d4e04297cfad12dba7059c306d39f6cef806e5794f9548165a273976aa23ed45e68708700a08e2e990f2ce2d74cc43be27d015b04143e1c00bc5cc4476038fec01f08483c9488b9362b884a71ef7e655980e6f9800b6327d9425f0386daf6713b6ca7505a4deaabb325c564329f5a363cd205fbcec1582583ae8e23d696ea27a979589c018b8e3d62753513cee5f5b6512402f3419a14d6208388b7a54d5d4fb98182d232c5c72f14570403dfeafe3d3a0555ce3f739c6f14c0f37922b31d0ef3a273884e44c4ceda449519238da0978478ed7a181f545547fa390ea42d27ecc27554b8da99ffd76bb7290ad9f46da253ff55fb358c1f2950bbbb69d4de9a1a6d86b3ecfa3b1f2523852b0df1d0cc36258cd2d528469fb631e304df4d2aea0d6ed83808aa0ba099d26d3b48ccf4a7bf0efe613ab591edc762b93e058b10d85587cb87a2e72adc56e644819140d232c4f50c5d90f3e4de88fab04361b8f183fa14bbb6b195a182560f13f09391621eb5aa252797cd93a5711d6812a0d0c082ec5a9fcbed35e2b88f492d96283377f6ac886a7a70e47cb5de4fd6d513d81ad12e50cdbf0c9655056fa83f07a099b9c79b2956884ae874459c765b09184a05d7eecf3c41cbf5867fe4d5e659c3ae64624ab35e72e1b5592caa83590a6ddaa96f98110859c1e67014c18ef7c4dcc9af7821c6bfb0c2a5803556b017f0e01df3f1d9d2fe4eac53d64de9feba01c2defbd053b549dee9a9d8e294409590a8189fefd1a8593b6aad374702c104b17eb6ca57e124598d45a78584d4eff47d9770760998756acf82f017206d1910cae5d0fca470bb3ec9a3dead18477a6ac742dcf8f4a90d3be16007771bf3787eeb14b32812004bcb61fb802371a6fdb832c5c6ed75bc8798f0814aaceac6fca4bf717bdec7df83b0d042cc228f28baee7f06fc3e53a5493b2d48495f5dab087c4e11a1f00b099eb38f8ef47a73957a8d3e87d064da9009c87813031b4f507edf31f275f436afda3c898522b8d6d6df7fa5a1d2900e306a8b87cb944b063632cd7570a7e3e8860420d92d6faedf6235e28a0f4133ceab3cfca9cf53dd59223556003c69015bd14ccc3b51fb37801a90531756e71ab8e7bc9d93c3eaa17d48005bc602a7cdf9bda031d10f3d23571fede331ba7cd45c2dc953798023671785630b208d4de818da6cb6f8814190d82c44891ed67bf4026dd1972456f149175ab2b063e77f6366c7b9948b732b41637dac0108f1a104e6e4647b8af2b707164f368ecf243f8d53ff5a54d1fac7b85cf5e932141f2756fa7bfb4c957d8f6d5725c45c03953460064a1ee4b81c970ffc265422133dd81e3c46343d3b73bd9afa0a466ef83fbf77d5354a884e296b2de6bc9f9f0ac0473ce2d773ade0f425d67b2e296fcfbef9eb77748f070ff89e176a4fa327d7067437075043e937be3125be61bbf6625ff9cba9f6a36eee5660af7892b221e9c470e7001e0172dee43bb0f8952741de64ca5d1deaa5b93dd8571c960f98aa9c957cd85d7739105eb66044ad51c39331ab6ab4b70f0b7126bff3d88e6cd95b9339c95fb3ef57ee98767b24833df51aa6d5d2b24e9e0b2cd104ccbd537978bc712bdb4cd09cd7f01826f308b1bf21d22f0b1e357ee55fde46aa09028c307dcb71698bbf572cdda28d1a3a0d9074b627fc43a0c2a5475a585c033256bb52f37a042d2059e94c4d7f5d2017134305985dc9e83504ef4bd640a7cd63c6db213b8691323d3c982cd3161c5e1592de6151e46a9fcdf8c4a1866d5866875c3c891f35e6985b7a40bb394cfbbd317adc69e7cfb1276baafd702d45fa39759fb030a97bfc6e240f6e9ff3b61bc70d8cf9b3a9ac3512e01868436a6107e0745177eb7716a3b95fa35e3aafe6634e97df59aa07c4ffab22232db779264760f2e5bcf2c2099ba789ddb00a9a9ecc78eae3f2310b91bb408c1a8fd47dc01bc98b70825fb8024a034d489b56ba0f5c8409985b42a767e6b58b2273c0fd30ff5b825d262b3c07a078fd817fec2928f1fd9ad9b9f404f4f3345c27cb42e2f58c5752ac81b968a5f01da99723af57d5732f6ab128fda91e3077f0c768694aa9ab11a4672ed85a449a7d092ed10f02589c85d5b86042a17a34a9d0a7ce739903c18ae482657821f3e5c8c1d5e3bd3448b63a6f101382b1857ca20b76edcf6bfc0b4b299b73c4b53eb3d86bbf15a2842ba2f50fbfb42c8f7c2b6a97e26041c908b1d13369ab6fb935000deedbca79af1200248431f5bd9f6148c386f31c8cd9e95e13d5591c2c9121d9e249b739a3aa81ec08747d3452fa4b3489778044035ba064cc884a63aebeec62c503c2abed7d77dc1da587a0eef646a543f58b6981910dbe0c6c77f79e6182363bca25c9fd6d6600fa70215ff45f63e262312869b1aa349f7fb5a5286fa77093c1198ec4b14cbbd01368b588bba9bc4f38842a45ef6c6b9f1126e1c5db7b3d73f2eb515905920027b95c9498a53ceb1228f1d7bc57e21e6b088b3c8bff75834f5c30a6d51df4df5a6160efe22876117a124bac263acfa0434c21f6ccbe78ebf47b3c4ac0b66a0f77289a1729777a4071d8710972cc661c3e46668cd8e4dc3a1aa6ef5e768c7aa12caf48be4fbaeced63dff8bc2132f8a40469c15b1d14059d267001755c5890df61ff84b246d99ef7b0388130eea622bca268fbf633bdcb3464e56dc9fb368c3a10ca1efbaeed5e52ef7b5ddac0dcd151f19fcd105cd4db5059e6cb7532cddf9c7e27f6b422251d61a497ffc6fc7f1fcd1920fbacd078665e4d975e40b64f1b5aa69e79a6484ad192a59cd64243cc05286cae20111b8a90081c8bd7b1f15bab333e44ddce0a8ea1348cff21813f572d1ce4244e49ca527acd526708397ddd4c9db20d9b0925e2342bf8a75ca8d38135a6ef0c5e132915120ae9ba25526e990cd64e74ab769843b27da48e31ac3ef60f8acef628811644e1ffdd335ad960256e075ee890c11605aba2d7dc0374415c3037121a99d1c3591df238941135eebe5b4598dd6bc980c10d03df257cb4cbaebffb7e1b8b33fba6fefdf7dec7248e21be2d53c7441f00b308728f879bc3a947ff6fec0ad10e4b0ec168c82c3b43ab962ba63d25581dadb04a6a0d2455ab7e927b91117b3da6b0969aa4183fb771332a1f7546b04210c4eac4797b12030b5ee4a50268ade0e1b9805e3763099a7f536c9385101826024449b873124c0f637a3f0828f073e9a85ff2473331ef91f672523277c86921995adefcdbf03d0430cb260f80993a15d6c899b0a5cab111ae8bb3be6f0575caecb5f063da8bc19d43810793457c533dd4abd341cdb85c2d5b2b8a8dfb99972ccac4fc62dff332e1c19d5807a35e87a384139d130a8897a3202c877e4ebc6422040a62e80cfdc5d03a220d5edd7ff6fd2522ef25d248b3b844fd97a7df7324a73203710b24e712e6b2f0757c50dde81c0b8a9c74dea89cc47730baf6c0dec5d3e76c9e49564a8527a6d83f81706f90eb8f4a7eb2cb80f215c6181e16055925d7a7391aed69dd1960727a9efcb681051a2ad8bcc03b99c0ce1538fb459a34d14449e506c6fcc4c0250f6d0917bb63795a255827723bc4ac0af47d6089f1e4d0cc61bcfecf8f6eeb402de9f39906ac083f560f162a8fd46c4142ce1c1df529d68b930d81950c1725f707d376de38b9468f090da9bbfce5bb7e26c6ad4c6fbdc9858388b3b0b534f978e85a874602fc9cc20d545ea046b270c3749eaaee28430bb195a443a42421de44eae39319ce2437f4d37abbaf32222a137fb351d7cd071f88a878f89e5d642433c21a6378c24b931d5400ee6bf47bbcc6379eb72e5e5b8f63d13e1da86471b477ab726e4e49a61ba9362e08293c04af61706c05b474a1a58a571c536dca326e0c89a9d8de7a8877eca278d99bad8b1d2000fd74d51d54ecc6e6ba73c3c793d66c1059f3ddca2dd78ccb2f81dbed4e655ddd94fd798e4ef4b603600c074d6bdbadc4aef222cd60fb56e4d9e364e296683532273e39a4cd38af4299fdf9cccec060a689cd408cd08bad0fab67aa3eda0e31de995398d5c35c252b71ca6fcb513aa16567d2832ec4ac5f05117506637db29b53710799ce56841f4257e14f5cefe265a74e71a531fef9a72c9cec7695fc0bec123927f22f4154b1a846a317a2ed6df093e5416ad5366a3323a9c53b1fc7c90fc1cacfe720e6a70cb850b5f642890ca34a12597ad1c8777449445ef3a5a4940b1662b23e17aa833dd9975ef5253d880d3bdea656030fe8584c8201fa2846d7ba3e8a49ac40eceb12bf9ee4f218f0534cf97d3f1c45a28cc4368747a4224fdb468f5bd5805bbdd2b536a1240cc99a68734d4573d9c631437723b6c8080ecfd78c6c5ad738b509997ac4371262c6167291e38afdd4259695465a41a7da6055d205f04f9c425fa5491b459c112a1c36194f1b7c70e76e2b1162ccffa8edf9a8e8b88a35440dac9827c57687f3c2125250d663c329dc16f26aa550d49bb071968c270d6f5160ea28a034911f72db2dddc5a364a4b64b017a4101c21af50fa65b4170c7c63803f5bd1f3f6eda5d6b71d1583618a3086f48693156e89b7561059b7e09a22a16bd83246dbfad0421a1d6be916c9d3bb906a7c77c13201c0f84e47ce854fd6cdba27d580053e7f4835dda54af4d87dae0627fc866d25be5dd3ecfc6af07afe7f1a1587d66b7c33b8d73295b2f99a1e2107e4ce0c8252d0b66ce06949c784937de7e0b6488f9fee8396d60241c99ae96689c727347fa4551adc9c97923dfa370924b238c664b5a3de6a07efd3df0ead55c7c054504229881d6f29b41d50e6afd13a25d534009320c2560af4ab29aba6dcdd58d6688f36f81a5c8e0d4671b687c67ce3ec7edc71f7fe9f2de9f0b19c1409c81cb14ad383bb7b4bfaaa17cdcda22653323aba58782b9b10d3b7723f94fd99f4d535dcf221f435f5546e8c2b5a5cb55685da5e420aaffa37ec82055a98ba24e216cfbc72cc0f3a11447679f580d70dab6160c2c90578d817a53a0430112e379f5a6f5e6853dcfe3eec285e20d3204b0d7e81ffc779d8c3dda8af08153fe73ea546f0d2da6d60ac1470e0a3b7c35a5db64f61c9ef216d58df261fc8d5b5ee8fde8d033c16789cdf02230035f15855c90538d705c8bd92e6a8be067e7fef57ac3e3b133f8bcefe87b5099dbd82470cc95b950324ab216352660a72aa83ad176972db8ca1abd7e414494e61979bc3c6cfe26f89bb13df25b6bebff26ea0c0c2d7e4ebec1b21243e7079829fa5b5b9c4000000000000000000000000000000000000000000000000000004091316181d2531","message_root":"0x6562f391e643009f7a6be543efc84c8e1c6264edd036752bd100584177a4e98b","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5940f2acad6cf4d52c14e0b2eaf32fec12d1b5c879df97606d5510c880983fd9af9eaf034dc2f34a769c5fb2817b97af9cdfb72e359835e3baf403cb414008a892be7ebffd7d2d75c64dbc6328bfc43ba94c00eb072c97a405bb6ce614833be3ceb4392d8a79a5297c52df68f01ad7d4689dfada30da9a9f674b6a38c63600ee7502ce2f3dbe56580e2bde049a3fa088dbeeb4273a4a243546aae7515e29f309022880b1db1e466362420b760e65f135c3a2320f82f206313dabfb610b16df409d0f867035ac66039566cc135c74eea45e412d80aa419ac89191389f9470c6be8c3b1e680faaa5a7bdec3028a2792d978ea47b7d0d08a49cecb0c5682db412e280acce55caf4783e80f4c01ad537cdd1d413744ef7783116b6e4e90e0fe516253096ea955f24a18e7dd291dfaf7a86e4d1457f7eb076e74175d963152362910a8f122ae7628ed62d83339265da9db5e4b9ebd39b677962a9a72f1303d7cf8e2b5ce76a2e0bae0b8dc1a9e3fc4bbd25a1b257b935660c6d6c6afc7918814543afa9c855ea1c09d65201cfe99bc98cb8ad7413e5c8300162dd68faf83549d366b97ae1a9802c962f2e2949f1a33be864ce21cc4f61c2926bc77311890df6181b9d9a674650f5f88894a3f5dba350c703f8701cca14390ec866ad1f4ba924f17dd5f1fa336a184c7535cd864beea0071c75d9d445078f62077e7b519073d4c4d5e690fb3a4e67a29fd267d36e2191294c73ace7a04cf75569b20e73610943fc59d326d561631e9ce2864472ffedc8a25b01fdf057f2e55998dfd578ae6254bfe6ad08e2b5077ab12f0993f24c058aaa1dbe1581bf9f135e94f24b809c063d9fefa2f2f82a8832e99d6ef2904c253217c69a4115dc6873d8072e9dc698f526af18f307c361f6769bf996011f3fe3bdec5ed2eac321d07cc2f94c4d8bc835d85eeaa98447bc123ad9692327ffe591420794170b8fc47cee060e3169ace894171ade90fec96510b8af89c45214c091cbe82dca5fca12ffc3dd5e2bdd872af4e250435be00fc2c88407cd5b8a72d3346ef8fcc85f470f36d992f3e248510325fb3adadcc4edd54b092f502be48e828a460f42babde553cb270dc9bc8bc933bdf3b1b4f6748cbb319eb143b59db23d763d21705306a662e00cb6f240776613a95ddfc0370067a96d571d0aaa0ae69dc0744cd7ae4e84791afa83911f4d520a75b643bc5afd800d66866600945781d6a691ad3ba9382ef5cead94a3da9ead5190d2bbbc15a0002ef75d8036da13df10cfe0a88765ae2d22d62ef2780f51aa08d9d3ffdc6ecf8b8834d830ee16147e3b500eac60ba0cd87ac0609110b1a5b5b7fd177a0d5abcd479c340c4f6d43ecf8ac5c3a7c8a84b91f299c0d3cb74ddbbd7719eea93e59a9f77639ce271c75250911e48c65493b31af9085d1e3e8578e8a850d468d283f62b034db205250908e9b5d1bff82e3175ca1f4247a207a2f6a5c8e04c8e6fac740e4b2811c8c7fa731515d4c3544b8542e71ee7b1352d2ec107ba8443e1bb778fa7cf6494e894f101513084fe79a6462afea6e134ea59b2b5960f8ef1d58afa8882f3af280b864965413b2a57c623036249a64ba1d50870d2a29ce2fa9a74c23dc4ac025af83f19f6b69a091207ab74b5d7bae66bd3a63dbe4cae39973cfaa74aec775ce9cf185cd2c42c5986b3c0f29eef20fca149d8f62d7563b98ff5a95eeb3af2011f3cfc8f2696b0e821add4a57dbd54eabb24e3944d908f1e0261c1c959c7d5220d391c3f84edd23b8313814779a1b164863dd94ac0a44c8bdb07fd26615c61443883f011e2f611c6ad510c3f352d1c47ae9b4b3041c04ff6dda2e08612689c99f1c6c8f6e75fed2ded3dc91f7ed0df1deaa8a03f329fc2487f290b7ac54910e94549e4bb8dd983df862ad087a7b7fbb630fbf68d6bd9278aa6f6d0ffe2e8092f26a79f8159446f702a8281605cb96f6cca7f3b880bc67dc794bca0f179ab1e09069092c4f67cdfc3830ea58007dcb6fcb1edde30d5e9b14beba3dc1331f777c354ce1722a80cbc7e675f8eaec074c12f347d3e3ad285a6e8868859d47bfe8e05de1f5bbe16dbf66de33038ed281962eb4ead707b6b458404fa164930e80eb50d05ec29d7beee83e0bf9e394a797b3d651099445ba6c8aa05a40146a4fc3383ed3a65018b8592f9c244a8bc379e42848dd33f1514d056e87aedcba2249989507813cd28afd83ca30fcd34e7fc56b9d52965263d6856cdd681c2cd32ecdf1341263dae5da36fb4213185fd37deaffae7839c2134128bbc3248ba614039b3234fdda73492210d537bab3d7de4729f80b7f4d9eced74d0815716ffa862d7bb92e61ee1d1b543b02fc8ddeab6df576c7f9d8fe5ac28d98b71424308f2a5f124456ee6a78e96f5ca7a074cb87c2c24e6095fb8f857fee3f2123732c293650a1208ca3617a45334199a52de098ef1469fd0b40b0c71e92f1f43debab0620a728789791bcf23cb392872756aa62c2b341a5adda8377eca111744e1ec5dd53c3ab7cec40155f4f7c0a496441c78af5fb9d0cc3df0c98144109607d0d8c016f3a8725a75b00ce2b0927ff38967761bda0ba581485ee408690322025484f5d8faf6a940ebdfd268b144c9c0e4f1005ba3672ae4ed42b90c4164b60f5c04947d20de0eb0e5eee55bc1af29a8e507487018a617e08719321af6d4893527f188d731d7fc1fd496e2069f2c9273a5a802ff37c7bbbd516c794b5887165fa5594458e32d1e0b7b5abd831b7aea66521fb0c3365f48399e29a44d270a0ac7ae2e4b1e5bb9f28278beb271c57660d1cc92e6d62b86f5bd6933f14c007eb3672401bb0b975e99bacdbf83d0403454aec9f1d71ad7752b75f14f16158b259b83b45e104beb16a4d5c7f417af7971df89dc97470cfd8cb6aa09038c4f5939fae3e4701973dc7954b383b334a9bd42cf73a6cc1abfc2c1f2c096fe15a69ad55475d5a76c5729b0c22749f439a4e055edc221428ffa4855bfd0201c38f2971cc80a6bd68eb4c9e22122497073f63303eabe176ff1e032d4bd5bdfb00b5531dddcb1598e2b3d92801dd4d86eae82408fb2b12ed9298df58594fe8c6b40edaf62c60c4d6d6066b6bd3d0e3128b74d98dcd520adf1efb6446c7813ff6f0028b225c2a0fac46c58ec8b8756efb501136a595426e3513f482708c67b7e951a886b01f532c56594e71fc008c3de9dc80f21e00880ec0297f96ab16d03dd87ea69e5b6b85038eec5b399174d73a4c4f9bdb7c458c8527756097022dcd5835f1d01d5e30e6116b7a5d9d92e28f14803fb1f71816caa4ee7e7f65f76e015ca22cc0a4ada1720dabca995572b9fde2b47880023b861a1402f9241fe2a9196c8e3111f3a4bc455840957d09bbee8f5a66f85858f59db0c93d524a56538c0270a667e85554dfcc9779cad554b242a161dd096dad07e58328a7803c631f3f19d2189780615ffc1b55f344a49fcc6fcdd526a89c9e83d5b7146d0aeab4a6986af1f04d8c3901f4ecbe96551c5ec17b1a4e74ae29a28e01ea5743ac43cecf4183a9e2d73d66d553d2ec72de207457857f7f312e3c9fb045a935c9bca240a8211c33ccaea8b340be89e059b5f66e2e36b443696ff18da2dc6f4ff86234bc2156f99f41ba85fe050bd306466f2462427","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x6b670a194c180faab636cb0272b2cb86db42a18e2d7e631e75732cf307d5a273","signature":"0x13b650f4eda8949df26405b4cc30c8c2e6be5a10da587021861faea952c8959a4ad071b64587c9d0d7cd9d1f4571d6ee8b61ffcf00a73fbc2cb194d5796c3f1105b0c655382dfc57848c7701a9bb142b4246b5c37119fbee906a72cd98eba12aee546ebe9cd0f026bf9706c0d318519eaca167541d3ee5230944f8c80ed1b08c7ae699ed6b7e6e2aaf3919fbb39184d0ded22d85909cca8fe2116147e51a97a0bd4a4ba757ff4211e52ec8cf2472a3075d66f823f59a234754bee3cbc56d361ea304a31aa717a4786ac3d5ff75532d5d1f0528d89d5ec50abc3d5f3ae776371a188fc99351fea7e22eefb2452fbefca97185ec7f91341a48bd476906c0e65514a126ef49450a4c16e6b8fcf615ec950da21af030ae1989360ff13629650d66a87526b10cdf474118ee303d6e2b6b168be08a78831b19890f0d7d3c853c78c632166e0389327e582aae5ce514007c0f9a541d350381505b0f95f8d799431ad37dac1f6fdc78e2316eb251250885c7203279cc078ebfac67bf5ca00fa5e619247e01059a3d29dd76803a31d2c3b27ef18dbe547d75afacacda3f45e118c5ac93b9f6dcd1dde6f309819b1516d12a5c67ec0d87fd9f2b3bf739572f01a11c44f33e2b0ccad6e5198b746a5ab0f50a0bf8347ed7ec8874a3b8f8a65bc0712e4b0ee184fb5abcc845e260d5b379c2836915acb796ec49638815b4b8cca322e80ba1663892136e17f205ac78617615fa1300291120eb24e5a1e8f2f30ec23d920353d7db44b3ee2e77b3a4055f914904f14b329a870af43d13bac184a47da3fccdbbcebf39ebefba5d8d243de16a2718b782461a55e6116955b342145ee42b9940a52b852765b432f3d0fc170f5aa418eae35d1b084efce76a69eb916416b9e0f3497e775aad3e08d9dc6c027d3a9d6b11cc1dc073a6561628a3eec2dec35f8b645692dbf6a56bdd588d7770aade41e2a24dbaf38219db210ffe3c67e32a399b483594c8313da78b23495b76752b86658f7f9712c9e48c737a3c4a9a8efd4bc3ed987a40316b24631ecf34b34a86ecb76f33beedf4979842d128552bce835d470b4354388c51c5f2878081998efeccc96ae00aea04e48436095bdd051aab3f25451ec16d1d0137f311676b83bbe432efe3c708b4d3615567006bbecc5cc854649ff17ebb2d3f2f261496b3c2073f0197b658b7215d1d15dee8dd28ce40f7cfa54b8932b4f20a90f6f372153be60c0a6672ac124dfaaee62618722299370797e97f8ea252c0f540f47d4f7596f5ddf7861fe256cabcd31802db4fcdb62058ef11795c3a79920a87bfd47085646c15edfcecdeb73d72bd8d6fe2903058c12dd7986a60c49b5adce11fb4ef21e4e7cd93321f916056c361b003511e05d6fbbc7b6bab35d0c508fe0c5884aea7df9bb294ea65a46c88c58b04e8e3fea662e7e0fdf0ebb7ad381e04069b1fe35a8cf4dd1af73b79c5ec31ab69854303fc9b20bb1b12045072d7b7cfc3dee200c176b285378ff47a5c0a0085b3055477565f735a6547149eee0aa1d3cba1182ba69ab4b83f2002b946fb3726c4d4a5912709f8f2f58ffd0634bf67ff647c68464b66159fc351e68afad95599ce5bcc5e81823e1ce7ffa234bdc876a47291cde42cc4c968975b2866de28bc51f196aae034dc0b7a72cd3236d5a82b9bc8a502167194344e28f880a7d4c564b74585927ad5158794398e4dbef76f8ae822a75c799a4540e28c4beb2abec1b713b3d0d3ab378dec84b04d378424f6cc296dbe0191321429ee01ec40ee85e96569e6a6bb30201c266cf603f489650ecd045ab0b6894dbede91af036fb5727db9da940edca0359ba23bc62079cfd9909cf765592cde34a1330e2f85756fc44f94983d3b55860231a1f0455e835de3e0a45d85254cd8401a0a8b43933f0f2915f08e42b4b615cb639c1ebaf87a75dba7ac8028f040aa204026ac500c99d42c70e36ff2273bb3e7da627d2541df4a881995ff962727a7cba8ddfa002900106f15c4c515fc521a4d4357f9f2536259cbdc521623556962ee652c4f2c54eab6d691aaeb8cb5be4d700977d4b00472ccedf3e8f9f15c4d6ba86fc692a3687bd83a66c1c1d8031cecd1375fcf0b68887006b08695f806fee85f50ddf4a9cdeaeea149ada9a4c9796c2636bbdfd1767113c1d65fd30e2d021d5ceb82a0a692400bc338c2e562f4386b007af94f16163f5f8d9e03d47f77b80719ea5f669f90fcb2a298834a4a7e27bb1c557e25a386249a6ad36acda4171c46510aced7a7f748da05e79d6354a0c7cd532e4d67795df2194c612152847f0babdb860293bd04b51abf477f63b8dfcdc651c000d31911483f509ccbb614a2ab86f909574302c42776edbfcfdb817dfff6db2569d45fa45698cbe4035f8d969a7649cb82f31f94eb8c74605808eb53e1b28973e087167825f5db06df9fbb618ccf0bafe5a25c0111b083a439f5ed3eabac496d9d2985041ae47764c623326632e4a005169af16dc7f696e506dd5fd509b043fa614c41c55aa023a41cae8aa105c42c7506322d4adfd228eea7b68a8451cde84f4f09d2f47afe11a74540c9a4efa2380dc07531b81620fb3204d94c296c4d2f8d5abd597421f91d8dd21d93e52a8f7b51930ea5bd890d42926264ac45a8793c96b4be8acdd902c8d5cf79b33c2f4622c7e5c6d1cfc47d5d89463654050cb1bc455b688c270ba8038365adad5455c657e15538af8c89c5cab2143e1836ca988e5f946acb12fa00c1bfb0a0c51d46cc9ef949d7cc3f1c6df9e0ab29dd2e225ee33d9ee4f1b0e85c8bda26271a755645621eaef6bf91c3131eb36740cce62394f6404af42a64491ed7cef1319dce4c372e0e67346176ca7f07226042fc7007dd7502f6c23de8ac56511dd4c4224dfbeab77424fa9e335c237c9d0384b94417fe1854cd15cb353e3713a2672737a2c7ea97400b4a4ade9bfcdc415ace23fcd6e7394ac67735bdee46696b8b593a32af096ee921a8cf42792500d1b314da7b976c71e0e2ddf3071a5844491ad5ab66951af15000b15a49ddea61e1e7ce9a64a1bac1c1b8f6886013a3bf55954035081823ef7aac9352eff17ac1b144206558c613b5e0294d4ed10c386fd44a102f1552043afdf9c117a4bb34f1c9f001ea71100e6e09241a9a7b95e74a8c56ab18421ed1fcdf8a782346f7f668e0f14244d5a68cdfb7c9b574c0efb200fd7c0c7ef9de7499e4ee4d7c6883a359eb5437191c86301b5c6e7e8e013d4da99dc18c09a3f9dcceabaa7ceb8ad65cd8169e3b8e1c5973a9ae2bdb49af70bb19bdd77e4ca3be450a895aff1c39a315bdfcf2790ea789d54767f786adf4d19e17898aeb228ffbb2b7d0e7e1fb65e95e42b062f3bcf98dbac8fc76a90526a7a79023488b949c078161e33c5dac74cb797663013137402daacf5d56e6192e5fc21cd3498549848576c6572427b778e583b86eb7d7c36ef7749d34004460716a5e9f5d88a3354a3e2016863806ca5b78c849ff1610e2779e4b152ae5aa93e4d80ac1389afcfffbcf0d6964027983be1e962495e7b71ba0b20cda1b96d31623a901c2bb327b696a8fb7ca25ec454ad74ec8d619e88385b06f47a521c48240ba882546ab525840ae62c69d2d21e4b585f2c81b4065342c7debe06b7784ab8857aa0537998da09c6ee9e89657a47b025a251b21894344842515728200cf370377824b6f9e246694c8c78e97be6d6bb1c2b1261d636eb6032fa4c402fc63ff1b99a77ff957683875492cb235da8833b2f892811c0f2c8a098331572bda67fe98027a74750c1379c5dc12c65761d4baae9b89d355f5e2bab33f27d2043d4a4a0b22e6ca21b6223ebea28d42a10db14815b5c6e2dffdc83c908aa13479817289c26724218356b4b41402a47d32ce1ab33350520a7db5bf8bff1f8a57bfdf7d09af878277c4c36d9ac76e6046fa6e469576243c03e96da6f2fd3c210860682900f176f8e04cc0511250509dbc994e2a70555b34582d719b5f622fd628d6018476b2ecced7d6985fd27959235e5aa9d446504e19a6ee9f31f2f4397c8dc1a9859f4155dcf4311c78c9f5a807f73be3e1a85008fee4b73e10130bcaf7fcdbc77174b54b688e279c304ff824f90ff6095d4fa2880b8a250d54be34b9919183d53ebd79799e78b2a3f1fcf63f2ad052c019850ada059e0a506a08b5f89c6a62baef064008b9fb27288c6400aa8c4c417dfe559f222d478a46b6771827fcf18b08a6ae52cc04d2db913df130a3188f5e22bdce96b55b3b9c1aef756b686c6752c803a7bdcca8edf9e9e404a9a64a2656d23f0b50fc3661e90c85829ceadce783116c47abe215c5dc32731dc10501cb7acff4cb7b301feecacd1171797e165f9cab1b4055253ff24cc403801b208190ac2ae8a18994b0ae303b3a0f6398511f5f22d0848b18dbcc75d979d0e2177f5e0267afe6e4155a5df40ed892d087f39b579aeb8e670bc17282441ae60c3231160a39e70d3b926855903d631aae2f054a25332da50a16176b801ec5eed0e9effba7439a758457596f5b23f363572bef6c3a219daa4be9368464cf554fed65c1da4007505694b350b1fb5a8473ef8d46a8d6ea46904edeadc717eb5591c248ee1cdda4a4eab0727a23859774882a8fe419fa4926d8646470b163b53731f2b1a0706fcf2b3e989c68340d6b8c80de7ec766b22b1db96c87d4b26fac859e6b1b83fe843f706cfc7f2c50e09f9dac1d7122ca106e390c5cd5c4e7af237edf1d0db4096e9ab7cdb99262bf87e75ce148b0d3b70e6c8ea393ed3462901fed07814504aea50437be9493f9af5c6ff25ade86a0d27f29560116dc17c9b19554a7c2be99f095a5a97ba7150f03d66e6325a0a55248c4603efe267b42b5404a17cc124b82927199ece948a1e7eebb596f94a9d7095d448acd422c7e38b69e997acd81bd353dadf4a2ddcde39740c6daf84e6e83f682ac0e582cacde7b1d96c2f4dcd160e24282fd9291de9017b17d1207a9562d296fdcfcdb926b90114804d30ac97b5aabdfdc1ea897fcb521731ffe06def0a32dbeac7ec13de07058f8795b50b266c0ac2bfada4082734faca700f84d36e7b4b4595fe807fdf01b9ac6f598f269a77d0c69b0784f543e46de36512ded5519090a7de38a9f9fdebe76ce373240012fcc89ea4efe8e6f5c412db4e6ab15b80488e7552626fd1b98e7b92036eb4e6a43563885760c7072bb942b0e8220d62199af5449236e5daf7363fee1045ee774a07cb2a1e6da4b0d6f02cb84e62fb354ff3d3129c86a1b257c6fafee316c80b277616b8d58404db73dd8131d6c673a2b7aa9308f93bd84fea5dfabb589636d9396056dd9342f2f054b5350d97dfcbfb437cce4aa81b2cc64bb45c2b9c569a29349bdd4127a4ea55496aba72f6172ed18b4fdbb7389dd843f476a5c61fb3ac12d14b05cb0191e516d63444e289321bbdaa7b4db227f8f8fadb47f9b5fbe17a4c5b68d99278034980dcb23c6fe056fdf33c30163dd7e0c26085805a16b6a77b7cf0e004d6d8f0aeddfcccdce6f8e8ab8813295d5748cf5f71dfdb6720dece1042f938273e3e3b22d933020f5413c41a038f5ade2f510f067b41bc08bd7111ff275eb3dd216993cc76f4b46006b42b997077f4b588318dbfa4dd7a0ae65070e9f2b329266c141140fd34e036d147c3e7abf2018d18f199a391604c1b65f6930107c596f5ca5023d141511a1b8f1c9d03d759b5d54e19ee8905b8e4ad1dc35ce5f83cd544a6f4d262bae8b48d58ab58904b5ba3a1d7a246a2f24a5278f47232d779e645f3eca5731857d9b576b5613720eea0c4a37284fa926d6aed83e11f2c250f122493859d83c5996c87f95c96c557bac1702ebaf1aba15ebbb026761edc9392727536234cb14d29f12bd0121f4b4433c9d393f7630e50e4031e9e1bd57c64f130a39c3eae574ebed9ef469b83c62387eca49e33a8a51fb4a65628ea0fc1d92e8b26ec2dd4089d56af4f45a4263d172d8a11501172bbdaeb5dc00f5b0b3fbdc471be766a5543b4296a4adbe1a82baf9d13a51231fdd1d36019049cf22f486f4a87e5207ff918f91bccabac95151deb35ef4e3e64b614fec40936adad76b14991685d123d022427a48dc337ded5e3070c0b0dd0108e90c729ba057e5cc1a5517d2bd9bf2c8d9bdd2aac6f862c8076502f2064a5274c163d8d49e1ed36bf10917b1249903467c629e70f0fed3d59adb23c097845bb91e4f84142df8c3bf620dca5248dd1209531388e23f101454552aa59579643fc18638e209034d8259074c32530870efcfca74096d09c6205d1677fae677060f6661c8a4178ff0946b19b3b2779723522b8f3ce62350463441f14458921089f9f86a895e45c07224d063ccb5154a8134e41985cb2ad915f79a8fb6187001b9ba45529e7ac20e8d4c1f220e122d4a5363717683a2b8d8ef0e1718193945669fd65a649dd25d63ee22637b9da8cadde4ec2f4e6d6eb1baeff722b70c148a92be000000000000000000000000000000000000000000000d161a1d262e3035","message_root":"0x29da6b6bb2744f65da376f7c1ab2eb93e80f2cbbb5aa15fd074ce71ab43f1483","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa5aaa55ca6416c01098be6b88035453b9fcd9447a541d261d1b3bb90e6ccc59e1c349aa3bee14382e8c0139374ac344d368bafbad76cee33337142bc8637350a688b2aadd484ebd6d46353fffbfa2295ed09953f6d38ffb97a22621104ee5b3cc328e4b2da66963f18964328a564c419e4c07e6ebd3eb253e95cea316e5b6ca01535b6071ecb991473adcdab34bd6634945b8b9ee6b31bdb89bd320fb0d661faa0c160f6777f3e54f4307ba1468d747ffd2455097dea45d134993439c58a31716554948904b83c61030ca48b7e917394eb6d34a580c2af76540f6646e6bc357b15132805c9740c8a863fc1efa0980a90614110bec17a8c76ca0fcb71116b467741788388677538138875b00650f5876ec08acbb088f2ff87f69f57dfeb7bb6a0e5fa1ee233b8eab97d0ab46e444fd552a9b97cd54db715d8c10fabc7dc73ba4fce7cd6a4142bf178e7e0fd8638665eef8a037722f4cb675d725f15cb9f70afa4b9a2803e914e22c44af7bd74ceecbd88bd7f12c514c0fc20034f7ac04c7a4b4dbc110489112257a18070ebc3d8ab034fa2c35696c130f72953816930e0c12c42f05caabeffda60e00eb290d75bcee16093b6088969d6ada474e365fc25ec4d24b92b115cc9fdc5cec54a1c90e04f050f8943dc9bb9e221dfda46242fbcfde325a9cf48952ae0d1975e2399ff029ca4d24c9874abd0cfba4b15c8f82d58852cba512be776f829ad9fb09f721aec04c135ee19d3f44dfc61303918a8b80c829a0b469b990bfaf805ffc0a81da08229b9b19f5e2dfa6bf1c6aac3d41943f9fce1c90edfc4a8144fce6e2e1401b46e17119eb8919a9e1e370ec3d7fcd1583e25096c38c2baaf3e89369c6eaaef844b282b7f4110a2ced34b3f740cf129dec5d605bdd505036fc8651dbb81732648fc396d6406da967fad82769b1d2c1d4fab7e186133819e7afb19ee4787a6f13e51e304ca5de78becbb5e233695477e5cc73c505d47a51cf66e2b2e060b1b33be97973c6ff1fd5b75ea7da25e20f2a7a59a7c2332cd612b79876600cd7c4fa1bc05573c40ad81fcd25225f04e827d282b3bc266cdc2a81b8b5a584afa5047cf042890a1807efbdd5bff95cd6dddb502a0b562fd307a96ca8b19070603db48f49025fa62d60127ef51d90af946ce7b39d14d50810bca63db8e810cec1b528997097fd892969cb2e60dd2a3bf2d5d6eb49adcc9f6695482fd80800b25ab0b044d0d069d25f27bb36c48e297c7684e0a1b1f2b5e15862e2739cf9554748be8ea8e1509a9751bcb63a55731d46c3ea7bb1f04b452cdfc5add79678d49088b4190f7df7c3ae89b46033c8731e5c0af2044d4b2ce935f0ec97404499b37263d121ebc2cfa8cef5615b63edbd23d6f3b6885f57bf23b6bf3ac4cda9385f6b3c9c58c64739d92917ae89c61bc8064c4b819b9f7a8d3b4eebe2ec9e3037e55f9a4924088ab8c19b826dc46823987a34c2e996f1f971ce1a561c6a269410e575c38354b90489c0eebbb33b167073d7decf0a8e255553dceea887726208a69dc9864b615740657547e105738aa7ae19bfb55a859c1b221443ca17816d543ed2e18b57dacdeda3a7ab380ee3f7d85faf0f76199cc969afcfcd97be60bcd6d838f04bfaaa093cd9c9cfaf855ef57c3c1c061fc69c9e8d206c04e944d44b2dc377e4617091e2f25eedd58d9804f308ef9faa0a73499857d73efcdcafb67da820a2635021139f7371ecdcf060bea9e28ee591c549fa58ae1ecd81348997c459aee5df128e626573c593cbd71d9f48476612b8de0f8fc29a1c09a3ee3b7e4fb9e0adfbb5924986b4bbeb329634a086936524654114009b396e54880e93b83a7502db850a8a008f8479dd35b608aca86b8884d21871be69e67158d10f4a8047ac1b76a54c4b503971ee5c7453037a1895fe206562d04e540e224172f1a7814df1696900be8b18f4a9c141ba1b0267f9e496ee142c026e16cfb701f524f70306c5aad95aa28ba4d8a58de262d8b68af34c2361377912af3cee391d86825399e06c029918597bad2f921ef79357e102945a7c740fecdf083a927fa6c28f269ad58fb2fc49512ef3809164dc5154b1f2877a480d45631fab7d71e86e09f271fbd575e1a9cc76fe84faa7381141fe18af60b093523bf4fa402dae867e99d5027d8a782b0ded407af0e61bd0389ab25092ab42859dd30b75f29ccd14d5617dae0535d5f8e451f331a7fba10b6ff012bc5a071a82929314763adb0373aad39656ff9f65011ec87d821e67c85d1047e2fa4fb4ab76503f8c64cf1714d94e2cd103eba866b5a61158a2e8c620dc4b4c4e01adbaf514a149379a0216704c5b9d859ee9631c2007f51df7bf370001e38538460b7534b90e1d7d37f4a99adc97ce42d0b2a2a167b07844239e6af12ff9514d446216c959df7a14bcb977136ade034f203d2c04020d6fbb53c81bbfe034b8ea2ba3557ce6ca68311768d38bb9f56209afe441a61e8088f4e9138f8741ad4470e6f61bf1236c689e98cf39b53e74e0afcb29e63d7603e5847f46c7d2f6f1fc64e65fa15bd663cf6efdf078bcf24a5bb5023e7949690db1587461777ea28064af643cb734c11521cd95418b22d6148263ff902ccea8fa1e9158c306e6ffb802360465b87c1036f4517a0f36b7e2e6e61bea1e84e48cbc05694da85b64643332da705f1aec741eded191eb61f9ad31f77586df5217e7007745f98c763b1bbb1ffac46a0a7803f3ef646962375096990ce78ead74e243fe02be4597e1c6b102c55cb408579103498d8f5ccbae563955b6ddb26dbca9d7715e3977b926ef752f28519093166abf967c6b144419b814017a4a82871898fccb8f088a7c91f99eee90c5ae1c71812a24afa0a04e109f586c3b4196a7b85975c253d102ca76ff4e1b43da05189a4a437380e921e3572a60d639c5bb9a9412d31f58163f60fd66f125e2d38ab8eccccdfee1421316897701ab3c0e2fb7440cadb0bf2a8217880fcf4adfe0cf79847d5406238d0cabe3eb5c37a877bf4da52eb8e132fa2773bc6940596a51504c1ef50a6435e1f290d365a17bec18e71883e924a8e288ac3037c1f0a19be8831ba38ac0d8087120a458abd8c8815b5c37f24217251dec932355b3e4ab3da54eeeea1c4e743b7a3fffcb8e949f6f01c5b1acb033964edbd7c64a99e64c9b69bd4ebd3be385d54ab4963219db42d131c76230f3304f66fb05e8e19700eb017a5908183d6e7c43f2842f167c683448e95898bcbf8877743576b7296f73df0e4054254d2263f651669342073c1716c5f06d64a253fbf771c0a7545be68873cf819b02dda9a2892671b1902ab5ba4cb000a490a62bbc1d5a9c9a41c1bae52abe2a07340451812f9e80672bb40467288cbcc84ed7568f76c6a849469f34f0a8d953658961e379f753f7a39801c65f5283c4532d77c5054fd32f5a100b42551d9f0a5af269e15b4b756f6af711d4931af8ddd0b1b8dd75ffc3e8f8f2478f719bc72f4671820432b311628ff4fc990c8ca0583787e168c07c8c5bb6d58cf1a2d457b4439e4370f6f5222683f44182a3a3ca79c6b7d5c1fbe46d6580c9bd964b59de34a14d805e9a2cd63f55e7147ddd6f247d0d9b4baf98fd5b216a1aa953d08f00aa6649e2ec07a36334238f489ac135a4a19","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xa0971475e632203de3b4ff6710ffcb361217530a2a3efff4b5e41fde1d54510f","signature":"0x932f62030e50ba0c9b204884a82f6f4fe9ae4cad83c5b8126bbc6bde488c1164f53cbed895434b1bd84c4ae1595d05f691ead94d62bffe08a6e144be4a76bb9bd8d5d407ef518df1e6d5c43a357e3e490419c725aed054ca82744d3d7c268b6aa9ea9e12130c4b370e702a4657388dad1291fc66b29b55ccc597fb9bcfd69e565bac6b0db903a774e5e1427086976ed7773a520030efd7049155c5d434c2d0c4f165473955dd8e1fe5ccc565c12c76d86069f57979c5e35e2f25551223e5db59b7c49fffcd979b59174f072bc7de96196b9557e3d63478f47a4756312af9e97c44c48f3102d52ff0346a159eb47b9a1d1a8b4ee6575acd2b8f8b21a91e9f79f20dc672616d99a082549b7063c3b2dd1fd91ea9419c16fc39a8a9c279d2d10bc52dbd2b02b810b5b8a70716fbd0aa6ba0176866dc29b1f963f9c3e0a850a495b20b75d4affafadfccaa8398e4395781ca4a4b4c387529aea87b8aa51ee7047befebe5e3aa9e4ba33e21dcad6bdac0c3d003ec9bfcbd8ed2cbbc174869b91ec93231c3bd1ce1b71f0cef8370ede84662d8cfc8b680acb574aa8d8f8218bc96635efaf2be5b920c5b60a8143696866e8c51e490de4b3029903b51542bd38a61a6b9386bd4d975a523310a8a6b6023864f96c0280d472578dad86de2522ba0c0fb4132c3717a767d1496e9f8319295a3fbfcf60f42e3808763c963186eb0bf9528a1bb559e8e33e67824d70201ea1510ed9b904dca5332e81089337c83df670b158743bf5a991614d7cfe2c753c760e3b514c8af5e901a5974de8dfb61b2ae4d617076fe8d18d4b3725f95220604a9748c147c91041b52ca034551ffda77f9cc27c128cca82bc985486b31c6f68348709af21eecdff009181ad142787a659af316d4ba7eaeb001e28d9f466ef576c85fc9fa48b2046c41159c29150c58144fa6f6b708a56e9fe418eb4942095608ca24728c9a7e15346580b3726b75785eb0c130fa17ba6395fc5a67fba7aa6033eca181ddc908811ac9d7062b29864a0be2bb27a1839ea7370347a9f10ac9a38d90a5bf363acffd11fc544b885edc6e7cafb08d490650937d7330c3e8aadbaa6b892c67ebee63675c1766a17e129c1220c008ca4a885c4210da7e25771ce6535009999c1af6134aece12c30bff271ec43950cbb3de777f519713bc4301930a298b50469cb219f2515443825ad4e3ddc7cbaf0c4f019727032245a8f2eb878b8fdcaba60b3c58c7d0b21ba67057251cb07cb54ab209525451e20b6638f01b98530b3893b0ebd6863339401ea484d976bb7a189dd560a61214aaae72fe32dce0f66336ec8c8dca18b3805be15acd1c6eff0eb56ec97ce313c8103833b6371873d99e72ca5bd9cba812a420ba09b868e425d4d3df9b91aceeb6483105f7b48aea44c0c6a47d994210ed38f2662cff026a84837ee4eacd05d139622075fde90604d32898ed2a197bc5b3200507244d5c7a3a25f88d53b89bc3a1da60cce4536b556df508eabe22d098ca4426b32944fabff76c95374c8744229a83217051d507fcd3e6b8d9de7e6e0c737174410dc3d87ca9229a86413af7fa838d91684c8b3f1599547b23851251c52129b2f245b74488ca5a8000b1214e803c94bf7bc463efbe3e5d20312277072a5dc33d5569343a9d50eefff2036d839e9c9f6e3718e9c2f67126e294aef49de68ef49c84f5a3c1e93eeb9656b92db5a8d366ddfcaecbd35273393b2a8eb4661c56844bfe43bade467350fea526301b9737a7a24c116ae2604bce9f4d959ea2ff8cc6413532630bb0328a1f21e1d805846f9451c3441198b3407e4f52604e93bbf6b7d9d5eafcf92cbeaf3ba415e26e817671350868a4a4c48293dcf0efcd41298976d6542175abe9ac7003a548f3171336e938c98f2b9231b63e52f69ddba4fc17ea3a04f99516fe38e8916d51cc2a0c16856cfd70c2c7cabfd7bd676b8fa9fab7bf3b80f2592136ecdea61fe97538f9223d289c04536e810be4d77e5a5ec2196284f5cf0e7e6a0706315739198e17eeed7d2282c3d6826efa0dbc5cbe9e2ca7c06a9048c6164fa311a669bcd26de618d27c55b88cb3064f0184d17ed8c3679105221268c9d4271bf0b452ffb9656ebf29275da3f19c02c321bf144e967f2532bf2ac0f255ee3371fd6e3d38145aedb9e5504be668a61246dec16fe6f64755f55364fcad2d0a34f19bd47f2ae0bb7861ec185b59b2d3629f98381d4e1fc69b2de4e4f0181770631cae332e2d59a6da7bcc22f8553ad99b4611a0430abf6a6bebbd2f8b72f2fb7a74e8532d822140362830395272927c51866b0bfb5d442abfa39e48e3e95d6762a569407aad626f6c5a3ae51b3b2e5c27b9788a70b822ef2637ef87d492cecdde7417efd7adfc5f6f55e08a22357492d6129c38ddfdaeda5ea54a5f6870d73e08881ad58f2bea1b13052ba4bb3f78404a244259b264d1f5fb07b5a30f056033efdd17a349300b992da3b1ff6e7afc30b1a55ddda90b99a5fe159b2273de7cd1f26c58949699121084c851c15539d08d1e25a15904b4a84d193c81a329e17c7b7cba878453e88781068659256045f076142bb4edeaa0539ddff26537417df62b4ec4d7906d3953ee34f20204bbdb0422c20bdd5ddf2db8a2d789b3e4769336aad9a2850242eb24b1cf80c04f188e0b9c14e1d534e4453c875b0744c82bb6c322e7f0825c1d604623fc5f29bff66eb1a57caa87af085c89ebafd203b7f8d0a8715b1a139be8d76d628d54860ad521d450167e06168818dc617d49bcfce4d2b5237459d0e04511452311bbb3ac7c4f3a05e72ecbf168488ff515d8060811e4de3cd4310ee1f427521e54582507b997e3d69e5f05a52ed5925aa098dec8141d5fb192c9c629f54988d559a2905f50eb3c077340e3af634a9314d17c9e284d8b310de23c7940eaf95fb2daeeff09520c362dcc05c16d4f7dcd21e3c99dd9e0f27349bd67cce570c653d85f462c554a4d6cd660a17cae1575b9d4960c36ee2de78ebe820cdbfc833e5a575156eedf2561a9c5fea382b09c9e1c4fdf47f0430c1887e6988035486e35bab862b92ed862ab6efe8859c617ca85ca280137d8973e148aa6b857d9f8330c0174846f325192749d8b49be6fa3a3c504ef49bf0dda3f2be15fd58ef23b83aa396200964c987d5b92c2927327c1a3a991fc427f992c67c28f96c50ffe8083968f6f9d60be133db479da4b00d05d295291b428f53cbf4d5fa5c3528bb9a2793bf97fcee06e806832effe5c8c1c761f8ddc34dd6e0f64aaa28f972f6589f533a7f33252ee88418d04a57db8b9a821b99b6485fc8f32daed3b631ded96292628f952cf99eb52b7551ec39aecbeb3af7046fc1eabe031e9157aa124a4bdaae1666c9e578c6e80878b66a7be59f9ecdf097941c01c10f8527862fa26b4619d98213f74fa8c554490dca1fce4b774114c3ee371331e90df40bcfc807f7cd0819910f32b96e34a184319c433d2fe4ab9d931d8939bde9d9dcd9607ab61ec2f2eb0a0d3b8b4599fbd2df188409814f3f0af47dafb4277fb570f4503ba99c6450266f951f6d21ded7e2b18c93edd5139204bd953a00a6d90fa21aa8a37d2daef43aff03fffa0730450efe8285f617c8595599955937960469d278bba651b7c6828aa37c8c3dc03218f13f5ec97c59cad8692805bad31fd5cabffe869e370e62337e0c22b636936624fd9a6e8443e3617549f6085f15c2a9262b7cd42b40bb61282b309b5a0062251daba5526ea625c9ee3afa370338a66b2b273e05115bb9858a81a8f5d0d8e91554265a70c28959f9edbcb99b76ce200e313f7253b4fbcc4c2f750396a93c9e609021a88795f9209f9a642350ed7154832209848b32400d4084086a10e2b0cf17b4bbaf54360dec6a749037922ae4d8a0038814a82b0f6ed05ea30b3ce7f8b16ee9adbcf5a122c0f59a6d474bf2734a11ff9d30ff9fd887bae889d296d7c3d9135c25f20bf28d122550580b30d7ccb6ee4d39709cd5e127fbf9ca31b13b43b36ba6d68ba4b58286242955294586176a1df264a35ef4a4c91d54f85fa683040738979d03a9e6c956b7ad8e4cb0e8a0c1fa52d43245b617c46126b7715cf23c8da14d81b4a6cfacd3ded7ee3f14892124632b33df10ae0c31b61e61016e4ce86ef61b503362c7d32ea5a8e63ba995a3bcf1cfdf703f9a723a224f65fc6484f894de72c4a54530ab7ca117020415782b34ccddaba347b4bb645589548166fd9eab5f87082ebd99808d709f1b9ca8b92d10a86b38f45dcb26642c8ab906cc1d3370a28e477fd48d6612bae1b5bb33395844f5651e0e1b5c670d138cafcf9ff33c26a4a5d711a670e10ebcf5df37d4032d99a843050101c2c41bcad804730593dcb1c78ec93c54bf76a546187a19a87eba296a7bd5b603629fdc0f124b36f9639277c9ef9a4f009f62ef0921a65600f3c344dff4a77d1b0d56de12b9af5b03891b6aa7d5410ef0af9127e5606a3365727c83058a27e5e484077d295e7a13f49f1bd2ec3b60a3239cb03ccfcf1119c554ccd0318f8da853cdc062222a49fe69ac033c85c3b84ba86e638370b4bb547c5069bfac3340d06aaf247e4d996b4272ea75a3c320bf42ea41cff01114ce8880d648fb91c897589af7a5c1f6ae082b69fda1e55569cbf3a729ad3822b6638113c2ae34ab0a6e56fd254fcce93cc3486501c9918cc5656815471ac723ada8e09e90100a95a4b408880a5f58688aa70231a2d64e1aeb6e346c5be7351c97cf20f4b89541c4a71e0d2cd8edc95bedafbb11d318d4123b7ad27dd056540e032ceb6edadb71ebcf3601c7f582720a2c6a04b5eb2b2e6d15c44c77bc862ef42a38bae1a579f00bcf0b9d7d3cacc1b5626a3872e1b634be268289ed29193020be04a248419f84b32fe942fcb22d571259808272b1269b486128916bd91c0d885f836e2e1119111281e0aceaef5ea4bce1c18dea5973e3bd8ce34a832068a422482da523f8c22896467eb71135983ef7839ee4d3e528f97f756b9ca6973dcd3faed54428802439ac329f6ba9801dc1ff90e7396b2d08f454f04f76b6319ee14cb6ebed90d41e43083f45e3ca7945a28cb6d7fdbe23944ee0633a83d6ba5714c5162a46fab6ff184dbdf36cfb31c6304107ec4f8dd73bb5c8f75e58941d8008e77cfee643718fcc2a59305c7b0f3759867b1ad85dce41452c46d431eadb68b68c0a064a29131a78d593b26c1227a447f1cf03528c904f924a72d0a2caefe385f27644850c0e98c824be8eb03344002287a7083a487a167c7fb00735a4275addc8c239ecb0e88d47e2fd6667f5f3ead9153b1d4095c57a95fb8a942ce0094a84198fb68c644d989815a756794be9f1798cd9114fdb3f6ead016e515285fbd2bc93d5c7d3b64efbc624172a89509c6d739efd182629c70129efa9b0478fd60345bace8b0e57430d0d20934ee9a7d071f602efa0141783c7d2aad1f3c9c9014373be87d02ed2e8092b256e839176ad07a9e682903f06789bc16c977ea3bf7deaac7800e1d937a63ebdc474d6236666fe25c1a03a0a6885f191276570c00accf2f2ea5924a10071f48be7e08a7c479491a0330fa2312d845d993e71f6849f0a2053aa46b03d82d9d85ddd5e66cb1ec513c4f0b3c29f62c5cc1bfc5d515bf43b1e1c552e7d68a245f044eb8c97c69be7ae2d4f56c88799596a481ae4bc06a6df4873b9b9812720462ae4e84658b3245d738cb528a817da75093d2966d6159c23cd1fbc9efce92e89ae59fdbc0a1e8d62c43a0a6318792ba84ea41a5ed47cbe0532f4486e246ede4ba6f9bff4cc740977f8af200cf50a7a0b4343dd823c8aba00bb8fc58129ed7183e7852097d5fda63c4ccc1d7187305a1bfed97be82129dde9967ce33b22a6828c221797fa82fffef4b6f2e2b7886a92d5c34769b0bddf0a18f95ef21a4eb983fba15523d1ffcc05a11e0461243997bed82ed4c810dd4e85a5a239b7733b69c9551c5571d89fb5d78dd441afc5b3dbe3b82b6e6eb320834ae1105e704156f1eeb7e0e82fe902884ee01bb1d22ec7d225f680d903c393818f64b91b0fd571a6ee90369343355cc3f0eecdad80d13bf7366f3e1de918b36dc3fd86230a0e74131535431feabc024e783c844b7832f77a9b127c5c17dd26cecda1bde03904d877fd1d5f01473c0596728a600d0a3c0566059d8d9b80e4259a4a073eb32f1869d69a625a4a15c7ee7c96eaa9fe2b6aba0109de0a7f5a04810f0492a4e3767cb277e90d932ee1b637a20ec9882702290837fb3d4271e6188866cde6f2c1909bf8d28656dcd2fc0fbcca9272b4df8d9399c2253b34948779e32c1c2c06aca7cb2b04472636e38382222c7f254911579a497cf328299f6d028d6d0fedb945b59967c410871d7c4bafbc6fb0adb3ce2264b2e577d3ef364d99dc5c718fa1b1b3cbd6f91c69d9fa165b82b3b92d5584aed4d5d7f0020730acc73b5a78a9da535b5fb900000000000000000000000000000000000000000000000000000000000000040d11161e23282c","message_root":"0x74fefa3c2c0150b69c1c5e8bdeb7c017ce02539428289be8d6311ff3b49fb208","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xa31f32448823e5df841ba655d3812bbd4669d48fce52985da305b5253420473b559c2641121af6c3afdfefe8698f79250c88e9e03631c36d164089a5ba6aba7a9a6f0bb048ef6a98383083c4024ff37e49bfa7ad371703a479e872bddfce56007c32a57fb355f00828f563c2b836d56b8c426ca1fe8042799276158695769c3a076260ec081ce146b40141e56ed47e96c7a59695a3ef45a1e94a1db607c33d15dc701fa1c9af8f15b16bad6ea0f72cf104a94098db46209cb02ff387abcf2a1df6bd9c34c3f6767e6ddade93bf5440d7e3fffa4cba585f25de41f773fff8cd72ee54c59e7b4fed48ed90f88d5e5a6ba8b8b5d2cc85de24550b3d4dc89c05c90d6b4bf33fd996a6f9de97633099b28caaf96efdbb836256950986065903328b6d000c8fae143e56175697cbe9e86fae60cb0cb7dd3c1627fe167b49bd3c64867b069a44fb34b87628b981a4b9a243bed7f7156c0a31e5f602abb1798fff9aa74dabeea70ae0bed94b3502b0428522d6e7aa8f5889c74fd52366059645642d5cf0cfe190dd6ef1175a3b21baf0f2045971c75162f023525e5eeeaf3c067a82e38ab915ba10ce44ac667a8d5763a39301689670292671643123bc0c2acfdb402585b755b9320d8774136d92cdc8b153d89bfd10b4a721a74dc28df20c1784539c165d5b3562dca57a913b198dc94f715c7b3c822f1dcd05d8fcff5ac7bad166d456f7251d921f7ce2efadc79b99dfcec140617db521283b573ce09d80701d586f46ae726714dae37abae04b6fb05cea50bc181f383bc5d71969ce936dd6f053e63019a2ff53d7f1b68d4e1b91bd56286803ad1af2a327cc4ae977b6ee5389b6ffc1d3b14afbdd5f73e0dda2a0b04ee92c3e9fbe0edb68438194f0315f215292edf4edb680df7f5ebae26f1ac92150ee2bf859826234258de6012e5db526868d4a62385fff0883c4953dbadb2649c3ba0208419c9884d80c71a6687b7049af30396bcaa23dfbcc0623efe666136eeadd77ea4e089c8ed9b4732dab21c16d767ea36d10e9613701b2ac9e3052ba2dc4b9da7942146ddcd61ddfeca56cfae1c75f9f3bb0ef7cb7db06e1a9dee3eacc43d050786a01536584bbbb803fc7df9a4dcaaf132150adb76686adb9adc629f746b88d289b48b1e6ba51800e90cf6e7a6b26fd555194f3f07ae831226ccdbfe0320b364ce5b6288cc3488cd4bbc9ac057ec33bad9ca33315c3dfa091c8908a95f44f3c4c612deaa757ac1235c9cb76c344c8e33e65876f5879a4af5f0cf591d5957c96ffc4853c70df0d68e744c875c2531097356188a3af103715ade09d3ca0c9fbb638d6a36702bb0c31eab32f5ba38fb2de7b3dc2836efb868de39a3db498591a176a68a5902c8035aa31b944d23db028a7af5c84d1995f28b02572520ecf45398a7aa9c16753829fb94b2d87afdbb8146440b402f148e6708d50a6b058702b614133312aae6e90203cf5aef388a322b4e720b9468065194a369cd18b6f8e1411dbdf2978391b752e1c477a14469e723474e4f8c78646031de0c0c19cb2b47fbb97db3948a8089e47527d4109a74fbbd52c46792f179bdb512c06157c332e5378cf121e361b930adf4da693fa60f38656644c86b4f8df64a88e07b82be6c378f7e2ce7fa337a7f9acf82fbf05e003abaf244c08c7e03d0f3a7fe24fbf1c728b849e1124ddc830b334afced2635c2f6b781930386c5bcfb607cc57ff583adf8729b156f2c40653831ca427e30a1fc50d22192e06ab17472d4ee6723480a85cc697b902ecccc547dd85c9a2c90a0e907deb5153a903b8b87b7caa740c786b887728b49c4f7d95b8cb6fe8e799ceaa3a388df25a8ad6cbd785a29fc61ccb12812252a78d4458b6fabe108efe57ec611d1acf5b0d7535ef9f50ad01365843fe33a9ce56b2646d7f13ea50784e642f51214fcc4b54c2f5f2258df4884e9b3b2e830d9c0d538307d48bfd7ca997457014db1fb6fb079903f9b294deb18d16761e515fe3380192dcd507ad52e41cf5d01a6d06de8f11be68ffb6b3adcbca2df820aad0b50028b068232f2b8666b2473214c432f416fe2d984c82f268e9fc7d6f300c3091040f735c62b75c8ff2e68d58006f39a5b71109e1d77cbb63b8b714f8691d0137d9abae8a94aa6e08aef1b623a0a7b583486267c0185b41a867ef14b27df92c3b102843d9ce61f0a95c2d232df97b8aedfbf0ab01a8e14d6ccaa4a13137226215eab3afc438bd876c5e53afe94132eece2faebd7b8082e7c029a0b9fb45e3dc4922e1770d1d9de12f3c79f65d2a9961876633890d80fe4d32e94a507dd690fb97e325c26363b41c7c99cba451dbd544ea2bdaf5fb326507b2be0851e16841e043be74848d6420c0f7bb193b38c13ce94c0e0522e2f766bc92ed4189f5263374893643e71dfbe87f29337c0f9484a6b948582daf5df68967e33eebc3113fc172600961ce0022181ab34b39e4b3840e20b4de81182565eee41af93fa447c47e93a1c9aeb65903cceb59785cc5a7d4a65d926ada2aefe9dbd1c23fd2a693e2e528d6c0ce85f1130c1a1c6ba87efe9e31c506dbeca6f501470a77a1eb1a2e49cb0cdc76b71652e7bf06b3486071b1d7f637b719c92231649cad4e7a09bc34cf8a68cf567913730cd80095f96e14cb63317f6b8080437cac79299e8a21c7befc1263102e8771f3defe31ed9862b2c572157815f274591919e9f5b9b2fc445db525bbf8d644c36572d98a5534775efeac4c147dd195bc987a592345a272afa8a84194587d076dbf8aa965cae5a0376d2b1e97b782f7c33e7eb6a9b1c141bd8d5ad93a7172501b1cc303de0c3846d7eea88536e60407873a28ea65e7bd51d81b627d42d29a8e0213d40e1b03bb2fd31d7e7a766a02b7ec275759a3af44f46f0a18008914d2883ce87d30488ed51cb79c540c4beefe5d46b9a097153b027816fc07683235af7ac0c4ebdcabdb7964d4b52c6f5aac9adc4e4afc1ab87367541bc2e1f7d01e525d92944237bc0568fe016834c25a3902d8ab212cf86e94901581a277e6c6506e2708675f0156a9bfcd5a9254909a727fdf5f56645d2f6b816332f09c7732c28a7c04a501a171fa330a84bc53740b103f3e20e3f9f945d596c775011e170fb1a591f49c30d39e34341b8248831d5605db70b8b9547d44fd8520f304f0d92a34e91d4bbe53d94fe838bb21445d32b0ddc0fbd5c2b8c7d81314c9d1727b8457becc92af1eb3618aba7626e85cb24d22af8848c333ed132147a22aa5140ec7f21ce7c435bcd477cc3895bf9d23e512565eb62034ac93301c7df401e7afbb815f3ffcb97b0113d635979a2215b6687851a1a871ce9480855ae220d0cafb41c0fac1d7627bb474974175191f7ab20daea8ff0263967b8a79cd6e714707dd5d98aa886275cd8b20e590678930902647e3b207ad2d5750a1568490e4c416be72c73226bcbc5e761ff408277b2228d556038e0151832b9c34f958952f86114ccba62beae43935f53da229cc8d793938bfcb16e02b63e476c32b3789e5e8eea02ef3c2333ea3d8bf537e29086a9c7dae3a58a87de81dc8199c80feac592ad28435c985e9e86e185128f122ca8012e1cb29351da98d5f29a9f3934ed1581c50ef29f2f9c48b16d413aa13fe59a171ffd3cf49d28121a5","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x16c597c471d12f6f3340452e6bc3f526a6e80952aed6234367f28d8cd2cfdcc8","signature":"0xe55c37358ff9637866a0830febe1862e8754cc1a1c07d632155adb5e42858ea97f27fb9adacd51c0f015fe4f6a01b58a8b09151eebb82ca7f19c0cc9e5b0458a805104f1f2d8a568094faba5df2d634c8219c9e4a2ab813d6b4b1462a4e90de940559bdd67baffd945e9e7cea466ff432d368d5b0a03a81fc4163abe179c70b6a848ab1713202cb0d679f1f64a3629158573988592201cc8a10cb4659246df2dd1b8cd273dbe23e83c6d2885ea28bb87b570939622b74dfedca7f1bd04696ae9cb84a6bd627bc9c52d6bc228fffef4ecdf4de5dd553c2eba8340ea4a97f925fa349f64664f94cea2daf1af61ec53b465db9e1db87dc9631a5ae88d133ae04807ea248260cb48c49e1bb85dbdfb9123e61367018786e8a322fb508dc42bacef311cd53b5cae1d8f12438a0218735bc8d2f84dff14f3d12051d0376ce76b7b15d5af865d9364586e06a6c145f47fd64dd6bd545b1ff9dec6114f189a0160cdbbdc5600c18a4b11316548cd0866abccffde743107cd94b8308679e4e52506fbeb3f2b35f9557c657bfccfae7fa581101acd690f618b10e082092486f41da8fed34093298faa17240fd1c2ff78f7906cddc1e00cb2d3589bdea4adcb8664cc4a6be222dde2f79dc7019c19cbac839f084b306310357a3c51caefb574fa35a6dc78f2e941fe518c133027ba87a57be9fb8c55c9b92ff30509b623812f6a236939cca2de6670e3f348fdbe11732b29c787fd00a277f7e03ffdcb2936b6930c7b17b181f80879d7f6639a6629941cf49d36278f0673088cd330b8b591011e214cca73a219c49df725ac34be06b2dde40ecf276a48eb00a284c022446bf46674fd38100e853a88bf6a63e8960a54efd53542160bf0fc037f67477f9d9d8d76eeb76d5ac8f145871484bf32f656ac17fb8e2e5da1423bcd2d4ed7c9a630a7a1273919a1c8dfc71b1f149f7a953aac0e14508aa28505cfb74eb0228c183f2763f6932a2dc2aba26c812ce85e57f70f120bb78da1fad3630c41630e8e5763055899f1007cabca3bad00e1cb411130882cb4dcb24995e715a873cf1e6607fa4c0bdbd257fdf3f80b245d38edc8749804a1c7dd038f014cf115141e986064cd4d5739604ce70a828a7175e72e20bd7c7b44acd3830047ffd71eacd26f6704d8ea3125fa6448c65004d630d1bf58dfb672b548d5820926612f2c56a95297398f6bf00939e2606337fd55fad5cadee54322298e3f02ef9e07d08877f40fbe8281e41cca72d8368f08c5a1e57d1d9ecc71d0520e03037a0cabdb36a973b9f5342e82033b7155a33b794c23eec095024059ee8f49a0e34995c1844ee5a06a534f8194ef66cd904f760f5345716294af0aecf14ae4d2b57e36ea04d89757b568203b33272975b14778626b2bcaf50d8540303fca1a3baa2bd3bbf0a489ea95eba5b65c35bbc620a8941c4f78792fbe0b429d88c4545faba661faf1b3319f8106b13216a84dbddd4260f42f0e9e60249f4480acb8cfea5b80c45552b27cfeae5d00b6095988b88cad3e64001d5a524a2a387b493aa344a27ae30000166bdda1ae0e981ce441e6b141c23a817eadcc9dd363751f0fb985dad0914f4269dd0c4ecf41c34e509919f109605e2e283e97252d58d936ff5990d3a7a11fc5df399541522f84f1a7dc3357516f7178047a449d8fe4a694842e136feb8ab4b5404fcd2d818608a82a68cc37c12fe341fbf987afe7ec4421c43363bbe9c33fc76ec51e8a452860b9deee4da6deabfb0d9e8360494f2a56de046d65721ea7f7a2040c11d3e9665c939bdcab35e3d54a1e4f3c4488d65e84819909167b8b1eed66087e7a70aad8299be1b9e6a027997906ece0e784c003511271af7fe8e631b3f4b18fb100287a673f17d756c5cd17e09eee4af22b5d52729902aa778e1d312d5e64950bf24c903edd049a4bbf4ae710d0d1243c1efffae76b5a48a83e96c6589dc1536b7c14b889d2c05eb76a683a4a3a19137e1a1eaeacd9e8153925329f4e32e2d48eb3cc58c73a7ff43d1db60768e6ab1ccba7bc58daeaacc335728d4f889d44a64444e2546b9ea87901244ffc16409a78dacbe4779a83f2e5ad98247648fa8d1b284dc595b247d7891cc80eecfd7ef574e6a4cc1e141ea9936d31c20f687918db6b24da5f6b82f90257cc3fdbae23563726b8ee5c2aad72aaea7c93ac4f9151938c707baec55cf3ccfb69d6e70971751e24ece81190a92adf32c6160b944b299de8375da38ea617afff3b85d06154eb0b7a4c6399d367c02f116aed0168eb9c67f6cc65935e11fefa01e6206baabf51790df4df5ec3131bed01125378975a57b7ee986ea66ac6d81925b348db867166b04fb5d180a35be9d332063058e70ff3fdd8a403b6b3a81684c077d3472d0f73c3f3750675d519770777ee69e530dc74eb73eb6e716484615a7bccf8e05ef4da0b7ceab2441d65b7b6c3aaf0a09c5105ab29d02c9370b4882d0cd3ff6fcc6e5543c37d1ff068583eab0dbb4cc5f90ace1b28ce01211e3b2ec664d41db68905f8d162a0b1ca45820be28034b6dc186e6254de10bd7b2546a913cc76719c5cfc761a4cb9891430629be5f7658092aefeee5e6140ab088b79e767c022d2501529b2be446d3d1426a591101ce32cae9d8cd34dcc62f669db759b4833ddce9ede85f11cda02b28cadab2aa178cab320ae8aa8b51156b713e6f8a410a46a57fe7c1966cd26094381af9c90181b742a0d01398a4b2b43d39115c4954c970f7a01ac184b52c966ecf6bc4420f07f245ee4fee28464cff2e91df4c168b27b218a8ac73cbca95d73a48b1075e09fbc991a79fe00b32a03ab6afe9d97a9a8e367fa238151243940500647bf98c74f70aa0a297fb9c8675a7d30eb66ed04a9aa5e154a9059af4d043359bd9ac430e12ceaea0165b8d67c679aa35f79a0206f90d99c122613aac8f86b93cbf8d14354296cfcc546b0e7bde0bfa86b8d91239342ef98bcf44623eaccaec1223a2f137041f8ef8a59b4f309f00b79f022c271e0029bde40d49ff9d62879765e421db2ed160fd64f6726439a933b435dc285e9ad6bf5b6be8f98e5c7000719eca0d85d3be5f997ab695d7ff08c930554f9655b0577d50c943b894513dc4648cac17dc2f69b82ae01218cb7a456b998b2a386d2b95709a9d01c9da0407f6ffd0738c1daed567c038aba015d0a7e8e72fd9f5d892b698458145fd5370e28bb4b4d5bb441999692bed4b979f638b1a9cfb0bcaf265ff30fdf864a99151799beeae50192d6938fba481755e52461cb9abfa61fc112c1eb4575695461e9999b1699b296d9b805f373ac10fc6e8c1c21adc44936ba16ca7ea3f92105cddd8bddc738e45029dbabbd6264eb97d04294495751995611812d414a40c0fb3b62aa10efb1be080daacbc3bf0980543a8a9282b2dc7a8a0fe9c4ca32a45dfdef9b4284177b3d4a7bbc824bc1230213686982f6a0f21f413867abcc47f8e8aaa6cccdb363183071d02cba0d5c719e0d26c13b3b1e623b1ca265c717b625ed3c772b0b2dd9e5cfc88960fa4d0290ad13f2b8af1b505168328ec1f32279d71b429e4c1935cc9a5489b28852f1211ef6de4c40b73cef6531189e1b963bd99f9e03ff8cc55d9cb5418bc5bedc076e9e5d0f0464537da6d1ee00024b58b6feaae3631af198ef286fbca49af0dbbc31f5b7423f8cb0da5530c6edd7319346c47cd34e29a4f4982d94301e31330df406732245aab616c4b85561dfababd89b88b8852acbb8328dbf17dc48f1d1283429d1d3d245d901021455beb473a60b464817b0033d4474d414772df329b801379482a66e37d9a852d41163006f9881f8c6d4a867d09ac059b88d68fc72b6cfef41614a72ef3b538b6b07a8a55cb9248c1e233ecd3b586f011b91b88c2836c305bc1c01938285a4e2492ce2e3c2c7783ad191118cddd8c69eb55cefc4626a7b766a31e7fa2d50d6c114cf8234eed5597a34c346340601237f0c9ab98c53fe21491982ea00346597198e62ea92168fc277a2af48d8167f3d5634bb5bf223ae1daddd89192a489cbe593e22b3a3212dd8bef5ec36dee5015f6ef34c2259430065254a047c23700872ea2f043865ff5f47a7e1aa22a3f08a5bddbd3a5976d0f6a941a564f434c0c838ef273abf7afea6a4127fe842190e16bafa18b2e8280d7ff5a0b6f271324ca560246175176aacf6edc2a96fb42023b68080544bb54ca620ab7cbb59cc739894cf6ec32832800d06a7b7be1cda32ea8a27d4e9e66d66a89fcbdef48243864870b404146c9f6bde664323b3ad0f67611828a7c95d70ced43c9400236daf2c9b3e59097615a3574073f500bc8b06a77d67f71ca903efe4f8e8e5383c90b78dd95b5e25011ce90abf7be2d405317d61c66f7a5f2d0352b5ed9cb971a839907547e324c2627297402bd447ba61f4be453eea21e07eabaf8a35ed59253b6154274ca9503cb53a19bcfa85f534d1b2f5eae3206fd03da23e6e7fb592aaa20badbb9888a64360ad123174097556bbcc8938cabf5219445cce47f4875b39d72be7217519dd674a44122a21f638a8251b8efcb609383d2aece201c4f8ba7b4003cbc6a995abb3490f561a60a68bfdf9263cff947a4ff5e7f4a4a0ac984d1b982d6c5ef9ca8898bb8986ae342dedbf6344dd738e4154b5ea1751a0c3716c36835b7c4fb8d041ce3d35f4ff25a9895dddc7ac128e7d8282ae55a24bbb21149716968392b28b60d1bc71e3133c967b38cdfb5ef7b62f65926ef8dd9445723ddc39d389884d0e9abf1f1840b4f6ee92cc15282a0072cbb15b8829e7228ecc2b26987579728b1097c0411c47952451326b21aa3bbb619ce90db7178ac16ff922050d5403fe9e1dbe0d4ebd7c771624406c3a99105e8b23c16e753b305e973c3ba2e18bccf2e1af7fcaf68da9f74b5fd0abc7789ab3d9ae39a2cb958799cf1c3a620cfe7c275dad8b9c4f3baf010da3061f3d660f8fdaf2555545a0e3d2187308c78eabef0bc32c9dc8ad83e50e64ef03f4c03860b42a13822a3697a70014463f00fbd7cfdb792403986cb2161e31fcc5e8bf6075fa21f6f98a98992e957e7a2f9857e294cac3ffcff2dcfba1869a0e7d3321055082e320fe9ad7fd54a4d0a7fa2cf7503b65d9d911daddd96e60cb92a0a28173906eda59afaafcf63f7d67574fa9653a3d63056039965d41c0cf21241059a00ca7a9c0445e9464efbc4f7de92da03b7e535a313166a6c95a7ffb33f2286f06cf90f97ab25bc0a1c2677284ff0c1e1e62ddde0a556cf8a75297b9bc670099c3d82373f6fe4cde1cd2a5589857f898fe1638f396c833c8c5bf925ad30dc8914318ad1dad207f323227c5bdce8377a4ffb05dae11cca891eaef325897798391ae388cef0446ddb5328512e859ebce005a5a8ef93baab367ce4f24e29eefde2f816e899ad640721b60ea0edc94ad79764e5287ca5fc52d19979df93490afb925f4b1021baabe4579b1fcb21fa76c4b8f9e57cfb090ae20b5fb6ad413757f17635fd05010e76ff9b8e14f0524870c69f5aac9c0e6ff7a65ca52acc2a2320f758bc1cf65de1657015a4506c6e42df12c5d52f31a1c5c0f96955890af27bfa65c60e43a195552b20152a7822cd542a7a38e0c522d4d1cc70d4c756d66650ee8fc0d527a9218192f6a17c1b4c12a02283598ef0465745f1604e7118258c9ebfaccf8c35753da06475fd444a937d5f6dd40168ddb9ef5adb43650e0b1c419ae7b2a6233e0024bd4aafbb5605b906b7b9c5280581f9c97afd5863ae5a51d8fcc13ffa424aca095a41c35bee9b8a562e9ecb94e98d09d40679d46f22019e01f5fb93763dba58635c21d80523c2394d58a34fd11a94330a1427dd02ea9c0f122ded3d816530e3f543335a5ec8a439ffbfd4d82c8af57db3dc6c7aea656b7792ec8ee7760c0e35cd2b3bc0fcb79b13bf66161d8d08d193743061d1e4cb395353edec8fdd688569f7d648c18ae1f5b3d7e7a49b3f2a0e1d7359b3c3fed880d08670c742195d6af38bb9ffd7f325d80ddffa12409c9071ac5adcb5b08ae5d4089322eb116bab152aae6d5ab2175e410cf2e2e92b5e22b54a2a07089840c46f768532b174f1d29d747348ebae33c4a4c3b05d57f7a0a61dcb20898da6e66051d4040aa5712fdc6c9053aea432ddb756ec4f6355d7709b5aab57b0c731f0f640651e2473be1ef2ec021df0157b02a0c6702ed3c679bec06a8a1ad34d71443581044ca80878dc224a291a7ffc43cbbcec844e2b23c79488b5f265daadcb22f640dfaff4b090234b8de325ad5e2497f954ba8451dda833a4048e912a1ba21f077a700dfe87149ef925f6388443ef87f8c9b4d4464f0fbd6a766f84780058dc406cb035ccd61e785814cd9e1aa5cceb56109f920b55e18460ddc5b9b6eae56bb7064b6b631aee4386c0a305cb6c6d9f20b4955767ad60c13343a70d4e281aad7fa010d131f264e6696a3c82e31497b8ba3a4bcc2c4c6d8000e131c5eaadf020c35545b6f7ca9c6000000000000000000000000000000050b1216202c333c","message_root":"0x6ad7301610ce312be3a0d080470893037c43c487cfb956130da34588eb43cc66","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xd7c97392e413cc3cae4ee16ad310baa84e3dccdc15c4c3178e5028f57d1f176ca068a67c7af37ec82d27e55a7a60fa4170bbd4851edb2a134a12157e4c839121a4b5b64ca13c2359307b2b9ef131b0766e4aa38995d8caaebc55c2a42f0760658a3dffa034e900d5da87382f64763a362556cfb6cb66668621b4ce80c3150504f40b13132f08f060d914b1e9dabbe1eaa81e9f00ef6b276c636d17c8774e412ab09faadc8bc7317a34b276ba27b62bf005d68d6615ce37b9d375087ed39f6b60457653f2a6bb536e6f1f8599aff4381749e0fc8e5b3d5060ae3c09e07b36b77f7ca965c7bd3ec82b4d55d26120eef411867cddc259aa0d88de5c9efa811fb5c1525a73656cb3ebc81625564784840f082695379720d649be78b6871500f561badb03deba8b59de36ddeb67e5d0d0b78f21fed0ce17ff82a4235e9f795ca5aaef35c1b5e7bf8c36c305134876662cbd53c5fc3bd13a4c47a426e396d714ede942a1f7a5381a41febaa63e113725a71780550b64ed1fc14fc3adfa07d0f63e9810cf901145cdeb431fcad5f65b680676eee98683c8c51fb16b9e8b472fc0b2824548e20d86d2d635e0c5ce81175245f8c220d0d249ee0cfa8619040d3e3deb00d19e9b09d515ac933c76f5c90b91cffc45347660f706e89fa5f41cb1ab227f8ff05ea5c7203017ec81233835c72367a66863ab5ee9670ee9675c0fd665e7db216fa9bb3d7d6ab71fc0fb0f5e03b7ff41ef10505ad5b481fa435c4ea5e97bcbe4a8fc1e209af87d4be42f3b9b8889237fae0a7d376edbc7860fb576bda64d05a58475520798dbf6dfebdc0e91357f07bb0ba7f4951b28534cbcbbaf3837c1c7c6cb40595c921999ae10aaed6b488de9bbd3acf053f5dfd5bb9dfb6b3d5f5fb4c043096cb64f0bee836eb246ded9011bcd95266eb88ec23bfc0e8903a1fbed08dcb90fa3770e07dd6389edf7fe05a2356401a57173701b2e2d21d0ad6b92fe163e20e27c38f482b4261c48f90430f8c7345c651ad31c80bf8fdbc595ca0177c57c28cc96beef30d7fc245b7e2d21048758b0b9417ae908f47b24142d025b2fbafe3dc592f007d2786bb4d153fb760cf39ef1bc3a1ebeffa66c8f2bdc6974ab5162eff2c9bd1039b0f9f825a7e395d3fc6d1b6b04ba1f870ab4305b776e8b42e2d2a94bfbbefba3ccdda23cce08029fdcbe406c40d5c9a9b273e9cd06946e335f865b58407767ee8903a3d91e1cba03edd5e546064b4ab11d78ee5aa079300bd1dc5284955cba849d7e87f6d554baa50e2634b22e61b73c44d69a087452351c9ca3d5bb5a0809d76ad92227006327a63d565f26ca4d565eb90508be9a38d62f7340e96d37602e7c62dca871993f7ea54a7e416d78cd959a49af7bb166330c0c68ff5bc921b188388e3c44a02304b0885e2e9c809de60596db746199f4fe25e243b9319d4e2fd6bcd08db9eb6f8266feca0c48394b1ba73df0f2df71380ab1fe4bc37d1cd29d7c9c87ac2f342c3cdc3a47af1aecfc8211939dd5d4ba8a1827787331c2538a5ecf0f2b93a3cc535b93aafe2d1f79c120c8a2c2ff2db811745538a2f52f15b5e6236b2d42ef98bd4da58c6f424301b24d0b6246c0ff072c917ca0de4b7cb2558b522d2761048641e1be036a250cb9f186fab9f59f7685d910c0589fbf39acb9f4aa97470793755bf4e3fae42f19a220dd275ad7d52d18abd54df0fe88576cc755731c1177a6b113230c90f779b1edde29e980ceff250b33494c0e640b079478d260a5c37c8e184c55e5932c56bd8bef48b57bf8798ad5b5518f1df3ab63a434780365de4978c5b5f74f404ed9b649f1be793837d345c9cb9878dfb4702d148c7302170e3e304b5ad8d30997456674bd85fe539af7a1625546c23dc695edeceebde80f5842b2d6c55803b2538e90e47e7fc35aa42ec2eb06425b6f535691c51ebbad2a72dcddb4a434a36784b8c9f3e39bf4e3317a739c7c4571c56fe29ad7e562e7ecc9f10002c51aa15fe88256971d39d3b6598fcc92dccfb9a0bc01abfb9743b4c6c1d5be6f86f57edcbf956318ed568d51123222b43c600f1aab9d367a0a81ef68441ce0ebe4f757d6b0d79cc0fa86e400b1276ae630dea4374afee7dce567ef51a8bd3921154f98a83f6eb39a06f62391f708df391bb80ce6ab7dea171a44ccc8e71f2ebe12b569316fdabd7a3cf563115c40cfcbed50172dcb9ff6af0aa928406291588041b7b1eafe795b516e7c7bf4c4004ce72abd6817b48bac9dd18b54f530f6f46db2955c96a7f81d8e87892e31f471cd36715ea65dc466da2c4ad3b1df8686502de72a4917c090330d0e5cc645d18609cde5d8d0906b4672fceced1e2a2ab3df8ea3dec74ed4f5a47d80f1491a9069b114d2977eb77fe99c69d77c4daed8e9368a3dddbc3485bc652dcbe18c58da73433ad577e0466de65dd888f6cce5be616c7f4778ab1cd400578f63bbdabf49463f4d09b677bc27a38a3adf336c1ea90c3b5200b21224473d058a5af5e96fead04bb2388cba999f52f7b0692c789795ae0301a4a365c129f628a28f1806a5354211821eb2c57bfe7ff33e751e5507e2ba3a2fd27b6271a2c469c5e6a5bbc107eb44210dc261cd42476b2f960f63948d76ce9f1de12837b92206a7eacbe538f7689db63c5ba62dd601886120cc7c77e88adff819cf6490d41bc2b55f297c33569cb3ac5adf2e9dacbd48e24c4e13db39843ec223c828e9fe46fed6779ab746b6505b75b3baac2330dcaad4964ff6a2428d631aa0c5d9782885bfd3f387518636bf02fa575af02a44da65361fe0d4d495c691a7556a84fd0ba91f641eff25bac123a8dfffc97c81c05abe1dcf20f61699397d3a37e8be8ebb8ecbdb3a04154b40adf4d94a463c0e153aa9aaa5dc25465752fb50b92bb694bd1fc5f84232157fd9ee0e2985e1cf628102df2406f88b30018087312a045d4929247225c58aa8450f24325483d24535fbe4a68f17f4afda6c1a83f208d0583fbfeb179f056e43be981c4c55fa0fa4a0bd9cde11056095b2b27e529a3e15619256e979ac6f46ae2b1f7e0349c02d21be41941f150824439bf234fd6da602f2689e582619f6605cde6a8f7fea074a1b9ed8d8b315915ea62cb5c0d7a5f2e7d2ec618e01e44aeb0f3e7d796a4be8ffa80ff761578ce2a91302071df3b6f8cb3c702d3b8b50a2caf6165f4744902e80e22c82f7353b378e4d1ad2ad26c5a64e89bd7543a8c1b1104ca8277dbc535c436935e7e1a1f661c7e657a605742b785ee3404a7031a3808565e3c6baeeaaebad5b324f5011f8ee8c48511b6731d7d4f83f4b8518a75af45a6e909a7f824dfbe31f79307e86a7bc6d449eeb8b07bcc234d587099cef8f0905eb3e9894849102d2c5c769ff928d606907027ff1d6dc25c73efd6408c22a1d013564565f470c3ab9e51065c2126584edc3ca8887fdc2df4e050c42d58eeb63b50ef6c417a31dd72b9bab8eee8396746493d6ff7b350b26183b794e1fe45a8670cc00967448cc826273954b7f386a900eca1cb722bf91a4f1005608b334c3c2648ba26b2889bc2f6113b308915a7885c7dfe0d082f862383c6d6afeb6944f84eac31873e98cb99245597a26d8d506fb45e60d1e92f6e370d4dc0c9b51856b1834c80788e2a9ce52d99241d1be63","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xb842c787f40fcc1d36493cc1c452c3b1baad2658ce9dcfd8ad1d58375eebb97c","signature":"0x1a04ae5beffb223dcd531c53890f176b8354bfdaba05d311c5ebbd2061ab16a68fc0debd1f2d3b99ce09d2658dcd3b130c3e01f0d154c3e226defc62514ad5255bb32b232d16249227b863094f13240814c20adb0fbae63e685bf4649f880b2492889aa1490d12246dd679093d124051365cb1cf5a7032dc0a09c1205b5c2e82a4f60f039ab7ee91eff546b123d3607d9505adb6e48a88ef4f06c5a9637acfe6e118e1cb2a7a6355a45c306c2214f1d9205ebce64ce468bd23b8c7d2a733f9a1a7da5612a7d3facb6f62005e2f2a94214e7ddcb9eb4582a2a95821977d6490694f1a39363b18790a45b13fd84edc068441d08754938beec0010130b396741bc10835df27fb0ec6548d30c0da75a3ece10b3b81c27fa323f0ad271359aef9a0d83d1a5ae1ce6fbd7c4921faad42f655f242fdd63e574035e4967784ac6eafeb0e217b71499b0b60bc9b147e849b0105dd9b174b89ca453c88afd429d72b772e04512f01f9a0bc06e2715e1952909139da77ceae5bbe9403eb8112f9ce1b660ce5994eab55ee9fd3108fcadeb2f9fa98d83bac3b1246bd58c900c5335d277db220b934eb26c4c204d870e973bd68fcca7e086e06cb1184c7fed7d57fdb1311f1d9412a0befdc61c974175746acb0581dbd74b3be7ba5e1f8702362fd992cb1cfb73cbc797b29f712b5e2a8ce439c4a0b28c42ad1b8348860d265842d791f5e83bce142e1dc7e5c4c7c3f0052b571fcfb574cfef5a412eb14de1d119f9c948663639229ef3665619f02d3649fa9e6c41448181fb85c0cc7984fc9194e1256b61d628c16251b47126837c6c40fc8947acfbd216f0d179788e6335df5fe6aa537b87b2d57c3d584f4405b60a765245c39f40c8ca154e45d4361189110ee06c80e6a44d347a09a53a6d4ef34ba834bf6089dccd3e031d1c6d9f1280728b50f015dd1cfdd44495dad4410677983f4d1a890499c01cade0d549d1519bcf63948e8a0819a000a9c3c8aa778c3acb635b99f525a4a1bf59d05e67b7454b20105998a3b2a90de86cca1b2d40ceaf28c4a74a04f327bc46eff3ecd97ca330d3b9d0e41a79f1224b933b1b45950b93a312194b76d89a0c3c65837e616170e0d5c88708216c806602ff6fe026c12c2505c7418f9dade73de54ca7993892d04df155802311f74c9b8afcd3ab9e7c003187a6fe6972b4e7a7420bcb883204d1cc9eb12c400685f88cfd1a7c6b8469ab60d3a065dc70ca3b15e3e5f22ea4924058cd0d358c2f79c7e752e7906f86cadbc44ce4c767c81edba37d453cafe2bc24082950741c9ddc79034f6e7cdab6eeb668275f1b5409e825d1ff66259cb5cbf4f8accb691da5642aa37a913234431b3a923a180d5004f29705c62335c0d8230fe8352c5ec18519bff34373c1fc0839c305e1e5952470c28a731e2ee238418534b48cad80d15431b47e3fbdd9a5eead5c78ff48e248c7f9fbb7b4b6542e71a0d076059921f4b5df26424ef155c363b026990d475ac679830836e717647bb0b8b6a7a6bce452fa4021b40284346f77d37d681fc40b27d286943df4632fd35f67dc73ed22264f9de74c5c70b43a0278ada78b65592d9f599caec2fd5d26d83a2f81e44177495398e64a8cc9351991a0765b4cddd7d0a233ff30cc16b39bcd56ed4d8157f9a9ec62ea0f3e3bff37bdc4b1e09986b53107b698acee31e3b82f3d43168e76fd6d6c74f827407a1f1f27812d801cd3296fec105e09d92d343f63db8ca8fb958427909a59c922a63018015d462e6345808eceda2807c282c9425dc8c33a8f6dceb92db07c908c0b88f7453284a65dfcc2c0cb4f470f9d5f858385482646331557cf602bccda0be7089bd2abaed8a9fa210a668ed3270c1e68d1acf5452d42082938cb4aceae5c0315c71cea22d37111e91dbafe957990f5898fbad3f14761ee9de6ac0ebc8ea6f4a55cf6606c8a209840a98f25dd0a28052dc7b3a4ddab8b6451e895e3717351e08089f6e208fd4388957af16ce07a3da8631a6410221555d148906059f129d9b2074072511b4a5bf641783bd4b62ddc6e15675cd284f783162029b74fd21446a3990d0f2acf64ac32c20cd21465bac2683935e3803b38fbc4912111f4c4bd6cf69645529a0a923b7df29da9093c55dd6bf185e99af616bf70b82b50ba8b0edea799b76eff01d3b229e8efcf87a801605b447209698ed03f7cd1ccb47a6b5e2cdcf8f03eea28874f36d34ff2721bb37f1c5e1e90931e12698703263daf0257a3ec7fc01774dce66aef120e6b7849ed267fe39a4bf7f9e3327e018082caaf85e60c653bc6187e36103fab74d3b82bd6e2423aaf910555878dc56efa87d59d15c51a827e0a13146631940c2fcacb334b113a063c5f416dac22db5544714a5ddf671e8ea1ed38e24a21f0e412f7c8270b1871560b36ebb57b58df322271383d52adfb6c5c3673f51aec7bf4ab2a791b6f7f755e9474e8a71e9f07e572d1afd68355bb6df13e7ee909b1df808806299fdf21e407fbbe0db59fe0dc7393b906fb4cd78eb78baf1cf56336fdb2a1949f10bec5c5da3abcc16d88f80241f174ae5f88273778f5ca210df4a24913ebc2f46da148c8cd78515163773a5fe21739a5797b4da13b2a6ff002f12812b2f18a147385ae0fadf9bbb54761ab3c3822f7ead6d2ad1dead4c3d04e5b4e59305218b5eb23ea4e88bbd7142800f60d8e3bff5aeea09587db80e8d9a7c67a3fb234522ee0c7f93c92fe88c026bb8e4793d421453c7ed20ce5a05ac226956a69c2974cc8144328c31979e732206a566ee42a42145106512da2f072e153613005608708e65ea7673003c00e8217c8955fe1f07e2c5ae14f015dc46791815d785b34a118f5e438f37e26d3c8b442c6db4acb9e78d8e028855daa759450fb7cfd23277edd180cb3ae0f5c89a98c9781c1903380f005982de7b636676deceb2a9ffea4a219e323484b0eede1daba5c6f8bc7c45d52442fec0e6d057f2a974804005030bd103da14a04155f3b48d9d5a62ca5edb5734d25ebef1d91def7652c9bd50faafced1c6332d08b3a2216ae608dfacd613c4baeb99a5e1e35a2d5a967fa6eec1a73d31be660a7246d4f76ee644832a2f2e4d022d8fb2e42db42638658749badb520d3d5c3e062b48d46abdb4ea6ea97aed97dc949eba52de4ec674c2050095d00bfde9c406d3749b21bb0f8417b7d367fc8cd5ad073bbaffda823aff9dc62e5377418ad6372ce3bb78399cdd99874d2e78c4e71f62d2a726fe2167c4df6547f84445ccb9a915d16bb20b9f14a6f30d62257451b11c860e8625dfa9c5548463d971aee6143985d26aed46c7314c9d70cee005de335561d2e26016d9d7090e60397ec8ca852b4c2165157817d565840e6970a01244a2e1268dc560e85d480da5462945a5626120ea570461507b73b6e113d8916a3da1788a035ffae8e660bad89875886912e6a53fcb636b0caf140b1705750ea62f4a60279b88abf3067132f9a2d94e176e25aa70cf1c9d4e875d611b4b5403bf50a359351f45236381c0c0d7ab8db5f8dcd03ccdf957439f5f5689b5af5af98557962849bf30a18cb832f501ab7aa5a16e972ae81ae41673b719baeb410edf53dd0e28c46cc304cb18cce589e702d4abb45cc7c4c0556a58d6d75546418b69de9b8469996e5f6fc2aeec62bde8ebe0101d3a65422143ad4e08e346ad45ad2046e24d3abfa15456e1512808b03f241a6b9c1a7648d2435fb435c2b9845ab94c394dd0184566cb720730bcb33c1ba0b47861b068022a28d1b6c6cb18cbf84e317e25369209cd429ec3781796d249b3aefa8baa1b31750ec8c995c8555c5417e67cc6cd10502e01a6a650eea87aa32086c64b1a894ce86b1b5859a15c4cd773df6f9b2008dccc1e09ac120f66a2c22faa03d87105cf044e53af0c9d6f74f4e709e7ed8978d45aa38223bec287dd98165b37979318b4d0174339f228ed8be34b600fc3d33f4352d406c83f3e8639478715cb4b174b305cf19ef52a464ab9496479aa726bffc21e75391b588b8b753cecd1fe1ffc76ba964614e3d6a9fb01a132247bd2ebe709d90851b07800baef86ea9fdfd4a7cf6ebef1f5acfe0fcbad3b2ae0919689406733c553bf6ddf2820d8fe5b2fe429e1c73ff2cdb667eec73a458168632ad4aaee20fb9f5488a7336511b0354be8ea4d3bc9a5c8425e643b59478770205ae077f64e22d3fc0e13d1877becb729cb7ac7012cbf1769870378ce8c31caf62eaa1955c05d26eddd74621a1bd534d0ffb2b6d05b1ce2343ff8ab393b9e23aa3735def85bda4b13ea03b1ea247702c6920867f67e9df78d6d80cfea233b060f34f1aad4a9e177c326c9e7e0dd87009f5bb5dd823e47ed4d36096144fc58270e4e40e3319925bdbe61709c6022071d798a092c8bf8d0e222c89f4bf167a2545eaf59d7517e34664892737955bb27679bc096ed1d3b573fef1393694c8185ffecc61d7b9b65d8b39c58e72ec61f96ac4ae396fa3c0770ce5dfba40a1c5b05ee1f144f67021eff135a61c3525a9191bcaae2f89f295c3f6f0ff14c0bccdb35b38db1ecaa3107073dd0b0d20cd2f257fc9ab6fdad356b1a81156331339de60164e93da38fe3b6f7ab5e3f3687a70e8f6dcc3e21fa0808a25d9683c1a7d39cfc7fcd638a2c3c9c139434f011c27d6f3f87cb66f8b756a870de0dfeda676fa0c2809809f21c8685094a97bf9ddc7edc6fac804e3d2986b3c5da0714bcb1867f088cfebe25e2984e0858d8afb37810d85acdf1e9b4c91c46abe0e6e951a43487538d6b0ce2be73c9c66add1484a49079e6ee3bbe951f59a77782b477eab87d72f74f92da3c8b3a86052464330e4ef850c5489bf01fb639c3c39e227f2e1a212539510b4b3369da039ede6881c6137dbedd16aab0355c73597cc042930815a90f7f6ff7c7269584eb39be3895becf0a9fe05e7f6d63f3d9ddf4282fd64a9290a4e5eabce215c3f3832d5bf0665f69183bbd758567b576d4866c08a3f1b155d5bbf51dc762ecfc30147f5be6ce94f703211ae0add9f31183ad2767136353028bcb8490c248c65e0fca6c23969d59a3aa5a76f5fa25456982299aeab47121d0187256a0cdd4f8d2e047596fa9697dcc11da74ef7f771bc677e68376ff2d779ac5e559a5d9c77aebd81f8ab9a954ac5d578397412026aecc05e5c7aa8b1b3d0a548e1bce41104acd2f17b711089a0f519021181a569be22755716a4bf628eed808950e39ece49558c455648e67006072688fdf425e297b9f7bd27cd921442239546e9b193789f407ed065a763e338bd251e0e3e76b793420ea5c6650d9cc4804b737f7f710aa2befd6e9239c57613389f0be6df0e9a920b06f2969f5534bf8fb0a8baf6d0fd62ee002d988d4a0cec2ae0423879e835578e4eaec4eeb497d9488fb0897104a9f12e25d4de8bc90562c2d96b762d37aae2a0c6cbebff26870d6c71d0f46412a14779d1d2de8f034fc86c0d347143d5239612cb66653ea465fe56a15b2681ab9594714e81c5b84f83f71696ac881884450915d2cedb82b470f3b3c3cdc3ecf1d62e647cd1140f9eeffd2fb41a909a56aed74960c576ee88b1b0c7213bbc2817cd9f510b8067b54fb2772c4320f2ad6683e9d48f03885ffd4dd3d16208b135e4e1bc23cad419957cef3f98edd122bb1368524b91f3d65544a4ff7d1a4cae9c9b18007a8c782334db3e32b704948118088a3cb92cfd615e69cd05e9fa069f06eb29e2c9e79f943476ce3132666d3ccef1fd8eacd730e2c30e5df71a09cbb43b078c63afa71dd17737f806b75100e7e485bf6b4ecdf7af4774e776bc719a0c4c7c936656763c3bb3006f1b66042278bbc9b1d699ed757372afa1796ee30affac85f5f24de05b569595e4a473ab4b272782d512f0e7035097561c2cab5f8f38ded3809a0fd0ab5dc1734bcc9ae5b994e645d331e75088076eea7417ef4d5711b7e4e4908cfdb23ddd1057630c20f822f16bd84e0e5f756cc842db3c6d2b1837912c4984247432d8359b62098b1ad39ad2e9c9003e3b2f0e30012f9873a705727854eb61ad0d10179220aeacabcf615554148dd353e61b94a0c987bf79f4d7bb82e79e8fee0457967501733c1483d4a787c81b4a1563f8097adf5c505b7c6440db15141c7d0dd7aa4ea63e57c7d6baa5690e6992218a76bbda47650ba216dc7831ddb33a2191f6cb9eb365e4bf423129af0ac0fb218f01f995de9046ffd3d7b64c489b850f33bb212be66bc6a26fd0643106a6a8ba55f9f8ca7b964289c3bdca49f7d5d928368c549adcf2b666209edafc3bd35cc8f01775984037a2109a821a510581d63b58e9f76bcdf96f4767499899a6f22608133556da17135680a7ce4e884d39108493d1cbb5854c689cb2d96b50ae4b1b7a0f8adf3daa6b2eb8e05b5ae50b0f604b4007c98a3a7b9bbd1dcf61934395f949ee52478afd503133840649fa3ade5091b3641a7afbbddfa0e4b5683a9acc1ec1f217be13040519facb1d6ef000000000000000000000000000000000a11151e272f333b","message_root":"0x0655ccff3bde14aa7d1a9ca10b0ef81bc6332c71a9fbb7aa196c2312a7affd82","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xdc304b79ebff13030d2bfc0af8097bf2e2968d6d96d1be24bc48052169313e840bf2f46a33f0d638cbabff05639232b94e96ec1e4f76d11df4affbfa79da902800877b59f1c8b04074ccb5274797e8772a1ce2b7a704445f4843292bb6e2c7971c4f9c445c3c40bb801cf8c98258905f93b82882d6ed06662939f13e2e4d5385b4bbdd68cfc81cfca06b9c64c5eaf412f7a89e13adaa1a1b5f2f97a181d4a85799c3a24e17ddec32739acb127f53d52d7b63c9c9c04f10f44711962fa428b47e1854b8ed82437f553058496e1223ec289353802177ccb823f31cc3e0b3d0225aebe95c6abf9cea6ae8b03c98ec032cf03517dae6f8c866689f8fa424ce651d1121a7bdc9cf00002779d11785afe5cdc8f59f412e0f6edde0b5b1b382e381d4d94f974da53d1de9e9291b5006cbdb3aaa75400c38b9db8616d077585c306789e843b72ff6ee90367d417f842ec8c07d92d114eb079974ba5350b74b6ffb868371bc9dcc389c12af99762ddb81e9bc73d05b91bb597aa546f7878223c23a675647d833de5bf215a2aa23218e737d90b8c273d84f9a8b4f76dd90cec641bf750d851d1a883b041298c39cc8958d764c6c855808848b1e5240973469a07b7b6ed3e8dc3873bb285096b760c5c27a0eebecd26826640867a67ad1106050da4b9e8280e48d9b30bcbe3f03439fc1b61cce0f79c3a7853d45caf295219aca4f47ab5aa32166ebe5690222a514bc409724b8115d71d62b7ad2d5112081c5bb0a55a8cfe4e727b7e74805ee89b66cc7b1e0fb21eef4dafb871fc415fe7d8efef7c775cfe6c152248fdb9e8bf9ebd62516a07cd38a18d5587e063a2a92b71f458d8707543202641f94174c0776485a1805d93edc1a74b518f45c412feb40489403f4a84f7503d3c0d200a3c6c03b8f07ceaeb6f8af15ab99bc8835303d9699648fa64d2fa966f39ef3f003c5599859456f9b6c3c1c6259752d76480cc0c48cf6920c890fa53a928f824fa483ffbe8f4d397c6ae14c3c107f4fa51f7e842672e221d692ab4b0e846bab3fd13fd10dfcda23d7468c04c9316c31bddb8cecf69c62772db833023970a4462560ed162cb8925c5821500c8a1c7a27621bccefdd051abdc161a4ebf7f99cc246e7f54aa37b3ae8086e32e92256c578173146c525c2a123ffd5299b507fe0a19cc339d75deaf9c559196d7b886da595df280612dcae67e1b4d0d68e742bdfe3f3407e029767927436247e6a3a340b13a2bc181b3bdec45f772c4865264ed42988debacc5d0edc13463338368473b024822e04761bced83c4cebe115e0bf77a4469a559b5427cc5ef5733fd80cf2785ac387e7e96e1a5dd34f2d166eabf5482459801241235a4d14feb67cea050d7b2ef1ca37cd32ff71956405586e4220ffa12bb69afdf4f5db8ef037882148bf71b01b85c4931e45b428b89f1acaa8aa9062fce4fda6202192c1ab62a30837cce48b407710f58b61cd66a2feccda196e027a035100d953bd44dd33da37158aa8f1a9cb985c76389ad7d270451753f40510224abc2f9283c9257ba925697d7b14b2e6807bf7b39fc58cded841ae6b7b7e53749b5471d9c4020f044da929513ead92c757f28dd5c7fb12983e667126ddb928d2f1526be765b09ada57b0af28099724a7530bc648daba1c11a4751ab4db7ee9a280ab2c608b7cda0f463a70238843ac846615b5d734d4d70e05cf3f381c2663581f9cbfeb04e33f6f845ce4d2f854a447ac575e7dbc2e0a8052038289d7e4fcf3a3f42f4e5acbf2e75e7c8ac1e376f37eb44755da1b478c141584178d5c219de0797b93ae48c93839b604ae685c1b9cacd5de19bb50ecbfb19cdae14d724b80f3bb7afebef40c7ae78254728e23aaa4bab51bd1c34530a73d52028585449c2548f2a57a5fc6b11108bc1951294f2df3085541dbc81328aceb89602620aa542d45296ac7127382db0098eabff88413d25455382aacaef638383effa788649601f1b547af1d0b3b19f69db8e4ab59bf1eed6bf5a8394854a97579b06880e4e45028789ee4d979df5c50bfec72d9d34f15aa3163d040425e7bba95536876a40fb35153e5f5286b1f2d217f3faa88c3e48f5b86768e87084fc6d59dcdafcdaf31b1a650935234a64f009cef376c4ccb1933db4242a22ac87fbf21c81bdbfe40dde5ba569eff1110e14e9ea24d021d069e46fbd973d49d4213c54463181852e5be83d6af26e43a8a354c18c8dd0e1a711ce4b74b279758712373769c720911d75f6f6f7f5c6101e80a39498df3ef4ed205b22844c401c685800bdf56be00cf0a9b96fc2220350cdfe99339fa6c48d9e890f5ae65697713a9511d466b2f491ffed4ab9619a1a2b9a733c6748ef75c1f9bae6863cefef949a1fab1da553a7659793c899151fffe50d3a45f65f725688496b93324e9de87c96279137f038aa4f543030732b4b8f2431177a28b988769a32b073c2a276aaa000b520d5dd7592afe258cc36b8e8308dca45dc3ddad31dc746d68ff7d1e3d1efc12d87f0b07a96b941d1730a7b02d7d7bfa292b6e48f8b3d0ca1d858006aaec439da2cca1e4bab0aa38ec096624ca8ac61b0686469be4dcf2634c1cffc7a37dc0a8c434d7b84824d798254d1019121c56a5257918c2e73b717d60069f33562a13cdf33600d5a251fd473c1eb508e068a5f79a6a6c87b8e23fddbcf69e971090d6901539561a7748d434c60194d5671f7e4bd3ec2a9d90efcd4fbad4abd7b6d7b2baad9418d4ee4c0f47440b954eec5268d7e83761ecd2c0b7a597d755403280ac0bbb512cfda7d40da8c69fa7c1ce33fe9a68d8f7952672bc59cf312536850bd3c4321dbcc43c0045a3e0fa8c7c7c170e8a3b6a52c83edebb705aee3513f45f2b75c2429854adb1223ee77bbcc4aba7d5da423c62122ae09000e93f7d92c4565c79f4fbb122503240bf9ffa34afd85fed9f2fdca1fdc8e6147def5a0e4f8bd0c9a55b2d7edd7a373d604aca4b8fbc28849f9683e465a674d6842213cb6caf18bbb874867d3e88f34ce95d9a992ceca41cb039f518f36ee3d4ec2532adaff3e6cf970ec8a54162c23a690c20f6bcaadb835639203e3759d63cf8ce4eb9511889452b7b7a518c2b83411a082bc98b0ff399361cea8a6aa8d8064a82ed2446321a2fa2ee61e0bde5622121065addccbe3b824ccc9562a45ed297a3f2a9ac81e98b94a87bce4f1ae18b49eebc706694607086f555acf8c944654e35a759182bc50fdee24b85d086a67b3a97eab0b1341878c04e90a6ca764ee24b131909b55f439f4e65556a65032ce9509fc032d1c4aafc4bfc0c96befa4a22ec2502ac88d958ec3fc57523f14fbac35d8a33372f236b8edbb108428426ac00bc8a9b50faafb09293599b0b9a880ce9fa7c7419b52f1645d148b3c0ccf7e6ebbc9de39347e82ae38049eec5c96129cb30a4592ee0865ebec550f0e8b2641c4ae529e99686a8330d8ed70cfb8446b9e7d11cea250ba62326ed3ed769fabbfd954ebbcd2fa7f0c0ca083aa45802df1efac0afe1d3ffd2c0f5a52de406603b46fff10206d35e850a7ca01a1785051c718c37576783dea1892552d02f4123ddbb67820e71fbc59bbc1718f87f48fc5e1ae33f8ffc033238179df1c484af3e325108b21ce7700b7c7dd90188457f4d1a6d858d","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x30b08974d54f6f1dd80d32850c62638a3227855f43cfc9b409e1f9904ec8d10d","signature":"0xc93a05ef60dc7d516ad7b5b105227ce2c2235752c26c6092afd35d0fa47aadf70c1a28945325439a9a29a2c9ecf87a00b88fa6a763fbd274125ee7ec48aafd8fddde1fdebfbbb1715a58de6b888d4d23fd1231632a992f321612431fe9b733ab6c3b0d0da541baedf0ec8f8efda54143854f662859989bdb3b1d46c073625e2c6f42d772fae7bcc18ebb8417403399a97f30289bbd5016325362b84c32b64881be260fb13efbee3eb828651c46706ce723045e3fa5074ffcd3cfa6934e573fa5bd0fd88dcd325fdce9f1b31e059444b7986d88b6eb5c2010ada3f1ec1fea37f3d82153c9d83c4b92ed06378d8a520e7f8870ca8bdb557176b9570cc0486aebdc33aeeea71a9d3d53407368f2fcf3efa81ddbd67dbe1d6fc22b5a189348cc59cf9a37e842cbe05c8268d1ed94d4454b0ad65c99c4511b615db9c0fd5a8231989e801ce5f993417c72e82a16df25621b51aab0e6db4ff120a4f591f71a0c9fd753db5746096cc22d7c721b7b464b76990df3257e8c9bf9cc21cd97dafbe9d48090314a7888c7185f8cf4826cc0cd57b8210c75060cac45645463488cd86ec5068d646bed8a85117e06f5b08b110e60927dad34fd6413a5e030a7b17751d18b22028bf3dc07502646c332fc9c072b79b461c2e70056b3aa3b2825cdc0bc29314a1c503c55124ca4d94188bb7320d40dd17a9f2fdc9c1c5dcdf584227f52e1668e75024168719902dd8d246c6cf1daf68db6b5d0af936a85196a7c359b1d729968f914a3a8b19defdf4e666b36f1533d2137854334fd2d69ae5d6a4c10b3f432152014b43a81a92a36db418c67430986eb5ac2e0d4f4c5feadcc4bc8dcc52b9e577de1df33c3cf69e51410ddc8e5e1c80ab766336e9c62a6dc6ff483f55c548d93f5bc114f93c1c9c8c5dae345f4a9ba273eb5d0daf263801b51b0bc174f3d0f6da524b7ab7fa6f4992d69e31bb463f512c285433d3522ad9dca7b7f87fa01a315810a5df0e80cff63c3af58c1e716d1f2a44705a8df851eb5ca53b569529adf42ff21bfb3cc3d451f8ee110f8f1c5ff14439a783dac79e14892b70be2f46c722e0f1e05f8a6b40fbc140b08156294588e951be85f3c777396342545ccbc8f1143ea7486d4367b16b4d576228b294951dc9142427ac8a4595d9696a82f368c810c0c9371a775b3929225e19974d275fbddc8c81ae4208cffe29ca9a71539bd96daabe4b1528ac8c4e352e930b984d0df0f98aa89ac5b630c278537926c56b2f44107ccacea7471a7b10210239f1c734b9a2eca4f5a697f8b3e5e786f358291e5e370d1ac4d0c7fa72eeda23bcd3e1c652ee5e5c038b2edbd5f60c2d2f73480c398b8a07a6f3cc4b3f49a08ce699cdb3e3d8bab7549ab6e0a830ee88c5bd22b182a3979a90511ee633aa0d0120998f236255a94490462300ec2137316dbe3a51ad04d04f4df12f2d57cb1c4d6c3ca6e4d08380c45add517d90f66377d018e8943894bc5438253b2de0d94e13e9911ed4b0322892c1cbaa12e8e0941c471e55dbf79ebfe637865b8aec9b05a3dee0f5994737a2123798674c29e88008596db2cecb3c6f6f518ad9704d4c979b08271d50e8341066331ac86790594bd0f131e0153a0558f79fa55092018a1b874f44e314142afe2b528fafc3529c4680d5e9eaa6114b341eb08974039ba31636c4bcfea1685df6f40feacded58e42d7a443588d769b3d6bf7dadc73793f7bc47667c47faa21dc66b02584feec62eee483a81904be26e3eade29578ab9f3087645bf045c1a8046bdad95faf70bd3f728e8bc08384d65bf8e288b44ed137c4a9368a63278b000667032d4f6c99bb7f2de91f09915672cfdcc12355ea02d95edae006267bfd724025d4ea60cb71c697cdf07db9bfa391248c3b123fa7a900235c1632ef741b1769126703eb2cd6549ef001a17ecab156bd170623f305d78225db9a0df1a10ef17ea7dc1deda72b2011d7175d6705479f73da8492bd4599d49175a1322e11ef1f1a2cdc10d87493e298053b48e30f42c5fa116d71f950cf6b6faca7756926d6022b6bd532a498e173c6a159bcf58488ca0ae55e3293de2126b0d2ebb7b00de99c9a48ae28246d8f32344b46051796ba141154a81dcbde6ee51e487ab22a280813d269e26a83423f88e762b37d47192719dcec2e11fb712ce7a6a09485626bd81b745349103efc8db48a3b78a3352995c456d910967038f7d963682574920e783c37742c8a9b43a9579a0d82778a7aed12f30684becf359f6f335227eb373293a6d9e6c8a9fec37dd1d41c13a797990a146b99023e407d65ed5dee569e09a3e67d6f14434f1cae844abf16ab8a930146defa28b01dd8993fed9c5a320088d7f573df382e2b8c6467b3494fe6fe2ad6d4921dd8933da5efc17b264d343f008bc547f2a2bdfa9a21a2afede2f5fc2a1f35639e566803945e3d93e14887e4c892fb1d9414f344d21f495c70bda500115a25931062fc9f0a4a65da1203adfd1acec867386542596078eb876975c43fcde865e36736ff9bc7401477bbbcf9451af3ed84a81a0cd5eec0d8062103cadbd6140f87eb473c33ccfac705a41b1187c461ad706c6c838aef68916b32610a22a05aaf09801d0c391700bb9a178445197da19378f2cfd4ef1524153f50ebc841bba97ea923f6a3f69e90a2a3df21e91486a705e3fed1bc8a4307a49adb109beb09b3796240b4cf5ff79d9f87629c5afc3b2c723de9d459646146107d07abf33e3355a9f3543faf3c33a141abd9cba454a97b1a3c53957f44b2335919856da038fa34d9065af0c63365ba0707cb305532e8e2876977578c2bc52f751d5e2fdf51670c9a0dcba1fa0755d6d291d9a1b9c708a01ad50a3e2d8f12144bffb4336cc8ac0943d33cb82d60163143ab435007524662617a3926f55dab8b10ba3cc3317179cb2a1c048368a8713280f29ee1ada17f1de77af67f67708e4026a2a0599b5522f9b13ed3e0ef1daa59c604b3f9c647886c316670f839a6aabc8f09e911f4836e1747f33ff87779c2dfcae0341c68160b9b265e44b00489d5b4f3f85251953fc19210a420f1e0dbfb0484573d4627734f2724fcd3b17444c3ae945209931ec4192645b6f359a30fd057f93c7679ec9183832b073aaf827e1f793e09d2351b03f716414773ad1c743eadda8e127d976d4cf8ddc784ccce253dd8805d99f7f8dd12f57dd6ef2e92a7f0d3a7c89478a25b69a78135440062b67b6bccd84ced6393cc126abf1257480172ee1d5962b80a46d62d3b0f61137cfc6a1aac85ea4c33688e8999e06360d489e855bf2c63fbb936aa155d95485faebe199180659e7673c679dc53bcbb4def8ed685b234ffe8a7dd6c0a6c7df5766af687247c78d1b9e24d127ca6ae56dfe52a85efbed5db6e32c9276afd9d74460b57d114d6631293fb55d27352bfd29ec63ca25c423299434538ad0e019888c3ee8609b1d5e5d1242da31ff888aab7b606f9cea07d91dcef9d903187889936667181f61744bb2e9c0080d55a8099c93bbd30b9a8bdaee7a441d88adb0bc683246c2a51900054e46cdfd4095677be93985ac88d6bb41fddbf6e6bba6859f30a6eb9b77e26a23ad850eee5504240b0e25b0893008309bcb39db207ead9d022658ac37079874314a5234711499d5bcc7738a6a883aff5500482c60e3a8c1415bce2ebd031cb2b646898953001b0be3b01dce6bdc1bda7b483cccfb030c812806229c5e976ee740b02b1d796104b1af0580bbdb15814b9c23b1b57a2328f26e9d5f268a02189b635b45ffb9cd255c721cccc67711cfb3740f5999daeed76b900c66cc375a1d7f75e7b4f04ef403fbfc8c29915cbf98edef6da3def0c33bc39a43b79173ecab460a7c7dffa7f6dabdd0ef8c9928b50fca2351ebfab6da3ac9cdef8733f4eb07acbbb439d382f2b5c2276b576bceb773cb0ad4d99a42a3a29e9a21235bccf717f7c19d27b37aeac3de27d9477eb560b76533d764b1012018595652c1e494faa093d898e9a723f0a4e5259fccc3c52bd44601e9ad8fa515daf7e74c64a5021963ba851032a5818f08d767367d4cd817e4fdeecea9c6e6c52ad1b124cf8d71d5a4482a21bb6feea2952534e38e814dd47858d0a955e01af5bd887001ec4b3517c0ec0871fa214123c076b4d8a2b372e74d95016b4d42f7451ae3a7012d3eb13af51b2eb4c6f3504aea0b2ae882d85d66f7d68dc27ff95d6bebb573261e943e9e015fa60ce8104741834d6e86c6d91e83fadbdf5e9346bf86c4f2295a6a3ac9d29a166ee596e22b608292d872ef875805f818756a92e1c315b8ebded08e8cd835cbc1ef61e8c1f1ef2d6c903eaeff7b21146a866fc288f5c359e5aaf750979ce5cba2eb70287a98366ef47587f5e7c8440bf8ec576cbfce3723c6a384f1deea64f8154e035f033dad5fc99586193e735d5c3d3d78c4d551c225eb6e028e1432130f7c2125029c6d6e3a9e18eb9b031cca4a38fdbbdf0028c50e031e031fa44db484cd16a1264197171316d3711fd248115bca634c4a409aff76a82ec040049506c2e36bc755d544f2f03a8c938620d516e9b0b8a13c8a5cc47481447495c95645ede9cd38f117680275eda05fb98c7e4ee9c68a6039e6f696e05fd936ad405d6384a04c870e2458002df8234cfd86ef0e7bab4892ccb0518259e073fbe295eda3dfbd66b1d8bab7fb9fd67d38ac27b927d8afed6f65d37532b454dfe1bce12198884f31d03e662ed4ddb7633ed7b4a6b05d52af66cab5d295f0e78f3bdefda586f0b961a23165fe3716a779e9ed05f977c89f6efb04b8b6931888490848d24923359d7f5f5ff58431cc17d94582102e33c39def68d5606962f67824964d4a86f66ff1adba746fe019ee75905469073f6660d321ff54010e9b5b3c4e9d8332386cecc88c1e331c22068578afbb8117cae9776ce1e7fe07d518bac143749b88a4888dc944f57486b96ef8778b7d4dfc73894dac4c3734276b4d4b74ee098c917be4ffb0098e4a1bfc2ee2f05ee187050909c96674222352906586ba7aa4c883c020c48a231c2453abf81d17fd1e328a9f82e6596e32b81b5f6ed84a5e043ca79acb3b21dae55603bf4fd253e00e885e56637ed383872c42ca0ce9990001d00bee3ec6971c8f75938d8d3fa6104a2f358a0dd36a92ef2bdda962bbea0c6b6af4d2fc3a4f86c798935e2ae3d854d26e6a6ccc697cf84e88e04f682a752725ab8e0c2829b6f667ca44e7b5c1d86cd7a65d3bbf26e555044b6cd76b352e289158f55bec6c3d7acf4e2e664176b9d20eeb41067dd14bdbbdaf672544e6c5e59b76f5a0cb3d5eda9d120d9e84347097cd29817ec5d82750c39575c7b75adca16c7fbf2fabdfa88e7bc9bb909eb7af07f9d83f63cdb2236768564639fb6bc07f0c1a6fc2cf1a5f90a4db91d171131ce02afd757ab6341413a9807d916bbf6baafa8b00fa6e1666a231e0fc383d6df50f9cafbc51c371b1ada151516d4fb021d8b6449fd2b3f1cf45c131d12af78900e4349b0d80c7dda9e930b3613455ecb2b8910c57c7399657d28673cd9e1c101e6520528139324b04cb2e3adb0cfe3596281b24f51f488c94dfbdad77c60ae2e1b5276d6aadf20aa9f925353a0da0d3d28840141ee00205927a6861af9b0d1b025ad854ea60d0e9fd501d55703405250ef9820bdc1c1371623be983705192714e6cc32ee5b36c41eaa498c8a0db58594ed41dbb07e467f17cbe76f1a71038f9126b40a1fdfe2fd9beda4295db664879e2dd6cc825790a1cb77ad9263261bcacf4cf2588f1e05bfb59411274d5f6bed60d9038dcb441fa02b5b7d66e853b2d0bbc4c278ef5d24a087a182c4aef7b4232d55e9cb429c4f2277133746380c18df6bf3799c6285f5545f3a316b327f1b64c39b7b4270fb1f54f255ccad029cb0663f87f42bb4cc1befaf01c20c3f46e058864a58fb82268378e32944fbf5cc86eed3eaf6afa086622d1ea172fedf7b0789d5512f0f0d2f2f183e56e86e7bbe3641535af07b5179a79d0bcbc054bec5bc87739fb47b6de03fadf3db85b115c015a6f259b420e7eb5009c0b1855a12eafab798a76c5918575c2346bb585e98a154b8e02e16406f1c503bf0cab7344a3221176cb2293138e34f98dc630003ab018ab070a723168a0a811d3d29f98f38f048a59f7d8bc1ce3a24595e0b5a09c713f9da30e802784610cb477b71de3ab46f25c316587ce8f7917d3d1debf6433510cc6f55b48cc4e1e0f0880d8b53818661078726e01fac08bc102d80acccb20507dc6ef8d4d11687e333e737c1f4a68d049aa317758bd8b8633b839f611c044d3f8c6f8dd6c58a0291bc6ca25906d631743f5bf2b3976cbac061411ac9975e7f6a35c356dd0d2b84352ab29556ea7f4f7219a88daf68cb5241cabd86dd1b41fc78499952537c11c323a43484e7f8aa5d7dcedf9344263707cd0de5f68a8c8e3fd0c1a5ccde2f3fc235d6567c9d623384f697ad00839b5e1f5fc1417181f74768d97adca0000000000000000000000000000000c131920262c323c","message_root":"0x709fb24916df17e7aff0089ac63be18acfb7bc1ff9588dd9bd421507c0236381","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0xf4a0bc2a86a19cec578b68d504e37019c2de1b82ba9bd33b1310f74413fc387c27b6d6b0d1d87980188bcecb624809185197f1fc92e552d23e05d0c73a89c88462d7599bf9a6f38cbf5583a4fc05dbe15c1edfb4d025247647ca9c8ab747cc309de032a81a4c60e76cb935a5f2ee74febc5c1a5e1fde5a9e29105afe8ad151603757c5b81853feb7703d059503e59063c0145466ec036d05dc24face9e08129691f370a499d51fe63a8992705a1f797aad3fb27079896500977de9f842ddcdc0e4c45de125313f9db1713c9e1b02439e2824e33c4ccd782d6178ef64b147454ca9b8b538b26c05e5016540f896db74bf374cf4223920a68f29567dcfe772a2b2558c33cc1e1b2e991568887802948bb99ca44fa942f1cae4a14ba383034a4374fc512aee112834ef83bbfd974fb091ed2310b9873ec247d5648fb610e937739bc8d60e1dd45a172cc27b6c0a0788684f8670e9055ca3d59bbfb8d18b4bab45740a011e96edced66c45d9efdc3662adc1f68af6c1f7f4e68b66329c15da2cf983068c263bcd7209ed35f9863eb9e1816348adbdf82deb080b46deae2859a790d59f86d696061594a0fe45278376ebea04b7f9e58396f87079667864322c67f50e6ec144931e1ce339c4925f393fb2fea862b8d40e1ccd406856bf0855549fabe35c8fc736bc20588dc86eb6c451537b8aed9b43cfe1f3aa1166330e4aa3dcfcee9a104e96ea802ebd9888699ef61173a6cb66f888069f890557c222f2db960a32bc00e2e635f7e4c64c38739cac9df71d24fb5d7bc877e77534fccd3df5aa3ca2858fdc13995a43b8a7c32d567474ee947cde2fdcf0e137549213486ae9e2d6f454a106f3608503c0b79567b5b950acd42b577e54a57fc5109aaed706a7ca0b2fa3144847f79553ce9c44ca98e0c9c6dd8472c94205e7e6351806a29fec503e5908a3d1772cb5c3c922bff903985c1c66e1a253eb6158a64aef200c2c15e7bd454cf5bf7511eada6220f170c87335dd4f850ad13f10ad1d1e8f5cb746bdfb1f77f8bd9e2acc4dca0bd2ccd9e12eb2a80a0fe7153dca1ab9d7022ca138cc6d852edbd840567de1c2b4d885a389db56883e5ab22782ad54046951e4b55ea4b03d5768510c6c27debb23933dcc2f028c7f655fc9ca1246460c62dc2f5a114f1400d580023de1f8cc6ba4ecea872beb7324685147ad128b61a50ed9b74829cb93440c154f34ed650a151f939aaa337832cddb1aab8778deaa8e85bbcb620cc144355688e87107f9043237d19e68add3bfef5fa45da141506728c5c09ce2c087cf12a944f9f014e7d5221c16edcb204aa154e7e0955dd46ae41df74f1be96d24d5dfce401b6091d16ad7377879ce4feb281f20b3612ef80649dd99ddb3346265d583f3a801c2de15172f66c2d9c32bd685eab1508be364149a52f65904d541199ca01bf5fe68eb508a843e05a3dbad59da64952a1a05307d5faac859d326248d97ae7fff9d4cd3a9cca2d733415be96e756c8548a500d4c5bc32aeac6489f25c38f89c4a8ebdee99143c785d9803eff0158cbed063b0474ae34379138f89a78763f924e3a2dd082bbad9a0bbc8bd9bd7e4ee5e656e081bf8dc496dbe39c53bcb28636314003d7eaf5faf55ee7776301ff87955b5f72ecfcbdd27a7879c055b96a5e7ce6609d730b5f9c4f6b68f61ff5bcd1cec97d2dd33ca69934ee2672cde2e0b9a9ccb913af8c0f8b58acdc457b6efa1ee3aa5d26496bd66116edcf59d9dbf62bade9d9709453a5c4a27a009cc819985639058eab225bf6dcf913d239a75c4ace30b0a3b7b535625193f258dc62bdcc1abc7cbf5679ce88ea9190c4296c953969fdeee34d1413d05f5a48575c81cb840599337f7af1c83c7d1dc9d01e6c0cdbdc5fb90561bc4ea0e5a3feb208b532a2450cea8f2e40c305d08e5a519bfacd80fcaaf98f45825a50fd9158be151154ccb8605b6469d3e61429498a3e62c2f77adbb329b57b9df1749628ff9e269d5eaddf4cc3a171921cfe5840c1c0effbdc641e72f037d24d1d989cc02e4c6885bb33d3333fc529ed97fbf1d95d477bc12dfd9598faa9a6f67bb9a77f866e6e62480e2ce5a8c3fc333563117a7f70ba131b2abfd450a002fa2d173d41febfc4a0a7b0592be46849401d39e4b6c77638480a60d34348c9183bfdc18980254d8349c24c2f3d3b2b17cf71fcd4bed6b53cc58714fd0f087fffec63bb111a2655564297dde49ebba7859190a93ea610d3460f56918bdc84b8df88c2d0f2dafb442566dc2ba59d8e4c2afc4b51fd71a915a3da750cd827bc80e0e839618d2be4e50eda83e5863e070fa2e4da6d4f2fc6af1b427c6917c1baf224c8100ecbb1513ff7ea9e70347a15793cbbb0890f6e9af7495b127f2b7c4312ee905d6a22391a0460fed6454f831937d1054b364d19187e8f5c0968f2022bfcfbd88aa2711967cfb8c235269745be3a39a33e35ddc4ced81a4c89d2ff073fd85dc48a1d4e662f76626cdb8c516943900f93f61acd7f563ef77b7d5c4b5188efeedb52ddce61bb9aaae5e51ca5682527d71fd2f49af5bdd78a7153ac4d58007db75af17a3ed5b2a56dac9a1d4a4e05870adc9fe6885766b462760d6dbab09d563b8f7829e21deb7107435eccd2b540a55142c5d6e83436788aa2ddfc393b5e07fe1505dd932189e41bad5e017a8290d06af0b351b609e3b6398f7bfc859d5773b8d79eee061018e260014c0416f2848f3e8c51c498606f0c84df305e634c80e1eea1f4f23e89e2af00280d4c9d495214325d402ddde03d212e67da71f4cac924ace26ec644072639fe3f07bdf194be2a4fbf9ff5d4db68e9dbbc4321f7ab09bcbd004f41cedd2843e4f505df738cf2f50b741f51eba63632bdafcf95adf2ae906a0bd07f67d6d5f1cc8f2b85a235208e7d365c79eacf1669e76c1c8b51a27d54c20ad4d059c37dd1c5662ffd066441607931a3a2b2a7fb4d7899931bd5f4439412a466b004f784434524083ad9866a6c755a476e523b49c1521e0a08dd048ea15ef24757e725c1c92b92e5d5b1974815767e98f4cba8980876b6a55fc0f8f76c416c1e409a92834f6216310cffe2556d7cf68193e9648a9ba9cabb8c6e3b1e58fa6fa0b0fde870792c455fb979395ee8b3781de481da66ac99ba2bfdec83068b6a34d48c8a35454ef7ae5f451b0cc2a688020e06bfe9665e3a592153c9a413d9b55b7a96fc0b712f00db884c48cd81e7de669b89e22ebf21535e6c31e32672600bcf182daa4433661ed5ad83041f08d5a26a24ef099670e2e4668cf47ebe4949beabea4c9e3474b7c18b571aaadabab012aeb8d48969f6431c1d6d5582391b269f16e115a46af35945ed7c19a1d711945f4af2f4276d7674ece57446a125f095a3dbf56b763ddff9eefd40f3cdb795f898dbc67caab407106c3b15b6b39b2adaafbd69890d77007c0bba17dd703bd4bafb7a992978001e832b26eff37863d494deded100ec1b1e5c5561c0db56eac2d9f6f372285e96b61296dd22b6fed647ff2129f34ea0df8ee8a23b02a5a4ddcdb0ec01b30a7512bc65c79fe90bd446689171443171028a40f088a8043ddf9ebe525c4c959dcb94b5db13c0439969c6ed604830015daad0ecc1ff37e33e1025c22ef5f48206affa4738b25d5f87bf354","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xe6cf596127ae282df9b16dbdbd6abdbcec352df9ae653fed38ff9d6b3d937095","signature":"0xa3492a4ed72edc4ec7e8ffd277bb47b604a2cd57611cd209e14af16d98571edf360876bfd7b74b6de26d5210602b9412cb6dcf7a4a914688f690a8e61bf757592b84ccae5285af9319917a569f90a982aa4cbc1256d937ab2cc389a7bc62c2e6c1f500adf3c6c69bc6561ab60b8cf33f6e870f9a59929e4febfc50c173c393d2186e00191b74e79a01060b26aa80e51e84666b0e66bc5137cd938aee7fc370eb21637ea155215dd25318c7f366a34ddcab7c4ee91d216682a3bea48d5cdb4810d7f807cf531eda549812c6f4e47acc740f45d92bef02cc4057c6f1c3edf5cc5ddd8051abaccaa9f36290f02cb56238044bcbbeadd323042f2c91104e1f56c38fdfe43d268c1e0e61f18936edc429200816e25affd595f1f9f6d0b852d173a0afddf66f982a175eea5623d9a3569280d3a4794a04da9c90570026307b4d7d2c46407a835e678139d87be4a9e71d550d86f4759337943b6b8302fbc55fa8201397d6b326ec6fc9f32de25c8d53ecf19947fd839794e1ab0610a64752bf59ed087ba3c9d1ecd74c3c8caae9b9e453ecffdfd4096ece5072a60dd9452390f192997245bf9bcdd746cb0c4879dc97443b5d75514a986aaf22171977f402418ece2016b7815d7a87e63587d79ab584a1bd0577484e800cc75c01e3165c2b847a3dd87c4b573110365125d76f94a55f35adb9c5dda9a795adb52a931b69a1bd00778ed3849be63747c4a12ad6491c735cf6e6b3269d6a1150b2f3619a781313432da16f627ed4b8e0877ac34a5df7d319e5d47a22b6a679c8e22f54e374905c40e2ef84ab9186b15da311e3a7369e9a4293860c5eda4c3838721872a60e35a840cebc0af121e3eb534d4e82760ee93f2e245ff9f8a4e6f977c33c6c9b0e1ca7cead5d23f64567894eca069433b8ee99e76c3a63a161657cf001bb7de9193f54c469d4456d086d53cad9aec36f986b5c3f39f2a3e65a567157471af60aa9ba24873cd42b9ae247a3daea98fc3abf7cd18c57fcf26ce6a8546778f53d17d57be89c54416e84274d95b12607955b4cd1f96afd7740eb00f7cf5968fe14239b25465b0e6a6b7b4e9c1756388d95af4d6283793fbab1ff3d0aed466e4dca449a0ee8178abcee69e5f5af744eb83e6e95634be034e30d6aee582fc0198f3947cb796db036a2298ff3aec869ccc1bf691c9d435c2633b15414032e741b225dc15f3e85b46819c01d80c675538c120f9387690b5820a859ef26e56dbfa12c518d146ee73dc98ebae6d878e3da5081df5368fdfab20116e51f1ed772df83b6eef4fca68c3ab27f5d476de850045c5037c61ab95473fe7e6ea737c88e3b145e4bd468bcc48129f3a6400d9ec2d85fd71217a61a4a12afc4885ac64f392ec0863dacfaebf262037684cd9f0fa1a5758c5ea325447a07cbd6a720e82d0548f403d0b9765cb13e361ecf359413beefebe159c23aac04f5f4f6d52154155bac64b587507d6848674b1ec7a228e8652709b435acd0310cbb1b1ec5bc8675e3c2c2cc2b22fa8e5f69497bd3a6b216d5d77e922b2aad31bb28957e16b44c1c7865796b7971697ff9c9aca0f681e4244051b355246a086030f68fa153c1dfe99f42437315988a51d95d66229eef9edd085135d1999a979ad66f095eae1de061a9eaa76e4286df03ee9159756c76b60276b56eb0b691d1639ad18a1dfdbf22dabeace636b2464d613ea41852e521a9a470ebb2f5eeec7fd1e20594e3d8da179eca9a9339b521fcb5f89c468b0ffe62e4ce650a8fcfdea8263ddd148b1f7eebd758d0e58ab86c235fa4b4b7fca8fdb62f694a99f03cb7282443c562d93fffc3769424d238df80b6f9380d5ceca6c3dc8330bd34b2785570660ad168d02285d9ed180d41cd8730e3ea50a3da8dff020c66e890600f8da2007f6f30aa448b1a7e07bdc3a01ad404a7a9b975f035d91374e8fcd8957cba355b9265d8db65a85cd83a7bcdd7c31cf926d4dcd43a4db51a6ced261c30d266abd379e64c47b7e540cd35cb5ea50ac8d80667e424c8407bce84b539cfd3f547f5b2224929578417f34bf143c26310ac5ed3e8a894a98a34a96e3cbcb9235608706d5307f14dc2308479b1728291c35ba465d5ee933017e068f061d5eb8ba2a5911b0fc8077831e4ff1325097560057e8682e81d82bc24834a7e149e604b3f1dc377cccf6f946cb28d0f25f1b8c8dd7d41ced8d22ab4615e5a5b15e222ea474a039cee5659b4cd8b9d133a2c3d3b396062eaf4234c02d0bd8d12c46b5a4fb7a36363672f86db6e42e025c73aabc306715446cdc92fda040086dc7db2c96a73ef1bab94ed393b7dbd895ae41e5cc599fa30ce63e9b3f961448016875cf3f48ec647edc4fc1b181263dbc03dd5c3cc6bf8d40c325cdff36a505c635533b0cef13140b228fb8641eed4c2ca23519a31967b904b278d044ed7180e5008248399b4bff727fed96263f7b72aa31e9ddf8642564c84ca94ecafece55115ddc9d52f12c1a4e53d237f54c33f3d696bf649aaa02a63afed98dd1480ecdfad0f794d173c778deab97472c102ab88e4eb2ac2860258f10e84d0dc98888b34adcb386778af96d4854eeded515f790f4f74701bc13b54e4d3066e1e22fc8696cbb4d6d1244bc7c69729ab4fadefdb486c1b99f0671a38f01245dccebc80387331cdf58c536f9579be8b3a65a5747ecaf98d81fd18b902e4428ffa35c188165f9340e1a5d25356aefe5752fb173c5a42470371614f94daecd780f452749ba6e6d457580cfdac128e3ab3cc52a4aed2e59b42f8c6fd344d890c7b46b83eb8644834a7019cad172dc05b3819cb39815f023de4a7a3acd3735fa78d1a30bdf5f7c414b47876afa7ee0b650d4bd7b991cbba2f4981b52d9f89f4a5aff4f63e32ec9b198c246de9a5b016a40b7efba8ef9701b4dc0e3d7369cccbc3455d4dff4d2e7ea0d7bb9abca5c89f44bc1b9e8a215aae49d6e2ff2cac9600cd0c79fafb5beb8f11bfbf29bd5307a021f602573b5b73bbef008f061c8e45d4e1333e86fba3aa82b03f259092b0b69950e06e5f925ad2ac65e0e6cefa77d69d87f39f447c3f940f15fdb3f055ce7cc73354afaa4fd79e46fca1d93d2d98a8b91a47735d4095eb0c4afa8952db1269a7b2eef92d44062eb8cdff3a7143a510b827108d25bd818dcb0b839826a056e262c43d6c42b77548a0de3dca2d9ffa1e4d669c2a33d0f151ab027eb39f100f73b92138ad692c1b1510fc922ffb1358095a93d3ca57fd80c7d329fa45bdce55b5c5cb60f13260bdb0b5568a864b4025b42baf3e349dbfd1c06eaf43c93b03d00dab52dd1edd3789f714a80aecb6e2ac6810ae7c3cb8a8339f2d053a63161d2189ce0b2993af18b1d52a910b6d8b8fe33d79c29a8a799176ff704a835694b0433c64ebb1c5ebcce4b2d22df9bc11748decc87a0027754c9fcc414e6430c75db4de6db4bd1971ff84b074a5f9fcf2f63256aea16610adcc8fe874d5b75e8458700095bed7b49574000662ab7de97c87f5339489023137389a788d855429fc4ab70c5130d094e4f739ca0d275ae385f7723a7b0eea77c96674f39dbd2349516709acf6921bcacb41a20e9dc81273bb282b11f8062eaa3a91cdad0c7772768a760b644478eae6c20c9a4bad0cd234c596ad885bcd9585c51207e339c042349c1355c0930e139d187615e7367ed451fb8b506e9727e55901bbe1ec5feddcbe5a0a19714ce8683c5803a215d41048b96101bf71ce6af2889c262c91e58abc24a652e575152e28833a2ef1b9ddd431c97224dd36522e3727b01c63129e9fc895e0b9c3c536300f13634a31490ab4d6d9d5d6cb307e9de7d8477def545fd8e1bcfefb2934217373a5e11cf5004355fcbbd7f13e6164f44dbd249b849b48a4fc4fe88fac0d610a174b4d5d3af5c1c511b99434d057c2d679522687e9e8c76bcc472436ab73d511a635644ada5b9d51c863b61bc5c37d1b4e6231ed26320e42d9deab480c5255364e2f262386a208479b201a1bc727020f4e0dd6fa85c8c4a0e13547b1c272ffa916b832cdfe8ec4f8620b74bbf6ac7aec2515d98d8cef9d1c9c01323312c00e83e7de5bd92e7f752c240b67314693ab79493793b1b69f71d2733914d996654afe1a029b5a178b5b24d01795bbd11a665263627aaacb3379f93da159064ccffe3c9f52a7e3daaae3a13218113c3857317e890a592ee20498fc49e5e5e7569bca57a95077b0ac9723e661b26a83149c01e2d6d645fec4b6458c0356f60e98adcc567970b4d14f5ae3a2e55a56f04df0a84b1513b94ce2fdfe8df08578ddd3b1b35890b8044c068969e6c9c919a16f516d79235717b3ab19941e1fc615d38abe1cbe34c7a6da13c3660fce4b6e90b1bf90ee68cc57c421523f4fce42c1e34c81098440b723304863cba7cf91615e6585f6087cbf47ef24b67d0c587de3f3a6415e183287935b34b703eb9e9f0ba8d951bdd5856e793b4976847312f3b34328a42a3820ebe123adbc5a7538629cbdd54cd9153322434ad833e872208163417405176b41fa56338742ec366a1aa2bbaae98e49bd95b161f00dec1baae3cea0fd8fbb7828c3dfd11ee4e101051ae9e8d32e33b2b5310c8f6ad7a6d0e453be65a1ef3e805dcb5f4e80a9fecbd4ab1b77c20754ec83f712e05feccc1ef551ef2abccbb410dfe26b6a395bfd917e42f92d1d95f7f64661a9b0e8464284c6d8beb5c0061fa94f335166b6f262d753585b56d48704ed954af3a075d9494e3d59a96193391df0008a34d6a6e921d8e21ec17d83ab03d379fcb061f92d79c126f2612883937b2eebc663dba419308246f73a030228357b8ac81ee5b72ee43eed65df80ff1b96e554e62a142e94d4b07dc43f2d4c9bd579382e4236f6647e72a134447530210a8c4eb95ca030b8e2c2ba32576c371e4e2d832e89a5fc26d2621e480ccc566546eab3d388c6046077d4dd6de6ad246d1c92032ea1b5ed34fc7c8da310eb3cfa9134288dc1d96793d19d143346b4d0270c776e67ae0acefdeb5eeeaa18ef30be7f89d8678a9bff1be3f76d776d916cafc74047308b54afeb526d11e90e862c40384d7b6dc137c2b2f848d5229ea010ad9ad6961d719f708697169c7c04557e0f68e18ba160d6a48514707d27b3577f7b7a1434a4f4baa850652ce861fe7d0c10ce230cd1f3bfead1e88fadaf59bc7bf295741c9d52d2e1d8b5aa53a776213739543b475076cfb96433017c0fbe7be6ff825b6e4334481f42752735a988753ccf137e0461f715038685c5241593f6e76d68f57c9681cd34e2ff06b615b874ad09a7542e5b641cba859d43830f6294df9537c1c87916247daffdafc23c71fe350d22c62b28126eefb9da0239123f333f6ae3f86c1250baf1bc07fdad54e3a4887f18546330e5f0574ab72fe17f2cc0c9da77c068af3d59022895286cffb1f50170096fe089041ee12494fd8fb590c65e1d1a28f7b4dae261eb38c833ae695cba049dafcee80d41ed545e22efa7e843ee26f15ea5b062b8dfd96c7fb57c5f857bcb29130f157eac8ff044286d5bf048ad6315f0100ddcf722ddc87e4737cc10454337956f603e7102b9e45c88913e4d1a7f695c339c90d3d1fb13ad51bba6951fa0af19647bf5542cf1bb2e25bebdfc8a06e8f2c00ba99ba42980b3bfcbd375785daa0b0e615e33d0374fe334d20763bb1e42682f506220623b9b85c573995daa9b7c5620984354849cb192ea6f409df07d21e3b31d24176c71655ccc46f211080cb94e7f01cedac3eaacfe65b1364646026cdc69cd783ee26afabe594c5b6ae4ebfe2e65a14be8e3a4033bed4c0493148d40a4127e2d68cb459102865ff64cab0d9bfbb24bcbee635b1c095e0dddadf187e5379587b2f0f4d5d61f6d50f553c29de07dbca59eaf6fba3cb41d200e285e8ae209519ac334fc176ca382e498e0308d129e888ff50e834bd1bea34fdcc8419ba0978e1266a1bc9a421398219eb15e0c5fe18816b57ed136c29f5d089facf9a82222dc50057c010c11793ea73692c8038b6d05107bb3969b2ac7a8cd6e8935cf75da7edb080fc6dd9b844ceb8af013fc0747801af8510239d5e2e9287b2ccc07e772ebed5b6f9f1932397a3c63bdabb5d29268281e3e21519ce04cb4f498dca08dfd6fe876d2b2c4a8066ae8ddfcbfe1d8f9d766d860785fecc9fe46f5f83836409173fa1675b1a768e8edd4f7386726b32311cde3d2edad60189787e6ea2c79411ac711c18bf74fb97dd1fecb3cf6f07d95369bf257eefdb33a2d826c7c5b293da28abb04965dbe55ec7e6ff9c205c80138e808b3b75cd98eb0ec9b49dee65e1057f4ef9a403d8703f51900bb336962b399a0abeaa9268c52cc248e8c5e91620902d11926f6b1bd9905c9375976642a8852af3950c81a933a64adf14cc701c64a96772f10f45c6e128babaec6e1306fa0c2d70850525f6476cbe5fa11172c81cce5fa474f787cbcd4e1119297ee09459ccaf95158717584dd0000000000000000000000000000000000000000000000000000060b141b22262b31","message_root":"0x5f2e8d7e5ab4d7fb53022972242248af1bce67013127889a219e58c067b66767","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x8a1b2dfc42b347458adcbcecb162b39514ba5168bc72a7d00816ecb22a52189d70802654a3dd90beb82c8fe64849af245bf4bd53575f66fe00a7ad699f9085fda3fb72063f726cbe1ff13e9c57c3b8e304afe0990193354831683ab6886c5b63f1e0832803d7d9e4d238fedba252ff7f0b427f72723dc8fe879a0aba1d70ea5320cf26192c7e43679e859a4f7fb976255ff965b0bb4b3fec3759a608e01f1afe2f3bce8c2401eba05dcbdde558c3a514dc3b56ca5fd28430f8b95f0360dcbaafacd14af6d8d8f40aa68780dfe77ebd45b776618a13f67046d4ef05ff7dede1a789c271228248d695da2a7dde3190f46fafd25065d2165cf40a7868e92f0e611e5eba3c7f901b278cbd8078db6c1c6bda55a1c4c824bbb1cf7717661668601b4f751fc756b7f3fe9d508df480f77cc589151c75d121f21490e7e572d1775885427ba41f49359eaaf097c7da05bd573ecfd28b957061a38f5be8781a1ad3ed776ff4fe488ab61f8cbad99a7887e92778c5715ad37fc88084ae9a3f283e4a16c1ee7c04ff44933273701afe78e62011dd82b3859d2e68c2e803fb040aabed19509d7b07c4ea1480598757820d0bd0e8e11b6f6b18f35dfcbeae91da13934e7edd7b57ca92089cff95ce47bdb941e366226ab30a6da74adc28f60f23ae989c44e58692c7597607e8d5aa3ed3ee9979cee1622b94596e44ed926e52f5268b662d27d6e3aa46dad76eb2f5e01a0d41227c9280a07f81e65f0718a8bc8839c4e0647c2763974a1d03d78abeebb52b7585e9bd58e5628280a7f60806eaf42099890d56c9207740868d810fcf9f663f41ffd31c1d8c247b7544e516c27f6c709602db487d2cd78039f538eddad7b1615bb0f7bbc5a92daad7d816d52d8e89938e336eb40ab2542ce5fbec6e5c08f3005eca03f89d049507b8040586ecc824d7b78b78b03224eae02bec5450c0262f736a691e28eac7ebd7617af2354747678f01ed878d9e0a3ba5a87eafb41d69e7220fb86a032784ecdc41c47258ef356bd505a37b61a9aa1eb25102fda0c0e0d405f0546c5eb28982e95b2d5b077057a8ee616f311e72ddc061bf47bd2c10935f189daaf81e84e5f993dbaedb9ee99976a8dc9d94737f3cbf8caba5af45eabdbf1eeb6c141461fe903544e2da560b733bf3ee252d4230c3b9cb04625a636dee4da09a36d1121a9191a5aa09eb9fe6744b46d224e5920374537a91dc2782833836784bef175bc6f1dc1b61145079cd0da7e9bbfa3d9abb6bff9661e7ba81e45f94048d9a3aeb0071f29c37d30bc137f6667186ac3029c02d83ee0bff8ec57e9d533af59a0fe0569802927d1e40ddb6e572b0ba4a2b9817cd47af740af392395ff6b33997159774ff81cae2c350feaf0373825d3836881d24f2935b26ecaec72a3c17ec27bdf42cb7ddf414cd29c86c307a27aede28ab1c473484a2456c670bb3fc72bbf7fa216d7329a8090ff4917f02d0e715cf6fde7cdeea69a9c6b71d0eb2efdd5afedc3bb8896cb4ebe488986a13f8f037c68255d7745de9cb5e5963eeb49f6f999018de0e15e48e4f4ea808d849081be8fdd1a547b4737cea42bb73d6b069f62eaedfb6e0afac9d3396b58374bcc65f64831f8a8475c1174fba4bf2c066c89c223b383c5381f112a44dd2cb7500eb133382f35e9e7f58a7e19f8227cbc280c4478119bea98cfd47010800f3ec46a0475673976327f4fc0d18711f2be532ead0be6594d0846b303b3af6342d752f940986f69b8866d2a442650aa9bc9165c5d2370ebce2d322042a3cc69bd0d044516d874dbf221c76da818d4b08171fd1a3f1cf3de3abb50bea0bedc2fc6a6cb684bfca3b75ab4b97f7da60e1e1c154d64efef297b7113e7796034d16d34e933f27cef00c781f2df73a946ba5c801d0ea1d764a4ded7545d92bf30b24c33922b10cf52bd46daaec083ead772e6b6992941aa118eaf13af80e5a20772bd0eb66173cf291ea70897148b4a4ff081f4f260be236220f124ddf51d98d3d65be6f173e5ace6a46d9fae5d9b915f1f65c9cad10cd1b32dd4fe74fff4b919a999be1a759d5d6707a5c905609777ff1949f3b21c78d0fce5f29189f00964b5b7a2ec3935ace8e6ecd8719277e13e1b043f89d2dda685bbb39ed2e34e463ff575edb8420567b0301df41cea613b93c3a38c6882017d918a6a247cd33dca6a97f606ef34c1d5a06149fa060d075a86e4aae96bdc46bc044ca4b159d23d6018c376fe780f0739506f010ac38ce473bbc61f4badee43969dcb4c42f49f16e835a95ebb592dd3380ea3e0b058240219106fff2f32e43ed280636b7e3a3a278088a7487bf6f52e4783033ff95d0128ab3411e1495ba115941446df6742146cd7542b28c2813f36bc6600a944ca7f763a6c54c68f948d54e2a979a066d4360347ff773452eaaef57a167c29ac7da39119c937a7ff69bfdec029a38de96699bb6498908e8e5192da628b2c9a1ccd0d8983504d923c40609e9d3d0f74aa331dee82f4fe7ac8cc37a6afc38fe0df8c442317f0c7ffc3bda9e6775ad88d5944b95659399ad5e6ad4db8254c700477efaf661b1b8ee5af14896134b60998ebc1e8d2e9edfe700b415f832c9cfb6da3bbd4639824c3de17b65f88d9d660e965f9d6f466157a9c031c7b388fb49f52fa75a6874e635d70e32b417749b6f9e0f2bbebe3b38b16472c7466d0ad5a017f4ebe3d73e33423888a3961ae90f64ee0bfaa60cbf529b4d30bbfe987cb7f08faf26a3e734bb5930dc37f11f7d81ab79687f8cf68535df29d7e54900055c1b91141a271525d581fff6d4abdf329cf481dcc8f880ba3993c913b5e9c33516219c975d284d45669f855a7af17ad47628ca5aa183b424471dc2ddafc88ab28b7ee7b4dabb0f77df51fecfc69f92982278f5982a581fd58d2b36d38f88c6e76d93d2d72926a6a9982e5ba55bc39144b83f1d8ef3c893f666c49a5d09a89b98ee3a7dacf6b0f7c775a345e2f7649c8b33a07854ec1d9c5d5d3f1ec7f91397163d773abc49554836508f4b8f4a7e61b2711652632ef72c5d1a122d3afe88b884e2836a1ac419a0656b62d6358f0824aac1120aea829f11133b9298d9cd42c09fe8d18ca8c4127c3057832ab849088aa40814767f584993de0db8c2616cbdf56faa9c1a74bedc0689816d23bc17056a9f57a1e8206107fde206a197e091c88e1aae6814a5e668154c0d184f4dd404af657389c48ac7af437d8c2fca1d8a9397e8f79f88a910971ee150c7388a56540d716f6eaa41e4293ec40b9b54facfc41786361e9168bc1601bffff2318330e06cc442e52a2585f5f5f36e78410064042c789b6991661aeda4e43794990209eb195cafa63f5ec8bd2437cdc9d48d0994e8bf48941c54cb4eeb7982febad6726b542e29ad04373d4c55496b5adb5b0e6702ab7319a38d83eca8261e88808184c5706eec27b620624dbbaaa46668ec9829f051b943e828afcee9221f1999133b030e4ea36776eae59b6ead264cf5271ad2f622d72eba4af704742cde0455f8ad521bd63348e29aac6eff6df095e912adacb80ccc317c75273af7644d999a3ffd499929ad64cbd5bfbf5ed045ba90dec5cfdf14a3d2888f518d7a1f604de8e2824d3f0cf11d2a591361de789068e30c630d9bd2426176e6d24041","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0xd0d1032a32be49b06728f8051fa194d715dfeaa164a1fae6d5cd9b99c2d5750e","signature":"0xa26cf87c0badb613895389e87c540b75d1cbbd0192f3147d2718310e355a884e063b8d9aa4f717e84170ac3f2ccfce86cd6f6fbbb5ab6c8ba9d14f7b9f4b10cf9e09c1ab0a34abd3dfafa8bb8083f5df7266967093f42cddf119a7480c29ea6f828b04d384b5bc64f587c6f794f12e9239e44b70e26137f65530aaeec359ac2fe98ab4926c48e8d0b2caf12236fd8dc7315883510799c9180e2880f88f05cfbbbd4dc7e5edf543a08b6a615a9806daebd82eeba2c1bffd3dc640309edd38704095f4a612e7318b9c8552f75c0de737f4fc5c6e0184ef77874642a3f4a42a7fc1af1ca69b08deab78b8665f9a38dcd5bb13495444ee8ec45cd873c43667e66878939516483ee5a50d089b6323c596dfc850701c4fd84b5b535049b05434980cc81cdb279eb520c9480368d2b400ac1d8b7613041deb640811419af31df87a645eda13da31867bef91433104dd091a92d435f4743b3b47b63593dc878b1d206e206f53182c4f81ac59656988ff514961d28640b149bba0897c5103eb57f2ed5db4fd0b1239addbdd53fe9cb6ff569f6784e499a5f18b060c8c7dd3e51d55caa885a4789dee71f0830b1315e8733ae1ff57376199ca03cc7e2c009232b993d3f9ce1800c8f5c139d44ce153f7f9289068a894d99f7e1dc864622bd670808ad8537b6381d515d59798f6e37bcb907b32751ade29f995175052248ac8fb0ddee50db5498f77a21ea2ebac57856812ebd35896a682267c71e48eae47d57d484a474a1f89a68c3104d05b704166faaf5f5a70821544121a2500ff7b04c51839276029f3667e8d710d3506afb9f4fe21a939c75685c564eb3302902464d301a7eefc7871171210bbe2b79038ee781e42c695bfb24b9364cde4c9247f9c03771e8264c72cd0275a963ff5857878adfd50364a34de0a38379b52b025517f58e6d5bdbe6d0818577e0c3f5dffa25613b29b52dd26d0710d9ff271668c619a34c9e1829c0963c1afb8c6e9a6b267b24b7f49c593717078725192c58f17efa62dd3a3c02b530d32ce4672c5326a9bff6aaa60dffcb136e21f255a1c990b49f156baf2c97796dbdea5a834276b62105a446ac1fb6e5baa134ff74ab3d2d631744387b9fe154295ea1e537d06717bd6a69ee9a63cc9df26f0add99408d5ad863ca4d0b9b6a77bea2ee2f10df0e8388be2ce966bb43d8ccf673352dc9d83c112ba713afe102a76b7fb946d2b0e98a36758449e8b9df193e62f13dfad714ee61507358d55e5ec1b45186f6e6a8e7f7758b0eed705d3e7def84c616a78c2a48cffafad2d06b7d20cd81b1f66e72eb56d592665575b589f376f788139cfb2ef861575d27fbc343e6ffa4d52e7e12b2aa9a9a62940c296aec0409cabaf2a22fe78cb17eda7974ebbed72964a4cfac576ec14aeea9175291c1e15eefa3fb1ba67274e5af73e84892e0039e1d59d9b27ccc12f03423033ae6c0f3b32e1af97cd018bba84abf50794fd21c54ce3335b1c9a43c1000c8c9d71e02aec8cf3af7f74ea4d4f5537bb34510b3692a1e0da087fcd89e1b4164c348805e315887ad3fa911534c7c8b6acd385f3744dfbdf8f49e6f3378ff99f1b2148a842cc08adc65aeec163123be245877383015db3ffc0200a51118d355197c3a998956d7d4b0dd48165bc12ad685f44d22dee039b8e6738539c206c87fcc039a273e66c466ead79e4a629d6869133d06c063cfb62a92bdf708576fe991fa6dce50ce6f79d3cd615888659a264fa1b8a614796798b04674c7a615bba844c35775ee78116b4dff81669661abc2d8c26f9e4624c51822f10ac54c5cf55a4b659643e533242baaad77d3f209e589d47f9039fda73278e6be851eff7ee5d8e1578c769f0f775e3a3bc69d1b6c168772f635828886b63c50fd908d6e0cc88b94c44643c1eb13d051f33a766564125635e03567e33ff03492523e6e2b76a3e6f5ce9e63adc9ab2253e46aaaa95aaef0f939aa361a049e7354fd79ff13fe4de038cc62a906994bfe511ef9e1efdda70c67f26836b08c6c24c05717d472c196fd18c9652b468b860b68f0873b73337c1187f8151c7621d9e7b7d50fc54c630f9d88a2c147deac277e906c72a4441e66ed69f88c8985ff8da9f3392921a36f11fb6ae82671322ba292679d35135ef02c0110d30df795f54ef1d2fedc63c831516728b5975d704183d0d45555204880174804bc0f8345c399a6e2e14009ca74dca621a58647e79908c526a1b2f6ea5409d2f8c141d7152504393d9870386d826d8fc3052b7b5121bd9691ea4e6740e3e521d60d68eb76c3cb2dea04423201a284217e019028f7d5b1e9fc49e8eabdff3ce55bbbea791e72f303c7a1f218793a3225b917e8b4fcd9ed26ddba52023026e86be9c15910c6e792310018fa05d6c68b145d3987d2d0ed334e4171a49674054208ad287d712c21b3249a9e6021b63d9303cd5c369ecf5350bb899e29a5fe7de71429e80a787a2d7fa4fb8826c318c3ccc134b013cebc26bcf9c86526bd62291b731ed69fe11eec9a2a43f58483fefdcc13bd89060327e829f7ea42ef90a01117c1045c95b62cfaa6df742c0ae16d3d3269374f5eb823d0d13a61a2b1f0ceff0f9cd0baabbae7e766ccfb6eb45f9e3f80447d566ff2b9d97f6b2ac5b27ece634010e170869513adf7de9c73cc263c492e4a4678d2cd56b686e15b1a9695b8201c26df1263f2c64816afec6a860c6564bfe1c883b709785035997de96a569197f7d1d1674138f135c9af11e80783dd27567257028f5db1407374adecdc133240277cbfdaaaca623c3ecb04d59651f9a7f9a21e5bff14a746443d1647105929ef9fc3168e140e8f9b922b96ea04d84140af123d75dcb381ed12d49a667fa60d826277bd3137830ce8a1157ed117dc5f7e9bcbc5626701ef76847672ffb7e6654059463f6291b8ba97d7169b88b44a5a4ef2200b9eb9d724023bef30921fcd22ef4eee6a39db34bf288692275ae3b6803c84a300d14a51dd9d8542d3e3add50a320e3f0be9baa959a8db71b0064e34c47f7c5bc38a348d4dc0daa335586fa0ac905cc07fd3a7514ee5ce8f1ef06a6e71c56f0ddf568ee46f8dd8ebaad6ad16197ed41ae17062cd553eecbbab44b66e866997eeb37a1da3a8f28d51b66bef3b906f38ed5270987fe4c46b66659034f837755a89d9d9cb39e920261b423a22b6bc3fc674a186b8fc9bda4eb22564ddf6c11ec82a8732df50050ef3c2591287f80efdf96f490730ca4d706ba55dc7741d99268dee2ca890ae1ac7d6e6f2756307899d37c66fefd8119494daa33bc79b3203d15baf9ae131db1553c1dcd5d03f11805788835ce1099aad6c98332b53413adae077ff8969a12b461a73afa8d687f099a570214112fff7de7c4f0db4795231728f2b473fcf2e3a902ca9d2814fced527442dcf1754f90ea21cef7c1983f17ee7fca2019689c05bbcab16d569e53c86208e6eba0a3f57204334e0b573e7ff9a6ff72b4ee7d6539825e67961c4b8b23bfd5ac019a6d9a7703c8ef2627c115acebb335613045836c1986724ebec0befa60630f78d352fe07bd1b70fa6e8ac90c6a187093fde9e32ce5f0122e6a18aadc1060584d6404351363741f5cc237a70b47df09379f6fb4ca0315ebb827d9f32bbb31aef3e1dc4a233b0eeb0d48819990e93647580092a809470e7008befc4bb88bfa2c49fabbcb2f06a79172dac5abcebb29f1e3995c41e5c1fd3232cf1c707de0d25b6b931aebd2886dc245c5d97e1e7ce14e4e70586980c595f29172a537a0952fe6a8f391975719e0141d05769f97346171e8796e004e48049585eae83bb93390d2085fc31e2b8563e852324227117901b5f730722834c1f92f0103fba0058977517250be3211beb7db798cbb385969d24e18bf5f64584988ba6e45ab3c5a807dc37d6d7a6507f28fde4868f2b757981cefe5ae36a312bad122daec06ddb32be5612e0bdaba27f73ac8d25467160da94544c90a7644d5a4f9b5dd49c0ca2705e0952b4ce4914e7c2d1f00032ed33abd0b9c56c3e61f0c14cdf76ed8561df9e25d273c3eb162cc19fb282bd190d9d397be24aecfc19e571e02c8062cb395e47439a674ab94d7b58da2e334cf970a93b8d92c3062102dfbc6ed1c10e6c9461559ed80e1e81ab4ca5411f43e38fa1476ff1b83346f3b71d14ce7a3ccf5c86bb829c3a68a8e882f625b80ee8ba1764f7146785759b3b8937c41108cc02353a94d68e45d8c25ad43519b22b48bf6cb35cbc70a912f12e7ebe10db2ec9a3cacbfcdfcd809929b91799601b4ea0c0cdef2ffe2305322260e9ac000770267e3b5f4e3e2345de307d14ebca5881e7e9e32c996043880c393aa54cf2903ca9ab9b92cd2b0d1db3de17e783a695b754cefdfbc91100a03e01e2013e395a8ea9a5562557788a79a1fa51acfc7f2a44207560e36d6ef4fd4bc4f71f732e635b3abf03d8d6d74702407b05c83c5c97fbef075f0d7445be5013d86ad9d608e9a3811da31d55cbaa1200d9e4948016ebaa972c32b9937cf84d197b1e84e4820f9abe6afba1ad482151f94dfd6cbd8e01687d48aee29aba6ff7bee8d4bbc8adb7c88cb28d3596f864706a3a1a082ba2ff1ca495dd461396779820b1445e7225c7c623c3c2615de7740df4a58eda6429d38acfecc782a6b5143e5a81d513093ca1a59e1a7118cfd54d6d97d2fa40340a661f083f5cb8b4841d418d7eccb61ce72291b36f331f44187134b40d759cd12485e543a70d35d92f4cc94f8beb9bf7dd34c7daeb0de51a45b3f0d28ece4d0873c8cff7e9de6e3d517ccc219c9dea47aa6b2371bdb12451c7bcf4498257bb264e360dc732e2611614cf8c00b513220ee52b34100290ec8767cd8bd99d28d7adaa5d6a461bd87e9a30788b571f05c6d85e0b99fe98739365318cafba473b11f7c492484a8e2e1610d72ace48450f1c97f651bc0ba40d64bf4c66b9a0837bd9af1e430844d6f9f74320cd96163fbd4235074763179c93509c8930b9228c48a33b18423e6ddff4146aa25a1b3f6de87e961a1da1abd9be31634a41892bc0ab5ae42fda3bc30288505753ac7324c6d06b3929dc54a70f62d68a34594bd7886b7e7054ea93ffda9012ae98a30667a601cdae928a35319ca5b7f771b481743460167a0041220f6a8cbfc2394dce3a882ff0171ef3daae2992fd59ee47112c04c40da8fafcf371f7ecfb571b4e32f28db3bd92d67786455deb18dee00332309baa32c9f84612cf7852a22fe84fe7dd747912c07e65096fbb1138c514d416d623a14844fb6dfbdef63a11f43a3a67c1ffa7656f2c7b057153a8a948fb23dc02a0fc1f0a91b0c7c84a85d495036ab18d8974e43ae3f3e188e8557571d80dde97aa1a89db0d5d10460fefafb06f34d75e95dc6afc2461fc29584755e37eb5541219b14b22bf72893f524141482e98045b3de5e6eb8c105e4fb92e49d90ecc52ef576dde397c6d793dfad6f287d5e203b8d7a46284a352066b5210d660a6df5d4251b7854f8e1c2949bd41b2d49dcaaa00169451f9e5e80776c65868d84707a5b70b30d5a2dd921ab1bf5ba3e493c99d1c25fe59839765fe039c659e57a92a96007679087c1f3fc8cb5330a022306481dc0a3bbb20c6ba3f30e2e9f737a4160d65cb050a7e75ba1ccf48260096d699083966b2351690ef280d6676c9282630cfb3010671d0b1ef4d7cbc10cbb8bc86cbf3b51af16b60cc587c294e3f84ead8e490a216ab640b2cf40b3384c310d141b2918c0e0e465629524a1fc416d6b8c8ed81f7c3c6b753e591732ba6cbe5fab90dd562798e730984319a0f47b89b55953218c35c42be4c86139f8360e0fb7994c751cfd44589c5e1c90da4656d7104a864309507e78a36d86c3bfc073f63d13ffd38f27f3c6d5006fa61e6652644c5011a426769660ae7f62268bb1838337ea35e1ea791ccc406cab6e91fdbf313f5fb110d423a5652b9cbc83d848c6a590a353657bef6253b3425f3b1aa2b793ba8ec8acebd8c6e6f4de2ada57f3e083d81ad4eca3f85aa50fc638ead6195e35b64ebfc188f30c6604aa687080474be35d0d8eaef0da3bc4eb330f22dac62fb514533b4f1761655770e7e90979bf6cfbc3e060dd540fe80ab48684d306e6109e6a94af5be75d356c5f450ea3e9bf0ae119a511405c7a61d1b814ef355cd955dc5d91d08b1beaebf9a4789b18770117df51b09746132390241277ea27bb8ac901c98df4a747cabca6b663ac9e4453c229f59ba7aee65753bc49acdcf5afa5d81d309e8597556e9c6edb73bf1b172f24cac0097dc3730b9aa9f1e1c68f56d9efd40e521c8d5f227d5adf9ef38657970c95c7d5a52e2bfae62b0a9bc51079a0b991bf37d6f1edfb41625ee6d5ed98d68ad8ebcdd001fea3652a42c1f7c7714b9ad2efa632ecf1817bf08cf95a11b7132f5b8896aeb4e0416513bdf71116414a7f9bb4bae8090a1c2b3b4774a8f06570758593a7acdcef0c1324566e839fa8bbc611242a4062b0e9f30000000000000000000000000000000000080a0d161f28323a","message_root":"0x6780e81b8f8e56e51a04c52c0080ca7b146bbe051758b7a1b594309f48b5a2b9","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""},{"pubkey":"0x5e00602af3781d835eec7030f570a733a0fb8b29835732f794eaff1b0aafb998be74aafa9ffa303b125f1f39b025e3bc09f035dc710a8b1299768a5a4331e738f779c4ffd4f71a0cd5c4d0d00eaee21633b5b8da0b4a6b58ca641293ac05657805aeb546bc9bf58cadca172a12da92b38b4f11ce66bc28a70627ebb836350db177717a290486d685c723d99d5d30069db6e87f3533ad56741e88c78a0916014d0edf8775ad210bfe7b74dd359f38213a7609c709d019c558c090c475f018acefe56934e8816d71c7eb66bc4d45dc284631d3fc2489def12e78f22041f953c7e046825cd518aa929e451094d8371cc7531bb63eacff6662559b96b631797c96bc09b7da3e55922d4c77544f5ea9d553d89b2549e25fd4884d3a32641481bb19bc0eac601e15a77688114446cf09a6a9c3b0a41bd7bde136a2329488ef452789e40ea78f849dde6d5f4d5a19359951e368ca1c27d84d1f4cebcf88fec013a5f33dff2aac49957e6095868c6ea6111312854900c47c90dd449c292abc0b292e05a3791883490bb8142f8b7097b403683a0e8b8e319c303b4ec77ca79852f2c7dcbce8a89b2d68f4e38523b50176428c76764c4bcd29b846298216522a1509c5c6d1fcdf560b2c4fde83091c29fa0fe4ee445a7f7ac6e87668270b5311b21bfff8052985f2bf3e16dd8f4c01859ad9424c12a2d4d507f6414078f833efef3202d36135e826eca72afabbda9578e9b1751dc88b16ee7165b29d360625662245d84a50389252f70c762816af11004734999a48c51629850d1daf306fec8dfcc4efed76927b8798f6d74cc72064c3a81d3d3e64e10d7b0c3c3035df9de380e9c26a39b171a831a75ff2fee562c121ffe47d9be9f36c160db62f54f1fd522d0c8761d8b51d551be135e10b3894f1938edd4a2813f6c471cb092592c7a396308b50f851acfbd5e078284593a15feab2f73300534e5be66b9f0c93ce11f652a009c2d3873cf3174f9c2d72848898cfdde8558ae4d4826427a6d157e848a9676a8aae4f0a1bd2c2f2f7fd074a9d599b4214bd2fdcf628140d0c9e693239962e076ee3f87eafb3252c4480c42776ef7680bcd3762dd1d21266242ce6954224798ceea3f36c6fbefd46d7fc88854486f5f83f2e1ec8a0526600c6339ce7dd5aa03e5fa98d912c223360a93789461721ff8d762b1a50707fc914adfc6c8df7bb4e78c672a571990aca7a283b528a21d335fae144e91e0c5b8c7587fd3d8323ae1347c28ab911623f47237a79e7830d9e118365af4c7331a633b296f350100cf419ce7929d31bfe4bd3156cbfc3a37b350105c8dd106830a2b733be854ebf258169a59b8309840784d574dd9ba40e96941027e0b7ae90715f02cdad35b4aeebf030aabcc6e26b84f6cb4328b24b535dda86f4b6d92a0874f2226d7c44a41809109592d63c7a6f95f698bdd744a33919930efbcf9a9972f1a403c33a0654459c9290e44cca034496c7c13526d390af05d70d91b56745a2dbbda26350b2656c6103e8ba9083baf1fdc1156491d5f6e40d211a6bce3db916c06e118d85f0718a0f4512e539fa906ae445e8cdccfddc029987e59bc5529dc386dda5d70b085dbabf48382ba1ebf73b82f54612fa0fa7e112430d1a173c81d84ca99c14c67ffadc9e7b09fe5b2fd25b50dce11d450357ca405e80153c5b3a569024161de14cdda2f1466bda2f552c790be24a5f7e5682b8300771e47d3c749be5d14793a9836af55c325a74d2fc9e6fe6e6f6c8c08cb9aaa78fcdbfae2fd032986cbf86580f115ab2e4fbc5e38e4dd66a00580fa36fc8f9f900e5b2d3191750cabf4c43a396702a6c8a34133b5e344ef8d8f6a8bde87b4cd5605c26dfcfd503a34453a4a54ac6b01f28f4b9374478a7ff3ad9cad27d2348ff8e136bdc725f9bf6a4b12db13906ab9ccf4de1ea5ea2ec626fea12b2ba4c950455212b04bb90fae9390a03b2602c19989e0d43e884dcaf663d7139a7a4b5d30269cbd86c6c3d49e6ce2943d74103a3d7fdea7dabf6859ee7b69af9a159f520c763f32a1595736fefbe426a59b5ce059a9c61e7c428b874ab0db3ef8ece214f3a6650698a0542a7433f4d82b5f54fa0ac46529429842aaa287524f98e3a6a5452a2dff210394ac7522240315793013776a418e922f90985ef503a98a89c6000f55231e3c7af6e67c6c229298f2e6294e104d0e7ac54153493e8a9714e1cea982e6a3ff82da5fbfdb691092e620b312ac7dd1bbe3716d466a0f442918dcb23b7703e7dd3b888ab9d271b14601ce5f1fc9b7ba0e8c2cce10a1d5509b308de884e6e6ab935417af48d2ace87a4dd424c7aa55d5eaccc2ce87ebc6ebaa97d72de013433c890e5d45f35456ae11ebc306526e3e45242668ee3dd3ea4d023198365455733458f2c6b402ecca3765c7b2206715dc29bb188685c5102df5ddc4ee287e89fb6ef4f36c30ee2b57bc8303da88766bb87ab079f4d65b70b3cd1c650de3f0ffe0169c37232b3933bed6dd02e242d9cde4f58d35108dd2db04cfb3fe6353b498a8ca05c9d52ed6cb74b0f8ff506982674d8407284a019e5ea020bc60318e969de248accc29e19e4bf3ccfe398062c41b351f5c20d0007747665a8b060d95a941f5d223b9fe314bf73f70aca847ece5b81b0a2bcbb04aaeb2e25d98ef6c52096a0a796b34b601e475781eb88e860abdc796b3d97fff97f2f4375ececda9cc9fb7c18b3f0e5891e42e69c1e8f9920dded92e423199223f952b7d187b0122c218cb981458d7896bf3a30721f40ad7b67996af4641c8d1eabdab756d1b5fb8ecbb8937b9b301d0bde627d704397844f0f95f7a191c253c72ad1732ec68ee5bc7b8dc0ae1b19ccce0acfbba2f0f666ffc9fd22d176a99436a2048beb2e6fbb1ce1e80b41fca71ac7daf0277af70b92f8ad3c403136b68ed9e36696b1fd64568a14431923e3bfde5a2e930681af70c901bf8cead347b66448620beae7e9a4c994e6034aafc49354726d0ea29dd118cbb751c31dfd8c9c985068d9569689288c1bbf82234b57037f456628094eef28eddd8f69e648439acb7bff4e555e81fc3871ae286610e56783ec22558e83807edfddfd08a0569a8ecf62f85715e589abac2945febe4a73d9ded776ef450bf60d5fff1c5751e4d6308d08ea772ab3040db09590d6420df34c74966aba07e7274a7a12e3d586814d556f6cef9475420f7f99f133a366f041f59beb5b8de6acdba61225df771b89980eb59c406c6a1e5c7474aca2def2a98d336b7c33b473fd161da33e6950685d0a22a353b13fc608c216392a0348f0c191ba4dd43cdc26a0d165cb3ecadc1b30bfd522302e6f3b4c82b769af04eec1b855d52a22d9715144a77084a20b0ced1a070cad2b6afa1e5ea5f114075edf1b846c83e13f4f98129bc71f5b1328d2bb3ddcc0980b25696ee6728fce1eb65a5a594a63a662c1e8ba7de57207ae1bfead247a820628d80777cdd12b587923913246dbab463713c4388ef05e73df8c8464ddf9c5fc0fe61a9d4dab5fb149b8d444621816acac061f390d5d0fffbb3960865a70d4667228ce7bf8151f6089d1411936e9c6533a3b3125dc6be06f6dc0c419d5c844dc88f3ee2d7babf18dbf27c8825ad2214b79dc9f359ed1690005a3d0ab289b05a891b47716","amount":40000000000000,"withdrawal_credentials":"0x0000000000000000000000001234567891234567891234567891234567891234","deposit_data_root":"0x89957144ec42a8a3571ee6b488d76c1db7960d9fedee81bcd041112e33b8263e","signature":"0xd53053194fc2125059911b21f7c212bf887a522a50a67fc25a8f9eab82f93a3eb0161bfbb5b18295263e86e4b9323e05ac42a9665ad43055e0f58ab0612785b13abd22a20495445e3620d1b099ed7a14608217b8cfb573e1c5bf4f04ee1c9c3bd08460aa2d89de1541b164d7e1a6ef6ae3cfcde35b9534301f279c23b17981a66297db08d1260909407d325e58c4eac8d1d5c592be4a9e6de1fc6351534253112247c8c4cea86427fe27f100f5d404a9fc5f7fe99958347bbf2c966f78e188a118b75d03a6e20b7e2496456ae8a29ad0702b27f983d6c3bbf7eaa8274787c768f2b64ec58ccd4032267d492fd2cfc3c533df4bd435f39d4d6b126a001bb862da98bb653c6ab3c98bbed20a639888f67fecf5afef01ab86275a99f827abf4a0978a72b1d66b8382cdb31b053509b8d83825250593fa4c4db4f2b351aad8e79ba153c96399473822a2519736bb73349977862f979e105746b1f68a40aae965cc832526de6efbdb0349d48673a9b8bf34e8bbf17aed45514c2c2290b8608cb6678091746151281d8c99080fb7c0b0eeb2fad3646e6e03312d83dfd659508e7b9be869b5dae41d298263d13edba0ea65e6c49f2c632d972a2529f9cc75ae6e2be3a59b16bc756979da85aad3bafcec13d5f871475b44a769727bbdab18120604e2cbdc5f140c70d44a6aa0d2169219f319e8e3aa3c09688bd95f17300a29fb77c5a2b434df493ee063b382fb4eee5cad06033c7f86ae9684de136ca61536b59a84ecfa8cf4508fe98fc6e71a0092d082da8995cbf4dd37bf320116c4caa574a2bab603430e03d486c514ed965f5716feb353a89845b9f6266dac10d040a0d866aa960200b9e31b6b63169147388e4cb6c3d039f1bc25911d4a847f817c91f09bbf67baa571cbc069fefb3ae4a58f4964b8c4de877581bbfd68aadd4596f5b3788aa4368dd6a52842954ca4e83bbad9c197daad45c1897345375f73e104e1d8948c14f07029b082390a3a3127ff151f80b8366781820627f0401fd0c22a5c19eaa9c1ad0c54bb6a155f4a4d63542b63513f39823aeed167ee136c4e698eeefbd1ec7b5994ce522b64900ecb2cbcd025d2efa6cfeac8ee8c6e0d770b78a93ffebed58ece1bc40b4c9f4e8bf932314dc5c81d9530560a83e35715509dd2a9db8f9b35c8552d576a2b50627cc6554c82ba26c5dcc5c813f571d9d21f8610f1a2b400325d9338d2e7bcad0fbb60c00b1796f8c6d8461d2faebd46025b9631b82ec7ae309cc2c726748fd094414d77223ed40d4a9b9a4e1e2b8e66c6b2e6d167709991d641cffb10d58a8b97944661799320b2e5658a3c1b09fc75e22c50f47471b582f8c2928903106d6c89e4c1ff49b59f95ba5d237e432e98a5717f9d9eee1a64d0d90d124ebf181d2e311af5beb3532495eb35028bc9953b210b1f7937b71a6ed2b3a5fdfd1c7785b85b7a38873a1354dd03fbcf6eeca82c3669f7d8a5b8b1dc9527896ce98105cf47e74672307bc8fcdb448121744fceaf1f7d5073b7769c93e570b3826341891b9dab5f55da8fcc437f9d501ab4b832966bf5382c46cb5ee25881883c90263509f0a9b26eff3a3f789460533e822287ff040b741cd1f800979f69fa96a21a8d32a4516b5003d0d4585df750b9eabeb4cbcd8edc9ceb478f2e654898128b8a257f15fb072e4ad7180e0378eaadb758bc792c49f2ecf33143b6c8a1969e24d4570d045c311decdd53dd2528f30b1305ab5f624be6f75a33f4c63e982b08bd3292d9b3818c9bd5832c1b68c34c80aced3281ab2bdb27af56b762e00f9fcc020cc46eca51e81102e02b038be16fa5765cf63dfc156bffdbdc66a495ccc5d12d62be4f5e788e2a5d016375133756b4ddfcb87af6d61751b8a9ef7f9a8c5a5ea1297a482866690b6a5a31083a7d74347b9eda1f29ca7f02b3e7b68ea8b7f92f3cd54e3b4f39a00f90224df06b26e6cd062750bd0e2711257cd2340dfe61122700e76a184479e821c8ea944638a0b4381782a329d0494f91e14012a25cd92a0ad1bf99a6c3026e56af550d2a4c4286c0da55184ffcd2d7f176b27fad127f2e62af606e9488fb06942c1e95e84aaec032f81dc77dcbc202bd4dc38cb390f62f32034611132ab8ce5cce98a9075c16d2abb936c527c4434ceea17a9ee89db73f6f871fb74cdadecebd9b804120c9ac8ec660632defd4ac2766c66df808efd41d8ba6639713b5596e52a02b6c9044dc4e39bf79774276ffc08cf3e9a9aabbf89e0863dd8ad5d1ef7b73663c017c7c883845038279347101a697241309f6dd8b5ca8ae271d4bc4bd5a6d6abe5ed61c182e69bdb1ed3c817ea7dc9d67f92a2cb3077b65bf3f3ac9b575e58ee85bc2024d02fef253f0c3f37ce35a495713984e7965c23779779e978486747159e419286c2e4565d5820722e2868da5d26ca7b41d688a5cec4a83ccc677bb6034db07a0517c9cfd8524f58078cbcfe56cd812c5472d709bef683e2a069a18974838cd0e65c53142e38a89fc6a0c917da852fc137622de093d47c0ac2073d85453040cfc14d97913559a1135879f7f693fcea58e0865de565b6dae623fc8214e98cf6b63f66a246c0d59a1bde6621a5d1fddacc2ee9fb08426c0d4d0e19af89a214ff0151fc8c742b1bc67cde94b36ee2e0122b7ba98803205dbb9ef5f4dd481c74c30783d4dc5093350425cd3a3d9e357b87161d33579d2682e96739eaf1fb99964c19278cc58846b742b2ce8fc500434c37cc6f468014ebceb7e985a0df99f62e391aa66fa17aadf21808e86ce9f5a86136dea82a378d19bffb8c576785df60e5141e2d1de11631a629522e280e00a26cbd3f45e8f627a11fef59c8716554d2487bae19c14770c088a81c6ed5d0a79d31bc1faca514728edb0c3b50d1ce7a4a6cf3d76ee40eddaf086d26abb654274a569fbd9c74c3c6e0da43e321c0c8781ae4bd1cd55b927ac622804384e831cf062de2111ebf48770687ba61747f0272306b0e90c2c0919c0116fc24d1c93a24a18ab0e8fe8f38bc50b6a1c6e9f3cb6d0b3eeb1e78bbfb799fcbc271b4bdb6c807ca11474c9ca78c05a7d71dec3ec32e80208d6ceb76da763c2598e7e66f09898178ded7703b8021d381a18be5a34dab5293fcc4f35ac9e19bbc6e6a2f439991739b15135b660b2c0a4bc8b1babc8b8845d8531223b0e86d0657eb0ece7e22ec864a59e220313c0b701035dcbe3484316b4975ef826859a89e2c80c8cc6fd4a8ef407cc9a641904e9a43901c1590e845160b6ef95834408ead189e2503f6cc6f3499dcf321fccef984e98ab0fd65ea9c6993203a55d5b3b03afe461124bc605629d77bdd6553bb2f6c62245ffa25f34d17add5777b64c16f450c6f9b081ee33199e419dc5f43a335360e1c0c554422639bf641164f0250c2b13628a9ee83b4bc6a7ace7ff5d220bd2266be6677579d2b98ab2c72fa6b9a8db0603f00d418f288e76c51679e3c30256166662e35eeef37f40a089d45cf85e29214e1ca0dfe250dbdf3399905a6934aaf2a0a43edc3e08e94c828f2b688666600ba6db8817f53c33bd2c4244908b1643770f3096780a78df2352b4a787e892e0779b8b346d64965840b5e41f3c0aa25e4021de2653d58bbd1d97bae390ce5b20d678c9b0bcf73f5b08faeee920e41271b01f2292515732df30cabd4548416948e2c718b9a6b082251b98b7490220250a055827b9319c0622a837ee4860be42cfdffa51183a939b5a5922f99fb706d3427b693afc4bb138d6016d9aade496aedfbe81c3302e0a10babe0efce57c5bd0b6d0b8c6b1a2ef185f5ce44a364639f2cb36aeb1b27f1e7c0ce4e0fb7dc0e63da3a2687068b1c81cd2d371f2265d8b9b0ba0516635f31902479373a79b62b4852da225a568fa7735d09090443cdc0c8c9c2007ed4f5d60023ddef834a7c23c2300596a62f318307ba127dd4c76b2c0f27c13d64abb9a8c6ecc1b103e380521ec003b84bd88ac1d03d5ad6b6adde7169546f0823866e73e6894cda6260ef613c6a58bc6b0a6269947b882203f2b8274cd8b1f1fe6618c79309e2338e82c626598015d1b7d34c19b1be9ad2e2be961a36848a84c72ff91af84a910d8ed4eb0fa07643b5db8df085874fb4b7b3b3cd13d4225f6396e1789394eacc0dcff331ba15b3e6697f4b5a73e3a5c94c19b2d490e8408387e5f2cf06d6f8764fa9570a6e5218a7788f45265e02f74c09b6b225815152d50153617bd87d11e9d08e7ce36dda9511374f85cebe1c2b0009e17821f29b925a965d771a33d52aa328ba8d1282e030dcd8ec3953fd5db171a34a2a2b66c5cab2831cb912e425dfecdcda5bff3c7eaa5db3fdc7ab507e60a6e0b4906ad537ec4dd370220d0b2883b2760e49b94d0895c08b987e2f086f49f8b375fe9816ae4214ef2fc12961bc925ca9586f590d23cfcc9fcc17d8bc5fd1773e5e103d93f27b05b3d8bcb5fbbfef0a9a693047c487c1947a7dcccef33b52b0b09d1dcec9be42c521c675132f0539306ba05ff9a5caa92eb6111dbb881c6f5541ba376f91e46009c39f4fe56dd4ba8a4798fef1d1e58e86df1dd92b5228b0b1cf807c09aae13032e96c2a5161f99dd75ae7823c1fedb253f1ab9ace527a3928781965f3f083ef01afc0dd4952e67c6a6e4be0c389034208a9831242cc87bf7320c149880314cec2f82efaaa112c050655d7eacb3c4e0f1bf4f6ac4265bafb2582aa94f50e0023f4ada85d47a4ea54b2b2cfbb6543c53987912134858fc86946673f8f8a49a5f9829cdb642017b2a130c763d087f7cfbf8fbaacef4e93797fcf7c5c5bd30c13b486536078defc2555875daa79abe038854b9ce7a3da83440f1497263db369814c4c6186dbec6c0bff393956f36ae1304225dfda2ba282276acea7c0006b0fe4404b7d1c87386b3f5b85a78960fb12f16bd204a932599409afad89f753f92dbf26a5985fa53e456e704b9da39900912f437b00b1a7ee3722bb1df86e8bd6bbc336b4142292901abdb2ac2dff6f023cb7923149a82c20ecdf4e35e975d2a307c1ffd7a0181139692d5b9a5a871a02d3c17c554d09329c0b878716c7d247eadbc4848844373de3c8aa74270c8d0a273b7ab470c99fe1aa24236d8bccd44b97bf0f27b2d07f84d533b4202e88b6f7a4e33844202fa4812280af451ce716bb39c1ce99250f2fc104db4c30d422d838b0c8ddffb60fa3e6c29fc18da983a81d41f897a89dfd7b93bdedcc72b82a2783888293d3b287161d96388da6ced3b260b0af63013c34faff9fd7ed1969a96d55dc556bff59cd49022d0275b55c72bc144606d0c123913eda0ef35e5ef1a60d293276ecbf6f23fca50431769dad328457bba4304e603111352141c559dd702701c07360aac111883465fc32ad8f8c1688de757d3f0104d231e913a754d79e0e56f28abaeba63de46045525599d2e5eee119e78dff578bc49a187a219dc36866e153a82b6567d958ba2d029bcf9984019ca0f3509c96ea0806aa4c548c9c3a5b0af5b715b5bd9921f23847ad20187cba8826350b5a121f60b977a7a52c6e742f62d1391c2f80e798bad497e4bccdd11286a12b6373a0d936703dd33acf2428a2ad9eb821e07404111eae1373f377f8de386d63f9fb2f26dd2a475b1ff290f80274d5b81767341be4a08df45551e1d9484e84ce0a07baa8217aeff7b3a8aee5f290aef670302d62b0784bc470bfe493eca943e2307c301a37c1e5e69e23e559fdab4f22ae8f773405d50d5aa2a89efea4a916f97b85161f3f6e64aa0f5e9bd3f5edcd17aa733e66b9007f55e26e39ab907db4d49e175a0034ccc8070188f28a13368969d6df4a672a614c4ea393048f0b4f691b958cce889b14aafd9c251863fbc8c155409b4a1291b87fcb2fbf315a4a7662295efbf96c89359a3f3ee5404600cd3bda8da5384f9622aff4cd39e0854b7ad96ad3e04b3fb7a77f1956babd1f87bd4354547f1e64a802e36dae5e6e0655871c3e9040257dfd0f86c194b6a476eec3a9e27aa3bf752070a9a7d4f93161f384116a65716d1c5c31e0a93ba70e3085077dfea5585474c0b873c38f75d5f55501c404f89e263d22a9e1b050b3774e2bd37c27bc749a3f936c0a82ef9992482cc53a14f1f90f2376eff56250a452200046926ca968b190654c40f9a3370d4b7007fd3304a8eff9da26a5b97569759d623427674d4dbce1aaadffc2c567e34ab33ef921ff38d2787c92c5f10b8f82f7a116fd4a79df2b806ebbdb6b339195d9549aa668c67856302144ded475750919a71624bdaa62e3b272d0a8fd8d54382144612722fcc26c9974e43fe76d994588b95a155f41bf8e6cc7124ef9fbe251e2fe5b86bcd86bc6fcd822593e59fac46b85e171803c383826f0b6013a7fa9d3cdcb1cfcd7cfc1f7a14bd4fe90fe02d74b12f5566411d3b70cc06157589aecf065f657477dbdffd093b4f7c89bae1e3e5f0f22e454c5759dce9fe0e2c2f314352d6e60e53666c8fb1c62d68b5d4fa000000000000000000000000000000000000040a121d252d3439","message_root":"0x34ff6bd2c1d6db77a1afbe71ac1af62855986bab12ca30dd9bf64fafdc266a49","fork_version":"0x20000089","network_name":"testnet","deposit_cli_version":""}] \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json b/scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json deleted file mode 100644 index d6b622e8..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_0_0-1763367092.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1b0dc2c8042e25c87a82caf22cd13bc6cba13fa6035ebf830559e10e168b950c","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0dcdd0b52804d87829dd556e"},"message":"797587ed0214554fb59ed6a8365b9a4f1af3ac177c4e7de72a48f51233351456ccbba4f53ddc5804a206401eace0f26132a6692afd6aecdc766e78bea08da473"}},"description":"","pubkey":"0x038ff5b184b10156a32bb8bb12bdfdce398c9ee5b612677835d99c3c4868374db8dd161e4960103e3dd2986f4a6bd82e466c49b05e70b05500b9644a77bf96af3c176e35649e898bd80664ec03d8cf45efce6b5115d6b98b59697ddd0a28342424257376724373814c924aa936103783535d5c252a0b58517eeaf610b153d9b95008586e23300b82acf8346e0e47b29eed2d3c5b094489529bd7a77ea401996660a0f8b036569f51827d0eb532a6a00b9f877ea52d2022ce01c9168bfe4b2b5a8b5b8d0dc33af9728d29fd84da7fb5d0d663ce2d9e202a566a5035075828d6f2bc72a7792973bc6fc1fb2a2154ed51a3ede52a0bad16638b19eb36838cd28e0abf23dbed92df7eee71d244cefd9089a3b8408bdb251ff811b94d2d3d66d7c250e2cbad106b82001f53145ed301cb0f493dee9936525e37659a2d81dcd3c8fc386799152ec1ea0f7bf95c460768af0ff0a020ca8a7d06400f00f4eed2e283562aabb56a9209d8f079e02e28615ffe30855dce1df07c3de4e1b4f9fc8c05e30b4dad6623cd22a70d6bcf18771124ee1c48626a4b893b7b613b01eeb12058acb6c415dd8fcf1f3c34acd44b5959062d3223ecc6ee390ca5bdac255e504983e9afce3f13fd7086fd199863294fb41483288f10d899510467e81e9bb9f486ea2347d8ff0fb876a6e69897dc554e85cf7e3a365c73f701a754a1f4edd19fde0beeb9a295556007c539dc9215a1748325c2be2795cad1ede52a8c19b1c98793b366d7ada1099f11072f3995da902cfed0f0f797ee88fe75425c65fc9c67c3e5c7ce8004402970c944e075c981edaa5b8315b8e7f7b955a626c989599c03f317284ddbc8d6b0e10a77c8200e94e0c8b70ecd45fab1a3cb73210ca71195c0f3a89bc56add9d043357cdd3fb1a5ee96d7d9846f6373f95784d32e59dc010b58c0f354a0c88424940d26f487424c63efc89ebc5da6b8782cad2e3019dfcc08e9877df864db1c636752f8f86e5ee4d05ec4fd72ba87b7fafc3e7f2dc63cb9239f87636a3a112d3fcc767e71a4db949d572f67031241a91ccaaf9315ee6b41f5486d6329ee9b1e3582833ac317503c7a7594a6637ad75ede44ce66a23b6f0dbe2f8a876776655c1383e10edc4ce2288720f7a7f22b65dbf232efff1c6a26c6a3de47a51a8d1c22ed6649d35818a5f15cd8a8b11bbecfbc26aa0daa0d21db6672d8e066c51bc743202b265ad833757cad61b3481dd2892767bddb8355308a7c3fa422a48397225afc0e7c8689b3dbedf179c9a0a1671307bd3b1160ae4903ebdf4e53daa00e2697e7c4778066f304ec0acae679ae4587cf08b430bb867ec67aa1d982b7afcf973d14f00a0e58301be80381f9db958c5876e43e97c5558d9bc7d45af86bd7a57460777071e8798e323a25f38eaec76dc30d542cedfe09b17f35bc915c921432ac53db753368b3e4876fe2ac1abab9a2502f697f6d23d6e761068245677331ed565a844adb2ad39f02f67dd8df2b5907fbfc4463934ed6aab10c86b9c568457a39e2814b3bd2f09020fcd71c9c024347fb71c5db25d8f0b7ddbad08f7bdfd7788cd3149913fa98d9dd6bf476e34ab49af3bdef2af169b12dac861675b64617dca5f4886d58db4c49f80f95d6c5fcb1d09996600476fa9e90c9f5011da30a6cb74de71589a5ad8d56328f8143461cc215d2274219f549a7d1efe93daf8db6ce8da589220f15b337081e744f05896bd195b4180bb588385f15fe7eee3b6ccfabeb355ccab4252df5cd472b04c16934643ce2826426ef486a883f9d110f5b19b4c7bf3c933132d3f005b24f1756e0ee02af695994a555bd7bb745b8aab7ef91d19793e95b5150e4880ec7b9ccc337848936eb118451890a9fc9ee66e0dfff68925e536c3fda7e000b24cbd352fc6607d2ac5e215df230ae17a36d92489aba55b216ffd21bf75f66361d416ac478afc82f237ece4602ff580f511a3e4638c84d0357e179f21ba9573b7a53a996be6d338c8d6dfa456864be8961c0a52ace77177af74552a8c3a7273eee6a6e2888c680d69a31aa6784bcb45a4bfdd7117857042979283165ecfe0fd89f4748b584a1564ae6261ccb00d2b3c2c7c359f461b498dd285cbd8cbd0d381b1cf1bd4ee13a15e99cb4097db16d39f2bbf3d21ce8c9f3dbc78270cd72affe6f571341d2d91025696ad85c38a4ff0f5d06e6ee02f44c85ce12456590c0fad1a8dc69e530472d193c11f77d0c0dc623a5f84eb109482867c56cfbe31bd46c7d59a79117e89a359ef2d750037914623807196ffbd587d25e7d044e9794b91ac5e8a9b53ba544e19a58466c67309bb872e77bcd1ab5b0cc3774203c9f7a58ceb928c9fb394d9a9373335d6966672e8434da5767a82c7bf720cb119cb4b209f806d4f856772210fb09c46cc07063c6154228591969a0ff56cdddfc9d10e502c4ec7c3ddb6d20e9d394819ae313e1c5d2f02fe5b4e0fca23402889fac45348207e13cd33c82aefe75271d521ad00d10520e75fdfc4c08cfe161756c57d4fa706672ee87795ca8c842a6f9f039ac22015c71719a14672526849578fa942311fcf17632970aba767a1e0bdc73fb0b73feff0ee5dc80ef4dfe5cbb8ad22c1324bbedb94b2972258c81b7423076c09f8623dabaca56cfd4959df2493e210c4e513bf8d074ed4332bbae0636021f9af58b20400d2ca021d184f3b72cc7ca92a589c2939ba7f073767188089fa410e7bbb0df3b9ab373538f43bd00c562d0ad85e523a038220303b5dccc59682a63a6d39be170b3b2943ae67e3f0ada3dbe9c9fe9c829c9160fee9ee181f55453b582b05a73210a9b34ce79ab767e9d2f98365e5ed41e0edd5c315bd3a2966d6dfb30a00028d7dc3f6a58194f0285ca1dbc13e31ba11cfd308e1cbaf6e6eb83ee0fdd1add21d91aa306415acbf1fec703a4f23aa7d7b5c5d8f352652ecefb64bd91a58f5c9c2d907ef2af4011893a59cc48d852ac3e966dc61d9c5718da782a959c746e556ff225883d4029dff18017a35af60c4b8cbff2c9abeb72fbd5a1ffa4eae9ea7abe2de1808248193b6167fd10b024ef797ea5fa13921c476d189792d9508a5620c32ce5dacc4a2afb22fe8d8109cb1195f6f94e8eee4acb61e34c8c9c55ae4e1212c549da3b5e26cb09a221bf1064cf7be27940df71103844ac8f8c7972997f7500fd6314be017f131c5373dd0987f33a968c45d51cc7b58d9e594c82b0ad78e06896f4859b240b9e78b40105cd903fdcdcfa123f57aac6e9bb845b49cf624b4c4d5cd9e1ddf7c4abe17dfcb3e08e88bf63692fa1d046ffddd95604123cbf93a0559408803d71950960ea84c88ba9e57c9db48ed92c5e736e8d501c4983d7a33dc9e15d77075f928143c8a5e6be14fa8a26982e87d29365a66ad9643179ca1e19861b72d7bf1e3c6803acd9c9129d4187ac97b7b14a5a0ffcd3d79674c610daa89360df4d38afea7db4322cd487f485d9660d959daf8adcd63ee9e7f55c567e62f5e949c6a21003feed5b52d5fe90e5313334d8d9f1ea8e0f79d52519f9ea43bf028f362b3a5644f9af7fe162c4cf7e0c5fc825dc84c78497fdd38237a8a41c0baceb503fc82e4ffd0b9ae4c116f916c1fa2cefca28431e13cc088baa45bc0f6a9883bcabbc920063ec04ab2c58cee","path":"m/12381/238/0/0","uuid":"5bc2b767-3206-4a7b-a894-a8b20927fceb","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json b/scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json deleted file mode 100644 index ddd61f58..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_10_0-1763367108.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"8fad12e508ff399220720fb031857fa05df6d3dde9610d06e4c589ca94496b87","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"ab1196866adabab55ae1aab6"},"message":"64e99e6bcc022bcdb7517a89c6a7a303b7d6f17d62c3ab2b7a2b446ec827877f14195c1e112e063647d710a04fb19e9082f045ba061500c3c9c26761b24ea6be"}},"description":"","pubkey":"0xb24a92a79c252d8936b82a239c07acede09e3b4e692ad2c6e384f8fdfe3c3a0bb5e44392e3b9a47af2e5f717b00dee3780b46aedace26ff3e6641d505f455afeb17b1f56deee581b3c1e3606745ef73a381a49bd85b59249a4c113f3e95886f8518bc7daa10f521f305ca39854eab449926543329ae90d57ff552e0f1e9bfc8b8fc0268de5d08094ee86693d402482e1f6da142040d69292aa49494745a2912c5083460db4eae2fda38e878f037aeb21e243ea7100bf59abf4c6f520e190b584476d84b4b4cde07f2dff1319adbce760c088293a68496bee5fb5b9927e3bf412a09137ff79ab6c5c49eeba8a7de96630011db4c5e6e6b254581d8e1b8818ad65c05be192cf850c40217deb78f2f24f19fddcfa5505a7a40a328562b6ca065d0cf378d3da136d7dda5764b3f2ffe8208994a8e7ded9d8f8dee0bf839595e76f01bf5a88a7786ef0cd57ef4968e5fa0fa771f57ae9196d5868cad49f0bf52703eb1b8b1834a15cb145ebdb2dde30ae3362acb1ef543c3c050ebe41ae98e26f02e6ad7383c5259d4f319057b2d6e6704ba22e9b9f1899e1a371c44711b330299534ccad746471b779b9d561879e91b812714bac03d58c8da1a3670ac4bc4e8084f691bb8650ac0bb2881525204599d5fbc8414b3136890ff0f0cffe2a3e6f0d92f7898d2ed5fa7485c69365f64fe72152c98ce9ef79b4fdd58e967c01cdac3de02f739ce26a7468855c7d2a85f59bdb47d2b23cdc8f5ca07df94c212e2d1b4c752ff3c61c1f99b975823e5fa7ad6b5e860b329119b5b15d5e92e5e76a791bf807d003c7184f892af761c48a354cdd68d17f37b6f3655f0bcaaa7b2a45965c6c5156cf52f074739ef6df932e93623f40dc0cc5fdd8ffee90fe364d217a7e89a5c80a0479a18ed5bd1c52ffe2f0efe35b3724a4687ad7b23002fd5b793359032330c777d15250a6cb98f103edb24552766b27ee7c031462378a6123f8a076adf895f66fa5a8cdee29c6f0fd2645b30b5513159e0b1e88017b7369f3f3ef9a3c35031916df51be075fe0b55986b516556f08be7a72ce15f2eb7af550e463aa2875566fa8a28fb6d845cc5b212e6b74df2e1cec5d516f3e187ac5083ad3882f60a626fd7172fc4fb53d9f18d2dbbf442dd345455e30dc4fac97abc6ecff7fb9ddc604ee36a70aa1a7325acf806f56695faa86492a428e859190c238e6802fcd2e62c711a74aa553f8b8ffe1faad8ac25f94c863b3f682a2de3df3c739ea2952efa19f56afc5b2702dee81ed42afcc8f29efcd06f0a14c4f8009a504020b8d0063e391b109d8898dbcd5428d53269bba7fd2671e34f543242308bfeb79564fda18a821d64fded8064d347c27dd2e94f3fe1c6d85923fe0a3776b9a3137ebd56ae173ced6d06d92fea78dda23c1272a0123d66ce04df73561460dfba6c6930389bcc5291ac8c3ea9fa03a8b5a62fe8a1a239c25ae193232f9a2e1d4a343419c2afa8566d2fc5fa9d5400907a3c606c7d7020612a469524f48bd3c04f0cd3ef3a21e14efd93ad226d081d332dbb1758107fc9f6f3881bc9878d045b4a997c5cc875f96cf7e604b172d99c15d1060571b6a3cbd40e4f9104a1d9200227e3d2bbe363f93da9d192a24089330f5ff2cf1aaf2c522f8d7dcd40bf28f93941bea05f31b26fca466e0488593e46167890147229d929ca3ae4ec7b9ac7d8a48319e13fea21fee7c8cbdf2a5329bcb1d4c35d83c79e4f71ee72feed692a1f4b7456b8aacf3271d80d4464a4f5dcb46507311051d7dd72d4d28b9dde4b0b715d071ab86e6c73112afc515594fb41ef8fccd11ca55d176fbd3aa029c4520115e9101beb1ada06c5007e96c3b331361c09e41263b6b0b807e7c84dccf6e17c212cf36a6243dfb9edace18ba050cd1ea0d429b8569e44d0a80f8ce5834b606c34fe51e279082d7c69a358ff507d1074eda802df766c796738b13aefe0a638e57e1419b2306cc9f42d6b16d40d7161dda389df2f9bb959e850ec31c3785f6135ecc3e3f2e2b66656aef9480962ffe4eb0725dd9f20fb0332dff63d4869ea5f7ad02bb77c90a3f0a6f0f30b2fac2693327fc24707aec0b7c36aeafb5e2cdb11a54cfc2f04c308ed5a7260640c73ebf950099d0e90ebb315501600a3ef018bbe5b4acc5f4878417e20d1582cccd29cd99ecc66d3e402973f067e10001bbb78a9b1ea82d0120e4d70401dd4a8b91d3e8fe1485ea2dd977f74d5cb1d7f7eb158618590bd007dbdb49f6e056317e7bca7e0bbff2871715e1d0a3ca02d66d5f8c56cc7d60255106b99b7cf7f108bf8a3cedc6b3310395035c9ad99351bb9b8d7c356cfe641c254c6b4a0ba08b95ba23c1a71c4001502d9f107692edc6049f682c386feeb326202f4aa74623d4ea20cce93328b70e50245485b2dbf51751a09c43dd2cf4afb52c1e7b6bb52b79f3ddeb29d228e051058796a0593a1b8f93be312fa882cb7a0852037c82f51b4cce9b1461e853d9e2f79b8a20d24c418c96fd64c7950f57c3061405f01fffb2c8436758a712f1f8bca0f03113a8f731107afc12da376ec99bcaf7c69e0ffef248bfe1a3ef651b2a1123fda4d4a7b7fc04110cf7fc1f73e9e2479c4b2627f39c9940dd59db1cf68fc101c7d9e485ab8a3f5b99b756dd6fde10bd01edc591fe016350111874f712207763581adba34100d79d22745b2e712c362798b8d3fbb873f5608ff1a66a49926b4e0e8de37ed273b27187a550936fb2a012d1c4eb3f1b558ce1f2921e608326de226e12e5671056a58220760288129ab118ef2ef397f42d16274fdb7582bba758f8d8d48588a6ed00ff75341467ac796f10cda7b04f18d7c95b65b94a3555226e5dbda1ea76a7db15a619e1de7d7f2497fac4e3790326a49ace10848b56be781b9c366f555e92c8fc05c52137d3658e74b522f8d701560a36aedfec80ed6acdd6cd1d7a6fe78a54fd82dbc179809e9590bdbac9bbc194ba2a00ca10b6bc0363016ac580d79f632ba62feb2535d7824ebb7292453c8a11c5455841fe1a22dbb3e8641efc5195ea798fe776838ac81c016199ff5d3030a2dd9bed56158545c6489436aab690de4fd47203554fd80782fdfd87df42d4ad35579e6e5067abd08cb2f773c1c0d8b04f2184b22e591f6322bb6fbded918e78ad9cc0c4900c6445ac0fa738e9ab28662fecac0c40fae41df908ecb7664ba51ac8ff0385c99aae99897fadc8999238d16cba55401d1391707f98b1e74cfc777bba409de263f0e6b9f407f2346430df80b6e31196470e33337ec81fbf089bef6fa8498f05505d1846af4f6b2d85f63dbef4b39830012f8a62e615f8b264ac3d751282b5dfe40c03546e70992ad6bab426f38752e862ece2e1ab11b38cc1455a3c9e458c015e0fd72a7e0c3f657febdc1713b8e5171eff090e13339a3f5887512eb96de2ba109aa7537f5be62bc4d0ede8f154d003759d15a56316c12cc5c3923b9611352563f93d56a2750e66665cb6ab2cde2cd96ce76c9f2198b7624cd1e2b953f3e927f4f3f1e0af9544151290b3eba04d685ff28c1d02555fe21b3d0bc95b423560ae8cd52761f07ddcc8e58b71a94ba74d835cf22c2ea797e46371cfc9e24094d80cc55be3556d566b26f9b3dd9aa2d3abdec1f771cfa5f01329235746d7a3ce772f8e","path":"m/12381/238/10/0","uuid":"9de862ad-59d7-4bc8-a740-ad6eb444ba1f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json b/scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json deleted file mode 100644 index 9a838b90..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_11_0-1763367109.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"840ce70ae44861416b57c0f1145a1da8405a4fa6f26dd1f6f916f490aa188934","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"1368b867024181e8f09f8d3d"},"message":"79b7710ddad44935dea969c6c3c80fa3b414b093b9605ecce5cb1229e74d1de4fe4a15b2da2df740e4464ed5b75b22bc815e2c65008a0d7bb6dc2c858d630c70"}},"description":"","pubkey":"0x8792e0b5ab96f2f8b507c31f9a5d58c4916c70b694417bef2fb41adede0a0d5253d44daa10f2cc0c025954b51998041f854897401104b02ab31450369a1244461c50e9f415d2e3220dba6539694460b66a8627a8a76e76493ac24bd5f0b7b33774389b0d02e21c623b1c9efd3043694c2174f31953dc134f7234f70179158292aa7417a84b4b4f72dcdab96706a7f4ec977761ec7c65a1841991940ac63921102fc1c211b2e2e46e43cada2f052d7adf9330c9b96066441b30071c2b5ada2d1c20c72933641e83c9d84b06c74f6c103362a2480774ae93144bf60ee53f3bb3f8251db59d073f10086ce373bc4cc003e44e2ad244f7d667b31c46013e75d2f47e28bed8548c06f806d6060ac938443b22400079f8208f770e63fbc2951b54f97d9cfcd35824699aebf83fafe6baed79300de849d7abc2d8046d894d2e155b5d3da86361a8ec611f2a95ac805a55715d70404e7215934d5f27b520477f96ec610e6603d6e643f4efc7ee60ecbb36779794dcbc0daa45750749f4450cd2c1f4a09921da5b421c2907b7401d31405c86f2a4dc7101b4a6d3448833fada7807a8c01b0dcceef64be05f8f585c2f9a9e1a418df8e8ffd6e247b5ba33627dcdadd8f13b85fc7458364dd082a4b5b8c89b9634f5274a101de2de8eee4afb018dd164f4f45ba7b67e99d39edba65001fcf5a962f89e17e255707c40f3c70d953feb796eb5f708c1eef7cae835ae37e08e51dbb80bd73f3679116d27a3fd52d04928cdb5126439a184d61f8f3a4af93cdd9a0440e023cec70da10379f34fd5e6c2e29e8bdc40236c986c3ccded22dd7e5cc06e5efa73028184637c884b079bc2c2ef50dee9362bd297e1a11b0e3b04b196b4cb14306fd365960c7bbf3145c4a95a361558f486059907a9c7b01051ad217fe890ca3bf5ba7f7646ef90ca3e4774183605a14bab77d28baa0e769c837ab940d359cfbd93a9945e26451e041692ed1ea6917632cb479d7c0feb941b2f5f2e9238e52810587b66667db854c7c6eea38e7380161bbe1bc4fdd711a86f3289d61b0f1470bdd01f8de50df78188205f0e6bbe0425f66b220329ec1dc74ab92f240d43c655d126b54d1f45dbc771531cff730aa9298a222213e73629f89e195484fbb43bfe676c7db4087adfdcb373d9f8632d2250e73458dfd9f4285c431906d327c85a308ba6cbb90ba0dbad34013b02da60bec2afddf6d7ded0bde993f5804426573c45b12621a8c061f95829c4e72c95cf21dc46f50004271d0e40a9f66ea8fbb88e919617bcf3696963aef77ec4a38a80e140d35c91ff5a32171c8333eb53fc928e62ddddd59b81d3a9e375ad74d2efe910babc1ea15f7b245dbd91d4d42a7e027cd5f53d97cbc079d9a526485d8cc8fc870e73ba2ef3dd29ce2f72db7c62441319dac7a9ddc1befbbb9cd08c96b615a3c6a99a4faaf91540fc0e705459776e524ca1ea19ba660e4eb97ea81284d00f13115a5ddcc6ea781c173cc2568ba1a629a04768cddba23713f19713b7cd2eeadaa85c4fcbd438ee21c8c7d2ebfbf0ff914810aa845fc282aac9a9bbcfa940e266221ab11e6e8f5b688ee2773d899daa607d87f2408f6202bb6a7a2a668475f9904e61d86767c3f17a1e777c11ced330310df21c40f1cffbc030eeb60db89f210b99b15a40ee97a04fc33372f6bd3159b860f3300e07de32a0e652e3fd1d7bad16bd85b4a9411624383f677542b9e596059b572d70bd587f7a9e49a3146d83a45a4ac320535cc3310163b079ef3fff7b518ff932c821587948a0e84429d79559d3832ff2c5262a39a50ae2ee4bb05aefd6f804c9d26af41c11bc11f04a71c86abc7efb95838e672ae3fd688120cc43e100452fdbaee2f9e07bf3f610816c0be941533b29026751e649e673c7332c3d8c41cec619b3af53df02e1d62f6a67c4a48ea8139a212bc0066293de5ec2ce082413c494ec0de695c744c45155bb96f2e6d9fe52cb124aa0ecd1c0bcd15b63634a0c8ad3d114b9d40cc43cb30c07d89fa4c13abe1e6cd0d9b45b3c7f665bdaff136b7f41a3c453c3f1a488e5893288075709c8e859e49634b09d5ed190e19fe2146b4340383146bb4fecabde0194c7f0ab06d0e0aee3b0ce228d65ae5cf237fbdea5c402f938057c6245d72a791aac60a681ca4c26f04109338ffbf4d1b98c2ba5f5db0a12aa6616afb01cdb26c56d78a1bb8628a49cc914d234fbc5968eeb9909feeb5ea586791f545d6b462bc48c58120abada72fc6bea405d0f6a3092ddbc8e53bc0bee5e57f44d6043f6b278809eac7ede97fe6c52bdc6928a5aa93032a006bf1c0afda167b19fc010160b68ea6b76f88b5cd87a072058bd91cf792124f8272b3d856ab7c587bcd60640376ed25a33caec038fcbf205d90f2dde4f40e3be7845768f946635002208f9b1514dfc50c4f7006468b377885a16c598ab60fda572da9d24f7249bc857f69c87511efadde74045cf9d588a9de67a38fd725b57a08a88bdf7671882d3266a2987f704cad365f5381ad00bdd28f0593245c2df2a8ffdc17364127b4b3933f5b6eb1b78d23f91a61fbff340ebb34667e0f13209d1594a91c7aec020c51a9b6fbb4d22658cf12504d4da22e4d95f8a96511080d5d20849bfc2fd2e46da6e78ec0a93dd60da25dd77ecaa8ba2394f10038971e1fca65baee8b6234636f01815bc81262ed08cc00ec3a3c4d1497b17a15c04c62971e69677bb11aad5698dd71c4ec03d4b187cd7cab662cb5c999c4fd1294b8398fbe9cd8567eead0698d26c650664fe85b60deaaa6e58b947bac2e05a2256c1b06d2ef1287257034ea015b2a35631933549a299ecfbf5316a97aa99941367cc88a5a01d337bf5d6d7b4a106892d0c54bf32e2f504e86f9fc76c40bcdd7a60be3705e4e9a5bc17927e0ee08a6a60ae39c227216b01fa01abce64d9e75ecf1748b042860e7bbc78aedf67e3b90e84da6079692c0284c93e1e2d2c647d415395cc84061f5e4eaa46a596079612f1ec6e51053926932c36eb9dbba099d5cee4fa08b9ecd88a5c78e56703d632ec76578e800d37494f4a6f19f4021fc9f68156915a3c19a6aca3587d390cc6be2b2026748604a98741d540a915f57588c59279f96bf79ed6800ffc3f4e1140f443cc0a3e5a60186901369bf721363d7ceaf700230c6411ae1995ce3cceeba51e04d2e4d329b405a8070f4934d3e4252736d05f7bc1f3251ec2e6a53153ed10b0800a1917f51b2b2183249b78f65e2397e6c7ad723159c777ad702fca485a1936c1ca4b91b65d3e507667e5335d51711d5127b9776f2ab90533b6384d2e1e59c12ea229187cb50fef0760a0067abab9555e5d50138abb6ccbe9e6d59057e0ecdf68035c29e55c58f78a1443ac1de4eba14f0a9f1af6c3d0e4b842d439bdc6aee2e6137d6f6c67ffd32da04612ee17ad376999160cea4943de620f25056400b10ddbda96afd6e6407d965440985f407e769fd4f161e65fef9daabe767de55d647993d1980eae33379ec4e262fdde1d917144508c3ee0f0504dbd155bdabccf770008b2ce0c6cf7f74889893e18abb5fd1acba37521a9072ff4f368898db601696a0edab1edbd367384efd3fda8e49e24549edabb72e65a1e1890d96c9ef1c3c664c723adc86fce98d54a7bf61f3df9","path":"m/12381/238/11/0","uuid":"cccad864-10fe-460f-9e31-61198b922040","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json b/scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json deleted file mode 100644 index a3499128..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_12_0-1763367111.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"906811b9014fabf064f6a8a06853b7e7c90a8443ba3ad903c422a26fa5442381","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"6d820f14e6b1b2e70c087b56"},"message":"2e6f18331cd7252e734f166b6a70b0bd186c15c40871d7744f6ebd431734999f9a8f55721b2af57e8ee25bbb7aa25c64f21b6f49af3c066b72830cda9819762f"}},"description":"","pubkey":"0xaecc5314d096ec639ae76b9f0a4f26425111a54c644614d8ef7243ea58bb4b397d693ea53a53a14c9d2c0043919372fe2be466d5278a3f2edee5003a45325f6a9b6c357f5ee330f78b0fc5d7e6ef35de297d2f5756d90fd42a79d79e6c358a7bec4c300ffb12170c47bcc815e4d8eb750b62e7c0c6da8061113c4bb4443a66cc2c20c18b6ee8eb5f6c8a38f5f37267221869f1bf834084abdd09275eab660cd94274b5ed85ca85cbd53c12056a59c9e7052de78033a65f31d8561d396683dcf4e15fca00ad11849c89b25427caac1790942c2cd79e095d5403fde03ba219f91de8ef31ad0a46ce952df66202d24f32c204cea279cf46a99d81908103d3596b49b72206393fa82d030cb53685aa574fd1184164c93d8345690950148cc9b26690fd6643f5e346414c673c4589d51e47913cc253ebd66d42f9690b5a7c2cab017d79bcdf5f5b06165e313542e541a804379b7ec21a1857ec11ba9124f8f4a1ec86e93f3c94ebd11c15f13d3be175865808fb7aaac439f64f72777f28f832235bbb6df6bfc27cac3a5d621eaf90250a347a44eba900ae1e692cc3e70893544334023c0ac2fc298d20b85a7d92b9f0d0a34d712053b8288ca69e440503c6483f8e93799f11d73a9f3e531fcd3b179963dd05da772cfc7efa55f215586dd8f192bf464b327219fe72f0eda6c7b4b79ecc9e69bb23045b42ba1f1eea85c22f86f39336a73c470f2c8ead3c0aa9a7a9b5ee35f9b48f1ba0f9a3075f5147e0b13dc961acc0cbb4c2dc71472e1cca90d72077e6df65bed8f04f27a2587270f14523615501b8a7ad09f669eb93741c2b91bb3723a67b6c8387b77beab7d0c466964066b130d6d009b3dd5a69756f35cc82bbbd09887d71c84d10987d02fb1f3b3c57dc7ea0ddb539502d5fc753fe354c6ba5a651273d9e058240b2b771bba2643359c29112a7692a59d11efe248d119406cd6aaf577779f9a6150e850b5073b22655dee78302376e225fc236f8bb5f6dbaa231449a44a938a469c3c5de5e486b027dc33526197b917ab291f73d17fe57dff07d7a6de73da1ceb13e4d1b783ba3247e28c9678e2d8a64f29ded7245e931753c21dca16f36cc753d871e956ded2bb17b5424c9e8769c3a81c7f9916f1527ebec0af547b6f6dd85df09cbd3c1b95f55cba943599a65afbdf00ccac22606be8d6b3d94c73dd51d3af2e73bd02982c8da86ad9d7fbf30b28083ca6b66dafd2000f0e6f7ae04e9b0f314283f1ab8add6879c482ce6e51cc935f7f348f92e32a3cb7f1a74ba3d184ed398586d2b910fabad3a26bb73a285c33da24edec8157fd5c6d75746d50a8aff9668f47a4aa9c4dba23782f62c2d57463147d32fc5c7c21975d90065d9e36310628c9b0969bb92d2df0e03e534b64859491fe2f9b099e5fad71b3dedef0ced34ac94bec8f75d7e69a3e170bb825e9f264e2ce03e8db53cd57fdeec283959fcabef3fac05521920d6b9ea2a08bdb6f813009b8df7dba96874219a98a6485a2f5cea4efbd3ab69956dad106b5804ae00919fa186bc499d8d7ad3b1c2cd623b2feab88f4a7f8a993e4e0e91d353c11bfb124624db1f7e25864642ace304443a930d7e4a88f40f6d688cba6c81fe2d948977b0cac42198be83ffec7c1915a8cc2192f29a8ae2b50c45bfc1cecd416afc9b788b6efc6a32ab174cc3a8635038e75c25eebb4a0407899074a5b5cd2a42e445cf320a1aa414f7996c9f8cb39228a58c3fed8feab6a1514a00b4f4bab3f754af465ed81e3a0a82bf6a1ccb44035b2b2dfefe8b94f8cf7a4ab0484d88e8e0ab51630892af9b3f1bebe2e68b15e9cb9d4cd2472b1ecf8595a019fb0457179be3313a0024448c7fc9ac5fdf8cf22462103d795a035cbba2e949ed701e12fdffe72c7da25d4610b9429dc1ca89abdabce819115ded0659bb4d1e51d2e778ca26ddcd3d71f20ae7b8004bd09bb59aa9a054f5775d2b85722618ef15c590fba6b5f6da24c2dc32d46335381ffea8058c330f03507b2da62bf68d79090ac6cf5ebcebeaa1d902ccb957de4c497e8321583093d67971e669e390f8215f27b32ebfc814cb0505fed589b10a208e52ac07de82dd3e79018961026f0eff7a22e221b06cb950751ff390285ca122d2889e4a9b509c020c73922efff8a001eea12fb102c215667bc55fd97a3d8fc678fb35f7bea20c2adf7987fe38d364178811e6738327a781e0defa8c85c64a5fadd27bd44ef68fe2ecca993c554d77e83c27170fe383880d4686c3da4ce6ae178a14890fffed1c2e965604d032292bb496a069cb1337bcc2abd6544bed320a7bdcc99493c1431557523f8f731b3c1bd7f765b48c56502428ccb9a12914ca7dfb63283505ad3e9855983a582102669304e1559a86113a9c6bcf89cb26dbe45644c267af5d71b87e34b4dcb3b2bd9893db453d893f71a0d5fe0677354ac1a1cdd25fb6da112394e0c286dd770e4c894a272be55dd4a9343b38e0cfb56f308a1e2d8f95a4ab8305537ce1aee1b9e858f421fa50320dab3169b2b37a82cbaef9ecdcc5e3fb7d01deca00784b9922469185ce87e3d337b5c126a32e5672f654f1ccaabcb612e14af5f0e6e826c7c642cf967820ab3eb4235c113771720b59620864c112019b9956f1b2869d7b330a966e5fa3d73d7bbe2f22b63eb6aa88191a2d260f9f0df3def7d3d9c1c0b547b9abbb65bc6d047dbf5a034d13072f30122977c35f07457ca45abd85b77f480504efe18aa948277829c728aae5ff769855cae73d677d6ac5fd28f34519b1c954bd403dd1f7b32ee53c1a3dfd43000165a31ffd7c3ba61337f8dc212718799d3fb309695b658f3af4a1ee35a68aab84112efe662cfd09be8f9dcc750f768364dd56a098f06d2c36893e299a92bab96e8fe95127b97da5d0ac2cbc464376161dee876c68a7e2cfb6a88e9288ed5504c6630ba2b61ecb0b60aabc368e83187722c6ef03b055dd221362e3c8bbc377e0ebb7061c8c632af0c1fd39ff701095e69d265be1caf94b548c0acec8825f7f368835ddffcbc0ea1b2957df8a213dffd20c057ed670668c40cf9b6466e438243bdd269396f9529bc1877a98e2f3ec9b7e4936f4ea469b71e5ca66a95da0beb7efc4471eb4e4b7a60d53c1b6ce5f0f07aeaf1c6f28b7aafea29e7fa0cc77f8bf38911ee39c0f9e3fb1f6cfe3e735c68da58862dcedcc58da71bfcf183aea9cfc2b4e0bc7bd7ed779b20970847b684c30723a5e343e049bd48f85889be4cef5f78f8ecc6e38a08f71fcd48e493d3307a65507dfb596948f289fb033ace5a2eee413271f0b48624cbd1c5188c7561dfc2bad90cf105d42dc482832b6dd7b7e5c5dbcc8d24a0486ef6e1170c6fe8b0856825a8b14cfe7755ca478f2f6ad74096ba094e102527f170002b23907c5064f9ced1e547a1ba9f879268a748eb600189c0512639e04b786235a2b7f0fcb5ef0fe95b8944e2b9c16cafb9c525c2ce6ced7425166299315bfbd650994685e558b799e3057cf2fadfdb1de07354ebe851ce582e7148e9dbe1ad701896ea81f4e663b149f080ac7da3cbc48f1a7b7629ca492681df53090292de22b9c2fae0aee76a2f4b1412056d8069c5dab4b1630b38de88b7bf902324d019ee2f6299dcb70f310599a9f4f765d1100f87672ca27f006","path":"m/12381/238/12/0","uuid":"7e17baed-0e2d-4e24-88b8-4f191e24f9c3","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json b/scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json deleted file mode 100644 index bb6d51bf..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_13_0-1763367112.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"3b89f0a71eafc9b32363221549b750309a55b7f57b05bd4b094bde8abdd95e75","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3bd61eab091fd5e03ef5082f"},"message":"3a34340bce445348998be6ba30ff6e95fcfdc03c6bb5eb5c78e5af2632ef99832b018ef5e3c3a22371a6ea5d1873b3b1f2d83be30fbc935c3e2b06fcb3c66388"}},"description":"","pubkey":"0xee809e24590da57cb3b3e4103bfd249323a4ecbfd8876fc816e2ced4b3199dda0e79c024398d7735bab7c076f80f440fefafa16fdb81cc017d4addc04ca9a1ffa444dcdd8a0afd89e28e4ce774de7d14babc511611706be3751b65fe22a6fa8079f06e913e8d2f46c1ac964ac5b429b047bbcf1d24c46b1b61b0b9a8caf337ce650b7d2955fd69dd7a4b7ccf30ebba729419690cfff2180e980ff5483195f3441fc94176e54fd770a6c4f7ec8aa2506cbf5e277c527f9699086d2dcb393f754698138366780a5278002feb9923569ea6fdb26a7e3a6aa38c65d5ba6420b7bc3f4823826b10aa9bbd37eb38809c6b4db38d66b5b9a34c507daf88b0b849a5374f2d82043c53afbef2052ac6927af9b10e07b6786b574b414653526c059ad1ba923c47adf0277074e7d2f9aecdb5f70a2cc9908d6274c47942a556169dc7bd634de147f16989aaa352f05972866de8cd324b43f221a6d9a7d49744585466dd1d663db2fef5448e3ee915f84fb8c3625877a37d5cecc6f2f975ba5ec4a5a13ee5c1394e5d7a2b6d54556de4b480ee5c30d8bcd43276c53be37cb596e737cd01174dd5a44ab886c13ed44d5813387360591bd9c461367fe155e89a93c26f7ab322acb7c8029dd1ffe2c1cdcb6d90fb173cdd6c12fc146153e23cc1d3f3c71d56b01c3896960e9350d6485c803e0170e9a11b9cf0688f3aabd53600e32630f33389a18de3f143b9d8c7f3f5e18315c4a71650e57c9808c49507106086928d4f02ef0229d62fb08eef5bcea4bc474ea69ab244927b00d5c0ac05e3326287d54f8d4044a1c82cafced24e76085c942f7927a95eae41c84276a4ceb0b0f3ec2e0559347dc982e504f011d28468caaec1d8020e0ea9c9349360c42c208fd928b44f7c22717888dfa77f857adaa5b06bb18a66eb3b3481195ae0d6aa246ea17beaa31746576ccc2179c19a15bc4195bce7f5cade4f72407a1a747412b82f061e5c6aa1bb1802556baf5603028092f174496742a69a2e3a3413a8f7c6b58089aaa3c82c149e07ad72eebade7c8653d52b6ed60f3d5e0c5b756ebb4e695c7d6d483a64a7e71ceb3c488494597806e0b5039a478507a0b2596fec1699dafbff4f9759de11103f6803c7e9a507d0ca40fb9b8932064aa9960d06b4929bcba51bfd6a9eab7b56e45e93b842115677c84797fcaf176f539405f67c79b6df78bda5d147eb16ece19db319642550cce456ddb28020206c781161604bf94c76093f8f6c8e08c6dec4154686eea15b600a1c0a6eae1cf60e246aa65e21c6cb08c920226dd7811c7e1dc374ce4bd4abe713749ba68a9c137b2f0542d675b25390a3ce082536d8b1b3e592ba1b82bcef9d3b51ea00f7c3259ca320d2ee8755a42d264cbfb474beda9975d58cd5e6268eb26acefeae07515ba10a14856dbeacf2b8c5189231cfd18081760912d5442ac8600a202b38f087c05850b6ed323c43f706fa5eece58c8d497892bbfc51eb9830d2af66f2f96c19f5e9d3af70672b06b15d88d17357a0f9d1ec91fa5f60d0c30d266a8d91711c2edf66d2200a7de661d4cbbb6df4b3bf28b8d33402481351373fc0dba4e39fcfdb515f8ee69a5e269fd8dbe86ea3d090baf13205990bb8c23bcdff32b7492a857c64c68169d9305bebc340af808d5898984e018520bf37fc05ce16e98dd9b7becb9a204b2bb7515cc8ce3fc164ed04b8d4290b208a9abe26b346d4fc6a00aac8e90ce6589cb2afefb3d543918e555116844ef6c14345e63afb6a858f86642744bc9d0c1b824be12bf3e46b5a44021bc46c5292de199a4f6c756878bcb7758b3cbc80ce3f126823e4e22f01603a4a9cc4be4ff57b7bc82d33a7e4caf280b4f3e02a97f2b7f0af1f2ca525ee25c4cae3a65502aeb8df2e1fed7124aba4b4a332cc04f83dcfe6d643c8f7538fe13818b4f59b40d4cd1ffd7301c3710adbb6326c4acc4af0c2479160ce1154a6606ddb2cb7ee2f036eb9c95a6c445c906bde8d73ca3f40ec9ae8662607cac790ce2bec5f883e6c7c93bbccb2ce4d251569c57ccfea18425bb34c2203df8b61c1d9c0e007ac6d81f92ae02f4da0fad297da37bfab36385a6cccdfb405a465734e707a7e166c3b203eeb5c28a414fae875b0957edda318f3b1dc7c1794834c3abf627660fcd509201418cae1ca049a3d79feed0bfb4a655058dbe2801f662bd4f3855662e5f6bf58fa77429dde07351036ec61203b843046c7d6489e93d586d1ca5f96250a9c09215a0b95e23befdc65002e821751509dee41d23ccb8e5c3c270c30d04cf562c422eb434237f46c6cd52d116bffbe7c553a782560a0b659891d6a9eb115c9b010411d60664c6e0d9b3d92a3640a599d7db8dd859dda6c15c96c43029066ff1f997d3bebbcecfea5ff46a5bd40a50132dbdb6e165758b39ae3494058f36d7edb574407fa87810c33f78f3d31bbd664a1db96cfddd1cb30910eca0c78b1a6e76e36b8fa240b9fa3bd8b5dc2b2b9b6525b885742c9445e36a773ce25cd2ddc8890c46f3dd7363239bd39bf30557cd9dc66b972eb78b3b50c5788c3f78026d3d68ff4110164298c58f997077196db664d136c6e4ef7c0032b9f7f49c78dd8faf6bbfea27f8b17f798c0bfa2001d5fee3ee2ebb95ae001f35bdb41dcf200ff909f2db586d976b40a95d16de18c8a78b349f71e90f12b8ac75b01e76a23bf747f5179f1fb60911927dd5972681bdff1901ada559cd57af41cdcdac0c9ab0ce7f4ed923f3f4536b089fb9e5abf24587a3b1e14a29cf7eb64909502ebb918f23d0e302dc8e7941fd1f90be81c3a44196b3a2ebd9c7627195323cc5519e6d7b0499b55f5c20419e17490d3905079409b871cc3df981df69ec17da3a4d45706e7d01fcd023e7c5267117dc169eb7271c85bda18865e0ddbcfaf59f0f49ebd0daf455dd8bc776c68ffe4be873ef11787ba1c479f3768c143a85b1e19c6a0e449491d2b4077e2a02388e6b90d359e83f57ffeeb98f264775f3b820ca9527aebfe4c8cd45086f1ce3b29b10ae94ca0628c33a15086c6b43e2beafd63f73bd6901f24ac7768ccae10a0c342803dfb6e820691bcbf14a07cae8bce9f8ff040f4a47e86bf983413c670b9797f7f5b623bf122de8e98a2109aa8c45e4a36ace6a8c41ca94e84429d72e5a5598fe650a2dd7b47bf62cd1f6ce72e40277dd7bc971ee027b18b72734275d0de9fd65666e37465f4e9a11fe53e2829d674a8288a0c9be280f367d448b3a072a4328cdc04233a9b2bccf9722885107e559fbf3872c5b68752ddac1d7d708ea43caac546b620956a9cba2cb62b3450e59b1e778d55531d43def25c07b8b3b344d9018dadeb126ec635a345b3deafc32f7cd7fafb50cf9ad026d8241d8f52fb71b403807b5ecf8e0c7eaec677e2ebb069d41cf311f277b337ffcc93533ad2a05c6e3729c74b828722354172d36edc014c2101793423bca2815ec805fc748af2c3920da6aa9e94ff77def2ec2fd6fc94045be3171caae6d3bde0a192d6c113354f988c6890a4bac749792f60ddbd5facf326603c4672502297e6fdf38bb2a78cc5ad6171f6d67283ad953bf82cc844d6c3f153436d2d0d90e904010f6483ce0f627c60cfd1356a06ec0edf2bc561b546998b7079782df0ddaabb375f23bcbc8018ba1c36","path":"m/12381/238/13/0","uuid":"f89a84e1-a2bb-427a-965c-f9c6f2a4e9e0","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json b/scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json deleted file mode 100644 index bd8f0cfa..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_14_0-1763367113.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1e113a5dd19fe35f65a72e4326a216a5b7b79768a0d6cefa5f7ce4d106a49184","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"558772ebfef48170ba49f295"},"message":"ff4cb246d67b0a209dc01bd28bf7c304f177c701c1a7210eadefbabc2dd4762f3e4af5dfe41e7db8a157e62c762fecb40f3404310e91f2cbfbb8295fec66268b"}},"description":"","pubkey":"0xa60ec75e057dc9a4153691a48043f79b3cbe20bfd73e68378e86e3bdfac182876a6ba9cc7e36d68679f47048c54e469ea9860a2e0c2db4d9b50768413fdd3c7b76a8afb9255c293c477158c1cafb43291e7376d04ab2f51f04ed5ba446305041b5acf2f101d3386861daec96cebcbacb4a9f39af5ae2224cfddc357dddeffb33d44285ec764683a8e0fbf9215836aedcd118540cfea8c30f3f3e1ea68c0b5110fd8e9b38965d88e4d75406295128fdd6a50fb8b387ff40e73582fdc681a39a991422814940275db70fb038d7ae27ffb38b618b966740e4fb9a50a801d9d447870dacccba3986186e212ef2a40a6b71725d2f0122784d80740ef6830b866e2fddcd2fe4e3a3c080c3f19dad5ae7c3672e6b2460c4287d4d3ef2f2ec35c86b68d88bec961204914a115e6fec934499fd2639780200bded78951b085af3542ace43f276de195df6b5dbcd4a8c5252a47927f79f009356b95496493da05cf435e1f442a2c3f2c382b0e562053d36819fc9824396acdda245908dafaacddd8b30aabdbe03a0f7c277ec7a764ef48d34285877a38c817605a08fae049734accec094597f1576f7b4798bde03a2fbac34f4509524bdd9fc85241ca0cd5a2fb831cd211555d9912cbac3d46638f6c894c739ac0817be17fb187175dca31e429833ca905f4472d003134250285d93087938d39880936678487fbeb972fe36bbe7869f74b9b85753200402ed1a3c73ba0669fd3fe2cf46fcb75d9389ff160dc982325b55f7af53c0ac6b93939e4caecef3f914f4c4fe6770dac247af5bd964a94c307769ccd8052e91f267e612e8facad9df6a98bdbdcc0038d837ec6fd647f0321b99c1c14aae9e49e9fc2edfe4369274c92dfe8bdcf09a153d4624c39909beaf6514e700a49b01e81623c53fe9bdad61349c7f37a3316d1cecce482f6554ac822085765d2d403ef8775a87c155c946cb1b69c37cf44f107654692c024a3ec436fb63a72a7254b375d6073dfbb06103a5769f870f5a8b4b1fa717ca07a4f2ec50d3d63229975de604475a28ee5dde29a7387e2dd1ece81018ee4b8fc52f776f641610bebf24e54489a4ac633071b969ecbd514b44029c833d51a85a4846ee6453ccfde15b00c29486736e1eedd2777f2899972677eca703c45f00ba38ced9f9c4587e59ba8e7be8407bad8925e931f5dc970d225d770369043f0cf14962b53618e5b8eafad136d2abccd67d7dce62e666aecef209044016b70e0c33a534b937857134347f5c429f1b179ccf2f9a896b09e6ffb04b4c5581bacfc9df7717e6a12d9aa06a608e94290e2cead5049b9a3045a59b0714ee359ec8823e0e6df3b84de1c62016d9612ec5a7240cec5ce27621de7ce44b371996b2c4f9c6625e8bd8d74d56c7997102b164e83c2082880060be33bc0f77cc24e7a6e501d6b04ef048a45d3d0baf6d41ac03e812d30fc4b5b0a76cc22815688d5bf6332c532d8065d23f742b7f8cf996257c5fc072ac25395e8507c28abae242b6adb2caab16cebc4714784c1516ed90f5899f3aa3fe82703e5f093cc90f743f0520de3e54f9c68a3142ee412662a2bae9510181a320675e8e7257890587a700153127a0104e613df9f762e6a03253a9988143158046a361ae2794998f77397f770732a5551d311489a1e7bd6f9bf668047d76e2f1f3089968c9834c9d7920bd2480be33155407c8ab4bb5b0a5822a93a16b6eb969eff1b43798dd15b8c2d25f80961d545b9235808fc68c88f5361898e5b9badab8fdf96a663d020df366b708e8b9d8f35430b42ce6d611fedbd69c89fedfdcf418655feba0d6c615d8e67fc5262b077591455e7995642e0196c3b801c888e70f701ddcba34389b1b401477fb588bca567900f18ce7cd16a6f73835ea75ba2b7dff9a5048504018cefe9d88c0d08ebd86320a8039c29c6baa8b5c488968d9208d0bfcf3125ac72abfbb090c944c0fea6293b2a64f910ae53947d2c3e45568076d3e9e174fce2cc35af0de70a2897891c9101492deeb728f7e546da3a93f8be9da938d401576a6140fc221d8355616270653a5782f2a956e599fa86785df24b34f039727d3873728b391c4d4c6077859a929f4c4123d6d4d39731afa01acf0f74057f4c7b67fe827d9552953adb1fb614be0e92ad270e76ebf4b2992b00f287c866f0d547572851493ba87d146f86318265b7e5e385b6d00daa5dfcb56c6bb7e02b908cab4e6fb58fd10033b4f9b4c151d35a3f2be0e7e34636b999f93b1f74af47744566320934a4ed2c05f7fa0a22dedab4a2da9315baaf571deb6c9b11cc61487bb6bca896006cbc478ca5fa60da5b2cb17b76fc552b46706720e0fb6ba6573ce7f9fe4af676edcd819ab4bf7ebbde5dfade7294edfa571f01388ae4e992ee89bfd90382e8f2e035339b33a7a0259e05fb3ba3f026770e2bea094132dc72de6365dc9c00378a033b1a7e3a9b4a7eba4ff4cdaaf5b4c87049cb6ee113ef22a7afca02182f493dbe2d2b4e36e8ec2a039fe6f9d515d6d1d5219460fd58299e8fb8045fb23fc1657243fbea501a318f1c6505ad05ea521cd8e608f582ce065bbe9160a3d3b37d73063f2085e77697ce500da92246bea0dff9ecc87fe074b3079ee5874c735e451e9ab2b224b20013c328507c78c017c876c42b8df015ac54de13886ae18acd9e4d52db78f099c3aa8536d11d87a74e80ef5421133eb2985177edf9dea2ef4d1ffc17e2ec1fbc25e4402a2acddf720aa22183ad9c72e6b89afc966d87a84d392dfbf758b1bf0dfcdee12dcee34454385e8177199d3438d56605abce9e593edec86254d8ced2de99140aae5169b493418fbab46a6d8b42732f37d9d535f25cf7ee90f89c348ebc8429d44fc78b5fd9bfcbbe3974429f42075ad844ff3c7fe029dc013b1fd25efd514241a423c0ad6947bcaf63316f55029c7868016bf8b81b5a95e16e41056cd1a73fd6030910175a5758865d6f9ac6d39680e1ed100fbb793da0715ac2d5324acce98e3d3ec791eb7748653098dc5f4d437f4efdcdfc6cc02c6bf221279b2f09be36b5302c07373712f7a02fc370a561a33654e1ba1e3b5d8f4b0e2fa88dcf5db2b5c87a695d2777e2bd5b08ab0e7ce1c9a157c1eb1484c6852b8c2f6c3c6f6e1679d6350486640a6b4354766ea6c9074642aa0971032718d15f4ea2de95b75944abe33f03c965af371d620ad2b78d73e752a566512813b105e89de612f780671327a49bbc2848f1e8c5e2e07ccbe97cf6af80e516fb9232ef946f5ea6fd844a5c42eb3e8552f06e999bba2acf3ea8294bc74a5c0e750ea0f48fb2d119534318469977d76c7c6f47623ebbb28c24cb3cda691ef08bd1e996ea345655d162335589139c8bdbfc7b5eacd70edfbb92b74ed4b1e90cb70c25fe025ab995ff323fc2f6e68766c7713dc3c108ab6794f959ad41dc1df6e0304e17b0deb8ed73ca31859a816938dbf2cfcb910c0e73c588da34a734ebd4ef2dde61e7a31ae122e91cc3a86e24a241fda93acc17fd87a336e3d8374787fe19f3c8c68a00911363da2148d31a9f2aa7b7a5276366d6ec9540808987b4a785d11cf69a5d6bcdc3b576e3a37b81e170ef4e014620febd3ac1243e4c5bcb582d493e93619ae192b5850ba88a99f1528171bcff6a276509e443f0c57","path":"m/12381/238/14/0","uuid":"d52978dc-b04a-4814-95be-7bc1a34c2fd8","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json b/scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json deleted file mode 100644 index 7eacda9a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_15_0-1763367115.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5a5175eda8951109bd4f3601961e0416790a1b448ef3a1e52ea9860e05f4fde7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f88cfe5d4ff139aa5e470aff"},"message":"74cfd1252eb74ee616f9b8ffb05d9f8afc901d6257bd0dfd5f4d7b62fab425ef6f5b9d6750799c06ddc312f6bc526a0b6695f374502206c3fb5c138331c5b8bf"}},"description":"","pubkey":"0xb80867a513ccea857a6f7e7ec49c1b1b57c81d4612d3dcaab66f611c0a30e6ede460e987fea4dbd60222434c1f2afd869d2884a5e107b723c457d42a1a0405c9ea3cb04e64efdff78406ff191f8c014144b3f4db93ded5a062f06e1ed73b40d13ad7909a7229e8620c02c21df6536a1a76e639147649fda8a6b4c38d34a68f979852bebc85287fbd1557f3fc946f3be128ac62a4b6e2295876adbd9fb1bc30082ed8a939cc7d5fe512a0a9d617564d19dbfa9b9649a543a53fca26e1e4028de786d1304cb6e3dd15969545f3d7d8753d97c810e812715a5fbdd18d83b1109b0ae37cc6d06ec541e5e94e9e0ae6b30336120a92b6990b326b626807cde731cc6260b3dc3f68ae69689e8e0a5dbf728e8c89534d943f8938ceb29b8bc6c93b35702c3965b13f5cddbf945e03700a4ce29c11fa8950d264f3a5fbe610fc2761181298fca4b8053289ca0aae00e5972bebbbfcf2ba3bd09203c6d071ec4b4883eaaabb3827406a024c96da745a8ee52d88e0cb0b475f15ca6a4d05f2bbb7c0a2d57764d72415a41e6b224e07d947b23f2ec5c9fadd85f6906f46a72d23de741cea4f405fc1db713dbc2ad546f6753e16f37ad7bc8afa9eb483060833d9ca2af1d3a558cdde3e360541ae508f46af2e12982ce8f13dda2ff9b5cd1c74d591024c751772da25d95a283b0e1d60c10068850fa9f2a51c73349efe766f1d0d9e886e411bbc71c75501c4965e167749b98ff9d0d10f0703dc5231a1d46e57b8cd9324d72fd1aaf057c8c2a622847d513eb00f30030548c1a0cf1b3dce2ac561decc2f4f8def1bd743e220f841a36cce298e79e37f521da4ae38ff8a7d6e07b327ecbe1fadedd1dc2bd0f5106fd4bcaa22243219636cb06b6cc1fb5d245f594479a46600bb79d102f5f37a1882178bc4af98be643de085349ad6691465d86eff738117ad323c68e0dcf12d551dc59d28a593eafe926df035feeb6534e891aac69201e8cb97af542c4b437b664b4c6c62b49c561ff98b516bd1db775e6ffbbd3cffa33bfdfce263294c7a7d1359f7163f46a5d853d0ebffa12494fbef20e3043fe2c4b4882ca65f20c1c1c98e3e0110fc8a704b185995e92ee280acae9e64efba402c342a389cf993be94e997b036bf0ec9c6f27da03fd4e89a2ee97bd4dd00130267b1721fad0f99527efde7878a67bd7b564910a363ffd2a6fcf2e67b41526e4f40bd2516cb90bfbc609d996c3d5f596d4ba67cc734d55c171e018abb2164af3803104ad82282a04d3fd5dfd4da0f9964d1ded3cc209f4db23f3c2cd941aee4755784a1559ef1c3b6c071c8d044044b007351e3a63cac8364f1b9485c3bd8ed808e6ccffa250276c8fde7fb8502a5d3b042106b2bb790b1e7e59f46c8e46fd3298ef0bcc936afafda711d2af0e96a1f7d2b870232596e4c31fe37965148eac29044ff33b724f2ad89896c7654514c751bf9ceb541437380217a38164055033ebea526e2120309f045e9d5ba7e113d6248453651c608d75e2695589a2f168ad1eb33d2d413b0ad53cd97b1c20eba27522f2cdf0e5b94e7b4f97e7abf148da8b2cabb0b5be7866932f0e4576fbe335992390b2194725e0823be062f253c538270bff8e245c597f6e985b45fd1d81bf826d64f14443c08b4a7b2bbba49bb17d276063521d15feec6f6bd2108df545843d3eb0298cf901d890276fa929250f6d5b97d4ed8589d3cb49a9b5ce4a5ca0b4816af21ed7da9be2e7cd812d5b9b27704a0c03c5b7ef7d7d2a9f0f28738db0b61391d8aad6c803e9f854b2bd58dfa6b92deb63338e8b76813a7cba2e929fe08fde1e9ef1fa48ee95f42e66df7c1eac7ac2e1e9d08b86fddcfe356124786a9c0abc4581c547476bd96c1b1c80e779a211039b487095d53bb18717c9fcd6533abb7a0568427075d8c7cef2ea3a91651991464ff1d617efba1a602bf762e40a83d1f1d6ef9e7d6e684ff1e6d2b8818bf4e3cacad77253a5250c0e13aaf55590553f56b293f38aa193ad59197d81ee1751cf40fe49b421c7dc7e777c1efdd1abc3fabcbd6c0e3115753a5d67aa519d4fbcc7f667079e6c41e27830e22be9ce563c72c9de697c94544c0afcc2e1a97c79d5d2112cbeb9b9db57f95ce9ce0de88ec7fea1e7eb417097de331a4f7b64ede348a78e901cf5f568eb66a40854003f179708fc749a501ec3c6f1a1ab25ada8f71b9c5bc796e43ca558a6f4255f22a92bc1fbf67dc0eb149047dd5984d4a18e4b2b79bc247e26ba5f06e0b25f96be62a7d51624a7f36248820048b92755cbbb9b5bfead8c4ca3413964c867bfeac53de0d0b2127cd7bfa388e348d72181a2f8918346c32381f474b8a864b9f67e042bcbd1d3ed0b96c07d73b203e5cb051600b250ee886ca21b0271e27e797282390ce95b2d89bab1645021f9046d3d0f5864d372c5c188f332d9cbeae620a43fd44d7ebbad1fa52669bbc8021ecd8fa3c39e07c248484e5badd4d4bdd3b4794495cf65d64a8225752f24fa931278b9c2404586cb8e29aef2809decbe25cb2b9141f8ac9226f36bf300b41b8f1081c3cb105e0e6363ba7f6e1f180974d1b06486c1c05117e71d800ab7a7de72bd37967862292aad18fae1415d1ccb547f06da97d976af1be6683bd11d6e546af4de573371685878ae11ae314a90c5d69d5b7073d7001c4805957014c40546de9f1917c038d91147bd4599e7443b84cd45863438767731b8ccd67680a3a209424855c5795678c3fddde7c02ee2f1b5a3d22ab7a7ed95bc0b6ba7a3992c84a30b4e8a5defc33555cd9586745d381391b7c8aad2496b165a0ba41d518480b99902ea516a0a2fbf41058bb327f67a6c6cc7c97f156ac2df1a3b19c254261a566572504bacbac7da11e28b82b92f3be6a7f1b62030e98a53ab2414c435312a11e5d08c5439e76f495e1a009a0eb1880c6453ec9d27e12e08979def76d93cb1ce215d521b15751d68973230a38466a58d7c67178ddceb533ceee69f3533f3944f8cadc9b538e6176a09e846f5fc98c4823a9eca34b0f3f25a888d4f838ca67752a402bbe1baeda35fd03f603f5f36359fdcd227d97e20cae3628c0f8b380f0cc5e4484c191310b1fb3223c827970961afc900b03c0cb97f392bc2f4cc84a921df82155aba6fede48be9bfd123848a667f270923b62ed8a52fccb77710995b0ae47e853af1079d0fec45e87ee4dc8984ed804216005d1f2e871224911fff209d07c00ebb9e11cded5639dff30db11de31889bc052dd506f54f761fe4bb21aa2ff1288d5eb030905be83472ce9f6f524ffb87f203d444ccc123be8b465264fa792bee3b674d3cb967c801acd056f2514ddb9ac8777d50e2391077e9ecded43f8481cde8a7bbb38fba1663b65388237c0910c9ed815bd97987ed829a0a5662d856c77ad4d22c69680fe333a309a49fc4cd263bf78ac4fa64c2880f57e7d9eb77e7c21d8469bc3e933b5281bc5f2f949dd919be2b403cfd382d81f826bd9b15d9fde0e84b8a58ff9af1f6c90b76249e2561efa881497f8ca74057467a549d115da787be6ab6ba2b2bbe7af5ebc41362d1a071dab62375b15d3610f989083f5a82dece4a3e24ad5dc4ba1d5dd5fbcf7ba8003177ac7ac3ba16c12fe80f93e7eb470c3479b97ec8511e1248808b8e598f9a2e29d19","path":"m/12381/238/15/0","uuid":"89cee703-56f6-4e1d-a55d-77a821c9069d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json b/scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json deleted file mode 100644 index 24d2110f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_16_0-1763367116.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"6b9d7f3efe7ce3f4970655a69891850264c70f28589951dcc615cd91405154a3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"60cfdb5bc1e088de260c63da"},"message":"211167ff18c33be5dfe098a18d85a40b71eeafc8c45ded7f89e013acbe441a91c2d7f47eb632cfe4440d0fa41c2acbf6c95ce916d3b2edae3f0e6cf0996ab81f"}},"description":"","pubkey":"0xf1343356a2485425f358bfd06665ec441980d49b16673ff7537cb2fd25effb4001621fd59b2e64c97004b562770cda105ad816945a288084a23799fc6f80567608ff16e644888c5c33d06c766138d952e39531854c1492f946eb4b76c5859686af5992b94ec018533d893b74dd9e2e43bf4703f0f25d28aeabfd7b7d66587cfcf43abe8e0e908863b5e57f82296b63c8250a52f32910ef976939837b58b915d19b1a533fe0e77b49789fda75480c3505c787b67c924c673a208dbaa5324c9d28d0f5d1a3f02883cdd0f3c4909c673441f8ae348b5582163e35844ff624fff7dc0c6a1ffd12077e3e0ed36f022146aa389d625fa63741ad3ff715fd692ec13d873fb6253f9cf1ae3add5608fdf9b603c47f4bf99ef0875ac4802d664b7bc3ca5c751d56b6ed7b9ae265414acfb097bcf43d4df24328d78fb86d43b0e54cb654a3fbf2a6157f6cffc8ef83be3c71c37a85f3f4225713522e22c0f86f11cb14800523cd567296299757a526a7bf1b28b4817c317c9f02866ebfd5b132d99962edb4692bbfad37ba8dc64459b3984e3e73b82c07549d193ddb08c117e01493be3c4a58fd9d3265cc83a6e605c38ce0f78d9d3827b2b5152cc6432d842bc1276491ba1584773f4a0bd009df90d3c1e09653bd80967a269e30d9973b4c38d9b180ec0029fe50b55f887003f5cd88f42304604d801890ba98bfc8a6d61301754cd30a64e9e2921d85eb7d3c1efaab71b30c98e68c04e21d7f48cf010c5fb38e71c88cf3208471ac2de84560830bebcd190f8681f9b10ac98dee34ef1a7cc7dd644b938516ad2466abbcd3194bceb76a219a3c0cf031ae7292ba39f7fbe0abd15134c0f008695f6d260534fb913a3a5fe1f9cd58e15cbdfb545c03d1bf3877500a4f237a828ee83673d52db949075148f632df81cea356d693e7909aa5c601a28a79ab5741d4b24a569ed14716de02b4dd86cd57a898390aeb99b670f9c8b98dfa3d0ab0a2ee6df648956d3e5a793a3629c6b09ff5364ab0ade60e940122269f87d77c1706adcf8696b47cb86ce83d734a4486a877dbc03d71a6adb49085b21f1a9c4632d2a6a0e759b6af49edc4e3c9d32998bd9cb16df1f5f722099a974d74f5a236f0d088dec5330aae159a82b2003fdddc720842b11165eb2f732e51a395534adf5e09efebc08367839d0dbfb1ac07efb03458193032b6a996d7ca152953d988adad8f624c154196ec8d82a1c675b80e679caccf204be1caa6e7990fbd5e76cfde8fb35304f0f87582ad720b1c610ab29319b8765a004a74993ba9df46f04e0ac9033e71e9cb7ec086dd55fa7bbeb5ffe619ccb3d688924369574341c9270202e495c5decea0b9be80be94132dc8416fe0d6c287c4f50c553103a79c4c7cf8d430068bebded31d064b6c43dbd6c8dbb37cf5bbef5e107be5fc53537a2bdfee9c030217b8b5ca698cd2fdecb31877ee487f2e597c289cc0f0d33135a90887d8101f0def276c4d02a74600ad2149055fafca5870f4eae320121a3c070ebe9c28bd874acc475c29aa0e5a274a40f68a96144368d6bd295a2e4ec51428be02876446d5e53e4385db7bf9cec6cb33a29b3b555ca043d5135dade294f4a09f63066a7af1274cf52ecaada3527a8f9e08da73ffed073be4db358a871f2ab5cc9f644ebb077ee4b751cccb7ad5d967d0e86720b9bc5fe7614dd6f7476e3b942d4e866c53396624ffd667a7fd9479304b5cd61015c737ddd5a273442a45284fff0898a4a1b9aa39513d40b5c546ea32d1dd3c4083d565d667afced81b517d593d9bb7dcef80b3853a8cef2cb82d8819033295164d378cdd37a6f9e87747f64a56dd36917af43cee52e9491bda2a6b04ae04a0c8a884b2009b90f65eaac9c541b2fafb53d189d2cba25c308f6d977b641d5581589af7e8c8e780f866510e04e05e0f30eb6d1957cba4a22d52158e848e30a2bdaa7924f69d7da198ea1f91b1dda8d27c3512ce1e9e89a8e31e4a4582d030fb6ca75765645c2ac15e686ddb1bd7888f43395da56d25e68e0281bec87974e8e5cd64f2db429395e2da15df96ef34436eee390521a72ce825db77f87022e426fa59f2f8d4ff16ed03d7e5118ae7e422c3aa4f06eddc960f2127ae81439e51018c4d0d55808bfc2835fca08f5c97b106ad9736da01582e238af5ca9820162be819d794cc075ce073be04194272b27341e856dc3e77f8523ff428b3bb28c25e30db06340ac5573959ab26ce4d3f56c3e2dde217bc08e18822f68fecdd4cac331db6f004479b1b3c24de041b56611383d76e713ae4aeb02db1238eba0e6e77fc637b73338c97d7286ceb52b9d3b9623ca6d1b9bae419b0d52e33fe871362696e09a0d4398e1ce3d11ca49445ea81b8bd014c641c523f2977fed41e599ce174cbaceee7b896383d0605e0068f0017eb3bdfd0f97da9406a5ac8a8f4a62ab3dc75e0852494d01d8566642adb49c4c969eb98df462cb8051839d946ffead49c81d31071e11f55164de36c35f71b5be09cef8506e7374f6178a321f34151cd5494d692caa1a073eb4732b2084fac1186e7af4ba0a7f9a77545c6c021750f9dafcfd93b1aa79924c2f9329036c438168cc3d38df8f5a11d6837fef368e0efd248d92a24da4ab5cdad88411f250ac03a8850634f40600f62959f4ffc9dd3dd3977abe0362345cd13a295ff0940a73c20c7dabf459726d77a8b7d65692ed5919dab42615dcee173306fdd74dec000eda1991848a206a753a11aff8505011d858da8b5677678a7f87e177afd02931cf492bc13ba1547affff407449a9bfcfa6aadd198c73c353d9b4c619c1cd8fb696e8fa565dbd3e85a98175c54f25b0ebd375f6afe830e83970f4f68e7da4b2e7566166f0981d935b2514875d51d1ad5a85ba8e4d969cdcdff2159dbd71083eeaab945ef8dcd7a66d7b8053ad001d281fb08653bbc0681953e53beb9143a318db9ef95123f08255eb33e29fbe2b4e95052301dc978756516a234105b8f2522ac4c96b71f8d0bffda9d8f5c431e33c0aa184e4055ecb6b9875c09c7013b15cac3f7bb884008be672b366084a45dfe786dce00bf4191b07112b964459419a9a2a0dfad8f618389a0f6015876ead40902afd66c9f595dd93cdc33b723b981700ebc34930b120262bbfbd27c9884b5ec6c6a12f66d3f578c5eff9c8e9d41580b7da20f04f7792b431d310fd7d94096d63412b13f9e660cca26dcd3761412b96a03e5df92e157b2b5ec12e8705339898183226cf73cd043f2e8887037871f2ed445b7ef364c1ccff1a080b09ede63019f47e6bcb028b6baf6b9e868a8de535172ec707ab6004643e40ca62df11618651029a3fd9a4a609483a7cec22b0d8e917e0b044e8c6aea618c5e64f1c1f2d5d87ee36da6023fb003e29a8d06639078296c470bee2078e460f5aded75db841d1f6ec68d06ce4cd92fbb39163f3a2014f511ded2e959182b244fd6743f8867b878617720622e53e613c36336227497cb14c49ff10f26faad668264a015924c56cc455004c6d7607b48e56da206885e7c7f4588519f250857d1cb8b5bfd158ebdaaf63dc2bc9aa7c84f4a1a39c714095ae346c0e4261153cd151abbc6b55d6c709dc15c3727e33516124a0a399970878f496147a230270d6aa0ba3eded632bd1ae7","path":"m/12381/238/16/0","uuid":"d92767ac-f1bd-43d4-9127-aa1418f5a4bc","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json b/scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json deleted file mode 100644 index 1d43b50a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_17_0-1763367118.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0084c7cd886d118d2c4a4b920864d416e27ea7dd7e33c61dc71a76c93ec50020","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"42958e1d464e44c664484d19"},"message":"a0a211b1dcebf0fad61c8b86f0bd8ddd9e418c231877a992a0148f14fe12b5ec55452dcafafaa034178b211d843f4441d29fbf3360c2fcc40560cbaf2a7ee1f6"}},"description":"","pubkey":"0x5f96465f5e2620ffdbdc34b2ca4c6c553e068275a1e4effcc73011c5ce90918df7d3a1968bee22bd8379371c93afff9e09b6c400c8cbad1a6b80f2d1548163881a54818976319155493b9a5038014bacba9f28b9e177e75de9ad9b327caa3d572f6eb3184932e42f27883ce5a013263e74cdb08fc8d3f1f5d2576dbf81621a240a2c77a8464fcee445c8e7fda84e545f1b0604dddac216d9eab98f1c0381dbd0dd571e79e2dba3278a587900c5e3812375a86acd3d7445cc239edd920795c5e54ee8a308a987f6e671b4b3575216bcff13f42d313d207d4e2edf9a8fc69aa366aa89a38827a3bb2f1501a4ebbe41ba98ac932ffb56a3f0ba561f91c22a7e414b28a30e409d9173c57fde87bdc36956399b9f662a49060d960c8d09236a49a510d75f7d1724ad3401ece8d21f7806e3defe68fdfc0734d46ca7435800df800227fe9bba8fc14bb37ebc18ce31bcba4d2e6571c3fdeda56cb15c5f9601302c945bf83aec00a20df02efa82642f6cd3cd46b5718181e3a483698ae1895d7307530efb020851bbc166c7d167212186daf2e89f4bd7ec8eb43f0ee0b37bb1620024e4c468b172f71192e334a5378fd2556090e301c2d40f31e1d2394d3cd89d2495de730c71bf0e0cc82accaa7d4856c6d78d9d51f6430f2f56b060ee457aff7f02a317142c6ef28562fbbdd9ff88f1ba758e184e15124f96530700b396b91cbc589b631f87f10ec76dd2c8e09fd3287ffcee61b67d004cca2c46c0909c53d8554ff54efd7f001e782322c45b424421ba49b92656f2082198d0f0d0d42fe12df87373a0d4e39dda65002a12deabb4dfe5c3e7f89d5dec3760276db70a721e878f270d84df66e47d5aa56bddcb8e921da00daaeada001fcbd78a1928ace083b254485843ccff0a6acfbde642af85ee0df4b24d5be2cb5d05483f23245455541b5e8c3d92c6ad34a6d07791a85b3053639f1a2d06f97a3ba1eb1165e6d54582f738691962946d793201e40fecf3c63fcb84ef8fb437d5c8f9ed64be008927f24148611af16e38fc27b735841d9413aa04cb3afd605553f09084d6e9f41d4faca404c62a66ab14724fd7b5b8dbd9d1168e5492ee914dd8406eefc3caab1060dc88e7bb19ac75287cc2dba1fa93910bd91bd4799a0845fa8a5951876b1ba635e1e84e98d22a791017b6d69c05f6067c53355bd153ad4e3f9317692c5379c857c3049b7c72e48844340da8ed5f2221354c3505ec3742a5e1f2a5362edbd33dc59ec942dfd66872271e305326c0bce0c87750c1a855511c8ada2560aedcd49f06b1314e16ba2168d4079beddb349364ffcf0c197d15adca19f94fa69e89f8ddb050d4caa08a7697c479292663fe0094bd2d6786993c410eaacce1cb187c83ed51d7fbea0a1bee11a790c593346c4a0e1db402c603d213f1aeaa33e414d00fad5b632c07d1a7db1a2059b887c2f1db6d5ebef70336cd0badf6a82c4a4f258044c46b77c2e3b801f38ff9219e916d36e14a317b844d670083adad6e4efb0c7eda6a009c63e6b7e0ae6c8446ab8c75d9a05e06ec55fa9e8be25125ed4f849ef4311c237a242776d035d17cb856dd50d5142d312faac0772f7ba50773282dc17911e9de30890898c5a36de431e95c4e6fe6521d986a5187af496532429a7b284968c05fa365f0fa4be0f6101655f40a443ae71d16af958c65f4a698c12deec1df0a94beb8513fce7adc807926c56e1ffc08307b48c48b6efd101c4413b1e638025277af83aa89f65db16b1033c017b5f29e5a5d8e8f23f47e8d03e6451ebcffd4730ce396cbe95fa2c199f87d31e5f54a71197001bcbe74c43fb004a6b9fbc46782c8d7f414149eb9f2fd0216379daf4e16b49d9d258a60c8cd56ad419cee553b333d4c0095ee229aaae7cddf828bd6b21e9c93c01360f6a731af2fd96204fc82a6ff3552d08eeba9674c529a03357f69f5a25ea4fc974ee36b1f384a4d6a0887c9f7d1e812752f1d4630713fe798544b4c1df41d080f9932eba1cca5c7cb34b53029f9b7b695364398f5c77410c39901c363435b5e78cefc06987a8984f0efb0dcd88f0b237bb295038f3c108769fdd58e7e59ec1d917f44915ca05f92314cac4c79b8ae29a34fbab9659280b119bf06199fff062cc5ad977d3df0996d0bc1b9ddba602ae16fb980d58afad0bc7154529ebe02d8135dec63386f9c8fbf9aa6f46e9a59cfe48924e56e66d0a38e4e335584b6c72ede5c2466e5152c4411193d960f78c582212b8708feaf157f07ffeaf074a72d06e578f799c7661b401864e65d7387018af42fd54ff58e7d33cdde874f672e074bf82eb6a8175dd0c394fa36b4516f5f984a49c39aef8813e88ada1db0db86a0e5d0c15a26b14067f28e902c52b6045b000cacfb98190a8ccb24eb1cc1c20666f902f2b97131bcf9bafb7f946f10556a2a309e41e58d08da4ce820d98537733f9ee44788d481b22e69e44cd5476ccff73b391d1683bfe49e97730ef72160db2b92258d1dbc21f4e08ed238c0a1ecbaf9551123dff2d5849b62a598ebec57f051960a37ad5402c39cbe977643d3d294c894207208a56b6e20f7ea7c411f51abae2d9b5924fcc036f865638c93642d4f643c94e696c2a9fba74bc0bc6ba4caf819ec0d42f404b27fa48cc1aa99c5282498e202745237290c6c60d052195ca60ee28bf7856ee309325c41f4401c88e805922b0c74019adcff36dd4f0b98bcb6f5cc4201561d2130b2405747c36e3923d7028064dc5fdf3da4bb29e3606de99608ec9af6075a33edfec1a08f05903ce09c9900b9eb203fe53ea6f67c8f7b6584759cf39559314e840f876fd702ed56742063c5b7c8e61f194df8a8440394de61d323c2e6985d220d68377b9adcb8e4b91f8a3f8bc52ac5097e2b719c45582f35f8f028188aee7b5eb039912e80725219d907152d06b9e5040e51a81be141d28f8ccb6a2056dcb1eac5e066c8dc3a21df21a8d4e9ef19973875aaf88d906e9d27d8c885727be1691be38725cceab477f0f19859bcdd012739c7281fb6522ecbec2201f67129e0d6130b4a48df0738c7c1f2f7c9b13af82a02fb3b95e0b860e0da3ee8484f1639068b79580b3979fbde6c9ffd94b404b28423c83b24211c12fbab0fc2b8f23fe3b4f7b31ec09c3c30ee224e248d17622f3d356807d8d76b3e60e5a9eeea99bfa46e5cb7876367a619f92ac8d4d771237457915b94a6818aa570e29f714d868dbc5ffe40e48bd442af23e881151be454c4bbf01fb0a8e12120eec9240bf819695608cc5d36f12d99dac9a77c9456c45ee7fc37ff0495ce5cd8b612338dd3d19f6b8fe4077dd86b951bb12286f8df4f3c5a74e197b2f2512fafce01017239b12155e500a5a417acbd3fc83599e3f4bd19ad46c212e1fcb340245b9f37a9af657ac7967a47ddaeec740da70444ced8b5de32362c0f32d9e46494e897cd0fb989ac581af17d09bdad6ad854e88eff5dc78f785a47b8913d8371034f4619b04e4b862bcb355a4eacd0928070435a711779d73cfe6ef521009b69d0fa41a2c4c5eb2a3ff01b92b3a8ab9ebc0169dceb455cac73d97e8478739b4a508d151f462c5a33c224a2893cedff2a945419e55a1bd952ba7c4ab511da3069903fb37a3145aff884afd754b508e62f9c18fc96c56307f19a","path":"m/12381/238/17/0","uuid":"68cb9b7a-9334-46d0-bbac-1866b6643107","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json b/scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json deleted file mode 100644 index 246f9ba4..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_18_0-1763367119.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"2c6f2fee6f1ca389872cde112fcaed5b5107923fcfef7971634a041d67d00c8d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"acec42af6d81aca307affcbe"},"message":"ad4a112867228a1dc5174950a9a9c43bc69e0ec5e7ae97f6fb04ffe90a2e019e2c1417eeef14013c121326b38be347df116f50de2d0e1e2f0c6b51677746b7b4"}},"description":"","pubkey":"0x19469956864864f17f1ed9ea2eaeed651cd0a339f51047fdacc812295bc1bbe96b1f80338e9d16109014e435cf7081b4b7be46b906c848cee41886e2d5862724660ef635dd4be2133793a9b91ce154ff87092f3ad4be708c51a7a722553138924f5a73e07524ce3526a3a2c49f4f7ef18ef22d8a980d8208d862f71b6a5608cdfd6f3dab8bfedeeb6f00a2f82779bcc2e6b6db7ac9a0a37eeda1b97530d575b9a9f2a49120513ec493c867b0440c111bcaf19f5868c7ffe056a5a8e098df0ecad9e15248c1d2c66ee453f4bc48709271eddaa6dde1143cdda2a043ff1270d433af9aa1d293a0b603259fd5a4e6c7a2cc7806a0c97504b1a328007669efab682b067fa2152826875ee0638a708b22f98517911c086a571409d902ec7fb7d6986b9965bca5569d2fd6ef5835a4d41dee2c10dc1129f57f562e9d2a7e45fc6eef573bdb4f669aea2fbadd4e633d31a1c7db49d7a8ecc77d98aa1f16b2f17b031e6454040573ae56b0447c4f9d5bffb7946cdeefec760d1f274d1c71d55f35af2ee37e251f60721c358bfc9f2b9460965fd2be0afb3cd272addec8b49ae6253f375de9803b6cdfbe9cfff39dd8ff52f3dc1e194c231b90e7dc2ecdb5d756f7eab6cd75b93f1efed9ee03b56a655bf7a8fc12dc3a4f7b1b1fdce32f5ea30aba7a400ba47d1cc5ab848cf9fbabbd117a70729ec6e0a29fd8ec6a377be6cdcaf5dc8439ef42eada9f5ae8c9d6fe51edc7b6012d6a86edf55c03fa9592f35fb4ef9e287ab9c5ae5e61a565d56ef04d7e5a5a913d795293f25dd0731f897a5ab96de54de331837695aebb66a6bd70ff90c10fe8e34edfd297ff73419cda2a11d7f7cfb5f2cb38d6e90b9ded0fcb51c985c87ab116e8d3c4a30df2231a1a7a49bfcf2f527a6fd9c34fce8f14fe62f030702f267eaf748dd18d0548222c7263131353381b3657b7d5fcd327bbdc29d9f76e81a781e7ea6311275aa944c757a8a7af8f914c284d477d5076b99c094757592e8748edd9dc5b6b45254fd36d1a729c869e69a1407cde3bb319ec1d87ed189cc0bfabfc2f7c839194a38ca33d9d92318dba532510eb2af6866949131b4112759409a123827c533f264c219502d28e2445b5633d5757dd25e6130a260aa5a8448e6c623da7654fa0466257d7d69fbcf57b52dbc01a8d34015e28c7522d97675055536dd9e12f6bf5e3f2e9b1fc9b67ffe23d45f4b6de053999c2d96cfb69410bef2d694035593462d299d697d54c3955c55f41e6e1d54e33653fc0367fe2ed82efeac10a633829cb879d554900f019e9f1669ea600b25647990b30b36612037bc174282b7644cf1b6baf014e3ac7403317479a5d07a02326c2e2380466556326466a1ed527335975c75f707becde3941fc22f7a55bb53f518a4f37982fea438a4244273c7f0415d6bc92632124fb05e7fee88ecb127c2be902ae2de9633b5105c95a9737a83ac1b2cb09a694720662c9161647cec9d518a0a46006c056f5a8932892bf251b8f25d0c8e77382ec031ca03af0fa5c95ad0efcecbbea5d6d8596ef37575a2e03c31f31b62512e6ad0b27623d04a6eafac438d9e80b48531e3451d48c9ab5d26ed93efd1b2e54b38625a719690e32607b86e395324f0681168264fb40f9fb9b3377a8755057e669aaa2c0b098ffd05203127120cbd986f4983306d4b2b85c585a39d2caa157370b0039bb0ef2a45007a78f47ed1f267a2e23b418456a6cd31119921362340dcc109736a4325508c61edb1e8ba996a6d24880cc8e02ea81104f64ff5f18746eda1a52a79675ea6378ff9bcf33d9b4cbcf240b55fb6ca7eb78677c4d8f9b7106624cae1fcdff738be1e89dfb952d3d30076f44368aaffda7ec3bf637e4e49b2824abf40d1b8f9419ae414fe34f1a22aae2a95b499d48be5558671e2935fc848ca108a368e45030286bd27ed8ac812b431923ad0e00143e8ac22084f9bc0d226b5f2af6e0f19962372209dc585051d18965afe4c94f13b9ae6d315a61aa1f4e4fdd96177986e455c3312b0128a641d1c169f5610320fb3359539b2d4c900599cd51554f6334094cb1f89939ae1d1a5e77db1f2c808e99b97cb0e1ab9ea314d5163a0c789d772bab449d662d6018f95a916f7f2c7ebe52a4e980a7dc3275a2366f99e9d5ee1d533079e28d50e531284f3152c4007c6acc8c29e3a65466503b39fca7ed53f8c5c942bb70a797cc2dec9011f3ebcdd8bd68c88e2d58e5e5aef42d2ad39654fce04f40279c4589bcfdaaedf64e81c63ce56657e99c82c146b241b3ffb2d6e60aa07b277d699f0ec249574cbdda564cb6743ecef317322c68298c8776f29bdff0163e2d4829acdb3bdc4fa9cb3475f5379e0d6b3381648328c53f19f56ee00f8d2397fb3fee227984238fb3c02c878d38c780889aae2d0e68d36ff4b01423ce4f35de630f7f3b39b85f396412b8863c6af01a6cd9c592143f38c2e23fbc58ef2696dcf3eaca791d5bb06d0e8e4d49c8f2c228da9b71ec96d9bd74de9a28994885e8358671745894a6282122426acf0fd48e5244d8a1afc3301cdc4431c7259ce824b5101666c2da123c111923992915590ff8998cd6c706cea078805a05daaea42f30014fd649d73f5c4ff1c7b7ee298dafcbdd92106e62c4d38358fb9e820b30beb0b0adee2044f3582d43777235b24483e4134196fa62559caa88315c8f1b0c34b723f7ee504ce38d614cb737ac9c01b2b18af46166b353971868ddc57a44ddff1ced358c6cea7ac2a47eb8630a83949073269291b411f4221ea4efaf425f99c263325fff562ab51113f0ee6465d4d768e665fdaf4207aede02094c38da76280751321589a54c869d804dd58a9f218fe0a69d9e09581d896057e0cc583050584343042a62e91342bf066f872d64bf60b4f14e949cf40df5f915b7ea8f237b3dc89160dbf60e143c95655400c2a83dcbac890ea51fbf4e8c64003debcb95935348b299b8fcf94b2dd5af1ee53d6de7c02216e28b72fb7e5f51987ee3dd5935ef6b9f7ddcefe2f7b1cd39455fc8be66387c21bf129ce79bfcbc27816630c2bac45bfedcd8fd5bf40cf5ec37471cb9a0276d732db476ddce0267c969d3521bd3da479407063474e2838234190ab817806785323e228ce41b2910b9d5d6c8d5d4040ca5affc6d7fcd2ca8586bd96147baf1ec4c9d3fea2d6ab27a426da3bf8839e0c263683dbd5611f3a151b744f5fe5da58aecb2daae016344f4bb04ce1c34c1d4d88270c89d9706de383fb70b64806644d15e226432fe521bff07a6934221d490204c6ed0cdeeefbe5ede223ea8bc744d17c90341860c887c9729d82689140f5c6cf2381b7a192a1ab0f94ae663fe177f79e14051788e44ff2ddb8284c7d31ed99e8905b834fc12563bd56c88dc3486b718c70f252add3ea7a56adc582af8dce0019a308719fd55e30f713e8dd6a8168c6d5ff6a4bc46ed3b1e9bcdfcf048f81fa2c17093d65b6fdf23f2cef74d75c5abe06ad79ae9a2696c15982d20219d9e99d031ccc299daf0e4d0c0091d80b073d1ba7ecac8199bcb746ed558bd8e4b6e04a2722f20146307e8262bdfc7566b57e5e7126aad90240eef2d577b79273b810926c35ea03283ba1d56bdb5c8038d96d5b5471889fd47ba14a18769440140ae09e6944b3d2ca038","path":"m/12381/238/18/0","uuid":"559c3c15-5e04-4f12-92f3-331928b01052","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json b/scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json deleted file mode 100644 index de3326a0..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_19_0-1763367120.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"005672ee0aa02f96aefe62f4122af0c3b2dc64e85a12782e3217579a2f557954","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"cf040c6042c30c0c791f5a48"},"message":"8eb89a8676bcf9ac59fb3821bab59f19fb5ef6f8b2b268ad38baf264b769d21c99938db792dee5e0bb424b7ed5e78b37da5b7b0e355c44d528da3e91bcfcf111"}},"description":"","pubkey":"0x8456c3068a302b754ae74a71e12debe7177848afa9100fdcbe0ba2eb0278b6bb0e76c2114e9800f38d508e95ba8bb116ca1e190a0a1c2cc368442e9802e0689ebddf079beb5e6d99974b34ce10c3157694217c549825dfda4576f5df1353a9bfec7b2ae015d4724a3d66a3c081d6ee29ab9069005aae595c5db4f7e308a756e7c14147c7679eb83f85e1e9e8591dfa6e5c0db17bb598a42c17ca5b4831d99646bdf13de10cf3f88af5c1a96e834b9c257a1e59e6617937323581889d5cc9c4387565c423dde73234efa061b4cf690e8c5c261242958ca4a44d9bb54b7440ba4440bdd1d44827e99f54d5bd92f3040a2872999df4c2bd973cb2ce52ed38a22bcffebbb782c57a1ebcd8f446ddfb24371396336e662afd54d9616dc88c2c6248d61e0b02fd0fd931905dd798f002bd8f8c568b48dba361cf628609cb1e2174f6230efd88bc4a670570bb9f863b8e8ff496bcdd34b87e4866f03aace60bff64fc9d058022a72bfb8e630f6d29948058631fec34b494f14f127da57d4d4b0b133bc60d157872c1e2bf0b91ed1da1a42f104a3c113bcbce0a41f2c3521ecc92d2b91cb304b83ce07242d7ccfa1a7120cefe0bffd25c3fa6e48dfba0cefeb18be7b97b0164b598bd307a108606d08675b1ee0dded0d80bba7dc75a6ba710700c8c84e2223aaf470e7f8b6c4726d02c91679019bec4dafa596c6e4eb09cff72e2c5f869cb4d3a0944d35d649ae8c2d9625cacb6f31b719e7250e52bc35f3fa3952bceb036613982481584fffbe745104b7ee14bca823ba4b8c61e047edc2eb9c4818716a02de03a00fce53b585a3dba28939159362e89a7e0366feb5259081ce2921ec383388ce17e6fd7449acd26439f2f293a46244e433e5dc61c1affe31e23b8ad6eb7463b6c65d04d2db36d7f07d360417bc0cd4171799c26d613a6f6f8ce726abc879e86cb192b931a05b2d3a7ab1c616e3ab309d4dc7acc100a3ed5cc16569674726d67b0492a1c81deb20f6e1184d847868b36c5c230f59a350cf4c1ff7e8f7bffe2c5a10e01a10be75a5610bb616991b1c22e01330e06dc6aaf2fee06ef5cc332560d60b4cb25b8f7b6dc76a88772d77fcf609c5d2949b4f0b48cea3931025ba9e7c320b2d08c188654deaddf76a7a28198a56a87fda3285fd882503606805401f744f76d96da4d5154fd1290e2204b466d2e33401ffde1dc62db961e631b6074ab8ab8f38fcbe1a4c68661bccbb2b964a0cc5cd81c821158d5ef6fc6674418dfa9ddc68be4d065fb941933a415f24081f861c907c455f451437a6486ad00ae0997a558fbfbb15e523cbceeec0566baa56a2f5ae762a5c1ab550ed46c3f201f7e4da864747d3ac2d049d012be1a0860c32819b80e316ac5156973f6ad72cd4b9dd2f2968f99392abfc674c40f9d2ff3d386817f7f8466a7557ac2cf30783bf5f44461831e3c5295fb87aa99c23e253372aa0dffa7eb33dd561f2237701f5034762797d2bbc48a701a8e53bd9ec721ee51658ae16b8bb7865e610adf723df728af6fc5392243c2e250a5b3c31b8e1cc141e66fc565fa5380f27bf08cafab7a2942675fc504caac893b22740ff141dee9b45fa1c544dee4ac65401ceedf0aa212309cc71a7ad4b3422e13ce12cc49764cd7c20dbf42a717a54b455d58d7c49903e2b7877507a3eb6614dfbd4ccd87d017bea2567a81055930b888a4b9cd25079d927aeb8180565ae3a4608a6636f1ca239aad81a5e3934e11204008006f66ca06bbb99ab0749b70448219aa3dab5221b28dbb1fa8bfb9988b9248d39e68e7b7697e9bddd22781600847ec4750f735c43ea71c20535e23ec9356bf54e89315cf4c401c99bd9dddcf09fe105bd0bd377f8f04f32e6c1631de03a827a00834bd78a9a129f76a705ff65e7ab6ab7f92706dca12ea01880d2a37904b714496f61b948310056b3dec04c528bd480066487f24034d01cf4082fc752c150818ff7b919acc7b881516f76538c740a80fa54e8a713f186ef803da58d25051ddddc78d5e44b8541c21bc2153a68d94d583cda389c8b240219bc4c6bbe332797b2507e1268215b34047b0a37a69c383be16c17c65910e5f59617a231a1943fe32f7ef06c3d19469010189ce6e2860fadc9640008c07bab4804321f8eeff08731dff1a78e7a23308b7b2736ce2990719d3446480f5108dd66c12bf9e165dbde4878a9f9cf9a463b36273f95462c2f1182fdac2a99a03fb8417164c4196133423af55938542bd4347c15ae4b0fd0f99267e6b9d55eed0ebb86290eeb40d968519d32fe1b0d2296282e774e9571ec5f20f6b8ca6151de3429df0284dab860c06029a6386d4a16508a894b484d54bdc01ffd8d60725dfd80b8125212948746a20482f8db83168274274269a6ef713f3202639b02b6aacf3fc4f1748b8185403cb61b6b4a61166456471c0c998985d06a5bb628c666848c2d39194c5d1a0387c6e20c6f2c439c0caa91f48d5d242ded755665803752b1d836227f43b4cd9dd9105172bb20f017041107dd5a02a231f7b04b324d52d057efedda579739177484d45c2434721fb50c47190216f80225195189f46f0d5fbaadebaa25d8f0b3d8930826e67043d1a4739594259f515339003f5e87b3c912bc4f2300f2b38a7d9cc95315bf4e79a54fc8c3bf8e2440ea477079074efba268878cae7349811d3e53ba01e56f82cfafed3241638f3e0969cf42b13adfcea0f2e459237efa3df787e3ec499745e214f14776f8a9dcb705cdcb43c5e00a53858b0966c5e61485fbd0012a46ab5242a49c662ba5ce2b379745dd258c400b52c10b67518719ac93449141840c2e9bec0c2f6aba7be5c35f9ced6f3e00bd8f6bdc58d7e3fb188be2d10ff996eaab1d42a1083ecf6383789e17afa6d7b67ce9413ba98ca7a4f707ed9bb46469a43c143fd179ce5a6b572f55e11a86843343bcaaed5165193bfa9b571b0610dcc72f862c17c452bd21ab9ce82a6578ebe7ea98e5630f7f42d595baf405a82d8d3001cf0f7a0b92dab77cb90767d5f7d35ff07187b9ae27c90f03e76c0a37a1d57d35a24ee1ad8e21f3a8c1157e74ed083c4da105869073089d4baacbf04657d3cb0a37a8f50d0052fcd6fc22d370159b3770f7bfeb518f6761a1a7ad0f170799ecb366acf846c24d3f452fc945df5d8a85664a9de04dd75568822d93f6279aade9b5329042641c0aa49aaddaf2c88e5ee6ea780196564b2b6905931c3daa22cdeda836a26651d2081367b104c499722c587a816303e692ce2add66da60ec3dbc05186552a4f5c517769eeaed2d503da5152cc1d0c5f7504b1aff0df8da0a91ecc3ad3e78d5609fcfac4ef81708ddc677a3c541405ffbd2fdbcde11c30779ded4802257eaf6367d7e6ca98a27dfe527eb4a3b647542d386f839f7f4efc9367233ccb054a1b6620243b2d672d5b86c57c2013a3e5114c7977c18e9e0cbd6628ae845571dacaab525ef7c0270623eaf54a3a6f6a7799a41a84bc9c9a2bb5bd6ef7f8d339c965ccd99ebf128ced17b23fa439d9039fc3283685690e23075ea2b1c9495ec0e3fbea8826e3fc3b823cf7ca0dbbeb6117ad42f05023446aba925c14bb0b71bcf5d3dc8d893640b4d950382b2617dd6c3fd8b73ca2ac4a7a4c2c5dd208696388f60edab05073fe","path":"m/12381/238/19/0","uuid":"a985e1d7-5226-45b4-b814-88b5aa161169","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json b/scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json deleted file mode 100644 index 6559db59..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_1_0-1763367093.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ee049cd95bda164b1b51f425cd2e85b49604e6c70a83399d21096b638f35ba37","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"69b7e6c43b748b852493235d"},"message":"7f10c3b6b1c7507204259240e51392e977d3f85aa3a2d79ad571c94b8b67fe81c1d39a0d5245760b4c74804fd67583b987860bcce387c1d102a4949e08937999"}},"description":"","pubkey":"0x80697e9482ab8323fe56c63c616fa534dbca19e628d502bda55e896ce9950bf50076b57dde23da20c3424581612a3c052446661f892b4977a2fbcfacc8929fdbeb4e79fd4c0026c0169202c5644c4bb75ade8b4f00029291855b7d986f03e51693f43f57bd7175857693c2856c1aaabf38c8ca6225172c98acc5919b5daf68fa2673e9da6d9be4e2c8fdcdf7b66062368615aa505825915aeb3d6614507c09c729c36783f0ecc8bd232b657737190f80f2d9d48ecde7281337217c4cb2a231726eee148340c1b356383ca8d85ab3554a0c7e7d19b042bd006bfc89ed97078a75cfe6c95f53589cbbba7ca98b3679eb99d0303f0d2fc30c66f123fa04886789a7234307dac4d5c4cc91d72cd165ca310be9a6014b93fc51d63854521845e2ec2383792c76ca03140ddad5364942399c9ac52c279fcdf6ea4c5a3df10c17afa5e32c75025582a32a357fa4efee3c341b46df692e8451ea760eed9990f69948f27a78d9f29f3f51b2199dd108b2e4b52c5520e0f9c63be6efec450f3ec0947016be7569fe1d626cb3af87c561c8dcf34c4c4f82845f84e0fdadc9d6b7b9f92bd7ccd4a0cb748645fafb815d9a630d15539d4a3e7e8726a549da7b171569cf1ebc2b9eca032a1caa716c5ebf2e0e179c01c07c05f876fc5e423cc5d63770d0fa6333533fd844b8158a8615c219928067d320f445b044651e4621d8c4dff368d7ead61665d16a0029370f562d4fab2c28becec9cc6f8e319b8f4b8b4a851b54485d6364b060a209d010a6b70f1e03b574fb15c59cd982cc049028dd0601926e9bb128585b38052521f8342932b7feed4a901d50c7bf36683050acb04cb117bb4f7d60a3c2c58c99e61c8a39a75c71e48ed276531e308ec42e0c1bd48d63215373814f7058f860d8722314bc3ea9b37463ca919f11144a85ef97e37a6cf6796000e9b8e244955c100ed4a5a4ff570157bf5391677fa3176a1eeef2a35f0675907dbf2cd7783be7baf1b347b5a233522e83ff74652a2cb8a39ff1a1a86b846992f0f924fa0ccf636ab9385764c0e809e572d81dfd86a8fb21a82b709b76d0074b2a31cb5fb40a300d0088462de26752298f7c8ec856bc7bb232c5592e98adc38a76604c42232a2d2160fbaf4c9fe489dff2f9a9dfcf5aeafe92b0340559bafed4ac2c29efa8e5542824c579bca0b2db49695d1820fe40f0e26c6f42979becbcd1ec73b13b47ae0d1804ab3f3f9aae4daad8893ed183cf5cebd8787fb2f5463c5ea2c08c85d4cd55ee9451aaa07d6beef681b0b927a84333baad2237bfbeb99ec55525c7f5c51866fe52608e004d16f3164851414f9ba2d6d7464365c3d8eca5ecd02a92cd07c005c8a8a728297a4846c4d5c8a752660d10cd1e46cf93751bf1e3977c7a567dc08e78351279c24725ec2d70d538a1816865e12f153dff0bdc195c1228056ef0b6f9891aaa12f522a1a0f4ad1d04fcf767b3907aab9e907dcd74a6238ba40515793375efcf6b8548cfd3f3f6e1c9efa266fb58288b05e11d7d8340c31ea05876f94ef5406326bc0aba6b1786a54f8ecf5bd1b5e542f4918b2c551ae5579dbf9c4b81f2c8e8a1f7b34ca3124cee290ca9abf2f6cde475fd82fbe3024e9ba5e02d03feb4d856ed115cf8b7814c89e556753b45b87a439bb69f6e6e5bf8fa4d6f7c2e4dcbb31b0e703df8972358977255cc1847c3479cd4658953b38a0da6a2682564cc5377b6001732053d3e21caf2c502baf0380a8589d21754a7f615225a482a90c0d9237935702ae801f2503c3ad2168908e2b991c7b95be4491f6f87620dc131b8202eb97df777b8a196cf4ff2f523b71e21d96e9508eb1fbe813101b277b8939d452b891ef3210b4ba1f3c08721f85965f288f26dc5227396e4eebec1dfebba35257b8e05d3e11ef01d211120370de6fb5e67d30eab61017b593e4865f35bca89ff938509f478b7968cebbae77587dd8410f4640762fc3729ef20f56fefad73ae98f7d45ff35cb32c8ab5c7bbb5e3b0bb72ff16cff10c248a379de2cc7f15db4fe9722eb9b485c1949b2704f3223168e41658bffd953c1b534af75125dca7c6da96f6eae12b14b97d71bf5ee9a5b03552f7e5014e081b8ead1226151a19b9efa037d81d69786138b9a6a4cdc35d3108eea45ac0fb1ce424fa7ee01bbf2b1511d575aa305625a9f5892ed149a09375a7a85134d14f0be482aacac644c97a829fb6d401c43bc2a6e05e5cea796b2960fe07000f882ada55f03203b643b852e013749db01e8b81a85ca97e40dbd0bc4bb8e5eaa2df109b2858566c5744f708d5b8d0c1dab9521039431374e80ef306de9dce748f464264a0d31af1d113d9cd81174be529d19072b4892108f81e027bc8de3d6134e8f9f6bfbb6e940ac5a814ed091a0233e9e040525d82c98e892359ad566c4cfb135c2cb099afafee310411bd6837c213718dbc414947819b43ef25820b22660bdd292863f4f4ad416154510d17bba95195388907a2e5227e550b6c783d9538edd3df4fa2edcb69dad97e2623bec6abce157276547aa13c3f3f386dab15ef37cba0287716d5c494bd96c7d365525c6aa4f4ab5d2eb61417de039fa78135f1f7b4ea050a68e5ca83a48c9a42baa3a4b0d444d4f30e9f9f1ea6b0f0fed8c64ee02daeaab2231089acc3399f009c7cc830b4672e9bbebb77da55d0bbd0f95d8e93805b92c0ea024efd152dffb022796c0b0bdafcb2c4ac9eb853d5f1b3f732e5aaa6c95c137ab2095226bc94794c82caca7f3273bdd62a19a2b0fc92e60a2db20717eeee1ffddf7382df223aaf9da4e309b2487bfb3a93a30a23b0ee476cf13d938a8379a91655172c40dfc7629dd76c33e8ec21c10937cc72f220eb45bef93e50c8b49781b78f9054ae466b2e2fb456d81e14020be41e14b8c0f41b19de89f82f2559c3f93858f3c7eaf6244a04c84cbf861355a957a446f795380e4e86596a4b3b011b81e810c11c90ed790ba5957d8d23db2848dfa2bef03bc9673449805bae95ca09be40725f866f91fe8be39bfbb1b204c188a10149957d28a1d5543abe35834b641957daf536ad9ef13873fd63f89f2e5ef9adec45a2f2471ee94d0044cbed81be282bf8759e9a55ffa6d9865b9d3f748f1057358ed9538b6437587bd08caeca88caa7748f335e1339bc267855aecb0096d372c9f31b0d425678b722e62dad97a97f47afbe913fc44836fae9f18f6e6b045f52b47768210fbd3fabea091c20c7986ce87c179047c3b6cb7b0a60234b93954c967213d6ed14fefb0730b341e91216ea210bef39e649aed7faad67a86b48fe003a7359982302218f5cd95e814db53a06ddc54d2cbe336abf2cb7ba685fe974fbdc3162ab248fa7decc33023d6b4f1cdb5347003bfe5dc060161c903927bf0e1873e5d30337687154050d2f70241ee250919c7182724d3bde1d42872471f37e9abda6948d5cde9527d80586be7bd12b4bfea140dcc1831bfe579ed7582e917a3072dd87dbfebe023c17b5144502bb036b90903c4b669f237e9c7e6c330d91efe02a03bb5f62013e8da0ad96f35a7300c3a8df8af56b72dde8df49c31e3ec0c3c6d98b2d6c3ec1a77f1e9cd04ce68468fe1c2b6711add818d5f2fa4eb8f53a789bbdacff10bac0890d56d90371043c2b717c47294f372e28","path":"m/12381/238/1/0","uuid":"3aa9d020-49dc-4009-aa14-3a47df98c80c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json b/scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json deleted file mode 100644 index 474cfed3..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_20_0-1763367122.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"dd6d8902dc8cf000678753df8a08ce368b78fb0d3eebf630ce994c0aa2a9a055","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"27aa10920f4fdb796f8a6d78"},"message":"60caa6796517d24878b5e3da38008c17b9ccdb9dd4a1bbec9fc973baf7cf09ad961fe76ad0f76a344455d49bf9a9d6027f6b4a7bb06c2100a06f01cf815e42d5"}},"description":"","pubkey":"0xe41c368f5f0b48af8edf80cd36d71fe13647bede157405fb01147a2a351152610f5f625b91b74bac4ba8ead02d55986fd4ecc3f1ba950c64a8829284f22a308a9edcd68d609d7b666168aa30cf49d6342d05ed0c37b937c822bc66dd677c19d8e4e1de8be09d150cf1f7261beb866d0fa25ffad684346efa637ba6ddb2f6c980e7fe6148021444bccb8103c35e79f1110f57c429443f5dfdb4a50f53c08f48ea6f8940e24e15cac09f1afa4b2ced54058cecce8e4808597db2bf4eafa2515a66c95464c050041f872fd08b206c357e10d8221509ac5b31c814471eb57fd31f672f0fad1fbee65a692bf28634faa0548d60288f4836606627347f24aa73488c616054e8aa127b3d6acc94c7c72e818b9b7d89c48ab551776170564f15af048d4c79261c89041c0dddd992cd0cdbe92c65abed8f9d70b5275b8f5433f056e906701e3d42f8d1cd92178855e1fc0a1e2641608a6768176a3e931fe77e850b816a92e063137e6365d4ff703c3060af8fb9776e542b9519159f9179e06fb600056aea27835d95508e0891c83668d6ecf94024c9f84fa6271c70b5a7d72c92e988f91e8be9020787dea94709b4f4e71661c09a2687bb15495f491904d47bae025b10706eeb8ce763d79847cb33b161f56f5e17db33300ba83807a814d98eb68b938227f9d32de9d2dac9a1c52af06465f9dd2a7e75a67402f1eb403f6be902044a854a64aceea883b9af87afd5471f2379669b8061f21c9fbc80dbaf28c37c8898f52fef624d394a17f70ea0c9b861eb789e1fcba1692977e102fc8bc1c908c7844486576a611b291f8a68dc276463618fed6452828da3ae15be2c4dfc2fde2b5dea2686517d3ebdeb57c6c3fdf711b475102c5a69cdd4d80153ecceb94ad5f55b95d5e2512a360a94bf558c7951eb32a93c81109c3e21ff167fd0c9de1fc488f9f2a0321a5fb91105130b9285b60072ab6c48b873137480c8b51fca39fe9bdd3bd4cbe5f0f230acd9bd132afd4630fefc116ce94d1453097fae5ad483e8f45865c5b2677a095a5407faa4f7eb7abd75490b1380a033b4e3a240fdaa7308b37ed9cd487df08d4eed504ba3265d291640a9bda0a24dfd176c6277f100eb35f3aa1feedb686c66f997d79354225e6ac0423f9fa2794acca9ea512b38ac5028d28b580c1f8ec58c2edaa812584fc8eea51d629c2af2361545703be6af94176487e06b660cdda81299b0716368ccb2d186067beee33f2abd8fed1a9958d380e199142aa921065e50e34ea3ec14ae974e906e007a8dadf6db3e9b6a820c2512f320764a4c235b15bf0409de0358446a4f37c8bfbfa2f3ab85fe8f05b34af7763e14990c2f4ab31d30bbb9b9fdc3c945e95212e7a8b3f869ed38d6cb1010c0f7ddb8dc63546b426f85800208bbbe0a6568a642f83c45006eade8cf7703cecc379aaa11ecfd50faab2f4d0df69255b477c4c4882108208a9d77a6dd30b9cc966592beb60d5475aa67d0b3af8dccde3dabea0aada6f6b525e70d63f490c4510900d432cc2ac7f3aa0d99ad9a97f3e3f2907681f2c7fd2b87de768f4ed9a4254e84acd3f98c6a1bec6c04eb71dd6beef7081ae56c7f44bc661b76eef8d2299f223fb29c52e9e9223dc66342105257f8c14d08de5a447e4b540920e09ccd51284331b23682c0957dd9b4cd83201dceb57dbba72c04fb773dbe240fd9176cec4ec5ebbcf078a01a6fe8de1d99cb9825053c44465537df60d95b328fec932d096c23e39f803d12ccd000da260396fde6971f79c721c7d6d3da041a8649b37e1c761f7e48970b3dcce0516c7c740a0f3c4cd8ae00861a2a0407c21e28c38d6d8d77a1b7a3442be200b959cac19b799fda9f58b10c239986d1d92f6ac2149aa6810240ca29b51ad15d8e2ea2abe8a3d213cce23ee7137ca0078bf50cb9a6e1bd2b092f749f86826c67a2643bcc9a93e41513cdcfe10110b2e3f6274c185b573c1910039cba090474e5e01004f4198235fe18a641ecc914c462a9145f9337626193010a57611415ddf4cb424c9b3b83011bb8b2ab45acae7625d59db9dc586f434e87c64bb9f281cb7bd02631c3d4f6baf39b0e6bdaa384fe4d2d6835b3fecd133040c21d494d58f2fb8e4ebc6dc167f6a1cdce50cf113662558aa63012b6b64afd64ea6e34e54003ca5d50793c13a83b43ab2b806532d411836774f3acf1f75389ad8c016c1a05573a5c0f004f193a1c0cef2138b2fba894fdab093aae7962960f01be55dc64d10d242e9563c590fb61730c3d23ef26be91794ca7b9fe2194c21b17253d1669d527699fd92eeb2a93b6230e1292a15dd226339a98ec8d57d5b1362cb359a0df00fe6b0dec0cd0933d2c7d6d87a1ac65b02bb0b8cafd82c9433dc0e9ed8d1c08763b74513ca24e4dce89b35214bce99ff12d1c7af03439660e2266e1b7002bb79b6d7fc3acf9ea541cf8ce950f4f9d30f658135abb50f77b643b1124aaf915ff5a838893a385211daa070c06093d601e7518cec5f8cf296a80b290f103b89ab810ea83a01533b3f88135ed20ef1ef140bba0557a7d181b5163719c77ed863276ce978509a9387fdba0b326bea071055bb9e1f2d698ca7822aca75aa0aeaa5b63bd70e485c718514d361fd8b180f0fb1f9fd7bcfdf40a313f521cb77ad7bba809bb606822afd19b978db087cde62b628f9eb9e5a4b4ef695645f574b3f51951698f73e788a529e75e3f11c0b0c5dfd3861df2d26c97e6eeb15d861c5968b6ec20a3f9b208e0955d0b1a54915077a612f7ce13a48bafe1de938850732be432c11ff3973ab86ae3ee7cfffae9011dee3a26cf9b9164edc7d1ec205ca98f2889c80eaa2faf3970b9987f9b29dba0e3c25b99c944180a920d0218c201180773cd2b92952285df774fca5289c0f9aafbacded1ad96f968db948fb2961ba0192bd82457ddf432a5a4e8e1b064ade32abbd58a53b85a3defc6b3a7d81e4381bc2c10ef164015e750f051e34eccd9819e4efcfad7f7ac6baec25b0e1475cfe787980e16509510c3f3604d54162687b4b452b20ead28b8aa3b7c2d5700cbbffe5a16cfc9f2c8d8c3349149f27606029756ef22d51c5bb5d5f1f9b573a1e2891c43c75e84dffc8bcd2c245115307ec5d79d201ff2502be38af732c18a02ddf7d56ebe2df4ec6bbf248a42436e30ab428b2ded8a933308ec783779d0c0c4c6231d9340faf8e1d9b9bf10af211cad9071f5d33bae311402483a0c022a7b1d97470171750e714cbd7c50f5191557216654b5022fe25b226c9741a6078595da8dcbd1fd68720f5d3c964adfb64f4d07bff5568b96ecf5276e63dd974199aabca6ea046167034adb62bcf71e5754b1d5056a2e6a0321af43824f6c935cf695f3a85a514e999f018393144f26fe343d7af1995219e7c60d71413bae1ebaa132219877252763401b08de2cfa4a1a40e0c372ab996f7b51c8c3240e407ed99f8e75ca622332ec5eabfe5b4b19af521ff8ba674dcff59e5ea2b0b403100f6ab3dad0adc9af7748594c82b6b5b23a6c6fe967fa4c418295d6a6bc9fdd77eb7c8004a574220fc7dc3757ffaad1fa96d703f7bb047815faf7c76feae954a792cc276e5737e7eb889129d44807e85d25de7ca77e6e1c8cd988c868a08c022529ca11c98ca4803e4413436af2a6cf575c","path":"m/12381/238/20/0","uuid":"967d6a0b-d598-403a-a2b5-288b1741fe45","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json b/scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json deleted file mode 100644 index 65ec2ed8..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_21_0-1763367123.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4ac9b8b27e10daf578f7878109779dbe4738b1be6ac174b724b032f4d7413e97","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"4eccb067958570acf54b61ee"},"message":"78048bd17943ea1bed7e0ec2d2639ca1d333c5d2bea3807974776625de815905bcd8969d08ba0f4b3f9e949a92fa8d9f35b719f2e21db7e5d9de3500b0b4e2a3"}},"description":"","pubkey":"0x022a1e115bde8852a469b9183661b5f807686b33c0a3c0f4905c7554cb2b767b690b86ffc339040614c3ea8068455220079e4abd25e678ee08686c040141939cd097627b4a5104dc075caae404be7d58f4ddeb8ac3fb68d7c4fd876c447ce0d13e5457e8051c262b5cf84392825e8e1e5b60460d55237f682cd57acc4e5e06fa2332d6842ee4796a0f27f39b2a02ea27374b3bf80d5fd48c18c535ece35a02a37b8838d468d813169f5065a4374c3eb531b0411ccdab6ef3d02be627391636523039e4b9f63f8472571cd5eabbe376aafeb58b013706fd197e1aa1b931f8fd78e727ce32821dc0faed89bf3b2264926d943668c4ee0bc9ece79e2471f183b74d7b6c893b1acaf629d08672b9083c50c466079ef4f522c61ccc28ebe5c47a6dcaaf7f679210339248258a00ad51aa1a6f22639f143dcced659b082ddbf9a3707db9c13cf700cc88be394d66d7b17b33d76385042cab1bb096f67c54cee6c2648964ba26127a34a8190f3ed5319929518d82555cbed3f041443efdc191dd038fe80c734c527b09f064b27aca07cf0a3e49d54b707d4b79daca90fcc1d630efc3a7fbb45d3bd241c2f9cb39a5aac2b70aecf7d7979487024d3571457b054c037a3ca9bf2712db73df4f7678a23ace36dea938d786610c42261dfb1a15a7061f404e9320f7d1a7efae58cd4be3425f1a042d1ecc69a492735a7610ef38fe57fe1c7ba003d20e29e0c4f4a91f11cf3a842108da77cf01536c67c6ca7d431856297a9f0b51270a7aa868ffff7ae66c74c06ac9e78cf44eb5fe4518cd325b1f0ee83a35910fd21500d3e7ea84b76f51990ad7754da4dff1d47c21536ee0c77b89e23b5995444bfecffc037e91fa6aeb20feb56d2f0e1a19acf5e8ed085cc71520e7712113e7a8806fb467448504d400b47f5849f705c6603a5500398a6dd29334c20aae29e0e90595f333ff134e94a9b726b6fe7c4e4f44066e7f09459de366e6fb2f051ba1b991ef07ee1543fe4614b3d493d623b31241eb4a7dc16c8b26a94fe17e9177fca010efc5f8cf5099f3420137333a5c8ec4609ced1cb4d148cb07f4d2cf20879cd0efbe4641e23ac85b70e11210fc9584312ba475adb5c33b5b7ba2fd30cf93d5f4a4e50a4900ba0398788ba264fed64d3c973d440633efac5629579d39a42f4ec49abf1288e4dff28fdb9572269af9d48c74c462355c2ab39700dbbd4d7a8efff605f9b096723fc8efe793bdf299aa445a43de1abc34d130c50ab26eed8d3cd17c3b160e3418edf9daf9191efc9caf2b84c6e2961d7a63f3111b6c6031cc21ecdd7959cb2481830ed6e9ae562387328b3d99b9852fbe04a0b9ee7dcae328fc660962f6ef64c50b6d9ea55947c02afe177a6d28fbc529787e2ec633842e94e525b2ad2c49f092a55a5dbcbd37a60b8328e87e7a04fb81697a0bd74d33c3dbb1314187e2775f678a693e5609ff9a404767c0e9ba66b74fc04c7d9709617ec2568086345333ae29e9eca227d12de13336afe25a7326806d063ba2713521e6ded8de38d25bc16c890cae6db18783911ba8628d3e47bb2f9a99c987f2eca27b63e3f41464aa6906ee0364e216e2665fc203244de5d425e5e78697a1c901af189115a65ea2a8af8b1a88353ebef430c6a8d92316e6be7ede9f5392d3415ea9e03190af14a28b402b18f42879cf99ed5d3e61aae46fa1906a0d7c0aad475eb0d9caa0a6a577f521f2c5d3e8b0411f5b2ae3f9f915272fdc7d4c13c8ae66048268d024591966e9abb15555de19c280f8e3dd664be3ac9b8d6570708a1a68f896f97017da27d1d659f7bd5185fdaca2eb083843c742eb860309e98699d3ddf40f9beaa69e1d177c9d7023b5042722e55fcabf6e7325b2d9b1c3c82ac689461a047e37fee539dca595ca314132bf8df10f161ac4ee546d439cd1c7a9e5e436482fc5dffcda7c91a6982f594d43d127aabcd4cf97da1c4c3308c099d83f31d342c34935d666f7ac85fc741567341675db85c0164d5946b47a78b1144cc8b42b1aea321bf8211443f32c53b6782e45d762901064c6b48e1eb6a9ee2faa9aca9af1e514bb66aae85ecf330ae059ddd146ee664b31c776fbbcfd52149be3ebcc4f21a715bcbee9f9ee1805b3a1997c68b23c9c247c114c1d38b734b61225642b4843ad248376dd44602368e243674740f1c9714ee75bf5d75b6f169a41d5a958ec5be793ffefc615785190a5e32c007770f1be60d9435837926d1169e9e1a0a70f136a3c8e31d205ada081fbe7c2eae09f779eea9638285b29b6142286f83ccf5783a7bdf0d7e5b84b95c07caab0635c632629653aad7dd50347fc8d3cbdfdd9047aebc1fb744950900fdd1bf2fe3b060e4f0390d213f715843f50215c6b1202edf358cb66bc27ecb8d60a523c9eb8fe0b8beb53345db84ab5283b90d7db08ca4fcced8d0756eb37c2c8091218fbfec0775c846d2f3e9eab318b58addfd57cf6ebd3e2b6b63f5e23a041a8002dfdf266b8251b380bf9e78b074a7a6732d55f8166ff58a700f67df7e64b428574fbc20f4a465e521c02344cc675c1103378568d4b3932e8c57bf1c8d04757cab86d72ac565158037ff2b352e731836a03603a491e10cf56715aa79a532807dc7102907f09335efa037333aae8835b2387111ada7b2dab78d789e217b14ae67c8b2994300aff1a873993d90f771b04da64942b35f27e953ba1e4cd4541e5018d3066ccff6e4ae01296bf579cab7b0ff5c985237f32b87cde40c3186cb1dbe13086c2f8dde7bbb35c033414858e37a994ac1f6255522c19dd925d44fd88f2d02dfb71a05632c6412b08d2d07f05d2053d5df04f6e0273a0114a93b6889e93047dba819017c8ee7ce0302cf6e304d37813cc231be46c9441c63ef983f9c3f81ff5786660d4606766254afff6a3ade708c76c5608ebc078b112d72e42166b2f8784b2b8ad101f9bef9109d410667b9227765a5c94fb5a1aa9cba6877b835898fbfb31c64aa5d101360b46ba0412fcd4217507a0a6f08e96d5f50b9e40474c936a0daae475403b7c87761503281cbdccf32be2a274527bf9665de16025eae4d3898ca0cfd773d426e446498d97598988a328cf007868adb3d0e5bff1212806f0202fe03ce2e67aa15839d8c26c8dde37f9f96ca762df36d405e35fa3f5a72d27ebe770e4772ab442f4f936bcef21d5f27d597b2e0d9e8596137a425830a792f3b3446de3ef1719589e7f7f5e5a976f27bbb39633faf8e30e6830593b834f0f2bbfd3daa82bdfb65a43877fed8d51ceff172b1c12e7f8e43524debc15324be71408770eb6fd46075d4e9bf03df301b34085f757f8b88d9e6da612d553f037a8e6689d792bf567d78002eea837753b4dccfd0d3b3176f373861f4ab90bef98d9c92040a696aac248b1349e51307b96064420bf22f31aeb81b22fbdeb3a0681ff8e3eff9111d8984167201a605296a2825ed28efdf91e692fe18171d0e7fe0106145b6d06a648417e90ba41d000ee5b00bca3d4c905cc309ee83633c3146dc2a96c4f4f89fa472cea7a7702c307dd9acaea35bd0707f1556dbce67bc63d15a5ca64e8bc532d1909d20035398e21341b9c909d36f91dede58492b3b2a60cebaf73f500c37ff9f6d931819931a2b330904f52e4b2cf2f1361fbf8442382","path":"m/12381/238/21/0","uuid":"246ba845-8604-4a58-9ffa-2023fa3cd88e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json b/scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json deleted file mode 100644 index e562eb28..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_22_0-1763367125.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"75208124a0847a1371c75b328537e6fc9c809b239e0ee5ddf50df3586cc5e8d2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"2f68865f616244ca0b6b5cfb"},"message":"b42238b35ec24734939430231cead666f12225076d799ed60cbc1b92d3797d594e27f699bbac0a20ad3dd54d7cff8c9e848826f9db0dc556500dc50cb4b91dd1"}},"description":"","pubkey":"0x7caff9e2b19c958c8ff310af7437c91ca749bb0dbd149f03f6fbf87d828d3e989ef5d4b126012fdfc3ef3e7f61d4be7f3b2c6dd77e577d661c43a2b2e12e57cc29b9dd2f6c3bca4bf501e686037c76f5a2085a269b58bfa4b0d5e71c62115bfd4e0f423b7cb6b69f1d668b7f259fc1a5799f53505f6250ac3998961d7d0342344a88ff0ee5a000816564ea84cb3f598a2879526e6c30f727142e123ac52d1aa2f07930b3d671202c7bfdfa2d7b181b4d965d53e8931f17c8d2e2e9765ea19f91c9bbaaac39cb78fa21d14f1a327a45113bcda2846b3bf075160678cd13f14786f43f143e55c9194a4cc15d24f4be294a1dfba934404d523e47b952c18437c6a127e95a56999a272ec9e7da6dcd6c5eeff0a5c54c82fd0a8d7f81e0ac13ea3c4a4c8c542189ee89c423e1242066f8a53fdb59a3cf1680bca5a2f3e0d374d697c61c740d1bc704551ed2311b7741a51c4907eedf8c081efb0c5b91d0e4770ae23540f9da4c1a9c0f163c339b944a5d4b82f6e62675deff80609beb18276893992d940aaf310a865cb2f8086d690c5d292ae06169ed55dc9fc009bcb0985804c6f8767d8b6dd9ea26ae5a982d72a308b21487e45e16caeb92b63c4ffe4869bab26a4e5b30ee8e2cab273d4a96c05dd6e38fce23be8eb3cf9d78169357d0d1c9fcf557533d20df448b7bdb580a207ac6c2f90a76f7a5d0e0308633096815c29362db0766c7de99f29fc23b3da793f7dcd17981e01df9a76b9bbbda8f25c3cce02a7ca583400d77c8cef0398359d8a4b185227f08a8feaa13c5c471e00f08c07362cbd2fc792458f051507b1e223978dcd159213d6e07313efa3e401a820341848872f313c278108fd3df25bdb39ef1b890611c3fed368cd19a3250c13b3673d871bb9598b3906b1a5f7cc9496bdd08118c3d3759788d0a223bf1807c3784df404c2d7b31ef3b6f909a8908ce98e6eea028a66ba72914d1d3ee47d1c98132889f1687240e7eccf5d0c8215d13aff8dc06343961694a5d6723dc6258827337252c90ff9a469029e8c456a6c41fb0bf1074a5e5f3894a8d8ff71d81248a82db48af024e6c3dc2515b771ca88561adf01fd09f10048a597ea2eab641935332feef0482329618c263c8182845e24af2331234af19da44106616dbda35bc405dec2425084f5a1bfec79d93435caad7658d5dd999190b0ff13c8a5ece03035ab8aa7321a6e25e03e1c272379d07c0038f37d4a95951a1d088af429e5c58eda3a0e9505d86bd9427df09c2a8355c2c85f45efd8964a9fa415c0cce8553965939d610931fda4af8fd64056b6b4c8a26c3ea5c21898c6925364de6874a22e03e856dbe0c963a9cf000bdd83e4b9455dd5b07bb8adfa3e9aeab64f05ded78e266925f9987ac9af36ab8a42b6ff53bb3f2e6228d90cc4e2a28eaff3dcdf280c284531f55ebc2d5d2fa7e528b426154b0c16ba211eb7b6a447467a156c077f23ca64a143205cc91689b2c970abc09e94248aeede248b2e2239e000f54a725c4e1d5a64f806d0f6d203b08a03337e20ba45a130e67d89de1a3ec4b8ab01a2a2f5c0205aeff28a2d630bfae21bcedf13923db3ae2b5057f73d596accb3bc30784d52fd523b1bf8a7185187d49cc1a333989442ff87402afeb4745e40f2268889ab3062b4f07da3cdc5f4fc7ff3d802509e00ea38f1ed6e6ae01b35d0d11622a2ab9116f1f4a7c67529014059a2c3cb6e2af58d53b052b75072e119afeb63f3eb267edd2b384b11b2af36ed228ec98980d49873b3edeb6743fb757669cf45adae7fcfc666f60b561e586724047f95b5c4af85ddfdabc1ac202d42e7c8a607ea7fede9bc0d34650306030cbaf74d732d133e953d8729f16884e81e532828b59556d5343cf27c4047da3bcdd3591b7f9b5539b748f100e113850904ec6d565e4963b403d4a59cb6309e1d4f37c057a863da844c05b42b0bc339ed095343cfd36b9f9d8f0dc2fe3049fee3fe79853fcf1dac18829b411dc8e8176be2eb289056ab37f5780272b1ea52207f4dfdb430789ad24477a4286413fad0ac249a19280a60fc67c43a8750b1bf952cbf538d3422984ff675233d78e9e95f8b4282e3c1573a315b427a80f612a25f6b9a6b0904bc648476c8654734eb5517cf49ccb1f1b4debd32dccf2f9b2c7aa2321e2a630f055d673f23b6ef4a2b9d031c8c4dcc1bfa4da28f976ffb39dd6ba88fd916f55715f592cbee9f2bb8176dc8afdae600a1e35f9d199fe247b764e35c8d4e3e47d91faa65bf1f20bf6d9e824e1662fea5fea4ab1b2cb8e44ca274d87a3c809e94e209e5a655662cd5e3d22ae9db662886cb5e1b65d15efee12d48c203220f14e6bb0534a615da08c229faec6ec5c0f5e4a7c7c4521b0c78c772dfe8d8ac6da0c53a464a4fae93459e56843601b96726a22c5d8a380a58f689494e6a6e6545465aae8e1748c4c8c41c07437802c97a37740d089f809def266da170bf3bd3f7c6901edf7f8fa5339b1f33456a9ab52b3f8644963b630ec6122bef30c471ea5cee233a83c33a64af9554566c4823f2488ac03a2314d74fdf95ec6d1ace813b1118d42ad66514311d3b130a444c355b3e44e92bb43f2528687df8d8ed10d69347561ba6178958aeb93b02031d550b1b49c30b08700e9ce92a71e5648836ee19d3a81576a890f307e7b4af2b01f9e4065febcea439cb1ca73f10fa9db45cdccb598530c0eaf9bc3bd84b0b5adac8812b911ea661ef02fd9a20f3e19a91a0b314b4f9c62f574881ddffe3c0a6e93b7144fa7c4602f1519a2e398499543adef7ad0b9e61ccb9dbaafd3c9dfe79fa9e1aa2d03fb28c79ec8da6aba7a039a441b587bc68d728ddcd1f33f1c275142d747801f8f59161f6cadfda3bc3507a3dc6742af62b7ca4d6f1850a9abcfb02eb814b6a9dfaf6bd6545a8bc044a4157b456d45b21915d7aa0934e374d9e1489340c5e98c4f5160eb15c299fb9931e6654acd66f0535b57ba33a1c11fdc265a2f472d983670c9f47ed8b585b37372a2d6b8b4025b98e995b8e9c3d072415f50219f0cecb14dc8bcb34d420662b0408ab4c4d1e89a95e23e9821223b3fc5f01d7b5596c3618cfc34465456b84589bb0e332775e78f9707d0024aad1a082dd7ed11be3bb586621b19eaa033a6bd381b4654bcfd993b5c55b1b47d1d43a77e1030ed2ee635e2b72f113f03ca5a301b023f6b4e4f7f0841597da5d171241b4d5d475f3ef37cd17809b0c8f08ce6eebecccb69b316c02339c89d1300915843b945984a7a5b4bfd3ddfb463e5de0ff8870a39db5641a2a6929f88f56d2d31fa512a3dff9c8b39d02d0659307ad67c1ab55372b23b84034c81f1162dac330949fa51738f94a2d3d95b4fa7eecbd01c863a2f6b704371f9c475fbdd58b16be1f953b92c06d8cb5e48385cceffe3cad56ed3bafceba4511c9eefad2a163b2e8e07e34713779e24969ce38cf83824b0ad984c314f753f0bd81b676fb2b6b2d2ec9425d764a5f636e6e27f06b4729d02d8677193479b9133ee88776cec7b2338e9a0b57d8dca6cbf0fcba948fc1b6c74b6eb46f7683ee3d2311faefcacae62c44ad2d02e89a84843af490f57b99a68bb79809381bbcf549d3c664330375860d56d0fd46417bbe44f55e365f42c0eee9ed0a9762302ffc91cc15b","path":"m/12381/238/22/0","uuid":"9167f0ae-492a-459b-a1d9-dca67045adfc","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json b/scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json deleted file mode 100644 index ad0c2d90..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_23_0-1763367126.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"7685558c1cd6cd70e63c463f40a510970e2f3674f383b6947e2009dd858bbeab","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"646976a0f76a7494f31eff36"},"message":"2c1144210e3d57122c0dae021673b0e009b5a7f5bd37ef0cb1c71645520ff96c1b4588c6fdfe57d33f1971064b847f4008adeecc742d262d8e5121e11a0bf819"}},"description":"","pubkey":"0x97bd9b7cf8b9e78379c66334d3a238d366225a33069db3c75ec9761a05dc4f8470f6ea640ec6efb6daf1e60dd814e1d3161a400f6252ec72554e143cc4e2cbe30e847e4d3d8a4e501374d2e38ec4ca165b017c55273f9c597a5c2c07a0115fd68b8e7f765963c6c9f93820dc7218a21a4e83ceb2419a84b32db53a5eae839bb6d531fb3a2be6558c41ff9067f2d25ae00c846860ca9279901f2e74cc07192605d1c3e31bd2d1027d4f02f370deecdd2c0248ce0330a1bbe67ffa9d74c2ee287e4220c3cb7dd639458cdb2c2c779bcf74938ef1e3b39eda2855c71268bcfdcf02cd7dd82c4788fecb5240780895afadb2da583090024b89ebb0de152fcba18bddc6b85afb6a1715fbd807e5bebae4196f506a873ae691a4ea47ec059e52d0e1fc1e63a5588f9bc85c88cb439e2f24e6b4f504ecc6c24a59dd0537d38f3198c49b8a9a7f8f6116be16c46f1bd698a8a531a49b62c7c4131cb64d54a1ef255b490b0322898dd03f9a9fa79caec742968db51c59bdca59f01dd9f487b9e8b62c350a7ee21cc023a845456215983ae2004b77e5f957e124d0fb91c99526a7cee7c087029ec283ee768cb56dcd0c5bd557f13d699439c5feefaf5d1cdc2314b1a28e5c94964a9b8f4d45d9d309de75e60b985fd8e51f1fe8dda42c0ecc9749667cf842c8457796a2508ddce465ce6781ef79e7f938de89a57311f16797675b78983d2ae07775dbde753aa4db2354c1bdb0ad72a0e5cb98d89e8d9cb84c3f9c8a1935197c425601a944ce3eaf7daacac5934d4bd1232f29116f4bcc2793fb0f6d02c9fc377ed1a27b1aab33db4f2c30b50af006f252d224434e11d2c46eb080d9bbe0b6ea256db36ef9c00376e845ce9d854e1a85f14b56d99112c554a8012f9c173bb433135dae433e548d4dc94565811be4e5fd5cb9e1124756be84739477267dffa170400eb395a436d79ed403af7c310e9d25d782ed87ae368e1f9ee71f8a9be383cc85fd15a143ba45bf6d94db26657827cf4adf879b8695a973786511efe52bbe4d604b3016c19ec1a059bb90e8ca60157b809600bbf4f9ee4ed6bbbe6b64dd0af518a49c0503bee352aea97f55d7502b2a169cc2dcf1df2c65422753f08bb12212bb5d07f22ab99d56000a5d0efcfb6a7933c75b35bfe6260313c41d5ed1336a52c03fa12fd686da989aee33fa0ec87691249299a51eb4b5b947dc27ccfb277386e4d3f721821769f096a44d2d7d0592b5f183bdd16e78628d112b4c900126ca71462361ce445d64750a41341e7b0bbc1c0d93d6e892542349a6d5de746765368a95d87f70d1cd03f656a090ac71b58a3356fbc06284f0b0d7f9b32d06584f6f2e98649e05629e0818c8898eb952b6603214a00a729c6a01bcdb572bf3892ab862bc8209bf92fe2a6768a524f4a9d3ef9f4fe11af805a5d993009d3f41412fb4b8415bccca128aed03b0cc1c7bb9c985f8cbf6aefbab5e964feadf4ab161641d1c073805deb889c1a318ee27d332eee1f5a1b6b78923943ca1021cc4eedd88e3bf5442825f5f3f78d089b3773d313244938f4d6adbaaf63666eedd2e3cc35bf82eccd9493ed7eaba0f085781d82db32976bc0323ad25d983407842de0a59bffca6d1fd31c4f4e6b66ad8a2524ee5a6f083cfa4286cdb4b5f1336c46aa2854a0fc8a1ae7544424c6591b08248287065979f8ef61ab8438cf6614c0d4a3ac5ec6a17e1cfe55c2d29d20f1a0557a2b6e9a76be622036241c8a7cb6ef17b0db775aef912b69eb7eda752e33148eafe5974a91b4f1aab48546a1aa006a6bb809d18941e2e956c104289c7a0fecb80fb663d94515856bbaa1bf838024a0580f55eaea2d490488bf97be2086906916c623cdc0ba29703f2795da0b428edf3998515ba742ae988814508e3819f41e7d05552f0cffa122636def125a70cb451aebb83eb848ade35540e2ac02bb28bef71b808d094da39e33f222d46a86ee206af2711120998b15bed588dee841d33c5bc252ecd41d0574e53efde1066b17b43ae78cd4bc5ee9b44acfa2149f4ef2fabd077ab646a51e4b564894481be52ae44339d6d3069e9fa0e10a96981f008b59d1264a94612ba04024b3131b318f09480555223272e5fcc2c5a5517b7dec0b01aa662c2ab71f7fb2b3b38458c971ed27c3318bf47af55ef6177df2ab80c8ed28f1c3dfb72447f2a5d99123ad7f8c4a9c927c3b02ee01e023e716a59fe9811eb978967238b9e71fc82e7aa1d45c820c618fbfefafb028a82b0a2ecc2d01eb80ab3e2e5d48d9360eae33c0793b9ca5e2db06e062fc886d5a510dcd217a6ee93ed5d2b26ac3826dffaf57dd4a6399bac2e1407979e801183e4c8c37a6acefbf39e9833d68c6c2168be1ecb9c83f012f15e04ac27ad986ffeef612270faa7883123904d2f16e098dc50cf6ce7863e2317d01f5d1dc85cc9c2ad889929fd1440f44396315d9d2ad0c0fad657b1227b120e8f80e8bf95b77d6fce349708c9affa4f259231cfdc2d5441c70066a2482fcee2ca18089547bdaef210e81683c5d3cff9e75f6d2f7a927f63b8ef09e92948374e78bc02ec5dcded16fab9f3da0aded640a260a701fabeaaa6dadf4b043b99718d0583799d0c1fd7fa2a7d6cac6b961adb569b34799c0f813eb043db88bbe27631b0d939a7a98cf2f932d25f89ef7bfd3853426af2f2001b8cb89e24c822661ce362829892e62fc719d83c4248ce70c991361ec03490b3cfcd142ebf0b2f92e299c2865a4a7dee5cedc366ff39fbeeeb0695b0dfc051aa15cd51d88ea88d95e77340760ae8a5d5c3dc3c7290a0eafb9912d627d39f3eacf8a7ce9984ff7259e8d7ce1832e55fc7bb041614bacb9d3911c9931e9637862a3c5610f65d9ff7dc09572e6214830552a7b7df6a30f5c53346449bbc630a5242b8141d8e4db93d845c50cc91a81aed8f5144375979d2289680960d3c42dadbbc3089df99a14b9a7d419936b2d0e26c39f458baced0dbe30a20ba5db626e877be60993d7eaf3d369ed06308a4634c10a1311c0085318a4616a26e225f4741738fef7753a3445b40ca728184c72f9c0909c6fbc30c6c88d456ad969a07fd90bf02d1c8dce2fd60938cf80a99a81d2e3ad2f9917abee2d2c1273001e8d897a9435c495fefcac25672aa7a10d0d3110377a57efa0c9770c0d96c9bf5496c220d05e42bdf95dc22be594dd67dbf91d9cef661d7578656f27694431f9140732372d9d42bbbcf83596aea82c89e319397fea5a7c411402de1b474b72df870a63a7232514b08cf33e166daf9357c0c6a932c2db64a47f47dbb1b9b571aba37f9f1519aa1e6293916669b4744cdfc0709b5778129b51af2555bb5391d48dea7442e50b7cae644707ba698d015393a9fa1d2c090d28b46984022957a8e91481acbb95c706f15396f348f22f233073cb94a12da775f8cb97eb65efe45347e8156b6618390001e9bbbb3bfe6f3bf6a39da4834902b4a6caac51e03ca38eade043eb0e156e5ecbe171b5b203cfe3453d4b60f62b90ce2d43bab1686b9276c5c2dcff04917e7dda512d12ff136f34830bb65dfc957c3352cffe5d2981cb5e03d5414cd7e69d6fc426a8819e11771cad7916d77f7ed48eb0cac9d41d56879d7d88364d78c6a94e2facafca48d85d2991f69988451f1b0ba04","path":"m/12381/238/23/0","uuid":"2e6227a6-643f-4b12-9581-60c2fee424c1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json b/scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json deleted file mode 100644 index 00d65012..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_24_0-1763367127.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"99d3f6fe52795f5b1ed52e08d057956d6ab53cb60b18cd3af7b7675452c478a4","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"933850d638bf9767e90900ed"},"message":"6dcf31008991ab4277cd5f2abe8f817bdfcabca133eeb15e1a7e4e185efd2e7f2f9d82c4eb3d5c0ad2a7334380b9ca040c3ee04f9e7ab51ad5671140f2c47a78"}},"description":"","pubkey":"0x5a46e603d89faaee3eefbbd28e97fff17169733346919ea013ffd3a9463a4c58bfb8d10b1d6b747c7d29d78364b2d22b8f46e63eded3ae8803dc4e52b8aa5a556896f66ba6e7e31e2efedebb1055499e6c4075d9a6f12ce499365cf0dd22b9692724e9b10c55af6e09ec47f6f9e8464a4976dcdff460ec29293c1ed02c89416750ef68afe30b5f44a8fdb2c74d0da0764c66022647abef6b51accf414e36d55313acb3343b830a183e90ae30291f92833401d72a9211255b3e93302510261243750930934aa0f5678f1c6b48dae96a201f1b9d5a45d367a67baa789fc5eaa2753e3bd98bf8e54a9c627232518130c1e0328cd6b8e93c1f3605a55caaf62c5d4525275ae72594c562c265c7af5890229011496a9ab9492fba85a228c9e253b4d6cbe2e2ac2bbbd65ca3a374edf27e21b802959467d69e954051414dbb0f5229ba8eca045a08dda4420d714a49ab16d7620737c038457aa13c41935803531ae52d3322667e511a6571217c77af226524b82755b27bd0ce1ed71459c90798472efbe5fd2367bb184f51a9c8ef48e52de1369f7412efd94926391b51f71d5ef8f7c84568e12cb2d558f8456d640a6322b4b092e530836b37b43c0548e1c10a83d371dd2b7116bad4083bd51bd53d825df5ec623930c48e0192792a7ccb2f02513225f703de4eb402993b2321468492b56311da1c0a4ea9a1fc43ea6313974eb71aa8c85ecde3a93e986ebda373937bed54e1a9fbed064cefc20f720c53ceb3294f05f85b9c317167814cb556d0297590c534dc6dc6751057e8f25a9b76224e2cb8480e9c07cd38955fb392e3d2bc2f6dd110bb7aa61dcd931516c9eb358ac6fade578d75069e7e9c27afe814ff1b8ca8976b413a1d460bf549501f7020a56186f5a9951d140c7b5dbf3101071d19eeac8b11d5bf82caeb20c5a4648f9862258036b237a7051c8c271cd2e46539af001ac116e137f9a041b95d8beac786e9853d3eed750e77664605f99509d78e0336f8fbb8fa9c0936c60e10e5f260eb415d4970f8890f1321ebeef80241668b90fd08f3bec953772b2849a9e2df24928901649aebb8d8e6717d9cd3fe013abd403cb6aee425cd0493b9d8d7eea42c1c37d2017f9978744ce217110a5b265465ed658f09a88f60828b9b213dbc306bd38ebd388152b80cdc8c59fea0e58b20f6877c2bdb55e46b11e7091915dae1140292687d61a678ec4228144d6b00ab0c5b890cd1f226b37a78a6724f6842d37cc33aed99e0ab94ca4d7efeee41cae5b153cb47242b01bdf9d1176cb7728a5790c8a3a3a5438c34da48f4e58eee2da9987f9ebdfa2bfdfdcefb4a12732203396cf53ba73a4e2cd9982a017a0ad7d783faf460381d39df77ea455689d0073cd13d5c20ef5d82ee8230ddc99b971fb6f983c910853aff4276b20361424a1de40c5d8009266f9465490ae4be1bb6772c74e66edca73ab16ce498d579d0a985e71b09c14a4f4e83b990fc0fc6fbc39dafc302a876b54324edb85e700839058744d87f9b777c4dab82d7e8ce876bef5277551ea16681d3b5b311efef8f8cdd9f73ca4cf4d688f0dd532c2f92c4ba0b13d76b7f35b317001e415efb9e5411f3899db42e354e76b2790add242fdc489b8fd90309724c616d6c7d532ab2d682b5adba062b8f05e931c5c231822184ea4a15518c3427a07e3b1103b3ccd131ca7e9051a74128bd93e7f92750a25e9d8cb5e35a998c945cf18670ef55dcbb32266f90c431f763eb3a77f21cf12c1812fe3c33b6a22e1d7b0dbffc1b3d136b2b5458345f84c6b7412a88735176f5fdbe558c8221dee00abc02ed518c547b6cb9609bad758d42ad701d768d985fd65c5f1100d9068085cd446b827b94a362f4c17dc63bad2fbb6c68a23ed4f002d6ef331f6c0380bdf884890b2d053585ad433fcb9d359e6f7efd8b783b2725e20d98e9e94006e09eb387d0e2228ac21ad25f0c40a22346501f86e7fd7ac9b05d1cd692acba7d661436234aee982451cfb40e2cff4323a5e060f8c3cafe54f77d15feea9558fc72601c14878e7e4a0c682b438f8cf8938a94c497b9d64f6ab9ac169a77313a7858ae91e8b40b6349d39853c67c027ab4f1480f200522894ac7497641fec27593dc597cafffd89a156a88c1054e7c95b5561edcf4430faba40af3c4e661d619fc96e68da504f8d058d69a7842ba2df2c23a150df931bef85df7d92ad05d1cbdd26b1f8980cb94bef24757e24fcad9631beb7ef411bee3ca3192046727b2175927d6a630551c7237bf166cbf0fcbb335a18bb2c00f80344f56c363927e83a323907613d9c279f35806973afa8e3f86bd051e1e310a3a95bdaad6cb75b826644cdab8e7d2481d3cdbeeddf7c14fe00f427f7662b8806a2fbb0c753366f38a9d129405dee7d4804cc2a089d53b6da0183c0a3428b50cd5a7bf0641e53395d7754ab811a691eac0363f1fa7498b4d6c3e76f5b3aa11682653936da096ad628b878dcbbaedf66e86314343dcacfb5e6380138f949ebbce5d3b5103e352d53b7214d130423880b8eb1c6df97ec6afaa8ca58f6432f790eb42b6026238befb0593b3ee56778a639abebb927032f83bef0a3acfacadeef227ccce54867d22b6d07cb3941a9b12fbe5d4a74c1d503c7b38ea7ca9025a95588c9367b2bb4ea25639b9180ccb3866f1ea3ee6885d436c3dbfe9cf7e07e73b271051c5aedd52e1931a9140900bb191c6a92755c7c0e14928c36457e8d983cc6e907fa3a324cf02962ef929a76c971513e04e49539dedca49c9acca050534827010e0c91c9f979da46212bbdb88f51a2ea41aa43a671a2e3fba0761475e49d6db79cbf8da6321c4ca1a260e1aafbcafc9246b932b67672a9d45991b30d1d3da464cf93813ae7c805fce57579a9a2af1b8f6231bb129a3ac989c74f4b969ec52362d349ac03366708d3edd145b0ccc8fb79038d388c4258afbb95a8f5329c5c70f55a87a55daf5d467e145459ff26f625bab1f2a95a6209434f4dc76bf3edafb7f470f2ecd5baa29216ebf3aa8ad450def055c5da10d9e535676cd35e68aebec985e797463e4fc1e726be4513e7fe6d3f882848a779ada638119c1e2a4ebadad12598c3abf0f62155d68c0827fbab738c32dded40136d756fbe24edeedbc5003bfe9a60cad66ca1bce1c44c0ed3b2244ba6c3fc518b5410c93cb25de6b038496c4ce240b8abda60b98f625cff74c5ac30012c01ecab907066258ab21fa47d0f6272e5d95d6fb14cfda4fa8a0e968a7e93d95a700fb9becf00de55341a374b5ca4c0bd5bd347000affe692330c8e83eb221b71dab0d6634885cbf84b73620c10ef7ff5179e016ba2f1fc233a947a04e4e6e01e2f7460f205180e61ab827bcaa5302ef96b2478c5288e7a9a8e6a55f6945e549ab936a85015585ac035c9c10bf355426943e91df845290257f2c66731ebc1e5ade124a1b6373c0c13dfbb71a8baf87c3767dc06c10847b64011a673179327ad4526340988212e754596f16c2ac7c071c177ed15c5b0fac66576c9f3300654d1c0b2e835fb22f840e8268525548334ae9a0fa5537b1bb1500a564b131cd47009ece8940a1b6922881ee34f2008902879f256f02bdfd043d42bc19576ad78e2d2e9662be15e77c56e4818214e5c036f6d690ce23ffcb","path":"m/12381/238/24/0","uuid":"ae14110c-4b0e-499a-9fba-67485a479364","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json b/scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json deleted file mode 100644 index 7b5e9d52..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_25_0-1763367129.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"80562319af16d70b12c0c19858ac364ee8d72d2ecd4e4bfde797589fc3ffa5a2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"f126d5bf0e06e923ef013430"},"message":"1372a39408d7252631a0277de235c17551c76dd197e0ba0bdd608d690c42117149cd83b885de2c2df421970fd402f37aaec82ed019489ddb4f2cc015d6910df0"}},"description":"","pubkey":"0x0112e3c28c2646efc3b661a866ee29f12f648dbcedf4d2fd4951a084d5f8678228b72a11fba2b19dd3e021ffab7ace56c926ec13fb73fb99b079defba72be144b6947a1936133c511bf1651d881320febce1496b7865f5695535450e45ed1db355d41e97be1179d9b6e6cdfe0027dfdc3849f7e18e735b1d2d329b2dca2923467aac3508d69be8377d394ec7dcbafae21c6f73cde6046ae2d6aa71d827d133cd8b5ec90dc2847fb584cf4a79a29d285d509e91d219c16f4ba297e0d9c0a62f94d5de5112dc602ddf7079a02213f14e578899da478b0c201ece163f0a16e5dc1bdac9c0523cd92c56f2621371d27b693c4f9b57152b98ca802c34d00506d249fb3e6e44f57079619f9efdd2dbd3628409be6e83351b506338c39704c5888ac44fced1ffa785c99c988c4c7a4dc76d0c060e0691002ca64012ede2cfbeb8dca20c72f795017f96d9aa4fc00b24064b784e1ec8cab375e4cb296a8aa7765ebe4762399d912a297fd0b67e50005b93be401a2a6495eb4d4024726e3c6c8b2853158c7b5b505a14ceab72750aceb21fbec930703adb1ff11f4eaaf754f9c6c2287afe714a2ca03a5ec1dbf5806ea30e04caf872afd4d5916b9471551e5c56fea483b17d73ee0063b064a830600dc100d5f69b5bc72457efce4752756511184e07798e05e6017a087dc3b72c93f9ded43da75757e94e07e8001c73b675f784dfa2118edd4639ed7e3bc41a1d52222bf3f92438b83daf2cd2ffa890533be253e06bce57f4f01326dabeb34e3bb3fc3da41c43eac614e5afb7d5f248112e9a4f82962954fa344eff4ad10177d35dd4131982210acc69e98ef6ea238ef6b790a627459a9896389c2ed0e98f21bc5417a74f3cc9bda948b485dc975f5c3e8726d6fca1f7452ca815e75563993deb6ae1d5a13b141048efa7edb00935e8e3bbe829b0193c83018d4d01a4cedd45d0434b5aceaedd595de9509b1886d3429428f21996318226e4a2fdc5b3a18590cd8664068d747fdbb4ef1aff32858c90812187aee99fc6fd4245c3bbc0323de80e2164235133cca13fd2952740e4665ec669bc4d30f96c2f893167fba0f5d81e5eeb5c9fae6f39c935072cfc8bc8c25b514c1dae507af2f10a9772c34f9f3ed77a5382b3d00b12055e25e87119241e6b1a5e428e6229fcd5a0c8ba3b227d113594a878e034b7ed3572eabbcc77b0f0ff366af27568eb23470883284bb048feb48f790efd942c4f0a0cc29959fc8be4bdb1a4a3b22f21e80c625f4c4acf4bc8768cc92e9a8982499b505387abdae4b6d08ee0043da6277346c18db24c7c41f8c48ecdef791b130504c05de577634fcd9822a9afbebd88845c140bca0afef6e13a15ee9f2d90af2e82b88c859048f593873215e98b1a8c174277980203fbdc487b1f18127adaf5b9ef818e8d087e4c698448edaea5d948364d748c5b3d2adca1e7b38b609cae235161c803e1f554da4efc35277f3b08f092d64ca544b7a8fce5de5c04b2d998637ef437073a16b9b00658060b315e0291131037bf44d4f344eae19ff4c67bc1376a7a431877cd18b282c9142f0260ba36d91d96dcc194d1b6b26d9201ea70e067837d261bc3e94d6ebdf321d9677b7b89e4691916af644cf46da23d087ccc57846823f5092e41fd3c1a3e934f61823bcf58789eed993e42c4e894a34deec31d26df4e0dfc26cad0aa33dad80b258d539c6a11782aef1f6d9ab95af93d2fff959b7c07567dbd5ebb5e6bd52373e3bdc6bd5dd359add44e6a801ff20e3069a0ffe5e70f8abb38e27ff8ac387a1dfc7a250345a694b0acb6f5081ccbea88d4e88315845f77532d303fc5d077e66610c7fed5d3bce29c0a5608bf71382b4aa670769eca61196aeb81231494ddb0aeaec3e6e4306ac31bf2f472152f8d4d93542e5ca12982e8bc9ce612f7a9b6e8f23758a38e382a03a527f61a04d36892b0677d0abd3d481310cf5b71bbc6411526a35b4be18824473c66f949e1e067c9b46442ee9f1c9415e45a6a1041cb334ef8577936d9f0cbe0596ae1c1901ab603b3b6fda36365e732a908fc234a2226c306f33d80ea296ce2c5c6a2200810423e76653f1c101446f269a2ece2dd3d4da2f100983b79d488388ef93f81ccfa63a22498a4fc381b66c0021777ef361bd0e4f0c3908277b8e6598f44847266b50e3bea08b56a8f25192018b961ee5e409ddc7af7a2b86fa9d2a76b998d2214e6b75ac104541f72bff0f477710d5a301825ba5b71d47374c176b4e0f60a23d36493f7d1221ae7a925651e43a9098245eb4bb4cf9dcfcb14c0be8f3eced68b059b08f9ae2ff41be423f650bb7035d7b7bab0accfbb2a37826580f25f1072654e4e36f806ec5c527ea77cd6b3d5df7e7acbc370b75c00429994608c082ae54cec4b78ddf0831f8d95483b67e2e77059f8f263104c0252a38da1c1bdccb8f772af710b91f1e596b332e4375c3a82e05795cd48f2d1adafa8638afe86baef576ede38e51e2e9249029fcb921bdbec145621663cabe04e7915fad52fac918e304309d40a22c25a83f4c0b3b755248af1b0e294ca214fdc05d4648685e3a6616bc0ef5291b07ec3022a39db1ab8c889d02925128dd6469f1b8e86ead2e4313da33bba9506dffd3ababfd8adbe826723a7eca818dbe08d00c6745523c91cb60486b2a4e214fe4d497ca5e09021a3b7dbdb4df82e7fb78f0b8ac0a726fb3967037c639821c8cab4234e8819ce40dd4220d2b370d20ee30a25d60a8cdb83a16aa1907b601d9bd52dfb130fb33cdcd9576255afa03b6b980968a1228f70ab6c26b5c0edc76fb27f862e2b461b53ffefe75783006c96ebd7181554bb16e8888e5aa64357796d2f0221cad01d94525aef6d8e6e916ca1eba706be0d751df33b232529e56564c6873d90ee52ab6f96103762e6bced287022a5c5d144fce76a078f7b008004a2a434cdf1bd3a34fbdc9b1d6164d8802f9cae1be09fe3f2cb63a1dec309327808d8824c2de8d4dde4fa32a90ebbc1e4b51339a29671e4f034eaca4e9e113d6ebbe7dfc04ae9a2d8b94e1b0943303a1f473772231993fb59975fe1a1be3c3be85d17e30bca9b01f7e89f08c0f5768d98d051c3ba5d262c681d0b63480ea1533211d897589147894c6ff0a117affe3e87b1a65b7e05050660f8d0808d08ff0b13bb3e1d1014ac8cd2b7e0dbdd43b2476719e9a578fbfdd24ec0754e4f89d485c540904f12a0a32218edd2b7ee80d1fe7fc8910ae7eb5b9c6c3c2bf70afe8a731a15332c54dd145f6798eedf4a54eee84227a5721124381ce1d9d0607b13197216b5abb4ab182f5fa15debcc1bf037129340cd51d53d04935f86ee4bff787057fe626f008163d3260d859dc087ca1d92bfb4d4f504235d47f8f8c430d2a0a6146f9a2904042f7d5c0bb672ee79cdd5d9aa47b7a15a9445a03fad8fb2357ecf17e39a98514fa88812c3894df4e4b624c1bfd5762e72b24b65a69e55831d4e884ae6438e717590ce9fd928d5e619fe557dc86b580ed0b89f5641a3695af47e2ec08a2eb10a8a20e6a290ae2e85edb3512a5b0030baec89a27fcc11a9619e8a549516b119da300958cec8c407931a49651fd2e8fe5e2e8ddef216f759b2b6fb523aa154ec1419b51463004e78b81c3ad4b074b7a38ccbf64680aa465718","path":"m/12381/238/25/0","uuid":"408ae392-dfc0-4592-8d36-e47411801a4a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json b/scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json deleted file mode 100644 index 677b1024..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_26_0-1763367130.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"939b244e769837694cb8cf2afa5fd14ce4b09d53dabf955b7132e26e55160359","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"30987bcfe98682dfb7677856"},"message":"e2cf98b4719e3e99faddc3de7e29c0e4fffd6d96b9fd94e90980708a9d4287a86b1c22976d126c5cfb0d608919a7b3708b068ac74f0c95327e5994dfaf68ccb7"}},"description":"","pubkey":"0x4f9a383fc29f4de94ea403728d42939832e885f09c1af9168befab5747666f54c61132fb3fb4ba8d4f39acc14ef7e7778be28bdbd1de54333fa1c629e2df1ac134dd584f7f13a39c876007b0ec2fcb1443f955631caf38b1af8e8ccb04f4a88450b332ff7118373d7c8ae60ca744037f5c6d732691cee0a84e7c6523ce5587078c6efeae9d8f80311ccc7a10a1a0ad1c76adad2d5efb49f2edc16d7eb0b4e8c8465fe9c0e5cc15e10b6082e7e9796f42ee66190e012335e3bd19a286a2e3e1bf327ec439e9004f057f0398154948ec8acf4cd866037054c9baf718ec17a95af69c13cc6d022fc4a46d4e016b1b47e1a936c8330d00152e5149fd1b8a49084295725df170f9d9c2275da27da0a31b2edf705f5888db95897ecf3e6e84046c706536e654dc0a18b42c0874a0fbf7330b030baa81b0185147f2bc55700ba684234d6cc1160805157d0ff687be3b459bdb6a762a22fa520c38328619919ce3260dff7b1d2be6be1de95e57b5ace50c1667a8540a73219f5a2e14fe4e47c12e0f8202b77d7d2a1ea08427ad734b90b6661c8b38d2371829f39e5f6571d0d47cb2d22df4deda4661598cf518ea688b532b74a0840e073a91be15caa8d8a68ff87c30fd3cf8ea082b2465185ae4380e291651d2f7053f58e2cb9a9b1189b9dcd13063d58bb6ef8698c4a519408d9ca907bfcc486b0d677927ae6c21cb7c351188a3ae23cd856e43c1ecb4f167ebb1a1453dccb183f1ce9c78785d07c12499d13cc67d05e88e1d7b6eebf1c10277a50ba8bbe87c3e3193c71811192e2135919a8478ec050637dc7fae21bc947eda9f5e48f4d62aae8e9bcbf50e2eb40982de2fd673b6e74dc3191d2abac92e6b6fd79516bb30d9be2b8a6b786d75787ee7b1d46918ea9c38a7d780746efeda0b9313db950b9636681c56a0d11d94222ab4d2860a6ae90e9c1287862da0fbe70a4f0dc3a45536f889db48ac30d1830189df90d1057dcae1dfe85184a2b1acb277d8e33e8a6cdbcb4fcfcc67d31a6518429f5da14920d9fab92c7305a54ec79c602a85bc69a3f03b037b948952d75b103d801ef72cfea03e9b1a1e593f22747591592ca5f0820bd2f170d003d7a95029905b596a7d701ea22791ac405ee67fa98203a82b478172631c1a3c6998bf50a9228500f7d3c6c5084f55255bb2b37be792cf9f14d3537f64e4db2aac194cb7ff537bff8630aa60281050839a8fffe542b8da12a62b59a0533d3fb40d47b024e2e9293be7a6cf0e0fa8b8ceac5829791ad687fffc8a082639ab864e2e1baf1637343f4709313efeec2ca8118a415a2b21b829cfc7e1de06f7efdfe475722df8b4c023c91ab61cdcc6b62dd84f9702442266887e6c6eea47a8683f00f53f66747994874a4b9c031a3e15be3f0654326d02eb7fcecebbdfa23409a54578b2b375ab2c2b2ab6215dfd526012a61c6e8c1efcdb799ed121285b068bc5df3b5da2f283291d906be6375337d6ac293da4080d98cda40dc1d8952fa0f46d20aead4e62d1d38c8517266c09a8ca004abc3ce997cda95d22c006bb5ba1ab52f140eceea293bfc669bb2d40b364b3902070d32776aacd62c8748926d088b31df11a09384f14479bd322b67cfea0f2cd47f11c98426abd8035c568092ae40b0f727190b09c78a3d70d3ecb2b319deaac491c8bd4defd15b78576899220918709ef4f02291e481bf03dc6e0bcf41db6c189a21f7d5a986f2de2cf1ce690c906582177911e90e7efddfaa1e10f9c041343765a884235efe2c8dc86bd81820d6d69c3fea40c6cac559bb5ac7bc039256cbd2217d16391b24897e8e4aa7e3b10a7dc76690fd1f50b31208b8d9f7663e66e4bd6d188edadd0231f5d11b3f57e8dc0c8ec3e8ce27cee4af2461d7ab0bb92c8cd67154c3bf9b13a54ff07d0006f9308d2b7cfb3e6595632376b3e8f6c625a8f7983fd2e98be9f9e3ad71d2da50b3d134858424968927efb5e30af6a62f6778d66e30146e9b7ad1ba68ffc5a2ed275148cfa1220645173152af1c485050a10a15b6a39ddad6fe8964d936f2af0aacf5c8c3e0450f311a8a310613ba38536a9c2353b3986c4ca6dcdb514fa38ad8e838f15bae410362b180325314ff8e4f4743c41c43c0723af85848d90e1a91c8bef99a2168e0136f69027249a1ca630ad2bfdfc78cb9b715acde503660bd8b976c244039db944b01f06a2f7f8693c7f8e9986d6b5bffeda646ef6c42da63af50bc4ed0ec493d836dfdc4813486fe0c0435fa8a5a8b546e1cbcf8ff414e88e5c6be9138751bf3ee86aa61a4739964c27655d92354a506a4400213fc78ed427e54500cd5895414843f7904b89362abcd25915e2cbf9aa53e303e90d06f1e0c77a7ac9a05e6858158f4a0aeed034456a0ab7df33ed9788c32cad312cc94758b25434627a61c6f418c06444069a398c40e3c7632f846ba11d25cdc79ea65a65554beada062aae0c0b6f05951765e4f13c621f5420256a30e7b8310d50d5f3fad27b4575725089031ce2a0943333469ff18f78a2ee15b346e6de6c75c28e9befc1ca8c772f791c98700168fef00102d7ac8a4eb3d9d6fae3e2d1ea2b866fdd47fa79bea18ab4d87042a955a84ce635585697fbd1144714a9ab9e89f7d26f7a1225168a3e544c90b80250e83377ca485c7ca07e75247b7af4ce69a600c60e0c292e0ad1532c4045f92d0068ccae5dce393fcc6e9204bf775c287d841fbc40215bf92251c83c80f993e25dfb5b52ca603443762a0715e76d5eaa4f33fd1d221808273bf759cefdee4a966c7a1691e9e6e1b4e7530d653ef3e30b12cd0e75291b742f5d3fa6dac45445d3885db02dab0ecc19cc80135eb2172e88705a7132ad3d3790ede74b0eb50479323cbdcfadbb49ab0e01f3fb628717cebf2cdb327381fa782e884d382c17b2d1bf9b8757c14511bd3aff82e1c2c7585394e4462939584233b6abef614f0384bd4a61facf4f68d27832f7b1152b14c91af72ff08df51594568e4da7c5cd8034b786fac313af9b319a775f4adde85d522fafb9af0f4344416a20b331d69eeeb38173e30fb2532acd3f8378f68a36bbb3d9c9aa7b6d8f3e6752b2b40b65fe1f2a0033df56a1fe86d741236dcb593a0b92bd3f76d39bd68a1649111eae3ef17343295b9968515575fc1db13d8918655d92a715b4198de9c80324f5ec9f631e0299870538ea87773ead8a7104c651660629eea27b6a1a9afad731a3c00b4ce05b80c02689701ccfc88517060a159b8179acbe52b9c9709646befc2b1637e464aba7d2fe24d6c6f09ae9a9d04389fd8d87812ff7bc6ce2edd59bed9346de44b8eb8c8ecefd070dad8e8610fbeab5cd51dbf4808e8e47fd4de335c3c57e06db02e2ded7bc65226191ea1837d9dcffedc76274049af15f7034a1a207aea9bc9e40d5d036b0d1baffed4d03a4fa3606b0e5a918035e4f7cbee79b417c5083a835c21d01b82dc0eda5bafa6fba4609d6a3f9019ce5ac7565b441262f7966990fbd0447bcef6886c1e48cc9120f1ef523e5aee62d45552262a72f854c331f938555658849fda3c719c2ff5ed906ea7670424c83b44c9ae4824ecd4a2aadf18494425261d68b3924e60429daa30ece6a5f1d328d640b5ec29e27a1eeef86a56ff62cdb24ef4bbe746a3b8ea9223b0800de1f","path":"m/12381/238/26/0","uuid":"6a5a608f-071e-4eb6-b1dd-b739c929427c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json b/scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json deleted file mode 100644 index 20e9b420..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_27_0-1763367132.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"6574bbb8370a4012a767aa1abafbc6400bb31111ea72a938564e26e84898c8c7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c95e7d4e620cd6f5f26f4f26"},"message":"dd21a9291b2bd9f42c4439c3081d1f9a357aaa450a13186a257ca1a75468ca7f18f129f343893c8671f9e7fa12d092e5a0ed95d575144c1848010c0c3b55d60a"}},"description":"","pubkey":"0xd5a19a5a47818a4d939d0f5d05378e57da6db52aaf55f1b233ea5abdf0817c70fbf3082284d3de9ad904513b811f478c8f103264bf96f844a414dbcb8fa9326f955e5e28be39ca062ecc4844f06ee57b33c42bece4afa6230f843ad5939213c58f43d0922b546ec9abcf16bde44278e4e41f39f2492bac1f2183049c88d75b0f75da8ba9db00d29ac401d965629d95c5643968a38b13437d45353fc49d6df606032b5a6f3d0a0e670b586cd9e8e111511e2ecabe3a18c1b6c63b51d9ffc22448bf778debb546707bc25c7ceae6a6b28653bdc00f4a3143e4af7764ff3477359a2da1d30b2817370a7177219e6d7256eb953c5a18b91c4fd78477e6fd13d1481323bbf41464f5f1d1e559513cdc18462f01579a2010a77a0a194438cd45d7b0742a9ee9679382a07e666e8c1deddea4f3a715f489a1430a15fe09f888f5105855922e437daeb2605215f2bdc70989c1389dc7bea769afc5bfc4cd1aedca38cda139829aca787ded06770314724a0b17e764d370b2ad947c7429248bb43f90e0d3f5c47f9511d3c985a9814c18cdb009219886ae0a626f4bf9ccc3834c711c2b838c87e36d7d88e22dee3b8c1b5b56551161d8c8ae4b2d6a81348293026dd5378eee3e6d619ca0d9abf72409cc783c03e4eff67780a9f2c2c8e070dcba7c71e680bb77400c5c0ee9b50bb5ea68b1a41dc89d6f2d98079f9dcab4cd6a3d06ecf0f11547da0555514edc34156330df8ad5edc08a66271b080eae05f9fa9ecdb8499960b5cfb2d199bf683393aa3575697511272619ee195be5b99f42d0359698983b80abc9d0107d018e6535fc14486b774c43c263a9f2769195cda3c828f913886525e04ff2b93eacc3d89ba01e536fe75ead647319a9c151e29ce88b0d57f68009c1cf43c7eb3ec1aae6041b1c5f73e5c063718f3f0f50d3f0c37b09e2b1ca5c96310b57eff9b6d62140746487d51083f0d6e6c3e452bc8bfada91f54953696e7754761a8cd90d96b618098358e70f8a0f6b07d402a4db172b6847ffa48e7c8557f12b298de083c5836d47d1db8c1f86397ee1f9f04c62e9aacc7c4ad54339863f633aa97fccb46d421add9ad1aaa6e0b4bdb1046ac7be2428f00654b7f6a8979585177867340d0d1fe5751bd6182b85891f357649e92588e3aaa00f3bc2ee84ca2c9ca1fd890274b9811d49f7adb204b1a2f758e62052e8a317be94a1b450d3d6dc1ab1e8818d54ecea9ddee903a0b0471a61595327f38db399c478eccedfa25206ec356a0d2cdfd9104511661ccb56683974558f40144ad0597d52c35aa339919373171f2890480e78ab4bd2adbee806da7a58e6fabe91ace282fbea9602c4c4a71ae67e5b7120143ad008fdb1e27b983bfcefcbf7a164cce99e865149492e7e0db02cf29893d2b8b5f5b3a72c2639c1dcba91a4ff6ed4555dcbe116f69f08e111a1d0335dd6c76962cf92335948416246334395429473e707eb36a9379a096fbdf9577650eb23415e64630fb678ce89f9f11de212027970de93edb7770ce11d2395b743392bcbf096f8b3b262b6400db4ca674e73d16a55017f3bc665988d90021d6603cb92f7b01eb1a3b10a49d1e457718d814ddd9821f5957524601aa35aeaafb1a3fb3b766587fe5548619a7f0ec3d98a645c69624209047d755dd2d02a62644e1815a04ec4b287bc4f85f2149a5fe6c4d56c8b479d388e04aaeca66d0d2697daff38221aa45815816a60f9dee805d6e1d4bc13dac73f1d98723237ffcdccd7c7787943b68171e7c72e050fcd36fda0d64fbc5065c16fcc3807e6f313e313a5541826bffc2ef06922069ac4f61c13b589e91b7e9d9a9e7085e18587dce76ba7fd0b1e598e24f164b7efc3de3ab7733daa93d8a149c5ab33d5e5ae360bfaa351bec06e121c5e844f9e5bc3cf60c99a858585613b35e777484a83e7c0fb9522f7554b514f84d7a5fc4c3bf866167e6d5a288ab6df23756342748926025cc8b49b6be3ffe7a74e9d8d62c55c9d2bcb33923356f68bb2d97153d4d7202c5c243e2c16350d9b5dc3cb621c95a5abb7a626a2710b46cf769bd4d83ff7c4d82d98a395ec0c4fd88802969a3657be44efaa5dae98bb6445550376234f3d016934d18f35cae1c435d506293a861e0586b855171ba615e1fded7397511e1b2606d69a70ef291c2d8d192b0c59591b28abe8b438e2d8afd42feb4a9e2799da621bb1f56ae088428ff9bd6155ffd602b75955bbc38c9f778b5b2e9e9fc0c276a73dced06d55c95608f1149a8f91953b17194063ab7b2d9b31d5086f68c86e829308601420c304ae15d1fb2625ad18d3179881154c9a24df9640be2ddc62b7b024655791f102aebc9c05611e69b79f76faf7164900c334ef123a96baf22b669b9dba15dd407962b974d9d96516c3abbf02e79436ce88944937b388da3658cf547d2eeca8fbe7d53d3ae8288fb6e82efc49724db52d73ebd03a65d1840674a49df5ff380d038ce62b1c54c465fb53385ead1cd3ef9b72a9062f40b308bb5b55db1b925154b16de79f2545046fae58653dad58445162382fc8cab99dc84a7f42308e43920864661682b623f4407e8b7fbc499697d3de66308450402126754173b6803fa72b6ac6dadb3d60d4948d794e37c5cc44baaef8d2404de9712fb02590abc343f3f5b309594d6854adb02cc20efa2560d84a61041f52e31827dc76808cb537ce630822a16eb04506f89aae493e9be24663cd4db15eefb4f9f7e31b0c3c3d7125e1690e778120ca84a1684cdb70c09355248446b8e1e11e64da13df1eb3594664f9dbda93a0f65c6a049f54f0c813ce876ef552550d094f8916a7d6db20835b35edabbc3c3ad259c5b9066571738a707841615ee24dd12b2f16415c493198ce0d162d0b96b338609d2e2bf844f73f55b5dd383cced73581735df9b453c7f583a2370f29cc0e05a7d5315eabb5d78e80462a1ece131c9943ef00c2fb481f8504d43df5825ca4f2400bad7d193ea45d10a7d16b2e661ae20c66cc16264429708e35d386291e279323e1c4c3c28f0bc477722435801f4d76048f9e93512e628fe5d16707ec58272d84a259955bf34aaa22378288f13420a7b408dd5710167b6373261b58c7ea41ea334800fec2742089fa3d701310f30bba7e826f5e5a7cc392d3882bcac100d1707ff12af9f36e513ada88a98cb8e30f29373dbdd0dffc924b521085dd10cdf5ef716ac4009be5a0a49df62d6ae72677be7e9de272f808f202e90bc912804d983eeacbe9ebf9c8dc40c57e5c1dc98d2e15e932b626142b2c50b1373dbae9d4e571ca73644fc5eb06a1961fd129fceeb203425dcba793b1f0e9aeb7e6f12cd4c517a5e8897837e25835d5b5034578e017a25a64d30da408b4ace2d965f8109889d7052976abc23d851dc496803d6db7d1431b939d34d7b07640ce462f8a01cfe2f837df42c9f7eb7755702c69ba7ecce2d8df221c3b6b1d9eaf787d258c28f420ee218dc085365ae3e6f621eb9e5a5df885cfd20e5f1060504c639877645c9476b78c4830860caf29dd9cd08f1e3edc33bbb5dec741fefae2ffdeb5b7dbee98fdb0b668d00d2599cdd16be944b66f6a06f4db6702d8a3b15e1720ad500154ffbfe81b666f1a8dcc40f36eb2a77a1cf1a28bb2272b95a8881389dcf2c2e3","path":"m/12381/238/27/0","uuid":"57561e22-cbed-422e-bdda-752f0eca21a4","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json b/scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json deleted file mode 100644 index cac7ac08..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_28_0-1763367133.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ba8802f496d4c9ac0085936211b7df1768cdb233a209c3cfd83cd984ad249583","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"c04854b7e54b359d83ba9b2f"},"message":"c399e75ed0b75faf3e8847ff6448dee42e2c72c2eb0d5ebdd4e882120884e16e96329494c9fe4c9da80ddc81a879d61d86558069668a5cc0b9f37a243d26cba6"}},"description":"","pubkey":"0x42eee732e9a531f5f929a1e2300822eec96d0dbb31a3f9cdd13f5721932c2353f7b49aaa562a2b2658a7077c174d55472e6b2d1020cb9c604de8527a32e5eafe6cbaaf0074ab1b125aff39228224e85b47f4d4d8b1d5951ff8e02a15611647bb1f76017d6c577f2a443859c778d1f1144c14f9752ca6f24bb439afea870b8c6dd802f8758e73989b179f8e0b44b6782ec38cf7a4810f8ea8a94edc37b90fd92b3f4aa3d866862d99c95f7b452df879a7ae5fcd131902c725cfa7f7d9dc75a6ea68c00dae93a4e11f5b50db250fd40177dd6826e325c128496fbfe25101866d2148547225b0457f84ca9d46c7353b042b6a17a8261e1f1f1465370ff6738ffb109b7da5f79a13056db47a345dc06f41581c171ecda4a2191c77de0659a40f5a62a6d3573f71491f88bd3e70bea1899e4cc3c8dc226026fb060c901280abde2019e09c2f0227b50a64593f667b682f275b2cd3039ab931ad59873862ee5aa43b7d8afcfadc879410cf42b03bcad9f83e8909a7ef2d9188bcb446e50f753a1995ea985730fcda51a9c5d996481cbb39dc136fb58b8a76bd6501bfb0072eb43f3253bbb5f72c555d0e76fdc9f0118a1f2f3845aa5dad6ca023c600fbf79bbb452738f0bfdb57e3206c254267aa88d85997baae1feb25d9eed50cca0c97e960cc1a22467e23b354a1fc7fa2d0a12f271c6d5b993efd545dfb60ecac55f1b7e55206a01aaca865e795c70c6b9fab600de103d074b8e0b4b05ba3ba508e46d6880f9b4f1056124327ba8790b3a2f948c04cb7067af7d6eeef8c80c5d42e5b02c2f25fb759773237a2a82e0a173e8a32d1e566bf1d85770eb386992819f0b98e2c32bf4c586f68133e4d6f7603138016ebfa4b86e4a489f263446b15cd107fcd4738f75da0400568de6e106f8f225208c80fd79afea3f10e02ca23bac764cb4647373279932947caca02151af35e80d66fd4e73c572d7567f2b5d730535715177e843111b1a72309a797557d93bee582266bb509ad33f5163d57e80506d72825e144f68af0167d236275208536b7f4d1f9bb10e5e454d66bdfba3be0be9897faa834537215a7425ea6c8072bfc18fa88065cf2ba2c1dca843fcf298edc041d64fabfabe4d2e3c21a512b93f05b7d2a1b7a25460c6ca11a14fab9de2c55b653e8c63f57e890ffe2e80d7550a0e83a2b563aaa32c06dc4690038fe36c47f44633d193d1c892819aaa18564cb7bd7b4c44c26aa3687694e5847df7c53ea2dabfd8ad54a9cade7b537539576a954f326a01bb8709cf76164fa3dc0f104fb90d05e5bdcf92e58ec6426b6afb25cfc37f244589ff06113a3280e7982b04a72f43a9f8cae4eeff7bb2a9a412b5481462c3947555b23290e42e48b9117486d8ec5f6646a72d54d810de6c25c1c213e519463a235a3fd823e7e98583b90fc67753ca59295db2b765f639bf66c92c1293671fd75b227af0df24f96d5c10eb8bdfaad2b7e5f3d15bb3136aa40dd2de23c789cdfca893ccfca3fcdde801adc67318d70b03dc38bac32802b835368f951ce246567d1c30b22b70517719a9d0aa283ac7fcfbc6513e848ec31075e34046a96da1027166211c7e14b0052b7884ad83404538a5e216bebe95fdb25a5e199cccc65862e286a536f469263bde773ce9617bddbc09a3f247fc07d02471439ca9224178f9f1932ab5edd41532ca5a8d6b3a3d9eb0bfe3167f97b2dbef8941d2d43f810ddde078225cd6e2d16fd84bfc121585deaa5c98983adf369a3fbe989b3ccef092ac33896e8ec1cc203eb21c226f91bb710b7aeb0ccb917ba28bd1ca116957f8218ccc85708aad603a410839246abeba2209ba7e4e6626ea313ff36e27985b08be52e6ebe7b455d01c35e440cdb034f45cf6cd19ef33a6e801327940b2fabe36e60083631c7d222741ecd3fd8dc2fa0056868e20e6f8a8daa1cfaec7a9f6b9496c4ee39c0ade3dca827137484d37adcd1e038c40cf747c556d49624a81dc12748a20e070d695a474a101911272018b4b8272ebad7c90dee9157e6f1399d97197f7585d4190eef2af89afc383e4c6d737c277669fedca383c551d167546655942373b9165ea5c440e2da8e8c94a9225f0598056e6d7d196f67cb6b6fa0873c33cca23402a906f56997c92c7d58003a984c231dca092f3d6b88c18013da3a95e885df7320000ea46ef840fc21a79b7c569e0618f974b2554871f823c39c91de544a0bdb1e34f8c9a3832a066a266668cce55bc09239db5c2ebe7ff3efcf65ca97e97d596c6d8013c31d74f53bd0cf1512b48d7223cea545ce485e05e021a91f0ea0ed664b76f060c8f99fa687195d4b292cbbc6f43cdacfb3e511cea54e5303c9355cee24837b7c8d8ef3492a4ecdb57afd2fafca99c2e527ce89a867b4e60908e0378528f69cb5b3a48249ea83e0d991a0678e5a8f5b6a6026d545a833503c416e9c308430c55c1d00f1f829e9b08b32ef89421370fd92723f70d7e53efb45120364bbe651a78ce9c1f66b4763ef1a09ed5ce163b0ba4bec925c9f4ff4fc5eae3e65edbe9f3101088e572ec8200609eadf79828375425a625f0d80b3ec3978d001b4f38ad61177a5f94e54db3af141fa46f1783840e7880c430efe2437bfba61033a30525a85d3aff54c74a5a45055fdae3896ee4ec7966817d57f375485534394898e829ba12d8f0fd6939d729158b82dd4a4d876f019053e95b90b1ccada389efdcfe22dfd54c2fd42a3dcd9e83a12516ac454bae3b55f6f8de3b7ad81eca716a8f474de93cce0e090f3b4bf61430d15530826b8e068cd57785888d904a78161d770079992d9ca74f4b81389c7d7d167e5d3783a8d3ddd993ed497b65bd6b6be0541c1fbe2d2ba9ceab994ef26220c7572b9ef66db61ece2d5b04b692b9f7ba20b50427080c744b142467cb05e61c3c255c9df891b036d7246a595994b494a62a475bb2a07f22507de00a28050e6ec7de89a60504e777c1d195e9097a5f1e3cec7aa506a3f047966052e821cfa446a1c01a7eba56b36822cf8a44337533d6e6072318f9c0822d8e1763522d169e7354c6de25a439e73248d0a04d226dd9814da53e96bbba6a24d2c82f8d46016c53cb38d9cf54cff99d4e71e0abad53d08994c4016e538a3e70229069cc56ba6a435ec667f73cc3d82be62d19da16ab63fec85499b0bb2bc671315ac3adfb06b1d2f2d98c5fe071338f56aad2fbd59148f7743a071086888ae63c118607b4c5e2c0f4c4b491cba6c212dbca020fa7fc773d912f4341421c3ede276ed77486939f3f03fbd24c5207d8803d620f09793b9687d5ab7715aa593c0900c4aa7745cdd820863d0e60e357886dea51a26acbdaac4147db07ddda99d759dad813e8281b773f9c833978a4ac57e064fcf86cc0d2fceae699f0481be18cc4e85277ce9593fcce8aeec40948d2b9abab0634623a01d7719933998cdda53bb1e649bd46b974a61fd68f2404b4c226965c48f9519f00b100db7f9796d2cd3bff2b96165fab92da5b7f7c41867a64dd1807653a40527e432e21973ebca02f0bbeb8ed82fe15eab0d752a4f3e2c5c954043d64b1ac341804cf84de2d6f78543182019a7d09d5d87b93c667890d02c7ba4297db972ebfe0bf0cca3aa43ae66364d2ebabdc2c7558db7e8d899470aebd0f082fd","path":"m/12381/238/28/0","uuid":"581abd24-bfe6-4a5f-868d-167ce3a93fe5","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json b/scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json deleted file mode 100644 index 5bc7cc5c..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_29_0-1763367134.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"302af48c8006f100156add7e3b354900107cd43b4fe5bb36bdc7fdf45d21b7c2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"99c93098f451328398a86e20"},"message":"23361282c1adc7cb36761c3161ca9d8e729aacb4e0d73830edca58a8f8d6a426657422078454807b5560f2fc338d56e73e68c9fb460a8b35698c4d259db108c5"}},"description":"","pubkey":"0xf3177d5f7efd61748328832701942cdd368750550c92a0b8a114f66c051c638d10739e0f8da5148ae8774e6de230e35b6e4d66491741af82456974485ea7071f659027ed9606d3d663a7073c72a03b2a4b8b127b83afa0bb21def227fab18888b9c3b677f54164cfdbd9519d5e01411237a2cfc6eefad2e7009c219ff8d1f573fdb838c0509458fcc40d488c785082e4d25c4e256aa304e2ea4fc261398570d8c4bc707d82dc049b9192ec5ba27095a9152d17f630f569b9fa9e69b8189ee6d890e6a18a9c765ab23a1140e84cd1e21b4d282b15b848464a5c9b3c8ff312308b5f65afff7dd2fb0c87e0a02432ed458119fe8264f33f3f172a4efae0a5b74480e8a3f3e5ec9e5ff2633e5eb16676a1ff520c353451261f2af8ed8e14a36c1708b1f7bcc9702aac0f02ec1de83628091d5322eb32f94d1256ab462d90393c5e79ef201fde0483f8ad7812a090c3c6d60a540aed88f314c9b92b81d76209ffe9211c84211a39053adfd16eed1c93856f3254ae09b4e68b2f95801033367eff2b865cb5d6d723e04330972d84dd5c785ce489971cadd5d652d96d9a43fa6d13c01f953ddb41616eb103ed6bae3be3d466b31f2e00e0cd1806748bcb3b8d7136d2d87653f0b9ac0abbd742129b38c4cd51dca077df218647ba9bad8b3af3ef80717c65fdb1923900e739775e7bda92b6531d71b65c73558ac9977c3a7483add8106c71d3492c5597165e02b52ad078b23c57788adfa147ea28664ae3658f128964cf0108398d9cb08441bd0216edd6dd3291196e4a10c6cb22f8a1b50f3210589cf06190d2cb2bde1a3a7154258e0e4f3e5e243e58548aa0ea9270dd55a0c12bbd28e1e0a1be80b198870ca55e31c91ac89e00d0b828905cd0cbf1844c301c7bbee37121eb090e5aef3cba2bf1402d2e2245521d4d40d5a2891406ddb9bcca7bce91b978a65a7cfb8021beba2c8cf810b2f1f43a5ee2b594f6cb25025c8d8b465085b7be7d3238332052632df09bfd32532c1d59ab7b1f1fceaabc030ab0dfac6d199730120cc139a405a2105ef109c896216e495f81302556be4e4ef7e7794c8bf1a75e3e32a9f75a5b159674c0f2831d839dcedec10e69f7ab2ac374356562d82d6f597ac7cd5ca94ce941d5865873bd58352666427458c3897e6c6e5a81ce729df6b41f5bd28b648e8b915e957a621ee94ae06a1581030363a5921b172d6a0355253c6803ae6f32e681503c8e4832cf94dfad7e225174e3405cfac99d7dc243614f4b74fc43cfa4f6c4241f635ef08b40bf17cd5345e84d7d0ac9809c345326dba79daa9340a7df8116d22551515d9db9ced113930313ec0cad441eeed86a63146b3b041e2742018d3df08364a00a6fb7ea119b5873473003450fe5121581af216a9e3cc1fc0704c50d9f9e22571d141ad7d517db3ba5683c3e734694b3530bfeade2efb6bc7bebddf12518826fa18d376c1308969638f0a720672a50ae2759cf6fcc6fbf63274d3a4c7d0641f8f101f19c694598165cb65ab9f01f0fc2a18c61cad6953182e5693339e7de6f4754d83ec0c4c60efb3663e263a048fe75c2c0b618d6915f3f927af31236690d50114439e967009a37610b95c2ea9d432cc1ec30d87324a8d3a88661cc9938a82fc467f400f8f74111f6a898abdf16ef4da39aadf7f6dba498b2402a268d5961a5b2a32bc538cfdfe8bd192649e6da17930bf2f4bd9d5e5d37b5c6e4a89120a535ca224f2202df71391bdced344175ad4d08db565b03e5ae42237af6e2d16c7fc0e654364c541d15b5fb800e78833acfea4a9aa7b8b675c81fbaa96792ab758d73b5c171c362e72a2fe539f389d4be963265be858e42bfbad2d5bbea75365fadc29296d1dc1f614785ec509d51f1db7122da00766beaace1c6467e63fa02b382dff8f48aa947d2c1f313a3ddf6207f03bc16a10a47195e581be28ed2c411ce9f2fcd538e9b525c3b6673081aaa82e1166a8bf6b2ec68236e231b3073a22c7f92e793e045b0ff1fdb459d3a815e2e403d93e9875e4382e5a3bfd9ec395604abea042e2794802a15de1fd0cc09127feab063602d7ea0ff144be3adca4cdfe3e230c4a00630728fd09afec3cf8703b9b4bf690bbc6080d4a332d9b013f75f8ff6b43bb153262ad0d250ac555906871e807cfaffd71bbf731c1f77e28e9193aaed2adf20bdd17e01c6201bb4cdab09ed50fa33309620b3045f7259bf711061ddd8f23504bc9fc04173750530fb927c4aa3cb44eaf4f642cafd34382b5fcc66e2dda852c1a0b899587f4f32f8cc13a92aa1d390b06e5d41f066f94deaf65548727e6bb413dc391df3c7ca043e04dce3ad5da63fc43a9649fcdfac672901b64ba3399c34cd4ec382293df75143ceeafe54eae432a04bcad344d38fda4dafe44f4901f67f226159902efb4c673402e5ba779f674a0acaad035de1232f0b5b8db160b4a438577bd6506a51818607b696beef6e5ebfe6275a1eb9720aa3344b49bee6beb62fe207ee24e2664b1a1175aa0a6991a2e1dee727435dfb9d4eb53ecaac0f5805da5abc60ec7a5b17320274773cc3d81c412a5581b17883a38922e94543354175fb90c753e65eec15df51e0a45d959b07ea0ac93f70102ae883412a5e27ca4133fb494b72f74c447aa911ac5fb66e20b2aa39f60f8ad40de4002ec6ff752e512a365dfcd781fe6b56ca7f02f0db0629ff772f9d400ce4f17386401eff095249ffb8301679d8d73143ab1ec8db89817feea8285ad50a422c0a26b420e5b37e4cdac7c7d7954a7a744a66bd4a0eabb5c4cff5dcb19ccdf9f0495c3c120f6c9b9c7de99a419c6e4cd0fc90b4e46355628f5f9b4f28cc256589d49541b8b2c7e3f13f29005f61d8caf567f0001a54b27b6db06c8ba0c6b53569216d27bd04a2c1566b98062d72a2dc707010effddcd69c2d31d8b2d1340a05773f7ebe9faac969deec65cb18ba84187567ddedd04cf8bee2b166bcd45a914fcfda9f602d26a24dc36ab9631fff34995f8b8093f631b446480c2e7ba6b73a7dd0bb1c393aa8a976116835b9c8d436ed600d2a63d4eff732072b6aa6767ccdd16dcf5e3790e8e3e5f246e6adc4d0d0c2c70b0b516c5c620850c528cb01b301236d80ab5fae07b91f50d513d14d26b346b4a4b9d668e94fb0aac3e1a0b8ba1c0b2221e42b040a9370747901cb00cdbd1e788f257a3d1098a0a540479ba8b06ace63f3d75032f476e5995a415ed9175e5f73e47314ed135dad80d3fa207daf70d773d744fe255bdc7a08124922a09972b9b292b50f33fb8f67ef139dd54fbe848ab36338da85b87bce9e4631e741f9e8b328427404a7ccce08e8cc702e530618d349879bab36c182d743b06e4c987b38bd0516f6fd7816b67649272908904b180306aead7d0c19720723f40ce2855a7f65670caee81d48a3eb760a6b67052555e356b877d955dce14874abd614d8d6d58348cd2c353ba3e63ba69a0d440987d642b9a1459a0f820d292bd48e4b0f3f9c77fa5c1cad6552cb805c660db7198af8b08bdc10e3f2afd6e314f0cee2a1c0116a6c335c827e2f65c9216224ce0c1de7d4a21866c1f29ef9c4adfedcc087ac42305039a478cc4da9e76f83903f7bd46ed9d1402cc9b696ce29a1fd5d0634fdb69b6635a1de094a300af74ed8a41432","path":"m/12381/238/29/0","uuid":"5b1ce8e4-20b9-4a03-b51f-12b2d74dd25f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json b/scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json deleted file mode 100644 index 96fe68e8..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_2_0-1763367095.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"44554114672674288982c93d1586cb17d25073385838ad945a166d26dd20c70a","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9280913fd1a937c3b052735e"},"message":"0d4865e77e2cc2ca6d776dd043de39d9a1ee62181ce3b20511a5c4eeebf4402ce2e4e47543c98188634089f2eac371588b33b1d4e11f6f4281c905c933a6c0a9"}},"description":"","pubkey":"0x54be3e77898c376d46fc352708848e60d9a2cec984a93643f84a26172f480cf3200143d7f1d909e64629ba2eaab6e3db35d8f30cbe05ccedc0498a8c17102bb06083ae4b8f31262b609de77b06c1cb73faa15988b7fd8917399dc8ce66ead04ccd0c94e0483ece4aefb4a5b5f9462fcda0918816d896b9ac3edc28bd35c4c39df5e327786e6609cc712b4c383503efa1c1d8fda0c815fe2687f2689af7de169b5a717ec8dc8cd4e9ea93bd1736ec1d34ea4e656f452003ddfd42f0f79135b864c24e71c3d8f98cd64c427bc08ef67818e000785545edb5256dff4ed27b9e1e95c62f72a7cb1116a31b46764a593691cb2fc9777b49c92dbe0176ee60cb4ecef71f726dbb459ef335c1cd6f956810a457c796510f374e979aa48b269ce3c273e5d86bbbdcb53783af425b66773458b789173661eedfd6710901af8a88c4890562e5a29cf1b61258a9f1489f8fdf78848a6943de8bdd96ff807ee7d30755595c0cc45b8100e0dd8a8a7bb5cbbda74025e8678f76a5638cb69be4690dd2715d8c15c6e703fd183a96cca25e040ba3218e1b4afb0ed64062a045aa79e2a3a21b98580ac8eab194305a4e9480f91bb7f94baae8011233b8a3ad6d6eca02b5adf96a4ab8b51b89b9899eae765e786905f217fc20a9245560b976cabc19950fa5612a0395299b85852675c7f09c2b6eb6c39a1fdeb0d1068bfe420ac8447f4472b7cef66f0ecfb96478a5543fca43df52ac0e6d025f598559c00ef7e8256403d0c2bf1569864857981b15ba8bc336c5ba942dd41de7bdd4db5ee1e67c14a8955fe1e20d04355ede38f0269554b53f219a175956e4820c0e33f6d1accbb93879b0cbe8cf2a267425c48a1a0fb5bead0491f7b24a5570c7a5d6557bfa882fddfd777a3a5f27b8e2683534ce3e9f482ae191e2ec786d3829324021f55254f5217b477196e58eb7134226b416e9d3b9cf4fd71f0260ad1a75771b4c0e2cb4342359c33d2d2b78c25f9780f72e02e8bbe25a646dc4f1e9e334a4219bec40c314dbad9e178773fa3262d21be5b30ce3ef09b9cbe0725973f3917d25b3ba194a3040d88e153948e9099465c8062f80e3ed67adcd6eadc749f13c66939d72de3f3f1be32ebed157f435a35257ab373c42373aa0c30ad6c5a951ffaaec953296e2f845417edd9761be82ac7718bf45ee88c030dd2277d0f1fd0053f0dc16fcc3e63b8c8edb754d17d7620ab0121afc9af912705c9c5f3cdb832a727814e21a7c792a95e83d35c1ae2d3d37df2a76e36bdf85a05f37eb3efde041bc7a8026a6ad4a57094dcb12cb6f0cc0dec06c2384db4f600364ac37995eff087ac8c4c599cef630f33ab6bbfce9b5fbce85f3ae039260930a3465be29ca2da8131bdcaf0cf53aaf602871d856ee13dd777c160ac9aec45ff98193556c1026a2bc6281aa17d1bc8ed4fa68ca0eae790c1dfb04de62730f62fcc0759cc04d925ab4ce80f490e37d5702d1ba745217456dc128dd049ef34df22dd6551348012a1bacc6b943d9af09a76c99600dc0662d6d171bae2f149bc891ceb7238a260e8c769f0ddd0ef738451214073466de8482b83195c9c61c0a4e67e4f01c10a740dbf76c36ca6e0b55ee0dd61de856ef77728a60279c34daf28685bcd9019bd8a7e666fa721ca461c8854f0999d65d5983e23870a27020d067940444aa02b640371b4e2673bfc5b377c264ed4efba0411ef219417fe77eb0a08045e0e9f473a35a3a6f3492e101d674d2e0f43ae0255ed376e8a1a759fba88b17cc4269f9a0fe8863b032765e33d46ae226fb7d9328ff5a7a4fbc45ef193df94c7ddfef91405f01faf4c6f7b5d04aa311ff07b0f33087c545e20dfe415bba8fe73ce5a7346ef306d68c9b44721e1251cd432f3d09f24047745275c3df5ee0734aca8ab56e58a00388b73949b8b00e2de24716cc7bd39796de029f83f532ff850982eb6a36b8a01e32e61204af111a3580169ea7aef8679869b9eb7d02a1056870191858f094d6bac0c0355349e5f49ffb1a528b29a74f5a14265aff752e097be8bb54b8d0960c8fd2aec7d5df064892d11d2f820abd7e56645e06286b84a867ebcca691dcad8e7127705b428569ad91ad8905738f82f8a9036902a81054819bc2efe50468faa4a090d3c7c6e231e46f866ff3a4983a8e8c51bcfb69ab4222cc41fbaa6418b3a7655bfcc70d187b466621597b22667be6247ca0055247a33c6d854bbc9581f84353e46cf9b76ae94f2e53b504bcbf603daf352384d5e18f8f71f5e80e4fdba5837de52f7f0274ce7e478d147d6c1e6988edbc1ed6d65f23e01139de892d73c13bf03e87cf2caa75465e0deb41dace50616b59da51f858dc83e79503fcb6f9818b3be26a1bbffc516c76335c01a6062234a3e4818d058ed1bea3fb8d957ac8af1b09bb680c8e1936da390c1d1849736fdcd816060e7105e1e88d0d034ce0f1a12623b4cb8b920e46c27ad301a9b80ceb7b48cf718424c427cf69b223b26fc921f7121a5e1095c87bf8a3836caef5dce5c8ee492c2d4f0f0e05e4a8a015e33dc9eca88934eebd212e50382611780bf8ed174d995cde0ab292c769a45ef50e087f82165406637f77c753bc645f7f16327fb2cec131e9dd8a38242c05bec704950b4f303c5ce71966ea5f7a9a354c8fd79cfe602dd0a28df2a036df8779ab295eef6ece56fd739323d3238b509ad7bfd3a75cfdcda9ac3254a8e013a29abb978ac27e4dc1ae1604aae2b5fa0169ae8cc27665aa11c632eae64ce6370bef97f29d259d9f404d443ee2f2a18bd4117a81ff682f58204ca109ab505af085e9bef58c2dca8d3a49a0a60def443f34571140cd58cfe5831add14489fced89985e53643c08de51bb86ea79a4dcc27c86551f9b4404bee90535eb4582dc714be9d8189b54ff8739b9d42c8f23de9d6fbd3317f3e5859dd9a5827a8bf19c3cdcb1115824cb927ee53d3b17cf6e975a96003cfe71fec74e9bd8c20dedfffc7babe99efd28580208a844c4678fd67852d8ea5e5f18e1d7d214b90b1cc5e8bc7865b40337350a35911caa7c0531e7b0e4731913eea2071f31b485795bc336ccf35e4821139b678a5867e8cc9c179788813ec66500feda012ebb231643ec516480bdcb3fc6bb0dedca69ed61754d6f519aceda6acdf5e4d31376ef69bd3290cd20a4c5219376ec9d20e28ce680895834e067a9b736accb700ade599a7caa0359c6098960b6aa78250aede45975e5decf1353450ae3ed28ca5a42d454095f345f03aa0e9629539d64c80e52d15b729ec984f7fa9d0e6f746893afec1218a948086f22663c79a0818b6bce60ddd8414b4ad7a7374f511b032fa7e55138fd1d015d006d8b07b4f56a5fa3f8f347e800c4d1b5c1d821570f92be4e9f87ee01753bfd669991fe79e096f09b9288f8aad096189cb4441c95711c4c855dc96103681493ff238df60b3c7384d334de92edf501d6ad3eb1270afece2d8b931d24c9bc3d4139dc5042ebede0b2c9b1afba14e2d753f920f4405b24d09813ca91c62ed367e95ed73b985ac930f5e612018ebab13fb058415dfc168e311f24d0de53646a6d53ee20a2ea73219d11123916acb0cae53fcbc46710576c96bc166af5bdd89698d8b295478c17fcfa7a0e32635a9913a84c50e82b7528896cce432","path":"m/12381/238/2/0","uuid":"a020774d-30aa-4d08-93b9-3e5c3ec7f074","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json b/scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json deleted file mode 100644 index 21c2b713..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_30_0-1763367136.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f95e5cf3c0f372881f7e18f7f0869bf619a55e1f6c637654ebb97849fcc5ca38","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"cd406bda731c7a624629cf65"},"message":"f9e668e77f0b8ed18998aff562551a7d1dc987c56ebc48e8b93fb5ed7f0b7bdb04d584c19a0c8a87e13acb384317e5c838918a73065754a39299a135c04c94e5"}},"description":"","pubkey":"0xf02df6a0b872b892ca71f86193ddac4e4e04460b10aec4ca5a0ad80e70208d913d7d30d889f6809b04b48fe8025d4b90e608e7404886c662d57c1df3e9bf0159ee475ba31803aa4a0aaf450cb955213a327aac858daab9159d4f1850b1401433ba72a83257e06bcb8adad06f01bd0ed37e1625ddde0de0a6f78f7fccd35c18296834bb3b8e8daa7cb01746bb1439da9960be9cfd2684db9b917731eb0a5c64a860d641a61b692117599061bc08c3bd13afbf85e120b4d564be227788b3896d2e794f442ed1b3a506f55705b4e1d4255a48b6b12092c86ee9b590a01419761d378396d607141d8e17f109e6077a91db1ae7333d44d92912d9e1058f4fd2bcd93dba3361e67ade94d8c8b755f88d31b8ee74db54e3254faaf140508d0599fff34f88b336cca6384a406b0b0c3f3de325dc455a46145e5a54f4ebc1d6994329d7db2ed212f0fa5d32b836579e3d28f789f482e464854b0a3b3b58877001459e5e0cbe5aa5989637b09838f9a05e26ec6f3ec5de1e74b6f21a44ba5c6145d8b747326e7301f70d4fdd3baccdbb744b6c79a115816fd90df8502d65dee97545ffc5974149de9b3410fb643a0a028e2ad969d071241cefe5eb5400f48f9bbdafa08f4e25a79fcc29bea98ca43b4d48bdd12c98a0412b93f9a1482b2ab4173af045059177bb50b3fb63e792c852f68933003f6f51522f70d1588dc5597a2e1d6ed16a2b8cea21699ab36c8821e027215f03daef4a9a835642d816dbd001b192f356f2a7236c3829c4c7b7907a393a8d2b170456be37c5884410752ee191bed3deb7ed250bbe7909578b7575d5bcc1c85fa765ecb176cd664cc92ed3d601ba425d66f68b38c286485041aa3e6504bbac9c9c822b5b87e1f9bb286456bf4132c19ad0eeb5b5690ebfab6f9c03765f8b73df42abbcc4c1cbb03dfd4b968c75350fcf32510f9e987c33a3c6673f4d96817889e6fafa45e82a2a6f6f7bcb56105f0c96247b493b95c43b272619fb3afed3f4bbd46c87d647c09b2dde9274a551c9829bed9d4cc3936f7737b27840c1d0074c8e94737fe7eaf5540ae7e1c4083757c242d650fe5314798a844f41d9151707d125fe28779d91a97953743ec9940560b6f470efb58897cd9d436c6c412e9f82a554ffcb994565371e077766c67bb921dd82624b71a53520a547c633cc2f5f870058fcdb2437be21474790eefe861acb0f551d5eca6739b19a50b804dcd63c55dc85f4a3789ed29f8205be32c2e30e2af894fb3139913fb6d490887018497eaa815eeaea29f8c22c9ae55bc13c3a2ed5b009acb886c22954bf69e6b182fd4055dbb0820da36e3f673d512d2218baccd6cb2d5be99a1ede8f830b1d8776b13b4cd6bc62fccfd9a110403cdaf9c5a2f4d8c95d00cea7ae4c743f2e740dd6c1494d079704db5721a559cc3be98aea664ac53bfec215eb43c0dc3d7afc00eb039b5bca0f1b64c5133ad1040178910364e6a6063fafa11981c3b422a4d15fd5fac7ad27727bb0f27b52e4571721adb81d364d160f79491bb50d70f597f15e455bd7e055063ff9bb4bc44f2cde3d2bd961b69861f707bd6443720685d9647faead11f37505d1f782a104fda28e387971c5d02031a5c3e857abb09e4bdb5f84a8cc1703af670be3c075073f0f037943c7adbb2b9c58b2bdba6d7cab9fdd95203f7a65aed08398916825086c004d386d47892286ab2738b8517fa9d291b2afffbd6414aa455748cfa321ad1ffd0e0f94a44a86f8862d1924da7c6fad8fcb8d1e6ac51265efb3a3e7d2d17fe4da595e1765aa78590622bb06b4323494610b11c4c28664a9d5fd44983de12091d58737fb940f775d8a3df5d9501189a835eecc7f597f3459d25fbdc73106c5283e617e1363fb67982603b0f6a60dc17be00c4c6ea33f122e2c99d1e06300133b50267dd93317a2dbba27944b3629bbb3408859a8776c95e233b06efa3efc3f93b7eeffdb944ab31d50e0101726302d802c2c38393345909d6bcb4083e239952723cb1191a9bc1da20728a26a86d6045ef07c9a7b4d365b39d695fa51d2f1ab44fcae6ce538e84ea2151753f6fc7f4bea241ce437430fad04fecf3da1fd2a746a6675e4735c3a78b23e7c4f50d4725d179868611894019d96fd1bb132d12c887af7bc6b07460b3f68becb7959c171c1cb9032fbc666c5b5c8d7eaa44e118a9da675c5c929860c7b2f32536f9330c11dfafbbbb448034cd8e64ba786f391ef5b8a3c0be6d9accb343661e0413904744d21988574260fe640650dbb7d33d512982645a5bacf800e6d5a6e4215c61f0e1bb9008eace68b5ecd2437675cd15b5a9f7334d6aa798d6a10a06648b711ef208cdc08be03abde08f192e7be4458f5d77dc40387702cfff9520dce841fc95078f7cd285eda3c85dce275e6f33b08941f87c3b765a762165ef87a9e6bebfc1efcc9940c56d1ea16e804e5ea5229bcd6a843ee79f62990850a21f395a657232d6bedc96d00e40b67240d9554157b8f291efe533d6edcd50d92f939210f0d05b83b18d379a07f02e0f4b1ce8a09cd69e537034058a6ef5ef5d8e608ca5641f6346c66c3a6780d6baa2a482b8f447e02def24a7c6d361dfaf21aa0a3746f00934bc3c88bdb407604edf0fe3e9a2857b2e2ebb5b468f9918f90f5da839b8a62c68b8e4a72a4b733235912a99bd876b8009656321f6cec19811aba6c0c8106d9bb998a9f5a8d377c32f873ba717f19410581882256faca08c64eb6dc1d02f0395558829bc50fe832067ea55fb8cc26b71ba66bb5bbfb34373b8e5ca3d5b8eb175b436b46b6c01469a824d5d0310a02bd60a0082c7c489347d54ee92e1cb72ed0c659e0d8d8ab5a18132b6c00c012b6aafed42a92fe653b4b15e0e19b8ba0ff4ad3e7bb8cddba41aedb5fb33bf0a37bd7afad0fef64276faae77e2a0acd8e4b07b3f70b07e2e1b03390fb60f48c983a565f2ea2f7348d628c86e0d0878481b14d56482c39ae3a0aa9c8a4ae18dd234b22ef7e3ccf85cd1e12513896525f09c32daed2222430f150104705443611a0127235acce19acda013c8bc55dc0e0cd3cce5be54e5f9819afa6e97ad0462d5ed396552166543c75c9263c9ad842fe26cae0f6a646ff4a0cd2b4dd6bc93c927f617900f5f80993997779e68384048f5c7d6f95c4069e4a41909ee3f7c76ee0fbd18d367351a5ddd8391ae7839422db99badd760b5ee4984ec6be470c9b33d52f974aa8f99ea097f35c6933009ef7ddbd74f0adf86cf3408960f7ba819aea9f7cff024bc1ca427ec76fa940ef042f791f5ecdcef48d7073034ce49446560473e845ce10d37dc56b3ab1c516b49a5aeda594d10f7684d54a5d720c040da7027110da586dbb30bdb51b7b62b7af49724c02072ca48f32cd02d86739b652ac52df8e3fc471b6dfafdc3878cb3c0dcb70896d64b56475d6182212de35b0512f7c3c0c2396e2edb1b1e2a87243cbac1ad3571e3bcb46565f01d8aa2aac78c6f88634d367e73bd9eba9beb81ecca882d828b0629f53aee7e4bf6cf24837f52a39168c2f1040aef14eca9c76510280d680433cbac2af4bf3a623c1ce28002421a9fcb86a45e042131fbce1545c756675fd63367edf453e2a1a31005ab94b6e1131e3d56b104e314a6c98c777fb1c647f46020f3e1c4fea6c","path":"m/12381/238/30/0","uuid":"101d8152-2d39-4a08-b2b1-fc50b9c4ab80","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json b/scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json deleted file mode 100644 index 569ed32d..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_31_0-1763367137.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"04b6302f6bd0ecc0eecd839014317271956f5caa9e42e6e132d72c9f15e0981d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"346384235f821d5a011391b1"},"message":"ec3c2e4cadd49a4a10cdfc92b71babbe02e23782fdb8facef7ae82ba77835b77caed0b4a78eea6220d93ea7ee6d1b73eef93db9124c5be163126c91be186b293"}},"description":"","pubkey":"0xefda6a12e3ece6a9855355c05458d5b1634ab894e448746fc32cdf2a4a2afde9403bdb823fa1cefceca8edc594710b9227c76b4850f3b23b7d6bc8975a3cbd48fb4faed10446f3bebf3eab188c74aa4cc133c32c08359395fa7a22fed780013cf85f422cc63e9b0f88c9149abadc9ad6eb120144e5033491a6f39f759df0b2ce4d5df51f6e9e787f2fa7445305eee4c74e4342dc16570608594e185e2f5884032d9c0db73986c0552d1dc3419d130ebac945b6ab3d8df537c7a2b52816fb3bad761754e6b9c4dd85835b6140d36734359b34b56465d7077f95004b14785cadeedd480378428f171c5969f21538f494e2b8b6f01ad8c2508c0fb0e6b8eb3231972ee2da236abf240c6ab154da3500fe417288b1e62b1d88a3071fb4dc59a04c43d8772dfcfc791191b1959e812412bc9ab8e5012ac77dab30186701dafa2e11e5cf6a1a8697453c0008a2e2cedd2e983223fc659916b4fd8ae96d2aea2c7ef756d61081013ac902432f032bfc72e45ef139f0caa987c86723997c1ff214c8419493c3c4cfcf0387b5368f8e01f5cb1f2950c937a6cdcb069ca17b565ef4bf444be15e6ead09de9dff198d148e9c7af2194ade80b95bc929b36e026718ab2cf01aae9b7bcf92829538bfce580e017d74acd4a58f91151c9b05c655f5016fa74966ae5fa8e81a3dd47293795ab8b21bb21052df6a342d4e7defec8dc88751a7bc849a5d0e60b726cafa0216e15eb673c6dd48a9d2d3a181449396b63a3ad06cc419bfa4e1240c69e62f49efa1e5261645d53e1f46d7a853c93f6f24e9cb9e9eb88e5132688cf15fc2f9d006d373096ef89af87c58b2dc15ac9208ca21afd871a369cd3c25fa96279ad3fc4db7f4ae27a3b6b8f3671ff7e06d0660939e4ada6e3024bfabc1901c65f199cba0e0d2a1115e7476e50f6f1253656f7976cd67cf4703a72dd9acd004c8b7f64cdb68161d98e4afe8f7e3cc8c3595067e7e0c08e3d1f79869bee61dde22221136b9ce7d633f34b70e736d3aa20d45f8c90f7af48a7026a056dcbeba97b3d343ec3f4d6f20c905e4a6d6476b2dcd63fe9abeb399b4c52328826a5423dd06d5a4c7303e67fa718850d7fe0b1afe23b7cfb0792aeffd6808e826808bd06e0daa93fb0c6abcde49200ed68540d48cc3dabe078e8b3335cd4d6a2ce58d571dd1d8cfb60dbd528750c488a8db415986d0df30b6f299af06481e1d2302366c71dad29e1025da77180ff23064c776fbd7f1a92684bd524d55e78d4d9079f446d92cc643f863ad8e30be6f6afc23235d4885934f108fc7f8d47fc858f42395a14dbeb58a5bb7384ea2bba24baa9bd54bf527ff6594ee0ce46c9dbe4a41878992eae48228c052afea69501540c86f80b2b7ea24ed644587ead0e68fadac9e78433ee57597ad7d99017fab665368d16f382d1ecb067846617f9f8876b3497c3a39ff02c98be61383ee7658afe5d1574a1e793ab58a2a35d7d7781d3838db2fb40ac512f6966f3eb6549553b01681959844ac04910124136060e65c286a7056952563dc58fe89362ac37ba4d8f47434fb83a31af5b12b29be6f72a118d873a5afd4742235e69891eedf55c1fa2de92212b21252db2731a0ca3b60ed7b0e5b4de85f523c0304f7811137c0aaf4833afb6887a538919fa464a3d7dbda978b003e60792e2c6891bb0cc71fd2b103d4041ed215cbd0e4c9cf06cf7d8acf00d81d4ef357eef29db47354f3d22666a5654d920d0c5bbda0b8d78e708fcdf97d4617faf2a3ed29ee37a7848b8311752ed479d0ec92cb11863e1dbdb119beec600a02734fc5135e718dd86c862beec44bb8f3069dd580f27698c42227eeb6efa58b46ebc5a98f66b818da5ccf0fff9e0b1bc97f1b2712870d55d3930d59032c53438f600a3f6a6e1f22a73fed920d8876b048f7d1dd254b48f03be6f6cc8fb27eec1ece1bfb9bb031fbbcec51e8d8a9111697349da4423f59de3f3ab07d8d8652ef20fd819d4de0c8d9f5d59febcf6aa2d40e39aa85ed01d1bb80d9b1e854d77b9481dd5c0cb3be510e41013c6bd011ffbc03a5365cea55c45d7257cae06da5d20f323110758d469daedb2afbbaf2addadffadd502d82206abe7ea10306ae599408b67e1e5e7f9a2dfe8033c175dac3b32c9e52efc717fc57886c14e0b95456a9e9ac175881e936effe84da2aaa21d50d19ac9281cfa7ed9e4effe57517854274a0d96ca4d3bd669016ec39875ca3fef8c8cbd9d21d4daeeec63ce2efd01f9bc46a5a27fcca3faa6e9e0aca43d921192362fc81064c8ee1c2e9a920fdd91be7f17bf13a08ee45b70f331e41f8019a8ae3a936114e8f66a1af4a3e3acc57b1f088d42d184e1a447c0cec473c4288a98128a435af22a6ea8fce81c0f1c79e8518e6de9b46a666cb1c82754789ddb18f2c4d6e353eab18bc651c634f4483c3fda2829c88cb65f915ff0283197475850b36f1a281839491ce0589444154b23c7815d9ffa9734e2e6cb95b1d85c7ff769373ea658ee97e1d3172adb5c71ec0159238a89644054b8e5e34fcf74c1a64bec275d999bdc200d346a253bdfc15e9ad5ece1a66e71618d35952d2108ddf17e15153801f50ad32eba1e49d572100818162dee361a391dcf4c137e77a1bfb35ead66198be531fe4a05fc8e0f33dd442dd51fe72940534d50cc7357ef407d91f78ad4efb53bfe8d64d33c9c2c4d57cb2a593741db04d2bc90c6f0cacf82d703fe9c86892290e3917665bbc753522e21a5a98c2da87597e3834a7beed1d6bde1ef67587434254a9488b8c7d3e74800cf02c784b1d943c418efaf7ddba4937eb209dc6ff1cee75b5998ee905bb62bfbf311ce61787f910dc6bfa34eebf3acfa962e101c387f9525d40f3b30dca15feed284c449e0ee84869a71cf03fdccee6060f7fde119cc4c444048b86c48311766e7b11717fb2526f93467536477fec267af8bfcac6774fe60c188d5b8b824a125ecd8dc32b0249d721e6fb3be58036f2d2ae0af16d13f5757a9e5f895f2faeb34e8aca7f009c9cd7aaffbb36d0445d3c127f20cf2af1e194b24f9ab831e06691254c4226c15fdea41a582a86a3c434288a7ab0c8f989dddf83f13ed58ea119df217e32f55899fb172b0d195cf742be4ed5f420878b2ac18b4824b318771d5a16736e750b9a91b3476925b93b66185ccafad9213e360a1a78eab56f3df7ecc89302bbb46e450ba5a8cd7c72d0a99dc16c9a0244e5ec481e49d3572a2d551d8a0106c310a1751a95d086f31645f348144f8ffd30ff6aaa24c69943bb9d0cb509e774c156d3895a68002f4ed42e18feae718a0c61dc29f749fb0eb8d91b2c0b6363beac766046f83817394ab5ba27a8da9b9aef4c17336adc54eb0410631c599b780af575d7002a8bcb04d328c3a843f08a8b59fd0f9b52968d5be3976146b38e445c03b80d24364db0524b8568f949595b3026eae67abed5243d7489d164ca005d4c947a7b9d2c5bd4e8fc178a71e70d876059356c4fd5691367ff1f3802fe82c875203fcebeffa62c95efdde1e40f07a38e8e63d3aeed6be70f9bbf95245f68a46e506494de3c683869f3b34c09e22cb515ecc27bc21bfe4276d2128e612c55d4bdd4552c04a76f0b19e696f8fbffc83ef81575c66aa93a8d20ded8befd4ef899afe38a5db9a356","path":"m/12381/238/31/0","uuid":"fa2eeada-dd43-4674-a1e0-bc8f9a6a2a1f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json b/scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json deleted file mode 100644 index 0791ca6f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_32_0-1763367138.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ad6346c25ead9f459bdec45efc6cc396ef68e50c6b775c9fcf0e88b189e7d897","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"b988892e79e32958400dc19f"},"message":"c21c207262d5ee252c90d0c512b32f6e85b05f29be35b1835fac4a96f9cf3b62672ba5f3a72eb0e2992d18d799ef6505a8702bfe90ba095cd547927a13e8cfc9"}},"description":"","pubkey":"0x916c4b2371fc51d73f0d187e6ea85be9a381bf196258a2252a38d38bcd8dcb72752d0101bd1ee9b3b84024958e3ca0474852bf50d4641d6e5f5463c6bf9cb0e904efc3bdda49100d24a906389b44dc6f22a17a8855e0d9092e50922f0575dd69a7d96ee4c7acd89877cfad32256b9556e239685fa6d584b96116dfbdf6d918ae768af322a8bff38455d962f79b8c9d59935dcc857ba58125bf2a1fb5181057cb30a00940d94b37e00c056c409dc5b87ec86990c8840d26b75f996c7e0acbd74f172e338c0c2e34222a9f2bef6c35cae5459324f267d48f341ee552ad5d0e19372f2eed17e45a20b62cb91be4e5d8963cb487ff8a385e0c77c98b5c37809cf275260da3c4686cfe4b8563de7206d1b103476448a046cae76f39d5209f63acfffac5cf941623fc0091409bf9adb78b44d1b60a3e0af9721d16f691d0b2ae27d4801c64fd7fa82dea9e9a3c485a9f9cee208f09bcb71ab77b1d9d246e4579f7a27340b156bd0807096289d65aedb5745f69a855fbb4a14c93351a20e26f58ef2189a1a482828f6318f70bcdb6bdb1a53d8a89532d2d66b428bbd7073e44effec439aca88a27260274ab4cb7cd1c97249615a7f483b6a6429a9f261300da3b7129745954601364936bd57b12c664abe64d0c208610ba3ca3b7982a38162a69597ac117f551308d02ce8a25de926a222d1abd1398500e46375eb39662aad4e93b75aba2dc4edb28637048096258dc81fb586151e70c809d31fbd92ade690996bce632ef9534c42c5dba7f97b24b15bc723c0f7ed5347bcf8bab9d3ff2c73830c4dec06dfbd5bd634758f28f856571d3aca9d7d74d327f8f85341715efb792a91c0d7306877adbf660e6cbd3cfaca6c6602ad02ff65abf65734d5a03ad6419b49729be3d5237d9be15504447c920de7575dfe9797126a37b727cf785aeb68158efd48873bff9497551a19fb6da727b4ba2fae2792d8d624efcf4c52a2173eed8c7249a2cdf626dba66ce41f828fc67a0946d316b10bdcf4804593c9281fc005364c17bb7ec82a8894d765189d6f91b62cf6c8da9b05cbfc901c63dddaf0ecefca82510818aca219c847798235d4facfed6e02a6028eb84d21da33abdab7b5fdf6e7140ce4ff70a17c476cd47f0021cb3d661b3f360002e7fd1ae57d5f01dae0860fd3352ac6af5e3af5d05b4237e616fcc381ce5b074c7e593a997ee0402e613aa270654716a2c8bb23ec9aa719fc5ddec89bf83dc3ba353925f1fe2cba8098ad1984ece0c300a26548ff7dcd1f18708eec197a53f3ce301a3bdd47cc16b44eb98f7027a8a53b9d96d59d2778abc3287c08ef69bb7fe8c0b04f5e21b3250ba4409d2a0985e9c9ce2bcdc0f07806cb00775b22760d94a28e67d64b01fb0ef3d255c0d4d1b9ad3fe9feb11290d36f7684a1fef83a20dc4684841bdcd024491955c84e04f8298dc3f179bdb29bd9479270915ac5960ff2496960fe9a0dd86a36c74d280ef95dc351cd428a4ec6ffaabedc1d72722264a95f28c8275fecdfe46c66c1d7ba9aa9a814c032d2b5a0507a16c5de521c7f36912a505a6869eb43e3c7e8a549415ff893bbdbba5bf5122cdb68865a4fa60c2304be423d6c8df63bc6b232fb8f4965f8f7782c4ec2c58c7d8f2c83f725ecf784a0a796befeb1a3b76b5096bb371212b1a9d1d91578c6a892e9de62335eee1ec26e43588a76ee3678b40c39aaad562a3f57e4f465a4148c6f1ca5c368d86daa2dc9bc78d35e9969fa0f9c3fb8fbf9d240c5fad1bdfb3e20e60076fb59fb49f0294635d36681c5db3876a1a130b2e9f7a5a2f91a2a279f5c98a464ce91765d0255de6e9a22de45dfed93906f885781339edba79c02d2d24672649e0e85ed4f9ceeaa67a0d82c32a5e0fb3f0f1a3477672bd6ab973180766dd01a814e4df55966463325a84f0b0b3508e86adaba66198b8f3db3d7909c677ed29d50a17f6efc1a30ad4ed801414ece1ca929795bed57eeecb0523b06810051e4c7564e3c59eed5faa312335fc8cf2d89307d477afec0acc060a145417f2d938bfc925013f26eb68381c68ea9dddd2ed2d0e42c1603e2767dfdd4a17540204de7a26627b5f4c974029f7dde66a67492956d22d689cfac49025465c444dabfdecb5fefcc68eaf633df2e99919f4f8029553306ad23bf432c649013c53f105e6041345023676e1eed68c009f12f31e8c4e280208e1aee225b8dc8d46c1837c41ef7b385cdf95fe5c4c8ce0e274d10b96a358541d87bc7dde14d58dc46d39fdb24908cf496fe5b8901f05427506addca94dc85b4647c5c898157dee2602a6d4c78e0120497d93be8b79d338f6f7b24dceef79421d437008ea50bd27f6cdd40c9a0c7eeef11819cd0464ba7655082455f80156fe6a8a482c3c8a1a0238a2b3527e7fd9df73678015fc02433feade9b7159e30997ce9369ad5a98d80392c59f039a66620d6b0d6e9347f0a6ae00ad1a33eaf437089485b8c2bf77fbd66b58a9dedc0a6c6796df9e0b47d3b991ce1dd12c04f49dffe94bbd154bc5d77229f63dd3dc091ffdbab9e0969b69b2bcdab9c59f3f7316c9e5312dad0c07cfd623bcb7a31c0e7cfb123391c4c3561513056be052445e5cef6fc51d481adfef9f54e5ea8b42afcf9ced53ee960a243d8676e57b5bf9479691fe21aecfbadb077c95a30e12e730c20ce75d00489c4891178e145b04c1ed4883466e77de8fd450123ba7061526c38443595f61d4619100b6a7a3740a9e45bb77c075849891b8bfc829ac0b270da779a6492403f237e3321cbfec4b08473a2ba467645e7435c8479951ecf0e700d547f9b2373e8f0add90e9e6cef1d4f68378e91dc112a5c0e847fe88141d167d7b5896afd8d6ff33c87aa7b085dd697e57e03929b8373118421c3fe89971c3db16e9b4bedb276917a7090d508d48a1567fc3768a3a09ac588bdedcd4930d290cb91cdca29699ca686645916c31dc5e51e014319b6f4050301bebb2e07c4dbf10f2330300cff992bcf1f0eb5b1261bc34fecea7d0c095dfe3a55306e9eecffb6c58d576f37d5f5de039c65d66966e6748b05959d6baecaa4439110b4b31051f7ffe89584789ea554c94a696dbdf96eff257e4863c1dfd12722b8adf7f70f5234bf27ebf8db2580acaf416b1b7e99a7a5b0f86bb854e9f79c23f0bf4cf37fcf5818c29e9507270ae891faf3ffc433789518afaa8ca9d60205e0ad5f497bb16392e8751fa6c19af140531add9697a3e5b80226a0c3600c9a0d0a9799ed96453fd64186916bb2ffc04e970a7c8427ff9e9ab356894db6a2d3788a8324c5d756df55a275416c40a580fa20f369b51947f7ce1d87cafe871c22664532fad5f2fcc0b891fb10ad04faf61d090b017fe0326975d46127b9d189c30dee1e0e5dc437b23ef9e07f8f6252e1c6384fb9b0cfbe2a6cd651214d2785dba1ad503239d2d89cf9b1a9e1d44af0cafe063fd5c195719c822daed5567ac74e08c17b14dbf64698cca54579b19d372d037285f1b727ccbd61139c98c9de6083f30f9fbaa66683f8d7e32e600bf9ef5c293aaa357954fca72bb8309148809462110d2ee36f6059e78a2a54fc8b55dd386fc6cc9cdb665478a62472d1c0ef38288b7844e92df3febefb1c7ff4e01d556b7f6e8cc10cb3e40c23e5ae6d4200e9949f2","path":"m/12381/238/32/0","uuid":"35d726d9-9e65-46a7-8da2-676322f121bd","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json b/scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json deleted file mode 100644 index c6412368..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_33_0-1763367140.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f5bbb787356df1bc7bc6b5875de9ce07a9f43939555845fdda6f39005bbfc5fd","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"40f3ce7ec29a56f3c6db1e4f"},"message":"b5a4add50d6b54b489d67c001bdbc66579ebcf1540dd512eba942bea92202a5546d11e9986d502e88511b467bf0730ace0b04cc4b27825ceef53f49d8f644d1c"}},"description":"","pubkey":"0xc4b815e6020b7b2f2a155980a91c8b354106e6591c8d82a74a8f6bde02e3dc539f1d0015ec3b4e10660a8f79e72a8b148affc6222d2f6ec756020322769cb05bcbb930a100e1cca5c47c6012b151c9022b8a8e50561602e39d6f6316a7abfa027b7cfb906c2589def99f0bc8cf0b63f5ee0cf644f6f04db3fcee29354a30a695687b7140fa43a9d0f96f5b3e2abeea93a410dbce3c3084ab27f77aa207eb43c51462591314b995f3073a2ad0b45008c15979a7106396d363564d2ae79063f62bb3869e8383e1527995688006b1e2c5309423db82c0f5404af8a520c902224ee95788464c3ed8c8b63d234f977fbe73d3589a6b144fb77fa29dee95322e19f63a2b30a757d0b086c8640a27ceefe3cc632556f4029e1cf70f36202bdee4c042a296f7109d486978f6c0bd55daa054ad234ce666909ac8b76100bd51b802a31214d732e9f2b9063ada6d537095571d4ecae2a679a848c7a35b2f764e0832f81f527e822ddec7bee78c07f5d86449881ba1a340091b7c07d411652203eba71d7f5284f870bfb130a94aff51a77a6b3ab5c631662c804b77c9579acfc772b9c49f90f130b4ac439d9ef4d7569279353d450eaff10885d52bc3aef671a15770e2b564ffee78ca1ad0d44666d0aad1f0d83ede72cab36cd1287b4d045a9619bfa3bf596eafc09f0e206d75bccb69d661f3659e2bac66218b7a52285adab7a770d9d184f50715574334385777ac3fea9c7d4bf4d6d3954514da49cb3358f39ff9d4af56e3bdca72cf21a68982c31b7c26f1c852e1558b28261ec56cae8ffdafd891eb0756b0f795a3e36960ae99ada8b8acccdf64ca14848b839b86d470feeefe9dbbead15c8f11c16ec12027a04b96d91283326f79d3a2a8348966b28413251467540591ad45b39fa5071114bf60289a98e352397450f46689e283bdaef182e8737b63a4200661d0bb08eb5e097e4ab4b57901c2227a86386b53d9d6a450f6a4e605165082c230b0357f156a4fce774f5099b98175dd0574dd2edcb1f8280c0b5e709678046127b35e6bfb6ef4f115ce98e270780f5ef02430c4006503c65dbf33d9cdffe601f7ac2a159ea759eba599ee9f28a73173282513890e917f19fadf7165bbaa9986289e13246a477d023c95d9e2c3e2c8952dbff64785097438285a97d748be697eac1529d902a9175e1b7a47998f1a2a310eeec717fa914b5eff2af6508d6a5724f0c88637782f742dacffd3b755b67a7b38b065ba7956eae7856523f446c818ab2af51a06f90951404d6b20fae713291cb65b4cb886c1523d72b95c7a577cbbe947d2fdf0752204e512ff4b37c14f651b8287205881f23714f65e64a7f8c943814e0a16ac9dd0fd7ef195847717308000be6b427e7b77a1644670fd6025af4fb100165cfe175a8e6925a532c68bddea46a69522500a226080f3f5b8f865ebb373220bcff8187173276dd186e117699d3b285162abd5b9ffe96de22b87d080237b563c29a46c34beb2e8f257d8e3b467d5175c4635881c6c0fbd52b0d9205418dfde40e998ef2ec47e13ecf09ebfb56d14b480986a40a5d102322069c8a12ef85741c0b0b779c69e5e046b67184e1d70bdf867e45a55890151f34ee3480aeb9bcfc7f17e73861c7aa4795f32c759e5843d219fcf19b5a928ce86eab41b4277339d31da88d0754ccbc53545f97456959f13e506b1a206cbf7e04ed2d58183db39b9b24f39d6f9d6da4f9df843341ba048fa06e7b77eee91cee8da1a618676007b4ef3eb42c3a93de8f43709c1c7fdfa2e96e425f078ef8d249e70701b4bb564b423278a1d143d850e0bd66f3d0382a10eef740e216d56d7f0dd5b5293c52b36269efb35b46583d1a00269b59c327f74321d381873c00b5b9e1e50ea14dab07653048f299c1d4cf1a1b6161680e3bb7a9ef12e3b03f0e75c8ec613c968e39f033bb28a041ff11420d6e06c018380d03f4552583b5930631e25640a1c24b6662693a6b0c2245f9f7703249b7ddaec411c834712d1f56d5374e6497f89922a078631bfd0537faff1379d3c6081a67c3e7e68470fe8338d88868296900127fa0a73e505e420958a3205f03c04cd267b8489158235f3344d558442e2510e74c681af9b6c1ba3054db3e6f89057a458f16a0d964c4a1af080538158ff193dc163d12ba9944872d64f3b250070a3b37af2b0198ed856906cfd6d4e02e92b519f3f7d828943ff3130bbb822fbeaefefd43f9bcf9f8e2232c318c1a669c033465b816ea3fdab8277bb7fb5d2b5f0c081d4d76ee8d452584ae831a5e8c885f6c5093b8438f4513578337d7133171795a22196ed746daf062925db45ba44c96159f93e19531be156fffe394cf89ecb2de24a606de9fe5f81ebde07b192772650182fa83dd1e468c76410fbc453c1717af62bb2fdae825187e8d791bda75b7facb3eb032e7fd3e3951bd5c7e65e9d33dfc5b1598b43240ddbb63afff95b624ef61c30a334a54f7c6f50a4db78614681ff49e3481d861566fba0bfb2aa29503207e2bc59b618321202c1edc0199673a2732d02977089ebeebd1def1369ecdce4e886168ed665ac5c8850b41724c94fef4ca0a2ff58ef0927fa58534009ca7dac92ed7c592fb9808df9fec3596d87c6abeee12c4f9c2b244d9b0a16fd58f43fe68f87e3d79a2244c2b2cbdc078876e394c531a6fbe64c325932f2e6130fdebd3722de9762f712b215c4f5645c795eb92dfcbc5031b9b09c60b1868328ecbbadda48dc0945ac329970c6a19895d9ac5ae3794966c32439080147cbf7007726cfebddda2e0c306d86c4d6f5b0cf8a949ba08ce6cbab1ec183935520419452777ef831f157aca3b9c737a5cdf6b0e76fe57ba32fff65685669fac88404fd8d0d3048b81b35b084954eab5824cf4894bcc19ca5e85f8fd6e22c2f361af7ad187352a1b4ff8f4230cdaaebae05f70fc48e06fcb91559012452b09a30652e92f21ba80bad1e5684f4509f13efbf43713a7df93d99cf1768b5306019aa3746244e36bf3f5680a0dd57a851d5173c0be12a8e46f1f0e1a7cce912174a175a791d64689a0d813bcd18644a65892faea6525a21655cad58ca0bffff53e4d8ebd06b26e1eeba3e9c0a9935388483577dc6fb8e24fac55b5938f4ce60f5421e4b5892524fb6f3eb1fa498a8655078df4cf9bdf8f672de9e0468b396dc07241c6948089ad67e1297ed7d75bc09efcc582d3b68fbb7f8e23361286da6ebb03562cfc91361c258d7e75ed783a4c1a986c74eef9431acd2f4b5a6c687349bf0a9f44ff855e19ef9054c2368c100eabee517264e835fc30eb259fc54ab39b779a42b3f83c10a92b93caf774a7e130a853e2a494d09ed269c5f86072307093fb84ac187076f6fe24189440cc092525f7f81e0c2514bf4554d4a4835e3c2be962bf4b9802c3a4c2de8c49d45017cf127b6fb162d8ec3be4c51027ce24e494849b4e0eb89cc244752f17635e1348e707b1992f420002e38c2c2c73170d21e61107983cc4085cc1dc0b1ad982723adb36af4956585eca7de1325f40c84f900240b47b5b62592e7933776368d57d6779e10319038b83a893c0f259c4df55dd0bfe89cc586c91694464fce78b3fa4633f82cc994430f7cbe56642073b2d422653d7bd792d5e41a8968ea62a38f46be587c","path":"m/12381/238/33/0","uuid":"09ac2764-4451-48f4-8b89-c2a383f30414","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json b/scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json deleted file mode 100644 index dc96f518..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_34_0-1763367141.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4b1678915fec9e774c795cdce40bdee8d55375d346cabda0886e32e9c8f520fd","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e86bafccc26ec5c2cc93c48c"},"message":"e789112111aec1f837a6ef602791df8e67f8688c6e6d21f3622a6cf13006012d0bca9b59e9fb948ae0f2191891252aa8eec9cf27cc41f676e620e2b1afe86bbb"}},"description":"","pubkey":"0x2940dc170427e1d57de833344e35b49e6cea1b7eb70be01957edd7a8e0b15c66acdcc72d7c888c5365b0d8f95678ded73737df554da5b68689fd33bf90241a73ecfe268f695937e09c39eb7b5aba092f0f585f7c0fc4ae7533977d996d2d89cee53d2037ec6a2f1fc6059fc47e0d4b332f5cc6b609a41215a5c7f62447403dd806bc95144d8f8bda18d3ec7b31bab1dbb1dafa04f573f42a3e274c5f6e15da9b94580f8d0121e631a6dedf42db36a94692e96737a77fe379c0fb131747c6c1c8287e3292ec4658c9c79ff4a2bd4680d64b1b8005d28335200be9f8be335009365b1bc24d7287b4e72d8ef324fac7eaac95da556d286b26ed29fbe2abfb4482026026aba5f28d2ef70feed353b93b0bd0d31c59a50fc9720631ff16d47e67cc89cb0ba9ca3ff60f8dd9124d9042535beac393de4e13570a9bc26f57a5cdafaa0a0706a2e29b75bdc6f66263976a11b75a7ac627c94f5400698be130755041ac713dbadd74d7ab0720d5d8831c6f60320fc20018424e60224fb44b0b0f8e47f6c0aa8c942142b420538910c3382d3f9ace9a7827c290bacbd2a1caab5ff594ba558a57ea6039efbd6bac900095e108807e03e1912f7dec0d569879b0a098630c13489ab85153ea6b740bdfe5d5c062d16e3870abb8011eb9f51b8de2cafb36276de84544e9647e8c7d7be78f34f4f851742de2f1b0501ae31598ed77d81efcc827eb0a8f7cb8c076bf64e9f11e10d73e99b816c44095c919e84e4cce93492f9d3839033d738c416921f81ec15c6a71b9bc9fcbc8fca08684d74bff985f4e40c919778d574b68e8741e5dd3fd49957342b6d86f81445d4859d2865b3b528ddc5cae14120d0b0df28f938eb8fd462a767c2f1ad0e4194d19728b55d110218bceec8f3b2d21652a49a9e654e825fed6b1e56d947d1dcce4eaf42ac26aeb0f4f1b32f5c11840f57ecaf8141a8a4ff8a5233012b22742ed6d6f33abd4e9b26ed5d91a627222c35d6ba2f484df2a58d89e56c9ae5112809681a1b34226c71dbb66b50a5ea6f51a168bcf368687fc7e00a396073515cec5e43103bc547b2ef7d513788b5f760c693c008fbd611ddbb1714bcf63847f40b1dbcc1895df8f83112e9dd92384c9a63b74464b4982ca5e542ea891d017e0d3247e8e45b1fe5f58cdf23064912b810b95a68501128f48346dc57923edc5bbbd0dda4d8bfa03dc5c2d5606ae9aeb9a30262db3d0dcd97a9850ce1663d1b99fcc570804304ed646cd5176d822cf20405994ec6463548a917839f076488eb1cb5e141a6d1fc009e5e970bdaf913bdd3935bc5c557760a0c70102488cc8020c19561e7456ce04f253ba1ee23421d88d649ae5662bca5ba9d78577db124a6cd8348be544efc35a46ec9bb4def5a46ecf01a2ac8074d444c852058684bf808178b59d5c0da709f462c98568352c2758030717dd9046d488c4044b46341439802532e7163a0258e69fb356bdc15e559ba21a073b437c4d06befb98d937d567dd5c24d3d11f6a476d11d5f3c8401b3dcd09a3c1e34f9786effd1674405e538fe1b8f4673d77f0435f0b8e23dd8a3e0738b735a4b541ff0b2d8a2b35c39a2797eba414e11207cd2dc2f7e20b03163e2a5dbcaeb760b6e14263dbc398136bf4a36fb30b2690a1dccaff3b7df29a5ee56343766d7dce8313cacf5e1da16296bf63a1b7524ab906e9fec569e09209abf5f6162a955ec1235ffa365fcb2da879427cb0a193bf5adc4f51123c49e29568d5b02fe01292ff73579c78775fca1eb31d6f4f1337e79e9840d34abf753f038843a3d7b73a368c7247b22f55666fb0e0055e55364cf3279f826bd5c7fe32bb94a13c5fc3510166e6c9bb195be6c67d792934836ed5d8e2280fc8591f6343d7245a6a96dae8ff40730cca465c1ead2a9cc75dcee9e658dc55c6e8104f122136eaf9ddc32ff7050b6a12af35dc312511a53ebb98ad04430912ef41a05cb9f4addf6e09f1b3c239cd80bc06d4901470ab4c69ce08e8a909e03fc25f691f727b0fff8596695e223d45f1e810d3459977c368172834cab471179424f6c4ad4c16e3c65861fa1b47186e66152c9151822118504d54d8eea90df8e96bd6466f41c5314aa26cfdc0f47110efc8c03c08db7c615401ab81c1990562681d3da0d013e3c62ab52729054bd7f0992fbc190bd074fecb99f90dfc1430a1a8865ac48bd38dd382013c93c1531c90c02b22c68c20041a422d77dbce3790772132fafdf85e977a51be150addc40213aa9d4ad87a890d9eb9611e473a857bb7eed0965df1d9ec51d2c8120e021e131af30f18e15d80c7843e5aae462bff3aaa9574c3b1a6bcc76aca76de054ce0973fb86242a52de8c0b1fb92707705db700b170456dd004e3fae2b3ef9ac4603331186bf788606b32608b2c2047a4413a73af50c4d50f73cc35392e6c2d9159071856b1b68703f2f85c3e262c7f234083faded9c2ea5a7e48482127f5ee5e908ede1dc03e0308833047bb7cf513f79a5cfa180743799630296cbf3ff6b639020a30dcbf8b77b9a9f0f7dc69fb6e8ca3b65913c3b76d1bc11735821f693b238fcd0985b6696358b01175e5355c7c9053990b80924ce2c8381376d098f7023bd84bac760d6ae5bc8a44dceb1e54c48a0bcfaaaee1569f27b13142dbb1c7aaf813c4289692c1e0a4b71af80d30b95e9565d452bd9bb4f646c4fc513ef46d35071602f7f4406696c312a455211a7f653718ee586f3f1a679689fd86ee563ed44ade1ea5978c7a779e028f474883a18c67456424cf6f6b8b0a6c7015393924c0994ecc50add1d1d196347d02d53721644ea071e77cdc515d63e1dff39f1e419f062c147639b331c43c71d0b1780e1880b40e253441c1e8107d8888d426ca3a10a887fade2b5712deb0f3a1156af3abefd164574dabab333544fe20519fb1c73d4248819cebcba407c85a465273ce13bd60c970bd98d3d4a6634fdaffb80c39a8123bc39061a4d92e63bef8145f0c3e15d80d074071b519e6d11b8eae458a87547ac5bca1d7a76edfdfb6f7d47daf1186bee7ae087671a0f7a5a4de2acebbec4146445fd833632de0d7d513a65da255f759d5870eec3ee2862bfea26b64038afe797e4a3664dadda7eb48a62f31650f8aad637b3c9935fd36989c1ffa752d93dec4419f2f7cf9740a96751548a6673fa7278c9252ce958e29ef86a8cfecbab6ced7fbea106d21c6c1663789cf10aa09651d062d8888f7293e6a806130ca868f0d07c5f36307fd3b64cbde2aa07490863825c06c2e79ebc15414c2750b30b6b3ef88c735a0ca029fd864fc0298ec76ad737bf601c70042d8fdcd0abddf54647b306fa5e069f3210c9fb870d67203c2a149ed2b90b7bc6f96ac039ca1178a823a10f329c721064565789dce4a25f4be6c80ba8242f8c3f371af8a95164b0c4ea4b101a5973cded768260c4d4798c6e5e93b65c5f76ebd9ad6af2da03f2fd681a48bdacf84af6532458d1e76978483a0153037f9275640689304f5eea15577edc532ee20d57984b02a79aead87990f8803ee6580a8d9e934f4645ddc33d59796cec3bcc9077f87fbf6735ed016b65afd1504b2a355a057e4173d52a6def0ef916a8180be31f3e005706b48ce1ee8ad78618b9d2a4c62a5baa973f260bfd78d9eea5c546","path":"m/12381/238/34/0","uuid":"7b0ee01c-e752-4894-9112-55703bd37a3a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json b/scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json deleted file mode 100644 index 9bcddf11..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_35_0-1763367143.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f62c6c9f84e57c68ca569cafb5da6f5329dab936d46da8c8edf334d9d1128eee","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"8c38ea58ea68679610edd020"},"message":"13d9601e9f8c0a971564d4aa0748ce3294ee0453b50531ce52ab3fb406323590ba0d885b27253de3e839cd0ce0e290f523d08446d46512a6a7bfb4f9e06374c3"}},"description":"","pubkey":"0x193f4b22b6344a5af6fd404dc5a9064bdea41666d9eff70d420b172f9bf13e24150d93d05e316a46386e900760389135d9a2bc1f3b12e83ea16ed8412d42619bb9f100808d38ace3cc4d078cf33571bdd7c667404e77555cd5a3533400d71eae05add0f25da6cff078805805204192261180eec88087c78a08d31cd6a394ec696cfa73b34f5050e62ba443635f79acd4b79a036c022dabc286030efa0e4086091a42347ee0161eb736e25a65a61f7a1465f3f43ecf777ad3091865cdd0eb582b2fcd9fcbca132e5f9f409ea332726b2aae716a7502261612265739e6af602eafd831805a29f99029ea499de9e0f3e3e2d318be5599e4a26edf5e2997f415fa9a7dcd298a8b46e176e32f33c8f6581f8a786fd3c76274ae70118313b5f8340923df9e4f9e5502080b00822f5dc1df63efd454658d3ff4ce2a80b49f21e1eb602c7c0a1a8617a308c8841758af3c402e4d60e00300e2313732c7022697bdf8f837a832e60229bce953c442c4ea937c001bb994a9598bc19caccc61750195b21689f4929e7e5e570a3076f3aa9aae5d25d3154e3daf5cde4cb4334ecfba3c12ffc19a3883be83ee796eaa22676070c5e7ccd9addc305a15a45172e360ea7cacd1f6f29a279806d6fed696c30d7643f4530164ea62fc71939c36ec298a4f0430b9df35324b47ce01e7bd843188cf896775490a8b58132aabd7b010306949dd4b3f37c6c4eb778645d52108cdd9d2381a7e1d772b5b734378a4c7b3fe43a770cb191a187bd10696ff4f014434bd0ab5624e53eb18dd6fd4807e47ff826c158c20d6dd6478c8eb2c3ef8df00a8affa8473d0cbfd16fe6319ffcbb2bd604efd557d6fdad4ee60ef63d2bb515440cc5c3e946a45dbe6bc8c387f108362ee63e5a84edad80116e7d994f0068cc8915b6d0724853a56074f721654d9fcf070e03425ed6d579b3f818f80e6826cb21fb5bc9869f3cc725b99afe0b77f4f12a07482c350d35f1b3135e6eb4e3268ad398733021b168bdcb3b91c9fa9c74e5e4e71cc1db8a905e81b0d1863e8a3806ad338e4a48efe6ce0eb0f49f92b4624a2512ae6ea42f835b9c012d67ad429ab1c516112a3f6aaee398303029fb24018b2b755d40b182e344aec6cb3d33c1cc73f775a727336a9bfd80e207211be064a63e6d107ce9b53b9c896a73d744e760ff3988e24338071baca41f36adb1e1f1ec9f5458d6cd92aa6e6de992620c37d1bd52e44ab831e5ff844ddf2aa97164d8d0db9b4c2b88d4ca30021e10411bbe34167a228209ab1fdaa9d985757030015f2d08b92d6a353f7a815a9a847384c7990b0fc306265ccb33bd3e6cc63b3534c5d4da370b2159c333ff58fb81d5051d18b313605deda633f1766f36efb8015af390f854e104e18c7b9f69029b0b11bd5dfcc26e32d9eef0d097d66f948fa98bc852f68a2d010c8fec4c59c645ca99e9aabccb9feb87d23ebd93909708c38854733c349a9290e29d9c6f755a4116fe717273b2cc1bcd12a6a5084bfdf362ddcd6eb8128c93003b145c3ec931eb3197e8d42c5310bbd1571e7872660ac49042940a017a8cbc03853169ed892448b84d4bfee9181c3761edefc7e1fd4024bf6028cc61d722ab9b8ad7dacd65b26236290bc923d796f1e9b16b7533f58d21dd8d492371a7855f1ec9c585aec7492acceaea22a8fd8a1192ad27ab0e8e3f293b26955fe81ebff30bc9a584cf72d87f4928a5b7e9da09bd6d0fe217bfe299c5bcfd6ffa8d1b1ac00fc2a394aa4a9f6207112485c1c4af80c600ad84114f8b3209012f66ab0dea6a469c6143d101e9684237fd6f0f59c256d62eed69bcebe1ca6f7055c22f1626abafa5f4e0230b1c2ee82c064715e89491a1882c7fe5d314195afc7886019ff4275c99b9838e0a8342082821d2b519c5f0d47202071f1ddabfd184c0aee59576903b3256e11928f0a28e9605516bd45d8ac327304642db93abe20613b6a35d3b85cafbb69485059ca47973d7a6407c180244b9eb0ecc0eff1b33fbe28baefa0247f467b56bf37e05ccd199e92480dd12219b6d7511fd536c334efaf46e755da02d1ecdfa52a96cbe17db2fe095695ecd8d8bf15263b9f7d36c28fdb291cf8e76a7ecc61f1ae3af147c566b480b2c1ce1e8111587367c5fce7d67a62216bd6e597dde5e7d5bfd71f8d17f5f3a925d740c7bb75f7dd5a836d66d22a602054f53a24514ffb13747d879e2a96b67830eaa7c9a2d0aaaad5d8680426d1d9dfbf1998164e846f78796a42520cb7f928aaaca047216c6288f4955a1f27ef96d9266e2eafdf2343b1beff7eae9f6b24f7052e0a56b5666e7f8dac2dae860756b70d9ef52a3de74ee776a3f108504bfc7073fe10998a7d37be76e3b19649d563d63eb5c2507794c8543302575de6c6999173b2adf9153700179b924686e5e2c2c0ef58988f0d96617c6e7a13c960e162910624c092138f6b1cecea7e4b137c9c59e3a8c31ba833c0df68fc37c82000f03e7e06ef3910665c936cc83bf1eafdbd76d739a02da34bc4fc6da181c0088274653a5e9f998c43a05dfbcae5353965638b63ef3f06240fb2e4612692e469183b1e52c36869b76ec800f72657a580ba1870a689a276a671a059587ce792d0973be465a161b297b9498ac16b4ca0a778ce2427fee689a60ce21ef9ad88dc355271df3ad23ea487b87397f13dd52e2399d79e11424a31472ab90398ae2e4d3935309ff38dcc9261515bd704cf82b21164d5cfea23544d96f612c62d11351febe66a4472b59c0896c9029f5e1ceb1d1f62e9b60285da25697a47d90c2c18a0e5d66594e8bdfd2ab8ca00114a8cd4bf63d6e5d3f30ec16a97c2b5cfe887a99ea6590cfebf64a78b8714b5beeb2c60fe4985df315102e7a0e8df55de225eb2847125a4fb473967bd476726972c72683ff6fe1f25856dfe0ce85cc0652d44f0ed1997d327617a739f80f6c4555a6132e31bde87a367849e3dc08ae419db9d3691fd6a82f172f3ef2d31c15d5974abcaeb58e4d4b25ab1aec1b370ddb961f50aac86486d6009fefa637c37dd3e42e3ac32abf3cb89a44cb28de5ec9ccd855ca05c119752922c6a6c94a72bf8b3088b6e41456f0bffe679aec37174ccaa4997f0dc501c39d81d1f48afb04f2077ba107baf35f47df7d926a0025b67a564bb1bdcbe06bfb26a2d9c7e2da82ef14ba800c9b1ee4a7324eb7aa56d2d4ce14b76839e047740c8f0b0919babbce90c15117cbb8d2ee75ac580792b7c76e2459cffa81f0ab6e83183a0541ed7a0b53221c20185b9b8078acf45e4d9170970e43a5f002a24cc8c6ce5a14b88b00657ed9097e3ecbadc752d30c0e13f16e53c7aa98c4f78d2aee46ba5b3edacff5bd2100ee4ae17237b57d0b4b68c33caf5f54cfb85f4f85526bbd67fe00df7db96893067f05691b7524a1e763c6714fac20be03be18be99e69f71b41acf7860177781f2541a4a1c9b40d194d25ba6abc9c21c01e1bcdebaaeb7fa0d58ac2b9057e72250d23bdf57f5c56ffcd5e7ae78a9684c9a3cac8fefae1e5d1b8fef99841b3e4d19478afa6ee05be71bb8eccdbb7dde2af97fa51883b795a0f3338f481328af89ba4eb9b471d35806f0e942cde9301dea12bc1843e6d016b5cc023586f42faed34a8c17d74a4d63c71e015da5d370f7cfeba6b","path":"m/12381/238/35/0","uuid":"a0737408-6791-4606-97b5-55698f05cdb2","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json b/scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json deleted file mode 100644 index 90442c73..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_36_0-1763367144.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ef0a31e83463965ab382e0bb21a2bbade3ef05b822e6a2122c31b1e65ac09532","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"60c25e12ecb1325203fbca3c"},"message":"079b84a31f98c2dd86d1d58b2444be8146323074255e41d0c66bb714ff2804693797a2ce716b549d8cfe68be33cbbeb8b297838ac3c803fe8c3a0163b0dc1114"}},"description":"","pubkey":"0x7f4b0a4a9ad08239998a15f981247679546d86a0f90981ab38ec469c8b4c5b33e084d71a097302281cb4fa4a5ba2ed409f4925f8936441d0590af8be72aaaae9753f77074823ecdf8dd1c254ec79094c80b6f2bf65bab52aaac00c6aba50dbcefbc3d2f6fcb76195affeeecef3be765ca2607a1551e337f214587ec7e090bfaeb9a767093bd8a1015a2c3a60a1a039f68221f7f6676c74103d7be48518046c074cec081259a1d7796fab2617e7258bc0944a4f01b84601985872a02f760cff3aba58364f0d872b3372cae836bf0dd7d35dd4d624fe04f497d13bb477a6ca72a01fe207c84b29aedbfde7d7a8f4025634b77f6d1edda8d2b87ac383aab02d816e680ec77dca412ae9beafdc48fc9c837c11b2a58fb6cd0b8e8cb97dcde54663eb4f6735a7d74488f4019856260746fd27b4df8e0dcdd74681a76aa8b449c97acbf435de9b04eedaa379e281604f51882d8d028f931e1094651e47aa109240f0cac650452fa5bafbeb4ba634d07e53914c443322df38fdaa0c0d99e786a60013854032111fc869e403499bad51a02b1640c76d4ce968573ce191af6d1154d93e9071b3e366bc438238fcd7172f40d0c7fbd3e8a83b44aa637032eabe3626aef1cc70eeaae269dd89a88091b9f78ae3964ed9ae27a7fabe1f409b3f9c03a2d3755a91c36d0509e91470b2b862060c640be8dcefc8dc26a3d4257c24f35fa77045e0218d09e950b1a5da0ea6936a918b87edae6d2fb571fd3cd592bf9fba97c953ff6a59e91eb2c12a4201c28379feee52ff3f42be6418c75e75b8e1d5380046c2b39ed45e194c3394c994d3fdbc286f2c6ca8c94aa05d7176e557b306ef83d952dea3057684bc93df019b40378f2376b0a5a6776e648237fb738dfe1eba1ed5ebd421a94358423483a3a8b0b65a5d37df8d98d625141f68844b99a2a7314fd7a7188998006b55c62316eb6dcf33b3226a53305af4578a35f7ee2e930f4be28a7b4528ee18796d8b3df8f532316394259018d1894db6b1148915815dbd56f2d6c53f29f09445600094a13de91fb29daf9e8fd67e0a1ce0e897763fa44fd493a1cafe6b1e47a7a31965315dab1680ee860c1f57b11517ce32bfbcbfdbcabf5425feb0a66bf4961e49b0bf0c818db95f30e67ea718aba499bcb0f7b63e7dfcbcb4b05b68bd2f8f305b8f909c9b1429d8db94c31b3073401ececae3220a112c3d79f320866d8aec804731f0222ccf46c2dd70f2f70cb5fc3f6dfad7b48a42acc8e90f9aa6e91de531d3318fbb52585ee39fff093b90543f136b6c727aa3cf1f155649726f96917477c4c2999e9e91a09a7b63efde6b65d5c596937513105623735da0339c0d030f831f55889034c11bf934417793923d3a859dea95567653e76f8c9120b77d2af8ed1080ec9e47f2eb18f7ebf54053ec0958faada08937b79665c060897c1618e8a3cebe7bb0ab8c29923d3f261ed9c70a26b7521fcff516ffdf9eea816c1d9903e149301a90ca8c049efe477d403e9fa05ce74d914574bc4ae57b0eaf5da152b80d419854e0d91a058a9c073410cb47b3e1f41879585d4c4534d673572f377e46cc232817b347baeea196aea65907ea29c30195029d879467dc7a578de5edb84073e35473c6dfa24e5670c5b2f53d75ca9affcba2800effeec752f8c6a266beff8ee07c2c17d8a8a8ba84e6dfbfdf1f1cf695e018d439ed1c9218d37b3c5d7c242387b12e7785d9d5b519dffe7fcfc3e861b2ad73a028e1f09f10a1b19bb9f60416dca09d406931b8f767bfdbca0a09dc7053f89e4fad9e7b9018d4b13473cddf72c51f5dcc28e27ba0296b561c817a17640fed3e51f1dc9fb59a1ff098839ae44888846611aa0362ce18b97ad62f7983a1f095d030f0baf83c72e32ee8921227833ebbc6d63eb6acdadce1892b64c11279d2ea66da3b8201e7eba6af9590e7449437d0967744e2c6a782323286cb47c0db705f1a5bb22ddf62a05fbecd90fb853dca0a664f089c05d744ae73840cc1a4ad166fec45e5e6c6618d8c37e5ec89256f76fb540846ff49186055402221cdd9cf2a34c885c8a15f0af8899fc21972ef24ef39d8aa542a3643b47ea0c11b2259b6c004f1aa2487ac7b87badb2cc1131d4f939435352e35cfe44e7a75609ab0684038c5925cfd05ee02dba541187607eb0683175e3afd026abfc26a0744e7e4520e0df50260cd97dbc18d9ed484652bb5d997395439a95f09e6c838cda1791ba8d8fd61b0d2746a3352d55bbe871777bdd247fddeaa989c3abf8f11a3d1166cb4b88325a3594a78bfd301b707533b8ebd3aa63890374589d6584d78af50cb3e5c8bb27fadaca23c810f6fe0d38716416b042c2244263885ce30b6edba2e6f2cfb3db0ce90935af320ca2846e2a9da396a576bc8890725fbf598b4ac8388d132ecb13e4c7572579074a36fc31bdcf41d10671e34d839ddfb0e07fff2b788dcc19c2510d27b644e71b4e64422ec4b2fbce2c585bbb7fd5e50632744fc68e27bc37abc873da16bfb29ea117858dbfebc80642b8a4c71f98f35e04003a949794a4f3d3281b2913cce5c95240adc4618b7e97d13dd68fa144798212dd48ba8f623ff5918fb5bcca59c69b2f265563172093d451623b427129cbae16e3e24ee16451c7e245767b720442744961e484c798e44a95f3a60919fc872ac5b053c2ab32bdd35c122dadbd83c40564aabcf3b2e64960790e8bcf9cf85d0cb17fbb6d087c0f66b0304a75e434243be1c153eb0a47996903504b07771c12a3ec39387f0e04d90b003cfe2fe02e08359d1b7d8c66abbe9fe1fe73f199b0019b2cd4b6bb49b0cfe28eb35f9ef40251936dc96506754cb80885df439cba85fb408d1c32082c0974886cee84e52ef6cdbb116dfbb734c477df10f944d9db325c50cdaca8e8de15b8df9038d7da33f1872ba2538be34ae1c7b52c3da439d2dc35a022ee0d942f0b4b9895b2cd3b9477eafaaa63485388a9692e5e8a6d3462e8ef99d5c92a7e67fc2522b7ff87b19c7d52211cd1a6e64d3c07f0d2e2d075615ab7f1fef824790104c588e2389e48eabafccfdb2a6a4768f2de7d9be3c890bc2918398bc409f8c80631fe0cf8ffb88cdefa47c0aa98a13890803370f5b4e05a5259bb0454dcf9d7d50348e4decf3c8126c25f5563dd5d6af9577d7fd8fb82e40ebedb84bbadf29ce2ba6fdccac82ef5448fdac074dda4dce1a3283b1e6114afbc3bd94ad6a69a4d92cf56ac51a3ff3959485d203550d65cd6d7dc7faacbecd09fe3344fca23eb09b04d516ade41e80cb4469b0b05bf6cf32357001be44b240a2289e330a16413e45d49ee8f69ad1683110bbfa95bb5e8e5dd83381c9bd1199dba719da653b85d86b6de7f87a1679bcbccf0f6b234fc37b59491041f755f4dbd3badc819ce1c33cf9492f60f30df27ce118c8087fb9e553ec7cffd566211ab5b42e9f5afb8371dd778c73820de5bf046ba8da7f5591e169df86fb74efbfb884ad4954a924a6f4e3bede66f3169be90fe895cef11795748e47ef6cd2c5b612231d225e7455818d23d07b6369313e54316922d11e0b112d4964d76ba10855b4f2894cf40d0247801a0d0143567e164449694dc1f8c23f98632ca4b91de9dbbc37827a822ee178877c98ccfa1c2e9cd1dff67c7e07149941f4","path":"m/12381/238/36/0","uuid":"e0933ed6-5855-4ba8-8e90-c7661b6a10ef","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json b/scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json deleted file mode 100644 index 10c13c69..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_37_0-1763367145.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0c48c10fe6f7ce5db28e9ea36b88d16031c1bea6b4795248e8aa1f697a39ca17","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"66d3ec9173077f0b785707ae"},"message":"b70e4b0ef74366e842116ac58ef8fbbbc6d41bff02c99c621dfce7db830cacbd37819c21fd4a6c2b689eb6a9e689726e38c52f86e32225f5cc0c286963a4931d"}},"description":"","pubkey":"0x82386eff3d996a481f8c88aeda0bc41aeb715c7cfee26d496d48010b1193944494f46881aa19ff319c1bdf32b2018b7957c9434558c21797ed0903751d2414ce64367d6a833d2da8c3c45920356568147c1917fc95da1c7b10c6ee80430b2e65ad0553888971fdde85435e4efde22cb33036cb6c77730579aa198c7413a14ee33c2c35fb1180971975ee74acf9b0aa7c7556184120b992f9a9b199864a932965cbb37719e4d34495fe6bb507439f930f72697be66d46ce84139c6914fb068193b0abd6910b111e662add87b685fda0f86f5fe7a6ee9746205ddd21c4e51d68cfc7822902b48be636e47c1d6625ad55d2edd0695c97f0d98ea1d5d81fc207b322e0577ddc81dadf79aaf86ac15d1cf17cfc108f55e52f3f5e686aa13acfc059dbbc669dd90325f0f9fa4773ecf80f647a585326ba7af5731fa5a9d14e4a8066ba7aad9d0eb78dbe0e11b9556b21fe7392ca51c558fd204446923824aac6970e6a49c9e4918a33802144484ae57168ec94cc46fc790c972baa37a80de6c09c2317afcdc0be6bb7bff9f738631c1f1274a405b837975d01abb7772bb3ed5cc110ef841dc8ffe937f9456a5d1c546c77f8a292d18121a3bd7828990497a4926455fb9f0b705e0fa9cf522e6cd476dd857a0412d8b67d08d29ce5f5ae41a1331685f150a53a480cf3951543c890c479ba2990bb33af4e2e9e4f5169aad5ae9d7073c1344f174f2516296db2c7d3df2a520ae1d8b1fa69244dcc798e4d7a21c857e047ae301eb25e6423f2bf00a89a0569aa414a4813b2c1963f77366346bd496f875c800042a4f5bbfbd70a0af36b29ff5322b201c002b7c4649a54ce008e4ac7509c52af30e8fb3c435ebaaaf3fab349af00670094896df9b51ac013b52cf30c854dc01282c2d4a4799e5c01dee694dfdb983978d32f3c48e6e6275bc35c42b09ab9f02314930b84efbed0b86eca6b3064a77ae7bb16dc1209c6971b1dba924776c037c437c0cda4749dc8e764212a50e248c89be64490b49c84a560f07b886585776c4d4fca91c5745c55f04b45e6aca93ef25d58e4faffacd0889519d121204c7ca19882e7370e868500d00fbcfaaff469a698a3eeda096b7077886752bd18dcf200744416777b601f9f381b9b2758ed2b565d30aa9e17129fd0589a8fc73c68a0672ca883b6977c3c22ebe90fdb29829a360c5587410a35fe67576c848053a6f68ca94dd7a886574cc05fab3c9b2cb35e3e2050ee58620aab49322b75b7e1d344b39b10aa73e58d5811a7dc9e8bc1ea23e4ffd826a69e83910b26879c4d0ef0905bae3a7bcff568ce1f290581457377551c712815c37daf5037e0a904eaf0a8ca48028552acf36051c394bbe6279961e1721968678ed4e629d7ec8f252b63fa133bbe8aae3d6e212142ac8e44c67fcf454675a36310c3e446ec2c496d5ef4d4c196e83c83cbf6fed36f878e109204ec8e43919f90c642aa06d8024a8df90204ca7b373a7acca089789d7eed3b3e2d836580949405566f230e9c451686ff283a8f337acfd90bb6cb07f990e115b47d32c6a144a374d721b9be79ca7ab74a4693a70d052bd8a4b93d57955f8e297ec09b68a2acf77e29b44ff825f480e44010c927f573fba1d588f1e287cb5481e536f4451b38f8e734f3c9ee97a74a4c06a300c3aca31be19a08ef14139a5a3c37084905f3374a291074f1792a66421a272236e510e5af19761ccbaefd2fe3f2316a5551cb24320892e8a05598d7308545a6e10f10d58fa0ca3b84dd3f5d1c1ef73a117f37ebaaf09758ab36a1a79394ef63f10ed20e5fe90c891457057fe254fca427baf2eb41122b7551d87ea5624a3c363138eaa978f1c58e479e9b9e0ad959f5fe253061f2023baf3b4bdf5420f0be199bf437aa86e245f2cd103962851d20c2010f218cd46166f2a474c055b679311d7dcfe27dc0d670f6137e7ee3cf78b5a3c5bb3421494e2d99a8a22f6abcac7fba8ba53cfc43e73e385c225466cfd5877607e67aff8762a12d0f522524fa7580eb465be4078ff8dc17334d91674d30c0f483e5479cc6276b26dfe762a9e6cbf0e5a5aea95fda2437c10b4b528bb7a9c79b0cf66b6fd99c422c00765408eff98e5495b19d69c82b6fa70b44d0f9012015b6b9daa971ab2e469b40b8bd2dcbbbe4a5a49eb844ba00ad4f15e6ad666ab2465fc8ce97a55ccfbe46632b1b2e8fb464b3673a3546f34f21e0a1e254fbdb1b1d418cef6c7df1db050577137cee0896e3abea2ef3c898f1a5e9ad631184b074b49b46be463aa04c11354ec903ae336aead9df3cb451b58eeb03efdfe39e69248378f38463557d6a3d5e3ddb8a7ed445845b7495cf624acd4f95d86653d570cd17dec2859bc8e64f8398376e0ce1879ef6729b788ac3307b84944d1eb95ddbde2c94610d4285b4c6743ec0265155007b69f5defdddedb3d37359075af492ac9df032e7bc4a60431bb6b53a3dc927df699f59e6636122b7d86bcaa7e9c4dff52c84217f24a5e30243bc2bcc11b271751086338fe81c689655de99b3e1e9648398cf4a928b2d3a0f4dd261f8dee8242a01a92647fee7aa3a9a025bf462250990d83afccc7ab20a68e25ec8f2b75992d5a45e98ff111d3756e36affe8eb6a0b8e3b2cf5e29188801014ca735fc96c1c61ab81d9f3bf7be028358f3580e36c619cfad60f19f62df57f1885b1aebb1b902a8d3dabadec8a087e5622bd1fb4f295c157f432c9ffb5719aa08d99414e1239455305ebb89f1d4e848e161150ef30bbe162fb6f55dff7ebd100947a1ccccba8b8a2c277b014ca433199175b9aab5d66998dbb9afd9e7238562cc8af6a42aa8fe88a0dd4f8f9ae8d87868577eeabf273acd04f2f2a2613d3a5b5398e856ba163710ea9af0d53dd99d423c308610757b16868826840eaf0b8eb6eec435ee3abda6a836ba03e4fc240b7eaba30ed5034cc812f5176c677f6547ad6a9f3a5fd6a52e9b00b06af1cc35dd844f067b0bc2ec9103d23716fee15595c2aa1d34393410035bff2b7048d2b32148fb4344fd54431789fbd2f0a06bd04c0a10fa820ac2e2f364a191318c1a32a6d020e3da61175a618eb366f3c2ae76caa64f44ee7688076dabc3aca8bc93fa3869b4d065a41e7ec58717569a62f86dce4b673b3085a5e84f19ed2f1f0b91655b0e841e4253f4f01e4e757d18e2d4e909e80ed710597cd234bf2d5f45fa0563e1722f43d603d924207d7c0c82165700b3f05c29a8a8004efa5572056a9d31021d935e002eba16280dba7a610a9c83fa82e4ba43f5f0e5f33bba3886c800ccf6add6795b0c48e8996a183a6a92236b4efc69f44066fd1e2b380a258e83a0d945613a7dd6bb52e17532a057acf7ac3e32c8dc7d4860189ede9efbce36301521a66e7f20df4ed44ae71486afc8ce5b12ba4bd8cd3b537be316beea2a53241095c2d56aae66478d397a1fcd0cfd5b8e28fba11230d1bb27281bc9565476a3824da1e7c70c1e688dfb173bd56a43a53bdd4909dee35539af53b020c5e0abd41723e21d805dcfbc6423b7323d0ccebafd87e13ddc6828804a70ab908ce8902da5c6314fa90db1c88d15ce3f579d5e7bdd580a716a3624fb2fc6aa5362840715aa31241c21eb0de680f268d54394e870eab3d75fbf9e30536838d3c7c0b4dcba4dd","path":"m/12381/238/37/0","uuid":"452ccdc6-48c8-485e-943f-6c08d582bcb6","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json b/scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json deleted file mode 100644 index c533287e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_38_0-1763367147.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"7422cde27d1d1d2911fef20bc7099f669541bf06873129eb4eb24d39cb5b10a2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"b22899a1c0745cd021956580"},"message":"4d84bc989ff0c1483400403ce0f16de23186f2e8ef4ab9a2b249d69c2a741e8e2455bc522eed289a433066631afe88a7577df6eb5cfd4bcd75c84b888b5da729"}},"description":"","pubkey":"0xafc66a7c61f5d4107132536a970ed4513525c4845a01e7b002c78b05ef1a2d64bee877a7d5a14045a94435e807e6d8f472100bc93f6f3054e8e1399cdd0365c8f2329006707be2e67d0fedb77603739854d8206bdb10fd0fc54674b1cb58ed43214b1c541765b0234d804cd2d19c57bbe4daec132deabad1d4df947b670aba00dbe88daa151c18ef35eff336da6c25363694d4abee40f2ffa87a289902a4a23f3a4ca1924b1267fe46db4700dae7ca987a5e572671c5b4ab0614f9513b5572effadf22e211045b409aeecd3c8d3876f4dd7b37905690d23704c19065764ae3274676953a6635915c7d5cfbc25fda0d713bebfe25ac65f6e67c8d92f82d480d1a4e52f6eb5a9e2117868cb9c4a1eecc9a130ddb591fb788500af7ee66f959c01762161ca0c7e4b78b674d5c34f6235629eeee695f3923f180a8a293193c5417097b7398743ac7babc97d4cfea06e1fcf1992aeb912902326c3960e9edee8b948076d7b47c83fd9f019a71bce815dc17be6a0fd0ca9a2a4283c4f349d7aa70e7779469662f1b7f16097819a40288371fcbcff2e0978228e506372086c96c88c887fccac0cb730b60d007fdf5a47bebccf0b93162d1fc2150095faeceb8abe73317b2f4f93c383f7c495149ccd451a1500d97d213beb7a9b928a9b423ba7b60bf91a722ba788c633dd8cfe963aadcce51c41fdae0e48f846a4c5b184b0b34dccb55853ee1ae3c4775df09d8dc8e3180ca1a842e821837336bd5ab5e3f285f99324df55ebc35fa625d44a0c5033b894d0b436c1ca728db5d18d12f40f7aa2268e9aa29d5cf1fa93aa1fe6913267c5599eaf24d516abdf7d12a6f44d468ed1309b3a3c60fd872f3fc96e30fe7868fd712095f55b24144c5bd58ab1f0be345c6b205c2392ff8cb1236299dd65fb88e36e6aad5efd3b125b9e0c2b341903e311afaa417b1cefaf64187843e0d5fb9f72a6f16f03d760ee4072ea8ba68c529b6de653b9c7edddbb7305b72e588ac3b75d5f5c6e3465b8abc5add50f2aab5651245cd0382873c471d00a60accdd434f8a64d2c4cd8df8d003cdfded47f00705b0876f8d8e3a6bab198afc16f8825222c7094e973ef9cc607f1e1f76df3839a452df8953889ab0fe1dd00b5cdac95d163122fa38262f34515380374685f7aaa6d87bf81c01162310ef73c23545ae2c5cf31b8473718a69e6357a3130c61519066992f9823291151f1aa93b49d7eb8a07c296ca70ff591752df4867d88a19f9da09729623eb9c1989a70798b2eadbb70aaac4071f4ca776ab4561d525cc1abc637f1a52bff1daee85184674b6f1600c6ff264415b1a18fe25f4f088e585ed01fe9d3a728eba8025a2cbdb8413cd77e1f032c14c985aa894c04ed17fd19c750f43674c2b8abb0f74730bb623cef4ca6e43f2744f83617f8b6b770def7abd079bbd747de739f2803add932071a7079968e2bc0fcc3b6173233734d4b22f30b154ba81b20338b3d6a369de8f5b57cec122a6c833afbaa8d8c311930d95b8d2847571957194ce3fafc4d16136d75ce60369142dc9864b0517ec1c91f8c761696cfb916b69c7024f07391ea3bc292c1ebae2947c28557e81e2df2bf7e71c98b48387f8ba35cfe4a39037dc8b23c12f4de7b6f9277caada7adb0e94f8de98440b3a9dabf28167d165c9b82692cac4682226c30735d9b93308a553e346437e9ee978f6aa5acd99a14cf9dc0bd6e05403dbdd730678a4163fff9c5f45a713093ad01125882cb12966afda4af98178e79b3abeb4f4b245476a52f2d4da9063888e7bca53ac9979e9e10f880e9c579c2beaae0adfea2a3fad356e3a7a5e665da7137e4d7dca3c1fa49a5d67010581059a7134829482999ed54dabca7fbd67222747175fc530237f80cd909f1c767372421eaa4773247eaed819c5be16fb3db1c75a5a32b70b3c825893aeb850c0d507e9e537d383f1d3122b2ea56aded04fede13e497e6947bacbd10747e463abc65fcec097e58f667be6e284e97dfa98e8b6b87d011d7ce0540ebe649d284c04113d2430880aacb0c97ee891a377c0981fef76b34a19fc5686bc65edf4a81b8009528943f13bcd7c9e5b0522eddcc6f51d25706566831b7e3fda1d31f92ddf773b7218ae6a554ed7865392ec3efbaf8e526a3dba81ef1033e51d9111b55f20be4e0455a97021511c0709899183255c383581b9fa578cfc944fd9f430f1722b6ee8b064fc0b8796de5e283d6c92b47395ccf53469962ccc63b4946a472cdb983765e5b7f49b3dbb733a2aa248e4fcde6b3605c2016cc663926172614eb1a3fea5b6abacd9465b883ae6c555bc8a3969d86c82bdf66f613b1d70656328a619b18ce82e494a11360f91952941800aed6bd062eea96955c92349a0270e7dac9ea2d46a69ff2059ba081405c6dd0c47b18fbe3588302e54b9b8f13dff5af49a972cab8e4b891607b43412004fbe83080a1da62e88dabe53c793c295971b484d265e5d6cb98dd5d738e380ce93b1f17b1c2c0eb6936db3d5cf18bb892b55255cae2ac482f62f977057ebb5a731d18354e0b2c239fc7f218878c296674511d9678d9fb22d378ab4940f163c26318cc66aa08d3cc9ab3e70ecf54fbc4944434a1c145222a62b523c176b6881a6840c67565faf5c8f3ceb6386f5495b792d2ca48e74dc5dcda4e04dbcb84671c68efa4ad1cc14413c9a7570f2743239e897df236b6ce8768353335295a163ae83d0b5ed23bcec47be3c455fbd4163122f9d53ad369d7c812e479d606564af9de30df33e105981aa7e87d7d7b64e657533486324a2a9ac344425652bfd801aa4e1c2afe8f719ded03ecc6799e8767c90b04417be8562573f607c348bddb1b331a49c94be10d0a64e280620a1a6de23b42fc9e4ec67cb93a6061119dd529c0d2a67d0f494888b9ea0353163258afd6bff3d36e1f1e637741cae2b1c9f57a1e335be062a55d05de939d0cb9af47c4dc552005a51269671d441c8c50cc5e37486b477df76e7b8f0db8f6f3143e47ad7dab9e1d7d494a7916722bfabb9dc0154a0d25661b5b7633a3cb0f5599ad3b09274d89a93dbb01596cb607ef2ce2e8dd7809167a2da80dc1a45bcb42809bf8c07d6a94d235aa697154e4cde3754457e83cc930badbb876af7cc583697f07b629a72fa995073a3314161c85c1b163b537c94d096e11267166d232f630454e457cad46549b1925d78a7b947b3b5c047ce0be0ff21926606f4c48eea7d80b04c4e425fc2ec32f0fe59b5815b483324336a055372410ba38dec798e4da3451bbf6d3cf7fcd6db1ffbe56e3f174fe3b6eaa192d9a6b2500b3ea835960d8bc4b30e94bd70c91abf31edae4795afaa5b7f3344ea6cd1f31e877ead00dd9899cc007e6901f21e7e5c317d36ae587567d3b79d1c899f0843e1cb64e564fb541585d9794d2c202598af5e52fba20cf057dd338d90d93df2e9b0f8a30da085754c3163dd94ac76842bb37a6d019ec75586582a78d7bc5d8122a252460cc22a92671272974d3447b0d08ba2a8823ee17d3bb92883ff912b737a75774ce1677b18d572e43e07e843a21109ef1274d712640837f7bc24e343fda02669f7b44fc8da044e9f3c054eb3693ae4bf0811ddc9eaec9481971f45b5c657103c2bd0467e1256e5166f3d136de8e01b5a3aea","path":"m/12381/238/38/0","uuid":"5c133074-bceb-4907-906f-cda2c4c84c54","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json b/scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json deleted file mode 100644 index cc5a0b2e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_39_0-1763367148.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ec031ff6786a22075d3dc7c06d2a22e14c26459fdb09fed4798d8828ad338c1e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"9f7f7d485d9de71d76050840"},"message":"ff8d9138f08a1c9d7dd67fa7decbc63da43195f9216aef29cd1977f6398fe9a28e5eff7d101f4cf1c75d0cec5b760b37d1fb9b3f0c05b3ba9e59c265ad3c25f1"}},"description":"","pubkey":"0xe0f73f55a0f621268bb6fe95d3ec22770294ccbb9abae10388884c5147c389261e46cf101fd96e8e93294c13a8645f0a4d1159189e5a45dad3679498bfae55b68a588150be4cd5c3ef103cf6bec08dbf02931707d203673403f5997e4a45426913a8e62afe381f0a5fa4bc3e925a8c2e84e75bd1c69931ba6e26ff9bf51447ffe5b91ac1111fbb1d0ef8a213019ee89cb159b32a0ff47078d718e5a02310dbab95255be95b5e34c68c066718748c9645820255136a6d10c25fba683f03a5fabab2f95749302cd3bb92f0976e75d8790d1e577f998af2a5b5bc5a33ad61d8f9840e7ada10fe6dd0e46853017e17fde51d536727c817ad2cdb6d178bb0857184981a4fc84e3d3c08c11184e31caccf1de392753cb78cedca5c507bb02a4248db3be70a7e85b667c13a82e33ab2dd79a71e37436ea3af899179e68752df1a4cf557163d205b2b870287514be37fd1c6373b137fdf613894c32bb63424e45433ea8c8abfd5d433a94c7b5e85b19c28821eb8fdfe9fd969e26540a4144491a8558df6b4fab48318adc3b278f8393526fa4a4881743b8f728da55f31abb50f05556714f5e3f84a7d03388661affbb94683e936a5ddb0a5ac8f2211c2d86578395a5186fb1bb7618b4adc0fed64b4fe86fe826d81cdefee34083c1ed314770e7c302db8fa023509b11d83dafd750771e085d715cc51561d41e0d6c377c6aeb0b0ead300fd62977d0977987b5c8d9876cc5b664d965a77baf4b3945262bb659270ba0c085c0ab6938f3e02ab2ab1bf7af83bb411d4d1d9bf9fb086d94dde521c670f5871555987065490e453155b0427e1864327f3e71dbe1131a167557a322061df678a37c01760940d3ac06a1eb15dd51d287f1fbcac268bbc6c919f6d04c8fe6838b3ac4563c964f27fb4b08b39e2a7cd283241e8176c9c63b4004a7e96f8435563746b95a77f21c2bffe7d216170ef33fef55d782ba73b07c76471f3d74b51f5c87fe758089eff17aa36bf303f64b0c579048f13eeb6ba0e964600ead9b546a887802e3717aa21cdcdb3665fb3bff904216d3702d6930ce8fa86ada1a4846dadaebdfa1e9027a734b4acc2e67b2786b50d4c1a2de8ac663c6bac9d5da1d4b80d52d0dae4d04de68fbd67549ee923972e1328208d450bb788a510ee14aa638ba31547bdbaec9991253f48b04fbd5c3a1ce78d690f8a336db2c92a998d0d428695b51cae83f1777ad6d7b4a664efdd799c34ccfab9a889fa77fabdf1bda660cedbbee0a4d786028e6542b966d5e810767f71d4bb7ed9a0d27532462694acaf49fd14bca17252daa6a2e14901c6041141d0318998e2b9d0cee1af8fe7d3136c62c1cf18abe9eedb24f7e25a7d548d1e75d6f4eaca391d5a9e29ceb6a7532b8db8b3f60eaa27d036c02ca5d4ff91c38580266d1bf130e8f672043811abcb9f2b7039e7f5880bcdecc7b1808bef082073e70269478d5a7b561190e840e2a8b853e9374360f5820af7e104a179999ab1c2af89a43f8e331b209a54aedf224b8d399e70ac4319b972f8a30790642603d6e55774aea9614835fdf182655968ba983a1c725de3fa5d4bf9a87103527faae1e2d8b2d768316a22d5c0b6bae55a0d28d23d15e40af5c3b657ab811d69f5a502780decd58ec258b3ff70b64d58e0de9b90ae5301b9c0531d6f2ab9c51c4b925e77068912a2b1821fdb40a1989f0709a5cf7332fb6af3ecd02f09e21e0f752c2c7050a6ceb8ccb8409b9d25293bc633bf605301ef665b88a706163b495c24b1e73614c6e955458e2fb77e117c74bad6ed1151697df0b16ff24460c032c0d5f2aea25941e9ebeb5e512ce1e1a2d465ddaf826937fb18ee79d2ffdb9c9646a5eb8a05ee32abbb7730ff242435e50e792296c089cef62794cda8b40a5963b50f46b15c9c88b4ce9855d0d11e464f96ff15521a239ae6af8b579cd9a92957c91629240b5f5a881b2fdc7adcd40661c3579bb0960e845f92c5380ef97addc04e8896019d82dcd655a44477868d570defebbb7c797651913653f5b22144f3e00e85e08e472cc2d1889f1e7bcc784abc36ef6a2ac0160588611c01a74ac4d955d5595e335ff66ec0aa50710d68ceb5eed5d8d0ad5decf04e687331d326b700766b457de4935b4a621acff50a99f27c91831109529de057bec256aa6b2b4ed7765b15d21abaeee841037610b0dc05cc16dffa40550b25f657e3ae1b4108d494f5275a0a9e04ff10227f19743f76cf9be1c004f609060c1b0f7c1390b6a3683548e97617e3e72a49c04158ba8ce5451df6140ed612218745571cb7685697da8eaa163f6bf33b1561890717ffc9cb4943073220052b212c486c77f950ddae38e4a6df97696648ea6847e0fe296f66ce46d953bee501b4a63be4643bcdcdf6da69e2c2b3c4e3d304c84151862731ba4cecac1b331d9d46a9d12ec90716d8cccafbc96320831a267edd3cb8d4aa8f80029a8cc16ee657ffa15513b22ae871f8a0c7d5c51f1ee0274b5bc00bd446c8071044c8ba0a6d3192b15286ddadd0eefdf59a7434de9e2b23fdfa8c7e28319f11e45a647f3366637de53c1fe85be902bb86527026908afb362fbe6d281044360f4f9acad3863d18c4eedc31b1bf373d768d24d0b61f48fc96ff3ccb88bdedcb51daaefb4649d213ceb8bb179cacbdd07fb08495705be9f4547c5b7ed7e92278e02300d04cc8678918c5c74544a2d86df4071fbe9e80e4980891b4f095cd39636dfdda49c94dc3077357244a6c236d51894445a00e7fed7a4fc1c3045876f7fb0aeefcc512353564445b0f8f916ef449c8974fb44f1481a5f0a1d98c52219e7ffa183281f86f6f53254fd5462de3bf88e07a917504409a8777b12d36defad72780480c1c77b5b9c22f7bb9f59eee557d9fb143e83e94545706347ae5896ea152a8cdeb89102ca0d16477e8b4dc11ebfa889b02f946ca18d444e8b6caf715f2376777a89e67a6db38e5ecfb61cda300ccf91ce6c305d06c11b8a4f5360932c8eeece095f90b2d8ff9867a28d2f3a70a124873a626db64fc497da143e82d935a5f466b75a7cfbc05e29e89aae5d2c43259e0f9dfa2f86b313a1b51c3e821a48f2ecd6465d2155d40cac7b231b7e217ba139805de04ec23dd70c9655d8958999005fc83eec562e026230b62f9479818d62eb9ac29f2a0c0cbffeb5410ebb0140563e11e9b31fc5a85b2c0aa8146b9829083b513b5aaba1850556616dc69c9c936c459093ab76e259c0be6fe6dfa6b259783dbfe718799032f6445f9a82174de9f10820a847c28333f9dec8cd3d74b2b9df1844cf2d728b89b81cd86334274696bcfc6605db91e32e7dfe53ba7edfa9a76c5a2dcc0aae35cc0dc5ba618daba4ae79dc31642677be3d77f137251a0c1d3a7997d2f75817baae2d1455fd810451f42790332f0b91e1d9f6ca9708920d39d1c53d3497f7cb6ee70c009a5283ad857df3dfdb25daf68b77ddcd2637c63a2e72e9cd8f59b621847ce21c5039b63c808cd290e7f73cb6c1bc72d8c52f30a8a4db1a1d56e5ea87ef6b1764b2eb8611f1f4b0e8acece0a38fa8c8c6842b9fccb80efda0acc8772bda99a959e62aae7d42b73b262bd3b5e93aec7dbef34f228bab0408f618341048495aa72dd7ce774ce3d23cfaa060e393bcaacec34c993fba9","path":"m/12381/238/39/0","uuid":"2d2ff6f4-6700-45cf-a098-851c4390501a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json b/scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json deleted file mode 100644 index a12ace43..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_3_0-1763367096.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"3d737810471068361fe393f163ed4caeaad40e6c471beb40074bf00e62f69c62","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"8a8c90eb8f149f87f4cfad20"},"message":"ba06a2a538b90c85ef332a7407d11aaa260eec9a0f2ec7b080e3eeccea95dd5204aaa51f91b654413e5d6eb654bac72a66d91b307da04e53bf61eb2149c40503"}},"description":"","pubkey":"0xcdb8621463fb0e4d78b4bfffa2a95672cac7a89094312716a2bafb1b2d97a84650eaaf27667a5db6ebb7473e3ea65f8da92ce05589d4266370a262c6ed3ce2c6cd906759ab0b798604209dc8a57b71a3c1b9f0fc55e91d5293a99d4c6fd6eada8bc7165619f5ddf13dec4c5d51c6b12bb026a21fa0da4a83347a27e0a08d4e92fb74f76d8dec56ba6b331881ef9f044100badefd32ac131f4ad74f0e4f4e4034bec87e4f9a9c5be63c1477e9a59d8c0dd0c80099b59891cd4003416b82b5b8adc2478648622055cddd4fcbed139fc5ed1bf5e12e230ec669cb6eed9c1caa030ae3b1399d32e517902e3d6a966ebcb64e47fe968f9e19ea8ec436fbc6e5ba0f9c8e864e43dd856fc1266c1cce191b764633349d7854efc2e3066852d509812d1f3e7d98b49b12c7bc5704681efc0d191e9623b2de0e8c4793bfbfba86c5a59e13c79b124f85c055407fb8ae68760ca08ce2628e35132c34eb881b2bb47271de556860f252e429d4debc0de5b42439c1234874267e2f6d6e0b43e11924cdfcca88688d07c5bab0bf33a9d7980970dd77060c96c2e939fe9dd627bfde455b6d64d939aa43c05ac44a375c783db0e8fc089015be5d7bd3143eae9cbe4abbcedca9850e75649a0ac38358b49b95a07d47c35cb721bba99a0627e8fb86c10fc91d7510472b4d8eb53fffa3b5fe9bffdb84f281120a6466a0eedbfa39057d9b0a13fa225f52395e0dfb3b1957386c5168c2c0e847d948cd2679748b2a2b772bf6f73b7d464d8e66023b9c09d32b7c3577ec489a829e91bd5dcf05c0cfe7584273e71dfbb1efb7657b6d45c27d5b6cd886f43068f7b45b9bece0b1bbb66fb7f9a645faa9729c390ad309612d7dd4055de1f8a5d2fa99ac476d23ed7557db5912238cb8752cb4ca63a1d6c9fe6ea50d2b7f36e309ecf3c3b591cb807ee74f6c92933fb6b7d176ab1e97a078ac910d3d60273ab73d3c5f0e2beed0cf8e1be6749ad49369154cbe2f4d084fdb50f28c8c079c39d5c1091acf374c6cc778daa47ebeb932fcebc79b5fa8bd45b690cb914198ddce6066b28c45ed85a9073bfb5707ed8ed62bf0f3e3a92d71269952f5d0ad3ed5c829ddccef030f8304a7ee068075f703199c90bfb973f379b16718cf62a99083525427cad848bda67db0519a12ffaa275dede9820364420810811ce866ec2c26fd570ab009bdf052d900a04a6867137c7fd219d28e381da3700ef9f6571e5d008a48191772dac03850aabcc6620680ec37fdc3bc680d8f943771a0875a07427ea1cfee52445271c9bd48b45e30317bb5dcbd400c128d54f4f7cfcaa33c18bf34853cff396e5b9a41f43d4c61473f1ba1f8e6b39711913bfd2d1d3d7c8906a3690b8719ef8dcd49d28ad8aed19a91a311c285f117eec98326428525f7bb5946749ad5b8b11af33aec52b1c01d935902bbb1d86178d0007a841297e93412924ec3a67e6dbcf2b41e46549d337f2e192e1a55da7217720fe7e56e57746e98f6fd84340cab16f296f3210de6d6cf7bb67a6eecfac6773786394d2b6d7f49550f171aa4a8026cc3a5a8d93ab4e203157d0d5e2d9fe8f7375a120a5eab5bdf449b9cd003ed1c6b13b94b225a6f63a14b0928d86f35eca66214f4e0a3aaf316ee02b67154a26c6126c1335d70a92229fafd19019d407c263ca706e3225b38affca09e1b61a016f602ccb4a60a33699a1cc6335620c596c8d1f476a35453a5c8690a05ad348e67c62ee12a21c34a6e96cbd4906f9b560f476b3b582772f007a78485a074d63e0d72637ce3508145ab671d3b11e8eac69288c3e8cd45cb029b01776ed8cfd8cb3fa93d057b3c2a200208c64b800bba4ef9a2654a3204eda1e05c9429057304dd86ad1419107fdc63831b50b1a04249019f9ebc6d7132d76fa956053f1c5b95637db0fc85ceb8f994cf410a27037a9ea78e49837f855a6d9d417e885753b434060fe9b44354ac3557858f5d97e4cb26f2710025a22a658c10de829ee276c9090dad0e9d08f71f5c48977160e0159941afbe39710a9afc1d183e2fbc4effa0a70e2c0005b3d813f49ebda28f3882c994157439cc870168f188d58d887a5335fd299e7f0bacb63041c7092d0b7a68b34f988eb33e2dce955ffaf887b398b35cccc797f38e48a28bcc73e2eab5f7b4b8d3ba0f73917d054570d77c175e9e520925a05745d6917f5ccad44b70e708afbbcf73cb5410286cc9ac95a8cfb3979e27d3c7ae5c083d5d924795d406ad9f286a1b9b222020864c0bb606733a0e1bb591b6fb51659aeb3ed673b09478c318a96c0f0a5ab57caf1fd226822fb220ff665c90ef82e2bd00355e05021ad1bf2d2f9608872910344e6acd1de528615a3af841cb1ca6f1909434264131774ada5d12a45316165879d37bb0ce8135c549dac66e21f1581b80a882bfbaf3b83727f87c74339d63be62db1de8938dcaa42d0a02b4d1447a1d607529a20ac7f03acfcb6a29386d758b83d9a8f16dd5caf820b0ed41405c0911a2bd77b6da826752b0ac5aef05b44ff8d480eee3c8a5a088a590f95f4a08108562c0610a7a041f5a7b802f0aeba209390302cdc9a67ca1064ca383d08aa68b9819773ed6125a1eab1b68f367a118e10bda3315edce8db5b50028ec55a55f01fb2711b5178db4d5eafc218bae489c392f90e8dcd1e4fd9ae2d7938edca841918ca26f7e75cd5cbc57175f63be3b973b94da20b1ed8d096bdecea0fb18df5af170698edae33631de6ff47274673345932a73c44fdd81f159289c8d31c80d0c81cfb8a9aabb71963a900f2c6c2e8de1493df703cb9e430f61819cfd945b786f8eaa1c0625ae3c398a3ac82fd24100e0af7ff498e81f30bfbc80d178cdc40dc325179142b115436a87cf9726cf9b165ce5fe2209210f819817ca8097ac842a25b01d89b902f5db6314e6e8f9f6e604845114d0b5628e18ec1bfe607308dc6ca7c6bd75df1251f7ac6e5d4c80d216d6baab8b6645a90511d10788eccd86a72f406a6f9524f411b61f93ed30139cefab8ce95ee21a7087e3aac59ce1c3321ac19055e1059bb8868fad016db9d645f22d973425b47299e6e740a5b564d8d2c8fd9247e92bc002857df4b8455fd28f4717b862bf79a3825a7e0655be209f07e0ea5f3d24bd194707e2b604afba15718b87c8bc6345eca90403ef80994f509f6e08a0e530d0508cc9f44653a5beb73b057227e28abbb88ba53e6500aa73756484315746f667d80236eb92c1f388e3fdeba18f763e3b55f34ef08cd9790ab713497476e6a856bac71fc7c190bfbdb9a8f9ea3fa8166a61be5dd7e24cf5cda3d9cb8d4e4af2e067b552e93912c746f8eef3f4842f6178faafc3c30ddad9681c16f4c44ff9768bfdc543e0d06282543e7e24fe1c2c368c0e94f050dd3e1730120f61069b20a1106d83e368f1e1479eb60e1c2c91ff3f9560135365f945b18dd10b6ec1cf64a8fbc5a9ac144d03785d71df4ec0fb651c9354bef31c1f5078c4bcb7446da807567e8e368db2e433d5e66f3dc8f309680435d665598ddfe68d150ce77178b558ed734014db98983ce9c97a6b6305ed1afe638be87d613b5defa741e595281eca726395fe8bba43479a4ce83bed2406792fdb5c1ae174dc11c7c010c8152243fab56d5fbe486bcef9a55c7a50a3f7b7d1","path":"m/12381/238/3/0","uuid":"bedac17c-1639-443e-ae3d-90212b588e9d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json b/scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json deleted file mode 100644 index e5ccab78..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_40_0-1763367150.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"1ebe256d54184e4b7d79c94075a6f752b9bc212dd78e02fc662907bb1632e7f1","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"3640581d6d3fa15351a0c39c"},"message":"3e87722f98ce9e38c0fb16bb2f38fb90ecc46198c20a02815488d2508ab87cfc363e58690600f13a122358fc19077b91b98142dcf342d849c80ac4cca20cc835"}},"description":"","pubkey":"0xb0a15d9965cfe10cc0b4a020d0c9490082cc638640f36272c8226154fbe987c9d82d0e0c8bc27d524cff5cf8aa141eef1dd5612454e570648fbc3b245e69ddfb0bcab11cadbcc2a2b6a6566e9fd31de1c36741f843fb418b7f44bd434f5103dac9f34117eb563c7e223feb1d278e158ebaf77c5fcbeeb4e2b91bfcb1ba1fd3b1e85ad2ad332cf234bc067188cdaa5949759246dca9a1b86dc1e70f58f445cf418760b27456fb89828744a86b8f0175a19497657468039da4b1c86678e39dcf535ce22a77b3e57193eb666d9caa3ff7da1aaa460644e3506feec27d3053493bee4ee260db7f8ff0d0feb4e4db2ed9a9eecbec969c9fc1586ffd70ef792dbb8bf34c4b4ec775c642d088c297816b71b79501fe1bd6ee811953b71005c70646be65e668f200070c65867ae3741f8ff203f9f4488bb7139f3d81c7a0c0be5bdbfb1c832dcf8f791d4aa1178b07e65104dde76ba0f156bffc4791e4ec265dc5005279ea803fabaec5f926c60bb1d024281484170ba8ebdec6f13aec4667e5dc17500623ea1979ca058290f000ad19d7e9a39ed665a412f36b6653f0c917cba3490e908935486d2b669b71d6461f75f2843fff98aea095ddccbe0f30e675658af6d3c84ecec503996c1d40dfd90ef9987cbbd175f2b56d6370b58c1e8b6874a6c2873f3e2f212b69e743de50572afc01c81ab3678363025c0620e4bee4eebcc1c8c1722809d4f307ce1b6ef5166720ed466d1c4b6bbf80ab66a92ff211ff55b32d1d79b73a1c483f382b33d8a8b7f768251ad31e063a2301377522d582cb486e55dcda449265a1f51e3f7c046fcdbdaf1998468144127f31126e7a452a845b0c2548761215094a16018c631ca4fbed39d82618b75be050253ed1ea52c431642d37bbe193eb71729d42589bd443b3104a0a01e617ef8a447d0686cdda26107764f729259363f2588d2d2e1959d68c9759f53ccb328d3633a86ff4a23b104345c0179ee4c38a44068ee95c9b8d3317e5d527314b29392193eb3576044aca95f992558447079ecf3b2249a32ec09e9a9c44701c4ad5db549c1cc67339bbc6446651088b5761040833862c7fa77f4f5a9ce552196bc58466c6ad8c846193ab4bf8b36080f76cebe411e2778a46e14c4b49bf960628bd16c8bfbec0d760e0cfa0fb70d9d8c2cb471118c5df70d3e6d646afc277e1b0c50feada4373c709a6c177024d245a3f2cb70ac23bff5687f2a89e6fd29c85d7922dc4f5dc997f1aef9d0fb57c70dde394825c0e822dbb82839a7a32c33e6249fdb1710301fb0ecc269d220769fafc41bd4ca10f7ab18217f1a55b98bf468a79c9700fa979bc0bfa93acb7206ca1b7dbbddfa8f46c3eb522726799924f79690beae07e9a916b57688ae191f5165132aab2184a6f43220af6931c73b0f50d66071c435a6b5241ccb89e44c93ebc5f65665f7147a6e529d9e857e43b996ef9a13419ebc952f6edc76e7765d32bb3d1275bf9a932cfb5a385559798f8ad39aa8bfc1b272f136588cf86f34b456c64069182eaac89f2321a5d92e66acc11e29d303934bd3520e4e406698fc5951476803afec7f28be333d09295cebda56b0c03cbd701d8f210635d6f0b8a510060e5c1f0815e54941c567cd3589686667d491bfef2ca6109ea0c023c83512699436ce6ffce9edf711ff57049a40834999b0452779003c1435558e386ae7251e7d337f75c7b31d69c129d4763e80090e2436aae1e5a3916d6daf3606d082a280d3f328923baaf6d2ab1b5ff8681ddacc7b157380a599cfe32e9f3e305903f460c6115c91134b2fc3d50e3a2984386a76025c9c7ee2f71c4457ae7b5912584c08803b4ca34de3292223c428416f6aafd89a74acaebc768dd671295a76d04a9c289e882c588bc6f1e6ea53792080bd4f03af3c3cc6bd0d143d8a7d3ae1b06e639e9448ba29d95e52383f285c549b6a433ae9dac3f641c361dc14ea2bc7f2af3ec3d7691a5c02333fb13f26e0eea52e80bc1279acfbc8c56df70b37d2c7141e6dca8161ec38e09dd8d5b788110b84e066f96800e8bb96d5a92076369436586ca1768355ac96d1bb4a0efe0881c10900a33a7acdbc50cf345f9845054336027b82073fe69a7379e1869a896da89e9e73d61bdf4fa92d0062b6203545226fbed5387a9aa48ec859f72d42c935bf098dd6a60b1e8e8e81125b16f0837d342894db1a01fabe02b47ef626136ff50862c9ec12b6cded09d815fd4a4e3cf5185383691cb4fb306a887d87c14b9d2e13de4fa5b54cf0a58484ee69656f93848572832eb6c884d802285bb2731097edc4b07c6c110bd3455dca745d08df0fe3dbf9dbd176cd4c648773372f53c6f0734c864a3c4ebe6e9d44f761fd85ff3b26cb1aa7b5e18454d034bb9425496a4e26c7383e758de36f558f847f0329c37d7cb83c6f1069809458440ffe5c40a374d4f9098251893f1e025b0071fdd2ba3e4523959117c19701454e2602cca41369991503eae361632575374f525f720b89770df63533cf4ec8a3c3926f08a9f9548ad779e156a9c18feed7f2bb9661e3678ce43b6a1f777fb1bff9c7241388acb8e29b5217254a01edd04b440721e9c4df53d03c0dd8007e031557b17ed2841062cff12a5b12be10c7dbd32fce5dc3f182b5b275dae2e08c67d61ec3386248d4e76fcf3899ad5b46ea3de68690d7518432eca1e6244a7b34ade014c089067680f8a5f3e9ca17c99c9ae7a211ac18b5beefce7f14951a995a96356e3a0d587970ae1f6b9ad9a50094cbae7bbd5189c5ae229214a1d22043518595c92de10c5024c4fe03f146819703aa8372f77662d63007e901f2dd90a1df7a2517cc6bef68d89e45b00aa24ad352b870f341ae96f35bd6fc76fb0b277bf9a32f913e605496a4447f4447e8a56d63f96aefe9a509146db770cb427e277cdf9b7f4838478e3accce49fecc4d35210e4e09f599919f3278cedc4fdc2907923090ba2bb45bcd4e6c0ffe16845275722837f2411fbe4fa105a4ca340afe99f2e508601de2756c323b47956bf0550bac6bf9db153c2fca5eaa22eb0a590fe23c7dc0e6be609af17f1ee1d6c087d59d430781d7a47739ca913c8684fb9523c4bdf76f3783162e6a240996e22b1416cb991591b0e350077037cf4f79f3dcba80367dd63d8d6dae438fa53f6ffc559bd926dad18ef3167d785b82ee0a295a97d6ca1a1b81927c31e3c311fbdd42d1ff8bfd12bf368d87f8608b5dcc4d3f87ad85cd0fdcf87f4d827b5f5c2f7628db94e9dd8c82b21406f6228f3940becd56bef2c65982c65a8db5ac38852f4fb3b5241e66617d0ba1fefacf4dc6d26776fbf7c2a19b62e4e02755490fea86fd5dc71766c94e0bce444fd238a69187edb1973c918e52a76a4a221481db5d5e4a822cadb2eac8f0a03ba9941ca1edc842a138d3083a185316a177452d4edac0eef5313a6da12606ba82db1fcb21f943045dac931bf7eca0c9d4525f66097cdea5839e3f065064410815f9dc2a0cd7c5683f83a149a5091af5e82d293e93332b7e66367520951d7a14f1c07a236f4b072f77dcc9b0c8dab1153316bde0466ae446d565ec0fabb62e2c7012a5e49768f3b33f90dfb0766d0db596e7924494342c46596af4fd7fa48185d1e260c15126faa8a67d032887957d9690f0db0","path":"m/12381/238/40/0","uuid":"1a93ab80-fef6-4a7c-9f87-955ec09e8497","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json b/scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json deleted file mode 100644 index 4ca58661..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_41_0-1763367151.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"fa802831e70b3f4cce04edba5ed9fd2b1ace519a4da45377e56d54983d9b6433","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"d87dad9f56b2604ae50e1b53"},"message":"9a202daf22a7538c1f5c9d02cc3452a3a8fd8fb68f5907bd5cf3b10ff9edd8f815acc981061fa63a2f656965f1951bc1b48fad2857d76970a3d019dfa3259846"}},"description":"","pubkey":"0x3f3b98ae8a8935a6a815865af445ac92be161c2fee826f31e95ac85bb43d66dbb14fd2eab3b703c08dd443793cbb0530d2d642b3b05d40e955ea0ba67c836e8fd754a66d3f7380ec2bfda14f4b43f373e058e75f1230d9fddaeaa31ecd7a58c81d5f18935af586cdd07f6f61da6cbaeed7987f2b98bd464f3b8ed40147bfb2edfe04043f558409f0e82d90db40286971bbf5f4bc0e5108078f8241141a9269d92d84597a73fc9f13555ede85b25869f7180e1749f36f66c6516495c54b4ef642bf783d8c9db5fa992dff8aaceb598a565e900686a8688aea5e66a212f920f3e848e6c45df9af6f9e5a9dca000e47ea85efe1aa419878be8be2440200c87087cac5b5183886f699573fd189f7b9d9fa9bcc5fe2e948f8f93ed0c77272c97961b76ae6f00a82ff9e4e9a2f2d367aacc02e10216bb13b833c27ac56a91411f340f027fcccb667931f350c14227306188fdb82c0bdae7b20cb03df69c7c43bdeeefad00368d53d4795ebff725abaff3dc8a6b31e4b64fbb46e25d626bbae5aa7f7d3dc3261751a41101d8b712b31ad5d23d8ffbba6afd27eb786c5731477b96cbf958230aff711d0b15b100cc32f0da540b2645f22ab4db8cb79563cc8e0f952d09df7c1b09dc8567f737880fb2f1ee5a26e40f40f74dc24a655c713c9d100d996e1fdd497ecfbf3866a055d87b91c2f8c2f611cba8d02d81f91160568734fd0311fc9d7228dd8fe0703e22e4abb6292782f8c004557b03e38afdb4cb5dbccbf70ec39a0452f5c8849d9dd7a87e0c865c67b6727e40e1d1b8087c1b61f7e70c09bff7bbf2c6e577fcf479db78d4cd2587779d70a44ded40d48e6ff4f9be5cf4ac7167b1042e5f4ebeedfa41cba4bc7bf6fb2c284650fab0ffec33c68f080fc2f5a83feca751a8712170ed3f73fb396cb1ef22a3e6a19b35f225050cd7b81eb7aa387d1f0f193496e3a17bb0f84ea37b8ff96a129efe73da9fd490803e2d3d255e6eaebe4fa46942f3232bc22670f20b6131f67ffa34f5fdeed3c363c29ba1631669bf00d897de59c101e4d3fdb06336e02e6e707aadfc64316fc2faa3d2b3884fc5c8e1f699f858dd85f3b6d2411da46fe0ccbd5e158fa418fd2869469cb145ca17bdfa258669c50f0c5c4613683204600ef91fafd7e452ab44ea2387e52cdb6744a41985ae3482b96a6cf97b9d24440f08b0d1f6506ce171736d3d1df9c74b528523ad417dde7abbc8a70936460561d70971867adddf32031c5ca6bd41142fd37d259cd3c73cc9e43b69cc23a7fbfe141099d7a3bca5d5ac24d5fb4660f28d0bfa7028e7d65969006e1229b67c0e6d35a66f74ffe96adf3c48b1f4e3b48635edb71a562449712ad2824a0a4f2e5ae3dd5f2911adf7ffa9612254be3c99d1681cee2a52b219eefbb21d5967adb6586312c7754b9517971535c81f1c6737e5e869165ff16fa366de56e112b13d75b1f4911c9907ddabee02bd900b9f8192f9145695cc0d20e77fd2a192b30693b2890b42fe94d54e822f7f18b247b7fc177ddf1ce7d4ae680258127bc285410f6b14f5b89f75b157d95b910b45551a8a58d3e45b728a3f4fbb817cb795080e7170ed251aba6a7faee40d78a5ba5125d69161f1deb8839c56fb856ba3e75344920e3aa99ebff7d646784b5cbc5913c2f7bc4dedb1ac9c6a1b5ead9fc219229650202a05c359dcf863350cde653fb713f47917b2ee92a68a500b26cbc92370f9d2683d1bcaf13359c9fc18fd1bf7366b95f500537dfda865888728de6a823b48e5dad9195ff5b3892da53d232488abfa6feef9af75b2267c391766cf82850f219c5e887ffccc7c1f21840b76953e3b7dbbd6e8650960e2cdaac3dd64206afc62ec243336835f866ace92e247db27a33bc0be558f5f7e94bcdf4a4447531044ef59ec21c90058f8e12043d13cb98327656c337a0bd119f3748dfe990b743f9c839656148c972802dc8edd511b0bd8451b03c260802a80c36e6c144f228dcccad9a3b933c55d9d8df211cdc61b465ef61f94686b3506775f0b3b1803ed9ec6f4098e1264c66873d5bc35382a1885619ecf49888fb0ca61ac25ef042f12e747b9f900dca22552ea6bc3c7be0376a16e5ff9585848eadd28e27b1d0aedcff498a453872775ba659197095a96ddb4321d671da65464fad03e2a060aab6c123fe15618d97503e896b36330f2cab146a4c776044d8ad7977d5c135d9c4c36403659b74fe5146d47dfbb280c932df5c5bb0f2ed474eb729ea01a71d6f7e0d6f76a255a908c034e71b9e31256c06fc12951cd34a871fa60433dc67a1a1ad7914c391c418ef5a337108cf972033c445a08d34337d0659caa2f2f10260652cd82c59ee1dd7778b9b0a515367473e2d8582c4c0a3e15921b88836bd9896270b6a8fe57d05fbc544434d453d36eae313102b6e05ab6398c09519c7ae18fd69b6c532adbebb3103b39bce78fe43d4c5ba9c013368d495ab59e4e79953287b7ecc2daae1b75a111d850c2bdd835e92861f8fd20109258f91de6025330d5f34aec5f5e2afbbf5369f49b11f9b5f896e91e1398a22e9eddcff8ffcd87c0dfbdc8d56df955a9f5b387e62cd74026848c7ef2e4ba00119c358f1d8c9c3a002233ea1a252496b8f12d4305ab485ecdcf5a5798bdc51dbf15c843b66b665a19f360127229789e3b5f935fe13f1227aa340c1f004614577cc93952540965815371c5e9a2285ae5152c014815b2cbc29d0c89a24d5814482de6e0da471e817f3bbdb1ca7cb618584ee09c900a3421959baf649283b2647e974adee016899a3e338062f27d62dfd0358fda6ef509480a5dd8b76ba6fc27e2ea63544913981a8c5777415ffd31c18cf36bceaed8be41ca1683a300f010639af2a9c6a73dc93fb0f346fde2976310c7d758d233ba74e60533b6bd10eac62062fb5d04c4f606dc50f7b832e4b63ce7fba9a8279822d476642786e7b58fab9a20f56cfd7784f691dc5c9355f9ec7eed89f13669d8c479eb6d9200b98143439c3b33e662a81d13dbf7a4acc7cc02325e88d742abd57b3ed15354ce28895b86350f4468169829a8eaf3938cdf56719461c77a17c215fa0f597bbfe332d2b5ad263570cb30fc024f30594a8c71ac37bdd0213993dc59fac5023b48a8dd0bbbd9df7cd43ab4b6055be525f600bdc220f0395767f63a3c3b04345e53c73d13222f57f654ecf2e9e3798055823fcb218609b52612d30596991d8bdec4f9d7a6785b6a3f4757c7076e85c910f1aa198007e8ffc3205a6fd41a2eeffa44eaafbf2f637f78006555292c09560f0d8f2043f0a694370f4e8d49ba7a8bb03790ded1807eeaf419f91ceba7efa52d373a715ec207ef0248c2b82dc83c9e6e4f500ec66de408bd75ea800d05f6e714553f3c20e88638add9a5997252efc81aa98eeca86d6dc7ce6f394a935ae030da42a5b4a8594698be501677be95940ff6b461b70fc91f00e537a230ad8e2bf75dc16487a35fa3e7a49a9ee6ae0ea7a5c2d438a1de8790dd4ab1935211793ae2b2b62e53229d67c099b90ca0a51428d7d78d51d3ec170f5e7e6995bf4e4d3cb6cfb1dc2c3b93f709f56ab1638a01e75ca1e1e76cd044bc7c2bbdf97cfcb8f4eb042f1bd09e812cdd57ea0343999ef218d19dbb028d3210dc8983e0a89ae3f2d862ae63d","path":"m/12381/238/41/0","uuid":"b27e791d-6c0e-4fb7-ac5c-3f08928d604a","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json b/scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json deleted file mode 100644 index cc8dce9e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_42_0-1763367152.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"2b75779a49c92a2bf5fdfb23661eaab76539d3a234b9aafba5b16e12f5431838","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0da111f08823b2bc5559bc31"},"message":"f9664cf2f1657ffaf586af02bc5d89ef6ed3c64ea925c387467a1e56ad416d21bfa16d4269b4300534005169134fdfbd4a50a866923d7c50e9e2803987ffe002"}},"description":"","pubkey":"0x004dd04052842e20bc0eaedfee1afe2e4ba36971bd31b6ded366bcc48ba7477b84cdac6409a377f2421634ef26a8b0ba8f630538ed2deb8aba0dd89965eb5c34861e63fa5c19bd247b63896e461ed83c03d8c313363916a65e852519e056cd5dbee22ba53cd2a4f134c75ae04870e4d7f18f5c911e3989e6f0949539cce258b9e3c7f37477e51872accc6e057d597ee3a0aa328196ce81d7b71d0b65f0287eaf20b72c004f5f05a5d29e5cf6ce0aef8e868805d4f412a41e68588c7beb5729c1efb6215853cec16c9b16b4b893c2545e4abbf355039f6f1cba3fa9ed6c85c7a2504f0034db1759e4dfa4c5469c3a91f5c28f6f1c27f0ba2af019818689991dd0646add65e03d6b143cb0a29a315dd63975b3235dfd0366b004a1bfd9eef745676c3abde20b115bf49bd0265cdb01f5df0dca8ce1d50c4c7d50649c1d267c6a637988dc91b3af6547be68ef90ddb788494f0b675dd62b5dd053b3636eeeba56504d07839d25c4254aa94d2ffa0db828013d63d52e2d6204cc2f7da480b5dbbfc7f6d57b7c7103d97e02a7e6533a9a0fb3946323a304e554996c2f80ad99cce18b29f36d81babad2c3e402e890655e6f08bc7be77adc56e574cbce4038a1db3d2928c75c915a7b90ba9cb13893bada94e3c315e865d4dcb5b8ed5de9101cee7d7f8a88438f4b7fd7bcab2dc43dcec36cb9eba3c3fd9981b22f24700d90e857a9a2ee4c30de8e2ff6998ece0af95d8519d1945defddfcad9863284cc2ced40f6873011875006d48eb623b79c36b569839941183433dafa8db799172291718ddd76efcf6e2925177a2b7855ad2b3b9ebb5d753465b29cad349f0855a1f98a8d3b8244f3c5278f10d87b0e17a6ca7b1f5c55ce63df518367fb5ce51a0c4518c1d4145e5c9a7c95aa4a36623bd46d9b72a929caba5c6a2b4452a45cfaba8f073786c3202d2990594b4531fcf9c9b11915a8465fd0a211f0baa4559e15b01f89d45853b7ad1e916d881fec3815dda3043b2d5817be6bce1d9f12ba1154756a4cd026a3fb621c8a73729d57af483ac8d4fe85f54c0428fdb22edee1c1cf5c67aacd91fc29d4aafdf0a144cccc692d8ca4725fe89965e1c0f3792dd08912d5d5f13f102f0d5b61307bcaf30f6493617e930c5efea0122e02d042666f502f525f0a140abcc55d8a2e1780c69890e5af84a026b43fca4fdf1df652317dac7406646981e329fc74f71c7e9d5b0b8c13900fec5f3aa9baf52310f2742c49a96b2472f4a83147b46c8675c6085e9c3290312d4916194809938702a689f67a482c665808116852b412712e457573391da9cbfaec93f179fb171b44bc427975068b32f0b3ae53aa4bc824a0ed6693599cb2bf5db329da00c75d861803adc5177358c7b796b8501f51e0d4da477060639284f39bdafbca194a027f39ff78899bbb236d0e8204dc4309be219335d3d6a49173aeb62533ec6a2f851312950c890510e494a491b2b5f0d2fe65cd50a2183abf8d6da01333a1cebab122d1d6c6843f6f1b4f63813c948258d6f4e30b5bd43adaefe63ce648dd9d3ef79b036e86561554c97ac0a6ae3e9a969de311694d989030f6cc78d8ea2fba5f511281ec8801487ce01b0929038eb1052c252e3c79d794b2e011f743759da66003f714af391ee42af6132e31a86a5ce4c0f6342ec1012420fd8eae9473e0d7599d5a901f9c3c8591f5c20d5f5a6021c7d8a455a4a150a53fb0b80479cbe45f2fdc183e3752451e68e29bddac97cea5579bde6acf8df8c7de38aff6bb38e555049c3e837236a01f68b72acc843ad296ea7fbe6fcc64ffbd7195e86ce70ec89a84a7643a2effc96e08bbe0e750efe3931a03fb52b8ed100b79171ade279f4dd5aac12f43604a241903156cfc02d1c68d86e3952073087758460822cdd8d0f61b5a42bde6f4ef3b41e2667dcfbbfff33258b7c970888ef54163378ee757c10fe538a334431d6023d2ac67397de5caaeaae7c5db75fd656184e7f9d27992a229e726d68eeb60cdcb969652fc99d502646fc0028ea2b32405b22029dda49eced04e73c473cf202acec677dc1cd5a78b6637cd53ede41d465ccaae07fabcd833c63f8ec835bef84f9ff4f97b3582868652e0c5fdf5692940ef363b09304f3d605dd3d9ac8fab16eee1edf6e42f734def426a5b6f4417cd34a15676918cc5385e0098b43ab9640b664c0f00403eb47ca1f9168ad6f6aa1335206f8509a5bddfc832b7620968624b4675b3f55121f37d94e1d36821d5917531fc66d439066aa3c41d51a7970e5e187b094d568b48f2cfda84883c1684701fe1de8452da1b0f7f4971a70671fa7561d0a93325aa940cb95bfd7bfed0b7c4cde99e7fe092186d86ee654e7f69e5459f39a0c82de6331177b04f23786e0dbeb318f0ae80edcc430e36916109cbfdbe9b509882ee1b7e2c6da5f8b8a64054b170e3c712ef1b6d8610c5f0b08f3128e60f224a8b8ed66f29a1fa732f63b913fe98ee1cf6d9e77e581f635aa82208fbde945cedb865a8c4917ca4c36fdfb8b95a414a26beb8209c3c61ffdc58e84baaef782076bed9b32db036a7594bc395cb53813ce5c121f9e26218c796fc944bd3a11c1f82ba21bf76c31a1229c009bcddc06ef04d4b0e539c5467bccb73a7d47f80d5c74832febe22b8d5bba880bb1d54d160ff130e46b7bc5edc7f7f84960fe3640a370301fcd5991dcab139a692a1da52cf72559b1abc7b3b6098191d82487c8d00ae0d46ff1d823331493e956c79924801561180a1d6b017eadd1c7d1882e8dec25e52a0ff8e9787ffa0f8126f82371f385f7e78239f40f054eb20c9b296a396f52d3b9c93c0fbe44dec51bc91fa854e079f69c3c0ef57c2d53d7bdca46a40686c05e89a627fd36bf95aa7614728c43d6f81f343465ea2e72e435f877890c385462603c848c73c7d19a54857e949c723c1c95c96ee2303428758032a3331d44c727aae97f1ae8524ffd9e29a85276b1c0050b7177441f220434748cfdd462ee405e0132de882101a2b6a8448de512f8b7e8caf9cfbb8896abc83cfe0de0bac54fcf4da5094f16543459fb2d71bd605cad3c5b3c7fbae6954e173da9b79fa06aabc6c82a843a9513631f455d13257a2040658de9a56fc87790fe0f8e5aa8936c29d8da4d615c3c82dec114e4bc30091b50f6598f1846dab2921a0ab2d9d446cfa2f00140708d66330b0832d4d687432bd466caa0863c4cc6ea0484542257587e36f1b0a1cb8f2116b2483899de49ccc35be821c8370ce3f5088daab4db7452d0f0b97ace4b02688abafd4d627cbdcb0286d0b3e6623d11fdd85dcad564171f9a2e1f780a9e167e0835b457c9b2d53239e9f1d376d64147f8264eca4115e6613717c69d6e6e55bb0e45632a9639a03ce678671543066656a5b438ce1909ba0b5ab682855de752e628120405df4bfa334357e08587ad3fc168beff1b0233dd9bff94b1c70d4bb51d45a8aa7f956967cd1ec50165d44d493d3759196d2ca582b4e54cf2e4bcae5ccd9764b51a35030912c85aaf59b275eb2888f1592423bb898c9a7689f8b887d4192bd5584ebfce3a4eb13b1d98fb4a29c0592423c414b1a896150f0489f7bc7616aa25c2a3c4db3b89f98b43d529e7a0998ad50376bc4c48f5e046c648aec6a897e69338a6f613","path":"m/12381/238/42/0","uuid":"99befa6b-abb7-41ff-82c6-a1251688ace3","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json b/scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json deleted file mode 100644 index 8d00d121..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_43_0-1763367154.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"af9ce64636fd78a49981870a13cef5a772a319bd7863a69ae64e296014c08291","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7133ab85e173da310d65af2f"},"message":"30fc514902a7c94ae87a51a93b5f978467583569af64276459ee84e1b2b68b39690f348e47bfb84785438dfed37461eaa4ba902f0cd7c1a7836d74625a09fe62"}},"description":"","pubkey":"0x08cc8c1c36bdc3a96c5b1c94d1b78df7c18457a19bb9589b701306532b6bfa2405cb50613aa66cc7571b1f7dd35c21cb985c3c4d1a162dc6fd6cf5c299c594e4bebe4515135efb9a8c684329bd6ca12d0bbec09425c0e2a10b689257fd9cf19962edb8eb0e136eac6cb581db26184f5887b52ef266fe77bcb8bbf4275d99c4761f76654b8b0dfd9e7ab3fcbeecad3f8c3e3fb41c88b06b68bb8d3279b9c9041c6110747f1b83ae64825aeb4fc1e0e07c4a62f921418da47f2fe8460f9db7d0da87eb2dba77131d8ab3f21a086e097eb5cba7ea7591626b771b0ae78f0b8ab2e79fad7527588de7e29a543e0195c370b93c196fb1c5c779acdc2bd7df6a46d221081d8fa65a12fae963aa5cf549feb2442179c2608192388c2ca0d407a8e40d67bc7505b3ed32786ace775250dcf45e931e788849a55af914e949670a358419a1f6b9fe04398d36d6250f4dd2f59a7f62b185141569d30bbfe3e0d109a8d71b821822320f384581e9f6b093b6a26679923244a3c8288c290d17b7096c7de378d89d912d5c444e4e3d1fe003675bd6261ffed7484e97a5fb8ffc07b5d8d16850c07df6493e8c0091a9f1a24e03336ad3c2b07b50e6d9d6a3b8f7350950d1846488d8260817a9b4a992e44e639d7c779fc3834ab1fe8ddf4c0ad014622acd473e32df3a19dee4672e095def935d4ebc6528488b6b7de94e59f50646ed76b9908393eae2d295c3db585ec5773c8cd0442a2551d14773f49b698f71d14f29eb6174d50af670db2c3483dec9d6b2f400e91de2ebbe4f2f78d8465e0783d5d9fa7e7159a555ccfd199b71f916be67c41a11c6d8059937c6071e908635be8427f60076577c614004f8033a5d647a4625e0433ab5fa85517f152d023606ab3cf1012d6d32b894fcd585da309d6d34a0d5aacb210adeab9db5b62b21cee08513d40f1667cdcb8cd2e343a8a669fa7e22eeac6ca54ed24da2133736ad3df94ea77ccee50f48201190f4b87f5097ef0bc27dda8068cecc9fcdbd0899ebc29874d049db13812036aa7121afa2d5495ae6af5d386b1fe725a434e8d464a617772f0cad805773a909a0361c922c8166819d1ac58a61cb3c50d9d20c10db6b12cae935675e02d2df658e4f88b9461b2f03c965b6304c4e5c271484f12743d5c5244b4aa8a580bcdfe9a971d68c1026347d468eed2c77e4c3eb77d88614f56fb85211a7bcde13cab2ce8b964f1b683763832a273c05ddc3ac55d7cb7271b0e68e6e3a2cecf7e10d1480163edf5a046d18cae52ce224ddf4e458a70683b8cde8a2248c482c777cc65369de57e1a3c0652197c05ddca832616ca57de4b87fb840d7e098a8c557b4acdc6ddf9b76a172e7f95f8aaaf85c109ae56e7dc388aeadbf7cfb2f9ada6dbcd48b84efa87be2f8c915d7f1e0ca59147ef3e5fdf7736c9a6899b81db992a36d702a4117597bb0e22aea4da339bca1e5bafaabbf94c5da90b3fc30759c0bb764d70db5d55e63fb672ebe7c550f806a84dfc6f3b2d858d3cec4ec374c3249745e3fe7b08ad4420d0b51bde0120cb6a87ef6b79fbfdf5859a4753d07480d2c18ce8de722d35d2381e3d1722be8a18c6d2497e3b3fec2525d9daa0592d3743d80239a8cf31bf9aa66b32e6ac803432f627e83ef8380202145dd9acc7c04746b4048b5adc2ea2fa1901d6c0bcc8a5e03fd8f5900b6a9f2ef9fdc3baad08e8e1422f1ec9a912e443ae950c129bbbedb9810cfb0cfa059106bbe60ac7a903801a027261682f60b9f673366d3360f982b539b0f72f511e7af7dbdbb9a6bb5fdb29969d46c4ae53deb705453746017499ded7316541f0f55870fa77af091a4a76e5a230b8409ef1eeef62e9a315d5673c23139910ba13071a175009448b71e555ea3d133490cef9a9bc560f2fe47f81f13b09141cbe9654c9aad7b45268435fa4306ab3d9dd115e45e5ec7420550e2093ffd71619901f212b37330b0c76e7c95d948736f0f0b99db156d98c27b735e48f6ff10626e69d230f5dda80fba9cb7cfd20a4cf516e17b03bfe1a6d4ea99abb97303a9a1c07a3f5562cc8bb240e55769d62a3848181c0af58bc9c1e29979a7e2998f86783212bd67647ca7e520fcaa87ddf833a2f8f8de761861d16a71f639973530febb34f243b50a205da7ca2d8a2938aeaafc5bdd46835d03bdd04c749ccf8165818c98d3cff6e6a885158b5b916b4205626902d31095c2fe83d0404516d8e9b17f67df1194817cf6c0dcd82f41ae13d1edbf84dabe1eb4281f21ec2964ae6ce12d7ec78e060a1b8c866f4bcff50195ecfd0af5879cdf188b62ae811c85d96b7270b81040676d90352d3c2bee9c8cce98577874e7a6f15828cb71d6f914e88a3bb812e01bfe8bc1b4770ec978396aa72fed11def452e9c98c8bff3c4716c8f4e505e83ab08f56d04996fa185f665bac2e1f026c3bec5ecce63729a60a411db1ed55c5b99586aecba060fb79bb6cec9bf5ed9b86053a39db78ce6941f4087b837c17e0189bd7d9494bc8a7ffe11fe005cba9687e9a89348c896db4a5751e6ae8574c49185bb1e527d6ef616733ee8da0ceef7a6494a8fbb8c114cafc486dcc21b1633a1076f3f86790f2c4785e05906f9e2453e6aa9e2f045557fc5c1d2ffe98d31104083f071a82fa1b6d2c802d49e41a8206f24c4a47fb22175a11ace257cc38a13af921f293fd9cb43aa81ff08fc09a450e39185a24c2ada02f3420d14d23ec0f23c97b53362864603d852d56e5709080032bbf59bc4759a200755897989ebec19a6aa38ba660f4fedd95781a5f2d52cd366fb1df58c00c138bce4de86d411e1650fa337ecfd8d4deeac35b9343a06da1e1ff53309d6e77492d2a1f87bca33e0c9bb4226cb291e3ecd7a0028a3886d1ae562f4463ea5e688e7d25dd251709061de84eb0ae8778796027213cc41c606bc16223ae810a4986996d95676948063e90b133e7aa1300ef6f5c0392e34505ac2331c37fa99200e12fa3ed1127305ee0f506ff6309e88a8c5ceffe123865db8aef626cc3c7c95abe6d8f806d844cd229c356f68364b5a64334d5d0f1a83a4ce0c3cb61a34646f8ac44cac02a2cafc31ef74796d87756b543fdd7626ce679fd58f75cee8ae5e530e46007ee445734c1ee06aba7b190745d3e8d329d9da386078af4da534a01225b933971d79878e80ac6f6075f8f91c3b55048e7757183ebdd7cdccaa6d548ded8247d41c81b910ca6b375ce599a45e11d796f08eefe6acd765cc0c5192c2fae91367b147925267d78c905e616c63a5efae4506531ab1a00a6b26a2201286013441180dc742699ec1642c108afb5ffd9f89037b4434a91c44be10d41573f7423e47d2bc990047407714ac96f1806abdb0919b9b3d3e4cb3d495042c05de7aff85b5588bcc7efd659e6beb3fa5059009945e6b70ab2d68ea77c733b0024b2a4bc8c1e7efd1b2657a6060f2350ff4c1202912495cee36ff9c407d9d4ddbbe6aa46fbc010779fa1879a9a3d77e441cad84b7d4ca0b6130413099b3b4170e7303e7ac57c75927406d73516d9846fadcd946a3c946510efbe967965e6d37bde6274f74e989ba3e5d47e1b2a4a93a081792176c8b9b044fc79a6a1eadd042bd3c824b0b673e2c0ac24b87b44e39ecebe1c5f518033bbb646f6c06aab54dd78378e","path":"m/12381/238/43/0","uuid":"b6cf0716-6238-4ab5-aa33-c92dbbbed9f1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json b/scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json deleted file mode 100644 index 0d5e49fa..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_44_0-1763367155.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"848d592ca97b10d83ab07cb1a3fef515fef3349dae3969ab9d96c5fda1d82d97","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7adf3f97101d4e146c6c4faf"},"message":"c7b1bea20cfbf90153ec1d67c19a66d7e099e107032f8c4246a83b86e8b1f25419586b275f16494f0ac644c8bec330a35bf93f3d7cb8070c72e561d2825ca656"}},"description":"","pubkey":"0x6839f0b4ce0dfb34ec26bfe4dddd5bf79d07f9aa0fced1bc6997463209d85a63cce74748c6249c8fe4c1266a17e16641287de94d77532cda0fac6f7f38fecac38a190be007149134b508e3354f07243edf0ac11ea1c48ffc9ae38ac5e22336a926ce4a20f9d085ff7590abf356726b28d6be66986577bff5d28d18bb4538a96da11f56458a12203a0af2eb05826e01b4eccb7016acbf0b8c6250c1abeec58027c61043753bc6d8bf94ef07b0bc568d140b29df2d608d948187a0fe4ab7dc10aac88ee658a32533794cde7f68c2d3aba778b09305151b72db64923a2937da04f703937b01afb9a522838f8ff8b3d6ec14d42962715f3cd9e0339a62554f6a84afb5ffb96a416b8ee0ce75e2c5d17da0f628f93712a1aab6a18600a269bba4a807c84e6671c7d21bc67866bea28a09d2497a6021f74b34f0c708090698d21caccc08745e0723917c4c638d980ea9848e77e62eca6a319a8c2e86291d03a06f097c2122ec07ba344dc145a4e78e655308b4535f94d83094450e80929e06354e4dffbeb0c0b2c972abc54c16f1f288842f50c20b249d9a61ffdd1c2e2412e6ecf968df516c2dc672ab83e9ba1180dfb89c28167ed833189fd2d28c6d4c3d89091c1d1806d08047ece10ee74eeee2fc92a7ca55c4ddd89dd1e146c094f0d29a8f3544f4739e24cb62395ef20a87206c7b3763047779d688b8eb1cd3f99c5aeb523fc934249bdb980edfd9e9ab4a207f6d4778b0fd90382da427663f238ea8db6238b4f9321ed07ab4f6a8b1262d29702e2a4c5e0cceb6ef547723fa502d6d55cf7f8484cfe8939dda23e29db651f550c9d90c95ff31a211773ccb2bd06ebcfe4289894ca0e46ac2aafe41538c069202fa0ff1725000157ea8fa396d14e16469e7a8c60ee38b947807320c8bd3e4e0e0dd54b2693e5773ed7785da6bd47c71676544b36a6d2c782fd04d3fed681a7330309f3d4fde63681b24d5b4d658688bb5d27ea0c8b9152973baec704360483ab949f4605a29cfaf292639ca1ef922cece8d072edcf666088288859eedd2654004384221d63e5d8b78b1a5aa6d26d0d37306c746642bd116eb73c6bc4cbd227b17766997ba6087034da323541a5b4df01d7aa97f8a1ba8db12fc9f97243f217bcf1f376519d0b1c1bb2d3556b2bb9159ef4a5a9e0adf0f5b109855d1dcea9b843b951a773c43dba23e2f57cbf8e7cd9badf7aeca9e18c1a2e640090589f0b3c96029d53ccc7b902fefd00dd9f46f6421624bd6fd7c205afa7d4bc3f3d40a77176b99e423bf67c43bd331a25b720dfa3002204c4b54a457d3eea6b050463ef3a804f0f7118a9811a8bc474c50263c76f10f4bd3387c42304f05103394480bd007a86ac581e5c73d84bc27792f932f8ab3c56282d5d5cf13eeebce06b1097dfc78fed081123184b42a238046529fe1ce446da50fe4782764b396305dda7379ad9582282a8e970c54882499ae82335f36e93d1ef913e1b70d78da7114fa7f54e650101ef6090be8f719a247e205c8afa5de6a48b6e27baf03ee328198d80441b97c44c6ab9b5aaaa8d74ee18600428862b337b8f70bf417cc18134fcb1c305cecfb2d8dec99e903545f4be42bf8804f763cf86fceb4599e20972a383c33076f2b932a183d46d359b88c69b2986f60ae5d1e55c3a40408841aa050a9a1ad21a7bac7d224311fe4512d717a576e1a2566e14790684b103ed1df5ad614c04a5affce3bef5b1e2e346283dee628d2287a28f4f718e651f83a86a02d3f76276e7f07297b27ddfee5044b30170dd2b3b36cefec5dbcbf2bcfec06109fc4eccc8be6ab6b54f2042a38f77bc021ba2d15634c0533ab7d3abcf275b402f7ffc3028ed8eac106183d50c8eb9251ac3c7a46f79bbfeab23ca8fa3583d326568875d030af8a97040a4ee4846592f03a9b689fab11ea49f5bb21281d67309198978447fd9a058fc917d6896c87454a6e0a90c3212e68c152f78934cd5084c299d07ed4d4795a82f53bd41e12ef1f6c27cb57a316899ce9c1707bac47514171dbc122bc0622a46040212fc3795e355e6afe70200980f5ecda4b557a28486f662c95c00d48ca3a3368eaef27783d82c1a9edbb9b1654f11145c0d099b17982aa5f9fd6ab9a1b21ba495418bcee40e7e1f977225994c1332f1bc01c13434fbcb18fb8261184401f27c2796d7852afefd1dd7fb7023b1663f2c75220c96b9adca2fa068403c221f7a3876d5fb08d332c538fe03f6064afe198d787c8d7f2c1b9b731d5211fc23d48a1f6a497a7d038c6dc7b38a3f993d9bcd0b09df6a0ee4c65b89506f29613939c7e8e5d22e551ef966a227dfe9129b129b9529b4337f9730e0e0a94dbcb23ab6da2a3924b6983f363f6e28a5ba5b10a6e960e329d0f636a6d70f10b225ff7392c6089acd6334ce92d77ba938b18e1f201ae6666d3718a4e7404ac57ef4576b2860f2c1384d1957229febe6b8598a9f43c89918d572f20cd1cadb9f5d52e866db80e7aa028a6b914538fab4bf06ec101c4d4911ac0b049050a331cc22b79a4d5a49e4daa2535ca2a5d1e316d0150bfe68c3c360361e43f105976bdc79b07fdcc3be17660c9a67bb36a0a230867a8a8481f271464c17a33b69eedd8b792f73f3f0f0a8a1a2a2203bba7d3b5c86472666fe1808c9f5e090cd4b1cdbc920b231fd4dff83936929b7b807b57e143e39a35151e5ef62f5c15ae9685c677b180075748ee0b2a474309b98711c1a56934e7ed1f6d74a98203364a4851c0ba94ae38c723234b42815cbaea90cf83b345354b55c8c3fd0bb4c5ec8bf6f9b136a1e450d8af58ef06b4aeaf66df80139518688bd2b55a98ef8faa23f94e9ae593152220ac3331bfb22b3d7ee21aee5e19f86244e4de513710cf7b1679e56aa3cf444c61a33c9976584604d4dba2667fad0fca9a61a678883a8b65e3b7b0a0ab094454c59e35464b9998ad55f40a95d9038e913981be7853160ce71a8fcaadb429f2886a4a09ed930da65a730f23572cee0ad2bd05a328469a7a56675613da64f55ad47bae62433296f873d61c8744a173e7cd09a6234c517c752d9f6fe01f832ec0124809e0d680e1c1a1cde4035b4509b25555d76d8d50133c82e9b46fd9d52966a125de73badc47eb1b77308c28011ec123a0174c7b22a67363ded673dd4987f56265a1873b5fe23c77a2f39f1763cef1954783125fc42e25634b6bcc0ca0610de573a61ec9eb19dcab9fd59f2965f7e83a69b30bc6175f3da68ba5a1d6286d223f5d558b0812979ceb70dc60426edb31825cdcdcbe7f7e1bab6ef6b8cd4303f718afadffa63a58f398758728240fc525aeea2508c9fceb5db8545d66c85497f0a11f8528a084604b7c1aecc58d458ba1920115d62d3a4b9f7f191caa1a6d87b5abcddc1976ab0d85a034644fcc129b9a4a51e5845f33546065d86db231af1e638f80d84622c32ea8a47cbbae8d7df767f16f6a8c74be957405ab1e1cab593145d1af9eea425cd5b67123447b7578c44d7beafb646dbaec29113dd3160a946158f6702586047b3732eeee709d83db1e402adcc690daded5372288ef97b6992237df9aa66a3d3e1c3a37b69db0ab70681ee8f6daeb184636e6167088edc45f5aec8293b6640ec76ea4ed9e315ec91f89081960c4dd50c70e54cc9fbc","path":"m/12381/238/44/0","uuid":"8da8bbf6-c7ed-4a99-a25c-7c3af856bb47","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json b/scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json deleted file mode 100644 index b05f148c..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_45_0-1763367157.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9b099c7086c02da0c6968ca44118e88e4ddf6b67985aa937d68c71270d897bea","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"fd021ef10ef01a97ee35d28c"},"message":"8dbe0bca473146c3a568ae052acee600d7849165333f09c3b2c82e2c075d187a605c0e8c7146e8bd1c0464732c435d0e3576a1abc36946c0fcd83a019d21b57c"}},"description":"","pubkey":"0xd074313f70db545cd19ea053c31d752f60a19645875dd22381bdfe7178d304f1fca1884749de6c2b6d8cabe169ecef018159d9774c9c87b6446d76cb0ca90fbec0c38464228b05ccecd231d0b33380447dff63b91312ff995a06459b5ace8f7faf875fc848bc7ba583ae738cdee274972bdfc6be227129d9ef7aad4672101ac5cd403706eb43615ac07f0bf49f93effd6eeaa50af3c7617b58149e947731de1bb276c14d86d9492e35c42da9645132854123b88fa13added82aa01f3bc21597ff47c0b6507808fd49350119171904c7947aaac5e43d3a4464dcef8424934b450c28c9bc2a7827bb7d3c45451b6beb454310732ddc1548f99a78329c02a4487522f7627d2d85671de8f2a7cbcd397a160410c5c39ddb2769b05fa2e225fd82474aabedd8f27de018d977335398541df86cccf2ae8408f58751bb663779e2deff1701aefe7607d69247e786555fb74da027c4af9e5f950c63410d3326154503f78ec831db3d34422d6f9a5bea19036f9e34fcda271c104d6268f3c9ba6a0cf07c8b7382fd72fce1764680ffcaf1dc0db7b02b698fb67236babf67fa824ec56a1b6ba22d8403fe9c7a6fc2a5379f8c2ef3c17ac3de5079fd82b11b9dda32ebdf63c69b7eed5d24461c7f02bfcb982b8dd99accf072001f569c5f33de420a49bd714df7948ae3681318c5ba12baf68d18a7e31075769c6ee22752ed5d4e90b9f679edd727d073b92a2e482069e9cde7cd571741ce69be0688947ef9a3ff42eb2348e621c41cbe6b3401836ef52985ff953158d6adf99628d3e58a12b5ceec0225f97fbe6b3598fba57c53182bf483f09561ea1868fa9e2d93c0e5ed30c48be52b49fcec9dec2d0651d8aa088211ad04f1cf6b8c97e378140c0f273ee74767d0a1df2e0c95929aa1dd57fd1d05e3fffa6311b5ba605e18c548a077430a974baa619ecb8f27410efd533a3d751fbc07e33055ea01f55e8f540724b017fcc4a662b47a3c8e92fdb23fcbe0b32599243b5c0cb2035467ae38b3d1ae2cf1e3748a329cabb174f3287a65580d7ab83d517c1b091ab7c4e8a7f0bb54b2cf88006ac4950c93e299183b09d6e7fc3158a565001436dc3242d5670bcf56ae97de525392e0a15c7075d06ae170c163f21a38f5f0ef2b7fc5d3606771515078926e252398be611f415ffd7437e323afe37dd8b7fc29f9699228d1fa0ae83ea7522ba15f3041732d67224b05847b5b48d3d4c25b74e302d181819abbd16e5b89e3d0b1eb74d8eb8f7030d924525bdd0bae39ade1c41393f45f919de51bb5a6fefd318cc0f246cbdcf5aa3ca376e9684849063d0148614f54f4ab650bb722d8b5a2454f327e4889c934ca72140900d95d980e0095bca2404f881c7b1646b5fd06d4ab6ffe043458ce25a8affe914307236ec1438df343095ed96fc1df4bb0184c1fcbcb130b72b38275285bc118dbbd71a22050084ecdea9a3aee6b1f5db86a13d9b8ecbb634d050f097f1fc2d725ef5e32cc3bad04a0046fbc5b9e155f4fa572eb0b70eda4041bf2d2d8cf9556e220393b9401f0fd4a7c1b1b8322751ecb45c1d6cbfba4b06518e374875ec4c66ba192fdf5dda2e5b78fb49dc015f036936e602c4965aa155769a52482cc51d5b7c3a1a79f6aa5015d462fb1d0f15e71390b20ae6126c731018e0c7313db8c5da5d14a88a66cd453d02477e3fc99314b40268b417130bb4ca68af0ba1652c8d28445b2ffc4126804ac77bd1acb3cd3c83470c45c8dd106787db5a5f15fc96ad681abf07bc052b4a554ad0939f9c8a172d193513c7b86edf0a96da3802d08fc3f43364e21a0c48903d2213e48267b11afed691b9fc535b1d666fddee9a61e58890afded44668d2da4c32f9d07c3512ca1469d4decfb27b081ae31e93ecb5ea612ec358ea6ecf710138b2d7a6b5ad2e102bd8d1998ce9ad0669471dff1bb012e5761417e13d7d40abea91922b31ab9149a09e8124868aed5b6b602f95b07488ca84477d5f5ce9cfa2d4d6dcc50ba8b461889c41da7dac870fb796c1975d8ab9412b8d8a1bce31875fa5d03716c372f1597e61f7093a8bdf6a618fcb234095a8cb2fc279655721a789b299d284f5913e3778eb597079e7da2bb37e0d68c3adcafd1cc60002187c2e3a0667dc61ac02b5d90b0e18a8d21d85d36cd5ab906e49bf403537c1c3d0fd456a93a6d93b4b079851060c057a84af19b6858f64418509030b50a0bf7b3a38db644229ae0775d5011211c8f8c3083e0808bab077d5e5a84379714dd5560cbd846e54871aa92c4d3b6a1172c43b98d68768b1828275db1b03923bb8d0c2f8ce1523f60f19f8fe354a1efc0df369867d16d8c1d5961057e97fa3a262fa6852c417fb34d9b55dcddc13f12d3fa88ef85ecc9febb5717999c47232f568ab2554767838edb1403bbc981a3586addd11f70f7175ddfd46318948178f94468b64ea93ca205dd0291b5802524bf7cf946cf20f817d02fd24ff7a8c64b86ab899b6f5c3c6ba806f85081407fc2f73e77179b3d69eb427d5192a6053fe4362c553224f6c9d1f883e909c24240539ad59adf1896a3dbd137bbc1baf2920e0758ec650184596e9c2ef50e56136a51fd694c5341d591940364c664c9d740ed0700e39d239974323d467b855763aa62e934c1b604527066ea093819c448ca029d06197345b2408ddf7aa44983ef4841d59ef5524280fc20e8be2d2a0d4554b956eba1af381df1b40de1faf3867a7434fccb60ce018efdca2a83c22bdde195883bdcd72437a1fd2bdc99aee2a10c888cbac5ce86366f07a21aff181a20ad40194ef054de14fbe730a547661b3308fab2ebebc4fa87ec7a4166b1f6558a51fb10309c2e0c82007fcca877127a1863366f7a5c9a6111935f516f9459e63d19bc26e12cef1aea7fd29d242e31bdf9aa8253f1107c91febf22adb85d8613d77fab7e6753089bf1e965ec30ab7079e4cb531c6b5d3a9304df78bdb070fe07c3a4af17de23aaba9d7e5246d04cc97c40128a41c6cb470262558d003ebb66c17cb7ecea1686d08bd1a9319de94355eca7057f6f4a3f427b8d0b06b4b6ad8b2cbd90422362318eea152c5571be56d218468a354b576948dcd086241352f2f24046ba738e1ea5dc27f541f3c952f89cc6c0e3c1091545a55a9765ed3fd68b49e0544bd4d2248a1e408aa372568b6b7dd2e6095a2856b4d6925e882f8c88de8896d9081581cfc756473ef1af17573a3e9021152b390bf5e6b8c12f279da39945b89411edb305591ec840c559592b9071521c4b8c2e1e97745dfce26dd05283825dc521eb462d8bb9c9c6180a0d61240762533566ea2adf19490f4d762e901261f7340b8ecbc4f12cedfa9ce27dbfda7c84e2dfad3264f549f147b488dd8bdd46ca7668197f512c160c1b6e44cf353cdcdbd2b464a12adbcdd35ec050d96ee8d4230ac8b8e777ccdb26d0cc55aa72d7590c4e284139289d22ed56370f9e3670f0327de0319d79f505aa2d9e9acc82ffd645058a215dd7118c95f1579fedae26f664b316601a76f6b809d05f4beb13fd6d946f42a3805f28f1374015a361f3d7c819b076695acf83291d2e1112ca6ebc721178978570c5a1c7a904cdf28af2e1cd234125d469dffa288617ed7ba4cdf961411115536b551b5b725f38b90c672e2fd12","path":"m/12381/238/45/0","uuid":"bc8414c9-4513-4ab0-a4f4-85bdcb33da1e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json b/scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json deleted file mode 100644 index 568f7334..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_46_0-1763367158.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"78a15d9ed96162533b6e570e2ead3154a1ad1fe8ea98af453c7f81f6bf4d0eeb","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"1b549dbef2ac2261134e4b33"},"message":"47907a9b6150070a2412cf3249b33b88b59426415d20c8da312afb48c5334a9b70b5c60c231ceddfa2dd1df7d3026b7342154923a3f03eb986dd2d61dbc569e9"}},"description":"","pubkey":"0xea3c076555acab3c5992be1f6fa2befe3ad3a146182bc3cbfa24e4b169f32e0c85d05fdd2fd73d9e6a536465ef26d616295cb0d62d05a9a8086127fb7e09f7c8e84f963a77a54a7cd702340b3d0ef8e14ce0b928e7a18e7d216862cb2a4a44a9a89386cc76679e3b37d21f4bf09dd2ac092c0f9b42b138afef08fb800294dd3634fe6cf256dd77e6f9e1d825c574d6cb6d5fa4217e7cb44b4afa71b69ae9e538e5d9cf733556b6d01dc36567f687df02dee52b298efdad025a79d96cfc5d3e5cea0ccd750b6a361c651d115b45bb23738e815e430650520e3419d095d0031c9eef4afad430166fc7448581009b15d2d8a164bc2c9ce8a4b374d373382dbb82d386d313c7b083164b9f69148b20bddc6f678e2086df03f8997ada6ff33ad085b4a0c866781d7476381aed0c206c9741ae93ef569a036fad00a48dd0b73225bbeade4cbd751ddab162fc70775785a08817d057c77377695e63ff3c45d1187ea09ed86f9cf99dc5fb6fec3d7aefe29cfe490ed0438621f9bd723b357f8626ff191e21be3350c1d9e64a9be5135c3c820a139a3880b43329927fb926661b3840ade546b34eb8e00d219c90ba0fc8c4fe0edc76e4b1c1f6b6ed39f3928a7e572b180239567a34746e52a550d99501f8c930a0389edfeaf6a6ee779c38abbe9dba8015bead8a6ef2a6355265a6b2c47213a33a6d22664772c3bfd2978a5288024c38186f0099f9a5da65d4f4bb90681fafd2f7bafbf8862f33535d7ca4704251d4b8505e6ac5d2487295cbbbb58f800b59512c654372bfd4e2d03f64ceb6e51483dcaff80ab779af8f6ebfea3690989c68f76b6c9e574e920dd38a017249ae6ba1820443da1ecbed84e555a2cb4e0f2e0710d1506521c9a38e39334892d47acc542ae1643c3036b3828755542e8280d2b85604cb536f5c2e8f62e44fde40b18ca717b859261eb9ad58dae9b8fb115e26a704ee9e8fc98e4f82263b5b6b149d98a2195cbcc7ab544c9b66f3bbea72d4256b7a38058f9ed0d2c8d1d26fb1166937ad7a7344939c6eff97f1045a9bc6d9b090adc7a2d5588738e9479f484095bb32706aec55edf16c2cd5f4c0b4766d45063ddd3f17d290186caeca0f5eb70188a4d5bd1ee5b60031240f8995776a875eb6b4209f64299510dd38d8ac6ffb4cec66fab604bd8eac8a0d67ab75d41fa5173eec53950afe38c597ea9957747c660497c390a46e802aa896cbe710ef5a5c1332c13937324d9a744d8041302d3ec08f309d7e94509cd82a5fbd5251cf3a872beac43bbd8d5c4b3fab63f02461a7f83f3115c97f25c96aa0cb910a47dd48d7df649a89191251714804277f8e9dba52514e770218ee891ab8fc04cd23fb9f77c59f686d0240e550045efbd92c493d6a01b2396e6d5033f0d80c27bd0277ee12417410400eb858ec3894827f2ff1ffe3d219db9db9a78993f47031e7f8d43a9cc5cc08f42167e1629c831dd8d64e78742f12a6dd00be6aafc95749cf38abbf6eb1656c21cf4d477f3b8f3f464ab4a7133223c31033d067d31fe58bc58140f8255363e102ef3cbb914180b7def02b0595a69c8c11f1b1306052618417da58a3a43448537e66feae76561901eac8520f9adda44c0141b18c03b4eea0fa67984d9f352ee1e7cf38aaac58a5a9c3432e52b458fca83465edf3475ee0ddefe75d51d869b39428dfa48556067346196b878dd8992e55f18fa16e745eaae04f41bf37127637ed14e132356d1a6749c8da3fa2121327ff281a4bf0974097d8a2ed70f6ac65b232eef9302fd4096ff13a37fde54674bcd5bbb31b204a50eb3e4f1a4ec72e923f5f461322957c8fb5102bb4d6530152376104fefd676f36198d34a8d992df3ed158c8c7c674d3b3a2adde063ecea0eab5a9fbbf98c55be06dc352ca2f03c3984a6426b64d94453ac089bfd7aa618b20a3430ef00c3e11fdd3a77501bcd1f5f4b4e5ea2f055553c491cbc56384e0ab958654e7898d665c03f576ef4e54575fc97efa27618b3d1bb8dab3e70a82b5eda292544d7589fcdfb97c54417fa94c187b926158021cc2429d13e40fbfc75e8f72d48df2ce4ea2ee64f46ca662a14bdb550a3160c75dd1b16bb53e398625156852b2e66637d08aeaea7d54ff6c2c65092061d4e120d4eab10973d5756dd40bd925112fee9ca2ed304aa7637eed76d2c321b49b2fb297af4a0110dfa17ebf9b3c91876435a6689d1ddec6d1b8f0d774bd52ab35f7353d7e03c53e098e2c7e0f4e8a12e27b25e64f9231d2e03d15a4af721a8458b922b8e8eab4844741cdd40bfaa69ebf26d85924d69c8bfd52885a5ddf08cb173527aa6e9c2d142c6c195b6a94ef2e284837572457bec261337ecce62e194ddb44b7ebead55463a4414b698d0e19fbd01238e97335887501ce705be3726645e03a1c70906a91859854bc4baa54cf9e46b0f863d561f55d975c5f295ca61e4fa09245a00772ae033d38d178c55848cd5b6b0a0b83cfd901b51d43bb648afccd3501e90a8d875180f3f66b78daa30aa8d49950b204c0c4038321f7ff02dac4cc5253321627687d3f4d93cf2d9d8df2655b786d84f542844dd68b249a8024714567cbce722adff3001859c6c0a489f278fd4e0abbbe2f4565bbb573d3c10707b90c0cd727bc716a2f87162430dc25a52034062451d7121a415cd99ea57606b2a967e01ce06199859fa705e652972eeed2adf52270cfcfc93710cdd9cb0938afebfe1ec84c093b593fef97d7bfd8833e4e735423d5d774dd719fb11ae3bb483ff4a2ec2ed28709a5e313ae275efc8a8d2c04061591ddcbf38bff6c7d99fbd92e1aa8e057d79eaba574b65099006ad99ad4ebce28cbde06b8a6c6956ba12da0ec7beda75ff5e7301867aad0680a562e3fb24be2ad523c4c6e375b50ac27f8c61fa5dd666eb993983b3e73f7d8cc89e73f7d3a1adbf46ee89e2573e31ef28be07eb44a6014d3107ffda35a840c2c85a604a1d8c26f4fa8f157e00da97db5be8bac3e8f23f1bd795679c09016178e3fd73b969549e06ad2da2eb4dec48551c555379d1f52bcf944feffafa6454b7863b28ae9627ec977f87074da7810b1872b943aade1ceb09742edfa45936481a475e0d1c62a1077e4b42909aed5e8e954cf6e9a5519bb37845e7b5850e4e68091ec0489a465155d6ef12c26b7036e863e3fac30bfa12cbdd94eea3848ee41747b61559d9713c0b8625f7880c3fd11fd004f7983e75e6fa51e77527de1f9c3d45ae58651c647ec1a4f99051d341d2f081df35db3de95f2504c7bcc26452198ee14520f843dc33ba3834101c68c99f0d44e88985a8644fb340eb6f080d3c0c6b4213a5b0c739072ff6e8aee05fc44312213a4a3eb1f639920e8db3730f9f55260214a1e192ce515827f49bb269fdae5fd55723f3d5c831c9e808d0237012b44581403ba6724891e58154570ddcd73543bacfe233996774b532fa84049c429b5f327a7b1ec659eea86aba42500ebd9f1a46e3c408493bbcf35aaa6138cf739a2ce3aa538cf16d251252421f07410ed815f84f419d32196d52dde9d7d92e4b11cf031f3a0cf1e5c6932e95939abe911c4d66afd903be59f31832d0124fe6252b14375e85da7942ded20c8b41096d0cd2a39dbdbbb9370da1df734121afd53dfcd327e2ef1b767d1e026","path":"m/12381/238/46/0","uuid":"b4c73ff2-c4e1-4fc3-98f7-b035cd575412","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json b/scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json deleted file mode 100644 index e68fe7c5..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_47_0-1763367159.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"b7afd5fb6b45cea4290bca6e7881de12058f9b58bc4995fd8b0bbe670a0627a5","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e5d748f016998b155c08951f"},"message":"d3b54562cf8b5a4570a43cb64f5a9f7fa78e67d2e781a4516275370f3dc1c2c679f50ef2182745212a50ff47411f7fca9aa1e4c305d835680002fa2df9fc83cf"}},"description":"","pubkey":"0x098a9e3588306365967af0ec18b173575e66a3ae3cb85c3ccd977b66373d6dd5033319d2807acd154797d53b779ab075838c0062478213f696c5010bce27095152939bb4fa94c2771817e79a20ecef07660853c3770bd84da7a37f6902f0df8a2c109318f66583daa303c69b49b76d1397967e4324c678bc0c246d32ee829758de6b6aa4cb95c4e2bd8e1529be317722527ce26abeaeb9e954b3fecd4cde2485a0953d1e876f6dcbd8a44411a23145e1108cbee20e2a2f4097cf0d829a2751e70d101344d47b89948dfe3bded84e68f4b5c5c9c3a164fc3ee4b5f6bba469bae1d43cad1cd5bb49795881c4aff84320585794e369e7f74559c31f14d6799a54d06fc2fe295c43f7f3d99274ebe272d2489d313a0605b506216403ef80028129895d58606092ce21d0642d7846637c516b9412612d8b9449431b18755a6f482895201985a34aaa8ecfbc079321e90af547f5f90fc3389f266b9495210df4af8968361edb2620743a3479edcbe34436fc0de0d39ba6f521d83928e3f9c411b08432ae37155df9db15386fb75f237bdc2a1255eb1024cf1c6aeb6d9bc457730e3effe3b0580ed7bccec43842b87bf0066a975dc798efc15630d4ac677c27af5f88d5353d69701aa4e317d072d3c14f86d35b6965556cc5aec1350b74bae05172951e8c5fa4569f08b4f3203ff270a6d1e2e7039bea56e9da90ecfb6e7bc68e3ebba77eb437332deca15c611d92d5a694e75850803181ab164ebd92feae3fa9e0ef52a0c6b96d5c20b4b3bbcc3d7e805c145a0265018747f71ca92df148785db10b25724f0ffc3eb1a778955b572c6fbeb27bfe6321116d628132aa51c902226d12fbc04502807def568e80ab6dc580a6cb59524d49c128c6e077ea6464ac3cf844905ff5165ff21138f19f8da9b08e790f3913d4ecc646389824f98cb706755474a224e4307fd35bd038be53986b3c0aa1361ca9298306166bf0440e3d5194d4e6122d6826c6ab3adf0dbd07ee4cabd10cb2bd8841dccb66d52b31e66fd92d82768791faba599ccdf4cf320c971a243515754a3672a234138e285057a9b20ff55ba451ab51062b32a8b073e2fc737c72f07a7180d3d5cc52d084cb2c5de8f65141eb13d7c0bdf5b792d5dc586cb3dc7913342302cd0bf464cc01270dd86eb27e0e5fcf69f48328c08c2cdc1c3829ec5e4a52dfb9d87f65311974b5ef501442f5d757a132c5f50c43acc4f7517d18ffa7898987de76aeb27b210307ed320d139502ee572d85686646c93550a16c8a2b5b22e7c47f1569ebf8b558847d39564089d964e18aba5c04675344aaba6a11414c5711afb1baed2a7054bd5ac680b6e6b96105950231bb83121531a3517ef1aef588e4fb42af8f4c7223d4df5b6298be81e0337d762580cb0956c0eaedb7b36032d50af27e09559e362871c35a68dbd9f28dadfbc8ec1c27cf8a408ed3568b156b77da5781cc1c379cda8ab00dcc4c94fa674a0ed2ffd4aa5ade93e43e97f5a4c9974b5ee540f7b8c77784bc5583c3051346f431cf268254ef8ef0a3d3fd027c27fdce07d97f25ba7564fc1b0e3f0647e3e393615cb354903513733172e60fe79f93495728fa917dd2779218983bb99f2fb5055b93896a02745ccd2df85b2875be1301df96f2fb73269a548af28743b7ca8b7fbe2d58ad3fcc44dc49057f342fd7acab4a332007464920bb967f28739f3cb31d9a7903e0360ecc903d0d7feadd285dcbb50cddebe4921c1fef053a28130a125b670e8e81a16f4cdfec975f1227a63580de55386ba34032ad9755f86e5cf57ae2145f8737742cd852826052fd210b51f7989a14cbe0fe2c817858a25f566d3efa1070f9427073fb78a505a2627a4a066afec662c837826ef7853af732a1576efd0c03bd1049f95b1dac0594d1f87a19df2c39f959d1db4bf557dd217d1016ec6c536aee22452bbf0acab8d9646edb744f3567c36e94664a5b98d611dac30859b7996b9fe9eee8a4a2c217c08badd9313f38b2c51869b0bbde76c9b9a3f4059a61d79b793e3e91da0021ae78a1ffe39dff090fe79bb80016abb60d5d5787aa30444864a244ea9a7f1efd61d14c0784ed35507746d06f2652b86e8ff9a4241d3d1e37e214096328040b6dc97c7c6371bb200e829b90974e65b3f97edc05fb3b2c53fa613507fa61fe293d51e9f6763bc2073d808ff9903f206d057a526370223482d4653e5198257d8ee2fe63690d93347c6bd6fbf0f8cbef91a8f88b9b5edfe01a0bf349f4a018683c96a9298b9e870f30289d364727e26484b63b34fc96af61aa90ee12e687f9d58a2eab6671b2290da6657af94bca9a5ae509e9944152b1417f5d591ff938dcdc81b267036ea6f1b8bd58955cb93ea423bf914f6fc7b5333ccd9721e92eb8a0a4381ee97e0cd51b9d24ac210b116f7c0209152c8da7c30ecb28ae13f050d019bf7214fae73a5ddfcdb5a4be971495881aaf073130b93b59230a432ac0eea1f9b896cd1f1006bc12afb8320026279bfd538fd3be37d4ff0db28147ced6ce0d093be49c13c1f3301dafeebd2e982143904e0c1dfdb857b10389f8ecd30f314f96b2db6ef601cdd35c511a5d74c8a22e8f5a899cc998432f11b5a87257e24173c3345915c8d0fd0c1385ea28a0a2b8af7cd0919d8ce5d0f2e8b39fbebb4aad68258bc4c7b5a6cc7b01bfed9f1f1917fb10f692aefd369af70b95d267e5bd5e27c2ca4a51ca8d7d5b7c83ac02dea2f4eecdc872d6162ca8d6de14a8bd9014149094dd1ae388563210ab019a58f23da285cb374f64fefe86455850d8e2c5a495a6ca815d200737fce2be0e1ea6e33daa520c2cad87b6c95eb009ba821035c3633f0191742b3d6205aec95f3ec87e2b21a2fd7d19a4aba388c2c5913c85b6def6c0a6efefccb90274e53450d5ec25182a5347b872321dbcc71984614459670339c53cc7a54f1e178a875aa7a79148c509e24eecb2b068c42ce443a74fc33ffec3f1c46437e9f7923bffac4bf320cefb957952d183ae9b4fdedb1ceababd89d1298d0012f8aa424594b57b36c3ca3928edc508c73f586d135ac6dd8114662e1d8e82a047a1f86344ce1676360ab6ba8c18898ee6be68fc51f3ec975f6753be43b28293281bba1e9e16e5ec45c7757dc3a9f1ee6c84f89116761407ffdcb07986bb70c770cbf2a1624303eb0791440e213f402ca88c91fb7f60297047bbce2a48e7d32de52174485c5f28756c22e6ceb05930cca054fbe1a9df1f06533d2cb1cff9f6e67438c7f60a5281c39279d22d0f1a9e9e59630241cac19edc38f4ac527df821f5c387ba891d52de5ec74950d2b63319336115a7d9ee5802bef07bf6f631ffe6ff6b7089ecf3c5d8c30350ae0880d660c39dfa572bf43d880cbe56e51e8a7243b9c65921f2fec57eeb286e651a23d28d9087e5d9e9908199dc6cdf112bbbc876e257fdded50b6dd4524b439d855ca6591a48ba38b1b0b0c83ed7609fbbb00caf4cda4d1a97f954e6a2f127c817fc6f1c4d8db4822d65c6f0fcfc8d095e683f55c5e14d397e9378c481955aa43cf5e5d01955f74a28f00a842fde698c36611775dd2d78e43f38451b01cf9f570202d469b66b410bb68c3ed44a4fed536f636edd8fc9458e5b23f601676436421fd77b0bc2a5aa131356474150e8a7","path":"m/12381/238/47/0","uuid":"386b120c-ec26-4346-9bc7-7598d3cc799b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json b/scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json deleted file mode 100644 index 54cbfb62..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_48_0-1763367161.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5fde8e42d7462430b4d95330177fbea1d8c93fe547feaa1500a15ca5f40a6cbe","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"92143bdff90f8ce1fb88c5a5"},"message":"484f3245dd98b948d00f7b8bb2916e1687e01641ac28bfdb634f8bc5569d1cf3fdbcac2ac76a74353d7d3e60c8cf8200323a96f1ce32bd2f2b1ba3674b9bd3c4"}},"description":"","pubkey":"0xbdad75161e495022af7e72e56ca158a87a294d15c91b845f1626f267dc759df3a33ab7d6bc0fe637890bf2164d9a60a9113b670b14565cfeabe84db66b5c0b470115a13399744e6ff3e4210f8e992b38a30c40c6bdac857c05393935a07fb2da3bb6d2afd014ee4264c98db4349ebcbd43b22d490f98ab93ee49b0f33995e4b25ac3e2605e1aceef9a879b1b7946ed7eb01d4f1eee3d364aa4a28c215f861f5b5836e947e66afac831e11f3e5b4a4ef9c7b25d5bbe09af15c73fcc3fde151d6e3f37b187b952ba641c1d00c047ba6725aff7eaf87c246a4046cd7d106e4d9149417304f0083fe7b22b39e3665f93ff69e30f7639fbc21f9bfaaad7543a276c4ca7a546795ef1eb9c31c264f02859c965b92180ac56d157c08480387afc79c442b9ce3dcdb868406631acafbae276c9216cba448002f8f1a06058d118072678072a55940bd86fe0739a6eb4695543a37ce5bcff749a49b5d64aacc2a560908a4a53a3efd0563cedc2fa8521bb1537241e41cd1dbc369b10ac53e9e5909bb206469aea5f794d7acde98a0407e7c2b0deabbef9b0483e34a94f795075039bd14a30670c41d692631cae23b5ad34145ff4be4e5edabfe424d9c1056e75c2a40b0ced3910cd023893f3b9fca68b53a858c659bc072c9c057b2b44a0ed14a17f9b9e9e0a32b9025454c9dedb96714ce0c56da14324eded1c5c279e0feafb44f31af05d652f2d6d27489fb3cb301eaa4d04702ed9d18818bbdf9e27780f1e443b65c670cae7dcc636bc7cc5b05d2f892265d500fd4e85c8579bf81a8ae1a17ff19d492155188fecb72883c5fe47597d1b0da3d7c8b4f4ed82af20057c37484af21ebefc6938ebe18e6ef4c65b13b324efe032ad516264f86708da3a3f87e4b9d8538ebe08872b76971a5e878f05788fd41903c97b7a360a46243d73a49b5fcb92ce8ef87215af05dc83cce1619c0062f55a57a156ed1d2b2605b0ebb1984d256ece67fd76eebb8f56f5856e58ab725c3e9c24e46ab1e260da284e619d1482dcd786b186db8a97c1c8e3dc947b422805fe90c171144c167805a6b07dd7e265ca96f58799e0a252b7b58372b498b8b1ba07f4e21839de864a27db914d71e80f90e9efe84780d5c0a99f6d7895f9d8147678259e04fe4683ab90a3e636d01e9d669b4eeed02c6ab8b3fe54d5008b7b3313385e4a0e7e294e5cc92cf8bde5fb34ca2d5e03149aa93c35603e3dec41cc89d485f25bb07fdef71dbb57aad9ab2f23e71b7382652314286955dd443230b0f29d44b3d130fd7626e2e075bd7cc7469dea77cc02bfdf3a171c8910dfe6b72970488bc928c32b4017572e85e2a01950ab1ada3b82d7d1193e6b463ca444c7175ae9959a62bc8f1dcc6f151ddb09aeed56d7f3a3b932c522123f8e0b0204a8651a5a577bcb7701f6ecf99cac2b0f4af8ba5848d27f6e8871d676091fa42828a6208b31348f3dde14fa6f1258c7416ff5b6341237d5107f861a5c5a83ab0b6a080b74ffb2c2543baedcdfdb643a24c574945c7f47935c85c6fa7f38ec9a77c202fc4799abf23487de2b93a067778c393c77f25247398f3dbc36ae714157b4d0836428a658126f7775d213cd03e543982da8029521bfe038839f88b624f3f9ea033aa1cac01b9c5b243639e362775ed4b756821b3e338e4c410e396b68e49e30dba4af72427f6fd55cb472d8408f3d43eb34d295718a8397cf683fd7af2fc6d815b8a194d82b7644845f7673b631a3a3956fdae3fa3b384b6cd80bf03ce00b7a20f4f30e7b79e4655e284540c4928d3422d7dadf03c019c8d04bb2d2faf811b571771e1e562249168a958e4ed331d479943e73306520c4ca415d509732550ee2752db758e3c0f9444f62b079303b2e61325ae5406c12328891023de7456ceb7abc38f184fd59e0e86cf2c35f5032ca7ece137a5718cc093a775062b8f4322f1bd713da291d534b15c2e7078478e9d5994936150fac27b990c0b1d84906aeafd287ef71d788105b0821d02fb25f9aa5728758a10bec4be186b4cbd505208914ec0e67abecd40959c1d160244599ecf702f2d11f7964ed9f1a12281339e937a077311ade57896aaee0550144437aa930dd5463e3aff6aa74fba8a5742ee52affbb3b7a461a3684b67deff4bf39abb52b1677817bbe9439d76f495e81f5394e817d1e8495b20aaff142afcf983d57079906551216e2274030351f95a0a1900fa4be790bd8e40944269f39df476916c8e7ad51d2e7b344ed36108e3df3a923a0545d160c56b98ff8a722e82422ffb29030852e346dd85006b56698658b4b80c21cf139a5a48319bd13b00e65f108db85b6c9b86bdb68ba6aaa300fdb2b3c2c82589d1934ab1e1e28c4a5e40c8302c6d294263aca70375f1a229597f8f0ebe36f8ab5dac0eb698bd3504494e58bb0cf51ae5349d5f9fb08c7430e0f7f68eae37b75bf0a4b5cae6994e57847caad173a58143fe72941a2311df0afb84a6395b11cfa6649e42be4d6baf05f30b6c431de975ede6651a1c5f9f6771f7f1977a7815001bc68fc298c6d9c6760536e51f756a6479349b6a2caa788ffe46e70e117ebd85e4d22b99c5791a67ae45d5a245ee237a55a802b7bdcb4a480efd43743bf0ae1ee89d4166fa1125c88502427336ea50481bff97c7cd9a38be8e9b2fa5ec78e39f15905d8950376d9bdfdf2f6553a1cfc1f5f01c8dd9237e96af7d30a0feaa216f4d3e1ec09eef793ea0fc0ffcacd20a27fd52d7caff3d908e523f15bf3f4289b08b74f456a8e30d91113e57d8a3101f18736dc727deac76744e281b245826bbfccb6ea58746891fdb0cfd64ff5aba071e6d9996955f0581bf746881d1a72fc3959c828d44882db819a90947ea43cd4def511f97ffa740d2cb4b56e4a3d10eb1a6b42a8cc66a35b8bea184f6367368a38e0630925e90c8b140d6623c5ea0c852ac5fe333670922d8d80f341bc55bce4203335c7f7f1e2c714ad19af2f6926b6976ba9fc24523e492b95638d5b0a42cfd59bf2eae84d003af2487ccb560b41d6202c747610082b07c28647f2464a6fd74d725051ac88fd81dd9b4d15fb94aa3cfd5528b06361c5e1e7902696e36409befaa7f9dbf06f77648edd43d6135c4fbcc2f1c94f24ffda50bb9b2bc598fd4d2a708383eefc2ada7fac457f6543d03c68d2030e23ac5772ee8c4b672cf1829da2cf0cdc893e81930db7ee7f1fa5af881a43317d30ca040955ab4cebbc2230a768015f54a8dfd63dec73db00c58a4cc3cb756cb669cc1d4f3327ed66eca1c8ffcb336e4ed13cda1edd1738db8b764a7f7520eba168e983cf4248a95b3b0c5f262dceaec522d78e239bd6cb5c213fc38b165fad8647014513829ed8fa00da885b95a4431aed9535c9c02f6aa5952765849210c2e71984d04b03ae3698ec38277343f2b725c2d2bdec66b99b45d4b77b64ee01aacdd19ffb87800ec57f400d732b03afa1da31b78d074ece11ac9d0e987b6233c86b9004f78be9466177d77f77b497559600589714a8935ac813d8cf4f859959b632150f09ca7587e0f52dbe18e47202a62f3aa0d1194df5deb217d62c4dc96094f7608a673fcc52b09c721e1c001d0592a2669494f38f9c6e6a26ba09eb65a7529d8d0b893374506e7b3e4b2dc1d88bf6185c7dc3c6147c41","path":"m/12381/238/48/0","uuid":"afea1c28-aa62-4c08-aa2b-cc5f80259c4d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json b/scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json deleted file mode 100644 index c5830daf..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_49_0-1763367162.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9c17d9b9bde600dfe0a7c225fee135c5ac20f7c2edb59c3a65a68c7d5764ed46","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7be4ddf0b6a70a6a5af5ce10"},"message":"b770e0f3ee71b975cf03a42b6541b5442db8946d1cdd72fd669f67ede641caa2cf7c6f7b722bb3ecdbfe99b39ed0f138e897c20350836edcd7e08b78ca193942"}},"description":"","pubkey":"0x46d70da085305155619e0e26c4fb62fd843494387ebc81fd6b5dbf7311d21a3102c2f172fa67fedc9113150783511c7721ce878980c6aba45c536316a29fa41b119740a5af2aae819cf2b8fc0b271415abf3a473fe697508ffdcf9f3345879cc71ccb80e9078a376507ad1f8e1147f4e1ba601bfafdd3b5ad02277d41c63df8cb780cdccaa7b61f76bd8ac23fdf23a7c2c5951a39ff6264fd916cd831ed3e126e25267d9d935af7a7ce93211a1dfc13a93310c5667de8877a7cab124fce8598414b00c4dd8c6a81899e7c27bc81a1cbcd34b770432ac836520414fe2eb8419684d7ba27d3f780ab8906df5ecc8b9277672ec0b36de60878ff7d0a6d2b184f8851c2bc42a3dc15fd36deb2775a6e23ab604c06724793e45502c4f19e677302595e4968f491846e4fabc33be7c3fbcb6bdca879365b660d949ac85031d5ab2aee1c900a41f909a27cb0be5f9bee6ec0b776f5b9e5247b8c7a53eabddd94d8ebdecee69ff7e1dbbd6c956ad39dc13b98b52eaa9c9a52e12f65fe28f16f863eed37cb63f26147c0dcadc005452c7c8dd738197bc5baf1c0646337bf4f11818d5d2989f2f10ea9a66159db15560d9a17a11407163c4a694d4926998e49901875aef606a702ee100489e8b981be94be88e8d5b81d3fb6b431afe10e9e4acf22a96eb34e70155d114b8696be8ba9fe0051028e242ceb6ececeb07d89666fd5b32d6063eeee9e5cb04d110de3f1f1fed6a12a13cda3f84cd0d9018f1202082664426ed65ad49ce442082e535ba97f66e8c1657928a942c26825d0dadde2c49fb6524ca6bf8ca2a58f4b28b38d5cfcd1d4a116b57eec43bca1d8f6142df35833b06ca015bf9e6961b2ad03a641155746deec3f92ac00d24eab07892423210cb4baebd14ca97b005c53017da421be45ee7bbd37dbd8b972d77d4300d3fb162192bb1dd177cfca294b68277e37c6557a5bcf36311327454cdc91b4c4d179c04c3be5b5469c6d472b964131ec07c680110ea8b5c07687f5b427573c0a463333218f366a071c7e6bfad80400c5afb257e184c9b307a88b1a1cafae902f35fbc24755a6838a23e9ec5dd78c4375ecff2fd8ad63692d63bb6bafd66d9173ca7cad67b7672fcf881eb545695673b33c00c671b3f7efdac6b11b1aa8c4c88885f3a1f9503de934d0de7be375943db497a2470af2f09179aaa85309c13de1762ce6ca416cefe72ece54f098b1a066681b4c73f32eb73bb2df96020c052b91626a2e385b1feb7c3f78d999baf1e98d269a180702109c0360a49e5b4245c3ff4d00a176df135b7b0244433afea02610f46c02e8cc896e523112b8333f11c0012881cd7f4af7814a660241a98e0c9f2b6fb749ca6ac51ec8acf5bd95886b5dea9ed8e0c1e1efc080ed3952d4910bbcc63fd9a7c4b9fe7cc18e82e8939d10117462de7ec536339773857be6c13d53e87a101a4c9ad23bb8429d4bc0c513e53f9e23870b61473ef6bb18cb30ff027a794bbd2ad5201e57651a4a11c71417ecf1a489593f32181525e3eab91086b7aa6ab0d58885ea78aaf003f1f0132fb365e38c256efef4b4043f959f081c53a16d0b9eb7962da77168646b407ef3ade90b4f6b1857bd04dca39afcfb3ed2f35ff8cf52add7823317863df1b3f6df49a28165d26677ac6a2c0c18512437e504dd37552321e8ea6a4e158f11ca195841ddc114507aee658db3afb2e3179129a425975d08e89f123476e49c6d0185935463db783303d662265a8c05a0eb0aeae55e157435348eb1b4ea2813bc0588ec9c1ae7546cac6bbc9d431ddf8dcd840f770cb7126a2d1bb6d5c3c687b4bf782f4ee8e22e6cb01292a947942ca8a8afd1c55be588fe535997d9d72377ff4df622bdd67ab1d0beeb74d605c0e7480d76221f65652e10509eeaf3e659ed7016ea8bbfd53fa8100662838b7f0d598b7a2f7db78f48c8374e8d22e164a038e951b607225c1852ca31cfe617ffd676919de8297e42973ef1d899ed7d870b3328c981bfbc30d57586e4c7e55b5ecd47e14566b3b4c9f696df7781c45a5c892917329d5425f4a63a92104d4c0c5e59f7965f320d0f4fe5e9176c73381bb7f221743d29792712611546af0ec9a319bbd01e21bb1e64f7c408bb1e5a1d7ad088a38118ced6e342d70e3f5b4a046f35c05b08f011eede6fdf51db1b80652d4f645f14896fab964c1d40ab011b65c766127b8d772654a3a7eb9396ff3232df866bf9ad7fc277200e284121954bb7be5bdba5e12845c5eba8c03069d547aa5e041d9b153ed41011db4459b40848938599a0ce779dc029c3a742aa47ad432054c6e97559b18b86d799d636abbc320f9bd95c2c0bd6e5d933ad1bbba08222db31ee8d9d6f4e3155aa016f0725ba9ad434e558b0324efacd87d6062d4807bfa9cd71c4751d20284383505441083016b37a972e720d7f5a137f986dd9fa42f605a85189a9352964822009bcde88ce498aedda6d3cf58e80e2842c2fd7ab963bcb3e9dded04871d41277e0443ac3b08c235cefdaf02e2eef2434a2f000abaa61673bb9e3da511a8fe05d70eab45f5774d4749a00ec5a00a38ecc5a088fab08cf0be05ee71c03f1e435797aa190ac3c65784a2e87af23fa84a854bdb8ff8939e337339a3872073de1721533da1491673dfcdaf1c2775a7f166b83fa8a7ff0291044a682401ba45441007838cf41af809084463d161d6318639f0547ff6f467e7d3daf76d7d46ea5e19a9b19a46057185dd76d44973401dbc29b759d445fb8e740ef1f24c71112382414bd8a38209b2b7cfa9f1c1d896686db9e93737fb2a450e7acb2c0e06d656673cbd54b3ea5cfd9d2da49e95654ec2ad8cb70aa10f036f685d57f6f9f7ad5e85909cf22ca23c4271089916a441d82e481031dcaecd2b2d10bc7de87b7f78ce1eb1e627e871e51b5b5f941b5053e217a55b318697439b0e59fccd6e92bab5bfedf1e32199d74e5e9e7f10b5be30ea7ffc53ffc1e29dfb3e2075cd6de979f3d47df07177f8bf08b51369d2be83591ed35ef29fa3b35b8adf562d1771a33fd07da7df142ed5b371e98448c1d15004916f3fe0f1147ca0ca9bac12535aaa9cc53b8e80c543af534c76759d1997bcdbde4f5e0b261f7dcdeee182d765bed8d4fe254e9b840b607fdb0ef8f4502ef347d131d419ca1cc3c09a7035230faf3bf57194fcf621d142f5fe4c302b883893c3aaee53a8f380a72de3c8de34439c85566c3f6f2715373d199950a733a8acdea5da64b6d8c1c12a6462c16f205790be89516117cca31f93aaf52c5d9f03c02ffad83cb214cd68fdd228ac8bff75c332cc1085edbc9483271fdb953cd071158e9fa001e53eb3f1db0cd8123ec2a3c7df7a9a206b93c5236876245b853a4b9b9a2a1acc747034e891f98d7ff923714bfd913f1da7c7dbe152b6ed58ea29a0b271b6693f16ef166da5031f990494cf91d1cfc43c739ada2516bad298f92b288b5bb90224e2a77eac4af0eb43d550978624cbe21cf6e6eb8ecbc4f6dd8c8c60e9d4de1cf4fe432e24619d63c6d993639a91a4cdbd072dd6da3de6be5359499ceff2d3654881f2804539f3ba105f9a221423cbbb0948130cd7b328f29b6f3358ed5cecd73fdf1e8d1726deabbf2c478edf7d1fca4052fdb83684e0bf344618b5a516798c8d5367","path":"m/12381/238/49/0","uuid":"b2f94c6f-9edc-4c1f-9acd-388eb945f1b1","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json b/scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json deleted file mode 100644 index ad4ea13c..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_4_0-1763367098.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d504fadc3328ef48ed83dcfe89e4c1c61bbce674942dbb9f8dc1b6882c66506d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"ed0c20f4e69d2d0bc8af695f"},"message":"50b9cce335c5691b5cf08eb0c5777253cb77c79cf4b0331aff87f256c94e034fef47dae1a9d738e7b680fa62c3a7b61c92a4d96c35a5dd7613c3fa07a36f4498"}},"description":"","pubkey":"0x36a8f7929c9ebffad586c00e4f50cf97c65cb06ec4dfae94843240b12af54664062bf2f8f2e14ba1d3438c0af6691b5eb9217e1265b1026988bbe98e0a6f581c3addefc5501158712fb12479cde38fd8fa3997fabadf51d692d5134609a3dcf08dee0c8767e8d3fea61dd7396edd646e74a3dff989b125f53c0f45020c29345f640d7567d427bf884d1ba80ae8fa11feb32f349e467759c375e57c3d3ef55bdcf4f100016ed71b891b4cdbad5bf59b63161ccb84d52effcad1fb02c6167898411883fea5f60a86fb15d0a2b3e910399efe163799ca4c0bcd8d9da59de6602dbc555e7e719c13d3deaf859034637df3c137927dafa6e3c6cdea49e4bfc692bd5bcaa7064c22873c23291c964f2b7142ca3cd76abc5511932b9d319b24afce5398aec632436b90aad2d4fcba421677bb35038d05826610337d2ee5e2bf35da793bf5df62cad563290c781be1d9b500907f0714ef80c76630b3c1e56f076642e1f92d8862355aba37cd8c0d8e343d9137d713b7925b7b50a75d8686133fbf1a7bbcf074445fd53a06bc12404a773d4a6ec391552219299e26f4518577f3fdd465e08372b8bda7eeed4f268d7e82105371ace621808011e35338ebc1277f9e11e9e233b8854f84dfa2277a4085a01ab8d7f1d7b9bba30768f2c6e9561a3126f9144c95e4f0add0e4bd0a09c2f16c6e8009258573074e8aa8f8176729a925dcea302c91e220531a4aeba4dc1a9ab2ebd670dba34a104991ef2843d90162462497e5a40ac00b19ebb913333f21fc0f2aa9b4a79697961f24f1d19f808a84f9f8e2c3de7b5d4cf91bf1e52ce43bc60c7bd87c8845e0beca383073737a30ebf61d277d5f97b39d4dab580fcd820055832e34f4acb052b4d0edbf83b23aaeace77791f9744693184c384b11cfa2d72237e9ba2018306880e860d8fb1777f614e857ddfe3ca4e4623f2dfad745e6f693b5a0bcecdacda2507cf6b83b844ad989fa004ab7cc7f3241be140b6a6bb855792750eeaaef2b85d84711cf165ad5b61237c99a5b209a5d034924a27aaa5fb1c6654c70c5b2e2e0d0ce4bbb6b8f8cbbae2d86777a08b4e1c57e2e18fe37ef1e38206cf74772a22fea5735d24e08389edbbccb18ae787a6757b8826e7ef13ac32d1686f89104a0a529933bc16ea6e1e81d5d60f6be72f6267d232875aa976d2e70de0e6602ab1e7d0afc38fbce22e73860703faba50106f7150a713f5d14e66a7417e2ee0bddbf14b368af49283700524cf0d795324899b046e9296f3af0f30a83d564f04c784d0375f3aba5d2990d7695292a57c2429b387dd76dd28aef9a29830e45d1a98bba42a9220b28348ee1d422bb32e18aef39c82a93e06c0f8df09e7b551f5c95a4d3444914a7950901282bdccc3290a82f43e45da40127b4aa2f82487ad347eb935643a977742e4968013bd8655255f44cca75daa8b67cefbe8f03638a58c1bf251b3f63dfdfbfd6b9299dde0326306727beef346f523b45bfa2b3604b70fa7a8368dbc23e4626c157a992fa4b9d2be337076bcbbd506ee2a365864c224b5251560c60ff11e3be46a6b51746f8196366473ad420927c6abe5e50f20ec49fdfa2d52b7a52ed8675492c3cb47b314131f9930d2e2c1b170c8bed57fc27b1412377cceed235d76746a90b2d8ca8d8be892692d2e745a9b49a8df675b46b87588ee4e9b9b12da75c9e6076652526ee9c8013b9cf9b81c1e37d3c03d47ec1cd15e795e6b71cb812671a3d4ad4ccbc85d478506b052ed70c2e598c1001ef7b56144eeb8bbf30f77c2b06842874759918ed41a46eb65fc6e49835a1b4cbe4e8d8dbc10557b88c41321afa6f4e63b5ea329bc2a86b3fcfd42506a6fd8737bd72b90c62a07021097ffc7df34a4a899594e3f73d9b526c5740521e4ca10fb5ba16514701efa01168735352aa25f3baf77592961447180fa7db145b664f0690e77766cfc21e982e4a56fb2b498db9f8f742af40e21b2f1d915c8ed31f13371e7e4544c5f9fe16682dabf5a40085f7fe97a55efceeb43a2f96b29a78605ee31aa5d4c1d3bca693651f430a9fe79d81aa32c2e2af31f641eb4bbb480e44e51488a9eb2971984f8733f89d6e5461753e6aaef0c454068ee9c368e327a7733e258e73e063ac23706f4cacb6325d9419d14cc4fda69838c6db5ccdffeaabcffa263ef9f4add4dd0bf51f4522a9f7a015af41d8aea4363a1409868da614d11c4f19a80f20e19c79ea7819c7f2edb1a0117dcb77531d72d0bfcb8f76668800db9cecfa745e9d9c8c64efa551c54c0f15ad3c1c26f50a365772a65fcf581cfbf711f5853a0f0f5e98b980beb86668a5c3f2dc1a2f998e21f9dd17d90112debc93399d6c5a6947fa27e6595f00c0f849a65091b0c19f6e403de52681aa431898579c827c43a529e8b16ad0dd0de96c7c072744b24d756edff3bb8eb92fa3e16d189e5bcfdb4a31c79984e903130382be6bb9b9390ca058554baffd890be24dbdac5832e55847c896a1816e91d28a034c079e0772bc16369784fad910e45ef499f2c0b1c09c747f232da8dc9c01abbef5752221a169bddd07c13db2ed07e36fd9a099c4dd0112580fbcdc439819f8840ed2565945f14ac931a7727555c0fc48189e490ff8254772a4420512313d3cae94017ea91d3954f56ef5b8b83fc9b4a725dfad27ef19a4c6606f9069d549dfea5ae1dc291cc534d779276913a6f1a9898172a8fff140d767203a22dea63f544ff53238bfa1679b23f3921204e76c4e045d0a36f99177ba8d4b2c09315647135b6ecbf9f2020b36df4390b5eb4676266231107328a177bb700a027c6f6cc7d033399c3362282cc1b5031668e36714c5a204fc53c77df77932e2813c537206a76d518c1223a0d8306f3b59f48e6ac5551676ad68f62ab6cbd7e171c1e14a9303cb3a5ef1f5b8236185a5b0a38ef70beac4f96d0b4564d251b3c06abb5fbea28e11cdcc4519c550f136a03975040ceb4dc63a64e6e7f4ea0ee6eb2ea76c262cda2b38615e40509cad05c67fa0e25fb3c5539c9724455e3da9638afa13a38e4fe14a3f2583adf3d7f81b6d8cb161cb569a6ebe5073f1639eb896c101c2b09f92520fee9df62450ea61b9648785d3c4d6c32ea80a8756e8c5dd770d9c003ebcebd4d14ac73e71292161ebc91dff50a10c306dab5af2c0df731654f0c1cca270692dd6d155a14418d40421d4dc46467a30c73b3371b7fce8dc9b306bc15e8b2189a46a61c0018ab58860f1778af72d992e1f6fe99e88d408a4e7e2f8e4b2cfcd8d094b5e6a276b9b10356eb778b1cb598ce28795dfdb2da6d6e9fa664d10061258dc88ead825b3cf1ae9458b6cd6846628f8dd2d3795d5868bd2edde8cd24fab0b80f56845527a734c231d3f568f4b38823075886b0ca58fa57dbee1228f7a6c472390dcebfc027e2b8efd79155c244a2ce4d30dc87545b7b0f628ddfeff00aeaf2901925bbbcbd34eae7fba4677bf54af2e0de65020aa063e33c7135cdc855f473c8cdba62f9fcd2071bacab8a0a680e42c15f5799edc84f033f693e52e64f9a57d2912a0ab04e247a8a43750a8464aacd539bc461b1c010bf500e9a9dafbf76e94e6c8ba8929c280582d53e9cefca823c7cd724c70db1ee37d72831578479a8a69492daa18e52eb4cecf6ba5f614","path":"m/12381/238/4/0","uuid":"4c6e5457-d370-4e12-9789-12e915aa2f9c","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json b/scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json deleted file mode 100644 index f88215a5..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_50_0-1763367163.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f57389e2c4123940aa1fc26b6a50476c22d125b1b84815f260fcbe99a940770e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"bfd6681f22a38d3ad7180f7f"},"message":"a67b5e8973794ec1222140fc1b78821f9889bd4ac24b699e6ec0610a514b58455ac4db5f259352c53faa894a15c611bb3abe0f117cc4ef2f3a9ec73f94270cef"}},"description":"","pubkey":"0xa9f86c07457adf958b9f3ea7c192efb095fa93ca8e98044a74dab066fd0a41e2a8ea0f69fd54a635284299ebc75bfc5153e1cde6acdb555aa5457d4c3d37d0fb7a84e9f8bff02148fba1aec2ab1f6db14714d275eeb7dbd9b707c438860b18d074204b6c86b45125bccd3e288edcfcfc652554d49ca50c32872e84904e82821de29ffb45a8f87854e90c37a259f6a99e19dda01c86b910366dc86c523c87a14d3a206c617d3e140c922a901b9b667eedda4357c9043cbb47d5633477c146ca2c144a0eeaa921f20b8279369b43ad7d0298b230d39f5746c737783250e23af7a0037bd2d5e17bfff8ef89d4802323aefc98bd5c19717c0535775332587688df76b66c149f7ea09031bffe5fc287deeffee3f6e695917c2e3ab678d1887b7547be909ce4a85a29bdfd0837eeb995492866f57b1cac3f77432cb405cd7a5eaff3e1c134db83d78e7e6290279a15b69e3a8402cbb5363ac796711539b78e30808d210c8215e17296244966ec525e78bdd6234bb3de885f25ed9a4ca7c57a992907784ff41e62481e4b1908b289bb4f6fdafb8505ef8506eaba7ec8de326336442317ed5d900a19839fed9e87e13b73050056d9a9f20c19d7576b1ae4f9c50450e351d6b97f65e6c6d15112b1fc70b2a8e7fd4f6a01fe29c9ba2fdc710ad4689c37861b2c80ae0dfbded3d2a96410927b4b236ac0368c33393a39a8a11345ecc293a0d024b2c8b3551a440e01bd5e015e36d168f04d51d01571b3c88659fa6b537d6d9eedec02dadf51e0caaa9c3acf4a69057a21778d28ac82466e3812c0438af5f0550b35b253dd04f0dbc30462f4783a2ac76b78b965c6c27df18ee28377fdf97302c43cc79bd255b511074de954da60cc5c4e4fab538ce4cd1a617de01d83281790a87b8ff99859e893232a05238d19178de936f7c89ab71d59adee6288ee6230eb95cf3bdc370066b9bc352856ffd4f4a9895b0e4233973d25c46fba6da68168e39dd88c17994b6922583c722bcce89d48f8deb65b155c6f68f4405216fb4e39e8d36090b40eb26345c28976570f31477ebfc18191733fea400942e7a5bc415aae92535c882b46e14b8fbaae160b930344227626b12acfcf0c4372be597a55e5e7321e320b9434d8743d20d06561213a79da0233b1dbb023ab92234488b830d9ce9e28a05ae0bebab87c54c5727d930b46a107f45233175dab56be657403aecac4d16e48b8262fd703fc6e1b90569d476be062be461052735b1267d91d59565310df595c3eae69f64987af6e1feb409ee6c4a55cd523e6524104da421c1ff1fd8a69b4dcfd8d65676af84b671aa35a31ffb00117fcae59f9154fb9f32cd729376cbdc90b9b3ffad6252ede0c3b176f6655665fa3fbbfd432cbb9181466d05daad382bc144d46ed15d8f3c88d4b3df6ac0b3f8f682f667906ca8c5dd9320a3abaa462ab23cfea13f9d82f170df13814a11f13188b20c5ece7d5fa47fd04723fb98ee75bc0d771f264a4c8a4d71e8f49f8eda0c2c353ed4ad7ffef011845a6eb1cec502bf1b46f152553a1415eb38bf04b38ff7437197d26d9026e5d96ac141fd51b9fe5065d2980c35aee4db621cf622a8c97716bd2228821572c073156e9af71247a8c39fe00a1a6780e821115dc6b2aff1c38d9de8e9ac7dd478833916ee08f0ef86a2930c0bf26c53b6e13d9148e4ba124c5c80d47c1ff6761b47a4eeff26e63207bc6972d54ad4d58e1da5acbf5f0bfa48ee71d06ccf4a98b486fb4d7a22a1a7cf742c67305ebd5bb174e355507920de17044240722fed83f0258a100a55e0b34baf4770c1540eb4028a10231f3f131df36d04ec5d6c0e4b7f3730c6325f42006ea7c6e6f4c9b0ace09be37bd0e3e30740894a2a7969b0d3a0464f84204e0214e736b62392fee865bc5070a4631219be91e08b5ded7e5726dcb196cb52ee2ead6a8f3f2646380212875f08713a77b1f18d09650714c5c4337d115e372adc663a5484f3f56f1539b511aee65141dd5efcf8717a1417d28d370b02b04c81190c81d5caffed53061b40adf2f36467e00f99959d0172d7772745d459b96e90d8baebcb5ca4fd0ce00a83b04d2fb5e21e60a27948a5bd49523bacb5193c08aeedddffeb3ad5388c5f9ffd38bb3eed705ac280a4196c33c8369f5c29c34396ba843e723aae517cd7f63b735f1c4aa59672ab098aa3bc594f483af6dbe7a2bd95734e8e2386566c714ad106b02b6d02af92413a94c409759f09ab7330ca605163282d98a02491525bcdac04331ff759541719899fad0d581b4b3d5161b854fd7e9b850e8dfdf2a87b10b636151a66a8983e3284dd767603296db20ddf162e5fd3c926190ee095472043b2ff5e0338b23be435bcbbd7f099bd9130d657b0385161f9faf720b028d4713849d9647e85d110af11e62273a8a6e89ae865eb6cb9d440b453a2b4f7b022ed86b41a0f0e58c7c86290af21dfef3aa19e02834bade8b76d25a37de8b7ca271d522fd86adb4a6bccbce5b0db49c7d5a5d12008737b82ae7ab3f2853c3911713d7785554a7cad794a8f674c2e11b2beb90eb2d25cafeae71f41ff2074c5b03bd3e398a410c6e4a7c1332aa7e3b03533813d32b9412ca9aa8e6ca99ff79c7c8782e1f7786b7d827f1ccd7036d401b1ede248ac9f3fe67e42da04056847b52080cac773f6c0c7f1f6dcaf9d064646e0a0ce47538c83e1bfd688794484641caadbd0e2b3a9ad6a14b2d74faca19c2b83194fcb0a0fe11019b51057f21a4da62e154b84fb45137ee88eea83108766d342244309579844da9d5e62bbe567218219b8b20f91d7b8c3473047aa6c67dbcaca816ff008b5db111a771e69ab8f1ed10ef22602dd1230637b0cdc577af164a3438c52cef725a5e335fe1346bd8fc59473b2bbdbea85472b758ec1c0c1d7c9f1f0bb6f07ecc1d68071f745e88f0c32a7ad87d394dfa2c83f0863e3ddfc45a09658c5125fb3c36bb702d95f94e4d90fac99b2dae4ca2d8b093fbcbf73f995df7f813ad3349d267d7d1828c37ad001637fe86d399f3427d2962d166c33593497559fa267615ad562f38f231445ad0790a9aecb923be3d866444dbce676f0be02d91f0065f424331f140c3ac61fafa31f544cc6a7e841c48d2c7b26e896c26613340125fb42ba78a8883db9fe821225c21087732ad8b413bd0f5fc14bd704fea2983b9197706586560b23379d3b18544025ddeb1a4d4b878724d0526dd407bb2fa7a2a7d337c7dfbd4517069b53e7c2803d7fdd25e9aa92b3524a7457b4bec4990eea1a9aaf216e70b9c43351755cf28f38371fb0e8848518f3f407730970e2a2cd82648d03c8c172c499f4b4eac98e518b76fb165f94b25866a9ae792df8ee02bbdb5b6df4ad17db20b7a3176f9442f11300c9c349f528ba092e1233b8e3f04f20fdf9ecb7465f0518125dae33576fdf733741dad08f5a8c82cc64e4d75ce078ffeebd71c79ef424a69f2d6f55f6aa72dd0871e052a1b641df48a12482c32dd3bb4f29e3b1493250b855b11dc7f11cc0161616a33126f12d1688cc7d8b393c398ff71cfb43cde75a2cfa31368e859a7e3f9bbe4831d8c4e52cfca6e3a9f5bcc74bca97b25ac42ebfc6896337c68483efd41801b9de98b817277513bf43b530b8d28894084e40582cb5009fdac75","path":"m/12381/238/50/0","uuid":"ada1283c-cedf-4094-9a40-92dab373db1b","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json b/scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json deleted file mode 100644 index 2c3dfa52..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_51_0-1763367165.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"8434f857defc66750bcc943d071b21312075931d0b0cdc84c726a99e25b01b7d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7b8711154e01d08a1b3fec06"},"message":"c6274cb29280cf3dbf0dc06f160fd22949a197324efffa0e05a546d4494825d767958aac6c2ef18d637fd92ea3ec375b8d8b4a7bac96a6b9322cf23eeab77697"}},"description":"","pubkey":"0xd343841b1e31d620107f45611c9101755e66a299518cce483335ef5be34f994b869b903e1802583e1d8d979359ecbc29298c223ebefd08e08dfb41daed1e704dcf01420c6901f76988793b40fea4273e9f535c8b34eddf2311b9a9934b1915c90ab3b7879b35c1542ae13c27c09422d77a9028d77cd6e8647500833841c29730651092aeba99dd73d8b7445844ccb3b6662d49586c1e33aa2eaf206556f0acfa22d5bf33f38c31882ae0bf5230042649f2a94f627318dfbb0fba0a191563c43ee0726ba0fde980f8ec9bcad58436776cf7d07698b892918eb861c6447aaf95bc2ecd56c8927690362a7ded4c448dd83aecb9d030b8193c8680a75ac167d0c1575311d07a69460595ed94f2409e4340c3d56fd198e2de9597028c2e3ef8fb708294786158ea554fdd81d49ec09363fc80937787758dc83d368dd60cc3e59d36c14fb3be4e0d4647574711a7a4fa22cad8ad9e71497c61e221b82f4d84866a7edac4e96f6ad73ba4823d6d1a4117b44b87304c769b63bc6a5b3fe496993f1b71ea357fd71de609ddf43c451cab473543fb21133c229774d4001b6bb434e18e1271be8c847d8895454efbf77d4d9ef1793ef03eac547315a2528018959e1901030938a994a12170483b0f68753bfc1fc65c39477debc0f43df90ebf4227371424a222c8d74938b36a2262378e432af4832c0ff31608a313c83731b482dab31e6db342ff3d9c230ce4a4e7835401575a79a4d97efb45407ebde937c7f0c750d2183d94f3e81fe52fdbb95536f3bdfccb6f573f8c2eb435a46bfacf22e7bce0f0142b4c6760fb00b9fc442bf65e4a09983c3725fd33085e64e0a53a3fa4fbde6263c71449c9ede670e36f1d905e4bdee40deb654484523f54a5162d60725cb98565dbe6b2266c57896a22e2a1143b87558f93d14c63e95f885fdf9adab565ce66ff4e435ef79b55255a549e9b5ca056a957044722a8f1d99a7ae70f2843799dfaf68701638f01a7020d9a9b041c3ecf44b5bace17b391a186ce9a3548f22d50192f784d8b6cbd259fb31332972117fb7377cbc49b3feea478b22080631b9009e40e7596d9c7acea84d41e35dc22b4c892ac1cdeea31e51faa27c7f3211752e1ee2d8c3fd615f1f38489a130362eb256ed70f585e8edec22fe25ab93db725056a33ce8fee07d5a18e5cc6c384695a006b84ee8f5e9ef45623a0ac97a879bdf5acf8bc3459bbc4e50b864f9a0ecdca74201afd5fd09dfef985930bfc1526f3bcd4f5c19a5626928db560aa446d304e27ba4793bac5ce7f787c91a961a4f00f65a5ec8186825ffae1454fb93a8e61d8d4f4411fa183ed43fdf55fce878f5aa2c49215dd0aa46bba6209d6070e82815efc992636241c3ad190261356aa2e3146695028736f2e8a9376820752d3d2d39feadb9d52aec06ecb15d7fc04bb5a63d45dc5ea65e98ce9447356a55adc777ea10569ad1b3a6a99a7761b0de42704e792e25d97ee1568660b687dfb5551ec513930889426a23f25a5af73257ea75432ebee43d701c9d20b7bf3519e986a8d36288e84105c34203f2a9355f274dd27ea3b4bbbc396374c67b7e8980cadabec5da0c3b4827c70c8cc04708e39251d0306610667fa77184beaeb5987bce3866d21a0d7f09c2a6b917cefcb750b5ba592d8a53c9695d26abe1c6cbbb8a8b87e431d835baec6d304bcdff6ad4009092dd7be918575720fb9e6ae83fb6936e96dd6c1cd3f86f501f6e6d5bb6e9d7d7c7f402547b05dfa5768947d7cb54a0a84ae484d445a5e39299374cb976f126acbe5574d6d2e408e97dd6212c9af1e000870fd71d3ca2437338d9f2ccb638f692c5152f3abf49489952aa96783c8cf26b0d26c0b6afd11c3625598f0b4faf0cf99c5060220c399e648c9402783679080a76923806a37b3a16bd8690b3d5ca862a2dcf5add31412658d45333da69522faa70c2022986caafd59c2690eb7857321717a6f9b7aad634030eb93d74cc7950ddd11e0288f9fdc15c8c99d124ce968fbc6860770362a6d824c5ee36cc56fdf1c1779600fecce58f60dfccc1ea4d3bbcd80cbedd42f06ab39a06ec655f476c3de21dcc16dc57d4d6dc624b2effd9ce2ba2a19f7cf4cb53560da9460acf38a01c36f11c70678a6cef3c71f266b7b8f0c42ecf2fdfbb4a099d2192f5d18d583cb170108c4a291388edbb6fa45c5e31ec187e7507fa39ac0c176767036c6fa0fd5b72c28e2431cd42594095758e40f84113730d505846450fc96a5626fbaf09e14a345d829a394ae2f6907caffbeab343a337575193aa56b140dceaa1fff2725b033d16eb1b0468da1d03b7f5289304618c28d97233bc0d94d65e69ffae69c500bdeb3ba7460296827c299aa87f4e5a9afeee63c9a4827ea4461ee6028850a434213d04c0bb997bb56718ffc3a39ba76764b3eb0b25cfae63af1cad47e94ec2330556f32896e0f969df80d411d36785c7727739a58478a736f3e4a257ac1c4083b02e1ce66db038955aae1ed11cdedc119dba05c7ebafd9cc935e42ed2184207c1540c4141e1f2f3c70c0806c83618d8cc1340fe2eced0b3e711ab78af8d62b6cca64f0893129b1fd950de93729812cf4a65c311c7cc5045c056b9c7d64fe88ad4180d7e3157fa665e498b495455460ffbae7935527bb0f6ed8aec90c5b1d99cfaff954335fb31d80709382eaae1464275d69221ac36bad72823396702296bd1ac3baec397ae12922851d30ee3c793dd8ad08cedcab5ab07a1baa499366e21291907a80806f9301862e46a0ca93073ba0277dc61693264fb7039a84999aaf983f08b7ebdbf2a818ef8461ec3dd61f72801a96e946c9e96f0a27808d0ca07e26b1cbe025f6a095a5a4436be50a1a9f4155675f9f3954507f90517bfd41c400f0f326811f34b2881fd913cacb2cbefffe7ed1ab16a0d04af1320c56b919aa01a799266a53c075a27f7060890bdd32af2f7894a003370193bfcd8856d2a5545d8b4199f9ccc55095e049ea845ea68dd476b6f11567a5912d23c21583560e0a4558f8a6f21765cee8adcaec54a7b420eeffc248e434328df43a12c22d7d9bb1546487f647b577773e4f727e4a1fba52af566b90123fbf9c4db3410ab077ede61327d01a22712cee9cf931bdf578f157968b25b38d2e9a9ce40944decca470f20b11332b240493f186fd249967eae0a69352bcf238bb675e19c7b7bcd429f79b1edfd76002f983671213acb349a4f74bcfc52888f25be2dae8ba40ebab73f3a28647bd104ff57fecb76a44f9ad110eae231e647b1dbc47857bf5195bde0d43f54bf1ccee43a5fa85ee221adb4760c36f47d34ea0ace79702b9144fd075743146cb8293a64ef3d3c3266076d47344e5db8f702174b6949771c444c88dfa8daf4c9ffd584d4093ecd4e2417aa42117f2f7acccdb6699292df32136f3131a4c072027c0fd8d7488f1a3c9f403160c15bcff5c5da9b3c939b6e75db981e30ddb2be165794dea182590bd8d6366abf5bfe2989e69a10f310a745027bd3180a9a8cdc1bdfe09e552141d55fecf6942fe7fd99f9b38fed3191b5501c78e8e5c9e1c195071c1e8cebf3595a906867081b245277a319c732e872d01db21d43dffc2558d522be10fb968cfc608a60090ec5dfc28b27ac43be1298652aef62437113e5c","path":"m/12381/238/51/0","uuid":"a9ae50a6-a2b0-4b28-8691-c9caa99c7f88","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json b/scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json deleted file mode 100644 index 95c87376..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_52_0-1763367166.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5165738e3f2f8908bbb641fe244cbe1f65d46bf2fb3013965dd1327b3892f25b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"856b7a34c0da7bc5c04bc875"},"message":"fb20ab153bedb2831dcfb74555e455135c89670d2bf9086e39da1e73e8543eb0d99c59819868cb60f072e90878a48e36ffcff726cd29b0f56d3c2339ead05580"}},"description":"","pubkey":"0x0c4f0303491d7cbfce86b3d3c2d09386544af5f2ba884b9784bccf512a93039d73064e8d2c33d8a351c7002a6264a1036a1a93c8e6623c21d67d5bc092bec5e24d3139e0f4193fea85939fd51ee387f133463a4e7d9124d99de719a9a5ae7dff223cc57467ebfe387f3f70f27fe81e88bdc144f3a330fb4a9dd4691e4b83b9dbfcf467d85541b88a74fce12fbe0ba0cb24944f59b38267a70cf1288b52a42ceab0adf61a2e5764058e1cc2ad2e8f605e67e98b429625490730e38df094f9192d7834d685ea39c2681a57ba2a093a9f9cdd00f8d7a6cc163e3394bfbe90f63127a581b33e8cd8d79b9c9c991e6dfa0c1c99c70b0caf14cf58b083d1c1c04f805c6a76667cfc232f8746e2c2a7e96db7a2a4ace6267b4af96165e86b5a27a34ad49d19ffe1e6c7fd833742e8966e2234862034e1819dfa1584341223a084fcb0b9847f1d12c9071ff0395e227667787e1baae240682e14ee1c13a20eb9099ec8f730bf6ca6356ddd149d000d5156d938c7a75353eec3f03135da94ba0d7c6c6962ca53d711417be26c70ea135a5a1b926fe13dd386d3ecce0a284dc259787bcd23ca34c7eda3eb51886ac5d22ba13937c3c98e9911d39a95dd38d49b5ea48b0faf6dbf68bc0de95c0cb2d95fd9c740eb10d3596fc4a818a0f045b8cbcadf58b0b19ee801d32d1c015f3cd11df7924106f09b190cd9730edf72212c0bb1ffa3fb12994a430db2c5f1c93467186715dc4a35d2ae715bd5c7e354b5a1a5e5d41ff339404e78ce5cca3f84869e0bd866ae273852f5c0f631f6dd250fd1230f8bdea98de3422bee9c14f198cf8db3466aea6d3ea2f7c3810e8071b8a0f0da05e43f7ead13848d1ba77292595b5167d83c98e8d0a2db2368495a85de2eb7e2e6e8fbdaafb123ec787e68bb9fd7d9b5cce5f64bfb1485eb6e3ca2a42849092c7dcad2ce7ca24a18c897e59c3833bd09a6fdce5d1cb8d892161da4c911cdd46bc789927fe82f01f5557540e9bff532634ca1b30ded04083c1fb7326cd2a999f5071f63de3a79f5dded6134bae5e02c50155e749e27517b98082cd86b55e5adb86a32fcae56c5ffa64c593f8d2e5a5ddfd24287cba436557d3c428b429fdcf4dd9092091523f909ed9de231b88c14818850fe776ee0906a1e3e2fb32f41a78a75000c02ae4849eeb772e145d7b8af6fb81f3f4302b091f893b495a39188ee5096306c55e7642cd335c31cc533a02c9e5671020ca0cc790279c6400869b3a954431e186863f646d85ff024fa17b6d9915314f74151ecbe8ac909203864578328a6da772484f28ab929420e0bb54f542eb78e42e532d722e5457b11e3787d8fede90c330faaa735066f29c75f66f85f93c5e0e22d129b58825d89fe79fd6a05cd58f7b167cf87512013586d1a655a3958b6f966f465edbf26fc067b5b19ef37aa3409fb8f26103bdff7fa0dfe69942f71a46ae32dd1573baf21aececb8aae2198273af71fd2c0bfde6ecaf311a158d6d223596657c5d825c990969c43f46b7cb18db64e90a698b477ba033b41a6e00e2574c90319634e0d367beb6b66d699f3b943129300547f9ff7c30b03ca5d3bd7dc39698aad2ced847446ba5f364ed05ad929317080a593f7d02ba6601e3ec0010b4d031132b1d451ad8f8ebd15ad49f7e2f404596da0b7ad139bc8e94593ba57eddc3233f60f1b8bd0d92ac5695735b2a0fccdd84d31ded2779c7de704beef03da10b52464839b5d4093512ba6c356d0751744e9023543dfa6b951be2b21b4a1606aa468b354f53a55fe6c889a027c2fc9868cdef72f6d14a76908cba36f778480f30792f8ac7a91c12636dfbebd8c57e9c210623c3c8857b978e4910592d096b9c5a188070fbac6da4c58adf648bf950fdebc0124cbb747f9b44d9fb3ac8ebe2b1657bd5dd693024f2bb547605bf1449537c0d06433bb596ba14f30b0293c720b1e05ebe9ac0bf08add721e4aadcb7edfb689ea0b52fcee0760acea28c4179febe1180032f44a7861aab10945e41546e1b54411723b6ba06309dd353aefdf7995a97361c2314e8c569f0f821c47dc1f228738ca98cb2c3266b66532266b08768ce3ce872a5dd9d64067dbf834843cf87ac4e1a6ddaf0d3ec32b2dc19e6286fe276afa9ca9ac919326bfc210c7de7569cfe05fa5aff669c567892498266d86cf53c37d4ffa512fc017d3ef3e4e0d6c8dcc4f5c37d1f93283f71e3db66011b51ef79a9bec6d68edf0e7c092d32a49c14b4e30049308a7d536f3e2ea88d4cc9fb61e6660d09aa77fbae6887612a3dc50c0f4346b51e60d90b2baf003c55edf196785e56fd138e104516e71ed69f013037348d32bcd203c2be081aa389c30f02f6fa05a0752fe85967be3ae4d2af9be62040bb59ec13298b4064983a6791813831a8126fe91fa040adbfbc5bf2f7b10e570b1e4074f882dc9c10cf648778baae1c8c9369d75f176b10b6595936c573710a7f2b762884cff423ff45dabbd67bf22625e126844be71d80c53ccfdfc55bdf1fe13f21913f97d029fe86599cb0c48b0d0432677fb6ebe6341867c16acb5259f90cd12981016eaeb7ea2930c872fde9cdda75d3b3647359be058d6b995f1a60948fd79fdf690c918782d90496a6239a92929a7607834de2ffea9183ba61db4c45513bcec5bdba09be6b5ac24076c6d03d4d382ef0c5c9f8d7f27dc01517ca39c58696747d2ba3f45c7939d20d93359322665d5f0e9cdedbfe970d9d8dcf0f270ac38cc71c5ea323240df4de85e6a571236e932769eb3306a18dae2d956ac4d9f24e9897787a1860a2c79f541973f0802b67f49ae34fb2ea09e3f9526e6ae8535356503e20d61627edfaebe7b0d0f3327c7cd407d6b257a512c31c1811d2006acf5ddc6fa7b8874e069da5af529b95315f96c73324482a4ba20f0df4392efabd2b8734b2f173d71e9710a76ebb17bc07eec2bafbf5f5a66261f7c82e0265d4606dd58dd8b1de2095212522a52670e734aa67b236c18e518840c5585380836c491e62cc4f442b9fb781ba1ae1b33168610970d4ce4cd4a886e8a683befea71533e5dcc63d7bb4435870c65d4b3ad289ac1c0aa99c35fcf57f7f02a634044a36011a2f1aa51df9cb7036c3714c6f61ac249df24eff26b7fefceb22497200bb345413f8078c5375ce7cafa9133d3e4fbd29851815652afe45ccd33efa2a20b10ce4963ad6346f6d4c4c9de639b3dc0b536bea284544e7f53347686714f6db6430866115f0879732eb61c38339670b328779124d38a8e60cd18ccd7992cf19b9886d9f1cd997f1234a333b16d433af6f1bf31758303ad81cb63539c804868117fa3ff68090c5a7ef6d893b9b575dc81c04526a2a0ce0a79dd343aa1a75646951f4787b3a9b4390b072c749ed769a80977d7f3c9805d79221c49d9207330e42a3f0d94086aab17c2f42a1028190b9fd96db338deca8384d4bee8299d42310eab676f23377c946be222aaa961d9cff755618d54621219f749653b524d380c676f2f09e04c1cae7bf226d0889423006882b4e7bee3d6f24c8343f7df766f8c4d5a2d70f4ad51d3289bf57bdfe52245035fb603ff6b10b824c017b95e7c1ff6919c3255236aec59899b5948aadcc05a93510b095c5c93517afa2da1633bd4f67f1a375555e1fd53756f898024","path":"m/12381/238/52/0","uuid":"d0ea7121-83f4-49bc-bd26-21d02f87899e","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json b/scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json deleted file mode 100644 index 2b5cb766..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_53_0-1763367168.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"ff92293f290c3648837b799de5a9e6f1cac88a66004c6c2bfe8732d0ec6fefda","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"55fd8ecd1af0d14f05d5c94c"},"message":"002cea794fb73bded19f30763034054c0e4e9dbcdfb3973aa016140dd383e32eaea146e0712e36dbce53ae837ccdf67d966ceb4c5eed4639e864a9f8d3644a0e"}},"description":"","pubkey":"0x433f4a5a47074f047c4ef4f2c568458f347a58fe6c42ddf12d845d622032323b82e177156589ead1d3e31dd98920b45c027eff0fc6f735cd4a5defc6d96ae43dc7b9bc7a862fec5dc10e64be8810a1f45e6cd95ce395c8880aed816da0027dfa570c62b10ba588120089df8c6d97073b9d1e84b7bd21bae2f01c9b92657e3f458b50900998ae965a93ecd09e838e313187672f8fd68c3fa5a1eedbe3a7eaa50c6bdb8d8f735d47a0df83f43b0453dca3b4f1f34db53ed289f652c99179d5bee87acdc8b73b1050a1aae6fbac17ec6a8ddfa23b1acf70224aeba42be3cbc850088486719614c26092c4a73d810a58ca418a1525dc2c95e515bdc53729fbf937fe31700d0bb52674768f8fd14a68d434a8230c52c7dca31a5cf3c054d938098f6f9b75cba750f50f153817b736276491ccc6db4d99d7bd4572ee2f93c872d9749673c8d049b5292dc6a1c80cb03891a25f17590f1de59c3f316bbc6ce77fabcd991f8b3417c1e29b31651f6d57c0313f4b92768a290c5df09220a192c55861b3f30790e9d3f5b5a4aaeefb4ab0e9058b8a0d62eb6d5850885e3215c8a0806446b5fc621849ce5ebf426d3c12306b309093111b6377d1458a1fe30ac6fe6ff83aea10f8505edaf671f811d8fe9b1e51c5ae456acd583e2b69855b6ccec57140844740da01890f14e279872b6062d1990662761c7552704aefcbebc153da1ac7ebb69d1887e6ac8c6e1ab4201827194237ceaf609421dfdbea70b9ec7b81942c0a467841831380749c47d02a9cd00105652a22a9978d94753d84d165df1d82c79553a9a23d16d65dd7bfae5be698da9bd474cc7ca21f7f59f601d1f18569238451f72cfa0e9f3450fe737e5e4d6332b9aca1ac4f24741585dab9ad93253f14223d0f3cdd7fd143c1355060b3108329026bc73b78ec340bc2504bc20cbf4e44c97882958fd5fbac66a6d9281be65de7176e69a7c2eeb4abf084e6cc886c7c927015eb015a9224d018d376a4d6abd540028454484533cb30868bbc4a3bbb0d42e9f6d7cdd52bf50529bae992fabaaf09e06cf5499e78ec7c57084225d6f5883caf5783a7f85238969e67b99344b4268f28c64f61d447687dc1900f1fc2d56af0b228f1ea69f353a18c693438b8dfcf234ec2a6e24318b76b3e372bcab1ca593eb430a52a7b82bafa37605576b17ce2453dd399c6c649f99c4739e072e43f4a5f334b719e1add049520609bb22595e560177fad814c58c7688dfa0104fe8bc6f5eb52526778d06d3ce307a09843d595a6da736ff781c17377091d095c6d4503931c32122c8a026c02f3f89ae29e3bbef61e91210066b2cd23eb169170eb822910ffc24a2145bcb8ba9a721a74e7110ad52f75180139192b086b644f9e555b34ee65d8d010807cc860a612e70a4add8025394929e9ac88361aa6f598aba16ffbc45d72ea62c2a0ce7d64921a6e7000cf6c6b95b21ab8f860f8c0913d3c2a0c5b8dd76701be566794b61e3b3a9e7d08bb51a21825a0dce2fcdbe84ffa7dc3cf08ee20e02fdf5de87d77beff3051af0b4a202032cf23cd4c8282a9d9a1a08673992927d5e6be8eaf3e01f3f92f94bb5358d54753a6c657654a5f9ae689e5e2bc23d5dace682e849ca88c829789a0ff140c0e3b1b4a98d437ff21cdeb1530377a6e83dde41bf68b6165e0b9a9c216b088cccf6cd3c82a926418ef5e198dcccc268214a55918ee9ac8b74a6600dcbb643d126622316ce7c3b24d43d78e00ebfd4a3ead365086a0d441281b039f981b73ba2187933bd8f0c7bb05c5a1143bff04c700bbdb21221c637071d20f0479372e0b01e41a53c522f11902724a9ea4a4e133bf0f63f141ed4da1628be35d225e0766c37603abda02e73beedb1f3cdd604ab0792e205cb41c5e7bc2df43b633aae6ea898e3f4496b45f9dbbe89c47ee312f7168d5c44abb8d535111ef8f57352e3b3123445c7457ec5df323bae8c0029f10c7dfb56b8ef68a42f7baa8287946a4f4b73bc5303ffa308b86f3b5728ce6a7c8204bc5a7ad3210039223d7204c0e890b60df873ae03858a2d326199c6cea7f62b84aeff84ec18a0da6ba1d9b203020f6a479583bbd3dccfe950b6c6ed22c45349dcbaba5ae8886c788351d4fcb7153ca2e1f53b0eedfe874502636bc40fc8ef58b7560b6532a881b4947d4bf041d3dd99ae44331423efd27e2df51513fa9d5184594beb1aaa9feb1ffb860d9e24f1cce90b9d57da556c6196e99d7979bd8621ea1bc1d9b297604e352544ed306390ae755e3d1457431a31c014c49aad5a39ce39e80cc2b8938f73b0f28325daf820630897b2f85e1729ba0cad9dcc9ca424ae1a020e52666ca35474d5577201361492f65bcc326222a13f047340deb688b7cf1a6ddb2d37d66e1cbb9cd5bb16cdbcef2297ca3be809cb05e5d7ef5600d6066f41adb6c8714c7717e3cf72f0beb8e1d059fcd800dd944cf0bc50d5366ac9dd5bff0b8c1cd94351f8c767682f877f4d4a87dd8445a1132ef16699e8188cfbc5b1ac2266679bfc9bf1ce53e2e19b89b5594bb6e38b9940d79c79f37150e1cc22391129e95150d24478ff624f9f858b73d789d501f972d05ee35f808d66e4b754fe5d7ab5b628d650bf2f780df251c96c0bc6c8f7ac5fad845cb2f2a8373278d29ef5d275da0e92ab8673fd902b92f68e38fadba673c1a978743440c68e3d204d1e1ef5b9988494ea3ece451adc977919e9e7b03d778882d74e426002fc627cb47ed1ef476603ff21d3d5c15dd767b0ddb0ba3b4b038705d68b38b18a4ea2d275f190d713dc55b92a67cc285b6cac1a9232c060a12dd84d5abeb51dcaa37f7e8fef2a4e78de4cea32c23173ba44d115ae1bb9346f6dc735edd78f595b7e26e7176ffef86a836178381e0cbc7754163754034bcca57b317dc9f6c1688a245ca07b10198f7312272bdf1922546ce411b6057c20cfeeecafb8bb2ed2d7ace2f603f8c0ef8112fe7a86ca03367a23be92bb88ddbffeb275e3a057b76faa383ebd8b5c86de4a213a1c7bf4aade5d9758d9d5b3d6e3f0358415b55e05995932fb3fda44f441e381a89c7f2dc699134a5b2095254318f9fbff291bd831af8ef6efe7afeeb32b2e0aefb66086b4a39dd26de8018e9ca8622469d5cf20e6910a65e9b8bb2fd5c193e8b880fbcffc0aacc511c2a07dfcea008dc2f7db22475850d747d7571889b24e5029aacac5d84ed7d50cbfd4b3352385adf5d04db55fd40722779f57b77196ae453a611329257cfeb985b7672b6194f8a6f8288a489c661a8bff54c300802204b9a982110e2d12971d969ec8e66ecb9eb242506c3d4bd8c7591cc5df4f0e7ea3762c150bab4e5025b4c8a8f353610cc5972c2fe9a7fe7f4cd8a5d14f817f9590a767f8a85daf20d67901c033471532c2ba64a1455c69425ee004c8ec613320c10a2c4a5fae570529bbdbd55991c423075ddf34e8186da0e3ccb1d2991ecf2056a32db0892429603cb1d925774e7d1c6965941260ac1a9eeb1792e467b649ceb3f26a20d7c7354be42924f0ba1f8e1ba39da38114385aab0eb0f3695dad50ef7672b3182222613fadda28c3e7707a8eb6861bb865cecf08b7962f67a3f7c15737995c014cdbc94cf9721d34a51c3046ae3db6a9d573c500b7e39c7b8db8787aaabe5fe7295","path":"m/12381/238/53/0","uuid":"65325c56-7502-4c15-a1e3-2be2021a2b7d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json b/scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json deleted file mode 100644 index e1ab911c..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_54_0-1763367169.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"4640166d030d5702ec7f9304f61b782c99627f6a26366f181d94ded4269730e2","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"5ba9308431a282100eeb7c2a"},"message":"b97579b7876dd5b441509d819b34363559b56c80c2078607c7e0b9f1ba6a8e6b36676e9a2914e645a244d6c125922bd09168c1403aa1110a02f679930ceee323"}},"description":"","pubkey":"0xe8ce092e8929ade320bc6170f631ec803067f9dc19ef8f38b362ae276a215f790454a9a80e91d1a9ecdb77910b590b6dd2826a3ef372647c51b7d35e0c88fc271a523cafcdb19fddeebfbdbd13aebabb4c53226cb28d6f98b78f6d257ea9e6e2a3eb87589faf64ec8e2001b736b3e46d6efef8f4cc4b210ee05e7291b62a626478c11f2701439a10b6991c3117ef7fa770d921913a51450d1dc378645c7b383a21b87c5f14a42410daf3f40ef8ea75c5fb6be206277273091eb41e26e515d29ddcbf7d9bee50ff9e359b5b6a64c756f1b0531c33a372b20bf4fc9674a90f6fae27f0c50981c0db12b0f55e5845d5d1961be8a38cb5ddcb51da9eafffd97b7e280887dc1514d83fb81d34641894ff557d0aa9187b6b1dbbb4904ea1fcc3dd5960ecb629a9110ebad1fc9acfafb3e62e577d07bf4c240140ff2c3dfeeb4f99ca5839dff7d27edc38eca46735819eac20031ed637f1fefdc0b0448ca66df074f0ecd576050b35300bc2d8c2a9f560dfa653e20e5b8acc31db6b582df19260a94fcec9e70ca789070e4371e1851d4a53484502bb97ae6e02a4ed65cf87941a4467ac7ce4973de09fbf7bdd25be48995c9fb15d9cf4d827a7f1aec58d30d743b1e6a3b3de35353e5c4774e65e4d2e4f2537d551e8a177eded02350c3dcf668b5c1b35504d972a943c03718aeb49be2b95981caf25c3db4c217003ed6122317e572b17e59ccba55fa00c47349e612c480a661d96260951ef07eb100c2bf6be2128c64017340cd2d4a6a5e50065e64561e72f0f0c28ce3c1bf5253331095295c9f8dd8f643149eec32a97df1f7759f1e59def16ed51d7c570ee686eff85ca2f68d563fadd666b4ab49721cb13dc14fa6a3679530936cb5f606190010cc7138854b04486493fe0e5066d914308f31792e1f77a43a71ebc7eb0c21ba127306cc062e6990ca9af5574d6813b346b940f553865e6e1044db914a01ac0d920067ef8a2fa897d4636c899237a8b63adb882d9672f9343eec53f18edbdaba01387a47b3b44eb8ee98a28e8c8429a932cff504b6ccd7c6a22874c923c34a4c6f38262472c4a54aa24ac6b839647880dcbbef3233d483dc07951e83d7babd05e03edb7577bc0207ca8af5499e4281f519ccd0a017cd3af65535ed1a3402d9fccb48e35602259982d9f19ae648c4467950d485791fe1c0883da43ec70fbc91cf898f0baca1eae9e333a3a8641a080ea2cd20cecdc6b9d870527340f37ef795f493b0a0c49ea2fd79f3aee49636455dad7de7ddf2761ecebd1980970ca9f59daa9f0e3d5e2cab7ff99693f21caf11db9c2ae0e35a85303763c9ec1168279a73ec7012d61bf4fe9a517e752160eda14be6b49d0af54e9ad8c0601a7097ab9de26bd50ce3ee6f56f6cdfd1467bcac8afb890103702f97e37d07dc8a21ee5cd94deb967c441ac6e8121581bc7b757065bf3236ff62b18b9f5f7d7c4f95aff9bf2cb9f4c9a38c682becb76ede9b5ef73f6bf194f3ae03db6cba5a38df3aea39daaf758134b33e22ee40949aff11560153374d6014ebb3ca3892bf6b43f9de530ddbf8f248a82d5029078ee0d34cbb56d36c0d036404e26a938f8c02138342da43a32d0433ffdb1760a04bfcf50dbb8c32b1553b358ddf43081541130efa27116f0b0d5c81ca5f9b4d2a43510f2d246d4775c7120034141841d6c4f9ff2582d5fa82d2397b89aca871cdf48e163693a6f952470dcd659a88db4b21b2eb251af5898908fdba54994d86336e2075e06546531d5a2868f84f8f61af17051db23860054cf0b23d90cddca2aebe54fbb56f73669cccc1a95fe9a2f37970391084e8dd8fbf08b9605164ba9f4ef26109db3177b2289a66b634ada597dc56502bb251e889fc44892dabe4afa427235bd0a154706c7dc4b8ff225b594792cf53cd9e65669a5139b27a3a07880a4bcb267209961eb070f7a476badacb27d564361725c970b47ed0baa960f649c21d476a4e2dd4398dbe1a43f816190499ca2da53a4581688449a12b014648da0cf15aa7ed165767675b6b3a358d7720a389c08c7d243ec8feeb0c24821c2b53477ce6412c234f5dabc336ec873461537a76f29e28a6a534c3c338e4534a79a48466ed4f6e4141a8bf44f1f988dc05f8198f5105a542cc58e470a79d2240de080f181609fceb12a40c400837f37bc37c892f5ee4cdef55ac828c510ee0129b9af6cf3208b722fcf7e9d12339a246ba527286847142a3c2d2894ef86d94459ff5c044cd1b0aba02f3670dc45291584b70633c25fe2dcd3901e0f3ab168f232505040216caf120e9ddeced306cf2dc1790fec2ab867ce49f6bad93ec84b18b76437e8d2595db11d6dd32099f33fa08e3668f3d0b5ac614d1e5bb1bd27ef8512c9e3b9d9e8785ebb60eabbce5070a9f77b9b8df8f244aed2c961c4f2107f82a2f7071c8d09c83febac726070d8752fa10c09188386666ff6273ed925db6d8899748698d5d8aa88de878d2c824eb994fcad653e1d628cfe258c70e31944063d9bb599ec86e8396ec6a88d4748e7a7fdca3fefe7c41bacad299c3ac1f286d717debff5c1fcb170d26affd77dc406465e9e4bc3adf250bc95407ad35d3c7fff11cb03b564bf8944bf6f56a6a91effecd770d898b89ea5de8a2e68e7b35f8f80803ecb026f43e77f3acfe6c81e9951f034248143f35c579dce10c304d2b52982387cf10ab59ee7183e46c525bdb9860767fef15ed30147c02a1a452acc86d91d4fdd9d64defa7a94c123b9bdbf5050bb5e747ce55c82e41c27e462004202639892255d99fa7890a6ff126da5c625cfb2d9f26f50889a7a339f36319b69e9058c87920a50766d62f4e3055c0cb24b4914b14cefa68581709fbc7f1e9b8f2bc8e4ba1031cb4f9893a625714f4dfb48a263c1626eca77eeb994cc4106ef90719e2052d9fbb09979a07617364c2cbd7b9184ffd710e7fb3e736ed537ff57110338443ff102cd2b059e1df06b08bfd7b9a5624b266823f0d7fac3f4a8cef8c694b6cb8c8082b19c6cf6aea87aa0e96699d298a316390e10cd064b10f79ca1058064b635f5b388d818650467b5ba3b9f7e72cbd5ed78886e831ddc13149006124e56b992268921e26aee3a2bc04bbd3bd1fd47e10207410d5a13dbcbd24b93f630950afd2163996614f0d7c1e75ea032bd5a36f9e7df333559c53d6eeabb2ac9eaf0e8cd5d453d354a1e00a9ac3df1d672e424f460378129417b66fb6e1b9c12b1989fc0deaae74fbf83a87c690341aa0869eae6b4335a2ae8492f8074404025012ce419865fc22d7af1eb5f32424294c1158dcd39d868f36e05ba17e69d533b0bdba4d8e66fae67b18c49e954cc4aa2371a10b33be39f04d807b1a2d468deab1d01dc85941b3c57b31c7c0709f18c302359fbaef522d5a5848bcbefaf2a3680c9103eb74d8f02ca06af42cf02c837508969f5882d44aa8c53dc190116e200acfe971b87fa084e2d7def2137131da2fcf1919a8cae39e52fae6de0f3633b44d86ba2fa556e158846733de0f80c71cb20b9c47ac1ac627335e6f0b7795fb889cc248e3916f98911b624837c8659f2128c7271f3d0de97d35cf1760e19cd01f0de286b3c6286ec4bc87aa406272926689fceb86ba72ccd9199e499780ac24df2004e36ad59c940d91a19b1","path":"m/12381/238/54/0","uuid":"a733b764-2ac0-439c-bddc-2679d5f5e591","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json b/scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json deleted file mode 100644 index 125a660f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_55_0-1763367170.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"b57d4bfcb6ac4144756935d9f93fdb21376f870588ee0ef632193d348f12718b","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"42d02eaa03e8bad9b366dcbb"},"message":"cd2bfdff5d28592ab859fb8c9e6afc493f6919cc6b4544b066b631bb79b80ed78af45e1ab117ebe5da3690fa0afc866da66e2ef4542f9449f845bb8061f3f940"}},"description":"","pubkey":"0xc27b0d12d20f613f80c79f3d326d9312e5dfdb7472d9f36fac31fb415d7caa6e6794499ca52afeb7f30d9d33af1cbc24f4bb69e1dff97148a6dbeae81633d996140ad547d8c3ec8dd1bc01a255abd6a9e72d1cd724e2dbf207d610cf7c53257f6254dd7874d53fe3f00344caf8baa46c26b6d0520c5117acaa1e06be4be415ead1b23b5efe1ff8fb4410b3837ac5c097e06f19755f4d92b816be0396c689e3e091a19d68da892a8dbcaa506a02308669e08fd8577c697dabb0a278c0748384d990b24eeec18b2df19659f6b98a0d4007679604286754149837584b42a62b11c98f328d0dcd6f3aaaf97448a42ddcaa507199b896d3943dfe16f1681a0577b364ff37da9afa569212310c292ce5f76948b56daf3ff23cabb67b9578d7eb72ff357bd1822f5a49b113571ff4f3db681c9c1066002c00fdaaaaf05436fd34f8d0b6e13d1a4de963e6a0898e958288ee6535f429c229df0778aaede4d8471be38416c7cc969407bc84103a28373b106856971746e60fd3777f31405ba6b0a9301a9e079fa45079f2eb8d9ec1f719011a8e5dc9411fb5d97c08dadca4cb826a496a5aa2c2a88f21ebbb05b63d39929d97199f45523fca2423acd294b4d349f8386f7761e71f2f345017d93cf6f9ee85ec2eff57b72110303f82c6ec45c47eef92f56a827e74d2f3e5e3ba7d3e9bbb7fd70edc1a1bc98fc4a6aab1d752b9e701ad19307351c50f1ca4fc0d5ec1d9e2453d9cafa62e1543dd17672de3275c50db2ea9207a6fc31dd5ffe681e44e224a5de0ad656389e79e18879ab7dfe55f5a4c9677f3b2928fb3944d4e9ff0c3d37b79153089eb4faaeb2cf705c65748753325a2bda3eade6ee9e90c601cbd5a39475a86434bec509f7e2a96f0c1d40ecf056499443b4278576b855371a9f0ba37f76e719f7b7e89a9d5980d57d38947ec2a46709dca4b3e61bb2ff888c832bd693f3cc39e74fc81a0e51a154e9325f6687ead234d668988c5a2fcd0038ddc56348e5a5beaa746a0c89ddcf0e1fe87081cd0e43580c9a7a86edd61c53333c15247bda8a0a7420025ff35e655589675880b8953cb94232fd7cf936a0fa2cd858451758aaed560b2115c2460e3bf933fe466f328e880385fbd48d10476fa06148b8b1fb57756e630e230fdbd7cb52387afc4bede6ba29082da7a5fa7548b18e32807b7b911ed0d25a07dd38593a62fc9631e7f11d72767c78f2f9eab9aa3aa3c6365123dc6e7b0b88ea5e5ecf74deaa5ae4e1517a1cb39a9751c3588ef962c06ad2853a4234b33b2cce95c9ce96462ec8621ecfe3d2fb6f7741a23a83c83a4b1c44459517795ae203122e2780f117c36520f98d0fc4793a2c35112eaf527aa870eafc37f21771c073ee8a1aa627f7c2c3fb07c31bc4da2018410212280907e7ab3d73e11f4effded2a066a2a1cd9ff9bc413c44812bb6df3f86ab71c21b2d7c402244ca916d07686b8d2d9826330211c50cf12193312293790234625bc8a2adc8c03b56da720c43383b694c459f7013e2df269d4489ac29d87575ab5c84a27d196390b10029bb4ff269ec50367be79b20d1a1f5bc1c8e8f7f5fd132a2ceeab4d24ddf893b914d249f38efced1da56a9168a5032a1317b6a13c8b96018ade1e5e1562ff10636b7d2e1f458c5f0de60280c08e5cd4e994ce7859e9038d47fa897ea3826edf104ab0a4d388b3ae16d564291166a3060b450ded29339e6070cafc41f040af4f213994e57534745d695277ec652b5f6d70a5bfe172ae01e4e1c3729a504bd46ba29e9a19f33845a2205bd03a4329a942478890b10bfe2db843da0c68e7ffd46a86ab82669f83c1ab004dcea2617d6d17d8fa8a0e1aca2f5b39c363a9762d152950e80fbc10bbce95559ead8553906008a6f68cc209a84d683933fce53e0981d1e0b8db4ce29f0027c464be90217dc33287da730961af1a2d8452eeddb40a690ae364b19d467a01685ef17625a58371d0edd60c2d71c6675d0bae1ee734102b603f1b72cf0f28f5c97b688084c0d312331ea3ea99ce9e206b628e301feb535e8bdf0c5d0772240e7e7e1898cd25cc96b6e6956e12663d58524274cef283ee88e926c76b7a368c4961c641a63f37b0deb1da1de4bf1523a6cfbc6ca4078e73997b0de7b40166376d17830e4c5a5b7459df794c6c685afff008661342a4da1a5bd7a57add8d8578f1f05da30b4c7ad001b9e846629c89b229c10f51ae46ed77f8ba4613d5c65ab71cf5b6263b64e3561acfbf7eeeb639c582ca09e9cba17af725ac23a9e64bc2b5936a0d5033da11b0aad90f7acf1cdf35912fe72c03183a26eb34d2b6a897faa8217690e587d9a5344a80ce81cf6622d2a59e2cb7c091be508f85a9501bd4d5a30636eaf7652e1376330380d606115a157c2266878a0a3af946ed670b698c5f7e2a94128753e5a777667a1e0dfae08e90a9a0686272e7fc056af646e84b11c6571029bc804c5714205d203056b46a9815b954649b2b0eb167b10b4b5b3c41704b9cf5bd0b3dd71e97d65dcc7dd5e972cd390aeea963dedb6edd64e47f1849294d1186614edd54eb87bc95edf06c8d4907b0805d84aa7564db73e1baf22666042a3de6e6f888aee200a9ff86d115bd88069a39611dbb36bea8bb068d705dbc2ed23753486ed660fce0852288cda70ffec5e8917074f21a93e86867315495ee4d88cecacad4110a5364b915fe88f636966aba94dd828e196ebc01476a35b87fc9103e23602a0dc41fea86b6dc3f1b433ffad1f04fba5945796260fa80a8e1d015cf479a7132937893abba5609430c700d4f7a7a55f2f6eccddb44a7c8dade94b6941af51bda75415c28f625a9b74e4350072dfad6c52952e85cac541d9940b04cdb776d7015da32bdea65a559c2c11382fc46a1e5adbd46ec575497473233d8e36fb57a0b042a5974dda28200d2482bcdebc17dc295ba1c2b6ecda113af2b4f0b9ca708f8374fa4a83abca8f2173cf84abd6aaf9c4beb03247d3b8831128a3f909566a324d8d4584479263be31de884d1c7a5c69e8ae0a3bff169a7a9953692487433a70468f9ba5eb4dc1e61d43f4cabe86b1d22dc7b0fba0091ac04ce4d2960cbad04573f2fca0fef79a0f50092a6a40b51766a67445f0488a5309792e744d2c1ccfc022ce11a03510284bffad4c3b63120d1c1132455b8860aa19a1e83c4e8575a5f28d215faa7d3756cab9e3349d667d3ceef4d86a39131ce4cbc102046f46dfc69b42feea6390d15133ecb788a18531718b31da535291463962f848151c790546ef10417afe0b2a96534cb77b8f8ba5d42bccd47c2bd1eb5ff6a6e3a707e2de34db465cf77330635f37458b099e5177375d83b599a971b16078d65b2689c4d9b55e3540789da4b7161b1bb55efbe70e6fbecb056092dc621cf3871f387baea273c379a4f6b15bbad076bf97b0bbd06b506299801d156ba1851d5c84c0e80ac45289d2e136a46c8e534b2d8ed5eb897ad3ae0d792e767e71856fcf0153e918bc14ad60f8cab5502dd6fac26f46bba65e824e81df268cd8c8087db38915bc4eee6dfe99a926872e97280541760d09bd35bff484ffe1925772930c660c3fad26bb5771f24f12e3cd9486370346b0b2900185038cd5eb81cc2051e22894ac5f53c595dee0a511ee918e62803a8d7","path":"m/12381/238/55/0","uuid":"ce62c2a3-0b57-4b2d-ad5d-620e8b0811e7","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json b/scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json deleted file mode 100644 index 8c751b42..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_56_0-1763367172.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"024ba549b11e5525f429b222930b7a870bc2f585c3d48873f228bcd1272a767e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"aa7b3df74434df08ad6731ea"},"message":"3ec3873ba132a909cee27a00e790d0b3a4f2c85bb40917d5113a02d696152a0fd10f555fd24c4ea6083355c6ef0b30403c8b73d0bfab987dae51f2d2d589e648"}},"description":"","pubkey":"0x5940f2acad6cf4d52c14e0b2eaf32fec12d1b5c879df97606d5510c880983fd9af9eaf034dc2f34a769c5fb2817b97af9cdfb72e359835e3baf403cb414008a892be7ebffd7d2d75c64dbc6328bfc43ba94c00eb072c97a405bb6ce614833be3ceb4392d8a79a5297c52df68f01ad7d4689dfada30da9a9f674b6a38c63600ee7502ce2f3dbe56580e2bde049a3fa088dbeeb4273a4a243546aae7515e29f309022880b1db1e466362420b760e65f135c3a2320f82f206313dabfb610b16df409d0f867035ac66039566cc135c74eea45e412d80aa419ac89191389f9470c6be8c3b1e680faaa5a7bdec3028a2792d978ea47b7d0d08a49cecb0c5682db412e280acce55caf4783e80f4c01ad537cdd1d413744ef7783116b6e4e90e0fe516253096ea955f24a18e7dd291dfaf7a86e4d1457f7eb076e74175d963152362910a8f122ae7628ed62d83339265da9db5e4b9ebd39b677962a9a72f1303d7cf8e2b5ce76a2e0bae0b8dc1a9e3fc4bbd25a1b257b935660c6d6c6afc7918814543afa9c855ea1c09d65201cfe99bc98cb8ad7413e5c8300162dd68faf83549d366b97ae1a9802c962f2e2949f1a33be864ce21cc4f61c2926bc77311890df6181b9d9a674650f5f88894a3f5dba350c703f8701cca14390ec866ad1f4ba924f17dd5f1fa336a184c7535cd864beea0071c75d9d445078f62077e7b519073d4c4d5e690fb3a4e67a29fd267d36e2191294c73ace7a04cf75569b20e73610943fc59d326d561631e9ce2864472ffedc8a25b01fdf057f2e55998dfd578ae6254bfe6ad08e2b5077ab12f0993f24c058aaa1dbe1581bf9f135e94f24b809c063d9fefa2f2f82a8832e99d6ef2904c253217c69a4115dc6873d8072e9dc698f526af18f307c361f6769bf996011f3fe3bdec5ed2eac321d07cc2f94c4d8bc835d85eeaa98447bc123ad9692327ffe591420794170b8fc47cee060e3169ace894171ade90fec96510b8af89c45214c091cbe82dca5fca12ffc3dd5e2bdd872af4e250435be00fc2c88407cd5b8a72d3346ef8fcc85f470f36d992f3e248510325fb3adadcc4edd54b092f502be48e828a460f42babde553cb270dc9bc8bc933bdf3b1b4f6748cbb319eb143b59db23d763d21705306a662e00cb6f240776613a95ddfc0370067a96d571d0aaa0ae69dc0744cd7ae4e84791afa83911f4d520a75b643bc5afd800d66866600945781d6a691ad3ba9382ef5cead94a3da9ead5190d2bbbc15a0002ef75d8036da13df10cfe0a88765ae2d22d62ef2780f51aa08d9d3ffdc6ecf8b8834d830ee16147e3b500eac60ba0cd87ac0609110b1a5b5b7fd177a0d5abcd479c340c4f6d43ecf8ac5c3a7c8a84b91f299c0d3cb74ddbbd7719eea93e59a9f77639ce271c75250911e48c65493b31af9085d1e3e8578e8a850d468d283f62b034db205250908e9b5d1bff82e3175ca1f4247a207a2f6a5c8e04c8e6fac740e4b2811c8c7fa731515d4c3544b8542e71ee7b1352d2ec107ba8443e1bb778fa7cf6494e894f101513084fe79a6462afea6e134ea59b2b5960f8ef1d58afa8882f3af280b864965413b2a57c623036249a64ba1d50870d2a29ce2fa9a74c23dc4ac025af83f19f6b69a091207ab74b5d7bae66bd3a63dbe4cae39973cfaa74aec775ce9cf185cd2c42c5986b3c0f29eef20fca149d8f62d7563b98ff5a95eeb3af2011f3cfc8f2696b0e821add4a57dbd54eabb24e3944d908f1e0261c1c959c7d5220d391c3f84edd23b8313814779a1b164863dd94ac0a44c8bdb07fd26615c61443883f011e2f611c6ad510c3f352d1c47ae9b4b3041c04ff6dda2e08612689c99f1c6c8f6e75fed2ded3dc91f7ed0df1deaa8a03f329fc2487f290b7ac54910e94549e4bb8dd983df862ad087a7b7fbb630fbf68d6bd9278aa6f6d0ffe2e8092f26a79f8159446f702a8281605cb96f6cca7f3b880bc67dc794bca0f179ab1e09069092c4f67cdfc3830ea58007dcb6fcb1edde30d5e9b14beba3dc1331f777c354ce1722a80cbc7e675f8eaec074c12f347d3e3ad285a6e8868859d47bfe8e05de1f5bbe16dbf66de33038ed281962eb4ead707b6b458404fa164930e80eb50d05ec29d7beee83e0bf9e394a797b3d651099445ba6c8aa05a40146a4fc3383ed3a65018b8592f9c244a8bc379e42848dd33f1514d056e87aedcba2249989507813cd28afd83ca30fcd34e7fc56b9d52965263d6856cdd681c2cd32ecdf1341263dae5da36fb4213185fd37deaffae7839c2134128bbc3248ba614039b3234fdda73492210d537bab3d7de4729f80b7f4d9eced74d0815716ffa862d7bb92e61ee1d1b543b02fc8ddeab6df576c7f9d8fe5ac28d98b71424308f2a5f124456ee6a78e96f5ca7a074cb87c2c24e6095fb8f857fee3f2123732c293650a1208ca3617a45334199a52de098ef1469fd0b40b0c71e92f1f43debab0620a728789791bcf23cb392872756aa62c2b341a5adda8377eca111744e1ec5dd53c3ab7cec40155f4f7c0a496441c78af5fb9d0cc3df0c98144109607d0d8c016f3a8725a75b00ce2b0927ff38967761bda0ba581485ee408690322025484f5d8faf6a940ebdfd268b144c9c0e4f1005ba3672ae4ed42b90c4164b60f5c04947d20de0eb0e5eee55bc1af29a8e507487018a617e08719321af6d4893527f188d731d7fc1fd496e2069f2c9273a5a802ff37c7bbbd516c794b5887165fa5594458e32d1e0b7b5abd831b7aea66521fb0c3365f48399e29a44d270a0ac7ae2e4b1e5bb9f28278beb271c57660d1cc92e6d62b86f5bd6933f14c007eb3672401bb0b975e99bacdbf83d0403454aec9f1d71ad7752b75f14f16158b259b83b45e104beb16a4d5c7f417af7971df89dc97470cfd8cb6aa09038c4f5939fae3e4701973dc7954b383b334a9bd42cf73a6cc1abfc2c1f2c096fe15a69ad55475d5a76c5729b0c22749f439a4e055edc221428ffa4855bfd0201c38f2971cc80a6bd68eb4c9e22122497073f63303eabe176ff1e032d4bd5bdfb00b5531dddcb1598e2b3d92801dd4d86eae82408fb2b12ed9298df58594fe8c6b40edaf62c60c4d6d6066b6bd3d0e3128b74d98dcd520adf1efb6446c7813ff6f0028b225c2a0fac46c58ec8b8756efb501136a595426e3513f482708c67b7e951a886b01f532c56594e71fc008c3de9dc80f21e00880ec0297f96ab16d03dd87ea69e5b6b85038eec5b399174d73a4c4f9bdb7c458c8527756097022dcd5835f1d01d5e30e6116b7a5d9d92e28f14803fb1f71816caa4ee7e7f65f76e015ca22cc0a4ada1720dabca995572b9fde2b47880023b861a1402f9241fe2a9196c8e3111f3a4bc455840957d09bbee8f5a66f85858f59db0c93d524a56538c0270a667e85554dfcc9779cad554b242a161dd096dad07e58328a7803c631f3f19d2189780615ffc1b55f344a49fcc6fcdd526a89c9e83d5b7146d0aeab4a6986af1f04d8c3901f4ecbe96551c5ec17b1a4e74ae29a28e01ea5743ac43cecf4183a9e2d73d66d553d2ec72de207457857f7f312e3c9fb045a935c9bca240a8211c33ccaea8b340be89e059b5f66e2e36b443696ff18da2dc6f4ff86234bc2156f99f41ba85fe050bd306466f2462427","path":"m/12381/238/56/0","uuid":"4045ffce-d44e-4989-bf9a-7c2139dcc1ee","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json b/scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json deleted file mode 100644 index d3400643..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_57_0-1763367173.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"030c798dec8de45656573126f357a9be179366e89595dd6dd4afc7a37df73780","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0497f9c47ad963b6f6785959"},"message":"9908d306f9272f30d2e4a1c7f55acda3b65767f80887e41e5a88ebfde9b280217208557a4e13ad6ec2b03ad2d6c7beefe089d3a3cd5b688a3fca4033bcaa3345"}},"description":"","pubkey":"0xa5aaa55ca6416c01098be6b88035453b9fcd9447a541d261d1b3bb90e6ccc59e1c349aa3bee14382e8c0139374ac344d368bafbad76cee33337142bc8637350a688b2aadd484ebd6d46353fffbfa2295ed09953f6d38ffb97a22621104ee5b3cc328e4b2da66963f18964328a564c419e4c07e6ebd3eb253e95cea316e5b6ca01535b6071ecb991473adcdab34bd6634945b8b9ee6b31bdb89bd320fb0d661faa0c160f6777f3e54f4307ba1468d747ffd2455097dea45d134993439c58a31716554948904b83c61030ca48b7e917394eb6d34a580c2af76540f6646e6bc357b15132805c9740c8a863fc1efa0980a90614110bec17a8c76ca0fcb71116b467741788388677538138875b00650f5876ec08acbb088f2ff87f69f57dfeb7bb6a0e5fa1ee233b8eab97d0ab46e444fd552a9b97cd54db715d8c10fabc7dc73ba4fce7cd6a4142bf178e7e0fd8638665eef8a037722f4cb675d725f15cb9f70afa4b9a2803e914e22c44af7bd74ceecbd88bd7f12c514c0fc20034f7ac04c7a4b4dbc110489112257a18070ebc3d8ab034fa2c35696c130f72953816930e0c12c42f05caabeffda60e00eb290d75bcee16093b6088969d6ada474e365fc25ec4d24b92b115cc9fdc5cec54a1c90e04f050f8943dc9bb9e221dfda46242fbcfde325a9cf48952ae0d1975e2399ff029ca4d24c9874abd0cfba4b15c8f82d58852cba512be776f829ad9fb09f721aec04c135ee19d3f44dfc61303918a8b80c829a0b469b990bfaf805ffc0a81da08229b9b19f5e2dfa6bf1c6aac3d41943f9fce1c90edfc4a8144fce6e2e1401b46e17119eb8919a9e1e370ec3d7fcd1583e25096c38c2baaf3e89369c6eaaef844b282b7f4110a2ced34b3f740cf129dec5d605bdd505036fc8651dbb81732648fc396d6406da967fad82769b1d2c1d4fab7e186133819e7afb19ee4787a6f13e51e304ca5de78becbb5e233695477e5cc73c505d47a51cf66e2b2e060b1b33be97973c6ff1fd5b75ea7da25e20f2a7a59a7c2332cd612b79876600cd7c4fa1bc05573c40ad81fcd25225f04e827d282b3bc266cdc2a81b8b5a584afa5047cf042890a1807efbdd5bff95cd6dddb502a0b562fd307a96ca8b19070603db48f49025fa62d60127ef51d90af946ce7b39d14d50810bca63db8e810cec1b528997097fd892969cb2e60dd2a3bf2d5d6eb49adcc9f6695482fd80800b25ab0b044d0d069d25f27bb36c48e297c7684e0a1b1f2b5e15862e2739cf9554748be8ea8e1509a9751bcb63a55731d46c3ea7bb1f04b452cdfc5add79678d49088b4190f7df7c3ae89b46033c8731e5c0af2044d4b2ce935f0ec97404499b37263d121ebc2cfa8cef5615b63edbd23d6f3b6885f57bf23b6bf3ac4cda9385f6b3c9c58c64739d92917ae89c61bc8064c4b819b9f7a8d3b4eebe2ec9e3037e55f9a4924088ab8c19b826dc46823987a34c2e996f1f971ce1a561c6a269410e575c38354b90489c0eebbb33b167073d7decf0a8e255553dceea887726208a69dc9864b615740657547e105738aa7ae19bfb55a859c1b221443ca17816d543ed2e18b57dacdeda3a7ab380ee3f7d85faf0f76199cc969afcfcd97be60bcd6d838f04bfaaa093cd9c9cfaf855ef57c3c1c061fc69c9e8d206c04e944d44b2dc377e4617091e2f25eedd58d9804f308ef9faa0a73499857d73efcdcafb67da820a2635021139f7371ecdcf060bea9e28ee591c549fa58ae1ecd81348997c459aee5df128e626573c593cbd71d9f48476612b8de0f8fc29a1c09a3ee3b7e4fb9e0adfbb5924986b4bbeb329634a086936524654114009b396e54880e93b83a7502db850a8a008f8479dd35b608aca86b8884d21871be69e67158d10f4a8047ac1b76a54c4b503971ee5c7453037a1895fe206562d04e540e224172f1a7814df1696900be8b18f4a9c141ba1b0267f9e496ee142c026e16cfb701f524f70306c5aad95aa28ba4d8a58de262d8b68af34c2361377912af3cee391d86825399e06c029918597bad2f921ef79357e102945a7c740fecdf083a927fa6c28f269ad58fb2fc49512ef3809164dc5154b1f2877a480d45631fab7d71e86e09f271fbd575e1a9cc76fe84faa7381141fe18af60b093523bf4fa402dae867e99d5027d8a782b0ded407af0e61bd0389ab25092ab42859dd30b75f29ccd14d5617dae0535d5f8e451f331a7fba10b6ff012bc5a071a82929314763adb0373aad39656ff9f65011ec87d821e67c85d1047e2fa4fb4ab76503f8c64cf1714d94e2cd103eba866b5a61158a2e8c620dc4b4c4e01adbaf514a149379a0216704c5b9d859ee9631c2007f51df7bf370001e38538460b7534b90e1d7d37f4a99adc97ce42d0b2a2a167b07844239e6af12ff9514d446216c959df7a14bcb977136ade034f203d2c04020d6fbb53c81bbfe034b8ea2ba3557ce6ca68311768d38bb9f56209afe441a61e8088f4e9138f8741ad4470e6f61bf1236c689e98cf39b53e74e0afcb29e63d7603e5847f46c7d2f6f1fc64e65fa15bd663cf6efdf078bcf24a5bb5023e7949690db1587461777ea28064af643cb734c11521cd95418b22d6148263ff902ccea8fa1e9158c306e6ffb802360465b87c1036f4517a0f36b7e2e6e61bea1e84e48cbc05694da85b64643332da705f1aec741eded191eb61f9ad31f77586df5217e7007745f98c763b1bbb1ffac46a0a7803f3ef646962375096990ce78ead74e243fe02be4597e1c6b102c55cb408579103498d8f5ccbae563955b6ddb26dbca9d7715e3977b926ef752f28519093166abf967c6b144419b814017a4a82871898fccb8f088a7c91f99eee90c5ae1c71812a24afa0a04e109f586c3b4196a7b85975c253d102ca76ff4e1b43da05189a4a437380e921e3572a60d639c5bb9a9412d31f58163f60fd66f125e2d38ab8eccccdfee1421316897701ab3c0e2fb7440cadb0bf2a8217880fcf4adfe0cf79847d5406238d0cabe3eb5c37a877bf4da52eb8e132fa2773bc6940596a51504c1ef50a6435e1f290d365a17bec18e71883e924a8e288ac3037c1f0a19be8831ba38ac0d8087120a458abd8c8815b5c37f24217251dec932355b3e4ab3da54eeeea1c4e743b7a3fffcb8e949f6f01c5b1acb033964edbd7c64a99e64c9b69bd4ebd3be385d54ab4963219db42d131c76230f3304f66fb05e8e19700eb017a5908183d6e7c43f2842f167c683448e95898bcbf8877743576b7296f73df0e4054254d2263f651669342073c1716c5f06d64a253fbf771c0a7545be68873cf819b02dda9a2892671b1902ab5ba4cb000a490a62bbc1d5a9c9a41c1bae52abe2a07340451812f9e80672bb40467288cbcc84ed7568f76c6a849469f34f0a8d953658961e379f753f7a39801c65f5283c4532d77c5054fd32f5a100b42551d9f0a5af269e15b4b756f6af711d4931af8ddd0b1b8dd75ffc3e8f8f2478f719bc72f4671820432b311628ff4fc990c8ca0583787e168c07c8c5bb6d58cf1a2d457b4439e4370f6f5222683f44182a3a3ca79c6b7d5c1fbe46d6580c9bd964b59de34a14d805e9a2cd63f55e7147ddd6f247d0d9b4baf98fd5b216a1aa953d08f00aa6649e2ec07a36334238f489ac135a4a19","path":"m/12381/238/57/0","uuid":"128e59c0-6aa1-4e26-a6ba-4418e928025f","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json b/scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json deleted file mode 100644 index 0a8e498e..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_58_0-1763367175.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"5d1431e0c35f98f16b6170a72b5d75a5d5354877d6f0ce1b0be5ab04780b81f7","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"bf74e8135acdcbaaa3b31e97"},"message":"f91300bbc59aeb69f992d5f2b08876e7f0ab1ae1df1f4b3b361c5d22f462b01d9cbf99b68b0b932d90feae379bca276f23141fba658c8068db1c407a3fe93ee1"}},"description":"","pubkey":"0xa31f32448823e5df841ba655d3812bbd4669d48fce52985da305b5253420473b559c2641121af6c3afdfefe8698f79250c88e9e03631c36d164089a5ba6aba7a9a6f0bb048ef6a98383083c4024ff37e49bfa7ad371703a479e872bddfce56007c32a57fb355f00828f563c2b836d56b8c426ca1fe8042799276158695769c3a076260ec081ce146b40141e56ed47e96c7a59695a3ef45a1e94a1db607c33d15dc701fa1c9af8f15b16bad6ea0f72cf104a94098db46209cb02ff387abcf2a1df6bd9c34c3f6767e6ddade93bf5440d7e3fffa4cba585f25de41f773fff8cd72ee54c59e7b4fed48ed90f88d5e5a6ba8b8b5d2cc85de24550b3d4dc89c05c90d6b4bf33fd996a6f9de97633099b28caaf96efdbb836256950986065903328b6d000c8fae143e56175697cbe9e86fae60cb0cb7dd3c1627fe167b49bd3c64867b069a44fb34b87628b981a4b9a243bed7f7156c0a31e5f602abb1798fff9aa74dabeea70ae0bed94b3502b0428522d6e7aa8f5889c74fd52366059645642d5cf0cfe190dd6ef1175a3b21baf0f2045971c75162f023525e5eeeaf3c067a82e38ab915ba10ce44ac667a8d5763a39301689670292671643123bc0c2acfdb402585b755b9320d8774136d92cdc8b153d89bfd10b4a721a74dc28df20c1784539c165d5b3562dca57a913b198dc94f715c7b3c822f1dcd05d8fcff5ac7bad166d456f7251d921f7ce2efadc79b99dfcec140617db521283b573ce09d80701d586f46ae726714dae37abae04b6fb05cea50bc181f383bc5d71969ce936dd6f053e63019a2ff53d7f1b68d4e1b91bd56286803ad1af2a327cc4ae977b6ee5389b6ffc1d3b14afbdd5f73e0dda2a0b04ee92c3e9fbe0edb68438194f0315f215292edf4edb680df7f5ebae26f1ac92150ee2bf859826234258de6012e5db526868d4a62385fff0883c4953dbadb2649c3ba0208419c9884d80c71a6687b7049af30396bcaa23dfbcc0623efe666136eeadd77ea4e089c8ed9b4732dab21c16d767ea36d10e9613701b2ac9e3052ba2dc4b9da7942146ddcd61ddfeca56cfae1c75f9f3bb0ef7cb7db06e1a9dee3eacc43d050786a01536584bbbb803fc7df9a4dcaaf132150adb76686adb9adc629f746b88d289b48b1e6ba51800e90cf6e7a6b26fd555194f3f07ae831226ccdbfe0320b364ce5b6288cc3488cd4bbc9ac057ec33bad9ca33315c3dfa091c8908a95f44f3c4c612deaa757ac1235c9cb76c344c8e33e65876f5879a4af5f0cf591d5957c96ffc4853c70df0d68e744c875c2531097356188a3af103715ade09d3ca0c9fbb638d6a36702bb0c31eab32f5ba38fb2de7b3dc2836efb868de39a3db498591a176a68a5902c8035aa31b944d23db028a7af5c84d1995f28b02572520ecf45398a7aa9c16753829fb94b2d87afdbb8146440b402f148e6708d50a6b058702b614133312aae6e90203cf5aef388a322b4e720b9468065194a369cd18b6f8e1411dbdf2978391b752e1c477a14469e723474e4f8c78646031de0c0c19cb2b47fbb97db3948a8089e47527d4109a74fbbd52c46792f179bdb512c06157c332e5378cf121e361b930adf4da693fa60f38656644c86b4f8df64a88e07b82be6c378f7e2ce7fa337a7f9acf82fbf05e003abaf244c08c7e03d0f3a7fe24fbf1c728b849e1124ddc830b334afced2635c2f6b781930386c5bcfb607cc57ff583adf8729b156f2c40653831ca427e30a1fc50d22192e06ab17472d4ee6723480a85cc697b902ecccc547dd85c9a2c90a0e907deb5153a903b8b87b7caa740c786b887728b49c4f7d95b8cb6fe8e799ceaa3a388df25a8ad6cbd785a29fc61ccb12812252a78d4458b6fabe108efe57ec611d1acf5b0d7535ef9f50ad01365843fe33a9ce56b2646d7f13ea50784e642f51214fcc4b54c2f5f2258df4884e9b3b2e830d9c0d538307d48bfd7ca997457014db1fb6fb079903f9b294deb18d16761e515fe3380192dcd507ad52e41cf5d01a6d06de8f11be68ffb6b3adcbca2df820aad0b50028b068232f2b8666b2473214c432f416fe2d984c82f268e9fc7d6f300c3091040f735c62b75c8ff2e68d58006f39a5b71109e1d77cbb63b8b714f8691d0137d9abae8a94aa6e08aef1b623a0a7b583486267c0185b41a867ef14b27df92c3b102843d9ce61f0a95c2d232df97b8aedfbf0ab01a8e14d6ccaa4a13137226215eab3afc438bd876c5e53afe94132eece2faebd7b8082e7c029a0b9fb45e3dc4922e1770d1d9de12f3c79f65d2a9961876633890d80fe4d32e94a507dd690fb97e325c26363b41c7c99cba451dbd544ea2bdaf5fb326507b2be0851e16841e043be74848d6420c0f7bb193b38c13ce94c0e0522e2f766bc92ed4189f5263374893643e71dfbe87f29337c0f9484a6b948582daf5df68967e33eebc3113fc172600961ce0022181ab34b39e4b3840e20b4de81182565eee41af93fa447c47e93a1c9aeb65903cceb59785cc5a7d4a65d926ada2aefe9dbd1c23fd2a693e2e528d6c0ce85f1130c1a1c6ba87efe9e31c506dbeca6f501470a77a1eb1a2e49cb0cdc76b71652e7bf06b3486071b1d7f637b719c92231649cad4e7a09bc34cf8a68cf567913730cd80095f96e14cb63317f6b8080437cac79299e8a21c7befc1263102e8771f3defe31ed9862b2c572157815f274591919e9f5b9b2fc445db525bbf8d644c36572d98a5534775efeac4c147dd195bc987a592345a272afa8a84194587d076dbf8aa965cae5a0376d2b1e97b782f7c33e7eb6a9b1c141bd8d5ad93a7172501b1cc303de0c3846d7eea88536e60407873a28ea65e7bd51d81b627d42d29a8e0213d40e1b03bb2fd31d7e7a766a02b7ec275759a3af44f46f0a18008914d2883ce87d30488ed51cb79c540c4beefe5d46b9a097153b027816fc07683235af7ac0c4ebdcabdb7964d4b52c6f5aac9adc4e4afc1ab87367541bc2e1f7d01e525d92944237bc0568fe016834c25a3902d8ab212cf86e94901581a277e6c6506e2708675f0156a9bfcd5a9254909a727fdf5f56645d2f6b816332f09c7732c28a7c04a501a171fa330a84bc53740b103f3e20e3f9f945d596c775011e170fb1a591f49c30d39e34341b8248831d5605db70b8b9547d44fd8520f304f0d92a34e91d4bbe53d94fe838bb21445d32b0ddc0fbd5c2b8c7d81314c9d1727b8457becc92af1eb3618aba7626e85cb24d22af8848c333ed132147a22aa5140ec7f21ce7c435bcd477cc3895bf9d23e512565eb62034ac93301c7df401e7afbb815f3ffcb97b0113d635979a2215b6687851a1a871ce9480855ae220d0cafb41c0fac1d7627bb474974175191f7ab20daea8ff0263967b8a79cd6e714707dd5d98aa886275cd8b20e590678930902647e3b207ad2d5750a1568490e4c416be72c73226bcbc5e761ff408277b2228d556038e0151832b9c34f958952f86114ccba62beae43935f53da229cc8d793938bfcb16e02b63e476c32b3789e5e8eea02ef3c2333ea3d8bf537e29086a9c7dae3a58a87de81dc8199c80feac592ad28435c985e9e86e185128f122ca8012e1cb29351da98d5f29a9f3934ed1581c50ef29f2f9c48b16d413aa13fe59a171ffd3cf49d28121a5","path":"m/12381/238/58/0","uuid":"d9aac83b-5517-4d3e-88cd-0f2e56f3ba7d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json b/scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json deleted file mode 100644 index 7290ee2a..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_59_0-1763367176.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"cb375eb5fc6b7613241fcb635cd3f908a72d4f6a735f960ac5c5bf839a9f2745","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7f280cb0c89ea7120251305d"},"message":"90f8f35345eb81018801ef447de4d5d71a0409512455dcd3b6f16edc58b9d5b3e24934ddcaf2ddbf25b16add6817905c24161b8e8d98f18341f316cb0447b1c5"}},"description":"","pubkey":"0xd7c97392e413cc3cae4ee16ad310baa84e3dccdc15c4c3178e5028f57d1f176ca068a67c7af37ec82d27e55a7a60fa4170bbd4851edb2a134a12157e4c839121a4b5b64ca13c2359307b2b9ef131b0766e4aa38995d8caaebc55c2a42f0760658a3dffa034e900d5da87382f64763a362556cfb6cb66668621b4ce80c3150504f40b13132f08f060d914b1e9dabbe1eaa81e9f00ef6b276c636d17c8774e412ab09faadc8bc7317a34b276ba27b62bf005d68d6615ce37b9d375087ed39f6b60457653f2a6bb536e6f1f8599aff4381749e0fc8e5b3d5060ae3c09e07b36b77f7ca965c7bd3ec82b4d55d26120eef411867cddc259aa0d88de5c9efa811fb5c1525a73656cb3ebc81625564784840f082695379720d649be78b6871500f561badb03deba8b59de36ddeb67e5d0d0b78f21fed0ce17ff82a4235e9f795ca5aaef35c1b5e7bf8c36c305134876662cbd53c5fc3bd13a4c47a426e396d714ede942a1f7a5381a41febaa63e113725a71780550b64ed1fc14fc3adfa07d0f63e9810cf901145cdeb431fcad5f65b680676eee98683c8c51fb16b9e8b472fc0b2824548e20d86d2d635e0c5ce81175245f8c220d0d249ee0cfa8619040d3e3deb00d19e9b09d515ac933c76f5c90b91cffc45347660f706e89fa5f41cb1ab227f8ff05ea5c7203017ec81233835c72367a66863ab5ee9670ee9675c0fd665e7db216fa9bb3d7d6ab71fc0fb0f5e03b7ff41ef10505ad5b481fa435c4ea5e97bcbe4a8fc1e209af87d4be42f3b9b8889237fae0a7d376edbc7860fb576bda64d05a58475520798dbf6dfebdc0e91357f07bb0ba7f4951b28534cbcbbaf3837c1c7c6cb40595c921999ae10aaed6b488de9bbd3acf053f5dfd5bb9dfb6b3d5f5fb4c043096cb64f0bee836eb246ded9011bcd95266eb88ec23bfc0e8903a1fbed08dcb90fa3770e07dd6389edf7fe05a2356401a57173701b2e2d21d0ad6b92fe163e20e27c38f482b4261c48f90430f8c7345c651ad31c80bf8fdbc595ca0177c57c28cc96beef30d7fc245b7e2d21048758b0b9417ae908f47b24142d025b2fbafe3dc592f007d2786bb4d153fb760cf39ef1bc3a1ebeffa66c8f2bdc6974ab5162eff2c9bd1039b0f9f825a7e395d3fc6d1b6b04ba1f870ab4305b776e8b42e2d2a94bfbbefba3ccdda23cce08029fdcbe406c40d5c9a9b273e9cd06946e335f865b58407767ee8903a3d91e1cba03edd5e546064b4ab11d78ee5aa079300bd1dc5284955cba849d7e87f6d554baa50e2634b22e61b73c44d69a087452351c9ca3d5bb5a0809d76ad92227006327a63d565f26ca4d565eb90508be9a38d62f7340e96d37602e7c62dca871993f7ea54a7e416d78cd959a49af7bb166330c0c68ff5bc921b188388e3c44a02304b0885e2e9c809de60596db746199f4fe25e243b9319d4e2fd6bcd08db9eb6f8266feca0c48394b1ba73df0f2df71380ab1fe4bc37d1cd29d7c9c87ac2f342c3cdc3a47af1aecfc8211939dd5d4ba8a1827787331c2538a5ecf0f2b93a3cc535b93aafe2d1f79c120c8a2c2ff2db811745538a2f52f15b5e6236b2d42ef98bd4da58c6f424301b24d0b6246c0ff072c917ca0de4b7cb2558b522d2761048641e1be036a250cb9f186fab9f59f7685d910c0589fbf39acb9f4aa97470793755bf4e3fae42f19a220dd275ad7d52d18abd54df0fe88576cc755731c1177a6b113230c90f779b1edde29e980ceff250b33494c0e640b079478d260a5c37c8e184c55e5932c56bd8bef48b57bf8798ad5b5518f1df3ab63a434780365de4978c5b5f74f404ed9b649f1be793837d345c9cb9878dfb4702d148c7302170e3e304b5ad8d30997456674bd85fe539af7a1625546c23dc695edeceebde80f5842b2d6c55803b2538e90e47e7fc35aa42ec2eb06425b6f535691c51ebbad2a72dcddb4a434a36784b8c9f3e39bf4e3317a739c7c4571c56fe29ad7e562e7ecc9f10002c51aa15fe88256971d39d3b6598fcc92dccfb9a0bc01abfb9743b4c6c1d5be6f86f57edcbf956318ed568d51123222b43c600f1aab9d367a0a81ef68441ce0ebe4f757d6b0d79cc0fa86e400b1276ae630dea4374afee7dce567ef51a8bd3921154f98a83f6eb39a06f62391f708df391bb80ce6ab7dea171a44ccc8e71f2ebe12b569316fdabd7a3cf563115c40cfcbed50172dcb9ff6af0aa928406291588041b7b1eafe795b516e7c7bf4c4004ce72abd6817b48bac9dd18b54f530f6f46db2955c96a7f81d8e87892e31f471cd36715ea65dc466da2c4ad3b1df8686502de72a4917c090330d0e5cc645d18609cde5d8d0906b4672fceced1e2a2ab3df8ea3dec74ed4f5a47d80f1491a9069b114d2977eb77fe99c69d77c4daed8e9368a3dddbc3485bc652dcbe18c58da73433ad577e0466de65dd888f6cce5be616c7f4778ab1cd400578f63bbdabf49463f4d09b677bc27a38a3adf336c1ea90c3b5200b21224473d058a5af5e96fead04bb2388cba999f52f7b0692c789795ae0301a4a365c129f628a28f1806a5354211821eb2c57bfe7ff33e751e5507e2ba3a2fd27b6271a2c469c5e6a5bbc107eb44210dc261cd42476b2f960f63948d76ce9f1de12837b92206a7eacbe538f7689db63c5ba62dd601886120cc7c77e88adff819cf6490d41bc2b55f297c33569cb3ac5adf2e9dacbd48e24c4e13db39843ec223c828e9fe46fed6779ab746b6505b75b3baac2330dcaad4964ff6a2428d631aa0c5d9782885bfd3f387518636bf02fa575af02a44da65361fe0d4d495c691a7556a84fd0ba91f641eff25bac123a8dfffc97c81c05abe1dcf20f61699397d3a37e8be8ebb8ecbdb3a04154b40adf4d94a463c0e153aa9aaa5dc25465752fb50b92bb694bd1fc5f84232157fd9ee0e2985e1cf628102df2406f88b30018087312a045d4929247225c58aa8450f24325483d24535fbe4a68f17f4afda6c1a83f208d0583fbfeb179f056e43be981c4c55fa0fa4a0bd9cde11056095b2b27e529a3e15619256e979ac6f46ae2b1f7e0349c02d21be41941f150824439bf234fd6da602f2689e582619f6605cde6a8f7fea074a1b9ed8d8b315915ea62cb5c0d7a5f2e7d2ec618e01e44aeb0f3e7d796a4be8ffa80ff761578ce2a91302071df3b6f8cb3c702d3b8b50a2caf6165f4744902e80e22c82f7353b378e4d1ad2ad26c5a64e89bd7543a8c1b1104ca8277dbc535c436935e7e1a1f661c7e657a605742b785ee3404a7031a3808565e3c6baeeaaebad5b324f5011f8ee8c48511b6731d7d4f83f4b8518a75af45a6e909a7f824dfbe31f79307e86a7bc6d449eeb8b07bcc234d587099cef8f0905eb3e9894849102d2c5c769ff928d606907027ff1d6dc25c73efd6408c22a1d013564565f470c3ab9e51065c2126584edc3ca8887fdc2df4e050c42d58eeb63b50ef6c417a31dd72b9bab8eee8396746493d6ff7b350b26183b794e1fe45a8670cc00967448cc826273954b7f386a900eca1cb722bf91a4f1005608b334c3c2648ba26b2889bc2f6113b308915a7885c7dfe0d082f862383c6d6afeb6944f84eac31873e98cb99245597a26d8d506fb45e60d1e92f6e370d4dc0c9b51856b1834c80788e2a9ce52d99241d1be63","path":"m/12381/238/59/0","uuid":"d16f7c84-963c-4c93-9671-5ab27f9a28be","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json b/scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json deleted file mode 100644 index 53270dd4..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_5_0-1763367099.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"9015b1427df95e8e4a0f5fac6005b70cd135dbedfd8e86494047dacd151a861d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"a32b3f35a761e4ee285f2f28"},"message":"fcbbeae1b8fb29ca6c7a6e12b2d914ae79ab8a0451b9a74371e144443f465080acd790e038b52f5f1a8e331194f0db30276f342b87f71f0a3ccbf7e1ad0d4a07"}},"description":"","pubkey":"0xe2c23203072648e6ddd095139ff6fd789e8ce94537bede707f37cd031571a3ba61f7e6cc43bbba5508d761f88cf617f4953e7bd1d62e03fbb92747ccb8b8b7a86935a1530a3fd703a8eddf81ef08e1add8c13ed01313bb820f42612c40f94a21500c3266781b56d158791db3511f83fe610bb5d269df39d6bce6834713f6bcdfaaa164f8edfd142b04808b54cdbc53bae285f122718aadba6c3f8d9c33499fc273a656c9981c8348c3be24f5c0b019de2923e9f8e7d5c902d5168ad4817f8a8be95ae9ddd524812c2f7fcd4f6acb243b825263533ea52a7c07b4b1373bf70b3f26fb3c88d077ad866ced1224bbd476165958ac8dc21b43409aec1dd2e51c2fdbc2ac72a61dc5d1345c7e36de4617efb36786f59da3881e842ea5b880bfc07fd8e969892db426a68839ce7593ffed06a1eebf5fe539b01191ab41014675101379daf8673a768bfe13350bcef90bb31b1d4e9c3cecb3697ca45f1a435ab625c8632f43ed57da7f32dac5bc6e297e979ff644ce14f6b230bbbab730d357425caf3b79bc3438df28cb4ab33f63a4a0174b3744e7266d0e47e2e00b86c10d34390294bc35b12fa5390d3cb08d77e26b3b8cc80a3d12e9465d6818a4e4c97c40451e9c04eede8df9340b7edf04501ad967e9584d9757345b6c52351181bfdf8958dcade799f90ceeb77b586a95d1bd1d71de9492da8bb8d72a3a29555cc08d1f4e508642f549797899aa1dbc0a8b94385307def2f232e1c6e7ea2e6e3ff1afb35a0ee62930191cd51fef2098dd86d8cb212a33778e1a8fd555546ca793b04146ed39eb64534f211e09a95b9b79ed7b20b5c0055c7c9defeac4ecf7607a3714c9f4c45d9c694ef8250f7e0477bf47a9b923bef4abec69f1be1e2af10d4341c34a0b67f07c1074c2b63fcbfbe6044f1dfdff4bf2eff03e3ac421e4a681c3640b330530918ab2f4d79768e174fe852f2d744e65b0d1bb017addf8b45a2bf96fa44989d8457404172d546464f95daca161137fc75dee8420ebec298f718c80c0ef014a467e1e3e7505e9aee1ccc59c14ff54dd394269f6e6b4a52d18f7ad0e2e7fe9e4a9b8e739433c6bc6523b967d4c0378e8ee251dfc7d1a45610e8fd1540a7e3775c7c379222e3e58a2991e6cb5e576703549388e91240fbfcdee22e804be3b8e4dcf528ecffdb9514fc82e766cbbfbaca90dc167f417d8b57c57a6a85bbbb955c12447baab0dc42c0ba42651471dc5bb39b913a007b4ac3a3a8604d8c041992e9da73917d943dc88b6d7f6e130bd5cd8f122680c04d7027ce213768a4227072f0174a307bcfc327c7a3607e4f5ff84fe2104167a808b574cc72b2e2b282f29dec014dd6bc0a3ec7d2f65eacac4e315cbd1eebc1eb2596047018d7e32bfa32e46fb821750006efc5420d59609644e83c12b07fecfb82e39fc7f3916a22a6da424168e9b3952512916591ca3fb5d8e42a1af17b6d9808754e05b7eada827a3a5c22dd99bca1ec4f4f5da44886c880e85f8c1d500a0c87822b4bd55f865b4ab4b6b4890a60f382c1ad7400756c842cf9eb0fd755fc9a27fb950319b3f951110e7ca75db764f84ab11d26c746474c7affcf965c69d9c72e5173b5090917ff0fb30eb7e3398e1535f5fafc63c5120e7faa0ac90f0fc30d93fa92f01b7f2ec0dc9c50202552ed9880d70763b5faa350871ea8af65c0f0d44c53723683ce08c1f8cbe09958bb0fcb3613ad57cb3833a7ec5fd8bad5c081b0d2970655b3386eac765fe15ca55782825e921683d9564835bfcf48f6cd2dfbf074baa3771faf4abf2cfa688bc3f52bb88b4c1c6d4c01bbf2a0a7499f7647e58db6df30409f991e73389266fa677bd4a3e92be129f34cf2751af6e2ddce174f170e089b159fd5457c208f29e67af62bc19988448e3594692a6916c308fcc5ea02a00b171d020e8e7568c5db5625aa1dbf7dd495f3cd4db12f01ba353137ae973ba4b48a5fa461bff06d69215cdb088a988c7c3396176119219dfbb881725d029180f35c3e785698536f9ce241d401ccd3200185f85bcf9ec238bd1d467e9a9338871a723ca6b73eae15894f79c52f3b43453f165e42ab16673190a380b976f5e249a039ae81a5dc2dce61468af0244f066d5b405495216698c0a52868d070a5b313920a3eedffa28e32df9282034f0978c1cec1c917e404e02fea18f0894be5be274a57641152d7aa0e508ac346ac560cadf47327997fd6ab6e7c281b82729750ecb0a8fbf17ace9981d77803f4d24c70741363dba2f03a5c61aefb25842567f45bd3d88e1d1a114110636288c175498998f1ad1f07c9843feb4a67aa6d23392b0db99d90c6f58dc35aa63cf765e06430f7443c8cf60f902c3c5cc7b9de90bf0b2177d0d8716b9be8e0806b4189ce9a31d27f5143a53444b42ef16c65072964aa2f1a11aa4b350df753454f790f157bac12d962f9445bb9b0d0c0bb2e391d640af093525c1f8e372b1edbcda951ab783ec2598d8da0ddd4f67793c6ae613edd74a15cc8812a45c6db01519eb7a6929da87576c2c01f648af59e1e9eeb0b5c88983b37744c893161203246aaa9a06d4182f255f08d15e2fd80cb7ddfabd62e359a4a36da30d1c82a33bc15c352c5de6c465fd12fe70221d6c492aeb9bdc9fe31428df87dfa305659e9debb4ec7e87896971111cab074a8e31e2b2f62a53e566744f3564e2f7587bfb43d3e4e3744736e8e2ec040da38f22c8ac3e6cbb97a17f556b3f56caac59fa5a181f9f659de181a564f80f2d1f423aa8f3c7b12a39abae0b4fce305fdc2ee73f25236c4e5b12971079b89d9acf0958d0d06d0670729428a7ba29e796c9e9838dedfe08dde00ef5bba6c449a3128fc853a35e177f2afc3fbc6441371177ace8d3f795ffe7b92e39be06ae2378da2a4ea41195eca4f48c6aaf73f66cbe646f207ce782730e4eed7dd4816f58ed43f330b594b9f255d6598b9f474caac62e16f45c5a64c66b88adf4561ccf93f8526b8932525673955a2887ce4403bc8da875efcf21068d2ff86c097ccb2291e5c6d5109e002751a71091e880830fffaf028ec654f5cd4a0f009b81feab15da6073aa90601f2facedad18a8f8b0bfba2875aeec3e392852fc1a363b1f9c40c17cba483aea9604ce4de00844741c55b64224f1ab87abc8ff2e44cb2ba769d85a4c2cd77b1a2464279a1fc93b838e85fa472925ffbd6d4b835f026e1048cef006a8ec860715ad0e715fcbd4b472e5ddcc94e614c6ad2b1c0a1bde452f1345a9ba362fc262ca54fa234add099e16806a090ebcb207355e37e510f49b7fc5e910744a86a787f9537211b522fe01ca68352b36b4f0de3c1062896be57cc831c148de6cfed8ad47e4e419f7491345d31717d68d7e9194c4ef3b98f202f7143a27b642ead1a31d95c5a55a70cb411f5878cf2709811333e2191951f981159d507d1601cf0c82c74e9566eacd9cf06628d975193db14150eb873d15e81283bf320fce805cde1cc71bad9c6fd9af522b29412b5782aca05edd1b88dc38bd6d2d924524445de69508e0462eb3ce05046d6c42c281edc428706e9e23985ffad8d409007869cc707f2019e95ca6273113f086a47e8a64b6384250298795b79cbe617d713e9285d2372a84cf4d2dd3d3e8810956469abce0cffba091bb9726d4ec9f","path":"m/12381/238/5/0","uuid":"b66b3f66-7eac-4a16-908d-fb3a233d28ba","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json b/scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json deleted file mode 100644 index b5ead721..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_60_0-1763367177.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"f84feda01a886a343a9e4c45fb931168b4d692a632762fa8c89e8316213b9b53","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"643b4432dd2d499667dc6a6c"},"message":"2d1f7fe3d652789f11ba70d3024335a15dbd5c30dee4e75ef373c89700dbf82d1738a7b909839d31a033ae7c9f01d933b20df748f88453978b02bb1ee1433319"}},"description":"","pubkey":"0xdc304b79ebff13030d2bfc0af8097bf2e2968d6d96d1be24bc48052169313e840bf2f46a33f0d638cbabff05639232b94e96ec1e4f76d11df4affbfa79da902800877b59f1c8b04074ccb5274797e8772a1ce2b7a704445f4843292bb6e2c7971c4f9c445c3c40bb801cf8c98258905f93b82882d6ed06662939f13e2e4d5385b4bbdd68cfc81cfca06b9c64c5eaf412f7a89e13adaa1a1b5f2f97a181d4a85799c3a24e17ddec32739acb127f53d52d7b63c9c9c04f10f44711962fa428b47e1854b8ed82437f553058496e1223ec289353802177ccb823f31cc3e0b3d0225aebe95c6abf9cea6ae8b03c98ec032cf03517dae6f8c866689f8fa424ce651d1121a7bdc9cf00002779d11785afe5cdc8f59f412e0f6edde0b5b1b382e381d4d94f974da53d1de9e9291b5006cbdb3aaa75400c38b9db8616d077585c306789e843b72ff6ee90367d417f842ec8c07d92d114eb079974ba5350b74b6ffb868371bc9dcc389c12af99762ddb81e9bc73d05b91bb597aa546f7878223c23a675647d833de5bf215a2aa23218e737d90b8c273d84f9a8b4f76dd90cec641bf750d851d1a883b041298c39cc8958d764c6c855808848b1e5240973469a07b7b6ed3e8dc3873bb285096b760c5c27a0eebecd26826640867a67ad1106050da4b9e8280e48d9b30bcbe3f03439fc1b61cce0f79c3a7853d45caf295219aca4f47ab5aa32166ebe5690222a514bc409724b8115d71d62b7ad2d5112081c5bb0a55a8cfe4e727b7e74805ee89b66cc7b1e0fb21eef4dafb871fc415fe7d8efef7c775cfe6c152248fdb9e8bf9ebd62516a07cd38a18d5587e063a2a92b71f458d8707543202641f94174c0776485a1805d93edc1a74b518f45c412feb40489403f4a84f7503d3c0d200a3c6c03b8f07ceaeb6f8af15ab99bc8835303d9699648fa64d2fa966f39ef3f003c5599859456f9b6c3c1c6259752d76480cc0c48cf6920c890fa53a928f824fa483ffbe8f4d397c6ae14c3c107f4fa51f7e842672e221d692ab4b0e846bab3fd13fd10dfcda23d7468c04c9316c31bddb8cecf69c62772db833023970a4462560ed162cb8925c5821500c8a1c7a27621bccefdd051abdc161a4ebf7f99cc246e7f54aa37b3ae8086e32e92256c578173146c525c2a123ffd5299b507fe0a19cc339d75deaf9c559196d7b886da595df280612dcae67e1b4d0d68e742bdfe3f3407e029767927436247e6a3a340b13a2bc181b3bdec45f772c4865264ed42988debacc5d0edc13463338368473b024822e04761bced83c4cebe115e0bf77a4469a559b5427cc5ef5733fd80cf2785ac387e7e96e1a5dd34f2d166eabf5482459801241235a4d14feb67cea050d7b2ef1ca37cd32ff71956405586e4220ffa12bb69afdf4f5db8ef037882148bf71b01b85c4931e45b428b89f1acaa8aa9062fce4fda6202192c1ab62a30837cce48b407710f58b61cd66a2feccda196e027a035100d953bd44dd33da37158aa8f1a9cb985c76389ad7d270451753f40510224abc2f9283c9257ba925697d7b14b2e6807bf7b39fc58cded841ae6b7b7e53749b5471d9c4020f044da929513ead92c757f28dd5c7fb12983e667126ddb928d2f1526be765b09ada57b0af28099724a7530bc648daba1c11a4751ab4db7ee9a280ab2c608b7cda0f463a70238843ac846615b5d734d4d70e05cf3f381c2663581f9cbfeb04e33f6f845ce4d2f854a447ac575e7dbc2e0a8052038289d7e4fcf3a3f42f4e5acbf2e75e7c8ac1e376f37eb44755da1b478c141584178d5c219de0797b93ae48c93839b604ae685c1b9cacd5de19bb50ecbfb19cdae14d724b80f3bb7afebef40c7ae78254728e23aaa4bab51bd1c34530a73d52028585449c2548f2a57a5fc6b11108bc1951294f2df3085541dbc81328aceb89602620aa542d45296ac7127382db0098eabff88413d25455382aacaef638383effa788649601f1b547af1d0b3b19f69db8e4ab59bf1eed6bf5a8394854a97579b06880e4e45028789ee4d979df5c50bfec72d9d34f15aa3163d040425e7bba95536876a40fb35153e5f5286b1f2d217f3faa88c3e48f5b86768e87084fc6d59dcdafcdaf31b1a650935234a64f009cef376c4ccb1933db4242a22ac87fbf21c81bdbfe40dde5ba569eff1110e14e9ea24d021d069e46fbd973d49d4213c54463181852e5be83d6af26e43a8a354c18c8dd0e1a711ce4b74b279758712373769c720911d75f6f6f7f5c6101e80a39498df3ef4ed205b22844c401c685800bdf56be00cf0a9b96fc2220350cdfe99339fa6c48d9e890f5ae65697713a9511d466b2f491ffed4ab9619a1a2b9a733c6748ef75c1f9bae6863cefef949a1fab1da553a7659793c899151fffe50d3a45f65f725688496b93324e9de87c96279137f038aa4f543030732b4b8f2431177a28b988769a32b073c2a276aaa000b520d5dd7592afe258cc36b8e8308dca45dc3ddad31dc746d68ff7d1e3d1efc12d87f0b07a96b941d1730a7b02d7d7bfa292b6e48f8b3d0ca1d858006aaec439da2cca1e4bab0aa38ec096624ca8ac61b0686469be4dcf2634c1cffc7a37dc0a8c434d7b84824d798254d1019121c56a5257918c2e73b717d60069f33562a13cdf33600d5a251fd473c1eb508e068a5f79a6a6c87b8e23fddbcf69e971090d6901539561a7748d434c60194d5671f7e4bd3ec2a9d90efcd4fbad4abd7b6d7b2baad9418d4ee4c0f47440b954eec5268d7e83761ecd2c0b7a597d755403280ac0bbb512cfda7d40da8c69fa7c1ce33fe9a68d8f7952672bc59cf312536850bd3c4321dbcc43c0045a3e0fa8c7c7c170e8a3b6a52c83edebb705aee3513f45f2b75c2429854adb1223ee77bbcc4aba7d5da423c62122ae09000e93f7d92c4565c79f4fbb122503240bf9ffa34afd85fed9f2fdca1fdc8e6147def5a0e4f8bd0c9a55b2d7edd7a373d604aca4b8fbc28849f9683e465a674d6842213cb6caf18bbb874867d3e88f34ce95d9a992ceca41cb039f518f36ee3d4ec2532adaff3e6cf970ec8a54162c23a690c20f6bcaadb835639203e3759d63cf8ce4eb9511889452b7b7a518c2b83411a082bc98b0ff399361cea8a6aa8d8064a82ed2446321a2fa2ee61e0bde5622121065addccbe3b824ccc9562a45ed297a3f2a9ac81e98b94a87bce4f1ae18b49eebc706694607086f555acf8c944654e35a759182bc50fdee24b85d086a67b3a97eab0b1341878c04e90a6ca764ee24b131909b55f439f4e65556a65032ce9509fc032d1c4aafc4bfc0c96befa4a22ec2502ac88d958ec3fc57523f14fbac35d8a33372f236b8edbb108428426ac00bc8a9b50faafb09293599b0b9a880ce9fa7c7419b52f1645d148b3c0ccf7e6ebbc9de39347e82ae38049eec5c96129cb30a4592ee0865ebec550f0e8b2641c4ae529e99686a8330d8ed70cfb8446b9e7d11cea250ba62326ed3ed769fabbfd954ebbcd2fa7f0c0ca083aa45802df1efac0afe1d3ffd2c0f5a52de406603b46fff10206d35e850a7ca01a1785051c718c37576783dea1892552d02f4123ddbb67820e71fbc59bbc1718f87f48fc5e1ae33f8ffc033238179df1c484af3e325108b21ce7700b7c7dd90188457f4d1a6d858d","path":"m/12381/238/60/0","uuid":"8f3d2575-e136-4e08-aa8d-5bc74adea006","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json b/scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json deleted file mode 100644 index 6b0b77d0..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_61_0-1763367179.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"60f784b8753ebc0f0feecae6f714ed96a12297ca59cb58407643981fbcf3a2e3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"03ea4c8ed115cca0854e53b6"},"message":"a01c964b402a1ba83d8189c49a9543995db059092392b5567fcbd82adb73bc8451f3bb5421ecb22b3956bb0a74f5f41db3cb9bde81b3e1c1b55c167a43d3dcf1"}},"description":"","pubkey":"0xf4a0bc2a86a19cec578b68d504e37019c2de1b82ba9bd33b1310f74413fc387c27b6d6b0d1d87980188bcecb624809185197f1fc92e552d23e05d0c73a89c88462d7599bf9a6f38cbf5583a4fc05dbe15c1edfb4d025247647ca9c8ab747cc309de032a81a4c60e76cb935a5f2ee74febc5c1a5e1fde5a9e29105afe8ad151603757c5b81853feb7703d059503e59063c0145466ec036d05dc24face9e08129691f370a499d51fe63a8992705a1f797aad3fb27079896500977de9f842ddcdc0e4c45de125313f9db1713c9e1b02439e2824e33c4ccd782d6178ef64b147454ca9b8b538b26c05e5016540f896db74bf374cf4223920a68f29567dcfe772a2b2558c33cc1e1b2e991568887802948bb99ca44fa942f1cae4a14ba383034a4374fc512aee112834ef83bbfd974fb091ed2310b9873ec247d5648fb610e937739bc8d60e1dd45a172cc27b6c0a0788684f8670e9055ca3d59bbfb8d18b4bab45740a011e96edced66c45d9efdc3662adc1f68af6c1f7f4e68b66329c15da2cf983068c263bcd7209ed35f9863eb9e1816348adbdf82deb080b46deae2859a790d59f86d696061594a0fe45278376ebea04b7f9e58396f87079667864322c67f50e6ec144931e1ce339c4925f393fb2fea862b8d40e1ccd406856bf0855549fabe35c8fc736bc20588dc86eb6c451537b8aed9b43cfe1f3aa1166330e4aa3dcfcee9a104e96ea802ebd9888699ef61173a6cb66f888069f890557c222f2db960a32bc00e2e635f7e4c64c38739cac9df71d24fb5d7bc877e77534fccd3df5aa3ca2858fdc13995a43b8a7c32d567474ee947cde2fdcf0e137549213486ae9e2d6f454a106f3608503c0b79567b5b950acd42b577e54a57fc5109aaed706a7ca0b2fa3144847f79553ce9c44ca98e0c9c6dd8472c94205e7e6351806a29fec503e5908a3d1772cb5c3c922bff903985c1c66e1a253eb6158a64aef200c2c15e7bd454cf5bf7511eada6220f170c87335dd4f850ad13f10ad1d1e8f5cb746bdfb1f77f8bd9e2acc4dca0bd2ccd9e12eb2a80a0fe7153dca1ab9d7022ca138cc6d852edbd840567de1c2b4d885a389db56883e5ab22782ad54046951e4b55ea4b03d5768510c6c27debb23933dcc2f028c7f655fc9ca1246460c62dc2f5a114f1400d580023de1f8cc6ba4ecea872beb7324685147ad128b61a50ed9b74829cb93440c154f34ed650a151f939aaa337832cddb1aab8778deaa8e85bbcb620cc144355688e87107f9043237d19e68add3bfef5fa45da141506728c5c09ce2c087cf12a944f9f014e7d5221c16edcb204aa154e7e0955dd46ae41df74f1be96d24d5dfce401b6091d16ad7377879ce4feb281f20b3612ef80649dd99ddb3346265d583f3a801c2de15172f66c2d9c32bd685eab1508be364149a52f65904d541199ca01bf5fe68eb508a843e05a3dbad59da64952a1a05307d5faac859d326248d97ae7fff9d4cd3a9cca2d733415be96e756c8548a500d4c5bc32aeac6489f25c38f89c4a8ebdee99143c785d9803eff0158cbed063b0474ae34379138f89a78763f924e3a2dd082bbad9a0bbc8bd9bd7e4ee5e656e081bf8dc496dbe39c53bcb28636314003d7eaf5faf55ee7776301ff87955b5f72ecfcbdd27a7879c055b96a5e7ce6609d730b5f9c4f6b68f61ff5bcd1cec97d2dd33ca69934ee2672cde2e0b9a9ccb913af8c0f8b58acdc457b6efa1ee3aa5d26496bd66116edcf59d9dbf62bade9d9709453a5c4a27a009cc819985639058eab225bf6dcf913d239a75c4ace30b0a3b7b535625193f258dc62bdcc1abc7cbf5679ce88ea9190c4296c953969fdeee34d1413d05f5a48575c81cb840599337f7af1c83c7d1dc9d01e6c0cdbdc5fb90561bc4ea0e5a3feb208b532a2450cea8f2e40c305d08e5a519bfacd80fcaaf98f45825a50fd9158be151154ccb8605b6469d3e61429498a3e62c2f77adbb329b57b9df1749628ff9e269d5eaddf4cc3a171921cfe5840c1c0effbdc641e72f037d24d1d989cc02e4c6885bb33d3333fc529ed97fbf1d95d477bc12dfd9598faa9a6f67bb9a77f866e6e62480e2ce5a8c3fc333563117a7f70ba131b2abfd450a002fa2d173d41febfc4a0a7b0592be46849401d39e4b6c77638480a60d34348c9183bfdc18980254d8349c24c2f3d3b2b17cf71fcd4bed6b53cc58714fd0f087fffec63bb111a2655564297dde49ebba7859190a93ea610d3460f56918bdc84b8df88c2d0f2dafb442566dc2ba59d8e4c2afc4b51fd71a915a3da750cd827bc80e0e839618d2be4e50eda83e5863e070fa2e4da6d4f2fc6af1b427c6917c1baf224c8100ecbb1513ff7ea9e70347a15793cbbb0890f6e9af7495b127f2b7c4312ee905d6a22391a0460fed6454f831937d1054b364d19187e8f5c0968f2022bfcfbd88aa2711967cfb8c235269745be3a39a33e35ddc4ced81a4c89d2ff073fd85dc48a1d4e662f76626cdb8c516943900f93f61acd7f563ef77b7d5c4b5188efeedb52ddce61bb9aaae5e51ca5682527d71fd2f49af5bdd78a7153ac4d58007db75af17a3ed5b2a56dac9a1d4a4e05870adc9fe6885766b462760d6dbab09d563b8f7829e21deb7107435eccd2b540a55142c5d6e83436788aa2ddfc393b5e07fe1505dd932189e41bad5e017a8290d06af0b351b609e3b6398f7bfc859d5773b8d79eee061018e260014c0416f2848f3e8c51c498606f0c84df305e634c80e1eea1f4f23e89e2af00280d4c9d495214325d402ddde03d212e67da71f4cac924ace26ec644072639fe3f07bdf194be2a4fbf9ff5d4db68e9dbbc4321f7ab09bcbd004f41cedd2843e4f505df738cf2f50b741f51eba63632bdafcf95adf2ae906a0bd07f67d6d5f1cc8f2b85a235208e7d365c79eacf1669e76c1c8b51a27d54c20ad4d059c37dd1c5662ffd066441607931a3a2b2a7fb4d7899931bd5f4439412a466b004f784434524083ad9866a6c755a476e523b49c1521e0a08dd048ea15ef24757e725c1c92b92e5d5b1974815767e98f4cba8980876b6a55fc0f8f76c416c1e409a92834f6216310cffe2556d7cf68193e9648a9ba9cabb8c6e3b1e58fa6fa0b0fde870792c455fb979395ee8b3781de481da66ac99ba2bfdec83068b6a34d48c8a35454ef7ae5f451b0cc2a688020e06bfe9665e3a592153c9a413d9b55b7a96fc0b712f00db884c48cd81e7de669b89e22ebf21535e6c31e32672600bcf182daa4433661ed5ad83041f08d5a26a24ef099670e2e4668cf47ebe4949beabea4c9e3474b7c18b571aaadabab012aeb8d48969f6431c1d6d5582391b269f16e115a46af35945ed7c19a1d711945f4af2f4276d7674ece57446a125f095a3dbf56b763ddff9eefd40f3cdb795f898dbc67caab407106c3b15b6b39b2adaafbd69890d77007c0bba17dd703bd4bafb7a992978001e832b26eff37863d494deded100ec1b1e5c5561c0db56eac2d9f6f372285e96b61296dd22b6fed647ff2129f34ea0df8ee8a23b02a5a4ddcdb0ec01b30a7512bc65c79fe90bd446689171443171028a40f088a8043ddf9ebe525c4c959dcb94b5db13c0439969c6ed604830015daad0ecc1ff37e33e1025c22ef5f48206affa4738b25d5f87bf354","path":"m/12381/238/61/0","uuid":"dbb81c96-1bac-4eaf-9d86-099c2556428d","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json b/scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json deleted file mode 100644 index 9decba9f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_62_0-1763367180.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"02786739842135ed69bac8842332a2c605948f5f0ef705efe645beb20bee9f77","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"0cbe7cb150b229a4cca54976"},"message":"15154a398b3872a090d57a2d8b42521ac3265ae97e686535164893fa07c412ddc5ee1b8a908996f6a50900c97e848466f24ae5e9390d1df350d5ee6fc483fed8"}},"description":"","pubkey":"0x8a1b2dfc42b347458adcbcecb162b39514ba5168bc72a7d00816ecb22a52189d70802654a3dd90beb82c8fe64849af245bf4bd53575f66fe00a7ad699f9085fda3fb72063f726cbe1ff13e9c57c3b8e304afe0990193354831683ab6886c5b63f1e0832803d7d9e4d238fedba252ff7f0b427f72723dc8fe879a0aba1d70ea5320cf26192c7e43679e859a4f7fb976255ff965b0bb4b3fec3759a608e01f1afe2f3bce8c2401eba05dcbdde558c3a514dc3b56ca5fd28430f8b95f0360dcbaafacd14af6d8d8f40aa68780dfe77ebd45b776618a13f67046d4ef05ff7dede1a789c271228248d695da2a7dde3190f46fafd25065d2165cf40a7868e92f0e611e5eba3c7f901b278cbd8078db6c1c6bda55a1c4c824bbb1cf7717661668601b4f751fc756b7f3fe9d508df480f77cc589151c75d121f21490e7e572d1775885427ba41f49359eaaf097c7da05bd573ecfd28b957061a38f5be8781a1ad3ed776ff4fe488ab61f8cbad99a7887e92778c5715ad37fc88084ae9a3f283e4a16c1ee7c04ff44933273701afe78e62011dd82b3859d2e68c2e803fb040aabed19509d7b07c4ea1480598757820d0bd0e8e11b6f6b18f35dfcbeae91da13934e7edd7b57ca92089cff95ce47bdb941e366226ab30a6da74adc28f60f23ae989c44e58692c7597607e8d5aa3ed3ee9979cee1622b94596e44ed926e52f5268b662d27d6e3aa46dad76eb2f5e01a0d41227c9280a07f81e65f0718a8bc8839c4e0647c2763974a1d03d78abeebb52b7585e9bd58e5628280a7f60806eaf42099890d56c9207740868d810fcf9f663f41ffd31c1d8c247b7544e516c27f6c709602db487d2cd78039f538eddad7b1615bb0f7bbc5a92daad7d816d52d8e89938e336eb40ab2542ce5fbec6e5c08f3005eca03f89d049507b8040586ecc824d7b78b78b03224eae02bec5450c0262f736a691e28eac7ebd7617af2354747678f01ed878d9e0a3ba5a87eafb41d69e7220fb86a032784ecdc41c47258ef356bd505a37b61a9aa1eb25102fda0c0e0d405f0546c5eb28982e95b2d5b077057a8ee616f311e72ddc061bf47bd2c10935f189daaf81e84e5f993dbaedb9ee99976a8dc9d94737f3cbf8caba5af45eabdbf1eeb6c141461fe903544e2da560b733bf3ee252d4230c3b9cb04625a636dee4da09a36d1121a9191a5aa09eb9fe6744b46d224e5920374537a91dc2782833836784bef175bc6f1dc1b61145079cd0da7e9bbfa3d9abb6bff9661e7ba81e45f94048d9a3aeb0071f29c37d30bc137f6667186ac3029c02d83ee0bff8ec57e9d533af59a0fe0569802927d1e40ddb6e572b0ba4a2b9817cd47af740af392395ff6b33997159774ff81cae2c350feaf0373825d3836881d24f2935b26ecaec72a3c17ec27bdf42cb7ddf414cd29c86c307a27aede28ab1c473484a2456c670bb3fc72bbf7fa216d7329a8090ff4917f02d0e715cf6fde7cdeea69a9c6b71d0eb2efdd5afedc3bb8896cb4ebe488986a13f8f037c68255d7745de9cb5e5963eeb49f6f999018de0e15e48e4f4ea808d849081be8fdd1a547b4737cea42bb73d6b069f62eaedfb6e0afac9d3396b58374bcc65f64831f8a8475c1174fba4bf2c066c89c223b383c5381f112a44dd2cb7500eb133382f35e9e7f58a7e19f8227cbc280c4478119bea98cfd47010800f3ec46a0475673976327f4fc0d18711f2be532ead0be6594d0846b303b3af6342d752f940986f69b8866d2a442650aa9bc9165c5d2370ebce2d322042a3cc69bd0d044516d874dbf221c76da818d4b08171fd1a3f1cf3de3abb50bea0bedc2fc6a6cb684bfca3b75ab4b97f7da60e1e1c154d64efef297b7113e7796034d16d34e933f27cef00c781f2df73a946ba5c801d0ea1d764a4ded7545d92bf30b24c33922b10cf52bd46daaec083ead772e6b6992941aa118eaf13af80e5a20772bd0eb66173cf291ea70897148b4a4ff081f4f260be236220f124ddf51d98d3d65be6f173e5ace6a46d9fae5d9b915f1f65c9cad10cd1b32dd4fe74fff4b919a999be1a759d5d6707a5c905609777ff1949f3b21c78d0fce5f29189f00964b5b7a2ec3935ace8e6ecd8719277e13e1b043f89d2dda685bbb39ed2e34e463ff575edb8420567b0301df41cea613b93c3a38c6882017d918a6a247cd33dca6a97f606ef34c1d5a06149fa060d075a86e4aae96bdc46bc044ca4b159d23d6018c376fe780f0739506f010ac38ce473bbc61f4badee43969dcb4c42f49f16e835a95ebb592dd3380ea3e0b058240219106fff2f32e43ed280636b7e3a3a278088a7487bf6f52e4783033ff95d0128ab3411e1495ba115941446df6742146cd7542b28c2813f36bc6600a944ca7f763a6c54c68f948d54e2a979a066d4360347ff773452eaaef57a167c29ac7da39119c937a7ff69bfdec029a38de96699bb6498908e8e5192da628b2c9a1ccd0d8983504d923c40609e9d3d0f74aa331dee82f4fe7ac8cc37a6afc38fe0df8c442317f0c7ffc3bda9e6775ad88d5944b95659399ad5e6ad4db8254c700477efaf661b1b8ee5af14896134b60998ebc1e8d2e9edfe700b415f832c9cfb6da3bbd4639824c3de17b65f88d9d660e965f9d6f466157a9c031c7b388fb49f52fa75a6874e635d70e32b417749b6f9e0f2bbebe3b38b16472c7466d0ad5a017f4ebe3d73e33423888a3961ae90f64ee0bfaa60cbf529b4d30bbfe987cb7f08faf26a3e734bb5930dc37f11f7d81ab79687f8cf68535df29d7e54900055c1b91141a271525d581fff6d4abdf329cf481dcc8f880ba3993c913b5e9c33516219c975d284d45669f855a7af17ad47628ca5aa183b424471dc2ddafc88ab28b7ee7b4dabb0f77df51fecfc69f92982278f5982a581fd58d2b36d38f88c6e76d93d2d72926a6a9982e5ba55bc39144b83f1d8ef3c893f666c49a5d09a89b98ee3a7dacf6b0f7c775a345e2f7649c8b33a07854ec1d9c5d5d3f1ec7f91397163d773abc49554836508f4b8f4a7e61b2711652632ef72c5d1a122d3afe88b884e2836a1ac419a0656b62d6358f0824aac1120aea829f11133b9298d9cd42c09fe8d18ca8c4127c3057832ab849088aa40814767f584993de0db8c2616cbdf56faa9c1a74bedc0689816d23bc17056a9f57a1e8206107fde206a197e091c88e1aae6814a5e668154c0d184f4dd404af657389c48ac7af437d8c2fca1d8a9397e8f79f88a910971ee150c7388a56540d716f6eaa41e4293ec40b9b54facfc41786361e9168bc1601bffff2318330e06cc442e52a2585f5f5f36e78410064042c789b6991661aeda4e43794990209eb195cafa63f5ec8bd2437cdc9d48d0994e8bf48941c54cb4eeb7982febad6726b542e29ad04373d4c55496b5adb5b0e6702ab7319a38d83eca8261e88808184c5706eec27b620624dbbaaa46668ec9829f051b943e828afcee9221f1999133b030e4ea36776eae59b6ead264cf5271ad2f622d72eba4af704742cde0455f8ad521bd63348e29aac6eff6df095e912adacb80ccc317c75273af7644d999a3ffd499929ad64cbd5bfbf5ed045ba90dec5cfdf14a3d2888f518d7a1f604de8e2824d3f0cf11d2a591361de789068e30c630d9bd2426176e6d24041","path":"m/12381/238/62/0","uuid":"74522ef8-4e35-4fc2-a75f-0fdaa532aa72","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json b/scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json deleted file mode 100644 index db527634..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_63_0-1763367182.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"d20d36f53efeba6f13e1b7a17eb4dc28dfa505a0182aea9ef55319bb1c2f8e4d","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"498eaf0f75f9a579abdf4432"},"message":"a2cc7fa5917c4f2d497637d6e0ea7e8baebea2d51858d6eb185b8ded93f0df072d5d44d7460efe14c842e938dfd7ef6bf495cc66cebe307ac7e041f91df2b42f"}},"description":"","pubkey":"0x5e00602af3781d835eec7030f570a733a0fb8b29835732f794eaff1b0aafb998be74aafa9ffa303b125f1f39b025e3bc09f035dc710a8b1299768a5a4331e738f779c4ffd4f71a0cd5c4d0d00eaee21633b5b8da0b4a6b58ca641293ac05657805aeb546bc9bf58cadca172a12da92b38b4f11ce66bc28a70627ebb836350db177717a290486d685c723d99d5d30069db6e87f3533ad56741e88c78a0916014d0edf8775ad210bfe7b74dd359f38213a7609c709d019c558c090c475f018acefe56934e8816d71c7eb66bc4d45dc284631d3fc2489def12e78f22041f953c7e046825cd518aa929e451094d8371cc7531bb63eacff6662559b96b631797c96bc09b7da3e55922d4c77544f5ea9d553d89b2549e25fd4884d3a32641481bb19bc0eac601e15a77688114446cf09a6a9c3b0a41bd7bde136a2329488ef452789e40ea78f849dde6d5f4d5a19359951e368ca1c27d84d1f4cebcf88fec013a5f33dff2aac49957e6095868c6ea6111312854900c47c90dd449c292abc0b292e05a3791883490bb8142f8b7097b403683a0e8b8e319c303b4ec77ca79852f2c7dcbce8a89b2d68f4e38523b50176428c76764c4bcd29b846298216522a1509c5c6d1fcdf560b2c4fde83091c29fa0fe4ee445a7f7ac6e87668270b5311b21bfff8052985f2bf3e16dd8f4c01859ad9424c12a2d4d507f6414078f833efef3202d36135e826eca72afabbda9578e9b1751dc88b16ee7165b29d360625662245d84a50389252f70c762816af11004734999a48c51629850d1daf306fec8dfcc4efed76927b8798f6d74cc72064c3a81d3d3e64e10d7b0c3c3035df9de380e9c26a39b171a831a75ff2fee562c121ffe47d9be9f36c160db62f54f1fd522d0c8761d8b51d551be135e10b3894f1938edd4a2813f6c471cb092592c7a396308b50f851acfbd5e078284593a15feab2f73300534e5be66b9f0c93ce11f652a009c2d3873cf3174f9c2d72848898cfdde8558ae4d4826427a6d157e848a9676a8aae4f0a1bd2c2f2f7fd074a9d599b4214bd2fdcf628140d0c9e693239962e076ee3f87eafb3252c4480c42776ef7680bcd3762dd1d21266242ce6954224798ceea3f36c6fbefd46d7fc88854486f5f83f2e1ec8a0526600c6339ce7dd5aa03e5fa98d912c223360a93789461721ff8d762b1a50707fc914adfc6c8df7bb4e78c672a571990aca7a283b528a21d335fae144e91e0c5b8c7587fd3d8323ae1347c28ab911623f47237a79e7830d9e118365af4c7331a633b296f350100cf419ce7929d31bfe4bd3156cbfc3a37b350105c8dd106830a2b733be854ebf258169a59b8309840784d574dd9ba40e96941027e0b7ae90715f02cdad35b4aeebf030aabcc6e26b84f6cb4328b24b535dda86f4b6d92a0874f2226d7c44a41809109592d63c7a6f95f698bdd744a33919930efbcf9a9972f1a403c33a0654459c9290e44cca034496c7c13526d390af05d70d91b56745a2dbbda26350b2656c6103e8ba9083baf1fdc1156491d5f6e40d211a6bce3db916c06e118d85f0718a0f4512e539fa906ae445e8cdccfddc029987e59bc5529dc386dda5d70b085dbabf48382ba1ebf73b82f54612fa0fa7e112430d1a173c81d84ca99c14c67ffadc9e7b09fe5b2fd25b50dce11d450357ca405e80153c5b3a569024161de14cdda2f1466bda2f552c790be24a5f7e5682b8300771e47d3c749be5d14793a9836af55c325a74d2fc9e6fe6e6f6c8c08cb9aaa78fcdbfae2fd032986cbf86580f115ab2e4fbc5e38e4dd66a00580fa36fc8f9f900e5b2d3191750cabf4c43a396702a6c8a34133b5e344ef8d8f6a8bde87b4cd5605c26dfcfd503a34453a4a54ac6b01f28f4b9374478a7ff3ad9cad27d2348ff8e136bdc725f9bf6a4b12db13906ab9ccf4de1ea5ea2ec626fea12b2ba4c950455212b04bb90fae9390a03b2602c19989e0d43e884dcaf663d7139a7a4b5d30269cbd86c6c3d49e6ce2943d74103a3d7fdea7dabf6859ee7b69af9a159f520c763f32a1595736fefbe426a59b5ce059a9c61e7c428b874ab0db3ef8ece214f3a6650698a0542a7433f4d82b5f54fa0ac46529429842aaa287524f98e3a6a5452a2dff210394ac7522240315793013776a418e922f90985ef503a98a89c6000f55231e3c7af6e67c6c229298f2e6294e104d0e7ac54153493e8a9714e1cea982e6a3ff82da5fbfdb691092e620b312ac7dd1bbe3716d466a0f442918dcb23b7703e7dd3b888ab9d271b14601ce5f1fc9b7ba0e8c2cce10a1d5509b308de884e6e6ab935417af48d2ace87a4dd424c7aa55d5eaccc2ce87ebc6ebaa97d72de013433c890e5d45f35456ae11ebc306526e3e45242668ee3dd3ea4d023198365455733458f2c6b402ecca3765c7b2206715dc29bb188685c5102df5ddc4ee287e89fb6ef4f36c30ee2b57bc8303da88766bb87ab079f4d65b70b3cd1c650de3f0ffe0169c37232b3933bed6dd02e242d9cde4f58d35108dd2db04cfb3fe6353b498a8ca05c9d52ed6cb74b0f8ff506982674d8407284a019e5ea020bc60318e969de248accc29e19e4bf3ccfe398062c41b351f5c20d0007747665a8b060d95a941f5d223b9fe314bf73f70aca847ece5b81b0a2bcbb04aaeb2e25d98ef6c52096a0a796b34b601e475781eb88e860abdc796b3d97fff97f2f4375ececda9cc9fb7c18b3f0e5891e42e69c1e8f9920dded92e423199223f952b7d187b0122c218cb981458d7896bf3a30721f40ad7b67996af4641c8d1eabdab756d1b5fb8ecbb8937b9b301d0bde627d704397844f0f95f7a191c253c72ad1732ec68ee5bc7b8dc0ae1b19ccce0acfbba2f0f666ffc9fd22d176a99436a2048beb2e6fbb1ce1e80b41fca71ac7daf0277af70b92f8ad3c403136b68ed9e36696b1fd64568a14431923e3bfde5a2e930681af70c901bf8cead347b66448620beae7e9a4c994e6034aafc49354726d0ea29dd118cbb751c31dfd8c9c985068d9569689288c1bbf82234b57037f456628094eef28eddd8f69e648439acb7bff4e555e81fc3871ae286610e56783ec22558e83807edfddfd08a0569a8ecf62f85715e589abac2945febe4a73d9ded776ef450bf60d5fff1c5751e4d6308d08ea772ab3040db09590d6420df34c74966aba07e7274a7a12e3d586814d556f6cef9475420f7f99f133a366f041f59beb5b8de6acdba61225df771b89980eb59c406c6a1e5c7474aca2def2a98d336b7c33b473fd161da33e6950685d0a22a353b13fc608c216392a0348f0c191ba4dd43cdc26a0d165cb3ecadc1b30bfd522302e6f3b4c82b769af04eec1b855d52a22d9715144a77084a20b0ced1a070cad2b6afa1e5ea5f114075edf1b846c83e13f4f98129bc71f5b1328d2bb3ddcc0980b25696ee6728fce1eb65a5a594a63a662c1e8ba7de57207ae1bfead247a820628d80777cdd12b587923913246dbab463713c4388ef05e73df8c8464ddf9c5fc0fe61a9d4dab5fb149b8d444621816acac061f390d5d0fffbb3960865a70d4667228ce7bf8151f6089d1411936e9c6533a3b3125dc6be06f6dc0c419d5c844dc88f3ee2d7babf18dbf27c8825ad2214b79dc9f359ed1690005a3d0ab289b05a891b47716","path":"m/12381/238/63/0","uuid":"31dbbb26-b857-4d4d-bbea-fb59b6604060","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json b/scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json deleted file mode 100644 index 5ca01b72..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_6_0-1763367100.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"473a462eed9c5e07cc2b966bda4a3c9da23ae0b9c99a2e86c4ff1f1e025ca9e3","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"e38879cfed6367f44add1a5a"},"message":"0faf12de1cced845c9bf7a45889c29f34672ca3fc53c0e4713c4f7306efb33d914bdbb9e55ba5ee8b0eebbce1daa069019f4c495cf79869818e85ee888e63bd4"}},"description":"","pubkey":"0x4a9c2d2c5176c7508685af7208a78f30898786e4bdb56fb1bfa4f1ea9beb5815622532bba21ea2998d1a4622b6ce66f0b5ed1b1edbccc1672a18ee70962d6253ac18d0fb15f24d6d17754d597a35fe729134e848cadf20009fa8e734b0d9fd3959cbf26735bc2f2f26f412f58e721bc7c2f7a242516ee30798e3decf1e5a8cafbddf0ef0d7ca6189311bf7e3a1fc53af3fc0cd7f91456dc9bb04d86acb08b2c45ae51a09b860b7504762c0b84593550ca0487ba7290bcb20b4bf22ea75f6515d011b7593a62aae493c470f450f326ffa2477b99e2073fb36ccd6b7ebdc75eed080b3c7eea58ccfdbc10a61a75e4c0212c7770a24d1474a2adff4acacc66089593d0152444714dcd1eff6e0af4fe0e097106ed12e6f46ec77e2b2143ad2da425c6b1762779a775953ab67d62f4e6d070a7203ab19cddbebc41950db101bc7af197ef679df28e7e99f3201b7e4289788a085ee489140a4a675b184ec0d2e651b66f5de1e01f3e4a1ce319c55582460f82ec303b8e9ceb2c891b417f539328fc104879421828705b93f26393c021f93ca6d75482ed0dd1a1d8fb062c5de7153df717007ea033acaf75a891192bda9f14554525a3e50471bce213e2546b02c08f36fb61fd6664df5dffd0460544214d89c276fcaa9d0e1f1a863d4092e41fcdf59930c72b3932102db8e54cf376887d1c808a9338ca02ed0d80c25202fea1f9d6ba5463e674cd891c1cec5573ac43920bdec17c2cf91e49ece986f5ca23a1152403b272cc4109e48ab4aac013f021a00ec3b46df3a4b5b419e3017f7a0556c3a3bb583abfa2d34df880bfd9aa61156e8dc7e9b41e36683293a8ae5c0e77df8592c718c7abb36cb9b6e0b12ea6055e46f41e589e91df985f56a8600294771897eb4f8477f8b3c18b0799fcf0eb60d04b3698e53376c9d6076240b850b40c1ba7244961b0bada425d551ba606bda235342fba4605fe8433bd90d908597e4ec38e788a13380db071d3236a6c7c9ea97decbd3d6b4a8e80472eca2118c5ada6a90e8a130ea75612274948d3611930cd98f7797cbd4a5447fa39d5db21b35a71eea62ee7d85b68a152ed1a7f1b3b5665300d64a6a8c2e1c6a6d1e2951db33e0a9044d7909470459070955a385e46277f581c4dacb18ba42288b940cb6672f0c2ec0e7005c0a8ef2b8ab75c8c85fd19c22b9d06c09e3e5fbbb3b13c5e7aed1820685a3eb174fd01f6043c858e7ab85d1f0235ef1d9f52733411edf15de98c6c727e12df3041e42434f0dc8f4c814e705217f8052b842ab5e8c91d292390efc9bd0c4e15b84d5fe1fa418a1eee3f0bf742e198433c45d001883fd875dc06d31abe6456db1ced3fa2a606fcc3cacc1058a30caf51b411cca3b7b9897e2cd467a663154a965539bee7adcbe9d5e164bde0bdff9b40e80653b082a42d8e35f53d7dfcec3eadc4860f30b2329806ae4e38c11f904cb40b15991b238f1fa96839476ec2eb750d1882fb86d93d12107649232d09053d8706add188ed32e02305714ac03bb3fd63318883bb9e523b5e42781243931de48429177342c6da81fe32fed103ebee86677ef98c3fd36306a7c245fbd57c7ed4f802da18c226cb059cb7aa3c0508d9742aaf60e3d8cc475398c448ae18b823a61090bf8ee264f7b80d7ea04e29eaa9bff49e687393a5c237b186f57e45d9cd8283b2f81211246fbc24aa090c4359c46f51b8eaa8ce9a93ae952a24d7da110a26037f50494bcafb67c6b957979d43663bd88a3a9197aae5f12a1d572e5731b7314cb74a81278f976ef2fa6837b767c04b9eab9f73d49402f6ad8c58e6501a20da2a27791385e4b92c45f5287ce006080ad21027fc33695b76555b1b121ffdb444b572ef6bd576c5dd1104ba4e99e55bdfdf5bb5d7bdd02d4d8d0ad370f5fe83e07e4e60e18b9147225cb339de1043df2c45bfe9ed67d7a31ae8ff9bf8a0e8ca4feafef27f30287f611401395368340735bceba2c60149f720e34e5016ee538094f30d341ca09e775b7be54d2adc7800830d60e4f09382da8e9ff0a08fc1cb7c2cffccdee7d9f2b9915e806826121dd47990a7821766984f3904095ce45cb2361738dd050ba95a8b65ba89d8fd0788e8a7eb7d1cb5b06cb57bf1054602447cee33c45061bb587a189465bcfe3a8c319b8d2df52a2b89442f571aaa9931e2e9c590cf60bd21f73532b063193136568cbd1427f4ad8afb1b02caf67f35dd51f3386839f5aa21d1cd6e612a504d55ad9dc3c227ae34d6113c849276cfd048dca702fcf9a307e9ecdde5cfc91ff364bb8507d3e818a6d1a15ac66a02745f64be3153cc81ead57fefe0316599e67560255b57d14bec443eb338580adac61bf43527527773e4429fb7ee37679dce1ab384d93d135a1aa472b20f567791792038e4939a8f93164c278cf4de024216067af654916a7dbe9241a3c969b8a146db651a459accbba0e6fadb18295b8a4e78b9f305e29dfa533125734dec8ab0c72ed60b27ba3327c4ab3ce6ad0fe4a376b78b4de5966e7ee4d1ee13f415c3141f4538c34ada4fb814e309677f6698a7404fce2db04d41476c692182bef050005c0e6dccd6c34e2d7fe699fab4b6d984059e2e12b09d4540aa48f089b080217f738f0c75642909ae80d9f8f5deb39f72b8f67b99c9fc39619167882d3584cc60278c9d7bcb112e2cb3327250b6e33feed7b8b4f0f058957ea3fa15ff26e40bcb17b26f2c01cb48689d9b01ecdc8442b7f2207d0fc47a25010ed8654489c664956dce0ad78d0f17164c23738f0034876c84d11e13c7770ab77a97788c616cc645c210a324d459df914556f5d97f05cbf4483683a8379fb33de3ea9d90f7d78d303ed01f33e7f79b6919fc64f4d49e77cd414937064353d7f5c98f4be202fc1ad7ed554407b3deee1b7f27a2c521b917aa5b4bfba9dc1a53eca36520d3a04544c880fde49ab2750efe6fd2f26ff1a55c5a849a9b5d1d559fc75dbb802e13843e80a76a47f0d3921584eec669def017737436cb7defa693a0c90019cff967dcec8861878997da2e1884e21ce96406ae9adae0a9df39f4930da34eb5ecdc67c117a9bce1eb80a52aa29d2e9540d226f56a1149e7d5dc85cc455aa6baebc3ee05cc085cd3223f8030acd94403b46de14ad5efafd399f3bdcc229d32af553314f03f00fe9007c06390aded5fbaf34bc145cc4e72b9fbd3e65c3ff3cd2492b821c70e9138fd2f327fa0827412d154da7c01b1eecc4b472076dbe5e23154f9bc46cb0724a7d9526796c89a0301a0cd0b6b320370d9b7e37f881ab8aecb8588f06d10a8649832ba276e686d98cf3ff2aa4e57c0902a80ed9476128c948b86c3bec161f623f349bcb19b62e1b398f4cfea8506a64285f7cb3011052bf510929f4308f11787b5d0b12eb01ca4f709b38b2c9a1fcd3d9efbbdb7908165d408d5db3c5c09ee6332bbe8e0d2667690aa580ff37a9101d356607f3a7ca1d9a12e33120222f40a798ca6142bd8292ac3cbcfed25d4cc194ca975ae4ecc99a6336fed67275b8ec18e7b7d077bb1995bab632ac381b58ef13865b374e2f51f310677c394d8f12c32f1e0b94cf19c6d705eefa0999adf907513fe9b693416e5c3a09b77f7f631019fa8fcc317f8af94cfa4a3df8c9113a46268e8e823f58406aee83be","path":"m/12381/238/6/0","uuid":"cb4d87bd-9857-4ee7-b068-f4d37eded7ef","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json b/scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json deleted file mode 100644 index 0b1e020f..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_7_0-1763367102.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"741d0448509e424c9c338c47c9d7cbb29b58af06cb5dd8b64a36cd70541307a0","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"7e7fde963c39bfe4d341f954"},"message":"7375457ee15837fc2582e74b58384d6104596cbd802551c06abdddfd976a5de8f32fdf18e9f03a3ba159b0de1320f87efb3d18c1af528944d55f45c29932f2db"}},"description":"","pubkey":"0xf3f5e4eee801ea3f58a324a546781d6a26eebd9282146636812397b3db6676884deb14edb1a2aa19ea83bfeffc4007253dcac41501a94ee3cf96d4c7acb88802bbd876205b7adc5d54678956744c47b7fa326940df2e6405d22b46c1af76e79a751221de5c065a61e7bcf587d8b9f40b84a5c38cfdf7e1f14fcc091bd7a8bb49f67f9ba04b1b2d29e430a6f079a9a3096d1f19438b3e241f1f1f7265cafe012330b7dc75b0829c9aa2aa44ada74b941251f1fdc590ed357ec6a45e362ce71799220d6c14a2e3c7919346a402fcaac7deb83035f4fbaf6bc98897e3a2640d58f0184ee4f0503a295e8455e7a77e18db3afc036e7f09a1ac308673e5c775e7cc54f68323d246dd52642293dd197793fe98120d063a810232219a19fce656a0e67d405022a9743cf24aee2510fc709d4a42d3d458e5092fc0a70a458d2609dc70c5a295cd456cdc0d74f06731c51e4da0ffe484993b394c6d10ac1ed66a22df8bd612fcf7dc27f26a0adaf6d4e6f913791b92b4ed9a4a75ecfb656973055e6820b27e855a95a0aef4f44eb7d21d633e6aec9b7e8fa0d1bf7a20247d679acf6f3aee5464d2bd06b4a484937eb7ecca8177b45c848430ef87b1784c0e0578279a334bb22598e311ec501dce4fe48cdc10807a34b3a882e2c41604c36dc6ff4fb41f37263788d1765a05c9393b46972b96a0bbe30d5f39d97c6fe2d59e1031161c67f607f584dc4200641a01f6819db13846891e1cb483279a385808c4717783780ba20c16a81562652ef9d13d6bfcb4ee646319f9436acf4529f4c7383a309f5a013d964d54dbd035a49fc7e4e81e5fc212d613993d14e9d5ff0bdf40432c5b4cf398ff76a9fd5138f2d6f54e9b22132b8a50223d9143973e78cc39bd8eb730459df334936d46f2e626b8d992d5bbd8d9aaa637ae008387955d95419156151b913d44f5c8e74476b00475d62a44d7420352bad745f9333cde82b186ac0fcd1ab5a34a2b6674f91d62149249bbc4aa3a6581a5c658bcdf6e637358df75ffeaf590368838d933bb5994582082fa4590ec3b4157578ac2512e7443d7709e7e11fb7b5f23f0732d35a3f19cfa9f7ad20fbeefaf3acc74d51b20d44d5dd2a590e7d520d6291aba9069b5a22be175e30adda82cf22c61371a8e3f8da8c8d5aa3f32509e904ce528d4f9e77446ce0b95ee41e30fa7b74b9eed8378b3109644634b533978336c03143004a55d76035acc0ef7bf606c66b611320ce9152266f7d7354f7cba2619f007ac452b6a0ee45c46e96c50c4613ba07662c8bea11cdf2147e9807f0be9551b775ef89c3a0c754c08846dc2458f96d26af57e2e6493c68531636e8dd341856f41ac425b766427e85d2d1d024386523f2ed003f280fa5d820ea86bd9c1019de4600da65e499b7f02ee60e8e67da17a050e9d9353614ad38a58073e8ee09bf4a3a9d0c863be737afdd14b1c835c14193ca3b4e7ca8015be22e0e6475e7d51c77d33c450626823106d542f08627aa1c804b05d22cc6e8cdbd4b98996df1667165bdff653721bf7449fa400a4d182c8b4f83a53cbb184fd5c2dcf24277fbffb7fd99829b28e724ec0622b01fffcf49f3dee8426eb9584cea47e8d66e648cdfd6ae18c6ae0453eab2fd0810431c7253b01fafca16f44bd1c6727184484118f6f585e3a71008a9e483a1a8ee35c8023201e640dea5514c712805fbb86c7509d9a26930bf1576829c2c56b76263491be0e0e55cf783f44d3151b12e483bcdd7c41474e7e904f1125ff093fda37d8447654d7abaf1bf72c6357213d8dac9d178917e556e7c79e88d244e6c6c36e935de2ead036a60cdffaf168aa55319e22f9b36d9e44669a6b0be53913c4538f4465e34c9ce7bde57241852e9f3243a89864796a3880c53babfbd4d37e52685f0472511c1282023b3bfe51f994702ac660238ebc5846ec714c7e0868d7b626bbbe13b25254518e9c6deec76741b9aef3f44e98e435079803fe3ea45a39f17a35d88c26fc1b1ea85fb39819f27fbaf4c790440289d26c2234a13c724a6c7b3b506539c521f15b9a46f8e96ca5bb0b316d22cd1ef23c6c78a254a46c65d50cb1f51a8123dd97632f4fc4a70ecba2123879b562b5744a82868c59f983b47eb5c53b75f249def12dda2865f7f2935622f1bd8552b4155697b95560026389babdb4ff66cbb99ceffb8abc7bddcbf5c8c64d438a67659f109a5ee25cf6277c76829a1e7a08892da7a4b1e38156c4794b9dc09d81ca7d806fc1d38f0ed82791ed12124df2bd8d31d64ae8859cac9ccffb31d4db5baa6dbf9609886a4d53d6b5e9ca17d00ddb2a7d4c0d7f688974edfbe4c76b263febe6dd5bfda17ec85d5af051ce550e83845c40e3e2bd733019cde7efdca4b2d48a02101579e089cf8b4ec8bec41aa6fb224f5b90a71bbcf4e6cccf8a3b83b3aa943c5a377cd50892510eb39ec82f347eeb2cff8a494205b2a9f5ac9840d5a3863b8fa4c8521aa8ac8e9712d1110537b8c5245aa1c84deb0a02970cbadef762afaba6d0083f551967c7b5961f3ad421cc0206c743220937dcfdfc27925998b16489ccaf03d936ba5a15b7d9678e510e6b243496269eaf6b1739ff6ea5a1c94ee7ff10f93c2ba0e8ff3c1943476b170ccbfe57308f76e59886202bbd703dedb91fb3b05f4cf3a9efafd21b425a3e8233fca8bd3e2db8795d6977b67da294e4bfa090e56b8b35276ccd1e65f50393967712b79ac5be0176765f8e8dcca113c0356fc4bda515b3d14f58d34d5bdf38514713b4710370c5bba217597d2a081dc44862e91379bb8057d6d2c0dba7cef2c03cd03b39fee41a32427e214b06dcded8ec10f1ce65f2e9f0dc03fef7ee24a12ae2bdce2635d9dc4576ea5ae41a84120cad0f758d6a5f271c9e770daf2bf341030ac528ddf365568d3130e9b1a7270288b6fa0ed2edeaf5da6d9912001ed6df99a516e222d2fd8fa408b44015797c58b7048887dcad79140aa26ccadf9d8ddbef5593e6726402cb793e51d5f0599618b39c1b710389db1fdde94fbea581603e10a833515cf8bb1b7e410d1f7fdaf8b1d2d09507ec840fad88eaf22ab9cf7b5e3c3d98f687287c2ec21daee553d4041cda61d98e5741c4681ebb6492862f7e50017b79777acadcd5d3f38e9eb0482a0903bc8ed8f286dc5c215cb12d24c057858973107e0fbad3c1ce6f9f3fce3d7a97035424dcb28f2aca21227241a77c16ddf72842387467afa083f4fc426e0bf20b13f4bd820f9b4b5a1c6f4efe5e832074c0df3265aab28fd997967b7f206c129a7f5590226aac3e84bd566c6441297fee1ed58e9f434b9d64926d5491448441890cdc580c276b12acbe0f50f24a9ee3a95db0494940780b3cccd3b6618716d4a68f65e9661d5eabf7e00bcfbeaee79ec5f49521df7d1efd314dcd282066b4b8b7897c56aaa9bd2a11f33856cca2239ee5265f35c966a2796a018760d986bcac914d677891d1eaaa7c4bca805a8a5429f964d205648e6731ee83fe2a1ba43d39b075471e1d05dc24e4b178e5f916dbe895c62d660909f16ab3dbb38ea42f7ec87dbfc609d4b09b6716f850d4b18374822a3cffbbc19448df753336c550dbe88db678b60de5443c073f63672b81f74b9b0125fb673d0e353aa2086aefa55ae8fbf7492256ce9c070d","path":"m/12381/238/7/0","uuid":"5949fcb7-c83b-4de1-b39b-8b5de0761a49","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json b/scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json deleted file mode 100644 index 50debc7c..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_8_0-1763367104.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"eb6afe7ce1d03f50b8b428897bea06053662168a4771b8aa6b7179f7e8212715","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"826fc497e9a30899e557b8ba"},"message":"dcb91f42f3f42ec4cd325f06a5daad10b099a769e271064fbc71b117d92e1e36952079588fa229b74fa4d18f2a88cb57365c3e155b18383fa13f0d05848763f5"}},"description":"","pubkey":"0x688f4cf076b609ef339374a36501625645a9184e2cc6be997f216872473eee7147f413575752a228792ba233d1b9ecd8724c3018111dc5d083d9a39b96efee1fc0a7068ebfef62cb1bff4dde2faa87deeee567dc66089cfc17666f8aeee83dbce2f193c2c6391d1de0b00f8fdb28b9174294d250712c93c9f84f929c0beb9b4c7dc22dacf02cbccd41d6d5f4eef76eeef883d6f481306cab28bd9959c3cfd4d325829c26ac2597fd8454872771dd39475de81f80dade23d853ec227167708e3cb5704fb874810b611d919c2cb565a9fd75ae413ca25cb7bf018963f745652d48fbce23cb5d56c29ba495472aa087e01b641481b6e40b61852c6d1f3491989484864560e2a21547c9e9d8546765598d3025ac2f6a937d6b89085f63ff05cbdb339261855f38960bfc72ebfe4002cbdb0e5b83b5f1581fa4ab6c010e11d1716a27329be461a4274da3484f5a3df45e84638dc669e0cfb6ce5c1cd1277eb7f65d80fa1cc4fd8b196aa64cc3dee6ebf8d2c9df4a05bbec7d36c6295f95735a5f7c8c166f0a89133fda9202f974b521c828442793cf58c3e367b79dccb205e19db69befd6158e95a0e47fb71af5809277bd60eb9a3a8e8ba3154528c347b815232b586d559c814248b5d9a54c01915c5be45bbb0ebfb4ed639929511fd82179160996bb1e2dcca2e4b77b2bd7f7ac7ceff11e74fc694c48cfc58efb551754659270d4e7645e5cae3ab1489f3fbe088df155069bea55aa4f5c76e9fae78d43262ae355d24eb1ed170889030826c34d7ff516afd3bfae3a73f7fa61e08bd09ba04406f8741b86deb0ea83009d8126381ec87f05c655cbcce9e5a9824ba68318814e730de807ea6e7c7ed2e0793d0f717090db6cebff02b9c2819ce98d31cba04425cc351d9c60dc765f4f58a414c48be7aad870d73b8d7afa411ca4639511e6741cab3eaac5158cfb42e3ac6fd51ada38d94c298eb34bf3f3d50fc0025f13082059199da8775d4c1df54bee35ca8de96ee50c654f5fc0a63f724e6e71b61c13457ca7c04fd139ef9139a6624dd887e3cf611d0ec36c5c7ec4345bdf020fbfc6c33629b3c8c29ac894a546eba0a3f28aaa7aeb008b972704f22e997e2f4969b123b76b894fa6f693c1c96940d95ff0621ea45c500efc166d251b3564b7dbbe21bf78d45ab23c110d520c8cffce6159bf66234930ac047d5cce0ab4fae0f900af6e6e4422ffb8177c2dac23793cb5029172dccd34059969d7c86e9a7384321f5a1b61725a619278fbf87f17217cfe7b2047fcb029fdb3f5c8e1d4bd3d66e3b0ef2dbe19bd8cb43fb50c9e662516c3cd2bced8711f798e02a210fd80a045c20b1775f96e8cd7ab1c612d1852ea3a3f3fd0b400c5ef9ea405d83bf5a0acef7012c518fd5f42dfe5a6aa62d5997a4557e3789aaeb0dc9582822d72440fd2f8844d3046ccd03c1d4902a09f74dd07630675e0b38bf7b0b0da1955fb2cae40d44a00c6db46fed28a08e189d650150c579a2ec14227331c5ceaab7c431ad4565b2c0cd561c52510f667dd2acce8bf5f3d4569e69dad66ce2c6561d3a7621f685610a43fa5b2df4a1ae8826bad291635cb98a2a5b662133570a7ec4b0d6820a18c7b628c536aeb0fd265088e499d69f921ce14f6ca70c61fdd51e0d3b0d040b18ee585942bc0b1625634b4f9ae8b8920b533d9c08fcd003b5588afffd57b099ea32a85f5ef8313357f79d8185add2bee6d2ac05d19841528a6f3783afc1f7449426f539e65f01a1f387ea577168bc62d9088bba27409e21ee3ce847403d8c4f1ade7bcb21c26dbaf8eb9226593c2ccbaf4a9fa71fa7676c37078ca040fb8b2290f4a33308470d82fb7cad1bde6c7ffcf60f407e95cddc7caddfec5324918fac6de5aaefdcf368d0b6c503eac062403db5ff31913c1d5a4d006403bf2f8a39b39853005d1917e6b98540e6ef0eadcb83d006111cd3a4860986fd3feddfdcc1f719cb9f12ea3bb06cf97942b0888f71cc1ace7569b53d9363f42596e19fb4c9c7595c46347228b0b419afbf34dd22615df410aa025c9f2ee673094ad3580fb845511925d773437ae468cf1f4e74785b047e277684e97a6af421cb4d80d709c1f0493ca27f8d5eb7ea64d838fb278c737d863c7b2ecf66df640c38c0dd5a9282722f12cf3c30c511d932fddcadf49f9cc9733aee1a3f1f180f1cb0bbe966525baa41eef1ccaab2a08fdafda4bb812769edc9028de00d04b81cad22fa70bc5c76da13c5ab40247c0e95dab4e791cbe877fdf0a84141abd8a2763a724d99082e8762f3775e8e84cb20450c19640b41c7b057cc430f7cd5e0b6df59ba55db737567065e608a5f5cced72c042584cd4ebcafd1261ac9e8d4799220787af0621e2737efcc05e2b3380b94dabc87d5521c68fc8a25a1fe217d0cdfae32cad94b093c5a272508c0d08c4a12e5863d9ba36a35a4eafcdbc43a1791391f13367d63d533326ba0b29c4f1c311e4b3bd23fcff7a175fe11416a2b687ec611fcec6d1631eecf1610caf0bab7ae85dec5ffe5efc15389fab3d4d264ab79183ee416630d7ce36de415ce0dfb1b98536585fb2a25a3d1396660801bbca1a01c7338564df173a483abe995dafd1ad5948ac7f082251859fd34f47bdc357e863cf85368a557b43d92bf8f2024821768332ed84958007b12c4a5f46cf6476f70fbc4b386c5945ace421c966dbe7cb43cc87c9a72e76a4c971da981b2e5b467bc58c8de2949aaab95a0fa8d7f0fb427343ec6db937e8297910acbbd98605f77467df9ebda746ea5a3813f12172ba273ae07f5c5b02bd6eb4fa71e347a5c611bed1b356f7d2ceb0f173e22629fe899eaaa132227dd8aa71c039fcf4f18ae51048a1ef3c00c5888db2592745c452a2360d48bd61ee9bc61f0e6eb2ea1788a1bfb63f0727647d5c1082bbaee1305a7df22803eefecf6d72a69a6584681693a8b9b39e16eb6d1411b609508bb00d02fe431f6e171050b981c00748e1c5f50ca02daf00a49048b2e33c0955ecabe2b7642c0b5f341b1a7690e4cbfd31601d703c7f41849fd76b96ad109411d5f4b3cb50cb867ed04b5381b3e4b09489a07cca29e58884ac5cc9f0c074a9622f23563b9760d00c8ae2ba36d7bde8e4c987b6f70fedf12825e12206f41623c469f032c3e409cbaa9bc7b6021dd836ecd82c843b4f61095a3be922d0994427107ee0282b0ee82702bd2787074fa161ed91da0eb01272b1f7d29cf54c334afc7bb80b2a44af3ba975a871540dee2269873a96a3c37635e4b87aa8349c17f85335eaffb2c3ca1a8c0f9acc042bb7f29e680a51688ea89eb15cae1f4e1638562531f2de7fb87dac8a45200bece6b13310f50ad3379bbc1b3ca1375b57bf699919a9cb9d30fc6936627114726386b11bd380813f1d019c03d1da5861af25a708b486fb32debbc464d1f9797d3d07f17a046f413cc7f735803e011ac4c3663d36a28e7dfab6bfd7f985f48782fc126b78702711ab92a1acd56078c10d0b818c0eedec82299792608c0b3a14f0f4eb824b7639b998101d97bfc08cb4f4898e402a1eae753eb21e39949f9a2ffd14b4bce37d3df65fd0a0dcc4c7f7611d2442243abdc77f6108217f0984a7c26a0d30ec26854cece3dad5619bc84096b7d523e1fad9b003d93d64d3e4fd934d3f","path":"m/12381/238/8/0","uuid":"115fc60f-8c20-473a-8adc-9fc4160e2ead","version":0} \ No newline at end of file diff --git a/scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json b/scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json deleted file mode 100644 index cc24e2d6..00000000 --- a/scripts/consensus/validator_keys/keystore-m_12381_238_9_0-1763367106.json +++ /dev/null @@ -1 +0,0 @@ -{"crypto":{"kdf":{"function":"argon2id","params":{"dklen":32,"m":262144,"p":1,"salt":"0b16b39a1fa6ecbbe467271fd72709a8f5a745be729bbbf6ba75ba4f7fd3f28e","t":8},"message":""},"checksum":null,"cipher":{"function":"aes-256-gcm","params":{"iv":"daf183fa60dd2041a321c84b"},"message":"8289f56101f2ac955f935535803869d225faebd63632a1d0c4e07ba5e2890d91904eaaff224d5d62c05a772c7bff1e4856dce6de52d5989aedf237dc382f1bd0"}},"description":"","pubkey":"0x73dadca9a3bbca8cdc8d68706d839953942b47b3035918d8079c39706d2aa8e9597b171c6aea10062beda8a87c6f1636d3d6d43b726812a69ffec4517d2e259dca0d3e3befc173dbef8c4b9e6d475e101c4527b98e2ae1a9db3764689fd1c15f89ddb973e92ad02e343d346903ac56a69fbacad80e83e37cf875088832f9a4672644225cf9c63228006173eda798936239b719a8ddac64c11640d7022b6762be9fd8769c2c67c9a670f40681ff3d5b127ec6585412daf15e09205536e212f451f10e29e040b4745c0f6aa64d39850060f51725aeca33cfc0ce07573aca6ba6f673f4ee54ed6bd997f233a94feac0a37bb089405bf18481bb32d28452d4e599742221175bc40b96df5cb2a6d7fbc3f831be1242dd579bc4328547d130fe0f325aea0aae385bcf00ca570ef6a936b815f8257d99a4bd3311e21ee2f71863ffc399a78513bb4ba8160d23f3531f7fa10a0bad46eeeab5774f057a971b87e7b69b0a6d3098c433304a4de4e6bf8c3cbe37892dc1c7d4dd97c09ec59956fd154011244b9536aa7113feb162ede1f820f0b542059df48eb917afe0212534354aa0d3e5359b30ea13eac95833e7c1896672b0994e5a9405bb297b3b9f26a98028dffdedfc88fd56ca1581d057b19bc93b4da32cd38497832dee2962896aa1f4e508e564e88ab1ea92a53625c6c676f0c2e5d531232ece771e5215f3414a8022336a8ac97774ad38126ac8f8a554a9a2bbc90c32eb4360bebfe428336e789fc39e24e469275c8f57326866c1b40592d0f9a75fdf99872844b1c42f9a1414d724671a63f9b9f9eb1ccaaf5c4293852e4e9b3b36ce5c962293a59cff356c3beade42c765b4c8963ec56788c0e53afad591008c3e9b08be9c5b3735847094cbc1fd3ae00fbf992cc5012964142827e627d8a34c09f14426cb76e484294279cc152a7215e631205110c3d754c80166bd7435855990b05cdc19b300665424fd37b94abd4cb1c89e9a90d5fc1003d7bba44a4925029e413003f7a1aba379836d7d687ae40183eb443b8538aefc2be90610dcfb86e2a1cffbd21b80c12692e3850cf797f0ded1ed719b410f724d0e8bf86e74f6b16883a47f54d45252f430c3f2b779d550b47aa86869b02110e8bfcf971af04f26b635bfb0da255bdc1e32d23b10c24c04690bf423792dae45d990be9e1d99efd571343ce578c754f9a380aed3438f4d9b84e73bcee688145e10c7658c3bb4d9ef8d70798beb0ce8c00fbdf75a1ba20538176422f317f687f9e81fc52d9884cfd69940079d3d34d44c2cd898c926cb4fc1a64c4cafd6508f77df2de8176cc6fea4da00cba726bb5b287c12e485ee97821b2a73b8d87b2c33f4939ebcb20d14a73753ffb8753599b58727d32e3dbb16ca7a451bf1db9cf8d14eb381a2360596289bc5632e5c32eaca19071f36ff4549d2d0f670b18a11b796a3a6e63ae665d8c256544f4afd0b61a6f6e9d4863dec3527b2341303aa98a11aec45d41f34791cdf1b6187e403461e579d5e75691bd1a83c450041757c4c26ba40f28b4c46ded14e76aeba09c48196b61fa8cee72331d4b7fe4cce59bc09b13009eea592c3f92f1d8b415f6aa5a31c1a0cd1eb98d88b01b1e2a14f7244afa6b32843806309be32ed75e7adc56246f19da86ca33bfca6f22d6027efc44cfa582ea5d33b5c1470a7b2c34e26a40b4a7390be7d2463cae6a5b6a2da74c577b290ac623fc3e5ab0c1efe7f6e50fb90449939d693dbe26bd0a3aef5b87c52bfcfc9d030c291053223f52d19344a16c9a7bec28f9e00021aea63b6a69704e4136ff7f3951664aa10ceeb1a9434a424eb07cb20038edd8daa64c3673229b2c52f5e214416a7ba3f604f3e53d5181be39e6250d3023808b05a71ea3139b0ccc72e87fd08ed407be3fade1d3d9b6be51ecc105c1ee3db0354bd867aca2d1b45bd580a9820b86b656f21aaec81d9efd9e4878e888d7375be51385cfb8b5f4ec0bbf33dd8779ed9a38965fdca77422a7de52db53a29a0598787eed54682c559a2f75f49b14e8917fb4a5aca3259b0c4cd6cea2f54a6a8ca7101e62bfcb1a044d3f4261efdff18c6d8a4ccf635dad0c314e8d59cd6ec3973b1d3092d1628129752227cca76fc300e4a5739aac66680d31a001b447d743de9cbcc9b89a12d3aac011da62b8b1d8e1af7419be3b46c7373a4cce89df15c8b3251e39c06a08a275b58ba106bf6215633182b645337e48d338c4a988599dd734380f3345b84f2ab0cd24d437dc746747abf48bff1a1007b3bb206359940e3b8505e0820bcff34016cffd791e0568f5bd878bb2b109703f848c3ff99adff59efb437cef6645cf8c080149e74fbd270d700e4c954c92ecf72ece3486ac34d624ed180ce8c866c7871f8965a18c048be3cc764afb05362a976faa2334906df45da236a8d57a93c04cd32f129ba15fd0fb056064c36b97a3532400148ab32c7a4753079544dbc06e36a7c5e63e089d608ddf831bfb15f742907f9996b8e71a481ec9c9637d32cf206ab98e240270e2032b66a8ee739cb8840de3e691a7aa27b8f56123a4335332ab779991ef61e1410539b1e604173b44ee9bbd39a83127fe5c33c78f6c0dd08bfaac3c90f10c2a3bed0aeebd9ee603a33fe730b8fbd4063b6685c5c73d7825f8c11fd387d0b52819e41a2c71b3e07e1aeab62e3266a2d4b7254c4420861ee666cc3b443000d9ae1c23bbc0b585a9a7ca879b4e1d9eb254a630d3baf1034833833d236ad94500675bcf4d8934e761299d08f6c8e8d77e5a758dfe13486817c37c37a13d3ae2cd08c330d1bf33272aeb3990cc5eb916f557b8ee01b7dd136bb9084a2c7b445b629e9ab0e4b8e609d566c9fff48ea9a3923ce73d18cbe162bcfa4a2301a1bed82c3ac6ab88877284eddb421f05f388017488bc34c4ecb46754ce614de86b96d5ee588e758fbf990bdc2fae9f1cb69423c87fcf06142db0df76101605ecc2547827b8781de09c263726c18d6fe897c169cfbfd2384a34a5c8008f2581f7c702f9179ae70b32eb8f023cdc7d7af3bef213766d792869cb02ffedbdcf0b24561c702b9a546833796cc2e40ccf29415ce7d80ab64338c9b1fc34ad880185dfe77b38bd7a4de43534b3846280a401e1bc6fa849550c035d14d6e754b34db5b93fd14de4b68ea5625bd3b76decbe0221cfeb16aa15367d5b08d76755c8a9aed006ac772db4791463a6bb03a6ce02ae6ea1af99926d100244e719a3cfc0a3478438b80ca36d49771ac4978b83106fd3f5af37c73084c9fd72ca521130bfd466d268769f7bc4690a613a6868c3e0416bf7c2ed8bb7822c63b1dff8db9f3e4baf8e7a234051267b043138ecf955a4d9e4540956534e8885f65616a2bc7b2ca9afe11fd5873bd41e97e559392b05ca5825e6cb5d803a1743ecd6ec3eb45cb27dc6bf5953e233b2adfdc637bb882c25bd31d5cfbbcb400ffb16fab434ce9080716d70b335f802f86461275b2588bb055226c49a1ad4d8c563516436f4605472b1789cc39a4689e7f13136015bbe924db5c2c7d01fdf842001796ffba8dd0da2beda286b700acec38b1d9af97b04476ebeacf999766bc0ae18e72636ec82436f177019bea3e6c1fad6c05fc204e56120680605291acb9f5415b617ee0c5003bb672a3641dedb7","path":"m/12381/238/9/0","uuid":"57eecd0f-43f5-4c43-a468-a653dab5f72f","version":0} \ No newline at end of file diff --git a/scripts/consensus/wallet_password.txt b/scripts/consensus/wallet_password.txt deleted file mode 100644 index e9a9ea1f..00000000 --- a/scripts/consensus/wallet_password.txt +++ /dev/null @@ -1 +0,0 @@ -12345678 \ No newline at end of file diff --git a/scripts/execution/genesis.json b/scripts/execution/genesis.json deleted file mode 100644 index 7459b59c..00000000 --- a/scripts/execution/genesis.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "config": { - "chainId": 32382 - }, - "timestamp": "0x6537e138", - "extraData": "0x426574614e65742c205a6f6e642c20584d53532c2044696c69746869756d2121", - "gasLimit": "0x1c9c380", - "alloc": { - "Q14dc79964da2c08b23698b3d3cc7ca32193d9955": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q15d34aaf54267db7d7c367839aaf71a00a2c6a65": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q1cbd3b2770909d4e10f157cabc84c7264073c9ec": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qcfec0cbee560cbd6ed89580204af71448f1fb8c5": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q73308de47979b11dbd527534db61118010264612": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q7e93e63a4efe335543278c450914ddd021367956": { - "balance": "0x43c33c1937564800000000000000" - }, - "Qfc9ed32c051759c88dc5e673940b72fc2f1eb480": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q32b364a797bc307149e9caaf0eed125a99c148a8": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q5880b045f70db5a8452007f8a7fdc21a4c114f1c": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q50847b98252a1ac43adb267c4d396189e5954ade": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5": { - "balance": "0x43c33c1937564800000000000000" - }, - "Q23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q2546bcd3c84621e976d8185a91a922ae77ecec30": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q3c44cdddb6a900fa2b585dd299e03d12fa4293bc": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q4242424242424242424242424242424242424242": { - "code": "0x60806040526004361061003e575f3560e01c806301ffc9a714610042578063228951181461007e578063621fd1301461009a578063c5f2892f146100c4575b5f80fd5b34801561004d575f80fd5b5061006860048036038101906100639190610b67565b6100ee565b6040516100759190610bac565b60405180910390f35b61009860048036038101906100939190610c59565b6101bf565b005b3480156100a5575f80fd5b506100ae6105fb565b6040516100bb9190610da7565b60405180910390f35b3480156100cf575f80fd5b506100d861060d565b6040516100e59190610dd6565b60405180910390f35b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101b857507f85640907000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b610a208787905014610206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fd90610e6f565b60405180910390fd5b6020858590501461024c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024390610efd565b60405180910390fd5b6112138383905014610293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028a90610f8b565b60405180910390fd5b670de0b6b3a76400003410156102de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102d590611019565b60405180910390fd5b5f633b9aca00346102ef919061106d565b1461032f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103269061110d565b60405180910390fd5b5f633b9aca00346103409190611158565b905067ffffffffffffffff801681111561038f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610386906111f8565b60405180910390fd5b5f610399826107dd565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6103ce6020546107dd565b6040516103e2989796959493929190611250565b60405180910390a15f60018a8a8a8a868b8b6040516104079796959493929190611328565b602060405180830381855afa158015610422573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610445919061137f565b9050838114610489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048090611440565b60405180910390fd5b600160206002610499919061158d565b6104a391906115d7565b602054106104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd9061167a565b60405180910390fd5b600160205f8282546104f89190611698565b925050819055505f60205490505f5b60208110156105de5760018083160361053d57825f826020811061052e5761052d6116cb565b5b018190555050505050506105f2565b60025f8260208110610552576105516116cb565b5b015484604051602001610566929190611718565b6040516020818303038152906040526040516105829190611743565b602060405180830381855afa15801561059d573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906105c0919061137f565b92506002826105cf9190611158565b91508080600101915050610507565b505f6105ed576105ec611759565b5b505050505b50505050505050565b60606106086020546107dd565b905090565b5f805f60205490505f5b6020811015610757576001808316036106b45760025f826020811061063f5761063e6116cb565b5b015484604051602001610653929190611718565b60405160208183030381529060405260405161066f9190611743565b602060405180830381855afa15801561068a573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906106ad919061137f565b925061073b565b600283602183602081106106cb576106ca6116cb565b5b01546040516020016106de929190611718565b6040516020818303038152906040526040516106fa9190611743565b602060405180830381855afa158015610715573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610738919061137f565b92505b6002826107489190611158565b91508080600101915050610617565b506002826107666020546107dd565b5f60401b60405160200161077c939291906117d1565b6040516020818303038152906040526040516107989190611743565b602060405180830381855afa1580156107b3573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107d6919061137f565b9250505090565b6060600867ffffffffffffffff8111156107fa576107f9611809565b5b6040519080825280601f01601f19166020018201604052801561082c5781602001600182028036833780820191505090505b5090505f8260c01b90508060076008811061084a576108496116cb565b5b1a60f81b825f81518110610861576108606116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806006600881106108a3576108a26116cb565b5b1a60f81b826001815181106108bb576108ba6116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806005600881106108fd576108fc6116cb565b5b1a60f81b82600281518110610915576109146116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600460088110610957576109566116cb565b5b1a60f81b8260038151811061096f5761096e6116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350806003600881106109b1576109b06116cb565b5b1a60f81b826004815181106109c9576109c86116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600260088110610a0b57610a0a6116cb565b5b1a60f81b82600581518110610a2357610a226116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080600160088110610a6557610a646116cb565b5b1a60f81b82600681518110610a7d57610a7c6116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350805f60088110610abe57610abd6116cb565b5b1a60f81b82600781518110610ad657610ad56116cb565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535050919050565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610b4681610b12565b8114610b50575f80fd5b50565b5f81359050610b6181610b3d565b92915050565b5f60208284031215610b7c57610b7b610b0a565b5b5f610b8984828501610b53565b91505092915050565b5f8115159050919050565b610ba681610b92565b82525050565b5f602082019050610bbf5f830184610b9d565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610be657610be5610bc5565b5b8235905067ffffffffffffffff811115610c0357610c02610bc9565b5b602083019150836001820283011115610c1f57610c1e610bcd565b5b9250929050565b5f819050919050565b610c3881610c26565b8114610c42575f80fd5b50565b5f81359050610c5381610c2f565b92915050565b5f805f805f805f6080888a031215610c7457610c73610b0a565b5b5f88013567ffffffffffffffff811115610c9157610c90610b0e565b5b610c9d8a828b01610bd1565b9750975050602088013567ffffffffffffffff811115610cc057610cbf610b0e565b5b610ccc8a828b01610bd1565b9550955050604088013567ffffffffffffffff811115610cef57610cee610b0e565b5b610cfb8a828b01610bd1565b93509350506060610d0e8a828b01610c45565b91505092959891949750929550565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d54578082015181840152602081019050610d39565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d7982610d1d565b610d838185610d27565b9350610d93818560208601610d37565b610d9c81610d5f565b840191505092915050565b5f6020820190508181035f830152610dbf8184610d6f565b905092915050565b610dd081610c26565b82525050565b5f602082019050610de95f830184610dc7565b92915050565b5f82825260208201905092915050565b7f4465706f736974436f6e74726163743a20696e76616c6964207075626b6579205f8201527f6c656e6774680000000000000000000000000000000000000000000000000000602082015250565b5f610e59602683610def565b9150610e6482610dff565b604082019050919050565b5f6020820190508181035f830152610e8681610e4d565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c696420776974686472615f8201527f77616c5f63726564656e7469616c73206c656e67746800000000000000000000602082015250565b5f610ee7603683610def565b9150610ef282610e8d565b604082019050919050565b5f6020820190508181035f830152610f1481610edb565b9050919050565b7f4465706f736974436f6e74726163743a20696e76616c6964207369676e6174755f8201527f7265206c656e6774680000000000000000000000000000000000000000000000602082015250565b5f610f75602983610def565b9150610f8082610f1b565b604082019050919050565b5f6020820190508181035f830152610fa281610f69565b9050919050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206c6f770000000000000000000000000000000000000000000000000000602082015250565b5f611003602683610def565b915061100e82610fa9565b604082019050919050565b5f6020820190508181035f83015261103081610ff7565b9050919050565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61107782611037565b915061108283611037565b92508261109257611091611040565b5b828206905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c7565206e5f8201527f6f74206d756c7469706c65206f662073686f7200000000000000000000000000602082015250565b5f6110f7603383610def565b91506111028261109d565b604082019050919050565b5f6020820190508181035f830152611124816110eb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61116282611037565b915061116d83611037565b92508261117d5761117c611040565b5b828204905092915050565b7f4465706f736974436f6e74726163743a206465706f7369742076616c756520745f8201527f6f6f206869676800000000000000000000000000000000000000000000000000602082015250565b5f6111e2602783610def565b91506111ed82611188565b604082019050919050565b5f6020820190508181035f83015261120f816111d6565b9050919050565b828183375f83830152505050565b5f61122f8385610d27565b935061123c838584611216565b61124583610d5f565b840190509392505050565b5f60a0820190508181035f830152611269818a8c611224565b9050818103602083015261127e81888a611224565b905081810360408301526112928187610d6f565b905081810360608301526112a7818587611224565b905081810360808301526112bb8184610d6f565b90509998505050505050505050565b5f81905092915050565b5f6112df83856112ca565b93506112ec838584611216565b82840190509392505050565b5f61130282610d1d565b61130c81856112ca565b935061131c818560208601610d37565b80840191505092915050565b5f61133482898b6112d4565b91506113418287896112d4565b915061134d82866112f8565b915061135a8284866112d4565b915081905098975050505050505050565b5f8151905061137981610c2f565b92915050565b5f6020828403121561139457611393610b0a565b5b5f6113a18482850161136b565b91505092915050565b7f4465706f736974436f6e74726163743a207265636f6e737472756374656420445f8201527f65706f7369744461746120646f6573206e6f74206d6174636820737570706c6960208201527f6564206465706f7369745f646174615f726f6f74000000000000000000000000604082015250565b5f61142a605483610def565b9150611435826113aa565b606082019050919050565b5f6020820190508181035f8301526114578161141e565b9050919050565b5f8160011c9050919050565b5f808291508390505b60018511156114b35780860481111561148f5761148e61112b565b5b600185161561149e5780820291505b80810290506114ac8561145e565b9450611473565b94509492505050565b5f826114cb5760019050611586565b816114d8575f9050611586565b81600181146114ee57600281146114f857611527565b6001915050611586565b60ff84111561150a5761150961112b565b5b8360020a9150848211156115215761152061112b565b5b50611586565b5060208310610133831016604e8410600b841016171561155c5782820a9050838111156115575761155661112b565b5b611586565b611569848484600161146a565b925090508184048111156115805761157f61112b565b5b81810290505b9392505050565b5f61159782611037565b91506115a283611037565b92506115cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846114bc565b905092915050565b5f6115e182611037565b91506115ec83611037565b92508282039050818111156116045761160361112b565b5b92915050565b7f4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c5f8201527f6c00000000000000000000000000000000000000000000000000000000000000602082015250565b5f611664602183610def565b915061166f8261160a565b604082019050919050565b5f6020820190508181035f83015261169181611658565b9050919050565b5f6116a282611037565b91506116ad83611037565b92508282019050808211156116c5576116c461112b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b61171261170d82610c26565b6116f8565b82525050565b5f6117238285611701565b6020820191506117338284611701565b6020820191508190509392505050565b5f61174e82846112f8565b915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082169050919050565b5f819050919050565b6117cb6117c682611786565b6117b1565b82525050565b5f6117dc8286611701565b6020820191506117ec82856112f8565b91506117f882846117ba565b601882019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffdfea26469706673582212209428b2686f73d1b556ed9c70cade1d962c2020a5589ae1d614f3019df9a4b0276468797063782b302e322e302d646576656c6f702e323032352e392e31362b636f6d6d69742e37626437346535372e6d6f64005c", - "balance": "0x0" - }, - "Q5678e9e827b3be0e3d4b910126a64a697a148267": { - "balance": "0x43c33c1937564800000" - }, - "Q70997970c51812dc3a010c7d01b50e0d17dc79c8": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q71be63f3384f5fb98995898a86b02fb2426c5788": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q8626f6940e2eb28930efb4cef49b2d1f2c9c1199": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q90f79bf6eb2c4f870365e785982e1f101e93b906": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q976ea74026e726554db657fa54763abd0c3a0aa9": { - "balance": "0x21e19e0c9bab2400000" - }, - "Q9965507d1a55bcc2695c58ba16fb37d819b0a4dc": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qa0ee7a142d267c1f36714e4a8f75612f20a79720": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qbcd4042de499d14e55001ccbb24a551f3b954096": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qbda5747bfd65f08deb54cb465eb87d40e51b197e": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qcd3b766ccdd6ae721141f452c550ca635964ce71": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qdd2fd4581271e230360230f9337d5c0430bf44c0": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qdf3e18d64bc6a983f673ab319ccae4f1a57c7097": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qf39fd6e51aad88f6f4ce6ab8827279cfffb92266": { - "balance": "0x21e19e0c9bab2400000" - }, - "Qfabb0ac9d68b0b445fb7357272ff202c5651694a": { - "balance": "0x21e19e0c9bab2400000" - } - }, - "number": "0x0", - "gasUsed": "0x0", - "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", - "baseFeePerGas": null -} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 b/scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 deleted file mode 100644 index 488e4495..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-36-13.422740000Z--Qcfec0cbee560cbd6ed89580204af71448f1fb8c5 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Qcfec0cbee560cbd6ed89580204af71448f1fb8c5","crypto":{"cipher":"aes-256-gcm","ciphertext":"1f342c1f7474cd22b6f99796daab8440908e08bf7e3c49afade925a0dcba39b976b561ab977d362ca61525b6c883d605dbea9a2a9878e0b9752f2566cfac6843626956","cipherparams":{"iv":"29111057e8a85b322f2fb5a0"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"7b64eaaa2555580d3e0bed4330991d748a296a7a41105a3901e7bf670699f847","t":8}},"id":"3626f8b6-9c14-4793-9313-a07ebbbe4d55","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 b/scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 deleted file mode 100644 index 11ab43c5..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-38-26.621429000Z--Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87","crypto":{"cipher":"aes-256-gcm","ciphertext":"6ff66084ca874dba310205a49476be2db48417b0ee7ff2660ba5f12aae15231d2ca9c255aaad176248efc405e23b3d445a9719f4ffa7c38e3d783f7454e815e5ddd01c","cipherparams":{"iv":"575d49671c8600f3f398155b"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"2edfa7fef5cc987ec4e39003af9c9bc3310202077125fcae50758f5152a2401f","t":8}},"id":"8fd4c710-8733-41ed-9923-370f202e4ac9","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 b/scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 deleted file mode 100644 index 6156b49f..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-41-33.657605000Z--Q73308de47979b11dbd527534db61118010264612 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q73308de47979b11dbd527534db61118010264612","crypto":{"cipher":"aes-256-gcm","ciphertext":"dca1dca7f75ec9060596e9904ab4f7f12679337521ebdc2fa7b0ebc1bd78b87fe0b80be36c29cbd2c3f51d29114d26292397833715856d689ccbd6ad25605f7fc7f141","cipherparams":{"iv":"23edf2f46e0c001c7500d242"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"237058a3a5dabb4d7bdae37570bfca41c7d90c24c152544d60e200e15a9311f0","t":8}},"id":"21d1fdd5-039b-4362-87f8-e90648f68089","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 b/scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 deleted file mode 100644 index 86e27f22..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-44-52.828077000Z--Q7e93e63a4efe335543278c450914ddd021367956 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q7e93e63a4efe335543278c450914ddd021367956","crypto":{"cipher":"aes-256-gcm","ciphertext":"790bfa51e5995be088e9760abffa4497993ceebeb8f08430edc69aec4e9a67ecf177abeb2c4e2037e951b59a7522a3e140ff7591c8e8fd844f18ca723665c10fcb2ba8","cipherparams":{"iv":"b8d00bcac8c2f1b35897b7ad"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"af38ebf071b1740cbd821400b7100fd1432bf3115c1ee43db6d73512ee8d392f","t":8}},"id":"9b84fbc6-4b50-45c2-9ab7-ef29e3c095a4","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 b/scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 deleted file mode 100644 index 7ff4e5fe..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-47-14.072004000Z--Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5","crypto":{"cipher":"aes-256-gcm","ciphertext":"c7bf3f6d40ad04f395fe73ef356d7127ddcd381aaf94d79649375ea9452fd8fa7d1a200defbf0d638af902fa8964481bf4c78072d3a6e98e884f837410252b043b05f4","cipherparams":{"iv":"ad49509057ac831e6226d31b"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"552cec808c935b8a431beea4ae4e05ef8325f2674998d61d69df8f51c8c52c7c","t":8}},"id":"b830dc39-aaa6-42d3-a905-f55859b34219","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 b/scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 deleted file mode 100644 index e5cf59f4..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-51-25.304053000Z--Qfc9ed32c051759c88dc5e673940b72fc2f1eb480 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Qfc9ed32c051759c88dc5e673940b72fc2f1eb480","crypto":{"cipher":"aes-256-gcm","ciphertext":"4225df23fcc05e8cb1892c04a89c99f20e1071303a997b3ca157bc612117f35e357b96757f0d5ece37ecc86714a2e26cbac2185a7deba5a4f012038594996cca14d496","cipherparams":{"iv":"38bfa2f7bdbf5f4658b30e31"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"e7ca5af9b30257028342bb75e9b6286c079dcd756d1d498e6fcf9e762caafc7e","t":8}},"id":"f1b778b9-2a32-4f30-80ce-172d1e59e31f","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 b/scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 deleted file mode 100644 index 4f8fb749..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-56-03.062957000Z--Q32b364a797bc307149e9caaf0eed125a99c148a8 +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q32b364a797bc307149e9caaf0eed125a99c148a8","crypto":{"cipher":"aes-256-gcm","ciphertext":"9564b66c9e31cf6b0030675760e577259408f6e34a91d9c8dd7b37895c15d534b017f7770ec28bb8426f12730bd61613f881542a1cfe827a9f98afe1efa03496662636","cipherparams":{"iv":"61cb957216e4122b38f6736e"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"4ca4e5f34158fba38f00d97d1d234a6f2a943bf51798ecb53b0467e4f0311deb","t":8}},"id":"000adabb-5c7c-41bf-849c-36ce464946a7","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c b/scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c deleted file mode 100644 index ae32f2c0..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-58-10.306634000Z--Q5880b045f70db5a8452007f8a7fdc21a4c114f1c +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q5880b045f70db5a8452007f8a7fdc21a4c114f1c","crypto":{"cipher":"aes-256-gcm","ciphertext":"752eca8470d3f9f6acc153bd5b9c6fcdefdc6a0c8d4caf411e7a4febeec52ad4db97c9ca4101bf59dc1b42372f9e91e13861d67a7eccca03a9d107f35f53bc38ff210d","cipherparams":{"iv":"4daa2c91e74019a5eba7cb54"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"77939a12ba83b997b2747e19d58c2d3a8d0bd8b46271782fc45ad47a57f59782","t":8}},"id":"7198fbb5-fbf9-4ea8-a3bd-9dabbcfa92e9","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd b/scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd deleted file mode 100644 index a54301fb..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T07-59-10.623353000Z--Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd","crypto":{"cipher":"aes-256-gcm","ciphertext":"2afb6ecc18a229ed5370da74b15d61be169eafd12282537d63191dbe6c1c8a4f629b8553e3adcdedb6d6bcf4c5ff6e264a6467e250fd2e31491879042de080ecf28ea4","cipherparams":{"iv":"3341cb90bcd4a139fbdd689f"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"fdb467085d29a207d60994258c9c826070ef51a6b4623b843594d3df10c4e693","t":8}},"id":"8e95cfeb-5080-4dd8-bae7-af4edfd23049","version":1} \ No newline at end of file diff --git a/scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade b/scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade deleted file mode 100644 index 392dba09..00000000 --- a/scripts/execution/keystore/UTC--2025-11-17T08-00-24.345049000Z--Q50847b98252a1ac43adb267c4d396189e5954ade +++ /dev/null @@ -1 +0,0 @@ -{"address":"Q50847b98252a1ac43adb267c4d396189e5954ade","crypto":{"cipher":"aes-256-gcm","ciphertext":"0206fec81a15888f933e367138f06409c3748f6a67f3eae604a919cb684e3ed5b34484b32f2b34f038f9a8ff9884f28c6741102a0fd25e52b6691b096f60054353a0cc","cipherparams":{"iv":"87de01ae54f4551b719899e8"},"kdf":"argon2id","kdfparams":{"dklen":32,"m":262144,"p":1,"salt":"d6e3cacf5ed332e08a133ffc1f51a9784eb6d1f5bbb5cad6a1bbee4172670c63","t":8}},"id":"8ab33331-7983-42ce-bd60-11c0510a1233","version":1} \ No newline at end of file diff --git a/scripts/execution/password.txt b/scripts/execution/password.txt deleted file mode 100644 index e6199aa8..00000000 --- a/scripts/execution/password.txt +++ /dev/null @@ -1,10 +0,0 @@ -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 -1234567890 \ No newline at end of file diff --git a/scripts/genesis.json b/scripts/genesis.json deleted file mode 100644 index c1eec3d5..00000000 --- a/scripts/genesis.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "config": { - "chainId": 4321 - }, - "alloc": {}, - "gasLimit": "0x8880000" -} \ No newline at end of file diff --git a/scripts/gzond.sh b/scripts/gzond.sh deleted file mode 100755 index 4408e5ce..00000000 --- a/scripts/gzond.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -ORIGARGS=("$@") - -helpFunction() { - echo "Usage: $0 [start|stop] [background]" - exit 1 # Exit script after printing help -} - -start() { - . scripts/env.sh - if [ -z "${ORIGARGS[1]}" ] - then - echo "Starting gzond..." - echo "docker run -p $WEB3_SYSTEM_TEST_PORT:$WEB3_SYSTEM_TEST_PORT theQRL/gzond:latest --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,eth,admin,debug,txpool,net --ws.api web3,eth,admin,debug,miner,txpool,net --dev" - docker run -p $WEB3_SYSTEM_TEST_PORT:$WEB3_SYSTEM_TEST_PORT theQRL/gzond:latest --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,eth,admin,debug,txpool,net --ws.api web3,eth,admin,debug,miner,txpool,net --dev - else - echo "Starting gzond..." - echo "docker run -d -p $WEB3_SYSTEM_TEST_PORT:$WEB3_SYSTEM_TEST_PORT theQRL/gzond:latest --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,eth,admin,debug,txpool,net --ws.api web3,eth,admin,debug,miner,txpool,net --dev" - docker run -d -p $WEB3_SYSTEM_TEST_PORT:$WEB3_SYSTEM_TEST_PORT theQRL/gzond:latest --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,eth,admin,debug,txpool,net --ws.api web3,eth,admin,debug,miner,txpool,net --dev - echo "Waiting for gzond..." - npx wait-port -t 10000 "$WEB3_SYSTEM_TEST_PORT" - echo "Gzond started" - fi -} - -stop() { - echo "Stopping gzond ..." - docker ps -q --filter ancestor="theQRL/gzond" | xargs -r docker stop -} - -case $1 in -start) start ;; -stop) stop ;; -*) helpFunction ;; # Print helpFunction in case parameter is non-existent -esac diff --git a/scripts/gzond_binary.sh b/scripts/gzond_binary.sh deleted file mode 100755 index 1c0d3087..00000000 --- a/scripts/gzond_binary.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash -# TODO: use this code in #5185 -ORIGARGS=("$@") -. scripts/env.sh - -helpFunction() { - echo "Usage: $0 [start|stop] [background]" - exit 1 # Exit script after printing help -} -getOS(){ - case "$OSTYPE" in - solaris*) OS="SOLARIS" ;; - darwin*) OS="OSX" ;; - linux*) OS="LINUX" ;; - bsd*) OS="BSD" ;; - msys*) OS="WINDOWS" ;; - cygwin*) OS="ALSO WINDOWS" ;; - *) OS="unknown: $OSTYPE" ;; - esac -} -getDownloadLink(){ - case "$OS" in - SOLARIS*) LINK="-" ;; - OSX*) LINK="https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.12.2-bed84606.tar.gz" ;; - LINUX*) LINK="https://gethstore.blob.core.windows.net/builds/geth-linux-386-1.12.2-bed84606.tar.gz" ;; - BSD*) LINK="https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.12.2-bed84606.tar.gz" ;; - WINDOWS*) LINK="https://gethstore.blob.core.windows.net/builds/geth-windows-386-1.12.2-bed84606.exe" ;; - "ALSO WINDOWS"*) LINK="https://gethstore.blob.core.windows.net/builds/geth-windows-386-1.12.2-bed84606.exe" ;; - *) LINK="-" ;; - esac -} -setArchiveFolder(){ - for entry in $TMP_FOLDER/* - do - FOLDER=$entry - done -} -download(){ - if [ ! -e "$TMP_FOLDER/gzond" ] - then - getOS - getDownloadLink - - if [[ ! -e "$TMP_FOLDER" ]]; then - mkdir "$TMP_FOLDER" - fi - - wget -O "$TMP_FOLDER/gzond.tar.gz" "$LINK" - tar -xf "$TMP_FOLDER/gzond.tar.gz" -C "$TMP_FOLDER" - rm "$TMP_FOLDER/gzond.tar.gz" - setArchiveFolder - echo "$FOLDER" - mv "$FOLDER/gzond" "$TMP_FOLDER/gzond" - rm -rf "$FOLDER" - fi -} - -start() { - download - if [ -z "${ORIGARGS[1]}" ]; then - echo "Starting gzond..." - echo "gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev " - ${TMP_FOLDER}/gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev - else - echo "Starting gzond..." - echo "gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev &>/dev/null &" - ${TMP_FOLDER}/gzond --ipcpath $IPC_PATH --nodiscover --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT --allow-insecure-unlock --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net --dev &>/dev/null & - echo "Waiting for gzond..." - npx wait-port -t 10000 "$WEB3_SYSTEM_TEST_PORT" - fi -} - -startSync() { - download - - ${TMP_FOLDER}/gzond --datadir ./tmp/data1 init ./scripts/genesis.json - ${TMP_FOLDER}/gzond --datadir ./tmp/data2 init ./scripts/genesis.json - ${TMP_FOLDER}/gzond --datadir ./tmp/data1 --ipcpath $IPC_PATH_1 --nodiscover --networkid 1234 --ws --ws.addr 0.0.0.0 --ws.port 18545 --http --http.addr 0.0.0.0 --http.port 18545 --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net &>/dev/null & - ${TMP_FOLDER}/gzond --datadir ./tmp/data2 --ipcpath $IPC_PATH_2 --nodiscover --networkid 1234 --port 30304 --authrpc.port 8552 --ws --ws.addr 0.0.0.0 --ws.port 28545 --http --http.addr 0.0.0.0 --http.port 28545 --http.api web3,qrl,admin,debug,txpool,net --ws.api web3,qrl,admin,debug,miner,txpool,net &>/dev/null & - - npx wait-port -t 10000 18545 - npx wait-port -t 10000 28545 -} - -syncStop() { - WEB3_SYSTEM_TEST_PORT=18545 - stop - WEB3_SYSTEM_TEST_PORT=28545 - stop -} -stop() { - echo "Stopping gzond ..." - processID=`lsof -Fp -i:${WEB3_SYSTEM_TEST_PORT}| grep '^p'` - kill -9 ${processID##p} -} - -case $1 in -syncStart) startSync ;; -syncStop) syncStop ;; -start) start ;; -stop) stop ;; -download) download ;; -*) helpFunction ;; # Print helpFunction in case parameter is non-existent -esac diff --git a/scripts/local_testnet/README.md b/scripts/local_testnet/README.md new file mode 100644 index 00000000..4d6642d2 --- /dev/null +++ b/scripts/local_testnet/README.md @@ -0,0 +1,29 @@ +# Local Testnet (Kurtosis) + +## Start / Stop + +- Start: `yarn pos:start` +- Stop: `yarn pos:stop` +- `yarn pos:start` also runs `yarn pos:clef:setup` after the network is up. + +## Clef: import accounts + auto-authorization + +The Kurtosis package starts a `clef` remote-signer service (`signer-clef`). By default it uses the interactive CLI UI, which blocks on transaction approvals and password prompts. + +To: +- import the seeds in `scripts/accounts.json` into the clef keystore, and +- enable non-interactive signing (auto-approve + auto-password) + +run manually: + +- `yarn pos:clef:setup` + +This will: +- upload a small `clef-autoui` shim into the enclave and restart `signer-clef` to run behind it +- import each `seed` from `scripts/accounts.json` into `/clef-keystore/keystore` + +### Notes + +- Default clef key password is `passwordpassword` (override with `CLEF_KEY_PASSWORD=...`). +- This is meant for **local testing only**; it auto-approves signing requests. +- If you tear down the enclave (`yarn pos:stop`), `yarn pos:start` will run clef setup again on the next start. diff --git a/scripts/local_testnet/clef_autoui/main.go b/scripts/local_testnet/clef_autoui/main.go new file mode 100644 index 00000000..b49d69ea --- /dev/null +++ b/scripts/local_testnet/clef_autoui/main.go @@ -0,0 +1,320 @@ +package main + +import ( + "bytes" + "encoding/json" + "errors" + "flag" + "fmt" + "io" + "log" + "os" + "os/exec" + "os/signal" + "strings" + "sync" + "syscall" +) + +type rpcRequest struct { + JSONRPC string `json:"jsonrpc"` + Method string `json:"method"` + Params []json.RawMessage `json:"params,omitempty"` + ID *json.RawMessage `json:"id,omitempty"` +} + +type rpcResponse struct { + JSONRPC string `json:"jsonrpc"` + Result any `json:"result,omitempty"` + Error *rpcResponseError `json:"error,omitempty"` + ID json.RawMessage `json:"id"` +} + +type rpcResponseError struct { + Code int `json:"code"` + Message string `json:"message"` +} + +type inputRequest struct { + Title string `json:"title"` + Prompt string `json:"prompt"` + IsPassword bool `json:"isPassword"` +} + +func main() { + var ( + clefBin = flag.String("clef-bin", "clef", "Path to the clef binary in the container") + keystoreDir = flag.String("keystore", "/clef-keystore/keystore", "Clef keystore dir") + chainID = flag.Int64("chainid", 3151908, "Chain ID") + loglevel = flag.Int("loglevel", 3, "Clef loglevel") + httpAddr = flag.String("http.addr", "0.0.0.0", "Clef HTTP listen addr") + httpPort = flag.Int("http.port", 8550, "Clef HTTP listen port") + httpVhosts = flag.String("http.vhosts", "*", "Clef HTTP vhosts") + passwordEnv = flag.String("password-env", "CLEF_AUTOUI_PASSWORD", "Env var containing the password to answer ui_onInputRequired") + allowlistEnv = flag.String("allowlist-env", "CLEF_AUTOUI_ALLOWLIST", "Env var containing a ';' separated allowlist of from-addresses; empty means approve all") + approveAll = flag.Bool("approve-all", false, "Approve all requests (overrides allowlist)") + verboseRequests = flag.Bool("verbose", false, "Log incoming UI RPC requests to stderr") + ) + flag.Parse() + + password := os.Getenv(*passwordEnv) + if password == "" { + password = "passwordpassword" + } + allowlist := parseAllowlist(os.Getenv(*allowlistEnv)) + + clefArgs := []string{ + "--stdio-ui", + fmt.Sprintf("--loglevel=%d", *loglevel), + fmt.Sprintf("--keystore=%s", *keystoreDir), + fmt.Sprintf("--chainid=%d", *chainID), + fmt.Sprintf("--http.addr=%s", *httpAddr), + fmt.Sprintf("--http.vhosts=%s", *httpVhosts), + "--http", + fmt.Sprintf("--http.port=%d", *httpPort), + "--suppress-bootwarn", + "--advanced", + } + + cmd := exec.Command(*clefBin, clefArgs...) + cmd.Stderr = os.Stderr + + clefStdin, err := cmd.StdinPipe() + if err != nil { + fatal(err) + } + clefStdout, err := cmd.StdoutPipe() + if err != nil { + fatal(err) + } + + if err := cmd.Start(); err != nil { + fatal(err) + } + + // Forward signals to the clef child process. + sigCh := make(chan os.Signal, 4) + signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGQUIT) + go func() { + for sig := range sigCh { + _ = cmd.Process.Signal(sig) + } + }() + + uiDone := make(chan struct{}) + go func() { + defer close(uiDone) + serveUI(clefStdout, clefStdin, password, allowlist, *approveAll, *verboseRequests) + }() + + waitErr := cmd.Wait() + _ = clefStdin.Close() + <-uiDone + + if waitErr == nil { + os.Exit(0) + } + var exitErr *exec.ExitError + if errors.As(waitErr, &exitErr) { + os.Exit(exitErr.ExitCode()) + } + fatal(waitErr) +} + +func parseAllowlist(value string) map[string]struct{} { + trimmed := strings.TrimSpace(value) + if trimmed == "" { + return nil + } + m := make(map[string]struct{}) + for _, entry := range strings.Split(trimmed, ";") { + addr := strings.ToLower(strings.TrimSpace(entry)) + if addr == "" { + continue + } + m[addr] = struct{}{} + } + return m +} + +func serveUI(fromClef io.Reader, toClef io.Writer, password string, allowlist map[string]struct{}, approveAll bool, verbose bool) { + decoder := json.NewDecoder(fromClef) + encoder := json.NewEncoder(toClef) + encoder.SetEscapeHTML(false) + + var writeMu sync.Mutex + + writeResponse := func(resp rpcResponse) { + writeMu.Lock() + defer writeMu.Unlock() + _ = encoder.Encode(resp) + } + + for { + var raw json.RawMessage + if err := decoder.Decode(&raw); err != nil { + if errors.Is(err, io.EOF) { + return + } + log.Printf("clef-autoui: decode error: %v", err) + return + } + raw = bytes.TrimSpace(raw) + if len(raw) == 0 { + continue + } + + if raw[0] == '[' { + var batch []rpcRequest + if err := json.Unmarshal(raw, &batch); err != nil { + log.Printf("clef-autoui: bad batch request: %v", err) + continue + } + var responses []rpcResponse + for _, req := range batch { + resp := handleRequest(req, password, allowlist, approveAll, verbose) + if resp != nil { + responses = append(responses, *resp) + } + } + if len(responses) == 0 { + continue + } + writeMu.Lock() + _ = encoder.Encode(responses) + writeMu.Unlock() + continue + } + + var req rpcRequest + if err := json.Unmarshal(raw, &req); err != nil { + log.Printf("clef-autoui: bad request: %v", err) + continue + } + resp := handleRequest(req, password, allowlist, approveAll, verbose) + if resp == nil { + continue + } + writeResponse(*resp) + } +} + +func handleRequest(req rpcRequest, password string, allowlist map[string]struct{}, approveAll bool, verbose bool) *rpcResponse { + if verbose { + log.Printf("clef-autoui: %s", req.Method) + } + + // Notifications do not have an ID. + if req.ID == nil { + switch req.Method { + case "ui_showInfo", "ui_showError", "ui_onApprovedTx", "ui_onSignerStartup": + // Ignore; clef uses these as notifications. + return nil + default: + return nil + } + } + + id := *req.ID + if len(id) == 0 { + // Defensive: treat empty id as notification. + return nil + } + + switch req.Method { + case "ui_onInputRequired": + var in inputRequest + if len(req.Params) > 0 { + _ = json.Unmarshal(req.Params[0], &in) + } + if in.IsPassword { + return &rpcResponse{JSONRPC: "2.0", ID: id, Result: map[string]any{"text": password}} + } + return &rpcResponse{JSONRPC: "2.0", ID: id, Result: map[string]any{"text": ""}} + + case "ui_approveTx": + approved, txObj := approveByFrom(req.Params, allowlist, approveAll) + return &rpcResponse{ + JSONRPC: "2.0", + ID: id, + Result: map[string]any{"transaction": txObj, "approved": approved}, + } + + case "ui_approveSignData": + approved := approveByAddress(req.Params, "address", allowlist, approveAll) + return &rpcResponse{JSONRPC: "2.0", ID: id, Result: map[string]any{"approved": approved}} + + case "ui_approveListing": + var payload map[string]any + if len(req.Params) > 0 { + _ = json.Unmarshal(req.Params[0], &payload) + } + accounts, _ := payload["accounts"].([]any) + if approveAll || allowlist == nil || len(accounts) == 0 { + return &rpcResponse{JSONRPC: "2.0", ID: id, Result: map[string]any{"accounts": accounts}} + } + filtered := make([]any, 0, len(accounts)) + for _, acc := range accounts { + accObj, ok := acc.(map[string]any) + if !ok { + continue + } + addr, _ := accObj["address"].(string) + if addr == "" { + continue + } + if _, ok := allowlist[strings.ToLower(addr)]; ok { + filtered = append(filtered, acc) + } + } + return &rpcResponse{JSONRPC: "2.0", ID: id, Result: map[string]any{"accounts": filtered}} + + case "ui_approveNewAccount": + // Disallow creating new accounts via RPC by default. + return &rpcResponse{JSONRPC: "2.0", ID: id, Result: map[string]any{"approved": false}} + + default: + return &rpcResponse{ + JSONRPC: "2.0", + ID: id, + Error: &rpcResponseError{Code: -32601, Message: "Method not found"}, + } + } +} + +func approveByFrom(params []json.RawMessage, allowlist map[string]struct{}, approveAll bool) (bool, any) { + var payload map[string]any + if len(params) > 0 { + _ = json.Unmarshal(params[0], &payload) + } + txObj, _ := payload["transaction"].(map[string]any) + if approveAll || allowlist == nil { + return true, txObj + } + from, _ := txObj["from"].(string) + if from == "" { + return false, txObj + } + _, ok := allowlist[strings.ToLower(from)] + return ok, txObj +} + +func approveByAddress(params []json.RawMessage, key string, allowlist map[string]struct{}, approveAll bool) bool { + if approveAll || allowlist == nil { + return true + } + var payload map[string]any + if len(params) > 0 { + _ = json.Unmarshal(params[0], &payload) + } + addr, _ := payload[key].(string) + if addr == "" { + return false + } + _, ok := allowlist[strings.ToLower(addr)] + return ok +} + +func fatal(err error) { + log.Fatal("clef-autoui: ", err) +} diff --git a/scripts/local_testnet/enable_clef_autoui.sh b/scripts/local_testnet/enable_clef_autoui.sh new file mode 100755 index 00000000..8d725a1a --- /dev/null +++ b/scripts/local_testnet/enable_clef_autoui.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash + +set -Eeuo pipefail + +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +REPO_SCRIPTS_DIR="$( cd -- "$SCRIPT_DIR/.." &> /dev/null && pwd )" + +ACCOUNTS_FILE_DEFAULT="$REPO_SCRIPTS_DIR/accounts.json" + +ENCLAVE_NAME=${ENCLAVE_NAME:-local-testnet} +CLEF_SERVICE_NAME=${CLEF_SERVICE_NAME:-signer-clef} +CLEF_KEY_PASSWORD=${CLEF_KEY_PASSWORD:-passwordpassword} +ACCOUNTS_FILE=${ACCOUNTS_FILE:-$ACCOUNTS_FILE_DEFAULT} + +while getopts "e:s:p:f:h" flag; do + case "${flag}" in + e) ENCLAVE_NAME=${OPTARG};; + s) CLEF_SERVICE_NAME=${OPTARG};; + p) CLEF_KEY_PASSWORD=${OPTARG};; + f) ACCOUNTS_FILE=${OPTARG};; + h) + echo "Enable non-interactive tx signing for clef by running it behind scripts/local_testnet/clef_autoui." + echo + echo "usage: $0 [options]" + echo + echo "options:" + echo " -e enclave name default: $ENCLAVE_NAME" + echo " -s clef service name default: $CLEF_SERVICE_NAME" + echo " -p clef key password default: (from \$CLEF_KEY_PASSWORD or 'passwordpassword')" + echo " -f accounts.json path default: $ACCOUNTS_FILE_DEFAULT" + echo " -h help" + exit 0 + ;; + esac +done + +if ! command -v kurtosis &> /dev/null; then + echo "kurtosis command not found. Please install kurtosis and try again." + exit 1 +fi + +if ! command -v jq &> /dev/null; then + echo "jq not found. Please install jq and try again." + exit 1 +fi + +if ! command -v go &> /dev/null; then + echo "go not found. Please install Go (https://go.dev/dl/) and try again." + exit 1 +fi + +if [ ! -f "$ACCOUNTS_FILE" ]; then + echo "accounts file not found: $ACCOUNTS_FILE" + exit 1 +fi + +AUTOUI_SRC="$SCRIPT_DIR/clef_autoui/main.go" +if [ ! -f "$AUTOUI_SRC" ]; then + echo "clef_autoui source not found: $AUTOUI_SRC" + exit 1 +fi + +allowlist="$(jq -r '.[].address' "$ACCOUNTS_FILE" | paste -sd ';' -)" + +tmp_dir="$(mktemp -d)" +cleanup() { rm -rf "$tmp_dir"; } +trap cleanup EXIT + +mkdir -p "$tmp_dir/bin" + +echo "Building clef-autoui binaries..." +GOCACHE="${GOCACHE:-$tmp_dir/go-build-cache}" +export GOCACHE + +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o "$tmp_dir/bin/clef-autoui-linux-amd64" "$AUTOUI_SRC" +CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o "$tmp_dir/bin/clef-autoui-linux-arm64" "$AUTOUI_SRC" + +cat > "$tmp_dir/start.sh" <<'EOF' +#!/usr/bin/env sh +set -eu + +arch="$(uname -m)" +case "$arch" in + x86_64|amd64) + exec /clef-autoui/bin/clef-autoui-linux-amd64 + ;; + aarch64|arm64) + exec /clef-autoui/bin/clef-autoui-linux-arm64 + ;; + *) + echo "Unsupported arch: $arch" >&2 + exit 1 + ;; +esac +EOF +chmod 755 "$tmp_dir/start.sh" "$tmp_dir/bin/clef-autoui-linux-amd64" "$tmp_dir/bin/clef-autoui-linux-arm64" + +echo "Uploading clef-autoui artifact to enclave $ENCLAVE_NAME ..." +artifact_name="clef-autoui-$(date +%s)" +kurtosis files upload --name "$artifact_name" "$ENCLAVE_NAME" "$tmp_dir" + +echo "Updating $ENCLAVE_NAME/$CLEF_SERVICE_NAME to use clef-autoui..." +kurtosis service update "$ENCLAVE_NAME" "$CLEF_SERVICE_NAME" \ + --entrypoint /clef-autoui/start.sh \ + --files "/clef-keystore:clef,/clef-autoui:$artifact_name" \ + --env "CLEF_AUTOUI_PASSWORD=$CLEF_KEY_PASSWORD,CLEF_AUTOUI_ALLOWLIST=$allowlist" + +echo "Clef auto-UI enabled." diff --git a/scripts/local_testnet/import_accounts_to_clef.sh b/scripts/local_testnet/import_accounts_to_clef.sh new file mode 100755 index 00000000..53f3cfc6 --- /dev/null +++ b/scripts/local_testnet/import_accounts_to_clef.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash + +set -Eeuo pipefail + +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +ACCOUNTS_FILE_DEFAULT="$SCRIPT_DIR/../accounts.json" + +ENCLAVE_NAME=${ENCLAVE_NAME:-local-testnet} +CLEF_SERVICE_NAME=${CLEF_SERVICE_NAME:-signer-clef} +CLEF_KEY_PASSWORD=${CLEF_KEY_PASSWORD:-passwordpassword} +ACCOUNTS_FILE=${ACCOUNTS_FILE:-$ACCOUNTS_FILE_DEFAULT} + +while getopts "e:s:p:f:h" flag; do + case "${flag}" in + e) ENCLAVE_NAME=${OPTARG};; + s) CLEF_SERVICE_NAME=${OPTARG};; + p) CLEF_KEY_PASSWORD=${OPTARG};; + f) ACCOUNTS_FILE=${OPTARG};; + h) + echo "Import scripts/accounts.json seeds into the Kurtosis clef service keystore." + echo + echo "usage: $0 [options]" + echo + echo "options:" + echo " -e enclave name default: $ENCLAVE_NAME" + echo " -s clef service name default: $CLEF_SERVICE_NAME" + echo " -p clef key password default: (from \$CLEF_KEY_PASSWORD or 'passwordpassword')" + echo " -f accounts.json path default: $ACCOUNTS_FILE_DEFAULT" + echo " -h help" + exit 0 + ;; + esac +done + +if ! command -v kurtosis &> /dev/null; then + echo "kurtosis command not found. Please install kurtosis and try again." + exit 1 +fi + +if ! command -v jq &> /dev/null; then + echo "jq not found. Please install jq and try again." + exit 1 +fi + +if [ ! -f "$ACCOUNTS_FILE" ]; then + echo "accounts file not found: $ACCOUNTS_FILE" + exit 1 +fi + +tmp_pw_path="/tmp/clef-key-password.txt" +echo "Writing clef password file in container: $tmp_pw_path" +kurtosis service exec "$ENCLAVE_NAME" "$CLEF_SERVICE_NAME" \ + "sh -c 'set -eu; printf \"%s\" \"$CLEF_KEY_PASSWORD\" > $tmp_pw_path; chmod 600 $tmp_pw_path || true'" + +echo "Reading existing clef accounts..." +existing_accounts_raw="$( + kurtosis service exec "$ENCLAVE_NAME" "$CLEF_SERVICE_NAME" \ + "sh -c 'set -eu; clef --suppress-bootwarn --keystore=/clef-keystore/keystore list-accounts || true'" +)" + +existing_accounts="$( + printf '%s\n' "$existing_accounts_raw" \ + | awk '{print $1}' \ + | grep -E '^Q[0-9a-fA-F]{40}$' \ + | tr '[:upper:]' '[:lower:]' \ + | sort -u +)" + +count="$(jq 'length' "$ACCOUNTS_FILE")" +echo "Importing $count seeds into $ENCLAVE_NAME/$CLEF_SERVICE_NAME ..." + +while IFS=$'\t' read -r index address seed; do + address_lc="$(printf '%s' "$address" | tr '[:upper:]' '[:lower:]')" + if printf '%s\n' "$existing_accounts" | grep -Fqx "$address_lc"; then + echo "- [$index] $address (already present)" + continue + fi + # clef expects raw hex without the 0x prefix (it still accepts it sometimes, but keep it consistent). + seed_no_prefix="${seed#0x}" + seedfile="/tmp/seed-$index.txt" + echo "- [$index] $address" + kurtosis service exec "$ENCLAVE_NAME" "$CLEF_SERVICE_NAME" \ + "sh -c 'set -eu; printf \"%s\" \"$seed_no_prefix\" > $seedfile; clef --suppress-bootwarn --keystore=/clef-keystore/keystore importraw --password $tmp_pw_path $seedfile; rm -f $seedfile'" +done < <(jq -r 'to_entries[] | "\(.key)\t\(.value.address)\t\(.value.seed)"' "$ACCOUNTS_FILE") + +echo "Done." diff --git a/scripts/local_testnet/network_params.yaml b/scripts/local_testnet/network_params.yaml new file mode 100644 index 00000000..110459f2 --- /dev/null +++ b/scripts/local_testnet/network_params.yaml @@ -0,0 +1,24 @@ +participants: + - el_type: gzond + el_image: qrledger/go-zond:stable + el_extra_params: + - "--gcmode=archive" + cl_type: qrysm + cl_image: qrledger/qrysm:beacon-chain-latest + cl_extra_params: + - "--min-sync-peers=0" + - "--minimum-peers-per-subnet=0" + - "--sync-from=head" + vc_type: qrysm + vc_image: qrledger/qrysm:validator-latest + count: 1 + use_remote_signer: true + remote_signer_type: clef +network_params: + seconds_per_slot: 3 + slots_per_epoch: 6 + preset: "mainnet" + prefunded_accounts: '{"QD5812F6cf4a0f645aA620CD57319a0Ed649Dd8f5": {"balance": "200000000000000000000000000QRL"}, "Qa5AEDb928f8300DE98C66bb4BB66b9bB137e9A17": {"balance": "200000000000000000000000000QRL"}, "Qcfec0cbee560cbd6ed89580204af71448f1fb8c5": {"balance": "200000000000000000000000000QRL"}, "Q33380cd8b47eed92b0dcd1ccca2ee84efd0c8b87": {"balance": "200000000000000000000000000QRL"}, "Q73308de47979b11dbd527534db61118010264612": {"balance": "200000000000000000000000000QRL"}, "Q7e93e63a4efe335543278c450914ddd021367956": {"balance": "200000000000000000000000000QRL"}, "Q6d36b90dc1558a51edfb86d2459ab6a46a6a55e5": {"balance": "200000000000000000000000000QRL"}, "Qfc9ed32c051759c88dc5e673940b72fc2f1eb480": {"balance": "200000000000000000000000000QRL"}, "Q32b364a797bc307149e9caaf0eed125a99c148a8": {"balance": "200000000000000000000000000QRL"}, "Q5880b045f70db5a8452007f8a7fdc21a4c114f1c": {"balance": "200000000000000000000000000QRL"}, "Q2865edce52ea4f22b8ee3bfd6d2eb721c72b64fd": {"balance": "200000000000000000000000000QRL"}, "Q50847b98252a1ac43adb267c4d396189e5954ade": {"balance": "200000000000000000000000000QRL"}}' # tx spammer/clef + scripts/accounts.json + light_kdf_enabled: True + +# global_log_level: debug diff --git a/scripts/local_testnet/setup_clef.sh b/scripts/local_testnet/setup_clef.sh new file mode 100755 index 00000000..9cfd396b --- /dev/null +++ b/scripts/local_testnet/setup_clef.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -Eeuo pipefail + +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +ENCLAVE_NAME=${ENCLAVE_NAME:-local-testnet} +CLEF_SERVICE_NAME=${CLEF_SERVICE_NAME:-signer-clef} +CLEF_KEY_PASSWORD=${CLEF_KEY_PASSWORD:-passwordpassword} +ACCOUNTS_FILE=${ACCOUNTS_FILE:-$SCRIPT_DIR/../accounts.json} + +while getopts "e:s:p:f:h" flag; do + case "${flag}" in + e) ENCLAVE_NAME=${OPTARG};; + s) CLEF_SERVICE_NAME=${OPTARG};; + p) CLEF_KEY_PASSWORD=${OPTARG};; + f) ACCOUNTS_FILE=${OPTARG};; + h) + echo "Enable clef auto-authorization and import scripts/accounts.json into clef." + echo + echo "usage: $0 [options]" + echo + echo "options:" + echo " -e enclave name default: $ENCLAVE_NAME" + echo " -s clef service name default: $CLEF_SERVICE_NAME" + echo " -p clef key password default: (from \$CLEF_KEY_PASSWORD or 'passwordpassword')" + echo " -f accounts.json path default: $SCRIPT_DIR/../accounts.json" + echo " -h help" + exit 0 + ;; + esac +done + +"$SCRIPT_DIR/enable_clef_autoui.sh" -e "$ENCLAVE_NAME" -s "$CLEF_SERVICE_NAME" -p "$CLEF_KEY_PASSWORD" -f "$ACCOUNTS_FILE" +"$SCRIPT_DIR/import_accounts_to_clef.sh" -e "$ENCLAVE_NAME" -s "$CLEF_SERVICE_NAME" -p "$CLEF_KEY_PASSWORD" -f "$ACCOUNTS_FILE" + diff --git a/scripts/local_testnet/start_local_testnet.sh b/scripts/local_testnet/start_local_testnet.sh new file mode 100755 index 00000000..27c1ced9 --- /dev/null +++ b/scripts/local_testnet/start_local_testnet.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash + +# Requires `docker`, `kurtosis`, `yq` + +set -Eeuo pipefail + +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +ENCLAVE_NAME=local-testnet +NETWORK_PARAMS_FILE=$SCRIPT_DIR/network_params.yaml +QRL_PKG_VERSION=main + +CI=false +KEEP_ENCLAVE=false + +# Get options +while getopts "e:b:n:phck" flag; do + case "${flag}" in + e) ENCLAVE_NAME=${OPTARG};; + n) NETWORK_PARAMS_FILE=${OPTARG};; + c) CI=true;; + k) KEEP_ENCLAVE=true;; + h) + echo "Start a local testnet with kurtosis." + echo + echo "usage: $0 " + echo + echo "Options:" + echo " -e: enclave name default: $ENCLAVE_NAME" + echo " -n: kurtosis network params file path default: $NETWORK_PARAMS_FILE" + echo " -c: CI mode, run without other additional services like Grafana and explorer" + echo " -k: keeping enclave to allow starting the testnet without destroying the existing one" + echo " -h: this help" + exit + ;; + esac +done + +if ! command -v docker &> /dev/null; then + echo "Docker is not installed. Please install Docker and try again." + exit 1 +fi + +if ! command -v kurtosis &> /dev/null; then + echo "kurtosis command not found. Please install kurtosis and try again." + exit +fi + +if ! command -v yq &> /dev/null; then + echo "yq not found. Please install yq and try again." +fi + +if [ "$CI" = true ]; then + # TODO: run assertoor tests + yq eval '.additional_services = []' -i $NETWORK_PARAMS_FILE + echo "Running without additional services (CI mode)." +fi + + +if [ "$KEEP_ENCLAVE" = false ]; then + # Stop local testnet + kurtosis enclave rm -f $ENCLAVE_NAME 2>/dev/null || true +fi + +kurtosis run --enclave $ENCLAVE_NAME github.com/theQRL/qrl-package@$QRL_PKG_VERSION --args-file $NETWORK_PARAMS_FILE + +echo "Started!" +echo "Running clef setup..." +( + cd "$SCRIPT_DIR/../.." + yarn pos:clef:setup -- -e "$ENCLAVE_NAME" +) +echo "Clef setup completed." diff --git a/scripts/local_testnet/stop_local_testnet.sh b/scripts/local_testnet/stop_local_testnet.sh new file mode 100755 index 00000000..54442c12 --- /dev/null +++ b/scripts/local_testnet/stop_local_testnet.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -Eeuo pipefail + +SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +ENCLAVE_NAME=${1:-local-testnet} +LOGS_PATH=$SCRIPT_DIR/logs +LOGS_SUBDIR=$LOGS_PATH/$ENCLAVE_NAME + +# Delete existing logs directory and make sure parent directory exists. +rm -rf $LOGS_SUBDIR && mkdir -p $LOGS_PATH +kurtosis enclave dump $ENCLAVE_NAME $LOGS_SUBDIR +echo "Local testnet logs stored to $LOGS_SUBDIR." + +kurtosis enclave rm -f $ENCLAVE_NAME +kurtosis engine stop +echo "Local testnet stopped." \ No newline at end of file diff --git a/scripts/pos.sh b/scripts/pos.sh deleted file mode 100755 index c24de957..00000000 --- a/scripts/pos.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env bash -# TODO: use this code in #5185 -ORIGARGS=("$@") -. scripts/env.sh - -helpFunction() { - echo "Usage: $0 [start|stop] [background]" - exit 1 # Exit script after printing help -} - -download(){ - if [ ! -e "$TMP_FOLDER" ] - then - mkdir "$TMP_FOLDER" - fi - - if [ ! -e "$TMP_FOLDER/logs" ] - then - mkdir "$TMP_FOLDER/logs" - fi - - if [ ! -e "$TMP_FOLDER/execution" ] - then - cp -r scripts/execution $TMP_FOLDER - fi - - if [ ! -e "$TMP_FOLDER/consensus" ] - then - cp -r scripts/consensus $TMP_FOLDER - fi - - if [ ! -e "$TMP_FOLDER/go-zond" ] - then - git clone https://github.com/cyyber/go-zond ${TMP_FOLDER}/go-zond - fi - - if [ ! -e "$TMP_FOLDER/qrysm" ] - then - git clone https://github.com/cyyber/qrysm ${TMP_FOLDER}/qrysm - fi -} - -buildQrysm() { - cd ${TMP_FOLDER}/qrysm - go build -o=${TMP_FOLDER}/bin/beacon-chain ./cmd/beacon-chain - go build -o=${TMP_FOLDER}/bin/validator ./cmd/validator - go build -o=${TMP_FOLDER}/bin/qrysmctl ./cmd/qrysmctl - cd .. - cd .. -} - -buildGzond() { - cd ${TMP_FOLDER}/go-zond && make gzond - cp ${TMP_FOLDER}/go-zond/build/bin/gzond ${TMP_FOLDER}/bin - cd .. - cd .. -} - -start() { - download - buildQrysm - - echo "Create network files..." - GENESIS_TIME=$(bash python scripts/update-time.py $TMP_FOLDER | tail -n 1) - ${TMP_FOLDER}/bin/qrysmctl testnet generate-genesis \ - --num-validators=64 \ - --gzond-genesis-json-in=$TMP_FOLDER/execution/genesis.json \ - --output-ssz=$TMP_FOLDER/consensus/genesis.ssz \ - --chain-config-file=$TMP_FOLDER/consensus/config.yml \ - --deposit-json-file=$TMP_FOLDER/consensus/validator_keys/deposit_data-1763367182.json \ - --genesis-time="${GENESIS_TIME}" - - buildGzond - - echo "Importing genesis file..." - ${TMP_FOLDER}/bin/gzond \ - --datadir=${TMP_FOLDER}/data \ - init \ - $TMP_FOLDER/execution/genesis.json - - echo "Starting gzond..." - ${TMP_FOLDER}/bin/gzond \ - --datadir=${TMP_FOLDER}/data \ - --ipcpath $IPC_PATH \ - --nodiscover \ - --ws --ws.addr 0.0.0.0 --ws.port $WEB3_SYSTEM_TEST_PORT \ - --http --http.addr 0.0.0.0 --http.port $WEB3_SYSTEM_TEST_PORT \ - --allow-insecure-unlock \ - --keystore $TMP_FOLDER/execution/keystore \ - --unlock "0,1,2,3,4,5,6,7,8,9" \ - --password $TMP_FOLDER/execution/password.txt \ - --http.api web3,qrl,admin,debug,txpool,net \ - --ws.api web3,qrl,admin,debug,miner,txpool,net \ - --syncmode=full >> ${TMP_FOLDER}/logs/gzond.log 2>&1 & - - echo "Waiting for gzond..." - npx wait-port -t 10000 "$WEB3_SYSTEM_TEST_PORT" - - echo "Starting beacon node..." - ${TMP_FOLDER}/bin/beacon-chain \ - --datadir=${TMP_FOLDER}/data/beacondata \ - --min-sync-peers=0 \ - --genesis-state=$TMP_FOLDER/consensus/genesis.ssz \ - --bootstrap-node= \ - --chain-config-file=$TMP_FOLDER/consensus/config.yml \ - --config-file=$TMP_FOLDER/consensus/config.yml \ - --chain-id=32382 \ - --execution-endpoint=http://localhost:8551 \ - --accept-terms-of-use \ - --jwt-secret=${TMP_FOLDER}/data/gzond/jwtsecret \ - --contract-deployment-block=0 \ - --suggested-fee-recipient=Q123463a4b065722e99115d6c222f267d9cabb524 \ - --enable-debug-rpc-endpoints >> ${TMP_FOLDER}/logs/beacon.log 2>&1 & - - echo "Waiting for validator..." - npx wait-port -t 10000 "4000" - - echo "Starting validator..." - ${TMP_FOLDER}/bin/validator \ - --datadir=${TMP_FOLDER}/data/validatordata \ - --accept-terms-of-use \ - --chain-config-file=$TMP_FOLDER/consensus/config.yml \ - --config-file=$TMP_FOLDER/consensus/config.yml \ - --wallet-dir=$TMP_FOLDER/consensus/qrysm-wallet-v2 \ - --wallet-password-file=$TMP_FOLDER/consensus/wallet_password.txt \ - --rpc >> ${TMP_FOLDER}/logs/validator.log 2>&1 & - - echo "Waiting for validator..." - npx wait-port -t 10000 "7000" -} - -stop() { - echo "Stopping gzond..." - gzondProcessID=`lsof -Fp -i:${WEB3_SYSTEM_TEST_PORT}| grep '^p'` - kill -9 ${gzondProcessID##p} - - echo "Stopping beacon node..." - beaconProcessID=`lsof -Fp -i:4000| grep '^p'` - kill -9 ${beaconProcessID##p} - - echo "Stopping validator..." - validatorProcessID=`lsof -Fp -i:7000| grep '^p'` - kill -9 ${validatorProcessID##p} - - rm -r ${TMP_FOLDER}/data -} - -case $1 in -start) start ;; -stop) stop ;; -*) helpFunction ;; # Print helpFunction in case parameter is non-existent -esac diff --git a/scripts/system_tests_utils.ts b/scripts/system_tests_utils.ts index b96e2717..bcc0f7b9 100644 --- a/scripts/system_tests_utils.ts +++ b/scripts/system_tests_utils.ts @@ -223,7 +223,7 @@ export const createAccountProvider = (context: Web3Context) => }; export const refillAccount = async (from: string, to: string, value: string | number) => { - const web3QRL = new Web3QRL(DEFAULT_SYSTEM_PROVIDER); + const web3QRL = new Web3QRL(getSystemTestProviderUrl()); await web3QRL.sendTransaction({ from, @@ -239,7 +239,7 @@ export const createNewAccount = async (config?: { }): Promise<{ address: string; seed: string }> => { const acc = config?.seed ? seedToAccount(config?.seed) : _createAccount(); - const clientUrl = DEFAULT_SYSTEM_PROVIDER; + const clientUrl = getSystemTestProviderUrl(); if (config?.refill) { const web3QRL = new Web3QRL(clientUrl); @@ -345,43 +345,71 @@ export const createLocalAccount = async (web3: Web3) => { }; /* eslint-disable @typescript-eslint/no-unsafe-call */ /* eslint-disable @typescript-eslint/no-unsafe-member-access */ -// eslint-disable-next-line arrow-body-style -export const waitForSocketConnect = async (provider: SocketProvider) => { - return new Promise(resolve => { - provider.on('connect', (( +const socketWaitTimeoutMs = 5_000; +const socketPollIntervalMs = 50; + +const waitForSocketStatus = async ( + provider: SocketProvider, + expectedStatus: 'connected' | 'disconnected', + eventName: 'connect' | 'disconnect', + defaultResult: ResultType, +) => { + if (provider.getStatus() === expectedStatus) { + return defaultResult; + } + + return new Promise((resolve, reject) => { + const eventHandler = (( _error: Error | ProviderRpcError | undefined, - data: JsonRpcSubscriptionResult | JsonRpcNotification | undefined, + data?: JsonRpcSubscriptionResult | JsonRpcNotification, ) => { - resolve(data as unknown as ProviderConnectInfo); - }) as Web3ProviderEventCallback); - }); -}; + cleanup(); + resolve((data as unknown as ResultType) ?? defaultResult); + }) as Web3ProviderEventCallback; + + const cleanup = () => { + clearInterval(statusInterval); + clearTimeout(timeoutHandle); + provider.removeListener(eventName, eventHandler); + }; -// eslint-disable-next-line arrow-body-style -export const waitForSocketDisconnect = async (provider: SocketProvider) => { - return new Promise(resolve => { - provider.on('disconnect', (( - _error: ProviderRpcError | Error | undefined, - data: JsonRpcSubscriptionResult | JsonRpcNotification | undefined, - ) => { - resolve(data as unknown as ProviderRpcError); - }) as Web3ProviderEventCallback); + const statusInterval = setInterval(() => { + if (provider.getStatus() === expectedStatus) { + cleanup(); + resolve(defaultResult); + } + }, socketPollIntervalMs); + + const timeoutHandle = setTimeout(() => { + cleanup(); + reject(new Error(`Timeout waiting for socket status "${expectedStatus}".`)); + }, socketWaitTimeoutMs); + + provider.on(eventName, eventHandler); }); }; +export const waitForSocketConnect = async (provider: SocketProvider) => + waitForSocketStatus( + provider, + 'connected', + 'connect', + {} as ProviderConnectInfo, + ); + +export const waitForSocketDisconnect = async (provider: SocketProvider) => + waitForSocketStatus( + provider, + 'disconnected', + 'disconnect', + { code: 1000, message: '' } as ProviderRpcError, + ); + export const waitForOpenSocketConnection = async (provider: SocketProvider) => - new Promise(resolve => { - provider.on('connect', ((_error, data) => { - resolve(data as unknown as ProviderConnectInfo); - }) as Web3ProviderEventCallback); - }); + waitForSocketConnect(provider); export const waitForCloseSocketConnection = async (provider: SocketProvider) => - new Promise(resolve => { - provider.on('disconnect', ((_error, data) => { - resolve(data as unknown as ProviderRpcError); - }) as Web3ProviderEventCallback); - }); + waitForSocketDisconnect(provider); export const waitForEvent = async ( web3Provider: SocketProvider, @@ -394,7 +422,7 @@ export const waitForEvent = async ( }); export const sendFewSampleTxs = async (cnt = 1) => { - const web3 = new Web3(DEFAULT_SYSTEM_PROVIDER); + const web3 = new Web3(getSystemTestProviderUrl()); const fromAcc = await createLocalAccount(web3); const toAcc = createAccount(); const res = []; diff --git a/scripts/update-time.py b/scripts/update-time.py deleted file mode 100644 index 43c8d52d..00000000 --- a/scripts/update-time.py +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/python3 -import os -import subprocess -import sys -from time import time - -base_path = sys.argv[1] - - -def read_file(absolute_path): - f = open(absolute_path, "r") - data = f.read() - f.close() - - return data - - -def write_file(absolute_path, data): - f = open(absolute_path, "w") - f.write(data) - f.close() - - -def update_time_gzond_config(timestamp): - target_file = os.path.join(base_path, "go-zond/params/config.go") - data = read_file(target_file) - - config_start_loc = data.find("BetaNetChainConfig = &ChainConfig{") - shanghai_time_start_loc = data.find("ShanghaiTime", config_start_loc) - time_start_loc = data.find("newUint64(", shanghai_time_start_loc) - - data = data[:time_start_loc+10] + str(timestamp) + data[time_start_loc+20:] - write_file(target_file, data) - - -def update_time_gzond_genesis(timestamp): - target_file = os.path.join(base_path, "go-zond/core/genesis.go") - data = read_file(target_file) - - func_start_loc = data.find("func DefaultBetaNetGenesisBlock() *Genesis {") - time_var_start_loc = data.find("Timestamp:", func_start_loc) - time_end_loc = data.find(",", time_var_start_loc) - time_start_loc = time_end_loc - 10 - - data = data[:time_start_loc] + str(timestamp) + data[time_end_loc:] - write_file(target_file, data) - - -def get_new_genesis_hash(): - result = subprocess.run(['go test -run TestGenesisHashes'], - cwd=os.path.join(base_path, 'go-zond/core'), shell=True, stdout=subprocess.PIPE) - - if result.returncode != 1: - raise Exception("expected return code 1") - - output = result.stdout.decode() - got_loc = output.find("got:") - new_hash_loc = output.find("0x", got_loc) - genesis_hash = output[new_hash_loc:new_hash_loc+66] - - return genesis_hash - - -def update_genesis_hash(): - genesis_hash = get_new_genesis_hash() - - target_file = os.path.join(base_path, "go-zond/params/config.go") - data = read_file(target_file) - - genesis_hash_var_loc = data.find("BetaNetGenesisHash") - genesis_hash_start_loc = data.find("0x", genesis_hash_var_loc) - - data = data[:genesis_hash_start_loc] + genesis_hash + data[genesis_hash_start_loc+66:] - write_file(target_file, data) - - -# def update_prysmctl_command(timestamp): -# target_file = os.path.join(base_path, "scripts/prysmctl.sh") -# data = read_file(target_file) - -# genesis_time_flag_loc = data.find("--genesis-time") -# equal_loc = data.find("=", genesis_time_flag_loc) -# genesis_time_loc = equal_loc + 1 - -# data = data[:genesis_time_loc] + str(timestamp) + data[genesis_time_loc+10:] -# write_file(target_file, data) - - -def update_genesis_json(timestamp): - target_file = os.path.join(base_path, "execution/genesis.json") - data = read_file(target_file) - - timestamp_var_loc = data.find("timestamp") - timestamp_loc = data.find("0x", timestamp_var_loc) - - data = data[:timestamp_loc] + hex(timestamp) + data[timestamp_loc+10:] - write_file(target_file, data) - - -def main(): - timestamp = int(time()) + 120 - - update_time_gzond_config(timestamp) - update_time_gzond_genesis(timestamp) - update_genesis_hash() - #update_prysmctl_command(timestamp) - update_genesis_json(timestamp) - print(timestamp) - sys.stdout.flush() - -main() From a5af9f04d76459000f3ec13a882939a09205b72b Mon Sep 17 00:00:00 2001 From: Ricardo Geraldes <144315960+rgeraldes24@users.noreply.github.com> Date: Thu, 12 Mar 2026 19:30:58 +0400 Subject: [PATCH 8/8] Update client name to gqrl and fork to Zond (#14) * Update fork name to Zond * Review files --- .../docs/guides/events_subscriptions/index.md | 2 +- .../guides/web3_providers_guide/examples.md | 20 ++--- .../docs/guides/web3_providers_guide/index.md | 10 +-- package.json | 12 +-- packages/web3-core/src/web3_config.ts | 8 +- .../__snapshots__/web3_context.test.ts.snap | 2 +- .../web3-core/test/unit/web3_config.test.ts | 2 +- .../web3-core/test/unit/web3_context.test.ts | 2 +- .../test/fixtures/helpers.ts | 2 +- .../test/integration/reconnection.test.ts | 4 +- .../test/integration/basic_auth.test.ts | 4 +- .../src/common/chains/mainnet.ts | 4 +- .../web3-qrl-accounts/src/common/common.ts | 16 ++-- .../web3-qrl-accounts/src/common/enums.ts | 2 +- .../src/common/hardforks/index.ts | 4 +- .../common/hardforks/{shanghai.ts => zond.ts} | 2 +- .../web3-qrl-accounts/src/common/types.ts | 6 +- .../web3-qrl-accounts/src/common/utils.ts | 26 +++---- .../src/tx/baseTransaction.ts | 4 +- .../src/tx/eip1559Transaction.ts | 2 +- .../test/fixtures/account.ts | 2 +- ...nesis-kiln.json => gqrl-genesis-kiln.json} | 0 .../test/fixtures/common/pos.json | 4 +- .../test/fixtures/common/testnet.json | 4 +- .../test/fixtures/common/testnet2.json | 4 +- .../test/fixtures/common/testnet3.json | 4 +- .../test/unit/common/chains.test.ts | 14 ++-- .../test/unit/common/customChains.test.ts | 12 +-- .../test/unit/common/hardforks.test.ts | 38 +++++----- .../test/unit/common/mergePOS.test.ts | 74 +++++++++---------- .../test/unit/common/params.test.ts | 12 +-- .../test/unit/common/timestamp.test.ts | 20 ++--- .../test/unit/common/utils.test.ts | 60 +++++++-------- .../test/unit/tx/base.test.ts | 10 +-- .../test/unit/tx/eip1559.test.ts | 4 +- .../test/unit/tx/eip3860.test.ts | 2 +- .../test/unit/tx/inputValue.test.ts | 2 +- .../test/unit/tx/transactionFactory.test.ts | 6 +- .../test/unit/tx/typedTxsAndEIP2930.test.ts | 6 +- .../web3-qrl-accounts/test/unit/tx/types.ts | 2 +- .../integration/contract_accesslist.test.ts | 2 +- .../contract_defaults_extra.test.ts | 2 +- .../contract_methods_errors.test.ts | 2 +- .../test/unit/contract.test.ts | 2 +- packages/web3-qrl/src/rpc_method_wrappers.ts | 4 +- packages/web3-qrl/src/schemas.ts | 2 +- packages/web3-qrl/src/web3_qrl.ts | 2 +- .../test/fixtures/detect_transaction_type.ts | 4 +- .../test/fixtures/format_transaction.ts | 24 +++--- .../prepare_transaction_for_signing.ts | 2 +- .../validate_transaction_for_signing.ts | 46 ++++++------ .../integration/block/rpc.getBlock.test.ts | 4 +- .../test/integration/defaults.test.ts | 12 +-- .../integration/get_revert_reason.test.ts | 10 +-- .../web3-qrl/test/integration/nonce.test.ts | 2 +- .../web3-qrl/test/integration/rpc.test.ts | 4 +- .../web3_qrl/createAccessList.test.ts | 2 +- .../web3_qrl/getFeeHistory.test.ts | 2 +- .../web3_qrl/send_signed_transaction.test.ts | 14 ++-- .../web3_qrl/send_transaction.test.ts | 14 ++-- .../unit/default_transaction_builder.test.ts | 14 ++-- .../unit/rpc_method_wrappers/fixtures/call.ts | 2 +- .../fixtures/estimate_gas.ts | 2 +- .../fixtures/get_pending_transactions.ts | 2 +- .../fixtures/get_transaction_from_block.ts | 2 +- packages/web3-types/src/qrl_types.ts | 2 +- packages/web3/package.json | 4 +- packages/web3/scripts/black_box_test.sh | 4 +- packages/web3/src/index.ts | 6 +- packages/web3/test/cjs_black_box/package.json | 4 +- .../test/web3-qrl-contract/sqrcTf1.test.ts | 4 +- packages/web3/test/esm_black_box/package.json | 4 +- .../test/web3-qrl-contract/sqrcTf1.test.ts | 4 +- scripts/env.sh | 2 +- scripts/local_testnet/network_params.yaml | 4 +- scripts/test-runner.sh | 8 +- 76 files changed, 319 insertions(+), 319 deletions(-) rename packages/web3-qrl-accounts/src/common/hardforks/{shanghai.ts => zond.ts} (99%) rename packages/web3-qrl-accounts/test/fixtures/common/{gzond-genesis-kiln.json => gqrl-genesis-kiln.json} (100%) diff --git a/docs/docs/guides/events_subscriptions/index.md b/docs/docs/guides/events_subscriptions/index.md index 545fd04f..4559b2c3 100644 --- a/docs/docs/guides/events_subscriptions/index.md +++ b/docs/docs/guides/events_subscriptions/index.md @@ -5,7 +5,7 @@ sidebar_label: 'Events Subscription' # Events Subscription -A standard QRL node like [Gzond supports subscribing to specific events](https://geth.ethereum.org/docs/interacting-with-geth/rpc/pubsub#supported-subscriptions). Additionally, there are some QRL nodes that provide additional custom subscriptions. As you can find in [Supported Subscriptions](/guides/events_subscriptions/supported_subscriptions) guide, web3.js enables you to subscribe to the standard events out of the box. And it also provides you with the capability to subscribe to custom subscriptions as you can find in the [Custom Subscriptions](/guides/events_subscriptions/custom_subscriptions) guide. +A standard QRL node like [Gqrl supports subscribing to specific events](https://geth.ethereum.org/docs/interacting-with-geth/rpc/pubsub#supported-subscriptions). Additionally, there are some QRL nodes that provide additional custom subscriptions. As you can find in [Supported Subscriptions](/guides/events_subscriptions/supported_subscriptions) guide, web3.js enables you to subscribe to the standard events out of the box. And it also provides you with the capability to subscribe to custom subscriptions as you can find in the [Custom Subscriptions](/guides/events_subscriptions/custom_subscriptions) guide. :::important If you are the developer who provides custom subscriptions to users. We encourage you to develop a web3.js Plugin after you go through the [Custom Subscription](#custom-subscription) section below. You can find how to develop a plugin at [web3.js Plugin Developer Guide](/guides/web3_plugin_guide/plugin_authors) diff --git a/docs/docs/guides/web3_providers_guide/examples.md b/docs/docs/guides/web3_providers_guide/examples.md index f31e2f3a..33bd7628 100644 --- a/docs/docs/guides/web3_providers_guide/examples.md +++ b/docs/docs/guides/web3_providers_guide/examples.md @@ -22,9 +22,9 @@ Before we get started, make sure you have a basic understanding of JavaScript an Alternatively, you can use **yarn** instead of **npm** by following the instructions here: [https://classic.yarnpkg.com/lang/en/docs/getting-started/](https://classic.yarnpkg.com/lang/en/docs/getting-started/). -4. **Gzond** (Optional, used only at the IPC provider example) +4. **Gqrl** (Optional, used only at the IPC provider example) - Gzond (go-zond) is a QRL execution client meaning it handles transactions, deployment and execution of smart contracts and contains an embedded computer known as the Quantum Resistant Virtual Machine. You can install it by following the instructions here: [https://geth.ethereum.org/docs/getting-started/installing-geth](https://geth.ethereum.org/docs/getting-started/installing-geth) + Gqrl (go-qrl) is a QRL execution client meaning it handles transactions, deployment and execution of smart contracts and contains an embedded computer known as the Quantum Resistant Virtual Machine. You can install it by following the instructions here: [https://geth.ethereum.org/docs/getting-started/installing-geth](https://geth.ethereum.org/docs/getting-started/installing-geth) ## Types of Providers @@ -244,23 +244,23 @@ Unsubscribed from new block headers. The IPC Provider allows you to connect to a QRL node using Inter-Process Communication (IPC) in a Node.js environment. This provider is useful when you have a local QRL node running on your machine and want to interact with it using Node.js. -In the following steps you will run `gzond` in development mode and you will run a piece of code that reads the QRL accounts and sends a transaction: +In the following steps you will run `gqrl` in development mode and you will run a piece of code that reads the QRL accounts and sends a transaction: To connect to the QRL network using the IPC provider, follow these steps: -1. Start a `gzond` node in development mode by opening a terminal window and navigating to the `gzond` executable file. Then, run the following command to create a development chain: +1. Start a `gqrl` node in development mode by opening a terminal window and navigating to the `gqrl` executable file. Then, run the following command to create a development chain: ```bash -gzond --dev --ipcpath +gqrl --dev --ipcpath ``` Make sure to replace `` with the desired IPC path. For example: ```bash -gzond --dev --ipcpath /Users/username/Library/QRL/Execution/gzond.ipc +gqrl --dev --ipcpath /Users/username/Library/QRL/Execution/gqrl.ipc ``` -This will start a `gzond` node in development mode with IPC enabled and an IPC path specified. If the command is successful, the `gzond` node will be running, and you should see output similar to the following: +This will start a `gqrl` node in development mode with IPC enabled and an IPC path specified. If the command is successful, the `gqrl` node will be running, and you should see output similar to the following: ```bash INFO [12-10|15:10:37.121] IPC endpoint opened url= @@ -304,7 +304,7 @@ INFO [12-10|15:10:37.127] Mapped network port proto=udp extport=0 intport=30 ipcProvider.supportsSubscriptions(), ); - // Get the list of accounts in the connected node which is in this case: gzond in dev mode. + // Get the list of accounts in the connected node which is in this case: gqrl in dev mode. const accounts = await web3.qrl.getAccounts(); console.log('Accounts:', accounts); @@ -323,7 +323,7 @@ INFO [12-10|15:10:37.127] Mapped network port proto=udp extport=0 intport=30 main(); ``` -7. replace `` with the `ipcPath` that you had specified, when starting the `gzond` node, in the first step. +7. replace `` with the `ipcPath` that you had specified, when starting the `gqrl` node, in the first step. 8. Type `node web3-ipc-provider.js` in the command prompt or terminal window and press Enter. This will run your JavaScript file. @@ -349,7 +349,7 @@ Transaction Receipt: { } ``` -Keep in mind that using IPC Provider with `gzond` in development mode in a production environment is not recommended as it can pose a security risk. +Keep in mind that using IPC Provider with `gqrl` in development mode in a production environment is not recommended as it can pose a security risk. ### Third-party Providers (Compliant with EIP 1193) diff --git a/docs/docs/guides/web3_providers_guide/index.md b/docs/docs/guides/web3_providers_guide/index.md index 6bfd173c..477ae60d 100644 --- a/docs/docs/guides/web3_providers_guide/index.md +++ b/docs/docs/guides/web3_providers_guide/index.md @@ -62,7 +62,7 @@ The key rule for setting provider is as follows: ## Examples -### Local Gzond Node +### Local Gqrl Node ```ts const { Web3 } = require('@theqrl/web3'); @@ -77,13 +77,13 @@ web3.setProvider(new Web3.providers.WebsocketProvider('ws://localhost:8546')); // Using the IPC provider in node.js const net = require('net'); -const web3 = new Web3('/Users/myuser/Library/QRL/Execution/gzond.ipc', net); // mac os path +const web3 = new Web3('/Users/myuser/Library/QRL/Execution/gqrl.ipc', net); // mac os path // or const web3 = new Web3( - new Web3.providers.IpcProvider('/Users/myuser/Library/QRL/Execution/gzond.ipc', net), + new Web3.providers.IpcProvider('/Users/myuser/Library/QRL/Execution/gqrl.ipc', net), ); // mac os path -// on windows the path is: "\\\\.\\pipe\\gzond.ipc" -// on linux the path is: "/users/myuser/.qrl/execution/gzond.ipc" +// on windows the path is: "\\\\.\\pipe\\gqrl.ipc" +// on linux the path is: "/users/myuser/.qrl/execution/gqrl.ipc" ``` ### Remote Node Provider diff --git a/package.json b/package.json index cf50bf13..2d1eecbc 100644 --- a/package.json +++ b/package.json @@ -53,9 +53,9 @@ "test:coverage:integration": "lerna run test:coverage:integration --stream --parallel", "test:unit": "lerna run test:unit --stream --parallel && jest --config=./scripts/jest.config.js", "test:integration": "lerna run test:integration --stream", - "test:e2e:gzond:http": "./scripts/test-runner.sh gzond http", - "test:e2e:gzond:ws": "./scripts/test-runner.sh gzond ws", - "test:e2e:gzond:ipc": "./scripts/test-runner.sh gzond ipc", + "test:e2e:gqrl:http": "./scripts/test-runner.sh gqrl http", + "test:e2e:gqrl:ws": "./scripts/test-runner.sh gqrl ws", + "test:e2e:gqrl:ipc": "./scripts/test-runner.sh gqrl ipc", "test:e2e:coverage": "./scripts/test-runner.sh coverage", "test:e2e:mainnet:http": "./scripts/test-runner.sh mainnet http", "test:e2e:mainnet:ws": "./scripts/test-runner.sh mainnet ws", @@ -63,9 +63,9 @@ "test:e2e:testnet:ws": "./scripts/test-runner.sh testnet ws", "pre-blackbox": "yarn config set registry http://localhost:4873 && git init && git config --global user.email \"ci@github.com\" && git config --global user.name \"CI\"", "post-blackbox": "./scripts/verdaccio.sh stop", - "post-blackbox:gzond": "yarn gzond:stop && yarn post-blackbox", - "test:blackbox:gzond:http": "yarn pre-blackbox && yarn gzond:start:background && ./scripts/verdaccio.sh startBackgroundAndPublish && lerna run test:blackbox:gzond:http --stream && yarn post-blackbox:gzond", - "test:blackbox:gzond:ws": "yarn pre-blackbox && yarn gzond:start:background && ./scripts/verdaccio.sh startBackgroundAndPublish && lerna run test:blackbox:gzond:ws --stream && yarn post-blackbox:gzond", + "post-blackbox:gqrl": "yarn gqrl:stop && yarn post-blackbox", + "test:blackbox:gqrl:http": "yarn pre-blackbox && yarn gqrl:start:background && ./scripts/verdaccio.sh startBackgroundAndPublish && lerna run test:blackbox:gqrl:http --stream && yarn post-blackbox:gqrl", + "test:blackbox:gqrl:ws": "yarn pre-blackbox && yarn gqrl:start:background && ./scripts/verdaccio.sh startBackgroundAndPublish && lerna run test:blackbox:gqrl:ws --stream && yarn post-blackbox:gqrl", "husky:install": "husky install", "husky:uninstall": "husky uninstall", "postinstall": "yarn build", diff --git a/packages/web3-core/src/web3_config.ts b/packages/web3-core/src/web3_config.ts index 8aba6f98..cb165108 100644 --- a/packages/web3-core/src/web3_config.ts +++ b/packages/web3-core/src/web3_config.ts @@ -82,7 +82,7 @@ export abstract class Web3Config contractDataInputFill: 'input', defaultNetworkId: undefined, defaultChain: 'mainnet', - defaultHardfork: 'shanghai', + defaultHardfork: 'zond', // TODO - Check if there is a default Common defaultCommon: undefined, defaultTransactionType: '0x2', @@ -373,9 +373,9 @@ export abstract class Web3Config } /** - * Will return the default hardfork. Default is `shanghai` + * Will return the default hardfork. Default is `zond` * The default hardfork property can be one of the following: - * - 'shanghai' + * - 'zond' * */ public get defaultHardfork() { @@ -407,7 +407,7 @@ export abstract class Web3Config * - `networkId` - `number`: Network ID of the custom chain * - `chainId` - `number`: Chain ID of the custom chain * - `baseChain` - `string`: (optional) mainnet - * - `hardfork` - `string`: (optional) shanghai + * - `hardfork` - `string`: (optional) zond * Default is `undefined`. * */ diff --git a/packages/web3-core/test/unit/__snapshots__/web3_context.test.ts.snap b/packages/web3-core/test/unit/__snapshots__/web3_context.test.ts.snap index 0d438f6d..46e8eb36 100644 --- a/packages/web3-core/test/unit/__snapshots__/web3_context.test.ts.snap +++ b/packages/web3-core/test/unit/__snapshots__/web3_context.test.ts.snap @@ -10,7 +10,7 @@ Object { "defaultBlock": "latest", "defaultChain": "mainnet", "defaultCommon": undefined, - "defaultHardfork": "shanghai", + "defaultHardfork": "zond", "defaultMaxPriorityFeePerGas": "0x9502f900", "defaultNetworkId": undefined, "defaultTransactionType": "0x2", diff --git a/packages/web3-core/test/unit/web3_config.test.ts b/packages/web3-core/test/unit/web3_config.test.ts index 54b93400..3acab2c8 100644 --- a/packages/web3-core/test/unit/web3_config.test.ts +++ b/packages/web3-core/test/unit/web3_config.test.ts @@ -27,7 +27,7 @@ const defaultConfig = { defaultChain: 'mainnet', defaultNetworkId: undefined, defaultCommon: undefined, - defaultHardfork: 'shanghai', + defaultHardfork: 'zond', enableExperimentalFeatures: { useSubscriptionWhenCheckingBlockTimeout: false, useRpcCallSpecification: false, diff --git a/packages/web3-core/test/unit/web3_context.test.ts b/packages/web3-core/test/unit/web3_context.test.ts index 812cb97d..bcb99485 100644 --- a/packages/web3-core/test/unit/web3_context.test.ts +++ b/packages/web3-core/test/unit/web3_context.test.ts @@ -136,7 +136,7 @@ describe('Web3Context', () => { chainId: 1337, }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, }, }); diff --git a/packages/web3-providers-ipc/test/fixtures/helpers.ts b/packages/web3-providers-ipc/test/fixtures/helpers.ts index 41496090..127d33cd 100644 --- a/packages/web3-providers-ipc/test/fixtures/helpers.ts +++ b/packages/web3-providers-ipc/test/fixtures/helpers.ts @@ -45,7 +45,7 @@ const removeIfExists = () => { fs.unlinkSync(IPC_PATH); } }; -export const startGzondServer = async (): Promise<{ path: string; close: () => void }> => { +export const startGqrlServer = async (): Promise<{ path: string; close: () => void }> => { removeIfExists(); await execPromise(createSymlink); return { diff --git a/packages/web3-providers-ipc/test/integration/reconnection.test.ts b/packages/web3-providers-ipc/test/integration/reconnection.test.ts index 202fe0b5..737fdd6c 100644 --- a/packages/web3-providers-ipc/test/integration/reconnection.test.ts +++ b/packages/web3-providers-ipc/test/integration/reconnection.test.ts @@ -17,7 +17,7 @@ along with web3.js. If not, see . import { IpcProvider } from '../../src'; -import { startGzondServer } from '../fixtures/helpers'; +import { startGqrlServer } from '../fixtures/helpers'; import { describeIf, getSystemTestProviderUrl, @@ -89,7 +89,7 @@ describeIf(isIpc)('IpcSocketProvider - reconnection', () => { await waitForEvent(web3Provider, 'disconnect'); }); it('should connect, disconnect, try reconnect and reach max attempts', async () => { - const server = await startGzondServer(); + const server = await startGqrlServer(); const web3Provider = new IpcProvider( server.path, {}, diff --git a/packages/web3-providers-ws/test/integration/basic_auth.test.ts b/packages/web3-providers-ws/test/integration/basic_auth.test.ts index 220d55ee..52ce28f1 100644 --- a/packages/web3-providers-ws/test/integration/basic_auth.test.ts +++ b/packages/web3-providers-ws/test/integration/basic_auth.test.ts @@ -61,7 +61,7 @@ describeIf(isWs)('Support of Basic Auth', () => { 'ascii', ); const [username, password] = credentials.split(':'); - if (username !== 'gzond' || password !== 'authpass') { + if (username !== 'gqrl' || password !== 'authpass') { socket.emit('error'); socket.destroy(); } @@ -73,7 +73,7 @@ describeIf(isWs)('Support of Basic Auth', () => { }); beforeEach(() => { webSocketProvider = new WebSocketProvider( - 'ws://gzond:authpass@localhost:3000', + 'ws://gqrl:authpass@localhost:3000', {}, { delay: 1, autoReconnect: false, maxAttempts: 1 }, ); diff --git a/packages/web3-qrl-accounts/src/common/chains/mainnet.ts b/packages/web3-qrl-accounts/src/common/chains/mainnet.ts index 8387f63e..b7e930c0 100644 --- a/packages/web3-qrl-accounts/src/common/chains/mainnet.ts +++ b/packages/web3-qrl-accounts/src/common/chains/mainnet.ts @@ -2,7 +2,7 @@ export default { name: 'mainnet', chainId: 1, networkId: 1, - defaultHardfork: 'shanghai', + defaultHardfork: 'zond', consensus: { type: 'pos', algorithm: 'casper', @@ -16,7 +16,7 @@ export default { }, hardforks: [ { - name: 'shanghai', + name: 'zond', block: 0, forkHash: null, }, diff --git a/packages/web3-qrl-accounts/src/common/common.ts b/packages/web3-qrl-accounts/src/common/common.ts index 9c278da9..df3ad20f 100644 --- a/packages/web3-qrl-accounts/src/common/common.ts +++ b/packages/web3-qrl-accounts/src/common/common.ts @@ -19,7 +19,7 @@ import { EventEmitter } from 'events'; import type { Numbers } from '@theqrl/web3-types'; import { bytesToHex, hexToBytes, uint8ArrayConcat } from '@theqrl/web3-utils'; import { TypeOutput } from './types.js'; -import { intToUint8Array, toType, parseGzondGenesis } from './utils.js'; +import { intToUint8Array, toType, parseGqrlGenesis } from './utils.js'; import mainnet from './chains/mainnet.js'; import { QIPs } from './qips/index.js'; import type { ConsensusAlgorithm, ConsensusType } from './enums.js'; @@ -35,7 +35,7 @@ import type { CommonOpts, CustomCommonOpts, GenesisBlockConfig, - GzondConfigOpts, + GqrlConfigOpts, HardforkConfig, } from './types.js'; @@ -108,16 +108,16 @@ export class Common extends EventEmitter { } /** - * Static method to load and set common from a gzond genesis json - * @param genesisJson json of gzond configuration + * Static method to load and set common from a gqrl genesis json + * @param genesisJson json of gqrl configuration * @param { chain, qips, genesisHash, hardfork } to further configure the common instance * @returns Common */ - public static fromGzondGenesis( + public static fromGqrlGenesis( genesisJson: any, - { chain, qips, genesisHash, hardfork }: GzondConfigOpts, + { chain, qips, genesisHash, hardfork }: GqrlConfigOpts, ): Common { - const genesisParams = parseGzondGenesis(genesisJson, chain); + const genesisParams = parseGqrlGenesis(genesisJson, chain); const common = new Common({ chain: genesisParams.name ?? 'custom', customChains: [genesisParams], @@ -168,7 +168,7 @@ export class Common extends EventEmitter { super(); this._customChains = opts.customChains ?? []; this._chainParams = this.setChain(opts.chain); - this.DEFAULT_HARDFORK = this._chainParams.defaultHardfork ?? Hardfork.Shanghai; + this.DEFAULT_HARDFORK = this._chainParams.defaultHardfork ?? Hardfork.Zond; // Assign hardfork changes in the sequence of the applied hardforks this.HARDFORK_CHANGES = this.hardforks().map(hf => [ hf.name as HardforkSpecKeys, diff --git a/packages/web3-qrl-accounts/src/common/enums.ts b/packages/web3-qrl-accounts/src/common/enums.ts index 688ad7f9..3b5a4024 100644 --- a/packages/web3-qrl-accounts/src/common/enums.ts +++ b/packages/web3-qrl-accounts/src/common/enums.ts @@ -19,7 +19,7 @@ export enum Chain { } export enum Hardfork { - Shanghai = 'shanghai', + Zond = 'zond', } export enum ConsensusType { diff --git a/packages/web3-qrl-accounts/src/common/hardforks/index.ts b/packages/web3-qrl-accounts/src/common/hardforks/index.ts index 3d6e768c..89c39521 100644 --- a/packages/web3-qrl-accounts/src/common/hardforks/index.ts +++ b/packages/web3-qrl-accounts/src/common/hardforks/index.ts @@ -15,8 +15,8 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -import shanghai from './shanghai.js'; +import zond from './zond.js'; export const hardforks: { [key: string]: any } = { - shanghai, + zond, }; diff --git a/packages/web3-qrl-accounts/src/common/hardforks/shanghai.ts b/packages/web3-qrl-accounts/src/common/hardforks/zond.ts similarity index 99% rename from packages/web3-qrl-accounts/src/common/hardforks/shanghai.ts rename to packages/web3-qrl-accounts/src/common/hardforks/zond.ts index 508fa301..25e06faa 100644 --- a/packages/web3-qrl-accounts/src/common/hardforks/shanghai.ts +++ b/packages/web3-qrl-accounts/src/common/hardforks/zond.ts @@ -1,5 +1,5 @@ export default { - name: 'shanghai', + name: 'zond', comment: 'Start of the QRL main chain', url: '', status: '', diff --git a/packages/web3-qrl-accounts/src/common/types.ts b/packages/web3-qrl-accounts/src/common/types.ts index 5fbc5a42..fb073226 100644 --- a/packages/web3-qrl-accounts/src/common/types.ts +++ b/packages/web3-qrl-accounts/src/common/types.ts @@ -71,9 +71,9 @@ export interface ChainsConfig { interface BaseOpts { /** - * String identifier ('shanghai') for hardfork or {@link Hardfork} enum. + * String identifier ('zond') for hardfork or {@link Hardfork} enum. * - * Default: Hardfork.Shanghai + * Default: Hardfork.Zond */ hardfork?: string | Hardfork; /** @@ -118,7 +118,7 @@ export interface CustomCommonOpts extends BaseOpts { baseChain?: string | number | Chain | bigint; } -export interface GzondConfigOpts extends BaseOpts { +export interface GqrlConfigOpts extends BaseOpts { chain?: string; genesisHash?: Uint8Array; } diff --git a/packages/web3-qrl-accounts/src/common/utils.ts b/packages/web3-qrl-accounts/src/common/utils.ts index a2c07c32..11cd3281 100644 --- a/packages/web3-qrl-accounts/src/common/utils.ts +++ b/packages/web3-qrl-accounts/src/common/utils.ts @@ -49,11 +49,11 @@ const intToHex = function (i: number) { }; /** - * Converts Gzond genesis parameters to a `CommonOpts` object - * @param json object representing the Gzond genesis file hardfork + * Converts Gqrl genesis parameters to a `CommonOpts` object + * @param json object representing the Gqrl genesis file hardfork * @returns genesis parameters in a `CommonOpts` compliant object */ -function parseGzondParams(json: any) { +function parseGqrlParams(json: any) { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const { name, @@ -76,11 +76,11 @@ function parseGzondParams(json: any) { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const { chainId }: { chainId: number } = config; - // gzond is not strictly putting empty fields with a 0x prefix + // gqrl is not strictly putting empty fields with a 0x prefix if (extraData === '') { extraData = '0x'; } - // gzond may use number for timestamp + // gqrl may use number for timestamp if (!isHexPrefixed(timestamp)) { // eslint-disable-next-line radix timestamp = intToHex(parseInt(timestamp)); @@ -93,7 +93,7 @@ function parseGzondParams(json: any) { genesis: { timestamp, // eslint-disable-next-line radix - gasLimit: parseInt(gasLimit), // gzond gasLimit is an hex string while ours is a `number` + gasLimit: parseInt(gasLimit), // gqrl gasLimit is an hex string while ours is a `number` // eslint-disable-next-line radix extraData, mixHash, @@ -111,7 +111,7 @@ function parseGzondParams(json: any) { }; const forkMap: { [key: string]: { name: string; isTimestamp?: boolean } } = { - // [Hardfork.Shanghai]: { name: 'shanghaiTime', isTimestamp: true }, + // [Hardfork.Zond]: { name: 'zondTime', isTimestamp: true }, }; // forkMapRev is the map from config field name to Hardfork @@ -162,27 +162,27 @@ function parseGzondParams(json: any) { const latestHardfork = params.hardforks.length > 0 ? params.hardforks.slice(-1)[0] : undefined; params.hardfork = latestHardfork?.name; - params.hardforks.unshift({ name: Hardfork.Shanghai, block: 0 }); + params.hardforks.unshift({ name: Hardfork.Zond, block: 0 }); return params; } /** - * Parses a genesis.json exported from Gzond into parameters for Common instance - * @param json representing the Gzond genesis file + * Parses a genesis.json exported from Gqrl into parameters for Common instance + * @param json representing the Gqrl genesis file * @param name optional chain name * @returns parsed params */ -export function parseGzondGenesis(json: any, name?: string) { +export function parseGqrlGenesis(json: any, name?: string) { try { if (['config', 'gasLimit', 'alloc'].some(field => !(field in json))) { - throw new Error('Invalid format, expected gzond genesis fields missing'); + throw new Error('Invalid format, expected gqrl genesis fields missing'); } if (name !== undefined) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-param-reassign json.name = name; } - return parseGzondParams(json); + return parseGqrlParams(json); } catch (e: any) { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/restrict-template-expressions throw new Error(`Error parsing parameters file: ${e.message}`); diff --git a/packages/web3-qrl-accounts/src/tx/baseTransaction.ts b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts index 3b2e7e85..14a46295 100644 --- a/packages/web3-qrl-accounts/src/tx/baseTransaction.ts +++ b/packages/web3-qrl-accounts/src/tx/baseTransaction.ts @@ -84,7 +84,7 @@ export abstract class BaseTransaction { * * @hidden */ - protected DEFAULT_HARDFORK: string | Hardfork = Hardfork.Shanghai; + protected DEFAULT_HARDFORK: string | Hardfork = Hardfork.Zond; public constructor(txData: FeeMarketEIP1559TxData, opts: TxOptions) { const { nonce, gasLimit, to, value, data, descriptor, extraParams, signature, publicKey, type } = txData; @@ -125,7 +125,7 @@ export abstract class BaseTransaction { this._validateCannotExceedMaxInteger({ value: this.value }); - // gzond limits gasLimit to 2^64-1 + // gqrl limits gasLimit to 2^64-1 this._validateCannotExceedMaxInteger({ gasLimit: this.gasLimit }, 64); // EIP-2681 limits nonce to 2^64-1 (cannot equal 2^64-1) diff --git a/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts index a3a1b7ed..d178c5af 100644 --- a/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts +++ b/packages/web3-qrl-accounts/src/tx/eip1559Transaction.ts @@ -67,7 +67,7 @@ export class FeeMarketEIP1559Transaction extends BaseTransaction { expect(c.chainName()).toBe('mainnet'); expect(c.chainId()).toEqual(BigInt(1)); expect(c.networkId()).toEqual(BigInt(1)); - expect(c.hardfork()).toEqual(Hardfork.Shanghai); + expect(c.hardfork()).toEqual(Hardfork.Zond); expect(c.hardfork()).toEqual(c.DEFAULT_HARDFORK); c = new Common({ chain: 1 }); @@ -34,18 +34,18 @@ describe('[Common/Chains]: Initialization / Chain params', () => { expect(c.chainName()).toBe('mainnet'); expect(c.chainId()).toEqual(BigInt(1)); expect(c.networkId()).toEqual(BigInt(1)); - expect(c.hardfork()).toEqual(Hardfork.Shanghai); + expect(c.hardfork()).toEqual(Hardfork.Zond); expect(c.hardfork()).toEqual(c.DEFAULT_HARDFORK); }); it('Should initialize with chain and hardfork provided', () => { - const c = new Common({ chain: 'mainnet', hardfork: 'shanghai' }); - expect(c.hardfork()).toBe('shanghai'); + const c = new Common({ chain: 'mainnet', hardfork: 'zond' }); + expect(c.hardfork()).toBe('zond'); }); it('Should initialize with chain and hardfork provided by Chain and Hardfork enums', () => { - const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); - expect(c.hardfork()).toBe('shanghai'); + const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); + expect(c.hardfork()).toBe('zond'); }); it('Should handle initialization errors', () => { @@ -63,7 +63,7 @@ describe('[Common/Chains]: Initialization / Chain params', () => { }); it('Should provide correct access to chain parameters', () => { - const c = new Common({ chain: 'mainnet', hardfork: 'shanghai' }); + const c = new Common({ chain: 'mainnet', hardfork: 'zond' }); // expect(c.hardforks()[3]['block']).toBe(2463000); expect(c.hardforks()[0]['block']).toBe(0); expect(c.consensusType()).toEqual(ConsensusType.ProofOfStake); diff --git a/packages/web3-qrl-accounts/test/unit/common/customChains.test.ts b/packages/web3-qrl-accounts/test/unit/common/customChains.test.ts index 8091a97e..87263672 100644 --- a/packages/web3-qrl-accounts/test/unit/common/customChains.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/customChains.test.ts @@ -22,7 +22,7 @@ import * as testnet3 from '../../fixtures/common/testnet3.json'; describe('[Common]: Custom chains', () => { it('chain -> object: should provide correct access to private network chain parameters', () => { - const c = new Common({ chain: testnet, hardfork: Hardfork.Shanghai }); + const c = new Common({ chain: testnet, hardfork: Hardfork.Zond }); expect(c.chainName()).toBe('testnet'); expect(c.chainId()).toEqual(BigInt(12345)); expect(c.networkId()).toEqual(BigInt(12345)); @@ -46,7 +46,7 @@ describe('[Common]: Custom chains', () => { const customChainParams = { name: 'custom', chainId: 123, networkId: 678 }; const customChainCommon = Common.custom(customChainParams, { - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); // From custom chain params @@ -60,7 +60,7 @@ describe('[Common]: Custom chains', () => { expect(customChainCommon.hardforks()).toEqual(mainnetCommon.hardforks()); // Set only to this Common - expect(customChainCommon.hardfork()).toBe('shanghai'); + expect(customChainCommon.hardfork()).toBe('zond'); }); // NOTE(rgeraldes24): custom chains tbd @@ -102,7 +102,7 @@ describe('[Common]: Custom chains', () => { it('customChains parameter: initialization', () => { let c = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains: [testnet], }); expect(c.chainName()).toBe('mainnet'); @@ -118,7 +118,7 @@ describe('[Common]: Custom chains', () => { c = new Common({ chain: 'testnet', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains: [testnet], }); expect(c.chainName()).toBe('testnet'); @@ -129,7 +129,7 @@ describe('[Common]: Custom chains', () => { const customChains = [testnet, testnet2, testnet3]; c = new Common({ chain: 'testnet2', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); expect(c.chainName()).toBe('testnet2'); diff --git a/packages/web3-qrl-accounts/test/unit/common/hardforks.test.ts b/packages/web3-qrl-accounts/test/unit/common/hardforks.test.ts index 7ff31b6b..e4701e05 100644 --- a/packages/web3-qrl-accounts/test/unit/common/hardforks.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/hardforks.test.ts @@ -16,11 +16,11 @@ along with web3.js. If not, see . */ // import { hexToBytes } from '@theqrl/web3-utils'; import { Chain, Common, ConsensusAlgorithm, ConsensusType, Hardfork } from '../../../src/common'; -// import gzondGenesisKiln from '../../fixtures/common/gzond-genesis-kiln.json'; +// import gqrlGenesisKiln from '../../fixtures/common/gqrl-genesis-kiln.json'; describe('[Common]: Hardfork logic', () => { it('Hardfork access', () => { - const supportedHardforks = [Hardfork.Shanghai]; + const supportedHardforks = [Hardfork.Zond]; let c; for (const hardfork of supportedHardforks) { @@ -32,13 +32,13 @@ describe('[Common]: Hardfork logic', () => { it('getHardforkByBlockNumber() / setHardforkByBlockNumber()', () => { const c = new Common({ chain: Chain.Mainnet }); - expect(c.getHardforkByBlockNumber(0)).toEqual(Hardfork.Shanghai); - expect(c.getHardforkByBlockNumber(1149999)).toEqual(Hardfork.Shanghai); - expect(c.getHardforkByBlockNumber(999999999999)).toEqual(Hardfork.Shanghai); + expect(c.getHardforkByBlockNumber(0)).toEqual(Hardfork.Zond); + expect(c.getHardforkByBlockNumber(1149999)).toEqual(Hardfork.Zond); + expect(c.getHardforkByBlockNumber(999999999999)).toEqual(Hardfork.Zond); - expect(c.setHardforkByBlockNumber(0)).toEqual(Hardfork.Shanghai); - expect(c.setHardforkByBlockNumber(1149999)).toEqual(Hardfork.Shanghai); - expect(c.setHardforkByBlockNumber(999999999999)).toEqual(Hardfork.Shanghai); + expect(c.setHardforkByBlockNumber(0)).toEqual(Hardfork.Zond); + expect(c.setHardforkByBlockNumber(1149999)).toEqual(Hardfork.Zond); + expect(c.setHardforkByBlockNumber(999999999999)).toEqual(Hardfork.Zond); }); // NOTE(rgeraldes24): enable/review upon a new fork @@ -91,11 +91,11 @@ describe('[Common]: Hardfork logic', () => { expect(c.hardforkBlock(Hardfork.Berlin)!).toEqual(BigInt(12244000)); expect(c.hardforkBlock(Hardfork.Berlin)!).toEqual(BigInt(12244000)); - // developer note: when Shanghai is set, + // developer note: when Zond is set, // update this test to next unscheduled hardfork. - expect(c.hardforkBlock(Hardfork.Shanghai)).toBeNull(); - expect(c.hardforkBlock(Hardfork.Shanghai)).toBeNull(); - expect(c.nextHardforkBlockOrTimestamp(Hardfork.Shanghai)).toBeNull(); + expect(c.hardforkBlock(Hardfork.Zond)).toBeNull(); + expect(c.hardforkBlock(Hardfork.Zond)).toBeNull(); + expect(c.nextHardforkBlockOrTimestamp(Hardfork.Zond)).toBeNull(); }); it('nextHardforkBlockOrTimestamp()', () => { @@ -192,10 +192,10 @@ describe('[Common]: Hardfork logic', () => { ); expect(c.forkHash(Hardfork.SpuriousDragon, genesisHash)).toBe('0x3edd5b10'); - c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); - // unschedule shanghai on it to test + c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); + // unschedule zond on it to test c.hardforks() - .filter(hf => hf.name === Hardfork.Shanghai) + .filter(hf => hf.name === Hardfork.Zond) // eslint-disable-next-line array-callback-return .map(hf => { // eslint-disable-next-line no-null/no-null, no-param-reassign @@ -204,7 +204,7 @@ describe('[Common]: Hardfork logic', () => { hf.timestamp = undefined; }); expect(() => { - c.forkHash(Hardfork.Shanghai); + c.forkHash(Hardfork.Zond); }).toThrow('No fork hash calculation possible'); expect(() => { c.forkHash('thisHardforkDoesNotExist'); @@ -215,14 +215,14 @@ describe('[Common]: Hardfork logic', () => { const c = new Common({ chain: Chain.Mainnet }); const res = c.hardforkForForkHash('0x3edd5b10')!; - expect(res.name).toEqual(Hardfork.Shanghai); + expect(res.name).toEqual(Hardfork.Zond); expect(c.hardforkForForkHash('0x12345')).toBeNull(); }); */ it('HF consensus updates', () => { - const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); expect(c.consensusType()).toEqual(ConsensusType.ProofOfStake); expect(c.consensusAlgorithm()).toEqual(ConsensusAlgorithm.Casper); expect(c.consensusConfig()).toEqual({}); @@ -244,7 +244,7 @@ describe('[Common]: Hardfork logic', () => { // For kiln MergeForkIdTransition happens BEFORE Merge - c = Common.fromGzondGenesis(gzondGenesisKiln, { + c = Common.fromGqrlGenesis(gqrlGenesisKiln, { chain: 'kiln', mergeForkIdPostMerge: false, }); diff --git a/packages/web3-qrl-accounts/test/unit/common/mergePOS.test.ts b/packages/web3-qrl-accounts/test/unit/common/mergePOS.test.ts index 6dd2c09c..bc2c941e 100644 --- a/packages/web3-qrl-accounts/test/unit/common/mergePOS.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/mergePOS.test.ts @@ -25,16 +25,16 @@ describe('[Common]: Merge/POS specific logic', () => { const customChains = [testnetPOS]; const c = new Common({ chain: 'testnetPOS', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); - expect(c.getHardforkByBlockNumber(0)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(14)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(15, 5000)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(15, 5001)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(15, 4999)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(12, 4999)).toBe('shanghai'); + expect(c.getHardforkByBlockNumber(0)).toBe('zond'); + expect(c.getHardforkByBlockNumber(14)).toBe('zond'); + expect(c.getHardforkByBlockNumber(15, 5000)).toBe('zond'); + expect(c.getHardforkByBlockNumber(15, 5001)).toBe('zond'); + expect(c.getHardforkByBlockNumber(15, 4999)).toBe('zond'); + expect(c.getHardforkByBlockNumber(12, 4999)).toBe('zond'); }); it('getHardforkByBlockNumber()', () => { @@ -44,47 +44,47 @@ describe('[Common]: Merge/POS specific logic', () => { const customChains = [testnetMergeWithBlockNumber]; const c = new Common({ chain: 'testnetPOS', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); - expect(c.getHardforkByBlockNumber(0)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(16)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(16, 5000)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(16, 5001)).toBe('shanghai'); - expect(c.getHardforkByBlockNumber(12, 4999)).toBe('shanghai'); + expect(c.getHardforkByBlockNumber(0)).toBe('zond'); + expect(c.getHardforkByBlockNumber(16)).toBe('zond'); + expect(c.getHardforkByBlockNumber(16, 5000)).toBe('zond'); + expect(c.getHardforkByBlockNumber(16, 5001)).toBe('zond'); + expect(c.getHardforkByBlockNumber(12, 4999)).toBe('zond'); }); it('getHardforkByBlockNumber()', () => { const testnetMergeWithBlockNumber = JSON.parse(JSON.stringify(testnetPOS)); // Set Merge block to 15 // testnetMergeWithBlockNumber['hardforks'][8]['block'] = 16; - // Set Shanghai block to 18 + // Set Zond block to 18 // testnetMergeWithBlockNumber['hardforks'][9]['block'] = 18; const customChains = [testnetMergeWithBlockNumber]; const c = new Common({ chain: 'testnetPOS', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); - expect(c.getHardforkByBlockNumber(18, 5001)).toBe('shanghai'); + expect(c.getHardforkByBlockNumber(18, 5001)).toBe('zond'); }); it('setHardforkByBlockNumber()', () => { const customChains = [testnetPOS]; const c = new Common({ chain: 'testnetPOS', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); - expect(c.setHardforkByBlockNumber(0)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(14)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(15, 5000)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(15, 5001)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(15, 4999)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(12, 4999)).toBe('shanghai'); + expect(c.setHardforkByBlockNumber(0)).toBe('zond'); + expect(c.setHardforkByBlockNumber(14)).toBe('zond'); + expect(c.setHardforkByBlockNumber(15, 5000)).toBe('zond'); + expect(c.setHardforkByBlockNumber(15, 5001)).toBe('zond'); + expect(c.setHardforkByBlockNumber(15, 4999)).toBe('zond'); + expect(c.setHardforkByBlockNumber(12, 4999)).toBe('zond'); }); it('setHardforkByBlockNumber()', () => { @@ -94,38 +94,38 @@ describe('[Common]: Merge/POS specific logic', () => { const customChains = [testnetMergeWithBlockNumber]; const c = new Common({ chain: 'testnetPOS', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); - expect(c.setHardforkByBlockNumber(0)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(16)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(16, 5000)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(16, 5001)).toBe('shanghai'); - expect(c.setHardforkByBlockNumber(12, 4999)).toBe('shanghai'); + expect(c.setHardforkByBlockNumber(0)).toBe('zond'); + expect(c.setHardforkByBlockNumber(16)).toBe('zond'); + expect(c.setHardforkByBlockNumber(16, 5000)).toBe('zond'); + expect(c.setHardforkByBlockNumber(16, 5001)).toBe('zond'); + expect(c.setHardforkByBlockNumber(12, 4999)).toBe('zond'); }); it('setHardforkByBlockNumber()', () => { const testnetMergeWithBlockNumber = JSON.parse(JSON.stringify(testnetPOS)); // Set Merge block to 15 // testnetMergeWithBlockNumber['hardforks'][8]['block'] = 16; - // Set Shanghai block to 18 + // Set Zond block to 18 // testnetMergeWithBlockNumber['hardforks'][9]['block'] = 18; const customChains = [testnetMergeWithBlockNumber]; const c = new Common({ chain: 'testnetPOS', - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, customChains, }); - expect(c.setHardforkByBlockNumber(18, 5001)).toBe('shanghai'); + expect(c.setHardforkByBlockNumber(18, 5001)).toBe('zond'); }); it('Pure POS testnet', () => { const customChains = [testnetPOS]; - const c = new Common({ chain: 'testnetPOS', hardfork: Hardfork.Shanghai, customChains }); + const c = new Common({ chain: 'testnetPOS', hardfork: Hardfork.Zond, customChains }); - expect(c.getHardforkByBlockNumber(5, 0)).toBe('shanghai'); + expect(c.getHardforkByBlockNumber(5, 0)).toBe('zond'); }); it('Should fail setting invalid hardfork', () => { @@ -137,9 +137,9 @@ describe('[Common]: Merge/POS specific logic', () => { }); it('should get the correct merge hardfork at genesis', async () => { - const c = Common.fromGzondGenesis(posExecGenesis, { chain: 'pos' }); - expect(c.getHardforkByBlockNumber(0)).toEqual(Hardfork.Shanghai); - expect(c.getHardforkByBlockNumber(0, BigInt(0))).toEqual(Hardfork.Shanghai); + const c = Common.fromGqrlGenesis(posExecGenesis, { chain: 'pos' }); + expect(c.getHardforkByBlockNumber(0)).toEqual(Hardfork.Zond); + expect(c.getHardforkByBlockNumber(0, BigInt(0))).toEqual(Hardfork.Zond); }); // NOTE(rgeraldes24): not valid atm diff --git a/packages/web3-qrl-accounts/test/unit/common/params.test.ts b/packages/web3-qrl-accounts/test/unit/common/params.test.ts index 8d49d94d..209a11e6 100644 --- a/packages/web3-qrl-accounts/test/unit/common/params.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/params.test.ts @@ -19,7 +19,7 @@ import { Chain, Common, Hardfork } from '../../../src/common'; describe('[Common]: Parameter access for param(), paramByHardfork()', () => { it('Basic usage', () => { const c = new Common({ chain: Chain.Mainnet, qips: [] }); - expect(c.paramByHardfork('gasPrices', 'ecAdd', 'shanghai')).toEqual(BigInt(150)); + expect(c.paramByHardfork('gasPrices', 'ecAdd', 'zond')).toEqual(BigInt(150)); // NOTE(rgeraldes24): there are no param updates yet // c.setHardfork(Hardfork.Byzantium); @@ -30,7 +30,7 @@ describe('[Common]: Parameter access for param(), paramByHardfork()', () => { // expect(c.param('gasPrices', 'ecAdd')).toEqual(BigInt(150)); expect(c.param('gasPrices', 'notexistingvalue')).toEqual(BigInt(0)); - expect(c.paramByHardfork('gasPrices', 'notexistingvalue', 'shanghai')).toEqual(BigInt(0)); + expect(c.paramByHardfork('gasPrices', 'notexistingvalue', 'zond')).toEqual(BigInt(0)); }); it('Error cases for param(), paramByHardfork()', () => { @@ -40,7 +40,7 @@ describe('[Common]: Parameter access for param(), paramByHardfork()', () => { c.paramByHardfork('gasPrizes', 'ecAdd', 'byzantium'); }).toThrow('Topic gasPrizes not defined'); - c.setHardfork(Hardfork.Shanghai); + c.setHardfork(Hardfork.Zond); expect(c.param('gasPrices', 'ecAdd')).toEqual(BigInt(150)); }); @@ -48,7 +48,7 @@ describe('[Common]: Parameter access for param(), paramByHardfork()', () => { it('Parameter updates', () => { const c = new Common({ chain: Chain.Mainnet }); - expect(c.paramByHardfork('gasPrices', 'ecAdd', 'shanghai')).toEqual(BigInt(150)); + expect(c.paramByHardfork('gasPrices', 'ecAdd', 'zond')).toEqual(BigInt(150)); // expect(c.paramByHardfork('pow', 'minerReward', 'byzantium')).toEqual( // BigInt(3000000000000000000), @@ -65,12 +65,12 @@ describe('[Common]: Parameter access for param(), paramByHardfork()', () => { // NOTE(rgeraldes24): there are no param updates yet it('Access by block number, paramByBlock()', () => { - const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); expect(c.paramByBlock('gasPrices', 'ecAdd', 4370000)).toEqual(BigInt(150)); expect(c.paramByBlock('gasPrices', 'ecAdd', 4369999)).toEqual(BigInt(150)); /* - const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); expect(c.paramByBlock('pow', 'minerReward', 4370000)).toEqual(BigInt(3000000000000000000)); expect(c.paramByBlock('pow', 'minerReward', 4369999)).toEqual(BigInt(5000000000000000000)); diff --git a/packages/web3-qrl-accounts/test/unit/common/timestamp.test.ts b/packages/web3-qrl-accounts/test/unit/common/timestamp.test.ts index 8ad64962..4c72ee0c 100644 --- a/packages/web3-qrl-accounts/test/unit/common/timestamp.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/timestamp.test.ts @@ -19,13 +19,13 @@ along with web3.js. If not, see . // NOTE(rgeraldes24): unused for now describe.skip('[Common]: Timestamp Hardfork logic', () => { - it('shanghai-time', () => { - // const c = Common.fromGzondGenesis(timestampJson, { + it('zond-time', () => { + // const c = Common.fromGqrlGenesis(timestampJson, { // chain: 'withdrawals', // }); - // expect(c.getHardforkByBlockNumber(1, 0)).toEqual(Hardfork.Shanghai); - // expect(c.getHardforkByBlockNumber(1, 1668699476)).toEqual(Hardfork.Shanghai); - // expect(c.getHardforkByBlockNumber(1, 1668699576)).toEqual(Hardfork.Shanghai); + // expect(c.getHardforkByBlockNumber(1, 0)).toEqual(Hardfork.Zond); + // expect(c.getHardforkByBlockNumber(1, 1668699476)).toEqual(Hardfork.Zond); + // expect(c.getHardforkByBlockNumber(1, 1668699576)).toEqual(Hardfork.Zond); }); /* @@ -42,7 +42,7 @@ describe.skip('[Common]: Timestamp Hardfork logic', () => { forkHash: '0x4fb8a872', }, { - name: 'shanghai', + name: 'zond', // eslint-disable-next-line no-null/no-null block: null, timestamp: '1668000000', @@ -64,9 +64,9 @@ describe.skip('[Common]: Timestamp Hardfork logic', () => { c.setHardfork(Hardfork.MergeForkIdTransition); expect(c.nextHardforkBlockOrTimestamp()).toEqual(BigInt(1668000000)); - c.setHardfork(Hardfork.Shanghai); + c.setHardfork(Hardfork.Zond); expect(c.forkHash()).toBe('0xc1fdf181'); - expect(c.hardforkForForkHash('0xc1fdf181')?.name).toEqual(Hardfork.Shanghai); + expect(c.hardforkForForkHash('0xc1fdf181')?.name).toEqual(Hardfork.Zond); }); it('setForkHashes', () => { @@ -81,7 +81,7 @@ describe.skip('[Common]: Timestamp Hardfork logic', () => { block: 18000000, }, { - name: 'shanghai', + name: 'zond', // eslint-disable-next-line no-null/no-null block: null, timestamp: '1668000000', @@ -111,7 +111,7 @@ describe.skip('[Common]: Timestamp Hardfork logic', () => { return acc; }, 0); expect(noForkHashes).toBe(0); - expect(c.forkHash(Hardfork.Shanghai)).toBe('0xc1fdf181'); + expect(c.forkHash(Hardfork.Zond)).toBe('0xc1fdf181'); }); */ }); diff --git a/packages/web3-qrl-accounts/test/unit/common/utils.test.ts b/packages/web3-qrl-accounts/test/unit/common/utils.test.ts index f11c6c2b..eb7659e3 100644 --- a/packages/web3-qrl-accounts/test/unit/common/utils.test.ts +++ b/packages/web3-qrl-accounts/test/unit/common/utils.test.ts @@ -17,25 +17,25 @@ along with web3.js. If not, see . import { hexToBytes } from '@theqrl/web3-utils'; import { Common } from '../../../src/common/common'; import { Hardfork } from '../../../src/common'; -import { parseGzondGenesis } from '../../../src/common/utils'; +import { parseGqrlGenesis } from '../../../src/common/utils'; import invalidSpuriousDragon from '../../fixtures/common/invalid-spurious-dragon.json'; import posExecGenesis from '../../fixtures/common/pos-exec-genesis.json'; import noExtraData from '../../fixtures/common/no-extra-data.json'; -import gzondGenesisKiln from '../../fixtures/common/gzond-genesis-kiln.json'; +import gqrlGenesisKiln from '../../fixtures/common/gqrl-genesis-kiln.json'; describe('[Utils/Parse]', () => { const kilnForkHashes: any = { - shanghai: '0xbcadf543', + zond: '0xbcadf543', }; it('should throw with invalid Spurious Dragon blocks', async () => { expect(() => { - parseGzondGenesis(invalidSpuriousDragon, 'bad_params'); + parseGqrlGenesis(invalidSpuriousDragon, 'bad_params'); }).toThrow(); }); it('should import pos network params correctly', async () => { - let params = parseGzondGenesis(posExecGenesis, 'pos'); + let params = parseGqrlGenesis(posExecGenesis, 'pos'); expect(params.genesis.baseFeePerGas).toBe('0x7'); expect(params.consensus).toEqual({ type: 'pos', @@ -43,66 +43,66 @@ describe('[Utils/Parse]', () => { casper: {}, }); posExecGenesis.baseFeePerGas = '0x8'; - params = parseGzondGenesis(posExecGenesis, 'pos'); + params = parseGqrlGenesis(posExecGenesis, 'pos'); expect(params.genesis.baseFeePerGas).toBe('0x8'); // NOTE(rgeraldes24): params.hardfork returns undefined which is expected when there is not fork in the genesis config - // expect(params.hardfork).toEqual(Hardfork.Shanghai); + // expect(params.hardfork).toEqual(Hardfork.Zond); }); - it('should generate expected hash with shanghai block zero and base fee per gas defined', async () => { - const params = parseGzondGenesis(posExecGenesis, 'pos'); + it('should generate expected hash with zond block zero and base fee per gas defined', async () => { + const params = parseGqrlGenesis(posExecGenesis, 'pos'); expect(params.genesis.baseFeePerGas).toEqual(posExecGenesis.baseFeePerGas); }); it('should successfully parse genesis file with no extraData', async () => { - const params = parseGzondGenesis(noExtraData, 'noExtraData'); + const params = parseGqrlGenesis(noExtraData, 'noExtraData'); expect(params.genesis.extraData).toBe('0x'); expect(params.genesis.timestamp).toBe('0x10'); }); it('should successfully parse kiln genesis and set forkhash', async () => { - const common = Common.fromGzondGenesis(gzondGenesisKiln, { + const common = Common.fromGqrlGenesis(gqrlGenesisKiln, { chain: 'customChain', genesisHash: hexToBytes( '51c7fe41be669f69c45c33a56982cbde405313342d9e2b00d7c91a7b284dd4f8', ), }); - expect(common.hardforks().map(hf => hf.name)).toEqual(['shanghai']); + expect(common.hardforks().map(hf => hf.name)).toEqual(['zond']); for (const hf of common.hardforks()) { /* eslint-disable @typescript-eslint/no-use-before-define */ expect(hf.forkHash).toEqual(kilnForkHashes[hf.name]); } - expect(common.hardfork()).toEqual(Hardfork.Shanghai); + expect(common.hardfork()).toEqual(Hardfork.Zond); - // Ok lets schedule shanghai at block 0, this should force merge to be scheduled at just after + // Ok lets schedule zond at block 0, this should force merge to be scheduled at just after // genesis if even mergeForkIdTransition is not confirmed to be post merge // This will also check if the forks are being correctly sorted based on block - Object.assign(gzondGenesisKiln.config, { shanghaiTime: Math.floor(Date.now() / 1000) }); - const common1 = Common.fromGzondGenesis(gzondGenesisKiln, { + Object.assign(gqrlGenesisKiln.config, { zondTime: Math.floor(Date.now() / 1000) }); + const common1 = Common.fromGqrlGenesis(gqrlGenesisKiln, { chain: 'customChain', }); - // merge hardfork is now scheduled just after shanghai even if mergeForkIdTransition is not confirmed + // merge hardfork is now scheduled just after zond even if mergeForkIdTransition is not confirmed // to be post merge - expect(common1.hardforks().map(hf => hf.name)).toEqual(['shanghai']); + expect(common1.hardforks().map(hf => hf.name)).toEqual(['zond']); - expect(common1.hardfork()).toEqual(Hardfork.Shanghai); + expect(common1.hardfork()).toEqual(Hardfork.Zond); }); it('should successfully parse genesis', async () => { - const common = Common.fromGzondGenesis(posExecGenesis, { + const common = Common.fromGqrlGenesis(posExecGenesis, { chain: 'customChain', }); - expect(common.hardforks().map(hf => hf.name)).toEqual(['shanghai']); + expect(common.hardforks().map(hf => hf.name)).toEqual(['zond']); - expect(common.getHardforkByBlockNumber(0)).toEqual(Hardfork.Shanghai); - expect(common.getHardforkByBlockNumber(1, BigInt(2))).toEqual(Hardfork.Shanghai); - // shanghai is at timestamp 8 - expect(common.getHardforkByBlockNumber(8)).toEqual(Hardfork.Shanghai); - expect(common.getHardforkByBlockNumber(8, BigInt(2))).toEqual(Hardfork.Shanghai); - expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Shanghai); - // should be post merge at shanghai - expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Shanghai); - expect(common.hardfork()).toEqual(Hardfork.Shanghai); + expect(common.getHardforkByBlockNumber(0)).toEqual(Hardfork.Zond); + expect(common.getHardforkByBlockNumber(1, BigInt(2))).toEqual(Hardfork.Zond); + // zond is at timestamp 8 + expect(common.getHardforkByBlockNumber(8)).toEqual(Hardfork.Zond); + expect(common.getHardforkByBlockNumber(8, BigInt(2))).toEqual(Hardfork.Zond); + expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Zond); + // should be post merge at zond + expect(common.getHardforkByBlockNumber(8, 8)).toEqual(Hardfork.Zond); + expect(common.hardfork()).toEqual(Hardfork.Zond); }); }); diff --git a/packages/web3-qrl-accounts/test/unit/tx/base.test.ts b/packages/web3-qrl-accounts/test/unit/tx/base.test.ts index aaafd375..094ed93d 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/base.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/base.test.ts @@ -25,13 +25,13 @@ import eip1559Fixtures from '../../fixtures/json/eip1559txs.json'; const common = new Common({ chain: 1, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); // @ts-expect-error set private property common._chainParams.chainId = 1; describe('[BaseTransaction]', () => { // eslint-disable-next-line @typescript-eslint/no-shadow - const common = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + const common = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); const eip1559Txs: BaseTransaction[] = []; for (const tx of eip1559Fixtures) { @@ -53,15 +53,15 @@ describe('[BaseTransaction]', () => { it('Initialization', () => { for (const txType of txTypes) { let tx = txType.class.fromTxData({}, { common }); - expect(tx.common.hardfork()).toBe('shanghai'); + expect(tx.common.hardfork()).toBe('zond'); expect(Object.isFrozen(tx)).toBe(true); const initCommon = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); tx = txType.class.fromTxData({}, { common: initCommon }); - expect(tx.common.hardfork()).toBe('shanghai'); + expect(tx.common.hardfork()).toBe('zond'); // NOTE(rgeraldes24): not valid since we don't have multiple forks // initCommon.setHardfork(Hardfork.Byzantium); diff --git a/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts index 60646ea6..e78bf581 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/eip1559.test.ts @@ -25,7 +25,7 @@ import { newMLDSA87Descriptor } from '@theqrl/wallet.js'; const common = new Common({ chain: 1, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); // @ts-expect-error set private property common._chainParams.chainId = 4; @@ -150,7 +150,7 @@ describe('[FeeMarketEIP1559Transaction]', () => { const txn = FeeMarketEIP1559Transaction.fromTxData(data, { common, freeze: false }); const newCommon = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, qips: [2537], }); expect(Object.isFrozen(newCommon)).not.toEqual(common); diff --git a/packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts b/packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts index 6b09d396..649d595b 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/eip3860.test.ts @@ -20,7 +20,7 @@ import { TransactionFactory } from '../../../src'; const common = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, qips: [], }); diff --git a/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts index 5dbce56e..dd74abc5 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/inputValue.test.ts @@ -128,7 +128,7 @@ const eip1559TxValues = { describe('[Transaction Input Values]', () => { it('EIP-1559 Transaction Values', () => { - const common = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + const common = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); const options = { ...baseTxValues, ...accessListEip2930TxValues, diff --git a/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts b/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts index cc932b1b..47078204 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/transactionFactory.test.ts @@ -21,7 +21,7 @@ import { FeeMarketEIP1559Transaction, TransactionFactory } from '../../../src'; const common = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); const seed = hexToBytes( @@ -59,7 +59,7 @@ describe('[TransactionFactory]: Basic functions', () => { /* const unsupportedCommon = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); expect(() => { TransactionFactory.fromSerializedData(txType.unsigned.serialize(), { @@ -94,7 +94,7 @@ describe('[TransactionFactory]: Basic functions', () => { it('fromTxData() -> error cases', () => { // NOTE(rgeraldes24): this part is not valid since we support tx types from the start - // const unsupportedCommon = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + // const unsupportedCommon = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); // expect(() => { // TransactionFactory.fromTxData({ type: 1 }, { common: unsupportedCommon }); // }).toThrow(); diff --git a/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts index 6eec35d9..05e3600c 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/typedTxsAndEIP2930.test.ts @@ -33,7 +33,7 @@ const address = addressToBytes('Qe4d1cd51c8b113a12d6355e1bd39cce8998dabb0'); const common = new Common({ chain: Chain.Mainnet, - hardfork: Hardfork.Shanghai, + hardfork: Hardfork.Zond, }); const txTypes = [ @@ -303,9 +303,9 @@ describe('[FeeMarketEIP1559Transaction] -> EIP-2930 Compatibility', () => { tx = txType.class.fromTxData({}, { common, freeze: false }); expect(tx.getDataFee()).toEqual(BigInt(0)); - const mutableCommon = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Shanghai }); + const mutableCommon = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Zond }); tx = txType.class.fromTxData({}, { common: mutableCommon }); - tx.common.setHardfork(Hardfork.Shanghai); + tx.common.setHardfork(Hardfork.Zond); expect(tx.getDataFee()).toEqual(BigInt(0)); } }); diff --git a/packages/web3-qrl-accounts/test/unit/tx/types.ts b/packages/web3-qrl-accounts/test/unit/tx/types.ts index 39fe4db9..d4c1193a 100644 --- a/packages/web3-qrl-accounts/test/unit/tx/types.ts +++ b/packages/web3-qrl-accounts/test/unit/tx/types.ts @@ -15,7 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with web3.js. If not, see . */ -export type ForkName = 'Shanghai'; +export type ForkName = 'Zond'; export type ForkNamesMap = { [forkName in ForkName]: string }; diff --git a/packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts b/packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts index b61ac5bc..f2336e59 100644 --- a/packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_accesslist.test.ts @@ -26,7 +26,7 @@ import { } from '../fixtures/system_test_utils'; describe('contract', () => { - describeIf(getSystemTestBackend() === 'gzond')('createAccessList', () => { + describeIf(getSystemTestBackend() === 'gqrl')('createAccessList', () => { let contract: Contract; let deployOptions: Record; let sendOptions: Record; diff --git a/packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts b/packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts index 5fd6f447..2587d280 100644 --- a/packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_defaults_extra.test.ts @@ -128,7 +128,7 @@ describe('contract defaults (extra)', () => { const common = { customChain: { name: 'testnet', networkId: '1337', chainId: '1337' }, baseChain, - hardfork: 'shanghai' as Hardfork, + hardfork: 'zond' as Hardfork, }; beforeEach(async () => { diff --git a/packages/web3-qrl-contract/test/integration/contract_methods_errors.test.ts b/packages/web3-qrl-contract/test/integration/contract_methods_errors.test.ts index 4130698b..8b146bfb 100644 --- a/packages/web3-qrl-contract/test/integration/contract_methods_errors.test.ts +++ b/packages/web3-qrl-contract/test/integration/contract_methods_errors.test.ts @@ -50,7 +50,7 @@ describe('contract errors', () => { contract.setProvider(getSystemTestProvider()); }); - describeIf(getSystemTestBackend() === 'gzond')('Test EIP-838 Error Codes', () => { + describeIf(getSystemTestBackend() === 'gqrl')('Test EIP-838 Error Codes', () => { it('Unauthorized', async () => { let error: ContractExecutionError | undefined; try { diff --git a/packages/web3-qrl-contract/test/unit/contract.test.ts b/packages/web3-qrl-contract/test/unit/contract.test.ts index 07433645..97834cfb 100644 --- a/packages/web3-qrl-contract/test/unit/contract.test.ts +++ b/packages/web3-qrl-contract/test/unit/contract.test.ts @@ -609,7 +609,7 @@ describe('Contract', () => { expect(contract.defaultBlock).toStrictEqual(defaultBlock); const defaultHardfork = 'constantinople'; - expect(contract.defaultHardfork).toBe('shanghai'); + expect(contract.defaultHardfork).toBe('zond'); contract.defaultHardfork = defaultHardfork; expect(contract.defaultHardfork).toStrictEqual(defaultHardfork); diff --git a/packages/web3-qrl/src/rpc_method_wrappers.ts b/packages/web3-qrl/src/rpc_method_wrappers.ts index d847b27d..6eebca95 100644 --- a/packages/web3-qrl/src/rpc_method_wrappers.ts +++ b/packages/web3-qrl/src/rpc_method_wrappers.ts @@ -835,7 +835,7 @@ export async function signTransaction( formatTransaction(transaction, QRL_DATA_FORMAT), ); // Some clients only return the encoded signed transaction (e.g. Ganache) - // while clients such as Gzond return the desired SignedTransactionInfoAPI object + // while clients such as Gqrl return the desired SignedTransactionInfoAPI object return isString(response as HexStringBytes) ? decodeSignedTransaction(response as HexStringBytes, returnFormat, { fillInputAndData: true, @@ -987,7 +987,7 @@ export async function getProof( return format(accountSchema, response as unknown as AccountObject, returnFormat); } -// TODO Throwing an error with Gzond, but not Infura +// TODO Throwing an error with Gqrl, but not Infura // TODO gasUsedRatio and reward not formatting /** * View additional documentations here: {@link Web3QRL.getFeeHistory} diff --git a/packages/web3-qrl/src/schemas.ts b/packages/web3-qrl/src/schemas.ts index ec24d588..977d85d1 100644 --- a/packages/web3-qrl/src/schemas.ts +++ b/packages/web3-qrl/src/schemas.ts @@ -55,7 +55,7 @@ export const chainSchema = { export const hardforkSchema = { type: 'string', - enum: ['shanghai'], + enum: ['zond'], }; export const customChainSchema = { diff --git a/packages/web3-qrl/src/web3_qrl.ts b/packages/web3-qrl/src/web3_qrl.ts index 4b4d04be..6a62b336 100644 --- a/packages/web3-qrl/src/web3_qrl.ts +++ b/packages/web3-qrl/src/web3_qrl.ts @@ -1303,7 +1303,7 @@ export class Web3QRL extends Web3Context networkId: '0x42', chainId: '0x42', }, - hardfork: 'shanghai', + hardfork: 'zond', }, }, { @@ -77,7 +77,7 @@ export const transactionType0x2: FormatType nonce: '0x4', chainId: '0x1', gasLimit: '0x5208', - hardfork: 'shanghai', + hardfork: 'zond', }, ]; diff --git a/packages/web3-qrl/test/fixtures/format_transaction.ts b/packages/web3-qrl/test/fixtures/format_transaction.ts index 7c5cf6de..e9f0bf3e 100644 --- a/packages/web3-qrl/test/fixtures/format_transaction.ts +++ b/packages/web3-qrl/test/fixtures/format_transaction.ts @@ -38,7 +38,7 @@ export const bytesAsHexStringTransaction: FormatType< data: '0x', nonce: BigInt(4), chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: BigInt(1), common: { customChain: { @@ -47,7 +47,7 @@ export const bytesAsHexStringTransaction: FormatType< chainId: BigInt(66), }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: BigInt('21000'), descriptor: '0x010000', @@ -72,7 +72,7 @@ export const bytesAsUint8ArrayTransaction: FormatType< data: new Uint8Array(), nonce: BigInt(4), chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: BigInt(1), common: { customChain: { @@ -81,7 +81,7 @@ export const bytesAsUint8ArrayTransaction: FormatType< chainId: BigInt(66), }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: BigInt('21000'), descriptor: hexToBytes('0x010000'), @@ -108,7 +108,7 @@ export const numbersAsHexStringTransaction: FormatType< data: '0x', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', common: { customChain: { @@ -117,7 +117,7 @@ export const numbersAsHexStringTransaction: FormatType< chainId: '0x42', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -142,7 +142,7 @@ export const numbersAsNumberTransaction: FormatType< data: '0x', nonce: 4, chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: 1, common: { customChain: { @@ -151,7 +151,7 @@ export const numbersAsNumberTransaction: FormatType< chainId: 66, }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: 21000, descriptor: '0x010000', @@ -176,7 +176,7 @@ export const numbersAsStringTransaction: FormatType< data: '0x', nonce: '4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '1', common: { customChain: { @@ -185,7 +185,7 @@ export const numbersAsStringTransaction: FormatType< chainId: '66', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '21000', descriptor: '0x010000', @@ -210,7 +210,7 @@ export const numbersAsBigIntTransaction: FormatType< data: '0x', nonce: BigInt(4), chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: BigInt(1), common: { customChain: { @@ -219,7 +219,7 @@ export const numbersAsBigIntTransaction: FormatType< chainId: BigInt(66), }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: BigInt(21000), descriptor: '0x010000', diff --git a/packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts b/packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts index cccb6993..658dc600 100644 --- a/packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts +++ b/packages/web3-qrl/test/fixtures/prepare_transaction_for_signing.ts @@ -44,7 +44,7 @@ const common: Common = { networkId: 1, chainId: 1, }, - hardfork: 'shanghai', + hardfork: 'zond', }; const accessList: AccessList = [ diff --git a/packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts b/packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts index 6c50e374..68defe95 100644 --- a/packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts +++ b/packages/web3-qrl/test/fixtures/validate_transaction_for_signing.ts @@ -54,7 +54,7 @@ export const validateCustomChainInfoData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -76,7 +76,7 @@ export const validateCustomChainInfoData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -209,7 +209,7 @@ export const validateChainInfoData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -231,7 +231,7 @@ export const validateChainInfoData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -254,7 +254,7 @@ export const validateChainInfoData: [ nonce: '0x4', chainId: '0x1', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', common: { customChain: { name: 'foo', @@ -262,7 +262,7 @@ export const validateChainInfoData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -308,7 +308,7 @@ export const validateChainInfoData: [ data: '0x0', nonce: '0x4', chainId: '0x1', - hardfork: 'shanghai', + hardfork: 'zond', gasLimit: '0x5208', descriptor: '0x010000', extraParams: '0x', @@ -317,7 +317,7 @@ export const validateChainInfoData: [ }, new MissingChainOrHardforkError({ chain: undefined, - hardfork: 'shanghai', + hardfork: 'zond', }), ], ]; @@ -338,7 +338,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -359,7 +359,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -378,7 +378,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', descriptor: '0x010000', extraParams: '0x', @@ -401,7 +401,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -424,7 +424,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -450,7 +450,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', descriptor: '0x010000', extraParams: '0x', @@ -469,7 +469,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -493,7 +493,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -518,7 +518,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -542,7 +542,7 @@ export const validateGasData: [ data: '0x0', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', @@ -580,7 +580,7 @@ export const invalidNonceOrChainIdData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -608,7 +608,7 @@ export const invalidNonceOrChainIdData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -639,7 +639,7 @@ export const invalidNonceOrChainIdData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -671,7 +671,7 @@ export const invalidNonceOrChainIdData: [ chainId: '0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', @@ -726,7 +726,7 @@ export const invalidNonceOrChainIdData: [ chainId: '-0x1', }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, gasLimit: '0x5208', descriptor: '0x010000', diff --git a/packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts b/packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts index ec0a6043..56732bd2 100644 --- a/packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts +++ b/packages/web3-qrl/test/integration/block/rpc.getBlock.test.ts @@ -139,11 +139,11 @@ describe('rpc with block', () => { }); }); - describeIf(getSystemTestBackend() === 'gzond')( + describeIf(getSystemTestBackend() === 'gqrl')( 'getBlock calls with POS tags in POA node', () => { it.each(['safe', 'finalized'])( - // only gzond throws this error + // only gqrl throws this error 'getBlock', async blockTag => { const request = await web3QRL.getBlock(blockTag); diff --git a/packages/web3-qrl/test/integration/defaults.test.ts b/packages/web3-qrl/test/integration/defaults.test.ts index 8d1e86f6..b5e6a6df 100644 --- a/packages/web3-qrl/test/integration/defaults.test.ts +++ b/packages/web3-qrl/test/integration/defaults.test.ts @@ -707,7 +707,7 @@ describe('defaults', () => { }); it('defaultHardfork', async () => { // default - expect(web3QRL.defaultHardfork).toBe('shanghai'); + expect(web3QRL.defaultHardfork).toBe('zond'); // after set web3QRL.setConfig({ @@ -745,7 +745,7 @@ describe('defaults', () => { // default expect(web3QRL.defaultCommon).toBeUndefined(); const baseChain: ValidChains = 'mainnet'; - const hardfork: Hardfork = 'shanghai'; + const hardfork: Hardfork = 'zond'; const common = { customChain: { name: 'test', @@ -841,7 +841,7 @@ describe('defaults', () => { nonce: '0x4', chainId: '0x1', gasLimit: '0x5208', - hardfork: 'shanghai', + hardfork: 'zond', }, qrl2, ); @@ -858,7 +858,7 @@ describe('defaults', () => { gasLimit: '0x5208', common: { customChain: { name: 'ropsten', networkId: '2', chainId: '0x1' }, - hardfork: 'shanghai', + hardfork: 'zond', }, }, qrl2, @@ -898,7 +898,7 @@ describe('defaults', () => { nonce: '0x4', chainId: '0x1', gasLimit: '0x5208', - hardfork: 'shanghai', + hardfork: 'zond', }, qrl2, ); @@ -916,7 +916,7 @@ describe('defaults', () => { gasLimit: '0x5208', common: { customChain: { name: 'ropsten', networkId: '2', chainId: '0x1' }, - hardfork: 'shanghai', + hardfork: 'zond', }, }, qrl2, diff --git a/packages/web3-qrl/test/integration/get_revert_reason.test.ts b/packages/web3-qrl/test/integration/get_revert_reason.test.ts index 867520ce..c6eb305a 100644 --- a/packages/web3-qrl/test/integration/get_revert_reason.test.ts +++ b/packages/web3-qrl/test/integration/get_revert_reason.test.ts @@ -61,7 +61,7 @@ describe('Web3QRL.getRevertReason', () => { const response = await getRevertReason(web3QRL, transaction); switch (getSystemTestBackend()) { - case 'gzond': + case 'gqrl': expect(response).toMatchObject({ reason: 'execution reverted: This is a call revert', signature: '0x08c379a0', @@ -85,7 +85,7 @@ describe('Web3QRL.getRevertReason', () => { const response = await getRevertReason(web3QRL, transaction); switch (getSystemTestBackend()) { - case 'gzond': + case 'gqrl': expect(response).toMatchObject({ reason: 'execution reverted: This is a send revert', signature: '0x08c379a0', @@ -110,7 +110,7 @@ describe('Web3QRL.getRevertReason', () => { const response = await getRevertReason(web3QRL, transaction); switch (getSystemTestBackend()) { - case 'gzond': + case 'gqrl': expect(response).toBe( 'err: intrinsic gas too low: have 0, want 21544 (supplied gas 0)', ); @@ -132,7 +132,7 @@ describe('Web3QRL.getRevertReason', () => { const response = await getRevertReason(web3QRL, transaction, SimpleRevertAbi); switch (getSystemTestBackend()) { - case 'gzond': + case 'gqrl': expect(response).toMatchObject({ data: '', reason: 'execution reverted', @@ -159,7 +159,7 @@ describe('Web3QRL.getRevertReason', () => { const response = await getRevertReason(web3QRL, transaction, SimpleRevertAbi); switch (getSystemTestBackend()) { - case 'gzond': + case 'gqrl': expect(response).toMatchObject({ data: '000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001c5468697320697320616e206572726f72207769746820706172616d7300000000', reason: 'execution reverted', diff --git a/packages/web3-qrl/test/integration/nonce.test.ts b/packages/web3-qrl/test/integration/nonce.test.ts index d728e359..edabd636 100644 --- a/packages/web3-qrl/test/integration/nonce.test.ts +++ b/packages/web3-qrl/test/integration/nonce.test.ts @@ -78,7 +78,7 @@ describe('defaults', () => { } seconds`, ); } - // Some other providers would not respond when trying to get the transaction receipt (like Gzond v1.10.22-unstable) + // Some other providers would not respond when trying to get the transaction receipt (like Gqrl v1.10.22-unstable) else if (error instanceof TransactionPollingTimeoutError) { // eslint-disable-next-line jest/no-conditional-expect expect(error.message).toContain( diff --git a/packages/web3-qrl/test/integration/rpc.test.ts b/packages/web3-qrl/test/integration/rpc.test.ts index bb0a8130..feee51ce 100644 --- a/packages/web3-qrl/test/integration/rpc.test.ts +++ b/packages/web3-qrl/test/integration/rpc.test.ts @@ -87,7 +87,7 @@ describe('rpc', () => { }); describe('methods', () => { - itIf(!['gzond'].includes(getSystemTestBackend()))('getProtocolVersion', async () => { + itIf(!['gqrl'].includes(getSystemTestBackend()))('getProtocolVersion', async () => { const version = await web3QRL.getProtocolVersion(); // eslint-disable-next-line jest/no-standalone-expect expect(parseInt(version, 16)).toBeGreaterThan(0); @@ -276,7 +276,7 @@ describe('rpc', () => { expect(res).toBeDefined(); }); - itIf(!['gzond'].includes(getSystemTestBackend()))('requestAccounts', () => { + itIf(!['gqrl'].includes(getSystemTestBackend()))('requestAccounts', () => { // const res = await web3QRL.requestAccounts(); // eslint-disable-next-line jest/no-standalone-expect expect(true).toBe(true); diff --git a/packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts b/packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts index eeea6c8a..0c9ed045 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/createAccessList.test.ts @@ -25,7 +25,7 @@ import { getSystemTestProvider, } from '../../fixtures/system_test_utils'; -describeIf(getSystemTestBackend() === 'gzond')('Web3QRL.createAccessList', () => { +describeIf(getSystemTestBackend() === 'gqrl')('Web3QRL.createAccessList', () => { let web3QRL: Web3QRL; let greeterContractAddress: string; let tempAcc: { address: string; seed: string }; diff --git a/packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts b/packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts index dd27af32..a940bf80 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/getFeeHistory.test.ts @@ -25,7 +25,7 @@ import { } from '../../fixtures/system_test_utils'; import { feeHistorySchema } from '../../../src/schemas'; -describeIf(getSystemTestBackend().includes('gzond'))('Web3QRL.getFeeHistory', () => { +describeIf(getSystemTestBackend().includes('gqrl'))('Web3QRL.getFeeHistory', () => { let web3QRL: Web3QRL; let systemProvider: string | SupportedProviders; diff --git a/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts index 71dcfc50..b1bd3d66 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/send_signed_transaction.test.ts @@ -227,7 +227,7 @@ describe('Web3QRL.sendSignedTransaction', () => { // TODO Confirmations are dependent on the next block being mined, // this is manually triggering the next block to be created since both - // Gzond and Ganache wait for transaction before mining a block. + // Gqrl and Ganache wait for transaction before mining a block. // This should be revisited to implement a better solution await web3QRL.sendTransaction({ from: tempAcc.address, @@ -277,7 +277,7 @@ describe('Web3QRL.sendSignedTransaction', () => { name: 'TransactionRevertInstructionError', innerError: undefined, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? expect.stringContaining( 'err: max fee per gas less than block base fee: address Q', ) @@ -314,7 +314,7 @@ describe('Web3QRL.sendSignedTransaction', () => { message: 'Transaction has been reverted by the QRVM', innerError: undefined, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? expect.stringContaining( 'err: insufficient funds for gas * price + value: address Q', ) @@ -354,7 +354,7 @@ describe('Web3QRL.sendSignedTransaction', () => { name: 'TransactionRevertInstructionError', code: 402, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted: This is a send revert' : 'VM Exception while processing transaction: revert This is a send revert', signature: '0x08c379a0', @@ -391,7 +391,7 @@ describe('Web3QRL.sendSignedTransaction', () => { name: 'TransactionRevertWithCustomError', code: 438, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted' : 'VM Exception while processing transaction: revert', signature: '0x72090e4d', @@ -432,7 +432,7 @@ describe('Web3QRL.sendSignedTransaction', () => { name: 'TransactionRevertWithCustomError', code: 438, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted' : 'VM Exception while processing transaction: revert', signature: '0xc85bda60', @@ -477,7 +477,7 @@ describe('Web3QRL.sendSignedTransaction', () => { name: 'TransactionRevertInstructionError', innerError: undefined, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted: This is a send revert' : 'VM Exception while processing transaction: revert This is a send revert', signature: '0x08c379a0', diff --git a/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts b/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts index c4822aa0..468da7c8 100644 --- a/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts +++ b/packages/web3-qrl/test/integration/web3_qrl/send_transaction.test.ts @@ -426,7 +426,7 @@ describe('Web3QRL.sendTransaction', () => { // TODO Confirmations are dependent on the next block being mined, // this is manually triggering the next block to be created since both - // Gzond and Ganache wait for transaction before mining a block. + // Gqrl and Ganache wait for transaction before mining a block. // This should be revisted to implement a better solution await web3QRL.sendTransaction(transaction); @@ -465,7 +465,7 @@ describe('Web3QRL.sendTransaction', () => { name: 'TransactionRevertInstructionError', code: 402, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'err: intrinsic gas too low: have 1, want 21000 (supplied gas 1)' : 'VM Exception while processing transaction: out of gas', }; @@ -490,7 +490,7 @@ describe('Web3QRL.sendTransaction', () => { message: 'Transaction has been reverted by the QRVM', code: 402, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? expect.stringContaining( 'err: insufficient funds for gas * price + value: address', ) @@ -518,7 +518,7 @@ describe('Web3QRL.sendTransaction', () => { name: 'TransactionRevertInstructionError', code: 402, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted: This is a send revert' : 'VM Exception while processing transaction: revert This is a send revert', signature: '0x08c379a0', @@ -547,7 +547,7 @@ describe('Web3QRL.sendTransaction', () => { name: 'TransactionRevertWithCustomError', code: 438, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted' : 'VM Exception while processing transaction: revert', signature: '0x72090e4d', @@ -578,7 +578,7 @@ describe('Web3QRL.sendTransaction', () => { name: 'TransactionRevertWithCustomError', code: 438, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted' : 'VM Exception while processing transaction: revert', signature: '0xc85bda60', @@ -613,7 +613,7 @@ describe('Web3QRL.sendTransaction', () => { name: 'TransactionRevertInstructionError', code: 402, reason: - getSystemTestBackend() === 'gzond' + getSystemTestBackend() === 'gqrl' ? 'execution reverted: This is a send revert' : 'VM Exception while processing transaction: revert This is a send revert', signature: '0x08c379a0', diff --git a/packages/web3-qrl/test/unit/default_transaction_builder.test.ts b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts index 186bd461..2e475244 100644 --- a/packages/web3-qrl/test/unit/default_transaction_builder.test.ts +++ b/packages/web3-qrl/test/unit/default_transaction_builder.test.ts @@ -63,7 +63,7 @@ describe('defaultTransactionBuilder', () => { data: '0x', nonce: expectedNonce, chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: expectedChainId, networkId: expectedNetworkId, common: { @@ -73,7 +73,7 @@ describe('defaultTransactionBuilder', () => { chainId: expectedChainId, }, baseChain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', }, }; const mockBlockData = { @@ -329,7 +329,7 @@ describe('defaultTransactionBuilder', () => { }); describe('should populate hardfork', () => { - it('should populate with shanghai', async () => { + it('should populate with zond', async () => { const input = { ...transaction }; delete input.hardfork; delete input.common; @@ -341,7 +341,7 @@ describe('defaultTransactionBuilder', () => { web3Context, fillGasPrice: true, }); - expect(result.hardfork).toBe('shanghai'); + expect(result.hardfork).toBe('zond'); }); it('should use web3Context.defaultHardfork to populate', async () => { @@ -363,7 +363,7 @@ describe('defaultTransactionBuilder', () => { it('should use web3Context.defaultCommon to populate', async () => { const baseChain: ValidChains = 'mainnet'; - const hardfork: Hardfork = 'shanghai'; + const hardfork: Hardfork = 'zond'; const customCommon = { customChain: { name: 'custom', @@ -470,8 +470,8 @@ describe('defaultTransactionBuilder', () => { delete input.accessList; delete input.type; - input.hardfork = 'shanghai'; - if (!isNullish(input.common)) input.common.hardfork = 'shanghai'; + input.hardfork = 'zond'; + if (!isNullish(input.common)) input.common.hardfork = 'zond'; const result = await defaultTransactionBuilder({ transaction: input, diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts index 00e62ac0..4e93fc19 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/call.ts @@ -29,7 +29,7 @@ const transaction: TransactionCall = { data: '0x', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts index 9e94a3e0..40531be0 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/estimate_gas.ts @@ -29,7 +29,7 @@ const transaction: Transaction = { data: '0x', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts index 19db0581..68f807d5 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_pending_transactions.ts @@ -28,7 +28,7 @@ const transaction: Transaction = { input: '0x', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', diff --git a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts index 8fb23bf7..048abfb5 100644 --- a/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts +++ b/packages/web3-qrl/test/unit/rpc_method_wrappers/fixtures/get_transaction_from_block.ts @@ -29,7 +29,7 @@ export const mockRpcResponse: Transaction = { input: '0x', nonce: '0x4', chain: 'mainnet', - hardfork: 'shanghai', + hardfork: 'zond', chainId: '0x1', gasLimit: '0x5208', descriptor: '0x010000', diff --git a/packages/web3-types/src/qrl_types.ts b/packages/web3-types/src/qrl_types.ts index 06fed068..295e82d6 100644 --- a/packages/web3-types/src/qrl_types.ts +++ b/packages/web3-types/src/qrl_types.ts @@ -235,7 +235,7 @@ export type ValidChains = 'mainnet'; // This list of hardforks is expected to be in order // keep this in mind when making changes to it export enum HardforksOrdered { - shanghai = 'shanghai', + zond = 'zond', } export type Hardfork = `${HardforksOrdered}`; diff --git a/packages/web3/package.json b/packages/web3/package.json index d331506f..bd557fca 100644 --- a/packages/web3/package.json +++ b/packages/web3/package.json @@ -56,8 +56,8 @@ "test:watch": "npm test -- --watch", "test:unit": "jest --config=./test/unit/jest.config.js", "test:integration": "jest --config=./test/integration/jest.config.js --forceExit", - "test:blackbox:gzond:http": "./scripts/black_box_test.sh gzond http", - "test:blackbox:gzond:ws": "./scripts/black_box_test.sh gzond ws" + "test:blackbox:gqrl:http": "./scripts/black_box_test.sh gqrl http", + "test:blackbox:gqrl:ws": "./scripts/black_box_test.sh gqrl ws" }, "devDependencies": { "@theqrl/eslint-config-base-web3": "^0.3.0", diff --git a/packages/web3/scripts/black_box_test.sh b/packages/web3/scripts/black_box_test.sh index 3765e1fe..032a9f53 100755 --- a/packages/web3/scripts/black_box_test.sh +++ b/packages/web3/scripts/black_box_test.sh @@ -5,7 +5,7 @@ ORIGARGS=("$@") . scripts/env.sh helpFunction() { - echo "Usage: $0 " + echo "Usage: $0 " exit 1 # Exit script after printing help } @@ -13,7 +13,7 @@ BACKEND=${ORIGARGS[0]} MODE=${ORIGARGS[1]} PROVIDER_URL=${ORIGARGS[2]} -SUPPORTED_BACKENDS=("gzond") +SUPPORTED_BACKENDS=("gqrl") SUPPORTED_MODE=("http" "ws") if [[ ! " ${SUPPORTED_BACKENDS[*]} " =~ " ${BACKEND} " ]]; then diff --git a/packages/web3/src/index.ts b/packages/web3/src/index.ts index 8416697e..ad24b992 100644 --- a/packages/web3/src/index.ts +++ b/packages/web3/src/index.ts @@ -168,9 +168,9 @@ along with web3.js. If not, see . * let web3 = new Web3(Web3.givenProvider || new Web3.providers.WebsocketProvider('ws://remotenode.com:8546')); * * // Using the IPC provider in node.js - * var web3 = new Web3(new Web3.providers.IpcProvider('/Users/myuser/Library/QRL/Execution/gzond.ipc')); // mac os path - * // on windows the path is: "\\\\.\\pipe\\gzond.ipc" - * // on linux the path is: "/users/myuser/.qrl/execution/gzond.ipc" + * var web3 = new Web3(new Web3.providers.IpcProvider('/Users/myuser/Library/QRL/Execution/gqrl.ipc')); // mac os path + * // on windows the path is: "\\\\.\\pipe\\gqrl.ipc" + * // on linux the path is: "/users/myuser/.qrl/execution/gqrl.ipc" * ``` * #### Configuration * diff --git a/packages/web3/test/cjs_black_box/package.json b/packages/web3/test/cjs_black_box/package.json index 99077f2b..fdbc9211 100644 --- a/packages/web3/test/cjs_black_box/package.json +++ b/packages/web3/test/cjs_black_box/package.json @@ -6,8 +6,8 @@ "license": "LGPL-3.0", "type": "commonjs", "scripts": { - "test:gzond:http": "WEB3_SYSTEM_TEST_BACKEND=gzond WEB3_SYSTEM_TEST_PROVIDER=http://localhost:8545 jest", - "test:gzond:ws": "WEB3_SYSTEM_TEST_BACKEND=gzond WEB3_SYSTEM_TEST_PROVIDER=ws://localhost:8545 jest --forceExit" + "test:gqrl:http": "WEB3_SYSTEM_TEST_BACKEND=gqrl WEB3_SYSTEM_TEST_PROVIDER=http://localhost:8545 jest", + "test:gqrl:ws": "WEB3_SYSTEM_TEST_BACKEND=gqrl WEB3_SYSTEM_TEST_PROVIDER=ws://localhost:8545 jest --forceExit" }, "dependencies": { "@theqrl/web3": "5.0.0" diff --git a/packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts b/packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts index 331ce643..5f562561 100644 --- a/packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts +++ b/packages/web3/test/cjs_black_box/test/web3-qrl-contract/sqrcTf1.test.ts @@ -33,8 +33,8 @@ import { // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires const Web3 = require('@theqrl/web3').default; -describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.qrl.Contract', () => { - describe('Gzond - SQRCTF1', () => { +describeIf(getSystemTestBackend() === 'gqrl')('Black Box Unit Tests - web3.qrl.Contract', () => { + describe('Gqrl - SQRCTF1', () => { let account; let web3: typeof Web3; let deployedContract: Contract; diff --git a/packages/web3/test/esm_black_box/package.json b/packages/web3/test/esm_black_box/package.json index 51145ba8..4666b881 100644 --- a/packages/web3/test/esm_black_box/package.json +++ b/packages/web3/test/esm_black_box/package.json @@ -6,8 +6,8 @@ "license": "LGPL-3.0", "type": "module", "scripts": { - "test:gzond:http": "WEB3_SYSTEM_TEST_BACKEND=gzond WEB3_SYSTEM_TEST_PROVIDER=http://localhost:8545 jest", - "test:gzond:ws": "WEB3_SYSTEM_TEST_BACKEND=gzond WEB3_SYSTEM_TEST_PROVIDER=ws://localhost:8545 jest --forceExit" + "test:gqrl:http": "WEB3_SYSTEM_TEST_BACKEND=gqrl WEB3_SYSTEM_TEST_PROVIDER=http://localhost:8545 jest", + "test:gqrl:ws": "WEB3_SYSTEM_TEST_BACKEND=gqrl WEB3_SYSTEM_TEST_PROVIDER=ws://localhost:8545 jest --forceExit" }, "dependencies": { "@theqrl/web3": "5.0.0" diff --git a/packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts b/packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts index 8da414e0..1663d2e3 100644 --- a/packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts +++ b/packages/web3/test/esm_black_box/test/web3-qrl-contract/sqrcTf1.test.ts @@ -28,8 +28,8 @@ import { } from '../../../shared_fixtures/system_tests_utils'; import { SQRCTF1TokenAbi, SQRCTF1TokenBytecode } from '../../../shared_fixtures/contracts/SQRCTF1Token'; -describeIf(getSystemTestBackend() === 'gzond')('Black Box Unit Tests - web3.qrl.Contract', () => { - describe('Gzond - SQRCTF1', () => { +describeIf(getSystemTestBackend() === 'gqrl')('Black Box Unit Tests - web3.qrl.Contract', () => { + describe('Gqrl - SQRCTF1', () => { let account; let web3: Web3; let deployedContract: Contract; diff --git a/scripts/env.sh b/scripts/env.sh index fde67164..9e4c39e9 100755 --- a/scripts/env.sh +++ b/scripts/env.sh @@ -5,7 +5,7 @@ IPC_PATH_1=$TMP_FOLDER/ipc1.ipc IPC_PATH_2=$TMP_FOLDER/ipc2.ipc export WEB3_SYSTEM_TEST_ENV=true -export WEB3_SYSTEM_TEST_BACKEND="gzond" +export WEB3_SYSTEM_TEST_BACKEND="gqrl" export WEB3_SYSTEM_TEST_MNEMONIC="smart guide what forget tired jungle always expire rescue boring glue champion" export WEB3_SYSTEM_TEST_PORT=8545 export WEB3_SYSTEM_TEST_PROVIDER="http://localhost:8545" diff --git a/scripts/local_testnet/network_params.yaml b/scripts/local_testnet/network_params.yaml index 110459f2..84e118a5 100644 --- a/scripts/local_testnet/network_params.yaml +++ b/scripts/local_testnet/network_params.yaml @@ -1,6 +1,6 @@ participants: - - el_type: gzond - el_image: qrledger/go-zond:stable + - el_type: gqrl + el_image: qrledger/go-qrl:stable el_extra_params: - "--gcmode=archive" cl_type: qrysm diff --git a/scripts/test-runner.sh b/scripts/test-runner.sh index 7edcba4e..b2375fc4 100755 --- a/scripts/test-runner.sh +++ b/scripts/test-runner.sh @@ -5,7 +5,7 @@ ORIGARGS=("$@") . scripts/env.sh helpFunction() { - echo "Usage: $0 [node | electron | firefox | chrome] [coverage | sync]" + echo "Usage: $0 [node | electron | firefox | chrome] [coverage | sync]" exit 1 # Exit script after printing help } BACKEND=${ORIGARGS[0]} @@ -13,7 +13,7 @@ MODE=${ORIGARGS[1]} ENGINE=${ORIGARGS[2]} TEST_OPTION=${ORIGARGS[3]} -SUPPORTED_BACKENDS=("gzond" "testnet" "mainnet") +SUPPORTED_BACKENDS=("gqrl" "testnet" "mainnet") SUPPORTED_MODE=("http" "ws" "ipc") # if you will add a new browser please also add it in the system_test_utils.ts => isBrowser SUPPORTED_ENGINES=("node" "electron" "firefox" "chrome" "") @@ -47,7 +47,7 @@ TEST_COMMAND="" if [[ $MODE == "ipc" ]]; then export WEB3_SYSTEM_TEST_PROVIDER=$IPC_PATH - BACKEND=gzond-binary + BACKEND=gqrl-binary fi if [[ $ENGINE == "node" ]] || [[ $ENGINE == "" ]]; then @@ -63,7 +63,7 @@ else fi -if [[ $BACKEND == "gzond" || $BACKEND == "gzond-binary" ]]; then +if [[ $BACKEND == "gqrl" || $BACKEND == "gqrl-binary" ]]; then yarn "$BACKEND:start:background" && yarn generate:accounts && yarn $TEST_COMMAND && yarn "$BACKEND:stop" else yarn $TEST_COMMAND